summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-04-26 22:16:26 +0000
committerKarl Berry <karl@freefriends.org>2015-04-26 22:16:26 +0000
commit342e672574c4e67d510e46ab6acd0e21a7d0cf54 (patch)
tree79e04202d08c0404bbd780bd26c1e34710e539b6
parentbe2706af7c57a0ef0f4d4e9f684ca4ef74922a82 (diff)
(tl)perl 5.20.2 for windows, from siep
git-svn-id: svn://tug.org/texlive/trunk@37064 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/tlpkg/tlperl/README.TEXLIVE2
-rwxr-xr-xMaster/tlpkg/tlperl/bin/a2p.exebin121856 -> 124416 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libgcc_s_sjlj-1.dllbin95232 -> 461048 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libpng16-16_.dllbin182553 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libstdc++-6.dllbin860160 -> 887921 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libwinpthread-1.dllbin0 -> 52612 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl.exebin16384 -> 17408 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl5.18.2.exebin16384 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl5.20.2.exebin0 -> 17408 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl518.dllbin1837568 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl520.dllbin0 -> 2046464 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perlglob.exebin12800 -> 13824 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/wperl.exebin16384 -> 17408 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/zlib1_.dllbin91648 -> 0 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/.packlist3600
-rw-r--r--Master/tlpkg/tlperl/lib/App/Cpan.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Extract.pm1690
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar.pm121
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/File.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Attribute/Handlers.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/AutoLoader.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/B.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/B/Concise.pm153
-rw-r--r--Master/tlpkg/tlperl/lib/B/Debug.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/B/Deparse.pm113
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint.pm793
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint/Debug.pm73
-rw-r--r--Master/tlpkg/tlperl/lib/B/Showlex.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Benchmark.pm110
-rw-r--r--Master/tlpkg/tlperl/lib/CGI.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Apache.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Carp.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Cookie.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Fast.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Pretty.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Push.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Switch.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Util.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/CORE.pod96
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/XSUB.h10
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/av.h3
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h11379
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/config.h131
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cop.h45
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cv.h26
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/dosish.h17
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embed.h239
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embedvar.h12
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/fakethr.h75
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/feature.h20
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/gv.h5
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/handy.h914
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/hv.h62
-rwxr-xr-xMaster/tlpkg/tlperl/lib/CORE/hv_func.h12
-rwxr-xr-xMaster/tlpkg/tlperl/lib/CORE/inline.h189
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/intrpvar.h50
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/iperlsys.h8
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/keywords.h493
-rw-r--r--[-rwxr-xr-x]Master/tlpkg/tlperl/lib/CORE/libperl520.a (renamed from Master/tlpkg/tlperl/lib/CORE/libperl518.a)bin916938 -> 926094 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg.h20
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg_data.h2
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg_raw.h2
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op.h185
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opcode.h18
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opnames.h494
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pad.h33
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/parser.h8
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/patchlevel.h6
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perl.h932
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlio.h41
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perliol.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlsfio.h84
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlvars.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perly.h60
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp.h55
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp_proto.h2
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/proto.h921
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/reentr.h145
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcharclass.h1188
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcomp.h265
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regexp.h236
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regnodes.h375
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/scope.h35
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sv.h234
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sys/errno2.h178
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sys/socket.h14
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/thread.h6
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/time64.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/uconfig.h131
-rwxr-xr-xMaster/tlpkg/tlperl/lib/CORE/unicode_constants.h15
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utf8.h219
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utfebcdic.h274
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/util.h30
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/vdir.h42
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/vutil.h241
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/warnings.h21
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32.h117
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32iop.h158
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/API/HOWTO.pod44
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Author.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Bundle.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Complete.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distribution.pm1048
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FTP.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm60
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Index.pm123
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta.pm442
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm162
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm160
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm115
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm225
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm1366
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm296
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Queue.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Shell.pm345
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Version.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS.pm272
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm1344
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm145
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm834
-rwxr-xr-xMaster/tlpkg/tlperl/lib/CPANPLUS/Config/HomeEnv.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm637
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm1654
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm808
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm120
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm261
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm879
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm74
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm1044
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Sample.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm210
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm556
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm391
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm426
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm247
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm476
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm696
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm367
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm1470
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm381
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm383
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm143
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm680
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils/Autoflush.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm1839
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm235
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm83
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm260
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm88
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Signature.pm66
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm554
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm343
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm1269
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm1978
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm205
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm190
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm111
-rw-r--r--Master/tlpkg/tlperl/lib/Carp.pm261
-rw-r--r--Master/tlpkg/tlperl/lib/Carp/Heavy.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Class/Struct.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Zlib.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm.orig23
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pod9124
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Config/Perl/V.pm115
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl70
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl.orig148
-rw-r--r--Master/tlpkg/tlperl/lib/Cwd.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/DB.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter/compress.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter/encode.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter/int32.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter/null.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter/utf8.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Data/Dumper.pm72
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Format.pm403
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language.pm144
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Afar.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Amharic.pm87
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Austrian.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Brazilian.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Bulgarian.pm92
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Chinese.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Chinese_GB.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Czech.pm58
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Danish.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Dutch.pm40
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/English.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Finnish.pm45
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/French.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Gedeo.pm51
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/German.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Greek.pm91
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Hungarian.pm88
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Icelandic.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Italian.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Norwegian.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Oromo.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Romanian.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Russian.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Russian_cp1251.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Russian_koi8r.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Sidama.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Somali.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Spanish.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Swedish.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Tigrinya.pm58
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEritrean.pm93
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEthiopian.pm93
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Language/Turkish.pm59
-rw-r--r--Master/tlpkg/tlperl/lib/Date/Parse.pm380
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm129
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/PPPort.pm1137
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/Peek.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/Digest/MD5.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Digest/SHA.pm188
-rw-r--r--Master/tlpkg/tlperl/lib/DynaLoader.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Encode.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Alias.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/CN/HZ.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Encoder.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Encoding.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/GSM0338.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Guess.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/JP/JIS7.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/KR/2022_KR.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Locale.pm72
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/MIME/Header/ISO_2022_JP.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Makefile_PL.e2x19
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/PerlIO.pod167
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Supported.pod901
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Unicode.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/compat.pm87
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/compat/5006001.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/compat/Alias.pm330
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/compat/common.pm127
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/encode.h11
-rw-r--r--Master/tlpkg/tlperl/lib/English.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Errno.pm597
-rw-r--r--Master/tlpkg/tlperl/lib/Exporter.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/Exporter/Heavy.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm4
-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/android.pm39
-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.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm198
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Install.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm30
-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.pm295
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm10
-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.pm345
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm110
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MY.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm362
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod464
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod180
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm174
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm752
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod177
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm97
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm166
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm115
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/xsubpp31
-rw-r--r--Master/tlpkg/tlperl/lib/Fatal.pm892
-rw-r--r--Master/tlpkg/tlperl/lib/File/Basename.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/File/CheckTree.pm240
-rw-r--r--Master/tlpkg/tlperl/lib/File/Copy.pm156
-rw-r--r--Master/tlpkg/tlperl/lib/File/DosGlob.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/File/Fetch.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/File/Find.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/File/Glob.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Functions.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Mac.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/OS2.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Unix.pm76
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/VMS.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Win32.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/File/Temp.pm1613
-rw-r--r--Master/tlpkg/tlperl/lib/File/Which.pm281
-rw-r--r--Master/tlpkg/tlperl/lib/FileCache.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Filter/Simple.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Filter/Util/Call.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Getopt/Long.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/Getopt/Std.pm45
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Tiny.pm951
-rw-r--r--Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/LangTags.pm4
-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.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm165
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod672
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm36
-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
-rwxr-xr-xMaster/tlpkg/tlperl/lib/IO/HTML.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Handle.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Select.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket/INET.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket/IP.pm1107
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm34
-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.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm174
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm24
-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.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Cmd.pm593
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Open3.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/JSON/PP.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/LWP.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/ConnCache.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm16
-rwxr-xr-xMaster/tlpkg/tlperl/lib/LWP/Protocol/https.pm211
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/RobotUA.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Simple.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/UserAgent.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util.pm343
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util/XS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pod297
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/API.pod320
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod708
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod41
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod206
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm2761
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm338
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod127
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm1149
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm45
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod116
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod116
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod118
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm583
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod137
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm57682
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm97
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod131
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm2207
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pod206
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pod127
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pod137
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pod1350
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod150
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod775
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pod131
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message.pm599
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Config.pm198
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm195
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Item.pm194
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Simple.pm296
-rw-r--r--Master/tlpkg/tlperl/lib/MIME/Base64.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigFloat.pm161
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt.pm646
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigRat.pm10
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Math/Int64.pm53
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Math/Int64/die_on_overflow.pm16
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Math/Int64/native_if_available.pm30
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Math/UInt64.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/API.pod2124
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod326
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Base.pm565
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Bundling.pod147
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Compat.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm64
-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.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Notes.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm47
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm2
-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.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pm2053
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pod251
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm6
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Module/CoreList/Utils.pm133
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load.pm214
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Metadata.pm125
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Pluggable.pm457
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm405
-rw-r--r--Master/tlpkg/tlperl/lib/Mozilla/CA.pm99
-rw-r--r--Master/tlpkg/tlperl/lib/Mozilla/CA/cacert.pem3894
-rw-r--r--Master/tlpkg/tlperl/lib/Mozilla/mk-ca-bundle.pl495
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Cmd.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Config.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Domain.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/Net/FTP.pm98
-rw-r--r--Master/tlpkg/tlperl/lib/Net/FTP/A.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Net/FTP/dataconn.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTP.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/Net/NNTP.pm46
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Netrc.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/Net/POP3.pm38
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Ping.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/Net/SMTP.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/Net/libnetFAQ.pod302
-rw-r--r--Master/tlpkg/tlperl/lib/Object/Accessor.pm818
-rw-r--r--Master/tlpkg/tlperl/lib/Opcode.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pm31
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pod2367
-rw-r--r--Master/tlpkg/tlperl/lib/Package/Constants.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Params/Check.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm177
-rw-r--r--Master/tlpkg/tlperl/lib/Perl/OSType.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/encoding.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/scalar.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/via.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Escapes.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Find.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Functions.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Html.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/InputObjects.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/LaTeX.pm1883
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Man.pm161
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Parser.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc.pm236
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/PlainText.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Select.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple.pod430
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod1071
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Text.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Usage.pm76
-rw-r--r--Master/tlpkg/tlperl/lib/SDBM_File.pm75
-rw-r--r--Master/tlpkg/tlperl/lib/Safe.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Scalar/Util.pm288
-rw-r--r--Master/tlpkg/tlperl/lib/Socket.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/Storable.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/Sys/Hostname.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Base.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Harness.pm58
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod422
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Harness/Env.pm149
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Object.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser.pm42
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm38
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm152
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm72
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Term/Cap.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/Term/ReadLine.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Term/UI.pm627
-rw-r--r--Master/tlpkg/tlperl/lib/Term/UI/History.pm139
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder.pm170
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Module.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Harness.pm73
-rw-r--r--Master/tlpkg/tlperl/lib/Test/More.pm324
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Simple.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Tutorial.pod610
-rw-r--r--Master/tlpkg/tlperl/lib/Text/ParseWords.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Text/Soundex.pm262
-rw-r--r--Master/tlpkg/tlperl/lib/Text/Tabs.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Text/Wrap.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Thread.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Thread/Queue.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Array.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/File.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Hash.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Scalar.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/StdHandle.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Time/HiRes.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Piece.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Seconds.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Zone.pm291
-rw-r--r--Master/tlpkg/tlperl/lib/Tk.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk.pod865
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/804delta.pod110
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Adjuster.pod223
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Animation.pod92
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Balloon.pod293
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Bitmap.pod103
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod210
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Button.pod255
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Canvas.pod2394
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Checkbutton.pod347
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Clipboard.pod89
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/CmdLine.pod454
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/ColorEditor.pod120
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Compound.pod298
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/ConfigSpecs.pod262
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DItem.pod439
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Derived.pod89
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Dialog.pod107
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DialogBox.pod156
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DirTree.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DirTree.pod172
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DragDrop/Common.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DragDrop/SunConst.pod18
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/DropSite.pod33
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Entry.pod693
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Error.pod145
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/ErrorDialog.pod36
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Event.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Eventloop.pod62
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/FBox.pod67
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/FileSelect.pod150
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Font.pod407
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Frame.pod146
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/HList.pod1050
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/IO.pod51
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/IconList.pod82
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Image.pod145
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/InputO.pod50
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Internals.pod142
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/LabFrame.pod110
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Label.pod133
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Labelframe.pod206
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Listbox.pod794
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/MMutil.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/MainWindow.pod85
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Menu.pod876
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Menu/Item.pod96
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Menubutton.pod249
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Message.pod151
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/MsgBox.pod83
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Mwm.pod109
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/NoteBook.pod235
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Optionmenu.pod100
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Panedwindow.pod326
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Photo.pod475
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Pixmap.pod64
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Popup.pod89
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/ROText.pod48
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Radiobutton.pod333
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Scale.pod356
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Scrollbar.pod429
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Scrolled.pod86
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Spinbox.pod819
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Submethods.pod27
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/TList.pod597
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Table.pod102
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Tcl-perl.pod200
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Text.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Text.pod2224
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/TextUndo.pod73
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Tiler.pod32
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/TixGrid.pod539
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Tk/Tk.def4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Toplevel.pod199
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Tree.pod274
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/UserGuide.pod586
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Widget.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Widget.pod678
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/WidgetDemo.pod59
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Wm.pod669
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/X.pod373
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/X11Font.pod88
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Xrm.pod45
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/after.pod168
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/bind.pod583
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/bindtags.pod107
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/callbacks.pod104
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/chooseColor.pod64
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/chooseDirectory.pod95
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/composite.pod171
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/HList.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/event.pod417
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/exit.pod42
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/fileevent.pod112
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/focus.pod166
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/form.pod397
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/getOpenFile.pod182
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/grab.pod140
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/grid.pod409
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/mega.pod423
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/messageBox.pod67
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/option.pod217
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/options.pod787
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/overview.pod138
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk.pod550
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pack.pod324
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/palette.pod89
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/place.pod283
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/selection.pod159
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/send.pod118
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/tixWm.pod73
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/tkvars.pod107
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/widgets.pod20
-rw-r--r--Master/tlpkg/tlperl/lib/URI.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/URI/Escape.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/URI/Heuristic.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/URI/IRI.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/URI/QueryParam.pm1
-rw-r--r--Master/tlpkg/tlperl/lib/URI/Split.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/URL.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/URI/WithBase.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_foreign.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_generic.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_idna.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_ldap.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_login.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_punycode.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_query.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_segment.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_server.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_userpass.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI/data.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/Base.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/FAT.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/Mac.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/OS2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/QNX.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/Unix.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/Win32.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ftp.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/gopher.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/URI/http.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/https.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ldap.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ldapi.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ldaps.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/mailto.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/mms.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/news.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/URI/nntp.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/pop.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/URI/rlogin.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/rsync.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/rtsp.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/rtspu.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/sip.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/URI/sips.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/snews.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ssh.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/telnet.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/tn3270.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/urn.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/URI/urn/isbn.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/URI/urn/oid.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate.pm179
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl6
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl94
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl146
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl52
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Unicode/Collate/Locale/ee.pl64
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl100
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl96
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl121
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl117
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl146
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl90
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl296
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl102
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl154
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl3774
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl92
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl142
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl1284
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl88
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl144
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl144
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl96
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl100
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl290
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl84
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl92
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl84
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl170
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl166
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl104
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl118
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl86
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl172
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl434
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl56
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl416
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl1880
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl1244
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl3000
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl3168
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_zhu.pl3116
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt50282
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Normalize.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/UCD.pm874
-rw-r--r--Master/tlpkg/tlperl/lib/Win32.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Callback.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Callback/IATPatch.pod181
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Console.pm1463
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/OLE.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/OLE/NEWS.pod380
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/OLE/TPJ.pod798
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info.pm1005
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm865
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm306
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm430
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/TieRegistry.pm51
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/WinError.pm1017
-rw-r--r--Master/tlpkg/tlperl/lib/Win32API/Registry.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/XSLoader.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/_charnames.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/arybase.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/attributes.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/auto/B/B.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/B/B.dllbin79360 -> 82432 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dllbin100352 -> 101376 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/autosplit.ix3
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dllbin140288 -> 142336 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/autosplit.ix3
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Cwd/Cwd.dllbin15360 -> 22528 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dllbin41472 -> 45568 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Date/Parse/.packlist37
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dllbin125952 -> 110592 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dllbin21504 -> 23040 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dllbin24064 -> 24576 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dllbin56320 -> 55808 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist5
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dllbin24064 -> 25600 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dllbin115712 -> 117248 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/CN/CN.dllbin747008 -> 748544 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dllbin22528 -> 24064 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Encode.dllbin38912 -> 40960 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/JP/JP.dllbin863232 -> 864768 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/KR/KR.dllbin818176 -> 819712 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dllbin26112 -> 27648 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/TW/TW.dllbin763904 -> 765440 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dllbin31232 -> 32768 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/compat/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dllbin19456 -> 20480 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dllbin12800 -> 13824 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/File/Glob/Glob.dllbin28672 -> 29696 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Which/.packlist3
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dllbin17920 -> 18944 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dllbin55808 -> 56320 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist6
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist20
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dllbin20992 -> 22528 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/Util.dllbin19456 -> 20480 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/IO/HTML/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/IO/IO.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/IO/IO.dllbin24064 -> 25088 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/IO/String/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/.packlist66
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist4
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/LWP/Protocol/https/.packlist1
-rw-r--r--Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/List/Util/Util.dllbin30720 -> 51200 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dllbin19968 -> 21504 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dllbin19968 -> 21504 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/Int64/.packlist11
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/Int64/Int64.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/Int64/Int64.dllbin81920 -> 82944 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Mozilla/CA/.packlist3
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist8
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Opcode/Opcode.dllbin25600 -> 27136 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/POSIX/POSIX.dllbin96256 -> 98816 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dllbin28672 -> 30208 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dllbin12288 -> 13312 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dllbin17920 -> 19456 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/via/via.dllbin22528 -> 23552 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dllbin34816 -> 35840 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Socket/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Socket/Socket.dllbin29696 -> 35328 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Storable/Storable.dllbin116736 -> 117760 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dllbin12288 -> 13824 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dllbin14336 -> 0 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dllbin16896 -> 17920 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dllbin25600 -> 26624 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dllbin29696 -> 27136 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/.packlist1309
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dllbin208384 -> 210944 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dllbin26624 -> 27648 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/DirSelect/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dllbin16896 -> 17408 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dllbin52736 -> 53760 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Event/Event.dllbin63488 -> 65024 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/HList/HList.dllbin66048 -> 67584 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/IO/IO.dllbin16384 -> 17408 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dllbin24064 -> 128512 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dllbin40448 -> 40960 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dllbin27136 -> 28160 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dllbin30208 -> 30720 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dllbin20992 -> 215040 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dllbin33792 -> 34304 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dllbin31744 -> 32256 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dllbin28160 -> 28672 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TList/TList.dllbin36864 -> 38400 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Text/Text.dllbin129536 -> 130560 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dllbin83456 -> 84992 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Tk.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Tk.dllbin931840 -> 941056 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Widget/bindDump.al4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/X/X.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/X/X.dllbin30720 -> 31744 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dllbin36864 -> 37888 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/URI/.packlist104
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dllbin564736 -> 528896 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dllbin212480 -> 212992 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist18
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/API/API.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/API.dllbin31744 -> 33280 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dllbin24064 -> 25088 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Console/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Console/Console.dllbin0 -> 59904 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/OLE/.packlist23
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.dllbin164352 -> 148480 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist5
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dllbin41472 -> 52224 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Win32.dllbin56320 -> 58368 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/File/File.dllbin105472 -> 107008 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist7
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dllbin228352 -> 229888 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/arybase/arybase.dllbin25088 -> 26112 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/attributes/attributes.dllbin16384 -> 17920 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/mro/mro.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/mro/mro.dllbin25088 -> 26112 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/re/re.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/re/re.dllbin421888 -> 460800 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/shared/shared.dllbin40448 -> 41472 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/threads/threads.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/threads.dllbin40960 -> 42496 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/autodie.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception/system.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/hints.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/skip.pm54
-rw-r--r--Master/tlpkg/tlperl/lib/autouse.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/base.pm31
-rw-r--r--Master/tlpkg/tlperl/lib/bigint.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/bignum.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/bigrat.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/charnames.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/constant.pm74
-rw-r--r--Master/tlpkg/tlperl/lib/deprecate.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/diagnostics.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/encoding.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/experimental.pm151
-rw-r--r--Master/tlpkg/tlperl/lib/feature.pm57
-rw-r--r--Master/tlpkg/tlperl/lib/fields.pm69
-rw-r--r--Master/tlpkg/tlperl/lib/if.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest/private.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/integer.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/locale.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/lwpcook.pod311
-rw-r--r--Master/tlpkg/tlperl/lib/lwptut.pod839
-rw-r--r--Master/tlpkg/tlperl/lib/mro.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/parent.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/perl5db.pl209
-rw-r--r--Master/tlpkg/tlperl/lib/perlfaq.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/perllocal.pod682
-rw-r--r--Master/tlpkg/tlperl/lib/re.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/strict.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/subs.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/threads.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/threads/shared.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Blocks.txt4
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl349
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Decomposition.pl965
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Heavy.pl6184
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Name.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Name.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Age.pl737
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bc.pl405
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bpb.pl140
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bpt.pl140
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Cf.pl1267
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Digit.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Ea.pl137
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Fold.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/GCB.pl322
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Gc.pl1972
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Hst.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Isc.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jg.pl279
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jt.pl348
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lb.pl840
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lc.pl1243
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lower.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl119
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl199
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl173
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl235
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Na1.pl1721
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl348
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nt.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nv.pl112
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/SB.pl1685
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Sc.pl483
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Scx.pl498
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Tc.pl1259
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Title.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Uc.pl1259
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Upper.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/WB.pl593
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/UCD.pl149
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl1651
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl870
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl369
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl114
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl183
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl237
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl264
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl111
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl273
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl276
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl324
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl273
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl1626
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl97
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl1054
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl656
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl519
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl339
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl13
-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.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/Braille.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/Meroiti2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl115
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bpt/C.pl134
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bpt/N.pl73
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bpt/O.pl134
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl105
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl895
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl1752
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl318
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl2381
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl1719
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl1767
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl1764
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl363
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl285
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl198
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl398
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl105
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl225
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl381
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl228
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl345
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl207
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl231
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl300
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl168
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl558
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl21
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Dt/Wide.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl525
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl638
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl105
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl67
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl704
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl812
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl812
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl342
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl676
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl1628
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl1622
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl1464
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl345
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl1839
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl162
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl1119
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl)48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl1830
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl618
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl384
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl668
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl270
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl132
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl132
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl428
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl220
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl411
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl226
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl602
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl87
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl199
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl465
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl1933
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl1698
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl1470
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl942
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl942
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl1113
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl1212
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl1197
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl1242
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl1296
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl1326
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl1371
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl1491
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl1539
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl1653
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl1653
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_3.pl1112
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl108
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl700
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl729
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl333
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl1794
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl209
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl81
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl243
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl574
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl381
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl243
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl60
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl117
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl1599
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl1860
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl420
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl60
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl111
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl323
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl687
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl689
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl747
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl842
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl1158
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl1160
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl66
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl488
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl369
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl183
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl288
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl114
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl299
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Nv/216000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl293
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl273
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Nv/432000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl273
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl252
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl243
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl234
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl240
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Nv/_1.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl90
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl1704
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl1623
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl1638
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl1629
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl1701
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl413
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl343
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl1731
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl1482
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlFol.pl72
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl1719
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl1497
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPr2.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl)53
-rw-r--r--[-rwxr-xr-x]Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPro.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/V62.pl)51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl119
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl627
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBL.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLV.pl411
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLVT.pl411
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBT.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBV.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XRI.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XRegula.pl78
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Perl/_XSpecia.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl131
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl624
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl1185
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl1857
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl132
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl147
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl1845
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl1878
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl99
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl156
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl176
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl24
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl24
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl21
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl102
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl30
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl105
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl30
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl30
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl21
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl60
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl96
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl27
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Merc.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Miao.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl24
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl48
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Shrd.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl39
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Sora.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl54
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl48
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl27
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl13
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl14
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl78
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl479
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl1616
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl156
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl14
-rw-r--r--[-rwxr-xr-x]Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cakm.pl)36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl111
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl60
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl90
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl78
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl105
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl423
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl)49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl216
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl1836
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl15
-rwxr-xr-xMaster/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/HL.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl)56
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl1274
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl132
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl1751
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl1719
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl1491
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/version2
-rw-r--r--Master/tlpkg/tlperl/lib/utf8.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/utf8_heavy.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/version.pm141
-rw-r--r--Master/tlpkg/tlperl/lib/version.pod322
-rw-r--r--Master/tlpkg/tlperl/lib/version/Internals.pod699
-rw-r--r--Master/tlpkg/tlperl/lib/version/regex.pm117
-rw-r--r--Master/tlpkg/tlperl/lib/version/vpp.pm1023
-rw-r--r--Master/tlpkg/tlperl/lib/vmsish.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/warnings.pm853
-rw-r--r--Master/tlpkg/tlperl/lib/warnings/register.pm5
2046 files changed, 280106 insertions, 180331 deletions
diff --git a/Master/tlpkg/tlperl/README.TEXLIVE b/Master/tlpkg/tlperl/README.TEXLIVE
index f2a3ddcc490..bf5af4b003f 100644
--- a/Master/tlpkg/tlperl/README.TEXLIVE
+++ b/Master/tlpkg/tlperl/README.TEXLIVE
@@ -1,4 +1,4 @@
-This directory contains Perl 5.18.2 compiled for Windows.
+This directory contains Perl 5.20.2 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 8b2a34a9ae0..fd318509a3f 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_sjlj-1.dll b/Master/tlpkg/tlperl/bin/libgcc_s_sjlj-1.dll
index 0ec7756b835..638eeac960d 100755
--- a/Master/tlpkg/tlperl/bin/libgcc_s_sjlj-1.dll
+++ b/Master/tlpkg/tlperl/bin/libgcc_s_sjlj-1.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/libpng16-16_.dll b/Master/tlpkg/tlperl/bin/libpng16-16_.dll
deleted file mode 100755
index d046363d1d5..00000000000
--- a/Master/tlpkg/tlperl/bin/libpng16-16_.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/libstdc++-6.dll b/Master/tlpkg/tlperl/bin/libstdc++-6.dll
index 9613fa55d6a..2ab11bae8b1 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/libwinpthread-1.dll b/Master/tlpkg/tlperl/bin/libwinpthread-1.dll
new file mode 100755
index 00000000000..434802becf9
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/libwinpthread-1.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl.exe b/Master/tlpkg/tlperl/bin/perl.exe
index d8d95c2d0ad..98045d95c77 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.18.2.exe b/Master/tlpkg/tlperl/bin/perl5.18.2.exe
deleted file mode 100755
index d8d95c2d0ad..00000000000
--- a/Master/tlpkg/tlperl/bin/perl5.18.2.exe
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl5.20.2.exe b/Master/tlpkg/tlperl/bin/perl5.20.2.exe
new file mode 100755
index 00000000000..98045d95c77
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/perl5.20.2.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl518.dll b/Master/tlpkg/tlperl/bin/perl518.dll
deleted file mode 100755
index 9d1479687f0..00000000000
--- a/Master/tlpkg/tlperl/bin/perl518.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl520.dll b/Master/tlpkg/tlperl/bin/perl520.dll
new file mode 100755
index 00000000000..e2b3b596921
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/perl520.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perlglob.exe b/Master/tlpkg/tlperl/bin/perlglob.exe
index b1112f6eff1..0202921e0e8 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 da2ce0e52bb..fa60b5817b0 100755
--- a/Master/tlpkg/tlperl/bin/wperl.exe
+++ b/Master/tlpkg/tlperl/bin/wperl.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/zlib1_.dll b/Master/tlpkg/tlperl/bin/zlib1_.dll
deleted file mode 100755
index a4656bb82f6..00000000000
--- a/Master/tlpkg/tlperl/bin/zlib1_.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/.packlist b/Master/tlpkg/tlperl/lib/.packlist
index 3b27b3aa86f..56a724340bb 100644
--- a/Master/tlpkg/tlperl/lib/.packlist
+++ b/Master/tlpkg/tlperl/lib/.packlist
@@ -1,2103 +1,1497 @@
-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/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/json_pp.bat type=file
-c:\perl\bin/libnetcfg.bat type=file
-c:\perl\bin/perl.exe from=c:\perl\bin/perl5.18.2.exe type=link
-c:\perl\bin/perl5.18.2.exe type=file
-c:\perl\bin/perl518.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/ptargrep.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\bin/zipdetails.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/charclass_invlists.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/feature.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/hv_func.h type=file
-c:\perl\lib/CORE/inline.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/l1_char_class_tab.h type=file
-c:\perl\lib/CORE/libperl518.a type=file
-c:\perl\lib/CORE/malloc_ctl.h type=file
-c:\perl\lib/CORE/metaconfig.h type=file
-c:\perl\lib/CORE/mg.h type=file
-c:\perl\lib/CORE/mg_data.h type=file
-c:\perl\lib/CORE/mg_raw.h type=file
-c:\perl\lib/CORE/mg_vtable.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/op_reg_common.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/unicode_constants.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/Exception/yaml_process_error.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/HTTP/Client.pm type=file
-c:\perl\lib/CPAN/HTTP/Credentials.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/Meta.pm type=file
-c:\perl\lib/CPAN/Meta/Converter.pm type=file
-c:\perl\lib/CPAN/Meta/Feature.pm type=file
-c:\perl\lib/CPAN/Meta/History.pm type=file
-c:\perl\lib/CPAN/Meta/Prereqs.pm type=file
-c:\perl\lib/CPAN/Meta/Requirements.pm type=file
-c:\perl\lib/CPAN/Meta/Spec.pm type=file
-c:\perl\lib/CPAN/Meta/Validator.pm type=file
-c:\perl\lib/CPAN/Meta/YAML.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/Config/HomeEnv.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/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/Perl/V.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/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/ParseXS.pod type=file
-c:\perl\lib/ExtUtils/ParseXS/Constants.pm type=file
-c:\perl\lib/ExtUtils/ParseXS/CountLines.pm type=file
-c:\perl\lib/ExtUtils/ParseXS/Utilities.pm type=file
-c:\perl\lib/ExtUtils/Typemaps.pm type=file
-c:\perl\lib/ExtUtils/Typemaps/Cmd.pm type=file
-c:\perl\lib/ExtUtils/Typemaps/InputMap.pm type=file
-c:\perl\lib/ExtUtils/Typemaps/OutputMap.pm type=file
-c:\perl\lib/ExtUtils/Typemaps/Type.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/HTTP/Tiny.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/FAQ.pod 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/JSON/PP.pm type=file
-c:\perl\lib/JSON/PP/Boolean.pm type=file
-c:\perl\lib/List/Util.pm type=file
-c:\perl\lib/List/Util/XS.pm type=file
-c:\perl\lib/Locale/Codes.pm type=file
-c:\perl\lib/Locale/Codes.pod type=file
-c:\perl\lib/Locale/Codes/API.pod type=file
-c:\perl\lib/Locale/Codes/Changes.pod type=file
-c:\perl\lib/Locale/Codes/Constants.pm type=file
-c:\perl\lib/Locale/Codes/Constants.pod type=file
-c:\perl\lib/Locale/Codes/Country.pm type=file
-c:\perl\lib/Locale/Codes/Country.pod type=file
-c:\perl\lib/Locale/Codes/Country_Codes.pm type=file
-c:\perl\lib/Locale/Codes/Country_Retired.pm type=file
-c:\perl\lib/Locale/Codes/Currency.pm type=file
-c:\perl\lib/Locale/Codes/Currency.pod type=file
-c:\perl\lib/Locale/Codes/Currency_Codes.pm type=file
-c:\perl\lib/Locale/Codes/Currency_Retired.pm type=file
-c:\perl\lib/Locale/Codes/LangExt.pm type=file
-c:\perl\lib/Locale/Codes/LangExt.pod type=file
-c:\perl\lib/Locale/Codes/LangExt_Codes.pm type=file
-c:\perl\lib/Locale/Codes/LangExt_Retired.pm type=file
-c:\perl\lib/Locale/Codes/LangFam.pm type=file
-c:\perl\lib/Locale/Codes/LangFam.pod type=file
-c:\perl\lib/Locale/Codes/LangFam_Codes.pm type=file
-c:\perl\lib/Locale/Codes/LangFam_Retired.pm type=file
-c:\perl\lib/Locale/Codes/LangVar.pm type=file
-c:\perl\lib/Locale/Codes/LangVar.pod type=file
-c:\perl\lib/Locale/Codes/LangVar_Codes.pm type=file
-c:\perl\lib/Locale/Codes/LangVar_Retired.pm type=file
-c:\perl\lib/Locale/Codes/Language.pm type=file
-c:\perl\lib/Locale/Codes/Language.pod type=file
-c:\perl\lib/Locale/Codes/Language_Codes.pm type=file
-c:\perl\lib/Locale/Codes/Language_Retired.pm type=file
-c:\perl\lib/Locale/Codes/Script.pm type=file
-c:\perl\lib/Locale/Codes/Script.pod type=file
-c:\perl\lib/Locale/Codes/Script_Codes.pm type=file
-c:\perl\lib/Locale/Codes/Script_Retired.pm 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/Cookbook.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/CoreList.pod type=file
-c:\perl\lib/Module/CoreList/TieHashDelta.pm type=file
-c:\perl\lib/Module/CoreList/Utils.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/Metadata.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/Perl/OSType.pm type=file
-c:\perl\lib/PerlIO.pm type=file
-c:\perl\lib/PerlIO/encoding.pm type=file
-c:\perl\lib/PerlIO/mmap.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/ToANSI.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/ToTerm.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/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/Search/Dict.pm type=file
-c:\perl\lib/SelectSaver.pm type=file
-c:\perl\lib/SelfLoader.pm type=file
-c:\perl\lib/Socket.pm type=file
-c:\perl\lib/Storable.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/Harness/Beyond.pod 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/SourceHandler.pm type=file
-c:\perl\lib/TAP/Parser/SourceHandler/Executable.pm type=file
-c:\perl\lib/TAP/Parser/SourceHandler/File.pm type=file
-c:\perl\lib/TAP/Parser/SourceHandler/Handle.pm type=file
-c:\perl\lib/TAP/Parser/SourceHandler/Perl.pm type=file
-c:\perl\lib/TAP/Parser/SourceHandler/RawTAP.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/CJK/Big5.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/GB2312.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/JISX0208.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/Korean.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/Pinyin.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/Stroke.pm type=file
-c:\perl\lib/Unicode/Collate/CJK/Zhuyin.pm type=file
-c:\perl\lib/Unicode/Collate/Locale.pm type=file
-c:\perl\lib/Unicode/Collate/Locale/af.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ar.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/as.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/az.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/be.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/bg.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/bn.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ca.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/cs.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/cy.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/da.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/de_phone.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ee.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/eo.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/es.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/es_trad.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/et.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fa.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fi.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fi_phone.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fil.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fo.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/fr.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/gu.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ha.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/haw.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/hi.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/hr.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/hu.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/hy.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ig.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/is.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ja.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/kk.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/kl.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/kn.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ko.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/kok.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ln.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/lt.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/lv.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/mk.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ml.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/mr.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/mt.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/nb.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/nn.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/nso.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/om.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/or.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/pa.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/pl.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ro.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ru.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sa.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/se.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/si.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/si_dict.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sk.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sl.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sq.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sr.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sv.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/sv_refo.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ta.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/te.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/th.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/tn.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/to.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/tr.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/uk.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/ur.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/vi.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/wae.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/wo.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/yo.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh_big5.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh_gb.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh_pin.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh_strk.pl type=file
-c:\perl\lib/Unicode/Collate/Locale/zh_zhu.pl 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/_charnames.pm type=file
-c:\perl\lib/arybase.pm type=file
-c:\perl\lib/attributes.pm type=file
-c:\perl\lib/auto/B/B.bs type=file
-c:\perl\lib/auto/B/B.dll type=file
-c:\perl\lib/auto/Compress/Raw/Bzip2/Bzip2.bs 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.bs 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/Cwd/Cwd.bs type=file
-c:\perl\lib/auto/Cwd/Cwd.dll type=file
-c:\perl\lib/auto/Data/Dumper/Dumper.bs type=file
-c:\perl\lib/auto/Data/Dumper/Dumper.dll type=file
-c:\perl\lib/auto/Devel/PPPort/PPPort.bs type=file
-c:\perl\lib/auto/Devel/PPPort/PPPort.dll type=file
-c:\perl\lib/auto/Devel/Peek/Peek.bs type=file
-c:\perl\lib/auto/Devel/Peek/Peek.dll type=file
-c:\perl\lib/auto/Digest/MD5/MD5.bs type=file
-c:\perl\lib/auto/Digest/MD5/MD5.dll type=file
-c:\perl\lib/auto/Digest/SHA/SHA.bs type=file
-c:\perl\lib/auto/Digest/SHA/SHA.dll type=file
-c:\perl\lib/auto/Encode/Byte/Byte.bs type=file
-c:\perl\lib/auto/Encode/Byte/Byte.dll type=file
-c:\perl\lib/auto/Encode/CN/CN.bs type=file
-c:\perl\lib/auto/Encode/CN/CN.dll type=file
-c:\perl\lib/auto/Encode/EBCDIC/EBCDIC.bs type=file
-c:\perl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
-c:\perl\lib/auto/Encode/Encode.bs type=file
-c:\perl\lib/auto/Encode/Encode.dll type=file
-c:\perl\lib/auto/Encode/JP/JP.bs type=file
-c:\perl\lib/auto/Encode/JP/JP.dll type=file
-c:\perl\lib/auto/Encode/KR/KR.bs type=file
-c:\perl\lib/auto/Encode/KR/KR.dll type=file
-c:\perl\lib/auto/Encode/Symbol/Symbol.bs type=file
-c:\perl\lib/auto/Encode/Symbol/Symbol.dll type=file
-c:\perl\lib/auto/Encode/TW/TW.bs type=file
-c:\perl\lib/auto/Encode/TW/TW.dll type=file
-c:\perl\lib/auto/Encode/Unicode/Unicode.bs type=file
-c:\perl\lib/auto/Encode/Unicode/Unicode.dll type=file
-c:\perl\lib/auto/Fcntl/Fcntl.bs type=file
-c:\perl\lib/auto/Fcntl/Fcntl.dll type=file
-c:\perl\lib/auto/File/DosGlob/DosGlob.bs type=file
-c:\perl\lib/auto/File/DosGlob/DosGlob.dll type=file
-c:\perl\lib/auto/File/Glob/Glob.bs type=file
-c:\perl\lib/auto/File/Glob/Glob.dll type=file
-c:\perl\lib/auto/Filter/Util/Call/Call.bs type=file
-c:\perl\lib/auto/Filter/Util/Call/Call.dll type=file
-c:\perl\lib/auto/Hash/Util/FieldHash/FieldHash.bs type=file
-c:\perl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
-c:\perl\lib/auto/Hash/Util/Util.bs type=file
-c:\perl\lib/auto/Hash/Util/Util.dll type=file
-c:\perl\lib/auto/IO/IO.bs type=file
-c:\perl\lib/auto/IO/IO.dll type=file
-c:\perl\lib/auto/List/Util/Util.bs type=file
-c:\perl\lib/auto/List/Util/Util.dll type=file
-c:\perl\lib/auto/MIME/Base64/Base64.bs type=file
-c:\perl\lib/auto/MIME/Base64/Base64.dll type=file
-c:\perl\lib/auto/Math/BigInt/FastCalc/FastCalc.bs type=file
-c:\perl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
-c:\perl\lib/auto/Opcode/Opcode.bs type=file
-c:\perl\lib/auto/Opcode/Opcode.dll type=file
-c:\perl\lib/auto/POSIX/POSIX.bs type=file
-c:\perl\lib/auto/POSIX/POSIX.dll type=file
-c:\perl\lib/auto/PerlIO/encoding/encoding.bs type=file
-c:\perl\lib/auto/PerlIO/encoding/encoding.dll type=file
-c:\perl\lib/auto/PerlIO/mmap/mmap.bs type=file
-c:\perl\lib/auto/PerlIO/mmap/mmap.dll type=file
-c:\perl\lib/auto/PerlIO/scalar/scalar.bs type=file
-c:\perl\lib/auto/PerlIO/scalar/scalar.dll type=file
-c:\perl\lib/auto/PerlIO/via/via.bs type=file
-c:\perl\lib/auto/PerlIO/via/via.dll type=file
-c:\perl\lib/auto/SDBM_File/SDBM_File.bs type=file
-c:\perl\lib/auto/SDBM_File/SDBM_File.dll type=file
-c:\perl\lib/auto/Socket/Socket.bs type=file
-c:\perl\lib/auto/Socket/Socket.dll type=file
-c:\perl\lib/auto/Storable/Storable.bs type=file
-c:\perl\lib/auto/Storable/Storable.dll type=file
-c:\perl\lib/auto/Sys/Hostname/Hostname.bs type=file
-c:\perl\lib/auto/Sys/Hostname/Hostname.dll type=file
-c:\perl\lib/auto/Text/Soundex/Soundex.bs type=file
-c:\perl\lib/auto/Text/Soundex/Soundex.dll type=file
-c:\perl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs type=file
-c:\perl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file
-c:\perl\lib/auto/Time/HiRes/HiRes.bs type=file
-c:\perl\lib/auto/Time/HiRes/HiRes.dll type=file
-c:\perl\lib/auto/Time/Piece/Piece.bs type=file
-c:\perl\lib/auto/Time/Piece/Piece.dll type=file
-c:\perl\lib/auto/Unicode/Collate/Collate.bs type=file
-c:\perl\lib/auto/Unicode/Collate/Collate.dll type=file
-c:\perl\lib/auto/Unicode/Normalize/Normalize.bs type=file
-c:\perl\lib/auto/Unicode/Normalize/Normalize.dll type=file
-c:\perl\lib/auto/Win32/Win32.bs type=file
-c:\perl\lib/auto/Win32/Win32.dll type=file
-c:\perl\lib/auto/Win32API/File/File.bs 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/arybase/arybase.bs type=file
-c:\perl\lib/auto/arybase/arybase.dll type=file
-c:\perl\lib/auto/attributes/attributes.bs type=file
-c:\perl\lib/auto/attributes/attributes.dll type=file
-c:\perl\lib/auto/mro/mro.bs type=file
-c:\perl\lib/auto/mro/mro.dll type=file
-c:\perl\lib/auto/re/re.bs 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.bs type=file
-c:\perl\lib/auto/threads/shared/shared.dll type=file
-c:\perl\lib/auto/threads/threads.bs 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/bigint.pm type=file
-c:\perl\lib/bignum.pm 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/charnames.pm type=file
-c:\perl\lib/constant.pm type=file
-c:\perl\lib/deprecate.pm type=file
-c:\perl\lib/diagnostics.pm 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/feature.pm type=file
-c:\perl\lib/fields.pm type=file
-c:\perl\lib/filetest.pm type=file
-c:\perl\lib/if.pm 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/mro.pm type=file
-c:\perl\lib/open.pm 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/perlfaq.pm 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/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/perl5124delta.pod type=file
-c:\perl\lib/pods/perl5125delta.pod type=file
-c:\perl\lib/pods/perl5140delta.pod type=file
-c:\perl\lib/pods/perl5141delta.pod type=file
-c:\perl\lib/pods/perl5142delta.pod type=file
-c:\perl\lib/pods/perl5143delta.pod type=file
-c:\perl\lib/pods/perl5144delta.pod type=file
-c:\perl\lib/pods/perl5160delta.pod type=file
-c:\perl\lib/pods/perl5161delta.pod type=file
-c:\perl\lib/pods/perl5162delta.pod type=file
-c:\perl\lib/pods/perl5163delta.pod type=file
-c:\perl\lib/pods/perl5180delta.pod type=file
-c:\perl\lib/pods/perl5181delta.pod type=file
-c:\perl\lib/pods/perl5182delta.pod type=file
-c:\perl\lib/pods/perl561delta.pod type=file
-c:\perl\lib/pods/perl56delta.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/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/perlartistic.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/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/perldtrace.pod type=file
-c:\perl\lib/pods/perlebcdic.pod type=file
-c:\perl\lib/pods/perlembed.pod type=file
-c:\perl\lib/pods/perlexperiment.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/perlgit.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/perlhacktips.pod type=file
-c:\perl\lib/pods/perlhacktut.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/perlinterp.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/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/perlootut.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/perlpodstyle.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/perlsource.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/perlvar.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/pods/perlxstypemap.pod type=file
-c:\perl\lib/re.pm type=file
-c:\perl\lib/sigtrap.pm type=file
-c:\perl\lib/sort.pm type=file
-c:\perl\lib/strict.pm type=file
-c:\perl\lib/subs.pm type=file
-c:\perl\lib/threads.pm type=file
-c:\perl\lib/threads/shared.pm type=file
-c:\perl\lib/unicore/Blocks.txt type=file
-c:\perl\lib/unicore/CombiningClass.pl type=file
-c:\perl\lib/unicore/Decomposition.pl type=file
-c:\perl\lib/unicore/Heavy.pl type=file
-c:\perl\lib/unicore/Name.pl type=file
-c:\perl\lib/unicore/Name.pm type=file
-c:\perl\lib/unicore/NamedSequences.txt type=file
-c:\perl\lib/unicore/SpecialCasing.txt type=file
-c:\perl\lib/unicore/To/Age.pl type=file
-c:\perl\lib/unicore/To/Bc.pl type=file
-c:\perl\lib/unicore/To/Bmg.pl type=file
-c:\perl\lib/unicore/To/Cf.pl type=file
-c:\perl\lib/unicore/To/Digit.pl type=file
-c:\perl\lib/unicore/To/Ea.pl type=file
-c:\perl\lib/unicore/To/Fold.pl type=file
-c:\perl\lib/unicore/To/GCB.pl type=file
-c:\perl\lib/unicore/To/Gc.pl type=file
-c:\perl\lib/unicore/To/Hst.pl type=file
-c:\perl\lib/unicore/To/Isc.pl type=file
-c:\perl\lib/unicore/To/Jg.pl type=file
-c:\perl\lib/unicore/To/Jt.pl type=file
-c:\perl\lib/unicore/To/Lb.pl type=file
-c:\perl\lib/unicore/To/Lc.pl type=file
-c:\perl\lib/unicore/To/Lower.pl type=file
-c:\perl\lib/unicore/To/NFCQC.pl type=file
-c:\perl\lib/unicore/To/NFDQC.pl type=file
-c:\perl\lib/unicore/To/NFKCCF.pl type=file
-c:\perl\lib/unicore/To/NFKCQC.pl type=file
-c:\perl\lib/unicore/To/NFKDQC.pl type=file
-c:\perl\lib/unicore/To/Na1.pl type=file
-c:\perl\lib/unicore/To/NameAlia.pl type=file
-c:\perl\lib/unicore/To/Nt.pl type=file
-c:\perl\lib/unicore/To/Nv.pl type=file
-c:\perl\lib/unicore/To/PerlDeci.pl type=file
-c:\perl\lib/unicore/To/SB.pl type=file
-c:\perl\lib/unicore/To/Sc.pl type=file
-c:\perl\lib/unicore/To/Scx.pl type=file
-c:\perl\lib/unicore/To/Tc.pl type=file
-c:\perl\lib/unicore/To/Title.pl type=file
-c:\perl\lib/unicore/To/Uc.pl type=file
-c:\perl\lib/unicore/To/Upper.pl type=file
-c:\perl\lib/unicore/To/WB.pl type=file
-c:\perl\lib/unicore/UCD.pl type=file
-c:\perl\lib/unicore/lib/AHex/Y.pl type=file
-c:\perl\lib/unicore/lib/Age/NA.pl type=file
-c:\perl\lib/unicore/lib/Age/V11.pl type=file
-c:\perl\lib/unicore/lib/Age/V20.pl type=file
-c:\perl\lib/unicore/lib/Age/V21.pl type=file
-c:\perl\lib/unicore/lib/Age/V30.pl type=file
-c:\perl\lib/unicore/lib/Age/V31.pl type=file
-c:\perl\lib/unicore/lib/Age/V32.pl type=file
-c:\perl\lib/unicore/lib/Age/V40.pl type=file
-c:\perl\lib/unicore/lib/Age/V41.pl type=file
-c:\perl\lib/unicore/lib/Age/V50.pl type=file
-c:\perl\lib/unicore/lib/Age/V51.pl type=file
-c:\perl\lib/unicore/lib/Age/V52.pl type=file
-c:\perl\lib/unicore/lib/Age/V60.pl type=file
-c:\perl\lib/unicore/lib/Age/V61.pl type=file
-c:\perl\lib/unicore/lib/Age/V62.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/Y.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/Alchemic.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/ArabicEx.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicMa.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicP2.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicPF.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/BamumSup.pl type=file
-c:\perl\lib/unicore/lib/Blk/Batak.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/Brahmi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Braille.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/CJK.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/CJKExtA.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKExtB.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKExtC.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKExtD.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/Carian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Chakma.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/CompatJa.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/Diacrit2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Diacrit3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Diacriti.pl type=file
-c:\perl\lib/unicore/lib/Blk/Dingbats.pl type=file
-c:\perl\lib/unicore/lib/Blk/Domino.pl type=file
-c:\perl\lib/unicore/lib/Blk/Egyptian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Emoticon.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/Ethiopi4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ethiopic.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/HalfAndF.pl type=file
-c:\perl\lib/unicore/lib/Blk/HalfMark.pl type=file
-c:\perl\lib/unicore/lib/Blk/Hangul.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/HighPUSu.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/IDC.pl type=file
-c:\perl\lib/unicore/lib/Blk/IPAExt.pl type=file
-c:\perl\lib/unicore/lib/Blk/Imperial.pl type=file
-c:\perl\lib/unicore/lib/Blk/IndicNum.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/Jamo.pl type=file
-c:\perl\lib/unicore/lib/Blk/JamoExtA.pl type=file
-c:\perl\lib/unicore/lib/Blk/JamoExtB.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/KanaSup.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kanbun.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kangxi.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/Mahjong.pl type=file
-c:\perl\lib/unicore/lib/Blk/Malayala.pl type=file
-c:\perl\lib/unicore/lib/Blk/Mandaic.pl type=file
-c:\perl\lib/unicore/lib/Blk/MathAlph.pl type=file
-c:\perl\lib/unicore/lib/Blk/MathOper.pl type=file
-c:\perl\lib/unicore/lib/Blk/MeeteiM2.pl type=file
-c:\perl\lib/unicore/lib/Blk/MeeteiMa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Meroiti2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Meroitic.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miao.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscArro.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscMat2.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscMath.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscPict.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscSymb.pl type=file
-c:\perl\lib/unicore/lib/Blk/MiscTech.pl type=file
-c:\perl\lib/unicore/lib/Blk/Modifie2.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/Music.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/NB.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/NumberFo.pl type=file
-c:\perl\lib/unicore/lib/Blk/OCR.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/Oriya.pl type=file
-c:\perl\lib/unicore/lib/Blk/Osmanya.pl type=file
-c:\perl\lib/unicore/lib/Blk/PUA.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/PlayingC.pl type=file
-c:\perl\lib/unicore/lib/Blk/Punctuat.pl type=file
-c:\perl\lib/unicore/lib/Blk/Rejang.pl type=file
-c:\perl\lib/unicore/lib/Blk/Rumi.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/Sharada.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/SoraSomp.pl type=file
-c:\perl\lib/unicore/lib/Blk/Specials.pl type=file
-c:\perl\lib/unicore/lib/Blk/Sundane2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Sundanes.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupArro2.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupArrow.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupMathO.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupPUAA.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupPUAB.pl type=file
-c:\perl\lib/unicore/lib/Blk/SupPunct.pl type=file
-c:\perl\lib/unicore/lib/Blk/SuperAnd.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/Takri.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/Transpor.pl type=file
-c:\perl\lib/unicore/lib/Blk/UCAS.pl type=file
-c:\perl\lib/unicore/lib/Blk/UCASExt.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ugaritic.pl type=file
-c:\perl\lib/unicore/lib/Blk/VS.pl type=file
-c:\perl\lib/unicore/lib/Blk/VSSup.pl type=file
-c:\perl\lib/unicore/lib/Blk/Vai.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/Yijing.pl type=file
-c:\perl\lib/unicore/lib/CE/Y.pl type=file
-c:\perl\lib/unicore/lib/CI/Y.pl type=file
-c:\perl\lib/unicore/lib/CWCF/Y.pl type=file
-c:\perl\lib/unicore/lib/CWCM/Y.pl type=file
-c:\perl\lib/unicore/lib/CWKCF/Y.pl type=file
-c:\perl\lib/unicore/lib/CWL/Y.pl type=file
-c:\perl\lib/unicore/lib/CWT/Y.pl type=file
-c:\perl\lib/unicore/lib/CWU/Y.pl type=file
-c:\perl\lib/unicore/lib/Cased/Y.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/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/CCC10.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC103.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC107.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC11.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC118.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC12.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC122.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC129.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC13.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC130.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC132.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC14.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC15.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC16.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC17.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC18.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC19.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC20.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC21.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC22.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC23.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC24.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC25.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC26.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC27.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC28.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC29.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC30.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC31.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC32.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC33.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC34.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC35.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC36.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC84.pl type=file
-c:\perl\lib/unicore/lib/Ccc/CCC91.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/Y.pl type=file
-c:\perl\lib/unicore/lib/DI/Y.pl type=file
-c:\perl\lib/unicore/lib/Dash/Y.pl type=file
-c:\perl\lib/unicore/lib/Dep/Y.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/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/Dt/Wide.pl type=file
-c:\perl\lib/unicore/lib/Ea/A.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/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/LF.pl type=file
-c:\perl\lib/unicore/lib/GCB/SM.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/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/Nd.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/Y.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/Y.pl type=file
-c:\perl\lib/unicore/lib/IDC/Y.pl type=file
-c:\perl\lib/unicore/lib/IDS/Y.pl type=file
-c:\perl\lib/unicore/lib/IDSB/Y.pl type=file
-c:\perl\lib/unicore/lib/IDST/Y.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/In/6_0.pl type=file
-c:\perl\lib/unicore/lib/In/6_1.pl type=file
-c:\perl\lib/unicore/lib/In/6_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/Rohingya.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/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/Y.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/CJ.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/HL.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/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/Y.pl type=file
-c:\perl\lib/unicore/lib/Math/Y.pl type=file
-c:\perl\lib/unicore/lib/NChar/Y.pl type=file
-c:\perl\lib/unicore/lib/NFCQC/M.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/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/NFKDQC/Y.pl type=file
-c:\perl\lib/unicore/lib/Nt/Di.pl type=file
-c:\perl\lib/unicore/lib/Nt/None.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/216000.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/432000.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/_1.pl type=file
-c:\perl\lib/unicore/lib/Nv/_1_2.pl type=file
-c:\perl\lib/unicore/lib/PatSyn/Y.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/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/Title.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/XPosixPu.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlAny.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlCh2.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlCha.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlIDC.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlIDS.pl type=file
-c:\perl\lib/unicore/lib/Perl/_PerlQuo.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XExtend.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XGCBL.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XGCBLV.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XGCBLVT.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XGCBT.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XGCBV.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XLVLVTV.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XRI.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XRegula.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XSpecia.pl type=file
-c:\perl\lib/unicore/lib/QMark/Y.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/NU.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/Y.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/Batk.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/Brah.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/Cakm.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/Mand.pl type=file
-c:\perl\lib/unicore/lib/Sc/Merc.pl type=file
-c:\perl\lib/unicore/lib/Sc/Miao.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/Shrd.pl type=file
-c:\perl\lib/unicore/lib/Sc/Sinh.pl type=file
-c:\perl\lib/unicore/lib/Sc/Sora.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/Takr.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/Scx/Arab.pl type=file
-c:\perl\lib/unicore/lib/Scx/Armn.pl type=file
-c:\perl\lib/unicore/lib/Scx/Beng.pl type=file
-c:\perl\lib/unicore/lib/Scx/Bopo.pl type=file
-c:\perl\lib/unicore/lib/Scx/Buhd.pl type=file
-c:\perl\lib/unicore/lib/Scx/Cprt.pl type=file
-c:\perl\lib/unicore/lib/Scx/Cyrl.pl type=file
-c:\perl\lib/unicore/lib/Scx/Deva.pl type=file
-c:\perl\lib/unicore/lib/Scx/Geor.pl type=file
-c:\perl\lib/unicore/lib/Scx/Grek.pl type=file
-c:\perl\lib/unicore/lib/Scx/Gujr.pl type=file
-c:\perl\lib/unicore/lib/Scx/Guru.pl type=file
-c:\perl\lib/unicore/lib/Scx/Han.pl type=file
-c:\perl\lib/unicore/lib/Scx/Hang.pl type=file
-c:\perl\lib/unicore/lib/Scx/Hano.pl type=file
-c:\perl\lib/unicore/lib/Scx/Hira.pl type=file
-c:\perl\lib/unicore/lib/Scx/Kana.pl type=file
-c:\perl\lib/unicore/lib/Scx/Kthi.pl type=file
-c:\perl\lib/unicore/lib/Scx/Latn.pl type=file
-c:\perl\lib/unicore/lib/Scx/Linb.pl type=file
-c:\perl\lib/unicore/lib/Scx/Mand.pl type=file
-c:\perl\lib/unicore/lib/Scx/Mong.pl type=file
-c:\perl\lib/unicore/lib/Scx/Orya.pl type=file
-c:\perl\lib/unicore/lib/Scx/Phag.pl type=file
-c:\perl\lib/unicore/lib/Scx/Syrc.pl type=file
-c:\perl\lib/unicore/lib/Scx/Tagb.pl type=file
-c:\perl\lib/unicore/lib/Scx/Takr.pl type=file
-c:\perl\lib/unicore/lib/Scx/Tglg.pl type=file
-c:\perl\lib/unicore/lib/Scx/Thaa.pl type=file
-c:\perl\lib/unicore/lib/Scx/Yi.pl type=file
-c:\perl\lib/unicore/lib/Scx/Zinh.pl type=file
-c:\perl\lib/unicore/lib/Scx/Zyyy.pl type=file
-c:\perl\lib/unicore/lib/Term/Y.pl type=file
-c:\perl\lib/unicore/lib/UIdeo/Y.pl type=file
-c:\perl\lib/unicore/lib/Upper/Y.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/Y.pl type=file
-c:\perl\lib/unicore/lib/XIDS/Y.pl 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/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
+c:\tlperl\bin/a2p.exe type=file
+c:\tlperl\bin/c2ph.bat type=file
+c:\tlperl\bin/config_data.bat type=file
+c:\tlperl\bin/corelist.bat type=file
+c:\tlperl\bin/cpan.bat type=file
+c:\tlperl\bin/enc2xs.bat type=file
+c:\tlperl\bin/find2perl.bat type=file
+c:\tlperl\bin/h2ph.bat type=file
+c:\tlperl\bin/h2xs.bat type=file
+c:\tlperl\bin/instmodsh.bat type=file
+c:\tlperl\bin/json_pp.bat type=file
+c:\tlperl\bin/libnetcfg.bat type=file
+c:\tlperl\bin/perl.exe from=c:\tlperl\bin/perl5.20.2.exe type=link
+c:\tlperl\bin/perl5.20.2.exe type=file
+c:\tlperl\bin/perl520.dll type=file
+c:\tlperl\bin/perlbug.bat type=file
+c:\tlperl\bin/perldoc.bat type=file
+c:\tlperl\bin/perlivp.bat type=file
+c:\tlperl\bin/perlthanks.bat from=c:\tlperl\bin/perlbug.bat type=link
+c:\tlperl\bin/piconv.bat type=file
+c:\tlperl\bin/pl2pm.bat type=file
+c:\tlperl\bin/pod2html.bat type=file
+c:\tlperl\bin/pod2man.bat type=file
+c:\tlperl\bin/pod2text.bat type=file
+c:\tlperl\bin/pod2usage.bat type=file
+c:\tlperl\bin/podchecker.bat type=file
+c:\tlperl\bin/podselect.bat type=file
+c:\tlperl\bin/prove.bat type=file
+c:\tlperl\bin/psed.bat from=c:\tlperl\bin/s2p.bat type=link
+c:\tlperl\bin/pstruct.bat from=c:\tlperl\bin/c2ph.bat type=link
+c:\tlperl\bin/ptar.bat type=file
+c:\tlperl\bin/ptardiff.bat type=file
+c:\tlperl\bin/ptargrep.bat type=file
+c:\tlperl\bin/s2p.bat type=file
+c:\tlperl\bin/shasum.bat type=file
+c:\tlperl\bin/splain.bat type=file
+c:\tlperl\bin/xsubpp.bat type=file
+c:\tlperl\bin/zipdetails.bat type=file
+c:\tlperl\lib/AnyDBM_File.pm type=file
+c:\tlperl\lib/App/Cpan.pm type=file
+c:\tlperl\lib/App/Prove.pm type=file
+c:\tlperl\lib/App/Prove/State.pm type=file
+c:\tlperl\lib/App/Prove/State/Result.pm type=file
+c:\tlperl\lib/App/Prove/State/Result/Test.pm type=file
+c:\tlperl\lib/Archive/Tar.pm type=file
+c:\tlperl\lib/Archive/Tar/Constant.pm type=file
+c:\tlperl\lib/Archive/Tar/File.pm type=file
+c:\tlperl\lib/Attribute/Handlers.pm type=file
+c:\tlperl\lib/AutoLoader.pm type=file
+c:\tlperl\lib/AutoSplit.pm type=file
+c:\tlperl\lib/B.pm type=file
+c:\tlperl\lib/B/Concise.pm type=file
+c:\tlperl\lib/B/Debug.pm type=file
+c:\tlperl\lib/B/Deparse.pm type=file
+c:\tlperl\lib/B/Showlex.pm type=file
+c:\tlperl\lib/B/Terse.pm type=file
+c:\tlperl\lib/B/Xref.pm type=file
+c:\tlperl\lib/Benchmark.pm type=file
+c:\tlperl\lib/CGI.pm type=file
+c:\tlperl\lib/CGI/Apache.pm type=file
+c:\tlperl\lib/CGI/Carp.pm type=file
+c:\tlperl\lib/CGI/Cookie.pm type=file
+c:\tlperl\lib/CGI/Fast.pm type=file
+c:\tlperl\lib/CGI/Pretty.pm type=file
+c:\tlperl\lib/CGI/Push.pm type=file
+c:\tlperl\lib/CGI/Switch.pm type=file
+c:\tlperl\lib/CGI/Util.pm type=file
+c:\tlperl\lib/CORE.pod type=file
+c:\tlperl\lib/CORE/EXTERN.h type=file
+c:\tlperl\lib/CORE/INTERN.h type=file
+c:\tlperl\lib/CORE/XSUB.h type=file
+c:\tlperl\lib/CORE/arpa/inet.h type=file
+c:\tlperl\lib/CORE/av.h type=file
+c:\tlperl\lib/CORE/bitcount.h type=file
+c:\tlperl\lib/CORE/charclass_invlists.h type=file
+c:\tlperl\lib/CORE/config.h type=file
+c:\tlperl\lib/CORE/cop.h type=file
+c:\tlperl\lib/CORE/cv.h type=file
+c:\tlperl\lib/CORE/dirent.h type=file
+c:\tlperl\lib/CORE/dosish.h type=file
+c:\tlperl\lib/CORE/embed.h type=file
+c:\tlperl\lib/CORE/embedvar.h type=file
+c:\tlperl\lib/CORE/fakesdio.h type=file
+c:\tlperl\lib/CORE/feature.h type=file
+c:\tlperl\lib/CORE/form.h type=file
+c:\tlperl\lib/CORE/git_version.h type=file
+c:\tlperl\lib/CORE/gv.h type=file
+c:\tlperl\lib/CORE/handy.h type=file
+c:\tlperl\lib/CORE/hv.h type=file
+c:\tlperl\lib/CORE/hv_func.h type=file
+c:\tlperl\lib/CORE/inline.h type=file
+c:\tlperl\lib/CORE/intrpvar.h type=file
+c:\tlperl\lib/CORE/iperlsys.h type=file
+c:\tlperl\lib/CORE/keywords.h type=file
+c:\tlperl\lib/CORE/l1_char_class_tab.h type=file
+c:\tlperl\lib/CORE/libperl520.a type=file
+c:\tlperl\lib/CORE/malloc_ctl.h type=file
+c:\tlperl\lib/CORE/metaconfig.h type=file
+c:\tlperl\lib/CORE/mg.h type=file
+c:\tlperl\lib/CORE/mg_data.h type=file
+c:\tlperl\lib/CORE/mg_raw.h type=file
+c:\tlperl\lib/CORE/mg_vtable.h type=file
+c:\tlperl\lib/CORE/mydtrace.h type=file
+c:\tlperl\lib/CORE/netdb.h type=file
+c:\tlperl\lib/CORE/nostdio.h type=file
+c:\tlperl\lib/CORE/op.h type=file
+c:\tlperl\lib/CORE/op_reg_common.h type=file
+c:\tlperl\lib/CORE/opcode.h type=file
+c:\tlperl\lib/CORE/opnames.h type=file
+c:\tlperl\lib/CORE/overload.h type=file
+c:\tlperl\lib/CORE/pad.h type=file
+c:\tlperl\lib/CORE/parser.h type=file
+c:\tlperl\lib/CORE/patchlevel.h type=file
+c:\tlperl\lib/CORE/perl.h type=file
+c:\tlperl\lib/CORE/perlapi.h type=file
+c:\tlperl\lib/CORE/perlhost.h type=file
+c:\tlperl\lib/CORE/perlio.h type=file
+c:\tlperl\lib/CORE/perliol.h type=file
+c:\tlperl\lib/CORE/perlsdio.h type=file
+c:\tlperl\lib/CORE/perlvars.h type=file
+c:\tlperl\lib/CORE/perly.h type=file
+c:\tlperl\lib/CORE/pp.h type=file
+c:\tlperl\lib/CORE/pp_proto.h type=file
+c:\tlperl\lib/CORE/proto.h type=file
+c:\tlperl\lib/CORE/reentr.h type=file
+c:\tlperl\lib/CORE/regcharclass.h type=file
+c:\tlperl\lib/CORE/regcomp.h type=file
+c:\tlperl\lib/CORE/regexp.h type=file
+c:\tlperl\lib/CORE/regnodes.h type=file
+c:\tlperl\lib/CORE/scope.h type=file
+c:\tlperl\lib/CORE/sv.h type=file
+c:\tlperl\lib/CORE/sys/errno2.h type=file
+c:\tlperl\lib/CORE/sys/socket.h type=file
+c:\tlperl\lib/CORE/thread.h type=file
+c:\tlperl\lib/CORE/time64.h type=file
+c:\tlperl\lib/CORE/time64_config.h type=file
+c:\tlperl\lib/CORE/uconfig.h type=file
+c:\tlperl\lib/CORE/unicode_constants.h type=file
+c:\tlperl\lib/CORE/unixish.h type=file
+c:\tlperl\lib/CORE/utf8.h type=file
+c:\tlperl\lib/CORE/utfebcdic.h type=file
+c:\tlperl\lib/CORE/util.h type=file
+c:\tlperl\lib/CORE/uudmap.h type=file
+c:\tlperl\lib/CORE/vdir.h type=file
+c:\tlperl\lib/CORE/vmem.h type=file
+c:\tlperl\lib/CORE/vutil.h type=file
+c:\tlperl\lib/CORE/warnings.h type=file
+c:\tlperl\lib/CORE/win32.h type=file
+c:\tlperl\lib/CORE/win32iop-o.h type=file
+c:\tlperl\lib/CORE/win32iop.h type=file
+c:\tlperl\lib/CORE/win32thread.h type=file
+c:\tlperl\lib/CORE/wince.h type=file
+c:\tlperl\lib/CPAN.pm type=file
+c:\tlperl\lib/CPAN/API/HOWTO.pod type=file
+c:\tlperl\lib/CPAN/Author.pm type=file
+c:\tlperl\lib/CPAN/Bundle.pm type=file
+c:\tlperl\lib/CPAN/CacheMgr.pm type=file
+c:\tlperl\lib/CPAN/Complete.pm type=file
+c:\tlperl\lib/CPAN/Debug.pm type=file
+c:\tlperl\lib/CPAN/DeferredCode.pm type=file
+c:\tlperl\lib/CPAN/Distribution.pm type=file
+c:\tlperl\lib/CPAN/Distroprefs.pm type=file
+c:\tlperl\lib/CPAN/Distrostatus.pm type=file
+c:\tlperl\lib/CPAN/Exception/RecursiveDependency.pm type=file
+c:\tlperl\lib/CPAN/Exception/blocked_urllist.pm type=file
+c:\tlperl\lib/CPAN/Exception/yaml_not_installed.pm type=file
+c:\tlperl\lib/CPAN/Exception/yaml_process_error.pm type=file
+c:\tlperl\lib/CPAN/FTP.pm type=file
+c:\tlperl\lib/CPAN/FTP/netrc.pm type=file
+c:\tlperl\lib/CPAN/FirstTime.pm type=file
+c:\tlperl\lib/CPAN/HTTP/Client.pm type=file
+c:\tlperl\lib/CPAN/HTTP/Credentials.pm type=file
+c:\tlperl\lib/CPAN/HandleConfig.pm type=file
+c:\tlperl\lib/CPAN/Index.pm type=file
+c:\tlperl\lib/CPAN/InfoObj.pm type=file
+c:\tlperl\lib/CPAN/Kwalify.pm type=file
+c:\tlperl\lib/CPAN/Kwalify/distroprefs.dd type=file
+c:\tlperl\lib/CPAN/Kwalify/distroprefs.yml type=file
+c:\tlperl\lib/CPAN/LWP/UserAgent.pm type=file
+c:\tlperl\lib/CPAN/Meta.pm type=file
+c:\tlperl\lib/CPAN/Meta/Converter.pm type=file
+c:\tlperl\lib/CPAN/Meta/Feature.pm type=file
+c:\tlperl\lib/CPAN/Meta/History.pm type=file
+c:\tlperl\lib/CPAN/Meta/Prereqs.pm type=file
+c:\tlperl\lib/CPAN/Meta/Requirements.pm type=file
+c:\tlperl\lib/CPAN/Meta/Spec.pm type=file
+c:\tlperl\lib/CPAN/Meta/Validator.pm type=file
+c:\tlperl\lib/CPAN/Meta/YAML.pm type=file
+c:\tlperl\lib/CPAN/Mirrors.pm type=file
+c:\tlperl\lib/CPAN/Module.pm type=file
+c:\tlperl\lib/CPAN/Nox.pm type=file
+c:\tlperl\lib/CPAN/Prompt.pm type=file
+c:\tlperl\lib/CPAN/Queue.pm type=file
+c:\tlperl\lib/CPAN/Shell.pm type=file
+c:\tlperl\lib/CPAN/Tarzip.pm type=file
+c:\tlperl\lib/CPAN/URL.pm type=file
+c:\tlperl\lib/CPAN/Version.pm type=file
+c:\tlperl\lib/Carp.pm type=file
+c:\tlperl\lib/Carp/Heavy.pm type=file
+c:\tlperl\lib/Class/Struct.pm type=file
+c:\tlperl\lib/Compress/Raw/Bzip2.pm type=file
+c:\tlperl\lib/Compress/Raw/Zlib.pm type=file
+c:\tlperl\lib/Compress/Zlib.pm type=file
+c:\tlperl\lib/Config.pm type=file
+c:\tlperl\lib/Config.pod type=file
+c:\tlperl\lib/Config/Extensions.pm type=file
+c:\tlperl\lib/Config/Perl/V.pm type=file
+c:\tlperl\lib/Config_git.pl type=file
+c:\tlperl\lib/Config_heavy.pl type=file
+c:\tlperl\lib/Cwd.pm type=file
+c:\tlperl\lib/DB.pm type=file
+c:\tlperl\lib/DBM_Filter.pm type=file
+c:\tlperl\lib/DBM_Filter/compress.pm type=file
+c:\tlperl\lib/DBM_Filter/encode.pm type=file
+c:\tlperl\lib/DBM_Filter/int32.pm type=file
+c:\tlperl\lib/DBM_Filter/null.pm type=file
+c:\tlperl\lib/DBM_Filter/utf8.pm type=file
+c:\tlperl\lib/Data/Dumper.pm type=file
+c:\tlperl\lib/Devel/PPPort.pm type=file
+c:\tlperl\lib/Devel/Peek.pm type=file
+c:\tlperl\lib/Devel/SelfStubber.pm type=file
+c:\tlperl\lib/Digest.pm type=file
+c:\tlperl\lib/Digest/MD5.pm type=file
+c:\tlperl\lib/Digest/SHA.pm type=file
+c:\tlperl\lib/Digest/base.pm type=file
+c:\tlperl\lib/Digest/file.pm type=file
+c:\tlperl\lib/DirHandle.pm type=file
+c:\tlperl\lib/Dumpvalue.pm type=file
+c:\tlperl\lib/DynaLoader.pm type=file
+c:\tlperl\lib/Encode.pm type=file
+c:\tlperl\lib/Encode/Alias.pm type=file
+c:\tlperl\lib/Encode/Byte.pm type=file
+c:\tlperl\lib/Encode/CJKConstants.pm type=file
+c:\tlperl\lib/Encode/CN.pm type=file
+c:\tlperl\lib/Encode/CN/HZ.pm type=file
+c:\tlperl\lib/Encode/Changes.e2x type=file
+c:\tlperl\lib/Encode/Config.pm type=file
+c:\tlperl\lib/Encode/ConfigLocal_PM.e2x type=file
+c:\tlperl\lib/Encode/EBCDIC.pm type=file
+c:\tlperl\lib/Encode/Encoder.pm type=file
+c:\tlperl\lib/Encode/Encoding.pm type=file
+c:\tlperl\lib/Encode/GSM0338.pm type=file
+c:\tlperl\lib/Encode/Guess.pm type=file
+c:\tlperl\lib/Encode/JP.pm type=file
+c:\tlperl\lib/Encode/JP/H2Z.pm type=file
+c:\tlperl\lib/Encode/JP/JIS7.pm type=file
+c:\tlperl\lib/Encode/KR.pm type=file
+c:\tlperl\lib/Encode/KR/2022_KR.pm type=file
+c:\tlperl\lib/Encode/MIME/Header.pm type=file
+c:\tlperl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file
+c:\tlperl\lib/Encode/MIME/Name.pm type=file
+c:\tlperl\lib/Encode/Makefile_PL.e2x type=file
+c:\tlperl\lib/Encode/PerlIO.pod type=file
+c:\tlperl\lib/Encode/README.e2x type=file
+c:\tlperl\lib/Encode/Supported.pod type=file
+c:\tlperl\lib/Encode/Symbol.pm type=file
+c:\tlperl\lib/Encode/TW.pm type=file
+c:\tlperl\lib/Encode/Unicode.pm type=file
+c:\tlperl\lib/Encode/Unicode/UTF7.pm type=file
+c:\tlperl\lib/Encode/_PM.e2x type=file
+c:\tlperl\lib/Encode/_T.e2x type=file
+c:\tlperl\lib/Encode/encode.h type=file
+c:\tlperl\lib/English.pm type=file
+c:\tlperl\lib/Env.pm type=file
+c:\tlperl\lib/Errno.pm type=file
+c:\tlperl\lib/Exporter.pm type=file
+c:\tlperl\lib/Exporter/Heavy.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Base.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/android.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
+c:\tlperl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file
+c:\tlperl\lib/ExtUtils/Command.pm type=file
+c:\tlperl\lib/ExtUtils/Command/MM.pm type=file
+c:\tlperl\lib/ExtUtils/Constant.pm type=file
+c:\tlperl\lib/ExtUtils/Constant/Base.pm type=file
+c:\tlperl\lib/ExtUtils/Constant/ProxySubs.pm type=file
+c:\tlperl\lib/ExtUtils/Constant/Utils.pm type=file
+c:\tlperl\lib/ExtUtils/Constant/XS.pm type=file
+c:\tlperl\lib/ExtUtils/Embed.pm type=file
+c:\tlperl\lib/ExtUtils/Install.pm type=file
+c:\tlperl\lib/ExtUtils/Installed.pm type=file
+c:\tlperl\lib/ExtUtils/Liblist.pm type=file
+c:\tlperl\lib/ExtUtils/Liblist/Kid.pm type=file
+c:\tlperl\lib/ExtUtils/MANIFEST.SKIP type=file
+c:\tlperl\lib/ExtUtils/MM.pm type=file
+c:\tlperl\lib/ExtUtils/MM_AIX.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Any.pm type=file
+c:\tlperl\lib/ExtUtils/MM_BeOS.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Cygwin.pm type=file
+c:\tlperl\lib/ExtUtils/MM_DOS.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Darwin.pm type=file
+c:\tlperl\lib/ExtUtils/MM_MacOS.pm type=file
+c:\tlperl\lib/ExtUtils/MM_NW5.pm type=file
+c:\tlperl\lib/ExtUtils/MM_OS2.pm type=file
+c:\tlperl\lib/ExtUtils/MM_QNX.pm type=file
+c:\tlperl\lib/ExtUtils/MM_UWIN.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Unix.pm type=file
+c:\tlperl\lib/ExtUtils/MM_VMS.pm type=file
+c:\tlperl\lib/ExtUtils/MM_VOS.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Win32.pm type=file
+c:\tlperl\lib/ExtUtils/MM_Win95.pm type=file
+c:\tlperl\lib/ExtUtils/MY.pm type=file
+c:\tlperl\lib/ExtUtils/MakeMaker.pm type=file
+c:\tlperl\lib/ExtUtils/MakeMaker/Config.pm type=file
+c:\tlperl\lib/ExtUtils/MakeMaker/FAQ.pod type=file
+c:\tlperl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file
+c:\tlperl\lib/ExtUtils/Manifest.pm type=file
+c:\tlperl\lib/ExtUtils/Miniperl.pm type=file
+c:\tlperl\lib/ExtUtils/Mkbootstrap.pm type=file
+c:\tlperl\lib/ExtUtils/Mksymlists.pm type=file
+c:\tlperl\lib/ExtUtils/Packlist.pm type=file
+c:\tlperl\lib/ExtUtils/ParseXS.pm type=file
+c:\tlperl\lib/ExtUtils/ParseXS.pod type=file
+c:\tlperl\lib/ExtUtils/ParseXS/Constants.pm type=file
+c:\tlperl\lib/ExtUtils/ParseXS/CountLines.pm type=file
+c:\tlperl\lib/ExtUtils/ParseXS/Eval.pm type=file
+c:\tlperl\lib/ExtUtils/ParseXS/Utilities.pm type=file
+c:\tlperl\lib/ExtUtils/Typemaps.pm type=file
+c:\tlperl\lib/ExtUtils/Typemaps/Cmd.pm type=file
+c:\tlperl\lib/ExtUtils/Typemaps/InputMap.pm type=file
+c:\tlperl\lib/ExtUtils/Typemaps/OutputMap.pm type=file
+c:\tlperl\lib/ExtUtils/Typemaps/Type.pm type=file
+c:\tlperl\lib/ExtUtils/testlib.pm type=file
+c:\tlperl\lib/ExtUtils/typemap type=file
+c:\tlperl\lib/ExtUtils/xsubpp type=file
+c:\tlperl\lib/Fatal.pm type=file
+c:\tlperl\lib/Fcntl.pm type=file
+c:\tlperl\lib/File/Basename.pm type=file
+c:\tlperl\lib/File/Compare.pm type=file
+c:\tlperl\lib/File/Copy.pm type=file
+c:\tlperl\lib/File/DosGlob.pm type=file
+c:\tlperl\lib/File/Fetch.pm type=file
+c:\tlperl\lib/File/Find.pm type=file
+c:\tlperl\lib/File/Glob.pm type=file
+c:\tlperl\lib/File/GlobMapper.pm type=file
+c:\tlperl\lib/File/Path.pm type=file
+c:\tlperl\lib/File/Spec.pm type=file
+c:\tlperl\lib/File/Spec/Cygwin.pm type=file
+c:\tlperl\lib/File/Spec/Epoc.pm type=file
+c:\tlperl\lib/File/Spec/Functions.pm type=file
+c:\tlperl\lib/File/Spec/Mac.pm type=file
+c:\tlperl\lib/File/Spec/OS2.pm type=file
+c:\tlperl\lib/File/Spec/Unix.pm type=file
+c:\tlperl\lib/File/Spec/VMS.pm type=file
+c:\tlperl\lib/File/Spec/Win32.pm type=file
+c:\tlperl\lib/File/Temp.pm type=file
+c:\tlperl\lib/File/stat.pm type=file
+c:\tlperl\lib/FileCache.pm type=file
+c:\tlperl\lib/FileHandle.pm type=file
+c:\tlperl\lib/Filter/Simple.pm type=file
+c:\tlperl\lib/Filter/Util/Call.pm type=file
+c:\tlperl\lib/FindBin.pm type=file
+c:\tlperl\lib/Getopt/Long.pm type=file
+c:\tlperl\lib/Getopt/Std.pm type=file
+c:\tlperl\lib/HTTP/Tiny.pm type=file
+c:\tlperl\lib/Hash/Util.pm type=file
+c:\tlperl\lib/Hash/Util/FieldHash.pm type=file
+c:\tlperl\lib/I18N/Collate.pm type=file
+c:\tlperl\lib/I18N/LangTags.pm type=file
+c:\tlperl\lib/I18N/LangTags/Detect.pm type=file
+c:\tlperl\lib/I18N/LangTags/List.pm type=file
+c:\tlperl\lib/IO.pm type=file
+c:\tlperl\lib/IO/Compress/Adapter/Bzip2.pm type=file
+c:\tlperl\lib/IO/Compress/Adapter/Deflate.pm type=file
+c:\tlperl\lib/IO/Compress/Adapter/Identity.pm type=file
+c:\tlperl\lib/IO/Compress/Base.pm type=file
+c:\tlperl\lib/IO/Compress/Base/Common.pm type=file
+c:\tlperl\lib/IO/Compress/Bzip2.pm type=file
+c:\tlperl\lib/IO/Compress/Deflate.pm type=file
+c:\tlperl\lib/IO/Compress/FAQ.pod type=file
+c:\tlperl\lib/IO/Compress/Gzip.pm type=file
+c:\tlperl\lib/IO/Compress/Gzip/Constants.pm type=file
+c:\tlperl\lib/IO/Compress/RawDeflate.pm type=file
+c:\tlperl\lib/IO/Compress/Zip.pm type=file
+c:\tlperl\lib/IO/Compress/Zip/Constants.pm type=file
+c:\tlperl\lib/IO/Compress/Zlib/Constants.pm type=file
+c:\tlperl\lib/IO/Compress/Zlib/Extra.pm type=file
+c:\tlperl\lib/IO/Dir.pm type=file
+c:\tlperl\lib/IO/File.pm type=file
+c:\tlperl\lib/IO/Handle.pm type=file
+c:\tlperl\lib/IO/Pipe.pm type=file
+c:\tlperl\lib/IO/Poll.pm type=file
+c:\tlperl\lib/IO/Seekable.pm type=file
+c:\tlperl\lib/IO/Select.pm type=file
+c:\tlperl\lib/IO/Socket.pm type=file
+c:\tlperl\lib/IO/Socket/INET.pm type=file
+c:\tlperl\lib/IO/Socket/IP.pm type=file
+c:\tlperl\lib/IO/Socket/UNIX.pm type=file
+c:\tlperl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file
+c:\tlperl\lib/IO/Uncompress/Adapter/Identity.pm type=file
+c:\tlperl\lib/IO/Uncompress/Adapter/Inflate.pm type=file
+c:\tlperl\lib/IO/Uncompress/AnyInflate.pm type=file
+c:\tlperl\lib/IO/Uncompress/AnyUncompress.pm type=file
+c:\tlperl\lib/IO/Uncompress/Base.pm type=file
+c:\tlperl\lib/IO/Uncompress/Bunzip2.pm type=file
+c:\tlperl\lib/IO/Uncompress/Gunzip.pm type=file
+c:\tlperl\lib/IO/Uncompress/Inflate.pm type=file
+c:\tlperl\lib/IO/Uncompress/RawInflate.pm type=file
+c:\tlperl\lib/IO/Uncompress/Unzip.pm type=file
+c:\tlperl\lib/IO/Zlib.pm type=file
+c:\tlperl\lib/IPC/Cmd.pm type=file
+c:\tlperl\lib/IPC/Open2.pm type=file
+c:\tlperl\lib/IPC/Open3.pm type=file
+c:\tlperl\lib/JSON/PP.pm type=file
+c:\tlperl\lib/JSON/PP/Boolean.pm type=file
+c:\tlperl\lib/List/Util.pm type=file
+c:\tlperl\lib/List/Util/XS.pm type=file
+c:\tlperl\lib/Locale/Codes.pm type=file
+c:\tlperl\lib/Locale/Codes.pod type=file
+c:\tlperl\lib/Locale/Codes/API.pod type=file
+c:\tlperl\lib/Locale/Codes/Changes.pod type=file
+c:\tlperl\lib/Locale/Codes/Constants.pm type=file
+c:\tlperl\lib/Locale/Codes/Constants.pod type=file
+c:\tlperl\lib/Locale/Codes/Country.pm type=file
+c:\tlperl\lib/Locale/Codes/Country.pod type=file
+c:\tlperl\lib/Locale/Codes/Country_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/Country_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/Currency.pm type=file
+c:\tlperl\lib/Locale/Codes/Currency.pod type=file
+c:\tlperl\lib/Locale/Codes/Currency_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/Currency_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/LangExt.pm type=file
+c:\tlperl\lib/Locale/Codes/LangExt.pod type=file
+c:\tlperl\lib/Locale/Codes/LangExt_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/LangExt_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/LangFam.pm type=file
+c:\tlperl\lib/Locale/Codes/LangFam.pod type=file
+c:\tlperl\lib/Locale/Codes/LangFam_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/LangFam_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/LangVar.pm type=file
+c:\tlperl\lib/Locale/Codes/LangVar.pod type=file
+c:\tlperl\lib/Locale/Codes/LangVar_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/LangVar_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/Language.pm type=file
+c:\tlperl\lib/Locale/Codes/Language.pod type=file
+c:\tlperl\lib/Locale/Codes/Language_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/Language_Retired.pm type=file
+c:\tlperl\lib/Locale/Codes/Script.pm type=file
+c:\tlperl\lib/Locale/Codes/Script.pod type=file
+c:\tlperl\lib/Locale/Codes/Script_Codes.pm type=file
+c:\tlperl\lib/Locale/Codes/Script_Retired.pm type=file
+c:\tlperl\lib/Locale/Country.pm type=file
+c:\tlperl\lib/Locale/Country.pod type=file
+c:\tlperl\lib/Locale/Currency.pm type=file
+c:\tlperl\lib/Locale/Currency.pod type=file
+c:\tlperl\lib/Locale/Language.pm type=file
+c:\tlperl\lib/Locale/Language.pod type=file
+c:\tlperl\lib/Locale/Maketext.pm type=file
+c:\tlperl\lib/Locale/Maketext.pod type=file
+c:\tlperl\lib/Locale/Maketext/Cookbook.pod type=file
+c:\tlperl\lib/Locale/Maketext/Guts.pm type=file
+c:\tlperl\lib/Locale/Maketext/GutsLoader.pm type=file
+c:\tlperl\lib/Locale/Maketext/Simple.pm type=file
+c:\tlperl\lib/Locale/Maketext/TPJ13.pod type=file
+c:\tlperl\lib/Locale/Script.pm type=file
+c:\tlperl\lib/Locale/Script.pod type=file
+c:\tlperl\lib/MIME/Base64.pm type=file
+c:\tlperl\lib/MIME/QuotedPrint.pm type=file
+c:\tlperl\lib/Math/BigFloat.pm type=file
+c:\tlperl\lib/Math/BigFloat/Trace.pm type=file
+c:\tlperl\lib/Math/BigInt.pm type=file
+c:\tlperl\lib/Math/BigInt/Calc.pm type=file
+c:\tlperl\lib/Math/BigInt/CalcEmu.pm type=file
+c:\tlperl\lib/Math/BigInt/FastCalc.pm type=file
+c:\tlperl\lib/Math/BigInt/Trace.pm type=file
+c:\tlperl\lib/Math/BigRat.pm type=file
+c:\tlperl\lib/Math/Complex.pm type=file
+c:\tlperl\lib/Math/Trig.pm type=file
+c:\tlperl\lib/Memoize.pm type=file
+c:\tlperl\lib/Memoize/AnyDBM_File.pm type=file
+c:\tlperl\lib/Memoize/Expire.pm type=file
+c:\tlperl\lib/Memoize/ExpireFile.pm type=file
+c:\tlperl\lib/Memoize/ExpireTest.pm type=file
+c:\tlperl\lib/Memoize/NDBM_File.pm type=file
+c:\tlperl\lib/Memoize/SDBM_File.pm type=file
+c:\tlperl\lib/Memoize/Storable.pm type=file
+c:\tlperl\lib/Module/Build.pm type=file
+c:\tlperl\lib/Module/Build/API.pod type=file
+c:\tlperl\lib/Module/Build/Authoring.pod type=file
+c:\tlperl\lib/Module/Build/Base.pm type=file
+c:\tlperl\lib/Module/Build/Bundling.pod type=file
+c:\tlperl\lib/Module/Build/Compat.pm type=file
+c:\tlperl\lib/Module/Build/Config.pm type=file
+c:\tlperl\lib/Module/Build/ConfigData.pm type=file
+c:\tlperl\lib/Module/Build/Cookbook.pm type=file
+c:\tlperl\lib/Module/Build/Dumper.pm type=file
+c:\tlperl\lib/Module/Build/ModuleInfo.pm type=file
+c:\tlperl\lib/Module/Build/Notes.pm type=file
+c:\tlperl\lib/Module/Build/PPMMaker.pm type=file
+c:\tlperl\lib/Module/Build/Platform/Default.pm type=file
+c:\tlperl\lib/Module/Build/Platform/MacOS.pm type=file
+c:\tlperl\lib/Module/Build/Platform/Unix.pm type=file
+c:\tlperl\lib/Module/Build/Platform/VMS.pm type=file
+c:\tlperl\lib/Module/Build/Platform/VOS.pm type=file
+c:\tlperl\lib/Module/Build/Platform/Windows.pm type=file
+c:\tlperl\lib/Module/Build/Platform/aix.pm type=file
+c:\tlperl\lib/Module/Build/Platform/cygwin.pm type=file
+c:\tlperl\lib/Module/Build/Platform/darwin.pm type=file
+c:\tlperl\lib/Module/Build/Platform/os2.pm type=file
+c:\tlperl\lib/Module/Build/PodParser.pm type=file
+c:\tlperl\lib/Module/Build/Version.pm type=file
+c:\tlperl\lib/Module/Build/YAML.pm type=file
+c:\tlperl\lib/Module/CoreList.pm type=file
+c:\tlperl\lib/Module/CoreList.pod type=file
+c:\tlperl\lib/Module/CoreList/TieHashDelta.pm type=file
+c:\tlperl\lib/Module/CoreList/Utils.pm type=file
+c:\tlperl\lib/Module/Load.pm type=file
+c:\tlperl\lib/Module/Load/Conditional.pm type=file
+c:\tlperl\lib/Module/Loaded.pm type=file
+c:\tlperl\lib/Module/Metadata.pm type=file
+c:\tlperl\lib/NEXT.pm type=file
+c:\tlperl\lib/Net/Cmd.pm type=file
+c:\tlperl\lib/Net/Config.pm type=file
+c:\tlperl\lib/Net/Domain.pm type=file
+c:\tlperl\lib/Net/FTP.pm type=file
+c:\tlperl\lib/Net/FTP/A.pm type=file
+c:\tlperl\lib/Net/FTP/E.pm type=file
+c:\tlperl\lib/Net/FTP/I.pm type=file
+c:\tlperl\lib/Net/FTP/L.pm type=file
+c:\tlperl\lib/Net/FTP/dataconn.pm type=file
+c:\tlperl\lib/Net/NNTP.pm type=file
+c:\tlperl\lib/Net/Netrc.pm type=file
+c:\tlperl\lib/Net/POP3.pm type=file
+c:\tlperl\lib/Net/Ping.pm type=file
+c:\tlperl\lib/Net/SMTP.pm type=file
+c:\tlperl\lib/Net/Time.pm type=file
+c:\tlperl\lib/Net/hostent.pm type=file
+c:\tlperl\lib/Net/libnetFAQ.pod type=file
+c:\tlperl\lib/Net/netent.pm type=file
+c:\tlperl\lib/Net/protoent.pm type=file
+c:\tlperl\lib/Net/servent.pm type=file
+c:\tlperl\lib/O.pm type=file
+c:\tlperl\lib/Opcode.pm type=file
+c:\tlperl\lib/POSIX.pm type=file
+c:\tlperl\lib/POSIX.pod type=file
+c:\tlperl\lib/Package/Constants.pm type=file
+c:\tlperl\lib/Params/Check.pm type=file
+c:\tlperl\lib/Parse/CPAN/Meta.pm type=file
+c:\tlperl\lib/Perl/OSType.pm type=file
+c:\tlperl\lib/PerlIO.pm type=file
+c:\tlperl\lib/PerlIO/encoding.pm type=file
+c:\tlperl\lib/PerlIO/mmap.pm type=file
+c:\tlperl\lib/PerlIO/scalar.pm type=file
+c:\tlperl\lib/PerlIO/via.pm type=file
+c:\tlperl\lib/PerlIO/via/QuotedPrint.pm type=file
+c:\tlperl\lib/Pod/Checker.pm type=file
+c:\tlperl\lib/Pod/Escapes.pm type=file
+c:\tlperl\lib/Pod/Find.pm type=file
+c:\tlperl\lib/Pod/Functions.pm type=file
+c:\tlperl\lib/Pod/Html.pm type=file
+c:\tlperl\lib/Pod/InputObjects.pm type=file
+c:\tlperl\lib/Pod/Man.pm type=file
+c:\tlperl\lib/Pod/ParseLink.pm type=file
+c:\tlperl\lib/Pod/ParseUtils.pm type=file
+c:\tlperl\lib/Pod/Parser.pm type=file
+c:\tlperl\lib/Pod/Perldoc.pm type=file
+c:\tlperl\lib/Pod/Perldoc/BaseTo.pm type=file
+c:\tlperl\lib/Pod/Perldoc/GetOptsOO.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToANSI.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToChecker.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToMan.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToNroff.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToPod.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToRtf.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToTerm.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToText.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToTk.pm type=file
+c:\tlperl\lib/Pod/Perldoc/ToXml.pm type=file
+c:\tlperl\lib/Pod/PlainText.pm type=file
+c:\tlperl\lib/Pod/Select.pm type=file
+c:\tlperl\lib/Pod/Simple.pm type=file
+c:\tlperl\lib/Pod/Simple.pod type=file
+c:\tlperl\lib/Pod/Simple/BlackBox.pm type=file
+c:\tlperl\lib/Pod/Simple/Checker.pm type=file
+c:\tlperl\lib/Pod/Simple/Debug.pm type=file
+c:\tlperl\lib/Pod/Simple/DumpAsText.pm type=file
+c:\tlperl\lib/Pod/Simple/DumpAsXML.pm type=file
+c:\tlperl\lib/Pod/Simple/HTML.pm type=file
+c:\tlperl\lib/Pod/Simple/HTMLBatch.pm type=file
+c:\tlperl\lib/Pod/Simple/HTMLLegacy.pm type=file
+c:\tlperl\lib/Pod/Simple/LinkSection.pm type=file
+c:\tlperl\lib/Pod/Simple/Methody.pm type=file
+c:\tlperl\lib/Pod/Simple/Progress.pm type=file
+c:\tlperl\lib/Pod/Simple/PullParser.pm type=file
+c:\tlperl\lib/Pod/Simple/PullParserEndToken.pm type=file
+c:\tlperl\lib/Pod/Simple/PullParserStartToken.pm type=file
+c:\tlperl\lib/Pod/Simple/PullParserTextToken.pm type=file
+c:\tlperl\lib/Pod/Simple/PullParserToken.pm type=file
+c:\tlperl\lib/Pod/Simple/RTF.pm type=file
+c:\tlperl\lib/Pod/Simple/Search.pm type=file
+c:\tlperl\lib/Pod/Simple/SimpleTree.pm type=file
+c:\tlperl\lib/Pod/Simple/Subclassing.pod type=file
+c:\tlperl\lib/Pod/Simple/Text.pm type=file
+c:\tlperl\lib/Pod/Simple/TextContent.pm type=file
+c:\tlperl\lib/Pod/Simple/TiedOutFH.pm type=file
+c:\tlperl\lib/Pod/Simple/Transcode.pm type=file
+c:\tlperl\lib/Pod/Simple/TranscodeDumb.pm type=file
+c:\tlperl\lib/Pod/Simple/TranscodeSmart.pm type=file
+c:\tlperl\lib/Pod/Simple/XHTML.pm type=file
+c:\tlperl\lib/Pod/Simple/XMLOutStream.pm type=file
+c:\tlperl\lib/Pod/Text.pm type=file
+c:\tlperl\lib/Pod/Text/Color.pm type=file
+c:\tlperl\lib/Pod/Text/Overstrike.pm type=file
+c:\tlperl\lib/Pod/Text/Termcap.pm type=file
+c:\tlperl\lib/Pod/Usage.pm type=file
+c:\tlperl\lib/SDBM_File.pm type=file
+c:\tlperl\lib/Safe.pm type=file
+c:\tlperl\lib/Scalar/Util.pm type=file
+c:\tlperl\lib/Search/Dict.pm type=file
+c:\tlperl\lib/SelectSaver.pm type=file
+c:\tlperl\lib/SelfLoader.pm type=file
+c:\tlperl\lib/Socket.pm type=file
+c:\tlperl\lib/Storable.pm type=file
+c:\tlperl\lib/Symbol.pm type=file
+c:\tlperl\lib/Sys/Hostname.pm type=file
+c:\tlperl\lib/TAP/Base.pm type=file
+c:\tlperl\lib/TAP/Formatter/Base.pm type=file
+c:\tlperl\lib/TAP/Formatter/Color.pm type=file
+c:\tlperl\lib/TAP/Formatter/Console.pm type=file
+c:\tlperl\lib/TAP/Formatter/Console/ParallelSession.pm type=file
+c:\tlperl\lib/TAP/Formatter/Console/Session.pm type=file
+c:\tlperl\lib/TAP/Formatter/File.pm type=file
+c:\tlperl\lib/TAP/Formatter/File/Session.pm type=file
+c:\tlperl\lib/TAP/Formatter/Session.pm type=file
+c:\tlperl\lib/TAP/Harness.pm type=file
+c:\tlperl\lib/TAP/Harness/Beyond.pod type=file
+c:\tlperl\lib/TAP/Harness/Env.pm type=file
+c:\tlperl\lib/TAP/Object.pm type=file
+c:\tlperl\lib/TAP/Parser.pm type=file
+c:\tlperl\lib/TAP/Parser/Aggregator.pm type=file
+c:\tlperl\lib/TAP/Parser/Grammar.pm type=file
+c:\tlperl\lib/TAP/Parser/Iterator.pm type=file
+c:\tlperl\lib/TAP/Parser/Iterator/Array.pm type=file
+c:\tlperl\lib/TAP/Parser/Iterator/Process.pm type=file
+c:\tlperl\lib/TAP/Parser/Iterator/Stream.pm type=file
+c:\tlperl\lib/TAP/Parser/IteratorFactory.pm type=file
+c:\tlperl\lib/TAP/Parser/Multiplexer.pm type=file
+c:\tlperl\lib/TAP/Parser/Result.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Bailout.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Comment.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Plan.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Pragma.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Test.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Unknown.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/Version.pm type=file
+c:\tlperl\lib/TAP/Parser/Result/YAML.pm type=file
+c:\tlperl\lib/TAP/Parser/ResultFactory.pm type=file
+c:\tlperl\lib/TAP/Parser/Scheduler.pm type=file
+c:\tlperl\lib/TAP/Parser/Scheduler/Job.pm type=file
+c:\tlperl\lib/TAP/Parser/Scheduler/Spinner.pm type=file
+c:\tlperl\lib/TAP/Parser/Source.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler/Executable.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler/File.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler/Handle.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler/Perl.pm type=file
+c:\tlperl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file
+c:\tlperl\lib/TAP/Parser/YAMLish/Reader.pm type=file
+c:\tlperl\lib/TAP/Parser/YAMLish/Writer.pm type=file
+c:\tlperl\lib/Term/ANSIColor.pm type=file
+c:\tlperl\lib/Term/Cap.pm type=file
+c:\tlperl\lib/Term/Complete.pm type=file
+c:\tlperl\lib/Term/ReadLine.pm type=file
+c:\tlperl\lib/Test.pm type=file
+c:\tlperl\lib/Test/Builder.pm type=file
+c:\tlperl\lib/Test/Builder/Module.pm type=file
+c:\tlperl\lib/Test/Builder/Tester.pm type=file
+c:\tlperl\lib/Test/Builder/Tester/Color.pm type=file
+c:\tlperl\lib/Test/Harness.pm type=file
+c:\tlperl\lib/Test/More.pm type=file
+c:\tlperl\lib/Test/Simple.pm type=file
+c:\tlperl\lib/Test/Tutorial.pod type=file
+c:\tlperl\lib/Text/Abbrev.pm type=file
+c:\tlperl\lib/Text/Balanced.pm type=file
+c:\tlperl\lib/Text/ParseWords.pm type=file
+c:\tlperl\lib/Text/Tabs.pm type=file
+c:\tlperl\lib/Text/Wrap.pm type=file
+c:\tlperl\lib/Thread.pm type=file
+c:\tlperl\lib/Thread/Queue.pm type=file
+c:\tlperl\lib/Thread/Semaphore.pm type=file
+c:\tlperl\lib/Tie/Array.pm type=file
+c:\tlperl\lib/Tie/File.pm type=file
+c:\tlperl\lib/Tie/Handle.pm type=file
+c:\tlperl\lib/Tie/Hash.pm type=file
+c:\tlperl\lib/Tie/Hash/NamedCapture.pm type=file
+c:\tlperl\lib/Tie/Memoize.pm type=file
+c:\tlperl\lib/Tie/RefHash.pm type=file
+c:\tlperl\lib/Tie/Scalar.pm type=file
+c:\tlperl\lib/Tie/StdHandle.pm type=file
+c:\tlperl\lib/Tie/SubstrHash.pm type=file
+c:\tlperl\lib/Time/HiRes.pm type=file
+c:\tlperl\lib/Time/Local.pm type=file
+c:\tlperl\lib/Time/Piece.pm type=file
+c:\tlperl\lib/Time/Seconds.pm type=file
+c:\tlperl\lib/Time/gmtime.pm type=file
+c:\tlperl\lib/Time/localtime.pm type=file
+c:\tlperl\lib/Time/tm.pm type=file
+c:\tlperl\lib/UNIVERSAL.pm type=file
+c:\tlperl\lib/Unicode/Collate.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/Big5.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/GB2312.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/JISX0208.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/Korean.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/Pinyin.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/Stroke.pm type=file
+c:\tlperl\lib/Unicode/Collate/CJK/Zhuyin.pm type=file
+c:\tlperl\lib/Unicode/Collate/Locale.pm type=file
+c:\tlperl\lib/Unicode/Collate/Locale/af.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ar.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/as.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/az.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/be.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/bg.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/bn.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ca.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/cs.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/cy.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/da.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/de_phone.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ee.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/eo.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/es.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/es_trad.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/et.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fa.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fi.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fi_phone.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fil.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fo.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/fr.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/gu.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ha.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/haw.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/hi.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/hr.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/hu.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/hy.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ig.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/is.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ja.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/kk.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/kl.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/kn.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ko.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/kok.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ln.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/lt.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/lv.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/mk.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ml.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/mr.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/mt.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/nb.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/nn.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/nso.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/om.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/or.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/pa.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/pl.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ro.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ru.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sa.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/se.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/si.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/si_dict.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sk.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sl.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sq.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sr.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sv.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/sv_refo.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ta.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/te.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/th.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/tn.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/to.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/tr.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/uk.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/ur.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/vi.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/wae.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/wo.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/yo.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh_big5.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh_gb.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh_pin.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh_strk.pl type=file
+c:\tlperl\lib/Unicode/Collate/Locale/zh_zhu.pl type=file
+c:\tlperl\lib/Unicode/Collate/allkeys.txt type=file
+c:\tlperl\lib/Unicode/Collate/keys.txt type=file
+c:\tlperl\lib/Unicode/Normalize.pm type=file
+c:\tlperl\lib/Unicode/UCD.pm type=file
+c:\tlperl\lib/User/grent.pm type=file
+c:\tlperl\lib/User/pwent.pm type=file
+c:\tlperl\lib/Win32.pm type=file
+c:\tlperl\lib/Win32API/File.pm type=file
+c:\tlperl\lib/Win32API/File/cFile.pc type=file
+c:\tlperl\lib/Win32CORE.pm type=file
+c:\tlperl\lib/XSLoader.pm type=file
+c:\tlperl\lib/_charnames.pm type=file
+c:\tlperl\lib/arybase.pm type=file
+c:\tlperl\lib/attributes.pm type=file
+c:\tlperl\lib/auto/B/B.dll type=file
+c:\tlperl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file
+c:\tlperl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file
+c:\tlperl\lib/auto/Cwd/Cwd.dll type=file
+c:\tlperl\lib/auto/Data/Dumper/Dumper.dll type=file
+c:\tlperl\lib/auto/Devel/PPPort/PPPort.dll type=file
+c:\tlperl\lib/auto/Devel/Peek/Peek.dll type=file
+c:\tlperl\lib/auto/Digest/MD5/MD5.dll type=file
+c:\tlperl\lib/auto/Digest/SHA/SHA.dll type=file
+c:\tlperl\lib/auto/Encode/Byte/Byte.dll type=file
+c:\tlperl\lib/auto/Encode/CN/CN.dll type=file
+c:\tlperl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
+c:\tlperl\lib/auto/Encode/Encode.dll type=file
+c:\tlperl\lib/auto/Encode/JP/JP.dll type=file
+c:\tlperl\lib/auto/Encode/KR/KR.dll type=file
+c:\tlperl\lib/auto/Encode/Symbol/Symbol.dll type=file
+c:\tlperl\lib/auto/Encode/TW/TW.dll type=file
+c:\tlperl\lib/auto/Encode/Unicode/Unicode.dll type=file
+c:\tlperl\lib/auto/Fcntl/Fcntl.dll type=file
+c:\tlperl\lib/auto/File/DosGlob/DosGlob.dll type=file
+c:\tlperl\lib/auto/File/Glob/Glob.dll type=file
+c:\tlperl\lib/auto/Filter/Util/Call/Call.dll type=file
+c:\tlperl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
+c:\tlperl\lib/auto/Hash/Util/Util.dll type=file
+c:\tlperl\lib/auto/IO/IO.dll type=file
+c:\tlperl\lib/auto/List/Util/Util.dll type=file
+c:\tlperl\lib/auto/MIME/Base64/Base64.dll type=file
+c:\tlperl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
+c:\tlperl\lib/auto/Opcode/Opcode.dll type=file
+c:\tlperl\lib/auto/POSIX/POSIX.dll type=file
+c:\tlperl\lib/auto/PerlIO/encoding/encoding.dll type=file
+c:\tlperl\lib/auto/PerlIO/mmap/mmap.dll type=file
+c:\tlperl\lib/auto/PerlIO/scalar/scalar.dll type=file
+c:\tlperl\lib/auto/PerlIO/via/via.dll type=file
+c:\tlperl\lib/auto/SDBM_File/SDBM_File.dll type=file
+c:\tlperl\lib/auto/Socket/Socket.dll type=file
+c:\tlperl\lib/auto/Storable/Storable.dll type=file
+c:\tlperl\lib/auto/Sys/Hostname/Hostname.dll type=file
+c:\tlperl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file
+c:\tlperl\lib/auto/Time/HiRes/HiRes.dll type=file
+c:\tlperl\lib/auto/Time/Piece/Piece.dll type=file
+c:\tlperl\lib/auto/Unicode/Collate/Collate.dll type=file
+c:\tlperl\lib/auto/Unicode/Normalize/Normalize.dll type=file
+c:\tlperl\lib/auto/Win32/Win32.dll type=file
+c:\tlperl\lib/auto/Win32API/File/File.dll type=file
+c:\tlperl\lib/auto/Win32CORE/extralibs.ld type=file
+c:\tlperl\lib/auto/arybase/arybase.dll type=file
+c:\tlperl\lib/auto/attributes/attributes.dll type=file
+c:\tlperl\lib/auto/mro/mro.dll type=file
+c:\tlperl\lib/auto/re/re.dll type=file
+c:\tlperl\lib/auto/sdbm/extralibs.ld type=file
+c:\tlperl\lib/auto/threads/shared/shared.dll type=file
+c:\tlperl\lib/auto/threads/threads.dll type=file
+c:\tlperl\lib/autodie.pm type=file
+c:\tlperl\lib/autodie/exception.pm type=file
+c:\tlperl\lib/autodie/exception/system.pm type=file
+c:\tlperl\lib/autodie/hints.pm type=file
+c:\tlperl\lib/autodie/skip.pm type=file
+c:\tlperl\lib/autouse.pm type=file
+c:\tlperl\lib/base.pm type=file
+c:\tlperl\lib/bigint.pm type=file
+c:\tlperl\lib/bignum.pm type=file
+c:\tlperl\lib/bigrat.pm type=file
+c:\tlperl\lib/blib.pm type=file
+c:\tlperl\lib/bytes.pm type=file
+c:\tlperl\lib/bytes_heavy.pl type=file
+c:\tlperl\lib/charnames.pm type=file
+c:\tlperl\lib/constant.pm type=file
+c:\tlperl\lib/deprecate.pm type=file
+c:\tlperl\lib/diagnostics.pm type=file
+c:\tlperl\lib/dumpvar.pl type=file
+c:\tlperl\lib/encoding.pm type=file
+c:\tlperl\lib/encoding/warnings.pm type=file
+c:\tlperl\lib/experimental.pm type=file
+c:\tlperl\lib/feature.pm type=file
+c:\tlperl\lib/fields.pm type=file
+c:\tlperl\lib/filetest.pm type=file
+c:\tlperl\lib/if.pm type=file
+c:\tlperl\lib/inc/latest.pm type=file
+c:\tlperl\lib/inc/latest/private.pm type=file
+c:\tlperl\lib/integer.pm type=file
+c:\tlperl\lib/less.pm type=file
+c:\tlperl\lib/lib.pm type=file
+c:\tlperl\lib/locale.pm type=file
+c:\tlperl\lib/mro.pm type=file
+c:\tlperl\lib/open.pm type=file
+c:\tlperl\lib/ops.pm type=file
+c:\tlperl\lib/overload.pm type=file
+c:\tlperl\lib/overload/numbers.pm type=file
+c:\tlperl\lib/overloading.pm type=file
+c:\tlperl\lib/parent.pm type=file
+c:\tlperl\lib/perl5db.pl type=file
+c:\tlperl\lib/perlfaq.pm type=file
+c:\tlperl\lib/pods/a2p.pod type=file
+c:\tlperl\lib/pods/perl.pod type=file
+c:\tlperl\lib/pods/perl5004delta.pod type=file
+c:\tlperl\lib/pods/perl5005delta.pod type=file
+c:\tlperl\lib/pods/perl5100delta.pod type=file
+c:\tlperl\lib/pods/perl5101delta.pod type=file
+c:\tlperl\lib/pods/perl5120delta.pod type=file
+c:\tlperl\lib/pods/perl5121delta.pod type=file
+c:\tlperl\lib/pods/perl5122delta.pod type=file
+c:\tlperl\lib/pods/perl5123delta.pod type=file
+c:\tlperl\lib/pods/perl5124delta.pod type=file
+c:\tlperl\lib/pods/perl5125delta.pod type=file
+c:\tlperl\lib/pods/perl5140delta.pod type=file
+c:\tlperl\lib/pods/perl5141delta.pod type=file
+c:\tlperl\lib/pods/perl5142delta.pod type=file
+c:\tlperl\lib/pods/perl5143delta.pod type=file
+c:\tlperl\lib/pods/perl5144delta.pod type=file
+c:\tlperl\lib/pods/perl5160delta.pod type=file
+c:\tlperl\lib/pods/perl5161delta.pod type=file
+c:\tlperl\lib/pods/perl5162delta.pod type=file
+c:\tlperl\lib/pods/perl5163delta.pod type=file
+c:\tlperl\lib/pods/perl5180delta.pod type=file
+c:\tlperl\lib/pods/perl5181delta.pod type=file
+c:\tlperl\lib/pods/perl5182delta.pod type=file
+c:\tlperl\lib/pods/perl5184delta.pod type=file
+c:\tlperl\lib/pods/perl5200delta.pod type=file
+c:\tlperl\lib/pods/perl5201delta.pod type=file
+c:\tlperl\lib/pods/perl5202delta.pod type=file
+c:\tlperl\lib/pods/perl561delta.pod type=file
+c:\tlperl\lib/pods/perl56delta.pod type=file
+c:\tlperl\lib/pods/perl581delta.pod type=file
+c:\tlperl\lib/pods/perl582delta.pod type=file
+c:\tlperl\lib/pods/perl583delta.pod type=file
+c:\tlperl\lib/pods/perl584delta.pod type=file
+c:\tlperl\lib/pods/perl585delta.pod type=file
+c:\tlperl\lib/pods/perl586delta.pod type=file
+c:\tlperl\lib/pods/perl587delta.pod type=file
+c:\tlperl\lib/pods/perl588delta.pod type=file
+c:\tlperl\lib/pods/perl589delta.pod type=file
+c:\tlperl\lib/pods/perl58delta.pod type=file
+c:\tlperl\lib/pods/perlaix.pod type=file
+c:\tlperl\lib/pods/perlamiga.pod type=file
+c:\tlperl\lib/pods/perlandroid.pod type=file
+c:\tlperl\lib/pods/perlapi.pod type=file
+c:\tlperl\lib/pods/perlapio.pod type=file
+c:\tlperl\lib/pods/perlartistic.pod type=file
+c:\tlperl\lib/pods/perlbook.pod type=file
+c:\tlperl\lib/pods/perlboot.pod type=file
+c:\tlperl\lib/pods/perlbot.pod type=file
+c:\tlperl\lib/pods/perlbs2000.pod type=file
+c:\tlperl\lib/pods/perlcall.pod type=file
+c:\tlperl\lib/pods/perlce.pod type=file
+c:\tlperl\lib/pods/perlcheat.pod type=file
+c:\tlperl\lib/pods/perlclib.pod type=file
+c:\tlperl\lib/pods/perlcn.pod type=file
+c:\tlperl\lib/pods/perlcommunity.pod type=file
+c:\tlperl\lib/pods/perlcygwin.pod type=file
+c:\tlperl\lib/pods/perldata.pod type=file
+c:\tlperl\lib/pods/perldbmfilter.pod type=file
+c:\tlperl\lib/pods/perldebguts.pod type=file
+c:\tlperl\lib/pods/perldebtut.pod type=file
+c:\tlperl\lib/pods/perldebug.pod type=file
+c:\tlperl\lib/pods/perldelta.pod type=file
+c:\tlperl\lib/pods/perldiag.pod type=file
+c:\tlperl\lib/pods/perldoc.pod type=file
+c:\tlperl\lib/pods/perldos.pod type=file
+c:\tlperl\lib/pods/perldsc.pod type=file
+c:\tlperl\lib/pods/perldtrace.pod type=file
+c:\tlperl\lib/pods/perlebcdic.pod type=file
+c:\tlperl\lib/pods/perlembed.pod type=file
+c:\tlperl\lib/pods/perlexperiment.pod type=file
+c:\tlperl\lib/pods/perlfaq.pod type=file
+c:\tlperl\lib/pods/perlfaq1.pod type=file
+c:\tlperl\lib/pods/perlfaq2.pod type=file
+c:\tlperl\lib/pods/perlfaq3.pod type=file
+c:\tlperl\lib/pods/perlfaq4.pod type=file
+c:\tlperl\lib/pods/perlfaq5.pod type=file
+c:\tlperl\lib/pods/perlfaq6.pod type=file
+c:\tlperl\lib/pods/perlfaq7.pod type=file
+c:\tlperl\lib/pods/perlfaq8.pod type=file
+c:\tlperl\lib/pods/perlfaq9.pod type=file
+c:\tlperl\lib/pods/perlfilter.pod type=file
+c:\tlperl\lib/pods/perlfork.pod type=file
+c:\tlperl\lib/pods/perlform.pod type=file
+c:\tlperl\lib/pods/perlfreebsd.pod type=file
+c:\tlperl\lib/pods/perlfunc.pod type=file
+c:\tlperl\lib/pods/perlgit.pod type=file
+c:\tlperl\lib/pods/perlglossary.pod type=file
+c:\tlperl\lib/pods/perlgpl.pod type=file
+c:\tlperl\lib/pods/perlguts.pod type=file
+c:\tlperl\lib/pods/perlhack.pod type=file
+c:\tlperl\lib/pods/perlhacktips.pod type=file
+c:\tlperl\lib/pods/perlhacktut.pod type=file
+c:\tlperl\lib/pods/perlhaiku.pod type=file
+c:\tlperl\lib/pods/perlhist.pod type=file
+c:\tlperl\lib/pods/perlhpux.pod type=file
+c:\tlperl\lib/pods/perlhurd.pod type=file
+c:\tlperl\lib/pods/perlintern.pod type=file
+c:\tlperl\lib/pods/perlinterp.pod type=file
+c:\tlperl\lib/pods/perlintro.pod type=file
+c:\tlperl\lib/pods/perliol.pod type=file
+c:\tlperl\lib/pods/perlipc.pod type=file
+c:\tlperl\lib/pods/perlirix.pod type=file
+c:\tlperl\lib/pods/perljp.pod type=file
+c:\tlperl\lib/pods/perlko.pod type=file
+c:\tlperl\lib/pods/perllexwarn.pod type=file
+c:\tlperl\lib/pods/perllinux.pod type=file
+c:\tlperl\lib/pods/perllocale.pod type=file
+c:\tlperl\lib/pods/perllol.pod type=file
+c:\tlperl\lib/pods/perlmacos.pod type=file
+c:\tlperl\lib/pods/perlmacosx.pod type=file
+c:\tlperl\lib/pods/perlmod.pod type=file
+c:\tlperl\lib/pods/perlmodinstall.pod type=file
+c:\tlperl\lib/pods/perlmodlib.pod type=file
+c:\tlperl\lib/pods/perlmodstyle.pod type=file
+c:\tlperl\lib/pods/perlmroapi.pod type=file
+c:\tlperl\lib/pods/perlnetware.pod type=file
+c:\tlperl\lib/pods/perlnewmod.pod type=file
+c:\tlperl\lib/pods/perlnumber.pod type=file
+c:\tlperl\lib/pods/perlobj.pod type=file
+c:\tlperl\lib/pods/perlootut.pod type=file
+c:\tlperl\lib/pods/perlop.pod type=file
+c:\tlperl\lib/pods/perlopenbsd.pod type=file
+c:\tlperl\lib/pods/perlopentut.pod type=file
+c:\tlperl\lib/pods/perlos2.pod type=file
+c:\tlperl\lib/pods/perlos390.pod type=file
+c:\tlperl\lib/pods/perlos400.pod type=file
+c:\tlperl\lib/pods/perlpacktut.pod type=file
+c:\tlperl\lib/pods/perlperf.pod type=file
+c:\tlperl\lib/pods/perlplan9.pod type=file
+c:\tlperl\lib/pods/perlpod.pod type=file
+c:\tlperl\lib/pods/perlpodspec.pod type=file
+c:\tlperl\lib/pods/perlpodstyle.pod type=file
+c:\tlperl\lib/pods/perlpolicy.pod type=file
+c:\tlperl\lib/pods/perlport.pod type=file
+c:\tlperl\lib/pods/perlpragma.pod type=file
+c:\tlperl\lib/pods/perlqnx.pod type=file
+c:\tlperl\lib/pods/perlre.pod type=file
+c:\tlperl\lib/pods/perlreapi.pod type=file
+c:\tlperl\lib/pods/perlrebackslash.pod type=file
+c:\tlperl\lib/pods/perlrecharclass.pod type=file
+c:\tlperl\lib/pods/perlref.pod type=file
+c:\tlperl\lib/pods/perlreftut.pod type=file
+c:\tlperl\lib/pods/perlreguts.pod type=file
+c:\tlperl\lib/pods/perlrepository.pod type=file
+c:\tlperl\lib/pods/perlrequick.pod type=file
+c:\tlperl\lib/pods/perlreref.pod type=file
+c:\tlperl\lib/pods/perlretut.pod type=file
+c:\tlperl\lib/pods/perlriscos.pod type=file
+c:\tlperl\lib/pods/perlrun.pod type=file
+c:\tlperl\lib/pods/perlsec.pod type=file
+c:\tlperl\lib/pods/perlsolaris.pod type=file
+c:\tlperl\lib/pods/perlsource.pod type=file
+c:\tlperl\lib/pods/perlstyle.pod type=file
+c:\tlperl\lib/pods/perlsub.pod type=file
+c:\tlperl\lib/pods/perlsymbian.pod type=file
+c:\tlperl\lib/pods/perlsyn.pod type=file
+c:\tlperl\lib/pods/perlsynology.pod type=file
+c:\tlperl\lib/pods/perlthrtut.pod type=file
+c:\tlperl\lib/pods/perltie.pod type=file
+c:\tlperl\lib/pods/perltoc.pod type=file
+c:\tlperl\lib/pods/perltodo.pod type=file
+c:\tlperl\lib/pods/perltooc.pod type=file
+c:\tlperl\lib/pods/perltoot.pod type=file
+c:\tlperl\lib/pods/perltrap.pod type=file
+c:\tlperl\lib/pods/perltru64.pod type=file
+c:\tlperl\lib/pods/perltw.pod type=file
+c:\tlperl\lib/pods/perlunicode.pod type=file
+c:\tlperl\lib/pods/perlunicook.pod type=file
+c:\tlperl\lib/pods/perlunifaq.pod type=file
+c:\tlperl\lib/pods/perluniintro.pod type=file
+c:\tlperl\lib/pods/perluniprops.pod type=file
+c:\tlperl\lib/pods/perlunitut.pod type=file
+c:\tlperl\lib/pods/perlutil.pod type=file
+c:\tlperl\lib/pods/perlvar.pod type=file
+c:\tlperl\lib/pods/perlvms.pod type=file
+c:\tlperl\lib/pods/perlvos.pod type=file
+c:\tlperl\lib/pods/perlwin32.pod type=file
+c:\tlperl\lib/pods/perlxs.pod type=file
+c:\tlperl\lib/pods/perlxstut.pod type=file
+c:\tlperl\lib/pods/perlxstypemap.pod type=file
+c:\tlperl\lib/re.pm type=file
+c:\tlperl\lib/sigtrap.pm type=file
+c:\tlperl\lib/sort.pm type=file
+c:\tlperl\lib/strict.pm type=file
+c:\tlperl\lib/subs.pm type=file
+c:\tlperl\lib/threads.pm type=file
+c:\tlperl\lib/threads/shared.pm type=file
+c:\tlperl\lib/unicore/Blocks.txt type=file
+c:\tlperl\lib/unicore/CombiningClass.pl type=file
+c:\tlperl\lib/unicore/Decomposition.pl type=file
+c:\tlperl\lib/unicore/Heavy.pl type=file
+c:\tlperl\lib/unicore/Name.pl type=file
+c:\tlperl\lib/unicore/Name.pm type=file
+c:\tlperl\lib/unicore/NamedSequences.txt type=file
+c:\tlperl\lib/unicore/SpecialCasing.txt type=file
+c:\tlperl\lib/unicore/To/Age.pl type=file
+c:\tlperl\lib/unicore/To/Bc.pl type=file
+c:\tlperl\lib/unicore/To/Bmg.pl type=file
+c:\tlperl\lib/unicore/To/Bpb.pl type=file
+c:\tlperl\lib/unicore/To/Bpt.pl type=file
+c:\tlperl\lib/unicore/To/Cf.pl type=file
+c:\tlperl\lib/unicore/To/Digit.pl type=file
+c:\tlperl\lib/unicore/To/Ea.pl type=file
+c:\tlperl\lib/unicore/To/Fold.pl type=file
+c:\tlperl\lib/unicore/To/GCB.pl type=file
+c:\tlperl\lib/unicore/To/Gc.pl type=file
+c:\tlperl\lib/unicore/To/Hst.pl type=file
+c:\tlperl\lib/unicore/To/Isc.pl type=file
+c:\tlperl\lib/unicore/To/Jg.pl type=file
+c:\tlperl\lib/unicore/To/Jt.pl type=file
+c:\tlperl\lib/unicore/To/Lb.pl type=file
+c:\tlperl\lib/unicore/To/Lc.pl type=file
+c:\tlperl\lib/unicore/To/Lower.pl type=file
+c:\tlperl\lib/unicore/To/NFCQC.pl type=file
+c:\tlperl\lib/unicore/To/NFDQC.pl type=file
+c:\tlperl\lib/unicore/To/NFKCCF.pl type=file
+c:\tlperl\lib/unicore/To/NFKCQC.pl type=file
+c:\tlperl\lib/unicore/To/NFKDQC.pl type=file
+c:\tlperl\lib/unicore/To/Na1.pl type=file
+c:\tlperl\lib/unicore/To/NameAlia.pl type=file
+c:\tlperl\lib/unicore/To/Nt.pl type=file
+c:\tlperl\lib/unicore/To/Nv.pl type=file
+c:\tlperl\lib/unicore/To/PerlDeci.pl type=file
+c:\tlperl\lib/unicore/To/SB.pl type=file
+c:\tlperl\lib/unicore/To/Sc.pl type=file
+c:\tlperl\lib/unicore/To/Scx.pl type=file
+c:\tlperl\lib/unicore/To/Tc.pl type=file
+c:\tlperl\lib/unicore/To/Title.pl type=file
+c:\tlperl\lib/unicore/To/Uc.pl type=file
+c:\tlperl\lib/unicore/To/Upper.pl type=file
+c:\tlperl\lib/unicore/To/WB.pl type=file
+c:\tlperl\lib/unicore/UCD.pl type=file
+c:\tlperl\lib/unicore/lib/Age/NA.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V11.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V20.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V30.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V31.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V32.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V40.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V41.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V50.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V51.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V52.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V60.pl type=file
+c:\tlperl\lib/unicore/lib/Age/V61.pl type=file
+c:\tlperl\lib/unicore/lib/Alpha/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/AL.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/AN.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/B.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/BN.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/CS.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/EN.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/ES.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/ET.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/L.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/NSM.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/ON.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/R.pl type=file
+c:\tlperl\lib/unicore/lib/Bc/WS.pl type=file
+c:\tlperl\lib/unicore/lib/BidiC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/BidiM/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Blk/NB.pl type=file
+c:\tlperl\lib/unicore/lib/Bpt/C.pl type=file
+c:\tlperl\lib/unicore/lib/Bpt/N.pl type=file
+c:\tlperl\lib/unicore/lib/Bpt/O.pl type=file
+c:\tlperl\lib/unicore/lib/CE/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CI/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWCF/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWCM/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWKCF/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWL/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWT/Y.pl type=file
+c:\tlperl\lib/unicore/lib/CWU/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Cased/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/A.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/AR.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/ATAR.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/B.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/BR.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/DB.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/NK.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/NR.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/OV.pl type=file
+c:\tlperl\lib/unicore/lib/Ccc/VR.pl type=file
+c:\tlperl\lib/unicore/lib/CompEx/Y.pl type=file
+c:\tlperl\lib/unicore/lib/DI/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Dash/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Dep/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Dia/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Com.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Enc.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Fin.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Font.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Init.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Iso.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Med.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Nar.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Nb.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/NonCanon.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Sqr.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Sub.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Sup.pl type=file
+c:\tlperl\lib/unicore/lib/Dt/Vert.pl type=file
+c:\tlperl\lib/unicore/lib/Ea/A.pl type=file
+c:\tlperl\lib/unicore/lib/Ea/H.pl type=file
+c:\tlperl\lib/unicore/lib/Ea/N.pl type=file
+c:\tlperl\lib/unicore/lib/Ea/Na.pl type=file
+c:\tlperl\lib/unicore/lib/Ea/W.pl type=file
+c:\tlperl\lib/unicore/lib/Ext/Y.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/CN.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/EX.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/LV.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/LVT.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/SM.pl type=file
+c:\tlperl\lib/unicore/lib/GCB/XX.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/C.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Cf.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Cn.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/L.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/LC.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Ll.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Lm.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Lo.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Lt.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Lu.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/M.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Mc.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Me.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Mn.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/N.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Nd.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Nl.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/No.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/P.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Pd.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Pe.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Pf.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Pi.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Po.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Ps.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/S.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Sc.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Sk.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Sm.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/So.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Z.pl type=file
+c:\tlperl\lib/unicore/lib/Gc/Zs.pl type=file
+c:\tlperl\lib/unicore/lib/GrBase/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Hex/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Hst/NA.pl type=file
+c:\tlperl\lib/unicore/lib/Hyphen/Y.pl type=file
+c:\tlperl\lib/unicore/lib/IDC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/IDS/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Ideo/Y.pl type=file
+c:\tlperl\lib/unicore/lib/In/2_0.pl type=file
+c:\tlperl\lib/unicore/lib/In/2_1.pl type=file
+c:\tlperl\lib/unicore/lib/In/3_0.pl type=file
+c:\tlperl\lib/unicore/lib/In/3_1.pl type=file
+c:\tlperl\lib/unicore/lib/In/3_2.pl type=file
+c:\tlperl\lib/unicore/lib/In/4_0.pl type=file
+c:\tlperl\lib/unicore/lib/In/4_1.pl type=file
+c:\tlperl\lib/unicore/lib/In/5_0.pl type=file
+c:\tlperl\lib/unicore/lib/In/5_1.pl type=file
+c:\tlperl\lib/unicore/lib/In/5_2.pl type=file
+c:\tlperl\lib/unicore/lib/In/6_0.pl type=file
+c:\tlperl\lib/unicore/lib/In/6_1.pl type=file
+c:\tlperl\lib/unicore/lib/In/6_2.pl type=file
+c:\tlperl\lib/unicore/lib/In/6_3.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Ain.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Alef.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Beh.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Dal.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/FarsiYeh.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Feh.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Gaf.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Hah.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Lam.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/NoJoinin.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Qaf.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Reh.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Seen.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Waw.pl type=file
+c:\tlperl\lib/unicore/lib/Jg/Yeh.pl type=file
+c:\tlperl\lib/unicore/lib/Jt/C.pl type=file
+c:\tlperl\lib/unicore/lib/Jt/D.pl type=file
+c:\tlperl\lib/unicore/lib/Jt/R.pl type=file
+c:\tlperl\lib/unicore/lib/Jt/T.pl type=file
+c:\tlperl\lib/unicore/lib/Jt/U.pl type=file
+c:\tlperl\lib/unicore/lib/LOE/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/AI.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/AL.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/BA.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/BB.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/CJ.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/CL.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/CM.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/EX.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/GL.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/ID.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/IS.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/NS.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/OP.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/PO.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/PR.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/QU.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/SA.pl type=file
+c:\tlperl\lib/unicore/lib/Lb/XX.pl type=file
+c:\tlperl\lib/unicore/lib/Lower/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Math/Y.pl type=file
+c:\tlperl\lib/unicore/lib/NChar/Y.pl type=file
+c:\tlperl\lib/unicore/lib/NFCQC/M.pl type=file
+c:\tlperl\lib/unicore/lib/NFCQC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/NFDQC/N.pl type=file
+c:\tlperl\lib/unicore/lib/NFDQC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/NFKCQC/N.pl type=file
+c:\tlperl\lib/unicore/lib/NFKCQC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/NFKDQC/N.pl type=file
+c:\tlperl\lib/unicore/lib/NFKDQC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Nt/Di.pl type=file
+c:\tlperl\lib/unicore/lib/Nt/None.pl type=file
+c:\tlperl\lib/unicore/lib/Nt/Nu.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/0.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/10.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/100.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1000.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/10000.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/11.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/12.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/13.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/14.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/15.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/16.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/17.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/18.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/19.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1_2.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1_3.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1_4.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/1_8.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/2.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/20.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/2_3.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/3.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/30.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/3_4.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/4.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/40.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/5.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/50.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/500.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/5000.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/50000.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/6.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/60.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/7.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/70.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/8.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/80.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/9.pl type=file
+c:\tlperl\lib/unicore/lib/Nv/90.pl type=file
+c:\tlperl\lib/unicore/lib/PatSyn/Y.pl type=file
+c:\tlperl\lib/unicore/lib/PatWS/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Alnum.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Assigned.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Blank.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Graph.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/PerlWord.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/PosixPun.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Print.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/Word.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/XPosixPu.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlAny.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlCh2.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlCha.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlFol.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlIDC.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlIDS.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlPr2.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlPro.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_PerlQuo.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_XExtend.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_XRegula.pl type=file
+c:\tlperl\lib/unicore/lib/Perl/_XSpecia.pl type=file
+c:\tlperl\lib/unicore/lib/QMark/Y.pl type=file
+c:\tlperl\lib/unicore/lib/SB/AT.pl type=file
+c:\tlperl\lib/unicore/lib/SB/CL.pl type=file
+c:\tlperl\lib/unicore/lib/SB/EX.pl type=file
+c:\tlperl\lib/unicore/lib/SB/FO.pl type=file
+c:\tlperl\lib/unicore/lib/SB/LE.pl type=file
+c:\tlperl\lib/unicore/lib/SB/LO.pl type=file
+c:\tlperl\lib/unicore/lib/SB/NU.pl type=file
+c:\tlperl\lib/unicore/lib/SB/SC.pl type=file
+c:\tlperl\lib/unicore/lib/SB/ST.pl type=file
+c:\tlperl\lib/unicore/lib/SB/Sp.pl type=file
+c:\tlperl\lib/unicore/lib/SB/UP.pl type=file
+c:\tlperl\lib/unicore/lib/SB/XX.pl type=file
+c:\tlperl\lib/unicore/lib/SD/Y.pl type=file
+c:\tlperl\lib/unicore/lib/STerm/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Arab.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Armn.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Beng.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Cham.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Cprt.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Cyrl.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Deva.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Ethi.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Geor.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Grek.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Gujr.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Guru.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Han.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Hang.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Hebr.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Hira.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Kana.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Khar.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Khmr.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Knda.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Lana.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Lao.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Latn.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Limb.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Linb.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Mlym.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Mong.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Orya.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Sinh.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Talu.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Taml.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Telu.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Tibt.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Zinh.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Zyyy.pl type=file
+c:\tlperl\lib/unicore/lib/Sc/Zzzz.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Arab.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Armn.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Beng.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Bopo.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Cakm.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Cprt.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Cyrl.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Deva.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Geor.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Grek.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Gujr.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Guru.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Han.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Hang.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Hira.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Kana.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Latn.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Linb.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Mong.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Orya.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Syrc.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Tagb.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Takr.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Thaa.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Yi.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Zinh.pl type=file
+c:\tlperl\lib/unicore/lib/Scx/Zyyy.pl type=file
+c:\tlperl\lib/unicore/lib/Space/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Term/Y.pl type=file
+c:\tlperl\lib/unicore/lib/UIdeo/Y.pl type=file
+c:\tlperl\lib/unicore/lib/Upper/Y.pl type=file
+c:\tlperl\lib/unicore/lib/WB/EX.pl type=file
+c:\tlperl\lib/unicore/lib/WB/FO.pl type=file
+c:\tlperl\lib/unicore/lib/WB/HL.pl type=file
+c:\tlperl\lib/unicore/lib/WB/KA.pl type=file
+c:\tlperl\lib/unicore/lib/WB/LE.pl type=file
+c:\tlperl\lib/unicore/lib/WB/MB.pl type=file
+c:\tlperl\lib/unicore/lib/WB/ML.pl type=file
+c:\tlperl\lib/unicore/lib/WB/MN.pl type=file
+c:\tlperl\lib/unicore/lib/WB/NU.pl type=file
+c:\tlperl\lib/unicore/lib/WB/XX.pl type=file
+c:\tlperl\lib/unicore/lib/XIDC/Y.pl type=file
+c:\tlperl\lib/unicore/lib/XIDS/Y.pl type=file
+c:\tlperl\lib/unicore/version type=file
+c:\tlperl\lib/utf8.pm type=file
+c:\tlperl\lib/utf8_heavy.pl type=file
+c:\tlperl\lib/vars.pm type=file
+c:\tlperl\lib/version.pm type=file
+c:\tlperl\lib/version.pod type=file
+c:\tlperl\lib/version/Internals.pod type=file
+c:\tlperl\lib/version/regex.pm type=file
+c:\tlperl\lib/version/vpp.pm type=file
+c:\tlperl\lib/vmsish.pm type=file
+c:\tlperl\lib/warnings.pm type=file
+c:\tlperl\lib/warnings/register.pm type=file
diff --git a/Master/tlpkg/tlperl/lib/App/Cpan.pm b/Master/tlpkg/tlperl/lib/App/Cpan.pm
index 6dc24922a78..b548bcc0ae6 100644
--- a/Master/tlpkg/tlperl/lib/App/Cpan.pm
+++ b/Master/tlpkg/tlperl/lib/App/Cpan.pm
@@ -1,11 +1,12 @@
package App::Cpan;
-use 5.008;
use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = '1.61';
+use if $] < 5.008 => "IO::Scalar";
+
+$VERSION = '1.62';
=head1 NAME
@@ -124,7 +125,7 @@ for a new, custom configuration.
=item -l
-List all installed modules wth their versions
+List all installed modules with their versions
=item -L author [ author ... ]
@@ -396,7 +397,7 @@ sub _process_setup_options
Just do it.
-The C<run> method returns 0 on success and a postive number on
+The C<run> method returns 0 on success and a positive number on
failure. See the section on EXIT CODES for details on the values.
=cut
@@ -579,7 +580,12 @@ my @skip_lines = (
sub _get_cpanpm_last_line
{
- open my($fh), "<", \ $scalar;
+ my $fh;
+ if ($] < 5.008) {
+ $fh = IO::Scalar->new(\ $scalar);
+ } else {
+ eval q{open $fh, "<", \\ $scalar;};
+ }
my @lines = <$fh>;
@@ -959,6 +965,7 @@ sub _dump_config # -J
my $fh = $args->[0] || \*STDOUT;
+ local $Data::Dumper::Sortkeys = 1;
my $dd = Data::Dumper->new(
[$CPAN::Config],
['$CPAN::Config']
diff --git a/Master/tlpkg/tlperl/lib/App/Prove.pm b/Master/tlpkg/tlperl/lib/App/Prove.pm
index 67c691bf93e..44aaf6dda30 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove.pm
@@ -1,27 +1,28 @@
package App::Prove;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
use TAP::Harness;
-use TAP::Parser::Utils qw( split_shell );
+use Text::ParseWords qw(shellwords);
use File::Spec;
use Getopt::Long;
use App::Prove::State;
use Carp;
+use base 'TAP::Object';
+
=head1 NAME
App::Prove - Implements the C<prove> command.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
@@ -51,8 +52,6 @@ use constant PLUGINS => 'App::Prove::Plugin';
my @ATTR;
BEGIN {
- @ISA = qw(TAP::Object);
-
@ATTR = qw(
archive argv blib show_count color directives exec failures comments
formatter harness includes modules plugins jobs lib merge parse quiet
@@ -574,7 +573,7 @@ sub _get_switches {
push @switches, '-w';
}
- push @switches, split_shell( $ENV{HARNESS_PERL_SWITCHES} );
+ push @switches, shellwords( $ENV{HARNESS_PERL_SWITCHES} ) if defined $ENV{HARNESS_PERL_SWITCHES};
return @switches ? \@switches : ();
}
diff --git a/Master/tlpkg/tlperl/lib/App/Prove/State.pm b/Master/tlpkg/tlperl/lib/App/Prove/State.pm
index a9c38de63e9..519ba01d6c7 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State.pm
@@ -1,7 +1,7 @@
package App::Prove::State;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
use File::Find;
use File::Spec;
@@ -10,10 +10,9 @@ use Carp;
use App::Prove::State::Result;
use TAP::Parser::YAMLish::Reader ();
use TAP::Parser::YAMLish::Writer ();
-use TAP::Base;
+use base 'TAP::Base';
BEGIN {
- @ISA = qw( TAP::Base );
__PACKAGE__->mk_methods('result_class');
}
@@ -26,11 +25,11 @@ App::Prove::State - State storage for the C<prove> command.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
@@ -41,7 +40,7 @@ and the operations that may be performed on it.
=head1 SYNOPSIS
# Re-run failed tests
- $ prove --state=fail,save -rbv
+ $ prove --state=failed,save -rbv
=cut
diff --git a/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm b/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
index 7bb4457efb8..8e44ea3a4b1 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
@@ -1,10 +1,10 @@
package App::Prove::State::Result;
use strict;
+use warnings;
use Carp 'croak';
use App::Prove::State::Result::Test;
-use vars qw($VERSION);
use constant STATE_VERSION => 1;
@@ -14,11 +14,11 @@ App::Prove::State::Result - Individual test suite results.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
@@ -29,7 +29,7 @@ single test suite run.
=head1 SYNOPSIS
# Re-run failed tests
- $ prove --state=fail,save -rbv
+ $ prove --state=failed,save -rbv
=cut
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 f626f1da774..21f20a12e61 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm
@@ -1,8 +1,7 @@
package App::Prove::State::Result::Test;
use strict;
-
-use vars qw($VERSION);
+use warnings;
=head1 NAME
@@ -10,11 +9,11 @@ App::Prove::State::Result::Test - Individual test results.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
@@ -25,7 +24,7 @@ single test.
=head1 SYNOPSIS
# Re-run failed tests
- $ prove --state=fail,save -rbv
+ $ prove --state=failed,save -rbv
=cut
diff --git a/Master/tlpkg/tlperl/lib/Archive/Extract.pm b/Master/tlpkg/tlperl/lib/Archive/Extract.pm
deleted file mode 100644
index ae3af3edf82..00000000000
--- a/Master/tlpkg/tlperl/lib/Archive/Extract.pm
+++ /dev/null
@@ -1,1690 +0,0 @@
-package Archive::Extract;
-use if $] > 5.017, 'deprecate';
-
-use strict;
-
-use Cwd qw[cwd chdir];
-use Carp qw[carp];
-use IPC::Cmd qw[run can_run];
-use FileHandle;
-use File::Path qw[mkpath];
-use File::Spec;
-use File::Basename qw[dirname basename];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load check_install];
-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 ON_OPENBSD => $^O eq 'openbsd' ? 1 : 0;
-use constant ON_FREEBSD => $^O =~ m!^(free|midnight)bsd$! ? 1 : 0;
-use constant ON_LINUX => $^O eq 'linux' ? 1 : 0;
-use constant FILE_EXISTS => sub { -e $_[0] ? 1 : 0 };
-
-### VMS may require quoting upper case command options
-use constant ON_VMS => $^O eq 'VMS' ? 1 : 0;
-
-### Windows needs special treatment of Tar options
-use constant ON_WIN32 => $^O eq 'MSWin32' ? 1 : 0;
-
-### we can't use this extraction method, because of missing
-### modules/binaries:
-use constant METHOD_NA => [];
-
-### If these are changed, update @TYPES and the new() POD
-use constant TGZ => 'tgz';
-use constant TAR => 'tar';
-use constant GZ => 'gz';
-use constant ZIP => 'zip';
-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.68';
-$PREFER_BIN = 0;
-$WARN = 1;
-$DEBUG = 0;
-$_ALLOW_PURE_PERL = 1; # allow pure perl extractors
-$_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, XZ, TXZ );
-
-local $Params::Check::VERBOSE = $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-Archive::Extract - A generic archive extracting mechanism
-
-=head1 SYNOPSIS
-
- use Archive::Extract;
-
- ### build an Archive::Extract object ###
- my $ae = Archive::Extract->new( archive => 'foo.tgz' );
-
- ### extract to cwd() ###
- my $ok = $ae->extract;
-
- ### extract to /tmp ###
- my $ok = $ae->extract( to => '/tmp' );
-
- ### what if something went wrong?
- my $ok = $ae->extract or die $ae->error;
-
- ### files from the archive ###
- my $files = $ae->files;
-
- ### dir that was extracted to ###
- my $outdir = $ae->extract_path;
-
-
- ### quick check methods ###
- $ae->is_tar # is it a .tar file?
- $ae->is_tgz # is it a .tar.gz or .tgz file?
- $ae->is_gz; # is it a .gz file?
- $ae->is_zip; # is it a .zip file?
- $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;
-
- ### commandline tools, if found ###
- $ae->bin_tar # path to /bin/tar, if found
- $ae->bin_gzip # path to /bin/gzip, if found
- $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, .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.
-
-See the C<HOW IT WORKS> section further down for details.
-
-=cut
-
-
-### see what /bin/programs are available ###
-$PROGRAMS = {};
-CMD: for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma unxz]) {
- if ( $pgm eq 'unzip' and ( ON_NETBSD or ON_FREEBSD ) ) {
- local $IPC::Cmd::INSTANCES = 1;
- ($PROGRAMS->{$pgm}) = grep { ON_NETBSD ? m!/usr/pkg/! : m!/usr/local! } can_run($pgm);
- next CMD;
- }
- if ( $pgm eq 'unzip' and ON_LINUX ) {
- # Check if 'unzip' is busybox masquerading
- local $IPC::Cmd::INSTANCES = 1;
- my $opt = ON_VMS ? '"-Z"' : '-Z';
- ($PROGRAMS->{$pgm}) = grep { scalar run(command=> [ $_, $opt, '-1' ]) } can_run($pgm);
- next CMD;
- }
- if ( $pgm eq 'tar' and ON_OPENBSD || ON_SOLARIS ) {
- # try gtar first
- next CMD if $PROGRAMS->{$pgm} = can_run('gtar');
- }
- $PROGRAMS->{$pgm} = can_run($pgm);
-}
-
-### mapping from types to extractor methods ###
-my $Mapping = { # binary program # pure perl module
- is_tgz => { bin => '_untar_bin', pp => '_untar_at' },
- is_tar => { bin => '_untar_bin', pp => '_untar_at' },
- is_gz => { bin => '_gunzip_bin', pp => '_gunzip_cz' },
- is_zip => { bin => '_unzip_bin', pp => '_unzip_az' },
- is_tbz => { bin => '_untar_bin', pp => '_untar_at' },
- 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-override flags
- ### if we don't, then we reuse the same arrayref, meaning objects store
- ### previous errors
- my $tmpl = {
- archive => sub { { required => 1, allow => FILE_EXISTS } },
- type => sub { { default => '', allow => [ @Types ] } },
- _error_msg => sub { { no_override => 1, default => [] } },
- _error_msg_long => sub { { no_override => 1, default => [] } },
- };
-
- ### build accessors ###
- for my $method( keys %$tmpl,
- qw[_extractor _gunzip_to files extract_path],
- ) {
- no strict 'refs';
- *$method = sub {
- my $self = shift;
- $self->{$method} = $_[0] if @_;
- return $self->{$method};
- }
- }
-
-=head1 METHODS
-
-=head2 $ae = Archive::Extract->new(archive => '/path/to/archive',[type => TYPE])
-
-Creates a new C<Archive::Extract> object based on the archive file you
-passed it. Automatically determines the type of archive based on the
-extension, but you can override that by explicitly providing the
-C<type> argument.
-
-Valid values for C<type> are:
-
-=over 4
-
-=item tar
-
-Standard tar files, as produced by, for example, C</bin/tar>.
-Corresponds to a C<.tar> suffix.
-
-=item tgz
-
-Gzip compressed tar files, as produced by, for example C</bin/tar -z>.
-Corresponds to a C<.tgz> or C<.tar.gz> suffix.
-
-=item gz
-
-Gzip compressed file, as produced by, for example C</bin/gzip>.
-Corresponds to a C<.gz> suffix.
-
-=item Z
-
-Lempel-Ziv compressed file, as produced by, for example C</bin/compress>.
-Corresponds to a C<.Z> suffix.
-
-=item zip
-
-Zip compressed file, as produced by, for example C</bin/zip>.
-Corresponds to a C<.zip>, C<.jar> or C<.par> suffix.
-
-=item bz2
-
-Bzip2 compressed file, as produced by, for example, C</bin/bzip2>.
-Corresponds to a C<.bz2> suffix.
-
-=item tbz
-
-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
-
-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.
-
-=cut
-
- ### constructor ###
- sub new {
- my $class = shift;
- my %hash = @_;
-
- ### see above why we use subs here and generate the template;
- ### it's basically to not re-use arrayrefs
- my %utmpl = map { $_ => $tmpl->{$_}->() } keys %$tmpl;
-
- my $parsed = check( \%utmpl, \%hash ) or return;
-
- ### make sure we have an absolute path ###
- my $ar = $parsed->{archive} = File::Spec->rel2abs( $parsed->{archive} );
-
- ### figure out the type, if it wasn't already specified ###
- unless ( $parsed->{type} ) {
- $parsed->{type} =
- $ar =~ /.+?\.(?:tar\.gz|tgz)$/i ? TGZ :
- $ar =~ /.+?\.gz$/i ? GZ :
- $ar =~ /.+?\.tar$/i ? TAR :
- $ar =~ /.+?\.(zip|jar|ear|war|par)$/i ? ZIP :
- $ar =~ /.+?\.(?:tbz2?|tar\.bz2?)$/i ? TBZ :
- $ar =~ /.+?\.bz2$/i ? BZ2 :
- $ar =~ /.+?\.Z$/ ? Z :
- $ar =~ /.+?\.lzma$/ ? LZMA :
- $ar =~ /.+?\.(?:txz|tar\.xz)$/i ? TXZ :
- $ar =~ /.+?\.xz$/ ? XZ :
- '';
-
- }
-
- bless $parsed, $class;
-
- ### don't know what type of file it is
- ### XXX this *has* to be an object call, not a package call
- return $parsed->_error(loc("Cannot determine file type for '%1'",
- $parsed->{archive} )) unless $parsed->{type};
- return $parsed;
- }
-}
-
-=head2 $ae->extract( [to => '/output/path'] )
-
-Extracts the archive represented by the C<Archive::Extract> object to
-the path of your choice as specified by the C<to> argument. Defaults to
-C<cwd()>.
-
-Since C<.gz> files never hold a directory, but only a single file; if
-the C<to> argument is an existing directory, the file is extracted
-there, with its C<.gz> suffix stripped.
-If the C<to> argument is not an existing directory, the C<to> argument
-is understood to be a filename, if the archive type is C<gz>.
-In the case that you did not specify a C<to> argument, the output
-file will be the name of the archive file, stripped from its C<.gz>
-suffix, in the current working directory.
-
-C<extract> will try a pure perl solution first, and then fall back to
-commandline tools if they are available. See the C<GLOBAL VARIABLES>
-section below on how to alter this behaviour.
-
-It will return true on success, and false on failure.
-
-On success, it will also set the follow attributes in the object:
-
-=over 4
-
-=item $ae->extract_path
-
-This is the directory that the files where extracted to.
-
-=item $ae->files
-
-This is an array ref with the paths of all the files in the archive,
-relative to the C<to> argument you specified.
-To get the full path to an extracted file, you would use:
-
- File::Spec->catfile( $to, $ae->files->[0] );
-
-Note that all files from a tar archive will be in unix format, as per
-the tar specification.
-
-=back
-
-=cut
-
-sub extract {
- my $self = shift;
- my %hash = @_;
-
- ### reset error messages
- $self->_error_msg( [] );
- $self->_error_msg_long( [] );
-
- my $to;
- my $tmpl = {
- to => { default => '.', store => \$to }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### so 'to' could be a file or a dir, depending on whether it's a .gz
- ### file, or basically anything else.
- ### so, check that, then act accordingly.
- ### set an accessor specifically so _gunzip can know what file to extract
- ### to.
- my $dir;
- { ### a foo.gz file
- 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|xz)$//i;
-
- ### to is a dir?
- if ( -d $to ) {
- $dir = $to;
- $self->_gunzip_to( basename($cp) );
-
- ### then it's a filename
- } else {
- $dir = dirname($to);
- $self->_gunzip_to( basename($to) );
- }
-
- ### not a foo.gz file
- } else {
- $dir = $to;
- }
- }
-
- ### make the dir if it doesn't exist ###
- unless( -d $dir ) {
- eval { mkpath( $dir ) };
-
- return $self->_error(loc("Could not create path '%1': %2", $dir, $@))
- if $@;
- }
-
- ### get the current dir, to restore later ###
- my $cwd = cwd();
-
- my $ok = 1;
- EXTRACT: {
-
- ### chdir to the target dir ###
- unless( chdir $dir ) {
- $self->_error(loc("Could not chdir to '%1': %2", $dir, $!));
- $ok = 0; last EXTRACT;
- }
-
- ### set files to an empty array ref, so there's always an array
- ### ref IN the accessor, to avoid errors like:
- ### Can't use an undefined value as an ARRAY reference at
- ### ../lib/Archive/Extract.pm line 742. (rt #19815)
- $self->files( [] );
-
- ### find out the dispatch methods needed for this type of
- ### archive. Do a $self->is_XXX to figure out the type, then
- ### get the hashref with bin + pure perl dispatchers.
- my ($map) = map { $Mapping->{$_} } grep { $self->$_ } keys %$Mapping;
-
- ### add pure perl extractor if allowed & add bin extractor if allowed
- my @methods;
- push @methods, $map->{'pp'} if $_ALLOW_PURE_PERL;
- push @methods, $map->{'bin'} if $_ALLOW_BIN;
-
- ### reverse it if we prefer bin extractors
- @methods = reverse @methods if $PREFER_BIN;
-
- my($na, $fail);
- for my $method (@methods) {
- $self->debug( "# Extracting with ->$method\n" );
-
- my $rv = $self->$method;
-
- ### a positive extraction
- if( $rv and $rv ne METHOD_NA ) {
- $self->debug( "# Extraction succeeded\n" );
- $self->_extractor($method);
- last;
-
- ### method is not available
- } elsif ( $rv and $rv eq METHOD_NA ) {
- $self->debug( "# Extraction method not available\n" );
- $na++;
- } else {
- $self->debug( "# Extraction method failed\n" );
- $fail++;
- }
- }
-
- ### warn something went wrong if we didn't get an extractor
- unless( $self->_extractor ) {
- my $diag = $fail ? loc("Extract failed due to errors") :
- $na ? loc("Extract failed; no extractors available") :
- '';
-
- $self->_error($diag);
- $ok = 0;
- }
- }
-
- ### and chdir back ###
- unless( chdir $cwd ) {
- $self->_error(loc("Could not chdir back to start dir '%1': %2'",
- $cwd, $!));
- }
-
- return $ok;
-}
-
-=pod
-
-=head1 ACCESSORS
-
-=head2 $ae->error([BOOL])
-
-Returns the last encountered error as string.
-Pass it a true value to get the C<Carp::longmess()> output instead.
-
-=head2 $ae->extract_path
-
-This is the directory the archive got extracted to.
-See C<extract()> for details.
-
-=head2 $ae->files
-
-This is an array ref holding all the paths from the archive.
-See C<extract()> for details.
-
-=head2 $ae->archive
-
-This is the full path to the archive file represented by this
-C<Archive::Extract> object.
-
-=head2 $ae->type
-
-This is the type of archive represented by this C<Archive::Extract>
-object. See accessors below for an easier way to use this.
-See the C<new()> method for details.
-
-=head2 $ae->types
-
-Returns a list of all known C<types> for C<Archive::Extract>'s
-C<new> method.
-
-=cut
-
-sub types { return @Types }
-
-=head2 $ae->is_tgz
-
-Returns true if the file is of type C<.tar.gz>.
-See the C<new()> method for details.
-
-=head2 $ae->is_tar
-
-Returns true if the file is of type C<.tar>.
-See the C<new()> method for details.
-
-=head2 $ae->is_gz
-
-Returns true if the file is of type C<.gz>.
-See the C<new()> method for details.
-
-=head2 $ae->is_Z
-
-Returns true if the file is of type C<.Z>.
-See the C<new()> method for details.
-
-=head2 $ae->is_zip
-
-Returns true if the file is of type C<.zip>.
-See the C<new()> method for details.
-
-=head2 $ae->is_lzma
-
-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 ###
-sub is_tgz { return $_[0]->type eq TGZ }
-sub is_tar { return $_[0]->type eq TAR }
-sub is_gz { return $_[0]->type eq GZ }
-sub is_zip { return $_[0]->type eq ZIP }
-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
-
-=head2 $ae->bin_tar
-
-Returns the full path to your tar binary, if found.
-
-=head2 $ae->bin_gzip
-
-Returns the full path to your gzip binary, if found
-
-=head2 $ae->bin_unzip
-
-Returns the full path to your unzip binary, if found
-
-=head2 $ae->bin_unlzma
-
-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 ###
-sub bin_gzip { return $PROGRAMS->{'gzip'} if $PROGRAMS->{'gzip'} }
-sub bin_unzip { return $PROGRAMS->{'unzip'} if $PROGRAMS->{'unzip'} }
-sub bin_tar { return $PROGRAMS->{'tar'} if $PROGRAMS->{'tar'} }
-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
-
-Older versions of C</bin/bunzip2>, from before the C<bunzip2 1.0> release,
-require all archive names to end in C<.bz2> or it will not extract
-them. This method checks if you have a recent version of C<bunzip2>
-that allows any extension, or an older one that doesn't.
-
-=cut
-
-sub have_old_bunzip2 {
- my $self = shift;
-
- ### no bunzip2? no old bunzip2 either :)
- return unless $self->bin_bunzip2;
-
- ### if we can't run this, we can't be sure if it's too old or not
- ### XXX stupid stupid stupid bunzip2 doesn't understand --version
- ### is not a request to extract data:
- ### $ bunzip2 --version
- ### bzip2, a block-sorting file compressor. Version 1.0.2, 30-Dec-2001.
- ### [...]
- ### bunzip2: I won't read compressed data from a terminal.
- ### bunzip2: For help, type: `bunzip2 --help'.
- ### $ echo $?
- ### 1
- ### HATEFUL!
-
- ### double hateful: bunzip2 --version also hangs if input is a pipe
- ### See #32370: Archive::Extract will hang if stdin is a pipe [+PATCH]
- ### So, we have to provide *another* argument which is a fake filename,
- ### just so it wont try to read from stdin to print its version..
- ### *sigh*
- ### Even if the file exists, it won't clobber or change it.
- my $buffer;
- scalar run(
- command => [$self->bin_bunzip2, '--version', 'NoSuchFile'],
- verbose => 0,
- buffer => \$buffer
- );
-
- ### no output
- return unless $buffer;
-
- my ($version) = $buffer =~ /version \s+ (\d+)/ix;
-
- return 1 if $version < 1;
- return;
-}
-
-#################################
-#
-# Untar code
-#
-#################################
-
-### annoying issue with (gnu) tar on win32, as illustrated by this
-### bug: https://rt.cpan.org/Ticket/Display.html?id=40138
-### which shows that (gnu) tar will interpret a file name with a :
-### in it as a remote file name, so C:\tmp\foo.txt is interpreted
-### as a remote shell, and the extract fails.
-{ my @ExtraTarFlags;
- if( ON_WIN32 and my $cmd = __PACKAGE__->bin_tar ) {
-
- ### if this is gnu tar we are running, we need to use --force-local
- push @ExtraTarFlags, '--force-local' if `$cmd --version` =~ /gnu tar/i;
- }
-
-
- ### use /bin/tar to extract ###
- sub _untar_bin {
- my $self = shift;
-
- ### check for /bin/tar ###
- ### check for /bin/gzip if we need it ###
- ### if any of the binaries are not available, return NA
- { my $diag = !$self->bin_tar ?
- loc("No '%1' program found", '/bin/tar') :
- $self->is_tgz && !$self->bin_gzip ?
- 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 ) {
- $self->_error( $diag );
- return METHOD_NA;
- }
- }
-
- ### XXX figure out how to make IPC::Run do this in one call --
- ### currently i don't know how to get output of a command after a pipe
- ### trapped in a scalar. Mailed barries about this 5th of june 2004.
-
- ### see what command we should run, based on whether
- ### it's a .tgz or .tar
-
- ### GNU tar can't handled VMS filespecs, but VMSTAR can handle Unix filespecs.
- my $archive = $self->archive;
- $archive = VMS::Filespec::unixify($archive) if ON_VMS;
-
- ### XXX solaris tar and bsdtar are having different outputs
- ### depending whether you run with -x or -t
- ### compensate for this insanity by running -t first, then -x
- { my $cmd =
- $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
- $self->bin_tar, '-tf', '-'] :
- $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
- $self->bin_tar, '-tf', '-'] :
- $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
- $self->bin_tar, '-tf', '-'] :
- [$self->bin_tar, @ExtraTarFlags, '-tf', $archive];
-
- ### run the command
- ### newer versions of 'tar' (1.21 and up) now print record size
- ### to STDERR as well if v OR t is given (used to be both). This
- ### is a 'feature' according to the changelog, so we must now only
- ### inspect STDOUT, otherwise, failures like these occur:
- ### http://www.cpantesters.org/cpan/report/3230366
- my $buffer = '';
- my @out = run( command => $cmd,
- buffer => \$buffer,
- verbose => $DEBUG );
-
- ### command was unsuccessful
- unless( $out[0] ) {
- return $self->_error(loc(
- "Error listing contents of archive '%1': %2",
- $archive, $buffer ));
- }
-
- ### no buffers available?
- if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
- $self->_error( $self->_no_buffer_files( $archive ) );
-
- } else {
- ### if we're on solaris we /might/ be using /bin/tar, which has
- ### a weird output format... we might also be using
- ### /usr/local/bin/tar, which is gnu tar, which is perfectly
- ### fine... so we have to do some guessing here =/
- my @files = map { chomp;
- !ON_SOLARIS ? $_
- : (m|^ x \s+ # 'xtract' -- sigh
- (.+?), # the actual file name
- \s+ [\d,.]+ \s bytes,
- \s+ [\d,.]+ \s tape \s blocks
- |x ? $1 : $_);
-
- ### only STDOUT, see above. Sometimes, extra whitespace
- ### is present, so make sure we only pick lines with
- ### a length
- } grep { length } map { split $/, $_ } join '', @{$out[3]};
-
- ### store the files that are in the archive ###
- $self->files(\@files);
- }
- }
-
- ### now actually extract it ###
- { my $cmd =
- $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
- $self->bin_tar, '-xf', '-'] :
- $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
- $self->bin_tar, '-xf', '-'] :
- $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
- $self->bin_tar, '-xf', '-'] :
- [$self->bin_tar, @ExtraTarFlags, '-xf', $archive];
-
- my $buffer = '';
- unless( scalar run( command => $cmd,
- buffer => \$buffer,
- verbose => $DEBUG )
- ) {
- return $self->_error(loc("Error extracting archive '%1': %2",
- $archive, $buffer ));
- }
-
- ### we might not have them, due to lack of buffers
- if( $self->files ) {
- ### now that we've extracted, figure out where we extracted to
- my $dir = $self->__get_extract_dir( $self->files );
-
- ### store the extraction dir ###
- $self->extract_path( $dir );
- }
- }
-
- ### we got here, no error happened
- return 1;
- }
-}
-
-
-### use archive::tar to extract ###
-sub _untar_at {
- my $self = shift;
-
- ### Loading Archive::Tar is going to set it to 1, so make it local
- ### within this block, starting with its initial value. Whatever
- ### Achive::Tar does will be undone when we return.
- ###
- ### Also, later, set $Archive::Tar::WARN to $Archive::Extract::WARN
- ### so users don't have to even think about this variable. If they
- ### do, they still get their set value outside of this call.
- local $Archive::Tar::WARN = $Archive::Tar::WARN;
-
- ### we definitely need Archive::Tar, so load that first
- { my $use_list = { 'Archive::Tar' => '0.0' };
-
- unless( can_load( modules => $use_list ) ) {
-
- $self->_error(loc("You do not have '%1' installed - " .
- "Please install it as soon as possible.",
- 'Archive::Tar'));
-
- return METHOD_NA;
- }
- }
-
- ### we might pass it a filehandle if it's a .tbz file..
- my $fh_to_read = $self->archive;
-
- ### we will need Compress::Zlib too, if it's a tgz... and IO::Zlib
- ### if A::T's version is 0.99 or higher
- if( $self->is_tgz ) {
- my $use_list = { 'Compress::Zlib' => '0.0' };
- $use_list->{ 'IO::Zlib' } = '0.0'
- if $Archive::Tar::VERSION >= '0.99';
-
- unless( can_load( modules => $use_list ) ) {
- my $which = join '/', sort keys %$use_list;
-
- $self->_error(loc(
- "You do not have '%1' installed - Please ".
- "install it as soon as possible.", $which)
- );
-
- return METHOD_NA;
- }
-
- } elsif ( $self->is_tbz ) {
- my $use_list = { 'IO::Uncompress::Bunzip2' => '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::Bunzip2')
- );
-
- return METHOD_NA;
- }
-
- my $bz = IO::Uncompress::Bunzip2->new( $self->archive ) or
- return $self->_error(loc("Unable to open '%1': %2",
- $self->archive,
- $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;
- {
- ### $Archive::Tar::WARN is 1 by default in Archive::Tar, but we've
- ### localized $Archive::Tar::WARN already.
- $Archive::Tar::WARN = $Archive::Extract::WARN;
-
- ### only tell it it's compressed if it's a .tgz, as we give it a file
- ### handle if it's a .tbz
- my @read = ( $fh_to_read, ( $self->is_tgz ? 1 : 0 ) );
-
- ### for version of Archive::Tar > 1.04
- local $Archive::Tar::CHOWN = 0;
-
- ### use the iterator if we can. it's a feature of A::T 1.40 and up
- if ( $_ALLOW_TAR_ITER && Archive::Tar->can( 'iter' ) ) {
-
- my $next;
- unless ( $next = Archive::Tar->iter( @read ) ) {
- return $self->_error(loc(
- "Unable to read '%1': %2", $self->archive,
- $Archive::Tar::error));
- }
-
- while ( my $file = $next->() ) {
- push @files, $file->full_path;
-
- $file->extract or return $self->_error(loc(
- "Unable to read '%1': %2",
- $self->archive,
- $Archive::Tar::error));
- }
-
- ### older version, read the archive into memory
- } else {
-
- my $tar = Archive::Tar->new();
-
- unless( $tar->read( @read ) ) {
- return $self->_error(loc("Unable to read '%1': %2",
- $self->archive, $Archive::Tar::error));
- }
-
- ### workaround to prevent Archive::Tar from setting uid, which
- ### is a potential security hole. -autrijus
- ### have to do it here, since A::T needs to be /loaded/ first ###
- { no strict 'refs'; local $^W;
-
- ### older versions of archive::tar <= 0.23
- *Archive::Tar::chown = sub {};
- }
-
- { local $^W; # quell 'splice() offset past end of array' warnings
- # on older versions of A::T
-
- ### older archive::tar always returns $self, return value
- ### slightly fux0r3d because of it.
- $tar->extract or return $self->_error(loc(
- "Unable to extract '%1': %2",
- $self->archive, $Archive::Tar::error ));
- }
-
- @files = $tar->list_files;
- }
- }
-
- my $dir = $self->__get_extract_dir( \@files );
-
- ### store the files that are in the archive ###
- $self->files(\@files);
-
- ### store the extraction dir ###
- $self->extract_path( $dir );
-
- ### check if the dir actually appeared ###
- return 1 if -d $self->extract_path;
-
- ### no dir, we failed ###
- return $self->_error(loc("Unable to extract '%1': %2",
- $self->archive, $Archive::Tar::error ));
-}
-
-#################################
-#
-# Gunzip code
-#
-#################################
-
-sub _gunzip_bin {
- my $self = shift;
-
- ### check for /bin/gzip -- we need it ###
- unless( $self->bin_gzip ) {
- $self->_error(loc("No '%1' program found", '/bin/gzip'));
- 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_gzip, '-cdf', $self->archive ];
-
- my $buffer;
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to gunzip '%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 _gunzip_cz {
- my $self = shift;
-
- my $use_list = { 'Compress::Zlib' => '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::Zlib'));
- return METHOD_NA;
- }
-
- my $gz = Compress::Zlib::gzopen( $self->archive, "rb" ) or
- return $self->_error(loc("Unable to open '%1': %2",
- $self->archive, $Compress::Zlib::gzerrno));
-
- my $fh = FileHandle->new('>'. $self->_gunzip_to) or
- return $self->_error(loc("Could not open '%1' for writing: %2",
- $self->_gunzip_to, $! ));
-
- my $buffer;
- $self->_print($fh, $buffer) while $gz->gzread($buffer) > 0;
- $fh->close;
-
- ### set what files where extract, and where they went ###
- $self->files( [$self->_gunzip_to] );
- $self->extract_path( File::Spec->rel2abs(cwd()) );
-
- return 1;
-}
-
-#################################
-#
-# Uncompress code
-#
-#################################
-
-sub _uncompress_bin {
- my $self = shift;
-
- ### check for /bin/gzip -- we need it ###
- unless( $self->bin_uncompress ) {
- $self->_error(loc("No '%1' program found", '/bin/uncompress'));
- 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_uncompress, '-c', $self->archive ];
-
- my $buffer;
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to uncompress '%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;
-}
-
-
-#################################
-#
-# Unzip code
-#
-#################################
-
-
-sub _unzip_bin {
- my $self = shift;
-
- ### check for /bin/gzip if we need it ###
- unless( $self->bin_unzip ) {
- $self->_error(loc("No '%1' program found", '/bin/unzip'));
- return METHOD_NA;
- }
-
- ### first, get the files.. it must be 2 different commands with 'unzip' :(
- { ### on VMS, capital letter options have to be quoted. This is
- ### 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 ];
-
- my $buffer = '';
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to unzip '%1': %2",
- $self->archive, $buffer));
- }
-
- ### no buffers available?
- if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
- $self->_error( $self->_no_buffer_files( $self->archive ) );
-
- } else {
- ### Annoyingly, pesky MSWin32 can either have 'native' tools
- ### which have \r\n line endings or Cygwin-based tools which
- ### have \n line endings. Jan Dubois suggested using this fix
- local $/ = ON_WIN32 ? qr/\r?\n/ : "\n";
- $self->files( [split $/, $buffer] );
- }
- }
-
- ### now, extract the archive ###
- { my $cmd = [ $self->bin_unzip, '-qq', '-o', $self->archive ];
-
- my $buffer;
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to unzip '%1': %2",
- $self->archive, $buffer));
- }
-
- if( scalar @{$self->files} ) {
- my $files = $self->files;
- my $dir = $self->__get_extract_dir( $files );
-
- $self->extract_path( $dir );
- }
- }
-
- return 1;
-}
-
-sub _unzip_az {
- my $self = shift;
-
- my $use_list = { 'Archive::Zip' => '0.0' };
- unless( can_load( modules => $use_list ) ) {
- $self->_error(loc("You do not have '%1' installed - Please " .
- "install it as soon as possible.", 'Archive::Zip'));
- return METHOD_NA;
- }
-
- my $zip = Archive::Zip->new();
-
- unless( $zip->read( $self->archive ) == &Archive::Zip::AZ_OK ) {
- return $self->_error(loc("Unable to read '%1'", $self->archive));
- }
-
- my @files;
-
-
- ### Address: #43278: Explicitly tell Archive::Zip where to put the files:
- ### "In my BackPAN indexing, Archive::Zip was extracting things
- ### in my script's directory instead of the current working directory.
- ### I traced this back through Archive::Zip::_asLocalName which
- ### eventually calls File::Spec::Win32::rel2abs which on Windows might
- ### call Cwd::getdcwd. getdcwd returns the wrong directory in my
- ### case, even though I think I'm on the same drive.
- ###
- ### To fix this, I pass the optional second argument to
- ### extractMember using the cwd from Archive::Extract." --bdfoy
-
- ## store cwd() before looping; calls to cwd() can be expensive, and
- ### it won't change during the loop
- my $extract_dir = cwd();
-
- ### have to extract every member individually ###
- for my $member ($zip->members) {
- push @files, $member->{fileName};
-
- ### 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 ) {
- return $self->_error(loc("Extraction of '%1' from '%2' failed",
- $member->{fileName}, $self->archive ));
- }
- }
-
- my $dir = $self->__get_extract_dir( \@files );
-
- ### set what files where extract, and where they went ###
- $self->files( \@files );
- $self->extract_path( File::Spec->rel2abs($dir) );
-
- return 1;
-}
-
-sub __get_extract_dir {
- my $self = shift;
- my $files = shift || [];
-
- return unless scalar @$files;
-
- my($dir1, $dir2);
- for my $aref ( [ \$dir1, 0 ], [ \$dir2, -1 ] ) {
- my($dir,$pos) = @$aref;
-
- ### add a catdir(), so that any trailing slashes get
- ### take care of (removed)
- ### also, a catdir() normalises './dir/foo' to 'dir/foo';
- ### which was the problem in bug #23999
- my $res = -d $files->[$pos]
- ? File::Spec->catdir( $files->[$pos], '' )
- : File::Spec->catdir( dirname( $files->[$pos] ) );
-
- $$dir = $res;
- }
-
- ### if the first and last dir don't match, make sure the
- ### dirname is not set wrongly
- my $dir;
-
- ### dirs are the same, so we know for sure what the extract dir is
- if( $dir1 eq $dir2 ) {
- $dir = $dir1;
-
- ### dirs are different.. do they share the base dir?
- ### if so, use that, if not, fall back to '.'
- } else {
- my $base1 = [ File::Spec->splitdir( $dir1 ) ]->[0];
- my $base2 = [ File::Spec->splitdir( $dir2 ) ]->[0];
-
- $dir = File::Spec->rel2abs( $base1 eq $base2 ? $base1 : '.' );
- }
-
- return File::Spec->rel2abs( $dir );
-}
-
-#################################
-#
-# Bunzip2 code
-#
-#################################
-
-sub _bunzip2_bin {
- my $self = shift;
-
- ### check for /bin/gzip -- we need it ###
- unless( $self->bin_bunzip2 ) {
- $self->_error(loc("No '%1' program found", '/bin/bunzip2'));
- 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, $! ));
-
- ### guard against broken bunzip2. See ->have_old_bunzip2()
- ### for details
- if( $self->have_old_bunzip2 and $self->archive !~ /\.bz2$/i ) {
- return $self->_error(loc("Your bunzip2 version is too old and ".
- "can only extract files ending in '%1'",
- '.bz2'));
- }
-
- my $cmd = [ $self->bin_bunzip2, '-cd', $self->archive ];
-
- my $buffer;
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to bunzip2 '%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;
-}
-
-### using cz2, the compact versions... this we use mainly in archive::tar
-### extractor..
-# sub _bunzip2_cz1 {
-# my $self = shift;
-#
-# my $use_list = { 'IO::Uncompress::Bunzip2' => '0.0' };
-# unless( can_load( modules => $use_list ) ) {
-# return $self->_error(loc("You do not have '%1' installed - Please " .
-# "install it as soon as possible.",
-# 'IO::Uncompress::Bunzip2'));
-# }
-#
-# my $bz = IO::Uncompress::Bunzip2->new( $self->archive ) or
-# return $self->_error(loc("Unable to open '%1': %2",
-# $self->archive,
-# $IO::Uncompress::Bunzip2::Bunzip2Error));
-#
-# my $fh = FileHandle->new('>'. $self->_gunzip_to) or
-# return $self->_error(loc("Could not open '%1' for writing: %2",
-# $self->_gunzip_to, $! ));
-#
-# my $buffer;
-# $fh->print($buffer) while $bz->read($buffer) > 0;
-# $fh->close;
-#
-# ### set what files where extract, and where they went ###
-# $self->files( [$self->_gunzip_to] );
-# $self->extract_path( File::Spec->rel2abs(cwd()) );
-#
-# return 1;
-# }
-
-sub _bunzip2_bz2 {
- my $self = shift;
-
- my $use_list = { 'IO::Uncompress::Bunzip2' => '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::Bunzip2'));
- return METHOD_NA;
- }
-
- IO::Uncompress::Bunzip2::bunzip2($self->archive => $self->_gunzip_to)
- or return $self->_error(loc("Unable to uncompress '%1': %2",
- $self->archive,
- $IO::Uncompress::Bunzip2::Bunzip2Error));
-
- ### set what files where extract, and where they went ###
- $self->files( [$self->_gunzip_to] );
- $self->extract_path( File::Spec->rel2abs(cwd()) );
-
- 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;
-}
-
-
-#################################
-#
-# unlzma code
-#
-#################################
-
-sub _unlzma_bin {
- my $self = shift;
-
- ### check for /bin/unlzma -- we need it ###
- unless( $self->bin_unlzma ) {
- $self->_error(loc("No '%1' program found", '/bin/unlzma'));
- 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_unlzma, '-c', $self->archive ];
-
- my $buffer;
- unless( scalar run( command => $cmd,
- verbose => $DEBUG,
- buffer => \$buffer )
- ) {
- return $self->_error(loc("Unable to unlzma '%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 _unlzma_cz {
- my $self = shift;
-
- 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 $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;
-
- 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] );
- $self->extract_path( File::Spec->rel2abs(cwd()) );
-
- return 1;
-}
-
-#################################
-#
-# Error code
-#
-#################################
-
-# For printing binaries that avoids interfering globals
-sub _print {
- my $self = shift;
- my $fh = shift;
-
- local( $\, $", $, ) = ( undef, ' ', '' );
- return print $fh @_;
-}
-
-sub _error {
- my $self = shift;
- my $error = shift;
- my $lerror = Carp::longmess($error);
-
- push @{$self->_error_msg}, $error;
- push @{$self->_error_msg_long}, $lerror;
-
- ### set $Archive::Extract::WARN to 0 to disable printing
- ### of errors
- if( $WARN ) {
- carp $DEBUG ? $lerror : $error;
- }
-
- return;
-}
-
-sub error {
- my $self = shift;
-
- ### make sure we have a fallback aref
- my $aref = do {
- shift()
- ? $self->_error_msg_long
- : $self->_error_msg
- } || [];
-
- 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;
- return loc("No buffer captured, unable to tell ".
- "extracted files or extraction dir for '%1'", $file);
-}
-
-sub _no_buffer_content {
- my $self = shift;
- my $file = shift or return;
- return loc("No buffer captured, unable to get content for '%1'", $file);
-}
-1;
-
-=pod
-
-=head1 HOW IT WORKS
-
-C<Archive::Extract> tries first to determine what type of archive you
-are passing it, by inspecting its suffix. It does not do this by using
-Mime magic, or something related. See C<CAVEATS> below.
-
-Once it has determined the file type, it knows which extraction methods
-it can use on the archive. It will try a perl solution first, then fall
-back to a commandline tool if that fails. If that also fails, it will
-return false, indicating it was unable to extract the archive.
-See the section on C<GLOBAL VARIABLES> to see how to alter this order.
-
-=head1 CAVEATS
-
-=head2 File Extensions
-
-C<Archive::Extract> trusts on the extension of the archive to determine
-what type it is, and what extractor methods therefore can be used. If
-your archives do not have any of the extensions as described in the
-C<new()> method, you will have to specify the type explicitly, or
-C<Archive::Extract> will not be able to extract the archive for you.
-
-=head2 Supporting Very Large Files
-
-C<Archive::Extract> can use either pure perl modules or command line
-programs under the hood. Some of the pure perl modules (like
-C<Archive::Tar> and Compress::unLZMA) take the entire contents of the archive into memory,
-which may not be feasible on your system. Consider setting the global
-variable C<$Archive::Extract::PREFER_BIN> to C<1>, which will prefer
-the use of command line programs and won't consume so much memory.
-
-See the C<GLOBAL VARIABLES> section below for details.
-
-=head2 Bunzip2 support of arbitrary extensions.
-
-Older versions of C</bin/bunzip2> do not support arbitrary file
-extensions and insist on a C<.bz2> suffix. Although we do our best
-to guard against this, if you experience a bunzip2 error, it may
-be related to this. For details, please see the C<have_old_bunzip2>
-method.
-
-=head1 GLOBAL VARIABLES
-
-=head2 $Archive::Extract::DEBUG
-
-Set this variable to C<true> to have all calls to command line tools
-be printed out, including all their output.
-This also enables C<Carp::longmess> errors, instead of the regular
-C<carp> errors.
-
-Good for tracking down why things don't work with your particular
-setup.
-
-Defaults to C<false>.
-
-=head2 $Archive::Extract::WARN
-
-This variable controls whether errors encountered internally by
-C<Archive::Extract> should be C<carp>'d or not.
-
-Set to false to silence warnings. Inspect the output of the C<error()>
-method manually to see what went wrong.
-
-Defaults to C<true>.
-
-=head2 $Archive::Extract::PREFER_BIN
-
-This variables controls whether C<Archive::Extract> should prefer the
-use of perl modules, or commandline tools to extract archives.
-
-Set to C<true> to have C<Archive::Extract> prefer commandline tools.
-
-Defaults to C<false>.
-
-=head1 TODO / CAVEATS
-
-=over 4
-
-=item Mime magic support
-
-Maybe this module should use something like C<File::Type> to determine
-the type, rather than blindly trust the suffix.
-
-=item Thread safety
-
-Currently, C<Archive::Extract> does a C<chdir> to the extraction dir before
-extraction, and a C<chdir> back again after. This is not necessarily
-thread safe. See C<rt.cpan.org> bug C<#45671> for details.
-
-=back
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-archive-extract@rt.cpan.orgE<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-This library is free software; you may redistribute and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar.pm b/Master/tlpkg/tlperl/lib/Archive/Tar.pm
index dd4b968acd3..50afbb334b9 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 $ZERO_PAD_NUMBERS @ISA @EXPORT
+ $INSECURE_EXTRACT_MODE $ZERO_PAD_NUMBERS @ISA @EXPORT $RESOLVE_SYMLINK
];
@ISA = qw[Exporter];
@@ -31,13 +31,14 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
$DEBUG = 0;
$WARN = 1;
$FOLLOW_SYMLINK = 0;
-$VERSION = "1.90";
+$VERSION = "1.96";
$CHOWN = 1;
$CHMOD = 1;
$SAME_PERMISSIONS = $> == 0 ? 1 : 0;
$DO_NOT_USE_PREFIX = 0;
$INSECURE_EXTRACT_MODE = 0;
$ZERO_PAD_NUMBERS = 0;
+$RESOLVE_SYMLINK = $ENV{'PERL5_AT_RESOLVE_SYMLINK'} || 'speed';
BEGIN {
use Config;
@@ -485,7 +486,7 @@ sub _read_tar {
### but that doesn't *always* happen.. so check if the last
### character is a control character, and if so remove it
### at any rate, we better remove that character here, or tests
- ### like 'eq' and hashlook ups based on names will SO not work
+ ### like 'eq' and hash lookups based on names will SO not work
### remove it by calculating the proper size, and then
### tossing out everything that's longer than that size.
@@ -956,7 +957,7 @@ sub _extract_special_file_as_plain_file {
my $err;
TRY: {
- my $orig = $self->_find_entry( $entry->linkname );
+ my $orig = $self->_find_entry( $entry->linkname, $entry );
unless( $orig ) {
$err = qq[Could not find file '] . $entry->linkname .
@@ -965,7 +966,7 @@ sub _extract_special_file_as_plain_file {
}
### clone the entry, make it appear as a normal file ###
- my $clone = $entry->clone;
+ my $clone = $orig->clone;
$clone->_downgrade_to_plainfile;
$self->_extract_file( $clone, $file ) or last TRY;
@@ -1030,10 +1031,46 @@ sub _find_entry {
### it's an object already
return $file if UNIVERSAL::isa( $file, 'Archive::Tar::File' );
- for my $entry ( @{$self->_data} ) {
- my $path = $entry->full_path;
- return $entry if $path eq $file;
- }
+seach_entry:
+ if($self->_data){
+ for my $entry ( @{$self->_data} ) {
+ my $path = $entry->full_path;
+ return $entry if $path eq $file;
+ }
+ }
+
+ if($Archive::Tar::RESOLVE_SYMLINK!~/none/){
+ if(my $link_entry = shift()){#fallback mode when symlinks are using relative notations ( ../a/./b/text.bin )
+ $file = _symlinks_resolver( $link_entry->name, $file );
+ goto seach_entry if $self->_data;
+
+ #this will be slower than never, but won't failed!
+
+ my $iterargs = $link_entry->{'_archive'};
+ if($Archive::Tar::RESOLVE_SYMLINK=~/speed/ && @$iterargs==3){
+ #faster but whole archive will be read in memory
+ #read whole archive and share data
+ my $archive = Archive::Tar->new;
+ $archive->read( @$iterargs );
+ push @$iterargs, $archive; #take a trace for destruction
+ if($archive->_data){
+ $self->_data( $archive->_data );
+ goto seach_entry;
+ }
+ }#faster
+
+ {#slower but lower memory usage
+ # $iterargs = [$filename, $compressed, $opts];
+ my $next = Archive::Tar->iter( @$iterargs );
+ while(my $e = $next->()){
+ if($e->full_path eq $file){
+ undef $next;
+ return $e;
+ }
+ }
+ }#slower
+ }
+ }
$self->_error( qq[No such file in archive: '$file'] );
return;
@@ -1553,7 +1590,7 @@ sub add_data {
=head2 $tar->error( [$BOOL] )
-Returns the current errorstring (usually, the last error reported).
+Returns the current error string (usually, the last error reported).
If a true value was specified, it will give the C<Carp::longmess>
equivalent of the error, in effect giving you a stacktrace.
@@ -1729,6 +1766,7 @@ sub iter {
) or return;
my @data;
+ my $CONSTRUCT_ARGS = [ $filename, $compressed, $opts ];
return sub {
return shift(@data) if @data; # more than one file returned?
return unless $handle; # handle exhausted?
@@ -1736,12 +1774,25 @@ sub iter {
### read data, should only return file
my $tarfile = $class->_read_tar($handle, { %$opts, limit => 1 });
@data = @$tarfile if ref $tarfile && ref $tarfile eq 'ARRAY';
+ if($Archive::Tar::RESOLVE_SYMLINK!~/none/){
+ foreach(@data){
+ #may refine this heuristic for ON_UNIX?
+ if($_->linkname){
+ #is there a better slot to store/share it ?
+ $_->{'_archive'} = $CONSTRUCT_ARGS;
+ }
+ }
+ }
### return one piece of data
return shift(@data) if @data;
### data is exhausted, free the filehandle
undef $handle;
+ if(@$CONSTRUCT_ARGS == 4){
+ #free archive in memory
+ undef $CONSTRUCT_ARGS->[-1];
+ }
return;
};
}
@@ -1865,6 +1916,32 @@ sub no_string_support {
croak("You have to install IO::String to support writing archives to strings");
}
+sub _symlinks_resolver{
+ my ($src, $trg) = @_;
+ my @src = split /[\/\\]/, $src;
+ my @trg = split /[\/\\]/, $trg;
+ pop @src; #strip out current object name
+ if(@trg and $trg[0] eq ''){
+ shift @trg;
+ #restart path from scratch
+ @src = ( );
+ }
+ foreach my $part ( @trg ){
+ next if $part eq '.'; #ignore current
+ if($part eq '..'){
+ #got to parent
+ pop @src;
+ }
+ else{
+ #append it
+ push @src, $part;
+ }
+ }
+ my $path = join('/', @src);
+ warn "_symlinks_resolver('$src','$trg') = $path" if $DEBUG;
+ return $path;
+}
+
1;
__END__
@@ -2007,6 +2084,30 @@ 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.
+=head2 Tuning the way RESOLVE_SYMLINK will works
+
+ You can tune the behaviour by setting the $Archive::Tar::RESOLVE_SYMLINK variable,
+ or $ENV{PERL5_AT_RESOLVE_SYMLINK} before loading the module Archive::Tar.
+
+ Values can be one of the following:
+
+ none
+ Disable this mechanism and failed as it was in previous version (<1.88)
+
+ speed (default)
+ If you prefer speed
+ this will read again the whole archive using read() so all entries
+ will be available
+
+ memory
+ If you prefer memory
+
+ Limitation
+
+ It won't work for terminal, pipe or sockets or every non seekable source.
+
+=cut
+
=head1 FAQ
=over 4
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
index 7839c6dc5cb..957ac278adc 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
@@ -3,14 +3,13 @@ package Archive::Tar::Constant;
BEGIN {
require Exporter;
- $VERSION = '1.90';
+ $VERSION = '1.96';
@ISA = qw[Exporter];
require Time::Local if $^O eq "MacOS";
}
-use Package::Constants;
-@EXPORT = Package::Constants->list( __PACKAGE__ );
+@EXPORT = Archive::Tar::Constant->_list_consts( __PACKAGE__ );
use constant FILE => 0;
use constant HARDLINK => 1;
@@ -83,4 +82,29 @@ use constant CAN_READLINK => ($^O ne 'MSWin32' and $^O !~ /RISC(?:[ _])?OS/i a
use constant ON_UNIX => ($^O ne 'MSWin32' and $^O ne 'MacOS' and $^O ne 'VMS');
use constant ON_VMS => $^O eq 'VMS';
+sub _list_consts {
+ my $class = shift;
+ my $pkg = shift;
+ return unless defined $pkg; # some joker might use '0' as a pkg...
+
+ my @rv;
+ { no strict 'refs';
+ my $stash = $pkg . '::';
+
+ for my $name (sort keys %$stash ) {
+
+ ### is it a subentry?
+ my $sub = $pkg->can( $name );
+ next unless defined $sub;
+
+ next unless defined prototype($sub) and
+ not length prototype($sub);
+
+ push @rv, $name;
+ }
+ }
+
+ return sort @rv;
+}
+
1;
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
index de01e0513d4..39fca623fab 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 = '1.90';
+$VERSION = '1.96';
### set value to 1 to oct() it during the unpack ###
@@ -224,7 +224,7 @@ sub _new_from_chunk {
if(substr($entry{'size'}, 0, 1) eq "\x80") { # binary size extension for files >8gigs (> octal 77777777777777) # cdrake
- my @sz=unpack("aCSNN",$entry{'size'}); $entry{'size'}=$sz[4]+(2**32)*$sz[3]+$sz[2]*(2**64); # Use the low 80 bits (should use the upper 15 as well, but as at year 2011, that seems unlikley to ever be needed - the numbers are just too big...) # cdrake
+ my @sz=unpack("aCSNN",$entry{'size'}); $entry{'size'}=$sz[4]+(2**32)*$sz[3]+$sz[2]*(2**64); # Use the low 80 bits (should use the upper 15 as well, but as at year 2011, that seems unlikely to ever be needed - the numbers are just too big...) # cdrake
} else { # cdrake
($entry{'size'})=($entry{'size'}=~/^([^\0]*)/); $entry{'size'}=oct $entry{'size'}; # cdrake
} # cdrake
@@ -481,7 +481,7 @@ concatenation of the C<prefix> and C<name> fields.
sub full_path {
my $self = shift;
- ### if prefix field is emtpy
+ ### if prefix field is empty
return $self->name unless defined $self->prefix and length $self->prefix;
### or otherwise, catfile'd
diff --git a/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm b/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
index 60ee32a59c0..4ae65d9edb0 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.94'; # remember to update version in POD!
+$VERSION = '0.96'; # remember to update version in POD!
# $DB::single=1;
my %symcache;
@@ -266,8 +266,7 @@ Attribute::Handlers - Simpler definition of attribute handlers
=head1 VERSION
-This document describes version 0.93 of Attribute::Handlers,
-released July 20, 2011.
+This document describes version 0.96 of Attribute::Handlers.
=head1 SYNOPSIS
@@ -878,7 +877,7 @@ C<SCALAR>, C<ARRAY>, C<HASH>, C<CODE>, or C<ANY>.
=item C<Attribute handler %s doesn't handle %s attributes>
A handler for attributes of the specified name I<was> defined, but not
-for the specified type of declaration. Typically encountered whe trying
+for the specified type of declaration. Typically encountered when trying
to apply a C<VAR> attribute handler to a subroutine, or a C<SCALAR>
attribute handler to some other type of variable.
@@ -931,6 +930,6 @@ Bug reports and other feedback are most welcome.
=head1 COPYRIGHT AND LICENSE
- Copyright (c) 2001-2009, Damian Conway. All Rights Reserved.
+ Copyright (c) 2001-2014, 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/AutoLoader.pm b/Master/tlpkg/tlperl/lib/AutoLoader.pm
index 955f852cbf3..5546f9e9953 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.73';
+ $VERSION = '5.74';
}
AUTOLOAD {
@@ -400,7 +400,7 @@ This package has the same copyright and license as the perl core:
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2011, 2012
+ 2011, 2012, 2013
by Larry Wall and others
All rights reserved.
diff --git a/Master/tlpkg/tlperl/lib/B.pm b/Master/tlpkg/tlperl/lib/B.pm
index 881b68b4e0e..952475db2c2 100644
--- a/Master/tlpkg/tlperl/lib/B.pm
+++ b/Master/tlpkg/tlperl/lib/B.pm
@@ -15,7 +15,7 @@ require Exporter;
# walkoptree comes from B.xs
BEGIN {
- $B::VERSION = '1.42_02';
+ $B::VERSION = '1.48';
@B::EXPORT_OK = ();
# Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
@@ -48,6 +48,7 @@ push @B::EXPORT_OK, (qw(minus_c ppname save_BEGINs
@B::PVNV::ISA = qw(B::PVIV B::NV);
@B::PVMG::ISA = 'B::PVNV';
@B::REGEXP::ISA = 'B::PVMG' if $] >= 5.011;
+@B::INVLIST::ISA = 'B::PV' if $] >= 5.019;
@B::PVLV::ISA = 'B::GV';
@B::BM::ISA = 'B::GV';
@B::AV::ISA = 'B::PVMG';
@@ -89,11 +90,13 @@ sub B::GV::SAFENAME {
# The regex below corresponds to the isCONTROLVAR macro
# from toke.c
- $name =~ s/^([\cA-\cZ\c\\c[\c]\c?\c_\c^])/"^".
- chr( utf8::unicode_to_native( 64 ^ ord($1) ))/e;
+ $name =~ s/^\c?/^?/
+ or $name =~ s/^([\cA-\cZ\c\\c[\c]\c_\c^])/
+ "^" . chr( utf8::unicode_to_native( 64 ^ ord($1) ))/e;
# When we say unicode_to_native we really mean ascii_to_native,
- # which matters iff this is a non-ASCII platform (EBCDIC).
+ # which matters iff this is a non-ASCII platform (EBCDIC). '\c?' would
+ # not have to be special cased, except for non-ASCII.
return $name;
}
@@ -428,7 +431,9 @@ Returns the AV object (i.e. in class B::AV) representing END blocks.
=item comppadlist
-Returns the AV object (i.e. in class B::AV) of the global comppadlist.
+Returns the PADLIST object (i.e. in class B::PADLIST) of the global
+comppadlist. In Perl 5.16 and earlier it returns an AV object (class
+B::AV).
=item regex_padav
@@ -1000,6 +1005,9 @@ in with the main SV flags, so this method is no longer present.
=item PADLIST
+Returns a B::PADLIST object under Perl 5.18 or higher, or a B::AV in
+earlier versions.
+
=item OUTSIDE
=item OUTSIDE_SEQ
@@ -1067,7 +1075,7 @@ underlying C "inheritance":
/ \
B::LOOP B::PMOP
-Access methods correspond to the underlying C structre field names,
+Access methods correspond to the underlying C structure field names,
with the leading "class indication" prefix (C<"op_">) removed.
=head2 B::OP Methods
@@ -1239,6 +1247,30 @@ Since perl 5.17.1
=back
+=head2 OTHER CLASSES
+
+Perl 5.18 introduces a new class, B::PADLIST, returned by B::CV's
+C<PADLIST> method.
+
+=head2 B::PADLIST Methods
+
+=over 4
+
+=item MAX
+
+=item ARRAY
+
+A list of pads. The first one contains the names. These are currently
+B::AV objects, but that is likely to change in future versions.
+
+=item ARRAYelt
+
+Like C<ARRAY>, but takes an index as an argument to get only one element,
+rather than a list of all of them.
+
+=item REFCNT
+
+=back
=head2 $B::overlay
diff --git a/Master/tlpkg/tlperl/lib/B/Concise.pm b/Master/tlpkg/tlperl/lib/B/Concise.pm
index 59d11272a13..6c818a4e463 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.95_01";
+our $VERSION = "0.992";
our @ISA = qw(Exporter);
our @EXPORT_OK = qw( set_style set_style_standard add_callback
concise_subref concise_cv concise_main
@@ -46,7 +46,8 @@ my %style =
"gt_#seq ",
"(?(#seq)?)#noise#arg(?([#targarg])?)"],
"debug" =>
- ["#class (#addr)\n\top_next\t\t#nextaddr\n\top_sibling\t#sibaddr\n\t"
+ ["#class (#addr)\n\top_next\t\t#nextaddr\n\t(?(op_other\t#otheraddr\n\t)?)"
+ . "op_sibling\t#sibaddr\n\t"
. "op_ppaddr\tPL_ppaddr[OP_#NAME]\n\top_type\t\t#typenum\n"
. "\top_flags\t#flagval\n\top_private\t#privval\t#hintsval\n"
. "(?(\top_first\t#firstaddr\n)?)(?(\top_last\t\t#lastaddr\n)?)"
@@ -594,75 +595,70 @@ sub fmt_line { # generate text-line for op.
our %priv; # used to display each opcode's BASEOP.op_private values
$priv{$_}{128} = "LVINTRO"
- for ("pos", "substr", "vec", "threadsv", "gvsv", "rv2sv", "rv2hv", "rv2gv",
- "rv2av", "rv2arylen", "aelem", "helem", "aslice", "hslice", "padsv",
- "padav", "padhv", "enteriter", "entersub", "padrange", "pushmark");
-$priv{$_}{64} = "REFC" for ("leave", "leavesub", "leavesublv", "leavewrite");
-$priv{"aassign"}{64} = "COMMON";
-$priv{"aassign"}{32} = "STATE";
-$priv{"sassign"}{32} = "STATE";
-$priv{"sassign"}{64} = "BKWARD";
-$priv{"sassign"}{128}= "CV2GV";
-$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");
-@{$priv{rv2gv}}{4,16} = qw "NOINIT FAKE";
-@{$priv{"entersub"}}{1,4,16,32,64} = qw( INARGS TARG DBG DEREF );
-@{$priv{rv2cv}}{1,8,128} = ("CONST","AMPER","NO()");
-$priv{"gv"}{32} = "EARLYCV";
-$priv{"aelem"}{16} = $priv{"helem"}{16} = "LVDEFER";
-$priv{$_}{16} = "OURINTR" for ("gvsv", "rv2sv", "rv2av", "rv2hv", "r2gv",
- "enteriter");
-$priv{$_}{8} = 'LVSUB' for qw(rv2av rv2gv rv2hv padav padhv aelem helem
- aslice hslice av2arylen keys rkeys substr pos vec);
-@{$priv{$_}}{32,64} = ('BOOL','BOOL?') for 'rv2hv', 'padhv';
-$priv{substr}{16} = 'REPL1ST';
+ for qw(pos substr vec threadsv gvsv rv2sv rv2hv rv2gv rv2av rv2arylen
+ aelem helem aslice hslice padsv padav padhv enteriter entersub
+ padrange pushmark);
+$priv{$_}{64} = "REFC" for qw(leave leavesub leavesublv leavewrite);
+$priv{$_}{128} = "LV" for qw(leave leaveloop);
+@{$priv{aassign}}{32,64} = qw(STATE COMMON);
+@{$priv{sassign}}{32,64,128} = qw(STATE BKWARD CV2GV);
+$priv{$_}{64} = "RTIME" for qw(match subst substcont qr);
+@{$priv{$_}}{1,2,4,8,16,64} = qw(<UTF >UTF IDENT SQUASH DEL COMPL GROWS)
+ for qw(trans transr);
+$priv{repeat}{64} = "DOLIST";
+$priv{leaveloop}{64} = "CONT";
+@{$priv{$_}}{32,64,96} = qw(DREFAV DREFHV DREFSV)
+ for qw(rv2gv rv2sv padsv aelem helem);
+$priv{$_}{16} = "STATE" for qw(padav padhv padsv);
+@{$priv{rv2gv}}{4,16} = qw(NOINIT FAKE);
+@{$priv{entersub}}{1,4,16,32,64} = qw(INARGS TARG DBG DEREF);
+@{$priv{rv2cv}}{1,8,128} = qw(CONST AMPER NO());
+$priv{gv}{32} = "EARLYCV";
+$priv{$_}{16} = "LVDEFER" for qw(aelem helem);
+$priv{$_}{16} = "OURINTR" for qw(gvsv rv2sv rv2av rv2hv r2gv enteriter);
+$priv{$_}{8} = "LVSUB"
+ for qw(rv2av rv2gv rv2hv padav padhv aelem helem aslice hslice
+ av2arylen keys rkeys substr pos vec);
+$priv{$_}{4} = "SLICEWARN"
+ for qw(rv2hv rv2av padav padhv hslice aslice);
+@{$priv{$_}}{32,64} = qw(BOOL BOOL?) for qw(rv2hv padhv);
+$priv{substr}{16} = "REPL1ST";
$priv{$_}{16} = "TARGMY"
- for (map(($_,"s$_"),"chop", "chomp"),
- map(($_,"i_$_"), "postinc", "postdec", "multiply", "divide", "modulo",
- "add", "subtract", "negate"), "pow", "concat", "stringify",
- "left_shift", "right_shift", "bit_and", "bit_xor", "bit_or",
- "complement", "atan2", "sin", "cos", "rand", "exp", "log", "sqrt",
- "int", "hex", "oct", "abs", "length", "index", "rindex", "sprintf",
- "ord", "chr", "crypt", "quotemeta", "join", "push", "unshift", "flock",
- "chdir", "chown", "chroot", "unlink", "chmod", "utime", "rename",
- "link", "symlink", "mkdir", "rmdir", "wait", "waitpid", "system",
- "exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority",
- "setpriority", "time", "sleep");
-$priv{$_}{4} = "REVERSED" for ("enteriter", "iter");
-@{$priv{"const"}}{2,4,8,16,64,128} =
- ("NOVER","SHORT","STRICT","ENTERED","BARE","FOLD");
-$priv{"flip"}{64} = $priv{"flop"}{64} = "LINENUM";
-$priv{"list"}{64} = "GUESSED";
-$priv{"delete"}{64} = "SLICE";
-$priv{"exists"}{64} = "SUB";
-@{$priv{"sort"}}{1,2,4,8,16,32,64} = ("NUM", "INT", "REV", "INPLACE","DESC","QSORT","STABLE");
-$priv{"reverse"}{8} = "INPLACE";
-$priv{"threadsv"}{64} = "SVREFd";
-@{$priv{$_}}{16,32,64,128} = ("INBIN","INCR","OUTBIN","OUTCR")
- for ("open", "backtick");
-$priv{"exit"}{128} = "VMS";
+ for map(($_,"s$_"), qw(chop chomp)),
+ map(($_,"i_$_"), qw(postinc postdec multiply divide modulo add
+ subtract negate)),
+ qw(pow concat stringify left_shift right_shift bit_and bit_xor
+ bit_or complement atan2 sin cos rand exp log sqrt int hex oct
+ abs length index rindex sprintf ord chr crypt quotemeta join
+ push unshift flock chdir chown chroot unlink chmod utime rename
+ link symlink mkdir rmdir wait waitpid system exec kill getppid
+ getpgrp setpgrp getpriority setpriority time sleep);
+$priv{$_}{4} = "REVERSED" for qw(enteriter iter);
+@{$priv{const}}{2,4,8,16,64} = qw(NOVER SHORT STRICT ENTERED BARE);
+$priv{$_}{64} = "LINENUM" for qw(flip flop);
+$priv{list}{64} = "GUESSED";
+$priv{delete}{64} = "SLICE";
+$priv{exists}{64} = "SUB";
+@{$priv{sort}}{1,2,4,8,16,32,64} = qw(NUM INT REV INPLACE DESC QSORT STABLE);
+$priv{reverse}{8} = "INPLACE";
+$priv{threadsv}{64} = "SVREFd";
+@{$priv{$_}}{16,32,64,128} = qw(INBIN INCR OUTBIN OUTCR)
+ for qw(open backtick);
+$priv{$_}{32} = "HUSH" for qw(nextstate dbstate);
$priv{$_}{2} = "FTACCESS"
- for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec");
-@{$priv{"entereval"}}{2,4,8,16} = qw "HAS_HH UNI BYTES COPHH";
-@{$priv{$_}}{4,8,16} = ("FTSTACKED","FTSTACKING","FTAFTERt")
-for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec",
- "ftis", "fteowned", "ftrowned", "ftzero", "ftsize", "ftmtime",
- "ftatime", "ftctime", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir",
- "ftpipe", "ftlink", "ftsuid", "ftsgid", "ftsvtx", "fttty", "fttext",
- "ftbinary");
+ for qw(ftrread ftrwrite ftrexec fteread ftewrite fteexec);
+@{$priv{entereval}}{2,4,8,16} = qw(HAS_HH UNI BYTES COPHH);
+@{$priv{$_}}{4,8,16} = qw(FTSTACKED FTSTACKING FTAFTERt)
+ for qw(ftrread ftrwrite ftrexec fteread ftewrite fteexec ftis fteowned
+ ftrowned ftzero ftsize ftmtime ftatime ftctime ftsock ftchr
+ ftblk ftfile ftdir ftpipe ftlink ftsuid ftsgid ftsvtx fttty
+ fttext ftbinary);
$priv{$_}{2} = "GREPLEX"
-for ("mapwhile", "mapstart", "grepwhile", "grepstart");
-$priv{$_}{128} = '+1' for qw "caller wantarray runcv";
-@{$priv{coreargs}}{1,2,64,128} = ('DREF1','DREF2','$MOD','MARK');
-$priv{$_}{128} = 'UTF' for qw "last redo next goto dump";
+ for qw(mapwhile mapstart grepwhile grepstart);
+$priv{$_}{128} = "+1" for qw(caller wantarray runcv);
+@{$priv{coreargs}}{1,2,64,128} = qw(DREF1 DREF2 $MOD MARK);
+$priv{$_}{128} = "UTF" for qw(last redo next goto dump);
+$priv{split}{128} = "IMPLIM";
our %hints; # used to display each COP's op_hints values
@@ -891,6 +887,7 @@ sub concise_op {
} elsif ($h{class} eq "LOGOP") {
undef $lastnext;
$h{arg} = "(other->" . seq($op->other) . ")";
+ $h{otheraddr} = sprintf("%#x", $ {$op->other});
}
elsif ($h{class} eq "SVOP" or $h{class} eq "PADOP") {
unless ($h{name} eq 'aelemfast' and $op->flags & OPf_SPECIAL) {
@@ -921,6 +918,10 @@ sub concise_op {
$h{flags} = op_flags($op->flags);
$h{privval} = $op->private;
$h{private} = private_flags($h{name}, $op->private);
+ if ($op->folded) {
+ $h{private} &&= "$h{private},";
+ $h{private} .= "FOLD";
+ }
if ($op->can("hints")) {
$h{hintsval} = $op->hints;
$h{hints} = hints_flags($h{hintsval});
@@ -1643,7 +1644,7 @@ your program is).
=item B<#opt>
-Whether or not the op has been optimised by the peephole optimiser.
+Whether or not the op has been optimized by the peephole optimizer.
Only available in 5.9 and later.
@@ -1810,13 +1811,13 @@ B<walk_output> lets you change the print destination from STDOUT to
another open filehandle, or into a string passed as a ref (unless
you've built perl with -Uuseperlio).
- my $walker = B::Concise::compile('-terse','aFuncName', \&aSubRef); # 1
- walk_output(\my $buf);
- $walker->(); # 1 renders -terse
- set_style_standard('concise'); # 2
- $walker->(); # 2 renders -concise
- $walker->(@new); # 3 renders whatever
- print "3 different renderings: terse, concise, and @new: $buf\n";
+ my $walker = B::Concise::compile('-terse','aFuncName', \&aSubRef); # 1
+ walk_output(\my $buf);
+ $walker->(); # 1 renders -terse
+ set_style_standard('concise'); # 2
+ $walker->(); # 2 renders -concise
+ $walker->(@new); # 3 renders whatever
+ print "3 different renderings: terse, concise, and @new: $buf\n";
When $walker is called, it traverses the subroutines supplied when it
was created, and renders them using the current style. You can change
diff --git a/Master/tlpkg/tlperl/lib/B/Debug.pm b/Master/tlpkg/tlperl/lib/B/Debug.pm
index 31b0e2834be..c4a1a33afa6 100644
--- a/Master/tlpkg/tlperl/lib/B/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/B/Debug.pm
@@ -1,6 +1,6 @@
package B::Debug;
-our $VERSION = '1.18';
+our $VERSION = '1.19';
use strict;
require 5.006;
@@ -181,7 +181,6 @@ sub B::SV::debug {
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) {
@@ -203,9 +202,10 @@ sub B::PV::debug {
my ($sv) = @_;
$sv->B::SV::debug();
my $pv = $sv->PV();
- printf <<'EOT', cstring($pv), length($pv);
+ printf <<'EOT', cstring($pv), $sv->CUR, $sv->LEN;
xpv_pv %s
xpv_cur %d
+ xpv_len %d
EOT
}
@@ -258,17 +258,23 @@ sub B::CV::debug {
my ($padlist) = $sv->PADLIST;
my ($file) = $sv->FILE;
my ($gv) = $sv->GV;
- printf <<'EOT', $$stash, $$start, $$root, $$gv, $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE};
+ printf <<'EOT', $$stash, $$start, $$root;
STASH 0x%x
START 0x%x
ROOT 0x%x
- GV 0x%x
+EOT
+ if ( $]>5.017 && ($sv->FLAGS & 0x40000)) { #lexsub
+ printf("\tNAME\t%%s\n", $sv->NAME);
+ } else {
+ printf("\tGV\t%0x%x\t%s\n", $$gv, $gv->SAFENAME);
+ }
+ printf <<'EOT', $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE};
FILE %s
DEPTH %d
PADLIST 0x%x
OUTSIDE 0x%x
EOT
- printf("\tOUTSIDE_SEQ\t%d\n", , $sv->OUTSIDE_SEQ) if $] > 5.007;
+ 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,
@@ -407,7 +413,7 @@ Reini Urban C<rurban@cpan.org>
=head1 LICENSE
Copyright (c) 1996, 1997 Malcolm Beattie
-Copyright (c) 2008, 2010 Reini Urban
+Copyright (c) 2008, 2010, 2013 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 d62fe3bc5fe..e7eb8cf90d3 100644
--- a/Master/tlpkg/tlperl/lib/B/Deparse.pm
+++ b/Master/tlpkg/tlperl/lib/B/Deparse.pm
@@ -20,7 +20,7 @@ use B qw(class main_root main_start main_cv svref_2object opnumber perlstring
CVf_METHOD CVf_LVALUE
PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED);
-$VERSION = '1.20';
+$VERSION = '1.26';
use strict;
use vars qw/$AUTOLOAD/;
use warnings ();
@@ -249,6 +249,9 @@ BEGIN {
# subs_deparsed
# Keeps track of fully qualified names of all deparsed subs.
#
+# in_subst_repl
+# True when deparsing the replacement part of a substitution.
+#
# parens: -p
# linenums: -l
# unquote: -q
@@ -313,6 +316,9 @@ BEGIN {
+BEGIN { for (qw[ const stringify rv2sv list glob pushmark null]) {
+ eval "sub OP_\U$_ () { " . opnumber($_) . "}"
+}}
# _pessimise_walk(): recursively walk the optree of a sub,
# possibly undoing optimisations along the way.
@@ -342,6 +348,7 @@ sub _pessimise_walk {
# the original gv[_].
$B::overlay->{$$op} = {
+ type => OP_PUSHMARK,
name => 'pushmark',
private => ($op->private & OPpLVAL_INTRO),
next => ($op->flags & OPf_SPECIAL)
@@ -401,7 +408,7 @@ sub _pessimise_walk_exe {
}
}
-# Go through an optree and and "remove" some optimisations by using an
+# Go through an optree and "remove" some optimisations by using an
# overlay to selectively modify or un-null some ops. Deparsing in the
# absence of those optimisations is then easier.
#
@@ -972,6 +979,9 @@ sub indent {
}
$line = substr($line, 1);
}
+ if (index($line, "\f") > 0) {
+ $line =~ s/\f/\n/;
+ }
if (substr($line, 0, 1) eq "\f") {
$line = substr($line, 1); # no indent
} else {
@@ -1226,12 +1236,12 @@ sub padname_sv {
sub maybe_my {
my $self = shift;
- my($op, $cx, $text) = @_;
+ my($op, $cx, $text, $forbid_parens) = @_;
if ($op->private & OPpLVAL_INTRO and not $self->{'avoid_local'}{$$op}) {
my $my = $op->private & OPpPAD_STATE
? $self->keyword("state")
: "my";
- if (want_scalar($op)) {
+ if ($forbid_parens || want_scalar($op)) {
return "$my $text";
} else {
return $self->maybe_parens_func($my, $text, $cx, 16);
@@ -1805,7 +1815,6 @@ my %feature_keywords = (
# keywords that are strong and also have a prototype
#
my %strong_proto_keywords = map { $_ => 1 } qw(
- glob
pos
prototype
scalar
@@ -2659,7 +2668,6 @@ sub listop {
: $self->keyword($name) . '()' x (7 < $cx);
}
my $first;
- $name = "socketpair" if $name eq "sockpair";
my $fullname = $self->keyword($name);
my $proto = prototype("CORE::$name");
if (
@@ -2758,7 +2766,7 @@ sub pp_fcntl { listop(@_, "fcntl") }
sub pp_ioctl { listop(@_, "ioctl") }
sub pp_flock { maybe_targmy(@_, \&listop, "flock") }
sub pp_socket { listop(@_, "socket") }
-sub pp_sockpair { listop(@_, "sockpair") }
+sub pp_sockpair { listop(@_, "socketpair") }
sub pp_bind { listop(@_, "bind") }
sub pp_connect { listop(@_, "connect") }
sub pp_listen { listop(@_, "listen") }
@@ -2804,13 +2812,19 @@ sub pp_syscall { listop(@_, "syscall") }
sub pp_glob {
my $self = shift;
my($op, $cx) = @_;
- my $text = $self->dq($op->first->sibling); # skip pushmark
+ my $kid = $op->first->sibling; # skip pushmark
my $keyword =
$op->flags & OPf_SPECIAL ? 'glob' : $self->keyword('glob');
- if ($text =~ /^\$?(\w|::|\`)+$/ # could look like a readline
- or $keyword =~ /^CORE::/
+ my $text;
+ if ($keyword =~ /^CORE::/
+ or $kid->name ne 'const'
+ or ($text = $self->dq($kid))
+ =~ /^\$?(\w|::|\`)+$/ # could look like a readline
or $text =~ /[<>]/) {
- return "$keyword(" . single_delim('qq', '"', $text) . ')';
+ $text = $self->deparse($kid);
+ return $cx >= 5 || $self->{'parens'}
+ ? "$keyword($text)"
+ : "$keyword $text";
} else {
return '<' . $text . '>';
}
@@ -2954,14 +2968,14 @@ sub pp_list {
# OPs that store things other than flags in their op_private,
# like OP_AELEMFAST, won't be immediate children of a list.
#
- # OP_ENTERSUB can break this logic, so check for it.
+ # OP_ENTERSUB and OP_SPLIT can break this logic, so check for them.
# I suspect that open and exit can too.
+ # XXX This really needs to be rewritten to accept only those ops
+ # known to take the OPpLVAL_INTRO flag.
if (!($lop->private & (OPpLVAL_INTRO|OPpOUR_INTRO)
or $lop->name eq "undef")
- or $lop->name eq "entersub"
- or $lop->name eq "exit"
- or $lop->name eq "open")
+ or $lop->name =~ /^(?:entersub|exit|open|split)\z/)
{
$local = ""; # or not
last;
@@ -3111,7 +3125,7 @@ sub loop_common {
# thread special var, under 5005threads
$var = $self->pp_threadsv($enter, 1);
} else { # regular my() variable
- $var = $self->pp_padsv($enter, 1);
+ $var = $self->pp_padsv($enter, 1, 1);
}
} elsif ($var->name eq "rv2gv") {
$var = $self->pp_rv2sv($var, 1);
@@ -3198,9 +3212,12 @@ sub pp_leavetry {
return "eval {\n\t" . $self->pp_leave(@_) . "\n\b}";
}
-BEGIN { for (qw[ const stringify rv2sv list glob ]) {
- eval "sub OP_\U$_ () { " . opnumber($_) . "}"
-}}
+sub _op_is_or_was {
+ my ($op, $expect_type) = @_;
+ my $type = $op->type;
+ return($type == $expect_type
+ || ($type == OP_NULL && $op->targ == $expect_type));
+}
sub pp_null {
my $self = shift;
@@ -3208,7 +3225,10 @@ sub pp_null {
if (class($op) eq "OP") {
# old value is lost
return $self->{'ex_const'} if $op->targ == OP_CONST;
- } elsif ($op->first->name eq "pushmark") {
+ } elsif ($op->first->name eq 'pushmark'
+ or $op->first->name eq 'null'
+ && $op->first->targ == OP_PUSHMARK
+ && _op_is_or_was($op, OP_LIST)) {
return $self->pp_list($op, $cx);
} elsif ($op->first->name eq "enter") {
return $self->pp_leave($op, $cx);
@@ -3267,8 +3287,9 @@ sub padany {
sub pp_padsv {
my $self = shift;
- my($op, $cx) = @_;
- return $self->maybe_my($op, $cx, $self->padname($op->targ));
+ my($op, $cx, $forbid_parens) = @_;
+ return $self->maybe_my($op, $cx, $self->padname($op->targ),
+ $forbid_parens);
}
sub pp_padav { pp_padsv(@_) }
@@ -3311,7 +3332,9 @@ sub pp_aelemfast_lex {
my($op, $cx) = @_;
my $name = $self->padname($op->targ);
$name =~ s/^@/\$/;
- return $name . "[" . ($op->private + $self->{'arybase'}) . "]";
+ my $i = $op->private;
+ $i -= 256 if $i > 127;
+ return $name . "[" . ($i + $self->{'arybase'}) . "]";
}
sub pp_aelemfast {
@@ -3323,7 +3346,9 @@ sub pp_aelemfast {
my $gv = $self->gv_or_padgv($op);
my($name,$quoted) = $self->stash_variable_name('@',$gv);
$name = $quoted ? "$name->" : '$' . $name;
- return $name . "[" . ($op->private + $self->{'arybase'}) . "]";
+ my $i = $op->private;
+ $i -= 256 if $i > 127;
+ return $name . "[" . ($i + $self->{'arybase'}) . "]";
}
sub rv2x {
@@ -3377,7 +3402,7 @@ sub pp_av2arylen {
sub pp_rv2cv {
my ($self, $op, $cx) = @_;
if (!null($op->first) && $op->first->name eq 'null' &&
- $op->first->targ eq OP_LIST)
+ $op->first->targ == OP_LIST)
{
return $self->rv2x($op->first->first->sibling, $cx, "&")
}
@@ -3511,7 +3536,9 @@ sub elem {
}
if (my $array_name=$self->elem_or_slice_array_name
($array, $left, $padname, 1)) {
- return ($array_name =~ /->\z/ ? $array_name : "\$" . $array_name)
+ return ($array_name =~ /->\z/
+ ? $array_name
+ : $array_name eq '#' ? '${#}' : "\$" . $array_name)
. $left . $idx . $right;
} else {
# $x[20][3]{hi} or expr->[20]
@@ -3561,11 +3588,15 @@ sub slice {
} else {
$list = $self->elem_or_slice_single_index($kid);
}
- return "\@" . $array . $left . $list . $right;
+ my $lead = '@';
+ $lead = '%' if $op->name =~ /^kv/i;
+ return $lead . $array . $left . $list . $right;
}
-sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
-sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
+sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
+sub pp_kvaslice { slice(@_, "[", "]", "rv2av", "padav") }
+sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
+sub pp_kvhslice { slice(@_, "{", "}", "rv2hv", "padhv") }
sub pp_lslice {
my $self = shift;
@@ -3681,8 +3712,9 @@ sub check_proto {
my @reals;
# An unbackslashed @ or % gobbles up the rest of the args
1 while $proto =~ s/(?<!\\)([@%])[^\]]+$/$1/;
+ $proto =~ s/^\s*//;
while ($proto) {
- $proto =~ s/^(\\?[\$\@&%*_]|\\\[[\$\@&%*]+\]|;)//;
+ $proto =~ s/^(\\?[\$\@&%*_]|\\\[[\$\@&%*]+\]|;)\s*//;
my $chr = $1;
if ($chr eq "") {
return "&" if @args;
@@ -3839,7 +3871,7 @@ sub pp_entersub {
my $dproto = defined($proto) ? $proto : "undefined";
if (!$declared) {
return "$kid(" . $args . ")";
- } elsif ($dproto eq "") {
+ } elsif ($dproto =~ /^\s*\z/) {
return $kid;
} elsif ($dproto eq "\$" and is_scalar($exprs[0])) {
# is_scalar is an excessively conservative test here:
@@ -3934,7 +3966,7 @@ sub re_uninterp_extended {
}
}
-my %unctrl = # portable to to EBCDIC
+my %unctrl = # portable to EBCDIC
(
"\c@" => '\c@', # unused
"\cA" => '\cA',
@@ -4188,7 +4220,11 @@ sub const {
}
}
- return $self->maybe_parens("\\" . $self->const($ref, 20), $cx, 20);
+ my $const = $self->const($ref, 20);
+ if ($self->{in_subst_repl} && $const =~ /^[0-9]/) {
+ $const = "($const)";
+ }
+ return $self->maybe_parens("\\$const", $cx, 20);
} elsif ($sv->FLAGS & SVf_POK) {
my $str = $sv->PV;
if ($str =~ /[[:^print:]]/) {
@@ -4612,7 +4648,7 @@ sub pure_string {
}
elsif ($type eq 'join') {
my $join_op = $op->first->sibling; # Skip pushmark
- return 0 unless $join_op->name eq 'null' && $join_op->targ eq OP_RV2SV;
+ return 0 unless $join_op->name eq 'null' && $join_op->targ == OP_RV2SV;
my $gvop = $join_op->first;
return 0 unless $gvop->name eq 'gvsv';
@@ -4859,10 +4895,13 @@ sub pp_subst {
$repl = $repl->first;
$flags .= "e";
}
- if ($pmflags & PMf_EVAL) {
+ {
+ local $self->{in_subst_repl} = 1;
+ if ($pmflags & PMf_EVAL) {
$repl = $self->deparse($repl->first, 0);
- } else {
+ } else {
$repl = $self->dq($repl);
+ }
}
my $extended = ($pmflags & PMf_EXTENDED);
if (null $kid) {
@@ -5297,7 +5336,7 @@ parameter twice:
warnings => [FATAL => qw/void io/],
);
-See L<perllexwarn> for more information about lexical warnings.
+See L<warnings> for more information about lexical warnings.
=item hint_bits
diff --git a/Master/tlpkg/tlperl/lib/B/Lint.pm b/Master/tlpkg/tlperl/lib/B/Lint.pm
deleted file mode 100644
index fd8d75e53ac..00000000000
--- a/Master/tlpkg/tlperl/lib/B/Lint.pm
+++ /dev/null
@@ -1,793 +0,0 @@
-package B::Lint;
-use if $] > 5.017, 'deprecate';
-
-our $VERSION = '1.17'; ## no critic
-
-=head1 NAME
-
-B::Lint - Perl lint
-
-=head1 SYNOPSIS
-
-perl -MO=Lint[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-The B::Lint module is equivalent to an extended version of the B<-w>
-option of B<perl>. It is named after the program F<lint> which carries
-out a similar process for C programs.
-
-=head1 OPTIONS AND LINT CHECKS
-
-Option words are separated by commas (not whitespace) and follow the
-usual conventions of compiler backend options. Following any options
-(indicated by a leading B<->) come lint check arguments. Each such
-argument (apart from the special B<all> and B<none> options) is a
-word representing one possible lint check (turning on that check) or
-is B<no-foo> (turning off that check). Before processing the check
-arguments, a standard list of checks is turned on. Later options
-override earlier ones. Available options are:
-
-=over 8
-
-=item B<magic-diamond>
-
-Produces a warning whenever the magic C<E<lt>E<gt>> readline is
-used. Internally it uses perl's two-argument open which itself treats
-filenames with special characters specially. This could allow
-interestingly named files to have unexpected effects when reading.
-
- % touch 'rm *|'
- % perl -pe 1
-
-The above creates a file named C<rm *|>. When perl opens it with
-C<E<lt>E<gt>> it actually executes the shell program C<rm *>. This
-makes C<E<lt>E<gt>> dangerous to use carelessly.
-
-=item B<context>
-
-Produces a warning whenever an array is used in an implicit scalar
-context. For example, both of the lines
-
- $foo = length(@bar);
- $foo = @bar;
-
-will elicit a warning. Using an explicit B<scalar()> silences the
-warning. For example,
-
- $foo = scalar(@bar);
-
-=item B<implicit-read> and B<implicit-write>
-
-These options produce a warning whenever an operation implicitly
-reads or (respectively) writes to one of Perl's special variables.
-For example, B<implicit-read> will warn about these:
-
- /foo/;
-
-and B<implicit-write> will warn about these:
-
- s/foo/bar/;
-
-Both B<implicit-read> and B<implicit-write> warn about this:
-
- for (@a) { ... }
-
-=item B<bare-subs>
-
-This option warns whenever a bareword is implicitly quoted, but is also
-the name of a subroutine in the current package. Typical mistakes that it will
-trap are:
-
- use constant foo => 'bar';
- @a = ( foo => 1 );
- $b{foo} = 2;
-
-Neither of these will do what a naive user would expect.
-
-=item B<dollar-underscore>
-
-This option warns whenever C<$_> is used either explicitly anywhere or
-as the implicit argument of a B<print> statement.
-
-=item B<private-names>
-
-This option warns on each use of any variable, subroutine or
-method name that lives in a non-current package but begins with
-an underscore ("_"). Warnings aren't issued for the special case
-of the single character name "_" by itself (e.g. C<$_> and C<@_>).
-
-=item B<undefined-subs>
-
-This option warns whenever an undefined subroutine is invoked.
-This option will only catch explicitly invoked subroutines such
-as C<foo()> and not indirect invocations such as C<&$subref()>
-or C<$obj-E<gt>meth()>. Note that some programs or modules delay
-definition of subs until runtime by means of the AUTOLOAD
-mechanism.
-
-=item B<regexp-variables>
-
-This option warns whenever one of the regexp variables C<$`>, C<$&> or C<$'>
-is used. Any occurrence of any of these variables in your
-program can slow your whole program down. See L<perlre> for
-details.
-
-=item B<all>
-
-Turn all warnings on.
-
-=item B<none>
-
-Turn all warnings off.
-
-=back
-
-=head1 NON LINT-CHECK OPTIONS
-
-=over 8
-
-=item B<-u Package>
-
-Normally, Lint only checks the main code of the program together
-with all subs defined in package main. The B<-u> option lets you
-include other package names whose subs are then checked by Lint.
-
-=back
-
-=head1 EXTENDING LINT
-
-Lint can be extended by with plugins. Lint uses L<Module::Pluggable>
-to find available plugins. Plugins are expected but not required to
-inform Lint of which checks they are adding.
-
-The C<< B::Lint->register_plugin( MyPlugin => \@new_checks ) >> method
-adds the list of C<@new_checks> to the list of valid checks. If your
-module wasn't loaded by L<Module::Pluggable> then your class name is
-added to the list of plugins.
-
-You must create a C<match( \%checks )> method in your plugin class or one
-of its parents. It will be called on every op as a regular method call
-with a hash ref of checks as its parameter.
-
-The class methods C<< B::Lint->file >> and C<< B::Lint->line >> contain
-the current filename and line number.
-
- package Sample;
- use B::Lint;
- B::Lint->register_plugin( Sample => [ 'good_taste' ] );
-
- sub match {
- my ( $op, $checks_href ) = shift @_;
- if ( $checks_href->{good_taste} ) {
- ...
- }
- }
-
-=head1 TODO
-
-=over
-
-=item while(<FH>) stomps $_
-
-=item strict oo
-
-=item unchecked system calls
-
-=item more tests, validate against older perls
-
-=back
-
-=head1 BUGS
-
-This is only a very preliminary version.
-
-=head1 AUTHOR
-
-Malcolm Beattie, mbeattie@sable.ox.ac.uk.
-
-=head1 ACKNOWLEDGEMENTS
-
-Sebastien Aperghis-Tramoni - bug fixes
-
-=cut
-
-use strict;
-use B qw( walkoptree_slow
- main_root main_cv walksymtable parents
- OPpOUR_INTRO
- OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK );
-use Carp 'carp';
-
-# The current M::P doesn't know about .pmc files.
-use Module::Pluggable ( require => 1 );
-
-use List::Util 'first';
-## no critic Prototypes
-sub any (&@) { my $test = shift @_; $test->() and return 1 for @_; return 0 }
-
-BEGIN {
-
- # Import or create some constants from B. B doesn't provide
- # everything I need so some things like OPpCONST_BARE are defined
- # here.
- for my $sym ( qw( begin_av check_av init_av end_av ),
- [ 'OPpCONST_BARE' => 64 ] )
- {
- my $val;
- ( $sym, $val ) = @$sym if ref $sym;
-
- if ( any { $sym eq $_ } @B::EXPORT_OK, @B::EXPORT ) {
- B->import($sym);
- }
- else {
- require constant;
- constant->import( $sym => $val );
- }
- }
-}
-
-my $file = "unknown"; # shadows current filename
-my $line = 0; # shadows current line number
-my $curstash = "main"; # shadows current stash
-my $curcv; # shadows current B::CV for pad lookups
-
-sub file {$file}
-sub line {$line}
-sub curstash {$curstash}
-sub curcv {$curcv}
-
-# Lint checks
-my %check;
-my %implies_ok_context;
-
-map( $implies_ok_context{$_}++,
- qw(scalar av2arylen aelem aslice helem hslice
- keys values hslice defined undef delete) );
-
-# Lint checks turned on by default
-my @default_checks
- = qw(context magic_diamond undefined_subs regexp_variables);
-
-my %valid_check;
-
-# All valid checks
-for my $check (
- qw(context implicit_read implicit_write dollar_underscore
- private_names bare_subs undefined_subs regexp_variables
- magic_diamond )
- )
-{
- $valid_check{$check} = __PACKAGE__;
-}
-
-# Debugging options
-my ($debug_op);
-
-my %done_cv; # used to mark which subs have already been linted
-my @extra_packages; # Lint checks mainline code and all subs which are
- # in main:: or in one of these packages.
-
-sub warning {
- my $format = ( @_ < 2 ) ? "%s" : shift @_;
- warn sprintf( "$format at %s line %d\n", @_, $file, $line );
- return undef; ## no critic undef
-}
-
-# This gimme can't cope with context that's only determined
-# at runtime via dowantarray().
-sub gimme {
- my $op = shift @_;
- my $flags = $op->flags;
- if ( $flags & OPf_WANT ) {
- return ( ( $flags & OPf_WANT ) == OPf_WANT_LIST ? 1 : 0 );
- }
- return undef; ## no critic undef
-}
-
-my @plugins = __PACKAGE__->plugins;
-
-sub inside_grepmap {
-
- # A boolean function to be used while inside a B::walkoptree_slow
- # call. If we are in the EXPR part of C<grep EXPR, ...> or C<grep
- # { EXPR } ...>, this returns true.
- return any { $_->name =~ m/\A(?:grep|map)/xms } @{ parents() };
-}
-
-sub inside_foreach_modifier {
-
- # TODO: use any()
-
- # A boolean function to be used while inside a B::walkoptree_slow
- # call. If we are in the EXPR part of C<EXPR foreach ...> this
- # returns true.
- for my $ancestor ( @{ parents() } ) {
- next unless $ancestor->name eq 'leaveloop';
-
- my $first = $ancestor->first;
- next unless $first->name eq 'enteriter';
-
- next if $first->redoop->name =~ m/\A(?:next|db|set)state\z/xms;
-
- return 1;
- }
- return 0;
-}
-
-for (
- [qw[ B::PADOP::gv_harder gv padix]],
- [qw[ B::SVOP::sv_harder sv targ]],
- [qw[ B::SVOP::gv_harder gv padix]]
- )
-{
-
- # I'm generating some functions here because they're mostly
- # similar. It's all for compatibility with threaded
- # perl. Perhaps... this code should inspect $Config{usethreads}
- # and generate a *specific* function. I'm leaving it generic for
- # the moment.
- #
- # In threaded perl SVs and GVs aren't used directly in the optrees
- # like they are in non-threaded perls. The ops that would use a SV
- # or GV keep an index into the subroutine's scratchpad. I'm
- # currently ignoring $cv->DEPTH and that might be at my peril.
-
- my ( $subname, $attr, $pad_attr ) = @$_;
- my $target = do { ## no critic strict
- no strict 'refs';
- \*$subname;
- };
- *$target = sub {
- my ($op) = @_;
-
- my $elt;
- if ( not $op->isa('B::PADOP') ) {
- $elt = $op->$attr;
- }
- return $elt if eval { $elt->isa('B::SV') };
-
- my $ix = $op->$pad_attr;
- my @entire_pad = $curcv->PADLIST->ARRAY;
- my @elts = map +( $_->ARRAY )[$ix], @entire_pad;
- ($elt) = first {
- eval { $_->isa('B::SV') } ? $_ : ();
- }
- @elts[ 0, reverse 1 .. $#elts ];
- return $elt;
- };
-}
-
-sub B::OP::lint {
- my ($op) = @_;
-
- # This is a fallback ->lint for all the ops where I haven't
- # defined something more specific. Nothing happens here.
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::COP::lint {
- my ($op) = @_;
-
- # nextstate ops sit between statements. Whenever I see one I
- # update the current info on file, line, and stash. This code also
- # updates it when it sees a dbstate or setstate op. I have no idea
- # what those are but having seen them mentioned together in other
- # parts of the perl I think they're kind of equivalent.
- if ( $op->name =~ m/\A(?:next|db|set)state\z/ ) {
- $file = $op->file;
- $line = $op->line;
- $curstash = $op->stash->NAME;
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::UNOP::lint {
- my ($op) = @_;
-
- my $opname = $op->name;
-
-CONTEXT: {
-
- # Check arrays and hashes in scalar or void context where
- # scalar() hasn't been used.
-
- next
- unless $check{context}
- and $opname =~ m/\Arv2[ah]v\z/xms
- and not gimme($op);
-
- my ( $parent, $gparent ) = @{ parents() }[ 0, 1 ];
- my $pname = $parent->name;
-
- next if $implies_ok_context{$pname};
-
- # Three special cases to deal with: "foreach (@foo)", "delete
- # $a{$b}", and "exists $a{$b}" null out the parent so we have to
- # check for a parent of pp_null and a grandparent of
- # pp_enteriter, pp_delete, pp_exists
-
- next
- if $pname eq "null"
- and $gparent->name =~ m/\A(?:delete|enteriter|exists)\z/xms;
-
- # our( @bar ); would also trigger this error so I exclude
- # that.
- next
- if $op->private & OPpOUR_INTRO
- and ( $op->flags & OPf_WANT ) == OPf_WANT_VOID;
-
- warning 'Implicit scalar context for %s in %s',
- $opname eq "rv2av" ? "array" : "hash", $parent->desc;
- }
-
-PRIVATE_NAMES: {
-
- # Looks for calls to methods with names that begin with _ and
- # that aren't visible within the current package. Maybe this
- # should look at @ISA.
- next
- unless $check{private_names}
- and $opname =~ m/\Amethod/xms;
-
- my $methop = $op->first;
- next unless $methop->name eq "const";
-
- my $method = $methop->sv_harder->PV;
- next
- unless $method =~ m/\A_/xms
- and not defined &{"$curstash\::$method"};
-
- warning q[Illegal reference to private method name '%s'], $method;
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::PMOP::lint {
- my ($op) = @_;
-
-IMPLICIT_READ: {
-
- # Look for /.../ that doesn't use =~ to bind to something.
- next
- unless $check{implicit_read}
- and $op->name eq "match"
- and not( $op->flags & OPf_STACKED
- or inside_grepmap() );
- warning 'Implicit match on $_';
- }
-
-IMPLICIT_WRITE: {
-
- # Look for s/.../.../ that doesn't use =~ to bind to
- # something.
- next
- unless $check{implicit_write}
- and $op->name eq "subst"
- and not $op->flags & OPf_STACKED;
- warning 'Implicit substitution on $_';
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::LOOP::lint {
- my ($op) = @_;
-
-IMPLICIT_FOO: {
-
- # Look for C<for ( ... )>.
- next
- unless ( $check{implicit_read} or $check{implicit_write} )
- and $op->name eq "enteriter";
-
- my $last = $op->last;
- next
- unless $last->name eq "gv"
- and $last->gv_harder->NAME eq "_"
- and $op->redoop->name =~ m/\A(?:next|db|set)state\z/xms;
-
- warning 'Implicit use of $_ in foreach';
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-# In threaded vs non-threaded perls you'll find that threaded perls
-# use PADOP in place of SVOPs so they can do lookups into the
-# scratchpad to find things. I suppose this is so a optree can be
-# shared between threads and all symbol table muckery will just get
-# written to a scratchpad.
-*B::PADOP::lint = *B::PADOP::lint = \&B::SVOP::lint;
-
-sub B::SVOP::lint {
- my ($op) = @_;
-
-MAGIC_DIAMOND: {
- next
- unless $check{magic_diamond}
- and parents()->[0]->name eq 'readline'
- and $op->gv_harder->NAME eq 'ARGV';
-
- warning 'Use of <>';
- }
-
-BARE_SUBS: {
- next
- unless $check{bare_subs}
- and $op->name eq 'const'
- and $op->private & OPpCONST_BARE;
-
- my $sv = $op->sv_harder;
- next unless $sv->FLAGS & SVf_POK;
-
- my $sub = $sv->PV;
- my $subname = "$curstash\::$sub";
-
- # I want to skip over things that were declared with the
- # constant pragma. Well... sometimes. Hmm. I want to ignore
- # C<<use constant FOO => ...>> but warn on C<<FOO => ...>>
- # later. The former is typical declaration syntax and the
- # latter would be an error.
- #
- # Skipping over both could be handled by looking if
- # $constant::declared{$subname} is true.
-
- # Check that it's a function.
- next
- unless exists &{"$curstash\::$sub"};
-
- warning q[Bare sub name '%s' interpreted as string], $sub;
- }
-
-PRIVATE_NAMES: {
- next unless $check{private_names};
-
- my $opname = $op->name;
- if ( $opname =~ m/\Agv(?:sv)?\z/xms ) {
-
- # Looks for uses of variables and stuff that are named
- # private and we're not in the same package.
- my $gv = $op->gv_harder;
- my $name = $gv->NAME;
- next
- unless $name =~ m/\A_./xms
- and $gv->STASH->NAME ne $curstash;
-
- warning q[Illegal reference to private name '%s'], $name;
- }
- elsif ( $opname eq "method_named" ) {
- my $method = $op->sv_harder->PV;
- next unless $method =~ m/\A_./xms;
-
- warning q[Illegal reference to private method name '%s'], $method;
- }
- }
-
-DOLLAR_UNDERSCORE: {
-
- # Warn on uses of $_ with a few exceptions. I'm not warning on
- # $_ inside grep, map, or statement modifier foreach because
- # they localize $_ and it'd be impossible to use these
- # features without getting warnings.
-
- next
- unless $check{dollar_underscore}
- and $op->name eq "gvsv"
- and $op->gv_harder->NAME eq "_"
- and not( inside_grepmap
- or inside_foreach_modifier );
-
- warning 'Use of $_';
- }
-
-REGEXP_VARIABLES: {
-
- # Look for any uses of $`, $&, or $'.
- next
- unless $check{regexp_variables}
- and $op->name eq "gvsv";
-
- my $name = $op->gv_harder->NAME;
- next unless $name =~ m/\A[\&\'\`]\z/xms;
-
- warning 'Use of regexp variable $%s', $name;
- }
-
-UNDEFINED_SUBS: {
-
- # Look for calls to functions that either don't exist or don't
- # have a definition.
- next
- unless $check{undefined_subs}
- and $op->name eq "gv"
- and $op->next->name eq "entersub";
-
- my $gv = $op->gv_harder;
- my $subname = $gv->STASH->NAME . "::" . $gv->NAME;
-
- no strict 'refs'; ## no critic strict
- if ( not exists &$subname ) {
- $subname =~ s/\Amain:://;
- warning q[Nonexistent subroutine '%s' called], $subname;
- }
- elsif ( not defined &$subname ) {
- $subname =~ s/\A\&?main:://;
- warning q[Undefined subroutine '%s' called], $subname;
- }
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::GV::lintcv {
-
- # Example: B::svref_2object( \ *A::Glob )->lintcv
-
- my $gv = shift @_;
- my $cv = $gv->CV;
- return unless $cv->can('lintcv');
- $cv->lintcv;
- return;
-}
-
-sub B::CV::lintcv {
-
- # Example: B::svref_2object( \ &foo )->lintcv
-
- # Write to the *global* $
- $curcv = shift @_;
-
- #warn sprintf("lintcv: %s::%s (done=%d)\n",
- # $gv->STASH->NAME, $gv->NAME, $done_cv{$$curcv});#debug
- return unless ref($curcv) and $$curcv and not $done_cv{$$curcv}++;
- my $root = $curcv->ROOT;
-
- #warn " root = $root (0x$$root)\n";#debug
- walkoptree_slow( $root, "lint" ) if $$root;
- return;
-}
-
-sub do_lint {
- my %search_pack;
-
- # Copy to the global $curcv for use in pad lookups.
- $curcv = main_cv;
- walkoptree_slow( main_root, "lint" ) if ${ main_root() };
-
- # Do all the miscellaneous non-sub blocks.
- for my $av ( begin_av, init_av, check_av, end_av ) {
- next unless eval { $av->isa('B::AV') };
- for my $cv ( $av->ARRAY ) {
- next unless ref($cv) and $cv->FILE eq $0;
- $cv->lintcv;
- }
- }
-
- walksymtable(
- \%main::,
- sub {
- if ( $_[0]->FILE eq $0 ) { $_[0]->lintcv }
- },
- sub {1}
- );
- return;
-}
-
-sub compile {
- my @options = @_;
-
- # Turn on default lint checks
- for my $opt (@default_checks) {
- $check{$opt} = 1;
- }
-
-OPTION:
- while ( my $option = shift @options ) {
- my ( $opt, $arg );
- unless ( ( $opt, $arg ) = $option =~ m/\A-(.)(.*)/xms ) {
- unshift @options, $option;
- last OPTION;
- }
-
- if ( $opt eq "-" && $arg eq "-" ) {
- shift @options;
- last OPTION;
- }
- elsif ( $opt eq "D" ) {
- $arg ||= shift @options;
- foreach my $arg ( split //, $arg ) {
- if ( $arg eq "o" ) {
- B->debug(1);
- }
- elsif ( $arg eq "O" ) {
- $debug_op = 1;
- }
- }
- }
- elsif ( $opt eq "u" ) {
- $arg ||= shift @options;
- push @extra_packages, $arg;
- }
- }
-
- foreach my $opt ( @default_checks, @options ) {
- $opt =~ tr/-/_/;
- if ( $opt eq "all" ) {
- %check = %valid_check;
- }
- elsif ( $opt eq "none" ) {
- %check = ();
- }
- else {
- if ( $opt =~ s/\Ano_//xms ) {
- $check{$opt} = 0;
- }
- else {
- $check{$opt} = 1;
- }
- carp "No such check: $opt"
- unless defined $valid_check{$opt};
- }
- }
-
- # Remaining arguments are things to check. So why aren't I
- # capturing them or something? I don't know.
-
- return \&do_lint;
-}
-
-sub register_plugin {
- my ( undef, $plugin, $new_checks ) = @_;
-
- # Allow the user to be lazy and not give us a name.
- $plugin = caller unless defined $plugin;
-
- # Register the plugin's named checks, if any.
- for my $check ( eval {@$new_checks} ) {
- if ( not defined $check ) {
- carp 'Undefined value in checks.';
- next;
- }
- if ( exists $valid_check{$check} ) {
- carp
- "$check is already registered as a $valid_check{$check} feature.";
- next;
- }
-
- $valid_check{$check} = $plugin;
- }
-
- # Register a non-Module::Pluggable loaded module. @plugins already
- # contains whatever M::P found on disk. The user might load a
- # plugin manually from some arbitrary namespace and ask for it to
- # be registered.
- if ( not any { $_ eq $plugin } @plugins ) {
- push @plugins, $plugin;
- }
-
- return;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm b/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
deleted file mode 100644
index 7dea1b57b24..00000000000
--- a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
+++ /dev/null
@@ -1,73 +0,0 @@
-package B::Lint::Debug;
-use if $] > 5.017, 'deprecate';
-
-our $VERSION = '1.17';
-
-=head1 NAME
-
-B::Lint::Debug - Adds debugging stringification to B::
-
-=head1 DESCRIPTION
-
-This module injects stringification to a B::OP*/B::SPECIAL. This
-should not be loaded unless you're debugging.
-
-=cut
-
-package # hide from PAUSE
- B::SPECIAL;
-use overload '""' => sub {
- my $self = shift @_;
- "SPECIAL($$self)";
-};
-
-package # hide from PAUSE
- B::OP;
-use overload '""' => sub {
- my $self = shift @_;
- my $class = ref $self;
- $class =~ s/\AB:://xms;
- my $name = $self->name;
- "$class($name)";
-};
-
-package # hide from PAUSE
- B::SVOP;
-use overload '""' => sub {
- my $self = shift @_;
- my $class = ref $self;
- $class =~ s/\AB:://xms;
- my $name = $self->name;
- "$class($name," . $self->sv . "," . $self->gv . ")";
-};
-
-package # hide from PAUSE
- B::SPECIAL;
-sub DESTROY { }
-our $AUTOLOAD;
-
-sub AUTOLOAD {
- my $cx = 0;
- print "AUTOLOAD $AUTOLOAD\n";
-
- package # hide from PAUSE
- DB;
- while ( my @stuff = caller $cx ) {
-
- print "$cx: [@DB::args] [@stuff]\n";
- if ( ref $DB::args[0] ) {
- if ( $DB::args[0]->can('padix') ) {
- print " PADIX: " . $DB::args[0]->padix . "\n";
- }
- if ( $DB::args[0]->can('targ') ) {
- print " TARG: " . $DB::args[0]->targ . "\n";
- for ( B::Lint::cv()->PADLIST->ARRAY ) {
- print +( $_->ARRAY )[ $DB::args[0]->targ ] . "\n";
- }
- }
- }
- ++$cx;
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/B/Showlex.pm b/Master/tlpkg/tlperl/lib/B/Showlex.pm
index 2de8aa49b28..ab684516100 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.03';
+our $VERSION = '1.04';
use strict;
use B qw(svref_2object comppadlist class);
@@ -196,7 +196,7 @@ example. See L<B::Concise> for a fuller explanation of reasons.
Some of the reported info, such as hex addresses, is not particularly
valuable. Other information would be more useful for the typical
programmer, such as line-numbers, pad-slot reuses, etc.. Given this,
--newlex isnt a particularly good flag-name.
+-newlex is not a particularly good flag-name.
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/Benchmark.pm b/Master/tlpkg/tlperl/lib/Benchmark.pm
index 1fa187ee1d7..9a43a2bc60e 100644
--- a/Master/tlpkg/tlperl/lib/Benchmark.pm
+++ b/Master/tlpkg/tlperl/lib/Benchmark.pm
@@ -37,7 +37,7 @@ Benchmark - benchmark running times of Perl code
});
# ...or in two stages
- $results = timethese($count,
+ $results = timethese($count,
{
'Name1' => sub { ...code1... },
'Name2' => sub { ...code2... },
@@ -221,7 +221,8 @@ difference between each pair of tests.
C<cmpthese> can also be passed the data structure that timethese() returns:
- $results = timethese( -1, { a => "++\$i", b => "\$i *= 2" } ) ;
+ $results = timethese( -1,
+ { a => "++\$i", b => "\$i *= 2" } ) ;
cmpthese( $results );
in case you want to see both sets of results.
@@ -231,7 +232,8 @@ that is RESULTSHASHREF; otherwise that is COUNT.
Returns a reference to an ARRAY of rows, each row is an ARRAY of cells from the
above chart, including labels. This:
- my $rows = cmpthese( -1, { a => '++$i', b => '$i *= 2' }, "none" );
+ my $rows = cmpthese( -1,
+ { a => '++$i', b => '$i *= 2' }, "none" );
returns a data structure like:
@@ -290,6 +292,46 @@ wallclock time to be measured in microseconds, instead of integer
seconds. Note though that the speed computations are still conducted
in CPU time, not wallclock time.
+=head1 Benchmark Object
+
+Many of the functions in this module return a Benchmark object,
+or in the case of C<timethese()>, a reference to a hash, the values of
+which are Benchmark objects. This is useful if you want to store or
+further process results from Benchmark functions.
+
+Internally the Benchmark object holds timing values,
+described in L</"NOTES"> below.
+The following methods can be used to access them:
+
+=over 4
+
+=item cpu_p
+
+Total CPU (User + System) of the main (parent) process.
+
+=item cpu_c
+
+Total CPU (User + System) of any children processes.
+
+=item cpu_a
+
+Total CPU of parent and any children processes.
+
+=item real
+
+Real elapsed time "wallclock seconds".
+
+=item iters
+
+Number of iterations run.
+
+=back
+
+The following illustrates use of the Benchmark object:
+
+ $result = timethis(100000, sub { ... });
+ print "total CPU = ", $result->cpu_a, "\n";
+
=head1 NOTES
The data is stored as a list of values from the time and times
@@ -339,7 +381,7 @@ outputs something like this:
a 4152037/s 166% --
-while
+while
use Benchmark qw( timethese cmpthese ) ;
$x = 3;
@@ -402,8 +444,8 @@ documentation.
April 04-07th, 1997: by Jarkko Hietaniemi, added the run-for-some-time
functionality.
-September, 1999; by Barrie Slaymaker: math fixes and accuracy and
-efficiency tweaks. Added cmpthese(). A result is now returned from
+September, 1999; by Barrie Slaymaker: math fixes and accuracy and
+efficiency tweaks. Added cmpthese(). A result is now returned from
timethese(). Exposed countit() (was runfor()).
December, 2001; by Nicholas Clark: make timestr() recognise the style 'none'
@@ -440,7 +482,7 @@ our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
clearcache clearallcache disablecache enablecache);
%EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ;
-$VERSION = 1.15;
+$VERSION = 1.18;
# --- ':hireswallclock' special handling
@@ -485,7 +527,7 @@ sub init {
sub debug { $Debug = ($_[1] != 0); }
-sub usage {
+sub usage {
my $calling_sub = (caller(1))[3];
$calling_sub =~ s/^Benchmark:://;
return $_Usage{$calling_sub} || '';
@@ -498,18 +540,18 @@ $_Usage{clearcache} = <<'USAGE';
usage: clearcache($count);
USAGE
-sub clearcache {
+sub clearcache {
die usage unless @_ == 1;
- delete $Cache{"$_[0]c"}; delete $Cache{"$_[0]s"};
+ delete $Cache{"$_[0]c"}; delete $Cache{"$_[0]s"};
}
$_Usage{clearallcache} = <<'USAGE';
usage: clearallcache();
USAGE
-sub clearallcache {
+sub clearallcache {
die usage if @_;
- %Cache = ();
+ %Cache = ();
}
$_Usage{enablecache} = <<'USAGE';
@@ -518,7 +560,7 @@ USAGE
sub enablecache {
die usage if @_;
- $Do_Cache = 1;
+ $Do_Cache = 1;
}
$_Usage{disablecache} = <<'USAGE';
@@ -527,7 +569,7 @@ USAGE
sub disablecache {
die usage if @_;
- $Do_Cache = 0;
+ $Do_Cache = 0;
}
@@ -652,7 +694,7 @@ sub runloop {
croak "runloop unable to compile '$c': $@\ncode: $subcode\n" if $@;
print STDERR "runloop $n '$subcode'\n" if $Debug;
- # Wait for the user timer to tick. This makes the error range more like
+ # Wait for the user timer to tick. This makes the error range more like
# -0.01, +0. If we don't wait, then it's more like -0.01, +0.01. This
# may not seem important, but it significantly reduces the chances of
# getting a too low initial $n in the initial, 'find the minimum' loop
@@ -730,11 +772,23 @@ sub countit {
# First find the minimum $n that gives a significant timing.
my $zeros=0;
for ($n = 1; ; $n *= 2 ) {
+ my $t0 = Benchmark->new(0);
my $td = timeit($n, $code);
+ my $t1 = Benchmark->new(0);
$tc = $td->[1] + $td->[2];
if ( $tc <= 0 and $n > 1024 ) {
- ++$zeros > 16
- and die "Timing is consistently zero in estimation loop, cannot benchmark. N=$n\n";
+ my $d = timediff($t1, $t0);
+ # note that $d is the total CPU time taken to call timeit(),
+ # while $tc is is difference in CPU secs between the empty run
+ # and the code run. If the code is trivial, its possible
+ # for $d to get large while $tc is still zero (or slightly
+ # negative). Bail out once timeit() starts taking more than a
+ # few seconds without noticeable difference.
+ if ($d->[1] + $d->[2] > 8
+ || ++$zeros > 16)
+ {
+ die "Timing is consistently zero in estimation loop, cannot benchmark. N=$n\n";
+ }
} else {
$zeros = 0;
}
@@ -748,7 +802,7 @@ sub countit {
while ( $tc < $tpra ) {
# 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
+ # and we guess a little low). This does not noticeably affect
# accuracy since we're not counting these times.
$n = int( $tpra * 1.05 * $n / $tc ); # Linear approximation.
my $td = timeit($n, $code);
@@ -929,10 +983,10 @@ sub cmpthese{
my @rows;
my @col_widths;
- my @top_row = (
- '',
- $display_as_rate ? 'Rate' : 's/iter',
- map { $_->[0] } @vals
+ my @top_row = (
+ '',
+ $display_as_rate ? 'Rate' : 's/iter',
+ map { $_->[0] } @vals
);
push @rows, \@top_row;
@@ -958,9 +1012,9 @@ sub cmpthese{
# Only give a few decimal places before switching to sci. notation,
# since the results aren't usually that accurate anyway.
- my $format =
- $rate >= 100 ?
- "%0.0f" :
+ my $format =
+ $rate >= 100 ?
+ "%0.0f" :
$rate >= 10 ?
"%0.1f" :
$rate >= 1 ?
@@ -997,7 +1051,7 @@ sub cmpthese{
$col_widths[$col_num+2] = length( $out )
if length( $out ) > $col_widths[$col_num+2];
- # A little wierdness to set the first column width properly
+ # A little weirdness to set the first column width properly
$col_widths[$col_num+2] = length( $col_val->[0] )
if length( $col_val->[0] ) > $col_widths[$col_num+2];
}
@@ -1008,7 +1062,7 @@ sub cmpthese{
# Equalize column widths in the chart as much as possible without
# exceeding 80 characters. This does not use or affect cols 0 or 1.
- my @sorted_width_refs =
+ my @sorted_width_refs =
sort { $$a <=> $$b } map { \$_ } @col_widths[2..$#col_widths];
my $max_width = ${$sorted_width_refs[-1]};
@@ -1021,7 +1075,7 @@ sub cmpthese{
last
if $min_width == $max_width;
for ( @sorted_width_refs ) {
- last
+ last
if $$_ > $min_width;
++$$_;
++$total;
diff --git a/Master/tlpkg/tlperl/lib/CGI.pm b/Master/tlpkg/tlperl/lib/CGI.pm
index df63490129c..bcee2b1134d 100644
--- a/Master/tlpkg/tlperl/lib/CGI.pm
+++ b/Master/tlpkg/tlperl/lib/CGI.pm
@@ -1,5 +1,6 @@
package CGI;
require 5.008001;
+use if $] >= 5.019, 'deprecate';
use Carp 'croak';
# See the bottom of this file for the POD documentation. Search for the
@@ -18,9 +19,9 @@ use Carp 'croak';
# The most recent version and complete docs are available at:
# http://search.cpan.org/dist/CGI.pm
-# The revision is no longer being updated since moving to git.
+# 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.63';
+$CGI::VERSION='3.65';
# HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
# UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
@@ -171,7 +172,7 @@ $DefaultClass = 'CGI' unless defined $CGI::DefaultClass;
$AutoloadClass = $DefaultClass unless defined $CGI::AutoloadClass;
# The path separator is a slash, backslash or semicolon, depending
-# on the paltform.
+# on the platform.
$SL = {
UNIX => '/', OS2 => '\\', EPOC => '/', CYGWIN => '/', NETWARE => '/',
WINDOWS => '\\', DOS => '\\', MACINTOSH => ':', VMS => '/'
@@ -3131,7 +3132,7 @@ END_OF_FUNC
sub user_agent {
my($self,$match)=self_or_CGI(@_);
my $user_agent = $self->http('user_agent');
- return $user_agent unless $match && $user_agent;
+ return $user_agent unless defined $match && $match && $user_agent;
return $user_agent =~ /$match/i;
}
END_OF_FUNC
@@ -4320,7 +4321,7 @@ submissions, file uploads, reading and writing cookies, query string generation
and manipulation, and processing and preparing HTTP headers. Some HTML
generation utilities are included as well.
-CGI.pm performs very well in in a vanilla CGI.pm environment and also comes
+CGI.pm performs very well in a vanilla CGI.pm environment and also comes
with built-in support for mod_perl and mod_perl2 as well as FastCGI.
It has the benefit of having developed and refined over 10 years with input
@@ -5506,9 +5507,9 @@ backwards compatibility.
The old-style positional parameters are as follows:
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -5524,13 +5525,12 @@ A 'true' flag if you want to include a <base> tag in the header. This
helps resolve relative addresses to absolute ones when the document is moved,
but makes the document hierarchy non-portable. Use with care!
-=item 4, 5, 6...
-
-Any other parameters you want to include in the <body> tag. This is a good
-place to put HTML extensions, such as colors and wallpaper patterns.
-
=back
+Other parameters you want to include in the <body> tag may be appended
+to these. This is a good place to put HTML extensions, such as colors and
+wallpaper patterns.
+
=head2 ENDING THE HTML DOCUMENT:
print $q->end_html;
@@ -6076,9 +6076,9 @@ supported.
textfield() will return a text input field.
-=over 4
+B<Parameters>
-=item B<Parameters>
+=over 4
=item 1.
@@ -6159,9 +6159,9 @@ by calling B<start_form()> with an encoding type of B<&CGI::MULTIPART>,
or by calling the new method B<start_multipart_form()> instead of
vanilla B<start_form()>.
-=over 4
+B<Parameters>
-=item B<Parameters>
+=over 4
=item 1.
@@ -6514,9 +6514,9 @@ attribute's value as the value.
scrolling_list() creates a scrolling list.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6590,9 +6590,9 @@ selected items can be retrieved with:
checkbox_group() creates a list of checkboxes that are related
by the same name.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6617,7 +6617,6 @@ list. Otherwise, they will be strung together on a horizontal line.
=back
-
The optional B<-labels> argument is a pointer to a hash
relating the checkbox values to the user-visible labels that will be
printed next to them. If not provided, the values will be used as the
@@ -6683,9 +6682,9 @@ or in other creative ways:
checkbox() is used to create an isolated checkbox that isn't logically
related to any others.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6740,9 +6739,9 @@ The value of the checkbox can be retrieved using:
radio_group() creates a set of logically-related radio buttons
(turning one member of the group on turns the others off)
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6777,7 +6776,6 @@ displayed.
=back
-
All modern browsers can take advantage of the optional parameters
B<-rows>, and B<-columns>. These parameters cause radio_group() to
return an HTML3 compatible table containing the radio group formatted
@@ -6840,9 +6838,9 @@ or in other creative ways:
submit() will create the query submission button. Every form
should have one of these.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6901,9 +6899,9 @@ hidden() produces a text field that can't be seen by the user. It
is useful for passing state variable information from one invocation
of the script to the next.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6944,9 +6942,9 @@ position of the click is returned to your script as "button_name.x"
and "button_name.y", where "button_name" is the name you've assigned
to it.
-=over 4
+B<Parameters:>
-=item B<Parameters:>
+=over 4
=item 1.
@@ -6958,6 +6956,7 @@ field.
The second argument (-src) is also required and specifies the URL
=item 3.
+
The third option (-align, optional) is an alignment type, and may be
TOP, BOTTOM or MIDDLE
diff --git a/Master/tlpkg/tlperl/lib/CGI/Apache.pm b/Master/tlpkg/tlperl/lib/CGI/Apache.pm
index e055e305551..bde3ad971fd 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Apache.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Apache.pm
@@ -1,7 +1,8 @@
package CGI::Apache;
use CGI;
+use if $] >= 5.019, 'deprecate';
-$VERSION = '1.01';
+$VERSION = '1.02';
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/CGI/Carp.pm b/Master/tlpkg/tlperl/lib/CGI/Carp.pm
index c2145cafa42..806f05db138 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Carp.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Carp.pm
@@ -1,4 +1,5 @@
package CGI::Carp;
+use if $] >= 5.019, 'deprecate';
=head1 NAME
@@ -191,13 +192,13 @@ 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
+This may have some undesirable 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:
+bodies if this is desirable: For example:
eval {
local $CGI::Carp::TO_BROWSER = 0;
@@ -344,7 +345,7 @@ use File::Spec;
$main::SIG{__WARN__}=\&CGI::Carp::warn;
-$CGI::Carp::VERSION = '3.51';
+$CGI::Carp::VERSION = '3.64';
$CGI::Carp::CUSTOM_MSG = undef;
$CGI::Carp::DIE_HANDLER = undef;
$CGI::Carp::TO_BROWSER = 1;
diff --git a/Master/tlpkg/tlperl/lib/CGI/Cookie.pm b/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
index da916aca652..5cc2dc20038 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
@@ -3,6 +3,8 @@ package CGI::Cookie;
use strict;
use warnings;
+use if $] >= 5.019, 'deprecate';
+
# See the bottom of this file for the POD documentation. Search for the
# string '=head'.
@@ -16,7 +18,7 @@ use warnings;
# wish, but if you redistribute a modified version, please attach a note
# listing the modifications you have made.
-our $VERSION='1.30';
+our $VERSION='1.31';
use CGI::Util qw(rearrange unescape escape);
use overload '""' => \&as_string, 'cmp' => \&compare, 'fallback' => 1;
@@ -334,13 +336,12 @@ 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).
-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).
+This feature is supported by nearly all modern browsers.
See these URLs for more information:
http://msdn.microsoft.com/en-us/library/ms533046.aspx
- http://www.owasp.org/index.php/HTTPOnly#Browsers_Supporting_HTTPOnly
+ http://www.browserscope.org/?category=security&v=top
=back
diff --git a/Master/tlpkg/tlperl/lib/CGI/Fast.pm b/Master/tlpkg/tlperl/lib/CGI/Fast.pm
index 288d854a9d5..01f7359c1c2 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Fast.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Fast.pm
@@ -1,5 +1,6 @@
package CGI::Fast;
use strict;
+use if $] >= 5.019, 'deprecate';
# A way to say "use warnings" that's compatible with even older perls.
# making it local will not affect the code that loads this module
@@ -19,7 +20,7 @@ local $^W = 1;
# wish, but if you redistribute a modified version, please attach a note
# listing the modifications you have made.
-$CGI::Fast::VERSION='1.09';
+$CGI::Fast::VERSION='1.10';
use CGI;
use FCGI;
diff --git a/Master/tlpkg/tlperl/lib/CGI/Pretty.pm b/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
index 869fe0cdf2e..acded21e6d8 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
@@ -8,9 +8,10 @@ package CGI::Pretty;
# Perl 5 distribution).
use strict;
+use if $] >= 5.019, 'deprecate';
use CGI ();
-$CGI::Pretty::VERSION = '3.46';
+$CGI::Pretty::VERSION = '3.64';
$CGI::DefaultClass = __PACKAGE__;
$CGI::Pretty::AutoloadClass = 'CGI';
@CGI::Pretty::ISA = qw( CGI );
@@ -168,7 +169,7 @@ sub initialize_globals {
# This is the string used for indentation of tags
$CGI::Pretty::INDENT = "\t";
- # This is the string used for seperation between tags
+ # This is the string used for separation between tags
$CGI::Pretty::LINEBREAK = $/;
# These tags are not prettify'd.
diff --git a/Master/tlpkg/tlperl/lib/CGI/Push.pm b/Master/tlpkg/tlperl/lib/CGI/Push.pm
index 2af7d794da1..3353efcbcaf 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Push.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Push.pm
@@ -1,4 +1,5 @@
package CGI::Push;
+use if $] >= 5.019, 'deprecate';
# See the bottom of this file for the POD documentation. Search for the
# string '=head'.
@@ -16,7 +17,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.05';
+$CGI::Push::VERSION='1.06';
use CGI;
use CGI::Util 'rearrange';
@ISA = ('CGI');
diff --git a/Master/tlpkg/tlperl/lib/CGI/Switch.pm b/Master/tlpkg/tlperl/lib/CGI/Switch.pm
index a311080e49f..ec21fe2f065 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Switch.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Switch.pm
@@ -1,7 +1,8 @@
package CGI::Switch;
+use if $] >= 5.019, 'deprecate';
use CGI;
-$VERSION = '1.01';
+$VERSION = '1.02';
1;
diff --git a/Master/tlpkg/tlperl/lib/CGI/Util.pm b/Master/tlpkg/tlperl/lib/CGI/Util.pm
index 494560e1292..4a1f28f1a7d 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Util.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Util.pm
@@ -2,10 +2,11 @@ package CGI::Util;
use base 'Exporter';
require 5.008001;
use strict;
+use if $] >= 5.019, 'deprecate';
our @EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
expires ebcdic2ascii ascii2ebcdic);
-our $VERSION = '3.62';
+our $VERSION = '3.64';
use constant EBCDIC => "\t" ne "\011";
@@ -210,7 +211,7 @@ sub unescape {
# Byte strings were traditionally used directly as a sequence of octets.
# This worked if they actually represented binary data (i.e. in CGI::Compress).
# This also worked if these byte strings were actually utf-8 encoded; e.g.,
-# when the source file used utf-8 without the apropriate "use utf8;".
+# when the source file used utf-8 without the appropriate "use utf8;".
# This fails if the byte string is actually a Latin 1 encoded string, but it
# was always so and cannot be fixed without breaking the binary data case.
# -- Stepan Kasal <skasal@redhat.com>
diff --git a/Master/tlpkg/tlperl/lib/CORE.pod b/Master/tlpkg/tlperl/lib/CORE.pod
new file mode 100644
index 00000000000..ce5feb5908a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE.pod
@@ -0,0 +1,96 @@
+=head1 NAME
+
+CORE - Namespace for Perl's core routines
+
+=head1 SYNOPSIS
+
+ BEGIN {
+ *CORE::GLOBAL::hex = sub { 1; };
+ }
+
+ print hex("0x50"),"\n"; # prints 1
+ print CORE::hex("0x50"),"\n"; # prints 80
+ CORE::say "yes"; # prints yes
+
+ BEGIN { *shove = \&CORE::push; }
+ shove @array, 1,2,3; # pushes on to @array
+
+=head1 DESCRIPTION
+
+The C<CORE> namespace gives access to the original built-in functions of
+Perl. The C<CORE> package is built into
+Perl, and therefore you do not need to use or
+require a hypothetical "CORE" module prior to accessing routines in this
+namespace.
+
+A list of the built-in functions in Perl can be found in L<perlfunc>.
+
+For all Perl keywords, a C<CORE::> prefix will force the built-in function
+to be used, even if it has been overridden or would normally require the
+L<feature> pragma. Despite appearances, this has nothing to do with the
+CORE package, but is part of Perl's syntax.
+
+For many Perl functions, the CORE package contains real subroutines. This
+feature is new in Perl 5.16. You can take references to these and make
+aliases. However, some can only be called as barewords; i.e., you cannot
+use ampersand syntax (C<&foo>) or call them through references. See the
+C<shove> example above. These subroutines exist for all keywords except the following:
+
+C<__DATA__>, C<__END__>, C<and>, C<cmp>, C<default>, C<do>, C<dump>,
+C<else>, C<elsif>, C<eq>, C<eval>, C<for>, C<foreach>, C<format>, C<ge>,
+C<given>, C<goto>, C<grep>, C<gt>, C<if>, C<last>, C<le>, C<local>, C<lt>,
+C<m>, C<map>, C<my>, C<ne>, C<next>, C<no>, C<or>, C<our>, C<package>,
+C<print>, C<printf>, C<q>, C<qq>, C<qr>, C<qw>, C<qx>, C<redo>, C<require>,
+C<return>, C<s>, C<say>, C<sort>, C<state>, C<sub>, C<tr>, C<unless>,
+C<until>, C<use>, C<when>, C<while>, C<x>, C<xor>, C<y>
+
+Calling with
+ampersand syntax and through references does not work for the following
+functions, as they have special syntax that cannot always be translated
+into a simple list (e.g., C<eof> vs C<eof()>):
+
+C<chdir>, C<chomp>, C<chop>, C<defined>, C<delete>, C<each>,
+C<eof>, C<exec>, C<exists>, C<keys>, C<lstat>, C<pop>, C<push>,
+C<shift>, C<splice>, C<split>, C<stat>, C<system>, C<truncate>,
+C<unlink>, C<unshift>, C<values>
+
+=head1 OVERRIDING CORE FUNCTIONS
+
+To override a Perl built-in routine with your own version, you need to
+import it at compile-time. This can be conveniently achieved with the
+C<subs> pragma. This will affect only the package in which you've imported
+the said subroutine:
+
+ use subs 'chdir';
+ sub chdir { ... }
+ chdir $somewhere;
+
+To override a built-in globally (that is, in all namespaces), you need to
+import your function into the C<CORE::GLOBAL> pseudo-namespace at compile
+time:
+
+ BEGIN {
+ *CORE::GLOBAL::hex = sub {
+ # ... your code here
+ };
+ }
+
+The new routine will be called whenever a built-in function is called
+without a qualifying package:
+
+ print hex("0x50"),"\n"; # prints 1
+
+In both cases, if you want access to the original, unaltered routine, use
+the C<CORE::> prefix:
+
+ print CORE::hex("0x50"),"\n"; # prints 80
+
+=head1 AUTHOR
+
+This documentation provided by Tels <nospam-abuse@bloodgate.com> 2007.
+
+=head1 SEE ALSO
+
+L<perlsub>, L<perlfunc>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/CORE/XSUB.h b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
index e5614fb8457..187919158cc 100644
--- a/Master/tlpkg/tlperl/lib/CORE/XSUB.h
+++ b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
@@ -22,7 +22,7 @@ class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>.
=for apidoc Amn|(whatever)|RETVAL
Variable which is setup by C<xsubpp> to hold the return value for an
-XSUB. This is always the proper type for the XSUB. See
+XSUB. This is always the proper type for the XSUB. See
L<perlxs/"The RETVAL Variable">.
=for apidoc Amn|(whatever)|THIS
@@ -48,7 +48,7 @@ Used to access elements on the XSUB's stack.
=for apidoc AmU||XS
Macro to declare an XSUB and its C parameter list. This is handled by
-C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro.
+C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro.
=for apidoc AmU||XS_INTERNAL
Macro to declare an XSUB and its C parameter list without exporting the symbols.
@@ -80,12 +80,12 @@ 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 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
+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
+The SV* corresponding to the $_ variable. Works even if there
is a lexical $_ in scope.
=cut
diff --git a/Master/tlpkg/tlperl/lib/CORE/av.h b/Master/tlpkg/tlperl/lib/CORE/av.h
index 391ae36d742..e15ebe69e43 100644
--- a/Master/tlpkg/tlperl/lib/CORE/av.h
+++ b/Master/tlpkg/tlperl/lib/CORE/av.h
@@ -73,6 +73,9 @@ Same as C<av_top_index()>.
#define AvREIFY_on(av) (SvFLAGS(av) |= SVpav_REIFY)
#define AvREIFY_off(av) (SvFLAGS(av) &= ~SVpav_REIFY)
#define AvREIFY_only(av) (AvREAL_off(av), SvFLAGS(av) |= SVpav_REIFY)
+#define AvPAD_NAMELIST(av) (SvFLAGS(av) & SVpad_NAMELIST)
+#define AvPAD_NAMELIST_on(av) (SvFLAGS(av) |= SVpad_NAMELIST)
+
#define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY))
diff --git a/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h
index b5d71afb16d..7bc14d88d0f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h
+++ b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h
@@ -9,28 +9,25 @@
#ifndef PERL_IN_XSUB_RE
-static UV Latin1_invlist[] = {
+static const UV Latin1_invlist[] = {
2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 0, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 256,
- 0
+ 148565664, /* Version and data structure type */
+ 0, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
+ 256
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV AboveLatin1_invlist[] = {
- 1, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV AboveLatin1_invlist[] = {
+ 2, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
256
};
@@ -38,28 +35,25 @@ static UV AboveLatin1_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV ASCII_invlist[] = {
+static const UV ASCII_invlist[] = {
2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 0, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 128,
- 0
+ 148565664, /* Version and data structure type */
+ 0, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
+ 128
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1Cased_invlist[] = {
- 16, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV Cased_invlist[] = {
+ 239, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
65,
91,
97,
@@ -75,20 +69,241 @@ static UV L1Cased_invlist[] = {
216,
247,
248,
- 443
+ 443,
+ 444,
+ 448,
+ 452,
+ 660,
+ 661,
+ 697,
+ 704,
+ 706,
+ 736,
+ 741,
+ 837,
+ 838,
+ 880,
+ 884,
+ 886,
+ 888,
+ 890,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1377,
+ 1416,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 7424,
+ 7616,
+ 7680,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8501,
+ 8505,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8576,
+ 8579,
+ 8581,
+ 9398,
+ 9450,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11503,
+ 11506,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 42560,
+ 42606,
+ 42624,
+ 42648,
+ 42786,
+ 42888,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43003,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 65313,
+ 65339,
+ 65345,
+ 65371,
+ 66560,
+ 66640,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV VertSpace_invlist[] = {
- 6, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV VertSpace_invlist[] = {
+ 7, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
10,
14,
133,
@@ -101,30 +316,12 @@ static UV VertSpace_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV PerlSpace_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 9,
- 14,
- 32,
- 33
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV XPerlSpace_invlist[] = {
- 22, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPerlSpace_invlist[] = {
+ 21, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
9,
14,
32,
@@ -135,8 +332,6 @@ static UV XPerlSpace_invlist[] = {
161,
5760,
5761,
- 6158,
- 6159,
8192,
8203,
8232,
@@ -153,32 +348,12 @@ static UV XPerlSpace_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV PosixAlnum_invlist[] = {
- 6, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 48,
- 58,
- 65,
- 91,
- 97,
- 123
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV L1PosixAlnum_invlist[] = {
- 18, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixAlnum_invlist[] = {
+ 1133, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
48,
58,
65,
@@ -196,37 +371,1133 @@ static UV L1PosixAlnum_invlist[] = {
216,
247,
248,
- 706
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixAlpha_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 65,
- 91,
- 97,
- 123
+ 706,
+ 710,
+ 722,
+ 736,
+ 741,
+ 748,
+ 749,
+ 750,
+ 751,
+ 837,
+ 838,
+ 880,
+ 885,
+ 886,
+ 888,
+ 890,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1370,
+ 1377,
+ 1416,
+ 1456,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1475,
+ 1476,
+ 1478,
+ 1479,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1523,
+ 1552,
+ 1563,
+ 1568,
+ 1624,
+ 1625,
+ 1642,
+ 1646,
+ 1748,
+ 1749,
+ 1757,
+ 1761,
+ 1769,
+ 1773,
+ 1789,
+ 1791,
+ 1792,
+ 1808,
+ 1856,
+ 1869,
+ 1970,
+ 1984,
+ 2027,
+ 2036,
+ 2038,
+ 2042,
+ 2043,
+ 2048,
+ 2072,
+ 2074,
+ 2093,
+ 2112,
+ 2137,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2282,
+ 2288,
+ 2303,
+ 2304,
+ 2364,
+ 2365,
+ 2381,
+ 2382,
+ 2385,
+ 2389,
+ 2404,
+ 2406,
+ 2416,
+ 2417,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2493,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2509,
+ 2510,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2534,
+ 2546,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2637,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2662,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2749,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2765,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2790,
+ 2800,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2877,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2893,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2918,
+ 2928,
+ 2929,
+ 2930,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3021,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3046,
+ 3056,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3149,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3174,
+ 3184,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3261,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3277,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3302,
+ 3312,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3405,
+ 3406,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3430,
+ 3440,
+ 3450,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3572,
+ 3585,
+ 3643,
+ 3648,
+ 3655,
+ 3661,
+ 3662,
+ 3664,
+ 3674,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3789,
+ 3790,
+ 3792,
+ 3802,
+ 3804,
+ 3808,
+ 3840,
+ 3841,
+ 3872,
+ 3882,
+ 3904,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3970,
+ 3976,
+ 3992,
+ 3993,
+ 4029,
+ 4096,
+ 4151,
+ 4152,
+ 4153,
+ 4155,
+ 4170,
+ 4176,
+ 4195,
+ 4197,
+ 4201,
+ 4206,
+ 4231,
+ 4238,
+ 4239,
+ 4240,
+ 4250,
+ 4252,
+ 4254,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4347,
+ 4348,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4959,
+ 4960,
+ 4992,
+ 5008,
+ 5024,
+ 5109,
+ 5121,
+ 5741,
+ 5743,
+ 5760,
+ 5761,
+ 5787,
+ 5792,
+ 5867,
+ 5870,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5908,
+ 5920,
+ 5940,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6068,
+ 6070,
+ 6089,
+ 6103,
+ 6104,
+ 6108,
+ 6109,
+ 6112,
+ 6122,
+ 6160,
+ 6170,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6457,
+ 6470,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6608,
+ 6618,
+ 6656,
+ 6684,
+ 6688,
+ 6751,
+ 6753,
+ 6773,
+ 6784,
+ 6794,
+ 6800,
+ 6810,
+ 6823,
+ 6824,
+ 6912,
+ 6964,
+ 6965,
+ 6980,
+ 6981,
+ 6988,
+ 6992,
+ 7002,
+ 7040,
+ 7082,
+ 7084,
+ 7142,
+ 7143,
+ 7154,
+ 7168,
+ 7222,
+ 7232,
+ 7242,
+ 7245,
+ 7294,
+ 7401,
+ 7405,
+ 7406,
+ 7412,
+ 7413,
+ 7415,
+ 7424,
+ 7616,
+ 7680,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8585,
+ 9398,
+ 9450,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11503,
+ 11506,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11632,
+ 11648,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11776,
+ 11823,
+ 11824,
+ 12293,
+ 12296,
+ 12321,
+ 12330,
+ 12337,
+ 12342,
+ 12344,
+ 12349,
+ 12353,
+ 12439,
+ 12445,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12704,
+ 12731,
+ 12784,
+ 12800,
+ 13312,
+ 19894,
+ 19968,
+ 40909,
+ 40960,
+ 42125,
+ 42192,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42540,
+ 42560,
+ 42607,
+ 42612,
+ 42620,
+ 42623,
+ 42648,
+ 42655,
+ 42736,
+ 42775,
+ 42784,
+ 42786,
+ 42889,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43010,
+ 43011,
+ 43014,
+ 43015,
+ 43019,
+ 43020,
+ 43048,
+ 43072,
+ 43124,
+ 43136,
+ 43204,
+ 43216,
+ 43226,
+ 43250,
+ 43256,
+ 43259,
+ 43260,
+ 43264,
+ 43307,
+ 43312,
+ 43347,
+ 43360,
+ 43389,
+ 43392,
+ 43443,
+ 43444,
+ 43456,
+ 43471,
+ 43482,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43600,
+ 43610,
+ 43616,
+ 43639,
+ 43642,
+ 43643,
+ 43648,
+ 43711,
+ 43712,
+ 43713,
+ 43714,
+ 43715,
+ 43739,
+ 43742,
+ 43744,
+ 43760,
+ 43762,
+ 43766,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44011,
+ 44016,
+ 44026,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 63744,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64297,
+ 64298,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64434,
+ 64467,
+ 64830,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65020,
+ 65136,
+ 65141,
+ 65142,
+ 65277,
+ 65296,
+ 65306,
+ 65313,
+ 65339,
+ 65345,
+ 65371,
+ 65382,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65856,
+ 65909,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66464,
+ 66500,
+ 66504,
+ 66512,
+ 66513,
+ 66518,
+ 66560,
+ 66718,
+ 66720,
+ 66730,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67840,
+ 67862,
+ 67872,
+ 67898,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68192,
+ 68221,
+ 68352,
+ 68406,
+ 68416,
+ 68438,
+ 68448,
+ 68467,
+ 68608,
+ 68681,
+ 69632,
+ 69702,
+ 69734,
+ 69744,
+ 69762,
+ 69817,
+ 69840,
+ 69865,
+ 69872,
+ 69882,
+ 69888,
+ 69939,
+ 69942,
+ 69952,
+ 70016,
+ 70080,
+ 70081,
+ 70085,
+ 70096,
+ 70106,
+ 71296,
+ 71350,
+ 71360,
+ 71370,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94099,
+ 94112,
+ 110592,
+ 110594,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780,
+ 120782,
+ 120832,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixAlpha_invlist[] = {
- 16, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixAlpha_invlist[] = {
+ 1081, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
65,
91,
97,
@@ -242,37 +1513,1083 @@ static UV L1PosixAlpha_invlist[] = {
216,
247,
248,
- 706
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixBlank_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 9,
- 10,
- 32,
- 33
+ 706,
+ 710,
+ 722,
+ 736,
+ 741,
+ 748,
+ 749,
+ 750,
+ 751,
+ 837,
+ 838,
+ 880,
+ 885,
+ 886,
+ 888,
+ 890,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1370,
+ 1377,
+ 1416,
+ 1456,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1475,
+ 1476,
+ 1478,
+ 1479,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1523,
+ 1552,
+ 1563,
+ 1568,
+ 1624,
+ 1625,
+ 1632,
+ 1646,
+ 1748,
+ 1749,
+ 1757,
+ 1761,
+ 1769,
+ 1773,
+ 1776,
+ 1786,
+ 1789,
+ 1791,
+ 1792,
+ 1808,
+ 1856,
+ 1869,
+ 1970,
+ 1994,
+ 2027,
+ 2036,
+ 2038,
+ 2042,
+ 2043,
+ 2048,
+ 2072,
+ 2074,
+ 2093,
+ 2112,
+ 2137,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2282,
+ 2288,
+ 2303,
+ 2304,
+ 2364,
+ 2365,
+ 2381,
+ 2382,
+ 2385,
+ 2389,
+ 2404,
+ 2417,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2493,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2509,
+ 2510,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2544,
+ 2546,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2637,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2672,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2749,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2765,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2877,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2893,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2929,
+ 2930,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3021,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3149,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3261,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3277,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3405,
+ 3406,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3450,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3572,
+ 3585,
+ 3643,
+ 3648,
+ 3655,
+ 3661,
+ 3662,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3789,
+ 3790,
+ 3804,
+ 3808,
+ 3840,
+ 3841,
+ 3904,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3970,
+ 3976,
+ 3992,
+ 3993,
+ 4029,
+ 4096,
+ 4151,
+ 4152,
+ 4153,
+ 4155,
+ 4160,
+ 4176,
+ 4195,
+ 4197,
+ 4201,
+ 4206,
+ 4231,
+ 4238,
+ 4239,
+ 4252,
+ 4254,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4347,
+ 4348,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4959,
+ 4960,
+ 4992,
+ 5008,
+ 5024,
+ 5109,
+ 5121,
+ 5741,
+ 5743,
+ 5760,
+ 5761,
+ 5787,
+ 5792,
+ 5867,
+ 5870,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5908,
+ 5920,
+ 5940,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6068,
+ 6070,
+ 6089,
+ 6103,
+ 6104,
+ 6108,
+ 6109,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6457,
+ 6480,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6656,
+ 6684,
+ 6688,
+ 6751,
+ 6753,
+ 6773,
+ 6823,
+ 6824,
+ 6912,
+ 6964,
+ 6965,
+ 6980,
+ 6981,
+ 6988,
+ 7040,
+ 7082,
+ 7084,
+ 7088,
+ 7098,
+ 7142,
+ 7143,
+ 7154,
+ 7168,
+ 7222,
+ 7245,
+ 7248,
+ 7258,
+ 7294,
+ 7401,
+ 7405,
+ 7406,
+ 7412,
+ 7413,
+ 7415,
+ 7424,
+ 7616,
+ 7680,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8585,
+ 9398,
+ 9450,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11503,
+ 11506,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11632,
+ 11648,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11776,
+ 11823,
+ 11824,
+ 12293,
+ 12296,
+ 12321,
+ 12330,
+ 12337,
+ 12342,
+ 12344,
+ 12349,
+ 12353,
+ 12439,
+ 12445,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12704,
+ 12731,
+ 12784,
+ 12800,
+ 13312,
+ 19894,
+ 19968,
+ 40909,
+ 40960,
+ 42125,
+ 42192,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42528,
+ 42538,
+ 42540,
+ 42560,
+ 42607,
+ 42612,
+ 42620,
+ 42623,
+ 42648,
+ 42655,
+ 42736,
+ 42775,
+ 42784,
+ 42786,
+ 42889,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43010,
+ 43011,
+ 43014,
+ 43015,
+ 43019,
+ 43020,
+ 43048,
+ 43072,
+ 43124,
+ 43136,
+ 43204,
+ 43250,
+ 43256,
+ 43259,
+ 43260,
+ 43274,
+ 43307,
+ 43312,
+ 43347,
+ 43360,
+ 43389,
+ 43392,
+ 43443,
+ 43444,
+ 43456,
+ 43471,
+ 43472,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43616,
+ 43639,
+ 43642,
+ 43643,
+ 43648,
+ 43711,
+ 43712,
+ 43713,
+ 43714,
+ 43715,
+ 43739,
+ 43742,
+ 43744,
+ 43760,
+ 43762,
+ 43766,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44011,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 63744,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64297,
+ 64298,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64434,
+ 64467,
+ 64830,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65020,
+ 65136,
+ 65141,
+ 65142,
+ 65277,
+ 65313,
+ 65339,
+ 65345,
+ 65371,
+ 65382,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65856,
+ 65909,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66464,
+ 66500,
+ 66504,
+ 66512,
+ 66513,
+ 66518,
+ 66560,
+ 66718,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67840,
+ 67862,
+ 67872,
+ 67898,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68192,
+ 68221,
+ 68352,
+ 68406,
+ 68416,
+ 68438,
+ 68448,
+ 68467,
+ 68608,
+ 68681,
+ 69632,
+ 69702,
+ 69762,
+ 69817,
+ 69840,
+ 69865,
+ 69888,
+ 69939,
+ 70016,
+ 70080,
+ 70081,
+ 70085,
+ 71296,
+ 71350,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94099,
+ 94112,
+ 110592,
+ 110594,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV XPosixBlank_invlist[] = {
- 18, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixBlank_invlist[] = {
+ 17, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
9,
10,
32,
@@ -281,8 +2598,6 @@ static UV XPosixBlank_invlist[] = {
161,
5760,
5761,
- 6158,
- 6159,
8192,
8203,
8239,
@@ -297,109 +2612,1223 @@ static UV XPosixBlank_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV PosixCntrl_invlist[] = {
+static const UV XPosixCntrl_invlist[] = {
4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 0, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+ 148565664, /* Version and data structure type */
+ 0, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
32,
127,
- 128,
- 0
+ 160
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV XPosixCntrl_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 0, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 32,
- 127,
- 160,
- 0
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixDigit_invlist[] = {
- 2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixDigit_invlist[] = {
+ 85, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
48,
- 58
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixGraph_invlist[] = {
- 2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 33,
- 127
+ 58,
+ 1632,
+ 1642,
+ 1776,
+ 1786,
+ 1984,
+ 1994,
+ 2406,
+ 2416,
+ 2534,
+ 2544,
+ 2662,
+ 2672,
+ 2790,
+ 2800,
+ 2918,
+ 2928,
+ 3046,
+ 3056,
+ 3174,
+ 3184,
+ 3302,
+ 3312,
+ 3430,
+ 3440,
+ 3664,
+ 3674,
+ 3792,
+ 3802,
+ 3872,
+ 3882,
+ 4160,
+ 4170,
+ 4240,
+ 4250,
+ 6112,
+ 6122,
+ 6160,
+ 6170,
+ 6470,
+ 6480,
+ 6608,
+ 6618,
+ 6784,
+ 6794,
+ 6800,
+ 6810,
+ 6992,
+ 7002,
+ 7088,
+ 7098,
+ 7232,
+ 7242,
+ 7248,
+ 7258,
+ 42528,
+ 42538,
+ 43216,
+ 43226,
+ 43264,
+ 43274,
+ 43472,
+ 43482,
+ 43600,
+ 43610,
+ 44016,
+ 44026,
+ 65296,
+ 65306,
+ 66720,
+ 66730,
+ 69734,
+ 69744,
+ 69872,
+ 69882,
+ 69942,
+ 69952,
+ 70096,
+ 70106,
+ 71360,
+ 71370,
+ 120782,
+ 120832
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixGraph_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixGraph_invlist[] = {
+ 1089, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
33,
127,
161,
- 888
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixLower_invlist[] = {
- 2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 97,
- 123
+ 888,
+ 890,
+ 895,
+ 900,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1376,
+ 1377,
+ 1416,
+ 1417,
+ 1419,
+ 1423,
+ 1424,
+ 1425,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1525,
+ 1536,
+ 1541,
+ 1542,
+ 1565,
+ 1566,
+ 1806,
+ 1807,
+ 1867,
+ 1869,
+ 1970,
+ 1984,
+ 2043,
+ 2048,
+ 2094,
+ 2096,
+ 2111,
+ 2112,
+ 2140,
+ 2142,
+ 2143,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2303,
+ 2304,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2492,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2534,
+ 2556,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2620,
+ 2621,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2638,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2662,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2748,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2766,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2790,
+ 2802,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2876,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2894,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2918,
+ 2936,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3022,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3046,
+ 3067,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3150,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3174,
+ 3184,
+ 3192,
+ 3200,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3260,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3278,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3302,
+ 3312,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3430,
+ 3446,
+ 3449,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3530,
+ 3531,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3573,
+ 3585,
+ 3643,
+ 3647,
+ 3676,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3784,
+ 3790,
+ 3792,
+ 3802,
+ 3804,
+ 3808,
+ 3840,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3992,
+ 3993,
+ 4029,
+ 4030,
+ 4045,
+ 4046,
+ 4059,
+ 4096,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4957,
+ 4989,
+ 4992,
+ 5018,
+ 5024,
+ 5109,
+ 5120,
+ 5760,
+ 5761,
+ 5789,
+ 5792,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5909,
+ 5920,
+ 5943,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6110,
+ 6112,
+ 6122,
+ 6128,
+ 6138,
+ 6144,
+ 6159,
+ 6160,
+ 6170,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6460,
+ 6464,
+ 6465,
+ 6468,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6608,
+ 6619,
+ 6622,
+ 6684,
+ 6686,
+ 6751,
+ 6752,
+ 6781,
+ 6783,
+ 6794,
+ 6800,
+ 6810,
+ 6816,
+ 6830,
+ 6912,
+ 6988,
+ 6992,
+ 7037,
+ 7040,
+ 7156,
+ 7164,
+ 7224,
+ 7227,
+ 7242,
+ 7245,
+ 7296,
+ 7360,
+ 7368,
+ 7376,
+ 7415,
+ 7424,
+ 7655,
+ 7676,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8133,
+ 8134,
+ 8148,
+ 8150,
+ 8156,
+ 8157,
+ 8176,
+ 8178,
+ 8181,
+ 8182,
+ 8191,
+ 8203,
+ 8232,
+ 8234,
+ 8239,
+ 8240,
+ 8287,
+ 8288,
+ 8293,
+ 8294,
+ 8306,
+ 8308,
+ 8335,
+ 8336,
+ 8349,
+ 8352,
+ 8379,
+ 8400,
+ 8433,
+ 8448,
+ 8586,
+ 8592,
+ 9204,
+ 9216,
+ 9255,
+ 9280,
+ 9291,
+ 9312,
+ 9984,
+ 9985,
+ 11085,
+ 11088,
+ 11098,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11508,
+ 11513,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11633,
+ 11647,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11836,
+ 11904,
+ 11930,
+ 11931,
+ 12020,
+ 12032,
+ 12246,
+ 12272,
+ 12284,
+ 12289,
+ 12352,
+ 12353,
+ 12439,
+ 12441,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12688,
+ 12731,
+ 12736,
+ 12772,
+ 12784,
+ 12831,
+ 12832,
+ 13055,
+ 13056,
+ 19894,
+ 19904,
+ 40909,
+ 40960,
+ 42125,
+ 42128,
+ 42183,
+ 42192,
+ 42540,
+ 42560,
+ 42648,
+ 42655,
+ 42744,
+ 42752,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43052,
+ 43056,
+ 43066,
+ 43072,
+ 43128,
+ 43136,
+ 43205,
+ 43214,
+ 43226,
+ 43232,
+ 43260,
+ 43264,
+ 43348,
+ 43359,
+ 43389,
+ 43392,
+ 43470,
+ 43471,
+ 43482,
+ 43486,
+ 43488,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43600,
+ 43610,
+ 43612,
+ 43644,
+ 43648,
+ 43715,
+ 43739,
+ 43767,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44014,
+ 44016,
+ 44026,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 57344,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64450,
+ 64467,
+ 64832,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65022,
+ 65024,
+ 65050,
+ 65056,
+ 65063,
+ 65072,
+ 65107,
+ 65108,
+ 65127,
+ 65128,
+ 65132,
+ 65136,
+ 65141,
+ 65142,
+ 65277,
+ 65279,
+ 65280,
+ 65281,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65504,
+ 65511,
+ 65512,
+ 65519,
+ 65529,
+ 65534,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65792,
+ 65795,
+ 65799,
+ 65844,
+ 65847,
+ 65931,
+ 65936,
+ 65948,
+ 66000,
+ 66046,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66336,
+ 66340,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66463,
+ 66500,
+ 66504,
+ 66518,
+ 66560,
+ 66718,
+ 66720,
+ 66730,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67671,
+ 67680,
+ 67840,
+ 67868,
+ 67871,
+ 67898,
+ 67903,
+ 67904,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68152,
+ 68155,
+ 68159,
+ 68168,
+ 68176,
+ 68185,
+ 68192,
+ 68224,
+ 68352,
+ 68406,
+ 68409,
+ 68438,
+ 68440,
+ 68467,
+ 68472,
+ 68480,
+ 68608,
+ 68681,
+ 69216,
+ 69247,
+ 69632,
+ 69710,
+ 69714,
+ 69744,
+ 69760,
+ 69826,
+ 69840,
+ 69865,
+ 69872,
+ 69882,
+ 69888,
+ 69941,
+ 69942,
+ 69956,
+ 70016,
+ 70089,
+ 70096,
+ 70106,
+ 71296,
+ 71352,
+ 71360,
+ 71370,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 74864,
+ 74868,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94095,
+ 94112,
+ 110592,
+ 110594,
+ 118784,
+ 119030,
+ 119040,
+ 119079,
+ 119081,
+ 119262,
+ 119296,
+ 119366,
+ 119552,
+ 119639,
+ 119648,
+ 119666,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120780,
+ 120782,
+ 120832,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 126704,
+ 126706,
+ 126976,
+ 127020,
+ 127024,
+ 127124,
+ 127136,
+ 127151,
+ 127153,
+ 127167,
+ 127169,
+ 127184,
+ 127185,
+ 127200,
+ 127232,
+ 127243,
+ 127248,
+ 127279,
+ 127280,
+ 127340,
+ 127344,
+ 127387,
+ 127462,
+ 127491,
+ 127504,
+ 127547,
+ 127552,
+ 127561,
+ 127568,
+ 127570,
+ 127744,
+ 127777,
+ 127792,
+ 127798,
+ 127799,
+ 127869,
+ 127872,
+ 127892,
+ 127904,
+ 127941,
+ 127942,
+ 127947,
+ 127968,
+ 127985,
+ 128000,
+ 128063,
+ 128064,
+ 128065,
+ 128066,
+ 128248,
+ 128249,
+ 128253,
+ 128256,
+ 128318,
+ 128320,
+ 128324,
+ 128336,
+ 128360,
+ 128507,
+ 128577,
+ 128581,
+ 128592,
+ 128640,
+ 128710,
+ 128768,
+ 128884,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102,
+ 917505,
+ 917506,
+ 917536,
+ 917632,
+ 917760,
+ 918000,
+ 983040,
+ 1048574,
+ 1048576,
+ 1114110
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixLower_invlist[] = {
- 12, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixLower_invlist[] = {
+ 1237, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
97,
123,
170,
@@ -411,73 +3840,2337 @@ static UV L1PosixLower_invlist[] = {
223,
247,
248,
- 256
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixPrint_invlist[] = {
- 2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 32,
- 127
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 313,
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327,
+ 328,
+ 330,
+ 331,
+ 332,
+ 333,
+ 334,
+ 335,
+ 336,
+ 337,
+ 338,
+ 339,
+ 340,
+ 341,
+ 342,
+ 343,
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351,
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 385,
+ 387,
+ 388,
+ 389,
+ 390,
+ 392,
+ 393,
+ 396,
+ 398,
+ 402,
+ 403,
+ 405,
+ 406,
+ 409,
+ 412,
+ 414,
+ 415,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 424,
+ 425,
+ 426,
+ 428,
+ 429,
+ 430,
+ 432,
+ 433,
+ 436,
+ 437,
+ 438,
+ 439,
+ 441,
+ 443,
+ 445,
+ 448,
+ 454,
+ 455,
+ 457,
+ 458,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 497,
+ 499,
+ 500,
+ 501,
+ 502,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ 570,
+ 572,
+ 573,
+ 575,
+ 577,
+ 578,
+ 579,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 660,
+ 661,
+ 697,
+ 704,
+ 706,
+ 736,
+ 741,
+ 837,
+ 838,
+ 881,
+ 882,
+ 883,
+ 884,
+ 887,
+ 888,
+ 890,
+ 894,
+ 912,
+ 913,
+ 940,
+ 975,
+ 976,
+ 978,
+ 981,
+ 984,
+ 985,
+ 986,
+ 987,
+ 988,
+ 989,
+ 990,
+ 991,
+ 992,
+ 993,
+ 994,
+ 995,
+ 996,
+ 997,
+ 998,
+ 999,
+ 1000,
+ 1001,
+ 1002,
+ 1003,
+ 1004,
+ 1005,
+ 1006,
+ 1007,
+ 1012,
+ 1013,
+ 1014,
+ 1016,
+ 1017,
+ 1019,
+ 1021,
+ 1072,
+ 1120,
+ 1121,
+ 1122,
+ 1123,
+ 1124,
+ 1125,
+ 1126,
+ 1127,
+ 1128,
+ 1129,
+ 1130,
+ 1131,
+ 1132,
+ 1133,
+ 1134,
+ 1135,
+ 1136,
+ 1137,
+ 1138,
+ 1139,
+ 1140,
+ 1141,
+ 1142,
+ 1143,
+ 1144,
+ 1145,
+ 1146,
+ 1147,
+ 1148,
+ 1149,
+ 1150,
+ 1151,
+ 1152,
+ 1153,
+ 1154,
+ 1163,
+ 1164,
+ 1165,
+ 1166,
+ 1167,
+ 1168,
+ 1169,
+ 1170,
+ 1171,
+ 1172,
+ 1173,
+ 1174,
+ 1175,
+ 1176,
+ 1177,
+ 1178,
+ 1179,
+ 1180,
+ 1181,
+ 1182,
+ 1183,
+ 1184,
+ 1185,
+ 1186,
+ 1187,
+ 1188,
+ 1189,
+ 1190,
+ 1191,
+ 1192,
+ 1193,
+ 1194,
+ 1195,
+ 1196,
+ 1197,
+ 1198,
+ 1199,
+ 1200,
+ 1201,
+ 1202,
+ 1203,
+ 1204,
+ 1205,
+ 1206,
+ 1207,
+ 1208,
+ 1209,
+ 1210,
+ 1211,
+ 1212,
+ 1213,
+ 1214,
+ 1215,
+ 1216,
+ 1218,
+ 1219,
+ 1220,
+ 1221,
+ 1222,
+ 1223,
+ 1224,
+ 1225,
+ 1226,
+ 1227,
+ 1228,
+ 1229,
+ 1230,
+ 1232,
+ 1233,
+ 1234,
+ 1235,
+ 1236,
+ 1237,
+ 1238,
+ 1239,
+ 1240,
+ 1241,
+ 1242,
+ 1243,
+ 1244,
+ 1245,
+ 1246,
+ 1247,
+ 1248,
+ 1249,
+ 1250,
+ 1251,
+ 1252,
+ 1253,
+ 1254,
+ 1255,
+ 1256,
+ 1257,
+ 1258,
+ 1259,
+ 1260,
+ 1261,
+ 1262,
+ 1263,
+ 1264,
+ 1265,
+ 1266,
+ 1267,
+ 1268,
+ 1269,
+ 1270,
+ 1271,
+ 1272,
+ 1273,
+ 1274,
+ 1275,
+ 1276,
+ 1277,
+ 1278,
+ 1279,
+ 1280,
+ 1281,
+ 1282,
+ 1283,
+ 1284,
+ 1285,
+ 1286,
+ 1287,
+ 1288,
+ 1289,
+ 1290,
+ 1291,
+ 1292,
+ 1293,
+ 1294,
+ 1295,
+ 1296,
+ 1297,
+ 1298,
+ 1299,
+ 1300,
+ 1301,
+ 1302,
+ 1303,
+ 1304,
+ 1305,
+ 1306,
+ 1307,
+ 1308,
+ 1309,
+ 1310,
+ 1311,
+ 1312,
+ 1313,
+ 1314,
+ 1315,
+ 1316,
+ 1317,
+ 1318,
+ 1319,
+ 1320,
+ 1377,
+ 1416,
+ 7424,
+ 7616,
+ 7681,
+ 7682,
+ 7683,
+ 7684,
+ 7685,
+ 7686,
+ 7687,
+ 7688,
+ 7689,
+ 7690,
+ 7691,
+ 7692,
+ 7693,
+ 7694,
+ 7695,
+ 7696,
+ 7697,
+ 7698,
+ 7699,
+ 7700,
+ 7701,
+ 7702,
+ 7703,
+ 7704,
+ 7705,
+ 7706,
+ 7707,
+ 7708,
+ 7709,
+ 7710,
+ 7711,
+ 7712,
+ 7713,
+ 7714,
+ 7715,
+ 7716,
+ 7717,
+ 7718,
+ 7719,
+ 7720,
+ 7721,
+ 7722,
+ 7723,
+ 7724,
+ 7725,
+ 7726,
+ 7727,
+ 7728,
+ 7729,
+ 7730,
+ 7731,
+ 7732,
+ 7733,
+ 7734,
+ 7735,
+ 7736,
+ 7737,
+ 7738,
+ 7739,
+ 7740,
+ 7741,
+ 7742,
+ 7743,
+ 7744,
+ 7745,
+ 7746,
+ 7747,
+ 7748,
+ 7749,
+ 7750,
+ 7751,
+ 7752,
+ 7753,
+ 7754,
+ 7755,
+ 7756,
+ 7757,
+ 7758,
+ 7759,
+ 7760,
+ 7761,
+ 7762,
+ 7763,
+ 7764,
+ 7765,
+ 7766,
+ 7767,
+ 7768,
+ 7769,
+ 7770,
+ 7771,
+ 7772,
+ 7773,
+ 7774,
+ 7775,
+ 7776,
+ 7777,
+ 7778,
+ 7779,
+ 7780,
+ 7781,
+ 7782,
+ 7783,
+ 7784,
+ 7785,
+ 7786,
+ 7787,
+ 7788,
+ 7789,
+ 7790,
+ 7791,
+ 7792,
+ 7793,
+ 7794,
+ 7795,
+ 7796,
+ 7797,
+ 7798,
+ 7799,
+ 7800,
+ 7801,
+ 7802,
+ 7803,
+ 7804,
+ 7805,
+ 7806,
+ 7807,
+ 7808,
+ 7809,
+ 7810,
+ 7811,
+ 7812,
+ 7813,
+ 7814,
+ 7815,
+ 7816,
+ 7817,
+ 7818,
+ 7819,
+ 7820,
+ 7821,
+ 7822,
+ 7823,
+ 7824,
+ 7825,
+ 7826,
+ 7827,
+ 7828,
+ 7829,
+ 7838,
+ 7839,
+ 7840,
+ 7841,
+ 7842,
+ 7843,
+ 7844,
+ 7845,
+ 7846,
+ 7847,
+ 7848,
+ 7849,
+ 7850,
+ 7851,
+ 7852,
+ 7853,
+ 7854,
+ 7855,
+ 7856,
+ 7857,
+ 7858,
+ 7859,
+ 7860,
+ 7861,
+ 7862,
+ 7863,
+ 7864,
+ 7865,
+ 7866,
+ 7867,
+ 7868,
+ 7869,
+ 7870,
+ 7871,
+ 7872,
+ 7873,
+ 7874,
+ 7875,
+ 7876,
+ 7877,
+ 7878,
+ 7879,
+ 7880,
+ 7881,
+ 7882,
+ 7883,
+ 7884,
+ 7885,
+ 7886,
+ 7887,
+ 7888,
+ 7889,
+ 7890,
+ 7891,
+ 7892,
+ 7893,
+ 7894,
+ 7895,
+ 7896,
+ 7897,
+ 7898,
+ 7899,
+ 7900,
+ 7901,
+ 7902,
+ 7903,
+ 7904,
+ 7905,
+ 7906,
+ 7907,
+ 7908,
+ 7909,
+ 7910,
+ 7911,
+ 7912,
+ 7913,
+ 7914,
+ 7915,
+ 7916,
+ 7917,
+ 7918,
+ 7919,
+ 7920,
+ 7921,
+ 7922,
+ 7923,
+ 7924,
+ 7925,
+ 7926,
+ 7927,
+ 7928,
+ 7929,
+ 7930,
+ 7931,
+ 7932,
+ 7933,
+ 7934,
+ 7935,
+ 7944,
+ 7952,
+ 7958,
+ 7968,
+ 7976,
+ 7984,
+ 7992,
+ 8000,
+ 8006,
+ 8016,
+ 8024,
+ 8032,
+ 8040,
+ 8048,
+ 8062,
+ 8064,
+ 8072,
+ 8080,
+ 8088,
+ 8096,
+ 8104,
+ 8112,
+ 8117,
+ 8118,
+ 8120,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8136,
+ 8144,
+ 8148,
+ 8150,
+ 8152,
+ 8160,
+ 8168,
+ 8178,
+ 8181,
+ 8182,
+ 8184,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8458,
+ 8459,
+ 8462,
+ 8464,
+ 8467,
+ 8468,
+ 8495,
+ 8496,
+ 8500,
+ 8501,
+ 8505,
+ 8506,
+ 8508,
+ 8510,
+ 8518,
+ 8522,
+ 8526,
+ 8527,
+ 8560,
+ 8576,
+ 8580,
+ 8581,
+ 9424,
+ 9450,
+ 11312,
+ 11359,
+ 11361,
+ 11362,
+ 11365,
+ 11367,
+ 11368,
+ 11369,
+ 11370,
+ 11371,
+ 11372,
+ 11373,
+ 11377,
+ 11378,
+ 11379,
+ 11381,
+ 11382,
+ 11390,
+ 11393,
+ 11394,
+ 11395,
+ 11396,
+ 11397,
+ 11398,
+ 11399,
+ 11400,
+ 11401,
+ 11402,
+ 11403,
+ 11404,
+ 11405,
+ 11406,
+ 11407,
+ 11408,
+ 11409,
+ 11410,
+ 11411,
+ 11412,
+ 11413,
+ 11414,
+ 11415,
+ 11416,
+ 11417,
+ 11418,
+ 11419,
+ 11420,
+ 11421,
+ 11422,
+ 11423,
+ 11424,
+ 11425,
+ 11426,
+ 11427,
+ 11428,
+ 11429,
+ 11430,
+ 11431,
+ 11432,
+ 11433,
+ 11434,
+ 11435,
+ 11436,
+ 11437,
+ 11438,
+ 11439,
+ 11440,
+ 11441,
+ 11442,
+ 11443,
+ 11444,
+ 11445,
+ 11446,
+ 11447,
+ 11448,
+ 11449,
+ 11450,
+ 11451,
+ 11452,
+ 11453,
+ 11454,
+ 11455,
+ 11456,
+ 11457,
+ 11458,
+ 11459,
+ 11460,
+ 11461,
+ 11462,
+ 11463,
+ 11464,
+ 11465,
+ 11466,
+ 11467,
+ 11468,
+ 11469,
+ 11470,
+ 11471,
+ 11472,
+ 11473,
+ 11474,
+ 11475,
+ 11476,
+ 11477,
+ 11478,
+ 11479,
+ 11480,
+ 11481,
+ 11482,
+ 11483,
+ 11484,
+ 11485,
+ 11486,
+ 11487,
+ 11488,
+ 11489,
+ 11490,
+ 11491,
+ 11493,
+ 11500,
+ 11501,
+ 11502,
+ 11503,
+ 11507,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 42561,
+ 42562,
+ 42563,
+ 42564,
+ 42565,
+ 42566,
+ 42567,
+ 42568,
+ 42569,
+ 42570,
+ 42571,
+ 42572,
+ 42573,
+ 42574,
+ 42575,
+ 42576,
+ 42577,
+ 42578,
+ 42579,
+ 42580,
+ 42581,
+ 42582,
+ 42583,
+ 42584,
+ 42585,
+ 42586,
+ 42587,
+ 42588,
+ 42589,
+ 42590,
+ 42591,
+ 42592,
+ 42593,
+ 42594,
+ 42595,
+ 42596,
+ 42597,
+ 42598,
+ 42599,
+ 42600,
+ 42601,
+ 42602,
+ 42603,
+ 42604,
+ 42605,
+ 42606,
+ 42625,
+ 42626,
+ 42627,
+ 42628,
+ 42629,
+ 42630,
+ 42631,
+ 42632,
+ 42633,
+ 42634,
+ 42635,
+ 42636,
+ 42637,
+ 42638,
+ 42639,
+ 42640,
+ 42641,
+ 42642,
+ 42643,
+ 42644,
+ 42645,
+ 42646,
+ 42647,
+ 42648,
+ 42787,
+ 42788,
+ 42789,
+ 42790,
+ 42791,
+ 42792,
+ 42793,
+ 42794,
+ 42795,
+ 42796,
+ 42797,
+ 42798,
+ 42799,
+ 42802,
+ 42803,
+ 42804,
+ 42805,
+ 42806,
+ 42807,
+ 42808,
+ 42809,
+ 42810,
+ 42811,
+ 42812,
+ 42813,
+ 42814,
+ 42815,
+ 42816,
+ 42817,
+ 42818,
+ 42819,
+ 42820,
+ 42821,
+ 42822,
+ 42823,
+ 42824,
+ 42825,
+ 42826,
+ 42827,
+ 42828,
+ 42829,
+ 42830,
+ 42831,
+ 42832,
+ 42833,
+ 42834,
+ 42835,
+ 42836,
+ 42837,
+ 42838,
+ 42839,
+ 42840,
+ 42841,
+ 42842,
+ 42843,
+ 42844,
+ 42845,
+ 42846,
+ 42847,
+ 42848,
+ 42849,
+ 42850,
+ 42851,
+ 42852,
+ 42853,
+ 42854,
+ 42855,
+ 42856,
+ 42857,
+ 42858,
+ 42859,
+ 42860,
+ 42861,
+ 42862,
+ 42863,
+ 42873,
+ 42874,
+ 42875,
+ 42876,
+ 42877,
+ 42879,
+ 42880,
+ 42881,
+ 42882,
+ 42883,
+ 42884,
+ 42885,
+ 42886,
+ 42887,
+ 42888,
+ 42892,
+ 42893,
+ 42894,
+ 42895,
+ 42897,
+ 42898,
+ 42899,
+ 42900,
+ 42913,
+ 42914,
+ 42915,
+ 42916,
+ 42917,
+ 42918,
+ 42919,
+ 42920,
+ 42921,
+ 42922,
+ 43000,
+ 43003,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 65345,
+ 65371,
+ 66600,
+ 66640,
+ 119834,
+ 119860,
+ 119886,
+ 119893,
+ 119894,
+ 119912,
+ 119938,
+ 119964,
+ 119990,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120016,
+ 120042,
+ 120068,
+ 120094,
+ 120120,
+ 120146,
+ 120172,
+ 120198,
+ 120224,
+ 120250,
+ 120276,
+ 120302,
+ 120328,
+ 120354,
+ 120380,
+ 120406,
+ 120432,
+ 120458,
+ 120486,
+ 120514,
+ 120539,
+ 120540,
+ 120546,
+ 120572,
+ 120597,
+ 120598,
+ 120604,
+ 120630,
+ 120655,
+ 120656,
+ 120662,
+ 120688,
+ 120713,
+ 120714,
+ 120720,
+ 120746,
+ 120771,
+ 120772,
+ 120778,
+ 120779,
+ 120780
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixPrint_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixPrint_invlist[] = {
+ 1083, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
32,
127,
160,
- 888
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixPunct_invlist[] = {
- 8, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 33,
- 48,
- 58,
- 65,
- 91,
- 97,
- 123,
- 127
+ 888,
+ 890,
+ 895,
+ 900,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1376,
+ 1377,
+ 1416,
+ 1417,
+ 1419,
+ 1423,
+ 1424,
+ 1425,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1525,
+ 1536,
+ 1541,
+ 1542,
+ 1565,
+ 1566,
+ 1806,
+ 1807,
+ 1867,
+ 1869,
+ 1970,
+ 1984,
+ 2043,
+ 2048,
+ 2094,
+ 2096,
+ 2111,
+ 2112,
+ 2140,
+ 2142,
+ 2143,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2303,
+ 2304,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2492,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2534,
+ 2556,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2620,
+ 2621,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2638,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2662,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2748,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2766,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2790,
+ 2802,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2876,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2894,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2918,
+ 2936,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3022,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3046,
+ 3067,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3150,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3174,
+ 3184,
+ 3192,
+ 3200,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3260,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3278,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3302,
+ 3312,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3430,
+ 3446,
+ 3449,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3530,
+ 3531,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3573,
+ 3585,
+ 3643,
+ 3647,
+ 3676,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3784,
+ 3790,
+ 3792,
+ 3802,
+ 3804,
+ 3808,
+ 3840,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3992,
+ 3993,
+ 4029,
+ 4030,
+ 4045,
+ 4046,
+ 4059,
+ 4096,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4957,
+ 4989,
+ 4992,
+ 5018,
+ 5024,
+ 5109,
+ 5120,
+ 5789,
+ 5792,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5909,
+ 5920,
+ 5943,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6110,
+ 6112,
+ 6122,
+ 6128,
+ 6138,
+ 6144,
+ 6159,
+ 6160,
+ 6170,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6460,
+ 6464,
+ 6465,
+ 6468,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6608,
+ 6619,
+ 6622,
+ 6684,
+ 6686,
+ 6751,
+ 6752,
+ 6781,
+ 6783,
+ 6794,
+ 6800,
+ 6810,
+ 6816,
+ 6830,
+ 6912,
+ 6988,
+ 6992,
+ 7037,
+ 7040,
+ 7156,
+ 7164,
+ 7224,
+ 7227,
+ 7242,
+ 7245,
+ 7296,
+ 7360,
+ 7368,
+ 7376,
+ 7415,
+ 7424,
+ 7655,
+ 7676,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8133,
+ 8134,
+ 8148,
+ 8150,
+ 8156,
+ 8157,
+ 8176,
+ 8178,
+ 8181,
+ 8182,
+ 8191,
+ 8192,
+ 8232,
+ 8234,
+ 8293,
+ 8294,
+ 8306,
+ 8308,
+ 8335,
+ 8336,
+ 8349,
+ 8352,
+ 8379,
+ 8400,
+ 8433,
+ 8448,
+ 8586,
+ 8592,
+ 9204,
+ 9216,
+ 9255,
+ 9280,
+ 9291,
+ 9312,
+ 9984,
+ 9985,
+ 11085,
+ 11088,
+ 11098,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11508,
+ 11513,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11633,
+ 11647,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11836,
+ 11904,
+ 11930,
+ 11931,
+ 12020,
+ 12032,
+ 12246,
+ 12272,
+ 12284,
+ 12288,
+ 12352,
+ 12353,
+ 12439,
+ 12441,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12688,
+ 12731,
+ 12736,
+ 12772,
+ 12784,
+ 12831,
+ 12832,
+ 13055,
+ 13056,
+ 19894,
+ 19904,
+ 40909,
+ 40960,
+ 42125,
+ 42128,
+ 42183,
+ 42192,
+ 42540,
+ 42560,
+ 42648,
+ 42655,
+ 42744,
+ 42752,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43052,
+ 43056,
+ 43066,
+ 43072,
+ 43128,
+ 43136,
+ 43205,
+ 43214,
+ 43226,
+ 43232,
+ 43260,
+ 43264,
+ 43348,
+ 43359,
+ 43389,
+ 43392,
+ 43470,
+ 43471,
+ 43482,
+ 43486,
+ 43488,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43600,
+ 43610,
+ 43612,
+ 43644,
+ 43648,
+ 43715,
+ 43739,
+ 43767,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44014,
+ 44016,
+ 44026,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 57344,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64450,
+ 64467,
+ 64832,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65022,
+ 65024,
+ 65050,
+ 65056,
+ 65063,
+ 65072,
+ 65107,
+ 65108,
+ 65127,
+ 65128,
+ 65132,
+ 65136,
+ 65141,
+ 65142,
+ 65277,
+ 65279,
+ 65280,
+ 65281,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65504,
+ 65511,
+ 65512,
+ 65519,
+ 65529,
+ 65534,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65792,
+ 65795,
+ 65799,
+ 65844,
+ 65847,
+ 65931,
+ 65936,
+ 65948,
+ 66000,
+ 66046,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66336,
+ 66340,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66463,
+ 66500,
+ 66504,
+ 66518,
+ 66560,
+ 66718,
+ 66720,
+ 66730,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67671,
+ 67680,
+ 67840,
+ 67868,
+ 67871,
+ 67898,
+ 67903,
+ 67904,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68152,
+ 68155,
+ 68159,
+ 68168,
+ 68176,
+ 68185,
+ 68192,
+ 68224,
+ 68352,
+ 68406,
+ 68409,
+ 68438,
+ 68440,
+ 68467,
+ 68472,
+ 68480,
+ 68608,
+ 68681,
+ 69216,
+ 69247,
+ 69632,
+ 69710,
+ 69714,
+ 69744,
+ 69760,
+ 69826,
+ 69840,
+ 69865,
+ 69872,
+ 69882,
+ 69888,
+ 69941,
+ 69942,
+ 69956,
+ 70016,
+ 70089,
+ 70096,
+ 70106,
+ 71296,
+ 71352,
+ 71360,
+ 71370,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 74864,
+ 74868,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94095,
+ 94112,
+ 110592,
+ 110594,
+ 118784,
+ 119030,
+ 119040,
+ 119079,
+ 119081,
+ 119262,
+ 119296,
+ 119366,
+ 119552,
+ 119639,
+ 119648,
+ 119666,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120780,
+ 120782,
+ 120832,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 126704,
+ 126706,
+ 126976,
+ 127020,
+ 127024,
+ 127124,
+ 127136,
+ 127151,
+ 127153,
+ 127167,
+ 127169,
+ 127184,
+ 127185,
+ 127200,
+ 127232,
+ 127243,
+ 127248,
+ 127279,
+ 127280,
+ 127340,
+ 127344,
+ 127387,
+ 127462,
+ 127491,
+ 127504,
+ 127547,
+ 127552,
+ 127561,
+ 127568,
+ 127570,
+ 127744,
+ 127777,
+ 127792,
+ 127798,
+ 127799,
+ 127869,
+ 127872,
+ 127892,
+ 127904,
+ 127941,
+ 127942,
+ 127947,
+ 127968,
+ 127985,
+ 128000,
+ 128063,
+ 128064,
+ 128065,
+ 128066,
+ 128248,
+ 128249,
+ 128253,
+ 128256,
+ 128318,
+ 128320,
+ 128324,
+ 128336,
+ 128360,
+ 128507,
+ 128577,
+ 128581,
+ 128592,
+ 128640,
+ 128710,
+ 128768,
+ 128884,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102,
+ 917505,
+ 917506,
+ 917536,
+ 917632,
+ 917760,
+ 918000,
+ 983040,
+ 1048574,
+ 1048576,
+ 1114110
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixPunct_invlist[] = {
- 20, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixPunct_invlist[] = {
+ 273, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
33,
48,
58,
@@ -497,37 +6190,271 @@ static UV L1PosixPunct_invlist[] = {
187,
188,
191,
- 192
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixSpace_invlist[] = {
- 4, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 9,
- 14,
- 32,
- 33
+ 192,
+ 894,
+ 895,
+ 903,
+ 904,
+ 1370,
+ 1376,
+ 1417,
+ 1419,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1475,
+ 1476,
+ 1478,
+ 1479,
+ 1523,
+ 1525,
+ 1545,
+ 1547,
+ 1548,
+ 1550,
+ 1563,
+ 1564,
+ 1566,
+ 1568,
+ 1642,
+ 1646,
+ 1748,
+ 1749,
+ 1792,
+ 1806,
+ 2039,
+ 2042,
+ 2096,
+ 2111,
+ 2142,
+ 2143,
+ 2404,
+ 2406,
+ 2416,
+ 2417,
+ 2800,
+ 2801,
+ 3572,
+ 3573,
+ 3663,
+ 3664,
+ 3674,
+ 3676,
+ 3844,
+ 3859,
+ 3860,
+ 3861,
+ 3898,
+ 3902,
+ 3973,
+ 3974,
+ 4048,
+ 4053,
+ 4057,
+ 4059,
+ 4170,
+ 4176,
+ 4347,
+ 4348,
+ 4960,
+ 4969,
+ 5120,
+ 5121,
+ 5741,
+ 5743,
+ 5787,
+ 5789,
+ 5867,
+ 5870,
+ 5941,
+ 5943,
+ 6100,
+ 6103,
+ 6104,
+ 6107,
+ 6144,
+ 6155,
+ 6468,
+ 6470,
+ 6686,
+ 6688,
+ 6816,
+ 6823,
+ 6824,
+ 6830,
+ 7002,
+ 7009,
+ 7164,
+ 7168,
+ 7227,
+ 7232,
+ 7294,
+ 7296,
+ 7360,
+ 7368,
+ 7379,
+ 7380,
+ 8208,
+ 8232,
+ 8240,
+ 8260,
+ 8261,
+ 8274,
+ 8275,
+ 8287,
+ 8317,
+ 8319,
+ 8333,
+ 8335,
+ 8968,
+ 8972,
+ 9001,
+ 9003,
+ 10088,
+ 10102,
+ 10181,
+ 10183,
+ 10214,
+ 10224,
+ 10627,
+ 10649,
+ 10712,
+ 10716,
+ 10748,
+ 10750,
+ 11513,
+ 11517,
+ 11518,
+ 11520,
+ 11632,
+ 11633,
+ 11776,
+ 11823,
+ 11824,
+ 11836,
+ 12289,
+ 12292,
+ 12296,
+ 12306,
+ 12308,
+ 12320,
+ 12336,
+ 12337,
+ 12349,
+ 12350,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42611,
+ 42612,
+ 42622,
+ 42623,
+ 42738,
+ 42744,
+ 43124,
+ 43128,
+ 43214,
+ 43216,
+ 43256,
+ 43259,
+ 43310,
+ 43312,
+ 43359,
+ 43360,
+ 43457,
+ 43470,
+ 43486,
+ 43488,
+ 43612,
+ 43616,
+ 43742,
+ 43744,
+ 43760,
+ 43762,
+ 44011,
+ 44012,
+ 64830,
+ 64832,
+ 65040,
+ 65050,
+ 65072,
+ 65107,
+ 65108,
+ 65122,
+ 65123,
+ 65124,
+ 65128,
+ 65129,
+ 65130,
+ 65132,
+ 65281,
+ 65284,
+ 65285,
+ 65291,
+ 65292,
+ 65296,
+ 65306,
+ 65308,
+ 65311,
+ 65313,
+ 65339,
+ 65342,
+ 65343,
+ 65344,
+ 65371,
+ 65372,
+ 65373,
+ 65374,
+ 65375,
+ 65382,
+ 65792,
+ 65795,
+ 66463,
+ 66464,
+ 66512,
+ 66513,
+ 67671,
+ 67672,
+ 67871,
+ 67872,
+ 67903,
+ 67904,
+ 68176,
+ 68185,
+ 68223,
+ 68224,
+ 68409,
+ 68416,
+ 69703,
+ 69710,
+ 69819,
+ 69821,
+ 69822,
+ 69826,
+ 69952,
+ 69956,
+ 70085,
+ 70089,
+ 74864,
+ 74868
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV XPosixSpace_invlist[] = {
- 22, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixSpace_invlist[] = {
+ 21, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
9,
14,
32,
@@ -538,8 +6465,6 @@ static UV XPosixSpace_invlist[] = {
161,
5760,
5761,
- 6158,
- 6159,
8192,
8203,
8232,
@@ -556,68 +6481,1244 @@ static UV XPosixSpace_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV PosixUpper_invlist[] = {
- 2, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 65,
- 91
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV L1PosixUpper_invlist[] = {
- 6, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixUpper_invlist[] = {
+ 1221, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
65,
91,
192,
215,
216,
- 223
-};
-
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
-static UV PosixWord_invlist[] = {
- 8, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 48,
- 58,
- 65,
- 91,
- 95,
- 96,
- 97,
- 123
+ 223,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 313,
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327,
+ 328,
+ 330,
+ 331,
+ 332,
+ 333,
+ 334,
+ 335,
+ 336,
+ 337,
+ 338,
+ 339,
+ 340,
+ 341,
+ 342,
+ 343,
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351,
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 385,
+ 387,
+ 388,
+ 389,
+ 390,
+ 392,
+ 393,
+ 396,
+ 398,
+ 402,
+ 403,
+ 405,
+ 406,
+ 409,
+ 412,
+ 414,
+ 415,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 424,
+ 425,
+ 426,
+ 428,
+ 429,
+ 430,
+ 432,
+ 433,
+ 436,
+ 437,
+ 438,
+ 439,
+ 441,
+ 444,
+ 445,
+ 452,
+ 453,
+ 455,
+ 456,
+ 458,
+ 459,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 497,
+ 498,
+ 500,
+ 501,
+ 502,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ 570,
+ 572,
+ 573,
+ 575,
+ 577,
+ 578,
+ 579,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 880,
+ 881,
+ 882,
+ 883,
+ 886,
+ 887,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 912,
+ 913,
+ 930,
+ 931,
+ 940,
+ 975,
+ 976,
+ 978,
+ 981,
+ 984,
+ 985,
+ 986,
+ 987,
+ 988,
+ 989,
+ 990,
+ 991,
+ 992,
+ 993,
+ 994,
+ 995,
+ 996,
+ 997,
+ 998,
+ 999,
+ 1000,
+ 1001,
+ 1002,
+ 1003,
+ 1004,
+ 1005,
+ 1006,
+ 1007,
+ 1012,
+ 1013,
+ 1015,
+ 1016,
+ 1017,
+ 1019,
+ 1021,
+ 1072,
+ 1120,
+ 1121,
+ 1122,
+ 1123,
+ 1124,
+ 1125,
+ 1126,
+ 1127,
+ 1128,
+ 1129,
+ 1130,
+ 1131,
+ 1132,
+ 1133,
+ 1134,
+ 1135,
+ 1136,
+ 1137,
+ 1138,
+ 1139,
+ 1140,
+ 1141,
+ 1142,
+ 1143,
+ 1144,
+ 1145,
+ 1146,
+ 1147,
+ 1148,
+ 1149,
+ 1150,
+ 1151,
+ 1152,
+ 1153,
+ 1162,
+ 1163,
+ 1164,
+ 1165,
+ 1166,
+ 1167,
+ 1168,
+ 1169,
+ 1170,
+ 1171,
+ 1172,
+ 1173,
+ 1174,
+ 1175,
+ 1176,
+ 1177,
+ 1178,
+ 1179,
+ 1180,
+ 1181,
+ 1182,
+ 1183,
+ 1184,
+ 1185,
+ 1186,
+ 1187,
+ 1188,
+ 1189,
+ 1190,
+ 1191,
+ 1192,
+ 1193,
+ 1194,
+ 1195,
+ 1196,
+ 1197,
+ 1198,
+ 1199,
+ 1200,
+ 1201,
+ 1202,
+ 1203,
+ 1204,
+ 1205,
+ 1206,
+ 1207,
+ 1208,
+ 1209,
+ 1210,
+ 1211,
+ 1212,
+ 1213,
+ 1214,
+ 1215,
+ 1216,
+ 1218,
+ 1219,
+ 1220,
+ 1221,
+ 1222,
+ 1223,
+ 1224,
+ 1225,
+ 1226,
+ 1227,
+ 1228,
+ 1229,
+ 1230,
+ 1232,
+ 1233,
+ 1234,
+ 1235,
+ 1236,
+ 1237,
+ 1238,
+ 1239,
+ 1240,
+ 1241,
+ 1242,
+ 1243,
+ 1244,
+ 1245,
+ 1246,
+ 1247,
+ 1248,
+ 1249,
+ 1250,
+ 1251,
+ 1252,
+ 1253,
+ 1254,
+ 1255,
+ 1256,
+ 1257,
+ 1258,
+ 1259,
+ 1260,
+ 1261,
+ 1262,
+ 1263,
+ 1264,
+ 1265,
+ 1266,
+ 1267,
+ 1268,
+ 1269,
+ 1270,
+ 1271,
+ 1272,
+ 1273,
+ 1274,
+ 1275,
+ 1276,
+ 1277,
+ 1278,
+ 1279,
+ 1280,
+ 1281,
+ 1282,
+ 1283,
+ 1284,
+ 1285,
+ 1286,
+ 1287,
+ 1288,
+ 1289,
+ 1290,
+ 1291,
+ 1292,
+ 1293,
+ 1294,
+ 1295,
+ 1296,
+ 1297,
+ 1298,
+ 1299,
+ 1300,
+ 1301,
+ 1302,
+ 1303,
+ 1304,
+ 1305,
+ 1306,
+ 1307,
+ 1308,
+ 1309,
+ 1310,
+ 1311,
+ 1312,
+ 1313,
+ 1314,
+ 1315,
+ 1316,
+ 1317,
+ 1318,
+ 1319,
+ 1329,
+ 1367,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 7680,
+ 7681,
+ 7682,
+ 7683,
+ 7684,
+ 7685,
+ 7686,
+ 7687,
+ 7688,
+ 7689,
+ 7690,
+ 7691,
+ 7692,
+ 7693,
+ 7694,
+ 7695,
+ 7696,
+ 7697,
+ 7698,
+ 7699,
+ 7700,
+ 7701,
+ 7702,
+ 7703,
+ 7704,
+ 7705,
+ 7706,
+ 7707,
+ 7708,
+ 7709,
+ 7710,
+ 7711,
+ 7712,
+ 7713,
+ 7714,
+ 7715,
+ 7716,
+ 7717,
+ 7718,
+ 7719,
+ 7720,
+ 7721,
+ 7722,
+ 7723,
+ 7724,
+ 7725,
+ 7726,
+ 7727,
+ 7728,
+ 7729,
+ 7730,
+ 7731,
+ 7732,
+ 7733,
+ 7734,
+ 7735,
+ 7736,
+ 7737,
+ 7738,
+ 7739,
+ 7740,
+ 7741,
+ 7742,
+ 7743,
+ 7744,
+ 7745,
+ 7746,
+ 7747,
+ 7748,
+ 7749,
+ 7750,
+ 7751,
+ 7752,
+ 7753,
+ 7754,
+ 7755,
+ 7756,
+ 7757,
+ 7758,
+ 7759,
+ 7760,
+ 7761,
+ 7762,
+ 7763,
+ 7764,
+ 7765,
+ 7766,
+ 7767,
+ 7768,
+ 7769,
+ 7770,
+ 7771,
+ 7772,
+ 7773,
+ 7774,
+ 7775,
+ 7776,
+ 7777,
+ 7778,
+ 7779,
+ 7780,
+ 7781,
+ 7782,
+ 7783,
+ 7784,
+ 7785,
+ 7786,
+ 7787,
+ 7788,
+ 7789,
+ 7790,
+ 7791,
+ 7792,
+ 7793,
+ 7794,
+ 7795,
+ 7796,
+ 7797,
+ 7798,
+ 7799,
+ 7800,
+ 7801,
+ 7802,
+ 7803,
+ 7804,
+ 7805,
+ 7806,
+ 7807,
+ 7808,
+ 7809,
+ 7810,
+ 7811,
+ 7812,
+ 7813,
+ 7814,
+ 7815,
+ 7816,
+ 7817,
+ 7818,
+ 7819,
+ 7820,
+ 7821,
+ 7822,
+ 7823,
+ 7824,
+ 7825,
+ 7826,
+ 7827,
+ 7828,
+ 7829,
+ 7838,
+ 7839,
+ 7840,
+ 7841,
+ 7842,
+ 7843,
+ 7844,
+ 7845,
+ 7846,
+ 7847,
+ 7848,
+ 7849,
+ 7850,
+ 7851,
+ 7852,
+ 7853,
+ 7854,
+ 7855,
+ 7856,
+ 7857,
+ 7858,
+ 7859,
+ 7860,
+ 7861,
+ 7862,
+ 7863,
+ 7864,
+ 7865,
+ 7866,
+ 7867,
+ 7868,
+ 7869,
+ 7870,
+ 7871,
+ 7872,
+ 7873,
+ 7874,
+ 7875,
+ 7876,
+ 7877,
+ 7878,
+ 7879,
+ 7880,
+ 7881,
+ 7882,
+ 7883,
+ 7884,
+ 7885,
+ 7886,
+ 7887,
+ 7888,
+ 7889,
+ 7890,
+ 7891,
+ 7892,
+ 7893,
+ 7894,
+ 7895,
+ 7896,
+ 7897,
+ 7898,
+ 7899,
+ 7900,
+ 7901,
+ 7902,
+ 7903,
+ 7904,
+ 7905,
+ 7906,
+ 7907,
+ 7908,
+ 7909,
+ 7910,
+ 7911,
+ 7912,
+ 7913,
+ 7914,
+ 7915,
+ 7916,
+ 7917,
+ 7918,
+ 7919,
+ 7920,
+ 7921,
+ 7922,
+ 7923,
+ 7924,
+ 7925,
+ 7926,
+ 7927,
+ 7928,
+ 7929,
+ 7930,
+ 7931,
+ 7932,
+ 7933,
+ 7934,
+ 7935,
+ 7944,
+ 7952,
+ 7960,
+ 7966,
+ 7976,
+ 7984,
+ 7992,
+ 8000,
+ 8008,
+ 8014,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8032,
+ 8040,
+ 8048,
+ 8120,
+ 8124,
+ 8136,
+ 8140,
+ 8152,
+ 8156,
+ 8168,
+ 8173,
+ 8184,
+ 8188,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8459,
+ 8462,
+ 8464,
+ 8467,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8496,
+ 8500,
+ 8510,
+ 8512,
+ 8517,
+ 8518,
+ 8544,
+ 8560,
+ 8579,
+ 8580,
+ 9398,
+ 9424,
+ 11264,
+ 11311,
+ 11360,
+ 11361,
+ 11362,
+ 11365,
+ 11367,
+ 11368,
+ 11369,
+ 11370,
+ 11371,
+ 11372,
+ 11373,
+ 11377,
+ 11378,
+ 11379,
+ 11381,
+ 11382,
+ 11390,
+ 11393,
+ 11394,
+ 11395,
+ 11396,
+ 11397,
+ 11398,
+ 11399,
+ 11400,
+ 11401,
+ 11402,
+ 11403,
+ 11404,
+ 11405,
+ 11406,
+ 11407,
+ 11408,
+ 11409,
+ 11410,
+ 11411,
+ 11412,
+ 11413,
+ 11414,
+ 11415,
+ 11416,
+ 11417,
+ 11418,
+ 11419,
+ 11420,
+ 11421,
+ 11422,
+ 11423,
+ 11424,
+ 11425,
+ 11426,
+ 11427,
+ 11428,
+ 11429,
+ 11430,
+ 11431,
+ 11432,
+ 11433,
+ 11434,
+ 11435,
+ 11436,
+ 11437,
+ 11438,
+ 11439,
+ 11440,
+ 11441,
+ 11442,
+ 11443,
+ 11444,
+ 11445,
+ 11446,
+ 11447,
+ 11448,
+ 11449,
+ 11450,
+ 11451,
+ 11452,
+ 11453,
+ 11454,
+ 11455,
+ 11456,
+ 11457,
+ 11458,
+ 11459,
+ 11460,
+ 11461,
+ 11462,
+ 11463,
+ 11464,
+ 11465,
+ 11466,
+ 11467,
+ 11468,
+ 11469,
+ 11470,
+ 11471,
+ 11472,
+ 11473,
+ 11474,
+ 11475,
+ 11476,
+ 11477,
+ 11478,
+ 11479,
+ 11480,
+ 11481,
+ 11482,
+ 11483,
+ 11484,
+ 11485,
+ 11486,
+ 11487,
+ 11488,
+ 11489,
+ 11490,
+ 11491,
+ 11499,
+ 11500,
+ 11501,
+ 11502,
+ 11506,
+ 11507,
+ 42560,
+ 42561,
+ 42562,
+ 42563,
+ 42564,
+ 42565,
+ 42566,
+ 42567,
+ 42568,
+ 42569,
+ 42570,
+ 42571,
+ 42572,
+ 42573,
+ 42574,
+ 42575,
+ 42576,
+ 42577,
+ 42578,
+ 42579,
+ 42580,
+ 42581,
+ 42582,
+ 42583,
+ 42584,
+ 42585,
+ 42586,
+ 42587,
+ 42588,
+ 42589,
+ 42590,
+ 42591,
+ 42592,
+ 42593,
+ 42594,
+ 42595,
+ 42596,
+ 42597,
+ 42598,
+ 42599,
+ 42600,
+ 42601,
+ 42602,
+ 42603,
+ 42604,
+ 42605,
+ 42624,
+ 42625,
+ 42626,
+ 42627,
+ 42628,
+ 42629,
+ 42630,
+ 42631,
+ 42632,
+ 42633,
+ 42634,
+ 42635,
+ 42636,
+ 42637,
+ 42638,
+ 42639,
+ 42640,
+ 42641,
+ 42642,
+ 42643,
+ 42644,
+ 42645,
+ 42646,
+ 42647,
+ 42786,
+ 42787,
+ 42788,
+ 42789,
+ 42790,
+ 42791,
+ 42792,
+ 42793,
+ 42794,
+ 42795,
+ 42796,
+ 42797,
+ 42798,
+ 42799,
+ 42802,
+ 42803,
+ 42804,
+ 42805,
+ 42806,
+ 42807,
+ 42808,
+ 42809,
+ 42810,
+ 42811,
+ 42812,
+ 42813,
+ 42814,
+ 42815,
+ 42816,
+ 42817,
+ 42818,
+ 42819,
+ 42820,
+ 42821,
+ 42822,
+ 42823,
+ 42824,
+ 42825,
+ 42826,
+ 42827,
+ 42828,
+ 42829,
+ 42830,
+ 42831,
+ 42832,
+ 42833,
+ 42834,
+ 42835,
+ 42836,
+ 42837,
+ 42838,
+ 42839,
+ 42840,
+ 42841,
+ 42842,
+ 42843,
+ 42844,
+ 42845,
+ 42846,
+ 42847,
+ 42848,
+ 42849,
+ 42850,
+ 42851,
+ 42852,
+ 42853,
+ 42854,
+ 42855,
+ 42856,
+ 42857,
+ 42858,
+ 42859,
+ 42860,
+ 42861,
+ 42862,
+ 42863,
+ 42873,
+ 42874,
+ 42875,
+ 42876,
+ 42877,
+ 42879,
+ 42880,
+ 42881,
+ 42882,
+ 42883,
+ 42884,
+ 42885,
+ 42886,
+ 42887,
+ 42891,
+ 42892,
+ 42893,
+ 42894,
+ 42896,
+ 42897,
+ 42898,
+ 42899,
+ 42912,
+ 42913,
+ 42914,
+ 42915,
+ 42916,
+ 42917,
+ 42918,
+ 42919,
+ 42920,
+ 42921,
+ 42922,
+ 42923,
+ 65313,
+ 65339,
+ 66560,
+ 66600,
+ 119808,
+ 119834,
+ 119860,
+ 119886,
+ 119912,
+ 119938,
+ 119964,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119990,
+ 120016,
+ 120042,
+ 120068,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120120,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120172,
+ 120198,
+ 120224,
+ 120250,
+ 120276,
+ 120302,
+ 120328,
+ 120354,
+ 120380,
+ 120406,
+ 120432,
+ 120458,
+ 120488,
+ 120513,
+ 120546,
+ 120571,
+ 120604,
+ 120629,
+ 120662,
+ 120687,
+ 120720,
+ 120745,
+ 120778,
+ 120779
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV L1PosixWord_invlist[] = {
- 20, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixWord_invlist[] = {
+ 1131, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
48,
58,
65,
@@ -637,62 +7738,1391 @@ static UV L1PosixWord_invlist[] = {
216,
247,
248,
- 706
+ 706,
+ 710,
+ 722,
+ 736,
+ 741,
+ 748,
+ 749,
+ 750,
+ 751,
+ 768,
+ 885,
+ 886,
+ 888,
+ 890,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1155,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1370,
+ 1377,
+ 1416,
+ 1425,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1475,
+ 1476,
+ 1478,
+ 1479,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1523,
+ 1552,
+ 1563,
+ 1568,
+ 1642,
+ 1646,
+ 1748,
+ 1749,
+ 1757,
+ 1759,
+ 1769,
+ 1770,
+ 1789,
+ 1791,
+ 1792,
+ 1808,
+ 1867,
+ 1869,
+ 1970,
+ 1984,
+ 2038,
+ 2042,
+ 2043,
+ 2048,
+ 2094,
+ 2112,
+ 2140,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2303,
+ 2304,
+ 2404,
+ 2406,
+ 2416,
+ 2417,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2492,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2534,
+ 2546,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2620,
+ 2621,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2638,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2662,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2748,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2766,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2790,
+ 2800,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2876,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2894,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2918,
+ 2928,
+ 2929,
+ 2930,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3022,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3046,
+ 3056,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3150,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3174,
+ 3184,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3260,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3278,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3302,
+ 3312,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3430,
+ 3440,
+ 3450,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3530,
+ 3531,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3572,
+ 3585,
+ 3643,
+ 3648,
+ 3663,
+ 3664,
+ 3674,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3784,
+ 3790,
+ 3792,
+ 3802,
+ 3804,
+ 3808,
+ 3840,
+ 3841,
+ 3864,
+ 3866,
+ 3872,
+ 3882,
+ 3893,
+ 3894,
+ 3895,
+ 3896,
+ 3897,
+ 3898,
+ 3902,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3973,
+ 3974,
+ 3992,
+ 3993,
+ 4029,
+ 4038,
+ 4039,
+ 4096,
+ 4170,
+ 4176,
+ 4254,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4347,
+ 4348,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4957,
+ 4960,
+ 4992,
+ 5008,
+ 5024,
+ 5109,
+ 5121,
+ 5741,
+ 5743,
+ 5760,
+ 5761,
+ 5787,
+ 5792,
+ 5867,
+ 5870,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5909,
+ 5920,
+ 5941,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6100,
+ 6103,
+ 6104,
+ 6108,
+ 6110,
+ 6112,
+ 6122,
+ 6155,
+ 6158,
+ 6160,
+ 6170,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6460,
+ 6470,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6608,
+ 6618,
+ 6656,
+ 6684,
+ 6688,
+ 6751,
+ 6752,
+ 6781,
+ 6783,
+ 6794,
+ 6800,
+ 6810,
+ 6823,
+ 6824,
+ 6912,
+ 6988,
+ 6992,
+ 7002,
+ 7019,
+ 7028,
+ 7040,
+ 7156,
+ 7168,
+ 7224,
+ 7232,
+ 7242,
+ 7245,
+ 7294,
+ 7376,
+ 7379,
+ 7380,
+ 7415,
+ 7424,
+ 7655,
+ 7676,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8204,
+ 8206,
+ 8255,
+ 8257,
+ 8276,
+ 8277,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8400,
+ 8433,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8585,
+ 9398,
+ 9450,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11632,
+ 11647,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11776,
+ 11823,
+ 11824,
+ 12293,
+ 12296,
+ 12321,
+ 12336,
+ 12337,
+ 12342,
+ 12344,
+ 12349,
+ 12353,
+ 12439,
+ 12441,
+ 12443,
+ 12445,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12704,
+ 12731,
+ 12784,
+ 12800,
+ 13312,
+ 19894,
+ 19968,
+ 40909,
+ 40960,
+ 42125,
+ 42192,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42540,
+ 42560,
+ 42611,
+ 42612,
+ 42622,
+ 42623,
+ 42648,
+ 42655,
+ 42738,
+ 42775,
+ 42784,
+ 42786,
+ 42889,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43048,
+ 43072,
+ 43124,
+ 43136,
+ 43205,
+ 43216,
+ 43226,
+ 43232,
+ 43256,
+ 43259,
+ 43260,
+ 43264,
+ 43310,
+ 43312,
+ 43348,
+ 43360,
+ 43389,
+ 43392,
+ 43457,
+ 43471,
+ 43482,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43600,
+ 43610,
+ 43616,
+ 43639,
+ 43642,
+ 43644,
+ 43648,
+ 43715,
+ 43739,
+ 43742,
+ 43744,
+ 43760,
+ 43762,
+ 43767,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44011,
+ 44012,
+ 44014,
+ 44016,
+ 44026,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 63744,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64297,
+ 64298,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64434,
+ 64467,
+ 64830,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65020,
+ 65024,
+ 65040,
+ 65056,
+ 65063,
+ 65075,
+ 65077,
+ 65101,
+ 65104,
+ 65136,
+ 65141,
+ 65142,
+ 65277,
+ 65296,
+ 65306,
+ 65313,
+ 65339,
+ 65343,
+ 65344,
+ 65345,
+ 65371,
+ 65382,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65856,
+ 65909,
+ 66045,
+ 66046,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66464,
+ 66500,
+ 66504,
+ 66512,
+ 66513,
+ 66518,
+ 66560,
+ 66718,
+ 66720,
+ 66730,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67840,
+ 67862,
+ 67872,
+ 67898,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68152,
+ 68155,
+ 68159,
+ 68160,
+ 68192,
+ 68221,
+ 68352,
+ 68406,
+ 68416,
+ 68438,
+ 68448,
+ 68467,
+ 68608,
+ 68681,
+ 69632,
+ 69703,
+ 69734,
+ 69744,
+ 69760,
+ 69819,
+ 69840,
+ 69865,
+ 69872,
+ 69882,
+ 69888,
+ 69941,
+ 69942,
+ 69952,
+ 70016,
+ 70085,
+ 70096,
+ 70106,
+ 71296,
+ 71352,
+ 71360,
+ 71370,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94095,
+ 94112,
+ 110592,
+ 110594,
+ 119141,
+ 119146,
+ 119149,
+ 119155,
+ 119163,
+ 119171,
+ 119173,
+ 119180,
+ 119210,
+ 119214,
+ 119362,
+ 119365,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780,
+ 120782,
+ 120832,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102,
+ 917760,
+ 918000
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV PosixXDigit_invlist[] = {
- 6, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV XPosixXDigit_invlist[] = {
+ 13, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
48,
58,
65,
71,
97,
- 103
+ 103,
+ 65296,
+ 65306,
+ 65313,
+ 65319,
+ 65345,
+ 65351
};
#endif
#ifndef PERL_IN_XSUB_RE
-static UV XPosixXDigit_invlist[] = {
- 12, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
- 48,
- 58,
+static const UV _Perl_Any_Folds_invlist[] = {
+ 229, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
65,
- 71,
+ 91,
97,
- 103,
- 65296,
- 65306,
+ 123,
+ 181,
+ 182,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 305,
+ 306,
+ 312,
+ 313,
+ 397,
+ 398,
+ 411,
+ 412,
+ 426,
+ 428,
+ 442,
+ 444,
+ 446,
+ 447,
+ 448,
+ 452,
+ 545,
+ 546,
+ 564,
+ 570,
+ 597,
+ 598,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 608,
+ 609,
+ 611,
+ 612,
+ 613,
+ 615,
+ 616,
+ 618,
+ 619,
+ 620,
+ 623,
+ 624,
+ 625,
+ 627,
+ 629,
+ 630,
+ 637,
+ 638,
+ 640,
+ 641,
+ 643,
+ 644,
+ 648,
+ 653,
+ 658,
+ 659,
+ 700,
+ 701,
+ 702,
+ 703,
+ 768,
+ 770,
+ 775,
+ 777,
+ 778,
+ 779,
+ 780,
+ 781,
+ 787,
+ 788,
+ 817,
+ 818,
+ 834,
+ 835,
+ 837,
+ 838,
+ 880,
+ 884,
+ 886,
+ 888,
+ 891,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 978,
+ 981,
+ 1011,
+ 1012,
+ 1014,
+ 1015,
+ 1020,
+ 1021,
+ 1154,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1377,
+ 1416,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 7545,
+ 7546,
+ 7549,
+ 7550,
+ 7680,
+ 7836,
+ 7838,
+ 7839,
+ 7840,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8486,
+ 8487,
+ 8490,
+ 8492,
+ 8498,
+ 8499,
+ 8526,
+ 8527,
+ 8544,
+ 8576,
+ 8579,
+ 8581,
+ 9398,
+ 9450,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11377,
+ 11378,
+ 11380,
+ 11381,
+ 11383,
+ 11390,
+ 11492,
+ 11499,
+ 11503,
+ 11506,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 42560,
+ 42606,
+ 42624,
+ 42648,
+ 42786,
+ 42800,
+ 42802,
+ 42864,
+ 42873,
+ 42888,
+ 42891,
+ 42894,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
65313,
- 65319,
+ 65339,
65345,
- 65351
+ 65371,
+ 66560,
+ 66640
};
#endif
-static UV NonL1_Perl_Non_Final_Folds_invlist[] = {
- 44, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV NonL1_Perl_Non_Final_Folds_invlist[] = {
+ 45, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
700,
701,
776,
@@ -741,13 +9171,12 @@ static UV NonL1_Perl_Non_Final_Folds_invlist[] = {
#ifndef PERL_IN_XSUB_RE
-static UV _Perl_Multi_Char_Folds_invlist[] = {
- 58, /* Number of elements */
- 0, /* Current iteration position */
- 0, /* Cache of previous search index result */
- 290655244, /* Version and data structure type */
- 1, /* 0 if this is the first element of the list proper;
- 1 if the next element is the first */
+static const UV _Perl_Folds_To_Multi_Char_invlist[] = {
+ 59, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
223,
224,
304,
@@ -810,4 +9239,2178 @@ static UV _Perl_Multi_Char_Folds_invlist[] = {
#endif
+#ifndef PERL_IN_XSUB_RE
+
+static const UV UpperLatin1_invlist[] = {
+ 3, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
+ 128,
+ 256
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static const UV _Perl_IDStart_invlist[] = {
+ 995, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
+ 65,
+ 91,
+ 95,
+ 96,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 706,
+ 710,
+ 722,
+ 736,
+ 741,
+ 748,
+ 749,
+ 750,
+ 751,
+ 880,
+ 885,
+ 886,
+ 888,
+ 891,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1370,
+ 1377,
+ 1416,
+ 1488,
+ 1515,
+ 1520,
+ 1523,
+ 1568,
+ 1611,
+ 1646,
+ 1648,
+ 1649,
+ 1748,
+ 1749,
+ 1750,
+ 1765,
+ 1767,
+ 1774,
+ 1776,
+ 1786,
+ 1789,
+ 1791,
+ 1792,
+ 1808,
+ 1809,
+ 1810,
+ 1840,
+ 1869,
+ 1958,
+ 1969,
+ 1970,
+ 1994,
+ 2027,
+ 2036,
+ 2038,
+ 2042,
+ 2043,
+ 2048,
+ 2070,
+ 2074,
+ 2075,
+ 2084,
+ 2085,
+ 2088,
+ 2089,
+ 2112,
+ 2137,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2308,
+ 2362,
+ 2365,
+ 2366,
+ 2384,
+ 2385,
+ 2392,
+ 2402,
+ 2417,
+ 2424,
+ 2425,
+ 2432,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2493,
+ 2494,
+ 2510,
+ 2511,
+ 2524,
+ 2526,
+ 2527,
+ 2530,
+ 2544,
+ 2546,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2674,
+ 2677,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2749,
+ 2750,
+ 2768,
+ 2769,
+ 2784,
+ 2786,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2877,
+ 2878,
+ 2908,
+ 2910,
+ 2911,
+ 2914,
+ 2929,
+ 2930,
+ 2947,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3024,
+ 3025,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3134,
+ 3160,
+ 3162,
+ 3168,
+ 3170,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3261,
+ 3262,
+ 3294,
+ 3295,
+ 3296,
+ 3298,
+ 3313,
+ 3315,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3390,
+ 3406,
+ 3407,
+ 3424,
+ 3426,
+ 3450,
+ 3456,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3585,
+ 3633,
+ 3634,
+ 3635,
+ 3648,
+ 3655,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3761,
+ 3762,
+ 3763,
+ 3773,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3804,
+ 3808,
+ 3840,
+ 3841,
+ 3904,
+ 3912,
+ 3913,
+ 3949,
+ 3976,
+ 3981,
+ 4096,
+ 4139,
+ 4159,
+ 4160,
+ 4176,
+ 4182,
+ 4186,
+ 4190,
+ 4193,
+ 4194,
+ 4197,
+ 4199,
+ 4206,
+ 4209,
+ 4213,
+ 4226,
+ 4238,
+ 4239,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4347,
+ 4348,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4992,
+ 5008,
+ 5024,
+ 5109,
+ 5121,
+ 5741,
+ 5743,
+ 5760,
+ 5761,
+ 5787,
+ 5792,
+ 5867,
+ 5870,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5906,
+ 5920,
+ 5938,
+ 5952,
+ 5970,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6016,
+ 6068,
+ 6103,
+ 6104,
+ 6108,
+ 6109,
+ 6176,
+ 6264,
+ 6272,
+ 6313,
+ 6314,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6480,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6593,
+ 6600,
+ 6656,
+ 6679,
+ 6688,
+ 6741,
+ 6823,
+ 6824,
+ 6917,
+ 6964,
+ 6981,
+ 6988,
+ 7043,
+ 7073,
+ 7086,
+ 7088,
+ 7098,
+ 7142,
+ 7168,
+ 7204,
+ 7245,
+ 7248,
+ 7258,
+ 7294,
+ 7401,
+ 7405,
+ 7406,
+ 7410,
+ 7413,
+ 7415,
+ 7424,
+ 7616,
+ 7680,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8585,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11503,
+ 11506,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11632,
+ 11648,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 12293,
+ 12296,
+ 12321,
+ 12330,
+ 12337,
+ 12342,
+ 12344,
+ 12349,
+ 12353,
+ 12439,
+ 12445,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12704,
+ 12731,
+ 12784,
+ 12800,
+ 13312,
+ 19894,
+ 19968,
+ 40909,
+ 40960,
+ 42125,
+ 42192,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42528,
+ 42538,
+ 42540,
+ 42560,
+ 42607,
+ 42623,
+ 42648,
+ 42656,
+ 42736,
+ 42775,
+ 42784,
+ 42786,
+ 42889,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43010,
+ 43011,
+ 43014,
+ 43015,
+ 43019,
+ 43020,
+ 43043,
+ 43072,
+ 43124,
+ 43138,
+ 43188,
+ 43250,
+ 43256,
+ 43259,
+ 43260,
+ 43274,
+ 43302,
+ 43312,
+ 43335,
+ 43360,
+ 43389,
+ 43396,
+ 43443,
+ 43471,
+ 43472,
+ 43520,
+ 43561,
+ 43584,
+ 43587,
+ 43588,
+ 43596,
+ 43616,
+ 43639,
+ 43642,
+ 43643,
+ 43648,
+ 43696,
+ 43697,
+ 43698,
+ 43701,
+ 43703,
+ 43705,
+ 43710,
+ 43712,
+ 43713,
+ 43714,
+ 43715,
+ 43739,
+ 43742,
+ 43744,
+ 43755,
+ 43762,
+ 43765,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44003,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 63744,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64286,
+ 64287,
+ 64297,
+ 64298,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64434,
+ 64467,
+ 64606,
+ 64612,
+ 64830,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65018,
+ 65137,
+ 65138,
+ 65139,
+ 65140,
+ 65143,
+ 65144,
+ 65145,
+ 65146,
+ 65147,
+ 65148,
+ 65149,
+ 65150,
+ 65151,
+ 65277,
+ 65313,
+ 65339,
+ 65345,
+ 65371,
+ 65382,
+ 65438,
+ 65440,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65856,
+ 65909,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66464,
+ 66500,
+ 66504,
+ 66512,
+ 66513,
+ 66518,
+ 66560,
+ 66718,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67840,
+ 67862,
+ 67872,
+ 67898,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68097,
+ 68112,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68192,
+ 68221,
+ 68352,
+ 68406,
+ 68416,
+ 68438,
+ 68448,
+ 68467,
+ 68608,
+ 68681,
+ 69635,
+ 69688,
+ 69763,
+ 69808,
+ 69840,
+ 69865,
+ 69891,
+ 69927,
+ 70019,
+ 70067,
+ 70081,
+ 70085,
+ 71296,
+ 71339,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94033,
+ 94099,
+ 94112,
+ 110592,
+ 110594,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static const UV _Perl_IDCont_invlist[] = {
+ 1143, /* Number of elements */
+ 148565664, /* Version and data structure type */
+ 1, /* 0 if the list starts at 0;
+ 1 if it starts at the element beyond 0 */
+ 0,
+ 48,
+ 58,
+ 65,
+ 91,
+ 95,
+ 96,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 706,
+ 710,
+ 722,
+ 736,
+ 741,
+ 748,
+ 749,
+ 750,
+ 751,
+ 768,
+ 885,
+ 886,
+ 888,
+ 891,
+ 894,
+ 902,
+ 903,
+ 904,
+ 907,
+ 908,
+ 909,
+ 910,
+ 930,
+ 931,
+ 1014,
+ 1015,
+ 1154,
+ 1155,
+ 1160,
+ 1162,
+ 1320,
+ 1329,
+ 1367,
+ 1369,
+ 1370,
+ 1377,
+ 1416,
+ 1425,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1475,
+ 1476,
+ 1478,
+ 1479,
+ 1480,
+ 1488,
+ 1515,
+ 1520,
+ 1523,
+ 1552,
+ 1563,
+ 1568,
+ 1642,
+ 1646,
+ 1748,
+ 1749,
+ 1757,
+ 1759,
+ 1769,
+ 1770,
+ 1789,
+ 1791,
+ 1792,
+ 1808,
+ 1867,
+ 1869,
+ 1970,
+ 1984,
+ 2038,
+ 2042,
+ 2043,
+ 2048,
+ 2094,
+ 2112,
+ 2140,
+ 2208,
+ 2209,
+ 2210,
+ 2221,
+ 2276,
+ 2303,
+ 2304,
+ 2404,
+ 2406,
+ 2416,
+ 2417,
+ 2424,
+ 2425,
+ 2432,
+ 2433,
+ 2436,
+ 2437,
+ 2445,
+ 2447,
+ 2449,
+ 2451,
+ 2473,
+ 2474,
+ 2481,
+ 2482,
+ 2483,
+ 2486,
+ 2490,
+ 2492,
+ 2501,
+ 2503,
+ 2505,
+ 2507,
+ 2511,
+ 2519,
+ 2520,
+ 2524,
+ 2526,
+ 2527,
+ 2532,
+ 2534,
+ 2546,
+ 2561,
+ 2564,
+ 2565,
+ 2571,
+ 2575,
+ 2577,
+ 2579,
+ 2601,
+ 2602,
+ 2609,
+ 2610,
+ 2612,
+ 2613,
+ 2615,
+ 2616,
+ 2618,
+ 2620,
+ 2621,
+ 2622,
+ 2627,
+ 2631,
+ 2633,
+ 2635,
+ 2638,
+ 2641,
+ 2642,
+ 2649,
+ 2653,
+ 2654,
+ 2655,
+ 2662,
+ 2678,
+ 2689,
+ 2692,
+ 2693,
+ 2702,
+ 2703,
+ 2706,
+ 2707,
+ 2729,
+ 2730,
+ 2737,
+ 2738,
+ 2740,
+ 2741,
+ 2746,
+ 2748,
+ 2758,
+ 2759,
+ 2762,
+ 2763,
+ 2766,
+ 2768,
+ 2769,
+ 2784,
+ 2788,
+ 2790,
+ 2800,
+ 2817,
+ 2820,
+ 2821,
+ 2829,
+ 2831,
+ 2833,
+ 2835,
+ 2857,
+ 2858,
+ 2865,
+ 2866,
+ 2868,
+ 2869,
+ 2874,
+ 2876,
+ 2885,
+ 2887,
+ 2889,
+ 2891,
+ 2894,
+ 2902,
+ 2904,
+ 2908,
+ 2910,
+ 2911,
+ 2916,
+ 2918,
+ 2928,
+ 2929,
+ 2930,
+ 2946,
+ 2948,
+ 2949,
+ 2955,
+ 2958,
+ 2961,
+ 2962,
+ 2966,
+ 2969,
+ 2971,
+ 2972,
+ 2973,
+ 2974,
+ 2976,
+ 2979,
+ 2981,
+ 2984,
+ 2987,
+ 2990,
+ 3002,
+ 3006,
+ 3011,
+ 3014,
+ 3017,
+ 3018,
+ 3022,
+ 3024,
+ 3025,
+ 3031,
+ 3032,
+ 3046,
+ 3056,
+ 3073,
+ 3076,
+ 3077,
+ 3085,
+ 3086,
+ 3089,
+ 3090,
+ 3113,
+ 3114,
+ 3124,
+ 3125,
+ 3130,
+ 3133,
+ 3141,
+ 3142,
+ 3145,
+ 3146,
+ 3150,
+ 3157,
+ 3159,
+ 3160,
+ 3162,
+ 3168,
+ 3172,
+ 3174,
+ 3184,
+ 3202,
+ 3204,
+ 3205,
+ 3213,
+ 3214,
+ 3217,
+ 3218,
+ 3241,
+ 3242,
+ 3252,
+ 3253,
+ 3258,
+ 3260,
+ 3269,
+ 3270,
+ 3273,
+ 3274,
+ 3278,
+ 3285,
+ 3287,
+ 3294,
+ 3295,
+ 3296,
+ 3300,
+ 3302,
+ 3312,
+ 3313,
+ 3315,
+ 3330,
+ 3332,
+ 3333,
+ 3341,
+ 3342,
+ 3345,
+ 3346,
+ 3387,
+ 3389,
+ 3397,
+ 3398,
+ 3401,
+ 3402,
+ 3407,
+ 3415,
+ 3416,
+ 3424,
+ 3428,
+ 3430,
+ 3440,
+ 3450,
+ 3456,
+ 3458,
+ 3460,
+ 3461,
+ 3479,
+ 3482,
+ 3506,
+ 3507,
+ 3516,
+ 3517,
+ 3518,
+ 3520,
+ 3527,
+ 3530,
+ 3531,
+ 3535,
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3552,
+ 3570,
+ 3572,
+ 3585,
+ 3643,
+ 3648,
+ 3663,
+ 3664,
+ 3674,
+ 3713,
+ 3715,
+ 3716,
+ 3717,
+ 3719,
+ 3721,
+ 3722,
+ 3723,
+ 3725,
+ 3726,
+ 3732,
+ 3736,
+ 3737,
+ 3744,
+ 3745,
+ 3748,
+ 3749,
+ 3750,
+ 3751,
+ 3752,
+ 3754,
+ 3756,
+ 3757,
+ 3770,
+ 3771,
+ 3774,
+ 3776,
+ 3781,
+ 3782,
+ 3783,
+ 3784,
+ 3790,
+ 3792,
+ 3802,
+ 3804,
+ 3808,
+ 3840,
+ 3841,
+ 3864,
+ 3866,
+ 3872,
+ 3882,
+ 3893,
+ 3894,
+ 3895,
+ 3896,
+ 3897,
+ 3898,
+ 3902,
+ 3912,
+ 3913,
+ 3949,
+ 3953,
+ 3973,
+ 3974,
+ 3992,
+ 3993,
+ 4029,
+ 4038,
+ 4039,
+ 4096,
+ 4170,
+ 4176,
+ 4254,
+ 4256,
+ 4294,
+ 4295,
+ 4296,
+ 4301,
+ 4302,
+ 4304,
+ 4347,
+ 4348,
+ 4681,
+ 4682,
+ 4686,
+ 4688,
+ 4695,
+ 4696,
+ 4697,
+ 4698,
+ 4702,
+ 4704,
+ 4745,
+ 4746,
+ 4750,
+ 4752,
+ 4785,
+ 4786,
+ 4790,
+ 4792,
+ 4799,
+ 4800,
+ 4801,
+ 4802,
+ 4806,
+ 4808,
+ 4823,
+ 4824,
+ 4881,
+ 4882,
+ 4886,
+ 4888,
+ 4955,
+ 4957,
+ 4960,
+ 4992,
+ 5008,
+ 5024,
+ 5109,
+ 5121,
+ 5741,
+ 5743,
+ 5760,
+ 5761,
+ 5787,
+ 5792,
+ 5867,
+ 5870,
+ 5873,
+ 5888,
+ 5901,
+ 5902,
+ 5909,
+ 5920,
+ 5941,
+ 5952,
+ 5972,
+ 5984,
+ 5997,
+ 5998,
+ 6001,
+ 6002,
+ 6004,
+ 6016,
+ 6100,
+ 6103,
+ 6104,
+ 6108,
+ 6110,
+ 6112,
+ 6122,
+ 6155,
+ 6158,
+ 6160,
+ 6170,
+ 6176,
+ 6264,
+ 6272,
+ 6315,
+ 6320,
+ 6390,
+ 6400,
+ 6429,
+ 6432,
+ 6444,
+ 6448,
+ 6460,
+ 6470,
+ 6510,
+ 6512,
+ 6517,
+ 6528,
+ 6572,
+ 6576,
+ 6602,
+ 6608,
+ 6618,
+ 6656,
+ 6684,
+ 6688,
+ 6751,
+ 6752,
+ 6781,
+ 6783,
+ 6794,
+ 6800,
+ 6810,
+ 6823,
+ 6824,
+ 6912,
+ 6988,
+ 6992,
+ 7002,
+ 7019,
+ 7028,
+ 7040,
+ 7156,
+ 7168,
+ 7224,
+ 7232,
+ 7242,
+ 7245,
+ 7294,
+ 7376,
+ 7379,
+ 7380,
+ 7415,
+ 7424,
+ 7655,
+ 7676,
+ 7958,
+ 7960,
+ 7966,
+ 7968,
+ 8006,
+ 8008,
+ 8014,
+ 8016,
+ 8024,
+ 8025,
+ 8026,
+ 8027,
+ 8028,
+ 8029,
+ 8030,
+ 8031,
+ 8062,
+ 8064,
+ 8117,
+ 8118,
+ 8125,
+ 8126,
+ 8127,
+ 8130,
+ 8133,
+ 8134,
+ 8141,
+ 8144,
+ 8148,
+ 8150,
+ 8156,
+ 8160,
+ 8173,
+ 8178,
+ 8181,
+ 8182,
+ 8189,
+ 8255,
+ 8257,
+ 8276,
+ 8277,
+ 8305,
+ 8306,
+ 8319,
+ 8320,
+ 8336,
+ 8349,
+ 8400,
+ 8413,
+ 8417,
+ 8418,
+ 8421,
+ 8433,
+ 8450,
+ 8451,
+ 8455,
+ 8456,
+ 8458,
+ 8468,
+ 8469,
+ 8470,
+ 8473,
+ 8478,
+ 8484,
+ 8485,
+ 8486,
+ 8487,
+ 8488,
+ 8489,
+ 8490,
+ 8494,
+ 8495,
+ 8506,
+ 8508,
+ 8512,
+ 8517,
+ 8522,
+ 8526,
+ 8527,
+ 8544,
+ 8585,
+ 11264,
+ 11311,
+ 11312,
+ 11359,
+ 11360,
+ 11493,
+ 11499,
+ 11508,
+ 11520,
+ 11558,
+ 11559,
+ 11560,
+ 11565,
+ 11566,
+ 11568,
+ 11624,
+ 11631,
+ 11632,
+ 11647,
+ 11671,
+ 11680,
+ 11687,
+ 11688,
+ 11695,
+ 11696,
+ 11703,
+ 11704,
+ 11711,
+ 11712,
+ 11719,
+ 11720,
+ 11727,
+ 11728,
+ 11735,
+ 11736,
+ 11743,
+ 11744,
+ 11776,
+ 12293,
+ 12296,
+ 12321,
+ 12336,
+ 12337,
+ 12342,
+ 12344,
+ 12349,
+ 12353,
+ 12439,
+ 12441,
+ 12443,
+ 12445,
+ 12448,
+ 12449,
+ 12539,
+ 12540,
+ 12544,
+ 12549,
+ 12590,
+ 12593,
+ 12687,
+ 12704,
+ 12731,
+ 12784,
+ 12800,
+ 13312,
+ 19894,
+ 19968,
+ 40909,
+ 40960,
+ 42125,
+ 42192,
+ 42238,
+ 42240,
+ 42509,
+ 42512,
+ 42540,
+ 42560,
+ 42608,
+ 42612,
+ 42622,
+ 42623,
+ 42648,
+ 42655,
+ 42738,
+ 42775,
+ 42784,
+ 42786,
+ 42889,
+ 42891,
+ 42895,
+ 42896,
+ 42900,
+ 42912,
+ 42923,
+ 43000,
+ 43048,
+ 43072,
+ 43124,
+ 43136,
+ 43205,
+ 43216,
+ 43226,
+ 43232,
+ 43256,
+ 43259,
+ 43260,
+ 43264,
+ 43310,
+ 43312,
+ 43348,
+ 43360,
+ 43389,
+ 43392,
+ 43457,
+ 43471,
+ 43482,
+ 43520,
+ 43575,
+ 43584,
+ 43598,
+ 43600,
+ 43610,
+ 43616,
+ 43639,
+ 43642,
+ 43644,
+ 43648,
+ 43715,
+ 43739,
+ 43742,
+ 43744,
+ 43760,
+ 43762,
+ 43767,
+ 43777,
+ 43783,
+ 43785,
+ 43791,
+ 43793,
+ 43799,
+ 43808,
+ 43815,
+ 43816,
+ 43823,
+ 43968,
+ 44011,
+ 44012,
+ 44014,
+ 44016,
+ 44026,
+ 44032,
+ 55204,
+ 55216,
+ 55239,
+ 55243,
+ 55292,
+ 63744,
+ 64110,
+ 64112,
+ 64218,
+ 64256,
+ 64263,
+ 64275,
+ 64280,
+ 64285,
+ 64297,
+ 64298,
+ 64311,
+ 64312,
+ 64317,
+ 64318,
+ 64319,
+ 64320,
+ 64322,
+ 64323,
+ 64325,
+ 64326,
+ 64434,
+ 64467,
+ 64606,
+ 64612,
+ 64830,
+ 64848,
+ 64912,
+ 64914,
+ 64968,
+ 65008,
+ 65018,
+ 65024,
+ 65040,
+ 65056,
+ 65063,
+ 65075,
+ 65077,
+ 65101,
+ 65104,
+ 65137,
+ 65138,
+ 65139,
+ 65140,
+ 65143,
+ 65144,
+ 65145,
+ 65146,
+ 65147,
+ 65148,
+ 65149,
+ 65150,
+ 65151,
+ 65277,
+ 65296,
+ 65306,
+ 65313,
+ 65339,
+ 65343,
+ 65344,
+ 65345,
+ 65371,
+ 65382,
+ 65471,
+ 65474,
+ 65480,
+ 65482,
+ 65488,
+ 65490,
+ 65496,
+ 65498,
+ 65501,
+ 65536,
+ 65548,
+ 65549,
+ 65575,
+ 65576,
+ 65595,
+ 65596,
+ 65598,
+ 65599,
+ 65614,
+ 65616,
+ 65630,
+ 65664,
+ 65787,
+ 65856,
+ 65909,
+ 66045,
+ 66046,
+ 66176,
+ 66205,
+ 66208,
+ 66257,
+ 66304,
+ 66335,
+ 66352,
+ 66379,
+ 66432,
+ 66462,
+ 66464,
+ 66500,
+ 66504,
+ 66512,
+ 66513,
+ 66518,
+ 66560,
+ 66718,
+ 66720,
+ 66730,
+ 67584,
+ 67590,
+ 67592,
+ 67593,
+ 67594,
+ 67638,
+ 67639,
+ 67641,
+ 67644,
+ 67645,
+ 67647,
+ 67670,
+ 67840,
+ 67862,
+ 67872,
+ 67898,
+ 67968,
+ 68024,
+ 68030,
+ 68032,
+ 68096,
+ 68100,
+ 68101,
+ 68103,
+ 68108,
+ 68116,
+ 68117,
+ 68120,
+ 68121,
+ 68148,
+ 68152,
+ 68155,
+ 68159,
+ 68160,
+ 68192,
+ 68221,
+ 68352,
+ 68406,
+ 68416,
+ 68438,
+ 68448,
+ 68467,
+ 68608,
+ 68681,
+ 69632,
+ 69703,
+ 69734,
+ 69744,
+ 69760,
+ 69819,
+ 69840,
+ 69865,
+ 69872,
+ 69882,
+ 69888,
+ 69941,
+ 69942,
+ 69952,
+ 70016,
+ 70085,
+ 70096,
+ 70106,
+ 71296,
+ 71352,
+ 71360,
+ 71370,
+ 73728,
+ 74607,
+ 74752,
+ 74851,
+ 77824,
+ 78895,
+ 92160,
+ 92729,
+ 93952,
+ 94021,
+ 94032,
+ 94079,
+ 94095,
+ 94112,
+ 110592,
+ 110594,
+ 119141,
+ 119146,
+ 119149,
+ 119155,
+ 119163,
+ 119171,
+ 119173,
+ 119180,
+ 119210,
+ 119214,
+ 119362,
+ 119365,
+ 119808,
+ 119893,
+ 119894,
+ 119965,
+ 119966,
+ 119968,
+ 119970,
+ 119971,
+ 119973,
+ 119975,
+ 119977,
+ 119981,
+ 119982,
+ 119994,
+ 119995,
+ 119996,
+ 119997,
+ 120004,
+ 120005,
+ 120070,
+ 120071,
+ 120075,
+ 120077,
+ 120085,
+ 120086,
+ 120093,
+ 120094,
+ 120122,
+ 120123,
+ 120127,
+ 120128,
+ 120133,
+ 120134,
+ 120135,
+ 120138,
+ 120145,
+ 120146,
+ 120486,
+ 120488,
+ 120513,
+ 120514,
+ 120539,
+ 120540,
+ 120571,
+ 120572,
+ 120597,
+ 120598,
+ 120629,
+ 120630,
+ 120655,
+ 120656,
+ 120687,
+ 120688,
+ 120713,
+ 120714,
+ 120745,
+ 120746,
+ 120771,
+ 120772,
+ 120780,
+ 120782,
+ 120832,
+ 126464,
+ 126468,
+ 126469,
+ 126496,
+ 126497,
+ 126499,
+ 126500,
+ 126501,
+ 126503,
+ 126504,
+ 126505,
+ 126515,
+ 126516,
+ 126520,
+ 126521,
+ 126522,
+ 126523,
+ 126524,
+ 126530,
+ 126531,
+ 126535,
+ 126536,
+ 126537,
+ 126538,
+ 126539,
+ 126540,
+ 126541,
+ 126544,
+ 126545,
+ 126547,
+ 126548,
+ 126549,
+ 126551,
+ 126552,
+ 126553,
+ 126554,
+ 126555,
+ 126556,
+ 126557,
+ 126558,
+ 126559,
+ 126560,
+ 126561,
+ 126563,
+ 126564,
+ 126565,
+ 126567,
+ 126571,
+ 126572,
+ 126579,
+ 126580,
+ 126584,
+ 126585,
+ 126589,
+ 126590,
+ 126591,
+ 126592,
+ 126602,
+ 126603,
+ 126620,
+ 126625,
+ 126628,
+ 126629,
+ 126634,
+ 126635,
+ 126652,
+ 131072,
+ 173783,
+ 173824,
+ 177973,
+ 177984,
+ 178206,
+ 194560,
+ 195102,
+ 917760,
+ 918000
+};
+
+#endif
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/config.h b/Master/tlpkg/tlperl/lib/CORE/config.h
index 8353e950f34..cd9bfd51d2c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/config.h
+++ b/Master/tlpkg/tlperl/lib/CORE/config.h
@@ -9,7 +9,7 @@
/* Package name : perl5
* Source directory :
- * Configuration time: Tue Apr 22 14:55:05 2014
+ * Configuration time: Fri Apr 24 15:37:17 2015
* Configured by : siepo
* Target system :
*/
@@ -646,7 +646,7 @@
* should be included.
*/
/*#define I_DBM / **/
-#define I_RPCSVC_DBM /**/
+/*#define I_RPCSVC_DBM / **/
/* I_DLFCN:
* This symbol, if defined, indicates that <dlfcn.h> exists and should
@@ -703,12 +703,6 @@
*/
/*#define I_NETINET_IN / **/
-/* I_SFIO:
- * This symbol, if defined, indicates to the C program that it should
- * include <sfio.h>.
- */
-/*#define I_SFIO / **/
-
/* I_STDDEF:
* This symbol, if defined, indicates that <stddef.h> exists and should
* be included.
@@ -811,26 +805,6 @@
*/
/*#define I_SYS_WAIT / **/
-/* I_TERMIO:
- * This symbol, if defined, indicates that the program should include
- * <termio.h> rather than <sgtty.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- * This symbol, if defined, indicates that the program should include
- * the POSIX termios.h rather than sgtty.h or termio.h.
- * There are also differences in the ioctl() calls that depend on the
- * value of this symbol.
- */
-/* I_SGTTY:
- * This symbol, if defined, indicates that the program should include
- * <sgtty.h> rather than <termio.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/*#define I_TERMIO / **/
-/*#define I_TERMIOS / **/
-/*#define I_SGTTY / **/
-
/* I_UNISTD:
* This symbol, if defined, indicates to the C program that it should
* include <unistd.h>.
@@ -892,18 +866,6 @@
#define OSNAME "MSWin32" /**/
#define OSVERS "4.0" /**/
-/* 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
-
/* MULTIARCH:
* This symbol, if defined, signifies that the build
* process will produce some binary files that are going to be
@@ -934,7 +896,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 "c:\\tlperl\\lib" /**/
/*#define ARCHLIB_EXP "" / **/
/* ARCHNAME:
@@ -957,8 +919,8 @@
* 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 "c:\\tlperl\\bin" /**/
+#define BIN_EXP "c:\\tlperl\\bin" /**/
#define PERL_RELOCATABLE_INC "undef" /**/
/* INTSIZE:
@@ -993,7 +955,7 @@
* 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)
+#if defined(MULTIARCH)
# ifdef __LITTLE_ENDIAN__
# if LONGSIZE == 4
# define BYTEORDER 0x1234
@@ -3045,7 +3007,7 @@
* 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 "c:\\tlperl\\lib" /**/
#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/
/* CAN_PROTOTYPE:
@@ -3112,10 +3074,10 @@
* 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 /**/
+#define Drand01() Perl_drand48() /**/
+#define Rand_seed_t U32 /**/
+#define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/
+#define RANDBITS 48 /**/
/* Select_fd_set_t:
* This symbol holds the type used for the 2nd, 3rd, and 4th
@@ -3189,7 +3151,7 @@
* 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 "c:\\tlperl\\site\\lib" /**/
/*#define SITEARCH_EXP "" / **/
/* SITELIB:
@@ -3212,7 +3174,7 @@
* 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 "c:\\tlperl\\site\\lib" /**/
#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/
#define SITELIB_STEM "" /**/
@@ -3330,29 +3292,36 @@
/*#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:
- *
- * 1 = supports declaration of void
- * 2 = supports arrays of pointers to functions returning void
- * 4 = supports comparisons between pointers to void functions and
- * addresses of void functions
- * 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
- * including config.h, or by defining defvoidused in Myinit.U. If the
- * latter approach is taken, only those flags will be tested. If the
- * level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 15
-#endif
-#define VOIDFLAGS 15
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int /* is void to be avoided? */
-#define M_VOID /* Xenix strikes again */
+/* I_TERMIO:
+ * This symbol, if defined, indicates that the program should include
+ * <termio.h> rather than <sgtty.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/* I_TERMIOS:
+ * This symbol, if defined, indicates that the program should include
+ * the POSIX termios.h rather than sgtty.h or termio.h.
+ * There are also differences in the ioctl() calls that depend on the
+ * value of this symbol.
+ */
+/* I_SGTTY:
+ * This symbol, if defined, indicates that the program should include
+ * <sgtty.h> rather than <termio.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/*#define I_TERMIO / **/
+/*#define I_TERMIOS / **/
+/*#define I_SGTTY / **/
+
+/* 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
/* PERL_USE_DEVEL:
@@ -3917,12 +3886,6 @@
*/
/*#define HAS_SETPROCTITLE / **/
-/* USE_SFIO:
- * This symbol, if defined, indicates that sfio should
- * be used.
- */
-/*#define USE_SFIO / **/
-
/* HAS_SIGNBIT:
* This symbol, if defined, indicates that the signbit routine is
* available to check if the given number has the sign bit set.
@@ -4188,8 +4151,10 @@
#define USE_DYNAMIC_LOADING /**/
/* FFLUSH_NULL:
- * This symbol, if defined, tells that fflush(NULL) does flush
- * all pending stdio output.
+ * This symbol, if defined, tells that fflush(NULL) correctly
+ * flushes all pending stdio output without side effects. In
+ * particular, on some platforms calling fflush(NULL) *still*
+ * corrupts STDIN if it is a pipe.
*/
/* FFLUSH_ALL:
* This symbol, if defined, tells that to flush
@@ -4325,7 +4290,7 @@
* This symbol, if defined, indicates that <stdbool.h> exists and
* can be included.
*/
-/*#define I_STDBOOL / **/
+#define I_STDBOOL /**/
/* I_SUNMATH:
* This symbol, if defined, indicates that <sunmath.h> exists and
diff --git a/Master/tlpkg/tlperl/lib/CORE/cop.h b/Master/tlpkg/tlperl/lib/CORE/cop.h
index 122e2d75e01..37980f04bdd 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cop.h
@@ -31,21 +31,13 @@
struct jmpenv {
struct jmpenv * je_prev;
- Sigjmp_buf je_buf; /* only for use if !je_throw */
+ Sigjmp_buf je_buf; /* uninit if je_prev is NULL */
int je_ret; /* last exception thrown */
bool je_mustcatch; /* need to call longjmp()? */
};
typedef struct jmpenv JMPENV;
-#ifdef OP_IN_REGISTER
-#define OP_REG_TO_MEM PL_opsave = op
-#define OP_MEM_TO_REG op = PL_opsave
-#else
-#define OP_REG_TO_MEM NOOP
-#define OP_MEM_TO_REG NOOP
-#endif
-
/*
* How to build the first jmpenv.
*
@@ -58,10 +50,11 @@ typedef struct jmpenv JMPENV;
#define JMPENV_BOOTSTRAP \
STMT_START { \
- Zero(&PL_start_env, 1, JMPENV); \
+ PERL_POISON_EXPR(PoisonNew(&PL_start_env, 1, JMPENV));\
+ PL_top_env = &PL_start_env; \
+ PL_start_env.je_prev = NULL; \
PL_start_env.je_ret = -1; \
PL_start_env.je_mustcatch = TRUE; \
- PL_top_env = &PL_start_env; \
} STMT_END
/*
@@ -107,9 +100,7 @@ typedef struct jmpenv JMPENV;
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); \
- OP_MEM_TO_REG; \
PL_top_env = &cur_env; \
cur_env.je_mustcatch = FALSE; \
(v) = cur_env.je_ret; \
@@ -133,7 +124,6 @@ typedef struct jmpenv JMPENV;
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)); \
if ((v) == 2) \
@@ -410,7 +400,7 @@ struct cop {
# ifdef NETWARE
# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv))
-# define CopFILE_setn(c,pv,l) ((c)->cop_file = savepv((pv),(l)))
+# define CopFILE_setn(c,pv,l) ((c)->cop_file = savepvn((pv),(l)))
# else
# define CopFILE_set(c,pv) ((c)->cop_file = savesharedpv(pv))
# define CopFILE_setn(c,pv,l) ((c)->cop_file = savesharedpvn((pv),(l)))
@@ -444,8 +434,8 @@ struct cop {
# else
# define CopFILEAVx(c) (GvAV(CopFILEGV(c)))
# endif
-# define CopFILE(c) (CopFILEGV(c) && GvSV(CopFILEGV(c)) \
- ? SvPVX(GvSV(CopFILEGV(c))) : NULL)
+# define CopFILE(c) (CopFILEGV(c) \
+ ? GvNAME(CopFILEGV(c))+2 : NULL)
# define CopSTASH(c) ((c)->cop_stash)
# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv))
# define CopFILE_free(c) (SvREFCNT_dec(CopFILEGV(c)),(CopFILEGV(c) = NULL))
@@ -648,6 +638,7 @@ struct block_format {
#define POPSUB(cx,sv) \
STMT_START { \
+ const I32 olddepth = cx->blk_sub.olddepth; \
RETURN_PROBE(CvNAMED(cx->blk_sub.cv) \
? HEK_KEY(CvNAME_HEK(cx->blk_sub.cv)) \
: GvENAME(CvGV(cx->blk_sub.cv)), \
@@ -671,7 +662,8 @@ struct block_format {
} \
} \
sv = MUTABLE_SV(cx->blk_sub.cv); \
- if (sv && (CvDEPTH((const CV*)sv) = cx->blk_sub.olddepth)) \
+ LEAVE_SCOPE(PL_scopestack[cx->blk_oldscopesp-1]); \
+ if (sv && (CvDEPTH((const CV*)sv) = olddepth)) \
sv = NULL; \
} STMT_END
@@ -681,11 +673,15 @@ struct block_format {
} STMT_END
#define POPFORMAT(cx) \
- setdefout(cx->blk_format.dfoutgv); \
- CvDEPTH(cx->blk_format.cv)--; \
- if (!CvDEPTH(cx->blk_format.cv)) \
+ STMT_START { \
+ CV * const cv = cx->blk_format.cv; \
+ GV * const dfuot = cx->blk_format.dfoutgv; \
+ setdefout(dfuot); \
+ LEAVE_SCOPE(PL_scopestack[cx->blk_oldscopesp-1]); \
+ if (!--CvDEPTH(cv)) \
SvREFCNT_dec_NN(cx->blk_format.cv); \
- SvREFCNT_dec_NN(cx->blk_format.dfoutgv);
+ SvREFCNT_dec_NN(dfuot); \
+ } STMT_END
/* eval context */
struct block_eval {
@@ -1058,6 +1054,7 @@ L<perlcall>.
#define G_WRITING_TO_STDERR 1024 /* Perl_write_to_stderr() is calling
Perl_magic_methcall(). */
#define G_RE_REPARSING 0x800 /* compiling a run-time /(?{..})/ */
+#define G_METHOD_NAMED 4096 /* calling named method, eg without :: or ' */
/* flag bits for PL_in_eval */
#define EVAL_NULL 0 /* not in an eval */
@@ -1166,14 +1163,14 @@ typedef struct stackinfo PERL_SI;
=head1 Multicall Functions
=for apidoc Ams||dMULTICALL
-Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
+Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||PUSH_MULTICALL
Opening bracket for a lightweight callback.
See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||MULTICALL
-Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
+Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||POP_MULTICALL
Closing bracket for a lightweight callback.
diff --git a/Master/tlpkg/tlperl/lib/CORE/cv.h b/Master/tlpkg/tlperl/lib/CORE/cv.h
index 5da9a502f53..36afba7ee80 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cv.h
@@ -26,10 +26,10 @@ Null CV pointer.
=head1 CV Manipulation Functions
This section documents functions to manipulate CVs which are code-values,
-or subroutines. For more information, see L<perlguts>.
+or subroutines. For more information, see L<perlguts>.
=for apidoc Am|HV*|CvSTASH|CV* cv
-Returns the stash of the CV. A stash is the symbol table hash, containing
+Returns the stash of the CV. A stash is the symbol table hash, containing
the package-scoped variables in the package where the subroutine was defined.
For more information, see L<perlguts>.
@@ -49,7 +49,7 @@ See L<perlguts/Autoloading with XSUBs>.
#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) S_CvGV((CV *)(sv))
+#define CvGV(sv) S_CvGV((const CV *)(sv))
#define CvGV_set(cv,gv) Perl_cvgv_set(aTHX_ cv, gv)
#define CvFILE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file
#ifdef USE_ITHREADS
@@ -189,7 +189,7 @@ See L<perlguts/Autoloading with XSUBs>.
#define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */
PERL_STATIC_INLINE GV *
-S_CvGV(CV *sv)
+S_CvGV(const CV *sv)
{
return CvNAMED(sv)
? 0
@@ -218,19 +218,19 @@ CvNAME_HEK(CV *sv)
=for apidoc m|bool|CvWEAKOUTSIDE|CV *cv
Each CV has a pointer, C<CvOUTSIDE()>, to its lexically enclosing
-CV (if any). Because pointers to anonymous sub prototypes are
+CV (if any). Because pointers to anonymous sub prototypes are
stored in C<&> pad slots, it is a possible to get a circular reference,
-with the parent pointing to the child and vice-versa. To avoid the
+with the parent pointing to the child and vice-versa. To avoid the
ensuing memory leak, we do not increment the reference count of the CV
pointed to by C<CvOUTSIDE> in the I<one specific instance> that the parent
-has a C<&> pad slot pointing back to us. In this case, we set the
-C<CvWEAKOUTSIDE> flag in the child. This allows us to determine under what
+has a C<&> pad slot pointing back to us. In this case, we set the
+C<CvWEAKOUTSIDE> flag in the child. This allows us to determine under what
circumstances we should decrement the refcount of the parent when freeing
the child.
There is a further complication with non-closure anonymous subs (i.e. those
-that do not refer to any lexicals outside that sub). In this case, the
-anonymous prototype is shared rather than being cloned. This has the
+that do not refer to any lexicals outside that sub). In this case, the
+anonymous prototype is shared rather than being cloned. This has the
consequence that the parent may be freed while there are still active
children, eg
@@ -246,16 +246,16 @@ and the freed BEGIN is accessed.
To avoid this, whenever a CV and its associated pad is freed, any
C<&> entries in the pad are explicitly removed from the pad, and if the
refcount of the pointed-to anon sub is still positive, then that
-child's C<CvOUTSIDE> is set to point to its grandparent. This will only
+child's C<CvOUTSIDE> is set to point to its grandparent. This will only
occur in the single specific case of a non-closure anon prototype
having one or more active references (such as C<$a> above).
One other thing to consider is that a CV may be merely undefined
-rather than freed, eg C<undef &foo>. In this case, its refcount may
+rather than freed, eg C<undef &foo>. In this case, its refcount may
not have reached zero, but we still delete its pad and its C<CvROOT> etc.
Since various children may still have their C<CvOUTSIDE> pointing at this
undefined CV, we keep its own C<CvOUTSIDE> for the time being, so that
-the chain of lexical scopes is unbroken. For example, the following
+the chain of lexical scopes is unbroken. For example, the following
should print 123:
my $x = 123;
diff --git a/Master/tlpkg/tlperl/lib/CORE/dosish.h b/Master/tlpkg/tlperl/lib/CORE/dosish.h
index 8c3917b510d..8b34369ab5c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/dosish.h
+++ b/Master/tlpkg/tlperl/lib/CORE/dosish.h
@@ -58,23 +58,6 @@
#endif
#define dXSUB_SYS
-/*
- * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were
- * running on DOS, *and* if we had to cope with 16 bit memory addressing
- * constraints, *and* we need to have memory allocated as unsigned long.
- *
- * with the advent of *real* compilers for DOS, they are not locked together.
- * MSDOS means "I am running on MSDOS". HAS_64K_LIMIT means "I have
- * 16 bit memory addressing constraints".
- *
- * if you need the last, try #DEFINE MEM_SIZE unsigned long.
- */
-#ifdef MSDOS
-# ifndef DJGPP
-# define HAS_64K_LIMIT
-# endif
-#endif
-
/* USEMYBINMODE
* This symbol, if defined, indicates that the program should
* use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
diff --git a/Master/tlpkg/tlperl/lib/CORE/embed.h b/Master/tlpkg/tlperl/lib/CORE/embed.h
index 71456cbe205..a6e3b9d1820 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embed.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embed.h
@@ -35,12 +35,13 @@
#define _is_utf8_perl_idcont(a) Perl__is_utf8_perl_idcont(aTHX_ a)
#define _is_utf8_perl_idstart(a) Perl__is_utf8_perl_idstart(aTHX_ a)
#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,e) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e)
-#define _to_utf8_lower_flags(a,b,c,d,e) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e)
-#define _to_utf8_title_flags(a,b,c,d,e) Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e)
-#define _to_utf8_upper_flags(a,b,c,d,e) Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_fold_flags(a,b,c,d) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d)
+#define _to_utf8_lower_flags(a,b,c,d) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d)
+#define _to_utf8_title_flags(a,b,c,d) Perl__to_utf8_title_flags(aTHX_ a,b,c,d)
+#define _to_utf8_upper_flags(a,b,c,d) Perl__to_utf8_upper_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 append_utf8_from_native_byte S_append_utf8_from_native_byte
#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
@@ -84,6 +85,7 @@
#ifndef PERL_IMPLICIT_CONTEXT
#define croak Perl_croak
#endif
+#define croak_memory_wrap S_croak_memory_wrap
#define croak_no_modify Perl_croak_no_modify
#define croak_sv(a) Perl_croak_sv(aTHX_ a)
#define croak_xs_usage Perl_croak_xs_usage
@@ -229,6 +231,7 @@
#define instr Perl_instr
#define is_ascii_string Perl_is_ascii_string
#define is_lvalue_sub() Perl_is_lvalue_sub(aTHX)
+#define is_safe_syscall(a,b,c,d) S_is_safe_syscall(aTHX_ a,b,c,d)
#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a)
#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a)
#define is_uni_alnumc(a) Perl_is_uni_alnumc(aTHX_ a)
@@ -340,7 +343,6 @@
#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 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)
@@ -451,7 +453,7 @@
#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_start(a,b,c,d,e,f,g) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f,g)
#define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a)
#define reentrant_free() Perl_reentrant_free(aTHX)
#define reentrant_init() Perl_reentrant_init(aTHX)
@@ -607,6 +609,7 @@
#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_b2u_flags(a,b,c) Perl_sv_pos_b2u_flags(aTHX_ a,b,c)
#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_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b)
@@ -689,12 +692,14 @@
#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 utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b)
-#define utf8_to_uvchr_buf(a,b,c) Perl_utf8_to_uvchr_buf(aTHX_ a,b,c)
#define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b)
#define utf8_to_uvuni_buf(a,b,c) Perl_utf8_to_uvuni_buf(aTHX_ a,b,c)
+#define utf8n_to_uvchr(a,b,c,d) Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
#define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
-#define uvchr_to_utf8_flags(a,b,c) Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
+#define uvoffuni_to_utf8_flags(a,b,c) Perl_uvoffuni_to_utf8_flags(aTHX_ a,b,c)
+#define uvuni_to_utf8(a,b) Perl_uvuni_to_utf8(aTHX_ a,b)
#define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
+#define valid_utf8_to_uvchr(a,b) Perl_valid_utf8_to_uvchr(aTHX_ a,b)
#define valid_utf8_to_uvuni(a,b) Perl_valid_utf8_to_uvuni(aTHX_ a,b)
#define vcmp(a,b) Perl_vcmp(aTHX_ a,b)
#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
@@ -752,14 +757,6 @@
#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
#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)
-#define valid_utf8_to_uvchr(a,b) Perl_valid_utf8_to_uvchr(aTHX_ a,b)
-#endif
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
#define csighandler Perl_csighandler
#endif
@@ -774,11 +771,6 @@
#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c)
#endif
-#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 free_global_struct(a) Perl_free_global_struct(aTHX_ a)
@@ -801,6 +793,12 @@
#define warn_nocontext Perl_warn_nocontext
#define warner_nocontext Perl_warner_nocontext
#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
+#define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a)
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+#define _get_regclass_nonbitmap_data(a,b,c,d,e) Perl__get_regclass_nonbitmap_data(aTHX_ a,b,c,d,e)
+#endif
#if defined(PERL_MAD)
#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
#endif
@@ -830,7 +828,7 @@
#if defined(USE_LOCALE_COLLATE)
#define sv_collxfrm_flags(a,b,c) Perl_sv_collxfrm_flags(aTHX_ a,b,c)
#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
+#if defined(USE_PERLIO)
#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)
@@ -854,6 +852,9 @@
#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(WIN32)
+#define my_setlocale(a,b) Perl_my_setlocale(aTHX_ a,b)
+#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)
@@ -862,6 +863,8 @@
#if defined(PERL_CORE) || defined(PERL_EXT)
#define av_reify(a) Perl_av_reify(aTHX_ a)
#define current_re_engine() Perl_current_re_engine(aTHX)
+#define cv_ckproto_len_flags(a,b,c,d,e) Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
+#define mg_find_mglob(a) Perl_mg_find_mglob(aTHX_ a)
#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)
@@ -871,8 +874,10 @@
#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 regprop(a,b,c,d) Perl_regprop(aTHX_ a,b,c,d)
#define report_uninit(a) Perl_report_uninit(aTHX_ a)
+#define sv_magicext_mglob(a) Perl_sv_magicext_mglob(aTHX_ a)
+#define validate_proto(a,b,c) Perl_validate_proto(aTHX_ a,b,c)
#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a)
#define yylex() Perl_yylex(aTHX)
# if defined(DEBUGGING)
@@ -882,7 +887,10 @@
#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 put_latin1_charclass_innards(a,b) S_put_latin1_charclass_innards(aTHX_ a,b)
+#define put_range(a,b,c) S_put_range(aTHX_ a,b,c)
#define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b)
+#define regdump_intflags(a,b) S_regdump_intflags(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)
@@ -893,24 +901,20 @@
# if defined(PERL_ANY_COW)
#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
# endif
+# if defined(PERL_CORE) || defined (PERL_EXT)
+#define sv_or_pv_pos_u2b(a,b,c,d) S_sv_or_pv_pos_u2b(aTHX_ a,b,c,d)
+# endif
# if defined(PERL_IN_REGCOMP_C)
#define _append_range_to_invlist(a,b,c) S__append_range_to_invlist(aTHX_ a,b,c)
#define _invlist_array_init(a,b) S__invlist_array_init(aTHX_ a,b)
-#define _new_invlist_C_array(a) S__new_invlist_C_array(aTHX_ a)
#define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b)
#define add_data S_add_data
-#define alloc_maybe_populate_EXACT(a,b,c,d,e) S_alloc_maybe_populate_EXACT(aTHX_ a,b,c,d,e)
-#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 alloc_maybe_populate_EXACT(a,b,c,d,e,f) S_alloc_maybe_populate_EXACT(aTHX_ a,b,c,d,e,f)
#define compute_EXACTish(a) S_compute_EXACTish(aTHX_ a)
#define could_it_be_a_POSIX_class(a) S_could_it_be_a_POSIX_class(aTHX_ a)
+#define get_ANYOF_cp_list_for_ssc(a,b) S_get_ANYOF_cp_list_for_ssc(aTHX_ a,b)
#define get_invlist_iter_addr(a) S_get_invlist_iter_addr(aTHX_ a)
#define get_invlist_previous_index_addr(a) S_get_invlist_previous_index_addr(aTHX_ a)
-#define get_invlist_version_id_addr(a) S_get_invlist_version_id_addr(aTHX_ a)
-#define get_invlist_zero_addr(a) S_get_invlist_zero_addr(aTHX_ a)
#define grok_bslash_N(a,b,c,d,e,f,g) S_grok_bslash_N(aTHX_ a,b,c,d,e,f,g)
#define handle_regex_sets(a,b,c,d,e) S_handle_regex_sets(aTHX_ a,b,c,d,e)
#define invlist_array(a) S_invlist_array(aTHX_ a)
@@ -923,7 +927,7 @@
#define invlist_iternext(a,b,c) S_invlist_iternext(aTHX_ a,b,c)
#define invlist_max(a) S_invlist_max(aTHX_ a)
#define invlist_previous_index(a) S_invlist_previous_index(aTHX_ a)
-#define invlist_set_len(a,b) S_invlist_set_len(aTHX_ a,b)
+#define invlist_set_len(a,b,c) S_invlist_set_len(aTHX_ a,b,c)
#define invlist_set_previous_index(a,b) S_invlist_set_previous_index(aTHX_ a,b)
#define invlist_trim(a) S_invlist_trim(aTHX_ a)
#define join_exact(a,b,c,d,e,f,g) S_join_exact(aTHX_ a,b,c,d,e,f,g)
@@ -931,6 +935,7 @@
#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 parse_lparen_question_flags(a) S_parse_lparen_question_flags(aTHX_ a)
+#define populate_ANYOF_from_invlist(a,b) S_populate_ANYOF_from_invlist(aTHX_ a,b)
#define reg(a,b,c,d) S_reg(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)
@@ -948,23 +953,39 @@
#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_ANYOF_arg(a,b,c,d,e,f,g) S_set_ANYOF_arg(aTHX_ a,b,c,d,e,f,g)
+#define ssc_add_range(a,b,c) S_ssc_add_range(aTHX_ a,b,c)
+#define ssc_and(a,b,c) S_ssc_and(aTHX_ a,b,c)
+#define ssc_anything(a) S_ssc_anything(aTHX_ a)
+#define ssc_clear_locale(a) S_ssc_clear_locale(aTHX_ a)
+#define ssc_cp_and(a,b) S_ssc_cp_and(aTHX_ a,b)
+#define ssc_finalize(a,b) S_ssc_finalize(aTHX_ a,b)
+#define ssc_init(a,b) S_ssc_init(aTHX_ a,b)
+#define ssc_intersection(a,b,c) S_ssc_intersection(aTHX_ a,b,c)
+#define ssc_is_anything(a) S_ssc_is_anything(aTHX_ a)
+#define ssc_is_cp_posixl_init(a,b) S_ssc_is_cp_posixl_init(aTHX_ a,b)
+#define ssc_or(a,b,c) S_ssc_or(aTHX_ a,b,c)
+#define ssc_union(a,b,c) S_ssc_union(aTHX_ a,b,c)
#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_REGCOMP_C) || defined (PERL_IN_DUMP_C)
+#define _invlist_dump(a,b,c,d) Perl__invlist_dump(aTHX_ a,b,c,d)
+# endif
# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
-#define _get_invlist_len_addr(a) S__get_invlist_len_addr(aTHX_ a)
#define _get_swash_invlist(a) Perl__get_swash_invlist(aTHX_ a)
#define _invlist_contains_cp(a,b) S__invlist_contains_cp(aTHX_ a,b)
#define _invlist_contents(a) Perl__invlist_contents(aTHX_ a)
#define _invlist_len(a) S__invlist_len(aTHX_ a)
#define _invlist_search(a,b) Perl__invlist_search(aTHX_ a,b)
#define _swash_inversion_hash(a) Perl__swash_inversion_hash(aTHX_ a)
+#define get_invlist_offset_addr(a) S_get_invlist_offset_addr(aTHX_ a)
# endif
# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
#define _core_swash_init(a,b,c,d,e,f,g) Perl__core_swash_init(aTHX_ a,b,c,d,e,f,g)
# endif
# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
#define form_short_octal_warning(a,b) S_form_short_octal_warning(aTHX_ a,b)
-#define grok_bslash_c(a,b,c) S_grok_bslash_c(aTHX_ a,b,c)
+#define grok_bslash_c(a,b) S_grok_bslash_c(aTHX_ a,b)
#define grok_bslash_o(a,b,c,d,e,f,g) S_grok_bslash_o(aTHX_ a,b,c,d,e,f,g)
#define grok_bslash_x(a,b,c,d,e,f,g) S_grok_bslash_x(aTHX_ a,b,c,d,e,f,g)
#define regcurly(a,b) S_regcurly(aTHX_ a,b)
@@ -973,31 +994,28 @@
#define _add_range_to_invlist(a,b,c) Perl__add_range_to_invlist(aTHX_ a,b,c)
#define _invlist_intersection_maybe_complement_2nd(a,b,c,d) Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d)
#define _invlist_invert(a) Perl__invlist_invert(aTHX_ a)
-#define _invlist_invert_prop(a) Perl__invlist_invert_prop(aTHX_ a)
#define _invlist_populate_swatch(a,b,c,d) Perl__invlist_populate_swatch(aTHX_ a,b,c,d)
#define _invlist_union_maybe_complement_2nd(a,b,c,d) Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d)
#define _new_invlist(a) Perl__new_invlist(aTHX_ a)
+#define _setup_canned_invlist(a,b,c) Perl__setup_canned_invlist(aTHX_ a,b,c)
#define _swash_to_invlist(a) Perl__swash_to_invlist(aTHX_ a)
# endif
# if defined(PERL_IN_REGEXEC_C)
-#define core_regclass_swash(a,b,c,d) S_core_regclass_swash(aTHX_ a,b,c,d)
-#define find_byclass(a,b,c,d,e,f) S_find_byclass(aTHX_ a,b,c,d,e,f)
+#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
#define isFOO_lc(a,b) S_isFOO_lc(aTHX_ a,b)
#define isFOO_utf8_lc(a,b) S_isFOO_utf8_lc(aTHX_ a,b)
#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
#define regcppop(a,b) S_regcppop(aTHX_ a,b)
#define regcppush(a,b,c) S_regcppush(aTHX_ a,b,c)
#define reghop3 S_reghop3
+#define reghop4 S_reghop4
#define reghopmaybe3 S_reghopmaybe3
-#define reginclass(a,b,c,d) S_reginclass(aTHX_ a,b,c,d)
+#define reginclass(a,b,c,d,e) S_reginclass(aTHX_ a,b,c,d,e)
#define regmatch(a,b,c) S_regmatch(aTHX_ a,b,c)
#define regrepeat(a,b,c,d,e,f) S_regrepeat(aTHX_ a,b,c,d,e,f)
#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_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
#define _to_fold_latin1(a,b,c,d) Perl__to_fold_latin1(aTHX_ a,b,c,d)
@@ -1019,18 +1037,17 @@
#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_backtick(a) Perl_ck_backtick(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
#define ck_cmp(a) Perl_ck_cmp(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)
@@ -1062,18 +1079,21 @@
#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
#define ck_tell(a) Perl_ck_tell(aTHX_ a)
#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
+#define closest_cop(a,b,c,d) Perl_closest_cop(aTHX_ a,b,c,d)
#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
#define core_prototype(a,b,c,d) Perl_core_prototype(aTHX_ a,b,c,d)
#define coresub_op(a,b,c) Perl_coresub_op(aTHX_ a,b,c)
#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
#define croak_no_mem Perl_croak_no_mem
#define croak_popstack Perl_croak_popstack
-#define cv_ckproto_len_flags(a,b,c,d,e) Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
+#define custom_op_get_field(a,b) Perl_custom_op_get_field(aTHX_ a,b)
#define cv_clone_into(a,b) Perl_cv_clone_into(aTHX_ a,b)
+#define cv_const_sv_or_av(a) Perl_cv_const_sv_or_av(aTHX_ a)
#define cv_forget_slab(a) Perl_cv_forget_slab(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 defelem_target(a,b) Perl_defelem_target(aTHX_ a,b)
#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)
@@ -1081,6 +1101,8 @@
#define do_eof(a) Perl_do_eof(aTHX_ a)
#define do_execfree() Perl_do_execfree(aTHX)
#define do_ncmp(a,b) Perl_do_ncmp(aTHX_ a,b)
+#define do_open6(a,b,c,d,e,f) Perl_do_open6(aTHX_ a,b,c,d,e,f)
+#define do_open_raw(a,b,c,d,e) Perl_do_open_raw(aTHX_ a,b,c,d,e)
#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)
@@ -1103,6 +1125,7 @@
#define get_hash_seed(a) Perl_get_hash_seed(aTHX_ a)
#define get_no_modify() Perl_get_no_modify(aTHX)
#define get_opargs() Perl_get_opargs(aTHX)
+#define gv_override(a,b) Perl_gv_override(aTHX_ a,b)
#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)
@@ -1175,10 +1198,10 @@
#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 newATTRSUB_flags(a,b,c,d,e,f) Perl_newATTRSUB_flags(aTHX_ a,b,c,d,e,f)
+#define newATTRSUB_x(a,b,c,d,e,f) Perl_newATTRSUB_x(aTHX_ a,b,c,d,e,f)
#define newSTUB(a,b) Perl_newSTUB(aTHX_ a,b)
+#define newSVavdefelem(a,b,c) Perl_newSVavdefelem(aTHX_ a,b,c)
#define newXS_len_flags(a,b,c,d,e,f,g) Perl_newXS_len_flags(aTHX_ a,b,c,d,e,f,g)
#define nextargv(a) Perl_nextargv(aTHX_ a)
#define oopsAV(a) Perl_oopsAV(aTHX_ a)
@@ -1193,6 +1216,7 @@
#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
#define padlist_store(a,b,c) Perl_padlist_store(aTHX_ a,b,c)
+#define parse_subsignature() Perl_parse_subsignature(aTHX)
#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)
@@ -1213,9 +1237,11 @@
#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 save_strlen(a) Perl_save_strlen(aTHX_ a)
#define sawparens(a) Perl_sawparens(aTHX_ a)
#define scalar(a) Perl_scalar(aTHX_ a)
#define scalarvoid(a) Perl_scalarvoid(aTHX_ a)
+#define set_caret_X() Perl_set_caret_X(aTHX)
#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)
@@ -1344,6 +1370,12 @@
#define strip_return(a) S_strip_return(aTHX_ a)
# endif
# endif
+# if defined(PERL_DEBUG_READONLY_COW)
+#define sv_buf_to_ro(a) Perl_sv_buf_to_ro(aTHX_ a)
+# if defined(PERL_IN_SV_C)
+#define sv_buf_to_rw(a) S_sv_buf_to_rw(aTHX_ a)
+# endif
+# endif
# if defined(PERL_IN_AV_C)
#define get_aux_mg(a) S_get_aux_mg(aTHX_ a)
# endif
@@ -1353,6 +1385,8 @@
# 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)
+#define openn_cleanup(a,b,c,d,e,f,g,h,i,j,k,l) S_openn_cleanup(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l)
+#define openn_setup(a,b,c,d,e,f) S_openn_setup(aTHX_ a,b,c,d,e,f)
# endif
# if defined(PERL_IN_DOOP_C)
#define do_trans_complex(a) S_do_trans_complex(aTHX_ a)
@@ -1369,8 +1403,13 @@
#define sequence_num(a) S_sequence_num(aTHX_ a)
# endif
# if defined(PERL_IN_GV_C)
+#define find_default_stash(a,b,c,d,e,f) S_find_default_stash(aTHX_ a,b,c,d,e,f)
#define gv_init_svtype(a,b) S_gv_init_svtype(aTHX_ a,b)
+#define gv_is_in_main(a,b,c) S_gv_is_in_main(aTHX_ a,b,c)
+#define gv_magicalize(a,b,c,d,e,f) S_gv_magicalize(aTHX_ a,b,c,d,e,f)
#define gv_magicalize_isa(a) S_gv_magicalize_isa(aTHX_ a)
+#define maybe_multimagic_gv(a,b,c) S_maybe_multimagic_gv(aTHX_ a,b,c)
+#define parse_gv_stash_name(a,b,c,d,e,f,g,h) S_parse_gv_stash_name(aTHX_ a,b,c,d,e,f,g,h)
#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)
@@ -1378,6 +1417,7 @@
#define hfreeentries(a) S_hfreeentries(aTHX_ a)
#define hsplit(a,b,c) S_hsplit(aTHX_ a,b,c)
#define hv_auxinit(a) S_hv_auxinit(aTHX_ a)
+#define hv_auxinit_internal S_hv_auxinit_internal
#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_free_ent_ret(a,b) S_hv_free_ent_ret(aTHX_ a,b)
#define hv_magic_check S_hv_magic_check
@@ -1389,23 +1429,26 @@
#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)
+# if defined(PERL_IN_LOCALE_C) && defined(USE_LOCALE)
+#define is_cur_LC_category_utf8(a) S_is_cur_LC_category_utf8(aTHX_ a)
#define stdize_locale(a) S_stdize_locale(aTHX_ a)
-# endif
+# endif
+# if defined(PERL_IN_MALLOC_C)
+#define adjust_size_and_find_bucket S_adjust_size_and_find_bucket
# endif
# if defined(PERL_IN_MG_C)
+#define fixup_errno_string(a) S_fixup_errno_string(aTHX_ a)
#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 save_magic_flags(a,b,c) S_save_magic_flags(aTHX_ a,b,c)
#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
# endif
# if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
#define translate_substr_offsets(a,b,c,d,e,f,g) Perl_translate_substr_offsets(aTHX_ a,b,c,d,e,f,g)
# endif
# if defined(PERL_IN_MRO_C)
-#define mro_clean_isarev(a,b,c,d,e) S_mro_clean_isarev(aTHX_ a,b,c,d,e)
+#define mro_clean_isarev(a,b,c,d,e,f) S_mro_clean_isarev(aTHX_ a,b,c,d,e,f)
#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
@@ -1416,8 +1459,8 @@
#define aassign_common_vars(a) S_aassign_common_vars(aTHX_ a)
#define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c)
#define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d)
+#define bad_type_gv(a,b,c,d,e) S_bad_type_gv(aTHX_ a,b,c,d,e)
#define bad_type_pv(a,b,c,d,e) S_bad_type_pv(aTHX_ a,b,c,d,e)
-#define bad_type_sv(a,b,c,d,e) S_bad_type_sv(aTHX_ a,b,c,d,e)
#define cop_free(a) S_cop_free(aTHX_ a)
#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
#define finalize_op(a) S_finalize_op(aTHX_ a)
@@ -1433,12 +1476,14 @@
#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 move_proto_attr(a,b,c) S_move_proto_attr(aTHX_ a,b,c)
#define my_kid(a,b,c) S_my_kid(aTHX_ a,b,c)
#define newDEFSVOP() S_newDEFSVOP(aTHX)
#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 no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a)
#define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a)
+#define null_listop_in_list_context(a) S_null_listop_in_list_context(aTHX_ a)
#define op_integerize(a) S_op_integerize(aTHX_ a)
#define op_std_init(a) S_op_std_init(aTHX_ a)
#define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c)
@@ -1491,7 +1536,7 @@
#define refto(a) S_refto(aTHX_ a)
# endif
# if defined(PERL_IN_PP_CTL_C)
-#define adjust_stack_on_leave(a,b,c,d,e) S_adjust_stack_on_leave(aTHX_ a,b,c,d,e)
+#define adjust_stack_on_leave(a,b,c,d,e,f) S_adjust_stack_on_leave(aTHX_ a,b,c,d,e,f)
#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,c) S_do_smartmatch(aTHX_ a,b,c)
@@ -1508,7 +1553,7 @@
#define make_matcher(a) S_make_matcher(aTHX_ a)
#define matcher_matches_sv(a,b) S_matcher_matches_sv(aTHX_ a,b)
#define num_overflow S_num_overflow
-#define path_is_absolute S_path_is_absolute
+#define path_is_searchable S_path_is_searchable
#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)
@@ -1603,7 +1648,7 @@
#define force_next(a) S_force_next(aTHX_ a)
#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 force_word(a,b,c,d) S_force_word(aTHX_ a,b,c,d)
#define get_and_check_backslash_N_name(a,b) S_get_and_check_backslash_N_name(aTHX_ a,b)
#define incline(a) S_incline(aTHX_ a)
#define intuit_method(a,b,c) S_intuit_method(aTHX_ a,b,c)
@@ -1613,18 +1658,17 @@
#define no_op(a,b) S_no_op(aTHX_ a,b)
#define parse_ident(a,b,c,d,e) S_parse_ident(aTHX_ a,b,c,d,e)
#define pending_ident() S_pending_ident(aTHX)
-#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)
#define scan_heredoc(a) S_scan_heredoc(aTHX_ a)
-#define scan_ident(a,b,c,d,e) S_scan_ident(aTHX_ a,b,c,d,e)
+#define scan_ident(a,b,c,d) S_scan_ident(aTHX_ a,b,c,d)
#define scan_inputsymbol(a) S_scan_inputsymbol(aTHX_ a)
#define scan_pat(a,b) S_scan_pat(aTHX_ a,b)
-#define scan_str(a,b,c,d,e) S_scan_str(aTHX_ a,b,c,d,e)
+#define scan_str(a,b,c,d,e,f) S_scan_str(aTHX_ a,b,c,d,e,f)
#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 skipspace(a) S_skipspace(aTHX_ a)
+#define skipspace_flags(a,b) S_skipspace_flags(aTHX_ a,b)
#define sublex_done() S_sublex_done(aTHX)
#define sublex_push() S_sublex_push(aTHX)
#define sublex_start() S_sublex_start(aTHX)
@@ -1647,7 +1691,7 @@
# if defined(PERL_IN_UTF8_C)
#define check_locale_boundary_crossing(a,b,c,d) S_check_locale_boundary_crossing(aTHX_ a,b,c,d)
#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 is_utf8_common(a,b,c,d) S_is_utf8_common(aTHX_ a,b,c,d)
#define swatch_get(a,b,c) S_swatch_get(aTHX_ a,b,c)
#define to_lower_latin1(a,b,c) S_to_lower_latin1(aTHX_ a,b,c)
# endif
@@ -1656,7 +1700,6 @@
# 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 with_queued_errors(a) S_with_queued_errors(aTHX_ a)
@@ -1702,78 +1745,6 @@
#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
-# if defined(PERL_NEED_MY_BETOH32)
-#define my_betoh32 Perl_my_betoh32
-# endif
-# if defined(PERL_NEED_MY_BETOH64)
-#define my_betoh64 Perl_my_betoh64
-# 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
-# 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
-# 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
-# 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
-# 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
diff --git a/Master/tlpkg/tlperl/lib/CORE/embedvar.h b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
index e689c5e4fbd..5ae8d051b17 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embedvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
@@ -40,7 +40,6 @@
# define vTHX PERL_GET_INTERP
# endif
-#define PL_ASCII (vTHX->IASCII)
#define PL_AboveLatin1 (vTHX->IAboveLatin1)
#define PL_Argv (vTHX->IArgv)
#define PL_Cmd (vTHX->ICmd)
@@ -54,7 +53,6 @@
#define PL_Dir (vTHX->IDir)
#define PL_Env (vTHX->IEnv)
#define PL_HasMultiCharFold (vTHX->IHasMultiCharFold)
-#define PL_L1Posix_ptrs (vTHX->IL1Posix_ptrs)
#define PL_LIO (vTHX->ILIO)
#define PL_Latin1 (vTHX->ILatin1)
#define PL_Mem (vTHX->IMem)
@@ -66,6 +64,7 @@
#define PL_Sock (vTHX->ISock)
#define PL_StdIO (vTHX->IStdIO)
#define PL_Sv (vTHX->ISv)
+#define PL_UpperLatin1 (vTHX->IUpperLatin1)
#define PL_XPosix_ptrs (vTHX->IXPosix_ptrs)
#define PL_Xpv (vTHX->IXpv)
#define PL_an (vTHX->Ian)
@@ -157,12 +156,12 @@
#define PL_hash_rand_bits (vTHX->Ihash_rand_bits)
#define PL_hash_rand_bits_enabled (vTHX->Ihash_rand_bits_enabled)
#define PL_hintgv (vTHX->Ihintgv)
-#define PL_hints (vTHX->Ihints)
#define PL_hv_fetch_ent_mh (vTHX->Ihv_fetch_ent_mh)
#define PL_in_clean_all (vTHX->Iin_clean_all)
#define PL_in_clean_objs (vTHX->Iin_clean_objs)
#define PL_in_eval (vTHX->Iin_eval)
#define PL_in_load_module (vTHX->Iin_load_module)
+#define PL_in_utf8_CTYPE_locale (vTHX->Iin_utf8_CTYPE_locale)
#define PL_incgv (vTHX->Iincgv)
#define PL_initav (vTHX->Iinitav)
#define PL_inplace (vTHX->Iinplace)
@@ -216,9 +215,9 @@
#define PL_ofsgv (vTHX->Iofsgv)
#define PL_oldname (vTHX->Ioldname)
#define PL_op (vTHX->Iop)
+#define PL_op_exec_cnt (vTHX->Iop_exec_cnt)
#define PL_op_mask (vTHX->Iop_mask)
#define PL_opfreehook (vTHX->Iopfreehook)
-#define PL_opsave (vTHX->Iopsave)
#define PL_origalen (vTHX->Iorigalen)
#define PL_origargc (vTHX->Iorigargc)
#define PL_origargv (vTHX->Iorigargv)
@@ -243,10 +242,10 @@
#define PL_psig_pend (vTHX->Ipsig_pend)
#define PL_psig_ptr (vTHX->Ipsig_ptr)
#define PL_ptr_table (vTHX->Iptr_table)
+#define PL_random_state (vTHX->Irandom_state)
#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
#define PL_reentrant_retint (vTHX->Ireentrant_retint)
-#define PL_reg_state (vTHX->Ireg_state)
-#define PL_regdummy (vTHX->Iregdummy)
+#define PL_reg_curpm (vTHX->Ireg_curpm)
#define PL_regex_pad (vTHX->Iregex_pad)
#define PL_regex_padav (vTHX->Iregex_padav)
#define PL_registered_mros (vTHX->Iregistered_mros)
@@ -302,6 +301,7 @@
#define PL_subline (vTHX->Isubline)
#define PL_subname (vTHX->Isubname)
#define PL_sv_arenaroot (vTHX->Isv_arenaroot)
+#define PL_sv_consts (vTHX->Isv_consts)
#define PL_sv_count (vTHX->Isv_count)
#define PL_sv_no (vTHX->Isv_no)
#define PL_sv_objcount (vTHX->Isv_objcount)
diff --git a/Master/tlpkg/tlperl/lib/CORE/fakethr.h b/Master/tlpkg/tlperl/lib/CORE/fakethr.h
deleted file mode 100644
index 643806de26f..00000000000
--- a/Master/tlpkg/tlperl/lib/CORE/fakethr.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* fakethr.h
- *
- * Copyright (C) 1999, 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.
- *
- */
-
-typedef int perl_mutex;
-typedef int perl_key;
-
-typedef struct perl_thread *perl_os_thread;
-/* With fake threads, thr is global(ish) so we don't need dTHR */
-#define dTHR extern int errno
-
-struct perl_wait_queue {
- struct perl_thread * thread;
- struct perl_wait_queue * next;
-};
-typedef struct perl_wait_queue *perl_cond;
-
-/* Ask thread.h to include our per-thread extras */
-#define HAVE_THREAD_INTERN
-struct thread_intern {
- perl_os_thread next_run, prev_run; /* Linked list of runnable threads */
- perl_cond wait_queue; /* Wait queue that we are waiting on */
- IV private; /* Holds data across time slices */
- I32 savemark; /* Holds MARK for thread join values */
-};
-
-#define init_thread_intern(t) \
- STMT_START { \
- t->self = (t); \
- (t)->i.next_run = (t)->i.prev_run = (t); \
- (t)->i.wait_queue = 0; \
- (t)->i.private = 0; \
- } STMT_END
-
-/*
- * Note that SCHEDULE() is only callable from pp code (which
- * must be expecting to be restarted). We'll have to do
- * something a bit different for XS code.
- */
-
-#define SCHEDULE() return schedule(), PL_op
-
-#define MUTEX_LOCK(m)
-#define MUTEX_UNLOCK(m)
-#define MUTEX_INIT(m)
-#define MUTEX_DESTROY(m)
-#define COND_INIT(c) perl_cond_init(c)
-#define COND_SIGNAL(c) perl_cond_signal(c)
-#define COND_BROADCAST(c) perl_cond_broadcast(c)
-#define COND_WAIT(c, m) \
- STMT_START { \
- perl_cond_wait(c); \
- SCHEDULE(); \
- } STMT_END
-#define COND_DESTROY(c)
-
-#define THREAD_CREATE(t, f) f((t))
-#define THREAD_POST_CREATE(t) NOOP
-
-#define YIELD NOOP
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 et:
- */
diff --git a/Master/tlpkg/tlperl/lib/CORE/feature.h b/Master/tlpkg/tlperl/lib/CORE/feature.h
index 215a4d50465..698302c43f8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/feature.h
+++ b/Master/tlpkg/tlperl/lib/CORE/feature.h
@@ -27,7 +27,7 @@
& HINT_LOCALIZE_HH) \
? Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)) : FALSE)
/* The longest string we pass in. */
-#define MAX_FEATURE_LEN (sizeof("evalbytes")-1)
+#define MAX_FEATURE_LEN (sizeof("postderef_qq")-1)
#define FEATURE_FC_IS_ENABLED \
( \
@@ -67,6 +67,12 @@
FEATURE_IS_ENABLED("evalbytes")) \
)
+#define FEATURE_POSTDEREF_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("postderef") \
+ )
+
#define FEATURE_ARYBASE_IS_ENABLED \
( \
CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_511 \
@@ -74,6 +80,12 @@
FEATURE_IS_ENABLED("arybase")) \
)
+#define FEATURE_SIGNATURES_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("signatures") \
+ )
+
#define FEATURE___SUB___IS_ENABLED \
( \
CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
@@ -87,6 +99,12 @@
FEATURE_IS_ENABLED("lexsubs") \
)
+#define FEATURE_POSTDEREF_QQ_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("postderef_qq") \
+ )
+
#define FEATURE_UNIEVAL_IS_ENABLED \
( \
CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
diff --git a/Master/tlpkg/tlperl/lib/CORE/gv.h b/Master/tlpkg/tlperl/lib/CORE/gv.h
index 1e17f35d463..d7ca92fb58c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/gv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/gv.h
@@ -141,8 +141,9 @@ Return the CV from the GV.
#define GvLINE(gv) (GvGP(gv)->gp_line)
#define GvFILE_HEK(gv) (GvGP(gv)->gp_file_hek)
-#define GvFILE(gv) (GvFILE_HEK(gv) ? HEK_KEY(GvFILE_HEK(gv)) : NULL)
-#define GvFILEGV(gv) (gv_fetchfile(GvFILE(gv)))
+#define GvFILEx(gv) HEK_KEY(GvFILE_HEK(gv))
+#define GvFILE(gv) (GvFILE_HEK(gv) ? GvFILEx(gv) : NULL)
+#define GvFILEGV(gv) (GvFILE_HEK(gv) ? gv_fetchfile(GvFILEx(gv)) : NULL)
#define GvEGV(gv) (GvGP(gv)->gp_egv)
#define GvEGVx(gv) (isGV_with_GP(gv) ? GvEGV(gv) : NULL)
diff --git a/Master/tlpkg/tlperl/lib/CORE/handy.h b/Master/tlpkg/tlperl/lib/CORE/handy.h
index 582cea638c9..8e79a15e431 100644
--- a/Master/tlpkg/tlperl/lib/CORE/handy.h
+++ b/Master/tlpkg/tlperl/lib/CORE/handy.h
@@ -8,6 +8,9 @@
*
*/
+/* IMPORTANT NOTE: Everything whose name begins with an underscore is for
+ * internal core Perl use only. */
+
#ifndef HANDY_H /* Guard against nested #inclusion */
#define HANDY_H
@@ -25,10 +28,11 @@
=head1 Handy Values
=for apidoc AmU||Nullch
-Null character pointer. (No longer available when C<PERL_CORE> is defined.)
+Null character pointer. (No longer available when C<PERL_CORE> is
+defined.)
=for apidoc AmU||Nullsv
-Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
+Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
=cut
*/
@@ -69,7 +73,7 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
#define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p))
#define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
-#ifdef I_STDBOOL
+#if defined(I_STDBOOL) && !defined(PERL_BOOL_AS_CHAR)
# include <stdbool.h>
# ifndef HAS_BOOL
# define HAS_BOOL 1
@@ -85,9 +89,11 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
Andy Dougherty February 2000
*/
#ifdef __GNUG__ /* GNU g++ has bool built-in */
+# ifndef PERL_BOOL_AS_CHAR
# ifndef HAS_BOOL
# define HAS_BOOL 1
# endif
+# endif
#endif
/* The NeXT dynamic loader headers will not build with the bool macro
@@ -104,19 +110,17 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
#endif /* NeXT || __NeXT__ */
#ifndef HAS_BOOL
-# if defined(VMS)
-# define bool int
-# else
-# define bool char
+# ifdef bool
+# undef bool
# endif
+# define bool char
# 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
- * (bool)!!(cbool) in a ternary triggers a bug in xlc on AIX
- */
-
+/* cast-to-bool. 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 (bool)!!(cbool) in a ternary triggers a bug in xlc on
+ * AIX */
#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
/* Try to figure out __func__ or __FUNCTION__ equivalent, if any.
@@ -126,7 +130,7 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */
# define FUNCTION__ __func__
#else
-# if (defined(_MSC_VER) && _MSC_VER < 1300) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
+# if (defined(USING_MSVC6)) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
(defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
# define FUNCTION__ ""
# else
@@ -269,23 +273,34 @@ typedef U64TYPE U64;
#define Ctl(ch) ((ch) & 037)
+/* This is a helper macro to avoid preprocessor issues, replaced by nothing
+ * unless under DEBUGGING, where it expands to an assert of its argument,
+ * followed by a comma (hence the comma operator). If we just used a straight
+ * assert(), we would get a comma with nothing before it when not DEBUGGING */
+#ifdef DEBUGGING
+# define __ASSERT_(statement) assert(statement),
+#else
+# define __ASSERT_(statement)
+#endif
+
/*
=head1 SV-Body Allocation
=for apidoc Ama|SV*|newSVpvs|const char* s
-Like C<newSVpvn>, but takes a literal string instead of a string/length pair.
+Like C<newSVpvn>, but takes a literal C<NUL>-terminated string instead of a
+string/length pair.
=for apidoc Ama|SV*|newSVpvs_flags|const char* s|U32 flags
-Like C<newSVpvn_flags>, but takes a literal string instead of a string/length
-pair.
+Like C<newSVpvn_flags>, but takes a literal C<NUL>-terminated string instead of
+a string/length pair.
=for apidoc Ama|SV*|newSVpvs_share|const char* s
-Like C<newSVpvn_share>, but takes a literal string instead of a string/length
-pair and omits the hash parameter.
+Like C<newSVpvn_share>, but takes a literal C<NUL>-terminated 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.
+Like C<sv_catpvn_flags>, but takes a literal C<NUL>-terminated 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
@@ -312,7 +327,8 @@ 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.
+Like C<savepvn>, but takes a literal C<NUL>-terminated 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
@@ -420,12 +436,12 @@ the second, C<s2>. Returns true or false.
=for apidoc Am|bool|strnNE|char* s1|char* s2|STRLEN len
Test two strings to see if they are different. The C<len> parameter
-indicates the number of bytes to compare. Returns true or false. (A
+indicates the number of bytes to compare. Returns true or false. (A
wrapper for C<strncmp>).
=for apidoc Am|bool|strnEQ|char* s1|char* s2|STRLEN len
Test two strings to see if they are equal. The C<len> parameter indicates
-the number of bytes to compare. Returns true or false. (A wrapper for
+the number of bytes to compare. Returns true or false. (A wrapper for
C<strncmp>).
=cut
@@ -496,7 +512,7 @@ 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<isWORDCHAR_L1()> will return
true when called with the code point 0xDF, which is a word character in both
-ASCII and EBCDIC (though it represent different characters in each).
+ASCII and EBCDIC (though it represents different characters in each).
Variant C<isFOO_uni> is like the C<isFOO_L1> variant, but accepts any UV code
point as input. If the code point is larger than 255, Unicode rules are used
@@ -509,12 +525,13 @@ Variant C<isFOO_utf8> is like C<isFOO_uni>, but the input is a pointer to a
classification of just the first (possibly multi-byte) character in the string
is tested.
-Variant C<isFOO_LC> is like the C<isFOO_A> and C<isFOO_L1> variants, but uses
-the C library function that gives the named classification instead of
-hard-coded rules. For example, C<isDIGIT_LC()> returns the result of calling
-C<isdigit()>. This means that the result is based on the current locale, which
-is what C<LC> in the name stands for. FALSE is always returned if the input
-won't fit into an octet.
+Variant C<isFOO_LC> is like the C<isFOO_A> and C<isFOO_L1> variants, but the
+result is based on the current locale, which is what C<LC> in the name stands
+for. If Perl can determine that the current locale is a UTF-8 locale, it uses
+the published Unicode rules; otherwise, it uses the C library function that
+gives the named classification. For example, C<isDIGIT_LC()> when not in a
+UTF-8 locale returns the result of calling C<isdigit()>. FALSE is always
+returned if the input won't fit into an octet.
Variant C<isFOO_LC_uvchr> is like C<isFOO_LC>, but is defined on any UV. It
returns the same as C<isFOO_LC> for input code points less than 256, and
@@ -552,6 +569,12 @@ C<isASCII_LC_utf8>. Note, however, that some platforms do not have the C
library routine C<isascii()>. In these cases, the variants whose names contain
C<LC> are the same as the corresponding ones without.
+Also note, that because all ASCII characters are UTF-8 invariant (meaning they
+have the exact same representation (always a single byte) whether encoded in
+UTF-8 or not), C<isASCII> will give the correct results when called with any
+byte in any string encoded or not in UTF-8. And similarly C<isASCII_utf8> will
+work properly on any string encoded or not in UTF-8.
+
=for apidoc Am|bool|isBLANK|char ch
Returns a boolean indicating whether the specified character is a
character considered to be a blank, analogous to C<m/[[:blank:]]/>.
@@ -613,7 +636,7 @@ Returns a boolean indicating whether the specified character is a
whitespace character. This is analogous
to what C<m/\s/> matches in a regular expression. Starting in Perl 5.18
(experimentally), this also matches what C<m/[[:space:]]/> does.
-("Experimentally" means that this change may be backed out in 5.20 or 5.22 if
+("Experimentally" means that this change may be backed out in 5.22 if
field experience indicates that it was unwise.) Prior to 5.18, only the
locale forms of this macro (the ones with C<LC> in their names) matched
precisely what C<m/[[:space:]]/> does. In those releases, the only difference,
@@ -627,7 +650,7 @@ C<isSPACE_LC_uvchr>, and C<isSPACE_LC_utf8>.
(short for Posix Space)
Starting in 5.18, this is identical (experimentally) in all its forms to the
corresponding C<isSPACE()> macros. ("Experimentally" means that this change
-may be backed out in 5.20 or 5.22 if field experience indicates that it
+may be backed out in 5.22 if field experience indicates that it
was unwise.)
The locale forms of this macro are identical to their corresponding
C<isSPACE()> forms in all Perl releases. In releases prior to 5.18, the
@@ -701,17 +724,125 @@ Behaviour is only well defined when isXDIGIT(*str) is true.
=head1 Character case changing
-=for apidoc Am|char|toUPPER|char ch
-Converts the specified character to uppercase, if possible; otherwise returns
-the input character itself.
+=for apidoc Am|U8|toUPPER|U8 ch
+Converts the specified character to uppercase. If the input is anything but an
+ASCII lowercase character, that input character itself is returned. Variant
+C<toUPPER_A> is equivalent.
+
+=for apidoc Am|UV|toUPPER_uni|UV cp|U8* s|STRLEN* lenp
+Converts the Unicode code point C<cp> to its uppercase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the uppercase version may be longer than the original character.
+
+The first code point of the uppercased version is returned
+(but note, as explained just above, that there may be more.)
+
+=for apidoc Am|UV|toUPPER_utf8|U8* p|U8* s|STRLEN* lenp
+Converts the UTF-8 encoded character at C<p> to its uppercase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the uppercase version may be longer than the original character.
+
+The first code point of the uppercased version is returned
+(but note, as explained just above, that there may be more.)
+
+The input character at C<p> is assumed to be well-formed.
+
+=for apidoc Am|U8|toFOLD|U8 ch
+Converts the specified character to foldcase. If the input is anything but an
+ASCII uppercase character, that input character itself is returned. Variant
+C<toFOLD_A> is equivalent. (There is no equivalent C<to_FOLD_L1> for the full
+Latin1 range, as the full generality of L</toFOLD_uni> is needed there.)
+
+=for apidoc Am|UV|toFOLD_uni|UV cp|U8* s|STRLEN* lenp
+Converts the Unicode code point C<cp> to its foldcase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the foldcase version may be longer than the original character.
+
+The first code point of the foldcased version is returned
+(but note, as explained just above, that there may be more.)
+
+=for apidoc Am|UV|toFOLD_utf8|U8* p|U8* s|STRLEN* lenp
+Converts the UTF-8 encoded character at C<p> to its foldcase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the foldcase version may be longer than the original character.
+
+The first code point of the foldcased version is returned
+(but note, as explained just above, that there may be more.)
+
+The input character at C<p> is assumed to be well-formed.
+
+=for apidoc Am|U8|toLOWER|U8 ch
+Converts the specified character to lowercase. If the input is anything but an
+ASCII uppercase character, that input character itself is returned. Variant
+C<toLOWER_A> is equivalent.
+
+=for apidoc Am|U8|toLOWER_L1|U8 ch
+Converts the specified Latin1 character to lowercase. The results are undefined if
+the input doesn't fit in a byte.
+
+=for apidoc Am|U8|toLOWER_LC|U8 ch
+Converts the specified character to lowercase using the current locale's rules,
+if possible; otherwise returns the input character itself.
+
+=for apidoc Am|UV|toLOWER_uni|UV cp|U8* s|STRLEN* lenp
+Converts the Unicode code point C<cp> to its lowercase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the lowercase version may be longer than the original character.
+
+The first code point of the lowercased version is returned
+(but note, as explained just above, that there may be more.)
+
+=for apidoc Am|UV|toLOWER_utf8|U8* p|U8* s|STRLEN* lenp
+Converts the UTF-8 encoded character at C<p> to its lowercase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the lowercase version may be longer than the original character.
+
+The first code point of the lowercased version is returned
+(but note, as explained just above, that there may be more.)
+
+The input character at C<p> is assumed to be well-formed.
+
+=for apidoc Am|U8|toLOWER_LC|U8 ch
+Converts the specified character to lowercase using the current locale's rules,
+if possible; otherwise returns the input character itself.
+
+=for apidoc Am|U8|toTITLE|U8 ch
+Converts the specified character to titlecase. If the input is anything but an
+ASCII lowercase character, that input character itself is returned. Variant
+C<toTITLE_A> is equivalent. (There is no C<toTITLE_L1> for the full Latin1 range,
+as the full generality of L</toTITLE_uni> is needed there. Titlecase is not a
+concept used in locale handling, so there is no functionality for that.)
+
+=for apidoc Am|UV|toTITLE_uni|UV cp|U8* s|STRLEN* lenp
+Converts the Unicode code point C<cp> to its titlecase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the titlecase version may be longer than the original character.
+
+The first code point of the titlecased version is returned
+(but note, as explained just above, that there may be more.)
+
+=for apidoc Am|UV|toTITLE_utf8|U8* p|U8* s|STRLEN* lenp
+Converts the UTF-8 encoded character at C<p> to its titlecase version, and
+stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note
+that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1>
+bytes since the titlecase version may be longer than the original character.
-=for apidoc Am|char|toLOWER|char ch
-Converts the specified character to lowercase, if possible; otherwise returns
-the input character itself.
+The first code point of the titlecased version is returned
+(but note, as explained just above, that there may be more.)
+
+The input character at C<p> is assumed to be well-formed.
=cut
-XXX Still undocumented isVERTWS_uni and _utf8, and the other toUPPER etc functions
+XXX Still undocumented isVERTWS_uni and _utf8; it's unclear what their names
+really should be. Also toUPPER_LC and toFOLD_LC, which are subject to change.
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
@@ -737,7 +868,15 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
#define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || !(((WIDEST_UTYPE)(c)) & ~0xFF))
#ifdef EBCDIC
-# define isASCII(c) (FITS_IN_8_BITS(c) && (NATIVE_TO_UNI((U8) (c)) < 128))
+# ifndef _ALL_SOURCE
+ /* This returns the wrong results on at least z/OS unless this is
+ * defined. */
+# error _ALL_SOURCE should probably be defined
+# endif
+
+ /* We could be called without perl.h, in which case NATIVE_TO_ASCII() is
+ * likely not defined, and so we use the native function */
+# define isASCII(c) cBOOL(isascii(c))
#else
# define isASCII(c) ((WIDEST_UTYPE)(c) < 128)
#endif
@@ -795,7 +934,8 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
# define _HIGHEST_REGCOMP_DOT_H_SYNC _CC_VERTSPACE
/* The members of the third group below do not need to be coordinated with data
- * structures in regcomp.[ch] and regexec.c */
+ * structures in regcomp.[ch] and regexec.c. But they should be added to
+ * bootstrap_ctype() */
# define _CC_IDFIRST 17
# define _CC_CHARNAME_CONT 18
# define _CC_NONLATIN1_FOLD 19
@@ -872,20 +1012,27 @@ EXTCONST U32 PL_charclass[] = {
# else /* ! DOINIT */
EXTCONST U32 PL_charclass[];
# endif
+#endif /* Has perl.h */
+
+#if defined(H_PERL) && ! defined(BOOTSTRAP_CHARSET)
/* The 1U keeps Solaris from griping when shifting sets the uppermost bit */
# define _CC_mask(classnum) (1U << (classnum))
+
+ /* For internal core Perl use only: the base macro for defining macros like
+ * isALPHA */
# define _generic_isCC(c, classnum) cBOOL(FITS_IN_8_BITS(c) \
- && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask(classnum)))
+ && (PL_charclass[(U8) (c)] & _CC_mask(classnum)))
/* The mask for the _A versions of the macros; it just adds in the bit for
* ASCII. */
# define _CC_mask_A(classnum) (_CC_mask(classnum) | _CC_mask(_CC_ASCII))
- /* The _A version makes sure that both the desired bit and the ASCII bit
- * are present */
-# define _generic_isCC_A(c, classnum) (FITS_IN_8_BITS(c) \
- && ((PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask_A(classnum)) \
+ /* For internal core Perl use only: the base macro for defining macros like
+ * isALPHA_A. The foo_A version makes sure that both the desired bit and
+ * the ASCII bit are present */
+# define _generic_isCC_A(c, classnum) (FITS_IN_8_BITS(c) \
+ && ((PL_charclass[(U8) (c)] & _CC_mask_A(classnum)) \
== _CC_mask_A(classnum)))
# define isALPHA_A(c) _generic_isCC_A(c, _CC_ALPHA)
@@ -902,231 +1049,341 @@ EXTCONST U32 PL_charclass[];
# define isUPPER_A(c) _generic_isCC_A(c, _CC_UPPER)
# define isWORDCHAR_A(c) _generic_isCC_A(c, _CC_WORDCHAR)
# define isXDIGIT_A(c) _generic_isCC(c, _CC_XDIGIT)
-# define isIDFIRST_A(c) _generic_isCC_A(c, ( _CC_IDFIRST))
+# define isIDFIRST_A(c) _generic_isCC_A(c, _CC_IDFIRST)
+# define isALPHA_L1(c) _generic_isCC(c, _CC_ALPHA)
+# define isALPHANUMERIC_L1(c) _generic_isCC(c, _CC_ALPHANUMERIC)
+# define isBLANK_L1(c) _generic_isCC(c, _CC_BLANK)
+
+ /* continuation character for legal NAME in \N{NAME} */
+# define isCHARNAME_CONT(c) _generic_isCC(c, _CC_CHARNAME_CONT)
+
+# define isCNTRL_L1(c) _generic_isCC(c, _CC_CNTRL)
+# define isGRAPH_L1(c) _generic_isCC(c, _CC_GRAPH)
+# define isLOWER_L1(c) _generic_isCC(c, _CC_LOWER)
+# define isPRINT_L1(c) _generic_isCC(c, _CC_PRINT)
+# define isPSXSPC_L1(c) _generic_isCC(c, _CC_PSXSPC)
+# define isPUNCT_L1(c) _generic_isCC(c, _CC_PUNCT)
+# define isSPACE_L1(c) _generic_isCC(c, _CC_SPACE)
+# define isUPPER_L1(c) _generic_isCC(c, _CC_UPPER)
+# define isWORDCHAR_L1(c) _generic_isCC(c, _CC_WORDCHAR)
+# define isIDFIRST_L1(c) _generic_isCC(c, _CC_IDFIRST)
/* 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_mask(_CC_NONLATIN1_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) (c)] & _CC_mask(_CC_NONLATIN1_FOLD)))
# define _isQUOTEMETA(c) _generic_isCC(c, _CC_QUOTEMETA)
# define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
_generic_isCC(c, _CC_NON_FINAL_FOLD)
# define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
_generic_isCC(c, _CC_IS_IN_SOME_FOLD)
-#else /* No perl.h. */
+#else /* Either don't have perl.h or don't want to use char_class_tab.h */
+
+ /* If we don't have perl.h, we are compiling a utility program. Below we
+ * hard-code various macro definitions that wouldn't otherwise be available
+ * to it. We can also get here if we are configured to bootstrap up Perl
+ * on a non-ASCII platform that doesn't have a working Perl (currently only
+ * EBCDIC). For these we currently use the native definitions to get
+ * things going. (It should also be possible to use the translation
+ * function NATIVE_TO_LATIN1(), but that is an extra layer of dependence on
+ * Perl, so it is currently avoided for the macros where it's possible to
+ * do so.) */
# ifdef EBCDIC
-# define isALPHA_A(c) (isASCII(c) && isALPHA(c))
-# define isALPHANUMERIC_A(c) (isASCII(c) && isALPHANUMERIC(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 */
+ /* Use the native functions. They likely will return false for all
+ * non-ASCII values, but this makes sure */
+# define isALPHA_A(c) (isASCII(c) && isalpha(c))
+# define isALPHANUMERIC_A(c) (isASCII(c) && isalnum(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 isLOWER_A(c) (isASCII(c) && islower(c))
+# define isPRINT_A(c) (isASCII(c) && isprint(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 isXDIGIT_A(c) (isASCII(c) && isxdigit(c))
+# else /* ASCII platform. These are coded based on first principals */
# define isALPHA_A(c) (isUPPER_A(c) || isLOWER_A(c))
# define isALPHANUMERIC_A(c) (isALPHA_A(c) || isDIGIT_A(c))
-# define isBLANK_A(c) ((c) == ' ' || (c) == '\t')
-# define isCNTRL_A(c) (FITS_IN_8_BITS(c) && ((U8) (c) < ' ' || (c) == 127))
+# define isCNTRL_A(c) (isASCII(c) && (! isPRINT_A(c)))
# define isDIGIT_A(c) ((c) <= '9' && (c) >= '0')
-# define isGRAPH_A(c) (isWORDCHAR_A(c) || isPUNCT_A(c))
-# define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_')
+# define isGRAPH_A(c) (isPRINT_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' \
+# define isPUNCT_A(c) (isGRAPH_A(c) && (! isALPHANUMERIC_A(c)))
+# define isSPACE_A(c) ((c) == ' ' \
+ || (c) == '\t' \
+ || (c) == '\n' \
+ || (c) == '\r' \
+ || (c) =='\v' \
|| (c) == '\f')
# define isUPPER_A(c) ((c) <= 'Z' && (c) >= 'A')
-# define isWORDCHAR_A(c) (isALPHA_A(c) || isDIGIT_A(c) || (c) == '_')
-# define isXDIGIT_A(c) (isDIGIT_A(c) \
- || ((c) >= 'a' && (c) <= 'f') \
- || ((c) <= 'F' && (c) >= 'A'))
-# endif
-#endif /* ASCII range definitions */
+# define isXDIGIT_A(c) (isDIGIT_A(c) \
+ || ((c) >= 'a' && (c) <= 'f') \
+ || ((c) <= 'F' && (c) >= 'A'))
+# endif /* Below are common definitions for ASCII and non-ASCII */
+# define isBLANK_A(c) ((c) == ' ' || (c) == '\t')
+# define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_')
+# define isWORDCHAR_A(c) (isALPHANUMERIC_A(c) || (c) == '_')
+
+ /* The _L1 macros may be unnecessary for both the utilities and for
+ * bootstrapping; I (khw) added them during debugging of bootstrapping, and
+ * it seems best to keep them. */
+# define isPSXSPC_A(c) isSPACE_A(c) /* XXX Assumes SPACE matches '\v' */
+# define isALPHA_L1(c) (isUPPER_L1(c) || isLOWER_L1(c))
+# define isALPHANUMERIC_L1(c) (isALPHA_L1(c) || isDIGIT_A(c))
+# define isBLANK_L1(c) (isBLANK_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && NATIVE_TO_LATIN1((U8) c) == 0xA0))
+# define isCNTRL_L1(c) (FITS_IN_8_BITS(c) && (! isPRINT_L1(c)))
+# define isGRAPH_L1(c) (isPRINT_L1(c) && (! isBLANK_L1(c)))
+# define isLOWER_L1(c) (isLOWER_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && ((NATIVE_TO_LATIN1((U8) c) >= 0xDF \
+ && NATIVE_TO_LATIN1((U8) c) != 0xF7) \
+ || NATIVE_TO_LATIN1((U8) c) == 0xAA \
+ || NATIVE_TO_LATIN1((U8) c) == 0xBA \
+ || NATIVE_TO_LATIN1((U8) c) == 0xB5)))
+# define isPRINT_L1(c) (isPRINT_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && NATIVE_TO_LATIN1((U8) c) >= 0xA0))
+# define isPSXSPC_L1(c) isSPACE_L1(c)
+# define isPUNCT_L1(c) (isPUNCT_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && (NATIVE_TO_LATIN1((U8) c) == 0xA1 \
+ || NATIVE_TO_LATIN1((U8) c) == 0xA7 \
+ || NATIVE_TO_LATIN1((U8) c) == 0xAB \
+ || NATIVE_TO_LATIN1((U8) c) == 0xB6 \
+ || NATIVE_TO_LATIN1((U8) c) == 0xB7 \
+ || NATIVE_TO_LATIN1((U8) c) == 0xBB \
+ || NATIVE_TO_LATIN1((U8) c) == 0xBF)))
+# define isSPACE_L1(c) (isSPACE_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && (NATIVE_TO_LATIN1((U8) c) == 0x85 \
+ || NATIVE_TO_LATIN1((U8) c) == 0xA0)))
+# define isUPPER_L1(c) (isUPPER_A(c) \
+ || (FITS_IN_8_BITS(c) \
+ && (NATIVE_TO_LATIN1((U8) c) >= 0xC0 \
+ && NATIVE_TO_LATIN1((U8) c) <= 0xDE \
+ && NATIVE_TO_LATIN1((U8) c) != 0xD7)))
+# define isWORDCHAR_L1(c) (isIDFIRST_L1(c) || isDIGIT_A(c))
+# define isIDFIRST_L1(c) (isALPHA_L1(c) || NATIVE_TO_LATIN1(c) == '_')
+# define isCHARNAME_CONT(c) (isWORDCHAR_L1(c) \
+ || isBLANK_L1(c) \
+ || (c) == '-' \
+ || (c) == '(' \
+ || (c) == ')')
+ /* The following are not fully accurate in the above-ASCII range. I (khw)
+ * don't think it's necessary to be so for the purposes where this gets
+ * compiled */
+# define _isQUOTEMETA(c) (FITS_IN_8_BITS(c) && ! isWORDCHAR_L1(c))
+# define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) isALPHA_L1(c)
+
+ /* And these aren't accurate at all. They are useful only for above
+ * Latin1, which utilities and bootstrapping don't deal with */
+# define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) 0
+# define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) 0
+
+ /* Many of the macros later in this file are defined in terms of these. By
+ * implementing them with a function, which converts the class number into
+ * a call to the desired macro, all of the later ones work. However, that
+ * function won't be actually defined when building a utility program (no
+ * perl.h), and so a compiler error will be generated if one is attempted
+ * to be used. And the above-Latin1 code points require Unicode tables to
+ * be present, something unlikely to be the case when bootstrapping */
+# define _generic_isCC(c, classnum) \
+ (FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), TRUE))
+# define _generic_isCC_A(c, classnum) \
+ (FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), FALSE))
+#endif /* End of no perl.h or have BOOTSTRAP_CHARSET */
+
+#define isALPHANUMERIC(c) isALPHANUMERIC_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) ? (U8)((c) + ('a' - 'A')) : (c))
+#define toUPPER(c) (isLOWER(c) ? (U8)((c) - ('a' - 'A')) : (c))
+
+/* In the ASCII range, these are equivalent to what they're here defined to be.
+ * But by creating these definitions, other code doesn't have to be aware of
+ * this detail */
+#define toFOLD(c) toLOWER(c)
+#define toTITLE(c) toUPPER(c)
+
+#define toLOWER_A(c) toLOWER(c)
+#define toUPPER_A(c) toUPPER(c)
+#define toFOLD_A(c) toFOLD(c)
+#define toTITLE_A(c) toTITLE(c)
+
+/* Use table lookup for speed; returns the input itself if is out-of-range */
+#define toLOWER_LATIN1(c) ((! FITS_IN_8_BITS(c)) \
+ ? (c) \
+ : PL_latin1_lc[ (U8) (c) ])
+#define toLOWER_L1(c) toLOWER_LATIN1(c) /* Synonym for consistency */
-/* Latin1 definitions */
-#ifdef H_PERL
-# define isALPHA_L1(c) _generic_isCC(c, _CC_ALPHA)
-# define isALPHANUMERIC_L1(c) _generic_isCC(c, _CC_ALPHANUMERIC)
-# define isBLANK_L1(c) _generic_isCC(c, _CC_BLANK)
+/* Modified uc. Is correct uc except for three non-ascii chars which are
+ * all mapped to one of them, and these need special handling; returns the
+ * input itself if is out-of-range */
+#define toUPPER_LATIN1_MOD(c) ((! FITS_IN_8_BITS(c)) \
+ ? (c) \
+ : PL_mod_latin1_uc[ (U8) (c) ])
+#define IN_UTF8_CTYPE_LOCALE PL_in_utf8_CTYPE_locale
-/* continuation character for legal NAME in \N{NAME} */
-# define isCHARNAME_CONT(c) _generic_isCC(c, _CC_CHARNAME_CONT)
+/* Use foo_LC_uvchr() instead of these for beyond the Latin1 range */
-# define isCNTRL_L1(c) _generic_isCC(c, _CC_CNTRL)
-# define isGRAPH_L1(c) _generic_isCC(c, _CC_GRAPH)
-# define isLOWER_L1(c) _generic_isCC(c, _CC_LOWER)
-# define isPRINT_L1(c) _generic_isCC(c, _CC_PRINT)
-# define isPSXSPC_L1(c) _generic_isCC(c, _CC_PSXSPC)
-# define isPUNCT_L1(c) _generic_isCC(c, _CC_PUNCT)
-# define isSPACE_L1(c) _generic_isCC(c, _CC_SPACE)
-# define isUPPER_L1(c) _generic_isCC(c, _CC_UPPER)
-# define isWORDCHAR_L1(c) _generic_isCC(c, _CC_WORDCHAR)
-# define isIDFIRST_L1(c) _generic_isCC(c, _CC_IDFIRST)
-#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) (isWORDCHAR_L1(c) \
- || (c) == ' ' \
- || (c) == '-' \
- || (c) == '(' \
- || (c) == ')' \
- || (c) == ':' \
- || NATIVE_TO_UNI((U8) c) == 0xA0)
+/* For internal core Perl use only: the base macro for defining macros like
+ * isALPHA_LC, which uses the current LC_CTYPE locale. 'c' is the code point
+ * (0-255) to check. In a UTF-8 locale, the result is the same as calling
+ * isFOO_L1(); the 'utf8_locale_classnum' parameter is something like
+ * _CC_UPPER, which gives the class number for doing this. For non-UTF-8
+ * locales, the code to actually do the test this is passed in 'non_utf8'. If
+ * 'c' is above 255, 0 is returned. For accessing the full range of possible
+ * code points under locale rules, use the macros based on _generic_LC_uvchr
+ * instead of this. */
+#define _generic_LC_base(c, utf8_locale_classnum, non_utf8) \
+ (! FITS_IN_8_BITS(c) \
+ ? 0 \
+ : IN_UTF8_CTYPE_LOCALE \
+ ? cBOOL(PL_charclass[(U8) (c)] & _CC_mask(utf8_locale_classnum)) \
+ : cBOOL(non_utf8))
+
+/* For internal core Perl use only: a helper macro for defining macros like
+ * isALPHA_LC. 'c' is the code point (0-255) to check. The function name to
+ * actually do this test is passed in 'non_utf8_func', which is called on 'c',
+ * casting 'c' to the macro _LC_CAST, which should not be parenthesized. See
+ * _generic_LC_base for more info */
+#define _generic_LC(c, utf8_locale_classnum, non_utf8_func) \
+ _generic_LC_base(c,utf8_locale_classnum, \
+ non_utf8_func( (_LC_CAST) (c)))
+
+/* For internal core Perl use only: like _generic_LC, but also returns TRUE if
+ * 'c' is the platform's native underscore character */
+#define _generic_LC_underscore(c,utf8_locale_classnum,non_utf8_func) \
+ _generic_LC_base(c, utf8_locale_classnum, \
+ (non_utf8_func( (_LC_CAST) (c)) \
+ || (char)(c) == '_'))
+
+/* These next three are also for internal core Perl use only: case-change
+ * helper macros */
+#define _generic_toLOWER_LC(c, function, cast) (! FITS_IN_8_BITS(c) \
+ ? (c) \
+ : (IN_UTF8_CTYPE_LOCALE) \
+ ? PL_latin1_lc[ (U8) (c) ] \
+ : function((cast)(c)))
+
+/* Note that the result can be larger than a byte in a UTF-8 locale. It
+ * returns a single value, so can't adequately return the upper case of LATIN
+ * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two
+ * values "SS"); instead it asserts against that under DEBUGGING, and
+ * otherwise returns its input */
+#define _generic_toUPPER_LC(c, function, cast) \
+ (! FITS_IN_8_BITS(c) \
+ ? (c) \
+ : ((! IN_UTF8_CTYPE_LOCALE) \
+ ? function((cast)(c)) \
+ : ((((U8)(c)) == MICRO_SIGN) \
+ ? GREEK_CAPITAL_LETTER_MU \
+ : ((((U8)(c)) == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) \
+ ? LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS \
+ : ((((U8)(c)) == LATIN_SMALL_LETTER_SHARP_S) \
+ ? (__ASSERT_(0) (c)) \
+ : PL_mod_latin1_uc[ (U8) (c) ])))))
+
+/* Note that the result can be larger than a byte in a UTF-8 locale. It
+ * returns a single value, so can't adequately return the fold case of LATIN
+ * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two
+ * values "ss"); instead it asserts against that under DEBUGGING, and
+ * otherwise returns its input */
+#define _generic_toFOLD_LC(c, function, cast) \
+ ((UNLIKELY((c) == MICRO_SIGN) && IN_UTF8_CTYPE_LOCALE) \
+ ? GREEK_SMALL_LETTER_MU \
+ : (__ASSERT_(! IN_UTF8_CTYPE_LOCALE \
+ || (c) != LATIN_SMALL_LETTER_SHARP_S) \
+ _generic_toLOWER_LC(c, function, cast)))
+
+/* Use the libc versions for these if available. */
+#if defined(HAS_ISASCII) && ! defined(USE_NEXT_CTYPE)
+# define isASCII_LC(c) (FITS_IN_8_BITS(c) && isascii( (U8) (c)))
+#else
+# define isASCII_LC(c) isASCII(c)
#endif
-/* 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
-# define isALPHA(c) isalpha(c)
-# define isALPHANUMERIC(c) isalnum(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' (Experimentally making
- these macros identical) */)
-# define isUPPER(c) isupper(c)
-# define isXDIGIT(c) isxdigit(c)
-# define isWORDCHAR(c) (isalnum(c) || (c) == '_')
-# define toLOWER(c) tolower(c)
-# define toUPPER(c) toupper(c)
-#else /* Not EBCDIC: ASCII-only matching */
-# define isALPHANUMERIC(c) isALPHANUMERIC_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))
+#if defined(HAS_ISBLANK) && ! defined(USE_NEXT_CTYPE)
+# define isBLANK_LC(c) _generic_LC(c, _CC_BLANK, isblank)
+#else /* Unlike isASCII, varies if in a UTF-8 locale */
+# define isBLANK_LC(c) (IN_UTF8_CTYPE_LOCALE) ? isBLANK_L1(c) : isBLANK(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 isALPHANUMERIC_LC(c) NXIsAlNum((unsigned int)(c))
-# define isALPHA_LC(c) NXIsAlpha((unsigned int)(c))
-# define isASCII_LC(c) isASCII((unsigned int)(c))
-# define isBLANK_LC(c) isBLANK((unsigned int)(c))
-# define isCNTRL_LC(c) NXIsCntrl((unsigned int)(c))
-# define isDIGIT_LC(c) NXIsDigit((unsigned int)(c))
-# define isGRAPH_LC(c) NXIsGraph((unsigned int)(c))
-# define isIDFIRST_LC(c) (NXIsAlpha((unsigned int)(c)) || (char)(c) == '_')
-# define isLOWER_LC(c) NXIsLower((unsigned int)(c))
-# define isPRINT_LC(c) NXIsPrint((unsigned int)(c))
-# define isPUNCT_LC(c) NXIsPunct((unsigned int)(c))
-# define isSPACE_LC(c) NXIsSpace((unsigned int)(c))
-# define isUPPER_LC(c) NXIsUpper((unsigned int)(c))
-# define isWORDCHAR_LC(c) (NXIsAlNum((unsigned int)(c)) || (char)(c) == '_')
-# define isXDIGIT_LC(c) NXIsXDigit((unsigned int)(c))
-# define toLOWER_LC(c) NXToLower((unsigned int)(c))
-# define toUPPER_LC(c) NXToUpper((unsigned int)(c))
+#ifdef USE_NEXT_CTYPE /* NeXT computers */
+
+# define _LC_CAST unsigned int /* Needed by _generic_LC. NeXT functions
+ use this as their input type */
+
+# define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, NXIsAlpha)
+# define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, NXIsAlNum)
+# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, NXIsCntrl)
+# define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, NXIsDigit)
+# define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, NXIsGraph)
+# define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, NXIsAlpha)
+# define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, NXIsLower)
+# define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, NXIsPrint)
+# define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, NXIsPunct)
+# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, NXIsSpace)
+# define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, NXIsUpper)
+# define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, NXIsAlNum)
+# define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, NXIsXdigit)
+
+# define toLOWER_LC(c) _generic_toLOWER_LC((c), NXToLower, unsigned int)
+# define toUPPER_LC(c) _generic_toUPPER_LC((c), NXToUpper, unsigned int)
+# define toFOLD_LC(c) _generic_toFOLD_LC((c), NXToLower, unsigned int)
#else /* !USE_NEXT_CTYPE */
+# define _LC_CAST U8
+
# if defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
+ /* For most other platforms */
-/* Use foo_LC_uvchr() instead of these for beyond the Latin1 range */
+# define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, isalpha)
+# define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, isalnum)
+# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl)
+# define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, isdigit)
+# define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, isgraph)
+# define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, isalpha)
+# define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, islower)
+# define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, isprint)
+# define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, ispunct)
+# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace)
+# define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, isupper)
+# define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, isalnum)
+# define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, isxdigit)
-# define isALPHA_LC(c) (FITS_IN_8_BITS(c) && isalpha((unsigned char)(c)))
-# define isALPHANUMERIC_LC(c) (FITS_IN_8_BITS(c) \
- && isalnum((unsigned char)(c)))
-# ifdef HAS_ISASCII
-# define isASCII_LC(c) (FITS_IN_8_BITS(c) && isascii((unsigned char)(c)))
-# else
-# define isASCII_LC(c) (FITS_IN_8_BITS(c) && isASCII((unsigned char)(c)))
-# endif
-# ifdef HAS_ISBLANK
-# define isBLANK_LC(c) (FITS_IN_8_BITS(c) && isblank((unsigned char)(c)))
-# else
-# define isBLANK_LC(c) (FITS_IN_8_BITS(c) && isBLANK((unsigned char)(c)))
-# endif
-# define isCNTRL_LC(c) (FITS_IN_8_BITS(c) && iscntrl((unsigned char)(c)))
-# define isDIGIT_LC(c) (FITS_IN_8_BITS(c) && isdigit((unsigned char)(c)))
-# define isGRAPH_LC(c) (FITS_IN_8_BITS(c) && isgraph((unsigned char)(c)))
-# define isIDFIRST_LC(c) (FITS_IN_8_BITS(c) \
- && (isalpha((unsigned char)(c)) || (char)(c) == '_'))
-# define isLOWER_LC(c) (FITS_IN_8_BITS(c) && islower((unsigned char)(c)))
-# define isPRINT_LC(c) (FITS_IN_8_BITS(c) && isprint((unsigned char)(c)))
-# define isPUNCT_LC(c) (FITS_IN_8_BITS(c) && ispunct((unsigned char)(c)))
-# define isSPACE_LC(c) (FITS_IN_8_BITS(c) && isspace((unsigned char)(c)))
-# define isUPPER_LC(c) (FITS_IN_8_BITS(c) && isupper((unsigned char)(c)))
-# define isWORDCHAR_LC(c) (FITS_IN_8_BITS(c) \
- && (isalnum((unsigned char)(c)) || (char)(c) == '_'))
-# define isXDIGIT_LC(c) (FITS_IN_8_BITS(c) && isxdigit((unsigned char)(c)))
-# define toLOWER_LC(c) (FITS_IN_8_BITS(c) ? tolower((unsigned char)(c)) : (c))
-# define toUPPER_LC(c) (FITS_IN_8_BITS(c) ? toupper((unsigned char)(c)) : (c))
-# else
+# define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8)
+# define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8)
+# define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8)
+
+# else /* The final fallback position */
# define isALPHA_LC(c) (isascii(c) && isalpha(c))
# define isALPHANUMERIC_LC(c) (isascii(c) && isalnum(c))
-# define isASCII_LC(c) isascii(c)
-# ifdef HAS_ISBLANK
-# define isBLANK_LC(c) (isascii(c) && isblank(c))
-# else
-# define isBLANK_LC(c) isBLANK_A(c)
-# endif
# define isCNTRL_LC(c) (isascii(c) && iscntrl(c))
# define isDIGIT_LC(c) (isascii(c) && isdigit(c))
# define isGRAPH_LC(c) (isascii(c) && isgraph(c))
@@ -1138,8 +1395,10 @@ EXTCONST U32 PL_charclass[];
# define isUPPER_LC(c) (isascii(c) && isupper(c))
# define isWORDCHAR_LC(c) (isascii(c) && (isalnum(c) || (c) == '_'))
# define isXDIGIT_LC(c) (isascii(c) && isxdigit(c))
+
# define toLOWER_LC(c) (isascii(c) ? tolower(c) : (c))
# define toUPPER_LC(c) (isascii(c) ? toupper(c) : (c))
+# define toFOLD_LC(c) (isascii(c) ? tolower(c) : (c))
# endif
#endif /* USE_NEXT_CTYPE */
@@ -1150,11 +1409,18 @@ EXTCONST U32 PL_charclass[];
#define isIDCONT_LC(c) isWORDCHAR_LC(c)
#define isPSXSPC_LC(c) isSPACE_LC(c)
-/* For internal core Perl use only. If the input is Latin1, use the Latin1
- * macro; otherwise use the function 'above_latin1'. Won't compile if 'c' isn't unsigned, as
- * won't match above_latin1 prototype. The macros do bounds checking, so have
- * duplicate checks here, so could create versions of the macros that don't,
- * but experiments show that gcc optimizes them out anyway. */
+/* For internal core Perl use only: the base macros for defining macros like
+ * isALPHA_uni. 'c' is the code point to check. 'classnum' is the POSIX class
+ * number defined earlier in this file. _generic_uni() is used for POSIX
+ * classes where there is a macro or function 'above_latin1' that takes the
+ * single argument 'c' and returns the desired value. These exist for those
+ * classes which have simple definitions, avoiding the overhead of a hash
+ * lookup or inversion list binary search. _generic_swash_uni() can be used
+ * for classes where that overhead is faster than a direct lookup.
+ * _generic_uni() won't compile if 'c' isn't unsigned, as it won't match the
+ * 'above_latin1' prototype. _generic_isCC() macro does bounds checking, so
+ * have duplicate checks here, so could create versions of the macros that
+ * don't, but experiments show that gcc optimizes them out anyway. */
/* Note that all ignore 'use bytes' */
#define _generic_uni(classnum, above_latin1, c) ((c) < 256 \
@@ -1190,6 +1456,11 @@ EXTCONST U32 PL_charclass[];
#define toTITLE_uni(c,s,l) to_uni_title(c,s,l)
#define toUPPER_uni(c,s,l) to_uni_upper(c,s,l)
+/* For internal core Perl use only: the base macros for defining macros like
+ * isALPHA_LC_uvchr. These are like isALPHA_LC, but the input can be any code
+ * point, not just 0-255. Like _generic_uni, there are two versions, one for
+ * simple class definitions; the other for more complex. These are like
+ * _generic_uni, so see it for more info. */
#define _generic_LC_uvchr(latin1, above_latin1, c) \
(c < 256 ? latin1(c) : above_latin1(c))
#define _generic_LC_swash_uvchr(latin1, classnum, c) \
@@ -1219,31 +1490,28 @@ EXTCONST U32 PL_charclass[];
_CC_WORDCHAR, c)
#define isXDIGIT_LC_uvchr(c) _generic_LC_uvchr(isXDIGIT_LC, is_XDIGIT_cp_high, c)
-
#define isBLANK_LC_uni(c) isBLANK_LC_uvchr(UNI_TO_NATIVE(c))
-/* Everything whose name begins with an underscore is for internal core Perl
- * use only. */
-
-/* If the input is in the Latin1 range, use
- * the Latin1 macro 'classnum' on 'p' which is a pointer to a UTF-8 string.
- * Otherwise use the value given by the 'utf8' parameter. This relies on the
- * fact that ASCII characters have the same representation whether utf8 or not.
- * Note that it assumes that the utf8 has been validated, and ignores 'use
- * bytes' */
+/* For internal core Perl use only: the base macros for defining macros like
+ * isALPHA_utf8. These are like the earlier defined macros, but take an input
+ * UTF-8 encoded string 'p'. If the input is in the Latin1 range, use
+ * the Latin1 macro 'classnum' on 'p'. Otherwise use the value given by the
+ * 'utf8' parameter. This relies on the fact that ASCII characters have the
+ * same representation whether utf8 or not. Note that it assumes that the utf8
+ * has been validated, and ignores 'use bytes' */
#define _generic_utf8(classnum, p, utf8) (UTF8_IS_INVARIANT(*(p)) \
? _generic_isCC(*(p), classnum) \
: (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
? _generic_isCC( \
- TWO_BYTE_UTF8_TO_UNI(*(p), \
+ TWO_BYTE_UTF8_TO_NATIVE(*(p), \
*((p)+1 )), \
- classnum) \
+ classnum) \
: utf8)
/* Like the above, but calls 'above_latin1(p)' to get the utf8 value. 'above_latin1'
* can be a macro */
#define _generic_func_utf8(classnum, above_latin1, p) \
_generic_utf8(classnum, p, above_latin1(p))
-/* Like the above, but passes classnum to _isFOO_utf8(), instead of having a
+/* Like the above, but passes classnum to _isFOO_utf8(), instead of having an
* 'above_latin1' parameter */
#define _generic_swash_utf8(classnum, p) \
_generic_utf8(classnum, p, _is_utf8_FOO(classnum, p))
@@ -1251,11 +1519,11 @@ EXTCONST U32 PL_charclass[];
/* Like the above, but should be used only when it is known that there are no
* characters in the range 128-255 which the class is TRUE for. Hence it can
* skip the tests for this range. 'above_latin1' should include its arguments */
-#define _generic_utf8_no_upper_latin1(classnum, p, above_latin1) \
+#define _generic_utf8_no_upper_latin1(classnum, p, above_latin1) \
(UTF8_IS_INVARIANT(*(p)) \
? _generic_isCC(*(p), classnum) \
: (UTF8_IS_ABOVE_LATIN1(*(p))) \
- ? above_latin1 \
+ ? above_latin1 \
: 0)
/* NOTE that some of these macros have very similar ones in regcharclass.h.
@@ -1302,26 +1570,26 @@ EXTCONST U32 PL_charclass[];
#define isXDIGIT_utf8(p) _generic_utf8_no_upper_latin1(_CC_XDIGIT, p, \
is_XDIGIT_high(p))
+#define toFOLD_utf8(p,s,l) to_utf8_fold(p,s,l)
#define toLOWER_utf8(p,s,l) to_utf8_lower(p,s,l)
#define toTITLE_utf8(p,s,l) to_utf8_title(p,s,l)
#define toUPPER_utf8(p,s,l) to_utf8_upper(p,s,l)
-/* For internal core Perl use only. If the input is in the Latin1 range, use
- * the macro 'macro' on 'p' which is a pointer to a UTF-8 string. Otherwise
- * use the value given by the 'utf8' parameter. This relies on the fact that
- * ASCII characters have the same representation whether utf8 or not. Note
- * that it assumes that the utf8 has been validated, and ignores 'use bytes' */
-#define _generic_LC_utf8(macro, p, utf8) \
- (UTF8_IS_INVARIANT(*(p)) \
- ? macro(*(p)) \
- : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
- ? macro(TWO_BYTE_UTF8_TO_UNI(*(p), *((p)+1))) \
+/* For internal core Perl use only: the base macros for defining macros like
+ * isALPHA_LC_utf8. These are like _generic_utf8, but if the first code point
+ * in 'p' is within the 0-255 range, it uses locale rules from the passed-in
+ * 'macro' parameter */
+#define _generic_LC_utf8(macro, p, utf8) \
+ (UTF8_IS_INVARIANT(*(p)) \
+ ? macro(*(p)) \
+ : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
+ ? macro(TWO_BYTE_UTF8_TO_NATIVE(*(p), *((p)+1))) \
: utf8)
#define _generic_LC_swash_utf8(macro, classnum, p) \
_generic_LC_utf8(macro, p, _is_utf8_FOO(classnum, p))
#define _generic_LC_func_utf8(macro, above_latin1, p) \
- _generic_LC_utf8(macro, p, above_latin1(p))
+ _generic_LC_utf8(macro, p, above_latin1(p))
#define isALPHANUMERIC_LC_utf8(p) _generic_LC_swash_utf8(isALPHANUMERIC_LC, \
_CC_ALPHANUMERIC, p)
@@ -1367,11 +1635,23 @@ EXTCONST U32 PL_charclass[];
#define isALNUMC_utf8(p) isALPHANUMERIC_utf8(p)
#define isALNUMC_LC_utf8(p) isALPHANUMERIC_LC_utf8(p)
-/* This conversion works both ways, strangely enough. On EBCDIC platforms,
- * CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII, except that they don't
- * necessarily mean the same characters, e.g. CTRL-D is 4 on both systems, but
- * that is EOT on ASCII; ST on EBCDIC */
-# define toCTRL(c) (toUPPER(NATIVE_TO_UNI(c)) ^ 64)
+/* On EBCDIC platforms, CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII,
+ * except that they don't necessarily mean the same characters, e.g. CTRL-D is
+ * 4 on both systems, but that is EOT on ASCII; ST on EBCDIC.
+ * '?' is special-cased on EBCDIC to APC, which is the control there that is
+ * the outlier from the block that contains the other controls, just like
+ * toCTRL('?') on ASCII yields DEL, the control that is the outlier from the C0
+ * block. If it weren't special cased, it would yield a non-control.
+ * The conversion works both ways, so CTRL('D') is 4, and CTRL(4) is D, etc. */
+#ifndef EBCDIC
+# define toCTRL(c) (toUPPER(c) ^ 64)
+#else
+# define toCTRL(c) ((c) == '?' \
+ ? LATIN1_TO_NATIVE(0x9F) \
+ : (c) == LATIN1_TO_NATIVE(0x9F) \
+ ? '?' \
+ : (NATIVE_TO_LATIN1(toUPPER(c)) ^ 64))
+#endif
/* Line numbers are unsigned, 32 bits. */
typedef U32 line_t;
@@ -1390,7 +1670,22 @@ typedef U32 line_t;
} \
return a;
-#define READ_XDIGIT(s) (isALPHA(*(s)) ? ((*(s)++ + 9) & 0xf) : (*(s)++ & 0xf))
+/* Converts a character known to represent a hexadecimal digit (0-9, A-F, or
+ * a-f) to its numeric value. READ_XDIGIT's argument is a string pointer,
+ * which is advanced. The input is validated only by an assert() in DEBUGGING
+ * builds. In both ASCII and EBCDIC the last 4 bits of the digits are 0-9; and
+ * the last 4 bits of A-F and a-f are 1-6, so adding 9 yields 10-15 */
+#define XDIGIT_VALUE(c) (__ASSERT_(isXDIGIT(c)) (0xf & (isDIGIT(c) \
+ ? (c) \
+ : ((c) + 9))))
+#define READ_XDIGIT(s) (__ASSERT_(isXDIGIT(*s)) (0xf & (isDIGIT(*(s)) \
+ ? (*(s)++) \
+ : (*(s)++ + 9))))
+
+/* Converts a character known to represent an octal digit (0-7) to its numeric
+ * value. The input is validated only by an assert() in DEBUGGING builds. In
+ * both ASCII and EBCDIC the last 3 bits of the octal digits range from 0-7. */
+#define OCTAL_VALUE(c) (__ASSERT_(isOCTAL(c)) (7 & (c)))
/*
=head1 Memory Management
@@ -1398,6 +1693,8 @@ typedef U32 line_t;
=for apidoc Am|void|Newx|void* ptr|int nitems|type
The XSUB-writer's interface to the C C<malloc> function.
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
In 5.9.3, Newx() and friends replace the older New() API, and drops
the first parameter, I<x>, a debug aid which allowed callers to identify
themselves. This aid has been superseded by a new build option,
@@ -1408,27 +1705,38 @@ there for use in XS modules supporting older perls.
The XSUB-writer's interface to the C C<malloc> function, with
cast. See also C<Newx>.
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
=for apidoc Am|void|Newxz|void* ptr|int nitems|type
The XSUB-writer's interface to the C C<malloc> function. The allocated
memory is zeroed with C<memzero>. See also C<Newx>.
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
=for apidoc Am|void|Renew|void* ptr|int nitems|type
The XSUB-writer's interface to the C C<realloc> function.
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
=for apidoc Am|void|Renewc|void* ptr|int nitems|type|cast
The XSUB-writer's interface to the C C<realloc> function, with
cast.
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
=for apidoc Am|void|Safefree|void* ptr
The XSUB-writer's interface to the C C<free> function.
+This should B<ONLY> be used on memory obtained using L<"Newx"> and friends.
+
=for apidoc Am|void|Move|void* src|void* dest|int nitems|type
The XSUB-writer's interface to the C C<memmove> function. The C<src> is the
source, C<dest> is the destination, C<nitems> is the number of items, and
C<type> is the type. Can do overlapping moves. See also C<Copy>.
=for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type
-Like C<Move> but returns dest. Useful for encouraging compilers to tail-call
+Like C<Move> but returns dest. Useful
+for encouraging compilers to tail-call
optimise.
=for apidoc Am|void|Copy|void* src|void* dest|int nitems|type
@@ -1438,7 +1746,8 @@ C<type> is the type. May fail on overlapping copies. See also C<Move>.
=for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type
-Like C<Copy> but returns dest. Useful for encouraging compilers to tail-call
+Like C<Copy> but returns dest. Useful
+for encouraging compilers to tail-call
optimise.
=for apidoc Am|void|Zero|void* dest|int nitems|type
@@ -1448,7 +1757,8 @@ destination, C<nitems> is the number of items, and C<type> is the type.
=for apidoc Am|void *|ZeroD|void* dest|int nitems|type
-Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call
+Like C<Zero> but returns dest. Useful
+for encouraging compilers to tail-call
optimise.
=for apidoc Am|void|StructCopy|type *src|type *dest|type
@@ -1485,12 +1795,12 @@ PoisonWith(0xEF) for catching access to freed memory.
* (U16)n > (size_t)~0/sizeof(U16) always being false. */
#ifdef PERL_MALLOC_WRAP
#define MEM_WRAP_CHECK(n,t) \
- (void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t) && (Perl_croak_memory_wrap(),0))
+ (void)(UNLIKELY(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t)) && (croak_memory_wrap(),0))
#define MEM_WRAP_CHECK_1(n,t,a) \
- (void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t) && (Perl_croak_nocontext("%s",(a)),0))
+ (void)(UNLIKELY(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t)) && (Perl_croak_nocontext("%s",(a)),0))
#define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
-#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (Perl_croak_memory_wrap(),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
+#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (croak_memory_wrap(),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
#else
#define MEM_WRAP_CHECK(n,t)
@@ -1616,14 +1926,25 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe
#define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF)
#define Poison(d,n,t) PoisonFree(d,n,t)
+#ifdef PERL_POISON
+# define PERL_POISON_EXPR(x) x
+#else
+# define PERL_POISON_EXPR(x)
+#endif
+
#ifdef USE_STRUCT_COPY
#define StructCopy(s,d,t) (*((t*)(d)) = *((t*)(s)))
#else
#define StructCopy(s,d,t) Copy(s,d,1,t)
#endif
+/* C_ARRAY_LENGTH is the number of elements in the C array (so you
+ * want your zero-based indices to be less than but not equal to).
+ *
+ * C_ARRAY_END is one past the last: half-open/half-closed range,
+ * not last-inclusive range. */
#define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
-#define C_ARRAY_END(a) (a) + (sizeof(a)/sizeof((a)[0]))
+#define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a))
#ifdef NEED_VA_COPY
# ifdef va_copy
@@ -1661,6 +1982,37 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe
# define deprecate(s) Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED), "Use of " s " is deprecated")
#endif
+/* Internal macros to deal with gids and uids */
+#ifdef PERL_CORE
+
+# if Uid_t_size > IVSIZE
+# define sv_setuid(sv, uid) sv_setnv((sv), (NV)(uid))
+# define SvUID(sv) SvNV(sv)
+# else
+# if Uid_t_sign <= 0
+# define sv_setuid(sv, uid) sv_setiv((sv), (IV)(uid))
+# define SvUID(sv) SvIV(sv)
+# else
+# define sv_setuid(sv, uid) sv_setuv((sv), (UV)(uid))
+# define SvUID(sv) SvUV(sv)
+# endif
+# endif /* Uid_t_size */
+
+# if Gid_t_size > IVSIZE
+# define sv_setgid(sv, gid) sv_setnv((sv), (NV)(gid))
+# define SvGID(sv) SvNV(sv)
+# else
+# if Gid_t_sign <= 0
+# define sv_setgid(sv, gid) sv_setiv((sv), (IV)(gid))
+# define SvGID(sv) SvIV(sv)
+# else
+# define sv_setgid(sv, gid) sv_setuv((sv), (UV)(gid))
+# define SvGID(sv) SvUV(sv)
+# endif
+# endif /* Gid_t_size */
+
+#endif
+
#endif /* HANDY_H */
/*
diff --git a/Master/tlpkg/tlperl/lib/CORE/hv.h b/Master/tlpkg/tlperl/lib/CORE/hv.h
index be7717d3d59..95dde4681ed 100644
--- a/Master/tlpkg/tlperl/lib/CORE/hv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/hv.h
@@ -81,6 +81,7 @@ struct mro_meta {
U32 pkg_gen; /* Bumps when local methods/@ISA change */
const struct mro_alg *mro_which; /* which mro alg is in use? */
HV *isa; /* Everything this class @ISA */
+ HV *super; /* SUPER method cache */
U32 destroy_gen; /* Generation number of DESTROY cache */
};
@@ -112,14 +113,18 @@ struct xpvhv_aux {
*/
I32 xhv_name_count;
struct mro_meta *xhv_mro_meta;
- HV * xhv_super; /* SUPER method cache */
#ifdef PERL_HASH_RANDOMIZE_KEYS
U32 xhv_rand; /* random value for hash traversal */
U32 xhv_last_rand; /* last random value for hash traversal,
used to detect each() after insert for warnings */
#endif
+ U32 xhv_fill_lazy;
+ U32 xhv_aux_flags; /* assorted extra flags */
};
+#define HvAUXf_SCAN_STASH 0x1 /* stash is being scanned by gv_check */
+#define HvAUXf_NO_DEREF 0x2 /* @{}, %{} etc (and nomethod) not present */
+
/* hash structure: */
/* This structure must match the beginning of struct xpvmg in sv.h. */
struct xpvhv {
@@ -135,7 +140,7 @@ struct xpvhv {
=for apidoc AmU||HEf_SVKEY
This flag, used in the length slot of hash entries and magic structures,
specifies the structure contains an C<SV*> pointer where a C<char*> pointer
-is to be expected. (For information only--not to be used).
+is to be expected. (For information only--not to be used).
=head1 Handy Values
@@ -157,10 +162,10 @@ Returns the length of the stash's name.
Returns true if the name is in UTF8 encoding.
=for apidoc Am|char*|HvENAME|HV* stash
-Returns the effective name of a stash, or NULL if there is none. The
+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
+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.
@@ -171,7 +176,7 @@ Returns the length of the stash's effective name.
Returns true if the effective name is in UTF8 encoding.
=for apidoc Am|void*|HeKEY|HE* he
-Returns the actual pointer stored in the key slot of the hash entry. The
+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
C<HeKLEN()>. Can be assigned to. The C<HePV()> or C<HeSVKEY()> macros are
usually preferable for finding the value of a key.
@@ -179,11 +184,12 @@ usually preferable for finding the value of a key.
=for apidoc Am|STRLEN|HeKLEN|HE* he
If this is negative, and amounts to C<HEf_SVKEY>, it indicates the entry
holds an C<SV*> key. Otherwise, holds the actual length of the key. Can
-be assigned to. The C<HePV()> macro is usually preferable for finding key
+be assigned to. The C<HePV()> macro is usually preferable for finding key
lengths.
=for apidoc Am|SV*|HeVAL|HE* he
-Returns the value slot (type C<SV*>) stored in the hash entry. Can be assigned
+Returns the value slot (type C<SV*>)
+stored in the hash entry. Can be assigned
to.
SV *foo= HeVAL(hv);
@@ -201,14 +207,14 @@ not care about what the length of the key is, you may use the global
variable C<PL_na>, though this is rather less efficient than using a local
variable. Remember though, that hash keys in perl are free to contain
embedded nulls, so using C<strlen()> or similar is not a good way to find
-the length of hash keys. This is very similar to the C<SvPV()> macro
-described elsewhere in this document. See also C<HeUTF8>.
+the length of hash keys. This is very similar to the C<SvPV()> macro
+described elsewhere in this document. See also C<HeUTF8>.
If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a
new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more
efficient.
-=for apidoc Am|char*|HeUTF8|HE* he
+=for apidoc Am|U32|HeUTF8|HE* he
Returns whether the C<char *> value returned by C<HePV> is encoded in UTF-8,
doing any necessary dereferencing of possibly C<SV*> keys. The value returned
will be 0 or non-0, not necessarily 1 (or even a value with any low bits set),
@@ -233,6 +239,18 @@ C<SV*>.
#define PERL_HASH_DEFAULT_HvMAX 7
+/* During hsplit(), if HvMAX(hv)+1 (the new bucket count) is >= this value,
+ * we preallocate the HvAUX() struct.
+ * The assumption being that we are using so much space anyway we might
+ * as well allocate the extra bytes and speed up later keys()
+ * or each() operations. We don't do this to small hashes as we assume
+ * that a) it will be easy/fast to resize them to add the iterator, and b) that
+ * many of them will be objects which won't be traversed. Larger hashes however
+ * will take longer to extend, and the size of the aux struct is swamped by the
+ * overall length of the bucket array.
+ * */
+#define PERL_HV_ALLOC_AUX_SIZE (1 << 9)
+
/* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */
#define HEf_SVKEY -2 /* hent_key is an SV* */
@@ -240,7 +258,7 @@ C<SV*>.
# define Nullhv Null(HV*)
#endif
#define HvARRAY(hv) ((hv)->sv_u.svu_hash)
-#define HvFILL(hv) Perl_hv_fill(aTHX_ (const HV *)(hv))
+#define HvFILL(hv) Perl_hv_fill(aTHX_ MUTABLE_HV(hv))
#define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max
/* This quite intentionally does no flag checking first. That's your
responsibility. */
@@ -366,7 +384,9 @@ C<SV*>.
((HeKLEN(he) == HEf_SVKEY) ? \
HeKEY_sv(he) : \
newSVpvn_flags(HeKEY(he), \
- HeKLEN(he), SVs_TEMP)) : \
+ HeKLEN(he), \
+ SVs_TEMP | \
+ ( HeKUTF8(he) ? SVf_UTF8 : 0 ))) : \
&PL_sv_undef)
#define HeSVKEY_set(he,sv) ((HeKLEN(he) = HEf_SVKEY), (HeKEY_sv(he) = sv))
@@ -467,6 +487,22 @@ C<SV*>.
(MUTABLE_SV(hv_common_key_len((hv), (key), (klen), \
(flags) | HV_DELETE, NULL, 0)))
+#ifdef PERL_CORE
+# define hv_storehek(hv, hek, val) \
+ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \
+ HV_FETCH_ISSTORE|HV_FETCH_JUST_SV, (val), HEK_HASH(hek))
+# define hv_fetchhek(hv, hek, lval) \
+ ((SV **) \
+ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \
+ (lval) \
+ ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \
+ : HV_FETCH_JUST_SV, \
+ NULL, HEK_HASH(hek)))
+# define hv_deletehek(hv, hek, flags) \
+ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \
+ (flags)|HV_DELETE, NULL, HEK_HASH(hek))
+#endif
+
/* This refcounted he structure is used for storing the hints used for lexical
pragmas. Without threads, it's basically struct he + refcount.
With threads, life gets more complex as the structure needs to be shared
diff --git a/Master/tlpkg/tlperl/lib/CORE/hv_func.h b/Master/tlpkg/tlperl/lib/CORE/hv_func.h
index 7678807d883..191912a6cc7 100755
--- a/Master/tlpkg/tlperl/lib/CORE/hv_func.h
+++ b/Master/tlpkg/tlperl/lib/CORE/hv_func.h
@@ -93,7 +93,7 @@
*/
#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
- || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
+ || defined(_MSC_VER) || defined (__TURBOC__)
#define U8TO16_LE(d) (*((const U16 *) (d)))
#endif
@@ -472,6 +472,16 @@ S_perl_hash_sdbm(const unsigned char * const seed, const unsigned char *str, con
return hash;
}
+/* - ONE_AT_A_TIME_HARD is the 5.17+ recommend ONE_AT_A_TIME algorithm
+ * - ONE_AT_A_TIME_OLD is the unmodified 5.16 and older algorithm
+ * - ONE_AT_A_TIME is a 5.17+ tweak of ONE_AT_A_TIME_OLD to
+ * prevent strings of only \0 but different lengths from colliding
+ *
+ * Security-wise, from best to worst,
+ * ONE_AT_A_TIME_HARD > ONE_AT_A_TIME > ONE_AT_A_TIME_OLD
+ * There is a big drop-off in security between ONE_AT_A_TIME_HARD and
+ * ONE_AT_A_TIME
+ * */
/* This is the "One-at-a-Time" algorithm by Bob Jenkins
* from requirements by Colin Plumb.
diff --git a/Master/tlpkg/tlperl/lib/CORE/inline.h b/Master/tlpkg/tlperl/lib/CORE/inline.h
index 953bb33cffb..0fe8a0eee1a 100755
--- a/Master/tlpkg/tlperl/lib/CORE/inline.h
+++ b/Master/tlpkg/tlperl/lib/CORE/inline.h
@@ -14,7 +14,7 @@
/* ------------------------------- av.h ------------------------------- */
-PERL_STATIC_INLINE I32
+PERL_STATIC_INLINE SSize_t
S_av_top_index(pTHX_ AV *av)
{
PERL_ARGS_ASSERT_AV_TOP_INDEX;
@@ -32,6 +32,56 @@ S_CvDEPTHp(const CV * const sv)
return &((XPVCV*)SvANY(sv))->xcv_depth;
}
+/*
+ CvPROTO returns the prototype as stored, which is not necessarily what
+ the interpreter should be using. Specifically, the interpreter assumes
+ that spaces have been stripped, which has been the case if the prototype
+ was added by toke.c, but is generally not the case if it was added elsewhere.
+ Since we can't enforce the spacelessness at assignment time, this routine
+ provides a temporary copy at parse time with spaces removed.
+ I<orig> is the start of the original buffer, I<len> is the length of the
+ prototype and will be updated when this returns.
+ */
+
+#ifdef PERL_CORE
+PERL_STATIC_INLINE char *
+S_strip_spaces(pTHX_ const char * orig, STRLEN * const len)
+{
+ SV * tmpsv;
+ char * tmps;
+ tmpsv = newSVpvn_flags(orig, *len, SVs_TEMP);
+ tmps = SvPVX(tmpsv);
+ while ((*len)--) {
+ if (!isSPACE(*orig))
+ *tmps++ = *orig;
+ orig++;
+ }
+ *tmps = '\0';
+ *len = tmps - SvPVX(tmpsv);
+ return SvPVX(tmpsv);
+}
+#endif
+
+/* ------------------------------- mg.h ------------------------------- */
+
+#if defined(PERL_CORE) || defined(PERL_EXT)
+/* assumes get-magic and stringification have already occurred */
+PERL_STATIC_INLINE STRLEN
+S_MgBYTEPOS(pTHX_ MAGIC *mg, SV *sv, const char *s, STRLEN len)
+{
+ assert(mg->mg_type == PERL_MAGIC_regex_global);
+ assert(mg->mg_len != -1);
+ if (mg->mg_flags & MGf_BYTES || !DO_UTF8(sv))
+ return (STRLEN)mg->mg_len;
+ else {
+ const STRLEN pos = (STRLEN)mg->mg_len;
+ /* Without this check, we may read past the end of the buffer: */
+ if (pos > sv_or_pv_len_utf8(sv, s, len)) return len+1;
+ return sv_or_pv_pos_u2b(sv, s, pos, NULL);
+ }
+}
+#endif
+
/* ----------------------------- regexp.h ----------------------------- */
PERL_STATIC_INLINE struct regexp *
@@ -67,7 +117,7 @@ S_SvREFCNT_dec(pTHX_ SV *sv)
{
if (LIKELY(sv != NULL)) {
U32 rc = SvREFCNT(sv);
- if (rc > 1)
+ if (LIKELY(rc > 1))
SvREFCNT(sv) = rc - 1;
else
Perl_sv_free2(aTHX_ sv, rc);
@@ -78,7 +128,7 @@ PERL_STATIC_INLINE void
S_SvREFCNT_dec_NN(pTHX_ SV *sv)
{
U32 rc = SvREFCNT(sv);
- if (rc > 1)
+ if (LIKELY(rc > 1))
SvREFCNT(sv) = rc - 1;
else
Perl_sv_free2(aTHX_ sv, rc);
@@ -121,10 +171,11 @@ S_SvPADSTALE_off(SV *sv)
assert(SvFLAGS(sv) & SVs_PADMY);
return SvFLAGS(sv) &= ~SVs_PADSTALE;
}
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined (PERL_EXT)
PERL_STATIC_INLINE STRLEN
S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
{
+ PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B;
if (SvGAMAGIC(sv)) {
U8 *hopped = utf8_hop((U8 *)pv, pos);
if (lenp) *lenp = (STRLEN)(utf8_hop(hopped, *lenp) - hopped);
@@ -134,10 +185,89 @@ S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
}
#endif
+/* ------------------------------- handy.h ------------------------------- */
+
+/* saves machine code for a common noreturn idiom typically used in Newx*() */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-function"
+#endif
+static void
+S_croak_memory_wrap(void)
+{
+ Perl_croak_nocontext("%s",PL_memory_wrap);
+}
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
+#ifdef BOOTSTRAP_CHARSET
+static bool
+S_bootstrap_ctype(U8 character, UV classnum, bool full_Latin1)
+{
+ /* See comments in handy.h. This is placed in this file primarily to avoid
+ * having to have an entry for it in embed.fnc */
+
+ dTHX;
+
+ if (! full_Latin1 && ! isASCII(character)) {
+ return FALSE;
+ }
+
+ switch (classnum) {
+ case _CC_ALPHANUMERIC: return isALPHANUMERIC_L1(character);
+ case _CC_ALPHA: return isALPHA_L1(character);
+ case _CC_ASCII: return isASCII_L1(character);
+ case _CC_BLANK: return isBLANK_L1(character);
+ case _CC_CASED: return isLOWER_L1(character)
+ || isUPPER_L1(character);
+ case _CC_CNTRL: return isCNTRL_L1(character);
+ case _CC_DIGIT: return isDIGIT_L1(character);
+ case _CC_GRAPH: return isGRAPH_L1(character);
+ case _CC_LOWER: return isLOWER_L1(character);
+ case _CC_PRINT: return isPRINT_L1(character);
+ case _CC_PSXSPC: return isPSXSPC_L1(character);
+ case _CC_PUNCT: return isPUNCT_L1(character);
+ case _CC_SPACE: return isSPACE_L1(character);
+ case _CC_UPPER: return isUPPER_L1(character);
+ case _CC_WORDCHAR: return isWORDCHAR_L1(character);
+ case _CC_XDIGIT: return isXDIGIT_L1(character);
+ case _CC_VERTSPACE: return isSPACE_L1(character) && ! isBLANK_L1(character);
+ case _CC_IDFIRST: return isIDFIRST_L1(character);
+ case _CC_QUOTEMETA: return _isQUOTEMETA(character);
+ case _CC_CHARNAME_CONT: return isCHARNAME_CONT(character);
+ case _CC_NONLATIN1_FOLD: return _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(character);
+ case _CC_NON_FINAL_FOLD: return _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(character);
+ case _CC_IS_IN_SOME_FOLD: return _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(character);
+ case _CC_BACKSLASH_FOO_LBRACE_IS_META: return 0;
+
+
+ default: break;
+ }
+ Perl_croak(aTHX_ "panic: bootstrap_ctype() has an unexpected character class '%" UVxf "'", classnum);
+}
+#endif
+
/* ------------------------------- utf8.h ------------------------------- */
-/* These exist only to replace the macros they formerly were so that their use
- * can be deprecated */
+PERL_STATIC_INLINE void
+S_append_utf8_from_native_byte(const U8 byte, U8** dest)
+{
+ /* Takes an input 'byte' (Latin1 or EBCDIC) and appends it to the UTF-8
+ * encoded string at '*dest', updating '*dest' to include it */
+
+ PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE;
+
+ if (NATIVE_BYTE_IS_INVARIANT(byte))
+ *(*dest)++ = byte;
+ else {
+ *(*dest)++ = UTF8_EIGHT_BIT_HI(byte);
+ *(*dest)++ = UTF8_EIGHT_BIT_LO(byte);
+ }
+}
+
+/* These two exist only to replace the macros they formerly were so that their
+ * use can be deprecated */
PERL_STATIC_INLINE bool
S_isIDFIRST_lazy(pTHX_ const char* p)
@@ -154,3 +284,50 @@ S_isALNUM_lazy(pTHX_ const char* p)
return isALNUM_lazy_if(p,1);
}
+
+/* ------------------------------- perl.h ----------------------------- */
+
+/*
+=for apidoc AiR|bool|is_safe_syscall|const char *pv|STRLEN len|const char *what|const char *op_name
+
+Test that the given C<pv> doesn't contain any internal C<NUL> characters.
+If it does, set C<errno> to ENOENT, optionally warn, and return FALSE.
+
+Return TRUE if the name is safe.
+
+Used by the IS_SAFE_SYSCALL() macro.
+
+=cut
+*/
+
+PERL_STATIC_INLINE bool
+S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) {
+ /* While the Windows CE API provides only UCS-16 (or UTF-16) APIs
+ * perl itself uses xce*() functions which accept 8-bit strings.
+ */
+
+ PERL_ARGS_ASSERT_IS_SAFE_SYSCALL;
+
+ if (pv && len > 1) {
+ char *null_at;
+ if (UNLIKELY((null_at = (char *)memchr(pv, 0, len-1)) != NULL)) {
+ SETERRNO(ENOENT, LIB_INVARG);
+ Perl_ck_warner(aTHX_ packWARN(WARN_SYSCALLS),
+ "Invalid \\0 character in %s for %s: %s\\0%s",
+ what, op_name, pv, null_at+1);
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 et:
+ */
diff --git a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
index d31b15e0aeb..08c4a382224 100644
--- a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
@@ -33,11 +33,7 @@
* Important ones in the first cache line (if alignment is done right) */
PERLVAR(I, stack_sp, SV **) /* top of the stack */
-#ifdef OP_IN_REGISTER
-PERLVAR(I, opsave, OP *)
-#else
PERLVAR(I, op, OP *) /* currently executing op */
-#endif
PERLVAR(I, curpad, SV **) /* active pad (lexicals+tmps) */
PERLVAR(I, stack_base, SV **)
@@ -53,9 +49,9 @@ PERLVAR(I, scopestack_ix, I32)
PERLVAR(I, scopestack_max, I32)
PERLVAR(I, tmps_stack, SV **) /* mortals we've made */
-PERLVARI(I, tmps_ix, I32, -1)
-PERLVARI(I, tmps_floor, I32, -1)
-PERLVAR(I, tmps_max, I32)
+PERLVARI(I, tmps_ix, SSize_t, -1)
+PERLVARI(I, tmps_floor, SSize_t, -1)
+PERLVAR(I, tmps_max, SSize_t)
PERLVARI(I, sub_generation, U32, 1) /* incr to invalidate method cache */
@@ -80,6 +76,7 @@ PERLVAR(I, tainted, bool) /* using variables controlled by $< */
PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */
PERLVAR(I, localizing, U8) /* are we processing a local() list? */
PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */
+PERLVAR(I, defgv, GV *) /* the *_ glob */
/*
=for apidoc mn|bool|PL_dowarn
@@ -113,16 +110,18 @@ PERLVAR(I, mainstack, AV *) /* the stack when nothing funny is
/* memory management */
PERLVAR(I, sv_count, IV) /* how many SV* are currently allocated */
PERLVAR(I, sv_objcount, IV) /* DEPRECATED AND UNMAINTAINED.
- * Will be removed in Perl 5.20.
+ * Will be removed in Perl 5.22.
* Used to be: how many objects are currently allocated. */
PERLVAR(I, sv_root, SV *) /* storage for SVs belonging to interp */
PERLVAR(I, sv_arenaroot, SV *) /* list of areas for garbage collection */
-PERLVAR(I, reg_state, struct re_save_state)
+/* fake PMOP that PL_curpm points to while in (?{}) so $1 et al are visible */
+PERLVARI(I, reg_curpm, PMOP*, NULL)
/* the currently active slab in a chain of slabs of regmatch states,
- * and the currently active state within that slab */
+ * and the currently active state within that slab. This stack of states
+ * is shared amongst re-entrant calls to the regex engine */
PERLVARI(I, regmatch_slab, regmatch_slab *, NULL)
PERLVAR(I, regmatch_state, regmatch_state *)
@@ -175,6 +174,7 @@ PERLVAR(I, statgv, GV *)
PERLVARI(I, statname, SV *, NULL)
#ifdef HAS_TIMES
+/* Will be removed soon after v5.21.0. See RT #121351 */
PERLVAR(I, timesbuf, struct tms)
#endif
@@ -185,7 +185,7 @@ The input record separator - C<$/> in Perl space.
=for apidoc mn|GV*|PL_last_in_gv
-The GV which was last used for a filehandle input operation. (C<< <FH> >>)
+The GV which was last used for a filehandle input operation. (C<< <FH> >>)
=for apidoc mn|GV*|PL_ofsgv
@@ -226,16 +226,15 @@ PERLVAR(I, secondgv, GV *) /* $b */
PERLVAR(I, efloatbuf, char *)
PERLVAR(I, efloatsize, STRLEN)
-PERLVAR(I, regdummy, regnode) /* from regcomp.c */
-
PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
+PERLVAR(I, in_utf8_CTYPE_locale, bool)
-PERLVARA(I, colors,6, char *) /* from regcomp.c */
+PERLVARA(I, colors,6, char *) /* values from PERL_RE_COLORS env var */
/*
=for apidoc Amn|peep_t|PL_peepp
@@ -352,7 +351,6 @@ PERLVAR(I, psig_pend, int *) /* per-signal "count" of pending */
/* shortcuts to various I/O objects */
PERLVAR(I, stdingv, GV *) /* *STDIN */
PERLVAR(I, stderrgv, GV *) /* *STDERR */
-PERLVAR(I, defgv, GV *)
PERLVAR(I, argvgv, GV *) /* *ARGV */
PERLVAR(I, argvoutgv, GV *) /* *ARGVOUT */
PERLVAR(I, argvout_stack, AV *)
@@ -540,8 +538,6 @@ PERLVAR(I, padix, I32) /* max used index in current "register" pad */
PERLVAR(I, padix_floor, I32) /* how low may inner block reset padix */
-PERLVAR(I, hints, U32) /* pragma-tic compile-time flags */
-
#ifdef USE_LOCALE_COLLATE
PERLVAR(I, collation_name, char *) /* Name of current collation */
PERLVAR(I, collxfrm_base, Size_t) /* Basic overhead in *xfrm() */
@@ -556,7 +552,7 @@ PERLVAR(I, sawampersand, U8) /* must save all match strings */
#endif
PERLVAR(I, unsafe, bool)
-PERLVAR(I, colorset, bool) /* from regcomp.c */
+PERLVAR(I, colorset, bool) /* PERL_RE_COLORS env var is in use */
/* current phase the interpreter is in
for ordering this structure to remove holes, we're assuming that this is 4
@@ -582,8 +578,8 @@ PERLVAR(I, numeric_radix_sv, SV *) /* The radix separator if not '.' */
#endif /* !USE_LOCALE_NUMERIC */
/* Unicode inversion lists */
-PERLVAR(I, ASCII, SV *)
PERLVAR(I, Latin1, SV *)
+PERLVAR(I, UpperLatin1, SV *) /* Code points 128 - 255 */
PERLVAR(I, AboveLatin1, SV *)
PERLVAR(I, NonL1NonFinalFold, SV *)
@@ -602,7 +598,6 @@ PERLVAR(I, utf8_charname_continue, SV *)
PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *)
-PERLVARA(I, L1Posix_ptrs, POSIX_CC_COUNT, SV *)
PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *)
PERLVAR(I, last_swash_hv, HV *)
@@ -741,7 +736,7 @@ PERLVAR(I, debug_pad, struct perl_debug_pad) /* always needed because of the re
/* Hook for File::Glob */
PERLVARI(I, globhook, globhook_t, NULL)
-/* The last unconditional member of the interpreter structure when 5.18.2 was
+/* The last unconditional member of the interpreter structure when 5.20.2 was
released. The offset of the end of this is baked into a global variable in
any shared perl library which will allow a sanity test in future perl
releases. */
@@ -775,6 +770,19 @@ PERLVARI(I, xmlfp, PerlIO *, NULL)
PERLVARI(I, sv_serial, U32, 0) /* SV serial number, used in sv.c */
#endif
+PERLVARA(I, sv_consts, SV_CONSTS_COUNT, SV*) /* constant SVs with precomputed hash value */
+
+#ifdef PERL_TRACE_OPS
+PERLVARA(I, op_exec_cnt, OP_max+2, UV) /* Counts of executed OPs of the given type.
+ If PERL_TRACE_OPS is enabled, we'll dump
+ a summary count of all ops executed in the
+ program at perl_destruct time. For
+ profiling/debugging only. Works only if
+ DEBUGGING is enabled, too. */
+#endif
+
+PERLVAR(I, random_state, PL_RANDOM_STATE_TYPE)
+
/* 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 b23f4d3eb29..003405f690f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/iperlsys.h
+++ b/Master/tlpkg/tlperl/lib/CORE/iperlsys.h
@@ -933,10 +933,10 @@ typedef int (*LPProcExecv)(struct IPerlProc*, const char*,
const char*const*);
typedef int (*LPProcExecvp)(struct IPerlProc*, const char*,
const char*const*);
-typedef uid_t (*LPProcGetuid)(struct IPerlProc*);
-typedef uid_t (*LPProcGeteuid)(struct IPerlProc*);
-typedef gid_t (*LPProcGetgid)(struct IPerlProc*);
-typedef gid_t (*LPProcGetegid)(struct IPerlProc*);
+typedef Uid_t (*LPProcGetuid)(struct IPerlProc*);
+typedef Uid_t (*LPProcGeteuid)(struct IPerlProc*);
+typedef Gid_t (*LPProcGetgid)(struct IPerlProc*);
+typedef Gid_t (*LPProcGetegid)(struct IPerlProc*);
typedef char* (*LPProcGetlogin)(struct IPerlProc*);
typedef int (*LPProcKill)(struct IPerlProc*, int, int);
typedef int (*LPProcKillpg)(struct IPerlProc*, int, int);
diff --git a/Master/tlpkg/tlperl/lib/CORE/keywords.h b/Master/tlpkg/tlperl/lib/CORE/keywords.h
index 5ebde874ff7..f23896c4106 100644
--- a/Master/tlpkg/tlperl/lib/CORE/keywords.h
+++ b/Master/tlpkg/tlperl/lib/CORE/keywords.h
@@ -23,253 +23,252 @@
#define KEY_AUTOLOAD 7
#define KEY_BEGIN 8
#define KEY_UNITCHECK 9
-#define KEY_CORE 10
-#define KEY_DESTROY 11
-#define KEY_END 12
-#define KEY_INIT 13
-#define KEY_CHECK 14
-#define KEY_abs 15
-#define KEY_accept 16
-#define KEY_alarm 17
-#define KEY_and 18
-#define KEY_atan2 19
-#define KEY_bind 20
-#define KEY_binmode 21
-#define KEY_bless 22
-#define KEY_break 23
-#define KEY_caller 24
-#define KEY_chdir 25
-#define KEY_chmod 26
-#define KEY_chomp 27
-#define KEY_chop 28
-#define KEY_chown 29
-#define KEY_chr 30
-#define KEY_chroot 31
-#define KEY_close 32
-#define KEY_closedir 33
-#define KEY_cmp 34
-#define KEY_connect 35
-#define KEY_continue 36
-#define KEY_cos 37
-#define KEY_crypt 38
-#define KEY_dbmclose 39
-#define KEY_dbmopen 40
-#define KEY_default 41
-#define KEY_defined 42
-#define KEY_delete 43
-#define KEY_die 44
-#define KEY_do 45
-#define KEY_dump 46
-#define KEY_each 47
-#define KEY_else 48
-#define KEY_elsif 49
-#define KEY_endgrent 50
-#define KEY_endhostent 51
-#define KEY_endnetent 52
-#define KEY_endprotoent 53
-#define KEY_endpwent 54
-#define KEY_endservent 55
-#define KEY_eof 56
-#define KEY_eq 57
-#define KEY_eval 58
-#define KEY_evalbytes 59
-#define KEY_exec 60
-#define KEY_exists 61
-#define KEY_exit 62
-#define KEY_exp 63
-#define KEY_fc 64
-#define KEY_fcntl 65
-#define KEY_fileno 66
-#define KEY_flock 67
-#define KEY_for 68
-#define KEY_foreach 69
-#define KEY_fork 70
-#define KEY_format 71
-#define KEY_formline 72
-#define KEY_ge 73
-#define KEY_getc 74
-#define KEY_getgrent 75
-#define KEY_getgrgid 76
-#define KEY_getgrnam 77
-#define KEY_gethostbyaddr 78
-#define KEY_gethostbyname 79
-#define KEY_gethostent 80
-#define KEY_getlogin 81
-#define KEY_getnetbyaddr 82
-#define KEY_getnetbyname 83
-#define KEY_getnetent 84
-#define KEY_getpeername 85
-#define KEY_getpgrp 86
-#define KEY_getppid 87
-#define KEY_getpriority 88
-#define KEY_getprotobyname 89
-#define KEY_getprotobynumber 90
-#define KEY_getprotoent 91
-#define KEY_getpwent 92
-#define KEY_getpwnam 93
-#define KEY_getpwuid 94
-#define KEY_getservbyname 95
-#define KEY_getservbyport 96
-#define KEY_getservent 97
-#define KEY_getsockname 98
-#define KEY_getsockopt 99
-#define KEY_given 100
-#define KEY_glob 101
-#define KEY_gmtime 102
-#define KEY_goto 103
-#define KEY_grep 104
-#define KEY_gt 105
-#define KEY_hex 106
-#define KEY_if 107
-#define KEY_index 108
-#define KEY_int 109
-#define KEY_ioctl 110
-#define KEY_join 111
-#define KEY_keys 112
-#define KEY_kill 113
-#define KEY_last 114
-#define KEY_lc 115
-#define KEY_lcfirst 116
-#define KEY_le 117
-#define KEY_length 118
-#define KEY_link 119
-#define KEY_listen 120
-#define KEY_local 121
-#define KEY_localtime 122
-#define KEY_lock 123
-#define KEY_log 124
-#define KEY_lstat 125
-#define KEY_lt 126
-#define KEY_m 127
-#define KEY_map 128
-#define KEY_mkdir 129
-#define KEY_msgctl 130
-#define KEY_msgget 131
-#define KEY_msgrcv 132
-#define KEY_msgsnd 133
-#define KEY_my 134
-#define KEY_ne 135
-#define KEY_next 136
-#define KEY_no 137
-#define KEY_not 138
-#define KEY_oct 139
-#define KEY_open 140
-#define KEY_opendir 141
-#define KEY_or 142
-#define KEY_ord 143
-#define KEY_our 144
-#define KEY_pack 145
-#define KEY_package 146
-#define KEY_pipe 147
-#define KEY_pop 148
-#define KEY_pos 149
-#define KEY_print 150
-#define KEY_printf 151
-#define KEY_prototype 152
-#define KEY_push 153
-#define KEY_q 154
-#define KEY_qq 155
-#define KEY_qr 156
-#define KEY_quotemeta 157
-#define KEY_qw 158
-#define KEY_qx 159
-#define KEY_rand 160
-#define KEY_read 161
-#define KEY_readdir 162
-#define KEY_readline 163
-#define KEY_readlink 164
-#define KEY_readpipe 165
-#define KEY_recv 166
-#define KEY_redo 167
-#define KEY_ref 168
-#define KEY_rename 169
-#define KEY_require 170
-#define KEY_reset 171
-#define KEY_return 172
-#define KEY_reverse 173
-#define KEY_rewinddir 174
-#define KEY_rindex 175
-#define KEY_rmdir 176
-#define KEY_s 177
-#define KEY_say 178
-#define KEY_scalar 179
-#define KEY_seek 180
-#define KEY_seekdir 181
-#define KEY_select 182
-#define KEY_semctl 183
-#define KEY_semget 184
-#define KEY_semop 185
-#define KEY_send 186
-#define KEY_setgrent 187
-#define KEY_sethostent 188
-#define KEY_setnetent 189
-#define KEY_setpgrp 190
-#define KEY_setpriority 191
-#define KEY_setprotoent 192
-#define KEY_setpwent 193
-#define KEY_setservent 194
-#define KEY_setsockopt 195
-#define KEY_shift 196
-#define KEY_shmctl 197
-#define KEY_shmget 198
-#define KEY_shmread 199
-#define KEY_shmwrite 200
-#define KEY_shutdown 201
-#define KEY_sin 202
-#define KEY_sleep 203
-#define KEY_socket 204
-#define KEY_socketpair 205
-#define KEY_sort 206
-#define KEY_splice 207
-#define KEY_split 208
-#define KEY_sprintf 209
-#define KEY_sqrt 210
-#define KEY_srand 211
-#define KEY_stat 212
-#define KEY_state 213
-#define KEY_study 214
-#define KEY_sub 215
-#define KEY_substr 216
-#define KEY_symlink 217
-#define KEY_syscall 218
-#define KEY_sysopen 219
-#define KEY_sysread 220
-#define KEY_sysseek 221
-#define KEY_system 222
-#define KEY_syswrite 223
-#define KEY_tell 224
-#define KEY_telldir 225
-#define KEY_tie 226
-#define KEY_tied 227
-#define KEY_time 228
-#define KEY_times 229
-#define KEY_tr 230
-#define KEY_truncate 231
-#define KEY_uc 232
-#define KEY_ucfirst 233
-#define KEY_umask 234
-#define KEY_undef 235
-#define KEY_unless 236
-#define KEY_unlink 237
-#define KEY_unpack 238
-#define KEY_unshift 239
-#define KEY_untie 240
-#define KEY_until 241
-#define KEY_use 242
-#define KEY_utime 243
-#define KEY_values 244
-#define KEY_vec 245
-#define KEY_wait 246
-#define KEY_waitpid 247
-#define KEY_wantarray 248
-#define KEY_warn 249
-#define KEY_when 250
-#define KEY_while 251
-#define KEY_write 252
-#define KEY_x 253
-#define KEY_xor 254
-#define KEY_y 255
+#define KEY_DESTROY 10
+#define KEY_END 11
+#define KEY_INIT 12
+#define KEY_CHECK 13
+#define KEY_abs 14
+#define KEY_accept 15
+#define KEY_alarm 16
+#define KEY_and 17
+#define KEY_atan2 18
+#define KEY_bind 19
+#define KEY_binmode 20
+#define KEY_bless 21
+#define KEY_break 22
+#define KEY_caller 23
+#define KEY_chdir 24
+#define KEY_chmod 25
+#define KEY_chomp 26
+#define KEY_chop 27
+#define KEY_chown 28
+#define KEY_chr 29
+#define KEY_chroot 30
+#define KEY_close 31
+#define KEY_closedir 32
+#define KEY_cmp 33
+#define KEY_connect 34
+#define KEY_continue 35
+#define KEY_cos 36
+#define KEY_crypt 37
+#define KEY_dbmclose 38
+#define KEY_dbmopen 39
+#define KEY_default 40
+#define KEY_defined 41
+#define KEY_delete 42
+#define KEY_die 43
+#define KEY_do 44
+#define KEY_dump 45
+#define KEY_each 46
+#define KEY_else 47
+#define KEY_elsif 48
+#define KEY_endgrent 49
+#define KEY_endhostent 50
+#define KEY_endnetent 51
+#define KEY_endprotoent 52
+#define KEY_endpwent 53
+#define KEY_endservent 54
+#define KEY_eof 55
+#define KEY_eq 56
+#define KEY_eval 57
+#define KEY_evalbytes 58
+#define KEY_exec 59
+#define KEY_exists 60
+#define KEY_exit 61
+#define KEY_exp 62
+#define KEY_fc 63
+#define KEY_fcntl 64
+#define KEY_fileno 65
+#define KEY_flock 66
+#define KEY_for 67
+#define KEY_foreach 68
+#define KEY_fork 69
+#define KEY_format 70
+#define KEY_formline 71
+#define KEY_ge 72
+#define KEY_getc 73
+#define KEY_getgrent 74
+#define KEY_getgrgid 75
+#define KEY_getgrnam 76
+#define KEY_gethostbyaddr 77
+#define KEY_gethostbyname 78
+#define KEY_gethostent 79
+#define KEY_getlogin 80
+#define KEY_getnetbyaddr 81
+#define KEY_getnetbyname 82
+#define KEY_getnetent 83
+#define KEY_getpeername 84
+#define KEY_getpgrp 85
+#define KEY_getppid 86
+#define KEY_getpriority 87
+#define KEY_getprotobyname 88
+#define KEY_getprotobynumber 89
+#define KEY_getprotoent 90
+#define KEY_getpwent 91
+#define KEY_getpwnam 92
+#define KEY_getpwuid 93
+#define KEY_getservbyname 94
+#define KEY_getservbyport 95
+#define KEY_getservent 96
+#define KEY_getsockname 97
+#define KEY_getsockopt 98
+#define KEY_given 99
+#define KEY_glob 100
+#define KEY_gmtime 101
+#define KEY_goto 102
+#define KEY_grep 103
+#define KEY_gt 104
+#define KEY_hex 105
+#define KEY_if 106
+#define KEY_index 107
+#define KEY_int 108
+#define KEY_ioctl 109
+#define KEY_join 110
+#define KEY_keys 111
+#define KEY_kill 112
+#define KEY_last 113
+#define KEY_lc 114
+#define KEY_lcfirst 115
+#define KEY_le 116
+#define KEY_length 117
+#define KEY_link 118
+#define KEY_listen 119
+#define KEY_local 120
+#define KEY_localtime 121
+#define KEY_lock 122
+#define KEY_log 123
+#define KEY_lstat 124
+#define KEY_lt 125
+#define KEY_m 126
+#define KEY_map 127
+#define KEY_mkdir 128
+#define KEY_msgctl 129
+#define KEY_msgget 130
+#define KEY_msgrcv 131
+#define KEY_msgsnd 132
+#define KEY_my 133
+#define KEY_ne 134
+#define KEY_next 135
+#define KEY_no 136
+#define KEY_not 137
+#define KEY_oct 138
+#define KEY_open 139
+#define KEY_opendir 140
+#define KEY_or 141
+#define KEY_ord 142
+#define KEY_our 143
+#define KEY_pack 144
+#define KEY_package 145
+#define KEY_pipe 146
+#define KEY_pop 147
+#define KEY_pos 148
+#define KEY_print 149
+#define KEY_printf 150
+#define KEY_prototype 151
+#define KEY_push 152
+#define KEY_q 153
+#define KEY_qq 154
+#define KEY_qr 155
+#define KEY_quotemeta 156
+#define KEY_qw 157
+#define KEY_qx 158
+#define KEY_rand 159
+#define KEY_read 160
+#define KEY_readdir 161
+#define KEY_readline 162
+#define KEY_readlink 163
+#define KEY_readpipe 164
+#define KEY_recv 165
+#define KEY_redo 166
+#define KEY_ref 167
+#define KEY_rename 168
+#define KEY_require 169
+#define KEY_reset 170
+#define KEY_return 171
+#define KEY_reverse 172
+#define KEY_rewinddir 173
+#define KEY_rindex 174
+#define KEY_rmdir 175
+#define KEY_s 176
+#define KEY_say 177
+#define KEY_scalar 178
+#define KEY_seek 179
+#define KEY_seekdir 180
+#define KEY_select 181
+#define KEY_semctl 182
+#define KEY_semget 183
+#define KEY_semop 184
+#define KEY_send 185
+#define KEY_setgrent 186
+#define KEY_sethostent 187
+#define KEY_setnetent 188
+#define KEY_setpgrp 189
+#define KEY_setpriority 190
+#define KEY_setprotoent 191
+#define KEY_setpwent 192
+#define KEY_setservent 193
+#define KEY_setsockopt 194
+#define KEY_shift 195
+#define KEY_shmctl 196
+#define KEY_shmget 197
+#define KEY_shmread 198
+#define KEY_shmwrite 199
+#define KEY_shutdown 200
+#define KEY_sin 201
+#define KEY_sleep 202
+#define KEY_socket 203
+#define KEY_socketpair 204
+#define KEY_sort 205
+#define KEY_splice 206
+#define KEY_split 207
+#define KEY_sprintf 208
+#define KEY_sqrt 209
+#define KEY_srand 210
+#define KEY_stat 211
+#define KEY_state 212
+#define KEY_study 213
+#define KEY_sub 214
+#define KEY_substr 215
+#define KEY_symlink 216
+#define KEY_syscall 217
+#define KEY_sysopen 218
+#define KEY_sysread 219
+#define KEY_sysseek 220
+#define KEY_system 221
+#define KEY_syswrite 222
+#define KEY_tell 223
+#define KEY_telldir 224
+#define KEY_tie 225
+#define KEY_tied 226
+#define KEY_time 227
+#define KEY_times 228
+#define KEY_tr 229
+#define KEY_truncate 230
+#define KEY_uc 231
+#define KEY_ucfirst 232
+#define KEY_umask 233
+#define KEY_undef 234
+#define KEY_unless 235
+#define KEY_unlink 236
+#define KEY_unpack 237
+#define KEY_unshift 238
+#define KEY_untie 239
+#define KEY_until 240
+#define KEY_use 241
+#define KEY_utime 242
+#define KEY_values 243
+#define KEY_vec 244
+#define KEY_wait 245
+#define KEY_waitpid 246
+#define KEY_wantarray 247
+#define KEY_warn 248
+#define KEY_when 249
+#define KEY_while 250
+#define KEY_write 251
+#define KEY_x 252
+#define KEY_xor 253
+#define KEY_y 254
/* Generated from:
- * e5a540774760ea54c761ef17ee4a153cc264e9a700b817d561e390730c457406 regen/keywords.pl
+ * 7c6d47fd2890b2422a40331ec90eac08f9808209b01f2b9c113141410fea91b5 regen/keywords.pl
* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/libperl518.a b/Master/tlpkg/tlperl/lib/CORE/libperl520.a
index ad9154cfd61..7ceb92ba676 100755..100644
--- a/Master/tlpkg/tlperl/lib/CORE/libperl518.a
+++ b/Master/tlpkg/tlperl/lib/CORE/libperl520.a
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg.h b/Master/tlpkg/tlperl/lib/CORE/mg.h
index 995bc5eb1ab..81ed296f8a2 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mg.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mg.h
@@ -8,9 +8,6 @@
*
*/
-#ifdef STRUCT_MGVTBL_DEFINITION
-STRUCT_MGVTBL_DEFINITION;
-#else
struct mgvtbl {
int (*svt_get) (pTHX_ SV *sv, MAGIC* mg);
int (*svt_set) (pTHX_ SV *sv, MAGIC* mg);
@@ -22,7 +19,6 @@ struct mgvtbl {
int (*svt_dup) (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
int (*svt_local)(pTHX_ SV *nsv, MAGIC *mg);
};
-#endif
struct magic {
MAGIC* mg_moremagic;
@@ -30,7 +26,7 @@ struct magic {
U16 mg_private;
char mg_type;
U8 mg_flags;
- I32 mg_len;
+ SSize_t mg_len;
SV* mg_obj;
char* mg_ptr;
};
@@ -42,6 +38,7 @@ struct magic {
#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 */
+#define MGf_BYTES 0x40 /* PERL_MAGIC_regex_global only */
#define MgTAINTEDDIR(mg) (mg->mg_flags & MGf_TAINTEDDIR)
#define MgTAINTEDDIR_on(mg) (mg->mg_flags |= MGf_TAINTEDDIR)
@@ -61,6 +58,19 @@ struct magic {
#define SvTIED_obj(sv,mg) \
((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv)))
+#if defined(PERL_CORE) || defined(PERL_EXT)
+# define MgBYTEPOS(mg,sv,pv,len) S_MgBYTEPOS(aTHX_ mg,sv,pv,len)
+/* assumes get-magic and stringification have already occurred */
+# define MgBYTEPOS_set(mg,sv,pv,off) ( \
+ assert_((mg)->mg_type == PERL_MAGIC_regex_global) \
+ SvPOK(sv) && !SvGMAGICAL(sv) \
+ ? (mg)->mg_len = (off), (mg)->mg_flags |= MGf_BYTES \
+ : ((mg)->mg_len = DO_UTF8(sv) \
+ ? (SSize_t)utf8_length((U8 *)(pv), (U8 *)(pv)+(off)) \
+ : (SSize_t)(off), \
+ (mg)->mg_flags &= ~MGf_BYTES))
+#endif
+
#define whichsig(pv) whichsig_pv(pv)
/*
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg_data.h b/Master/tlpkg/tlperl/lib/CORE/mg_data.h
index 23645abef46..1a7670bc6cd 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mg_data.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mg_data.h
@@ -145,7 +145,7 @@
/* tiedscalar 'q' Tied scalar or handle */
want_vtbl_packelem,
/* qr 'r' precompiled qr// regex */
- want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC,
+ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
/* sigelem 's' %SIG hash element */
want_vtbl_sigelem,
/* taint 't' Taintedness */
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg_raw.h b/Master/tlpkg/tlperl/lib/CORE/mg_raw.h
index 487e209da1f..f508ad0e572 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mg_raw.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mg_raw.h
@@ -60,7 +60,7 @@
"/* tiedelem 'p' Tied array or hash element */" },
{ 'q', "want_vtbl_packelem",
"/* tiedscalar 'q' Tied scalar or handle */" },
- { 'r', "want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC",
+ { 'r', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
"/* qr 'r' precompiled qr// regex */" },
{ 'S', "magic_vtable_max",
"/* sig 'S' %SIG hash */" },
diff --git a/Master/tlpkg/tlperl/lib/CORE/op.h b/Master/tlpkg/tlperl/lib/CORE/op.h
index 7c5030dde70..9d9dd58d8fa 100644
--- a/Master/tlpkg/tlperl/lib/CORE/op.h
+++ b/Master/tlpkg/tlperl/lib/CORE/op.h
@@ -23,7 +23,8 @@
* op_static tell op_free() to skip PerlMemShared_free(), when
* !op_slabbed.
* op_savefree on savestack via SAVEFREEOP
- * op_spare Three spare bits
+ * op_folded Result/remainder of a constant fold operation.
+ * op_spare Two spare bits
* op_flags Flags common to all operations. See OPf_* below.
* op_private Flags peculiar to a particular operation (BUT,
* by default, set to the number of children until
@@ -56,7 +57,8 @@ typedef PERL_BITFIELD16 Optype;
PERL_BITFIELD16 op_slabbed:1; \
PERL_BITFIELD16 op_savefree:1; \
PERL_BITFIELD16 op_static:1; \
- PERL_BITFIELD16 op_spare:3; \
+ PERL_BITFIELD16 op_folded:1; \
+ PERL_BITFIELD16 op_spare:2; \
U8 op_flags; \
U8 op_private;
#endif
@@ -78,7 +80,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. See L<perlcall> for a usage example.
+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
@@ -141,6 +143,7 @@ Deprecated. Use C<GIMME_V> instead.
- After ck_glob, use Perl glob function
*/
/* On OP_PADRANGE, push @_ */
+ /* On OP_DUMP, has no label */
/* old names; don't use in new code, but don't break them, either */
#define OPf_LIST OPf_WANT_LIST
@@ -169,6 +172,9 @@ Deprecated. Use C<GIMME_V> instead.
/* Private for OP_LEAVE, OP_LEAVESUB, OP_LEAVESUBLV and OP_LEAVEWRITE */
#define OPpREFCOUNTED 64 /* op_targ carries a refcount */
+/* Private for OP_LEAVE and OP_LEAVELOOP */
+#define OPpLVALUE 128 /* Do not copy return value */
+
/* Private for OP_AASSIGN */
#define OPpASSIGN_COMMON 64 /* Left & right have syms in common. */
@@ -199,12 +205,38 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpDEREF_HV 64 /* Want ref to HV. */
#define OPpDEREF_SV (32|64) /* Want ref to SV. */
+/* OP_ENTERSUB and OP_RV2CV flags
+
+Flags are set on entersub and rv2cv in three phases:
+ parser - the parser passes the flag to the op constructor
+ check - the check routine called by the op constructor sets the flag
+ context - application of scalar/ref/lvalue context applies the flag
+
+In the third stage, an entersub op might turn into an rv2cv op (undef &foo,
+\&foo, lock &foo, exists &foo, defined &foo). The two places where that
+happens (op_lvalue_flags and doref in op.c) need to make sure the flags do
+not conflict. Flags applied in the context phase are only set when there
+is no conversion of op type.
+
+ bit entersub flag phase rv2cv flag phase
+ --- ------------- ----- ---------- -----
+ 1 OPpENTERSUB_INARGS context OPpMAY_RETURN_CONSTANT context
+ 2 HINT_STRICT_REFS check HINT_STRICT_REFS check
+ 4 OPpENTERSUB_HASTARG check
+ 8 OPpENTERSUB_AMPER parser
+ 16 OPpENTERSUB_DB check
+ 32 OPpDEREF_AV context
+ 64 OPpDEREF_HV context
+ 128 OPpLVAL_INTRO context OPpENTERSUB_NOPAREN parser
+
+*/
+
/* OP_ENTERSUB only */
#define OPpENTERSUB_DB 16 /* Debug subroutine. */
#define OPpENTERSUB_HASTARG 4 /* Called from OP tree. */
#define OPpENTERSUB_INARGS 1 /* Lval used as arg to a sub. */
/* used by OPpDEREF (32|64) */
-/* used by HINT_STRICT_SUBS 2 */
+/* used by HINT_STRICT_REFS 2 */
/* Mask for OP_ENTERSUB flags, the absence of which must be propagated
in dynamic context */
#define OPpENTERSUB_LVAL_MASK (OPpLVAL_INTRO|OPpENTERSUB_INARGS)
@@ -218,6 +250,8 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpEARLY_CV 32 /* foo() called before sub foo was parsed */
/* OP_?ELEM only */
#define OPpLVAL_DEFER 16 /* Defer creation of array/hash elem */
+ /* OP_RV2[AH]V OP_[AH]SLICE */
+#define OPpSLICEWARNING 4 /* warn about @hash{$scalar} */
/* OP_RV2[SAH]V, OP_GVSV, OP_ENTERITER only */
#define OPpOUR_INTRO 16 /* Variable was in an our() */
/* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM, OP_[AH]SLICE OP_AV2ARYLEN,
@@ -257,7 +291,6 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpCONST_STRICT 8 /* bareword subject to strict 'subs' */
#define OPpCONST_ENTERED 16 /* Has been entered as symbol. */
#define OPpCONST_BARE 64 /* Was a bare word (filehandle?). */
-#define OPpCONST_FOLDED 128 /* Result of constant folding */
/* Private for OP_FLIP/FLOP */
#define OPpFLIP_LINENUM 64 /* Range arg potentially a line num. */
@@ -290,9 +323,13 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpOPEN_OUT_RAW 64 /* binmode(F,":raw") on output fh */
#define OPpOPEN_OUT_CRLF 128 /* binmode(F,":crlf") on output fh */
-/* Private for OP_EXIT, HUSH also for OP_DIE */
-#define OPpHUSH_VMSISH 64 /* hush DCL exit msg vmsish mode*/
-#define OPpEXIT_VMSISH 128 /* exit(0) vs. exit(1) vmsish mode*/
+/* Private for COPs */
+#define OPpHUSH_VMSISH 32 /* hush DCL exit msg vmsish mode*/
+/* Note: Used for NATIVE_HINTS (shifted from the values in PL_hints),
+ currently defined by vms/vmsish.h:
+ 64
+ 128
+ */
/* Private for OP_FTXXX */
#define OPpFT_ACCESS 2 /* use filetest 'access' */
@@ -324,6 +361,9 @@ Deprecated. Use C<GIMME_V> instead.
/* Private for OP_(LAST|REDO|NEXT|GOTO|DUMP) */
#define OPpPV_IS_UTF8 128 /* label is in UTF8 */
+/* Private for OP_SPLIT */
+#define OPpSPLIT_IMPLIM 128 /* implicit limit */
+
struct op {
BASEOP
};
@@ -356,7 +396,7 @@ struct pmop {
OP * op_first;
OP * op_last;
#ifdef USE_ITHREADS
- IV op_pmoffset;
+ PADOFFSET op_pmoffset;
#else
REGEXP * op_pmregexp; /* compiled expression */
#endif
@@ -655,7 +695,7 @@ struct loop {
#define PERL_LOADMOD_NOIMPORT 0x2 /* use Module () */
#define PERL_LOADMOD_IMPORT_OPS 0x4 /* use Module (...) */
-#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C)
+#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C)
#define ref(o, type) doref(o, type, TRUE)
#endif
@@ -664,9 +704,9 @@ struct loop {
=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
+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
+returned. If C<< o->op_next >> is not already set, I<o> should be at
least an C<UNOP>.
=cut
@@ -765,29 +805,29 @@ struct block_hooks {
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
+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.
+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
+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.
+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
+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
@@ -823,8 +863,8 @@ preprocessing token; the type of I<arg> depends on I<which>.
#define CALL_BLOCK_HOOKS(which, arg) \
STMT_START { \
if (PL_blockhooks) { \
- I32 i; \
- for (i = av_len(PL_blockhooks); i >= 0; i--) { \
+ SSize_t i; \
+ for (i = av_tindex(PL_blockhooks); i >= 0; i--) { \
SV *sv = AvARRAY(PL_blockhooks)[i]; \
BHK *hk; \
\
@@ -858,14 +898,23 @@ preprocessing token; the type of I<arg> depends on I<which>.
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>.
+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>. This macro evaluates its arguments more than
+once. If you are using C<Perl_custom_op_xop> to retreive a
+C<XOP *> from a C<OP *>, use the more efficient L</XopENTRYCUSTOM> instead.
+
+=for apidoc Am||XopENTRYCUSTOM|const OP *o|which
+Exactly like C<XopENTRY(XopENTRY(Perl_custom_op_xop(aTHX_ o), which)> but more
+efficient. The I<which> parameter is identical to L</XopENTRY>.
=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.
+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. This macro evaluates its argument
+more than once.
=for apidoc Am|void|XopDISABLE|XOP *xop|which
Temporarily disable a member of the XOP, by clearing the appropriate flag.
@@ -884,6 +933,17 @@ struct custom_op {
void (*xop_peep)(pTHX_ OP *o, OP *oldop);
};
+/* return value of Perl_custom_op_get_field, similar to void * then casting but
+ the U32 doesn't need truncation on 64 bit platforms in the caller, also
+ for easier macro writing */
+typedef union {
+ const char *xop_name;
+ const char *xop_desc;
+ U32 xop_class;
+ void (*xop_peep)(pTHX_ OP *o, OP *oldop);
+ XOP *xop_ptr;
+} XOPRETANY;
+
#define XopFLAGS(xop) ((xop)->xop_flags)
#define XOPf_xop_name 0x01
@@ -891,6 +951,15 @@ struct custom_op {
#define XOPf_xop_class 0x04
#define XOPf_xop_peep 0x08
+/* used by Perl_custom_op_get_field for option checking */
+typedef enum {
+ XOPe_xop_ptr = 0, /* just get the XOP *, don't look inside it */
+ XOPe_xop_name = XOPf_xop_name,
+ XOPe_xop_desc = XOPf_xop_desc,
+ XOPe_xop_class = XOPf_xop_class,
+ XOPe_xop_peep = XOPf_xop_peep
+} xop_flags_enum;
+
#define XOPd_xop_name PL_op_name[OP_CUSTOM]
#define XOPd_xop_desc PL_op_desc[OP_CUSTOM]
#define XOPd_xop_class OA_BASEOP
@@ -905,6 +974,9 @@ struct custom_op {
#define XopENTRY(xop, which) \
((XopFLAGS(xop) & XOPf_ ## which) ? (xop)->which : XOPd_ ## which)
+#define XopENTRYCUSTOM(o, which) \
+ (Perl_custom_op_get_field(aTHX_ o, XOPe_ ## which).which)
+
#define XopDISABLE(xop, which) ((xop)->xop_flags &= ~XOPf_ ## which)
#define XopENABLE(xop, which) \
STMT_START { \
@@ -912,11 +984,14 @@ struct custom_op {
assert(XopENTRY(xop, which)); \
} STMT_END
+#define Perl_custom_op_xop(x) \
+ (Perl_custom_op_get_field(x, XOPe_xop_ptr).xop_ptr)
+
/*
=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
+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
@@ -924,26 +999,68 @@ 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
+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
+to the registree to ensure it is accurate. The value returned will be
one of the OA_* constants from op.h.
+=for apidoc Am|bool|OP_TYPE_IS|OP *o, Optype type
+Returns true if the given OP is not a NULL pointer
+and if it is of the given type.
+
+The negation of this macro, C<OP_TYPE_ISNT> is also available
+as well as C<OP_TYPE_IS_NN> and C<OP_TYPE_ISNT_NN> which elide
+the NULL pointer check.
+
+=for apidoc Am|bool|OP_TYPE_IS_OR_WAS|OP *o, Optype type
+Returns true if the given OP is not a NULL pointer and
+if it is of the given type or used to be before being
+replaced by an OP of type OP_NULL.
+
+The negation of this macro, C<OP_TYPE_ISNT_AND_WASNT>
+is also available as well as C<OP_TYPE_IS_OR_WAS_NN>
+and C<OP_TYPE_ISNT_AND_WASNT_NN> which elide
+the NULL pointer check.
+
=cut
*/
#define OP_NAME(o) ((o)->op_type == OP_CUSTOM \
- ? XopENTRY(Perl_custom_op_xop(aTHX_ o), xop_name) \
+ ? XopENTRYCUSTOM(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) \
+ ? XopENTRYCUSTOM(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) \
+ ? XopENTRYCUSTOM(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))
+#define OP_TYPE_IS(o, type) ((o) && (o)->op_type == (type))
+#define OP_TYPE_IS_NN(o, type) ((o)->op_type == (type))
+#define OP_TYPE_ISNT(o, type) ((o) && (o)->op_type != (type))
+#define OP_TYPE_ISNT_NN(o, type) ((o)->op_type != (type))
+
+#define OP_TYPE_IS_OR_WAS_NN(o, type) \
+ ( ((o)->op_type == OP_NULL \
+ ? (o)->op_targ \
+ : (o)->op_type) \
+ == (type) )
+
+#define OP_TYPE_IS_OR_WAS(o, type) \
+ ( (o) && OP_TYPE_IS_OR_WAS_NN(o, type) )
+
+#define OP_TYPE_ISNT_AND_WASNT_NN(o, type) \
+ ( ((o)->op_type == OP_NULL \
+ ? (o)->op_targ \
+ : (o)->op_type) \
+ != (type) )
+
+#define OP_TYPE_ISNT_AND_WASNT(o, type) \
+ ( (o) && OP_TYPE_ISNT_AND_WASNT_NN(o, type) )
+
+#define newATTRSUB(f, o, p, a, b) Perl_newATTRSUB_x(aTHX_ f, o, p, a, b, FALSE)
+#define newSUB(f, o, p, b) newATTRSUB((f), (o), (p), NULL, (b))
#ifdef PERL_MAD
# define MAD_NULL 1
diff --git a/Master/tlpkg/tlperl/lib/CORE/opcode.h b/Master/tlpkg/tlperl/lib/CORE/opcode.h
index 540dc0ba974..fbc3fe12ee8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opcode.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opcode.h
@@ -280,6 +280,7 @@ EXTCONST char* const PL_op_name[] = {
"aelemfast_lex",
"aelem",
"aslice",
+ "kvaslice",
"aeach",
"akeys",
"avalues",
@@ -291,6 +292,7 @@ EXTCONST char* const PL_op_name[] = {
"rv2hv",
"helem",
"hslice",
+ "kvhslice",
"unpack",
"pack",
"split",
@@ -665,6 +667,7 @@ EXTCONST char* const PL_op_desc[] = {
"constant lexical array element",
"array element",
"array slice",
+ "index/value array slice",
"each on array",
"keys on array",
"values on array",
@@ -676,6 +679,7 @@ EXTCONST char* const PL_op_desc[] = {
"hash dereference",
"hash element",
"hash slice",
+ "key/value hash slice",
"unpack",
"pack",
"split",
@@ -1064,6 +1068,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */
Perl_pp_aelem,
Perl_pp_aslice,
+ Perl_pp_kvaslice,
Perl_pp_aeach,
Perl_pp_akeys,
Perl_pp_avalues, /* implemented by Perl_pp_akeys */
@@ -1075,6 +1080,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */
Perl_pp_helem,
Perl_pp_hslice,
+ Perl_pp_kvhslice,
Perl_pp_unpack,
Perl_pp_pack,
Perl_pp_split,
@@ -1351,7 +1357,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* srefgen */
Perl_ck_fun, /* ref */
Perl_ck_fun, /* bless */
- Perl_ck_open, /* backtick */
+ Perl_ck_backtick, /* backtick */
Perl_ck_glob, /* glob */
Perl_ck_readline, /* readline */
Perl_ck_null, /* rcatline */
@@ -1459,6 +1465,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* aelemfast_lex */
Perl_ck_null, /* aelem */
Perl_ck_null, /* aslice */
+ Perl_ck_null, /* kvaslice */
Perl_ck_each, /* aeach */
Perl_ck_each, /* akeys */
Perl_ck_each, /* avalues */
@@ -1470,6 +1477,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_rvconst, /* rv2hv */
Perl_ck_null, /* helem */
Perl_ck_null, /* hslice */
+ Perl_ck_null, /* kvhslice */
Perl_ck_fun, /* unpack */
Perl_ck_fun, /* pack */
Perl_ck_split, /* split */
@@ -1506,7 +1514,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* leavesublv */
Perl_ck_fun, /* caller */
Perl_ck_fun, /* warn */
- Perl_ck_die, /* die */
+ Perl_ck_fun, /* die */
Perl_ck_fun, /* reset */
Perl_ck_null, /* lineseq */
Perl_ck_null, /* nextstate */
@@ -1525,7 +1533,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* redo */
Perl_ck_null, /* dump */
Perl_ck_null, /* goto */
- Perl_ck_exit, /* exit */
+ Perl_ck_fun, /* exit */
Perl_ck_null, /* method_named */
Perl_ck_null, /* entergiven */
Perl_ck_null, /* leavegiven */
@@ -1848,6 +1856,7 @@ EXTCONST U32 PL_opargs[] = {
0x00013040, /* aelemfast_lex */
0x00013204, /* aelem */
0x00023401, /* aslice */
+ 0x00023401, /* kvaslice */
0x00003b00, /* aeach */
0x00003b08, /* akeys */
0x00003b08, /* avalues */
@@ -1856,9 +1865,10 @@ EXTCONST U32 PL_opargs[] = {
0x00004b08, /* keys */
0x00001b00, /* delete */
0x00001b04, /* exists */
- 0x00000148, /* rv2hv */
+ 0x00000140, /* rv2hv */
0x00014204, /* helem */
0x00024401, /* hslice */
+ 0x00024401, /* kvhslice */
0x00091480, /* unpack */
0x0002140f, /* pack */
0x00111408, /* split */
diff --git a/Master/tlpkg/tlperl/lib/CORE/opnames.h b/Master/tlpkg/tlperl/lib/CORE/opnames.h
index 5502ba4d15d..68ce927cd9e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opnames.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opnames.h
@@ -146,255 +146,257 @@ typedef enum opcode {
OP_AELEMFAST_LEX = 129,
OP_AELEM = 130,
OP_ASLICE = 131,
- OP_AEACH = 132,
- OP_AKEYS = 133,
- OP_AVALUES = 134,
- OP_EACH = 135,
- OP_VALUES = 136,
- OP_KEYS = 137,
- OP_DELETE = 138,
- OP_EXISTS = 139,
- OP_RV2HV = 140,
- OP_HELEM = 141,
- OP_HSLICE = 142,
- OP_UNPACK = 143,
- OP_PACK = 144,
- OP_SPLIT = 145,
- OP_JOIN = 146,
- OP_LIST = 147,
- OP_LSLICE = 148,
- OP_ANONLIST = 149,
- OP_ANONHASH = 150,
- OP_SPLICE = 151,
- OP_PUSH = 152,
- OP_POP = 153,
- OP_SHIFT = 154,
- OP_UNSHIFT = 155,
- OP_SORT = 156,
- OP_REVERSE = 157,
- OP_GREPSTART = 158,
- OP_GREPWHILE = 159,
- OP_MAPSTART = 160,
- OP_MAPWHILE = 161,
- OP_RANGE = 162,
- OP_FLIP = 163,
- OP_FLOP = 164,
- OP_AND = 165,
- OP_OR = 166,
- OP_XOR = 167,
- OP_DOR = 168,
- OP_COND_EXPR = 169,
- OP_ANDASSIGN = 170,
- OP_ORASSIGN = 171,
- OP_DORASSIGN = 172,
- OP_METHOD = 173,
- OP_ENTERSUB = 174,
- OP_LEAVESUB = 175,
- OP_LEAVESUBLV = 176,
- OP_CALLER = 177,
- OP_WARN = 178,
- OP_DIE = 179,
- OP_RESET = 180,
- OP_LINESEQ = 181,
- OP_NEXTSTATE = 182,
- OP_DBSTATE = 183,
- OP_UNSTACK = 184,
- OP_ENTER = 185,
- OP_LEAVE = 186,
- OP_SCOPE = 187,
- OP_ENTERITER = 188,
- OP_ITER = 189,
- OP_ENTERLOOP = 190,
- OP_LEAVELOOP = 191,
- OP_RETURN = 192,
- OP_LAST = 193,
- OP_NEXT = 194,
- OP_REDO = 195,
- OP_DUMP = 196,
- OP_GOTO = 197,
- OP_EXIT = 198,
- OP_METHOD_NAMED = 199,
- OP_ENTERGIVEN = 200,
- OP_LEAVEGIVEN = 201,
- OP_ENTERWHEN = 202,
- OP_LEAVEWHEN = 203,
- OP_BREAK = 204,
- OP_CONTINUE = 205,
- OP_OPEN = 206,
- OP_CLOSE = 207,
- OP_PIPE_OP = 208,
- OP_FILENO = 209,
- OP_UMASK = 210,
- OP_BINMODE = 211,
- OP_TIE = 212,
- OP_UNTIE = 213,
- OP_TIED = 214,
- OP_DBMOPEN = 215,
- OP_DBMCLOSE = 216,
- OP_SSELECT = 217,
- OP_SELECT = 218,
- OP_GETC = 219,
- OP_READ = 220,
- OP_ENTERWRITE = 221,
- OP_LEAVEWRITE = 222,
- OP_PRTF = 223,
- OP_PRINT = 224,
- OP_SAY = 225,
- OP_SYSOPEN = 226,
- OP_SYSSEEK = 227,
- OP_SYSREAD = 228,
- OP_SYSWRITE = 229,
- OP_EOF = 230,
- OP_TELL = 231,
- OP_SEEK = 232,
- OP_TRUNCATE = 233,
- OP_FCNTL = 234,
- OP_IOCTL = 235,
- OP_FLOCK = 236,
- OP_SEND = 237,
- OP_RECV = 238,
- OP_SOCKET = 239,
- OP_SOCKPAIR = 240,
- OP_BIND = 241,
- OP_CONNECT = 242,
- OP_LISTEN = 243,
- OP_ACCEPT = 244,
- OP_SHUTDOWN = 245,
- OP_GSOCKOPT = 246,
- OP_SSOCKOPT = 247,
- OP_GETSOCKNAME = 248,
- OP_GETPEERNAME = 249,
- OP_LSTAT = 250,
- OP_STAT = 251,
- OP_FTRREAD = 252,
- OP_FTRWRITE = 253,
- OP_FTREXEC = 254,
- OP_FTEREAD = 255,
- OP_FTEWRITE = 256,
- OP_FTEEXEC = 257,
- OP_FTIS = 258,
- OP_FTSIZE = 259,
- OP_FTMTIME = 260,
- OP_FTATIME = 261,
- OP_FTCTIME = 262,
- OP_FTROWNED = 263,
- OP_FTEOWNED = 264,
- OP_FTZERO = 265,
- OP_FTSOCK = 266,
- OP_FTCHR = 267,
- OP_FTBLK = 268,
- OP_FTFILE = 269,
- OP_FTDIR = 270,
- OP_FTPIPE = 271,
- OP_FTSUID = 272,
- OP_FTSGID = 273,
- OP_FTSVTX = 274,
- OP_FTLINK = 275,
- OP_FTTTY = 276,
- OP_FTTEXT = 277,
- OP_FTBINARY = 278,
- OP_CHDIR = 279,
- OP_CHOWN = 280,
- OP_CHROOT = 281,
- OP_UNLINK = 282,
- OP_CHMOD = 283,
- OP_UTIME = 284,
- OP_RENAME = 285,
- OP_LINK = 286,
- OP_SYMLINK = 287,
- OP_READLINK = 288,
- OP_MKDIR = 289,
- OP_RMDIR = 290,
- OP_OPEN_DIR = 291,
- OP_READDIR = 292,
- OP_TELLDIR = 293,
- OP_SEEKDIR = 294,
- OP_REWINDDIR = 295,
- OP_CLOSEDIR = 296,
- OP_FORK = 297,
- OP_WAIT = 298,
- OP_WAITPID = 299,
- OP_SYSTEM = 300,
- OP_EXEC = 301,
- OP_KILL = 302,
- OP_GETPPID = 303,
- OP_GETPGRP = 304,
- OP_SETPGRP = 305,
- OP_GETPRIORITY = 306,
- OP_SETPRIORITY = 307,
- OP_TIME = 308,
- OP_TMS = 309,
- OP_LOCALTIME = 310,
- OP_GMTIME = 311,
- OP_ALARM = 312,
- OP_SLEEP = 313,
- OP_SHMGET = 314,
- OP_SHMCTL = 315,
- OP_SHMREAD = 316,
- OP_SHMWRITE = 317,
- OP_MSGGET = 318,
- OP_MSGCTL = 319,
- OP_MSGSND = 320,
- OP_MSGRCV = 321,
- OP_SEMOP = 322,
- OP_SEMGET = 323,
- OP_SEMCTL = 324,
- OP_REQUIRE = 325,
- OP_DOFILE = 326,
- OP_HINTSEVAL = 327,
- OP_ENTEREVAL = 328,
- OP_LEAVEEVAL = 329,
- OP_ENTERTRY = 330,
- OP_LEAVETRY = 331,
- OP_GHBYNAME = 332,
- OP_GHBYADDR = 333,
- OP_GHOSTENT = 334,
- OP_GNBYNAME = 335,
- OP_GNBYADDR = 336,
- OP_GNETENT = 337,
- OP_GPBYNAME = 338,
- OP_GPBYNUMBER = 339,
- OP_GPROTOENT = 340,
- OP_GSBYNAME = 341,
- OP_GSBYPORT = 342,
- OP_GSERVENT = 343,
- OP_SHOSTENT = 344,
- OP_SNETENT = 345,
- OP_SPROTOENT = 346,
- OP_SSERVENT = 347,
- OP_EHOSTENT = 348,
- OP_ENETENT = 349,
- OP_EPROTOENT = 350,
- OP_ESERVENT = 351,
- OP_GPWNAM = 352,
- OP_GPWUID = 353,
- OP_GPWENT = 354,
- OP_SPWENT = 355,
- OP_EPWENT = 356,
- OP_GGRNAM = 357,
- OP_GGRGID = 358,
- OP_GGRENT = 359,
- OP_SGRENT = 360,
- OP_EGRENT = 361,
- OP_GETLOGIN = 362,
- OP_SYSCALL = 363,
- OP_LOCK = 364,
- OP_ONCE = 365,
- OP_CUSTOM = 366,
- OP_REACH = 367,
- OP_RKEYS = 368,
- OP_RVALUES = 369,
- OP_COREARGS = 370,
- OP_RUNCV = 371,
- OP_FC = 372,
- OP_PADCV = 373,
- OP_INTROCV = 374,
- OP_CLONECV = 375,
- OP_PADRANGE = 376,
+ OP_KVASLICE = 132,
+ OP_AEACH = 133,
+ OP_AKEYS = 134,
+ OP_AVALUES = 135,
+ OP_EACH = 136,
+ OP_VALUES = 137,
+ OP_KEYS = 138,
+ OP_DELETE = 139,
+ OP_EXISTS = 140,
+ OP_RV2HV = 141,
+ OP_HELEM = 142,
+ OP_HSLICE = 143,
+ OP_KVHSLICE = 144,
+ OP_UNPACK = 145,
+ OP_PACK = 146,
+ OP_SPLIT = 147,
+ OP_JOIN = 148,
+ OP_LIST = 149,
+ OP_LSLICE = 150,
+ OP_ANONLIST = 151,
+ OP_ANONHASH = 152,
+ OP_SPLICE = 153,
+ OP_PUSH = 154,
+ OP_POP = 155,
+ OP_SHIFT = 156,
+ OP_UNSHIFT = 157,
+ OP_SORT = 158,
+ OP_REVERSE = 159,
+ OP_GREPSTART = 160,
+ OP_GREPWHILE = 161,
+ OP_MAPSTART = 162,
+ OP_MAPWHILE = 163,
+ OP_RANGE = 164,
+ OP_FLIP = 165,
+ OP_FLOP = 166,
+ OP_AND = 167,
+ OP_OR = 168,
+ OP_XOR = 169,
+ OP_DOR = 170,
+ OP_COND_EXPR = 171,
+ OP_ANDASSIGN = 172,
+ OP_ORASSIGN = 173,
+ OP_DORASSIGN = 174,
+ OP_METHOD = 175,
+ OP_ENTERSUB = 176,
+ OP_LEAVESUB = 177,
+ OP_LEAVESUBLV = 178,
+ OP_CALLER = 179,
+ OP_WARN = 180,
+ OP_DIE = 181,
+ OP_RESET = 182,
+ OP_LINESEQ = 183,
+ OP_NEXTSTATE = 184,
+ OP_DBSTATE = 185,
+ OP_UNSTACK = 186,
+ OP_ENTER = 187,
+ OP_LEAVE = 188,
+ OP_SCOPE = 189,
+ OP_ENTERITER = 190,
+ OP_ITER = 191,
+ OP_ENTERLOOP = 192,
+ OP_LEAVELOOP = 193,
+ OP_RETURN = 194,
+ OP_LAST = 195,
+ OP_NEXT = 196,
+ OP_REDO = 197,
+ OP_DUMP = 198,
+ OP_GOTO = 199,
+ OP_EXIT = 200,
+ OP_METHOD_NAMED = 201,
+ OP_ENTERGIVEN = 202,
+ OP_LEAVEGIVEN = 203,
+ OP_ENTERWHEN = 204,
+ OP_LEAVEWHEN = 205,
+ OP_BREAK = 206,
+ OP_CONTINUE = 207,
+ OP_OPEN = 208,
+ OP_CLOSE = 209,
+ OP_PIPE_OP = 210,
+ OP_FILENO = 211,
+ OP_UMASK = 212,
+ OP_BINMODE = 213,
+ OP_TIE = 214,
+ OP_UNTIE = 215,
+ OP_TIED = 216,
+ OP_DBMOPEN = 217,
+ OP_DBMCLOSE = 218,
+ OP_SSELECT = 219,
+ OP_SELECT = 220,
+ OP_GETC = 221,
+ OP_READ = 222,
+ OP_ENTERWRITE = 223,
+ OP_LEAVEWRITE = 224,
+ OP_PRTF = 225,
+ OP_PRINT = 226,
+ OP_SAY = 227,
+ OP_SYSOPEN = 228,
+ OP_SYSSEEK = 229,
+ OP_SYSREAD = 230,
+ OP_SYSWRITE = 231,
+ OP_EOF = 232,
+ OP_TELL = 233,
+ OP_SEEK = 234,
+ OP_TRUNCATE = 235,
+ OP_FCNTL = 236,
+ OP_IOCTL = 237,
+ OP_FLOCK = 238,
+ OP_SEND = 239,
+ OP_RECV = 240,
+ OP_SOCKET = 241,
+ OP_SOCKPAIR = 242,
+ OP_BIND = 243,
+ OP_CONNECT = 244,
+ OP_LISTEN = 245,
+ OP_ACCEPT = 246,
+ OP_SHUTDOWN = 247,
+ OP_GSOCKOPT = 248,
+ OP_SSOCKOPT = 249,
+ OP_GETSOCKNAME = 250,
+ OP_GETPEERNAME = 251,
+ OP_LSTAT = 252,
+ OP_STAT = 253,
+ OP_FTRREAD = 254,
+ OP_FTRWRITE = 255,
+ OP_FTREXEC = 256,
+ OP_FTEREAD = 257,
+ OP_FTEWRITE = 258,
+ OP_FTEEXEC = 259,
+ OP_FTIS = 260,
+ OP_FTSIZE = 261,
+ OP_FTMTIME = 262,
+ OP_FTATIME = 263,
+ OP_FTCTIME = 264,
+ OP_FTROWNED = 265,
+ OP_FTEOWNED = 266,
+ OP_FTZERO = 267,
+ OP_FTSOCK = 268,
+ OP_FTCHR = 269,
+ OP_FTBLK = 270,
+ OP_FTFILE = 271,
+ OP_FTDIR = 272,
+ OP_FTPIPE = 273,
+ OP_FTSUID = 274,
+ OP_FTSGID = 275,
+ OP_FTSVTX = 276,
+ OP_FTLINK = 277,
+ OP_FTTTY = 278,
+ OP_FTTEXT = 279,
+ OP_FTBINARY = 280,
+ OP_CHDIR = 281,
+ OP_CHOWN = 282,
+ OP_CHROOT = 283,
+ OP_UNLINK = 284,
+ OP_CHMOD = 285,
+ OP_UTIME = 286,
+ OP_RENAME = 287,
+ OP_LINK = 288,
+ OP_SYMLINK = 289,
+ OP_READLINK = 290,
+ OP_MKDIR = 291,
+ OP_RMDIR = 292,
+ OP_OPEN_DIR = 293,
+ OP_READDIR = 294,
+ OP_TELLDIR = 295,
+ OP_SEEKDIR = 296,
+ OP_REWINDDIR = 297,
+ OP_CLOSEDIR = 298,
+ OP_FORK = 299,
+ OP_WAIT = 300,
+ OP_WAITPID = 301,
+ OP_SYSTEM = 302,
+ OP_EXEC = 303,
+ OP_KILL = 304,
+ OP_GETPPID = 305,
+ OP_GETPGRP = 306,
+ OP_SETPGRP = 307,
+ OP_GETPRIORITY = 308,
+ OP_SETPRIORITY = 309,
+ OP_TIME = 310,
+ OP_TMS = 311,
+ OP_LOCALTIME = 312,
+ OP_GMTIME = 313,
+ OP_ALARM = 314,
+ OP_SLEEP = 315,
+ OP_SHMGET = 316,
+ OP_SHMCTL = 317,
+ OP_SHMREAD = 318,
+ OP_SHMWRITE = 319,
+ OP_MSGGET = 320,
+ OP_MSGCTL = 321,
+ OP_MSGSND = 322,
+ OP_MSGRCV = 323,
+ OP_SEMOP = 324,
+ OP_SEMGET = 325,
+ OP_SEMCTL = 326,
+ OP_REQUIRE = 327,
+ OP_DOFILE = 328,
+ OP_HINTSEVAL = 329,
+ OP_ENTEREVAL = 330,
+ OP_LEAVEEVAL = 331,
+ OP_ENTERTRY = 332,
+ OP_LEAVETRY = 333,
+ OP_GHBYNAME = 334,
+ OP_GHBYADDR = 335,
+ OP_GHOSTENT = 336,
+ OP_GNBYNAME = 337,
+ OP_GNBYADDR = 338,
+ OP_GNETENT = 339,
+ OP_GPBYNAME = 340,
+ OP_GPBYNUMBER = 341,
+ OP_GPROTOENT = 342,
+ OP_GSBYNAME = 343,
+ OP_GSBYPORT = 344,
+ OP_GSERVENT = 345,
+ OP_SHOSTENT = 346,
+ OP_SNETENT = 347,
+ OP_SPROTOENT = 348,
+ OP_SSERVENT = 349,
+ OP_EHOSTENT = 350,
+ OP_ENETENT = 351,
+ OP_EPROTOENT = 352,
+ OP_ESERVENT = 353,
+ OP_GPWNAM = 354,
+ OP_GPWUID = 355,
+ OP_GPWENT = 356,
+ OP_SPWENT = 357,
+ OP_EPWENT = 358,
+ OP_GGRNAM = 359,
+ OP_GGRGID = 360,
+ OP_GGRENT = 361,
+ OP_SGRENT = 362,
+ OP_EGRENT = 363,
+ OP_GETLOGIN = 364,
+ OP_SYSCALL = 365,
+ OP_LOCK = 366,
+ OP_ONCE = 367,
+ OP_CUSTOM = 368,
+ OP_REACH = 369,
+ OP_RKEYS = 370,
+ OP_RVALUES = 371,
+ OP_COREARGS = 372,
+ OP_RUNCV = 373,
+ OP_FC = 374,
+ OP_PADCV = 375,
+ OP_INTROCV = 376,
+ OP_CLONECV = 377,
+ OP_PADRANGE = 378,
OP_max
} opcode;
-#define MAXO 377
+#define MAXO 379
#define OP_FREED MAXO
/* the OP_IS_* macros are optimized to a simple range check because
diff --git a/Master/tlpkg/tlperl/lib/CORE/pad.h b/Master/tlpkg/tlperl/lib/CORE/pad.h
index 26e183ccd83..90517c65df8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pad.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pad.h
@@ -143,14 +143,14 @@ typedef enum {
# define ASSERT_CURPAD_LEGAL(label) \
pad_peg(label); \
if (PL_comppad ? (AvARRAY(PL_comppad) != PL_curpad) : (PL_curpad != 0)) \
- Perl_croak(aTHX_ "panic: illegal pad in %s: 0x%"UVxf"[0x%"UVxf"]",\
+ Perl_croak(aTHX_ "panic: illegal pad in %s: 0x%" UVxf "[0x%" UVxf "]",\
label, PTR2UV(PL_comppad), PTR2UV(PL_curpad));
# define ASSERT_CURPAD_ACTIVE(label) \
pad_peg(label); \
if (!PL_comppad || (AvARRAY(PL_comppad) != PL_curpad)) \
- Perl_croak(aTHX_ "panic: invalid pad in %s: 0x%"UVxf"[0x%"UVxf"]",\
+ Perl_croak(aTHX_ "panic: invalid pad in %s: 0x%" UVxf "[0x%" UVxf "]",\
label, PTR2UV(PL_comppad), PTR2UV(PL_curpad));
#else
# define ASSERT_CURPAD_LEGAL(label)
@@ -168,7 +168,8 @@ Save a pad slot (used to restore after an iteration)
XXX DAPM it would make more sense to make the arg a PADOFFSET
=for apidoc m|void|SAVECLEARSV |SV **svp
-Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my')
+Clear the pointed to pad value on scope exit. (i.e. the runtime action of
+'my')
=for apidoc m|void|SAVECOMPPAD
save PL_comppad and PL_curpad
@@ -179,7 +180,9 @@ The C array of a padlist, containing the pads. Only subscript it with
numbers >= 1, as the 0th entry is not guaranteed to remain usable.
=for apidoc Amx|SSize_t|PadlistMAX|PADLIST padlist
-The index of the last pad in the padlist.
+The index of the last allocated space in the padlist. Note that the last
+pad may be in an earlier slot. Any entries following it will be NULL in
+that case.
=for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST padlist
The names associated with pad entries.
@@ -239,7 +242,7 @@ for C<my Foo $bar>.
=for apidoc m|SV *|PAD_SETSV |PADOFFSET po|SV* sv
Set the slot at offset C<po> in the current pad to C<sv>
-=for apidoc m|void|PAD_SV |PADOFFSET po
+=for apidoc m|SV *|PAD_SV |PADOFFSET po
Get the value at offset C<po> in the current pad
=for apidoc m|SV *|PAD_SVl |PADOFFSET po
@@ -253,7 +256,7 @@ Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist
=for apidoc m|void|PAD_SET_CUR |PADLIST padlist|I32 n
Set the current pad to be pad C<n> in the padlist, saving
-the previous current pad. NB currently this macro expands to a string too
+the previous current pad. NB currently this macro expands to a string too
long for some compilers, so it's best to replace it with
SAVECOMPPAD();
@@ -285,12 +288,14 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
#define PadnamelistARRAY(pnl) AvARRAY(pnl)
#define PadnamelistMAX(pnl) AvFILLp(pnl)
+#define PadnamelistMAXNAMED(pnl) \
+ ((XPVAV*) SvANY(pnl))->xmg_u.xmg_hash_index
#define PadARRAY(pad) AvARRAY(pad)
#define PadMAX(pad) AvFILLp(pad)
#define PadnamePV(pn) (SvPOKp(pn) ? SvPVX(pn) : NULL)
-#define PadnameLEN(pn) SvCUR(pn)
+#define PadnameLEN(pn) ((pn) == &PL_sv_undef ? 0 : SvCUR(pn))
#define PadnameUTF8(pn) !!SvUTF8(pn)
#define PadnameSV(pn) pn
#define PadnameIsOUR(pn) !!SvPAD_OUR(pn)
@@ -320,7 +325,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
PL_comppad = (PAD*) (PadlistARRAY(padlist)[nth]); \
PL_curpad = AvARRAY(PL_comppad); \
DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] set_cur depth=%d\n", \
+ "Pad 0x%" UVxf "[0x%" UVxf "] set_cur depth=%d\n", \
PTR2UV(PL_comppad), PTR2UV(PL_curpad), (int)(nth)));
@@ -338,7 +343,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
PL_comppad = (npad); \
PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] save_local\n", \
+ "Pad 0x%" UVxf "[0x%" UVxf "] save_local\n", \
PTR2UV(PL_comppad), PTR2UV(PL_curpad)));
#define PAD_RESTORE_LOCAL(opad) \
@@ -346,7 +351,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
PL_comppad = opad; \
PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] restore_local\n", \
+ "Pad 0x%" UVxf "[0x%" UVxf "] restore_local\n", \
PTR2UV(PL_comppad), PTR2UV(PL_curpad)));
@@ -368,15 +373,15 @@ context block structure (can be used as an lvalue).
/*
=for apidoc m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po
Return the flags for the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
+at offset C<po>. Assumes a valid slot entry.
=for apidoc m|char *|PAD_COMPNAME_PV|PADOFFSET po
Return the name of the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
+at offset C<po>. Assumes a valid slot entry.
=for apidoc m|HV *|PAD_COMPNAME_TYPE|PADOFFSET po
Return the type (stash) of the current compiling pad name at offset
-C<po>. Must be a valid name. Returns null if not typed.
+C<po>. Must be a valid name. Returns null if not typed.
=for apidoc m|HV *|PAD_COMPNAME_OURSTASH|PADOFFSET po
Return the stash associated with an C<our> variable.
@@ -384,7 +389,7 @@ Assumes the slot entry is a valid C<our> lexical.
=for apidoc m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po
The generation number of the name at offset C<po> in the current
-compiling pad (lvalue). Note that C<SvUVX> is hijacked for this purpose.
+compiling pad (lvalue). Note that C<SvUVX> is hijacked for this purpose.
=for apidoc m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen
Sets the generation number of the name at offset C<po> in the current
diff --git a/Master/tlpkg/tlperl/lib/CORE/parser.h b/Master/tlpkg/tlperl/lib/CORE/parser.h
index e7b887ec3b4..ff5867e4427 100644
--- a/Master/tlpkg/tlperl/lib/CORE/parser.h
+++ b/Master/tlpkg/tlperl/lib/CORE/parser.h
@@ -29,7 +29,6 @@ typedef struct yy_lexshared {
char *ls_bufptr; /* mirrors PL_parser->bufptr */
char *re_eval_start; /* start of "(?{..." text */
SV *re_eval_str; /* "(?{...})" text */
- line_t herelines; /* number of lines in here-doc */
} LEXSHARED;
typedef struct yy_parser {
@@ -55,7 +54,8 @@ typedef struct yy_parser {
char *lex_brackstack;/* what kind of brackets to pop */
char *lex_casestack; /* what kind of case mods in effect */
U8 lex_defer; /* state after determined token */
- bool lex_dojoin; /* doing an array interpolation */
+ U8 lex_dojoin; /* doing an array interpolation
+ 1 = @{...} 2 = ->@ */
U8 lex_expect; /* expect after determined token */
U8 expect; /* how to interpret ambiguous tokens */
I32 lex_formbrack; /* bracket count at outer format level */
@@ -123,11 +123,13 @@ typedef struct yy_parser {
COP *saved_curcop; /* the previous PL_curcop */
char tokenbuf[256];
-
+ line_t herelines; /* number of lines in here-doc */
+ line_t preambling; /* line # when processing $ENV{PERL5DB} */
U8 lex_fakeeof; /* precedence at which to fake EOF */
U8 lex_flags;
PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */
PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */
+ PERL_BITFIELD16 saw_infix_sigil:1; /* saw & or * or % operator */
} yy_parser;
/* flags for lexer API */
diff --git a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
index 9f85e9452ad..07e1217e991 100644
--- a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
+++ b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
@@ -14,7 +14,7 @@
* exactly on the third column */
#define PERL_REVISION 5 /* age */
-#define PERL_VERSION 18 /* epoch */
+#define PERL_VERSION 20 /* epoch */
#define PERL_SUBVERSION 2 /* generation */
/* The following numbers describe the earliest compatible version of
@@ -35,7 +35,7 @@
changing them should not be necessary.
*/
#define PERL_API_REVISION 5
-#define PERL_API_VERSION 18
+#define PERL_API_VERSION 20
#define PERL_API_SUBVERSION 0
/*
XXX Note: The selection of non-default Configure options, such
@@ -144,7 +144,7 @@ static const char * const local_patches[] = {
/* Initial space prevents this variable from being inserted in config.sh */
# define LOCAL_PATCH_COUNT \
- ((int)(sizeof(local_patches)/sizeof(local_patches[0])-2))
+ ((int)(C_ARRAY_LENGTH(local_patches)-2))
/* the old terms of reference, add them only when explicitly included */
#define PATCHLEVEL PERL_VERSION
diff --git a/Master/tlpkg/tlperl/lib/CORE/perl.h b/Master/tlpkg/tlperl/lib/CORE/perl.h
index 89f4c98904f..1325de9b9d0 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perl.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perl.h
@@ -22,23 +22,10 @@
#define USE_STDIO
#endif /* PERL_FOR_X2P */
-#if defined(DGUX)
-#include <sys/fcntl.h>
-#endif
-
-#ifdef VOIDUSED
-# undef VOIDUSED
-#endif
-#define VOIDUSED 1
-
#ifdef PERL_MICRO
# include "uconfig.h"
#else
-# ifndef USE_CROSS_COMPILE
-# include "config.h"
-# else
-# include "xconfig.h"
-# endif
+# include "config.h"
#endif
/* See L<perlguts/"The Perl API"> for detailed notes on
@@ -99,7 +86,7 @@
# define USE_HEAP_INSTEAD_OF_STACK
#endif
-#/* Use the reentrant APIs like localtime_r and getpwent_r */
+/* Use the reentrant APIs like localtime_r and getpwent_r */
/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) && !defined(PERL_DARWIN)
# define USE_REENTRANT_API
@@ -107,15 +94,9 @@
/* <--- here ends the logic shared by perl.h and makedef.pl */
-/*
- * PERL_DARWIN for MacOSX (__APPLE__ exists but is not officially sanctioned)
- * (The -DPERL_DARWIN comes from the hints/darwin.sh.)
- * __bsdi__ for BSD/OS
- */
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(PERL_DARWIN) || defined(__bsdi__) || defined(BSD41) || defined(BSD42) || defined(BSD43) || defined(BSD44)
-# ifndef BSDish
-# define BSDish
-# endif
+/* Microsoft Visual C++ 6.0 needs special treatment in numerous places */
+#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1200 && _MSC_VER < 1300
+# define USING_MSVC6
#endif
#undef START_EXTERN_C
@@ -194,6 +175,7 @@
# define pTHX_7 8
# define pTHX_8 9
# define pTHX_9 10
+# define pTHX_12 13
# if defined(DEBUGGING) && !defined(PERL_TRACK_MEMPOOL)
# define PERL_TRACK_MEMPOOL
# endif
@@ -225,11 +207,11 @@
#define CALLREGCOMP(sv, flags) Perl_pregcomp(aTHX_ (sv),(flags))
#define CALLREGCOMP_ENG(prog, sv, flags) (prog)->comp(aTHX_ sv, flags)
-#define CALLREGEXEC(prog,stringarg,strend,strbeg,minend,screamer,data,flags) \
+#define CALLREGEXEC(prog,stringarg,strend,strbeg,minend,sv,data,flags) \
RX_ENGINE(prog)->exec(aTHX_ (prog),(stringarg),(strend), \
- (strbeg),(minend),(screamer),(data),(flags))
-#define CALLREG_INTUIT_START(prog,sv,strpos,strend,flags,data) \
- RX_ENGINE(prog)->intuit(aTHX_ (prog), (sv), (strpos), \
+ (strbeg),(minend),(sv),(data),(flags))
+#define CALLREG_INTUIT_START(prog,sv,strbeg,strpos,strend,flags,data) \
+ RX_ENGINE(prog)->intuit(aTHX_ (prog), (sv), (strbeg), (strpos), \
(strend),(flags),(data))
#define CALLREG_INTUIT_STRING(prog) \
RX_ENGINE(prog)->checkstr(aTHX_ (prog))
@@ -345,6 +327,78 @@
# define PERL_UNUSED_CONTEXT
#endif
+/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
+ * g++ allows them but seems to have problems with them
+ * (insane errors ensue).
+ * g++ does not give insane errors now (RMB 2008-01-30, gcc 4.2.2).
+ */
+#if defined(PERL_GCC_PEDANTIC) || \
+ (defined(__GNUC__) && defined(__cplusplus) && \
+ ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2))))
+# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
+# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+# endif
+#endif
+
+/* Use PERL_UNUSED_RESULT() to suppress the warnings about unused results
+ * of function calls, e.g. PERL_UNUSED_RESULT(foo(a, b)).
+ *
+ * The main reason for this is that the combination of gcc -Wunused-result
+ * (part of -Wall) and the __attribute__((warn_unused_result)) cannot
+ * be silenced with casting to void. This causes trouble when the system
+ * header files use the attribute.
+ *
+ * Use PERL_UNUSED_RESULT sparingly, though, since usually the warning
+ * is there for a good reason: you might lose success/failure information,
+ * or leak resources, or changes in resources.
+ *
+ * But sometimes you just want to ignore the return value, e.g. on
+ * codepaths soon ending up in abort, or in "best effort" attempts,
+ * or in situations where there is no good way to handle failures.
+ *
+ * Sometimes PERL_UNUSED_RESULT might not be the most natural way:
+ * another possibility is that you can capture the return value
+ * and use PERL_UNUSED_VAR on that.
+ *
+ * The __typeof__() is used instead of typeof() since typeof() is not
+ * available under strict C89, and because of compilers masquerading
+ * as gcc (clang and icc), we want exactly the gcc extension
+ * __typeof__ and nothing else.
+ */
+#ifndef PERL_UNUSED_RESULT
+# if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT)
+# define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
+# else
+# define PERL_UNUSED_RESULT(v) ((void)(v))
+# endif
+#endif
+
+/* on gcc (and clang), specify that a warning should be temporarily
+ * ignored; e.g.
+ *
+ * GCC_DIAG_IGNORE(-Wmultichar);
+ * char b = 'ab';
+ * GCC_DIAG_RESTORE;
+ *
+ * based on http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html
+ *
+ * Note that "pragma GCC diagnostic push/pop" was added in GCC 4.6, Mar 2011;
+ * clang only pretends to be GCC 4.2, but still supports push/pop.
+ */
+
+#if defined(__clang) || \
+ (defined( __GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406)
+# define GCC_DIAG_DO_PRAGMA_(x) _Pragma (#x)
+
+# define GCC_DIAG_IGNORE(x) _Pragma("GCC diagnostic push") \
+ GCC_DIAG_DO_PRAGMA_(GCC diagnostic ignored #x)
+# define GCC_DIAG_RESTORE _Pragma("GCC diagnostic pop")
+#else
+# define GCC_DIAG_IGNORE(w)
+# define GCC_DIAG_RESTORE
+#endif
+
+
#define NOOP /*EMPTY*/(void)0
/* cea2e8a9dd23747f accidentally lost the comment originally from the first
check in of thread.h, explaining why we need dNOOP at all: */
@@ -358,7 +412,7 @@
#endif
#ifndef pTHX
-/* Don't bother defining tTHX and sTHX; using them outside
+/* Don't bother defining tTHX ; using it outside
* code guarded by PERL_IMPLICIT_CONTEXT is an error.
*/
# define pTHX void
@@ -377,6 +431,7 @@
# define pTHX_7 7
# define pTHX_8 8
# define pTHX_9 9
+# define pTHX_12 12
#endif
#ifndef dVAR
@@ -438,27 +493,6 @@
# endif
#endif
-#ifdef OP_IN_REGISTER
-# ifdef __GNUC__
-# define stringify_immed(s) #s
-# define stringify(s) stringify_immed(s)
-struct op *Perl_op asm(stringify(OP_IN_REGISTER));
-# endif
-#endif
-
-/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
- * g++ allows them but seems to have problems with them
- * (insane errors ensue).
- * g++ does not give insane errors now (RMB 2008-01-30, gcc 4.2.2).
- */
-#if defined(PERL_GCC_PEDANTIC) || \
- (defined(__GNUC__) && defined(__cplusplus) && \
- ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2))))
-# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# endif
-#endif
-
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
# ifndef PERL_USE_GCC_BRACE_GROUPS
# define PERL_USE_GCC_BRACE_GROUPS
@@ -477,14 +511,8 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */
# define STMT_END )
# else
- /* Now which other defined()s do we need here ??? */
-# if (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
-# define STMT_START if (1)
-# define STMT_END else (void)0
-# else
# define STMT_START do
# define STMT_END while (0)
-# endif
# endif
#endif
@@ -520,7 +548,7 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# define STANDARD_C 1
#endif
-#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__DGUX) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
+#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
# define DONT_DECLARE_STD 1
#endif
@@ -545,7 +573,7 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
* DANGER! Using NO_TAINT_SUPPORT or SILENT_NO_TAINT_SUPPORT
* voids your nonexistent warranty!
*/
-#if SILENT_NO_TAINT_SUPPORT && !defined(NO_TAINT_SUPPORT)
+#if defined(SILENT_NO_TAINT_SUPPORT) && !defined(NO_TAINT_SUPPORT)
# define NO_TAINT_SUPPORT 1
#endif
@@ -553,7 +581,7 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
* operations into no-ops for a very modest speed-up. Enable only if you
* know what you're doing: tests and CPAN modules' tests are bound to fail.
*/
-#if NO_TAINT_SUPPORT
+#ifdef NO_TAINT_SUPPORT
# define TAINT NOOP
# define TAINT_NOT NOOP
# define TAINT_IF(c) NOOP
@@ -645,11 +673,7 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# include <pthread.h>
#endif
-#ifndef _TYPES_ /* If types.h defines this it's easy. */
-# ifndef major /* Does everyone's types.h define this? */
-# include <sys/types.h>
-# endif
-#endif
+#include <sys/types.h>
#ifdef __cplusplus
# ifndef I_STDARG
@@ -657,6 +681,15 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# endif
#endif
+/* EVC 4 SDK headers includes a bad definition of MB_CUR_MAX in stdlib.h
+ which is included from stdarg.h. Bad definition not present in SD 2008
+ SDK headers. wince.h is not yet included, so we cant fix this from there
+ since by then MB_CUR_MAX will be defined from stdlib.h.
+ cewchar.h includes a correct definition of MB_CUR_MAX and it is copied here
+ since cewchar.h can't be included this early */
+#if defined(UNDER_CE) && (_MSC_VER < 1300)
+# define MB_CUR_MAX 1
+#endif
#ifdef I_STDARG
# include <stdarg.h>
#else
@@ -695,6 +728,8 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
#if !defined(NO_LOCALE) && defined(HAS_SETLOCALE)
# define USE_LOCALE
+# define HAS_SKIP_LOCALE_INIT /* Solely for XS code to test for this
+ capability */
# if !defined(NO_LOCALE_COLLATE) && defined(LC_COLLATE) \
&& defined(HAS_STRXFRM)
# define USE_LOCALE_COLLATE
@@ -705,6 +740,15 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# if !defined(NO_LOCALE_NUMERIC) && defined(LC_NUMERIC)
# define USE_LOCALE_NUMERIC
# endif
+# if !defined(NO_LOCALE_MESSAGES) && defined(LC_MESSAGES)
+# define USE_LOCALE_MESSAGES
+# endif
+# if !defined(NO_LOCALE_MONETARY) && defined(LC_MONETARY)
+# define USE_LOCALE_MONETARY
+# endif
+# ifndef WIN32 /* No wrapper except on Windows */
+# define my_setlocale(a,b) setlocale(a,b)
+# endif
#endif /* !NO_LOCALE && HAS_SETLOCALE */
#include <setjmp.h>
@@ -716,6 +760,16 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# include <sys/param.h>
#endif
+/* On BSD-derived systems, <sys/param.h> defines BSD to a year-month
+ value something like 199306. This may be useful if no more-specific
+ feature test is available.
+*/
+#if defined(BSD)
+# ifndef BSDish
+# define BSDish
+# endif
+#endif
+
/* Use all the "standard" definitions? */
#if defined(STANDARD_C) && defined(I_STDLIB)
# include <stdlib.h>
@@ -735,23 +789,14 @@ struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# undef _SC_ARG_MAX /* Symbian has _SC_ARG_MAX but no sysconf() */
#endif
-#if defined(HAS_SYSCALL) && !defined(HAS_SYSCALL_PROTO) && !defined(PERL_MICRO)
+#if defined(HAS_SYSCALL) && !defined(HAS_SYSCALL_PROTO)
EXTERN_C int syscall(int, ...);
#endif
-#if defined(HAS_USLEEP) && !defined(HAS_USLEEP_PROTO) && !defined(PERL_MICRO)
+#if defined(HAS_USLEEP) && !defined(HAS_USLEEP_PROTO)
EXTERN_C int usleep(unsigned int);
#endif
-/* Funky places that do not have socket stuff. */
-#if defined(__LIBCATAMOUNT__)
-# define MYSWAP
-#endif
-
-#ifdef PERL_MICRO /* Last chance to export Perl_my_swap */
-# define MYSWAP
-#endif
-
#ifdef PERL_CORE
/* macros for correct constant construction */
@@ -804,189 +849,6 @@ EXTERN_C int usleep(unsigned int);
(((U64)(x) & U64_CONST(0xff00000000000000)) >> 56) ))
# endif
-/*----------------------------------------------------------------------------*/
-# if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* little-endian */
-/*----------------------------------------------------------------------------*/
-# define my_htole16(x) (x)
-# define my_letoh16(x) (x)
-# define my_htole32(x) (x)
-# define my_letoh32(x) (x)
-# define my_htobe16(x) _swab_16_(x)
-# define my_betoh16(x) _swab_16_(x)
-# define my_htobe32(x) _swab_32_(x)
-# define my_betoh32(x) _swab_32_(x)
-# ifdef HAS_QUAD
-# define my_htole64(x) (x)
-# define my_letoh64(x) (x)
-# define my_htobe64(x) _swab_64_(x)
-# define my_betoh64(x) _swab_64_(x)
-# endif
-# define my_htoles(x) (x)
-# define my_letohs(x) (x)
-# define my_htolei(x) (x)
-# define my_letohi(x) (x)
-# define my_htolel(x) (x)
-# define my_letohl(x) (x)
-# if SHORTSIZE == 1
-# define my_htobes(x) (x)
-# define my_betohs(x) (x)
-# elif SHORTSIZE == 2
-# define my_htobes(x) _swab_16_(x)
-# define my_betohs(x) _swab_16_(x)
-# elif SHORTSIZE == 4
-# define my_htobes(x) _swab_32_(x)
-# define my_betohs(x) _swab_32_(x)
-# elif SHORTSIZE == 8
-# define my_htobes(x) _swab_64_(x)
-# define my_betohs(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBES
-# define PERL_NEED_MY_BETOHS
-# endif
-# if INTSIZE == 1
-# define my_htobei(x) (x)
-# define my_betohi(x) (x)
-# elif INTSIZE == 2
-# define my_htobei(x) _swab_16_(x)
-# define my_betohi(x) _swab_16_(x)
-# elif INTSIZE == 4
-# define my_htobei(x) _swab_32_(x)
-# define my_betohi(x) _swab_32_(x)
-# elif INTSIZE == 8
-# define my_htobei(x) _swab_64_(x)
-# define my_betohi(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBEI
-# define PERL_NEED_MY_BETOHI
-# endif
-# if LONGSIZE == 1
-# define my_htobel(x) (x)
-# define my_betohl(x) (x)
-# elif LONGSIZE == 2
-# define my_htobel(x) _swab_16_(x)
-# define my_betohl(x) _swab_16_(x)
-# elif LONGSIZE == 4
-# define my_htobel(x) _swab_32_(x)
-# define my_betohl(x) _swab_32_(x)
-# elif LONGSIZE == 8
-# define my_htobel(x) _swab_64_(x)
-# define my_betohl(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBEL
-# define PERL_NEED_MY_BETOHL
-# endif
-# define my_htolen(p,n) NOOP
-# define my_letohn(p,n) NOOP
-# define my_htoben(p,n) my_swabn(p,n)
-# define my_betohn(p,n) my_swabn(p,n)
-/*----------------------------------------------------------------------------*/
-# elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 /* big-endian */
-/*----------------------------------------------------------------------------*/
-# define my_htobe16(x) (x)
-# define my_betoh16(x) (x)
-# define my_htobe32(x) (x)
-# define my_betoh32(x) (x)
-# define my_htole16(x) _swab_16_(x)
-# define my_letoh16(x) _swab_16_(x)
-# define my_htole32(x) _swab_32_(x)
-# define my_letoh32(x) _swab_32_(x)
-# ifdef HAS_QUAD
-# define my_htobe64(x) (x)
-# define my_betoh64(x) (x)
-# define my_htole64(x) _swab_64_(x)
-# define my_letoh64(x) _swab_64_(x)
-# endif
-# define my_htobes(x) (x)
-# define my_betohs(x) (x)
-# define my_htobei(x) (x)
-# define my_betohi(x) (x)
-# define my_htobel(x) (x)
-# define my_betohl(x) (x)
-# if SHORTSIZE == 1
-# define my_htoles(x) (x)
-# define my_letohs(x) (x)
-# elif SHORTSIZE == 2
-# define my_htoles(x) _swab_16_(x)
-# define my_letohs(x) _swab_16_(x)
-# elif SHORTSIZE == 4
-# define my_htoles(x) _swab_32_(x)
-# define my_letohs(x) _swab_32_(x)
-# elif SHORTSIZE == 8
-# define my_htoles(x) _swab_64_(x)
-# define my_letohs(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLES
-# define PERL_NEED_MY_LETOHS
-# endif
-# if INTSIZE == 1
-# define my_htolei(x) (x)
-# define my_letohi(x) (x)
-# elif INTSIZE == 2
-# define my_htolei(x) _swab_16_(x)
-# define my_letohi(x) _swab_16_(x)
-# elif INTSIZE == 4
-# define my_htolei(x) _swab_32_(x)
-# define my_letohi(x) _swab_32_(x)
-# elif INTSIZE == 8
-# define my_htolei(x) _swab_64_(x)
-# define my_letohi(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLEI
-# define PERL_NEED_MY_LETOHI
-# endif
-# if LONGSIZE == 1
-# define my_htolel(x) (x)
-# define my_letohl(x) (x)
-# elif LONGSIZE == 2
-# define my_htolel(x) _swab_16_(x)
-# define my_letohl(x) _swab_16_(x)
-# elif LONGSIZE == 4
-# define my_htolel(x) _swab_32_(x)
-# define my_letohl(x) _swab_32_(x)
-# elif LONGSIZE == 8
-# define my_htolel(x) _swab_64_(x)
-# define my_letohl(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLEL
-# define PERL_NEED_MY_LETOHL
-# endif
-# define my_htolen(p,n) my_swabn(p,n)
-# define my_letohn(p,n) my_swabn(p,n)
-# define my_htoben(p,n) NOOP
-# define my_betohn(p,n) NOOP
-/*----------------------------------------------------------------------------*/
-# else /* all other byte-orders */
-/*----------------------------------------------------------------------------*/
-# define PERL_NEED_MY_HTOLE16
-# define PERL_NEED_MY_LETOH16
-# define PERL_NEED_MY_HTOBE16
-# define PERL_NEED_MY_BETOH16
-# define PERL_NEED_MY_HTOLE32
-# define PERL_NEED_MY_LETOH32
-# define PERL_NEED_MY_HTOBE32
-# define PERL_NEED_MY_BETOH32
-# ifdef HAS_QUAD
-# define PERL_NEED_MY_HTOLE64
-# define PERL_NEED_MY_LETOH64
-# define PERL_NEED_MY_HTOBE64
-# define PERL_NEED_MY_BETOH64
-# endif
-# define PERL_NEED_MY_HTOLES
-# define PERL_NEED_MY_LETOHS
-# define PERL_NEED_MY_HTOBES
-# define PERL_NEED_MY_BETOHS
-# define PERL_NEED_MY_HTOLEI
-# define PERL_NEED_MY_LETOHI
-# define PERL_NEED_MY_HTOBEI
-# define PERL_NEED_MY_BETOHI
-# define PERL_NEED_MY_HTOLEL
-# define PERL_NEED_MY_LETOHL
-# define PERL_NEED_MY_HTOBEL
-# define PERL_NEED_MY_BETOHL
-/*----------------------------------------------------------------------------*/
-# endif /* end of byte-order macros */
-/*----------------------------------------------------------------------------*/
-
/* The old value was hard coded at 1008. (4096-16) seems to be a bit faster,
at least on FreeBSD. YMMV, so experiment. */
#ifndef PERL_ARENA_SIZE
@@ -1157,9 +1019,6 @@ EXTERN_C int usleep(unsigned int);
extern int memcmp (char*, char*, int);
# endif
# endif
-# ifdef BUGGY_MSC
-# pragma function(memcmp)
-# endif
#else
# ifndef memcmp
# define memcmp my_memcmp
@@ -1200,12 +1059,6 @@ EXTERN_C int usleep(unsigned int);
# include <arpa/inet.h>
#endif
-#if defined(SF_APPEND) && defined(USE_SFIO) && defined(I_SFIO)
-/* <sfio.h> defines SF_APPEND and <sys/stat.h> might define SF_APPEND
- * (the neo-BSD seem to do this). */
-# undef SF_APPEND
-#endif
-
#ifdef I_SYS_STAT
# include <sys/stat.h>
#endif
@@ -1263,14 +1116,6 @@ EXTERN_C int usleep(unsigned int);
# define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */
#endif
-/* In Tru64 use the 4.4BSD struct msghdr, not the 4.3 one.
- * This is important for using IPv6.
- * For OSF/1 3.2, however, defining _SOCKADDR_LEN would be
- * a bad idea since it breaks send() and recv(). */
-#if defined(__osf__) && defined(__alpha) && !defined(_SOCKADDR_LEN) && !defined(DEC_OSF1_3_X)
-# define _SOCKADDR_LEN
-#endif
-
#if defined(HAS_SOCKET) && !defined(WIN32) /* WIN32 handles sockets via win32.h */
# include <sys/socket.h>
# if defined(USE_SOCKS) && defined(I_SOCKS)
@@ -1321,7 +1166,7 @@ EXTERN_C char **environ;
#endif
#if defined(__cplusplus)
-# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
+# if defined(BSDish)
EXTERN_C char **environ;
# elif defined(__CYGWIN__)
EXTERN_C char *crypt(const char *, const char *);
@@ -1356,12 +1201,6 @@ EXTERN_C char *crypt(const char *, const char *);
# define SS_IVCHAN SS$_IVCHAN
# define SS_NORMAL SS$_NORMAL
#else
-# define SETERRNO(errcode,vmserrcode) (errno = (errcode))
-# define dSAVEDERRNO int saved_errno
-# define dSAVE_ERRNO int saved_errno = errno
-# define SAVE_ERRNO (saved_errno = errno)
-# define RESTORE_ERRNO (errno = saved_errno)
-
# define LIB_INVARG 0
# define RMS_DIR 0
# define RMS_FAC 0
@@ -1376,6 +1215,31 @@ EXTERN_C char *crypt(const char *, const char *);
# define SS_NORMAL 0
#endif
+#ifdef WIN32
+# define dSAVEDERRNO int saved_errno; DWORD saved_win32_errno
+# define dSAVE_ERRNO int saved_errno = errno; DWORD saved_win32_errno = GetLastError()
+# define SAVE_ERRNO ( saved_errno = errno, saved_win32_errno = GetLastError() )
+# define RESTORE_ERRNO ( errno = saved_errno, SetLastError(saved_win32_errno) )
+#endif
+
+#ifdef OS2
+# define dSAVEDERRNO int saved_errno; unsigned long saved_os2_errno
+# define dSAVE_ERRNO int saved_errno = errno; unsigned long saved_os2_errno = Perl_rc
+# define SAVE_ERRNO ( saved_errno = errno, saved_os2_errno = Perl_rc )
+# define RESTORE_ERRNO ( errno = saved_errno, Perl_rc = saved_os2_errno )
+#endif
+
+#ifndef SETERRNO
+# define SETERRNO(errcode,vmserrcode) (errno = (errcode))
+#endif
+
+#ifndef dSAVEDERRNO
+# define dSAVEDERRNO int saved_errno
+# define dSAVE_ERRNO int saved_errno = errno
+# define SAVE_ERRNO (saved_errno = errno)
+# define RESTORE_ERRNO (errno = saved_errno)
+#endif
+
#define ERRSV GvSVn(PL_errgv)
#define CLEAR_ERRSV() STMT_START { \
@@ -1412,8 +1276,6 @@ EXTERN_C char *crypt(const char *, const char *);
# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
#endif
-#define ERRHV GvHV(PL_errgv) /* XXX unused, here for compatibility */
-
#ifndef errno
extern int errno; /* ANSI allows errno to be an lvalue expr.
* For example in multithreaded environments
@@ -1422,24 +1284,26 @@ EXTERN_C char *crypt(const char *, const char *);
* #define errno (*_errno()) */
#endif
+#define UNKNOWN_ERRNO_MSG "(unknown)"
+
#ifdef HAS_STRERROR
-#ifndef DONT_DECLARE_STD
+# ifndef DONT_DECLARE_STD
# ifdef VMS
char *strerror (int,...);
# else
char *strerror (int);
# endif
-#endif
-# ifndef Strerror
-# define Strerror strerror
-# endif
+# endif
+# ifndef Strerror
+# define Strerror strerror
+# endif
#else
# ifdef HAS_SYS_ERRLIST
extern int sys_nerr;
extern char *sys_errlist[];
# ifndef Strerror
# define Strerror(e) \
- ((e) < 0 || (e) >= sys_nerr ? "(unknown)" : sys_errlist[e])
+ ((e) < 0 || (e) >= sys_nerr ? UNKNOWN_ERRNO_MSG : sys_errlist[e])
# endif
# endif
#endif
@@ -1494,26 +1358,13 @@ EXTERN_C char *crypt(const char *, const char *);
# endif
#endif
-#ifdef PERL_MICRO
-# ifndef DIR
-# define DIR void
-# endif
-#endif
-
-#ifdef FPUTS_BOTCH
-/* work around botch in SunOS 4.0.1 and 4.0.2 */
-# ifndef fputs
-# define fputs(sv,fp) fprintf(fp,"%s",sv)
-# endif
-#endif
-
/*
* The following gobbledygook brought to you on behalf of __STDC__.
* (I could just use #ifndef __STDC__, but this is more bulletproof
* in the face of half-implementations.)
*/
-#if defined(I_SYSMODE) && !defined(PERL_MICRO)
+#if defined(I_SYSMODE)
#include <sys/mode.h>
#endif
@@ -1657,10 +1508,6 @@ EXTERN_C char *crypt(const char *, const char *);
# define S_IEXEC S_IXUSR
#endif
-#ifdef ff_next
-# undef ff_next
-#endif
-
#if defined(cray) || defined(gould) || defined(i860) || defined(pyr)
# define SLOPPYDIVIDE
#endif
@@ -1785,16 +1632,17 @@ typedef UVTYPE UV;
# else
# undef IV_IS_QUAD
# undef UV_IS_QUAD
+#if !defined(PERL_CORE) || defined(USING_MSVC6)
+/* We think that removing this decade-old undef this will cause too much
+ breakage on CPAN for too little gain. (See RT #119753)
+ However, we do need HAS_QUAD in the core for use by the drand48 code,
+ but not for Win32 VC6 because it has poor __int64 support. */
# undef HAS_QUAD
+#endif
# endif
#endif
-#ifndef HAS_QUAD
-# undef PERL_NEED_MY_HTOLE64
-# undef PERL_NEED_MY_LETOH64
-# undef PERL_NEED_MY_HTOBE64
-# undef PERL_NEED_MY_BETOH64
-#endif
+#define SSize_t_MAX (SSize_t)(~(size_t)0 >> 1)
#define IV_DIG (BIT_DIGITS(IVSIZE * 8))
#define UV_DIG (BIT_DIGITS(UVSIZE * 8))
@@ -1950,6 +1798,16 @@ typedef NVTYPE NV;
# include <ieeefp.h>
#endif
+#ifdef USING_MSVC6
+/* VC6 has broken NaN semantics: NaN == NaN returns true instead of false,
+ * and for example NaN < IV_MIN. */
+# define NAN_COMPARE_BROKEN
+#endif
+#if defined(__DECC) && defined(__osf__)
+/* Also Tru64 cc has broken NaN comparisons. */
+# define NAN_COMPARE_BROKEN
+#endif
+
#ifdef USE_LONG_DOUBLE
# ifdef I_SUNMATH
# include <sunmath.h>
@@ -2109,7 +1967,7 @@ EXTERN_C long double modfl(long double, long double *);
# define Perl_fp_class_zero(x) (Perl_fp_class(x)==FP_CLASS_NZERO||Perl_fp_class(x)==FP_CLASS_PZERO)
#endif
-#if !defined(Perl_fp_class) && defined(HAS_FP_CLASS) && !defined(PERL_MICRO)
+#if !defined(Perl_fp_class) && defined(HAS_FP_CLASS)
# include <math.h>
# if !defined(FP_SNAN) && defined(I_FP_CLASS)
# include <fp_class.h>
@@ -2418,9 +2276,6 @@ int isnan(double d);
#endif
-struct RExC_state_t;
-struct _reg_trie_data;
-
typedef MEM_SIZE STRLEN;
#ifdef PERL_MAD
@@ -2474,6 +2329,7 @@ typedef struct xpvuv XPVUV;
typedef struct xpvnv XPVNV;
typedef struct xpvmg XPVMG;
typedef struct xpvlv XPVLV;
+typedef struct xpvinvlist XINVLIST;
typedef struct xpvav XPVAV;
typedef struct xpvhv XPVHV;
typedef struct xpvgv XPVGV;
@@ -2494,11 +2350,10 @@ typedef AV PAD;
typedef AV PADNAMELIST;
typedef SV PADNAME;
-/* XXX for 5.18, disable the COW by default
- * #if !defined(PERL_OLD_COPY_ON_WRITE) && !defined(PERL_NEW_COPY_ON_WRITE) && !defined(PERL_NO_COW)
- * # define PERL_NEW_COPY_ON_WRITE
- * #endif
- */
+/* enable PERL_NEW_COPY_ON_WRITE by default */
+#if !defined(PERL_OLD_COPY_ON_WRITE) && !defined(PERL_NEW_COPY_ON_WRITE) && !defined(PERL_NO_COW)
+# define PERL_NEW_COPY_ON_WRITE
+#endif
#if defined(PERL_OLD_COPY_ON_WRITE) || defined(PERL_NEW_COPY_ON_WRITE)
# if defined(PERL_OLD_COPY_ON_WRITE) && defined(PERL_NEW_COPY_ON_WRITE)
@@ -2622,42 +2477,22 @@ typedef SV PADNAME;
# else
# include "dosish.h"
# endif
-# define ISHISH "dos"
-#endif
-
-#if defined(VMS)
+#elif defined(VMS)
# include "vmsish.h"
-# define ISHISH "vms"
-#endif
-
-#if defined(PLAN9)
+#elif defined(PLAN9)
# include "./plan9/plan9ish.h"
-# define ISHISH "plan9"
-#endif
-
-#if defined(__VOS__)
+#elif defined(__VOS__)
# ifdef __GNUC__
# include "./vos/vosish.h"
# else
# include "vos/vosish.h"
# endif
-# define ISHISH "vos"
-#endif
-
-#ifdef __SYMBIAN32__
+#elif defined(__SYMBIAN32__)
# include "symbian/symbianish.h"
-# define ISHISH "symbian"
-#endif
-
-
-#if defined(__HAIKU__)
+#elif defined(__HAIKU__)
# include "haiku/haikuish.h"
-# define ISHISH "haiku"
-#endif
-
-#ifndef ISHISH
+#else
# include "unixish.h"
-# define ISHISH "unix"
#endif
/* NSIG logic from Configure --> */
@@ -2758,17 +2593,17 @@ typedef SV PADNAME;
/*
=for apidoc Am|void|PERL_SYS_INIT|int *argc|char*** argv
Provides system-specific tune up of the C runtime environment necessary to
-run Perl interpreters. This should be called only once, before creating
+run Perl interpreters. This should be called only once, before creating
any Perl interpreters.
=for apidoc Am|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env
Provides system-specific tune up of the C runtime environment necessary to
-run Perl interpreters. This should be called only once, before creating
+run Perl interpreters. This should be called only once, before creating
any Perl interpreters.
=for apidoc Am|void|PERL_SYS_TERM|
Provides system-specific clean up of the C runtime environment after
-running Perl interpreters. This should be called only once, after
+running Perl interpreters. This should be called only once, after
freeing any remaining Perl interpreters.
=cut
@@ -2862,9 +2697,6 @@ freeing any remaining Perl interpreters.
# ifdef NETWARE
# include <nw5thread.h>
# else
-# ifdef FAKE_THREADS
-# include "fakethr.h"
-# else
# ifdef WIN32
# include <win32thread.h>
# else
@@ -2891,8 +2723,7 @@ typedef pthread_key_t perl_key;
# endif /* I_MACH_CTHREADS */
# endif /* OS2 */
# endif /* WIN32 */
-# endif /* FAKE_THREADS */
-#endif /* NETWARE */
+# endif /* NETWARE */
#endif /* USE_ITHREADS */
#if defined(WIN32)
@@ -3145,6 +2976,8 @@ typedef pthread_key_t perl_key;
/* flags in PL_exit_flags for nature of exit() */
#define PERL_EXIT_EXPECTED 0x01
#define PERL_EXIT_DESTRUCT_END 0x02 /* Run END in perl_destruct */
+#define PERL_EXIT_WARN 0x04 /* Warn if Perl_my_exit() or Perl_my_failure_exit() called */
+#define PERL_EXIT_ABORT 0x08 /* Call abort() if Perl_my_exit() or Perl_my_failure_exit() called */
#ifndef PERL_CORE
/* format to use for version numbers in file/directory names */
@@ -3166,7 +2999,7 @@ typedef pthread_key_t perl_key;
* out there, Solaris being the most prominent.
*/
#ifndef PERL_FLUSHALL_FOR_CHILD
-# if defined(USE_PERLIO) || defined(FFLUSH_NULL) || defined(USE_SFIO)
+# if defined(USE_PERLIO) || defined(FFLUSH_NULL)
# define PERL_FLUSHALL_FOR_CHILD PerlIO_flush((PerlIO*)NULL)
# else
# ifdef FFLUSH_ALL
@@ -3239,14 +3072,11 @@ typedef pthread_key_t perl_key;
#define HEKfARG(p) ((void*)(p))
-#ifdef PERL_CORE
-/* not used; but needed for backward compatibility with XS code? - RMB */
-# undef VDf
-#else
-# ifndef VDf
-# define VDf "vd"
-# endif
+/* Takes three arguments: is_utf8, length, str */
+#ifndef UTF8f
+# define UTF8f "d%" UVuf "%4p"
#endif
+#define UTF8fARG(u,l,p) (int)cBOOL(u), (UV)(l), (void*)(p)
#ifdef PERL_CORE
/* not used; but needed for backward compatibility with XS code? - RMB */
@@ -3312,9 +3142,9 @@ typedef pthread_key_t perl_key;
appropriate to call return. In either case, include the lint directive.
*/
#ifdef HASATTRIBUTE_NORETURN
-# define NORETURN_FUNCTION_END assert(0); /* NOTREACHED */
+# define NORETURN_FUNCTION_END NOT_REACHED; /* NOTREACHED */
#else
-# define NORETURN_FUNCTION_END assert(0); /* NOTREACHED */ return 0
+# define NORETURN_FUNCTION_END NOT_REACHED; /* NOTREACHED */ return 0
#endif
/* Some OS warn on NULL format to printf */
@@ -3329,12 +3159,45 @@ typedef pthread_key_t perl_key;
#else
# define EXPECT(expr,val) (expr)
#endif
-#define LIKELY(cond) EXPECT(cond,1)
-#define UNLIKELY(cond) EXPECT(cond,0)
+#define LIKELY(cond) EXPECT(cBOOL(cond),TRUE)
+#define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE)
#ifdef HAS_BUILTIN_CHOOSE_EXPR
/* placeholder */
#endif
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0 /* not a clang style compiler */
+#endif
+
+/* ASSUME is like assert(), but it has a benefit in a release build. It is a
+ hint to a compiler about a statement of fact in a function call free
+ expression, which allows the compiler to generate better machine code.
+ In a debug build, ASSUME(x) is a synonym for assert(x). ASSUME(0) means
+ the control path is unreachable. In a for loop, ASSUME can be used to hint
+ that a loop will run atleast X times. ASSUME is based off MSVC's __assume
+ intrinsic function, see its documents for more details.
+*/
+
+#ifndef DEBUGGING
+# if __has_builtin(__builtin_unreachable) \
+ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5 || __GNUC__ > 5) /* 4.5 -> */
+# define ASSUME(x) ((x) ? (void) 0 : __builtin_unreachable())
+# elif defined(_MSC_VER)
+# define ASSUME(x) __assume(x)
+# elif defined(__ARMCC_VERSION) /* untested */
+# define ASSUME(x) __promise(x)
+# else
+/* a random compiler might define assert to its own special optimization token
+ so pass it through to C lib as a last resort */
+# define ASSUME(x) assert(x)
+# endif
+#else
+# define ASSUME(x) assert(x)
+#endif
+
+#define NOT_REACHED ASSUME(0)
+
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define
below to be rejected by the compiler. Sigh.
@@ -3383,6 +3246,7 @@ UNION_ANY_DEFINITION;
union any {
void* any_ptr;
I32 any_i32;
+ U32 any_u32;
IV any_iv;
UV any_uv;
long any_long;
@@ -3402,7 +3266,7 @@ typedef I32 (*filter_t) (pTHX_ int, SV *, int);
&& idx >= AvFILLp(PL_parser->rsfp_filters))
#define PERL_FILTER_EXISTS(i) \
(PL_parser && PL_parser->rsfp_filters \
- && (i) <= av_len(PL_parser->rsfp_filters))
+ && (i) <= av_tindex(PL_parser->rsfp_filters))
#if defined(_AIX) && !defined(_AIX43)
#if defined(USE_REENTRANT) || defined(_REENTRANT) || defined(_THREAD_SAFE)
@@ -3506,8 +3370,25 @@ struct _sublex_info {
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 */
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+
+/* These have to be predeclared, as they are used in proto.h which is #included
+ * before their definitions in regcomp.h. */
+
+struct scan_data_t;
+typedef struct regnode_charclass regnode_charclass;
+
+struct regnode_charclass_class;
+
+/* A hopefully less confusing name. The sub-classes are all Posix classes only
+ * used under /l matching */
+typedef struct regnode_charclass_class regnode_charclass_posixl;
+
+typedef struct regnode_ssc regnode_ssc;
+typedef struct RExC_state_t RExC_state_t;
+struct _reg_trie_data;
+
+#endif
struct ptr_tbl_ent {
struct ptr_tbl_ent* next;
@@ -3537,36 +3418,70 @@ struct ptr_tbl {
#define HAS_NTOHS
#endif
#ifndef HAS_HTONL
-#if (BYTEORDER & 0xffff) != 0x4321
#define HAS_HTONS
#define HAS_HTONL
#define HAS_NTOHS
#define HAS_NTOHL
-#define MYSWAP
-#define htons my_swap
-#define htonl my_htonl
-#define ntohs my_swap
-#define ntohl my_ntohl
-#endif
-#else
-#if (BYTEORDER & 0xffff) == 0x4321
-#undef HAS_HTONS
-#undef HAS_HTONL
-#undef HAS_NTOHS
-#undef HAS_NTOHL
-#endif
+# if (BYTEORDER & 0xffff) == 0x4321
+/* Big endian system, so ntohl, ntohs, htonl and htons do not need to
+ re-order their values. However, to behave identically to the alternative
+ implementations, they should truncate to the correct size. */
+# define ntohl(x) ((x)&0xFFFFFFFF)
+# define htonl(x) ntohl(x)
+# define ntohs(x) ((x)&0xFFFF)
+# define htons(x) ntohs(x)
+# elif BYTEORDER == 0x1234 || BYTEORDER == 0x12345678
+
+/* Note that we can't straight out declare our own htonl and htons because
+ the Win32 build process forcibly undefines HAS_HTONL etc for its miniperl,
+ to avoid the overhead of initialising the socket subsystem, but the headers
+ that *declare* the various functions are still seen. If we declare our own
+ htonl etc they will clash with the declarations in the Win32 headers. */
+
+PERL_STATIC_INLINE U32
+my_swap32(const U32 x) {
+ return ((x & 0xFF) << 24) | ((x >> 24) & 0xFF)
+ | ((x & 0x0000FF00) << 8) | ((x & 0x00FF0000) >> 8);
+}
+
+PERL_STATIC_INLINE U16
+my_swap16(const U16 x) {
+ return ((x & 0xFF) << 8) | ((x >> 8) & 0xFF);
+}
+
+# define htonl(x) my_swap32(x)
+# define ntohl(x) my_swap32(x)
+# define ntohs(x) my_swap16(x)
+# define htons(x) my_swap16(x)
+# else
+# error "Unsupported byteorder"
+/* The C pre-processor doesn't let us return the value of BYTEORDER as part of
+ the error message. Please check the value of the macro BYTEORDER, as defined
+ in config.h. The values of BYTEORDER we expect are
+
+ big endian little endian
+ 32 bit 0x4321 0x1234
+ 64 bit 0x87654321 0x12345678
+
+ If you have a system with a different byte order, please see
+ pod/perlhack.pod for how to submit a patch to add supporting code.
+*/
+# endif
#endif
/*
* Little-endian byte order functions - 'v' for 'VAX', or 'reVerse'.
* -DWS
*/
-#if BYTEORDER != 0x1234
-# define HAS_VTOHL
-# define HAS_VTOHS
-# define HAS_HTOVL
-# define HAS_HTOVS
-# if BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+#if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678
+/* Little endian system, so vtohl, vtohs, htovl and htovs do not need to
+ re-order their values. However, to behave identically to the alternative
+ implementations, they should truncate to the correct size. */
+# define vtohl(x) ((x)&0xFFFFFFFF)
+# define vtohs(x) ((x)&0xFFFF)
+# define htovl(x) vtohl(x)
+# define htovs(x) vtohs(x)
+#elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
# define vtohl(x) ((((x)&0xFF)<<24) \
+(((x)>>24)&0xFF) \
+(((x)&0x0000FF00)<<8) \
@@ -3574,14 +3489,11 @@ struct ptr_tbl {
# define vtohs(x) ((((x)&0xFF)<<8) + (((x)>>8)&0xFF))
# define htovl(x) vtohl(x)
# define htovs(x) vtohs(x)
-# endif
- /* otherwise default to functions in util.c */
-#ifndef htovs
-short htovs(short n);
-short vtohs(short n);
-long htovl(long n);
-long vtohl(long n);
-#endif
+#else
+# error "Unsupported byteorder"
+/* If you have need for current perl on PDP-11 or similar, and can help test
+ that blead keeps working on a mixed-endian system, then see
+ pod/perlhack.pod for how to submit patches to things working again. */
#endif
/* *MAX Plus 1. A floating point value.
@@ -3619,11 +3531,11 @@ long vtohl(long n);
#define U_32(n) ((n) < 0.0 ? ((n) < I32_MIN ? (UV) I32_MIN : (U32)(I32) (n)) \
: ((n) < U32_MAX_P1 ? (U32) (n) \
: ((n) > 0 ? U32_MAX : 0 /* NaN */)))
-#define I_V(n) ((n) < IV_MAX_P1 ? ((n) < IV_MIN ? IV_MIN : (IV) (n)) \
- : ((n) < UV_MAX_P1 ? (IV)(UV) (n) \
+#define I_V(n) (LIKELY((n) < IV_MAX_P1) ? (UNLIKELY((n) < IV_MIN) ? IV_MIN : (IV) (n)) \
+ : (LIKELY((n) < UV_MAX_P1) ? (IV)(UV) (n) \
: ((n) > 0 ? (IV)UV_MAX : 0 /* NaN */)))
-#define U_V(n) ((n) < 0.0 ? ((n) < IV_MIN ? (UV) IV_MIN : (UV)(IV) (n)) \
- : ((n) < UV_MAX_P1 ? (UV) (n) \
+#define U_V(n) ((n) < 0.0 ? (UNLIKELY((n) < IV_MIN) ? (UV) IV_MIN : (UV)(IV) (n)) \
+ : (LIKELY((n) < UV_MAX_P1) ? (UV) (n) \
: ((n) > 0 ? UV_MAX : 0 /* NaN */)))
#endif
@@ -3698,7 +3610,8 @@ Gid_t getegid (void);
#define DEBUG_q_FLAG 0x00800000 /*8388608 */
#define DEBUG_M_FLAG 0x01000000 /*16777216*/
#define DEBUG_B_FLAG 0x02000000 /*33554432*/
-#define DEBUG_MASK 0x03FFEFFF /* mask of all the standard flags */
+#define DEBUG_L_FLAG 0x04000000 /*67108864*/
+#define DEBUG_MASK 0x07FFEFFF /* mask of all the standard flags */
#define DEBUG_DB_RECURSE_FLAG 0x40000000
#define DEBUG_TOP_FLAG 0x80000000 /* XXX what's this for ??? Signal
@@ -3730,6 +3643,7 @@ Gid_t getegid (void);
# define DEBUG_q_TEST_ (PL_debug & DEBUG_q_FLAG)
# define DEBUG_M_TEST_ (PL_debug & DEBUG_M_FLAG)
# define DEBUG_B_TEST_ (PL_debug & DEBUG_B_FLAG)
+# define DEBUG_L_TEST_ (PL_debug & DEBUG_L_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_)
@@ -3762,6 +3676,7 @@ Gid_t getegid (void);
# define DEBUG_q_TEST DEBUG_q_TEST_
# define DEBUG_M_TEST DEBUG_M_TEST_
# define DEBUG_B_TEST DEBUG_B_TEST_
+# define DEBUG_L_TEST DEBUG_L_TEST_
# define DEBUG_Xv_TEST DEBUG_Xv_TEST_
# define DEBUG_Uv_TEST DEBUG_Uv_TEST_
# define DEBUG_Pv_TEST DEBUG_Pv_TEST_
@@ -3813,6 +3728,7 @@ Gid_t getegid (void);
# define DEBUG_q(a) DEBUG__(DEBUG_q_TEST, a)
# define DEBUG_M(a) DEBUG__(DEBUG_M_TEST, a)
# define DEBUG_B(a) DEBUG__(DEBUG_B_TEST, a)
+# define DEBUG_L(a) DEBUG__(DEBUG_L_TEST, a)
#else /* DEBUGGING */
@@ -3842,6 +3758,7 @@ Gid_t getegid (void);
# define DEBUG_q_TEST (0)
# define DEBUG_M_TEST (0)
# define DEBUG_B_TEST (0)
+# define DEBUG_L_TEST (0)
# define DEBUG_Xv_TEST (0)
# define DEBUG_Uv_TEST (0)
# define DEBUG_Pv_TEST (0)
@@ -3873,6 +3790,7 @@ Gid_t getegid (void);
# define DEBUG_q(a)
# define DEBUG_M(a)
# define DEBUG_B(a)
+# define DEBUG_L(a)
# define DEBUG_Xv(a)
# define DEBUG_Uv(a)
# define DEBUG_Pv(a)
@@ -4105,7 +4023,7 @@ typedef Sighandler_t Sigsave_t;
# define RUNOPS_DEFAULT Perl_runops_standard
#endif
-#ifdef USE_PERLIO
+#if defined(USE_PERLIO)
EXTERN_C void PerlIO_teardown(void);
# ifdef USE_ITHREADS
# define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
@@ -4150,28 +4068,52 @@ EXTERN_C void PerlIO_teardown(void);
struct perl_memory_debug_header;
struct perl_memory_debug_header {
tTHX interpreter;
-# ifdef PERL_POISON
+# if defined(PERL_POISON) || defined(PERL_DEBUG_READONLY_COW)
MEM_SIZE size;
# endif
struct perl_memory_debug_header *prev;
struct perl_memory_debug_header *next;
+# ifdef PERL_DEBUG_READONLY_COW
+ bool readonly;
+# endif
+};
+
+#elif defined(PERL_DEBUG_READONLY_COW)
+
+struct perl_memory_debug_header;
+struct perl_memory_debug_header {
+ MEM_SIZE size;
};
-# define sTHX (sizeof(struct perl_memory_debug_header) + \
+#endif
+
+#if defined (PERL_TRACK_MEMPOOL) || defined (PERL_DEBUG_READONLY_COW)
+
+# define PERL_MEMORY_DEBUG_HEADER_SIZE \
+ (sizeof(struct perl_memory_debug_header) + \
(MEM_ALIGNBYTES - sizeof(struct perl_memory_debug_header) \
%MEM_ALIGNBYTES) % MEM_ALIGNBYTES)
#else
-# define sTHX 0
+# define PERL_MEMORY_DEBUG_HEADER_SIZE 0
#endif
#ifdef PERL_TRACK_MEMPOOL
+# ifdef PERL_DEBUG_READONLY_COW
# define INIT_TRACK_MEMPOOL(header, interp) \
STMT_START { \
(header).interpreter = (interp); \
(header).prev = (header).next = &(header); \
+ (header).readonly = 0; \
} STMT_END
-# else
+# else
+# define INIT_TRACK_MEMPOOL(header, interp) \
+ STMT_START { \
+ (header).interpreter = (interp); \
+ (header).prev = (header).next = &(header); \
+ } STMT_END
+# endif
+# else
# define INIT_TRACK_MEMPOOL(header, interp)
#endif
@@ -4183,10 +4125,10 @@ struct perl_memory_debug_header {
#ifdef MYMALLOC
# define Perl_safesysmalloc_size(where) Perl_malloced_size(where)
#else
-# ifdef HAS_MALLOC_SIZE
+# if defined(HAS_MALLOC_SIZE) && !defined(PERL_DEBUG_READONLY_COW)
# ifdef PERL_TRACK_MEMPOOL
# define Perl_safesysmalloc_size(where) \
- (malloc_size(((char *)(where)) - sTHX) - sTHX)
+ (malloc_size(((char *)(where)) - PERL_MEMORY_DEBUG_HEADER_SIZE) - PERL_MEMORY_DEBUG_HEADER_SIZE)
# else
# define Perl_safesysmalloc_size(where) malloc_size(where)
# endif
@@ -4194,7 +4136,7 @@ struct perl_memory_debug_header {
# ifdef HAS_MALLOC_GOOD_SIZE
# ifdef PERL_TRACK_MEMPOOL
# define Perl_malloc_good_size(how_much) \
- (malloc_good_size((how_much) + sTHX) - sTHX)
+ (malloc_good_size((how_much) + PERL_MEMORY_DEBUG_HEADER_SIZE) - PERL_MEMORY_DEBUG_HEADER_SIZE)
# else
# define Perl_malloc_good_size(how_much) malloc_good_size(how_much)
# endif
@@ -4228,9 +4170,8 @@ EXT char *** environ_pointer;
/* VMS and some other platforms don't use the environ array */
# ifdef USE_ENVIRON_ARRAY
# if !defined(DONT_DECLARE_STD) || \
- (defined(__svr4__) && defined(__GNUC__) && defined(sun)) || \
- defined(__sgi) || \
- defined(__DGUX)
+ (defined(__svr4__) && defined(__GNUC__) && defined(__sun)) || \
+ defined(__sgi)
extern char ** environ; /* environment variables supplied via exec */
# endif
# endif
@@ -4254,7 +4195,7 @@ START_EXTERN_C
EXTCONST char PL_warn_uninit[]
INIT("Use of uninitialized value%s%s%s");
EXTCONST char PL_warn_uninit_sv[]
- INIT("Use of uninitialized value%"SVf"%s%s");
+ INIT("Use of uninitialized value%" SVf "%s%s");
EXTCONST char PL_warn_nosemi[]
INIT("Semicolon seems to be missing");
EXTCONST char PL_warn_reserved[]
@@ -4274,7 +4215,7 @@ EXTCONST char PL_no_usym[]
EXTCONST char PL_no_aelem[]
INIT("Modification of non-creatable array value attempted, subscript %d");
EXTCONST char PL_no_helem_sv[]
- INIT("Modification of non-creatable hash value attempted, subscript \"%"SVf"\"");
+ INIT("Modification of non-creatable hash value attempted, subscript \"%" SVf "\"");
EXTCONST char PL_no_modify[]
INIT("Modification of a read-only value attempted");
EXTCONST char PL_no_mem[sizeof("Out of memory!\n")]
@@ -4438,7 +4379,6 @@ EXTCONST unsigned char PL_fold_latin1[] = {
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
* latin1 first */
@@ -4513,13 +4453,14 @@ EXTCONST unsigned char PL_mod_latin1_uc[] = {
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
};
+#endif /* !EBCDIC, but still in DOINIT */
#else /* ! DOINIT */
-#ifndef EBCDIC
+# ifndef EBCDIC
EXTCONST unsigned char PL_fold[];
EXTCONST unsigned char PL_fold_latin1[];
-#endif
EXTCONST unsigned char PL_mod_latin1_uc[];
EXTCONST unsigned char PL_latin1_lc[];
+# endif
#endif
#ifndef PERL_GLOBAL_STRUCT /* or perlvars.h */
@@ -4674,9 +4615,6 @@ EXTCONST char PL_bincompat_options[] =
# ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
" DEBUG_LEAKING_SCALARS_FORK_DUMP"
# endif
-# ifdef FAKE_THREADS
- " FAKE_THREADS"
-# endif
# ifdef FCRYPT
" FCRYPT"
# endif
@@ -4695,12 +4633,18 @@ EXTCONST char PL_bincompat_options[] =
# ifdef PERLIO_LAYERS
" PERLIO_LAYERS"
# endif
+# ifdef PERL_DEBUG_READONLY_COW
+ " PERL_DEBUG_READONLY_COW"
+# endif
# ifdef PERL_DEBUG_READONLY_OPS
" PERL_DEBUG_READONLY_OPS"
# endif
# ifdef PERL_GLOBAL_STRUCT
" PERL_GLOBAL_STRUCT"
# endif
+# ifdef PERL_GLOBAL_STRUCT_PRIVATE
+ " PERL_GLOBAL_STRUCT_PRIVATE"
+# endif
# ifdef PERL_IMPLICIT_CONTEXT
" PERL_IMPLICIT_CONTEXT"
# endif
@@ -4722,9 +4666,6 @@ EXTCONST char PL_bincompat_options[] =
# ifdef PERL_OLD_COPY_ON_WRITE
" PERL_OLD_COPY_ON_WRITE"
# endif
-# ifdef PERL_NEW_COPY_ON_WRITE
- " PERL_NEW_COPY_ON_WRITE"
-# endif
# ifdef PERL_POISON
" PERL_POISON"
# endif
@@ -4767,9 +4708,6 @@ EXTCONST char PL_bincompat_options[] =
# ifdef USE_REENTRANT_API
" USE_REENTRANT_API"
# endif
-# ifdef USE_SFIO
- " USE_SFIO"
-# endif
# ifdef USE_SOCKS
" USE_SOCKS"
# endif
@@ -4828,6 +4766,8 @@ EXTCONST char *const PL_phase_names[];
# define PL_amagic_generation PL_na
#endif /* !PERL_CORE */
+#define PL_hints PL_compiling.cop_hints
+
END_EXTERN_C
/*****************************************************************************/
@@ -4856,13 +4796,17 @@ typedef enum {
XATTRBLOCK,
XATTRTERM,
XTERMBLOCK,
+ XPOSTDEREF,
XTERMORDORDOR /* evil hack */
/* update exp_name[] in toke.c if adding to this enum */
} expectation;
/* Hints are now stored in a dedicated U32, so the bottom 8 bits are no longer
special and there is no need for HINT_PRIVATE_MASK for COPs
- However, bitops store HINT_INTEGER in their op_private. */
+ However, bitops store HINT_INTEGER in their op_private.
+
+ NOTE: The typical module using these has the bit value hard-coded, so don't
+ blindly change the values of these */
#define HINT_INTEGER 0x00000001 /* integer pragma */
#define HINT_STRICT_REFS 0x00000002 /* strict pragma */
#define HINT_LOCALE 0x00000004 /* locale pragma */
@@ -5214,19 +5158,19 @@ EXTCONST U8 PL_magic_data[256];
#endif
#ifdef DOINIT
- /* NL BD IV NV PV PI PN MG RX GV LV AV HV CV FM IO */
+ /* NL IV NV PV INV PI PN MG RX GV LV AV HV CV FM IO */
EXTCONST bool
-PL_valid_types_IVX[] = { 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+PL_valid_types_IVX[] = { 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
EXTCONST bool
-PL_valid_types_NVX[] = { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+PL_valid_types_NVX[] = { 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
EXTCONST bool
-PL_valid_types_PVX[] = { 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1 };
+PL_valid_types_PVX[] = { 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1 };
EXTCONST bool
-PL_valid_types_RV[] = { 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 };
+PL_valid_types_RV[] = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 };
EXTCONST bool
-PL_valid_types_IV_set[] = { 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1 };
+PL_valid_types_IV_set[] = { 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1 };
EXTCONST bool
-PL_valid_types_NV_set[] = { 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
+PL_valid_types_NV_set[] = { 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
#else
@@ -5352,25 +5296,39 @@ typedef struct am_table_short AMTS;
#define PERLDB_SAVESRC_NOSUBS (PL_perldb && (PL_perldb & PERLDBf_SAVESRC_NOSUBS))
#define PERLDB_SAVESRC_INVALID (PL_perldb && (PL_perldb & PERLDBf_SAVESRC_INVALID))
-#ifdef USE_LOCALE_NUMERIC
+/*
-#define SET_NUMERIC_STANDARD() \
- set_numeric_standard();
+=head1 Locale-related functions and macros
-#define SET_NUMERIC_LOCAL() \
- set_numeric_local();
+=for apidoc sync_locale
+
+Changing the program's locale should be avoided by XS code. Nevertheless,
+certain non-Perl libraries called from XS, such as C<Gtk> do so. When this
+happens, Perl needs to be told that the locale has changed. Use this macro
+to do so, before returning to Perl code.
+
+=cut
+*/
-/* Returns non-zero If the plain locale pragma without a parameter is in effect
+/* Temporary for maint. Is a function in 5.21 */
+#define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), \
+ new_collate(setlocale(LC_COLLATE, NULL)), \
+ set_numeric_local(), \
+ new_numeric(setlocale(LC_NUMERIC, NULL)))
+
+#ifdef USE_LOCALE_NUMERIC
+
+/* Returns TRUE if the plain locale pragma without a parameter is in effect
*/
-#define IN_LOCALE_RUNTIME (CopHINTS_get(PL_curcop) & HINT_LOCALE)
+#define IN_LOCALE_RUNTIME cBOOL(CopHINTS_get(PL_curcop) & HINT_LOCALE)
-/* Returns non-zero If either form of the locale pragma is in effect */
+/* Returns TRUE if either form of the locale pragma is in effect */
#define IN_SOME_LOCALE_FORM_RUNTIME \
- (CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
+ cBOOL(CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
-#define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE)
+#define IN_LOCALE_COMPILETIME cBOOL(PL_hints & HINT_LOCALE)
#define IN_SOME_LOCALE_FORM_COMPILETIME \
- (PL_hints & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
+ cBOOL(PL_hints & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
#define IN_LOCALE \
(IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
@@ -5378,12 +5336,68 @@ typedef struct am_table_short AMTS;
(IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME \
: IN_SOME_LOCALE_FORM_RUNTIME)
+/* These macros are for toggling between the underlying locale (LOCAL) and the
+ * C locale. */
+
+/* The first set makes sure that the locale is set to C unless within a 'use
+ * locale's scope; otherwise to the default locale. A function pointer is
+ * used, which can be declared separately by
+ * DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED, followed by the actual
+ * setting (using STORE_LC_NUMERIC_SET_TO_NEEDED()), or the two can be combined
+ * into one call DECLARE_STORE_LC_NUMERIC_SET_TO_NEEDED().
+ * RESTORE_LC_NUMERIC() in all cases restores the locale to what it was before
+ * these were called */
+
+#define DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED \
+ void (*_restore_LC_NUMERIC_function)(pTHX) = NULL;
+
+#define STORE_LC_NUMERIC_SET_TO_NEEDED() \
+ if (IN_SOME_LOCALE_FORM) { \
+ if (! PL_numeric_local) { \
+ SET_NUMERIC_LOCAL(); \
+ _restore_LC_NUMERIC_function = &Perl_set_numeric_standard; \
+ } \
+ } \
+ else { \
+ if (! PL_numeric_standard) { \
+ SET_NUMERIC_STANDARD(); \
+ _restore_LC_NUMERIC_function = &Perl_set_numeric_local; \
+ } \
+ }
+
+#define DECLARE_STORE_LC_NUMERIC_SET_TO_NEEDED() \
+ DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED; \
+ STORE_LC_NUMERIC_SET_TO_NEEDED();
+
+#define RESTORE_LC_NUMERIC() \
+ if (_restore_LC_NUMERIC_function) { \
+ _restore_LC_NUMERIC_function(aTHX); \
+ }
+
+/* The next two macros set unconditionally. These should be rarely used, and
+ * only after being sure that this is what is needed */
+#define SET_NUMERIC_STANDARD() \
+ set_numeric_standard();
+
+#define SET_NUMERIC_LOCAL() \
+ set_numeric_local();
+
+/* The rest of these LC_NUMERIC macros toggle to one or the other state, with
+ * the RESTORE_foo ones called to switch back, but only if need be */
#define STORE_NUMERIC_LOCAL_SET_STANDARD() \
- bool was_local = PL_numeric_local && IN_LOCALE; \
+ bool was_local = PL_numeric_local; \
if (was_local) SET_NUMERIC_STANDARD();
+/* Doesn't change to underlying locale unless within the scope of some form of
+ * 'use locale'. This is the usual desired behavior. */
#define STORE_NUMERIC_STANDARD_SET_LOCAL() \
- bool was_standard = PL_numeric_standard && IN_LOCALE; \
+ bool was_standard = PL_numeric_standard && IN_SOME_LOCALE_FORM; \
+ if (was_standard) SET_NUMERIC_LOCAL();
+
+/* Rarely, we want to change to the underlying locale even outside of 'use
+ * locale'. This is principally in the POSIX:: functions */
+#define STORE_NUMERIC_STANDARD_FORCE_LOCAL() \
+ bool was_standard = PL_numeric_standard; \
if (was_standard) SET_NUMERIC_LOCAL();
#define RESTORE_NUMERIC_LOCAL() \
@@ -5401,8 +5415,14 @@ typedef struct am_table_short AMTS;
#define IS_NUMERIC_RADIX(a, b) (0)
#define STORE_NUMERIC_LOCAL_SET_STANDARD() /**/
#define STORE_NUMERIC_STANDARD_SET_LOCAL() /**/
+#define STORE_NUMERIC_STANDARD_FORCE_LOCAL()
#define RESTORE_NUMERIC_LOCAL() /**/
#define RESTORE_NUMERIC_STANDARD() /**/
+#define DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED
+#define STORE_LC_NUMERIC_SET_TO_NEEDED()
+#define DECLARE_STORE_LC_NUMERIC_SET_TO_NEEDED()
+#define RESTORE_LC_NUMERIC()
+
#define Atof my_atof
#define IN_LOCALE_RUNTIME 0
#define IN_LOCALE_COMPILETIME 0
@@ -5508,7 +5528,7 @@ typedef struct am_table_short AMTS;
#ifndef PERL_MICRO
# ifndef PERL_ASYNC_CHECK
-# define PERL_ASYNC_CHECK() if (PL_sig_pending) PL_signalhook(aTHX)
+# define PERL_ASYNC_CHECK() if (UNLIKELY(PL_sig_pending)) PL_signalhook(aTHX)
# endif
#endif
@@ -5827,6 +5847,12 @@ extern void moncontrol(int);
# define do_aexec(really, mark,sp) do_aexec5(really, mark, sp, 0, 0)
#endif
+/* check embedded \0 characters in pathnames passed to syscalls,
+ but allow one ending \0 */
+#define IS_SAFE_SYSCALL(p, len, what, op_name) (S_is_safe_syscall(aTHX_ (p), (len), (what), (op_name)))
+
+#define IS_SAFE_PATHNAME(p, len, op_name) IS_SAFE_SYSCALL((p), (len), "pathname", (op_name))
+
#if defined(OEMVS)
#define NO_ENV_ARRAY_IN_MAIN
#endif
@@ -5855,6 +5881,8 @@ extern void moncontrol(int);
#define PERL_PV_ESCAPE_NOCLEAR 0x4000
#define PERL_PV_ESCAPE_RE 0x8000
+#define PERL_PV_ESCAPE_DWIM 0x10000
+
#define PERL_PV_PRETTY_NOCLEAR PERL_PV_ESCAPE_NOCLEAR
/* used by pv_display in dump.c*/
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlio.h b/Master/tlpkg/tlperl/lib/CORE/perlio.h
index 7b5adbd3458..777c886f3f3 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlio.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlio.h
@@ -21,13 +21,7 @@
USE_PERLIO - The primary Configure variable that enables PerlIO.
If USE_PERLIO is _NOT_ set
then USE_STDIO above will be set to be conservative.
- If USE_PERLIO is set
- 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 compatibility mode for some specialist applications.
-
- If USE_SFIO is not set then PerlIO_xxx() are real functions
+ PerlIO_xxx() are real functions
defined in perlio.c which implement extra functionality
required for utf8 support.
@@ -80,11 +74,6 @@
#ifdef PERLIO_IS_STDIO
/* #define PerlIO_xxxx() as equivalent stdio function */
#include "perlsdio.h"
-#else /* PERLIO_IS_STDIO */
-#ifdef USE_SFIO
-/* #define PerlIO_xxxx() as equivalent sfio function */
-#include "perlsfio.h"
-#endif /* USE_SFIO */
#endif /* PERLIO_IS_STDIO */
#ifndef PerlIO
@@ -132,19 +121,19 @@ PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
* can set how it wants.
*/
-#ifdef PERL_CORE
+# ifdef PERL_CORE
/* Make a choice for perl core code
- currently this is set to try and catch lingering raw stdio calls.
This is a known issue with some non UNIX ports which still use
"native" stdio features.
*/
-#ifndef PERLIO_NOT_STDIO
-#define PERLIO_NOT_STDIO 1
-#endif
-#else
-#ifndef PERLIO_NOT_STDIO
-#define PERLIO_NOT_STDIO 0
-#endif
+# ifndef PERLIO_NOT_STDIO
+# define PERLIO_NOT_STDIO 1
+# endif
+ #else
+# ifndef PERLIO_NOT_STDIO
+# define PERLIO_NOT_STDIO 0
+# endif
#endif
#ifdef PERLIO_NOT_STDIO
@@ -281,10 +270,6 @@ PERL_EXPORT_C void PerlIO_setlinebuf(PerlIO *);
PERL_EXPORT_C int PerlIO_printf(PerlIO *, const char *, ...)
__attribute__format__(__printf__, 2, 3);
#endif
-#ifndef PerlIO_sprintf
-PERL_EXPORT_C int PerlIO_sprintf(char *, int, const char *, ...)
- __attribute__format__(__printf__, 3, 4);
-#endif
#ifndef PerlIO_vprintf
PERL_EXPORT_C int PerlIO_vprintf(PerlIO *, const char *, va_list);
#endif
@@ -313,19 +298,19 @@ PERL_EXPORT_C int PerlIO_canset_cnt(PerlIO *);
PERL_EXPORT_C STDCHAR *PerlIO_get_ptr(PerlIO *);
#endif
#ifndef PerlIO_get_cnt
-PERL_EXPORT_C int PerlIO_get_cnt(PerlIO *);
+PERL_EXPORT_C SSize_t PerlIO_get_cnt(PerlIO *);
#endif
#ifndef PerlIO_set_cnt
-PERL_EXPORT_C void PerlIO_set_cnt(PerlIO *, int);
+PERL_EXPORT_C void PerlIO_set_cnt(PerlIO *, SSize_t);
#endif
#ifndef PerlIO_set_ptrcnt
-PERL_EXPORT_C void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, int);
+PERL_EXPORT_C void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t);
#endif
#ifndef PerlIO_get_base
PERL_EXPORT_C STDCHAR *PerlIO_get_base(PerlIO *);
#endif
#ifndef PerlIO_get_bufsiz
-PERL_EXPORT_C int PerlIO_get_bufsiz(PerlIO *);
+PERL_EXPORT_C SSize_t PerlIO_get_bufsiz(PerlIO *);
#endif
#ifndef PerlIO_tmpfile
PERL_EXPORT_C PerlIO *PerlIO_tmpfile(void);
diff --git a/Master/tlpkg/tlperl/lib/CORE/perliol.h b/Master/tlpkg/tlperl/lib/CORE/perliol.h
index c667f1f5ebc..236932616df 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perliol.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perliol.h
@@ -158,8 +158,6 @@ PERL_EXPORT_C PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, co
PERL_EXPORT_C PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n);
PERL_EXPORT_C PerlIO_list_t * PerlIO_default_layers(pTHX);
PERL_EXPORT_C PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f);
-PERL_EXPORT_C int PerlIO_vsprintf(char *s, int n, const char *fmt, va_list ap)
- __attribute__format__(__printf__,3,0);
PERL_EXPORT_C PerlIO_list_t *PerlIO_list_alloc(pTHX);
PERL_EXPORT_C PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param);
@@ -217,7 +215,6 @@ PERL_EXPORT_C SSize_t PerlIOCrlf_get_cnt(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
PERL_EXPORT_C void PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
PERL_EXPORT_C SSize_t PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
/* Pending */
@@ -242,9 +239,17 @@ PERL_EXPORT_C PerlIO * PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS
PERL_EXPORT_C IV PerlIOStdio_eof(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOStdio_error(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOStdio_fileno(pTHX_ PerlIO *f);
+#ifdef USE_STDIO_PTR
+PERL_EXPORT_C STDCHAR * PerlIOStdio_get_ptr(pTHX_ PerlIO *f);
+PERL_EXPORT_C SSize_t PerlIOStdio_get_cnt(pTHX_ PerlIO *f);
+PERL_EXPORT_C void PerlIOStdio_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+#endif
PERL_EXPORT_C IV PerlIOStdio_fill(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOStdio_flush(pTHX_ PerlIO *f);
+#ifdef FILE_base
PERL_EXPORT_C STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f);
+PERL_EXPORT_C Size_t PerlIOStdio_get_bufsiz(pTHX_ PerlIO *f);
+#endif
PERL_EXPORT_C char * PerlIOStdio_mode(const char *mode, char *tmode);
PERL_EXPORT_C PerlIO * PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
PERL_EXPORT_C IV PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlsfio.h b/Master/tlpkg/tlperl/lib/CORE/perlsfio.h
deleted file mode 100644
index 66ec10fdbd7..00000000000
--- a/Master/tlpkg/tlperl/lib/CORE/perlsfio.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* perlsfio.h
- *
- * Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2005, 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.
- *
- */
-
-/* The next #ifdef should be redundant if Configure behaves ... */
-#ifndef FILE
-#define FILE FILE
-#endif
-#ifdef I_SFIO
-#include <sfio.h>
-#endif
-
-/* sfio 2000 changed _stdopen to _stdfdopen */
-#if SFIO_VERSION >= 20000101L
-#define _stdopen _stdfdopen
-#endif
-
-extern Sfio_t* _stdopen _ARG_((int, const char*));
-extern int _stdprintf _ARG_((const char*, ...));
-
-#define PerlIO Sfio_t
-#define PerlIO_stderr() sfstderr
-#define PerlIO_stdout() sfstdout
-#define PerlIO_stdin() sfstdin
-
-#define PerlIO_isutf8(f) 0
-
-#define PerlIO_printf sfprintf
-#define PerlIO_stdoutf _stdprintf
-#define PerlIO_vprintf(f,fmt,a) sfvprintf(f,fmt,a)
-#define PerlIO_read(f,buf,count) sfread(f,buf,count)
-#define PerlIO_write(f,buf,count) sfwrite(f,buf,count)
-#define PerlIO_open(path,mode) sfopen(NULL,path,mode)
-#define PerlIO_fdopen(fd,mode) _stdopen(fd,mode)
-#define PerlIO_reopen(path,mode,f) sfopen(f,path,mode)
-#define PerlIO_close(f) sfclose(f)
-#define PerlIO_puts(f,s) sfputr(f,s,-1)
-#define PerlIO_putc(f,c) sfputc(f,c)
-#define PerlIO_ungetc(f,c) sfungetc(f,c)
-#define PerlIO_sprintf sfsprintf
-#define PerlIO_getc(f) sfgetc(f)
-#define PerlIO_eof(f) sfeof(f)
-#define PerlIO_error(f) sferror(f)
-#define PerlIO_fileno(f) sffileno(f)
-#define PerlIO_clearerr(f) sfclrerr(f)
-#define PerlIO_flush(f) sfsync(f)
-#define PerlIO_tell(f) sftell(f)
-#define PerlIO_seek(f,o,w) sfseek(f,o,w)
-#define PerlIO_rewind(f) (void) sfseek((f),0L,0)
-#define PerlIO_tmpfile() sftmp(0)
-#define PerlIO_exportFILE(f,fl) Perl_croak(aTHX_ "Export to FILE * unimplemented")
-#define PerlIO_releaseFILE(p,f) Perl_croak(aTHX_ "Release of FILE * unimplemented")
-
-#define PerlIO_setlinebuf(f) sfset(f,SF_LINE,1)
-
-/* Now our interface to equivalent of Configure's FILE_xxx macros */
-
-#define PerlIO_has_cntptr(f) 1
-#define PerlIO_get_ptr(f) ((f)->next)
-#define PerlIO_get_cnt(f) ((f)->endr - (f)->next)
-#define PerlIO_canset_cnt(f) 1
-#define PerlIO_fast_gets(f) 1
-#define PerlIO_set_ptrcnt(f,p,c) STMT_START {(f)->next = (unsigned char *)(p); assert(PerlIO_get_cnt(f) == (c));} STMT_END
-#define PerlIO_set_cnt(f,c) STMT_START {(f)->next = (f)->endr - (c);} STMT_END
-
-#define PerlIO_has_base(f) 1
-#define PerlIO_get_base(f) ((f)->data)
-#define PerlIO_get_bufsiz(f) ((f)->endr - (f)->data)
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 et:
- */
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlvars.h b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
index 96dfe04c26a..7bafa40882f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlvars.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
@@ -32,7 +32,7 @@ all interpreters and all threads in a process.
#if defined(USE_ITHREADS)
PERLVAR(G, op_mutex, perl_mutex) /* Mutex for op refcounting */
#endif
-PERLVAR(G, curinterp, PerlInterpreter *)
+PERLVARI(G, curinterp, PerlInterpreter *, NULL)
/* currently running interpreter
* (initial parent interpreter under
* useithreads) */
@@ -97,7 +97,7 @@ PERLVAR(G, hints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */
#endif
#ifdef DEBUGGING
-PERLVAR(G, watch_pvx, char *)
+PERLVARI(G, watch_pvx, char *, NULL)
#endif
/*
@@ -217,7 +217,7 @@ the Perl core) will normally return C<KEYWORD_PLUGIN_DECLINE>.
PERLVARI(G, keyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
-PERLVAR(G, op_sequence, HV *) /* dump.c */
+PERLVARI(G, op_sequence, HV *, NULL) /* dump.c */
PERLVARI(G, op_seq, UV, 0) /* dump.c */
#ifdef USE_ITHREADS
@@ -225,7 +225,10 @@ PERLVAR(G, dollarzero_mutex, perl_mutex) /* Modifying $0 */
#endif
/* Restricted hashes placeholder value.
- * The contents are never used, only the address. */
+ In theory, the contents are never used, only the address.
+ In practice, &PL_sv_placeholder is returned by some APIs, and the calling
+ code is checking SvOK(). */
+
PERLVAR(G, sv_placeholder, SV)
#if defined(MYMALLOC) && defined(USE_ITHREADS)
diff --git a/Master/tlpkg/tlperl/lib/CORE/perly.h b/Master/tlpkg/tlperl/lib/CORE/perly.h
index 6f1d6b95db5..e6426df92ad 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perly.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perly.h
@@ -5,11 +5,11 @@
*/
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.6.1. */
+/* A Bison parser, made by GNU Bison 2.5. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
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
@@ -37,13 +37,6 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int yydebug;
-#endif
/* Tokens. */
#ifndef YYTOKENTYPE
@@ -125,12 +118,13 @@ extern int yydebug;
REFGEN = 329,
UMINUS = 330,
POWOP = 331,
- POSTDEC = 332,
- POSTINC = 333,
- PREDEC = 334,
- PREINC = 335,
- ARROW = 336,
- PEG = 337
+ POSTJOIN = 332,
+ POSTDEC = 333,
+ POSTINC = 334,
+ PREDEC = 335,
+ PREINC = 336,
+ ARROW = 337,
+ PEG = 338
};
#endif
@@ -209,12 +203,14 @@ extern int yydebug;
#define REFGEN 329
#define UMINUS 330
#define POWOP 331
-#define POSTDEC 332
-#define POSTINC 333
-#define PREDEC 334
-#define PREINC 335
-#define ARROW 336
-#define PEG 337
+#define POSTJOIN 332
+#define POSTDEC 333
+#define POSTINC 334
+#define PREDEC 335
+#define PREINC 336
+#define ARROW 337
+#define PEG 338
+
#ifdef PERL_IN_TOKE_C
@@ -243,7 +239,8 @@ S_is_opval_token(int type) {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 2049 of yacc.c */
+
+/* Line 2068 of yacc.c */
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
@@ -262,7 +259,8 @@ typedef union YYSTYPE
#endif
-/* Line 2049 of yacc.c */
+
+/* Line 2068 of yacc.c */
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -270,22 +268,10 @@ typedef union YYSTYPE
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
+
/* Generated from:
- * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
+ * bb8245a1a537b2afb2445b3973f63b210f9ec346a1955071aef7d05ba97196ae perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc 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 cb6a0668f94..97738c2d8d4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp.h
@@ -30,7 +30,7 @@ the C<SP> macro. See C<SP>.
=for apidoc ms||djSP
-Declare Just C<SP>. This is actually identical to C<dSP>, and declares
+Declare Just C<SP>. This is actually identical to C<dSP>, and declares
a local copy of perl's stack pointer, available via the C<SP> macro.
See C<SP>. (Available for backward source code compatibility with the
old (Perl 5.005) thread model.)
@@ -57,7 +57,7 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>.
#define PUSHMARK(p) \
STMT_START { \
- if (++PL_markstack_ptr == PL_markstack_max) \
+ if (UNLIKELY(++PL_markstack_ptr == PL_markstack_max)) \
markstack_grow(); \
*PL_markstack_ptr = (I32)((p) - PL_stack_base);\
} STMT_END
@@ -133,10 +133,6 @@ Pops a long off the stack.
#define POPu ((UV)SvUVx(POPs))
#define POPl ((long)SvIVx(POPs))
#define POPul ((unsigned long)SvIVx(POPs))
-#ifdef HAS_QUAD
-#define POPq ((Quad_t)SvIVx(POPs))
-#define POPuq ((Uquad_t)SvUVx(POPs))
-#endif
#define TOPs (*sp)
#define TOPm1s (*(sp-1))
@@ -148,16 +144,12 @@ Pops a long off the stack.
#define TOPu ((UV)SvUV(TOPs))
#define TOPl ((long)SvIV(TOPs))
#define TOPul ((unsigned long)SvUV(TOPs))
-#ifdef HAS_QUAD
-#define TOPq ((Quad_t)SvIV(TOPs))
-#define TOPuq ((Uquad_t)SvUV(TOPs))
-#endif
/* Go to some pains in the rare event that we must extend the stack. */
/*
-=for apidoc Am|void|EXTEND|SP|int nitems
-Used to extend the argument stack for an XSUB's return values. Once
+=for apidoc Am|void|EXTEND|SP|SSize_t nitems
+Used to extend the argument stack for an XSUB's return values. Once
used, guarantees that there is room for at least C<nitems> to be pushed
onto the stack.
@@ -278,15 +270,25 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
=cut
*/
-#define EXTEND(p,n) (void)(UNLIKELY(PL_stack_max - p < (int)(n)) && \
- (sp = stack_grow(sp,p, (int) (n))))
+#ifdef STRESS_REALLOC
+# define EXTEND(p,n) (void)(sp = stack_grow(sp,p, (SSize_t)(n)))
+/* Same thing, but update mark register too. */
+# define MEXTEND(p,n) STMT_START { \
+ const int markoff = mark - PL_stack_base; \
+ sp = stack_grow(sp,p,(SSize_t) (n)); \
+ mark = PL_stack_base + markoff; \
+ } STMT_END
+#else
+# define EXTEND(p,n) (void)(UNLIKELY(PL_stack_max - p < (SSize_t)(n)) && \
+ (sp = stack_grow(sp,p, (SSize_t) (n))))
/* Same thing, but update mark register too. */
-#define MEXTEND(p,n) STMT_START {if (UNLIKELY(PL_stack_max - p < (int)(n))) {\
+# define MEXTEND(p,n) STMT_START {if (UNLIKELY(PL_stack_max - p < (int)(n))) {\
const int markoff = mark - PL_stack_base; \
- sp = stack_grow(sp,p,(int) (n)); \
+ sp = stack_grow(sp,p,(SSize_t) (n)); \
mark = PL_stack_base + markoff; \
} } STMT_END
+#endif
#define PUSHs(s) (*++sp = (s))
#define PUSHTARG STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
@@ -333,12 +335,6 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPiv IV value = POPi
#define dTOPuv UV value = TOPu
#define dPOPuv UV value = POPu
-#ifdef HAS_QUAD
-#define dTOPqv Quad_t value = TOPu
-#define dPOPqv Quad_t value = POPu
-#define dTOPuqv Uquad_t value = TOPuq
-#define dPOPuqv Uquad_t value = POPuq
-#endif
#define dPOPXssrl(X) SV *right = POPs; SV *left = CAT2(X,s)
#define dPOPXnnrl(X) NV right = POPn; NV left = CAT2(X,n)
@@ -404,12 +400,12 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
/* do SvGETMAGIC on the stack args before checking for overload */
#define tryAMAGICun_MG(method, flags) STMT_START { \
- if ( (SvFLAGS(TOPs) & (SVf_ROK|SVs_GMG)) \
+ if ( UNLIKELY((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)) \
+ if ( UNLIKELY(((SvFLAGS(TOPm1s)|SvFLAGS(TOPs)) & (SVf_ROK|SVs_GMG))) \
&& Perl_try_amagic_bin(aTHX_ method, flags)) \
return NORMAL; \
} STMT_END
@@ -426,19 +422,20 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
SV *tmpsv; \
SV *arg= *sp; \
int gimme = GIMME_V; \
- if (SvAMAGIC(arg) && \
+ if (UNLIKELY(SvAMAGIC(arg) && \
(tmpsv = amagic_call(arg, &PL_sv_undef, meth, \
AMGf_want_list | AMGf_noright \
- |AMGf_unary))) { \
+ |AMGf_unary)))) \
+ { \
SPAGAIN; \
if (gimme == G_VOID) { \
(void)POPs; /* XXX ??? */ \
} \
else if (gimme == G_ARRAY) { \
- int i; \
- I32 len; \
+ SSize_t i; \
+ SSize_t len; \
assert(SvTYPE(tmpsv) == SVt_PVAV); \
- len = av_len((AV *)tmpsv) + 1; \
+ len = av_tindex((AV *)tmpsv) + 1; \
(void)POPs; /* get rid of the arg */ \
EXTEND(sp, len); \
for (i = 0; i < len; ++i) \
diff --git a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
index a4dd46d5cc0..73ff532b5c8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
@@ -123,6 +123,8 @@ PERL_CALLCONV OP *Perl_pp_introcv(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_kvaslice(pTHX);
+PERL_CALLCONV OP *Perl_pp_kvhslice(pTHX);
PERL_CALLCONV OP *Perl_pp_last(pTHX);
PERL_CALLCONV OP *Perl_pp_lc(pTHX);
PERL_CALLCONV OP *Perl_pp_le(pTHX);
diff --git a/Master/tlpkg/tlperl/lib/CORE/proto.h b/Master/tlpkg/tlperl/lib/CORE/proto.h
index 607eef8cbac..6532ba8afa2 100644
--- a/Master/tlpkg/tlperl/lib/CORE/proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/proto.h
@@ -17,15 +17,22 @@
*/
START_EXTERN_C
+PERL_CALLCONV UV ASCII_TO_NEED(const UV enc, const UV ch)
+ __attribute__deprecated__
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_AMUPDATE \
assert(stash)
-PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
-PERL_CALLCONV_NO_RET void Perl_croak_memory_wrap(void)
- __attribute__noreturn__;
+PERL_CALLCONV UV NATIVE_TO_NEED(const UV enc, const UV ch)
+ __attribute__deprecated__
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -68,31 +75,31 @@ PERL_CALLCONV bool Perl__is_utf8_perl_idstart(pTHX_ const U8 *p)
#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART \
assert(p)
-PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, const U8 flags)
+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)
-PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags, bool* tainted_ptr)
+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 UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \
assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \
assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \
@@ -115,6 +122,11 @@ PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
assert(ref)
PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method);
+PERL_STATIC_INLINE void S_append_utf8_from_native_byte(const U8 byte, U8** dest)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE \
+ assert(dest)
+
PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -152,36 +164,36 @@ PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *cons
#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)
+PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV *av, SSize_t key, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_DELETE \
assert(av)
-PERL_CALLCONV bool Perl_av_exists(pTHX_ AV *av, I32 key)
+PERL_CALLCONV bool Perl_av_exists(pTHX_ AV *av, SSize_t key)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_EXISTS \
assert(av)
-PERL_CALLCONV void Perl_av_extend(pTHX_ AV *av, I32 key)
+PERL_CALLCONV void Perl_av_extend(pTHX_ AV *av, SSize_t key)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_EXTEND \
assert(av)
-PERL_CALLCONV void Perl_av_extend_guts(pTHX_ AV *av, I32 key, SSize_t *maxp, SV ***allocp, SV ***arrayp)
+PERL_CALLCONV void Perl_av_extend_guts(pTHX_ AV *av, SSize_t key, SSize_t *maxp, SV ***allocp, SV ***arrayp)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_4)
__attribute__nonnull__(pTHX_5);
#define PERL_ARGS_ASSERT_AV_EXTEND_GUTS \
assert(maxp); assert(allocp); assert(arrayp)
-PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV *av, I32 key, I32 lval)
+PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV *av, SSize_t key, I32 lval)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_FETCH \
assert(av)
-PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, I32 fill)
+PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, SSize_t fill)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_FILL \
assert(av)
@@ -191,13 +203,13 @@ PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av)
#define PERL_ARGS_ASSERT_AV_ITER_P \
assert(av)
-PERL_CALLCONV I32 Perl_av_len(pTHX_ AV *av)
+PERL_CALLCONV SSize_t Perl_av_len(pTHX_ AV *av)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_LEN \
assert(av)
-PERL_CALLCONV AV* Perl_av_make(pTHX_ I32 size, SV **strp)
+PERL_CALLCONV AV* Perl_av_make(pTHX_ SSize_t size, SV **strp)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_AV_MAKE \
@@ -225,16 +237,16 @@ PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV *av)
#define PERL_ARGS_ASSERT_AV_SHIFT \
assert(av)
-PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, I32 key, SV *val)
+PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_STORE \
assert(av)
-/* PERL_CALLCONV I32 Perl_av_tindex(pTHX_ AV *av)
+/* PERL_CALLCONV SSize_t Perl_av_tindex(pTHX_ AV *av)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1); */
-PERL_STATIC_INLINE I32 S_av_top_index(pTHX_ AV *av)
+PERL_STATIC_INLINE SSize_t S_av_top_index(pTHX_ AV *av)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_TOP_INDEX \
@@ -245,7 +257,7 @@ PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av)
#define PERL_ARGS_ASSERT_AV_UNDEF \
assert(av)
-PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, I32 num)
+PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, SSize_t num)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_UNSHIFT \
assert(av)
@@ -353,6 +365,12 @@ PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_CK_ANONCODE \
assert(o)
+PERL_CALLCONV OP * Perl_ck_backtick(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_BACKTICK \
+ assert(o)
+
PERL_CALLCONV OP * Perl_ck_bitop(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -383,12 +401,6 @@ PERL_CALLCONV OP * Perl_ck_delete(pTHX_ OP *o)
#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);
@@ -445,12 +457,6 @@ PERL_CALLCONV OP * Perl_ck_exists(pTHX_ OP *o)
#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);
@@ -651,6 +657,11 @@ PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...)
PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w);
PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
+PERL_CALLCONV const COP* Perl_closest_cop(pTHX_ const COP *cop, const OP *o, const OP *curop, bool opnext)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CLOSEST_COP \
+ assert(cop)
+
PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
__attribute__warn_unused_result__;
@@ -680,6 +691,9 @@ PERL_CALLCONV_NO_RET void Perl_croak(pTHX_ const char* pat, ...)
__attribute__noreturn__
__attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
+PERL_STATIC_NO_RET void S_croak_memory_wrap(void)
+ __attribute__noreturn__;
+
PERL_CALLCONV_NO_RET void Perl_croak_no_mem(void)
__attribute__noreturn__;
@@ -709,6 +723,12 @@ PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o)
#define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \
assert(o)
+PERL_CALLCONV XOPRETANY Perl_custom_op_get_field(pTHX_ const OP *o, const xop_flags_enum field)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_GET_FIELD \
+ assert(o)
+
PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -721,11 +741,9 @@ PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP
#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
assert(ppaddr); assert(xop)
-PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+/* 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)
+ __attribute__nonnull__(pTHX_1); */
PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags)
__attribute__nonnull__(pTHX_1);
@@ -746,6 +764,9 @@ PERL_CALLCONV CV* Perl_cv_clone_into(pTHX_ CV* proto, CV *target)
PERL_CALLCONV SV* Perl_cv_const_sv(pTHX_ const CV *const cv)
__attribute__warn_unused_result__;
+PERL_CALLCONV SV* Perl_cv_const_sv_or_av(pTHX_ const CV *const cv)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV void Perl_cv_forget_slab(pTHX_ CV *cv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CV_FORGET_SLAB \
@@ -803,6 +824,12 @@ PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o)
PERL_CALLCONV void Perl_debprofdump(pTHX);
PERL_CALLCONV I32 Perl_debstack(pTHX);
PERL_CALLCONV I32 Perl_debstackptrs(pTHX);
+PERL_CALLCONV SV * Perl_defelem_target(pTHX_ SV *sv, MAGIC *mg)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DEFELEM_TARGET \
+ assert(sv)
+
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)
@@ -907,6 +934,12 @@ PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
#define PERL_ARGS_ASSERT_DO_OPEN \
assert(gv); assert(name)
+PERL_CALLCONV bool Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, PerlIO *supplied_fp, SV **svp, U32 num)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_OPEN6 \
+ assert(gv); assert(oname)
+
PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -914,6 +947,12 @@ PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as
#define PERL_ARGS_ASSERT_DO_OPEN9 \
assert(gv); assert(name); assert(svs)
+PERL_CALLCONV bool Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_OPEN_RAW \
+ assert(gv); assert(oname)
+
PERL_CALLCONV bool Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -995,6 +1034,16 @@ PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
PERL_CALLCONV I32 Perl_dowantarray(pTHX)
__attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_drand48_init_r(perl_drand48_t *random_state, U32 seed)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_DRAND48_INIT_R \
+ assert(random_state)
+
+PERL_CALLCONV double Perl_drand48_r(perl_drand48_t *random_state)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_DRAND48_R \
+ assert(random_state)
+
PERL_CALLCONV void Perl_dump_all(pTHX);
PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl);
PERL_CALLCONV void Perl_dump_eval(pTHX);
@@ -1275,7 +1324,7 @@ PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags)
#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \
assert(namesv)
-PERL_CALLCONV void Perl_gv_check(pTHX_ const HV* stash)
+PERL_CALLCONV void Perl_gv_check(pTHX_ HV* stash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_CHECK \
assert(stash)
@@ -1449,6 +1498,11 @@ 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 GV * Perl_gv_override(pTHX_ const char * const name, const STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_OVERRIDE \
+ assert(name)
+
PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_STASHPV \
@@ -1549,7 +1603,7 @@ PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len,
#define PERL_ARGS_ASSERT_HV_FETCH_ENT \
assert(keysv)
-PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV const *const hv)
+PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV *const hv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_HV_FILL \
assert(hv)
@@ -1625,7 +1679,7 @@ PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv)
#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \
assert(hv)
-PERL_CALLCONV I32* Perl_hv_placeholders_p(pTHX_ HV *hv)
+PERL_CALLCONV SSize_t* Perl_hv_placeholders_p(pTHX_ HV *hv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \
@@ -1732,6 +1786,14 @@ PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
__attribute__warn_unused_result__;
+PERL_STATIC_INLINE bool S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL \
+ assert(pv); assert(what); assert(op_name)
+
PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
__attribute__deprecated__
__attribute__warn_unused_result__
@@ -2280,7 +2342,7 @@ PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
#define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \
assert(sv); assert(mg)
-PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, const char *meth, U32 flags, U32 argc, ...)
+PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, U32 argc, ...)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -2468,6 +2530,12 @@ PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen)
PERL_CALLCONV MAGIC* Perl_mg_find(pTHX_ const SV* sv, int type)
__attribute__warn_unused_result__;
+PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MG_FIND_MGLOB \
+ assert(sv)
+
PERL_CALLCONV MAGIC* Perl_mg_findext(pTHX_ const SV* sv, int type, const MGVTBL *vtbl)
__attribute__warn_unused_result__;
@@ -2625,15 +2693,11 @@ PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[
/* 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__format__(__strftime__,pTHX_1,0)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MY_STRFTIME \
assert(fmt)
-PERL_CALLCONV void Perl_my_swabn(void* ptr, int n)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MY_SWABN \
- assert(ptr)
-
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)
@@ -2655,8 +2719,8 @@ PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* ri
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
-PERL_CALLCONV CV* Perl_newATTRSUB_flags(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, U32 flags);
+/* PERL_CALLCONV CV* newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block); */
+PERL_CALLCONV CV* Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv);
/* PERL_CALLCONV AV* Perl_newAV(pTHX)
__attribute__warn_unused_result__; */
@@ -2850,6 +2914,13 @@ PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type)
__attribute__malloc__
__attribute__warn_unused_result__;
+PERL_CALLCONV SV* Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEWSVAVDEFELEM \
+ assert(av)
+
PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -3121,6 +3192,9 @@ 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_subsignature(pTHX)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags);
PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
__attribute__nonnull__(pTHX_1);
@@ -3177,7 +3251,7 @@ PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
#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)
+PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* screamer, U32 nosave)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
@@ -3257,12 +3331,13 @@ PERL_CALLCONV REGEXP* Perl_re_compile(pTHX_ SV * const pattern, U32 orig_rx_flag
#define PERL_ARGS_ASSERT_RE_COMPILE \
assert(pattern)
-PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV* sv, char* strpos, char* strend, const U32 flags, re_scream_pos_data *data)
+PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV* sv, const char* const strbeg, char* strpos, char* strend, const U32 flags, re_scream_pos_data *data)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
#define PERL_ARGS_ASSERT_RE_INTUIT_START \
- assert(rx); assert(strpos); assert(strend)
+ assert(rx); assert(strbeg); assert(strpos); assert(strend)
PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP *const r)
__attribute__nonnull__(pTHX_1);
@@ -3398,7 +3473,7 @@ PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
#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)
+PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, SSize_t minend, SV *sv, void *data, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
@@ -3416,7 +3491,7 @@ 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)
+PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o, const regmatch_info *reginfo)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_REGPROP \
@@ -3495,16 +3570,16 @@ PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep)
#define PERL_ARGS_ASSERT_SAVE_I8 \
assert(bytep)
-PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, I32 key)
+PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, SSize_t key)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_ADELETE \
assert(av)
-/* PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr)
+/* PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, SSize_t idx, SV **sptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3); */
-PERL_CALLCONV void Perl_save_aelem_flags(pTHX_ AV* av, I32 idx, SV **sptr, const U32 flags)
+PERL_CALLCONV void Perl_save_aelem_flags(pTHX_ AV* av, SSize_t idx, SV **sptr, const U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_SAVE_AELEM_FLAGS \
@@ -3656,6 +3731,11 @@ PERL_CALLCONV void Perl_save_sptr(pTHX_ SV** sptr)
#define PERL_ARGS_ASSERT_SAVE_SPTR \
assert(sptr)
+PERL_CALLCONV void Perl_save_strlen(pTHX_ STRLEN* ptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVE_STRLEN \
+ assert(ptr)
+
PERL_CALLCONV SV* Perl_save_svref(pTHX_ SV** sptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_SVREF \
@@ -3750,6 +3830,7 @@ PERL_CALLCONV char* Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_
assert(bigstr); assert(littlestr); assert(old_posp)
PERL_CALLCONV U32 Perl_seed(pTHX);
+PERL_CALLCONV void Perl_set_caret_X(pTHX);
PERL_CALLCONV void Perl_set_context(void *t)
__attribute__nonnull__(1);
#define PERL_ARGS_ASSERT_SET_CONTEXT \
@@ -3778,7 +3859,7 @@ PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPAR
#define PERL_ARGS_ASSERT_SORTSV_FLAGS \
assert(cmp)
-PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, int n)
+PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, SSize_t n)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_STACK_GROW \
@@ -3805,7 +3886,7 @@ PERL_CALLCONV void Perl_sub_crush_depth(pTHX_ CV* cv)
/* 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)
+PERL_CALLCONV bool Perl_sv_2bool_flags(pTHX_ SV *sv, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_2BOOL_FLAGS \
assert(sv)
@@ -3821,17 +3902,37 @@ PERL_CALLCONV IO* Perl_sv_2io(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_SV_2IO \
assert(sv)
-/* 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 IV Perl_sv_2iv(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2IV \
+ assert(sv)
+
+PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_2IV_FLAGS \
+ assert(sv)
+
PERL_CALLCONV SV* Perl_sv_2mortal(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 NV Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_2NV_FLAGS \
+ assert(sv)
+
+/* PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2PV \
+ assert(sv)
+
+PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_2PV_FLAGS \
+ assert(sv)
+
/* PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1); */
@@ -3860,8 +3961,16 @@ PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp)
#define PERL_ARGS_ASSERT_SV_2PVUTF8_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 UV Perl_sv_2uv(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2UV \
+ assert(sv)
+
+PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_2UV_FLAGS \
+ assert(sv)
+
PERL_CALLCONV int Perl_sv_backoff(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_BACKOFF \
@@ -4119,6 +4228,11 @@ PERL_CALLCONV MAGIC * Perl_sv_magicext(pTHX_ SV *const sv, SV *const obj, const
#define PERL_ARGS_ASSERT_SV_MAGICEXT \
assert(sv)
+PERL_CALLCONV MAGIC * Perl_sv_magicext_mglob(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_MAGICEXT_MGLOB \
+ assert(sv)
+
/* PERL_CALLCONV SV* Perl_sv_mortalcopy(pTHX_ SV *const oldsv)
__attribute__malloc__
__attribute__warn_unused_result__; */
@@ -4144,6 +4258,11 @@ PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp)
#define PERL_ARGS_ASSERT_SV_POS_B2U \
assert(offsetp)
+PERL_CALLCONV STRLEN Perl_sv_pos_b2u_flags(pTHX_ SV *const sv, STRLEN const offset, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_POS_B2U_FLAGS \
+ assert(sv)
+
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 \
@@ -4527,6 +4646,7 @@ 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 void sync_locale(void); */
PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -4547,7 +4667,7 @@ PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char *const s)
#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, ...)
+PERL_CALLCONV OP * Perl_tied_method(pTHX_ SV *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)
@@ -4555,7 +4675,7 @@ PERL_CALLCONV OP * Perl_tied_method(pTHX_ const char *const methname, SV **sp, S
#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 void Perl_tmps_grow(pTHX_ SSize_t n);
/* PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3); */
@@ -4699,11 +4819,9 @@ PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR \
assert(s)
-PERL_CALLCONV UV Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+/* PERL_CALLCONV UV utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF \
- assert(s); assert(send)
+ __attribute__nonnull__(pTHX_2); */
PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
__attribute__deprecated__
@@ -4712,23 +4830,35 @@ PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
assert(s)
PERL_CALLCONV UV Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF \
assert(s); assert(send)
+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 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)
-PERL_CALLCONV U8* Perl_uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
+/* PERL_CALLCONV U8* uvchr_to_utf8(pTHX_ U8 *d, UV uv)
+ __attribute__nonnull__(pTHX_1); */
+
+/* PERL_CALLCONV U8* uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS \
+#define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS \
assert(d)
-/* PERL_CALLCONV U8* Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
- __attribute__nonnull__(pTHX_1); */
+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)
@@ -4737,11 +4867,22 @@ PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
#define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS \
assert(d)
+PERL_CALLCONV UV Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR \
+ assert(s)
+
PERL_CALLCONV UV Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI \
assert(s)
+PERL_CALLCONV bool Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALIDATE_PROTO \
+ assert(name)
+
PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -4918,23 +5059,6 @@ STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv)
# 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)
-
-/* PERL_CALLCONV UV Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR \
- assert(s)
-
-#endif
#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
PERL_CALLCONV Signal_t Perl_csighandler(int sig);
PERL_CALLCONV Signal_t Perl_sighandler(int sig);
@@ -4971,6 +5095,11 @@ PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop
assert(idop)
#endif
+#if !(defined(WIN32))
+/* PERL_CALLCONV char* my_setlocale(pTHX_ int category, const char* locale)
+ __attribute__pure__; */
+
+#endif
#if !(defined(_MSC_VER))
PERL_CALLCONV_NO_RET int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
__attribute__noreturn__
@@ -5191,8 +5320,20 @@ STATIC void S_put_byte(pTHX_ SV* sv, int c)
#define PERL_ARGS_ASSERT_PUT_BYTE \
assert(sv)
+STATIC bool S_put_latin1_charclass_innards(pTHX_ SV* sv, char* bitmap)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PUT_LATIN1_CHARCLASS_INNARDS \
+ assert(sv); assert(bitmap)
+
+STATIC void S_put_range(pTHX_ SV* sv, UV start, UV end)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PUT_RANGE \
+ 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)
+STATIC void S_regdump_intflags(pTHX_ const char *lead, const U32 flags);
+STATIC U8 S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode *p, const regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -5228,6 +5369,7 @@ STATIC void S_del_sv(pTHX_ SV *p)
# endif
# if defined(PERL_IN_TOKE_C)
STATIC void S_printbuf(pTHX_ const char *const fmt, const char *const s)
+ __attribute__format__(__printf__,pTHX_1,0)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_PRINTBUF \
@@ -5247,30 +5389,6 @@ PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv)
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)
-
-PERL_CALLCONV UV Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR \
- assert(s)
-
-#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)
@@ -5346,20 +5464,6 @@ PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p)
assert(p)
#endif
-#if defined(MYSWAP)
-PERL_CALLCONV long Perl_my_htonl(pTHX_ long l)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV long Perl_my_ntohl(pTHX_ long l)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV short Perl_my_swap(pTHX_ short s)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-#endif
#if defined(NO_MATHOMS)
/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
#endif
@@ -5405,6 +5509,14 @@ PERL_CALLCONV void Perl_Slab_to_rw(pTHX_ OPSLAB *const slab)
# endif
#endif
+#if defined(PERL_CORE) || defined (PERL_EXT)
+PERL_STATIC_INLINE STRLEN S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B \
+ assert(sv); assert(pv)
+
+#endif
#if defined(PERL_CR_FILTER)
# if defined(PERL_IN_TOKE_C)
STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
@@ -5415,6 +5527,20 @@ STATIC void S_strip_return(pTHX_ SV *sv)
# endif
#endif
+#if defined(PERL_DEBUG_READONLY_COW)
+PERL_CALLCONV void Perl_sv_buf_to_ro(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_BUF_TO_RO \
+ assert(sv)
+
+# if defined(PERL_IN_SV_C)
+STATIC void S_sv_buf_to_rw(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_BUF_TO_RW \
+ assert(sv)
+
+# endif
+#endif
#if defined(PERL_DEBUG_READONLY_OPS)
PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
@@ -5599,6 +5725,24 @@ STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
STATIC bool S_ingroup(pTHX_ Gid_t testgid, bool effective)
__attribute__warn_unused_result__;
+STATIC bool S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname, PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype, int writing, bool was_fdopen, const char *type)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_OPENN_CLEANUP \
+ assert(gv); assert(io); assert(mode); assert(oname)
+
+STATIC IO * S_openn_setup(pTHX_ GV *gv, char *mode, PerlIO **saveifp, PerlIO **saveofp, int *savefd, char *savetype)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5)
+ __attribute__nonnull__(pTHX_6);
+#define PERL_ARGS_ASSERT_OPENN_SETUP \
+ assert(gv); assert(mode); assert(saveifp); assert(saveofp); assert(savefd); assert(savetype)
+
#endif
#if defined(PERL_IN_DOOP_C)
STATIC I32 S_do_trans_complex(pTHX_ SV * const sv)
@@ -5669,16 +5813,49 @@ PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv)
#endif
#if defined(PERL_IN_GV_C)
+STATIC bool S_find_default_stash(pTHX_ HV **stash, const char *name, STRLEN len, const U32 is_utf8, const I32 add, svtype sv_type)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_FIND_DEFAULT_STASH \
+ assert(stash); assert(name)
+
STATIC void S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_INIT_SVTYPE \
assert(gv)
+STATIC bool S_gv_is_in_main(pTHX_ const char *name, STRLEN len, const U32 is_utf8)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_IS_IN_MAIN \
+ assert(name)
+
+STATIC bool S_gv_magicalize(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, bool addmg, svtype sv_type)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GV_MAGICALIZE \
+ assert(gv); assert(stash); assert(name)
+
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_maybe_multimagic_gv(pTHX_ GV *gv, const char *name, const svtype sv_type)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAYBE_MULTIMAGIC_GV \
+ assert(gv); assert(name)
+
+STATIC bool S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, STRLEN *len, const char *nambeg, STRLEN full_len, const U32 is_utf8, const I32 add)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_PARSE_GV_STASH_NAME \
+ assert(stash); assert(gv); assert(name); assert(len); assert(nambeg)
+
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)
@@ -5717,6 +5894,11 @@ STATIC struct xpvhv_aux* S_hv_auxinit(pTHX_ HV *hv)
#define PERL_ARGS_ASSERT_HV_AUXINIT \
assert(hv)
+STATIC struct xpvhv_aux* S_hv_auxinit_internal(struct xpvhv_aux *iter)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_HV_AUXINIT_INTERNAL \
+ assert(iter)
+
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 SV* S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry)
__attribute__nonnull__(pTHX_1)
@@ -5742,7 +5924,7 @@ STATIC HE* S_new_he(pTHX)
__attribute__malloc__
__attribute__warn_unused_result__;
-STATIC U32 S_ptr_hash(PTRV u);
+PERL_STATIC_INLINE U32 S_ptr_hash(PTRV u);
STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE \
@@ -5778,24 +5960,35 @@ PERL_CALLCONV SV* Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
assert(hv); assert(indexp)
#endif
-#if defined(PERL_IN_LOCALE_C)
-# if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
+#if defined(PERL_IN_LOCALE_C) && defined(USE_LOCALE)
+STATIC bool S_is_cur_LC_category_utf8(pTHX_ int category);
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_MALLOC_C)
+STATIC int S_adjust_size_and_find_bucket(size_t *nbytes_p)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_ADJUST_SIZE_AND_FIND_BUCKET \
+ assert(nbytes_p)
+
#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)
+STATIC void S_fixup_errno_string(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FIXUP_ERRNO_STRING \
+ assert(sv)
+
+STATIC SV* S_magic_methcall1(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, int n, SV *val)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_MAGIC_METHCALL1 \
assert(sv); assert(mg); assert(meth)
-STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, const char *meth)
+STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, SV *meth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -5803,9 +5996,9 @@ STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, const char *meth)
assert(sv); assert(mg); assert(meth)
STATIC void S_restore_magic(pTHX_ const void *p);
-STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv)
+STATIC void S_save_magic_flags(pTHX_ I32 mgs_ix, SV *sv, U32 flags)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SAVE_MAGIC \
+#define PERL_ARGS_ASSERT_SAVE_MAGIC_FLAGS \
assert(sv)
STATIC void S_unwind_handler_stack(pTHX_ const void *p);
@@ -5819,7 +6012,7 @@ PERL_CALLCONV bool Perl_translate_substr_offsets(pTHX_ STRLEN curlen, IV pos1_iv
#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, U32 flags)
+STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions, U32 hash, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \
@@ -5856,19 +6049,19 @@ STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp
#define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \
assert(stash); assert(target); assert(imopsp)
-STATIC void S_bad_type_pv(pTHX_ I32 n, const char *t, const char *name, U32 flags, const OP *kid)
+STATIC void S_bad_type_gv(pTHX_ I32 n, const char *t, GV *gv, U32 flags, const OP *kid)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_BAD_TYPE_PV \
- assert(t); assert(name); assert(kid)
+#define PERL_ARGS_ASSERT_BAD_TYPE_GV \
+ assert(t); assert(gv); assert(kid)
-STATIC void S_bad_type_sv(pTHX_ I32 n, const char *t, SV *namesv, U32 flags, const OP *kid)
+STATIC void S_bad_type_pv(pTHX_ I32 n, const char *t, const char *name, U32 flags, const OP *kid)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_BAD_TYPE_SV \
- assert(t); assert(namesv); assert(kid)
+#define PERL_ARGS_ASSERT_BAD_TYPE_PV \
+ assert(t); assert(name); assert(kid)
STATIC void S_cop_free(pTHX_ COP *cop)
__attribute__nonnull__(pTHX_1);
@@ -5928,6 +6121,13 @@ STATIC bool S_looks_like_bool(pTHX_ const OP* o)
assert(o)
STATIC OP* S_modkids(pTHX_ OP *o, I32 type);
+STATIC void S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV *name)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MOVE_PROTO_ATTR \
+ assert(proto); assert(attrs); assert(name)
+
STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_MY_KID \
@@ -5959,6 +6159,11 @@ STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_NO_FH_ALLOWED \
assert(o)
+STATIC void S_null_listop_in_list_context(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NULL_LISTOP_IN_LIST_CONTEXT \
+ assert(o)
+
PERL_STATIC_INLINE OP* S_op_integerize(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_OP_INTEGERIZE \
@@ -6143,7 +6348,7 @@ PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, co
#endif
#if defined(PERL_IN_PP_CTL_C)
-STATIC SV ** S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags)
+STATIC SV ** S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags, bool lvalue)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -6220,10 +6425,10 @@ STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv)
STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize)
__attribute__warn_unused_result__;
-STATIC bool S_path_is_absolute(const char *name)
+PERL_STATIC_INLINE bool S_path_is_searchable(const char *name)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PATH_IS_ABSOLUTE \
+#define PERL_ARGS_ASSERT_PATH_IS_SEARCHABLE \
assert(name)
STATIC I32 S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
@@ -6264,7 +6469,7 @@ STATIC SV* S_method_common(pTHX_ SV* meth, U32* hashp)
#endif
#if defined(PERL_IN_PP_PACK_C)
-STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
+STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest, const bool needs_swap)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(3);
@@ -6410,10 +6615,9 @@ STATIC I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
#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)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_DOFORM \
- assert(cv); assert(gv); assert(retop)
+ assert(cv); assert(gv)
STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array)
__attribute__nonnull__(pTHX_1);
@@ -6433,71 +6637,40 @@ PERL_STATIC_INLINE UV* S__invlist_array_init(pTHX_ SV* const invlist, const bool
#define PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT \
assert(invlist)
-STATIC SV* S__new_invlist_C_array(pTHX_ UV* list)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY \
- assert(list)
-
PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp)
__attribute__warn_unused_result__;
-STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
+STATIC U32 S_add_data(RExC_state_t* const pRExC_state, const char* const s, const U32 n)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
- __attribute__nonnull__(3);
+ __attribute__nonnull__(2);
#define PERL_ARGS_ASSERT_ADD_DATA \
assert(pRExC_state); assert(s)
-PERL_STATIC_INLINE void S_alloc_maybe_populate_EXACT(pTHX_ struct RExC_state_t *pRExC_state, regnode *node, I32 *flagp, STRLEN len, UV code_point)
+PERL_STATIC_INLINE void S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t *pRExC_state, regnode *node, I32 *flagp, STRLEN len, UV code_point, bool downgradable)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT \
assert(pRExC_state); assert(node); assert(flagp)
-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 U8 S_compute_EXACTish(pTHX_ struct RExC_state_t *pRExC_state)
+PERL_STATIC_INLINE U8 S_compute_EXACTish(pTHX_ RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_COMPUTE_EXACTISH \
assert(pRExC_state)
-STATIC bool S_could_it_be_a_POSIX_class(pTHX_ struct RExC_state_t *pRExC_state)
+STATIC bool S_could_it_be_a_POSIX_class(pTHX_ RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_COULD_IT_BE_A_POSIX_CLASS \
assert(pRExC_state)
-PERL_STATIC_INLINE UV* S_get_invlist_iter_addr(pTHX_ SV* invlist)
+STATIC SV* S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state, const regnode_charclass* const node)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GET_ANYOF_CP_LIST_FOR_SSC \
+ assert(pRExC_state); assert(node)
+
+PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(pTHX_ SV* invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \
@@ -6509,25 +6682,13 @@ PERL_STATIC_INLINE IV* S_get_invlist_previous_index_addr(pTHX_ SV* invlist)
#define PERL_ARGS_ASSERT_GET_INVLIST_PREVIOUS_INDEX_ADDR \
assert(invlist)
-PERL_STATIC_INLINE UV* S_get_invlist_version_id_addr(pTHX_ SV* invlist)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_INVLIST_VERSION_ID_ADDR \
- assert(invlist)
-
-PERL_STATIC_INLINE UV* S_get_invlist_zero_addr(pTHX_ SV* invlist)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR \
- assert(invlist)
-
-STATIC bool S_grok_bslash_N(pTHX_ struct RExC_state_t *pRExC_state, regnode** nodep, UV *valuep, I32 *flagp, U32 depth, bool in_char_class, const bool strict)
+STATIC bool S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state, regnode** nodep, UV *valuep, I32 *flagp, U32 depth, bool in_char_class, const bool strict)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_GROK_BSLASH_N \
assert(pRExC_state); assert(flagp)
-STATIC regnode* S_handle_regex_sets(pTHX_ struct RExC_state_t *pRExC_state, SV ** return_invlist, I32 *flagp, U32 depth, char * const oregcomp_parse)
+STATIC regnode* S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV ** return_invlist, I32 *flagp, U32 depth, char * const oregcomp_parse)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_5);
@@ -6593,7 +6754,7 @@ PERL_STATIC_INLINE IV S_invlist_previous_index(pTHX_ SV* const invlist)
#define PERL_ARGS_ASSERT_INVLIST_PREVIOUS_INDEX \
assert(invlist)
-PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
+PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
assert(invlist)
@@ -6608,15 +6769,15 @@ PERL_STATIC_INLINE void S_invlist_trim(pTHX_ SV* const invlist)
#define PERL_ARGS_ASSERT_INVLIST_TRIM \
assert(invlist)
-STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *has_exactf_sharp_s, U32 flags, regnode *val, U32 depth)
+STATIC U32 S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *unfolded_multi_char, U32 flags, regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_JOIN_EXACT \
- assert(pRExC_state); assert(scan); assert(min_subtract); assert(has_exactf_sharp_s)
+ assert(pRExC_state); assert(scan); assert(min_subtract); assert(unfolded_multi_char)
-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_make_trie(pTHX_ 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)
@@ -6625,37 +6786,43 @@ STATIC I32 S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbra
#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)
+STATIC void S_make_trie_failtable(pTHX_ 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)
+STATIC char * S_nextchar(pTHX_ RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NEXTCHAR \
assert(pRExC_state)
-STATIC void S_parse_lparen_question_flags(pTHX_ struct RExC_state_t *pRExC_state)
+STATIC void S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS \
assert(pRExC_state)
-PERL_STATIC_NO_RET void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
- __attribute__noreturn__
+STATIC void S_populate_ANYOF_from_invlist(pTHX_ regnode *node, SV** invlist_ptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_POPULATE_ANYOF_FROM_INVLIST \
+ assert(node); assert(invlist_ptr)
+
+PERL_STATIC_NO_RET void S_re_croak2(pTHX_ bool utf8, const char* pat1, const char* pat2, ...)
+ __attribute__noreturn__
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
#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)
+STATIC regnode* S_reg(pTHX_ 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_node(pTHX_ struct RExC_state_t *pRExC_state, U8 op)
+STATIC regnode* S_reg_node(pTHX_ RExC_state_t *pRExC_state, U8 op)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NODE \
assert(pRExC_state)
@@ -6665,91 +6832,168 @@ STATIC UV S_reg_recode(pTHX_ const char value, SV **encp)
#define PERL_ARGS_ASSERT_REG_RECODE \
assert(encp)
-STATIC SV * S_reg_scan_name(pTHX_ struct RExC_state_t *pRExC_state, U32 flags)
+STATIC SV * S_reg_scan_name(pTHX_ 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)
+STATIC bool S_reg_skipcomment(pTHX_ 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)
+STATIC regnode* S_reganode(pTHX_ 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)
+STATIC regnode* S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_REGATOM \
assert(pRExC_state); assert(flagp)
-STATIC regnode* S_regbranch(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
+STATIC regnode* S_regbranch(pTHX_ 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, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, SV** ret_invlist)
+STATIC regnode* S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, SV** ret_invlist)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_REGCLASS \
assert(pRExC_state); assert(flagp)
-STATIC void S_reginsert(pTHX_ struct RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth)
+STATIC void S_reginsert(pTHX_ RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_REGINSERT \
assert(pRExC_state); assert(opnd)
-STATIC char * S_regpatws(struct RExC_state_t *pRExC_state, char *p, const bool recognize_comment)
+STATIC char * S_regpatws(RExC_state_t *pRExC_state, char *p, const bool recognize_comment)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(2);
#define PERL_ARGS_ASSERT_REGPATWS \
assert(pRExC_state); assert(p)
-STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
+STATIC regnode* S_regpiece(pTHX_ 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)
-PERL_STATIC_INLINE I32 S_regpposixcc(pTHX_ struct RExC_state_t *pRExC_state, I32 value, const bool strict)
+PERL_STATIC_INLINE I32 S_regpposixcc(pTHX_ RExC_state_t *pRExC_state, I32 value, const bool strict)
__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)
+STATIC void S_regtail(pTHX_ 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_REGTAIL \
assert(pRExC_state); assert(p); assert(val)
-STATIC STRLEN S_reguni(pTHX_ const struct RExC_state_t *pRExC_state, UV uv, char *s)
+PERL_STATIC_INLINE STRLEN S_reguni(pTHX_ const RExC_state_t *pRExC_state, UV uv, char *s)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_REGUNI \
assert(pRExC_state); assert(s)
-STATIC char * S_regwhite(struct RExC_state_t *pRExC_state, char *p)
+STATIC char * S_regwhite(RExC_state_t *pRExC_state, char *p)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(2);
#define PERL_ARGS_ASSERT_REGWHITE \
assert(pRExC_state); assert(p)
-STATIC void S_scan_commit(pTHX_ const struct RExC_state_t *pRExC_state, struct scan_data_t *data, I32 *minlenp, int is_inf)
+STATIC void S_scan_commit(pTHX_ const RExC_state_t *pRExC_state, struct scan_data_t *data, SSize_t *minlenp, int is_inf)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_SCAN_COMMIT \
assert(pRExC_state); assert(data); assert(minlenp)
-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)
+STATIC void S_set_ANYOF_arg(pTHX_ RExC_state_t* const pRExC_state, regnode* const node, SV* const cp_list, SV* const runtime_defns, SV* const only_utf8_locale_list, SV* const swash, const bool has_user_defined_property)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SET_ANYOF_ARG \
+ assert(pRExC_state); assert(node)
+
+PERL_STATIC_INLINE void S_ssc_add_range(pTHX_ regnode_ssc *ssc, UV const start, UV const end)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SSC_ADD_RANGE \
+ assert(ssc)
+
+STATIC void S_ssc_and(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *and_with)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SSC_AND \
+ assert(pRExC_state); assert(ssc); assert(and_with)
+
+STATIC void S_ssc_anything(pTHX_ regnode_ssc *ssc)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SSC_ANYTHING \
+ assert(ssc)
+
+PERL_STATIC_INLINE void S_ssc_clear_locale(pTHX_ regnode_ssc *ssc)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SSC_CLEAR_LOCALE \
+ assert(ssc)
+
+PERL_STATIC_INLINE void S_ssc_cp_and(pTHX_ regnode_ssc *ssc, UV const cp)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SSC_CP_AND \
+ assert(ssc)
+
+STATIC void S_ssc_finalize(pTHX_ RExC_state_t *pRExC_state, regnode_ssc *ssc)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SSC_FINALIZE \
+ assert(pRExC_state); assert(ssc)
+
+STATIC void S_ssc_init(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SSC_INIT \
+ assert(pRExC_state); assert(ssc)
+
+PERL_STATIC_INLINE void S_ssc_intersection(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SSC_INTERSECTION \
+ assert(ssc); assert(invlist)
+
+STATIC int S_ssc_is_anything(pTHX_ const regnode_ssc *ssc)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SSC_IS_ANYTHING \
+ assert(ssc)
+
+STATIC int S_ssc_is_cp_posixl_init(pTHX_ const RExC_state_t *pRExC_state, const regnode_ssc *ssc)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SSC_IS_CP_POSIXL_INIT \
+ assert(pRExC_state); assert(ssc)
+
+STATIC void S_ssc_or(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *or_with)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SSC_OR \
+ assert(pRExC_state); assert(ssc); assert(or_with)
+
+PERL_STATIC_INLINE void S_ssc_union(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SSC_UNION \
+ assert(ssc); assert(invlist)
+
+STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
@@ -6759,13 +7003,31 @@ STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp
assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
-PERL_STATIC_INLINE UV* S__get_invlist_len_addr(pTHX_ SV* invlist)
+#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
+PERL_CALLCONV void Perl__invlist_dump(pTHX_ PerlIO *file, I32 level, const char* const indent, SV* const invlist)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_DUMP \
+ assert(file); assert(indent); assert(invlist)
+
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
+PERL_CALLCONV SV* Perl__new_invlist_C_array(pTHX_ const UV* const list)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__GET_INVLIST_LEN_ADDR \
- assert(invlist)
+#define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY \
+ assert(list)
+
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+PERL_CALLCONV SV* Perl__get_regclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__GET_REGCLASS_NONBITMAP_DATA \
+ assert(node)
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
PERL_CALLCONV SV* Perl__get_swash_invlist(pTHX_ SV* const swash)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -6802,6 +7064,12 @@ PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV* const swash)
#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
assert(swash)
+PERL_STATIC_INLINE bool* S_get_invlist_offset_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR \
+ assert(invlist)
+
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
PERL_CALLCONV SV* Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none, SV* invlist, U8* const flags_p)
@@ -6820,7 +7088,7 @@ STATIC char* S_form_short_octal_warning(pTHX_ const char * const s, const STRLEN
#define PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING \
assert(s)
-STATIC char S_grok_bslash_c(pTHX_ const char source, const bool utf8, const bool output_warning)
+STATIC char S_grok_bslash_c(pTHX_ const char source, const bool output_warning)
__attribute__warn_unused_result__;
STATIC bool S_grok_bslash_o(pTHX_ char** s, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
@@ -6856,7 +7124,7 @@ PERL_CALLCONV SV* Perl__add_range_to_invlist(pTHX_ SV* invlist, const UV start,
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3); */
-PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** i)
+PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** i)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND \
@@ -6867,11 +7135,6 @@ PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist)
#define PERL_ARGS_ASSERT__INVLIST_INVERT \
assert(invlist)
-PERL_CALLCONV void Perl__invlist_invert_prop(pTHX_ SV* const invlist)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__INVLIST_INVERT_PROP \
- assert(invlist)
-
PERL_CALLCONV void Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const UV start, const UV end, U8* swatch)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_4);
@@ -6887,7 +7150,7 @@ PERL_CALLCONV void Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3); */
-PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** output)
+PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** output)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \
@@ -6896,6 +7159,12 @@ PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, S
PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size)
__attribute__warn_unused_result__;
+PERL_CALLCONV SV* Perl__setup_canned_invlist(pTHX_ const STRLEN size, const UV element0, UV** other_elements_ptr)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__SETUP_CANNED_INVLIST \
+ assert(other_elements_ptr)
+
PERL_CALLCONV SV* Perl__swash_to_invlist(pTHX_ SV* const swash)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -6904,13 +7173,7 @@ PERL_CALLCONV SV* Perl__swash_to_invlist(pTHX_ SV* const swash)
#endif
#if defined(PERL_IN_REGEXEC_C)
-STATIC SV* S_core_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_CORE_REGCLASS_SWASH \
- assert(node)
-
-STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo, bool is_utf_pat)
+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)
@@ -6946,28 +7209,37 @@ STATIC CHECKPOINT S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxop
#define PERL_ARGS_ASSERT_REGCPPUSH \
assert(rex)
-STATIC U8* S_reghop3(U8 *s, I32 off, const U8 *lim)
+STATIC U8* S_reghop3(U8 *s, SSize_t off, const U8 *lim)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(3);
#define PERL_ARGS_ASSERT_REGHOP3 \
assert(s); assert(lim)
-STATIC U8* S_reghopmaybe3(U8 *s, I32 off, const U8 *lim)
+STATIC U8* S_reghop4(U8 *s, SSize_t off, const U8 *llim, const U8 *rlim)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3)
+ __attribute__nonnull__(4);
+#define PERL_ARGS_ASSERT_REGHOP4 \
+ assert(s); assert(llim); assert(rlim)
+
+STATIC U8* S_reghopmaybe3(U8 *s, SSize_t off, const U8 *lim)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(3);
#define PERL_ARGS_ASSERT_REGHOPMAYBE3 \
assert(s); assert(lim)
-STATIC bool S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8 * const p, bool const utf8_target)
+STATIC bool S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8 * const p, const U8 * const p_end, bool const utf8_target)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_REGINCLASS \
- assert(n); assert(p)
+ assert(n); assert(p); assert(p_end)
-STATIC I32 S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
+STATIC SSize_t S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -6975,13 +7247,14 @@ STATIC I32 S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *pro
#define PERL_ARGS_ASSERT_REGMATCH \
assert(reginfo); assert(startpos); assert(prog)
-STATIC I32 S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, I32 max, int depth, bool is_utf8_pat)
+STATIC I32 S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, regmatch_info *const reginfo, I32 max, int depth)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_REGREPEAT \
- assert(prog); assert(startposp); assert(p)
+ assert(prog); assert(startposp); assert(p); assert(reginfo)
STATIC I32 S_regtry(pTHX_ regmatch_info *reginfo, char **startposp)
__attribute__warn_unused_result__
@@ -7000,16 +7273,6 @@ STATIC void S_to_utf8_substr(pTHX_ regexp * prog)
#define PERL_ARGS_ASSERT_TO_UTF8_SUBSTR \
assert(prog)
-# 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)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4);
-#define PERL_ARGS_ASSERT_REGHOP4 \
- assert(s); assert(llim); assert(rlim)
-
-# endif
#endif
#if defined(PERL_IN_SCOPE_C)
STATIC void S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2, const int type);
@@ -7233,7 +7496,7 @@ STATIC char* S_force_version(pTHX_ char *s, int guessing)
#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)
+STATIC char* S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FORCE_WORD \
assert(start)
@@ -7287,7 +7550,6 @@ STATIC void S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_pa
assert(s); assert(d); assert(e)
STATIC int S_pending_ident(pTHX);
-STATIC void S_readpipe_override(pTHX);
STATIC char* S_scan_const(pTHX_ char *start)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -7306,12 +7568,11 @@ STATIC char* S_scan_heredoc(pTHX_ char *s)
#define PERL_ARGS_ASSERT_SCAN_HEREDOC \
assert(s)
-STATIC char* S_scan_ident(pTHX_ char *s, const char *send, char *dest, STRLEN destlen, I32 ck_uni)
+STATIC char* S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SCAN_IDENT \
- assert(s); assert(send); assert(dest)
+ assert(s); assert(dest)
STATIC char* S_scan_inputsymbol(pTHX_ char *start)
__attribute__warn_unused_result__
@@ -7325,7 +7586,7 @@ STATIC char* S_scan_pat(pTHX_ char *start, I32 type)
#define PERL_ARGS_ASSERT_SCAN_PAT \
assert(start)
-STATIC char* S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims, int re_reparse, bool deprecate_escaped_matching)
+STATIC char* S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims, int re_reparse, bool deprecate_escaped_matching, char **delimp)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SCAN_STR \
@@ -7350,10 +7611,10 @@ 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 char* S_skipspace(pTHX_ char *s)
+STATIC char* S_skipspace_flags(pTHX_ char *s, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SKIPSPACE \
+#define PERL_ARGS_ASSERT_SKIPSPACE_FLAGS \
assert(s)
STATIC I32 S_sublex_done(pTHX)
@@ -7431,7 +7692,7 @@ PERL_STATIC_INLINE STRLEN S_is_utf8_char_slow(const U8 *s, const STRLEN len)
#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_SLOW \
assert(s)
-PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname)
+PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname, SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -7458,7 +7719,7 @@ PERL_CALLCONV UV Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *le
#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-PERL_CALLCONV UV Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const bool flags)
+PERL_CALLCONV UV Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT__TO_FOLD_LATIN1 \
@@ -7467,11 +7728,6 @@ PERL_CALLCONV UV Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, con
#endif
#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_CLOSEST_COP \
- assert(cop)
-
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)
@@ -7612,78 +7868,6 @@ PERL_CALLCONV void Perl_xmldump_vindent(pTHX_ I32 level, PerlIO *file, const cha
assert(file); assert(pat)
#endif
-#if defined(PERL_NEED_MY_BETOH16)
-PERL_CALLCONV U16 Perl_my_betoh16(U16 n);
-#endif
-#if defined(PERL_NEED_MY_BETOH32)
-PERL_CALLCONV U32 Perl_my_betoh32(U32 n);
-#endif
-#if defined(PERL_NEED_MY_BETOH64)
-PERL_CALLCONV U64 Perl_my_betoh64(U64 n);
-#endif
-#if defined(PERL_NEED_MY_BETOHI)
-PERL_CALLCONV int Perl_my_betohi(int n);
-#endif
-#if defined(PERL_NEED_MY_BETOHL)
-PERL_CALLCONV long Perl_my_betohl(long n);
-#endif
-#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
-#if defined(PERL_NEED_MY_HTOBE32)
-PERL_CALLCONV U32 Perl_my_htobe32(U32 n);
-#endif
-#if defined(PERL_NEED_MY_HTOBE64)
-PERL_CALLCONV U64 Perl_my_htobe64(U64 n);
-#endif
-#if defined(PERL_NEED_MY_HTOBEI)
-PERL_CALLCONV int Perl_my_htobei(int n);
-#endif
-#if defined(PERL_NEED_MY_HTOBEL)
-PERL_CALLCONV long Perl_my_htobel(long n);
-#endif
-#if defined(PERL_NEED_MY_HTOBES)
-PERL_CALLCONV short Perl_my_htobes(short n);
-#endif
-#if defined(PERL_NEED_MY_HTOLE16)
-PERL_CALLCONV U16 Perl_my_htole16(U16 n);
-#endif
-#if defined(PERL_NEED_MY_HTOLE32)
-PERL_CALLCONV U32 Perl_my_htole32(U32 n);
-#endif
-#if defined(PERL_NEED_MY_HTOLE64)
-PERL_CALLCONV U64 Perl_my_htole64(U64 n);
-#endif
-#if defined(PERL_NEED_MY_HTOLEI)
-PERL_CALLCONV int Perl_my_htolei(int n);
-#endif
-#if defined(PERL_NEED_MY_HTOLEL)
-PERL_CALLCONV long Perl_my_htolel(long n);
-#endif
-#if defined(PERL_NEED_MY_HTOLES)
-PERL_CALLCONV short Perl_my_htoles(short n);
-#endif
-#if defined(PERL_NEED_MY_LETOH16)
-PERL_CALLCONV U16 Perl_my_letoh16(U16 n);
-#endif
-#if defined(PERL_NEED_MY_LETOH32)
-PERL_CALLCONV U32 Perl_my_letoh32(U32 n);
-#endif
-#if defined(PERL_NEED_MY_LETOH64)
-PERL_CALLCONV U64 Perl_my_letoh64(U64 n);
-#endif
-#if defined(PERL_NEED_MY_LETOHI)
-PERL_CALLCONV int Perl_my_letohi(int n);
-#endif
-#if defined(PERL_NEED_MY_LETOHL)
-PERL_CALLCONV long Perl_my_letohl(long n);
-#endif
-#if defined(PERL_NEED_MY_LETOHS)
-PERL_CALLCONV short Perl_my_letohs(short n);
-#endif
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
STATIC void S_pidgone(pTHX_ Pid_t pid, int status);
#endif
@@ -7860,7 +8044,7 @@ PERL_CALLCONV char* Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp
assert(sv); assert(nxp)
#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
+#if defined(USE_PERLIO)
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);
@@ -7869,10 +8053,10 @@ 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)
+PERL_CALLCONV SSize_t Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f)
__attribute__warn_unused_result__;
-PERL_CALLCONV int Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
+PERL_CALLCONV SSize_t Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
__attribute__warn_unused_result__;
PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f);
@@ -7882,8 +8066,8 @@ PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *vbuf, Size_t count
assert(vbuf)
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_set_cnt(pTHX_ PerlIO *f, SSize_t cnt);
+PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, SSize_t cnt);
PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX)
__attribute__warn_unused_result__;
@@ -7907,6 +8091,9 @@ PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *vbuf, Size_
#endif
#if defined(WIN32)
+PERL_CALLCONV char* Perl_my_setlocale(pTHX_ int category, const char* locale)
+ __attribute__pure__;
+
PERL_CALLCONV_NO_RET void win32_croak_not_implemented(const char * fname)
__attribute__noreturn__
__attribute__nonnull__(1);
diff --git a/Master/tlpkg/tlperl/lib/CORE/reentr.h b/Master/tlpkg/tlperl/lib/CORE/reentr.h
index 3510fc55457..c268851922c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/reentr.h
+++ b/Master/tlpkg/tlperl/lib/CORE/reentr.h
@@ -41,13 +41,11 @@
#ifdef __hpux
# undef HAS_CRYPT_R
-# undef HAS_DRAND48_R
# undef HAS_ENDGRENT_R
# undef HAS_ENDPWENT_R
# undef HAS_GETGRENT_R
# undef HAS_GETPWENT_R
# undef HAS_SETLOCALE_R
-# undef HAS_SRAND48_R
# undef HAS_STRERROR_R
# define NETDB_R_OBSOLETE
#endif
@@ -101,9 +99,6 @@
#ifdef I_NETDB
# include <netdb.h>
#endif
-#ifdef I_STDLIB
-# include <stdlib.h> /* drand48_data */
-#endif
#ifdef I_CRYPT
# ifdef I_CRYPT
# include <crypt.h>
@@ -150,48 +145,43 @@
#define REENTRANT_PROTO_I_ISD 33
#define REENTRANT_PROTO_I_LISBI 34
#define REENTRANT_PROTO_I_LISD 35
-#define REENTRANT_PROTO_I_LS 36
-#define REENTRANT_PROTO_I_SB 37
-#define REENTRANT_PROTO_I_SBI 38
-#define REENTRANT_PROTO_I_SBIE 39
-#define REENTRANT_PROTO_I_SBIH 40
-#define REENTRANT_PROTO_I_SBIR 41
-#define REENTRANT_PROTO_I_SBWR 42
-#define REENTRANT_PROTO_I_SBWRE 43
-#define REENTRANT_PROTO_I_SD 44
-#define REENTRANT_PROTO_I_ST 45
-#define REENTRANT_PROTO_I_St 46
-#define REENTRANT_PROTO_I_TISD 47
-#define REENTRANT_PROTO_I_TS 48
-#define REENTRANT_PROTO_I_TSBI 49
-#define REENTRANT_PROTO_I_TSBIR 50
-#define REENTRANT_PROTO_I_TSBWR 51
-#define REENTRANT_PROTO_I_TSR 52
-#define REENTRANT_PROTO_I_TsISBWRE 53
-#define REENTRANT_PROTO_I_UISBWRE 54
-#define REENTRANT_PROTO_I_iS 55
-#define REENTRANT_PROTO_I_lS 56
-#define REENTRANT_PROTO_I_uISBWRE 57
-#define REENTRANT_PROTO_S_CBI 58
-#define REENTRANT_PROTO_S_CCSBI 59
-#define REENTRANT_PROTO_S_CIISBIE 60
-#define REENTRANT_PROTO_S_CSBI 61
-#define REENTRANT_PROTO_S_CSBIE 62
-#define REENTRANT_PROTO_S_CWISBIE 63
-#define REENTRANT_PROTO_S_CWISBWIE 64
-#define REENTRANT_PROTO_S_ICSBI 65
-#define REENTRANT_PROTO_S_ISBI 66
-#define REENTRANT_PROTO_S_LISBI 67
-#define REENTRANT_PROTO_S_SBI 68
-#define REENTRANT_PROTO_S_SBIE 69
-#define REENTRANT_PROTO_S_SBW 70
-#define REENTRANT_PROTO_S_TISBI 71
-#define REENTRANT_PROTO_S_TSBI 72
-#define REENTRANT_PROTO_S_TSBIE 73
-#define REENTRANT_PROTO_S_TWISBIE 74
-#define REENTRANT_PROTO_V_D 75
-#define REENTRANT_PROTO_V_H 76
-#define REENTRANT_PROTO_V_ID 77
+#define REENTRANT_PROTO_I_SB 36
+#define REENTRANT_PROTO_I_SBI 37
+#define REENTRANT_PROTO_I_SBIE 38
+#define REENTRANT_PROTO_I_SBIH 39
+#define REENTRANT_PROTO_I_SBIR 40
+#define REENTRANT_PROTO_I_SBWR 41
+#define REENTRANT_PROTO_I_SBWRE 42
+#define REENTRANT_PROTO_I_SD 43
+#define REENTRANT_PROTO_I_TISD 44
+#define REENTRANT_PROTO_I_TS 45
+#define REENTRANT_PROTO_I_TSBI 46
+#define REENTRANT_PROTO_I_TSBIR 47
+#define REENTRANT_PROTO_I_TSBWR 48
+#define REENTRANT_PROTO_I_TSR 49
+#define REENTRANT_PROTO_I_TsISBWRE 50
+#define REENTRANT_PROTO_I_UISBWRE 51
+#define REENTRANT_PROTO_I_uISBWRE 52
+#define REENTRANT_PROTO_S_CBI 53
+#define REENTRANT_PROTO_S_CCSBI 54
+#define REENTRANT_PROTO_S_CIISBIE 55
+#define REENTRANT_PROTO_S_CSBI 56
+#define REENTRANT_PROTO_S_CSBIE 57
+#define REENTRANT_PROTO_S_CWISBIE 58
+#define REENTRANT_PROTO_S_CWISBWIE 59
+#define REENTRANT_PROTO_S_ICSBI 60
+#define REENTRANT_PROTO_S_ISBI 61
+#define REENTRANT_PROTO_S_LISBI 62
+#define REENTRANT_PROTO_S_SBI 63
+#define REENTRANT_PROTO_S_SBIE 64
+#define REENTRANT_PROTO_S_SBW 65
+#define REENTRANT_PROTO_S_TISBI 66
+#define REENTRANT_PROTO_S_TSBI 67
+#define REENTRANT_PROTO_S_TSBIE 68
+#define REENTRANT_PROTO_S_TWISBIE 69
+#define REENTRANT_PROTO_V_D 70
+#define REENTRANT_PROTO_V_H 71
+#define REENTRANT_PROTO_V_ID 72
/* Defines for indicating which special features are supported. */
@@ -639,10 +629,6 @@ typedef struct {
char* _ctime_buffer;
size_t _ctime_size;
#endif /* HAS_CTIME_R */
-#ifdef HAS_DRAND48_R
- struct drand48_data _drand48_struct;
- double _drand48_double;
-#endif /* HAS_DRAND48_R */
#ifdef HAS_GETGRNAM_R
struct group _grent_struct;
char* _grent_buffer;
@@ -740,18 +726,6 @@ typedef struct {
FILE* _spent_fptr;
# endif
#endif /* HAS_GETSPNAM_R */
-#ifdef HAS_RANDOM_R
- struct random_data _random_struct;
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
- int _random_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
- long _random_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_St
- int32_t _random_retval;
-# endif
-#endif /* HAS_RANDOM_R */
#ifdef HAS_READDIR_R
struct dirent* _readdir_struct;
size_t _readdir_size;
@@ -770,9 +744,6 @@ typedef struct {
char* _setlocale_buffer;
size_t _setlocale_size;
#endif /* HAS_SETLOCALE_R */
-#ifdef HAS_SRANDOM_R
- struct random_data _srandom_struct;
-#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
char* _strerror_buffer;
size_t _strerror_size;
@@ -844,15 +815,6 @@ typedef struct {
# endif
#endif /* HAS_CTIME_R */
-#ifdef HAS_DRAND48_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef drand48
-# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
-# define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
-# endif
-# endif
-#endif /* HAS_DRAND48_R */
-
#ifdef HAS_ENDGRENT_R
# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
# undef endgrent
@@ -1324,21 +1286,6 @@ typedef struct {
# endif
#endif /* HAS_GETSPNAM_R */
-#ifdef HAS_RANDOM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef random
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
-# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
-# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_St
-# define random() (random_r(&PL_reentrant_buffer->_random_struct, &PL_reentrant_buffer->_random_retval) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif
-# endif
-#endif /* HAS_RANDOM_R */
-
#ifdef HAS_READDIR_R
# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
# undef readdir
@@ -1444,24 +1391,6 @@ typedef struct {
# endif
#endif /* HAS_SETSERVENT_R */
-#ifdef HAS_SRAND48_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef srand48
-# if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
-# define srand48(a) (srand48_r(a, &PL_reentrant_buffer->_drand48_struct) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
-# endif
-# endif
-#endif /* HAS_SRAND48_R */
-
-#ifdef HAS_SRANDOM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef srandom
-# if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
-# define srandom(a) (srandom_r(a, &PL_reentrant_buffer->_srandom_struct) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
-# endif
-# endif
-#endif /* HAS_SRANDOM_R */
-
#ifdef HAS_STRERROR_R
# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
# undef strerror
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
index e51fe64af40..5e34ec0d916 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
@@ -10,6 +10,8 @@
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by regen/regcharclass.pl.
* Any changes made here will be lost!
+ * WARNING: These macros are for internal Perl core use only, and may be
+ * changed or removed without notice.
*/
@@ -23,84 +25,57 @@
\p{VertSpace}
*/
/*** GENERATED CODE ***/
-#define is_LNBREAK(s,is_utf8) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
-: ( 0x85 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
#define is_LNBREAK_safe(s,e,is_utf8) \
( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
+ : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
- : ( 0x85 == ((U8*)s)[0] ) ) \
+ ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+ : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+ : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
+ : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
: ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
+ ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
+ : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
: ( !( is_utf8 ) ) ? \
- ( 0x85 == ((U8*)s)[0] ) \
+ ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
: 0 ) \
: 0 )
/*** GENERATED CODE ***/
-#define is_LNBREAK_utf8(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
#define is_LNBREAK_utf8_safe(s,e) \
( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
+ : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
+ : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+ : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
+ : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
+ : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
: ((e)-(s) > 0) ? \
- ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_latin1(s) \
-( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
+ ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
: 0 )
/*** GENERATED CODE ***/
#define is_LNBREAK_latin1_safe(s,e) \
( ((e)-(s) > 1) ? \
- ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
+ ( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
+ : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
: 0 ) \
: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
+ ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
: 0 )
/*
@@ -109,142 +84,21 @@
\p{HorizSpace}
*/
/*** GENERATED CODE ***/
-#define is_HORIZWS(s,is_utf8) \
-( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: ( 0xA0 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : ( 0xA0 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0xA0 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( !( is_utf8 ) ) ? \
- ( 0xA0 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_utf8(s) \
-( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_utf8_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: ((e)-(s) > 1) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
-: ((e)-(s) > 0) ? \
- ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_latin1(s) \
-( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_latin1_safe(s,e) \
-( ((e)-(s) > 0) ? \
- ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) ) \
-: 0 )
-
-/*** GENERATED CODE ***/
#define is_HORIZWS_high(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_high_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_cp(cp) \
-( 0x09 == cp || ( 0x09 < cp && \
-( 0x20 == cp || ( 0x20 < cp && \
-( 0xA0 == cp || ( 0xA0 < cp && \
-( 0x1680 == cp || ( 0x1680 < cp && \
-( 0x180E == cp || ( 0x180E < cp && \
-( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
-( 0x202F == cp || ( 0x202F < cp && \
-( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
/*** GENERATED CODE ***/
#define is_HORIZWS_cp_high(cp) \
-( 0x1680 == cp || ( 0x1680 < cp && \
-( 0x180E == cp || ( 0x180E < cp && \
-( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
-( 0x202F == cp || ( 0x202F < cp && \
-( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) )
+( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) && \
+( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
+( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) && \
+( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) )
/*
VERTWS: Vertical Whitespace: \v \V
@@ -252,83 +106,12 @@
\p{VertSpace}
*/
/*** GENERATED CODE ***/
-#define is_VERTWS(s,is_utf8) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
-: ( 0x85 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( !( is_utf8 ) ) ? \
- ( 0x85 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_utf8(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_utf8_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
-: ((e)-(s) > 0) ? \
- ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
-: 0 )
-
-/*** GENERATED CODE ***/
#define is_VERTWS_high(s) \
-( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_high_safe(s,e) \
-( ( ( ( ((e)-(s) > 2) && ( 0xE2 == ((U8*)s)[0] ) ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_latin1(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_latin1_safe(s,e) \
-( ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_cp(cp) \
-( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
-( 0x85 == cp || ( 0x85 < cp && \
-( 0x2028 == cp || 0x2029 == cp ) ) ) ) )
+( ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
/*** GENERATED CODE ***/
#define is_VERTWS_cp_high(cp) \
-( 0x2028 == cp || 0x2029 == cp )
+( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) )
/*
XDIGIT: Hexadecimal digits
@@ -336,26 +119,17 @@
\p{XDigit}
*/
/*** GENERATED CODE ***/
-#define is_XDIGIT_utf8(s) \
-( ( ( 0x30 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x39 ) || ( 0x41 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x46 ) || ( 0x61 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x66 ) ) ? 1\
-: ( 0xEF == ((U8*)s)[0] ) ? \
- ( ( 0xBC == ((U8*)s)[1] ) ? \
- ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
- : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
-: 0 )
-
-/*** GENERATED CODE ***/
#define is_XDIGIT_high(s) \
-( ( 0xEF == ((U8*)s)[0] ) ? \
- ( ( 0xBC == ((U8*)s)[1] ) ? \
- ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
- : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
+( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
+ : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
: 0 )
/*** GENERATED CODE ***/
#define is_XDIGIT_cp_high(cp) \
-( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
-( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
+( ( 0xFF10 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF19 ) || ( 0xFF19 < NATIVE_TO_UNI(cp) &&\
+( ( 0xFF21 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF26 ) || ( 0xFF41 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF46 ) ) ) )
/*
XPERLSPACE: \p{XPerlSpace}
@@ -363,58 +137,23 @@
\p{XPerlSpace}
*/
/*** GENERATED CODE ***/
-#define is_XPERLSPACE(s,is_utf8) \
-( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: ( 0x85 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_XPERLSPACE_utf8(s) \
-( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
-
-/*** GENERATED CODE ***/
#define is_XPERLSPACE_high(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
/*** GENERATED CODE ***/
#define is_XPERLSPACE_cp_high(cp) \
-( 0x1680 == cp || ( 0x1680 < cp && \
-( 0x180E == cp || ( 0x180E < cp && \
-( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
-( 0x2028 == cp || ( 0x2028 < cp && \
-( 0x2029 == cp || ( 0x2029 < cp && \
-( 0x202F == cp || ( 0x202F < cp && \
-( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) && \
+( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
+( 0x2028 == NATIVE_TO_UNI(cp) || ( 0x2028 < NATIVE_TO_UNI(cp) && \
+( 0x2029 == NATIVE_TO_UNI(cp) || ( 0x2029 < NATIVE_TO_UNI(cp) && \
+( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) && \
+( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
/*
REPLACEMENT: Unicode REPLACEMENT CHARACTER
@@ -423,7 +162,7 @@
*/
/*** GENERATED CODE ***/
#define is_REPLACEMENT_utf8_safe(s,e) \
-( ( ( ( ((e)-(s) > 2) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
+( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
/*
NONCHAR: Non character code points
@@ -432,15 +171,15 @@
*/
/*** GENERATED CODE ***/
#define is_NONCHAR_utf8(s) \
-( ( 0xEF == ((U8*)s)[0] ) ? \
- ( ( 0xB7 == ((U8*)s)[1] ) ? \
- ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \
- : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \
-: ( 0xF0 == ((U8*)s)[0] ) ? \
- ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
-: ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \
- ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
-: ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
+( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ? 3 : 0 )\
+ : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ) ? 3 : 0 )\
+: ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) == 0x9F || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xEF ) == 0xAF ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
+: ( 0xF1 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0xF3 ) ?\
+ ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xCF ) == 0x8F ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
+: ( ( ( ( 0xF4 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )
/*
SURROGATE: Surrogate characters
@@ -449,7 +188,7 @@
*/
/*** GENERATED CODE ***/
#define is_SURROGATE_utf8(s) \
-( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
+( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xA0 ) ) ? 3 : 0 )
/*
GCB_L: Grapheme_Cluster_Break=L
@@ -458,11 +197,11 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_L_utf8(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x84 == ((U8*)s)[1] ) ? \
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
3 \
- : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \
-: ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
+ : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ) ? 3 : 0 )\
+: ( ( ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ) ? 3 : 0 )
/*
GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
@@ -471,22 +210,22 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_LV_LVT_V_utf8(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
- : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
-: ( 0xEA == ((U8*)s)[0] ) ? \
- ( ( ((U8*)s)[1] >= 0xB0 ) ? \
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 ) \
+ : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
+: ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ? \
3 \
: 0 ) \
-: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
+: ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
3 \
-: ( 0xED == ((U8*)s)[0] ) ? \
- ( ( ((U8*)s)[1] <= 0x9D ) ? \
+: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ? \
3 \
- : ( 0x9E == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
- : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
+ : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
+ : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
: 0 )
/*
@@ -505,7 +244,7 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_RI_utf8(s) \
-( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
+( ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
/*
GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
@@ -514,25 +253,25 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFC ) == 0x84 ) ? \
3 \
: 0 ) \
-: ( 0xEA == ((U8*)s)[0] ) ? \
- ( ( 0xA5 == ((U8*)s)[1] ) ? \
- ( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 ) \
- : ( ((U8*)s)[1] >= 0xB0 ) ? \
+: ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ? 3 : 0 )\
+ : ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ? \
3 \
: 0 ) \
-: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
+: ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
3 \
-: ( 0xED == ((U8*)s)[0] ) ? \
- ( ( ((U8*)s)[1] <= 0x9D ) ? \
+: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ? \
3 \
- : ( 0x9E == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
- : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
-: ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
+ : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
+ : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ) ? 3 : 0 )\
+: ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
/*
GCB_T: Grapheme_Cluster_Break=T
@@ -541,13 +280,13 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_T_utf8(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x86 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 ) \
- : ( 0x87 == ((U8*)s)[1] ) ? \
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA8 ) ? 3 : 0 ) \
+ : ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
3 \
: 0 ) \
-: ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
+: ( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ? 3 : 0 )
/*
GCB_V: Grapheme_Cluster_Break=V
@@ -556,14 +295,14 @@
*/
/*** GENERATED CODE ***/
#define is_GCB_V_utf8(s) \
-( ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
- : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
-: ( 0xED == ((U8*)s)[0] ) ? \
- ( ( 0x9E == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \
- : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
+( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 ) \
+ : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
+: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ? 3 : 0 ) \
+ : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
: 0 )
/*
@@ -573,49 +312,51 @@
*/
/*** GENERATED CODE ***/
#define is_QUOTEMETA_high(s) \
-( ( 0xCD == ((U8*)s)[0] ) ? \
- ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0x9E == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
- : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \
- : ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
- : ( 0x86 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 ) \
- : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
+( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xD8 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x9C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
+ : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
+ : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8E ) ) ? 3 : 0 )\
+: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBE ) ? 3 : 0 ) \
+ : ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x93 ) || ( 0x95 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ) ? 3 : 0 )\
+ : ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x90 ) ? 3 : 0 ) \
+ : ( ( 0x87 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x90 ) || ( 0x94 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9C ) || ( 0x9F <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0xAF ) || ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFE ) == 0xB8 ) ?\
3 \
- : ( 0x91 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \
- : ( 0x9D == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 ) \
- : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 ) \
-: ( 0xE3 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: ( 0xEF == ((U8*)s)[0] ) ? \
- ( ( 0xB4 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \
- : ( 0xB8 == ((U8*)s)[1] ) ? \
- ( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 ) \
- : ( 0xB9 == ((U8*)s)[1] ) ? \
- ( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xBB == ((U8*)s)[1] ) ? \
- ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xBE == ((U8*)s)[1] ) ? \
- ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
-: ( 0xF0 == ((U8*)s)[0] ) ? \
- ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
-: ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
+ : ( 0x91 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ? 3 : 0 ) \
+ : ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB5 ) ? 3 : 0 ) \
+ : ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x94 ) ) ? 3 : 0 )\
+: ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x83 ) || ( 0x88 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA0 ) || 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xA4 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ? 3 : 0 ) \
+ : ( 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8F ) ? 3 : 0 ) \
+ : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x86 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( 0xBB == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
+ : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
+ : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB8 ) ) ? 3 : 0 )\
+: ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB3 <= NATIVE_TO_LATIN1(((U8*)s)[3]) && NATIVE_TO_LATIN1(((U8*)s)[3]) <= 0xBA ) ) ? 4 : 0 )\
+: ( ( 0xF3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 4 : 0 )
/*
MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
@@ -625,211 +366,233 @@
*/
/*** GENERATED CODE ***/
#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
-( ( 0x61 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x66 == ((U8*)s)[0] ) ? \
- ( ( 0x66 == ((U8*)s)[1] ) ? \
- ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
- : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x68 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x69 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x6A == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x73 == ((U8*)s)[0] ) ? \
- ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x74 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCA == ((U8*)s)[0] ) ? \
- ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
- ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xCF == ((U8*)s)[0] ) ? \
- ( ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( 0xCC == ((U8*)s)[2] ) ? \
- ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x89 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xD5 == ((U8*)s)[0] ) ? \
- ( ( 0xA5 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB4 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
- : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0xBC == ((U8*)s)[1] ) ? \
- ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
- : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
- : 0 )
+( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )
/*** GENERATED CODE ***/
#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
-( ((e)-(s) > 3) ? \
- ( ( 0x61 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x66 == ((U8*)s)[0] ) ? \
- ( ( 0x66 == ((U8*)s)[1] ) ? \
- ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
- : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x68 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x69 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x6A == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x73 == ((U8*)s)[0] ) ? \
- ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x74 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCA == ((U8*)s)[0] ) ? \
- ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
- ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xCF == ((U8*)s)[0] ) ? \
- ( ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( 0xCC == ((U8*)s)[2] ) ? \
- ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x89 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xD5 == ((U8*)s)[0] ) ? \
- ( ( 0xA5 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB4 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
- : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : 0 ) \
-: ((e)-(s) > 2) ? \
- ( ( 0x61 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x66 == ((U8*)s)[0] ) ? \
- ( ( 0x66 == ((U8*)s)[1] ) ? \
- ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
- : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x68 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x69 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x6A == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x73 == ((U8*)s)[0] ) ? \
- ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x74 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: ((e)-(s) > 1) ? \
- ( ( 0x66 == ((U8*)s)[0] ) ? \
- ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
- : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
-: 0 )
-
-
-/*** GENERATED CODE ***/
-#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
-( ((e)-(s) > 5) ? \
- ( ( 0x61 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x66 == ((U8*)s)[0] ) ? \
- ( ( 0x66 == ((U8*)s)[1] ) ? \
- ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
- : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x68 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x69 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x6A == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x73 == ((U8*)s)[0] ) ? \
- ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0x74 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
- ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCA == ((U8*)s)[0] ) ? \
- ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
- ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? \
- ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+( ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ? \
+ ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
+ ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
: 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB9 == ((U8*)s)[1] ) ? \
- ( ( 0xCC == ((U8*)s)[2] ) ? \
- ( ( 0x88 == ((U8*)s)[3] ) ? \
- ( ( 0xCC == ((U8*)s)[4] ) ? \
- ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
- : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
: 0 ) \
- : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
: 0 ) \
- : ( 0xCF == ((U8*)s)[0] ) ? \
- ( ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x85 == ((U8*)s)[1] ) ? \
- ( ( 0xCC == ((U8*)s)[2] ) ? \
- ( ( 0x88 == ((U8*)s)[3] ) ? \
- ( ( 0xCC == ((U8*)s)[4] ) ? \
- ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
- : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
- : ( 0x93 == ((U8*)s)[3] ) ? \
- ( ( 0xCC == ((U8*)s)[4] ) ? \
- ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \
- : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+ : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
+ : ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 4 )\
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
: 0 ) \
- : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0x89 == ((U8*)s)[1] ) ? \
- ( ( 0xCD == ((U8*)s)[2] ) ? \
- ( ( 0x82 == ((U8*)s)[3] ) ? \
- ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
+ ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
: 0 ) \
- : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xD5 == ((U8*)s)[0] ) ? \
- ( ( 0xA5 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xB4 == ((U8*)s)[1] ) ? \
- ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
- : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0xBC == ((U8*)s)[1] ) ? \
- ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
- : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
+ : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
+ : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
+ : 0 )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \
+( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ? \
+ ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
+ : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : 0 )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \
+( ((e)-(s) > 2) ? \
+ ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ((e)-(s) > 1) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
+: 0 )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e) \
+( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e) \
+( ((e)-(s) > 4) ? \
+ ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+ : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+ : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ? \
+ ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
+ ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 ) \
+ : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
+ : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
+ : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
+ : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
: 0 ) \
-: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
+: ((e)-(s) > 3) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
+( ((e)-(s) > 5) ? is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e) )
/*
MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
@@ -839,82 +602,159 @@
/*** GENERATED CODE ***/
#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
( ((e)-(s) > 2) ? \
- ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
- ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \
- ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
- : ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
- : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) ? \
+ ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
+ : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
+ : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
: ((e)-(s) > 1) ? \
- ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
- ( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
- : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ? \
+ ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
+ : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
: 0 )
/*
- PATWS: pattern white space
+ FOLDS_TO_MULTI: characters that fold to multi-char strings
- \p{PatWS}
+ \p{_Perl_Folds_To_Multi_Char}
*/
/*** GENERATED CODE ***/
-#define is_PATWS(s,is_utf8) \
-( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
-: ( 0x85 == ((U8*)s)[0] ) )
+#define is_FOLDS_TO_MULTI_utf8(s) \
+( ( 0xC3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x90 ) ? 2 : 0 ) \
+: ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
+ : ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF9 ) == 0x90 ) ? 3 : 0 ) \
+ : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
+ ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xE0 ) == 0x80 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF0 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFA ) == 0xB2 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\
+ : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xCA ) == 0x82 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0x84 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xA4 || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\
+: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x93 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x97 ) ) ) ? 3 : 0 )
+
+/*
+ PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
+ \p{_Perl_Problematic_Locale_Folds}
+*/
/*** GENERATED CODE ***/
-#define is_PATWS_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
- : ( !( is_utf8 ) ) ? \
- ( 0x85 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
+#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
+( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x80 ) == 0x00 ) ? 1 \
+: ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xFE ) == 0xC2 ) ? \
+ 2 \
+: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x9C ) ? 2 : 0 ) \
+: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
+: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
+( NATIVE_TO_UNI(cp) <= 0xFF || ( 0xFF < NATIVE_TO_UNI(cp) && \
+( 0x130 == NATIVE_TO_UNI(cp) || ( 0x130 < NATIVE_TO_UNI(cp) && \
+( 0x149 == NATIVE_TO_UNI(cp) || ( 0x149 < NATIVE_TO_UNI(cp) && \
+( 0x178 == NATIVE_TO_UNI(cp) || ( 0x178 < NATIVE_TO_UNI(cp) && \
+( 0x17F == NATIVE_TO_UNI(cp) || ( 0x17F < NATIVE_TO_UNI(cp) && \
+( 0x1F0 == NATIVE_TO_UNI(cp) || ( 0x1F0 < NATIVE_TO_UNI(cp) && \
+( 0x39C == NATIVE_TO_UNI(cp) || ( 0x39C < NATIVE_TO_UNI(cp) && \
+( 0x3BC == NATIVE_TO_UNI(cp) || ( 0x3BC < NATIVE_TO_UNI(cp) && \
+( ( 0x1E96 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x1E9A ) || ( 0x1E9A < NATIVE_TO_UNI(cp) &&\
+( 0x1E9E == NATIVE_TO_UNI(cp) || ( 0x1E9E < NATIVE_TO_UNI(cp) && \
+( 0x212A == NATIVE_TO_UNI(cp) || ( 0x212A < NATIVE_TO_UNI(cp) && \
+( 0x212B == NATIVE_TO_UNI(cp) || ( 0xFB00 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+
+/*
+ PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
+ \p{_Perl_Problematic_Locale_Foldeds_Start}
+*/
/*** GENERATED CODE ***/
-#define is_PATWS_non_low(s,is_utf8) \
-( ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
-: ( 0x85 == ((U8*)s)[0] ) )
+#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
+( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x80 ) == 0x00 ) ? 1 \
+: ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xFE ) == 0xC2 ) ? \
+ 2 \
+: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
+ ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
+: ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x9C ) ? 2 : 0 ) \
+: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
+: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
+: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
+( NATIVE_TO_UNI(cp) <= 0xFF || ( 0xFF < NATIVE_TO_UNI(cp) && \
+( 0x130 == NATIVE_TO_UNI(cp) || ( 0x130 < NATIVE_TO_UNI(cp) && \
+( 0x149 == NATIVE_TO_UNI(cp) || ( 0x149 < NATIVE_TO_UNI(cp) && \
+( 0x178 == NATIVE_TO_UNI(cp) || ( 0x178 < NATIVE_TO_UNI(cp) && \
+( 0x17F == NATIVE_TO_UNI(cp) || ( 0x17F < NATIVE_TO_UNI(cp) && \
+( 0x1F0 == NATIVE_TO_UNI(cp) || ( 0x1F0 < NATIVE_TO_UNI(cp) && \
+( 0x2BC == NATIVE_TO_UNI(cp) || ( 0x2BC < NATIVE_TO_UNI(cp) && \
+( 0x39C == NATIVE_TO_UNI(cp) || ( 0x39C < NATIVE_TO_UNI(cp) && \
+( 0x3BC == NATIVE_TO_UNI(cp) || ( 0x3BC < NATIVE_TO_UNI(cp) && \
+( ( 0x1E96 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x1E9A ) || ( 0x1E9A < NATIVE_TO_UNI(cp) &&\
+( 0x1E9E == NATIVE_TO_UNI(cp) || ( 0x1E9E < NATIVE_TO_UNI(cp) && \
+( 0x212A == NATIVE_TO_UNI(cp) || ( 0x212A < NATIVE_TO_UNI(cp) && \
+( 0x212B == NATIVE_TO_UNI(cp) || ( 0xFB00 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+
+/*
+ PATWS: pattern white space
+
+ \p{PatWS}
+*/
+/*** GENERATED CODE ***/
+#define is_PATWS_safe(s,e,is_utf8) \
+( ((e) > (s)) ? \
+ ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
+ : (! is_utf8 ) ? \
+ ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
+ : (((e) - (s)) >= UTF8SKIP(s)) ? \
+ ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+ : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+ : 0 ) \
+: 0 )
/*** GENERATED CODE ***/
#define is_PATWS_non_low_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == ((U8*)s)[0] ) : 0 )
+( ((e) > (s)) ? \
+ ( (! is_utf8) ? \
+ ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
+ : (((e) - (s)) >= UTF8SKIP(s)) ? \
+ ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
+ ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
+ : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+ : 0 ) \
+: 0 )
/*** GENERATED CODE ***/
#define is_PATWS_cp(cp) \
-( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
-( 0x20 == cp || ( 0x20 < cp && \
-( 0x85 == cp || ( 0x85 < cp && \
-( 0x200E == cp || ( 0x200E < cp && \
-( 0x200F == cp || ( 0x200F < cp && \
-( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
+( ( 0x09 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
+( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) && \
+( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) && \
+( 0x200E == NATIVE_TO_UNI(cp) || ( 0x200E < NATIVE_TO_UNI(cp) && \
+( 0x200F == NATIVE_TO_UNI(cp) || ( 0x200F < NATIVE_TO_UNI(cp) && \
+( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
#endif /* H_REGCHARCLASS */
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcomp.h b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
index 21d2e1e3519..3bb1a533f69 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcomp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
@@ -26,13 +26,6 @@
#define RE_TRACK_PATTERN_OFFSETS
#endif
-/* Unless the next line is uncommented it is illegal to combine lazy
- matching with possessive matching. Frankly it doesn't make much sense
- to allow it as X*?+ matches nothing, X+?+ matches a single char only,
- and X{min,max}?+ matches min times only.
- */
-/* #define REG_ALLOW_MINMOD_SUSPEND */
-
/*
* The "internal use only" fields in regexp.h are present to pass info from
* compile to execute that permits the execute phase to run lots faster on
@@ -132,13 +125,28 @@
*
* See regexp.h for flags used externally to the regexp engine
*/
+#define RXp_INTFLAGS(rx) ((rx)->intflags)
+#define RX_INTFLAGS(prog) RXp_INTFLAGS(ReANY(prog))
+
#define PREGf_SKIP 0x00000001
#define PREGf_IMPLICIT 0x00000002 /* Converted .* to ^.* */
#define PREGf_NAUGHTY 0x00000004 /* how exponential is this pattern? */
#define PREGf_VERBARG_SEEN 0x00000008
#define PREGf_CUTGROUP_SEEN 0x00000010
#define PREGf_USE_RE_EVAL 0x00000020 /* compiled with "use re 'eval'" */
+/* these used to be extflags, but are now intflags */
+#define PREGf_NOSCAN 0x00000040
+#define PREGf_CANY_SEEN 0x00000080
+#define PREGf_GPOS_SEEN 0x00000100
+#define PREGf_GPOS_FLOAT 0x00000200
+
+#define PREGf_ANCH_BOL 0x00000400
+#define PREGf_ANCH_MBOL 0x00000800
+#define PREGf_ANCH_SBOL 0x00001000
+#define PREGf_ANCH_GPOS 0x00002000
+#define PREGf_ANCH (PREGf_ANCH_SBOL | PREGf_ANCH_GPOS | \
+ PREGf_ANCH_MBOL | PREGf_ANCH_BOL )
/* this is where the old regcomp.h started */
@@ -177,27 +185,73 @@ struct regnode_2 {
};
-#define ANYOF_BITMAP_SIZE 32 /* 256 b/(8 b/B) */
+#define ANYOF_BITMAP_SIZE (256 / 8) /* 8 bits/Byte */
+
+/* Note that these form structs which are supersets of the next smaller one, by
+ * appending fields. Alignment problems can occur if one of those optional
+ * fields requires stricter alignment than the base struct. And formal
+ * parameters that can really be two or more of the structs should be
+ * declared as the smallest one it could be. See commit message for
+ * 7dcac5f6a5195002b55c935ee1d67f67e1df280b. Regnode allocation is done
+ * without regard to alignment, and changing it to would also require changing
+ * the code that inserts and deletes regnodes. The basic single-argument
+ * regnode has a U32, which is what reganode() allocates as a unit. Therefore
+ * no field can require stricter alignment than U32. */
/* also used by trie */
struct regnode_charclass {
U8 flags;
U8 type;
U16 next_off;
- U32 arg1; /* used as ptr in S_regclass */
+ U32 arg1;
char bitmap[ANYOF_BITMAP_SIZE]; /* only compile-time */
};
/* has runtime (locale) \d, \w, ..., [:posix:] classes */
struct regnode_charclass_class {
- U8 flags; /* ANYOF_CLASS bit must go here */
+ U8 flags; /* ANYOF_POSIXL bit must go here */
U8 type;
U16 next_off;
- U32 arg1; /* used as ptr in S_regclass */
+ U32 arg1;
char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time */
U32 classflags; /* and run-time */
};
+/* A synthetic start class (SSC); is a regnode_charclass_posixl_fold, plus an
+ * extra SV*, used only during its construction and which is not used by
+ * regexec.c. Note that the 'next_off' field is unused, as the SSC stands
+ * alone, so there is never a next node. Also, there is no alignment issue,
+ * becase these are declared or allocated as a complete unit so the compiler
+ * takes care of alignment. This is unlike the other regnodes which are
+ * allocated in terms of multiples of a single-argument regnode. SSC nodes can
+ * have a pointer field because there is no alignment issue, and because it is
+ * set to NULL after construction, before any cloning of the pattern */
+struct regnode_ssc {
+ U8 flags; /* ANYOF_POSIXL bit must go here */
+ U8 type;
+ U16 next_off;
+ U32 arg1;
+ char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time */
+ U32 classflags; /* and run-time */
+
+ /* Auxiliary, only used during construction; NULL afterwards: list of code
+ * points matched */
+ SV* invlist;
+};
+
+/* We take advantage of 'next_off' not otherwise being used in the SSC by
+ * actually using it: by setting it to 1. This allows us to test and
+ * distinguish between an SSC and other ANYOF node types, as 'next_off' cannot
+ * otherwise be 1, because it is the offset to the next regnode expressed in
+ * units of regnodes. Since an ANYOF node contains extra fields, it adds up
+ * to 12 regnode units on 32-bit systems, (hence the minimum this can be (if
+ * not 0) is 11 there. Even if things get tightly packed on a 64-bit system,
+ * it still would be more than 1. */
+#define set_ANYOF_SYNTHETIC(n) STMT_START{ OP(n) = ANYOF; \
+ NEXT_OFF(n) = 1; \
+ } STMT_END
+#define is_ANYOF_SYNTHETIC(n) (OP(n) == ANYOF && NEXT_OFF(n) == 1)
+
/* XXX fix this description.
Impose a limit of REG_INFTY on various pattern matching operations
to limit stack growth and to avoid "infinite" recursions.
@@ -288,75 +342,79 @@ struct regnode_charclass_class {
#define REG_MAGIC 0234
-#define SIZE_ONLY (RExC_emit == &PL_regdummy)
+#define SIZE_ONLY (RExC_emit == (regnode *) & RExC_emit_dummy)
+#define PASS1 SIZE_ONLY
+#define PASS2 (! SIZE_ONLY)
/* 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, but there is one
- * currently available. If more than this are needed, the ANYOF_LOCALE and
- * ANYOF_CLASS bits could be shared, making a space penalty for all locale nodes.
- * Also, the UNICODE_ALL bit could be freed up by resorting to creating a swash
- * containing everything above 255. This introduces a performance penalty.
- * Better would be to split it off into a separate node, which actually would
- * improve performance a bit by allowing regexec.c to test for a UTF-8
- * character being above 255 without having to call a function nor calculate
- * its code point value. However, this solution might need to have a second
- * node type, ANYOF_SYNTHETIC_ABOVE_LATIN1_ALL */
-
-#define ANYOF_LOCALE 0x01 /* /l modifier */
+/* Flags for node->flags of ANYOF. These are in short supply, with none
+ * currently available. The ABOVE_LATIN1_ALL bit could be freed up
+ * by resorting to creating a swash containing everything above 255. This
+ * introduces a performance penalty. An option that wouldn't slow things down
+ * would be to split one of the two LOC flags out into a separate
+ * node, like what was done with ANYOF_NON_UTF8_NON_ASCII_ALL in commit
+ * 34fdef848b1687b91892ba55e9e0c3430e0770f6 (but which was reverted because it
+ * wasn't the best option available at the time), and using a LOC flag is
+ * probably better than that commit anyway. But it could be reinstated if we
+ * need a bit. The LOC flags are only for /l nodes; the reverted commit was
+ * only for /d, so there are no combinatorial issues. The LOC flag to use is
+ * probably the POSIXL one.
+ * Several flags are not used in synthetic start class (SSC) nodes, so could be
+ * shared should new flags be needed for SSCs, like ANYOF_EMPTY_STRING now. */
+
+/* regexec.c is expecting this to be in the low bit */
+#define ANYOF_INVERT 0x01
+
+/* For the SSC node only, which cannot be inverted, so is shared with that bit.
+ * This means "Does this SSC match an empty string?" This is used only during
+ * regex compilation. */
+#define ANYOF_EMPTY_STRING ANYOF_INVERT
+
+/* Are there things that will match only if the target string is encoded in
+ * UTF-8? (This is not set if ANYOF_AOVE_LATIN1_ALL is set) */
+#define ANYOF_UTF8 0x02
/* The fold is calculated and stored in the bitmap where possible at compile
* time. However under locale, the actual folding varies depending on
* what the locale is at the time of execution, so it has to be deferred until
* then */
-#define ANYOF_LOC_FOLD 0x02
+#define ANYOF_LOC_FOLD 0x04
-#define ANYOF_INVERT 0x04
-
-/* Set if this is a struct regnode_charclass_class vs a regnode_charclass. This
+/* Set if this is a regnode_charclass_posixl 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. Could be shared with ANYOF_LOCALE, forcing all locale
- * nodes to be large */
-#define ANYOF_CLASS 0x08
-#define ANYOF_LARGE ANYOF_CLASS /* Same; name retained for back compat */
+ * at compile-time */
+#define ANYOF_POSIXL 0x08
+#define ANYOF_CLASS ANYOF_POSIXL
+#define ANYOF_LARGE ANYOF_POSIXL
-/* Unused: 0x10. When using, be sure to change ANYOF_FLAGS_ALL below */
+/* Should we raise a warning if matching against an above-Unicode code point?
+ * */
+#define ANYOF_WARN_SUPER 0x10
/* Can match something outside the bitmap that isn't in utf8 */
#define ANYOF_NONBITMAP_NON_UTF8 0x20
/* Matches every code point 0x100 and above*/
-#define ANYOF_UNICODE_ALL 0x40
+#define ANYOF_ABOVE_LATIN1_ALL 0x40
+#define ANYOF_UNICODE_ALL ANYOF_ABOVE_LATIN1_ALL
/* 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_NON_UTF8_NON_ASCII_ALL 0x80
-#define ANYOF_FLAGS_ALL (0xff & ~0x10)
+#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_FOLD \
- |ANYOF_CLASS \
- |ANYOF_NONBITMAP_NON_UTF8)
+#define ANYOF_LOCALE_FLAGS (ANYOF_LOC_FOLD | ANYOF_POSIXL)
+
+/* These are the flags that apply to both regular ANYOF nodes and synthetic
+ * start class nodes during construction of the SSC. During finalization of
+ * the SSC, other of the flags could be added to it */
+#define ANYOF_COMMON_FLAGS (ANYOF_WARN_SUPER|ANYOF_UTF8)
/* Character classes for node->classflags of ANYOF */
/* Should be synchronized with a table in regprop() */
@@ -408,19 +466,21 @@ struct regnode_charclass_class {
# error Problem with handy.h _HIGHEST_REGCOMP_DOT_H_SYNC #define
#endif
-#define ANYOF_MAX (ANYOF_VERTWS) /* So upper loop limit is written:
- * '< ANYOF_MAX'
- * Hence doesn't include VERTWS, as that
- * is a pseudo class */
-#if (ANYOF_MAX > 32) /* Must fit in 32-bit word */
+#define ANYOF_POSIXL_MAX (ANYOF_VERTWS) /* So upper loop limit is written:
+ * '< ANYOF_MAX'
+ * Hence doesn't include VERTWS, as that
+ * is a pseudo class */
+#define ANYOF_MAX ANYOF_POSIXL_MAX
+
+#if (ANYOF_POSIXL_MAX > 32) /* Must fit in 32-bit word */
# error Problem with handy.h _CC_foo #defines
#endif
-#define ANYOF_HORIZWS ((ANYOF_MAX)+2) /* = (ANYOF_NVERTWS + 1) */
-#define ANYOF_NHORIZWS ((ANYOF_MAX)+3)
+#define ANYOF_HORIZWS ((ANYOF_POSIXL_MAX)+2) /* = (ANYOF_NVERTWS + 1) */
+#define ANYOF_NHORIZWS ((ANYOF_POSIXL_MAX)+3)
-#define ANYOF_UNIPROP ((ANYOF_MAX)+4) /* Used to indicate a Unicode
- property: \p{} or \P{} */
+#define ANYOF_UNIPROP ((ANYOF_POSIXL_MAX)+4) /* Used to indicate a Unicode
+ property: \p{} or \P{} */
/* Backward source code compatibility. */
@@ -434,22 +494,51 @@ struct regnode_charclass_class {
/* Utility macros for the bitmap and classes of ANYOF */
#define ANYOF_SIZE (sizeof(struct regnode_charclass))
-#define ANYOF_CLASS_SIZE (sizeof(struct regnode_charclass_class))
+#define ANYOF_POSIXL_SIZE (sizeof(regnode_charclass_posixl))
+#define ANYOF_CLASS_SIZE ANYOF_POSIXL_SIZE
#define ANYOF_FLAGS(p) ((p)->flags)
#define ANYOF_BIT(c) (1 << ((c) & 7))
-#define ANYOF_CLASS_SET(p, c) (((struct regnode_charclass_class*) (p))->classflags |= (1U << (c)))
-#define ANYOF_CLASS_CLEAR(p, c) (((struct regnode_charclass_class*) (p))->classflags &= ~ (1U <<(c)))
-#define ANYOF_CLASS_TEST(p, c) (((struct regnode_charclass_class*) (p))->classflags & (1U << (c)))
+#define ANYOF_POSIXL_SET(p, c) (((regnode_charclass_posixl*) (p))->classflags |= (1U << (c)))
+#define ANYOF_CLASS_SET(p, c) ANYOF_POSIXL_SET((p), (c))
-#define ANYOF_CLASS_ZERO(ret) STMT_START { ((struct regnode_charclass_class*) (ret))->classflags = 0; } STMT_END
+#define ANYOF_POSIXL_CLEAR(p, c) (((regnode_charclass_posixl*) (p))->classflags &= ~ (1U <<(c)))
+#define ANYOF_CLASS_CLEAR(p, c) ANYOF_POSIXL_CLEAR((p), (c))
+
+#define ANYOF_POSIXL_TEST(p, c) (((regnode_charclass_posixl*) (p))->classflags & (1U << (c)))
+#define ANYOF_CLASS_TEST(p, c) ANYOF_POSIXL_TEST((p), (c))
+
+#define ANYOF_POSIXL_ZERO(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = 0; } STMT_END
+#define ANYOF_CLASS_ZERO(ret) ANYOF_POSIXL_ZERO(ret)
/* Shifts a bit to get, eg. 0x4000_0000, then subtracts 1 to get 0x3FFF_FFFF */
-#define ANYOF_CLASS_SETALL(ret) STMT_START { ((struct regnode_charclass_class*) (ret))->classflags = ((1U << ((ANYOF_MAX) - 1))) - 1; } STMT_END
+#define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END
+#define ANYOF_CLASS_SETALL(ret) ANYOF_POSIXL_SETALL(ret)
+
+#define ANYOF_POSIXL_TEST_ANY_SET(p) \
+ ((ANYOF_FLAGS(p) & ANYOF_POSIXL) \
+ && (((regnode_charclass_posixl*)(p))->classflags))
+#define ANYOF_CLASS_TEST_ANY_SET(p) ANYOF_POSIXL_TEST_ANY_SET(p)
-#define ANYOF_CLASS_OR(source, dest) STMT_START { (dest)->classflags |= source->classflags ; } STMT_END
+/* Since an SSC always has this field, we don't have to test for that; nor do
+ * we want to because the bit isn't set for SSC during its construction */
+#define ANYOF_POSIXL_SSC_TEST_ANY_SET(p) \
+ cBOOL(((regnode_ssc*)(p))->classflags)
+#define ANYOF_POSIXL_SSC_TEST_ALL_SET(p) /* Are all bits set? */ \
+ (((regnode_ssc*) (p))->classflags \
+ == ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1)
+
+#define ANYOF_POSIXL_TEST_ALL_SET(p) \
+ ((ANYOF_FLAGS(p) & ANYOF_POSIXL) \
+ && ((regnode_charclass_posixl*) (p))->classflags \
+ == ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1)
+
+#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
+#define ANYOF_CLASS_OR(source, dest) ANYOF_POSIXL_OR((source), (dest))
+
+#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
#define ANYOF_BITMAP_ZERO(ret) Zero(((struct regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char)
#define ANYOF_BITMAP(p) (((struct regnode_charclass*)(p))->bitmap)
@@ -467,14 +556,8 @@ struct regnode_charclass_class {
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_TEST_ANY_SET(p) \
- ((ANYOF_FLAGS(p) & ANYOF_CLASS) \
- && (((struct regnode_charclass_class*)(p))->classflags))
-/*#define ANYOF_CLASS_ADD_SKIP (ANYOF_CLASS_SKIP - ANYOF_SKIP)
- * */
-
+#define ANYOF_POSIXL_SKIP ((ANYOF_POSIXL_SIZE - 1)/sizeof(regnode))
+#define ANYOF_CLASS_SKIP ANYOF_POSIXL_SKIP
/*
* Utility definitions.
@@ -487,18 +570,20 @@ struct regnode_charclass_class {
#define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode))
-#define REG_SEEN_ZERO_LEN 0x00000001
-#define REG_SEEN_LOOKBEHIND 0x00000002
-#define REG_SEEN_GPOS 0x00000004
+#define REG_ZERO_LEN_SEEN 0x00000001
+#define REG_LOOKBEHIND_SEEN 0x00000002
+#define REG_GPOS_SEEN 0x00000004
/* spare */
-#define REG_SEEN_CANY 0x00000010
-#define REG_SEEN_SANY REG_SEEN_CANY /* src bckwrd cmpt */
-#define REG_SEEN_RECURSE 0x00000020
-#define REG_TOP_LEVEL_BRANCHES 0x00000040
-#define REG_SEEN_VERBARG 0x00000080
-#define REG_SEEN_CUTGROUP 0x00000100
-#define REG_SEEN_RUN_ON_COMMENT 0x00000200
-#define REG_SEEN_EXACTF_SHARP_S 0x00000400
+#define REG_CANY_SEEN 0x00000010
+#define REG_RECURSE_SEEN 0x00000020
+#define REG_TOP_LEVEL_BRANCHES_SEEN 0x00000040
+#define REG_VERBARG_SEEN 0x00000080
+#define REG_CUTGROUP_SEEN 0x00000100
+#define REG_RUN_ON_COMMENT_SEEN 0x00000200
+#define REG_UNFOLDED_MULTI_SEEN 0x00000400
+#define REG_GOSTART_SEEN 0x00000800
+#define REG_UNBOUNDED_QUANTIFIER_SEEN 0x00001000
+
START_EXTERN_C
diff --git a/Master/tlpkg/tlperl/lib/CORE/regexp.h b/Master/tlpkg/tlperl/lib/CORE/regexp.h
index 31fb879c66a..db7ae8be016 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regexp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regexp.h
@@ -36,13 +36,14 @@ struct regexp_engine;
struct regexp;
struct reg_substr_datum {
- I32 min_offset;
- I32 max_offset;
+ SSize_t min_offset; /* min pos (in chars) that substr must appear */
+ SSize_t max_offset /* max pos (in chars) that substr must appear */;
SV *substr; /* non-utf8 variant */
SV *utf8_substr; /* utf8 variant */
- I32 end_shift;
+ SSize_t end_shift; /* how many fixed chars must end the string */
};
struct reg_substr_data {
+ U8 check_ix; /* index into data[] of check substr */
struct reg_substr_datum data[3]; /* Actual array */
};
@@ -55,15 +56,15 @@ struct reg_substr_data {
/* offsets within a string of a particular /(.)/ capture */
typedef struct regexp_paren_pair {
- I32 start;
- I32 end;
+ SSize_t start;
+ SSize_t end;
/* 'start_tmp' records a new opening position before the matching end
* has been found, so that the old start and end values are still
* valid, e.g.
* "abc" =~ /(.(?{print "[$1]"}))+/
*outputs [][a][b]
* This field is not part of the API. */
- I32 start_tmp;
+ SSize_t start_tmp;
} regexp_paren_pair;
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
@@ -104,9 +105,9 @@ struct reg_code_block {
/* Information about the match that the perl core uses to */ \
/* manage things */ \
U32 extflags; /* Flags used both externally and internally */ \
- I32 minlen; /* mininum possible number of chars in string to match */\
- I32 minlenret; /* mininum possible number of chars in $& */ \
- U32 gofs; /* chars left of pos that we search from */ \
+ SSize_t minlen; /* mininum possible number of chars in string to match */\
+ SSize_t minlenret; /* mininum possible number of chars in $& */ \
+ STRLEN gofs; /* chars left of pos that we search from */ \
/* substring data about strings that must appear in the */ \
/* final match, used for optimisations */ \
struct reg_substr_data *substrs; \
@@ -124,10 +125,11 @@ struct reg_code_block {
/* saved or original string so \digit works forever. */ \
char *subbeg; \
SV_SAVED_COPY /* If non-NULL, SV which is COW from original */\
- I32 sublen; /* Length of string pointed by subbeg */ \
- I32 suboffset; /* byte offset of subbeg from logical start of str */ \
- I32 subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ \
+ SSize_t sublen; /* Length of string pointed by subbeg */ \
+ SSize_t suboffset; /* byte offset of subbeg from logical start of str */ \
+ SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ \
/* Information about the match that isn't often used */ \
+ SSize_t maxlen; /* mininum possible number of chars in string to match */\
/* offset from wrapped to the start of precomp */ \
PERL_BITFIELD32 pre_prefix:4; \
/* original flags used to compile the pattern, may differ */ \
@@ -146,7 +148,7 @@ typedef struct regexp {
typedef struct re_scream_pos_data_s
{
char **scream_olds; /* match pos */
- I32 *scream_pos; /* Internal iterator of scream. */
+ SSize_t *scream_pos; /* Internal iterator of scream. */
} re_scream_pos_data;
/* regexp_engine structure. This is the dispatch table for regexes.
@@ -155,10 +157,15 @@ typedef struct re_scream_pos_data_s
typedef struct regexp_engine {
REGEXP* (*comp) (pTHX_ SV * const pattern, U32 flags);
I32 (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend,
- char* strbeg, I32 minend, SV* screamer,
+ char* strbeg, SSize_t minend, SV* sv,
void* data, U32 flags);
- char* (*intuit) (pTHX_ REGEXP * const rx, SV *sv, char *strpos,
- char *strend, const U32 flags,
+ char* (*intuit) (pTHX_
+ REGEXP * const rx,
+ SV *sv,
+ const char * const strbeg,
+ char *strpos,
+ char *strend,
+ const U32 flags,
re_scream_pos_data *data);
SV* (*checkstr) (pTHX_ REGEXP * const rx);
void (*free) (pTHX_ REGEXP * const rx);
@@ -225,7 +232,7 @@ typedef struct regexp_engine {
=for apidoc Am|REGEXP *|SvRX|SV *sv
-Convenience macro to get the REGEXP from a SV. This is approximately
+Convenience macro to get the REGEXP from a SV. This is approximately
equivalent to the following snippet:
if (SvMAGICAL(sv))
@@ -379,29 +386,25 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
}
}
-/* Anchor and GPOS related stuff */
-#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)
+/* Do we have some sort of anchor? */
+#define RXf_IS_ANCHORED (1<<(RXf_BASE_SHIFT+0))
+#define RXf_UNUSED1 (1<<(RXf_BASE_SHIFT+1))
+#define RXf_UNUSED2 (1<<(RXf_BASE_SHIFT+2))
+#define RXf_UNUSED3 (1<<(RXf_BASE_SHIFT+3))
+#define RXf_UNUSED4 (1<<(RXf_BASE_SHIFT+4))
+#define RXf_UNUSED5 (1<<(RXf_BASE_SHIFT+5))
/* What we have seen */
#define RXf_NO_INPLACE_SUBST (1<<(RXf_BASE_SHIFT+6))
#define RXf_EVAL_SEEN (1<<(RXf_BASE_SHIFT+7))
-#define RXf_CANY_SEEN (1<<(RXf_BASE_SHIFT+8))
+#define RXf_UNUSED8 (1<<(RXf_BASE_SHIFT+8))
/* Special */
-#define RXf_NOSCAN (1<<(RXf_BASE_SHIFT+9))
+#define RXf_UNBOUNDED_QUANTIFIER_SEEN (1<<(RXf_BASE_SHIFT+9))
#define RXf_CHECK_ALL (1<<(RXf_BASE_SHIFT+10))
/* UTF8 related */
-#define RXf_MATCH_UTF8 (1<<(RXf_BASE_SHIFT+11))
+#define RXf_MATCH_UTF8 (1<<(RXf_BASE_SHIFT+11)) /* $1 etc are utf8 */
/* Intuit related */
#define RXf_USE_INTUIT_NOML (1<<(RXf_BASE_SHIFT+12))
@@ -412,8 +415,7 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
/* Copy and tainted info */
#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 */
+/* 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))
@@ -433,7 +435,7 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
*
*/
-#if NO_TAINT_SUPPORT
+#ifdef NO_TAINT_SUPPORT
# define RX_ISTAINTED(prog) 0
# define RX_TAINT_on(prog) NOOP
# define RXp_MATCH_TAINTED(prog) 0
@@ -496,6 +498,10 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
#define RX_LASTPAREN(prog) (ReANY(prog)->lastparen)
#define RX_LASTCLOSEPAREN(prog) (ReANY(prog)->lastcloseparen)
#define RX_SAVED_COPY(prog) (ReANY(prog)->saved_copy)
+/* last match was zero-length */
+#define RX_ZERO_LEN(prog) \
+ (RX_OFFS(prog)[0].start + (SSize_t)RX_GOFS(prog) \
+ == RX_OFFS(prog)[0].end)
#endif /* PLUGGABLE_RE_EXTENSION */
@@ -523,22 +529,30 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
#define RX_MATCH_UTF8_on(prog) (RX_EXTFLAGS(prog) |= RXf_MATCH_UTF8)
#define RX_MATCH_UTF8_off(prog) (RX_EXTFLAGS(prog) &= ~RXf_MATCH_UTF8)
#define RX_MATCH_UTF8_set(prog, t) ((t) \
- ? (RX_MATCH_UTF8_on(prog), (PL_reg_match_utf8 = 1)) \
- : (RX_MATCH_UTF8_off(prog), (PL_reg_match_utf8 = 0)))
+ ? RX_MATCH_UTF8_on(prog) \
+ : RX_MATCH_UTF8_off(prog))
/* Whether the pattern stored at RX_WRAPPED is in UTF-8 */
#define RX_UTF8(prog) SvUTF8(prog)
-#define REXEC_COPY_STR 0x01 /* Need to copy the string. */
-#define REXEC_CHECKED 0x02 /* check_substr already checked. */
-#define REXEC_SCREAM 0x04 /* use scream table. */
-#define REXEC_IGNOREPOS 0x08 /* \G matches at start. */
-#define REXEC_NOT_FIRST 0x10 /* This is another iteration of //g. */
- /* under REXEC_COPY_STR, it's ok for the
- * engine (modulo PL_sawamperand etc)
- * to skip copying ... */
-#define REXEC_COPY_SKIP_PRE 0x20 /* ...the $` part of the string, or */
-#define REXEC_COPY_SKIP_POST 0x40 /* ...the $' part of the string */
+
+/* bits in flags arg of Perl_regexec_flags() */
+
+#define REXEC_COPY_STR 0x01 /* Need to copy the string for captures. */
+#define REXEC_CHECKED 0x02 /* re_intuit_start() already called. */
+#define REXEC_SCREAM 0x04 /* currently unused. */
+#define REXEC_IGNOREPOS 0x08 /* use stringarg, not pos(), for \G match */
+#define REXEC_NOT_FIRST 0x10 /* This is another iteration of //g:
+ no need to copy string again */
+
+ /* under REXEC_COPY_STR, it's ok for the
+ engine (modulo PL_sawamperand etc)
+ to skip copying: ... */
+#define REXEC_COPY_SKIP_PRE 0x20 /* ...the $` part of the string, or */
+#define REXEC_COPY_SKIP_POST 0x40 /* ...the $' part of the string */
+#define REXEC_FAIL_ON_UNDERFLOW 0x80 /* fail the match if $& would start before
+ the start pos (so s/.\G// would fail
+ on second iteration */
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define ReREFCNT_inc(re) \
@@ -571,17 +585,64 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
#define FBMrf_MULTILINE 1
+struct regmatch_state;
+struct regmatch_slab;
+
+/* like regmatch_info_aux, but contains extra fields only needed if the
+ * pattern contains (?{}). If used, is snuck into the second slot in the
+ * regmatch_state stack at the start of execution */
+
+typedef struct {
+ regexp *rex;
+ PMOP *curpm; /* saved PL_curpm */
+#ifdef PERL_ANY_COW
+ SV *saved_copy; /* saved saved_copy field from rex */
+#endif
+ char *subbeg; /* saved subbeg field from rex */
+ STRLEN sublen; /* saved sublen field from rex */
+ STRLEN suboffset; /* saved suboffset field from rex */
+ STRLEN subcoffset; /* saved subcoffset field from rex */
+ MAGIC *pos_magic; /* pos() magic attached to $_ */
+ SSize_t pos; /* the original value of pos() in pos_magic */
+ U8 pos_flags; /* flags to be restored; currently only MGf_BYTES*/
+} regmatch_info_aux_eval;
+
+
+/* fields that logically live in regmatch_info, but which need cleaning
+ * up on croak(), and so are instead are snuck into the first slot in
+ * the regmatch_state stack at the start of execution */
+
+typedef struct {
+ regmatch_info_aux_eval *info_aux_eval;
+ struct regmatch_state *old_regmatch_state; /* saved PL_regmatch_state */
+ struct regmatch_slab *old_regmatch_slab; /* saved PL_regmatch_slab */
+ char *poscache; /* S-L cache of fail positions of WHILEMs */
+} regmatch_info_aux;
+
+
/* some basic information about the current match that is created by
- * Perl_regexec_flags and then passed to regtry(), regmatch() etc */
+ * Perl_regexec_flags and then passed to regtry(), regmatch() etc.
+ * It is allocated as a local var on the stack, so nothing should be
+ * stored in it that needs preserving or clearing up on croak().
+ * For that, see the aux_info and aux_info_eval members of the
+ * regmatch_state union. */
typedef struct {
- REGEXP *prog;
- char *bol;
- char *till;
- SV *sv;
- char *ganch;
- char *cutpoint;
- bool is_utf8_pat;
+ REGEXP *prog; /* the regex being executed */
+ const char * strbeg; /* real start of string */
+ char *strend; /* one byte beyond last char of match string */
+ char *till; /* matches shorter than this fail (see minlen arg) */
+ SV *sv; /* the SV string currently being matched */
+ char *ganch; /* position of \G anchor */
+ char *cutpoint; /* (*COMMIT) position (if any) */
+ regmatch_info_aux *info_aux; /* extra fields that need cleanup */
+ regmatch_info_aux_eval *info_aux_eval; /* extra saved state for (?{}) */
+ I32 poscache_maxiter; /* how many whilems todo before S-L cache kicks in */
+ I32 poscache_iter; /* current countdown from _maxiter to zero */
+ STRLEN poscache_size; /* size of regmatch_info_aux.poscache */
+ bool intuit; /* re_intuit_start() is the top-level caller */
+ bool is_utf8_pat; /* regex is utf8 */
+ bool is_utf8_target; /* string being matched is utf8 */
bool warned; /* we have issued a recursion warning; no need for more */
} regmatch_info;
@@ -600,6 +661,29 @@ typedef struct regmatch_state {
union {
+ /* the 'info_aux' and 'info_aux_eval' union members are cuckoos in
+ * the nest. They aren't saved backtrack state; rather they
+ * represent one or two extra chunks of data that need allocating
+ * at the start of a match. These fields would logically live in
+ * the regmatch_info struct, except that is allocated on the
+ * C stack, and these fields are all things that require cleanup
+ * after a croak(), when the stack is lost.
+ * As a convenience, we just use the first 1 or 2 regmatch_state
+ * slots to store this info, as we will be allocating a slab of
+ * these anyway. Otherwise we'd have to malloc and then free them,
+ * or allocate them on the save stack (where they will get
+ * realloced if the save stack grows).
+ * info_aux contains the extra fields that are always needed;
+ * info_aux_eval contains extra fields that only needed if
+ * the pattern contains code blocks
+ * We split them into two separate structs to avoid increasing
+ * the size of the union.
+ */
+
+ regmatch_info_aux info_aux;
+
+ regmatch_info_aux_eval info_aux_eval;
+
/* this is a fake union member that matches the first element
* of each member that needs to store positive backtrack
* information */
@@ -654,7 +738,6 @@ typedef struct regmatch_state {
struct regmatch_state *prev_eval;
struct regmatch_state *prev_curlyx;
REGEXP *prev_rex;
- bool saved_utf8_pat; /* saved copy of is_utf8_pat */
CHECKPOINT cp; /* remember current savestack indexes */
CHECKPOINT lastcp;
U32 close_paren; /* which close bracket is our end */
@@ -755,50 +838,7 @@ typedef struct regmatch_slab {
struct regmatch_slab *prev, *next;
} regmatch_slab;
-#define PL_bostr PL_reg_state.re_state_bostr
-#define PL_regeol PL_reg_state.re_state_regeol
-#define PL_reg_match_utf8 PL_reg_state.re_state_reg_match_utf8
-#define PL_reg_magic PL_reg_state.re_state_reg_magic
-#define PL_reg_oldpos PL_reg_state.re_state_reg_oldpos
-#define PL_reg_oldcurpm PL_reg_state.re_state_reg_oldcurpm
-#define PL_reg_curpm PL_reg_state.re_state_reg_curpm
-#define PL_reg_oldsaved PL_reg_state.re_state_reg_oldsaved
-#define PL_reg_oldsavedlen PL_reg_state.re_state_reg_oldsavedlen
-#define PL_reg_oldsavedoffset PL_reg_state.re_state_reg_oldsavedoffset
-#define PL_reg_oldsavedcoffset PL_reg_state.re_state_reg_oldsavedcoffset
-#define PL_reg_maxiter PL_reg_state.re_state_reg_maxiter
-#define PL_reg_leftiter PL_reg_state.re_state_reg_leftiter
-#define PL_reg_poscache PL_reg_state.re_state_reg_poscache
-#define PL_reg_poscache_size PL_reg_state.re_state_reg_poscache_size
-#define PL_reg_starttry PL_reg_state.re_state_reg_starttry
-#define PL_nrs PL_reg_state.re_state_nrs
-
-struct re_save_state {
- bool re_state_eval_setup_done; /* from regexec.c */
- bool re_state_reg_match_utf8; /* from regexec.c */
- /* Space for U8 */
- I32 re_state_reg_oldpos; /* from regexec.c */
- I32 re_state_reg_maxiter; /* max wait until caching pos */
- I32 re_state_reg_leftiter; /* wait until caching pos */
- char *re_state_bostr;
- char *re_state_regeol; /* End of input, for $ check. */
- MAGIC *re_state_reg_magic; /* from regexec.c */
- PMOP *re_state_reg_oldcurpm; /* from regexec.c */
- PMOP *re_state_reg_curpm; /* from regexec.c */
- char *re_state_reg_oldsaved; /* old saved substr during match */
- STRLEN re_state_reg_oldsavedlen; /* old length of saved substr during match */
- STRLEN re_state_reg_oldsavedoffset; /* old offset of saved substr during match */
- STRLEN re_state_reg_oldsavedcoffset;/* old coffset of saved substr during match */
- STRLEN re_state_reg_poscache_size; /* size of pos cache of WHILEM */
- char *re_state_reg_poscache; /* cache of pos of WHILEM */
- char *re_state_reg_starttry; /* from regexec.c */
-#ifdef PERL_ANY_COW
- SV *re_state_nrs; /* was placeholder: unused since 5.8.0 (5.7.2 patch #12027 for bug ID 20010815.012). Used to save rx->saved_copy */
-#endif
-};
-#define SAVESTACK_ALLOC_FOR_RE_SAVE_STATE \
- (1 + ((sizeof(struct re_save_state) - 1) / sizeof(*PL_savestack)))
/*
* Local variables:
diff --git a/Master/tlpkg/tlperl/lib/CORE/regnodes.h b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
index 0caf86dd556..43ec681967c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regnodes.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
@@ -6,8 +6,8 @@
/* Regops and State definitions */
-#define REGNODE_MAX 95
-#define REGMATCH_STATE_MAX 135
+#define REGNODE_MAX 93
+#define REGMATCH_STATE_MAX 133
#define END 0 /* 0000 End of program. */
#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
@@ -18,93 +18,91 @@
#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 using native charset semantics for non-utf8 */
+#define BOUND 9 /* 0x09 Match "" at any word boundary using native charset rules 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 BOUNDU 11 /* 0x0b Match "" at any word boundary using Unicode rules */
+#define BOUNDA 12 /* 0x0c Match "" at any word boundary using ASCII rules */
+#define NBOUND 13 /* 0x0d Match "" at any word non-boundary using native charset rules 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 NBOUNDU 15 /* 0x0f Match "" at any word non-boundary using Unicode rules */
+#define NBOUNDA 16 /* 0x10 Match "" at any word non-boundary using ASCII rules */
#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 ANYOF_WARN_SUPER 22 /* 0x16 Match character in (or not in) this class, warn (if enabled) upon matching a char above Unicode max; */
-#define ANYOF_SYNTHETIC 23 /* 0x17 Synthetic start class */
-#define POSIXD 24 /* 0x18 Some [[:class:]] under /d; the FLAGS field gives which one */
-#define POSIXL 25 /* 0x19 Some [[:class:]] under /l; the FLAGS field gives which one */
-#define POSIXU 26 /* 0x1a Some [[:class:]] under /u; the FLAGS field gives which one */
-#define POSIXA 27 /* 0x1b Some [[:class:]] under /a; the FLAGS field gives which one */
-#define NPOSIXD 28 /* 0x1c complement of POSIXD, [[:^class:]] */
-#define NPOSIXL 29 /* 0x1d complement of POSIXL, [[:^class:]] */
-#define NPOSIXU 30 /* 0x1e complement of POSIXU, [[:^class:]] */
-#define NPOSIXA 31 /* 0x1f complement of POSIXA, [[:^class:]] */
-#define CLUMP 32 /* 0x20 Match any extended grapheme cluster sequence */
-#define BRANCH 33 /* 0x21 Match this alternative, or the next... */
-#define BACK 34 /* 0x22 Match "", "next" ptr points backward. */
-#define EXACT 35 /* 0x23 Match this string (preceded by length). */
-#define EXACTF 36 /* 0x24 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
-#define EXACTFL 37 /* 0x25 Match this string (not guaranteed to be folded) using /il rules (w/len). */
-#define EXACTFU 38 /* 0x26 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
-#define EXACTFA 39 /* 0x27 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
-#define EXACTFU_SS 40 /* 0x28 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
-#define EXACTFU_TRICKYFOLD 41 /* 0x29 Match this folded UTF-8 string using /iu rules */
-#define NOTHING 42 /* 0x2a Match empty string. */
-#define TAIL 43 /* 0x2b Match empty string. Can jump here from outside. */
-#define STAR 44 /* 0x2c Match this (simple) thing 0 or more times. */
-#define PLUS 45 /* 0x2d Match this (simple) thing 1 or more times. */
-#define CURLY 46 /* 0x2e Match this simple thing {n,m} times. */
-#define CURLYN 47 /* 0x2f Capture next-after-this simple thing */
-#define CURLYM 48 /* 0x30 Capture this medium-complex thing {n,m} times. */
-#define CURLYX 49 /* 0x31 Match this complex thing {n,m} times. */
-#define WHILEM 50 /* 0x32 Do curly processing and see if rest matches. */
-#define OPEN 51 /* 0x33 Mark this point in input as start of #n. */
-#define CLOSE 52 /* 0x34 Analogous to OPEN. */
-#define REF 53 /* 0x35 Match some already matched string */
-#define REFF 54 /* 0x36 Match already matched string, folded using native charset semantics for non-utf8 */
-#define REFFL 55 /* 0x37 Match already matched string, folded in loc. */
-#define REFFU 56 /* 0x38 Match already matched string, folded using unicode semantics for non-utf8 */
-#define REFFA 57 /* 0x39 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define NREF 58 /* 0x3a Match some already matched string */
-#define NREFF 59 /* 0x3b Match already matched string, folded using native charset semantics for non-utf8 */
-#define NREFFL 60 /* 0x3c Match already matched string, folded in loc. */
-#define NREFFU 61 /* 0x3d Match already matched string, folded using unicode semantics for non-utf8 */
-#define NREFFA 62 /* 0x3e Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define IFMATCH 63 /* 0x3f Succeeds if the following matches. */
-#define UNLESSM 64 /* 0x40 Fails if the following matches. */
-#define SUSPEND 65 /* 0x41 "Independent" sub-RE. */
-#define IFTHEN 66 /* 0x42 Switch, should be preceded by switcher. */
-#define GROUPP 67 /* 0x43 Whether the group matched. */
-#define LONGJMP 68 /* 0x44 Jump far away. */
-#define BRANCHJ 69 /* 0x45 BRANCH with long offset. */
-#define EVAL 70 /* 0x46 Execute some Perl code. */
-#define MINMOD 71 /* 0x47 Next operator is not greedy. */
-#define LOGICAL 72 /* 0x48 Next opcode should set the flag only. */
-#define RENUM 73 /* 0x49 Group with independently numbered parens. */
-#define TRIE 74 /* 0x4a Match many EXACT(F[ALU]?)? at once. flags==type */
-#define TRIEC 75 /* 0x4b Same as TRIE, but with embedded charclass data */
-#define AHOCORASICK 76 /* 0x4c Aho Corasick stclass. flags==type */
-#define AHOCORASICKC 77 /* 0x4d Same as AHOCORASICK, but with embedded charclass data */
-#define GOSUB 78 /* 0x4e recurse to paren arg1 at (signed) ofs arg2 */
-#define GOSTART 79 /* 0x4f recurse to start of pattern */
-#define NGROUPP 80 /* 0x50 Whether the group matched. */
-#define INSUBP 81 /* 0x51 Whether we are in a specific recurse. */
-#define DEFINEP 82 /* 0x52 Never execute directly. */
-#define ENDLIKE 83 /* 0x53 Used only for the type field of verbs */
-#define OPFAIL 84 /* 0x54 Same as (?!) */
-#define ACCEPT 85 /* 0x55 Accepts the current matched string. */
-#define VERB 86 /* 0x56 Used only for the type field of verbs */
-#define PRUNE 87 /* 0x57 Pattern fails at this startpoint if no-backtracking through this */
-#define MARKPOINT 88 /* 0x58 Push the current location for rollback by cut. */
-#define SKIP 89 /* 0x59 On failure skip forward (to the mark) before retrying */
-#define COMMIT 90 /* 0x5a Pattern fails outright if backtracking through this */
-#define CUTGROUP 91 /* 0x5b On failure go to the next alternation in the group */
-#define KEEPS 92 /* 0x5c $& begins here. */
-#define LNBREAK 93 /* 0x5d generic newline pattern */
-#define OPTIMIZED 94 /* 0x5e Placeholder for dump. */
-#define PSEUDO 95 /* 0x5f Pseudo opcode for internal use. */
+#define POSIXD 22 /* 0x16 Some [[:class:]] under /d; the FLAGS field gives which one */
+#define POSIXL 23 /* 0x17 Some [[:class:]] under /l; the FLAGS field gives which one */
+#define POSIXU 24 /* 0x18 Some [[:class:]] under /u; the FLAGS field gives which one */
+#define POSIXA 25 /* 0x19 Some [[:class:]] under /a; the FLAGS field gives which one */
+#define NPOSIXD 26 /* 0x1a complement of POSIXD, [[:^class:]] */
+#define NPOSIXL 27 /* 0x1b complement of POSIXL, [[:^class:]] */
+#define NPOSIXU 28 /* 0x1c complement of POSIXU, [[:^class:]] */
+#define NPOSIXA 29 /* 0x1d complement of POSIXA, [[:^class:]] */
+#define CLUMP 30 /* 0x1e Match any extended grapheme cluster 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 non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define EXACTFL 35 /* 0x23 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define EXACTFU 36 /* 0x24 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
+#define EXACTFA 37 /* 0x25 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define EXACTFU_SS 38 /* 0x26 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
+#define EXACTFA_NO_TRIE 39 /* 0x27 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
+#define NOTHING 40 /* 0x28 Match empty string. */
+#define TAIL 41 /* 0x29 Match empty string. Can jump here from outside. */
+#define STAR 42 /* 0x2a Match this (simple) thing 0 or more times. */
+#define PLUS 43 /* 0x2b Match this (simple) thing 1 or more times. */
+#define CURLY 44 /* 0x2c Match this simple thing {n,m} times. */
+#define CURLYN 45 /* 0x2d Capture next-after-this simple thing */
+#define CURLYM 46 /* 0x2e Capture this medium-complex thing {n,m} times. */
+#define CURLYX 47 /* 0x2f Match this complex thing {n,m} times. */
+#define WHILEM 48 /* 0x30 Do curly processing and see if rest matches. */
+#define OPEN 49 /* 0x31 Mark this point in input as start of #n. */
+#define CLOSE 50 /* 0x32 Analogous to OPEN. */
+#define REF 51 /* 0x33 Match some already matched string */
+#define REFF 52 /* 0x34 Match already matched string, folded using native charset rules for non-utf8 */
+#define REFFL 53 /* 0x35 Match already matched string, folded in loc. */
+#define REFFU 54 /* 0x36 Match already matched string, folded using unicode rules for non-utf8 */
+#define REFFA 55 /* 0x37 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define NREF 56 /* 0x38 Match some already matched string */
+#define NREFF 57 /* 0x39 Match already matched string, folded using native charset rules for non-utf8 */
+#define NREFFL 58 /* 0x3a Match already matched string, folded in loc. */
+#define NREFFU 59 /* 0x3b Match already matched string, folded using unicode rules for non-utf8 */
+#define NREFFA 60 /* 0x3c Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define IFMATCH 61 /* 0x3d Succeeds if the following matches. */
+#define UNLESSM 62 /* 0x3e Fails if the following matches. */
+#define SUSPEND 63 /* 0x3f "Independent" sub-RE. */
+#define IFTHEN 64 /* 0x40 Switch, should be preceded by switcher. */
+#define GROUPP 65 /* 0x41 Whether the group matched. */
+#define LONGJMP 66 /* 0x42 Jump far away. */
+#define BRANCHJ 67 /* 0x43 BRANCH with long offset. */
+#define EVAL 68 /* 0x44 Execute some Perl code. */
+#define MINMOD 69 /* 0x45 Next operator is not greedy. */
+#define LOGICAL 70 /* 0x46 Next opcode should set the flag only. */
+#define RENUM 71 /* 0x47 Group with independently numbered parens. */
+#define TRIE 72 /* 0x48 Match many EXACT(F[ALU]?)? at once. flags==type */
+#define TRIEC 73 /* 0x49 Same as TRIE, but with embedded charclass data */
+#define AHOCORASICK 74 /* 0x4a Aho Corasick stclass. flags==type */
+#define AHOCORASICKC 75 /* 0x4b Same as AHOCORASICK, but with embedded charclass data */
+#define GOSUB 76 /* 0x4c recurse to paren arg1 at (signed) ofs arg2 */
+#define GOSTART 77 /* 0x4d recurse to start of pattern */
+#define NGROUPP 78 /* 0x4e Whether the group matched. */
+#define INSUBP 79 /* 0x4f Whether we are in a specific recurse. */
+#define DEFINEP 80 /* 0x50 Never execute directly. */
+#define ENDLIKE 81 /* 0x51 Used only for the type field of verbs */
+#define OPFAIL 82 /* 0x52 Same as (?!) */
+#define ACCEPT 83 /* 0x53 Accepts the current matched string. */
+#define VERB 84 /* 0x54 Used only for the type field of verbs */
+#define PRUNE 85 /* 0x55 Pattern fails at this startpoint if no-backtracking through this */
+#define MARKPOINT 86 /* 0x56 Push the current location for rollback by cut. */
+#define SKIP 87 /* 0x57 On failure skip forward (to the mark) before retrying */
+#define COMMIT 88 /* 0x58 Pattern fails outright if backtracking through this */
+#define CUTGROUP 89 /* 0x59 On failure go to the next alternation in the group */
+#define KEEPS 90 /* 0x5a $& begins here. */
+#define LNBREAK 91 /* 0x5b generic newline pattern */
+#define OPTIMIZED 92 /* 0x5c Placeholder for dump. */
+#define PSEUDO 93 /* 0x5d 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 */
@@ -175,8 +173,6 @@ EXTCONST U8 PL_regkind[] = {
REG_ANY, /* SANY */
REG_ANY, /* CANY */
ANYOF, /* ANYOF */
- ANYOF, /* ANYOF_WARN_SUPER */
- ANYOF, /* ANYOF_SYNTHETIC */
POSIXD, /* POSIXD */
POSIXD, /* POSIXL */
POSIXD, /* POSIXU */
@@ -194,7 +190,7 @@ EXTCONST U8 PL_regkind[] = {
EXACT, /* EXACTFU */
EXACT, /* EXACTFA */
EXACT, /* EXACTFU_SS */
- EXACT, /* EXACTFU_TRICKYFOLD */
+ EXACT, /* EXACTFA_NO_TRIE */
NOTHING, /* NOTHING */
NOTHING, /* TAIL */
STAR, /* STAR */
@@ -319,8 +315,6 @@ static const U8 regarglen[] = {
0, /* SANY */
0, /* CANY */
0, /* ANYOF */
- 0, /* ANYOF_WARN_SUPER */
- 0, /* ANYOF_SYNTHETIC */
0, /* POSIXD */
0, /* POSIXL */
0, /* POSIXU */
@@ -338,7 +332,7 @@ static const U8 regarglen[] = {
0, /* EXACTFU */
0, /* EXACTFA */
0, /* EXACTFU_SS */
- 0, /* EXACTFU_TRICKYFOLD */
+ 0, /* EXACTFA_NO_TRIE */
0, /* NOTHING */
0, /* TAIL */
0, /* STAR */
@@ -420,8 +414,6 @@ static const char reg_off_by_arg[] = {
0, /* SANY */
0, /* CANY */
0, /* ANYOF */
- 0, /* ANYOF_WARN_SUPER */
- 0, /* ANYOF_SYNTHETIC */
0, /* POSIXD */
0, /* POSIXL */
0, /* POSIXU */
@@ -439,7 +431,7 @@ static const char reg_off_by_arg[] = {
0, /* EXACTFU */
0, /* EXACTFA */
0, /* EXACTFU_SS */
- 0, /* EXACTFU_TRICKYFOLD */
+ 0, /* EXACTFA_NO_TRIE */
0, /* NOTHING */
0, /* TAIL */
0, /* STAR */
@@ -526,80 +518,78 @@ EXTCONST char * const PL_reg_name[] = {
"SANY", /* 0x13 */
"CANY", /* 0x14 */
"ANYOF", /* 0x15 */
- "ANYOF_WARN_SUPER", /* 0x16 */
- "ANYOF_SYNTHETIC", /* 0x17 */
- "POSIXD", /* 0x18 */
- "POSIXL", /* 0x19 */
- "POSIXU", /* 0x1a */
- "POSIXA", /* 0x1b */
- "NPOSIXD", /* 0x1c */
- "NPOSIXL", /* 0x1d */
- "NPOSIXU", /* 0x1e */
- "NPOSIXA", /* 0x1f */
- "CLUMP", /* 0x20 */
- "BRANCH", /* 0x21 */
- "BACK", /* 0x22 */
- "EXACT", /* 0x23 */
- "EXACTF", /* 0x24 */
- "EXACTFL", /* 0x25 */
- "EXACTFU", /* 0x26 */
- "EXACTFA", /* 0x27 */
- "EXACTFU_SS", /* 0x28 */
- "EXACTFU_TRICKYFOLD", /* 0x29 */
- "NOTHING", /* 0x2a */
- "TAIL", /* 0x2b */
- "STAR", /* 0x2c */
- "PLUS", /* 0x2d */
- "CURLY", /* 0x2e */
- "CURLYN", /* 0x2f */
- "CURLYM", /* 0x30 */
- "CURLYX", /* 0x31 */
- "WHILEM", /* 0x32 */
- "OPEN", /* 0x33 */
- "CLOSE", /* 0x34 */
- "REF", /* 0x35 */
- "REFF", /* 0x36 */
- "REFFL", /* 0x37 */
- "REFFU", /* 0x38 */
- "REFFA", /* 0x39 */
- "NREF", /* 0x3a */
- "NREFF", /* 0x3b */
- "NREFFL", /* 0x3c */
- "NREFFU", /* 0x3d */
- "NREFFA", /* 0x3e */
- "IFMATCH", /* 0x3f */
- "UNLESSM", /* 0x40 */
- "SUSPEND", /* 0x41 */
- "IFTHEN", /* 0x42 */
- "GROUPP", /* 0x43 */
- "LONGJMP", /* 0x44 */
- "BRANCHJ", /* 0x45 */
- "EVAL", /* 0x46 */
- "MINMOD", /* 0x47 */
- "LOGICAL", /* 0x48 */
- "RENUM", /* 0x49 */
- "TRIE", /* 0x4a */
- "TRIEC", /* 0x4b */
- "AHOCORASICK", /* 0x4c */
- "AHOCORASICKC", /* 0x4d */
- "GOSUB", /* 0x4e */
- "GOSTART", /* 0x4f */
- "NGROUPP", /* 0x50 */
- "INSUBP", /* 0x51 */
- "DEFINEP", /* 0x52 */
- "ENDLIKE", /* 0x53 */
- "OPFAIL", /* 0x54 */
- "ACCEPT", /* 0x55 */
- "VERB", /* 0x56 */
- "PRUNE", /* 0x57 */
- "MARKPOINT", /* 0x58 */
- "SKIP", /* 0x59 */
- "COMMIT", /* 0x5a */
- "CUTGROUP", /* 0x5b */
- "KEEPS", /* 0x5c */
- "LNBREAK", /* 0x5d */
- "OPTIMIZED", /* 0x5e */
- "PSEUDO", /* 0x5f */
+ "POSIXD", /* 0x16 */
+ "POSIXL", /* 0x17 */
+ "POSIXU", /* 0x18 */
+ "POSIXA", /* 0x19 */
+ "NPOSIXD", /* 0x1a */
+ "NPOSIXL", /* 0x1b */
+ "NPOSIXU", /* 0x1c */
+ "NPOSIXA", /* 0x1d */
+ "CLUMP", /* 0x1e */
+ "BRANCH", /* 0x1f */
+ "BACK", /* 0x20 */
+ "EXACT", /* 0x21 */
+ "EXACTF", /* 0x22 */
+ "EXACTFL", /* 0x23 */
+ "EXACTFU", /* 0x24 */
+ "EXACTFA", /* 0x25 */
+ "EXACTFU_SS", /* 0x26 */
+ "EXACTFA_NO_TRIE", /* 0x27 */
+ "NOTHING", /* 0x28 */
+ "TAIL", /* 0x29 */
+ "STAR", /* 0x2a */
+ "PLUS", /* 0x2b */
+ "CURLY", /* 0x2c */
+ "CURLYN", /* 0x2d */
+ "CURLYM", /* 0x2e */
+ "CURLYX", /* 0x2f */
+ "WHILEM", /* 0x30 */
+ "OPEN", /* 0x31 */
+ "CLOSE", /* 0x32 */
+ "REF", /* 0x33 */
+ "REFF", /* 0x34 */
+ "REFFL", /* 0x35 */
+ "REFFU", /* 0x36 */
+ "REFFA", /* 0x37 */
+ "NREF", /* 0x38 */
+ "NREFF", /* 0x39 */
+ "NREFFL", /* 0x3a */
+ "NREFFU", /* 0x3b */
+ "NREFFA", /* 0x3c */
+ "IFMATCH", /* 0x3d */
+ "UNLESSM", /* 0x3e */
+ "SUSPEND", /* 0x3f */
+ "IFTHEN", /* 0x40 */
+ "GROUPP", /* 0x41 */
+ "LONGJMP", /* 0x42 */
+ "BRANCHJ", /* 0x43 */
+ "EVAL", /* 0x44 */
+ "MINMOD", /* 0x45 */
+ "LOGICAL", /* 0x46 */
+ "RENUM", /* 0x47 */
+ "TRIE", /* 0x48 */
+ "TRIEC", /* 0x49 */
+ "AHOCORASICK", /* 0x4a */
+ "AHOCORASICKC", /* 0x4b */
+ "GOSUB", /* 0x4c */
+ "GOSTART", /* 0x4d */
+ "NGROUPP", /* 0x4e */
+ "INSUBP", /* 0x4f */
+ "DEFINEP", /* 0x50 */
+ "ENDLIKE", /* 0x51 */
+ "OPFAIL", /* 0x52 */
+ "ACCEPT", /* 0x53 */
+ "VERB", /* 0x54 */
+ "PRUNE", /* 0x55 */
+ "MARKPOINT", /* 0x56 */
+ "SKIP", /* 0x57 */
+ "COMMIT", /* 0x58 */
+ "CUTGROUP", /* 0x59 */
+ "KEEPS", /* 0x5a */
+ "LNBREAK", /* 0x5b */
+ "OPTIMIZED", /* 0x5c */
+ "PSEUDO", /* 0x5d */
/* ------------ States ------------- */
"TRIE_next", /* REGNODE_MAX +0x01 */
"TRIE_next_fail", /* REGNODE_MAX +0x02 */
@@ -660,16 +650,16 @@ EXTCONST char * const PL_reg_extflags_name[] = {
"CHARSET1", /* 0x00000040 : "CHARSET" - 0x000000e0 */
"CHARSET2", /* 0x00000080 : "CHARSET" - 0x000000e0 */
"SPLIT", /* 0x00000100 */
- "ANCH_BOL", /* 0x00000200 */
- "ANCH_MBOL", /* 0x00000400 */
- "ANCH_SBOL", /* 0x00000800 */
- "ANCH_GPOS", /* 0x00001000 */
- "GPOS_SEEN", /* 0x00002000 */
- "GPOS_FLOAT", /* 0x00004000 */
+ "IS_ANCHORED", /* 0x00000200 */
+ "UNUSED1", /* 0x00000400 */
+ "UNUSED2", /* 0x00000800 */
+ "UNUSED3", /* 0x00001000 */
+ "UNUSED4", /* 0x00002000 */
+ "UNUSED5", /* 0x00004000 */
"NO_INPLACE_SUBST", /* 0x00008000 */
"EVAL_SEEN", /* 0x00010000 */
- "CANY_SEEN", /* 0x00020000 */
- "NOSCAN", /* 0x00040000 */
+ "UNUSED8", /* 0x00020000 */
+ "UNBOUNDED_QUANTIFIER_SEEN",/* 0x00040000 */
"CHECK_ALL", /* 0x00080000 */
"MATCH_UTF8", /* 0x00100000 */
"USE_INTUIT_NOML", /* 0x00200000 */
@@ -686,6 +676,37 @@ EXTCONST char * const PL_reg_extflags_name[] = {
};
#endif /* DOINIT */
+#ifdef DEBUGGING
+# define REG_EXTFLAGS_NAME_SIZE 32
+#endif
+
+/* PL_reg_intflags_name[] - Opcode/state names in string form, for debugging */
+
+#ifndef DOINIT
+EXTCONST char * PL_reg_intflags_name[];
+#else
+EXTCONST char * const PL_reg_intflags_name[] = {
+ "SKIP", /* 0x00000001 - PREGf_SKIP */
+ "IMPLICIT", /* 0x00000002 - PREGf_IMPLICIT - Converted .* to ^.* */
+ "NAUGHTY", /* 0x00000004 - PREGf_NAUGHTY - how exponential is this pattern? */
+ "VERBARG_SEEN", /* 0x00000008 - PREGf_VERBARG_SEEN */
+ "CUTGROUP_SEEN", /* 0x00000010 - PREGf_CUTGROUP_SEEN */
+ "USE_RE_EVAL", /* 0x00000020 - PREGf_USE_RE_EVAL - compiled with "use re 'eval'" */
+ "NOSCAN", /* 0x00000040 - PREGf_NOSCAN */
+ "CANY_SEEN", /* 0x00000080 - PREGf_CANY_SEEN */
+ "GPOS_SEEN", /* 0x00000100 - PREGf_GPOS_SEEN */
+ "GPOS_FLOAT", /* 0x00000200 - PREGf_GPOS_FLOAT */
+ "ANCH_BOL", /* 0x00000400 - PREGf_ANCH_BOL */
+ "ANCH_MBOL", /* 0x00000800 - PREGf_ANCH_MBOL */
+ "ANCH_SBOL", /* 0x00001000 - PREGf_ANCH_SBOL */
+ "ANCH_GPOS", /* 0x00002000 - PREGf_ANCH_GPOS */
+};
+#endif /* DOINIT */
+
+#ifdef DEBUGGING
+# define REG_INTFLAGS_NAME_SIZE 14
+#endif
+
/* 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)))
@@ -704,7 +725,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
EXTCONST U8 PL_varies_bitmask[];
#else
EXTCONST U8 PL_varies_bitmask[] = {
- 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0xE7, 0x7F, 0x26, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0x00, 0xC0, 0x01, 0xFC, 0xF9, 0x9F, 0x09, 0x00, 0x00, 0x00
};
#endif /* DOINIT */
@@ -716,8 +737,8 @@ EXTCONST U8 PL_varies_bitmask[] = {
EXTCONST U8 PL_simple[] __attribute__deprecated__;
#else
EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
- REG_ANY, SANY, CANY, ANYOF, ANYOF_WARN_SUPER, ANYOF_SYNTHETIC, POSIXD,
- POSIXL, POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
+ REG_ANY, SANY, CANY, ANYOF, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD,
+ NPOSIXL, NPOSIXU, NPOSIXA,
0
};
#endif /* DOINIT */
@@ -726,7 +747,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
EXTCONST U8 PL_simple_bitmask[];
#else
EXTCONST U8 PL_simple_bitmask[] = {
- 0x00, 0x00, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#endif /* DOINIT */
diff --git a/Master/tlpkg/tlperl/lib/CORE/scope.h b/Master/tlpkg/tlperl/lib/CORE/scope.h
index 22c728d1be2..0dce9d64530 100644
--- a/Master/tlpkg/tlperl/lib/CORE/scope.h
+++ b/Master/tlpkg/tlperl/lib/CORE/scope.h
@@ -16,7 +16,7 @@
#define SAVEt_CLEARPADRANGE 1
#define SAVEt_CLEARSV 2
#define SAVEt_REGCONTEXT 3
-#define SAVEt_RE_STATE 4
+/*** SPARE 4 ***/
#define SAVEt_ARG0_MAX 4
@@ -38,12 +38,12 @@
#define SAVEt_OP 18
#define SAVEt_PARSER 19
#define SAVEt_STACK_POS 20
+#define SAVEt_READONLY_OFF 21
-#define SAVEt_ARG1_MAX 20
+#define SAVEt_ARG1_MAX 21
/* two args */
-#define SAVEt_ADELETE 21
#define SAVEt_APTR 22
#define SAVEt_AV 23
#define SAVEt_DESTRUCTOR 24
@@ -64,21 +64,22 @@
#define SAVEt_SAVESWITCHSTACK 39
#define SAVEt_SHARED_PVREF 40
#define SAVEt_SPTR 41
-#define SAVEt_STACK_CXPOS 42
+#define SAVEt_STRLEN 42
#define SAVEt_SV 43
#define SAVEt_SVREF 44
#define SAVEt_VPTR 45
+#define SAVEt_ADELETE 46
-#define SAVEt_ARG2_MAX 45
+#define SAVEt_ARG2_MAX 46
/* three args */
-#define SAVEt_AELEM 46
#define SAVEt_DELETE 47
#define SAVEt_HELEM 48
#define SAVEt_PADSV_AND_MORTALIZE 49
#define SAVEt_SET_SVFLAGS 50
#define SAVEt_GVSLOT 51
+#define SAVEt_AELEM 52
#define SAVEf_SETMAGIC 1
#define SAVEf_KEEPOLDELEM 2
@@ -97,8 +98,8 @@
* macros */
#define SS_MAXPUSH 4
-#define SSCHECK(need) if (PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max) savestack_grow()
-#define SSGROW(need) if (PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max) savestack_grow_cnt(need + SS_MAXPUSH)
+#define SSCHECK(need) if (UNLIKELY(PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max)) savestack_grow()
+#define SSGROW(need) if (UNLIKELY(PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max)) savestack_grow_cnt(need + SS_MAXPUSH)
#define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i))
#define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i))
#define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p))
@@ -122,14 +123,14 @@
#define dSS_ADD \
I32 ix = PL_savestack_ix; \
- ANY *ssp = &PL_savestack[ix];
+ ANY *ssp = &PL_savestack[ix]
#define SS_ADD_END(need) \
assert((need) <= SS_MAXPUSH); \
ix += (need); \
PL_savestack_ix = ix; \
assert(ix <= PL_savestack_max); \
- if ((ix + SS_MAXPUSH) > PL_savestack_max) savestack_grow(); \
+ if (UNLIKELY((ix + SS_MAXPUSH) > PL_savestack_max)) savestack_grow(); \
assert(PL_savestack_ix + SS_MAXPUSH <= PL_savestack_max);
#define SS_ADD_INT(i) ((ssp++)->any_i32 = (I32)(i))
@@ -185,7 +186,8 @@ scope has the given name. Name must be a literal string.
=cut
*/
-#define SAVETMPS save_int((int*)&PL_tmps_floor), PL_tmps_floor = PL_tmps_ix
+#define SAVETMPS Perl_save_strlen(aTHX_ (STRLEN *)&PL_tmps_floor), \
+ PL_tmps_floor = PL_tmps_ix
#define FREETMPS if (PL_tmps_ix > PL_tmps_floor) free_tmps()
#ifdef DEBUGGING
@@ -252,7 +254,7 @@ scope has the given name. Name must be a literal string.
#define SAVEHDELETE(h,s) \
save_hdelete(MUTABLE_HV(h), (s))
#define SAVEADELETE(a,k) \
- save_adelete(MUTABLE_AV(a), (I32)(k))
+ save_adelete(MUTABLE_AV(a), (SSize_t)(k))
#define SAVEDESTRUCTOR(f,p) \
save_destructor((DESTRUCTORFUNC_NOCONTEXT_t)(f), (void*)(p))
@@ -287,15 +289,6 @@ scope has the given name. Name must be a literal string.
save stack. */
#define SAVECOMPILEWARNINGS() save_pushptr(PL_compiling.cop_warnings, SAVEt_COMPILE_WARNINGS)
-#define SAVESTACK_CXPOS() \
- STMT_START { \
- dSS_ADD; \
- SS_ADD_INT(cxstack[cxstack_ix].blk_oldsp); \
- SS_ADD_INT(cxstack_ix); \
- SS_ADD_UV(SAVEt_STACK_CXPOS); \
- SS_ADD_END(3); \
- } STMT_END
-
#define SAVEPARSER(p) save_pushptr((p), SAVEt_PARSER)
#ifdef USE_ITHREADS
diff --git a/Master/tlpkg/tlperl/lib/CORE/sv.h b/Master/tlpkg/tlperl/lib/CORE/sv.h
index 984121fa83d..b129225bd3c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sv.h
@@ -22,7 +22,6 @@ in the C<svtype> enum. Test these flags with the C<SvTYPE> macro.
The types are:
SVt_NULL
- SVt_BIND (unused)
SVt_IV
SVt_NV
SVt_RV
@@ -30,6 +29,7 @@ The types are:
SVt_PVIV
SVt_PVNV
SVt_PVMG
+ SVt_INVLIST
SVt_REGEXP
SVt_PVGV
SVt_PVLV
@@ -57,7 +57,9 @@ typeglob has been assigned. Assigning to it again will stop it from being
a typeglob. SVt_PVLV represents a scalar that delegates to another scalar
behind the scenes. It is used, e.g., for the return value of C<substr> and
for tied hash and array elements. It can hold any scalar value, including
-a typeglob. SVt_REGEXP is for regular expressions.
+a typeglob. SVt_REGEXP is for regular
+expressions. SVt_INVLIST is for Perl
+core internal use only.
SVt_PVMG represents a "normal" scalar (not a typeglob, regular expression,
or delegate). Since most scalars do not need all the internal fields of a
@@ -91,6 +93,9 @@ Type flag for scalars. See L</svtype>.
=for apidoc AmU||SVt_PVMG
Type flag for scalars. See L</svtype>.
+=for apidoc AmU||SVt_INVLIST
+Type flag for scalars. See L</svtype>.
+
=for apidoc AmU||SVt_REGEXP
Type flag for regular expressions. See L</svtype>.
@@ -116,15 +121,22 @@ Type flag for formats. See L</svtype>.
Type flag for I/O objects. See L</svtype>.
=cut
+
+ These are ordered so that the simpler types have a lower value; SvUPGRADE
+ doesn't allow you to upgrade from a higher numbered type to a lower numbered
+ one; also there is code that assumes that anything that has as a PV component
+ has a type numbered >= SVt_PV.
*/
+
typedef enum {
SVt_NULL, /* 0 */
- SVt_BIND, /* 1 */
- SVt_IV, /* 2 */
- SVt_NV, /* 3 */
+ /* BIND was here, before INVLIST replaced it. */
+ SVt_IV, /* 1 */
+ SVt_NV, /* 2 */
/* RV was here, before it was merged with IV. */
- SVt_PV, /* 4 */
+ SVt_PV, /* 3 */
+ SVt_INVLIST, /* 4, implemented as a PV */
SVt_PVIV, /* 5 */
SVt_PVNV, /* 6 */
SVt_PVMG, /* 7 */
@@ -141,13 +153,15 @@ typedef enum {
} svtype;
/* *** any alterations to the SV types above need to be reflected in
- * SVt_MASK and the various PL_valid_types_* tables */
+ * SVt_MASK and the various PL_valid_types_* tables. As of this writing those
+ * tables are in perl.h. There are also two affected names tables in dump.c,
+ * one in B.xs, and 'bodies_by_type[]' in sv.c */
#define SVt_MASK 0xf /* smallest bitmask that covers all types */
#ifndef PERL_CORE
/* Although Fast Boyer Moore tables are now being stored in PVGVs, for most
- purposes eternal code wanting to consider PVBM probably needs to think of
+ purposes external code wanting to consider PVBM probably needs to think of
PVMG instead. */
# define SVt_PVBM SVt_PVMG
/* Anything wanting to create a reference from clean should ensure that it has
@@ -284,7 +298,7 @@ to return a meaningful value, or check for NULLness, so it's smaller
and faster.
=for apidoc Am|void|SvREFCNT_dec|SV* sv
-Decrements the reference count of the given SV. I<sv> may be NULL.
+Decrements the reference count of the given SV. I<sv> may be NULL.
=for apidoc Am|void|SvREFCNT_dec_NN|SV* sv
Same as SvREFCNT_dec, but can only be used if you know I<sv>
@@ -347,6 +361,7 @@ perform the upgrade if necessary. See C<svtype>.
subroutine in another package. Set the
GvIMPORTED_CV_on() if it needs to be
expanded to a real GV */
+#define SVpad_NAMELIST SVp_SCREAM /* AV is a padnamelist */
#define SVf_IsCOW 0x00010000 /* copy on write (shared hash key if
SvLEN == 0) */
#define SVs_PADTMP 0x00020000 /* in use as tmp; only if ! SVs_PADMY */
@@ -390,21 +405,24 @@ perform the upgrade if necessary. See C<svtype>.
#define SVf_AMAGIC 0x10000000 /* has magical overloaded methods */
+/* note that SVf_AMAGIC is now only set on stashes, so this bit is free
+ * for non-HV SVs */
+
/* Ensure this value does not clash with the GV_ADD* flags in gv.h: */
#define SVf_UTF8 0x20000000 /* SvPV is UTF-8 encoded
This is also set on RVs whose overloaded
stringification is UTF-8. This might
only happen as a side effect of SvPV() */
-
-
-/* Some private flags. */
+/* PVHV */
+#define SVphv_SHAREKEYS 0x20000000 /* PVHV keys live on shared string table */
/* PVAV could probably use 0x2000000 without conflict. I assume that PVFM can
be UTF-8 encoded, and PVCVs could well have UTF-8 prototypes. PVIOs haven't
been restructured, so sometimes get used as string buffers. */
-/* PVHV */
-#define SVphv_SHAREKEYS 0x20000000 /* PVHV keys live on shared string table */
+
+/* Some private flags. */
+
/* PVNV, PVMG only, and only used in pads. Should be safe to test on any scalar
SV, as the core is careful to avoid setting both.
@@ -463,10 +481,6 @@ union _xnvu {
U32 xlow;
U32 xhigh;
} xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- I32 xbm_useful;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
};
union _xivu {
@@ -479,7 +493,7 @@ union _xmgu {
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
STRLEN xmg_hash_index; /* used while freeing hash entries */
-};
+}; /* also used by PadnamelistMAXNAMED */
struct xpv {
_XPV_HEAD;
@@ -516,7 +530,10 @@ struct xpvlv {
_XPV_HEAD;
union _xivu xiv_u;
union _xnvu xnv_u;
- STRLEN xlv_targoff;
+ union {
+ STRLEN xlvu_targoff;
+ SSize_t xlvu_stargoff;
+ } xlv_targoff_u;
STRLEN xlv_targlen;
SV* xlv_targ;
char xlv_type; /* k=keys .=pos x=substr v=vec /=join/re
@@ -524,6 +541,15 @@ struct xpvlv {
char xlv_flags; /* 1 = negative offset 2 = negative len */
};
+#define xlv_targoff xlv_targoff_u.xlvu_targoff
+
+struct xpvinvlist {
+ _XPV_HEAD;
+ IV prev_index;
+ STRLEN iterator;
+ bool is_offset; /* */
+};
+
/* This structure works in 3 ways - regular scalar, GV with GP, or fast
Boyer-Moore. */
struct xpvgv {
@@ -532,7 +558,7 @@ struct xpvgv {
union _xnvu xnv_u;
};
-typedef U16 cv_flags_t;
+typedef U32 cv_flags_t;
#define _XPVCV_COMMON \
HV * xcv_stash; \
@@ -624,7 +650,7 @@ double. Checks the B<private> setting. Use C<SvNIOK> instead.
Unsets the NV/IV status of an SV.
=for apidoc Am|U32|SvOK|SV* sv
-Returns a U32 value indicating whether the value is defined. This is
+Returns a U32 value indicating whether the value is defined. This is
only meaningful for scalars.
=for apidoc Am|U32|SvIOKp|SV* sv
@@ -730,7 +756,8 @@ Only use when you are sure SvNOK is true. See also C<SvNV()>.
=for apidoc Am|char*|SvPVX|SV* sv
Returns a pointer to the physical string in the SV. The SV must contain a
-string. Prior to 5.9.3 it is not safe to execute this macro unless the SV's
+string. Prior to 5.9.3 it is not safe
+to execute this macro unless the SV's
type >= SVt_PV.
This is also used to store the name of an autoloaded subroutine in an XS
@@ -746,7 +773,7 @@ attributable to C<SvOOK>. See C<SvCUR>.
=for apidoc Am|char*|SvEND|SV* sv
Returns a pointer to the spot just after the last character in
the string which is in the SV, where there is usually a trailing
-null (even though Perl scalars do not strictly require it).
+C<NUL> character (even though Perl scalars do not strictly require it).
See C<SvCUR>. Access the character as *(SvEND(sv)).
Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
@@ -765,7 +792,8 @@ C<SvIV_set> instead of the lvalue assignment to C<SvIVX>.
Set the value of the NV pointer in sv to val. See C<SvIV_set>.
=for apidoc Am|void|SvPV_set|SV* sv|char* val
-Set the value of the PV pointer in sv to val. See also C<SvIV_set>.
+Set the value of the PV pointer in C<sv> to the C<NUL>-terminated string
+C<val>. See also C<SvIV_set>.
Beware that the existing pointer may be involved in copy-on-write or other
mischief, so do C<SvOOK_off(sv)> and use C<sv_force_normal> or
@@ -932,6 +960,7 @@ in gv.h: */
#define HvAMAGIC_off(hv) (SvFLAGS(hv) &=~ SVf_AMAGIC)
+/* "nog" means "doesn't have get magic" */
#define SvPOK_nog(sv) ((SvFLAGS(sv) & (SVf_POK|SVs_GMG)) == SVf_POK)
#define SvIOK_nog(sv) ((SvFLAGS(sv) & (SVf_IOK|SVs_GMG)) == SVf_IOK)
#define SvUOK_nog(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV|SVs_GMG)) == (SVf_IOK|SVf_IVisUV))
@@ -1056,27 +1085,30 @@ sv_force_normal does nothing.
#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define SvVALID(sv) ({ const SV *const _svvalid = (const SV*)(sv); \
- if (SvFLAGS(_svvalid) & SVpbm_VALID) \
+ if (SvFLAGS(_svvalid) & SVpbm_VALID && !SvSCREAM(_svvalid)) \
assert(!isGV_with_GP(_svvalid)); \
(SvFLAGS(_svvalid) & SVpbm_VALID); \
})
# define SvVALID_on(sv) ({ SV *const _svvalid = MUTABLE_SV(sv); \
assert(!isGV_with_GP(_svvalid)); \
+ assert(!SvSCREAM(_svvalid)); \
(SvFLAGS(_svvalid) |= SVpbm_VALID); \
})
# define SvVALID_off(sv) ({ SV *const _svvalid = MUTABLE_SV(sv); \
assert(!isGV_with_GP(_svvalid)); \
+ assert(!SvSCREAM(_svvalid)); \
(SvFLAGS(_svvalid) &= ~SVpbm_VALID); \
})
# define SvTAIL(sv) ({ const SV *const _svtail = (const SV *)(sv); \
- assert(SvTYPE(_svtail) != SVt_PVAV); \
- assert(SvTYPE(_svtail) != SVt_PVHV); \
+ assert(SvTYPE(_svtail) != SVt_PVAV); \
+ assert(SvTYPE(_svtail) != SVt_PVHV); \
+ assert(!SvSCREAM(_svtail)); \
(SvFLAGS(sv) & (SVpbm_TAIL|SVpbm_VALID)) \
== (SVpbm_TAIL|SVpbm_VALID); \
})
#else
-# define SvVALID(sv) (SvFLAGS(sv) & SVpbm_VALID)
+# define SvVALID(sv) ((SvFLAGS(sv) & SVpbm_VALID) && !SvSCREAM(sv))
# define SvVALID_on(sv) (SvFLAGS(sv) |= SVpbm_VALID)
# define SvVALID_off(sv) (SvFLAGS(sv) &= ~SVpbm_VALID)
# define SvTAIL(sv) ((SvFLAGS(sv) & (SVpbm_TAIL|SVpbm_VALID)) \
@@ -1331,7 +1363,7 @@ sv_force_normal does nothing.
assert(SvTYPE(sv) >= SVt_PV); \
if (SvLEN(sv)) { \
assert(!SvROK(sv)); \
- if(SvOOK(sv)) { \
+ if(UNLIKELY(SvOOK(sv))) { \
STRLEN zok; \
SvOOK_offset(sv, zok); \
SvPV_set(sv, SvPVX_mutable(sv) - zok); \
@@ -1361,37 +1393,29 @@ sv_force_normal does nothing.
#endif
#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define BmRARE(sv) \
- (*({ SV *const _bmrare = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmrare) == SVt_PVMG); \
- assert(SvVALID(_bmrare)); \
- &(((XPVMG*) SvANY(_bmrare))->xnv_u.xbm_s.xbm_rare); \
- }))
# define BmUSEFUL(sv) \
(*({ SV *const _bmuseful = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmuseful) == SVt_PVMG); \
+ assert(SvTYPE(_bmuseful) >= SVt_PVIV); \
assert(SvVALID(_bmuseful)); \
assert(!SvIOK(_bmuseful)); \
- &(((XPVMG*) SvANY(_bmuseful))->xnv_u.xbm_s.xbm_useful); \
- }))
-# define BmPREVIOUS(sv) \
- (*({ SV *const _bmprevious = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmprevious) == SVt_PVMG); \
- assert(SvVALID(_bmprevious)); \
- &(((XPVMG*) SvANY(_bmprevious))->xiv_u.xivu_uv); \
+ &(((XPVIV*) SvANY(_bmuseful))->xiv_u.xivu_iv); \
}))
#else
-# define BmRARE(sv) ((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
-# define BmUSEFUL(sv) ((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_useful
-# define BmPREVIOUS(sv) ((XPVMG*) SvANY(sv))->xiv_u.xivu_uv
+# define BmUSEFUL(sv) ((XPVIV*) SvANY(sv))->xiv_u.xivu_iv
#endif
+#ifndef PERL_CORE
+# define BmRARE(sv) 0
+# define BmPREVIOUS(sv) 0
+#endif
+
#define FmLINES(sv) ((XPVIV*) SvANY(sv))->xiv_iv
#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 LvSTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff_u.xlvu_stargoff
#define LvTARGLEN(sv) ((XPVLV*) SvANY(sv))->xlv_targlen
#define LvFLAGS(sv) ((XPVLV*) SvANY(sv))->xlv_flags
@@ -1436,7 +1460,7 @@ Marks an SV as tainted if tainting is enabled.
Untaints an SV. Be I<very> careful with this routine, as it short-circuits
some of Perl's fundamental security features. XS module authors should not
use this function unless they fully understand all the implications of
-unconditionally untainting the value. Untainting should be done in the
+unconditionally untainting the value. Untainting should be done in the
standard perl fashion, via a carefully crafted regexp, rather than directly
untainting variables.
@@ -1452,18 +1476,18 @@ attention to precisely which outputs are influenced by which inputs.
#define sv_taint(sv) sv_magic((sv), NULL, PERL_MAGIC_taint, NULL, 0)
-#if NO_TAINT_SUPPORT
+#ifdef NO_TAINT_SUPPORT
# define SvTAINTED(sv) 0
#else
# define SvTAINTED(sv) (SvMAGICAL(sv) && sv_tainted(sv))
#endif
-#define SvTAINTED_on(sv) STMT_START{ if(TAINTING_get){sv_taint(sv);} }STMT_END
-#define SvTAINTED_off(sv) STMT_START{ if(TAINTING_get){sv_untaint(sv);} }STMT_END
+#define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END
+#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
#define SvTAINT(sv) \
STMT_START { \
- if (TAINTING_get) { \
- if (TAINT_get) \
+ if (UNLIKELY(TAINTING_get)) { \
+ if (UNLIKELY(TAINT_get)) \
SvTAINTED_on(sv); \
} \
} STMT_END
@@ -1475,7 +1499,7 @@ only a string (C<SvPOK_only>), by hook or by crook. You need force if you are
going to update the C<SvPVX> directly. Processes get magic.
Note that coercing an arbitrary scalar into a plain PV will potentially
-strip useful data from it. For example if the SV was C<SvROK>, then the
+strip useful data from it. For example if the SV was C<SvROK>, then the
referent will have its reference count decremented, and the SV itself may
be converted to an C<SvPOK> scalar with a string buffer containing a value
such as C<"ARRAY(0x1234)">.
@@ -1486,13 +1510,15 @@ Like C<SvPV_force>, but doesn't process get magic.
=for apidoc Am|char*|SvPV|SV* sv|STRLEN len
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 version becoming C<SvPOK>. Handles 'get' magic. See also
-C<SvPVx> for a version which guarantees to evaluate sv only once.
+stringified version becoming C<SvPOK>. Handles 'get' magic. The
+C<len> variable will be set to the length of the string (this is a macro, so
+don't use C<&len>). See also C<SvPVx> for a version which guarantees to
+evaluate sv only once.
Note that there is no guarantee that the return value of C<SvPV()> is
equal to C<SvPVX(sv)>, or that C<SvPVX(sv)> contains valid data, or that
-successive calls to C<SvPV(sv)) will return the same pointer value each
-time. This is due to the way that things like overloading and
+successive calls to C<SvPV(sv)> will return the same pointer value each
+time. This is due to the way that things like overloading and
Copy-On-Write are handled. In these cases, the return value may point to
a temporary buffer or similar. If you absolutely need the SvPVX field to
be valid (for example, if you intend to write to it), then see
@@ -1599,8 +1625,8 @@ Like C<SvPV>, but converts sv to byte representation first if necessary.
Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte>
otherwise.
-=for apidoc Am|bool|SvIsCOW|SV* sv
-Returns a boolean indicating whether the SV is Copy-On-Write (either shared
+=for apidoc Am|U32|SvIsCOW|SV* sv
+Returns a U32 value indicating whether the SV is Copy-On-Write (either shared
hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for
COW).
@@ -1682,6 +1708,7 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
(SvPOK_nog(sv) \
? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC))
+/* "_nomg" in these defines means no mg_get() */
#define SvPV_nomg_nolen(sv) \
(SvPOK_nog(sv) \
? SvPVX(sv) : sv_2pv_flags(sv, 0, 0))
@@ -1732,9 +1759,9 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
#define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp)
#define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp)
-#define SvTRUE(sv) ((sv) && (SvGMAGICAL(sv) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv))))
-#define SvTRUE_nomg(sv) ((sv) && ( SvTRUE_common(sv, sv_2bool_nomg(sv))))
-#define SvTRUE_NN(sv) (SvGMAGICAL(sv) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv)))
+#define SvTRUE(sv) (LIKELY(sv) && (UNLIKELY(SvGMAGICAL(sv)) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv))))
+#define SvTRUE_nomg(sv) (LIKELY(sv) && ( SvTRUE_common(sv, sv_2bool_nomg(sv))))
+#define SvTRUE_NN(sv) (UNLIKELY(SvGMAGICAL(sv)) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv)))
#define SvTRUE_nomg_NN(sv) ( SvTRUE_common(sv, sv_2bool_nomg(sv)))
#define SvTRUE_common(sv,fallback) ( \
!SvOK(sv) \
@@ -1885,12 +1912,6 @@ mg.c:1024: warning: left-hand operand of comma expression has no effect
/* Note: To allow 256 COW "copies", a refcnt of 0 means 1. */
# define CowREFCNT(sv) (*(U8 *)(SvPVX(sv)+SvLEN(sv)-1))
# define SV_COW_REFCNT_MAX ((1 << sizeof(U8)*8) - 1)
-# ifndef SV_COW_THRESHOLD
-# define SV_COW_THRESHOLD 0 /* min string length for cow */
-# endif
-# ifndef SV_COWBUF_THRESHOLD
-# define SV_COWBUF_THRESHOLD 1250 /* min string length for cow */
-# endif /* over existing buffer */
# define CAN_COW_MASK (SVf_POK|SVf_ROK|SVp_POK|SVf_FAKE| \
SVf_OOK|SVf_BREAK|SVf_READONLY)
# endif
@@ -1959,12 +1980,11 @@ mg.c:1024: warning: left-hand operand of comma expression has no effect
#define sv_catpvn_nomg_maybeutf8(dsv, sstr, slen, is_utf8) \
sv_catpvn_flags(dsv, sstr, slen, (is_utf8)?SV_CATUTF8:SV_CATBYTES)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
# define sv_or_pv_len_utf8(sv, pv, bytelen) \
(SvGAMAGIC(sv) \
? utf8_length((U8 *)(pv), (U8 *)(pv)+(bytelen)) \
: sv_len_utf8(sv))
-# define sv_or_pv_pos_u2b(sv,s,p,lp) S_sv_or_pv_pos_u2b(aTHX_ sv,s,p,lp)
#endif
/*
@@ -1994,15 +2014,15 @@ after modifying a scalar, in case it is a magical variable like C<$|>
or a tied variable (it calls C<STORE>). This macro evaluates its
argument more than once.
-=for apidoc Am|void|SvSetSV|SV* dsb|SV* ssv
+=for apidoc Am|void|SvSetSV|SV* dsv|SV* ssv
Calls C<sv_setsv> if dsv is not the same as ssv. May evaluate arguments
-more than once.
+more than once. Does not handle 'set' magic on the destination SV.
=for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
ssv. May evaluate arguments more than once.
-=for apidoc Am|void|SvSetMagicSV|SV* dsb|SV* ssv
+=for apidoc Am|void|SvSetMagicSV|SV* dsv|SV* ssv
Like C<SvSetSV>, but does any set magic required afterwards.
=for apidoc Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv
@@ -2025,8 +2045,9 @@ has been loaded.
=for apidoc Am|char *|SvGROW|SV* sv|STRLEN len
Expands the character buffer in the SV so that it has room for the
indicated number of bytes (remember to reserve space for an extra trailing
-NUL character). Calls C<sv_grow> to perform the expansion if necessary.
-Returns a pointer to the character buffer. SV must be of type >= SVt_PV. One
+C<NUL> character). Calls C<sv_grow> to perform the expansion if necessary.
+Returns a pointer to the character
+buffer. SV must be of type >= SVt_PV. One
alternative is to call C<sv_grow> if you are not sure of the type of SV.
=cut
@@ -2037,19 +2058,19 @@ alternative is to call C<sv_grow> if you are not sure of the type of SV.
#define SvUNLOCK(sv) PL_unlockhook(aTHX_ sv)
#define SvDESTROYABLE(sv) PL_destroyhook(aTHX_ sv)
-#define SvGETMAGIC(x) ((void)(SvGMAGICAL(x) && mg_get(x)))
-#define SvSETMAGIC(x) STMT_START { if (SvSMAGICAL(x)) mg_set(x); } STMT_END
+#define SvGETMAGIC(x) ((void)(UNLIKELY(SvGMAGICAL(x)) && mg_get(x)))
+#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
#define SvSetSV_and(dst,src,finally) \
STMT_START { \
- if ((dst) != (src)) { \
+ if (LIKELY((dst) != (src))) { \
sv_setsv(dst, src); \
finally; \
} \
} STMT_END
#define SvSetSV_nosteal_and(dst,src,finally) \
STMT_START { \
- if ((dst) != (src)) { \
+ if (LIKELY((dst) != (src))) { \
sv_setsv_flags(dst, src, SV_GMAGIC | SV_NOSTEAL | SV_DO_COW_SVSETSV); \
finally; \
} \
@@ -2117,7 +2138,7 @@ See also C<PL_sv_yes> and C<PL_sv_no>.
== (SVt_PVLV|SVf_FAKE))
-#ifdef PERL_NEW_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
# define SvGROW(sv,len) \
(SvIsCOW(sv) || SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
#else
@@ -2143,7 +2164,8 @@ struct clone_params {
/*
=for apidoc Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
-Creates a new SV and copies a string into it. If utf8 is true, calls
+Creates a new SV and copies a string (which may contain C<NUL> (C<\0>)
+characters) into it. If utf8 is true, calls
C<SvUTF8_on> on the new SV. Implemented as a wrapper around C<newSVpvn_flags>.
=cut
@@ -2220,6 +2242,54 @@ Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
#define newIO() MUTABLE_IO(newSV_type(SVt_PVIO))
+#define SV_CONST(name) \
+ PL_sv_consts[SV_CONST_##name] \
+ ? PL_sv_consts[SV_CONST_##name] \
+ : (PL_sv_consts[SV_CONST_##name] = newSVpv_share(#name, 0))
+
+#define SV_CONST_TIESCALAR 0
+#define SV_CONST_TIEARRAY 1
+#define SV_CONST_TIEHASH 2
+#define SV_CONST_TIEHANDLE 3
+
+#define SV_CONST_FETCH 4
+#define SV_CONST_FETCHSIZE 5
+#define SV_CONST_STORE 6
+#define SV_CONST_STORESIZE 7
+#define SV_CONST_EXISTS 8
+
+#define SV_CONST_PUSH 9
+#define SV_CONST_POP 10
+#define SV_CONST_SHIFT 11
+#define SV_CONST_UNSHIFT 12
+#define SV_CONST_SPLICE 13
+#define SV_CONST_EXTEND 14
+
+#define SV_CONST_FIRSTKEY 15
+#define SV_CONST_NEXTKEY 16
+#define SV_CONST_SCALAR 17
+
+#define SV_CONST_OPEN 18
+#define SV_CONST_WRITE 19
+#define SV_CONST_PRINT 20
+#define SV_CONST_PRINTF 21
+#define SV_CONST_READ 22
+#define SV_CONST_READLINE 23
+#define SV_CONST_GETC 24
+#define SV_CONST_SEEK 25
+#define SV_CONST_TELL 26
+#define SV_CONST_EOF 27
+#define SV_CONST_BINMODE 28
+#define SV_CONST_FILENO 29
+#define SV_CONST_CLOSE 30
+
+#define SV_CONST_DELETE 31
+#define SV_CONST_CLEAR 32
+#define SV_CONST_UNTIE 33
+#define SV_CONST_DESTROY 34
+
+#define SV_CONSTS_COUNT 35
+
/*
* Local variables:
* c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h b/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h
new file mode 100644
index 00000000000..3ca85e33ae7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h
@@ -0,0 +1,178 @@
+#ifndef _INC_SYS_ERRNO2
+#define _INC_SYS_ERRNO2
+
+/* 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
+#endif
+
+/* Ensure all the Exxx constants required by convert_wsa_error_to_errno() in
+ * win32/win32sck.c are defined. Many are defined in <errno.h> already (more so
+ * in VC++ 2010 and above and some MinGW/gcc-4.8 and above, which have an extra
+ * "POSIX supplement") so, for the sake of compatibility with third-party code
+ * linked into XS modules, we must be careful not to redefine them; for the
+ * remainder we define our own values, namely the corresponding WSAExxx values.
+ *
+ * These definitions are also used as a supplement to the use of <errno.h> in
+ * the Errno and POSIX modules, both of which may be used to test the value of
+ * $!, which may have these values assigned to it (via code in win32/win32sck.c
+ * and the $! case in Perl_magic_set()). It also provides numerous otherwise
+ * missing values in the (hard-coded) list of Exxx constants exported by POSIX.
+ * Finally, three of the non-standard errno.h values (actually all now in the
+ * POSIX supplement in VC10+ and some MinGW/gcc-4.8+) are used in the perl core.
+ *
+ * This list is in the same order as that in convert_wsa_error_to_errno(). A
+ * handful of WSAExxx constants used by that function have no corresponding Exxx
+ * constant in any errno.h so there is no point in making up values for them;
+ * they are just returned unchanged by that function so we do not need to worry
+ * about them here.
+ */
+
+/* EINTR is a standard errno.h value */
+/* EBADF is a standard errno.h value */
+/* EACCES is a standard errno.h value */
+/* EFAULT is a standard errno.h value */
+/* EINVAL is a standard errno.h value */
+/* EMFILE is a standard errno.h value */
+
+#ifndef EWOULDBLOCK /* New in VC10 */
+# define EWOULDBLOCK WSAEWOULDBLOCK
+#endif
+#ifndef EINPROGRESS /* New in VC10 */
+# define EINPROGRESS WSAEINPROGRESS
+#endif
+#ifndef EALREADY /* New in VC10 */
+# define EALREADY WSAEALREADY
+#endif
+#ifndef ENOTSOCK /* New in VC10 and needed in doio.c */
+# define ENOTSOCK WSAENOTSOCK
+#endif
+#ifndef EDESTADDRREQ /* New in VC10 */
+# define EDESTADDRREQ WSAEDESTADDRREQ
+#endif
+#ifndef EMSGSIZE /* New in VC10 */
+# define EMSGSIZE WSAEMSGSIZE
+#endif
+#ifndef EPROTOTYPE /* New in VC10 */
+# define EPROTOTYPE WSAEPROTOTYPE
+#endif
+#ifndef ENOPROTOOPT /* New in VC10 */
+# define ENOPROTOOPT WSAENOPROTOOPT
+#endif
+#ifndef EPROTONOSUPPORT /* New in VC10 */
+# define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+#endif
+#ifndef ESOCKTNOSUPPORT /* Not in errno.h but wanted by POSIX.pm */
+# define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
+#endif
+#ifndef EOPNOTSUPP /* New in VC10 */
+# define EOPNOTSUPP WSAEOPNOTSUPP
+#endif
+#ifndef EPFNOSUPPORT /* Not in errno.h but wanted by POSIX.pm */
+# define EPFNOSUPPORT WSAEPFNOSUPPORT
+#endif
+#ifndef EAFNOSUPPORT /* New in VC10 and needed in util.c */
+# define EAFNOSUPPORT WSAEAFNOSUPPORT
+#endif
+#ifndef EADDRINUSE /* New in VC10 */
+# define EADDRINUSE WSAEADDRINUSE
+#endif
+#ifndef EADDRNOTAVAIL /* New in VC10 */
+# define EADDRNOTAVAIL WSAEADDRNOTAVAIL
+#endif
+#ifndef ENETDOWN /* New in VC10 */
+# define ENETDOWN WSAENETDOWN
+#endif
+#ifndef ENETUNREACH /* New in VC10 */
+# define ENETUNREACH WSAENETUNREACH
+#endif
+#ifndef ENETRESET /* New in VC10 */
+# define ENETRESET WSAENETRESET
+#endif
+#ifndef ECONNABORTED /* New in VC10 and needed in util.c */
+# define ECONNABORTED WSAECONNABORTED
+#endif
+#ifndef ECONNRESET /* New in VC10 */
+# define ECONNRESET WSAECONNRESET
+#endif
+#ifndef ENOBUFS /* New in VC10 */
+# define ENOBUFS WSAENOBUFS
+#endif
+#ifndef EISCONN /* New in VC10 */
+# define EISCONN WSAEISCONN
+#endif
+#ifndef ENOTCONN /* New in VC10 */
+# define ENOTCONN WSAENOTCONN
+#endif
+#ifndef ESHUTDOWN /* Not in errno.h but wanted by POSIX.pm */
+# define ESHUTDOWN WSAESHUTDOWN
+#endif
+#ifndef ETOOMANYREFS /* Not in errno.h but wanted by POSIX.pm */
+# define ETOOMANYREFS WSAETOOMANYREFS
+#endif
+#ifndef ETIMEDOUT /* New in VC10 */
+# define ETIMEDOUT WSAETIMEDOUT
+#endif
+#ifndef ECONNREFUSED /* New in VC10 */
+# define ECONNREFUSED WSAECONNREFUSED
+#endif
+#ifndef ELOOP /* New in VC10 */
+# define ELOOP WSAELOOP
+#endif
+
+/* ENAMETOOLONG is a standard errno.h value */
+
+/* EHOSTDOWN is not in errno.h and despite being wanted by POSIX.pm we cannot
+ * provide any sane value since there is no WSAEHOSTDOWN */
+
+#ifndef EHOSTUNREACH /* New in VC10 */
+# define EHOSTUNREACH WSAEHOSTUNREACH
+#endif
+
+/* ENOTEMPTY is a standard errno.h value */
+
+#ifndef EPROCLIM /* Not in errno.h but wanted by POSIX.pm */
+# define EPROCLIM WSAEPROCLIM
+#endif
+#ifndef EUSERS /* Not in errno.h but wanted by POSIX.pm */
+# define EUSERS WSAEUSERS
+#endif
+#ifndef EDQUOT /* Not in errno.h but wanted by POSIX.pm */
+# define EDQUOT WSAEDQUOT
+#endif
+#ifndef ESTALE /* Not in errno.h but wanted by POSIX.pm */
+# define ESTALE WSAESTALE
+#endif
+#ifndef EREMOTE /* Not in errno.h but wanted by POSIX.pm */
+# define EREMOTE WSAEREMOTE
+#endif
+
+/* EDISCON is not an errno.h value at all */
+/* ENOMORE is not an errno.h value at all */
+
+#ifndef ECANCELED /* New in VC10 */
+# ifdef WSAECANCELLED /* New in WinSock2 */
+# define ECANCELED WSAECANCELLED
+# endif
+#endif
+
+/* EINVALIDPROCTABLE is not an errno.h value at all */
+/* EINVALIDPROVIDER is not an errno.h value at all */
+/* EPROVIDERFAILEDINIT is not an errno.h value at all */
+/* EREFUSED is not an errno.h value at all */
+
+/* Set a flag indicating whether <errno.h> has the POSIX supplement (the first
+ * constant in which is EADDRINUSE). If so then we won't have just defined it as
+ * WSAEADDRINUSE above.
+ */
+#undef ERRNO_HAS_POSIX_SUPPLEMENT
+#if EADDRINUSE != WSAEADDRINUSE
+# define ERRNO_HAS_POSIX_SUPPLEMENT
+#endif
+
+#endif /* _INC_SYS_ERRNO2 */
diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
index 6009572725b..d658913f8b4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
@@ -177,23 +177,11 @@
# define EAI_NODATA WSANO_DATA
#endif
-#include "win32.h"
-
#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
+#include "errno2.h"
#ifndef PERL_FD_SETSIZE
#define PERL_FD_SETSIZE 64
diff --git a/Master/tlpkg/tlperl/lib/CORE/thread.h b/Master/tlpkg/tlperl/lib/CORE/thread.h
index 03965c8b52f..43932fbb3b3 100644
--- a/Master/tlpkg/tlperl/lib/CORE/thread.h
+++ b/Master/tlpkg/tlperl/lib/CORE/thread.h
@@ -91,10 +91,6 @@
# endif
#endif
-#ifdef DGUX
-# define THREAD_CREATE_NEEDS_STACK (32*1024)
-#endif
-
#ifdef __VMS
/* Default is 1024 on VAX, 8192 otherwise */
# ifdef __ia64
@@ -340,7 +336,7 @@
# define ALLOC_THREAD_KEY \
STMT_START { \
if (pthread_key_create(&PL_thr_key, 0)) { \
- write(2, STR_WITH_LEN("panic: pthread_key_create failed\n")); \
+ PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \
exit(1); \
} \
} STMT_END
diff --git a/Master/tlpkg/tlperl/lib/CORE/time64.h b/Master/tlpkg/tlperl/lib/CORE/time64.h
index 07bb33fd849..b7306d01fb4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/time64.h
+++ b/Master/tlpkg/tlperl/lib/CORE/time64.h
@@ -28,11 +28,14 @@ struct TM64 {
#endif
#ifdef HAS_TM_TM_ZONE
-# ifdef __GLIBC__
- const char *tm_zone;
-# else
- char *tm_zone;
+/* If glibc is defined or we are on QNX, use const.
+ * Otherwise, if we are on android, use const but
+ * not with g++.
+ */
+# if defined(__GLIBC__) || (defined(__ANDROID__) && !defined(__cplusplus)) || defined(__QNX__)
+ const
# endif
+ char *tm_zone;
#endif
};
diff --git a/Master/tlpkg/tlperl/lib/CORE/uconfig.h b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
index 82664c47a48..e5cca088d84 100644
--- a/Master/tlpkg/tlperl/lib/CORE/uconfig.h
+++ b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
@@ -703,12 +703,6 @@
*/
/*#define I_NETINET_IN / **/
-/* I_SFIO:
- * This symbol, if defined, indicates to the C program that it should
- * include <sfio.h>.
- */
-/*#define I_SFIO / **/
-
/* I_STDDEF:
* This symbol, if defined, indicates that <stddef.h> exists and should
* be included.
@@ -811,26 +805,6 @@
*/
/*#define I_SYS_WAIT / **/
-/* I_TERMIO:
- * This symbol, if defined, indicates that the program should include
- * <termio.h> rather than <sgtty.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- * This symbol, if defined, indicates that the program should include
- * the POSIX termios.h rather than sgtty.h or termio.h.
- * There are also differences in the ioctl() calls that depend on the
- * value of this symbol.
- */
-/* I_SGTTY:
- * This symbol, if defined, indicates that the program should include
- * <sgtty.h> rather than <termio.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/*#define I_TERMIO / **/
-/*#define I_TERMIOS / **/
-/*#define I_SGTTY / **/
-
/* I_UNISTD:
* This symbol, if defined, indicates to the C program that it should
* include <unistd.h>.
@@ -892,18 +866,6 @@
#define OSNAME "unknown" /**/
#define OSVERS "unknown" /**/
-/* 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
-
/* MULTIARCH:
* This symbol, if defined, signifies that the build
* process will produce some binary files that are going to be
@@ -934,8 +896,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.18/unknown" / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.18/unknown" / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.20/unknown" / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.20/unknown" / **/
/* ARCHNAME:
* This symbol holds a string representing the architecture name.
@@ -993,7 +955,7 @@
* 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)
+#if defined(MULTIARCH)
# ifdef __LITTLE_ENDIAN__
# if LONGSIZE == 4
# define BYTEORDER 0x1234
@@ -3045,8 +3007,8 @@
* 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.18" /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.18" /**/
+#define PRIVLIB "/usr/local/lib/perl5/5.20" /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.20" /**/
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
@@ -3112,9 +3074,9 @@
* 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 Drand01() Perl_drand48() /**/
+#define Rand_seed_t U32 /**/
+#define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/
#define RANDBITS 48 /**/
/* Select_fd_set_t:
@@ -3189,8 +3151,8 @@
* 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.18/unknown" / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.18/unknown" / **/
+/*#define SITEARCH "/usr/local/lib/perl5/5.20/unknown" / **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.20/unknown" / **/
/* SITELIB:
* This symbol contains the name of the private library for this package.
@@ -3212,8 +3174,8 @@
* 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.18" /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.18" /**/
+#define SITELIB "/usr/local/lib/perl5/5.20" /**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.20" /**/
#define SITELIB_STEM "/usr/local/lib/perl5" /**/
/* Size_t_size:
@@ -3330,29 +3292,36 @@
/*#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:
- *
- * 1 = supports declaration of void
- * 2 = supports arrays of pointers to functions returning void
- * 4 = supports comparisons between pointers to void functions and
- * addresses of void functions
- * 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
- * including config.h, or by defining defvoidused in Myinit.U. If the
- * latter approach is taken, only those flags will be tested. If the
- * level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 1
-#endif
-#define VOIDFLAGS 1
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int /* is void to be avoided? */
-#define M_VOID /* Xenix strikes again */
+/* I_TERMIO:
+ * This symbol, if defined, indicates that the program should include
+ * <termio.h> rather than <sgtty.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/* I_TERMIOS:
+ * This symbol, if defined, indicates that the program should include
+ * the POSIX termios.h rather than sgtty.h or termio.h.
+ * There are also differences in the ioctl() calls that depend on the
+ * value of this symbol.
+ */
+/* I_SGTTY:
+ * This symbol, if defined, indicates that the program should include
+ * <sgtty.h> rather than <termio.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/*#define I_TERMIO / **/
+/*#define I_TERMIOS / **/
+/*#define I_SGTTY / **/
+
+/* 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
/* PERL_USE_DEVEL:
@@ -3917,12 +3886,6 @@
*/
/*#define HAS_SETPROCTITLE / **/
-/* USE_SFIO:
- * This symbol, if defined, indicates that sfio should
- * be used.
- */
-/*#define USE_SFIO / **/
-
/* HAS_SIGNBIT:
* This symbol, if defined, indicates that the signbit routine is
* available to check if the given number has the sign bit set.
@@ -4188,8 +4151,10 @@
/*#define USE_DYNAMIC_LOADING / **/
/* FFLUSH_NULL:
- * This symbol, if defined, tells that fflush(NULL) does flush
- * all pending stdio output.
+ * This symbol, if defined, tells that fflush(NULL) correctly
+ * flushes all pending stdio output without side effects. In
+ * particular, on some platforms calling fflush(NULL) *still*
+ * corrupts STDIN if it is a pipe.
*/
/* FFLUSH_ALL:
* This symbol, if defined, tells that to flush
@@ -4753,6 +4718,6 @@
#endif
/* Generated from:
- * 2c9dc3f21d37b1665f6a59dfc6d79e6cb08bdf36a9c3e427d11d6b9ddffe2439 config_h.SH
- * 26ab9b4aa382d32761cb91084ba59e7e4b190799502a43366ccb3d2f584783ca uconfig.sh
+ * 7557e985de18f71e80f627226b454bc8eaf20477dcf0c45b5b2c51ec792f5c89 config_h.SH
+ * dbc8d38ba52ae23e5423418bb3f56b1b6fcdaa82cf71ba0be3463e8221bfe0c0 uconfig.sh
* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h b/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h
index 19f3acd33f9..2ae9d77646e 100755
--- a/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h
+++ b/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h
@@ -20,19 +20,26 @@
* "_TAIL" if instead it represents all but the first byte. This, and
* with no additional suffix are both string constants */
+#define LATIN_SMALL_LETTER_LONG_S_UTF8 "\xC5\xBF" /* U+017F */
#define COMBINING_GRAVE_ACCENT_UTF8 "\xCC\x80" /* U+0300 */
-#define COMBINING_ACUTE_ACCENT_UTF8 "\xCC\x81" /* U+0301 */
-#define COMBINING_DIAERESIS_UTF8 "\xCC\x88" /* U+0308 */
-#define GREEK_SMALL_LETTER_IOTA_UTF8 "\xCE\xB9" /* U+03B9 */
+#define GREEK_CAPITAL_LETTER_IOTA_UTF8 "\xCE\x99" /* U+0399 */
+#define GREEK_SMALL_LETTER_MU_UTF8 "\xCE\xBC" /* U+03BC */
-#define GREEK_SMALL_LETTER_UPSILON_UTF8 "\xCF\x85" /* U+03C5 */
+#define LATIN_CAPITAL_LETTER_SHARP_S_UTF8 "\xE1\xBA\x9E" /* U+1E9E */
+
+#define LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 "\xEF\xAC\x85" /* U+FB05 */
+#define LATIN_SMALL_LIGATURE_ST_UTF8 "\xEF\xAC\x86" /* U+FB06 */
#define HYPHEN_UTF8 "\xE2\x80\x90" /* U+2010 */
#define FIRST_SURROGATE_UTF8_FIRST_BYTE 0xED /* U+D800 */
+#define BOM_UTF8_FIRST_BYTE 0xEF /* U+FEFF */
+#define BOM_UTF8_TAIL "\xBB\xBF" /* U+FEFF */
#define DEL_NATIVE 0x7F /* U+007F */
+#define CR_NATIVE 0x0D /* U+000D */
+#define LF_NATIVE 0x0A /* U+000A */
#define LATIN_SMALL_LETTER_SHARP_S_NATIVE 0xDF /* U+00DF */
#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xE5 /* U+00E5 */
#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xC5 /* U+00C5 */
diff --git a/Master/tlpkg/tlperl/lib/CORE/utf8.h b/Master/tlpkg/tlperl/lib/CORE/utf8.h
index 01d8f5fa204..f0e9d56966a 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utf8.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utf8.h
@@ -26,6 +26,9 @@
# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
#endif
+#include "regcharclass.h"
+#include "unicode_constants.h"
+
/* For to_utf8_fold_flags, q.v. */
#define FOLD_FLAGS_LOCALE 0x1
#define FOLD_FLAGS_FULL 0x2
@@ -36,21 +39,26 @@
#define _CORE_SWASH_INIT_RETURN_IF_UNDEF 0x2
#define _CORE_SWASH_INIT_ACCEPT_INVLIST 0x4
+#define uvchr_to_utf8(a,b) uvchr_to_utf8_flags(a,b,0)
+#define uvchr_to_utf8_flags(d,uv,flags) \
+ uvoffuni_to_utf8_flags(d,NATIVE_TO_UNI(uv),flags)
+#define utf8_to_uvchr_buf(s, e, lenp) \
+ utf8n_to_uvchr(s, (U8*)(e) - (U8*)(s), lenp, \
+ ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY)
+
#define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL)
-#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, \
- FOLD_FLAGS_FULL, NULL)
-#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0, NULL)
-#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0, NULL)
-#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0, NULL)
+#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, FOLD_FLAGS_FULL)
+#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0)
+#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0)
+#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0)
/* 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)
+#define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0)
+#define FOLDEQ_LOCALE (1 << 1)
#define FOLDEQ_S1_ALREADY_FOLDED (1 << 2)
#define FOLDEQ_S2_ALREADY_FOLDED (1 << 3)
@@ -102,28 +110,23 @@ EXTCONST unsigned char PL_utf8skip[];
END_EXTERN_C
-#include "regcharclass.h"
-#include "unicode_constants.h"
+/* Native character to/from iso-8859-1. Are the identity functions on ASCII
+ * platforms */
+#define NATIVE_TO_LATIN1(ch) (ch)
+#define LATIN1_TO_NATIVE(ch) (ch)
+
+/* I8 is an intermediate version of UTF-8 used only in UTF-EBCDIC. We thus
+ * consider it to be identical to UTF-8 on ASCII platforms. Strictly speaking
+ * UTF-8 and UTF-EBCDIC are two different things, but we often conflate them
+ * because they are 8-bit encodings that serve the same purpose in Perl, and
+ * rarely do we need to distinguish them. The term "NATIVE_UTF8" applies to
+ * whichever one is applicable on the current platform */
+#define NATIVE_UTF8_TO_I8(ch) (ch)
+#define I8_TO_NATIVE_UTF8(ch) (ch)
-/* Native character to iso-8859-1 */
-#define NATIVE_TO_ASCII(ch) (ch)
-#define ASCII_TO_NATIVE(ch) (ch)
-/* Transform after encoding */
-#define NATIVE_TO_UTF(ch) (ch)
-#define NATIVE_TO_I8(ch) NATIVE_TO_UTF(ch) /* a clearer synonym */
-#define UTF_TO_NATIVE(ch) (ch)
-#define I8_TO_NATIVE(ch) UTF_TO_NATIVE(ch)
/* Transforms in wide UV chars */
#define UNI_TO_NATIVE(ch) (ch)
#define NATIVE_TO_UNI(ch) (ch)
-/* Transforms in invariant space */
-#define NATIVE_TO_NEED(enc,ch) (ch)
-#define ASCII_TO_NEED(enc,ch) (ch)
-
-/* As there are no translations, avoid the function wrapper */
-#define utf8n_to_uvchr utf8n_to_uvuni
-#define valid_utf8_to_uvchr valid_utf8_to_uvuni
-#define uvchr_to_utf8 uvuni_to_utf8
/*
@@ -201,12 +204,12 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
/* This defines the 1-bits that are to be in the first byte of a multi-byte
* UTF-8 encoded character that give the number of bytes that comprise the
- * character.
- * */
-#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : (0xFE << (7-(len))))
+ * character. 'len' is the number of bytes in the multi-byte sequence. */
+#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : (0xFF & (0xFE << (7-(len)))))
/* Masks out the initial one bits in a start byte, leaving the real data ones.
- * Doesn't work on an invariant byte */
+ * Doesn't work on an invariant byte. 'len' is the number of bytes in the
+ * multi-byte sequence that comprises the character. */
#define UTF_START_MASK(len) (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2)))
/* This defines the bits that are to be in the continuation bytes of a multi-byte
@@ -229,8 +232,11 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
(((UV) UTF_CONTINUATION_MASK) << ((sizeof(UV) * CHARBITS) \
- UTF_ACCUMULATION_SHIFT))
-#ifdef HAS_QUAD
-#define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \
+#if UVSIZE >= 8
+# define UTF8_QUAD_MAX UINT64_C(0x1000000000)
+
+/* Input is a true Unicode (not-native) code point */
+#define OFFUNISKIP(uv) ( (uv) < 0x80 ? 1 : \
(uv) < 0x800 ? 2 : \
(uv) < 0x10000 ? 3 : \
(uv) < 0x200000 ? 4 : \
@@ -239,7 +245,7 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
(uv) < UTF8_QUAD_MAX ? 7 : 13 )
#else
/* No, I'm not even going to *TRY* putting #ifdef inside a #define */
-#define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \
+#define OFFUNISKIP(uv) ( (uv) < 0x80 ? 1 : \
(uv) < 0x800 ? 2 : \
(uv) < 0x10000 ? 3 : \
(uv) < 0x200000 ? 4 : \
@@ -264,6 +270,8 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#error UTF8_MAXBYTES must be at least 12
#endif
+#define MAX_UTF8_TWO_BYTE 0x7FF
+
#define UTF8_MAXBYTES_CASE UTF8_MAXBYTES
#endif /* EBCDIC vs ASCII */
@@ -273,27 +281,53 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
* this level; the macros that some of these call may have different
* definitions in the two encodings */
-#define NATIVE8_TO_UNI(ch) NATIVE_TO_ASCII(ch) /* a clearer synonym */
+/* In domain restricted to ASCII, these may make more sense to the reader than
+ * the ones with Latin1 in the name */
+#define NATIVE_TO_ASCII(ch) NATIVE_TO_LATIN1(ch)
+#define ASCII_TO_NATIVE(ch) LATIN1_TO_NATIVE(ch)
+
+/* More or less misleadingly-named defines, retained for back compat */
+#define NATIVE_TO_UTF(ch) NATIVE_UTF8_TO_I8(ch)
+#define NATIVE_TO_I8(ch) NATIVE_UTF8_TO_I8(ch)
+#define UTF_TO_NATIVE(ch) I8_TO_NATIVE_UTF8(ch)
+#define I8_TO_NATIVE(ch) I8_TO_NATIVE_UTF8(ch)
+#define NATIVE8_TO_UNI(ch) NATIVE_TO_LATIN1(ch)
/* Adds a UTF8 continuation byte 'new' of information to a running total code
* point 'old' of all the continuation bytes so far. This is designed to be
- * used in a loop to convert from UTF-8 to the code point represented */
-#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT) \
- | (((U8)new) & UTF_CONTINUATION_MASK))
+ * used in a loop to convert from UTF-8 to the code point represented. Note
+ * that this is asymmetric on EBCDIC platforms, in that the 'new' parameter is
+ * the UTF-EBCDIC byte, whereas the 'old' parameter is a Unicode (not EBCDIC)
+ * code point in process of being generated */
+#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT) \
+ | ((NATIVE_UTF8_TO_I8((U8)new)) \
+ & UTF_CONTINUATION_MASK))
/* This works in the face of malformed UTF-8. */
#define UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, e) (UTF8_IS_DOWNGRADEABLE_START(*s) \
&& ( (e) - (s) > 1) \
&& UTF8_IS_CONTINUATION(*((s)+1)))
-/* Convert a two (not one) byte utf8 character to a unicode code point value.
+/* Number of bytes a code point occupies in UTF-8. */
+#define NATIVE_SKIP(uv) OFFUNISKIP(NATIVE_TO_UNI(uv))
+
+/* Most code which says UNISKIP is really thinking in terms of native code
+ * points (0-255) plus all those beyond. This is an imprecise term, but having
+ * it means existing code continues to work. For precision, use NATIVE_SKIP
+ * and OFFUNISKIP */
+#define UNISKIP(uv) NATIVE_SKIP(uv)
+
+/* Convert a two (not one) byte utf8 character to a native 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 TWO_BYTE_UTF8_TO_NATIVE(HI, LO) \
+ UNI_TO_NATIVE(UTF8_ACCUMULATE((NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), \
+ (LO)))
+
+/* Should never be used, and be deprecated */
+#define TWO_BYTE_UTF8_TO_UNI(HI, LO) NATIVE_TO_UNI(TWO_BYTE_UTF8_TO_NATIVE(HI, LO))
/* How many bytes in the UTF-8 encoded character whose first (perhaps only)
* byte is pointed to by 's' */
@@ -303,27 +337,63 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
* works on both UTF-8 encoded strings and non-encoded, as it returns TRUE in
* each for the exact same set of bit patterns. (And it works on any byte in a
* UTF-8 encoded string) */
-#define UTF8_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_UTF(c))
+#define UTF8_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_UTF8_TO_I8(c))
-#define NATIVE_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE8_TO_UNI(c))
+/* Like the above, but its name implies a non-UTF8 input, and is implemented
+ * differently (for no particular reason) */
+#define NATIVE_BYTE_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_LATIN1(c))
-#define MAX_PORTABLE_UTF8_TWO_BYTE 0x3FF /* constrained by EBCDIC */
-
-/* The macros in the next sets are used to generate the two utf8 or utfebcdic
- * 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) NATIVE_TO_I8(((c) \
- >> UTF_ACCUMULATION_SHIFT) | (0xFF & UTF_START_MARK(2)))
-#define UTF8_TWO_BYTE_LO_nocast(c) NATIVE_TO_I8(((c) & UTF_CONTINUATION_MASK) \
- | UTF_CONTINUATION_MARK)
+/* Like the above, but accepts any UV as input */
+#define UVCHR_IS_INVARIANT(uv) UNI_IS_INVARIANT(NATIVE_TO_UNI(uv))
-#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)))
+#define MAX_PORTABLE_UTF8_TWO_BYTE 0x3FF /* constrained by EBCDIC */
-/* This name is used when the source is a single byte */
-#define UTF8_EIGHT_BIT_HI(c) UTF8_TWO_BYTE_HI((U8)(c))
-#define UTF8_EIGHT_BIT_LO(c) UTF8_TWO_BYTE_LO((U8)(c))
+/* The macros in the next 4 sets are used to generate the two utf8 or utfebcdic
+ * bytes from an ordinal that is known to fit into exactly two (not one) bytes;
+ * it must be less than 0x3FF to work across both encodings. */
+
+/* These two are helper macros for the other three sets, and should not be used
+ * directly anywhere else. 'translate_function' is either NATIVE_TO_LATIN1
+ * (which works for code points up to 0xFF) or NATIVE_TO_UNI which works for any
+ * code point */
+#define __BASE_TWO_BYTE_HI(c, translate_function) \
+ I8_TO_NATIVE_UTF8((translate_function(c) >> UTF_ACCUMULATION_SHIFT) \
+ | UTF_START_MARK(2))
+#define __BASE_TWO_BYTE_LO(c, translate_function) \
+ I8_TO_NATIVE_UTF8((translate_function(c) & UTF_CONTINUATION_MASK) \
+ | UTF_CONTINUATION_MARK)
+
+/* The next two macros should not be used. They were designed to be usable as
+ * the case label of a switch statement, but this doesn't work for EBCDIC. Use
+ * regen/unicode_constants.pl instead */
+#define UTF8_TWO_BYTE_HI_nocast(c) __BASE_TWO_BYTE_HI(c, NATIVE_TO_UNI)
+#define UTF8_TWO_BYTE_LO_nocast(c) __BASE_TWO_BYTE_LO(c, NATIVE_TO_UNI)
+
+/* The next two macros are used when the source should be a single byte
+ * character; checked for under DEBUGGING */
+#define UTF8_EIGHT_BIT_HI(c) (__ASSERT_(FITS_IN_8_BITS(c)) \
+ ((U8) __BASE_TWO_BYTE_HI(c, NATIVE_TO_LATIN1)))
+#define UTF8_EIGHT_BIT_LO(c) (__ASSERT_(FITS_IN_8_BITS(c)) \
+ ((U8) __BASE_TWO_BYTE_LO(c, NATIVE_TO_LATIN1)))
+
+/* These final two macros in the series are used when the source can be any
+ * code point whose UTF-8 is known to occupy 2 bytes; they are less efficient
+ * than the EIGHT_BIT versions on EBCDIC platforms. We use the logical '~'
+ * operator instead of "<=" to avoid getting compiler warnings.
+ * MAX_PORTABLE_UTF8_TWO_BYTE should be exactly all one bits in the lower few
+ * places, so the ~ works */
+#define UTF8_TWO_BYTE_HI(c) \
+ (__ASSERT_((sizeof(c) == 1) \
+ || !(((WIDEST_UTYPE)(c)) & ~MAX_PORTABLE_UTF8_TWO_BYTE)) \
+ ((U8) __BASE_TWO_BYTE_HI(c, NATIVE_TO_LATIN1)))
+#define UTF8_TWO_BYTE_LO(c) \
+ (__ASSERT_((sizeof(c) == 1) \
+ || !(((WIDEST_UTYPE)(c)) & ~MAX_PORTABLE_UTF8_TWO_BYTE)) \
+ ((U8) __BASE_TWO_BYTE_LO(c, NATIVE_TO_LATIN1)))
+
+/* This is illegal in any well-formed UTF-8 in both EBCDIC and ASCII
+ * as it is only in overlongs. */
+#define ILLEGAL_UTF8_BYTE I8_TO_NATIVE_UTF8(0xC1)
/*
* 'UTF' is whether or not p is encoded in UTF8. The names 'foo_lazy_if' stem
@@ -376,7 +446,9 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#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. */
+ * byte of which is a FE or FF on ASCII platforms. If the first byte is FF, it
+ * will overflow a 32-bit word. If the first byte is FE, it will overflow a
+ * signed 32-bit word. */
#define UTF8_DISALLOW_FE_FF 0x0800
#define UTF8_WARN_FE_FF 0x1000
@@ -415,9 +487,9 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
* U+110001: \xF4\x90\x80\x81 \xF9\xA2\xA0\xA0\xA1
*/
#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
-# define UTF8_IS_SUPER(s) (NATIVE_TO_I8(* (U8*) (s)) >= 0xF9 \
- && (NATIVE_TO_I8(* (U8*) (s)) > 0xF9 \
- || (NATIVE_TO_I8(* (U8*) ((s)) + 1 >= 0xA2))))
+# define UTF8_IS_SUPER(s) (NATIVE_UTF8_TO_I8(* (U8*) (s)) >= 0xF9 \
+ && (NATIVE_UTF8_TO_I8(* (U8*) (s)) > 0xF9 \
+ || (NATIVE_UTF8_TO_I8(* ((U8*) (s) + 1)) >= 0xA2)))
#else
# define UTF8_IS_SUPER(s) (*(U8*) (s) >= 0xF4 \
&& (*(U8*) (s) > 0xF4 || (*((U8*) (s) + 1) >= 0x90)))
@@ -471,10 +543,6 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#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 LATIN_SMALL_LETTER_SHARP_S LATIN_SMALL_LETTER_SHARP_S_NATIVE
#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS \
LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE
@@ -487,12 +555,15 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#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 LATIN_SMALL_LETTER_LONG_S 0x017F
-#define KELVIN_SIGN 0x212A
-#define ANGSTROM_SIGN 0x212B
+#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 LATIN_SMALL_LETTER_LONG_S 0x017F
+#define LATIN_SMALL_LIGATURE_LONG_S_T 0xFB05
+#define LATIN_SMALL_LIGATURE_ST 0xFB06
+#define KELVIN_SIGN 0x212A
+#define ANGSTROM_SIGN 0x212B
#define UNI_DISPLAY_ISPRINT 0x0001
#define UNI_DISPLAY_BACKSLASH 0x0002
@@ -504,8 +575,8 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
(ANYOF_NONBITMAP(node)) && \
(ANYOF_FLAGS(node) & ANYOF_LOC_NONBITMAP_FOLD) && \
((end) > (input) + 1) && \
- toLOWER((input)[0]) == 's' && \
- toLOWER((input)[1]) == 's')
+ toFOLD((input)[0]) == 's' && \
+ toFOLD((input)[1]) == 's')
#define SHARP_S_SKIP 2
/* If you want to exclude surrogates, and beyond legal Unicode, see the blame
diff --git a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
index e7f5f32c69f..54a3d2696e9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
@@ -43,7 +43,7 @@
* first byte of the final form of a variant will always have its upper
* bit set (at least in the encodings that Perl recognizes, and probably
* all). But note that the upper bit of some invariants is also 1.
- *
+ *
* If you're starting from Unicode, skip step 1. For UTF-EBCDIC to straight
* EBCDIC, reverse the steps.
*
@@ -51,19 +51,19 @@
* equivalents have ordinal numbers less than 160, that is the same characters
* that are expressible in ASCII, plus the C1 controls. So there are 160
* invariants instead of the 128 in UTF-8. (My guess is that this is because
- * the C1 control NEL (and maybe others) is important in IBM.)
+ * the C1 control NEL (and maybe others) is important in IBM.)
*
* The purpose of Step 3 is to make the encoding be invariant for the chosen
* characters. This messes up the convenient patterns found in step 2, so
* generally, one has to undo step 3 into a temporary to use them. However,
* a "shadow", or parallel table, PL_utf8skip, has been constructed so that for
- * each byte, it says how long the sequence is if that byte were to begin it
+ * each byte, it says how long the sequence is if that byte were to begin it
*
* There are actually 3 slightly different UTF-EBCDIC encodings in this file,
* one for each of the code pages recognized by Perl. That means that there
* are actually three different sets of tables, one for each code page. (If
* Perl is compiled on platforms using another EBCDIC code page, it may not
- * compile, or Perl may silently mistake it for one of the three.)
+ * compile, or Perl may silently mistake it for one of the three.)
*
* EBCDIC characters above 0xFF are the same as Unicode in Perl's
* implementation of all 3 encodings, so for those Step 1 is trivial.
@@ -85,7 +85,7 @@ START_EXTERN_C
as length 1 here so that we can recover.
*/
#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_utf8skip[] = {
+EXTCONST U8 PL_utf8skip[] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -106,7 +106,7 @@ EXTCONST unsigned char PL_utf8skip[] = {
#endif
#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-unsigned char PL_utf8skip[] = {
+U8 PL_utf8skip[] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -127,7 +127,7 @@ unsigned char PL_utf8skip[] = {
#endif
#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-unsigned char PL_utf8skip[] = {
+U8 PL_utf8skip[] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -152,7 +152,7 @@ unsigned char PL_utf8skip[] = {
* remains 'A' */
#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-1047) */
+EXTCONST U8 PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-1047) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -171,7 +171,7 @@ EXTCONST unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-1047) */
0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE
};
-EXTCONST unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-1047) to I8 */
+EXTCONST U8 PL_e2utf[] = { /* UTFEBCDIC (IBM-1047) to I8 */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -192,7 +192,7 @@ EXTCONST unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-1047) to I8 */
#endif /* 1047 */
#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (POSIX-BC) */
+U8 PL_utf2e[] = { /* I8 to UTFEBCDIC (POSIX-BC) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -211,7 +211,7 @@ unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (POSIX-BC) */
0xDC, 0xC0, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xDD, 0xFC, 0xE0, 0xFE
};
-unsigned char PL_e2utf[] = { /* UTFEBCDIC (POSIX-BC) to I8 */
+U8 PL_e2utf[] = { /* UTFEBCDIC (POSIX-BC) to I8 */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -232,7 +232,7 @@ unsigned char PL_e2utf[] = { /* UTFEBCDIC (POSIX-BC) to I8 */
#endif /* POSIX-BC */
#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-037) */
+U8 PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-037) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -251,7 +251,7 @@ unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-037) */
0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE
};
-unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-037) to I8 */
+U8 PL_e2utf[] = { /* UTFEBCDIC (IBM-037) to I8 */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x0A, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -276,7 +276,7 @@ unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-037) to I8 */
*/
#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (iso-8859-1) to EBCDIC (IBM-1047) */
+EXTCONST U8 PL_a2e[] = { /* ASCII (iso-8859-1) to EBCDIC (IBM-1047) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -295,7 +295,7 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (iso-8859-1) to EBCDIC (IBM-1047) *
0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
};
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) */
+EXTCONST U8 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,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -314,8 +314,47 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) *
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' */
+EXTCONST U8 PL_latin1_lc[] = { /* lowercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x70, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0xAD, 0x8E, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0x8D, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
+ 0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xDB, 0xDC, 0xDD, 0xDE, 0xFF
+};
+
+EXTCONST U8 PL_mod_latin1_uc[] = { /* uppercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0xDF, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x80, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xBA, 0xAE, 0x8F,
+ 0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
+ 0xDF, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF,
+ 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
+};
+
+EXTCONST U8 PL_fold_latin1[] = { /* fast EBCDIC case folding table,
+ 'A' => 'a'; 'a' => 'A'; full
+ 0-255 range */
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -352,7 +391,7 @@ EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
#endif /* 1047 */
#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (POSIX-BC) */
+EXTCONST U8 PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (POSIX-BC) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -371,7 +410,7 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (POSIX-BC) */
0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xC0, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
};
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
+EXTCONST U8 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,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -390,8 +429,47 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
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' */
+EXTCONST U8 PL_latin1_lc[] = { /* lowercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x70, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0x8D, 0x8E, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDB, 0xDE, 0xDF,
+ 0xC0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xDC, 0xFD, 0xDE, 0xFF
+};
+
+EXTCONST U8 PL_mod_latin1_uc[] = { /* uppercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0xDF, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x80, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xAD, 0xAE, 0x8F,
+ 0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
+ 0xDF, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xE0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDD, 0xFC, 0xDD, 0xFE, 0xDF,
+ 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
+};
+
+EXTCONST U8 PL_fold_latin1[] = { /* fast EBCDIC case folding table,
+ 'A' => 'a'; 'a' => 'A'; full
+ 0-255 range */
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -428,7 +506,7 @@ EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
#endif /* POSIX-BC */
#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (IBM-037) */
+EXTCONST U8 PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (IBM-037) */
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -447,7 +525,7 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (IBM-037) */
0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
};
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
+EXTCONST U8 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,
0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
0x80, 0x81, 0x82, 0x83, 0x84, 0x0A, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -466,8 +544,47 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
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' */
+EXTCONST U8 PL_latin1_lc[] = { /* lowercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x70, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0x8D, 0x8E, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
+ 0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xDB, 0xDC, 0xDD, 0xDE, 0xFF
+};
+
+EXTCONST U8 PL_mod_latin1_uc[] = { /* uppercasing */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0xDF, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x80, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ 0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xAD, 0xAE, 0x8F,
+ 0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
+ 0xDF, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF,
+ 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
+};
+
+EXTCONST U8 PL_fold_latin1[] = { /* fast EBCDIC case folding table,
+ 'A' => 'a'; 'a' => 'A'; full
+ 0-255 range */
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -503,38 +620,68 @@ EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
};
#endif /* 037 */
-/* Since the EBCDIC code pages are isomorphic to Latin1, that table is merely a
- * duplicate */
-EXTCONST unsigned char * PL_fold_latin1 = PL_fold;
+/* This is the same in all code pages, as only A-Z, a-z are affected */
+EXTCONST U8 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, 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
-EXTCONST unsigned char PL_utf8skip[];
-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[];
-EXTCONST unsigned char * PL_fold_latin1;
+EXTCONST U8 PL_utf8skip[];
+EXTCONST U8 PL_e2utf[];
+EXTCONST U8 PL_utf2e[];
+EXTCONST U8 PL_e2a[];
+EXTCONST U8 PL_a2e[];
+EXTCONST U8 PL_fold[];
+EXTCONST U8 PL_fold_latin1[];
+EXTCONST U8 PL_latin1_lc[];
+EXTCONST U8 PL_mod_latin1_uc[];
#endif
END_EXTERN_C
/* EBCDIC-happy ways of converting native code to UTF-8 */
-/* 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, essentially converts to/from I8 */
-#define NATIVE_TO_UTF(ch) PL_e2utf[(U8)(ch)] /* to I8 */
-#define NATIVE_TO_I8(ch) NATIVE_TO_UTF(ch) /* synonym */
-#define UTF_TO_NATIVE(ch) PL_utf2e[(U8)(ch)] /* from I8 */
-#define I8_TO_NATIVE(ch) UTF_TO_NATIVE(ch) /* synonym */
-/* 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))
-/* Transform in invariant..byte space */
-#define NATIVE_TO_NEED(enc,ch) ((enc) ? UTF_TO_NATIVE(NATIVE_TO_ASCII(ch)) : (ch))
-#define ASCII_TO_NEED(enc,ch) ((enc) ? UTF_TO_NATIVE(ch) : ASCII_TO_NATIVE(ch))
+#define NATIVE_TO_LATIN1(ch) PL_e2a[(U8)(ch)]
+#define LATIN1_TO_NATIVE(ch) PL_a2e[(U8)(ch)]
+
+#define NATIVE_UTF8_TO_I8(ch) PL_e2utf[(U8)(ch)]
+#define I8_TO_NATIVE_UTF8(ch) PL_utf2e[(U8)(ch)]
+
+/* Transforms in wide UV chars */
+#define NATIVE_TO_UNI(ch) (((ch) > 255) ? (ch) : NATIVE_TO_LATIN1(ch))
+#define UNI_TO_NATIVE(ch) (((ch) > 255) ? (ch) : LATIN1_TO_NATIVE(ch))
/*
The following table is adapted from tr16, it shows I8 encoding of Unicode code points.
@@ -554,26 +701,37 @@ END_EXTERN_C
*/
-#define UNISKIP(uv) ( (uv) < 0xA0 ? 1 : \
+/* Input is a true Unicode (not-native) code point */
+#define OFFUNISKIP(uv) ( (uv) < 0xA0 ? 1 : \
(uv) < 0x400 ? 2 : \
(uv) < 0x4000 ? 3 : \
(uv) < 0x40000 ? 4 : \
(uv) < 0x400000 ? 5 : \
(uv) < 0x4000000 ? 6 : 7 )
-#define UNI_IS_INVARIANT(c) ((c) < 0xA0)
+#define UNI_IS_INVARIANT(c) (((UV)(c)) < 0xA0)
/* UTF-EBCDIC semantic macros - transform back into I8 and then compare
* Comments as to the meaning of each are given at their corresponding utf8.h
* definitions */
-#define UTF8_IS_START(c) (NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) != 0xE0)
-#define UTF8_IS_CONTINUATION(c) ((NATIVE_TO_UTF(c) & 0xE0) == 0xA0)
-#define UTF8_IS_CONTINUED(c) (NATIVE_TO_UTF(c) >= 0xA0)
-#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) <= 0xC7)
-#define UTF8_IS_ABOVE_LATIN1(c) (NATIVE_TO_I8(c) >= 0xC8)
+#define UTF8_IS_START(c) (NATIVE_UTF8_TO_I8(c) >= 0xC5 \
+ && NATIVE_UTF8_TO_I8(c) != 0xE0)
+#define UTF8_IS_CONTINUATION(c) ((NATIVE_UTF8_TO_I8(c) & 0xE0) == 0xA0)
+#define UTF8_IS_CONTINUED(c) (NATIVE_UTF8_TO_I8(c) >= 0xA0)
+
+#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_UTF8_TO_I8(c) >= 0xC5 \
+ && NATIVE_UTF8_TO_I8(c) <= 0xC7)
+/* Saying it this way adds a runtime test, but removes 2 run-time lookups */
+/*#define UTF8_IS_DOWNGRADEABLE_START(c) ((c) == I8_TO_NATIVE_UTF8(0xC5) \
+ || (c) == I8_TO_NATIVE_UTF8(0xC6) \
+ || (c) == I8_TO_NATIVE_UTF8(0xC7))
+*/
+#define UTF8_IS_ABOVE_LATIN1(c) (NATIVE_UTF8_TO_I8(c) >= 0xC8)
+
+/* Can't exceed 7 on EBCDIC platforms */
+#define UTF_START_MARK(len) (0xFF & (0xFE << (7-(len))))
-#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : ((U8)(0xFE << (7-(len)))))
#define UTF_START_MASK(len) (((len) >= 6) ? 0x01 : (0x1F >> ((len)-2)))
#define UTF_CONTINUATION_MARK 0xA0
#define UTF_CONTINUATION_MASK ((U8)0x1f)
@@ -592,6 +750,8 @@ END_EXTERN_C
* character occupies 5 bytes, therefore this number is 15 */
#define UTF8_MAXBYTES_CASE 15
+#define MAX_UTF8_TWO_BYTE 0x3FF
+
/*
* Local variables:
* c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CORE/util.h b/Master/tlpkg/tlperl/lib/CORE/util.h
index ed133c464bd..08544f5600c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/util.h
+++ b/Master/tlpkg/tlperl/lib/CORE/util.h
@@ -52,6 +52,36 @@ This is a synonym for (! foldEQ_locale())
#define ibcmp(s1, s2, len) cBOOL(! foldEQ(s1, s2, len))
#define ibcmp_locale(s1, s2, len) cBOOL(! foldEQ_locale(s1, s2, len))
+/* outside the core, perl.h undefs HAS_QUAD if IV isn't 64-bit
+ We can't swap this to HAS_QUAD, because the logic here affects the type of
+ perl_drand48_t below, and that is visible outside of the core. */
+#if defined(U64TYPE) && !defined(USING_MSVC6)
+/* use a faster implementation when quads are available,
+ * but not with VC6 on Windows */
+# define PERL_DRAND48_QUAD
+#endif
+
+#ifdef PERL_DRAND48_QUAD
+
+/* U64 is only defined under PERL_CORE, but this needs to be visible
+ * elsewhere so the definition of PerlInterpreter is complete.
+ */
+typedef U64TYPE perl_drand48_t;
+
+#else
+
+struct PERL_DRAND48_T {
+ U16 seed[3];
+};
+
+typedef struct PERL_DRAND48_T perl_drand48_t;
+
+#endif
+
+#define PL_RANDOM_STATE_TYPE perl_drand48_t
+
+#define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed)))
+#define Perl_drand48() (Perl_drand48_r(&PL_random_state))
/*
* Local variables:
diff --git a/Master/tlpkg/tlperl/lib/CORE/vdir.h b/Master/tlpkg/tlperl/lib/CORE/vdir.h
index db7ec8417fe..a4186a1ad9f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/vdir.h
+++ b/Master/tlpkg/tlperl/lib/CORE/vdir.h
@@ -146,43 +146,21 @@ void VDir::Init(VDir* pDir, VMem *p)
else {
int bSave = bManageDirectory;
DWORD driveBits = GetLogicalDrives();
- OSVERSIONINFO osver;
-
- memset(&osver, 0, sizeof(osver));
- osver.dwOSVersionInfoSize = sizeof(osver);
- GetVersionEx(&osver);
bManageDirectory = 0;
- if (osver.dwMajorVersion < 5) {
- char szBuffer[MAX_PATH*driveCount];
- if (GetLogicalDriveStringsA(sizeof(szBuffer), szBuffer)) {
- char* pEnv = (char*)GetEnvironmentStringsA();
- char* ptr = szBuffer;
- for (index = 0; index < driveCount; ++index) {
- if (driveBits & (1<<index)) {
- ptr += SetDirA(ptr, index) + 1;
- FromEnvA(pEnv, index);
- }
- }
- FreeEnvironmentStringsA(pEnv);
- }
- SetDefaultA(".");
- }
- else { /* Windows 2000 or later */
- WCHAR szBuffer[MAX_PATH*driveCount];
- if (GetLogicalDriveStringsW(sizeof(szBuffer), szBuffer)) {
- WCHAR* pEnv = GetEnvironmentStringsW();
- WCHAR* ptr = szBuffer;
- for (index = 0; index < driveCount; ++index) {
- if (driveBits & (1<<index)) {
- ptr += SetDirW(ptr, index) + 1;
- FromEnvW(pEnv, index);
- }
+ WCHAR szBuffer[MAX_PATH*driveCount];
+ if (GetLogicalDriveStringsW(sizeof(szBuffer), szBuffer)) {
+ WCHAR* pEnv = GetEnvironmentStringsW();
+ WCHAR* ptr = szBuffer;
+ for (index = 0; index < driveCount; ++index) {
+ if (driveBits & (1<<index)) {
+ ptr += SetDirW(ptr, index) + 1;
+ FromEnvW(pEnv, index);
}
- FreeEnvironmentStringsW(pEnv);
}
- SetDefaultW(L".");
+ FreeEnvironmentStringsW(pEnv);
}
+ SetDefaultW(L".");
bManageDirectory = bSave;
}
}
diff --git a/Master/tlpkg/tlperl/lib/CORE/vutil.h b/Master/tlpkg/tlperl/lib/CORE/vutil.h
new file mode 100644
index 00000000000..aaf2284e89c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/vutil.h
@@ -0,0 +1,241 @@
+/* This file is part of the "version" CPAN distribution. Please avoid
+ editing it in the perl core. */
+
+#ifndef PERL_CORE
+# include "ppport.h"
+#endif
+
+/* The MUTABLE_*() macros cast pointers to the types shown, in such a way
+ * (compiler permitting) that casting away const-ness will give a warning;
+ * e.g.:
+ *
+ * const SV *sv = ...;
+ * AV *av1 = (AV*)sv; <== BAD: the const has been silently cast away
+ * AV *av2 = MUTABLE_AV(sv); <== GOOD: it may warn
+ */
+
+#ifndef MUTABLE_PTR
+# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+# define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
+# else
+# define MUTABLE_PTR(p) ((void *) (p))
+# endif
+
+# define MUTABLE_AV(p) ((AV *)MUTABLE_PTR(p))
+# define MUTABLE_CV(p) ((CV *)MUTABLE_PTR(p))
+# define MUTABLE_GV(p) ((GV *)MUTABLE_PTR(p))
+# define MUTABLE_HV(p) ((HV *)MUTABLE_PTR(p))
+# define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p))
+# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
+#endif
+
+#ifndef SvPVx_nolen_const
+# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+# define SvPVx_nolen_const(sv) ({SV *_sv = (sv); SvPV_nolen_const(_sv); })
+# else
+# define SvPVx_nolen_const(sv) (SvPV_nolen_const(sv))
+# endif
+#endif
+
+#ifndef PERL_ARGS_ASSERT_CK_WARNER
+static void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...);
+
+# ifdef vwarner
+static
+void
+Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
+{
+ va_list args;
+
+ PERL_UNUSED_ARG(err);
+ if (ckWARN(err)) {
+ va_list args;
+ va_start(args, pat);
+ vwarner(err, pat, &args);
+ va_end(args);
+ }
+}
+# else
+/* yes this replicates my_warner */
+static
+void
+Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
+{
+ SV *sv;
+ va_list args;
+
+ PERL_UNUSED_ARG(err);
+
+ va_start(args, pat);
+ sv = vnewSVpvf(pat, &args);
+ va_end(args);
+ sv_2mortal(sv);
+ warn("%s", SvPV_nolen(sv));
+}
+# endif
+#endif
+
+#define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
+#define PERL_DECIMAL_VERSION \
+ PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
+#define PERL_VERSION_LT(r,v,s) \
+ (PERL_DECIMAL_VERSION < PERL_VERSION_DECIMAL(r,v,s))
+#define PERL_VERSION_GE(r,v,s) \
+ (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
+
+#if PERL_VERSION_LT(5,15,4)
+# define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from(v,"version"))
+#else
+# define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from_pvn(v,"version",7,0))
+#endif
+
+
+#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
+#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
+
+/* prototype to pass -Wmissing-prototypes */
+STATIC void
+S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
+
+STATIC void
+S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
+{
+ const GV *const gv = CvGV(cv);
+
+ PERL_ARGS_ASSERT_CROAK_XS_USAGE;
+
+ if (gv) {
+ const char *const gvname = GvNAME(gv);
+ const HV *const stash = GvSTASH(gv);
+ const char *const hvname = stash ? HvNAME(stash) : NULL;
+
+ if (hvname)
+ Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
+ else
+ Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
+ } else {
+ /* Pants. I don't think that it should be possible to get here. */
+ Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
+ }
+}
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b)
+#else
+#define croak_xs_usage S_croak_xs_usage
+#endif
+
+#endif
+
+#if PERL_VERSION_GE(5,9,0) && !defined(PERL_CORE)
+
+# define VUTIL_REPLACE_CORE 1
+
+const char * Perl_scan_version2(pTHX_ const char *s, SV *rv, bool qv);
+SV * Perl_new_version2(pTHX_ SV *ver);
+SV * Perl_upg_version2(pTHX_ SV *sv, bool qv);
+SV * Perl_vstringify2(pTHX_ SV *vs);
+SV * Perl_vverify2(pTHX_ SV *vs);
+SV * Perl_vnumify2(pTHX_ SV *vs);
+SV * Perl_vnormal2(pTHX_ SV *vs);
+SV * Perl_vstringify2(pTHX_ SV *vs);
+int Perl_vcmp2(pTHX_ SV *lsv, SV *rsv);
+const char * Perl_prescan_version2(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha);
+
+# define SCAN_VERSION(a,b,c) Perl_scan_version2(aTHX_ a,b,c)
+# define NEW_VERSION(a) Perl_new_version2(aTHX_ a)
+# define UPG_VERSION(a,b) Perl_upg_version2(aTHX_ a, b)
+# define VSTRINGIFY(a) Perl_vstringify2(aTHX_ a)
+# define VVERIFY(a) Perl_vverify2(aTHX_ a)
+# define VNUMIFY(a) Perl_vnumify2(aTHX_ a)
+# define VNORMAL(a) Perl_vnormal2(aTHX_ a)
+# define VCMP(a,b) Perl_vcmp2(aTHX_ a,b)
+# define PRESCAN_VERSION(a,b,c,d,e,f,g) Perl_prescan_version2(aTHX_ a,b,c,d,e,f,g)
+# undef is_LAX_VERSION
+# define is_LAX_VERSION(a,b) \
+ (a != Perl_prescan_version2(aTHX_ a, FALSE, b, NULL, NULL, NULL, NULL))
+# undef is_STRICT_VERSION
+# define is_STRICT_VERSION(a,b) \
+ (a != Perl_prescan_version2(aTHX_ a, TRUE, b, NULL, NULL, NULL, NULL))
+
+#else
+
+const char * Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv);
+SV * Perl_new_version(pTHX_ SV *ver);
+SV * Perl_upg_version(pTHX_ SV *sv, bool qv);
+SV * Perl_vverify(pTHX_ SV *vs);
+SV * Perl_vnumify(pTHX_ SV *vs);
+SV * Perl_vnormal(pTHX_ SV *vs);
+SV * Perl_vstringify(pTHX_ SV *vs);
+int Perl_vcmp(pTHX_ SV *lsv, SV *rsv);
+const char * Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha);
+
+# define SCAN_VERSION(a,b,c) Perl_scan_version(aTHX_ a,b,c)
+# define NEW_VERSION(a) Perl_new_version(aTHX_ a)
+# define UPG_VERSION(a,b) Perl_upg_version(aTHX_ a, b)
+# define VSTRINGIFY(a) Perl_vstringify(aTHX_ a)
+# define VVERIFY(a) Perl_vverify(aTHX_ a)
+# define VNUMIFY(a) Perl_vnumify(aTHX_ a)
+# define VNORMAL(a) Perl_vnormal(aTHX_ a)
+# define VCMP(a,b) Perl_vcmp(aTHX_ a,b)
+
+# define PRESCAN_VERSION(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g)
+# ifndef is_LAX_VERSION
+# define is_LAX_VERSION(a,b) \
+ (a != Perl_prescan_version(aTHX_ a, FALSE, b, NULL, NULL, NULL, NULL))
+# endif
+# ifndef is_STRICT_VERSION
+# define is_STRICT_VERSION(a,b) \
+ (a != Perl_prescan_version(aTHX_ a, TRUE, b, NULL, NULL, NULL, NULL))
+# endif
+
+#endif
+
+#if PERL_VERSION_LT(5,11,4)
+# define BADVERSION(a,b,c) \
+ if (b) { \
+ *b = c; \
+ } \
+ return a;
+
+# define PERL_ARGS_ASSERT_PRESCAN_VERSION \
+ assert(s); assert(sqv); assert(ssaw_decimal);\
+ assert(swidth); assert(salpha);
+
+# define PERL_ARGS_ASSERT_SCAN_VERSION \
+ assert(s); assert(rv)
+# define PERL_ARGS_ASSERT_NEW_VERSION \
+ assert(ver)
+# define PERL_ARGS_ASSERT_UPG_VERSION \
+ assert(ver)
+# define PERL_ARGS_ASSERT_VVERIFY \
+ assert(vs)
+# define PERL_ARGS_ASSERT_VNUMIFY \
+ assert(vs)
+# define PERL_ARGS_ASSERT_VNORMAL \
+ assert(vs)
+# define PERL_ARGS_ASSERT_VSTRINGIFY \
+ assert(vs)
+# define PERL_ARGS_ASSERT_VCMP \
+ assert(lhv); assert(rhv)
+# define PERL_ARGS_ASSERT_CK_WARNER \
+ assert(pat)
+#endif
+
+
+#if PERL_VERSION_LT(5,19,0)
+# undef STORE_NUMERIC_LOCAL_SET_STANDARD
+# undef RESTORE_NUMERIC_LOCAL
+# ifdef USE_LOCALE
+# define STORE_NUMERIC_LOCAL_SET_STANDARD()\
+ char *loc = savepv(setlocale(LC_NUMERIC, NULL)); \
+ SAVEFREEPV(loc); \
+ setlocale(LC_NUMERIC, "C");
+
+# define RESTORE_NUMERIC_LOCAL()\
+ setlocale(LC_NUMERIC, loc);
+# else
+# define STORE_NUMERIC_LOCAL_SET_STANDARD()
+# define RESTORE_NUMERIC_LOCAL()
+# endif
+#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/warnings.h b/Master/tlpkg/tlperl/lib/CORE/warnings.h
index 5c40d5c398b..66e4153d6b9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/warnings.h
+++ b/Master/tlpkg/tlperl/lib/CORE/warnings.h
@@ -95,9 +95,16 @@
#define WARN_EXPERIMENTAL__REGEX_SETS 54
#define WARN_EXPERIMENTAL__SMARTMATCH 55
-#define WARNsize 14
-#define WARN_ALLstring "\125\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\0"
+/* Warnings Categories added in Perl 5.019 */
+
+#define WARN_EXPERIMENTAL__AUTODEREF 56
+#define WARN_EXPERIMENTAL__POSTDEREF 57
+#define WARN_EXPERIMENTAL__SIGNATURES 58
+#define WARN_SYSCALLS 59
+
+#define WARNsize 15
+#define WARN_ALLstring "\125\125\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\0\0"
#define isLEXWARN_on (PL_curcop->cop_warnings != pWARN_STD)
#define isLEXWARN_off (PL_curcop->cop_warnings == pWARN_STD)
@@ -111,6 +118,10 @@
char))
#define ckWARN(w) Perl_ckwarn(aTHX_ packWARN(w))
+
+/* The w1, w2 ... should be independent warnings categories; one shouldn't be
+ * a subcategory of any other */
+
#define ckWARN2(w1,w2) Perl_ckwarn(aTHX_ packWARN2(w1,w2))
#define ckWARN3(w1,w2,w3) Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3))
#define ckWARN4(w1,w2,w3,w4) Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4))
@@ -123,6 +134,10 @@
#define WARNshift 8
#define packWARN(a) (a )
+
+/* The a, b, ... should be independent warnings categories; one shouldn't be
+ * a subcategory of any other */
+
#define packWARN2(a,b) ((a) | ((b)<<8) )
#define packWARN3(a,b,c) ((a) | ((b)<<8) | ((c)<<16) )
#define packWARN4(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d) <<24))
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32.h b/Master/tlpkg/tlperl/lib/CORE/win32.h
index 3065867bd28..735c4503e27 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32.h
@@ -13,6 +13,7 @@
# define _WIN32_WINNT 0x0500 /* needed for CreateHardlink() etc. */
#endif
+/* Win32 only optimizations for faster building */
#ifdef PERL_IS_MINIPERL
/* this macro will remove Winsock only on miniperl, PERL_IMPLICIT_SYS and
* makedef.pl create dependencies that will keep Winsock linked in even with
@@ -20,6 +21,8 @@
* level in full perl
*/
# define WIN32_NO_SOCKETS
+/* less I/O calls during each require */
+# define PERL_DISABLE_PMC
#endif
#ifdef WIN32_NO_SOCKETS
@@ -242,13 +245,18 @@ typedef unsigned short mode_t;
#pragma warning(disable: 4102) /* "unreferenced label" */
-#define isnan _isnan
+#if _MSC_VER < 1800
+#define isnan _isnan /* Defined already in VC++ 12.0 */
+#endif
+#ifdef UNDER_CE /* revisit what function this becomes celib vs corelibc, prv warning here*/
+# undef snprintf
+#endif
#define snprintf _snprintf
#define vsnprintf _vsnprintf
-#if _MSC_VER < 1300
-/* VC6 has broken NaN semantics: NaN == NaN returns true instead of false */
-#define NAN_COMPARE_BROKEN 1
+/* on VC2003, msvcrt.lib is missing these symbols */
+#if _MSC_VER >= 1300 && _MSC_VER < 1400
+# pragma intrinsic(_rotl64,_rotr64)
#endif
#endif /* _MSC_VER */
@@ -312,7 +320,6 @@ extern gid_t getegid(void);
extern int setuid(uid_t uid);
extern int setgid(gid_t gid);
extern int kill(int pid, int sig);
-extern int killpg(int pid, int sig);
#ifndef USE_PERL_SBRK
extern void *sbrk(ptrdiff_t need);
# define HAS_SBRK_PROTO
@@ -369,6 +376,8 @@ extern char * win32_get_vendorlib(const char *pl, STRLEN *const len);
extern void win32_delete_internal_host(void *h);
#endif
+extern int win32_get_errno(int err);
+
extern const char * const staticlinkmodules[];
END_EXTERN_C
@@ -383,8 +392,8 @@ typedef char * caddr_t; /* In malloc.c (core address). */
#ifdef MYMALLOC
#define EMBEDMYMALLOC /**/
-/* #define USE_PERL_SBRK /**/
-/* #define PERL_SBRK_VIA_MALLOC /**/
+/* #define USE_PERL_SBRK / **/
+/* #define PERL_SBRK_VIA_MALLOC / **/
#endif
#ifdef PERL_TEXTMODE_SCRIPTS
@@ -500,6 +509,100 @@ void win32_wait_for_children(pTHX);
# define PERL_WAIT_FOR_CHILDREN win32_wait_for_children(aTHX)
#endif
+#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
+
+
+/* VV 2005 has multiple ioinfo struct definitions through VC 2005's release life
+ * VC 2008-2012 have been stable but do not assume future VCs will have the
+ * same ioinfo struct, just because past struct stability. If research is done
+ * on the CRTs of future VS, the version check can be bumped up so the newer
+ * VC uses a fixed ioinfo size.
+ */
+#if ! (_MSC_VER < 1400 || (_MSC_VER >= 1500 && _MSC_VER <= 1700) \
+ || defined(__MINGW32__))
+/* size of ioinfo struct is determined at runtime */
+# define WIN32_DYN_IOINFO_SIZE
+#endif
+
+#ifndef WIN32_DYN_IOINFO_SIZE
+/*
+ * 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;
+/* this struct defintion breaks ABI compatibility with
+ * not using, cl.exe's native VS version specitfic CRT. */
+# if _MSC_VER >= 1400 && _MSC_VER < 1500
+# error "This ioinfo struct is incomplete for Visual C 2005"
+# endif
+/* VC 2005 CRT has atleast 3 different definitions of this struct based on the
+ * CRT DLL's build number. */
+# if _MSC_VER >= 1500
+# ifndef _SAFECRT_IMPL
+ /* Not used in the safecrt downlevel. We do not define them, so we cannot
+ * use them accidentally */
+ char textmode : 7;/* __IOINFO_TM_ANSI or __IOINFO_TM_UTF8 or __IOINFO_TM_UTF16LE */
+ char unicode : 1; /* Was the file opened as unicode? */
+ char pipech2[2]; /* 2 more peak ahead chars for UNICODE mode */
+ __int64 startpos; /* File position that matches buffer start */
+ BOOL utf8translations; /* Buffer contains translations other than CRLF*/
+ char dbcsBuffer; /* Buffer for the lead byte of dbcs when converting from dbcs to unicode */
+ BOOL dbcsBufferUsed; /* Bool for the lead byte buffer is used or not */
+# endif
+# endif
+} ioinfo;
+#else
+typedef intptr_t ioinfo;
+#endif
+
+/*
+ * 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
+ */
+#ifdef WIN32_DYN_IOINFO_SIZE
+# define _pioinfo(i) ((intptr_t *) \
+ (((Size_t)__pioinfo[(i) >> IOINFO_L2E])/* * to head of array ioinfo [] */\
+ /* offset to the head of a particular ioinfo struct */ \
+ + (((i) & (IOINFO_ARRAY_ELTS - 1)) * w32_ioinfo_size)) \
+ )
+/* first slice of ioinfo is always the OS handle */
+# define _osfhnd(i) (*(_pioinfo(i)))
+#else
+# define _pioinfo(i) (__pioinfo[(i) >> IOINFO_L2E] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
+# define _osfhnd(i) (_pioinfo(i)->osfhnd)
+#endif
+
+/* since we are not doing a dup2(), this works fine */
+# define _set_osfhnd(fh, osfh) (void)(_osfhnd(fh) = (intptr_t)osfh)
+#endif /* PERL_CORE */
+
/* IO.xs and POSIX.xs define PERLIO_NOT_STDIO to 1 */
#if defined(PERL_EXT_IO) || defined(PERL_EXT_POSIX)
#undef PERLIO_NOT_STDIO
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop.h b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
index 207c9176e56..246375faa32 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32iop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
@@ -207,75 +207,210 @@ END_EXTERN_C
*/
#undef fprintf
#define fprintf win32_fprintf
+#ifdef UNDER_CE /* celib also makes these be macros to celib's x* symbols */
+# undef vfprintf
+#endif
#define vfprintf win32_vfprintf
+#ifdef UNDER_CE
+# undef printf
+#endif
#define printf win32_printf
+#ifdef UNDER_CE
+# undef vprintf
+#endif
#define vprintf win32_vprintf
+#ifdef UNDER_CE
+# undef fread
+#endif
#define fread(buf,size,count,f) win32_fread(buf,size,count,f)
+#ifdef UNDER_CE
+# undef fwrite
+#endif
#define fwrite(buf,size,count,f) win32_fwrite(buf,size,count,f)
+#ifdef UNDER_CE
+# undef fopen
+#endif
#define fopen win32_fopen
#undef fdopen
#define fdopen win32_fdopen
+#ifdef UNDER_CE
+# undef freopen
+#endif
#define freopen win32_freopen
#define fclose(f) win32_fclose(f)
+#ifdef UNDER_CE
+# undef fputs
+#endif
#define fputs(s,f) win32_fputs(s,f)
+#ifdef UNDER_CE
+# undef fputc
+#endif
#define fputc(c,f) win32_fputc(c,f)
+#ifdef UNDER_CE
+# undef ungetc
+#endif
#define ungetc(c,f) win32_ungetc(c,f)
#undef getc
#define getc(f) win32_getc(f)
+#ifdef UNDER_CE
+# undef fileno
+#endif
#define fileno(f) win32_fileno(f)
+#ifdef UNDER_CE
+# undef clearerr
+#endif
#define clearerr(f) win32_clearerr(f)
+#ifdef UNDER_CE
+# undef fflush
+#endif
#define fflush(f) win32_fflush(f)
+#ifdef UNDER_CE
+# undef ftell
+#endif
#define ftell(f) win32_ftell(f)
+#ifdef UNDER_CE
+# undef fseek
+#endif
#define fseek(f,o,w) win32_fseek(f,o,w)
+#ifdef UNDER_CE
+# undef fgetpos
+#endif
#define fgetpos(f,p) win32_fgetpos(f,p)
+#ifdef UNDER_CE
+# undef fsetpos
+#endif
#define fsetpos(f,p) win32_fsetpos(f,p)
+#ifdef UNDER_CE
+# undef rewind
+#endif
#define rewind(f) win32_rewind(f)
#define tmpfile() win32_tmpfile()
+#ifdef UNDER_CE
+# undef abort
+#endif
#define abort() win32_abort()
+#ifdef UNDER_CE
+# undef fstat
+#endif
#define fstat(fd,bufptr) win32_fstat(fd,bufptr)
+#ifdef UNDER_CE
+# undef stat
+#endif
#define stat(pth,bufptr) win32_stat(pth,bufptr)
#define longpath(pth) win32_longpath(pth)
#define ansipath(pth) win32_ansipath(pth)
+#ifdef UNDER_CE
+# undef rename
+#endif
#define rename(old,new) win32_rename(old,new)
+#ifdef UNDER_CE
+# undef setmode
+#endif
#define setmode(fd,mode) win32_setmode(fd,mode)
#define chsize(fd,sz) win32_chsize(fd,sz)
+#ifdef UNDER_CE
+# undef lseek
+#endif
#define lseek(fd,offset,orig) win32_lseek(fd,offset,orig)
#define tell(fd) win32_tell(fd)
+#ifdef UNDER_CE
+# undef dup
+#endif
#define dup(fd) win32_dup(fd)
+#ifdef UNDER_CE
+# undef dup2
+#endif
#define dup2(fd1,fd2) win32_dup2(fd1,fd2)
+#ifdef UNDER_CE
+# undef open
+#endif
#define open win32_open
+#ifdef UNDER_CE
+# undef close
+#endif
#define close(fd) win32_close(fd)
#define eof(fd) win32_eof(fd)
+#ifdef UNDER_CE
+# undef isatty
+#endif
#define isatty(fd) win32_isatty(fd)
+#ifdef UNDER_CE
+# undef read
+#endif
#define read(fd,b,s) win32_read(fd,b,s)
+#ifdef UNDER_CE
+# undef write
+#endif
#define write(fd,b,s) win32_write(fd,b,s)
#define _open_osfhandle win32_open_osfhandle
+#ifdef UNDER_CE
+# undef _get_osfhandle
+#endif
#define _get_osfhandle win32_get_osfhandle
#define spawnvp win32_spawnvp
+#ifdef UNDER_CE
+# undef mkdir
+#endif
#define mkdir win32_mkdir
+#ifdef UNDER_CE
+# undef rmdir
+#endif
#define rmdir win32_rmdir
+#ifdef UNDER_CE
+# undef chdir
+#endif
#define chdir win32_chdir
#define flock(fd,o) win32_flock(fd,o)
+#ifdef UNDER_CE
+# undef execv
+#endif
#define execv win32_execv
+#ifdef UNDER_CE
+# undef execvp
+#endif
#define execvp win32_execvp
+#ifdef UNDER_CE
+# undef perror
+#endif
#define perror win32_perror
#define setbuf win32_setbuf
+#ifdef UNDER_CE
+# undef setvbuf
+#endif
#define setvbuf win32_setvbuf
#undef flushall
#define flushall win32_flushall
#undef fcloseall
#define fcloseall win32_fcloseall
+#ifdef UNDER_CE
+# undef fgets
+#endif
#define fgets win32_fgets
+#ifdef UNDER_CE
+# undef gets
+#endif
#define gets win32_gets
+#ifdef UNDER_CE
+# undef fgetc
+#endif
#define fgetc win32_fgetc
#undef putc
#define putc win32_putc
+#ifdef UNDER_CE
+# undef puts
+#endif
#define puts win32_puts
#undef getchar
#define getchar win32_getchar
#undef putchar
#define putchar win32_putchar
+#ifdef UNDER_CE
+# undef access
+#endif
#define access(p,m) win32_access(p,m)
+#ifdef UNDER_CE
+# undef chmod
+#endif
#define chmod(p,m) win32_chmod(p,m)
@@ -302,19 +437,42 @@ END_EXTERN_C
#define link win32_link
#define unlink win32_unlink
#define utime win32_utime
+#ifdef UNDER_CE
+# undef gettimeofday
+#endif
#define gettimeofday win32_gettimeofday
#define uname win32_uname
#define wait win32_wait
#define waitpid win32_waitpid
+#ifdef UNDER_CE
+# undef kill
+#endif
#define kill win32_kill
+#ifdef UNDER_CE
+# undef killpg
+#endif
+#define killpg(pid, sig) win32_kill(pid, -(sig))
+
+#ifdef UNDER_CE
+# undef opendir
+#endif
#define opendir win32_opendir
+#ifdef UNDER_CE
+# undef readdir
+#endif
#define readdir win32_readdir
#define telldir win32_telldir
#define seekdir win32_seekdir
#define rewinddir win32_rewinddir
+#ifdef UNDER_CE
+# undef closedir
+#endif
#define closedir win32_closedir
#define os_id win32_os_id
+#ifdef UNDER_CE
+# undef getpid
+#endif
#define getpid win32_getpid
#undef crypt
diff --git a/Master/tlpkg/tlperl/lib/CPAN.pm b/Master/tlpkg/tlperl/lib/CPAN.pm
index 1c68b02e6e1..4ed4b6cdd00 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 = '2.00';
+$CPAN::VERSION = '2.05';
$CPAN::VERSION =~ s/_//;
# we need to run chdir all over and we would get at wrong libraries
@@ -886,7 +886,7 @@ this variable in either a CPAN/MyConfig.pm or a CPAN/Config.pm in your
# be politely squashed. Any bug that causes every eval {} to have to be
# modified should be not so politely squashed.
#
-# Those are my current opinions. It is also my optinion that polite
+# Those are my current opinions. It is also my opinion that polite
# arguments degenerate to personal arguments far too frequently, and that
# when they do, it's because both people wanted it to, or at least didn't
# sufficiently want it not to.
@@ -1111,7 +1111,7 @@ sub has_inst {
my %dont = map { $_ => 1 } keys %{$CPAN::META->{dontload_hash}||{}},
keys %{$CPAN::Config->{dontload_hash}||{}},
@{$CPAN::Config->{dontload_list}||[]};
- if (defined $message && $message eq "no" # afair only used by Nox
+ if (defined $message && $message eq "no" # as far as I remember only used by Nox
||
$dont{$mod}
) {
@@ -1125,7 +1125,7 @@ sub has_inst {
if ($INC{$file}) {
# checking %INC is wrong, because $INC{LWP} may be true
# although $INC{"URI/URL.pm"} may have failed. But as
- # I really want to say "bla loaded OK", I have to somehow
+ # I really want to say "blah loaded OK", I have to somehow
# cache results.
### warn "$file in %INC"; #debug
return 1;
@@ -1746,7 +1746,7 @@ not yet been installed. See also C<is_tested>.
=item is_tested
-List all buid directories of distributions that have been tested
+List all build directories of distributions that have been tested
successfully but have not yet been installed. See also
C<install_tested>.
@@ -1865,7 +1865,7 @@ separated):
Modules know their associated Distribution objects. They always refer
to the most recent official release. Developers may mark their releases
-as unstable development versions (by inserting an underbar into the
+as unstable development versions (by inserting an unserscore into the
module version number which will also be reflected in the distribution
name when you run 'make dist'), so the really hottest and newest
distribution is not always the default. If a module Foo circulates
@@ -2110,12 +2110,14 @@ 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
+ recommends_policy whether recommended prerequisites should be included
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
show_upload_date boolean if commands should try to determine upload date
show_zero_versions boolean if r command tells for which modules $version==0
+ suggests_policy whether suggested prerequisites should be included
tar location of external program tar
tar_verbosity verbosity level for the tar command
term_is_latin deprecated: if true Unicode is translated to ISO-8859-1
@@ -2127,6 +2129,7 @@ currently defined:
CPAN::Reporter history)
unzip location of external program unzip
urllist arrayref to nearby CPAN sites (or equivalent locations)
+ use_prompt_default set PERL_MM_USE_DEFAULT for configure/make/test/install
use_sqlite use CPAN::SQLite for metadata storage (fast and lean)
username your username if you CPAN server wants one
version_timeout stops version parsing after this many seconds.
@@ -3755,7 +3758,7 @@ which to try in which order.
Henk P. Penning maintains a site that collects data about CPAN sites:
- http://www.cs.uu.nl/people/henkp/mirmon/cpan.html
+ http://mirrors.cpan.org/
Also, feel free to play with experimental features. Run
@@ -3791,8 +3794,9 @@ 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
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
+start (or more precisely, after the first extraction into the build
+directory) 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
diff --git a/Master/tlpkg/tlperl/lib/CPAN/API/HOWTO.pod b/Master/tlpkg/tlperl/lib/CPAN/API/HOWTO.pod
new file mode 100644
index 00000000000..e65a4bc9313
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/API/HOWTO.pod
@@ -0,0 +1,44 @@
+=head1 NAME
+
+CPAN::API::HOWTO - a recipe book for programming with CPAN.pm
+
+=head1 RECIPES
+
+All of these recipes assume that you have put "use CPAN" at the top of
+your program.
+
+=head2 What distribution contains a particular module?
+
+ my $distribution = CPAN::Shell->expand(
+ "Module", "Data::UUID"
+ )->distribution()->pretty_id();
+
+This returns a string of the form "AUTHORID/TARBALL". If you want the
+full path and filename to this distribution on a CPAN mirror, then it is
+C<.../authors/id/A/AU/AUTHORID/TARBALL>.
+
+=head2 What modules does a particular distribution contain?
+
+ CPAN::Index->reload();
+ my @modules = CPAN::Shell->expand(
+ "Distribution", "JHI/Graph-0.83.tar.gz"
+ )->containsmods();
+
+You may also refer to a distribution in the form A/AU/AUTHORID/TARBALL.
+
+=head1 SEE ALSO
+
+the main CPAN.pm documentation
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+=head1 AUTHOR
+
+David Cantrell
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Author.pm b/Master/tlpkg/tlperl/lib/CPAN/Author.pm
index 64fe57f61bd..572f3ab31d5 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.5001";
+$VERSION = "5.5002";
package CPAN::Author;
use strict;
@@ -178,7 +178,7 @@ sub dir_listing {
$lc_file = $lc_want;
# we *could* second-guess and if the user has a file: URL,
# then we could look there. But on the other hand, if they do
- # have a file: URL, wy did they choose to set
+ # have a file: URL, why did they choose to set
# $CPAN::Config->{show_upload_date} to false?
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
index 92f7990ed3d..1525dde5e32 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
@@ -8,7 +8,7 @@ use CPAN::Module;
use vars qw(
$VERSION
);
-$VERSION = "5.5";
+$VERSION = "5.5001";
sub look {
my $self = shift;
@@ -229,7 +229,9 @@ Going to $meth that.
my $obj = $CPAN::META->instance($type,$s);
$obj->{reqtype} = $self->{reqtype};
# $obj->$meth();
- CPAN::Queue->queue_item(qmod => $obj->id, reqtype => $self->{reqtype});
+ # XXX should optional be based on whether bundle was optional? -- xdg, 2012-04-01
+ # A: Sure, what could demand otherwise? --andk, 2013-11-25
+ CPAN::Queue->queue_item(qmod => $obj->id, reqtype => $self->{reqtype}, optional => !$self->{mandatory});
}
}
@@ -267,7 +269,7 @@ sub clean { shift->rematein('clean',@_); }
#-> sub CPAN::Bundle::uptodate ;
sub uptodate {
my($self) = @_;
- return 0 unless $self->SUPER::uptodate; # we mut have the current Bundle def
+ return 0 unless $self->SUPER::uptodate; # we must have the current Bundle def
my $c;
foreach $c ($self->contains) {
my $obj = CPAN::Shell->expandany($c);
diff --git a/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm b/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
index 23e756e75b2..144efd62b3b 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.5001";
+$VERSION = "5.5002";
package CPAN::CacheMgr;
use strict;
@@ -172,7 +172,7 @@ sub _clean_cache {
} elsif (my $id = $peek_yaml->[0]{distribution}{ID}) {
$CPAN::META->delete("CPAN::Distribution", $id);
- # XXX we should restore the state NOW, otherise this
+ # XXX we should restore the state NOW, otherwise this
# distro does not exist until we read an index. BUG ALERT(?)
# $CPAN::Frontend->mywarn (" +++\n");
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Complete.pm b/Master/tlpkg/tlperl/lib/CPAN/Complete.pm
index e1fe896d4a5..588e6e6c2cf 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Complete.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Complete.pm
@@ -4,7 +4,7 @@ package CPAN::Complete;
use strict;
@CPAN::Complete::ISA = qw(CPAN::Debug);
# Q: where is the "How do I add a new command" HOWTO?
-# A: svn diff -r 1048:1049 where andk added the report command
+# A: git log -p -1 355c44e9caaec857e4b12f51afb96498833c3e36 where andk added the report command
@CPAN::Complete::COMMANDS = sort qw(
? ! a b d h i m o q r u
autobundle
@@ -42,7 +42,7 @@ use strict;
use vars qw(
$VERSION
);
-$VERSION = "5.5";
+$VERSION = "5.5001";
package CPAN::Complete;
use strict;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
index 690d6a063db..9a0870717da 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
@@ -4,11 +4,12 @@ package CPAN::Distribution;
use strict;
use Cwd qw(chdir);
use CPAN::Distroprefs;
+use CPAN::Meta::Requirements 2;
use CPAN::InfoObj;
use File::Path ();
@CPAN::Distribution::ISA = qw(CPAN::InfoObj);
use vars qw($VERSION);
-$VERSION = "2.00";
+$VERSION = "2.02";
# Accessors
sub cpan_comment {
@@ -70,7 +71,7 @@ sub normalize {
} elsif (
$s =~ tr|/|| == 1
or
- $s !~ m|[A-Z]/[A-Z-]{2}/[A-Z-]{2,}/|
+ $s !~ m|[A-Z]/[A-Z-0-9]{2}/[A-Z-0-9]{2,}/|
) {
return $s if $s =~ m:^N/A|^Contact Author: ;
$s =~ s|^(.)(.)([^/]*/)(.+)$|$1/$1$2/$1$2$3$4|;
@@ -185,8 +186,13 @@ sub color_cmd_tmps {
# warn "color_cmd_tmps $depth $color " . $self->id; # sleep 1;
my $prereq_pm = $self->prereq_pm;
if (defined $prereq_pm) {
- PREREQ: for my $pre (keys %{$prereq_pm->{requires}||{}},
- keys %{$prereq_pm->{build_requires}||{}}) {
+ # XXX also optional_req & optional_breq? -- xdg, 2012-04-01
+ PREREQ: for my $pre (
+ keys %{$prereq_pm->{requires}||{}},
+ keys %{$prereq_pm->{build_requires}||{}},
+ keys %{$prereq_pm->{opt_requires}||{}},
+ keys %{$prereq_pm->{opt_build_requires}||{}}
+ ) {
next PREREQ if $pre eq "perl";
my $premo;
unless ($premo = CPAN::Shell->expand("Module",$pre)) {
@@ -275,20 +281,66 @@ sub called_for {
return $self->{CALLED_FOR};
}
+#-> sub CPAN::Distribution::shortcut_get ;
+# return values: undef means don't shortcut; 0 means shortcut as fail;
+# and 1 means shortcut as success
+sub shortcut_get {
+ my ($self) = @_;
+
+ if (my $why = $self->check_disabled) {
+ $self->{unwrapped} = CPAN::Distrostatus->new("NO $why");
+ # XXX why is this goodbye() instead of just print/warn?
+ # Alternatively, should other print/warns here be goodbye()?
+ # -- xdg, 2012-04-05
+ return $self->goodbye("[disabled] -- NA $why");
+ }
+
+ $self->debug("checking already unwrapped[$self->{ID}]") if $CPAN::DEBUG;
+ if (exists $self->{build_dir} && -d $self->{build_dir}) {
+ # this deserves print, not warn:
+ return $self->success("Has already been unwrapped into directory ".
+ "$self->{build_dir}"
+ );
+ }
+
+ # XXX I'm not sure this should be here because it's not really
+ # a test for whether get should continue or return; this is
+ # a side effect -- xdg, 2012-04-05
+ $self->debug("checking missing build_dir[$self->{ID}]") if $CPAN::DEBUG;
+ if (exists $self->{build_dir} && ! -d $self->{build_dir}){
+ # we have lost it.
+ $self->fforce(""); # no method to reset all phases but not set force (dodge)
+ return undef; # no shortcut
+ }
+
+ # although we talk about 'force' we shall not test on
+ # force directly. New model of force tries to refrain from
+ # direct checking of force.
+ $self->debug("checking unwrapping error[$self->{ID}]") if $CPAN::DEBUG;
+ if ( exists $self->{unwrapped} and (
+ UNIVERSAL::can($self->{unwrapped},"failed") ?
+ $self->{unwrapped}->failed :
+ $self->{unwrapped} =~ /^NO/ )
+ ) {
+ return $self->goodbye("Unwrapping had some problem, won't try again without force");
+ }
+
+ return undef; # no shortcut
+}
+
#-> sub CPAN::Distribution::get ;
sub get {
my($self) = @_;
+
$self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG;
if (my $goto = $self->prefs->{goto}) {
- $CPAN::Frontend->mywarn
- (sprintf(
- "delegating to '%s' as specified in prefs file '%s' doc %d\n",
- $goto,
- $self->{prefs_file},
- $self->{prefs_file_doc},
- ));
return $self->goto($goto);
}
+
+ if ( defined( my $sc = $self->shortcut_get) ) {
+ return $sc;
+ }
+
local $ENV{PERL5LIB} = defined($ENV{PERL5LIB})
? $ENV{PERL5LIB}
: ($ENV{PERLLIB} || "");
@@ -296,77 +348,38 @@ sub get {
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
- EXCUSE: {
- my @e;
- my $goodbye_message;
- $self->debug("checking disabled id[$self->{ID}]") if $CPAN::DEBUG;
- if ($self->prefs->{disabled} && ! $self->{force_update}) {
- my $why = sprintf(
- "Disabled via prefs file '%s' doc %d",
- $self->{prefs_file},
- $self->{prefs_file_doc},
- );
- push @e, $why;
- $self->{unwrapped} = CPAN::Distrostatus->new("NO $why");
- $goodbye_message = "[disabled] -- NA $why";
- # note: not intended to be persistent but at least visible
- # during this session
- } else {
- if (exists $self->{build_dir} && -d $self->{build_dir}
- && ($self->{modulebuild}||$self->{writemakefile})
- ) {
- # this deserves print, not warn:
- $CPAN::Frontend->myprint(" Has already been unwrapped into directory ".
- "$self->{build_dir}\n"
- );
- return 1;
- }
- if (exists $self->{build_dir} && ! -d $self->{build_dir}){
- # we have lost it.
- $self->fforce(""); # no method to reset all phases but not set force (dodge)
- }
-
- # although we talk about 'force' we shall not test on
- # force directly. New model of force tries to refrain from
- # direct checking of force.
- exists $self->{unwrapped} and (
- UNIVERSAL::can($self->{unwrapped},"failed") ?
- $self->{unwrapped}->failed :
- $self->{unwrapped} =~ /^NO/
- )
- and push @e, "Unwrapping had some problem, won't try again without force";
- }
- if (@e) {
- $CPAN::Frontend->mywarn(join "", map {"$_\n"} @e);
- if ($goodbye_message) {
- $self->goodbye($goodbye_message);
- }
- return;
- }
- }
my $sub_wd = CPAN::anycwd(); # for cleaning up as good as possible
my($local_file);
+ # XXX I don't think this check needs to be here, as it
+ # is already checked in shortcut_get() -- xdg, 2012-04-05
unless ($self->{build_dir} && -d $self->{build_dir}) {
$self->get_file_onto_local_disk;
return if $CPAN::Signal;
$self->check_integrity;
return if $CPAN::Signal;
(my $packagedir,$local_file) = $self->run_preps_on_packagedir;
+ # XXX why is this check here? -- xdg, 2012-04-08
if (exists $self->{writemakefile} && ref $self->{writemakefile}
&& $self->{writemakefile}->can("failed") &&
$self->{writemakefile}->failed) {
+ #
return;
}
$packagedir ||= $self->{build_dir};
$self->{build_dir} = $packagedir;
}
+ # XXX should this move up to after run_preps_on_packagedir?
+ # Otherwise, failing writemakefile can return without
+ # a $CPAN::Signal check -- xdg, 2012-04-05
if ($CPAN::Signal) {
$self->safe_chdir($sub_wd);
return;
}
- return $self->choose_MM_or_MB($local_file);
+ return unless $self->patch;
+ $self->store_persistent_state;
+ return 1; # success
}
#-> CPAN::Distribution::get_file_onto_local_disk
@@ -639,6 +652,8 @@ sub parse_meta_yml {
}
#-> sub CPAN::Distribution::satisfy_requires ;
+# return values: 1 means requirements are satisfied;
+# and 0 means not satisfied (and maybe queued)
sub satisfy_requires {
my ($self) = @_;
$self->debug("Entering satisfy_requires") if $CPAN::DEBUG;
@@ -656,18 +671,19 @@ sub satisfy_requires {
my $follow = eval { $self->follow_prereqs("later",@prereq); };
if (0) {
} elsif ($follow) {
- # signal success to the queuerunner
- return 1;
+ return; # we need deps
} elsif ($@ && ref $@ && $@->isa("CPAN::Exception::RecursiveDependency")) {
$CPAN::Frontend->mywarn($@);
die "[depend] -- NOT OK\n";
}
}
}
- return;
+ return 1;
}
#-> sub CPAN::Distribution::satisfy_configure_requires ;
+# return values: 1 means configure_require is satisfied;
+# and 0 means not satisfied (and maybe queued)
sub satisfy_configure_requires {
my($self) = @_;
$self->debug("Entering satisfy_configure_requires") if $CPAN::DEBUG;
@@ -710,7 +726,7 @@ sub satisfy_configure_requires {
};
if (0) {
} elsif ($follow) {
- return;
+ return; # we need deps
} elsif ($@ && ref $@ && $@->isa("CPAN::Exception::RecursiveDependency")) {
$CPAN::Frontend->mywarn($@);
return $self->goodbye("[depend] -- NOT OK");
@@ -724,8 +740,9 @@ sub satisfy_configure_requires {
#-> sub CPAN::Distribution::choose_MM_or_MB ;
sub choose_MM_or_MB {
- my($self,$local_file) = @_;
+ my($self) = @_;
$self->satisfy_configure_requires() or return;
+ my $local_file = $self->{localfile};
my($mpl) = File::Spec->catfile($self->{build_dir},"Makefile.PL");
my($mpl_exists) = -f $mpl;
unless ($mpl_exists) {
@@ -754,7 +771,6 @@ sub choose_MM_or_MB {
$prefer_installer = "mb";
}
}
- return unless $self->patch;
if (lc($prefer_installer) eq "rand") {
$prefer_installer = rand()<.5 ? "eumm" : "mb";
}
@@ -1063,7 +1079,7 @@ sub _exefile_stanza {
$fh->open($script_file)
or Carp::croak("Could not open script '$script_file': $!");
local $/ = "\n";
- # name parsen und prereq
+ # parse name and prereq
my($state) = "poddir";
my($name, $prereq) = ("", "");
while (<$fh>) {
@@ -1720,48 +1736,78 @@ sub perl {
return CPAN::HandleConfig->safe_quote($CPAN::Perl);
}
+#-> sub CPAN::Distribution::shortcut_prepare ;
+# return values: undef means don't shortcut; 0 means shortcut as fail;
+# and 1 means shortcut as success
-#-> sub CPAN::Distribution::make ;
-sub make {
- my($self) = @_;
- if (my $goto = $self->prefs->{goto}) {
- return $self->goto($goto);
+sub shortcut_prepare {
+ my ($self) = @_;
+
+ $self->debug("checking archive type[$self->{ID}]") if $CPAN::DEBUG;
+ if (!$self->{archived} || $self->{archived} eq "NO") {
+ return $self->goodbye("Is neither a tar nor a zip archive.");
}
- my $make = $self->{modulebuild} ? "Build" : "make";
- # Emergency brake if they said install Pippi and get newest perl
- if ($self->isa_perl) {
+
+ $self->debug("checking unwrapping[$self->{ID}]") if $CPAN::DEBUG;
+ if (!$self->{unwrapped}
+ || (
+ UNIVERSAL::can($self->{unwrapped},"failed") ?
+ $self->{unwrapped}->failed :
+ $self->{unwrapped} =~ /^NO/
+ )) {
+ return $self->goodbye("Had problems unarchiving. Please build manually");
+ }
+
+ $self->debug("checking signature[$self->{ID}]") if $CPAN::DEBUG;
+ if ( ! $self->{force_update}
+ && exists $self->{signature_verify}
+ && (
+ UNIVERSAL::can($self->{signature_verify},"failed") ?
+ $self->{signature_verify}->failed :
+ $self->{signature_verify} =~ /^NO/
+ )
+ ) {
+ return $self->goodbye("Did not pass the signature test.");
+ }
+
+ $self->debug("checking writemakefile[$self->{ID}]") if $CPAN::DEBUG;
+ if ($self->{writemakefile}) {
if (
- $self->called_for ne $self->id &&
- ! $self->{force_update}
- ) {
- # if we die here, we break bundles
- $CPAN::Frontend
- ->mywarn(sprintf(
- qq{The most recent version "%s" of the module "%s"
-is part of the perl-%s distribution. To install that, you need to run
- force install %s --or--
- install %s
-},
- $CPAN::META->instance(
- 'CPAN::Module',
- $self->called_for
- )->cpan_version,
- $self->called_for,
- $self->isa_perl,
- $self->called_for,
- $self->id,
- ));
- $self->{make} = CPAN::Distrostatus->new("NO isa perl");
- $CPAN::Frontend->mysleep(1);
- return;
+ UNIVERSAL::can($self->{writemakefile},"failed") ?
+ $self->{writemakefile}->failed :
+ $self->{writemakefile} =~ /^NO/
+ ) {
+ # XXX maybe a retry would be in order?
+ my $err = UNIVERSAL::can($self->{writemakefile},"text") ?
+ $self->{writemakefile}->text :
+ $self->{writemakefile};
+ $err =~ s/^NO\s*(--\s+)?//;
+ $err ||= "Had some problem writing Makefile";
+ $err .= ", not re-running";
+ return $self->goodbye($err);
+ } else {
+ return $self->success("Has already been prepared");
}
}
- $CPAN::Frontend->myprint(sprintf "Running %s for %s\n", $make, $self->id);
- $self->get;
- return if $self->prefs->{disabled} && ! $self->{force_update};
- if ($self->{configure_requires_later}) {
- return;
+
+ $self->debug("checking configure_requires_later[$self->{ID}]") if $CPAN::DEBUG;
+ if( my $later = $self->{configure_requires_later} ) { # see also undelay
+ return $self->goodbye($later);
+ }
+
+ return undef; # no shortcut
+}
+
+sub prepare {
+ my ($self) = @_;
+
+ $self->get
+ or return;
+
+ if ( defined( my $sc = $self->shortcut_prepare) ) {
+ return $sc;
}
+
local $ENV{PERL5LIB} = defined($ENV{PERL5LIB})
? $ENV{PERL5LIB}
: ($ENV{PERLLIB} || "");
@@ -1774,103 +1820,37 @@ is part of the perl-%s distribution. To install that, you need to run
return;
}
- my $builddir;
- EXCUSE: {
- my @e;
- if (!$self->{archived} || $self->{archived} eq "NO") {
- push @e, "Is neither a tar nor a zip archive.";
- }
-
- if (!$self->{unwrapped}
- || (
- UNIVERSAL::can($self->{unwrapped},"failed") ?
- $self->{unwrapped}->failed :
- $self->{unwrapped} =~ /^NO/
- )) {
- push @e, "Had problems unarchiving. Please build manually";
- }
-
- unless ($self->{force_update}) {
- exists $self->{signature_verify} and
- (
- UNIVERSAL::can($self->{signature_verify},"failed") ?
- $self->{signature_verify}->failed :
- $self->{signature_verify} =~ /^NO/
- )
- and push @e, "Did not pass the signature test.";
- }
-
- if (exists $self->{writemakefile} &&
- (
- UNIVERSAL::can($self->{writemakefile},"failed") ?
- $self->{writemakefile}->failed :
- $self->{writemakefile} =~ /^NO/
- )) {
- # XXX maybe a retry would be in order?
- my $err = UNIVERSAL::can($self->{writemakefile},"text") ?
- $self->{writemakefile}->text :
- $self->{writemakefile};
- $err =~ s/^NO\s*(--\s+)?//;
- $err ||= "Had some problem writing Makefile";
- $err .= ", won't make";
- push @e, $err;
- }
-
- if (defined $self->{make}) {
- if (UNIVERSAL::can($self->{make},"failed") ?
- $self->{make}->failed :
- $self->{make} =~ /^NO/) {
- if ($self->{force_update}) {
- # Trying an already failed 'make' (unless somebody else blocks)
- } else {
- # introduced for turning recursion detection into a distrostatus
- my $error = length $self->{make}>3
- ? substr($self->{make},3) : "Unknown error";
- $CPAN::Frontend->mywarn("Could not make: $error\n");
- $self->store_persistent_state;
- return;
- }
- } else {
- push @e, "Has already been made";
- my $wait_for_prereqs = eval { $self->satisfy_requires };
- return 1 if $wait_for_prereqs; # tells queuerunner to continue
- return $self->goodbye($@) if $@; # tells queuerunner to stop
- }
- }
-
- my $later = $self->{later} || $self->{configure_requires_later};
- if ($later) { # see also undelay
- if ($later) {
- push @e, $later;
- }
- }
+ my $builddir = $self->dir or
+ $CPAN::Frontend->mydie("PANIC: Cannot determine build directory\n");
- $CPAN::Frontend->myprint(join "", map {" $_\n"} @e) and return if @e;
- $builddir = $self->dir or
- $CPAN::Frontend->mydie("PANIC: Cannot determine build directory\n");
- unless (chdir $builddir) {
- push @e, "Couldn't chdir to '$builddir': $!";
- }
- $CPAN::Frontend->mywarn(join "", map {" $_\n"} @e) and return if @e;
+ unless (chdir $builddir) {
+ $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!");
+ return;
}
+
if ($CPAN::Signal) {
delete $self->{force_update};
return;
}
- $CPAN::Frontend->myprint("\n CPAN.pm: Building ".$self->id."\n\n");
- $self->debug("Changed directory to $builddir") if $CPAN::DEBUG;
- if ($^O eq 'MacOS') {
- Mac::BuildTools::make($self);
- return;
- }
+ $self->debug("Changed directory to $builddir") if $CPAN::DEBUG;
local $ENV{PERL_AUTOINSTALL} = $ENV{PERL_AUTOINSTALL};
local $ENV{PERL_EXTUTILS_AUTOINSTALL} = $ENV{PERL_EXTUTILS_AUTOINSTALL};
+ $self->choose_MM_or_MB
+ or return;
+
+ my $configurator = $self->{configure} ? "Configure"
+ : $self->{modulebuild} ? "Build.PL"
+ : "Makefile.PL";
+
+ $CPAN::Frontend->myprint("Configuring ".$self->id." with $configurator\n");
+
if ($CPAN::Config->{prerequisites_policy} eq "follow") {
$ENV{PERL_AUTOINSTALL} ||= "--defaultdeps";
$ENV{PERL_EXTUTILS_AUTOINSTALL} ||= "--defaultdeps";
}
+
my $system;
my $pl_commandline;
if ($self->prefs->{pl}) {
@@ -1878,6 +1858,8 @@ is part of the perl-%s distribution. To install that, you need to run
}
local $ENV{PERL} = $ENV{PERL};
local $ENV{PERL5_CPAN_IS_EXECUTING} = $ENV{PERL5_CPAN_IS_EXECUTING};
+ local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
+ local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
if ($pl_commandline) {
$system = $pl_commandline;
$ENV{PERL} = $^X;
@@ -2005,6 +1987,8 @@ is part of the perl-%s distribution. To install that, you need to run
if (-f "Makefile" || -f "Build" || ($^O eq 'VMS' && (-f 'descrip.mms' || -f 'Build.com'))) {
$self->{writemakefile} = CPAN::Distrostatus->new("YES");
delete $self->{make_clean}; # if cleaned before, enable next
+ $self->store_persistent_state;
+ return $self->success("$system -- OK");
} else {
my $makefile = $self->{modulebuild} ? "Build" : "Makefile";
my $why = "No '$makefile' created";
@@ -2015,22 +1999,145 @@ is part of the perl-%s distribution. To install that, you need to run
return $self->goodbye("$system -- NOT OK");
}
}
+ $self->store_persistent_state;
+ return 1; # success
+}
+
+#-> sub CPAN::Distribution::shortcut_make ;
+# return values: undef means don't shortcut; 0 means shortcut as fail;
+# and 1 means shortcut as success
+sub shortcut_make {
+ my ($self) = @_;
+
+ $self->debug("checking make/build results[$self->{ID}]") if $CPAN::DEBUG;
+ if (defined $self->{make}) {
+ if (UNIVERSAL::can($self->{make},"failed") ?
+ $self->{make}->failed :
+ $self->{make} =~ /^NO/
+ ) {
+ if ($self->{force_update}) {
+ # Trying an already failed 'make' (unless somebody else blocks)
+ return undef; # no shortcut
+ } else {
+ # introduced for turning recursion detection into a distrostatus
+ my $error = length $self->{make}>3
+ ? substr($self->{make},3) : "Unknown error";
+ $self->store_persistent_state;
+ return $self->goodbye("Could not make: $error\n");
+ }
+ } else {
+ return $self->success("Has already been made")
+ }
+ }
+ return undef; # no shortcut
+}
+
+#-> sub CPAN::Distribution::make ;
+sub make {
+ my($self) = @_;
+
+ $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG;
+ if (my $goto = $self->prefs->{goto}) {
+ return $self->goto($goto);
+ }
+ # Emergency brake if they said install Pippi and get newest perl
+
+ # XXX Would this make more sense in shortcut_prepare, since
+ # that doesn't make sense on a perl dist either? Broader
+ # question: what is the purpose of suggesting force install
+ # on a perl distribution? That seems unlikely to result in
+ # such a dependency being satisfied, even if the perl is
+ # successfully installed. This situation is tantamount to
+ # a prereq on a version of perl greater than the current one
+ # so I think we should just abort. -- xdg, 2012-04-06
+ if ($self->isa_perl) {
+ if (
+ $self->called_for ne $self->id &&
+ ! $self->{force_update}
+ ) {
+ # if we die here, we break bundles
+ $CPAN::Frontend
+ ->mywarn(sprintf(
+ qq{The most recent version "%s" of the module "%s"
+is part of the perl-%s distribution. To install that, you need to run
+ force install %s --or--
+ install %s
+},
+ $CPAN::META->instance(
+ 'CPAN::Module',
+ $self->called_for
+ )->cpan_version,
+ $self->called_for,
+ $self->isa_perl,
+ $self->called_for,
+ $self->id,
+ ));
+ $self->{make} = CPAN::Distrostatus->new("NO isa perl");
+ $CPAN::Frontend->mysleep(1);
+ return;
+ }
+ }
+
+ $self->prepare
+ or return;
+
+ if ( defined( my $sc = $self->shortcut_make) ) {
+ return $sc;
+ }
+
if ($CPAN::Signal) {
delete $self->{force_update};
return;
}
- my $wait_for_prereqs = eval { $self->satisfy_requires };
- return 1 if $wait_for_prereqs; # tells queuerunner to continue
- return $self->goodbye($@) if $@; # tells queuerunner to stop
+
+ my $builddir = $self->dir or
+ $CPAN::Frontend->mydie("PANIC: Cannot determine build directory\n");
+
+ unless (chdir $builddir) {
+ $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!");
+ return;
+ }
+
+ my $make = $self->{modulebuild} ? "Build" : "make";
+ $CPAN::Frontend->myprint(sprintf "Running %s for %s\n", $make, $self->id);
+ local $ENV{PERL5LIB} = defined($ENV{PERL5LIB})
+ ? $ENV{PERL5LIB}
+ : ($ENV{PERLLIB} || "");
+ local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ $CPAN::META->set_perl5lib;
+ local $ENV{MAKEFLAGS}; # protect us from outer make calls
+
+ if ($CPAN::Signal) {
+ delete $self->{force_update};
+ return;
+ }
+
+ if ($^O eq 'MacOS') {
+ Mac::BuildTools::make($self);
+ return;
+ }
+
+ my %env;
+ while (my($k,$v) = each %ENV) {
+ next unless defined $v;
+ $env{$k} = $v;
+ }
+ local %ENV = %env;
+ my $satisfied = eval { $self->satisfy_requires };
+ return $self->goodbye($@) if $@;
+ return unless $satisfied ;
if ($CPAN::Signal) {
delete $self->{force_update};
return;
}
+ my $system;
my $make_commandline;
if ($self->prefs->{make}) {
$make_commandline = $self->prefs->{make}{commandline};
}
local $ENV{PERL} = $ENV{PERL};
+ local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
+ local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
if ($make_commandline) {
$system = $make_commandline;
$ENV{PERL} = CPAN::find_perl();
@@ -2093,6 +2200,7 @@ is part of the perl-%s distribution. To install that, you need to run
$CPAN::Frontend->mywarn(" $system -- NOT OK\n");
}
$self->store_persistent_state;
+ return !! $system_ok;
}
# CPAN::Distribution::goodbye ;
@@ -2100,7 +2208,14 @@ sub goodbye {
my($self,$goodbye) = @_;
my $id = $self->pretty_id;
$CPAN::Frontend->mywarn(" $id\n $goodbye\n");
- return;
+ return 0; # must be explicit false, not undef
+}
+
+sub success {
+ my($self,$why) = @_;
+ my $id = $self->pretty_id;
+ $CPAN::Frontend->myprint(" $id\n $why\n");
+ return 1;
}
# CPAN::Distribution::_run_via_expect ;
@@ -2448,6 +2563,30 @@ sub _make_command {
}
}
+sub _make_install_make_command {
+ my ($self) = @_;
+ my $mimc =
+ CPAN::HandleConfig->prefs_lookup($self, q{make_install_make_command});
+ return $self->_make_command() unless $mimc;
+
+ # Quote the "make install" make command on Windows, where it is commonly
+ # found in, e.g., C:\Program Files\... and therefore needs quoting. We can't
+ # do this in general because the command maybe "sudo make..." (i.e. a
+ # program with arguments), but that is unlikely to be the case on Windows.
+ $mimc = CPAN::HandleConfig->safe_quote($mimc) if $^O eq 'MSWin32';
+
+ return $mimc;
+}
+
+#-> sub CPAN::Distribution::is_locally_optional
+sub is_locally_optional {
+ my($self, $prereq_pm, $prereq) = @_;
+ $prereq_pm ||= $self->{prereq_pm};
+ exists $prereq_pm->{opt_requires}{$prereq}
+ ||
+ exists $prereq_pm->{opt_build_requires}{$prereq};
+}
+
#-> sub CPAN::Distribution::follow_prereqs ;
sub follow_prereqs {
my($self) = shift;
@@ -2456,13 +2595,14 @@ sub follow_prereqs {
return unless @prereq_tuples;
my(@good_prereq_tuples);
for my $p (@prereq_tuples) {
+ # e.g. $p = ['Devel::PartialDump', 'r', 1]
# 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];
+ push @good_prereq_tuples, [$p->[0], $reqtype, $p->[2]];
} else {
push @good_prereq_tuples, $p;
}
@@ -2494,7 +2634,7 @@ sub follow_prereqs {
$CPAN::Frontend->
myprint("$filler1 $unsat $filler2".
"$filler3 $pretty_id $filler4".
- join("", map {" $_->[0] \[$map{$_->[1]}]\n"} @good_prereq_tuples),
+ join("", map {sprintf " %s \[%s%s]\n", $_->[0], $map{$_->[1]}, $self->is_locally_optional(undef,$_->[0]) ? ",optional" : ""} @good_prereq_tuples),
);
my $follow = 0;
if ($CPAN::Config->{prerequisites_policy} eq "follow") {
@@ -2512,24 +2652,42 @@ of modules we are processing right now?", "yes");
}
if ($follow) {
my $id = $self->id;
- # color them as dirty
+ my(@to_queue_mand,@to_queue_opt);
for my $gp (@good_prereq_tuples) {
- # warn "calling color_cmd_tmps(0,1)";
- my $p = $gp->[0];
- my $any = CPAN::Shell->expandany($p);
- $self->{$slot . "_for"}{$any->id}++;
- if ($any) {
- $any->color_cmd_tmps(0,2);
+ my($prereq,$reqtype,$optional) = @$gp;
+ my $qthing = +{qmod=>$prereq,reqtype=>$reqtype,optional=>$optional};
+ if ($optional &&
+ $self->is_locally_optional(undef,$prereq)
+ ){
+ # Since we do not depend on this one, we do not need
+ # this in a mandatory arrangement:
+ push @to_queue_opt, $qthing;
} else {
- $CPAN::Frontend->mywarn("Warning (maybe a bug): Cannot expand prereq '$p'\n");
- $CPAN::Frontend->mysleep(2);
+ my $any = CPAN::Shell->expandany($prereq);
+ $self->{$slot . "_for"}{$any->id}++;
+ if ($any) {
+ unless ($optional) {
+ # No recursion check in an optional area of the tree
+ $any->color_cmd_tmps(0,2);
+ }
+ } else {
+ $CPAN::Frontend->mywarn("Warning (maybe a bug): Cannot expand prereq '$prereq'\n");
+ $CPAN::Frontend->mysleep(2);
+ }
+ # order everything that is not locally_optional just
+ # like mandatory items: this keeps leaves before
+ # branches
+ unshift @to_queue_mand, $qthing;
}
}
- # queue them and re-queue yourself
- CPAN::Queue->jumpqueue({qmod => $id, reqtype => $self->{reqtype}},
- map {+{qmod=>$_->[0],reqtype=>$_->[1]}} reverse @good_prereq_tuples);
- $self->{$slot} = "Delayed until after prerequisites";
- return 1; # signal success to the queuerunner
+ if (@to_queue_mand) {
+ unshift @to_queue_mand, {qmod => $id, reqtype => $self->{reqtype}, optional=> !$self->{mandatory}};
+ CPAN::Queue->jumpqueue(@to_queue_opt,@to_queue_mand);
+ $self->{$slot} = "Delayed until after prerequisites";
+ return 1; # signal we need dependencies
+ } elsif (@to_queue_opt) {
+ CPAN::Queue->jumpqueue(@to_queue_opt);
+ }
}
return;
}
@@ -2572,25 +2730,24 @@ sub _feature_depends {
$dep;
}
-#-> sub CPAN::Distribution::unsat_prereq ;
-# return ([Foo,"r"],[Bar,"b"]) for normal modules
-# return ([perl=>5.008]) if we need a newer perl than we are running under
-# (sorry for the inconsistency, it was an accident)
-sub unsat_prereq {
+sub prereqs_for_slot {
my($self,$slot) = @_;
- my(%merged,$prereq_pm);
+ my($prereq_pm);
+ my $merged = CPAN::Meta::Requirements->new;
my $prefs_depends = $self->prefs->{depends}||{};
my $feature_depends = $self->_feature_depends();
if ($slot eq "configure_requires_later") {
- my $meta_configure_requires = $self->configure_requires();
- %merged = (
- %{$meta_configure_requires||{}},
- %{$prefs_depends->{configure_requires}||{}},
- %{$feature_depends->{configure_requires}||{}},
- );
+ for my $hash ( $self->configure_requires,
+ $prefs_depends->{configure_requires},
+ $feature_depends->{configure_requires},
+ ) {
+ $merged->add_requirements(
+ CPAN::Meta::Requirements->from_string_hash($hash)
+ );
+ }
if (-f "Build.PL"
- && ! -f "Makefile.PL"
- && ! exists $merged{"Module::Build"}
+ && ! -f File::Spec->catfile($self->{build_dir},"Makefile.PL")
+ && ! $merged->requirements_for_module("Module::Build")
&& ! $CPAN::META->has_inst("Module::Build")
) {
$CPAN::Frontend->mywarn(
@@ -2598,13 +2755,13 @@ sub unsat_prereq {
" Adding it now as such.\n"
);
$CPAN::Frontend->mysleep(5);
- $merged{"Module::Build"} = 0;
+ $merged->add_minimum( "Module::Build" => 0 );
delete $self->{writemakefile};
}
$prereq_pm = {}; # configure_requires defined as "b"
} elsif ($slot eq "later") {
my $prereq_pm_0 = $self->prereq_pm || {};
- for my $reqtype (qw(requires build_requires)) {
+ for my $reqtype (qw(requires build_requires opt_requires opt_build_requires)) {
$prereq_pm->{$reqtype} = {%{$prereq_pm_0->{$reqtype}||{}}}; # copy to not pollute it
for my $dep ($prefs_depends,$feature_depends) {
for my $k (keys %{$dep->{$reqtype}||{}}) {
@@ -2612,14 +2769,37 @@ sub unsat_prereq {
}
}
}
- %merged = (%{$prereq_pm->{requires}||{}},%{$prereq_pm->{build_requires}||{}});
+ # XXX what about optional_req|breq? -- xdg, 2012-04-01
+ for my $hash (
+ $prereq_pm->{requires},
+ $prereq_pm->{build_requires},
+ $prereq_pm->{opt_requires},
+ $prereq_pm->{opt_build_requires},
+
+ ) {
+ $merged->add_requirements(
+ CPAN::Meta::Requirements->from_string_hash($hash)
+ );
+ }
} else {
die "Panic: illegal slot '$slot'";
}
+ return ($merged->as_string_hash, $prereq_pm);
+}
+
+#-> sub CPAN::Distribution::unsat_prereq ;
+# return ([Foo,"r"],[Bar,"b"]) for normal modules
+# return ([perl=>5.008]) if we need a newer perl than we are running under
+# (sorry for the inconsistency, it was an accident)
+sub unsat_prereq {
+ my($self,$slot) = @_;
+ my($merged_hash,$prereq_pm) = $self->prereqs_for_slot($slot);
my(@need);
- my @merged = %merged;
+ my $merged = CPAN::Meta::Requirements->from_string_hash($merged_hash);
+ my @merged = $merged->required_modules;
CPAN->debug("all merged_prereqs[@merged]") if $CPAN::DEBUG;
- NEED: while (my($need_module, $need_version) = each %merged) {
+ NEED: for my $need_module ( @merged ) {
+ my $need_version = $merged->requirements_for_module($need_module);
my($available_version,$inst_file,$available_file,$nmo);
if ($need_module eq "perl") {
$available_version = $];
@@ -2636,7 +2816,7 @@ sub unsat_prereq {
# if they have not specified a version, we accept any installed one
if ( $available_file
- and ( # a few quick shortcurcuits
+ and ( # a few quick short circuits
not defined $need_version
or $need_version eq '0' # "==" would trigger warning when not numeric
or $need_version eq "undef"
@@ -2664,8 +2844,7 @@ sub unsat_prereq {
$available_version,
$need_version,
);
- if (0) {
- } elsif ( $inst_file
+ if ( $inst_file
&& $available_file eq $inst_file
&& $nmo->inst_deprecated
) {
@@ -2682,7 +2861,12 @@ sub unsat_prereq {
# loop CPANPLUS => CPANPLUS::Dist::Build RT#83042)
next NEED;
}
- } elsif ($self->{reqtype} =~ /^(r|c)$/ && exists $prereq_pm->{requires}{$need_module} && $nmo && !$inst_file) {
+ } elsif (
+ $self->{reqtype} =~ /^(r|c)$/
+ && (exists $prereq_pm->{requires}{$need_module} || exists $prereq_pm->{opt_requires} )
+ && $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
@@ -2766,14 +2950,20 @@ sub unsat_prereq {
) {
next NOSAYER;
}
- $CPAN::Frontend->mywarn("Warning: Prerequisite ".
- "'$need_module => $need_version' ".
- "for '$selfid' failed when ".
- "processing '$did' with ".
- "'$nosayer => $do->{$nosayer}'. Continuing, ".
- "but chances to succeed are limited.\n"
- );
- $CPAN::Frontend->mysleep($sponsoring/10);
+ ### XXX don't complain about missing optional deps -- xdg, 2012-04-01
+ if ($self->is_locally_optional($prereq_pm, $need_module)) {
+ # don't complain about failing optional prereqs
+ }
+ else {
+ $CPAN::Frontend->mywarn("Warning: Prerequisite ".
+ "'$need_module => $need_version' ".
+ "for '$selfid' failed when ".
+ "processing '$did' with ".
+ "'$nosayer => $do->{$nosayer}'. Continuing, ".
+ "but chances to succeed are limited.\n"
+ );
+ $CPAN::Frontend->mysleep($sponsoring/10);
+ }
next NEED;
} else { # the other guy succeeded
if ($nosayer =~ /^(install|make_test)$/) {
@@ -2796,7 +2986,9 @@ sub unsat_prereq {
}
my $needed_as;
if (0) {
- } elsif (exists $prereq_pm->{requires}{$need_module}) {
+ } elsif (exists $prereq_pm->{requires}{$need_module}
+ || exists $prereq_pm->{opt_requires}{$need_module}
+ ) {
$needed_as = "r";
} elsif ($slot eq "configure_requires_later") {
# in ae872487d5 we said: C< we have not yet run the
@@ -2809,7 +3001,11 @@ sub unsat_prereq {
} else {
$needed_as = "b";
}
- push @need, [$need_module,$needed_as];
+ # here need to flag as optional for recommends/suggests
+ # -- xdg, 2012-04-01
+ my $optional = !$self->{mandatory}
+ || $self->is_locally_optional($prereq_pm, $need_module);
+ push @need, [$need_module,$needed_as,$optional];
}
my @unfolded = map { "[".join(",",@$_)."]" } @need;
CPAN->debug("returning from unsat_prereq[@unfolded]") if $CPAN::DEBUG;
@@ -2896,7 +3092,7 @@ sub read_meta {
# XXX This should be DEPRECATED -- dagolden, 2011-02-05
sub read_yaml {
my($self) = @_;
- my $meta_file = $self->pick_meta_file;
+ my $meta_file = $self->pick_meta_file('\.yml$');
$self->debug("meta_file[$meta_file]") if $CPAN::DEBUG;
return unless $meta_file;
my $yaml;
@@ -2948,11 +3144,14 @@ sub prereq_pm {
unless ($self->{build_dir}) {
return;
}
+ # no Makefile/Build means configuration aborted, so don't look for prereqs
+ return unless -f File::Spec->catfile($self->{build_dir},'Makefile')
+ || -f File::Spec->catfile($self->{build_dir},'Build');
CPAN->debug(sprintf "writemakefile[%s]modulebuild[%s]",
$self->{writemakefile}||"",
$self->{modulebuild}||"",
) if $CPAN::DEBUG;
- my($req,$breq);
+ my($req,$breq, $opt_req, $opt_breq);
my $meta_obj = $self->read_meta;
# META/MYMETA is only authoritative if dynamic_config is false
if ($meta_obj && ! $meta_obj->dynamic_config) {
@@ -2964,10 +3163,31 @@ sub prereq_pm {
$build_requires->add_requirements($test_requires);
$req = $requires->as_string_hash;
$breq = $build_requires->as_string_hash;
+
+ # XXX assemble optional_req && optional_breq from recommends/suggests
+ # depending on corresponding policies -- xdg, 2012-04-01
+ my $opt_runtime = CPAN::Meta::Requirements->new;
+ my $opt_build = CPAN::Meta::Requirements->new;
+ if ( $CPAN::Config->{recommends_policy} ) {
+ $opt_runtime->add_requirements( $prereqs->requirements_for(qw/runtime recommends/));
+ $opt_build->add_requirements( $prereqs->requirements_for(qw/build recommends/));
+ $opt_build->add_requirements( $prereqs->requirements_for(qw/test recommends/));
+
+ }
+ if ( $CPAN::Config->{suggests_policy} ) {
+ $opt_runtime->add_requirements( $prereqs->requirements_for(qw/runtime suggests/));
+ $opt_build->add_requirements( $prereqs->requirements_for(qw/build suggests/));
+ $opt_build->add_requirements( $prereqs->requirements_for(qw/test suggests/));
+ }
+ $opt_req = $opt_runtime->as_string_hash;
+ $opt_breq = $opt_build->as_string_hash;
}
elsif (my $yaml = $self->read_yaml) { # often dynamic_config prevents a result here
$req = $yaml->{requires} || {};
$breq = $yaml->{build_requires} || {};
+ if ( $CPAN::Config->{recommends_policy} ) {
+ $opt_req = $yaml->{recommends} || {};
+ }
undef $req unless ref $req eq "HASH" && %$req;
if ($req) {
if ($yaml->{generated_by} &&
@@ -3074,29 +3294,142 @@ sub prereq_pm {
}
}
}
- if ($req || $breq) {
- return $self->{prereq_pm} = { requires => $req, build_requires => $breq };
+ # XXX needs to be adapted for optional_req & optional_breq -- xdg, 2012-04-01
+ if ($req || $breq || $opt_req || $opt_breq ) {
+ return $self->{prereq_pm} = {
+ requires => $req,
+ build_requires => $breq,
+ opt_requires => $opt_req,
+ opt_build_requires => $opt_breq,
+ };
+ }
+}
+
+#-> sub CPAN::Distribution::shortcut_test ;
+# return values: undef means don't shortcut; 0 means shortcut as fail;
+# and 1 means shortcut as success
+sub shortcut_test {
+ my ($self) = @_;
+
+ $self->debug("checking badtestcnt[$self->{ID}]") if $CPAN::DEBUG;
+ $self->{badtestcnt} ||= 0;
+ if ($self->{badtestcnt} > 0) {
+ require Data::Dumper;
+ CPAN->debug(sprintf "NOREPEAT[%s]", Data::Dumper::Dumper($self)) if $CPAN::DEBUG;
+ return $self->goodbye("Won't repeat unsuccessful test during this command");
+ }
+
+ for my $slot ( qw/later configure_requires_later/ ) {
+ $self->debug("checking $slot slot[$self->{ID}]") if $CPAN::DEBUG;
+ return $self->success($self->{$slot})
+ if $self->{$slot};
+ }
+
+ $self->debug("checking if tests passed[$self->{ID}]") if $CPAN::DEBUG;
+ if ( $self->{make_test} ) {
+ if (
+ UNIVERSAL::can($self->{make_test},"failed") ?
+ $self->{make_test}->failed :
+ $self->{make_test} =~ /^NO/
+ ) {
+ if (
+ UNIVERSAL::can($self->{make_test},"commandid")
+ &&
+ $self->{make_test}->commandid == $CPAN::CurrentCommandId
+ ) {
+ return $self->goodbye("Has already been tested within this command");
+ }
+ } else {
+ # if global "is_tested" has been cleared, we need to mark this to
+ # be added to PERL5LIB if not already installed
+ if ($self->tested_ok_but_not_installed) {
+ $CPAN::META->is_tested($self->{build_dir},$self->{make_test}{TIME});
+ }
+ return $self->success("Has already been tested successfully");
+ }
+ }
+
+ if ($self->{notest}) {
+ $self->{make_test} = CPAN::Distrostatus->new("YES");
+ return $self->success("Skipping test because of notest pragma");
+ }
+
+ return undef; # no shortcut
+}
+
+#-> sub CPAN::Distribution::_exe_files ;
+sub _exe_files {
+ my($self) = @_;
+ return unless $self->{writemakefile} # no need to have succeeded
+ # but we must have run it
+ || $self->{modulebuild};
+ unless ($self->{build_dir}) {
+ return;
+ }
+ CPAN->debug(sprintf "writemakefile[%s]modulebuild[%s]",
+ $self->{writemakefile}||"",
+ $self->{modulebuild}||"",
+ ) if $CPAN::DEBUG;
+ my $build_dir;
+ unless ( $build_dir = $self->{build_dir} ) {
+ return;
+ }
+ my $makefile = File::Spec->catfile($build_dir,"Makefile");
+ my $fh;
+ my @exe_files;
+ if (-f $makefile
+ and
+ $fh = FileHandle->new("<$makefile\0")) {
+ CPAN->debug("Getting exefiles from Makefile") if $CPAN::DEBUG;
+ local($/) = "\n";
+ while (<$fh>) {
+ last if /MakeMaker post_initialize section/;
+ my($p) = m{^[\#]
+ \s+EXE_FILES\s+=>\s+\[(.+)\]
+ }x;
+ next unless $p;
+ # warn "Found exefiles expr[$p]";
+ my @p = split /,\s*/, $p;
+ for my $p2 (@p) {
+ if ($p2 =~ /^q\[(.+)\]/) {
+ push @exe_files, $1;
+ }
+ }
+ }
+ }
+ return \@exe_files if @exe_files;
+ my $buildparams = File::Spec->catfile($build_dir,"_build","build_params");
+ if (-f $buildparams) {
+ CPAN->debug("Found '$buildparams'") if $CPAN::DEBUG;
+ my $x = do $buildparams;
+ for my $sf (@{$x->[2]{script_files} || []}) {
+ push @exe_files, $sf;
+ }
}
+ return \@exe_files;
}
#-> sub CPAN::Distribution::test ;
sub test {
my($self) = @_;
+
+ $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG;
if (my $goto = $self->prefs->{goto}) {
return $self->goto($goto);
}
- $self->make;
- return if $self->prefs->{disabled} && ! $self->{force_update};
+
+ $self->make
+ or return;
+
+ if ( defined( my $sc = $self->shortcut_test ) ) {
+ return $sc;
+ }
+
if ($CPAN::Signal) {
delete $self->{force_update};
return;
}
# warn "XDEBUG: checking for notest: $self->{notest} $self";
- if ($self->{notest}) {
- $CPAN::Frontend->myprint("Skipping test because of notest pragma\n");
- return 1;
- }
-
my $make = $self->{modulebuild} ? "Build" : "make";
local $ENV{PERL5LIB} = defined($ENV{PERL5LIB})
@@ -3106,66 +3439,19 @@ sub test {
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
+ local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
+ local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
$CPAN::Frontend->myprint("Running $make test\n");
- EXCUSE: {
- my @e;
- if ($self->{make} or $self->{later}) {
- # go ahead
- } else {
- push @e,
- "Make had some problems, won't test";
- }
-
- exists $self->{make} and
- (
- UNIVERSAL::can($self->{make},"failed") ?
- $self->{make}->failed :
- $self->{make} =~ /^NO/
- ) and push @e, "Can't test without successful make";
- $self->{badtestcnt} ||= 0;
- if ($self->{badtestcnt} > 0) {
- require Data::Dumper;
- CPAN->debug(sprintf "NOREPEAT[%s]", Data::Dumper::Dumper($self)) if $CPAN::DEBUG;
- push @e, "Won't repeat unsuccessful test during this command";
- }
-
- push @e, $self->{later} if $self->{later};
- push @e, $self->{configure_requires_later} if $self->{configure_requires_later};
-
- if (exists $self->{build_dir}) {
- if (exists $self->{make_test}) {
- if (
- UNIVERSAL::can($self->{make_test},"failed") ?
- $self->{make_test}->failed :
- $self->{make_test} =~ /^NO/
- ) {
- if (
- UNIVERSAL::can($self->{make_test},"commandid")
- &&
- $self->{make_test}->commandid == $CPAN::CurrentCommandId
- ) {
- push @e, "Has already been tested within this command";
- }
- } else {
- push @e, "Has already been tested successfully";
- # if global "is_tested" has been cleared, we need to mark this to
- # be added to PERL5LIB if not already installed
- if ($self->tested_ok_but_not_installed) {
- $CPAN::META->is_tested($self->{build_dir},$self->{make_test}{TIME});
- }
- }
- }
- } elsif (!@e) {
- push @e, "Has no own directory";
- }
- $CPAN::Frontend->myprint(join "", map {" $_\n"} @e) and return if @e;
- unless (chdir $self->{build_dir}) {
- push @e, "Couldn't chdir to '$self->{build_dir}': $!";
- }
- $CPAN::Frontend->mywarn(join "", map {" $_\n"} @e) and return if @e;
+ my $builddir = $self->dir or
+ $CPAN::Frontend->mydie("PANIC: Cannot determine build directory\n");
+
+ unless (chdir $builddir) {
+ $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!");
+ return;
}
+
$self->debug("Changed directory to $self->{build_dir}")
if $CPAN::DEBUG;
@@ -3287,6 +3573,10 @@ sub test {
$but .= "; additionally test harness failed";
$CPAN::Frontend->mywarn("$but\n");
$self->{make_test} = CPAN::Distrostatus->new("NO $but");
+ } elsif ( $self->{force_update} ) {
+ $self->{make_test} = CPAN::Distrostatus->new(
+ "NO but failure ignored because 'force' in effect"
+ );
} else {
$self->{make_test} = CPAN::Distrostatus->new("NO");
}
@@ -3300,6 +3590,8 @@ sub test {
$self->pretty_id));
}
$self->store_persistent_state;
+
+ return $self->{force_update} ? 1 : !! $tests_ok;
}
sub _make_test_illuminate_prereqs {
@@ -3331,7 +3623,8 @@ sub _make_test_illuminate_prereqs {
CPAN->debug("m[$m] have available_file[$available_file]")
if $CPAN::DEBUG;
} else {
- push @prereq, $m;
+ push @prereq, $m
+ if $m_obj->{mandatory};
}
}
my $but;
@@ -3443,6 +3736,20 @@ sub clean {
$self->store_persistent_state;
}
+#-> sub CPAN::Distribution::check_disabled ;
+sub check_disabled {
+ my ($self) = @_;
+ $self->debug("checking disabled id[$self->{ID}]") if $CPAN::DEBUG;
+ if ($self->prefs->{disabled} && ! $self->{force_update}) {
+ return sprintf(
+ "Disabled via prefs file '%s' doc %d",
+ $self->{prefs_file},
+ $self->{prefs_file_doc},
+ );
+ }
+ return;
+}
+
#-> sub CPAN::Distribution::goto ;
sub goto {
my($self,$goto) = @_;
@@ -3469,87 +3776,76 @@ sub goto {
my($method) = (caller(1))[3];
CPAN->instance("CPAN::Distribution",$goto)->$method();
CPAN::Queue->delete_first($goto);
+ # XXX delete_first returns undef; is that what this should return
+ # up the call stack, eg. return $sefl->goto($goto) -- xdg, 2012-04-04
+}
+
+#-> sub CPAN::Distribution::shortcut_install ;
+# return values: undef means don't shortcut; 0 means shortcut as fail;
+# and 1 means shortcut as success
+sub shortcut_install {
+ my ($self) = @_;
+
+ $self->debug("checking previous install results[$self->{ID}]") if $CPAN::DEBUG;
+ if (exists $self->{install}) {
+ my $text = UNIVERSAL::can($self->{install},"text") ?
+ $self->{install}->text :
+ $self->{install};
+ if ($text =~ /^YES/) {
+ $CPAN::META->is_installed($self->{build_dir});
+ return $self->success("Already done");
+ } elsif ($text =~ /is only/) {
+ # e.g. 'is only build_requires'
+ return $self->goodbye($text);
+ } else {
+ # comment in Todo on 2006-02-11; maybe retry?
+ return $self->goodbye("Already tried without success");
+ }
+ }
+
+ for my $slot ( qw/later configure_requires_later/ ) {
+ return $self->success($self->{$slot})
+ if $self->{$slot};
+ }
+
+ return undef;
}
#-> sub CPAN::Distribution::install ;
sub install {
my($self) = @_;
+
+ $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG;
if (my $goto = $self->prefs->{goto}) {
return $self->goto($goto);
}
- unless ($self->{badtestcnt}) {
- $self->test;
+
+ $self->test
+ or return;
+
+ if ( defined( my $sc = $self->shortcut_install ) ) {
+ return $sc;
}
+
if ($CPAN::Signal) {
delete $self->{force_update};
return;
}
- my $make = $self->{modulebuild} ? "Build" : "make";
- $CPAN::Frontend->myprint("Running $make install\n");
- EXCUSE: {
- my @e;
- if ($self->{make} or $self->{later}) {
- # go ahead
- } else {
- push @e,
- "Make had some problems, won't install";
- }
-
- exists $self->{make} and
- (
- UNIVERSAL::can($self->{make},"failed") ?
- $self->{make}->failed :
- $self->{make} =~ /^NO/
- ) and
- push @e, "Make had returned bad status, install seems impossible";
-
- if (exists $self->{build_dir}) {
- } elsif (!@e) {
- push @e, "Has no own directory";
- }
-
- if (exists $self->{make_test} and
- (
- UNIVERSAL::can($self->{make_test},"failed") ?
- $self->{make_test}->failed :
- $self->{make_test} =~ /^NO/
- )) {
- if ($self->{force_update}) {
- $self->{make_test}->text("FAILED but failure ignored because ".
- "'force' in effect");
- } else {
- push @e, "make test had returned bad status, ".
- "won't install without force"
- }
- }
- if (exists $self->{install}) {
- 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";
- }
- }
- push @e, $self->{later} if $self->{later};
- push @e, $self->{configure_requires_later} if $self->{configure_requires_later};
+ my $builddir = $self->dir or
+ $CPAN::Frontend->mydie("PANIC: Cannot determine build directory\n");
- $CPAN::Frontend->myprint(join "", map {" $_\n"} @e) and return if @e;
- unless (chdir $self->{build_dir}) {
- push @e, "Couldn't chdir to '$self->{build_dir}': $!";
- }
- $CPAN::Frontend->mywarn(join "", map {" $_\n"} @e) and return if @e;
+ unless (chdir $builddir) {
+ $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!");
+ return;
}
+
$self->debug("Changed directory to $self->{build_dir}")
if $CPAN::DEBUG;
+ my $make = $self->{modulebuild} ? "Build" : "make";
+ $CPAN::Frontend->myprint("Running $make install\n");
+
if ($^O eq 'MacOS') {
Mac::BuildTools::make_install($self);
return;
@@ -3573,10 +3869,7 @@ sub install {
);
} else {
- my($make_install_make_command) =
- CPAN::HandleConfig->prefs_lookup($self,
- q{make_install_make_command})
- || $self->_make_command();
+ my($make_install_make_command) = $self->_make_install_make_command();
$system = sprintf("%s install %s",
$make_install_make_command,
$CPAN::Config->{make_install_arg},
@@ -3605,10 +3898,9 @@ sub install {
}
unless ($want_install =~ /^y/i) {
my $is_only = "is only 'build_requires'";
- $CPAN::Frontend->mywarn("Not installing because $is_only\n");
$self->{install} = CPAN::Distrostatus->new("NO -- $is_only");
delete $self->{force_update};
- return;
+ return $self->goodbye("Not installing because $is_only");
}
local $ENV{PERL5LIB} = defined($ENV{PERL5LIB})
? $ENV{PERL5LIB}
@@ -3616,6 +3908,9 @@ sub install {
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
$CPAN::META->set_perl5lib;
+ local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
+ local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
+
my($pipe) = FileHandle->new("$system $stderr |") || Carp::croak
("Can't execute $system: $!");
my($makeout) = "";
@@ -3659,6 +3954,7 @@ sub install {
}
delete $self->{force_update};
$self->store_persistent_state;
+ return !! $close_ok;
}
sub introduce_myself {
@@ -4011,7 +4307,7 @@ sub reports {
}
$CPAN::Frontend->myprint("DONE\n\n");
my $yaml = $resp->content;
- # was fuer ein Umweg!
+ # what a long way round!
my $fh = File::Temp->new(
dir => File::Spec->tmpdir,
template => 'cpan_reports_XXXX',
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm b/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
index 61c389ed2d3..05b19faa47a 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
@@ -1,11 +1,12 @@
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
# vim: ts=4 sts=4 sw=4:
+use 5.006;
use strict;
package CPAN::Distroprefs;
use vars qw($VERSION);
-$VERSION = '6';
+$VERSION = '6.0001';
package CPAN::Distroprefs::Result;
@@ -147,26 +148,53 @@ sub _load_st {
return @data;
}
+sub _build_file_list {
+ if (@_ > 3) {
+ die "_build_file_list should be called with 3 arguments, was called with more. First argument is '$_[0]'.";
+ }
+ my ($dir, $dir1, $ext_re) = @_;
+ my @list;
+ my $dh;
+ unless (opendir($dh, $dir)) {
+ $CPAN::Frontend->mywarn("ignoring prefs directory '$dir': $!");
+ return @list;
+ }
+ while (my $fn = readdir $dh) {
+ next if $fn eq '.' || $fn eq '..';
+ if (-d "$dir/$fn") {
+ next if $fn =~ /^[._]/; # prune .svn, .git, .hg, _darcs and what the user wants to hide
+ push @list, _build_file_list("$dir/$fn", "$dir1$fn/", $ext_re);
+ } else {
+ if ($fn =~ $ext_re) {
+ push @list, "$dir1$fn";
+ }
+ }
+ }
+ return @list;
+}
+
sub find {
my ($self, $dir, $ext_map) = @_;
- my $dh = DirHandle->new($dir) or Carp::croak("Couldn't open '$dir': $!");
- my @files = sort $dh->read;
+ return CPAN::Distroprefs::Iterator->new(sub { return }) unless %$ext_map;
+
+ my $possible_ext = join "|", map { quotemeta } keys %$ext_map;
+ my $ext_re = qr/\.($possible_ext)$/;
+
+ my @files = _build_file_list($dir, '', $ext_re);
+ @files = sort @files if @files;
# label the block so that we can use redo in the middle
return CPAN::Distroprefs::Iterator->new(sub { LOOP: {
- return unless %$ext_map;
- local $_ = shift @files;
- return unless defined;
- redo if $_ eq '.' || $_ eq '..';
+ my $fn = shift @files;
+ return unless defined $fn;
+ my ($ext) = $fn =~ $ext_re;
- my $possible_ext = join "|", map { quotemeta } keys %$ext_map;
- my ($ext) = /\.($possible_ext)$/ or redo;
my $loader = $ext_map->{$ext};
my $result = CPAN::Distroprefs::Result->new({
- file => $_, ext => $ext, dir => $dir
+ file => $fn, ext => $ext, dir => $dir
});
# copied from CPAN.pm; is this ever actually possible?
redo unless -f $result->abs;
@@ -346,7 +374,9 @@ This module encapsulates reading L<Distroprefs|CPAN> and matching them against C
while (my $result = $finder->next) { ... }
-Build an iterator which finds distroprefs files in the given directory.
+Build an iterator which finds distroprefs files in the tree below the
+given directory. Within the tree directories matching C<m/^[._]/> are
+pruned.
C<%ext_map> is a hashref whose keys are file extensions and whose values are
modules used to load matching files:
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
index 997e141be5a..831f234d3ce 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.5005";
+$VERSION = "5.5006";
#-> sub CPAN::FTP::ftp_statistics
# if they want to rewrite, they need to pass in a filehandle
@@ -48,7 +48,8 @@ sub _ftp_statistics {
if ($@) {
if (ref $@) {
if (ref $@ eq "CPAN::Exception::yaml_not_installed") {
- $CPAN::Frontend->myprint("Warning (usually harmless): $@\n");
+ chomp $@;
+ $CPAN::Frontend->myprintonce("Warning (usually harmless): $@\n");
return;
} elsif (ref $@ eq "CPAN::Exception::yaml_process_error") {
my $time = time;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
index b099b04a110..d1a8eef2607 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
@@ -10,7 +10,7 @@ use File::Path ();
use File::Spec ();
use CPAN::Mirrors ();
use vars qw($VERSION $auto_config);
-$VERSION = "5.5304";
+$VERSION = "5.5306";
=head1 NAME
@@ -132,6 +132,9 @@ warnings, debugging output, and the output of the modules being
installed. Set your favorite colors after some experimenting with the
Term::ANSIColor module.
+Please note that on Windows platforms colorized output also requires
+the Win32::Console::ANSI module.
+
Do you want to turn on colored output?
=item colorize_print
@@ -203,7 +206,8 @@ Preferred method for determining the current working directory?
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.
+that CPAN should halt after the first failure. (Note that optional
+recommended or suggested modules that fail will not cause a halt.)
Do you want to halt on failure (yes/no)?
@@ -420,6 +424,14 @@ host should be tried first.
Randomize parameter
+=item recommends_policy
+
+(Experimental feature!) Some CPAN modules recommend additional, optional dependencies. These should
+generally be installed except in resource constrained environments. When this
+policy is true, recommended modules will be included with required modules.
+
+Included recommended modules?
+
=item scan_cache
By default, each time the CPAN module is started, cache scanning is
@@ -462,6 +474,14 @@ variable.
Show all individual modules that have a $VERSION of zero?
+=item suggests_policy
+
+(Experimental feature!) Some CPAN modules suggest additional, optional dependencies. These 'suggest'
+dependencies provide enhanced operation. When this policy is true, suggested
+modules will be included with required modules.
+
+Included suggested modules?
+
=item tar_verbosity
When CPAN.pm uses the tar command, which switch for the verbosity
@@ -538,6 +558,17 @@ regardless of the history using "force".
Do you want to rely on the test report history (yes/no)?
+=item use_prompt_default
+
+When this is true, CPAN will set PERL_MM_USE_DEFAULT to a true
+value. This causes ExtUtils::MakeMaker (and compatible) prompts
+to use default values instead of stopping to prompt you to answer
+questions. It also sets NONINTERACTIVE_TESTING to a true value to
+signal more generally that distributions should not try to
+interact with you.
+
+Do you want to use prompt defaults (yes/no)?
+
=item use_sqlite
CPAN::SQLite is a layer between the index files that are downloaded
@@ -865,6 +896,8 @@ sub init {
'follow|ask|ignore');
my_prompt_loop(build_requires_install_policy => 'yes', $matcher,
'yes|no|ask/yes|ask/no');
+ my_yn_prompt(recommends_policy => 1, $matcher);
+ my_yn_prompt(suggests_policy => 0, $matcher);
#
#= Module::Signature
@@ -1046,6 +1079,11 @@ sub init {
my_dflt_prompt(mbuild_install_arg => "", $matcher);
#
+ #== use_prompt_default
+ #
+ my_yn_prompt(use_prompt_default => 0, $matcher);
+
+ #
#= Alarm period
#
@@ -1224,10 +1262,7 @@ sub init {
);
}
else {
- $CPAN::Frontend->myprint(
- "Autoconfigured everything but 'urllist'.\n"
- );
- _do_pick_mirrors();
+ $CPAN::Config->{urllist} = [ 'http://www.cpan.org/' ];
}
}
elsif (!$matcher || "urllist" =~ $matcher) {
@@ -1298,10 +1333,6 @@ sub init {
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;
- }
# Tell user about environment vars to set
$CPAN::Frontend->myprint($prompts{local_lib_installed});
@@ -1309,6 +1340,12 @@ sub _local_lib_config {
my $shellvars = local::lib->environment_vars_string_for(_local_lib_path());
$CPAN::Frontend->myprint($shellvars);
+ # Set %ENV after getting string above
+ my %env = local::lib->build_environment_vars_for(_local_lib_path(), 1);
+ while ( my ($k, $v) = each %env ) {
+ $ENV{$k} = $v;
+ }
+
# Offer to mangle the shell config
my $munged_rc;
if ( my $rc = _find_shell_config() ) {
@@ -1853,8 +1890,7 @@ sub auto_mirrored_by {
my $local = shift or return;
local $|=1;
$CPAN::Frontend->myprint("Looking for CPAN mirrors near you (please be patient)\n");
- my $mirrors = CPAN::Mirrors->new;
- $mirrors->parse_mirrored_by($local);
+ my $mirrors = CPAN::Mirrors->new($local);
my $cnt = 0;
my @best = $mirrors->best_mirrors(
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
index c5eb0f6a435..4fc792c26a4 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
@@ -6,7 +6,7 @@ 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::VERSION = $CPAN::HTTP::Client::VERSION = "1.9601";
# CPAN::HTTP::Client is adapted from parts of cpanm by Tatsuhiko Miyagawa
# and parts of LWP by Gisle Aas
@@ -78,7 +78,7 @@ sub _auth_headers {
# Get user credentials for mode
my $cred_method = "get_" . ($mode ? "proxy" : "non_proxy") ."_credentials";
- my ($user, $pass) = return CPAN::HTTP::Credentials->$cred_method;
+ my ($user, $pass) = CPAN::HTTP::Credentials->$cred_method;
# Generate the header for the mode & type
my $header = $mode eq 'proxy' ? 'Proxy-Authorization' : 'Authorization';
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
index 2978c3bde99..a138128bdfe 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
@@ -12,7 +12,7 @@ CPAN::HandleConfig - internal configuration handling for CPAN.pm
=cut
-$VERSION = "5.5003"; # see also CPAN::Config::VERSION at end of file
+$VERSION = "5.5005"; # see also CPAN::Config::VERSION at end of file
%can = (
commit => "Commit changes to disk",
@@ -95,11 +95,13 @@ $VERSION = "5.5003"; # see also CPAN::Config::VERSION at end of file
"proxy_pass",
"proxy_user",
"randomize_urllist",
+ "recommends_policy",
"scan_cache",
"shell",
"show_unparsable_versions",
"show_upload_date",
"show_zero_versions",
+ "suggests_policy",
"tar",
"tar_verbosity",
"term_is_latin",
@@ -108,6 +110,7 @@ $VERSION = "5.5003"; # see also CPAN::Config::VERSION at end of file
"trust_test_report_history",
"unzip",
"urllist",
+ "use_prompt_default",
"use_sqlite",
"username",
"version_timeout",
@@ -765,7 +768,7 @@ sub prefs_lookup {
use strict;
use vars qw($AUTOLOAD $VERSION);
- $VERSION = "5.5001";
+ $VERSION = "5.5005";
# formerly CPAN::HandleConfig was known as CPAN::Config
sub AUTOLOAD { ## no critic
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Index.pm b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
index c338cc7ec7b..8205d78bd02 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Index.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
@@ -1,11 +1,11 @@
package CPAN::Index;
use strict;
use vars qw($LAST_TIME $DATE_OF_02 $DATE_OF_03 $HAVE_REANIMATED $VERSION);
-$VERSION = "1.9600";
+$VERSION = "1.9601";
@CPAN::Index::ISA = qw(CPAN::Debug);
$LAST_TIME ||= 0;
$DATE_OF_03 ||= 0;
-# use constant PROTOCOL => "2.0"; # outcommented to avoid warning on upgrade from 1.57
+# use constant PROTOCOL => "2.0"; # commented out to avoid warning on upgrade from 1.57
sub PROTOCOL { 2.0 }
#-> sub CPAN::Index::force_reload ;
@@ -123,75 +123,76 @@ sub reanimate_build_dir {
my $i = 0;
my $painted = 0;
my $restored = 0;
+ my $start = CPAN::FTP::_mytime();
my @candidates = map { $_->[0] }
sort { $b->[1] <=> $a->[1] }
map { [ $_, -M File::Spec->catfile($d,$_) ] }
grep {/(.+)\.yml$/ && -d File::Spec->catfile($d,$1)} readdir $dh;
- unless (@candidates) {
- $CPAN::Frontend->myprint("Build_dir empty, nothing to restore\n");
- return;
- }
- $CPAN::Frontend->myprint
- (sprintf("Reading %d yaml file%s from %s/\n",
- scalar @candidates,
- @candidates==1 ? "" : "s",
- $CPAN::Config->{build_dir}
- ));
- my $start = CPAN::FTP::_mytime();
- DISTRO: for $i (0..$#candidates) {
- my $dirent = $candidates[$i];
- my $y = eval {CPAN->_yaml_loadfile(File::Spec->catfile($d,$dirent))};
- if ($@) {
- warn "Error while parsing file '$dirent'; error: '$@'";
- next DISTRO;
- }
- my $c = $y->[0];
- if ($c && $c->{perl} && $c->{distribution} && CPAN->_perl_fingerprint($c->{perl})) {
- my $key = $c->{distribution}{ID};
- for my $k (keys %{$c->{distribution}}) {
- if ($c->{distribution}{$k}
- && ref $c->{distribution}{$k}
- && UNIVERSAL::isa($c->{distribution}{$k},"CPAN::Distrostatus")) {
- $c->{distribution}{$k}{COMMANDID} = $i - @candidates;
- }
+ if ( @candidates ) {
+ $CPAN::Frontend->myprint
+ (sprintf("Reading %d yaml file%s from %s/\n",
+ scalar @candidates,
+ @candidates==1 ? "" : "s",
+ $CPAN::Config->{build_dir}
+ ));
+ DISTRO: for $i (0..$#candidates) {
+ my $dirent = $candidates[$i];
+ my $y = eval {CPAN->_yaml_loadfile(File::Spec->catfile($d,$dirent))};
+ if ($@) {
+ warn "Error while parsing file '$dirent'; error: '$@'";
+ next DISTRO;
}
+ my $c = $y->[0];
+ if ($c && $c->{perl} && $c->{distribution} && CPAN->_perl_fingerprint($c->{perl})) {
+ my $key = $c->{distribution}{ID};
+ for my $k (keys %{$c->{distribution}}) {
+ if ($c->{distribution}{$k}
+ && ref $c->{distribution}{$k}
+ && UNIVERSAL::isa($c->{distribution}{$k},"CPAN::Distrostatus")) {
+ $c->{distribution}{$k}{COMMANDID} = $i - @candidates;
+ }
+ }
- #we tried to restore only if element already
- #exists; but then we do not work with metadata
- #turned off.
- my $do
- = $CPAN::META->{readwrite}{'CPAN::Distribution'}{$key}
- = $c->{distribution};
- for my $skipper (qw(
- badtestcnt
- configure_requires_later
- configure_requires_later_for
- force_update
- later
- later_for
- notest
- should_report
- sponsored_mods
- prefs
- negative_prefs_cache
- )) {
- delete $do->{$skipper};
- }
- if ($do->can("tested_ok_but_not_installed")) {
- if ($do->tested_ok_but_not_installed) {
- $CPAN::META->is_tested($do->{build_dir},$do->{make_test}{TIME});
- } else {
- next DISTRO;
+ #we tried to restore only if element already
+ #exists; but then we do not work with metadata
+ #turned off.
+ my $do
+ = $CPAN::META->{readwrite}{'CPAN::Distribution'}{$key}
+ = $c->{distribution};
+ for my $skipper (qw(
+ badtestcnt
+ configure_requires_later
+ configure_requires_later_for
+ force_update
+ later
+ later_for
+ notest
+ should_report
+ sponsored_mods
+ prefs
+ negative_prefs_cache
+ )) {
+ delete $do->{$skipper};
}
+ if ($do->can("tested_ok_but_not_installed")) {
+ if ($do->tested_ok_but_not_installed) {
+ $CPAN::META->is_tested($do->{build_dir},$do->{make_test}{TIME});
+ } else {
+ next DISTRO;
+ }
+ }
+ $restored++;
+ }
+ $i++;
+ while (($painted/76) < ($i/@candidates)) {
+ $CPAN::Frontend->myprint(".");
+ $painted++;
}
- $restored++;
- }
- $i++;
- while (($painted/76) < ($i/@candidates)) {
- $CPAN::Frontend->myprint(".");
- $painted++;
}
}
+ else {
+ $CPAN::Frontend->myprint("Build_dir empty, nothing to restore\n");
+ }
my $took = CPAN::FTP::_mytime() - $start;
$CPAN::Frontend->myprint(sprintf(
"DONE\nRestored the state of %s (in %.4f secs)\n",
diff --git a/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm b/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
index e9fbc7bcded..fe8bf27a4a9 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
@@ -6,7 +6,7 @@ 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.9600";
+$CPAN::LWP::UserAgent::VERSION = $CPAN::LWP::UserAgent::VERSION = "1.9601";
sub config {
@@ -35,22 +35,7 @@ sub no_proxy {
}
# mirror(): Its purpose is to deal with proxy authentication. When we
-# call SUPER::mirror, we relly call the mirror method in
-# LWP::UserAgent. LWP::UserAgent will then call
-# $self->get_basic_credentials or some equivalent and this will be
-# $self->dispatched to our own get_basic_credentials method.
-
-# Our own get_basic_credentials sets $USER and $PASSWD, two globals.
-
-# 407 stands for HTTP_PROXY_AUTHENTICATION_REQUIRED. Which means
-# although we have gone through our get_basic_credentials, the proxy
-# server refuses to connect. This could be a case where the username or
-# password has changed in the meantime, so I'm trying once again without
-# $USER and $PASSWD to give the get_basic_credentials routine another
-# chance to set $USER and $PASSWD.
-
-# mirror(): Its purpose is to deal with proxy authentication. When we
-# call SUPER::mirror, we relly call the mirror method in
+# call SUPER::mirror, we really call the mirror method in
# LWP::UserAgent. LWP::UserAgent will then call
# $self->get_basic_credentials or some equivalent and this will be
# $self->dispatched to our own get_basic_credentials method.
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
index 19980bd4fc8..3ab0111844a 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
@@ -2,18 +2,81 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta;
-our $VERSION = '2.120921'; # VERSION
-
+our $VERSION = '2.140640'; # VERSION
+
+# =head1 SYNOPSIS
+#
+# use v5.10;
+# use strict;
+# use warnings;
+# use CPAN::Meta;
+# use Module::Load;
+#
+# my $meta = CPAN::Meta->load_file('META.json');
+#
+# printf "testing requirements for %s version %s\n",
+# $meta->name,
+# $meta->version;
+#
+# my $prereqs = $meta->effective_prereqs;
+#
+# for my $phase ( qw/configure runtime build test/ ) {
+# say "Requirements for $phase:";
+# my $reqs = $prereqs->requirements_for($phase, "requires");
+# for my $module ( sort $reqs->required_modules ) {
+# my $status;
+# if ( eval { load $module unless $module eq 'perl'; 1 } ) {
+# my $version = $module eq 'perl' ? $] : $module->VERSION;
+# $status = $reqs->accepts_module($module, $version)
+# ? "$version ok" : "$version not ok";
+# } else {
+# $status = "missing"
+# };
+# say " $module ($status)";
+# }
+# }
+#
+# =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.
+#
+# =cut
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.4403 ();
+use Parse::CPAN::Meta 1.4414 ();
BEGIN { *_dclone = \&CPAN::Meta::Converter::_dclone }
+# =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.
+#
+# =for :list
+# * abstract
+# * description
+# * dynamic_config
+# * generated_by
+# * name
+# * release_status
+# * version
+#
+# =cut
BEGIN {
my @STRING_READERS = qw(
@@ -32,6 +95,20 @@ BEGIN {
}
}
+# =head1 LIST DATA
+#
+# These methods return lists of string values, which might be represented in the
+# distmeta structure as arrayrefs or scalars:
+#
+# =for :list
+# * authors
+# * keywords
+# * licenses
+#
+# 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.
+#
+# =cut
BEGIN {
my @LIST_READERS = qw(
@@ -55,6 +132,20 @@ BEGIN {
sub authors { $_[0]->author }
sub licenses { $_[0]->license }
+# =head1 MAP DATA
+#
+# These readers return hashrefs of arbitrary unblessed data structures, each
+# described more fully in the specification:
+#
+# =for :list
+# * meta_spec
+# * resources
+# * provides
+# * no_index
+# * prereqs
+# * optional_features
+#
+# =cut
BEGIN {
my @MAP_READERS = qw(
@@ -78,6 +169,16 @@ BEGIN {
}
}
+# =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.
+#
+# =cut
sub custom_keys {
return grep { /^x_/i } keys %{$_[0]};
@@ -90,6 +191,29 @@ sub custom {
return $value;
}
+# =method 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
+#
+# =cut
sub _new {
my ($class, $struct, $options) = @_;
@@ -130,6 +254,15 @@ sub new {
return $self;
}
+# =method 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>.
+#
+# =cut
sub create {
my ($class, $struct, $options) = @_;
@@ -141,6 +274,19 @@ sub create {
return $self;
}
+# =method 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.
+#
+# =cut
sub load_file {
my ($class, $file, $options) = @_;
@@ -158,6 +304,14 @@ sub load_file {
return $self;
}
+# =method 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()>.
+#
+# =cut
sub load_yaml_string {
my ($class, $yaml, $options) = @_;
@@ -172,6 +326,14 @@ sub load_yaml_string {
return $self;
}
+# =method 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()>.
+#
+# =cut
sub load_json_string {
my ($class, $json, $options) = @_;
@@ -186,6 +348,50 @@ sub load_json_string {
return $self;
}
+# =method load_string
+#
+# my $meta = CPAN::Meta->load_string($string, \%options);
+#
+# If you don't know if a string contains YAML or JSON, this method will use
+# L<Parse::CPAN::Meta> to guess. In other respects it is identical to
+# C<load_file()>.
+#
+# =cut
+
+sub load_string {
+ my ($class, $string, $options) = @_;
+ $options->{lazy_validation} = 1 unless exists $options->{lazy_validation};
+
+ my $self;
+ eval {
+ my $struct = Parse::CPAN::Meta->load_string( $string );
+ $self = $class->_new($struct, $options);
+ };
+ croak($@) if $@;
+ return $self;
+}
+
+# =method 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.
+#
+# =cut
sub save {
my ($self, $file, $options) = @_;
@@ -213,12 +419,32 @@ sub save {
return 1;
}
+# =method 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};
+#
+# =cut
sub meta_spec_version {
my ($self) = @_;
return $self->meta_spec->{version};
}
+# =method 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.
+#
+# =cut
sub effective_prereqs {
my ($self, $features) = @_;
@@ -233,6 +459,17 @@ sub effective_prereqs {
return $prereq->with_merged_prereqs(\@other);
}
+# =method 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.
+#
+# =cut
sub should_index_file {
my ($self, $filename) = @_;
@@ -249,6 +486,15 @@ sub should_index_file {
return 1;
}
+# =method 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.
+#
+# =cut
sub should_index_package {
my ($self, $package) = @_;
@@ -264,6 +510,14 @@ sub should_index_package {
return 1;
}
+# =method 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.
+#
+# =cut
sub features {
my ($self) = @_;
@@ -275,6 +529,15 @@ sub features {
return @features;
}
+# =method 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.
+#
+# =cut
sub feature {
my ($self, $ident) = @_;
@@ -285,6 +548,18 @@ sub feature {
return CPAN::Meta::Feature->new($ident, $f);
}
+# =method as_struct
+#
+# my $copy = $meta->as_struct( \%options );
+#
+# This method returns a deep copy of the object's metadata as an unblessed hash
+# 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"} );
+#
+# =cut
sub as_struct {
my ($self, $options) = @_;
@@ -296,6 +571,24 @@ sub as_struct {
return $struct;
}
+# =method 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_string( {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.
+#
+# =cut
sub as_string {
my ($self, $options) = @_;
@@ -336,35 +629,51 @@ sub TO_JSON {
# ABSTRACT: the distribution metadata for a CPAN dist
-
+__END__
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta - the distribution metadata for a CPAN dist
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 SYNOPSIS
- my $meta = CPAN::Meta->load_file('META.json');
+ use v5.10;
+ use strict;
+ use warnings;
+ use CPAN::Meta;
+ use Module::Load;
- printf "testing requirements for %s version %s\n",
+ 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);
- }
+ my $prereqs = $meta->effective_prereqs;
+
+ for my $phase ( qw/configure runtime build test/ ) {
+ say "Requirements for $phase:";
+ my $reqs = $prereqs->requirements_for($phase, "requires");
+ for my $module ( sort $reqs->required_modules ) {
+ my $status;
+ if ( eval { load $module unless $module eq 'perl'; 1 } ) {
+ my $version = $module eq 'perl' ? $] : $module->VERSION;
+ $status = $reqs->accepts_module($module, $version)
+ ? "$version ok" : "$version not ok";
+ } else {
+ $status = "missing"
+ };
+ say " $module ($status)";
+ }
+ }
=head1 DESCRIPTION
@@ -438,6 +747,14 @@ given YAML string. In other respects it is identical to C<load_file()>.
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 load_string
+
+ my $meta = CPAN::Meta->load_string($string, \%options);
+
+If you don't know if a string contains YAML or JSON, this method will use
+L<Parse::CPAN::Meta> to guess. In other respects it is identical to
+C<load_file()>.
+
=head2 save
$meta->save($distmeta_file, \%options);
@@ -513,7 +830,7 @@ exception will be raised.
my $copy = $meta->as_struct( \%options );
-This method returns a deep copy of the object's metadata as an unblessed has
+This method returns a deep copy of the object's metadata as an unblessed hash
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:
@@ -530,7 +847,7 @@ 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"} );
+ my $string = $meta->as_string( {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
@@ -675,7 +992,7 @@ L<CPAN::Meta::Validator>
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta>.
+at L<https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -683,9 +1000,9 @@ You will be notified automatically of any progress on your issue.
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/cpan-meta>
+L<https://github.com/Perl-Toolchain-Gang/CPAN-Meta>
- git clone git://github.com/dagolden/cpan-meta.git
+ git clone https://github.com/Perl-Toolchain-Gang/CPAN-Meta.git
=head1 AUTHORS
@@ -701,6 +1018,84 @@ Ricardo Signes <rjbs@cpan.org>
=back
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Ansgar Burchardt <ansgar@cpan.org>
+
+=item *
+
+Avar Arnfjord Bjarmason <avar@cpan.org>
+
+=item *
+
+Christopher J. Madsen <cjm@cpan.org>
+
+=item *
+
+Chuck Adams <cja987@gmail.com>
+
+=item *
+
+Cory G Watson <gphat@cpan.org>
+
+=item *
+
+Damyan Ivanov <dam@cpan.org>
+
+=item *
+
+Eric Wilhelm <ewilhelm@cpan.org>
+
+=item *
+
+Gregor Hermann <gregoa@debian.org>
+
+=item *
+
+Karen Etheridge <ether@cpan.org>
+
+=item *
+
+Ken Williams <kwilliams@cpan.org>
+
+=item *
+
+Kenichi Ishigaki <ishigaki@cpan.org>
+
+=item *
+
+Lars Dieckow <daxim@cpan.org>
+
+=item *
+
+Leon Timmermans <leont@cpan.org>
+
+=item *
+
+Mark Fowler <markf@cpan.org>
+
+=item *
+
+Michael G. Schwern <mschwern@cpan.org>
+
+=item *
+
+Olaf Alders <olaf@wundersolutions.com>
+
+=item *
+
+Olivier Mengue <dolmen@cpan.org>
+
+=item *
+
+Randy Sims <randys@thepierianspring.org>
+
+=back
+
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by David Golden and Ricardo Signes.
@@ -709,8 +1104,3 @@ 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
index 772d5792b12..1bb4431f2b2 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
@@ -2,13 +2,31 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Converter;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
+# =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.)
+#
+# =cut
use CPAN::Meta::Validator;
use CPAN::Meta::Requirements;
use version 0.88 ();
use Parse::CPAN::Meta 1.4400 ();
+use List::Util 1.33 qw/all/;
sub _dclone {
my $ref = shift;
@@ -60,7 +78,7 @@ sub _generated_by {
my $sig = __PACKAGE__ . " version " . (__PACKAGE__->VERSION || "<dev>");
return $sig unless defined $gen and length $gen;
- return $gen if $gen =~ /(, )\Q$sig/;
+ return $gen if $gen =~ /\Q$sig/;
return "$gen, $sig";
}
@@ -80,14 +98,21 @@ sub _ucfirst_custom {
return $key;
}
+sub _no_prefix_ucfirst_custom {
+ my $key = shift;
+ $key =~ s/^x_//;
+ return _ucfirst_custom($key);
+}
+
sub _change_meta_spec {
my ($element, undef, undef, $version) = @_;
- $element->{version} = $version;
- $element->{url} = $known_specs{$version};
- return $element;
+ return {
+ version => $version,
+ url => $known_specs{$version},
+ };
}
-my @valid_licenses_1 = (
+my @open_source = (
'perl',
'gpl',
'apache',
@@ -99,6 +124,12 @@ my @valid_licenses_1 = (
'mit',
'mozilla',
'open_source',
+);
+
+my %is_open_source = map {; $_ => 1 } @open_source;
+
+my @valid_licenses_1 = (
+ @open_source,
'unrestricted',
'restrictive',
'unknown',
@@ -115,7 +146,9 @@ sub _license_1 {
if ( $license_map_1{lc $element} ) {
return $license_map_1{lc $element};
}
- return 'unknown';
+ else {
+ return 'unknown';
+ }
}
my @valid_licenses_2 = qw(
@@ -213,12 +246,20 @@ sub _downgrade_license {
return "unknown";
}
elsif( ref $element eq 'ARRAY' ) {
- if ( @$element == 1 ) {
- return $license_downgrade_map{$element->[0]} || "unknown";
+ if ( @$element > 1) {
+ if ( all { $is_open_source{ $license_downgrade_map{lc $_} || 'unknown' } } @$element ) {
+ return 'open_source';
+ }
+ else {
+ return 'unknown';
+ }
+ }
+ elsif ( @$element == 1 ) {
+ return $license_downgrade_map{lc $element->[0]} || "unknown";
}
}
elsif ( ! ref $element ) {
- return $license_downgrade_map{$element} || "unknown";
+ return $license_downgrade_map{lc $element} || "unknown";
}
return "unknown";
}
@@ -307,7 +348,7 @@ sub _is_module_name {
}
sub _clean_version {
- my ($element, $key, $meta, $to_version) = @_;
+ my ($element) = @_;
return 0 if ! defined $element;
$element =~ s{^\s*}{};
@@ -342,7 +383,7 @@ sub _version_map {
# XXX turn this into CPAN::Meta::Requirements with bad version hook
# and then turn it back into a hash
my $new_map = CPAN::Meta::Requirements->new(
- { bad_version_hook => sub { version->new(0) } } # punt
+ { bad_version_hook => \&_bad_version_hook } # punt
);
while ( my ($k,$v) = each %$element ) {
next unless _is_module_name($k);
@@ -653,7 +694,7 @@ my $resource_downgrade_spec = {
homepage => \&_url_or_drop,
bugtracker => sub { return $_[0]->{web} },
repository => sub { return $_[0]->{url} || $_[0]->{web} },
- ':custom' => \&_ucfirst_custom,
+ ':custom' => \&_no_prefix_ucfirst_custom,
};
sub _downgrade_resources {
@@ -676,12 +717,12 @@ sub _release_status_from_version {
my $provides_spec = {
file => \&_keep,
- version => \&_clean_version,
+ version => \&_keep,
};
my $provides_spec_2 = {
file => \&_keep,
- version => \&_clean_version,
+ version => \&_keep,
':custom' => \&_prefix_custom,
};
@@ -692,6 +733,8 @@ sub _provides {
my $new_data = {};
for my $k ( keys %$element ) {
$new_data->{$k} = _convert($element->{$k}, $spec, $to_version);
+ $new_data->{$k}{version} = _clean_version($element->{$k}{version})
+ if exists $element->{$k}{version};
}
return $new_data;
}
@@ -1191,6 +1234,15 @@ my %cleanup = (
# Code
#--------------------------------------------------------------------------#
+# =method 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.
+#
+# =cut
sub new {
my ($class,$data) = @_;
@@ -1198,13 +1250,80 @@ sub new {
# create an attributes hash
my $self = {
'data' => $data,
- 'spec' => $data->{'meta-spec'}{'version'} || "1.0",
+ 'spec' => _extract_spec_version($data),
};
# create the object
return bless $self, $class;
}
+sub _extract_spec_version {
+ my ($data) = @_;
+ my $spec = $data->{'meta-spec'};
+
+ # is meta-spec there and valid?
+ return "1.0" unless defined $spec && ref $spec eq 'HASH'; # before meta-spec?
+
+ # does the version key look like a valid version?
+ my $v = $spec->{version};
+ if ( defined $v && $v =~ /^\d+(?:\.\d+)?$/ ) {
+ return $v if defined $v && grep { $v eq $_ } keys %known_specs; # known spec
+ return $v+0 if defined $v && grep { $v == $_ } keys %known_specs; # 2.0 => 2
+ }
+
+ # otherwise, use heuristics: look for 1.x vs 2.0 fields
+ return "2" if exists $data->{prereqs};
+ return "1.4" if exists $data->{configure_requires};
+ return "1.2"; # when meta-spec was first defined
+}
+
+# =method 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:
+#
+# =for :list
+# * abstract
+# * author
+# * license
+#
+# =cut
sub convert {
my ($self, %args) = @_;
@@ -1260,17 +1379,19 @@ sub convert {
# ABSTRACT: Convert CPAN distribution metadata structures
-
+__END__
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 SYNOPSIS
@@ -1386,8 +1507,3 @@ 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
index 31f4935b178..f97cc652e83 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
@@ -2,10 +2,28 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Feature;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
use CPAN::Meta::Prereqs;
+# =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.
+#
+# =method 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>.
+#
+# =cut
sub new {
my ($class, $identifier, $spec) = @_;
@@ -19,12 +37,28 @@ sub new {
bless \%guts => $class;
}
+# =method identifier
+#
+# This method returns the feature's identifier.
+#
+# =cut
sub identifier { $_[0]{identifier} }
+# =method description
+#
+# This method returns the feature's long description.
+#
+# =cut
sub description { $_[0]{description} }
+# =method prereqs
+#
+# This method returns the feature's prerequisites as a L<CPAN::Meta::Prereqs>
+# object.
+#
+# =cut
sub prereqs { $_[0]{prereqs} }
@@ -32,17 +66,19 @@ sub prereqs { $_[0]{prereqs} }
# ABSTRACT: an optional feature provided by a CPAN distribution
-
+__END__
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 DESCRIPTION
@@ -107,9 +143,3 @@ 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
index 9e32d56ab5a..1ebf3893390 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
@@ -3,24 +3,25 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::History;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
1;
# ABSTRACT: history of CPAN Meta Spec changes
-
-
__END__
+
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::History - history of CPAN Meta Spec changes
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 DESCRIPTION
@@ -174,10 +175,6 @@ November 2006
=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
@@ -211,6 +208,10 @@ Changed 'license' to be mandatory
=item *
+Added version range specifications for prerequisites
+
+=item *
+
Added required 'abstract' field
=item *
@@ -312,4 +313,3 @@ 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
index c1c58f0a6a6..b6e6c73c9e1 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
@@ -2,13 +2,47 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Prereqs;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
+# =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>.
+#
+# =cut
use Carp qw(confess);
use Scalar::Util qw(blessed);
use CPAN::Meta::Requirements 2.121;
+# =method 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.
+#
+# =cut
sub __legal_phases { qw(configure build test runtime develop) }
sub __legal_types { qw(requires recommends suggests conflicts) }
@@ -44,6 +78,19 @@ sub new {
return bless \%guts => $class;
}
+# =method requirements_for
+#
+# my $requirements = $prereqs->requirements_for( $phase, $type );
+#
+# This method returns a L<CPAN::Meta::Requirements> object for the given
+# phase/type combination. If no prerequisites are registered for that
+# combination, a new CPAN::Meta::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.
+#
+# =cut
sub requirements_for {
my ($self, $phase, $type) = @_;
@@ -66,6 +113,21 @@ sub requirements_for {
return $req;
}
+# =method 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.
+#
+# =cut
sub with_merged_prereqs {
my ($self, $other) = @_;
@@ -96,6 +158,56 @@ sub with_merged_prereqs {
return (ref $self)->new(\%new_arg);
}
+# =method merged_requirements
+#
+# my $new_reqs = $prereqs->merged_requirements( \@phases, \@types );
+# my $new_reqs = $prereqs->merged_requirements( \@phases );
+# my $new_reqs = $preerqs->merged_requirements();
+#
+# This method joins together all requirements across a number of phases
+# and types into a new L<CPAN::Meta::Requirements> object. If arguments
+# are omitted, it defaults to "runtime", "build" and "test" for phases
+# and "requires" and "recommends" for types.
+#
+# =cut
+
+sub merged_requirements {
+ my ($self, $phases, $types) = @_;
+ $phases = [qw/runtime build test/] unless defined $phases;
+ $types = [qw/requires recommends/] unless defined $types;
+
+ confess "merged_requirements phases argument must be an arrayref"
+ unless ref $phases eq 'ARRAY';
+ confess "merged_requirements types argument must be an arrayref"
+ unless ref $types eq 'ARRAY';
+
+ my $req = CPAN::Meta::Requirements->new;
+
+ for my $phase ( @$phases ) {
+ unless ($phase =~ /\Ax_/i or grep { $phase eq $_ } $self->__legal_phases) {
+ confess "requested requirements for unknown phase: $phase";
+ }
+ for my $type ( @$types ) {
+ unless ($type =~ /\Ax_/i or grep { $type eq $_ } $self->__legal_types) {
+ confess "requested requirements for unknown type: $type";
+ }
+ $req->add_requirements( $self->requirements_for($phase, $type) );
+ }
+ }
+
+ $req->finalize if $self->is_finalized;
+
+ return $req;
+}
+
+
+# =method 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, CPAN::Meta::Requirements, or C<version> objects inside it.
+#
+# =cut
sub as_string_hash {
my ($self) = @_;
@@ -114,9 +226,22 @@ sub as_string_hash {
return \%hash;
}
+# =method is_finalized
+#
+# This method returns true if the set of prereqs has been marked "finalized," and
+# cannot be altered.
+#
+# =cut
sub is_finalized { $_[0]{finalized} }
+# =method 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.
+#
+# =cut
sub finalize {
my ($self) = @_;
@@ -128,6 +253,16 @@ sub finalize {
}
}
+# =method 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.
+#
+# =cut
sub clone {
my ($self) = @_;
@@ -139,17 +274,19 @@ sub clone {
# ABSTRACT: a set of distribution prerequisites by phase and type
-
+__END__
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 DESCRIPTION
@@ -211,6 +348,17 @@ its optional features.
The new prereqs object has no ties to the originals, and altering it further
will not alter them.
+=head2 merged_requirements
+
+ my $new_reqs = $prereqs->merged_requirements( \@phases, \@types );
+ my $new_reqs = $prereqs->merged_requirements( \@phases );
+ my $new_reqs = $preerqs->merged_requirements();
+
+This method joins together all requirements across a number of phases
+and types into a new L<CPAN::Meta::Requirements> object. If arguments
+are omitted, it defaults to "runtime", "build" and "test" for phases
+and "requires" and "recommends" for types.
+
=head2 as_string_hash
This method returns a hashref containing structures suitable for dumping into a
@@ -268,9 +416,3 @@ 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/Requirements.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm
index ee53a3c4570..621550cef6a 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm
@@ -1,7 +1,7 @@
use strict;
use warnings;
package CPAN::Meta::Requirements;
-our $VERSION = '2.122'; # VERSION
+our $VERSION = '2.125'; # VERSION
# ABSTRACT: a set of version requirements for a CPAN dist
@@ -433,15 +433,18 @@ sub from_string_hash {
# vim: ts=2 sts=2 sw=2 et:
__END__
+
=pod
+=encoding utf-8
+
=head1 NAME
CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
=head1 VERSION
-version 2.122
+version 2.125
=head1 SYNOPSIS
@@ -691,7 +694,7 @@ CPAN::Meta::Requirements object.
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-Requirements>.
+at L<https://github.com/dagolden/CPAN-Meta-Requirements/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -699,9 +702,9 @@ You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<https://github.com/dagolden/cpan-meta-requirements>
+L<https://github.com/dagolden/CPAN-Meta-Requirements>
- git clone https://github.com/dagolden/cpan-meta-requirements.git
+ git clone https://github.com/dagolden/CPAN-Meta-Requirements.git
=head1 AUTHORS
@@ -725,4 +728,3 @@ 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/Spec.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
index 9addfd43600..1ec27af25e9 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
@@ -1,26 +1,34 @@
-# vi:tw=72
+# XXX RULES FOR PATCHING THIS FILE XXX
+# Patches that fix typos or formatting are acceptable. Patches
+# that change semantics are not acceptable without prior approval
+# by David Golden or Ricardo Signes.
+
use 5.006;
use strict;
use warnings;
package CPAN::Meta::Spec;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
1;
# ABSTRACT: specification for CPAN distribution metadata
+# vi:tw=72
__END__
+
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Spec - specification for CPAN distribution metadata
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 SYNOPSIS
@@ -74,7 +82,7 @@ version 2.120921
keywords => [ qw/ toolchain cpan dual-life / ],
'meta-spec' => {
version => '2',
- url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ url => 'https://metacpan.org/pod/CPAN::Meta::Spec',
},
generated_by => 'Module::Build version 0.36',
};
@@ -307,7 +315,7 @@ Example:
license => [ 'perl_5' ]
- license => [ 'apache_2', 'mozilla_1_0' ]
+ license => [ 'apache_2_0', 'mozilla_1_0' ]
(Spec 2) [required] {List of one or more License Strings}
@@ -387,6 +395,20 @@ 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.
+For the version 2 spec, either of these are recommended:
+
+=over 4
+
+=item *
+
+C<https://metacpan.org/pod/CPAN::Meta::Spec>
+
+=item *
+
+C<http://search.cpan.org/perldoc?CPAN::Meta::Spec>
+
+=back
+
=back
=head3 name
@@ -400,7 +422,8 @@ Example:
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/>.
+the distribution. For example, L<LWP::UserAgent> is distributed as part
+of the distribution name "libwww-perl".
=head3 release_status
@@ -585,7 +608,7 @@ 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,
+feature is available. For example, if C<Foo::Bar> has a C<Baz> feature,
release a separate C<Foo-Bar-Baz> distribution that satisfies
requirements for the feature.
@@ -639,14 +662,14 @@ Example:
provides => {
'Foo::Bar' => {
file => 'lib/Foo/Bar.pm',
- version => 0.27_02
+ 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,
+ version => '0.3',
},
}
@@ -654,23 +677,26 @@ Example:
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.
+PAUSE, CPAN, metacpan.org 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:
+the distribution. If a package name key is provided, it must
+have a Map with the following valid subkeys:
=over
=item file
-This field is required. The value must contain a Unix-style relative
-file path from the root of the distribution to the module containing the
-package.
+This field is required. It must contain a Unix-style relative file path
+from the root of the distribution directory to a file that contains or
+generates the package.
=item version
-This field contains a I<Version> String for the package, if one exists.
+If it exists, this field must contains a I<Version> String for the
+package. If the package does not have a C<$VERSION>, this field must
+be omitted.
=back
@@ -731,7 +757,8 @@ is a Map with the following valid keys:
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.
+to work with the repository, e.g. C<git>, C<svn>, C<cvs>, C<darcs>,
+C<bzr> or C<hg>.
=back
@@ -992,7 +1019,7 @@ 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,
+for that module could indicate an older distribution should be installed,
potentially overwriting files from a newer distribution.
For example, as of Oct 31, 2009, the CPAN index file contained these
@@ -1078,23 +1105,43 @@ this presents security implications.
=head1 SEE ALSO
+=over 4
+
+=item *
+
CPAN, L<http://www.cpan.org/>
-CPAN.pm, L<http://search.cpan.org/dist/CPAN/>
+=item *
+
+JSON, L<http://json.org/>
-CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/>
+=item *
-ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/>
+YAML, L<http://www.yaml.org/>
-Module::Build, L<http://search.cpan.org/dist/Module-Build/>
+=item *
-Module::Install, L<http://search.cpan.org/dist/Module-Install/>
+L<CPAN>
-JSON, L<http://json.org/>
+=item *
-YAML, L<http://www.yaml.org/>
+L<CPANPLUS>
-=head1 CONTRIBUTORS
+=item *
+
+L<ExtUtils::MakeMaker>
+
+=item *
+
+L<Module::Build>
+
+=item *
+
+L<Module::Install>
+
+=back
+
+=head1 HISTORY
Ken Williams wrote the original CPAN Meta Spec (also known as the
"META.yml spec") in 2003 and maintained it through several revisions
@@ -1107,21 +1154,6 @@ 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
@@ -1144,4 +1176,3 @@ 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
index e35f4c04ec7..f8b2fcaf303 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
@@ -2,8 +2,26 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Validator;
-our $VERSION = '2.120921'; # VERSION
-
+our $VERSION = '2.140640'; # VERSION
+
+# =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.
+#
+# =cut
#--------------------------------------------------------------------------#
# This code copied and adapted from Test::CPAN::Meta
@@ -78,10 +96,10 @@ my %definitions = (
'2' => {
# REQUIRED
'abstract' => { mandatory => 1, value => \&string },
- 'author' => { mandatory => 1, lazylist => { value => \&string } },
+ 'author' => { mandatory => 1, list => { value => \&string } },
'dynamic_config' => { mandatory => 1, value => \&boolean },
'generated_by' => { mandatory => 1, value => \&string },
- 'license' => { mandatory => 1, lazylist => { value => \&license } },
+ 'license' => { mandatory => 1, list => { value => \&license } },
'meta-spec' => {
mandatory => 1,
'map' => {
@@ -96,7 +114,7 @@ my %definitions = (
# OPTIONAL
'description' => { value => \&string },
- 'keywords' => { lazylist => { value => \&string } },
+ 'keywords' => { list => { value => \&string } },
'no_index' => $no_index_2,
'optional_features' => {
'map' => {
@@ -125,7 +143,7 @@ my %definitions = (
},
'resources' => {
'map' => {
- license => { lazylist => { value => \&url } },
+ license => { list => { value => \&url } },
homepage => { value => \&url },
bugtracker => {
'map' => {
@@ -419,6 +437,13 @@ my %definitions = (
# Code
#--------------------------------------------------------------------------#
+# =method new
+#
+# my $cmv = CPAN::Meta::Validator->new( $struct )
+#
+# The constructor must be passed a metadata structure.
+#
+# =cut
sub new {
my ($class,$data) = @_;
@@ -426,7 +451,7 @@ sub new {
# create an attributes hash
my $self = {
'data' => $data,
- 'spec' => $data->{'meta-spec'}{'version'} || "1.0",
+ 'spec' => eval { $data->{'meta-spec'}{'version'} } || "1.0",
'errors' => undef,
};
@@ -434,6 +459,16 @@ sub new {
return bless $self, $class;
}
+# =method is_valid
+#
+# if ( $cmv->is_valid ) {
+# ...
+# }
+#
+# Returns a boolean value indicating whether the metadata provided
+# is valid.
+#
+# =cut
sub is_valid {
my $self = shift;
@@ -443,6 +478,13 @@ sub is_valid {
return ! $self->errors;
}
+# =method errors
+#
+# warn( join "\n", $cmv->errors );
+#
+# Returns a list of errors seen during validation.
+#
+# =cut
sub errors {
my $self = shift;
@@ -450,9 +492,34 @@ sub errors {
return @{$self->{errors}};
}
+# =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 *
+#
+# =back
+#
+# =cut
my $spec_error = "Missing validation action in specification. "
- . "Must be one of 'map', 'list', 'lazylist', or 'value'";
+ . "Must be one of 'map', 'list', or 'value'";
sub check_map {
my ($self,$spec,$data) = @_;
@@ -484,8 +551,6 @@ sub check_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'" );
}
@@ -498,8 +563,6 @@ sub check_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'" );
}
@@ -512,17 +575,6 @@ sub check_map {
}
}
-# 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) = @_;
@@ -545,8 +597,6 @@ sub check_list {
$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 {
@@ -556,6 +606,113 @@ sub check_list {
}
}
+# =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
+#
+# =cut
sub header {
my ($self,$key,$value) = @_;
@@ -828,17 +985,19 @@ sub _error {
# ABSTRACT: validate CPAN distribution metadata structures
-
+__END__
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Validator - validate CPAN distribution metadata structures
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 SYNOPSIS
@@ -902,10 +1061,6 @@ 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
@@ -1014,7 +1169,7 @@ Validates that a given key is in an acceptable module name format, e.g.
=end :internals
-=for Pod::Coverage anything boolean check_lazylist check_list custom_1 custom_2 exversion file
+=for Pod::Coverage anything boolean check_list custom_1 custom_2 exversion file
identifier license module phase relation release_status string string_or_undef
url urlspec version header check_map
@@ -1049,9 +1204,3 @@ 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
index a9f4d6d94cb..387a8c4bb80 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
@@ -1,654 +1,887 @@
+use 5.008001; # sane UTF-8 support
+use strict;
+use warnings;
package CPAN::Meta::YAML;
-{
- $CPAN::Meta::YAML::VERSION = '0.008';
+$CPAN::Meta::YAML::VERSION = '0.012';
+BEGIN {
+ $CPAN::Meta::YAML::AUTHORITY = 'cpan:ADAMK';
}
+# git description: v1.60-1-g1c16a0a
+; # original $VERSION removed by Doppelgaenger
+# XXX-INGY is 5.8.1 too old/broken for utf8?
+# XXX-XDG Lancaster consensus was that it was sufficient until
+# proven otherwise
-use strict;
-# UTF Support?
-sub HAVE_UTF8 () { $] >= 5.007003 }
+#####################################################################
+# The CPAN::Meta::YAML API.
+#
+# These are the currently documented API functions/methods and
+# exports:
+
+use Exporter;
+our @ISA = qw{ Exporter };
+our @EXPORT = qw{ Load Dump };
+our @EXPORT_OK = qw{ LoadFile DumpFile freeze thaw };
+
+###
+# Functional/Export API:
+
+sub Dump {
+ return CPAN::Meta::YAML->new(@_)->_dump_string;
+}
+
+# XXX-INGY Returning last document seems a bad behavior.
+# XXX-XDG I think first would seem more natural, but I don't know
+# that it's worth changing now
+sub Load {
+ my $self = CPAN::Meta::YAML->_load_string(@_);
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # To match YAML.pm, return the last document
+ return $self->[-1];
+ }
+}
+
+# XXX-INGY Do we really need freeze and thaw?
+# XXX-XDG I don't think so. I'd support deprecating them.
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 = '';
+ *freeze = \&Dump;
+ *thaw = \&Load;
+}
+
+sub DumpFile {
+ my $file = shift;
+ return CPAN::Meta::YAML->new(@_)->_dump_file($file);
+}
+
+sub LoadFile {
+ my $file = shift;
+ my $self = CPAN::Meta::YAML->_load_file($file);
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # Return only the last document to match YAML.pm,
+ return $self->[-1];
+ }
+}
+
+
+###
+# Object Oriented API:
+
+# Create an empty CPAN::Meta::YAML object
+# XXX-INGY Why do we use ARRAY object?
+# NOTE: I get it now, but I think it's confusing and not needed.
+# Will change it on a branch later, for review.
+#
+# XXX-XDG I don't support changing it yet. It's a very well-documented
+# "API" of CPAN::Meta::YAML. I'd support deprecating it, but Adam suggested
+# we not change it until YAML.pm's own OO API is established so that
+# users only have one API change to digest, not two
+sub new {
+ my $class = shift;
+ bless [ @_ ], $class;
+}
+
+# XXX-INGY It probably doesn't matter, and it's probably too late to
+# change, but 'read/write' are the wrong names. Read and Write
+# are actions that take data from storage to memory
+# characters/strings. These take the data to/from storage to native
+# Perl objects, which the terms dump and load are meant. As long as
+# this is a legacy quirk to CPAN::Meta::YAML it's ok, but I'd prefer not
+# to add new {read,write}_* methods to this API.
+
+sub read_string {
+ my $self = shift;
+ $self->_load_string(@_);
+}
+
+sub write_string {
+ my $self = shift;
+ $self->_dump_string(@_);
+}
+
+sub read {
+ my $self = shift;
+ $self->_load_file(@_);
+}
+
+sub write {
+ my $self = shift;
+ $self->_dump_file(@_);
}
-# 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]';
+
+
+
+#####################################################################
+# Constants
# 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
+ 0 x01 x02 x03 x04 x05 x06 a
+ b 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", '\\' => '\\',
+ 0 => "\x00", z => "\x00", N => "\x85",
+ a => "\x07", b => "\x08", t => "\x09",
+ n => "\x0a", v => "\x0b", f => "\x0c",
+ r => "\x0d", e => "\x1b", '\\' => '\\',
);
-# Special magic boolean words
+# XXX-INGY
+# I(ngy) need to decide if these values should be quoted in
+# CPAN::Meta::YAML or not. Probably yes.
+
+# These 3 values have special meaning when unquoted and using the
+# default YAML schema. They need quotes if they are strings.
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
+ null true false
};
+# 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.
+# qr/\"((?:\\.|[^\"])*)\"/
+my $re_capture_double_quoted = qr/\"([^\\"]*(?:\\.[^\\"]*)*)\"/;
+my $re_capture_single_quoted = qr/\'([^\']*(?:\'\'[^\']*)*)\'/;
+# unquoted re gets trailing space that needs to be stripped
+my $re_capture_unquoted_key = qr/([^:]+(?::+\S[^:]*)*)(?=\s*\:(?:\s+|$))/;
+my $re_trailing_comment = qr/(?:\s+\#.*)?/;
+my $re_key_value_separator = qr/\s*:(?:\s+(?:\#.*)?|$)/;
+
#####################################################################
-# Implementation
+# CPAN::Meta::YAML Implementation.
+#
+# These are the private methods that do all the work. They may change
+# at any time.
-# Create an empty CPAN::Meta::YAML object
-sub new {
- my $class = shift;
- bless [ @_ ], $class;
-}
+
+###
+# Loader functions:
# 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 );
+sub _load_file {
+ my $class = ref $_[0] ? ref shift : shift;
+
+ # Check the file
+ my $file = shift or $class->_error( 'You did not specify a file name' );
+ $class->_error( "File '$file' does not exist" )
+ unless -e $file;
+ $class->_error( "'$file' is a directory, not a file" )
+ unless -f _;
+ $class->_error( "Insufficient permissions to read '$file'" )
+ unless -r _;
+
+ # Open unbuffered with strict UTF-8 decoding and no translation layers
+ open( my $fh, "<:unix:encoding(UTF-8)", $file );
+ unless ( $fh ) {
+ $class->_error("Failed to open file '$file': $!");
+ }
+
+ # flock if available (or warn if not possible for OS-specific reasons)
+ if ( _can_flock() ) {
+ flock( $fh, Fcntl::LOCK_SH() )
+ or warn "Couldn't lock '$file' for reading: $!";
+ }
+
+ # slurp the contents
+ my $contents = eval {
+ use warnings FATAL => 'utf8';
+ local $/;
+ <$fh>
+ };
+ if ( my $err = $@ ) {
+ $class->_error("Error reading from file '$file': $err");
+ }
+
+ # close the file (release the lock)
+ unless ( close $fh ) {
+ $class->_error("Failed to close file '$file': $!");
+ }
+
+ $class->_load_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;
+sub _load_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";
+ }
+
+ # Check if Perl has it marked as characters, but it's internally
+ # inconsistent. E.g. maybe latin1 got read on a :utf8 layer
+ if ( utf8::is_utf8($string) && ! utf8::valid($string) ) {
+ die \<<'...';
+Read an invalid UTF-8 string (maybe mixed UTF-8 and 8-bit character set).
+Did you decode with lax ":utf8" instead of strict ":encoding(UTF-8)"?
+...
+ }
+
+ # Ensure Unicode character semantics, even for 0x80-0xff
+ utf8::upgrade($string);
+
+ # Check for and strip any leading UTF-8 BOM
+ $string =~ s/^\x{FEFF}//;
+
+ # Check for some special cases
+ return $self unless length $string;
+
+ # 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 $in_document = 0;
+ 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->_load_scalar( "$1", [ undef ], \@lines );
+ next;
+ }
+ $in_document = 1;
+ }
+
+ if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
+ # A naked document
+ push @$self, undef;
+ while ( @lines and $lines[0] !~ /^---/ ) {
+ shift @lines;
+ }
+ $in_document = 0;
+
+ # XXX The final '-+$' is to look for -- which ends up being an
+ # error later.
+ } elsif ( ! $in_document && @$self ) {
+ # only the first document can be explicit
+ die \"CPAN::Meta::YAML failed to classify the line '$lines[0]'";
+ } elsif ( $lines[0] =~ /^\s*\-(?:\s|$|-+$)/ ) {
+ # An array at the root
+ my $document = [ ];
+ push @$self, $document;
+ $self->_load_array( $document, [ 0 ], \@lines );
+
+ } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
+ # A hash at the root
+ my $document = { };
+ push @$self, $document;
+ $self->_load_hash( $document, [ length($1) ], \@lines );
+
+ } else {
+ # Shouldn't get here. @lines have whitespace-only lines
+ # stripped, and previous match is a line with any
+ # non-whitespace. So this clause should only be reachable via
+ # a perlbug where \s is not symmetric with \S
+
+ # uncoverable statement
+ die \"CPAN::Meta::YAML failed to classify the line '$lines[0]'";
+ }
+ }
+ };
+ if ( ref $@ eq 'SCALAR' ) {
+ $self->_error(${$@});
+ } elsif ( $@ ) {
+ $self->_error($@);
+ }
+
+ 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;
+sub _unquote_single {
+ my ($self, $string) = @_;
+ return '' unless length $string;
+ $string =~ s/\'\'/\'/g;
+ return $string;
}
-# 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;
+sub _unquote_double {
+ my ($self, $string) = @_;
+ return '' unless length $string;
+ $string =~ s/\\"/"/g;
+ $string =~
+ s{\\([Nnever\\fartz0b]|x([0-9a-fA-F]{2}))}
+ {(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}}gex;
+ return $string;
}
-# 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;
+# Load a YAML scalar string to the actual Perl scalar
+sub _load_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 =~ /^$re_capture_single_quoted$re_trailing_comment\z/ ) {
+ return $self->_unquote_single($1);
+ }
+
+ # Double quote.
+ if ( $string =~ /^$re_capture_double_quoted$re_trailing_comment\z/ ) {
+ return $self->_unquote_double($1);
+ }
+
+ # 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 !~ /^[>|]/ ) {
+ die \"CPAN::Meta::YAML found illegal characters in plain scalar: '$string'"
+ if $string =~ /^(?:-(?:\s|$)|[\@\%\`])/ or
+ $string =~ /:(?:\s|$)/;
+ $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;
}
-# 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;
+# Load an array
+sub _load_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->_load_hash( $array->[-1], [ @$indent, $indent2 ], $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->_load_array(
+ $array->[-1], [ @$indent, $indent2 ], $lines
+ );
+ }
+
+ } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
+ push @$array, { };
+ $self->_load_hash(
+ $array->[-1], [ @$indent, length("$1") ], $lines
+ );
+
+ } else {
+ die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
+ }
+
+ } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
+ # Array entry with a value
+ shift @$lines;
+ push @$array, $self->_load_scalar(
+ "$2", [ @$indent, undef ], $lines
+ );
+
+ } 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;
}
-# 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;
+# Load a hash
+sub _load_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]'";
+ }
+
+ # Find the key
+ my $key;
+
+ # Quoted keys
+ if ( $lines->[0] =~
+ s/^\s*$re_capture_single_quoted$re_key_value_separator//
+ ) {
+ $key = $self->_unquote_single($1);
+ }
+ elsif ( $lines->[0] =~
+ s/^\s*$re_capture_double_quoted$re_key_value_separator//
+ ) {
+ $key = $self->_unquote_double($1);
+ }
+ elsif ( $lines->[0] =~
+ s/^\s*$re_capture_unquoted_key$re_key_value_separator//
+ ) {
+ $key = $1;
+ $key =~ s/\s+$//;
+ }
+ elsif ( $lines->[0] =~ /^\s*\?/ ) {
+ die \"CPAN::Meta::YAML does not support a feature in line '$lines->[0]'";
+ }
+ else {
+ die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
+ }
+
+ # Do we have a value?
+ if ( length $lines->[0] ) {
+ # Yes
+ $hash->{$key} = $self->_load_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->_load_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->_load_hash(
+ $hash->{$key}, [ @$indent, length($1) ], $lines
+ );
+ }
+ }
+ }
+ }
+
+ return 1;
}
-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|:\z)/ 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;
+###
+# Dumper functions:
+
+# Save an object to a file
+sub _dump_file {
+ my $self = shift;
+
+ require Fcntl;
+
+ # Check the file
+ my $file = shift or $self->_error( 'You did not specify a file name' );
+
+ my $fh;
+ # flock if available (or warn if not possible for OS-specific reasons)
+ if ( _can_flock() ) {
+ # Open without truncation (truncate comes after lock)
+ my $flags = Fcntl::O_WRONLY()|Fcntl::O_CREAT();
+ sysopen( $fh, $file, $flags );
+ unless ( $fh ) {
+ $self->_error("Failed to open file '$file' for writing: $!");
+ }
+
+ # Use no translation and strict UTF-8
+ binmode( $fh, ":raw:encoding(UTF-8)");
+
+ flock( $fh, Fcntl::LOCK_EX() )
+ or warn "Couldn't lock '$file' for reading: $!";
+
+ # truncate and spew contents
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ }
+ else {
+ open $fh, ">:unix:encoding(UTF-8)", $file;
+ }
+
+ # serialize and spew to the handle
+ print {$fh} $self->_dump_string;
+
+ # close the file (release the lock)
+ unless ( close $fh ) {
+ $self->_error("Failed to close file '$file': $!");
+ }
+
+ return 1;
}
-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;
+# Save an object to a string
+sub _dump_string {
+ my $self = shift;
+ return '' unless ref $self && @$self;
+
+ # Iterate over the documents
+ my $indent = 0;
+ my @lines = ();
+
+ eval {
+ foreach my $cursor ( @$self ) {
+ push @lines, '---';
+
+ # An empty document
+ if ( ! defined $cursor ) {
+ # Do nothing
+
+ # A scalar document
+ } elsif ( ! ref $cursor ) {
+ $lines[-1] .= ' ' . $self->_dump_scalar( $cursor );
+
+ # A list at the root
+ } elsif ( ref $cursor eq 'ARRAY' ) {
+ unless ( @$cursor ) {
+ $lines[-1] .= ' []';
+ next;
+ }
+ push @lines, $self->_dump_array( $cursor, $indent, {} );
+
+ # A hash at the root
+ } elsif ( ref $cursor eq 'HASH' ) {
+ unless ( %$cursor ) {
+ $lines[-1] .= ' {}';
+ next;
+ }
+ push @lines, $self->_dump_hash( $cursor, $indent, {} );
+
+ } else {
+ die \("Cannot serialize " . ref($cursor));
+ }
+ }
+ };
+ if ( ref $@ eq 'SCALAR' ) {
+ $self->_error(${$@});
+ } elsif ( $@ ) {
+ $self->_error($@);
+ }
+
+ join '', map { "$_\n" } @lines;
}
-# Set error
-sub _error {
- $CPAN::Meta::YAML::errstr = $_[1];
- undef;
+sub _has_internal_string_value {
+ my $value = shift;
+ my $b_obj = B::svref_2object(\$value); # for round trip problem
+ return $b_obj->FLAGS & B::SVf_POK();
}
-# Retrieve error
-sub errstr {
- $CPAN::Meta::YAML::errstr;
+sub _dump_scalar {
+ my $string = $_[1];
+ my $is_key = $_[2];
+ # Check this before checking length or it winds up looking like a string!
+ my $has_string_flag = _has_internal_string_value($string);
+ return '~' unless defined $string;
+ return "''" unless length $string;
+ if (Scalar::Util::looks_like_number($string)) {
+ # keys and values that have been used as strings get quoted
+ if ( $is_key || $has_string_flag ) {
+ return qq['$string'];
+ }
+ else {
+ return $string;
+ }
+ }
+ if ( $string =~ /[\x00-\x09\x0b-\x0d\x0e-\x1f\x7f-\x9f\'\n]/ ) {
+ $string =~ s/\\/\\\\/g;
+ $string =~ s/"/\\"/g;
+ $string =~ s/\n/\\n/g;
+ $string =~ s/[\x85]/\\N/g;
+ $string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
+ $string =~ s/([\x7f-\x9f])/'\x' . sprintf("%X",ord($1))/ge;
+ return qq|"$string"|;
+ }
+ if ( $string =~ /(?:^[~!@#%&*|>?:,'"`{}\[\]]|^-+$|\s|:\z)/ or
+ $QUOTE{$string}
+ ) {
+ return "'$string'";
+ }
+ return $string;
}
+sub _dump_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->_dump_scalar( $el );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_dump_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_dump_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die \"CPAN::Meta::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
+sub _dump_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) . $self->_dump_scalar($name, 1) . ":";
+ my $type = ref $el;
+ if ( ! $type ) {
+ $line .= ' ' . $self->_dump_scalar( $el );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_dump_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_dump_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die \"CPAN::Meta::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
#####################################################################
-# YAML Compatibility
+# DEPRECATED API methods:
-sub Dump {
- CPAN::Meta::YAML->new(@_)->write_string;
-}
+# Error storage (DEPRECATED as of 1.57)
+our $errstr = '';
-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];
- }
+# Set error
+sub _error {
+ require Carp;
+ $errstr = $_[1];
+ $errstr =~ s/ at \S+ line \d+.*//;
+ Carp::croak( $errstr );
}
-BEGIN {
- *freeze = *Dump;
- *thaw = *Load;
+# Retrieve error
+my $errstr_warned;
+sub errstr {
+ require Carp;
+ Carp::carp( "CPAN::Meta::YAML->errstr and \$CPAN::Meta::YAML::errstr is deprecated" )
+ unless $errstr_warned++;
+ $errstr;
}
-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];
- }
-}
+#####################################################################
+# Helper functions. Possibly not needed.
+
+
+# Use to detect nv or iv
+use B;
+
+# XXX-INGY Is flock CPAN::Meta::YAML's responsibility?
+# Some platforms can't flock :-(
+# XXX-XDG I think it is. When reading and writing files, we ought
+# to be locking whenever possible. People (foolishly) use YAML
+# files for things like session storage, which has race issues.
+my $HAS_FLOCK;
+sub _can_flock {
+ if ( defined $HAS_FLOCK ) {
+ return $HAS_FLOCK;
+ }
+ else {
+ require Config;
+ my $c = \%Config::Config;
+ $HAS_FLOCK = grep { $c->{$_} } qw/d_flock d_fcntl_can_lock d_lockf/;
+ require Fcntl if $HAS_FLOCK;
+ return $HAS_FLOCK;
+ }
+}
+# XXX-INGY Is this core in 5.8.1? Can we remove this?
+# XXX-XDG Scalar::Util 1.18 didn't land until 5.8.8, so we need this
#####################################################################
# Use Scalar::Util if possible, otherwise emulate it
BEGIN {
- local $@;
- eval {
- require Scalar::Util;
- };
- my $v = eval("$Scalar::Util::VERSION") || 0;
- if ( $@ or $v < 1.18 ) {
- eval <<'END_PERL';
+ local $@;
+ if ( eval { require Scalar::Util }
+ && $Scalar::Util::VERSION
+ && eval($Scalar::Util::VERSION) >= 1.18
+ ) {
+ *refaddr = *Scalar::Util::refaddr;
+ }
+ else {
+ eval <<'END_PERL';
# Scalar::Util failed to load or too old
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;
+ 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 { no warnings 'portable'; hex $1 };
+ bless $_[0], $pkg if defined $pkg;
+ $i;
}
END_PERL
- } else {
- *refaddr = *Scalar::Util::refaddr;
- }
+ }
}
-1;
+1;
+
+# XXX-INGY Doc notes I'm putting up here. Changing the doc when it's wrong
+# but leaving grey area stuff up here.
+#
+# I would like to change Read/Write to Load/Dump below without
+# changing the actual API names.
+#
+# It might be better to put Load/Dump API in the SYNOPSIS instead of the
+# dubious OO API.
+#
+# null and bool explanations may be outdated.
+
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files
=head1 VERSION
-version 0.008
+version 0.012
=head1 SYNOPSIS
@@ -684,7 +917,7 @@ C<write> methods do B<not> support UTF-8 and should not be used.
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>
+L<https://rt.cpan.org/Public/Dist/Display.html?Name=YAML-Tiny>
=head1 SEE ALSO
@@ -697,7 +930,7 @@ L<YAML::Tiny>, L<YAML>, L<YAML::XS>
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML>.
+at L<https://github.com/dagolden/CPAN-Meta-YAML/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -705,9 +938,9 @@ You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<https://github.com/dagolden/cpan-meta-yaml>
+L<https://github.com/dagolden/CPAN-Meta-YAML>
- git clone https://github.com/dagolden/cpan-meta-yaml.git
+ git clone https://github.com/dagolden/CPAN-Meta-YAML.git
=head1 AUTHORS
@@ -732,7 +965,6 @@ the same terms as the Perl 5 programming language system itself.
=cut
-
__END__
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
index 38e0043d7a4..37e7ce0ef9f 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
@@ -2,29 +2,28 @@
# vim: ts=4 sts=4 sw=4:
=head1 NAME
-CPAN::Mirrors - Get CPAN miror information and select a fast one
+CPAN::Mirrors - Get CPAN mirror information and select a fast one
=head1 SYNOPSIS
- use CPAN::Mirrors;
+ use CPAN::Mirrors;
- my $mirrors = CPAN::Mirrors->new;
- $mirrors->parse_from_file( $mirrored_by_file );
+ my $mirrors = CPAN::Mirrors->new( $mirrored_by_file );
- my $seen = {};
+ my $seen = {};
- my $best_continent = $mirrors->find_best_continents( { seen => $seen } );
- my @mirrors = $mirrors->get_mirrors_by_continents( $best_continent );
+ my $best_continent = $mirrors->find_best_continents( { seen => $seen } );
+ my @mirrors = $mirrors->get_mirrors_by_continents( $best_continent );
- my $callback = sub {
- my( $m ) = @_;
- printf "%s = %s\n", $m->hostname, $m->rtt
- };
- $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback );
+ my $callback = sub {
+ my( $m ) = @_;
+ printf "%s = %s\n", $m->hostname, $m->rtt
+ };
+ $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback );
- @mirrors = sort { $a->rtt <=> $b->rtt } @mirrors;
+ @mirrors = sort { $a->rtt <=> $b->rtt } @mirrors;
- print "Best mirrors are ", map( { $_->rtt } @mirrors[0..3] ), "\n";
+ print "Best mirrors are ", map( { $_->rtt } @mirrors[0..3] ), "\n";
=head1 DESCRIPTION
@@ -35,7 +34,7 @@ CPAN::Mirrors - Get CPAN miror information and select a fast one
package CPAN::Mirrors;
use strict;
use vars qw($VERSION $urllist $silent);
-$VERSION = "1.9600";
+$VERSION = "1.9601";
use Carp;
use FileHandle;
@@ -44,24 +43,28 @@ use Net::Ping ();
=item new( LOCAL_FILE_NAME )
+Create a new CPAN::Mirrors object from LOCAL_FILE_NAME. This file
+should look like that in http://www.cpan.org/MIRRORED.BY .
+
=cut
sub new {
my ($class, $file) = @_;
+ croak "CPAN::Mirrors->new requires a filename" unless defined $file;
+ croak "The file [$file] was not found" unless -e $file;
+
my $self = bless {
mirrors => [],
geography => {},
}, $class;
- if( defined $file ) {
- $self->parse_mirrored_by( $file );
- }
+ $self->parse_mirrored_by( $file );
- return $self
+ return $self;
}
sub parse_mirrored_by {
- my ($self, $file) = @_;
+ my ($self, $file) = @_;
my $handle = FileHandle->new;
$handle->open($file)
or croak "Couldn't open $file: $!";
@@ -134,21 +137,36 @@ sub get_mirrors_by_countries { &mirrors }
Return a list of mirrors for all of continents you specify. If you don't
specify any continents, it returns all of the mirrors.
+You can specify a single continent or an array reference of continents.
+
=cut
sub get_mirrors_by_continents {
- my ($self, $continents ) = @_;
+ my ($self, $continents ) = @_;
+ $continents = [ $continents ] unless ref $continents;
- $self->mirrors( $self->get_countries_by_continents( @$continents ) );
- }
+ eval {
+ $self->mirrors( $self->get_countries_by_continents( @$continents ) );
+ };
+ }
=item get_countries_by_continents( [CONTINENTS] )
A more sensible synonym for countries.
=cut
+
sub get_countries_by_continents { &countries }
+=item default_mirror
+
+Returns the default mirror, http://www.cpan.org/ . This mirror uses
+dynamic DNS to give a close mirror.
+
+=cut
+
+sub default_mirror { 'http://www.cpan.org/' }
+
=item best_mirrors
C<best_mirrors> checks for the best mirrors based on the list of
@@ -159,14 +177,17 @@ In scalar context, it returns the single best mirror.
Arguments
- how_many - the number of mirrors to return. Default: 1
- callback - a callback for find_best_continents
- verbose - true or false on all the whining and moaning. Default: false
- continents - an array ref of the continents to check
+ how_many - the number of mirrors to return. Default: 1
+ callback - a callback for find_best_continents
+ verbose - true or false on all the whining and moaning. Default: false
+ continents - an array ref of the continents to check
If you don't specify the continents, C<best_mirrors> calls
C<find_best_continents> to get the list of continents to check.
+If you don't have L<Net::Ping> v2.13 or later, needed for timings,
+this returns the default mirror.
+
=cut
sub best_mirrors {
@@ -178,17 +199,22 @@ sub best_mirrors {
$continents = [$continents] unless ref $continents;
# Old Net::Ping did not do timings at all
- return "http://www.cpan.org/" unless Net::Ping->VERSION gt '2.13';
+ my $min_version = '2.13';
+ unless( Net::Ping->VERSION gt $min_version ) {
+ carp sprintf "Net::Ping version is %s (< %s). Returning %s",
+ Net::Ping->VERSION, $min_version, $self->default_mirror;
+ return $self->default_mirror;
+ }
my $seen = {};
if ( ! @$continents ) {
print "Searching for the best continent ...\n" if $verbose;
my @best_continents = $self->find_best_continents(
- seen => $seen,
- verbose => $verbose,
- callback => $callback,
- );
+ seen => $seen,
+ verbose => $verbose,
+ callback => $callback,
+ );
# Only add enough continents to find enough mirrors
my $count = 0;
@@ -201,7 +227,7 @@ sub best_mirrors {
print "Scanning " . join(", ", @$continents) . " ...\n" if $verbose;
- my $trial_mirrors = $self->get_n_random_mirrors_by_continents( 3 * $how_many, $continents->[0] );
+ my $trial_mirrors = $self->get_n_random_mirrors_by_continents( 3 * $how_many, $continents->[0] );
my $timings = $self->get_mirrors_timings( $trial_mirrors, $seen, $callback );
return [] unless @$timings;
@@ -211,7 +237,7 @@ sub best_mirrors {
return wantarray ? @{$timings}[0 .. $how_many-1] : $timings->[0];
}
-=item get_n_random_mirrors_by_continents( N, [CONTINENTS]
+=item get_n_random_mirrors_by_continents( N, [CONTINENTS] )
Returns up to N random mirrors for the specified continents. Specify the
continents as an array reference.
@@ -219,55 +245,65 @@ continents as an array reference.
=cut
sub get_n_random_mirrors_by_continents {
- my( $self, $n, $continents ) = @_;
- $n ||= 3;
- $continents = [ $continents ] unless ref $continents;
+ my( $self, $n, $continents ) = @_;
+ $n ||= 3;
+ $continents = [ $continents ] unless ref $continents;
if ( $n <= 0 ) {
- return wantarray ? () : [];
+ return wantarray ? () : [];
}
my @long_list = $self->get_mirrors_by_continents( $continents );
if ( $n eq '*' or $n > @long_list ) {
- return wantarray ? @long_list : \@long_list;
+ return wantarray ? @long_list : \@long_list;
}
- @long_list = map {$_->[0]}
- sort {$a->[1] <=> $b->[1]}
+ @long_list = map {$_->[0]}
+ sort {$a->[1] <=> $b->[1]}
map {[$_, rand]} @long_list;
- splice @long_list, $n; # truncate
+ splice @long_list, $n; # truncate
- \@long_list;
+ \@long_list;
}
=item get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK );
-Pings the listed mirrors and returns a list of mirrors sorted
-in ascending ping times.
+Pings the listed mirrors and returns a list of mirrors sorted in
+ascending ping times.
+
+C<MIRROR_LIST> is an anonymous array of C<CPAN::Mirrored::By> objects to
+ping.
+
+The optional argument C<SEEN> is a hash reference used to track the
+mirrors you've already pinged.
+
+The optional argument C<CALLBACK> is a subroutine reference to call
+after each ping. It gets the C<CPAN::Mirrored::By> object after each
+ping.
=cut
sub get_mirrors_timings {
- my( $self, $mirror_list, $seen, $callback ) = @_;
+ my( $self, $mirror_list, $seen, $callback ) = @_;
- $seen = {} unless defined $seen;
- croak "The mirror list argument must be an array reference"
- unless ref $mirror_list eq ref [];
- croak "The seen argument must be a hash reference"
- unless ref $seen eq ref {};
- croak "callback must be a subroutine"
- if( defined $callback and ref $callback ne ref sub {} );
+ $seen = {} unless defined $seen;
+ croak "The mirror list argument must be an array reference"
+ unless ref $mirror_list eq ref [];
+ croak "The seen argument must be a hash reference"
+ unless ref $seen eq ref {};
+ croak "callback must be a subroutine"
+ if( defined $callback and ref $callback ne ref sub {} );
- my $timings = [];
+ my $timings = [];
for my $m ( @$mirror_list ) {
- $seen->{$m->hostname} = $m;
- next unless eval{ $m->http };
+ $seen->{$m->hostname} = $m;
+ next unless eval{ $m->http };
if( $self->_try_a_ping( $seen, $m, ) ) {
my $ping = $m->ping;
- next unless defined $ping;
+ next unless defined $ping;
push @$timings, $m;
$callback->( $m ) if $callback;
}
@@ -278,48 +314,52 @@ sub get_mirrors_timings {
}
my @best = sort {
- if( defined $a->rtt and defined $b->rtt ) {
- $a->rtt <=> $b->rtt
- }
- elsif( defined $a->rtt and ! defined $b->rtt ) {
- return -1;
- }
- elsif( ! defined $a->rtt and defined $b->rtt ) {
- return 1;
- }
- elsif( ! defined $a->rtt and ! defined $b->rtt ) {
- return 0;
- }
-
- } @$timings;
+ if( defined $a->rtt and defined $b->rtt ) {
+ $a->rtt <=> $b->rtt
+ }
+ elsif( defined $a->rtt and ! defined $b->rtt ) {
+ return -1;
+ }
+ elsif( ! defined $a->rtt and defined $b->rtt ) {
+ return 1;
+ }
+ elsif( ! defined $a->rtt and ! defined $b->rtt ) {
+ return 0;
+ }
+
+ } @$timings;
return wantarray ? @best : \@best;
}
=item find_best_continents( HASH_REF );
-C<find_best_continents> goes through each continent and pings C<N> random
-mirrors on that continent. It then orders the continents by ascending
-median ping time. In list context, it returns the ordered list of
-continent. In scalar context, it returns the same list as an anonymous
-array.
+C<find_best_continents> goes through each continent and pings C<N>
+random mirrors on that continent. It then orders the continents by
+ascending median ping time. In list context, it returns the ordered list
+of continent. In scalar context, it returns the same list as an
+anonymous array.
Arguments:
- n - the number of hosts to ping for each continent. Default: 3
- seen - a hashref of cached hostname ping times
- verbose - true or false for noisy or quiet. Default: false
- callback - a subroutine to run after each ping.
- ping_cache_limit - how long, in seconds, to reuse previous ping times.
- Default: 1 day
+ n - the number of hosts to ping for each continent. Default: 3
+ seen - a hashref of cached hostname ping times
+ verbose - true or false for noisy or quiet. Default: false
+ callback - a subroutine to run after each ping.
+ ping_cache_limit - how long, in seconds, to reuse previous ping times.
+ Default: 1 day
-The C<seen> hash has hostnames as keys and anonymous arrays as values. The
-anonymous array is a triplet of a C<CPAN::Mirrored::By> object, a ping
-time, and the epoch time for the measurement.
+The C<seen> hash has hostnames as keys and anonymous arrays as values.
+The anonymous array is a triplet of a C<CPAN::Mirrored::By> object, a
+ping time, and the epoch time for the measurement.
The callback subroutine gets the C<CPAN::Mirrored::By> object, the ping
-time, and measurement time (the same things in the C<seen> hashref) as arguments.
-C<find_best_continents> doesn't care what the callback does and ignores the return
+time, and measurement time (the same things in the C<seen> hashref) as
+arguments. C<find_best_continents> doesn't care what the callback does
+and ignores the return value.
+
+With a low value for C<N>, a single mirror might skew the results enough
+to choose a worse continent. If you have that problem, try a larger
value.
=cut
@@ -327,19 +367,19 @@ value.
sub find_best_continents {
my ($self, %args) = @_;
- $args{n} ||= 3;
- $args{verbose} = 0 unless defined $args{verbose};
- $args{seen} = {} unless defined $args{seen};
- croak "The seen argument must be a hash reference"
- unless ref $args{seen} eq ref {};
- $args{ping_cache_limit} = 24 * 60 * 60
- unless defined $args{ping_cache_time};
- croak "callback must be a subroutine"
- if( defined $args{callback} and ref $args{callback} ne ref sub {} );
+ $args{n} ||= 3;
+ $args{verbose} = 0 unless defined $args{verbose};
+ $args{seen} = {} unless defined $args{seen};
+ croak "The seen argument must be a hash reference"
+ unless ref $args{seen} eq ref {};
+ $args{ping_cache_limit} = 24 * 60 * 60
+ unless defined $args{ping_cache_time};
+ croak "callback must be a subroutine"
+ if( defined $args{callback} and ref $args{callback} ne ref sub {} );
my %medians;
CONT: for my $c ( $self->continents ) {
- print "Testing $c\n" if $args{verbose};
+ print "Testing $c\n" if $args{verbose};
my @mirrors = $self->mirrors( $self->countries($c) );
next CONT unless @mirrors;
@@ -350,19 +390,19 @@ sub find_best_continents {
RANDOM: while ( @mirrors && @tests < $n && $tries++ < 15 ) {
my $m = splice( @mirrors, int(rand(@mirrors)), 1 );
if( $self->_try_a_ping( $args{seen}, $m, $args{ping_cache_limit} ) ) {
- $self->get_mirrors_timings( [ $m ], @args{qw(seen callback)} );
- next RANDOM unless defined $args{seen}{$m->hostname}->rtt;
+ $self->get_mirrors_timings( [ $m ], @args{qw(seen callback)} );
+ next RANDOM unless defined $args{seen}{$m->hostname}->rtt;
}
printf "\t%s -> %0.2f ms\n",
- $m->hostname,
- join ' ', 1000 * $args{seen}{$m->hostname}->rtt
- if $args{verbose};
+ $m->hostname,
+ join ' ', 1000 * $args{seen}{$m->hostname}->rtt
+ if $args{verbose};
- push @tests, $args{seen}{$m->hostname}->rtt;
+ push @tests, $args{seen}{$m->hostname}->rtt;
}
- my $median = $self->_get_median_ping_time( \@tests, $args{verbose} );
- $medians{$c} = $median if defined $median;
+ my $median = $self->_get_median_ping_time( \@tests, $args{verbose} );
+ $medians{$c} = $median if defined $median;
}
my @best_cont = sort { $medians{$a} <=> $medians{$b} } keys %medians;
@@ -379,33 +419,33 @@ sub find_best_continents {
# retry if
sub _try_a_ping {
- my ($self, $seen, $mirror, $ping_cache_limit ) = @_;
-
- ( ! exists $seen->{$mirror->hostname} )
- or
- (
- ! defined $seen->{$mirror->hostname}->rtt
- or
- time - $seen->{$mirror->hostname}->rtt > $ping_cache_limit
- )
+ my ($self, $seen, $mirror, $ping_cache_limit ) = @_;
+
+ ( ! exists $seen->{$mirror->hostname} )
+ or
+ (
+ ! defined $seen->{$mirror->hostname}->rtt
+ or
+ time - $seen->{$mirror->hostname}->rtt > $ping_cache_limit
+ )
}
sub _get_median_ping_time {
- my ($self, $tests, $verbose ) = @_;
+ my ($self, $tests, $verbose ) = @_;
- my @sorted = sort { $a <=> $b } @$tests;
+ my @sorted = sort { $a <=> $b } @$tests;
- my $median = do {
- if ( @sorted == 0 ) { undef }
- elsif ( @sorted == 1 ) { $sorted[0] }
- elsif ( @sorted % 2 ) { $sorted[ int(@sorted / 2) ] }
- else {
- my $mid_high = int(@sorted/2);
- ($sorted[$mid_high-1] + $sorted[$mid_high])/2;
- }
- };
+ my $median = do {
+ if ( @sorted == 0 ) { undef }
+ elsif ( @sorted == 1 ) { $sorted[0] }
+ elsif ( @sorted % 2 ) { $sorted[ int(@sorted / 2) ] }
+ else {
+ my $mid_high = int(@sorted/2);
+ ($sorted[$mid_high-1] + $sorted[$mid_high])/2;
+ }
+ };
- printf "\t-->median time: %0.2f ms\n", $median * 1000 if $verbose;
+ printf "\t-->median time: %0.2f ms\n", $median * 1000 if $verbose;
return $median;
}
@@ -513,7 +553,7 @@ sub ping {
my $port = $proto eq 'http' ? 80 : 21;
return unless $port;
- if ( $ping->can('port_number') ) {
+ if ( $ping->can('port_number') ) {
$ping->port_number($port);
}
else {
@@ -546,6 +586,4 @@ modify it under the same terms as Perl itself.
See L<http://www.perl.com/perl/misc/Artistic.html>
-
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
index 1222b37ef61..8027d22d3b2 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
@@ -20,6 +20,11 @@ sub reqtype {
$self->{reqtype};
}
+sub optional {
+ my($self) = @_;
+ $self->{optional};
+}
+
package CPAN::Queue;
# One use of the queue is to determine if we should or shouldn't
@@ -67,7 +72,7 @@ package CPAN::Queue;
# in CPAN::Distribution::rematein.
use vars qw{ @All $VERSION };
-$VERSION = "5.5001";
+$VERSION = "5.5002";
# CPAN::Queue::queue_item ;
sub queue_item {
@@ -82,7 +87,7 @@ sub qpush {
my($class,$obj) = @_;
push @All, $obj;
CPAN->debug(sprintf("in new All[%s]",
- join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @All),
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @All),
)) if $CPAN::DEBUG;
}
@@ -99,9 +104,13 @@ sub delete_first {
for my $i (0..$#All) {
if ( $All[$i]->{qmod} eq $what ) {
splice @All, $i, 1;
- return;
+ last;
}
}
+ CPAN->debug(sprintf("after delete_first mod[%s] All[%s]",
+ $what,
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @All)
+ )) if $CPAN::DEBUG;
}
# CPAN::Queue::jumpqueue ;
@@ -109,8 +118,8 @@ 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),
- join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @what),
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @All),
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @what),
)) if $CPAN::DEBUG;
unless (defined $what[0]{reqtype}) {
# apparently it was not the Shell that sent us this enquiry,
@@ -119,7 +128,7 @@ sub jumpqueue {
}
my $inherit_reqtype = $what[0]{reqtype} =~ /^(c|r)$/ ? "r" : "b";
WHAT: for my $what_tuple (@what) {
- my($qmod,$reqtype) = @$what_tuple{qw(qmod reqtype)};
+ my($qmod,$reqtype,$optional) = @$what_tuple{qw(qmod reqtype optional)};
if ($reqtype eq "r"
&&
$inherit_reqtype eq "b"
@@ -138,12 +147,13 @@ sub jumpqueue {
CPAN->debug("qmod[$qmod]jumped[$jumped]") if $CPAN::DEBUG;
my $obj = "$class\::Item"->new(
qmod => $qmod,
- reqtype => $reqtype
+ reqtype => $reqtype,
+ optional => !! $optional,
);
unshift @All, $obj;
}
CPAN->debug(sprintf("after jumpqueue All[%s]",
- join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @All)
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @All)
)) if $CPAN::DEBUG;
}
@@ -162,7 +172,7 @@ sub delete {
@All = grep { $_->{qmod} ne $mod } @All;
CPAN->debug(sprintf("after delete mod[%s] All[%s]",
$mod,
- join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @All)
+ join("",map {sprintf " %s\[%s][%s]\n",$_->{qmod},$_->{reqtype},$_->{optional}} @All)
)) if $CPAN::DEBUG;
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
index 21441df653f..9e0bb14a2b8 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.5002";
+$VERSION = "5.5004";
# record the initial timestamp for reload.
$reload = { map {$INC{$_} ? ($_,(stat $INC{$_})[9]) : ()} @relo };
@CPAN::Shell::ISA = qw(CPAN::Debug);
@@ -206,7 +206,7 @@ sub a {
sub globls {
my($self,$s,$pragmas) = @_;
# ls is really very different, but we had it once as an ordinary
- # command in the Shell (upto rev. 321) and we could not handle
+ # command in the Shell (up to rev. 321) and we could not handle
# force well then
my(@accept,@preexpand);
if ($s =~ /[\*\?\/]/) {
@@ -604,7 +604,7 @@ sub _reload_this {
CPAN->debug("file[$file]") if $CPAN::DEBUG;
my @inc = @INC;
unless ($file && -f $file) {
- # this thingie is not in the INC path, maybe CPAN/MyConfig.pm?
+ # this thingy is not in the INC path, maybe CPAN/MyConfig.pm?
$file = $INC{$f};
unless (CPAN->has_inst("File::Basename")) {
@inc = File::Basename::dirname($file);
@@ -626,9 +626,12 @@ sub _reload_this {
if ($must_reload) {
my $fh = FileHandle->new($file) or
$CPAN::Frontend->mydie("Could not open $file: $!");
- local($/);
- local $^W = 1;
- my $content = <$fh>;
+ my $content;
+ {
+ local($/);
+ local $^W = 1;
+ $content = <$fh>;
+ }
CPAN->debug(sprintf("reload file[%s] content[%s...]",$file,substr($content,0,128)))
if $CPAN::DEBUG;
delete $INC{$f};
@@ -769,6 +772,201 @@ sub scripts {
}
}
+sub _guess_manpage {
+ my($self,$d,$contains,$dist) = @_;
+ $dist =~ s/-/::/g;
+ my $module;
+ if (exists $contains->{$dist}) {
+ $module = $dist;
+ } elsif (1 == keys %$contains) {
+ ($module) = keys %$contains;
+ }
+ my $manpage;
+ if ($module) {
+ my $m = $self->expand("Module",$module);
+ $m->as_string; # called for side-effects, shame
+ $manpage = $m->{MANPAGE};
+ } else {
+ $manpage = "unknown";
+ }
+ return $manpage;
+}
+
+#-> sub CPAN::Shell::_specfile ;
+sub _specfile {
+ my $self = shift;
+ my $distribution = shift;
+ unless ($CPAN::META->has_inst("CPAN::DistnameInfo")){
+ $CPAN::Frontend->mydie("CPAN::DistnameInfo not installed; cannot continue");
+ }
+ my $d = CPAN::Shell->expand("Distribution",$distribution)
+ or $CPAN::Frontend->mydie("Unknowns distribution '$distribution'\n");
+ my $build_dir = $d->{build_dir} or $CPAN::Frontend->mydie("Distribution has not been built yet, cannot proceed");
+ my %contains = map {($_ => undef)} $d->containsmods;
+ my @m;
+ my $width = 16;
+ my $header = sub {
+ my($header,$value) = @_;
+ push @m, sprintf("%-s:%*s%s\n", $header, $width-length($header), "", $value);
+ };
+ my $dni = CPAN::DistnameInfo->new($distribution);
+ my $dist = $dni->dist;
+ my $summary = $self->_guess_manpage($d,\%contains,$dist);
+ $header->("Name", "perl-$dist");
+ my $version = $dni->version;
+ $header->("Version", $version);
+ $header->("Release", "1%{?dist}");
+#Summary: Template processing system
+#Group: Development/Libraries
+#License: GPL+ or Artistic
+#URL: http://www.template-toolkit.org/
+#Source0: http://search.cpan.org/CPAN/authors/id/A/AB/ABW/Template-Toolkit-%{version}.tar.gz
+#Patch0: Template-2.22-SREZIC-01.patch
+#BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+ for my $h_tuple
+ ([Summary => $summary],
+ [Group => "Development/Libraries"],
+ [License =>],
+ [URL =>],
+ [BuildRoot => "%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)"],
+ [Requires => "perl(:MODULE_COMPAT_%(eval \"`%{__perl} -V:version`\"; echo \$version))"],
+ ) {
+ my($h,$v) = @$h_tuple;
+ $v = "unknown" unless defined $v;
+ $header->($h, $v);
+ }
+ $header->("Source0", sprintf(
+ "http://search.cpan.org/CPAN/authors/id/%s/%s/%s",
+ substr($distribution,0,1),
+ substr($distribution,0,2),
+ $distribution
+ ));
+ require POSIX;
+ my @xs = glob "$build_dir/*.xs"; # quick try
+ unless (@xs) {
+ require ExtUtils::Manifest;
+ my $manifest_file = "$build_dir/MANIFEST";
+ my $manifest = ExtUtils::Manifest::maniread($manifest_file);
+ @xs = grep /\.xs$/, keys %$manifest;
+ }
+ if (! @xs) {
+ $header->('BuildArch', 'noarch');
+ }
+ for my $k (sort keys %contains) {
+ my $m = CPAN::Shell->expand("Module",$k);
+ my $v = $contains{$k} = $m->cpan_version;
+ my $vspec = $v eq "undef" ? "" : " = $v";
+ $header->("Provides", "perl($k)$vspec");
+ }
+ if (my $prereq_pm = $d->{prereq_pm}) {
+ my %req;
+ for my $reqkey (keys %$prereq_pm) {
+ while (my($k,$v) = each %{$prereq_pm->{$reqkey}}) {
+ $req{$k} = $v;
+ }
+ }
+ if (-e "$build_dir/Build.PL" && ! exists $req{"Module::Build"}) {
+ $req{"Module::Build"} = 0;
+ }
+ for my $k (sort keys %req) {
+ next if $k eq "perl";
+ my $v = $req{$k};
+ my $vspec = defined $v && length $v && $v > 0 ? " >= $v" : "";
+ $header->(BuildRequires => "perl($k)$vspec");
+ next if $k =~ /^(Module::Build)$/; # MB is always only a
+ # BuildRequires; if we
+ # turn it into a
+ # Requires, then we
+ # would have to make it
+ # a BuildRequires
+ # everywhere we depend
+ # on *one* MB built
+ # module.
+ $header->(Requires => "perl($k)$vspec");
+ }
+ }
+ push @m, "\n%define _use_internal_dependency_generator 0
+%define __find_requires %{nil}
+%define __find_provides %{nil}
+";
+ push @m, "\n%description\n%{summary}.\n";
+ push @m, "\n%prep\n%setup -q -n $dist-%{version}\n";
+ if (-e "$build_dir/Build.PL") {
+ # see http://www.redhat.com/archives/rpm-list/2002-July/msg00110.html about RPM_BUILD_ROOT vs %{buildroot}
+ push @m, <<'EOF';
+
+%build
+%{__perl} Build.PL --installdirs=vendor --libdoc installvendorman3dir
+./Build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+./Build install destdir=$RPM_BUILD_ROOT create_packlist=0
+find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
+%{_fixperms} $RPM_BUILD_ROOT/*
+
+%check
+./Build test
+EOF
+ } elsif (-e "$build_dir/Makefile.PL") {
+ push @m, <<'EOF';
+
+%build
+%{__perl} Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make pure_install DESTDIR=$RPM_BUILD_ROOT
+find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
+find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null ';'
+%{_fixperms} $RPM_BUILD_ROOT/*
+
+%check
+make test
+EOF
+ } else {
+ $CPAN::Frontend->mydie("'$distribution' has neither a Build.PL nor a Makefile.PL\n");
+ }
+ push @m, "\n%clean\nrm -rf \$RPM_BUILD_ROOT\n";
+ my $vendorlib = @xs ? "vendorarch" : "vendorlib";
+ my $date = POSIX::strftime("%a %b %d %Y", gmtime);
+ my @doc = grep { -e "$build_dir/$_" } qw(README Changes);
+ my $exe_stanza = "\n";
+ if (my $exe_files = $d->_exe_files) {
+ if (@$exe_files) {
+ $exe_stanza = "%{_mandir}/man1/*.1*\n";
+ for my $e (@$exe_files) {
+ unless (CPAN->has_inst("File::Basename")) {
+ $CPAN::Frontend->mydie("File::Basename not installed, cannot continue");
+ }
+ my $basename = File::Basename::basename($e);
+ $exe_stanza .= "/usr/bin/$basename\n";
+ }
+ }
+ }
+ push @m, <<EOF;
+
+%files
+%defattr(-,root,root,-)
+%doc @doc
+%{perl_$vendorlib}/*
+%{_mandir}/man3/*.3*
+$exe_stanza
+%changelog
+* $date <akoenig\@specfile.cpan.org> - $version-1
+- autogenerated by _specfile() in CPAN.pm
+
+EOF
+
+ my $ret = join "", @m;
+ $CPAN::Frontend->myprint($ret);
+ open my $specout, ">", "perl-$dist.spec" or die;
+ print $specout $ret;
+ $CPAN::Frontend->myprint("Wrote perl-$dist.spec");
+ $ret;
+}
+
#-> sub CPAN::Shell::report ;
sub report {
my($self,@args) = @_;
@@ -1040,6 +1238,41 @@ sub u {
#-> sub CPAN::Shell::failed ;
sub failed {
my($self,$only_id,$silent) = @_;
+ my @failed = $self->find_failed($only_id);
+ my $scope;
+ if ($only_id) {
+ $scope = "this command";
+ } elsif ($CPAN::Index::HAVE_REANIMATED) {
+ $scope = "this or a previous session";
+ # it might be nice to have a section for previous session and
+ # a second for this
+ } else {
+ $scope = "this session";
+ }
+ if (@failed) {
+ my $print;
+ my $debug = 0;
+ if ($debug) {
+ $print = join "",
+ map { sprintf "%5d %-45s: %s %s\n", @$_ }
+ sort { $a->[0] <=> $b->[0] } @failed;
+ } else {
+ $print = join "",
+ map { sprintf " %-45s: %s %s\n", @$_[1..3] }
+ sort {
+ $a->[0] <=> $b->[0]
+ ||
+ $a->[4] <=> $b->[4]
+ } @failed;
+ }
+ $CPAN::Frontend->myprint("Failed during $scope:\n$print");
+ } elsif (!$only_id || !$silent) {
+ $CPAN::Frontend->myprint("Nothing failed in $scope\n");
+ }
+}
+
+sub find_failed {
+ my($self,$only_id) = @_;
my @failed;
DIST: for my $d ($CPAN::META->all_objects("CPAN::Distribution")) {
my $failed = "";
@@ -1072,6 +1305,10 @@ sub failed {
next DIST unless $failed;
my $id = $d->id;
$id =~ s|^./../||;
+ ### XXX need to flag optional modules as '(optional)' if they are
+ # from recommends/suggests -- i.e. *show* failure, but make it clear
+ # it was failure of optional module -- xdg, 2012-04-01
+ $id = "(optional) $id" if ! $d->{mandatory};
#$print .= sprintf(
# " %-45s: %s %s\n",
push @failed,
@@ -1083,6 +1320,7 @@ sub failed {
$failed,
$d->{$failed}->text,
$d->{$failed}{TIME}||0,
+ !! $d->{mandatory},
] :
[
1,
@@ -1090,39 +1328,16 @@ sub failed {
$failed,
$d->{$failed},
0,
+ !! $d->{mandatory},
]
);
}
- my $scope;
- if ($only_id) {
- $scope = "this command";
- } elsif ($CPAN::Index::HAVE_REANIMATED) {
- $scope = "this or a previous session";
- # it might be nice to have a section for previous session and
- # a second for this
- } else {
- $scope = "this session";
- }
- if (@failed) {
- my $print;
- my $debug = 0;
- if ($debug) {
- $print = join "",
- map { sprintf "%5d %-45s: %s %s\n", @$_ }
- sort { $a->[0] <=> $b->[0] } @failed;
- } else {
- $print = join "",
- map { sprintf " %-45s: %s %s\n", @$_[1..3] }
- sort {
- $a->[0] <=> $b->[0]
- ||
- $a->[4] <=> $b->[4]
- } @failed;
- }
- $CPAN::Frontend->myprint("Failed during $scope:\n$print");
- } elsif (!$only_id || !$silent) {
- $CPAN::Frontend->myprint("Nothing failed in $scope\n");
- }
+ return @failed;
+}
+
+sub mandatory_dist_failed {
+ my ($self) = @_;
+ return grep { $_->[5] } $self->find_failed($CPAN::CurrentCommandID);
}
# XXX intentionally undocumented because completely bogus, unportable,
@@ -1428,6 +1643,14 @@ sub format_result {
my $print_ornamented_have_warned = 0;
sub colorize_output {
my $colorize_output = $CPAN::Config->{colorize_output};
+ if ($colorize_output && $^O eq 'MSWin32' && !$CPAN::META->has_inst("Win32::Console::ANSI")) {
+ unless ($print_ornamented_have_warned++) {
+ # no myprint/mywarn within myprint/mywarn!
+ warn "Colorize_output is set to true but Win32::Console::ANSI is not
+installed. To activate colorized output, please install Win32::Console::ANSI.\n\n";
+ }
+ $colorize_output = 0;
+ }
if ($colorize_output && !$CPAN::META->has_inst("Term::ANSIColor")) {
unless ($print_ornamented_have_warned++) {
# no myprint/mywarn within myprint/mywarn!
@@ -1461,7 +1684,7 @@ sub print_ornamented {
}
if ($self->colorize_output) {
if ( $CPAN::DEBUG && $swhat =~ /^Debug\(/ ) {
- # if you want to have this configurable, please file a bugreport
+ # if you want to have this configurable, please file a bug report
$ornament = $CPAN::Config->{colorize_debug} || "black on_cyan";
}
my $color_on = eval { Term::ANSIColor::color($ornament) } || "";
@@ -1591,6 +1814,7 @@ sub unrecoverable_error {
#-> sub CPAN::Shell::mysleep ;
sub mysleep {
+ return if $ENV{AUTOMATED_TESTING} || ! -t STDOUT;
my($self, $sleep) = @_;
if (CPAN->has_inst("Time::HiRes")) {
Time::HiRes::sleep($sleep);
@@ -1700,7 +1924,7 @@ sub rematein {
}
}
}
- CPAN::Queue->queue_item(qmod => $obj->id, reqtype => "c");
+ CPAN::Queue->queue_item(qmod => $obj->id, reqtype => "c", optional => '');
push @qcopy, $obj;
} elsif ($CPAN::META->exists('CPAN::Author',uc($s))) {
$obj = $CPAN::META->instance('CPAN::Author',uc($s));
@@ -1738,6 +1962,7 @@ to find objects with matching identifiers.
my $obj;
my $s = $q->as_string;
my $reqtype = $q->reqtype || "";
+ my $optional = $q->optional || "";
$obj = CPAN::Shell->expandany($s);
unless ($obj) {
# don't know how this can happen, maybe we should panic,
@@ -1750,6 +1975,23 @@ to find objects with matching identifiers.
next QITEM;
}
$obj->{reqtype} ||= "";
+ my $type = ref $obj;
+ if ( $type eq 'CPAN::Distribution' || $type eq 'CPAN::Bundle' ) {
+ $obj->{mandatory} ||= ! $optional; # once mandatory, always mandatory
+ }
+ elsif ( $type eq 'CPAN::Module' ) {
+ $obj->{mandatory} ||= ! $optional; # once mandatory, always mandatory
+ if (my $d = $obj->distribution) {
+ $d->{mandatory} ||= ! $optional; # once mandatory, always mandatory
+ } elsif ($optional) {
+ # the queue object does not know who was recommending/suggesting us:(
+ # So we only vaguely write "optional".
+ $CPAN::Frontend->mywarn("Warning: optional module '$s' ".
+ "not known. Skipping.\n");
+ CPAN::Queue->delete_first($s);
+ next QITEM;
+ }
+ }
{
# force debugging because CPAN::SQLite somehow delivers us
# an empty object;
@@ -1812,11 +2054,18 @@ to find objects with matching identifiers.
}
CPAN->debug("Going to panic. meth[$meth]s[$s]") if $CPAN::DEBUG;
$CPAN::Frontend->mydie("Panic: obj[$serialized] cannot meth[$meth]");
- } elsif ($obj->$meth()) {
- CPAN::Queue->delete($s);
- CPAN->debug("From queue deleted. meth[$meth]s[$s]") if $CPAN::DEBUG;
} else {
- CPAN->debug("Failed. pragma[@pragma]meth[$meth]") if $CPAN::DEBUG;
+ my $upgraded_meth = $meth;
+ if ( $meth eq "make" and $obj->{reqtype} eq "b" ) {
+ # rt 86915
+ $upgraded_meth = "test";
+ }
+ if ($obj->$upgraded_meth()) {
+ CPAN::Queue->delete($s);
+ CPAN->debug("Succeeded and deleted from queue. pragma[@pragma]meth[$meth][s][$s]") if $CPAN::DEBUG;
+ } else {
+ CPAN->debug("Failed. pragma[@pragma]meth[$meth]s[$s]") if $CPAN::DEBUG;
+ }
}
$obj->undelay;
@@ -1826,10 +2075,14 @@ to find objects with matching identifiers.
$obj->$unpragma();
}
}
- if ($CPAN::Config->{halt_on_failure}
- &&
- CPAN::Distrostatus::something_has_just_failed()
- ) {
+ # if any failures occurred and the current object is mandatory, we
+ # still don't know if *it* failed or if it was another (optional)
+ # module, so we have to check that explicitly (and expensively)
+ if ( $CPAN::Config->{halt_on_failure}
+ && $obj->{mandatory}
+ && CPAN::Distrostatus::something_has_just_failed()
+ && $self->mandatory_dist_failed()
+ ) {
$CPAN::Frontend->mywarn("Stopping: '$meth' failed for '$s'.\n");
CPAN::Queue->nullify_queue;
last QITEM;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
index 708a5794f34..f585a01bf72 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw($VERSION @ISA $BUGHUNTING);
use CPAN::Debug;
use File::Basename qw(basename);
-$VERSION = "5.5011";
+$VERSION = "5.5012";
# module is internal to CPAN.pm
@ISA = qw(CPAN::Debug); ## no critic
@@ -73,6 +73,7 @@ sub gzip {
my $cwd = `pwd`;
my $gz = Compress::Zlib::gzopen($write, "wb")
or $CPAN::Frontend->mydie("Cannot gzopen $write: $! (pwd is $cwd)\n");
+ binmode($fhw);
$gz->gzwrite($buffer)
while read($fhw,$buffer,4096) > 0 ;
$gz->gzclose() ;
@@ -94,8 +95,9 @@ sub gunzip {
or $CPAN::Frontend->mydie("Could not open >$write: $!");
my $gz = Compress::Zlib::gzopen($read, "rb")
or $CPAN::Frontend->mydie("Cannot gzopen $read: $!\n");
+ binmode($fhw);
$fhw->print($buffer)
- while $gz->gzread($buffer) > 0 ;
+ while $gz->gzread($buffer) > 0 ;
$CPAN::Frontend->mydie("Error reading from $read: $!\n")
if $gz->gzerror != Compress::Zlib::Z_STREAM_END();
$gz->gzclose() ;
@@ -103,7 +105,7 @@ sub gunzip {
return 1;
} else {
my $command = CPAN::HandleConfig->safe_quote($self->{UNGZIPPRG});
- system(qq{$command -dc "$read" > "$write"})==0;
+ system(qq{$command -d -c "$read" > "$write"})==0;
}
}
@@ -188,7 +190,7 @@ sub TIEHANDLE {
$class->debug("via Compress::Zlib");
} else {
my $gzip = CPAN::HandleConfig->safe_quote($self->{UNGZIPPRG});
- my $pipe = "$gzip -dc $file |";
+ my $pipe = "$gzip -d -c $file |";
my $fh = FileHandle->new($pipe) or $CPAN::Frontend->mydie("Could not pipe[$pipe]: $!");
binmode $fh;
$self->{FH} = $fh;
@@ -322,7 +324,7 @@ Can't continue cutting file '$file'.
my $tarcommand = CPAN::HandleConfig->safe_quote($exttar);
if ($is_compressed) {
my $command = CPAN::HandleConfig->safe_quote($extgzip);
- $system = qq{$command -dc }.
+ $system = qq{$command -d -c }.
qq{< "$file" | $tarcommand x${tar_verb}f -};
} else {
$system = qq{$tarcommand x${tar_verb}f "$file"};
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Version.pm b/Master/tlpkg/tlperl/lib/CPAN/Version.pm
index 43aaa1ce911..fa75221d9da 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.5001";
+$VERSION = "5.5003";
# CPAN::Version::vcmp courtesy Jost Krieger
sub vcmp {
@@ -10,6 +10,10 @@ sub vcmp {
local($^W) = 0;
CPAN->debug("l[$l] r[$r]") if $CPAN::DEBUG;
+ # treat undef as zero
+ $l = 0 if $l eq 'undef';
+ $r = 0 if $r eq 'undef';
+
return 0 if $l eq $r; # short circuit for quicker success
for ($l,$r) {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS.pm b/Master/tlpkg/tlperl/lib/CPANPLUS.pm
deleted file mode 100644
index e0ff071b34c..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS.pm
+++ /dev/null
@@ -1,272 +0,0 @@
-package CPANPLUS;
-use deprecate;
-
-use strict;
-use Carp;
-
-use CPANPLUS::Error;
-use CPANPLUS::Backend;
-
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-BEGIN {
- use Exporter ();
- use vars qw( @EXPORT @ISA $VERSION );
- @EXPORT = qw( shell fetch get install );
- @ISA = qw( Exporter );
- $VERSION = "0.9135"; #have to hardcode or cpan.org gets unhappy
-}
-
-### purely for backward compatibility, so we can call it from the commandline:
-### perl -MCPANPLUS -e 'install Net::SMTP'
-sub install {
- my $cpan = CPANPLUS::Backend->new;
- my $mod = shift or (
- error(loc("No module specified!")), return
- );
-
- if ( ref $mod ) {
- error( loc( "You passed an object. Use %1 for OO style interaction",
- 'CPANPLUS::Backend' ));
- return;
-
- } else {
- my $obj = $cpan->module_tree($mod) or (
- error(loc("No such module '%1'", $mod)),
- return
- );
-
- my $ok = $obj->install;
-
- $ok
- ? msg(loc("Installing of %1 successful", $mod),1)
- : msg(loc("Installing of %1 failed", $mod),1);
-
- return $ok;
- }
-}
-
-### simply downloads a module and stores it
-sub fetch {
- my $cpan = CPANPLUS::Backend->new;
-
- my $mod = shift or (
- error(loc("No module specified!")), return
- );
-
- if ( ref $mod ) {
- error( loc( "You passed an object. Use %1 for OO style interaction",
- 'CPANPLUS::Backend' ));
- return;
-
- } else {
- my $obj = $cpan->module_tree($mod) or (
- error(loc("No such module '%1'", $mod)),
- return
- );
-
- my $ok = $obj->fetch( fetchdir => '.' );
-
- $ok
- ? msg(loc("Fetching of %1 successful", $mod),1)
- : msg(loc("Fetching of %1 failed", $mod),1);
-
- return $ok;
- }
-}
-
-### alias to fetch() due to compatibility with cpan.pm ###
-sub get { fetch(@_) }
-
-
-### purely for backwards compatibility, so we can call it from the commandline:
-### perl -MCPANPLUS -e 'shell'
-sub shell {
- my $option = shift;
-
- ### since the user can specify the type of shell they wish to start
- ### when they call the shell() function, we have to eval the usage
- ### of CPANPLUS::Shell so we can set up all the checks properly
- eval { require CPANPLUS::Shell; CPANPLUS::Shell->import($option) };
- die $@ if $@;
-
- my $cpan = CPANPLUS::Shell->new();
-
- $cpan->shell();
-}
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-CPANPLUS - API & CLI access to the CPAN mirrors
-
-=head1 SYNOPSIS
-
- ### standard invocation from the command line
- $ cpanp
- $ cpanp -i Some::Module
-
- $ 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
-collection of interactive shells, commandline programs, etc,
-that use this API.
-
-=head1 GUIDE TO DOCUMENTATION
-
-=head2 GENERAL USAGE
-
-This is the document you are currently reading. It describes
-basic usage and background information. Its main purpose is to
-assist the user who wants to learn how to invoke CPANPLUS
-and install modules from the commandline and to point you
-to more indepth reading if required.
-
-=head2 API REFERENCE
-
-The C<CPANPLUS> API is meant to let you programmatically
-interact with the C<CPAN> mirrors. The documentation in
-L<CPANPLUS::Backend> shows you how to create an object
-capable of interacting with those mirrors, letting you
-create & retrieve module objects.
-L<CPANPLUS::Module> shows you how you can use these module
-objects to perform actions like installing and testing.
-
-The default shell, documented in L<CPANPLUS::Shell::Default>
-is also scriptable. You can use its API to dispatch calls
-from your script to the CPANPLUS Shell.
-
-=cut
-
-=head1 COMMANDLINE TOOLS
-
-=head2 STARTING AN INTERACTIVE SHELL
-
-You can start an interactive shell by running either of
-the two following commands:
-
- $ cpanp
-
- $ perl -MCPANPLUS -eshell
-
-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
-the shell specified in your config, which defaults to
-L<CPANPLUS::Shell::Default>. There are more shells available.
-C<CPANPLUS> itself ships with an emulation shell called
-L<CPANPLUS::Shell::Classic> that looks and feels just like
-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
-configuration, that shell will be used instead. If for
-some reason there was an error with your specified shell,
-you will be given the default shell.
-
-=head2 BUILDING PACKAGES
-
-C<cpan2dist> is a commandline tool to convert any distribution
-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,
-C<CPANPLUS> rather than the full programmatic API situated in
-C<CPANPLUS::Backend>. This module offers the following functions:
-
-=head2 $bool = install( Module::Name | /A/AU/AUTHOR/Module-Name-1.tgz )
-
-This function requires the full name of the module, which is case
-sensitive. The module name can also be provided as a fully
-qualified file name, beginning with a I</>, relative to
-the /authors/id directory on a CPAN mirror.
-
-It will download, extract and install the module.
-
-=head2 $where = fetch( Module::Name | /A/AU/AUTHOR/Module-Name-1.tgz )
-
-Like install, fetch needs the full name of a module or the fully
-qualified file name, and is case sensitive.
-
-It will download the specified module to the current directory.
-
-=head2 $where = get( Module::Name | /A/AU/AUTHOR/Module-Name-1.tgz )
-
-Get is provided as an alias for fetch for compatibility with
-CPAN.pm.
-
-=head2 shell()
-
-Shell starts the default CPAN shell. You can also start the shell
-by using the C<cpanp> command, which will be installed in your
-perl bin.
-
-=head1 FAQ
-
-For frequently asked questions and answers, please consult the
-C<CPANPLUS::FAQ> manual.
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Default>, L<CPANPLUS::FAQ>, L<CPANPLUS::Backend>, L<CPANPLUS::Module>, L<cpanp>, L<cpan2dist>
-
-=head1 CONTACT INFORMATION
-
-=over 4
-
-=item * Bug reporting:
-I<bug-cpanplus@rt.cpan.org>
-
-=item * Questions & suggestions:
-I<bug-cpanplus@rt.cpan.org>
-
-=back
-
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
deleted file mode 100644
index 85559dc04ff..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
+++ /dev/null
@@ -1,1344 +0,0 @@
-package CPANPLUS::Backend;
-use deprecate;
-
-use strict;
-
-
-use CPANPLUS::Error;
-use CPANPLUS::Configure;
-use CPANPLUS::Internals;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Author;
-use CPANPLUS::Backend::RV;
-
-use FileHandle;
-use File::Spec ();
-use File::Spec::Unix ();
-use File::Basename ();
-use Params::Check qw[check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-$Params::Check::VERBOSE = 1;
-
-use vars qw[@ISA $VERSION];
-
-@ISA = qw[CPANPLUS::Internals];
-$VERSION = "0.9135";
-
-### mark that we're running under CPANPLUS to spawned processes
-$ENV{'PERL5_CPANPLUS_IS_RUNNING'} = $$;
-
-### XXX version.pm MAY format this version, if it's in use... :(
-### so for consistency, just call ->VERSION ourselves as well.
-$ENV{'PERL5_CPANPLUS_IS_VERSION'} = __PACKAGE__->VERSION;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Backend - programmer's interface to CPANPLUS
-
-=head1 SYNOPSIS
-
- my $cb = CPANPLUS::Backend->new;
- my $conf = $cb->configure_object;
-
- my $author = $cb->author_tree('KANE');
- my $mod = $cb->module_tree('Some::Module');
- my $mod = $cb->parse_module( module => 'Some::Module' );
-
- my @objs = $cb->search( type => TYPE,
- allow => [...] );
-
- $cb->flush('all');
- $cb->reload_indices;
- $cb->local_mirror;
-
-
-=head1 DESCRIPTION
-
-This module provides the programmer's interface to the C<CPANPLUS>
-libraries.
-
-=head1 ENVIRONMENT
-
-When C<CPANPLUS::Backend> is loaded, which is necessary for just
-about every <CPANPLUS> operation, the environment variable
-C<PERL5_CPANPLUS_IS_RUNNING> is set to the current process id.
-
-Additionally, the environment variable C<PERL5_CPANPLUS_IS_VERSION>
-will be set to the version of C<CPANPLUS::Backend>.
-
-This information might be useful somehow to spawned processes.
-
-=head1 METHODS
-
-=head2 $cb = CPANPLUS::Backend->new( [CONFIGURE_OBJ] )
-
-This method returns a new C<CPANPLUS::Backend> object.
-This also initialises the config corresponding to this object.
-You have two choices in this:
-
-=over 4
-
-=item Provide a valid C<CPANPLUS::Configure> object
-
-This will be used verbatim.
-
-=item No arguments
-
-Your default config will be loaded and used.
-
-=back
-
-New will return a C<CPANPLUS::Backend> object on success and die on
-failure.
-
-=cut
-
-sub new {
- my $class = shift;
- my $conf;
-
- if( $_[0] && IS_CONFOBJ->( conf => $_[0] ) ) {
- $conf = shift;
- } else {
- $conf = CPANPLUS::Configure->new() or return;
- }
-
- my $self = $class->SUPER::_init( _conf => $conf );
-
- return $self;
-}
-
-=pod
-
-=head2 $href = $cb->module_tree( [@modules_names_list] )
-
-Returns a reference to the CPANPLUS module tree.
-
-If you give it any arguments, they will be treated as module names
-and C<module_tree> will try to look up these module names and
-return the corresponding module objects instead.
-
-See L<CPANPLUS::Module> for the operations you can perform on a
-module object.
-
-=cut
-
-sub module_tree {
- my $self = shift;
- my $modtree = $self->_module_tree;
-
- if( @_ ) {
- my @rv;
- for my $name ( grep { defined } @_) {
-
- ### From John Malmberg: This is failing on VMS
- ### because ODS-2 does not retain the case of
- ### filenames that are created.
- ### The problem is the filename is being converted
- ### to a module name and then looked up in the
- ### %$modtree hash.
- ###
- ### As a fix, we do a search on VMS instead --
- ### more cpu cycles, but it gets around the case
- ### problem --kane
- my ($modobj) = do {
- ON_VMS
- ? $self->search(
- type => 'module',
- allow => [qr/^$name$/i],
- )
- : $modtree->{$name}
- };
-
- push @rv, $modobj || '';
- }
- return @rv == 1 ? $rv[0] : @rv;
- } else {
- return $modtree;
- }
-}
-
-=pod
-
-=head2 $href = $cb->author_tree( [@author_names_list] )
-
-Returns a reference to the CPANPLUS author tree.
-
-If you give it any arguments, they will be treated as author names
-and C<author_tree> will try to look up these author names and
-return the corresponding author objects instead.
-
-See L<CPANPLUS::Module::Author> for the operations you can perform on
-an author object.
-
-=cut
-
-sub author_tree {
- my $self = shift;
- my $authtree = $self->_author_tree;
-
- if( @_ ) {
- my @rv;
- for my $name (@_) {
- push @rv, $authtree->{$name} || '';
- }
- return @rv == 1 ? $rv[0] : @rv;
- } else {
- return $authtree;
- }
-}
-
-=pod
-
-=head2 $conf = $cb->configure_object;
-
-Returns a copy of the C<CPANPLUS::Configure> object.
-
-See L<CPANPLUS::Configure> for operations you can perform on a
-configure object.
-
-=cut
-
-sub configure_object { return shift->_conf() };
-
-=head2 $su = $cb->selfupdate_object;
-
-Returns a copy of the C<CPANPLUS::Selfupdate> object.
-
-See the L<CPANPLUS::Selfupdate> manpage for the operations
-you can perform on the selfupdate object.
-
-=cut
-
-sub selfupdate_object { return shift->_selfupdate() };
-
-=pod
-
-=head2 @mods = $cb->search( type => TYPE, allow => AREF, [data => AREF, verbose => BOOL] )
-
-C<search> enables you to search for either module or author objects,
-based on their data. The C<type> you can specify is any of the
-accessors specified in C<CPANPLUS::Module::Author> or
-C<CPANPLUS::Module>. C<search> will determine by the C<type> you
-specified whether to search by author object or module object.
-
-You have to specify an array reference of regular expressions or
-strings to match against. The rules used for this array ref are the
-same as in C<Params::Check>, so read that manpage for details.
-
-The search is an C<or> search, meaning that if C<any> of the criteria
-match, the search is considered to be successful.
-
-You can specify the result of a previous search as C<data> to limit
-the new search to these module or author objects, rather than the
-entire module or author tree. This is how you do C<and> searches.
-
-Returns a list of module or author objects on success and false
-on failure.
-
-See L<CPANPLUS::Module> for the operations you can perform on a
-module object.
-See L<CPANPLUS::Module::Author> for the operations you can perform on
-an author object.
-
-=cut
-
-sub search {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my ($type);
- my $args = do {
- local $Params::Check::NO_DUPLICATES = 0;
- local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- type => { required => 1, allow => [CPANPLUS::Module->accessors(),
- CPANPLUS::Module::Author->accessors()], store => \$type },
- allow => { required => 1, default => [ ], strict_type => 1 },
- };
-
- check( $tmpl, \%hash )
- } or return;
-
- ### figure out whether it was an author or a module search
- ### when ambiguous, it'll be an author search.
- my $aref;
- if( grep { $type eq $_ } CPANPLUS::Module::Author->accessors() ) {
- $aref = $self->_search_author_tree( %$args );
- } else {
- $aref = $self->_search_module_tree( %$args );
- }
-
- return @$aref if $aref;
- return;
-}
-
-=pod
-
-=head2 $backend_rv = $cb->fetch( modules => \@mods )
-
-Fetches a list of modules. C<@mods> can be a list of distribution
-names, module names or module objects--basically anything that
-L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=head2 $backend_rv = $cb->extract( modules => \@mods )
-
-Extracts a list of modules. C<@mods> can be a list of distribution
-names, module names or module objects--basically anything that
-L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=head2 $backend_rv = $cb->install( modules => \@mods )
-
-Installs a list of modules. C<@mods> can be a list of distribution
-names, module names or module objects--basically anything that
-L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=head2 $backend_rv = $cb->readme( modules => \@mods )
-
-Fetches the readme for a list of modules. C<@mods> can be a list of
-distribution names, module names or module objects--basically
-anything that L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=head2 $backend_rv = $cb->files( modules => \@mods )
-
-Returns a list of files used by these modules if they are installed.
-C<@mods> can be a list of distribution names, module names or module
-objects--basically anything that L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=head2 $backend_rv = $cb->distributions( modules => \@mods )
-
-Returns a list of module objects representing all releases for this
-module on success.
-C<@mods> can be a list of distribution names, module names or module
-objects, basically anything that L<parse_module> can understand.
-
-See the equivalent method in C<CPANPLUS::Module> for details on
-other options you can pass.
-
-Since this is a multi-module method call, the return value is
-implemented as a C<CPANPLUS::Backend::RV> object. Please consult
-that module's documentation on how to interpret the return value.
-
-=cut
-
-### XXX add direcotry_tree, packlist etc? or maybe remove files? ###
-for my $func (qw[fetch extract install readme files distributions]) {
- no strict 'refs';
-
- *$func = sub {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my ($mods);
- my $args = do {
- local $Params::Check::NO_DUPLICATES = 1;
- local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { default => [], strict_type => 1,
- required => 1, store => \$mods },
- };
-
- check( $tmpl, \%hash );
- } or return;
-
- ### make them all into module objects ###
- my %mods = map { $_ => $self->parse_module(module => $_) || '' } @$mods;
-
- my $flag; my $href;
- while( my($name,$obj) = each %mods ) {
- $href->{$name} = IS_MODOBJ->( mod => $obj )
- ? $obj->$func( %$args )
- : undef;
-
- $flag++ unless $href->{$name};
- }
-
- return CPANPLUS::Backend::RV->new(
- function => $func,
- ok => ( !$flag ? 1 : 0 ),
- rv => $href,
- args => \%hash,
- );
- }
-}
-
-=pod
-
-=head2 $mod_obj = $cb->parse_module( module => $modname|$distname|$modobj|URI|PATH )
-
-C<parse_module> tries to find a C<CPANPLUS::Module> object that
-matches your query. Here's a list of examples you could give to
-C<parse_module>;
-
-=over 4
-
-=item Text::Bastardize
-
-=item Text-Bastardize
-
-=item Text/Bastardize.pm
-
-=item Text-Bastardize-1.06
-
-=item AYRNIEU/Text-Bastardize
-
-=item AYRNIEU/Text-Bastardize-1.06
-
-=item AYRNIEU/Text-Bastardize-1.06.tar.gz
-
-=item http://example.com/Text-Bastardize-1.06.tar.gz
-
-=item file:///tmp/Text-Bastardize-1.06.tar.gz
-
-=item /tmp/Text-Bastardize-1.06
-
-=item ./Text-Bastardize-1.06
-
-=item .
-
-=back
-
-These items would all come up with a C<CPANPLUS::Module> object for
-C<Text::Bastardize>. The ones marked explicitly as being version 1.06
-would give back a C<CPANPLUS::Module> object of that version.
-Even if the version on CPAN is currently higher.
-
-The last three are examples of PATH resolution. In the first, we supply
-an absolute path to the unwrapped distribution. In the second the
-distribution is relative to the current working directory.
-In the third, we will use the current working directory.
-
-If C<parse_module> is unable to actually find the module you are looking
-for in its module tree, but you supplied it with an author, module
-and version part in a distribution name or URI, it will create a fake
-C<CPANPLUS::Module> object for you, that you can use just like the
-real thing.
-
-See L<CPANPLUS::Module> for the operations you can perform on a
-module object.
-
-If even this fancy guessing doesn't enable C<parse_module> to create
-a fake module object for you to use, it will warn about an error and
-return false.
-
-=cut
-
-sub parse_module {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $mod;
- my $tmpl = {
- module => { required => 1, store => \$mod },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- return $mod if IS_MODOBJ->( module => $mod );
-
- ### ok, so it's not a module object, but a ref nonetheless?
- ### what are you smoking?
- if( ref $mod ) {
- error(loc("Can not parse module string from reference '%1'", $mod ));
- return;
- }
-
- ### check only for allowed characters in a module name
- unless( $mod =~ /[^\w:]/ ) {
-
- ### perhaps we can find it in the module tree?
- my $maybe = $self->module_tree($mod);
- return $maybe if IS_MODOBJ->( module => $maybe );
- }
-
- ### 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, '..' ) );
-
- ### fix paths on VMS
- if (ON_VMS) {
- $dir = VMS::Filespec::unixify($dir);
- $parent = VMS::Filespec::unixify($parent);
- }
-
- my $dist = $mod = File::Basename::basename($dir);
- $dist .= '-0' unless $dist =~ /\-[0-9._]+$/;
- $dist .= '.tar.gz' unless $dist =~ /\.[A-Za-z]+$/;
-
- my $modobj = CPANPLUS::Module::Fake->new(
- module => $mod,
- version => 0,
- package => $dist,
- path => $parent,
- author => CPANPLUS::Module::Author::Fake->new
- );
-
- ### better guess for the version
- $modobj->version( $modobj->package_version )
- if defined $modobj->package_version;
-
- ### better guess at module name, if possible
- if ( my $pkgname = $modobj->package_name ) {
- $pkgname =~ s/-/::/g;
-
- ### no sense replacing it unless we changed something
- $modobj->module( $pkgname )
- if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
- }
-
- $modobj->status->fetch( $parent );
- $modobj->status->extract( $dir );
- $modobj->get_installer_type;
- return $modobj;
- }
-
- ### ok, so it looks like a distribution then?
- my @parts = split '/', $mod;
- my $dist = pop @parts;
-
- ### ah, it's a URL
- if( $mod =~ m|\w+://.+| ) {
- my $modobj = CPANPLUS::Module::Fake->new(
- module => $dist,
- version => 0,
- package => $dist,
- path => File::Spec::Unix->catdir(
- $conf->_get_mirror('base'),
- UNKNOWN_DL_LOCATION ),
- author => CPANPLUS::Module::Author::Fake->new
- );
-
- ### set the fetch_from accessor so we know to by pass the
- ### usual mirrors
- $modobj->status->_fetch_from( $mod );
-
- ### better guess for the version
- $modobj->version( $modobj->package_version )
- if defined $modobj->package_version;
-
- ### better guess at module name, if possible
- if ( my $pkgname = $modobj->package_name ) {
- $pkgname =~ s/-/::/g;
-
- ### no sense replacing it unless we changed something
- $modobj->module( $pkgname )
- if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
- }
-
- return $modobj;
- }
-
- # Stolen from cpanminus to support 'Module/Install.pm'
- # type input
- if ( ( my $tmpmod = $mod ) =~ s/\.pm$//i ) {
- my ($volume, $dirs, $file) = File::Spec->splitpath( $tmpmod );
- $tmpmod = join '::', grep { $_ } File::Spec->splitdir( $dirs ), $file;
- ### perhaps we can find it in the module tree?
- my $maybe = $self->module_tree( $tmpmod );
- return $maybe if IS_MODOBJ->( module => $maybe );
- }
-
- ### perhaps we can find it's a third party module?
- { my $modobj = CPANPLUS::Module::Fake->new(
- module => $mod,
- version => 0,
- package => $dist,
- path => File::Spec::Unix->catdir(
- $conf->_get_mirror('base'),
- UNKNOWN_DL_LOCATION ),
- author => CPANPLUS::Module::Author::Fake->new
- );
- if( $modobj->is_third_party ) {
- my $info = $modobj->third_party_information;
-
- $modobj->author->author( $info->{author} );
- $modobj->author->email( $info->{author_url} );
- $modobj->description( $info->{url} );
-
- return $modobj;
- }
- }
-
- unless( $dist ) {
- error( loc("%1 is not a proper distribution name!", $mod) );
- return;
- }
-
- ### there's wonky uris out there, like this:
- ### E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091
- ### compensate for that
- my $author;
- ### you probably have an A/AB/ABC/....../Dist.tgz type uri
- if( (defined $parts[0] and length $parts[0] == 1) and
- (defined $parts[1] and length $parts[1] == 2) and
- $parts[2] =~ /^$parts[0]/i and $parts[2] =~ /^$parts[1]/i
- ) {
- splice @parts, 0, 2; # remove the first 2 entries from the list
- $author = shift @parts; # this is the actual author name then
-
- ### we''ll assume a ABC/..../Dist.tgz
- } else {
- $author = shift @parts || '';
- }
-
- my($pkg, $version, $ext, $full) =
- $self->_split_package_string( package => $dist );
-
- ### translate a distribution into a module name ###
- my $guess = $pkg;
- $guess =~ s/-/::/g if $guess;
-
- my $maybe = $self->module_tree( $guess );
- if( IS_MODOBJ->( module => $maybe ) ) {
-
- ### maybe you asked for a package instead
- if ( $maybe->package eq $mod ) {
- return $maybe;
-
- ### perhaps an outdated version instead?
- } elsif ( $version ) {
- my $auth_obj; my $path;
-
- ### did you give us an author part? ###
- if( $author ) {
- $auth_obj = CPANPLUS::Module::Author::Fake->new(
- _id => $maybe->_id,
- cpanid => uc $author,
- author => uc $author,
- );
- $path = File::Spec::Unix->catdir(
- $conf->_get_mirror('base'),
- substr(uc $author, 0, 1),
- substr(uc $author, 0, 2),
- uc $author,
- @parts, #possible sub dirs
- );
- } else {
- $auth_obj = $maybe->author;
- $path = $maybe->path;
- }
-
- if( $maybe->package_name eq $pkg ) {
-
- my $modobj = CPANPLUS::Module::Fake->new(
- module => $maybe->module,
- version => $version,
- ### no extension? use the extension the original package
- ### had instead
- package => do { $ext
- ? $full
- : $full .'.'. $maybe->package_extension
- },
- path => $path,
- author => $auth_obj,
- _id => $maybe->_id
- );
- return $modobj;
-
- ### you asked for a specific version?
- ### assume our $maybe is the one you wanted,
- ### and fix up the version..
- } else {
-
- my $modobj = $maybe->clone;
- $modobj->version( $version );
- $modobj->package(
- $maybe->package_name .'-'.
- $version .'.'.
- $maybe->package_extension
- );
-
- ### you wanted a specific author, but it's not the one
- ### from the module tree? we'll fix it up
- if( $author and $author ne $modobj->author->cpanid ) {
- $modobj->author( $auth_obj );
- $modobj->path( $path );
- }
-
- return $modobj;
- }
-
- ### you didn't care about a version, so just return the object then
- } elsif ( !$version ) {
- return $maybe;
- }
-
- ### ok, so we can't find it, and it's not an outdated dist either
- ### perhaps we can fake one based on the author name and so on
- } elsif ( $author and $version ) {
-
- ### be extra friendly and pad the .tar.gz suffix where needed
- ### it's just a guess of course, but most dists are .tar.gz
- $dist .= '.tar.gz' unless $dist =~ /\.[A-Za-z]+$/;
-
- ### XXX duplication from above for generating author obj + path...
- my $modobj = CPANPLUS::Module::Fake->new(
- module => $guess,
- version => $version,
- package => $dist,
- author => CPANPLUS::Module::Author::Fake->new(
- author => uc $author,
- cpanid => uc $author,
- _id => $self->_id,
- ),
- path => File::Spec::Unix->catdir(
- $conf->_get_mirror('base'),
- substr(uc $author, 0, 1),
- substr(uc $author, 0, 2),
- uc $author,
- @parts, #possible subdirs
- ),
- _id => $self->_id,
- );
-
- return $modobj;
-
- ### face it, we have /no/ idea what he or she wants...
- ### let's start putting the blame somewhere
- } else {
-
- # Lets not give up too easily. There is one last chance
- # http://perlmonks.org/?node_id=805957
- # This should catch edge-cases where the package name
- # is unrelated to the modules it contains.
-
- my ($modobj) = grep { $_->package_name eq $mod }
- $self->search( type => 'package', allow => [ qr/^\Q$mod\E/ ], );
- return $modobj if IS_MODOBJ->( module => $modobj );
-
- unless( $author ) {
- error( loc( "'%1' does not contain an author part", $mod ) );
- }
-
- error( loc( "Cannot find '%1' in the module tree", $mod ) );
- }
-
- return;
-}
-
-=pod
-
-=head2 $bool = $cb->reload_indices( [update_source => BOOL, verbose => BOOL] );
-
-This method reloads the source files.
-
-If C<update_source> is set to true, this will fetch new source files
-from your CPAN mirror. Otherwise, C<reload_indices> will do its
-usual cache checking and only update them if they are out of date.
-
-By default, C<update_source> will be false.
-
-The verbose setting defaults to what you have specified in your
-config file.
-
-Returns true on success and false on failure.
-
-=cut
-
-sub reload_indices {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
- my $tmpl = {
- update_source => { default => 0, allow => [qr/^\d$/] },
- verbose => { default => $conf->get_conf('verbose') },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### make a call to the internal _module_tree, so it triggers cache
- ### file age
- my $uptodate = $self->_check_trees( %$args );
-
-
- return 1 if $self->_build_trees(
- uptodate => $uptodate,
- use_stored => 0,
- verbose => $conf->get_conf('verbose'),
- );
-
- error( loc( "Error rebuilding source trees!" ) );
-
- return;
-}
-
-=pod
-
-=head2 $bool = $cb->flush(CACHE_NAME)
-
-This method allows flushing of caches.
-There are several things which can be flushed:
-
-=over 4
-
-=item * C<methods>
-
-The return status of methods which have been attempted, such as
-different ways of fetching files. It is recommended that automatic
-flushing be used instead.
-
-=item * C<hosts>
-
-The return status of URIs which have been attempted, such as
-different hosts of fetching files. It is recommended that automatic
-flushing be used instead.
-
-=item * C<modules>
-
-Information about modules such as prerequisites and whether
-installation succeeded, failed, or was not attempted.
-
-=item * C<lib>
-
-This resets PERL5LIB, which is changed to ensure that while installing
-modules they are in our @INC.
-
-=item * C<load>
-
-This resets the cache of modules we've attempted to load, but failed.
-This enables you to load them again after a failed load, if they
-somehow have become available.
-
-=item * C<all>
-
-Flush all of the aforementioned caches.
-
-=back
-
-Returns true on success and false on failure.
-
-=cut
-
-sub flush {
- my $self = shift;
- my $type = shift or return;
-
- my $cache = {
- methods => [ qw( methods load ) ],
- hosts => [ qw( hosts ) ],
- modules => [ qw( modules lib) ],
- lib => [ qw( lib ) ],
- load => [ qw( load ) ],
- all => [ qw( hosts lib modules methods load ) ],
- };
-
- my $aref = $cache->{$type}
- or (
- error( loc("No such cache '%1'", $type) ),
- return
- );
-
- return $self->_flush( list => $aref );
-}
-
-=pod
-
-=head2 @mods = $cb->installed()
-
-Returns a list of module objects of all your installed modules.
-If an error occurs, it will return false.
-
-See L<CPANPLUS::Module> for the operations you can perform on a
-module object.
-
-=cut
-
-sub installed {
- my $self = shift;
- my $aref = $self->_all_installed;
-
- return @$aref if $aref;
- return;
-}
-
-=pod
-
-=head2 $bool = $cb->local_mirror([path => '/dir/to/save/to', index_files => BOOL, force => BOOL, verbose => BOOL] )
-
-Creates a local mirror of CPAN, of only the most recent sources in a
-location you specify. If you set this location equal to a custom host
-in your C<CPANPLUS::Config> you can use your local mirror to install
-from.
-
-It takes the following arguments:
-
-=over 4
-
-=item path
-
-The location where to create the local mirror.
-
-=item index_files
-
-Enable/disable fetching of index files. You can disable fetching of the
-index files if you don't plan to use the local mirror as your primary
-site, or if you'd like up-to-date index files be fetched from elsewhere.
-
-Defaults to true.
-
-=item force
-
-Forces refetching of packages, even if they are there already.
-
-Defaults to whatever setting you have in your C<CPANPLUS::Config>.
-
-=item verbose
-
-Prints more messages about what its doing.
-
-Defaults to whatever setting you have in your C<CPANPLUS::Config>.
-
-=back
-
-Returns true on success and false on error.
-
-=cut
-
-sub local_mirror {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($path, $index, $force, $verbose);
- my $tmpl = {
- path => { default => $conf->get_conf('base'),
- store => \$path },
- index_files => { default => 1, store => \$index },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
-
- unless( -d $path ) {
- $self->_mkdir( dir => $path )
- or( error( loc( "Could not create '%1', giving up", $path ) ),
- return
- );
- } elsif ( ! -w _ ) {
- error( loc( "Could not write to '%1', giving up", $path ) );
- return;
- }
-
- my $flag;
- AUTHOR: {
- for my $auth ( sort { $a->cpanid cmp $b->cpanid }
- values %{$self->author_tree}
- ) {
-
- MODULE: {
- my $i;
- for my $mod ( $auth->modules ) {
- my $fetchdir = File::Spec->catdir( $path, $mod->path );
-
- my %opts = (
- verbose => $verbose,
- force => $force,
- fetchdir => $fetchdir,
- );
-
- ### only do this the for the first module ###
- unless( $i++ ) {
- $mod->_get_checksums_file(
- %opts
- ) or (
- error( loc( "Could not fetch %1 file, " .
- "skipping author '%2'",
- CHECKSUMS, $auth->cpanid ) ),
- $flag++, next AUTHOR
- );
- }
-
- $mod->fetch( %opts )
- or( error( loc( "Could not fetch '%1'", $mod->module ) ),
- $flag++, next MODULE
- );
- } }
- } }
-
- if( $index ) {
- for my $name (qw[auth dslip mod]) {
- $self->_update_source(
- name => $name,
- verbose => $verbose,
- path => $path,
- ) or ( $flag++, next );
- }
- }
-
- return !$flag;
-}
-
-=pod
-
-=head2 $file = $cb->autobundle([path => OUTPUT_PATH, force => BOOL, verbose => BOOL])
-
-Writes out a snapshot of your current installation in C<CPAN> bundle
-style. This can then be used to install the same modules for a
-different or on a different machine by issuing the following commands:
-
- ### using the default shell:
- CPAN Terminal> i file://path/to/Snapshot_XXYY.pm
-
- ### using the API
- $modobj = $cb->parse_module( module => 'file://path/to/Snapshot_XXYY.pm' );
- $modobj->install;
-
-It will, by default, write to an 'autobundle' directory under your
-cpanplus homedirectory, but you can override that by supplying a
-C<path> argument.
-
-It will return the location of the output file on success and false on
-failure.
-
-=cut
-
-sub autobundle {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($path,$force,$verbose);
- my $tmpl = {
- force => { default => $conf->get_conf('force'), store => \$force },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- path => { default => File::Spec->catdir(
- $conf->get_conf('base'),
- $self->_perl_version( perl => $^X ),
- $conf->_get_build('distdir'),
- $conf->_get_build('autobundle') ),
- store => \$path },
- };
-
- check($tmpl, \%hash) or return;
-
- unless( -d $path ) {
- $self->_mkdir( dir => $path )
- or( error(loc("Could not create directory '%1'", $path ) ),
- return
- );
- }
-
- my $name; my $file;
- { ### default filename for the bundle ###
- my($year,$month,$day) = (localtime)[5,4,3];
- $year += 1900; $month++;
-
- my $ext = 0;
-
- my $prefix = $conf->_get_build('autobundle_prefix');
- my $format = "${prefix}_%04d_%02d_%02d_%02d";
-
- BLOCK: {
- $name = sprintf( $format, $year, $month, $day, $ext);
-
- $file = File::Spec->catfile( $path, $name . '.pm' );
-
- -f $file ? ++$ext && redo BLOCK : last BLOCK;
- }
- }
- my $fh;
- unless( $fh = FileHandle->new( ">$file" ) ) {
- error( loc( "Could not open '%1' for writing: %2", $file, $! ) );
- return;
- }
-
- ### make sure we load the module tree *before* doing this, as it
- ### starts to chdir all over the place
- $self->module_tree;
-
- my $string = join "\n\n",
- map {
- join ' ',
- $_->module,
- ($_->installed_version(verbose => 0) || 'undef')
- } sort {
- $a->module cmp $b->module
- } $self->installed;
-
- my $now = scalar localtime;
- my $head = '=head1';
- my $pkg = __PACKAGE__;
- my $version = $self->VERSION;
- my $perl_v = join '', `$^X -V`;
-
- print $fh <<EOF;
-package $name;
-
-\$VERSION = '0.01';
-
-1;
-
-__END__
-
-$head NAME
-
-$name - Snapshot of your installation at $now
-
-$head SYNOPSIS
-
-To install the modules from this snapshot, run:
-
- cpanp -i file://full/path/to/${name}.pm
-
-$head CONTENTS
-
-$string
-
-$head CONFIGURATION
-
-$perl_v
-
-$head AUTHOR
-
-This bundle has been generated autotomatically by
- $pkg $version
-
-EOF
-
- close $fh;
-
- return $file;
-}
-
-=head2 $bool = $cb->save_state
-
-Explicit command to save memory state to disk. This can be used to save
-information to disk about where a module was extracted, the result of
-C<make test>, etc. This will then be re-loaded into memory when a new
-session starts.
-
-The capability of saving state to disk depends on the source engine
-being used (See C<CPANPLUS::Config> for the option to choose your
-source engine). The default storage engine supports this option.
-
-Most users will not need this command, but it can handy for automated
-systems like setting up CPAN smoke testers.
-
-The method will return true if it managed to save the state to disk,
-or false if it did not.
-
-=cut
-
-sub save_state {
- my $self = shift;
- return $self->_save_state( @_ );
-}
-
-
-### XXX these wrappers are not individually tested! only the underlying
-### code through source.t and indirectly through he CustomSource plugin.
-
-=pod
-
-=head1 CUSTOM MODULE SOURCES
-
-Besides the sources as provided by the general C<CPAN> mirrors, it's
-possible to add your own sources list to your C<CPANPLUS> index.
-
-The methodology behind this works much like C<Debian's apt-sources>.
-
-The methods below show you how to make use of this functionality. Also
-note that most of these methods are available through the default shell
-plugin command C</cs>, making them available as shortcuts through the
-shell and via the commandline.
-
-=head2 %files = $cb->list_custom_sources
-
-Returns a mapping of registered custom sources and their local indices
-as follows:
-
- /full/path/to/local/index => http://remote/source
-
-Note that any file starting with an C<#> is being ignored.
-
-=cut
-
-sub list_custom_sources {
- return shift->__list_custom_module_sources( @_ );
-}
-
-=head2 $local_index = $cb->add_custom_source( uri => URI, [verbose => BOOL] );
-
-Adds an C<URI> to your own sources list and mirrors its index. See the
-documentation on C<< $cb->update_custom_source >> on how this is done.
-
-Returns the full path to the local index on success, or false on failure.
-
-Note that when adding a new C<URI>, the change to the in-memory tree is
-not saved until you rebuild or save the tree to disk again. You can do
-this using the C<< $cb->reload_indices >> method.
-
-=cut
-
-sub add_custom_source {
- return shift->_add_custom_module_source( @_ );
-}
-
-=head2 $local_index = $cb->remove_custom_source( uri => URI, [verbose => BOOL] );
-
-Removes an C<URI> from your own sources list and removes its index.
-
-To find out what C<URI>s you have as part of your own sources list, use
-the C<< $cb->list_custom_sources >> method.
-
-Returns the full path to the deleted local index file on success, or false
-on failure.
-
-=cut
-
-### XXX do clever dispatching based on arg number?
-sub remove_custom_source {
- return shift->_remove_custom_module_source( @_ );
-}
-
-=head2 $bool = $cb->update_custom_source( [remote => URI] );
-
-Updates the indexes for all your custom sources. It does this by fetching
-a file called C<packages.txt> in the root of the custom sources's C<URI>.
-If you provide the C<remote> argument, it will only update the index for
-that specific C<URI>.
-
-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://>,
-and similar, the administrator of that repository should run the method
-C<< $cb->write_custom_source_index >> on the repository to allow remote
-users to index it.
-
-For details, see the C<< $cb->write_custom_source_index >> method below.
-
-All packages that are added via this mechanism will be attributed to the
-author with C<CPANID> C<LOCAL>. You can use this id to search for all
-added packages.
-
-=cut
-
-sub update_custom_source {
- my $self = shift;
-
- ### if it mentions /remote/, the request is to update a single uri,
- ### not all the ones we have, so dispatch appropriately
- my $rv = grep( /remote/i, @_)
- ? $self->__update_custom_module_source( @_ )
- : $self->__update_custom_module_sources( @_ );
-
- return $rv;
-}
-
-=head2 $file = $cb->write_custom_source_index( path => /path/to/package/root, [to => /path/to/index/file, verbose => BOOL] );
-
-Writes the index for a custom repository root. Most users will not have to
-worry about this, but administrators of a repository will need to make sure
-their indexes are up to date.
-
-The index will be written to a file called C<packages.txt> in your repository
-root, which you can specify with the C<path> argument. You can override this
-location by specifying the C<to> argument, but in normal operation, that should
-not be required.
-
-Once the index file is written, users can then add the C<URI> pointing to
-the repository to their custom list of sources and start using it right away. See the C<< $cb->add_custom_source >> method for user details.
-
-=cut
-
-sub write_custom_source_index {
- return shift->__write_custom_module_index( @_ );
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>,
-L<CPANPLUS::Selfupdate>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
-__END__
-
-todo:
-sub dist { # not sure about this one -- probably already done
- enough in Module.pm
-sub reports { # in Module.pm, wrapper here
-
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
deleted file mode 100644
index e7310ee418c..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
+++ /dev/null
@@ -1,145 +0,0 @@
-package CPANPLUS::Backend::RV;
-use deprecate;
-
-use strict;
-use vars qw[$STRUCT $VERSION];
-$VERSION = "0.9135";
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use IPC::Cmd qw[can_run run];
-use Params::Check qw[check];
-
-use base 'Object::Accessor';
-
-local $Params::Check::VERBOSE = 1;
-
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Backend::RV - return value objects
-
-=head1 SYNOPSIS
-
- ### create a CPANPLUS::Backend::RV object
- $backend_rv = CPANPLUS::Backend::RV->new(
- ok => $boolean,
- args => $args,
- rv => $return_value
- function => $calling_function );
-
- ### if you have a CPANPLUS::Backend::RV object
- $passed_args = $backend_rv->args; # args passed to function
- $ok = $backend_rv->ok; # boolean indication overall
- # result of the call
- $function = $backend_rv->function # name of the calling
- # function
- $rv = $backend_rv->rv # the actual return value
- # of the calling function
-
-=head1 DESCRIPTION
-
-This module provides return value objects for multi-module
-calls to CPANPLUS::Backend. In boolean context, it returns the status
-of the overall result (ie, the same as the C<ok> method would).
-
-=head1 METHODS
-
-=head2 new( ok => BOOL, args => DATA, rv => DATA, [function => $method_name] )
-
-Creates a new CPANPLUS::Backend::RV object from the data provided.
-This method should only be called by CPANPLUS::Backend functions.
-The accessors may be used by users inspecting an RV object.
-
-All the argument names can be used as accessors later to retrieve the
-data.
-
-Arguments:
-
-=over 4
-
-=item ok
-
-Boolean indicating overall success
-
-=item args
-
-The arguments provided to the function that returned this rv object.
-Useful to inspect later to see what was actually passed to the function
-in case of an error.
-
-=item rv
-
-An arbitrary data structure that has the detailed return values of each
-of your multi-module calls.
-
-=item function
-
-The name of the function that created this rv object.
-Can be explicitly passed. If not, C<new()> will try to deduce the name
-from C<caller()> information.
-
-=back
-
-=cut
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- ok => { required => 1, allow => BOOLEANS },
- args => { required => 1 },
- rv => { required => 1 },
- function => { default => CALLING_FUNCTION->() },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
- my $self = bless {}, $class;
-
-# $self->mk_accessors( qw[ok args function rv] );
- $self->mk_accessors( keys %$tmpl );
-
- ### set the values passed in the struct ###
- while( my($key,$val) = each %$args ) {
- $self->$key( $val );
- }
-
- return $self;
-}
-
-sub _ok { return shift->ok }
-#sub _stringify { Carp::carp( "stringifying!" ); overload::StrVal( shift ) }
-
-### make it easier to check if($rv) { foo() }
-### this allows people to not have to explicitly say
-### if( $rv->ok ) { foo() }
-### XXX add an explicit stringify, so it doesn't fall back to "bool"? :(
-use overload bool => \&_ok,
-# '""' => \&_stringify,
- fallback => 1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=cut
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
deleted file mode 100644
index 26a056fe035..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
+++ /dev/null
@@ -1,834 +0,0 @@
-package CPANPLUS::Config;
-use deprecate;
-
-use strict;
-use warnings;
-
-use base 'Object::Accessor';
-use base 'CPANPLUS::Internals::Utils';
-
-use Config;
-use File::Spec;
-use Module::Load;
-use CPANPLUS;
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use File::Basename qw[dirname];
-use IPC::Cmd qw[can_run];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use Module::Load::Conditional qw[check_install];
-use version;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Config - configuration defaults and heuristics for CPANPLUS
-
-=head1 SYNOPSIS
-
- ### conf object via CPANPLUS::Backend;
- $cb = CPANPLUS::Backend->new;
- $conf = $cb->configure_object;
-
- ### or as a standalone object
- $conf = CPANPLUS::Configure->new;
-
- ### values in 'conf' section
- $verbose = $conf->get_conf( 'verbose' );
- $conf->set_conf( verbose => 1 );
-
- ### values in 'program' section
- $editor = $conf->get_program( 'editor' );
- $conf->set_program( editor => '/bin/vi' );
-
-=head1 DESCRIPTION
-
-This module contains defaults and heuristics for configuration
-information for CPANPLUS. To change any of these values, please
-see the documentation in C<CPANPLUS::Configure>.
-
-Below you'll find a list of configuration types and keys, and
-their meaning.
-
-=head1 CONFIGURATION
-
-=cut
-
-### BAH! you can't have POD interleaved with a hash
-### declaration.. so declare every entry separately :(
-my $Conf = {
- '_fetch' => {
- 'blacklist' => [ 'ftp' ],
- },
-
- ### _source, _build and _mirror are supposed to be static
- ### no changes should be needed unless pause/cpan changes
- '_source' => {
- 'hosts' => 'MIRRORED.BY',
- 'auth' => '01mailrc.txt.gz',
- 'stored' => 'sourcefiles',
- 'dslip' => '03modlist.data.gz',
- 'update' => '86400',
- 'mod' => '02packages.details.txt.gz',
- 'custom_index' => 'packages.txt',
- },
- '_build' => {
- 'plugins' => 'plugins',
- 'moddir' => 'build',
- 'startdir' => '',
- 'distdir' => 'dist',
- 'autobundle' => 'autobundle',
- 'autobundle_prefix' => 'Snapshot',
- 'autdir' => 'authors',
- 'install_log_dir' => 'install-logs',
- 'custom_sources' => 'custom-sources',
- 'sanity_check' => 1,
- },
- '_mirror' => {
- 'base' => 'authors/id/',
- 'auth' => 'authors/01mailrc.txt.gz',
- 'dslip' => 'modules/03modlist.data.gz',
- 'mod' => 'modules/02packages.details.txt.gz'
- },
-};
-
-=head2 Section 'conf'
-
-=over 4
-
-=item hosts
-
-An array ref containing hosts entries to be queried for packages.
-
-An example entry would like this:
-
- { 'scheme' => 'ftp',
- 'path' => '/pub/CPAN/',
- 'host' => 'ftp.cpan.org'
- },
-
-=cut
-
- ### default host list
- $Conf->{'conf'}->{'hosts'} = [
- {
- 'scheme' => 'ftp',
- 'path' => '/pub/CPAN/',
- 'host' => 'ftp.cpan.org'
- },
- {
- 'scheme' => 'http',
- 'path' => '/',
- 'host' => 'www.cpan.org'
- },
- {
- 'scheme' => 'ftp',
- 'path' => '/',
- 'host' => 'cpan.hexten.net'
- },
- {
- 'scheme' => 'ftp',
- 'path' => '/CPAN/',
- 'host' => 'cpan.cpantesters.org'
- },
- {
- 'scheme' => 'ftp',
- 'path' => '/pub/languages/perl/CPAN/',
- 'host' => 'ftp.funet.fi'
- }
- ];
-
-=item allow_build_interactivity
-
-Boolean flag to indicate whether 'perl Makefile.PL' and similar
-are run interactively or not. Defaults to 'true'.
-
-=cut
-
- $Conf->{'conf'}->{'allow_build_interactivity'} = 1;
-
-=item allow_unknown_prereqs
-
-Boolean flag to indicate that unresolvable prereqs are acceptable.
-If C<true> then only warnings will be issued (the behaviour before 0.9114)
-when a module is unresolvable from any our sources (CPAN and/or
-C<custom_sources>). If C<false> then an unresolvable prereq will fail
-during the C<prepare> stage of distribution installation.
-Defaults to C<true>.
-
-=cut
-
- $Conf->{'conf'}->{'allow_unknown_prereqs'} = 1;
-
-=item base
-
-The directory CPANPLUS keeps all its build and state information in.
-Defaults to ~/.cpanplus. If L<File::HomeDir> is available, that will
-be used to work out your C<HOME> directory. This may be overriden by
-setting the C<PERL5_CPANPLUS_HOME> environment variable, see
-L<CPANPLUS::Config::HomeEnv> for more details.
-
-=cut
-
- $Conf->{'conf'}->{'base'} = File::Spec->catdir(
- __PACKAGE__->_home_dir, DOT_CPANPLUS );
-
-=item buildflags
-
-Any flags to be passed to 'perl Build.PL'. See C<perldoc Module::Build>
-for details. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'buildflags'} = '';
-
-=item cpantest
-
-Boolean flag to indicate whether or not to mail test results of module
-installations to C<http://testers.cpan.org>. Defaults to 'false'.
-
-=cut
-
- $Conf->{'conf'}->{'cpantest'} = 0;
-
-=item cpantest_mx
-
-String holding an explicit mailserver to use when sending out emails
-for C<http://testers.cpan.org>. An empty string will use your system
-settings. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'cpantest_mx'} = '';
-
-=item debug
-
-Boolean flag to enable or disable extensive debuggging information.
-Defaults to 'false'.
-
-=cut
-
- $Conf->{'conf'}->{'debug'} = 0;
-
-=item dist_type
-
-Default distribution type to use when building packages. See C<cpan2dist>
-or C<CPANPLUS::Dist> for details. An empty string will not use any
-package building software. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'dist_type'} = '';
-
-=item email
-
-Email address to use for anonymous ftp access and as C<from> address
-when sending emails. Defaults to an C<example.com> address.
-
-=cut
-
- $Conf->{'conf'}->{'email'} = DEFAULT_EMAIL;
-
-=item enable_custom_sources
-
-Boolean flag indicating whether custom sources should be enabled or
-not. See the C<CUSTOM MODULE SOURCES> in C<CPANPLUS::Backend> for
-details on how to use them.
-
-Defaults to C<true>
-
-=cut
-
- ### this addresses #32248 which requests a possibility to
- ### turn off custom sources
- $Conf->{'conf'}->{'enable_custom_sources'} = 1;
-
-=item extractdir
-
-String containing the directory where fetched archives should be
-extracted. An empty string will use a directory under your C<base>
-directory. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'extractdir'} = '';
-
-=item fetchdir
-
-String containing the directory where fetched archives should be
-stored. An empty string will use a directory under your C<base>
-directory. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'fetchdir'} = '';
-
-=item flush
-
-Boolean indicating whether build failures, cache dirs etc should
-be flushed after every operation or not. Defaults to 'true'.
-
-=cut
-
- $Conf->{'conf'}->{'flush'} = 1;
-
-=item force
-
-Boolean indicating whether files should be forcefully overwritten
-if they exist, modules should be installed when they fail tests,
-etc. Defaults to 'false'.
-
-=cut
-
- $Conf->{'conf'}->{'force'} = 0;
-
-=item histfile
-
-A string containing the history filename of the CPANPLUS readline instance.
-
-=cut
-
- $Conf->{'conf'}->{'histfile'} = File::Spec->catdir(
- __PACKAGE__->_home_dir, DOT_CPANPLUS, 'history' );
-
-=item lib
-
-An array ref holding directories to be added to C<@INC> when CPANPLUS
-starts up. Defaults to an empty array reference.
-
-=cut
-
- $Conf->{'conf'}->{'lib'} = [];
-
-=item makeflags
-
-A string holding flags that will be passed to the C<make> program
-when invoked. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'makeflags'} = '';
-
-=item makemakerflags
-
-A string holding flags that will be passed to C<perl Makefile.PL>
-when invoked. Defaults to an empty string.
-
-=cut
-
- $Conf->{'conf'}->{'makemakerflags'} = '';
-
-=item 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::SHA' ) ? 1 : 0 );
-
-=item no_update
-
-A boolean indicating whether or not C<CPANPLUS>' source files should be
-updated or not. Defaults to 'false'.
-
-=cut
-
- $Conf->{'conf'}->{'no_update'} = 0;
-
-=item passive
-
-A boolean indicating whether or not to use passive ftp connections.
-Defaults to 'true'.
-
-=cut
-
- $Conf->{'conf'}->{'passive'} = 1;
-
-=item prefer_bin
-
-A boolean indicating whether or not to prefer command line programs
-over perl modules. Defaults to 'false' unless you do not have
-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'} =
- (eval {require Compress::Zlib; 1} ? 0 : 1 );
-
-=item prefer_makefile
-
-A boolean indicating whether or not prefer a C<Makefile.PL> over a
-C<Build.PL> file if both are present. Defaults to 'true', unless
-the perl version is at least 5.10.1 or appropriate versions of L<Module::Build>
-and L<CPANPLUS::Dist::Build> are available.
-
-=cut
-
- $Conf->{'conf'}->{'prefer_makefile'} =
- ( $] >= 5.010001 or
- ( check_install( module => 'Module::Build', version => '0.32' ) and
- check_install( module => INSTALLER_BUILD, version => '0.60' ) )
- ? 0 : 1 );
-
-=item prereqs
-
-A digit indicating what to do when a package you are installing has a
-prerequisite. Options are:
-
- 0 Do not install
- 1 Install
- 2 Ask
- 3 Ignore (dangerous, install will probably fail!)
-
-The default is to ask.
-
-=cut
-
- $Conf->{'conf'}->{'prereqs'} = PREREQ_ASK;
-
-=item shell
-
-A string holding the shell class you wish to start up when starting
-C<CPANPLUS> in interactive mode.
-
-Defaults to C<CPANPLUS::Shell::Default>, the default CPANPLUS shell.
-
-=cut
-
- $Conf->{'conf'}->{'shell'} = 'CPANPLUS::Shell::Default';
-
-=item show_startup_tip
-
-A boolean indicating whether or not to show start up tips in the
-interactive shell. Defaults to 'true'.
-
-=cut
-
- $Conf->{'conf'}->{'show_startup_tip'} = 1;
-
-=item signature
-
-A boolean indicating whether or not check signatures if packages are
-signed. Defaults to 'true' if you have C<gpg> or C<Crypt::OpenPGP>
-installed, 'false' otherwise.
-
-=cut
-
- $Conf->{'conf'}->{'signature'} = do {
- check_install( module => 'Module::Signature', version => '0.06' )
- and ( can_run('gpg') ||
- check_install(module => 'Crypt::OpenPGP')
- );
- } ? 1 : 0;
-
-=item skiptest
-
-A boolean indicating whether or not to skip tests when installing modules.
-Defaults to 'false'.
-
-=cut
-
- $Conf->{'conf'}->{'skiptest'} = 0;
-
-=item storable
-
-A boolean indicating whether or not to use C<Storable> to write compiled
-source file information to disk. This makes for faster startup and look
-up times, but takes extra diskspace. Defaults to 'true' if you have
-C<Storable> installed and 'false' if you don't.
-
-=cut
-
- $Conf->{'conf'}->{'storable'} =
- ( check_install( module => 'Storable' ) ? 1 : 0 );
-
-=item timeout
-
-Digit indicating the time before a fetch request times out (in seconds).
-Defaults to 300.
-
-=cut
-
- $Conf->{'conf'}->{'timeout'} = 300;
-
-=item verbose
-
-A boolean indicating whether or not C<CPANPLUS> runs in verbose mode.
-Defaults to 'true' if you have the environment variable
-C<PERL5_CPANPLUS_VERBOSE> set to true, 'false' otherwise.
-
-It is recommended you run with verbose enabled, but it is disabled
-for historical reasons.
-
-=cut
-
- $Conf->{'conf'}->{'verbose'} = $ENV{PERL5_CPANPLUS_VERBOSE} || 0;
-
-=item write_install_log
-
-A boolean indicating whether or not to write install logs after installing
-a module using the interactive shell. Defaults to 'true'.
-
-
-=cut
-
- $Conf->{'conf'}->{'write_install_logs'} = 1;
-
-=item source_engine
-
-Class to use as the source engine, which is generally a subclass of
-C<CPANPLUS::Internals::Source>. Default to C<CPANPLUS::Internals::Source::Memory>.
-
-=cut
-
- $Conf->{'conf'}->{'source_engine'} = DEFAULT_SOURCE_ENGINE;
-
-=item cpantest_reporter_args
-
-A hashref of key => value pairs that are passed to the constructor
-of C<Test::Reporter>. If you'd want to enable TLS for example, you'd
-set it to:
-
- { transport => 'Net::SMTP::TLS',
- transport_args => [ User => 'Joe', Password => '123' ],
- }
-
-=cut
-
- $Conf->{'conf'}->{'cpantest_reporter_args'} = {};
-
-=back
-
-=head2 Section 'program'
-
-=cut
-
- ### Paths get stripped of whitespace on win32 in the constructor
- ### sudo gets emptied if there's no need for it in the constructor
-
-=over 4
-
-=item editor
-
-A string holding the path to your editor of choice. Defaults to your
-$ENV{EDITOR}, $ENV{VISUAL}, 'vi' or 'pico' programs, in that order.
-
-=cut
-
- $Conf->{'program'}->{'editor'} = do {
- $ENV{'EDITOR'} || $ENV{'VISUAL'} ||
- can_run('vi') || can_run('pico')
- };
-
-=item make
-
-A string holding the path to your C<make> binary. Looks for the C<make>
-program used to build perl or failing that, a C<make> in your path.
-
-=cut
-
- $Conf->{'program'}->{'make'} =
- can_run($Config{'make'}) || can_run('make');
-
-=item pager
-
-A string holding the path to your pager of choice. Defaults to your
-$ENV{PAGER}, 'less' or 'more' programs, in that order.
-
-=cut
-
- $Conf->{'program'}->{'pager'} =
- $ENV{'PAGER'} || can_run('less') || can_run('more');
-
- ### no one uses this feature anyway, and it's only working for EU::MM
- ### and not for module::build
- #'perl' => '',
-
-=item shell
-
-A string holding the path to your login shell of choice. Defaults to your
-$ENV{SHELL} setting, or $ENV{COMSPEC} on Windows.
-
-=cut
-
- $Conf->{'program'}->{'shell'} = $^O eq 'MSWin32'
- ? $ENV{COMSPEC}
- : $ENV{SHELL};
-
-=item sudo
-
-A string holding the path to your C<sudo> binary if your install path
-requires super user permissions. Looks for C<sudo> in your path, or
-remains empty if you do not require super user permissions to install.
-
-=cut
-
- $Conf->{'program'}->{'sudo'} = do {
- ### let's assume you dont need sudo,
- ### unless one of the below criteria tells us otherwise
- my $sudo = undef;
-
- ### you're a normal user, you might need sudo
- if( $> ) {
-
- ### check for all install dirs!
- ### you have write permissions to the installdir,
- ### you don't need sudo
- if( -w $Config{'installsitelib'} && -w $Config{'installsitebin'} ) {
-
- ### installsiteman3dir is a 5.8'ism.. don't check
- ### it on 5.6.x...
- if( defined $Config{'installsiteman3dir'} ) {
- $sudo = -w $Config{'installsiteman3dir'}
- ? undef
- : can_run('sudo');
- } else {
- $sudo = undef;
- }
-
- ### you have PERL_MM_OPT set to some alternate
- ### install place. You probably have write permissions
- ### to that
- } elsif ( $ENV{'PERL_MM_OPT'} and
- $ENV{'PERL_MM_OPT'} =~ /INSTALL|LIB|PREFIX/
- ) {
- $sudo = undef;
-
- ### you probably don't have write permissions
- } else {
- $sudo = can_run('sudo');
- }
- }
-
- ### and return the value
- $sudo;
- };
-
-=item perlwrapper
-
-B<DEPRECATED>
-
-A string holding the path to the C<cpanp-run-perl> utility bundled
-with CPANPLUS, which is used to enable autoflushing in spawned processes.
-
-=cut
-
- ### perlwrapper that allows us to turn on autoflushing
- $Conf->{'program'}->{'perlwrapper'} = sub {
- my $name = 'cpanp-run-perl';
-
- my @bins = do{
- require Config;
- my $ver = $Config::Config{version};
-
- ### if we are running with 'versiononly' enabled,
- ### all binaries will have the perlversion appended
- ### ie, cpanp will become cpanp5.9.5
- ### so prefer the versioned binary in that case
- $Config::Config{versiononly}
- ? ($name.$ver, $name)
- : ($name, $name.$ver);
- };
-
- ### patch from Steve Hay Fri 29 Jun 2007 14:26:02 GMT+02:00
- ### Msg-Id: <4684FA5A.7030506@uk.radan.com>
- ### look for files with a ".bat" extension as well on Win32
- @bins = map { $_, "$_.bat" } @bins if $^O eq 'MSWin32';
-
- my $path;
- BIN: for my $bin (@bins) {
-
- ### parallel to your cpanp/cpanp-boxed
- my $maybe = File::Spec->rel2abs(
- File::Spec->catfile( dirname($0), $bin )
- );
- $path = $maybe and last BIN if -f $maybe;
-
- ### parallel to your CPANPLUS.pm:
- ### $INC{cpanplus}/../bin/cpanp-run-perl
- $maybe = File::Spec->rel2abs(
- File::Spec->catfile(
- dirname($INC{'CPANPLUS.pm'}),
- '..', # lib dir
- 'bin', # bin dir
- $bin, # script
- )
- );
- $path = $maybe and last BIN if -f $maybe;
-
- ### you installed CPANPLUS in a custom prefix,
- ### 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
- $maybe = File::Spec->rel2abs(
- File::Spec->catfile(
- dirname( $INC{'CPANPLUS.pm'} ),
- '..', '..', '..', '..', # 4x updir
- 'bin', # bin dir
- $bin, # script
- )
- );
- $path = $maybe and last BIN if -f $maybe;
-
- ### in your path -- take this one last, the
- ### previous two assume extracted tarballs
- ### or user installs
- ### note that we don't use 'can_run' as it's
- ### not an executable, just a wrapper...
- ### prefer anything that's found in the path paralel to your $^X
- for my $dir (File::Spec->rel2abs( dirname($^X) ),
- split(/\Q$Config::Config{path_sep}\E/, $ENV{PATH}),
- File::Spec->curdir,
- ) {
-
- ### On VMS the path could be in UNIX format, and we
- ### currently need it to be in VMS format
- $dir = VMS::Filespec::vmspath($dir) if ON_VMS;
-
- $maybe = File::Spec->catfile( $dir, $bin );
- $path = $maybe and last BIN if -f $maybe;
- }
- }
-
- ### we should have a $path by now ideally, if so return it
- return $path if defined $path;
-
- ### CPANPLUS::Dist::MM doesn't require this anymore
- ### but CPANPLUS::Dist::Build might if it is less than 0.60
- my $cpdb = check_install( module => INSTALLER_BUILD );
- return '' unless
- $cpdb and eval { version->parse($cpdb->{version}) < version->parse('0.60') };
-
- ### if not, warn about it and give sensible default.
- ### XXX try to be a no-op instead then..
- ### cross your fingers...
- ### pass '-P' to perl: "run program through C
- ### preprocessor before compilation"
- ### XXX using -P actually changes the way some Makefile.PLs
- ### are executed, so don't do that... --kane
- error(loc(
- "Could not find the '%1' binary in your path".
- "--this may be a problem.\n".
- "Please locate this program and set ".
- "your '%2' config entry to its path.\n".
- "From the default shell, you can do this by typing:\n\n".
- " %3\n".
- " %4\n",
- $name, 'perlwrapper',
- 's program perlwrapper FULL_PATH_TO_CPANP_RUN_PERL',
- 's save'
- ));
- return '';
- }->();
-
-=back
-
-=cut
-
-sub new {
- my $class = shift;
- my $obj = $class->SUPER::new;
-
- $obj->mk_accessors( keys %$Conf );
-
- for my $acc ( keys %$Conf ) {
- my $subobj = Object::Accessor->new;
- $subobj->mk_accessors( keys %{$Conf->{$acc}} );
-
- ### read in all the settings from the sub accessors;
- for my $subacc ( $subobj->ls_accessors ) {
- $subobj->$subacc( $Conf->{$acc}->{$subacc} );
- }
-
- ### now store it in the parent object
- $obj->$acc( $subobj );
- }
-
- $obj->_clean_up_paths;
-
- ### shut up IPC::Cmd warning about not findin IPC::Run on win32
- $IPC::Cmd::WARN = 0;
-
- return $obj;
-}
-
-sub _clean_up_paths {
- my $self = shift;
-
- ### clean up paths if we are on win32
- if( $^O eq 'MSWin32' ) {
- for my $pgm ( $self->program->ls_accessors ) {
- my $path = $self->program->$pgm;
-
- ### paths with whitespace needs to be shortened
- ### for shell outs.
- if ($path and $path =~ /\s+/) {
- my($prog, $args);
-
- ### patch from Steve Hay, 13nd of June 2007
- ### msg-id: <467012A4.6060705@uk.radan.com>
- ### windows directories are not allowed to end with
- ### a space, so any occurrence of '\w\s+/\w+' means
- ### we're dealing with arguments, not directory
- ### names.
- if ($path =~ /^(.*?)(\s+\/.*$)/) {
- ($prog, $args) = ($1, $2);
-
- ### otherwise, there are no arguments
- } else {
- ($prog, $args) = ($path, '');
- }
-
- $prog = Win32::GetShortPathName( $prog );
- $self->program->$pgm( $prog . $args );
- }
- }
- }
-
- return 1;
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Backend>, L<CPANPLUS::Configure::Setup>, L<CPANPLUS::Configure>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Config/HomeEnv.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Config/HomeEnv.pm
deleted file mode 100755
index 90703a066de..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Config/HomeEnv.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-package CPANPLUS::Config::HomeEnv;
-use deprecate;
-
-use strict;
-use File::Spec;
-use vars qw($VERSION);
-
-$VERSION = "0.9135";
-
-sub setup {
- my $conf = shift;
- $conf->set_conf( base => File::Spec->catdir( $ENV{PERL5_CPANPLUS_HOME}, '.cpanplus' ) )
- if $ENV{PERL5_CPANPLUS_HOME};
- return 1;
-}
-
-qq'Wherever I hang my hat is home';
-
-__END__
-
-=head1 NAME
-
-CPANPLUS::Config::HomeEnv - Set the environment for the CPANPLUS base dir
-
-=head1 SYNOPSIS
-
- export PERL5_CPANPLUS_HOME=/home/moo/perls/conf/perl-5.8.9/
-
-=head1 DESCRIPTION
-
-CPANPLUS::Config::HomeEnv is a L<CPANPLUS::Config> file that allows the CPANPLUS user to
-specify where L<CPANPLUS> gets its configuration from.
-
-Setting the environment variable C<PERL5_CPANPLUS_HOME> to a path location, determines
-where the C<.cpanplus> directory will be located.
-
-=head1 METHODS
-
-=over
-
-=item C<setup>
-
-Called by L<CPANPLUS::Configure>.
-
-=back
-
-=head1 AUTHOR
-
-Chris C<BinGOs> Williams <chris@bingosnet.co.uk>
-
-Contributions and patience from Jos Boumans the L<CPANPLUS> guy!
-
-=head1 LICENSE
-
-Copyright E<copy> Chris Williams and Jos Boumans.
-
-This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.
-
-=head1 SEE ALSO
-
-L<CPANPLUS>
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
deleted file mode 100644
index 1abf759ef74..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
+++ /dev/null
@@ -1,637 +0,0 @@
-package CPANPLUS::Configure;
-use deprecate;
-use strict;
-
-
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Error;
-use CPANPLUS::Config;
-
-use Log::Message;
-use Module::Load qw[load];
-use Params::Check qw[check];
-use File::Basename qw[dirname];
-use Module::Loaded ();
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$AUTOLOAD $VERSION $MIN_CONFIG_VERSION];
-use base qw[CPANPLUS::Internals::Utils];
-
-local $Params::Check::VERBOSE = 1;
-
-### require, avoid circular use ###
-require CPANPLUS::Internals;
-$VERSION = "0.9135";
-
-### can't use O::A as we're using our own AUTOLOAD to get to
-### the config options.
-for my $meth ( qw[conf _lib _perl5lib]) {
- no strict 'refs';
-
- *$meth = sub {
- my $self = shift;
- $self->{'_'.$meth} = $_[0] if @_;
- return $self->{'_'.$meth};
- }
-}
-
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Configure - configuration for CPANPLUS
-
-=head1 SYNOPSIS
-
- $conf = CPANPLUS::Configure->new( );
-
- $bool = $conf->can_save;
- $bool = $conf->save( $where );
-
- @opts = $conf->options( $type );
-
- $make = $conf->get_program('make');
- $verbose = $conf->set_conf( verbose => 1 );
-
-=head1 DESCRIPTION
-
-This module deals with all the configuration issues for CPANPLUS.
-Users can use objects created by this module to alter the behaviour
-of CPANPLUS.
-
-Please refer to the C<CPANPLUS::Backend> documentation on how to
-obtain a C<CPANPLUS::Configure> object.
-
-=head1 METHODS
-
-=head2 $Configure = CPANPLUS::Configure->new( load_configs => BOOL )
-
-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 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;
-
- sub new {
- my $class = shift;
- my %hash = @_;
-
- ### XXX pass on options to ->init() like rescan?
- my ($load);
- my $tmpl = {
- load_configs => { default => 1, store => \$load },
- };
-
- check( $tmpl, \%hash ) or (
- warn Params::Check->last_error, return
- );
-
- $Config ||= CPANPLUS::Config->new;
- my $self = bless {}, $class;
- $self->conf( $Config );
-
- ### you want us to load other configs?
- ### these can override things in the default config
- $self->init if $load;
-
- ### after processing the config files, check what
- ### @INC and PERL5LIB are set to.
- $self->_lib( \@INC );
- $self->_perl5lib( $ENV{'PERL5LIB'} );
-
- return $self;
- }
-}
-
-=head2 $bool = $Configure->init( [rescan => BOOL])
-
-Initialize the configure with other config files than just
-the default 'CPANPLUS::Config'.
-
-Called from C<new()> to load user/system configurations
-
-If the C<rescan> option is provided, your disk will be
-examined again to see if there are new config files that
-could be read. Defaults to C<false>.
-
-Returns true on success, false on failure.
-
-=cut
-
-### move the Module::Pluggable detection to runtime, rather
-### than compile time, so that a simple 'require CPANPLUS'
-### doesn't start running over your filesystem for no good
-### reason. Make sure we only do the M::P call once though.
-### we use $loaded to mark it
-{ my $loaded;
- my $warned;
- sub init {
- my $self = shift;
- my $obj = $self->conf;
- my %hash = @_;
-
- my ($rescan);
- my $tmpl = {
- rescan => { default => 0, store => \$rescan },
- };
-
- check( $tmpl, \%hash ) or (
- warn Params::Check->last_error, return
- );
-
- ### if the base dir is changed, we have to rescan it
- ### for any CPANPLUS::Config::* files as well, so keep
- ### track of it
- my $cur_base = $self->get_conf('base');
-
- ### warn if we find an old style config specified
- ### via environment variables
- { my $env = ENV_CPANPLUS_CONFIG;
- if( $ENV{$env} and not $warned ) {
- $warned++;
- error(loc("Specifying a config file in your environment " .
- "using %1 is obsolete.\nPlease follow the ".
- "directions outlined in %2 or use the '%3' command\n".
- "in the default shell to use custom config files.",
- $env, "CPANPLUS::Configure->save", 's save'));
- }
- }
-
- { ### make sure that the homedir is included now
- local @INC = ( LIB_DIR->($cur_base), @INC );
-
- ### only set it up once
- if( !$loaded++ or $rescan ) {
- ### find plugins & extra configs
- ### check $home/.cpanplus/lib as well
- require Module::Pluggable;
-
- Module::Pluggable->import(
- search_path => ['CPANPLUS::Config'],
- search_dirs => [ LIB_DIR->($cur_base) ],
- except => qr/::SUPER$/,
- sub_name => 'configs'
- );
- }
-
-
- ### do system config, user config, rest.. in that order
- ### apparently, on a 2nd invocation of -->configs, a
- ### ::ISA::CACHE package can appear.. that's bad...
- my %confs = map { $_ => $_ }
- grep { $_ !~ /::ISA::/ } __PACKAGE__->configs;
- my @confs = grep { defined }
- map { delete $confs{$_} } CONFIG_SYSTEM, CONFIG_USER;
- push @confs, sort keys %confs;
-
- for my $plugin ( @confs ) {
- msg(loc("Found config '%1'", $plugin),0);
-
- ### if we already did this the /last/ time around dont
- ### run the setup agian.
- if( my $loc = Module::Loaded::is_loaded( $plugin ) ) {
- msg(loc(" Already loaded '%1' (%2)", $plugin, $loc), 0);
- next;
- } else {
- msg(loc(" Loading config '%1'", $plugin),0);
-
- if( eval { load $plugin; 1 } ) {
- msg(loc(" Loaded '%1' (%2)",
- $plugin, Module::Loaded::is_loaded( $plugin ) ), 0);
- } else {
- error(loc(" Error loading '%1': %2", $plugin, $@));
- }
- }
-
- if( $@ ) {
- error(loc("Could not load '%1': %2", $plugin, $@));
- next;
- }
-
- my $sub = $plugin->can('setup');
- $sub->( $self ) if $sub;
- }
- }
-
- ### did one of the plugins change the base dir? then we should
- ### scan the dirs again
- if( $cur_base ne $self->get_conf('base') ) {
- msg(loc("Base dir changed from '%1' to '%2', rescanning",
- $cur_base, $self->get_conf('base')), 0);
- $self->init( @_, rescan => 1 );
- }
-
- ### clean up the paths once more, just in case
- $obj->_clean_up_paths;
-
- ### XXX in case the 'lib' param got changed, we need to
- ### add that now, or it's not propagating ;(
- { my $lib = $self->get_conf('lib');
- my %inc = map { $_ => $_ } @INC;
- for my $l ( @$lib ) {
- push @INC, $l unless $inc{$l};
- }
- $self->_lib( \@INC );
- }
-
- return 1;
- }
-}
-=pod
-
-=head2 can_save( [$config_location] )
-
-Check if we can save the configuration to the specified file.
-If no file is provided, defaults to your personal config.
-
-Returns true if the file can be saved, false otherwise.
-
-=cut
-
-sub can_save {
- my $self = shift;
- my $file = shift || CONFIG_USER_FILE->();
-
- return 1 unless -e $file;
-
- chmod 0644, $file;
- return (-w $file);
-}
-
-=pod
-
-=head2 $file = $conf->save( [$package_name] )
-
-Saves the configuration to the package name you provided.
-If this package is not C<CPANPLUS::Config::System>, it will
-be saved in your C<.cpanplus> directory, otherwise it will
-be attempted to be saved in the system wide directory.
-
-If no argument is provided, it will default to your personal
-config.
-
-Returns the full path to the file if the config was saved,
-false otherwise.
-
-=cut
-
-sub _config_pm_to_file {
- my $self = shift;
- my $pm = shift or return;
- my $dir = shift || CONFIG_USER_LIB_DIR->();
-
- ### only 3 types of files know: home, system and 'other'
- ### so figure out where to save them based on their type
- my $file;
- if( $pm eq CONFIG_USER ) {
- $file = CONFIG_USER_FILE->();
-
- } elsif ( $pm eq CONFIG_SYSTEM ) {
- $file = CONFIG_SYSTEM_FILE->();
-
- ### third party file
- } else {
- my $cfg_pkg = CONFIG . '::';
- unless( $pm =~ /^$cfg_pkg/ ) {
- error(loc(
- "WARNING: Your config package '%1' is not in the '%2' ".
- "namespace and will not be automatically detected by %3",
- $pm, $cfg_pkg, 'CPANPLUS'
- ));
- }
-
- $file = File::Spec->catfile(
- $dir,
- split( '::', $pm )
- ) . '.pm';
- }
-
- return $file;
-}
-
-
-sub save {
- my $self = shift;
- my $pm = shift || CONFIG_USER;
- my $savedir = shift || '';
-
- my $file = $self->_config_pm_to_file( $pm, $savedir ) or return;
- my $dir = dirname( $file );
-
- unless( -d $dir ) {
- $self->_mkdir( dir => $dir ) or (
- error(loc("Can not create directory '%1' to save config to",$dir)),
- return
- )
- }
- return unless $self->can_save($file);
-
- ### find only accessors that are not private
- my @acc = sort grep { $_ !~ /^_/ } $self->conf->ls_accessors;
-
- ### for dumping the values
- use Data::Dumper;
-
- my @lines;
- for my $acc ( @acc ) {
-
- push @lines, "### $acc section", $/;
-
- for my $key ( $self->conf->$acc->ls_accessors ) {
- my $val = Dumper( $self->conf->$acc->$key );
-
- $val =~ s/\$VAR1\s+=\s+//;
- $val =~ s/;\n//;
-
- push @lines, '$'. "conf->set_${acc}( $key => $val );", $/;
- }
- push @lines, $/,$/;
-
- }
-
- my $str = join '', map { " $_" } @lines;
-
- ### use a variable to make sure the pod parser doesn't snag it
- my $is = '=';
- my $time = gmtime;
-
-
- my $msg = <<_END_OF_CONFIG_;
-###############################################
-###
-### Configuration structure for $pm
-###
-###############################################
-
-#last changed: $time GMT
-
-### minimal pod, so you can find it with perldoc -l, etc
-${is}pod
-
-${is}head1 NAME
-
-$pm
-
-${is}head1 DESCRIPTION
-
-This is a CPANPLUS configuration file. Editing this
-config changes the way CPANPLUS will behave
-
-${is}cut
-
-package $pm;
-
-use strict;
-
-sub setup {
- my \$conf = shift;
-
-$str
-
- return 1;
-}
-
-1;
-
-_END_OF_CONFIG_
-
- $self->_move( file => $file, to => "$file~" ) if -f $file;
-
- my $fh = new FileHandle;
- $fh->open(">$file")
- or (error(loc("Could not open '%1' for writing: %2", $file, $!)),
- return );
-
- $fh->print($msg);
- $fh->close;
-
- return $file;
-}
-
-=pod
-
-=head2 options( type => TYPE )
-
-Returns a list of all valid config options given a specific type
-(like for example C<conf> of C<program>) or false if the type does
-not exist
-
-=cut
-
-sub options {
- my $self = shift;
- my $conf = $self->conf;
- my %hash = @_;
-
- my $type;
- my $tmpl = {
- type => { required => 1, default => '',
- strict_type => 1, store => \$type },
- };
-
- check($tmpl, \%hash) or return;
-
- my %seen;
- return sort grep { !$seen{$_}++ }
- map { $_->$type->ls_accessors if $_->can($type) }
- $self->conf;
- return;
-}
-
-=pod
-
-=head1 ACCESSORS
-
-Accessors that start with a C<_> are marked private -- regular users
-should never need to use these.
-
-See the C<CPANPLUS::Config> documentation for what items can be
-set and retrieved.
-
-=head2 get_SOMETHING( ITEM, [ITEM, ITEM, ... ] );
-
-The C<get_*> style accessors merely retrieves one or more desired
-config options.
-
-=head2 set_SOMETHING( ITEM => VAL, [ITEM => VAL, ITEM => VAL, ... ] );
-
-The C<set_*> style accessors set the current value for one
-or more config options and will return true upon success, false on
-failure.
-
-=head2 add_SOMETHING( ITEM => VAL, [ITEM => VAL, ITEM => VAL, ... ] );
-
-The C<add_*> style accessor adds a new key to a config key.
-
-Currently, the following accessors exist:
-
-=over 4
-
-=item set|get_conf
-
-Simple configuration directives like verbosity and favourite shell.
-
-=item set|get_program
-
-Location of helper programs.
-
-=item _set|_get_build
-
-Locations of where to put what files for CPANPLUS.
-
-=item _set|_get_source
-
-Locations and names of source files locally.
-
-=item _set|_get_mirror
-
-Locations and names of source files remotely.
-
-=item _set|_get_fetch
-
-Special settings pertaining to the fetching of files.
-
-=back
-
-=cut
-
-sub AUTOLOAD {
- my $self = shift;
- my $conf = $self->conf;
-
- my $name = $AUTOLOAD;
- $name =~ s/.+:://;
-
- my ($private, $action, $field) =
- $name =~ m/^(_)?((?:[gs]et|add))_([a-z]+)$/;
-
- my $type = '';
- $type .= '_' if $private;
- $type .= $field if $field;
-
- my $type_code = $conf->can($type);
- unless ( $type_code ) {
- error( loc("Invalid method type: '%1'", $name) );
- return;
- }
- my $type_obj = $type_code->();
-
- unless( scalar @_ ) {
- error( loc("No arguments provided!") );
- return;
- }
-
- ### retrieve a current value for an existing key ###
- if( $action eq 'get' ) {
- for my $key (@_) {
- my @list = ();
-
- ### get it from the user config first
- if( my $code = $type_obj->can($key) ) {
- push @list, $code->();
-
- ### XXX EU::AI compatibility hack to provide lookups like in
- ### cpanplus 0.04x; we renamed ->_get_build('base') to
- ### ->get_conf('base')
- } elsif ( $type eq '_build' and $key eq 'base' ) {
- return $self->get_conf($key);
-
- } else {
- error( loc(q[No such key '%1' in field '%2'], $key, $type) );
- return;
- }
-
- return wantarray ? @list : $list[0];
- }
-
- ### set an existing key to a new value ###
- } elsif ( $action eq 'set' ) {
- my %args = @_;
-
- while( my($key,$val) = each %args ) {
-
- if( my $code = $type_obj->can($key) ) {
- $code->( $val );
-
- } else {
- error( loc(q[No such key '%1' in field '%2'], $key, $type) );
- return;
- }
- }
-
- return 1;
-
- ### add a new key to the config ###
- } elsif ( $action eq 'add' ) {
- my %args = @_;
-
- while( my($key,$val) = each %args ) {
-
- if( $type_obj->can($key) ) {
- error( loc( q[Key '%1' already exists for field '%2'],
- $key, $type));
- return;
- } else {
- $type_obj->mk_accessors( $key );
- $type_obj->$key( $val );
- }
- }
- return 1;
-
- } else {
-
- error( loc(q[Unknown action '%1'], $action) );
- return;
- }
-}
-
-sub DESTROY { 1 };
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Backend>, L<CPANPLUS::Configure::Setup>, L<CPANPLUS::Config>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
deleted file mode 100644
index 8ac565a70ec..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
+++ /dev/null
@@ -1,1654 +0,0 @@
-package CPANPLUS::Configure::Setup;
-use deprecate;
-
-use strict;
-use vars qw[@ISA $VERSION];
-$VERSION = "0.9135";
-
-use base qw[CPANPLUS::Internals::Utils];
-use base qw[Object::Accessor];
-
-use Config;
-use Term::UI;
-use Module::Load;
-use Term::ReadLine;
-
-use CPANPLUS::Internals::Utils;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Error;
-
-use IPC::Cmd qw[can_run];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-### silence Term::UI
-$Term::UI::VERBOSE = 0;
-
-#Can't ioctl TIOCGETP: Unknown error
-#Consider installing Term::ReadKey from CPAN site nearby
-# at http://www.perl.com/CPAN
-#Or use
-# perl -MCPAN -e shell
-#to reach CPAN. Falling back to 'stty'.
-# If you do not want to see this warning, set PERL_READLINE_NOWARN
-#in your environment.
-#'stty' is not recognized as an internal or external command,
-#operable program or batch file.
-#Cannot call `stty': No such file or directory at C:/Perl/site/lib/Term/ReadLine/
-
-### setting this var in the meantime to avoid this warning ###
-$ENV{PERL_READLINE_NOWARN} = 1;
-
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- configure_object => { },
- term => { },
- backend => { },
- autoreply => { default => 0, },
- skip_mirrors => { default => 0, },
- use_previous => { default => 1, },
- config_type => { default => CONFIG_USER },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### initialize object
- my $obj = $class->SUPER::new( keys %$tmpl );
- for my $acc ( $obj->ls_accessors ) {
- $obj->$acc( $args->{$acc} );
- }
-
- ### otherwise there's a circular use ###
- load CPANPLUS::Configure;
- load CPANPLUS::Backend;
-
- $obj->configure_object( CPANPLUS::Configure->new() )
- unless $obj->configure_object;
-
- $obj->backend( CPANPLUS::Backend->new( $obj->configure_object ) )
- unless $obj->backend;
-
- ### use empty string in case user only has T::R::Stub -- it complains
- $obj->term( Term::ReadLine->new('') )
- unless $obj->term;
-
- ### enable autoreply if that was passed ###
- $Term::UI::AUTOREPLY = $obj->autoreply;
-
- return $obj;
-}
-
-sub init {
- my $self = shift;
- my $term = $self->term;
-
- ### default setting, unless changed
- $self->config_type( CONFIG_USER ) unless $self->config_type;
-
- my $save = loc('Save & exit');
- my $exit = loc('Quit without saving');
- my @map = (
- # key on the display # method to dispatch to
- [ loc('Select Configuration file') => '_save_where' ],
- [ loc('Setup CLI Programs') => '_setup_program' ],
- [ loc('Setup CPANPLUS Home directory') => '_setup_base' ],
- [ loc('Setup FTP/Email settings') => '_setup_ftp' ],
- [ loc('Setup basic preferences') => '_setup_conf' ],
- [ loc('Setup installer settings') => '_setup_installer' ],
- [ loc('Select mirrors'), => '_setup_hosts' ],
- [ loc('Edit configuration file') => '_edit' ],
- [ $save => '_save' ],
- [ $exit => 1 ],
- );
-
- my @keys = map { $_->[0] } @map; # sorted keys
- my %map = map { @$_ } @map; # lookup hash
-
- PICK_SECTION: {
- print loc("
-=================> MAIN MENU <=================
-
-Welcome to the CPANPLUS configuration. Please select which
-parts you wish to configure
-
-Defaults are taken from your current configuration.
-If you would save now, your settings would be written to:
-
- %1
-
- ", $self->config_type );
-
- my $choice = $term->get_reply(
- prompt => "Section to configure:",
- choices => \@keys,
- default => $keys[0]
- );
-
- ### exit configuration?
- if( $choice eq $exit ) {
- print loc("
-Quitting setup, changes will not be saved.
- ");
- return 1;
- }
-
- my $method = $map{$choice};
-
- my $rv = $self->$method or print loc("
-There was an error setting up this section. You might want to try again
- ");
-
- ### was it save & exit?
- if( $choice eq $save and $rv ) {
- print loc("
-Quitting setup, changes are saved to '%1'
- ", $self->config_type
- );
- return 1;
- }
-
- ### otherwise, present choice again
- redo PICK_SECTION;
- }
-
- return 1;
-}
-
-
-
-### sub that figures out what kind of config type the user wants
-sub _save_where {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
-
- ASK_CONFIG_TYPE: {
-
- print loc( q[
-Where would you like to save your CPANPLUS Configuration file?
-
-If you want to configure CPANPLUS for this user only,
-select the '%1' option.
-The file will then be saved in your homedirectory.
-
-If you are the system administrator of this machine,
-and would like to make this config available globally,
-select the '%2' option.
-The file will be then be saved in your CPANPLUS
-installation directory.
-
- ], CONFIG_USER, CONFIG_SYSTEM );
-
-
- ### ask what config type we should save to
- my $type = $term->get_reply(
- prompt => loc("Type of configuration file"),
- default => $self->config_type || CONFIG_USER,
- choices => [CONFIG_USER, CONFIG_SYSTEM],
- );
-
- my $file = $conf->_config_pm_to_file( $type );
-
- ### can we save to this file?
- unless( $conf->can_save( $file ) ) {
- error(loc(
- "Can not save to file '%1'-- please check permissions " .
- "and try again", $file
- ));
-
- redo ASK_CONFIG_FILE;
- }
-
- ### you already have the file -- are we allowed to overwrite
- ### or should we try again?
- if ( -e $file and -w _ ) {
- print loc(q[
-I see you already have this file:
- %1
-
-The file will not be overwritten until you explicitly save it.
-
- ], $file );
-
- redo ASK_CONFIG_TYPE
- unless $term->ask_yn(
- prompt => loc( "Do you wish to use this file?"),
- default => 'n',
- );
- }
-
- print $/, loc("Using '%1' as your configuration type", $type);
-
- return $self->config_type($type);
- }
-}
-
-
-### setup the build & cache dirs
-sub _setup_base {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
- my $base = $conf->get_conf('base');
- my $home = File::Spec->catdir( $self->_home_dir, DOT_CPANPLUS );
-
- print loc("
-CPANPLUS needs a directory of its own to cache important index
-files and maybe keep a temporary mirror of CPAN files.
-This may be a site-wide directory or a personal directory.
-
-For a single-user installation, we suggest using your home directory.
-
-");
-
- my $where;
- ASK_HOME_DIR: {
- my $other = loc('Somewhere else');
- if( $base and ($base ne $home) ) {
- print loc("You have several choices:");
-
- $where = $term->get_reply(
- prompt => loc('Please pick one'),
- choices => [$home, $base, $other],
- default => $home,
- );
- } else {
- $where = $base;
- }
-
- if( $where and -d $where ) {
- print loc("
-I see you already have a directory:
- %1
-
- "), $where;
-
- my $yn = $term->ask_yn(
- prompt => loc('Should I use it?'),
- default => 'y',
- );
- $where = '' unless $yn;
- }
-
- if( $where and ($where ne $other) and not -d $where ) {
- if (!$self->_mkdir( dir => $where ) ) {
- print "\n", loc("Unable to create directory '%1'", $where);
- redo ASK_HOME_DIR;
- }
-
- } elsif( not $where or ($where eq $other) ) {
- print loc("
-First of all, I'd like to create this directory.
-
- ");
-
- NEW_HOME: {
- $where = $term->get_reply(
- prompt => loc('Where shall I create it?'),
- default => $home,
- );
-
- my $again;
- if( -d $where and not -w _ ) {
- print "\n", loc("I can't seem to write in this directory");
- $again++;
- } elsif (!$self->_mkdir( dir => $where ) ) {
- print "\n", loc("Unable to create directory '%1'", $where);
- $again++;
- }
-
- if( $again ) {
- print "\n", loc('Please select another directory'), "\n\n";
- redo NEW_HOME;
- }
- }
- }
- }
-
- ### tidy up the path and store it
- $where = File::Spec->rel2abs($where);
- $conf->set_conf( base => $where );
-
- ### create subdirectories ###
- my @dirs =
- File::Spec->catdir( $where, $self->_perl_version(perl => $^X),
- $conf->_get_build('moddir') ),
- map {
- File::Spec->catdir( $where, $conf->_get_build($_) )
- } qw[autdir distdir];
-
- for my $dir ( @dirs ) {
- unless( $self->_mkdir( dir => $dir ) ) {
- warn loc("I wasn't able to create '%1'", $dir), "\n";
- }
- }
-
- ### clear away old storable images before 0.031
- for my $src (qw[dslip mailrc packages]) {
- 1 while unlink File::Spec->catfile( $where, $src );
-
- }
-
- print loc(q[
-Your CPANPLUS build and cache directory has been set to:
- %1
-
- ], $where);
-
- return 1;
-}
-
-sub _setup_ftp {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
- #########################
- ## are you a pacifist? ##
- #########################
-
- print loc("
-If you are connecting through a firewall or proxy that doesn't handle
-FTP all that well you can use passive FTP.
-
-");
-
- my $yn = $term->ask_yn(
- prompt => loc("Use passive FTP?"),
- default => $conf->get_conf('passive'),
- );
-
- $conf->set_conf(passive => $yn);
-
- ### set the ENV var as well, else it won't get set till AFTER
- ### the configuration is saved. but we fetch files BEFORE that.
- $ENV{FTP_PASSIVE} = $yn;
-
- print "\n";
- print $yn
- ? loc("I will use passive FTP.")
- : loc("I won't use passive FTP.");
- print "\n";
-
- #############################
- ## should fetches timeout? ##
- #############################
-
- print loc("
-CPANPLUS can specify a network timeout for downloads (in whole seconds).
-If none is desired (or to skip this question), enter '0'.
-
-");
-
- my $timeout = 0 + $term->get_reply(
- prompt => loc("Network timeout for downloads"),
- default => $conf->get_conf('timeout') || 0,
- allow => qr/(?!\D)/, ### whole numbers only
- );
-
- $conf->set_conf(timeout => $timeout);
-
- print "\n";
- print $timeout
- ? loc("The network timeout for downloads is %1 seconds.", $timeout)
- : loc("The network timeout for downloads is not set.");
- print "\n";
-
- ############################
- ## where can I reach you? ##
- ############################
-
- print loc("
-What email address should we send as our anonymous password when
-fetching modules from CPAN servers? Some servers will NOT allow you to
-connect without a valid email address, or at least something that looks
-like one.
-Also, if you choose to report test results at some point, a valid email
-is required for the 'from' field, so choose wisely.
-
- ");
-
- my $other = 'Something else';
- my @choices = (DEFAULT_EMAIL, $Config{cf_email}, $other);
- my $current = $conf->get_conf('email');
-
- ### if your current address is not in the list, add it to the choices
- unless (grep { $_ eq $current } @choices) {
- unshift @choices, $current;
- }
-
- my $email = $term->get_reply(
- prompt => loc('Which email address shall I use?'),
- default => $current || $choices[0],
- choices => \@choices,
- );
-
- if( $email eq $other ) {
- EMAIL: {
- $email = $term->get_reply(
- prompt => loc('Email address: '),
- );
-
- unless( $self->_valid_email($email) ) {
- print loc("
-You did not enter a valid email address, please try again!
- ") if length $email;
-
- redo EMAIL;
- }
- }
- }
-
- print loc("
-Your 'email' is now:
- %1
-
- ", $email);
-
- $conf->set_conf( email => $email );
-
- return 1;
-}
-
-
-### commandline programs
-sub _setup_program {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
- print loc("
-CPANPLUS can use command line utilities to do certain
-tasks, rather than use perl modules.
-
-If you wish to use a certain command utility, just enter
-the full path (or accept the default). If you do not wish
-to use it, enter a single space.
-
-Note that the paths you provide should not contain spaces, which is
-needed to make a distinction between program name and options to that
-program. For Win32 machines, you can use the short name for a path,
-like '%1'.
-", 'c:\Progra~1\prog.exe' );
-
- for my $prog ( sort $conf->options( type => 'program') ) {
- PROGRAM: {
- print "\n", loc("Where can I find your '%1' utility? ".
- "(Enter a single space to disable)", $prog ), "\n";
-
- my $loc = $term->get_reply(
- prompt => "Path to your '$prog'",
- default => $conf->get_program( $prog ),
- );
-
- ### empty line clears it
- my $cmd = $loc =~ /^\s*$/ ? undef : $loc;
- my ($bin) = $cmd =~ /^(\S+)/;
-
- ### did you provide a valid program ?
- if( $bin and not can_run( $bin ) ) {
- print "\n";
- print loc("Can not find the binary '%1' in your path!", $bin);
- redo PROGRAM;
- }
-
- ### make is special -- we /need/ it!
- if( $prog eq 'make' and not $bin ) {
- print loc(
- "==> Without your '%1' utility, I can not function! <==",
- 'make'
- );
- print loc("Please provide one!");
-
- ### show win32 where to download
- if ( $^O eq 'MSWin32' ) {
- print loc("You can get '%1' from:", NMAKE);
- print "\t". NMAKE_URL ."\n";
- }
- print "\n";
- redo PROGRAM;
- }
-
- $conf->set_program( $prog => $cmd );
- print $cmd
- ? loc( "Your '%1' utility has been set to '%2'.",
- $prog, $cmd )
- : loc( "Your '%1' has been disabled.", $prog );
- print "\n";
- }
- }
-
- return 1;
-}
-
-sub _setup_installer {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
- my $none = 'None';
- {
- print loc("
-CPANPLUS uses binary programs as well as Perl modules to accomplish
-various tasks. Normally, CPANPLUS will prefer the use of Perl modules
-over binary programs.
-
-You can change this setting by making CPANPLUS prefer the use of
-certain binary programs if they are available.
-
- ");
-
- ### default to using binaries if we don't have compress::zlib only
- ### -- it'll get very noisy otherwise
- my $type = 'prefer_bin';
- my $yn = $term->ask_yn(
- prompt => loc("Should I prefer the use of binary programs?"),
- default => $conf->get_conf( $type ),
- );
-
- print $yn
- ? loc("Ok, I will prefer to use binary programs if possible.")
- : loc("Ok, I will prefer to use Perl modules if possible.");
- print "\n\n";
-
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- print loc("
-Makefile.PL is run by perl in a separate process, and accepts various
-flags that controls the module's installation. For instance, if you
-would like to install modules to your private user directory, set
-'makemakerflags' to:
-
-LIB=~/perl/lib INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3
-
-and be sure that you do NOT set UNINST=1 in 'makeflags' below.
-
-Enter a name=value list separated by whitespace, but quote any embedded
-spaces that you want to preserve. (Enter a space to clear any existing
-settings.)
-
-If you don't understand this question, just press ENTER.
-
- ");
-
- my $type = 'makemakerflags';
- my $flags = $term->get_reply(
- prompt => 'Makefile.PL flags?',
- default => $conf->get_conf($type),
- );
-
- $flags = '' if $flags eq $none || $flags !~ /\S/;
-
- print "\n", loc("Your '%1' have been set to:", 'Makefile.PL flags'),
- "\n ", ( $flags ? $flags : loc('*nothing entered*')),
- "\n\n";
-
- $conf->set_conf( $type => $flags );
- }
-
- {
- print loc("
-Like Makefile.PL, we run 'make' and 'make install' as separate processes.
-If you have any parameters (e.g. '-j3' in dual processor systems) you want
-to pass to the calls, please specify them here.
-
-In particular, 'UNINST=1' is recommended for root users, unless you have
-fine-tuned ideas of where modules should be installed in the \@INC path.
-
-Enter a name=value list separated by whitespace, but quote any embedded
-spaces that you want to preserve. (Enter a space to clear any existing
-settings.)
-
-Again, if you don't understand this question, just press ENTER.
-
- ");
- my $type = 'makeflags';
- my $flags = $term->get_reply(
- prompt => 'make flags?',
- default => $conf->get_conf($type),
- );
-
- $flags = '' if $flags eq $none || $flags !~ /\S/;
-
- print "\n", loc("Your '%1' have been set to:", $type),
- "\n ", ( $flags ? $flags : loc('*nothing entered*')),
- "\n\n";
-
- $conf->set_conf( $type => $flags );
- }
-
- {
- print loc("
-An alternative to ExtUtils::MakeMaker and Makefile.PL there's a module
-called Module::Build which uses a Build.PL.
-
-If you would like to specify any flags to pass when executing the
-Build.PL (and Build) script, please enter them below.
-
-For instance, if you would like to install modules to your private
-user directory, you could enter:
-
- install_base=/my/private/path
-
-Or to uninstall old copies of modules before updating, you might
-want to enter:
-
- uninst=1
-
-Again, if you don't understand this question, just press ENTER.
-
- ");
-
- my $type = 'buildflags';
- my $flags = $term->get_reply(
- prompt => 'Build.PL and Build flags?',
- default => $conf->get_conf($type),
- );
-
- $flags = '' if $flags eq $none || $flags !~ /\S/;
-
- print "\n", loc("Your '%1' have been set to:",
- 'Build.PL and Build flags'),
- "\n ", ( $flags ? $flags : loc('*nothing entered*')),
- "\n\n";
-
- $conf->set_conf( $type => $flags );
- }
-
- ### use EU::MM or module::build? ###
- {
- print loc("
-Some modules provide both a Build.PL (Module::Build) and a Makefile.PL
-(ExtUtils::MakeMaker). By default, CPANPLUS prefers Makefile.PL.
-
-Module::Build support is not bundled standard with CPANPLUS, but
-requires you to install 'CPANPLUS::Dist::Build' from CPAN.
-
-Although Module::Build is a pure perl solution, which means you will
-not need a 'make' binary, it does have some limitations. The most
-important is that CPANPLUS is unable to uninstall any modules installed
-by Module::Build.
-
-Again, if you don't understand this question, just press ENTER.
-
- ");
- my $type = 'prefer_makefile';
- my $yn = $term->ask_yn(
- prompt => loc("Prefer Makefile.PL over Build.PL?"),
- default => $conf->get_conf($type),
- );
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- print loc('
-If you like, CPANPLUS can add extra directories to your @INC list during
-startup. These will just be used by CPANPLUS and will not change your
-external environment or perl interpreter. Enter a space separated list of
-pathnames to be added to your @INC, quoting any with embedded whitespace.
-(To clear the current value enter a single space.)
-
- ');
-
- my $type = 'lib';
- my $flags = $term->get_reply(
- prompt => loc('Additional @INC directories to add?'),
- default => (join " ", @{$conf->get_conf($type) || []} ),
- );
-
- my $lib;
- unless( $flags =~ /\S/ ) {
- $lib = [];
- } else {
- (@$lib) = $flags =~ m/\s*("[^"]+"|'[^']+'|[^\s]+)/g;
- }
-
- print "\n", loc("Your additional libs are now:"), "\n";
-
- print scalar @$lib
- ? map { " $_\n" } @$lib
- : " ", loc("*nothing entered*"), "\n";
- print "\n\n";
-
- $conf->set_conf( $type => $lib );
- }
-
- return 1;
-}
-
-
-sub _setup_conf {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
- my $none = 'None';
- {
- ############
- ## noisy? ##
- ############
-
- print loc("
-In normal operation I can just give you basic information about what I
-am doing, or I can be more verbose and give you every little detail.
-
- ");
-
- my $type = 'verbose';
- my $yn = $term->ask_yn(
- prompt => loc("Should I be verbose?"),
- default => $conf->get_conf( $type ), );
-
- print "\n";
- print $yn
- ? loc("You asked for it!")
- : loc("I'll try to be quiet");
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- #######################
- ## flush you animal! ##
- #######################
-
- print loc("
-In the interest of speed, we keep track of what modules were installed
-successfully and which failed in the current session. We can flush this
-data automatically, or you can explicitly issue a 'flush' when you want
-to purge it.
-
- ");
-
- my $type = 'flush';
- my $yn = $term->ask_yn(
- prompt => loc("Flush automatically?"),
- default => $conf->get_conf( $type ),
- );
-
- print "\n";
- print $yn
- ? loc("I'll flush after every full module install.")
- : loc("I won't flush until you tell me to.");
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- #####################
- ## force installs? ##
- #####################
-
- print loc("
-Usually, when a test fails, I won't install the module, but if you
-prefer, I can force the install anyway.
-
- ");
-
- my $type = 'force';
- my $yn = $term->ask_yn(
- prompt => loc("Force installs?"),
- default => $conf->get_conf( $type ),
- );
-
- print "\n";
- print $yn
- ? loc("I will force installs.")
- : loc("I won't force installs.");
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- ###################
- ## about prereqs ##
- ###################
-
- print loc("
-Sometimes a module will require other modules to be installed before it
-will work. CPANPLUS can attempt to install these for you automatically
-if you like, or you can do the deed yourself.
-
-If you would prefer that we NEVER try to install extra modules
-automatically, select NO. (Usually you will want this set to YES.)
-
-If you would like to build modules to satisfy testing or prerequisites,
-but not actually install them, select BUILD.
-
-NOTE: This feature requires you to flush the 'lib' cache for longer
-running programs (refer to the CPANPLUS::Backend documentations for
-more details).
-
-Otherwise, select ASK to have us ask your permission to install them.
-
- ");
-
- my $type = 'prereqs';
-
- my @map = (
- [ PREREQ_IGNORE, # conf value
- loc('No, do not install prerequisites'), # UI Value
- loc("I won't install prerequisites") # diag message
- ],
- [ PREREQ_INSTALL,
- loc('Yes, please install prerequisites'),
- loc("I will install prerequisites")
- ],
- [ PREREQ_ASK,
- loc('Ask me before installing a prerequisite'),
- loc("I will ask permission to install")
- ],
- [ PREREQ_BUILD,
- loc('Build prerequisites, but do not install them'),
- loc( "I will only build, but not install prerequisites" )
- ],
- );
-
- my %reply = map { $_->[1] => $_->[0] } @map; # choice => value
- my %diag = map { $_->[1] => $_->[2] } @map; # choice => diag message
- my %conf = map { $_->[0] => $_->[1] } @map; # value => ui choice
-
- my $reply = $term->get_reply(
- prompt => loc('Follow prerequisites?'),
- default => $conf{ $conf->get_conf( $type ) },
- choices => [ @conf{ sort keys %conf } ],
- );
- print "\n";
-
- my $value = $reply{ $reply };
- my $diag = $diag{ $reply };
-
- $conf->set_conf( $type => $value );
- print $diag, "\n";
- }
-
- { print loc("
-Modules in the CPAN archives are protected with md5 checksums.
-
-This requires the Perl module Digest::MD5 to be installed (which
-CPANPLUS can do for you later);
-
- ");
- my $type = 'md5';
-
- my $yn = $term->ask_yn(
- prompt => loc("Shall I use the MD5 checksums?"),
- default => $conf->get_conf( $type ),
- );
-
- print $yn
- ? loc("I will use the MD5 checksums if you have it")
- : loc("I won't use the MD5 checksums");
-
- $conf->set_conf( $type => $yn );
-
- }
-
-
- { ###########################################
- ## sally sells seashells by the seashore ##
- ###########################################
-
- print loc("
-By default CPANPLUS uses its own shell when invoked. If you would prefer
-a different shell, such as one you have written or otherwise acquired,
-please enter the full name for your shell module.
-
- ");
-
- my $type = 'shell';
- my $other = 'Other';
- my @choices = (qw| CPANPLUS::Shell::Default
- CPANPLUS::Shell::Classic |,
- $other );
- my $default = $conf->get_conf($type);
-
- unshift @choices, $default unless grep { $_ eq $default } @choices;
-
- my $reply = $term->get_reply(
- prompt => loc('Which CPANPLUS shell do you want to use?'),
- default => $default,
- choices => \@choices,
- );
-
- if( $reply eq $other ) {
- SHELL: {
- $reply = $term->get_reply(
- prompt => loc( 'Please enter the name of the shell '.
- 'you wish to use: '),
- );
-
- unless( check_install( module => $reply ) ) {
- print "\n",
- loc("Could not find '$reply' in your path " .
- "-- please try again"),
- "\n";
- redo SHELL;
- }
- }
- }
-
- print "\n", loc("Your shell is now: %1", $reply), "\n\n";
-
- $conf->set_conf( $type => $reply );
- }
-
- {
- ###################
- ## use storable? ##
- ###################
-
- print loc("
-To speed up the start time of CPANPLUS, and maintain a cache over
-multiple runs, we can use Storable to freeze some information.
-Would you like to do this?
-
-");
- my $type = 'storable';
- my $yn = $term->ask_yn(
- prompt => loc("Use Storable?"),
- default => $conf->get_conf( $type ) ? 1 : 0,
- );
- print "\n";
- print $yn
- ? loc("I will use Storable if you have it")
- : loc("I will not use Storable");
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- ###################
- ## use sqlite ? ##
- ###################
-
- print loc("
-
-To limit the amount of RAM used by CPANPLUS, you can use the SQLite
-source backend instead. Note that it is currently still experimental.
-Would you like to do this?
-
-");
- my $type = 'source_engine';
- my $class = 'CPANPLUS::Internals::Source::SQLite';
- my $yn = $term->ask_yn(
- prompt => loc("Use SQLite?"),
- default => $conf->get_conf( $type ) eq $class ? 1 : 0,
- );
- print "\n";
- print $yn
- ? loc("I will use SQLite")
- : loc("I will not use SQLite");
-
- $conf->set_conf( $type => $class );
- }
-
- {
- ###################
- ## use cpantest? ##
- ###################
-
- print loc("
-CPANPLUS has support for the Test::Reporter module, which can be utilized
-to report success and failures of modules installed by CPANPLUS. Would
-you like to do this? Note that you will still be prompted before
-sending each report.
-
-If you don't have all the required modules installed yet, you should
-consider installing '%1'
-
-This package bundles all the required modules to enable test reporting
-and querying from CPANPLUS.
-You can do so straight after this installation.
-
- ", 'Bundle::CPANPLUS::Test::Reporter');
-
- my $type = 'cpantest';
- my $yn = $term->ask_yn(
- prompt => loc('Report test results?'),
- default => $conf->get_conf( $type ) ? 1 : 0,
- );
-
- print "\n";
- print $yn
- ? loc("I will prompt you to report test results")
- : loc("I won't prompt you to report test results");
-
- $conf->set_conf( $type => $yn );
- }
-
- {
- ###################################
- ## use cryptographic signatures? ##
- ###################################
-
- print loc("
-The Module::Signature extension allows CPAN authors to sign their
-distributions using PGP signatures. Would you like to check for
-module's cryptographic integrity before attempting to install them?
-Note that this requires either the 'gpg' utility or Crypt::OpenPGP
-to be installed.
-
- ");
- my $type = 'signature';
-
- my $yn = $term->ask_yn(
- prompt => loc('Shall I check module signatures?'),
- default => $conf->get_conf($type) ? 1 : 0,
- );
-
- print "\n";
- print $yn
- ? loc("Ok, I will attempt to check module signatures.")
- : loc("Ok, I won't attempt to check module signatures.");
-
- $conf->set_conf( $type => $yn );
- }
-
- return 1;
-}
-
-sub _setup_hosts {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->configure_object;
-
-
- if( scalar @{ $conf->get_conf('hosts') } ) {
-
- my $hosts;
- for my $href ( @{$conf->get_conf('hosts')} ) {
- $hosts .= "\t$href->{scheme}://$href->{host}$href->{path}\n";
- }
-
- print loc("
-I see you already have some hosts selected:
-
-$hosts
-
-If you'd like to stick with your current settings, just select 'Yes'.
-Otherwise, select 'No' and you can reconfigure your hosts
-
-");
- my $yn = $term->ask_yn(
- prompt => loc("Would you like to keep your current hosts?"),
- default => 'y',
- );
- return 1 if $yn;
- }
-
- my @hosts;
- MAIN: {
-
- print loc("
-Now we need to know where your favorite CPAN sites are located. Make a
-list of a few sites (just in case the first on the array won't work).
-
-If you are mirroring CPAN to your local workstation, specify a file:
-URI by picking the CUSTOM option.
-
-Otherwise, let us fetch the official CPAN mirror list and you can pick
-the mirror that suits you best from a list by using the MIRROR option;
-First, pick a nearby continent and country. Then, you will be presented
-with a list of URLs of CPAN mirrors in the country you selected. Select
-one or more of those URLs.
-
-Note, the latter option requires a working net connection.
-
-You can select VIEW to see your current selection and QUIT when you
-are done.
-
-");
-
- my $reply = $term->get_reply(
- prompt => loc('Please choose an option'),
- choices => [qw|Mirror Custom View Quit|],
- default => 'Mirror',
- );
-
- goto MIRROR if $reply eq 'Mirror';
- goto CUSTOM if $reply eq 'Custom';
- goto QUIT if $reply eq 'Quit';
-
- $self->_view_hosts(@hosts) if $reply eq 'View';
- redo MAIN;
- }
-
- my $mirror_file;
- my $hosts;
- MIRROR: {
- $mirror_file ||= $self->_get_mirrored_by or return;
- $hosts ||= $self->_parse_mirrored_by($mirror_file) or return;
-
- my ($continent, $country, $host) = $self->_guess_from_timezone( $hosts );
-
- CONTINENT: {
- my %seen;
- my @choices = sort map {
- $_->{'continent'}
- } grep {
- not $seen{$_->{'continent'}}++
- } values %$hosts;
- push @choices, qw[Custom Up Quit];
-
- my $reply = $term->get_reply(
- prompt => loc('Pick a continent'),
- default => $continent,
- choices => \@choices,
- );
-
- goto MAIN if $reply eq 'Up';
- goto CUSTOM if $reply eq 'Custom';
- goto QUIT if $reply eq 'Quit';
-
- $continent = $reply;
- }
-
- COUNTRY: {
- my %seen;
- my @choices = sort map {
- $_->{'country'}
- } grep {
- not $seen{$_->{'country'}}++
- } grep {
- ($_->{'continent'} eq $continent)
- } values %$hosts;
- push @choices, qw[Custom Up Quit];
-
- my $reply = $term->get_reply(
- prompt => loc('Pick a country'),
- default => $country,
- choices => \@choices,
- );
-
- goto CONTINENT if $reply eq 'Up';
- goto CUSTOM if $reply eq 'Custom';
- goto QUIT if $reply eq 'Quit';
-
- $country = $reply;
- }
-
- HOST: {
- my @list = grep {
- $_->{'continent'} eq $continent and
- $_->{'country'} eq $country
- } values %$hosts;
-
- my %map; my $default;
- for my $href (@list) {
- for my $con ( @{$href->{'connections'}} ) {
- next unless length $con->{'host'};
-
- my $entry = $con->{'scheme'} . '://' . $con->{'host'};
- $default = $entry if $con->{'host'} eq $host;
-
- $map{$entry} = $con;
- }
- }
-
- CHOICE: {
-
- ### doesn't play nice with Term::UI :(
- ### should make t::ui figure out pager opens
- #$self->_pager_open; # host lists might be long
-
- print loc("
-You can enter multiple sites by separating them by a space.
-For example:
- 1 4 2 5
- ");
-
- my @reply = $term->get_reply(
- prompt => loc('Please pick a site: '),
- choices => [sort(keys %map),
- qw|Custom View Up Quit|],
- default => $default,
- multi => 1,
- );
- #$self->_pager_close;
-
-
- goto COUNTRY if grep { $_ eq 'Up' } @reply;
- goto CUSTOM if grep { $_ eq 'Custom' } @reply;
- goto QUIT if grep { $_ eq 'Quit' } @reply;
-
- ### add the host, but only if it's not on the stack already ###
- unless( grep { $_ eq 'View' } @reply ) {
- for my $reply (@reply) {
- if( grep { $_ eq $map{$reply} } @hosts ) {
- print loc("Host '%1' already selected", $reply);
- print "\n\n";
- } else {
- push @hosts, $map{$reply}
- }
- }
- }
-
- $self->_view_hosts(@hosts);
-
- goto QUIT if $self->autoreply;
- redo CHOICE;
- }
- }
- }
-
- CUSTOM: {
- print loc("
-If there are any additional URLs you would like to use, please add them
-now. You may enter them separately or as a space delimited list.
-
-We provide a default fall-back URL, but you are welcome to override it
-with e.g. 'http://www.cpan.org/' if LWP, wget or curl is installed.
-
-(Enter a single space when you are done, or to simply skip this step.)
-
-Note that if you want to use a local depository, you will have to enter
-as follows:
-
-file://server/path/to/cpan
-
-if the file is on a server on your local network or as:
-
-file:///path/to/cpan
-
-if the file is on your local disk. Note the three /// after the file: bit
-
-");
-
- CHOICE: {
- my $reply = $term->get_reply(
- prompt => loc("Additionals host(s) to add: "),
- default => '',
- );
-
- last CHOICE unless $reply =~ /\S/;
-
- my $href = $self->_parse_host($reply);
-
- if( $href ) {
- push @hosts, $href
- unless grep {
- $href->{'scheme'} eq $_->{'scheme'} and
- $href->{'host'} eq $_->{'host'} and
- $href->{'path'} eq $_->{'path'}
- } @hosts;
-
- last CHOICE if $self->autoreply;
- } else {
- print loc("Invalid uri! Please try again!");
- }
-
- $self->_view_hosts(@hosts);
-
- redo CHOICE;
- }
-
- DONE: {
-
- print loc("
-Where would you like to go now?
-
-Please pick one of the following options or Quit when you are done
-
-");
- my $answer = $term->get_reply(
- prompt => loc("Where to now?"),
- default => 'Quit',
- choices => [qw|Mirror Custom View Quit|],
- );
-
- if( $answer eq 'View' ) {
- $self->_view_hosts(@hosts);
- redo DONE;
- }
-
- goto MIRROR if $answer eq 'Mirror';
- goto CUSTOM if $answer eq 'Custom';
- goto QUIT if $answer eq 'Quit';
- }
- }
-
- QUIT: {
- $conf->set_conf( hosts => \@hosts );
-
- print loc("
-Your host configuration has been saved
-
-");
- }
-
- return 1;
-}
-
-sub _view_hosts {
- my $self = shift;
- my @hosts = @_;
-
- print "\n\n";
-
- if( scalar @hosts ) {
- my $i = 1;
- for my $host (@hosts) {
-
- ### show full path on file uris, otherwise, just show host
- my $path = join '', (
- $host->{'scheme'} eq 'file'
- ? ( ($host->{'host'} || '[localhost]'),
- $host->{path} )
- : $host->{'host'}
- );
-
- printf "%-40s %30s\n",
- loc("Selected %1",$host->{'scheme'} . '://' . $path ),
- loc("%quant(%2,host) selected thus far.", $i);
- $i++;
- }
- } else {
- print loc("No hosts selected so far.");
- }
-
- print "\n\n";
-
- return 1;
-}
-
-sub _get_mirrored_by {
- my $self = shift;
- my $cpan = $self->backend;
- my $conf = $self->configure_object;
-
- print loc("
-Now, we are going to fetch the mirror list for first-time configurations.
-This may take a while...
-
-");
-
- ### use the new configuration ###
- $cpan->configure_object( $conf );
-
- load CPANPLUS::Module::Fake;
- load CPANPLUS::Module::Author::Fake;
-
- my $mb = CPANPLUS::Module::Fake->new(
- module => $conf->_get_source('hosts'),
- path => '',
- package => $conf->_get_source('hosts'),
- author => CPANPLUS::Module::Author::Fake->new(
- _id => $cpan->_id ),
- _id => $cpan->_id,
- );
-
- my $file = $cpan->_fetch( fetchdir => $conf->get_conf('base'),
- module => $mb );
-
- return $file if $file;
- return;
-}
-
-sub _parse_mirrored_by {
- my $self = shift;
- my $file = shift;
-
- -s $file or return;
-
- my $fh = new FileHandle;
- $fh->open("$file")
- or (
- warn(loc('Could not open file "%1": %2', $file, $!)),
- return
- );
-
- ### slurp the file in ###
- { local $/; $file = <$fh> }
-
- ### remove comments ###
- $file =~ s/#.*$//gm;
-
- $fh->close;
-
- ### sample host entry ###
- # ftp.sun.ac.za:
- # frequency = "daily"
- # dst_ftp = "ftp://ftp.sun.ac.za/CPAN/CPAN/"
- # dst_location = "Stellenbosch, South Africa, Africa (-26.1992 28.0564)"
- # dst_organisation = "University of Stellenbosch"
- # dst_timezone = "+2"
- # dst_contact = "ftpadm@ftp.sun.ac.za"
- # dst_src = "ftp.funet.fi"
- #
- # # dst_dst = "ftp://ftp.sun.ac.za/CPAN/CPAN/"
- # # dst_contact = "mailto:ftpadm@ftp.sun.ac.za
- # # dst_src = "ftp.funet.fi"
-
- ### host name as key, rest of the entry as value ###
- my %hosts = $file =~ m/([a-zA-Z0-9\-\.]+):\s+((?:\w+\s+=\s+".*?"\s+)+)/gs;
-
- while (my($host,$data) = each %hosts) {
-
- my $href;
- map {
- s/^\s*//;
- my @a = split /\s*=\s*/;
- $a[1] =~ s/^"(.+?)"$/$1/g;
- $href->{ pop @a } = pop @a;
- } grep /\S/, split /\n/, $data;
-
- ($href->{city_area}, $href->{country}, $href->{continent},
- $href->{latitude}, $href->{longitude} ) =
- $href->{dst_location} =~
- m/
- #Aizu-Wakamatsu, Tohoku-chiho, Fukushima
- ^"?(
- (?:[^,]+?)\s* # city
- (?:
- (?:,\s*[^,]+?)\s* # optional area
- )*? # some have multiple areas listed
- )
-
- #Japan
- ,\s*([^,]+?)\s* # country
-
- #Asia
- ,\s*([^,]+?)\s* # continent
-
- # (37.4333 139.9821)
- \((\S+)\s+(\S+?)\)"?$ # (latitude longitude)
- /sx;
-
- ### parse the different hosts, store them in config format ###
- my @list;
-
- for my $type (qw[dst_ftp dst_rsync dst_http]) {
- my $path = $href->{$type};
- next unless $path =~ /\w/;
- if ($type eq 'dst_rsync' && $path !~ /^rsync:/) {
- $path =~ s{::}{/};
- $path = "rsync://$path/";
- }
- my $parts = $self->_parse_host($path);
- push @list, $parts;
- }
-
- $href->{connections} = \@list;
- $hosts{$host} = $href;
- }
-
- return \%hosts;
-}
-
-sub _parse_host {
- my $self = shift;
- my $host = shift;
-
- my @parts = $host =~ m|^(\w*)://([^/]*)(/.*)$|s;
-
- my $href;
- for my $key (qw[scheme host path]) {
- $href->{$key} = shift @parts;
- }
-
- return if lc($href->{'scheme'}) ne 'file' and !$href->{'host'};
- return if !$href->{'path'};
-
- return $href;
-}
-
-## tries to figure out close hosts based on your timezone
-##
-## Currently can only report on unique items for each of zones, countries, and
-## sites. In the future this will be combined with something else (perhaps a
-## ping?) to narrow down multiple choices.
-##
-## Tries to return the best zone, country, and site for your location. Any non-
-## unique items will be set to undef instead.
-##
-## (takes hashref, returns array)
-##
-sub _guess_from_timezone {
- my $self = shift;
- my $hosts = shift;
- my (%zones, %countries, %sites);
-
- ### autrijus - build time zone table
- my %freq_weight = (
- 'hourly' => 2400,
- '4 times a day' => 400,
- '4x daily' => 400,
- 'daily' => 100,
- 'twice daily' => 50,
- 'weekly' => 15,
- );
-
- while (my ($site, $host) = each %{$hosts}) {
- my ($zone, $continent, $country, $frequency) =
- @{$host}{qw/dst_timezone continent country frequency/};
-
-
- # skip non-well-formed ones
- next unless $continent and $country and $zone =~ /^[-+]?\d+(?::30)?/;
- ### fix style
- chomp $zone;
- $zone =~ s/:30/.5/;
- $zone =~ s/^\+//;
- $zone =~ s/"//g;
-
- $zones{$zone}{$continent}++;
- $countries{$zone}{$continent}{$country}++;
- $sites{$zone}{$continent}{$country}{$site} = $freq_weight{$frequency};
- }
-
- use Time::Local;
- my $offset = ((timegm(localtime) - timegm(gmtime)) / 3600);
-
- local $_;
-
- ## pick the entry with most country/site/frequency, one level each;
- ## note it has to be sorted -- otherwise we're depending on the hash order.
- ## also, the list context assignment (pick first one) is deliberate.
-
- my ($continent) = map {
- (sort { ($_->{$b} <=> $_->{$a}) or $b cmp $a } keys(%{$_}))
- } $zones{$offset};
-
- my ($country) = map {
- (sort { ($_->{$b} <=> $_->{$a}) or $b cmp $a } keys(%{$_}))
- } $countries{$offset}{$continent};
-
- my ($site) = map {
- (sort { ($_->{$b} <=> $_->{$a}) or $b cmp $a } keys(%{$_}))
- } $sites{$offset}{$continent}{$country};
-
- return ($continent, $country, $site);
-} # _guess_from_timezone
-
-
-### big big regex, stolen to check if you enter a valid address
-{
- my $RFC822PAT; # RFC pattern to match for valid email address
-
- sub _valid_email {
- my $self = shift;
- if (!$RFC822PAT) {
- my $esc = '\\\\'; my $Period = '\.'; my $space = '\040';
- my $tab = '\t'; my $OpenBR = '\['; my $CloseBR = '\]';
- my $OpenParen = '\('; my $CloseParen = '\)'; my $NonASCII = '\x80-\xff';
- my $ctrl = '\000-\037'; my $CRlist = '\012\015';
-
- my $qtext = qq/[^$esc$NonASCII$CRlist\"]/;
- my $dtext = qq/[^$esc$NonASCII$CRlist$OpenBR$CloseBR]/;
- my $quoted_pair = qq< $esc [^$NonASCII] >; # an escaped character
- my $ctext = qq< [^$esc$NonASCII$CRlist()] >;
- my $Cnested = qq< $OpenParen $ctext* (?: $quoted_pair $ctext* )* $CloseParen >;
- my $comment = qq< $OpenParen $ctext* (?: (?: $quoted_pair | $Cnested ) $ctext* )* $CloseParen >;
- my $X = qq< [$space$tab]* (?: $comment [$space$tab]* )* >;
- my $atom_char = qq/[^($space)<>\@,;:\".$esc$OpenBR$CloseBR$ctrl$NonASCII]/;
- my $atom = qq< $atom_char+ (?!$atom_char) >;
- my $quoted_str = qq< \" $qtext * (?: $quoted_pair $qtext * )* \" >;
- my $word = qq< (?: $atom | $quoted_str ) >;
- my $domain_ref = $atom;
- my $domain_lit = qq< $OpenBR (?: $dtext | $quoted_pair )* $CloseBR >;
- my $sub_domain = qq< (?: $domain_ref | $domain_lit) $X >;
- my $domain = qq< $sub_domain (?: $Period $X $sub_domain)* >;
- my $route = qq< \@ $X $domain (?: , $X \@ $X $domain )* : $X >;
- my $local_part = qq< $word $X (?: $Period $X $word $X )* >;
- my $addr_spec = qq< $local_part \@ $X $domain >;
- my $route_addr = qq[ < $X (?: $route )? $addr_spec > ];
- my $phrase_ctrl = '\000-\010\012-\037'; # like ctrl, but without tab
- my $phrase_char = qq/[^()<>\@,;:\".$esc$OpenBR$CloseBR$NonASCII$phrase_ctrl]/;
- my $phrase = qq< $word $phrase_char * (?: (?: $comment | $quoted_str ) $phrase_char * )* >;
- $RFC822PAT = qq< $X (?: $addr_spec | $phrase $route_addr) >;
- }
-
- return scalar ($_[0] =~ /$RFC822PAT/ox);
- }
-}
-
-
-
-
-
-
-1;
-
-
-sub _edit {
- my $self = shift;
- my $conf = $self->configure_object;
- my $file = shift || $conf->_config_pm_to_file( $self->config_type );
- my $editor = shift || $conf->get_program('editor');
- my $term = $self->term;
-
- unless( $editor ) {
- print loc("
-I'm sorry, I can't find a suitable editor, so I can't offer you
-post-configuration editing of the config file
-
-");
- return 1;
- }
-
- ### save the thing first, so there's something to edit
- $self->_save;
-
- return !system("$editor $file");
-}
-
-sub _save {
- my $self = shift;
- my $conf = $self->configure_object;
-
- return $conf->save( $self->config_type );
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
deleted file mode 100644
index 51ee5fb9caa..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
+++ /dev/null
@@ -1,808 +0,0 @@
-package CPANPLUS::Dist;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use Cwd ();
-use Object::Accessor;
-use Parse::CPAN::Meta;
-
-use IPC::Cmd qw[run];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-use base 'Object::Accessor';
-
-local $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Dist - base class for plugins
-
-=head1 SYNOPSIS
-
- my $dist = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE->new(
- module => $modobj,
- );
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Dist> is a base class for C<CPANPLUS::Dist::MM>
-and C<CPANPLUS::Dist::Build>. Developers of other C<CPANPLUS::Dist::*>
-plugins should look at C<CPANPLUS::Dist::Base>.
-
-=head1 ACCESSORS
-
-=over 4
-
-=item parent()
-
-Returns the C<CPANPLUS::Module> object that parented this object.
-
-=item status()
-
-Returns the C<Object::Accessor> object that keeps the status for
-this module.
-
-=back
-
-=head1 STATUS ACCESSORS
-
-All accessors can be accessed as follows:
- $deb->status->ACCESSOR
-
-=over 4
-
-=item created()
-
-Boolean indicating whether the dist was created successfully.
-Explicitly set to C<0> when failed, so a value of C<undef> may be
-interpreted as C<not yet attempted>.
-
-=item installed()
-
-Boolean indicating whether the dist was installed successfully.
-Explicitly set to C<0> when failed, so a value of C<undef> may be
-interpreted as C<not yet attempted>.
-
-=item uninstalled()
-
-Boolean indicating whether the dist was uninstalled successfully.
-Explicitly set to C<0> when failed, so a value of C<undef> may be
-interpreted as C<not yet attempted>.
-
-=item dist()
-
-The location of the final distribution. This may be a file or
-directory, depending on how your distribution plug in of choice
-works. This will be set upon a successful create.
-
-=cut
-
-=back
-
-=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
-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
-C<CPANPLUS::Dist::Build> and so on ).
-
-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
-and false on failure.
-
-=cut
-
-sub new {
- my $self = shift;
- my $class = ref $self || $self;
- my %hash = @_;
-
- ### first verify we got a module object ###
- my( $mod, $format );
- my $tmpl = {
- module => { required => 1, allow => IS_MODOBJ, store => \$mod },
- ### for backwards compatibility
- format => { default => $class, store => \$format,
- allow => [ __PACKAGE__->dist_types ],
- },
- };
- check( $tmpl, \%hash ) or return;
-
- unless( can_load( modules => { $format => '0.0' }, verbose => 1 ) ) {
- error(loc("'%1' not found -- you need '%2' version '%3' or higher ".
- "to detect plugins", $format, 'Module::Pluggable','2.4'));
- return;
- }
-
- ### get an empty o::a object for this class
- my $obj = $format->SUPER::new;
-
- $obj->mk_accessors( qw[parent status] );
-
- ### set the parent
- $obj->parent( $mod );
-
- ### create a status object ###
- { my $acc = Object::Accessor->new;
- $obj->status($acc);
-
- ### add minimum supported accessors
- $acc->mk_accessors( qw[prepared created installed uninstalled
- distdir dist] );
- }
-
- ### get the conf object ###
- my $conf = $mod->parent->configure_object();
-
- ### check if the format is available in this environment ###
- if( $conf->_get_build('sanity_check') and not $obj->format_available ) {
- error( loc( "Format '%1' is not available", $format) );
- return;
- }
-
- ### now initialize it or admit failure
- unless( $obj->init ) {
- error(loc("Dist initialization of '%1' failed for '%2'",
- $format, $mod->module));
- return;
- }
-
- ### return the object
- return $obj;
-}
-
-=head2 @dists = CPANPLUS::Dist->dist_types;
-
-Returns a list of the CPANPLUS::Dist::* classes available
-
-=cut
-
-### returns a list of dist_types we support
-### will get overridden by Module::Pluggable if loaded
-### XXX add support for 'plugin' dir in config as well
-{ my $Loaded;
- my @Dists = (INSTALLER_MM);
- my @Ignore = ();
-
- ### 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 = () };
-
- ### locally add the plugins dir to @INC, so we can find extra plugins
- #local @INC = @INC, File::Spec->catdir(
- # $conf->get_conf('base'),
- # $conf->_get_build('plugins') );
-
- ### load any possible plugins
- sub dist_types {
-
- if ( !$Loaded++ and check_install( module => 'Module::Pluggable',
- version => '2.4')
- ) {
- require Module::Pluggable;
-
- my $only_re = __PACKAGE__ . '::\w+$';
- my %except = map { $_ => 1 }
- INSTALLER_SAMPLE,
- INSTALLER_BASE;
-
- Module::Pluggable->import(
- sub_name => '_dist_types',
- search_path => __PACKAGE__,
- only => qr/$only_re/,
- require => 1,
- except => [ keys %except ]
- );
- my %ignore = map { $_ => $_ } @Ignore;
-
- push @Dists, grep { not $ignore{$_} and not $except{$_} }
- __PACKAGE__->_dist_types;
- }
-
- return @Dists;
- }
-
-=head2 $bool = CPANPLUS::Dist->rescan_dist_types;
-
-Rescans C<@INC> for available dist types. Useful if you've installed new
-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 )
-
-Returns true if distribution type C<$type> is loaded/supported.
-
-=cut
-
-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 )
-
-Returns true if this prereq is satisfied. Returns false if it's not.
-Also issues an error if it seems "unsatisfiable," i.e. if it can't be
-found on CPAN or the latest CPAN version doesn't satisfy it.
-
-=cut
-
-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(
- "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.",
- $mod->module, $mod->module, $mod->version, $ver ));
-
- }
-
- return;
-}
-
-=head2 $configure_requires = $dist->find_configure_requires( [file => /path/to/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.
-
-=cut
-
-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 = (
- defaults => $mod->status->$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;
- }
-
- }
-
- ### 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 = (
- defaults => $mod->status->$meth || {},
- );
-
- 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;
- }
-
- }
-
- ### 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 %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_YML->( $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!!!
-
- local $ENV{PERL_JSON_BACKEND};
-
- my ($doc) = eval { Parse::CPAN::Meta::LoadFile( $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 };
- }
- }
-
- ### 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!!!
-
- local $ENV{PERL_JSON_BACKEND};
-
- 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 };
-}
-
-=head2 $bool = $dist->_resolve_prereqs( ... )
-
-Makes sure prerequisites are resolved
-
- format The dist class to use to make the prereqs
- (ie. CPANPLUS::Dist::MM)
-
- prereqs Hash of the prerequisite modules and their versions
-
- target What to do with the prereqs.
- create => Just build them
- install => Install them
- ignore => Ignore them
-
- prereq_build If true, always build the prereqs even if already
- resolved
-
- verbose Be verbose
-
- force Force the prereq to be built, even if already resolved
-
-=cut
-
-sub _resolve_prereqs {
- my $dist = shift;
- my $self = $dist->parent;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my ($prereqs, $format, $verbose, $target, $force, $prereq_build,$tolerant);
- my $tmpl = {
- ### XXX perhaps this should not be required, since it may not be
- ### packaged, just installed...
- ### Let it be empty as well -- that means the $modobj->install
- ### routine will figure it out, which is fine if we didn't have any
- ### very specific wishes (it will even detect the favourite
- ### dist_type).
- format => { required => 1, store => \$format,
- allow => ['',__PACKAGE__->dist_types], },
- prereqs => { required => 1, default => { },
- strict_type => 1, store => \$prereqs },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- ### make sure allow matches with $mod->install's list
- target => { default => '', store => \$target,
- allow => ['',qw[create ignore install]] },
- prereq_build => { default => 0, store => \$prereq_build },
- tolerant => { default => $conf->get_conf('allow_unknown_prereqs'),
- store => \$tolerant },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### so there are no prereqs? then don't even bother
- return 1 unless keys %$prereqs;
-
- ### Make sure we wound up where we started.
- my $original_wd = Cwd::cwd;
-
- ### so you didn't provide an explicit target.
- ### maybe your config can tell us what to do.
- $target ||= {
- PREREQ_ASK, TARGET_INSTALL, # we'll bail out if the user says no
- PREREQ_BUILD, TARGET_CREATE,
- 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,
- ### as all CPANPLUS' prereqs are being installed as well, but are
- ### being loaded for bootstrapping purposes. This means CPANPLUS
- ### can find them, but for example cpanplus::dist::build won't,
- ### which gets messy FAST. So, here we sort our prereqs only IF
- ### the parent module is Bundle::CPANPLUS::Dependencies.
- ### Really, we would wnat some sort of sorted prereq mechanism,
- ### but Bundle:: doesn't support it, and we flatten everything
- ### to a hash internally. A sorted hash *might* do the trick if
- ### 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);
- for my $mod ( sort keys %$prereqs ) {
- $mod =~ /CPANPLUS/
- ? push @last, $mod
- : push @first, $mod;
- }
- @sorted_prereqs = (@first, @last);
- } else {
- @sorted_prereqs = sort keys %$prereqs;
- }
-
- ### first, transfer this key/value pairing into a
- ### list of module objects + desired versions
- my @install_me;
-
- my $flag;
-
- for my $mod ( @sorted_prereqs ) {
- ( 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 ) {
-
- unless( $cb->_vcmp( sprintf('v%vd',$^V), $version ) >= 0 ) {
- error(loc( "Module '%1' needs perl version '%2', but you ".
- "only have version '%3' -- can not proceed",
- $self->module, $version,
- $cb->_perl_version( perl => $^X ) ) );
- return;
- }
-
- next;
- }
-
- my $modobj = $cb->module_tree($mod);
-
- #### XXX we ignore the version, and just assume that the latest
- #### version from cpan will meet your requirements... dodgy =/
- unless( $modobj ) {
- # Check if it is a core module
- my $sub = CPANPLUS::Module->can(
- 'module_is_supplied_with_perl_core' );
- my $core = $sub->( $mod );
- unless ( defined $core ) {
- error( loc( "No such module '%1' found on CPAN", $mod ) );
- $flag++ unless $tolerant;
- 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,
- $self->module, $version ));
- }
- next;
- }
-
- ### it's not uptodate, we need to install it
- if( !$dist->prereq_satisfied(modobj => $modobj, version => $version)) {
- msg(loc("Module '%1' requires '%2' version '%3' to be installed ",
- $self->module, $modobj->module, $version), $verbose );
-
- push @install_me, [$modobj, $version];
-
- ### it's not an MM or Build format, that means it's a package
- ### manager... we'll need to install it as well, via the PM
- } elsif ( INSTALL_VIA_PACKAGE_MANAGER->($format) and
- !$modobj->package_is_perl_core and
- ($target ne TARGET_IGNORE)
- ) {
- msg(loc("Module '%1' depends on '%2', may need to build a '%3' ".
- "package for it as well", $self->module, $modobj->module,
- $format));
- push @install_me, [$modobj, $version];
- }
- }
-
-
-
- ### so you just want to ignore prereqs? ###
- if( $target eq TARGET_IGNORE ) {
-
- ### but you have modules you need to install
- if( @install_me ) {
- msg(loc("Ignoring prereqs, this may mean your install will fail"),
- $verbose);
- msg(loc("'%1' listed the following dependencies:", $self->module),
- $verbose);
-
- for my $aref (@install_me) {
- my ($mod,$version) = @$aref;
-
- my $str = sprintf "\t%-35s %8s\n", $mod->module, $version;
- msg($str,$verbose);
- }
-
- return;
-
- ### ok, no problem, you have all needed prereqs anyway
- } else {
- return 1;
- }
- }
-
- for my $aref (@install_me) {
- my($modobj,$version) = @$aref;
-
- ### another prereq may have already installed this one...
- ### so dont ask again if the module turns out to be uptodate
- ### see bug [#11840]
- ### if either force or prereq_build are given, the prereq
- ### should be built anyway
- next if (!$force and !$prereq_build) &&
- $dist->prereq_satisfied(modobj => $modobj, version => $version);
-
- ### either we're told to ignore the prereq,
- ### or the user wants us to ask him
- if( ( $conf->get_conf('prereqs') == PREREQ_ASK and not
- $cb->_callbacks->install_prerequisite->($self, $modobj)
- )
- ) {
- msg(loc("Will not install prerequisite '%1' -- Note " .
- "that the overall install may fail due to this",
- $modobj->module), $verbose);
- next;
- }
-
- ### value set and false -- means failure ###
- if( defined $modobj->status->installed
- && !$modobj->status->installed
- ) {
- error( loc( "Prerequisite '%1' failed to install before in " .
- "this session", $modobj->module ) );
- $flag++;
- last;
- }
-
- ### part of core?
- if( $modobj->package_is_perl_core ) {
- error(loc("Prerequisite '%1' is perl-core (%2) -- not ".
- "installing that. -- Note that the overall ".
- "install may fail due to this.",
- $modobj->module, $modobj->package ) );
- next;
- }
-
- ### circular dependency code ###
- my $pending = $cb->_status->pending_prereqs || {};
-
- ### recursive dependency ###
- if ( $pending->{ $modobj->module } ) {
- error( loc( "Recursive dependency detected (%1) -- skipping",
- $modobj->module ) );
- next;
- }
-
- ### register this dependency as pending ###
- $pending->{ $modobj->module } = $modobj;
- $cb->_status->pending_prereqs( $pending );
-
- ### call $modobj->install rather than doing
- ### CPANPLUS::Dist->new and the like ourselves,
- ### since ->install will take care of fetch &&
- ### extract as well
- my $pa = $dist->status->_prepare_args || {};
- my $ca = $dist->status->_create_args || {};
- my $ia = $dist->status->_install_args || {};
-
- unless( $modobj->install( %$pa, %$ca, %$ia,
- force => $force,
- verbose => $verbose,
- format => $format,
- target => $target )
- ) {
- error(loc("Failed to install '%1' as prerequisite " .
- "for '%2'", $modobj->module, $self->module ) );
- $flag++;
- }
-
- ### unregister the pending dependency ###
- $pending->{ $modobj->module } = 0;
- $cb->_status->pending_prereqs( $pending );
-
- last if $flag;
-
- ### don't want us to install? ###
- if( $target ne TARGET_INSTALL ) {
- my $dir = $modobj->status->extract
- or error(loc("No extraction dir for '%1' found ".
- "-- weird", $modobj->module));
-
- $modobj->add_to_includepath();
-
- next;
- }
- }
-
- ### reset the $prereqs iterator, in case we bailed out early ###
- keys %$prereqs;
-
- ### chdir back to where we started
- $cb->_chdir( dir => $original_wd );
-
- return 1 unless $flag;
- return;
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
deleted file mode 100644
index d5e45f3eca0..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
+++ /dev/null
@@ -1,120 +0,0 @@
-package CPANPLUS::Dist::Autobundle;
-use deprecate;
-
-use strict;
-use warnings;
-use CPANPLUS::Error qw[error msg];
-use Params::Check qw[check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-use base qw[CPANPLUS::Dist::Base];
-
-=head1 NAME
-
-CPANPLUS::Dist::Autobundle - distribution class for installation snapshots
-
-=head1 SYNOPSIS
-
- $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
-snapshots as created by C<CPANPLUS>' C<autobundle> command.
-
-All modules as mentioned in the snapshot will be installed on your system.
-
-=cut
-
-sub init {
- my $dist = shift;
- my $status = $dist->status;
-
- $status->mk_accessors(
- qw[prepared created installed _prepare_args _create_args _install_args]
- );
-
- return 1;
-}
-
-sub prepare {
- my $dist = shift;
- my %args = @_;
-
- ### store the arguments, so ->install can use them in recursive loops ###
- $dist->status->_prepare_args( \%args );
-
- return $dist->status->prepared( 1 );
-}
-
-sub create {
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my( $force, $verbose, $prereq_target, $prereq_format, $prereq_build);
-
- my $args = do {
- local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- prereq_target => { default => '', store => \$prereq_target },
-
- ### don't set the default prereq format to 'makemaker' -- wrong!
- prereq_format => { #default => $self->status->installer_type,
- default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
-
- check( $tmpl, \%hash ) or return;
- };
-
- ### maybe we already ran a create on this object? ###
- return 1 if $dist->status->created && !$force;
-
- ### store the arguments, so ->install can use them in recursive loops ###
- $dist->status->_create_args( \%hash );
-
- msg(loc("Resolving prerequisites mentioned in the bundle"), $verbose);
-
- ### this will set the directory back to the start
- ### dir, so we must chdir /again/
- my $ok = $dist->_resolve_prereqs(
- format => $prereq_format,
- verbose => $verbose,
- prereqs => $self->status->prereqs,
- target => $prereq_target,
- force => $force,
- prereq_build => $prereq_build,
- );
-
- ### if all went well, mark it & return
- return $dist->status->created( $ok ? 1 : 0);
-}
-
-sub install {
- my $dist = shift;
- my %args = @_;
-
- ### store the arguments, so ->install can use them in recursive loops ###
- $dist->status->_install_args( \%args );
-
- return $dist->status->installed( 1 );
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
deleted file mode 100644
index 73736d9e4da..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
+++ /dev/null
@@ -1,261 +0,0 @@
-package CPANPLUS::Dist::Base;
-use deprecate;
-
-use strict;
-
-use base qw[CPANPLUS::Dist];
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=head1 NAME
-
-CPANPLUS::Dist::Base - Base class for custom distribution classes
-
-=head1 SYNOPSIS
-
- package CPANPLUS::Dist::MY_IMPLEMENTATION
-
- use base 'CPANPLUS::Dist::Base';
-
- sub prepare {
- my $dist = shift;
-
- ### do the 'standard' things
- $dist->SUPER::prepare( @_ ) or return;
-
- ### do MY_IMPLEMENTATION specific things
- ...
-
- ### don't forget to set the status!
- return $dist->status->prepared( $SUCCESS ? 1 : 0 );
- }
-
-
-=head1 DESCRIPTION
-
-CPANPLUS::Dist::Base functions as a base class for all custom
-distribution implementations. It does all the mundane work
-CPANPLUS would have done without a custom distribution, so you
-can override just the parts you need to make your own implementation
-work.
-
-=head1 FLOW
-
-Below is a brief outline when and in which order methods in this
-class are called:
-
- $Class->format_available; # can we use this class on this system?
-
- $dist->init; # set up custom accessors, etc
- $dist->prepare; # find/write meta information
- $dist->create; # write the distribution file
- $dist->install; # install the distribution file
-
- $dist->uninstall; # remove the distribution (OPTIONAL)
-
-=head1 METHODS
-
-=cut
-
-=head2 @subs = $Class->methods
-
-Returns a list of methods that this class implements that you can
-override.
-
-=cut
-
-sub methods {
- return qw[format_available init prepare create install uninstall]
-}
-
-=head2 $bool = $Class->format_available
-
-This method is called when someone requests a module to be installed
-via the superclass. This gives you the opportunity to check if all
-the needed requirements to build and install this distribution have
-been met.
-
-For example, you might need a command line program, or a certain perl
-module installed to do your job. Now is the time to check.
-
-Simply return true if the request can proceed and false if it can not.
-
-The C<CPANPLUS::Dist::Base> implementation always returns true.
-
-=cut
-
-sub format_available { return 1 }
-
-
-=head2 $bool = $dist->init
-
-This method is called just after the new dist object is set up and
-before the C<prepare> method is called. This is the time to set up
-the object so it can be used with your class.
-
-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 successful, and false if it was
-not.
-
-The C<CPANPLUS::Dist::Base> implementation does not alter your object
-and always returns true.
-
-=cut
-
-sub init { return 1; }
-
-=head2 $bool = $dist->prepare
-
-This runs the preparation step of your distribution. This step is meant
-to set up the environment so the C<create> step can create the actual
-distribution(file).
-A C<prepare> call in the standard C<ExtUtils::MakeMaker> distribution
-would, for example, run C<perl Makefile.PL> to find the dependencies
-for a distribution. For a C<debian> distribution, this is where you
-would write all the metafiles required for the C<dpkg-*> tools.
-
-The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
-C<CPANPLUS::Dist::Build>).
-
-Sets C<< $dist->status->prepared >> to the return value of this function.
-If you override this method, you should make sure to set this value.
-
-=cut
-
-sub prepare {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
-
- $dist->status->prepared( $dist_cpan->prepare( @_ ) );
-}
-
-=head2 $bool = $dist->create
-
-This runs the creation step of your distribution. This step is meant
-to follow up on the C<prepare> call, that set up your environment so
-the C<create> step can create the actual distribution(file).
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
-would, for example, run C<make> and C<make test> to build and test
-a distribution. For a C<debian> distribution, this is where you
-would create the actual C<.deb> file using C<dpkg>.
-
-The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
-C<CPANPLUS::Dist::Build>).
-
-Sets C<< $dist->status->dist >> to the location of the created
-distribution.
-If you override this method, you should make sure to set this value.
-
-Sets C<< $dist->status->created >> to the return value of this function.
-If you override this method, you should make sure to set this value.
-
-=cut
-
-sub create {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
- $dist = $self->status->dist if $self->status->dist;
- $self->status->dist( $dist ) unless $self->status->dist;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my $format = ref $dist;
-
- ### make sure to set this variable, if the caller hasn't yet
- ### just so we have some clue where the dist left off.
- $dist->status->dist( $dist_cpan->status->distdir )
- unless defined $dist->status->dist;
-
- $dist->status->created( $dist_cpan->create(prereq_format => $format, @_) );
-}
-
-=head2 $bool = $dist->install
-
-This runs the install step of your distribution. This step is meant
-to follow up on the C<create> call, which prepared a distribution(file)
-to install.
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
-would, for example, run C<make install> to copy the distribution files
-to their final destination. For a C<debian> distribution, this is where
-you would run C<dpkg --install> on the created C<.deb> file.
-
-The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
-C<CPANPLUS::Dist::Build>).
-
-Sets C<< $dist->status->installed >> to the return value of this function.
-If you override this method, you should make sure to set this value.
-
-=cut
-
-sub install {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
-
- $dist->status->installed( $dist_cpan->install( @_ ) );
-}
-
-=head2 $bool = $dist->uninstall
-
-This runs the uninstall step of your distribution. This step is meant
-to remove the distribution from the file system.
-A C<uninstall> call in the standard C<ExtUtils::MakeMaker> distribution
-would, for example, run C<make uninstall> to remove the distribution
-files the file system. For a C<debian> distribution, this is where you
-would run C<dpkg --uninstall PACKAGE>.
-
-The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
-C<CPANPLUS::Dist::Build>).
-
-Sets C<< $dist->status->uninstalled >> to the return value of this function.
-If you override this method, you should make sure to set this value.
-
-=cut
-
-sub uninstall {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
-
- $dist->status->uninstalled( $dist_cpan->uninstall( @_ ) );
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
deleted file mode 100644
index d938749c825..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
+++ /dev/null
@@ -1,879 +0,0 @@
-package CPANPLUS::Dist::Build;
-
-use if $] > 5.017, 'deprecate';
-
-use strict;
-use warnings;
-use vars qw[@ISA $STATUS $VERSION];
-@ISA = qw[CPANPLUS::Dist];
-
-use CPANPLUS::Internals::Constants;
-
-### these constants were exported by CPANPLUS::Internals::Constants
-### in previous versions.. they do the same though. If we want to have
-### a normal 'use' here, up the dependency to CPANPLUS 0.056 or higher
-BEGIN {
- require CPANPLUS::Dist::Build::Constants;
- CPANPLUS::Dist::Build::Constants->import()
- if not __PACKAGE__->can('BUILD') && __PACKAGE__->can('BUILD_DIR');
-}
-
-use CPANPLUS::Error;
-
-use Config;
-use FileHandle;
-use Cwd;
-use version;
-
-use IPC::Cmd qw[run];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-local $Params::Check::VERBOSE = 1;
-
-$VERSION = '0.70';
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use Build.PL
-
-=head1 SYNOPSIS
-
- my $build = CPANPLUS::Dist->new(
- format => 'CPANPLUS::Dist::Build',
- module => $modobj,
- );
-
- $build->prepare; # runs Build.PL
- $build->create; # runs build && build test
- $build->install; # runs build install
-
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Dist::Build> is a distribution class for C<Module::Build>
-related modules.
-Using this package, you can create, install and uninstall perl
-modules. It inherits from C<CPANPLUS::Dist>.
-
-Normal users won't have to worry about the interface to this module,
-as it functions transparently as a plug-in to C<CPANPLUS> and will
-just C<Do The Right Thing> when it's loaded.
-
-=head1 ACCESSORS
-
-=over 4
-
-=item C<parent()>
-
-Returns the C<CPANPLUS::Module> object that parented this object.
-
-=item C<status()>
-
-Returns the C<Object::Accessor> object that keeps the status for
-this module.
-
-=back
-
-=head1 STATUS ACCESSORS
-
-All accessors can be accessed as follows:
- $build->status->ACCESSOR
-
-=over 4
-
-=item C<build_pl ()>
-
-Location of the Build file.
-Set to 0 explicitly if something went wrong.
-
-=item C<build ()>
-
-BOOL indicating if the C<Build> command was successful.
-
-=item C<test ()>
-
-BOOL indicating if the C<Build test> command was successful.
-
-=item C<prepared ()>
-
-BOOL indicating if the C<prepare> call exited successfully
-This gets set after C<perl Build.PL>
-
-=item C<distdir ()>
-
-Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>.
-
-=item C<created ()>
-
-BOOL indicating if the C<create> call exited successfully. This gets
-set after C<Build> and C<Build test>.
-
-=item C<installed ()>
-
-BOOL indicating if the module was installed. This gets set after
-C<Build install> exits successfully.
-
-=item uninstalled ()
-
-BOOL indicating if the module was uninstalled properly.
-
-=item C<_create_args ()>
-
-Storage of the arguments passed to C<create> for this object. Used
-for recursive calls when satisfying prerequisites.
-
-=item C<_install_args ()>
-
-Storage of the arguments passed to C<install> for this object. Used
-for recursive calls when satisfying prerequisites.
-
-=back
-
-=cut
-
-=head1 METHODS
-
-=head2 $bool = CPANPLUS::Dist::Build->format_available();
-
-Returns a boolean indicating whether or not you can use this package
-to create and install modules in your environment.
-
-=cut
-
-### check if the format is available ###
-sub format_available {
- 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;
- }
-
- return 1;
-}
-
-
-=head2 $bool = $dist->init();
-
-Sets up the C<CPANPLUS::Dist::Build> object for use.
-Effectively creates all the needed status accessors.
-
-Called automatically whenever you create a new C<CPANPLUS::Dist> object.
-
-=cut
-
-sub init {
- my $dist = shift;
- my $status = $dist->status;
-
- $status->mk_accessors(qw[build_pl build test created installed uninstalled
- _create_args _install_args _prepare_args
- _mb_object _buildflags
- ]);
-
- ### just in case 'format_available' didn't get called
- require Module::Build;
-
- return 1;
-}
-
-=pod
-
-=head2 $bool = $dist->prepare([perl => '/path/to/perl', buildflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
-
-C<prepare> prepares a distribution, running C<Build.PL>
-and establishing any prerequisites this
-distribution has.
-
-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 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.
-
-=cut
-
-sub prepare {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared from another installer
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $args;
- my( $force, $verbose, $buildflags, $perl, $prereq_target, $prereq_format,
- $prereq_build );
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- perl => { default => $^X, store => \$perl },
- buildflags => { default => $conf->get_conf('buildflags'),
- store => \$buildflags },
- prereq_target => { default => '', store => \$prereq_target },
- prereq_format => { default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- return 1 if $dist->status->prepared && !$force;
-
- $dist->status->_prepare_args( $args );
-
- ### chdir to work directory ###
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- ### by now we've loaded module::build, and we're using the API, so
- ### it's safe to remove CPANPLUS::inc from our inc path, especially
- ### because it can trip up tests run under taint (just like EU::MM).
- ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
- ### included in make test -- it should build without.
- ### also, modules that run in taint mode break if we leave
- ### our code ref in perl5opt
- ### XXX we've removed the ENV settings from cp::inc, so only need
- ### to reset the @INC
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt;
- #local $ENV{PERL5LIB} = CPANPLUS::inc->original_perl5lib;
- #local @INC = CPANPLUS::inc->original_inc;
-
- ### this will generate warnings under anything lower than M::B 0.2606
- my @buildflags = $dist->_buildflags_as_list( $buildflags );
- $dist->status->_buildflags( $buildflags );
-
- my $fail; my $prereq_fail;
- my $status = { };
- RUN: {
- # 0.85_01
- ### 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 *doesn't* resolve. Check the error log for ok
- ### on this step or failure
- ### 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 )
- { my $configure_requires = $dist->find_configure_requires;
- my $ok = $dist->_resolve_prereqs(
- format => $prereq_format,
- verbose => $verbose,
- prereqs => $configure_requires,
- target => $prereq_target,
- force => $force,
- prereq_build => $prereq_build,
- );
-
- unless( $ok ) {
-
- #### use $dist->flush to reset the cache ###
- error( loc( "Unable to satisfy '%1' for '%2' " .
- "-- aborting install",
- 'configure_requires', $self->module ) );
- $dist->status->prepared(0);
- $prereq_fail++;
- $fail++;
- last RUN;
- }
- ### end of prereq resolving ###
- }
-
- # Wrap the exception that may be thrown here (should likely be
- # done at a much higher level).
- my $prep_output;
-
- my $env = ENV_CPANPLUS_IS_EXECUTING;
- local $ENV{$env} = BUILD_PL->( $dir );
- my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
- my $cmd = [$perl, @run_perl, BUILD_PL->($dir), @buildflags];
-
- unless ( scalar run( command => $cmd,
- buffer => \$prep_output,
- verbose => $verbose )
- ) {
- error( loc( "Build.PL failed: %1", $prep_output ) );
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'prepare';
- $status->{capture} = $prep_output;
- }
- $fail++; last RUN;
- }
-
- unless ( BUILD->( $dir ) ) {
- error( loc( "Build.PL failed to generate a Build script: %1", $prep_output ) );
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'prepare';
- $status->{capture} = $prep_output;
- }
- $fail++; last RUN;
- }
-
- msg( $prep_output, 0 );
-
- my $prereqs = $self->status->prereqs;
-
- $prereqs ||= $dist->_find_prereqs( verbose => $verbose,
- dir => $dir,
- perl => $perl,
- buildflags => $buildflags );
-
- }
-
- ### send out test report? ###
- if( $fail and $conf->get_conf('cpantest') and not $prereq_fail ) {
- $cb->_send_report(
- module => $self,
- failed => $fail,
- buffer => CPANPLUS::Error->stack_as_string,
- status => $status,
- verbose => $verbose,
- force => $force,
- ) or error(loc("Failed to send test report for '%1'",
- $self->module ) );
- }
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- ### save where we wrote this stuff -- same as extract dir in normal
- ### installer circumstances
- $dist->status->distdir( $self->status->extract );
-
- return $dist->status->prepared( $fail ? 0 : 1 );
-}
-
-sub _find_prereqs {
- my $dist = shift;
- my $self = $dist->parent;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my ($verbose, $dir, $buildflags, $perl);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- dir => { default => $self->status->extract, store => \$dir },
- perl => { default => $^X, store => \$perl },
- buildflags => { default => $conf->get_conf('buildflags'),
- store => \$buildflags },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $prereqs = {};
-
- $prereqs = $dist->find_mymeta_requires()
- if $dist->can('find_mymeta_requires');
-
- if ( keys %$prereqs ) {
- # Ugly hack
- }
- else {
- my $safe_ver = version->new('0.31_03');
- my $content;
- PREREQS: {
- if ( version->new( $Module::Build::VERSION ) >= $safe_ver and IPC::Cmd->can_capture_buffer ) {
- my @buildflags = $dist->_buildflags_as_list( $buildflags );
-
- # Use the new Build action 'prereq_data'
- my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
-
- unless ( scalar run( command => [$perl, @run_perl, BUILD->($dir), 'prereq_data', @buildflags],
- buffer => \$content,
- verbose => 0 )
- ) {
- error( loc( "Build 'prereq_data' failed: %1 %2", $!, $content ) );
- #return;
- }
- else {
- last PREREQS;
- }
-
- }
-
- my $file = File::Spec->catfile( $dir, '_build', 'prereqs' );
- return unless -f $file;
-
- my $fh = FileHandle->new();
-
- unless( $fh->open( $file ) ) {
- error( loc( "Cannot open '%1': %2", $file, $! ) );
- return;
- }
-
- $content = do { local $/; <$fh> };
-
- }
-
- return unless $content;
- my $bphash = eval $content;
- return unless $bphash and ref $bphash eq 'HASH';
- foreach my $type ('requires', 'build_requires') {
- next unless $bphash->{$type} and ref $bphash->{$type} eq 'HASH';
- $prereqs->{$_} = $bphash->{$type}->{$_} for keys %{ $bphash->{$type} };
- }
- }
-
- {
- 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
- ### fit. The default installed callback will return the hashref in
- ### an unmodified form
- ### this callback got added after cpanplus 0.0562, so use a 'can'
- ### to find out if it's supported. For older versions, we'll just
- ### return the hashref as is ourselves.
- my $href = $cb->_callbacks->can('filter_prereqs')
- ? $cb->_callbacks->filter_prereqs->( $cb, $prereqs )
- : $prereqs;
-
- $self->status->prereqs( $href );
-
- ### make sure it's not the same ref
- return { %$href };
-}
-
-=pod
-
-=head2 $dist->create([perl => '/path/to/perl', buildflags => 'EXTRA=FLAGS', prereq_target => TARGET, force => BOOL, verbose => BOOL, skiptest => BOOL])
-
-C<create> preps a distribution for installation. This means it will
-run C<Build> and C<Build test>.
-This will also satisfy any prerequisites the module may have.
-
-If you set C<skiptest> to true, it will skip the C<Build test> stage.
-If you set C<force> to true, it will go over all the stages of the
-C<Build> process again, ignoring any previously cached results. It
-will also ignore a bad return value from C<Build test> and still allow
-the operation to return true.
-
-Returns true on success and false on failure.
-
-You may then call C<< $dist->install >> on the object to actually
-install it.
-
-=cut
-
-sub create {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared from another installer
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $args;
- my( $force, $verbose, $buildflags, $skiptest, $prereq_target,
- $perl, $prereq_format, $prereq_build);
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- perl => { default => $^X, store => \$perl },
- buildflags => { default => $conf->get_conf('buildflags'),
- store => \$buildflags },
- skiptest => { default => $conf->get_conf('skiptest'),
- store => \$skiptest },
- prereq_target => { default => '', store => \$prereq_target },
- ### don't set the default format to 'build' -- that is wrong!
- prereq_format => { #default => $self->status->installer_type,
- default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- # restore the state as we have created this already.
- if ( $dist->status->created && !$force ) {
- ### add this directory to your lib ###
- $self->add_to_includepath();
- return 1;
- }
-
- $dist->status->_create_args( $args );
-
- ### is this dist prepared?
- unless( $dist->status->prepared ) {
- error( loc( "You have not successfully prepared a '%2' distribution ".
- "yet -- cannot create yet", __PACKAGE__ ) );
- return;
- }
-
- ### chdir to work directory ###
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- ### by now we've loaded module::build, and we're using the API, so
- ### it's safe to remove CPANPLUS::inc from our inc path, especially
- ### because it can trip up tests run under taint (just like EU::MM).
- ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
- ### included in make test -- it should build without.
- ### also, modules that run in taint mode break if we leave
- ### our code ref in perl5opt
- ### XXX we've removed the ENV settings from cp::inc, so only need
- ### to reset the @INC
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt;
- #local $ENV{PERL5LIB} = CPANPLUS::inc->original_perl5lib;
- #local @INC = CPANPLUS::inc->original_inc;
-
- ### but do it *before* the new_from_context, as M::B seems
- ### to be actually running the file...
- ### an unshift in the block seems to be ignored.. somehow...
- #{ my $lib = $self->best_path_to_module_build;
- # unshift @INC, $lib if $lib;
- #}
- unshift @INC, $self->best_path_to_module_build
- if $self->best_path_to_module_build;
-
- ### this will generate warnings under anything lower than M::B 0.2606
- my @buildflags = $dist->_buildflags_as_list( $buildflags );
- $dist->status->_buildflags( $buildflags );
-
- my $fail; my $prereq_fail; my $test_fail;
- my $status = { };
- RUN: {
-
- my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
-
- ### this will set the directory back to the start
- ### dir, so we must chdir /again/
- my $ok = $dist->_resolve_prereqs(
- force => $force,
- format => $prereq_format,
- verbose => $verbose,
- prereqs => $self->status->prereqs,
- target => $prereq_target,
- prereq_build => $prereq_build,
- );
-
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- unless( $ok ) {
- #### use $dist->flush to reset the cache ###
- error( loc( "Unable to satisfy prerequisites for '%1' " .
- "-- aborting install", $self->module ) );
- $dist->status->build(0);
- $fail++; $prereq_fail++;
- last RUN;
- }
-
- my ($captured, $cmd);
- if ( ON_VMS ) {
- $cmd = [$perl, BUILD->($dir), @buildflags];
- }
- else {
- $cmd = [$perl, @run_perl, BUILD->($dir), @buildflags];
- }
-
- unless ( scalar run( command => $cmd,
- buffer => \$captured,
- verbose => $verbose )
- ) {
- error( loc( "MAKE failed:\n%1", $captured ) );
- $dist->status->build(0);
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'build';
- $status->{capture} = $captured;
- }
- $fail++; last RUN;
- }
-
- msg( $captured, 0 );
-
- $dist->status->build(1);
-
- ### add this directory to your lib ###
- $self->add_to_includepath();
-
- ### this buffer will not include what tests failed due to a
- ### M::B/Test::Harness bug. Reported as #9793 with patch
- ### against 0.2607 on 26/1/2005
- unless( $skiptest ) {
- my $test_output;
- if ( ON_VMS ) {
- $cmd = [$perl, BUILD->($dir), "test", @buildflags];
- }
- else {
- $cmd = [$perl, @run_perl, BUILD->($dir), "test", @buildflags];
- }
- unless ( scalar run( command => $cmd,
- buffer => \$test_output,
- verbose => $verbose )
- ) {
- error( loc( "MAKE TEST failed:\n%1 ", $test_output ), ( $verbose ? 0 : 1 ) );
-
- ### mark specifically *test* failure.. so we dont
- ### send success on force...
- $test_fail++;
-
- if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
- $self, $@ )
- ) {
- $dist->status->test(0);
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'test';
- $status->{capture} = $test_output;
- }
- $fail++; last RUN;
- }
-
- }
- else {
- msg( loc( "MAKE TEST passed:\n%1", $test_output ), 0 );
- $dist->status->test(1);
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'test';
- $status->{capture} = $test_output;
- }
- }
- }
- else {
- msg(loc("Tests skipped"), $verbose);
- }
- }
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- ### send out test report? ###
- if( $conf->get_conf('cpantest') and not $prereq_fail ) {
- $cb->_send_report(
- module => $self,
- failed => $test_fail || $fail,
- buffer => CPANPLUS::Error->stack_as_string,
- status => $status,
- verbose => $verbose,
- force => $force,
- tests_skipped => $skiptest,
- ) or error(loc("Failed to send test report for '%1'",
- $self->module ) );
- }
-
- return $dist->status->created( $fail ? 0 : 1 );
-}
-
-=head2 $dist->install([verbose => BOOL, perl => /path/to/perl])
-
-Actually installs the created dist.
-
-Returns true on success and false on failure.
-
-=cut
-
-sub install {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared from another installer
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
-
- my $verbose; my $perl; my $force; my $buildflags;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- buildflags => { default => $conf->get_conf('buildflags'),
- store => \$buildflags },
- perl => { default => $^X, store => \$perl },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
- $dist->status->_install_args( $args );
- }
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $orig = cwd();
-
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- ### value set and false -- means failure ###
- if( defined $self->status->installed &&
- !$self->status->installed && !$force
- ) {
- error( loc( "Module '%1' has failed to install before this session " .
- "-- aborting install", $self->module ) );
- return;
- }
-
- my $fail;
- my @buildflags = $dist->_buildflags_as_list( $buildflags );
- my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
-
- ### hmm, how is this going to deal with sudo?
- ### for now, check effective uid, if it's not root,
- ### shell out, otherwise use the method
- if( $> ) {
-
- ### don't worry about loading the right version of M::B anymore
- ### the 'new_from_context' already added the 'right' path to
- ### M::B at the top of the build.pl
- my $cmd;
- if ( ON_VMS ) {
- $cmd = [$perl, BUILD->($dir), "install", @buildflags];
- }
- else {
- $cmd = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
- }
-
- ### Detect local::lib type behaviour. Do not use 'sudo' in these cases
- my $sudo = $conf->get_program('sudo');
- SUDO: {
- ### Actual local::lib in use
- last SUDO if defined $ENV{PERL_MB_OPT} and $ENV{PERL_MB_OPT} =~ m!install_base!;
- ### 'buildflags' is configured with '--install_base'
- last SUDO if scalar grep { m!install_base! } @buildflags;
- ### oh well 'sudo make me a sandwich'
- unshift @$cmd, $sudo;
- }
-
- my $buffer;
- unless( scalar run( command => $cmd,
- buffer => \$buffer,
- verbose => $verbose )
- ) {
- error(loc("Could not run '%1': %2", 'Build install', $buffer));
- $fail++;
- }
- } else {
- my ($install_output, $cmd);
- if ( ON_VMS ) {
- $cmd = [$perl, BUILD->($dir), "install", @buildflags];
- }
- else {
- $cmd = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
- }
- unless( scalar run( command => $cmd,
- buffer => \$install_output,
- verbose => $verbose )
- ) {
- error(loc("Could not run '%1': %2", 'Build install', $install_output));
- $fail++;
- }
- else {
- msg( $install_output, 0 );
- }
- }
-
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- return $dist->status->installed( $fail ? 0 : 1 );
-}
-
-### returns the string 'foo=bar --zot quux'
-### as the list 'foo=bar', '--zot', 'qux'
-sub _buildflags_as_list {
- my $self = shift;
- my $flags = shift or return;
-
- return Module::Build->split_like_shell($flags);
-}
-
-=head1 AUTHOR
-
-Originally by Jos Boumans E<lt>kane@cpan.orgE<gt>. Brought to working
-condition by Ken Williams E<lt>kwilliams@cpan.orgE<gt>.
-
-Other hackery and currently maintained by Chris C<BinGOs> Williams ( no relation ). E<lt>bingos@cpan.orgE<gt>.
-
-=head1 LICENSE
-
-The CPAN++ interface (of which this module is a part of) is
-copyright (c) 2001, 2002, 2003, 2004, 2005 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.
-
-=cut
-
-qq[Putting the Module::Build into CPANPLUS];
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
deleted file mode 100644
index f020093c9c7..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
+++ /dev/null
@@ -1,74 +0,0 @@
-package CPANPLUS::Dist::Build::Constants;
-
-use if $] > 5.017, 'deprecate';
-
-use strict;
-use warnings;
-use File::Spec;
-
-BEGIN {
-
- require Exporter;
- use vars qw[$VERSION @ISA @EXPORT];
-
- $VERSION = '0.70';
- @ISA = qw[Exporter];
- @EXPORT = qw[ BUILD_DIR BUILD CPDB_PERL_WRAPPER];
-}
-
-
-use constant BUILD_DIR => sub { return @_
- ? File::Spec->catdir($_[0], '_build')
- : '_build';
- };
-use constant BUILD => sub { my $file = @_
- ? File::Spec->catfile($_[0], 'Build')
- : 'Build';
-
- ### on VMS, '.com' is appended when
- ### creating the Build file
- $file .= '.com' if $^O eq 'VMS';
-
- return $file;
- };
-
-
-use constant CPDB_PERL_WRAPPER => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
-
-1;
-
-=head1 NAME
-
-CPANPLUS::Dist::Build::Constants - Constants for CPANPLUS::Dist::Build
-
-=head1 SYNOPSIS
-
- use CPANPLUS::Dist::Build::Constants;
-
-=head1 DESCRIPTION
-
-CPANPLUS::Dist::Build::Constants provides some constants required by L<CPANPLUS::Dist::Build>.
-
-=head1 AUTHOR
-
-Originally by Jos Boumans E<lt>kane@cpan.orgE<gt>. Brought to working
-condition and currently maintained by Ken Williams E<lt>kwilliams@cpan.orgE<gt>.
-
-=head1 LICENSE
-
-The CPAN++ interface (of which this module is a part of) is
-copyright (c) 2001, 2002, 2003, 2004, 2005 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.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
deleted file mode 100644
index 35f31b7b089..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
+++ /dev/null
@@ -1,1044 +0,0 @@
-package CPANPLUS::Dist::MM;
-use deprecate;
-
-use strict;
-use warnings;
-use vars qw[@ISA $STATUS $VERSION];
-use base 'CPANPLUS::Dist::Base';
-$VERSION = "0.9135";
-
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Internals::Constants::Report;
-use CPANPLUS::Error;
-use FileHandle;
-use Cwd;
-
-use IPC::Cmd qw[run];
-use Params::Check qw[check];
-use File::Basename qw[dirname];
-use Module::Load::Conditional qw[can_load check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-local $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Dist::MM - distribution class for MakeMaker related modules
-
-=head1 SYNOPSIS
-
- $mm = CPANPLUS::Dist::MM->new( module => $modobj );
-
- $mm->create; # runs make && make test
- $mm->install; # runs make install
-
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Dist::MM> is a distribution class for MakeMaker related
-modules.
-Using this package, you can create, install and uninstall perl
-modules. It inherits from C<CPANPLUS::Dist>.
-
-=head1 ACCESSORS
-
-=over 4
-
-=item parent()
-
-Returns the C<CPANPLUS::Module> object that parented this object.
-
-=item status()
-
-Returns the C<Object::Accessor> object that keeps the status for
-this module.
-
-=back
-
-=head1 STATUS ACCESSORS
-
-All accessors can be accessed as follows:
- $mm->status->ACCESSOR
-
-=over 4
-
-=item makefile ()
-
-Location of the Makefile (or Build file).
-Set to 0 explicitly if something went wrong.
-
-=item make ()
-
-BOOL indicating if the C<make> (or C<Build>) command was successful.
-
-=item test ()
-
-BOOL indicating if the C<make test> (or C<Build test>) command was
-successful.
-
-=item prepared ()
-
-BOOL indicating if the C<prepare> call exited successfully
-This gets set after C<perl Makefile.PL>
-
-=item distdir ()
-
-Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>.
-
-=item created ()
-
-BOOL indicating if the C<create> call exited successfully. This gets
-set after C<make> and C<make test>.
-
-=item installed ()
-
-BOOL indicating if the module was installed. This gets set after
-C<make install> (or C<Build install>) exits successfully.
-
-=item uninstalled ()
-
-BOOL indicating if the module was uninstalled properly.
-
-=item _create_args ()
-
-Storage of the arguments passed to C<create> for this object. Used
-for recursive calls when satisfying prerequisites.
-
-=item _install_args ()
-
-Storage of the arguments passed to C<install> for this object. Used
-for recursive calls when satisfying prerequisites.
-
-=back
-
-=cut
-
-=head1 METHODS
-
-=head2 $bool = $dist->format_available();
-
-Returns a boolean indicating whether or not you can use this package
-to create and install modules in your environment.
-
-=cut
-
-### check if the format is available ###
-sub format_available {
- my $dist = shift;
-
- ### we might be called as $class->format_available =/
- require CPANPLUS::Internals;
- my $cb = CPANPLUS::Internals->_retrieve_id(
- CPANPLUS::Internals->_last_id );
- my $conf = $cb->configure_object;
-
- my $mod = "ExtUtils::MakeMaker";
- unless( can_load( modules => { $mod => 0.0 } ) ) {
- error( loc( "You do not have '%1' -- '%2' not available",
- $mod, __PACKAGE__ ) );
- return;
- }
-
- for my $pgm ( qw[make] ) {
- unless( $conf->get_program( $pgm ) ) {
- error(loc(
- "You do not have '%1' in your path -- '%2' not available\n" .
- "Please check your config entry for '%1'",
- $pgm, __PACKAGE__ , $pgm
- ));
- return;
- }
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $bool = $dist->init();
-
-Sets up the C<CPANPLUS::Dist::MM> object for use.
-Effectively creates all the needed status accessors.
-
-Called automatically whenever you create a new C<CPANPLUS::Dist> object.
-
-=cut
-
-sub init {
- my $dist = shift;
- my $status = $dist->status;
-
- $status->mk_accessors(qw[makefile make test created installed uninstalled
- bin_make _prepare_args _create_args _install_args]
- );
-
- return 1;
-}
-
-=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
-declared.
-
-If you set C<force> to true, it will go over all the stages of the
-C<prepare> process again, ignoring any previously cached results.
-
-When running C<perl Makefile.PL>, the environment variable
-C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path of the
-C<Makefile.PL> that is being executed. This enables any code inside
-the C<Makefile.PL> to know that it is being installed via CPANPLUS.
-
-Returns true on success and false on failure.
-
-You may then call C<< $dist->create >> on the object to create the
-installable files.
-
-=cut
-
-sub prepare {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $args;
- my( $force, $verbose, $perl, $mmflags, $prereq_target, $prereq_format,
- $prereq_build );
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- perl => { default => $^X, store => \$perl },
- makemakerflags => { default =>
- $conf->get_conf('makemakerflags') || '',
- store => \$mmflags },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- prereq_target => { default => '', store => \$prereq_target },
- prereq_format => { default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my @mmflags = $dist->_split_like_shell( $mmflags );
-
- ### maybe we already ran a create on this object? ###
- return 1 if $dist->status->prepared && !$force;
-
- ### store the arguments, so ->install can use them in recursive loops ###
- $dist->status->_prepare_args( $args );
-
- ### chdir to work directory ###
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- my $fail;
- RUN: {
-
- ### 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 *doesn't* resolve. Check the error log for ok
- ### on this step or failure
- ### 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(
- format => $prereq_format,
- verbose => $verbose,
- prereqs => $configure_requires,
- target => $prereq_target,
- force => $force,
- prereq_build => $prereq_build,
- );
-
- unless( $ok ) {
-
- #### use $dist->flush to reset the cache ###
- error( loc( "Unable to satisfy '%1' for '%2' " .
- "-- aborting install",
- 'configure_requires', $self->module ) );
- $dist->status->prepared(0);
- $fail++;
- last RUN;
- }
- ### end of prereq resolving ###
- }
-
-
-
- ### don't run 'perl makefile.pl' again if there's a makefile already
- if( -e MAKEFILE->() && (-M MAKEFILE->() < -M $dir) && !$force ) {
- msg(loc("'%1' already exists, not running '%2 %3' again ".
- " unless you force",
- MAKEFILE->(), $perl, MAKEFILE_PL->() ), $verbose );
-
- } else {
- unless( -e MAKEFILE_PL->() ) {
- msg(loc("No '%1' found - attempting to generate one",
- MAKEFILE_PL->() ), $verbose );
-
- $dist->write_makefile_pl(
- verbose => $verbose,
- force => $force
- );
-
- ### bail out if there's no makefile.pl ###
- unless( -e MAKEFILE_PL->() ) {
- error( loc( "Could not find '%1' - cannot continue",
- MAKEFILE_PL->() ) );
-
- ### mark that we screwed up ###
- $dist->status->makefile(0);
- $fail++; last RUN;
- }
- }
-
- ### you can turn off running this verbose by changing
- ### the config setting below, although it is really not
- ### recommended
- my $run_verbose = $verbose ||
- $conf->get_conf('allow_build_interactivity') ||
- 0;
-
- ### this makes MakeMaker use defaults if possible, according
- ### to schwern. See ticket 8047 for details.
- local $ENV{PERL_MM_USE_DEFAULT} = 1 unless $run_verbose;
-
- ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
- ### included in the makefile.pl -- it should build without
- ### also, modules that run in taint mode break if we leave
- ### our code ref in perl5opt
- ### XXX we've removed the ENV settings from cp::inc, so only need
- ### to reset the @INC
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
-
- ### make sure it's a string, so that mmflags that have more than
- ### one key value pair are passed as is, rather than as:
- ### perl Makefile.PL "key=val key=>val"
-
-
- #### XXX this needs to be the absolute path to the Makefile.PL
- ### since cpanp-run-perl uses 'do' to execute the file, and do()
- ### checks your @INC.. so, if there's _another_ makefile.pl in
- ### your @INC, it will execute that one...
- my $makefile_pl = MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
-
- ### setting autoflush to true fixes issue from rt #8047
- ### XXX this means that we need to keep the path to CPANPLUS
- ### in @INC, stopping us from resolving dependencies on CPANPLUS
- ### at bootstrap time properly.
-
- my @run_perl = ( '-e', PERL_WRAPPER );
- my $cmd = [$perl, @run_perl, $makefile_pl, @mmflags];
-
- ### set ENV var to tell underlying code this is what we're
- ### executing.
- my $captured;
- my $rv = do {
- my $env = ENV_CPANPLUS_IS_EXECUTING;
- local $ENV{$env} = $makefile_pl;
- scalar run( command => $cmd,
- buffer => \$captured,
- verbose => $run_verbose, # may be interactive
- );
- };
-
- unless( $rv ) {
- error( loc( "Could not run '%1 %2': %3 -- cannot continue",
- $perl, MAKEFILE_PL->(), $captured ) );
-
- $dist->status->makefile(0);
- $fail++; last RUN;
- }
-
- ### put the output on the stack, don't print it
- msg( $captured, 0 );
- }
-
- ### so, nasty feature in Module::Build, that when a Makefile.PL
- ### is a disguised Build.PL, it generates a Build file, not a
- ### Makefile. this breaks everything :( see rt bug #19741
- if( not -e MAKEFILE->( $dir ) and -e BUILD_PL->( $dir ) ) {
- error(loc(
- "We just ran '%1' without errors, but no '%2' is ".
- "present. However, there is a '%3' file, so this may ".
- "be related to bug #19741 in %4, which describes a ".
- "fake '%5' which generates a '%6' file instead of a '%7'. ".
- "You could try to work around this issue by setting '%8' ".
- "to false and trying again. This will attempt to use the ".
- "'%9' instead.",
- "$^X ".MAKEFILE_PL->(), MAKEFILE->(), BUILD_PL->(),
- 'Module::Build', MAKEFILE_PL->(), 'Build', MAKEFILE->(),
- 'prefer_makefile', BUILD_PL->()
- ));
-
- $fail++, last RUN;
- }
-
- ### if we got here, we managed to make a 'makefile' ###
- $dist->status->makefile( MAKEFILE->($dir) );
-
- ### Make (haha) sure that Makefile.PL is older than the Makefile
- ### we just generated.
- eval {
- my $makestat = ( stat MAKEFILE->( $dir ) )[9];
- my $mplstat = ( stat MAKEFILE_PL->( $cb->_safe_path( path => $dir ) ) )[9];
- if ( $makestat < $mplstat ) {
- my $ftime = $makestat - 60;
- utime $ftime, $ftime, MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
- }
- };
-
- ### start resolving prereqs ###
- my $prereqs = $self->status->prereqs;
-
- ### a hashref of prereqs on success, undef on failure ###
- $prereqs ||= $dist->_find_prereqs(
- verbose => $verbose,
- file => $dist->status->makefile
- );
-
- unless( $prereqs ) {
- error( loc( "Unable to scan '%1' for prereqs",
- $dist->status->makefile ) );
-
- $fail++; last RUN;
- }
- }
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- ### save where we wrote this stuff -- same as extract dir in normal
- ### installer circumstances
- $dist->status->distdir( $self->status->extract );
-
- return $dist->status->prepared( $fail ? 0 : 1);
-}
-
-=pod
-
-=head2 $href = $dist->_find_prereqs( file => '/path/to/Makefile', [verbose => BOOL])
-
-Parses a C<Makefile> for C<PREREQ_PM> entries and distills from that
-any prerequisites mentioned in the C<Makefile>
-
-Returns a hash with module-version pairs on success and false on
-failure.
-
-=cut
-
-sub _find_prereqs {
- my $dist = shift;
- my $self = $dist->parent;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my ($verbose, $file);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- file => { required => 1, allow => FILE_READABLE, store => \$file },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### see if we got prereqs from MYMETA
- my $prereqs = $dist->find_mymeta_requires();
-
- ### we found some prereqs, we'll trust MYMETA
- ### but we do need to run it through the callback
- return $cb->_callbacks->filter_prereqs->( $cb, $prereqs ) if keys %$prereqs;
-
- my $fh = FileHandle->new();
- unless( $fh->open( $file ) ) {
- error( loc( "Cannot open '%1': %2", $file, $! ) );
- return;
- }
-
- my %p;
- while( local $_ = <$fh> ) {
- my ($found) = m|^[\#]\s+PREREQ_PM\s+=>\s+(.+)|;
-
- next unless $found;
-
- while( $found =~ m/(?:\s)([\w\:]+)=>(?:q\[(.*?)\],?|undef)/g ) {
- if( defined $p{$1} ) {
- my $ver = $cb->_version_to_number(version => $2);
- $p{$1} = $ver
- if $cb->_vcmp( $ver, $p{$1} ) > 0;
- }
- else {
- $p{$1} = $cb->_version_to_number(version => $2);
- }
- }
- last;
- }
-
- my $href = $cb->_callbacks->filter_prereqs->( $cb, \%p );
-
- $self->status->prereqs( $href );
-
- ### just to make sure it's not the same reference ###
- return { %$href };
-}
-
-=pod
-
-=head2 $bool = $dist->create([perl => '/path/to/perl', make => '/path/to/make', makeflags => 'EXTRA=FLAGS', prereq_target => TARGET, skiptest => BOOL, force => BOOL, verbose => BOOL])
-
-C<create> creates the files necessary for installation. This means
-it will run C<make> and C<make test>. This will also scan for and
-attempt to satisfy any prerequisites the module may have.
-
-If you set C<skiptest> to true, it will skip the C<make test> stage.
-If you set C<force> to true, it will go over all the stages of the
-C<make> process again, ignoring any previously cached results. It
-will also ignore a bad return value from C<make test> and still allow
-the operation to return true.
-
-Returns true on success and false on failure.
-
-You may then call C<< $dist->install >> on the object to actually
-install it.
-
-=cut
-
-sub create {
- ### just in case you already did a create call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
-
- ### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $args;
- my( $force, $verbose, $make, $makeflags, $skiptest, $prereq_target, $perl,
- @mmflags, $prereq_format, $prereq_build);
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- perl => { default => $^X, store => \$perl },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- make => { default => $conf->get_program('make'),
- store => \$make },
- makeflags => { default => $conf->get_conf('makeflags'),
- store => \$makeflags },
- skiptest => { default => $conf->get_conf('skiptest'),
- store => \$skiptest },
- prereq_target => { default => '', store => \$prereq_target },
- ### don't set the default prereq format to 'makemaker' -- wrong!
- prereq_format => { #default => $self->status->installer_type,
- default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my @makeflags = $dist->_split_like_shell( $makeflags );
-
- ### maybe we already ran a create on this object?
- ### make sure we add to include path again, just in case we came from
- ### ->save_state, at which point we need to restore @INC/$PERL5LIB
- if( $dist->status->created && !$force ) {
- $self->add_to_includepath;
- return 1;
- }
-
- ### store the arguments, so ->install can use them in recursive loops ###
- $dist->status->_create_args( $args );
-
- unless( $dist->status->prepared ) {
- error( loc( "You have not successfully prepared a '%2' distribution ".
- "yet -- cannot create yet", __PACKAGE__ ) );
- return;
- }
-
-
- ### chdir to work directory ###
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- my $fail; my $prereq_fail; my $test_fail;
- my $status = { };
- RUN: {
- ### this will set the directory back to the start
- ### dir, so we must chdir /again/
- my $ok = $dist->_resolve_prereqs(
- format => $prereq_format,
- verbose => $verbose,
- prereqs => $self->status->prereqs,
- target => $prereq_target,
- force => $force,
- prereq_build => $prereq_build,
- );
-
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- unless( $ok ) {
-
- #### use $dist->flush to reset the cache ###
- error( loc( "Unable to satisfy prerequisites for '%1' " .
- "-- aborting install", $self->module ) );
- $dist->status->make(0);
- $fail++; $prereq_fail++;
- last RUN;
- }
- ### end of prereq resolving ###
-
- my $captured;
-
- ### 'make' section ###
- if( -d BLIB->($dir) && (-M BLIB->($dir) < -M $dir) && !$force ) {
- msg(loc("Already ran '%1' for this module [%2] -- " .
- "not running again unless you force",
- $make, $self->module ), $verbose );
- } else {
- unless(scalar run( command => [$make, @makeflags],
- buffer => \$captured,
- verbose => $verbose )
- ) {
- error( loc( "MAKE failed: %1 %2", $!, $captured ) );
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'build';
- $status->{capture} = $captured;
- }
- $dist->status->make(0);
- $fail++; last RUN;
- }
-
- ### put the output on the stack, don't print it
- msg( $captured, 0 );
-
- $dist->status->make(1);
-
- ### add this directory to your lib ###
- $self->add_to_includepath();
-
- ### dont bail out here, there's a conditional later on
- #last RUN if $skiptest;
- }
-
- ### 'make test' section ###
- unless( $skiptest ) {
-
- ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
- ### included in make test -- it should build without
- ### also, modules that run in taint mode break if we leave
- ### our code ref in perl5opt
- ### XXX CPANPLUS::inc functionality is now obsolete.
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
-
- ### you can turn off running this verbose by changing
- ### the config setting below, although it is really not
- ### recommended
- my $run_verbose =
- $verbose ||
- $conf->get_conf('allow_build_interactivity') ||
- 0;
-
- ### XXX need to add makeflags here too?
- ### yes, but they should really be split out -- see bug #4143
- if( scalar run(
- command => [$make, 'test', @makeflags],
- buffer => \$captured,
- verbose => $run_verbose,
- ) ) {
- ### tests might pass because it doesn't have any tests defined
- ### log this occasion non-verbosely, so our test reporter can
- ### pick up on this
- if ( NO_TESTS_DEFINED->( $captured ) ) {
- msg( NO_TESTS_DEFINED->( $captured ), 0 )
- } else {
- msg( loc( "MAKE TEST passed: %1", $captured ), 0 );
- }
-
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'test';
- $status->{capture} = $captured;
- }
-
- $dist->status->test(1);
- } else {
- error( loc( "MAKE TEST failed: %1", $captured ), ( $run_verbose ? 0 : 1 ) );
-
- if ( $conf->get_conf('cpantest') ) {
- $status->{stage} = 'test';
- $status->{capture} = $captured;
- }
-
- ### send out error report here? or do so at a higher level?
- ### --higher level --kane.
- $dist->status->test(0);
-
- ### mark specifically *test* failure.. so we dont
- ### send success on force...
- $test_fail++;
-
- if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
- $self, $captured )
- ) {
- $fail++; last RUN;
- }
- }
- }
- } #</RUN>
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- ### TODO: Add $stage to _send_report()
- ### send out test report?
- ### only do so if the failure is this module, not its prereq
- if( $conf->get_conf('cpantest') and not $prereq_fail) {
- $cb->_send_report(
- module => $self,
- failed => $test_fail || $fail,
- buffer => CPANPLUS::Error->stack_as_string,
- status => $status,
- verbose => $verbose,
- force => $force,
- ) or error(loc("Failed to send test report for '%1'",
- $self->module ) );
- }
-
- return $dist->status->created( $fail ? 0 : 1);
-}
-
-=pod
-
-=head2 $bool = $dist->install([make => '/path/to/make', makemakerflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
-
-C<install> runs the following command:
- make install
-
-Returns true on success, false on failure.
-
-=cut
-
-sub install {
-
- ### just in case you did the create with ANOTHER dist object linked
- ### to the same module object
- my $dist = shift();
- my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
-
- unless( $dist->status->created ) {
- error(loc("You have not successfully created a '%2' distribution yet " .
- "-- cannot install yet", __PACKAGE__ ));
- return;
- }
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my $args;
- my($force,$verbose,$make,$makeflags);
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- make => { default => $conf->get_program('make'),
- store => \$make },
- makeflags => { default => $conf->get_conf('makeflags'),
- store => \$makeflags },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- ### value set and false -- means failure ###
- if( defined $self->status->installed &&
- !$self->status->installed && !$force
- ) {
- error( loc( "Module '%1' has failed to install before this session " .
- "-- aborting install", $self->module ) );
- return;
- }
-
- my @makeflags = $dist->_split_like_shell( $makeflags );
-
- $dist->status->_install_args( $args );
-
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- my $fail; my $captured;
-
- ### 'make install' section ###
- ### XXX need makeflags here too?
- ### yes, but they should really be split out.. see bug #4143
- my $cmd = [$make, 'install', @makeflags];
- my $sudo = $conf->get_program('sudo');
- unshift @$cmd, $sudo if $sudo and $>;
-
- $cb->flush('lib');
- unless(scalar run( command => $cmd,
- verbose => $verbose,
- buffer => \$captured,
- ) ) {
- error( loc( "MAKE INSTALL failed: %1 %2", $!, $captured ) );
- $fail++;
- }
-
- ### put the output on the stack, don't print it
- msg( $captured, 0 );
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
- return $dist->status->installed( $fail ? 0 : 1 );
-
-}
-
-=pod
-
-=head2 $bool = $dist->write_makefile_pl([force => BOOL, verbose => BOOL])
-
-This routine can write a C<Makefile.PL> from the information in a
-module object. It is used to write a C<Makefile.PL> when the original
-author forgot it (!!).
-
-Returns 1 on success and false on failure.
-
-The file gets written to the directory the module's been extracted
-to.
-
-=cut
-
-sub write_makefile_pl {
- ### just in case you already did a call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- my ($force, $verbose);
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $file = MAKEFILE_PL->($dir);
- if( -s $file && !$force ) {
- msg(loc("Already created '%1' - not doing so again without force",
- $file ), $verbose );
- return 1;
- }
-
- ### due to a bug with AS perl 5.8.4 built 810 (and maybe others)
- ### opening files with content in them already does nasty things;
- ### seek to pos 0 and then print, but not truncating the file
- ### bug reported to activestate on 19 sep 2004:
- ### http://bugs.activestate.com/show_bug.cgi?id=34051
- unlink $file if $force;
-
- my $fh = new FileHandle;
- unless( $fh->open( ">$file" ) ) {
- error( loc( "Could not create file '%1': %2", $file, $! ) );
- return;
- }
-
- my $mf = MAKEFILE_PL->();
- my $name = $self->module;
- my $version = $self->version;
- my $author = $self->author->author;
- my $href = $self->status->prereqs;
- my $prereqs = join ",\n", map {
- (' ' x 25) . "'$_'\t=> '$href->{$_}'"
- } keys %$href;
- $prereqs ||= ''; # just in case there are none;
-
- print $fh qq|
- ### Auto-generated $mf by CPANPLUS ###
-
- use ExtUtils::MakeMaker;
-
- WriteMakefile(
- NAME => '$name',
- VERSION => '$version',
- AUTHOR => '$author',
- PREREQ_PM => {
-$prereqs
- },
- );
- \n|;
-
- $fh->close;
- return 1;
-}
-
-sub dist_dir {
- ### just in case you already did a call for this module object
- ### just via a different dist object
- my $dist = shift;
- my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $make; my $verbose;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- my $tmpl = {
- make => { default => $conf->get_program('make'),
- store => \$make },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
-
- my $dir;
- unless( $dir = $self->status->extract ) {
- error( loc( "No dir found to operate on!" ) );
- return;
- }
-
- ### chdir to work directory ###
- my $orig = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error( loc( "Could not chdir to build directory '%1'", $dir ) );
- return;
- }
-
- my $fail; my $distdir;
- TRY: {
- $dist->prepare( @_ ) or (++$fail, last TRY);
-
-
- my $captured;
- unless(scalar run( command => [$make, 'distdir'],
- buffer => \$captured,
- verbose => $verbose )
- ) {
- error( loc( "MAKE DISTDIR failed: %1 %2", $!, $captured ) );
- ++$fail, last TRY;
- }
-
- ### /path/to/Foo-Bar-1.2/Foo-Bar-1.2
- $distdir = File::Spec->catdir( $dir, $self->package_name . '-' .
- $self->package_version );
-
- unless( -d $distdir ) {
- error(loc("Do not know where '%1' got created", 'distdir'));
- ++$fail, last TRY;
- }
- }
-
- unless( $cb->_chdir( dir => $orig ) ) {
- error( loc( "Could not chdir to start directory '%1'", $orig ) );
- return;
- }
-
- return if $fail;
- return $distdir;
-}
-
-sub _split_like_shell {
- my ($self, $string) = @_;
-
- return () unless defined($string);
- return @$string if ref $string eq 'ARRAY';
- $string =~ s/^\s+|\s+$//g;
- return () unless length($string);
-
- require Text::ParseWords;
- return Text::ParseWords::shellwords($string);
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Sample.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Sample.pm
deleted file mode 100644
index e03d66f9836..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Sample.pm
+++ /dev/null
@@ -1,20 +0,0 @@
-package CPANPLUS::Dist::Sample;
-use deprecate;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Dist::Sample -- Sample code to create your own Dist::* plugin
-
-=head1 Description.
-
-This document is B<Obsolete>. Please read the documentation and code
-in C<CPANPLUS::Dist::Base>.
-
-=cut
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
deleted file mode 100644
index 0df6f334689..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
+++ /dev/null
@@ -1,210 +0,0 @@
-package CPANPLUS::Error;
-use deprecate;
-
-use strict;
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-use Log::Message private => 0;;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Error - error handling for CPANPLUS
-
-=head1 SYNOPSIS
-
- use CPANPLUS::Error qw[cp_msg cp_error];
-
-=head1 DESCRIPTION
-
-This module provides the error handling code for the CPANPLUS
-libraries, and is mainly intended for internal use.
-
-=head1 FUNCTIONS
-
-=head2 cp_msg("message string" [,VERBOSE])
-
-Records a message on the stack, and prints it to C<STDOUT> (or actually
-C<$MSG_FH>, see the C<GLOBAL VARIABLES> section below), if the
-C<VERBOSE> option is true.
-The C<VERBOSE> option defaults to false.
-
-=head2 msg()
-
-An alias for C<cp_msg>.
-
-=head2 cp_error("error string" [,VERBOSE])
-
-Records an error on the stack, and prints it to C<STDERR> (or actually
-C<$ERROR_FH>, see the C<GLOBAL VARIABLES> sections below), if the
-C<VERBOSE> option is true.
-The C<VERBOSE> options defaults to true.
-
-=head2 error()
-
-An alias for C<cp_error>.
-
-=head1 CLASS METHODS
-
-=head2 CPANPLUS::Error->stack()
-
-Retrieves all the items on the stack. Since C<CPANPLUS::Error> is
-implemented using C<Log::Message>, consult its manpage for the
-function C<retrieve> to see what is returned and how to use the items.
-
-=head2 CPANPLUS::Error->stack_as_string([TRACE])
-
-Returns the whole stack as a printable string. If the C<TRACE> option is
-true all items are returned with C<Carp::longmess> output, rather than
-just the message.
-C<TRACE> defaults to false.
-
-=head2 CPANPLUS::Error->flush()
-
-Removes all the items from the stack and returns them. Since
-C<CPANPLUS::Error> is implemented using C<Log::Message>, consult its
-manpage for the function C<retrieve> to see what is returned and how
-to use the items.
-
-=cut
-
-BEGIN {
- use Exporter;
- use Params::Check qw[check];
- use vars qw[@EXPORT @ISA $ERROR_FH $MSG_FH];
-
- @ISA = 'Exporter';
- @EXPORT = qw[cp_error cp_msg error msg];
-
- my $log = new Log::Message;
-
- for my $func ( @EXPORT ) {
- no strict 'refs';
-
- my $prefix = 'cp_';
- my $name = $func;
- $name =~ s/^$prefix//g;
-
- *$func = sub {
- my $msg = shift;
-
- ### no point storing non-messages
- return unless defined $msg;
-
- $log->store(
- message => $msg,
- tag => uc $name,
- level => $prefix . $name,
- extra => [@_]
- );
- };
- }
-
- sub flush {
- my @foo = $log->flush;
- return unless @foo;
- return reverse @foo;
- }
-
- sub stack {
- return $log->retrieve( chrono => 1 );
- }
-
- sub stack_as_string {
- my $class = shift;
- my $trace = shift() ? 1 : 0;
-
- return join $/, map {
- '[' . $_->tag . '] [' . $_->when . '] ' .
- ($trace ? $_->message . ' ' . $_->longmess
- : $_->message);
- } __PACKAGE__->stack;
- }
-}
-
-=head1 GLOBAL VARIABLES
-
-=over 4
-
-=item $ERROR_FH
-
-This is the filehandle all the messages sent to C<error()> are being
-printed. This defaults to C<*STDERR>.
-
-=item $MSG_FH
-
-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;
-
-package # Hide from Pause
- Log::Message::Handlers;
-use Carp ();
-
-{
-
- sub cp_msg {
- my $self = shift;
- my $verbose = shift;
-
- ### so you don't want us to print the msg? ###
- return if defined $verbose && $verbose == 0;
-
- my $old_fh = select $CPANPLUS::Error::MSG_FH;
-
- print '['. $self->tag . '] ' . $self->message . "\n";
- select $old_fh;
-
- return;
- }
-
- sub cp_error {
- my $self = shift;
- my $verbose = shift;
-
- ### so you don't want us to print the error? ###
- return if defined $verbose && $verbose == 0;
-
- my $old_fh = select $CPANPLUS::Error::ERROR_FH;
-
- ### is only going to be 1 for now anyway ###
- ### C::I may not be loaded, so do a can() check first
- my $cb = CPANPLUS::Internals->can('_return_all_objects')
- ? (CPANPLUS::Internals->_return_all_objects)[0]
- : undef;
-
- ### maybe we didn't initialize an internals object (yet) ###
- my $debug = $cb ? $cb->configure_object->get_conf('debug') : 0;
- my $msg = '['. $self->tag . '] ' . $self->message . "\n";
-
- ### i'm getting this warning in the test suite:
- ### Ambiguous call resolved as CORE::warn(), qualify as such or
- ### use & at CPANPLUS/Error.pm line 57.
- ### no idea where it's coming from, since there's no 'sub warn'
- ### anywhere to be found, but i'll mark it explicitly nonetheless
- ### --kane
- print $debug ? Carp::shortmess($msg) : $msg . "\n";
-
- select $old_fh;
-
- return;
- }
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
deleted file mode 100644
index 5c53e67e74a..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
+++ /dev/null
@@ -1,556 +0,0 @@
-package CPANPLUS::Internals;
-use deprecate;
-
-### we /need/ perl5.6.1 or higher -- we use coderefs in @INC,
-### and 5.6.0 is just too buggy
-use 5.006001;
-
-use strict;
-use Config;
-
-use CPANPLUS::Error;
-
-use CPANPLUS::Selfupdate;
-
-use CPANPLUS::Internals::Extract;
-use CPANPLUS::Internals::Fetch;
-use CPANPLUS::Internals::Utils;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Internals::Search;
-use CPANPLUS::Internals::Report;
-
-require base;
-use Cwd qw[cwd];
-use Module::Load qw[load];
-use Params::Check qw[check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use Module::Load::Conditional qw[can_load];
-
-use Object::Accessor;
-
-local $Params::Check::VERBOSE = 1;
-
-use vars qw[@ISA $VERSION];
-
-@ISA = qw[
- CPANPLUS::Internals::Extract
- CPANPLUS::Internals::Fetch
- CPANPLUS::Internals::Utils
- CPANPLUS::Internals::Search
- CPANPLUS::Internals::Report
- ];
-
-$VERSION = "0.9135";
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals - CPANPLUS internals
-
-=head1 SYNOPSIS
-
- my $internals = CPANPLUS::Internals->_init( _conf => $conf );
- my $backend = CPANPLUS::Internals->_retrieve_id( $ID );
-
-=head1 DESCRIPTION
-
-This module is the guts of CPANPLUS -- it inherits from all other
-modules in the CPANPLUS::Internals::* namespace, thus defying normal
-rules of OO programming -- but if you're reading this, you already
-know what's going on ;)
-
-Please read the C<CPANPLUS::Backend> documentation for the normal API.
-
-=head1 ACCESSORS
-
-=over 4
-
-=item _conf
-
-Get/set the configure object
-
-=item _id
-
-Get/set the id
-
-=cut
-
-### autogenerate accessors ###
-for my $key ( qw[_conf _id _modules _hosts _methods _status _path
- _callbacks _selfupdate _mtree _atree]
-) {
- no strict 'refs';
- *{__PACKAGE__."::$key"} = sub {
- $_[0]->{$key} = $_[1] if @_ > 1;
- return $_[0]->{$key};
- }
-}
-
-=pod
-
-=back
-
-=head1 METHODS
-
-=head2 $internals = CPANPLUS::Internals->_init( _conf => CONFIG_OBJ )
-
-C<_init> creates a new CPANPLUS::Internals object.
-
-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!
- my $callback_map = {
- ### name default value
- install_prerequisite => 1, # install prereqs when 'ask' is set?
- edit_test_report => 0, # edit the prepared test report?
- send_test_report => 1, # send the test report?
- # munge the test report
- munge_test_report => sub { return $_[1] },
- # filter out unwanted prereqs
- filter_prereqs => sub { return $_[1] },
- # continue if 'make test' fails?
- proceed_on_test_failure => sub { return 0 },
- munge_dist_metafile => sub { return $_[1] },
- };
-
- my $status = Object::Accessor->new;
- $status->mk_accessors(qw[pending_prereqs]);
-
- my $callback = Object::Accessor->new;
- $callback->mk_accessors(keys %$callback_map);
-
- my $conf;
- my $Tmpl = {
- _conf => { required => 1, store => \$conf,
- allow => IS_CONFOBJ },
- _id => { default => '', no_override => 1 },
- _authortree => { default => '', no_override => 1 },
- _modtree => { default => '', no_override => 1 },
- _hosts => { default => {}, no_override => 1 },
- _methods => { default => {}, no_override => 1 },
- _status => { default => '<empty>', no_override => 1 },
- _callbacks => { default => '<empty>', no_override => 1 },
- _path => { default => $ENV{PATH} || '', no_override => 1 },
- };
-
- sub _init {
- my $class = shift;
- my %hash = @_;
-
- ### temporary warning until we fix the storing of multiple id's
- ### and their serialization:
- ### probably not going to happen --kane
- if( my $id = $class->_last_id ) {
- # make it a singleton.
- warn loc(q[%1 currently only supports one %2 object per ] .
- qq[running program\n], 'CPANPLUS', $class);
-
- return $class->_retrieve_id( $id );
- }
-
- my $args = check($Tmpl, \%hash)
- or die loc(qq[Could not initialize '%1' object], $class);
-
- bless $args, $class;
-
- $args->{'_id'} = $args->_inc_id;
- $args->{'_status'} = $status;
- $args->{'_callbacks'} = $callback;
-
- ### initialize callbacks to default state ###
- for my $name ( $callback->ls_accessors ) {
- my $rv = ref $callback_map->{$name} ? 'sub return value' :
- $callback_map->{$name} ? 'true' : 'false';
-
- $args->_callbacks->$name(
- sub { msg(loc("DEFAULT '%1' HANDLER RETURNING '%2'",
- $name, $rv), $args->_conf->get_conf('debug'));
- return ref $callback_map->{$name}
- ? $callback_map->{$name}->( @_ )
- : $callback_map->{$name};
- }
- );
- }
-
- ### create a selfupdate object
- $args->_selfupdate( CPANPLUS::Selfupdate->new( $args ) );
-
- ### initialize it as an empty hashref ###
- $args->_status->pending_prereqs( {} );
-
- $conf->_set_build( startdir => cwd() ),
- or error( loc("couldn't locate current dir!") );
-
- $ENV{FTP_PASSIVE} = 1, if $conf->get_conf('passive');
-
- my $id = $args->_store_id( $args );
-
- unless ( $id == $args->_id ) {
- error( loc("IDs do not match: %1 != %2. Storage failed!",
- $id, $args->_id) );
- }
-
- ### different source engines available now, so set them here
- { my $store = $conf->get_conf( 'source_engine' )
- || DEFAULT_SOURCE_ENGINE;
-
- unless( can_load( modules => { $store => '0.0' }, verbose => 1 ) ) {
- error( loc( "Could not load source engine '%1'", $store ) );
-
- if( $store ne DEFAULT_SOURCE_ENGINE ) {
- msg( loc("Falling back to %1", DEFAULT_SOURCE_ENGINE), 1 );
-
- load DEFAULT_SOURCE_ENGINE;
-
- base->import( DEFAULT_SOURCE_ENGINE );
- } else {
- return;
- }
- } else {
- base->import( $store );
- }
- }
-
- return $args;
- }
-
-=pod
-
-=head2 $bool = $internals->_flush( list => \@caches )
-
-Flushes the designated caches from the C<CPANPLUS> object.
-
-Returns true on success, false if one or more caches could not be
-be flushed.
-
-=cut
-
- sub _flush {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $aref;
- my $tmpl = {
- list => { required => 1, default => [],
- strict_type => 1, store => \$aref },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $flag = 0;
- for my $what (@$aref) {
- my $cache = '_' . $what;
-
- ### set the include paths back to their original ###
- if( $what eq 'lib' ) {
- $ENV{PERL5LIB} = $conf->_perl5lib || '';
- @INC = @{$conf->_lib};
- $ENV{PATH} = $self->_path || '';
-
- ### give all modules a new status object -- this is slightly
- ### costly, but the best way to make sure all statuses are
- ### forgotten --kane
- } elsif ( $what eq 'modules' ) {
- for my $modobj ( values %{$self->module_tree} ) {
-
- $modobj->_flush;
- }
-
- ### blow away the methods cache... currently, that's only
- ### File::Fetch's method fail list
- } elsif ( $what eq 'methods' ) {
-
- ### still unbelievably p4 :( ###
- $File'Fetch::METHOD_FAIL = $File'Fetch::METHOD_FAIL = {};
-
- ### blow away the m::l::c cache, so modules can be (re)loaded
- ### again if they become available
- } elsif ( $what eq 'load' ) {
- undef $Module::Load::Conditional::CACHE;
-
- } else {
- unless ( exists $self->{$cache} && exists $Tmpl->{$cache} ) {
- error( loc( "No such cache: '%1'", $what ) );
- $flag++;
- next;
- } else {
- $self->$cache( {} );
- }
- }
- }
- return !$flag;
- }
-
-### NOTE:
-### if extra callbacks are added, don't forget to update the
-### 02-internals.t test script with them!
-
-=pod
-
-=head2 $bool = $internals->_register_callback( name => CALLBACK_NAME, code => CODEREF );
-
-Registers a callback for later use by the internal libraries.
-
-Here is a list of the currently used callbacks:
-
-=over 4
-
-=item install_prerequisite
-
-Is called when the user wants to be C<asked> about what to do with
-prerequisites. Should return a boolean indicating true to install
-the prerequisite and false to skip it.
-
-=item send_test_report
-
-Is called when the user should be prompted if he wishes to send the
-test report. Should return a boolean indicating true to send the
-test report and false to skip it.
-
-=item munge_test_report
-
-Is called when the test report message has been composed, giving
-the user a chance to programatically alter it. Should return the
-(munged) message to be sent.
-
-=item edit_test_report
-
-Is called when the user should be prompted to edit test reports
-about to be sent out by Test::Reporter. Should return a boolean
-indicating true to edit the test report in an editor and false
-to skip it.
-
-=item proceed_on_test_failure
-
-Is called when 'make test' or 'Build test' fails. Should return
-a boolean indicating whether the install should continue even if
-the test failed.
-
-=item munge_dist_metafile
-
-Is called when the C<CPANPLUS::Dist::*> metafile is created, like
-C<control> for C<CPANPLUS::Dist::Deb>, giving the user a chance to
-programatically alter it. Should return the (munged) text to be
-written to the metafile.
-
-=back
-
-=cut
-
- sub _register_callback {
- my $self = shift or return;
- my %hash = @_;
-
- my ($name,$code);
- my $tmpl = {
- name => { required => 1, store => \$name,
- allow => [$callback->ls_accessors] },
- code => { required => 1, allow => IS_CODEREF,
- store => \$code },
- };
-
- check( $tmpl, \%hash ) or return;
-
- $self->_callbacks->$name( $code ) or return;
-
- return 1;
- }
-
-# =head2 $bool = $internals->_add_callback( name => CALLBACK_NAME, code => CODEREF );
-#
-# Adds a new callback to be used from anywhere in the system. If the callback
-# is already known, an error is raised and false is returned. If the callback
-# is not yet known, it is added, and the corresponding coderef is registered
-# using the
-#
-# =cut
-#
-# sub _add_callback {
-# my $self = shift or return;
-# my %hash = @_;
-#
-# my ($name,$code);
-# my $tmpl = {
-# name => { required => 1, store => \$name, },
-# code => { required => 1, allow => IS_CODEREF,
-# store => \$code },
-# };
-#
-# check( $tmpl, \%hash ) or return;
-#
-# if( $callback->can( $name ) ) {
-# error(loc("Callback '%1' is already registered"));
-# return;
-# }
-#
-# $callback->mk_accessor( $name );
-#
-# $self->_register_callback( name => $name, code => $code ) or return;
-#
-# return 1;
-# }
-
-}
-
-=pod
-
-=head2 $bool = $internals->_add_to_includepath( directories => \@dirs )
-
-Adds a list of directories to the include path.
-This means they get added to C<@INC> as well as C<$ENV{PERL5LIB}>.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _add_to_includepath {
- my $self = shift;
- my %hash = @_;
-
- my $dirs;
- my $tmpl = {
- directories => { required => 1, default => [], store => \$dirs,
- strict_type => 1 },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $s = $Config{'path_sep'};
-
- ### only add if it's not added yet
- for my $lib (@$dirs) {
- push @INC, $lib unless grep { $_ eq $lib } @INC;
- #
- ### it will be complaining if $ENV{PERL5LIB] is not defined (yet).
- local $^W;
- $ENV{'PERL5LIB'} .= $s . $lib
- unless $ENV{'PERL5LIB'} =~ qr|\Q$s$lib\E|;
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $bool = $internals->_add_to_path( directories => \@dirs )
-
-Adds a list of directories to the PATH, but only if they actually
-contain anything.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _add_to_path {
- my $self = shift;
- my %hash = @_;
-
- my $dirs;
- my $tmpl = {
- directories => { required => 1, default => [], store => \$dirs,
- strict_type => 1 },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $s = $Config{'path_sep'};
-
- require File::Glob;
-
- ### only add if it's not added yet
- for my $dir (@$dirs) {
- $dir =~ s![\\/]*$!!g;
- next if $ENV{PATH} =~ qr|\Q$dir\E|;
- next unless -d $dir;
- next unless File::Glob::bsd_glob( $dir . q{/*} );
- $ENV{PATH} = join $s, $dir, $ENV{PATH};
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $id = CPANPLUS::Internals->_last_id
-
-Return the id of the last object stored.
-
-=head2 $id = CPANPLUS::Internals->_store_id( $internals )
-
-Store this object; return its id.
-
-=head2 $obj = CPANPLUS::Internals->_retrieve_id( $ID )
-
-Retrieve an object based on its ID -- return false on error.
-
-=head2 CPANPLUS::Internals->_remove_id( $ID )
-
-Remove the object marked by $ID from storage.
-
-=head2 @objs = CPANPLUS::Internals->_return_all_objects
-
-Return all stored objects.
-
-=cut
-
-
-### code for storing multiple objects
-### -- although we only support one right now
-### XXX when support for multiple objects comes, saving source will have
-### to change
-{
- my $idref = {};
- my $count = 0;
-
- sub _inc_id { return ++$count; }
-
- sub _last_id { $count }
-
- sub _store_id {
- my $self = shift;
- my $obj = shift or return;
-
- unless( IS_INTERNALS_OBJ->($obj) ) {
- error( loc("The object you passed has the wrong ref type: '%1'",
- ref $obj) );
- return;
- }
-
- $idref->{ $obj->_id } = $obj;
- return $obj->_id;
- }
-
- sub _retrieve_id {
- my $self = shift;
- my $id = shift or return;
-
- my $obj = $idref->{$id};
- return $obj;
- }
-
- sub _remove_id {
- my $self = shift;
- my $id = shift or return;
-
- return delete $idref->{$id};
- }
-
- sub _return_all_objects { return values %$idref }
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
deleted file mode 100644
index 09501c78e84..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
+++ /dev/null
@@ -1,391 +0,0 @@
-package CPANPLUS::Internals::Constants;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-
-use Config;
-use File::Spec;
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-require Exporter;
-use vars qw[$VERSION @ISA @EXPORT];
-
-use Package::Constants;
-
-$VERSION = "0.9135";
-@ISA = qw[Exporter];
-@EXPORT = Package::Constants->list( __PACKAGE__ );
-
-sub constants { @EXPORT };
-
-use constant INSTALLER_BUILD
- => 'CPANPLUS::Dist::Build';
-use constant INSTALLER_MM => 'CPANPLUS::Dist::MM';
-use constant INSTALLER_SAMPLE
- => 'CPANPLUS::Dist::Sample';
-use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base';
-use constant INSTALLER_AUTOBUNDLE
- => 'CPANPLUS::Dist::Autobundle';
-
-use constant SHELL_DEFAULT => 'CPANPLUS::Shell::Default';
-use constant SHELL_CLASSIC => 'CPANPLUS::Shell::Classic';
-
-use constant CONFIG => 'CPANPLUS::Config';
-use constant CONFIG_USER => 'CPANPLUS::Config::User';
-use constant CONFIG_SYSTEM => 'CPANPLUS::Config::System';
-use constant CONFIG_BOXED => 'CPANPLUS::Config::Boxed';
-
-use constant DEFAULT_SOURCE_ENGINE
- => 'CPANPLUS::Internals::Source::Memory';
-
-use constant TARGET_INIT => 'init';
-use constant TARGET_CREATE => 'create';
-use constant TARGET_PREPARE => 'prepare';
-use constant TARGET_INSTALL => 'install';
-use constant TARGET_IGNORE => 'ignore';
-
-use constant ON_WIN32 => $^O eq 'MSWin32';
-use constant ON_NETWARE => $^O eq 'NetWare';
-use constant ON_CYGWIN => $^O eq 'cygwin';
-use constant ON_VMS => $^O eq 'VMS';
-
-use constant DOT_CPANPLUS => ON_VMS ? '_cpanplus' : '.cpanplus';
-
-use constant OPT_AUTOFLUSH => '-MCPANPLUS::Internals::Utils::Autoflush';
-
-use constant UNKNOWN_DL_LOCATION
- => 'UNKNOWN-ORIGIN';
-
-use constant NMAKE => 'nmake.exe';
-use constant NMAKE_URL =>
- 'ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe';
-
-use constant INSTALL_VIA_PACKAGE_MANAGER
- => sub { my $fmt = $_[0] or return;
- return 1 if $fmt ne INSTALLER_BUILD and
- $fmt ne INSTALLER_MM;
- };
-
-use constant IS_CODEREF => sub { ref $_[-1] eq 'CODE' };
-use constant IS_MODOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Module') };
-use constant IS_FAKE_MODOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Module::Fake') };
-use constant IS_AUTHOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Module::Author') };
-use constant IS_FAKE_AUTHOBJ
- => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Module::Author::Fake') };
-
-use constant IS_CONFOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Configure') };
-
-use constant IS_RVOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Backend::RV') };
-
-use constant IS_INTERNALS_OBJ
- => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Internals') };
-
-use constant IS_FILE => sub { return 1 if -e $_[-1] };
-
-use constant FILE_EXISTS => sub {
- my $file = $_[-1];
- return 1 if IS_FILE->($file);
- local $Carp::CarpLevel =
- $Carp::CarpLevel+2;
- error(loc( q[File '%1' does not exist],
- $file));
- return;
- };
-
-use constant FILE_READABLE => sub {
- my $file = $_[-1];
- return 1 if -e $file && -r _;
- local $Carp::CarpLevel =
- $Carp::CarpLevel+2;
- error( loc( q[File '%1' is not readable ].
- q[or does not exist], $file));
- return;
- };
-use constant IS_DIR => sub { return 1 if -d $_[-1] };
-
-use constant DIR_EXISTS => sub {
- my $dir = $_[-1];
- return 1 if IS_DIR->($dir);
- local $Carp::CarpLevel =
- $Carp::CarpLevel+2;
- error(loc(q[Dir '%1' does not exist],
- $dir));
- return;
- };
-
- ### On VMS, if the $Config{make} is either MMK
- ### or MMS, then the makefile is 'DESCRIP.MMS'.
-use constant MAKEFILE => sub { my $file =
- (ON_VMS and
- $Config::Config{make} =~ /MM[S|K]/i)
- ? 'DESCRIP.MMS'
- : 'Makefile';
-
- return @_
- ? File::Spec->catfile( @_, $file )
- : $file;
- };
-use constant MAKEFILE_PL => sub { return @_
- ? File::Spec->catfile( @_,
- 'Makefile.PL' )
- : 'Makefile.PL';
- };
-use constant BUILD_PL => sub { return @_
- ? File::Spec->catfile( @_,
- 'Build.PL' )
- : 'Build.PL';
- };
-
-use constant META_YML => sub { return @_
- ? File::Spec->catfile( @_, 'META.yml' )
- : 'META.yml';
- };
-
-use constant MYMETA_YML => sub { return @_
- ? File::Spec->catfile( @_, 'MYMETA.yml' )
- : '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';
- };
-
-use constant LIB => 'lib';
-use constant LIB_DIR => sub { return @_
- ? File::Spec->catdir(@_, LIB)
- : LIB;
- };
-use constant AUTO => 'auto';
-use constant LIB_AUTO_DIR => sub { return @_
- ? File::Spec->catdir(@_, LIB, AUTO)
- : File::Spec->catdir(LIB, AUTO)
- };
-use constant ARCH => 'arch';
-use constant ARCH_DIR => sub { return @_
- ? File::Spec->catdir(@_, ARCH)
- : ARCH;
- };
-use constant ARCH_AUTO_DIR => sub { return @_
- ? File::Spec->catdir(@_,ARCH,AUTO)
- : File::Spec->catdir(ARCH,AUTO)
- };
-
-use constant BLIB_LIBDIR => sub { return @_
- ? File::Spec->catdir(
- @_, BLIB->(), LIB )
- : File::Spec->catdir( BLIB->(), LIB );
- };
-
-use constant BIN => 'bin';
-
-use constant SCRIPT => 'script';
-
-use constant CONFIG_USER_LIB_DIR => sub {
- require CPANPLUS::Internals::Utils;
- LIB_DIR->(
- CPANPLUS::Internals::Utils->_home_dir,
- DOT_CPANPLUS
- );
- };
-use constant CONFIG_USER_FILE => sub {
- File::Spec->catfile(
- CONFIG_USER_LIB_DIR->(),
- split('::', CONFIG_USER),
- ) . '.pm';
- };
-use constant CONFIG_SYSTEM_FILE => sub {
- require CPANPLUS::Internals;
- require File::Basename;
- my $dir = File::Basename::dirname(
- $INC{'CPANPLUS/Internals.pm'}
- );
-
- ### XXX use constants
- File::Spec->catfile(
- $dir, qw[Config System.pm]
- );
- };
-
-use constant README => sub { my $obj = $_[0];
- my $pkg = $obj->package_name;
- $pkg .= '-' . $obj->package_version .
- '.readme';
- return $pkg;
- };
-use constant META_EXT => 'meta';
-
-use constant META => sub { my $obj = $_[0];
- my $pkg = $obj->package_name;
- $pkg .= '-' . $obj->package_version .
- '.' . META_EXT;
- return $pkg;
- };
-
-use constant OPEN_FILE => sub {
- my($file, $mode) = (@_, '');
- my $fh;
- open $fh, "$mode" . $file
- or error(loc(
- "Could not open file '%1': %2",
- $file, $!));
- return $fh if $fh;
- return;
- };
-
-use constant OPEN_DIR => sub {
- my $dir = shift;
- my $dh;
- opendir $dh, $dir or error(loc(
- "Could not open dir '%1': %2", $dir, $!
- ));
-
- return $dh if $dh;
- return;
- };
-
-use constant READ_DIR => sub {
- my $dir = shift;
- my $dh = OPEN_DIR->( $dir ) or return;
-
- ### exclude . and ..
- my @files = grep { $_ !~ /^\.{1,2}/ }
- readdir($dh);
-
- ### Remove trailing dot on VMS when
- ### using VMS syntax.
- if( ON_VMS ) {
- s/(?<!\^)\.$// for @files;
- }
-
- return @files;
- };
-
-use constant STRIP_GZ_SUFFIX
- => sub {
- my $file = $_[0] or return;
- $file =~ s/.gz$//i;
- return $file;
- };
-
-use constant CHECKSUMS => 'CHECKSUMS';
-use constant PGP_HEADER => '-----BEGIN PGP SIGNED MESSAGE-----';
-use constant ENV_CPANPLUS_CONFIG
- => 'PERL5_CPANPLUS_CONFIG';
-use constant ENV_CPANPLUS_IS_EXECUTING
- => 'PERL5_CPANPLUS_IS_EXECUTING';
-use constant DEFAULT_EMAIL => 'cpanplus@example.com';
-use constant CPANPLUS_UA => sub { ### for the version number ###
- require CPANPLUS::Internals;
- "CPANPLUS/$CPANPLUS::Internals::VERSION"
- };
-use constant TESTERS_URL => sub {
- 'http://cpantesters.org/distro/'.
- uc(substr($_[0],0,1)) .'/'. $_[0] . '.yaml';
- };
-use constant TESTERS_DETAILS_URL
- => sub {
- 'http://cpantesters.org/distro/'.
- uc(substr($_[0],0,1)) .'/'. $_[0];
- };
-
-use constant CREATE_FILE_URI
- => sub {
- my $dir = $_[0] or return;
- return $dir =~ m|^/|
- ? 'file://' . $dir
- : 'file:///' . $dir;
- };
-
-use constant EMPTY_DSLIP => ' ';
-
-use constant CUSTOM_AUTHOR_ID
- => 'LOCAL';
-
-use constant DOT_SHELL_DEFAULT_RC
- => '.shell-default.rc';
-
-use constant SOURCE_SQLITE_DB
- => 'db.sql';
-
-use constant PREREQ_IGNORE => 0;
-use constant PREREQ_INSTALL => 1;
-use constant PREREQ_ASK => 2;
-use constant PREREQ_BUILD => 3;
-use constant BOOLEANS => [0,1];
-use constant CALLING_FUNCTION
- => sub { my $lvl = $_[0] || 0;
- return join '::', (caller(2+$lvl))[3]
- };
-use constant PERL_CORE => 'perl';
-use constant PERL_WRAPPER => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
-use constant STORABLE_EXT => '.stored';
-
-use constant GET_XS_FILES => sub { my $dir = $_[0] or return;
- require File::Find;
- my @files;
- File::Find::find(
- sub { push @files, $File::Find::name
- if $File::Find::name =~ /\.xs$/i
- }, $dir );
-
- return @files;
- };
-
-use constant INSTALL_LOG_FILE
- => sub { my $obj = shift or return;
- my $name = $obj->name; $name =~ s/::/-/g;
- $name .= '-'. $obj->version;
- $name .= '-'. scalar(time) . '.log';
- return $name;
- };
-
-use constant ON_OLD_CYGWIN => do { ON_CYGWIN and $] < 5.008
- ? loc(
- "Your perl version for %1 is too low; ".
- "Require %2 or higher for this function",
- $^O, '5.8.0' )
- : '';
- };
-
-### XXX these 2 are probably obsolete -- check & remove;
-use constant DOT_EXISTS => '.exists';
-
-use constant QUOTE_PERL_ONE_LINER
- => sub { my $line = shift or return;
-
- ### use double quotes on these systems
- return qq["$line"]
- if ON_WIN32 || ON_NETWARE || ON_VMS;
-
- ### single quotes on the rest
- return qq['$line'];
- };
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
deleted file mode 100644
index dc92ec6c31d..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
+++ /dev/null
@@ -1,426 +0,0 @@
-package CPANPLUS::Internals::Constants::Report;
-use deprecate;
-
-use strict;
-use CPANPLUS::Error;
-
-use File::Spec;
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-require Exporter;
-use vars qw[$VERSION @ISA @EXPORT];
-
-use Package::Constants;
-
-### for the version
-require CPANPLUS::Internals;
-
-$VERSION = "0.9135";
-@ISA = qw[Exporter];
-@EXPORT = Package::Constants->list( __PACKAGE__ );
-
-### OS to regex map ###
-my %OS = (
- Amiga => 'amigaos',
- Atari => 'mint',
- BSD => 'bsdos|darwin|freebsd|openbsd|netbsd',
- Be => 'beos',
- BeOS => 'beos',
- Cygwin => 'cygwin',
- Darwin => 'darwin',
- EBCDIC => 'os390|os400|posix-bc|vmesa',
- HPUX => 'hpux',
- Linux => 'linux',
- MSDOS => 'dos|os2|MSWin32|cygwin',
- 'bin\\d*Mac'=> 'MacOS|darwin', # binMac, bin56Mac, bin58Mac...
- Mac => 'MacOS|darwin',
- MacPerl => 'MacOS',
- MacOS => 'MacOS|darwin',
- MacOSX => 'darwin',
- MPE => 'mpeix',
- MPEiX => 'mpeix',
- OS2 => 'os2',
- Plan9 => 'plan9',
- RISCOS => 'riscos',
- SGI => 'irix',
- Solaris => 'solaris',
- Unix => 'aix|bsdos|darwin|dgux|dynixptx|freebsd|'.
- 'linux|hpux|machten|netbsd|next|openbsd|dec_osf|'.
- 'svr4|sco_sv|unicos|unicosmk|solaris|sunos',
- VMS => 'VMS',
- VOS => 'VOS',
- Win32 => 'MSWin32|cygwin',
- Win32API => 'MSWin32|cygwin',
-);
-
-use constant GRADE_FAIL => 'fail';
-use constant GRADE_PASS => 'pass';
-use constant GRADE_NA => 'na';
-use constant GRADE_UNKNOWN => 'unknown';
-
-use constant MAX_REPORT_SEND
- => 2;
-
-use constant CPAN_TESTERS_EMAIL
- => 'cpan-testers@perl.org';
-
-### the cpan mail account for this user ###
-use constant CPAN_MAIL_ACCOUNT
- => sub {
- my $username = shift or return;
- return $username . '@cpan.org';
- };
-
-### check if this module is platform specific and if we're on that
-### specific platform. Alternately, the module is not platform specific
-### and we're always OK to send out test results.
-use constant RELEVANT_TEST_RESULT
- => sub {
- my $mod = shift or return;
- my $name = $mod->module;
- my $specific;
- for my $platform (keys %OS) {
- if( $name =~ /^$platform\b/i ) {
- # beware the Mac != MAC
- next if($platform eq 'Mac' &&
- $name !~ /^$platform\b/);
- $specific++;
- return 1 if
- $^O =~ /^(?:$OS{$platform})$/
- }
- };
- return $specific ? 0 : 1;
- };
-
-use constant UNSUPPORTED_OS
- => sub {
- my $buffer = shift or return;
- if( $buffer =~
- /No support for OS|OS unsupported/im ) {
- return 1;
- }
- return 0;
- };
-
-use constant PERL_VERSION_TOO_LOW
- => sub {
- my $buffer = shift or return;
- # ExtUtils::MakeMaker format
- if( $buffer =~
- /Perl .*? required--this is only .*?/m ) {
- return 1;
- }
- # Module::Build format
- if( $buffer =~
- /ERROR:( perl:)? Version .*?( of perl)? is installed, but we need version >= .*?/m ) {
- return 1;
- }
- return 0;
- };
-
-use constant NO_TESTS_DEFINED
- => sub {
- my $buffer = shift or return;
- if( $buffer =~
- /(No tests defined( for [\w:]+ extension)?\.)/
- and $buffer !~ /\*\.t/m and
- $buffer !~ /test\.pl/m
- ) {
- return $1
- }
-
- return;
- };
-
-### what stage did the test fail? ###
-use constant TEST_FAIL_STAGE
- => sub {
- my $buffer = shift or return;
- return $buffer =~ /(MAKE [A-Z]+).*/
- ? lc $1 :
- 'fetch';
- };
-
-
-use constant MISSING_PREREQS_LIST
- => sub {
- my $buffer = shift;
- my $last = ( split /\[ERROR\] .+? MAKE TEST/, $buffer )[-1];
- my @list = map { s/.pm$//; s|/|::|g; $_ }
- ($last =~
- m/\bCan\'t locate (\S+) in \@INC/g);
-
- ### make sure every missing prereq is only
- ### listed once
- { my %seen;
- @list = grep { !$seen{$_}++ } @list
- }
-
- return @list;
- };
-
-use constant MISSING_EXTLIBS_LIST
- => sub {
- my $buffer = shift;
- my @list =
- ($buffer =~
- m/No library found for -l([-\w]+)/g);
-
- return @list;
- };
-
-use constant REPORT_MESSAGE_HEADER
- => sub {
- my ($version, $author) = @_;
- return << ".";
-
-Dear $author,
-
-This is a computer-generated error report created automatically by
-CPANPLUS, version $version. Testers personal comments may appear
-at the end of this report.
-
-.
- };
-
-use constant REPORT_MESSAGE_FAIL_HEADER
- => sub {
- my($stage, $buffer) = @_;
- return << ".";
-
-Thank you for uploading your work to CPAN. However, it appears that
-there were some problems testing your distribution.
-
-TEST RESULTS:
-
-Below is the error stack from stage '$stage':
-
-$buffer
-
-.
- };
-
-use constant REPORT_MESSAGE_PASS_HEADER
- => sub {
- my($stage, $buffer) = @_;
- return << ".";
-
-Thank you for uploading your work to CPAN. Congratulations!
-All tests were successful.
-
-TEST RESULTS:
-
-Below is the error stack from stage '$stage':
-
-$buffer
-
-.
- };
-
-use constant REPORT_MISSING_PREREQS
- => sub {
- my ($author,$email,@missing) = @_;
- $author = ($author && $email)
- ? "$author ($email)"
- : 'Your Name Here';
-
- my $modules = join "\n", @missing;
- my $prereqs = join "\n",
- map {"\t'$_'\t=> '0',".
- " # or a minimum working version"}
- @missing;
-
- return << ".";
-
-MISSING PREREQUISITES:
-
-It was observed that the test suite seem to fail without these modules:
-
-$modules
-
-As such, adding the prerequisite module(s) to 'PREREQ_PM' in your
-Makefile.PL should solve this problem. For example:
-
-WriteMakefile(
- AUTHOR => '$author',
- ... # other information
- PREREQ_PM => {
-$prereqs
- }
-);
-
-Thanks! :-)
-
-.
- };
-
-use constant REPORT_MISSING_TESTS
- => sub {
- return << ".";
-RECOMMENDATIONS:
-
-It would be very helpful if you could include even a simple test
-script in the next release, so people can verify which platforms
-can successfully install them, as well as avoid regression bugs?
-
-A simple 't/use.t' that says:
-
-#!/usr/bin/env perl -w
-use strict;
-use Test;
-BEGIN { plan tests => 1 }
-
-use Your::Module::Here; ok(1);
-exit;
-__END__
-
-would be appreciated. If you are interested in making a more robust
-test suite, please see the Test::Simple, Test::More and Test::Tutorial
-documentation at <http://search.cpan.org/dist/Test-Simple/>.
-
-Thanks! :-)
-
-.
- };
-
-use constant REPORT_LOADED_PREREQS
- => sub {
- my $mod = shift;
- my $cb = $mod->parent;
- my $prq = $mod->status->prereqs || {};
-
- ### not every prereq may be coming from CPAN
- ### so maybe we wont find it in our module
- ### tree at all...
- ### skip ones that cant be found in teh list
- ### as reported in #12723
- my @prq = grep { defined }
- map { $cb->module_tree($_) }
- sort keys %$prq;
-
- ### no prereqs?
- return '' unless @prq;
-
- ### some apparently, list what we loaded
- my $str = << ".";
-PREREQUISITES:
-
-Here is a list of prerequisites you specified and versions we
-managed to load:
-
-.
- $str .= join '',
- map { sprintf "\t%s %-30s %8s %8s\n",
- @$_
-
- } [' ', 'Module Name', 'Have', 'Want'],
- map { my $want = $prq->{$_->name};
- [ do { $_->is_uptodate(
- version => $want
- ) ? ' ' : '!'
- },
- $_->name,
- $_->installed_version,
- $want
- ],
- ### might be empty entries in there
- } grep { $_ } @prq;
-
- return $str;
- };
-
-use constant REPORT_TOOLCHAIN_VERSIONS
- => sub {
- my $mod = shift;
- my $cb = $mod->parent;
- #die unless $cb->isa('CPANPLUS::Backend');
-
- my @toolchain_modules= qw(
- CPANPLUS
- CPANPLUS::Dist::Build
- Cwd
- ExtUtils::CBuilder
- ExtUtils::Command
- ExtUtils::Install
- ExtUtils::MakeMaker
- ExtUtils::Manifest
- ExtUtils::ParseXS
- File::Spec
- Module::Build
- Pod::Parser
- Pod::Simple
- Test::Harness
- Test::More
- version
- );
-
- my @toolchain =
- grep { $_ } #module_tree returns '' when module is not found
- map { $cb->module_tree($_) }
- sort @toolchain_modules;
-
- ### no prereqs?
- return '' unless @toolchain;
-
- ### toolchain modules
- my $str = << ".";
-
-Perl module toolchain versions installed:
-.
- $str .= join '',
- map { sprintf "\t%-30s %8s\n",
- @$_
-
- } ['Module Name', 'Have'],
- map {
- [ $_->name,
- $_->installed_version,
- ],
- ### might be empty entries in there
- } @toolchain;
-
- return $str;
- };
-
-
-use constant REPORT_TESTS_SKIPPED
- => sub {
- return << ".";
-
-******************************** NOTE ********************************
-*** ***
-*** The tests for this module were skipped during this build ***
-*** ***
-**********************************************************************
-
-.
- };
-
-use constant REPORT_MESSAGE_FOOTER
- => sub {
- return << ".";
-
-******************************** NOTE ********************************
-The comments above are created mechanically, possibly without manual
-checking by the sender. As there are many people performing automatic
-tests on each upload to CPAN, it is likely that you will receive
-identical messages about the same problem.
-
-If you believe that the message is mistaken, please reply to the first
-one with correction and/or additional informations, and do not take
-it personally. We appreciate your patience. :)
-**********************************************************************
-
-Additional comments:
-
-.
- };
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
deleted file mode 100644
index 4028aacfa70..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
+++ /dev/null
@@ -1,247 +0,0 @@
-package CPANPLUS::Internals::Extract;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use File::Spec ();
-use File::Basename ();
-use Archive::Extract;
-use IPC::Cmd qw[run];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-local $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals::Extract - internals for archive extraction
-
-=head1 SYNOPSIS
-
- ### for source files ###
- $self->_gunzip( file => 'foo.gz', output => 'blah.txt' );
-
- ### for modules/packages ###
- $dir = $self->_extract( module => $modobj,
- extractdir => '/some/where' );
-
-=head1 DESCRIPTION
-
-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] )
-
-C<_extract> will take a module object and extract it to C<extractdir>
-if provided, or the default location which is obtained from your
-config.
-
-The file name is obtained by looking at C<< $modobj->status->fetch >>
-and will be parsed to see if it's a tar or zip archive.
-
-If it's a zip archive, C<__unzip> will be called, otherwise C<__untar>
-will be called. In the unlikely event the file is of neither format,
-an error will be thrown.
-
-C<_extract> takes the following options:
-
-=over 4
-
-=item module
-
-A C<CPANPLUS::Module> object. This is required.
-
-=item extractdir
-
-The directory to extract the archive to. By default this looks
-something like:
- /CPANPLUS_BASE/PERL_VERSION/BUILD/MODULE_NAME
-
-=item prefer_bin
-
-A flag indicating whether you prefer a pure perl solution, ie
-C<Archive::Tar> or C<Archive::Zip> respectively, or a binary solution
-like C<unzip> and C<tar>.
-
-=item perl
-
-The path to the perl executable to use for any perl calls. Also used
-to determine the build version directory for extraction.
-
-=item verbose
-
-Specifies whether to be verbose or not. Defaults to your corresponding
-config entry.
-
-=item force
-
-Specifies whether to force the extraction or not. Defaults to your
-corresponding config entry.
-
-=back
-
-All other options are passed on verbatim to C<__unzip> or C<__untar>.
-
-Returns the directory the file was extracted to on success and false
-on failure.
-
-=cut
-
-sub _extract {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my( $mod, $verbose, $force );
- my $tmpl = {
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- prefer_bin => { default => $conf->get_conf('prefer_bin') },
- extractdir => { default => $conf->get_conf('extractdir') },
- module => { required => 1, allow => IS_MODOBJ, store => \$mod },
- perl => { default => $^X },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### did we already extract it ? ###
- my $loc = $mod->status->extract();
-
- if( $loc && !$force ) {
- msg(loc("Already extracted '%1' to '%2'. ".
- "Won't extract again without force",
- $mod->module, $loc), $verbose);
- return $loc;
- }
-
- ### did we already fetch the file? ###
- my $file = $mod->status->fetch();
- unless( -s $file ) {
- error( loc( "File '%1' has zero size: cannot extract", $file ) );
- return;
- }
-
- ### the dir to extract to ###
- my $to = $args->{'extractdir'} ||
- File::Spec->catdir(
- $conf->get_conf('base'),
- $self->_perl_version( perl => $args->{'perl'} ),
- $conf->_get_build('moddir'),
- );
-
- ### delegate to Archive::Extract ###
- ### set up some flags for archive::extract ###
- local $Archive::Extract::PREFER_BIN = $args->{'prefer_bin'};
- local $Archive::Extract::DEBUG = $conf->get_conf('debug');
- local $Archive::Extract::WARN = $verbose;
-
- my $ae = Archive::Extract->new( archive => $file );
-
- unless( $ae->extract( to => $to ) ) {
- error( loc( "Unable to extract '%1' to '%2': %3",
- $file, $to, $ae->error ) );
- return;
- }
-
- ### if ->files is not filled, we dont know what the hell was
- ### extracted.. try to offer a suggestion and bail :(
- unless ( $ae->files ) {
- error( loc( "'%1' was not able to determine extracted ".
- "files from the archive. Install '%2' and ensure ".
- "it works properly and try again",
- $ae->is_zip ? 'Archive::Zip' : 'Archive::Tar' ) );
- return;
- }
-
-
- ### print out what files we extracted ###
- msg(loc("Extracted '%1'",$_),$verbose) for @{$ae->files};
-
- ### 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 too rigorous -- just change to +w for the owner [cpan #13358]
- #chmod 0755, map { File::Spec->rel2abs( File::Spec->catdir($to, $_) ) }
- # @{$ae->files};
-
- for my $file ( @{$ae->files} ) {
- my $path = File::Spec->rel2abs( File::Spec->catfile($to, $file) );
-
- $self->_mode_plus_w( file => $path );
- }
-
- ### check the return value for the extracted path ###
- ### Make an educated guess if we didn't get an extract_path
- ### back
- ### XXX apparently some people make their own dists and they
- ### pack up '.' which means the leading directory is '.'
- ### and only the second directory is the actual module directory
- ### so, we'll have to check if our educated guess exists first,
- ### then see if the extract path works.. and if nothing works...
- ### well, then we really don't know.
-
- my $dir;
- for my $try (
- File::Spec->rel2abs(
- ### _safe_path must be called before catdir because catdir on
- ### VMS currently will not handle the extra dots in the directories.
- File::Spec->catdir( $self->_safe_path( path => $to ) ,
- $self->_safe_path( path =>
- $mod->package_name .'-'.
- $mod->package_version
- ) ) ) ,
- File::Spec->rel2abs( $ae->extract_path ),
- ) {
- ($dir = $try) && last if -d $try;
- }
-
- ### test if the dir exists ###
- unless( $dir && -d $dir ) {
- error(loc("Unable to determine extract dir for '%1'",$mod->module));
- return;
-
- } else {
- msg(loc("Extracted '%1' to '%2'", $mod->module, $dir), $verbose);
-
- ### register where we extracted the files to,
- ### also store what files were extracted
- $mod->status->extract( $dir );
- $mod->status->files( $ae->files );
- }
-
- ### also, figure out what kind of install we're dealing with ###
- $mod->get_installer_type();
-
- return $mod->status->extract();
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
deleted file mode 100644
index 098d1e3761f..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
+++ /dev/null
@@ -1,476 +0,0 @@
-package CPANPLUS::Internals::Fetch;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use File::Fetch;
-use File::Spec;
-use Cwd qw[cwd];
-use IPC::Cmd qw[run];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals::Fetch - internals for fetching files
-
-=head1 SYNOPSIS
-
- my $output = $cb->_fetch(
- module => $modobj,
- fetchdir => '/path/to/save/to',
- verbose => BOOL,
- force => BOOL,
- );
-
- $cb->_add_fail_host( host => 'foo.com' );
- $cb->_host_ok( host => 'foo.com' );
-
-
-=head1 DESCRIPTION
-
-CPANPLUS::Internals::Fetch fetches files from either ftp, http, file
-or rsync mirrors.
-
-This is the rough flow:
-
- $cb->_fetch
- Delegate to File::Fetch;
-
-
-=head1 METHODS
-
-=cut
-
-=head1 $path = _fetch( module => $modobj, [fetchdir => '/path/to/save/to', fetch_from => 'scheme://path/to/fetch/from', verbose => BOOL, force => BOOL, prefer_bin => BOOL, ttl => $seconds] )
-
-C<_fetch> will fetch files based on the information in a module
-object. You always need a module object. If you want a fake module
-object for a one-off fetch, look at C<CPANPLUS::Module::Fake>.
-
-C<fetchdir> is the place to save the file to. Usually this
-information comes from your configuration, but you can override it
-expressly if needed.
-
-C<fetch_from> lets you specify an URI to get this file from. If you
-do not specify one, your list of configured hosts will be probed to
-download the file from.
-
-C<force> forces a new download, even if the file already exists.
-
-C<verbose> simply indicates whether or not to print extra messages.
-
-C<prefer_bin> indicates whether you prefer the use of commandline
-programs over perl modules. Defaults to your corresponding config
-setting.
-
-C<ttl> (in seconds) indicates how long a cached copy is valid for. If
-the fetch time of the local copy is within the ttl, the cached copy is
-returned. Otherwise, the file is refetched.
-
-C<_fetch> figures out, based on the host list, what scheme to use and
-from there, delegates to C<File::Fetch> do the actual fetching.
-
-Returns the path of the output file on success, false on failure.
-
-Note that you can set a C<blacklist> on certain methods in the config.
-Simply add the identifying name of the method (ie, C<lwp>) to:
- $conf->_set_fetch( blacklist => ['lwp'] );
-
-And the C<LWP> function will be skipped by C<File::Fetch>.
-
-=cut
-
-sub _fetch {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- local $Params::Check::NO_DUPLICATES = 0;
-
- my ($modobj, $verbose, $force, $fetch_from, $ttl);
- my $tmpl = {
- module => { required => 1, allow => IS_MODOBJ, store => \$modobj },
- fetchdir => { default => $conf->get_conf('fetchdir') },
- fetch_from => { default => '', store => \$fetch_from },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- prefer_bin => { default => $conf->get_conf('prefer_bin') },
- ttl => { default => 0, store => \$ttl },
- };
-
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### check if we already downloaded the thing ###
- if( (my $where = $modobj->status->fetch()) and not $force and not $ttl ) {
-
- msg(loc("Already fetched '%1' to '%2', " .
- "won't fetch again without force",
- $modobj->module, $where ), $verbose );
- return $where;
- }
-
- my ($remote_file, $local_file, $local_path);
-
- ### build the local path to download to ###
- {
- $local_path = $args->{fetchdir} ||
- File::Spec->catdir(
- $conf->get_conf('base'),
- $modobj->path,
- );
-
- ### create the path if it doesn't exist ###
- unless( -d $local_path ) {
- unless( $self->_mkdir( dir => $local_path ) ) {
- msg( loc("Could not create path '%1'", $local_path), $verbose);
- return;
- }
- }
-
- $local_file = File::Spec->rel2abs(
- File::Spec->catfile(
- $local_path,
- $modobj->package,
- )
- );
-
- ### do we already have the file? if so, can we use the cached version,
- ### or do we need to refetch?
- if( -e $local_file ) {
-
- my $unlink = 0;
- my $use_cached = 0;
-
- ### if force is in effect, we have to refetch
- if( $force ) {
- $unlink++
-
- ### if you provided a ttl, and it was exceeded, we'll refetch,
- } elsif( $ttl and ([stat $local_file]->[9] + $ttl > time) ) {
- msg(loc("Using cached file '%1' on disk; ".
- "ttl (%2s) is not exceeded",
- $local_file, $ttl), $verbose );
-
- $use_cached++;
-
- ### if you provided a ttl, and the above conditional didn't match,
- ### we exceeded the ttl, so we refetch
- } elsif ( $ttl ) {
- $unlink++;
-
- ### otherwise we can use the cached version
- } else {
- $use_cached++;
- }
-
- if( $unlink ) {
- ### some fetches will fail if the files exist already, so let's
- ### delete them first
- 1 while unlink $local_file;
-
- msg(loc("Could not delete %1, some methods may " .
- "fail to force a download", $local_file), $verbose)
- if -e $local_file;
-
- } else {
-
- ### store where we fetched it ###
- $modobj->status->fetch( $local_file );
-
- return $local_file;
- }
- }
- }
-
-
- ### we got a custom URI
- if ( $fetch_from ) {
- my $abs = $self->__file_fetch( from => $fetch_from,
- to => $local_path,
- verbose => $verbose );
-
- unless( $abs ) {
- error(loc("Unable to download '%1'", $fetch_from));
- return;
- }
-
- ### store where we fetched it ###
- $modobj->status->fetch( $abs );
-
- return $abs;
-
- ### we will get it from one of our mirrors
- } else {
- ### build the remote path to download from ###
- { $remote_file = File::Spec::Unix->catfile(
- $modobj->path,
- $modobj->package,
- );
- unless( $remote_file ) {
- error( loc('No remote file given for download') );
- return;
- }
- }
-
- ### see if we even have a host or a method to use to download with ###
- my $found_host;
- my @maybe_bad_host;
-
- HOST: {
- ### F*CKING PIECE OF F*CKING p4 SHIT makes
- ### '$File :: Fetch::SOME_VAR'
- ### into a meta variable and starts substituting the file name...
- ### GRAAAAAAAAAAAAAAAAAAAAAAH!
- ### use ' to combat it!
-
- ### set up some flags for File::Fetch ###
- local $File'Fetch::BLACKLIST = $conf->_get_fetch('blacklist');
- local $File'Fetch::TIMEOUT = $conf->get_conf('timeout');
- local $File'Fetch::DEBUG = $conf->get_conf('debug');
- local $File'Fetch::FTP_PASSIVE = $conf->get_conf('passive');
- local $File'Fetch::FROM_EMAIL = $conf->get_conf('email');
- local $File'Fetch::PREFER_BIN = $conf->get_conf('prefer_bin');
- local $File'Fetch::WARN = $verbose;
-
-
- ### loop over all hosts we have ###
- for my $host ( @{$conf->get_conf('hosts')} ) {
- $found_host++;
-
- my $where;
-
- ### file:// uris are special and need parsing
- if( $host->{'scheme'} eq 'file' ) {
-
- ### the full path in the native format of the OS
- my $host_spec =
- File::Spec->file_name_is_absolute( $host->{'path'} )
- ? $host->{'path'}
- : File::Spec->rel2abs( $host->{'path'} );
-
- ### there might be volumes involved on vms/win32
- if( ON_WIN32 or ON_VMS ) {
-
- ### now extract the volume in order to be Win32 and
- ### VMS friendly.
- ### 'no_file' indicates that there's no file part
- ### of this path, so we only get 2 bits returned.
- my ($vol, $host_path) = File::Spec->splitpath(
- $host_spec, 'no_file'
- );
-
- ### and split up the directories
- my @host_dirs = File::Spec->splitdir( $host_path );
-
- ### if we got a volume we pretend its a directory for
- ### the sake of the file:// url
- if( defined $vol and $vol ) {
-
- ### 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 doesn't seem to address Windows volume
- ### descriptors but it does address VMS volume
- ### descriptors, however wikipedia covers a bit of
- ### history regarding win32
- $vol =~ s/:$/|/ if ON_WIN32;
-
- $vol =~ s/:// if ON_VMS;
-
- ### XXX i'm not sure what cases this is addressing.
- ### this comes straight from dmq's file:// patches
- ### for win32. --kane
- ### According to dmq, the best summary is:
- ### "if file:// urls dont look right on VMS reuse
- ### the win32 logic and see if that fixes things"
-
- ### first element not empty? Might happen on VMS.
- ### prepend the volume in that case.
- if( $host_dirs[0] ) {
- unshift @host_dirs, $vol;
-
- ### element empty? reuse it to store the volume
- ### encoded as a directory name. (Win32/VMS)
- } else {
- $host_dirs[0] = $vol;
- }
- }
-
- ### now it's in UNIX format, which is the same format
- ### as used for URIs
- $host_spec = File::Spec::Unix->catdir( @host_dirs );
- }
-
- ### now create the file:// uri from the components
- $where = CREATE_FILE_URI->(
- File::Spec::Unix->catfile(
- $host->{'host'} || '',
- $host_spec,
- $remote_file,
- )
- );
-
- ### its components will be in unix format, for a http://,
- ### ftp:// or any other style of URI
- } else {
- my $mirror_path = File::Spec::Unix->catfile(
- $host->{'path'}, $remote_file
- );
-
- my %args = ( scheme => $host->{scheme},
- host => $host->{host},
- path => $mirror_path,
- );
-
- $where = $self->_host_to_uri( %args );
- }
-
- my $abs = $self->__file_fetch( from => $where,
- to => $local_path,
- verbose => $verbose );
-
- ### we got a path back?
- if( $abs ) {
- ### store where we fetched it ###
- $modobj->status->fetch( $abs );
-
- ### this host is good, the previous ones are apparently
- ### not, so mark them as such.
- $self->_add_fail_host( host => $_ ) for @maybe_bad_host;
-
- return $abs;
- }
-
- ### so we tried to get the file but didn't actually fetch it --
- ### there's a chance this host is bad. mark it as such and
- ### actually flag it back if we manage to get the file
- ### somewhere else
- push @maybe_bad_host, $host;
- }
- }
-
- $found_host
- ? error(loc("Fetch failed: host list exhausted " .
- "-- are you connected today?"))
- : error(loc("No hosts found to download from " .
- "-- check your config"));
- }
-
- return;
-}
-
-sub __file_fetch {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my ($where, $local_path, $verbose);
- my $tmpl = {
- from => { required => 1, store => \$where },
- to => { required => 1, store => \$local_path },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
-
- msg(loc("Trying to get '%1'", $where ), $verbose );
-
- ### build the object ###
- my $ff = File::Fetch->new( uri => $where );
-
- ### sanity check ###
- error(loc("Bad uri '%1'",$where)), return unless $ff;
-
- if( my $file = $ff->fetch( to => $local_path ) ) {
- unless( -e $file && -s _ ) {
- msg(loc("'%1' said it fetched '%2', but it was not created",
- 'File::Fetch', $file), $verbose);
-
- } else {
- my $abs = File::Spec->rel2abs( $file );
-
- ### so TTLs will work
- $self->_update_timestamp( file => $abs );
-
- return $abs;
- }
-
- } else {
- error(loc("Fetching of '%1' failed: %2", $where, $ff->error));
- }
-
- return;
-}
-
-=pod
-
-=head2 _add_fail_host( host => $host_hashref )
-
-Mark a particular host as bad. This makes C<CPANPLUS::Internals::Fetch>
-skip it in fetches until this cache is flushed.
-
-=head2 _host_ok( host => $host_hashref )
-
-Query the cache to see if this host is ok, or if it has been flagged
-as bad.
-
-Returns true if the host is ok, false otherwise.
-
-=cut
-
-{ ### caching functions ###
-
- sub _add_fail_host {
- my $self = shift;
- my %hash = @_;
-
- my $host;
- my $tmpl = {
- host => { required => 1, default => {},
- strict_type => 1, store => \$host },
- };
-
- check( $tmpl, \%hash ) or return;
-
- return $self->_hosts->{$host} = 1;
- }
-
- sub _host_ok {
- my $self = shift;
- my %hash = @_;
-
- my $host;
- my $tmpl = {
- host => { required => 1, store => \$host },
- };
-
- check( $tmpl, \%hash ) or return;
-
- return $self->_hosts->{$host} ? 0 : 1;
- }
-}
-
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
deleted file mode 100644
index c5892f93bb6..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
+++ /dev/null
@@ -1,696 +0,0 @@
-package CPANPLUS::Internals::Report;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Internals::Constants::Report;
-
-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;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-### for the version ###
-require CPANPLUS::Internals;
-
-=head1 NAME
-
-CPANPLUS::Internals::Report - internals for sending test reports
-
-=head1 SYNOPSIS
-
- ### 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' );
-
-=head1 DESCRIPTION
-
-This module provides all the functionality to send test reports to
-C<http://testers.cpan.org> using the C<Test::Reporter> module.
-
-All methods will be called automatically if you have C<CPANPLUS>
-configured to enable test reporting (see the C<SYNOPSIS>).
-
-=head1 METHODS
-
-=head2 $bool = $cb->_have_query_report_modules
-
-This function checks if all the required modules are here for querying
-reports. It returns true and loads them if they are, or returns false
-otherwise.
-
-=head2 $bool = $cb->_have_send_report_modules
-
-This function checks if all the required modules are here for sending
-reports. It returns true and loads them if they are, or returns false
-otherwise.
-
-=cut
-
-### XXX remove this list and move it into selfupdate, somehow..
-### this is dual administration
-{ my $query_list = {
- 'File::Fetch' => '0.13_02',
- 'Parse::CPAN::Meta' => '0.0',
- 'File::Temp' => '0.0',
- };
-
- my $send_list = {
- %$query_list,
- 'Test::Reporter' => '1.54',
- };
-
- sub _have_query_report_modules {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose') },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- return can_load( modules => $query_list, verbose => $args->{verbose} )
- ? 1
- : 0;
- }
-
- sub _have_send_report_modules {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose') },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- return can_load( modules => $send_list, verbose => $args->{verbose} )
- ? 1
- : 0;
- }
-}
-
-=head2 @list = $cb->_query_report( module => $modobj, [all_versions => BOOL, verbose => BOOL] )
-
-This function queries the CPAN testers database at
-I<http://testers.cpan.org/> for test results of specified module objects,
-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
-(fetching only reports for the current version).
-
-Returns the a list with the following data structures (for CPANPLUS
-version 0.042) on success, or false on failure. The contents of the
-data structure depends on what I<http://testers.cpan.org> returns,
-but generally looks like this:
-
- {
- 'grade' => 'PASS',
- 'dist' => 'CPANPLUS-0.042',
- 'platform' => 'i686-pld-linux-thread-multi'
- 'details' => 'http://nntp.x.perl.org/group/perl.cpan.testers/98316'
- ...
- },
- {
- 'grade' => 'PASS',
- 'dist' => 'CPANPLUS-0.042',
- 'platform' => 'i686-linux-thread-multi'
- 'details' => 'http://nntp.x.perl.org/group/perl.cpan.testers/99416'
- ...
- },
- {
- 'grade' => 'FAIL',
- 'dist' => 'CPANPLUS-0.042',
- 'platform' => 'cygwin-multi-64int',
- 'details' => 'http://nntp.x.perl.org/group/perl.cpan.testers/99371'
- ...
- },
- {
- 'grade' => 'FAIL',
- 'dist' => 'CPANPLUS-0.042',
- 'platform' => 'i586-linux',
- 'details' => 'http://nntp.x.perl.org/group/perl.cpan.testers/99396'
- ...
- },
-
-The status of the test can be one of the following:
-UNKNOWN, PASS, FAIL or NA (not applicable).
-
-=cut
-
-sub _query_report {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($mod, $verbose, $all);
- my $tmpl = {
- module => { required => 1, allow => IS_MODOBJ,
- store => \$mod },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- all_versions => { default => 0, store => \$all },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### check if we have the modules we need for querying
- return unless $self->_have_query_report_modules( verbose => 1 );
-
-
- ### XXX no longer use LWP here. However, that means we don't
- ### automagically set proxies anymore!!!
- # my $ua = LWP::UserAgent->new;
- # $ua->agent( CPANPLUS_UA->() );
- #
- ### set proxies if we have them ###
- # $ua->env_proxy();
-
- my $url = TESTERS_URL->($mod->package_name);
- my $ff = File::Fetch->new( uri => $url );
-
- msg( loc("Fetching: '%1'", $url), $verbose );
-
- 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 ) );
- return;
- }
-
- my $fh = OPEN_FILE->( $where );
-
- do { local $/; <$fh> };
- };
-
- my ($aref) = eval { Parse::CPAN::Meta::Load( $res ) };
-
- if( $@ ) {
- error(loc("Error reading result: %1", $@));
- return;
- };
-
- my $dist = $mod->package_name .'-'. $mod->package_version;
- my $details = TESTERS_DETAILS_URL->($mod->package_name);
-
- my @rv;
- for my $href ( @$aref ) {
- 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'};
-
- push @rv, $href;
- }
-
- return @rv if @rv;
- return;
-}
-
-=pod
-
-=head2 $bool = $cb->_send_report( module => $modobj, buffer => $make_output, failed => BOOL, [save => BOOL, address => $email_to, verbose => BOOL, force => BOOL]);
-
-This function sends a testers report to C<cpan-testers@perl.org> for a
-particular distribution.
-It returns true on success, and false on failure.
-
-It takes the following options:
-
-=over 4
-
-=item module
-
-The module object of this particular distribution
-
-=item buffer
-
-The output buffer from the 'make/make test' process
-
-=item failed
-
-Boolean indicating if the 'make/make test' went wrong
-
-=item save
-
-Boolean indicating if the report should be saved locally instead of
-mailed out. If provided, this function will return the location the
-report was saved to, rather than a simple boolean 'TRUE'.
-
-Defaults to false.
-
-=item address
-
-The email address to mail the report for. You should never need to
-override this, but it might be useful for debugging purposes.
-
-Defaults to C<cpan-testers@perl.org>.
-
-=item verbose
-
-Boolean indicating on whether or not to be verbose.
-
-Defaults to your configuration settings
-
-=item force
-
-Boolean indicating whether to force the sending, even if the max
-amount of reports for fails have already been reached, or if you
-may already have sent it before.
-
-Defaults to your configuration settings
-
-=back
-
-=cut
-
-sub _send_report {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- ### do you even /have/ test::reporter? ###
- unless( $self->_have_send_report_modules(verbose => 1) ) {
- error( loc( "You don't have '%1' (or modules required by '%2') ".
- "installed, you cannot report test results.",
- 'Test::Reporter', 'Test::Reporter' ) );
- return;
- }
-
- ### check arguments ###
- my ($buffer, $failed, $mod, $verbose, $force, $address, $save,
- $tests_skipped, $status );
- my $tmpl = {
- module => { required => 1, store => \$mod, allow => IS_MODOBJ },
- buffer => { required => 1, store => \$buffer },
- failed => { required => 1, store => \$failed },
- status => { default => {}, store => \$status, strict_type => 1 },
- address => { default => CPAN_TESTERS_EMAIL, store => \$address },
- save => { default => 0, store => \$save },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- force => { default => $conf->get_conf('force'),
- store => \$force },
- tests_skipped
- => { default => 0, store => \$tests_skipped },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### get the data to fill the email with ###
- 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;
- my $cb = $mod->parent;
-
-
- ### will be 'fetch', 'make', 'test', 'install', etc ###
- my $stage = TEST_FAIL_STAGE->($buffer);
-
- ### determine the grade now ###
-
- 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 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
- ### as FAIL modules where prereqs are not filled
- { my $prq = $mod->status->prereqs || {};
-
- 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(
- '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
- ### Note that due to a bug in Module::CoreList, in some released
- ### 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 !defined $sub->( $prq_name ) ) {
- msg(loc( "Prerequisite '%1' for '%2' could not be obtained".
- " from CPAN -- sending N/A grade",
- $prq_name, $name ), $verbose );
-
- $grade = GRADE_NA;
- 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,
- $name, $prq_ver ), $verbose );
-
- $grade = GRADE_NA;
- 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,
- $name, $prq_ver ), $verbose );
-
- $grade = GRADE_NA;
- 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?
- } 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;
-
- ### perhaps where were no tests...
- ### see if the thing even had tests ###
- } elsif ( NO_TESTS_DEFINED->( $buffer ) ) {
- $grade = GRADE_UNKNOWN;
- ### failures in PL or make/build stage are now considered UNKNOWN
- } elsif ( $stage !~ /\btest\b/ ) {
-
- $grade = GRADE_UNKNOWN
-
- } else {
-
- $grade = GRADE_FAIL;
- }
-
- ### if we got here, it didn't fail and tests were present.. so a PASS
- ### is in order
- } else {
- $grade = GRADE_PASS;
- } }
-
- ### so an error occurred, let's see what stage it went wrong in ###
-
- ### the header -- always include so the CPANPLUS version is apparent
- my $message = REPORT_MESSAGE_HEADER->( $int_ver, $author );
-
- if( $grade eq GRADE_FAIL or $grade eq GRADE_UNKNOWN) {
-
- ### return if one or more missing external libraries
- if( my @missing = MISSING_EXTLIBS_LIST->($buffer) ) {
- msg(loc("Not sending test report - " .
- "external libraries not pre-installed"));
- return 1;
- }
-
- ### return if we're only supposed to report make_test failures ###
- return 1 if $cp_conf =~ /\bmaketest_only\b/i
- and ($stage !~ /\btest\b/);
-
- my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
- ### the bit where we inform what went wrong
- $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
-
- ### was it missing prereqs? ###
- if( my @missing = MISSING_PREREQS_LIST->($buffer) ) {
- if(!$self->_verify_missing_prereqs(
- module => $mod,
- missing => \@missing
- )) {
- msg(loc("Not sending test report - " .
- "bogus missing prerequisites report"));
- return 1;
- }
- $message .= REPORT_MISSING_PREREQS->($author,$email,@missing);
- }
-
- ### was it missing test files? ###
- if( NO_TESTS_DEFINED->($buffer) ) {
- $message .= REPORT_MISSING_TESTS->();
- }
-
- ### add a list of what modules have been loaded of your prereqs list
- $message .= REPORT_LOADED_PREREQS->($mod);
-
- ### add a list of versions of toolchain modules
- $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
-
- ### the footer
- $message .= REPORT_MESSAGE_FOOTER->();
-
- ### it may be another grade than fail/unknown.. may be worth noting
- ### that tests got skipped, since the buffer is not added in
- } elsif ( $tests_skipped ) {
- $message .= REPORT_TESTS_SKIPPED->();
- } elsif( $grade eq GRADE_NA) {
-
- my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
-
- ### add the reason for the NA to the buffer
- $capture = join $/, $capture, map {
- '[' . $_->tag . '] [' . $_->when . '] ' .
- $_->message } ( CPANPLUS::Error->stack )[-1];
-
- ### the bit where we inform what went wrong
- $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
-
- ### add a list of what modules have been loaded of your prereqs list
- $message .= REPORT_LOADED_PREREQS->($mod);
-
- ### add a list of versions of toolchain modules
- $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
-
- ### the footer
- $message .= REPORT_MESSAGE_FOOTER->();
-
- } elsif ( $grade eq GRADE_PASS and ( $status and defined $status->{capture} ) ) {
- ### the bit where we inform what went right
- $message .= REPORT_MESSAGE_PASS_HEADER->( $stage, $status->{capture} );
-
- ### add a list of what modules have been loaded of your prereqs list
- $message .= REPORT_LOADED_PREREQS->($mod);
-
- ### add a list of versions of toolchain modules
- $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
-
- ### the footer
- $message .= REPORT_MESSAGE_FOOTER->();
-
- }
-
- msg( loc("Sending test report for '%1'", $dist), $verbose);
-
- ### 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') ] )
- 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 programatically alter the message
- $message = $self->_callbacks->munge_test_report->($mod, $message, $grade);
-
- ### add the body if we have any ###
- $reporter->comments( $message ) if defined $message && length $message;
-
- ### do a callback to ask if we should send the report
- unless ($self->_callbacks->send_test_report->($mod, $grade)) {
- msg(loc("Ok, not sending test report"));
- return 1;
- }
-
- ### do a callback to ask if we should edit the report
- if ($self->_callbacks->edit_test_report->($mod, $grade)) {
- ### test::reporter 1.20 and lower don't have a way to set
- ### the preferred editor with a method call, but it does
- ### respect your env variable, so let's set that.
- local $ENV{VISUAL} = $conf->get_program('editor')
- if $conf->get_program('editor');
-
- $reporter->edit_comments;
- }
-
- ### allow to be overridden, but default to the normal address ###
- $reporter->address( $address );
-
- ### should we save it locally? ###
- if( $save ) {
- if( my $file = $reporter->write() ) {
- msg(loc("Successfully wrote report for '%1' to '%2'",
- $dist, $file), $verbose);
- return $file;
-
- } else {
- error(loc("Failed to write report for '%1'", $dist));
- return;
- }
-
- ### XXX should we do an 'already sent' check? ###
- ### something broke :( ###
- }
- else {
- my $status;
- eval {
- $status = $reporter->send();
- };
- if ( $@ ) {
- error(loc("Could not send '%1' report for '%2': %3",
- $grade, $dist, $@));
- return;
- }
- if ( $status ) {
- msg(loc("Successfully sent '%1' report for '%2'", $grade, $dist),
- $verbose);
- return 1;
- }
- error(loc("Could not send '%1' report for '%2': %3",
- $grade, $dist, $reporter->errstr));
- return;
- }
-}
-
-sub _verify_missing_prereqs {
- my $self = shift;
- my %hash = @_;
-
- ### check arguments ###
- my ($mod, $missing);
- my $tmpl = {
- module => { required => 1, store => \$mod },
- missing => { required => 1, store => \$missing },
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- my %missing = map {$_ => 1} @$missing;
- my $conf = $self->configure_object;
- my $extract = $mod->status->extract;
-
- ### Read pre-requisites from Makefile.PL or Build.PL (if there is one),
- ### of the form:
- ### 'PREREQ_PM' => {
- ### 'Compress::Zlib' => '1.20',
- ### 'Test::More' => 0,
- ### },
- ### Build.PL uses 'requires' instead of 'PREREQ_PM'.
-
- my @search;
- push @search, ($extract ? MAKEFILE_PL->( $extract ) : MAKEFILE_PL->());
- push @search, ($extract ? BUILD_PL->( $extract ) : BUILD_PL->());
-
- for my $file ( @search ) {
- if(-e $file and -r $file) {
- my $slurp = $self->_get_file_contents(file => $file);
- my ($prereq) =
- ($slurp =~ /'?(?:PREREQ_PM|requires)'?\s*=>\s*{(.*?)}/s);
- my @prereq =
- ($prereq =~ /'?([\w\:]+)'?\s*=>\s*'?\d[\d\.\-\_]*'?/sg);
- delete $missing{$_} for(@prereq);
- }
- }
-
- return 1 if(keys %missing); # There ARE missing prerequisites
- return; # All prerequisites accounted for
-}
-
-1;
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
deleted file mode 100644
index 2a99dbfde30..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
+++ /dev/null
@@ -1,367 +0,0 @@
-package CPANPLUS::Internals::Search;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Author;
-
-use File::Find;
-use File::Spec;
-
-use Params::Check qw[check allow];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals::Search - internals for searching for modules
-
-=head1 SYNOPSIS
-
- my $aref = $cpan->_search_module_tree(
- type => 'package',
- allow => [qr/DBI/],
- );
-
- my $aref = $cpan->_search_author_tree(
- type => 'cpanid',
- data => \@old_results,
- verbose => 1,
- allow => [qw|KANE AUTRIJUS|],
- );
-
- my $aref = $cpan->_all_installed( );
-
-=head1 DESCRIPTION
-
-The functions in this module are designed to find module(objects)
-based on certain criteria and return them.
-
-=head1 METHODS
-
-=head2 _search_module_tree( type => TYPE, allow => \@regexes, [data => \@previous_results ] )
-
-Searches the moduletree for module objects matching the criteria you
-specify. Returns an array ref of module objects on success, and false
-on failure.
-
-It takes the following arguments:
-
-=over 4
-
-=item type
-
-This can be any of the accessors for the C<CPANPLUS::Module> objects.
-This is a required argument.
-
-=item allow
-
-A set of rules, or more precisely, a list of regexes (via C<qr//> or
-plain strings), that the C<type> must adhere too. You can specify as
-many as you like, and it will be treated as an C<OR> search.
-For an C<AND> search, see the C<data> argument.
-
-This is a required argument.
-
-=item data
-
-An arrayref of previous search results. This is the way to do an C<AND>
-search -- C<_search_module_tree> will only search the module objects
-specified in C<data> if provided, rather than the moduletree itself.
-
-=back
-
-=cut
-
-# Although the Params::Check solution is more graceful, it is WAY too slow.
-#
-# This sample script:
-#
-# use CPANPLUS::Backend;
-# my $cb = new CPANPLUS::Backend;
-# $cb->module_tree;
-# my @list = $cb->search( type => 'module', allow => [qr/^Acme/] );
-# print $_->module, $/ for @list;
-#
-# Produced the following output using Dprof WITH params::check code
-#
-# Total Elapsed Time = 3.670024 Seconds
-# User+System Time = 3.390373 Seconds
-# Exclusive Times
-# %Time ExclSec CumulS #Calls sec/call Csec/c Name
-# 88.7 3.008 4.463 20610 0.0001 0.0002 Params::Check::check
-# 47.4 1.610 1.610 1 1.6100 1.6100 Storable::net_pstore
-# 25.6 0.869 0.737 20491 0.0000 0.0000 Locale::Maketext::Simple::_default
-# _gettext
-# 23.2 0.789 0.524 40976 0.0000 0.0000 Params::Check::_who_was_it
-# 23.2 0.789 0.677 20610 0.0000 0.0000 Params::Check::_sanity_check
-# 19.7 0.670 0.670 1 0.6700 0.6700 Storable::pretrieve
-# 14.1 0.480 0.211 41350 0.0000 0.0000 Params::Check::_convert_case
-# 11.5 0.390 0.256 20610 0.0000 0.0000 Params::Check::_hashdefs
-# 11.5 0.390 0.255 20697 0.0000 0.0000 Params::Check::_listreqs
-# 11.4 0.389 0.177 20653 0.0000 0.0000 Params::Check::_canon_key
-# 10.9 0.370 0.356 20697 0.0000 0.0000 Params::Check::_hasreq
-# 8.02 0.272 4.750 1 0.2723 4.7501 CPANPLUS::Internals::Search::_sear
-# ch_module_tree
-# 6.49 0.220 0.086 20653 0.0000 0.0000 Params::Check::_iskey
-# 6.19 0.210 0.077 20488 0.0000 0.0000 Params::Check::_store_error
-# 5.01 0.170 0.036 20680 0.0000 0.0000 CPANPLUS::Module::__ANON__
-#
-# and this output /without/
-#
-# Total Elapsed Time = 2.803426 Seconds
-# User+System Time = 2.493426 Seconds
-# Exclusive Times
-# %Time ExclSec CumulS #Calls sec/call Csec/c Name
-# 56.9 1.420 1.420 1 1.4200 1.4200 Storable::net_pstore
-# 25.6 0.640 0.640 1 0.6400 0.6400 Storable::pretrieve
-# 9.22 0.230 0.096 20680 0.0000 0.0000 CPANPLUS::Module::__ANON__
-# 7.06 0.176 0.272 1 0.1762 0.2719 CPANPLUS::Internals::Search::_sear
-# ch_module_tree
-# 3.21 0.080 0.098 10 0.0080 0.0098 IPC::Cmd::BEGIN
-# 1.60 0.040 0.205 13 0.0031 0.0158 CPANPLUS::Internals::BEGIN
-# 1.20 0.030 0.030 29 0.0010 0.0010 vars::BEGIN
-# 1.20 0.030 0.117 10 0.0030 0.0117 Log::Message::BEGIN
-# 1.20 0.030 0.029 9 0.0033 0.0033 CPANPLUS::Internals::Search::BEGIN
-# 0.80 0.020 0.020 5 0.0040 0.0040 DynaLoader::dl_load_file
-# 0.80 0.020 0.127 10 0.0020 0.0127 CPANPLUS::Module::BEGIN
-# 0.80 0.020 0.389 2 0.0099 0.1944 main::BEGIN
-# 0.80 0.020 0.359 12 0.0017 0.0299 CPANPLUS::Backend::BEGIN
-# 0.40 0.010 0.010 30 0.0003 0.0003 Config::FETCH
-# 0.40 0.010 0.010 18 0.0006 0.0005 Locale::Maketext::Simple::load_loc
-#
-
-sub _search_module_tree {
-
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($mods,$list,$verbose,$type);
- my $tmpl = {
- data => { default => [],
- strict_type=> 1, store => \$mods },
- allow => { required => 1, default => [ ], strict_type => 1,
- store => \$list },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- type => { required => 1, allow => [CPANPLUS::Module->accessors()],
- store => \$type },
- };
-
- my $args = do {
- ### don't check the template for sanity
- ### -- we know it's good and saves a lot of performance
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
-
- check( $tmpl, \%hash );
- } or return;
-
- ### a list of module objects was supplied
- if( @$mods ) {
- local $Params::Check::VERBOSE = 0;
-
- my @rv;
- for my $mod (@$mods) {
- #push @rv, $mod if check(
- # { $type => { allow => $list } },
- # { $type => $mod->$type() }
- # );
- push @rv, $mod if allow( $mod->$type() => $list );
-
- }
- return \@rv;
-
- } else {
- my @rv = $self->_source_search_module_tree(
- allow => $list,
- type => $type,
- );
- return \@rv;
- }
-}
-
-=pod
-
-=head2 _search_author_tree( type => TYPE, allow => \@regexex, [data => \@previous_results ] )
-
-Searches the authortree for author objects matching the criteria you
-specify. Returns an array ref of author objects on success, and false
-on failure.
-
-It takes the following arguments:
-
-=over 4
-
-=item type
-
-This can be any of the accessors for the C<CPANPLUS::Module::Author>
-objects. This is a required argument.
-
-=item allow
-
-
-A set of rules, or more precisely, a list of regexes (via C<qr//> or
-plain strings), that the C<type> must adhere too. You can specify as
-many as you like, and it will be treated as an C<OR> search.
-For an C<AND> search, see the C<data> argument.
-
-This is a required argument.
-
-=item data
-
-An arrayref of previous search results. This is the way to do an C<and>
-search -- C<_search_author_tree> will only search the author objects
-specified in C<data> if provided, rather than the authortree itself.
-
-=back
-
-=cut
-
-sub _search_author_tree {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($authors,$list,$verbose,$type);
- my $tmpl = {
- data => { default => [],
- strict_type=> 1, store => \$authors },
- allow => { required => 1, default => [ ], strict_type => 1,
- store => \$list },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- type => { required => 1, allow => [CPANPLUS::Module::Author->accessors()],
- store => \$type },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- if( @$authors ) {
- local $Params::Check::VERBOSE = 0;
-
- my @rv;
- for my $auth (@$authors) {
- #push @rv, $auth if check(
- # { $type => { allow => $list } },
- # { $type => $auth->$type }
- # );
- push @rv, $auth if allow( $auth->$type() => $list );
- }
- return \@rv;
- } else {
- my @rv = $self->_source_search_author_tree(
- allow => $list,
- type => $type,
- );
- return \@rv;
- }
-}
-
-=pod
-
-=head2 _all_installed()
-
-This function returns an array ref of module objects of modules that
-are installed on this system.
-
-=cut
-
-sub _all_installed {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- ### File::Find uses follow_skip => 1 by default, which doesn't die
- ### on duplicates, unless they are directories or symlinks.
- ### Ticket #29796 shows this code dying on Alien::WxWidgets,
- ### which uses symlinks.
- ### File::Find doc says to use follow_skip => 2 to ignore duplicates
- ### so this will stop it from dying.
- my %find_args = ( follow_skip => 2 );
-
- ### File::Find uses lstat, which quietly becomes stat on win32
- ### it then uses -l _ which is not allowed by the statbuffer because
- ### you did a stat, not an lstat (duh!). so don't tell win32 to
- ### follow symlinks, as that will break badly
- $find_args{'follow_fast'} = 1 unless ON_WIN32;
-
- ### never use the @INC hooks to find installed versions of
- ### modules -- they're just there in case they're not on the
- ### perl install, but the user shouldn't trust them for *other*
- ### modules!
- ### XXX CPANPLUS::inc is now obsolete, remove the calls
- #local @INC = CPANPLUS::inc->original_inc;
-
- my %seen; my @rv;
- for my $dir (@INC ) {
- next if $dir eq '.';
-
- ### not a directory after all
- ### may be coderef or some such
- next unless -d $dir;
-
- ### make sure to clean up the directories just in case,
- ### as we're making assumptions about the length
- ### This solves rt.cpan issue #19738
-
- ### John M. notes: On VMS cannonpath can not currently handle
- ### the $dir values that are in UNIX format.
- $dir = File::Spec->canonpath( $dir ) unless ON_VMS;
-
- ### have to use F::S::Unix on VMS, or things will break
- my $file_spec = ON_VMS ? 'File::Spec::Unix' : 'File::Spec';
-
- ### XXX in some cases File::Find can actually die!
- ### so be safe and wrap it in an eval.
- eval { File::Find::find(
- { %find_args,
- wanted => sub {
-
- return unless /\.pm$/i;
- my $mod = $File::Find::name;
-
- ### make sure it's in Unix format, as it
- ### may be in VMS format on VMS;
- $mod = VMS::Filespec::unixify( $mod ) if ON_VMS;
-
- $mod = substr($mod, length($dir) + 1, -3);
- $mod = join '::', $file_spec->splitdir($mod);
-
- return if $seen{$mod}++;
-
- my $modobj = $self->module_tree($mod);
-
- ### separate return, a list context return with one ''
- ### in it, is also true!
- return unless $modobj;
-
- push @rv, $modobj;
- },
- }, $dir
- ) };
-
- ### report the error if file::find died
- error(loc("Error finding installed files in '%1': %2", $dir, $@)) if $@;
- }
-
- return \@rv;
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
deleted file mode 100644
index 8f8ad7bd4c7..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
+++ /dev/null
@@ -1,1470 +0,0 @@
-package CPANPLUS::Internals::Source;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Fake;
-use CPANPLUS::Module::Author;
-use CPANPLUS::Internals::Constants;
-
-use File::Fetch;
-use Archive::Extract;
-
-use IPC::Cmd qw[can_run];
-use File::Temp qw[tempdir];
-use File::Basename qw[dirname];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-### list of methods the parent class must implement
-{ for my $sub ( qw[_init_trees _finalize_trees
- _standard_trees_completed _custom_trees_completed
- _add_module_object _add_author_object _save_state
- ]
- ) {
- no strict 'refs';
- *$sub = sub {
- my $self = shift;
- my $class = ref $self || $self;
-
- require Carp;
- Carp::croak( loc( "Class %1 must implement method '%2'",
- $class, $sub ) );
- }
- }
-}
-
-{
- my $recurse; # flag to prevent recursive calls to *_tree functions
-
- ### lazy loading of module tree
- sub _module_tree {
- my $self = $_[0];
-
- unless ($self->_mtree or $recurse++ > 0) {
- my $uptodate = $self->_check_trees( @_[1..$#_] );
- $self->_build_trees(uptodate => $uptodate);
- }
-
- $recurse--;
- return $self->_mtree;
- }
-
- ### lazy loading of author tree
- sub _author_tree {
- my $self = $_[0];
-
- unless ($self->_atree or $recurse++ > 0) {
- my $uptodate = $self->_check_trees( @_[1..$#_] );
- $self->_build_trees(uptodate => $uptodate);
- }
-
- $recurse--;
- return $self->_atree;
- }
-
-}
-
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals::Source - internals for updating source files
-
-=head1 SYNOPSIS
-
- ### lazy load author/module trees ###
-
- $cb->_author_tree;
- $cb->_module_tree;
-
-=head1 DESCRIPTION
-
-CPANPLUS::Internals::Source controls the updating of source files and
-the parsing of them into usable module/author trees to be used by
-C<CPANPLUS>.
-
-Functions exist to check if source files are still C<good to use> as
-well as update them, and then parse them.
-
-The flow looks like this:
-
- $cb->_author_tree || $cb->_module_tree
- $cb->_check_trees
- $cb->__check_uptodate
- $cb->_update_source
- $cb->__update_custom_module_sources
- $cb->__update_custom_module_source
- $cb->_build_trees
- ### engine methods
- { $cb->_init_trees;
- $cb->_standard_trees_completed
- $cb->_custom_trees_completed
- }
- $cb->__create_author_tree
- ### engine methods
- { $cb->_add_author_object }
- $cb->__create_module_tree
- $cb->__create_dslip_tree
- ### engine methods
- { $cb->_add_module_object }
- $cb->__create_custom_module_entries
-
- $cb->_dslip_defs
-
-=head1 METHODS
-
-=cut
-
-=pod
-
-=head2 $cb->_build_trees( uptodate => BOOL, [use_stored => BOOL, path => $path, verbose => BOOL] )
-
-This method rebuilds the author- and module-trees from source.
-
-It takes the following arguments:
-
-=over 4
-
-=item uptodate
-
-Indicates whether any on disk caches are still ok to use.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=item use_stored
-
-A boolean flag indicating whether or not it is ok to use previously
-stored trees. Defaults to true.
-
-=back
-
-Returns a boolean indicating success.
-
-=cut
-
-### (re)build the trees ###
-sub _build_trees {
- my ($self, %hash) = @_;
- my $conf = $self->configure_object;
-
- my($path,$uptodate,$use_stored,$verbose);
- my $tmpl = {
- path => { default => $conf->get_conf('base'), store => \$path },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- uptodate => { required => 1, store => \$uptodate },
- use_stored => { default => 1, store => \$use_stored },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- $self->_init_trees(
- path => $path,
- uptodate => $uptodate,
- verbose => $verbose,
- use_stored => $use_stored,
- ) or do {
- error( loc("Could not initialize trees" ) );
- return;
- };
-
- ### return if we weren't able to build the trees ###
- return unless $self->_mtree && $self->_atree;
-
- ### did we get everything from a stored state? if not,
- ### process them now.
- if( not $self->_standard_trees_completed ) {
-
- ### first, prep the author tree
- $self->__create_author_tree(
- uptodate => $uptodate,
- path => $path,
- verbose => $verbose,
- ) or return;
-
- ### and now the module tree
- $self->_create_mod_tree(
- uptodate => $uptodate,
- path => $path,
- verbose => $verbose,
- ) or return;
- }
-
- ### 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 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 ) {
-
- ### update them if the other sources are also deemed out of date
- if( $conf->get_conf('enable_custom_sources') ) {
- $self->__update_custom_module_sources( verbose => $verbose )
- or error(loc("Could not update custom module sources"));
- }
-
- ### add custom sources here if enabled
- if( $conf->get_conf('enable_custom_sources') ) {
- $self->__create_custom_module_entries( verbose => $verbose )
- or error(loc("Could not create custom module entries"));
- }
- }
-
- ### give the source engine a chance to wrap up creation
- $self->_finalize_trees(
- path => $path,
- uptodate => $uptodate,
- verbose => $verbose,
- use_stored => $use_stored,
- ) or do {
- error(loc( "Could not finalize trees" ));
- return;
- };
-
- ### still necessary? can only run one instance now ###
- ### will probably stay that way --kane
-# my $id = $self->_store_id( $self );
-#
-# unless ( $id == $self->_id ) {
-# error( loc("IDs do not match: %1 != %2. Storage failed!", $id, $self->_id) );
-# }
-
- return 1;
-}
-
-=pod
-
-=head2 $cb->_check_trees( [update_source => BOOL, path => PATH, verbose => BOOL] )
-
-Retrieve source files and return a boolean indicating whether or not
-the source files are up to date.
-
-Takes several arguments:
-
-=over 4
-
-=item update_source
-
-A flag to force re-fetching of the source files, even
-if they are still up to date.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-=cut
-
-### retrieve source files, and returns a boolean indicating if it's up to date
-sub _check_trees {
- my ($self, %hash) = @_;
- my $conf = $self->configure_object;
-
- my $update_source;
- my $verbose;
- my $path;
-
- my $tmpl = {
- path => { default => $conf->get_conf('base'),
- store => \$path
- },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose
- },
- update_source => { default => 0, store => \$update_source },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### if the user never wants to update their source without explicitly
- ### telling us, shortcircuit here
- return 1 if $conf->get_conf('no_update') && !$update_source;
-
- ### a check to see if our source files are still up to date ###
- msg( loc("Checking if source files are up to date"), $verbose );
-
- my $uptodate = 1; # default return value
-
- for my $name (qw[auth dslip mod]) {
- for my $file ( $conf->_get_source( $name ) ) {
- $self->__check_uptodate(
- file => File::Spec->catfile( $path, $file ),
- name => $name,
- update_source => $update_source,
- verbose => $verbose,
- ) or $uptodate = 0;
- }
- }
-
- ### if we're explicitly asked to update the sources, or if the
- ### standard source files are out of date, update the custom sources
- ### as well
- ### RT #47820: Don't try to update custom sources if they are disabled
- ### in the configuration.
- $self->__update_custom_module_sources( verbose => $verbose )
- if $conf->get_conf('enable_custom_sources') and ( $update_source or !$uptodate );
-
- return $uptodate;
-}
-
-=pod
-
-=head2 $cb->__check_uptodate( file => $file, name => $name, [update_source => BOOL, verbose => BOOL] )
-
-C<__check_uptodate> checks if a given source file is still up-to-date
-and if not, or when C<update_source> is true, will re-fetch the source
-file.
-
-Takes the following arguments:
-
-=over 4
-
-=item file
-
-The source file to check.
-
-=item name
-
-The internal shortcut name for the source file (used for config
-lookups).
-
-=item update_source
-
-Flag to force updating of sourcefiles regardless.
-
-=item verbose
-
-Boolean to indicate whether to be verbose or not.
-
-=back
-
-Returns a boolean value indicating whether the current files are up
-to date or not.
-
-=cut
-
-### this method checks whether or not the source files we are using are still up to date
-sub __check_uptodate {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
-
- my $tmpl = {
- file => { required => 1 },
- name => { required => 1 },
- update_source => { default => 0 },
- verbose => { default => $conf->get_conf('verbose') },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $flag;
- unless ( -e $args->{'file'} && (
- ( stat $args->{'file'} )[9]
- + $conf->_get_source('update') )
- > time ) {
- $flag = 1;
- }
-
- if ( $flag or $args->{'update_source'} ) {
-
- if ( $self->_update_source( name => $args->{'name'} ) ) {
- return 0; # return 0 so 'uptodate' will be set to 0, meaning no
- # use of previously stored hashrefs!
- } else {
- msg( loc("Unable to update source, attempting to get away with using old source file!"), $args->{verbose} );
- return 1;
- }
-
- } else {
- return 1;
- }
-}
-
-=pod
-
-=head2 $cb->_update_source( name => $name, [path => $path, verbose => BOOL] )
-
-This method does the actual fetching of source files.
-
-It takes the following arguments:
-
-=over 4
-
-=item name
-
-The internal shortcut name for the source file (used for config
-lookups).
-
-=item path
-
-The full path where to write the files.
-
-=item verbose
-
-Boolean to indicate whether to be verbose or not.
-
-=back
-
-Returns a boolean to indicate success.
-
-=cut
-
-### this sub fetches new source files ###
-sub _update_source {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
- my $verbose;
- my $tmpl = {
- name => { required => 1 },
- path => { default => $conf->get_conf('base') },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
-
- my $path = $args->{path};
- { ### this could use a clean up - Kane
- ### no worries about the / -> we get it from the _ftp configuration, so
- ### it's not platform dependant. -kane
- my ($dir, $file) = $conf->_get_mirror( $args->{'name'} ) =~ m|(.+/)(.+)$|sg;
-
- msg( loc("Updating source file '%1'", $file), $verbose );
-
- my $fake = CPANPLUS::Module::Fake->new(
- module => $args->{'name'},
- path => $dir,
- package => $file,
- _id => $self->_id,
- );
-
- ### can't use $fake->fetch here, since ->parent won't work --
- ### the sources haven't been saved yet
- my $rv = $self->_fetch(
- module => $fake,
- fetchdir => $path,
- force => 1,
- );
-
-
- unless ($rv) {
- error( loc("Couldn't fetch '%1'", $file) );
- return;
- }
-
- $self->_update_timestamp( file => File::Spec->catfile($path, $file) );
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $cb->__create_author_tree([path => $path, uptodate => BOOL, verbose => BOOL])
-
-This method opens a source files and parses its contents into a
-searchable author-tree or restores a file-cached version of a
-previous parse, if the sources are uptodate and the file-cache exists.
-
-It takes the following arguments:
-
-=over 4
-
-=item uptodate
-
-A flag indicating whether the file-cache is uptodate or not.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-Returns a tree on success, false on failure.
-
-=cut
-
-sub __create_author_tree {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
-
- my $tmpl = {
- path => { default => $conf->get_conf('base') },
- verbose => { default => $conf->get_conf('verbose') },
- uptodate => { default => 0 },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $file = File::Spec->catfile(
- $args->{path},
- $conf->_get_source('auth')
- );
-
- msg(loc("Rebuilding author tree, this might take a while"),
- $args->{verbose});
-
- ### extract the file ###
- my $ae = Archive::Extract->new( archive => $file ) or return;
- my $out = STRIP_GZ_SUFFIX->($file);
-
- ### make sure to set the PREFER_BIN flag if desired ###
- { local $Archive::Extract::PREFER_BIN = $conf->get_conf('prefer_bin');
- $ae->extract( to => $out ) or return;
- }
-
- my $cont = $self->_get_file_contents( file => $out ) or return;
-
- ### don't need it anymore ###
- unlink $out;
-
- my ($tot,$prce,$prc,$idx);
-
- if ( $args->{verbose} and local $|=1 ) {
- no warnings;
- $tot = scalar(split /\n/, $cont);
- ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
- print "\t0%";
- }
-
- for ( split /\n/, $cont ) {
- my($id, $name, $email) = m/^alias \s+
- (\S+) \s+
- "\s* ([^\"\<]+?) \s* <(.+)> \s*"
- /x;
-
- $self->_add_author_object(
- author => $name, #authors name
- email => $email, #authors email address
- cpanid => $id, #authors CPAN ID
- ) or error( loc("Could not add author '%1'", $name ) );
-
- $args->{verbose}
- and (
- $idx++,
-
- ($idx==$prce
- and ($prc+=4,$idx=0,print ".")),
-
- (($prc % 10)
- or $idx
- or print $prc,'%')
- );
-
- }
-
- $args->{verbose}
- and print "\n";
-
-
- return $self->_atree;
-
-} #__create_author_tree
-
-=pod
-
-=head2 $cb->_create_mod_tree([path => $path, uptodate => BOOL, verbose => BOOL])
-
-This method opens a source files and parses its contents into a
-searchable module-tree or restores a file-cached version of a
-previous parse, if the sources are uptodate and the file-cache exists.
-
-It takes the following arguments:
-
-=over 4
-
-=item uptodate
-
-A flag indicating whether the file-cache is up-to-date or not.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-Returns a tree on success, false on failure.
-
-=cut
-
-### this builds a hash reference with the structure of the cpan module tree ###
-sub _create_mod_tree {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
- my $base = $conf->_get_mirror('base');
-
- my $tmpl = {
- path => { default => $conf->get_conf('base') },
- verbose => { default => $conf->get_conf('verbose') },
- uptodate => { default => 0 },
- };
-
- my $args = check( $tmpl, \%hash ) or return undef;
- my $file = File::Spec->catfile($args->{path}, $conf->_get_source('mod'));
-
- msg(loc("Rebuilding module tree, this might take a while"),
- $args->{verbose});
-
-
- my $dslip_tree = $self->__create_dslip_tree( %$args );
-
- my $author_tree = $self->author_tree;
-
- ### extract the file ###
- my $ae = Archive::Extract->new( archive => $file ) or return;
- my $out = STRIP_GZ_SUFFIX->($file);
-
- ### make sure to set the PREFER_BIN flag if desired ###
- { local $Archive::Extract::PREFER_BIN = $conf->get_conf('prefer_bin');
- $ae->extract( to => $out ) or return;
- }
-
- my $content = $self->_get_file_contents( file => $out ) or return;
- my $lines = $content =~ tr/\n/\n/;
-
- ### don't need it anymore ###
- unlink $out;
-
- my($past_header, $count, $tot, $prce, $prc, $idx);
-
- if ( $args->{verbose} and local $|=1 ) {
- no warnings;
- $tot = scalar(split /\n/, $content);
- ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
- print "\t0%";
- }
-
- for ( split /\n/, $content ) {
-
- ### we're still in the header -- find the amount of lines we expect
- unless( $past_header ) {
-
- ### header has ended -- did we get the line count?
- if( m|^\s*$| ) {
- unless( $count ) {
- error(loc("Could not determine line count from %1", $file));
- return;
- }
- $past_header = 1;
-
- ### if the line count doesn't match what we expect, bail out
- ### this should address: #45644: detect broken index
- } else {
- $count = $1 if /^Line-Count:\s+(\d+)/;
- if( $count ) {
- if( $lines < $count ) {
- error(loc("Expected to read at least %1 lines, but %2 ".
- "contains only %3 lines!",
- $count, $file, $lines ));
- return;
- }
- }
- }
-
- ### still in the header, keep moving
- next;
- }
-
- my @data = split /\s+/;
- ### three fields expected on each line
- next unless @data == 3;
-
- ### filter out the author and filename as well ###
- ### authors can apparently have digits in their names,
- ### and dirs can have dots... blah!
- my ($author, $package) = $data[2] =~
- m| (?:[A-Z\d-]/)?
- (?:[A-Z\d-]{2}/)?
- ([A-Z\d-]+) (?:/[\S]+)?/
- ([^/]+)$
- |xsg;
-
- ### remove file name from the path
- $data[2] =~ s|/[^/]+$||;
-
- my $aobj = $author_tree->{$author};
- unless( $aobj ) {
- error( loc( "No such author '%1' -- can't make module object " .
- "'%2' that is supposed to belong to this author",
- $author, $data[0] ) );
- next;
- }
-
- my $dslip_mod = $dslip_tree->{ $data[0] };
-
- ### adding the dslip info
- my $dslip;
- for my $item ( qw[ statd stats statl stati statp ] ) {
- ### checking if there's an entry in the dslip info before
- ### catting it on. appeasing warnings this way
- $dslip .= $dslip_mod->{$item} || ' ';
- }
-
- ### XXX this could be sped up if we used author names, not author
- ### objects in creation, and then look them up in the author tree
- ### when needed. This will need a fix to all the places that create
- ### fake author/module objects as well.
-
- ### callback to store the individual object
- $self->_add_module_object(
- module => $data[0], # full module name
- version => ($data[1] eq 'undef' # version number
- ? '0.0'
- : $data[1]),
- path => File::Spec::Unix->catfile(
- $base,
- $data[2],
- ), # extended path on the cpan mirror,
- # like /A/AB/ABIGAIL
- comment => $data[3], # comment on the module
- author => $aobj,
- package => $package, # package name, like
- # 'foo-bar-baz-1.03.tar.gz'
- description => $dslip_mod->{'description'},
- dslip => $dslip,
- mtime => '',
- ) or error( loc( "Could not add module '%1'", $data[0] ) );
-
- $args->{verbose}
- and (
- $idx++,
-
- ($idx==$prce
- and ($prc+=4,$idx=0,print ".")),
-
- (($prc % 10)
- or $idx
- or print $prc,'%')
- );
-
- } #for
-
- $args->{verbose}
- and print "\n";
-
- return $self->_mtree;
-
-} #_create_mod_tree
-
-=pod
-
-=head2 $cb->__create_dslip_tree([path => $path, uptodate => BOOL, verbose => BOOL])
-
-This method opens a source files and parses its contents into a
-searchable dslip-tree or restores a file-cached version of a
-previous parse, if the sources are uptodate and the file-cache exists.
-
-It takes the following arguments:
-
-=over 4
-
-=item uptodate
-
-A flag indicating whether the file-cache is uptodate or not.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-Returns a tree on success, false on failure.
-
-=cut
-
-sub __create_dslip_tree {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
- my $tmpl = {
- path => { default => $conf->get_conf('base') },
- verbose => { default => $conf->get_conf('verbose') },
- uptodate => { default => 0 },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### get the file name of the source ###
- my $file = File::Spec->catfile($args->{path}, $conf->_get_source('dslip'));
-
- ### extract the file ###
- my $ae = Archive::Extract->new( archive => $file ) or return;
- my $out = STRIP_GZ_SUFFIX->($file);
-
- ### make sure to set the PREFER_BIN flag if desired ###
- { local $Archive::Extract::PREFER_BIN = $conf->get_conf('prefer_bin');
- $ae->extract( to => $out ) or return;
- }
-
- my $in = $self->_get_file_contents( file => $out ) or return;
-
- ### don't need it anymore ###
- unlink $out;
-
-
- ### get rid of the comments and the code ###
- ### need a smarter parser, some people have this in their dslip info:
- # [
- # 'Statistics::LTU',
- # 'R',
- # 'd',
- # 'p',
- # 'O',
- # '?',
- # 'Implements Linear Threshold Units',
- # ...skipping...
- # "\x{c4}dd \x{fc}ml\x{e4}\x{fc}ts t\x{f6} \x{eb}v\x{eb}r\x{ff}th\x{ef}ng!",
- # 'BENNIE',
- # '11'
- # ],
- ### also, older versions say:
- ### $cols = [....]
- ### and newer versions say:
- ### $CPANPLUS::Modulelist::cols = [...]
- ### split '$cols' and '$data' into 2 variables ###
- ### use this regex to make sure dslips with ';' in them don't cause
- ### parser errors
- my ($ds_one, $ds_two) = ($in =~ m|.+}\s+
- (\$(?:CPAN::Modulelist::)?cols.*?)
- (\$(?:CPAN::Modulelist::)?data.*)
- |sx);
-
- ### eval them into existence ###
- ### still not too fond of this solution - kane ###
- my ($cols, $data);
- { #local $@; can't use this, it's buggy -kane
-
- $cols = eval $ds_one;
- error( loc("Error in eval of dslip source files: %1", $@) ) if $@;
-
- $data = eval $ds_two;
- error( loc("Error in eval of dslip source files: %1", $@) ) if $@;
-
- }
-
- my $tree = {};
- my $primary = "modid";
-
- ### this comes from CPAN::Modulelist
- ### which is in 03modlist.data.gz
- for (@$data){
- my %hash;
- @hash{@$cols} = @$_;
- $tree->{$hash{$primary}} = \%hash;
- }
-
- return $tree;
-
-} #__create_dslip_tree
-
-=pod
-
-=head2 $cb->_dslip_defs ()
-
-This function returns the definition structure (ARRAYREF) of the
-dslip tree.
-
-=cut
-
-### these are the definitions used for dslip info
-### they shouldn't change over time.. so hardcoding them doesn't appear to
-### be a problem. if it is, we need to parse 03modlist.data better to filter
-### all this out.
-### right now, this is just used to look up dslip info from a module
-sub _dslip_defs {
- my $self = shift;
-
- my $aref = [
-
- # D
- [ q|Development Stage|, {
- i => loc('Idea, listed to gain consensus or as a placeholder'),
- c => loc('under construction but pre-alpha (not yet released)'),
- a => loc('Alpha testing'),
- b => loc('Beta testing'),
- R => loc('Released'),
- M => loc('Mature (no rigorous definition)'),
- S => loc('Standard, supplied with Perl 5'),
- }],
-
- # S
- [ q|Support Level|, {
- m => loc('Mailing-list'),
- 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 maintenance'),
- }],
-
- # L
- [ q|Language Used|, {
- p => loc('Perl-only, no compiler needed, should be platform independent'),
- c => loc('C and perl, a C compiler will be needed'),
- h => loc('Hybrid, written in perl with optional C code, no compiler needed'),
- '+' => loc('C++ and perl, a C++ compiler will be needed'),
- o => loc('perl and another language other than C or C++'),
- }],
-
- # I
- [ q|Interface Style|, {
- f => loc('plain Functions, no references used'),
- h => loc('hybrid, object and function interfaces available'),
- n => loc('no interface at all (huh?)'),
- r => loc('some use of unblessed References or ties'),
- O => loc('Object oriented using blessed references and/or inheritance'),
- }],
-
- # P
- [ q|Public License|, {
- p => loc('Standard-Perl: user may choose between GPL and Artistic'),
- g => loc('GPL: GNU General Public License'),
- l => loc('LGPL: "GNU Lesser General Public License" (previously known as "GNU Library General Public License")'),
- b => loc('BSD: The BSD License'),
- a => loc('Artistic license alone'),
- o => loc('other (but distribution allowed without restrictions)'),
- }],
- ];
-
- return $aref;
-}
-
-=head2 $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
-
-Adds a custom source index and updates it based on the provided URI.
-
-Returns the full path to the index file on success or false on failure.
-
-=cut
-
-sub _add_custom_module_source {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($verbose,$uri);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- uri => { required => 1, store => \$uri }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### what index file should we use on disk?
- my $index = $self->__custom_module_source_index_file( uri => $uri );
-
- ### already have it.
- if( IS_FILE->( $index ) ) {
- msg(loc("Source '%1' already added", $uri));
- return 1;
- }
-
- ### do we need to create the targe dir?
- { my $dir = dirname( $index );
- unless( IS_DIR->( $dir ) ) {
- $self->_mkdir( dir => $dir ) or return
- }
- }
-
- ### write the file
- my $fh = OPEN_FILE->( $index => '>' ) or do {
- error(loc("Could not open index file for '%1'", $uri));
- return;
- };
-
- ### basically we 'touched' it. Check the return value, may be
- ### important on win32 and similar OS, where there's file length
- ### limits
- close $fh or do {
- error(loc("Could not write index file to disk for '%1'", $uri));
- return;
- };
-
- $self->__update_custom_module_source(
- remote => $uri,
- local => $index,
- verbose => $verbose,
- ) or do {
- ### we faild to update it, we probably have an empty
- ### possibly silly filename on disk now -- remove it
- 1 while unlink $index;
- return;
- };
-
- return $index;
-}
-
-=head2 $index = $cb->__custom_module_source_index_file( uri => $uri );
-
-Returns the full path to the encoded index file for C<$uri>, as used by
-all C<custom module source> routines.
-
-=cut
-
-sub __custom_module_source_index_file {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($verbose,$uri);
- my $tmpl = {
- uri => { required => 1, store => \$uri }
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $index = File::Spec->catfile(
- $conf->get_conf('base'),
- $conf->_get_build('custom_sources'),
- $self->_uri_encode( uri => $uri ),
- );
-
- return $index;
-}
-
-=head2 $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
-
-Removes a custom index file based on the URI provided.
-
-Returns the full path to the index file on success or false on failure.
-
-=cut
-
-sub _remove_custom_module_source {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($verbose,$uri);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- uri => { required => 1, store => \$uri }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### use uri => local, instead of the other way around
- my %files = reverse $self->__list_custom_module_sources;
-
- ### On VMS the case of key to %files can be either exact or lower case
- ### XXX abstract this lookup out? --kane
- my $file = $files{ $uri };
- $file = $files{ lc $uri } if !defined($file) && ON_VMS;
-
- unless (defined $file) {
- error(loc("No such custom source '%1'", $uri));
- return;
- };
-
- 1 while unlink $file;
-
- if( IS_FILE->( $file ) ) {
- error(loc("Could not remove index file '%1' for custom source '%2'",
- $file, $uri));
- return;
- }
-
- msg(loc("Successfully removed index file for '%1'", $uri), $verbose);
-
- return $file;
-}
-
-=head2 %files = $cb->__list_custom_module_sources
-
-This method scans the 'custom-sources' directory in your base directory
-for additional sources to include in your module tree.
-
-Returns a list of key value pairs as follows:
-
- /full/path/to/source/file%3Fencoded => http://decoded/mirror/path
-
-=cut
-
-sub __list_custom_module_sources {
- my $self = shift;
- my $conf = $self->configure_object;
-
- my($verbose);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- my $dir = File::Spec->catdir(
- $conf->get_conf('base'),
- $conf->_get_build('custom_sources'),
- );
-
- unless( IS_DIR->( $dir ) ) {
- msg(loc("No '%1' dir, skipping custom sources", $dir), $verbose);
- return;
- }
-
- ### unencode the files
- ### skip ones starting with # though
- my %files = map {
- my $org = $_;
- my $dec = $self->_uri_decode( uri => $_ );
- File::Spec->catfile( $dir, $org ) => $dec
- } grep { $_ !~ /^#/ } READ_DIR->( $dir );
-
- return %files;
-}
-
-=head2 $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );
-
-Attempts to update all the index files to your custom module sources.
-
-If the index is missing, and it's a C<file://> uri, it will generate
-a new local index for you.
-
-Return true on success, false on failure.
-
-=cut
-
-sub __update_custom_module_sources {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $verbose;
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose }
- };
-
- check( $tmpl, \%hash ) or return;
-
- my %files = $self->__list_custom_module_sources;
-
- ### uptodate check has been done a few levels up.
- my $fail;
- while( my($local,$remote) = each %files ) {
-
- $self->__update_custom_module_source(
- remote => $remote,
- local => $local,
- verbose => $verbose,
- ) or ( $fail++, next );
- }
-
- error(loc("Failed updating one or more remote sources files")) if $fail;
-
- return if $fail;
- return 1;
-}
-
-=head2 $ok = $cb->__update_custom_module_source
-
-Attempts to update all the index files to your custom module sources.
-
-If the index is missing, and it's a C<file://> uri, it will generate
-a new local index for you.
-
-Return true on success, false on failure.
-
-=cut
-
-sub __update_custom_module_source {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($verbose,$local,$remote);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- local => { store => \$local, allow => FILE_EXISTS },
- remote => { required => 1, store => \$remote },
- };
-
- check( $tmpl, \%hash ) or return;
-
- msg( loc("Updating sources from '%1'", $remote), $verbose);
-
- ### if you didn't provide a local file, we'll look in your custom
- ### dir to find the local encoded version for you
- $local ||= do {
- ### find all files we know of
- my %files = reverse $self->__list_custom_module_sources or do {
- error(loc("No custom modules sources defined -- need '%1' argument",
- 'local'));
- return;
- };
-
- ### On VMS the case of key to %files can be either exact or lower case
- ### XXX abstract this lookup out? --kane
- my $file = $files{ $remote };
- $file = $files{ lc $remote } if !defined ($file) && ON_VMS;
-
- ### return the local file we're supposed to use
- $file or do {
- error(loc("Remote source '%1' unknown -- needs '%2' argument",
- $remote, 'local'));
- return;
- };
- };
-
- my $uri = join '/', $remote, $conf->_get_source('custom_index');
- my $ff = File::Fetch->new( uri => $uri );
-
- ### tempdir doesn't clean up by default, as opposed to tempfile()
- ### so add it explicitly.
- my $dir = tempdir( CLEANUP => 1 );
-
- my $res = do {
- local $File::Fetch::WARN = 0;
- local $File::Fetch::TIMEOUT = $conf->get_conf('timeout');
- $ff->fetch( to => $dir );
- };
-
- ### couldn't get the file
- unless( $res ) {
-
- ### it's not a local scheme, so can't auto index
- unless( $ff->scheme eq 'file' ) {
- error(loc("Could not update sources from '%1': %2",
- $remote, $ff->error ));
- return;
-
- ### it's a local uri, we can index it ourselves
- } else {
- msg(loc("No index file found at '%1', generating one",
- $ff->uri), $verbose );
-
- ### ON VMS, if you are working with a UNIX file specification,
- ### you need currently use the UNIX variants of the File::Spec.
- my $ff_path = do {
- my $file_class = 'File::Spec';
- $file_class .= '::Unix' if ON_VMS;
- $file_class->catdir( File::Spec::Unix->splitdir( $ff->path ) );
- };
-
- $self->__write_custom_module_index(
- path => $ff_path,
- to => $local,
- verbose => $verbose,
- ) or return;
-
- ### XXX don't write that here, __write_custom_module_index
- ### already prints this out
- #msg(loc("Index file written to '%1'", $to), $verbose);
- }
-
- ### copy it to the real spot and update its timestamp
- } else {
- $self->_move( file => $res, to => $local ) or return;
- $self->_update_timestamp( file => $local );
-
- msg(loc("Index file saved to '%1'", $local), $verbose);
- }
-
- return $local;
-}
-
-=head2 $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )
-
-Scans the C<path> you provided for packages and writes an index with all
-the available packages to C<$path/packages.txt>. If you'd like the index
-to be written to a different file, provide the C<to> argument.
-
-Returns true on success and false on failure.
-
-=cut
-
-sub __write_custom_module_index {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my ($verbose, $path, $to);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- path => { required => 1, allow => DIR_EXISTS, store => \$path },
- to => { store => \$to },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### no explicit to? then we'll use our default
- $to ||= File::Spec->catfile( $path, $conf->_get_source('custom_index') );
-
- my @files;
- require File::Find;
- File::Find::find( sub {
- ### let's see if A::E can even parse it
- my $ae = do {
- local $Archive::Extract::WARN = 0;
- local $Archive::Extract::WARN = 0;
- Archive::Extract->new( archive => $File::Find::name )
- } or return;
-
- ### it's a type A::E recognize, so we can add it
- $ae->type or return;
-
- ### neither $_ nor $File::Find::name have the chunk of the path in
- ### it starting $path -- it's either only the filename, or the full
- ### path, so we have to strip it ourselves
- ### make sure to remove the leading slash as well.
- my $copy = $File::Find::name;
- my $re = quotemeta($path);
- $copy =~ s|^$re[\\/]?||i;
-
- push @files, $copy;
-
- }, $path );
-
- ### does the dir exist? if not, create it.
- { my $dir = dirname( $to );
- unless( IS_DIR->( $dir ) ) {
- $self->_mkdir( dir => $dir ) or return
- }
- }
-
- ### create the index file
- my $fh = OPEN_FILE->( $to => '>' ) or return;
-
- print $fh "$_\n" for @files;
- close $fh;
-
- msg(loc("Successfully written index file to '%1'", $to), $verbose);
-
- return $to;
-}
-
-
-=head2 $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
-
-Creates entries in the module tree based upon the files as returned
-by C<__list_custom_module_sources>.
-
-Returns true on success, false on failure.
-
-=cut
-
-### use $auth_obj as a persistent version, so we don't have to recreate
-### modules all the time
-{ my $auth_obj;
-
- sub __create_custom_module_entries {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my $verbose;
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return undef;
-
- my %files = $self->__list_custom_module_sources;
-
- while( my($file,$name) = each %files ) {
-
- msg(loc("Adding packages from custom source '%1'", $name), $verbose);
-
- my $fh = OPEN_FILE->( $file ) or next;
-
- while( local $_ = <$fh> ) {
- chomp;
- next if /^#/;
- next unless /\S+/;
-
- ### join on / -- it's a URI after all!
- my $parse = join '/', $name, $_;
-
- ### try to make a module object out of it
- my $mod = $self->parse_module( module => $parse ) or (
- error(loc("Could not parse '%1'", $_)),
- next
- );
-
- ### mark this object with a custom author
- $auth_obj ||= do {
- my $id = CUSTOM_AUTHOR_ID;
-
- ### if the object is being created for the first time,
- ### make sure there's an entry in the author tree as
- ### well, so we can search on the CPAN ID
- $self->author_tree->{ $id } =
- CPANPLUS::Module::Author::Fake->new( cpanid => $id );
- };
-
- $mod->author( $auth_obj );
-
- ### and now add it to the module tree -- this MAY
- ### override things of course
- if( my $old_mod = $self->module_tree( $mod->module ) ) {
-
- ### On VMS use the old module name to get the real case
- $mod->module( $old_mod->module ) if ON_VMS;
-
- msg(loc("About to overwrite module tree entry for '%1' with '%2'",
- $mod->module, $mod->package), $verbose);
- }
-
- ### mark where it came from
- $mod->description( loc("Custom source from '%1'",$name) );
-
- ### store it in the module tree
- $self->module_tree->{ $mod->module } = $mod;
- }
- }
-
- return 1;
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm
deleted file mode 100644
index a28532e02cd..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm
+++ /dev/null
@@ -1,381 +0,0 @@
-package CPANPLUS::Internals::Source::Memory;
-use deprecate;
-
-use base 'CPANPLUS::Internals::Source';
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Fake;
-use CPANPLUS::Module::Author;
-use CPANPLUS::Internals::Constants;
-
-use File::Fetch;
-use Archive::Extract;
-
-use IPC::Cmd qw[can_run];
-use File::Temp qw[tempdir];
-use File::Basename qw[dirname];
-use Params::Check qw[allow check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-=head1 NAME
-
-CPANPLUS::Internals::Source::Memory - In memory implementation
-
-=cut
-
-### flag to show if init_trees got its' data from storable. This allows
-### us to not write an existing stored file back to disk
-{ my $from_storable;
-
- sub _init_trees {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($path,$uptodate,$verbose,$use_stored);
- my $tmpl = {
- path => { default => $conf->get_conf('base'), store => \$path },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- uptodate => { required => 1, store => \$uptodate },
- use_stored => { default => 1, store => \$use_stored },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### retrieve the stored source files ###
- my $stored = $self->__memory_retrieve_source(
- path => $path,
- uptodate => $uptodate && $use_stored,
- verbose => $verbose,
- ) || {};
-
- ### we got this from storable if $stored has keys..
- $from_storable = keys %$stored ? 1 : 0;
-
- ### set up the trees
- $self->_atree( $stored->{_atree} || {} );
- $self->_mtree( $stored->{_mtree} || {} );
-
- return 1;
- }
-
- sub _standard_trees_completed { return $from_storable }
- sub _custom_trees_completed { return $from_storable }
-
- sub _finalize_trees {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($path,$uptodate,$verbose);
- my $tmpl = {
- path => { default => $conf->get_conf('base'), store => \$path },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- uptodate => { required => 1, store => \$uptodate },
- };
-
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- check( $tmpl, \%hash ) or return;
- }
-
- ### write the stored files to disk, so we can keep using them
- ### from now on, till they become invalid
- ### write them if the original sources weren't uptodate, or
- ### we didn't just load storable files
- $self->__memory_save_source() if !$uptodate or not $from_storable;
-
- return 1;
- }
-
- ### saves current memory state
- sub _save_state {
- my $self = shift;
- return $self->_finalize_trees( @_, uptodate => 0 );
- }
-}
-
-sub _add_author_object {
- my $self = shift;
- my %hash = @_;
-
- my $class;
- my $tmpl = {
- class => { default => 'CPANPLUS::Module::Author', store => \$class },
- map { $_ => { required => 1 } }
- qw[ author cpanid email ]
- };
-
- my $href = do {
- local $Params::Check::NO_DUPLICATES = 1;
- check( $tmpl, \%hash ) or return;
- };
-
- my $obj = $class->new( %$href, _id => $self->_id );
-
- $self->author_tree->{ $href->{'cpanid'} } = $obj or return;
-
- return $obj;
-}
-
-{
- my $tmpl = {
- class => { default => 'CPANPLUS::Module' },
- map { $_ => { required => 1 } } qw[
- module version path comment author package description dslip mtime
- ],
- };
-
- sub _add_module_object {
- my $self = shift;
- my %hash = @_;
-
- my $href = do {
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
- check( $tmpl, \%hash ) or return;
- };
- my $class = delete $href->{class};
-
- my $obj = $class->new( %$href, _id => $self->_id );
-
- ### Every module get's stored as a module object ###
- $self->module_tree->{ $href->{module} } = $obj or return;
-
- return $obj;
- }
-}
-
-{ my %map = (
- _source_search_module_tree => [ module_tree => 'CPANPLUS::Module' ],
- _source_search_author_tree => [ author_tree => 'CPANPLUS::Module::Author' ],
- );
-
- while( my($sub, $aref) = each %map ) {
- no strict 'refs';
-
- my($meth, $class) = @$aref;
-
- *$sub = sub {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($authors,$list,$verbose,$type);
- my $tmpl = {
- data => { default => [],
- strict_type=> 1, store => \$authors },
- allow => { required => 1, default => [ ], strict_type => 1,
- store => \$list },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- type => { required => 1, allow => [$class->accessors()],
- store => \$type },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my @rv;
- for my $obj ( values %{ $self->$meth } ) {
- #push @rv, $auth if check(
- # { $type => { allow => $list } },
- # { $type => $auth->$type }
- # );
- push @rv, $obj if allow( $obj->$type() => $list );
- }
-
- return @rv;
- }
- }
-}
-
-=pod
-
-=head2 $cb->__memory_retrieve_source(name => $name, [path => $path, uptodate => BOOL, verbose => BOOL])
-
-This method retrieves a I<storable>d tree identified by C<$name>.
-
-It takes the following arguments:
-
-=over 4
-
-=item name
-
-The internal name for the source file to retrieve.
-
-=item uptodate
-
-A flag indicating whether the file-cache is up-to-date or not.
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-Returns a tree on success, false on failure.
-
-=cut
-
-sub __memory_retrieve_source {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
- my $tmpl = {
- path => { default => $conf->get_conf('base') },
- verbose => { default => $conf->get_conf('verbose') },
- uptodate => { default => 0 },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### check if we can retrieve a frozen data structure with storable ###
- my $storable = can_load( modules => {'Storable' => '0.0'} )
- if $conf->get_conf('storable');
-
- return unless $storable;
-
- ### $stored is the name of the frozen data structure ###
- my $stored = $self->__memory_storable_file( $args->{path} );
-
- if ($storable && -e $stored && -s _ && $args->{'uptodate'}) {
- msg( loc("Retrieving %1", $stored), $args->{'verbose'} );
-
- my $href = Storable::retrieve($stored);
- return $href;
- } else {
- return;
- }
-}
-
-=pod
-
-=head2 $cb->__memory_save_source([verbose => BOOL, path => $path])
-
-This method saves all the parsed trees in I<storable>d format if
-C<Storable> is available.
-
-It takes the following arguments:
-
-=over 4
-
-=item path
-
-The absolute path to the directory holding the source files.
-
-=item verbose
-
-A boolean flag indicating whether or not to be verbose.
-
-=back
-
-Will get information from the config file by default.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub __memory_save_source {
- my $self = shift;
- my %hash = @_;
- my $conf = $self->configure_object;
-
-
- my $tmpl = {
- path => { default => $conf->get_conf('base'), allow => DIR_EXISTS },
- verbose => { default => $conf->get_conf('verbose') },
- force => { default => 1 },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $aref = [qw[_mtree _atree]];
-
- ### check if we can retrieve a frozen data structure with storable ###
- my $storable;
- $storable = can_load( modules => {'Storable' => '0.0'} )
- if $conf->get_conf('storable');
- return unless $storable;
-
- my $to_write = {};
- foreach my $key ( @$aref ) {
- next unless ref( $self->$key );
- $to_write->{$key} = $self->$key;
- }
-
- return unless keys %$to_write;
-
- ### $stored is the name of the frozen data structure ###
- my $stored = $self->__memory_storable_file( $args->{path} );
-
- if (-e $stored && not -w $stored) {
- msg( loc("%1 not writable; skipped.", $stored), $args->{'verbose'} );
- return;
- }
-
- msg( loc("Writing compiled source information to disk. This might take a little while."),
- $args->{'verbose'} );
-
- my $flag;
- unless( Storable::nstore( $to_write, $stored ) ) {
- error( loc("could not store %1!", $stored) );
- $flag++;
- }
-
- return $flag ? 0 : 1;
-}
-
-sub __memory_storable_file {
- my $self = shift;
- my $conf = $self->configure_object;
- my $path = shift or return;
-
- ### check if we can retrieve a frozen data structure with storable ###
- my $storable = $conf->get_conf('storable')
- ? can_load( modules => {'Storable' => '0.0'} )
- : 0;
-
- return unless $storable;
-
- ### $stored is the name of the frozen data structure ###
- ### changed to use File::Spec->catfile -jmb
- my $stored = File::Spec->rel2abs(
- File::Spec->catfile(
- $path, #base dir
- $conf->_get_source('stored') #file
- . '.s' .
- $Storable::VERSION #the version of storable
- . '.c' .
- $self->VERSION #the version of CPANPLUS
- . STORABLE_EXT #append a suffix
- )
- );
-
- return $stored;
-}
-
-
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
deleted file mode 100644
index 50f82f485c9..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
+++ /dev/null
@@ -1,383 +0,0 @@
-package CPANPLUS::Internals::Source::SQLite;
-use deprecate;
-
-use strict;
-use warnings;
-
-use base 'CPANPLUS::Internals::Source';
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Internals::Source::SQLite::Tie;
-
-use Data::Dumper;
-use DBIx::Simple;
-use DBD::SQLite;
-
-use Params::Check qw[allow check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-use constant TXN_COMMIT => 1000;
-
-=head1 NAME
-
-CPANPLUS::Internals::Source::SQLite - SQLite implementation
-
-=cut
-
-{ my $Dbh;
- my $DbFile;
-
- sub __sqlite_file {
- return $DbFile if $DbFile;
-
- my $self = shift;
- my $conf = $self->configure_object;
-
- $DbFile = File::Spec->catdir(
- $conf->get_conf('base'),
- SOURCE_SQLITE_DB
- );
-
- return $DbFile;
- };
-
- sub __sqlite_dbh {
- return $Dbh if $Dbh;
-
- my $self = shift;
- $Dbh = DBIx::Simple->connect(
- "dbi:SQLite:dbname=" . $self->__sqlite_file,
- '', '',
- { 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;
-
- sub _init_trees {
- my $self = shift;
- my $conf = $self->configure_object;
- my %hash = @_;
-
- my($path,$uptodate,$verbose,$use_stored);
- my $tmpl = {
- path => { default => $conf->get_conf('base'), store => \$path },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- uptodate => { required => 1, store => \$uptodate },
- use_stored => { default => 1, store => \$use_stored },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### if it's not uptodate, or the file doesn't exist, we need to create
- ### a new sqlite db
- if( not $uptodate or not -e $self->__sqlite_file ) {
- $used_old_copy = 0;
-
- ### chuck the file
- $self->__sqlite_disconnect;
- 1 while unlink $self->__sqlite_file;
-
- ### and create a new one
- $self->__sqlite_create_db or do {
- error(loc("Could not create new SQLite DB"));
- return;
- }
- } else {
- $used_old_copy = 1;
- }
-
- ### set up the author tree
- { my %at;
- tie %at, 'CPANPLUS::Internals::Source::SQLite::Tie',
- dbh => $self->__sqlite_dbh, table => 'author',
- key => 'cpanid', cb => $self;
-
- $self->_atree( \%at );
- }
-
- ### set up the author tree
- { my %mt;
- tie %mt, 'CPANPLUS::Internals::Source::SQLite::Tie',
- dbh => $self->__sqlite_dbh, table => 'module',
- key => 'module', cb => $self;
-
- $self->_mtree( \%mt );
- }
-
- ### start a transaction
- $self->__sqlite_dbh->query('BEGIN');
-
- return 1;
-
- }
-
- sub _standard_trees_completed { return $used_old_copy }
- sub _custom_trees_completed { return }
- ### finish transaction
- sub _finalize_trees { $_[0]->__sqlite_dbh->commit; return 1 }
-
- ### saves current memory state, but not implemented in sqlite
- sub _save_state {
- error(loc("%1 has not implemented writing state to disk", __PACKAGE__));
- return;
- }
-}
-
-{ my $txn_count = 0;
-
- ### XXX move this outside the sub, so we only compute it once
- my $class;
- my @keys = qw[ author cpanid email ];
- my $tmpl = {
- class => { default => 'CPANPLUS::Module::Author', store => \$class },
- map { $_ => { required => 1 } } @keys
- };
-
- ### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
- my $ph = join ',', map { '?' } @keys;
-
-
- sub _add_author_object {
- my $self = shift;
- my %hash = @_;
- my $dbh = $self->__sqlite_dbh;
-
- my $href = do {
- local $Params::Check::NO_DUPLICATES = 1;
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
- check( $tmpl, \%hash ) or return;
- };
-
- ### keep counting how many we inserted
- unless( ++$txn_count % TXN_COMMIT ) {
- #warn "Committing transaction $txn_count";
- $dbh->commit or error( $dbh->error ); # commit previous transaction
- $dbh->begin_work or error( $dbh->error ); # and start a new one
- }
-
- $dbh->query(
- "INSERT INTO author (". join(',',keys(%$href)) .") VALUES ($ph)",
- values %$href
- ) or do {
- error( $dbh->error );
- return;
- };
-
- return 1;
- }
-}
-
-{ my $txn_count = 0;
-
- ### XXX move this outside the sub, so we only compute it once
- my $class;
- my @keys = qw[ module version path comment author package description dslip mtime ];
- my $tmpl = {
- class => { default => 'CPANPLUS::Module', store => \$class },
- map { $_ => { required => 1 } } @keys
- };
-
- ### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
- my $ph = join ',', map { '?' } @keys;
-
- sub _add_module_object {
- my $self = shift;
- my %hash = @_;
- my $dbh = $self->__sqlite_dbh;
-
- my $href = do {
- local $Params::Check::NO_DUPLICATES = 1;
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
- check( $tmpl, \%hash ) or return;
- };
-
- ### fix up author to be 'plain' string
- $href->{'author'} = $href->{'author'}->cpanid;
-
- ### keep counting how many we inserted
- unless( ++$txn_count % TXN_COMMIT ) {
- #warn "Committing transaction $txn_count";
- $dbh->commit or error( $dbh->error ); # commit previous transaction
- $dbh->begin_work or error( $dbh->error ); # and start a new one
- }
-
- $dbh->query(
- "INSERT INTO module (". join(',',keys(%$href)) .") VALUES ($ph)",
- values %$href
- ) or do {
- error( $dbh->error );
- return;
- };
-
- return 1;
- }
-}
-
-{ my %map = (
- _source_search_module_tree
- => [ module => module => 'CPANPLUS::Module' ],
- _source_search_author_tree
- => [ author => cpanid => 'CPANPLUS::Module::Author' ],
- );
-
- while( my($sub, $aref) = each %map ) {
- no strict 'refs';
-
- my($table, $key, $class) = @$aref;
- *$sub = sub {
- my $self = shift;
- my %hash = @_;
-
- my($list,$type);
- my $tmpl = {
- allow => { required => 1, default => [ ], strict_type => 1,
- store => \$list },
- type => { required => 1, allow => [$class->accessors()],
- store => \$type },
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- ### we aliased 'module' to 'name', so change that here too
- $type = 'module' if $type eq 'name';
-
- my $meth = $table .'_tree';
-
- {
- my $throw = $self->$meth;
- }
-
- my $dbh = $self->__sqlite_dbh;
- my $res = $dbh->query( "SELECT * from $table" );
-
- my @rv = map { $self->$meth( $_->{$key} ) }
- grep { allow( $_->{$type} => $list ) } $res->hashes;
-
- return @rv;
- }
- }
-}
-
-
-
-sub __sqlite_create_db {
- my $self = shift;
- my $dbh = $self->__sqlite_dbh;
-
- ### we can ignore the result/error; not all sqlite implementations
- ### support this
- $dbh->query( qq[
- DROP TABLE IF EXISTS author;
- \n]
- ) or do {
- msg( $dbh->error );
- };
- $dbh->query( qq[
- DROP TABLE IF EXISTS module;
- \n]
- ) or do {
- msg( $dbh->error );
- };
-
-
-
- $dbh->query( qq[
- /* the author information */
- CREATE TABLE author (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
-
- author varchar(255),
- email varchar(255),
- cpanid varchar(255)
- );
- \n]
-
- ) or do {
- error( $dbh->error );
- return;
- };
-
- $dbh->query( qq[
- /* the module information */
- CREATE TABLE module (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
-
- module varchar(255),
- version varchar(255),
- path varchar(255),
- comment varchar(255),
- author varchar(255),
- package varchar(255),
- description varchar(255),
- dslip varchar(255),
- mtime varchar(255)
- );
-
- \n]
-
- ) or do {
- 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;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
deleted file mode 100644
index b44b04bd58e..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
+++ /dev/null
@@ -1,143 +0,0 @@
-package CPANPLUS::Internals::Source::SQLite::Tie;
-use deprecate;
-
-use strict;
-use warnings;
-
-use CPANPLUS::Error;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Fake;
-use CPANPLUS::Module::Author::Fake;
-use CPANPLUS::Internals::Constants;
-
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[@ISA $VERSION];
-$VERSION = "0.9135";
-
-require Tie::Hash;
-push @ISA, 'Tie::StdHash';
-
-
-sub TIEHASH {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- dbh => { required => 1 },
- table => { required => 1 },
- key => { required => 1 },
- cb => { required => 1 },
- offset => { default => 0 },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
- my $obj = bless { %$args, store => {} } , $class;
-
- return $obj;
-}
-
-sub FETCH {
- my $self = shift;
- my $key = shift or return;
- my $dbh = $self->{dbh};
- my $cb = $self->{cb};
- my $table = $self->{table};
-
-
- ### did we look this one up before?
- if( my $obj = $self->{store}->{$key} ) {
- return $obj;
- }
-
- my $res = $dbh->query(
- "SELECT * from $table where $self->{key} = ?", $key
- ) or do {
- error( $dbh->error );
- return;
- };
-
- my $href = $res->hash;
-
- ### get rid of the primary key
- delete $href->{'id'};
-
- ### no results?
- return unless keys %$href;
-
- ### expand author if needed
- ### XXX no longer generic :(
- if( $table eq 'module' ) {
- $href->{author} = $cb->author_tree( $href->{author } ) or return;
- }
-
- my $class = {
- module => 'CPANPLUS::Module',
- author => 'CPANPLUS::Module::Author',
- }->{ $table };
-
- my $obj = $self->{store}->{$key} = $class->new( %$href, _id => $cb->_id );
-
- return $obj;
-}
-
-sub STORE {
- my $self = shift;
- my $key = shift;
- my $val = shift;
-
- $self->{store}->{$key} = $val;
-}
-
-1;
-
-sub FIRSTKEY {
- my $self = shift;
- my $dbh = $self->{'dbh'};
-
- my $res = $dbh->query(
- "select $self->{key} from $self->{table} order by $self->{key} limit 1"
- );
-
- $self->{offset} = 0;
-
- my $key = $res->flat->[0];
-
- return $key;
-}
-
-sub NEXTKEY {
- my $self = shift;
- my $dbh = $self->{'dbh'};
-
- my $res = $dbh->query(
- "select $self->{key} from $self->{table} ".
- "order by $self->{key} limit 1 offset $self->{offset}"
- );
-
- $self->{offset} +=1;
-
- my $key = $res->flat->[0];
- my $val = $self->FETCH( $key );
-
- ### use each() semantics
- return wantarray ? ( $key, $val ) : $key;
-}
-
-sub EXISTS { !!$_[0]->FETCH( $_[1] ) }
-
-sub SCALAR {
- my $self = shift;
- my $dbh = $self->{'dbh'};
-
- my $res = $dbh->query( "select count(*) from $self->{table}" );
-
- return $res->flat;
-}
-
-### intentionally left blank
-sub DELETE { }
-sub CLEAR { }
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
deleted file mode 100644
index 58ece81ee6a..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
+++ /dev/null
@@ -1,680 +0,0 @@
-package CPANPLUS::Internals::Utils;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use Cwd qw[chdir cwd];
-use File::Copy;
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use version;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-local $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Internals::Utils - convenience functions for CPANPLUS
-
-=head1 SYNOPSIS
-
- my $bool = $cb->_mkdir( dir => 'blah' );
- my $bool = $cb->_chdir( dir => 'blah' );
- my $bool = $cb->_rmdir( dir => 'blah' );
-
- my $bool = $cb->_move( from => '/some/file', to => '/other/file' );
- my $bool = $cb->_move( from => '/some/dir', to => '/other/dir' );
-
- my $cont = $cb->_get_file_contents( file => '/path/to/file' );
-
-
- my $version = $cb->_perl_version( perl => $^X );
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Internals::Utils> holds a few convenience functions for
-CPANPLUS libraries.
-
-=head1 METHODS
-
-=head2 $cb->_mkdir( dir => '/some/dir' )
-
-C<_mkdir> creates a full path to a directory.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _mkdir {
- my $self = shift;
-
- my %hash = @_;
-
- my $tmpl = {
- dir => { required => 1 },
- };
-
- my $args = check( $tmpl, \%hash ) or (
- error(loc( Params::Check->last_error ) ), return
- );
-
- unless( can_load( modules => { 'File::Path' => 0.0 } ) ) {
- error( loc("Could not use File::Path! This module should be core!") );
- return;
- }
-
- eval { File::Path::mkpath($args->{dir}) };
-
- if($@) {
- chomp($@);
- error(loc(qq[Could not create directory '%1': %2], $args->{dir}, $@ ));
- return;
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $cb->_chdir( dir => '/some/dir' )
-
-C<_chdir> changes directory to a dir.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _chdir {
- my $self = shift;
- my %hash = @_;
-
- my $tmpl = {
- dir => { required => 1, allow => DIR_EXISTS },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- unless( chdir $args->{dir} ) {
- error( loc(q[Could not chdir into '%1'], $args->{dir}) );
- return;
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $cb->_rmdir( dir => '/some/dir' );
-
-Removes a directory completely, even if it is non-empty.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _rmdir {
- my $self = shift;
- my %hash = @_;
-
- my $tmpl = {
- dir => { required => 1, allow => IS_DIR },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- unless( can_load( modules => { 'File::Path' => 0.0 } ) ) {
- error( loc("Could not use File::Path! This module should be core!") );
- return;
- }
-
- eval { File::Path::rmtree($args->{dir}) };
-
- if($@) {
- chomp($@);
- error(loc(qq[Could not delete directory '%1': %2], $args->{dir}, $@ ));
- return;
- }
-
- return 1;
-}
-
-=pod
-
-=head2 $cb->_perl_version ( perl => 'some/perl/binary' );
-
-C<_perl_version> returns the version of a certain perl binary.
-It does this by actually running a command.
-
-Returns the perl version on success and false on failure.
-
-=cut
-
-sub _perl_version {
- my $self = shift;
- my %hash = @_;
-
- my $perl;
- my $tmpl = {
- perl => { required => 1, store => \$perl },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $perl_version;
- ### special perl, or the one we are running under?
- if( $perl eq $^X ) {
- ### just load the config
- require Config;
- $perl_version = $Config::Config{version};
-
- } else {
- my $cmd = $perl .
- ' -MConfig -eprint+Config::config_vars+version';
- ($perl_version) = (`$cmd` =~ /version='(.*)'/);
- }
-
- return $perl_version if defined $perl_version;
- return;
-}
-
-=pod
-
-=head2 $cb->_version_to_number( version => $version );
-
-Returns a proper module version, or '0.0' if none was available.
-
-=cut
-
-sub _version_to_number {
- my $self = shift;
- my %hash = @_;
-
- my $version;
- my $tmpl = {
- version => { default => '0.0', store => \$version },
- };
-
- check( $tmpl, \%hash ) or return;
-
- $version =~ s!_!!g; # *sigh*
- return $version if $version =~ /^\d*(?:\.\d+)?$/;
- if ( my ($vers) = $version =~ /^(v?\d+(?:\.\d+(?:\.\d+)?)?)/ ) {
- return eval { version->parse($vers)->numify };
- }
- return '0.0';
-}
-
-=pod
-
-=head2 $cb->_whoami
-
-Returns the name of the subroutine you're currently in.
-
-=cut
-
-sub _whoami { my $name = (caller 1)[3]; $name =~ s/.+:://; $name }
-
-=pod
-
-=head2 _get_file_contents( file => $file );
-
-Returns the contents of a file
-
-=cut
-
-sub _get_file_contents {
- my $self = shift;
- my %hash = @_;
-
- my $file;
- my $tmpl = {
- file => { required => 1, store => \$file }
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $fh = OPEN_FILE->($file) or return;
- my $contents = do { local $/; <$fh> };
-
- return $contents;
-}
-
-=pod
-
-=head2 $cb->_move( from => $file|$dir, to => $target );
-
-Moves a file or directory to the target.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _move {
- my $self = shift;
- my %hash = @_;
-
- my $from; my $to;
- my $tmpl = {
- file => { required => 1, allow => [IS_FILE,IS_DIR],
- store => \$from },
- to => { required => 1, store => \$to }
- };
-
- check( $tmpl, \%hash ) or return;
-
- if( File::Copy::move( $from, $to ) ) {
- return 1;
- } else {
- error(loc("Failed to move '%1' to '%2': %3", $from, $to, $!));
- return;
- }
-}
-
-=pod
-
-=head2 $cb->_copy( from => $file|$dir, to => $target );
-
-Moves a file or directory to the target.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _copy {
- my $self = shift;
- my %hash = @_;
-
- my($from,$to);
- my $tmpl = {
- file =>{ required => 1, allow => [IS_FILE,IS_DIR],
- store => \$from },
- to => { required => 1, store => \$to }
- };
-
- check( $tmpl, \%hash ) or return;
-
- if( File::Copy::copy( $from, $to ) ) {
- return 1;
- } else {
- error(loc("Failed to copy '%1' to '%2': %3", $from, $to, $!));
- return;
- }
-}
-
-=head2 $cb->_mode_plus_w( file => '/path/to/file' );
-
-Sets the +w bit for the file.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub _mode_plus_w {
- my $self = shift;
- my %hash = @_;
-
- require File::stat;
-
- my $file;
- my $tmpl = {
- file => { required => 1, allow => IS_FILE, store => \$file },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### set the mode to +w for a file and +wx for a dir
- my $x = File::stat::stat( $file );
- my $mask = -d $file ? 0100 : 0200;
-
- if( $x and chmod( $x->mode|$mask, $file ) ) {
- return 1;
-
- } else {
- error(loc("Failed to '%1' '%2': '%3'", 'chmod +w', $file, $!));
- return;
- }
-}
-
-=head2 $uri = $cb->_host_to_uri( scheme => SCHEME, host => HOST, path => PATH );
-
-Turns a CPANPLUS::Config style C<host> entry into an URI string.
-
-Returns the uri on success, and false on failure
-
-=cut
-
-sub _host_to_uri {
- my $self = shift;
- my %hash = @_;
-
- my($scheme, $host, $path);
- my $tmpl = {
- scheme => { required => 1, store => \$scheme },
- host => { default => 'localhost', store => \$host },
- path => { default => '', store => \$path },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### it's an URI, so unixify the path.
- ### VMS has a special method for just that
- $path = ON_VMS
- ? VMS::Filespec::unixify($path)
- : File::Spec::Unix->catdir( File::Spec->splitdir( $path ) );
-
- return "$scheme://" . File::Spec::Unix->catdir( $host, $path );
-}
-
-=head2 $cb->_vcmp( VERSION, VERSION );
-
-Normalizes the versions passed and does a '<=>' on them, returning the result.
-
-=cut
-
-sub _vcmp {
- my $self = shift;
- my ($x, $y) = @_;
-
- $x = $self->_version_to_number(version => $x);
- $y = $self->_version_to_number(version => $y);
-
- return $x <=> $y;
-}
-
-=head2 $cb->_home_dir
-
-Returns the user's homedir, or C<cwd> if it could not be found
-
-=cut
-
-sub _home_dir {
-
- if ( can_load( modules => { 'File::HomeDir' => 0.0 } ) ) {
- if ( defined $ENV{APPDATA} && length $ENV{APPDATA} && !ON_WIN32 ) {
- msg("'APPDATA' env var is set and not on MSWin32, " .
- "please use 'PERL5_CPANPLUS_HOME' instead to change .cpanplus location", 1 );
- }
- return File::HomeDir->my_home if -d File::HomeDir->my_home;
- }
-
- my @os_home_envs = qw( APPDATA HOME USERPROFILE WINDIR SYS$LOGIN );
-
- for my $env ( @os_home_envs ) {
- next unless exists $ENV{ $env };
- next unless defined $ENV{ $env } && length $ENV{ $env };
- return $ENV{ $env } if -d $ENV{ $env };
- }
-
- return cwd();
-}
-
-=head2 $path = $cb->_safe_path( path => $path );
-
-Returns a path that's safe to us on Win32 and VMS.
-
-Only cleans up the path on Win32 if the path exists.
-
-On VMS, it encodes dots to _ using C<VMS::Filespec::vmsify>
-
-=cut
-
-sub _safe_path {
- my $self = shift;
-
- my %hash = @_;
-
- my $path;
- my $tmpl = {
- path => { required => 1, store => \$path },
- };
-
- check( $tmpl, \%hash ) or return;
-
- if( ON_WIN32 ) {
- ### only need to fix it up if there's spaces in the path
- return $path unless $path =~ /\s+/;
-
- ### clean up paths if we are on win32
- return Win32::GetShortPathName( $path ) || $path;
-
- } elsif ( ON_VMS ) {
- ### XXX According to John Malmberg, there's an VMS issue:
- ### catdir on VMS can not currently deal with directory components
- ### with dots in them.
- ### Fixing this is a a three step procedure, which will work for
- ### VMS in its traditional ODS-2 mode, and it will also work if
- ### VMS is in the ODS-5 mode that is being implemented.
- ### If the path is already in VMS syntax, assume that we are done.
-
- ### VMS format is a path with a trailing ']' or ':'
- return $path if $path =~ /\:|\]$/;
-
- ### 1. Make sure that the value to be converted, $path is
- ### in UNIX directory syntax by appending a '/' to it.
- $path .= '/' unless $path =~ m|/$|;
-
- ### 2. Use VMS::Filespec::vmsify($path . '/') to convert the dots to
- ### underscores if needed. The trailing '/' is needed as so that
- ### C<vmsify> knows that it should use directory translation instead of
- ### filename translation, as filename translation leaves one dot.
- $path = VMS::Filespec::vmsify( $path );
-
- ### 3. Use $path = File::Spec->splitdir( VMS::Filespec::vmsify(
- ### $path . '/') to remove the directory delimiters.
-
- ### From John Malmberg:
- ### File::Spec->catdir will put the path back together.
- ### The '/' trick only works if the string is a directory name
- ### with UNIX style directory delimiters or no directory delimiters.
- ### It is to force vmsify to treat the input specification as UNIX.
- ###
- ### There is a VMS::Filespec::unixpath() to do the appending of the '/'
- ### to the specification, which will do a VMS::Filespec::vmsify()
- ### if needed.
- ### However it is not a good idea to call vmsify() on a pathname
- ### returned by unixify(), and it is not a good idea to call unixify()
- ### on a pathname returned by vmsify(). Because of the nature of the
- ### conversion, not all file specifications can make the round trip.
- ###
- ### I think that directory specifications can safely make the round
- ### trip, but not ones containing filenames.
- $path = File::Spec->catdir( File::Spec->splitdir( $path ) )
- }
-
- return $path;
-}
-
-
-=head2 ($pkg, $version, $ext) = $cb->_split_package_string( package => PACKAGE_STRING );
-
-Splits the name of a CPAN package string up into its package, version
-and extension parts.
-
-For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
-
- Package: Foo-Bar
- Version: 1.2
- Extension: tar.gz
-
-=cut
-
-{ my $del_re = qr/[-_\+]/i; # delimiter between elements
- my $pkg_re = qr/[a-z] # any letters followed by
- [a-z\d]* # any letters, numbers
- (?i:\.pm)? # followed by '.pm'--authors do this :(
- (?: # optionally repeating:
- $del_re # followed by a delimiter
- [a-z] # any letters followed by
- [a-z\d]* # any letters, numbers
- (?i:\.pm)? # followed by '.pm'--authors do this :(
- )*
- /xi;
-
- my $ver_re = qr/[a-z]*\d*?[a-z]* # contains a digit and possibly letters
- (?: # however, some start with a . only :(
- [-._] # followed by a delimiter
- [a-z\d]+ # and more digits and or letters
- )*?
- /xi;
-
- my $ext_re = qr/[a-z] # a letter, followed by
- [a-z\d]* # letters and or digits, optionally
- (?:
- \. # followed by a dot and letters
- [a-z\d]+ # and or digits (like .tar.bz2)
- )? # optionally
- /xi;
-
- my $ver_ext_re = qr/
- ($ver_re+) # version, optional
- (?:
- \. # a literal .
- ($ext_re) # extension,
- )? # optional, but requires version
- /xi;
-
- ### composed regex for CPAN packages
- my $full_re = qr/
- ^
- ( # the whole thing
- ($pkg_re+) # package
- (?:
- $del_re # delimiter
- $ver_ext_re # version + extension
- )?
- )
- $
- /xi;
-
- ### composed regex for perl packages
- my $perl = PERL_CORE;
- my $perl_re = qr/
- ^
- ( # the whole thing
- ($perl) # package name for 'perl'
- (?:
- $ver_ext_re # version + extension
- )?
- )
- $
- /xi;
-
-
-sub _split_package_string {
- my $self = shift;
- my %hash = @_;
-
- my $str;
- my $tmpl = { package => { required => 1, store => \$str } };
- check( $tmpl, \%hash ) or return;
-
-
- ### 2 different regexes, one for the 'perl' package,
- ### one for ordinary CPAN packages.. try them both,
- ### first match wins.
- for my $re ( $full_re, $perl_re ) {
-
- ### try the next if the match fails
- $str =~ $re or next;
-
- my $full = $1 || '';
- my $pkg = $2 || '';
- my $ver = $3 || '';
- my $ext = $4 || '';
-
- ### this regex resets the capture markers!
- ### strip the trailing delimiter
- $pkg =~ s/$del_re$//;
-
- ### strip the .pm package suffix some authors insist on adding
- $pkg =~ s/\.pm$//i;
-
- return ($pkg, $ver, $ext, $full );
- }
-
- return;
- }
-}
-
-{ my %escapes = map {
- chr($_) => sprintf("%%%02X", $_)
- } 0 .. 255;
-
- sub _uri_encode {
- my $self = shift;
- my %hash = @_;
-
- my $str;
- my $tmpl = {
- uri => { store => \$str, required => 1 }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### XXX taken straight from URI::Encode
- ### Default unsafe characters. RFC 2732 ^(uric - reserved)
- $str =~ s|([^A-Za-z0-9\-_.!~*'()])|$escapes{$1}|g;
-
- return $str;
- }
-
-
- sub _uri_decode {
- my $self = shift;
- my %hash = @_;
-
- my $str;
- my $tmpl = {
- uri => { store => \$str, required => 1 }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### XXX use unencode routine in utils?
- $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
-
- return $str;
- }
-}
-
-sub _update_timestamp {
- my $self = shift;
- my %hash = @_;
-
- my $file;
- my $tmpl = {
- file => { required => 1, store => \$file, allow => FILE_EXISTS }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### `touch` the file, so windoze knows it's new -jmb
- ### works on *nix too, good fix -Kane
- ### make sure it is writable first, otherwise the `touch` will fail
-
- my $now = time;
- unless( chmod( 0644, $file) && utime ($now, $now, $file) ) {
- error( loc("Couldn't touch %1", $file) );
- return;
- }
-
- return 1;
-}
-
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils/Autoflush.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils/Autoflush.pm
deleted file mode 100644
index 8aa9030dfa3..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils/Autoflush.pm
+++ /dev/null
@@ -1,9 +0,0 @@
-package CPANPLUS::Internals::Utils::Autoflush;
-use deprecate;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-BEGIN { $|++ };
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
deleted file mode 100644
index 4eda894629a..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
+++ /dev/null
@@ -1,1839 +0,0 @@
-package CPANPLUS::Module;
-use deprecate;
-
-use strict;
-use vars qw[@ISA $VERSION];
-$VERSION = "0.9135";
-
-use CPANPLUS::Dist;
-use CPANPLUS::Error;
-use CPANPLUS::Module::Signature;
-use CPANPLUS::Module::Checksums;
-use CPANPLUS::Internals::Constants;
-
-use FileHandle;
-
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use IPC::Cmd qw[can_run run];
-use File::Find qw[find];
-use Params::Check qw[check];
-use File::Basename qw[dirname];
-use Module::Load::Conditional qw[can_load check_install];
-
-$Params::Check::VERBOSE = 1;
-
-@ISA = qw[ CPANPLUS::Module::Signature CPANPLUS::Module::Checksums];
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Module - CPAN module objects for CPANPLUS
-
-=head1 SYNOPSIS
-
- ### get a module object from the CPANPLUS::Backend object
- my $mod = $cb->module_tree('Some::Module');
-
- ### accessors
- $mod->version;
- $mod->package;
-
- ### methods
- $mod->fetch;
- $mod->extract;
- $mod->install;
-
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Module> creates objects from the information in the
-source files. These can then be used to query and perform actions
-on, like fetching or installing.
-
-These objects should only be created internally. For C<fake> objects,
-there's the C<CPANPLUS::Module::Fake> class. To obtain a module object
-consult the C<CPANPLUS::Backend> documentation.
-
-=cut
-
-my $tmpl = {
- module => { default => '', required => 1 }, # full module name
- version => { default => '0.0' }, # version number
- path => { default => '', required => 1 }, # extended path on the
- # cpan mirror, like
- # /author/id/K/KA/KANE
- comment => { default => ''}, # comment on module
- package => { default => '', required => 1 }, # package name, like
- # 'bar-baz-1.03.tgz'
- description => { default => '' }, # description of the
- # module
- dslip => { default => EMPTY_DSLIP }, # dslip information
- _id => { required => 1 }, # id of the Internals
- # parent object
- _status => { no_override => 1 }, # stores status object
- author => { default => '', required => 1,
- allow => IS_AUTHOBJ }, # module author
- mtime => { default => '' },
-};
-
-### some of these will be resolved by wrapper functions that
-### do Clever Things to find the actual value, so don't create
-### an autogenerated sub for that just here, take an alternate
-### name to allow for a wrapper
-{ my %rename = (
- dslip => '_dslip'
- );
-
- ### autogenerate accessors ###
- for my $key ( keys %$tmpl ) {
- no strict 'refs';
-
- my $sub = $rename{$key} || $key;
-
- *{__PACKAGE__."::$sub"} = sub {
- $_[0]->{$key} = $_[1] if @_ > 1;
- return $_[0]->{$key};
- }
- }
-}
-
-
-=pod
-
-=head1 CLASS METHODS
-
-=head2 accessors ()
-
-Returns a list of all accessor methods to the object
-
-=cut
-
-### *name is an alias, include it explicitly
-sub accessors { return ('name', keys %$tmpl) };
-
-=head1 ACCESSORS
-
-An objects of this class has the following accessors:
-
-=over 4
-
-=item name
-
-Name of the module.
-
-=item module
-
-Name of the module.
-
-=item version
-
-Version of the module. Defaults to '0.0' if none was provided.
-
-=item path
-
-Extended path on the mirror.
-
-=item comment
-
-Any comment about the module -- largely unused.
-
-=item package
-
-The name of the package.
-
-=item description
-
-Description of the module -- only registered modules have this.
-
-=item dslip
-
-The five character dslip string, that represents meta-data of the
-module -- again, only registered modules have this.
-
-=cut
-
-sub dslip {
- my $self = shift;
-
- ### if this module has relevant dslip info, return it
- return $self->_dslip if $self->_dslip ne EMPTY_DSLIP;
-
- ### if not, look at other modules in the same package,
- ### see if *they* have any dslip info
- for my $mod ( $self->contains ) {
- return $mod->_dslip if $mod->_dslip ne EMPTY_DSLIP;
- }
-
- ### ok, really no dslip info found, return the default
- return EMPTY_DSLIP;
-}
-
-
-=pod
-
-=item status
-
-The C<CPANPLUS::Module::Status> object associated with this object.
-(see below).
-
-=item author
-
-The C<CPANPLUS::Module::Author> object associated with this object.
-
-=item parent
-
-The C<CPANPLUS::Internals> object that spawned this module object.
-
-=back
-
-=cut
-
-### Alias ->name to ->module, for human beings.
-*name = *module;
-
-sub parent {
- my $self = shift;
- my $obj = CPANPLUS::Internals->_retrieve_id( $self->_id );
-
- return $obj;
-}
-
-=head1 STATUS ACCESSORS
-
-C<CPANPLUS> caches a lot of results from method calls and saves data
-it collected along the road for later reuse.
-
-C<CPANPLUS> uses this internally, but it is also available for the end
-user. You can get a status object by calling:
-
- $modobj->status
-
-You can then query the object as follows:
-
-=over 4
-
-=item installer_type
-
-The installer type used for this distribution. Will be one of
-'makemaker' or 'build'. This determines whether C<CPANPLUS::Dist::MM>
-or C<CPANPLUS::Dist::Build> will be used to build this distribution.
-
-=item dist_cpan
-
-The dist object used to do the CPAN-side of the installation. Either
-a C<CPANPLUS::Dist::MM> or C<CPANPLUS::Dist::Build> object.
-
-=item dist
-
-The custom dist object used to do the operating specific side of the
-installation, if you've chosen to use this. For example, if you've
-chosen to install using the C<ports> format, this may be a
-C<CPANPLUS::Dist::Ports> object.
-
-Undefined if you didn't specify a separate format to install through.
-
-=item prereqs | requires
-
-A hashref of prereqs this distribution was found to have. Will look
-something like this:
-
- { Carp => 0.01, strict => 0 }
-
-Might be undefined if the distribution didn't have any prerequisites.
-
-=item configure_requires
-
-Like prereqs, but these are necessary to be installed before the
-build process can even begin.
-
-=item signature
-
-Flag indicating, if a signature check was done, whether it was OK or
-not.
-
-=item extract
-
-The directory this distribution was extracted to.
-
-=item fetch
-
-The location this distribution was fetched to.
-
-=item readme
-
-The text of this distributions README file.
-
-=item uninstall
-
-Flag indicating if an uninstall call was done successfully.
-
-=item created
-
-Flag indicating if the C<create> call to your dist object was done
-successfully.
-
-=item installed
-
-Flag indicating if the C<install> call to your dist object was done
-successfully.
-
-=item checksums
-
-The location of this distributions CHECKSUMS file.
-
-=item checksum_ok
-
-Flag indicating if the checksums check was done successfully.
-
-=item checksum_value
-
-The checksum value this distribution is expected to have
-
-=back
-
-=head1 METHODS
-
-=head2 $self = CPANPLUS::Module->new( OPTIONS )
-
-This method returns a C<CPANPLUS::Module> object. Normal users
-should never call this method directly, but instead use the
-C<CPANPLUS::Backend> to obtain module objects.
-
-This example illustrates a C<new()> call with all required arguments:
-
- CPANPLUS::Module->new(
- module => 'Foo',
- path => 'authors/id/A/AA/AAA',
- package => 'Foo-1.0.tgz',
- author => $author_object,
- _id => INTERNALS_OBJECT_ID,
- );
-
-Every accessor is also a valid option to pass to C<new>.
-
-Returns a module object on success and false on failure.
-
-=cut
-
-
-sub new {
- my($class, %hash) = @_;
-
- ### don't check the template for sanity
- ### -- we know it's good and saves a lot of performance
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
-
- my $object = check( $tmpl, \%hash ) or return;
-
- bless $object, $class;
-
- return $object;
-}
-
-### only create status objects when they're actually asked for
-sub status {
- my $self = shift;
- return $self->_status if $self->_status;
-
- my $acc = Object::Accessor->new;
- $acc->mk_accessors( qw[ installer_type dist_cpan dist prereqs
- signature extract fetch readme uninstall
- created installed prepared checksums files
- checksum_ok checksum_value _fetch_from
- configure_requires
- ] );
-
- ### create an alias from 'requires' to 'prereqs', so it's more in
- ### line with 'configure_requires';
- $acc->mk_aliases( requires => 'prereqs' );
-
- $self->_status( $acc );
-
- return $self->_status;
-}
-
-
-### flush the cache of this object ###
-sub _flush {
- my $self = shift;
- $self->status->mk_flush;
- return 1;
-}
-
-=head2 $mod->package_name( [$package_string] )
-
-Returns the name of the package a module is in. For C<Acme::Bleach>
-that might be C<Acme-Bleach>.
-
-=head2 $mod->package_version( [$package_string] )
-
-Returns the version of the package a module is in. For a module
-in the package C<Acme-Bleach-1.1.tar.gz> this would be C<1.1>.
-
-=head2 $mod->package_extension( [$package_string] )
-
-Returns the suffix added by the compression method of a package a
-certain module is in. For a module in C<Acme-Bleach-1.1.tar.gz>, this
-would be C<tar.gz>.
-
-=head2 $mod->package_is_perl_core
-
-Returns a boolean indicating of the package a particular module is in,
-is actually a core perl distribution.
-
-=head2 $mod->module_is_supplied_with_perl_core( [version => $]] )
-
-Returns a boolean indicating whether C<ANY VERSION> of this module
-was supplied with the current running perl's core package.
-
-=head2 $mod->is_bundle
-
-Returns a boolean indicating if the module you are looking at, is
-actually a bundle. Bundles are identified as modules whose name starts
-with C<Bundle::>.
-
-=head2 $mod->is_autobundle;
-
-Returns a boolean indicating if the module you are looking at, is
-actually an autobundle as generated by C<< $cb->autobundle >>.
-
-=head2 $mod->is_third_party
-
-Returns a boolean indicating whether the package is a known third-party
-module (i.e. it's not provided by the standard Perl distribution and
-is not available on the CPAN, but on a third party software provider).
-See L<Module::ThirdParty> for more details.
-
-=head2 $mod->third_party_information
-
-Returns a reference to a hash with more information about a third-party
-module. See the documentation about C<module_information()> in
-L<Module::ThirdParty> for more details.
-
-=cut
-
-{ ### fetches the test reports for a certain module ###
- my %map = (
- name => 0,
- version => 1,
- extension => 2,
- );
-
- while ( my($type, $index) = each %map ) {
- my $name = 'package_' . $type;
-
- no strict 'refs';
- *$name = sub {
- my $self = shift;
- my $val = shift || $self->package;
- my @res = $self->parent->_split_package_string( package => $val );
-
- ### return the corresponding index from the result
- return $res[$index] if @res;
- return;
- };
- }
-
- sub package_is_perl_core {
- my $self = shift;
- my $cb = $self->parent;
-
- ### check if the package looks like a perl core package
- return 1 if $self->package_name eq PERL_CORE;
-
- ### address #44562: ::Module->package_is_perl_code : problem comparing
- ### version strings -- use $cb->_vcmp to avoid warnings when version
- ### have _ in them
-
- my $core = $self->module_is_supplied_with_perl_core;
- ### ok, so it's found in the core, BUT it could be dual-lifed
- 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;
-
- ### if the package is newer or equal to the corelist,
- ### then it's dual-lifed
- return if $cb->_vcmp( $self->version, $core ) >= 0;
-
- ### otherwise, it's older than corelist, thus unsuitable.
- return 1;
- }
-
- ### not in corelist, not a perl core package.
- return;
- }
-
- sub module_is_supplied_with_perl_core {
- my $self = shift;
- my $ver = shift || $];
-
- ### allow it to be called as a package function as well like:
- ### CPANPLUS::Module::module_is_supplied_with_perl_core('Config')
- ### so that we can check the status of modules that aren't released
- ### to CPAN, but are part of the core.
- my $name = ref $self ? $self->module : $self;
-
- ### check Module::CoreList to see if it's a core package
- require Module::CoreList;
-
- ### Address #41157: Module::module_is_supplied_with_perl_core()
- ### 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;
-
- if ( exists $Module::CoreList::version{ 0+$ver }->{ $name } ) {
- $core = $Module::CoreList::version{ 0+$ver }->{ $name };
- $core = 0 unless $core;
- }
- return $core;
- }
-
- ### make sure Bundle-Foo also gets flagged as bundle
- sub is_bundle {
- my $self = shift;
-
- ### cpan'd bundle
- return 1 if $self->module =~ /^bundle(?:-|::)/i;
-
- ### autobundle
- return 1 if $self->is_autobundle;
-
- ### neither
- return;
- }
-
- ### full path to a generated autobundle
- sub is_autobundle {
- my $self = shift;
- my $conf = $self->parent->configure_object;
- my $prefix = $conf->_get_build('autobundle_prefix');
-
- return 1 if $self->module eq $prefix;
- return;
- }
-
- sub is_third_party {
- my $self = shift;
-
- return unless can_load( modules => { 'Module::ThirdParty' => 0 } );
-
- return Module::ThirdParty::is_3rd_party( $self->name );
- }
-
- sub third_party_information {
- my $self = shift;
-
- return unless $self->is_third_party;
-
- return Module::ThirdParty::module_information( $self->name );
- }
-}
-
-=pod
-
-=head2 $clone = $self->clone
-
-Clones the current module object for tinkering with.
-It will have a clean C<CPANPLUS::Module::Status> object, as well as
-a fake C<CPANPLUS::Module::Author> object.
-
-=cut
-
-{ ### accessors dont change during run time, so only compute once
- my @acc = grep !/status/, __PACKAGE__->accessors();
-
- sub clone {
- my $self = shift;
-
- ### clone the object ###
- my %data = map { $_ => $self->$_ } @acc;
-
- my $obj = CPANPLUS::Module::Fake->new( %data );
-
- return $obj;
- }
-}
-
-=pod
-
-=head2 $where = $self->fetch
-
-Fetches the module from a CPAN mirror.
-Look at L<CPANPLUS::Internals::Fetch::_fetch()> for details on the
-options you can pass.
-
-=cut
-
-sub fetch {
- my $self = shift;
- my $cb = $self->parent;
-
- ### custom args
- my %args = ( module => $self );
-
- ### if a custom fetch location got specified before, add that here
- $args{fetch_from} = $self->status->_fetch_from
- if $self->status->_fetch_from;
-
- my $where = $cb->_fetch( @_, %args ) or return;
-
- ### do an md5 check ###
- if( !$self->status->_fetch_from and
- $cb->configure_object->get_conf('md5') and
- $self->package ne CHECKSUMS
- ) {
- unless( $self->_validate_checksum ) {
- error( loc( "Checksum error for '%1' -- will not trust package",
- $self->package) );
- return;
- }
- }
-
- return $where;
-}
-
-=pod
-
-=head2 $path = $self->extract
-
-Extracts the fetched module.
-Look at L<CPANPLUS::Internals::Extract::_extract()> for details on
-the options you can pass.
-
-=cut
-
-sub extract {
- my $self = shift;
- my $cb = $self->parent;
-
- unless( $self->status->fetch ) {
- error( loc( "You have not fetched '%1' yet -- cannot extract",
- $self->module) );
- return;
- }
-
- ### can't extract these, so just use the basedir for the file
- if( $self->is_autobundle ) {
-
- ### this is expected to be set after an extract call
- $self->get_installer_type;
-
- return $self->status->extract( dirname( $self->status->fetch ) );
- }
-
- return $cb->_extract( @_, module => $self );
-}
-
-=head2 $type = $self->get_installer_type([prefer_makefile => BOOL])
-
-Gets the installer type for this module. This may either be C<build> or
-C<makemaker>. If C<Module::Build> is unavailable or no installer type
-is available, it will fall back to C<makemaker>. If both are available,
-it will pick the one indicated by your config, or by the
-C<prefer_makefile> option you can pass to this function.
-
-Returns the installer type on success, and false on error.
-
-=cut
-
-sub get_installer_type {
- my $self = shift;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my ($prefer_makefile,$verbose);
- my $tmpl = {
- prefer_makefile => { default => $conf->get_conf('prefer_makefile'),
- store => \$prefer_makefile, allow => BOOLEANS },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $type;
-
- ### autobundles use their own installer, so return that
- if( $self->is_autobundle ) {
- $type = INSTALLER_AUTOBUNDLE;
-
- } else {
- my $extract = $self->status->extract();
- unless( $extract ) {
- error(loc(
- "Cannot determine installer type of unextracted module '%1'",
- $self->module
- ));
- return;
- }
-
- ### check if it's a makemaker or a module::build type dist ###
- my $found_build = -e BUILD_PL->( $extract );
- my $found_makefile = -e MAKEFILE_PL->( $extract );
-
- $type = INSTALLER_BUILD if !$prefer_makefile && $found_build;
- $type = INSTALLER_BUILD if $found_build && !$found_makefile;
- $type = INSTALLER_MM if $prefer_makefile && $found_makefile;
- $type = INSTALLER_MM if $found_makefile && !$found_build;
- # Special case Module::Build to always use INSTALLER_MM
- $type = INSTALLER_MM if $self->package =~ m{^Module-Build-\d};
-
- }
-
- ### ok, so it's a 'build' installer, but you don't /have/ module build
- ### XXX duplicated from CPANPLUS::Selfupdate. fix somehow?
- if( $type and $type eq INSTALLER_BUILD and (
- not CPANPLUS::Dist->has_dist_type( INSTALLER_BUILD )
- or not $cb->module_tree( INSTALLER_BUILD )
- ->is_uptodate( version => '0.60' )
- ) ) {
-
- ### XXX this is for recording purposes only. We *have* to install
- ### these before even creating a dist object, or we'll get an error
- ### saying 'no such dist type';
- ### XXX duplicated from CPANPLUS::Selfupdate. fix somehow?
- my $href = $self->status->configure_requires || {};
- my $deps = { INSTALLER_BUILD, '0.60', %$href };
-
- $self->status->configure_requires( $deps );
-
- msg(loc("This module requires '%1' and '%2' to be installed first. ".
- "Adding these modules to your prerequisites list",
- 'Module::Build', INSTALLER_BUILD
- ), $verbose );
-
-
- ### ok, actually we found neither ###
- } elsif ( !$type ) {
- error( loc( "Unable to find '%1' or '%2' for '%3'; ".
- "Will default to '%4' but might be unable ".
- "to install!", BUILD_PL->(), MAKEFILE_PL->(),
- $self->module, INSTALLER_MM ) );
- $type = INSTALLER_MM;
- }
-
- return $self->status->installer_type( $type ) if $type;
- return;
-}
-
-=pod
-
-=head2 $dist = $self->dist([target => 'prepare|create', format => DISTRIBUTION_TYPE, args => {key => val}]);
-
-Create a distribution object, ready to be installed.
-Distribution type defaults to your config settings
-
-The optional C<args> hashref is passed on to the specific distribution
-types' C<create> method after being dereferenced.
-
-Returns a distribution object on success, false on failure.
-
-See C<CPANPLUS::Dist> for details.
-
-=cut
-
-sub dist {
- my $self = shift;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- ### have you determined your installer type yet? if not, do it here,
- ### we need the info
- $self->get_installer_type unless $self->status->installer_type;
-
- my($type,$args,$target);
- my $tmpl = {
- format => { default => $conf->get_conf('dist_type') ||
- $self->status->installer_type,
- store => \$type },
- target => { default => TARGET_CREATE, store => \$target },
- args => { default => {}, store => \$args },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### ok, check for $type. Do we have it?
- unless( CPANPLUS::Dist->has_dist_type( $type ) ) {
-
- ### ok, we don't have it. Is it C::D::Build? if so we can install the
- ### whole thing now
- ### XXX we _could_ do this for any type we dont have actually...
- if( $type eq INSTALLER_BUILD ) {
- msg(loc("Bootstrapping installer '%1'", $type));
-
- ### don't propagate the format, it's the one we're trying to
- ### bootstrap, so it'll be an infinite loop if we do
-
- $cb->module_tree( $type )->install( target => $target, %$args ) or
- do {
- error(loc("Could not bootstrap installer '%1' -- ".
- "can not continue", $type));
- return;
- };
-
- ### re-scan for available modules now
- CPANPLUS::Dist->rescan_dist_types;
-
- unless( CPANPLUS::Dist->has_dist_type( $type ) ) {
- error(loc("Newly installed installer type '%1' should be ".
- "available, but is not! -- aborting", $type));
- return;
- } else {
- msg(loc("Installer '%1' successfully bootstrapped", $type));
- }
-
- ### some other plugin you dont have. Abort
- } else {
- error(loc("Installer type '%1' not found. Please verify your ".
- "installation -- aborting", $type ));
- return;
- }
- }
-
- ### make sure we don't overwrite it, just in case we came
- ### back from a ->save_state. This allows restoration to
- ### work correctly
- my( $dist, $dist_cpan );
-
- unless( $dist = $self->status->dist ) {
- $dist = $type->new( module => $self ) or return;
- $self->status->dist( $dist );
- }
-
- unless( $dist_cpan = $self->status->dist_cpan ) {
-
- $dist_cpan = $type eq $self->status->installer_type
- ? $self->status->dist
- : $self->status->installer_type->new( module => $self );
-
-
- $self->status->dist_cpan( $dist_cpan );
- }
-
-
- DIST: {
- ### just wanted the $dist object?
- last DIST if $target eq TARGET_INIT;
-
- ### first prepare the dist
- $dist->prepare( %$args ) or return;
- $self->status->prepared(1);
-
- ### you just wanted us to prepare?
- last DIST if $target eq TARGET_PREPARE;
-
- $dist->create( %$args ) or return;
- $self->status->created(1);
- }
-
- return $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>
-
-Returns true on success, false on failure.
-
-=cut
-
-sub prepare {
- my $self = shift;
- return $self->install( @_, target => TARGET_PREPARE );
-}
-
-=head2 $bool = $mod->create( )
-
-Convenience method around C<install()> that creates a module.
-This is equivalent to invoking C<install> with C<target> set to
-C<create>
-
-Returns true on success, false on failure.
-
-=cut
-
-sub create {
- my $self = shift;
- return $self->install( @_, target => TARGET_CREATE );
-}
-
-=head2 $bool = $mod->test( )
-
-Convenience wrapper around C<install()> that tests a module, without
-installing it.
-It's the equivalent to invoking C<install()> with C<target> set to
-C<create> and C<skiptest> set to C<0>.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub test {
- my $self = shift;
- return $self->install( @_, target => TARGET_CREATE, skiptest => 0 );
-}
-
-=pod
-
-=head2 $bool = $self->install([ target => 'init|prepare|create|install', format => FORMAT_TYPE, extractdir => DIRECTORY, fetchdir => DIRECTORY, prefer_bin => BOOL, force => BOOL, verbose => BOOL, ..... ]);
-
-Installs the current module. This includes fetching it and extracting
-it, if this hasn't been done yet, as well as creating a distribution
-object for it.
-
-This means you can pass it more arguments than described above, which
-will be passed on to the relevant methods as they are called.
-
-See C<CPANPLUS::Internals::Fetch>, C<CPANPLUS::Internals::Extract> and
-C<CPANPLUS::Dist> for details.
-
-Returns true on success, false on failure.
-
-=cut
-
-sub install {
- my $self = shift;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $args; my $target; my $format;
- { ### so we can use the rest of the args to the create calls etc ###
- local $Params::Check::NO_DUPLICATES = 1;
- local $Params::Check::ALLOW_UNKNOWN = 1;
-
- ### targets 'dist' and 'test' are now completely ignored ###
- my $tmpl = {
- ### match this allow list with Dist->_resolve_prereqs
- target => { default => TARGET_INSTALL, store => \$target,
- allow => [TARGET_PREPARE, TARGET_CREATE,
- TARGET_INSTALL, TARGET_INIT ] },
- force => { default => $conf->get_conf('force'), },
- verbose => { default => $conf->get_conf('verbose'), },
- format => { default => $conf->get_conf('dist_type'),
- store => \$format },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
-
- ### if this target isn't 'install', we will need to at least 'create'
- ### every prereq, so it can build
- ### XXX prereq_target of 'prepare' will do weird things here, and is
- ### not supported.
- $args->{'prereq_target'} ||= TARGET_CREATE if $target ne TARGET_INSTALL;
-
- ### check if it's already upto date ###
- if( $target eq TARGET_INSTALL and !$args->{'force'} and
- !$self->package_is_perl_core() and # separate rules apply
- ( $self->status->installed() or $self->is_uptodate ) and
- !INSTALL_VIA_PACKAGE_MANAGER->($format)
- ) {
- msg(loc("Module '%1' already up to date, won't install without force",
- $self->module), $args->{'verbose'} );
- return $self->status->installed(1);
- }
-
- # if it's a non-installable core package, abort the install.
- if( $self->package_is_perl_core() ) {
- # if the installed is newer, say so.
- if( $self->installed_version > $self->version ) {
- error(loc("The core Perl %1 module '%2' (%3) is more ".
- "recent than the latest release on CPAN (%4). ".
- "Aborting install.",
- $], $self->module, $self->installed_version,
- $self->version ) );
- # if the installed matches, say so.
- } elsif( $self->installed_version == $self->version ) {
- error(loc("The core Perl %1 module '%2' (%3) can only ".
- "be installed by Perl itself. ".
- "Aborting install.",
- $], $self->module, $self->installed_version ) );
- # otherwise, the installed is older; say so.
- } else {
- error(loc("The core Perl %1 module '%2' can only be ".
- "upgraded from %3 to %4 by Perl itself (%5). ".
- "Aborting install.",
- $], $self->module, $self->installed_version,
- $self->version, $self->package ) );
- }
- return;
-
- ### it might be a known 3rd party module
- } elsif ( $self->is_third_party ) {
- my $info = $self->third_party_information;
- error(loc(
- "%1 is a known third-party module.\n\n".
- "As it isn't available on the CPAN, CPANPLUS can't install " .
- "it automatically. Therefore you need to install it manually " .
- "before proceeding.\n\n".
- "%2 is part of %3, published by %4, and should be available ".
- "for download at the following address:\n\t%5",
- $self->name, $self->name, $info->{name}, $info->{author},
- $info->{url}
- ));
-
- return;
- }
-
- ### fetch it if need be ###
- unless( $self->status->fetch ) {
- my $params;
- for (qw[prefer_bin fetchdir]) {
- $params->{$_} = $args->{$_} if exists $args->{$_};
- }
- for (qw[force verbose]) {
- $params->{$_} = $args->{$_} if defined $args->{$_};
- }
- $self->fetch( %$params ) or return;
- }
-
- ### extract it if need be ###
- unless( $self->status->extract ) {
- my $params;
- for (qw[prefer_bin extractdir]) {
- $params->{$_} = $args->{$_} if exists $args->{$_};
- }
- for (qw[force verbose]) {
- $params->{$_} = $args->{$_} if defined $args->{$_};
- }
- $self->extract( %$params ) or return;
- }
-
- $args->{'prereq_format'} = $format if $format;
- $format ||= $self->status->installer_type;
-
- unless( $format ) {
- error( loc( "Don't know what installer to use; " .
- "Couldn't find either '%1' or '%2' in the extraction " .
- "directory '%3' -- will be unable to install",
- BUILD_PL->(), MAKEFILE_PL->(), $self->status->extract ) );
-
- $self->status->installed(0);
- return;
- }
-
-
- ### do SIGNATURE checks? ###
- ### XXX check status and not recheck EVERY time?
- if( $conf->get_conf('signature') ) {
- unless( $self->check_signature( verbose => $args->{verbose} ) ) {
- error( loc( "Signature check failed for module '%1' ".
- "-- Not trusting this module, aborting install",
- $self->module ) );
- $self->status->signature(0);
-
- ### send out test report on broken sig
- if( $conf->get_conf('cpantest') ) {
- $cb->_send_report(
- module => $self,
- failed => 1,
- buffer => CPANPLUS::Error->stack_as_string,
- verbose => $args->{verbose},
- force => $args->{force},
- ) or error(loc("Failed to send test report for '%1'",
- $self->module ) );
- }
-
- return;
-
- } else {
- ### signature OK ###
- $self->status->signature(1);
- }
- }
-
- ### a target of 'create' basically means not to run make test ###
- ### eh, no it /doesn't/.. skiptest => 1 means skiptest => 1.
- #$args->{'skiptest'} = 1 if $target eq 'create';
-
- ### bundle rules apply ###
- if( $self->is_bundle ) {
- ### check what we need to install ###
- my @prereqs = $self->bundle_modules();
- unless( @prereqs ) {
- error( loc( "Bundle '%1' does not specify any modules to install",
- $self->module ) );
-
- ### XXX mark an error here? ###
- }
- }
-
- my $dist = $self->dist( format => $format,
- target => $target,
- args => $args );
- unless( $dist ) {
- error( loc( "Unable to create a new distribution object for '%1' " .
- "-- cannot continue", $self->module ) );
- return;
- }
-
- return 1 if $target ne TARGET_INSTALL;
-
- my $ok = $dist->install( %$args ) ? 1 : 0;
-
- $self->status->installed($ok);
-
- return 1 if $ok;
- return;
-}
-
-=pod @list = $self->bundle_modules()
-
-Returns a list of module objects the Bundle specifies.
-
-This requires you to have extracted the bundle already, using the
-C<extract()> method.
-
-Returns false on error.
-
-=cut
-
-sub bundle_modules {
- my $self = shift;
- my $cb = $self->parent;
-
- unless( $self->is_bundle ) {
- error( loc("'%1' is not a bundle", $self->module ) );
- return;
- }
-
- my @files;
-
- ### autobundles are special files generated by CPANPLUS. If we can
- ### read the file, we can determine the prereqs
- if( $self->is_autobundle ) {
- my $where;
- unless( $where = $self->status->fetch ) {
- error(loc("Don't know where '%1' was fetched to", $self->package));
- return;
- }
-
- push @files, $where
-
- ### regular bundle::* upload
- } else {
- my $dir;
- unless( $dir = $self->status->extract ) {
- error(loc("Don't know where '%1' was extracted to", $self->module));
- return;
- }
-
- find( {
- wanted => sub { push @files, File::Spec->rel2abs($_) if /\.pm/i },
- no_chdir => 1,
- }, $dir );
- }
-
- my $prereqs = {}; my @list; my $seen = {};
- for my $file ( @files ) {
- my $fh = FileHandle->new($file)
- or( error(loc("Could not open '%1' for reading: %2",
- $file,$!)), next );
-
- my $flag;
- while( local $_ = <$fh> ) {
- ### quick hack to read past the header of the file ###
- last if $flag && m|^=head|i;
-
- ### from perldoc cpan:
- ### =head1 CONTENTS
- ### In this pod section each line obeys the format
- ### Module_Name [Version_String] [- optional text]
- $flag = 1 if m|^=head1 CONTENTS|i;
-
- if ($flag && /^(?!=)(\S+)\s*(\S+)?/) {
- my $module = $1;
- my $version = $cb->_version_to_number( version => $2 );
-
- my $obj = $cb->module_tree($module);
-
- unless( $obj ) {
- error(loc("Cannot find bundled module '%1'", $module),
- loc("-- it does not seem to exist") );
- next;
- }
-
- ### make sure we list no duplicates ###
- unless( $seen->{ $obj->module }++ ) {
- push @list, $obj;
- $prereqs->{ $module } =
- $cb->_version_to_number( version => $version );
- }
- }
- }
- }
-
- ### store the prereqs we just found ###
- $self->status->prereqs( $prereqs );
-
- return @list;
-}
-
-=pod
-
-=head2 $text = $self->readme
-
-Fetches the readme belonging to this module and stores it under
-C<< $obj->status->readme >>. Returns the readme as a string on
-success and returns false on failure.
-
-=cut
-
-sub readme {
- my $self = shift;
- my $conf = $self->parent->configure_object;
-
- ### did we already dl the readme once? ###
- return $self->status->readme() if $self->status->readme();
-
- ### this should be core ###
- return unless can_load( modules => { FileHandle => '0.0' },
- verbose => 1,
- );
-
- ### get a clone of the current object, with a fresh status ###
- my $obj = $self->clone or return;
-
- ### munge the package name
- my $pkg = README->( $obj );
- $obj->package($pkg);
-
- my $file;
- { ### disable checksum fetches on readme downloads
-
- my $tmp = $conf->get_conf( 'md5' );
- $conf->set_conf( md5 => 0 );
-
- $file = $obj->fetch;
-
- $conf->set_conf( md5 => $tmp );
-
- return unless $file;
- }
-
- ### read the file into a scalar, to store in the original object ###
- my $fh = new FileHandle;
- unless( $fh->open($file) ) {
- error( loc( "Could not open file '%1': %2", $file, $! ) );
- return;
- }
-
- my $in = do{ local $/; <$fh> };
- $fh->close;
-
- return $self->status->readme( $in );
-}
-
-=pod
-
-=head2 $version = $self->installed_version()
-
-Returns the currently installed version of this module, if any.
-
-=head2 $where = $self->installed_file()
-
-Returns the location of the currently installed file of this module,
-if any.
-
-=head2 $dir = $self->installed_dir()
-
-Returns the directory (or more accurately, the C<@INC> handle) from
-which this module was loaded, if any.
-
-=head2 $bool = $self->is_uptodate([version => VERSION_NUMBER])
-
-Returns a boolean indicating if this module is uptodate or not.
-
-=cut
-
-### uptodate/installed functions
-{ my $map = { # hashkey, alternate rv
- installed_version => ['version', 0 ],
- installed_file => ['file', ''],
- installed_dir => ['dir', ''],
- is_uptodate => ['uptodate', 0 ],
- };
-
- while( my($method, $aref) = each %$map ) {
- my($key,$alt_rv) = @$aref;
-
- no strict 'refs';
- *$method = sub {
- ### never use the @INC hooks to find installed versions of
- ### modules -- they're just there in case they're not on the
- ### perl install, but the user shouldn't trust them for *other*
- ### modules!
- ### XXX CPANPLUS::inc is now obsolete, so this should not
- ### be needed anymore
- #local @INC = CPANPLUS::inc->original_inc;
-
- my $self = shift;
-
- ### make sure check_install is not looking in %INC, as
- ### that may contain some of our sneakily loaded modules
- ### that aren't installed as such. -- kane
- local $Module::Load::Conditional::CHECK_INC_HASH = 0;
- ### this should all that is required for deprecated core modules
- local $Module::Load::Conditional::DEPRECATED = 1;
- my $href = check_install(
- module => $self->module,
- version => $self->version,
- @_,
- );
-
- ### Don't trust modules which are the result of @INC hooks
- ### FatPacker uses this trickery and it causes WTF moments
- return $alt_rv if defined $href->{dir} && ref $href->{dir};
-
- return $href->{$key} || $alt_rv;
- }
- }
-}
-
-
-
-=pod
-
-=head2 $href = $self->details()
-
-Returns a hashref with key/value pairs offering more information about
-a particular module. For example, for C<Time::HiRes> it might look like
-this:
-
- Author Jarkko Hietaniemi (jhi@iki.fi)
- Description High resolution time, sleep, and alarm
- Development Stage Released
- Installed File /usr/local/perl/lib/Time/Hires.pm
- Interface Style plain Functions, no references used
- Language Used C and perl, a C compiler will be needed
- Package Time-HiRes-1.65.tar.gz
- Public License Unknown
- Support Level Developer
- Version Installed 1.52
- Version on CPAN 1.65
-
-=cut
-
-sub details {
- my $self = shift;
- my $conf = $self->parent->configure_object();
- my $cb = $self->parent;
- my %hash = @_;
-
- my $res = {
- Author => loc("%1 (%2)", $self->author->author(),
- $self->author->email() ),
- Package => $self->package,
- Description => $self->description || loc('None given'),
- 'Version on CPAN' => $self->version,
- };
-
- ### check if we have the module installed
- ### if so, add version have and version on cpan
- $res->{'Version Installed'} = $self->installed_version
- if $self->installed_version;
- $res->{'Installed File'} = $self->installed_file if $self->installed_file;
-
- my $i = 0;
- for my $item( split '', $self->dslip ) {
- $res->{ $cb->_dslip_defs->[$i]->[0] } =
- $cb->_dslip_defs->[$i]->[1]->{$item} || loc('Unknown');
- $i++;
- }
-
- return $res;
-}
-
-=head2 @list = $self->contains()
-
-Returns a list of module objects that represent the modules also
-present in the package of this module.
-
-For example, for C<Archive::Tar> this might return:
-
- Archive::Tar
- Archive::Tar::Constant
- Archive::Tar::File
-
-=cut
-
-sub contains {
- my $self = shift;
- my $cb = $self->parent;
- my $pkg = $self->package;
-
- my @mods = $cb->search( type => 'package', allow => [qr/^$pkg$/] );
-
- return @mods;
-}
-
-=pod
-
-=head2 @list_of_hrefs = $self->fetch_report()
-
-This function queries the CPAN testers database at
-I<http://testers.cpan.org/> for test results of specified module
-objects, module names or distributions.
-
-Look at L<CPANPLUS::Internals::Report::_query_report()> for details on
-the options you can pass and the return value to expect.
-
-=cut
-
-sub fetch_report {
- my $self = shift;
- my $cb = $self->parent;
-
- return $cb->_query_report( @_, module => $self );
-}
-
-=pod
-
-=head2 $bool = $self->uninstall([type => [all|man|prog])
-
-This function uninstalls the specified module object.
-
-You can install 2 types of files, either C<man> pages or C<prog>ram
-files. Alternately you can specify C<all> to uninstall both (which
-is the default).
-
-Returns true on success and false on failure.
-
-Do note that this does an uninstall via the so-called C<.packlist>,
-so if you used a module installer like say, C<ports> or C<apt>, you
-should not use this, but use your package manager instead.
-
-=cut
-
-sub uninstall {
- my $self = shift;
- my $conf = $self->parent->configure_object();
- my %hash = @_;
-
- my ($type,$verbose);
- my $tmpl = {
- type => { default => 'all', allow => [qw|man prog all|],
- store => \$type },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- force => { default => $conf->get_conf('force') },
- };
-
- ### XXX add a warning here if your default install dist isn't
- ### makefile or build -- that means you are using a package manager
- ### and this will not do what you think!
-
- my $args = check( $tmpl, \%hash ) or return;
-
- if( $conf->get_conf('dist_type') and (
- ($conf->get_conf('dist_type') ne INSTALLER_BUILD) or
- ($conf->get_conf('dist_type') ne INSTALLER_MM))
- ) {
- msg(loc("You have a default installer type set (%1) ".
- "-- you should probably use that package manager to " .
- "uninstall modules", $conf->get_conf('dist_type')), $verbose);
- }
-
- ### check if we even have the module installed -- no point in continuing
- ### otherwise
- unless( $self->installed_version ) {
- error( loc( "Module '%1' is not installed, so cannot uninstall",
- $self->module ) );
- return;
- }
-
- ### nothing to uninstall ###
- my $files = $self->files( type => $type ) or return;
- my $dirs = $self->directory_tree( type => $type ) or return;
- my $sudo = $conf->get_program('sudo');
-
- ### 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;
-
- ### first remove the files, then the dirs if they are empty ###
- my $flag = 0;
- for my $file( @$files, $pack ) {
- next unless defined $file && -f $file;
-
- msg(loc("Unlinking '%1'", $file), $verbose);
-
- my @cmd = ($^X, "-eunlink+q[$file]");
- unshift @cmd, $sudo if $sudo;
-
- my $buffer;
- unless ( run( command => \@cmd,
- verbose => $verbose,
- buffer => \$buffer )
- ) {
- error(loc("Failed to unlink '%1': '%2'",$file, $buffer));
- $flag++;
- }
- }
-
- for my $dir ( sort @$dirs ) {
- local *DIR;
- opendir DIR, $dir or next;
- my @count = readdir(DIR);
- close DIR;
-
- next unless @count == 2; # . and ..
-
- msg(loc("Removing '%1'", $dir), $verbose);
-
- ### this fails on my win2k machines.. it indeed leaves the
- ### dir, but it's not a critical error, since the files have
- ### been removed. --kane
- #unless( rmdir $dir ) {
- # error( loc( "Could not remove '%1': %2", $dir, $! ) )
- # unless $^O eq 'MSWin32';
- #}
-
- my @cmd = ($^X, "-e", "rmdir q[$dir]");
- unshift @cmd, $sudo if $sudo;
-
- my $buffer;
- unless ( run( command => \@cmd,
- verbose => $verbose,
- buffer => \$buffer )
- ) {
- error(loc("Failed to rmdir '%1': %2",$dir,$buffer));
- $flag++;
- }
- }
-
- $self->status->uninstall(!$flag);
- $self->status->installed( $flag ? 1 : undef);
-
- return !$flag;
-}
-
-=pod
-
-=head2 @modobj = $self->distributions()
-
-Returns a list of module objects representing all releases for this
-module on success, false on failure.
-
-=cut
-
-sub distributions {
- my $self = shift;
- my %hash = @_;
-
- my @list = $self->author->distributions( %hash, module => $self ) or return;
-
- ### it's another release then by the same author ###
- return grep { $_->package_name eq $self->package_name } @list;
-}
-
-=pod
-
-=head2 @list = $self->files ()
-
-Returns a list of files used by this module, if it is installed.
-
-=head2 @list = $self->directory_tree ()
-
-Returns a list of directories used by this module.
-
-=head2 @list = $self->packlist ()
-
-Returns the C<ExtUtils::Packlist> object for this module.
-
-=head2 @list = $self->validate ()
-
-Returns a list of files that are missing for this modules, but
-are present in the .packlist file.
-
-=cut
-
-for my $sub (qw[files directory_tree packlist validate]) {
- no strict 'refs';
- *$sub = sub {
- return shift->_extutils_installed( @_, method => $sub );
- }
-}
-
-### generic method to call an ExtUtils::Installed method ###
-sub _extutils_installed {
- my $self = shift;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my $home = $cb->_home_dir; # may be needed to fix up prefixes
- my %hash = @_;
-
- my ($verbose,$type,$method);
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose, },
- type => { default => 'all',
- allow => [qw|prog man all|],
- store => \$type, },
- method => { required => 1,
- store => \$method,
- allow => [qw|files directory_tree packlist
- validate|],
- },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### old versions of cygwin + perl < 5.8 are buggy here. bail out if we
- ### find we're being used by them
- { my $err = ON_OLD_CYGWIN;
- if($err) { error($err); return };
- }
-
- return unless can_load(
- modules => { 'ExtUtils::Installed' => '0.0' },
- verbose => $verbose,
- );
-
- my @config_names = (
- ### lib
- { lib => 'privlib', # perl-only
- arch => 'archlib', # compiled code
- prefix => 'prefix', # prefix to both
- },
- ### site
- { lib => 'sitelib',
- arch => 'sitearch',
- prefix => 'siteprefix',
- },
- ### vendor
- { lib => 'vendorlib',
- arch => 'vendorarch',
- prefix => 'vendorprefix',
- },
- );
-
- ### search in your regular @INC, and anything you added to your config.
- ### this lets EU::Installed find .packlists that are *not* in the standard
- ### compiled in @INC path. Requires EU::I 1.42 or up. this addresses #33438
- ### make sure the archname path is also added, as that's where the .packlist
- ### files are written
- my @libs;
- for my $lib ( @{ $conf->get_conf('lib') } ) {
- require Config;
-
- ### and just the standard dir
- push @libs, $lib;
-
- ### figure out what an MM prefix expands to. Basically, it's the
- ### site install target from %Config, ie: /opt/lib/perl5/site_perl/5.8.8
- ### minus the site wide prefix, ie: /opt
- ### this lets users add the dir they have set as their EU::MM PREFIX
- ### to our 'lib' config and it Just Works
- ### the arch specific dir, ie:
- ### /opt/lib/perl5/site_perl/5.8.8/darwin-2level
- ### XXX is this the right thing to do?
-
- ### we add all 6 dir combos for prefixes:
- ### /foo/lib
- ### /foo/lib/arch
- ### /foo/site/lib
- ### /foo/site/lib/arch
- ### /foo/vendor/lib
- ### /foo/vendor/lib/arch
- for my $href ( @config_names ) {
- for my $key ( qw[lib arch] ) {
-
- ### look up the config value -- use EXP for the EXPANDED
- ### version, so no ~ etc are found in there
- my $dir = $Config::Config{ $href->{ $key } .'exp' } or next;
- my $prefix = $Config::Config{ $href->{prefix} };
-
- ### prefix may be relative to home, and contain a ~
- ### if so, fix it up.
- $prefix =~ s/^~/$home/;
-
- ### remove the prefix from it, so we can append to our $lib
- $dir =~ s/^\Q$prefix\E//;
-
- ### do the appending
- push @libs, File::Spec->catdir( $lib, $dir );
-
- }
- }
- }
-
- my $inst;
- unless( $inst = ExtUtils::Installed->new( extra_libs => \@libs ) ) {
- error( loc("Could not create an '%1' object", 'ExtUtils::Installed' ) );
-
- ### in case it's being used directly... ###
- return;
- }
-
-
- { ### EU::Installed can die =/
- my @files;
- eval { @files = $inst->$method( $self->module, $type ) };
-
- if( $@ ) {
- chomp $@;
- error( loc("Could not get '%1' for '%2': %3",
- $method, $self->module, $@ ) );
- return;
- }
-
- return wantarray ? @files : \@files;
- }
-}
-
-=head2 $bool = $self->add_to_includepath;
-
-Adds the current modules path to C<@INC> and C<$PERL5LIB>. This allows
-you to add the module from its build dir to your path.
-
-It also adds the current modules C<bin> and/or C<script> paths to
-the PATH.
-
-You can reset C<$PATH>, C<@INC> and C<$PERL5LIB> to their original state when you
-started the program, by calling:
-
- $self->parent->flush('lib');
-
-=cut
-
-sub add_to_includepath {
- my $self = shift;
- my $cb = $self->parent;
-
- if( my $dir = $self->status->extract ) {
-
- $cb->_add_to_includepath(
- directories => [
- File::Spec->catdir(BLIB->($dir), LIB),
- File::Spec->catdir(BLIB->($dir), ARCH),
- BLIB->($dir),
- ]
- ) or return;
-
- $cb->_add_to_path(
- directories => [
- File::Spec->catdir(BLIB->($dir), SCRIPT),
- File::Spec->catdir(BLIB->($dir), BIN),
- ]
- ) or return;
-
- } else {
- error(loc( "No extract dir registered for '%1' -- can not add ".
- "add builddir to search path!", $self->module ));
- return;
- }
-
- return 1;
-
-}
-
-=pod
-
-=head2 $path = $self->best_path_to_module_build();
-
-B<OBSOLETE>
-
-If a newer version of Module::Build is found in your path, it will
-return this C<special> path. If the newest version of C<Module::Build>
-is found in your regular C<@INC>, the method will return false. This
-indicates you do not need to add a special directory to your C<@INC>.
-
-Note that this is only relevant if you're building your own
-C<CPANPLUS::Dist::*> plugin -- the built-in dist types already have
-this taken care of.
-
-=cut
-
-### make sure we're always running 'perl Build.PL' and friends
-### against the highest version of module::build available
-sub best_path_to_module_build {
- my $self = shift;
-
- ### Since M::B will actually shell out and run the Build.PL, we must
- ### make sure it refinds the proper version of M::B in the path.
- ### that may be either in our cp::inc or in site_perl, or even a
- ### new M::B being installed.
- ### don't add anything else here, as that might screw up prereq checks
-
- ### XXX this might be needed for Dist::MM too, if a makefile.pl is
- ### masquerading as a Build.PL
-
- ### did we find the most recent module::build in our installer path?
-
- ### XXX can't do changes to @INC, they're being ignored by
- ### new_from_context when writing a Build script. see ticket:
- ### #8826 Module::Build ignores changes to @INC when writing Build
- ### from new_from_context
- ### XXX applied schwern's patches (as seen on CPANPLUS::Devel 10/12/04)
- ### and upped the version to 0.26061 of the bundled version, and things
- ### work again
-
- ### this functionality is now obsolete -- prereqs should be installed
- ### and we no longer use the CPANPLUS::inc magic.. so comment this out.
-# require Module::Build;
-# if( CPANPLUS::inc->path_to('Module::Build') and (
-# CPANPLUS::inc->path_to('Module::Build') eq
-# CPANPLUS::inc->installer_path )
-# ) {
-#
-# ### if the module being installed is *not* Module::Build
-# ### itself -- as that would undoubtedly be newer -- add
-# ### the path to the installers to @INC
-# ### if it IS module::build itself, add 'lib' to its path,
-# ### as the Build.PL would do as well, but the API doesn't.
-# ### this makes self updates possible
-# return $self->module eq 'Module::Build'
-# ? 'lib'
-# : CPANPLUS::inc->installer_path;
-# }
-
- ### otherwise, the path was found through a 'normal' way of
- ### scanning @INC.
- return;
-}
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
-1;
-
-__END__
-
-todo:
-reports();
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
deleted file mode 100644
index c95de4064cb..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
+++ /dev/null
@@ -1,235 +0,0 @@
-package CPANPLUS::Module::Author;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-use Params::Check qw[check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-local $Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Module::Author - CPAN author object for CPANPLUS
-
-=head1 SYNOPSIS
-
- my $author = CPANPLUS::Module::Author->new(
- author => 'Jack Ashton',
- cpanid => 'JACKASH',
- _id => INTERNALS_OBJECT_ID,
- );
-
- $author->cpanid;
- $author->author;
- $author->email;
-
- @dists = $author->distributions;
- @mods = $author->modules;
-
- @accessors = CPANPLUS::Module::Author->accessors;
-
-=head1 DESCRIPTION
-
-C<CPANPLUS::Module::Author> creates objects from the information in the
-source files. These can then be used to query on.
-
-These objects should only be created internally. For C<fake> objects,
-there's the C<CPANPLUS::Module::Author::Fake> class.
-
-=head1 ACCESSORS
-
-An objects of this class has the following accessors:
-
-=over 4
-
-=item author
-
-Name of the author.
-
-=item cpanid
-
-The CPAN id of the author.
-
-=item email
-
-The email address of the author, which defaults to '' if not provided.
-
-=item parent
-
-The C<CPANPLUS::Internals::Object> that spawned this module object.
-
-=back
-
-=cut
-
-my $tmpl = {
- author => { required => 1 }, # full name of the author
- cpanid => { required => 1 }, # cpan id
- email => { default => '' }, # email address of the author
- _id => { required => 1 }, # id of the Internals object that spawned us
-};
-
-### autogenerate accessors ###
-for my $key ( keys %$tmpl ) {
- no strict 'refs';
- *{__PACKAGE__."::$key"} = sub {
- my $self = shift;
- $self->{$key} = $_[0] if @_;
- return $self->{$key};
- }
-}
-
-sub parent {
- my $self = shift;
- my $obj = CPANPLUS::Internals->_retrieve_id( $self->_id );
-
- return $obj;
-}
-
-=pod
-
-=head1 METHODS
-
-=head2 $auth = CPANPLUS::Module::Author->new( author => AUTHOR_NAME, cpanid => CPAN_ID, _id => INTERNALS_ID [, email => AUTHOR_EMAIL] )
-
-This method returns a C<CPANPLUS::Module::Author> object, based on the given
-parameters.
-
-Returns false on failure.
-
-=cut
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- ### don't check the template for sanity
- ### -- we know it's good and saves a lot of performance
- local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
-
- my $object = check( $tmpl, \%hash ) or return;
-
- return bless $object, $class;
-}
-
-=pod
-
-=head2 @mod_objs = $auth->modules()
-
-Return a list of module objects this author has released.
-
-=cut
-
-sub modules {
- my $self = shift;
- my $cb = $self->parent;
-
- my $aref = $cb->_search_module_tree(
- type => 'author',
- ### XXX, depending on backend, this is either an object
- ### or the cpanid string. Don't know an elegant way to
- ### solve this right now, so passing both
- allow => [$self, $self->cpanid],
- );
- return @$aref if $aref;
- return;
-}
-
-=pod
-
-=head2 @dists = $auth->distributions()
-
-Returns a list of module objects representing all the distributions
-this author has released.
-
-=cut
-
-sub distributions {
- my $self = shift;
- my %hash = @_;
-
- local $Params::Check::ALLOW_UNKNOWN = 1;
- local $Params::Check::NO_DUPLICATES = 1;
-
- my $mod;
- my $tmpl = {
- module => { default => '', store => \$mod },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- ### if we didn't get a module object passed, we'll find one ourselves ###
- unless( $mod ) {
- my @list = $self->modules;
- if( @list ) {
- $mod = $list[0];
- } else {
- error( loc( "This author has released no modules" ) );
- return;
- }
- }
-
- my $file = $mod->checksums( %hash );
- my $href = $mod->_parse_checksums_file( file => $file ) or return;
-
- my @rv;
- for my $name ( keys %$href ) {
-
- ### shortcut asap, so we avoid extra ops. On big checksums files
- ### the call to clone() takes up a lot of time.
- ### .meta files are now also in the checksums file,
- ### which means we have to filter out things that dont
- ### match our regex
- next if $mod->package_extension( $name ) eq META_EXT;
-
- ### used to do this wiht ->clone. However, that calls ->dslip,
- ### (which is wrong anyway, as we're doing a different module),
- ### which in turn calls ->contains, which scans the entire
- ### module tree using _search_module_tree, which uses P::C
- ### and is therefor VERY VERY slow.
- ### so let's do this the direct way for speed ups.
- my $dist = CPANPLUS::Module::Fake->new(
- module => do { my $m = $mod->package_name( $name );
- $m =~ s/-/::/g; $m;
- },
- version => $mod->package_version( $name ),
- package => $name,
- path => $mod->path, # same author after all
- author => $mod->author, # same author after all
- mtime => $href->{$name}->{'mtime'}, # release date
- );
-
- push @rv, $dist;
- }
-
- return @rv;
-}
-
-
-=pod
-
-=head1 CLASS METHODS
-
-=head2 accessors ()
-
-Returns a list of all accessor methods to the object
-
-=cut
-
-sub accessors { return keys %$tmpl };
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm
deleted file mode 100644
index 15de66b0dc5..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm
+++ /dev/null
@@ -1,83 +0,0 @@
-package CPANPLUS::Module::Author::Fake;
-use deprecate;
-
-
-use CPANPLUS::Module::Author;
-use CPANPLUS::Internals;
-use CPANPLUS::Error;
-
-use strict;
-use vars qw[@ISA $VERSION];
-use Params::Check qw[check];
-
-$VERSION = "0.9135";
-
-@ISA = qw[CPANPLUS::Module::Author];
-
-$Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Module::Author::Fake - dummy author object for CPANPLUS
-
-=head1 SYNOPSIS
-
- my $auth = CPANPLUS::Module::Author::Fake->new(
- author => 'Foo Bar',
- email => 'luser@foo.com',
- cpanid => 'FOO',
- _id => $cpan->id,
- );
-
-=head1 DESCRIPTION
-
-A class for creating fake author objects, for shortcut use internally
-by CPANPLUS.
-
-Inherits from C<CPANPLUS::Module::Author>.
-
-=head1 METHODS
-
-=head2 new( _id => DIGIT )
-
-Creates a dummy author object. It can take the same options as
-C<< CPANPLUS::Module::Author->new >>, but will fill in default ones
-if none are provided. Only the _id key is required.
-
-=cut
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- author => { default => 'CPANPLUS Internals' },
- email => { default => 'cpanplus-info@lists.sf.net' },
- cpanid => { default => 'CPANPLUS' },
- _id => { default => CPANPLUS::Internals->_last_id },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $obj = CPANPLUS::Module::Author->new( %$args ) or return;
-
- unless( $obj->_id ) {
- error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
- return;
- }
-
- ### rebless object ###
- return bless $obj, $class;
-}
-
-1;
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
deleted file mode 100644
index 51263b4d252..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
+++ /dev/null
@@ -1,260 +0,0 @@
-package CPANPLUS::Module::Checksums;
-use deprecate;
-
-use strict;
-use vars qw[@ISA $VERSION];
-
-use CPANPLUS::Error;
-use CPANPLUS::Internals::Constants;
-
-use FileHandle;
-
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-
-$Params::Check::VERBOSE = 1;
-
-@ISA = qw[ CPANPLUS::Module::Signature ];
-$VERSION = "0.9135";
-
-=head1 NAME
-
-CPANPLUS::Module::Checksums - checking the checksum of a distribution
-
-=head1 SYNOPSIS
-
- $file = $modobj->checksums;
- $bool = $mobobj->_validate_checksum;
-
-=head1 DESCRIPTION
-
-This is a class that provides functions for checking the checksum
-of a distribution. Should not be loaded directly, but used via the
-interface provided via C<CPANPLUS::Module>.
-
-=head1 METHODS
-
-=head2 $mod->checksums
-
-Fetches the checksums file for this module object.
-For the options it can take, see C<CPANPLUS::Module::fetch()>.
-
-Returns the location of the checksums file on success and false
-on error.
-
-The location of the checksums file is also stored as
-
- $mod->status->checksums
-
-=cut
-
-sub checksums {
- my $mod = shift or return;
-
- my $file = $mod->_get_checksums_file( @_ );
-
- return $mod->status->checksums( $file ) if $file;
-
- return;
-}
-
-### checks if the package checksum matches the one
-### from the checksums file
-sub _validate_checksum {
- my $self = shift; #must be isa CPANPLUS::Module
- my $conf = $self->parent->configure_object;
- my %hash = @_;
-
- my $verbose;
- my $tmpl = {
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### if we can't check it, we must assume it's ok ###
- return $self->status->checksum_ok(1)
- unless can_load( modules => { 'Digest::SHA' => '0.0' } );
- #class CPANPLUS::Module::Status is runtime-generated
-
- my $file = $self->_get_checksums_file( verbose => $verbose ) or (
- error(loc(q[Could not fetch '%1' file], CHECKSUMS)), return );
-
- $self->_check_signature_for_checksum_file( file => $file ) or (
- error(loc(q[Could not verify '%1' file], CHECKSUMS)), return );
- #for whole CHECKSUMS file
-
- my $href = $self->_parse_checksums_file( file => $file ) or (
- error(loc(q[Could not parse '%1' file], CHECKSUMS)), return );
-
- my $size = $href->{ $self->package }->{'size'};
-
- ### the checksums file tells us the size of the archive
- ### but the downloaded file is of different size
- if( defined $size ) {
- if( not (-s $self->status->fetch == $size) ) {
- error(loc( "Archive size does not match for '%1': " .
- "size is '%2' but should be '%3'",
- $self->package, -s $self->status->fetch, $size));
- return $self->status->checksum_ok(0);
- }
- } else {
- msg(loc("Archive size is not known for '%1'",$self->package),$verbose);
- }
-
- my $sha = $href->{ $self->package }->{'sha256'};
-
- unless( defined $sha ) {
- msg(loc("No 'sha256' checksum known for '%1'",$self->package),$verbose);
-
- return $self->status->checksum_ok(1);
- }
-
- $self->status->checksum_value($sha);
-
-
- my $fh = FileHandle->new( $self->status->fetch ) or return;
- binmode $fh;
-
- my $ctx = Digest::SHA->new(256);
- $ctx->addfile( $fh );
-
- 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': " .
- "SHA256 is '%2' but should be '%3'",
- $self->package, $hexdigest, $sha),$verbose);
-
-
- return $self->status->checksum_ok(1) if $flag;
- return $self->status->checksum_ok(0);
-}
-
-
-### fetches the module objects checksum file ###
-sub _get_checksums_file {
- my $self = shift;
- my %hash = @_;
-
- my $clone = $self->clone;
- $clone->package( CHECKSUMS );
-
- # If the user specified a fetchdir, then every CHECKSUMS file will always
- # be stored there, not in an author-specific subdir. Thus, in this case,
- # we need to always re-fetch the CHECKSUMS file and hence need to set the
- # TTL to something small.
- my $have_fetchdir =
- $self->parent->configure_object->get_conf('fetchdir') ne '';
- my $ttl = $have_fetchdir ? 0.001 : 3600;
- my $file = $clone->fetch( ttl => $ttl, %hash ) or return;
-
- return $file;
-}
-
-sub _parse_checksums_file {
- my $self = shift;
- my %hash = @_;
-
- my $file;
- my $tmpl = {
- file => { required => 1, allow => FILE_READABLE, store => \$file },
- };
- my $args = check( $tmpl, \%hash );
-
- my $fh = OPEN_FILE->( $file ) or return;
-
- ### loop over the header, there might be a pgp signature ###
- my $signed;
- while (local $_ = <$fh>) {
- last if /^\$cksum = \{\s*$/; # skip till this line
- my $header = PGP_HEADER; # but be tolerant of whitespace
- $signed = 1 if /^${header}\s*$/;# due to crossplatform linebreaks
- }
-
- ### read the filehandle, parse it rather than eval it, even though it
- ### *should* be valid perl code
- my $dist;
- my $cksum = {};
- while (local $_ = <$fh>) {
-
- if (/^\s*'([^']+)' => \{\s*$/) {
- $dist = $1;
-
- } elsif (/^\s*'([^']+)' => '?([^'\n]+)'?,?\s*$/ and defined $dist) {
- $cksum->{$dist}{$1} = $2;
-
- } elsif (/^\s*}[,;]?\s*$/) {
- undef $dist;
-
- } elsif (/^__END__\s*$/) {
- last;
-
- } else {
- error( loc("Malformed %1 line: %2", CHECKSUMS, $_) );
- }
- }
-
- return $cksum;
-}
-
-sub _check_signature_for_checksum_file {
- my $self = shift;
-
- my $conf = $self->parent->configure_object;
- my %hash = @_;
-
- ### you don't want to check signatures,
- ### so let's just return true;
- return 1 unless $conf->get_conf('signature');
-
- my($force,$file,$verbose);
- my $tmpl = {
- file => { required => 1, allow => FILE_READABLE, store => \$file },
- force => { default => $conf->get_conf('force'), store => \$force },
- verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- my $fh = OPEN_FILE->($file) or return;
-
- my $signed;
- while (local $_ = <$fh>) {
- my $header = PGP_HEADER;
- $signed = 1 if /^$header$/;
- }
-
- if ( !$signed ) {
- msg(loc("No signature found in %1 file '%2'",
- CHECKSUMS, $file), $verbose);
-
- return 1 unless $force;
-
- error( loc( "%1 file '%2' is not signed -- aborting",
- CHECKSUMS, $file ) );
- return;
-
- }
-
- if( can_load( modules => { 'Module::Signature' => '0.06' } ) ) {
- # local $Module::Signature::SIGNATURE = $file;
- # ... check signatures ...
- }
-
- return 1;
-}
-
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm
deleted file mode 100644
index d6c94a50e01..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm
+++ /dev/null
@@ -1,88 +0,0 @@
-package CPANPLUS::Module::Fake;
-use deprecate;
-
-
-use CPANPLUS::Error;
-use CPANPLUS::Module;
-use CPANPLUS::Module::Author::Fake;
-use CPANPLUS::Internals;
-
-use strict;
-use vars qw[@ISA $VERSION];
-use Params::Check qw[check];
-
-$VERSION = "0.9135";
-@ISA = qw[CPANPLUS::Module];
-$Params::Check::VERBOSE = 1;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Module::Fake - fake module object for internal use
-
-=head1 SYNOPSIS
-
- my $obj = CPANPLUS::Module::Fake->new(
- module => 'Foo',
- path => 'ftp/path/to/foo',
- author => CPANPLUS::Module::Author::Fake->new,
- package => 'fake-1.1.tgz',
- _id => $cpan->_id,
- );
-
-=head1 DESCRIPTION
-
-A class for creating fake module objects, for shortcut use internally
-by CPANPLUS.
-
-Inherits from C<CPANPLUS::Module>.
-
-=head1 METHODS
-
-=head2 new( module => $mod, path => $path, package => $pkg, [_id => DIGIT] )
-
-Creates a dummy module object from the above parameters. It can
-take more options (same as C<< CPANPLUS::Module->new >> but the above
-are required.
-
-=cut
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- module => { required => 1 },
- path => { required => 1 },
- package => { required => 1 },
- _id => { default => CPANPLUS::Internals->_last_id },
- author => { default => '' },
- };
-
- my $args = check( $tmpl, \%hash ) or return;
-
- $args->{author} ||= CPANPLUS::Module::Author::Fake->new(
- _id => $args->{_id} );
-
- my $obj = CPANPLUS::Module->new( %$args ) or return;
-
- unless( $obj->_id ) {
- error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
- return;
- }
-
- ### rebless object ###
- return bless $obj, $class;
-}
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Signature.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Signature.pm
deleted file mode 100644
index 802d8cc2a60..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Signature.pm
+++ /dev/null
@@ -1,66 +0,0 @@
-package CPANPLUS::Module::Signature;
-use deprecate;
-
-use strict;
-
-use Cwd;
-use CPANPLUS::Error;
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-### detached sig, not actually used afaik --kane ###
-#sub get_signature {
-# my $self = shift;
-#
-# my $clone = $self->clone;
-# $clone->package( $self->package . '.sig' );
-#
-# return $clone->fetch;
-#}
-
-sub check_signature {
- my $self = shift;
- my $cb = $self->parent;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $verbose;
- my $tmpl = {
- verbose => {default => $conf->get_conf('verbose'), store => \$verbose},
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $dir = $self->status->extract or (
- error( loc( "Do not know what dir '%1' was extracted to; ".
- "Cannot check signature", $self->module ) ),
- return );
-
- my $cwd = cwd();
- unless( $cb->_chdir( dir => $dir ) ) {
- error(loc( "Could not chdir to '%1', cannot verify distribution '%2'",
- $dir, $self->module ));
- return;
- }
-
-
- ### check prerequisites
- my $flag;
- my $use_list = { 'Module::Signature' => '0.06' };
- if( can_load( modules => $use_list, verbose => 1 ) ) {
- my $rv = Module::Signature::verify();
-
- unless ($rv eq Module::Signature::SIGNATURE_OK() or
- $rv eq Module::Signature::SIGNATURE_MISSING()
- ) {
- $flag++; # whoops, bad sig
- }
- }
-
- $cb->_chdir( dir => $cwd );
- return $flag ? 0 : 1;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
deleted file mode 100644
index 89157121792..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
+++ /dev/null
@@ -1,554 +0,0 @@
-package CPANPLUS::Selfupdate;
-use deprecate;
-
-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;
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-$Params::Check::VERBOSE = 1;
-
-=head1 NAME
-
-CPANPLUS::Selfupdate - self-updating for CPANPLUS
-
-=head1 SYNOPSIS
-
- $su = $cb->selfupdate_object;
-
- @feats = $su->list_features;
- @feats = $su->list_enabled_features;
-
- @mods = map { $su->modules_for_feature( $_ ) } @feats;
- @mods = $su->list_core_dependencies;
- @mods = $su->list_core_modules;
-
- for ( @mods ) {
- print $_->name " should be version " . $_->version_required;
- print "Installed version is not uptodate!"
- unless $_->is_installed_version_sufficient;
- }
-
- $ok = $su->selfupdate( update => 'all', latest => 0 );
-
-=cut
-
-### a config has describing our deps etc
-{
-
- my $Modules = {
- dependencies => {
- 'File::Fetch' => '0.15_02', # lynx & 404 handling
- 'File::Spec' => '0.82',
- 'IPC::Cmd' => '0.36', # 5.6.2 compat: 2-arg open
- 'Locale::Maketext::Simple' => '0.01',
- 'Log::Message' => '0.01',
- 'Module::Load' => '0.10',
- 'Module::Load::Conditional' => '0.50', # returns dir for loaded
- # modules
- 'version' => '0.77', # needed for M::L::C
- # addresses #24630 and
- # #24675
- # Address ~0 overflow issue
- 'Params::Check' => '0.36',
- 'Package::Constants' => '0.01',
- 'Term::UI' => '0.18', # option parsing
- 'Test::Harness' => '2.62', # due to bug #19505
- # only 2.58 and 2.60 are bad
- 'Test::More' => '0.47', # to run our tests
- 'Archive::Extract' => '0.16', # ./Dir bug fix
- 'Archive::Tar' => '1.23',
- 'IO::Zlib' => '1.04', # needed for Archive::Tar
- 'Object::Accessor' => '0.44', # mk_aliases support
- 'Module::CoreList' => '2.22', # deprecated core modules
- 'Module::Pluggable' => '2.4',
- 'Module::Loaded' => '0.01',
- '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.60' ) : () ),
- },
-
- features => {
- # config_key_name => [
- # sub { } to list module key/value pairs
- # sub { } to check if feature is enabled
- # ]
- prefer_makefile => [
- sub {
- my $cb = shift;
- $cb->configure_object->get_conf('prefer_makefile')
- ? { }
- : { 'CPANPLUS::Dist::Build' => '0.60' };
- },
- sub { return 1 }, # always enabled
- ],
- cpantest => [
- { 'Test::Reporter' => '1.34',
- 'Parse::CPAN::Meta' => '1.4200'
- },
- sub {
- my $cb = shift;
- return $cb->configure_object->get_conf('cpantest');
- },
- ],
- dist_type => [
- sub {
- my $cb = shift;
- my $dist = $cb->configure_object->get_conf('dist_type');
- return { $dist => '0.0' } if $dist;
- return;
- },
- sub {
- my $cb = shift;
- return $cb->configure_object->get_conf('dist_type');
- },
- ],
-
- md5 => [
- {
- 'Digest::SHA' => '0.0',
- },
- sub {
- my $cb = shift;
- return $cb->configure_object->get_conf('md5');
- },
- ],
- shell => [
- sub {
- my $cb = shift;
- my $dist = $cb->configure_object->get_conf('shell');
-
- ### we bundle these shells, so don't bother having a dep
- ### on them... If we don't do this, CPAN.pm actually detects
- ### a recursive dependency and breaks (see #26077).
- ### This is not an issue for CPANPLUS itself, it handles
- ### it smartly.
- return if $dist eq SHELL_DEFAULT or $dist eq SHELL_CLASSIC;
- return { $dist => '0.0' } if $dist;
- return;
- },
- sub { return 1 },
- ],
- signature => [
- sub {
- my $cb = shift;
- return {
- 'Module::Signature' => '0.06',
- } if can_run('gpg');
- ### leave this out -- Crypt::OpenPGP is fairly
- ### painful to install, and broken on some platforms
- ### so we'll just always fall back to gpg. It may
- ### issue a warning or 2, but that's about it.
- ### this change due to this ticket: #26914
- # and $cb->configure_object->get_conf('prefer_bin');
-
- return {
- 'Crypt::OpenPGP' => '0.0',
- 'Module::Signature' => '0.06',
- };
- },
- sub {
- my $cb = shift;
- return $cb->configure_object->get_conf('signature');
- },
- ],
- storable => [
- { 'Storable' => '0.0' },
- sub {
- my $cb = shift;
- return $cb->configure_object->get_conf('storable');
- },
- ],
- sqlite_backend => [
- { 'DBIx::Simple' => '0.0',
- 'DBD::SQLite' => '0.0',
- },
- sub {
- my $cb = shift;
- my $conf = $cb->configure_object;
- return $conf->get_conf('source_engine')
- eq 'CPANPLUS::Internals::Source::SQLite'
- },
- ],
- },
- core => {
- 'CPANPLUS' => '0.0',
- },
- };
-
- sub _get_config { return $Modules }
-}
-
-=head1 METHODS
-
-=head2 $self = CPANPLUS::Selfupdate->new( $backend_object );
-
-Sets up a new selfupdate object. Called automatically when
-a new backend object is created.
-
-=cut
-
-sub new {
- my $class = shift;
- my $cb = shift or return;
- return bless sub { $cb }, $class;
-}
-
-
-{ ### cache to find the relevant modules
- my $cache = {
- core
- => sub { my $self = shift;
- core => [ $self->list_core_modules ] },
-
- dependencies
- => sub { my $self = shift;
- dependencies => [ $self->list_core_dependencies ] },
-
- enabled_features
- => sub { my $self = shift;
- map { $_ => [ $self->modules_for_feature( $_ ) ] }
- $self->list_enabled_features
- },
- features
- => sub { my $self = shift;
- map { $_ => [ $self->modules_for_feature( $_ ) ] }
- $self->list_features
- },
- ### make sure to do 'core' first, in case
- ### we are out of date ourselves
- all => [ qw|core dependencies enabled_features| ],
- };
-
-
-=head2 @cat = $self->list_categories
-
-Returns a list of categories that the C<selfupdate> method accepts.
-
-See C<selfupdate> for details.
-
-=cut
-
- 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.
-
-The C<latest> option determines whether it should update to the latest
-version on CPAN, or if the minimal required version for CPANPLUS is
-good enough.
-
-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 {
- my $self = shift;
- my $cb = $self->();
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my($type, $latest);
- my $tmpl = {
- update => { required => 1, store => \$type,
- allow => [ keys %$cache ], },
- latest => { default => 0, store => \$latest, allow => BOOLEANS },
- };
-
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- check( $tmpl, \%hash ) or return;
- }
-
- my $ref = $cache->{$type};
-
- ### a list of ( feature1 => \@mods, feature2 => \@mods, etc )
- my %list = UNIVERSAL::isa( $ref, 'ARRAY' )
- ? map { $cache->{$_}->( $self ) } @$ref
- : $ref->( $self );
-
- ### filter based on whether we need the latest ones or not
- for my $aref ( values %list ) {
- $aref = [ $latest
- ? grep { !$_->is_uptodate } @$aref
- : grep { !$_->is_installed_version_sufficient } @$aref
- ];
- }
-
- 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),
-the core dependencies, all features you have currently turned on, or
-all features available, or everything.
-
-The C<latest> option determines whether it should update to the latest
-version on CPAN, or if the minimal required version for CPANPLUS is
-good enough.
-
-Returns true on success, false on error.
-
-=cut
-
- sub selfupdate {
- my $self = shift;
- my $cb = $self->();
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $force;
- my $tmpl = {
- force => { default => $conf->get_conf('force'), store => \$force },
- };
-
- { local $Params::Check::ALLOW_UNKNOWN = 1;
- check( $tmpl, \%hash ) or return;
- }
-
- my %list = $self->list_modules_to_update( %hash ) or return;
-
- ### just the modules please
- my @mods = map { @$_ } values %list;
-
- my $flag;
- for my $mod ( @mods ) {
- unless( $mod->install( force => $force ) ) {
- $flag++;
- error(loc("Failed to update module '%1'", $mod->name));
- }
- }
-
- return if $flag;
- return 1;
- }
-
-}
-
-=head2 @features = $self->list_features
-
-Returns a list of features that are supported by CPANPLUS.
-
-=cut
-
-sub list_features {
- my $self = shift;
- return keys %{ $self->_get_config->{'features'} };
-}
-
-=head2 @features = $self->list_enabled_features
-
-Returns a list of features that are enabled in your current
-CPANPLUS installation.
-
-=cut
-
-sub list_enabled_features {
- my $self = shift;
- my $cb = $self->();
-
- my @enabled;
- for my $feat ( $self->list_features ) {
- my $ref = $self->_get_config->{'features'}->{$feat}->[1];
- push @enabled, $feat if $ref->($cb);
- }
-
- return @enabled;
-}
-
-=head2 @mods = $self->modules_for_feature( FEATURE [,AS_HASH] )
-
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
-represent the modules required to support this feature.
-
-For a list of features, call the C<list_features> method.
-
-If the C<AS_HASH> argument is provided, no module objects are
-returned, but a hashref where the keys are names of the modules,
-and values are their minimum versions.
-
-=cut
-
-sub modules_for_feature {
- my $self = shift;
- my $feature = shift or return;
- my $as_hash = shift || 0;
- my $cb = $self->();
-
- unless( exists $self->_get_config->{'features'}->{$feature} ) {
- error(loc("Unknown feature '%1'", $feature));
- return;
- }
-
- my $ref = $self->_get_config->{'features'}->{$feature}->[0];
-
- ### it's either a list of modules/versions or a subroutine that
- ### returns a list of modules/versions
- my $href = UNIVERSAL::isa( $ref, 'HASH' ) ? $ref : $ref->( $cb );
-
- return unless $href; # nothing needed for the feature?
-
- return $href if $as_hash;
- return $self->_hashref_to_module( $href );
-}
-
-
-=head2 @mods = $self->list_core_dependencies( [AS_HASH] )
-
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
-represent the modules that comprise the core dependencies of CPANPLUS.
-
-If the C<AS_HASH> argument is provided, no module objects are
-returned, but a hashref where the keys are names of the modules,
-and values are their minimum versions.
-
-=cut
-
-sub list_core_dependencies {
- my $self = shift;
- my $as_hash = shift || 0;
- my $cb = $self->();
- my $href = $self->_get_config->{'dependencies'};
-
- return $href if $as_hash;
- return $self->_hashref_to_module( $href );
-}
-
-=head2 @mods = $self->list_core_modules( [AS_HASH] )
-
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
-represent the modules that comprise the core of CPANPLUS.
-
-If the C<AS_HASH> argument is provided, no module objects are
-returned, but a hashref where the keys are names of the modules,
-and values are their minimum versions.
-
-=cut
-
-sub list_core_modules {
- my $self = shift;
- my $as_hash = shift || 0;
- my $cb = $self->();
- my $href = $self->_get_config->{'core'};
-
- return $href if $as_hash;
- return $self->_hashref_to_module( $href );
-}
-
-sub _hashref_to_module {
- my $self = shift;
- my $cb = $self->();
- my $href = shift or return;
-
- return map {
- CPANPLUS::Selfupdate::Module->new(
- $cb->module_tree($_) => $href->{$_}
- )
- } keys %$href;
-}
-
-
-=head1 CPANPLUS::Selfupdate::Module
-
-C<CPANPLUS::Selfupdate::Module> extends C<CPANPLUS::Module> objects
-by providing accessors to aid in selfupdating CPANPLUS.
-
-These objects are returned by all methods of C<CPANPLUS::Selfupdate>
-that return module objects.
-
-=cut
-
-{ package CPANPLUS::Selfupdate::Module;
- use base 'CPANPLUS::Module';
-
- ### stores module name -> cpanplus required version
- ### XXX only can deal with 1 pair!
- my %Cache = ();
- my $Acc = 'version_required';
-
- sub new {
- my $class = shift;
- my $mod = shift or return;
- my $ver = shift; return unless defined $ver;
-
- my $obj = $mod->clone; # clone the module object
- bless $obj, $class; # rebless it to our class
-
- $obj->$Acc( $ver );
-
- return $obj;
- }
-
-=head2 $version = $mod->version_required
-
-Returns the version of this module required for CPANPLUS.
-
-=cut
-
- sub version_required {
- my $self = shift;
- $Cache{ $self->name } = shift() if @_;
- return $Cache{ $self->name };
- }
-
-=head2 $bool = $mod->is_installed_version_sufficient
-
-Returns true if the installed version of this module is sufficient
-for CPANPLUS, or false if it is not.
-
-=cut
-
-
- sub is_installed_version_sufficient {
- my $self = shift;
- return $self->is_uptodate( version => $self->$Acc );
- }
-
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
deleted file mode 100644
index bf7482d3da1..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
+++ /dev/null
@@ -1,343 +0,0 @@
-package CPANPLUS::Shell;
-use deprecate;
-
-use strict;
-
-use CPANPLUS::Error;
-use CPANPLUS::Configure;
-use CPANPLUS::Internals::Constants;
-
-use Module::Load qw[load];
-use Params::Check qw[check];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-$Params::Check::VERBOSE = 1;
-
-use vars qw[@ISA $SHELL $DEFAULT $VERSION];
-
-$VERSION = "0.9135";
-$DEFAULT = SHELL_DEFAULT;
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Shell - base class for CPANPLUS shells
-
-=head1 SYNOPSIS
-
- use CPANPLUS::Shell; # load the shell indicated by your
- # config -- defaults to
- # CPANPLUS::Shell::Default
-
- use CPANPLUS::Shell qw[Classic] # load CPANPLUS::Shell::Classic;
-
- my $ui = CPANPLUS::Shell->new();
- my $name = $ui->which; # Find out what shell you loaded
-
- $ui->shell; # run the ui shell
-
-
-=head1 DESCRIPTION
-
-This module is the generic loading (and base class) for all C<CPANPLUS>
-shells. Through this module you can load any installed C<CPANPLUS>
-shell.
-
-Just about all the functionality is provided by the shell that you have
-loaded, and not by this class (which merely functions as a generic
-loading class), so please consult the documentation of your shell of
-choice.
-
-=cut
-
-sub import {
- my $class = shift;
- my $option = shift;
-
- ### find out what shell we're supposed to load ###
- $SHELL = $option
- ? $class . '::' . $option
- : do { ### XXX this should offer to reconfigure
- ### CPANPLUS, somehow. --rs
- ### XXX load Configure only if we really have to
- ### as that means any $Conf passed later on will
- ### be ignored in favour of the one that was
- ### retrieved via ->new --kane
- my $conf = CPANPLUS::Configure->new() or
- die loc("No configuration available -- aborting") . $/;
- $conf->get_conf('shell') || $DEFAULT;
- };
-
- ### load the shell, fall back to the default if required
- ### and die if even that doesn't work
- EVAL: {
- eval { load $SHELL };
-
- if( $@ ) {
- my $err = $@;
-
- die loc("Your default shell '%1' is not available: %2",
- $DEFAULT, $err) .
- loc("Check your installation!") . "\n"
- if $SHELL eq $DEFAULT;
-
- warn loc("Failed to use '%1': %2", $SHELL, $err),
- loc("Switching back to the default shell '%1'", $DEFAULT),
- "\n";
-
- $SHELL = $DEFAULT;
- redo EVAL;
- }
- }
- @ISA = ($SHELL);
-}
-
-sub which { return $SHELL }
-
-1;
-
-###########################################################################
-### abstracted out subroutines available to programmers of other shells ###
-###########################################################################
-
-package CPANPLUS::Shell::_Base::ReadLine;
-
-use strict;
-use vars qw($AUTOLOAD $TMPL);
-
-use FileHandle;
-use CPANPLUS::Error;
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-$Params::Check::VERBOSE = 1;
-
-
-$TMPL = {
- brand => { default => '', strict_type => 1 },
- prompt => { default => '> ', strict_type => 1 },
- pager => { default => '' },
- backend => { default => '' },
- term => { default => '' },
- format => { default => '' },
- dist_format => { default => '' },
- remote => { default => undef },
- noninteractive => { default => '' },
- cache => { default => [ ] },
- settings => { default => { install_all_prereqs => undef },
- no_override => 1 },
- _old_sigpipe => { default => '', no_override => 1 },
- _old_outfh => { default => '', no_override => 1 },
- _signals => { default => { INT => { } }, no_override => 1 },
-};
-
-### autogenerate accessors ###
-for my $key ( keys %$TMPL ) {
- no strict 'refs';
- *{__PACKAGE__."::$key"} = sub {
- my $self = shift;
- $self->{$key} = $_[0] if @_;
- return $self->{$key};
- }
-}
-
-sub _init {
- my $class = shift;
- my %hash = @_;
-
- my $self = check( $TMPL, \%hash ) or return;
-
- bless $self, $class;
-
- ### signal handler ###
- $SIG{INT} = $self->_signals->{INT}->{handler} =
- sub {
- unless ( $self->_signals->{INT}->{count}++ ) {
- warn loc("Caught SIGINT"), "\n";
- } else {
- warn loc("Got another SIGINT"), "\n"; die;
- }
- };
- ### end sig handler ###
-
- return $self;
-}
-
-### display shell's banner, takes the Backend object as argument
-sub _show_banner {
- my $self = shift;
- my $cpan = $self->backend;
- my $term = $self->term;
-
- ### Tries to probe for our ReadLine support status
- # a) under an interactive shell?
- my $rl_avail = (!$term->isa('CPANPLUS::Shell::_Faked'))
- # b) do we have a tty terminal?
- ? (-t STDIN)
- # c) should we enable the term?
- ? (!$self->__is_bad_terminal($term))
- # d) external modules available?
- ? ($term->ReadLine ne "Term::ReadLine::Stub")
- # a+b+c+d => "Smart" terminal
- ? loc("enabled")
- # a+b+c => "Stub" terminal
- : loc("available (try 'i Term::ReadLine::Perl')")
- # a+b => "Bad" terminal
- : loc("disabled")
- # a => "Dumb" terminal
- : loc("suppressed")
- # none => "Faked" terminal
- : loc("suppressed in batch mode");
-
- $rl_avail = loc("ReadLine support %1.", $rl_avail);
- $rl_avail = "\n*** $rl_avail" if (length($rl_avail) > 45);
-
- $self->__print(
- loc("%1 -- CPAN exploration and module installation (v%2)",
- $self->which, $self->which->VERSION()), "\n",
- loc("*** Please report bugs to <bug-cpanplus\@rt.cpan.org>."), "\n",
- loc("*** Using CPANPLUS::Backend v%1. %2",
- $cpan->VERSION, $rl_avail), "\n\n"
- );
-}
-
-### checks whether the Term::ReadLine is broken and needs to fallback to Stub
-sub __is_bad_terminal {
- my $self = shift;
- my $term = $self->term;
-
- return unless $^O eq 'MSWin32';
-
- ### replace the term with the default (stub) one
- return $self->term(Term::ReadLine::Stub->new( $self->brand ) );
-}
-
-### open a pager handle
-sub _pager_open {
- my $self = shift;
- my $cpan = $self->backend;
- my $cmd = $cpan->configure_object->get_program('pager') or return;
-
- $self->_old_sigpipe( $SIG{PIPE} );
- $SIG{PIPE} = 'IGNORE';
-
- my $fh = new FileHandle;
- unless ( $fh->open("| $cmd") ) {
- error(loc("could not pipe to %1: %2\n", $cmd, $!) );
- return;
- }
-
- $fh->autoflush(1);
-
- $self->pager( $fh );
- $self->_old_outfh( select $fh );
-
- return $fh;
-}
-
-### print to the current pager handle, or STDOUT if it's not opened
-sub _pager_close {
- my $self = shift;
- my $pager = $self->pager or return;
-
- $pager->close if (ref($pager) and $pager->can('close'));
-
- $self->pager( undef );
-
- select $self->_old_outfh;
- $SIG{PIPE} = $self->_old_sigpipe;
-
- return 1;
-}
-
-
-
-{
- my $win32_console;
-
- ### determines row count of current terminal; defaults to 25.
- ### used by the pager functions
- sub _term_rowcount {
- my $self = shift;
- my $cpan = $self->backend;
- my %hash = @_;
-
- my $default;
- my $tmpl = {
- default => { default => 25, allow => qr/^\d$/,
- store => \$default }
- };
-
- check( $tmpl, \%hash ) or return;
-
- if ( $^O eq 'MSWin32' ) {
- if ( can_load( modules => { 'Win32::Console' => '0.0' } ) ) {
- $win32_console ||= Win32::Console->new();
- my $rows = ($win32_console->Info)[-1];
- return $rows;
- }
-
- } else {
- local $Module::Load::Conditional::VERBOSE = 0;
- if ( can_load(modules => {'Term::Size' => '0.0'}) ) {
- my ($cols, $rows) = Term::Size::chars();
- return $rows;
- }
- }
- return $default;
- }
-}
-
-### Custom print routines, mainly to be able to catch output
-### in test cases, or redirect it if need be
-{ sub __print {
- my $self = shift;
- print @_;
- }
-
- sub __printf {
- my $self = shift;
- my $fmt = shift;
-
- ### 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, @_ ) );
- }
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Default>, L<CPANPLUS::Shell::Classic>, L<cpanp>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm
deleted file mode 100644
index 6cdc6f69cca..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm
+++ /dev/null
@@ -1,1269 +0,0 @@
-##################################################
-### CPANPLUS/Shell/Classic.pm ###
-### Backwards compatible shell for CPAN++ ###
-### Written 08-04-2002 by Jos Boumans ###
-##################################################
-
-package CPANPLUS::Shell::Classic;
-use deprecate;
-
-use strict;
-
-
-use CPANPLUS::Error;
-use CPANPLUS::Backend;
-use CPANPLUS::Configure::Setup;
-use CPANPLUS::Internals::Constants;
-
-use Cwd;
-use IPC::Cmd;
-use Term::UI;
-use Data::Dumper;
-use Term::ReadLine;
-
-use Module::Load qw[load];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load];
-
-$Params::Check::VERBOSE = 1;
-$Params::Check::ALLOW_UNKNOWN = 1;
-
-BEGIN {
- use vars qw[ $VERSION @ISA ];
- @ISA = qw[ CPANPLUS::Shell::_Base::ReadLine ];
- $VERSION = "0.9135";
-}
-
-load CPANPLUS::Shell;
-
-
-### our command set ###
-my $map = {
- a => '_author',
- b => '_bundle',
- d => '_distribution',
- 'm' => '_module',
- i => '_find_all',
- r => '_uptodate',
- u => '_not_supported',
- ls => '_ls',
- get => '_fetch',
- make => '_install',
- test => '_install',
- install => '_install',
- clean => '_not_supported',
- look => '_shell',
- readme => '_readme',
- h => '_help',
- '?' => '_help',
- o => '_set_conf',
- reload => '_reload',
- autobundle => '_autobundle',
- '!' => '_bang',
- #'q' => '_quit', # done it the loop itself
-};
-
-### the shell object, scoped to the file ###
-my $Shell;
-my $Brand = 'cpan';
-my $Prompt = $Brand . '> ';
-
-sub new {
- my $class = shift;
-
- my $cb = new CPANPLUS::Backend;
- my $self = $class->SUPER::_init(
- brand => $Brand,
- term => Term::ReadLine->new( $Brand ),
- prompt => $Prompt,
- backend => $cb,
- format => "%5s %-50s %8s %-10s\n",
- );
- ### make it available package wide ###
- $Shell = $self;
-
- ### enable verbose, it's the cpan.pm way
- $cb->configure_object->set_conf( verbose => 1 );
-
-
- ### register install callback ###
- $cb->_register_callback(
- name => 'install_prerequisite',
- code => \&__ask_about_install,
- );
-
- ### register test report callback ###
- $cb->_register_callback(
- name => 'edit_test_report',
- code => \&__ask_about_test_report,
- );
-
- if (my $histfile = $self->configure_object->get_conf( 'histfile' )) {
- my $term = $self->term;
- if ($term->can('AddHistory')) {
- if (open my $fh, '<', $histfile) {
- local $/ = "\n";
- while (my $line = <$fh>) {
- chomp($line);
- $term->AddHistory($line);
- }
- close($fh);
- }
- }
- }
-
- return $self;
-}
-
-sub shell {
- my $self = shift;
- my $term = $self->term;
-
- $self->_show_banner;
- $self->_input_loop && print "\n";
- $self->_quit;
-}
-
-sub _input_loop {
- my $self = shift;
- my $term = $self->term;
- my $cb = $self->backend;
-
- my $normal_quit = 0;
- while (
- defined (my $input = eval { $term->readline($self->prompt) } )
- or $self->_signals->{INT}{count} == 1
- ) {
- ### re-initiate all signal handlers
- while (my ($sig, $entry) = each %{$self->_signals} ) {
- $SIG{$sig} = $entry->{handler} if exists($entry->{handler});
- }
-
- last if $self->_dispatch_on_input( input => $input );
-
- ### flush the lib cache ###
- $cb->_flush( list => [qw|lib load|] );
-
- } continue {
- $self->_signals->{INT}{count}--
- if $self->_signals->{INT}{count}; # clear the sigint count
- }
-
- return 1;
-}
-
-sub _dispatch_on_input {
- my $self = shift;
- my $conf = $self->backend->configure_object();
- my $term = $self->term;
- my %hash = @_;
-
- my $string;
- my $tmpl = {
- input => { required => 1, store => \$string }
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### the original force setting;
- my $force_store = $conf->get_conf( 'force' );
-
- ### parse the input: the first part before the space
- ### is the command, followed by arguments.
- ### see the usage below
- my $key;
- PARSE_INPUT: {
- $string =~ s|^\s*([\w\?\!]+)\s*||;
- chomp $string;
- $key = lc($1);
- }
-
- ### you prefixed the input with 'force'
- ### that means we set the force flag, and
- ### reparse the input...
- ### YAY goto block :)
- if( $key eq 'force' ) {
- $conf->set_conf( force => 1 );
- goto PARSE_INPUT;
- }
-
- ### you want to quit
- return 1 if $key =~ /^q/;
-
- my $method = $map->{$key};
- unless( $self->can( $method ) ) {
- print "Unknown command '$key'. Type ? for help.\n";
- return;
- }
-
- ### dispatch the method call
- eval { $self->$method(
- command => $key,
- result => [ split /\s+/, $string ],
- input => $string );
- };
- warn $@ if $@;
-
- return;
-}
-
-### displays quit message
-sub _quit {
- my $self = shift;
- my $term = $self->term;
-
- if ($term->can('GetHistory')) {
- my @history = $term->GetHistory;
-
- my $histfile = $self->configure_object->get_conf('histfile');
-
- if (open my $fh, '>', $histfile) {
- foreach my $line (@history) {
- print {$fh} "$line\n";
- }
- close($fh);
- }
- else {
- warn "Cannot open history file '$histfile' - $!";
- }
- }
-
- ### well, that's what CPAN.pm says...
- print "Lockfile removed\n";
-}
-
-sub _not_supported {
- my $self = shift;
- my %hash = @_;
-
- my $cmd;
- my $tmpl = {
- command => { required => 1, store => \$cmd }
- };
-
- check( $tmpl, \%hash ) or return;
-
- print "Sorry, the command '$cmd' is not supported\n";
-
- return;
-}
-
-sub _fetch {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $input);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- input => { default => 'all', store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- for my $mod (@$aref) {
- my $obj;
-
- unless( $obj = $cb->module_tree($mod) ) {
- print "Warning: Cannot get $input, don't know what it is\n";
- print "Try the command\n\n";
- print "\ti /$mod/\n\n";
- print "to find objects with matching identifiers.\n";
-
- next;
- }
-
- $obj->fetch && $obj->extract;
- }
-
- return $aref;
-}
-
-sub _install {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $mapping = {
- make => { target => TARGET_CREATE, skiptest => 1 },
- test => { target => TARGET_CREATE },
- install => { target => TARGET_INSTALL },
- };
-
- my($aref,$cmd);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- command => { required => 1, store => \$cmd, allow => [keys %$mapping] },
- };
-
- check( $tmpl, \%hash ) or return;
-
- for my $mod (@$aref) {
- my $obj = $cb->module_tree( $mod );
-
- unless( $obj ) {
- print "No such module '$mod'\n";
- next;
- }
-
- my $opts = $mapping->{$cmd};
- $obj->install( %$opts );
- }
-
- return $aref;
-}
-
-sub _shell {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my($aref, $cmd);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- command => { required => 1, store => \$cmd },
-
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- my $shell = $conf->get_program('shell');
- unless( $shell ) {
- print "Your configuration does not define a value for subshells.\n".
- qq[Please define it with "o conf shell <your shell>"\n];
- return;
- }
-
- my $cwd = Cwd::cwd();
-
- for my $mod (@$aref) {
- print "Running $cmd for $mod\n";
-
- my $obj = $cb->module_tree( $mod ) or next;
- $obj->fetch or next;
- $obj->extract or next;
-
- $cb->_chdir( dir => $obj->status->extract ) or next;
-
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt;
- if( system($shell) and $! ) {
- print "Error executing your subshell '$shell': $!\n";
- next;
- }
- }
- $cb->_chdir( dir => $cwd );
-
- return $aref;
-}
-
-sub _readme {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my($aref, $cmd);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- command => { required => 1, store => \$cmd },
-
- };
-
- check( $tmpl, \%hash ) or return;
-
- for my $mod (@$aref) {
- my $obj = $cb->module_tree( $mod ) or next;
-
- if( my $readme = $obj->readme ) {
-
- $self->_pager_open;
- print $readme;
- $self->_pager_close;
- }
- }
-
- return 1;
-}
-
-sub _reload {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my($input, $cmd);
- my $tmpl = {
- input => { default => 'all', store => \$input },
- command => { required => 1, store => \$cmd },
-
- };
-
- check( $tmpl, \%hash ) or return;
-
- if ( $input =~ /cpan/i ) {
- print qq[You want to reload the CPAN code\n];
- print qq[Just type 'q' and then restart... ] .
- qq[Trust me, it is MUCH safer\n];
-
- } elsif ( $input =~ /index/i ) {
- $cb->reload_indices(update_source => 1);
-
- } else {
- print qq[cpan re-evals the CPANPLUS.pm file\n];
- print qq[index re-reads the index files\n];
- }
-
- return 1;
-}
-
-sub _autobundle {
- my $self = shift;
- my $cb = $self->backend;
-
- print qq[Writing bundle file... This may take a while\n];
-
- my $where = $cb->autobundle();
-
- print $where
- ? qq[\nWrote autobundle to $where\n]
- : qq[\nCould not create autobundle\n];
-
- return 1;
-}
-
-sub _set_conf {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my($aref, $input);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- input => { default => 'all', store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $type = shift @$aref;
-
- if( $type eq 'debug' ) {
- print qq[Sorry you cannot set debug options through ] .
- qq[this shell in CPANPLUS\n];
- return;
-
- } elsif ( $type eq 'conf' ) {
-
- ### from CPAN.pm :o)
- # CPAN::Shell::o and CPAN::Config::edit are closely related. 'o conf'
- # should have been called set and 'o debug' maybe 'set debug'
-
- # commit Commit changes to disk
- # defaults Reload defaults from disk
- # init Interactive setting of all options
-
- my $name = shift @$aref;
- my $value = "@$aref";
-
- if( $name eq 'init' ) {
- my $setup = CPANPLUS::Configure::Setup->new(
- conf => $cb->configure_object,
- term => $self->term,
- backend => $cb,
- );
- return $setup->init;
-
- } elsif ($name eq 'commit' ) {;
- $cb->configure_object->save;
- print "Your CPAN++ configuration info has been saved!\n\n";
- return;
-
- } elsif ($name eq 'defaults' ) {
- print qq[Sorry, CPANPLUS cannot restore default for you.\n] .
- qq[Perhaps you should run the interactive setup again.\n] .
- qq[\ttry running 'o conf init'\n];
- return;
-
- ### we're just supplying things in the 'conf' section now,
- ### not the program section.. it's a bit of a hassle to make that
- ### work cleanly with the original CPAN.pm interface, so we'll fix
- ### it when people start complaining, which is hopefully never.
- } else {
- unless( $name ) {
- my @list = grep { $_ ne 'hosts' }
- $conf->options( type => $type );
-
- my $method = 'get_' . $type;
-
- local $Data::Dumper::Indent = 0;
- for my $name ( @list ) {
- my $val = $conf->$method($name);
- ($val) = ref($val)
- ? (Data::Dumper::Dumper($val) =~ /= (.*);$/)
- : "'$val'";
- printf " %-25s %s\n", $name, $val;
- }
-
- } elsif ( $name eq 'hosts' ) {
- print "Setting hosts is not trivial.\n" .
- "It is suggested you edit the " .
- "configuration file manually";
-
- } else {
- my $method = 'set_' . $type;
- if( $conf->$method($name => defined $value ? $value : '') ) {
- my $set_to = defined $value ? $value : 'EMPTY STRING';
- print "Key '$name' was set to '$set_to'\n";
- }
- }
- }
- } else {
- print qq[Known options:\n] .
- qq[ conf set or get configuration variables\n] .
- qq[ debug set or get debugging options\n];
- }
-
- return;
-}
-
-########################
-### search functions ###
-########################
-
-sub _author {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => ['/./'] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Author', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my @regexes = map { m|/(.+)/| ? qr/$1/ : $_ } @$aref;
-
-
- my @rv;
- for my $type (qw[author cpanid]) {
- push @rv, $cb->search( type => $type, allow => \@regexes );
- }
-
- unless( @rv ) {
- print "No object of type $class found for argument $input\n"
- unless $short;
- return;
- }
-
- return $self->_pp_author(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-
-}
-
-### find all modules matching a query ###
-sub _module {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => ['/./'] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Module', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my @rv;
- for my $module (@$aref) {
- if( $module =~ m|/(.+)/| ) {
- push @rv, $cb->search( type => 'module',
- allow => [qr/$1/i] );
- } else {
- my $obj = $cb->module_tree( $module ) or next;
- push @rv, $obj;
- }
- }
-
- return $self->_pp_module(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-}
-
-### find all bundles matching a query ###
-sub _bundle {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => ['/./'] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Bundle', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my @rv;
- for my $bundle (@$aref) {
- if( $bundle =~ m|/(.+)/| ) {
- push @rv, $cb->search( type => 'module',
- allow => [qr/Bundle::.*?$1/i] );
- } else {
- my $obj = $cb->module_tree( "Bundle::${bundle}" ) or next;
- push @rv, $obj;
- }
- }
-
- return $self->_pp_module(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-}
-
-sub _distribution {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => ['/./'] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Distribution', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my @rv;
- for my $module (@$aref) {
- ### if it's a regex... ###
- if ( my ($match) = $module =~ m|^/(.+)/$|) {
-
- ### something like /FOO/Bar.tar.gz/ was entered
- if (my ($path,$package) = $match =~ m|^/?(.+)/(.+)$|) {
- my $seen;
-
- my @data = $cb->search( type => 'package',
- allow => [qr/$package/i] );
-
- my @list = $cb->search( type => 'path',
- allow => [qr/$path/i],
- data => \@data );
-
- ### make sure we dont list the same dist twice
- for my $val ( @list ) {
- next if $seen->{$val->package}++;
-
- push @rv, $val;
- }
-
- ### something like /FOO/ or /Bar.tgz/ was entered
- ### so we look both in the path, as well as in the package name
- } else {
- my $seen;
- { my @list = $cb->search( type => 'package',
- allow => [qr/$match/i] );
-
- ### make sure we dont list the same dist twice
- for my $val ( @list ) {
- next if $seen->{$val->package}++;
-
- push @rv, $val;
- }
- }
-
- { my @list = $cb->search( type => 'path',
- allow => [qr/$match/i] );
-
- ### make sure we dont list the same dist twice
- for my $val ( @list ) {
- next if $seen->{$val->package}++;
-
- push @rv, $val;
- }
-
- }
- }
-
- } else {
-
- ### user entered a full dist, like: R/RC/RCAPUTO/POE-0.19.tar.gz
- if (my ($path,$package) = $module =~ m|^/?(.+)/(.+)$|) {
- my @data = $cb->search( type => 'package',
- allow => [qr/^$package$/] );
- my @list = $cb->search( type => 'path',
- allow => [qr/$path$/i],
- data => \@data);
-
- ### make sure we dont list the same dist twice
- my $seen;
- for my $val ( @list ) {
- next if $seen->{$val->package}++;
-
- push @rv, $val;
- }
- }
- }
- }
-
- return $self->_pp_distribution(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-}
-
-sub _find_all {
- my $self = shift;
-
- my @rv;
- for my $method (qw[_author _bundle _module _distribution]) {
- my $aref = $self->$method( @_, short => 1 );
-
- push @rv, @$aref if $aref;
- }
-
- print scalar(@rv). " items found\n"
-}
-
-sub _uptodate {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => ['/./'] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Uptodate', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- my @rv;
- if( @$aref) {
- for my $module (@$aref) {
- if( $module =~ m|/(.+)/| ) {
- my @list = $cb->search( type => 'module',
- allow => [qr/$1/i] );
-
- ### only add those that are installed and not core
- push @rv, grep { not $_->package_is_perl_core }
- grep { $_->installed_file }
- @list;
-
- } else {
- my $obj = $cb->module_tree( $module ) or next;
- push @rv, $obj;
- }
- }
- } else {
- @rv = @{$cb->_all_installed};
- }
-
- return $self->_pp_uptodate(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-}
-
-sub _ls {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my($aref, $short, $input, $class);
- my $tmpl = {
- result => { store => \$aref, default => [] },
- short => { default => 0, store => \$short },
- input => { default => 'all', store => \$input },
- class => { default => 'Uptodate', no_override => 1,
- store => \$class },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my @rv;
- for my $name (@$aref) {
- my $auth = $cb->author_tree( uc $name );
-
- unless( $auth ) {
- print qq[ls command rejects argument $name: not an author\n];
- next;
- }
-
- push @rv, $auth->distributions;
- }
-
- return $self->_pp_ls(
- result => \@rv,
- class => $class,
- short => $short,
- input => $input );
-}
-
-############################
-### pretty printing subs ###
-############################
-
-
-sub _pp_author {
- my $self = shift;
- my %hash = @_;
-
- my( $aref, $short, $class, $input );
- my $tmpl = {
- result => { required => 1, default => [], strict_type => 1,
- store => \$aref },
- short => { default => 0, store => \$short },
- class => { required => 1, store => \$class },
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### no results
- if( !@$aref ) {
- print "No objects of type $class found for argument $input\n"
- unless $short;
-
- ### one result, long output desired;
- } elsif( @$aref == 1 and !$short ) {
-
- ### should look like this:
- #cpan> a KANE
- #Author id = KANE
- # EMAIL boumans@frg.eur.nl
- # FULLNAME Jos Boumans
-
- my $obj = shift @$aref;
-
- print "$class id = ", $obj->cpanid(), "\n";
- printf " %-12s %s\n", 'EMAIL', $obj->email();
- printf " %-12s %s%s\n", 'FULLNAME', $obj->author();
-
- } else {
-
- ### should look like this:
- #Author KANE (Jos Boumans)
- #Author LBROCARD (Leon Brocard)
- #2 items found
-
- for my $obj ( @$aref ) {
- printf qq[%-15s %s ("%s" (%s))\n],
- $class, $obj->cpanid, $obj->author, $obj->email;
- }
- print scalar(@$aref)." items found\n" unless $short;
- }
-
- return $aref;
-}
-
-sub _pp_module {
- my $self = shift;
- my %hash = @_;
-
- my( $aref, $short, $class, $input );
- my $tmpl = {
- result => { required => 1, default => [], strict_type => 1,
- store => \$aref },
- short => { default => 0, store => \$short },
- class => { required => 1, store => \$class },
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- ### no results
- if( !@$aref ) {
- print "No objects of type $class found for argument $input\n"
- unless $short;
-
- ### one result, long output desired;
- } elsif( @$aref == 1 and !$short ) {
-
-
- ### should look like this:
- #Module id = LWP
- # DESCRIPTION Libwww-perl
- # CPAN_USERID GAAS (Gisle Aas <gisle@ActiveState.com>)
- # CPAN_VERSION 5.64
- # CPAN_FILE G/GA/GAAS/libwww-perl-5.64.tar.gz
- # DSLI_STATUS RmpO (released,mailing-list,perl,object-oriented)
- # MANPAGE LWP - The World-Wide Web library for Perl
- # INST_FILE C:\Perl\site\lib\LWP.pm
- # INST_VERSION 5.62
-
- my $obj = shift @$aref;
- my $aut_obj = $obj->author;
- my $format = " %-12s %s%s\n";
-
- print "$class id = ", $obj->module(), "\n";
- printf $format, 'DESCRIPTION', $obj->description()
- if $obj->description();
-
- printf $format, 'CPAN_USERID', $aut_obj->cpanid() . " (" .
- $aut_obj->author() . " <" . $aut_obj->email() . ">)";
-
- printf $format, 'CPAN_VERSION', $obj->version();
- printf $format, 'CPAN_FILE', $obj->path() . '/' . $obj->package();
-
- printf $format, 'DSLI_STATUS', $self->_pp_dslip($obj->dslip)
- if $obj->dslip() =~ /\w/;
-
- #printf $format, 'MANPAGE', $obj->foo();
- ### this is for bundles... CPAN.pm downloads them,
- #printf $format, 'CONATAINS,
- # parses and goes from there...
-
- printf $format, 'INST_FILE', $obj->installed_file ||
- '(not installed)';
- printf $format, 'INST_VERSION', $obj->installed_version;
-
-
-
- } else {
-
- ### should look like this:
- #Module LWP (G/GA/GAAS/libwww-perl-5.64.tar.gz)
- #Module POE (R/RC/RCAPUTO/POE-0.19.tar.gz)
- #2 items found
-
- for my $obj ( @$aref ) {
- printf "%-15s %-15s (%s)\n", $class, $obj->module(),
- $obj->path() .'/'. $obj->package();
- }
- print scalar(@$aref). " items found\n" unless $short;
- }
-
- return $aref;
-}
-
-sub _pp_dslip {
- my $self = shift;
- my $dslip = shift or return;
-
- my (%_statusD, %_statusS, %_statusL, %_statusI);
-
- @_statusD{qw(? i c a b R M S)} =
- qw(unknown idea pre-alpha alpha beta released mature standard);
-
- @_statusS{qw(? m d u n)} =
- qw(unknown mailing-list developer comp.lang.perl.* none);
-
- @_statusL{qw(? p c + o h)} = qw(unknown perl C C++ other hybrid);
- @_statusI{qw(? f r O h)} =
- qw(unknown functions references+ties object-oriented hybrid);
-
- my @status = split("", $dslip);
-
- my $results = sprintf( "%s (%s,%s,%s,%s)",
- $dslip,
- $_statusD{$status[0]},
- $_statusS{$status[1]},
- $_statusL{$status[2]},
- $_statusI{$status[3]}
- );
-
- return $results;
-}
-
-sub _pp_distribution {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my( $aref, $short, $class, $input );
- my $tmpl = {
- result => { required => 1, default => [], strict_type => 1,
- store => \$aref },
- short => { default => 0, store => \$short },
- class => { required => 1, store => \$class },
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
-
- ### no results
- if( !@$aref ) {
- print "No objects of type $class found for argument $input\n"
- unless $short;
-
- ### one result, long output desired;
- } elsif( @$aref == 1 and !$short ) {
-
-
- ### should look like this:
- #Distribution id = S/SA/SABECK/POE-Component-Client-POP3-0.02.tar.gz
- # CPAN_USERID SABECK (Scott Beck <scott@gossamer-threads.com>)
- # CONTAINSMODS POE::Component::Client::POP3
-
- my $obj = shift @$aref;
- my $aut_obj = $obj->author;
- my $pkg = $obj->package;
- my $format = " %-12s %s\n";
-
- my @list = $cb->search( type => 'package',
- allow => [qr/^$pkg$/] );
-
-
- print "$class id = ", $obj->path(), '/', $obj->package(), "\n";
- printf $format, 'CPAN_USERID',
- $aut_obj->cpanid .' ('. $aut_obj->author .
- ' '. $aut_obj->email .')';
-
- ### yes i know it's ugly, but it's what cpan.pm does
- printf $format, 'CONTAINSMODS', join (' ', map { $_->module } @list);
-
- } else {
-
- ### should look like this:
- #Distribution LWP (G/GA/GAAS/libwww-perl-5.64.tar.gz)
- #Distribution POE (R/RC/RCAPUTO/POE-0.19.tar.gz)
- #2 items found
-
- for my $obj ( @$aref ) {
- printf "%-15s %s\n", $class, $obj->path() .'/'. $obj->package();
- }
-
- print scalar(@$aref). " items found\n" unless $short;
- }
-
- return $aref;
-}
-
-sub _pp_uptodate {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my( $aref, $short, $class, $input );
- my $tmpl = {
- result => { required => 1, default => [], strict_type => 1,
- store => \$aref },
- short => { default => 0, store => \$short },
- class => { required => 1, store => \$class },
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- my $format = "%-25s %9s %9s %s\n";
-
- my @not_uptodate;
- my $no_version;
-
- my %seen;
- for my $mod (@$aref) {
- next if $mod->package_is_perl_core;
- next if $seen{ $mod->package }++;
-
-
- if( $mod->installed_file and not $mod->installed_version ) {
- $no_version++;
- next;
- }
-
- push @not_uptodate, $mod unless $mod->is_uptodate;
- }
-
- unless( @not_uptodate ) {
- my $string = $input
- ? "for $input"
- : '';
- print "All modules are up to date $string\n";
- return;
-
- } else {
- printf $format, ( 'Package namespace',
- 'installed',
- 'latest',
- 'in CPAN file'
- );
- }
-
- for my $mod ( sort { $a->module cmp $b->module } @not_uptodate ) {
- printf $format, ( $mod->module,
- $mod->installed_version,
- $mod->version,
- $mod->path .'/'. $mod->package,
- );
- }
-
- print "$no_version installed modules have no (parsable) version number\n"
- if $no_version;
-
- return \@not_uptodate;
-}
-
-sub _pp_ls {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my( $aref, $short, $class, $input );
- my $tmpl = {
- result => { required => 1, default => [], strict_type => 1,
- store => \$aref },
- short => { default => 0, store => \$short },
- class => { required => 1, store => \$class },
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### should look something like this:
- #6272 2002-05-12 KANE/Acme-Comment-1.00.tar.gz
- #8171 2002-08-13 KANE/Acme-Comment-1.01.zip
- #7110 2002-09-04 KANE/Acme-Comment-1.02.tar.gz
- #7571 2002-09-08 KANE/Acme-Intraweb-1.01.tar.gz
- #6625 2001-08-23 KANE/Acme-POE-Knee-1.10.zip
- #3058 2003-10-05 KANE/Acme-Test-0.02.tar.gz
-
- ### don't know size or mtime
- #my $format = "%8d %10s %s/%s\n";
-
- for my $mod ( sort { $a->package cmp $b->package } @$aref ) {
- print "\t" . $mod->package . "\n";
- }
-
- return $aref;
-}
-
-
-#############################
-### end pretty print subs ###
-#############################
-
-
-sub _bang {
- my $self = shift;
- my %hash = @_;
-
- my( $input );
- my $tmpl = {
- input => { required => 1, store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
-
- eval $input;
- warn $@ if $@;
-
- print "\n";
-
- return;
-}
-
-sub _help {
- print qq[
-Display Information
- a authors
- b string display bundles
- d or info distributions
- m /regex/ about modules
- i or anything of above
- r none reinstall recommendations
- u uninstalled distributions
-
-Download, Test, Make, Install...
- get download
- make make (implies get)
- test modules, make test (implies make)
- install dists, bundles make install (implies test)
- clean make clean
- look open subshell in these dists' directories
- readme display these dists' README files
-
-Other
- h,? display this menu ! perl-code eval a perl command
- o conf [opt] set and query options q quit the cpan shell
- reload cpan load CPAN.pm again reload index load newer indices
- autobundle Snapshot force cmd unconditionally do cmd
-];
-
-}
-
-
-
-1;
-__END__
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Shell::Classic - CPAN.pm emulation for CPANPLUS
-
-=head1 DESCRIPTION
-
-The Classic shell is designed to provide the feel of the CPAN.pm shell
-using CPANPLUS underneath.
-
-For detailed documentation, refer to L<CPAN>.
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>
-
-=cut
-
-
-=head1 SEE ALSO
-
-L<CPAN>
-
-=cut
-
-
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
deleted file mode 100644
index 4c9991d529b..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
+++ /dev/null
@@ -1,1978 +0,0 @@
-package CPANPLUS::Shell::Default;
-use deprecate;
-
-use strict;
-
-
-use CPANPLUS::Error;
-use CPANPLUS::Backend;
-use CPANPLUS::Configure::Setup;
-use CPANPLUS::Internals::Constants;
-use CPANPLUS::Internals::Constants::Report qw[GRADE_FAIL];
-
-use Cwd;
-use IPC::Cmd;
-use Term::UI;
-use Data::Dumper;
-use Term::ReadLine;
-
-use Module::Load qw[load];
-use Params::Check qw[check];
-use Module::Load::Conditional qw[can_load check_install];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-local $Params::Check::VERBOSE = 1;
-local $Data::Dumper::Indent = 1; # for dumpering from !
-
-BEGIN {
- use vars qw[ $VERSION @ISA ];
- @ISA = qw[ CPANPLUS::Shell::_Base::ReadLine ];
- $VERSION = "0.9135";
-}
-
-load CPANPLUS::Shell;
-
-
-my $map = {
- 'm' => '_search_module',
- 'a' => '_search_author',
- '!' => '_bang',
- '?' => '_help',
- 'h' => '_help',
- 'q' => '_quit',
- 'r' => '_readme',
- 'v' => '_show_banner',
- 'w' => '__display_results',
- 'd' => '_fetch',
- 'z' => '_shell',
- 'f' => '_distributions',
- 'x' => '_reload_indices',
- 'i' => '_install',
- 't' => '_install',
- 'l' => '_details',
- 'p' => '_print',
- 's' => '_set_conf',
- 'o' => '_uptodate',
- 'b' => '_autobundle',
- 'u' => '_uninstall',
- '/' => '_meta', # undocumented for now
- 'c' => '_reports',
- 'e' => '_reload_shell',
-};
-### free letters: e g j k n y ###
-
-
-### will be filled if you have a .default-shell.rc and
-### Config::Auto installed
-my $rc = {};
-
-### the shell object, scoped to the file ###
-my $Shell;
-my $Brand = loc('CPAN Terminal');
-my $Prompt = $Brand . '> ';
-
-=pod
-
-=head1 NAME
-
-CPANPLUS::Shell::Default - the default CPANPLUS shell
-
-=head1 SYNOPSIS
-
- ### loading the shell:
- $ cpanp # run 'cpanp' from the command line
- $ perl -MCPANPLUS -eshell # load the shell from the command line
-
-
- use CPANPLUS::Shell qw[Default]; # load this shell via the API
- # always done via CPANPLUS::Shell
-
- my $ui = CPANPLUS::Shell->new;
- $ui->shell; # run the shell
- $ui->dispatch_on_input( input => 'x'); # update the source using the
- # dispatch method
-
- ### when in the shell:
- ### Note that all commands can also take options.
- ### Look at their underlying CPANPLUS::Backend methods to see
- ### what options those are.
- cpanp> h # show help messages
- cpanp> ? # show help messages
-
- cpanp> m Acme # find acme modules, allows regexes
- cpanp> a KANE # find modules by kane, allows regexes
- cpanp> f Acme::Foo # get a list of all releases of Acme::Foo
-
- cpanp> i Acme::Foo # install Acme::Foo
- cpanp> i Acme-Foo-1.3 # install version 1.3 of Acme::Foo
- cpanp> i <URI> # install from URI, like ftp://foo.com/X.tgz
- cpanp> i <DIR> # install from an absolute or relative directory
- cpanp> i 1 3..5 # install search results 1, 3, 4 and 5
- cpanp> i * # install all search results
- cpanp> a KANE; i *; # find modules by kane, install all results
- cpanp> t Acme::Foo # test Acme::Foo, without installing it
- cpanp> u Acme::Foo # uninstall Acme::Foo
- cpanp> d Acme::Foo # download Acme::Foo
- cpanp> z Acme::Foo # download & extract Acme::Foo, then open a
- # shell in the extraction directory
-
- cpanp> c Acme::Foo # get a list of test results for Acme::Foo
- cpanp> l Acme::Foo # view details about the Acme::Foo package
- cpanp> r Acme::Foo # view Acme::Foo's README file
- cpanp> o # get a list of all installed modules that
- # are out of date
- cpanp> o 1..3 # list uptodateness from a previous search
-
- cpanp> s conf # show config settings
- cpanp> s conf md5 1 # enable md5 checks
- cpanp> s program # show program settings
- cpanp> s edit # edit config file
- cpanp> s reconfigure # go through initial configuration again
- cpanp> s selfupdate # update your CPANPLUS install
- cpanp> s save # save config to disk
- cpanp> s mirrors # show currently selected mirrors
-
- cpanp> ! [PERL CODE] # execute the following perl code
-
- cpanp> b # create an autobundle for this computers
- # perl installation
- cpanp> x # reload index files (purges cache)
- cpanp> x --update_source # reload index files, get fresh source files
- cpanp> p [FILE] # print error stack (to a file)
- cpanp> v # show the banner
- cpanp> w # show last search results again
-
- cpanp> q # quit the shell
- cpanp> e # exit the shell and reload
-
- cpanp> /plugins # list available plugins
- cpanp> /? PLUGIN # list help test of <PLUGIN>
-
- ### common options:
- cpanp> i ... --skiptest # skip tests
- cpanp> i ... --force # force all operations
- cpanp> i ... --verbose # run in verbose mode
-
-=head1 DESCRIPTION
-
-This module provides the default user interface to C<CPANPLUS>. You
-can start it via the C<cpanp> binary, or as detailed in the L<SYNOPSIS>.
-
-=cut
-
-sub new {
- my $class = shift;
-
- my $cb = CPANPLUS::Backend->new( @_ );
- my $self = $class->SUPER::_init(
- brand => $Brand,
- term => Term::ReadLine->new( $Brand ),
- prompt => $Prompt,
- backend => $cb,
- format => "%4s %-55s %8s %-10s\n",
- dist_format => "%4s %-42s %-12s %8s %-10s\n",
- );
- ### make it available package wide ###
- $Shell = $self;
-
- my $rc_file = File::Spec->catfile(
- $cb->configure_object->get_conf('base'),
- DOT_SHELL_DEFAULT_RC,
- );
-
-
- if( -e $rc_file && -r _ ) {
- $rc = $self->_read_configuration_from_rc( $rc_file );
- }
-
- ### register install callback ###
- $cb->_register_callback(
- name => 'install_prerequisite',
- code => \&__ask_about_install,
- );
-
- ### execute any login commands specified ###
- $self->dispatch_on_input( input => $rc->{'login'} )
- if defined $rc->{'login'};
-
- ### register test report callbacks ###
- $cb->_register_callback(
- name => 'edit_test_report',
- code => \&__ask_about_edit_test_report,
- );
-
- $cb->_register_callback(
- name => 'send_test_report',
- code => \&__ask_about_send_test_report,
- );
-
- $cb->_register_callback(
- name => 'proceed_on_test_failure',
- code => \&__ask_about_test_failure,
- );
-
- ### load all the plugins
- $self->_plugins_init;
-
- if (my $histfile = $cb->configure_object->get_conf( 'histfile' )) {
- my $term = $self->term;
- if ($term->can('AddHistory')) {
- if (open my $fh, '<', $histfile) {
- local $/ = "\n";
- while (my $line = <$fh>) {
- chomp($line);
- $term->AddHistory($line);
- }
- close($fh);
- }
- }
- }
-
- return $self;
-}
-
-sub shell {
- my $self = shift;
- my $term = $self->term;
- my $conf = $self->backend->configure_object;
-
- $self->_show_banner;
- $self->__print( "*** Type 'p' now to show start up log\n" ); # XXX add to banner?
- $self->_show_random_tip if $conf->get_conf('show_startup_tip');
- $self->_input_loop && $self->__print( "\n" );
- $self->_quit;
-}
-
-sub _input_loop {
- my $self = shift;
- my $term = $self->term;
- my $cb = $self->backend;
-
- my $normal_quit = 0;
- while (
- defined (my $input = eval { $term->readline($self->prompt) } )
- or $self->_signals->{INT}{count} == 1
- ) {
- ### re-initiate all signal handlers
- while (my ($sig, $entry) = each %{$self->_signals} ) {
- $SIG{$sig} = $entry->{handler} if exists($entry->{handler});
- }
-
- $self->__print( "\n" );
- last if $self->dispatch_on_input( input => $input );
-
- ### flush the lib cache ###
- $cb->_flush( list => [qw|lib load|] );
-
- } continue {
- ### clear the sigint count
- $self->_signals->{INT}{count}--
- if $self->_signals->{INT}{count};
-
- ### reset the 'install prereq?' cached answer
- $self->settings->{'install_all_prereqs'} = undef;
-
- }
-
- return 1;
-}
-
-### return 1 to quit ###
-sub dispatch_on_input {
- my $self = shift;
- my $conf = $self->backend->configure_object();
- my $term = $self->term;
- my %hash = @_;
-
- my($string, $noninteractive);
- my $tmpl = {
- input => { required => 1, store => \$string },
- noninteractive => { required => 0, store => \$noninteractive },
- };
-
- check( $tmpl, \%hash ) or return;
-
- ### indicates whether or not the user will receive a shell
- ### prompt after the command has finished.
- $self->noninteractive($noninteractive) if defined $noninteractive;
-
- my $rv = 1;
-
- my @cmds = split ';', $string;
- while( my $input = shift @cmds ) {
-
- ### to send over the socket ###
- my $org_input = $input;
-
- my $key; my $options;
- { ### make whitespace not count when using special chars
- { $input =~ s|^\s*([!?/])|$1 |; }
-
- ### get the first letter of the input
- $input =~ s|^\s*([\w\?\!/])\w*||;
-
- chomp $input;
- $key = lc($1);
-
- ### we figured out what the command was...
- ### if we have more input, that DOES NOT start with a white
- ### space char, we misparsed.. like 'Test::Foo::Bar', which
- ### would turn into 't', '::Foo::Bar'...
- if( $input and $input !~ s/^\s+// ) {
- $self->__print( loc("Could not understand command: %1\n".
- "Possibly missing command before argument(s)?\n",
- $org_input) );
- return;
- }
-
- ### allow overrides from the config file ###
- if( defined $rc->{$key} ) {
- $input = $rc->{$key} . $input;
- }
-
- ### grab command line options like --no-force and --verbose ###
- ($options,$input) = $term->parse_options($input)
- unless $key eq '!';
- }
-
- ### emtpy line? ###
- return unless $key;
-
- ### time to quit ###
- return 1 if $key eq 'q';
-
- my $method = $map->{$key};
-
- ### dispatch meta locally at all times ###
- if( $key eq '/' ) {
- ### keep track of failures
- $rv *= length $self->$method(input => $input, options => $options);
- next;
- }
-
- ### flush unless we're trying to print the stack
- CPANPLUS::Error->flush unless $key eq 'p';
-
- ### connected over a socket? ###
- if( $self->remote ) {
-
- ### unsupported commands ###
- if( $key eq 'z' or
- ($key eq 's' and $input =~ /^\s*edit/)
- ) {
- $self->__print( "\n",
- loc( "Command '%1' not supported over remote connection",
- join ' ', $key, $input
- ), "\n\n" );
-
- } else {
- my($status,$buff) = $self->__send_remote_command($org_input);
-
- $self->__print( "\n", loc("Command failed!"), "\n\n" )
- unless $status;
-
- ### keep track of failures
- $rv *= length $status;
-
- $self->_pager_open if $buff =~ tr/\n// > $self->_term_rowcount;
- $self->__print( $buff );
- $self->_pager_close;
- }
-
- ### or just a plain local shell? ###
- } else {
-
- unless( $self->can($method) ) {
- $self->__print(loc("Unknown command '%1'. Usage:", $key), "\n");
- $self->_help;
-
- } else {
-
- ### some methods don't need modules ###
- my @mods;
- @mods = $self->_select_modules($input)
- unless grep {$key eq $_} qw[! m a v w x p s b / ? h];
-
- ### keep track of failures
- $rv *= defined eval { $self->$method(
- modules => \@mods,
- options => $options,
- input => $input,
- choice => $key )
- };
- error( $@ ) if $@;
- }
- }
- }
-
- ### outside the shell loop, we can return the actual return value;
- return $rv if $self->noninteractive;
-
- return;
-}
-
-sub _select_modules {
- my $self = shift;
- my $input = shift or return;
- my $cache = $self->cache;
- my $cb = $self->backend;
-
- ### expand .. in $input
- $input =~ s{\b(\d+)\s*\.\.\s*(\d+)\b}
- {join(' ', ($1 < 1 ? 1 : $1) .. ($2 > $#{$cache} ? $#{$cache} : $2))}eg;
-
- $input = join(' ', 1 .. $#{$cache}) if $input eq '*';
- $input =~ s/'/::/g; # perl 4 convention
-
- my @rv;
- for my $mod (split /\s+/, $input) {
-
- ### it's a cache look up ###
- if( $mod =~ /^\d+/ and $mod > 0 ) {
- unless( scalar @$cache ) {
- $self->__print( loc("No search was done yet!"), "\n" );
-
- } elsif ( my $obj = $cache->[$mod] ) {
- push @rv, $obj;
-
- } else {
- $self->__print( loc("No such module: %1", $mod), "\n" );
- }
-
- } else {
- my $obj = $cb->parse_module( module => $mod );
-
- unless( $obj ) {
- $self->__print( loc("No such module: %1", $mod), "\n" );
-
- } else {
- push @rv, $obj;
- }
- }
- }
-
- unless( scalar @rv ) {
- $self->__print( loc("No modules found to operate on!\n") );
- return;
- } else {
- return @rv;
- }
-}
-
-sub _format_version {
- my $self = shift;
- my $version = shift || 0;
-
- ### fudge $version into the 'optimal' format
- $version = 0 if $version eq 'undef';
- $version =~ s/_//g; # everything after gets stripped off otherwise
-
- ### allow 6 digits after the dot, as that's how perl stringifies
- ### x.y.z numbers.
- $version = sprintf('%3.6f', $version);
- $version = '' if $version == '0.00';
- $version =~ s/(00{0,3})$/' ' x (length $1)/e;
-
- return $version;
-}
-
-sub __display_results {
- my $self = shift;
- my $cache = $self->cache;
-
- my @rv = @$cache;
-
- if( scalar @rv ) {
-
- $self->_pager_open if $#{$cache} >= $self->_term_rowcount;
-
- my $i = 1;
- for my $mod (@rv) {
- next unless $mod; # first one is undef
- # humans start counting at 1
-
- ### for dists only -- we have checksum info
- if( $mod->mtime ) {
- $self->__printf(
- $self->dist_format,
- $i,
- $mod->module,
- $mod->mtime,
- $self->_format_version( $mod->version ),
- $mod->author->cpanid
- );
-
- } else {
- $self->__printf(
- $self->format,
- $i,
- $mod->module,
- $self->_format_version( $mod->version ),
- $mod->author->cpanid
- );
- }
- $i++;
- }
-
- $self->_pager_close;
-
- } else {
- $self->__print( loc("No results to display"), "\n" );
- }
-
- return 1;
-}
-
-
-sub _quit {
- my $self = shift;
- my $term = $self->term;
-
- $self->dispatch_on_input( input => $rc->{'logout'} )
- if defined $rc->{'logout'};
-
- if ($term->can('GetHistory')) {
- my @history = $term->GetHistory;
-
- my $histfile = $self->backend->configure_object->get_conf('histfile');
-
- if (open my $fh, '>', $histfile) {
- foreach my $line (@history) {
- print {$fh} "$line\n";
- }
- close($fh);
- }
- else {
- warn "Cannot open history file '$histfile' - $!";
- }
- }
-
- $self->__print( loc("Exiting CPANPLUS shell"), "\n" );
-
- return 1;
-}
-
-###########################
-### actual command subs ###
-###########################
-
-
-### print out the help message ###
-### perhaps, '?' should be a slightly different version ###
-{ my @help;
- sub _help {
- my $self = shift;
- my %hash = @_;
-
- my $input;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- input => { required => 0, store => \$input }
- };
-
- my $args = check( $tmpl, \%hash ) or return;
- }
-
- @help = (
-loc('[General]' ),
-loc(' h | ? # display help' ),
-loc(' q # exit' ),
-loc(' e # exit and reload' ),
-loc(' v # version information' ),
-loc('[Search]' ),
-loc(' a AUTHOR ... # search by author(s)' ),
-loc(' m MODULE ... # search by module(s)' ),
-loc(' f MODULE ... # list all releases of a module' ),
-loc(" o [ MODULE ... ] # list installed module(s) that aren't up to date" ),
-loc(' w # display the result of your last search again' ),
-loc('[Operations]' ),
-loc(' i MODULE | NUMBER ... # install module(s), by name or by search number' ),
-loc(' i URI | ... # install module(s), by URI (ie http://foo.com/X.tgz)' ),
-loc(' i DIR | ... # install module(s), by path (ie ./Module-1.0)' ),
-loc(' t MODULE | NUMBER ... # test module(s), by name or by search number' ),
-loc(' u MODULE | NUMBER ... # uninstall module(s), by name or by search number' ),
-loc(' d MODULE | NUMBER ... # download module(s)' ),
-loc(' l MODULE | NUMBER ... # display detailed information about module(s)' ),
-loc(' r MODULE | NUMBER ... # display README files of module(s)' ),
-loc(' c MODULE | NUMBER ... # check for module report(s) from cpan-testers' ),
-loc(' z MODULE | NUMBER ... # extract module(s) and open command prompt in it' ),
-loc('[Local Administration]' ),
-loc(' b # write a bundle file for your configuration' ),
-loc(' s program [OPT VALUE] # set program locations for this session' ),
-loc(' s conf [OPT VALUE] # set config options for this session' ),
-loc(' s mirrors # show currently selected mirrors' ),
-loc(' s reconfigure # reconfigure settings ' ),
-loc(' s selfupdate # update your CPANPLUS install '),
-loc(' s save [user|system] # save settings for this user or systemwide' ),
-loc(' s edit [user|system] # open configuration file in editor and reload' ),
-loc(' ! EXPR # evaluate a perl statement' ),
-loc(' p [FILE] # print the error stack (optionally to a file)' ),
-loc(' x # reload CPAN indices (purges cache)' ),
-loc(' x --update_source # reload CPAN indices, get fresh source files' ),
-loc('[Common Options]' ),
-loc(' i ... --skiptest # skip tests' ),
-loc(' i ... --force # force all operations' ),
-loc(' i ... --verbose # run in verbose mode' ),
-loc('[Plugins]' ),
-loc(' /plugins # list available plugins' ),
-loc(' /? [PLUGIN NAME] # show usage for (a particular) plugin(s)' ),
-
- ) unless @help;
-
- $self->_pager_open if (@help >= $self->_term_rowcount);
- ### XXX: functional placeholder for actual 'detailed' help.
- $self->__print( "Detailed help for the command '$input' is " .
- "not available.\n\n" ) if length $input;
- $self->__print( map {"$_\n"} @help );
- $self->__print( $/ );
- $self->_pager_close;
-
- return 1;
- }
-}
-
-### eval some code ###
-sub _bang {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
-
- my $input;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- input => { required => 1, store => \$input }
- };
-
- my $args = check( $tmpl, \%hash ) or return;
- }
-
- local $Data::Dumper::Indent = 1; # for dumpering from !
- eval $input;
- error( $@ ) if $@;
- $self->__print( "\n" );
-
- return if $@;
- return 1;
-}
-
-sub _search_module {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $args;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- input => { required => 1, },
- options => { default => { } },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my @regexes = map { qr/$_/i } split /\s+/, $args->{'input'};
-
- ### XXX this is rather slow, because (probably)
- ### of the many method calls
- ### XXX need to profile to speed it up =/
-
- ### find the modules ###
- my @rv = sort { $a->module cmp $b->module }
- $cb->search(
- %{$args->{'options'}},
- type => 'module',
- allow => \@regexes,
- );
-
- ### store the result in the cache ###
- $self->cache([undef,@rv]);
-
- $self->__display_results;
-
- return 1;
-}
-
-sub _search_author {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $args;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- input => { required => 1, },
- options => { default => { } },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my @regexes = map { qr/$_/i } split /\s+/, $args->{'input'};
-
- my @rv;
- for my $type (qw[author cpanid]) {
- push @rv, $cb->search(
- %{$args->{'options'}},
- type => $type,
- allow => \@regexes,
- );
- }
-
- my %seen;
- my @list = sort { $a->module cmp $b->module }
- grep { defined }
- map { $_->modules }
- grep { not $seen{$_}++ } @rv;
-
- $self->cache([undef,@list]);
-
- $self->__display_results;
- return 1;
-}
-
-sub _readme {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $args; my $mods; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- return unless scalar @$mods;
-
- $self->_pager_open;
- for my $mod ( @$mods ) {
- $self->__print( $mod->readme( %$opts ) );
- }
-
- $self->_pager_close;
-
- return 1;
-}
-
-sub _fetch {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $args; my $mods; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- $self->_pager_open if @$mods >= $self->_term_rowcount;
- my $rv = 1;
- for my $mod (@$mods) {
- my $where = $mod->fetch( %$opts );
-
- $rv *= length $where;
-
- $self->__print(
- $where
- ? loc("Successfully fetched '%1' to '%2'",
- $mod->module, $where )
- : loc("Failed to fetch '%1'", $mod->module)
- );
- $self->__print( "\n" );
- }
- $self->_pager_close;
-
- return 1 if $rv;
- return;
-}
-
-sub _shell {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $shell = $conf->get_program('shell');
- unless( $shell ) {
- $self->__print(
- loc("Your config does not specify a subshell!"), "\n",
- loc("Perhaps you need to re-run your setup?"), "\n"
- );
- return;
- }
-
- my $args; my $mods; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my $cwd = Cwd::cwd();
- for my $mod (@$mods) {
- $mod->fetch( %$opts ) or next;
- $mod->extract( %$opts ) or next;
-
- $cb->_chdir( dir => $mod->status->extract() ) or next;
-
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt;
-
- if( system($shell) and $! ) {
- $self->__print(
- loc("Error executing your subshell '%1': %2",
- $shell, $!),"\n"
- );
- next;
- }
- }
- $cb->_chdir( dir => $cwd );
-
- return 1;
-}
-
-sub _distributions {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $args; my $mods; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my @list;
- for my $mod (@$mods) {
- push @list, sort { $a->version <=> $b->version }
- grep { defined } $mod->distributions( %$opts );
- }
-
- my @rv = sort { $a->module cmp $b->module } @list;
-
- $self->cache([undef,@rv]);
- $self->__display_results;
-
- return 1;
-}
-
-sub _reload_indices {
- my $self = shift;
- my $cb = $self->backend;
- my %hash = @_;
-
- my $args; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my $rv = $cb->reload_indices( %$opts );
-
- ### so the update failed, but you didnt give it any options either
- if( !$rv and !(keys %$opts) ) {
- $self->__print(
- "\nFailure may be due to corrupt source files\n" .
- "Try this:\n\tx --update_source\n\n" );
- }
-
- return $rv;
-
-}
-
-sub _install {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $args; my $mods; my $opts; my $choice;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- choice => { required => 1, store => \$choice,
- allow => [qw|i t|] },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- unless( scalar @$mods ) {
- $self->__print( loc("Nothing done\n") );
- return;
- }
-
- my $target = $choice eq 'i' ? TARGET_INSTALL : TARGET_CREATE;
- my $prompt = $choice eq 'i' ? loc('Installing ') : loc('Testing ');
- my $action = $choice eq 'i' ? 'install' : 'test';
-
- my $status = {};
- ### first loop over the mods to install them ###
- for my $mod (@$mods) {
- $self->__print( $prompt, $mod->module, " (".$mod->version.")", "\n" );
-
- my $log_length = length CPANPLUS::Error->stack_as_string;
-
- ### store the status for look up when we're done with all
- ### install calls
- $status->{$mod} = $mod->install( %$opts, target => $target );
-
- ### would you like a log file of what happened?
- if( $conf->get_conf('write_install_logs') ) {
-
- if ( ON_WIN32 and !check_install(
- module => 'IPC::Run', version => 0.55 )
- ) {
- error(loc("IPC::Run version '%1' is required on MSWin32"
- . " in order to capture buffers."
- . " The logfile generated may not contain"
- . " any useful data, until it is installed", 0.55));
- }
-
- my $dir = File::Spec->catdir(
- $conf->get_conf('base'),
- $conf->_get_build('install_log_dir'),
- );
- ### create the dir if it doesn't exit yet
- $cb->_mkdir( dir => $dir ) unless -d $dir;
-
- my $file = File::Spec->catfile(
- $dir,
- INSTALL_LOG_FILE->( $mod )
- );
- if ( open my $fh, ">$file" ) {
- my $stack = CPANPLUS::Error->stack_as_string;
- ### remove everything in the log that was there *before*
- ### we started this install
- substr( $stack, 0, $log_length, '' );
-
- print $fh $stack;
- close $fh;
-
- $self->__print(
- loc("*** Install log written to:\n %1\n\n", $file)
- );
- } else {
- warn "Could not open '$file': $!\n";
- next;
- }
- }
- }
-
- my $flag;
- ### then report whether all this went ok or not ###
- for my $mod (@$mods) {
- # if( $mod->status->installed ) {
- if( $status->{$mod} ) {
- $self->__print(
- loc("Module '%1' %tense(%2,past) successfully\n",
- $mod->module, $action)
- );
- } else {
- $flag++;
- $self->__print(
- loc("Error %tense(%1,present) '%2'\n", $action, $mod->module)
- );
- }
- }
-
-
-
- if( !$flag ) {
- $self->__print(
- loc("No errors %tense(%1,present) all modules", $action), "\n"
- );
- } else {
- $self->__print(
- loc("Problem %tense(%1,present) one or more modules", $action)
- );
- $self->__print( "\n" );
-
- $self->__print(
- loc("*** You can view the complete error buffer by pressing ".
- "'%1' ***\n", 'p')
- ) unless $conf->get_conf('verbose') || $self->noninteractive;
- }
- $self->__print( "\n" );
-
- return !$flag;
-}
-
-sub __ask_about_install {
- my $mod = shift or return;
- my $prereq = shift or return;
- my $term = $Shell->term;
-
- $Shell->__print( "\n" );
- $Shell->__print( loc("Module '%1' requires '%2' to be installed",
- $mod->module, $prereq->module ) );
- $Shell->__print( "\n\n" );
-
- ### previously cached answer?
- return $Shell->settings->{'install_all_prereqs'}
- if defined $Shell->settings->{'install_all_prereqs'};
-
-
- $Shell->__print(
- loc( "If you don't wish to see this question anymore\n".
- "you can disable it by entering the following ".
- "commands on the prompt:\n '%1'",
- 's conf prereqs 1; s save' ) );
- $Shell->__print("\n\n");
-
- my $yes = loc("Yes");
- my $no = loc("No");
- my $all = loc("Yes to all (for this module)");
- my $none = loc("No to all (for this module)");
-
- my $reply = $term->get_reply(
- prompt => loc("Should I install this module?"),
- choices => [ $yes, $no, $all, $none ],
- default => $yes,
- );
-
- ### if 'all' or 'none', save this, so we can apply it to
- ### other prereqs in this chain.
- $Shell->settings->{'install_all_prereqs'} =
- $reply eq $all ? 1 :
- $reply eq $none ? 0 :
- undef;
-
- ### if 'yes' or 'all', the user wants it installed
- return $reply eq $all ? 1 :
- $reply eq $yes ? 1 :
- 0;
-}
-
-sub __ask_about_send_test_report {
- my($mod, $grade) = @_;
- return 1 unless $grade eq GRADE_FAIL;
-
- my $term = $Shell->term;
-
- $Shell->__print( "\n" );
- $Shell->__print(
- loc("Test report prepared for module '%1'.\n Would you like to ".
- "send it? (You can edit it if you like)", $mod->module ) );
- $Shell->__print( "\n\n" );
- my $bool = $term->ask_yn(
- prompt => loc("Would you like to send the test report?"),
- default => 'n'
- );
-
- return $bool;
-}
-
-sub __ask_about_edit_test_report {
- my($mod, $grade) = @_;
- return 0 unless $grade eq GRADE_FAIL;
-
- my $term = $Shell->term;
-
- $Shell->__print( "\n" );
- $Shell->__print(
- loc("Test report prepared for module '%1'. You can edit this ".
- "report if you would like", $mod->module ) );
- $Shell->__print("\n\n");
- my $bool = $term->ask_yn(
- prompt => loc("Would you like to edit the test report?"),
- default => 'y'
- );
-
- return $bool;
-}
-
-sub __ask_about_test_failure {
- my $mod = shift;
- my $captured = shift || '';
- my $term = $Shell->term;
-
- $Shell->__print( "\n" );
- $Shell->__print(
- loc( "The tests for '%1' failed. Would you like me to proceed ".
- "anyway or should we abort?", $mod->module ) );
- $Shell->__print( "\n\n" );
-
- my $bool = $term->ask_yn(
- prompt => loc("Proceed anyway?"),
- default => 'n',
- );
-
- return $bool;
-}
-
-
-sub _details {
- my $self = shift;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
- my %hash = @_;
-
- my $args; my $mods; my $opts;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- modules => { required => 1, store => \$mods },
- options => { default => { }, store => \$opts },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- ### every module has about 10 lines of details
- ### maybe more later with Module::CPANTS etc
- $self->_pager_open if scalar @$mods * 10 > $self->_term_rowcount;
-
-
- my $format = "%-24s %-45s\n";
- my $cformat = "%-24s %-45s %-10s\n";
- for my $mod (@$mods) {
- my $href = $mod->details( %$opts );
- my @list = sort { $a->module cmp $b->module } $mod->contains;
-
- unless( $href ) {
- $self->__print(
- loc("No details for %1 - it might be outdated.",
- $mod->module), "\n" );
- next;
-
- } else {
- $self->__print( loc( "Details for '%1'\n", $mod->module ) );
- for my $item ( sort keys %$href ) {
- $self->__printf( $format, $item, $href->{$item} );
- }
-
- my $showed;
- for my $item ( @list ) {
- $self->__printf(
- $cformat, ($showed ? '' : 'Contains:'),
- $item->module, $item->version
- );
- $showed++;
- }
- $self->__print( "\n" );
- }
- }
- $self->_pager_close;
- $self->__print( "\n" );
-
- return 1;
-}
-
-sub _print {
- my $self = shift;
- my %hash = @_;
-
- my $args; my $opts; my $file;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- input => { default => '', store => \$file },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- my $old; my $fh;
- if( $file ) {
- $fh = FileHandle->new( ">$file" )
- or( warn loc("Could not open '%1': '%2'", $file, $!),
- return
- );
- $old = select $fh;
- }
-
-
- $self->_pager_open if !$file;
-
- $self->__print( CPANPLUS::Error->stack_as_string );
-
- $self->_pager_close;
-
- select $old if $old;
- $self->__print( "\n" );
-
- return 1;
-}
-
-sub _set_conf {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
-
- ### possible options
- ### XXX hard coded, not optimal :(
- my %types = (
- reconfigure => '',
- save => q([user | system | boxed]),
- edit => '',
- program => q([key => val]),
- conf => q([key => val]),
- mirrors => '',
- selfupdate => '', # XXX add all opts here?
- );
-
-
- my $args; my $opts; my $input;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- input => { default => '', store => \$input },
- };
-
- $args = check( $tmpl, \%hash ) or return;
- }
-
- 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' ) {
- my $setup = CPANPLUS::Configure::Setup->new(
- configure_object => $conf,
- term => $self->term,
- backend => $cb,
- );
- return $setup->init;
-
- } elsif ( $type eq 'save' ) {
- my $where = {
- user => CONFIG_USER,
- system => CONFIG_SYSTEM,
- boxed => CONFIG_BOXED,
- }->{ $key } || CONFIG_USER;
-
- ### boxed is special, so let's get its value from %INC
- ### so we can tell it where to save
- ### XXX perhaps this logic should be generic for all
- ### types, and put in the ->save() routine
- my $dir;
- if( $where eq CONFIG_BOXED ) {
- my $file = join( '/', split( '::', CONFIG_BOXED ) ) . '.pm';
- my $file_re = quotemeta($file);
-
- my $path = $INC{$file} || '';
- $path =~ s/$file_re$//;
- $dir = $path;
- }
-
- my $rv = $cb->configure_object->save( $where => $dir );
-
- $self->__print(
- $rv
- ? loc("Configuration successfully saved to %1\n (%2)\n",
- $where, $rv)
- : loc("Failed to save configuration\n" )
- );
- return $rv;
-
- } elsif ( $type eq 'edit' ) {
-
- my $editor = $conf->get_program('editor')
- or( print(loc("No editor specified")), return );
-
- my $where = {
- user => CONFIG_USER,
- system => CONFIG_SYSTEM,
- }->{ $key } || CONFIG_USER;
-
- my $file = $conf->_config_pm_to_file( $where );
- system($editor,$file);
-
- ### now reload it
- ### disable warnings for this
- { require Module::Loaded;
- Module::Loaded::mark_as_unloaded( $where );
-
- ### reinitialize the config
- local $^W;
- $conf->init;
- }
-
- return 1;
-
- } elsif ( $type eq 'mirrors' ) {
-
- $self->__print(
- loc("Readonly list of mirrors (in order of preference):\n\n" ) );
-
- my $i;
- for my $host ( @{$conf->get_conf('hosts')} ) {
- my $uri = $cb->_host_to_uri( %$host );
-
- $i++;
- $self->__print( "\t[$i] $uri\n" );
- }
-
- $self->__print(
- loc("\nTo edit this list, please type: '%1'\n", 's edit') );
-
- } elsif ( $type eq 'selfupdate' ) {
- my %valid = map { $_ => $_ }
- $cb->selfupdate_object->list_categories;
-
- unless( $valid{$key} ) {
- $self->__print(
- loc( "To update your current CPANPLUS installation, ".
- "choose one of the these options:\n%1",
- ( join $/, map {
- sprintf "\ts selfupdate %-17s " .
- "[--latest=0] [--dryrun]", $_
- } sort keys %valid )
- )
- );
- } else {
- my %update_args = (
- update => $key,
- latest => 1,
- %$opts
- );
-
-
- my %list = $cb->selfupdate_object
- ->list_modules_to_update( %update_args );
-
- $self->__print(loc("The following updates will take place:"),$/.$/);
-
- for my $feature ( sort keys %list ) {
- my $aref = $list{$feature};
-
- ### is it a 'feature' or a built in?
- $self->__print(
- $valid{$feature}
- ? " " . ucfirst($feature) . ":\n"
- : " Modules for '$feature' support:\n"
- );
-
- ### show what modules would be installed
- $self->__print(
- scalar @$aref
- ? map { sprintf " %-42s %-6s -> %-6s \n",
- $_->name, $_->installed_version, $_->version
- } @$aref
- : " No upgrades required\n"
- );
- $self->__print( $/ );
- }
-
-
- unless( $opts->{'dryrun'} ) {
- $self->__print( loc("Updating your CPANPLUS installation\n") );
- $cb->selfupdate_object->selfupdate( %update_args );
- }
- }
-
- } else {
-
- if ( $type eq 'program' or $type eq 'conf' ) {
-
- my $format = {
- conf => '%-25s %s',
- program => '%-12s %s',
- }->{ $type };
-
- unless( $key ) {
- my @list = grep { $_ ne 'hosts' }
- $conf->options( type => $type );
-
- my $method = 'get_' . $type;
-
- local $Data::Dumper::Indent = 0;
- for my $name ( @list ) {
- my $val = $conf->$method($name) || '';
- ($val) = ref($val)
- ? (Data::Dumper::Dumper($val) =~ /= (.*);$/)
- : "'$val'";
-
- $self->__printf( " $format\n", $name, $val );
- }
-
- } elsif ( $key eq 'hosts' or $key eq 'lib' ) {
- $self->__print(
- loc( "Setting %1 is not trivial.\n" .
- "It is suggested you use '%2' and edit the " .
- "configuration file manually", $key, 's edit')
- );
- } else {
- my $method = 'set_' . $type;
- $conf->$method( $key => defined $value ? $value : '' )
- and $self->__print( loc("Key '%1' was set to '%2'", $key,
- defined $value ? $value : 'EMPTY STRING') );
- }
-
- } else {
- $self->__print( loc("Unknown type '%1'",$type || 'EMPTY' ) );
- $self->__print( $/ );
- $self->__print( loc("Try one of the following:") );
- $self->__print( $/, join $/,
- map { sprintf "\t%-11s %s", $_, $types{$_} }
- sort keys %types );
- }
- }
- $self->__print( "\n" );
- return 1;
-}
-
-sub _uptodate {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
-
- my $opts; my $mods;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- modules => { required => 1, store => \$mods },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
- ### long listing? short is default ###
- my $long = $opts->{'long'} ? 1 : 0;
-
- my @list = scalar @$mods ? @$mods : @{$cb->_all_installed};
-
- my @rv; my %seen;
- for my $mod (@list) {
- ### skip this mod if it's up to date ###
- next if $mod->is_uptodate;
- ### skip this mod if it's core ###
- next if $mod->package_is_perl_core;
-
- if( $long or !$seen{$mod->package}++ ) {
- push @rv, $mod;
- }
- }
-
- @rv = sort { $a->module cmp $b->module } @rv;
-
- $self->cache([undef,@rv]);
-
- $self->_pager_open if scalar @rv >= $self->_term_rowcount;
-
- my $format = "%5s %12s %12s %-36s %-10s\n";
-
- my $i = 1;
- for my $mod ( @rv ) {
- $self->__printf(
- $format,
- $i,
- $self->_format_version($mod->installed_version) || 'Unparsable',
- $self->_format_version( $mod->version ),
- $mod->module,
- $mod->author->cpanid
- );
- $i++;
- }
- $self->_pager_close;
-
- return 1;
-}
-
-sub _autobundle {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $conf = $cb->configure_object;
-
- my $opts; my $input;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- input => { default => '', store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
- $opts->{'path'} = $input if $input;
-
- my $where = $cb->autobundle( %$opts );
-
- $self->__print(
- $where
- ? loc("Wrote autobundle to '%1'", $where)
- : loc("Could not create autobundle" )
- );
- $self->__print( "\n" );
-
- return $where ? 1 : 0;
-}
-
-sub _uninstall {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $term = $self->term;
- my $conf = $cb->configure_object;
-
- my $opts; my $mods;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- modules => { default => [], store => \$mods },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
- my $force = $opts->{'force'} || $conf->get_conf('force');
-
- unless( $force ) {
- my $list = join "\n", map { ' ' . $_->module } @$mods;
-
- $self->__print( loc("
-This will uninstall the following modules:
-%1
-
-Note that if you installed them via a package manager, you probably
-should use the same package manager to uninstall them
-
-", $list) );
-
- return unless $term->ask_yn(
- prompt => loc("Are you sure you want to continue?"),
- default => 'n',
- );
- }
-
- ### first loop over all the modules to uninstall them ###
- for my $mod (@$mods) {
- $self->__print( loc("Uninstalling '%1'", $mod->module), "\n" );
-
- $mod->uninstall( %$opts );
- }
-
- my $flag;
- ### then report whether all this went ok or not ###
- for my $mod (@$mods) {
- if( $mod->status->uninstall ) {
- $self->__print(
- loc("Module '%1' %tense(uninstall,past) successfully\n",
- $mod->module ) );
- } else {
- $flag++;
- $self->__print(
- loc("Error %tense(uninstall,present) '%1'\n", $mod->module) );
- }
- }
-
- if( !$flag ) {
- $self->__print(
- loc("All modules %tense(uninstall,past) successfully"), "\n" );
- } else {
- $self->__print(
- loc("Problem %tense(uninstall,present) one or more modules" ),
- "\n" );
-
- $self->__print(
- loc("*** You can view the complete error buffer by pressing '%1'".
- "***\n", 'p') ) unless $conf->get_conf('verbose');
- }
- $self->__print( "\n" );
-
- return !$flag;
-}
-
-sub _reports {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $term = $self->term;
- my $conf = $cb->configure_object;
-
- my $opts; my $mods;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- modules => { default => '', store => \$mods },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
- ### XXX might need to be conditional ###
- $self->_pager_open;
-
- for my $mod (@$mods) {
- my @list = $mod->fetch_report( %$opts )
- or( print(loc("No reports available for this distribution.")),
- next
- );
-
- @list = reverse
- map { $_->[0] }
- sort { $a->[1] cmp $b->[1] }
- map { [$_, $_->{'dist'}.':'.$_->{'platform'}] } @list;
-
-
-
- ### XXX this may need to be sorted better somehow ###
- my $url;
- my $format = "%8s %s %s\n";
-
- my %seen;
- for my $href (@list ) {
- $self->__print(
- "[" . $mod->author->cpanid .'/'. $href->{'dist'} . "]\n"
- ) unless $seen{ $href->{'dist'} }++;
-
- $self->__printf(
- $format,
- $href->{'grade'},
- $href->{'platform'},
- ($href->{'details'} ? '(*)' : '')
- );
-
- $url ||= $href->{'details'};
- }
-
- $self->__print( "\n==> $url\n" ) if $url;
- $self->__print( "\n" );
- }
- $self->_pager_close;
-
- return 1;
-}
-
-### Load plugins
-{ my @PluginModules;
- my %Dispatch = (
- showtip => [ __PACKAGE__, '_show_random_tip'],
- plugins => [ __PACKAGE__, '_list_plugins' ],
- '?' => [ __PACKAGE__, '_plugins_usage' ],
- );
-
- sub plugin_modules { return @PluginModules }
- sub plugin_table { return %Dispatch }
-
- my $init_done;
- sub _plugins_init {
-
- ### only initialize once
- return if $init_done++;
-
- ### find all plugins first
- if( check_install( module => 'Module::Pluggable', version => '2.4') ) {
- require Module::Pluggable;
-
- my $only_re = __PACKAGE__ . '::Plugins::\w+$';
-
- Module::Pluggable->import(
- sub_name => '_plugins',
- search_path => __PACKAGE__,
- only => qr/$only_re/,
- #except => [ INSTALLER_MM, INSTALLER_SAMPLE ]
- );
-
- push @PluginModules, __PACKAGE__->_plugins;
- }
-
- ### now try to load them
- for my $p ( __PACKAGE__->plugin_modules ) {
- my %map = eval { load $p; $p->import; $p->plugins };
- error(loc("Could not load plugin '$p': $@")), next if $@;
-
- ### register each plugin
- while( my($name, $func) = each %map ) {
-
- if( not length $name or not length $func ) {
- error(loc("Empty plugin name or dispatch function detected"));
- next;
- }
-
- if( exists( $Dispatch{$name} ) ) {
- error(loc("'%1' is already registered by '%2'",
- $name, $Dispatch{$name}->[0]));
- next;
- }
-
- ### register name, package and function
- $Dispatch{$name} = [ $p, $func ];
- }
- }
- }
-
- ### dispatch a plugin command to its function
- sub _meta {
- my $self = shift;
- my %hash = @_;
- my $cb = $self->backend;
- my $term = $self->term;
- my $conf = $cb->configure_object;
-
- my $opts; my $input;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- options => { default => { }, store => \$opts },
- input => { default => '', store => \$input },
- };
-
- check( $tmpl, \%hash ) or return;
- }
-
- $input =~ s/\s*(\S+)\s*//;
- my $cmd = $1;
-
- ### look up the command, or go to the default
- my $aref = $Dispatch{ $cmd } || [ __PACKAGE__, '_plugin_default' ];
-
- my($pkg,$func) = @$aref;
-
- my $rv = eval { $pkg->$func( $self, $cb, $cmd, $input, $opts ) };
-
- error( $@ ) if $@;
-
- ### return $rv instead, so input loop can be terminated?
- return 1;
- }
-
- sub _plugin_default { error(loc("No such plugin command")) }
-}
-
-### plugin commands
-{ my $help_format = " /%-21s # %s\n";
-
- sub _list_plugins {
- my $self = shift;
-
- $self->__print( loc("Available plugins:\n") );
- $self->__print( loc(" List usage by using: /? PLUGIN_NAME\n" ) );
- $self->__print( $/ );
-
- my %table = __PACKAGE__->plugin_table;
- for my $name( sort keys %table ) {
- my $pkg = $table{$name}->[0];
- my $this = __PACKAGE__;
-
- my $who = $pkg eq $this
- ? "Standard Plugin"
- : do { my $v = $self->_format_version($pkg->VERSION) || '';
- $pkg =~ s/^$this/../;
- sprintf "Provided by: %-30s %-10s", $pkg, $v;
- };
-
- $self->__printf( $help_format, $name, $who );
- }
-
- $self->__print( $/.$/ );
-
- $self->__print(
- " Write your own plugins? Read the documentation of:\n" .
- " CPANPLUS::Shell::Default::Plugins::HOWTO\n" );
-
- $self->__print( $/ );
- }
-
- sub _list_plugins_help {
- return sprintf $help_format, 'plugins', loc("lists available plugins");
- }
-
- ### registered as a plugin too
- sub _show_random_tip_help {
- return sprintf $help_format, 'showtip', loc("show usage tips" );
- }
-
- sub _plugins_usage {
- my $self = shift;
- my $shell = shift;
- my $cb = shift;
- my $cmd = shift;
- my $input = shift;
- my %table = $self->plugin_table;
-
- my @list = length $input ? split /\s+/, $input : sort keys %table;
-
- for my $name( @list ) {
-
- ### no such plugin? skip
- error(loc("No such plugin '$name'")), next unless $table{$name};
-
- my $pkg = $table{$name}->[0];
- my $func = $table{$name}->[1] . '_help';
-
- if ( my $sub = $pkg->can( $func ) ) {
- eval { $self->__print( $sub->() ) };
- error( $@ ) if $@;
-
- } else {
- $self->__print(" No usage for '$name' -- try perldoc $pkg");
- }
-
- $self->__print( $/ );
- }
-
- $self->__print( $/.$/ );
- }
-
- sub _plugins_usage_help {
- return sprintf $help_format, '? [NAME ...]',
- loc("show usage for plugins");
- }
-}
-
-### send a command to a remote host, retrieve the answer;
-sub __send_remote_command {
- my $self = shift;
- my $cmd = shift;
- my $remote = $self->remote or return;
- my $user = $remote->{'username'};
- my $pass = $remote->{'password'};
- my $conn = $remote->{'connection'};
- my $end = "\015\012";
- my $answer;
-
- my $send = join "\0", $user, $pass, $cmd;
-
- print $conn $send . $end;
-
- ### XXX why doesn't something like this just work?
- #1 while recv($conn, $answer, 1024, 0);
- while(1) {
- my $buff;
- $conn->recv( $buff, 1024, 0 );
- $answer .= $buff;
- last if $buff =~ /$end$/;
- }
-
- my($status,$buffer) = split "\0", $answer;
-
- return ($status, $buffer);
-}
-
-
-sub _read_configuration_from_rc {
- my $self = shift;
- my $rc_file = shift;
-
- my $href;
- if( can_load( modules => { 'Config::Auto' => '0.0' } ) ) {
- $Config::Auto::DisablePerl = 1;
-
- eval { $href = Config::Auto::parse( $rc_file, format => 'space' ) };
-
- $self->__print(
- loc( "Unable to read in config file '%1': %2", $rc_file, $@ )
- ) if $@;
- }
-
- return $href || {};
-}
-
-{ my @tips = (
- loc( "You can update CPANPLUS by running: '%1'", 's selfupdate' ),
- loc( "You can install modules by URL using '%1'", 'i URL' ),
- loc( "You can turn off these tips using '%1'",
- 's conf show_startup_tip 0' ),
- loc( "You can use wildcards like '%1' and '%2' on search results",
- '*', '2..5' ) ,
- loc( "You can use plugins. Type '%1' to list available plugins",
- '/plugins' ),
- loc( "You can show all your out of date modules using '%1'", 'o' ),
- loc( "Many operations take options, like '%1', '%2' or '%3'",
- '--verbose', '--force', '--skiptest' ),
- loc( "The documentation in %1 and %2 is very useful",
- "CPANPLUS::Module", "CPANPLUS::Backend" ),
- loc( "You can type '%1' for help and '%2' to exit", 'h', 'q' ),
- loc( "You can run an interactive setup using '%1'", 's reconfigure' ),
- loc( "You can add custom sources to your index. See '%1' for details",
- '/cs --help' ),
- loc( "CPANPLUS now has an experimental SQLite backend. You can enable ".
- "it via: '%1'. Update dependencies via '%2'",
- 's conf source_engine CPANPLUS::Internals::Source::SQLite; s save',
- 's selfupdate enabled_features ' ),
- );
-
- sub _show_random_tip {
- my $self = shift;
- $self->__print( $/, "Did you know...\n ",
- $tips[ int rand scalar @tips ], $/ );
- return 1;
- }
-}
-
-sub _reload_shell {
- { exec ($^X, '-MCPANPLUS', '-e', 'shell') }; print STDERR "couldn't exec foo: $!";
-}
-
-1;
-
-__END__
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Classic>, L<CPANPLUS::Shell>, L<cpanp>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
-__END__
-
-TODO:
- e => "_expand_inc", # scratch it, imho -- not used enough
-
-### free letters: g j k n y ###
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
deleted file mode 100644
index 1c77ae24f58..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
+++ /dev/null
@@ -1,205 +0,0 @@
-package CPANPLUS::Shell::Default::Plugins::CustomSource;
-use deprecate;
-
-use strict;
-use CPANPLUS::Error qw[error msg];
-use CPANPLUS::Internals::Constants;
-
-use Data::Dumper;
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=head1 NAME
-
-CPANPLUS::Shell::Default::Plugins::CustomSource - add custom sources to CPANPLUS
-
-=head1 SYNOPSIS
-
- ### elaborate help text
- CPAN Terminal> /? cs
-
- ### add a new custom source
- CPAN Terminal> /cs --add file:///path/to/releases
-
- ### list all your custom sources by
- CPAN Terminal> /cs --list
-
- ### display the contents of a custom source by URI or ID
- CPAN Terminal> /cs --contents file:///path/to/releases
- CPAN Terminal> /cs --contents 1
-
- ### Update a custom source by URI or ID
- CPAN Terminal> /cs --update file:///path/to/releases
- CPAN Terminal> /cs --update 1
-
- ### Remove a custom source by URI or ID
- CPAN Terminal> /cs --remove file:///path/to/releases
- CPAN Terminal> /cs --remove 1
-
- ### Write an index file for a custom source, to share
- ### with 3rd parties or remote users
- CPAN Terminal> /cs --write file:///path/to/releases
-
- ### Make sure to save your sources when adding/removing
- ### sources, so your changes are reflected in the cache:
- CPAN Terminal> x
-
-=head1 DESCRIPTION
-
-This is a C<CPANPLUS::Shell::Default> plugin that can add
-custom sources to your CPANPLUS installation. This is a
-wrapper around the C<custom module sources> code as outlined
-in L<CPANPLUS::Backend/CUSTOM MODULE SOURCES>.
-
-This allows you to extend your index of available modules
-beyond what's available on C<CPAN> with your own local
-distributions, or ones offered by third parties.
-
-=cut
-
-
-sub plugins {
- return ( cs => 'custom_source' )
-}
-
-my $Cb;
-my $Shell;
-my @Index = ();
-
-sub _uri_from_cache {
- my $self = shift;
- my $input = shift or return;
-
- ### you gave us a search number
- my $uri = $input =~ /^\d+$/
- ? $Index[ $input - 1 ] # remember, off by 1!
- : $input;
-
- my %files = reverse $Cb->list_custom_sources;
-
- ### it's an URI we know
- ### VMS can lower case all files, so make sure we check that too
- my $local = $files{ $uri };
- $local = $files{ lc $uri } if !$local && ON_VMS;
-
- if( $local ) {
- return wantarray
- ? ($uri, $local)
- : $uri;
- }
-
- ### couldn't resolve the input
- error(loc("Unknown URI/index: '%1'", $input));
- return;
-}
-
-sub _list_custom_sources {
- my $class = shift;
-
- my %files = $Cb->list_custom_sources;
-
- $Shell->__print( loc("Your remote sources:"), $/ ) if keys %files;
-
- my $i = 0;
- while(my($local,$remote) = each %files) {
- $Shell->__printf( " [%2d] %s\n", ++$i, $remote );
-
- ### remember, off by 1!
- push @Index, $remote;
- }
-
- $Shell->__print( $/ );
-}
-
-sub _list_contents {
- my $class = shift;
- my $input = shift;
-
- my ($uri,$local) = $class->_uri_from_cache( $input );
- unless( $uri ) {
- error(loc("--contents needs URI parameter"));
- return;
- }
-
- my $fh = OPEN_FILE->( $local ) or return;
-
- $Shell->__printf( " %s", $_ ) for sort <$fh>;
- $Shell->__print( $/ );
-}
-
-sub custom_source {
- my $class = shift;
- my $shell = shift; $Shell = $shell; # available to all methods now
- my $cb = shift; $Cb = $cb; # available to all methods now
- my $cmd = shift;
- my $input = shift || '';
- my $opts = shift || {};
-
- ### show a list
- if( $opts->{'list'} ) {
- $class->_list_custom_sources;
-
- } elsif ( $opts->{'contents'} ) {
- $class->_list_contents( $input );
-
- } elsif ( $opts->{'add'} ) {
- unless( $input ) {
- error(loc("--add needs URI parameter"));
- return;
- }
-
- $cb->add_custom_source( uri => $input )
- and $shell->__print(loc("Added remote source '%1'", $input), $/);
-
- $Shell->__print($/, loc("Remote source contains:"), $/, $/);
- $class->_list_contents( $input );
-
- } elsif ( $opts->{'remove'} ) {
- my($uri,$local) = $class->_uri_from_cache( $input );
- unless( $uri ) {
- error(loc("--remove needs URI parameter"));
- return;
- }
-
- 1 while unlink $local;
-
- $shell->__print( loc("Removed remote source '%1'", $uri), $/ );
-
- } elsif ( $opts->{'update'} ) {
- ### did we get input? if so, it's a remote part
- my $uri = $class->_uri_from_cache( $input );
-
- $cb->update_custom_source( $uri ? ( remote => $uri ) : () )
- and do { $shell->__print( loc("Updated remote sources"), $/ ) };
-
- } elsif ( $opts->{'write'} ) {
- $cb->write_custom_source_index( path => $input ) and
- $shell->__print( loc("Wrote remote source index for '%1'", $input), $/);
-
- } else {
- error(loc("Unrecognized command, see '%1' for help", '/? cs'));
- }
-
- return;
-}
-
-sub custom_source_help {
- return loc(
- $/ .
- ' # Plugin to manage custom sources from the default shell' . $/ .
- " # See the 'CUSTOM MODULE SOURCES' section in the " . $/ .
- ' # CPANPLUS::Backend documentation for details.' . $/ .
- ' /cs --list # list available sources' . $/ .
- ' /cs --add URI # add source' . $/ .
- ' /cs --remove URI | INDEX # remove source' . $/ .
- ' /cs --contents URI | INDEX # show packages from source'. $/ .
- ' /cs --update [URI | INDEX] # update source index' . $/ .
- ' /cs --write PATH # write source index' . $/
- );
-
-}
-
-1;
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
deleted file mode 100644
index 0e749646c81..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
+++ /dev/null
@@ -1,190 +0,0 @@
-package CPANPLUS::Shell::Default::Plugins::Remote;
-use deprecate;
-
-use strict;
-
-use Module::Load;
-use Params::Check qw[check];
-use CPANPLUS::Error qw[error msg];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=head1 NAME
-
-CPANPLUS::Shell::Default::Plugins::Remote - connect to a remote CPANPLUS
-
-=head1 SYNOPSIS
-
- CPAN Terminal> /connect localhost 1337 --user=foo --pass=bar
- ...
- CPAN Terminal@localhost> /disconnect
-
-=head1 DESCRIPTION
-
-This is a C<CPANPLUS::Shell::Default> plugin that allows you to connect
-to a machine running an instance of C<CPANPLUS::Daemon>, allowing remote
-usage of the C<CPANPLUS Shell>.
-
-A sample session, updating all modules on a remote machine, might look
-like this:
-
- CPAN Terminal> /connect --user=my_user --pass=secret localhost 1337
-
- Connection accepted
-
- Successfully connected to 'localhost' on port '11337'
-
- Note that no output will appear until a command has completed
- -- this may take a while
-
-
- CPAN Terminal@localhost> o; i *
-
- [....]
-
- CPAN Terminal@localhost> /disconnect
-
- CPAN Terminal>
-
-=cut
-
-### store the original prompt here, so we can restore it on disconnect
-my $Saved_Prompt;
-
-sub plugins { ( connect => 'connect', disconnect => 'disconnect' ) }
-
-sub connect {
- my $class = shift;
- my $shell = shift;
- my $cb = shift;
- my $cmd = shift;
- my $input = shift || '';
- my $opts = shift || {};
- my $conf = $cb->configure_object;
-
- my $user; my $pass;
- { local $Params::Check::ALLOW_UNKNOWN = 1;
-
- my $tmpl = {
- user => { default => 'cpanpd', store => \$user },
- pass => { required => 1, store => \$pass },
- };
-
- check( $tmpl, $opts ) or return;
- }
-
- my @parts = split /\s+/, $input;
- my $host = shift @parts || 'localhost';
- my $port = shift @parts || '1337';
-
- load IO::Socket;
-
- my $remote = IO::Socket::INET->new(
- Proto => "tcp",
- PeerAddr => $host,
- PeerPort => $port,
- ) or (
- error( loc( "Cannot connect to port '%1' ".
- "on host '%2'", $port, $host ) ),
- return
- );
-
- my $con = {
- connection => $remote,
- username => $user,
- password => $pass,
- };
-
- ### store the connection
- $shell->remote( $con );
-
- my($status,$buffer) = $shell->__send_remote_command(
- "VERSION=$CPANPLUS::Shell::Default::VERSION");
-
- if( $status ) {
- print "\n$buffer\n\n";
-
- print loc( "Successfully connected to '%1' on port '%2'",
- $host, $port );
- print "\n\n";
- print loc( "Note that no output will appear until a command ".
- "has completed\n-- this may take a while" );
- print "\n\n";
-
- ### save the original prompt
- $Saved_Prompt = $shell->prompt;
-
- $shell->prompt( $shell->brand .'@'. $host .':'. $port .'> ' );
-
- } else {
- print "\n$buffer\n\n";
-
- print loc( "Failed to connect to '%1' on port '%2'",
- $host, $port );
- print "\n\n";
-
- $shell->remote( undef );
- }
-}
-
-sub disconnect {
- my $class = shift;
- my $shell = shift;
-
- print "\n", ( $shell->remote
- ? loc( "Disconnecting from remote host" )
- : loc( "Not connected to remote host" )
- ), "\n\n";
-
- $shell->remote( undef );
- $shell->prompt( $Saved_Prompt );
-}
-
-sub connect_help {
- return loc(
- " /connect [HOST PORT] # Connect to the remote machine,\n" .
- " # defaults taken from your config\n" .
- " --user=USER # Optional username\n" .
- " --pass=PASS # Optional password" );
-}
-
-sub disconnect_help {
- return loc(
- " /disconnect # Disconnect from the remote server" );
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Default>, L<CPANPLUS::Shell>, L<cpanp>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
deleted file mode 100644
index 30383398eb8..00000000000
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
+++ /dev/null
@@ -1,111 +0,0 @@
-package CPANPLUS::Shell::Default::Plugins::Source;
-use deprecate;
-
-use strict;
-use CPANPLUS::Error qw[error msg];
-use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
-
-use vars qw[$VERSION];
-$VERSION = "0.9135";
-
-=head1 NAME
-
-CPANPLUS::Shell::Default::Plugins::Source - read in CPANPLUS commands
-
-=head1 SYNOPSIS
-
- CPAN Terminal> /source /tmp/list_of_commands /tmp/more_commands
-
-=head1 DESCRIPTION
-
-This is a C<CPANPLUS::Shell::Default> plugin that works just like
-your unix shells source(1) command; it reads in a file that has
-commands in it to execute, and then executes them.
-
-A sample file might look like this:
-
- # first, update all the source files
- x --update_source
-
- # find all of my modules that are on the CPAN
- # test them, and store the error log
- a ^KANE$'
- t *
- p /home/kane/cpan-autotest/log
-
- # and inform us we're good to go
- ! print "Autotest complete, log stored; please enter your commands!"
-
-Note how empty lines, and lines starting with a '#' are being skipped
-in the execution.
-
-=cut
-
-
-sub plugins { return ( source => 'source' ) }
-
-sub source {
- my $class = shift;
- my $shell = shift;
- my $cb = shift;
- my $cmd = shift;
- my $input = shift || '';
- my $opts = shift || {};
- my $verbose = $cb->configure_object->get_conf('verbose');
-
- for my $file ( split /\s+/, $input ) {
- my $fh = FileHandle->new("$file") or(
- error(loc("Could not open file '%1': %2", $file, $!)),
- next
- );
-
- while( my $line = <$fh> ) {
- chomp $line;
-
- next if $line !~ /\S+/; # skip empty/whitespace only lines
- next if $line =~ /^#/; # skip comments
-
- msg(loc("Dispatching '%1'", $line), $verbose);
- return 1 if $shell->dispatch_on_input( input => $line );
- }
- }
-}
-
-sub source_help {
- return loc(' /source FILE [FILE ..] '.
- '# read in commands from the specified file' ),
-}
-
-1;
-
-=pod
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, 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.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Default>, L<CPANPLUS::Shell>, L<cpanp>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-
diff --git a/Master/tlpkg/tlperl/lib/Carp.pm b/Master/tlpkg/tlperl/lib/Carp.pm
index 69caac3e267..e1dca01e52c 100644
--- a/Master/tlpkg/tlperl/lib/Carp.pm
+++ b/Master/tlpkg/tlperl/lib/Carp.pm
@@ -3,34 +3,98 @@ package Carp;
{ use 5.006; }
use strict;
use warnings;
+BEGIN {
+ # Very old versions of warnings.pm load Carp. This can go wrong due
+ # to the circular dependency. If warnings is invoked before Carp,
+ # then warnings starts by loading Carp, then Carp (above) tries to
+ # invoke warnings, and gets nothing because warnings is in the process
+ # of loading and hasn't defined its import method yet. If we were
+ # only turning on warnings ("use warnings" above) this wouldn't be too
+ # bad, because Carp would just gets the state of the -w switch and so
+ # might not get some warnings that it wanted. The real problem is
+ # that we then want to turn off Unicode warnings, but "no warnings
+ # 'utf8'" won't be effective if we're in this circular-dependency
+ # situation. So, if warnings.pm is an affected version, we turn
+ # off all warnings ourselves by directly setting ${^WARNING_BITS}.
+ # On unaffected versions, we turn off just Unicode warnings, via
+ # the proper API.
+ if(!defined($warnings::VERSION) || eval($warnings::VERSION) < 1.06) {
+ ${^WARNING_BITS} = "";
+ } else {
+ "warnings"->unimport("utf8");
+ }
+}
+
+sub _fetch_sub { # fetch sub without autovivifying
+ my($pack, $sub) = @_;
+ $pack .= '::';
+ # only works with top-level packages
+ return unless exists($::{$pack});
+ for ($::{$pack}) {
+ return unless ref \$_ eq 'GLOB' && *$_{HASH} && exists $$_{$sub};
+ for ($$_{$sub}) {
+ return ref \$_ eq 'GLOB' ? *$_{CODE} : undef
+ }
+ }
+}
+# UTF8_REGEXP_PROBLEM is a compile-time constant indicating whether Carp
+# must avoid applying a regular expression to an upgraded (is_utf8)
+# string. There are multiple problems, on different Perl versions,
+# that require this to be avoided. All versions prior to 5.13.8 will
+# load utf8_heavy.pl for the swash system, even if the regexp doesn't
+# use character classes. Perl 5.6 and Perls [5.11.2, 5.13.11) exhibit
+# specific problems when Carp is being invoked in the aftermath of a
+# syntax error.
BEGIN {
- no strict "refs";
- if(exists($::{"utf8::"}) && exists(*{$::{"utf8::"}}{HASH}->{"is_utf8"}) &&
- defined(*{*{$::{"utf8::"}}{HASH}->{"is_utf8"}}{CODE})) {
- *is_utf8 = \&{"utf8::is_utf8"};
+ if("$]" < 5.013011) {
+ *UTF8_REGEXP_PROBLEM = sub () { 1 };
} else {
- *is_utf8 = sub { 0 };
+ *UTF8_REGEXP_PROBLEM = sub () { 0 };
}
}
+# is_utf8() is essentially the utf8::is_utf8() function, which indicates
+# whether a string is represented in the upgraded form (using UTF-8
+# internally). As utf8::is_utf8() is only available from Perl 5.8
+# onwards, extra effort is required here to make it work on Perl 5.6.
BEGIN {
- no strict "refs";
- if(exists($::{"utf8::"}) && exists(*{$::{"utf8::"}}{HASH}->{"downgrade"}) &&
- defined(*{*{$::{"utf8::"}}{HASH}->{"downgrade"}}{CODE})) {
+ if(defined(my $sub = _fetch_sub utf8 => 'is_utf8')) {
+ *is_utf8 = $sub;
+ } else {
+ # black magic for perl 5.6
+ *is_utf8 = sub { unpack("C", "\xaa".$_[0]) != 170 };
+ }
+}
+
+# The downgrade() function defined here is to be used for attempts to
+# downgrade where it is acceptable to fail. It must be called with a
+# second argument that is a true value.
+BEGIN {
+ if(defined(my $sub = _fetch_sub utf8 => 'downgrade')) {
*downgrade = \&{"utf8::downgrade"};
} else {
- *downgrade = sub {};
+ *downgrade = sub {
+ my $r = "";
+ my $l = length($_[0]);
+ for(my $i = 0; $i != $l; $i++) {
+ my $o = ord(substr($_[0], $i, 1));
+ return if $o > 255;
+ $r .= chr($o);
+ }
+ $_[0] = $r;
+ };
}
}
-our $VERSION = '1.29';
+our $VERSION = '1.3301';
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 $RefArgFormatter = undef; # allow caller to format reference arguments
require Exporter;
our @ISA = ('Exporter');
@@ -70,6 +134,7 @@ sub _cgc {
}
sub longmess {
+ local($!, $^E);
# Icky backwards compatibility wrapper. :-(
#
# The story is that the original implementation hard-coded the
@@ -90,6 +155,7 @@ sub longmess {
our @CARP_NOT;
sub shortmess {
+ local($!, $^E);
my $cgc = _cgc();
# Icky backwards compatibility wrapper. :-(
@@ -145,10 +211,7 @@ sub caller_info {
my $where = eval {
my $func = $cgc or return '';
my $gv =
- *{
- ( $::{"B::"} || return '') # B stash
- ->{svref_2object} || return '' # entry in stash
- }{CODE} # coderef in entry
+ (_fetch_sub B => 'svref_2object' or return '')
->($func)->GV;
my $package = $gv->STASH->NAME;
my $subname = $gv->NAME;
@@ -185,32 +248,91 @@ sub caller_info {
}
# Transform an argument to a function into a string.
+our $in_recurse;
sub format_arg {
my $arg = shift;
+
if ( ref($arg) ) {
- $arg = defined($overload::VERSION) ? overload::StrVal($arg) : "$arg";
+ # legitimate, let's not leak it.
+ if (!$in_recurse &&
+ do {
+ local $@;
+ local $in_recurse = 1;
+ local $SIG{__DIE__} = sub{};
+ eval {$arg->can('CARP_TRACE') }
+ })
+ {
+ return $arg->CARP_TRACE();
+ }
+ elsif (!$in_recurse &&
+ defined($RefArgFormatter) &&
+ do {
+ local $@;
+ local $in_recurse = 1;
+ local $SIG{__DIE__} = sub{};
+ eval {$arg = $RefArgFormatter->($arg); 1}
+ })
+ {
+ return $arg;
+ }
+ else
+ {
+ my $sub = _fetch_sub(overload => 'StrVal');
+ return $sub ? &$sub($arg) : "$arg";
+ }
}
- if ( defined($arg) ) {
- $arg =~ s/'/\\'/g;
- $arg = str_len_trim( $arg, $MaxArgLen );
-
- # Quote it?
- # Downgrade, and use [0-9] rather than \d, to avoid loading
- # Unicode tables, which would be liable to fail if we're
- # processing a syntax error.
- downgrade($arg, 1);
- $arg = "'$arg'" unless $arg =~ /^-?[0-9.]+\z/;
+ return "undef" if !defined($arg);
+ downgrade($arg, 1);
+ return $arg if !(UTF8_REGEXP_PROBLEM && is_utf8($arg)) &&
+ $arg =~ /\A-?[0-9]+(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?\z/;
+ my $suffix = "";
+ if ( 2 < $MaxArgLen and $MaxArgLen < length($arg) ) {
+ substr ( $arg, $MaxArgLen - 3 ) = "";
+ $suffix = "...";
}
- else {
- $arg = 'undef';
+ if(UTF8_REGEXP_PROBLEM && is_utf8($arg)) {
+ for(my $i = length($arg); $i--; ) {
+ my $c = substr($arg, $i, 1);
+ my $x = substr($arg, 0, 0); # work around bug on Perl 5.8.{1,2}
+ if($c eq "\"" || $c eq "\\" || $c eq "\$" || $c eq "\@") {
+ substr $arg, $i, 0, "\\";
+ next;
+ }
+ my $o = ord($c);
+ substr $arg, $i, 1, sprintf("\\x{%x}", $o)
+ if $o < 0x20 || $o > 0x7f;
+ }
+ } else {
+ $arg =~ s/([\"\\\$\@])/\\$1/g;
+ $arg =~ s/([^ -~])/sprintf("\\x{%x}",ord($1))/eg;
}
+ downgrade($arg, 1);
+ return "\"".$arg."\"".$suffix;
+}
- # The following handling of "control chars" is direct from
- # the original code - it is broken on Unicode though.
- # Suggestions?
- is_utf8($arg)
- or $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg;
- return $arg;
+sub Regexp::CARP_TRACE {
+ my $arg = "$_[0]";
+ downgrade($arg, 1);
+ if(UTF8_REGEXP_PROBLEM && is_utf8($arg)) {
+ for(my $i = length($arg); $i--; ) {
+ my $o = ord(substr($arg, $i, 1));
+ my $x = substr($arg, 0, 0); # work around bug on Perl 5.8.{1,2}
+ substr $arg, $i, 1, sprintf("\\x{%x}", $o)
+ if $o < 0x20 || $o > 0x7f;
+ }
+ } else {
+ $arg =~ s/([^ -~])/sprintf("\\x{%x}",ord($1))/eg;
+ }
+ downgrade($arg, 1);
+ my $suffix = "";
+ if($arg =~ /\A\(\?\^?([a-z]*)(?:-[a-z]*)?:(.*)\)\z/s) {
+ ($suffix, $arg) = ($1, $2);
+ }
+ if ( 2 < $MaxArgLen and $MaxArgLen < length($arg) ) {
+ substr ( $arg, $MaxArgLen - 3 ) = "";
+ $suffix = "...".$suffix;
+ }
+ return "qr($arg)$suffix";
}
# Takes an inheritance cache and a package and returns
@@ -431,10 +553,15 @@ sub trusts {
sub trusts_directly {
my $class = shift;
no strict 'refs';
- no warnings 'once';
- return @{"$class\::CARP_NOT"}
- ? @{"$class\::CARP_NOT"}
- : @{"$class\::ISA"};
+ my $stash = \%{"$class\::"};
+ for my $var (qw/ CARP_NOT ISA /) {
+ # Don't try using the variable until we know it exists,
+ # to avoid polluting the caller's namespace.
+ if ( $stash->{$var} && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) {
+ return @{$stash->{$var}}
+ }
+ }
+ return;
}
if(!defined($warnings::VERSION) ||
@@ -490,6 +617,13 @@ error as being from where your module was called. C<shortmess()> returns the
contents of this error message. There is no guarantee that that is where the
error was, but it is a good educated guess.
+C<Carp> takes care not to clobber the status variables C<$!> and C<$^E>
+in the course of assembling its error messages. This means that a
+C<$SIG{__DIE__}> or C<$SIG{__WARN__}> handler can capture the error
+information held in those variables, if it is required to augment the
+error message, and if the code calling C<Carp> left useful values there.
+Of course, C<Carp> can't guarantee the latter.
+
You can also alter the way the output and logic of C<Carp> works, by
changing some global variables in the C<Carp> namespace. See the
section on C<GLOBAL VARIABLES> below.
@@ -560,6 +694,41 @@ environment variable.
Alternately, you can set the global variable C<$Carp::Verbose> to true.
See the C<GLOBAL VARIABLES> section below.
+=head2 Stack Trace formatting
+
+At each stack level, the subroutine's name is displayed along with
+its parameters. For simple scalars, this is sufficient. For complex
+data types, such as objects and other references, this can simply
+display C<'HASH(0x1ab36d8)'>.
+
+Carp gives two ways to control this.
+
+=over 4
+
+=item 1.
+
+For objects, a method, C<CARP_TRACE>, will be called, if it exists. If
+this method doesn't exist, or it recurses into C<Carp>, or it otherwise
+throws an exception, this is skipped, and Carp moves on to the next option,
+otherwise checking stops and the string returned is used. It is recommended
+that the object's type is part of the string to make debugging easier.
+
+=item 2.
+
+For any type of reference, C<$Carp::RefArgFormatter> is checked (see below).
+This variable is expected to be a code reference, and the current parameter
+is passed in. If this function doesn't exist (the variable is undef), or
+it recurses into C<Carp>, or it otherwise throws an exception, this is
+skipped, and Carp moves on to the next option, otherwise checking stops
+and the string returned is used.
+
+=item 3.
+
+Otherwise, if neither C<CARP_TRACE> nor C<$Carp::RefArgFormatter> is
+available, stringify the value ignoring any overloading.
+
+=back
+
=head1 GLOBAL VARIABLES
=head2 $Carp::MaxEvalLen
@@ -592,6 +761,17 @@ is implemented internally.
Defaults to C<0>.
+=head2 $Carp::RefArgFormatter
+
+This variable sets a general argument formatter to display references.
+Plain scalars and objects that implement C<CARP_TRACE> will not go through
+this formatter. Calling C<Carp> from within this function is not supported.
+
+local $Carp::RefArgFormatter = sub {
+ require Data::Dumper;
+ Data::Dumper::Dump($_[0]); # not necessarily safe
+};
+
=head2 @CARP_NOT
This variable, I<in your package>, says which packages are I<not> to be
@@ -685,6 +865,9 @@ The Carp routines don't handle exception objects currently.
If called with a first argument that is a reference, they simply
call die() or warn(), as appropriate.
+Some of the Carp code assumes that Perl's basic character encoding is
+ASCII, and will go wrong on an EBCDIC platform.
+
=head1 SEE ALSO
L<Carp::Always>,
@@ -699,9 +882,9 @@ distribution.
=head1 COPYRIGHT
-Copyright (C) 1994-2012 Larry Wall
+Copyright (C) 1994-2013 Larry Wall
-Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
+Copyright (C) 2011, 2012, 2013 Andrew Main (Zefram) <zefram@fysh.org>
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/Carp/Heavy.pm b/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
index 283b09bbf6d..a14672b9728 100644
--- a/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
+++ b/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
@@ -2,7 +2,12 @@ package Carp::Heavy;
use Carp ();
-our $VERSION = '1.29';
+our $VERSION = '1.3301';
+
+my $cv = defined($Carp::VERSION) ? $Carp::VERSION : "undef";
+if($cv ne $VERSION) {
+ die "Version mismatch between Carp $cv ($INC{q(Carp.pm)}) and Carp::Heavy $VERSION ($INC{q(Carp/Heavy.pm)}). Did you alter \@INC after Carp was loaded?\n";
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/Class/Struct.pm b/Master/tlpkg/tlperl/lib/Class/Struct.pm
index ecb623199fd..0aaab519b73 100644
--- a/Master/tlpkg/tlperl/lib/Class/Struct.pm
+++ b/Master/tlpkg/tlperl/lib/Class/Struct.pm
@@ -14,7 +14,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(struct);
-$VERSION = '0.64';
+$VERSION = '0.65';
my $print = 0;
sub printem {
@@ -262,10 +262,11 @@ Class::Struct - declare struct-like datatypes as Perl classes
struct( ELEMENT_NAME => ELEMENT_TYPE, ... );
# Declare struct at compile time
- use Class::Struct CLASS_NAME => [ ELEMENT_NAME => ELEMENT_TYPE, ... ];
- use Class::Struct CLASS_NAME => { ELEMENT_NAME => ELEMENT_TYPE, ... };
+ use Class::Struct CLASS_NAME => [ELEMENT_NAME => ELEMENT_TYPE, ...];
+ use Class::Struct CLASS_NAME => {ELEMENT_NAME => ELEMENT_TYPE, ...};
- # declare struct at compile time, based on array, implicit class name:
+ # declare struct at compile time, based on array, implicit
+ # class name:
package CLASS_NAME;
use Class::Struct ELEMENT_NAME => ELEMENT_TYPE, ... ;
@@ -475,11 +476,12 @@ type C<Timeval>.
tv_usecs => '$', # microseconds
]);
- # create an object:
- my $t = Rusage->new(ru_utime=>Timeval->new(), ru_stime=>Timeval->new());
+ # create an object:
+ my $t = Rusage->new(ru_utime=>Timeval->new(),
+ ru_stime=>Timeval->new());
- # $t->ru_utime and $t->ru_stime are objects of type Timeval.
- # set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec.
+ # $t->ru_utime and $t->ru_stime are objects of type Timeval.
+ # set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec.
$t->ru_utime->tv_secs(100);
$t->ru_utime->tv_usecs(0);
$t->ru_stime->tv_secs(5);
@@ -549,16 +551,16 @@ that are passed on to the nested struct's constructor.
];
- my $cat = Cat->new( name => 'Socks',
- kittens => ['Monica', 'Kenneth'],
- markings => { socks=>1, blaze=>"white" },
- breed => Breed->new(name=>'short-hair', cross=>1),
- or: breed => {name=>'short-hair', cross=>1},
+ my $cat = Cat->new( name => 'Socks',
+ kittens => ['Monica', 'Kenneth'],
+ markings => { socks=>1, blaze=>"white" },
+ breed => Breed->new(name=>'short-hair', cross=>1),
+ or: breed => {name=>'short-hair', cross=>1},
);
print "Once a cat called ", $cat->name, "\n";
print "(which was a ", $cat->breed->name, ")\n";
- print "had two kittens: ", join(' and ', @{$cat->kittens}), "\n";
+ print "had 2 kittens: ", join(' and ', @{$cat->kittens}), "\n";
=back
@@ -629,7 +631,7 @@ Originally C<Class::Template> by Dean Roehrich.
# - Now using my() rather than local().
#
# Uses perl5 classes to create nested data types.
- # This is offered as one implementation of Tom Christiansen's "structs.pl"
- # idea.
+ # This is offered as one implementation of Tom Christiansen's
+ # "structs.pl" idea.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
index e2fba4ff5d8..037ba437156 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
@@ -6,13 +6,12 @@ use warnings ;
require 5.006 ;
require Exporter;
-use AutoLoader;
use Carp ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.060';
+$VERSION = '2.064';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -379,7 +378,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 acf599daa25..ae711285c0c 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
@@ -3,15 +3,14 @@ package Compress::Raw::Zlib;
require 5.006 ;
require Exporter;
-use AutoLoader;
use Carp ;
use strict ;
use warnings ;
use bytes ;
-our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS );
+our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS);
-$VERSION = '2.060';
+$VERSION = '2.065';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -593,8 +592,6 @@ sub Compress::Raw::Zlib::deflateStream::deflateParams
}
-# Autoload methods go after __END__, and are processed by the autosplit program.
-
1;
__END__
@@ -638,8 +635,8 @@ Compress::Raw::Zlib - Low-Level Interface to zlib compression library
$crc = adler32($buffer [,$crc]) ;
$crc = crc32($buffer [,$crc]) ;
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
+ $crc = crc32_combine($crc1, $crc2, $len2);
+ $adler = adler32_combine($adler1, $adler2, $len2);
my $version = Compress::Raw::Zlib::zlib_version();
my $flags = Compress::Raw::Zlib::zlibCompileFlags();
@@ -1293,10 +1290,11 @@ If the $crc parameters is C<undef>, the crc value will be reset.
If you have built this module with zlib 1.2.3 or better, two more
CRC-related functions are available.
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
+ $crc = crc32_combine($crc1, $crc2, $len2);
+ $adler = adler32_combine($adler1, $adler2, $len2);
These functions allow checksums to be merged.
+Refer to the I<zlib> documentation for more details.
=head1 Misc
@@ -1360,7 +1358,7 @@ from STDIN.
The status code returned from C<inflate> will only trigger termination of
the main processing loop if it isn't C<Z_OK>. When C<LimitOutput> has not
-been used the C<Z_OK> status means means that the end of the compressed
+been used the C<Z_OK> status means that the end of the compressed
data stream has been reached or there has been an error in uncompression.
=item *
@@ -1592,7 +1590,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 c5525ce1f92..57e74a8c07b 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
@@ -7,17 +7,17 @@ use Carp ;
use IO::Handle ;
use Scalar::Util qw(dualvar);
-use IO::Compress::Base::Common 2.060 ;
-use Compress::Raw::Zlib 2.060 ;
-use IO::Compress::Gzip 2.060 ;
-use IO::Uncompress::Gunzip 2.060 ;
+use IO::Compress::Base::Common 2.064 ;
+use Compress::Raw::Zlib 2.064 ;
+use IO::Compress::Gzip 2.064 ;
+use IO::Uncompress::Gunzip 2.064 ;
use strict ;
use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.060';
+$VERSION = '2.064';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -461,7 +461,7 @@ sub inflate
package Compress::Zlib ;
-use IO::Compress::Gzip::Constants 2.060 ;
+use IO::Compress::Gzip::Constants 2.064 ;
sub memGzip($)
{
@@ -671,8 +671,8 @@ Compress::Zlib - Interface to zlib compression library
$crc = adler32($buffer [,$crc]) ;
$crc = crc32($buffer [,$crc]) ;
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
+ $crc = crc32_combine($crc1, $crc2, $len2);
+ $adler = adler32_combine($adler1, $adler2, $len2);
my $version = Compress::Raw::Zlib::zlib_version();
@@ -1450,10 +1450,11 @@ If the $crc parameters is C<undef>, the crc value will be reset.
If you have built this module with zlib 1.2.3 or better, two more
CRC-related functions are available.
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
+ $crc = crc32_combine($crc1, $crc2, $len2);
+ $adler = adler32_combine($adler1, $adler2, $len2);
These functions allow checksums to be merged.
+Refer to the I<zlib> documentation for more details.
=head1 Misc
@@ -1499,7 +1500,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 1995-2013 Paul Marquess. All rights reserved.
+Copyright (c) 1995-2014 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 f2c5d76bdef..1257b5287f7 100644
--- a/Master/tlpkg/tlperl/lib/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Config.pm
@@ -10,7 +10,7 @@ use strict;
use warnings;
use vars '%Config', '$VERSION';
-$VERSION = "5.018002";
+$VERSION = "5.020002";
# 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
@@ -56,12 +56,11 @@ sub import {
return;
}
-die "Perl lib version (5.18.2) doesn't match executable '$0' version ($])"
+die "$0: Perl lib version (5.20.2) doesn't match executable '$^X' version ($])"
unless $^V;
-$^V eq 5.18.2
- or die "Perl lib version (5.18.2) doesn't match executable '$0' version (" .
- sprintf("v%vd",$^V) . ")";
+$^V eq 5.20.2
+ or die sprintf "%s: Perl lib version (5.20.2) doesn't match executable '$^X' version (%vd)", $0, $^V;
sub FETCH {
@@ -102,7 +101,7 @@ tie %Config, 'Config', {
inc_version_list => '',
intsize => '4',
ldlibpthname => '',
- libpth => 'x:\\mingw\\lib',
+ libpth => "$mingdir\\lib",
osname => 'MSWin32',
osvers => '4.0',
path_sep => ';',
@@ -113,5 +112,5 @@ tie %Config, 'Config', {
so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.18.2',
+ version => '5.20.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pm.orig b/Master/tlpkg/tlperl/lib/Config.pm.orig
index b002507bf86..69d13dfbea6 100644
--- a/Master/tlpkg/tlperl/lib/Config.pm.orig
+++ b/Master/tlpkg/tlperl/lib/Config.pm.orig
@@ -10,7 +10,7 @@ use strict;
use warnings;
use vars '%Config', '$VERSION';
-$VERSION = "5.018002";
+$VERSION = "5.020002";
# 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
@@ -56,12 +56,11 @@ sub import {
return;
}
-die "Perl lib version (5.18.2) doesn't match executable '$0' version ($])"
+die "$0: Perl lib version (5.20.2) doesn't match executable '$^X' version ($])"
unless $^V;
-$^V eq 5.18.2
- or die "Perl lib version (5.18.2) doesn't match executable '$0' version (" .
- sprintf("v%vd",$^V) . ")";
+$^V eq 5.20.2
+ or die sprintf "%s: Perl lib version (5.20.2) doesn't match executable '$^X' version (%vd)", $0, $^V;
sub FETCH {
@@ -85,7 +84,7 @@ sub AUTOLOAD {
# tie returns the object, so the value returned to require will be true.
tie %Config, 'Config', {
- archlibexp => 'c:\\perl\\lib',
+ archlibexp => 'c:\\tlperl\\lib',
archname => 'MSWin32-x86-multi-thread',
cc => 'gcc',
d_readlink => undef,
@@ -97,16 +96,16 @@ tie %Config, 'Config', {
inc_version_list => '',
intsize => '4',
ldlibpthname => '',
- libpth => 'x:\\strawberry\\c\\lib',
+ libpth => 'X:\\mingw\\lib',
osname => 'MSWin32',
osvers => '4.0',
path_sep => ';',
- privlibexp => 'c:\\perl\\lib',
- scriptdir => 'c:\\perl\\bin',
- sitearchexp => 'c:\\perl\\site\\lib',
- sitelibexp => 'c:\\perl\\site\\lib',
+ privlibexp => 'c:\\tlperl\\lib',
+ scriptdir => 'c:\\tlperl\\bin',
+ sitearchexp => 'c:\\tlperl\\site\\lib',
+ sitelibexp => 'c:\\tlperl\\site\\lib',
so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.18.2',
+ version => '5.20.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pod b/Master/tlpkg/tlperl/lib/Config.pod
new file mode 100644
index 00000000000..1ac5fb146b2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Config.pod
@@ -0,0 +1,9124 @@
+=head1 NAME
+
+Config - access Perl configuration information
+
+=head1 SYNOPSIS
+
+ use Config;
+ if ($Config{usethreads}) {
+ print "has thread support\n"
+ }
+
+ use Config qw(myconfig config_sh config_vars config_re);
+
+ print myconfig();
+
+ print config_sh();
+
+ print config_re();
+
+ config_vars(qw(osname archname));
+
+
+=head1 DESCRIPTION
+
+The Config module contains all the information that was available to
+the C<Configure> program at Perl build time (over 900 values).
+
+Shell variables from the F<config.sh> file (written by Configure) are
+stored in the readonly-variable C<%Config>, indexed by their names.
+
+Values stored in config.sh as 'undef' are returned as undefined
+values. The perl C<exists> function can be used to check if a
+named variable exists.
+
+For a description of the variables, please have a look at the
+Glossary file, as written in the Porting folder, or use the url:
+http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
+
+=over 4
+
+=item myconfig()
+
+Returns a textual summary of the major perl configuration values.
+See also C<-V> in L<perlrun/Command Switches>.
+
+=item config_sh()
+
+Returns the entire perl configuration information in the form of the
+original config.sh shell variable assignment script.
+
+=item config_re($regex)
+
+Like config_sh() but returns, as a list, only the config entries who's
+names match the $regex.
+
+=item config_vars(@names)
+
+Prints to STDOUT the values of the named configuration variable. Each is
+printed on a separate line in the form:
+
+ name='value';
+
+Names which are unknown are output as C<name='UNKNOWN';>.
+See also C<-V:name> in L<perlrun/Command 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
+
+Here's a more sophisticated example of using %Config:
+
+ use Config;
+ use strict;
+
+ my %sig_num;
+ my @sig_name;
+ unless($Config{sig_name} && $Config{sig_num}) {
+ die "No sigs?";
+ } else {
+ my @names = split ' ', $Config{sig_name};
+ @sig_num{@names} = split ' ', $Config{sig_num};
+ foreach (@names) {
+ $sig_name[$sig_num{$_}] ||= $_;
+ }
+ }
+
+ print "signal #17 = $sig_name[17]\n";
+ if ($sig_num{ALRM}) {
+ print "SIGALRM is $sig_num{ALRM}\n";
+ }
+
+=head1 WARNING
+
+Because this information is not stored within the perl executable
+itself it is possible (but unlikely) that the information does not
+relate to the actual perl binary which is being used to access it.
+
+The Config module is installed into the architecture and version
+specific library directory ($Config{installarchlib}) and it checks the
+perl version number when loaded.
+
+The values stored in config.sh may be either single-quoted or
+double-quoted. Double-quoted strings are handy for those cases where you
+need to include escape sequences in the strings. To avoid runtime variable
+interpolation, any C<$> and C<@> characters are replaced by C<\$> and
+C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
+or C<\@> in double-quoted strings unless you're willing to deal with the
+consequences. (The slashes will end up escaped and the C<$> or C<@> will
+trigger variable interpolation)
+
+=head1 GLOSSARY
+
+Most C<Config> variables are determined by the C<Configure> script
+on platforms supported by it (which is most UNIX platforms). Some
+platforms have custom-made C<Config> variables, and may thus not have
+some of the variables described below, or may have extraneous variables
+specific to that particular port. See the port specific documentation
+in such cases.
+
+=cut
+
+=head2 _
+
+=over 4
+
+=cut
+
+=item C<_a>
+
+From F<Unix.U>:
+
+This variable defines the extension used for ordinary library files.
+For unix, it is F<.a>. The F<.> is included. Other possible
+values include F<.lib>.
+
+=item C<_exe>
+
+From F<Unix.U>:
+
+This variable defines the extension used for executable files.
+C<DJGPP>, Cygwin and F<OS/2> use F<.exe>. Stratus C<VOS> uses F<.pm>.
+On operating systems which do not require a specific extension
+for executable files, this variable is empty.
+
+=item C<_o>
+
+From F<Unix.U>:
+
+This variable defines the extension used for object files.
+For unix, it is F<.o>. The F<.> is included. Other possible
+values include F<.obj>.
+
+=back
+
+=cut
+
+=head2 a
+
+=over 4
+
+=cut
+
+=item C<afs>
+
+From F<afs.U>:
+
+This variable is set to C<true> if C<AFS> (Andrew File System) is used
+on the system, C<false> otherwise. It is possible to override this
+with a hint value or command line option, but you'd better know
+what you are doing.
+
+=item C<afsroot>
+
+From F<afs.U>:
+
+This variable is by default set to F</afs>. In the unlikely case
+this is not the correct root, it is possible to override this with
+a hint value or command line option. This will be used in subsequent
+tests for AFSness in the configure and test process.
+
+=item C<alignbytes>
+
+From F<alignbytes.U>:
+
+This variable holds 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.
+
+=item C<ansi2knr>
+
+From F<ansi2knr.U>:
+
+This variable is set if the user needs to run ansi2knr.
+Currently, this is not supported, so we just abort.
+
+=item C<aphostname>
+
+From F<d_gethname.U>:
+
+This variable contains the command which can be used to compute the
+host name. The command is fully qualified by its absolute path, to make
+it safe when used by a process with super-user privileges.
+
+=item C<api_revision>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_revision is the C<5>.
+Prior to 5.5.640, the format was a floating point number,
+like 5.00563.
+
+F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
+F<$sitelib/.>. for older directories back to the limit specified
+by these api_ variables. This is only useful if you have a
+perl library directory tree structured like the default one.
+See C<INSTALL> for how this works. The versioned site_perl
+directory was introduced in 5.005, so that is the lowest
+possible value. The version list appropriate for the current
+system is determined in F<inc_version_list.U>.
+
+C<XXX> To do: Since compatibility can depend on compile time
+options (such as bincompat, longlong, etc.) it should
+(perhaps) be set by Configure, but currently it isn't.
+Currently, we read a hard-wired value from F<patchlevel.h>.
+Perhaps what we ought to do is take the hard-wired value from
+F<patchlevel.h> but then modify it if the current Configure
+options warrant. F<patchlevel.h> then would use an #ifdef guard.
+
+=item C<api_subversion>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_subversion is the C<1>. See api_revision for
+full details.
+
+=item C<api_version>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_version is the C<6>. See api_revision for
+full details. As a special case, 5.5.0 is rendered in the
+old-style as 5.005. (In the 5.005_0x maintenance series,
+this was the only versioned directory in $sitelib.)
+
+=item C<api_versionstring>
+
+From F<patchlevel.U>:
+
+This variable combines api_revision, api_version, and
+api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
+for use as a directory name. This is filesystem dependent.
+
+=item C<ar>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ar program. After Configure runs,
+the value is reset to a plain C<ar> and is not useful.
+
+=item C<archlib>
+
+From F<archlib.U>:
+
+This variable holds the name of the directory in which the user wants
+to put architecture-dependent public library files for $package.
+It is most often a local directory such as F</usr/local/lib>.
+Programs using this variable must be prepared to deal
+with filename expansion.
+
+=item C<archlibexp>
+
+From F<archlib.U>:
+
+This variable is the same as the archlib variable, but is
+filename expanded at configuration time, for convenient use.
+
+=item C<archname>
+
+From F<archname.U>:
+
+This variable is a short name to characterize the current
+architecture. It is used mainly to construct the default archlib.
+
+=item C<archname64>
+
+From F<use64bits.U>:
+
+This variable is used for the 64-bitness part of $archname.
+
+=item C<archobjs>
+
+From F<Unix.U>:
+
+This variable defines any additional objects that must be linked
+in with the program on this architecture. On unix, it is usually
+empty. It is typically used to include emulations of unix calls
+or other facilities. For perl on F<OS/2>, for example, this would
+include F<os2/os2.obj>.
+
+=item C<asctime_r_proto>
+
+From F<d_asctime_r.U>:
+
+This variable encodes the prototype of asctime_r.
+It is zero if d_asctime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_asctime_r
+is defined.
+
+=item C<awk>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the awk program. After Configure runs,
+the value is reset to a plain C<awk> and is not useful.
+
+=back
+
+=cut
+
+=head2 b
+
+=over 4
+
+=cut
+
+=item C<baserev>
+
+From F<baserev.U>:
+
+The base revision level of this package, from the F<.package> file.
+
+=item C<bash>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<bin>
+
+From F<bin.U>:
+
+This variable holds the name of the directory in which the user wants
+to put publicly executable images for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+
+=item C<bin_ELF>
+
+From F<dlsrc.U>:
+
+This variable saves the result from configure if generated binaries
+are in C<ELF> format. Only set to defined when the test has actually
+been performed, and the result was positive.
+
+=item C<binexp>
+
+From F<bin.U>:
+
+This is the same as the bin variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<bison>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the bison program. After Configure runs,
+the value is reset to a plain C<bison> and is not useful.
+
+=item C<bootstrap_charset>
+
+From F<ebcdic.U>:
+
+This variable conditionally defines C<BOOTSTRAP_CHARSET> if
+this system uses non-C<ASCII> encoding.
+
+=item C<byacc>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the byacc program. After Configure runs,
+the value is reset to a plain C<byacc> and is not useful.
+
+=item C<byteorder>
+
+From F<byteorder.U>:
+
+This variable holds the byte order in a C<UV>. In the following,
+larger digits indicate more significance. The variable byteorder
+is either 4321 on a big-endian machine, or 1234 on a little-endian,
+or 87654321 on a Cray ... or 3412 with weird order !
+
+=back
+
+=cut
+
+=head2 c
+
+=over 4
+
+=cut
+
+=item C<c>
+
+From F<n.U>:
+
+This variable contains the \c string if that is what causes the echo
+command to suppress newline. Otherwise it is null. Correct usage is
+$echo $n "prompt for a question: $c".
+
+=item C<castflags>
+
+From F<d_castneg.U>:
+
+This variable contains a flag that precise 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
+
+=item C<cat>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cat program. After Configure runs,
+the value is reset to a plain C<cat> and is not useful.
+
+=item C<cc>
+
+From F<cc.U>:
+
+This variable holds the name of a command to execute a C compiler which
+can resolve multiple global references that happen to have the same
+name. Usual values are C<cc> and C<gcc>.
+Fervent C<ANSI> compilers may be called C<c89>. C<AIX> has xlc.
+
+=item C<cccdlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed with C<cc -c> to compile modules to be used to create a shared
+library that will be used for dynamic loading. For hpux, this
+should be +z. It is up to the makefile to use it.
+
+=item C<ccdlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed to cc to link with a shared library for dynamic loading.
+It is up to the makefile to use it. For sunos 4.1, it should
+be empty.
+
+=item C<ccflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C compiler flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ccflags_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the compiler flags needed by large file builds
+and added to ccflags by hints files.
+
+=item C<ccname>
+
+From F<Checkcc.U>:
+
+This can set either by hints files or by Configure. If using
+gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
+Some platforms, however, make good use of this by storing the
+flavor of the C compiler being used here. For example if using
+the Sun WorkShop suite, ccname will be C<workshop>.
+
+=item C<ccsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C compiler alone.
+The symbols defined by cpp or by cc when it calls cpp are not in
+this list, see cppsymbols and cppccsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<ccversion>
+
+From F<Checkcc.U>:
+
+This can set either by hints files or by Configure. If using
+a (non-gcc) vendor cc, this variable may contain a version for
+the compiler.
+
+=item C<cf_by>
+
+From F<cf_who.U>:
+
+Login name of the person who ran the Configure script and answered the
+questions. This is used to tag both F<config.sh> and F<config_h.SH>.
+
+=item C<cf_email>
+
+From F<cf_email.U>:
+
+Electronic mail address of the person who ran Configure. This can be
+used by units that require the user's e-mail, like F<MailList.U>.
+
+=item C<cf_time>
+
+From F<cf_who.U>:
+
+Holds the output of the C<date> command when the configuration file was
+produced. This is used to tag both F<config.sh> and F<config_h.SH>.
+
+=item C<charbits>
+
+From F<charsize.U>:
+
+This variable contains the value of the C<CHARBITS> symbol, which
+indicates to the C program how many bits there are in a character.
+
+=item C<charsize>
+
+From F<charsize.U>:
+
+This variable contains the value of the C<CHARSIZE> symbol, which
+indicates to the C program how many bytes there are in a character.
+
+=item C<chgrp>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<chmod>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the chmod program. After Configure runs,
+the value is reset to a plain C<chmod> and is not useful.
+
+=item C<chown>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<clocktype>
+
+From F<d_times.U>:
+
+This variable holds the type returned by times(). It can be long,
+or clock_t on C<BSD> sites (in which case <sys/types.h> should be
+included).
+
+=item C<comm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the comm program. After Configure runs,
+the value is reset to a plain C<comm> and is not useful.
+
+=item C<compress>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<config_arg0>
+
+From F<Options.U>:
+
+This variable contains the string used to invoke the Configure
+command, as reported by the shell in the $0 variable.
+
+=item C<config_argc>
+
+From F<Options.U>:
+
+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_arg1,
+config_arg2, etc.
+
+=item C<config_args>
+
+From F<Options.U>:
+
+This variable contains a single string giving the command-line
+arguments passed to Configure. Spaces within arguments,
+quotes, and escaped characters are not correctly preserved.
+To reconstruct the command line, you must assemble the individual
+command line pieces, given in config_arg[0-9]*.
+
+=item C<contains>
+
+From F<contains.U>:
+
+This variable holds the command to do a grep with a proper return
+status. On most sane systems it is simply C<grep>. On insane systems
+it is a grep followed by a cat followed by a test. This variable
+is primarily for the use of other Configure units.
+
+=item C<cp>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cp program. After Configure runs,
+the value is reset to a plain C<cp> and is not useful.
+
+=item C<cpio>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<cpp>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cpp program. After Configure runs,
+the value is reset to a plain C<cpp> and is not useful.
+
+=item C<cpp_stuff>
+
+From F<cpp_stuff.U>:
+
+This variable contains an identification of the concatenation mechanism
+used by the C preprocessor.
+
+=item C<cppccsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C compiler
+when it calls cpp. The symbols defined by the cc alone or cpp
+alone are not in this list, see ccsymbols and cppsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<cppflags>
+
+From F<ccflags.U>:
+
+This variable holds the flags that will be passed to the C pre-
+processor. It is up to the Makefile to use it.
+
+=item C<cpplast>
+
+From F<cppstdin.U>:
+
+This variable has the same functionality as cppminus, only it applies
+to cpprun and not cppstdin.
+
+=item C<cppminus>
+
+From F<cppstdin.U>:
+
+This variable contains the second part of the string which will invoke
+the C preprocessor on the standard input and produce to standard
+output. This variable will have the value C<-> if cppstdin needs
+a minus to specify standard input, otherwise the value is "".
+
+=item C<cpprun>
+
+From F<cppstdin.U>:
+
+This variable contains the command which will invoke a C preprocessor
+on standard input and put the output to stdout. It is guaranteed not
+to be a wrapper and may be a null string if no preprocessor can be
+made directly available. This preprocessor might be different from the
+one used by the C compiler. Don't forget to append cpplast after the
+preprocessor options.
+
+=item C<cppstdin>
+
+From F<cppstdin.U>:
+
+This variable contains the command which will invoke the C
+preprocessor on standard input and put the output to stdout.
+It is primarily used by other Configure units that ask about
+preprocessor symbols.
+
+=item C<cppsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C preprocessor
+alone. The symbols defined by cc or by cc when it calls cpp are
+not in this list, see ccsymbols and cppccsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<crypt_r_proto>
+
+From F<d_crypt_r.U>:
+
+This variable encodes the prototype of crypt_r.
+It is zero if d_crypt_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_crypt_r
+is defined.
+
+=item C<cryptlib>
+
+From F<d_crypt.U>:
+
+This variable holds -lcrypt or the path to a F<libcrypt.a> archive if
+the crypt() function is not defined in the standard C library. It is
+up to the Makefile to use this.
+
+=item C<csh>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the csh program. After Configure runs,
+the value is reset to a plain C<csh> and is not useful.
+
+=item C<ctermid_r_proto>
+
+From F<d_ctermid_r.U>:
+
+This variable encodes the prototype of ctermid_r.
+It is zero if d_ctermid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctermid_r
+is defined.
+
+=item C<ctime_r_proto>
+
+From F<d_ctime_r.U>:
+
+This variable encodes the prototype of ctime_r.
+It is zero if d_ctime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctime_r
+is defined.
+
+=back
+
+=cut
+
+=head2 d
+
+=over 4
+
+=cut
+
+=item C<d__fwalk>
+
+From F<d__fwalk.U>:
+
+This variable conditionally defines C<HAS__FWALK> if _fwalk() is
+available to apply a function to all the file handles.
+
+=item C<d_access>
+
+From F<d_access.U>:
+
+This variable conditionally defines C<HAS_ACCESS> if the access() system
+call is available to check for access permissions using real IDs.
+
+=item C<d_accessx>
+
+From F<d_accessx.U>:
+
+This variable conditionally defines the C<HAS_ACCESSX> symbol, which
+indicates to the C program that the accessx() routine is available.
+
+=item C<d_aintl>
+
+From F<d_aintl.U>:
+
+This variable conditionally defines the C<HAS_AINTL> symbol, which
+indicates to the C program that the aintl() routine is available.
+If copysignl is also present we can emulate modfl.
+
+=item C<d_alarm>
+
+From F<d_alarm.U>:
+
+This variable conditionally defines the C<HAS_ALARM> symbol, which
+indicates to the C program that the alarm() routine is available.
+
+=item C<d_archlib>
+
+From F<archlib.U>:
+
+This variable conditionally defines C<ARCHLIB> to hold the pathname
+of architecture-dependent library files for $package. If
+$archlib is the same as $privlib, then this is set to undef.
+
+=item C<d_asctime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_ASCTIME64 symbol, which
+indicates to the C program that the asctime64 () routine is available.
+
+=item C<d_asctime_r>
+
+From F<d_asctime_r.U>:
+
+This variable conditionally defines the C<HAS_ASCTIME_R> symbol,
+which indicates to the C program that the asctime_r()
+routine is available.
+
+=item C<d_atolf>
+
+From F<atolf.U>:
+
+This variable conditionally defines the C<HAS_ATOLF> symbol, which
+indicates to the C program that the atolf() routine is available.
+
+=item C<d_atoll>
+
+From F<atoll.U>:
+
+This variable conditionally defines the C<HAS_ATOLL> symbol, which
+indicates to the C program that the atoll() routine is available.
+
+=item C<d_attribute_deprecated>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_DEPRECATED>, which
+indicates that C<GCC> can handle the attribute for marking deprecated
+APIs
+
+=item C<d_attribute_format>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_FORMAT>, which
+indicates the C compiler can check for printf-like formats.
+
+=item C<d_attribute_malloc>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_MALLOC>, which
+indicates the C compiler can understand functions as having
+malloc-like semantics.
+
+=item C<d_attribute_nonnull>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_NONNULL>, which
+indicates that the C compiler can know that certain arguments
+must not be C<NULL>, and will check accordingly at compile time.
+
+=item C<d_attribute_noreturn>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_NORETURN>, which
+indicates that the C compiler can know that certain functions
+are guaranteed never to return.
+
+=item C<d_attribute_pure>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_PURE>, which
+indicates that the C compiler can know that certain functions
+are C<pure> functions, meaning that they have no side effects, and
+only rely on function input F<and/or> global data for their results.
+
+=item C<d_attribute_unused>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_UNUSED>, which
+indicates that the C compiler can know that certain variables
+and arguments may not always be used, and to not throw warnings
+if they don't get used.
+
+=item C<d_attribute_warn_unused_result>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines
+C<HASATTRIBUTE_WARN_UNUSED_RESULT>, which indicates that the C
+compiler can know that certain functions have a return values
+that must not be ignored, such as malloc() or open().
+
+=item C<d_bcmp>
+
+From F<d_bcmp.U>:
+
+This variable conditionally defines the C<HAS_BCMP> symbol if
+the bcmp() routine is available to compare strings.
+
+=item C<d_bcopy>
+
+From F<d_bcopy.U>:
+
+This variable conditionally defines the C<HAS_BCOPY> symbol if
+the bcopy() routine is available to copy strings.
+
+=item C<d_bsd>
+
+From F<Guess.U>:
+
+This symbol conditionally defines the symbol C<BSD> when running on a
+C<BSD> system.
+
+=item C<d_bsdgetpgrp>
+
+From F<d_getpgrp.U>:
+
+This variable conditionally defines C<USE_BSD_GETPGRP> if
+getpgrp needs one arguments whereas C<USG> one needs none.
+
+=item C<d_bsdsetpgrp>
+
+From F<d_setpgrp.U>:
+
+This variable conditionally defines C<USE_BSD_SETPGRP> if
+setpgrp needs two arguments whereas C<USG> one needs none.
+See also d_setpgid for a C<POSIX> interface.
+
+=item C<d_builtin_choose_expr>
+
+From F<d_builtin.U>:
+
+This conditionally defines C<HAS_BUILTIN_CHOOSE_EXPR>, which
+indicates that the compiler supports __builtin_choose_expr(x,y,z).
+This built-in function is analogous to the C<x?y:z> operator in C,
+except that the expression returned has its type unaltered by
+promotion rules. Also, the built-in function does not evaluate
+the expression that was not chosen.
+
+=item C<d_builtin_expect>
+
+From F<d_builtin.U>:
+
+This conditionally defines C<HAS_BUILTIN_EXPECT>, which indicates
+that the compiler supports __builtin_expect(exp,c). You may use
+__builtin_expect to provide the compiler with branch prediction
+information.
+
+=item C<d_bzero>
+
+From F<d_bzero.U>:
+
+This variable conditionally defines the C<HAS_BZERO> symbol if
+the bzero() routine is available to set memory to 0.
+
+=item C<d_c99_variadic_macros>
+
+From F<d_c99_variadic.U>:
+
+This variable conditionally defines the HAS_C99_VARIADIC_MACROS
+symbol, which indicates to the C program that C99 variadic macros
+are available.
+
+=item C<d_casti32>
+
+From F<d_casti32.U>:
+
+This variable conditionally defines CASTI32, which indicates
+whether the C compiler can cast large floats to 32-bit ints.
+
+=item C<d_castneg>
+
+From F<d_castneg.U>:
+
+This variable conditionally defines C<CASTNEG>, which indicates
+whether the C compiler can cast negative float to unsigned.
+
+=item C<d_charvspr>
+
+From F<d_vprintf.U>:
+
+This variable conditionally defines C<CHARVSPRINTF> if this system
+has vsprintf returning type (char*). The trend seems to be to
+declare it as "int vsprintf()".
+
+=item C<d_chown>
+
+From F<d_chown.U>:
+
+This variable conditionally defines the C<HAS_CHOWN> symbol, which
+indicates to the C program that the chown() routine is available.
+
+=item C<d_chroot>
+
+From F<d_chroot.U>:
+
+This variable conditionally defines the C<HAS_CHROOT> symbol, which
+indicates to the C program that the chroot() routine is available.
+
+=item C<d_chsize>
+
+From F<d_chsize.U>:
+
+This variable conditionally defines the C<CHSIZE> symbol, which
+indicates to the C program that the chsize() routine is available
+to truncate files. You might need a -lx to get this routine.
+
+=item C<d_class>
+
+From F<d_class.U>:
+
+This variable conditionally defines the C<HAS_CLASS> symbol, which
+indicates to the C program that the class() routine is available.
+
+=item C<d_clearenv>
+
+From F<d_clearenv.U>:
+
+This variable conditionally defines the C<HAS_CLEARENV> symbol, which
+indicates to the C program that the clearenv () routine is available.
+
+=item C<d_closedir>
+
+From F<d_closedir.U>:
+
+This variable conditionally defines C<HAS_CLOSEDIR> if closedir() is
+available.
+
+=item C<d_cmsghdr_s>
+
+From F<d_cmsghdr_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_CMSGHDR> symbol,
+which indicates that the struct cmsghdr is supported.
+
+=item C<d_const>
+
+From F<d_const.U>:
+
+This variable conditionally defines the C<HASCONST> symbol, which
+indicates to the C program that this C compiler knows about the
+const type.
+
+=item C<d_copysignl>
+
+From F<d_copysignl.U>:
+
+This variable conditionally defines the C<HAS_COPYSIGNL> symbol, which
+indicates to the C program that the copysignl() routine is available.
+If aintl is also present we can emulate modfl.
+
+=item C<d_cplusplus>
+
+From F<d_cplusplus.U>:
+
+This variable conditionally defines the C<USE_CPLUSPLUS> symbol, which
+indicates that a C++ compiler was used to compiled Perl and will be
+used to compile extensions.
+
+=item C<d_crypt>
+
+From F<d_crypt.U>:
+
+This variable conditionally defines the C<CRYPT> symbol, which
+indicates to the C program that the crypt() routine is available
+to encrypt passwords and the like.
+
+=item C<d_crypt_r>
+
+From F<d_crypt_r.U>:
+
+This variable conditionally defines the C<HAS_CRYPT_R> symbol,
+which indicates to the C program that the crypt_r()
+routine is available.
+
+=item C<d_csh>
+
+From F<d_csh.U>:
+
+This variable conditionally defines the C<CSH> symbol, which
+indicates to the C program that the C-shell exists.
+
+=item C<d_ctermid>
+
+From F<d_ctermid.U>:
+
+This variable conditionally defines C<CTERMID> if ctermid() is
+available to generate filename for terminal.
+
+=item C<d_ctermid_r>
+
+From F<d_ctermid_r.U>:
+
+This variable conditionally defines the C<HAS_CTERMID_R> symbol,
+which indicates to the C program that the ctermid_r()
+routine is available.
+
+=item C<d_ctime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_CTIME64 symbol, which
+indicates to the C program that the ctime64 () routine is available.
+
+=item C<d_ctime_r>
+
+From F<d_ctime_r.U>:
+
+This variable conditionally defines the C<HAS_CTIME_R> symbol,
+which indicates to the C program that the ctime_r()
+routine is available.
+
+=item C<d_cuserid>
+
+From F<d_cuserid.U>:
+
+This variable conditionally defines the C<HAS_CUSERID> symbol, which
+indicates to the C program that the cuserid() routine is available
+to get character login names.
+
+=item C<d_dbl_dig>
+
+From F<d_dbl_dig.U>:
+
+This variable conditionally defines d_dbl_dig if this system's
+header files provide C<DBL_DIG>, which is the number of significant
+digits in a double precision number.
+
+=item C<d_dbminitproto>
+
+From F<d_dbminitproto.U>:
+
+This variable conditionally defines the C<HAS_DBMINIT_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the dbminit() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_difftime>
+
+From F<d_difftime.U>:
+
+This variable conditionally defines the C<HAS_DIFFTIME> symbol, which
+indicates to the C program that the difftime() routine is available.
+
+=item C<d_difftime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_DIFFTIME64 symbol, which
+indicates to the C program that the difftime64 () routine is available.
+
+=item C<d_dir_dd_fd>
+
+From F<d_dir_dd_fd.U>:
+
+This variable conditionally defines the C<HAS_DIR_DD_FD> symbol, which
+indicates that the C<DIR> directory stream type contains a member
+variable called dd_fd.
+
+=item C<d_dirfd>
+
+From F<d_dirfd.U>:
+
+This variable conditionally defines the C<HAS_DIRFD> constant,
+which indicates to the C program that dirfd() is available
+to return the file descriptor of a directory stream.
+
+=item C<d_dirnamlen>
+
+From F<i_dirent.U>:
+
+This variable conditionally defines C<DIRNAMLEN>, which indicates
+to the C program that the length of directory entry names is
+provided by a d_namelen field.
+
+=item C<d_dlerror>
+
+From F<d_dlerror.U>:
+
+This variable conditionally defines the C<HAS_DLERROR> symbol, which
+indicates to the C program that the dlerror() routine is available.
+
+=item C<d_dlopen>
+
+From F<d_dlopen.U>:
+
+This variable conditionally defines the C<HAS_DLOPEN> symbol, which
+indicates to the C program that the dlopen() routine is available.
+
+=item C<d_dlsymun>
+
+From F<d_dlsymun.U>:
+
+This variable conditionally defines C<DLSYM_NEEDS_UNDERSCORE>, which
+indicates that we need to prepend an underscore to the symbol
+name before calling dlsym().
+
+=item C<d_dosuid>
+
+From F<d_dosuid.U>:
+
+This variable conditionally defines the symbol C<DOSUID>, which
+tells the C program that it should insert setuid emulation code
+on hosts which have setuid #! scripts disabled.
+
+=item C<d_drand48_r>
+
+From F<d_drand48_r.U>:
+
+This variable conditionally defines the HAS_DRAND48_R symbol,
+which indicates to the C program that the drand48_r()
+routine is available.
+
+=item C<d_drand48proto>
+
+From F<d_drand48proto.U>:
+
+This variable conditionally defines the HAS_DRAND48_PROTO symbol,
+which indicates to the C program that the system provides
+a prototype for the drand48() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_dup2>
+
+From F<d_dup2.U>:
+
+This variable conditionally defines HAS_DUP2 if dup2() is
+available to duplicate file descriptors.
+
+=item C<d_eaccess>
+
+From F<d_eaccess.U>:
+
+This variable conditionally defines the C<HAS_EACCESS> symbol, which
+indicates to the C program that the eaccess() routine is available.
+
+=item C<d_endgrent>
+
+From F<d_endgrent.U>:
+
+This variable conditionally defines the C<HAS_ENDGRENT> symbol, which
+indicates to the C program that the endgrent() routine is available
+for sequential access of the group database.
+
+=item C<d_endgrent_r>
+
+From F<d_endgrent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDGRENT_R> symbol,
+which indicates to the C program that the endgrent_r()
+routine is available.
+
+=item C<d_endhent>
+
+From F<d_endhent.U>:
+
+This variable conditionally defines C<HAS_ENDHOSTENT> if endhostent() is
+available to close whatever was being used for host queries.
+
+=item C<d_endhostent_r>
+
+From F<d_endhostent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDHOSTENT_R> symbol,
+which indicates to the C program that the endhostent_r()
+routine is available.
+
+=item C<d_endnent>
+
+From F<d_endnent.U>:
+
+This variable conditionally defines C<HAS_ENDNETENT> if endnetent() is
+available to close whatever was being used for network queries.
+
+=item C<d_endnetent_r>
+
+From F<d_endnetent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDNETENT_R> symbol,
+which indicates to the C program that the endnetent_r()
+routine is available.
+
+=item C<d_endpent>
+
+From F<d_endpent.U>:
+
+This variable conditionally defines C<HAS_ENDPROTOENT> if endprotoent() is
+available to close whatever was being used for protocol queries.
+
+=item C<d_endprotoent_r>
+
+From F<d_endprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDPROTOENT_R> symbol,
+which indicates to the C program that the endprotoent_r()
+routine is available.
+
+=item C<d_endpwent>
+
+From F<d_endpwent.U>:
+
+This variable conditionally defines the C<HAS_ENDPWENT> symbol, which
+indicates to the C program that the endpwent() routine is available
+for sequential access of the passwd database.
+
+=item C<d_endpwent_r>
+
+From F<d_endpwent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDPWENT_R> symbol,
+which indicates to the C program that the endpwent_r()
+routine is available.
+
+=item C<d_endsent>
+
+From F<d_endsent.U>:
+
+This variable conditionally defines C<HAS_ENDSERVENT> if endservent() is
+available to close whatever was being used for service queries.
+
+=item C<d_endservent_r>
+
+From F<d_endservent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDSERVENT_R> symbol,
+which indicates to the C program that the endservent_r()
+routine is available.
+
+=item C<d_eofnblk>
+
+From F<nblock_io.U>:
+
+This variable conditionally defines C<EOF_NONBLOCK> if C<EOF> can be seen
+when reading from a non-blocking I/O source.
+
+=item C<d_eunice>
+
+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 idiosyncrasies of C<VMS>.
+
+=item C<d_faststdio>
+
+From F<d_faststdio.U>:
+
+This variable conditionally defines the C<HAS_FAST_STDIO> symbol,
+which indicates to the C program that the "fast stdio" is available
+to manipulate the stdio buffers directly.
+
+=item C<d_fchdir>
+
+From F<d_fchdir.U>:
+
+This variable conditionally defines the C<HAS_FCHDIR> symbol, which
+indicates to the C program that the fchdir() routine is available.
+
+=item C<d_fchmod>
+
+From F<d_fchmod.U>:
+
+This variable conditionally defines the C<HAS_FCHMOD> symbol, which
+indicates to the C program that the fchmod() routine is available
+to change mode of opened files.
+
+=item C<d_fchown>
+
+From F<d_fchown.U>:
+
+This variable conditionally defines the C<HAS_FCHOWN> symbol, which
+indicates to the C program that the fchown() routine is available
+to change ownership of opened files.
+
+=item C<d_fcntl>
+
+From F<d_fcntl.U>:
+
+This variable conditionally defines the C<HAS_FCNTL> symbol, and indicates
+whether the fcntl() function exists
+
+=item C<d_fcntl_can_lock>
+
+From F<d_fcntl_can_lock.U>:
+
+This variable conditionally defines the C<FCNTL_CAN_LOCK> symbol
+and indicates whether file locking with fcntl() works.
+
+=item C<d_fd_macros>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FD_MACROS> symbol,
+which indicates if your C compiler knows about the macros which
+manipulate an fd_set.
+
+=item C<d_fd_set>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FD_SET> symbol,
+which indicates if your C compiler knows about the fd_set typedef.
+
+=item C<d_fds_bits>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FDS_BITS> symbol,
+which indicates if your fd_set typedef contains the fds_bits member.
+If you have an fd_set typedef, but the dweebs who installed it did
+a half-fast job and neglected to provide the macros to manipulate
+an fd_set, C<HAS_FDS_BITS> will let us know how to fix the gaffe.
+
+=item C<d_fgetpos>
+
+From F<d_fgetpos.U>:
+
+This variable conditionally defines C<HAS_FGETPOS> if fgetpos() is
+available to get the file position indicator.
+
+=item C<d_finite>
+
+From F<d_finite.U>:
+
+This variable conditionally defines the C<HAS_FINITE> symbol, which
+indicates to the C program that the finite() routine is available.
+
+=item C<d_finitel>
+
+From F<d_finitel.U>:
+
+This variable conditionally defines the C<HAS_FINITEL> symbol, which
+indicates to the C program that the finitel() routine is available.
+
+=item C<d_flexfnam>
+
+From F<d_flexfnam.U>:
+
+This variable conditionally defines the C<FLEXFILENAMES> symbol, which
+indicates that the system supports filenames longer than 14 characters.
+
+=item C<d_flock>
+
+From F<d_flock.U>:
+
+This variable conditionally defines C<HAS_FLOCK> if flock() is
+available to do file locking.
+
+=item C<d_flockproto>
+
+From F<d_flockproto.U>:
+
+This variable conditionally defines the C<HAS_FLOCK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the flock() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_fork>
+
+From F<d_fork.U>:
+
+This variable conditionally defines the C<HAS_FORK> symbol, which
+indicates to the C program that the fork() routine is available.
+
+=item C<d_fp_class>
+
+From F<d_fp_class.U>:
+
+This variable conditionally defines the C<HAS_FP_CLASS> symbol, which
+indicates to the C program that the fp_class() routine is available.
+
+=item C<d_fpathconf>
+
+From F<d_pathconf.U>:
+
+This variable conditionally defines the C<HAS_FPATHCONF> symbol, which
+indicates to the C program that the pathconf() routine is available
+to determine file-system related limits and options associated
+with a given open file descriptor.
+
+=item C<d_fpclass>
+
+From F<d_fpclass.U>:
+
+This variable conditionally defines the C<HAS_FPCLASS> symbol, which
+indicates to the C program that the fpclass() routine is available.
+
+=item C<d_fpclassify>
+
+From F<d_fpclassify.U>:
+
+This variable conditionally defines the C<HAS_FPCLASSIFY> symbol, which
+indicates to the C program that the fpclassify() routine is available.
+
+=item C<d_fpclassl>
+
+From F<d_fpclassl.U>:
+
+This variable conditionally defines the C<HAS_FPCLASSL> symbol, which
+indicates to the C program that the fpclassl() routine is available.
+
+=item C<d_fpos64_t>
+
+From F<d_fpos64_t.U>:
+
+This symbol will be defined if the C compiler supports fpos64_t.
+
+=item C<d_frexpl>
+
+From F<d_frexpl.U>:
+
+This variable conditionally defines the C<HAS_FREXPL> symbol, which
+indicates to the C program that the frexpl() routine is available.
+
+=item C<d_fs_data_s>
+
+From F<d_fs_data_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_FS_DATA> symbol,
+which indicates that the struct fs_data is supported.
+
+=item C<d_fseeko>
+
+From F<d_fseeko.U>:
+
+This variable conditionally defines the C<HAS_FSEEKO> symbol, which
+indicates to the C program that the fseeko() routine is available.
+
+=item C<d_fsetpos>
+
+From F<d_fsetpos.U>:
+
+This variable conditionally defines C<HAS_FSETPOS> if fsetpos() is
+available to set the file position indicator.
+
+=item C<d_fstatfs>
+
+From F<d_fstatfs.U>:
+
+This variable conditionally defines the C<HAS_FSTATFS> symbol, which
+indicates to the C program that the fstatfs() routine is available.
+
+=item C<d_fstatvfs>
+
+From F<d_statvfs.U>:
+
+This variable conditionally defines the C<HAS_FSTATVFS> symbol, which
+indicates to the C program that the fstatvfs() routine is available.
+
+=item C<d_fsync>
+
+From F<d_fsync.U>:
+
+This variable conditionally defines the C<HAS_FSYNC> symbol, which
+indicates to the C program that the fsync() routine is available.
+
+=item C<d_ftello>
+
+From F<d_ftello.U>:
+
+This variable conditionally defines the C<HAS_FTELLO> symbol, which
+indicates to the C program that the ftello() routine is available.
+
+=item C<d_ftime>
+
+From F<d_ftime.U>:
+
+This variable conditionally defines the C<HAS_FTIME> symbol, which indicates
+that the ftime() routine exists. The ftime() routine is basically
+a sub-second accuracy clock.
+
+=item C<d_futimes>
+
+From F<d_futimes.U>:
+
+This variable conditionally defines the C<HAS_FUTIMES> symbol, which
+indicates to the C program that the futimes() routine is available.
+
+=item C<d_Gconvert>
+
+From F<d_gconvert.U>:
+
+This variable holds what Gconvert is defined as to convert
+floating point numbers into strings. By default, Configure
+sets C<this> macro to use the first of gconvert, gcvt, or sprintf
+that pass sprintf-%g-like behavior tests. If perl is using
+long doubles, the macro uses the first of the following
+functions that pass Configure's tests: qgcvt, sprintf (if
+Configure knows how to make sprintf format long doubles--see
+sPRIgldbl), gconvert, gcvt, and sprintf (casting to double).
+The gconvert_preference and gconvert_ld_preference variables
+can be used to alter Configure's preferences, for doubles and
+long doubles, respectively. If present, they contain a
+space-separated list of one or more of the above function
+names in the order they should be tried.
+
+d_Gconvert may be set to override Configure with a platform-
+specific function. If this function expects a double, a
+different value may need to be set by the F<uselongdouble.cbu>
+call-back unit so that long doubles can be formatted without
+loss of precision.
+
+=item C<d_gdbm_ndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the gdbm-F<ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_gdbmndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the F<gdbm/ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_getaddrinfo>
+
+From F<d_getaddrinfo.U>:
+
+This variable conditionally defines the C<HAS_GETADDRINFO> symbol,
+which indicates to the C program that the getaddrinfo() function
+is available.
+
+=item C<d_getcwd>
+
+From F<d_getcwd.U>:
+
+This variable conditionally defines the C<HAS_GETCWD> symbol, which
+indicates to the C program that the getcwd() routine is available
+to get the current working directory.
+
+=item C<d_getespwnam>
+
+From F<d_getespwnam.U>:
+
+This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
+available to retrieve enhanced (shadow) password entries by name.
+
+=item C<d_getfsstat>
+
+From F<d_getfsstat.U>:
+
+This variable conditionally defines the C<HAS_GETFSSTAT> symbol, which
+indicates to the C program that the getfsstat() routine is available.
+
+=item C<d_getgrent>
+
+From F<d_getgrent.U>:
+
+This variable conditionally defines the C<HAS_GETGRENT> symbol, which
+indicates to the C program that the getgrent() routine is available
+for sequential access of the group database.
+
+=item C<d_getgrent_r>
+
+From F<d_getgrent_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRENT_R> symbol,
+which indicates to the C program that the getgrent_r()
+routine is available.
+
+=item C<d_getgrgid_r>
+
+From F<d_getgrgid_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRGID_R> symbol,
+which indicates to the C program that the getgrgid_r()
+routine is available.
+
+=item C<d_getgrnam_r>
+
+From F<d_getgrnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRNAM_R> symbol,
+which indicates to the C program that the getgrnam_r()
+routine is available.
+
+=item C<d_getgrps>
+
+From F<d_getgrps.U>:
+
+This variable conditionally defines the C<HAS_GETGROUPS> symbol, which
+indicates to the C program that the getgroups() routine is available
+to get the list of process groups.
+
+=item C<d_gethbyaddr>
+
+From F<d_gethbyad.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYADDR> symbol, which
+indicates to the C program that the gethostbyaddr() routine is available
+to look up hosts by their C<IP> addresses.
+
+=item C<d_gethbyname>
+
+From F<d_gethbynm.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYNAME> symbol, which
+indicates to the C program that the gethostbyname() routine is available
+to look up host names in some data base or other.
+
+=item C<d_gethent>
+
+From F<d_gethent.U>:
+
+This variable conditionally defines C<HAS_GETHOSTENT> if gethostent() is
+available to look up host names in some data base or another.
+
+=item C<d_gethname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTNAME> symbol, which
+indicates to the C program that the gethostname() routine may be
+used to derive the host name.
+
+=item C<d_gethostbyaddr_r>
+
+From F<d_gethostbyaddr_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYADDR_R> symbol,
+which indicates to the C program that the gethostbyaddr_r()
+routine is available.
+
+=item C<d_gethostbyname_r>
+
+From F<d_gethostbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYNAME_R> symbol,
+which indicates to the C program that the gethostbyname_r()
+routine is available.
+
+=item C<d_gethostent_r>
+
+From F<d_gethostent_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTENT_R> symbol,
+which indicates to the C program that the gethostent_r()
+routine is available.
+
+=item C<d_gethostprotos>
+
+From F<d_gethostprotos.U>:
+
+This variable conditionally defines the C<HAS_GETHOST_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various gethost*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getitimer>
+
+From F<d_getitimer.U>:
+
+This variable conditionally defines the C<HAS_GETITIMER> symbol, which
+indicates to the C program that the getitimer() routine is available.
+
+=item C<d_getlogin>
+
+From F<d_getlogin.U>:
+
+This variable conditionally defines the C<HAS_GETLOGIN> symbol, which
+indicates to the C program that the getlogin() routine is available
+to get the login name.
+
+=item C<d_getlogin_r>
+
+From F<d_getlogin_r.U>:
+
+This variable conditionally defines the C<HAS_GETLOGIN_R> symbol,
+which indicates to the C program that the getlogin_r()
+routine is available.
+
+=item C<d_getmnt>
+
+From F<d_getmnt.U>:
+
+This variable conditionally defines the C<HAS_GETMNT> symbol, which
+indicates to the C program that the getmnt() routine is available
+to retrieve one or more mount info blocks by filename.
+
+=item C<d_getmntent>
+
+From F<d_getmntent.U>:
+
+This variable conditionally defines the C<HAS_GETMNTENT> symbol, which
+indicates to the C program that the getmntent() routine is available
+to iterate through mounted files to get their mount info.
+
+=item C<d_getnameinfo>
+
+From F<d_getnameinfo.U>:
+
+This variable conditionally defines the C<HAS_GETNAMEINFO> symbol,
+which indicates to the C program that the getnameinfo() function
+is available.
+
+=item C<d_getnbyaddr>
+
+From F<d_getnbyad.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYADDR> symbol, which
+indicates to the C program that the getnetbyaddr() routine is available
+to look up networks by their C<IP> addresses.
+
+=item C<d_getnbyname>
+
+From F<d_getnbynm.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYNAME> symbol, which
+indicates to the C program that the getnetbyname() routine is available
+to look up networks by their names.
+
+=item C<d_getnent>
+
+From F<d_getnent.U>:
+
+This variable conditionally defines C<HAS_GETNETENT> if getnetent() is
+available to look up network names in some data base or another.
+
+=item C<d_getnetbyaddr_r>
+
+From F<d_getnetbyaddr_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYADDR_R> symbol,
+which indicates to the C program that the getnetbyaddr_r()
+routine is available.
+
+=item C<d_getnetbyname_r>
+
+From F<d_getnetbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYNAME_R> symbol,
+which indicates to the C program that the getnetbyname_r()
+routine is available.
+
+=item C<d_getnetent_r>
+
+From F<d_getnetent_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETENT_R> symbol,
+which indicates to the C program that the getnetent_r()
+routine is available.
+
+=item C<d_getnetprotos>
+
+From F<d_getnetprotos.U>:
+
+This variable conditionally defines the C<HAS_GETNET_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getnet*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getpagsz>
+
+From F<d_getpagsz.U>:
+
+This variable conditionally defines C<HAS_GETPAGESIZE> if getpagesize()
+is available to get the system page size.
+
+=item C<d_getpbyname>
+
+From F<d_getprotby.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNAME>
+symbol, which indicates to the C program that the
+getprotobyname() routine is available to look up protocols
+by their name.
+
+=item C<d_getpbynumber>
+
+From F<d_getprotby.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNUMBER>
+symbol, which indicates to the C program that the
+getprotobynumber() routine is available to look up protocols
+by their number.
+
+=item C<d_getpent>
+
+From F<d_getpent.U>:
+
+This variable conditionally defines C<HAS_GETPROTOENT> if getprotoent() is
+available to look up protocols in some data base or another.
+
+=item C<d_getpgid>
+
+From F<d_getpgid.U>:
+
+This variable conditionally defines the C<HAS_GETPGID> symbol, which
+indicates to the C program that the getpgid(pid) function
+is available to get the process group id.
+
+=item C<d_getpgrp>
+
+From F<d_getpgrp.U>:
+
+This variable conditionally defines C<HAS_GETPGRP> if getpgrp() is
+available to get the current process group.
+
+=item C<d_getpgrp2>
+
+From F<d_getpgrp2.U>:
+
+This variable conditionally defines the HAS_GETPGRP2 symbol, which
+indicates to the C program that the getpgrp2() (as in F<DG/C<UX>>) routine
+is available to get the current process group.
+
+=item C<d_getppid>
+
+From F<d_getppid.U>:
+
+This variable conditionally defines the C<HAS_GETPPID> symbol, which
+indicates to the C program that the getppid() routine is available
+to get the parent process C<ID>.
+
+=item C<d_getprior>
+
+From F<d_getprior.U>:
+
+This variable conditionally defines C<HAS_GETPRIORITY> if getpriority()
+is available to get a process's priority.
+
+=item C<d_getprotobyname_r>
+
+From F<d_getprotobyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNAME_R> symbol,
+which indicates to the C program that the getprotobyname_r()
+routine is available.
+
+=item C<d_getprotobynumber_r>
+
+From F<d_getprotobynumber_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNUMBER_R> symbol,
+which indicates to the C program that the getprotobynumber_r()
+routine is available.
+
+=item C<d_getprotoent_r>
+
+From F<d_getprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOENT_R> symbol,
+which indicates to the C program that the getprotoent_r()
+routine is available.
+
+=item C<d_getprotoprotos>
+
+From F<d_getprotoprotos.U>:
+
+This variable conditionally defines the C<HAS_GETPROTO_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getproto*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getprpwnam>
+
+From F<d_getprpwnam.U>:
+
+This variable conditionally defines C<HAS_GETPRPWNAM> if getprpwnam() is
+available to retrieve protected (shadow) password entries by name.
+
+=item C<d_getpwent>
+
+From F<d_getpwent.U>:
+
+This variable conditionally defines the C<HAS_GETPWENT> symbol, which
+indicates to the C program that the getpwent() routine is available
+for sequential access of the passwd database.
+
+=item C<d_getpwent_r>
+
+From F<d_getpwent_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWENT_R> symbol,
+which indicates to the C program that the getpwent_r()
+routine is available.
+
+=item C<d_getpwnam_r>
+
+From F<d_getpwnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWNAM_R> symbol,
+which indicates to the C program that the getpwnam_r()
+routine is available.
+
+=item C<d_getpwuid_r>
+
+From F<d_getpwuid_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWUID_R> symbol,
+which indicates to the C program that the getpwuid_r()
+routine is available.
+
+=item C<d_getsbyname>
+
+From F<d_getsrvby.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYNAME>
+symbol, which indicates to the C program that the
+getservbyname() routine is available to look up services
+by their name.
+
+=item C<d_getsbyport>
+
+From F<d_getsrvby.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYPORT>
+symbol, which indicates to the C program that the
+getservbyport() routine is available to look up services
+by their port.
+
+=item C<d_getsent>
+
+From F<d_getsent.U>:
+
+This variable conditionally defines C<HAS_GETSERVENT> if getservent() is
+available to look up network services in some data base or another.
+
+=item C<d_getservbyname_r>
+
+From F<d_getservbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYNAME_R> symbol,
+which indicates to the C program that the getservbyname_r()
+routine is available.
+
+=item C<d_getservbyport_r>
+
+From F<d_getservbyport_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYPORT_R> symbol,
+which indicates to the C program that the getservbyport_r()
+routine is available.
+
+=item C<d_getservent_r>
+
+From F<d_getservent_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVENT_R> symbol,
+which indicates to the C program that the getservent_r()
+routine is available.
+
+=item C<d_getservprotos>
+
+From F<d_getservprotos.U>:
+
+This variable conditionally defines the C<HAS_GETSERV_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getserv*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getspnam>
+
+From F<d_getspnam.U>:
+
+This variable conditionally defines C<HAS_GETSPNAM> if getspnam() is
+available to retrieve SysV shadow password entries by name.
+
+=item C<d_getspnam_r>
+
+From F<d_getspnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETSPNAM_R> symbol,
+which indicates to the C program that the getspnam_r()
+routine is available.
+
+=item C<d_gettimeod>
+
+From F<d_ftime.U>:
+
+This variable conditionally defines the C<HAS_GETTIMEOFDAY> symbol, which
+indicates that the gettimeofday() system call exists (to obtain a
+sub-second accuracy clock). You should probably include <sys/resource.h>.
+
+=item C<d_gmtime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_GMTIME64 symbol, which
+indicates to the C program that the gmtime64 () routine is available.
+
+=item C<d_gmtime_r>
+
+From F<d_gmtime_r.U>:
+
+This variable conditionally defines the C<HAS_GMTIME_R> symbol,
+which indicates to the C program that the gmtime_r()
+routine is available.
+
+=item C<d_gnulibc>
+
+From F<d_gnulibc.U>:
+
+Defined if we're dealing with the C<GNU> C Library.
+
+=item C<d_grpasswd>
+
+From F<i_grp.U>:
+
+This variable conditionally defines C<GRPASSWD>, which indicates
+that struct group in <grp.h> contains gr_passwd.
+
+=item C<d_hasmntopt>
+
+From F<d_hasmntopt.U>:
+
+This variable conditionally defines the C<HAS_HASMNTOPT> symbol, which
+indicates to the C program that the hasmntopt() routine is available
+to query the mount options of file systems.
+
+=item C<d_htonl>
+
+From F<d_htonl.U>:
+
+This variable conditionally defines C<HAS_HTONL> if htonl() and its
+friends are available to do network order byte swapping.
+
+=item C<d_ilogbl>
+
+From F<d_ilogbl.U>:
+
+This variable conditionally defines the C<HAS_ILOGBL> symbol, which
+indicates to the C program that the ilogbl() routine is available.
+If scalbnl is also present we can emulate frexpl.
+
+=item C<d_inc_version_list>
+
+From F<inc_version_list.U>:
+
+This variable conditionally defines C<PERL_INC_VERSION_LIST>.
+It is set to undef when C<PERL_INC_VERSION_LIST> is empty.
+
+=item C<d_index>
+
+From F<d_strchr.U>:
+
+This variable conditionally defines C<HAS_INDEX> if index() and
+rindex() are available for string searching.
+
+=item C<d_inetaton>
+
+From F<d_inetaton.U>:
+
+This variable conditionally defines the C<HAS_INET_ATON> symbol, which
+indicates to the C program that the inet_aton() function is available
+to parse C<IP> address C<dotted-quad> strings.
+
+=item C<d_inetntop>
+
+From F<d_inetntop.U>:
+
+This variable conditionally defines the C<HAS_INETNTOP> symbol,
+which indicates to the C program that the inet_ntop() function
+is available.
+
+=item C<d_inetpton>
+
+From F<d_inetpton.U>:
+
+This variable conditionally defines the C<HAS_INETPTON> symbol,
+which indicates to the C program that the inet_pton() function
+is available.
+
+=item C<d_int64_t>
+
+From F<d_int64_t.U>:
+
+This symbol will be defined if the C compiler supports int64_t.
+
+=item C<d_ip_mreq>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_IP_MREQ> symbol, which
+indicates the availability of a struct ip_mreq.
+
+=item C<d_ip_mreq_source>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_IP_MREQ_SOURCE> symbol,
+which indicates the availability of a struct ip_mreq_source.
+
+=item C<d_ipv6_mreq>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_IPV6_MREQ symbol, which
+indicates the availability of a struct ipv6_mreq.
+
+=item C<d_ipv6_mreq_source>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_IPV6_MREQ_SOURCE symbol,
+which indicates the availability of a struct ipv6_mreq_source.
+
+=item C<d_isascii>
+
+From F<d_isascii.U>:
+
+This variable conditionally defines the C<HAS_ISASCII> constant,
+which indicates to the C program that isascii() is available.
+
+=item C<d_isblank>
+
+From F<d_isblank.U>:
+
+This variable conditionally defines the C<HAS_ISBLANK> constant,
+which indicates to the C program that isblank() is available.
+
+=item C<d_isfinite>
+
+From F<d_isfinite.U>:
+
+This variable conditionally defines the C<HAS_ISFINITE> symbol, which
+indicates to the C program that the isfinite() routine is available.
+
+=item C<d_isinf>
+
+From F<d_isinf.U>:
+
+This variable conditionally defines the C<HAS_ISINF> symbol, which
+indicates to the C program that the isinf() routine is available.
+
+=item C<d_isnan>
+
+From F<d_isnan.U>:
+
+This variable conditionally defines the C<HAS_ISNAN> symbol, which
+indicates to the C program that the isnan() routine is available.
+
+=item C<d_isnanl>
+
+From F<d_isnanl.U>:
+
+This variable conditionally defines the C<HAS_ISNANL> symbol, which
+indicates to the C program that the isnanl() routine is available.
+
+=item C<d_killpg>
+
+From F<d_killpg.U>:
+
+This variable conditionally defines the C<HAS_KILLPG> symbol, which
+indicates to the C program that the killpg() routine is available
+to kill process groups.
+
+=item C<d_lchown>
+
+From F<d_lchown.U>:
+
+This variable conditionally defines the C<HAS_LCHOWN> symbol, which
+indicates to the C program that the lchown() routine is available
+to operate on a symbolic link (instead of following the link).
+
+=item C<d_ldbl_dig>
+
+From F<d_ldbl_dig.U>:
+
+This variable conditionally defines d_ldbl_dig if this system's
+header files provide C<LDBL_DIG>, which is the number of significant
+digits in a long double precision number.
+
+=item C<d_libm_lib_version>
+
+From F<d_libm_lib_version.U>:
+
+This variable conditionally defines the C<LIBM_LIB_VERSION> symbol,
+which indicates to the C program that F<math.h> defines C<_LIB_VERSION>
+being available in libm
+
+=item C<d_libname_unique>
+
+From F<so.U>:
+
+This variable is defined if the target system insists on unique
+basenames for shared library files. This is currently true on Android,
+false everywhere else we know of.
+Defaults to C<undef>.
+
+=item C<d_link>
+
+From F<d_link.U>:
+
+This variable conditionally defines C<HAS_LINK> if link() is
+available to create hard links.
+
+=item C<d_localtime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_LOCALTIME64 symbol, which
+indicates to the C program that the localtime64 () routine is available.
+
+=item C<d_localtime_r>
+
+From F<d_localtime_r.U>:
+
+This variable conditionally defines the C<HAS_LOCALTIME_R> symbol,
+which indicates to the C program that the localtime_r()
+routine is available.
+
+=item C<d_localtime_r_needs_tzset>
+
+From F<d_localtime_r.U>:
+
+This variable conditionally defines the C<LOCALTIME_R_NEEDS_TZSET>
+symbol, which makes us call tzset before localtime_r()
+
+=item C<d_locconv>
+
+From F<d_locconv.U>:
+
+This variable conditionally defines C<HAS_LOCALECONV> if localeconv() is
+available for numeric and monetary formatting conventions.
+
+=item C<d_lockf>
+
+From F<d_lockf.U>:
+
+This variable conditionally defines C<HAS_LOCKF> if lockf() is
+available to do file locking.
+
+=item C<d_longdbl>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<HAS_LONG_DOUBLE> if
+the long double type is supported.
+
+=item C<d_longlong>
+
+From F<d_longlong.U>:
+
+This variable conditionally defines C<HAS_LONG_LONG> if
+the long long type is supported.
+
+=item C<d_lseekproto>
+
+From F<d_lseekproto.U>:
+
+This variable conditionally defines the C<HAS_LSEEK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the lseek() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_lstat>
+
+From F<d_lstat.U>:
+
+This variable conditionally defines C<HAS_LSTAT> if lstat() is
+available to do file stats on symbolic links.
+
+=item C<d_madvise>
+
+From F<d_madvise.U>:
+
+This variable conditionally defines C<HAS_MADVISE> if madvise() is
+available to map a file into memory.
+
+=item C<d_malloc_good_size>
+
+From F<d_malloc_size.U>:
+
+This symbol, if defined, indicates that the malloc_good_size
+routine is available for use.
+
+=item C<d_malloc_size>
+
+From F<d_malloc_size.U>:
+
+This symbol, if defined, indicates that the malloc_size
+routine is available for use.
+
+=item C<d_mblen>
+
+From F<d_mblen.U>:
+
+This variable conditionally defines the C<HAS_MBLEN> symbol, which
+indicates to the C program that the mblen() routine is available
+to find the number of bytes in a multibye character.
+
+=item C<d_mbstowcs>
+
+From F<d_mbstowcs.U>:
+
+This variable conditionally defines the C<HAS_MBSTOWCS> symbol, which
+indicates to the C program that the mbstowcs() routine is available
+to convert a multibyte string into a wide character string.
+
+=item C<d_mbtowc>
+
+From F<d_mbtowc.U>:
+
+This variable conditionally defines the C<HAS_MBTOWC> symbol, which
+indicates to the C program that the mbtowc() routine is available
+to convert multibyte to a wide character.
+
+=item C<d_memchr>
+
+From F<d_memchr.U>:
+
+This variable conditionally defines the C<HAS_MEMCHR> symbol, which
+indicates to the C program that the memchr() routine is available
+to locate characters within a C string.
+
+=item C<d_memcmp>
+
+From F<d_memcmp.U>:
+
+This variable conditionally defines the C<HAS_MEMCMP> symbol, which
+indicates to the C program that the memcmp() routine is available
+to compare blocks of memory.
+
+=item C<d_memcpy>
+
+From F<d_memcpy.U>:
+
+This variable conditionally defines the C<HAS_MEMCPY> symbol, which
+indicates to the C program that the memcpy() routine is available
+to copy blocks of memory.
+
+=item C<d_memmove>
+
+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 potentially overlapping blocks of memory.
+
+=item C<d_memset>
+
+From F<d_memset.U>:
+
+This variable conditionally defines the C<HAS_MEMSET> symbol, which
+indicates to the C program that the memset() routine is available
+to set blocks of memory.
+
+=item C<d_mkdir>
+
+From F<d_mkdir.U>:
+
+This variable conditionally defines the C<HAS_MKDIR> symbol, which
+indicates to the C program that the mkdir() routine is available
+to create F<directories.>.
+
+=item C<d_mkdtemp>
+
+From F<d_mkdtemp.U>:
+
+This variable conditionally defines the C<HAS_MKDTEMP> symbol, which
+indicates to the C program that the mkdtemp() routine is available
+to exclusively create a uniquely named temporary directory.
+
+=item C<d_mkfifo>
+
+From F<d_mkfifo.U>:
+
+This variable conditionally defines the C<HAS_MKFIFO> symbol, which
+indicates to the C program that the mkfifo() routine is available.
+
+=item C<d_mkstemp>
+
+From F<d_mkstemp.U>:
+
+This variable conditionally defines the C<HAS_MKSTEMP> symbol, which
+indicates to the C program that the mkstemp() routine is available
+to exclusively create and open a uniquely named temporary file.
+
+=item C<d_mkstemps>
+
+From F<d_mkstemps.U>:
+
+This variable conditionally defines the C<HAS_MKSTEMPS> symbol, which
+indicates to the C program that the mkstemps() routine is available
+to exclusively create and open a uniquely named (with a suffix)
+temporary file.
+
+=item C<d_mktime>
+
+From F<d_mktime.U>:
+
+This variable conditionally defines the C<HAS_MKTIME> symbol, which
+indicates to the C program that the mktime() routine is available.
+
+=item C<d_mktime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_MKTIME64 symbol, which
+indicates to the C program that the mktime64 () routine is available.
+
+=item C<d_mmap>
+
+From F<d_mmap.U>:
+
+This variable conditionally defines C<HAS_MMAP> if mmap() is
+available to map a file into memory.
+
+=item C<d_modfl>
+
+From F<d_modfl.U>:
+
+This variable conditionally defines the C<HAS_MODFL> symbol, which
+indicates to the C program that the modfl() routine is available.
+
+=item C<d_modfl_pow32_bug>
+
+From F<d_modfl.U>:
+
+This variable conditionally defines the HAS_MODFL_POW32_BUG symbol,
+which indicates that modfl() is broken for long doubles >= pow(2, 32).
+For example from 4294967303.150000 one would get 4294967302.000000
+and 1.150000. The bug has been seen in certain versions of glibc,
+release 2.2.2 is known to be okay.
+
+=item C<d_modflproto>
+
+From F<d_modfl.U>:
+
+This symbol, if defined, indicates that the system provides
+a prototype for the modfl() function. Otherwise, it is up
+to the program to supply one. C99 says it should be
+long double modfl(long double, long double *);
+
+=item C<d_mprotect>
+
+From F<d_mprotect.U>:
+
+This variable conditionally defines C<HAS_MPROTECT> if mprotect() is
+available to modify the access protection of a memory mapped file.
+
+=item C<d_msg>
+
+From F<d_msg.U>:
+
+This variable conditionally defines the C<HAS_MSG> symbol, which
+indicates that the entire msg*(2) library is present.
+
+=item C<d_msg_ctrunc>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_CTRUNC> symbol,
+which indicates that the C<MSG_CTRUNC> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_dontroute>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_DONTROUTE> symbol,
+which indicates that the C<MSG_DONTROUTE> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_oob>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_OOB> symbol,
+which indicates that the C<MSG_OOB> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_peek>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_PEEK> symbol,
+which indicates that the C<MSG_PEEK> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_proxy>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_PROXY> symbol,
+which indicates that the C<MSG_PROXY> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msgctl>
+
+From F<d_msgctl.U>:
+
+This variable conditionally defines the C<HAS_MSGCTL> symbol, which
+indicates to the C program that the msgctl() routine is available.
+
+=item C<d_msgget>
+
+From F<d_msgget.U>:
+
+This variable conditionally defines the C<HAS_MSGGET> symbol, which
+indicates to the C program that the msgget() routine is available.
+
+=item C<d_msghdr_s>
+
+From F<d_msghdr_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_MSGHDR> symbol,
+which indicates that the struct msghdr is supported.
+
+=item C<d_msgrcv>
+
+From F<d_msgrcv.U>:
+
+This variable conditionally defines the C<HAS_MSGRCV> symbol, which
+indicates to the C program that the msgrcv() routine is available.
+
+=item C<d_msgsnd>
+
+From F<d_msgsnd.U>:
+
+This variable conditionally defines the C<HAS_MSGSND> symbol, which
+indicates to the C program that the msgsnd() routine is available.
+
+=item C<d_msync>
+
+From F<d_msync.U>:
+
+This variable conditionally defines C<HAS_MSYNC> if msync() is
+available to synchronize a mapped file.
+
+=item C<d_munmap>
+
+From F<d_munmap.U>:
+
+This variable conditionally defines C<HAS_MUNMAP> if munmap() is
+available to unmap a region mapped by mmap().
+
+=item C<d_mymalloc>
+
+From F<mallocsrc.U>:
+
+This variable conditionally defines C<MYMALLOC> in case other parts
+of the source want to take special action if C<MYMALLOC> is used.
+This may include different sorts of profiling or error detection.
+
+=item C<d_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<HAS_NDBM> symbol, which
+indicates that both the F<ndbm.h> include file and an appropriate ndbm
+library exist. Consult the different i_*ndbm variables
+to find out the actual include location. Sometimes, a system has the
+header file but not the library. This variable will only be set if
+the system has both.
+
+=item C<d_ndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the F<ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_nice>
+
+From F<d_nice.U>:
+
+This variable conditionally defines the C<HAS_NICE> symbol, which
+indicates to the C program that the nice() routine is available.
+
+=item C<d_nl_langinfo>
+
+From F<d_nl_langinfo.U>:
+
+This variable conditionally defines the C<HAS_NL_LANGINFO> symbol, which
+indicates to the C program that the nl_langinfo() routine is available.
+
+=item C<d_nv_preserves_uv>
+
+From F<perlxv.U>:
+
+This variable indicates whether a variable of type nvtype
+can preserve all the bits a variable of type uvtype.
+
+=item C<d_nv_zero_is_allbits_zero>
+
+From F<perlxv.U>:
+
+This variable indicates whether a variable of type nvtype
+stores 0.0 in memory as all bits zero.
+
+=item C<d_off64_t>
+
+From F<d_off64_t.U>:
+
+This symbol will be defined if the C compiler supports off64_t.
+
+=item C<d_old_pthread_create_joinable>
+
+From F<d_pthrattrj.U>:
+
+This variable conditionally defines pthread_create_joinable.
+undef if F<pthread.h> defines C<PTHREAD_CREATE_JOINABLE>.
+
+=item C<d_oldpthreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<OLD_PTHREADS_API> symbol,
+and indicates that Perl should be built to use the old
+draft C<POSIX> threads C<API>. This is only potentially meaningful if
+usethreads is set.
+
+=item C<d_oldsock>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<OLDSOCKET> symbol, which
+indicates that the C<BSD> socket interface is based on 4.1c and not 4.2.
+
+=item C<d_open3>
+
+From F<d_open3.U>:
+
+This variable conditionally defines the HAS_OPEN3 manifest constant,
+which indicates to the C program that the 3 argument version of
+the open(2) function is available.
+
+=item C<d_pathconf>
+
+From F<d_pathconf.U>:
+
+This variable conditionally defines the C<HAS_PATHCONF> symbol, which
+indicates to the C program that the pathconf() routine is available
+to determine file-system related limits and options associated
+with a given filename.
+
+=item C<d_pause>
+
+From F<d_pause.U>:
+
+This variable conditionally defines the C<HAS_PAUSE> symbol, which
+indicates to the C program that the pause() routine is available
+to suspend a process until a signal is received.
+
+=item C<d_perl_otherlibdirs>
+
+From F<otherlibdirs.U>:
+
+This variable conditionally defines C<PERL_OTHERLIBDIRS>, which
+contains a colon-separated set of paths for the perl binary to
+include in @C<INC>. See also otherlibdirs.
+
+=item C<d_phostname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_PHOSTNAME> symbol, which
+contains the shell command which, when fed to popen(), may be
+used to derive the host name.
+
+=item C<d_pipe>
+
+From F<d_pipe.U>:
+
+This variable conditionally defines the C<HAS_PIPE> symbol, which
+indicates to the C program that the pipe() routine is available
+to create an inter-process channel.
+
+=item C<d_poll>
+
+From F<d_poll.U>:
+
+This variable conditionally defines the C<HAS_POLL> symbol, which
+indicates to the C program that the poll() routine is available
+to poll active file descriptors.
+
+=item C<d_portable>
+
+From F<d_portable.U>:
+
+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
+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
+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
+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.
+
+=item C<d_PRIfldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+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
+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.
+
+=item C<d_PRIgldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+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
+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.
+
+=item C<d_PRIi64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIi64 symbol, which
+indicates that stdio has a symbol to print 64-bit decimal numbers.
+
+=item C<d_printf_format_null>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<PRINTF_FORMAT_NULL_OK>, which
+indicates the C compiler allows printf-like formats to be null.
+
+=item C<d_PRIo64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIo64 symbol, which
+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
+indicates that stdio has a symbol to print 64-bit unsigned decimal
+numbers.
+
+=item C<d_PRIx64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIx64 symbol, which
+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
+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.
+
+=item C<d_procselfexe>
+
+From F<d_procselfexe.U>:
+
+Defined if $procselfexe is symlink to the absolute
+pathname of the executing program.
+
+=item C<d_pseudofork>
+
+From F<d_vfork.U>:
+
+This variable conditionally defines the C<HAS_PSEUDOFORK> symbol,
+which indicates that an emulation of the fork routine is available.
+
+=item C<d_pthread_atfork>
+
+From F<d_pthread_atfork.U>:
+
+This variable conditionally defines the C<HAS_PTHREAD_ATFORK> symbol,
+which indicates to the C program that the pthread_atfork()
+routine is available.
+
+=item C<d_pthread_attr_setscope>
+
+From F<d_pthread_attr_ss.U>:
+
+This variable conditionally defines C<HAS_PTHREAD_ATTR_SETSCOPE> if
+pthread_attr_setscope() is available to set the contention scope
+attribute of a thread attribute object.
+
+=item C<d_pthread_yield>
+
+From F<d_pthread_y.U>:
+
+This variable conditionally defines the C<HAS_PTHREAD_YIELD>
+symbol if the pthread_yield routine is available to yield
+the execution of the current thread.
+
+=item C<d_pwage>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWAGE>, which indicates
+that struct passwd contains pw_age.
+
+=item C<d_pwchange>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCHANGE>, which indicates
+that struct passwd contains pw_change.
+
+=item C<d_pwclass>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCLASS>, which indicates
+that struct passwd contains pw_class.
+
+=item C<d_pwcomment>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCOMMENT>, which indicates
+that struct passwd contains pw_comment.
+
+=item C<d_pwexpire>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWEXPIRE>, which indicates
+that struct passwd contains pw_expire.
+
+=item C<d_pwgecos>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWGECOS>, which indicates
+that struct passwd contains pw_gecos.
+
+=item C<d_pwpasswd>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWPASSWD>, which indicates
+that struct passwd contains pw_passwd.
+
+=item C<d_pwquota>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWQUOTA>, which indicates
+that struct passwd contains pw_quota.
+
+=item C<d_qgcvt>
+
+From F<d_qgcvt.U>:
+
+This variable conditionally defines the C<HAS_QGCVT> symbol, which
+indicates to the C program that the qgcvt() routine is available.
+
+=item C<d_quad>
+
+From F<quadtype.U>:
+
+This variable, if defined, tells that there's a 64-bit integer type,
+quadtype.
+
+=item C<d_random_r>
+
+From F<d_random_r.U>:
+
+This variable conditionally defines the C<HAS_RANDOM_R> symbol,
+which indicates to the C program that the random_r()
+routine is available.
+
+=item C<d_readdir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_READDIR> if readdir() is
+available to read directory entries.
+
+=item C<d_readdir64_r>
+
+From F<d_readdir64_r.U>:
+
+This variable conditionally defines the HAS_READDIR64_R symbol,
+which indicates to the C program that the readdir64_r()
+routine is available.
+
+=item C<d_readdir_r>
+
+From F<d_readdir_r.U>:
+
+This variable conditionally defines the C<HAS_READDIR_R> symbol,
+which indicates to the C program that the readdir_r()
+routine is available.
+
+=item C<d_readlink>
+
+From F<d_readlink.U>:
+
+This variable conditionally defines the C<HAS_READLINK> symbol, which
+indicates to the C program that the readlink() routine is available
+to read the value of a symbolic link.
+
+=item C<d_readv>
+
+From F<d_readv.U>:
+
+This variable conditionally defines the C<HAS_READV> symbol, which
+indicates to the C program that the readv() routine is available.
+
+=item C<d_recvmsg>
+
+From F<d_recvmsg.U>:
+
+This variable conditionally defines the C<HAS_RECVMSG> symbol, which
+indicates to the C program that the recvmsg() routine is available.
+
+=item C<d_rename>
+
+From F<d_rename.U>:
+
+This variable conditionally defines the C<HAS_RENAME> symbol, which
+indicates to the C program that the rename() routine is available
+to rename files.
+
+=item C<d_rewinddir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_REWINDDIR> if rewinddir() is
+available.
+
+=item C<d_rmdir>
+
+From F<d_rmdir.U>:
+
+This variable conditionally defines C<HAS_RMDIR> if rmdir() is
+available to remove directories.
+
+=item C<d_safebcpy>
+
+From F<d_safebcpy.U>:
+
+This variable conditionally defines the C<HAS_SAFE_BCOPY> symbol if
+the bcopy() routine can do overlapping copies. Normally, you
+should probably use memmove().
+
+=item C<d_safemcpy>
+
+From F<d_safemcpy.U>:
+
+This variable conditionally defines the C<HAS_SAFE_MEMCPY> symbol if
+the memcpy() routine can do overlapping copies.
+For overlapping copies, memmove() should be used, if available.
+
+=item C<d_sanemcmp>
+
+From F<d_sanemcmp.U>:
+
+This variable conditionally defines the C<HAS_SANE_MEMCMP> symbol if
+the memcpy() routine is available and can be used to compare relative
+magnitudes of chars with their high bits set.
+
+=item C<d_sbrkproto>
+
+From F<d_sbrkproto.U>:
+
+This variable conditionally defines the C<HAS_SBRK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the sbrk() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_scalbnl>
+
+From F<d_scalbnl.U>:
+
+This variable conditionally defines the C<HAS_SCALBNL> symbol, which
+indicates to the C program that the scalbnl() routine is available.
+If ilogbl is also present we can emulate frexpl.
+
+=item C<d_sched_yield>
+
+From F<d_pthread_y.U>:
+
+This variable conditionally defines the C<HAS_SCHED_YIELD>
+symbol if the sched_yield routine is available to yield
+the execution of the current thread.
+
+=item C<d_scm_rights>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SCM_RIGHTS> symbol,
+which indicates that the C<SCM_RIGHTS> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_SCNfldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to scan long doubles.
+
+=item C<d_seekdir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_SEEKDIR> if seekdir() is
+available.
+
+=item C<d_select>
+
+From F<d_select.U>:
+
+This variable conditionally defines C<HAS_SELECT> if select() is
+available to select active file descriptors. A <sys/time.h>
+inclusion may be necessary for the timeout field.
+
+=item C<d_sem>
+
+From F<d_sem.U>:
+
+This variable conditionally defines the C<HAS_SEM> symbol, which
+indicates that the entire sem*(2) library is present.
+
+=item C<d_semctl>
+
+From F<d_semctl.U>:
+
+This variable conditionally defines the C<HAS_SEMCTL> symbol, which
+indicates to the C program that the semctl() routine is available.
+
+=item C<d_semctl_semid_ds>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<USE_SEMCTL_SEMID_DS>, which
+indicates that struct semid_ds * is to be used for semctl C<IPC_STAT>.
+
+=item C<d_semctl_semun>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<USE_SEMCTL_SEMUN>, which
+indicates that union semun is to be used for semctl C<IPC_STAT>.
+
+=item C<d_semget>
+
+From F<d_semget.U>:
+
+This variable conditionally defines the C<HAS_SEMGET> symbol, which
+indicates to the C program that the semget() routine is available.
+
+=item C<d_semop>
+
+From F<d_semop.U>:
+
+This variable conditionally defines the C<HAS_SEMOP> symbol, which
+indicates to the C program that the semop() routine is available.
+
+=item C<d_sendmsg>
+
+From F<d_sendmsg.U>:
+
+This variable conditionally defines the C<HAS_SENDMSG> symbol, which
+indicates to the C program that the sendmsg() routine is available.
+
+=item C<d_setegid>
+
+From F<d_setegid.U>:
+
+This variable conditionally defines the C<HAS_SETEGID> symbol, which
+indicates to the C program that the setegid() routine is available
+to change the effective gid of the current program.
+
+=item C<d_seteuid>
+
+From F<d_seteuid.U>:
+
+This variable conditionally defines the C<HAS_SETEUID> symbol, which
+indicates to the C program that the seteuid() routine is available
+to change the effective uid of the current program.
+
+=item C<d_setgrent>
+
+From F<d_setgrent.U>:
+
+This variable conditionally defines the C<HAS_SETGRENT> symbol, which
+indicates to the C program that the setgrent() routine is available
+for initializing sequential access to the group database.
+
+=item C<d_setgrent_r>
+
+From F<d_setgrent_r.U>:
+
+This variable conditionally defines the C<HAS_SETGRENT_R> symbol,
+which indicates to the C program that the setgrent_r()
+routine is available.
+
+=item C<d_setgrps>
+
+From F<d_setgrps.U>:
+
+This variable conditionally defines the C<HAS_SETGROUPS> symbol, which
+indicates to the C program that the setgroups() routine is available
+to set the list of process groups.
+
+=item C<d_sethent>
+
+From F<d_sethent.U>:
+
+This variable conditionally defines C<HAS_SETHOSTENT> if sethostent() is
+available.
+
+=item C<d_sethostent_r>
+
+From F<d_sethostent_r.U>:
+
+This variable conditionally defines the C<HAS_SETHOSTENT_R> symbol,
+which indicates to the C program that the sethostent_r()
+routine is available.
+
+=item C<d_setitimer>
+
+From F<d_setitimer.U>:
+
+This variable conditionally defines the C<HAS_SETITIMER> symbol, which
+indicates to the C program that the setitimer() routine is available.
+
+=item C<d_setlinebuf>
+
+From F<d_setlnbuf.U>:
+
+This variable conditionally defines the C<HAS_SETLINEBUF> symbol, which
+indicates to the C program that the setlinebuf() routine is available
+to change stderr or stdout from block-buffered or unbuffered to a
+line-buffered mode.
+
+=item C<d_setlocale>
+
+From F<d_setlocale.U>:
+
+This variable conditionally defines C<HAS_SETLOCALE> if setlocale() is
+available to handle locale-specific ctype implementations.
+
+=item C<d_setlocale_r>
+
+From F<d_setlocale_r.U>:
+
+This variable conditionally defines the C<HAS_SETLOCALE_R> symbol,
+which indicates to the C program that the setlocale_r()
+routine is available.
+
+=item C<d_setnent>
+
+From F<d_setnent.U>:
+
+This variable conditionally defines C<HAS_SETNETENT> if setnetent() is
+available.
+
+=item C<d_setnetent_r>
+
+From F<d_setnetent_r.U>:
+
+This variable conditionally defines the C<HAS_SETNETENT_R> symbol,
+which indicates to the C program that the setnetent_r()
+routine is available.
+
+=item C<d_setpent>
+
+From F<d_setpent.U>:
+
+This variable conditionally defines C<HAS_SETPROTOENT> if setprotoent() is
+available.
+
+=item C<d_setpgid>
+
+From F<d_setpgid.U>:
+
+This variable conditionally defines the C<HAS_SETPGID> symbol if the
+setpgid(pid, gpid) function is available to set process group C<ID>.
+
+=item C<d_setpgrp>
+
+From F<d_setpgrp.U>:
+
+This variable conditionally defines C<HAS_SETPGRP> if setpgrp() is
+available to set the current process group.
+
+=item C<d_setpgrp2>
+
+From F<d_setpgrp2.U>:
+
+This variable conditionally defines the HAS_SETPGRP2 symbol, which
+indicates to the C program that the setpgrp2() (as in F<DG/C<UX>>) routine
+is available to set the current process group.
+
+=item C<d_setprior>
+
+From F<d_setprior.U>:
+
+This variable conditionally defines C<HAS_SETPRIORITY> if setpriority()
+is available to set a process's priority.
+
+=item C<d_setproctitle>
+
+From F<d_setproctitle.U>:
+
+This variable conditionally defines the C<HAS_SETPROCTITLE> symbol,
+which indicates to the C program that the setproctitle() routine
+is available.
+
+=item C<d_setprotoent_r>
+
+From F<d_setprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_SETPROTOENT_R> symbol,
+which indicates to the C program that the setprotoent_r()
+routine is available.
+
+=item C<d_setpwent>
+
+From F<d_setpwent.U>:
+
+This variable conditionally defines the C<HAS_SETPWENT> symbol, which
+indicates to the C program that the setpwent() routine is available
+for initializing sequential access to the passwd database.
+
+=item C<d_setpwent_r>
+
+From F<d_setpwent_r.U>:
+
+This variable conditionally defines the C<HAS_SETPWENT_R> symbol,
+which indicates to the C program that the setpwent_r()
+routine is available.
+
+=item C<d_setregid>
+
+From F<d_setregid.U>:
+
+This variable conditionally defines C<HAS_SETREGID> if setregid() is
+available to change the real and effective gid of the current
+process.
+
+=item C<d_setresgid>
+
+From F<d_setregid.U>:
+
+This variable conditionally defines C<HAS_SETRESGID> if setresgid() is
+available to change the real, effective and saved gid of the current
+process.
+
+=item C<d_setresuid>
+
+From F<d_setreuid.U>:
+
+This variable conditionally defines C<HAS_SETREUID> if setresuid() is
+available to change the real, effective and saved uid of the current
+process.
+
+=item C<d_setreuid>
+
+From F<d_setreuid.U>:
+
+This variable conditionally defines C<HAS_SETREUID> if setreuid() is
+available to change the real and effective uid of the current
+process.
+
+=item C<d_setrgid>
+
+From F<d_setrgid.U>:
+
+This variable conditionally defines the C<HAS_SETRGID> symbol, which
+indicates to the C program that the setrgid() routine is available
+to change the real gid of the current program.
+
+=item C<d_setruid>
+
+From F<d_setruid.U>:
+
+This variable conditionally defines the C<HAS_SETRUID> symbol, which
+indicates to the C program that the setruid() routine is available
+to change the real uid of the current program.
+
+=item C<d_setsent>
+
+From F<d_setsent.U>:
+
+This variable conditionally defines C<HAS_SETSERVENT> if setservent() is
+available.
+
+=item C<d_setservent_r>
+
+From F<d_setservent_r.U>:
+
+This variable conditionally defines the C<HAS_SETSERVENT_R> symbol,
+which indicates to the C program that the setservent_r()
+routine is available.
+
+=item C<d_setsid>
+
+From F<d_setsid.U>:
+
+This variable conditionally defines C<HAS_SETSID> if setsid() is
+available to set the process group C<ID>.
+
+=item C<d_setvbuf>
+
+From F<d_setvbuf.U>:
+
+This variable conditionally defines the C<HAS_SETVBUF> symbol, which
+indicates to the C program that the setvbuf() routine is available
+to change buffering on an open stdio stream.
+
+=item C<d_shm>
+
+From F<d_shm.U>:
+
+This variable conditionally defines the C<HAS_SHM> symbol, which
+indicates that the entire shm*(2) library is present.
+
+=item C<d_shmat>
+
+From F<d_shmat.U>:
+
+This variable conditionally defines the C<HAS_SHMAT> symbol, which
+indicates to the C program that the shmat() routine is available.
+
+=item C<d_shmatprototype>
+
+From F<d_shmat.U>:
+
+This variable conditionally defines the C<HAS_SHMAT_PROTOTYPE>
+symbol, which indicates that F<sys/shm.h> has a prototype for
+shmat.
+
+=item C<d_shmctl>
+
+From F<d_shmctl.U>:
+
+This variable conditionally defines the C<HAS_SHMCTL> symbol, which
+indicates to the C program that the shmctl() routine is available.
+
+=item C<d_shmdt>
+
+From F<d_shmdt.U>:
+
+This variable conditionally defines the C<HAS_SHMDT> symbol, which
+indicates to the C program that the shmdt() routine is available.
+
+=item C<d_shmget>
+
+From F<d_shmget.U>:
+
+This variable conditionally defines the C<HAS_SHMGET> symbol, which
+indicates to the C program that the shmget() routine is available.
+
+=item C<d_sigaction>
+
+From F<d_sigaction.U>:
+
+This variable conditionally defines the C<HAS_SIGACTION> symbol, which
+indicates that the Vr4 sigaction() routine is available.
+
+=item C<d_signbit>
+
+From F<d_signbit.U>:
+
+This variable conditionally defines the C<HAS_SIGNBIT> symbol, which
+indicates to the C program that the signbit() routine is available
+and safe to use with perl's intern C<NV> type.
+
+=item C<d_sigprocmask>
+
+From F<d_sigprocmask.U>:
+
+This variable conditionally defines C<HAS_SIGPROCMASK>
+if sigprocmask() is available to examine or change the signal mask
+of the calling process.
+
+=item C<d_sigsetjmp>
+
+From F<d_sigsetjmp.U>:
+
+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>:
+
+This variable conditionally defines C<SITEARCH> to hold the pathname
+of architecture-dependent library files for $package. If
+$sitearch is the same as $archlib, then this is set to undef.
+
+=item C<d_snprintf>
+
+From F<d_snprintf.U>:
+
+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_in6>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_SOCKADDR_IN6 symbol, which
+indicates the availability of a struct sockaddr_in6.
+
+=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>:
+
+This variable conditionally defines the C<HAS_SOCKATMARK> symbol, which
+indicates to the C program that the sockatmark() routine is available.
+
+=item C<d_sockatmarkproto>
+
+From F<d_sockatmarkproto.U>:
+
+This variable conditionally defines the C<HAS_SOCKATMARK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the sockatmark() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_socket>
+
+From F<d_socket.U>:
+
+This variable conditionally defines C<HAS_SOCKET>, which indicates
+that the C<BSD> socket interface is supported.
+
+=item C<d_socklen_t>
+
+From F<d_socklen_t.U>:
+
+This symbol will be defined if the C compiler supports socklen_t.
+
+=item C<d_sockpair>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SOCKETPAIR> symbol, which
+indicates that the C<BSD> socketpair() is supported.
+
+=item C<d_socks5_init>
+
+From F<d_socks5_init.U>:
+
+This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
+indicates to the C program that the socks5_init() routine is available.
+
+=item C<d_sprintf_returns_strlen>
+
+From F<d_sprintf_len.U>:
+
+This variable defines whether sprintf returns the length of the string
+(as per the C<ANSI> spec). Some C libraries retain compatibility with
+pre-C<ANSI> C and return a pointer to the passed in buffer; for these
+this variable will be undef.
+
+=item C<d_sqrtl>
+
+From F<d_sqrtl.U>:
+
+This variable conditionally defines the C<HAS_SQRTL> symbol, which
+indicates to the C program that the sqrtl() routine is available.
+
+=item C<d_srand48_r>
+
+From F<d_srand48_r.U>:
+
+This variable conditionally defines the HAS_SRAND48_R symbol,
+which indicates to the C program that the srand48_r()
+routine is available.
+
+=item C<d_srandom_r>
+
+From F<d_srandom_r.U>:
+
+This variable conditionally defines the C<HAS_SRANDOM_R> symbol,
+which indicates to the C program that the srandom_r()
+routine is available.
+
+=item C<d_sresgproto>
+
+From F<d_sresgproto.U>:
+
+This variable conditionally defines the C<HAS_SETRESGID_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the setresgid() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_sresuproto>
+
+From F<d_sresuproto.U>:
+
+This variable conditionally defines the C<HAS_SETRESUID_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the setresuid() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_statblks>
+
+From F<d_statblks.U>:
+
+This variable conditionally defines C<USE_STAT_BLOCKS>
+if this system has a stat structure declaring
+st_blksize and st_blocks.
+
+=item C<d_statfs_f_flags>
+
+From F<d_statfs_f_flags.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_STATFS_F_FLAGS>
+symbol, which indicates to struct statfs from has f_flags member.
+This kind of struct statfs is coming from F<sys/mount.h> (C<BSD>),
+not from F<sys/statfs.h> (C<SYSV>).
+
+=item C<d_statfs_s>
+
+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>:
+
+This variable conditionally defines the C<HAS_STATVFS> symbol, which
+indicates to the C program that the statvfs() routine is available.
+
+=item C<d_stdio_cnt_lval>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<STDIO_CNT_LVALUE> if the
+C<FILE_cnt> macro can be used as an lvalue.
+
+=item C<d_stdio_ptr_lval>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<STDIO_PTR_LVALUE> if the
+C<FILE_ptr> macro can be used as an lvalue.
+
+=item C<d_stdio_ptr_lval_nochange_cnt>
+
+From F<d_stdstdio.U>:
+
+This symbol is defined if using the C<FILE_ptr> macro as an lvalue
+to increase the pointer by n leaves File_cnt(fp) unchanged.
+
+=item C<d_stdio_ptr_lval_sets_cnt>
+
+From F<d_stdstdio.U>:
+
+This symbol is defined if using the C<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.
+
+=item C<d_stdio_stream_array>
+
+From F<stdio_streams.U>:
+
+This variable tells whether there is an array holding
+the stdio streams.
+
+=item C<d_stdiobase>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<USE_STDIO_BASE> if this system
+has a C<FILE> structure declaring a usable _base field (or equivalent)
+in F<stdio.h>.
+
+=item C<d_stdstdio>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<USE_STDIO_PTR> if this system
+has a C<FILE> structure declaring usable _ptr and _cnt fields (or
+equivalent) in F<stdio.h>.
+
+=item C<d_strchr>
+
+From F<d_strchr.U>:
+
+This variable conditionally defines C<HAS_STRCHR> if strchr() and
+strrchr() are available for string searching.
+
+=item C<d_strcoll>
+
+From F<d_strcoll.U>:
+
+This variable conditionally defines C<HAS_STRCOLL> if strcoll() is
+available to compare strings using collating information.
+
+=item C<d_strctcpy>
+
+From F<d_strctcpy.U>:
+
+This variable conditionally defines the C<USE_STRUCT_COPY> symbol, which
+indicates to the C program that this C compiler knows how to copy
+structures.
+
+=item C<d_strerrm>
+
+From F<d_strerror.U>:
+
+This variable holds what Strerror is defined as to translate an error
+code condition into an error message string. It could be C<strerror>
+or a more C<complex> macro emulating strerror with sys_errlist[], or the
+C<unknown> string when both strerror and sys_errlist are missing.
+
+=item C<d_strerror>
+
+From F<d_strerror.U>:
+
+This variable conditionally defines C<HAS_STRERROR> if strerror() is
+available to translate error numbers to strings.
+
+=item C<d_strerror_r>
+
+From F<d_strerror_r.U>:
+
+This variable conditionally defines the C<HAS_STRERROR_R> symbol,
+which indicates to the C program that the strerror_r()
+routine is available.
+
+=item C<d_strftime>
+
+From F<d_strftime.U>:
+
+This variable conditionally defines the C<HAS_STRFTIME> symbol, which
+indicates to the C program that the strftime() routine is available.
+
+=item C<d_strlcat>
+
+From F<d_strlcat.U>:
+
+This variable conditionally defines the C<HAS_STRLCAT> symbol, which
+indicates to the C program that the strlcat () routine is available.
+
+=item C<d_strlcpy>
+
+From F<d_strlcpy.U>:
+
+This variable conditionally defines the C<HAS_STRLCPY> symbol, which
+indicates to the C program that the strlcpy () routine is available.
+
+=item C<d_strtod>
+
+From F<d_strtod.U>:
+
+This variable conditionally defines the C<HAS_STRTOD> symbol, which
+indicates to the C program that the strtod() routine is available
+to provide better numeric string conversion than atof().
+
+=item C<d_strtol>
+
+From F<d_strtol.U>:
+
+This variable conditionally defines the C<HAS_STRTOL> symbol, which
+indicates to the C program that the strtol() routine is available
+to provide better numeric string conversion than atoi() and friends.
+
+=item C<d_strtold>
+
+From F<d_strtold.U>:
+
+This variable conditionally defines the C<HAS_STRTOLD> symbol, which
+indicates to the C program that the strtold() routine is available.
+
+=item C<d_strtoll>
+
+From F<d_strtoll.U>:
+
+This variable conditionally defines the C<HAS_STRTOLL> symbol, which
+indicates to the C program that the strtoll() routine is available.
+
+=item C<d_strtoq>
+
+From F<d_strtoq.U>:
+
+This variable conditionally defines the C<HAS_STRTOQ> symbol, which
+indicates to the C program that the strtoq() routine is available.
+
+=item C<d_strtoul>
+
+From F<d_strtoul.U>:
+
+This variable conditionally defines the C<HAS_STRTOUL> symbol, which
+indicates to the C program that the strtoul() routine is available
+to provide conversion of strings to unsigned long.
+
+=item C<d_strtoull>
+
+From F<d_strtoull.U>:
+
+This variable conditionally defines the C<HAS_STRTOULL> symbol, which
+indicates to the C program that the strtoull() routine is available.
+
+=item C<d_strtouq>
+
+From F<d_strtouq.U>:
+
+This variable conditionally defines the C<HAS_STRTOUQ> symbol, which
+indicates to the C program that the strtouq() routine is available.
+
+=item C<d_strxfrm>
+
+From F<d_strxfrm.U>:
+
+This variable conditionally defines C<HAS_STRXFRM> if strxfrm() is
+available to transform strings.
+
+=item C<d_suidsafe>
+
+From F<d_dosuid.U>:
+
+This variable conditionally defines C<SETUID_SCRIPTS_ARE_SECURE_NOW>
+if setuid scripts can be secure. This test looks in F</dev/fd/>.
+
+=item C<d_symlink>
+
+From F<d_symlink.U>:
+
+This variable conditionally defines the C<HAS_SYMLINK> symbol, which
+indicates to the C program that the symlink() routine is available
+to create symbolic links.
+
+=item C<d_syscall>
+
+From F<d_syscall.U>:
+
+This variable conditionally defines C<HAS_SYSCALL> if syscall() is
+available call arbitrary system calls.
+
+=item C<d_syscallproto>
+
+From F<d_syscallproto.U>:
+
+This variable conditionally defines the C<HAS_SYSCALL_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the syscall() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_sysconf>
+
+From F<d_sysconf.U>:
+
+This variable conditionally defines the C<HAS_SYSCONF> symbol, which
+indicates to the C program that the sysconf() routine is available
+to determine system related limits and options.
+
+=item C<d_sysernlst>
+
+From F<d_strerror.U>:
+
+This variable conditionally defines C<HAS_SYS_ERRNOLIST> if sys_errnolist[]
+is available to translate error numbers to the symbolic name.
+
+=item C<d_syserrlst>
+
+From F<d_strerror.U>:
+
+This variable conditionally defines C<HAS_SYS_ERRLIST> if sys_errlist[] is
+available to translate error numbers to strings.
+
+=item C<d_system>
+
+From F<d_system.U>:
+
+This variable conditionally defines C<HAS_SYSTEM> if system() is
+available to issue a shell command.
+
+=item C<d_tcgetpgrp>
+
+From F<d_tcgtpgrp.U>:
+
+This variable conditionally defines the C<HAS_TCGETPGRP> symbol, which
+indicates to the C program that the tcgetpgrp() routine is available.
+to get foreground process group C<ID>.
+
+=item C<d_tcsetpgrp>
+
+From F<d_tcstpgrp.U>:
+
+This variable conditionally defines the C<HAS_TCSETPGRP> symbol, which
+indicates to the C program that the tcsetpgrp() routine is available
+to set foreground process group C<ID>.
+
+=item C<d_telldir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_TELLDIR> if telldir() is
+available.
+
+=item C<d_telldirproto>
+
+From F<d_telldirproto.U>:
+
+This variable conditionally defines the C<HAS_TELLDIR_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the telldir() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_time>
+
+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 normally
+provided on C<UNIX> systems.
+
+=item C<d_timegm>
+
+From F<d_timegm.U>:
+
+This variable conditionally defines the C<HAS_TIMEGM> symbol, which
+indicates to the C program that the timegm () routine is available.
+
+=item C<d_times>
+
+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 normally
+provided on C<UNIX> systems. You may have to include <sys/times.h>.
+
+=item C<d_tm_tm_gmtoff>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<HAS_TM_TM_GMTOFF>, which indicates
+indicates to the C program that the struct tm has the tm_gmtoff field.
+
+=item C<d_tm_tm_zone>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<HAS_TM_TM_ZONE>, which indicates
+indicates to the C program that the struct tm has the tm_zone field.
+
+=item C<d_tmpnam_r>
+
+From F<d_tmpnam_r.U>:
+
+This variable conditionally defines the C<HAS_TMPNAM_R> symbol,
+which indicates to the C program that the tmpnam_r()
+routine is available.
+
+=item C<d_truncate>
+
+From F<d_truncate.U>:
+
+This variable conditionally defines C<HAS_TRUNCATE> if truncate() is
+available to truncate files.
+
+=item C<d_ttyname_r>
+
+From F<d_ttyname_r.U>:
+
+This variable conditionally defines the C<HAS_TTYNAME_R> symbol,
+which indicates to the C program that the ttyname_r()
+routine is available.
+
+=item C<d_tzname>
+
+From F<d_tzname.U>:
+
+This variable conditionally defines C<HAS_TZNAME> if tzname[] is
+available to access timezone names.
+
+=item C<d_u32align>
+
+From F<d_u32align.U>:
+
+This variable tells whether you must access character data
+through U32-aligned pointers.
+
+=item C<d_ualarm>
+
+From F<d_ualarm.U>:
+
+This variable conditionally defines the C<HAS_UALARM> symbol, which
+indicates to the C program that the ualarm() routine is available.
+
+=item C<d_umask>
+
+From F<d_umask.U>:
+
+This variable conditionally defines the C<HAS_UMASK> symbol, which
+indicates to the C program that the umask() routine is available.
+to set and get the value of the file creation mask.
+
+=item C<d_uname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_UNAME> symbol, which
+indicates to the C program that the uname() routine may be
+used to derive the host name.
+
+=item C<d_union_semun>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<HAS_UNION_SEMUN> if the
+union semun is defined by including <sys/sem.h>.
+
+=item C<d_unordered>
+
+From F<d_unordered.U>:
+
+This variable conditionally defines the C<HAS_UNORDERED> symbol, which
+indicates to the C program that the unordered() routine is available.
+
+=item C<d_unsetenv>
+
+From F<d_unsetenv.U>:
+
+This variable conditionally defines the C<HAS_UNSETENV> symbol, which
+indicates to the C program that the unsetenv () routine is available.
+
+=item C<d_usleep>
+
+From F<d_usleep.U>:
+
+This variable conditionally defines C<HAS_USLEEP> if usleep() is
+available to do high granularity sleeps.
+
+=item C<d_usleepproto>
+
+From F<d_usleepproto.U>:
+
+This variable conditionally defines the C<HAS_USLEEP_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the usleep() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_ustat>
+
+From F<d_ustat.U>:
+
+This variable conditionally defines C<HAS_USTAT> if ustat() is
+available to query file system statistics by dev_t.
+
+=item C<d_vendorarch>
+
+From F<vendorarch.U>:
+
+This variable conditionally defined C<PERL_VENDORARCH>.
+
+=item C<d_vendorbin>
+
+From F<vendorbin.U>:
+
+This variable conditionally defines C<PERL_VENDORBIN>.
+
+=item C<d_vendorlib>
+
+From F<vendorlib.U>:
+
+This variable conditionally defines C<PERL_VENDORLIB>.
+
+=item C<d_vendorscript>
+
+From F<vendorscript.U>:
+
+This variable conditionally defines C<PERL_VENDORSCRIPT>.
+
+=item C<d_vfork>
+
+From F<d_vfork.U>:
+
+This variable conditionally defines the C<HAS_VFORK> symbol, which
+indicates the vfork() routine is available.
+
+=item C<d_void_closedir>
+
+From F<d_closedir.U>:
+
+This variable conditionally defines C<VOID_CLOSEDIR> if closedir()
+does not return a value.
+
+=item C<d_voidsig>
+
+From F<d_voidsig.U>:
+
+This variable conditionally defines C<VOIDSIG> if this system
+declares "void (*signal(...))()" in F<signal.h>. The old way was to
+declare it as "int (*signal(...))()".
+
+=item C<d_voidtty>
+
+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
+descriptors and do a setpgrp().
+
+=item C<d_volatile>
+
+From F<d_volatile.U>:
+
+This variable conditionally defines the C<HASVOLATILE> symbol, which
+indicates to the C program that this C compiler knows about the
+volatile declaration.
+
+=item C<d_vprintf>
+
+From F<d_vprintf.U>:
+
+This variable conditionally defines the C<HAS_VPRINTF> symbol, which
+indicates to the C program that the vprintf() routine is available
+to printf with a pointer to an argument list.
+
+=item C<d_vsnprintf>
+
+From F<d_snprintf.U>:
+
+This variable conditionally defines the C<HAS_VSNPRINTF> symbol, which
+indicates to the C program that the vsnprintf () library function
+is available.
+
+=item C<d_wait4>
+
+From F<d_wait4.U>:
+
+This variable conditionally defines the HAS_WAIT4 symbol, which
+indicates the wait4() routine is available.
+
+=item C<d_waitpid>
+
+From F<d_waitpid.U>:
+
+This variable conditionally defines C<HAS_WAITPID> if waitpid() is
+available to wait for child process.
+
+=item C<d_wcstombs>
+
+From F<d_wcstombs.U>:
+
+This variable conditionally defines the C<HAS_WCSTOMBS> symbol, which
+indicates to the C program that the wcstombs() routine is available
+to convert wide character strings to multibyte strings.
+
+=item C<d_wctomb>
+
+From F<d_wctomb.U>:
+
+This variable conditionally defines the C<HAS_WCTOMB> symbol, which
+indicates to the C program that the wctomb() routine is available
+to convert a wide character to a multibyte.
+
+=item C<d_writev>
+
+From F<d_writev.U>:
+
+This variable conditionally defines the C<HAS_WRITEV> symbol, which
+indicates to the C program that the writev() routine is available.
+
+=item C<d_xenix>
+
+From F<Guess.U>:
+
+This variable conditionally defines the symbol C<XENIX>, which alerts
+the C program that it runs under Xenix.
+
+=item C<date>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the date program. After Configure runs,
+the value is reset to a plain C<date> and is not useful.
+
+=item C<db_hashtype>
+
+From F<i_db.U>:
+
+This variable contains the type of the hash structure element
+in the <db.h> header file. In older versions of C<DB>, it was
+int, while in newer ones it is u_int32_t.
+
+=item C<db_prefixtype>
+
+From F<i_db.U>:
+
+This variable contains the type of the prefix structure element
+in the <db.h> header file. In older versions of C<DB>, it was
+int, while in newer ones it is size_t.
+
+=item C<db_version_major>
+
+From F<i_db.U>:
+
+This variable contains the major version number of
+Berkeley C<DB> found in the <db.h> header file.
+
+=item C<db_version_minor>
+
+From F<i_db.U>:
+
+This variable contains the minor version number of
+Berkeley C<DB> found in the <db.h> header file.
+For C<DB> version 1 this is always 0.
+
+=item C<db_version_patch>
+
+From F<i_db.U>:
+
+This variable contains the patch version number of
+Berkeley C<DB> found in the <db.h> header file.
+For C<DB> version 1 this is always 0.
+
+=item C<direntrytype>
+
+From F<i_dirent.U>:
+
+This symbol is set to C<struct direct> or C<struct dirent> depending on
+whether dirent is available or not. You should use this pseudo type to
+portably declare your directory entries.
+
+=item C<dlext>
+
+From F<dlext.U>:
+
+This variable contains the extension that is to be used for the
+dynamically loaded modules that perl generates.
+
+=item C<dlsrc>
+
+From F<dlsrc.U>:
+
+This variable contains the name of the dynamic loading file that
+will be used with the package.
+
+=item C<doublesize>
+
+From F<doublesize.U>:
+
+This variable contains the value of the C<DOUBLESIZE> symbol, which
+indicates to the C program how many bytes there are in a double.
+
+=item C<drand01>
+
+From F<randfunc.U>:
+
+Indicates the macro to be used to generate normalized
+random numbers. Uses randfunc, often divided by
+(double) (((unsigned long) 1 << randbits)) in order to
+normalize the result.
+In C programs, the macro C<Drand01> is mapped to drand01.
+
+=item C<drand48_r_proto>
+
+From F<d_drand48_r.U>:
+
+This variable encodes the prototype of drand48_r.
+It is zero if d_drand48_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_drand48_r
+is defined.
+
+=item C<dtrace>
+
+From F<usedtrace.U>:
+
+This variable holds the location of the dtrace executable.
+
+=item C<dynamic_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of C<XS> extension files we want to
+link dynamically into the package. It is used by Makefile.
+
+=back
+
+=cut
+
+=head2 e
+
+=over 4
+
+=cut
+
+=item C<eagain>
+
+From F<nblock_io.U>:
+
+This variable bears the symbolic errno code set by read() when no
+data is present on the file and non-blocking I/O was enabled (otherwise,
+read() blocks naturally).
+
+=item C<ebcdic>
+
+From F<ebcdic.U>:
+
+This variable conditionally defines C<EBCDIC> if this
+system uses C<EBCDIC> encoding.
+
+=item C<echo>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the echo program. After Configure runs,
+the value is reset to a plain C<echo> and is not useful.
+
+=item C<egrep>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the egrep program. After Configure runs,
+the value is reset to a plain C<egrep> and is not useful.
+
+=item C<emacs>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<endgrent_r_proto>
+
+From F<d_endgrent_r.U>:
+
+This variable encodes the prototype of endgrent_r.
+It is zero if d_endgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endgrent_r
+is defined.
+
+=item C<endhostent_r_proto>
+
+From F<d_endhostent_r.U>:
+
+This variable encodes the prototype of endhostent_r.
+It is zero if d_endhostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endhostent_r
+is defined.
+
+=item C<endnetent_r_proto>
+
+From F<d_endnetent_r.U>:
+
+This variable encodes the prototype of endnetent_r.
+It is zero if d_endnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endnetent_r
+is defined.
+
+=item C<endprotoent_r_proto>
+
+From F<d_endprotoent_r.U>:
+
+This variable encodes the prototype of endprotoent_r.
+It is zero if d_endprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endprotoent_r
+is defined.
+
+=item C<endpwent_r_proto>
+
+From F<d_endpwent_r.U>:
+
+This variable encodes the prototype of endpwent_r.
+It is zero if d_endpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endpwent_r
+is defined.
+
+=item C<endservent_r_proto>
+
+From F<d_endservent_r.U>:
+
+This variable encodes the prototype of endservent_r.
+It is zero if d_endservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endservent_r
+is defined.
+
+=item C<eunicefix>
+
+From F<Init.U>:
+
+When running under Eunice this variable contains a command which will
+convert a shell script to the proper form of text file for it to be
+executable by the shell. On other systems it is a no-op.
+
+=item C<exe_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _exe.
+
+=item C<expr>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the expr program. After Configure runs,
+the value is reset to a plain C<expr> and is not useful.
+
+=item C<extensions>
+
+From F<Extensions.U>:
+
+This variable holds a list of all extension files (both C<XS> and
+non-xs) installed with the package. It is propagated to F<Config.pm>
+and is typically used to test whether a particular extension
+is available.
+
+=item C<extern_C>
+
+From F<Csym.U>:
+
+C<ANSI> C requires C<extern> where C++ requires 'extern C<C>'. This
+variable can be used in Configure to do the right thing.
+
+=item C<extras>
+
+From F<Extras.U>:
+
+This variable holds a list of extra modules to install.
+
+=back
+
+=cut
+
+=head2 f
+
+=over 4
+
+=cut
+
+=item C<fflushall>
+
+From F<fflushall.U>:
+
+This symbol, if defined, tells that to flush
+all pending stdio output one must loop through all
+the stdio file handles stored in an array and fflush them.
+Note that if fflushNULL is defined, fflushall will not
+even be probed for and will be left undefined.
+
+=item C<fflushNULL>
+
+From F<fflushall.U>:
+
+This symbol, if defined, tells that fflush(C<NULL>) correctly
+flushes all pending stdio output without side effects. In
+particular, on some platforms calling fflush(C<NULL>) *still*
+corrupts C<STDIN> if it is a pipe.
+
+=item C<find>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<firstmakefile>
+
+From F<Unix.U>:
+
+This variable defines the first file searched by make. On unix,
+it is makefile (then Makefile). On case-insensitive systems,
+it might be something else. This is only used to deal with
+convoluted make depend tricks.
+
+=item C<flex>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<fpossize>
+
+From F<fpossize.U>:
+
+This variable contains the size of a fpostype in bytes.
+
+=item C<fpostype>
+
+From F<fpostype.U>:
+
+This variable defines Fpos_t to be something like fpos_t, long,
+uint, or whatever type is used to declare file positions in libc.
+
+=item C<freetype>
+
+From F<mallocsrc.U>:
+
+This variable contains the return type of free(). It is usually
+void, but occasionally int.
+
+=item C<from>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy files from the target host. Useful and available
+only during Perl build.
+The string C<:> if not cross-compiling.
+
+=item C<full_ar>
+
+From F<Loc_ar.U>:
+
+This variable contains the full pathname to C<ar>, whether or
+not the user has specified C<portability>. This is only used
+in the F<Makefile.SH>.
+
+=item C<full_csh>
+
+From F<d_csh.U>:
+
+This variable contains the full pathname to C<csh>, whether or
+not the user has specified C<portability>. This is only used
+in the compiled C program, and we assume that all systems which
+can share this executable will have the same full pathname to
+F<csh.>
+
+=item C<full_sed>
+
+From F<Loc_sed.U>:
+
+This variable contains the full pathname to C<sed>, whether or
+not the user has specified C<portability>. This is only used
+in the compiled C program, and we assume that all systems which
+can share this executable will have the same full pathname to
+F<sed.>
+
+=back
+
+=cut
+
+=head2 g
+
+=over 4
+
+=cut
+
+=item C<gccansipedantic>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable will enable (if set) the
+-ansi and -pedantic ccflags for building core files (through
+cflags script). (See F<Porting/pumpkin.pod> for full description).
+
+=item C<gccosandvers>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable holds the operating system
+and version used to compile gcc. It is set to '' if not gcc,
+or if nothing useful can be parsed as the os version.
+
+=item C<gccversion>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable holds C<1> or C<2> to
+indicate whether the compiler is version 1 or 2. This is used in
+setting some of the default cflags. It is set to '' if not gcc.
+
+=item C<getgrent_r_proto>
+
+From F<d_getgrent_r.U>:
+
+This variable encodes the prototype of getgrent_r.
+It is zero if d_getgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrent_r
+is defined.
+
+=item C<getgrgid_r_proto>
+
+From F<d_getgrgid_r.U>:
+
+This variable encodes the prototype of getgrgid_r.
+It is zero if d_getgrgid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrgid_r
+is defined.
+
+=item C<getgrnam_r_proto>
+
+From F<d_getgrnam_r.U>:
+
+This variable encodes the prototype of getgrnam_r.
+It is zero if d_getgrnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrnam_r
+is defined.
+
+=item C<gethostbyaddr_r_proto>
+
+From F<d_gethostbyaddr_r.U>:
+
+This variable encodes the prototype of gethostbyaddr_r.
+It is zero if d_gethostbyaddr_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyaddr_r
+is defined.
+
+=item C<gethostbyname_r_proto>
+
+From F<d_gethostbyname_r.U>:
+
+This variable encodes the prototype of gethostbyname_r.
+It is zero if d_gethostbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyname_r
+is defined.
+
+=item C<gethostent_r_proto>
+
+From F<d_gethostent_r.U>:
+
+This variable encodes the prototype of gethostent_r.
+It is zero if d_gethostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostent_r
+is defined.
+
+=item C<getlogin_r_proto>
+
+From F<d_getlogin_r.U>:
+
+This variable encodes the prototype of getlogin_r.
+It is zero if d_getlogin_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getlogin_r
+is defined.
+
+=item C<getnetbyaddr_r_proto>
+
+From F<d_getnetbyaddr_r.U>:
+
+This variable encodes the prototype of getnetbyaddr_r.
+It is zero if d_getnetbyaddr_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyaddr_r
+is defined.
+
+=item C<getnetbyname_r_proto>
+
+From F<d_getnetbyname_r.U>:
+
+This variable encodes the prototype of getnetbyname_r.
+It is zero if d_getnetbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyname_r
+is defined.
+
+=item C<getnetent_r_proto>
+
+From F<d_getnetent_r.U>:
+
+This variable encodes the prototype of getnetent_r.
+It is zero if d_getnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetent_r
+is defined.
+
+=item C<getprotobyname_r_proto>
+
+From F<d_getprotobyname_r.U>:
+
+This variable encodes the prototype of getprotobyname_r.
+It is zero if d_getprotobyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobyname_r
+is defined.
+
+=item C<getprotobynumber_r_proto>
+
+From F<d_getprotobynumber_r.U>:
+
+This variable encodes the prototype of getprotobynumber_r.
+It is zero if d_getprotobynumber_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobynumber_r
+is defined.
+
+=item C<getprotoent_r_proto>
+
+From F<d_getprotoent_r.U>:
+
+This variable encodes the prototype of getprotoent_r.
+It is zero if d_getprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotoent_r
+is defined.
+
+=item C<getpwent_r_proto>
+
+From F<d_getpwent_r.U>:
+
+This variable encodes the prototype of getpwent_r.
+It is zero if d_getpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwent_r
+is defined.
+
+=item C<getpwnam_r_proto>
+
+From F<d_getpwnam_r.U>:
+
+This variable encodes the prototype of getpwnam_r.
+It is zero if d_getpwnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwnam_r
+is defined.
+
+=item C<getpwuid_r_proto>
+
+From F<d_getpwuid_r.U>:
+
+This variable encodes the prototype of getpwuid_r.
+It is zero if d_getpwuid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwuid_r
+is defined.
+
+=item C<getservbyname_r_proto>
+
+From F<d_getservbyname_r.U>:
+
+This variable encodes the prototype of getservbyname_r.
+It is zero if d_getservbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyname_r
+is defined.
+
+=item C<getservbyport_r_proto>
+
+From F<d_getservbyport_r.U>:
+
+This variable encodes the prototype of getservbyport_r.
+It is zero if d_getservbyport_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyport_r
+is defined.
+
+=item C<getservent_r_proto>
+
+From F<d_getservent_r.U>:
+
+This variable encodes the prototype of getservent_r.
+It is zero if d_getservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservent_r
+is defined.
+
+=item C<getspnam_r_proto>
+
+From F<d_getspnam_r.U>:
+
+This variable encodes the prototype of getspnam_r.
+It is zero if d_getspnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getspnam_r
+is defined.
+
+=item C<gidformat>
+
+From F<gidf.U>:
+
+This variable contains the format string used for printing a Gid_t.
+
+=item C<gidsign>
+
+From F<gidsign.U>:
+
+This variable contains the signedness of a gidtype.
+1 for unsigned, -1 for signed.
+
+=item C<gidsize>
+
+From F<gidsize.U>:
+
+This variable contains the size of a gidtype in bytes.
+
+=item C<gidtype>
+
+From F<gidtype.U>:
+
+This variable defines Gid_t to be something like gid_t, int,
+ushort, or whatever type is used to declare the return type
+of getgid(). Typically, it is the type of group ids in the kernel.
+
+=item C<glibpth>
+
+From F<libpth.U>:
+
+This variable holds the general path (space-separated) used to
+find libraries. It may contain directories that do not exist on
+this platform, libpth is the cleaned-up version.
+
+=item C<gmake>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the gmake program. After Configure runs,
+the value is reset to a plain C<gmake> and is not useful.
+
+=item C<gmtime_r_proto>
+
+From F<d_gmtime_r.U>:
+
+This variable encodes the prototype of gmtime_r.
+It is zero if d_gmtime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gmtime_r
+is defined.
+
+=item C<gnulibc_version>
+
+From F<d_gnulibc.U>:
+
+This variable contains the version number of the C<GNU> C library.
+It is usually something like F<2.2.5>. It is a plain '' if this
+is not the C<GNU> C library, or if the version is unknown.
+
+=item C<grep>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the grep program. After Configure runs,
+the value is reset to a plain C<grep> and is not useful.
+
+=item C<groupcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/group> file. This is normally "cat F</etc/group>", but can be
+"ypcat group" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<groupstype>
+
+From F<groupstype.U>:
+
+This variable defines Groups_t to be something like gid_t, int,
+ushort, or whatever type is used for the second argument to
+getgroups() and setgroups(). Usually, this is the same as
+gidtype (gid_t), but sometimes it isn't.
+
+=item C<gzip>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the gzip program. After Configure runs,
+the value is reset to a plain C<gzip> and is not useful.
+
+=back
+
+=cut
+
+=head2 h
+
+=over 4
+
+=cut
+
+=item C<h_fcntl>
+
+From F<h_fcntl.U>:
+
+This is variable gets set in various places to tell i_fcntl that
+<fcntl.h> should be included.
+
+=item C<h_sysfile>
+
+From F<h_sysfile.U>:
+
+This is variable gets set in various places to tell i_sys_file that
+<sys/file.h> should be included.
+
+=item C<hint>
+
+From F<Oldconfig.U>:
+
+Gives the type of hints used for previous answers. May be one of
+C<default>, C<recommended> or C<previous>.
+
+=item C<hostperl>
+
+From F<Cross.U>:
+
+This variable contains the path to a miniperl binary that can be
+run on the host C<OS> when cross-compiling. Useful and available only
+during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<hostgenerate>
+
+From F<Cross.U>:
+
+This variable contains the path to a generate_uudmap binary that
+can be run on the host C<OS> when cross-compiling. Useful and
+available only during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<hostosname>
+
+From F<Cross.U>:
+
+This variable contains the original value of C<$^O> for hostperl
+when cross-compiling. This is useful to pick the proper tools
+when running build code in the host.
+Empty string '' if not cross-compiling.
+
+=item C<hostcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/hosts> file. This is normally "cat F</etc/hosts>", but can be
+"ypcat hosts" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<html1dir>
+
+From F<html1dir.U>:
+
+This variable contains the name of the directory in which html
+source pages are to be put. This directory is for pages
+that describe whole programs, not libraries or modules. It
+is intended to correspond roughly to section 1 of the Unix
+manuals.
+
+=item C<html1direxp>
+
+From F<html1dir.U>:
+
+This variable is the same as the html1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<html3dir>
+
+From F<html3dir.U>:
+
+This variable contains the name of the directory in which html
+source pages are to be put. This directory is for pages
+that describe libraries or modules. It is intended to
+correspond roughly to section 3 of the Unix manuals.
+
+=item C<html3direxp>
+
+From F<html3dir.U>:
+
+This variable is the same as the html3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=back
+
+=cut
+
+=head2 i
+
+=over 4
+
+=cut
+
+=item C<i16size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I16 in bytes.
+
+=item C<i16type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I16.
+
+=item C<i32size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I32 in bytes.
+
+=item C<i32type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I32.
+
+=item C<i64size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I64 in bytes.
+
+=item C<i64type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I64.
+
+=item C<i8size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I8 in bytes.
+
+=item C<i8type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I8.
+
+=item C<i_arpainet>
+
+From F<i_arpainet.U>:
+
+This variable conditionally defines the C<I_ARPA_INET> symbol,
+and indicates whether a C program should include <arpa/inet.h>.
+
+=item C<i_assert>
+
+From F<i_assert.U>:
+
+This variable conditionally defines the C<I_ASSERT> symbol, which
+indicates to the C program that <assert.h> exists and could be
+included.
+
+=item C<i_bsdioctl>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_BSDIOCTL> symbol, which
+indicates to the C program that <sys/bsdioctl.h> exists and should
+be included.
+
+=item C<i_crypt>
+
+From F<i_crypt.U>:
+
+This variable conditionally defines the C<I_CRYPT> symbol, and indicates
+whether a C program should include <crypt.h>.
+
+=item C<i_db>
+
+From F<i_db.U>:
+
+This variable conditionally defines the C<I_DB> symbol, and indicates
+whether a C program may include Berkeley's C<DB> include file <db.h>.
+
+=item C<i_dbm>
+
+From F<i_dbm.U>:
+
+This variable conditionally defines the C<I_DBM> symbol, which
+indicates to the C program that <dbm.h> exists and should
+be included.
+
+=item C<i_dirent>
+
+From F<i_dirent.U>:
+
+This variable conditionally defines C<I_DIRENT>, which indicates
+to the C program that it should include <dirent.h>.
+
+=item C<i_dlfcn>
+
+From F<i_dlfcn.U>:
+
+This variable conditionally defines the C<I_DLFCN> symbol, which
+indicates to the C program that <dlfcn.h> exists and should
+be included.
+
+=item C<i_fcntl>
+
+From F<i_fcntl.U>:
+
+This variable controls the value of C<I_FCNTL> (which tells
+the C program to include <fcntl.h>).
+
+=item C<i_float>
+
+From F<i_float.U>:
+
+This variable conditionally defines the C<I_FLOAT> symbol, and indicates
+whether a C program may include <float.h> to get symbols like C<DBL_MAX>
+or C<DBL_MIN>, F<i.e>. machine dependent floating point values.
+
+=item C<i_fp>
+
+From F<i_fp.U>:
+
+This variable conditionally defines the C<I_FP> symbol, and indicates
+whether a C program should include <fp.h>.
+
+=item C<i_fp_class>
+
+From F<i_fp_class.U>:
+
+This variable conditionally defines the C<I_FP_CLASS> symbol, and indicates
+whether a C program should include <fp_class.h>.
+
+=item C<i_gdbm>
+
+From F<i_gdbm.U>:
+
+This variable conditionally defines the C<I_GDBM> symbol, which
+indicates to the C program that <gdbm.h> exists and should
+be included.
+
+=item C<i_gdbm_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_GDBM_NDBM> symbol, which
+indicates to the C program that <gdbm-F<ndbm.h>> exists and should
+be included. This is the location of the F<ndbm.h> compatibility file
+in Debian 4.0.
+
+=item C<i_gdbmndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_GDBMNDBM> symbol, which
+indicates to the C program that <gdbm/ndbm.h> exists and should
+be included. This was the location of the F<ndbm.h> compatibility file
+in RedHat 7.1.
+
+=item C<i_grp>
+
+From F<i_grp.U>:
+
+This variable conditionally defines the C<I_GRP> symbol, and indicates
+whether a C program should include <grp.h>.
+
+=item C<i_ieeefp>
+
+From F<i_ieeefp.U>:
+
+This variable conditionally defines the C<I_IEEEFP> symbol, and indicates
+whether a C program should include <ieeefp.h>.
+
+=item C<i_inttypes>
+
+From F<i_inttypes.U>:
+
+This variable conditionally defines the C<I_INTTYPES> symbol,
+and indicates whether a C program should include <inttypes.h>.
+
+=item C<i_langinfo>
+
+From F<i_langinfo.U>:
+
+This variable conditionally defines the C<I_LANGINFO> symbol,
+and indicates whether a C program should include <langinfo.h>.
+
+=item C<i_libutil>
+
+From F<i_libutil.U>:
+
+This variable conditionally defines the C<I_LIBUTIL> symbol, and indicates
+whether a C program should include <libutil.h>.
+
+=item C<i_limits>
+
+From F<i_limits.U>:
+
+This variable conditionally defines the C<I_LIMITS> symbol, and indicates
+whether a C program may include <limits.h> to get symbols like C<WORD_BIT>
+and friends.
+
+=item C<i_locale>
+
+From F<i_locale.U>:
+
+This variable conditionally defines the C<I_LOCALE> symbol,
+and indicates whether a C program should include <locale.h>.
+
+=item C<i_machcthr>
+
+From F<i_machcthr.U>:
+
+This variable conditionally defines the C<I_MACH_CTHREADS> symbol,
+and indicates whether a C program should include <mach/cthreads.h>.
+
+=item C<i_malloc>
+
+From F<i_malloc.U>:
+
+This variable conditionally defines the C<I_MALLOC> symbol, and indicates
+whether a C program should include <malloc.h>.
+
+=item C<i_mallocmalloc>
+
+From F<i_mallocmalloc.U>:
+
+This variable conditionally defines the C<I_MALLOCMALLOC> symbol,
+and indicates whether a C program should include <malloc/malloc.h>.
+
+=item C<i_math>
+
+From F<i_math.U>:
+
+This variable conditionally defines the C<I_MATH> symbol, and indicates
+whether a C program may include <math.h>.
+
+=item C<i_memory>
+
+From F<i_memory.U>:
+
+This variable conditionally defines the C<I_MEMORY> symbol, and indicates
+whether a C program should include <memory.h>.
+
+=item C<i_mntent>
+
+From F<i_mntent.U>:
+
+This variable conditionally defines the C<I_MNTENT> symbol, and indicates
+whether a C program should include <mntent.h>.
+
+=item C<i_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_NDBM> symbol, which
+indicates to the C program that <ndbm.h> exists and should
+be included.
+
+=item C<i_netdb>
+
+From F<i_netdb.U>:
+
+This variable conditionally defines the C<I_NETDB> symbol, and indicates
+whether a C program should include <netdb.h>.
+
+=item C<i_neterrno>
+
+From F<i_neterrno.U>:
+
+This variable conditionally defines the C<I_NET_ERRNO> symbol, which
+indicates to the C program that <net/errno.h> exists and should
+be included.
+
+=item C<i_netinettcp>
+
+From F<i_netinettcp.U>:
+
+This variable conditionally defines the C<I_NETINET_TCP> symbol,
+and indicates whether a C program should include <netinet/tcp.h>.
+
+=item C<i_niin>
+
+From F<i_niin.U>:
+
+This variable conditionally defines C<I_NETINET_IN>, which indicates
+to the C program that it should include <netinet/in.h>. Otherwise,
+you may try <sys/in.h>.
+
+=item C<i_poll>
+
+From F<i_poll.U>:
+
+This variable conditionally defines the C<I_POLL> symbol, and indicates
+whether a C program should include <poll.h>.
+
+=item C<i_prot>
+
+From F<i_prot.U>:
+
+This variable conditionally defines the C<I_PROT> symbol, and indicates
+whether a C program should include <prot.h>.
+
+=item C<i_pthread>
+
+From F<i_pthread.U>:
+
+This variable conditionally defines the C<I_PTHREAD> symbol,
+and indicates whether a C program should include <pthread.h>.
+
+=item C<i_pwd>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<I_PWD>, which indicates
+to the C program that it should include <pwd.h>.
+
+=item C<i_rpcsvcdbm>
+
+From F<i_dbm.U>:
+
+This variable conditionally defines the C<I_RPCSVC_DBM> symbol, which
+indicates to the C program that <rpcsvc/dbm.h> exists and should
+be included. Some System V systems might need this instead of <dbm.h>.
+
+=item C<i_sgtty>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_SGTTY> symbol, which
+indicates to the C program that it should include <sgtty.h> rather
+than <termio.h>.
+
+=item C<i_shadow>
+
+From F<i_shadow.U>:
+
+This variable conditionally defines the C<I_SHADOW> symbol, and indicates
+whether a C program should include <shadow.h>.
+
+=item C<i_socks>
+
+From F<i_socks.U>:
+
+This variable conditionally defines the C<I_SOCKS> symbol, and indicates
+whether a C program should include <socks.h>.
+
+=item C<i_stdarg>
+
+From F<i_varhdr.U>:
+
+This variable conditionally defines the C<I_STDARG> symbol, which
+indicates to the C program that <stdarg.h> exists and should
+be included.
+
+=item C<i_stdbool>
+
+From F<i_stdbool.U>:
+
+This variable conditionally defines the C<I_STDBOOL> symbol, which
+indicates to the C program that <stdbool.h> exists and should
+be included.
+
+=item C<i_stddef>
+
+From F<i_stddef.U>:
+
+This variable conditionally defines the C<I_STDDEF> symbol, which
+indicates to the C program that <stddef.h> exists and should
+be included.
+
+=item C<i_stdlib>
+
+From F<i_stdlib.U>:
+
+This variable conditionally defines the C<I_STDLIB> symbol, which
+indicates to the C program that <stdlib.h> exists and should
+be included.
+
+=item C<i_string>
+
+From F<i_string.U>:
+
+This variable conditionally defines the C<I_STRING> symbol, which
+indicates that <string.h> should be included rather than <strings.h>.
+
+=item C<i_sunmath>
+
+From F<i_sunmath.U>:
+
+This variable conditionally defines the C<I_SUNMATH> symbol, and indicates
+whether a C program should include <sunmath.h>.
+
+=item C<i_sysaccess>
+
+From F<i_sysaccess.U>:
+
+This variable conditionally defines the C<I_SYS_ACCESS> symbol,
+and indicates whether a C program should include <sys/access.h>.
+
+=item C<i_sysdir>
+
+From F<i_sysdir.U>:
+
+This variable conditionally defines the C<I_SYS_DIR> symbol, and indicates
+whether a C program should include <sys/dir.h>.
+
+=item C<i_sysfile>
+
+From F<i_sysfile.U>:
+
+This variable conditionally defines the C<I_SYS_FILE> symbol, and indicates
+whether a C program should include <sys/file.h> to get C<R_OK> and friends.
+
+=item C<i_sysfilio>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_FILIO> symbol, which
+indicates to the C program that <sys/filio.h> exists and should
+be included in preference to <sys/ioctl.h>.
+
+=item C<i_sysin>
+
+From F<i_niin.U>:
+
+This variable conditionally defines C<I_SYS_IN>, which indicates
+to the C program that it should include <sys/in.h> instead of
+<netinet/in.h>.
+
+=item C<i_sysioctl>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_IOCTL> symbol, which
+indicates to the C program that <sys/ioctl.h> exists and should
+be included.
+
+=item C<i_syslog>
+
+From F<i_syslog.U>:
+
+This variable conditionally defines the C<I_SYSLOG> symbol,
+and indicates whether a C program should include <syslog.h>.
+
+=item C<i_sysmman>
+
+From F<i_sysmman.U>:
+
+This variable conditionally defines the C<I_SYS_MMAN> symbol, and
+indicates whether a C program should include <sys/mman.h>.
+
+=item C<i_sysmode>
+
+From F<i_sysmode.U>:
+
+This variable conditionally defines the C<I_SYSMODE> symbol,
+and indicates whether a C program should include <sys/mode.h>.
+
+=item C<i_sysmount>
+
+From F<i_sysmount.U>:
+
+This variable conditionally defines the C<I_SYSMOUNT> symbol,
+and indicates whether a C program should include <sys/mount.h>.
+
+=item C<i_sysndir>
+
+From F<i_sysndir.U>:
+
+This variable conditionally defines the C<I_SYS_NDIR> symbol, and indicates
+whether a C program should include <sys/ndir.h>.
+
+=item C<i_sysparam>
+
+From F<i_sysparam.U>:
+
+This variable conditionally defines the C<I_SYS_PARAM> symbol, and indicates
+whether a C program should include <sys/param.h>.
+
+=item C<i_syspoll>
+
+From F<i_syspoll.U>:
+
+This variable conditionally defines the C<I_SYS_POLL> symbol, which
+indicates to the C program that it should include <sys/poll.h>.
+
+=item C<i_sysresrc>
+
+From F<i_sysresrc.U>:
+
+This variable conditionally defines the C<I_SYS_RESOURCE> symbol,
+and indicates whether a C program should include <sys/resource.h>.
+
+=item C<i_syssecrt>
+
+From F<i_syssecrt.U>:
+
+This variable conditionally defines the C<I_SYS_SECURITY> symbol,
+and indicates whether a C program should include <sys/security.h>.
+
+=item C<i_sysselct>
+
+From F<i_sysselct.U>:
+
+This variable conditionally defines C<I_SYS_SELECT>, which indicates
+to the C program that it should include <sys/select.h> in order to
+get the definition of struct timeval.
+
+=item C<i_syssockio>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines C<I_SYS_SOCKIO> to indicate to the
+C program that socket ioctl codes may be found in <sys/sockio.h>
+instead of <sys/ioctl.h>.
+
+=item C<i_sysstat>
+
+From F<i_sysstat.U>:
+
+This variable conditionally defines the C<I_SYS_STAT> symbol,
+and indicates whether a C program should include <sys/stat.h>.
+
+=item C<i_sysstatfs>
+
+From F<i_sysstatfs.U>:
+
+This variable conditionally defines the C<I_SYSSTATFS> symbol,
+and indicates whether a C program should include <sys/statfs.h>.
+
+=item C<i_sysstatvfs>
+
+From F<i_sysstatvfs.U>:
+
+This variable conditionally defines the C<I_SYSSTATVFS> symbol,
+and indicates whether a C program should include <sys/statvfs.h>.
+
+=item C<i_systime>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<I_SYS_TIME>, which indicates
+to the C program that it should include <sys/time.h>.
+
+=item C<i_systimek>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<I_SYS_TIME_KERNEL>, which
+indicates to the C program that it should include <sys/time.h>
+with C<KERNEL> defined.
+
+=item C<i_systimes>
+
+From F<i_systimes.U>:
+
+This variable conditionally defines the C<I_SYS_TIMES> symbol, and indicates
+whether a C program should include <sys/times.h>.
+
+=item C<i_systypes>
+
+From F<i_systypes.U>:
+
+This variable conditionally defines the C<I_SYS_TYPES> symbol,
+and indicates whether a C program should include <sys/types.h>.
+
+=item C<i_sysuio>
+
+From F<i_sysuio.U>:
+
+This variable conditionally defines the C<I_SYSUIO> symbol, and indicates
+whether a C program should include <sys/uio.h>.
+
+=item C<i_sysun>
+
+From F<i_sysun.U>:
+
+This variable conditionally defines C<I_SYS_UN>, which indicates
+to the C program that it should include <sys/un.h> to get C<UNIX>
+domain socket definitions.
+
+=item C<i_sysutsname>
+
+From F<i_sysutsname.U>:
+
+This variable conditionally defines the C<I_SYSUTSNAME> symbol,
+and indicates whether a C program should include <sys/utsname.h>.
+
+=item C<i_sysvfs>
+
+From F<i_sysvfs.U>:
+
+This variable conditionally defines the C<I_SYSVFS> symbol,
+and indicates whether a C program should include <sys/vfs.h>.
+
+=item C<i_syswait>
+
+From F<i_syswait.U>:
+
+This variable conditionally defines C<I_SYS_WAIT>, which indicates
+to the C program that it should include <sys/wait.h>.
+
+=item C<i_termio>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_TERMIO> symbol, which
+indicates to the C program that it should include <termio.h> rather
+than <sgtty.h>.
+
+=item C<i_termios>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_TERMIOS> symbol, which
+indicates to the C program that the C<POSIX> <termios.h> file is
+to be included.
+
+=item C<i_time>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<I_TIME>, which indicates
+to the C program that it should include <time.h>.
+
+=item C<i_unistd>
+
+From F<i_unistd.U>:
+
+This variable conditionally defines the C<I_UNISTD> symbol, and indicates
+whether a C program should include <unistd.h>.
+
+=item C<i_ustat>
+
+From F<i_ustat.U>:
+
+This variable conditionally defines the C<I_USTAT> symbol, and indicates
+whether a C program should include <ustat.h>.
+
+=item C<i_utime>
+
+From F<i_utime.U>:
+
+This variable conditionally defines the C<I_UTIME> symbol, and indicates
+whether a C program should include <utime.h>.
+
+=item C<i_values>
+
+From F<i_values.U>:
+
+This variable conditionally defines the C<I_VALUES> symbol, and indicates
+whether a C program may include <values.h> to get symbols like C<MAXLONG>
+and friends.
+
+=item C<i_varargs>
+
+From F<i_varhdr.U>:
+
+This variable conditionally defines C<I_VARARGS>, which indicates
+to the C program that it should include <varargs.h>.
+
+=item C<i_varhdr>
+
+From F<i_varhdr.U>:
+
+Contains the name of the header to be included to get va_dcl definition.
+Typically one of F<varargs.h> or F<stdarg.h>.
+
+=item C<i_vfork>
+
+From F<i_vfork.U>:
+
+This variable conditionally defines the C<I_VFORK> symbol, and indicates
+whether a C program should include F<vfork.h>.
+
+=item C<ignore_versioned_solibs>
+
+From F<libs.U>:
+
+This variable should be non-empty if non-versioned shared
+libraries (F<libfoo.so.x.y>) are to be ignored (because they
+cannot be linked against).
+
+=item C<inc_version_list>
+
+From F<inc_version_list.U>:
+
+This variable specifies the list of subdirectories in over
+which F<perl.c>:incpush() and F<lib/lib.pm> will automatically
+search when adding directories to @C<INC>. The elements in
+the list are separated by spaces. This is only useful
+if you have a perl library directory tree structured like the
+default one. See C<INSTALL> for how this works. The versioned
+site_perl directory was introduced in 5.005, so that is the
+lowest possible value.
+
+This list includes architecture-dependent directories back to
+version $api_versionstring (e.g. 5.5.640) and
+architecture-independent directories all the way back to
+5.005.
+
+=item C<inc_version_list_init>
+
+From F<inc_version_list.U>:
+
+This variable holds the same list as inc_version_list, but
+each item is enclosed in double quotes and separated by commas,
+suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
+
+=item C<incpath>
+
+From F<usrinc.U>:
+
+This variable must precede the normal include path to get the
+right one, as in F<$incpath/usr/include> or F<$incpath/usr/lib>.
+Value can be "" or F</bsd43> on mips.
+
+=item C<incpth>
+
+From F<libpth.U>:
+
+This variable must precede the normal include path to get the
+right one, as in F<$incpath/usr/include> or F<$incpath/usr/lib>.
+Value can be "" or F</bsd43> on mips.
+
+=item C<inews>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<initialinstalllocation>
+
+From F<bin.U>:
+
+When userelocatableinc is true, this variable holds the location
+that make install should copy the perl binary to, with all the
+run-time relocatable paths calculated from this at install time.
+When used, it is initialized to the original value of binexp, and
+then binexp is set to F<.../>, as the other binaries are found
+relative to the perl binary.
+
+=item C<installarchlib>
+
+From F<archlib.U>:
+
+This variable is really the same as archlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installbin>
+
+From F<bin.U>:
+
+This variable is the same as binexp unless C<AFS> is running in which case
+the user is explicitly prompted for it. This variable should always
+be used in your makefiles for maximum portability.
+
+=item C<installhtml1dir>
+
+From F<html1dir.U>:
+
+This variable is really the same as html1direxp, unless you are
+using a different installprefix. For extra portability, you
+should only use this variable within your makefiles.
+
+=item C<installhtml3dir>
+
+From F<html3dir.U>:
+
+This variable is really the same as html3direxp, unless you are
+using a different installprefix. For extra portability, you
+should only use this variable within your makefiles.
+
+=item C<installman1dir>
+
+From F<man1dir.U>:
+
+This variable is really the same as man1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installman3dir>
+
+From F<man3dir.U>:
+
+This variable is really the same as man3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installprefix>
+
+From F<installprefix.U>:
+
+This variable holds the name of the directory below which
+"make install" will install the package. For most users, this
+is the same as prefix. However, it is useful for
+installing the software into a different (usually temporary)
+location after which it can be bundled up and moved somehow
+to the final location specified by prefix.
+
+=item C<installprefixexp>
+
+From F<installprefix.U>:
+
+This variable holds the full absolute path of installprefix
+with all F<~>-expansion done.
+
+=item C<installprivlib>
+
+From F<privlib.U>:
+
+This variable is really the same as privlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installscript>
+
+From F<scriptdir.U>:
+
+This variable is usually the same as scriptdirexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installsitearch>
+
+From F<sitearch.U>:
+
+This variable is really the same as sitearchexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installsitebin>
+
+From F<sitebin.U>:
+
+This variable is usually the same as sitebinexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installsitehtml1dir>
+
+From F<sitehtml1dir.U>:
+
+This variable is really the same as sitehtml1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+html1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitehtml3dir>
+
+From F<sitehtml3dir.U>:
+
+This variable is really the same as sitehtml3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+html3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitelib>
+
+From F<sitelib.U>:
+
+This variable is really the same as sitelibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installsiteman1dir>
+
+From F<siteman1dir.U>:
+
+This variable is really the same as siteman1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsiteman3dir>
+
+From F<siteman3dir.U>:
+
+This variable is really the same as siteman3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitescript>
+
+From F<sitescript.U>:
+
+This variable is usually the same as sitescriptexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installstyle>
+
+From F<installstyle.U>:
+
+This variable describes the C<style> of the perl installation.
+This is intended to be useful for tools that need to
+manipulate entire perl distributions. Perl itself doesn't use
+this to find its libraries -- the library directories are
+stored directly in F<Config.pm>. Currently, there are only two
+styles: C<lib> and F<lib/perl5>. The default library locations
+(e.g. privlib, sitelib) are either F<$prefix/lib> or
+F<$prefix/lib/perl5>. The former is useful if $prefix is a
+directory dedicated to perl (e.g. F</opt/perl>), while the latter
+is useful if $prefix is shared by many packages, e.g. if
+$prefix=F</usr/local>.
+
+Unfortunately, while this C<style> variable is used to set
+defaults for all three directory hierarchies (core, vendor, and
+site), there is no guarantee that the same style is actually
+appropriate for all those directories. For example, $prefix
+might be F</opt/perl>, but $siteprefix might be F</usr/local>.
+(Perhaps, in retrospect, the C<lib> style should never have been
+supported, but it did seem like a nice idea at the time.)
+
+The situation is even less clear for tools such as MakeMaker
+that can be used to install additional modules into
+non-standard places. For example, if a user intends to install
+a module into a private directory (perhaps by setting C<PREFIX> on
+the F<Makefile.PL> command line), then there is no reason to
+assume that the Configure-time $installstyle setting will be
+relevant for that C<PREFIX>.
+
+This may later be extended to include other information, so
+be careful with pattern-matching on the results.
+
+For compatibility with F<perl5.005> and earlier, the default
+setting is based on whether or not $prefix contains the string
+C<perl>.
+
+=item C<installusrbinperl>
+
+From F<instubperl.U>:
+
+This variable tells whether Perl should be installed also as
+F</usr/bin/perl> in addition to
+F<$installbin/perl>
+
+=item C<installvendorarch>
+
+From F<vendorarch.U>:
+
+This variable is really the same as vendorarchexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorbin>
+
+From F<vendorbin.U>:
+
+This variable is really the same as vendorbinexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorhtml1dir>
+
+From F<vendorhtml1dir.U>:
+
+This variable is really the same as vendorhtml1direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorhtml3dir>
+
+From F<vendorhtml3dir.U>:
+
+This variable is really the same as vendorhtml3direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorlib>
+
+From F<vendorlib.U>:
+
+This variable is really the same as vendorlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorman1dir>
+
+From F<vendorman1dir.U>:
+
+This variable is really the same as vendorman1direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorman3dir>
+
+From F<vendorman3dir.U>:
+
+This variable is really the same as vendorman3direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorscript>
+
+From F<vendorscript.U>:
+
+This variable is really the same as vendorscriptexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<intsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<INTSIZE> symbol, which
+indicates to the C program how many bytes there are in an int.
+
+=item C<issymlink>
+
+From F<issymlink.U>:
+
+This variable holds the test command to test for a symbolic link
+(if they are supported). Typical values include C<test -h> and
+C<test -L>.
+
+=item C<ivdformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<IV> as a signed decimal integer.
+
+=item C<ivsize>
+
+From F<perlxv.U>:
+
+This variable is the size of an C<IV> in bytes.
+
+=item C<ivtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<IV>.
+
+=back
+
+=cut
+
+=head2 k
+
+=over 4
+
+=cut
+
+=item C<known_extensions>
+
+From F<Extensions.U>:
+
+This variable holds a list of all extensions (both C<XS> and non-xs)
+included in the package source distribution. This information is
+only really of use during the Perl build, as the list makes no
+distinction between extensions which were build and installed, and
+those which where not. See C<extensions> for the list of extensions
+actually built and available.
+
+=item C<ksh>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=back
+
+=cut
+
+=head2 l
+
+=over 4
+
+=cut
+
+=item C<ld>
+
+From F<dlsrc.U>:
+
+This variable indicates the program to be used to link
+libraries for dynamic loading. On some systems, it is C<ld>.
+On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
+the hint file setting.
+
+=item C<ld_can_script>
+
+From F<dlsrc.U>:
+
+This variable shows if the loader accepts scripts in the form of
+-Wl,--version-script=F<ld.script>. This is currently only supported
+for C<GNU> ld on C<ELF> in dynamic loading builds.
+
+=item C<lddlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed to $ld to create a shared library suitable for dynamic
+loading. It is up to the makefile to use it. For hpux, it
+should be C<-b>. For sunos 4.1, it is empty.
+
+=item C<ldflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C loader flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ldflags_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the loader flags needed by large file builds
+and added to ldflags by hints files.
+
+=item C<ldlibpthname>
+
+From F<libperl.U>:
+
+This variable holds the name of the shared library
+search path, often C<LD_LIBRARY_PATH>. To get an empty
+string, the hints file must set this to C<none>.
+
+=item C<less>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the less program. After Configure runs,
+the value is reset to a plain C<less> and is not useful.
+
+=item C<lib_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _a.
+
+=item C<libc>
+
+From F<libc.U>:
+
+This variable contains the location of the C library.
+
+=item C<libperl>
+
+From F<libperl.U>:
+
+The perl executable is obtained by linking F<perlmain.c> with
+libperl, any static extensions (usually just DynaLoader),
+and any other libraries needed on this system. libperl
+is usually F<libperl.a>, but can also be F<libperl.so.xxx> if
+the user wishes to build a perl executable with a shared
+library.
+
+=item C<libpth>
+
+From F<libpth.U>:
+
+This variable holds the general path (space-separated) used to find
+libraries. It is intended to be used by other units.
+
+=item C<libs>
+
+From F<libs.U>:
+
+This variable holds the additional libraries we want to use.
+It is up to the Makefile to deal with it. The list can be empty.
+
+=item C<libsdirs>
+
+From F<libs.U>:
+
+This variable holds the directory names aka dirnames of the libraries
+we found and accepted, duplicates are removed.
+
+=item C<libsfiles>
+
+From F<libs.U>:
+
+This variable holds the filenames aka basenames of the libraries
+we found and accepted.
+
+=item C<libsfound>
+
+From F<libs.U>:
+
+This variable holds the full pathnames of the libraries
+we found and accepted.
+
+=item C<libspath>
+
+From F<libs.U>:
+
+This variable holds the directory names probed for libraries.
+
+=item C<libswanted>
+
+From F<Myinit.U>:
+
+This variable holds a list of all the libraries we want to
+search. The order is chosen to pick up the c library
+ahead of ucb or bsd libraries for SVR4.
+
+=item C<libswanted_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the libraries needed by large file builds
+and added to ldflags by hints files. It is a space separated list
+of the library names without the C<lib> prefix or any suffix, just
+like F<libswanted.>.
+
+=item C<line>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lint>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lkflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C partial linker flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ln>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ln program. After Configure runs,
+the value is reset to a plain C<ln> and is not useful.
+
+=item C<lns>
+
+From F<lns.U>:
+
+This variable holds the name of the command to make
+symbolic links (if they are supported). It can be used
+in the Makefile. It is either C<ln -s> or C<ln>
+
+=item C<localtime_r_proto>
+
+From F<d_localtime_r.U>:
+
+This variable encodes the prototype of localtime_r.
+It is zero if d_localtime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_localtime_r
+is defined.
+
+=item C<locincpth>
+
+From F<ccflags.U>:
+
+This variable contains a list of additional directories to be
+searched by the compiler. The appropriate C<-I> directives will
+be added to ccflags. This is intended to simplify setting
+local directories from the Configure command line.
+It's not much, but it parallels the loclibpth stuff in F<libpth.U>.
+
+=item C<loclibpth>
+
+From F<libpth.U>:
+
+This variable holds the paths (space-separated) used to find local
+libraries. It is prepended to libpth, and is intended to be easily
+set from the command line.
+
+=item C<longdblsize>
+
+From F<d_longdbl.U>:
+
+This variable contains the value of the C<LONG_DOUBLESIZE> symbol, which
+indicates to the C program how many bytes there are in a long double,
+if this system supports long doubles.
+
+=item C<longlongsize>
+
+From F<d_longlong.U>:
+
+This variable contains the value of the C<LONGLONGSIZE> symbol, which
+indicates to the C program how many bytes there are in a long long,
+if this system supports long long.
+
+=item C<longsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<LONGSIZE> symbol, which
+indicates to the C program how many bytes there are in a long.
+
+=item C<lp>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lpr>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<ls>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ls program. After Configure runs,
+the value is reset to a plain C<ls> and is not useful.
+
+=item C<lseeksize>
+
+From F<lseektype.U>:
+
+This variable defines lseektype to be something like off_t, long,
+or whatever type is used to declare lseek offset's type in the
+kernel (which also appears to be lseek's return type).
+
+=item C<lseektype>
+
+From F<lseektype.U>:
+
+This variable defines lseektype to be something like off_t, long,
+or whatever type is used to declare lseek offset's type in the
+kernel (which also appears to be lseek's return type).
+
+=back
+
+=cut
+
+=head2 m
+
+=over 4
+
+=cut
+
+=item C<mad>
+
+From F<mad.U>:
+
+This variable indicates that the Misc Attribute Definition code is to
+be compiled.
+
+=item C<madlyh>
+
+From F<mad.U>:
+
+If the Misc Attribute Decoration is to be compiled, this variable is
+set to the name of the extra header files to be used, else it is ''
+
+=item C<madlyobj>
+
+From F<mad.U>:
+
+If the Misc Attribute Decoration is to be compiled, this variable is
+set to the name of the extra object files to be used, else it is ''
+
+=item C<madlysrc>
+
+From F<mad.U>:
+
+If the Misc Attribute Decoration is to be compiled, this variable is
+set to the name of the extra C source files to be used, else it is ''
+
+=item C<mail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<mailx>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<make>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the make program. After Configure runs,
+the value is reset to a plain C<make> and is not useful.
+
+=item C<make_set_make>
+
+From F<make.U>:
+
+Some versions of C<make> set the variable C<MAKE>. Others do not.
+This variable contains the string to be included in F<Makefile.SH>
+so that C<MAKE> is set if needed, and not if not needed.
+Possible values are:
+
+make_set_make=C<#> # If your make program handles this for you,
+
+make_set_make=C<MAKE=$make> # if it doesn't.
+
+This uses a comment character so that we can distinguish a
+C<set> value (from a previous F<config.sh> or Configure C<-D> option)
+from an uncomputed value.
+
+=item C<mallocobj>
+
+From F<mallocsrc.U>:
+
+This variable contains the name of the F<malloc.o> that this package
+generates, if that F<malloc.o> is preferred over the system malloc.
+Otherwise the value is null. This variable is intended for generating
+Makefiles. See mallocsrc.
+
+=item C<mallocsrc>
+
+From F<mallocsrc.U>:
+
+This variable contains the name of the F<malloc.c> that comes with
+the package, if that F<malloc.c> is preferred over the system malloc.
+Otherwise the value is null. This variable is intended for generating
+Makefiles.
+
+=item C<malloctype>
+
+From F<mallocsrc.U>:
+
+This variable contains the kind of ptr returned by malloc and realloc.
+
+=item C<man1dir>
+
+From F<man1dir.U>:
+
+This variable contains the name of the directory in which manual
+source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+
+=item C<man1direxp>
+
+From F<man1dir.U>:
+
+This variable is the same as the man1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<man1ext>
+
+From F<man1dir.U>:
+
+This variable contains the extension that the manual page should
+have: one of C<n>, C<l>, or C<1>. The Makefile must supply the F<.>.
+See man1dir.
+
+=item C<man3dir>
+
+From F<man3dir.U>:
+
+This variable contains the name of the directory in which manual
+source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+
+=item C<man3direxp>
+
+From F<man3dir.U>:
+
+This variable is the same as the man3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<man3ext>
+
+From F<man3dir.U>:
+
+This variable contains the extension that the manual page should
+have: one of C<n>, C<l>, or C<3>. The Makefile must supply the F<.>.
+See man3dir.
+
+=item C<mips_type>
+
+From F<usrinc.U>:
+
+This variable holds the environment type for the mips system.
+Possible values are "BSD 4.3" and "System V".
+
+=item C<mistrustnm>
+
+From F<Csym.U>:
+
+This variable can be used to establish a fallthrough for the cases
+where nm fails to find a symbol. If usenm is false or usenm is true
+and mistrustnm is false, this variable has no effect. If usenm is true
+and mistrustnm is C<compile>, a test program will be compiled to try to
+find any symbol that can't be located via nm lookup. If mistrustnm is
+C<run>, the test program will be run as well as being compiled.
+
+=item C<mkdir>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the mkdir program. After Configure runs,
+the value is reset to a plain C<mkdir> and is not useful.
+
+=item C<mmaptype>
+
+From F<d_mmap.U>:
+
+This symbol contains the type of pointer returned by mmap()
+(and simultaneously the type of the first argument).
+It can be C<void *> or C<caddr_t>.
+
+=item C<modetype>
+
+From F<modetype.U>:
+
+This variable defines modetype to be something like mode_t,
+int, unsigned short, or whatever type is used to declare file
+modes for system calls.
+
+=item C<more>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the more program. After Configure runs,
+the value is reset to a plain C<more> and is not useful.
+
+=item C<multiarch>
+
+From F<multiarch.U>:
+
+This variable conditionally defines the C<MULTIARCH> symbol
+which signifies the presence of multiplatform files.
+This is normally set by hints files.
+
+=item C<mv>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<myarchname>
+
+From F<archname.U>:
+
+This variable holds the architecture name computed by Configure in
+a previous run. It is not intended to be perused by any user and
+should never be set in a hint file.
+
+=item C<mydomain>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<MYDOMAIN> symbol,
+which is the domain of the host the program is going to run on.
+The domain must be appended to myhostname to form a complete host name.
+The dot comes with mydomain, and need not be supplied by the program.
+
+=item C<myhostname>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<MYHOSTNAME> symbol,
+which is the name of the host the program is going to run on.
+The domain is not kept with hostname, but must be gotten from mydomain.
+The dot comes with mydomain, and need not be supplied by the program.
+
+=item C<myuname>
+
+From F<Oldconfig.U>:
+
+The output of C<uname -a> if available, otherwise the hostname.
+The whole thing is then lower-cased and slashes and single quotes are
+removed.
+
+=back
+
+=cut
+
+=head2 n
+
+=over 4
+
+=cut
+
+=item C<n>
+
+From F<n.U>:
+
+This variable contains the C<-n> flag if that is what causes the echo
+command to suppress newline. Otherwise it is null. Correct usage is
+$echo $n "prompt for a question: $c".
+
+=item C<need_va_copy>
+
+From F<need_va_copy.U>:
+
+This symbol, if defined, indicates that the system stores
+the variable argument list datatype, va_list, in a format
+that cannot be copied by simple assignment, so that some
+other means must be used when copying is required.
+As such systems vary in their provision (or non-provision)
+of copying mechanisms, F<handy.h> defines a platform-
+C<independent> macro, Perl_va_copy(src, dst), to do the job.
+
+=item C<netdb_hlen_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 2nd argument to
+gethostbyaddr(). Usually, this is int or size_t or unsigned.
+This is only useful if you have gethostbyaddr(), naturally.
+
+=item C<netdb_host_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 1st argument to
+gethostbyaddr(). Usually, this is char * or void *, possibly
+with or without a const prefix.
+This is only useful if you have gethostbyaddr(), naturally.
+
+=item C<netdb_name_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the argument to
+gethostbyname(). Usually, this is char * or const char *.
+This is only useful if you have gethostbyname(), naturally.
+
+=item C<netdb_net_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 1st argument to
+getnetbyaddr(). Usually, this is int or long.
+This is only useful if you have getnetbyaddr(), naturally.
+
+=item C<nm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the nm program. After Configure runs,
+the value is reset to a plain C<nm> and is not useful.
+
+=item C<nm_opt>
+
+From F<usenm.U>:
+
+This variable holds the options that may be necessary for nm.
+
+=item C<nm_so_opt>
+
+From F<usenm.U>:
+
+This variable holds the options that may be necessary for nm
+to work on a shared library but that can not be used on an
+archive library. Currently, this is only used by Linux, where
+nm --dynamic is *required* to get symbols from an C<ELF> library which
+has been stripped, but nm --dynamic is *fatal* on an archive library.
+Maybe Linux should just always set usenm=false.
+
+=item C<nonxs_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of all non-xs extensions built and
+installed by the package. By default, all non-xs extensions
+distributed will be built, with the exception of platform-specific
+extensions (currently only one C<VMS> specific extension).
+
+=item C<nroff>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the nroff program. After Configure runs,
+the value is reset to a plain C<nroff> and is not useful.
+
+=item C<nv_overflows_integers_at>
+
+From F<perlxv.U>:
+
+This variable gives the largest integer value that NVs can hold
+as a constant floating point expression.
+If it could not be determined, it holds the value 0.
+
+=item C<nv_preserves_uv_bits>
+
+From F<perlxv.U>:
+
+This variable indicates how many of bits type uvtype
+a variable nvtype can preserve.
+
+=item C<nveformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %e-ish floating point format.
+
+=item C<nvEUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %E-ish floating point format.
+
+=item C<nvfformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %f-ish floating point format.
+
+=item C<nvFUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %F-ish floating point format.
+
+=item C<nvgformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %g-ish floating point format.
+
+=item C<nvGUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %G-ish floating point format.
+
+=item C<nvsize>
+
+From F<perlxv.U>:
+
+This variable is the size of an C<NV> in bytes.
+
+=item C<nvtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<NV>.
+
+=back
+
+=cut
+
+=head2 o
+
+=over 4
+
+=cut
+
+=item C<o_nonblock>
+
+From F<nblock_io.U>:
+
+This variable bears the symbol value to be used during open() or fcntl()
+to turn on non-blocking I/O for a file descriptor. If you wish to switch
+between blocking and non-blocking, you may try ioctl(C<FIOSNBIO>) instead,
+but that is only supported by some devices.
+
+=item C<obj_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _o.
+
+=item C<old_pthread_create_joinable>
+
+From F<d_pthrattrj.U>:
+
+This variable defines the constant to use for creating joinable
+(aka undetached) pthreads. Unused if F<pthread.h> defines
+C<PTHREAD_CREATE_JOINABLE>. If used, possible values are
+C<PTHREAD_CREATE_UNDETACHED> and C<__UNDETACHED>.
+
+=item C<optimize>
+
+From F<ccflags.U>:
+
+This variable contains any F<optimizer/debugger> flag that should be used.
+It is up to the Makefile to use it.
+
+=item C<orderlib>
+
+From F<orderlib.U>:
+
+This variable is C<true> if the components of libraries must be ordered
+(with `lorder $* | tsort`) before placing them in an archive. Set to
+C<false> if ranlib or ar can generate random libraries.
+
+=item C<osname>
+
+From F<Oldconfig.U>:
+
+This variable contains the operating system name (e.g. sunos,
+solaris, hpux, etc.). It can be useful later on for setting
+defaults. Any spaces are replaced with underscores. It is set
+to a null string if we can't figure it out.
+
+=item C<osvers>
+
+From F<Oldconfig.U>:
+
+This variable contains the operating system version (e.g.
+4.1.3, 5.2, etc.). It is primarily used for helping select
+an appropriate hints file, but might be useful elsewhere for
+setting defaults. It is set to '' if we can't figure it out.
+We try to be flexible about how much of the version number
+to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the
+same for this package, hints files might just be F<os_4.0> or
+F<os_4.1>, etc., not keeping separate files for each little release.
+
+=item C<otherlibdirs>
+
+From F<otherlibdirs.U>:
+
+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 @C<INC>.
+Perl will automatically search below each path for version-
+and architecture-specific directories. See inc_version_list
+for more details.
+A value of C< > means C<none> and is used to preserve this value
+for the next run through Configure.
+
+=back
+
+=cut
+
+=head2 p
+
+=over 4
+
+=cut
+
+=item C<package>
+
+From F<package.U>:
+
+This variable contains the name of the package being constructed.
+It is primarily intended for the use of later Configure units.
+
+=item C<pager>
+
+From F<pager.U>:
+
+This variable contains the name of the preferred pager on the system.
+Usual values are (the full pathnames of) more, less, pg, or cat.
+
+=item C<passcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/passwd> file. This is normally "cat F</etc/passwd>", but can be
+"ypcat passwd" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<patchlevel>
+
+From F<patchlevel.U>:
+
+The patchlevel level of this package.
+The value of patchlevel comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<6>.
+In F<patchlevel.h>, this is referred to as C<PERL_VERSION>.
+
+=item C<path_sep>
+
+From F<Unix.U>:
+
+This is an old synonym for p_ in F<Head.U>, the character
+used to separate elements in the command shell search C<PATH>.
+
+=item C<perl>
+
+From F<Loc.U>:
+
+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>
+
+From F<perl5.U>:
+
+This variable contains the full path (if any) to a previously
+installed F<perl5.005> or later suitable for running the script
+to determine inc_version_list.
+
+=back
+
+=cut
+
+=head2 P
+
+=over 4
+
+=cut
+
+=item C<PERL_API_REVISION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_REVISION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_API_SUBVERSION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_SUBVERSION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_API_VERSION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_VERSION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_CONFIG_SH>
+
+From F<Oldsyms.U>:
+
+This is set to C<true> in F<config.sh> so that a shell script
+sourcing F<config.sh> can tell if it has been sourced already.
+
+=item C<PERL_PATCHLEVEL>
+
+From F<Oldsyms.U>:
+
+This symbol reflects the patchlevel, if available. Will usually
+come from the F<.patch> file, which is available when the perl
+source tree was fetched with rsync.
+
+=item C<perl_patchlevel>
+
+From F<patchlevel.U>:
+
+This is the Perl patch level, a numeric change identifier,
+as defined by whichever source code maintenance system
+is used to maintain the patches; currently Perforce.
+It does not correlate with the Perl version numbers or
+the maintenance versus development dichotomy except
+by also being increasing.
+
+=item C<PERL_REVISION>
+
+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>:
+
+In a Perl version number such as 5.6.2, this is the 2.
+Values greater than 50 represent potentially unstable
+development subversions.
+This value is manually set in F<patchlevel.h>
+
+=item C<PERL_VERSION>
+
+From F<Oldsyms.U>:
+
+In a Perl version number such as 5.6.2, this is the 6.
+This value is manually set in F<patchlevel.h>
+
+=item C<perladmin>
+
+From F<perladmin.U>:
+
+Electronic mail address of the perl5 administrator.
+
+=item C<perllibs>
+
+From F<End.U>:
+
+The list of libraries needed by Perl only (any libraries needed
+by extensions only will by dropped, if using dynamic loading).
+
+=item C<perlpath>
+
+From F<perlpath.U>:
+
+This variable contains the eventual value of the C<PERLPATH> symbol,
+which contains the name of the perl interpreter to be used in
+shell scripts and in the "eval C<exec>" idiom. This variable is
+not necessarily the pathname of the file containing the perl
+interpreter; you must append the executable extension (_exe) if
+it is not already present. Note that Perl code that runs during
+the Perl build process cannot reference this variable, as Perl
+may not have been installed, or even if installed, may be a
+different version of Perl.
+
+=item C<pg>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the pg program. After Configure runs,
+the value is reset to a plain C<pg> and is not useful.
+
+=item C<phostname>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<PHOSTNAME> symbol,
+which is a command that can be fed to popen() to get the host name.
+The program should probably not presume that the domain is or isn't
+there already.
+
+=item C<pidtype>
+
+From F<pidtype.U>:
+
+This variable defines C<PIDTYPE> to be something like pid_t, int,
+ushort, or whatever type is used to declare process ids in the kernel.
+
+=item C<plibpth>
+
+From F<libpth.U>:
+
+Holds the private path used by Configure to find out the libraries.
+Its value is prepend to libpth. This variable takes care of special
+machines, like the mips. Usually, it should be empty.
+
+=item C<pmake>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<pr>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<prefix>
+
+From F<prefix.U>:
+
+This variable holds the name of the directory below which the
+user will install the package. Usually, this is F</usr/local>, and
+executables go in F</usr/local/bin>, library stuff in F</usr/local/lib>,
+man pages in F</usr/local/man>, etc. It is only used to set defaults
+for things in F<bin.U>, F<mansrc.U>, F<privlib.U>, or F<scriptdir.U>.
+
+=item C<prefixexp>
+
+From F<prefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install the package. Derived from prefix.
+
+=item C<privlib>
+
+From F<privlib.U>:
+
+This variable contains the eventual value of the C<PRIVLIB> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+
+=item C<privlibexp>
+
+From F<privlib.U>:
+
+This variable is the F<~name> expanded version of privlib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<procselfexe>
+
+From F<d_procselfexe.U>:
+
+If d_procselfexe is defined, $procselfexe is the filename
+of the symbolic link pointing to the absolute pathname of
+the executing program.
+
+=item C<prototype>
+
+From F<prototype.U>:
+
+This variable holds the eventual value of C<CAN_PROTOTYPE>, which
+indicates the C compiler can handle function prototypes.
+
+=item C<ptrsize>
+
+From F<ptrsize.U>:
+
+This variable contains the value of the C<PTRSIZE> symbol, which
+indicates to the C program how many bytes there are in a pointer.
+
+=back
+
+=cut
+
+=head2 q
+
+=over 4
+
+=cut
+
+=item C<quadkind>
+
+From F<quadtype.U>:
+
+This variable, if defined, encodes the type of a quad:
+1 = int, 2 = long, 3 = long long, 4 = int64_t.
+
+=item C<quadtype>
+
+From F<quadtype.U>:
+
+This variable defines Quad_t to be something like long, int,
+long long, int64_t, or whatever type is used for 64-bit integers.
+
+=back
+
+=cut
+
+=head2 r
+
+=over 4
+
+=cut
+
+=item C<randbits>
+
+From F<randfunc.U>:
+
+Indicates how many bits are produced by the function used to
+generate normalized random numbers.
+
+=item C<randfunc>
+
+From F<randfunc.U>:
+
+Indicates the name of the random number function to use.
+Values include drand48, random, and rand. In C programs,
+the C<Drand01> macro is defined to generate uniformly distributed
+random numbers over the range [0., 1.[ (see drand01 and nrand).
+
+=item C<random_r_proto>
+
+From F<d_random_r.U>:
+
+This variable encodes the prototype of random_r.
+It is zero if d_random_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_random_r
+is defined.
+
+=item C<randseedtype>
+
+From F<randfunc.U>:
+
+Indicates the type of the argument of the seedfunc.
+
+=item C<ranlib>
+
+From F<orderlib.U>:
+
+This variable is set to the pathname of the ranlib program, if it is
+needed to generate random libraries. Set to C<:> if ar can generate
+random libraries or if random libraries are not supported
+
+=item C<rd_nodata>
+
+From F<nblock_io.U>:
+
+This variable holds the return code from read() when no data is
+present. It should be -1, but some systems return 0 when C<O_NDELAY> is
+used, which is a shame because you cannot make the difference between
+no data and an F<EOF.>. Sigh!
+
+=item C<readdir64_r_proto>
+
+From F<d_readdir64_r.U>:
+
+This variable encodes the prototype of readdir64_r.
+It is zero if d_readdir64_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir64_r
+is defined.
+
+=item C<readdir_r_proto>
+
+From F<d_readdir_r.U>:
+
+This variable encodes the prototype of readdir_r.
+It is zero if d_readdir_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir_r
+is defined.
+
+=item C<revision>
+
+From F<patchlevel.U>:
+
+The value of revision comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<5>.
+In F<patchlevel.h>, this is referred to as C<PERL_REVISION>.
+
+=item C<rm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the rm program. After Configure runs,
+the value is reset to a plain C<rm> and is not useful.
+
+=item C<rm_try>
+
+From F<Unix.U>:
+
+This is a cleanup variable for try test programs.
+Internal Configure use only.
+
+=item C<rmail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<run>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy and execute a cross-compiled executable in the
+target host. Useful and available only during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<runnm>
+
+From F<usenm.U>:
+
+This variable contains C<true> or C<false> depending whether the
+nm extraction should be performed or not, according to the value
+of usenm and the flags on the Configure command line.
+
+=back
+
+=cut
+
+=head2 s
+
+=over 4
+
+=cut
+
+=item C<sched_yield>
+
+From F<d_pthread_y.U>:
+
+This variable defines the way to yield the execution
+of the current thread.
+
+=item C<scriptdir>
+
+From F<scriptdir.U>:
+
+This variable holds the name of the directory in which the user wants
+to put publicly scripts for the package in question. It is either
+the same directory as for binaries, or a special one that can be
+mounted across different architectures, like F</usr/share>. Programs
+must be prepared to deal with F<~name> expansion.
+
+=item C<scriptdirexp>
+
+From F<scriptdir.U>:
+
+This variable is the same as scriptdir, but is filename expanded
+at configuration time, for programs not wanting to bother with it.
+
+=item C<sed>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the sed program. After Configure runs,
+the value is reset to a plain C<sed> and is not useful.
+
+=item C<seedfunc>
+
+From F<randfunc.U>:
+
+Indicates the random number generating seed function.
+Values include srand48, srandom, and srand.
+
+=item C<selectminbits>
+
+From F<selectminbits.U>:
+
+This variable holds the minimum number of bits operated by select.
+That is, if you do select(n, ...), how many bits at least will be
+cleared in the masks if some activity is detected. Usually this
+is either n or 32*ceil(F<n/32>), especially many little-endians do
+the latter. This is only useful if you have select(), naturally.
+
+=item C<selecttype>
+
+From F<selecttype.U>:
+
+This variable holds the type used for the 2nd, 3rd, and 4th
+arguments to select. Usually, this is C<fd_set *>, if C<HAS_FD_SET>
+is defined, and C<int *> otherwise. This is only useful if you
+have select(), naturally.
+
+=item C<sendmail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<setgrent_r_proto>
+
+From F<d_setgrent_r.U>:
+
+This variable encodes the prototype of setgrent_r.
+It is zero if d_setgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setgrent_r
+is defined.
+
+=item C<sethostent_r_proto>
+
+From F<d_sethostent_r.U>:
+
+This variable encodes the prototype of sethostent_r.
+It is zero if d_sethostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_sethostent_r
+is defined.
+
+=item C<setlocale_r_proto>
+
+From F<d_setlocale_r.U>:
+
+This variable encodes the prototype of setlocale_r.
+It is zero if d_setlocale_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setlocale_r
+is defined.
+
+=item C<setnetent_r_proto>
+
+From F<d_setnetent_r.U>:
+
+This variable encodes the prototype of setnetent_r.
+It is zero if d_setnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setnetent_r
+is defined.
+
+=item C<setprotoent_r_proto>
+
+From F<d_setprotoent_r.U>:
+
+This variable encodes the prototype of setprotoent_r.
+It is zero if d_setprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setprotoent_r
+is defined.
+
+=item C<setpwent_r_proto>
+
+From F<d_setpwent_r.U>:
+
+This variable encodes the prototype of setpwent_r.
+It is zero if d_setpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setpwent_r
+is defined.
+
+=item C<setservent_r_proto>
+
+From F<d_setservent_r.U>:
+
+This variable encodes the prototype of setservent_r.
+It is zero if d_setservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setservent_r
+is defined.
+
+=item C<sGMTIME_max>
+
+From F<time_size.U>:
+
+This variable defines the maximum value of the time_t offset that
+the system function gmtime () accepts
+
+=item C<sGMTIME_min>
+
+From F<time_size.U>:
+
+This variable defines the minimum value of the time_t offset that
+the system function gmtime () accepts
+
+=item C<sh>
+
+From F<sh.U>:
+
+This variable contains the full pathname of the shell used
+on this system to execute Bourne shell scripts. Usually, this will be
+F</bin/sh>, though it's possible that some systems will have F</bin/ksh>,
+F</bin/pdksh>, F</bin/ash>, F</bin/bash>, or even something such as
+D:F</bin/sh.exe>.
+This unit comes before F<Options.U>, so you can't set sh with a C<-D>
+option, though you can override this (and startsh)
+with C<-O -Dsh=F</bin/whatever> -Dstartsh=whatever>
+
+=item C<shar>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<sharpbang>
+
+From F<spitshell.U>:
+
+This variable contains the string #! if this system supports that
+construct.
+
+=item C<shmattype>
+
+From F<d_shmat.U>:
+
+This symbol contains the type of pointer returned by shmat().
+It can be C<void *> or C<char *>.
+
+=item C<shortsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<SHORTSIZE> symbol which
+indicates to the C program how many bytes there are in a short.
+
+=item C<shrpenv>
+
+From F<libperl.U>:
+
+If the user builds a shared F<libperl.so>, then we need to tell the
+C<perl> executable where it will be able to find the installed F<libperl.so>.
+One way to do this on some systems is to set the environment variable
+C<LD_RUN_PATH> to the directory that will be the final location of the
+shared F<libperl.so>. The makefile can use this with something like
+$shrpenv $(C<CC>) -o perl F<perlmain.o> $libperl $libs
+Typical values are
+shrpenv="env C<LD_RUN_PATH>=F<$archlibexp/C<CORE>>"
+or
+shrpenv=''
+See the main perl F<Makefile.SH> for actual working usage.
+Alternatively, we might be able to use a command line option such
+as -R F<$archlibexp/C<CORE>> (Solaris) or -Wl,-rpath
+F<$archlibexp/C<CORE>> (Linux).
+
+=item C<shsharp>
+
+From F<spitshell.U>:
+
+This variable tells further Configure units whether your sh can
+handle # comments.
+
+=item C<sig_count>
+
+From F<sig_name.U>:
+
+This variable holds a number larger than the largest valid
+signal number. This is usually the same as the C<NSIG> macro.
+
+=item C<sig_name>
+
+From F<sig_name.U>:
+
+This variable holds the signal names, space separated. The leading
+C<SIG> in signal name is removed. A C<ZERO> is prepended to the list.
+This is currently not used, sig_name_init is used instead.
+
+=item C<sig_name_init>
+
+From F<sig_name.U>:
+
+This variable holds the signal names, enclosed in double quotes and
+separated by commas, suitable for use in the C<SIG_NAME> definition
+below. A C<ZERO> is prepended to the list, and the list is
+terminated with a plain 0. The leading C<SIG> in signal names
+is removed. See sig_num.
+
+=item C<sig_num>
+
+From F<sig_name.U>:
+
+This variable holds the signal numbers, space separated. A C<ZERO> is
+prepended to the list (corresponding to the fake C<SIGZERO>).
+Those numbers correspond to the value of the signal listed
+in the same place within the sig_name list.
+This is currently not used, sig_num_init is used instead.
+
+=item C<sig_num_init>
+
+From F<sig_name.U>:
+
+This variable holds the signal numbers, enclosed in double quotes and
+separated by commas, suitable for use in the C<SIG_NUM> definition
+below. A C<ZERO> is prepended to the list, and the list is
+terminated with a plain 0.
+
+=item C<sig_size>
+
+From F<sig_name.U>:
+
+This variable contains the number of elements of the sig_name
+and sig_num arrays.
+
+=item C<signal_t>
+
+From F<d_voidsig.U>:
+
+This variable holds the type of the signal handler (void or int).
+
+=item C<sitearch>
+
+From F<sitearch.U>:
+
+This variable contains the eventual value of the C<SITEARCH> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+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 F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitearchexp>
+
+From F<sitearch.U>:
+
+This variable is the F<~name> expanded version of sitearch, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<sitebin>
+
+From F<sitebin.U>:
+
+This variable holds the name of the directory in which the user wants
+to put add-on publicly executable files for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+executables in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitebinexp>
+
+From F<sitebin.U>:
+
+This is the same as the sitebin variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<sitehtml1dir>
+
+From F<sitehtml1dir.U>:
+
+This variable contains the name of the directory in which site-specific
+html source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+html pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitehtml1direxp>
+
+From F<sitehtml1dir.U>:
+
+This variable is the same as the sitehtml1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<sitehtml3dir>
+
+From F<sitehtml3dir.U>:
+
+This variable contains the name of the directory in which site-specific
+library html source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+library html pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitehtml3direxp>
+
+From F<sitehtml3dir.U>:
+
+This variable is the same as the sitehtml3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<sitelib>
+
+From F<sitelib.U>:
+
+This variable contains the eventual value of the C<SITELIB> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+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 F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitelib_stem>
+
+From F<sitelib.U>:
+
+This variable is $sitelibexp with any trailing version-specific component
+removed. The elements in inc_version_list (F<inc_version_list.U>) can
+be tacked onto this variable to generate a list of directories to search.
+
+=item C<sitelibexp>
+
+From F<sitelib.U>:
+
+This variable is the F<~name> expanded version of sitelib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<siteman1dir>
+
+From F<siteman1dir.U>:
+
+This variable contains the name of the directory in which site-specific
+manual source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+man1 pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<siteman1direxp>
+
+From F<siteman1dir.U>:
+
+This variable is the same as the siteman1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<siteman3dir>
+
+From F<siteman3dir.U>:
+
+This variable contains the name of the directory in which site-specific
+library man source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+man3 pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<siteman3direxp>
+
+From F<siteman3dir.U>:
+
+This variable is the same as the siteman3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<siteprefix>
+
+From F<siteprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install add-on packages.
+See C<INSTALL> for usage and examples.
+
+=item C<siteprefixexp>
+
+From F<siteprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install add-on packages. Derived from siteprefix.
+
+=item C<sitescript>
+
+From F<sitescript.U>:
+
+This variable holds the name of the directory in which the user wants
+to put add-on publicly executable files for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+scripts in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitescriptexp>
+
+From F<sitescript.U>:
+
+This is the same as the sitescript variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<sizesize>
+
+From F<sizesize.U>:
+
+This variable contains the size of a sizetype in bytes.
+
+=item C<sizetype>
+
+From F<sizetype.U>:
+
+This variable defines sizetype to be something like size_t,
+unsigned long, or whatever type is used to declare length
+parameters for string functions.
+
+=item C<sleep>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<sLOCALTIME_max>
+
+From F<time_size.U>:
+
+This variable defines the maximum value of the time_t offset that
+the system function localtime () accepts
+
+=item C<sLOCALTIME_min>
+
+From F<time_size.U>:
+
+This variable defines the minimum value of the time_t offset that
+the system function localtime () accepts
+
+=item C<smail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<so>
+
+From F<so.U>:
+
+This variable holds the extension used to identify shared libraries
+(also known as shared objects) on the system. Usually set to C<so>.
+
+=item C<sockethdr>
+
+From F<d_socket.U>:
+
+This variable has any cpp C<-I> flags needed for socket support.
+
+=item C<socketlib>
+
+From F<d_socket.U>:
+
+This variable has the names of any libraries needed for socket support.
+
+=item C<socksizetype>
+
+From F<socksizetype.U>:
+
+This variable holds the type used for the size argument
+for various socket calls like accept. Usual values include
+socklen_t, size_t, and int.
+
+=item C<sort>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the sort program. After Configure runs,
+the value is reset to a plain C<sort> and is not useful.
+
+=item C<spackage>
+
+From F<package.U>:
+
+This variable contains the name of the package being constructed,
+with the first letter uppercased, F<i.e>. suitable for starting
+sentences.
+
+=item C<spitshell>
+
+From F<spitshell.U>:
+
+This variable contains the command necessary to spit out a runnable
+shell on this system. It is either cat or a grep C<-v> for # comments.
+
+=item C<sPRId64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit decimal numbers (format C<d>) for output.
+
+=item C<sPRIeldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<e>) for output.
+
+=item C<sPRIEUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<E>) for output.
+The C<U> in the name is to separate this from sPRIeldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIfldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<f>) for output.
+
+=item C<sPRIFUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<F>) for output.
+The C<U> in the name is to separate this from sPRIfldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIgldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<g>) for output.
+
+=item C<sPRIGUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<G>) for output.
+The C<U> in the name is to separate this from sPRIgldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIi64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit decimal numbers (format C<i>) for output.
+
+=item C<sPRIo64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit octal numbers (format C<o>) for output.
+
+=item C<sPRIu64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit unsigned decimal numbers (format C<u>) for output.
+
+=item C<sPRIx64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit hexadecimal numbers (format C<x>) for output.
+
+=item C<sPRIXU64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit hExADECimAl numbers (format C<X>) for output.
+The C<U> in the name is to separate this from sPRIx64 so that even
+case-blind systems can see the difference.
+
+=item C<srand48_r_proto>
+
+From F<d_srand48_r.U>:
+
+This variable encodes the prototype of srand48_r.
+It is zero if d_srand48_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srand48_r
+is defined.
+
+=item C<srandom_r_proto>
+
+From F<d_srandom_r.U>:
+
+This variable encodes the prototype of srandom_r.
+It is zero if d_srandom_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srandom_r
+is defined.
+
+=item C<src>
+
+From F<src.U>:
+
+This variable holds the (possibly relative) path of the package source.
+It is up to the Makefile to use this variable and set C<VPATH> accordingly
+to find the sources remotely. Use $pkgsrc to have an absolute path.
+
+=item C<sSCNfldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<f>) for input.
+
+=item C<ssizetype>
+
+From F<ssizetype.U>:
+
+This variable defines ssizetype to be something like ssize_t,
+long or int. It is used by functions that return a count
+of bytes or an error condition. It must be a signed type.
+We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+
+=item C<st_ino_sign>
+
+From F<st_ino_def.U>:
+
+This variable contains the signedness of struct stat's st_ino.
+1 for unsigned, -1 for signed.
+
+=item C<st_ino_size>
+
+From F<st_ino_def.U>:
+
+This variable contains the size of struct stat's st_ino in bytes.
+
+=item C<startperl>
+
+From F<startperl.U>:
+
+This variable contains the string to put on the front of a perl
+script to make sure (hopefully) that it runs with perl and not some
+shell. Of course, that leading line must be followed by the classical
+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 incantation is not understood by csh.
+
+=item C<startsh>
+
+From F<startsh.U>:
+
+This variable contains the string to put on the front of a shell
+script to make sure (hopefully) that it runs with sh and not some
+other shell.
+
+=item C<static_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of C<XS> extension files we want to
+link statically into the package. It is used by Makefile.
+
+=item C<stdchar>
+
+From F<stdchar.U>:
+
+This variable conditionally defines C<STDCHAR> to be the type of char
+used in F<stdio.h>. It has the values "unsigned char" or C<char>.
+
+=item C<stdio_base>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_base(fp).
+
+=item C<stdio_bufsiz>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to determine
+the number of bytes store in the I/O buffer pointer to by the
+_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_bufsiz(fp).
+
+=item C<stdio_cnt>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_cnt field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_cnt(fp).
+
+=item C<stdio_filbuf>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to tell
+stdio to refill its internal buffers (?). This will
+be used to define the macro FILE_filbuf(fp).
+
+=item C<stdio_ptr>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_ptr field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_ptr(fp).
+
+=item C<stdio_stream_array>
+
+From F<stdio_streams.U>:
+
+This variable tells the name of the array holding the stdio streams.
+Usual values include _iob, __iob, and __sF.
+
+=item C<strerror_r_proto>
+
+From F<d_strerror_r.U>:
+
+This variable encodes the prototype of strerror_r.
+It is zero if d_strerror_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_strerror_r
+is defined.
+
+=item C<strings>
+
+From F<i_string.U>:
+
+This variable holds the full path of the string header that will be
+used. Typically F</usr/include/string.h> or F</usr/include/strings.h>.
+
+=item C<submit>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<subversion>
+
+From F<patchlevel.U>:
+
+The subversion level of this package.
+The value of subversion comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<1>.
+In F<patchlevel.h>, this is referred to as C<PERL_SUBVERSION>.
+This is unique to perl.
+
+=item C<sysman>
+
+From F<sysman.U>:
+
+This variable holds the place where the manual is located on this
+system. It is not the place where the user wants to put his manual
+pages. Rather it is the place where Configure may look to find manual
+for unix commands (section 1 of the manual usually). See mansrc.
+
+=item C<sysroot>
+
+From F<Sysroot.U>:
+
+This variable is empty unless supplied by the Configure user.
+It can contain a path to an alternative root directory, under which
+headers and libraries for the compilation target can be found. This
+is generally used when cross-compiling using a gcc-like compiler.
+
+=back
+
+=cut
+
+=head2 t
+
+=over 4
+
+=cut
+
+=item C<tail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<tar>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<targetarch>
+
+From F<Cross.U>:
+
+If cross-compiling, this variable contains the target architecture.
+If not, this will be empty.
+
+=item C<targetdir>
+
+From F<Cross.U>:
+
+This variable contains a path that will be created on the target
+host using targetmkdir, and then used to copy the cross-compiled
+executables to. Defaults to F</tmp> if not set.
+
+=item C<targetenv>
+
+From F<Cross.U>:
+
+If cross-compiling, this variable can be used to modify the
+environment on the target system.
+However, how and where it's used, and even if it's used at all, is
+entirely dependent on both the transport mechanism (targetrun) and
+what the target system is. Unless the relevant documentation says
+otherwise, it is genereally not useful.
+
+=item C<targethost>
+
+From F<Cross.U>:
+
+This variable contains the name of a separate host machine that
+can be used to run compiled test programs and perl tests on.
+Set to empty string if not in use.
+
+=item C<targetmkdir>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure to create a
+new directory on the target host.
+
+=item C<targetport>
+
+From F<Cross.U>:
+
+This variable contains the number of a network port to be used to
+connect to the host in targethost, if unset defaults to 22 for ssh.
+
+=item C<targetsh>
+
+From F<Cross.U>:
+
+If cross-compiling, this variable contains the location of sh on the
+target system.
+If not, this will be the same as $sh.
+
+=item C<tbl>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<tee>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<test>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the test program. After Configure runs,
+the value is reset to a plain C<test> and is not useful.
+
+=item C<timeincl>
+
+From F<i_time.U>:
+
+This variable holds the full path of the included time header(s).
+
+=item C<timetype>
+
+From F<d_time.U>:
+
+This variable holds the type returned by time(). It can be long,
+or time_t on C<BSD> sites (in which case <sys/types.h> should be
+included). Anyway, the type Time_t should be used.
+
+=item C<tmpnam_r_proto>
+
+From F<d_tmpnam_r.U>:
+
+This variable encodes the prototype of tmpnam_r.
+It is zero if d_tmpnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_tmpnam_r
+is defined.
+
+=item C<to>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy to from the target host. Useful and available
+only during Perl build.
+The string C<:> if not cross-compiling.
+
+=item C<touch>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the touch program. After Configure runs,
+the value is reset to a plain C<touch> and is not useful.
+
+=item C<tr>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the tr program. After Configure runs,
+the value is reset to a plain C<tr> and is not useful.
+
+=item C<trnl>
+
+From F<trnl.U>:
+
+This variable contains the value to be passed to the tr(1)
+command to transliterate a newline. Typical values are
+C<\012> and C<\n>. This is needed for C<EBCDIC> systems where
+newline is not necessarily C<\012>.
+
+=item C<troff>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<ttyname_r_proto>
+
+From F<d_ttyname_r.U>:
+
+This variable encodes the prototype of ttyname_r.
+It is zero if d_ttyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ttyname_r
+is defined.
+
+=back
+
+=cut
+
+=head2 u
+
+=over 4
+
+=cut
+
+=item C<u16size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U16 in bytes.
+
+=item C<u16type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U16.
+
+=item C<u32size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U32 in bytes.
+
+=item C<u32type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U32.
+
+=item C<u64size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U64 in bytes.
+
+=item C<u64type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U64.
+
+=item C<u8size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U8 in bytes.
+
+=item C<u8type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U8.
+
+=item C<uidformat>
+
+From F<uidf.U>:
+
+This variable contains the format string used for printing a Uid_t.
+
+=item C<uidsign>
+
+From F<uidsign.U>:
+
+This variable contains the signedness of a uidtype.
+1 for unsigned, -1 for signed.
+
+=item C<uidsize>
+
+From F<uidsize.U>:
+
+This variable contains the size of a uidtype in bytes.
+
+=item C<uidtype>
+
+From F<uidtype.U>:
+
+This variable defines Uid_t to be something like uid_t, int,
+ushort, or whatever type is used to declare user ids in the kernel.
+
+=item C<uname>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the uname program. After Configure runs,
+the value is reset to a plain C<uname> and is not useful.
+
+=item C<uniq>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the uniq program. After Configure runs,
+the value is reset to a plain C<uniq> and is not useful.
+
+=item C<uquadtype>
+
+From F<quadtype.U>:
+
+This variable defines Uquad_t to be something like unsigned long,
+unsigned int, unsigned long long, uint64_t, or whatever type is
+used for 64-bit integers.
+
+=item C<use5005threads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the USE_5005THREADS symbol,
+and indicates that Perl should be built to use the 5.005-based
+threading implementation. Only valid up to 5.8.x.
+
+=item C<use64bitall>
+
+From F<use64bits.U>:
+
+This variable conditionally defines the USE_64_BIT_ALL symbol,
+and indicates that 64-bit integer types should be used
+when available. The maximal possible
+64-bitness is employed: LP64 or ILP64, meaning that you will
+be able to use more than 2 gigabytes of memory. This mode is
+even more binary incompatible than USE_64_BIT_INT. You may not
+be able to run the resulting executable in a 32-bit C<CPU> at all or
+you may need at least to reboot your C<OS> to 64-bit mode.
+
+=item C<use64bitint>
+
+From F<use64bits.U>:
+
+This variable conditionally defines the USE_64_BIT_INT symbol,
+and indicates that 64-bit integer types should be used
+when available. The minimal possible 64-bitness
+is employed, just enough to get 64-bit integers into Perl.
+This may mean using for example "long longs", while your memory
+may still be limited to 2 gigabytes.
+
+=item C<usecrosscompile>
+
+From F<Cross.U>:
+
+This variable conditionally defines the C<USE_CROSS_COMPILE> symbol,
+and indicates that Perl has been cross-compiled.
+
+=item C<usedevel>
+
+From F<Devel.U>:
+
+This variable indicates that Perl was configured with development
+features enabled. This should not be done for production builds.
+
+=item C<usedl>
+
+From F<dlsrc.U>:
+
+This variable indicates if the system supports dynamic
+loading of some sort. See also dlsrc and dlobj.
+
+=item C<usedtrace>
+
+From F<usedtrace.U>:
+
+This variable indicates whether we are compiling with dtrace
+support. See also dtrace.
+
+=item C<usefaststdio>
+
+From F<usefaststdio.U>:
+
+This variable conditionally defines the C<USE_FAST_STDIO> symbol,
+and indicates that Perl should be built to use C<fast stdio>.
+Defaults to define in Perls 5.8 and earlier, to undef later.
+
+=item C<useithreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_ITHREADS> symbol,
+and indicates that Perl should be built to use the interpreter-based
+threading implementation.
+
+=item C<usekernprocpathname>
+
+From F<usekernprocpathname.U>:
+
+This variable, indicates that we can use sysctl with
+C<KERN_PROC_PATHNAME> to get a full path for the executable, and hence
+convert $^X to an absolute path.
+
+=item C<uselargefiles>
+
+From F<uselfs.U>:
+
+This variable conditionally defines the C<USE_LARGE_FILES> symbol,
+and indicates that large file interfaces should be used when
+available.
+
+=item C<uselongdouble>
+
+From F<uselongdbl.U>:
+
+This variable conditionally defines the C<USE_LONG_DOUBLE> symbol,
+and indicates that long doubles should be used when available.
+
+=item C<usemallocwrap>
+
+From F<mallocsrc.U>:
+
+This variable contains y if we are wrapping malloc to prevent
+integer overflow during size calculations.
+
+=item C<usemorebits>
+
+From F<usemorebits.U>:
+
+This variable conditionally defines the C<USE_MORE_BITS> symbol,
+and indicates that explicit 64-bit interfaces and long doubles
+should be used when available.
+
+=item C<usemultiplicity>
+
+From F<usemultiplicity.U>:
+
+This variable conditionally defines the C<MULTIPLICITY> symbol,
+and indicates that Perl should be built to use multiplicity.
+
+=item C<usemymalloc>
+
+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 efficiency, but such versions are often
+less portable. See also mallocsrc and mallocobj.
+If this is C<y>, then -lmalloc is removed from $libs.
+
+=item C<usenm>
+
+From F<usenm.U>:
+
+This variable contains C<true> or C<false> depending whether the
+nm extraction is wanted or not.
+
+=item C<usensgetexecutablepath>
+
+From F<usensgetexecutablepath.U>:
+
+This symbol, if defined, indicates that we can use _NSGetExecutablePath
+and realpath to get a full path for the executable, and hence convert
+$^X to an absolute path.
+
+=item C<useopcode>
+
+From F<Extensions.U>:
+
+This variable holds either C<true> or C<false> to indicate
+whether the Opcode extension should be used. The sole
+use for this currently is to allow an easy mechanism
+for users to skip the Opcode extension from the Configure
+command line.
+
+=item C<useperlio>
+
+From F<useperlio.U>:
+
+This variable conditionally defines the C<USE_PERLIO> symbol,
+and indicates that the PerlIO abstraction should be
+used throughout.
+
+=item C<useposix>
+
+From F<Extensions.U>:
+
+This variable holds either C<true> or C<false> to indicate
+whether the C<POSIX> extension should be used. The sole
+use for this currently is to allow an easy mechanism
+for hints files to indicate that C<POSIX> will not compile
+on a particular system.
+
+=item C<usereentrant>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_REENTRANT_API> symbol,
+which indicates that the thread code may try to use the various
+_r versions of library functions. This is only potentially
+meaningful if usethreads is set and is very experimental, it is
+not even prompted for.
+
+=item C<userelocatableinc>
+
+From F<bin.U>:
+
+This variable is set to true to indicate that perl should relocate
+@C<INC> entries at runtime based on the path to the perl binary.
+Any @C<INC> paths starting F<.../> are relocated relative to the directory
+containing the perl binary, and a logical cleanup of the path is then
+made around the join point (removing F<dir/../> pairs)
+
+=item C<useshrplib>
+
+From F<libperl.U>:
+
+This variable is set to C<true> if the user wishes
+to build a shared libperl, and C<false> otherwise.
+
+=item C<usesitecustomize>
+
+From F<d_sitecustomize.U>:
+
+This variable is set to true when the user requires a mechanism that
+allows the sysadmin to add entries to @C<INC> at runtime. This variable
+being set, makes perl run F<$sitelib/sitecustomize.pl> at startup.
+
+=item C<usesocks>
+
+From F<usesocks.U>:
+
+This variable conditionally defines the C<USE_SOCKS> symbol,
+and indicates that Perl should be built to use C<SOCKS>.
+
+=item C<usethreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_THREADS> symbol,
+and indicates that Perl should be built to use threads.
+
+=item C<usevendorprefix>
+
+From F<vendorprefix.U>:
+
+This variable tells whether the vendorprefix
+and consequently other vendor* paths are in use.
+
+=item C<useversionedarchname>
+
+From F<archname.U>:
+
+This variable indicates whether to include the $api_versionstring
+as a component of the $archname.
+
+=item C<usevfork>
+
+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
+explicitly requests not to use vfork.
+
+=item C<usrinc>
+
+From F<usrinc.U>:
+
+This variable holds the path of the include files, which is
+usually F</usr/include>. It is mainly used by other Configure units.
+
+=item C<uuname>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<uvoformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned octal integer.
+
+=item C<uvsize>
+
+From F<perlxv.U>:
+
+This variable is the size of a C<UV> in bytes.
+
+=item C<uvtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<UV>.
+
+=item C<uvuformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned decimal integer.
+
+=item C<uvxformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned hexadecimal integer in lowercase abcdef.
+
+=item C<uvXUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned hexadecimal integer in uppercase C<ABCDEF>.
+
+=back
+
+=cut
+
+=head2 v
+
+=over 4
+
+=cut
+
+=item C<vaproto>
+
+From F<vaproto.U>:
+
+This variable conditionally defines C<CAN_VAPROTO> on systems supporting
+prototype declaration of functions with a variable number of
+arguments. See also prototype.
+
+=item C<vendorarch>
+
+From F<vendorarch.U>:
+
+This variable contains the value of the C<PERL_VENDORARCH> symbol.
+It may have a F<~> 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 F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorarchexp>
+
+From F<vendorarch.U>:
+
+This variable is the F<~name> expanded version of vendorarch, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorbin>
+
+From F<vendorbin.U>:
+
+This variable contains the eventual value of the C<VENDORBIN> symbol.
+It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place additional
+binaries in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorbinexp>
+
+From F<vendorbin.U>:
+
+This variable is the F<~name> expanded version of vendorbin, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorhtml1dir>
+
+From F<vendorhtml1dir.U>:
+
+This variable contains the name of the directory for html
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+html pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorhtml1direxp>
+
+From F<vendorhtml1dir.U>:
+
+This variable is the F<~name> expanded version of vendorhtml1dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorhtml3dir>
+
+From F<vendorhtml3dir.U>:
+
+This variable contains the name of the directory for html
+library pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+html pages for modules and extensions in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorhtml3direxp>
+
+From F<vendorhtml3dir.U>:
+
+This variable is the F<~name> expanded version of vendorhtml3dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorlib>
+
+From F<vendorlib.U>:
+
+This variable contains the eventual value of the C<VENDORLIB> symbol,
+which is the name of the private library for this package.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+modules in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorlib_stem>
+
+From F<vendorlib.U>:
+
+This variable is $vendorlibexp with any trailing version-specific component
+removed. The elements in inc_version_list (F<inc_version_list.U>) can
+be tacked onto this variable to generate a list of directories to search.
+
+=item C<vendorlibexp>
+
+From F<vendorlib.U>:
+
+This variable is the F<~name> expanded version of vendorlib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorman1dir>
+
+From F<vendorman1dir.U>:
+
+This variable contains the name of the directory for man1
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+man1 pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorman1direxp>
+
+From F<vendorman1dir.U>:
+
+This variable is the F<~name> expanded version of vendorman1dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorman3dir>
+
+From F<vendorman3dir.U>:
+
+This variable contains the name of the directory for man3
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+man3 pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorman3direxp>
+
+From F<vendorman3dir.U>:
+
+This variable is the F<~name> expanded version of vendorman3dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorprefix>
+
+From F<vendorprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the vendor will install add-on packages.
+See C<INSTALL> for usage and examples.
+
+=item C<vendorprefixexp>
+
+From F<vendorprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the vendor will install add-on packages. Derived from vendorprefix.
+
+=item C<vendorscript>
+
+From F<vendorscript.U>:
+
+This variable contains the eventual value of the C<VENDORSCRIPT> symbol.
+It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place additional
+executable scripts in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorscriptexp>
+
+From F<vendorscript.U>:
+
+This variable is the F<~name> expanded version of vendorscript, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<version>
+
+From F<patchlevel.U>:
+
+The full version number of this package, such as 5.6.1 (or 5_6_1).
+This combines revision, patchlevel, and subversion to get the
+full version number, including any possible subversions.
+This is suitable for use as a directory name, and hence is
+filesystem dependent.
+
+=item C<version_patchlevel_string>
+
+From F<patchlevel.U>:
+
+This is a string combining version, subversion and
+perl_patchlevel (if perl_patchlevel is non-zero).
+It is typically something like
+'version 7 subversion 1' or
+'version 7 subversion 1 patchlevel 11224'
+It is computed here to avoid duplication of code in F<myconfig.SH>
+and F<lib/Config.pm>.
+
+=item C<versiononly>
+
+From F<versiononly.U>:
+
+If set, this symbol indicates that only the version-specific
+components of a perl installation should be installed.
+This may be useful for making a test installation of a new
+version without disturbing the existing installation.
+Setting versiononly is equivalent to setting installperl's -v option.
+In particular, the non-versioned scripts and programs such as
+a2p, c2ph, h2xs, pod2*, and perldoc are not installed
+(see C<INSTALL> for a more complete list). Nor are the man
+pages installed.
+Usually, this is undef.
+
+=item C<vi>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=back
+
+=cut
+
+=head2 x
+
+=over 4
+
+=cut
+
+=item C<xlibpth>
+
+From F<libpth.U>:
+
+This variable holds extra path (space-separated) used to find
+libraries on this platform, for example C<CPU>-specific libraries
+(on multi-C<CPU> platforms) may be listed here.
+
+=back
+
+=cut
+
+=head2 y
+
+=over 4
+
+=cut
+
+=item C<yacc>
+
+From F<yacc.U>:
+
+This variable holds the name of the compiler compiler we
+want to use in the Makefile. It can be yacc, byacc, or bison -y.
+
+=item C<yaccflags>
+
+From F<yacc.U>:
+
+This variable contains any additional yacc flags desired by the
+user. It is up to the Makefile to use this.
+
+=back
+
+=cut
+
+=head2 z
+
+=over 4
+
+=cut
+
+=item C<zcat>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<zip>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the zip program. After Configure runs,
+the value is reset to a plain C<zip> and is not useful.
+
+
+=back
+
+=head1 GIT DATA
+
+Information on the git commit from which the current perl binary was compiled
+can be found in the variable C<$Config::Git_Data>. The variable is a
+structured string that looks something like this:
+
+ git_commit_id='ea0c2dbd5f5ac6845ecc7ec6696415bf8e27bd52'
+ git_describe='GitLive-blead-1076-gea0c2db'
+ git_branch='smartmatch'
+ git_uncommitted_changes=''
+ git_commit_id_title='Commit id:'
+ git_commit_date='2009-05-09 17:47:31 +0200'
+
+Its format is not guaranteed not to change over time.
+
+=head1 NOTE
+
+This module contains a good example of how to use tie to implement a
+cache and an example of how to make a tied variable readonly to those
+outside of it.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Config/Perl/V.pm b/Master/tlpkg/tlperl/lib/Config/Perl/V.pm
index c52b82608cf..4cbf6fe66f0 100755
--- a/Master/tlpkg/tlperl/lib/Config/Perl/V.pm
+++ b/Master/tlpkg/tlperl/lib/Config/Perl/V.pm
@@ -8,7 +8,7 @@ use warnings;
use Config;
use Exporter;
use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION = "0.17";
+$VERSION = "0.22";
@ISA = ("Exporter");
@EXPORT_OK = qw( plv2hash summary myconfig signature );
%EXPORT_TAGS = (
@@ -22,14 +22,28 @@ $VERSION = "0.17";
# The list are as the perl binary has stored it in PL_bincompat_options
# search for it in
-# perl.c line 1661 S_Internals_V ()
-# perl.h line 4664 (second block),
+# perl.c line 1643 S_Internals_V ()
+# perl -ne'(/^S_Internals_V/../^}/)&&s/^\s+"( .*)"/$1/ and print' perl.c
+# perl.h line 4566 PL_bincompat_options
+# perl -ne'(/^\w.*PL_bincompat/../^\w}/)&&s/^\s+"( .*)"/$1/ and print' perl.h
my %BTD = map { $_ => 0 } qw(
DEBUGGING
+ NO_HASH_SEED
NO_MATHOMS
+ NO_TAINT_SUPPORT
+ PERL_BOOL_AS_CHAR
PERL_DISABLE_PMC
PERL_DONT_CREATE_GVSV
+ PERL_EXTERNAL_GLOB
+ PERL_HASH_FUNC_DJB2
+ PERL_HASH_FUNC_MURMUR3
+ PERL_HASH_FUNC_ONE_AT_A_TIME
+ PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+ PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
+ PERL_HASH_FUNC_SDBM
+ PERL_HASH_FUNC_SIPHASH
+ PERL_HASH_FUNC_SUPERFAST
PERL_IS_MINIPERL
PERL_MALLOC_WRAP
PERL_MEM_LOG
@@ -38,6 +52,10 @@ my %BTD = map { $_ => 0 } qw(
PERL_MEM_LOG_NOIMPL
PERL_MEM_LOG_STDERR
PERL_MEM_LOG_TIMESTAMP
+ PERL_NEW_COPY_ON_WRITE
+ PERL_PERTURB_KEYS_DETERMINISTIC
+ PERL_PERTURB_KEYS_DISABLED
+ PERL_PERTURB_KEYS_RANDOM
PERL_PRESERVE_IVUV
PERL_RELOCATABLE_INCPUSH
PERL_USE_DEVEL
@@ -45,7 +63,9 @@ my %BTD = map { $_ => 0 } qw(
UNLINK_ALL_VERSIONS
USE_ATTRIBUTES_FOR_PERLIO
USE_FAST_STDIO
+ USE_HASH_SEED_EXPLICIT
USE_LOCALE
+ USE_LOCALE_CTYPE
USE_PERL_ATOF
USE_SITECUSTOMIZE
@@ -55,19 +75,21 @@ my %BTD = map { $_ => 0 } qw(
FAKE_THREADS
FCRYPT
HAS_TIMES
+ HAVE_INTERP_INTERN
MULTIPLICITY
MYMALLOC
- PERLIO_LAYERS
+ PERL_DEBUG_READONLY_COW
PERL_DEBUG_READONLY_OPS
PERL_GLOBAL_STRUCT
+ PERL_GLOBAL_STRUCT_PRIVATE
PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
+ PERLIO_LAYERS
PERL_MAD
PERL_MICRO
PERL_NEED_APPCTX
PERL_NEED_TIMESBASE
PERL_OLD_COPY_ON_WRITE
- PERL_NEW_COPY_ON_WRITE
PERL_POISON
PERL_SAWAMPERSAND
PERL_TRACK_MEMPOOL
@@ -81,6 +103,7 @@ my %BTD = map { $_ => 0 } qw(
USE_LARGE_FILES
USE_LOCALE_COLLATE
USE_LOCALE_NUMERIC
+ USE_LOCALE_TIME
USE_LONG_DOUBLE
USE_PERLIO
USE_REENTRANT_API
@@ -92,7 +115,7 @@ my %BTD = map { $_ => 0 } qw(
);
# These are all the keys that are
-# 1. Always present in %Config (first block)
+# 1. Always present in %Config - lib/Config.pm #87 tie %Config
# 2. Reported by 'perl -V' (the rest)
my @config_vars = qw(
@@ -208,39 +231,60 @@ sub _make_derived
sub plv2hash
{
my %config;
- for (split m/\n+/ => join "\n", @_) {
-
- if (s/^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)//) {
- $config{"package"} = $1;
- my $rev = $2;
- $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{revision} = $1;
- $rev and $config{version_patchlevel_string} = $rev;
- my ($rel) = $config{package} =~ m{perl(\d)};
- my ($vers, $subvers) = $rev =~ m{version\s+(\d+)\s+subversion\s+(\d+)};
- defined $vers && defined $subvers && defined $rel and
- $config{version} = "$rel.$vers.$subvers";
- next;
- }
- if (s/^\s+(Snapshot of:)\s+(\S+)//) {
- $config{git_commit_id_title} = $1;
- $config{git_commit_id} = $2;
- next;
- }
+ my $pv = join "\n" => @_;
+
+ if ($pv =~ m/^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)/m) {
+ $config{"package"} = $1;
+ my $rev = $2;
+ $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{revision} = $1;
+ $rev and $config{version_patchlevel_string} = $rev;
+ my ($rel) = $config{"package"} =~ m{perl(\d)};
+ my ($vers, $subvers) = $rev =~ m{version\s+(\d+)\s+subversion\s+(\d+)};
+ defined $vers && defined $subvers && defined $rel and
+ $config{version} = "$rel.$vers.$subvers";
+ }
- my %kv = m/\G,?\s*([^=]+)=('[^']+?'|\S+)/gc;
+ if ($pv =~ m/^\s+(Snapshot of:)\s+(\S+)/) {
+ $config{git_commit_id_title} = $1;
+ $config{git_commit_id} = $2;
+ }
+
+ if (my %kv = ($pv =~ m{\b
+ (\w+) # key
+ \s*= # assign
+ ( '\s*[^']*?\s*' # quoted value
+ | \S+[^=]*?\s*\n # unquoted running till end of line
+ | \S+ # unquoted value
+ | \s*\n # empty
+ )
+ (?:,?\s+|\s*\n)? # separator (5.8.x reports did not have a ','
+ }gx)) { # between every kv pair
while (my ($k, $v) = each %kv) {
$k =~ s/\s+$//;
+ $v =~ s/\s*\n\z//;
$v =~ s/,$//;
$v =~ m/^'(.*)'$/ and $v = $1;
- $v =~ s/^\s+//;
$v =~ s/\s+$//;
$config{$k} = $v;
}
}
+
my $build = { %empty_build };
+
+ $pv =~ m{^\s+Compiled at\s+(.*)}m
+ and $build->{stamp} = $1;
+ $pv =~ m{^\s+Locally applied patches:(?:\s+|\n)(.*?)(?:[\s\n]+Buil[td] under)}ms
+ and $build->{patches} = [ split m/\n+\s*/, $1 ];
+ $pv =~ m{^\s+Compile-time options:(?:\s+|\n)(.*?)(?:[\s\n]+(?:Locally applied|Buil[td] under))}ms
+ and map { $build->{options}{$_} = 1 } split m/\s+|\n/ => $1;
+
$build->{osname} = $config{osname};
+ $pv =~ m{^\s+Built under\s+(.*)}m
+ and $build->{osname} = $1;
+ $config{osname} ||= $build->{osname};
+
return _make_derived ({
build => $build,
environment => {},
@@ -301,20 +345,9 @@ sub myconfig
}
else {
#y $pv = qx[$^X -e"sub Config::myconfig{};" -V];
- my $pv = qx[$^X -V];
- $pv =~ s{.*?\n\n}{}s;
- $pv =~ s{\n(?: \s+|\t\s*)}{\0}g;
-
- # print STDERR $pv;
-
- $pv =~ m{^\s+Built under\s+(.*)}m
- and $build->{osname} = $1;
- $pv =~ m{^\s+Compiled at\s+(.*)}m
- and $build->{stamp} = $1;
- $pv =~ m{^\s+Locally applied patches:(?:\s+|\0)(.*)}m
- and $build->{patches} = [ split m/\0+/, $1 ];
- $pv =~ m{^\s+Compile-time options:(?:\s+|\0)(.*)}m
- and map { $build->{options}{$_} = 1 } split m/\s+|\0/ => $1;
+ my $cnf = plv2hash (qx[$^X -V]);
+
+ $build->{$_} = $cnf->{build}{$_} for qw( osname stamp patches options );
}
my @KEYS = keys %ENV;
@@ -501,7 +534,7 @@ H.Merijn Brand <h.m.brand@xs4all.nl>
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2009-2013 H.Merijn Brand
+Copyright (C) 2009-2014 H.Merijn Brand
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/Config_heavy.pl b/Master/tlpkg/tlperl/lib/Config_heavy.pl
index 9581056eb7d..daa1659bec3 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl
@@ -64,9 +64,9 @@ sub header_files {
dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.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);
+ 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
@@ -81,7 +81,6 @@ Summary of my $package (revision $revision $version_patchlevel_string) configura
config_args='$config_args'
hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction
useithreads=$useithreads, usemultiplicity=$usemultiplicity
- useperlio=$useperlio, d_sfio=$d_sfio, uselargefiles=$uselargefiles, usesocks=$usesocks
use64bitint=$use64bitint, use64bitall=$use64bitall, uselongdouble=$uselongdouble
usemymalloc=$usemymalloc, bincompat5005=undef
Compiler:
@@ -140,15 +139,15 @@ Header=''
Id='\$Id'
Locker=''
Log='\$Log'
-PATCHLEVEL='18'
+PATCHLEVEL='20'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='18'
+PERL_API_VERSION='20'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='2'
-PERL_VERSION='18'
+PERL_VERSION='20'
RCSfile='\$RCSfile'
Revision='\$Revision'
SUBVERSION='2'
@@ -164,8 +163,8 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='18'
-api_versionstring='5.18.0'
+api_version='20'
+api_versionstring='5.20.0'
ar='ar'
archlib='$rootdir\\lib'
archlibexp='$rootdir\\lib'
@@ -188,14 +187,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields'
+ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
cf_email='tex-live\@tug.org'
-cf_time='Sat Apr 19 12:08:09 2014'
+cf_time='Fri Apr 24 21:28:54 2015'
charbits='8'
chgrp=''
chmod=''
@@ -571,7 +570,6 @@ d_setsent='undef'
d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='define'
-d_sfio='undef'
d_shm='undef'
d_shmat='undef'
d_shmatprototype='undef'
@@ -683,16 +681,15 @@ db_prefixtype='int'
db_version_major='0'
db_version_minor='0'
db_version_patch='0'
-defvoidused='15'
direntrytype='struct direct'
dlext='dll'
dlltool='dlltool'
dlsrc='dl_win32.xs'
doublesize='8'
-drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand01='Perl_drand48()'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap 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 arybase attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -707,7 +704,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 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper 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/DosGlob 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/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/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev 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 Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent perlfaq podlators re threads threads/shared'
+extensions='Archive/Tar Attribute/Handlers AutoLoader B B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find 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/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/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 NEXT Net/Ping Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords 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 Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -724,7 +721,7 @@ full_csh=''
full_sed=''
gccansipedantic=''
gccosandvers=''
-gccversion='4.7.3'
+gccversion='4.8.3'
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
@@ -780,7 +777,6 @@ i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
-i_dld='undef'
i_dlfcn='define'
i_fcntl='define'
i_float='define'
@@ -811,13 +807,12 @@ i_poll='undef'
i_prot='undef'
i_pthread='undef'
i_pwd='undef'
-i_rpcsvcdbm='define'
-i_sfio='undef'
+i_rpcsvcdbm='undef'
i_sgtty='undef'
i_shadow='undef'
i_socks='undef'
i_stdarg='define'
-i_stdbool='undef'
+i_stdbool='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
@@ -902,7 +897,7 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob 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/mmap 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 arybase attributes mro re threads threads/shared'
+known_extensions='Archive/Tar Attribute/Handlers AutoLoader B B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/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 NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords 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 VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version'
ksh=''
ld='g++'
lddlflags='-mdll -s -L"$rootdir\\lib\\CORE" -L"$mingdir\\lib"'
@@ -912,15 +907,15 @@ ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl518.a'
+libperl='libperl520.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=''
libsfound=''
libspath=''
-libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
-libswanted_uselargefiles='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
+libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
+libswanted_uselargefiles='net socket inet nsl nm ndbm gdbm dbm db malloc dl ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
@@ -975,7 +970,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 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V 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/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/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -993,12 +988,12 @@ old_pthread_create_joinable=''
optimize='-s -O0'
orderlib='false'
osname='MSWin32'
-osvers='4.0'
+osvers='6.3'
otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='18'
+patchlevel='20'
path_sep=';'
perl5=''
perl='perl'
@@ -1022,10 +1017,10 @@ prototype='define'
ptrsize='4'
quadkind='3'
quadtype='long long'
-randbits='15'
-randfunc='rand'
+randbits='48'
+randfunc='Perl_drand48'
random_r_proto='0'
-randseedtype='unsigned'
+randseedtype='U32'
ranlib='rem'
rd_nodata='-1'
readdir64_r_proto='0'
@@ -1057,7 +1052,7 @@ sched_yield=''
scriptdir='$rootdir\\bin'
scriptdirexp='$rootdir\\bin'
sed='sed'
-seedfunc='srand'
+seedfunc='Perl_drand48_init'
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
@@ -1136,6 +1131,7 @@ sysman='/usr/man/man1'
tail=''
tar=''
targetarch=''
+targetsh='cmd /x /c'
tbl=''
tee=''
test=''
@@ -1186,7 +1182,6 @@ useperlio='define'
useposix='true'
usereentrant='undef'
userelocatableinc='undef'
-usesfio='false'
useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
@@ -1221,11 +1216,10 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.18.2'
-version_patchlevel_string='version 18 subversion 2'
+version='5.20.2'
+version_patchlevel_string='version 20 subversion 2'
versiononly='undef'
vi=''
-voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags=''
@@ -1241,8 +1235,8 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields'
-ldflags_nolargefiles="-s -L\"$rootdir\\lib\\CORE\" -L\"$mingdir\\lib\""
+ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -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
diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
index a0f934cdcc4..9d1910868e5 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
@@ -64,9 +64,9 @@ sub header_files {
dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.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);
+ 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: siepo@W7
@@ -81,7 +81,6 @@ Summary of my $package (revision $revision $version_patchlevel_string) configura
config_args='$config_args'
hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction
useithreads=$useithreads, usemultiplicity=$usemultiplicity
- useperlio=$useperlio, d_sfio=$d_sfio, uselargefiles=$uselargefiles, usesocks=$usesocks
use64bitint=$use64bitint, use64bitall=$use64bitall, uselongdouble=$uselongdouble
usemymalloc=$usemymalloc, bincompat5005=undef
Compiler:
@@ -135,15 +134,15 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-PATCHLEVEL='18'
+PATCHLEVEL='20'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='18'
+PERL_API_VERSION='20'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='2'
-PERL_VERSION='18'
+PERL_VERSION='20'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='2'
@@ -159,11 +158,11 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='18'
-api_versionstring='5.18.0'
+api_version='20'
+api_versionstring='5.20.0'
ar='ar'
-archlib='c:\perl\lib'
-archlibexp='c:\perl\lib'
+archlib='c:\tlperl\lib'
+archlibexp='c:\tlperl\lib'
archname64=''
archname='MSWin32-x86-multi-thread'
archobjs=''
@@ -171,8 +170,8 @@ asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
-bin='c:\perl\bin'
-binexp='c:\perl\bin'
+bin='c:\tlperl\bin'
+binexp='c:\tlperl\bin'
bison=''
bootstrap_charset='undef'
byacc='byacc'
@@ -183,14 +182,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields'
+ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
cf_email='siepo@W7'
-cf_time='Tue Apr 22 14:55:05 2014'
+cf_time='Fri Apr 24 15:37:17 2015'
charbits='8'
chgrp=''
chmod=''
@@ -566,7 +565,6 @@ d_setsent='undef'
d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='define'
-d_sfio='undef'
d_shm='undef'
d_shmat='undef'
d_shmatprototype='undef'
@@ -678,16 +676,15 @@ db_prefixtype='int'
db_version_major='0'
db_version_minor='0'
db_version_patch='0'
-defvoidused='15'
direntrytype='struct direct'
dlext='dll'
dlltool='dlltool'
dlsrc='dl_win32.xs'
doublesize='8'
-drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand01='Perl_drand48()'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap 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 arybase attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -702,7 +699,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 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper 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/DosGlob 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/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/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev 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 Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent perlfaq podlators re threads threads/shared'
+extensions='Archive/Tar Attribute/Handlers AutoLoader B B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find 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/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/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 NEXT Net/Ping Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords 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 Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -719,7 +716,7 @@ full_csh=''
full_sed=''
gccansipedantic=''
gccosandvers=''
-gccversion='4.7.3'
+gccversion='4.8.3'
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
@@ -775,7 +772,6 @@ i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
-i_dld='undef'
i_dlfcn='define'
i_fcntl='define'
i_float='define'
@@ -806,13 +802,12 @@ i_poll='undef'
i_prot='undef'
i_pthread='undef'
i_pwd='undef'
-i_rpcsvcdbm='define'
-i_sfio='undef'
+i_rpcsvcdbm='undef'
i_sgtty='undef'
i_shadow='undef'
i_socks='undef'
i_stdarg='define'
-i_stdbool='undef'
+i_stdbool='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
@@ -859,26 +854,26 @@ i_vfork='undef'
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
-incpath='x:\strawberry\c\include'
+incpath='X:\mingw\include'
inews=''
initialinstalllocation=''
-installarchlib='c:\perl\lib'
-installbin='c:\perl\bin'
+installarchlib='c:\tlperl\lib'
+installbin='c:\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='c:\tlperl\html'
+installhtmlhelpdir='c:\tlperl\htmlhelp'
+installman1dir='c:\tlperl\man\man1'
+installman3dir='c:\tlperl\man\man3'
+installprefix='c:\tlperl'
+installprefixexp='c:\tlperl'
+installprivlib='c:\tlperl\lib'
+installscript='c:\tlperl\bin'
+installsitearch='c:\tlperl\site\lib'
+installsitebin='c:\tlperl\bin'
installsitehtml1dir=''
installsitehtml3dir=''
-installsitelib='c:\perl\site\lib'
+installsitelib='c:\tlperl\site\lib'
installsiteman1dir=''
installsiteman3dir=''
installsitescript=''
@@ -897,25 +892,25 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob 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/mmap 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 arybase attributes mro re threads threads/shared'
+known_extensions='Archive/Tar Attribute/Handlers AutoLoader B B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/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 NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords 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 VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version'
ksh=''
ld='g++'
-lddlflags='-mdll -s -L"c:\perl\lib\CORE" -L"x:\strawberry\c\lib"'
-ldflags='-s -L"c:\perl\lib\CORE" -L"x:\strawberry\c\lib"'
+lddlflags='-mdll -s -L"c:\tlperl\lib\CORE" -L"X:\mingw\lib"'
+ldflags='-s -L"c:\tlperl\lib\CORE" -L"X:\mingw\lib"'
ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl518.a'
-libpth='x:\strawberry\c\lib'
+libperl='libperl520.a'
+libpth='X:\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=''
libsfound=''
libspath=''
-libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
-libswanted_uselargefiles='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
+libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
+libswanted_uselargefiles='net socket inet nsl nm ndbm gdbm dbm db malloc dl ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
@@ -943,11 +938,11 @@ make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
-man1dir='c:\perl\man\man1'
-man1direxp='c:\perl\man\man1'
+man1dir='c:\tlperl\man\man1'
+man1direxp='c:\tlperl\man\man1'
man1ext='1'
-man3dir='c:\perl\man\man3'
-man3direxp='c:\perl\man\man3'
+man3dir='c:\tlperl\man\man3'
+man3direxp='c:\tlperl\man\man3'
man3ext='3'
mips_type=''
mistrustnm=''
@@ -970,7 +965,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 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V 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/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/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -993,7 +988,7 @@ otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='18'
+patchlevel='20'
path_sep=';'
perl5=''
perl='perl'
@@ -1001,26 +996,26 @@ 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='c:\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='c:\tlperl'
+prefixexp='c:\tlperl'
+privlib='c:\tlperl\lib'
+privlibexp='c:\tlperl\lib'
procselfexe=''
prototype='define'
ptrsize='4'
quadkind='3'
quadtype='long long'
-randbits='15'
-randfunc='rand'
+randbits='48'
+randfunc='Perl_drand48'
random_r_proto='0'
-randseedtype='unsigned'
+randseedtype='U32'
ranlib='rem'
rd_nodata='-1'
readdir64_r_proto='0'
@@ -1049,10 +1044,10 @@ sPRIu64='"lu"'
sPRIx64='"lx"'
sSCNfldbl='"f"'
sched_yield=''
-scriptdir='c:\perl\bin'
-scriptdirexp='c:\perl\bin'
+scriptdir='c:\tlperl\bin'
+scriptdirexp='c:\tlperl\bin'
sed='sed'
-seedfunc='srand'
+seedfunc='Perl_drand48_init'
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
@@ -1077,23 +1072,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='c:\tlperl\site\lib'
+sitearchexp='c:\tlperl\site\lib'
+sitebin='c:\tlperl\site\bin'
+sitebinexp='c:\tlperl\site\bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
-sitelib='c:\perl\site\lib'
+sitelib='c:\tlperl\site\lib'
sitelib_stem=''
-sitelibexp='c:\perl\site\lib'
+sitelibexp='c:\tlperl\site\lib'
siteman1dir=''
siteman1direxp=''
siteman3dir=''
siteman3direxp=''
-siteprefix='c:\perl\site'
-siteprefixexp='c:\perl\site'
+siteprefix='c:\tlperl\site'
+siteprefixexp='c:\tlperl\site'
sitescript=''
sitescriptexp=''
sizesize='4'
@@ -1131,6 +1126,7 @@ sysman='/usr/man/man1'
tail=''
tar=''
targetarch=''
+targetsh='cmd /x /c'
tbl=''
tee=''
test=''
@@ -1181,7 +1177,6 @@ useperlio='define'
useposix='true'
usereentrant='undef'
userelocatableinc='undef'
-usesfio='false'
useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
@@ -1216,11 +1211,10 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.18.2'
-version_patchlevel_string='version 18 subversion 2'
+version='5.20.2'
+version_patchlevel_string='version 20 subversion 2'
versiononly='undef'
vi=''
-voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags=''
@@ -1236,8 +1230,8 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields'
-ldflags_nolargefiles='-s -L"c:\perl\lib\CORE" -L"x:\strawberry\c\lib"'
+ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
+ldflags_nolargefiles='-s -L"c:\tlperl\lib\CORE" -L"X:\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
diff --git a/Master/tlpkg/tlperl/lib/Cwd.pm b/Master/tlpkg/tlperl/lib/Cwd.pm
index 8886c67b4c5..210ea323da6 100644
--- a/Master/tlpkg/tlperl/lib/Cwd.pm
+++ b/Master/tlpkg/tlperl/lib/Cwd.pm
@@ -171,7 +171,7 @@ use strict;
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-$VERSION = '3.40';
+$VERSION = '3.48_01';
my $xs_version = $VERSION;
$VERSION =~ tr/_//;
@@ -242,16 +242,18 @@ sub _vms_efs {
# If loading the XS stuff doesn't work, we can fall back to pure perl
-eval {
- if ( $] >= 5.006 ) {
- require XSLoader;
- XSLoader::load( __PACKAGE__, $xs_version);
- } else {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- __PACKAGE__->bootstrap( $xs_version );
- }
-};
+unless (defined &getcwd) {
+ eval {
+ if ( $] >= 5.006 ) {
+ require XSLoader;
+ XSLoader::load( __PACKAGE__, $xs_version);
+ } else {
+ require DynaLoader;
+ push @ISA, 'DynaLoader';
+ __PACKAGE__->bootstrap( $xs_version );
+ }
+ };
+}
# Big nasty table of function aliases
my %METHOD_MAP =
@@ -341,9 +343,27 @@ foreach my $try ('/bin/pwd',
last;
}
}
+
+# Android has a built-in pwd. Using $pwd_cmd will DTRT if
+# this perl was compiled with -Dd_useshellcmds, which is the
+# default for Android, but the block below is needed for the
+# miniperl running on the host when cross-compiling, and
+# potentially for native builds with -Ud_useshellcmds.
+if ($^O =~ /android/) {
+ # If targetsh is executable, then we're either a full
+ # perl, or a miniperl for a native build.
+ if (-x $Config::Config{targetsh}) {
+ $pwd_cmd = "$Config::Config{targetsh} -c pwd"
+ }
+ else {
+ my $sh = $Config::Config{sh} || (-x '/system/bin/sh' ? '/system/bin/sh' : 'sh');
+ $pwd_cmd = "$sh -c pwd"
+ }
+}
+
my $found_pwd_cmd = defined($pwd_cmd);
unless ($pwd_cmd) {
- # Isn't this wrong? _backtick_pwd() will fail if somenone has
+ # Isn't this wrong? _backtick_pwd() will fail if someone has
# pwd in their path but it is not /bin/pwd or /usr/bin/pwd?
# See [perl #16774]. --jhi
$pwd_cmd = 'pwd';
diff --git a/Master/tlpkg/tlperl/lib/DB.pm b/Master/tlpkg/tlperl/lib/DB.pm
index 03f2b21e03b..fd0ff929f2f 100644
--- a/Master/tlpkg/tlperl/lib/DB.pm
+++ b/Master/tlpkg/tlperl/lib/DB.pm
@@ -38,17 +38,17 @@ BEGIN {
$DB::package = ''; # current package space
$DB::filename = ''; # current filename
- $DB::subname = ''; # currently executing sub (fullly qualified name)
+ $DB::subname = ''; # currently executing sub (fully qualified name)
$DB::lineno = ''; # current line number
- $DB::VERSION = $DB::VERSION = '1.04';
+ $DB::VERSION = $DB::VERSION = '1.07';
# initialize private globals to avoid warnings
$running = 1; # are we running, or are we stopped?
@stack = (0);
@clients = ();
- $deep = 100;
+ $deep = 1000;
$ready = 0;
@saved = ();
@skippkg = ();
@@ -559,7 +559,8 @@ DB - programmatic interface to the Perl debugging API
CLIENT->register() # register a client package name
CLIENT->done() # de-register from the debugging API
CLIENT->skippkg('hide::hide') # ask DB not to stop in this package
- CLIENT->cont([WHERE]) # run some more (until BREAK or another breakpt)
+ CLIENT->cont([WHERE]) # run some more (until BREAK or
+ # another breakpointt)
CLIENT->step() # single step
CLIENT->next() # step over
CLIENT->ret() # return from current subroutine
@@ -588,7 +589,8 @@ DB - programmatic interface to the Perl debugging API
CLIENT->stop(FILE,LINE) # when execution stops
CLIENT->idle() # while stopped (can be a client event loop)
CLIENT->cleanup() # just before exit
- CLIENT->output(LIST) # called to print any output that API must show
+ CLIENT->output(LIST) # called to print any output that
+ # the API must show
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter.pm b/Master/tlpkg/tlperl/lib/DBM_Filter.pm
index 3421848eca4..033fd1c75f4 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.05';
+our $VERSION = '0.06';
package Tie::Hash ;
@@ -230,7 +230,7 @@ DBM_Filter -- Filter DBM keys/values
=head1 SYNOPSIS
use DBM_Filter ;
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, or ODBM_File
$db = tie %hash, ...
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter/compress.pm b/Master/tlpkg/tlperl/lib/DBM_Filter/compress.pm
index b9f7dea92bf..cb286a73bd0 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter/compress.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter/compress.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
use Carp;
-our $VERSION = '0.02';
+our $VERSION = '0.03';
BEGIN
{
@@ -29,7 +29,7 @@ DBM_Filter::compress - filter for DBM_Filter
=head1 SYNOPSIS
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, ODBM_File
use DBM_Filter ;
$db = tie %hash, ...
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter/encode.pm b/Master/tlpkg/tlperl/lib/DBM_Filter/encode.pm
index fedb6928116..907f51d73ee 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter/encode.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter/encode.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
use Carp;
-our $VERSION = '0.02';
+our $VERSION = '0.03';
BEGIN
{
@@ -46,7 +46,7 @@ DBM_Filter::encode - filter for DBM_Filter
=head1 SYNOPSIS
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, ODBM_File
use DBM_Filter ;
$db = tie %hash, ...
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter/int32.pm b/Master/tlpkg/tlperl/lib/DBM_Filter/int32.pm
index d8fa5424af4..bedcebad660 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter/int32.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter/int32.pm
@@ -3,7 +3,7 @@ package DBM_Filter::int32 ;
use strict;
use warnings;
-our $VERSION = '0.02';
+our $VERSION = '0.03';
# todo get Filter to figure endian.
@@ -29,7 +29,7 @@ DBM_Filter::int32 - filter for DBM_Filter
=head1 SYNOPSIS
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, or ODBM_File
use DBM_Filter ;
$db = tie %hash, ...
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter/null.pm b/Master/tlpkg/tlperl/lib/DBM_Filter/null.pm
index ffa10e92f21..d06ffac8f66 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter/null.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter/null.pm
@@ -3,7 +3,7 @@ package DBM_Filter::null ;
use strict;
use warnings;
-our $VERSION = '0.02';
+our $VERSION = '0.03';
sub Store
{
@@ -27,7 +27,7 @@ DBM_Filter::null - filter for DBM_Filter
=head1 SYNOPSIS
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, or ODBM_File
use DBM_Filter ;
$db = tie %hash, ...
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter/utf8.pm b/Master/tlpkg/tlperl/lib/DBM_Filter/utf8.pm
index 677e66156b6..56efd12f082 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter/utf8.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter/utf8.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
use Carp;
-our $VERSION = '0.02';
+our $VERSION = '0.03';
BEGIN
{
@@ -28,8 +28,8 @@ DBM_Filter::utf8 - filter for DBM_Filter
=head1 SYNOPSIS
- use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File
- use DBM_Filter ;
+ use SDBM_File; # or DB_File, GDBM_File, NDBM_File, or ODBM_File
+ use DBM_Filter;
$db = tie %hash, ...
$db->Filter_Push('utf8');
diff --git a/Master/tlpkg/tlperl/lib/Data/Dumper.pm b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
index a04024e7432..a084712bde9 100644
--- a/Master/tlpkg/tlperl/lib/Data/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
@@ -10,7 +10,7 @@
package Data::Dumper;
BEGIN {
- $VERSION = '2.145'; # Don't forget to set version and release
+ $VERSION = '2.151_01'; # Don't forget to set version and release
} # date in POD below!
#$| = 1;
@@ -56,6 +56,7 @@ $Useperl = 0 unless defined $Useperl;
$Sortkeys = 0 unless defined $Sortkeys;
$Deparse = 0 unless defined $Deparse;
$Sparseseen = 0 unless defined $Sparseseen;
+$Maxrecurse = 1000 unless defined $Maxrecurse;
#
# expects an arrayref of values to be dumped.
@@ -87,11 +88,12 @@ sub new {
terse => $Terse, # avoid name output (where feasible)
freezer => $Freezer, # name of Freezer method for objects
toaster => $Toaster, # name of method to revive objects
- deepcopy => $Deepcopy, # dont cross-ref, except to stop recursion
+ deepcopy => $Deepcopy, # do not cross-ref, except to stop recursion
quotekeys => $Quotekeys, # quote hash keys
'bless' => $Bless, # keyword to use for "bless"
# expdepth => $Expdepth, # cutoff depth for explicit dumping
maxdepth => $Maxdepth, # depth beyond which we give up
+ maxrecurse => $Maxrecurse, # depth beyond which we abort
useperl => $Useperl, # use the pure Perl implementation
sortkeys => $Sortkeys, # flag or filter for sorting hash keys
deparse => $Deparse, # use B::Deparse for coderefs
@@ -221,7 +223,6 @@ sub DESTROY {}
sub Dump {
return &Dumpxs
unless $Data::Dumper::Useperl || (ref($_[0]) && $_[0]->{useperl}) ||
- $Data::Dumper::Useqq || (ref($_[0]) && $_[0]->{useqq}) ||
$Data::Dumper::Deparse || (ref($_[0]) && $_[0]->{deparse});
return &Dumpperl;
}
@@ -300,7 +301,7 @@ sub _dump {
$id = format_refaddr($val);
# Note: By this point $name is always defined and of non-zero length.
- # Keep a tab on it so that we dont fall into recursive pit.
+ # Keep a tab on it so that we do not fall into recursive pit.
if (exists $s->{seen}{$id}) {
if ($s->{purity} and $s->{level} > 0) {
$out = ($realtype eq 'HASH') ? '{}' :
@@ -351,6 +352,12 @@ sub _dump {
return qq['$val'];
}
+ # avoid recursing infinitely [perl #122111]
+ if ($s->{maxrecurse} > 0
+ and $s->{level} >= $s->{maxrecurse}) {
+ die "Recursion limit of $s->{maxrecurse} exceeded";
+ }
+
# we have a blessed ref
my ($blesspad);
if ($realpack and !$no_bless) {
@@ -364,25 +371,15 @@ sub _dump {
if ($is_regex) {
my $pat;
- # This really sucks, re:regexp_pattern is in ext/re/re.xs and not in
- # universal.c, and even worse we cant just require that re to be loaded
- # we *have* to use() it.
- # We should probably move it to universal.c for 5.10.1 and fix this.
- # Currently we only use re::regexp_pattern when the re is blessed into another
- # package. This has the disadvantage of meaning that a DD dump won't round trip
- # as the pattern will be repeatedly wrapped with the same modifiers.
- # This is an aesthetic issue so we will leave it for now, but we could use
- # regexp_pattern() in list context to get the modifiers separately.
- # But since this means loading the full debugging engine in process we wont
- # bother unless its necessary for accuracy.
- if (($realpack ne 'Regexp') && defined(*re::regexp_pattern{CODE})) {
- $pat = re::regexp_pattern($val);
+ my $flags = "";
+ if (defined(*re::regexp_pattern{CODE})) {
+ ($pat, $flags) = re::regexp_pattern($val);
}
else {
$pat = "$val";
}
$pat =~ s <(\\.)|/> { $1 || '\\/' }ge;
- $out .= "qr/$pat/";
+ $out .= "qr/$pat/$flags";
}
elsif ($realtype eq 'SCALAR' || $realtype eq 'REF'
|| $realtype eq 'VSTRING') {
@@ -451,8 +448,15 @@ sub _dump {
() )
{
my $nk = $s->_dump($k, "");
- $nk = $1
- if !$s->{quotekeys} and $nk =~ /^[\"\']([A-Za-z_]\w*)[\"\']$/;
+
+ # _dump doesn't quote numbers of this form
+ if ($s->{quotekeys} && $nk =~ /^(?:0|-?[1-9][0-9]{0,8})\z/) {
+ $nk = $s->{useqq} ? qq("$nk") : qq('$nk');
+ }
+ elsif (!$s->{quotekeys} and $nk =~ /^[\"\']([A-Za-z_]\w*)[\"\']$/) {
+ $nk = $1
+ }
+
$sname = $mname . '{' . $nk . '}';
$out .= $pad . $ipad . $nk . $pair;
@@ -557,7 +561,8 @@ sub _dump {
and ref $ref eq 'VSTRING' || eval{Scalar::Util::isvstring($val)}) {
$out .= sprintf "%vd", $val;
}
- elsif ($val =~ /^(?:0|-?[1-9]\d{0,8})\z/) { # safe decimal number
+ # \d here would treat "1\x{660}" as a safe decimal number
+ elsif ($val =~ /^(?:0|-?[1-9][0-9]{0,8})\z/) { # safe decimal number
$out .= $val;
}
else { # string
@@ -683,6 +688,11 @@ sub Maxdepth {
defined($v) ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
}
+sub Maxrecurse {
+ my($s, $v) = @_;
+ defined($v) ? (($s->{'maxrecurse'} = $v), return $s) : $s->{'maxrecurse'};
+}
+
sub Useperl {
my($s, $v) = @_;
defined($v) ? (($s->{'useperl'} = $v), return $s) : $s->{'useperl'};
@@ -719,7 +729,7 @@ sub qquote {
local($_) = shift;
s/([\\\"\@\$])/\\$1/g;
my $bytes; { use bytes; $bytes = length }
- s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length;
+ s/([[:^ascii:]])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length;
return qq("$_") unless
/[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~]/; # fast exit
@@ -927,9 +937,9 @@ called with any other type of argument, dies.
Queries or replaces the internal array of user supplied names for the values
that will be dumped. When called without arguments, returns the names. When
called with an array of replacement names, returns the object itself. If the
-number of replacment names exceeds the number of values to be named, the
+number of replacement names exceeds the number of values to be named, the
excess names will not be used. If the number of replacement names falls short
-of the number of values to be named, the list of replacment names will be
+of the number of values to be named, the list of replacement names will be
exhausted and remaining values will not be renamed. When
called with any other type of argument, dies.
@@ -1108,6 +1118,16 @@ no maximum depth.
=item *
+$Data::Dumper::Maxrecurse I<or> $I<OBJ>->Maxrecurse(I<[NEWVAL]>)
+
+Can be set to a positive integer that specifies the depth beyond which
+recursion into a structure will throw an exception. This is intended
+as a security measure to prevent perl running out of stack space when
+dumping an excessively deep structure. Can be set to 0 to remove the
+limit. Default is 1000.
+
+=item *
+
$Data::Dumper::Useperl I<or> $I<OBJ>->Useperl(I<[NEWVAL]>)
Can be set to a boolean value which controls whether the pure Perl
@@ -1395,13 +1415,13 @@ be to use the C<Sortkeys> filter of Data::Dumper.
Gurusamy Sarathy gsar@activestate.com
-Copyright (c) 1996-98 Gurusamy Sarathy. All rights reserved.
+Copyright (c) 1996-2014 Gurusamy Sarathy. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=head1 VERSION
-Version 2.145 (March 15 2013))
+Version 2.151_01 (January 8 2015)
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Date/Format.pm b/Master/tlpkg/tlperl/lib/Date/Format.pm
new file mode 100644
index 00000000000..3a1ea90ef1f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Format.pm
@@ -0,0 +1,403 @@
+# Copyright (c) 1995-2009 Graham Barr. This program is free
+# software; you can redistribute it and/or modify it under the same terms
+# as Perl itself.
+
+package Date::Format;
+
+use strict;
+use vars qw(@EXPORT @ISA $VERSION);
+require Exporter;
+
+$VERSION = "2.24";
+@ISA = qw(Exporter);
+@EXPORT = qw(time2str strftime ctime asctime);
+
+sub time2str ($;$$)
+{
+ Date::Format::Generic->time2str(@_);
+}
+
+sub strftime ($\@;$)
+{
+ Date::Format::Generic->strftime(@_);
+}
+
+sub ctime ($;$)
+{
+ my($t,$tz) = @_;
+ Date::Format::Generic->time2str("%a %b %e %T %Y\n", $t, $tz);
+}
+
+sub asctime (\@;$)
+{
+ my($t,$tz) = @_;
+ Date::Format::Generic->strftime("%a %b %e %T %Y\n", $t, $tz);
+}
+
+##
+##
+##
+
+package Date::Format::Generic;
+
+use vars qw($epoch $tzname);
+use Time::Zone;
+use Time::Local;
+
+sub ctime
+{
+ my($me,$t,$tz) = @_;
+ $me->time2str("%a %b %e %T %Y\n", $t, $tz);
+}
+
+sub asctime
+{
+ my($me,$t,$tz) = @_;
+ $me->strftime("%a %b %e %T %Y\n", $t, $tz);
+}
+
+sub _subs
+{
+ my $fn;
+ $_[1] =~ s/
+ %(O?[%a-zA-Z])
+ /
+ ($_[0]->can("format_$1") || sub { $1 })->($_[0]);
+ /sgeox;
+
+ $_[1];
+}
+
+sub strftime
+{
+ my($pkg,$fmt,$time);
+
+ ($pkg,$fmt,$time,$tzname) = @_;
+
+ my $me = ref($pkg) ? $pkg : bless [];
+
+ if(defined $tzname)
+ {
+ $tzname = uc $tzname;
+
+ $tzname = sprintf("%+05d",$tzname)
+ unless($tzname =~ /\D/);
+
+ $epoch = timegm(@{$time}[0..5]);
+
+ @$me = gmtime($epoch + tz_offset($tzname) - tz_offset());
+ }
+ else
+ {
+ @$me = @$time;
+ undef $epoch;
+ }
+
+ _subs($me,$fmt);
+}
+
+sub time2str
+{
+ my($pkg,$fmt,$time);
+
+ ($pkg,$fmt,$time,$tzname) = @_;
+
+ my $me = ref($pkg) ? $pkg : bless [], $pkg;
+
+ $epoch = $time;
+
+ if(defined $tzname)
+ {
+ $tzname = uc $tzname;
+
+ $tzname = sprintf("%+05d",$tzname)
+ unless($tzname =~ /\D/);
+
+ $time += tz_offset($tzname);
+ @$me = gmtime($time);
+ }
+ else
+ {
+ @$me = localtime($time);
+ }
+ $me->[9] = $time;
+ _subs($me,$fmt);
+}
+
+my(@DoW,@MoY,@DoWs,@MoYs,@AMPM,%format,@Dsuf);
+
+@DoW = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
+
+@MoY = qw(January February March April May June
+ July August September October November December);
+
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+
+@AMPM = qw(AM PM);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+%format = ('x' => "%m/%d/%y",
+ 'C' => "%a %b %e %T %Z %Y",
+ 'X' => "%H:%M:%S",
+ );
+
+my @locale;
+my $locale = "/usr/share/lib/locale/LC_TIME/default";
+local *LOCALE;
+
+if(open(LOCALE,"$locale"))
+ {
+ chop(@locale = <LOCALE>);
+ close(LOCALE);
+
+ @MoYs = @locale[0 .. 11];
+ @MoY = @locale[12 .. 23];
+ @DoWs = @locale[24 .. 30];
+ @DoW = @locale[31 .. 37];
+ @format{"X","x","C"} = @locale[38 .. 40];
+ @AMPM = @locale[41 .. 42];
+ }
+
+sub wkyr {
+ my($wstart, $wday, $yday) = @_;
+ $wday = ($wday + 7 - $wstart) % 7;
+ return int(($yday - $wday + 13) / 7 - 1);
+}
+
+##
+## these 6 formatting routins need to be *copied* into the language
+## specific packages
+##
+
+my @roman = ('',qw(I II III IV V VI VII VIII IX));
+sub roman {
+ my $n = shift;
+
+ $n =~ s/(\d)$//;
+ my $r = $roman[ $1 ];
+
+ if($n =~ s/(\d)$//) {
+ (my $t = $roman[$1]) =~ tr/IVX/XLC/;
+ $r = $t . $r;
+ }
+ if($n =~ s/(\d)$//) {
+ (my $t = $roman[$1]) =~ tr/IVX/CDM/;
+ $r = $t . $r;
+ }
+ if($n =~ s/(\d)$//) {
+ (my $t = $roman[$1]) =~ tr/IVX/M../;
+ $r = $t . $r;
+ }
+ $r;
+}
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_P { lc($_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0]) }
+
+sub format_d { sprintf("%02d",$_[0]->[3]) }
+sub format_e { sprintf("%2d",$_[0]->[3]) }
+sub format_H { sprintf("%02d",$_[0]->[2]) }
+sub format_I { sprintf("%02d",$_[0]->[2] % 12 || 12)}
+sub format_j { sprintf("%03d",$_[0]->[7] + 1) }
+sub format_k { sprintf("%2d",$_[0]->[2]) }
+sub format_l { sprintf("%2d",$_[0]->[2] % 12 || 12)}
+sub format_L { $_[0]->[4] + 1 }
+sub format_m { sprintf("%02d",$_[0]->[4] + 1) }
+sub format_M { sprintf("%02d",$_[0]->[1]) }
+sub format_q { sprintf("%01d",int($_[0]->[4] / 3) + 1) }
+sub format_s {
+ $epoch = timelocal(@{$_[0]}[0..5])
+ unless defined $epoch;
+ sprintf("%d",$epoch)
+}
+sub format_S { sprintf("%02d",$_[0]->[0]) }
+sub format_U { wkyr(0, $_[0]->[6], $_[0]->[7]) }
+sub format_w { $_[0]->[6] }
+sub format_W { wkyr(1, $_[0]->[6], $_[0]->[7]) }
+sub format_y { sprintf("%02d",$_[0]->[5] % 100) }
+sub format_Y { sprintf("%04d",$_[0]->[5] + 1900) }
+
+sub format_Z {
+ my $o = tz_local_offset(timelocal(@{$_[0]}[0..5]));
+ defined $tzname ? $tzname : uc tz_name($o, $_[0]->[8]);
+}
+
+sub format_z {
+ my $t = timelocal(@{$_[0]}[0..5]);
+ my $o = defined $tzname ? tz_offset($tzname, $t) : tz_offset(undef,$t);
+ sprintf("%+03d%02d", int($o / 3600), int(abs($o) % 3600) / 60);
+}
+
+sub format_c { &format_x . " " . &format_X }
+sub format_D { &format_m . "/" . &format_d . "/" . &format_y }
+sub format_r { &format_I . ":" . &format_M . ":" . &format_S . " " . &format_p }
+sub format_R { &format_H . ":" . &format_M }
+sub format_T { &format_H . ":" . &format_M . ":" . &format_S }
+sub format_t { "\t" }
+sub format_n { "\n" }
+sub format_o { sprintf("%2d%s",$_[0]->[3],$Dsuf[$_[0]->[3]]) }
+sub format_x { my $f = $format{'x'}; _subs($_[0],$f); }
+sub format_X { my $f = $format{'X'}; _subs($_[0],$f); }
+sub format_C { my $f = $format{'C'}; _subs($_[0],$f); }
+
+sub format_Od { roman(format_d(@_)) }
+sub format_Oe { roman(format_e(@_)) }
+sub format_OH { roman(format_H(@_)) }
+sub format_OI { roman(format_I(@_)) }
+sub format_Oj { roman(format_j(@_)) }
+sub format_Ok { roman(format_k(@_)) }
+sub format_Ol { roman(format_l(@_)) }
+sub format_Om { roman(format_m(@_)) }
+sub format_OM { roman(format_M(@_)) }
+sub format_Oq { roman(format_q(@_)) }
+sub format_Oy { roman(format_y(@_)) }
+sub format_OY { roman(format_Y(@_)) }
+
+sub format_G { int(($_[0]->[9] - 315993600) / 604800) }
+
+1;
+__END__
+
+=head1 NAME
+
+Date::Format - Date formating subroutines
+
+=head1 SYNOPSIS
+
+ use Date::Format;
+
+ @lt = localtime(time);
+
+ print time2str($template, time);
+ print strftime($template, @lt);
+
+ print time2str($template, time, $zone);
+ print strftime($template, @lt, $zone);
+
+ print ctime(time);
+ print asctime(@lt);
+
+ print ctime(time, $zone);
+ print asctime(@lt, $zone);
+
+=head1 DESCRIPTION
+
+This module provides routines to format dates into ASCII strings. They
+correspond to the C library routines C<strftime> and C<ctime>.
+
+=over 4
+
+=item time2str(TEMPLATE, TIME [, ZONE])
+
+C<time2str> converts C<TIME> into an ASCII string using the conversion
+specification given in C<TEMPLATE>. C<ZONE> if given specifies the zone
+which the output is required to be in, C<ZONE> defaults to your current zone.
+
+
+=item strftime(TEMPLATE, TIME [, ZONE])
+
+C<strftime> is similar to C<time2str> with the exception that the time is
+passed as an array, such as the array returned by C<localtime>.
+
+=item ctime(TIME [, ZONE])
+
+C<ctime> calls C<time2str> with the given arguments using the
+conversion specification C<"%a %b %e %T %Y\n">
+
+=item asctime(TIME [, ZONE])
+
+C<asctime> calls C<time2str> with the given arguments using the
+conversion specification C<"%a %b %e %T %Y\n">
+
+=back
+
+=head1 MULTI-LANGUAGE SUPPORT
+
+Date::Format is capable of formating into several languages by creating
+a language specific object and calling methods, see L<Date::Language>
+
+ my $lang = Date::Language->new('German');
+ $lang->time2str("%a %b %e %T %Y\n", time);
+
+I am open to suggestions on this.
+
+=head1 CONVERSION SPECIFICATION
+
+Each conversion specification is replaced by appropriate
+characters as described in the following list. The
+appropriate characters are determined by the LC_TIME
+category of the program's locale.
+
+ %% PERCENT
+ %a day of the week abbr
+ %A day of the week
+ %b month abbr
+ %B month
+ %c MM/DD/YY HH:MM:SS
+ %C ctime format: Sat Nov 19 21:05:57 1994
+ %d numeric day of the month, with leading zeros (eg 01..31)
+ %e like %d, but a leading zero is replaced by a space (eg 1..32)
+ %D MM/DD/YY
+ %G GPS week number (weeks since January 6, 1980)
+ %h month abbr
+ %H hour, 24 hour clock, leading 0's)
+ %I hour, 12 hour clock, leading 0's)
+ %j day of the year
+ %k hour
+ %l hour, 12 hour clock
+ %L month number, starting with 1
+ %m month number, starting with 01
+ %M minute, leading 0's
+ %n NEWLINE
+ %o ornate day of month -- "1st", "2nd", "25th", etc.
+ %p AM or PM
+ %P am or pm (Yes %p and %P are backwards :)
+ %q Quarter number, starting with 1
+ %r time format: 09:05:57 PM
+ %R time format: 21:05
+ %s seconds since the Epoch, UCT
+ %S seconds, leading 0's
+ %t TAB
+ %T time format: 21:05:57
+ %U week number, Sunday as first day of week
+ %w day of the week, numerically, Sunday == 0
+ %W week number, Monday as first day of week
+ %x date format: 11/19/94
+ %X time format: 21:05:57
+ %y year (2 digits)
+ %Y year (4 digits)
+ %Z timezone in ascii. eg: PST
+ %z timezone in format -/+0000
+
+C<%d>, C<%e>, C<%H>, C<%I>, C<%j>, C<%k>, C<%l>, C<%m>, C<%M>, C<%q>,
+C<%y> and C<%Y> can be output in Roman numerals by prefixing the letter
+with C<O>, e.g. C<%OY> will output the year as roman numerals.
+
+=head1 LIMITATION
+
+The functions in this module are limited to the time range that can be
+represented by the time_t data type, i.e. 1901-12-13 20:45:53 GMT to
+2038-01-19 03:14:07 GMT.
+
+=head1 AUTHOR
+
+Graham Barr <gbarr@pobox.com>
+
+=head1 COPYRIGHT
+
+Copyright (c) 1995-2009 Graham Barr. 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/Date/Language.pm b/Master/tlpkg/tlperl/lib/Date/Language.pm
new file mode 100644
index 00000000000..02a05e7186b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language.pm
@@ -0,0 +1,144 @@
+
+package Date::Language;
+
+use strict;
+use Time::Local;
+use Carp;
+use vars qw($VERSION @ISA);
+require Date::Format;
+
+$VERSION = "1.10";
+@ISA = qw(Date::Format::Generic);
+
+sub new
+{
+ my $self = shift;
+ my $type = shift || $self;
+
+ $type =~ s/^(\w+)$/Date::Language::$1/;
+
+ croak "Bad language"
+ unless $type =~ /^[\w:]+$/;
+
+ eval "require $type"
+ or croak $@;
+
+ bless [], $type;
+}
+
+# Stop AUTOLOAD being called ;-)
+sub DESTROY {}
+
+sub AUTOLOAD
+{
+ use vars qw($AUTOLOAD);
+
+ if($AUTOLOAD =~ /::strptime\Z/o)
+ {
+ my $self = $_[0];
+ my $type = ref($self) || $self;
+ require Date::Parse;
+
+ no strict 'refs';
+ *{"${type}::strptime"} = Date::Parse::gen_parser(
+ \%{"${type}::DoW"},
+ \%{"${type}::MoY"},
+ \@{"${type}::Dsuf"},
+ 1);
+
+ goto &{"${type}::strptime"};
+ }
+
+ croak "Undefined method &$AUTOLOAD called";
+}
+
+sub str2time
+{
+ my $me = shift;
+ my @t = $me->strptime(@_);
+
+ return undef
+ unless @t;
+
+ my($ss,$mm,$hh,$day,$month,$year,$zone) = @t;
+ my @lt = localtime(time);
+
+ $hh ||= 0;
+ $mm ||= 0;
+ $ss ||= 0;
+
+ $month = $lt[4]
+ unless(defined $month);
+
+ $day = $lt[3]
+ unless(defined $day);
+
+ $year = ($month > $lt[4]) ? ($lt[5] - 1) : $lt[5]
+ unless(defined $year);
+
+ return defined $zone ? timegm($ss,$mm,$hh,$day,$month,$year) - $zone
+ : timelocal($ss,$mm,$hh,$day,$month,$year);
+}
+
+1;
+
+__END__
+
+
+=head1 NAME
+
+Date::Language - Language specific date formating and parsing
+
+=head1 SYNOPSIS
+
+ use Date::Language;
+
+ my $lang = Date::Language->new('German');
+ $lang->time2str("%a %b %e %T %Y\n", time);
+
+=head1 DESCRIPTION
+
+L<Date::Language> provides objects to parse and format dates for specific languages. Available languages are
+
+ Afar French Russian_cp1251
+ Amharic Gedeo Russian_koi8r
+ Austrian German Sidama
+ Brazilian Greek Somali
+ Chinese Hungarian Spanish
+ Chinese_GB Icelandic Swedish
+ Czech Italian Tigrinya
+ Danish Norwegian TigrinyaEritrean
+ Dutch Oromo TigrinyaEthiopian
+ English Romanian Turkish
+ Finnish Russian Bulgarian
+
+=head1 METHODS
+
+=over
+
+=item time2str
+
+See L<Date::Format/time2str>
+
+=item strftime
+
+See L<Date::Format/strftime>
+
+=item ctime
+
+See L<Date::Format/ctime>
+
+=item asctime
+
+See L<Date::Format/asctime>
+
+=item str2time
+
+See L<Date::Parse/str2time>
+
+=item strptime
+
+See L<Date::Parse/strptime>
+
+=back
+
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Afar.pm b/Master/tlpkg/tlperl/lib/Date/Language/Afar.pm
new file mode 100644
index 00000000000..f67cf37685c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Afar.pm
@@ -0,0 +1,49 @@
+##
+## Afar tables
+##
+
+package Date::Language::Afar;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "0.99";
+
+@DoW = qw(Acaada Etleeni Talaata Arbaqa Kamiisi Gumqata Sabti);
+@MoY = (
+"Qunxa Garablu",
+"Kudo",
+"Ciggilta Kudo",
+"Agda Baxis",
+"Caxah Alsa",
+"Qasa Dirri",
+"Qado Dirri",
+"Liiqen",
+"Waysu",
+"Diteli",
+"Ximoli",
+"Kaxxa Garablu"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(saaku carra);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Amharic.pm b/Master/tlpkg/tlperl/lib/Date/Language/Amharic.pm
new file mode 100644
index 00000000000..a79984ecffa
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Amharic.pm
@@ -0,0 +1,87 @@
+##
+## Amharic tables
+##
+
+package Date::Language::Amharic;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+if ( $] >= 5.006 ) {
+@DoW = (
+"\x{12a5}\x{1211}\x{12f5}",
+"\x{1230}\x{129e}",
+"\x{121b}\x{12ad}\x{1230}\x{129e}",
+"\x{1228}\x{1261}\x{12d5}",
+"\x{1210}\x{1219}\x{1235}",
+"\x{12d3}\x{122d}\x{1265}",
+"\x{1245}\x{12f3}\x{121c}"
+);
+@MoY = (
+"\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
+"\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
+"\x{121b}\x{122d}\x{127d}",
+"\x{12a4}\x{1355}\x{1228}\x{120d}",
+"\x{121c}\x{12ed}",
+"\x{1301}\x{1295}",
+"\x{1301}\x{120b}\x{12ed}",
+"\x{12a6}\x{1308}\x{1235}\x{1275}",
+"\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
+"\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
+"\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
+"\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = ( "\x{1320}\x{12cb}\x{1275}", "\x{12a8}\x{1230}\x{12d3}\x{1275}" );
+
+@Dsuf = ("\x{129b}" x 31);
+}
+else {
+@DoW = (
+"እሑድ",
+"ሰኞ",
+"ማክሰኞ",
+"ረቡዕ",
+"áˆáˆ™áˆµ",
+"ዓርብ",
+"ቅዳሜ"
+);
+@MoY = (
+"ጃንዩወሪ",
+"áŒá‰¥áˆ©á‹ˆáˆª",
+"ማርች",
+"ኤá•áˆ¨áˆ",
+"ሜይ",
+"áŒáŠ•",
+"áŒáˆ‹á‹­",
+"ኦገስት",
+"ሴá•á‰´áˆá‰ áˆ­",
+"ኦክተá‹á‰ áˆ­",
+"ኖቬáˆá‰ áˆ­",
+"ዲሴáˆá‰ áˆ­"
+);
+@DoWs = map { substr($_,0,9) } @DoW;
+@MoYs = map { substr($_,0,9) } @MoY;
+@AMPM = ( "ጠዋት", "ከሰዓት" );
+
+@Dsuf = ("ኛ" x 31);
+}
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Austrian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Austrian.pm
new file mode 100644
index 00000000000..8ff398bd106
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Austrian.pm
@@ -0,0 +1,36 @@
+##
+## Austrian tables
+##
+
+package Date::Language::Austrian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(Jänner Feber März April Mai Juni
+ Juli August September Oktober November Dezember);
+@MoYs = qw(Jän Feb Mär Apr Mai Jun Jul Aug Sep Oct Nov Dez);
+@DoW = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
+@DoWs = qw(Son Mon Die Mit Don Fre Sam);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Brazilian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Brazilian.pm
new file mode 100644
index 00000000000..fa4d15fff91
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Brazilian.pm
@@ -0,0 +1,35 @@
+##
+## Brazilian tables, contributed by Christian Tosta (tosta@cce.ufmg.br)
+##
+
+package Date::Language::Brazilian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@DoW = qw(Domingo Segunda Terça Quarta Quinta Sexta Sábado);
+@MoY = qw(Janeiro Fevereiro Março Abril Maio Junho
+ Julho Agosto Setembro Outubro Novembro Dezembro);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = (qw(mo ro do ro to to to mo vo no)) x 3;
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Bulgarian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Bulgarian.pm
new file mode 100644
index 00000000000..cf3d127486e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Bulgarian.pm
@@ -0,0 +1,92 @@
+##
+## Bulgarian tables contributed by Krasimir Berov
+##
+
+package Date::Language::Bulgarian;
+use strict;
+use warnings;
+use utf8;
+use base qw(Date::Language);
+our (@DoW, @DoWs, @MoY, @MoYs, @AMPM, @Dsuf, %MoY, %DoW, $VERSION);
+$VERSION = "1.01";
+
+@DoW = qw(Ð½ÐµÐ´ÐµÐ»Ñ Ð¿Ð¾Ð½ÐµÐ´ÐµÐ»Ð½Ð¸Ðº вторник ÑÑ€Ñда четвъртък петък Ñъбота);
+@MoY = qw(Ñнуари февруари март април май юни
+ юли авгуÑÑ‚ Ñептември октомври ноември декември);
+@DoWs = qw(нд пн вт ÑÑ€ чт пт Ñб);
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = (qw(ти ви ри ти ти ти ти ми ми ти)) x 3;
+@Dsuf[11,12,13] = qw(ти ти ти);
+@Dsuf[30,31] = qw(ти ви);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { ($_[0]->[3]<10?' ':'').$_[0]->[3].$Dsuf[$_[0]->[3]] }
+
+1;
+
+__END__
+
+=encoding utf8
+
+=head1 NAME
+
+Date::Language::Bulgarian - localization for Date::Format
+
+=head1 DESCRIPTION
+
+This is Bulgarian localization for Date::Format.
+It is important to note that this module source code is in utf8.
+All strings which it outputs are in utf8, so it is safe to use it
+currently only with English. You are left alone to try and convert
+the output when using different Date::Language::* in the same application.
+This should be addresed in the future.
+
+=head1 SYNOPSIS
+
+ use strict;
+ use warnings;
+ use Date::Language;
+ local $\=$/;
+ my $template ='%a %b %e %T %Y (%Y-%m-%d %H:%M:%S)';
+ my $time=1290883821; #or just use time();
+ my @lt = localtime($time);
+ my %languages = qw(English GMT German EEST Bulgarian EET);
+ binmode(select,':utf8');
+
+ foreach my $l(keys %languages){
+ my $lang = Date::Language->new($l);
+ my $zone = $languages{$l};
+ print $/. "$l $zone";
+ print $lang->time2str($template, $time);
+ print $lang->time2str($template, $time, $zone);
+
+ print $lang->strftime($template, \@lt);
+ }
+
+=head1 AUTHOR
+
+Krasimir Berov (berov@cpan.org)
+
+=head1 COPYRIGHT
+
+Copyright (c) 2010 Krasimir Berov. 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/Date/Language/Chinese.pm b/Master/tlpkg/tlperl/lib/Date/Language/Chinese.pm
new file mode 100644
index 00000000000..abfb3c05728
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Chinese.pm
@@ -0,0 +1,36 @@
+##
+## English tables
+##
+
+package Date::Language::Chinese;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+@DoW = qw(星期日 星期一 星期二 星期三 星期四 星期五 星期六);
+@MoY = qw(一月 二月 三月 四月 五月 六月
+ 七月 八月 ä¹æœˆ å月 å一月 å二月);
+@DoWs = map { $_ } @DoW;
+@MoYs = map { $_ } @MoY;
+@AMPM = qw(ä¸Šåˆ ä¸‹åˆ);
+
+@Dsuf = (qw(æ—¥ æ—¥ æ—¥ æ—¥ æ—¥ æ—¥ æ—¥ æ—¥ æ—¥ æ—¥)) x 3;
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+sub format_o { sprintf("%2d%s",$_[0]->[3],"æ—¥") }
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Chinese_GB.pm b/Master/tlpkg/tlperl/lib/Date/Language/Chinese_GB.pm
new file mode 100644
index 00000000000..7be05552266
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Chinese_GB.pm
@@ -0,0 +1,36 @@
+##
+## English tables
+##
+
+package Date::Language::Chinese_GB;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@DoW = qw(ÐÇÆÚÈÕ ÐÇÆÚÒ» ÐÇÆÚ¶þ ÐÇÆÚÈý ÐÇÆÚËÄ ÐÇÆÚÎå ÐÇÆÚÁù);
+@MoY = qw(Ò»ÔÂ ¶þÔÂ ÈýÔÂ ËÄÔÂ ÎåÔÂ ÁùÔÂ
+ ÆßÔ °ËÔ ¾ÅÔ ʮÔ ʮһÔ ʮ¶þÔÂ);
+@DoWs = map { $_ } @DoW;
+@MoYs = map { $_ } @MoY;
+@AMPM = qw(ÉÏÎç ÏÂÎç);
+
+@Dsuf = (qw(ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ ÈÕ)) x 3;
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+sub format_o { sprintf("%2d%s",$_[0]->[3],"ÈÕ") }
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Czech.pm b/Master/tlpkg/tlperl/lib/Date/Language/Czech.pm
new file mode 100644
index 00000000000..756f5c552fc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Czech.pm
@@ -0,0 +1,58 @@
+##
+## Czech tables
+##
+## Contributed by Honza Pazdziora
+
+package Date::Language::Czech;
+
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @MoY2 @AMPM %MoY %DoW $VERSION);
+@ISA = qw(Date::Language Date::Format::Generic);
+$VERSION = "1.01";
+
+@MoY = qw(leden únor bøezen duben kvìten èerven èervenec srpen záøí
+ øíjen listopad prosinec);
+@MoYs = qw(led únor bøe dub kvì èvn èec srp záøí øíj lis pro);
+@MoY2 = @MoY;
+for (@MoY2)
+ { s!en$!na! or s!ec$!ce! or s!ad$!adu! or s!or$!ora!; }
+
+@DoW = qw(nedìle pondìlí úterý støeda ètvrtek pátek sobota);
+@DoWs = qw(Ne Po Út St Èt Pá So);
+
+@AMPM = qw(dop. odp.);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+sub format_d { $_[0]->[3] }
+sub format_m { $_[0]->[4] + 1 }
+sub format_o { $_[0]->[3] . '.' }
+
+sub format_Q { $MoY2[$_[0]->[4]] }
+
+sub time2str {
+ my $ref = shift;
+ my @a = @_;
+ $a[0] =~ s/(%[do]\.?\s?)%B/$1%Q/;
+ $ref->SUPER::time2str(@a);
+ }
+
+sub strftime {
+ my $ref = shift;
+ my @a = @_;
+ $a[0] =~ s/(%[do]\.?\s?)%B/$1%Q/;
+ $ref->SUPER::time2str(@a);
+ }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Danish.pm b/Master/tlpkg/tlperl/lib/Date/Language/Danish.pm
new file mode 100644
index 00000000000..c43d08528ef
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Danish.pm
@@ -0,0 +1,36 @@
+##
+## Danish tables
+##
+
+package Date::Language::Danish;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(Januar Februar Marts April Maj Juni
+ Juli August September Oktober November December);
+@MoYs = qw(Jan Feb Mar Apr Maj Jun Jul Aug Sep Okt Nov Dec);
+@DoW = qw(Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag Søndag);
+@DoWs = qw(Søn Man Tir Ons Tor Fre Lør Søn);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Dutch.pm b/Master/tlpkg/tlperl/lib/Date/Language/Dutch.pm
new file mode 100644
index 00000000000..219758b4b29
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Dutch.pm
@@ -0,0 +1,40 @@
+##
+## Dutch tables
+## Contributed by Johannes la Poutre <jlpoutre@corp.nl.home.com>
+##
+
+package Date::Language::Dutch;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.02";
+
+@MoY = qw(januari februari maart april mei juni juli
+ augustus september oktober november december);
+@MoYs = map(substr($_, 0, 3), @MoY);
+$MoYs[2] = 'mrt'; # mrt is more common (Frank Maas)
+@DoW = map($_ . "dag", qw(zon maan dins woens donder vrij zater));
+@DoWs = map(substr($_, 0, 2), @DoW);
+
+# these aren't normally used...
+@AMPM = qw(VM NM);
+@Dsuf = ('e') x 31;
+
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2de",$_[0]->[3]) }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/English.pm b/Master/tlpkg/tlperl/lib/Date/Language/English.pm
new file mode 100644
index 00000000000..638cb3c2a21
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/English.pm
@@ -0,0 +1,37 @@
+##
+## English tables
+##
+
+package Date::Language::English;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@DoW = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
+@MoY = qw(January February March April May June
+ July August September October November December);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Finnish.pm b/Master/tlpkg/tlperl/lib/Date/Language/Finnish.pm
new file mode 100644
index 00000000000..415b50c73df
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Finnish.pm
@@ -0,0 +1,45 @@
+##
+## Finnish tables
+## Contributed by Matthew Musgrove <muskrat@mindless.com>
+## Corrected by roke
+##
+
+package Date::Language::Finnish;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+# In Finnish, the names of the months and days are only capitalized at the beginning of sentences.
+@MoY = map($_ . "kuu", qw(tammi helmi maalis huhti touko kesä heinä elo syys loka marras joulu));
+@DoW = qw(sunnuntai maanantai tiistai keskiviikko torstai perjantai lauantai);
+
+# it is not customary to use abbreviated names of months or days
+# per Graham's suggestion:
+@MoYs = @MoY;
+@DoWs = @DoW;
+
+# the short form of ordinals
+@Dsuf = ('.') x 31;
+
+# doesn't look like this is normally used...
+@AMPM = qw(ap ip);
+
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2de",$_[0]->[3]) }
+
+1; \ No newline at end of file
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/French.pm b/Master/tlpkg/tlperl/lib/Date/Language/French.pm
new file mode 100644
index 00000000000..91b414c2eb4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/French.pm
@@ -0,0 +1,36 @@
+##
+## French tables, contributed by Emmanuel Bataille (bem@residents.frmug.org)
+##
+
+package Date::Language::French;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.04";
+
+@DoW = qw(dimanche lundi mardi mercredi jeudi vendredi samedi);
+@MoY = qw(janvier février mars avril mai juin
+ juillet août septembre octobre novembre décembre);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+$MoYs[6] = 'jul';
+@AMPM = qw(AM PM);
+
+@Dsuf = ((qw(er e e e e e e e e e)) x 3, 'er');
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Gedeo.pm b/Master/tlpkg/tlperl/lib/Date/Language/Gedeo.pm
new file mode 100644
index 00000000000..c18ad8cadda
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Gedeo.pm
@@ -0,0 +1,51 @@
+##
+## Gedeo tables
+##
+
+package Date::Language::Gedeo;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "0.99";
+
+@DoW = qw( Sanbbattaa Sanno Masano Roobe Hamusse Arbe Qiddamme);
+@MoY = (
+"Oritto",
+"Birre'a",
+"Onkkollessa",
+"Saddasa",
+"Arrasa",
+"Qammo",
+"Ella",
+"Waacibajje",
+"Canissa",
+"Addolessa",
+"Bittitotessa",
+"Hegeya"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+$DoWs[0] = "Snb";
+$DoWs[1] = "Sno";
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(gorsa warreti-udumma);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/German.pm b/Master/tlpkg/tlperl/lib/Date/Language/German.pm
new file mode 100644
index 00000000000..11242c4c46a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/German.pm
@@ -0,0 +1,37 @@
+##
+## German tables
+##
+
+package Date::Language::German;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.02";
+
+@MoY = qw(Januar Februar März April Mai Juni
+ Juli August September Oktober November Dezember);
+@MoYs = qw(Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez);
+@DoW = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
+@DoWs = qw(Son Mon Die Mit Don Fre Sam);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2d.",$_[0]->[3]) }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Greek.pm b/Master/tlpkg/tlperl/lib/Date/Language/Greek.pm
new file mode 100644
index 00000000000..00f917ce474
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Greek.pm
@@ -0,0 +1,91 @@
+##
+## Greek tables
+##
+## Traditional date format is: DoW DD{eta} MoY Year (%A %o %B %Y)
+##
+## Matthew Musgrove <muskrat@mindless.com>
+## Translations gratiously provided by Menelaos Stamatelos <men@kwsn.net>
+## This module returns unicode (utf8) encoded characters. You will need to
+## take the necessary steps for this to display correctly.
+##
+
+package Date::Language::Greek;
+
+use utf8;
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+@DoW = (
+"\x{039a}\x{03c5}\x{03c1}\x{03b9}\x{03b1}\x{03ba}\x{03ae}",
+"\x{0394}\x{03b5}\x{03c5}\x{03c4}\x{03ad}\x{03c1}\x{03b1}",
+"\x{03a4}\x{03c1}\x{03af}\x{03c4}\x{03b7}",
+"\x{03a4}\x{03b5}\x{03c4}\x{03ac}\x{03c1}\x{03c4}\x{03b7}",
+"\x{03a0}\x{03ad}\x{03bc}\x{03c0}\x{03c4}\x{03b7}",
+"\x{03a0}\x{03b1}\x{03c1}\x{03b1}\x{03c3}\x{03ba}\x{03b5}\x{03c5}\x{03ae}",
+"\x{03a3}\x{03ac}\x{03b2}\x{03b2}\x{03b1}\x{03c4}\x{03bf}",
+);
+
+@MoY = (
+"\x{0399}\x{03b1}\x{03bd}\x{03bf}\x{03c5}\x{03b1}\x{03c1}\x{03af}\x{03bf}\x{03c5}",
+"\x{03a6}\x{03b5}\x{03b2}\x{03c1}\x{03bf}\x{03c5}\x{03b1}\x{03c1}\x{03af}\x{03bf}\x{03c5}",
+"\x{039c}\x{03b1}\x{03c1}\x{03c4}\x{03af}\x{03bf}\x{03c5}",
+"\x{0391}\x{03c0}\x{03c1}\x{03b9}\x{03bb}\x{03af}\x{03c5}",
+"\x{039c}\x{03b1}\x{0390}\x{03bf}\x{03c5}",
+"\x{0399}\x{03bf}\x{03c5}\x{03bd}\x{03af}\x{03bf}\x{03c5}",
+"\x{0399}\x{03bf}\x{03c5}\x{03bb}\x{03af}\x{03bf}\x{03c5}",
+"\x{0391}\x{03c5}\x{03b3}\x{03bf}\x{03cd}\x{03c3}\x{03c4}\x{03bf}\x{03c5}",
+"\x{03a3}\x{03b5}\x{03c0}\x{03c4}\x{03b5}\x{03bc}\x{03c4}\x{03bf}\x{03c5}",
+"\x{039f}\x{03ba}\x{03c4}\x{03c9}\x{03b2}\x{03c1}\x{03af}\x{03bf}\x{03c5}",
+"\x{039d}\x{03bf}\x{03b5}\x{03bc}\x{03b2}\x{03c1}\x{03af}\x{03bf}\x{03c5}",
+"\x{0394}\x{03b5}\x{03ba}\x{03b5}\x{03bc}\x{03b2}\x{03c1}\x{03bf}\x{03c5}",
+);
+
+@DoWs = (
+"\x{039a}\x{03c5}",
+"\x{0394}\x{03b5}",
+"\x{03a4}\x{03c1}",
+"\x{03a4}\x{03b5}",
+"\x{03a0}\x{03b5}",
+"\x{03a0}\x{03b1}",
+"\x{03a3}\x{03b1}",
+);
+@MoYs = (
+"\x{0399}\x{03b1}\x{03bd}",
+"\x{03a6}\x{03b5}",
+"\x{039c}\x{03b1}\x{03c1}",
+"\x{0391}\x{03c0}\x{03c1}",
+"\x{039c}\x{03b1}",
+"\x{0399}\x{03bf}\x{03c5}\x{03bd}",
+"\x{0399}\x{03bf}\x{03c5}\x{03bb}",
+"\x{0391}\x{03c5}\x{03b3}",
+"\x{03a3}\x{03b5}\x{03c0}",
+"\x{039f}\x{03ba}",
+"\x{039d}\x{03bf}",
+"\x{0394}\x{03b5}",
+);
+
+@AMPM = ("\x{03c0}\x{03bc}", "\x{03bc}\x{03bc}");
+
+@Dsuf = ("\x{03b7}" x 31);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_o { sprintf("%2d%s",$_[0]->[3],"\x{03b7}") }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
+
+
+
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Hungarian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Hungarian.pm
new file mode 100644
index 00000000000..d9c838d15b9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Hungarian.pm
@@ -0,0 +1,88 @@
+##
+## Hungarian tables based on English
+##
+#
+# This is a just-because-I-stumbled-across-it
+# -and-my-wife-is-Hungarian release: if Graham or
+# someone adds to docs to Date::Format, I'd be
+# glad to correct bugs and extend as neeed.
+#
+
+package Date::Language::Hungarian;
+
+=head1 NAME
+
+Date::Language::Hungarian - Magyar format for Date::Format
+
+=head1 SYNOPSIS
+
+ my $lang = Date::Language->new('Hungarian');
+ print $lang->time2str("%a %b %e %T %Y", time);
+
+ @lt = localtime(time);
+ print $lang->time2str($template, time);
+ print $lang->strftime($template, @lt);
+
+ print $lang->time2str($template, time, $zone);
+ print $lang->strftime($template, @lt, $zone);
+
+ print $lang->ctime(time);
+ print $lang->asctime(@lt);
+
+ print $lang->ctime(time, $zone);
+ print $lang->asctime(@lt, $zone);
+
+See L<Date::Format>.
+
+=head1 AUTHOR
+
+Paula Goddard (paula -at- paulacska -dot- com)
+
+=head1 LICENCE
+
+Made available under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+use base "Date::Language";
+use vars qw( @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+$VERSION = "1.01";
+
+@DoW = qw(Vasárnap Hétfõ Kedd Szerda Csütörtök Péntek Szombat);
+@MoY = qw(Január Február Március Április Május Június
+ Július Augusztus Szeptember Október November December);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(DE. DU.);
+
+# There is no 'th or 'nd in Hungarian, just a dot
+@Dsuf = (".") x 31;
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_P { lc($_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0]) }
+sub format_o { $_[0]->[3].'.' }
+
+
+
+sub format_D { &format_y . "." . &format_m . "." . &format_d }
+
+sub format_y { sprintf("%02d",$_[0]->[5] % 100) }
+sub format_d { sprintf("%02d",$_[0]->[3]) }
+sub format_m { sprintf("%02d",$_[0]->[4] + 1) }
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Icelandic.pm b/Master/tlpkg/tlperl/lib/Date/Language/Icelandic.pm
new file mode 100644
index 00000000000..5ca3ee32099
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Icelandic.pm
@@ -0,0 +1,36 @@
+##
+## Icelandic tables
+##
+
+package Date::Language::Icelandic;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(Janúar Febrúar Mars Apríl Maí Júni
+ Júli Ágúst September Október Nóvember Desember);
+@MoYs = qw(Jan Feb Mar Apr Maí Jún Júl Ágú Sep Okt Nóv Des);
+@DoW = qw(Sunnudagur Mánudagur Þriðjudagur Miðvikudagur Fimmtudagur Föstudagur Laugardagur Sunnudagur);
+@DoWs = qw(Sun Mán Þri Mið Fim Fös Lau Sun);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Italian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Italian.pm
new file mode 100644
index 00000000000..6db0a8e67c9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Italian.pm
@@ -0,0 +1,36 @@
+##
+## Italian tables
+##
+
+package Date::Language::Italian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(Gennaio Febbraio Marzo Aprile Maggio Giugno
+ Luglio Agosto Settembre Ottobre Novembre Dicembre);
+@MoYs = qw(Gen Feb Mar Apr Mag Giu Lug Ago Set Ott Nov Dic);
+@DoW = qw(Domenica Lunedi Martedi Mercoledi Giovedi Venerdi Sabato);
+@DoWs = qw(Dom Lun Mar Mer Gio Ven Sab);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Norwegian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Norwegian.pm
new file mode 100644
index 00000000000..bbd997f0b4d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Norwegian.pm
@@ -0,0 +1,36 @@
+##
+## Norwegian tables
+##
+
+package Date::Language::Norwegian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(Januar Februar Mars April Mai Juni
+ Juli August September Oktober November Desember);
+@MoYs = qw(Jan Feb Mar Apr Mai Jun Jul Aug Sep Okt Nov Des);
+@DoW = qw(Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag Søndag);
+@DoWs = qw(Søn Man Tir Ons Tor Fre Lør Søn);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+@Dsuf = @{Date::Language::English::Dsuf};
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Oromo.pm b/Master/tlpkg/tlperl/lib/Date/Language/Oromo.pm
new file mode 100644
index 00000000000..b6a6230c87d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Oromo.pm
@@ -0,0 +1,37 @@
+##
+## Oromo tables
+##
+
+package Date::Language::Oromo;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "0.99";
+
+@DoW = qw(Dilbata Wiixata Qibxata Roobii Kamiisa Jimaata Sanbata);
+@MoY = qw(Amajjii Guraandhala Bitooteessa Elba Caamsa Waxabajjii
+ Adooleessa Hagayya Fuulbana Onkololeessa Sadaasa Muddee);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(WD WB);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Romanian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Romanian.pm
new file mode 100644
index 00000000000..cbd2c8cbc4d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Romanian.pm
@@ -0,0 +1,37 @@
+##
+## Italian tables
+##
+
+package Date::Language::Romanian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(ianuarie februarie martie aprilie mai iunie
+ iulie august septembrie octombrie noembrie decembrie);
+@DoW = qw(duminica luni marti miercuri joi vineri sambata);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+
+@AMPM = qw(AM PM);
+
+@Dsuf = ('') x 31;
+
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Russian.pm b/Master/tlpkg/tlperl/lib/Date/Language/Russian.pm
new file mode 100644
index 00000000000..ca9f4142327
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Russian.pm
@@ -0,0 +1,49 @@
+##
+## Russian tables
+##
+## Contributed by Danil Pismenny <dapi@mail.ru>
+
+package Date::Language::Russian;
+
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @MoY2 @AMPM %MoY %DoW $VERSION);
+@ISA = qw(Date::Language Date::Format::Generic);
+$VERSION = "1.01";
+
+@MoY = qw(ñÎ×ÁÒÑ æÅ×ÒÁÌÑ íÁÒÔÁ áÐÒÅÌÑ íÁÑ éÀÎÑ éÀÌÑ á×ÇÕÓÔÁ óÅÎÔÑÂÒÑ ïËÔÑÂÒÑ îÏÑÂÒÑ äÅËÁÂÒÑ);
+@MoY2 = qw(ñÎ×ÁÒØ æÅ×ÒÁÌØ íÁÒÔ áÐÒÅÌØ íÁÊ éÀÎØ éÀÌØ á×ÇÕÓÔ óÅÎÔÑÂÒØ ïËÔÑÂÒØ îÏÑÂÒØ äÅËÁÂÒØ);
+@MoYs = qw(ñÎ× æÅ× íÒÔ áÐÒ íÁÊ éÀÎ éÀÌ á×Ç óÅÎ ïËÔ îÏÑ äÅË);
+
+@DoW = qw(ðÏÎÅÄÅÌØÎÉË ÷ÔÏÒÎÉË óÒÅÄÁ þÅÔ×ÅÒÇ ðÑÔÎÉÃÁ óÕÂÂÏÔÁ ÷ÏÓËÒÅÓÅÎØÅ);
+@DoWs = qw(ðÎ ÷Ô óÒ þÔ ðÔ ó ÷Ó);
+@DoWs2 = qw(ðÎÄ ÷ÔÒ óÒÄ þÔ× ðÔÎ óÂÔ ÷ÓË);
+
+@AMPM = qw(ÄÐ ÐÐ);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+sub format_d { $_[0]->[3] }
+sub format_m { $_[0]->[4] + 1 }
+sub format_o { $_[0]->[3] . '.' }
+
+sub format_Q { $MoY2[$_[0]->[4]] }
+
+sub str2time {
+ my ($self,$value) = @_;
+ map {$value=~s/(\s|^)$DoWs2[$_](\s)/$DoWs[$_]$2/ig} (0..6);
+ $value=~s/(\s+|^)íÁÒ(\s+)/$1íÒÔ$2/;
+ return $self->SUPER::str2time($value);
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Russian_cp1251.pm b/Master/tlpkg/tlperl/lib/Date/Language/Russian_cp1251.pm
new file mode 100644
index 00000000000..cc28e6ed43a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Russian_cp1251.pm
@@ -0,0 +1,39 @@
+##
+## Russian cp1251
+##
+
+package Date::Language::Russian_cp1251;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@DoW = qw(Âîñêðåñåíüå Ïîíåäåëüíèê Âòîðíèê Ñðåäà ×åòâåðã Ïÿòíèöà Ñóááîòà);
+@MoY = qw(ßíâàðü Ôåâðàëü Ìàðò Àïðåëü Ìàé Èþíü
+ Èþëü Àâãóñò Ñåíòÿáðü Îêòÿáðü Íîÿáðü Äåêàáðü);
+@DoWs = qw(Âñê Ïíä Âòð Ñðä ×òâ Ïòí Ñáò);
+#@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = ('e') x 31;
+#@Dsuf[11,12,13] = qw(å å å);
+#@Dsuf[30,31] = qw(å å);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2de",$_[0]->[3]) }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Russian_koi8r.pm b/Master/tlpkg/tlperl/lib/Date/Language/Russian_koi8r.pm
new file mode 100644
index 00000000000..53de8d0567b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Russian_koi8r.pm
@@ -0,0 +1,39 @@
+##
+## Russian koi8r
+##
+
+package Date::Language::Russian_koi8r;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@DoW = qw(÷ÏÓËÒÅÓÅÎØÅ ðÏÎÅÄÅÌØÎÉË ÷ÔÏÒÎÉË óÒÅÄÁ þÅÔ×ÅÒÇ ðÑÔÎÉÃÁ óÕÂÂÏÔÁ);
+@MoY = qw(ñÎ×ÁÒØ æÅ×ÒÁÌØ íÁÒÔ áÐÒÅÌØ íÁÊ éÀÎØ
+ éÀÌØ á×ÇÕÓÔ óÅÎÔÑÂÒØ ïËÔÑÂÒØ îÏÑÂÒØ äÅËÁÂÒØ);
+@DoWs = qw(÷ÓË ðÎÄ ÷ÔÒ óÒÄ þÔ× ðÔÎ óÂÔ);
+#@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = ('e') x 31;
+#@Dsuf[11,12,13] = qw(Å Å Å);
+#@Dsuf[30,31] = qw(Å Å);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2de",$_[0]->[3]) }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Sidama.pm b/Master/tlpkg/tlperl/lib/Date/Language/Sidama.pm
new file mode 100644
index 00000000000..bc26d7c3f09
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Sidama.pm
@@ -0,0 +1,37 @@
+##
+## Sidama tables
+##
+
+package Date::Language::Sidama;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "0.99";
+
+@DoW = qw(Sambata Sanyo Maakisanyo Roowe Hamuse Arbe Qidaame);
+@MoY = qw(January February March April May June
+ July August September October November December);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(soodo hawwaro);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Somali.pm b/Master/tlpkg/tlperl/lib/Date/Language/Somali.pm
new file mode 100644
index 00000000000..5b2496170e9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Somali.pm
@@ -0,0 +1,62 @@
+##
+## Somali tables
+##
+
+package Date::Language::Somali;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "0.99";
+
+@DoW = qw(Axad Isniin Salaaso Arbaco Khamiis Jimco Sabti);
+@MoY = (
+"Bisha Koobaad",
+"Bisha Labaad",
+"Bisha Saddexaad",
+"Bisha Afraad",
+"Bisha Shanaad",
+"Bisha Lixaad",
+"Bisha Todobaad",
+"Bisha Sideedaad",
+"Bisha Sagaalaad",
+"Bisha Tobnaad",
+"Bisha Kow iyo Tobnaad",
+"Bisha Laba iyo Tobnaad"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = (
+"Kob",
+"Lab",
+"Sad",
+"Afr",
+"Sha",
+"Lix",
+"Tod",
+"Sid",
+"Sag",
+"Tob",
+"KIT",
+"LIT"
+);
+@AMPM = qw(SN GN);
+
+@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
+@Dsuf[11,12,13] = qw(th th th);
+@Dsuf[30,31] = qw(th st);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Spanish.pm b/Master/tlpkg/tlperl/lib/Date/Language/Spanish.pm
new file mode 100644
index 00000000000..d464ae78ad1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Spanish.pm
@@ -0,0 +1,35 @@
+##
+## Spanish tables
+##
+
+package Date::Language::Spanish;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+@DoW = qw(domingo lunes martes miércoles jueves viernes sábado);
+@MoY = qw(enero febrero marzo abril mayo junio
+ julio agosto septiembre octubre noviembre diciembre);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = qw(AM PM);
+
+@Dsuf = ((qw(ro do ro to to to mo vo no mo)) x 3, 'ro');
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Swedish.pm b/Master/tlpkg/tlperl/lib/Date/Language/Swedish.pm
new file mode 100644
index 00000000000..8f16594ba73
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Swedish.pm
@@ -0,0 +1,41 @@
+##
+## Swedish tables
+## Contributed by Matthew Musgrove <muskrat@mindless.com>
+## Corrected by dempa
+##
+
+package Date::Language::Swedish;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.01";
+
+@MoY = qw(januari februari mars april maj juni juli augusti september oktober november december);
+@MoYs = map { substr($_,0,3) } @MoY;
+@DoW = map($_ . "dagen", qw(sön mån tis ons tors fre lör));
+@DoWs = map { substr($_,0,2) } @DoW;
+
+# the ordinals are not typically used in modern times
+@Dsuf = ('a' x 2, 'e' x 29);
+
+use Date::Language::English ();
+@AMPM = @{Date::Language::English::AMPM};
+
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+sub format_o { sprintf("%2de",$_[0]->[3]) }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Tigrinya.pm b/Master/tlpkg/tlperl/lib/Date/Language/Tigrinya.pm
new file mode 100644
index 00000000000..ce4fcb3a1cb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Tigrinya.pm
@@ -0,0 +1,58 @@
+##
+## Tigrinya tables
+##
+
+package Date::Language::Tigrinya;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+@DoW = (
+"\x{1230}\x{1295}\x{1260}\x{1275}",
+"\x{1230}\x{1291}\x{12ed}",
+"\x{1230}\x{1209}\x{1235}",
+"\x{1228}\x{1261}\x{12d5}",
+"\x{1213}\x{1219}\x{1235}",
+"\x{12d3}\x{122d}\x{1262}",
+"\x{1240}\x{12f3}\x{121d}"
+);
+@MoY = (
+"\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
+"\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
+"\x{121b}\x{122d}\x{127d}",
+"\x{12a4}\x{1355}\x{1228}\x{120d}",
+"\x{121c}\x{12ed}",
+"\x{1301}\x{1295}",
+"\x{1301}\x{120b}\x{12ed}",
+"\x{12a6}\x{1308}\x{1235}\x{1275}",
+"\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
+"\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
+"\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
+"\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = (
+"\x{1295}/\x{1230}",
+"\x{12F5}/\x{1230}"
+);
+
+@Dsuf = ("\x{12ed}" x 31);
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEritrean.pm b/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEritrean.pm
new file mode 100644
index 00000000000..7ab8d0fdd1e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEritrean.pm
@@ -0,0 +1,93 @@
+##
+## Tigrinya-Eritrean tables
+##
+
+package Date::Language::TigrinyaEritrean;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+if ( $] >= 5.006 ) {
+@DoW = (
+"\x{1230}\x{1295}\x{1260}\x{1275}",
+"\x{1230}\x{1291}\x{12ed}",
+"\x{1230}\x{1209}\x{1235}",
+"\x{1228}\x{1261}\x{12d5}",
+"\x{1213}\x{1219}\x{1235}",
+"\x{12d3}\x{122d}\x{1262}",
+"\x{1240}\x{12f3}\x{121d}"
+);
+@MoY = (
+"\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
+"\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
+"\x{121b}\x{122d}\x{127d}",
+"\x{12a4}\x{1355}\x{1228}\x{120d}",
+"\x{121c}\x{12ed}",
+"\x{1301}\x{1295}",
+"\x{1301}\x{120b}\x{12ed}",
+"\x{12a6}\x{1308}\x{1235}\x{1275}",
+"\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
+"\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
+"\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
+"\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = (
+"\x{1295}/\x{1230}",
+"\x{12F5}/\x{1230}"
+);
+
+@Dsuf = ("\x{12ed}" x 31);
+}
+else {
+@DoW = (
+"ሰንበት",
+"ሰኑይ",
+"ሰሉስ",
+"ረቡዕ",
+"ሓሙስ",
+"ዓርቢ",
+"ቀዳáˆ"
+);
+@MoY = (
+"ጥሪ",
+"ለካቲት",
+"መጋቢት",
+"ሚያá‹á‹«",
+"áŒáŠ•á‰¦á‰µ",
+"ሰáŠ",
+"ሓáˆáˆˆ",
+"áŠáˆ“ሰ",
+"መስከረáˆ",
+"ጥቅáˆá‰²",
+"ሕዳር",
+"ታሕሳስ"
+);
+@DoWs = map { substr($_,0,9) } @DoW;
+@MoYs = map { substr($_,0,9) } @MoY;
+@AMPM = (
+"ን/ሰ",
+"ድ/ሰ"
+);
+
+@Dsuf = ("á‹­" x 31);
+}
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEthiopian.pm b/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEthiopian.pm
new file mode 100644
index 00000000000..84fb7237c31
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/TigrinyaEthiopian.pm
@@ -0,0 +1,93 @@
+##
+## Tigrinya-Ethiopian tables
+##
+
+package Date::Language::TigrinyaEthiopian;
+
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
+@ISA = qw(Date::Language);
+$VERSION = "1.00";
+
+if ( $] >= 5.006 ) {
+@DoW = (
+"\x{1230}\x{1295}\x{1260}\x{1275}",
+"\x{1230}\x{1291}\x{12ed}",
+"\x{1230}\x{1209}\x{1235}",
+"\x{1228}\x{1261}\x{12d5}",
+"\x{1213}\x{1219}\x{1235}",
+"\x{12d3}\x{122d}\x{1262}",
+"\x{1240}\x{12f3}\x{121d}"
+);
+@MoY = (
+"\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
+"\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
+"\x{121b}\x{122d}\x{127d}",
+"\x{12a4}\x{1355}\x{1228}\x{120d}",
+"\x{121c}\x{12ed}",
+"\x{1301}\x{1295}",
+"\x{1301}\x{120b}\x{12ed}",
+"\x{12a6}\x{1308}\x{1235}\x{1275}",
+"\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
+"\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
+"\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
+"\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
+);
+@DoWs = map { substr($_,0,3) } @DoW;
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = (
+"\x{1295}/\x{1230}",
+"\x{12F5}/\x{1230}"
+);
+
+@Dsuf = ("\x{12ed}" x 31);
+}
+else {
+@DoW = (
+"ሰንበት",
+"ሰኑይ",
+"ሰሉስ",
+"ረቡዕ",
+"ሓሙስ",
+"ዓርቢ",
+"ቀዳáˆ"
+);
+@MoY = (
+"ጃንዩወሪ",
+"áŒá‰¥áˆ©á‹ˆáˆª",
+"ማርች",
+"ኤá•áˆ¨áˆ",
+"ሜይ",
+"áŒáŠ•",
+"áŒáˆ‹á‹­",
+"ኦገስት",
+"ሴá•á‰´áˆá‰ áˆ­",
+"ኦክተá‹á‰ áˆ­",
+"ኖቬáˆá‰ áˆ­",
+"ዲሴáˆá‰ áˆ­"
+);
+@DoWs = map { substr($_,0,9) } @DoW;
+@MoYs = map { substr($_,0,9) } @MoY;
+@AMPM = (
+"ን/ሰ",
+"ድ/ሰ"
+);
+
+@Dsuf = ("á‹­" x 31);
+}
+
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[$_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[$_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Date/Language/Turkish.pm b/Master/tlpkg/tlperl/lib/Date/Language/Turkish.pm
new file mode 100644
index 00000000000..593e20925cf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Language/Turkish.pm
@@ -0,0 +1,59 @@
+#----------------------------------------------------#
+#
+# Turkish tables
+# Burak Gürsoy <burak@cpan.org>
+# Last modified: Sat Nov 15 20:28:32 2003
+#
+# use Date::Language;
+# my $turkish = Date::Language->new('Turkish');
+# print $turkish->time2str("%e %b %Y, %a %T\n", time);
+# print $turkish->str2time("25 Haz 1996 21:09:55 +0100");
+#----------------------------------------------------#
+
+package Date::Language::Turkish;
+use Date::Language ();
+use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION %DsufMAP);
+@ISA = qw(Date::Language);
+$VERSION = "1.0";
+
+@DoW = qw(Pazar Pazartesi Salý Çarþamba Perþembe Cuma Cumartesi);
+@MoY = qw(Ocak Þubat Mart Nisan Mayýs Haziran Temmuz Aðustos Eylül Ekim Kasým Aralýk);
+@DoWs = map { substr($_,0,3) } @DoW;
+$DoWs[1] = 'Pzt'; # Since we'll get two 'Paz' s
+$DoWs[-1] = 'Cmt'; # Since we'll get two 'Cum' s
+@MoYs = map { substr($_,0,3) } @MoY;
+@AMPM = ('',''); # no am-pm thingy
+
+# not easy as in english... maybe we can just use a dot "." ? :)
+%DsufMAP = (
+(map {$_ => 'inci', $_+10 => 'inci', $_+20 => 'inci' } 1,2,5,8 ),
+(map {$_ => 'nci', $_+10 => 'nci', $_+20 => 'nci' } 7 ),
+(map {$_ => 'nci', $_+10 => 'nci', $_+20 => 'nci' } 2 ),
+(map {$_ => 'üncü', $_+10 => 'üncü', $_+20 => 'üncü' } 3,4 ),
+(map {$_ => 'uncu', $_+10 => 'uncu', $_+20 => 'uncu' } 9 ),
+(map {$_ => 'ncý', $_+10 => 'ncý', $_+20 => 'ncý' } 6 ),
+(map {$_ => 'uncu', } 10,30 ),
+ 20 => 'nci',
+ 31 => 'inci',
+);
+
+@Dsuf = map{ $DsufMAP{$_} } sort {$a <=> $b} keys %DsufMAP;
+@MoY{@MoY} = (0 .. scalar(@MoY));
+@MoY{@MoYs} = (0 .. scalar(@MoYs));
+@DoW{@DoW} = (0 .. scalar(@DoW));
+@DoW{@DoWs} = (0 .. scalar(@DoWs));
+
+# Formatting routines
+
+sub format_a { $DoWs[$_[0]->[6]] }
+sub format_A { $DoW[ $_[0]->[6]] }
+sub format_b { $MoYs[$_[0]->[4]] }
+sub format_B { $MoY[ $_[0]->[4]] }
+sub format_h { $MoYs[$_[0]->[4]] }
+sub format_p { '' } # disable
+sub format_P { '' } # disable
+sub format_o { sprintf("%2d%s",$_[0]->[3],$Dsuf[$_[0]->[3]-1]) }
+
+1;
+
+__END__
diff --git a/Master/tlpkg/tlperl/lib/Date/Parse.pm b/Master/tlpkg/tlperl/lib/Date/Parse.pm
new file mode 100644
index 00000000000..12b04c14ad0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Date/Parse.pm
@@ -0,0 +1,380 @@
+# Copyright (c) 1995-2009 Graham Barr. This program is free
+# software; you can redistribute it and/or modify it under the same terms
+# as Perl itself.
+
+package Date::Parse;
+
+require 5.000;
+use strict;
+use vars qw($VERSION @ISA @EXPORT);
+use Time::Local;
+use Carp;
+use Time::Zone;
+use Exporter;
+
+@ISA = qw(Exporter);
+@EXPORT = qw(&strtotime &str2time &strptime);
+
+$VERSION = "2.30";
+
+my %month = (
+ january => 0,
+ february => 1,
+ march => 2,
+ april => 3,
+ may => 4,
+ june => 5,
+ july => 6,
+ august => 7,
+ september => 8,
+ sept => 8,
+ october => 9,
+ november => 10,
+ december => 11,
+ );
+
+my %day = (
+ sunday => 0,
+ monday => 1,
+ tuesday => 2,
+ tues => 2,
+ wednesday => 3,
+ wednes => 3,
+ thursday => 4,
+ thur => 4,
+ thurs => 4,
+ friday => 5,
+ saturday => 6,
+ );
+
+my @suf = (qw(th st nd rd th th th th th th)) x 3;
+@suf[11,12,13] = qw(th th th);
+
+#Abbreviations
+
+map { $month{substr($_,0,3)} = $month{$_} } keys %month;
+map { $day{substr($_,0,3)} = $day{$_} } keys %day;
+
+my $strptime = <<'ESQ';
+ my %month = map { lc $_ } %$mon_ref;
+ my $daypat = join("|", map { lc $_ } reverse sort keys %$day_ref);
+ my $monpat = join("|", reverse sort keys %month);
+ my $sufpat = join("|", reverse sort map { lc $_ } @$suf_ref);
+
+ my %ampm = (
+ 'a' => 0, # AM
+ 'p' => 12, # PM
+ );
+
+ my($AM, $PM) = (0,12);
+
+sub {
+
+ my $dtstr = lc shift;
+ my $merid = 24;
+
+ my($year,$month,$day,$hh,$mm,$ss,$zone,$dst,$frac);
+
+ $zone = tz_offset(shift) if @_;
+
+ 1 while $dtstr =~ s#\([^\(\)]*\)# #o;
+
+ $dtstr =~ s#(\A|\n|\Z)# #sog;
+
+ # ignore day names
+ $dtstr =~ s#([\d\w\s])[\.\,]\s#$1 #sog;
+ $dtstr =~ s/,/ /g;
+ $dtstr =~ s#($daypat)\s*(den\s)?\b# #o;
+ # Time: 12:00 or 12:00:00 with optional am/pm
+
+ return unless $dtstr =~ /\S/;
+
+ if ($dtstr =~ s/\s(\d{4})([-:]?)(\d\d?)\2(\d\d?)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\6(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /) {
+ ($year,$month,$day,$hh,$mm,$ss,$frac) = ($1,$3-1,$4,$5,$7,$8,$9);
+ }
+
+ unless (defined $hh) {
+ if ($dtstr =~ s#[:\s](\d\d?):(\d\d?)(:(\d\d?)(?:\.\d+)?)?(z)?\s*(?:([ap])\.?m?\.?)?\s# #o) {
+ ($hh,$mm,$ss) = ($1,$2,$4);
+ $zone = 0 if $5;
+ $merid = $ampm{$6} if $6;
+ }
+
+ # Time: 12 am
+
+ elsif ($dtstr =~ s#\s(\d\d?)\s*([ap])\.?m?\.?\s# #o) {
+ ($hh,$mm,$ss) = ($1,0,0);
+ $merid = $ampm{$2};
+ }
+ }
+
+ if (defined $hh and $hh <= 12 and $dtstr =~ s# ([ap])\.?m?\.?\s# #o) {
+ $merid = $ampm{$1};
+ }
+
+
+ unless (defined $year) {
+ # Date: 12-June-96 (using - . or /)
+
+ if ($dtstr =~ s#\s(\d\d?)([\-\./])($monpat)(\2(\d\d+))?\s# #o) {
+ ($month,$day) = ($month{$3},$1);
+ $year = $5 if $5;
+ }
+
+ # Date: 12-12-96 (using '-', '.' or '/' )
+
+ elsif ($dtstr =~ s#\s(\d+)([\-\./])(\d\d?)(\2(\d+))?\s# #o) {
+ ($month,$day) = ($1 - 1,$3);
+
+ if ($5) {
+ $year = $5;
+ # Possible match for 1995-01-24 (short mainframe date format);
+ ($year,$month,$day) = ($1, $3 - 1, $5) if $month > 12;
+ return if length($year) > 2 and $year < 1901;
+ }
+ }
+ elsif ($dtstr =~ s#\s(\d+)\s*($sufpat)?\s*($monpat)# #o) {
+ ($month,$day) = ($month{$3},$1);
+ }
+ elsif ($dtstr =~ s#($monpat)\s*(\d+)\s*($sufpat)?\s# #o) {
+ ($month,$day) = ($month{$1},$2);
+ }
+ elsif ($dtstr =~ s#($monpat)([\/-])(\d+)[\/-]# #o) {
+ ($month,$day) = ($month{$1},$3);
+ }
+
+ # Date: 961212
+
+ elsif ($dtstr =~ s#\s(\d\d)(\d\d)(\d\d)\s# #o) {
+ ($year,$month,$day) = ($1,$2-1,$3);
+ }
+
+ $year = $1 if !defined($year) and $dtstr =~ s#\s(\d{2}(\d{2})?)[\s\.,]# #o;
+
+ }
+
+ # Zone
+
+ $dst = 1 if $dtstr =~ s#\bdst\b##o;
+
+ if ($dtstr =~ s#\s"?([a-z]{3,4})(dst|\d+[a-z]*|_[a-z]+)?"?\s# #o) {
+ $dst = 1 if $2 and $2 eq 'dst';
+ $zone = tz_offset($1);
+ return unless defined $zone;
+ }
+ elsif ($dtstr =~ s#\s([a-z]{3,4})?([\-\+]?)-?(\d\d?):?(\d\d)?(00)?\s# #o) {
+ my $m = defined($4) ? "$2$4" : 0;
+ my $h = "$2$3";
+ $zone = defined($1) ? tz_offset($1) : 0;
+ return unless defined $zone;
+ $zone += 60 * ($m + (60 * $h));
+ }
+
+ if ($dtstr =~ /\S/) {
+ # now for some dumb dates
+ if ($dtstr =~ s/^\s*(ut?|z)\s*$//) {
+ $zone = 0;
+ }
+ elsif ($dtstr =~ s#\s([a-z]{3,4})?([\-\+]?)-?(\d\d?)(\d\d)?(00)?\s# #o) {
+ my $m = defined($4) ? "$2$4" : 0;
+ my $h = "$2$3";
+ $zone = defined($1) ? tz_offset($1) : 0;
+ return unless defined $zone;
+ $zone += 60 * ($m + (60 * $h));
+ }
+
+ return if $dtstr =~ /\S/o;
+ }
+
+ if (defined $hh) {
+ if ($hh == 12) {
+ $hh = 0 if $merid == $AM;
+ }
+ elsif ($merid == $PM) {
+ $hh += 12;
+ }
+ }
+
+ $year -= 1900 if defined $year && $year > 1900;
+
+ $zone += 3600 if defined $zone && $dst;
+ $ss += "0.$frac" if $frac;
+
+ return ($ss,$mm,$hh,$day,$month,$year,$zone);
+}
+ESQ
+
+use vars qw($day_ref $mon_ref $suf_ref $obj);
+
+sub gen_parser
+{
+ local($day_ref,$mon_ref,$suf_ref,$obj) = @_;
+
+ if($obj)
+ {
+ my $obj_strptime = $strptime;
+ substr($obj_strptime,index($strptime,"sub")+6,0) = <<'ESQ';
+ shift; # package
+ESQ
+ my $sub = eval "$obj_strptime" or die $@;
+ return $sub;
+ }
+
+ eval "$strptime" or die $@;
+
+}
+
+*strptime = gen_parser(\%day,\%month,\@suf);
+
+sub str2time
+{
+ my @t = strptime(@_);
+
+ return undef
+ unless @t;
+
+ my($ss,$mm,$hh,$day,$month,$year,$zone) = @t;
+ my @lt = localtime(time);
+
+ $hh ||= 0;
+ $mm ||= 0;
+ $ss ||= 0;
+
+ my $frac = $ss - int($ss);
+ $ss = int $ss;
+
+ $month = $lt[4]
+ unless(defined $month);
+
+ $day = $lt[3]
+ unless(defined $day);
+
+ $year = ($month > $lt[4]) ? ($lt[5] - 1) : $lt[5]
+ unless(defined $year);
+
+ return undef
+ unless($month <= 11 && $day >= 1 && $day <= 31
+ && $hh <= 23 && $mm <= 59 && $ss <= 59);
+
+ my $result;
+
+ if (defined $zone) {
+ $result = eval {
+ local $SIG{__DIE__} = sub {}; # Ick!
+ timegm($ss,$mm,$hh,$day,$month,$year);
+ };
+ return undef
+ if !defined $result
+ or $result == -1
+ && join("",$ss,$mm,$hh,$day,$month,$year)
+ ne "595923311169";
+ $result -= $zone;
+ }
+ else {
+ $result = eval {
+ local $SIG{__DIE__} = sub {}; # Ick!
+ timelocal($ss,$mm,$hh,$day,$month,$year);
+ };
+ return undef
+ if !defined $result
+ or $result == -1
+ && join("",$ss,$mm,$hh,$day,$month,$year)
+ ne join("",(localtime(-1))[0..5]);
+ }
+
+ return $result + $frac;
+}
+
+1;
+
+__END__
+
+
+=head1 NAME
+
+Date::Parse - Parse date strings into time values
+
+=head1 SYNOPSIS
+
+ use Date::Parse;
+
+ $time = str2time($date);
+
+ ($ss,$mm,$hh,$day,$month,$year,$zone) = strptime($date);
+
+=head1 DESCRIPTION
+
+C<Date::Parse> provides two routines for parsing date strings into time values.
+
+=over 4
+
+=item str2time(DATE [, ZONE])
+
+C<str2time> parses C<DATE> and returns a unix time value, or undef upon failure.
+C<ZONE>, if given, specifies the timezone to assume when parsing if the
+date string does not specify a timezone.
+
+=item strptime(DATE [, ZONE])
+
+C<strptime> takes the same arguments as str2time but returns an array of
+values C<($ss,$mm,$hh,$day,$month,$year,$zone)>. Elements are only defined
+if they could be extracted from the date string. The C<$zone> element is
+the timezone offset in seconds from GMT. An empty array is returned upon
+failure.
+
+=head1 MULTI-LANGUAGE SUPPORT
+
+Date::Parse is capable of parsing dates in several languages, these include
+English, French, German and Italian.
+
+ $lang = Date::Language->new('German');
+ $lang->str2time("25 Jun 1996 21:09:55 +0100");
+
+=head1 EXAMPLE DATES
+
+Below is a sample list of dates that are known to be parsable with Date::Parse
+
+ 1995:01:24T09:08:17.1823213 ISO-8601
+ 1995-01-24T09:08:17.1823213
+ Wed, 16 Jun 94 07:29:35 CST Comma and day name are optional
+ Thu, 13 Oct 94 10:13:13 -0700
+ Wed, 9 Nov 1994 09:50:32 -0500 (EST) Text in ()'s will be ignored.
+ 21 dec 17:05 Will be parsed in the current time zone
+ 21-dec 17:05
+ 21/dec 17:05
+ 21/dec/93 17:05
+ 1999 10:02:18 "GMT"
+ 16 Nov 94 22:28:20 PST
+
+=head1 LIMITATION
+
+Date::Parse uses L<Time::Local> internally, so is limited to only parsing dates
+which result in valid values for Time::Local::timelocal. This generally means dates
+between 1901-12-17 00:00:00 GMT and 2038-01-16 23:59:59 GMT
+
+=head1 BUGS
+
+When both the month and the date are specified in the date as numbers
+they are always parsed assuming that the month number comes before the
+date. This is the usual format used in American dates.
+
+The reason why it is like this and not dynamic is that it must be
+deterministic. Several people have suggested using the current locale,
+but this will not work as the date being parsed may not be in the format
+of the current locale.
+
+My plans to address this, which will be in a future release, is to allow
+the programmer to state what order they want these values parsed in.
+
+=head1 AUTHOR
+
+Graham Barr <gbarr@pobox.com>
+
+=head1 COPYRIGHT
+
+Copyright (c) 1995-2009 Graham Barr. 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/Devel/InnerPackage.pm b/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm
deleted file mode 100644
index cf285693e2f..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm
+++ /dev/null
@@ -1,129 +0,0 @@
-package Devel::InnerPackage;
-
-use strict;
-use base qw(Exporter);
-use vars qw($VERSION @EXPORT_OK);
-
-use if $] > 5.017, 'deprecate';
-
-$VERSION = '0.4';
-@EXPORT_OK = qw(list_packages);
-
-=pod
-
-=head1 NAME
-
-Devel::InnerPackage - find all the inner packages of a package
-
-=head1 SYNOPSIS
-
- use Foo::Bar;
- use Devel::InnerPackage qw(list_packages);
-
- my @inner_packages = list_packages('Foo::Bar');
-
-
-=head1 DESCRIPTION
-
-
-Given a file like this
-
-
- package Foo::Bar;
-
- sub foo {}
-
-
- package Foo::Bar::Quux;
-
- sub quux {}
-
- package Foo::Bar::Quirka;
-
- sub quirka {}
-
- 1;
-
-then
-
- list_packages('Foo::Bar');
-
-will return
-
- Foo::Bar::Quux
- Foo::Bar::Quirka
-
-=head1 METHODS
-
-=head2 list_packages <package name>
-
-Return a list of all inner packages of that package.
-
-=cut
-
-sub list_packages {
- my $pack = shift; $pack .= "::" unless $pack =~ m!::$!;
-
- no strict 'refs';
- my @packs;
- my @stuff = grep !/^(main|)::$/, keys %{$pack};
- for my $cand (grep /::$/, @stuff)
- {
- $cand =~ s!::$!!;
- my @children = list_packages($pack.$cand);
-
- push @packs, "$pack$cand" unless $cand =~ /^::/ ||
- !__PACKAGE__->_loaded($pack.$cand); # or @children;
- push @packs, @children;
- }
- return grep {$_ !~ /::(::ISA::CACHE|SUPER)/} @packs;
-}
-
-### XXX this is an inlining of the Class-Inspector->loaded()
-### method, but inlined to remove the dependency.
-sub _loaded {
- my ($class, $name) = @_;
-
- no strict 'refs';
-
- # Handle by far the two most common cases
- # This is very fast and handles 99% of cases.
- return 1 if defined ${"${name}::VERSION"};
- return 1 if @{"${name}::ISA"};
-
- # Are there any symbol table entries other than other namespaces
- foreach ( keys %{"${name}::"} ) {
- next if substr($_, -2, 2) eq '::';
- return 1 if defined &{"${name}::$_"};
- }
-
- # No functions, and it doesn't have a version, and isn't anything.
- # As an absolute last resort, check for an entry in %INC
- my $filename = join( '/', split /(?:'|::)/, $name ) . '.pm';
- return 1 if defined $INC{$filename};
-
- '';
-}
-
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2005 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=cut
-
-
-
-
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
index 908265d239d..f04cb2b7fa8 100644
--- a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
@@ -12,13 +12,7 @@
#
################################################################################
#
-# $Revision: 67 $
-# $Author: mhx $
-# $Date: 2010/03/07 13:15:41 +0100 $
-#
-################################################################################
-#
-# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -486,6 +480,7 @@ in older Perl releases:
SvPV_nomg
SvPV_nomg_const
SvPV_nomg_const_nolen
+ SvPV_nomg_nolen
SvPV_renew
SvPVbyte
SvPVX_const
@@ -515,8 +510,8 @@ in older Perl releases:
UVSIZE
UVTYPE
UVuf
- UVxf
UVXf
+ UVxf
vload_module
vnewSVpvf
WARN_ALL
@@ -567,6 +562,7 @@ in older Perl releases:
WARN_UTF8
WARN_VOID
warner
+ WIDEST_UTYPE
XCPT_CATCH
XCPT_RETHROW
XCPT_TRY_END
@@ -591,7 +587,7 @@ Perl below which it is unsupported:
=over 4
-=item perl 5.14.0
+=item perl 5.19.3
BhkDISABLE
BhkENABLE
@@ -600,15 +596,174 @@ Perl below which it is unsupported:
PERL_SYS_TERM
POP_MULTICALL
PUSH_MULTICALL
+ PadARRAY
+ PadMAX
+ PadlistARRAY
+ PadlistMAX
+ PadlistNAMES
+ PadlistNAMESARRAY
+ PadlistNAMESMAX
+ PadnameLEN
+ PadnamePV
+ PadnameSV
+ PadnameUTF8
+ PadnamelistARRAY
+ PadnamelistMAX
+ XS_EXTERNAL
+ XS_INTERNAL
XopDISABLE
XopENABLE
XopENTRY
XopENTRY_set
cophh_new_empty
+ croak_memory_wrap
my_lstat
my_stat
+ reentrant_free
+ reentrant_init
+ reentrant_retry
+ reentrant_size
ref
- stashpv_hvname_match
+ sv_pos_b2u_flags
+ sv_setref_pvs
+
+=item perl 5.19.2
+
+ SVt_INVLIST
+
+=item perl 5.19.1
+
+ re_intuit_start
+ toFOLD
+ toFOLD_utf8
+ toLOWER_L1
+ toTITLE
+
+=item perl 5.17.11
+
+ hv_rand_set
+
+=item perl 5.17.9
+
+ av_tindex
+ av_top_index
+
+=item perl 5.17.8
+
+ _is_uni_FOO
+ _is_uni_perl_idcont
+ _is_utf8_FOO
+ _is_utf8_mark
+ _is_utf8_perl_idcont
+ isALPHANUMERIC
+ isIDCONT
+
+=item perl 5.17.7
+
+ SvREFCNT_dec_NN
+ _is_uni_perl_idstart
+ _is_utf8_perl_idstart
+ is_uni_alnumc
+ is_uni_alnumc_lc
+ is_utf8_alnumc
+
+=item perl 5.17.6
+
+ READ_XDIGIT
+
+=item perl 5.17.4
+
+ PL_comppad_name
+ PadlistREFCNT
+ newMYSUB
+ newSVpadname
+
+=item perl 5.17.2
+
+ is_uni_blank
+ is_uni_blank_lc
+ is_utf8_blank
+ sv_copypv_flags
+ sv_copypv_nomg
+ sv_vcatpvfn_flags
+
+=item perl 5.15.9
+
+ utf8_to_uvchr_buf
+ utf8_to_uvuni_buf
+ valid_utf8_to_uvuni
+
+=item perl 5.15.8
+
+ is_utf8_char_buf
+ wrap_op_checker
+
+=item perl 5.15.7
+
+ toLOWER_utf8
+ toTITLE_utf8
+ toUPPER_utf8
+ to_utf8_fold
+ to_utf8_lower
+ to_utf8_title
+ to_utf8_upper
+
+=item perl 5.15.6
+
+ _to_utf8_fold_flags
+ _to_utf8_lower_flags
+ _to_utf8_title_flags
+ _to_utf8_upper_flags
+ newCONSTSUB_flags
+
+=item perl 5.15.4
+
+ HvENAMELEN
+ HvENAMEUTF8
+ HvNAMELEN
+ HvNAMEUTF8
+ gv_autoload_pv
+ gv_autoload_pvn
+ gv_autoload_sv
+ gv_fetchmeth_pv
+ gv_fetchmeth_pv_autoload
+ gv_fetchmeth_pvn
+ gv_fetchmeth_pvn_autoload
+ gv_fetchmeth_sv
+ gv_fetchmeth_sv_autoload
+ gv_fetchmethod_pv_flags
+ gv_fetchmethod_pvn_flags
+ gv_fetchmethod_sv_flags
+ gv_init_pv
+ gv_init_pvn
+ gv_init_sv
+ newGVgen_flags
+ sv_derived_from_pv
+ sv_derived_from_pvn
+ sv_derived_from_sv
+ sv_does_pv
+ sv_does_pvn
+ sv_does_sv
+ whichsig_pv
+ whichsig_pvn
+ whichsig_sv
+
+=item perl 5.15.1
+
+ cop_fetch_label
+ cop_store_label
+ pad_add_name_pv
+ pad_add_name_pvn
+ pad_add_name_pvs
+ pad_add_name_sv
+ pad_findmy_pv
+ pad_findmy_pvn
+ pad_findmy_pvs
+ pad_findmy_sv
+
+=item perl 5.13.11
+
+ _to_uni_fold_flags
=item perl 5.13.10
@@ -630,7 +785,6 @@ Perl below which it is unsupported:
HvENAME
OP_CLASS
- SvPV_nomg_nolen
XopFLAGS
amagic_deref_call
bytes_cmp_utf8
@@ -697,7 +851,6 @@ Perl below which it is unsupported:
sv_collxfrm_flags
sv_eq_flags
sv_setpvs_mg
- sv_setref_pvs
=item perl 5.13.5
@@ -757,7 +910,6 @@ Perl below which it is unsupported:
lex_stuff_pvn
lex_stuff_sv
lex_unstuff
- pad_findmy
=item perl 5.11.1
@@ -771,11 +923,10 @@ Perl below which it is unsupported:
Gv_AMupdate
PL_opfreehook
+ SVt_REGEXP
SvOOK_offset
av_iter_p
- fetch_cop_label
gv_add_by_type
- gv_fetchmethod_flags
is_ascii_string
pregfree2
save_adelete
@@ -802,6 +953,8 @@ Perl below which it is unsupported:
=item perl 5.10.0
+ PERL_SYS_INIT
+ PERL_SYS_INIT3
hv_common
hv_common_key_len
sv_destroyable
@@ -830,7 +983,6 @@ Perl below which it is unsupported:
ptr_table_split
ptr_table_store
re_compile
- re_intuit_start
reg_named_buff_all
reg_named_buff_exists
reg_named_buff_fetch
@@ -866,7 +1018,6 @@ Perl below which it is unsupported:
hv_eiter_set
hv_name_set
hv_placeholders_get
- hv_placeholders_p
hv_placeholders_set
hv_riter_p
hv_riter_set
@@ -874,6 +1025,7 @@ Perl below which it is unsupported:
newGIVENOP
newSVhek
newWHENOP
+ pad_compname_type
savepvs
sortsv_flags
vverify
@@ -910,16 +1062,20 @@ Perl below which it is unsupported:
=item perl 5.8.1
+ CvPADLIST
+ PL_comppad
SvVOK
doing_taint
find_runcv
is_utf8_string_loc
packlist
+ pad_add_anon
+ pad_new
+ pad_tidy
save_bool
savestack_grow_cnt
seed
sv_cat_decode
- sv_compile_2op
sv_setpviv
sv_setpviv_mg
unpackstring
@@ -978,21 +1134,20 @@ Perl below which it is unsupported:
save_shared_pvref
savesharedpv
sortsv
- sv_copypv
sv_magicext
sv_nolocking
sv_nosharing
sv_recode_to_utf8
sv_uni_display
+ toFOLD_uni
+ toLOWER_uni
+ toTITLE_uni
+ toUPPER_uni
to_uni_fold
to_uni_lower
to_uni_title
to_uni_upper
to_utf8_case
- to_utf8_fold
- to_utf8_lower
- to_utf8_title
- to_utf8_upper
unpack_str
uvchr_to_utf8_flags
uvuni_to_utf8_flags
@@ -1020,6 +1175,7 @@ Perl below which it is unsupported:
=item perl 5.7.1
POPpbytex
+ XCPT_RETHROW
bytes_from_utf8
despatch_signals
do_openn
@@ -1053,7 +1209,7 @@ Perl below which it is unsupported:
=item perl 5.6.0
- PERL_SYS_INIT3
+ PL_check
SvIOK_UV
SvIOK_notUV
SvIOK_only_UV
@@ -1097,6 +1253,8 @@ Perl below which it is unsupported:
gv_dump
init_i18nl10n
init_i18nl14n
+ isASCII
+ isCNTRL
is_uni_alnum
is_uni_alnum_lc
is_uni_alpha
@@ -1209,6 +1367,7 @@ Perl below which it is unsupported:
=item perl 5.005
+ PL_curpad
PL_modglobal
cx_dump
debop
@@ -1239,6 +1398,10 @@ Perl below which it is unsupported:
=item perl 5.004_05
+ Copy
+ CopyD
+ Move
+ MoveD
do_binmode
save_aelem
save_helem
@@ -1262,6 +1425,8 @@ Perl below which it is unsupported:
SvTAINTED
SvTAINTED_off
SvTAINTED_on
+ XCPT_TRY_END
+ XCPT_TRY_START
block_gimme
call_list
cv_const_sv
@@ -1282,7 +1447,7 @@ Perl below which it is unsupported:
hv_store_ent
ibcmp_locale
my_failure_exit
- my_memcmp
+ my_memset
my_pclose
my_popen
newSVpvf
@@ -1309,6 +1474,8 @@ Perl below which it is unsupported:
sv_vsetpvf
sv_vsetpvf_mg
sv_vsetpvfn
+ toLOWER_LC
+ toUPPER
unsharepvn
vnewSVpvf
warner
@@ -1341,7 +1508,7 @@ Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
@@ -1361,7 +1528,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = '3.21';
sub _init_data
{
@@ -1750,7 +1917,7 @@ SKIP
|>
|>=head1 COPYRIGHT
|>
-|>Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
+|>Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
|>
|>Version 2.x, Copyright (C) 2001, Paul Marquess.
|>
@@ -1839,9 +2006,9 @@ my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
: die "invalid spec: $_" } qw(
AvFILLp|5.004050||p
AvFILL|||
-BhkDISABLE||5.014000|
-BhkENABLE||5.014000|
-BhkENTRY_set||5.014000|
+BhkDISABLE||5.019003|
+BhkENABLE||5.019003|
+BhkENTRY_set||5.019003|
BhkENTRY|||
BhkFLAGS|||
CALL_BLOCK_HOOKS|||
@@ -1860,9 +2027,9 @@ CopSTASHPV|5.006000||p
CopSTASH_eq|5.006000||p
CopSTASH_set|5.006000||p
CopSTASH|5.006000||p
-CopyD|5.009002||p
-Copy|||
-CvPADLIST|||
+CopyD|5.009002|5.004050|p
+Copy||5.004050|
+CvPADLIST||5.008001|
CvSTASH|||
CvWEAKOUTSIDE|||
DEFSV_set|5.010001||p
@@ -1885,6 +2052,9 @@ G_NOARGS|||
G_SCALAR|||
G_VOID||5.004000|
GetVars|||
+GvAV|||
+GvCV|||
+GvHV|||
GvSVn|5.009003||p
GvSV|||
Gv_AMupdate||5.011000|
@@ -1898,8 +2068,12 @@ HeSVKEY_set||5.004000|
HeSVKEY||5.004000|
HeUTF8||5.010001|
HeVAL||5.004000|
+HvENAMELEN||5.015004|
+HvENAMEUTF8||5.015004|
HvENAME||5.013007|
HvNAMELEN_get|5.009003||p
+HvNAMELEN||5.015004|
+HvNAMEUTF8||5.015004|
HvNAME_get|5.009003||p
HvNAME|||
INT2PTR|5.006000||p
@@ -1920,12 +2094,12 @@ LEAVE|||
LINKLIST||5.013006|
LVRET|||
MARK|||
-MULTICALL||5.014000|
+MULTICALL||5.019003|
MY_CXT_CLONE|5.009002||p
MY_CXT_INIT|5.007003||p
MY_CXT|5.007003||p
-MoveD|5.009002||p
-Move|||
+MoveD|5.009002|5.004050|p
+Move||5.004050|
NOOP|5.005000||p
NUM2PTR|5.006000||p
NVTYPE|5.006000||p
@@ -1952,7 +2126,6 @@ PAD_COMPNAME_GEN|||
PAD_COMPNAME_OURSTASH|||
PAD_COMPNAME_PV|||
PAD_COMPNAME_TYPE|||
-PAD_DUP|||
PAD_RESTORE_LOCAL|||
PAD_SAVE_LOCAL|||
PAD_SAVE_SETNULLPAD|||
@@ -1964,7 +2137,7 @@ PAD_SV|||
PERLIO_FUNCS_CAST|5.009003||p
PERLIO_FUNCS_DECL|5.009003||p
PERL_ABS|5.008001||p
-PERL_BCDVERSION|5.014000||p
+PERL_BCDVERSION|5.019002||p
PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
PERL_HASH|5.004000||p
PERL_INT_MAX|5.004000||p
@@ -1982,14 +2155,14 @@ PERL_MAGIC_envelem|5.007002||p
PERL_MAGIC_env|5.007002||p
PERL_MAGIC_ext|5.007002||p
PERL_MAGIC_fm|5.007002||p
-PERL_MAGIC_glob|5.014000||p
+PERL_MAGIC_glob|5.019002||p
PERL_MAGIC_isaelem|5.007002||p
PERL_MAGIC_isa|5.007002||p
-PERL_MAGIC_mutex|5.014000||p
+PERL_MAGIC_mutex|5.019002||p
PERL_MAGIC_nkeys|5.007002||p
-PERL_MAGIC_overload_elem|5.007002||p
+PERL_MAGIC_overload_elem|5.019002||p
PERL_MAGIC_overload_table|5.007002||p
-PERL_MAGIC_overload|5.007002||p
+PERL_MAGIC_overload|5.019002||p
PERL_MAGIC_pos|5.007002||p
PERL_MAGIC_qr|5.007002||p
PERL_MAGIC_regdata|5.007002||p
@@ -2035,9 +2208,9 @@ PERL_SHORT_MAX|5.004000||p
PERL_SHORT_MIN|5.004000||p
PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
PERL_SUBVERSION|5.006000||p
-PERL_SYS_INIT3||5.006000|
-PERL_SYS_INIT|||
-PERL_SYS_TERM||5.014000|
+PERL_SYS_INIT3||5.010000|
+PERL_SYS_INIT||5.010000|
+PERL_SYS_TERM||5.019003|
PERL_UCHAR_MAX|5.004000||p
PERL_UCHAR_MIN|5.004000||p
PERL_UINT_MAX|5.004000||p
@@ -2059,11 +2232,15 @@ PL_DBsingle|||pn
PL_DBsub|||pn
PL_DBtrace|||pn
PL_Sv|5.005000||p
-PL_bufend|5.014000||p
-PL_bufptr|5.014000||p
+PL_bufend|5.019002||p
+PL_bufptr|5.019002||p
+PL_check||5.006000|
PL_compiling|5.004050||p
-PL_copline|5.014000||p
+PL_comppad_name||5.017004|
+PL_comppad||5.008001|
+PL_copline|5.019002||p
PL_curcop|5.004050||p
+PL_curpad||5.005000|
PL_curstash|5.004050||p
PL_debstash|5.004050||p
PL_defgv|5.004050||p
@@ -2071,18 +2248,18 @@ PL_diehook|5.004050||p
PL_dirty|5.004050||p
PL_dowarn|||pn
PL_errgv|5.004050||p
-PL_error_count|5.014000||p
-PL_expect|5.014000||p
+PL_error_count|5.019002||p
+PL_expect|5.019002||p
PL_hexdigit|5.005000||p
PL_hints|5.005000||p
-PL_in_my_stash|5.014000||p
-PL_in_my|5.014000||p
+PL_in_my_stash|5.019002||p
+PL_in_my|5.019002||p
PL_keyword_plugin||5.011002|
PL_last_in_gv|||n
PL_laststatval|5.005000||p
-PL_lex_state|5.014000||p
-PL_lex_stuff|5.014000||p
-PL_linestr|5.014000||p
+PL_lex_state|5.019002||p
+PL_lex_stuff|5.019002||p
+PL_linestr|5.019002||p
PL_modglobal||5.005000|n
PL_na|5.004050||pn
PL_no_modify|5.006000||p
@@ -2094,8 +2271,8 @@ PL_perl_destruct_level|5.004050||p
PL_perldb|5.004050||p
PL_ppaddr|5.006000||p
PL_rpeepp||5.013005|n
-PL_rsfp_filters|5.014000||p
-PL_rsfp|5.014000||p
+PL_rsfp_filters|5.019002||p
+PL_rsfp|5.019002||p
PL_rs|||n
PL_signals|5.008001||p
PL_stack_base|5.004050||p
@@ -2108,8 +2285,8 @@ PL_sv_undef|5.004050||pn
PL_sv_yes|5.004050||pn
PL_tainted|5.004050||p
PL_tainting|5.004050||p
-PL_tokenbuf|5.014000||p
-POP_MULTICALL||5.014000|
+PL_tokenbuf|5.019002||p
+POP_MULTICALL||5.019003|
POPi|||n
POPl|||n
POPn|||n
@@ -2124,7 +2301,7 @@ PTR2nat|5.009003||p
PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
-PUSH_MULTICALL||5.014000|
+PUSH_MULTICALL||5.019003|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
@@ -2132,6 +2309,25 @@ PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
+PadARRAY||5.019003|
+PadMAX||5.019003|
+PadlistARRAY||5.019003|
+PadlistMAX||5.019003|
+PadlistNAMESARRAY||5.019003|
+PadlistNAMESMAX||5.019003|
+PadlistNAMES||5.019003|
+PadlistREFCNT||5.017004|
+PadnameIsOUR|||
+PadnameIsSTATE|||
+PadnameLEN||5.019003|
+PadnameOURSTASH|||
+PadnameOUTER|||
+PadnamePV||5.019003|
+PadnameSV||5.019003|
+PadnameTYPE|||
+PadnameUTF8||5.019003|
+PadnamelistARRAY||5.019003|
+PadnamelistMAX||5.019003|
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
@@ -2160,6 +2356,7 @@ PoisonFree|5.009004||p
PoisonNew|5.009004||p
PoisonWith|5.009004||p
Poison|5.008000||p
+READ_XDIGIT||5.017006|
RETVAL|||n
Renewc|||
Renew|||
@@ -2189,16 +2386,26 @@ SV_UTF8_NO_ENCODING|5.008001||p
SVfARG|5.009005||p
SVf_UTF8|5.006000||p
SVf|5.006000||p
+SVt_INVLIST||5.019002|
SVt_IV|||
+SVt_NULL|||
SVt_NV|||
SVt_PVAV|||
SVt_PVCV|||
+SVt_PVFM|||
+SVt_PVGV|||
SVt_PVHV|||
+SVt_PVIO|||
+SVt_PVIV|||
+SVt_PVLV|||
SVt_PVMG|||
+SVt_PVNV|||
SVt_PV|||
+SVt_REGEXP||5.011000|
Safefree|||
Slab_Alloc|||
Slab_Free|||
+Slab_to_ro|||
Slab_to_rw|||
StructCopy|||
SvCUR_set|||
@@ -2269,7 +2476,7 @@ SvPV_nolen_const|5.009003||p
SvPV_nolen|5.006000||p
SvPV_nomg_const_nolen|5.009003||p
SvPV_nomg_const|5.009003||p
-SvPV_nomg_nolen||5.013007|
+SvPV_nomg_nolen|5.013007||p
SvPV_nomg|5.007002||p
SvPV_renew|5.009003||p
SvPV_set|||
@@ -2285,6 +2492,7 @@ SvPVutf8x||5.006000|
SvPVutf8||5.006000|
SvPVx|||
SvPV|||
+SvREFCNT_dec_NN||5.017007|
SvREFCNT_dec|||
SvREFCNT_inc_NN|5.009004||p
SvREFCNT_inc_simple_NN|5.009004||p
@@ -2315,6 +2523,7 @@ SvTAINTED_off||5.004000|
SvTAINTED_on||5.004000|
SvTAINTED||5.004000|
SvTAINT|||
+SvTHINKFIRST|||
SvTRUE_nomg||5.013006|
SvTRUE|||
SvTYPE|||
@@ -2343,7 +2552,7 @@ UVuf|5.006000||p
UVxf|5.006000||p
WARN_ALL|5.006000||p
WARN_AMBIGUOUS|5.006000||p
-WARN_ASSERTIONS|5.014000||p
+WARN_ASSERTIONS|5.019002||p
WARN_BAREWORD|5.006000||p
WARN_CLOSED|5.006000||p
WARN_CLOSURE|5.006000||p
@@ -2388,10 +2597,11 @@ WARN_UNPACK|5.006000||p
WARN_UNTIE|5.006000||p
WARN_UTF8|5.006000||p
WARN_VOID|5.006000||p
+WIDEST_UTYPE|5.015004||p
XCPT_CATCH|5.009002||p
-XCPT_RETHROW|5.009002||p
-XCPT_TRY_END|5.009002||p
-XCPT_TRY_START|5.009002||p
+XCPT_RETHROW|5.009002|5.007001|p
+XCPT_TRY_END|5.009002|5.004000|p
+XCPT_TRY_START|5.009002|5.004000|p
XPUSHi|||
XPUSHmortal|5.009002||p
XPUSHn|||
@@ -2416,41 +2626,79 @@ XST_mUNDEF|||
XST_mUV|5.008001||p
XST_mYES|||
XS_APIVERSION_BOOTCHECK||5.013004|
+XS_EXTERNAL||5.019003|
+XS_INTERNAL||5.019003|
XS_VERSION_BOOTCHECK|||
XS_VERSION|||
XSprePUSH|5.006000||p
XS|||
-XopDISABLE||5.014000|
-XopENABLE||5.014000|
-XopENTRY_set||5.014000|
-XopENTRY||5.014000|
+XopDISABLE||5.019003|
+XopENABLE||5.019003|
+XopENTRY_set||5.019003|
+XopENTRY||5.019003|
XopFLAGS||5.013007|
ZeroD|5.009002||p
Zero|||
_aMY_CXT|5.007003||p
+_add_range_to_invlist|||
_append_range_to_invlist|||
+_core_swash_init|||
+_get_swash_invlist|||
+_invlist_array_init|||
+_invlist_contains_cp|||
+_invlist_contents|||
+_invlist_dump|||
+_invlist_intersection_maybe_complement_2nd|||
+_invlist_intersection|||
+_invlist_invert_prop|||
+_invlist_invert|||
+_invlist_len|||
+_invlist_populate_swatch|||
+_invlist_search|||
+_invlist_subtract|||
+_invlist_union_maybe_complement_2nd|||
+_invlist_union|||
+_is_uni_FOO||5.017008|
+_is_uni_perl_idcont||5.017008|
+_is_uni_perl_idstart||5.017007|
+_is_utf8_FOO||5.017008|
+_is_utf8_mark||5.017008|
+_is_utf8_perl_idcont||5.017008|
+_is_utf8_perl_idstart||5.017007|
+_new_invlist_C_array|||
_new_invlist|||
_pMY_CXT|5.007003||p
_swash_inversion_hash|||
_swash_to_invlist|||
+_to_fold_latin1|||
+_to_uni_fold_flags||5.013011|
+_to_upper_title_latin1|||
+_to_utf8_fold_flags||5.015006|
+_to_utf8_lower_flags||5.015006|
+_to_utf8_title_flags||5.015006|
+_to_utf8_upper_flags||5.015006|
aMY_CXT_|5.007003||p
aMY_CXT|5.007003||p
-aTHXR_|5.014000||p
-aTHXR|5.014000||p
+aTHXR_|5.019002||p
+aTHXR|5.019002||p
aTHX_|5.006000||p
aTHX|5.006000||p
-add_alternate|||
+aassign_common_vars|||
add_cp_to_invlist|||
add_data|||n
-add_range_to_invlist|||
add_utf16_textfilter|||
addmad|||
+adjust_size_and_find_bucket|||n
+adjust_stack_on_leave|||
+alloc_maybe_populate_EXACT|||
+alloccopstash|||
allocmy|||
amagic_call|||
amagic_cmp_locale|||
amagic_cmp|||
amagic_deref_call||5.013007|
amagic_i_ncmp|||
+amagic_is_enabled|||
amagic_ncmp|||
anonymise_cv_maybe|||
any_dup|||
@@ -2469,6 +2717,7 @@ av_create_and_push||5.009005|
av_create_and_unshift_one||5.009005|
av_delete||5.006000|
av_exists||5.006000|
+av_extend_guts|||
av_extend|||
av_fetch|||
av_fill|||
@@ -2480,10 +2729,13 @@ av_push|||
av_reify|||
av_shift|||
av_store|||
+av_tindex||5.017009|
+av_top_index||5.017009|
av_undef|||
av_unshift|||
ax|||n
-bad_type|||
+bad_type_gv|||
+bad_type_pv|||
bind_match|||
block_end|||
block_gimme||5.004000|
@@ -2510,12 +2762,13 @@ cast_i32||5.006000|
cast_iv||5.006000|
cast_ulong||5.006000|
cast_uv||5.006000|
+check_locale_boundary_crossing|||
check_type_and_open|||
check_uni|||
check_utf8_print|||
checkcomma|||
-checkposixcc|||
ckWARN|5.006000||p
+ck_entersub_args_core|||
ck_entersub_args_list||5.013006|
ck_entersub_args_proto_or_list||5.013006|
ck_entersub_args_proto||5.013006|
@@ -2533,13 +2786,16 @@ clear_placeholders|||
clone_params_del|||n
clone_params_new|||n
closest_cop|||
+compute_EXACTish|||
convert|||
+cop_fetch_label||5.015001|
cop_free|||
cop_hints_2hv||5.013007|
cop_hints_fetch_pvn||5.013007|
cop_hints_fetch_pvs||5.013007|
cop_hints_fetch_pv||5.013007|
cop_hints_fetch_sv||5.013007|
+cop_store_label||5.015001|
cophh_2hv||5.013007|
cophh_copy||5.013007|
cophh_delete_pvn||5.013007|
@@ -2551,29 +2807,40 @@ cophh_fetch_pvs||5.013007|
cophh_fetch_pv||5.013007|
cophh_fetch_sv||5.013007|
cophh_free||5.013007|
-cophh_new_empty||5.014000|
+cophh_new_empty||5.019003|
cophh_store_pvn||5.013007|
cophh_store_pvs||5.013007|
cophh_store_pv||5.013007|
cophh_store_sv||5.013007|
+core_prototype|||
+core_regclass_swash|||
+coresub_op|||
+could_it_be_a_POSIX_class|||
cr_textfilter|||
create_eval_scope|||
-croak_no_modify||5.013003|
+croak_memory_wrap||5.019003|n
+croak_no_mem|||n
+croak_no_modify||5.013003|n
croak_nocontext|||vn
+croak_popstack|||n
croak_sv||5.013001|
-croak_xs_usage||5.010001|
+croak_xs_usage||5.010001|n
croak|||v
csighandler||5.009003|n
curmad|||
+current_re_engine|||
curse|||
custom_op_desc||5.007003|
custom_op_name||5.007003|
custom_op_register||5.013007|
custom_op_xop||5.013007|
-cv_ckproto_len|||
+cv_ckproto_len_flags|||
+cv_clone_into|||
cv_clone|||
+cv_const_sv_or_av|||
cv_const_sv||5.004000|
cv_dump|||
+cv_forget_slab|||
cv_get_call_checker||5.013006|
cv_set_call_checker||5.013006|
cv_undef|||
@@ -2593,7 +2860,7 @@ dNOOP|5.006000||p
dORIGMARK|||
dSP|||
dTHR|5.004050||p
-dTHXR|5.014000||p
+dTHXR|5.019002||p
dTHXa|5.006000||p
dTHXoa|5.006000||p
dTHX|5.006000||p
@@ -2614,6 +2881,7 @@ debstackptrs||5.007003|
debstack||5.007003|
debug_start_match|||
deb||5.007003|v
+defelem_target|||
del_sv|||
delete_eval_scope|||
delimcpy||5.004000|n
@@ -2648,6 +2916,7 @@ do_join|||
do_magic_dump||5.006000|
do_msgrcv|||
do_msgsnd|||
+do_ncmp|||
do_oddball|||
do_op_dump||5.006000|
do_op_xmldump|||
@@ -2723,18 +2992,22 @@ expect_number|||
fbm_compile||5.005000|
fbm_instr||5.005000|
feature_is_enabled|||
-fetch_cop_label||5.011000|
filter_add|||
filter_del|||
filter_gets|||
filter_read|||
+finalize_optree|||
+finalize_op|||
find_and_forget_pmops|||
find_array_subscript|||
find_beginning|||
find_byclass|||
find_hash_subscript|||
find_in_my_stash|||
+find_lexical_cv|||
+find_runcv_where|||
find_runcv||5.008001|
+find_rundefsv2|||
find_rundefsvoffset||5.009002|
find_rundefsv||5.013002|
find_script|||
@@ -2747,6 +3020,7 @@ foldEQ_utf8||5.013002|
foldEQ||5.013002|n
fold_constants|||
forbid_setid|||
+force_ident_maybe_lex|||
force_ident|||
force_list|||
force_next|||
@@ -2755,6 +3029,7 @@ force_version|||
force_word|||
forget_pmop|||
form_nocontext|||vn
+form_short_octal_warning|||
form||5.004000|v
fp_dup|||
fprintf_nocontext|||vn
@@ -2762,6 +3037,7 @@ free_global_struct|||
free_tied_hv_pool|||
free_tmps|||
gen_constant_list|||
+get_and_check_backslash_N_name|||
get_aux_mg|||
get_av|5.006000||p
get_context||5.006000|n
@@ -2772,6 +3048,9 @@ get_db_sub|||
get_debug_opts|||
get_hash_seed|||
get_hv|5.006000||p
+get_invlist_iter_addr|||
+get_invlist_offset_addr|||
+get_invlist_previous_index_addr|||
get_mstats|||
get_no_modify|||
get_num|||
@@ -2791,8 +3070,10 @@ gp_dup|||
gp_free|||
gp_ref|||
grok_bin|5.007003||p
+grok_bslash_N|||
grok_bslash_c|||
grok_bslash_o|||
+grok_bslash_x|||
grok_hex|5.007003||p
grok_number|5.007002||p
grok_numeric_radix|5.007002||p
@@ -2804,6 +3085,9 @@ gv_IOadd|||
gv_SVadd|||
gv_add_by_type||5.011000|
gv_autoload4||5.004000|
+gv_autoload_pvn||5.015004|
+gv_autoload_pv||5.015004|
+gv_autoload_sv||5.015004|
gv_check|||
gv_const_sv||5.009003|
gv_dump||5.006000|
@@ -2814,8 +3098,16 @@ gv_ename|||
gv_fetchfile_flags||5.009005|
gv_fetchfile|||
gv_fetchmeth_autoload||5.007003|
+gv_fetchmeth_pv_autoload||5.015004|
+gv_fetchmeth_pvn_autoload||5.015004|
+gv_fetchmeth_pvn||5.015004|
+gv_fetchmeth_pv||5.015004|
+gv_fetchmeth_sv_autoload||5.015004|
+gv_fetchmeth_sv||5.015004|
gv_fetchmethod_autoload||5.004000|
-gv_fetchmethod_flags||5.011000|
+gv_fetchmethod_pv_flags||5.015004|
+gv_fetchmethod_pvn_flags||5.015004|
+gv_fetchmethod_sv_flags||5.015004|
gv_fetchmethod|||
gv_fetchmeth|||
gv_fetchpvn_flags|5.009002||p
@@ -2825,24 +3117,27 @@ gv_fetchsv|5.009002||p
gv_fullname3||5.004000|
gv_fullname4||5.006001|
gv_fullname|||
-gv_get_super_pkg|||
gv_handler||5.007001|
-gv_init_sv|||
+gv_init_pvn||5.015004|
+gv_init_pv||5.015004|
+gv_init_svtype|||
+gv_init_sv||5.015004|
gv_init|||
gv_magicalize_isa|||
-gv_magicalize_overload|||
gv_name_set||5.009004|
gv_stashpvn|5.004000||p
gv_stashpvs|5.009003||p
gv_stashpv|||
gv_stashsv|||
gv_try_downgrade|||
+handle_regex_sets|||
he_dup|||
hek_dup|||
+hfree_next_entry|||
hfreeentries|||
hsplit|||
hv_assert|||
-hv_auxinit|||n
+hv_auxinit|||
hv_backreferences_p|||
hv_clear_placeholders||5.009001|
hv_clear|||
@@ -2863,6 +3158,7 @@ hv_fetch_ent||5.004000|
hv_fetchs|5.009003||p
hv_fetch|||
hv_fill||5.013002|
+hv_free_ent_ret|||
hv_free_ent||5.004000|
hv_iterinit|||
hv_iterkeysv||5.004000|
@@ -2878,8 +3174,9 @@ hv_magic|||
hv_name_set||5.009003|
hv_notallowed|||
hv_placeholders_get||5.009003|
-hv_placeholders_p||5.009003|
+hv_placeholders_p|||
hv_placeholders_set||5.009003|
+hv_rand_set||5.017011|
hv_riter_p||5.009003|
hv_riter_set||5.009003|
hv_scalar||5.009001|
@@ -2898,6 +3195,7 @@ incpush_use_sep|||
incpush|||
ingroup|||
init_argv_symbols|||
+init_constants|||
init_dbargs|||
init_debugger|||
init_global_struct|||
@@ -2911,32 +3209,42 @@ init_postdump_symbols|||
init_predump_symbols|||
init_stacks||5.005000|
init_tm||5.007002|
+inplace_aassign|||
instr|||n
intro_my|||
intuit_method|||
intuit_more|||
invert|||
invlist_array|||
-invlist_destroy|||
+invlist_clone|||
invlist_extend|||
-invlist_intersection|||
-invlist_len|||
+invlist_highest|||
+invlist_is_iterating|||
+invlist_iterfinish|||
+invlist_iterinit|||
+invlist_iternext|||
invlist_max|||
-invlist_set_array|||
+invlist_previous_index|||
invlist_set_len|||
-invlist_set_max|||
+invlist_set_previous_index|||
invlist_trim|||
-invlist_union|||
invoke_exception_hook|||
io_close|||
isALNUMC|5.006000||p
+isALNUM_lazy|||
+isALPHANUMERIC||5.017008|
isALPHA|||
-isASCII|5.006000||p
+isASCII|5.006000|5.006000|p
isBLANK|5.006001||p
-isCNTRL|5.006000||p
+isCNTRL|5.006000|5.006000|p
isDIGIT|||
+isFOO_lc|||
+isFOO_utf8_lc|||
isGRAPH|5.006000||p
isGV_with_GP|5.009004||p
+isIDCONT||5.017008|
+isIDFIRST_lazy|||
+isIDFIRST|||
isLOWER|||
isOCTAL||5.013005|
isPRINT|5.004000||p
@@ -2948,17 +3256,20 @@ isWORDCHAR||5.013006|
isXDIGIT|5.006000||p
is_an_int|||
is_ascii_string||5.011000|n
-is_gv_magical_sv|||
+is_cur_LC_category_utf8|||
is_handle_constructor|||n
-is_inplace_av|||
is_list_assignment|||
is_lvalue_sub||5.007001|
is_uni_alnum_lc||5.006000|
+is_uni_alnumc_lc||5.017007|
+is_uni_alnumc||5.017007|
is_uni_alnum||5.006000|
is_uni_alpha_lc||5.006000|
is_uni_alpha||5.006000|
is_uni_ascii_lc||5.006000|
is_uni_ascii||5.006000|
+is_uni_blank_lc||5.017002|
+is_uni_blank||5.017002|
is_uni_cntrl_lc||5.006000|
is_uni_cntrl||5.006000|
is_uni_digit_lc||5.006000|
@@ -2979,19 +3290,12 @@ is_uni_upper_lc||5.006000|
is_uni_upper||5.006000|
is_uni_xdigit_lc||5.006000|
is_uni_xdigit||5.006000|
-is_utf8_X_LVT|||
-is_utf8_X_LV_LVT_V|||
-is_utf8_X_LV|||
-is_utf8_X_L|||
-is_utf8_X_T|||
-is_utf8_X_V|||
-is_utf8_X_begin|||
-is_utf8_X_extend|||
-is_utf8_X_non_hangul|||
-is_utf8_X_prepend|||
+is_utf8_alnumc||5.017007|
is_utf8_alnum||5.006000|
is_utf8_alpha||5.006000|
is_utf8_ascii||5.006000|
+is_utf8_blank||5.017002|
+is_utf8_char_buf||5.015008|n
is_utf8_char_slow|||n
is_utf8_char||5.006000|n
is_utf8_cntrl||5.006000|
@@ -3059,12 +3363,14 @@ mad_free|||
madlex|||
madparse|||
magic_clear_all_env|||
+magic_cleararylen_p|||
magic_clearenv|||
magic_clearhints|||
magic_clearhint|||
magic_clearisa|||
magic_clearpack|||
magic_clearsig|||
+magic_copycallchecker|||
magic_dump||5.006000|
magic_existspack|||
magic_freearylen_p|||
@@ -3081,7 +3387,6 @@ magic_getuvar|||
magic_getvec|||
magic_get|||
magic_killbackrefs|||
-magic_len|||
magic_methcall1|||
magic_methcall|||v
magic_methpack|||
@@ -3091,7 +3396,6 @@ magic_regdatum_get|||
magic_regdatum_set|||
magic_scalarpack|||
magic_set_all_env|||
-magic_setamagic|||
magic_setarylen|||
magic_setcollxfrm|||
magic_setdbline|||
@@ -3121,6 +3425,7 @@ malloced_size|||n
malloc||5.007002|n
markstack_grow|||
matcher_matches_sv|||
+mayberelocate|||
measure_struct|||
memEQs|5.009005||p
memEQ|5.004000||p
@@ -3137,6 +3442,7 @@ mfree||5.007002|n
mg_clear|||
mg_copy|||
mg_dup|||
+mg_find_mglob|||
mg_findext||5.013008|
mg_find|||
mg_free_type||5.013006|
@@ -3148,10 +3454,10 @@ mg_magical|||
mg_set|||
mg_size||5.005000|
mini_mktime||5.007002|
+minus_v|||
missingterm|||
mode_from_discipline|||
modkids|||
-mod|||
more_bodies|||
more_sv|||
moreswitches|||
@@ -3171,17 +3477,10 @@ mro_set_mro||5.010001|
mro_set_private_data||5.010001|
mul128|||
mulexp10|||n
-munge_qwlist_to_paren_list|||
my_atof2||5.007002|
my_atof||5.006000|
my_attrs|||
my_bcopy|||n
-my_betoh16|||n
-my_betoh32|||n
-my_betoh64|||n
-my_betohi|||n
-my_betohl|||n
-my_betohs|||n
my_bzero|||n
my_chsize|||
my_clearenv|||
@@ -3193,31 +3492,11 @@ my_exit|||
my_failure_exit||5.004000|
my_fflush_all||5.006000|
my_fork||5.007003|n
-my_htobe16|||n
-my_htobe32|||n
-my_htobe64|||n
-my_htobei|||n
-my_htobel|||n
-my_htobes|||n
-my_htole16|||n
-my_htole32|||n
-my_htole64|||n
-my_htolei|||n
-my_htolel|||n
-my_htoles|||n
-my_htonl|||
my_kid|||
-my_letoh16|||n
-my_letoh32|||n
-my_letoh64|||n
-my_letohi|||n
-my_letohl|||n
-my_letohs|||n
my_lstat_flags|||
-my_lstat||5.014000|
-my_memcmp||5.004000|n
-my_memset|||n
-my_ntohl|||
+my_lstat||5.019003|
+my_memcmp|||n
+my_memset||5.004000|n
my_pclose||5.004000|
my_popen_list||5.007001|
my_popen||5.004000|
@@ -3226,12 +3505,10 @@ my_snprintf|5.009004||pvn
my_socketpair||5.007003|n
my_sprintf|5.009003||pvn
my_stat_flags|||
-my_stat||5.014000|
+my_stat||5.019003|
my_strftime||5.007002|
my_strlcat|5.009004||pn
my_strlcpy|5.009004||pn
-my_swabn|||n
-my_swap|||
my_unexec|||
my_vsnprintf||5.009004|n
need_utf8|||n
@@ -3240,11 +3517,13 @@ newANONHASH|||
newANONLIST|||
newANONSUB|||
newASSIGNOP|||
+newATTRSUB_flags|||
newATTRSUB||5.006000|
newAVREF|||
newAV|||
newBINOP|||
newCONDOP|||
+newCONSTSUB_flags||5.015006|
newCONSTSUB|5.004050||p
newCVREF|||
newDEFSVOP|||
@@ -3255,6 +3534,7 @@ newGIVWHENOP|||
newGP|||
newGVOP|||
newGVREF|||
+newGVgen_flags||5.015004|
newGVgen|||
newHVREF|||
newHVhv||5.005000|
@@ -3266,7 +3546,7 @@ newLOOPEX|||
newLOOPOP|||
newMADPROP|||
newMADsv|||
-newMYSUB|||
+newMYSUB||5.017004|
newNULLLIST|||
newOP|||
newPADOP|||
@@ -3279,6 +3559,7 @@ newRV_noinc|5.004000||p
newRV|||
newSLICEOP|||
newSTATEOP|||
+newSTUB|||
newSUB|||
newSVOP|||
newSVREF|||
@@ -3286,6 +3567,7 @@ newSV_type|5.009005||p
newSVhek||5.009003|
newSViv|||
newSVnv|||
+newSVpadname||5.017004|
newSVpv_share||5.013006|
newSVpvf_nocontext|||vn
newSVpvf||5.004000|v
@@ -3306,6 +3588,7 @@ newUNOP|||
newWHENOP||5.009003|
newWHILEOP||5.013007|
newXS_flags||5.009004|
+newXS_len_flags|||
newXSproto||5.006000|
newXS||5.006000|
new_collate||5.006000|
@@ -3325,6 +3608,7 @@ no_bareword_allowed|||
no_fh_allowed|||
no_op|||
not_a_number|||
+not_incrementable|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
@@ -3339,7 +3623,9 @@ op_dump||5.006000|
op_free|||
op_getmad_weak|||
op_getmad|||
+op_integerize|||
op_linklist||5.013006|
+op_lvalue_flags|||
op_lvalue||5.013007|
op_null||5.007002|
op_prepend_elem||5.013006|
@@ -3348,9 +3634,13 @@ op_refcnt_inc|||
op_refcnt_lock||5.009002|
op_refcnt_unlock||5.009002|
op_scope||5.013007|
+op_std_init|||
+op_unscope|||
op_xmldump|||
open_script|||
-opt_scalarhv|||
+opslab_force_free|||
+opslab_free_nopad|||
+opslab_free|||
pMY_CXT_|5.007003||p
pMY_CXT|5.007003||p
pTHX_|5.006000||p
@@ -3361,43 +3651,53 @@ pack_rec|||
package_version|||
package|||
packlist||5.008001|
-pad_add_anon|||
-pad_add_name_sv|||
-pad_add_name|||
+pad_add_anon||5.008001|
+pad_add_name_pvn||5.015001|
+pad_add_name_pvs||5.015001|
+pad_add_name_pv||5.015001|
+pad_add_name_sv||5.015001|
+pad_alloc_name|||
pad_alloc|||
pad_block_start|||
pad_check_dup|||
-pad_compname_type|||
+pad_compname_type||5.009003|
pad_findlex|||
-pad_findmy||5.011002|
+pad_findmy_pvn||5.015001|
+pad_findmy_pvs||5.015001|
+pad_findmy_pv||5.015001|
+pad_findmy_sv||5.015001|
pad_fixup_inner_anons|||
pad_free|||
pad_leavemy|||
-pad_new|||
+pad_new||5.008001|
pad_peg|||n
pad_push|||
pad_reset|||
pad_setsv|||
pad_sv|||
pad_swipe|||
-pad_tidy|||
+pad_tidy||5.008001|
padlist_dup|||
+padlist_store|||
parse_arithexpr||5.013008|
parse_barestmt||5.013007|
parse_block||5.013007|
parse_body|||
parse_fullexpr||5.013008|
parse_fullstmt||5.013005|
+parse_ident|||
parse_label||5.013007|
parse_listexpr||5.013008|
+parse_lparen_question_flags|||
parse_stmtseq||5.013006|
parse_termexpr||5.013008|
parse_unicode_opts|||
parser_dup|||
+parser_free_nexttoke_ops|||
parser_free|||
-path_is_absolute|||n
+path_is_searchable|||n
peep|||
-pending_Slabs_to_ro|||
+pending_ident|||
perl_alloc_using|||n
perl_alloc|||n
perl_clone_using|||n
@@ -3424,6 +3724,7 @@ prescan_version||5.011004|
printbuf|||
printf_nocontext|||vn
process_special_blocks|||
+ptr_hash|||n
ptr_table_clear||5.009005|
ptr_table_fetch||5.009005|
ptr_table_find|||n
@@ -3433,6 +3734,7 @@ ptr_table_split||5.009005|
ptr_table_store||5.009005|
push_scope|||
put_byte|||
+put_latin1_charclass_innards|||
pv_display|5.006000||p
pv_escape|5.009004||p
pv_pretty|5.009004||p
@@ -3442,14 +3744,15 @@ qsortsvu|||
re_compile||5.009005|
re_croak2|||
re_dup_guts|||
-re_intuit_start||5.009005|
+re_intuit_start||5.019001|
re_intuit_string||5.006000|
+re_op_compile|||
readpipe_override|||
realloc||5.007002|n
-reentrant_free|||
-reentrant_init|||
-reentrant_retry|||vn
-reentrant_size|||
+reentrant_free||5.019003|
+reentrant_init||5.019003|
+reentrant_retry||5.019003|vn
+reentrant_size||5.019003|
ref_array_or_hash|||
refcounted_he_chain_2hv|||
refcounted_he_fetch_pvn|||
@@ -3465,7 +3768,7 @@ refcounted_he_new_sv|||
refcounted_he_value|||
refkids|||
refto|||
-ref||5.014000|
+ref||5.019003|
reg_check_named_buff_matched|||
reg_named_buff_all||5.009005|
reg_named_buff_exists||5.009005|
@@ -3475,7 +3778,6 @@ reg_named_buff_iter|||
reg_named_buff_nextkey||5.009005|
reg_named_buff_scalar||5.009005|
reg_named_buff|||
-reg_namedseq|||
reg_node|||
reg_numbered_buff_fetch|||
reg_numbered_buff_length|||
@@ -3494,6 +3796,7 @@ regcppop|||
regcppush|||
regcurly|||
regdump_extflags|||
+regdump_intflags|||
regdump||5.005000|
regdupe_internal|||
regexec_flags||5.005000|
@@ -3506,6 +3809,7 @@ reginitcolors||5.006000|
reginsert|||
regmatch|||
regnext||5.005000|
+regpatws|||n
regpiece|||
regpposixcc|||
regprop|||
@@ -3518,6 +3822,7 @@ regwhite|||n
reg|||
repeatcpy|||n
report_evil_fh|||
+report_redefined_cv|||
report_uninit|||
report_wrongway_fh|||
require_pv||5.006000|
@@ -3576,7 +3881,7 @@ save_iv||5.005000|
save_lines|||
save_list|||
save_long|||
-save_magic|||
+save_magic_flags|||
save_mortalizesv||5.007001|
save_nogv|||
save_op||5.005000|
@@ -3632,14 +3937,10 @@ screaminstr||5.005000|
search_const|||
seed||5.008001|
sequence_num|||
-sequence_tail|||
-sequence|||
set_context||5.006000|n
set_numeric_local||5.006000|
set_numeric_radix||5.006000|
set_numeric_standard||5.006000|
-set_regclass_bit_fold|||
-set_regclass_bit|||
setdefout|||
share_hek_flags|||
share_hek||5.004000|
@@ -3649,7 +3950,7 @@ simplify_sort|||
skipspace0|||
skipspace1|||
skipspace2|||
-skipspace|||
+skipspace_flags|||
softref2xv|||
sortcv_stacked|||
sortcv_xsub|||
@@ -3662,9 +3963,7 @@ stack_grow|||
start_force|||
start_glob|||
start_subparse||5.004000|
-stashpv_hvname_match||5.014000|
stdize_locale|||
-store_cop_label|||
strEQ|||
strGE|||
strGT|||
@@ -3738,14 +4037,21 @@ sv_cmp_locale||5.004000|
sv_cmp|||
sv_collxfrm_flags||5.013006|
sv_collxfrm|||
-sv_compile_2op_is_broken|||
-sv_compile_2op||5.008001|
-sv_copypv||5.007003|
+sv_copypv_flags||5.017002|
+sv_copypv_nomg||5.017002|
+sv_copypv|||
sv_dec_nomg||5.013002|
sv_dec|||
sv_del_backref|||
+sv_derived_from_pvn||5.015004|
+sv_derived_from_pv||5.015004|
+sv_derived_from_sv||5.015004|
sv_derived_from||5.004000|
sv_destroyable||5.010000|
+sv_display|||
+sv_does_pvn||5.015004|
+sv_does_pv||5.015004|
+sv_does_sv||5.015004|
sv_does||5.009004|
sv_dump|||
sv_dup_common|||
@@ -3771,11 +4077,14 @@ sv_isa|||
sv_isobject|||
sv_iv||5.005000|
sv_kill_backrefs|||
+sv_len_utf8_nomg|||
sv_len_utf8||5.006000|
sv_len|||
-sv_magic_portable|5.014000|5.004000|p
+sv_magic_portable|5.019003|5.004000|p
+sv_magicext_mglob|||
sv_magicext||5.007003|
sv_magic|||
+sv_mortalcopy_flags|||
sv_mortalcopy|||
sv_ncmp|||
sv_newmortal|||
@@ -3785,6 +4094,7 @@ sv_nosharing||5.007003|
sv_nounlocking|||
sv_nv||5.005000|
sv_peek||5.005000|
+sv_pos_b2u_flags||5.019003|
sv_pos_b2u_midway|||
sv_pos_b2u||5.006000|
sv_pos_u2b_cached|||
@@ -3805,11 +4115,14 @@ sv_pvutf8||5.006000|
sv_pv||5.006000|
sv_recode_to_utf8||5.007003|
sv_reftype|||
+sv_ref|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
+sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
+sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
@@ -3829,7 +4142,7 @@ sv_setpv|||
sv_setref_iv|||
sv_setref_nv|||
sv_setref_pvn|||
-sv_setref_pvs||5.013006|
+sv_setref_pvs||5.019003|
sv_setref_pv|||
sv_setref_uv||5.007001|
sv_setsv_cow|||
@@ -3862,6 +4175,7 @@ sv_utf8_upgrade_nomg||5.007002|
sv_utf8_upgrade||5.007001|
sv_uv|5.005000||p
sv_vcatpvf_mg|5.006000|5.004000|p
+sv_vcatpvfn_flags||5.017002|
sv_vcatpvfn||5.004000|
sv_vcatpvf|5.006000|5.004000|p
sv_vsetpvf_mg|5.006000|5.004000|p
@@ -3871,8 +4185,8 @@ sv_xmlpeek|||
svtype|||
swallow_bom|||
swash_fetch||5.007002|
-swash_get|||
swash_init||5.006000|
+swatch_get|||
sys_init3||5.010000|n
sys_init||5.010000|n
sys_intern_clear|||
@@ -3883,9 +4197,22 @@ taint_env|||
taint_proper|||
tied_method|||v
tmps_grow||5.006000|
+toFOLD_uni||5.007003|
+toFOLD_utf8||5.019001|
+toFOLD||5.019001|
+toLOWER_L1||5.019001|
+toLOWER_LC||5.004000|
+toLOWER_uni||5.007003|
+toLOWER_utf8||5.015007|
toLOWER|||
-toUPPER|||
+toTITLE_uni||5.007003|
+toTITLE_utf8||5.015007|
+toTITLE||5.019001|
+toUPPER_uni||5.007003|
+toUPPER_utf8||5.015007|
+toUPPER||5.004000|
to_byte_substr|||
+to_lower_latin1|||
to_uni_fold||5.007003|
to_uni_lower_lc||5.006000|
to_uni_lower||5.007003|
@@ -3894,18 +4221,21 @@ to_uni_title||5.007003|
to_uni_upper_lc||5.006000|
to_uni_upper||5.007003|
to_utf8_case||5.007003|
-to_utf8_fold||5.007003|
-to_utf8_lower||5.007003|
+to_utf8_fold||5.015007|
+to_utf8_lower||5.015007|
to_utf8_substr|||
-to_utf8_title||5.007003|
-to_utf8_upper||5.007003|
+to_utf8_title||5.015007|
+to_utf8_upper||5.015007|
token_free|||
token_getmad|||
tokenize_use|||
tokeq|||
tokereport|||
-too_few_arguments|||
-too_many_arguments|||
+too_few_arguments_pv|||
+too_few_arguments_sv|||
+too_many_arguments_pv|||
+too_many_arguments_sv|||
+translate_substr_offsets|||
try_amagic_bin|||
try_amagic_un|||
uiv_2buf|||n
@@ -3930,7 +4260,9 @@ utf8_length||5.007001|
utf8_mg_len_cache_update|||
utf8_mg_pos_cache_update|||
utf8_to_bytes||5.006001|
+utf8_to_uvchr_buf||5.015009|
utf8_to_uvchr||5.007001|
+utf8_to_uvuni_buf||5.015009|
utf8_to_uvuni||5.007001|
utf8n_to_uvchr|||
utf8n_to_uvuni||5.007001|
@@ -3939,6 +4271,9 @@ uvchr_to_utf8_flags||5.007003|
uvchr_to_utf8|||
uvuni_to_utf8_flags||5.007003|
uvuni_to_utf8||5.007001|
+valid_utf8_to_uvchr|||
+valid_utf8_to_uvuni||5.015009|
+validate_proto|||
validate_suid|||
varname|||
vcmp||5.009000|
@@ -3963,10 +4298,15 @@ warn_sv||5.013001|
warner_nocontext|||vn
warner|5.006000|5.004000|pv
warn|||v
+was_lvalue_sub|||
watch|||
+whichsig_pvn||5.015004|
+whichsig_pv||5.015004|
+whichsig_sv||5.015004|
whichsig|||
+win32_croak_not_implemented|||n
with_queued_errors|||
-write_no_mem|||
+wrap_op_checker||5.015008|
write_to_stderr|||
xmldump_all_perl|||
xmldump_all|||
@@ -3981,6 +4321,8 @@ xmldump_sub|||
xmldump_vindent|||
xs_apiversion_bootcheck|||
xs_version_bootcheck|||
+yyerror_pvn|||
+yyerror_pv|||
yyerror|||
yylex|||
yyparse|||
@@ -5088,6 +5430,10 @@ __DATA__
# define IVSIZE 8
#endif
+#ifndef LONGSIZE
+# define LONGSIZE 8
+#endif
+
#ifndef PERL_QUAD_MIN
# define PERL_QUAD_MIN IV_MIN
#endif
@@ -5109,6 +5455,10 @@ __DATA__
# define IVTYPE long
#endif
+#ifndef LONGSIZE
+# define LONGSIZE 4
+#endif
+
#ifndef IV_MIN
# define IV_MIN PERL_LONG_MIN
#endif
@@ -5390,15 +5740,15 @@ typedef NVTYPE NV;
#undef STMT_START
#undef STMT_END
#ifdef PERL_USE_GCC_BRACE_GROUPS
-# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
-# define STMT_END )
+# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
+# define STMT_END )
#else
# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
-# define STMT_START if (1)
-# define STMT_END else (void)0
+# define STMT_START if (1)
+# define STMT_END else (void)0
# else
-# define STMT_START do
-# define STMT_END while (0)
+# define STMT_START do
+# define STMT_END while (0)
# endif
#endif
#ifndef boolSV
@@ -5511,13 +5861,13 @@ typedef NVTYPE NV;
#endif
#ifndef PERL_HASH
# define PERL_HASH(hash,str,len) \
- STMT_START { \
- const char *s_PeRlHaSh = str; \
- I32 i_PeRlHaSh = len; \
- U32 hash_PeRlHaSh = 0; \
- while (i_PeRlHaSh--) \
- hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
- (hash) = hash_PeRlHaSh; \
+ STMT_START { \
+ const char *s_PeRlHaSh = str; \
+ I32 i_PeRlHaSh = len; \
+ U32 hash_PeRlHaSh = 0; \
+ while (i_PeRlHaSh--) \
+ hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
+ (hash) = hash_PeRlHaSh; \
} STMT_END
#endif
@@ -5589,16 +5939,22 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
*/
# undef isPRINT
# endif
+
+#ifdef HAS_QUAD
+# define WIDEST_UTYPE U64TYPE
+#else
+# define WIDEST_UTYPE U32
+#endif
#ifndef isALNUMC
# define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
#endif
#ifndef isASCII
-# define isASCII(c) ((U8) (c) <= 127)
+# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127)
#endif
#ifndef isCNTRL
-# define isCNTRL(c) ((U8) (c) < ' ' || (c) == 127)
+# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127)
#endif
#ifndef isGRAPH
@@ -5852,16 +6208,16 @@ extern yy_parser DPPP_(dummy_PL_parser);
#endif
#ifndef G_METHOD
-# define G_METHOD 64
+# define G_METHOD 64
# ifdef call_sv
# undef call_sv
# endif
# if (PERL_BCDVERSION < 0x5006000)
# define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \
- (flags) & ~G_METHOD) : perl_call_sv(sv, flags))
+ (flags) & ~G_METHOD) : perl_call_sv(sv, flags))
# else
# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \
- (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags))
+ (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags))
# endif
#endif
@@ -5898,7 +6254,7 @@ DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
PUTBACK;
if (croak_on_error && SvTRUE(GvSV(errgv)))
- croak(SvPVx(GvSV(errgv), na));
+ croak(SvPVx(GvSV(errgv), na));
return sv;
}
@@ -5938,40 +6294,40 @@ DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
SvREADONLY_off(((SVOP*)modname)->op_sv);
modname->op_private |= OPpCONST_BARE;
if (ver) {
- veop = newSVOP(OP_CONST, 0, ver);
+ veop = newSVOP(OP_CONST, 0, ver);
}
else
- veop = NULL;
+ veop = NULL;
if (flags & PERL_LOADMOD_NOIMPORT) {
- imop = sawparens(newNULLLIST());
+ imop = sawparens(newNULLLIST());
}
else if (flags & PERL_LOADMOD_IMPORT_OPS) {
- imop = va_arg(*args, OP*);
+ imop = va_arg(*args, OP*);
}
else {
- SV *sv;
- imop = NULL;
- sv = va_arg(*args, SV*);
- while (sv) {
- imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
- sv = va_arg(*args, SV*);
- }
+ SV *sv;
+ imop = NULL;
+ sv = va_arg(*args, SV*);
+ while (sv) {
+ imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
+ sv = va_arg(*args, SV*);
+ }
}
{
- const line_t ocopline = PL_copline;
- COP * const ocurcop = PL_curcop;
- const int oexpect = PL_expect;
+ const line_t ocopline = PL_copline;
+ COP * const ocurcop = PL_curcop;
+ const int oexpect = PL_expect;
#if (PERL_BCDVERSION >= 0x5004000)
- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
- veop, modname, imop);
+ utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
+ veop, modname, imop);
#else
- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
- modname, imop);
+ utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
+ modname, imop);
#endif
- PL_expect = oexpect;
- PL_copline = ocopline;
- PL_curcop = ocurcop;
+ PL_expect = oexpect;
+ PL_copline = ocopline;
+ PL_curcop = ocurcop;
}
}
@@ -6063,35 +6419,35 @@ extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
void
DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
{
- U32 oldhints = PL_hints;
- HV *old_cop_stash = PL_curcop->cop_stash;
- HV *old_curstash = PL_curstash;
- line_t oldline = PL_curcop->cop_line;
- PL_curcop->cop_line = D_PPP_PL_copline;
+ U32 oldhints = PL_hints;
+ HV *old_cop_stash = PL_curcop->cop_stash;
+ HV *old_curstash = PL_curstash;
+ line_t oldline = PL_curcop->cop_line;
+ PL_curcop->cop_line = D_PPP_PL_copline;
- PL_hints &= ~HINT_BLOCK_SCOPE;
- if (stash)
- PL_curstash = PL_curcop->cop_stash = stash;
+ PL_hints &= ~HINT_BLOCK_SCOPE;
+ if (stash)
+ PL_curstash = PL_curcop->cop_stash = stash;
- newSUB(
+ newSUB(
#if (PERL_BCDVERSION < 0x5003022)
- start_subparse(),
+ start_subparse(),
#elif (PERL_BCDVERSION == 0x5003022)
- start_subparse(0),
+ start_subparse(0),
#else /* 5.003_23 onwards */
- start_subparse(FALSE, 0),
+ start_subparse(FALSE, 0),
#endif
- newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
- newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */
- newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
- );
+ newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
+ newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */
+ newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
+ );
- PL_hints = oldhints;
- PL_curcop->cop_stash = old_cop_stash;
- PL_curstash = old_curstash;
- PL_curcop->cop_line = oldline;
+ PL_hints = oldhints;
+ PL_curcop->cop_stash = old_cop_stash;
+ PL_curstash = old_curstash;
+ PL_curcop->cop_line = oldline;
}
#endif
#endif
@@ -6128,64 +6484,64 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
#if (PERL_BCDVERSION < 0x5004068)
/* Fetches the SV that keeps the per-interpreter data. */
#define dMY_CXT_SV \
- SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
+ SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
#else /* >= perl5.004_68 */
#define dMY_CXT_SV \
- SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \
- sizeof(MY_CXT_KEY)-1, TRUE)
+ SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \
+ sizeof(MY_CXT_KEY)-1, TRUE)
#endif /* < perl5.004_68 */
/* This declaration should be used within all functions that use the
* interpreter-local data. */
-#define dMY_CXT \
- dMY_CXT_SV; \
- my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv))
+#define dMY_CXT \
+ dMY_CXT_SV; \
+ my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv))
/* 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 \
- dMY_CXT_SV; \
- /* newSV() allocates one more than needed */ \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Zero(my_cxtp, 1, my_cxt_t); \
- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+ dMY_CXT_SV; \
+ /* newSV() allocates one more than needed */ \
+ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+ Zero(my_cxtp, 1, my_cxt_t); \
+ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
/* 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
#endif /* START_MY_CXT */
#ifndef MY_CXT_CLONE
/* Clones the per-interpreter data. */
#define MY_CXT_CLONE \
- dMY_CXT_SV; \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+ dMY_CXT_SV; \
+ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+ Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
+ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
#endif
#else /* single interpreter */
#ifndef START_MY_CXT
-#define START_MY_CXT static my_cxt_t my_cxt;
-#define dMY_CXT_SV dNOOP
-#define dMY_CXT dNOOP
-#define MY_CXT_INIT NOOP
-#define MY_CXT my_cxt
+#define START_MY_CXT static my_cxt_t my_cxt;
+#define dMY_CXT_SV dNOOP
+#define dMY_CXT dNOOP
+#define MY_CXT_INIT NOOP
+#define MY_CXT my_cxt
-#define pMY_CXT void
+#define pMY_CXT void
#define pMY_CXT_
#define _pMY_CXT
#define aMY_CXT
@@ -6195,26 +6551,26 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
#endif /* START_MY_CXT */
#ifndef MY_CXT_CLONE
-#define MY_CXT_CLONE NOOP
+#define MY_CXT_CLONE NOOP
#endif
#endif
#ifndef IVdf
# if IVSIZE == LONGSIZE
-# define IVdf "ld"
-# define UVuf "lu"
-# define UVof "lo"
-# define UVxf "lx"
-# define UVXf "lX"
+# define IVdf "ld"
+# define UVuf "lu"
+# define UVof "lo"
+# define UVxf "lx"
+# define UVXf "lX"
+# elif IVSIZE == INTSIZE
+# define IVdf "d"
+# define UVuf "u"
+# define UVof "o"
+# define UVxf "x"
+# define UVXf "X"
# else
-# if IVSIZE == INTSIZE
-# define IVdf "d"
-# define UVuf "u"
-# define UVof "o"
-# define UVxf "x"
-# define UVXf "X"
-# endif
+# error "cannot define IV/UV formats"
# endif
#endif
@@ -6234,26 +6590,26 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
#ifndef SvREFCNT_inc
# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (SvREFCNT(_sv))++; \
- _sv; \
+# define SvREFCNT_inc(sv) \
+ ({ \
+ SV * const _sv = (SV*)(sv); \
+ if (_sv) \
+ (SvREFCNT(_sv))++; \
+ _sv; \
})
# else
-# define SvREFCNT_inc(sv) \
+# define SvREFCNT_inc(sv) \
((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
# endif
#endif
#ifndef SvREFCNT_inc_simple
# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_simple(sv) \
- ({ \
- if (sv) \
- (SvREFCNT(sv))++; \
- (SV *)(sv); \
+# define SvREFCNT_inc_simple(sv) \
+ ({ \
+ if (sv) \
+ (SvREFCNT(sv))++; \
+ (SV *)(sv); \
})
# else
# define SvREFCNT_inc_simple(sv) \
@@ -6263,11 +6619,11 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
#ifndef SvREFCNT_inc_NN
# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_NN(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- SvREFCNT(_sv)++; \
- _sv; \
+# define SvREFCNT_inc_NN(sv) \
+ ({ \
+ SV * const _sv = (SV*)(sv); \
+ SvREFCNT(_sv)++; \
+ _sv; \
})
# else
# define SvREFCNT_inc_NN(sv) \
@@ -6277,11 +6633,11 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
#ifndef SvREFCNT_inc_void
# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_void(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (void)(SvREFCNT(_sv)++); \
+# define SvREFCNT_inc_void(sv) \
+ ({ \
+ SV * const _sv = (SV*)(sv); \
+ if (_sv) \
+ (void)(SvREFCNT(_sv)++); \
})
# else
# define SvREFCNT_inc_void(sv) \
@@ -6641,6 +6997,11 @@ DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
#ifndef SvPV_nomg_const_nolen
# define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
#endif
+
+#ifndef SvPV_nomg_nolen
+# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+ ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, 0))
+#endif
#ifndef SvPV_renew
# define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \
SvPV_set((sv), (char *) saferealloc( \
@@ -7584,8 +7945,8 @@ DPPP_(my_warner)(U32 err, const char *pat, ...)
#ifndef CopSTASH_eq
# define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \
- || (CopSTASHPV(c) && HvNAME(hv) \
- && strEQ(CopSTASHPV(c), HvNAME(hv)))))
+ || (CopSTASHPV(c) && HvNAME(hv) \
+ && strEQ(CopSTASHPV(c), HvNAME(hv)))))
#endif
#else
@@ -7809,7 +8170,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
digit = *s - '0';
if (digit >= 0 && digit <= 9) {
value = value * 10 + digit;
- if (++s < send) {
+ if (++s < send) {
digit = *s - '0';
if (digit >= 0 && digit <= 9) {
value = value * 10 + digit;
@@ -7857,7 +8218,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
}
}
}
- }
+ }
}
}
}
@@ -7869,7 +8230,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
}
}
}
- }
+ }
}
}
numtype |= IS_NUMBER_IN_UV;
@@ -8022,22 +8383,22 @@ DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
value_nv = (NV) value;
}
value_nv *= 2.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount. */
+ /* If an NV has not enough bits in its mantissa to
+ * represent a UV this summing of small low-order numbers
+ * is a waste of time (because the NV cannot preserve
+ * the low-order bits anyway): we could just remember when
+ * did we overflow and in the end just multiply value_nv by the
+ * right amount. */
value_nv += (NV)(bit - '0');
continue;
}
if (bit == '_' && len && allow_underscores && (bit = s[1])
&& (bit == '0' || bit == '1'))
- {
- --len;
- ++s;
+ {
+ --len;
+ ++s;
goto redo;
- }
+ }
if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
warn("Illegal binary digit '%c' ignored", *s);
break;
@@ -8045,10 +8406,10 @@ DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
if ( ( overflowed && value_nv > 4294967295.0)
#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
+ || (!overflowed && value > 0xffffffff )
#endif
- ) {
- warn("Binary number > 0b11111111111111111111111111111111 non-portable");
+ ) {
+ warn("Binary number > 0b11111111111111111111111111111111 non-portable");
}
*len_p = s - start;
if (!overflowed) {
@@ -8108,7 +8469,7 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
}
for (; len-- && *s; s++) {
- xdigit = strchr((char *) PL_hexdigit, *s);
+ xdigit = strchr((char *) PL_hexdigit, *s);
if (xdigit) {
/* Write it in this wonky order with a goto to attempt to get the
compiler to make the common case integer-only loop pretty tight.
@@ -8124,22 +8485,22 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
value_nv = (NV) value;
}
value_nv *= 16.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount of 16-tuples. */
+ /* If an NV has not enough bits in its mantissa to
+ * represent a UV this summing of small low-order numbers
+ * is a waste of time (because the NV cannot preserve
+ * the low-order bits anyway): we could just remember when
+ * did we overflow and in the end just multiply value_nv by the
+ * right amount of 16-tuples. */
value_nv += (NV)((xdigit - PL_hexdigit) & 15);
continue;
}
if (*s == '_' && len && allow_underscores && s[1]
- && (xdigit = strchr((char *) PL_hexdigit, s[1])))
- {
- --len;
- ++s;
+ && (xdigit = strchr((char *) PL_hexdigit, s[1])))
+ {
+ --len;
+ ++s;
goto redo;
- }
+ }
if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
warn("Illegal hexadecimal digit '%c' ignored", *s);
break;
@@ -8147,10 +8508,10 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
if ( ( overflowed && value_nv > 4294967295.0)
#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
+ || (!overflowed && value > 0xffffffff )
#endif
- ) {
- warn("Hexadecimal number > 0xffffffff non-portable");
+ ) {
+ warn("Hexadecimal number > 0xffffffff non-portable");
}
*len_p = s - start;
if (!overflowed) {
@@ -8212,22 +8573,22 @@ DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
value_nv = (NV) value;
}
value_nv *= 8.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount of 8-tuples. */
+ /* If an NV has not enough bits in its mantissa to
+ * represent a UV this summing of small low-order numbers
+ * is a waste of time (because the NV cannot preserve
+ * the low-order bits anyway): we could just remember when
+ * did we overflow and in the end just multiply value_nv by the
+ * right amount of 8-tuples. */
value_nv += (NV)digit;
continue;
}
if (digit == ('_' - '0') && len && allow_underscores
&& (digit = s[1] - '0') && (digit >= 0 && digit <= 7))
- {
- --len;
- ++s;
+ {
+ --len;
+ ++s;
goto redo;
- }
+ }
/* Allow \octal to work the DWIM way (that is, stop scanning
* as soon as non-octal characters are seen, complain only iff
* someone seems to want to use the digits eight and nine). */
@@ -8240,10 +8601,10 @@ DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul
if ( ( overflowed && value_nv > 4294967295.0)
#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
+ || (!overflowed && value > 0xffffffff )
#endif
- ) {
- warn("Octal number > 037777777777 non-portable");
+ ) {
+ warn("Octal number > 037777777777 non-portable");
}
*len_p = s - start;
if (!overflowed) {
@@ -8285,7 +8646,7 @@ DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...)
#endif
va_end(ap);
if (retval < 0 || (len > 0 && (Size_t)retval >= len))
- Perl_croak(aTHX_ "panic: my_snprintf buffer overflow");
+ Perl_croak(aTHX_ "panic: my_snprintf buffer overflow");
return retval;
}
@@ -8489,7 +8850,7 @@ DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str,
octbuf[0] = esc;
if (!(flags & PERL_PV_ESCAPE_NOCLEAR))
- sv_setpvs(dsv, "");
+ sv_setpvs(dsv, "");
#if defined(is_utf8_string) && defined(utf8_to_uvchr)
if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count))
@@ -8499,9 +8860,9 @@ DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str,
for (; pv < end && (!max || wrote < max) ; pv += readsize) {
const UV u =
#if defined(is_utf8_string) && defined(utf8_to_uvchr)
- isuni ? utf8_to_uvchr((U8*)pv, &readsize) :
+ isuni ? utf8_to_uvchr((U8*)pv, &readsize) :
#endif
- (U8)*pv;
+ (U8)*pv;
const U8 c = (U8)u & 0xFF;
if (u > 255 || (flags & PERL_PV_ESCAPE_ALL)) {
@@ -8515,43 +8876,43 @@ DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str,
chsize = 1;
} else {
if (c == dq || c == esc || !isPRINT(c)) {
- chsize = 2;
+ chsize = 2;
switch (c) {
- case '\\' : /* fallthrough */
- case '%' : if (c == esc)
- octbuf[1] = esc;
- else
- chsize = 1;
- break;
- case '\v' : octbuf[1] = 'v'; break;
- case '\t' : octbuf[1] = 't'; break;
- case '\r' : octbuf[1] = 'r'; break;
- case '\n' : octbuf[1] = 'n'; break;
- case '\f' : octbuf[1] = 'f'; break;
+ case '\\' : /* fallthrough */
+ case '%' : if (c == esc)
+ octbuf[1] = esc;
+ else
+ chsize = 1;
+ break;
+ case '\v' : octbuf[1] = 'v'; break;
+ case '\t' : octbuf[1] = 't'; break;
+ case '\r' : octbuf[1] = 'r'; break;
+ case '\n' : octbuf[1] = 'n'; break;
+ case '\f' : octbuf[1] = 'f'; break;
case '"' : if (dq == '"')
- octbuf[1] = '"';
- else
- chsize = 1;
- break;
- default: chsize = my_snprintf(octbuf, sizeof octbuf,
- pv < end && isDIGIT((U8)*(pv+readsize))
- ? "%c%03o" : "%c%o", esc, c);
+ octbuf[1] = '"';
+ else
+ chsize = 1;
+ break;
+ default: chsize = my_snprintf(octbuf, sizeof octbuf,
+ pv < end && isDIGIT((U8)*(pv+readsize))
+ ? "%c%03o" : "%c%o", esc, c);
}
} else {
chsize = 1;
}
- }
- if (max && wrote + chsize > max) {
- break;
+ }
+ if (max && wrote + chsize > max) {
+ break;
} else if (chsize > 1) {
sv_catpvn(dsv, octbuf, chsize);
wrote += chsize;
- } else {
- char tmp[2];
- my_snprintf(tmp, sizeof tmp, "%c", c);
+ } else {
+ char tmp[2];
+ my_snprintf(tmp, sizeof tmp, "%c", c);
sv_catpvn(dsv, tmp, 1);
- wrote++;
- }
+ wrote++;
+ }
if (flags & PERL_PV_ESCAPE_FIRSTCHAR)
break;
}
@@ -8588,7 +8949,7 @@ DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count,
STRLEN escaped;
if (!(flags & PERL_PV_PRETTY_NOCLEAR))
- sv_setpvs(dsv, "");
+ sv_setpvs(dsv, "");
if (dq == '"')
sv_catpvs(dsv, "\"");
@@ -8604,12 +8965,12 @@ DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count,
sv_catpv(dsv, D_PPP_CONSTPV_ARG(end_color));
if (dq == '"')
- sv_catpvs(dsv, "\"");
+ sv_catpvs(dsv, "\"");
else if (flags & PERL_PV_PRETTY_LTGT)
sv_catpvs(dsv, ">");
if ((flags & PERL_PV_PRETTY_ELLIPSES) && escaped < count)
- sv_catpvs(dsv, "...");
+ sv_catpvs(dsv, "...");
return SvPVX(dsv);
}
@@ -8638,7 +8999,7 @@ DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRL
{
pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP);
if (len > cur && pv[cur] == '\0')
- sv_catpvs(dsv, "\\0");
+ sv_catpvs(dsv, "\\0");
return SvPVX(dsv);
}
diff --git a/Master/tlpkg/tlperl/lib/Devel/Peek.pm b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
index 7869c812946..731dc111176 100644
--- a/Master/tlpkg/tlperl/lib/Devel/Peek.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
@@ -3,7 +3,7 @@
package Devel::Peek;
-$VERSION = '1.11';
+$VERSION = '1.16';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -13,7 +13,7 @@ require XSLoader;
@ISA = qw(Exporter);
@EXPORT = qw(Dump mstat DeadCode DumpArray DumpWithOP DumpProg
fill_mstats mstats_fillhash mstats2hash runops_debug debug_flags);
-@EXPORT_OK = qw(SvREFCNT SvREFCNT_inc SvREFCNT_dec CvGV);
+@EXPORT_OK = qw(SvREFCNT CvGV);
%EXPORT_TAGS = ('ALL' => [@EXPORT, @EXPORT_OK]);
XSLoader::load();
@@ -76,6 +76,8 @@ Devel::Peek - A data debugging tool for the XS programmer
use Devel::Peek;
Dump( $a );
Dump( $a, 5 );
+ Dump( @a );
+ Dump( %h );
DumpArray( 5, $a, $b, ... );
mstat "Point 5";
@@ -98,12 +100,18 @@ Devel::Peek supplies a C<Dump()> function which can dump a raw Perl
datatype, and C<mstat("marker")> function to report on memory usage
(if perl is compiled with corresponding option). The function
DeadCode() provides statistics on the data "frozen" into inactive
-C<CV>. Devel::Peek also supplies C<SvREFCNT()>, C<SvREFCNT_inc()>, and
-C<SvREFCNT_dec()> which can query, increment, and decrement reference
+C<CV>. Devel::Peek also supplies C<SvREFCNT()> which can query reference
counts on SVs. This document will take a passive, and safe, approach
to data debugging and for that it will describe only the C<Dump()>
function.
+The C<Dump()> function takes one or two arguments: something to dump, and
+an optional limit for recursion and array elements (default is 4). The
+first argument is evaluted in rvalue scalar context, with exceptions for
+@array and %hash, which dump the array or hash itself. So C<Dump @array>
+works, as does C<Dump $foo>. And C<Dump pos> will call C<pos> in rvalue
+context, whereas C<Dump ${\pos}> will call it in lvalue context.
+
Function C<DumpArray()> allows dumping of multiple values (useful when you
need to analyze returns of functions).
@@ -145,8 +153,9 @@ Three additional functions allow access to this statistic from Perl.
First, use C<mstats_fillhash(%hash)> to get the information contained
in the output of mstat() into %hash. The field of this hash are
- minbucket nbuckets sbrk_good sbrk_slack sbrked_remains sbrks start_slack
- topbucket topbucket_ev topbucket_odd total total_chain total_sbrk totfree
+ minbucket nbuckets sbrk_good sbrk_slack sbrked_remains sbrks
+ start_slack topbucket topbucket_ev topbucket_odd total total_chain
+ total_sbrk totfree
Two additional fields C<free>, C<used> contain array references which
provide per-bucket count of free and used chunks. Two other fields
diff --git a/Master/tlpkg/tlperl/lib/Digest/MD5.pm b/Master/tlpkg/tlperl/lib/Digest/MD5.pm
index 8ea2705264b..679036f8be7 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.52';
+$VERSION = '2.53';
require Exporter;
*import = \&Exporter::import;
@@ -283,11 +283,10 @@ the file:
print Digest::MD5->new->addfile($fh)->hexdigest, " $filename\n";
-Perl 5.8 support Unicode characters in strings. Since the MD5
-algorithm is only defined for strings of bytes, it can not be used on
-strings that contains chars with ordinal number above 255. The MD5
-functions and methods will croak if you try to feed them such input
-data:
+Since the MD5 algorithm is only defined for strings of bytes, it can not be
+used on strings that contains chars with ordinal number above 255 (Unicode
+strings). The MD5 functions and methods will croak if you try to feed them
+such input data:
use Digest::MD5 qw(md5_hex);
diff --git a/Master/tlpkg/tlperl/lib/Digest/SHA.pm b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
index 9a631b1fe9e..57f0bd6ef6f 100644
--- a/Master/tlpkg/tlperl/lib/Digest/SHA.pm
+++ b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
@@ -7,7 +7,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
use Fcntl;
use integer;
-$VERSION = '5.84_01';
+$VERSION = '5.88';
require Exporter;
require DynaLoader;
@@ -108,6 +108,20 @@ sub _addfile { # this is "addfile" from Digest::base 1.00
$self;
}
+my $_can_T_filehandle;
+
+sub _istext {
+ local *FH = shift;
+ my $file = shift;
+
+ if (! defined $_can_T_filehandle) {
+ local $^W = 0;
+ eval { -T FH };
+ $_can_T_filehandle = $@ ? 0 : 1;
+ }
+ return $_can_T_filehandle ? -T FH : -T $file;
+}
+
sub Addfile {
my ($self, $file, $mode) = @_;
@@ -135,38 +149,110 @@ sub Addfile {
}
binmode(FH) if $binary || $portable;
- unless ($portable && -T $file) {
+ unless ($portable && _istext(*FH, $file)) {
$self->_addfile(*FH);
close(FH);
return($self);
}
- my ($n1, $n2);
- my ($buf1, $buf2) = ("", "");
-
- while (($n1 = read(FH, $buf1, 4096))) {
- while (substr($buf1, -1) eq "\015") {
- $n2 = read(FH, $buf2, 4096);
- _bail("Read failed") unless defined $n2;
- last unless $n2;
- $buf1 .= $buf2;
- }
- $buf1 =~ s/\015?\015\012/\012/g; # DOS/Windows
- $buf1 =~ s/\015/\012/g; # early MacOS
- $self->add($buf1);
+ while (<FH>) {
+ s/\015?\015\012/\012/g; # DOS/Windows
+ s/\015/\012/g; # early MacOS
+ $self->add($_);
}
- _bail("Read failed") unless defined $n1;
close(FH);
$self;
}
+sub getstate {
+ my $self = shift;
+
+ my $alg = $self->algorithm or return;
+ my $state = $self->_getstate or return;
+ my $nD = $alg <= 256 ? 8 : 16;
+ my $nH = $alg <= 256 ? 32 : 64;
+ my $nB = $alg <= 256 ? 64 : 128;
+ my($H, $block, $blockcnt, $lenhh, $lenhl, $lenlh, $lenll) =
+ $state =~ /^(.{$nH})(.{$nB})(.{4})(.{4})(.{4})(.{4})(.{4})$/s;
+ for ($alg, $H, $block, $blockcnt, $lenhh, $lenhl, $lenlh, $lenll) {
+ return unless defined $_;
+ }
+
+ my @s = ();
+ push(@s, "alg:" . $alg);
+ push(@s, "H:" . join(":", unpack("H*", $H) =~ /.{$nD}/g));
+ push(@s, "block:" . join(":", unpack("H*", $block) =~ /.{2}/g));
+ push(@s, "blockcnt:" . unpack("N", $blockcnt));
+ push(@s, "lenhh:" . unpack("N", $lenhh));
+ push(@s, "lenhl:" . unpack("N", $lenhl));
+ push(@s, "lenlh:" . unpack("N", $lenlh));
+ push(@s, "lenll:" . unpack("N", $lenll));
+ join("\n", @s) . "\n";
+}
+
+sub putstate {
+ my $class = shift;
+ my $state = shift;
+
+ my %s = ();
+ for (split(/\n/, $state)) {
+ s/^\s+//;
+ s/\s+$//;
+ next if (/^(#|$)/);
+ my @f = split(/[:\s]+/);
+ my $tag = shift(@f);
+ $s{$tag} = join('', @f);
+ }
+
+ # H and block may contain arbitrary values, but check everything else
+ grep { $_ == $s{'alg'} } (1,224,256,384,512,512224,512256) or return;
+ length($s{'H'}) == ($s{'alg'} <= 256 ? 64 : 128) or return;
+ length($s{'block'}) == ($s{'alg'} <= 256 ? 128 : 256) or return;
+ {
+ no integer;
+ for (qw(blockcnt lenhh lenhl lenlh lenll)) {
+ 0 <= $s{$_} or return;
+ $s{$_} <= 4294967295 or return;
+ }
+ $s{'blockcnt'} < ($s{'alg'} <= 256 ? 512 : 1024) or return;
+ }
+
+ my $state_packed = (
+ pack("H*", $s{'H'}) .
+ pack("H*", $s{'block'}) .
+ pack("N", $s{'blockcnt'}) .
+ pack("N", $s{'lenhh'}) .
+ pack("N", $s{'lenhl'}) .
+ pack("N", $s{'lenlh'}) .
+ pack("N", $s{'lenll'})
+ );
+
+ if (ref($class)) { # instance method
+ if ($$class) { shaclose($$class); $$class = undef }
+ return unless $$class = shaopen($s{'alg'});
+ return $class->_putstate($state_packed);
+ }
+ else {
+ my $sha = shaopen($s{'alg'}) or return;
+ my $self = \$sha;
+ bless($self, $class);
+ return $self->_putstate($state_packed);
+ }
+}
+
sub dump {
my $self = shift;
my $file = shift;
- $file = "" unless defined $file;
- shadump($file, $$self) || return;
+ my $state = $self->getstate or return;
+ $file = "-" if (!defined($file) || $file eq "");
+
+ local *FH;
+ open(FH, "> $file") or return;
+ print FH $state;
+ close(FH);
+
return($self);
}
@@ -174,16 +260,14 @@ sub load {
my $class = shift;
my $file = shift;
- $file = "" unless defined $file;
- if (ref($class)) { # instance method
- if ($$class) { shaclose($$class); $$class = undef }
- return unless $$class = shaload($file);
- return($class);
- }
- my $state = shaload($file) || return;
- my $self = \$state;
- bless($self, $class);
- return($self);
+ $file = "-" if (!defined($file) || $file eq "");
+
+ local *FH;
+ open(FH, "< $file") or return;
+ my $str = join('', <FH>);
+ close(FH);
+
+ $class->putstate($str);
}
Digest::SHA->bootstrap($VERSION);
@@ -225,9 +309,9 @@ In programs:
$sha->add_bits($bits);
$sha->add_bits($data, $nbits);
- $sha_copy = $sha->clone; # if needed, make copy of
- $sha->dump($file); # current digest state,
- $sha->load($file); # or save it on disk
+ $sha_copy = $sha->clone; # make copy of digest object
+ $state = $sha->getstate; # save current state to string
+ $sha->putstate($state); # restore previous $state
$digest = $sha->digest; # compute digest
$digest = $sha->hexdigest;
@@ -302,16 +386,15 @@ Note that for larger bit-strings, it's more efficient to use the
two-argument version I<add_bits($data, $nbits)>, where I<$data> is
in the customary packed binary format used for Perl strings.
-The module also lets you save intermediate SHA states to disk, or
-display them on standard output. The I<dump()> method generates
-portable, human-readable text describing the current state of
-computation. You can subsequently retrieve the file with I<load()>
-to resume where the calculation left off.
+The module also lets you save intermediate SHA states to a string. The
+I<getstate()> method generates portable, human-readable text describing
+the current state of computation. You can subsequently restore that
+state with I<putstate()> to resume where the calculation left off.
To see what a state description looks like, just run the following:
use Digest::SHA;
- Digest::SHA->new->add("Shaw" x 1962)->dump;
+ print Digest::SHA->new->add("Shaw" x 1962)->getstate;
As an added convenience, the Digest::SHA module offers routines to
calculate keyed hashes using the HMAC-SHA-1/224/256/384/512
@@ -565,21 +648,30 @@ a convenient way to calculate the digest values of partial-byte data by
using files, rather than having to write programs using the I<add_bits>
method.
+=item B<getstate>
+
+Returns a string containing a portable, human-readable representation
+of the current SHA state.
+
+=item B<putstate($str)>
+
+Returns a Digest::SHA object representing the SHA state contained
+in I<$str>. The format of I<$str> matches the format of the output
+produced by method I<getstate>. If called as a class method, a new
+object is created; if called as an instance method, the object is reset
+to the state contained in I<$str>.
+
=item B<dump($filename)>
-Provides persistent storage of intermediate SHA states by writing
-a portable, human-readable representation of the current state to
-I<$filename>. If the argument is missing, or equal to the empty
-string, the state information will be written to STDOUT.
+Writes the output of I<getstate> to I<$filename>. If the argument is
+missing, or equal to the empty string, the state information will be
+written to STDOUT.
=item B<load($filename)>
-Returns a Digest::SHA object representing the intermediate SHA
-state that was previously dumped to I<$filename>. If called as a
-class method, a new object is created; if called as an instance
-method, the object is reset to the state contained in I<$filename>.
-If the argument is missing, or equal to the empty string, the state
-information will be read from STDIN.
+Returns a Digest::SHA object that results from calling I<putstate> on
+the contents of I<$filename>. If the argument is missing, or equal to
+the empty string, the state information will be read from STDIN.
=item B<digest>
@@ -733,7 +825,7 @@ darkness and moored it in so perfect a calm and in so brilliant a light"
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2003-2013 Mark Shelor
+Copyright (C) 2003-2014 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/DynaLoader.pm b/Master/tlpkg/tlperl/lib/DynaLoader.pm
index da20cc4746b..7364456f1bc 100644
--- a/Master/tlpkg/tlperl/lib/DynaLoader.pm
+++ b/Master/tlpkg/tlperl/lib/DynaLoader.pm
@@ -16,7 +16,7 @@ package DynaLoader;
# Tim.Bunce@ig.co.uk, August 1994
BEGIN {
- $VERSION = '1.18';
+ $VERSION = '1.25';
}
use Config;
@@ -29,6 +29,7 @@ $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
# 0x01 make symbols available for linking later dl_load_file's.
# (only known to work on Solaris 2 using dlopen(RTLD_GLOBAL))
# (ignored under VMS; effect is built-in to image linking)
+# (ignored under Android; the linker always uses RTLD_LOCAL)
#
# This is called as a class method $module->dl_load_flags. The
# definition here will be inherited and result on "default" loading
@@ -148,7 +149,7 @@ sub bootstrap {
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
@@ -187,7 +188,9 @@ sub bootstrap {
# in this perl code simply because this was the last perl code
# it executed.
- my $libref = dl_load_file($file, $module->dl_load_flags) or
+ my $flags = $module->dl_load_flags;
+
+ my $libref = dl_load_file($file, $flags) or
croak("Can't load '$file' for module $module: ".dl_error());
push(@dl_librefs,$libref); # record loaded object
@@ -372,6 +375,7 @@ DynaLoader Interface Summary
@dl_resolve_using
@dl_require_symbols
$dl_debug
+ $dl_dlext
@dl_librefs
@dl_modules
@dl_shared_objects
@@ -484,6 +488,19 @@ built with the B<-DDEBUGGING> flag. This can also be set via the
PERL_DL_DEBUG environment variable. Set to 1 for minimal information or
higher for more.
+=item $dl_dlext
+
+When specified (localised) in a module's F<.pm> file, indicates the extension
+which the module's loadable object will have. For example:
+
+ local $DynaLoader::dl_dlext = 'unusual_ext';
+
+would indicate that the module's loadable object has an extension of
+C<unusual_ext> instead of the more usual C<$Config{dlext}>. NOTE: This also
+requires that the module's F<Makefile.PL> specify (in C<WriteMakefile()>):
+
+ DLEXT => 'unusual_ext',
+
=item dl_findfile()
Syntax:
@@ -571,9 +588,10 @@ Syntax:
Dynamically unload $libref, which must be an opaque 'library reference' as
returned from dl_load_file. Returns one on success and zero on failure.
-
This function is optional and may not necessarily be provided on all platforms.
-If it is defined, it is called automatically when the interpreter exits for
+
+If it is defined and perl is compiled with the C macro C<DL_UNLOAD_ALL_AT_EXIT>
+defined, then it is called automatically when the interpreter exits for
every shared object or library loaded by DynaLoader::bootstrap. All such
library references are stored in @dl_librefs by DynaLoader::Bootstrap as it
loads the libraries. The files are unloaded in last-in, first-out order.
diff --git a/Master/tlpkg/tlperl/lib/Encode.pm b/Master/tlpkg/tlperl/lib/Encode.pm
index fe81119ef7b..5d477f6bdec 100644
--- a/Master/tlpkg/tlperl/lib/Encode.pm
+++ b/Master/tlpkg/tlperl/lib/Encode.pm
@@ -1,16 +1,15 @@
#
-# $Id: Encode.pm,v 2.49 2013/03/05 03:13:47 dankogai Exp dankogai $
+# $Id: Encode.pm,v 2.60 2014/04/29 16:26:49 dankogai Exp dankogai $
#
package Encode;
use strict;
use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.49 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.60_01 $ =~ /(\d+)/g;
use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
use XSLoader ();
XSLoader::load( __PACKAGE__, $VERSION );
-require Exporter;
-use base qw/Exporter/;
+use Exporter 5.57 'import';
# Public, encouraged API is exported by default
@@ -53,7 +52,7 @@ our %ExtModule;
require Encode::Config;
# See
# https://bugzilla.redhat.com/show_bug.cgi?id=435505#c2
-# to find why sig handers inside eval{} are disabled.
+# to find why sig handlers inside eval{} are disabled.
eval {
local $SIG{__DIE__};
local $SIG{__WARN__};
@@ -209,9 +208,8 @@ my $utf8enc;
sub decode_utf8($;$) {
my ( $octets, $check ) = @_;
- return $octets if is_utf8($octets);
return undef unless defined $octets;
- $octets .= '' if ref $octets;
+ $octets .= '';
$check ||= 0;
$utf8enc ||= find_encoding('utf8');
my $string = $utf8enc->decode( $octets, $check );
@@ -471,8 +469,7 @@ internal format:
B<CAVEAT>: When you run C<$string = decode("utf8", $octets)>, then $string
I<might not be equal to> $octets. Though both contain the same data, the
-UTF8 flag for $string is on unless $octets consists entirely of ASCII data
-on ASCII machines or EBCDIC on EBCDIC machines. See L</"The UTF8 flag">
+UTF8 flag for $string is on. See L</"The UTF8 flag">
below.
If the $string is C<undef>, then C<undef> is returned.
@@ -804,13 +801,24 @@ If you're not interested in this, then bitwise-OR it with the bitmask.
=head2 coderef for CHECK
As of C<Encode> 2.12, C<CHECK> can also be a code reference which takes the
-ordinal value of the unmapped character as an argument and returns a string
-that represents the fallback character. For instance:
+ordinal value of the unmapped character as an argument and returns
+octets that represent the fallback character. For instance:
$ascii = encode("ascii", $utf8, sub{ sprintf "<U+%04X>", shift });
Acts like C<FB_PERLQQ> but U+I<XXXX> is used instead of C<\x{I<XXXX>}>.
+Even the fallback for C<decode> must return octets, which are
+then decoded with the character encoding that C<decode> accepts. So for
+example if you wish to decode octests as UTF-8, and use ISO-8859-15 as
+a fallback for bytes that are not valid UTF-8, you could write
+
+ $str = decode 'UTF-8', $octets, sub {
+ my $tmp = chr shift;
+ from_to $tmp, 'ISO-8859-15', 'UTF-8';
+ return $tmp;
+ };
+
=head1 Defining Encodings
To define a new encoding, use:
@@ -1021,7 +1029,7 @@ who submitted code to the project.
=head1 COPYRIGHT
-Copyright 2002-2012 Dan Kogai I<< <dankogai@cpan.org> >>.
+Copyright 2002-2013 Dan Kogai I<< <dankogai@cpan.org> >>.
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/Encode/Alias.pm b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
index 9e15fe3c8ca..28d3cad34de 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Alias.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
@@ -2,10 +2,10 @@ package Encode::Alias;
use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.16 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.18 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
-use base qw(Exporter);
+use Exporter 'import';
# Public, encouraged API is exported by default
@@ -211,7 +211,7 @@ sub init_aliases {
define_alias( qr/^macintosh$/i => '"MacRoman"' );
# https://rt.cpan.org/Ticket/Display.html?id=78125
define_alias( qr/^macce$/i => '"MacCentralEurRoman"' );
- # Ououououou. gone. They are differente!
+ # Ououououou. gone. They are different!
# define_alias( qr/\bmacRomanian$/i => '"macRumanian"');
# Standardize on the dashed versions.
@@ -338,7 +338,7 @@ As of Encode 1.87, the older form
no longer works.
-Encode up to 1.86 internally used "local $_" to implement ths older
+Encode up to 1.86 internally used "local $_" to implement this older
form. But consider the code below;
use Encode;
diff --git a/Master/tlpkg/tlperl/lib/Encode/CN/HZ.pm b/Master/tlpkg/tlperl/lib/Encode/CN/HZ.pm
index 98c16a9053a..f035d821f57 100644
--- a/Master/tlpkg/tlperl/lib/Encode/CN/HZ.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/CN/HZ.pm
@@ -5,11 +5,11 @@ use warnings;
use utf8 ();
use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use Encode qw(:fallbacks);
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
__PACKAGE__->Define('hz');
# HZ is a combination of ASCII and escaped GB, so we implement it
@@ -23,7 +23,7 @@ sub decode ($$;$) {
my ( $obj, $str, $chk ) = @_;
my $GB = Encode::find_encoding('gb2312-raw');
- my $ret = '';
+ my $ret = substr($str, 0, 0); # to propagate taintedness
my $in_ascii = 1; # default mode is ASCII.
while ( length $str ) {
@@ -133,10 +133,10 @@ sub cat_decode {
}
sub encode($$;$) {
- my ( $obj, $str, $chk ) = @_;
+ my ( $obj, $str, $chk ) = @_;
my $GB = Encode::find_encoding('gb2312-raw');
- my $ret = '';
+ my $ret = substr($str, 0, 0); # to propagate taintedness;
my $in_ascii = 1; # default mode is ASCII.
no warnings 'utf8'; # $str may be malformed UTF8 at the end of a chunk.
diff --git a/Master/tlpkg/tlperl/lib/Encode/Encoder.pm b/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
index 2cde1e865f5..23e0349bf3c 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
@@ -1,10 +1,10 @@
#
-# $Id: Encoder.pm,v 2.2 2011/08/09 07:49:44 dankogai Exp $
+# $Id: Encoder.pm,v 2.3 2013/09/14 07:51:59 dankogai Exp $
#
package Encode::Encoder;
use strict;
use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
require Exporter;
our @ISA = qw(Exporter);
@@ -211,7 +211,7 @@ To make the Base64 transcoder example above really work, you could
write a module like this:
package Encode::Base64;
- use base 'Encode::Encoding';
+ use parent 'Encode::Encoding';
__PACKAGE__->Define('base64');
use MIME::Base64;
sub encode{
diff --git a/Master/tlpkg/tlperl/lib/Encode/Encoding.pm b/Master/tlpkg/tlperl/lib/Encode/Encoding.pm
index 768d6d126ac..39d2e0ab64e 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Encoding.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Encoding.pm
@@ -3,7 +3,7 @@ package Encode::Encoding;
# Base class for classes which implement encodings
use strict;
use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
require Encode;
@@ -81,7 +81,7 @@ Encode::Encoding - Encode Implementation Base Class
=head1 SYNOPSIS
package Encode::MyEncoding;
- use base qw(Encode::Encoding);
+ use parent qw(Encode::Encoding);
__PACKAGE__->Define(qw(myCanonical myAlias));
@@ -121,14 +121,14 @@ fragment. If perlio_ok() is true, SHOULD becomes MUST.
=item *
-If I<$check> is is false then C<encode> MUST make a "best effort" to
+If I<$check> is false then C<encode> MUST make a "best effort" to
convert the string - for example, by using a replacement character.
=back
=item -E<gt>decode($octets [,$check])
-MUST return the string that I<$octets> represents.
+MUST return the string that I<$octets> represents.
=over 2
@@ -251,7 +251,7 @@ is assumed.
package Encode::ROT13;
use strict;
- use base qw(Encode::Encoding);
+ use parent qw(Encode::Encoding);
__PACKAGE__->Define('rot13');
@@ -290,7 +290,7 @@ C<Encode::Encoding> as a base class. This allows that class to define
additional behaviour for all encoding objects.
package Encode::MyEncoding;
- use base qw(Encode::Encoding);
+ use parent qw(Encode::Encoding);
__PACKAGE__->Define(qw(myCanonical myAlias));
diff --git a/Master/tlpkg/tlperl/lib/Encode/GSM0338.pm b/Master/tlpkg/tlperl/lib/Encode/GSM0338.pm
index aeff6379789..20257a1cbd9 100644
--- a/Master/tlpkg/tlperl/lib/Encode/GSM0338.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/GSM0338.pm
@@ -1,5 +1,5 @@
#
-# $Id: GSM0338.pm,v 2.2 2012/08/15 05:36:16 dankogai Exp $
+# $Id: GSM0338.pm,v 2.5 2013/09/14 07:51:59 dankogai Exp $
#
package Encode::GSM0338;
@@ -8,11 +8,11 @@ use warnings;
use Carp;
use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use Encode qw(:fallbacks);
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
__PACKAGE__->Define('gsm0338');
sub needs_lines { 1 }
@@ -171,7 +171,7 @@ our $NBSP = "\x{00A0}";
sub decode ($$;$) {
my ( $obj, $bytes, $chk ) = @_;
- my $str;
+ my $str = substr($bytes, 0, 0); # to propagate taintedness;
while ( length $bytes ) {
my $c = substr( $bytes, 0, 1, '' );
my $u;
@@ -216,7 +216,7 @@ sub decode ($$;$) {
sub encode($$;$) {
my ( $obj, $str, $chk ) = @_;
- my $bytes;
+ my $bytes = substr($str, 0, 0); # to propagate taintedness
while ( length $str ) {
my $u = substr( $str, 0, 1, '' );
my $c;
@@ -259,7 +259,7 @@ this module.
=head1 NOTES
-Unlike most other encodings, the following aways croaks on error
+Unlike most other encodings, the following always croaks on error
for any $chk that evaluates to true.
$gsm0338 = encode("gsm0338", $utf8 $chk);
diff --git a/Master/tlpkg/tlperl/lib/Encode/Guess.pm b/Master/tlpkg/tlperl/lib/Encode/Guess.pm
index 31ec58f4fca..b44daf59eb5 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.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.6 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
my $Canon = 'Guess';
use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
@@ -12,7 +12,7 @@ $Encode::Encoding{$Canon} = bless {
Suspects => {%DEF_SUSPECTS},
} => __PACKAGE__;
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
sub needs_lines { 1 }
sub perlio_ok { 0 }
diff --git a/Master/tlpkg/tlperl/lib/Encode/JP/JIS7.pm b/Master/tlpkg/tlperl/lib/Encode/JP/JIS7.pm
index 3b5699c7fd0..588389a034a 100644
--- a/Master/tlpkg/tlperl/lib/Encode/JP/JIS7.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/JP/JIS7.pm
@@ -1,7 +1,7 @@
package Encode::JP::JIS7;
use strict;
use warnings;
-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 Encode qw(:fallbacks);
@@ -16,7 +16,7 @@ for my $name ( '7bit-jis', 'iso-2022-jp', 'iso-2022-jp-1' ) {
} => __PACKAGE__;
}
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
# we override this to 1 so PerlIO works
sub needs_lines { 1 }
diff --git a/Master/tlpkg/tlperl/lib/Encode/KR/2022_KR.pm b/Master/tlpkg/tlperl/lib/Encode/KR/2022_KR.pm
index 0218d971ee2..44373e5d589 100644
--- a/Master/tlpkg/tlperl/lib/Encode/KR/2022_KR.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/KR/2022_KR.pm
@@ -1,11 +1,11 @@
package Encode::KR::2022_KR;
use strict;
use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use Encode qw(:fallbacks);
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
__PACKAGE__->Define('iso-2022-kr');
sub needs_lines { 1 }
diff --git a/Master/tlpkg/tlperl/lib/Encode/Locale.pm b/Master/tlpkg/tlperl/lib/Encode/Locale.pm
index b14e10a01a8..c901c62a07f 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Locale.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Locale.pm
@@ -1,7 +1,7 @@
package Encode::Locale;
use strict;
-our $VERSION = "1.03";
+our $VERSION = "1.04";
use base 'Exporter';
our @EXPORT_OK = qw(
@@ -25,31 +25,60 @@ sub _init {
unless ($ENCODING_LOCALE) {
# Try to obtain what the Windows ANSI code page is
eval {
- unless (defined &GetACP) {
+ unless (defined &GetConsoleCP) {
+ require Win32;
+ # no point falling back to Win32::GetConsoleCP from this
+ # as added same time, 0.45
+ eval { Win32::GetConsoleCP() };
+ # manually "import" it since Win32->import refuses
+ *GetConsoleCP = sub { &Win32::GetConsoleCP } unless $@;
+ }
+ unless (defined &GetConsoleCP) {
require Win32::API;
- Win32::API->Import('kernel32', 'int GetACP()');
- };
- if (defined &GetACP) {
- my $cp = GetACP();
+ Win32::API->Import('kernel32', 'int GetConsoleCP()');
+ }
+ if (defined &GetConsoleCP) {
+ my $cp = GetConsoleCP();
$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";
+ # only test one since set together
+ unless (defined &GetInputCP) {
+ eval {
+ require Win32;
+ eval { Win32::GetConsoleCP() };
+ # manually "import" it since Win32->import refuses
+ *GetInputCP = sub { &Win32::GetConsoleCP } unless $@;
+ *GetOutputCP = sub { &Win32::GetConsoleOutputCP } unless $@;
+ };
+ unless (defined &GetInputCP) {
+ eval {
+ # try Win32::Console module for codepage to use
+ require Win32::Console;
+ eval { Win32::Console::InputCP() };
+ *GetInputCP = sub { &Win32::Console::InputCP }
+ unless $@;
+ *GetOutputCP = sub { &Win32::Console::OutputCP }
+ unless $@;
+ };
+ }
+ unless (defined &GetInputCP) {
+ # final fallback
+ *GetInputCP = *GetOutputCP = sub {
+ # another fallback that could work is:
+ # reg query HKLM\System\CurrentControlSet\Control\Nls\CodePage /v ACP
+ ((qx(chcp) || '') =~ /^Active code page: (\d+)/)
+ ? $1 : ();
+ };
+ }
}
+ my $cp = GetInputCP();
+ $ENCODING_CONSOLE_IN = "cp$cp" if $cp;
+ $cp = GetOutputCP();
+ $ENCODING_CONSOLE_OUT = "cp$cp" if $cp;
}
}
@@ -206,8 +235,7 @@ 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.
+come from the terminal and "console_out" for output to the terminal.
In addition to arranging for various Encode aliases the following functions and
variables are provided:
@@ -266,7 +294,7 @@ L<Encode> know this encoding as "locale".
=item $ENCODING_LOCALE_FS
-The encoding name determined to be suiteable for file system interfaces
+The encoding name determined to be suitable for file system interfaces
involving file names.
L<Encode> know this encoding as "locale_fs".
@@ -336,7 +364,7 @@ Users are advised to always specify UTF-8 as the locale charset.
=head1 SEE ALSO
-L<I18N::Langinfo>, L<Encode>
+L<I18N::Langinfo>, L<Encode>, L<Term::Encoding>
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm b/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm
index c41797c7035..090a177d113 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.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.15 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use Encode qw(find_encoding encode_utf8 decode_utf8);
use MIME::Base64;
use Carp;
@@ -31,7 +31,7 @@ $Encode::Encoding{'MIME-Q'} = bless {
Name => 'MIME-Q',
} => __PACKAGE__;
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
sub needs_lines { 1 }
sub perlio_ok { 0 }
@@ -135,7 +135,7 @@ sub encode($$;$) {
$subline .= ' ' if ($subline =~ /\?=$/ and $word =~ /^=\?/);
$subline .= $word;
}
- $subline and push @subline, $subline;
+ length($subline) and push @subline, $subline;
push @line, join( "\n " => @subline );
}
$_[1] = '' if $chk;
diff --git a/Master/tlpkg/tlperl/lib/Encode/MIME/Header/ISO_2022_JP.pm b/Master/tlpkg/tlperl/lib/Encode/MIME/Header/ISO_2022_JP.pm
index 4abfbd05ef8..86955c83f1f 100644
--- a/Master/tlpkg/tlperl/lib/Encode/MIME/Header/ISO_2022_JP.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/MIME/Header/ISO_2022_JP.pm
@@ -3,7 +3,7 @@ package Encode::MIME::Header::ISO_2022_JP;
use strict;
use warnings;
-use base qw(Encode::MIME::Header);
+use parent qw(Encode::MIME::Header);
$Encode::Encoding{'MIME-Header-ISO_2022_JP'} =
bless { encode => 'B', bpl => 76, Name => 'MIME-Header-ISO_2022_JP' } =>
@@ -14,7 +14,7 @@ use constant TAIL => '?=';
use Encode::CJKConstants qw(%RE);
-our $VERSION = do { my @r = ( q$Revision: 1.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 1.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
# I owe the below codes totally to
# Jcode by Dan Kogai & http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
diff --git a/Master/tlpkg/tlperl/lib/Encode/Makefile_PL.e2x b/Master/tlpkg/tlperl/lib/Encode/Makefile_PL.e2x
index ece58830fea..c17a5096f79 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Makefile_PL.e2x
+++ b/Master/tlpkg/tlperl/lib/Encode/Makefile_PL.e2x
@@ -83,7 +83,7 @@ sub post_initialize
if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
# $self->{'H'} = [$self->catfile($self->updir,'encode.h')];
my %xs;
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
push (@{$self->{'C'}},"$table.c");
# Do NOT add $table.h etc. to H_FILES unless we own up as to how they
# get built.
@@ -98,10 +98,9 @@ sub post_initialize
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
-#define U8 U8
#include "encode.h"
END
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
print XS qq[#include "${table}.h"\n];
}
print XS <<"END";
@@ -111,8 +110,14 @@ Encode_XSEncoding(pTHX_ encode_t *enc)
{
dSP;
HV *stash = gv_stashpv("Encode::XS", TRUE);
- SV *sv = sv_bless(newRV_noinc(newSViv(PTR2IV(enc))),stash);
+ SV *iv = newSViv(PTR2IV(enc));
+ SV *sv = sv_bless(newRV_noinc(iv),stash);
int i = 0;
+ /* with the SvLEN() == 0 hack, PVX won't be freed. We cast away name's
+ constness, in the hope that perl won't mess with it. */
+ assert(SvTYPE(iv) >= SVt_PV); assert(SvLEN(iv) == 0);
+ SvFLAGS(iv) |= SVp_POK;
+ SvPVX(iv) = (char*) enc->name[0];
PUSHMARK(sp);
XPUSHs(sv);
while (enc->name[i])
@@ -130,7 +135,7 @@ PROTOTYPES: DISABLE
BOOT:
{
END
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
print XS qq[#include "${table}.exh"\n];
}
print XS "}\n";
@@ -144,14 +149,14 @@ sub postamble
my $dir = "."; # $self->catdir('Encode');
my $str = "# $name\$(OBJ_EXT) depends on .h and .exh files not .c files - but all written by enc2xs\n";
$str .= "$name.c : $name.xs ";
- foreach my $table (keys %tables)
+ foreach my $table (sort keys %tables)
{
$str .= " $table.c";
}
$str .= "\n\n";
$str .= "$name\$(OBJ_EXT) : $name.c\n\n";
- foreach my $table (keys %tables)
+ foreach my $table (sort keys %tables)
{
my $numlines = 1;
my $lengthsofar = length($str);
diff --git a/Master/tlpkg/tlperl/lib/Encode/PerlIO.pod b/Master/tlpkg/tlperl/lib/Encode/PerlIO.pod
new file mode 100644
index 00000000000..1a9269a9b0c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/PerlIO.pod
@@ -0,0 +1,167 @@
+=head1 NAME
+
+Encode::PerlIO -- a detailed document on Encode and PerlIO
+
+=head1 Overview
+
+It is very common to want to do encoding transformations when
+reading or writing files, network connections, pipes etc.
+If Perl is configured to use the new 'perlio' IO system then
+C<Encode> provides a "layer" (see L<PerlIO>) which can transform
+data as it is read or written.
+
+Here is how the blind poet would modernise the encoding:
+
+ use Encode;
+ open(my $iliad,'<:encoding(iso-8859-7)','iliad.greek');
+ open(my $utf8,'>:utf8','iliad.utf8');
+ my @epic = <$iliad>;
+ print $utf8 @epic;
+ close($utf8);
+ close($illiad);
+
+In addition, the new IO system can also be configured to read/write
+UTF-8 encoded characters (as noted above, this is efficient):
+
+ open(my $fh,'>:utf8','anything');
+ print $fh "Any \x{0021} string \N{SMILEY FACE}\n";
+
+Either of the above forms of "layer" specifications can be made the default
+for a lexical scope with the C<use open ...> pragma. See L<open>.
+
+Once a handle is open, its layers can be altered using C<binmode>.
+
+Without any such configuration, or if Perl itself is built using the
+system's own IO, then write operations assume that the file handle
+accepts only I<bytes> and will C<die> if a character larger than 255 is
+written to the handle. When reading, each octet from the handle becomes
+a byte-in-a-character. Note that this default is the same behaviour
+as bytes-only languages (including Perl before v5.6) would have,
+and is sufficient to handle native 8-bit encodings e.g. iso-8859-1,
+EBCDIC etc. and any legacy mechanisms for handling other encodings
+and binary data.
+
+In other cases, it is the program's responsibility to transform
+characters into bytes using the API above before doing writes, and to
+transform the bytes read from a handle into characters before doing
+"character operations" (e.g. C<lc>, C</\W+/>, ...).
+
+You can also use PerlIO to convert larger amounts of data you don't
+want to bring into memory. For example, to convert between ISO-8859-1
+(Latin 1) and UTF-8 (or UTF-EBCDIC in EBCDIC machines):
+
+ open(F, "<:encoding(iso-8859-1)", "data.txt") or die $!;
+ open(G, ">:utf8", "data.utf") or die $!;
+ while (<F>) { print G }
+
+ # Could also do "print G <F>" but that would pull
+ # the whole file into memory just to write it out again.
+
+More examples:
+
+ open(my $f, "<:encoding(cp1252)")
+ open(my $g, ">:encoding(iso-8859-2)")
+ open(my $h, ">:encoding(latin9)") # iso-8859-15
+
+See also L<encoding> for how to change the default encoding of the
+data in your script.
+
+=head1 How does it work?
+
+Here is a crude diagram of how filehandle, PerlIO, and Encode
+interact.
+
+ filehandle <-> PerlIO PerlIO <-> scalar (read/printed)
+ \ /
+ Encode
+
+When PerlIO receives data from either direction, it fills a buffer
+(currently with 1024 bytes) and passes the buffer to Encode.
+Encode tries to convert the valid part and passes it back to PerlIO,
+leaving invalid parts (usually a partial character) in the buffer.
+PerlIO then appends more data to the buffer, calls Encode again,
+and so on until the data stream ends.
+
+To do so, PerlIO always calls (de|en)code methods with CHECK set to 1.
+This ensures that the method stops at the right place when it
+encounters partial character. The following is what happens when
+PerlIO and Encode tries to encode (from utf8) more than 1024 bytes
+and the buffer boundary happens to be in the middle of a character.
+
+ A B C .... ~ \x{3000} ....
+ 41 42 43 .... 7E e3 80 80 ....
+ <- buffer --------------->
+ << encoded >>>>>>>>>>
+ <- next buffer ------
+
+Encode converts from the beginning to \x7E, leaving \xe3 in the buffer
+because it is invalid (partial character).
+
+Unfortunately, this scheme does not work well with escape-based
+encodings such as ISO-2022-JP.
+
+=head1 Line Buffering
+
+Now let's see what happens when you try to decode from ISO-2022-JP and
+the buffer ends in the middle of a character.
+
+ JIS208-ESC \x{5f3e}
+ A B C .... ~ \e $ B |DAN | ....
+ 41 42 43 .... 7E 1b 24 41 43 46 ....
+ <- buffer --------------------------->
+ << encoded >>>>>>>>>>>>>>>>>>>>>>>
+
+As you see, the next buffer begins with \x43. But \x43 is 'C' in
+ASCII, which is wrong in this case because we are now in JISX 0208
+area so it has to convert \x43\x46, not \x43. Unlike utf8 and EUC,
+in escape-based encodings you can't tell if a given octet is a whole
+character or just part of it.
+
+Fortunately PerlIO also supports line buffer if you tell PerlIO to use
+one instead of fixed buffer. Since ISO-2022-JP is guaranteed to revert to ASCII at the end of the line, partial
+character will never happen when line buffer is used.
+
+To tell PerlIO to use line buffer, implement -E<gt>needs_lines method
+for your encoding object. See L<Encode::Encoding> for details.
+
+Thanks to these efforts most encodings that come with Encode support
+PerlIO but that still leaves following encodings.
+
+ iso-2022-kr
+ MIME-B
+ MIME-Header
+ MIME-Q
+
+Fortunately iso-2022-kr is hardly used (according to Jungshik) and
+MIME-* are very unlikely to be fed to PerlIO because they are for mail
+headers. See L<Encode::MIME::Header> for details.
+
+=head2 How can I tell whether my encoding fully supports PerlIO ?
+
+As of this writing, any encoding whose class belongs to Encode::XS and
+Encode::Unicode works. The Encode module has a C<perlio_ok> method
+which you can use before applying PerlIO encoding to the filehandle.
+Here is an example:
+
+ my $use_perlio = perlio_ok($enc);
+ my $layer = $use_perlio ? "<:raw" : "<:encoding($enc)";
+ open my $fh, $layer, $file or die "$file : $!";
+ while(<$fh>){
+ $_ = decode($enc, $_) unless $use_perlio;
+ # ....
+ }
+
+=head1 SEE ALSO
+
+L<Encode::Encoding>,
+L<Encode::Supported>,
+L<Encode::PerlIO>,
+L<encoding>,
+L<perlebcdic>,
+L<perlfunc/open>,
+L<perlunicode>,
+L<utf8>,
+the Perl Unicode Mailing List E<lt>perl-unicode@perl.orgE<gt>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Encode/Supported.pod b/Master/tlpkg/tlperl/lib/Encode/Supported.pod
new file mode 100644
index 00000000000..8efa4ff6f89
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/Supported.pod
@@ -0,0 +1,901 @@
+=head1 NAME
+
+Encode::Supported -- Encodings supported by Encode
+
+=head1 DESCRIPTION
+
+=head2 Encoding Names
+
+Encoding names are case insensitive. White space in names
+is ignored. In addition, an encoding may have aliases.
+Each encoding has one "canonical" name. The "canonical"
+name is chosen from the names of the encoding by picking
+the first in the following sequence (with a few exceptions).
+
+=over 2
+
+=item *
+
+The name used by the Perl community. That includes 'utf8' and 'ascii'.
+Unlike aliases, canonical names directly reach the method so such
+frequently used words like 'utf8' don't need to do alias lookups.
+
+=item *
+
+The MIME name as defined in IETF RFCs. This includes all "iso-"s.
+
+=item *
+
+The name in the IANA registry.
+
+=item *
+
+The name used by the organization that defined it.
+
+=back
+
+In case I<de jure> canonical names differ from that of the Encode
+module, they are always aliased if it ever be implemented. So you can
+safely tell if a given encoding is implemented or not just by passing
+the canonical name.
+
+Because of all the alias issues, and because in the general case
+encodings have state, "Encode" uses an encoding object internally
+once an operation is in progress.
+
+=head1 Supported Encodings
+
+As of Perl 5.8.0, at least the following encodings are recognized.
+Note that unless otherwise specified, they are all case insensitive
+(via alias) and all occurrence of spaces are replaced with '-'.
+In other words, "ISO 8859 1" and "iso-8859-1" are identical.
+
+Encodings are categorized and implemented in several different modules
+but you don't have to C<use Encode::XX> to make them available for
+most cases. Encode.pm will automatically load those modules on demand.
+
+=head2 Built-in Encodings
+
+The following encodings are always available.
+
+ Canonical Aliases Comments & References
+ ----------------------------------------------------------------
+ ascii US-ascii ISO-646-US [ECMA]
+ ascii-ctrl Special Encoding
+ iso-8859-1 latin1 [ISO]
+ null Special Encoding
+ utf8 UTF-8 [RFC2279]
+ ----------------------------------------------------------------
+
+I<null> and I<ascii-ctrl> are special. "null" fails for all character
+so when you set fallback mode to PERLQQ, HTMLCREF or XMLCREF, ALL
+CHARACTERS will fall back to character references. Ditto for
+"ascii-ctrl" except for control characters. For fallback modes, see
+L<Encode>.
+
+=head2 Encode::Unicode -- other Unicode encodings
+
+Unicode coding schemes other than native utf8 are supported by
+Encode::Unicode, which will be autoloaded on demand.
+
+ ----------------------------------------------------------------
+ UCS-2BE UCS-2, iso-10646-1 [IANA, UC]
+ UCS-2LE [UC]
+ UTF-16 [UC]
+ UTF-16BE [UC]
+ UTF-16LE [UC]
+ UTF-32 [UC]
+ UTF-32BE UCS-4 [UC]
+ UTF-32LE [UC]
+ UTF-7 [RFC2152]
+ ----------------------------------------------------------------
+
+To find how (UCS-2|UTF-(16|32))(LE|BE)? differ from one another,
+see L<Encode::Unicode>.
+
+UTF-7 is a special encoding which "re-encodes" UTF-16BE into a 7-bit
+encoding. It is implemented separately by Encode::Unicode::UTF7.
+
+=head2 Encode::Byte -- Extended ASCII
+
+Encode::Byte implements most single-byte encodings except for
+Symbols and EBCDIC. The following encodings are based on single-byte
+encodings implemented as extended ASCII. Most of them map
+\x80-\xff (upper half) to non-ASCII characters.
+
+=over 2
+
+=item ISO-8859 and corresponding vendor mappings
+
+Since there are so many, they are presented in table format with
+languages and corresponding encoding names by vendors. Note that
+the table is sorted in order of ISO-8859 and the corresponding vendor
+mappings are slightly different from that of ISO. See
+L<http://czyborra.com/charsets/iso8859.html> for details.
+
+ Lang/Regions ISO/Other Std. DOS Windows Macintosh Others
+ ----------------------------------------------------------------
+ N. America (ASCII) cp437 AdobeStandardEncoding
+ cp863 (DOSCanadaF)
+ W. Europe iso-8859-1 cp850 cp1252 MacRoman nextstep
+ hp-roman8
+ cp860 (DOSPortuguese)
+ Cntrl. Europe iso-8859-2 cp852 cp1250 MacCentralEurRoman
+ MacCroatian
+ MacRomanian
+ MacRumanian
+ Latin3[1] iso-8859-3
+ Latin4[2] iso-8859-4
+ Cyrillics iso-8859-5 cp855 cp1251 MacCyrillic
+ (See also next section) cp866 MacUkrainian
+ Arabic iso-8859-6 cp864 cp1256 MacArabic
+ cp1006 MacFarsi
+ Greek iso-8859-7 cp737 cp1253 MacGreek
+ cp869 (DOSGreek2)
+ Hebrew iso-8859-8 cp862 cp1255 MacHebrew
+ Turkish iso-8859-9 cp857 cp1254 MacTurkish
+ Nordics iso-8859-10 cp865
+ cp861 MacIcelandic
+ MacSami
+ Thai iso-8859-11[3] cp874 MacThai
+ (iso-8859-12 is nonexistent. Reserved for Indics?)
+ Baltics iso-8859-13 cp775 cp1257
+ Celtics iso-8859-14
+ Latin9 [4] iso-8859-15
+ Latin10 iso-8859-16
+ Vietnamese viscii cp1258 MacVietnamese
+ ----------------------------------------------------------------
+
+ [1] Esperanto, Maltese, and Turkish. Turkish is now on 8859-9.
+ [2] Baltics. Now on 8859-10, except for Latvian.
+ [3] TIS 620 + Non-Breaking Space (0xA0 / U+00A0)
+ [4] Nicknamed Latin0; the Euro sign as well as French and Finnish
+ letters that are missing from 8859-1 were added.
+
+All cp* are also available as ibm-*, ms-*, and windows-* . See also
+L<http://czyborra.com/charsets/codepages.html>.
+
+Macintosh encodings don't seem to be registered in such entities as
+IANA. "Canonical" names in Encode are based upon Apple's Tech Note
+1150. See L<http://developer.apple.com/technotes/tn/tn1150.html>
+for details.
+
+=item KOI8 - De Facto Standard for the Cyrillic world
+
+Though ISO-8859 does have ISO-8859-5, the KOI8 series is far more
+popular in the Net. L<Encode> comes with the following KOI charsets.
+For gory details, see L<http://czyborra.com/charsets/cyrillic.html>
+
+ ----------------------------------------------------------------
+ koi8-f
+ koi8-r cp878 [RFC1489]
+ koi8-u [RFC2319]
+ ----------------------------------------------------------------
+
+=back
+
+=head2 gsm0338 - Hentai Latin 1
+
+GSM0338 is for GSM handsets. Though it shares alphanumerals with
+ASCII, control character ranges and other parts are mapped very
+differently, mainly to store Greek characters. There are also escape
+sequences (starting with 0x1B) to cover e.g. the Euro sign.
+
+This was once handled by L<Encode::Bytes> but because of all those
+unusual specifications, Encode 2.20 has relocated the support to
+L<Encode::GSM0338>. See L<Encode::GSM0338> for details.
+
+=over 2
+
+=item gsm0338 support before 2.19
+
+Some special cases like a trailing 0x00 byte or a lone 0x1B byte are not
+well-defined and decode() will return an empty string for them.
+One possible workaround is
+
+ $gsm =~ s/\x00\z/\x00\x00/;
+ $uni = decode("gsm0338", $gsm);
+ $uni .= "\xA0" if $gsm =~ /\x1B\z/;
+
+Note that the Encode implementation of GSM0338 does not implement the
+reuse of Latin capital letters as Greek capital letters (for example,
+the 0x5A is U+005A (LATIN CAPITAL LETTER Z), not U+0396 (GREEK CAPITAL
+LETTER ZETA).
+
+The GSM0338 is also covered in Encode::Byte even though it is not
+an "extended ASCII" encoding.
+
+=back
+
+=head2 CJK: Chinese, Japanese, Korean (Multibyte)
+
+Note that Vietnamese is listed above. Also read "Encoding vs Charset"
+below. Also note that these are implemented in distinct modules by
+countries, due to the size concerns (simplified Chinese is mapped
+to 'CN', continental China, while traditional Chinese is mapped to
+'TW', Taiwan). Please refer to their respective documentation pages.
+
+=over 2
+
+=item Encode::CN -- Continental China
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ euc-cn [1] MacChineseSimp
+ (gbk) cp936 [2]
+ gb12345-raw { GB12345 without CES }
+ gb2312-raw { GB2312 without CES }
+ hz
+ iso-ir-165
+ ----------------------------------------------------------------
+
+ [1] GB2312 is aliased to this. See L<Microsoft-related naming mess>
+ [2] gbk is aliased to this. See L<Microsoft-related naming mess>
+
+=item Encode::JP -- Japan
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ euc-jp
+ shiftjis cp932 macJapanese
+ 7bit-jis
+ iso-2022-jp [RFC1468]
+ iso-2022-jp-1 [RFC2237]
+ jis0201-raw { JIS X 0201 (roman + halfwidth kana) without CES }
+ jis0208-raw { JIS X 0208 (Kanji + fullwidth kana) without CES }
+ jis0212-raw { JIS X 0212 (Extended Kanji) without CES }
+ ----------------------------------------------------------------
+
+=item Encode::KR -- Korea
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ euc-kr MacKorean [RFC1557]
+ cp949 [1]
+ iso-2022-kr [RFC1557]
+ johab [KS X 1001:1998, Annex 3]
+ ksc5601-raw { KSC5601 without CES }
+ ----------------------------------------------------------------
+
+ [1] ks_c_5601-1987, (x-)?windows-949, and uhc are aliased to this.
+ See below.
+
+=item Encode::TW -- Taiwan
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ big5-eten cp950 MacChineseTrad {big5 aliased to big5-eten}
+ big5-hkscs
+ ----------------------------------------------------------------
+
+=item Encode::HanExtra -- More Chinese via CPAN
+
+Due to the size concerns, additional Chinese encodings below are
+distributed separately on CPAN, under the name Encode::HanExtra.
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ big5ext CMEX's Big5e Extension
+ big5plus CMEX's Big5+ Extension
+ cccii Chinese Character Code for Information Interchange
+ euc-tw EUC (Extended Unix Character)
+ gb18030 GBK with Traditional Characters
+ ----------------------------------------------------------------
+
+=item Encode::JIS2K -- JIS X 0213 encodings via CPAN
+
+Due to size concerns, additional Japanese encodings below are
+distributed separately on CPAN, under the name Encode::JIS2K.
+
+ Standard DOS/Win Macintosh Comment/Reference
+ ----------------------------------------------------------------
+ euc-jisx0213
+ shiftjisx0123
+ iso-2022-jp-3
+ jis0213-1-raw
+ jis0213-2-raw
+ ----------------------------------------------------------------
+
+=back
+
+=head2 Miscellaneous encodings
+
+=over 2
+
+=item Encode::EBCDIC
+
+See L<perlebcdic> for details.
+
+ ----------------------------------------------------------------
+ cp37
+ cp500
+ cp875
+ cp1026
+ cp1047
+ posix-bc
+ ----------------------------------------------------------------
+
+=item Encode::Symbols
+
+For symbols and dingbats.
+
+ ----------------------------------------------------------------
+ symbol
+ dingbats
+ MacDingbats
+ AdobeZdingbat
+ AdobeSymbol
+ ----------------------------------------------------------------
+
+=item Encode::MIME::Header
+
+Strictly speaking, MIME header encoding documented in RFC 2047 is more
+of encapsulation than encoding. However, their support in modern
+world is imperative so they are supported.
+
+ ----------------------------------------------------------------
+ MIME-Header [RFC2047]
+ MIME-B [RFC2047]
+ MIME-Q [RFC2047]
+ ----------------------------------------------------------------
+
+=item Encode::Guess
+
+This one is not a name of encoding but a utility that lets you pick up
+the most appropriate encoding for a data out of given I<suspects>. See
+L<Encode::Guess> for details.
+
+=back
+
+=head1 Unsupported encodings
+
+The following encodings are not supported as yet; some because they
+are rarely used, some because of technical difficulties. They may
+be supported by external modules via CPAN in the future, however.
+
+=over 2
+
+=item ISO-2022-JP-2 [RFC1554]
+
+Not very popular yet. Needs Unicode Database or equivalent to
+implement encode() (because it includes JIS X 0208/0212, KSC5601, and
+GB2312 simultaneously, whose code points in Unicode overlap. So you
+need to lookup the database to determine to what character set a given
+Unicode character should belong).
+
+=item ISO-2022-CN [RFC1922]
+
+Not very popular. Needs CNS 11643-1 and -2 which are not available in
+this module. CNS 11643 is supported (via euc-tw) in Encode::HanExtra.
+Autrijus Tang may add support for this encoding in his module in future.
+
+=item Various HP-UX encodings
+
+The following are unsupported due to the lack of mapping data.
+
+ '8' - arabic8, greek8, hebrew8, kana8, thai8, and turkish8
+ '15' - japanese15, korean15, and roi15
+
+=item Cyrillic encoding ISO-IR-111
+
+Anton Tagunov doubts its usefulness.
+
+=item ISO-8859-8-1 [Hebrew]
+
+None of the Encode team knows Hebrew enough (ISO-8859-8, cp1255 and
+MacHebrew are supported because and just because there were mappings
+available at L<http://www.unicode.org/>). Contributions welcome.
+
+=item ISIRI 3342, Iran System, ISIRI 2900 [Farsi]
+
+Ditto.
+
+=item Thai encoding TCVN
+
+Ditto.
+
+=item Vietnamese encodings VPS
+
+Though Jungshik Shin has reported that Mozilla supports this encoding,
+it was too late before 5.8.0 for us to add it. In the future, it
+may be available via a separate module. See
+L<http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.uf>
+and
+L<http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.ut>
+if you are interested in helping us.
+
+=item Various Mac encodings
+
+The following are unsupported due to the lack of mapping data.
+
+ MacArmenian, MacBengali, MacBurmese, MacEthiopic
+ MacExtArabic, MacGeorgian, MacKannada, MacKhmer
+ MacLaotian, MacMalayalam, MacMongolian, MacOriya
+ MacSinhalese, MacTamil, MacTelugu, MacTibetan
+ MacVietnamese
+
+The rest which are already available are based upon the vendor mappings
+at L<http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/> .
+
+=item (Mac) Indic encodings
+
+The maps for the following are available at L<http://www.unicode.org/>
+but remain unsupported because those encodings need an algorithmical
+approach, currently unsupported by F<enc2xs>:
+
+ MacDevanagari
+ MacGurmukhi
+ MacGujarati
+
+For details, please see C<Unicode mapping issues and notes:> at
+L<http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/DEVANAGA.TXT> .
+
+I believe this issue is prevalent not only for Mac Indics but also in
+other Indic encodings, but the above were the only Indic encodings
+maps that I could find at L<http://www.unicode.org/> .
+
+=back
+
+=head1 Encoding vs. Charset -- terminology
+
+We are used to using the term (character) I<encoding> and I<character
+set> interchangeably. But just as confusing the terms byte and
+character is dangerous and the terms should be differentiated when
+needed, we need to differentiate I<encoding> and I<character set>.
+
+To understand that, here is a description of how we make computers
+grok our characters.
+
+=over 2
+
+=item *
+
+First we start with which characters to include. We call this
+collection of characters I<character repertoire>.
+
+=item *
+
+Then we have to give each character a unique ID so your computer can
+tell the difference between 'a' and 'A'. This itemized character
+repertoire is now a I<character set>.
+
+=item *
+
+If your computer can grow the character set without further
+processing, you can go ahead and use it. This is called a I<coded
+character set> (CCS) or I<raw character encoding>. ASCII is used this
+way for most cases.
+
+=item *
+
+But in many cases, especially multi-byte CJK encodings, you have to
+tweak a little more. Your network connection may not accept any data
+with the Most Significant Bit set, and your computer may not be able to
+tell if a given byte is a whole character or just half of it. So you
+have to I<encode> the character set to use it.
+
+A I<character encoding scheme> (CES) determines how to encode a given
+character set, or a set of multiple character sets. 7bit ISO-2022 is
+an example of a CES. You switch between character sets via I<escape
+sequences>.
+
+=back
+
+Technically, or mathematically, speaking, a character set encoded in
+such a CES that maps character by character may form a CCS. EUC is such
+an example. The CES of EUC is as follows:
+
+=over 2
+
+=item *
+
+Map ASCII unchanged.
+
+=item *
+
+Map such a character set that consists of 94 or 96 powered by N
+members by adding 0x80 to each byte.
+
+=item *
+
+You can also use 0x8e and 0x8f to indicate that the following sequence of
+characters belongs to yet another character set. To each following byte
+is added the value 0x80.
+
+=back
+
+By carefully looking at the encoded byte sequence, you can find that the
+byte sequence conforms a unique number. In that sense, EUC is a CCS
+generated by a CES above from up to four CCS (complicated?). UTF-8
+falls into this category. See L<perlUnicode/"UTF-8"> to find out how
+UTF-8 maps Unicode to a byte sequence.
+
+You may also have found out by now why 7bit ISO-2022 cannot comprise
+a CCS. If you look at a byte sequence \x21\x21, you can't tell if
+it is two !'s or IDEOGRAPHIC SPACE. EUC maps the latter to \xA1\xA1
+so you have no trouble differentiating between "!!". and S<" ">.
+
+=head1 Encoding Classification (by Anton Tagunov and Dan Kogai)
+
+This section tries to classify the supported encodings by their
+applicability for information exchange over the Internet and to
+choose the most suitable aliases to name them in the context of
+such communication.
+
+=over 2
+
+=item *
+
+To (en|de)code encodings marked by C<(**)>, you need
+C<Encode::HanExtra>, available from CPAN.
+
+=back
+
+Encoding names
+
+ US-ASCII UTF-8 ISO-8859-* KOI8-R
+ Shift_JIS EUC-JP ISO-2022-JP ISO-2022-JP-1
+ EUC-KR Big5 GB2312
+
+are registered with IANA as preferred MIME names and may
+be used over the Internet.
+
+C<Shift_JIS> has been officialized by JIS X 0208:1997.
+L<Microsoft-related naming mess> gives details.
+
+C<GB2312> is the IANA name for C<EUC-CN>.
+See L<Microsoft-related naming mess> for details.
+
+C<GB_2312-80> I<raw> encoding is available as C<gb2312-raw>
+with Encode. See L<Encode::CN> for details.
+
+ EUC-CN
+ KOI8-U [RFC2319]
+
+have not been registered with IANA (as of March 2002) but
+seem to be supported by major web browsers.
+The IANA name for C<EUC-CN> is C<GB2312>.
+
+ KS_C_5601-1987
+
+is heavily misused.
+See L<Microsoft-related naming mess> for details.
+
+C<KS_C_5601-1987> I<raw> encoding is available as C<kcs5601-raw>
+with Encode. See L<Encode::KR> for details.
+
+ UTF-16 UTF-16BE UTF-16LE
+
+are IANA-registered C<charset>s. See [RFC 2781] for details.
+Jungshik Shin reports that UTF-16 with a BOM is well accepted
+by MS IE 5/6 and NS 4/6. Beware however that
+
+=over 2
+
+=item *
+
+C<UTF-16> support in any software you're going to be
+using/interoperating with has probably been less tested
+then C<UTF-8> support
+
+=item *
+
+C<UTF-8> coded data seamlessly passes traditional
+command piping (C<cat>, C<more>, etc.) while C<UTF-16> coded
+data is likely to cause confusion (with its zero bytes,
+for example)
+
+=item *
+
+it is beyond the power of words to describe the way HTML browsers
+encode non-C<ASCII> form data. To get a general impression, visit
+L<http://www.alanflavell.org.uk/charset/form-i18n.html>.
+While encoding of form data has stabilized for C<UTF-8> encoded pages
+(at least IE 5/6, NS 6, and Opera 6 behave consistently), be sure to
+expect fun (and cross-browser discrepancies) with C<UTF-16> encoded
+pages!
+
+=back
+
+The rule of thumb is to use C<UTF-8> unless you know what
+you're doing and unless you really benefit from using C<UTF-16>.
+
+ ISO-IR-165 [RFC1345]
+ VISCII
+ GB 12345
+ GB 18030 (**) (see links bellow)
+ EUC-TW (**)
+
+are totally valid encodings but not registered at IANA.
+The names under which they are listed here are probably the
+most widely-known names for these encodings and are recommended
+names.
+
+ BIG5PLUS (**)
+
+is a proprietary name.
+
+=head2 Microsoft-related naming mess
+
+Microsoft products misuse the following names:
+
+=over 2
+
+=item KS_C_5601-1987
+
+Microsoft extension to C<EUC-KR>.
+
+Proper names: C<CP949>, C<UHC>, C<x-windows-949> (as used by Mozilla).
+
+See L<http://lists.w3.org/Archives/Public/ietf-charsets/2001AprJun/0033.html>
+for details.
+
+Encode aliases C<KS_C_5601-1987> to C<cp949> to reflect this common
+misusage. I<Raw> C<KS_C_5601-1987> encoding is available as
+C<kcs5601-raw>.
+
+See L<Encode::KR> for details.
+
+=item GB2312
+
+Microsoft extension to C<EUC-CN>.
+
+Proper names: C<CP936>, C<GBK>.
+
+C<GB2312> has been registered in the C<EUC-CN> meaning at
+IANA. This has partially repaired the situation: Microsoft's
+C<GB2312> has become a superset of the official C<GB2312>.
+
+Encode aliases C<GB2312> to C<euc-cn> in full agreement with
+IANA registration. C<cp936> is supported separately.
+I<Raw> C<GB_2312-80> encoding is available as C<gb2312-raw>.
+
+See L<Encode::CN> for details.
+
+=item Big5
+
+Microsoft extension to C<Big5>.
+
+Proper name: C<CP950>.
+
+Encode separately supports C<Big5> and C<cp950>.
+
+=item Shift_JIS
+
+Microsoft's understanding of C<Shift_JIS>.
+
+JIS has not endorsed the full Microsoft standard however.
+The official C<Shift_JIS> includes only JIS X 0201 and JIS X 0208
+character sets, while Microsoft has always used C<Shift_JIS>
+to encode a wider character repertoire. See C<IANA> registration for
+C<Windows-31J>.
+
+As a historical predecessor, Microsoft's variant
+probably has more rights for the name, though it may be objected
+that Microsoft shouldn't have used JIS as part of the name
+in the first place.
+
+Unambiguous name: C<CP932>. C<IANA> name (also used by Mozilla, and
+provided as an alias by Encode): C<Windows-31J>.
+
+Encode separately supports C<Shift_JIS> and C<cp932>.
+
+=back
+
+=head1 Glossary
+
+=over 2
+
+=item character repertoire
+
+A collection of unique characters. A I<character> set in the strictest
+sense. At this stage, characters are not numbered.
+
+=item coded character set (CCS)
+
+A character set that is mapped in a way computers can use directly.
+Many character encodings, including EUC, fall in this category.
+
+=item character encoding scheme (CES)
+
+An algorithm to map a character set to a byte sequence. You don't
+have to be able to tell which character set a given byte sequence
+belongs. 7-bit ISO-2022 is a CES but it cannot be a CCS. EUC is an
+example of being both a CCS and CES.
+
+=item charset (in MIME context)
+
+has long been used in the meaning of C<encoding>, CES.
+
+While the word combination C<character set> has lost this meaning
+in MIME context since [RFC 2130], the C<charset> abbreviation has
+retained it. This is how [RFC 2277] and [RFC 2278] bless C<charset>:
+
+ This document uses the term "charset" to mean a set of rules for
+ mapping from a sequence of octets to a sequence of characters, such
+ as the combination of a coded character set and a character encoding
+ scheme; this is also what is used as an identifier in MIME "charset="
+ parameters, and registered in the IANA charset registry ... (Note
+ that this is NOT a term used by other standards bodies, such as ISO).
+ [RFC 2277]
+
+=item EUC
+
+Extended Unix Character. See ISO-2022.
+
+=item ISO-2022
+
+A CES that was carefully designed to coexist with ASCII. There are a 7
+bit version and an 8 bit version.
+
+The 7 bit version switches character set via escape sequence so it
+cannot form a CCS. Since this is more difficult to handle in programs
+than the 8 bit version, the 7 bit version is not very popular except for
+iso-2022-jp, the I<de facto> standard CES for e-mails.
+
+The 8 bit version can form a CCS. EUC and ISO-8859 are two examples
+thereof. Pre-5.6 perl could use them as string literals.
+
+=item UCS
+
+Short for I<Universal Character Set>. When you say just UCS, it means
+I<Unicode>.
+
+=item UCS-2
+
+ISO/IEC 10646 encoding form: Universal Character Set coded in two
+octets.
+
+=item Unicode
+
+A character set that aims to include all character repertoires of the
+world. Many character sets in various national as well as industrial
+standards have become, in a way, just subsets of Unicode.
+
+=item UTF
+
+Short for I<Unicode Transformation Format>. Determines how to map a
+Unicode character into a byte sequence.
+
+=item UTF-16
+
+A UTF in 16-bit encoding. Can either be in big endian or little
+endian. The big endian version is called UTF-16BE (equal to UCS-2 +
+surrogate support) and the little endian version is called UTF-16LE.
+
+=back
+
+=head1 See Also
+
+L<Encode>,
+L<Encode::Byte>,
+L<Encode::CN>, L<Encode::JP>, L<Encode::KR>, L<Encode::TW>,
+L<Encode::EBCDIC>, L<Encode::Symbol>
+L<Encode::MIME::Header>, L<Encode::Guess>
+
+=head1 References
+
+=over 2
+
+=item ECMA
+
+European Computer Manufacturers Association
+L<http://www.ecma.ch>
+
+=over 2
+
+=item ECMA-035 (eq C<ISO-2022>)
+
+L<http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM>
+
+The specification of ISO-2022 is available from the link above.
+
+=back
+
+=item IANA
+
+Internet Assigned Numbers Authority
+L<http://www.iana.org/>
+
+=over 2
+
+=item Assigned Charset Names by IANA
+
+L<http://www.iana.org/assignments/character-sets>
+
+Most of the C<canonical names> in Encode derive from this list
+so you can directly apply the string you have extracted from MIME
+header of mails and web pages.
+
+=back
+
+=item ISO
+
+International Organization for Standardization
+L<http://www.iso.ch/>
+
+=item RFC
+
+Request For Comments -- need I say more?
+L<http://www.rfc-editor.org/>, L<http://www.ietf.org/rfc.html>,
+L<http://www.faqs.org/rfcs/>
+
+=item UC
+
+Unicode Consortium
+L<http://www.unicode.org/>
+
+=over 2
+
+=item Unicode Glossary
+
+L<http://www.unicode.org/glossary/>
+
+The glossary of this document is based upon this site.
+
+=back
+
+=back
+
+=head2 Other Notable Sites
+
+=over 2
+
+=item czyborra.com
+
+L<http://czyborra.com/>
+
+Contains a lot of useful information, especially gory details of ISO
+vs. vendor mappings.
+
+=item CJK.inf
+
+L<http://examples.oreilly.com/cjkvinfo/doc/cjk.inf>
+
+Somewhat obsolete (last update in 1996), but still useful. Also try
+
+L<ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/pdf/GB18030_Summary.pdf>
+
+You will find brief info on C<EUC-CN>, C<GBK> and mostly on C<GB 18030>.
+
+=item Jungshik Shin's Hangul FAQ
+
+L<http://jshin.net/faq>
+
+And especially its subject 8.
+
+L<http://jshin.net/faq/qa8.html>
+
+A comprehensive overview of the Korean (C<KS *>) standards.
+
+=item debian.org: "Introduction to i18n"
+
+A brief description for most of the mentioned CJK encodings is
+contained in
+L<http://www.debian.org/doc/manuals/intro-i18n/ch-codes.en.html>
+
+=back
+
+=head2 Offline sources
+
+=over 2
+
+=item C<CJKV Information Processing> by Ken Lunde
+
+CJKV Information Processing
+1999 O'Reilly & Associates, ISBN : 1-56592-224-7
+
+The modern successor of C<CJK.inf>.
+
+Features a comprehensive coverage of CJKV character sets and
+encodings along with many other issues faced by anyone trying
+to better support CJKV languages/scripts in all the areas of
+information processing.
+
+To purchase this book, visit
+L<http://oreilly.com/catalog/9780596514471/>
+or your favourite bookstore.
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Encode/Unicode.pm b/Master/tlpkg/tlperl/lib/Encode/Unicode.pm
index f71567c6196..6b35cb7566a 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Unicode.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Unicode.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.9 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use XSLoader;
XSLoader::load( __PACKAGE__, $VERSION );
@@ -42,7 +42,7 @@ for my $name (
} => __PACKAGE__;
}
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
sub renew {
my $self = shift;
@@ -52,7 +52,7 @@ sub renew {
return $clone;
}
-# There used to be a perl implemntation of (en|de)code but with
+# There used to be a perl implementation of (en|de)code but with
# XS version is ripe, perl version is zapped for optimal speed
*decode = \&decode_xs;
diff --git a/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm b/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
index ea9257b47b5..d5d86e2f903 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
@@ -1,13 +1,13 @@
#
-# $Id: UTF7.pm,v 2.6 2012/08/05 23:08:49 dankogai Exp $
+# $Id: UTF7.pm,v 2.8 2013/09/14 07:51:59 dankogai Exp $
#
package Encode::Unicode::UTF7;
use strict;
use warnings;
no warnings 'redefine';
-use base qw(Encode::Encoding);
+use parent qw(Encode::Encoding);
__PACKAGE__->Define('UTF-7');
-our $VERSION = do { my @r = ( q$Revision: 2.6 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use MIME::Base64;
use Encode;
@@ -32,7 +32,7 @@ sub encode($$;$) {
my ( $obj, $str, $chk ) = @_;
my $len = length($str);
pos($str) = 0;
- my $bytes = '';
+ my $bytes = substr($str, 0, 0); # to propagate taintedness
while ( pos($str) < $len ) {
if ( $str =~ /\G($re_asis+)/ogc ) {
my $octets = $1;
@@ -59,9 +59,10 @@ sub encode($$;$) {
}
sub decode($$;$) {
+ use re 'taint';
my ( $obj, $bytes, $chk ) = @_;
my $len = length($bytes);
- my $str = "";
+ my $str = substr($bytes, 0, 0); # to propagate taintedness;
pos($bytes) = 0;
no warnings 'uninitialized';
while ( pos($bytes) < $len ) {
diff --git a/Master/tlpkg/tlperl/lib/Encode/compat.pm b/Master/tlpkg/tlperl/lib/Encode/compat.pm
new file mode 100644
index 00000000000..39432b8f9d4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/compat.pm
@@ -0,0 +1,87 @@
+# $File: //member/autrijus/Encode-compat/lib/Encode/compat.pm $ $Author: autrijus $
+# $Revision: #7 $ $Change: 10735 $ $DateTime: 2004/06/03 14:08:57 $
+
+package Encode::compat;
+$Encode::compat::VERSION = '0.07';
+
+use strict;
+
+if ($] >= 5.007001 or $INC{'Encode.pm'}) {
+ # nothing happens -- Encode.pm already available.
+}
+elsif ($] >= 5.006001 and $] <= 5.007) {
+ require Encode::compat::Alias;
+ $INC{'Encode/Alias.pm'} = $INC{'Encode/compat/Alias.pm'};
+
+ require Encode::compat::common;
+ require Encode::compat::5006001;
+ $INC{'Encode.pm'} = __FILE__;
+}
+else {
+ die "Encode.pm compatibility layer for $] not yet available.";
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Encode::compat - Encode.pm emulation layer
+
+=head1 VERSION
+
+This document describes version 0.07 of Encode::compat, released
+June 3, 2004.
+
+=head1 SYNOPSIS
+
+ use Encode::compat; # a no-op for Perl v5.7.1+
+ use Encode qw(...); # all constants and imports works transparently
+
+ # use Encode functions as normal
+
+=head1 DESCRIPTION
+
+WARNING: THIS IS A PROOF-OF-CONCEPT. Most functions are incomplete.
+All implementation details are subject to change!
+
+This module provide a compatibility layer for B<Encode.pm> users on perl
+versions earlier than v5.7.1. It translates whatever call it receives
+into B<Text::Iconv>, or (in the future) B<Unicode::MapUTF8> to perform
+the actual work.
+
+The C<is_utf8()>, C<_utf8_on()> and C<_utf8_off()> calls are performed
+by the method native to the perl version -- 5.6.1 would use
+C<pack>/C<unpack>, 5.6.0 uses C<tr//CU>, etc.
+
+Theoretically, it could be backported to 5.005 and earlier, with none of
+the unicode-related semantics available, and serves only as a
+abstraction layer above C<Text::Iconv>, C<Unicode::MapUTF8> and possibly
+other transcoding modules.
+
+=head1 CAVEATS
+
+Currently, this module only support 5.6.1+, and merely provides the three
+utility function above (C<encode()>, C<decode()> and C<from_to()>), with
+a very kludgy C<FB_HTMLCREF> fallback against C<latin-1> in
+C<from_to()>.
+
+=head1 SEE ALSO
+
+L<Encode>, L<perlunicode>
+
+=head1 AUTHORS
+
+Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>
+
+=head1 COPYRIGHT
+
+Copyright 2002, 2003, 2004 by Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Encode/compat/5006001.pm b/Master/tlpkg/tlperl/lib/Encode/compat/5006001.pm
new file mode 100644
index 00000000000..cbe2d50180e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/compat/5006001.pm
@@ -0,0 +1,32 @@
+# $File: //member/autrijus/Encode-compat/lib/Encode/compat/5006001.pm $ $Author: autrijus $
+# $Revision: #3 $ $Change: 2534 $ $DateTime: 2002/12/02 00:33:16 $
+
+package Encode::compat::5006001;
+our $VERSION = '0.05';
+
+1;
+
+package Encode;
+
+use strict;
+use base 'Exporter';
+no warnings 'redefine';
+
+sub _utf8_on {
+ $_[0] = pack('U*', unpack('U0U*', $_[0]))
+}
+
+sub _utf8_off {
+ $_[0] = pack('C*', unpack('C*', $_[0]))
+}
+
+sub is_utf8 {
+ # XXX: got any better ideas?
+ use utf8;
+ foreach my $char (split(//, $_[0])) {
+ return 1 if ord($char) > 255;
+ }
+ return 0;
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Encode/compat/Alias.pm b/Master/tlpkg/tlperl/lib/Encode/compat/Alias.pm
new file mode 100644
index 00000000000..6e8d74e6a6f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/compat/Alias.pm
@@ -0,0 +1,330 @@
+# $File: //member/autrijus/.vimrc $ $Author: autrijus $
+# $Revision: #1 $ $Change: 1649 $ $DateTime: 2002/10/24 15:21:23 $
+
+package Encode::compat::Alias;
+our $VERSION = '0.05';
+
+1;
+
+package Encode::Alias;
+use strict;
+our $VERSION = '0.05';
+our $DEBUG = 0;
+
+use base qw(Exporter);
+
+# Public, encouraged API is exported by default
+
+our @EXPORT =
+ qw (
+ define_alias
+ find_alias
+ );
+
+our @Alias; # ordered matching list
+our %Alias; # cached known aliases
+
+sub find_alias
+{
+ my $class = shift;
+ local $_ = shift;
+ unless (exists $Alias{$_})
+ {
+ $Alias{$_} = undef; # Recursion guard
+ for (my $i=0; $i < @Alias; $i += 2)
+ {
+ my $alias = $Alias[$i];
+ my $val = $Alias[$i+1];
+ my $new;
+ if (ref($alias) eq 'Regexp' && $_ =~ $alias)
+ {
+ $DEBUG and warn "eval $val";
+ $new = eval $val;
+ # $@ and warn "$val, $@";
+ }
+ elsif (ref($alias) eq 'CODE')
+ {
+ $DEBUG and warn "$alias", "->", "($val)";
+ $new = $alias->($val);
+ }
+ elsif (lc($_) eq lc($alias))
+ {
+ $new = $val;
+ }
+ if (defined($new))
+ {
+ next if $new eq $_; # avoid (direct) recursion on bugs
+ $DEBUG and warn "$alias, $new";
+ my $enc = (ref($new)) ? $new : Encode::find_encoding($new);
+ if ($enc)
+ {
+ $Alias{$_} = $enc;
+ last;
+ }
+ }
+ }
+ }
+ if ($DEBUG){
+ my $name;
+ if (my $e = $Alias{$_}){
+ $name = $e->name;
+ }else{
+ $name = "";
+ }
+ warn "find_alias($class, $_)->name = $name";
+ }
+ return $Alias{$_};
+}
+
+sub define_alias
+{
+ while (@_)
+ {
+ my ($alias,$name) = splice(@_,0,2);
+ unshift(@Alias, $alias => $name); # newer one has precedence
+ # clear %Alias cache to allow overrides
+ if (ref($alias)){
+ my @a = keys %Alias;
+ for my $k (@a){
+ if (ref($alias) eq 'Regexp' && $k =~ $alias)
+ {
+ $DEBUG and warn "delete \$Alias\{$k\}";
+ delete $Alias{$k};
+ }
+ elsif (ref($alias) eq 'CODE')
+ {
+ $DEBUG and warn "delete \$Alias\{$k\}";
+ delete $Alias{$alias->($name)};
+ }
+ }
+ }else{
+ $DEBUG and warn "delete \$Alias\{$alias\}";
+ delete $Alias{$alias};
+ }
+ }
+}
+
+# Allow latin-1 style names as well
+ # 0 1 2 3 4 5 6 7 8 9 10
+our @Latin2iso = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
+# Allow winlatin1 style names as well
+our %Winlatin2cp = (
+ 'latin1' => 1252,
+ 'latin2' => 1250,
+ 'cyrillic' => 1251,
+ 'greek' => 1253,
+ 'turkish' => 1254,
+ 'hebrew' => 1255,
+ 'arabic' => 1256,
+ 'baltic' => 1257,
+ 'vietnamese' => 1258,
+ );
+
+init_aliases();
+
+sub undef_aliases{
+ @Alias = ();
+ %Alias = ();
+}
+
+sub init_aliases
+{
+ undef_aliases();
+
+ # Try all-lower-case version should all else fails
+ define_alias( qr/^(.*)$/ => '"\L$1"' );
+
+ # UTF/UCS stuff
+ define_alias( qr/^UCS-?2-?LE$/i => '"UCS-2LE"' );
+ define_alias( qr/^UCS-?2-?(BE)?$/i => '"UCS-2BE"',
+ qr/^UCS-?4-?(BE|LE)?$/i => 'uc("UTF-32$1")',
+ qr/^iso-10646-1$/i => '"UCS-2BE"' );
+ define_alias( qr/^UTF(16|32)-?BE$/i => '"UTF-$1BE"',
+ qr/^UTF(16|32)-?LE$/i => '"UTF-$1LE"',
+ qr/^UTF(16|32)$/i => '"UTF-$1"',
+ );
+ # ASCII
+ define_alias(qr/^(?:US-?)ascii$/i => '"ascii"');
+ define_alias('C' => 'ascii');
+ define_alias(qr/\bISO[-_]?646[-_]?US$/i => '"ascii"');
+ # Allow variants of iso-8859-1 etc.
+ define_alias( qr/\biso[-_]?(\d+)[-_](\d+)$/i => '"iso-$1-$2"' );
+
+ # At least HP-UX has these.
+ define_alias( qr/\biso8859(\d+)$/i => '"iso-8859-$1"' );
+
+ # More HP stuff.
+ define_alias( qr/\b(?:hp-)?(arabic|greek|hebrew|kana|roman|thai|turkish)8$/i => '"${1}8"' );
+
+ # The Official name of ASCII.
+ define_alias( qr/\bANSI[-_]?X3\.4[-_]?1968$/i => '"ascii"' );
+
+ # This is a font issue, not an encoding issue.
+ # (The currency symbol of the Latin 1 upper half
+ # has been redefined as the euro symbol.)
+ define_alias( qr/^(.+)\@euro$/i => '"$1"' );
+
+ define_alias( qr/\b(?:iso[-_]?)?latin[-_]?(\d+)$/i
+ => 'defined $Encode::Alias::Latin2iso[$1] ? "iso-8859-$Encode::Alias::Latin2iso[$1]" : undef' );
+
+ define_alias( qr/\bwin(latin[12]|cyrillic|baltic|greek|turkish|
+ hebrew|arabic|baltic|vietnamese)$/ix =>
+ '"cp" . $Encode::Alias::Winlatin2cp{lc($1)}' );
+
+ # Common names for non-latin prefered MIME names
+ define_alias( 'ascii' => 'US-ascii',
+ 'cyrillic' => 'iso-8859-5',
+ 'arabic' => 'iso-8859-6',
+ 'greek' => 'iso-8859-7',
+ 'hebrew' => 'iso-8859-8',
+ 'thai' => 'iso-8859-11',
+ 'tis620' => 'iso-8859-11',
+ );
+
+ # At least AIX has IBM-NNN (surprisingly...) instead of cpNNN.
+ # And Microsoft has their own naming (again, surprisingly).
+ # And windows-* is registered in IANA!
+ define_alias( qr/\b(?:cp|ibm|ms|windows)[-_ ]?(\d{2,4})$/i => '"cp$1"');
+
+ # Sometimes seen with a leading zero.
+ # define_alias( qr/\bcp037\b/i => '"cp37"');
+
+ # Mac Mappings
+ # predefined in *.ucm; unneeded
+ # define_alias( qr/\bmacIcelandic$/i => '"macIceland"');
+ define_alias( qr/^mac_(.*)$/i => '"mac$1"');
+ # Ououououou. gone. They are differente!
+ # define_alias( qr/\bmacRomanian$/i => '"macRumanian"');
+
+ # Standardize on the dashed versions.
+ # define_alias( qr/\butf8$/i => 'utf-8' );
+ define_alias( qr/\bkoi8r$/i => 'koi8-r' );
+ define_alias( qr/\bkoi8u$/i => 'koi8-u' );
+
+ unless ($Encode::ON_EBCDIC){
+ # for Encode::CN
+ define_alias( qr/\beuc.*cn$/i => '"euc-cn"' );
+ define_alias( qr/\bcn.*euc$/i => '"euc-cn"' );
+ # define_alias( qr/\bGB[- ]?(\d+)$/i => '"euc-cn"' )
+ # CP936 doesn't have vendor-addon for GBK, so they're identical.
+ define_alias( qr/^gbk$/i => '"cp936"');
+ # This fixes gb2312 vs. euc-cn confusion, practically
+ define_alias( qr/\bGB[-_ ]?2312(?:\D.*$|$)/i => '"euc-cn"' );
+ # for Encode::JP
+ define_alias( qr/\bjis$/i => '"7bit-jis"' );
+ define_alias( qr/\beuc.*jp$/i => '"euc-jp"' );
+ define_alias( qr/\bjp.*euc$/i => '"euc-jp"' );
+ define_alias( qr/\bujis$/i => '"euc-jp"' );
+ define_alias( qr/\bshift.*jis$/i => '"shiftjis"' );
+ define_alias( qr/\bsjis$/i => '"shiftjis"' );
+ # for Encode::KR
+ define_alias( qr/\beuc.*kr$/i => '"euc-kr"' );
+ define_alias( qr/\bkr.*euc$/i => '"euc-kr"' );
+ # This fixes ksc5601 vs. euc-kr confusion, practically
+ define_alias( qr/(?:x-)?uhc$/i => '"cp949"' );
+ define_alias( qr/(?:x-)?windows-949$/i => '"cp949"' );
+ define_alias( qr/\bks_c_5601-1987$/i => '"cp949"' );
+ # for Encode::TW
+ define_alias( qr/\bbig-?5$/i => '"big5-eten"' );
+ define_alias( qr/\bbig5-?et(?:en)?$/i => '"big5-eten"' );
+ define_alias( qr/\btca[-_]?big5$/i => '"big5-eten"' );
+ define_alias( qr/\bbig5-?hk(?:scs)?$/i => '"big5-hkscs"' );
+ define_alias( qr/\bhk(?:scs)?[-_]?big5$/i => '"big5-hkscs"' );
+ }
+ # utf8 is blessed :)
+ define_alias( qr/^UTF-8$/i => '"utf8"',);
+ # At last, Map white space and _ to '-'
+ define_alias( qr/^(\S+)[\s_]+(.*)$/i => '"$1-$2"' );
+}
+
+1;
+__END__
+
+# TODO: HP-UX '8' encodings arabic8 greek8 hebrew8 kana8 thai8 turkish8
+# TODO: HP-UX '15' encodings japanese15 korean15 roi15
+# TODO: Cyrillic encoding ISO-IR-111 (useful?)
+# TODO: Armenian encoding ARMSCII-8
+# TODO: Hebrew encoding ISO-8859-8-1
+# TODO: Thai encoding TCVN
+# TODO: Vietnamese encodings VPS
+# TODO: Mac Asian+African encodings: Arabic Armenian Bengali Burmese
+# ChineseSimp ChineseTrad Devanagari Ethiopic ExtArabic
+# Farsi Georgian Gujarati Gurmukhi Hebrew Japanese
+# Kannada Khmer Korean Laotian Malayalam Mongolian
+# Oriya Sinhalese Symbol Tamil Telugu Tibetan Vietnamese
+
+=head1 NAME
+
+Encode::Alias - alias definitions to encodings
+
+=head1 SYNOPSIS
+
+ use Encode;
+ use Encode::Alias;
+ define_alias( newName => ENCODING);
+
+=head1 DESCRIPTION
+
+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:
+
+=over 4
+
+=item As a simple string.
+
+=item As a qr// compiled regular expression, e.g.:
+
+ define_alias( qr/^iso8859-(\d+)$/i => '"iso-8859-$1"' );
+
+In this case, if I<ENCODING> is not a reference, it is C<eval>-ed
+in order to allow C<$1> etc. to be substituted. The example is one
+way to alias names as used in X11 fonts to the MIME names for the
+iso-8859-* family. Note the double quotes inside the single quotes.
+
+If you are using a regex here, you have to use the quotes as shown or
+it won't work. Also note that regex handling is tricky even for the
+experienced. Use it with caution.
+
+=item As a code reference, e.g.:
+
+ define_alias( sub { return /^iso8859-(\d+)$/i ? "iso-8859-$1" : undef } , '');
+
+In this case, C<$_> will be set to the name that is being looked up and
+I<ENCODING> is passed to the sub as its first argument. The example
+is another way to alias names as used in X11 fonts to the MIME names
+for the iso-8859-* family.
+
+=back
+
+=head2 Alias overloading
+
+You can override predefined aliases by simply applying define_alias().
+The new alias is always evaluated first, and when neccessary,
+define_alias() flushes the internal cache to make the new definition
+available.
+
+ # redirect SHIFT_JIS to MS/IBM Code Page 932, which is a
+ # superset of SHIFT_JIS
+
+ define_alias( qr/shift.*jis$/i => '"cp932"' );
+ define_alias( qr/sjis$/i => '"cp932"' );
+
+If you want to zap all predefined aliases, you can use
+
+ Encode::Alias->undef_aliases;
+
+to do so. And
+
+ Encode::Alias->init_aliases;
+
+gets the factory settings back.
+
+=head1 SEE ALSO
+
+L<Encode>, L<Encode::Supported>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Encode/compat/common.pm b/Master/tlpkg/tlperl/lib/Encode/compat/common.pm
new file mode 100644
index 00000000000..f9ba21cb67d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/compat/common.pm
@@ -0,0 +1,127 @@
+# $File: //member/autrijus/Encode-compat/lib/Encode/compat/common.pm $ $Author: autrijus $
+# $Revision: #7 $ $Change: 10024 $ $DateTime: 2004/02/13 21:42:35 $
+
+package Encode::compat::common;
+our $VERSION = '0.06';
+
+1;
+
+package Encode;
+
+use strict;
+our $VERSION = '0.06';
+
+our @EXPORT = qw(
+ decode decode_utf8 encode encode_utf8
+ encodings find_encoding
+);
+
+use constant DIE_ON_ERR => 1;
+use constant WARN_ON_ERR => 2;
+use constant RETURN_ON_ERR => 4;
+use constant LEAVE_SRC => 8;
+
+use constant PERLQQ => 256;
+use constant HTMLCREF => 512;
+use constant XMLCREF => 1024;
+
+use constant FB_DEFAULT => 0;
+use constant FB_CROAK => 1;
+use constant FB_QUIET => 4;
+use constant FB_WARN => 6;
+use constant FB_PERLQQ => 256;
+use constant FB_HTMLCREF => 512;
+use constant FB_XMLCREF => 1024;
+
+our @FB_FLAGS = qw(DIE_ON_ERR WARN_ON_ERR RETURN_ON_ERR LEAVE_SRC
+ PERLQQ HTMLCREF XMLCREF);
+our @FB_CONSTS = qw(FB_DEFAULT FB_CROAK FB_QUIET FB_WARN
+ FB_PERLQQ FB_HTMLCREF FB_XMLCREF);
+
+our @EXPORT_OK =
+ (
+ qw(
+ _utf8_off _utf8_on define_encoding from_to is_16bit is_8bit
+ is_utf8 perlio_ok resolve_alias utf8_downgrade utf8_upgrade
+ ),
+ @FB_FLAGS, @FB_CONSTS,
+ );
+
+our %EXPORT_TAGS =
+ (
+ all => [ @EXPORT, @EXPORT_OK ],
+ fallbacks => [ @FB_CONSTS ],
+ fallback_all => [ @FB_CONSTS, @FB_FLAGS ],
+ );
+
+sub from_to ($$$;$) {
+ use utf8;
+
+ # XXX: bad hack
+ if ($_[3] and $_[3] == FB_HTMLCREF() and lc($_[2]) eq 'latin1') {
+ $_[0] = join('', map {
+ ord($_) < 128
+ ? $_ : '&#' . ord($_) . ';'
+ } split(//, decode($_[1], $_[0])));
+ }
+ else {
+ $_[0] = _convert(@_[0..2]);
+ }
+}
+
+sub encodings {
+ # XXX: revisit
+ require Encode::Alias;
+ return sort values %Encode::Alias::Alias;
+}
+
+sub find_encoding {
+ return $_[0];
+}
+
+sub decode_utf8($;$) {
+ return decode("utf-8", @_);
+}
+
+sub encode_utf8($;$) {
+ return encode("utf-8", @_);
+}
+
+sub decode($$;$) {
+ my $result = ($_[0] =~ /utf-?8/i)
+ ? $_[1] : _convert($_[1], $_[0] => 'utf-8');
+ _utf8_on($result);
+ return $result;
+}
+
+sub encode($$;$) {
+ my $result = ($_[0] =~ /utf-?8/i)
+ ? $_[1] : _convert($_[1], 'utf-8' => $_[0]);
+ _utf8_off($result);
+ return $result;
+}
+
+{
+ my %decoder;
+ sub _convert {
+ require Text::Iconv;
+ Text::Iconv->raise_error(1);
+
+ require Encode::Alias;
+ my ($from, $to) = map {
+ s/^utf8$/utf-8/i;
+ s/^big5-eten$/big5/i;
+ $_;
+ } map {
+ Encode::Alias->find_alias($_) || lc($_)
+ } ($_[1], $_[2]);
+
+ my $result = ($from eq $to) ? $_[0] : (
+ $decoder{$from, $to} ||= Text::Iconv->new( $from, $to )
+ )->convert($_[0]);
+
+ return $result;
+ }
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Encode/encode.h b/Master/tlpkg/tlperl/lib/Encode/encode.h
index 0dcf83d32bc..5fbcf76ad38 100644
--- a/Master/tlpkg/tlperl/lib/Encode/encode.h
+++ b/Master/tlpkg/tlperl/lib/Encode/encode.h
@@ -1,11 +1,8 @@
#ifndef ENCODE_H
#define ENCODE_H
-#ifndef U8
-/*
- A tad devious this:
- perl normally has a #define for U8 - if that isn't present then we
- typedef it - leaving it #ifndef so we can do data parts without
+#ifndef H_PERL
+/* check whether we're "in perl" so that we can do data parts without
getting extern references to the code parts
*/
typedef unsigned char U8;
@@ -74,7 +71,7 @@ struct encode_s
const char *const name[2]; /* name(s) of this encoding */
};
-#ifdef U8
+#ifdef H_PERL
/* See comment at top of file for deviousness */
extern int do_encode(const encpage_t *enc, const U8 *src, STRLEN *slen,
@@ -83,7 +80,7 @@ extern int do_encode(const encpage_t *enc, const U8 *src, STRLEN *slen,
extern void Encode_DefineEncoding(encode_t *enc);
-#endif /* U8 */
+#endif /* H_PERL */
#define ENCODE_NOSPACE 1
#define ENCODE_PARTIAL 2
diff --git a/Master/tlpkg/tlperl/lib/English.pm b/Master/tlpkg/tlperl/lib/English.pm
index 6ccc5882c8e..efd61ff89f0 100644
--- a/Master/tlpkg/tlperl/lib/English.pm
+++ b/Master/tlpkg/tlperl/lib/English.pm
@@ -1,6 +1,6 @@
package English;
-our $VERSION = '1.06_01';
+our $VERSION = '1.09';
require Exporter;
@ISA = qw(Exporter);
@@ -12,8 +12,9 @@ English - use nice English (or awk) names for ugly punctuation variables
=head1 SYNOPSIS
use English;
- use English qw( -no_match_vars ) ; # Avoids regex performance penalty
- # in perl 5.16 and earlier
+ use English qw( -no_match_vars ) ; # Avoids regex performance
+ # penalty in perl 5.16 and
+ # earlier
...
if ($ERRNO =~ /denied/) { ... }
@@ -118,6 +119,7 @@ sub import {
*EGID
*PROGRAM_NAME
*PERL_VERSION
+ *OLD_PERL_VERSION
*ACCUMULATOR
*COMPILING
*DEBUGGING
@@ -213,6 +215,7 @@ sub import {
# Internals.
*PERL_VERSION = *^V ;
+ *OLD_PERL_VERSION = *] ;
*ACCUMULATOR = *^A ;
*COMPILING = *^C ;
*DEBUGGING = *^D ;
@@ -230,6 +233,5 @@ sub import {
# *ARRAY_BASE = *[ ;
# *OFMT = *# ;
-# *OLD_PERL_VERSION = *] ;
1;
diff --git a/Master/tlpkg/tlperl/lib/Errno.pm b/Master/tlpkg/tlperl/lib/Errno.pm
index ba404dae97d..a8cc0b9abb7 100644
--- a/Master/tlpkg/tlperl/lib/Errno.pm
+++ b/Master/tlpkg/tlperl/lib/Errno.pm
@@ -12,7 +12,7 @@ use strict;
"MSWin32-x86-multi-thread-4.0" or
die "Errno architecture (MSWin32-x86-multi-thread-4.0) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";
-our $VERSION = "1.18";
+our $VERSION = "1.20_05";
$VERSION = eval $VERSION;
our @ISA = 'Exporter';
@@ -23,308 +23,316 @@ BEGIN {
ENUM_REGISTRY_SETTINGS => -2,
ENUM_CURRENT_SETTINGS => -1,
EXCEPTION_CONTINUE_EXECUTION => -1,
- ESB_ENABLE_BOTH => 0,
- EWX_LOGOFF => 0,
- EMBDHLP_INPROC_HANDLER => 0,
- ERROR_BIDI_STATUS_OK => 0,
+ EC_ENABLEALL => 0,
+ ELF_CULTURE_LATIN => 0,
ELF_VERSION => 0,
- ExceptionContinueExecution => 0,
- EXCEPTION_CONTINUE_SEARCH => 0,
+ EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X => 0,
+ EMARCH_ENC_I17_IMM7B_VAL_POS_X => 0,
EMBDHLP_CREATENOW => 0,
- EXCEPTION_READ_FAULT => 0,
- ES_LEFT => 0,
+ EMBDHLP_INPROC_HANDLER => 0,
ERROR => 0,
- EMARCH_ENC_I17_IMM7B_VAL_POS_X => 0,
+ ERROR_BIDI_STATUS_OK => 0,
ERROR_SEVERITY_SUCCESS => 0,
- EC_ENABLEALL => 0,
- EVENTLOG_SUCCESS => 0,
- ELF_CULTURE_LATIN => 0,
- EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X => 0,
+ ERROR_SUCCESS => 0,
+ ESB_ENABLE_BOTH => 0,
+ ES_LEFT => 0,
EVENTLOG_FULL_INFO => 0,
+ EVENTLOG_SUCCESS => 0,
+ EWX_LOGOFF => 0,
+ EXCEPTION_CONTINUE_SEARCH => 0,
+ EXCEPTION_READ_FAULT => 0,
EXIT_SUCCESS => 0,
- ERROR_SUCCESS => 0,
- EVENT_SYSTEM_SOUND => 1,
- ENABLE_PROCESSED_INPUT => 1,
- EVENTLOG_SEQUENTIAL_READ => 1,
- EMR_MIN => 1,
- ES_SYSTEM_REQUIRED => 1,
- EV_RXCHAR => 1,
- EPERM => 1,
- EMBDHLP_INPROC_SERVER => 1,
- EXCEPTION_DEBUG_EVENT => 1,
- EVENT_MIN => 1,
- ESB_DISABLE_LTUP => 1,
- EXIT_FAILURE => 1,
- EMARCH_ENC_I17_SIGN_SIZE_X => 1,
- EXCEPTION_WRITE_FAULT => 1,
- EXCEPTION_NONCONTINUABLE => 1,
- EMARCH_ENC_I17_IMM41a_INST_WORD_X => 1,
- ELEMENT_STATUS_FULL => 1,
- EWX_SHUTDOWN => 1,
- EMSIS_COMPOSITIONSTRING => 1,
- ESB_DISABLE_LEFT => 1,
- EXCEPTION_EXECUTE_HANDLER => 1,
+ ExceptionContinueExecution => 0,
+ EC_LEFTMARGIN => 1,
+ EEInfoPreviousRecordsMissing => 1,
+ EFS_USE_RECOVERY_KEYS => 1,
EIMES_GETCOMPSTRATONCE => 1,
- ESB_DISABLE_UP => 1,
- EMARCH_ENC_I17_IMM41b_INST_WORD_X => 1,
+ ELEMENT_STATUS_FULL => 1,
EMARCH_ENC_I17_IC_SIZE_X => 1,
- ENCRYPTION_FORMAT_DEFAULT => 1,
+ EMARCH_ENC_I17_IMM41a_INST_WORD_X => 1,
+ EMARCH_ENC_I17_IMM41b_INST_WORD_X => 1,
+ EMARCH_ENC_I17_SIGN_SIZE_X => 1,
+ EMBDHLP_INPROC_SERVER => 1,
EMR_HEADER => 1,
+ EMR_MIN => 1,
+ EMSIS_COMPOSITIONSTRING => 1,
+ ENABLE_PROCESSED_INPUT => 1,
ENABLE_PROCESSED_OUTPUT => 1,
+ ENCRYPTION_FORMAT_DEFAULT => 1,
+ ENLISTMENT_MAXIMUM_OPTION => 1,
+ ENLISTMENT_QUERY_INFORMATION => 1,
+ ENLISTMENT_SUPERIOR => 1,
+ EPERM => 1,
ERROR_INVALID_FUNCTION => 1,
- EEInfoPreviousRecordsMissing => 1,
- EFS_USE_RECOVERY_KEYS => 1,
ERROR_LABEL_UNREADABLE => 1,
+ ESB_DISABLE_LEFT => 1,
+ ESB_DISABLE_LTUP => 1,
+ ESB_DISABLE_UP => 1,
ES_CENTER => 1,
- EVENTLOG_START_PAIRED_EVENT => 1,
+ ES_SYSTEM_REQUIRED => 1,
EVENTLOG_ERROR_TYPE => 1,
- EC_LEFTMARGIN => 1,
+ EVENTLOG_SEQUENTIAL_READ => 1,
+ EVENTLOG_START_PAIRED_EVENT => 1,
+ EVENT_MIN => 1,
+ EVENT_SYSTEM_SOUND => 1,
+ EV_RXCHAR => 1,
+ EWX_SHUTDOWN => 1,
+ EXCEPTION_DEBUG_EVENT => 1,
+ EXCEPTION_EXECUTE_HANDLER => 1,
+ EXCEPTION_NONCONTINUABLE => 1,
+ EXCEPTION_WRITE_FAULT => 1,
+ EXIT_FAILURE => 1,
ExceptionContinueSearch => 1,
+ EC_QUERYWAITING => 2,
+ EC_RIGHTMARGIN => 2,
EDS_RAWMODE => 2,
- EVENTLOG_END_PAIRED_EVENT => 2,
- EVENTLOG_SEEK_READ => 2,
- ExceptionNestedException => 2,
+ EEInfoNextRecordsMissing => 2,
EIMES_CANCELCOMPSTRINFOCUS => 2,
+ ELEMENT_STATUS_IMPEXP => 2,
EMARCH_ENC_I17_IMM41c_INST_WORD_X => 2,
- ESB_DISABLE_RTDN => 2,
- EVENPARITY => 2,
EMR_POLYBEZIER => 2,
- ESB_DISABLE_RIGHT => 2,
- EEInfoNextRecordsMissing => 2,
- ETO_OPAQUE => 2,
- ELEMENT_STATUS_IMPEXP => 2,
- EVENT_SYSTEM_ALERT => 2,
- EC_QUERYWAITING => 2,
- EXCEPTION_UNWINDING => 2,
+ ENABLE_LINE_INPUT => 2,
+ ENABLE_WRAP_AT_EOL_OUTPUT => 2,
+ ENLISTMENT_SET_INFORMATION => 2,
ENOENT => 2,
+ ENOFILE => 2,
+ ERROR_FILE_NOT_FOUND => 2,
ERROR_LABEL_QUESTIONABLE => 2,
- EWX_REBOOT => 2,
- EV_RXFLAG => 2,
- ES_DISPLAY_REQUIRED => 2,
ESB_DISABLE_DOWN => 2,
- ENOFILE => 2,
- EVENT_MODIFY_STATE => 2,
- ENABLE_LINE_INPUT => 2,
+ ESB_DISABLE_RIGHT => 2,
+ ESB_DISABLE_RTDN => 2,
+ ES_DISPLAY_REQUIRED => 2,
ES_RIGHT => 2,
- ENABLE_WRAP_AT_EOL_OUTPUT => 2,
- EC_RIGHTMARGIN => 2,
+ ETO_OPAQUE => 2,
+ EVENPARITY => 2,
+ EVENTLOG_END_PAIRED_EVENT => 2,
+ EVENTLOG_SEEK_READ => 2,
EVENTLOG_WARNING_TYPE => 2,
+ EVENT_MODIFY_STATE => 2,
+ EVENT_SYSTEM_ALERT => 2,
+ EV_RXFLAG => 2,
+ EWX_REBOOT => 2,
+ EXCEPTION_UNWINDING => 2,
EXTEND_IEPORT => 2,
- ERROR_FILE_NOT_FOUND => 2,
- EMR_POLYGON => 3,
+ ExceptionNestedException => 2,
+ EMARCH_ENC_I17_IC_INST_WORD_X => 3,
+ EMARCH_ENC_I17_IMM5C_INST_WORD_X => 3,
EMARCH_ENC_I17_IMM7B_INST_WORD_X => 3,
- ESRCH => 3,
+ EMARCH_ENC_I17_IMM9D_INST_WORD_X => 3,
+ EMARCH_ENC_I17_SIGN_INST_WORD_X => 3,
+ EMR_POLYGON => 3,
+ ERROR_PATH_NOT_FOUND => 3,
ESB_DISABLE_BOTH => 3,
+ ESRCH => 3,
EVENT_SYSTEM_FOREGROUND => 3,
- EMARCH_ENC_I17_IC_INST_WORD_X => 3,
- ERROR_PATH_NOT_FOUND => 3,
- EMARCH_ENC_I17_SIGN_INST_WORD_X => 3,
ExceptionCollidedUnwind => 3,
- EMARCH_ENC_I17_IMM5C_INST_WORD_X => 3,
- EMARCH_ENC_I17_IMM9D_INST_WORD_X => 3,
- ES_MULTILINE => 4,
- EV_TXEMPTY => 4,
- EVENTLOG_INFORMATION_TYPE => 4,
- ELEMENT_STATUS_EXCEPT => 4,
- EXIT_THREAD_DEBUG_EVENT => 4,
EEInfoUseFileTime => 4,
- ELF_VENDOR_SIZE => 4,
- EXCEPTION_EXIT_UNWIND => 4,
EIMES_COMPLETECOMPSTRKILLFOCUS => 4,
+ EINTR => 4,
+ ELEMENT_STATUS_EXCEPT => 4,
+ ELF_VENDOR_SIZE => 4,
+ EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X => 4,
EMR_POLYLINE => 4,
+ ENABLE_ECHO_INPUT => 4,
+ ENLISTMENT_RECOVER => 4,
+ ERROR_SLOT_NOT_PRESENT => 4,
ERROR_TOO_MANY_OPEN_FILES => 4,
+ ES_MULTILINE => 4,
ES_USER_PRESENT => 4,
- ExceptionExecuteHandler => 4,
- EWX_FORCE => 4,
ETO_CLIPPED => 4,
- EINTR => 4,
- ENABLE_ECHO_INPUT => 4,
- EXPORT_PRIVATE_KEYS => 4,
EVENTLOG_END_ALL_PAIRED_EVENTS => 4,
- EVENT_SYSTEM_MENUSTART => 4,
EVENTLOG_FORWARDS_READ => 4,
- ERROR_SLOT_NOT_PRESENT => 4,
- EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X => 4,
- EMR_POLYBEZIERTO => 5,
- EMARCH_ENC_I17_IMM5C_SIZE_X => 5,
+ EVENTLOG_INFORMATION_TYPE => 4,
+ EVENT_SYSTEM_MENUSTART => 4,
+ EV_TXEMPTY => 4,
+ EWX_FORCE => 4,
+ EXCEPTION_EXIT_UNWIND => 4,
+ EXIT_THREAD_DEBUG_EVENT => 4,
+ EXPORT_PRIVATE_KEYS => 4,
+ ExceptionExecuteHandler => 4,
+ EDGE_RAISED => 5,
EIO => 5,
+ EMARCH_ENC_I17_IMM5C_SIZE_X => 5,
+ EMR_POLYBEZIERTO => 5,
ERROR_ACCESS_DENIED => 5,
- EXIT_PROCESS_DEBUG_EVENT => 5,
- EDGE_RAISED => 5,
EVENT_SYSTEM_MENUEND => 5,
- EVENT_SYSTEM_MENUPOPUPSTART => 6,
- ENXIO => 6,
- EMR_POLYLINETO => 6,
+ EXIT_PROCESS_DEBUG_EVENT => 5,
EDGE_ETCHED => 6,
+ EMR_POLYLINETO => 6,
+ ENXIO => 6,
ERROR_INVALID_HANDLE => 6,
+ EVENT_SYSTEM_MENUPOPUPSTART => 6,
E2BIG => 7,
- ERROR_ARENA_TRASHED => 7,
+ EMARCH_ENC_I17_IMM7B_SIZE_X => 7,
EMARCH_ENC_I17_IMM9D_VAL_POS_X => 7,
EMR_POLYPOLYLINE => 7,
+ ERROR_ARENA_TRASHED => 7,
EVENT_SYSTEM_MENUPOPUPEND => 7,
- EMARCH_ENC_I17_IMM7B_SIZE_X => 7,
- ES_UPPERCASE => 8,
- EVENTLOG_BACKWARDS_READ => 8,
- EMR_POLYPOLYGON => 8,
- EVENTLOG_PAIRED_EVENT_ACTIVE => 8,
EC_DISABLE => 8,
+ EFSRPC_SECURE_ONLY => 8,
+ ELEMENT_STATUS_ACCESS => 8,
EMARCH_ENC_I17_IMM41b_SIZE_X => 8,
- EXCEPTION_EXECUTE_FAULT => 8,
+ EMR_POLYPOLYGON => 8,
ENABLE_WINDOW_INPUT => 8,
- EXCEPTION_STACK_INVALID => 8,
+ ENLISTMENT_SUBORDINATE_RIGHTS => 8,
ENOEXEC => 8,
- EV_CTS => 8,
- EVENTLOG_AUDIT_SUCCESS => 8,
ERROR_DRIVE_NOT_INSTALLED => 8,
ERROR_NOT_ENOUGH_MEMORY => 8,
- EWX_POWEROFF => 8,
+ ES_UPPERCASE => 8,
+ EVENTLOG_AUDIT_SUCCESS => 8,
+ EVENTLOG_BACKWARDS_READ => 8,
+ EVENTLOG_PAIRED_EVENT_ACTIVE => 8,
EVENT_SYSTEM_CAPTURESTART => 8,
- ELEMENT_STATUS_ACCESS => 8,
+ EV_CTS => 8,
+ EWX_POWEROFF => 8,
+ EXCEPTION_EXECUTE_FAULT => 8,
+ EXCEPTION_STACK_INVALID => 8,
EBADF => 9,
- EMR_SETWINDOWEXTEX => 9,
- EMARCH_ENC_I17_IMM9D_SIZE_X => 9,
EDGE_BUMP => 9,
+ EMARCH_ENC_I17_IMM9D_SIZE_X => 9,
+ EMR_SETWINDOWEXTEX => 9,
ERROR_INVALID_BLOCK => 9,
EVENT_SYSTEM_CAPTUREEND => 9,
- EVENT_SYSTEM_MOVESIZESTART => 10,
- EMR_SETWINDOWORGEX => 10,
- EMARCH_ENC_I17_IMM41a_SIZE_X => 10,
ECHILD => 10,
- ERROR_BAD_ENVIRONMENT => 10,
EDGE_SUNKEN => 10,
- ERROR_BAD_FORMAT => 11,
- EMR_SETVIEWPORTEXTEX => 11,
- EVENT_SYSTEM_MOVESIZEEND => 11,
+ EMARCH_ENC_I17_IMM41a_SIZE_X => 10,
+ EMR_SETWINDOWORGEX => 10,
+ ERROR_BAD_ENVIRONMENT => 10,
+ EVENT_SYSTEM_MOVESIZESTART => 10,
EAGAIN => 11,
EEInfoGCCOM => 11,
+ EMR_SETVIEWPORTEXTEX => 11,
ENDDOC => 11,
- EVENT_SYSTEM_CONTEXTHELPSTART => 12,
+ ERROR_BAD_FORMAT => 11,
+ EVENT_SYSTEM_MOVESIZEEND => 11,
EEInfoGCFRS => 12,
+ EMARCH_ENC_I17_IC_INST_WORD_POS_X => 12,
EMR_SETVIEWPORTORGEX => 12,
ENOMEM => 12,
- EMARCH_ENC_I17_IC_INST_WORD_POS_X => 12,
ERROR_INVALID_ACCESS => 12,
- EVENT_SYSTEM_CONTEXTHELPEND => 13,
- EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X => 13,
+ EVENT_SYSTEM_CONTEXTHELPSTART => 12,
EACCES => 13,
+ EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X => 13,
EMR_SETBRUSHORGEX => 13,
ERROR_INVALID_DATA => 13,
- EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X => 14,
- EVENT_SYSTEM_DRAGDROPSTART => 14,
- ERROR_OUTOFMEMORY => 14,
+ EVENT_SYSTEM_CONTEXTHELPEND => 13,
EFAULT => 14,
+ EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X => 14,
EMR_EOF => 14,
+ ERROR_OUTOFMEMORY => 14,
+ EVENT_SYSTEM_DRAGDROPSTART => 14,
+ EMR_SETPIXELV => 15,
+ ERROR_INVALID_DRIVE => 15,
EVENT_SYSTEM_DRAGDROPEND => 15,
EXCEPTION_MAXIMUM_PARAMETERS => 15,
- ERROR_INVALID_DRIVE => 15,
- EMR_SETPIXELV => 15,
- ENABLE_MOUSE_INPUT => 16,
- EVENT_SYSTEM_DIALOGSTART => 16,
+ EBUSY => 16,
ELEMENT_STATUS_EXENAB => 16,
- EMR_SETMAPPERFLAGS => 16,
EMARCH_ENC_I17_IMM5C_VAL_POS_X => 16,
- EVENTLOG_AUDIT_FAILURE => 16,
+ EMR_SETMAPPERFLAGS => 16,
+ ENABLE_MOUSE_INPUT => 16,
+ ENLISTMENT_SUPERIOR_RIGHTS => 16,
+ ERROR_CURRENT_DIRECTORY => 16,
ERROR_TRAY_MALFUNCTION => 16,
- EXCEPTION_NESTED_CALL => 16,
- ETO_GLYPH_INDEX => 16,
ES_LOWERCASE => 16,
- EWX_FORCEIFHUNG => 16,
- EV_DSR => 16,
- ERROR_CURRENT_DIRECTORY => 16,
+ ETO_GLYPH_INDEX => 16,
+ EVENTLOG_AUDIT_FAILURE => 16,
EVENTLOG_PAIRED_EVENT_INACTIVE => 16,
- EBUSY => 16,
+ EVENT_SYSTEM_DIALOGSTART => 16,
+ EV_DSR => 16,
+ EWX_FORCEIFHUNG => 16,
+ EXCEPTION_NESTED_CALL => 16,
EEXIST => 17,
+ EMR_SETMAPMODE => 17,
+ ERROR_INIT_STATUS_NEEDED => 17,
ERROR_NOT_SAME_DEVICE => 17,
EVENT_SYSTEM_DIALOGEND => 17,
- ERROR_INIT_STATUS_NEEDED => 17,
- EMR_SETMAPMODE => 17,
+ EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X => 18,
+ EMR_SETBKMODE => 18,
+ ERROR_NO_MORE_FILES => 18,
EVENT_SYSTEM_SCROLLINGSTART => 18,
EXDEV => 18,
- ERROR_NO_MORE_FILES => 18,
- EMR_SETBKMODE => 18,
- EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X => 18,
+ EMR_SETPOLYFILLMODE => 19,
ENODEV => 19,
ERROR_WRITE_PROTECT => 19,
- EMR_SETPOLYFILLMODE => 19,
EVENT_SYSTEM_SCROLLINGEND => 19,
- EVENT_SYSTEM_SWITCHSTART => 20,
EMR_SETROP2 => 20,
ENOTDIR => 20,
ERROR_BAD_UNIT => 20,
- EVENT_SYSTEM_SWITCHEND => 21,
- EMARCH_ENC_I17_IC_VAL_POS_X => 21,
+ EVENT_SYSTEM_SWITCHSTART => 20,
EISDIR => 21,
- ERROR_NOT_READY => 21,
+ EMARCH_ENC_I17_IC_VAL_POS_X => 21,
EMR_SETSTRETCHBLTMODE => 21,
- EVENT_SYSTEM_MINIMIZESTART => 22,
- EMR_SETTEXTALIGN => 22,
+ ERROR_NOT_READY => 21,
+ EVENT_SYSTEM_SWITCHEND => 21,
EINVAL => 22,
EMARCH_ENC_I17_IMM41a_VAL_POS_X => 22,
+ EMR_SETTEXTALIGN => 22,
ERROR_BAD_COMMAND => 22,
+ EVENT_SYSTEM_MINIMIZESTART => 22,
+ EMARCH_ENC_I17_IMM41c_SIZE_X => 23,
+ EMR_SETCOLORADJUSTMENT => 23,
ENFILE => 23,
ERROR_CRC => 23,
EVENT_SYSTEM_MINIMIZEEND => 23,
- EMARCH_ENC_I17_IMM41c_SIZE_X => 23,
- EMR_SETCOLORADJUSTMENT => 23,
+ EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X => 24,
+ EMFILE => 24,
EMR_SETTEXTCOLOR => 24,
ERROR_BAD_LENGTH => 24,
- EMFILE => 24,
- EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X => 24,
- ENOTTY => 25,
EMR_SETBKCOLOR => 25,
+ ENOTTY => 25,
ERROR_SEEK => 25,
- ERROR_NOT_DOS_DISK => 26,
EMR_OFFSETCLIPRGN => 26,
- EMR_MOVETOEX => 27,
+ ERROR_NOT_DOS_DISK => 26,
EFBIG => 27,
EMARCH_ENC_I17_SIGN_INST_WORD_POS_X => 27,
+ EMR_MOVETOEX => 27,
ERROR_SECTOR_NOT_FOUND => 27,
+ EMR_SETMETARGN => 28,
ENABLEDUPLEX => 28,
ENOSPC => 28,
ERROR_OUT_OF_PAPER => 28,
- EMR_SETMETARGN => 28,
+ EMR_EXCLUDECLIPRECT => 29,
ERROR_WRITE_FAULT => 29,
ESPIPE => 29,
- EMR_EXCLUDECLIPRECT => 29,
EMR_INTERSECTCLIPRECT => 30,
- ERROR_READ_FAULT => 30,
EROFS => 30,
- ERROR_GEN_FAILURE => 31,
+ ERROR_READ_FAULT => 30,
EMLINK => 31,
- ENUMPAPERBINS => 31,
EMR_SCALEVIEWPORTEXTEX => 31,
+ ENUMPAPERBINS => 31,
+ ERROR_GEN_FAILURE => 31,
ELEMENT_STATUS_INENAB => 32,
- EV_RLSD => 32,
EMARCH_ENC_I17_IMM41b_VAL_POS_X => 32,
- ES_PASSWORD => 32,
- ERROR_SHARING_VIOLATION => 32,
EMR_SCALEWINDOWEXTEX => 32,
+ ENABLE_INSERT_MODE => 32,
EPIPE => 32,
+ ERROR_SHARING_VIOLATION => 32,
+ ES_PASSWORD => 32,
+ EV_RLSD => 32,
EXCEPTION_TARGET_UNWIND => 32,
- ENABLE_INSERT_MODE => 32,
EDOM => 33,
- ERROR_LOCK_VIOLATION => 33,
- EPSPRINTING => 33,
EMR_SAVEDC => 33,
- ERROR_WRONG_DISK => 34,
- ERANGE => 34,
+ EPSPRINTING => 33,
+ ERROR_LOCK_VIOLATION => 33,
EMR_RESTOREDC => 34,
ENUMPAPERMETRICS => 34,
+ ERANGE => 34,
+ ERROR_WRONG_DISK => 34,
EMR_SETWORLDTRANSFORM => 35,
+ EDEADLK => 36,
+ EDEADLOCK => 36,
EMR_MODIFYWORLDTRANSFORM => 36,
ERROR_SHARING_BUFFER_EXCEEDED => 36,
- EDEADLOCK => 36,
- EDEADLK => 36,
EMR_SELECTOBJECT => 37,
+ EMR_CREATEPEN => 38,
ENAMETOOLONG => 38,
ERROR_HANDLE_EOF => 38,
- EMR_CREATEPEN => 38,
+ EMR_CREATEBRUSHINDIRECT => 39,
ENOLCK => 39,
ERROR_HANDLE_DISK_FULL => 39,
- EMR_CREATEBRUSHINDIRECT => 39,
- ENOSYS => 40,
EMARCH_ENC_I17_IMM41c_VAL_POS_X => 40,
EMR_DELETEOBJECT => 40,
+ ENOSYS => 40,
EMR_ANGLEARC => 41,
ENOTEMPTY => 41,
EILSEQ => 42,
@@ -336,86 +344,86 @@ BEGIN {
EMR_PIE => 47,
EMR_SELECTPALETTE => 48,
EMR_CREATEPALETTE => 49,
- ERROR_NOT_SUPPORTED => 50,
- ERROR_BIDI_NOT_SUPPORTED => 50,
EMR_SETPALETTEENTRIES => 50,
+ ERROR_BIDI_NOT_SUPPORTED => 50,
+ ERROR_NOT_SUPPORTED => 50,
EMR_RESIZEPALETTE => 51,
ERROR_REM_NOT_LIST => 51,
EMR_REALIZEPALETTE => 52,
ERROR_DUP_NAME => 52,
EMR_EXTFLOODFILL => 53,
ERROR_BAD_NETPATH => 53,
- ERROR_NETWORK_BUSY => 54,
EMR_LINETO => 54,
- ERROR_DEV_NOT_EXIST => 55,
+ ERROR_NETWORK_BUSY => 54,
EMR_ARCTO => 55,
- ERROR_TOO_MANY_CMDS => 56,
+ ERROR_DEV_NOT_EXIST => 55,
EMR_POLYDRAW => 56,
- ERROR_ADAP_HDW_ERR => 57,
+ ERROR_TOO_MANY_CMDS => 56,
EMR_SETARCDIRECTION => 57,
- ERROR_BAD_NET_RESP => 58,
+ 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,
+ ERROR_BAD_REM_ADAP => 60,
EMR_CLOSEFIGURE => 61,
+ ERROR_PRINTQ_FULL => 61,
EMR_FILLPATH => 62,
ERROR_NO_SPOOL_SPACE => 62,
- ERROR_PRINT_CANCELLED => 63,
EMARCH_ENC_I17_SIGN_VAL_POS_X => 63,
EMR_STROKEANDFILLPATH => 63,
- EXCEPTION_COLLIDED_UNWIND => 64,
- ES_AWAYMODE_REQUIRED => 64,
+ ERROR_PRINT_CANCELLED => 63,
+ ELEMENT_STATUS_PRODUCT_DATA => 64,
EMR_STROKEPATH => 64,
+ ENABLE_QUICK_EDIT_MODE => 64,
ERROR_NETNAME_DELETED => 64,
- ELEMENT_STATUS_PRODUCT_DATA => 64,
ES_AUTOVSCROLL => 64,
+ ES_AWAYMODE_REQUIRED => 64,
EV_BREAK => 64,
- ENABLE_QUICK_EDIT_MODE => 64,
+ EXCEPTION_COLLIDED_UNWIND => 64,
EMR_FLATTENPATH => 65,
ERROR_NETWORK_ACCESS_DENIED => 65,
- ERROR_BAD_DEV_TYPE => 66,
EMR_WIDENPATH => 66,
- ERROR_BAD_NET_NAME => 67,
+ ERROR_BAD_DEV_TYPE => 66,
EMR_SELECTCLIPPATH => 67,
+ ERROR_BAD_NET_NAME => 67,
EMR_ABORTPATH => 68,
ERROR_TOO_MANY_NAMES => 68,
ERROR_TOO_MANY_SESS => 69,
- ERROR_SHARING_PAUSED => 70,
EMR_GDICOMMENT => 70,
+ ERROR_SHARING_PAUSED => 70,
EMR_FILLRGN => 71,
ERROR_REQ_NOT_ACCEP => 71,
- ERROR_REDIR_PAUSED => 72,
EMR_FRAMERGN => 72,
+ ERROR_REDIR_PAUSED => 72,
EMR_INVERTRGN => 73,
EMR_PAINTRGN => 74,
EMR_EXTSELECTCLIPRGN => 75,
EMR_BITBLT => 76,
- EMR_STRETCHBLT => 77,
ECC_CMS_SHARED_INFO => 77,
+ EMR_STRETCHBLT => 77,
EMR_MASKBLT => 78,
EMR_PLGBLT => 79,
EMR_SETDIBITSTODEVICE => 80,
ERROR_FILE_EXISTS => 80,
EMR_STRETCHDIBITS => 81,
- ERROR_CANNOT_MAKE => 82,
EMR_EXTCREATEFONTINDIRECTW => 82,
+ ERROR_CANNOT_MAKE => 82,
EMR_EXTTEXTOUTA => 83,
ERROR_FAIL_I24 => 83,
EMR_EXTTEXTOUTW => 84,
ERROR_OUT_OF_STRUCTURES => 84,
- ERROR_ALREADY_ASSIGNED => 85,
EMR_POLYBEZIER16 => 85,
- ERROR_INVALID_PASSWORD => 86,
+ ERROR_ALREADY_ASSIGNED => 85,
EMR_POLYGON16 => 86,
- ERROR_INVALID_PARAMETER => 87,
+ 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,
+ ERROR_NO_PROC_SLOTS => 89,
EMR_POLYPOLYLINE16 => 90,
EMR_POLYPOLYGON16 => 91,
EMR_POLYDRAW16 => 92,
@@ -426,75 +434,105 @@ BEGIN {
EMR_POLYTEXTOUTW => 97,
EMR_SETICMMODE => 98,
EMR_CREATECOLORSPACE => 99,
+ EADDRINUSE => 100,
EMR_SETCOLORSPACE => 100,
ERROR_TOO_MANY_SEMAPHORES => 100,
+ EADDRNOTAVAIL => 101,
EMR_DELETECOLORSPACE => 101,
ERROR_EXCL_SEM_ALREADY_OWNED => 101,
+ EAFNOSUPPORT => 102,
EMR_GLSRECORD => 102,
- EXCEPTION_UNWIND => 102,
ERROR_SEM_IS_SET => 102,
+ EXCEPTION_UNWIND => 102,
+ EALREADY => 103,
EMR_GLSBOUNDEDRECORD => 103,
ERROR_TOO_MANY_SEM_REQUESTS => 103,
EMR_PIXELFORMAT => 104,
ERROR_INVALID_AT_INTERRUPT_TIME => 104,
- ERROR_SEM_OWNER_DIED => 105,
+ ECANCELED => 105,
EMR_RESERVED_105 => 105,
- ERROR_SEM_USER_LIMIT => 106,
+ ERROR_SEM_OWNER_DIED => 105,
+ ECONNABORTED => 106,
EMR_RESERVED_106 => 106,
- ERROR_DISK_CHANGE => 107,
+ ERROR_SEM_USER_LIMIT => 106,
+ ECONNREFUSED => 107,
EMR_RESERVED_107 => 107,
- ERROR_DRIVE_LOCKED => 108,
+ ERROR_DISK_CHANGE => 107,
+ ECONNRESET => 108,
EMR_RESERVED_108 => 108,
+ ERROR_DRIVE_LOCKED => 108,
+ EDESTADDRREQ => 109,
EMR_RESERVED_109 => 109,
ERROR_BROKEN_PIPE => 109,
- ERROR_OPEN_FAILED => 110,
+ EHOSTUNREACH => 110,
EMR_RESERVED_110 => 110,
+ ERROR_OPEN_FAILED => 110,
EMR_COLORCORRECTPALETTE => 111,
ERROR_BUFFER_OVERFLOW => 111,
+ EINPROGRESS => 112,
EMR_SETICMPROFILEA => 112,
ERROR_DISK_FULL => 112,
- ERROR_NO_MORE_SEARCH_HANDLES => 113,
+ EISCONN => 113,
EMR_SETICMPROFILEW => 113,
+ ERROR_NO_MORE_SEARCH_HANDLES => 113,
+ ELOOP => 114,
EMR_ALPHABLEND => 114,
ERROR_INVALID_TARGET_HANDLE => 114,
EMR_SETLAYOUT => 115,
+ EMSGSIZE => 115,
EMR_TRANSPARENTBLT => 116,
+ ENETDOWN => 116,
EMR_RESERVED_117 => 117,
+ ENETRESET => 117,
ERROR_INVALID_CATEGORY => 117,
EMR_GRADIENTFILL => 118,
+ ENETUNREACH => 118,
ERROR_INVALID_VERIFY_SWITCH => 118,
- ERROR_BAD_DRIVER_LEVEL => 119,
EMR_RESERVED_119 => 119,
- ERROR_CALL_NOT_IMPLEMENTED => 120,
+ ENOBUFS => 119,
+ ERROR_BAD_DRIVER_LEVEL => 119,
EMR_RESERVED_120 => 120,
+ ERROR_CALL_NOT_IMPLEMENTED => 120,
EMR_COLORMATCHTOTARGETW => 121,
ERROR_SEM_TIMEOUT => 121,
- EMR_MAX => 122,
EMR_CREATECOLORSPACEW => 122,
+ EMR_MAX => 122,
ERROR_INSUFFICIENT_BUFFER => 122,
+ ENOPROTOOPT => 123,
ERROR_INVALID_NAME => 123,
ERROR_INVALID_LEVEL => 124,
ERROR_NO_VOLUME_LABEL => 125,
+ ENOTCONN => 126,
ERROR_MOD_NOT_FOUND => 126,
ERROR_PROC_NOT_FOUND => 127,
- EV_ERR => 128,
+ EC_ENABLEONE => 128,
ENABLE_EXTENDED_FLAGS => 128,
+ ENOTSOCK => 128,
+ ERROR_WAIT_NO_CHILDREN => 128,
ES_AUTOHSCROLL => 128,
ETO_RTLREADING => 128,
- EC_ENABLEONE => 128,
- ERROR_WAIT_NO_CHILDREN => 128,
+ EV_ERR => 128,
+ ENOTSUP => 129,
ERROR_CHILD_NOT_COMPLETE => 129,
+ EOPNOTSUPP => 130,
ERROR_DIRECT_ACCESS_HANDLE => 130,
ERROR_NEGATIVE_SEEK => 131,
+ EOVERFLOW => 132,
ERROR_SEEK_ON_DEVICE => 132,
+ EOWNERDEAD => 133,
ERROR_IS_JOIN_TARGET => 133,
+ EPROTO => 134,
ERROR_IS_JOINED => 134,
+ EPROTONOSUPPORT => 135,
ERROR_IS_SUBSTED => 135,
+ EPROTOTYPE => 136,
ERROR_NOT_JOINED => 136,
ERROR_NOT_SUBSTED => 137,
ERROR_JOIN_TO_JOIN => 138,
+ ETIMEDOUT => 138,
ERROR_SUBST_TO_SUBST => 139,
ERROR_JOIN_TO_SUBST => 140,
+ EWOULDBLOCK => 140,
ERROR_SUBST_TO_JOIN => 141,
ERROR_BUSY_DRIVE => 142,
ERROR_SAME_DRIVE => 143,
@@ -526,45 +564,45 @@ BEGIN {
EM_SETSEL => 177,
EM_GETRECT => 178,
EM_SETRECT => 179,
- ERROR_INVALID_SEGMENT_NUMBER => 180,
EM_SETRECTNP => 180,
+ ERROR_INVALID_SEGMENT_NUMBER => 180,
EM_SCROLL => 181,
- ERROR_INVALID_ORDINAL => 182,
EM_LINESCROLL => 182,
+ ERROR_INVALID_ORDINAL => 182,
EM_SCROLLCARET => 183,
ERROR_ALREADY_EXISTS => 183,
EM_GETMODIFY => 184,
EM_SETMODIFY => 185,
EM_GETLINECOUNT => 186,
ERROR_INVALID_FLAG_NUMBER => 186,
- ERROR_SEM_NOT_FOUND => 187,
EM_LINEINDEX => 187,
+ ERROR_SEM_NOT_FOUND => 187,
EM_SETHANDLE => 188,
ERROR_INVALID_STARTING_CODESEG => 188,
- ERROR_INVALID_STACKSEG => 189,
EM_GETHANDLE => 189,
- ERROR_INVALID_MODULETYPE => 190,
+ ERROR_INVALID_STACKSEG => 189,
EM_GETTHUMB => 190,
+ ERROR_INVALID_MODULETYPE => 190,
ERROR_INVALID_EXE_SIGNATURE => 191,
ERROR_EXE_MARKED_INVALID => 192,
EM_LINELENGTH => 193,
ERROR_BAD_EXE_FORMAT => 193,
- ERROR_ITERATED_DATA_EXCEEDS_64k => 194,
EM_REPLACESEL => 194,
+ ERROR_ITERATED_DATA_EXCEEDS_64k => 194,
ERROR_INVALID_MINALLOCSIZE => 195,
EM_GETLINE => 196,
ERROR_DYNLINK_FROM_INVALID_RING => 196,
+ EM_LIMITTEXT => 197,
EM_SETLIMITTEXT => 197,
ERROR_IOPL_NOT_ENABLED => 197,
- EM_LIMITTEXT => 197,
EM_CANUNDO => 198,
ERROR_INVALID_SEGDPL => 198,
- ERROR_AUTODATASEG_EXCEEDS_64k => 199,
EM_UNDO => 199,
+ ERROR_AUTODATASEG_EXCEEDS_64k => 199,
EM_FMTLINES => 200,
ERROR_RING2SEG_MUST_BE_MOVABLE => 200,
- ERROR_RELOC_CHAIN_XEEDS_SEGLIM => 201,
EM_LINEFROMCHAR => 201,
+ ERROR_RELOC_CHAIN_XEEDS_SEGLIM => 201,
ERROR_INFLOOP_IN_RELOC_CHAIN => 202,
EM_SETTABSTOPS => 203,
ERROR_ENVVAR_NOT_FOUND => 203,
@@ -573,29 +611,29 @@ BEGIN {
ERROR_NO_SIGNAL_SENT => 205,
EM_GETFIRSTVISIBLELINE => 206,
ERROR_FILENAME_EXCED_RANGE => 206,
- ERROR_RING2_STACK_IN_USE => 207,
EM_SETREADONLY => 207,
- ERROR_META_EXPANSION_TOO_LONG => 208,
+ ERROR_RING2_STACK_IN_USE => 207,
EM_SETWORDBREAKPROC => 208,
+ ERROR_META_EXPANSION_TOO_LONG => 208,
EM_GETWORDBREAKPROC => 209,
ERROR_INVALID_SIGNAL_NUMBER => 209,
- ERROR_THREAD_1_INACTIVE => 210,
- ENABLE_DISABLE_AUTOSAVE => 210,
EM_GETPASSWORDCHAR => 210,
+ ENABLE_DISABLE_AUTOSAVE => 210,
+ ERROR_THREAD_1_INACTIVE => 210,
EM_SETMARGINS => 211,
EM_GETMARGINS => 212,
ERROR_LOCKED => 212,
EXECUTE_OFFLINE_DIAGS => 212,
EM_GETLIMITTEXT => 213,
- ERROR_TOO_MANY_MODULES => 214,
EM_POSFROMCHAR => 214,
+ ERROR_TOO_MANY_MODULES => 214,
EM_CHARFROMPOS => 215,
ERROR_NESTING_NOT_ALLOWED => 215,
- ERROR_EXE_MACHINE_TYPE_MISMATCH => 216,
- ENABLE_SMART => 216,
EM_SETIMESTATUS => 216,
- ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY => 217,
+ ENABLE_SMART => 216,
+ ERROR_EXE_MACHINE_TYPE_MISMATCH => 216,
EM_GETIMESTATUS => 217,
+ ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY => 217,
ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY => 218,
ENABLE_DISABLE_AUTO_OFFLINE => 219,
ERROR_BAD_PIPE => 230,
@@ -607,10 +645,10 @@ BEGIN {
ERROR_VC_DISCONNECTED => 240,
ERROR_INVALID_EA_NAME => 254,
ERROR_EA_LIST_INCONSISTENT => 255,
- ENHANCED_KEY => 256,
- ES_NOHIDESEL => 256,
ENABLE_AUTO_POSITION => 256,
+ ENHANCED_KEY => 256,
EN_SETFOCUS => 256,
+ ES_NOHIDESEL => 256,
EV_RING => 256,
ERROR_NO_MORE_ITEMS => 259,
ERROR_CANNOT_COPY => 266,
@@ -636,8 +674,8 @@ BEGIN {
ERROR_ARITHMETIC_OVERFLOW => 534,
ERROR_PIPE_CONNECTED => 535,
ERROR_PIPE_LISTENING => 536,
- EN_CHANGE => 768,
ENABLERELATIVEWIDTHS => 768,
+ EN_CHANGE => 768,
ENABLEPAIRKERNING => 769,
ERROR_EA_ACCESS_DENIED => 994,
ERROR_OPERATION_ABORTED => 995,
@@ -667,10 +705,10 @@ BEGIN {
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,
- ES_OEMCONVERT => 1024,
- EN_UPDATE => 1024,
ERROR_DEPENDENT_SERVICES_RUNNING => 1051,
ERROR_INVALID_SERVICE_CONTROL => 1052,
ERROR_SERVICE_REQUEST_TIMEOUT => 1053,
@@ -846,8 +884,8 @@ BEGIN {
ERROR_ACCESS_DISABLED_WEBBLADE => 1277,
ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER => 1278,
ERROR_RECOVERY_FAILURE => 1279,
- ERROR_ALREADY_FIBER => 1280,
EN_ERRSPACE => 1280,
+ ERROR_ALREADY_FIBER => 1280,
EN_MAXTEXT => 1281,
ERROR_ALREADY_THREAD => 1281,
ERROR_STACK_BUFFER_OVERRUN => 1282,
@@ -1145,8 +1183,8 @@ BEGIN {
ERROR_COLORSPACE_MISMATCH => 2021,
ERROR_INVALID_COLORINDEX => 2022,
ES_READONLY => 2048,
- EV_EVENT1 => 2048,
ETO_NUMERICSLATIN => 2048,
+ EV_EVENT1 => 2048,
ERROR_CONNECTED_OTHER_PASSWORD => 2108,
ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT => 2109,
ERROR_BAD_USERNAME => 2202,
@@ -1176,10 +1214,10 @@ BEGIN {
ERROR_FULL_BACKUP => 4004,
ERROR_REC_NON_EXISTENT => 4005,
ERROR_RPL_NOT_ALLOWED => 4006,
- EV_EVENT2 => 4096,
+ ELEMENT_STATUS_LUN_VALID => 4096,
ES_WANTRETURN => 4096,
ETO_IGNORELANGUAGE => 4096,
- ELEMENT_STATUS_LUN_VALID => 4096,
+ EV_EVENT2 => 4096,
END_PATH => 4098,
EXT_DEVICE_CAPS => 4099,
ERROR_DHCP_ADDRESS_CONFLICT => 4100,
@@ -1413,8 +1451,8 @@ BEGIN {
ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE => 7058,
ERROR_ACTIVATION_COUNT_EXCEEDED => 7059,
ELEMENT_STATUS_ID_VALID => 8192,
- ETO_PDY => 8192,
ES_NUMBER => 8192,
+ ETO_PDY => 8192,
ERROR_DS_NOT_INSTALLED => 8200,
ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY => 8201,
ERROR_DS_NO_ATTRIBUTE_OR_VALUE => 8202,
@@ -1793,58 +1831,25 @@ BEGIN {
ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER => 8615,
ERROR_DS_LDAP_SEND_QUEUE_FULL => 8616,
ERROR_DS_DRA_OUT_SCHEDULE_WINDOW => 8617,
- 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_BIDI_ERROR_BASE => 13000,
ERROR_IPSEC_QM_POLICY_EXISTS => 13000,
- ERROR_IPSEC_QM_POLICY_NOT_FOUND => 13001,
ERROR_BIDI_STATUS_WARNING => 13001,
+ ERROR_IPSEC_QM_POLICY_NOT_FOUND => 13001,
ERROR_BIDI_SCHEMA_READ_ONLY => 13002,
ERROR_IPSEC_QM_POLICY_IN_USE => 13002,
- ERROR_IPSEC_MM_POLICY_EXISTS => 13003,
ERROR_BIDI_SERVER_OFFLINE => 13003,
- ERROR_IPSEC_MM_POLICY_NOT_FOUND => 13004,
+ ERROR_IPSEC_MM_POLICY_EXISTS => 13003,
ERROR_BIDI_DEVICE_OFFLINE => 13004,
+ ERROR_IPSEC_MM_POLICY_NOT_FOUND => 13004,
ERROR_BIDI_SCHEMA_NOT_SUPPORTED => 13005,
ERROR_IPSEC_MM_POLICY_IN_USE => 13005,
ERROR_IPSEC_MM_FILTER_EXISTS => 13006,
@@ -2035,8 +2040,8 @@ BEGIN {
EVENT_CONSOLE_LAYOUT => 16389,
EVENT_CONSOLE_START_APPLICATION => 16390,
EVENT_CONSOLE_END_APPLICATION => 16391,
- EVENT_OBJECT_CREATE => 32768,
ELEMENT_STATUS_NOT_BUS => 32768,
+ EVENT_OBJECT_CREATE => 32768,
EVENT_OBJECT_DESTROY => 32769,
EVENT_OBJECT_SHOW => 32770,
EVENT_OBJECT_HIDE => 32771,
@@ -2057,12 +2062,18 @@ BEGIN {
EVENT_OBJECT_ACCELERATORCHANGE => 32786,
EC_USEFONTINFO => 65535,
EMBDHLP_DELAYCREATE => 65536,
+ ENLISTMENT_GENERIC_READ => 131073,
+ ENLISTMENT_GENERIC_EXECUTE => 131100,
+ ENLISTMENT_GENERIC_WRITE => 131102,
ENUM_S_FIRST => 262576,
ENUM_S_LAST => 262591,
- EVENT_S_SOME_SUBSCRIBERS_FAILED => 262656,
EVENT_S_FIRST => 262656,
+ EVENT_S_SOME_SUBSCRIBERS_FAILED => 262656,
EVENT_S_NOSUBSCRIBERS => 262658,
EVENT_S_LAST => 262687,
+ EXTENDED_STARTUPINFO_PRESENT => 524288,
+ ENLISTMENT_ALL_ACCESS => 983071,
+ ERROR_FLT_IO_COMPLETE => 2031617,
EVENT_ALL_ACCESS => 2031619,
ELEMENT_STATUS_INVERT => 4194304,
ELEMENT_STATUS_SVALID => 8388608,
@@ -2072,10 +2083,10 @@ BEGIN {
ENHMETA_SIGNATURE => 1179469088,
EPS_SIGNATURE => 1179865157,
EVENT_MAX => 2147483647,
- ES_CONTINUOUS => 2147483648,
+ ENDSESSION_LOGOFF => 2147483648,
ENHMETA_STOCK_OBJECT => 2147483648,
ERROR_SEVERITY_WARNING => 2147483648,
- ENDSESSION_LOGOFF => 2147483648,
+ ES_CONTINUOUS => 2147483648,
EXCEPTION_GUARD_PAGE => 2147483649,
EXCEPTION_DATATYPE_MISALIGNMENT => 2147483650,
EXCEPTION_BREAKPOINT => 2147483651,
@@ -2111,6 +2122,36 @@ BEGIN {
E_HANDLE => 2147942406,
E_OUTOFMEMORY => 2147942414,
E_INVALIDARG => 2147942487,
+ ERROR_FLT_NO_HANDLER_DEFINED => 2149515265,
+ ERROR_FLT_CONTEXT_ALREADY_DEFINED => 2149515266,
+ ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST => 2149515267,
+ ERROR_FLT_DISALLOW_FAST_IO => 2149515268,
+ ERROR_FLT_INVALID_NAME_REQUEST => 2149515269,
+ ERROR_FLT_NOT_SAFE_TO_POST_OPERATION => 2149515270,
+ ERROR_FLT_NOT_INITIALIZED => 2149515271,
+ ERROR_FLT_FILTER_NOT_READY => 2149515272,
+ ERROR_FLT_POST_OPERATION_CLEANUP => 2149515273,
+ ERROR_FLT_INTERNAL_ERROR => 2149515274,
+ ERROR_FLT_DELETING_OBJECT => 2149515275,
+ ERROR_FLT_MUST_BE_NONPAGED_POOL => 2149515276,
+ ERROR_FLT_DUPLICATE_ENTRY => 2149515277,
+ ERROR_FLT_CBDQ_DISABLED => 2149515278,
+ ERROR_FLT_DO_NOT_ATTACH => 2149515279,
+ ERROR_FLT_DO_NOT_DETACH => 2149515280,
+ ERROR_FLT_INSTANCE_ALTITUDE_COLLISION => 2149515281,
+ ERROR_FLT_INSTANCE_NAME_COLLISION => 2149515282,
+ ERROR_FLT_FILTER_NOT_FOUND => 2149515283,
+ ERROR_FLT_VOLUME_NOT_FOUND => 2149515284,
+ ERROR_FLT_INSTANCE_NOT_FOUND => 2149515285,
+ ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND => 2149515286,
+ ERROR_FLT_INVALID_CONTEXT_REGISTRATION => 2149515287,
+ ERROR_FLT_NAME_CACHE_MISS => 2149515288,
+ ERROR_FLT_NO_DEVICE_OBJECT => 2149515289,
+ ERROR_FLT_VOLUME_ALREADY_MOUNTED => 2149515290,
+ ERROR_FLT_ALREADY_ENLISTED => 2149515291,
+ ERROR_FLT_CONTEXT_ALREADY_LINKED => 2149515292,
+ ERROR_FLT_NO_WAITER_FOR_REPLY => 2149515296,
+ ERROR_FLT_REGISTRATION_BUSY => 2149515299,
ERROR_SEVERITY_ERROR => 3221225472,
EXCEPTION_ACCESS_VIOLATION => 3221225477,
EXCEPTION_IN_PAGE_ERROR => 3221225478,
@@ -2162,10 +2203,10 @@ our %EXPORT_TAGS = (
POSIX => [qw(
E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
- EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
- EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
- ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTCONN
+ EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTUNREACH EINPROGRESS
+ EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
+ ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV
+ ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTCONN
ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT
EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE EROFS
ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
diff --git a/Master/tlpkg/tlperl/lib/Exporter.pm b/Master/tlpkg/tlperl/lib/Exporter.pm
index f7564f7c73b..bc72c51c4b4 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.68';
+our $VERSION = '5.71';
our (%Cache);
sub as_heavy {
@@ -280,7 +280,7 @@ import function:
package A;
@ISA = qw(Exporter);
- @EXPORT_OK = qw ($b);
+ @EXPORT_OK = qw($b);
sub import
{
@@ -294,7 +294,7 @@ Instead, say the following:
package A;
@ISA = qw(Exporter);
- @EXPORT_OK = qw ($b);
+ @EXPORT_OK = qw($b);
sub import
{
@@ -312,10 +312,10 @@ Note: Be careful not to modify C<@_> at all before you call export_to_level
By including Exporter in your C<@ISA> you inherit an Exporter's import() method
but you also inherit several other helper methods which you probably don't
-want. To avoid this you can do
+want. To avoid this you can do:
package YourModule;
- use Exporter qw( import );
+ use Exporter qw(import);
which will export Exporter's own import() method into YourModule.
Everything will work as before but you won't need to include Exporter in
@@ -471,7 +471,7 @@ one must write instead a C<use vars> statement.
There are some caveats with the use of runtime statements
like C<require Exporter> and the assignment to package
-variables, which can very subtle for the unaware programmer.
+variables, which can be very subtle for the unaware programmer.
This may happen for instance with mutually recursive
modules, which are affected by the time the relevant
constructions are executed.
@@ -500,9 +500,9 @@ or just plain wrong.
With respect to loading C<Exporter> and inheriting, there
are alternatives with the use of modules like C<base> and C<parent>.
- use base qw( Exporter );
+ use base qw(Exporter);
# or
- use parent qw( Exporter );
+ use parent qw(Exporter);
Any of these statements are nice replacements for
C<BEGIN { require Exporter; @ISA = qw(Exporter); }>
@@ -553,11 +553,11 @@ There's one more item to add to this list. Do B<not>
export variable names. Just because C<Exporter> lets you
do that, it does not mean you should.
- @EXPORT_OK = qw( $svar @avar %hvar ); # DON'T!
+ @EXPORT_OK = qw($svar @avar %hvar); # DON'T!
Exporting variables is not a good idea. They can
change under the hood, provoking horrible
-effects at-a-distance, that are too hard to track
+effects at-a-distance that are too hard to track
and to fix. Trust me: they are not worth it.
To provide the capability to set/get class-wide
@@ -569,7 +569,7 @@ as subroutines or class methods instead.
C<Exporter> is definitely not the only module with
symbol exporter capabilities. At CPAN, you may find
a bunch of them. Some are lighter. Some
-provide improved APIs and features. Peek the one
+provide improved APIs and features. Pick the one
that fits your needs. The following is
a sample list of such modules.
diff --git a/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm b/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm
index 724028a2b1a..21b67c18c46 100644
--- a/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm
+++ b/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm
@@ -38,8 +38,13 @@ sub _rebuild_cache {
sub heavy_export {
+ # Save the old __WARN__ handler in case it was defined
+ my $oldwarn = $SIG{__WARN__};
+
# First make import warnings look like they're coming from the "use".
local $SIG{__WARN__} = sub {
+ # restore it back so proper stacking occurs
+ local $SIG{__WARN__} = $oldwarn;
my $text = shift;
if ($text =~ s/ at \S*Exporter\S*.pm line \d+.*\n//) {
require Carp;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
index 1caba9c3df5..98a68a0b813 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
@@ -6,7 +6,7 @@ use File::Basename ();
use Perl::OSType qw/os_type/;
use vars qw($VERSION @ISA);
-$VERSION = '0.280210';
+$VERSION = '0.280217';
$VERSION = eval $VERSION;
# We only use this once - don't waste a symbol table entry on it.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
index c76489bfd06..4392b7f5dbb 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
@@ -6,13 +6,11 @@ use File::Basename;
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.280209';
+$VERSION = '0.280217';
# More details about C/C++ compilers:
# http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
@@ -224,10 +222,23 @@ sub have_cplusplus {
}
sub lib_file {
- my ($self, $dl_file) = @_;
+ my ($self, $dl_file, %args) = @_;
$dl_file =~ s/\.[^.]+$//;
$dl_file =~ tr/"//d;
- return "$dl_file.$self->{config}{dlext}";
+
+ if (defined $args{module_name} and length $args{module_name}) {
+ # Need to create with the same name as DynaLoader will load with.
+ require DynaLoader;
+ if (defined &DynaLoader::mod2fname) {
+ my $lib = DynaLoader::mod2fname([split /::/, $args{module_name}]);
+ my ($dev, $lib_dir, undef) = File::Spec->splitpath($dl_file);
+ $dl_file = File::Spec->catpath($dev, $lib_dir, $lib);
+ }
+ }
+
+ $dl_file .= ".$self->{config}{dlext}";
+
+ return $dl_file;
}
@@ -289,7 +300,7 @@ sub _do_link {
my $objects = delete $args{objects};
$objects = [$objects] unless ref $objects;
- my $out = $args{$type} || $self->$type($objects->[0]);
+ my $out = $args{$type} || $self->$type($objects->[0], %args);
my @temp_files;
@temp_files =
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
index 696badc91b5..d948bbfecb0 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.280209';
+$VERSION = '0.280217';
@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 55ce242b8d5..d296bab51c1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.280209';
+$VERSION = '0.280217';
@ISA = qw(ExtUtils::CBuilder::Base);
use File::Spec::Functions qw(catfile catdir);
@@ -118,22 +118,6 @@ sub arg_share_object_file {
return ("$self->{config}{lddlflags}=$file");
}
-
-sub lib_file {
- my ($self, $dl_file) = @_;
- $dl_file =~ s/\.[^.]+$//;
- $dl_file =~ tr/"//d;
- $dl_file = $dl_file .= '.' . $self->{config}{dlext};
-
- # Need to create with the same name as DynaLoader will load with.
- if (defined &DynaLoader::mod2fname) {
- my ($dev,$dir,$file) = File::Spec->splitpath($dl_file);
- $file = DynaLoader::mod2fname([$file]);
- $dl_file = File::Spec->catpath($dev,$dir,$file);
- }
- return $dl_file;
-}
-
# The following is reproduced almost verbatim from ExtUtils::Liblist::Kid::_vms_ext.
# We can't just call that because it's tied up with the MakeMaker object hierarchy.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
index b63a3893bce..f9e4070b965 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.280209';
+$VERSION = '0.280217';
@ISA = qw(ExtUtils::CBuilder::Base);
=begin comment
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 d7876f586db..aab143791f0 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.280209';
+$VERSION = '0.280217';
sub format_compiler_cmd {
my ($self, %spec) = @_;
@@ -42,7 +42,7 @@ sub write_compiler_script {
# XXX Borland "response files" seem to be unable to accept macro
# definitions containing quoted strings. Escaping strings with
# backslash doesn't work, and any level of quotes are stripped. The
- # result is is a floating point number in the source file where a
+ # result is a floating point number in the source file where a
# string is expected. So we leave the macros on the command line.
print $SCRIPT join( "\n",
map { ref $_ ? @{$_} : $_ }
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 e7129acccbf..b8a32a873ac 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.280209';
+$VERSION = '0.280217';
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 ce649629c76..3d4b5abc881 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.280209';
+$VERSION = '0.280217';
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 29334b13076..ecc14f89e27 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.280209';
+$VERSION = '0.280217';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
new file mode 100644
index 00000000000..e2be516d2ca
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
@@ -0,0 +1,39 @@
+package ExtUtils::CBuilder::Platform::android;
+
+use strict;
+use Config;
+use File::Spec;
+use ExtUtils::CBuilder::Platform::Unix;
+
+use vars qw($VERSION @ISA);
+$VERSION = '0.280217';
+@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+
+# The Android linker will not recognize symbols from
+# libperl unless the module explicitly depends on it.
+sub link {
+ my ($self, %args) = @_;
+
+ if ($self->{config}{useshrplib} eq 'true') {
+ $args{extra_linker_flags} = [
+ $self->split_like_shell($args{extra_linker_flags}),
+ '-L' . $self->perl_inc(),
+ '-lperl',
+ $self->split_like_shell($Config{perllibs}),
+ ];
+ }
+
+ # Several modules on CPAN rather rightfully expect being
+ # able to pass $so_file to DynaLoader::dl_load_file and
+ # have it Just Work. However, $so_file will more likely
+ # than not be a relative path, and unless the module
+ # author subclasses MakeMaker/Module::Build to modify
+ # LD_LIBRARY_PATH, which would be insane, Android's linker
+ # won't find the .so
+ # So we make this all work by returning an absolute path.
+ my($so_file, @so_tmps) = $self->SUPER::link(%args);
+ $so_file = File::Spec->rel2abs($so_file);
+ return wantarray ? ($so_file, @so_tmps) : $so_file;
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index 206b7985d98..43e6a47b6bd 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.280209';
+$VERSION = '0.280217';
@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 0518e3ebb4c..bc4f1884968 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.280209';
+$VERSION = '0.280217';
@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 14b84e92cdb..f16fc019d59 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.280209';
+$VERSION = '0.280217';
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 c41cdfaa8c3..3d4867c2f8d 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.280209';
+$VERSION = '0.280217';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
@@ -29,18 +29,12 @@ sub _do_link {
if ($how eq 'lib_file'
and (defined $args{module_name} and length $args{module_name})) {
- # DynaLoader::mod2fname() is a builtin func
- my $lib = DynaLoader::mod2fname([split /::/, $args{module_name}]);
-
# Now know the basename, find directory parts via lib_file, or objects
my $objs = ( (ref $args{objects}) ? $args{objects} : [$args{objects}] );
my $near_obj = $self->lib_file(@$objs);
- my $ref_file = ( defined $args{lib_file} ? $args{lib_file} : $near_obj );
- my $lib_dir = ($ref_file =~ m,(.*)[/\\],s ? "$1/" : '' );
my $exp_dir = ($near_obj =~ m,(.*)[/\\],s ? "$1/" : '' );
$args{dl_file} = $1 if $near_obj =~ m,(.*)\.,s; # put ExportList near OBJ
- $args{lib_file} = "$lib_dir$lib.$self->{config}{dlext}"; # DLL file
# XXX _do_link does not have place to put libraries?
push @$objs, $self->perl_inc() . "/libperl$self->{config}{lib_ext}";
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
index 2a4d8cdc39d..035d5ca9df7 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.17';
+$VERSION = '1.18';
my $Is_VMS = $^O eq 'VMS';
my $Is_VMS_mode = $Is_VMS;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
index add6b457ce6..f45d41d0323 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
@@ -8,12 +8,16 @@ use warnings;
require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
- warn_if_old_packlist);
-our $VERSION = '6.66';
+our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
+ warn_if_old_packlist test_s cp_nonempty);
+our $VERSION = '6.98';
my $Is_VMS = $^O eq 'VMS';
+eval { require Time::HiRes; die unless Time::HiRes->can("stat"); };
+*mtime = $@ ?
+ sub { [ stat($_[0])]->[9] } :
+ sub { [Time::HiRes::stat($_[0])]->[9] } ;
=head1 NAME
@@ -108,7 +112,7 @@ sub pod2man {
# our arguments into @ARGV. Should be safe.
my %options = ();
Getopt::Long::config ('bundling_override');
- Getopt::Long::GetOptions (\%options,
+ Getopt::Long::GetOptions (\%options,
'section|s=s', 'release|r=s', 'center|c=s',
'date|d=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s',
'fixedbolditalic=s', 'official|o', 'quotes|q=s', 'lax|l',
@@ -131,8 +135,8 @@ sub pod2man {
my ($pod, $man) = splice(@ARGV, 0, 2);
next if ((-e $man) &&
- (-M $man < -M $pod) &&
- (-M $man < -M "Makefile"));
+ (mtime($man) > mtime($pod)) &&
+ (mtime($man) > mtime("Makefile")));
print "Manifying $man\n";
@@ -174,7 +178,7 @@ PACKLIST_WARNING
=item B<perllocal_install>
- perl "-MExtUtils::Command::MM" -e perllocal_install
+ perl "-MExtUtils::Command::MM" -e perllocal_install
<type> <module name> <key> <value> ...
# VMS only, key|value pairs come on STDIN
@@ -193,7 +197,7 @@ Key/value pairs are extra information about the module. Fields include:
installed into which directory your module was out into
LINKTYPE dynamic or static linking
VERSION module version number
- EXE_FILES any executables installed in a space seperated
+ EXE_FILES any executables installed in a space seperated
list
=cut
@@ -209,9 +213,9 @@ sub perllocal_install {
my $pod;
$pod = sprintf <<POD, scalar localtime;
=head2 %s: C<$type> L<$name|$name>
-
+
=over 4
-
+
POD
do {
@@ -219,9 +223,9 @@ POD
$pod .= <<POD
=item *
-
+
C<$key: $val>
-
+
POD
} while(@mod_info);
@@ -268,8 +272,43 @@ WARNING
}
+=item B<test_s>
+
+ perl "-MExtUtils::Command::MM" -e test_s <file>
+
+Tests if a file exists and is not empty (size > 0).
+I<Exits> with 0 if it does, 1 if it does not.
+
+=cut
+
+sub test_s {
+ exit(-s $ARGV[0] ? 0 : 1);
+}
+
+=item B<cp_nonempty>
+
+ perl "-MExtUtils::Command::MM" -e cp_nonempty <srcfile> <dstfile> <perm>
+
+Tests if the source file exists and is not empty (size > 0). If it is not empty
+it copies it to the given destination with the given permissions.
+
=back
=cut
+sub cp_nonempty {
+ my @args = @ARGV;
+ return 0 unless -s $args[0];
+ require ExtUtils::Command;
+ {
+ local @ARGV = @args[0,1];
+ ExtUtils::Command::cp(@ARGV);
+ }
+ {
+ local @ARGV = @args[2,1];
+ ExtUtils::Command::chmod(@ARGV);
+ }
+}
+
+
1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
index 9710630e515..3f983c11832 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
@@ -1,15 +1,7 @@
-require 5.002;
-
package ExtUtils::Embed;
require Exporter;
-require FileHandle;
use Config;
-use Getopt::Std;
-use File::Spec;
-
-#Only when we need them
-#require ExtUtils::MakeMaker;
-#require ExtUtils::Liblist;
+require File::Spec;
use vars qw(@ISA @EXPORT $VERSION
@Extensions $Verbose $lib_ext
@@ -18,17 +10,13 @@ use vars qw(@ISA @EXPORT $VERSION
use strict;
# This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.30';
+$VERSION = '1.32';
@ISA = qw(Exporter);
@EXPORT = qw(&xsinit &ldopts
&ccopts &ccflags &ccdlflags &perl_inc
&xsi_header &xsi_protos &xsi_body);
-#let's have Miniperl borrow from us instead
-#require ExtUtils::Miniperl;
-#*canon = \&ExtUtils::Miniperl::canon;
-
$Verbose = 0;
$lib_ext = $Config{lib_ext} || '.a';
@@ -54,7 +42,8 @@ sub xsinit {
@mods = @$mods if $mods;
}
else {
- getopts('o:s:');
+ require Getopt::Std;
+ Getopt::Std::getopts('o:s:');
$file = $opt_o if defined $opt_o;
$std = $opt_s if defined $opt_s;
@mods = @ARGV;
@@ -65,14 +54,15 @@ sub xsinit {
$fh = \*STDOUT;
}
else {
- $fh = new FileHandle "> $file";
+ open $fh, '>', $file
+ or die "Can't open '$file': $!";
}
push(@mods, static_ext()) if defined $std;
@mods = grep(!$seen{$_}++, @mods);
print $fh &xsi_header();
- print $fh "EXTERN_C void xs_init ($xsinit_proto);\n\n";
+ print $fh "\nEXTERN_C void xs_init ($xsinit_proto);\n\n";
print $fh &xsi_protos(@mods);
print $fh "\nEXTERN_C void\nxs_init($xsinit_proto)\n{\n";
@@ -83,61 +73,59 @@ sub xsinit {
sub xsi_header {
return <<EOF;
-#include <EXTERN.h>
-#include <perl.h>
-
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
EOF
}
sub xsi_protos {
- my(@exts) = @_;
- my(@retval,%seen);
- my $boot_proto = "pTHX_ CV* cv";
- foreach $_ (@exts){
- my($pname) = canon('/', $_);
- my($mname, $cname);
- ($mname = $pname) =~ s!/!::!g;
- ($cname = $pname) =~ s!/!__!g;
- my($ccode) = "EXTERN_C void boot_${cname} ($boot_proto);\n";
- next if $seen{$ccode}++;
- push(@retval, $ccode);
+ my @exts = @_;
+ my %seen;
+ my $retval = '';
+ foreach my $cname (canon('__', @exts)) {
+ my $ccode = "EXTERN_C void boot_${cname} (pTHX_ CV* cv);\n";
+ $retval .= $ccode
+ unless $seen{$ccode}++;
}
- return join '', @retval;
+ return $retval;
}
sub xsi_body {
- my(@exts) = @_;
- my($pname,@retval,%seen);
- my($dl) = canon('/','DynaLoader');
- push(@retval, "\tchar *file = __FILE__;\n");
- push(@retval, "\tdXSUB_SYS;\n") if $] > 5.002;
- push(@retval, "\n");
-
- foreach $_ (@exts){
- my($pname) = canon('/', $_);
- my($mname, $cname, $ccode);
- ($mname = $pname) =~ s!/!::!g;
- ($cname = $pname) =~ s!/!__!g;
- if ($pname eq $dl){
+ my @exts = @_;
+ my %seen;
+ my $retval;
+ $retval .= " static const char file[] = __FILE__;\n"
+ if @exts;
+ $retval .= <<'EOT';
+ dXSUB_SYS;
+ PERL_UNUSED_CONTEXT;
+EOT
+ $retval .= "\n"
+ if @exts;
+
+ foreach my $pname (canon('/', @exts)) {
+ next
+ if $seen{$pname}++;
+ (my $mname = $pname) =~ s!/!::!g;
+ (my $cname = $pname) =~ s!/!__!g;
+ my $fname;
+ if ($pname eq 'DynaLoader'){
# Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'!
# boot_DynaLoader is called directly in DynaLoader.pm
- $ccode = "\t/* DynaLoader is a special case */\n\tnewXS(\"${mname}::boot_${cname}\", boot_${cname}, file);\n";
- push(@retval, $ccode) unless $seen{$ccode}++;
+ $retval .= " /* DynaLoader is a special case */\n";
+ $fname = "${mname}::boot_DynaLoader";
} else {
- $ccode = "\tnewXS(\"${mname}::bootstrap\", boot_${cname}, file);\n";
- push(@retval, $ccode) unless $seen{$ccode}++;
+ $fname = "${mname}::bootstrap";
}
+ $retval .= " newXS(\"$fname\", boot_${cname}, file);\n"
}
- return join '', @retval;
+ return $retval;
}
sub static_ext {
- unless (scalar @Extensions) {
- my $static_ext = $Config{static_ext};
- $static_ext =~ s/^\s+//;
- @Extensions = sort split /\s+/, $static_ext;
- unshift @Extensions, qw(DynaLoader);
- }
+ @Extensions = ('DynaLoader', sort $Config{static_ext} =~ /(\S+)/g)
+ unless @Extensions;
@Extensions;
}
@@ -276,12 +264,16 @@ sub ccopts {
sub canon {
my($as, @ext) = @_;
foreach(@ext) {
- # might be X::Y or lib/auto/X/Y/Y.a
- next if s!::!/!g;
- s:^(lib|ext)/(auto/)?::;
- s:/\w+\.\w+$::;
+ # might be X::Y or lib/auto/X/Y/Y.a
+ next
+ if s!::!/!g;
+ s!^(?:lib|ext|dist|cpan)/(?:auto/)?!!;
+ s!/\w+\.\w+$!!;
+ }
+ if ($as ne '/') {
+ s!/!$as!g
+ foreach @ext;
}
- map(s:/:$as:, @ext) if ($as ne '/');
@ext;
}
@@ -293,21 +285,20 @@ ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
=head1 SYNOPSIS
-
perl -MExtUtils::Embed -e xsinit
perl -MExtUtils::Embed -e ccopts
perl -MExtUtils::Embed -e ldopts
=head1 DESCRIPTION
-ExtUtils::Embed provides utility functions for embedding a Perl interpreter
+C<ExtUtils::Embed> provides utility functions for embedding a Perl interpreter
and extensions in your C/C++ applications.
-Typically, an application B<Makefile> will invoke ExtUtils::Embed
+Typically, an application F<Makefile> will invoke C<ExtUtils::Embed>
functions while building your application.
=head1 @EXPORT
-ExtUtils::Embed exports the following functions:
+C<ExtUtils::Embed> exports the following functions:
xsinit(), ldopts(), ccopts(), perl_inc(), ccflags(),
ccdlflags(), xsi_header(), xsi_protos(), xsi_body()
@@ -346,30 +337,25 @@ B<[@modules]> is an array ref, same as additional arguments mentioned above.
=item Examples
-
perl -MExtUtils::Embed -e xsinit -- -o xsinit.c Socket
+This will generate code with an C<xs_init> function that glues the perl C<Socket::bootstrap> function
+to the C C<boot_Socket> function and writes it to a file named F<xsinit.c>.
-This will generate code with an B<xs_init> function that glues the perl B<Socket::bootstrap> function
-to the C B<boot_Socket> function and writes it to a file named F<xsinit.c>.
-
-Note that B<DynaLoader> is a special case where it must call B<boot_DynaLoader> directly.
+Note that L<DynaLoader> is a special case where it must call C<boot_DynaLoader> directly.
perl -MExtUtils::Embed -e xsinit
-
-This will generate code for linking with B<DynaLoader> and
-each static extension found in B<$Config{static_ext}>.
-The code is written to the default file name B<perlxsi.c>.
-
+This will generate code for linking with C<DynaLoader> and
+each static extension found in C<$Config{static_ext}>.
+The code is written to the default file name F<perlxsi.c>.
perl -MExtUtils::Embed -e xsinit -- -o xsinit.c -std DBI DBD::Oracle
-
Here, code is written for all the currently linked extensions along with code
-for B<DBI> and B<DBD::Oracle>.
+for C<DBI> and C<DBD::Oracle>.
-If you have a working B<DynaLoader> then there is rarely any need to statically link in any
+If you have a working C<DynaLoader> then there is rarely any need to statically link in any
other extensions.
=item ldopts()
@@ -388,16 +374,16 @@ with the current Perl.
B<-I> E<lt>path1:path2E<gt>
Search path for ModuleName.a archives.
-Default path is B<@INC>.
+Default path is C<@INC>.
Library archives are expected to be found as
-B</some/path/auto/ModuleName/ModuleName.a>
-For example, when looking for B<Socket.a> relative to a search path,
-we should find B<auto/Socket/Socket.a>
+F</some/path/auto/ModuleName/ModuleName.a>
+For example, when looking for F<Socket.a> relative to a search path,
+we should find F<auto/Socket/Socket.a>
-When looking for B<DBD::Oracle> relative to a search path,
-we should find B<auto/DBD/Oracle/Oracle.a>
+When looking for C<DBD::Oracle> relative to a search path,
+we should find F<auto/DBD/Oracle/Oracle.a>
-Keep in mind that you can always supply B</my/own/path/ModuleName.a>
+Keep in mind that you can always supply F</my/own/path/ModuleName.a>
as an additional linker argument.
B<--> E<lt>list of linker argsE<gt>
@@ -426,23 +412,19 @@ rather than print it to STDOUT.
=item Examples
-
perl -MExtUtils::Embed -e ldopts
-
-This will print arguments for linking with B<libperl> and
-extensions found in B<$Config{static_ext}>. This includes libraries
-found in B<$Config{libs}> and the first ModuleName.a library
-for each extension that is found by searching B<@INC> or the path
-specified by the B<-I> option.
+This will print arguments for linking with C<libperl> and
+extensions found in C<$Config{static_ext}>. This includes libraries
+found in C<$Config{libs}> and the first ModuleName.a library
+for each extension that is found by searching C<@INC> or the path
+specified by the B<-I> option.
In addition, when ModuleName.a is found, additional linker arguments
-are picked up from the B<extralibs.ld> file in the same directory.
-
+are picked up from the F<extralibs.ld> file in the same directory.
perl -MExtUtils::Embed -e ldopts -- -std Socket
-
-This will do the same as the above example, along with printing additional arguments for linking with the B<Socket> extension.
+This will do the same as the above example, along with printing additional arguments for linking with the C<Socket> extension.
perl -MExtUtils::Embed -e ldopts -- -std Msql -- -L/usr/msql/lib -lmsql
@@ -450,7 +432,6 @@ Any arguments after the second '--' token are additional linker
arguments that will be examined for potential conflict. If there is no
conflict, the additional arguments will be part of the output.
-
=item perl_inc()
For including perl header files this function simply prints:
@@ -471,29 +452,29 @@ These functions simply print $Config{ccflags} and $Config{ccdlflags}
=item ccopts()
-This function combines perl_inc(), ccflags() and ccdlflags() into one.
+This function combines C<perl_inc()>, C<ccflags()> and C<ccdlflags()> into one.
=item xsi_header()
-This function simply returns a string defining the same B<EXTERN_C> macro as
-B<perlmain.c> along with #including B<perl.h> and B<EXTERN.h>.
+This function simply returns a string defining the same C<EXTERN_C> macro as
+F<perlmain.c> along with #including F<perl.h> and F<EXTERN.h>.
=item xsi_protos(@modules)
-This function returns a string of B<boot_$ModuleName> prototypes for each @modules.
+This function returns a string of C<boot_$ModuleName> prototypes for each @modules.
=item xsi_body(@modules)
-This function returns a string of calls to B<newXS()> that glue the module B<bootstrap>
-function to B<boot_ModuleName> for each @modules.
+This function returns a string of calls to C<newXS()> that glue the module I<bootstrap>
+function to I<boot_ModuleName> for each @modules.
-B<xsinit()> uses the xsi_* functions to generate most of its code.
+C<xsinit()> uses the xsi_* functions to generate most of its code.
=back
=head1 EXAMPLES
-For examples on how to use B<ExtUtils::Embed> for building C/C++ applications
+For examples on how to use C<ExtUtils::Embed> for building C/C++ applications
with embedded perl, see L<perlembed>.
=head1 SEE ALSO
@@ -502,10 +483,9 @@ L<perlembed>
=head1 AUTHOR
-Doug MacEachern E<lt>F<dougm@osf.org>E<gt>
+Doug MacEachern E<lt>C<dougm@osf.org>E<gt>
-Based on ideas from Tim Bunce E<lt>F<Tim.Bunce@ig.co.uk>E<gt> and
-B<minimod.pl> by Andreas Koenig E<lt>F<k@anna.in-berlin.de>E<gt> and Tim Bunce.
+Based on ideas from Tim Bunce E<lt>C<Tim.Bunce@ig.co.uk>E<gt> and
+F<minimod.pl> by Andreas Koenig E<lt>C<k@anna.in-berlin.de>E<gt> and Tim Bunce.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
index 7e17121d499..eec57aa8b54 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
@@ -38,11 +38,11 @@ ExtUtils::Install - install files from here to there
=head1 VERSION
-1.59
+1.67
=cut
-$VERSION = '1.59'; # <---- dont forget to update the POD section just above this line!
+$VERSION = '1.67'; # <-- do not forget to update the POD section just above this line!
$VERSION = eval $VERSION;
=pod
@@ -57,7 +57,7 @@ ExtUtils::MakeMaker handles the installation and deinstallation of
perl modules. They are not designed as general purpose tools.
On some operating systems such as Win32 installation may not be possible
-until after a reboot has occured. This can have varying consequences:
+until after a reboot has occurred. This can have varying consequences:
removing an old DLL does not impact programs using the new one, but if
a new DLL cannot be installed properly until reboot then anything
depending on it must wait. The package variable
@@ -66,9 +66,9 @@ depending on it must wait. The package variable
is used to store this status.
-If this variable is true then such an operation has occured and
+If this variable is true then such an operation has occurred and
anything depending on this module cannot proceed until a reboot
-has occured.
+has occurred.
If this value is defined but false then such an operation has
ocurred, but should not impact later operations.
@@ -162,7 +162,7 @@ $target should be a ref to an array if the file is to be deleted
otherwise it should be a filespec for a rename. If the file is existing
it will be replaced.
-Sets $MUST_REBOOT to 0 to indicate a deletion operation has occured
+Sets $MUST_REBOOT to 0 to indicate a deletion operation has occurred
and sets it to 1 to indicate that a move operation has been requested.
returns 1 on success, on failure if $moan is false errors are fatal.
@@ -246,8 +246,6 @@ a derivative of the original in the same directory) so that the caller can
use it to install under. In all other cases of success returns $file.
On failure throws a fatal error.
-=back
-
=end _private
=cut
@@ -257,7 +255,14 @@ On failure throws a fatal error.
sub _unlink_or_rename { #XXX OS-SPECIFIC
my ( $file, $tryhard, $installing )= @_;
- _chmod( 0666, $file );
+ # this chmod was originally unconditional. However, its not needed on
+ # POSIXy systems since permission to unlink a file is specified by the
+ # directory rather than the file; and in fact it screwed up hard- and
+ # symlinked files. Keep it for other platforms in case its still
+ # needed there.
+ if ($^O =~ /^(dos|os2|MSWin32|VMS)$/) {
+ _chmod( 0666, $file );
+ }
my $unlink_count = 0;
while (unlink $file) { $unlink_count++; }
return $file if $unlink_count > 0;
@@ -295,6 +300,8 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC
=pod
+=back
+
=head2 Functions
=begin _private
@@ -392,7 +399,7 @@ be created first.
Returns a list, containing: C<($writable, $determined_by, @create)>
-C<$writable> says whether whether the directory is (hypothetically) writable
+C<$writable> says whether the directory is (hypothetically) writable
C<$determined_by> is the directory the status was determined from. It will be
either the C<$dir>, or one of its parents.
@@ -540,8 +547,12 @@ sub _chdir {
=pod
+=back
+
=end _private
+=over
+
=item B<install>
# deprecated forms
@@ -606,7 +617,7 @@ As of version 1.47 the following additions were made to the install interface.
Note that the new argument style and use of the %result hash is recommended.
The $always_copy parameter which when true causes files to be updated
-regardles as to whether they have changed, if it is defined but false then
+regardless as to whether they have changed, if it is defined but false then
copies are made only if the files have changed, if it is undefined then the
value of the environment variable EU_INSTALL_ALWAYS_COPY is used as default.
@@ -641,7 +652,7 @@ B<NEW ARGUMENT STYLE>
If there is only one argument and it is a reference to an array then
the array is assumed to contain a list of key-value pairs specifying
the options. In this case the option "from_to" is mandatory. This style
-means that you dont have to supply a cryptic list of arguments and can
+means that you do not have to supply a cryptic list of arguments and can
use a self documenting argument list that is easier to understand.
This is now the recommended interface to install().
@@ -838,7 +849,7 @@ sub install { #XXX OS-SPECIFIC
=item _do_cleanup
-Standardize finish event for after another instruction has occured.
+Standardize finish event for after another instruction has occurred.
Handles converting $MUST_REBOOT to a die for instance.
=end _private
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
index c267d992e2e..a62de6e377d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
@@ -17,7 +17,7 @@ my $DOSISH = ($^O =~ /^(MSWin\d\d|os2|dos|mint)$/);
require VMS::Filespec if $Is_VMS;
use vars qw($VERSION);
-$VERSION = '1.999003';
+$VERSION = '1.999005';
$VERSION = eval $VERSION;
sub _is_prefix {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
index 3914e2f7e63..2d21e12d824 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.66';
+our $VERSION = '6.98';
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 f0a105cca28..e39c8b27ced 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
@@ -11,7 +11,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '6.66';
+our $VERSION = '6.98';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
@@ -28,10 +28,10 @@ sub _unix_os2_ext {
my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
$verbose ||= 0;
- if ( $^O =~ 'os2' and $Config{perllibs} ) {
+ if ( $^O =~ /os2|android/ and $Config{perllibs} ) {
# Dynamic libraries are not transitive, so we may need including
- # the libraries linked against perl.dll again.
+ # the libraries linked against perl.dll/libperl.so again.
$potential_libs .= " " if $potential_libs;
$potential_libs .= $Config{perllibs};
@@ -59,7 +59,7 @@ sub _unix_os2_ext {
foreach my $thislib ( split ' ', $potential_libs ) {
# Handle possible linker path arguments.
- if ( $thislib =~ s/^(-[LR]|-Wl,-R)// ) { # save path flag type
+ if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) { # save path flag type
my ( $ptype ) = $1;
unless ( -d $thislib ) {
warn "$ptype$thislib ignored, directory does not exist\n"
@@ -67,8 +67,8 @@ sub _unix_os2_ext {
next;
}
my ( $rtype ) = $ptype;
- if ( ( $ptype eq '-R' ) or ( $ptype eq '-Wl,-R' ) ) {
- if ( $Config{'lddlflags'} =~ /-Wl,-R/ ) {
+ if ( ( $ptype eq '-R' ) or ( $ptype =~ m!^-Wl,-[Rr]! ) ) {
+ if ( $Config{'lddlflags'} =~ /-Wl,-[Rr]/ ) {
$rtype = '-Wl,-R';
}
elsif ( $Config{'lddlflags'} =~ /-R/ ) {
@@ -85,6 +85,12 @@ sub _unix_os2_ext {
next;
}
+ if ( $thislib =~ m!^-Wl,! ) {
+ push( @extralibs, $thislib );
+ push( @ldloadlibs, $thislib );
+ next;
+ }
+
# Handle possible library arguments.
unless ( $thislib =~ s/^-l// ) {
warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
@@ -152,6 +158,8 @@ sub _unix_os2_ext {
}
elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) {
}
+ elsif ( $^O eq 'cygwin' && -f ( $fullname = "$thispth/$thislib.dll" ) ) {
+ }
elsif ( -f ( $fullname = "$thispth/Slib$thislib$Config_libext" ) ) {
}
elsif ($^O eq 'dgux'
@@ -420,11 +428,11 @@ sub _win32_try_attach_extension {
}
sub _win32_lib_extensions {
- my %extensions;
- $extensions{ $Config{'lib_ext'} } = 1 if $Config{'lib_ext'};
- $extensions{".dll.a"} = 1 if $extensions{".a"};
- $extensions{".lib"} = 1;
- return [ keys %extensions ];
+ my @extensions;
+ push @extensions, $Config{'lib_ext'} if $Config{'lib_ext'};
+ push @extensions, '.dll.a' if grep { m!^\.a$! } @extensions;
+ push @extensions, '.lib' unless grep { m!^\.lib$! } @extensions;
+ return \@extensions;
}
sub _debug {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
index 26ed5942707..a34015f94d1 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.66';
+our $VERSION = '6.98';
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 2fb79705888..7c600a6c2dc 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.66';
+our $VERSION = '6.98';
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 b37ee43bd80..20663111ef1 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.66';
+our $VERSION = '6.98';
use Carp;
use File::Spec;
@@ -66,7 +66,7 @@ These are methods which help writing cross-platform code.
my @os_flavor = $mm->os_flavor;
@os_flavor is the style of operating system this is, usually
-corresponding to the MM_*.pm file we're using.
+corresponding to the MM_*.pm file we're using.
The first element of @os_flavor is the major family (ie. Unix,
Windows, VMS, OS/2, etc...) and the rest are sub families.
@@ -80,7 +80,7 @@ Some examples:
MacOS X ('Unix', 'Darwin', 'MacOS', 'MacOS X')
OS/2 ('OS/2')
-This is used to write code for styles of operating system.
+This is used to write code for styles of operating system.
See os_flavor_is() for use.
@@ -236,7 +236,7 @@ sub echo {
$opts->{allow_variables} = 0 unless defined $opts->{allow_variables};
my $ql_opts = { allow_variables => $opts->{allow_variables} };
- my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_, $ql_opts) }
+ my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_, $ql_opts) }
split /\n/, $text;
if( $file ) {
my $redirect = $opts->{append} ? '>>' : '>';
@@ -519,7 +519,7 @@ sub clean {
clean :: clean_subdirs
');
- my @files = values %{$self->{XS}}; # .c files from *.xs files
+ my @files = sort values %{$self->{XS}}; # .c files from *.xs files
my @dirs = qw(blib);
# Normally these are all under blib but they might have been
@@ -531,10 +531,10 @@ clean :: clean_subdirs
# push @dirs, qw($(INST_ARCHLIB) $(INST_LIB)
# $(INST_BIN) $(INST_SCRIPT)
# $(INST_MAN1DIR) $(INST_MAN3DIR)
-# $(INST_LIBDIR) $(INST_ARCHLIBDIR) $(INST_AUTODIR)
-# $(INST_STATIC) $(INST_DYNAMIC) $(INST_BOOT)
+# $(INST_LIBDIR) $(INST_ARCHLIBDIR) $(INST_AUTODIR)
+# $(INST_STATIC) $(INST_DYNAMIC)
# );
-
+
if( $attribs{FILES} ) {
# Use @dirs because we don't know what's in here.
@@ -543,7 +543,7 @@ clean :: clean_subdirs
split /\s+/, $attribs{FILES} ;
}
- push(@files, qw[$(MAKE_APERL_FILE)
+ push(@files, qw[$(MAKE_APERL_FILE)
MYMETA.json 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)
@@ -556,7 +556,13 @@ clean :: clean_subdirs
push(@files, $self->catfile('$(INST_ARCHAUTODIR)','extralibs.ld'));
# core files
- push(@files, qw[core core.*perl.*.? *perl.core]);
+ if ($^O eq 'vos') {
+ push(@files, qw[perl*.kp]);
+ }
+ else {
+ push(@files, qw[core core.*perl.*.? *perl.core]);
+ }
+
push(@files, map { "core." . "[0-9]"x$_ } (1..5));
# OS specific things to clean up. Use @dirs since we don't know
@@ -564,14 +570,15 @@ clean :: clean_subdirs
push @dirs, $self->extra_clean_files;
# Occasionally files are repeated several times from different sources
- { my(%f) = map { ($_ => 1) } @files; @files = keys %f; }
- { my(%d) = map { ($_ => 1) } @dirs; @dirs = keys %d; }
+ { my(%f) = map { ($_ => 1) } @files; @files = sort keys %f; }
+ { my(%d) = map { ($_ => 1) } @dirs; @dirs = sort keys %d; }
push @m, map "\t$_\n", $self->split_command('- $(RM_F)', @files);
push @m, map "\t$_\n", $self->split_command('- $(RM_RF)', @dirs);
# Leave Makefile.old around for realclean
push @m, <<'MAKE';
+ $(NOECHO) $(RM_F) $(MAKEFILE_OLD)
- $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
MAKE
@@ -604,7 +611,7 @@ NOOP_FRAG
for my $dir (@{$self->{DIR}}) {
my $subclean = $self->oneliner(sprintf <<'CODE', $dir);
-chdir '%s'; system '$(MAKE) clean' if -f '$(FIRST_MAKEFILE)';
+exit 0 unless chdir '%s'; system '$(MAKE) clean' if -f '$(FIRST_MAKEFILE)';
CODE
$clean .= "\t$subclean\n";
@@ -625,7 +632,7 @@ Because depending on a directory to just ensure it exists doesn't work
too well (the modified time changes too often) dir_target() creates a
.exists file in the created directory. It is this you should depend on.
For portability purposes you should use the $(DIRFILESEP) macro rather
-than a '/' to seperate the directory from the file.
+than a '/' to separate the directory from the file.
yourdirectory$(DIRFILESEP).exists
@@ -636,7 +643,7 @@ sub dir_target {
my $make = '';
foreach my $dir (@dirs) {
- $make .= sprintf <<'MAKE', ($dir) x 7;
+ $make .= sprintf <<'MAKE', ($dir) x 4;
%s$(DFSEP).exists :: Makefile.PL
$(NOECHO) $(MKPATH) %s
$(NOECHO) $(CHMOD) $(PERM_DIR) %s
@@ -683,7 +690,7 @@ MAKE_FRAG
=head3 dist_test
Defines a target that produces the distribution in the
-scratchdirectory, and runs 'perl Makefile.PL; make ;make test' in that
+scratch directory, and runs 'perl Makefile.PL; make ;make test' in that
subdirectory.
=cut
@@ -720,7 +727,7 @@ sub dynamic {
my($self) = shift;
'
-dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
+dynamic :: $(FIRST_MAKEFILE) $(BOOTSTRAP) $(INST_DYNAMIC)
$(NOECHO) $(NOOP)
';
}
@@ -763,7 +770,7 @@ sub manifypods_target {
my $dependencies = '';
# populate manXpods & dependencies:
- foreach my $name (keys %{$self->{MAN1PODS}}, keys %{$self->{MAN3PODS}}) {
+ foreach my $name (sort keys %{$self->{MAN1PODS}}, sort keys %{$self->{MAN3PODS}}) {
$dependencies .= " \\\n\t$name";
}
@@ -774,7 +781,7 @@ END
my @man_cmds;
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
- push @man_cmds, $self->split_command(<<CMD, %$pods);
+ push @man_cmds, $self->split_command(<<CMD, map {($_,$pods->{$_})} sort keys %$pods);
\$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
CMD
}
@@ -799,9 +806,9 @@ sub _has_cpan_meta {
Generate the metafile target.
-Writes the file META.yml YAML encoded meta-data about the module in
-the distdir. The format follows Module::Build's as closely as
-possible.
+Writes the file META.yml (YAML encoded meta-data) and META.json
+(JSON encoded meta-data) about the module in the distdir.
+The format follows Module::Build's as closely as possible.
=cut
@@ -816,13 +823,13 @@ MAKE_FRAG
$self->{META_ADD} || {},
$self->{META_MERGE} || {},
);
-
+
_fix_metadata_before_conversion( \%metadata );
# paper over validation issues, but still complain, necessary because
# there's no guarantee that the above will fix ALL errors
my $meta = eval { CPAN::Meta->create( \%metadata, { lazy_validation => 1 } ) };
- warn $@ if $@ and
+ warn $@ if $@ and
$@ !~ /encountered CODE.*, but JSON can only represent references to arrays or hashes/;
# use the original metadata straight if the conversion failed
@@ -919,7 +926,7 @@ sub _fix_metadata_before_conversion {
my @pairs = _sort_pairs($sort_sub, \%hash);
-Sorts the pairs of a hash based on keys ordered according
+Sorts the pairs of a hash based on keys ordered according
to C<$sort_sub>.
=end private
@@ -952,7 +959,8 @@ sub _hash_merge {
my @metadata_pairs = $mm->metafile_data(\%meta_add, \%meta_merge);
-Returns the data which MakeMaker turns into the META.yml file.
+Returns the data which MakeMaker turns into the META.yml file
+and the META.json file.
Values of %meta_add will overwrite any existing metadata in those
keys. %meta_merge will be merged with them.
@@ -980,7 +988,7 @@ sub metafile_data {
generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION",
'meta-spec' => {
- url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
version => 1.4
},
);
@@ -988,19 +996,14 @@ sub metafile_data {
# The author key is required and it takes a list.
$meta{author} = defined $self->{AUTHOR} ? $self->{AUTHOR} : [];
- # Check the original args so we can tell between the user setting it
- # to an empty hash and it just being initialized.
- if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
- $meta{configure_requires}
- = _normalize_prereqs($self->{CONFIGURE_REQUIRES});
- } else {
- $meta{configure_requires} = {
- 'ExtUtils::MakeMaker' => 0,
- };
+ {
+ my $vers = _metaspec_version( $meta_add, $meta_merge );
+ my $method = $vers =~ m!^2!
+ ? '_add_requirements_to_meta_v2'
+ : '_add_requirements_to_meta_v1_4';
+ %meta = $self->$method( %meta );
}
- %meta = $self->_add_requirements_to_meta_v1_4( %meta );
-
while( my($key, $val) = each %$meta_add ) {
$meta{$key} = $val;
}
@@ -1017,11 +1020,31 @@ sub metafile_data {
=cut
+sub _metaspec_version {
+ my ( $meta_add, $meta_merge ) = @_;
+ return $meta_add->{'meta-spec'}->{version}
+ if defined $meta_add->{'meta-spec'}
+ and defined $meta_add->{'meta-spec'}->{version};
+ return $meta_merge->{'meta-spec'}->{version}
+ if defined $meta_merge->{'meta-spec'}
+ and defined $meta_merge->{'meta-spec'}->{version};
+ return '1.4';
+}
+
sub _add_requirements_to_meta_v1_4 {
my ( $self, %meta ) = @_;
# Check the original args so we can tell between the user setting it
# to an empty hash and it just being initialized.
+ if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
+ $meta{configure_requires}
+ = _normalize_prereqs($self->{CONFIGURE_REQUIRES});
+ } else {
+ $meta{configure_requires} = {
+ 'ExtUtils::MakeMaker' => 0,
+ };
+ }
+
if( $self->{ARGS}{BUILD_REQUIRES} ) {
$meta{build_requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
} else {
@@ -1050,6 +1073,15 @@ sub _add_requirements_to_meta_v2 {
# Check the original args so we can tell between the user setting it
# to an empty hash and it just being initialized.
+ if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
+ $meta{prereqs}{configure}{requires}
+ = _normalize_prereqs($self->{CONFIGURE_REQUIRES});
+ } else {
+ $meta{prereqs}{configure}{requires} = {
+ 'ExtUtils::MakeMaker' => 0,
+ };
+ }
+
if( $self->{ARGS}{BUILD_REQUIRES} ) {
$meta{prereqs}{build}{requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
} else {
@@ -1063,7 +1095,7 @@ sub _add_requirements_to_meta_v2 {
}
$meta{prereqs}{runtime}{requires} = _normalize_prereqs($self->{PREREQ_PM})
- if defined $self->{PREREQ_PM};
+ if $self->{ARGS}{PREREQ_PM};
$meta{prereqs}{runtime}{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
if $self->{MIN_PERL_VERSION};
@@ -1103,24 +1135,24 @@ sub _normalize_version {
Implements a fake YAML dumper for a hash given
as a list of pairs. No quoting/escaping is done. Keys
-are supposed to be strings. Values are undef, strings,
+are supposed to be strings. Values are undef, strings,
hash refs or array refs of strings.
Supported options are:
delta => STR - indentation delta
use_header => BOOL - whether to include a YAML header
- indent => STR - a string of spaces
+ indent => STR - a string of spaces
default: ''
max_key_length => INT - maximum key length used to align
keys and values of the same hash
default: 20
- key_sort => CODE - a sort sub
+ key_sort => CODE - a sort sub
It may be undef, which means no sorting by keys
default: sub { lc $a cmp lc $b }
- customs => HASH - special options for certain keys
+ customs => HASH - special options for certain keys
(whose values are hashes themselves)
may contain: max_key_length, key_sort, customs
@@ -1136,8 +1168,8 @@ sub _dump_hash {
# Use a list to preserve order.
my @pairs;
- my $k_sort
- = exists $options->{key_sort} ? $options->{key_sort}
+ my $k_sort
+ = exists $options->{key_sort} ? $options->{key_sort}
: sub { lc $a cmp lc $b };
if ($k_sort) {
croak "'key_sort' should be a coderef" unless ref $k_sort eq 'CODE';
@@ -1173,7 +1205,7 @@ sub _dump_hash {
$k_options{$k} = $k_custom{$k} if exists $k_custom{$k};
}
}
- $yaml .= $indent . "$key:\n"
+ $yaml .= $indent . "$key:\n"
. _dump_hash(\%k_options, %$val);
}
else {
@@ -1233,8 +1265,8 @@ sub metafile_file {
my $self = shift;
my %dump_options = (
- use_header => 1,
- delta => ' ' x 4,
+ use_header => 1,
+ delta => ' ' x 4,
key_sort => undef,
);
return _dump_hash(\%dump_options, @_);
@@ -1246,8 +1278,8 @@ sub metafile_file {
my $make_frag = $mm->distmeta_target;
-Generates the distmeta target to add META.yml to the MANIFEST in the
-distdir.
+Generates the distmeta target to add META.yml and META.json to the MANIFEST
+in the distdir.
=cut
@@ -1283,8 +1315,8 @@ MAKE
my $mymeta = $mm->mymeta;
-Generate MYMETA information as a hash either from an existing META.yml
-or from internal data.
+Generate MYMETA information as a hash either from an existing CPAN Meta file
+(META.json or META.yml) or from internal data.
=cut
@@ -1352,9 +1384,7 @@ sub _mymeta_from_meta {
$self->write_mymeta( $mymeta );
-Write MYMETA information to MYMETA.yml.
-
-This will probably be refactored into a more generic YAML dumping method.
+Write MYMETA information to MYMETA.json and MYMETA.yml.
=cut
@@ -1365,7 +1395,7 @@ sub write_mymeta {
return unless _has_cpan_meta();
_fix_metadata_before_conversion( $mymeta );
-
+
# this can still blow up
# not sure if i should just eval this and skip file creation if it
# blows up
@@ -1411,9 +1441,9 @@ sub realclean {
{ my(%f) = map { ($_ => 1) } @files; @files = keys %f; }
{ my(%d) = map { ($_ => 1) } @dirs; @dirs = keys %d; }
- my $rm_cmd = join "\n\t", map { "$_" }
+ my $rm_cmd = join "\n\t", map { "$_" }
$self->split_command('- $(RM_F)', @files);
- my $rmf_cmd = join "\n\t", map { "$_" }
+ my $rmf_cmd = join "\n\t", map { "$_" }
$self->split_command('- $(RM_RF)', @dirs);
my $m = sprintf <<'MAKE', $rm_cmd, $rmf_cmd;
@@ -1499,7 +1529,7 @@ sub distsignature_target {
my $self = shift;
my $add_sign = $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']);
-eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) }
+eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) }
or print "Could not add SIGNATURE to MANIFEST: $${'@'}\n"
CODE
@@ -1574,6 +1604,13 @@ sub init_ABSTRACT {
carp "WARNING: Setting ABSTRACT via file ".
"'$self->{ABSTRACT_FROM}' failed\n";
}
+
+ if ($self->{ABSTRACT} && $self->{ABSTRACT} =~ m![[:cntrl:]]+!) {
+ warn "WARNING: ABSTRACT contains control character(s),".
+ " they will be removed\n";
+ $self->{ABSTRACT} =~ s![[:cntrl:]]+!!g;
+ return;
+ }
}
=head3 init_INST
@@ -1596,14 +1633,7 @@ sub init_INST {
# you to build directly into, say $Config{privlibexp}.
unless ($self->{INST_LIB}){
if ($self->{PERL_CORE}) {
- if (defined $Cross::platform) {
- $self->{INST_LIB} = $self->{INST_ARCHLIB} =
- $self->catdir($self->{PERL_LIB},"..","xlib",
- $Cross::platform);
- }
- else {
- $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
- }
+ $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
} else {
$self->{INST_LIB} = $self->catdir($Curdir,"blib","lib");
}
@@ -1612,7 +1642,7 @@ sub init_INST {
my @parentdir = split(/::/, $self->{PARENT_NAME});
$self->{INST_LIBDIR} = $self->catdir('$(INST_LIB)', @parentdir);
$self->{INST_ARCHLIBDIR} = $self->catdir('$(INST_ARCHLIB)', @parentdir);
- $self->{INST_AUTODIR} = $self->catdir('$(INST_LIB)', 'auto',
+ $self->{INST_AUTODIR} = $self->catdir('$(INST_LIB)', 'auto',
'$(FULLEXT)');
$self->{INST_ARCHAUTODIR} = $self->catdir('$(INST_ARCHLIB)', 'auto',
'$(FULLEXT)');
@@ -1662,7 +1692,7 @@ sub init_INSTALL_from_PREFIX {
$self->init_lib2arch;
- # There are often no Config.pm defaults for these new man variables so
+ # There are often no Config.pm defaults for these new man variables so
# we fall back to the old behavior which is to use installman*dir
foreach my $num (1, 3) {
my $k = 'installsiteman'.$num.'dir';
@@ -1687,7 +1717,7 @@ sub init_INSTALL_from_PREFIX {
unless $Config{installsitescript};
unless( $Config{installvendorbin} ) {
- $self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix}
+ $self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix}
? $Config{installbin}
: '';
}
@@ -1698,7 +1728,7 @@ sub init_INSTALL_from_PREFIX {
}
- my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
+ my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
$Config{prefixexp} || $Config{prefix} || '';
my $vprefix = $Config{usevendorprefix} ? $Config{vendorprefixexp} : '';
my $sprefix = $Config{siteprefixexp} || '';
@@ -1742,7 +1772,7 @@ sub init_INSTALL_from_PREFIX {
unless $Config{'installman'.$num.'dir'};
}
- my %bin_layouts =
+ my %bin_layouts =
(
bin => { s => $iprefix,
t => 'perl',
@@ -1763,7 +1793,7 @@ sub init_INSTALL_from_PREFIX {
t => 'site',
d => 'bin' },
);
-
+
my %man_layouts =
(
man1dir => { s => $iprefix,
@@ -1807,7 +1837,7 @@ sub init_INSTALL_from_PREFIX {
t => 'site',
d => 'site_perl',
style => $libstyle, },
-
+
archlib => { s => $iprefix,
t => 'perl',
d => "$version/$arch",
@@ -1829,7 +1859,7 @@ sub init_INSTALL_from_PREFIX {
my $Installvar = uc "install$var";
if( $var =~ /arch/ ) {
- $self->{$Installvar} ||=
+ $self->{$Installvar} ||=
$self->catdir($self->{LIB}, $Config{archname});
}
else {
@@ -1857,7 +1887,7 @@ sub init_INSTALL_from_PREFIX {
$d = "$style/$d" if $style;
$self->prefixify($installvar, $s, $r, $d);
- warn " $Installvar == $self->{$Installvar}\n"
+ warn " $Installvar == $self->{$Installvar}\n"
if $Verbose >= 2;
}
@@ -1887,7 +1917,7 @@ $map{script} = $map{bin};
sub init_INSTALL_from_INSTALL_BASE {
my $self = shift;
- @{$self}{qw(PREFIX VENDORPREFIX SITEPREFIX PERLPREFIX)} =
+ @{$self}{qw(PREFIX VENDORPREFIX SITEPREFIX PERLPREFIX)} =
'$(INSTALL_BASE)';
my %install;
@@ -1896,7 +1926,7 @@ sub init_INSTALL_from_INSTALL_BASE {
my $uc_thing = uc $thing;
my $key = "INSTALL".$dir.$uc_thing;
- $install{$key} ||=
+ $install{$key} ||=
$self->catdir('$(INSTALL_BASE)', @{$map{$thing}});
}
}
@@ -1923,7 +1953,7 @@ MAKEMAKER: path to the MakeMaker module.
MM_VERSION: ExtUtils::MakeMaker Version
-MM_REVISION: ExtUtils::MakeMaker version control revision (for backwards
+MM_REVISION: ExtUtils::MakeMaker version control revision (for backwards
compat)
VERSION: version of your module
@@ -1960,8 +1990,12 @@ sub init_VERSION {
}
}
- # strip blanks
if (defined $self->{VERSION}) {
+ if ( $self->{VERSION} !~ /^\s*v?[\d_\.]+\s*$/ ) {
+ require version;
+ my $normal = eval { version->parse( $self->{VERSION} ) };
+ $self->{VERSION} = $normal if defined $normal;
+ }
$self->{VERSION} =~ s/^\s+//;
$self->{VERSION} =~ s/\s+$//;
}
@@ -1977,7 +2011,7 @@ sub init_VERSION {
# Graham Barr and Paul Marquess had some ideas how to ensure
# version compatibility between the *.pm file and the
- # corresponding *.xs file. The bottomline was, that we need an
+ # corresponding *.xs file. The bottom line was, that we need an
# XS_VERSION macro that defaults to VERSION:
$self->{XS_VERSION} ||= $self->{VERSION};
@@ -2006,12 +2040,14 @@ Defines at least these macros.
SHELL Program used to run shell commands
ECHO Print text adding a newline on the end
- RM_F Remove a file
- RM_RF Remove a directory
- TOUCH Update a file's timestamp
- TEST_F Test for a file's existence
- CP Copy a file
- MV Move a file
+ RM_F Remove a file
+ RM_RF Remove a directory
+ TOUCH Update a file's timestamp
+ TEST_F Test for a file's existence
+ TEST_S Test the size of a file
+ CP Copy a file
+ CP_NONEMPTY Copy a file if it is not empty
+ MV Move a file
CHMOD Change permissions on a file
FALSE Exit with non-zero
TRUE Exit with zero
@@ -2032,6 +2068,8 @@ sub init_tools {
$self->{RM_F} ||= $self->oneliner('rm_f', ["-MExtUtils::Command"]);
$self->{RM_RF} ||= $self->oneliner('rm_rf', ["-MExtUtils::Command"]);
$self->{TEST_F} ||= $self->oneliner('test_f', ["-MExtUtils::Command"]);
+ $self->{TEST_S} ||= $self->oneliner('test_s', ["-MExtUtils::Command::MM"]);
+ $self->{CP_NONEMPTY} ||= $self->oneliner('cp_nonempty', ["-MExtUtils::Command::MM"]);
$self->{FALSE} ||= $self->oneliner('exit 1');
$self->{TRUE} ||= $self->oneliner('exit 0');
@@ -2040,13 +2078,13 @@ sub init_tools {
$self->{CP} ||= $self->oneliner('cp', ["-MExtUtils::Command"]);
$self->{MV} ||= $self->oneliner('mv', ["-MExtUtils::Command"]);
- $self->{MOD_INSTALL} ||=
+ $self->{MOD_INSTALL} ||=
$self->oneliner(<<'CODE', ['-MExtUtils::Install']);
install([ from_to => {@ARGV}, verbose => '$(VERBINST)', uninstall_shadows => '$(UNINST)', dir_mode => '$(PERM_DIR)' ]);
CODE
$self->{DOC_INSTALL} ||= $self->oneliner('perllocal_install', ["-MExtUtils::Command::MM"]);
$self->{UNINSTALL} ||= $self->oneliner('uninstall', ["-MExtUtils::Command::MM"]);
- $self->{WARN_IF_OLD_PACKLIST} ||=
+ $self->{WARN_IF_OLD_PACKLIST} ||=
$self->oneliner('warn_if_old_packlist', ["-MExtUtils::Command::MM"]);
$self->{FIXIN} ||= $self->oneliner('MY->fixin(shift)', ["-MExtUtils::MY"]);
$self->{EQUALIZE_TIMESTAMP} ||= $self->oneliner('eqtime', ["-MExtUtils::Command"]);
@@ -2074,7 +2112,7 @@ CODE
# Not everybody uses -f to indicate "use this Makefile instead"
$self->{USEMAKEFILE} ||= '-f';
- # Some makes require a wrapper around macros passed in on the command
+ # Some makes require a wrapper around macros passed in on the command
# line.
$self->{MACROSTART} ||= '';
$self->{MACROEND} ||= '';
@@ -2108,13 +2146,17 @@ sub init_others {
my(@libs) = $self->extliblist($libs);
if ($libs[0] or $libs[1] or $libs[2]){
# LD_RUN_PATH now computed by ExtUtils::Liblist
- ($self->{EXTRALIBS}, $self->{BSLOADLIBS},
+ ($self->{EXTRALIBS}, $self->{BSLOADLIBS},
$self->{LDLOADLIBS}, $self->{LD_RUN_PATH}) = @libs;
last;
}
}
if ( $self->{OBJECT} ) {
+ $self->{OBJECT} = join(" ", @{$self->{OBJECT}}) if ref $self->{OBJECT};
+ $self->{OBJECT} =~ s!\.o(bj)?\b!\$(OBJ_EXT)!g;
+ } elsif ( $self->{MAGICXS} && @{$self->{O_FILES}||[]} ) {
+ $self->{OBJECT} = join(" ", @{$self->{O_FILES}});
$self->{OBJECT} =~ s!\.o(bj)?\b!\$(OBJ_EXT)!g;
} else {
# init_dirscan should have found out, if we have C files
@@ -2146,7 +2188,7 @@ sub init_others {
sub _fix_libs {
my($self, $libs) = @_;
- return !defined $libs ? [''] :
+ return !defined $libs ? [''] :
!ref $libs ? [$libs] :
!defined $libs->[0] ? [''] :
$libs ;
@@ -2157,7 +2199,7 @@ sub _fix_libs {
my $make_frag = $MM->tools_other;
-Returns a make fragment containing definitions for the macros init_others()
+Returns a make fragment containing definitions for the macros init_others()
initializes.
=cut
@@ -2168,7 +2210,7 @@ sub tools_other {
# We set PM_FILTER as late as possible so it can see all the earlier
# on macro-order sensitive makes such as nmake.
- for my $tool (qw{ SHELL CHMOD CP MV NOOP NOECHO RM_F RM_RF TEST_F TOUCH
+ for my $tool (qw{ SHELL CHMOD CP MV NOOP NOECHO RM_F RM_RF TEST_F TOUCH
UMASK_NULL DEV_NULL MKPATH EQUALIZE_TIMESTAMP
FALSE TRUE
ECHO ECHO_N
@@ -2179,7 +2221,8 @@ sub tools_other {
USEMAKEFILE
PM_FILTER
FIXIN
- } )
+ CP_NONEMPTY
+ } )
{
next unless defined $self->{$tool};
push @m, "$tool = $self->{$tool}\n";
@@ -2194,7 +2237,7 @@ sub tools_other {
$MM->init_DIRFILESEP;
my $dirfilesep = $MM->{DIRFILESEP};
-Initializes the DIRFILESEP macro which is the seperator between the
+Initializes the DIRFILESEP macro which is the separator between the
directory and filename in a filepath. ie. / on Unix, \ on Win32 and
nothing on VMS.
@@ -2206,8 +2249,8 @@ For example:
Something of a hack but it prevents a lot of code duplication between
MM_* variants.
-Do not use this as a seperator between directories. Some operating
-systems use different seperators between subdirectories as between
+Do not use this as a separator between directories. Some operating
+systems use different separators between subdirectories as between
directories and filenames (for example: VOLUME:[dir1.dir2]file on VMS).
=head3 init_linker I<Abstract>
@@ -2236,7 +2279,7 @@ Some OSes do not need these in which case leave it blank.
Initialize any macros which are for platform specific use only.
-A typical one is the version number of your OS specific mocule.
+A typical one is the version number of your OS specific module.
(ie. MM_Unix_VERSION or MM_VMS_VERSION).
=cut
@@ -2309,7 +2352,7 @@ sub POD2MAN_macro {
my $self = shift;
# Need the trailing '--' so perl stops gobbling arguments and - happens
-# to be an alternative end of line seperator on VMS so we quote it
+# to be an alternative end of line separator on VMS so we quote it
return <<'END_OF_DEF';
POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
POD2MAN = $(POD2MAN_EXE)
@@ -2331,8 +2374,8 @@ Used on the t/*.t files.
sub test_via_harness {
my($self, $perl, $tests) = @_;
- return qq{\t$perl "-MExtUtils::Command::MM" }.
- qq{"-e" "test_harness(\$(TEST_VERBOSE), '\$(INST_LIB)', '\$(INST_ARCHLIB)')" $tests\n};
+ return qq{\t$perl "-MExtUtils::Command::MM" "-MTest::Harness" }.
+ qq{"-e" "undef *Test::Harness::Switches; test_harness(\$(TEST_VERBOSE), '\$(INST_LIB)', '\$(INST_ARCHLIB)')" $tests\n};
}
=head3 test_via_script
@@ -2364,7 +2407,7 @@ pm_to_blib soon.
sub tool_autosplit {
my($self, %attribs) = @_;
- my $maxlen = $attribs{MAXLEN} ? '$$AutoSplit::Maxlen=$attribs{MAXLEN};'
+ my $maxlen = $attribs{MAXLEN} ? '$$AutoSplit::Maxlen=$attribs{MAXLEN};'
: '';
my $asplit = $self->oneliner(sprintf <<'PERL_CODE', $maxlen);
@@ -2421,11 +2464,11 @@ sub arch_check {
my $arch = (grep length, $self->splitdir($pthinks))[-1];
print <<END unless $self->{UNINSTALLED_PERL};
-Your perl and your Config.pm seem to have different ideas about the
+Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [$arch]
Config says: [$Config{archname}]
-This may or may not cause problems. Please check your installation of perl
+This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
END
}
@@ -2475,6 +2518,44 @@ sub find_tests {
return -d 't' ? 't/*.t' : '';
}
+=head3 find_tests_recursive
+
+ my $tests = $mm->find_tests_recursive;
+
+Returns a string suitable for feeding to the shell to return all
+tests in t/ but recursively.
+
+=cut
+
+sub find_tests_recursive {
+ my($self) = shift;
+ return '' unless -d 't';
+
+ require File::Find;
+
+ my %testfiles;
+
+ my $wanted = sub {
+ return unless m!\.t$!;
+ my ($volume,$directories,$file) =
+ File::Spec->splitpath( $File::Find::name );
+ my @dirs = File::Spec->splitdir( $directories );
+ for ( @dirs ) {
+ next if $_ eq 't';
+ unless ( $_ ) {
+ $_ = '*.t';
+ next;
+ }
+ $_ = '*';
+ }
+ my $testfile = join '/', @dirs;
+ $testfiles{ $testfile } = 1;
+ };
+
+ File::Find::find( $wanted, 't' );
+
+ return join ' ', sort keys %testfiles;
+}
=head3 extra_clean_files
@@ -2486,7 +2567,7 @@ addition to the usual set.
=cut
# An empty method here tickled a perl 5.8.1 bug and would return its object.
-sub extra_clean_files {
+sub extra_clean_files {
return;
}
@@ -2527,7 +2608,7 @@ installation.
sub libscan {
my($self,$path) = @_;
my($dirs,$file) = ($self->splitpath($path))[1,2];
- return '' if grep /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/,
+ return '' if grep /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/,
$self->splitdir($dirs), $file;
return $path;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
index 74d3105ca15..060ce36837b 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.66';
+our $VERSION = '6.98';
=item os_flavor
@@ -48,7 +48,7 @@ libperl.a equivalent to be linked to dynamic extensions.
sub init_linker {
my($self) = shift;
- $self->{PERL_ARCHIVE} ||=
+ $self->{PERL_ARCHIVE} ||=
File::Spec->catdir('$(PERL_INC)',$Config{libperl});
$self->{PERL_ARCHIVE_AFTER} ||= '';
$self->{EXPORT_LIST} ||= '';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
index 643682e6119..d8f3e3a88fa 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.66';
+our $VERSION = '6.98';
=head1 NAME
@@ -90,7 +90,7 @@ sub init_linker {
}
$self->{PERL_ARCHIVE} = $libperl;
} else {
- $self->{PERL_ARCHIVE} =
+ $self->{PERL_ARCHIVE} =
'$(PERL_INC)' .'/'. ("$Config{libperl}" or "libperl.a");
}
@@ -100,20 +100,22 @@ sub init_linker {
=item maybe_command
-If our path begins with F</cygdrive/> then we use C<ExtUtils::MM_Win32>
-to determine if it may be a command. Otherwise we use the tests
-from C<ExtUtils::MM_Unix>.
+Determine whether a file is native to Cygwin by checking whether it
+resides inside the Cygwin installation (using Windows paths). If so,
+use C<ExtUtils::MM_Unix> to determine if it may be a command.
+Otherwise use the tests from C<ExtUtils::MM_Win32>.
=cut
sub maybe_command {
my ($self, $file) = @_;
- if ($file =~ m{^/cygdrive/}i) {
- return ExtUtils::MM_Win32->maybe_command($file);
- }
+ my $cygpath = Cygwin::posix_to_win_path('/', 1);
+ my $filepath = Cygwin::posix_to_win_path($file, 1);
- return $self->SUPER::maybe_command($file);
+ return (substr($filepath,0,length($cygpath)) eq $cygpath)
+ ? $self->SUPER::maybe_command($file) # Unix
+ : ExtUtils::MM_Win32->maybe_command($file); # Win32
}
=item dynamic_lib
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
index 4f0eca3ce8e..4f52a9859db 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.66';
+our $VERSION = '6.98';
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 96ec6fbc2c6..861a544172a 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.66';
+our $VERSION = '6.98';
=head1 NAME
@@ -20,7 +20,7 @@ ExtUtils::MM_Darwin - special behaviors for OS X
=head1 DESCRIPTION
-See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documention on the
+See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documentation on the
methods overridden here.
=head2 Overriden Methods
@@ -33,14 +33,14 @@ Turn off Apple tar's tendency to copy resource forks as "._foo" files.
sub init_dist {
my $self = shift;
-
+
# Thank you, Apple, for breaking tar and then breaking the work around.
# 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE while 10.5 wants
# COPYFILE_DISABLE. I'm not going to push my luck and instead just
# set both.
- $self->{TAR} ||=
+ $self->{TAR} ||=
'COPY_EXTENDED_ATTRIBUTES_DISABLE=1 COPYFILE_DISABLE=1 tar';
-
+
$self->SUPER::init_dist(@_);
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
index daba1166c3a..cd3a12a38c0 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.66';
+our $VERSION = '6.98';
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 94531a72e7a..f6b0b5bd3a7 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
@@ -16,13 +16,13 @@ the semantics.
=over
-=cut
+=cut
use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.66';
+our $VERSION = '6.98';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
@@ -66,7 +66,7 @@ sub init_platform {
# To get Win32's setup.
$self->SUPER::init_platform;
- # incpath is copied to makefile var INCLUDE in constants sub, here just
+ # incpath is copied to makefile var INCLUDE in constants sub, here just
# make it empty
my $libpth = $Config{'libpth'};
$libpth =~ s( )(;);
@@ -78,7 +78,7 @@ sub init_platform {
if($self->{'base_import'}) {
$self->{'BASE_IMPORT'} .= ', ' . $self->{'base_import'};
}
-
+
$self->{'NLM_VERSION'} = $Config{'nlm_version'};
$self->{'MPKTOOL'} = $Config{'mpktool'};
$self->{'TOOLPATH'} = $Config{'toolpath'};
@@ -110,7 +110,7 @@ sub platform_constants {
# Setup Win32's constants.
$make_frag .= $self->SUPER::platform_constants;
- foreach my $macro (qw(LIBPTH BASE_IMPORT NLM_VERSION MPKTOOL
+ foreach my $macro (qw(LIBPTH BASE_IMPORT NLM_VERSION MPKTOOL
TOOLPATH BOOT_SYMBOL NLM_SHORT_NAME INCLUDE PATH
MM_NW5_VERSION
))
@@ -231,7 +231,7 @@ MAKE_FRAG
# Taking care of long names like FileHandle, ByteLoader, SDBM_File etc
if($self->{NLM_SHORT_NAME}) {
- # In case of nlms with names exceeding 8 chars, build nlm in the
+ # In case of nlms with names exceeding 8 chars, build nlm in the
# current dir, rename and move to auto\lib.
$m .= q{ -o $(NLM_SHORT_NAME).$(DLEXT)}
} else {
@@ -245,7 +245,7 @@ MAKE_FRAG
if($self->{NLM_SHORT_NAME}) {
$m .= <<'MAKE_FRAG';
- if exist $(INST_AUTODIR)\$(NLM_SHORT_NAME).$(DLEXT) del $(INST_AUTODIR)\$(NLM_SHORT_NAME).$(DLEXT)
+ if exist $(INST_AUTODIR)\$(NLM_SHORT_NAME).$(DLEXT) del $(INST_AUTODIR)\$(NLM_SHORT_NAME).$(DLEXT)
move $(NLM_SHORT_NAME).$(DLEXT) $(INST_AUTODIR)
MAKE_FRAG
}
@@ -264,6 +264,6 @@ __END__
=back
-=cut
+=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
index 55d6c448c08..52bc4d1f108 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.66';
+our $VERSION = '6.98';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -81,12 +81,12 @@ $self->{BASEEXT}.def: Makefile.PL
}
close $imp or die "Can't close tmpimp.imp";
# print "emximp -o tmpimp$Config::Config{lib_ext} tmpimp.imp\n";
- system "emximp -o tmpimp$Config::Config{lib_ext} tmpimp.imp"
+ system "emximp -o tmpimp$Config::Config{lib_ext} tmpimp.imp"
and die "Cannot make import library: $!, \$?=$?";
# May be running under miniperl, so have no glob...
eval { unlink <tmp_imp/*>; 1 } or system "rm tmp_imp/*";
- system "cd tmp_imp; $Config::Config{ar} x ../tmpimp$Config::Config{lib_ext}"
- and die "Cannot extract import objects: $!, \$?=$?";
+ system "cd tmp_imp; $Config::Config{ar} x ../tmpimp$Config::Config{lib_ext}"
+ and die "Cannot extract import objects: $!, \$?=$?";
}
join('',@m);
}
@@ -95,7 +95,7 @@ sub static_lib {
my($self) = @_;
my $old = $self->ExtUtils::MM_Unix::static_lib();
return $old unless $self->{IMPORTS} && %{$self->{IMPORTS}};
-
+
my @chunks = split /\n{2,}/, $old;
shift @chunks unless length $chunks[0]; # Empty lines at the start
$chunks[0] .= <<'EOC';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
index 16169399c89..7b74bf41d56 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.66';
+our $VERSION = '6.98';
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 7c28520f486..5b9730025fd 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.66';
+our $VERSION = '6.98';
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 1629b273699..4140432bc8a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
@@ -15,14 +15,14 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.66';
+$VERSION = '6.98';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
our @ISA = qw(ExtUtils::MM_Any);
my %Is;
-BEGIN {
+BEGIN {
$Is{OS2} = $^O eq 'os2';
$Is{Win32} = $^O eq 'MSWin32' || $Config{osname} eq 'NetWare';
$Is{Dos} = $^O eq 'dos';
@@ -37,6 +37,7 @@ BEGIN {
$Is{BSD} = ($^O =~ /^(?:free|net|open)bsd$/ or
grep( $^O eq $_, qw(bsdos interix dragonfly) )
);
+ $Is{Android} = $^O =~ /android/;
}
BEGIN {
@@ -129,10 +130,10 @@ sub c_o {
my($self) = shift;
return '' unless $self->needs_linking();
my(@m);
-
+
my $command = '$(CCCMD)';
my $flags = '$(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)';
-
+
if (my $cpp = $Config{cpprun}) {
my $cpp_cmd = $self->const_cccmd;
$cpp_cmd =~ s/^CCCMD\s*=\s*\$\(CC\)/$cpp/;
@@ -372,7 +373,7 @@ sub constants {
for my $macro (qw(
AR_STATIC_ARGS DIRFILESEP DFSEP
- NAME NAME_SYM
+ NAME NAME_SYM
VERSION VERSION_MACRO VERSION_SYM DEFINE_VERSION
XS_VERSION XS_VERSION_MACRO XS_DEFINE_VERSION
INST_ARCHLIB INST_SCRIPT INST_BIN INST_LIB
@@ -385,18 +386,18 @@ sub constants {
"DESTINSTALL".$_)
} $self->installvars),
qw(
- PERL_LIB
+ PERL_LIB
PERL_ARCHLIB
LIBPERL_A MYEXTLIB
- FIRST_MAKEFILE MAKEFILE_OLD MAKE_APERL_FILE
- PERLMAINCC PERL_SRC PERL_INC
+ FIRST_MAKEFILE MAKEFILE_OLD MAKE_APERL_FILE
+ PERLMAINCC PERL_SRC PERL_INC
PERL FULLPERL ABSPERL
PERLRUN FULLPERLRUN ABSPERLRUN
PERLRUNINST FULLPERLRUNINST ABSPERLRUNINST
PERL_CORE
PERM_DIR PERM_RW PERM_RWX
- ) )
+ ) )
{
next unless defined $self->{$macro};
@@ -423,7 +424,7 @@ MM_REVISION = $self->{MM_REVISION}
MAKE
FULLEXT BASEEXT PARENT_NAME DLBASE VERSION_FROM INC DEFINE OBJECT
LDFROM LINKTYPE BOOTDEP
- / )
+ / )
{
next unless defined $self->{$macro};
push @m, "$macro = $self->{$macro}\n";
@@ -443,7 +444,7 @@ MAN3PODS = ".$self->wraplist(sort keys %{$self->{MAN3PODS}})."
push @m, q{
# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h
-};
+} if -e File::Spec->catfile( $self->{PERL_INC}, 'config.h' );
push @m, qq{
@@ -471,7 +472,7 @@ PERL_ARCHIVE_AFTER = $self->{PERL_ARCHIVE_AFTER}
TO_INST_PM = ".$self->wraplist(sort keys %{$self->{PM}})."
-PM_TO_BLIB = ".$self->wraplist(%{$self->{PM}})."
+PM_TO_BLIB = ".$self->wraplist(map { ($_ => $self->{PM}->{$_}) } sort keys %{$self->{PM}})."
";
join('',@m);
@@ -533,18 +534,18 @@ Defines a lot of macros for distribution support.
COMPRESS compression command to gzip --best
use for tarfiles
- SUFFIX suffix to put on .gz
+ SUFFIX suffix to put on .gz
compressed files
SHAR shar command to use shar
PREOP extra commands to run before
- making the archive
+ making the archive
POSTOP extra commands to run after
making the archive
TO_UNIX a command to convert linefeeds
- to Unix style in your archive
+ to Unix style in your archive
CI command to checkin your ci -u
sources to version control
@@ -583,7 +584,6 @@ sub init_dist {
($self->{DISTNAME} = $self->{NAME}) =~ s{::}{-}g unless $self->{DISTNAME};
$self->{DISTVNAME} ||= $self->{DISTNAME}.'-'.$self->{VERSION};
-
}
=item dist (o)
@@ -601,7 +601,10 @@ sub dist {
my($self, %attribs) = @_;
my $make = '';
- foreach my $key (qw(
+ if ( $attribs{SUFFIX} && $attribs{SUFFIX} !~ m!^\.! ) {
+ $attribs{SUFFIX} = '.' . $attribs{SUFFIX};
+ }
+ foreach my $key (qw(
TAR TARFLAGS ZIP ZIPFLAGS COMPRESS SUFFIX SHAR
PREOP POSTOP TO_UNIX
CI RCS_LABEL DIST_CP DIST_DEFAULT
@@ -638,7 +641,7 @@ manifest :
$(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
veryclean : realclean
- $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old
+ $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old
MAKE_FRAG
@@ -674,7 +677,7 @@ sub dist_core {
my($self) = shift;
my $make_frag = '';
- foreach my $target (qw(dist tardist uutardist tarfile zipdist zipfile
+ foreach my $target (qw(dist tardist uutardist tarfile zipdist zipfile
shdist))
{
my $method = $target.'_target';
@@ -768,6 +771,7 @@ $(DISTVNAME).tar$(SUFFIX) : distdir
$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
$(RM_RF) $(DISTVNAME)
$(COMPRESS) $(DISTVNAME).tar
+ $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)'
$(POSTOP)
MAKE_FRAG
}
@@ -790,6 +794,7 @@ $(DISTVNAME).zip : distdir
$(PREOP)
$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
$(RM_RF) $(DISTVNAME)
+ $(NOECHO) $(ECHO) 'Created $(DISTVNAME).zip'
$(POSTOP)
MAKE_FRAG
}
@@ -808,6 +813,7 @@ sub uutardist_target {
return <<'MAKE_FRAG';
uutardist : $(DISTVNAME).tar$(SUFFIX)
uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu
+ $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)_uu'
MAKE_FRAG
}
@@ -828,6 +834,7 @@ shdist : distdir
$(PREOP)
$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
$(RM_RF) $(DISTVNAME)
+ $(NOECHO) $(ECHO) 'Created $(DISTVNAME).shar'
$(POSTOP)
MAKE_FRAG
}
@@ -860,7 +867,7 @@ BOOTSTRAP =
my $target = $Is{VMS} ? '$(MMS$TARGET)' : '$@';
- return sprintf <<'MAKE_FRAG', ($target) x 5;
+ return sprintf <<'MAKE_FRAG', ($target) x 2;
BOOTSTRAP = $(BASEEXT).bs
# As Mkbootstrap might not write a file (if none is required)
@@ -873,11 +880,6 @@ $(BOOTSTRAP) : $(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DFSEP).exists
-e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
$(NOECHO) $(TOUCH) %s
$(CHMOD) $(PERM_RW) %s
-
-$(INST_BOOT) : $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists
- $(NOECHO) $(RM_RF) %s
- - $(CP) $(BOOTSTRAP) %s
- $(CHMOD) $(PERM_RW) %s
MAKE_FRAG
}
@@ -909,7 +911,7 @@ OTHERLDFLAGS = '.$ld_opt.$otherldflags.'
INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
INST_DYNAMIC_FIX = '.$ld_fix.'
-$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
');
if ($armaybe ne ':'){
$ldfrom = 'tmp$(LIB_EXT)';
@@ -919,7 +921,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).
$ldfrom = "-all $ldfrom -none" if $Is{OSF};
# The IRIX linker doesn't use LD_RUN_PATH
- my $ldrun = $Is{IRIX} && $self->{LD_RUN_PATH} ?
+ my $ldrun = $Is{IRIX} && $self->{LD_RUN_PATH} ?
qq{-rpath "$self->{LD_RUN_PATH}"} : '';
# For example in AIX the shared objects/libraries from previous builds
@@ -932,7 +934,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).
my $libs = '$(LDLOADLIBS)';
- if (($Is{NetBSD} || $Is{Interix}) && $Config{'useshrplib'} eq 'true') {
+ if (($Is{NetBSD} || $Is{Interix} || $Is{Android}) && $Config{'useshrplib'} eq 'true') {
# Use nothing on static perl platforms, and to the flags needed
# to link against the shared libperl library on shared perl
# platforms. We peek at lddlflags to see if we need -Wl,-R
@@ -941,6 +943,10 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).
$libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -Wl,-R$(PERL_ARCHLIB)/CORE -lperl';
} elsif ($Config{'lddlflags'} =~ /-R/) {
$libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -R$(PERL_ARCHLIB)/CORE -lperl';
+ } elsif ( $Is{Android} ) {
+ # The Android linker will not recognize symbols from
+ # libperl unless the module explicitly depends on it.
+ $libs .= ' -L$(PERL_INC) -lperl';
}
}
@@ -957,6 +963,8 @@ MAKE
push @m, <<'MAKE';
$(CHMOD) $(PERM_RWX) $@
+ $(NOECHO) $(RM_RF) $(BOOTSTRAP)
+ - $(CP_NONEMPTY) $(BOOTSTRAP) $(INST_BOOT) $(PERM_RW)
MAKE
return join('',@m);
@@ -1025,7 +1033,7 @@ WARNING
my ($abs, $val);
if ($self->file_name_is_absolute($name)) { # /foo/bar
$abs = $name;
- } elsif ($self->canonpath($name) eq
+ } elsif ($self->canonpath($name) eq
$self->canonpath(basename($name))) { # foo
$abs = $self->catfile($dir, $name);
} else { # foo/bar
@@ -1036,8 +1044,6 @@ WARNING
print "Executing $abs\n" if ($trace >= 2);
my $version_check = qq{$abs -le "require $ver; print qq{VER_OK}"};
- $version_check = "$Config{run} $version_check"
- if defined $Config{run} and length $Config{run};
# To avoid using the unportable 2>&1 to suppress STDERR,
# we close it before running the command.
@@ -1087,7 +1093,7 @@ sub fixin { # stolen from the pink Camel book, more or less
open( my $fixin, '<', $file ) or croak "Can't process '$file': $!";
local $/ = "\n";
chomp( my $line = <$fixin> );
- next unless $line =~ s/^\s*\#!\s*//; # Not a shbang file.
+ next unless $line =~ s/^\s*\#!\s*//; # Not a shebang file.
my $shb = $self->_fixin_replace_shebang( $file, $line );
next unless defined $shb;
@@ -1162,7 +1168,7 @@ sub _fixin_replace_shebang {
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"
@@ -1173,7 +1179,7 @@ sub _fixin_replace_shebang {
}
# Figure out how to invoke interpreter on this machine.
-
+
my ($does_shbang) = $Config{'sharpbang'} =~ /^\s*\#\!/;
my ($shb) = "";
if ($interpreter) {
@@ -1263,7 +1269,7 @@ Called by init_main.
sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc)
my($self) = @_;
- my(%dir, %xs, %c, %h, %pl_files, %pm);
+ my(%dir, %xs, %c, %o, %h, %pl_files, %pm);
my %ignore = map {( $_ => 1 )} qw(Makefile.PL Build.PL test.pl t);
@@ -1271,10 +1277,21 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc)
$Is{VMS} ? $ignore{"$self->{DISTVNAME}.dir"} = 1
: $ignore{$self->{DISTVNAME}} = 1;
+ my $distprefix = $Is{VMS} ? qr/^\Q$self->{DISTNAME}\E-v?[\d\.]+\.dir$/i
+ : qr/^\Q$self->{DISTNAME}\E-v?[\d\.]+$/;
+
@ignore{map lc, keys %ignore} = values %ignore if $Is{VMS};
+ if ( defined $self->{XS} and !defined $self->{C} ) {
+ my @c_files = grep { m/\.c(pp|xx)?\z/i } values %{$self->{XS}};
+ my @o_files = grep { m/(?:.(?:o(?:bj)?)|\$\(OBJ_EXT\))\z/i } values %{$self->{XS}};
+ %c = map { $_ => 1 } @c_files;
+ %o = map { $_ => 1 } @o_files;
+ }
+
foreach my $name ($self->lsdir($Curdir)){
next if $name =~ /\#/;
+ next if $name =~ $distprefix && -d $name;
$name = lc($name) if $Is{VMS};
next if $name eq $Curdir or $name eq $Updir or $ignore{$name};
next unless $self->libscan($name);
@@ -1301,7 +1318,7 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc)
($pl_files{$name} = $name) =~ s/[._]pl\z//i ;
}
else {
- $pm{$name} = $self->catfile($self->{INST_LIBDIR},$name);
+ $pm{$name} = $self->catfile($self->{INST_LIBDIR},$name);
}
} elsif ($name =~ /\.(p[ml]|pod)\z/){
$pm{$name} = $self->catfile($self->{INST_LIBDIR},$name);
@@ -1316,7 +1333,8 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc)
$self->{PM} ||= \%pm;
my @o_files = @{$self->{C}};
- $self->{O_FILES} = [grep s/\.c(pp|xx|c)?\z/$self->{OBJ_EXT}/i, @o_files];
+ %o = (%o, map { $_ => 1 } grep s/\.c(pp|xx|c)?\z/$self->{OBJ_EXT}/i, @o_files);
+ $self->{O_FILES} = [sort keys %o];
}
@@ -1380,7 +1398,7 @@ sub init_MAN1PODS {
next unless $self->_has_pod($name);
$self->{MAN1PODS}->{$name} =
- $self->catfile("\$(INST_MAN1DIR)",
+ $self->catfile("\$(INST_MAN1DIR)",
basename($name).".\$(MAN1EXT)");
}
}
@@ -1412,7 +1430,7 @@ sub init_MAN3PODS {
my $parentlibs_re = join '|', @{$self->{PMLIBPARENTDIRS}};
# Remove "Configure.pm" and similar, if it's not the only pod listed
- # To force inclusion, just name it "Configure.pod", or override
+ # To force inclusion, just name it "Configure.pod", or override
# MAN3PODS
foreach my $name (keys %manifypods) {
if ($self->{PERL_CORE} and $name =~ /(config|setup).*\.pm/is) {
@@ -1517,7 +1535,7 @@ sub init_PM {
my $striplibpath;
my $parentlibs_re = join '|', @{$self->{PMLIBPARENTDIRS}};
- $prefix = $self->{INST_LIB}
+ $prefix = $self->{INST_LIB}
if ($striplibpath = $path) =~ s{^(\W*)($parentlibs_re)\W}
{$1}i;
@@ -1543,7 +1561,7 @@ sub init_DIRFILESEP {
$self->{DIRFILESEP} = '/';
}
-
+
=item init_main
@@ -1579,6 +1597,8 @@ sub init_main {
# Some systems have restrictions on files names for DLL's etc.
# mod2fname returns appropriate file base name (typically truncated)
# It may also edit @modparts if required.
+ # We require DynaLoader to make sure that mod2fname is loaded
+ eval { require DynaLoader };
if (defined &DynaLoader::mod2fname) {
$modfname = &DynaLoader::mod2fname(\@modparts);
}
@@ -1620,18 +1640,9 @@ sub init_main {
if ($self->{PERL_SRC}){
$self->{PERL_LIB} ||= $self->catdir("$self->{PERL_SRC}","lib");
- if (defined $Cross::platform) {
- $self->{PERL_ARCHLIB} =
- $self->catdir("$self->{PERL_SRC}","xlib",$Cross::platform);
- $self->{PERL_INC} =
- $self->catdir("$self->{PERL_SRC}","xlib",$Cross::platform,
- $Is{Win32}?("CORE"):());
- }
- else {
- $self->{PERL_ARCHLIB} = $self->{PERL_LIB};
- $self->{PERL_INC} = ($Is{Win32}) ?
- $self->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
- }
+ $self->{PERL_ARCHLIB} = $self->{PERL_LIB};
+ $self->{PERL_INC} = ($Is{Win32}) ?
+ $self->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
# catch a situation that has occurred a few times in the past:
unless (
@@ -1688,7 +1699,18 @@ from the perl source tree.
EOP
}
}
- }
+ }
+ }
+
+ if ($Is{Android}) {
+ # Android fun times!
+ # ../../perl -I../../lib -MFile::Glob -e1 works
+ # ../../../perl -I../../../lib -MFile::Glob -e1 fails to find
+ # the .so for File::Glob.
+ # This always affects core perl, but may also affect an installed
+ # perl built with -Duserelocatableinc.
+ $self->{PERL_LIB} = File::Spec->rel2abs($self->{PERL_LIB});
+ $self->{PERL_ARCHLIB} = File::Spec->rel2abs($self->{PERL_ARCHLIB});
}
# We get SITELIBEXP and SITEARCHEXP directly via
@@ -1755,6 +1777,7 @@ sub init_tools {
$self->{RM_RF} ||= "rm -rf";
$self->{TOUCH} ||= "touch";
$self->{TEST_F} ||= "test -f";
+ $self->{TEST_S} ||= "test -s";
$self->{CP} ||= "cp";
$self->{MV} ||= "mv";
$self->{CHMOD} ||= "chmod";
@@ -1806,7 +1829,7 @@ sub init_lib2arch {
# architecture. If not we take it as a sign that it should be the
# same as the requested installation directory. Otherwise we take
# the found one.
- for my $libpair ({l=>"privlib", a=>"archlib"},
+ for my $libpair ({l=>"privlib", a=>"archlib"},
{l=>"sitelib", a=>"sitearch"},
{l=>"vendorlib", a=>"vendorarch"},
)
@@ -1820,7 +1843,7 @@ sub init_lib2arch {
$self->prefixify($Arch,$ilib,$self->{$Lib});
unless (-d $self->{$Arch}) {
- print "Directory $self->{$Arch} not found\n"
+ print "Directory $self->{$Arch} not found\n"
if $Verbose;
$self->{$Arch} = $self->{$Lib};
}
@@ -1854,15 +1877,15 @@ sub init_PERL {
my($self) = shift;
my @defpath = ();
- foreach my $component ($self->{PERL_SRC}, $self->path(),
- $Config{binexp})
+ foreach my $component ($self->{PERL_SRC}, $self->path(),
+ $Config{binexp})
{
push @defpath, $component if defined $component;
}
# Build up a set of file names (not command names).
my $thisperl = $self->canonpath($^X);
- $thisperl .= $Config{exe_ext} unless
+ $thisperl .= $Config{exe_ext} unless
# VMS might have a file version # at the end
$Is{VMS} ? $thisperl =~ m/$Config{exe_ext}(;\d+)?$/i
: $thisperl =~ m/$Config{exe_ext}$/i;
@@ -1872,9 +1895,9 @@ sub init_PERL {
my @perls = ($thisperl);
push @perls, map { "$_$Config{exe_ext}" }
- ('perl', 'perl5', "perl$Config{version}");
+ ("perl$Config{version}", 'perl5', 'perl');
- # miniperl has priority over all but the cannonical perl when in the
+ # miniperl has priority over all but the canonical perl when in the
# core. Otherwise its a last resort.
my $miniperl = "miniperl$Config{exe_ext}";
if( $self->{PERL_CORE} ) {
@@ -1891,13 +1914,13 @@ sub init_PERL {
# When built for debugging, VMS doesn't create perl.exe but ndbgperl.exe.
my $perl_name = 'perl';
- $perl_name = 'ndbgperl' if $Is{VMS} &&
+ $perl_name = 'ndbgperl' if $Is{VMS} &&
defined $Config{usevmsdebug} && $Config{usevmsdebug} eq 'define';
# XXX This logic is flawed. If "miniperl" is anywhere in the path
# it will get confused. It should be fixed to work only on the filename.
# Define 'FULLPERL' to be a non-miniperl (used in test: target)
- ($self->{FULLPERL} = $self->{PERL}) =~ s/miniperl/$perl_name/i
+ ($self->{FULLPERL} = $self->{PERL}) =~ s/\Q$miniperl\E$/$perl_name$Config{exe_ext}/i
unless $self->{FULLPERL};
# Little hack to get around VMS's find_perl putting "MCR" in front
@@ -1928,10 +1951,10 @@ sub init_PERL {
$self->{$run} = "\$($perl)";
# Make sure perl can find itself before it's installed.
- $self->{$run} .= q{ "-I$(PERL_LIB)" "-I$(PERL_ARCHLIB)"}
+ $self->{$run} .= q{ "-I$(PERL_LIB)" "-I$(PERL_ARCHLIB)"}
if $self->{UNINSTALLED_PERL} || $self->{PERL_CORE};
- $self->{$perl.'RUNINST'} =
+ $self->{$perl.'RUNINST'} =
sprintf q{$(%sRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"}, $perl;
}
@@ -2003,18 +2026,18 @@ sub init_xs {
my $self = shift;
if ($self->has_link_code()) {
- $self->{INST_STATIC} =
+ $self->{INST_STATIC} =
$self->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT)$(LIB_EXT)');
- $self->{INST_DYNAMIC} =
+ $self->{INST_DYNAMIC} =
$self->catfile('$(INST_ARCHAUTODIR)', '$(DLBASE).$(DLEXT)');
- $self->{INST_BOOT} =
+ $self->{INST_BOOT} =
$self->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT).bs');
} else {
$self->{INST_STATIC} = '';
$self->{INST_DYNAMIC} = '';
$self->{INST_BOOT} = '';
}
-}
+}
=item install (o)
@@ -2053,9 +2076,15 @@ doc__install : doc_site_install
pure_perl_install :: all
$(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+};
+
+ push @m,
+q{ read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
- $(INST_LIB) $(DESTINSTALLPRIVLIB) \
+} unless $self->{NO_PACKLIST};
+
+ push @m,
+q{ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
$(INST_BIN) $(DESTINSTALLBIN) \
$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
@@ -2067,9 +2096,14 @@ pure_perl_install :: all
pure_site_install :: all
$(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+};
+ push @m,
+q{ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
- $(INST_LIB) $(DESTINSTALLSITELIB) \
+} unless $self->{NO_PACKLIST};
+
+ push @m,
+q{ $(INST_LIB) $(DESTINSTALLSITELIB) \
$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
$(INST_BIN) $(DESTINSTALLSITEBIN) \
$(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
@@ -2080,15 +2114,35 @@ pure_site_install :: all
pure_vendor_install :: all
$(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+};
+ push @m,
+q{ read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
- $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+} unless $self->{NO_PACKLIST};
+
+ push @m,
+q{ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
$(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+};
+
+ push @m, q{
+doc_perl_install :: all
+ $(NOECHO) $(NOOP)
+
+doc_site_install :: all
+ $(NOECHO) $(NOOP)
+
+doc_vendor_install :: all
+ $(NOECHO) $(NOOP)
+
+} if $self->{NO_PERLLOCAL};
+
+ push @m, q{
doc_perl_install :: all
$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
@@ -2122,7 +2176,7 @@ doc_vendor_install :: all
EXE_FILES "$(EXE_FILES)" \
>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
-};
+} unless $self->{NO_PERLLOCAL};
push @m, q{
uninstall :: uninstall_from_$(INSTALLDIRS)dirs
@@ -2332,7 +2386,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib
# Skip perl's libraries.
return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
- # Skip purified versions of libraries
+ # Skip purified versions of libraries
# (e.g., DynaLoader_pure_p1_c0_032.a)
return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure";
@@ -2367,7 +2421,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib
# don't include the installed version of this extension. I
# leave this line here, although it is not necessary anymore:
# I patched minimod.PL instead, so that Miniperl.pm won't
- # enclude duplicates
+ # include duplicates
# Once the patch to minimod.PL is in the distribution, I can
# drop it
@@ -2518,8 +2572,12 @@ $(OBJECT) : $(FIRST_MAKEFILE)
my $newer_than_target = $Is{VMS} ? '$(MMS$SOURCE_LIST)' : '$?';
my $mpl_args = join " ", map qq["$_"], @ARGV;
-
- $m .= sprintf <<'MAKE_FRAG', $newer_than_target, $mpl_args;
+ my $cross = '';
+ if (defined $::Cross::platform) {
+ # Inherited from win32/buildext.pl
+ $cross = "-MCross=$::Cross::platform ";
+ }
+ $m .= sprintf <<'MAKE_FRAG', $newer_than_target, $cross, $mpl_args;
# We take a very conservative approach here, but it's worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping.
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
@@ -2528,7 +2586,7 @@ $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
-$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
-$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
- $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL)
- $(PERLRUN) Makefile.PL %s
+ $(PERLRUN) %sMakefile.PL %s
$(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
$(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <=="
$(FALSE)
@@ -2563,7 +2621,7 @@ sub needs_linking {
my($self) = shift;
my $caller = (caller(0))[3];
- confess("needs_linking called too early") if
+ confess("needs_linking called too early") if
$caller =~ /^ExtUtils::MakeMaker::/;
return $self->{NEEDS_LINKING} if defined $self->{NEEDS_LINKING};
if ($self->has_link_code or $self->{MAKEAPERL}){
@@ -2599,9 +2657,15 @@ sub parse_abstract {
$inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod;
next if !$inpod;
chop;
- next unless /^($package(?:\.pm)? \s+ -+ \s+)(.*)/x;
- $result = $2;
- last;
+ if ( /^($package(?:\.pm)? \s+ -+ \s+)(.*)/x ) {
+ $result = $2;
+ next;
+ }
+ next unless $result;
+ if ( $result && ( /^\s*$/ || /^\=/ ) ) {
+ last;
+ }
+ $result = join ' ', $result, $_;
}
close $fh;
@@ -2645,29 +2709,8 @@ sub parse_version {
local $^W = 0;
$result = $1;
}
- elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* =}x ) {
- my $eval = qq{
- package ExtUtils::MakeMaker::_version;
- no strict;
- BEGIN { eval {
- # Ensure any version() routine which might have leaked
- # into this package has been deleted. Interferes with
- # version->import()
- undef *version;
- require version;
- "version"->import;
- } }
-
- local $1$2;
- \$$2=undef;
- do {
- $_
- };
- \$$2;
- };
- local $^W = 0;
- $result = eval($eval); ## no critic
- warn "Could not eval '$eval' in $parsefile: $@" if $@;
+ elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* (?<![<>=!])\=[^=]}x ) {
+ $result = $self->get_version($parsefile, $1, $2);
}
else {
next;
@@ -2676,10 +2719,44 @@ sub parse_version {
}
close $fh;
+ if ( defined $result && $result !~ /^v?[\d_\.]+$/ ) {
+ require version;
+ my $normal = eval { version->parse( $result ) };
+ $result = $normal if defined $normal;
+ }
$result = "undef" unless defined $result;
return $result;
}
+sub get_version
+{
+ my ($self, $parsefile, $sigil, $name) = @_;
+ my $eval = qq{
+ package ExtUtils::MakeMaker::_version;
+ no strict;
+ BEGIN { eval {
+ # Ensure any version() routine which might have leaked
+ # into this package has been deleted. Interferes with
+ # version->import()
+ undef *version;
+ require version;
+ "version"->import;
+ } }
+
+ local $sigil$name;
+ \$$name=undef;
+ do {
+ $_
+ };
+ \$$name;
+ };
+ $eval = $1 if $eval =~ m{^(.+)}s;
+ local $^W = 0;
+ my $result = eval($eval); ## no critic
+ warn "Could not eval '$eval' in $parsefile: $@" if $@;
+ $result;
+}
+
=item pasthru (o)
@@ -2698,7 +2775,7 @@ sub pasthru {
foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE
PREFIX INSTALL_BASE)
- )
+ )
{
next unless defined $self->{$key};
push @pasthru, "$key=\"\$($key)\"";
@@ -2785,7 +2862,8 @@ pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM)
pm_to_blib({\@ARGV}, '$autodir', q[\$(PM_FILTER)], '\$(PERM_DIR)')
CODE
- my @cmds = $self->split_command($pm_to_blib, %{$self->{PM}});
+ my @cmds = $self->split_command($pm_to_blib,
+ map { ($_, $self->{PM}->{$_}) } sort keys %{$self->{PM}});
$r .= join '', map { "\t\$(NOECHO) $_\n" } @cmds;
$r .= qq{\t\$(NOECHO) \$(TOUCH) pm_to_blib\n};
@@ -2907,11 +2985,22 @@ PPD_OUT
$self->{PPM_INSTALL_EXEC}, $self->{PPM_INSTALL_SCRIPT};
}
else {
- $ppd_xml .= sprintf qq{ <INSTALL>%s</INSTALL>\n},
+ $ppd_xml .= sprintf qq{ <INSTALL>%s</INSTALL>\n},
$self->{PPM_INSTALL_SCRIPT};
}
}
+ if ($self->{PPM_UNINSTALL_SCRIPT}) {
+ if ($self->{PPM_UNINSTALL_EXEC}) {
+ $ppd_xml .= sprintf qq{ <UNINSTALL EXEC="%s">%s</UNINSTALL>\n},
+ $self->{PPM_UNINSTALL_EXEC}, $self->{PPM_UNINSTALL_SCRIPT};
+ }
+ else {
+ $ppd_xml .= sprintf qq{ <UNINSTALL>%s</UNINSTALL>\n},
+ $self->{PPM_UNINSTALL_SCRIPT};
+ }
+ }
+
my ($bin_location) = $self->{BINARY_LOCATION} || '';
$bin_location =~ s/\\/\\\\/g;
@@ -2936,7 +3025,7 @@ PPD_OUT
$MM->prefixify($var, $prefix, $new_prefix, $default);
Using either $MM->{uc $var} || $Config{lc $var}, it will attempt to
-replace it's $prefix with a $new_prefix.
+replace it's $prefix with a $new_prefix.
Should the $prefix fail to match I<AND> a PREFIX was given as an
argument to WriteMakefile() it will set it to the $new_prefix +
@@ -2960,7 +3049,7 @@ simply use '/home/foo/man/man1'.
sub prefixify {
my($self,$var,$sprefix,$rprefix,$default) = @_;
- my $path = $self->{uc $var} ||
+ my $path = $self->{uc $var} ||
$Config_Override{lc $var} || $Config{lc $var} || '';
$rprefix .= '/' if $sprefix =~ m|/$|;
@@ -2969,7 +3058,7 @@ sub prefixify {
warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
if( $self->{ARGS}{PREFIX} &&
- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
+ $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
{
warn " cannot prefix, using default.\n" if $Verbose >= 2;
@@ -3103,7 +3192,7 @@ sub oneliner {
$switches = join ' ', @$switches;
- return qq{\$(ABSPERLRUN) $switches -e $cmd --};
+ return qq{\$(ABSPERLRUN) $switches -e $cmd --};
}
@@ -3201,10 +3290,10 @@ END
$(CP) $(MYEXTLIB) $@
MAKE_FRAG
- my $ar;
+ my $ar;
if (exists $self->{FULL_AR} && -x $self->{FULL_AR}) {
# Prefer the absolute pathed ar if available so that PATH
- # doesn't confuse us. Perl itself is built with the full_ar.
+ # doesn't confuse us. Perl itself is built with the full_ar.
$ar = 'FULL_AR';
} else {
$ar = 'AR';
@@ -3274,7 +3363,7 @@ Helper subroutine for subdirs
sub subdir_x {
my($self, $subdir) = @_;
- my $subdir_cmd = $self->cd($subdir,
+ my $subdir_cmd = $self->cd($subdir,
'$(MAKE) $(USEMAKEFILE) $(FIRST_MAKEFILE) all $(PASTHRU)'
);
return sprintf <<'EOT', $subdir_cmd;
@@ -3325,7 +3414,10 @@ sub test {
my($self, %attribs) = @_;
my $tests = $attribs{TESTS} || '';
- if (!$tests && -d 't') {
+ if (!$tests && -d 't' && defined $attribs{RECURSIVE_TEST_FILES}) {
+ $tests = $self->find_tests_recursive;
+ }
+ elsif (!$tests && -d 't') {
$tests = $self->find_tests;
}
# note: 'test.pl' name is also hardcoded in init_dirscan()
@@ -3361,14 +3453,14 @@ END
push(@m, "\n");
push(@m, "test_dynamic :: pure_all\n");
- push(@m, $self->test_via_harness('$(FULLPERLRUN)', '$(TEST_FILES)'))
+ push(@m, $self->test_via_harness('$(FULLPERLRUN)', '$(TEST_FILES)'))
if $tests;
- push(@m, $self->test_via_script('$(FULLPERLRUN)', '$(TEST_FILE)'))
+ push(@m, $self->test_via_script('$(FULLPERLRUN)', '$(TEST_FILE)'))
if -f "test.pl";
push(@m, "\n");
push(@m, "testdb_dynamic :: pure_all\n");
- push(@m, $self->test_via_script('$(FULLPERLRUN) $(TESTDB_SW)',
+ push(@m, $self->test_via_script('$(FULLPERLRUN) $(TESTDB_SW)',
'$(TEST_FILE)'));
push(@m, "\n");
@@ -3430,12 +3522,15 @@ sub tool_xsubpp {
# Make sure we pick up the new xsubpp if we're building perl.
unshift @xsubpp_dirs, $self->{PERL_LIB} if $self->{PERL_CORE};
+ my $foundxsubpp = 0;
foreach my $dir (@xsubpp_dirs) {
$xsdir = $self->catdir($dir, 'ExtUtils');
if( -r $self->catfile($xsdir, "xsubpp") ) {
+ $foundxsubpp = 1;
last;
}
}
+ die "ExtUtils::MM_Unix::tool_xsubpp : Can't find xsubpp" if !$foundxsubpp;
my $tmdir = File::Spec->catdir($self->{PERL_LIB},"ExtUtils");
my(@tmdeps) = $self->catfile($tmdir,'typemap');
@@ -3456,10 +3551,10 @@ sub tool_xsubpp {
}
if ($Is{VMS} &&
- $Config{'ldflags'} &&
+ $Config{'ldflags'} &&
$Config{'ldflags'} =~ m!/Debug!i &&
(!exists($self->{XSOPT}) || $self->{XSOPT} !~ /linenumbers/)
- )
+ )
{
unshift(@tmargs,'-nolinenumbers');
}
@@ -3474,7 +3569,7 @@ XSUBPPRUN = \$(PERLRUN) \$(XSUBPP)
XSPROTOARG = $self->{XSPROTOARG}
XSUBPPDEPS = @tmdeps \$(XSUBPP)
XSUBPPARGS = @tmargs
-XSUBPP_EXTRA_ARGS =
+XSUBPP_EXTRA_ARGS =
};
};
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
index 13a3b94b692..331cbcd0fa0 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.66';
+our $VERSION = '6.98';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -120,10 +120,10 @@ sub guess_name {
if (@pm == 1) { ($defpm = $pm[0]) =~ s/.pm$//; }
elsif (@pm) {
%xs = map { s/.xs$//; ($_,1) } glob('*.xs'); ## no critic
- if (keys %xs) {
- foreach my $pm (@pm) {
- $defpm = $pm, last if exists $xs{$pm};
- }
+ if (keys %xs) {
+ foreach my $pm (@pm) {
+ $defpm = $pm, last if exists $xs{$pm};
+ }
}
}
}
@@ -200,8 +200,8 @@ sub find_perl {
$inabs++ if $self->file_name_is_absolute($dir);
if ($inabs == 1) {
# We've covered relative dirs; everything else is an absolute
- # dir (probably an installed location). First, we'll try
- # potential command names, to see whether we can avoid a long
+ # dir (probably an installed location). First, we'll try
+ # potential command names, to see whether we can avoid a long
# MCR expression.
foreach my $name (@snames) {
push(@cand,$name) if $name =~ /^[\w\-\$]+$/;
@@ -217,7 +217,7 @@ sub find_perl {
print "Checking $name\n" if $trace >= 2;
# If it looks like a potential command, try it without the MCR
if ($name =~ /^[\w\-\$]+$/) {
- open(my $tcf, ">", "temp_mmvms.com")
+ open(my $tcf, ">", "temp_mmvms.com")
or die('unable to open temp file');
print $tcf "\$ set message/nofacil/nosever/noident/notext\n";
print $tcf "\$ $name -e \"require $ver; print \"\"VER_OK\\n\"\"\"\n";
@@ -251,7 +251,7 @@ sub find_perl {
=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
+actual shebang line that will be interpreted by the shell, so we just prepend
$Config{startperl} and preserve the shebang line argument for any switches it
may contain.
@@ -396,7 +396,7 @@ sub init_DEST {
=item init_DIRFILESEP
-No seperator between a directory path and a filename on VMS.
+No separator between a directory path and a filename on VMS.
=cut
@@ -438,11 +438,11 @@ sub init_main {
}
$self->{DEFINE} = '';
- if (@defs) {
- $self->{DEFINE} = '/Define=(' . join(',',@defs) . ')';
+ if (@defs) {
+ $self->{DEFINE} = '/Define=(' . join(',',@defs) . ')';
}
- if (@udefs) {
- $self->{DEFINE} .= '/Undef=(' . join(',',@udefs) . ')';
+ if (@udefs) {
+ $self->{DEFINE} .= '/Undef=(' . join(',',@udefs) . ')';
}
}
}
@@ -487,7 +487,7 @@ sub init_tools {
$self->{EQUALIZE_TIMESTAMP} ||= '$(ABSPERLRUN) -we "open F,qq{>>$ARGV[1]};close F;utime(0,(stat($ARGV[0]))[9]+1,$ARGV[1])"';
- $self->{MOD_INSTALL} ||=
+ $self->{MOD_INSTALL} ||=
$self->oneliner(<<'CODE', ['-MExtUtils::Install']);
install([ from_to => {split(' ', <STDIN>)}, verbose => '$(VERBINST)', uninstall_shadows => '$(UNINST)', dir_mode => '$(PERM_DIR)' ]);
CODE
@@ -578,11 +578,11 @@ sub constants {
# Cleanup paths for directories in MMS macros.
foreach my $macro ( qw [
- INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB
+ INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB
PERL_LIB PERL_ARCHLIB
PERL_INC PERL_SRC ],
(map { 'INSTALL'.$_ } $self->installvars)
- )
+ )
{
next unless defined $self->{$macro};
next if $macro =~ /MAN/ && $self->{$macro} eq 'none';
@@ -590,8 +590,8 @@ sub constants {
}
# Cleanup paths for files in MMS macros.
- foreach my $macro ( qw[LIBPERL_A FIRST_MAKEFILE MAKEFILE_OLD
- MAKE_APERL_FILE MYEXTLIB] )
+ foreach my $macro ( qw[LIBPERL_A FIRST_MAKEFILE MAKEFILE_OLD
+ MAKE_APERL_FILE MYEXTLIB] )
{
next unless defined $self->{$macro};
$self->{$macro} = $self->fixpath($self->{$macro},0);
@@ -630,7 +630,7 @@ sub constants {
next unless $self ne " " && defined $self->{$macro};
my %tmp = ();
for my $key (keys %{$self->{$macro}}) {
- $tmp{$self->fixpath($key,0)} =
+ $tmp{$self->fixpath($key,0)} =
$self->fixpath($self->{$macro}{$key},0);
}
$self->{$macro} = \%tmp;
@@ -843,7 +843,7 @@ VMSish defaults for some values.
COMPRESS compression command to gzip
use for tarfiles
- SUFFIX suffix to put on -gz
+ SUFFIX suffix to put on -gz
compressed files
SHAR shar command to use vms_share
@@ -930,7 +930,7 @@ sub xs_o { # many makes are too dumb to use xs_c then c_o
=item dlsyms (override)
Create VMS linker options files specifying universal symbols for this
-extension's shareable image, and listing other shareable images or
+extension's shareable image, and listing other shareable images or
libraries to which it should be linked.
=cut
@@ -969,7 +969,7 @@ $(BASEEXT).opt : Makefile.PL
push @m, ' $(PERL) -e "print ""$(INST_STATIC)/Include=';
if ($self->{OBJECT} =~ /\bBASEEXT\b/ or
- $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) {
+ $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) {
push @m, ($Config{d_vms_case_sensitive_symbols}
? uc($self->{BASEEXT}) :'$(BASEEXT)');
}
@@ -1080,7 +1080,7 @@ $(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
} else {
push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)',"\n");
}
-
+
push @m, "\t\$(NOECHO) \$(PERL) -e 1 >\$(INST_ARCHAUTODIR)extralibs.ld\n";
foreach my $lib (split ' ', $self->{EXTRALIBS}) {
push(@m,"\t",'$(NOECHO) $(PERL) -e "print qq{',$lib,'\n}" >>$(INST_ARCHAUTODIR)extralibs.ld',"\n");
@@ -1190,9 +1190,14 @@ doc__install : doc_site_install
# This hack brought to you by DCL's 255-character command line limit
pure_perl_install ::
- $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
+];
+ push @m,
+q[ $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
$(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp
- $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLPRIVLIB) " >>.MM_tmp
+] unless $self->{NO_PACKLIST};
+
+ push @m,
+q[ $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLPRIVLIB) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_BIN) $(DESTINSTALLBIN) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(DESTINSTALLSCRIPT) " >>.MM_tmp
@@ -1204,9 +1209,14 @@ pure_perl_install ::
# Likewise
pure_site_install ::
- $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
+];
+ push @m,
+q[ $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
$(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp
- $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLSITELIB) " >>.MM_tmp
+] unless $self->{NO_PACKLIST};
+
+ push @m,
+q[ $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLSITELIB) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_BIN) $(DESTINSTALLSITEBIN) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(DESTINSTALLSCRIPT) " >>.MM_tmp
@@ -1217,9 +1227,14 @@ pure_site_install ::
$(NOECHO) $(WARN_IF_OLD_PACKLIST) ].$self->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
pure_vendor_install ::
- $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
+];
+ push @m,
+q[ $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp
$(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp
- $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLVENDORLIB) " >>.MM_tmp
+] unless $self->{NO_PACKLIST};
+
+ push @m,
+q[ $(NOECHO) $(ECHO_N) "$(INST_LIB) $(DESTINSTALLVENDORLIB) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_BIN) $(DESTINSTALLVENDORBIN) " >>.MM_tmp
$(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(DESTINSTALLSCRIPT) " >>.MM_tmp
@@ -1228,6 +1243,23 @@ pure_vendor_install ::
$(NOECHO) $(MOD_INSTALL) <.MM_tmp
$(NOECHO) $(RM_F) .MM_tmp
+];
+
+ push @m, q[
+# Ditto
+doc_perl_install ::
+ $(NOECHO) $(NOOP)
+
+# And again
+doc_site_install ::
+ $(NOECHO) $(NOOP)
+
+doc_vendor_install ::
+ $(NOECHO) $(NOOP)
+
+] if $self->{NO_PERLLOCAL};
+
+ push @m, q[
# Ditto
doc_perl_install ::
$(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{DESTINSTALLARCHLIB}, 'perllocal.pod').q["
@@ -1254,7 +1286,7 @@ doc_vendor_install ::
$(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{DESTINSTALLARCHLIB},'perllocal.pod').q[
$(NOECHO) $(RM_F) .MM_tmp
-];
+] unless $self->{NO_PERLLOCAL};
push @m, q[
uninstall :: uninstall_from_$(INSTALLDIRS)dirs
@@ -1347,7 +1379,7 @@ our %olbs; # needs to be localized
sub makeaperl {
my($self, %attribs) = @_;
- my($makefilename, $searchdirs, $static, $extra, $perlinc, $target, $tmpdir, $libperl) =
+ my($makefilename, $searchdirs, $static, $extra, $perlinc, $target, $tmpdir, $libperl) =
@attribs{qw(MAKE DIRS STAT EXTRA INCL TARGET TMP LIBPERL)};
my(@m);
push @m, "
@@ -1428,7 +1460,7 @@ $(MAP_TARGET) :: $(MAKE_APERL_FILE)
# We trust that what has been handed in as argument will be buildable
$static = [] unless $static;
@olbs{@{$static}} = (1) x @{$static};
-
+
$extra = [] unless $extra && ref $extra eq 'ARRAY';
# Sort the object libraries in inverse order of
# filespec length to try to insure that dependent extensions
@@ -1621,12 +1653,12 @@ sub prefixify {
$rprefix = vmspath($rprefix) if $rprefix;
$sprefix = vmspath($sprefix) if $sprefix;
- $default = vmsify($default)
+ $default = vmsify($default)
unless $default =~ /\[.*\]/;
(my $var_no_install = $var) =~ s/^install//;
- my $path = $self->{uc $var} ||
- $ExtUtils::MM_Unix::Config_Override{lc $var} ||
+ my $path = $self->{uc $var} ||
+ $ExtUtils::MM_Unix::Config_Override{lc $var} ||
$Config{lc $var} || $Config{lc $var_no_install};
if( !$path ) {
@@ -1764,7 +1796,7 @@ sub echo {
my $ql_opts = { allow_variables => $opts->{allow_variables} };
my @cmds = ("\$(NOECHO) $opencmd MMECHOFILE $file ");
- push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_, $ql_opts) }
+ push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_, $ql_opts) }
split /\n/, $text;
push @cmds, '$(NOECHO) Close MMECHOFILE';
return @cmds;
@@ -1931,7 +1963,7 @@ sub eliminate_macros {
my($head,$macro,$tail);
# perform m##g in scalar context so it acts as an iterator
- while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#gs) {
+ while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#gs) {
if (defined $self->{$2}) {
($head,$macro,$tail) = ($1,$2,$3);
if (ref $self->{$macro}) {
@@ -1987,7 +2019,7 @@ sub fixpath {
split /[ \t]+/, $path;
}
- if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) {
+ if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) {
if ($force_path or $path =~ /(?:DIR\)|\])\Z(?!\n)/) {
$fixedpath = vmspath($self->eliminate_macros($path));
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
index feeca59728b..648ba5401b6 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.66';
+our $VERSION = '6.98';
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 34499d30b1a..e056d2eacc5 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
@@ -17,7 +17,7 @@ See ExtUtils::MM_Unix for a documentation of the methods provided
there. This package overrides the implementation of these methods, not
the semantics.
-=cut
+=cut
use ExtUtils::MakeMaker::Config;
use File::Basename;
@@ -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.66';
+our $VERSION = '6.98';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -153,8 +153,8 @@ sub init_tools {
$self->{NOOP} ||= 'rem';
$self->{DEV_NULL} ||= '> NUL';
- $self->{FIXIN} ||= $self->{PERL_CORE} ?
- "\$(PERLRUN) $self->{PERL_SRC}/win32/bin/pl2bat.pl" :
+ $self->{FIXIN} ||= $self->{PERL_CORE} ?
+ "\$(PERLRUN) $self->{PERL_SRC}/win32/bin/pl2bat.pl" :
'pl2bat.bat';
$self->SUPER::init_tools;
@@ -251,7 +251,7 @@ sub constants {
#
# This has to come here before all the constants and not in
# platform_constants which is after constants.
- my $size = $self->{MAXLINELENGTH} || 64 * 1024;
+ my $size = $self->{MAXLINELENGTH} || 800000;
my $prefix = qq{
# Get dmake to read long commands like PM_TO_BLIB
MAXLINELENGTH = $size
@@ -349,7 +349,7 @@ INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP)
');
if ($GCC) {
- push(@m,
+ push(@m,
q{ }.$DLLTOOL.q{ --def $(EXPORT_LIST) --output-exp dll.exp
$(LD) -o $@ -Wl,--base-file -Wl,dll.base $(LDDLFLAGS) }.$ldfrom.q{ $(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) dll.exp
}.$DLLTOOL.q{ --def $(EXPORT_LIST) --base-file dll.base --output-exp dll.exp
@@ -513,7 +513,7 @@ sub quote_literal {
# $(MACRO)s in makefiles.
s{([<>|&^@!])}{^$1}g foreach grep { !/^"[^"]*"$/ } @text;
$text = join('', @text);
-
+
# dmake expands {{ to { and }} to }.
if( $self->is_make_type('dmake') ) {
$text =~ s/{/{{/g;
@@ -632,6 +632,6 @@ __END__
=back
-=cut
+=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
index 9b3b3b85ba8..9c7958058c2 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.66';
+our $VERSION = '6.98';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
@@ -62,7 +62,7 @@ sub xs_cpp {
';
}
-=item xs_o
+=item xs_o
The && problem.
@@ -116,7 +116,7 @@ Currently maintained by Michael G Schwern C<schwern@pobox.com>.
Send patches and ideas to C<makemaker@perl.org>.
-See http://www.makemaker.org.
+See https://metacpan.org/release/ExtUtils-MakeMaker.
=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
index 2f01658a545..37f0e9e29d1 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.66';
+our $VERSION = '6.98';
our @ISA = qw(ExtUtils::MM);
{
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index f271ef79282..d2fabf6b282 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.66';
+our $VERSION = '6.98';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
@@ -32,7 +32,7 @@ our @EXPORT = qw(&WriteMakefile &writeMakefile $Verbose &prompt);
our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
&WriteEmptyMakefile);
-# These will go away once the last of the Win32 & VMS specific code is
+# These will go away once the last of the Win32 & VMS specific code is
# purged.
my $Is_VMS = $^O eq 'VMS';
my $Is_Win32 = $^O eq 'MSWin32';
@@ -54,7 +54,7 @@ sub WriteMakefile {
my %att = @_;
_convert_compat_attrs(\%att);
-
+
_verify_att(\%att);
my $mm = MM->new(\%att);
@@ -87,6 +87,7 @@ my %Special_Sigs = (
MAN3PODS => 'HASH',
META_ADD => 'HASH',
META_MERGE => 'HASH',
+ OBJECT => ['ARRAY', ''],
PL_FILES => 'HASH',
PM => 'HASH',
PMLIBDIRS => 'ARRAY',
@@ -168,7 +169,7 @@ sub _is_of_type {
sub _format_att {
my $given = shift;
-
+
return $given eq '' ? "string/number"
: uc $given eq $given ? "$given reference"
: "$given object"
@@ -178,7 +179,7 @@ sub _format_att {
sub prompt ($;$) { ## no critic
my($mess, $def) = @_;
- confess("prompt function called without an argument")
+ confess("prompt function called without an argument")
unless defined $mess;
my $isa_tty = -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)) ;
@@ -197,7 +198,7 @@ sub prompt ($;$) { ## no critic
else {
$ans = <STDIN>;
if( defined $ans ) {
- chomp $ans;
+ $ans =~ s{\015?\012$}{};
}
else { # user hit ctrl-D
print "\n";
@@ -269,19 +270,19 @@ sub full_setup {
INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
- PERL_LIB PERL_ARCHLIB
- SITELIBEXP SITEARCHEXP
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
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 NO_MYMETA
+ MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA NO_PACKLIST NO_PERLLOCAL
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
- SIGN SKIP TEST_REQUIRES TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ PERL_SRC PERM_DIR PERM_RW PERM_RWX MAGICXS
+ PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC PPM_UNINSTALL_EXEC
+ PPM_INSTALL_SCRIPT PPM_UNINSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+ SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
@@ -300,11 +301,11 @@ sub full_setup {
# in Overridable we have subroutines that are used indirectly
- @MM_Sections =
+ @MM_Sections =
qw(
- post_initialize const_config constants platform_constants
- tool_autosplit tool_xsubpp tools_other
+ post_initialize const_config constants platform_constants
+ tool_autosplit tool_xsubpp tools_other
makemakerdflt
@@ -315,10 +316,10 @@ sub full_setup {
special_targets
c_o xs_c xs_o
- top_targets blibdirs linkext dlsyms dynamic dynamic_bs
+ top_targets blibdirs linkext dlsyms dynamic_bs dynamic
dynamic_lib static static_lib manifypods processPL
installbin subdirs
- clean_subdirs clean realclean_subdirs realclean
+ clean_subdirs clean realclean_subdirs realclean
metafile signature
dist_basics dist_core distdir dist_test dist_ci distmeta distsignature
install force perldepend makefile staticmake test ppd
@@ -329,7 +330,7 @@ sub full_setup {
push @Overridable, qw[
libscan makeaperl needs_linking
- subdir_x test_via_harness test_via_script
+ subdir_x test_via_harness test_via_script
init_VERSION init_dist init_INST init_INSTALL init_DEST init_dirscan
init_PM init_MANPODS init_xs init_PERL init_DIRFILESEP init_linker
@@ -349,10 +350,10 @@ sub full_setup {
@Recognized_Att_Keys{@MM_Sections} = (1) x @MM_Sections;
# we will use all these variables in the Makefile
- @Get_from_Config =
+ @Get_from_Config =
qw(
- ar cc cccdlflags ccdlflags dlext dlsrc exe_ext full_ar ld
- lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib
+ ar cc cccdlflags ccdlflags dlext dlsrc exe_ext full_ar ld
+ lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib
sitelibexp sitearchexp so
);
@@ -440,14 +441,27 @@ sub new {
check_hints($self);
+ if ( defined $self->{MIN_PERL_VERSION}
+ && $self->{MIN_PERL_VERSION} !~ /^v?[\d_\.]+$/ ) {
+ require version;
+ my $normal = eval {
+ local $SIG{__WARN__} = sub {
+ # simulate "use warnings FATAL => 'all'" for vintage perls
+ die @_;
+ };
+ version->parse( $self->{MIN_PERL_VERSION} )
+ };
+ $self->{MIN_PERL_VERSION} = $normal if defined $normal && !$@;
+ }
+
# Translate X.Y.Z to X.00Y00Z
if( defined $self->{MIN_PERL_VERSION} ) {
- $self->{MIN_PERL_VERSION} =~ s{ ^ (\d+) \. (\d+) \. (\d+) $ }
+ $self->{MIN_PERL_VERSION} =~ s{ ^v? (\d+) \. (\d+) \. (\d+) $ }
{sprintf "%d.%03d%03d", $1, $2, $3}ex;
}
my $perl_version_ok = eval {
- local $SIG{__WARN__} = sub {
+ local $SIG{__WARN__} = sub {
# simulate "use warnings FATAL => 'all'" for vintage perls
die @_;
};
@@ -481,16 +495,30 @@ END
foreach my $prereq (sort keys %$prereqs) {
my $required_version = $prereqs->{$prereq};
- my $installed_file = MM->_installed_file_for_module($prereq);
my $pr_version = 0;
- $pr_version = MM->parse_version($installed_file) if $installed_file;
- $pr_version = 0 if $pr_version eq 'undef';
+ my $installed_file;
+
+ if ( $prereq eq 'perl' ) {
+ if ( defined $required_version && $required_version =~ /^v?[\d_\.]+$/
+ || $required_version !~ /^v?[\d_\.]+$/ ) {
+ require version;
+ my $normal = eval { version->parse( $required_version ) };
+ $required_version = $normal if defined $normal;
+ }
+ $installed_file = $prereq;
+ $pr_version = $];
+ }
+ else {
+ $installed_file = MM->_installed_file_for_module($prereq);
+ $pr_version = MM->parse_version($installed_file) if $installed_file;
+ $pr_version = 0 if $pr_version eq 'undef';
+ }
# convert X.Y_Z alpha version #s to X.YZ for easier comparisons
$pr_version =~ s/(\d+)\.(\d+)_(\d+)/$1.$2$3/;
if (!$installed_file) {
- warn sprintf "Warning: prerequisite %s %s not found.\n",
+ warn sprintf "Warning: prerequisite %s %s not found.\n",
$prereq, $required_version
unless $self->{PREREQ_FATAL}
or $ENV{PERL_CORE};
@@ -499,7 +527,7 @@ END
}
elsif ($pr_version < $required_version ){
warn sprintf "Warning: prerequisite %s %s not found. We have %s.\n",
- $prereq, $required_version, ($pr_version || 'unknown version')
+ $prereq, $required_version, ($pr_version || 'unknown version')
unless $self->{PREREQ_FATAL}
or $ENV{PERL_CORE};
@@ -508,7 +536,7 @@ END
}
if (%unsatisfied && $self->{PREREQ_FATAL}){
- my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"}
+ my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"}
sort { $a cmp $b } keys %unsatisfied;
die <<"END";
MakeMaker FATAL: prerequisites not found.
@@ -517,7 +545,7 @@ $failedprereqs
Please install these modules first and rerun 'perl Makefile.PL'.
END
}
-
+
if (defined $self->{CONFIGURE}) {
if (ref $self->{CONFIGURE} eq 'CODE') {
%configure_att = %{&{$self->{CONFIGURE}}};
@@ -574,7 +602,7 @@ END
}
if ($self->{PARENT}) {
$self->{PARENT}->{CHILDREN}->{$newclass} = $self;
- foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE)) {
+ foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE LD OPTIMIZE)) {
if (exists $self->{PARENT}->{$opt}
and not exists $self->{$opt})
{
@@ -585,13 +613,28 @@ END
}
my @fm = grep /^FIRST_MAKEFILE=/, @ARGV;
parse_args($self,@fm) if @fm;
- } else {
- parse_args($self,split(' ', $ENV{PERL_MM_OPT} || ''),@ARGV);
+ }
+ else {
+ parse_args($self, _shellwords($ENV{PERL_MM_OPT} || ''),@ARGV);
}
+ # RT#91540 PREREQ_FATAL not recognized on command line
+ if (%unsatisfied && $self->{PREREQ_FATAL}){
+ my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"}
+ sort { $a cmp $b } keys %unsatisfied;
+ die <<"END";
+MakeMaker FATAL: prerequisites not found.
+$failedprereqs
+
+Please install these modules first and rerun 'perl Makefile.PL'.
+END
+ }
$self->{NAME} ||= $self->guess_name;
+ warn "Warning: NAME must be a package name\n"
+ unless $self->{NAME} =~ m!^[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*$!;
+
($self->{NAME_SYM} = $self->{NAME}) =~ s/\W+/_/g;
$self->init_MAKE;
@@ -799,6 +842,83 @@ END
return @result;
}
+# _shellwords and _parseline borrowed from Text::ParseWords
+sub _shellwords {
+ my (@lines) = @_;
+ my @allwords;
+
+ foreach my $line (@lines) {
+ $line =~ s/^\s+//;
+ my @words = _parse_line('\s+', 0, $line);
+ pop @words if (@words and !defined $words[-1]);
+ return() unless (@words || !length($line));
+ push(@allwords, @words);
+ }
+ return(@allwords);
+}
+
+sub _parse_line {
+ my($delimiter, $keep, $line) = @_;
+ my($word, @pieces);
+
+ no warnings 'uninitialized'; # we will be testing undef strings
+
+ while (length($line)) {
+ # This pattern is optimised to be stack conservative on older perls.
+ # Do not refactor without being careful and testing it on very long strings.
+ # See Perl bug #42980 for an example of a stack busting input.
+ $line =~ s/^
+ (?:
+ # double quoted string
+ (") # $quote
+ ((?>[^\\"]*(?:\\.[^\\"]*)*))" # $quoted
+ | # --OR--
+ # singe quoted string
+ (') # $quote
+ ((?>[^\\']*(?:\\.[^\\']*)*))' # $quoted
+ | # --OR--
+ # unquoted string
+ ( # $unquoted
+ (?:\\.|[^\\"'])*?
+ )
+ # followed by
+ ( # $delim
+ \Z(?!\n) # EOL
+ | # --OR--
+ (?-x:$delimiter) # delimiter
+ | # --OR--
+ (?!^)(?=["']) # a quote
+ )
+ )//xs or return; # extended layout
+ my ($quote, $quoted, $unquoted, $delim) = (($1 ? ($1,$2) : ($3,$4)), $5, $6);
+
+
+ return() unless( defined($quote) || length($unquoted) || length($delim));
+
+ if ($keep) {
+ $quoted = "$quote$quoted$quote";
+ }
+ else {
+ $unquoted =~ s/\\(.)/$1/sg;
+ if (defined $quote) {
+ $quoted =~ s/\\(.)/$1/sg if ($quote eq '"');
+ #$quoted =~ s/\\([\\'])/$1/g if ( $PERL_SINGLE_QUOTE && $quote eq "'");
+ }
+ }
+ $word .= substr($line, 0, 0); # leave results tainted
+ $word .= defined $quote ? $quoted : $unquoted;
+
+ if (length($delim)) {
+ push(@pieces, $word);
+ push(@pieces, $delim) if ($keep eq 'delimiters');
+ undef $word;
+ }
+ if (!length($line)) {
+ push(@pieces, $word);
+ }
+ }
+ return(@pieces);
+}
sub check_manifest {
print "Checking if your kit is complete...\n";
@@ -941,9 +1061,9 @@ sub mv_all_methods {
# still trying to reduce the list to some reasonable minimum --
# because I want to make it easier for the user. A.K.
- local $SIG{__WARN__} = sub {
+ local $SIG{__WARN__} = sub {
# can't use 'no warnings redefined', 5.6 only
- warn @_ unless $_[0] =~ /^Subroutine .* redefined/
+ warn @_ unless $_[0] =~ /^Subroutine .* redefined/
};
foreach my $method (@Overridable) {
@@ -978,7 +1098,7 @@ sub mv_all_methods {
# We have to clean out %INC also, because the current directory is
# changed frequently and Graham Barr prefers to get his version
- # out of a History.pl file which is "required" so woudn't get
+ # out of a History.pl file which is "required" so wouldn't get
# loaded again in another extension requiring a History.pl
# With perl5.002_01 the deletion of entries in %INC caused Tk-b11
@@ -1023,7 +1143,20 @@ sub skipcheck {
sub flush {
my $self = shift;
+ # This needs a bit more work for more wacky OSen
+ my $type = 'Unix-style';
+ if ( $self->os_flavor_is('Win32') ) {
+ my $make = $self->make;
+ $make = +( File::Spec->splitpath( $make ) )[-1];
+ $make =~ s!\.exe$!!i;
+ $type = $make . '-style';
+ }
+ elsif ( $Is_VMS ) {
+ $type = $Config{make} . '-style';
+ }
+
my $finalname = $self->{MAKEFILE};
+ print "Generating a $type $finalname\n";
print "Writing $finalname for $self->{NAME}\n";
unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ());
@@ -1127,7 +1260,7 @@ sub clean_versions {
for my $module (keys %$reqs) {
my $version = $reqs->{$module};
- if( !defined $version or $version !~ /^[\d_\.]+$/ ) {
+ if( !defined $version or $version !~ /^v?[\d_\.]+$/ ) {
carp "Unparsable version '$version' for prerequisite $module";
$reqs->{$module} = 0;
}
@@ -1237,6 +1370,11 @@ C<TEST_VERBOSE> variable to true.
make test TEST_VERBOSE=1
+If you want to run particular test files, set the C<TEST_FILES> variable.
+It is possible to use globbing with this mechanism.
+
+ make test TEST_FILES='t/foobar.t t/dagobah*.t'
+
=head2 make testdb
A useful variation of the above is the target C<testdb>. It runs the
@@ -1291,7 +1429,7 @@ searched by perl, run
perl -le 'print join $/, @INC'
Sometimes older versions of the module you're installing live in other
-directories in @INC. Because Perl loads the first version of a module it
+directories in @INC. Because Perl loads the first version of a module it
finds, not the newest, you might accidentally get one of these older
versions even after installing a brand new version. To delete I<all other
versions of the module you're installing> (not simply older ones) set the
@@ -1379,8 +1517,8 @@ relatives, then the defaults for INSTALLPRIVLIB, INSTALLARCHLIB,
INSTALLSCRIPT, etc. will be appropriate, and this incantation will be
the best:
- perl Makefile.PL;
- make;
+ perl Makefile.PL;
+ make;
make test
make install
@@ -1520,7 +1658,11 @@ recommends it (or you know what you're doing).
=head2 Using Attributes and Parameters
The following attributes may be specified as arguments to WriteMakefile()
-or as NAME=VALUE pairs on the command line.
+or as NAME=VALUE pairs on the command line. Attributes that became
+available with later versions of MakeMaker are indicated.
+
+In order to maintain portability of attributes with older versions of
+MakeMaker you may want to use L<App::EUMM::Upgrade> with your C<Makefile.PL>.
=over 2
@@ -1553,10 +1695,13 @@ located in the C<x86> directory relative to the PPD itself.
=item BUILD_REQUIRES
+Available in version 6.5503 and above.
+
A hash of modules that are needed to build your module but not run it.
-This will go into the C<build_requires> field of your CPAN Meta file.
-(F<META.yml> or F<META.json>).
+This will go into the C<build_requires> field of your F<META.yml> and the C<build> of the C<prereqs> field of your F<META.json>.
+
+Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>> if this attribute is not specified.
The format is the same as PREREQ_PM.
@@ -1600,13 +1745,14 @@ be determined by some evaluation method.
=item CONFIGURE_REQUIRES
+Available in version 6.52 and above.
+
A hash of modules that are required to run Makefile.PL itself, but not
to run your distribution.
-This will go into the C<configure_requires> field of your CPAN Meta file
-(F<META.yml> or F<META.json>)
+This will go into the C<configure_requires> field of your F<META.yml> and the C<configure> of the C<prereqs> field of your F<META.json>.
-Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>>
+Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>> if this attribute is not specified.
The format is the same as PREREQ_PM.
@@ -1633,7 +1779,7 @@ in ext/SDBM_File
=item DISTNAME
-A safe filename for the package.
+A safe filename for the package.
Defaults to NAME below but with :: replaced with -.
@@ -1652,6 +1798,18 @@ For example, version 1.04 of Foo::Bar becomes Foo-Bar-1.04.
On some OS's where . has special meaning VERSION_SYM may be used in
place of VERSION.
+=item DLEXT
+
+Specifies the extension of the module's loadable object. For example:
+
+ DLEXT => 'unusual_ext', # Default value is $Config{so}
+
+NOTE: When using this option to alter the extension of a module's
+loadable object, it is also necessary that the module's pm file
+specifies the same change:
+
+ local $DynaLoader::dl_dlext = 'unusual_ext';
+
=item DL_FUNCS
Hashref of symbol names for routines to be made available as universal
@@ -1812,7 +1970,7 @@ directory if INSTALLDIRS is set to site (default).
=item INSTALLSITEMAN3DIR
These directories get the man pages at 'make install' time if
-INSTALLDIRS=site (default). Defaults to
+INSTALLDIRS=site (default). Defaults to
$(SITEPREFIX)/man/man$(MAN*EXT).
If set to 'none', no man pages will be installed.
@@ -1936,10 +2094,12 @@ MakeMaker will turn it into an array with one element.
=item LICENSE
-The licensing terms of your distribution. Generally it's "perl" for the
+Available in version 6.31 and above.
+
+The licensing terms of your distribution. Generally it's "perl_5" for the
same license as Perl itself.
-See L<Module::Build::API> for the list of options.
+See L<CPAN::Meta::Spec> for the list of options.
Defaults to "unknown".
@@ -1949,6 +2109,10 @@ Defaults to "unknown".
config.sh). Should only be used to force static linking (also see
linkext below).
+=item MAGICXS
+
+When this is set to C<1>, C<OBJECT> will be automagically derived from C<XS>.
+
=item MAKE
Variant of make you intend to run the generated Makefile with. This
@@ -2019,6 +2183,8 @@ may hold a name for that binary. Defaults to perl
=item META_MERGE
+Available in version 6.46 and above.
+
A hashref of items to add to the CPAN Meta file (F<META.yml> or
F<META.json>).
@@ -2029,8 +2195,30 @@ own. META_MERGE will merge its value with the default.
Unless you want to override the defaults, prefer META_MERGE so as to
get the advantage of any future defaults.
+By default CPAN Meta specification C<1.4> is used. In order to use
+CPAN Meta specification C<2.0>, indicate with C<meta-spec> the version
+you want to use.
+
+ META_MERGE => {
+
+ "meta-spec" => { version => 2 },
+
+ resources => {
+
+ repository => {
+ type => 'git',
+ url => 'git://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker.git',
+ web => 'https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker',
+ },
+
+ },
+
+ },
+
=item MIN_PERL_VERSION
+Available in version 6.48 and above.
+
The minimum required version of Perl for this distribution.
Either the 5.006001 or the 5.6.1 format is acceptable.
@@ -2089,6 +2277,18 @@ meta-data files during 'perl Makefile.PL'.
Defaults to false.
+=item NO_PACKLIST
+
+When true, suppresses the writing of C<packlist> files for installs.
+
+Defaults to false.
+
+=item NO_PERLLOCAL
+
+When true, suppresses the appending of installations to C<perllocal>.
+
+Defaults to false.
+
=item NO_VC
In general, any generated Makefile checks for the current version of
@@ -2099,8 +2299,8 @@ Makefile.PL, use it interactively instead.
=item OBJECT
List of object files, defaults to '$(BASEEXT)$(OBJ_EXT)', but can be a long
-string containing all object files, e.g. "tkpBind.o
-tkpButton.o tkpCanvas.o"
+string or an array containing all object files, e.g. "tkpBind.o
+tkpButton.o tkpCanvas.o" or ["tkpBind.o", "tkpButton.o", "tkpCanvas.o"]
(Where BASEEXT is the last component of NAME, and OBJ_EXT is $Config{obj_ext}.)
@@ -2245,7 +2445,7 @@ is there for backwards compatibility (and it's somewhat DWIM).
Hashref of .pm files and *.pl files to be installed. e.g.
- {'name_of_file.pm' => '$(INST_LIBDIR)/install_as.pm'}
+ {'name_of_file.pm' => '$(INST_LIB)/install_as.pm'}
By default this will include *.pm and *.pl and the files found in
the PMLIBDIRS directories. Defining PM in the
@@ -2305,6 +2505,15 @@ Name of the executable used to run C<PPM_INSTALL_SCRIPT> below. (e.g. perl)
Name of the script that gets executed by the Perl Package Manager after
the installation of a package.
+=item PPM_UNINSTALL_EXEC
+
+Name of the executable used to run C<PPM_UNINSTALL_SCRIPT> below. (e.g. perl)
+
+=item PPM_UNINSTALL_SCRIPT
+
+Name of the script that gets executed by the Perl Package Manager before
+the removal of a package.
+
=item PREFIX
This overrides all the default install locations. Man pages,
@@ -2325,6 +2534,9 @@ 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.
+For dependencies that are required in order to run C<Makefile.PL>,
+see C<CONFIGURE_REQUIRES>.
+
Module installation tools have ways of resolving unmet dependencies but
to do that they need a F<Makefile>. Using C<PREREQ_FATAL> breaks this.
That's bad.
@@ -2342,8 +2554,7 @@ A hash of modules that are needed to run your module. The keys are
the module names ie. Test::More, and the minimum version is the
value. If the required version number is 0 any version will do.
-This will go into the C<requires> field of your CPAN Meta file
-(F<META.yml> or F<META.json>).
+This will go into the C<requires> field of your F<META.yml> and the C<runtime> of the C<prereqs> field of your F<META.json>.
PREREQ_PM => {
# Require Test::More at least 0.47
@@ -2412,11 +2623,12 @@ if you really need it.
=item TEST_REQUIRES
+Available in version 6.64 and above.
+
A hash of modules that are needed to test your module but not run or
build it.
-This will go into the C<test_requires> field of your CPAN Meta file.
-(F<META.yml> or F<META.json>).
+This will go into the C<build_requires> field of your F<META.yml> and the C<test> of the C<prereqs> field of your F<META.json>.
The format is the same as PREREQ_PM.
@@ -2470,6 +2682,8 @@ but these will fail:
local $VERSION = '1.02';
local $FOO::VERSION = '1.30';
+(Putting C<my> or C<local> on the preceding line will work o.k.)
+
"Version strings" are incompatible and should not be used.
# Bad
@@ -2478,14 +2692,12 @@ but these will fail:
L<version> objects are fine. As of MakeMaker 6.35 version.pm will be
automatically loaded, but you must declare the dependency on version.pm.
-For compatibility with older MakeMaker you should load on the same line
+For compatibility with older MakeMaker you should load on the same line
as $VERSION is declared.
# All on one line
use version; our $VERSION = qv(1.2.3);
-(Putting C<my> or C<local> on the preceding line will work o.k.)
-
The file named in VERSION_FROM is not added as a dependency to
Makefile. This is not really correct, but it would be a major pain
during development to have to rewrite the Makefile for any smallish
@@ -2519,8 +2731,9 @@ that purpose.
=item XSPROTOARG
-May be set to an empty string, which is identical to C<-prototypes>, or
-C<-noprototypes>. See the xsubpp documentation for details. MakeMaker
+May be set to C<-protoypes>, C<-noprototypes> or the empty string. The
+empty string is equivalent to the xsubpp default, or C<-noprototypes>.
+See the xsubpp documentation for details. MakeMaker
defaults to the empty string.
=item XS_VERSION
@@ -2591,8 +2804,16 @@ Anything put here will be passed to MY::postamble() if you have one.
=item test
+Specify the targets for testing.
+
{TESTS => 't/*.t'}
+C<RECURSIVE_TEST_FILES> can be used to include all directories
+recursively under C<t> that contain C<.t> files. It will be ignored if
+you provide your own C<TESTS> attribute, defaults to false.
+
+ {RECURSIVE_TEST_FILES=>1}
+
=item tool_autosplit
{MAXLEN => 8}
@@ -2707,6 +2928,11 @@ does a realclean first and then the distcheck. Note that this is not
needed to build a new distribution as long as you are sure that the
MANIFEST file is ok.
+=item make veryclean
+
+does a realclean first and then removes backup files such as C<*~>,
+C<*.bak>, C<*.old> and C<*.orig>
+
=item make manifest
rewrites the MANIFEST file, adding all remaining files found (See
@@ -2860,7 +3086,7 @@ function returns the $value selected by the user.
If C<prompt()> detects that it is not running interactively and there
is nothing on STDIN or if the PERL_MM_USE_DEFAULT environment variable
is set to true, the $default will be used without prompting. This
-prevents automated processes from blocking on user input.
+prevents automated processes from blocking on user input.
If no $default is provided an empty string will be used instead.
@@ -2874,9 +3100,11 @@ If no $default is provided an empty string will be used instead.
=item PERL_MM_OPT
Command line options used by C<MakeMaker-E<gt>new()>, and thus by
-C<WriteMakefile()>. The string is split on whitespace, and the result
+C<WriteMakefile()>. The string is split as the shell would, and the result
is processed before any actual command line arguments are processed.
+ PERL_MM_OPT='CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble -lwobble"'
+
=item PERL_MM_USE_DEFAULT
If set to a true value then MakeMaker's prompt function will
@@ -2916,13 +3144,13 @@ Send patches and ideas to C<makemaker@perl.org>.
Send bug reports via http://rt.cpan.org/. Please send your
generated Makefile along with your report.
-For more up-to-date information, see L<http://www.makemaker.org>.
+For more up-to-date information, see L<https://metacpan.org/release/ExtUtils-MakeMaker>.
Repository available at L<https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker>.
=head1 LICENSE
-This program is free software; you can redistribute it and/or
+This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
See L<http://www.perl.com/perl/misc/Artistic.html>
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
index 6f5e541b810..5c703f08080 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.66';
+our $VERSION = '6.98';
use Config ();
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
new file mode 100644
index 00000000000..e5acb6a0706
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -0,0 +1,464 @@
+package ExtUtils::MakeMaker::FAQ;
+
+our $VERSION = '6.98';
+
+1;
+__END__
+
+=head1 NAME
+
+ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker
+
+=head1 DESCRIPTION
+
+FAQs, tricks and tips for C<ExtUtils::MakeMaker>.
+
+
+=head2 Module Installation
+
+=over 4
+
+=item How do I install a module into my home directory?
+
+If you're not the Perl administrator you probably don't have
+permission to install a module to its default location. Then you
+should install it for your own use into your home directory like so:
+
+ # Non-unix folks, replace ~ with /path/to/your/home/dir
+ perl Makefile.PL INSTALL_BASE=~
+
+This will put modules into F<~/lib/perl5>, man pages into F<~/man> and
+programs into F<~/bin>.
+
+To ensure your Perl programs can see these newly installed modules,
+set your C<PERL5LIB> environment variable to F<~/lib/perl5> or tell
+each of your programs to look in that directory with the following:
+
+ use lib "$ENV{HOME}/lib/perl5";
+
+or if $ENV{HOME} isn't set and you don't want to set it for some
+reason, do it the long way.
+
+ use lib "/path/to/your/home/dir/lib/perl5";
+
+
+=item How do I get MakeMaker and Module::Build to install to the same place?
+
+Module::Build, as of 0.28, supports two ways to install to the same
+location as MakeMaker.
+
+We highly recommend the install_base method, its the simplest and most
+closely approximates the expected behavior of an installation prefix.
+
+1) Use INSTALL_BASE / C<--install_base>
+
+MakeMaker (as of 6.31) and Module::Build (as of 0.28) both can install
+to the same locations using the "install_base" concept. See
+L<ExtUtils::MakeMaker/INSTALL_BASE> for details. To get MM and MB to
+install to the same location simply set INSTALL_BASE in MM and
+C<--install_base> in MB to the same location.
+
+ perl Makefile.PL INSTALL_BASE=/whatever
+ perl Build.PL --install_base /whatever
+
+This works most like other language's behavior when you specify a
+prefix. We recommend this method.
+
+2) Use PREFIX / C<--prefix>
+
+Module::Build 0.28 added support for C<--prefix> which works like
+MakeMaker's PREFIX.
+
+ perl Makefile.PL PREFIX=/whatever
+ perl Build.PL --prefix /whatever
+
+We highly discourage this method. It should only be used if you know
+what you're doing and specifically need the PREFIX behavior. The
+PREFIX algorithm is complicated and focused on matching the system
+installation.
+
+=item How do I keep from installing man pages?
+
+Recent versions of MakeMaker will only install man pages on Unix-like
+operating systems.
+
+For an individual module:
+
+ perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none
+
+If you want to suppress man page installation for all modules you have
+to reconfigure Perl and tell it 'none' when it asks where to install
+man pages.
+
+
+=item How do I use a module without installing it?
+
+Two ways. One is to build the module normally...
+
+ perl Makefile.PL
+ make
+ make test
+
+...and then set the PERL5LIB environment variable to point at the
+blib/lib and blib/arch directories.
+
+The other is to install the module in a temporary location.
+
+ perl Makefile.PL INSTALL_BASE=~/tmp
+ make
+ make test
+ make install
+
+And then set PERL5LIB to F<~/tmp/lib/perl5>. This works well when you
+have multiple modules to work with. It also ensures that the module
+goes through its full installation process which may modify it.
+
+=item PREFIX vs INSTALL_BASE from Module::Build::Cookbook
+
+The behavior of PREFIX is complicated and depends closely on how your
+Perl is configured. The resulting installation locations will vary from
+machine to machine and even different installations of Perl on the same machine.
+Because of this, its difficult to document where prefix will place your modules.
+
+In contrast, INSTALL_BASE has predictable, easy to explain installation locations.
+Now that Module::Build and MakeMaker both have INSTALL_BASE there is little reason
+to use PREFIX other than to preserve your existing installation locations. If you
+are starting a fresh Perl installation we encourage you to use INSTALL_BASE. If
+you have an existing installation installed via PREFIX, consider moving it to an
+installation structure matching INSTALL_BASE and using that instead.
+
+=back
+
+=head2 Common errors and problems
+
+=over 4
+
+=item "No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'"
+
+Just what it says, you're missing that file. MakeMaker uses it to
+determine if perl has been rebuilt since the Makefile was made. It's
+a bit of a bug that it halts installation.
+
+Some operating systems don't ship the CORE directory with their base
+perl install. To solve the problem, you likely need to install a perl
+development package such as perl-devel (CentOS, Fedora and other
+Redhat systems) or perl (Ubuntu and other Debian systems).
+
+=back
+
+=head2 Philosophy and History
+
+=over 4
+
+=item Why not just use <insert other build config tool here>?
+
+Why did MakeMaker reinvent the build configuration wheel? Why not
+just use autoconf or automake or ppm or Ant or ...
+
+There are many reasons, but the major one is cross-platform
+compatibility.
+
+Perl is one of the most ported pieces of software ever. It works on
+operating systems I've never even heard of (see perlport for details).
+It needs a build tool that can work on all those platforms and with
+any wacky C compilers and linkers they might have.
+
+No such build tool exists. Even make itself has wildly different
+dialects. So we have to build our own.
+
+
+=item What is Module::Build and how does it relate to MakeMaker?
+
+Module::Build is a project by Ken Williams to supplant MakeMaker.
+Its primary advantages are:
+
+=over 8
+
+=item * pure perl. no make, no shell commands
+
+=item * easier to customize
+
+=item * cleaner internals
+
+=item * less cruft
+
+=back
+
+Module::Build was long the official heir apparent to MakeMaker. The rate of
+both its development and adoption has slowed in recent years, though, and it is
+unclear what the future holds for it. That said, Module::Build set the stage
+for I<something> to become the heir to MakeMaker. MakeMaker's maintainers have
+long said that it is a dead end and should be kept functioning, but not
+extended with new features. It's complicated enough as it is!
+
+=back
+
+
+=head2 Module Writing
+
+=over 4
+
+=item How do I keep my $VERSION up to date without resetting it manually?
+
+Often you want to manually set the $VERSION in the main module
+distribution because this is the version that everybody sees on CPAN
+and maybe you want to customize it a bit. But for all the other
+modules in your dist, $VERSION is really just bookkeeping and all that's
+important is it goes up every time the module is changed. Doing this
+by hand is a pain and you often forget.
+
+Simplest way to do it automatically is to use your version control
+system's revision number (you are using version control, right?).
+
+In CVS, RCS and SVN you use $Revision$ (see the documentation of your
+version control system for details). Every time the file is checked
+in the $Revision$ will be updated, updating your $VERSION.
+
+SVN uses a simple integer for $Revision$ so you can adapt it for your
+$VERSION like so:
+
+ ($VERSION) = q$Revision$ =~ /(\d+)/;
+
+In CVS and RCS version 1.9 is followed by 1.10. Since CPAN compares
+version numbers numerically we use a sprintf() to convert 1.9 to 1.009
+and 1.10 to 1.010 which compare properly.
+
+ $VERSION = sprintf "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/g;
+
+If branches are involved (ie. $Revision: 1.5.3.4$) it's a little more
+complicated.
+
+ # must be all on one line or MakeMaker will get confused.
+ $VERSION = do { my @r = (q$Revision$ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r };
+
+In SVN, $Revision$ should be the same for every file in the project so
+they would all have the same $VERSION. CVS and RCS have a different
+$Revision$ per file so each file will have a different $VERSION.
+Distributed version control systems, such as SVK, may have a different
+$Revision$ based on who checks out the file, leading to a different $VERSION
+on each machine! Finally, some distributed version control systems, such
+as darcs, have no concept of revision number at all.
+
+
+=item What's this F<META.yml> thing and how did it get in my F<MANIFEST>?!
+
+F<META.yml> is a module meta-data file pioneered by Module::Build and
+automatically generated as part of the 'distdir' target (and thus
+'dist'). See L<ExtUtils::MakeMaker/"Module Meta-Data">.
+
+To shut off its generation, pass the C<NO_META> flag to C<WriteMakefile()>.
+
+
+=item How do I delete everything not in my F<MANIFEST>?
+
+Some folks are surprised that C<make distclean> does not delete
+everything not listed in their MANIFEST (thus making a clean
+distribution) but only tells them what they need to delete. This is
+done because it is considered too dangerous. While developing your
+module you might write a new file, not add it to the MANIFEST, then
+run a C<distclean> and be sad because your new work was deleted.
+
+If you really want to do this, you can use
+C<ExtUtils::Manifest::manifind()> to read the MANIFEST and File::Find
+to delete the files. But you have to be careful. Here's a script to
+do that. Use at your own risk. Have fun blowing holes in your foot.
+
+ #!/usr/bin/perl -w
+
+ use strict;
+
+ use File::Spec;
+ use File::Find;
+ use ExtUtils::Manifest qw(maniread);
+
+ my %manifest = map {( $_ => 1 )}
+ grep { File::Spec->canonpath($_) }
+ keys %{ maniread() };
+
+ if( !keys %manifest ) {
+ 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;
+ },
+ no_chdir => 1
+ },
+ "."
+ );
+
+
+=item Which tar should I use on Windows?
+
+We recommend ptar from Archive::Tar not older than 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>
+
+
+=back
+
+=head2 XS
+
+=over 4
+
+=item How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
+
+XS code is very sensitive to the module version number and will
+complain if the version number in your Perl module doesn't match. If
+you change your module's version # without rerunning Makefile.PL the old
+version number will remain in the Makefile, causing the XS code to be built
+with the wrong number.
+
+To avoid this, you can force the Makefile to be rebuilt whenever you
+change the module containing the version number by adding this to your
+WriteMakefile() arguments.
+
+ depend => { '$(FIRST_MAKEFILE)' => '$(VERSION_FROM)' }
+
+
+=item How do I make two or more XS files coexist in the same directory?
+
+Sometimes you need to have two and more XS files in the same package.
+One way to go is to put them into separate directories, but sometimes
+this is not the most suitable solution. The following technique allows
+you to put two (and more) XS files in the same directory.
+
+Let's assume that we have a package C<Cool::Foo>, which includes
+C<Cool::Foo> and C<Cool::Bar> modules each having a separate XS
+file. First we use the following I<Makefile.PL>:
+
+ use ExtUtils::MakeMaker;
+
+ WriteMakefile(
+ NAME => 'Cool::Foo',
+ VERSION_FROM => 'Foo.pm',
+ OBJECT => q/$(O_FILES)/,
+ # ... other attrs ...
+ );
+
+Notice the C<OBJECT> attribute. MakeMaker generates the following
+variables in I<Makefile>:
+
+ # Handy lists of source code files:
+ XS_FILES= Bar.xs \
+ Foo.xs
+ C_FILES = Bar.c \
+ Foo.c
+ O_FILES = Bar.o \
+ Foo.o
+
+Therefore we can use the C<O_FILES> variable to tell MakeMaker to use
+these objects into the shared library.
+
+That's pretty much it. Now write I<Foo.pm> and I<Foo.xs>, I<Bar.pm>
+and I<Bar.xs>, where I<Foo.pm> bootstraps the shared library and
+I<Bar.pm> simply loading I<Foo.pm>.
+
+The only issue left is to how to bootstrap I<Bar.xs>. This is done
+from I<Foo.xs>:
+
+ MODULE = Cool::Foo PACKAGE = Cool::Foo
+
+ BOOT:
+ # boot the second XS file
+ boot_Cool__Bar(aTHX_ cv);
+
+If you have more than two files, this is the place where you should
+boot extra XS files from.
+
+The following four files sum up all the details discussed so far.
+
+ Foo.pm:
+ -------
+ package Cool::Foo;
+
+ require DynaLoader;
+
+ our @ISA = qw(DynaLoader);
+ our $VERSION = '0.01';
+ bootstrap Cool::Foo $VERSION;
+
+ 1;
+
+ Bar.pm:
+ -------
+ package Cool::Bar;
+
+ use Cool::Foo; # bootstraps Bar.xs
+
+ 1;
+
+ Foo.xs:
+ -------
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "XSUB.h"
+
+ MODULE = Cool::Foo PACKAGE = Cool::Foo
+
+ BOOT:
+ # boot the second XS file
+ boot_Cool__Bar(aTHX_ cv);
+
+ MODULE = Cool::Foo PACKAGE = Cool::Foo PREFIX = cool_foo_
+
+ void
+ cool_foo_perl_rules()
+
+ CODE:
+ fprintf(stderr, "Cool::Foo says: Perl Rules\n");
+
+ Bar.xs:
+ -------
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "XSUB.h"
+
+ MODULE = Cool::Bar PACKAGE = Cool::Bar PREFIX = cool_bar_
+
+ void
+ cool_bar_perl_rules()
+
+ CODE:
+ fprintf(stderr, "Cool::Bar says: Perl Rules\n");
+
+And of course a very basic test:
+
+ t/cool.t:
+ --------
+ use Test;
+ BEGIN { plan tests => 1 };
+ use Cool::Foo;
+ use Cool::Bar;
+ Cool::Foo::perl_rules();
+ Cool::Bar::perl_rules();
+ ok 1;
+
+This tip has been brought to you by Nick Ing-Simmons and Stas Bekman.
+
+=back
+
+=head1 PATCHING
+
+If you have a question you'd like to see added to the FAQ (whether or
+not you have the answer) please send it to makemaker@perl.org.
+
+=head1 AUTHOR
+
+The denizens of makemaker@perl.org.
+
+=head1 SEE ALSO
+
+L<ExtUtils::MakeMaker>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
new file mode 100644
index 00000000000..5d43d40c39f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -0,0 +1,180 @@
+package ExtUtils::MakeMaker::Tutorial;
+
+our $VERSION = '6.98';
+
+
+=head1 NAME
+
+ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
+
+=head1 SYNOPSIS
+
+ use ExtUtils::MakeMaker;
+
+ WriteMakefile(
+ NAME => 'Your::Module',
+ VERSION_FROM => 'lib/Your/Module.pm'
+ );
+
+=head1 DESCRIPTION
+
+This is a short tutorial on writing a simple module with MakeMaker.
+It's really not that hard.
+
+
+=head2 The Mantra
+
+MakeMaker modules are installed using this simple mantra
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+There are lots more commands and options, but the above will do it.
+
+
+=head2 The Layout
+
+The basic files in a module look something like this.
+
+ Makefile.PL
+ MANIFEST
+ lib/Your/Module.pm
+
+That's all that's strictly necessary. There's additional files you might
+want:
+
+ lib/Your/Other/Module.pm
+ t/some_test.t
+ t/some_other_test.t
+ Changes
+ README
+ INSTALL
+ MANIFEST.SKIP
+ bin/some_program
+
+=over 4
+
+=item Makefile.PL
+
+When you run Makefile.PL, it makes a Makefile. That's the whole point of
+MakeMaker. The Makefile.PL is a simple program which loads
+ExtUtils::MakeMaker and runs the WriteMakefile() function to generate a
+Makefile.
+
+Here's an example of what you need for a simple module:
+
+ use ExtUtils::MakeMaker;
+
+ WriteMakefile(
+ NAME => 'Your::Module',
+ VERSION_FROM => 'lib/Your/Module.pm'
+ );
+
+NAME is the top-level namespace of your module. VERSION_FROM is the file
+which contains the $VERSION variable for the entire distribution. Typically
+this is the same as your top-level module.
+
+
+=item MANIFEST
+
+A simple listing of all the files in your distribution.
+
+ Makefile.PL
+ MANIFEST
+ lib/Your/Module.pm
+
+File paths in a MANIFEST always use Unix conventions (ie. /) even if you're
+not on Unix.
+
+You can write this by hand or generate it with 'make manifest'.
+
+See L<ExtUtils::Manifest> for more details.
+
+
+=item lib/
+
+This is the directory where the .pm and .pod files you wish to have
+installed go. They are laid out according to namespace. So Foo::Bar
+is F<lib/Foo/Bar.pm>.
+
+
+=item t/
+
+Tests for your modules go here. Each test filename ends with a .t.
+So F<t/foo.t>/ 'make test' will run these tests. The directory is flat,
+you cannot, for example, have t/foo/bar.t run by 'make test'.
+
+Tests are run from the top level of your distribution. So inside a test
+you would refer to ./lib to enter the lib directory, for example.
+
+
+=item Changes
+
+A log of changes you've made to this module. The layout is free-form.
+Here's an example:
+
+ 1.01 Fri Apr 11 00:21:25 PDT 2003
+ - thing() does some stuff now
+ - fixed the wiggy bug in withit()
+
+ 1.00 Mon Apr 7 00:57:15 PDT 2003
+ - "Rain of Frogs" now supported
+
+
+=item README
+
+A short description of your module, what it does, why someone would use it
+and its limitations. CPAN automatically pulls your README file out of
+the archive and makes it available to CPAN users, it is the first thing
+they will read to decide if your module is right for them.
+
+
+=item INSTALL
+
+Instructions on how to install your module along with any dependencies.
+Suggested information to include here:
+
+ any extra modules required for use
+ the minimum version of Perl required
+ if only works on certain operating systems
+
+
+=item MANIFEST.SKIP
+
+A file full of regular expressions to exclude when using 'make
+manifest' to generate the MANIFEST. These regular expressions
+are checked against each file path found in the distribution (so
+you're matching against "t/foo.t" not "foo.t").
+
+Here's a sample:
+
+ ~$ # ignore emacs and vim backup files
+ .bak$ # ignore manual backups
+ \# # ignore CVS old revision files and emacs temp files
+
+Since # can be used for comments, # must be escaped.
+
+MakeMaker comes with a default MANIFEST.SKIP to avoid things like
+version control directories and backup files. Specifying your own
+will override this default.
+
+
+=item bin/
+
+
+=back
+
+=head1 SEE ALSO
+
+L<perlmodstyle> gives stylistic help writing a module.
+
+L<perlnewmod> gives more information about how to write a module.
+
+There are modules to help you through the process of writing a module:
+L<ExtUtils::ModuleMaker>, L<Module::Install>, L<PAR>
+
+=cut
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
index 04bdb6d7e38..cede3180f8a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
@@ -1,18 +1,41 @@
-# This File keeps the contents of miniperlmain.c.
-#
-# It was generated automatically by minimod.PL from the contents
-# of miniperlmain.c. Don't edit this file!
-#
-# ANY CHANGES MADE HERE WILL BE LOST!
-#
-
-
+#!./perl -w
package ExtUtils::Miniperl;
+use strict;
require Exporter;
+use ExtUtils::Embed 1.31, qw(xsi_header xsi_protos xsi_body);
+
+use vars qw($VERSION @ISA @EXPORT);
+
@ISA = qw(Exporter);
-@EXPORT = qw(&writemain);
+@EXPORT = qw(writemain);
+$VERSION = '1.01';
+
+# blead will run this with miniperl, hence we can't use autodie or File::Temp
+my $temp;
-$head= <<'EOF!HEAD';
+END {
+ return if !defined $temp || !-e $temp;
+ unlink $temp or warn "Can't unlink '$temp': $!";
+}
+
+sub writemain{
+ my ($fh, $real);
+
+ if (ref $_[0] eq 'SCALAR') {
+ $real = ${+shift};
+ $temp = $real;
+ $temp =~ s/(?:.c)?\z/.new/;
+ open $fh, '>', $temp
+ or die "Can't open '$temp' for writing: $!";
+ } elsif (ref $_[0]) {
+ $fh = shift;
+ } else {
+ $fh = \*STDOUT;
+ }
+
+ my(@exts) = @_;
+
+ printf $fh <<'EOF!HEAD', xsi_header();
/* miniperlmain.c
*
* Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,
@@ -49,12 +72,8 @@ $head= <<'EOF!HEAD';
#endif
#endif
-
-#include "EXTERN.h"
#define PERL_IN_MINIPERLMAIN_C
-#include "perl.h"
-#include "XSUB.h"
-
+%s
static void xs_init (pTHX);
static PerlInterpreter *my_perl;
@@ -76,12 +95,13 @@ int
main(int argc, char **argv, char **env)
#endif
{
- dVAR;
int exitstatus, i;
#ifdef PERL_GLOBAL_STRUCT
- struct perl_vars *plvarsp = init_global_struct();
+ struct perl_vars *my_vars = init_global_struct();
# ifdef PERL_GLOBAL_STRUCT_PRIVATE
- my_vars = my_plvarsp = plvarsp;
+ int veto;
+
+ my_plvarsp = my_vars;
# endif
#endif /* PERL_GLOBAL_STRUCT */
#ifndef NO_ENV_ARRAY_IN_MAIN
@@ -157,7 +177,17 @@ main(int argc, char **argv, char **env)
PERL_SYS_TERM();
#ifdef PERL_GLOBAL_STRUCT
- free_global_struct(plvarsp);
+# ifdef PERL_GLOBAL_STRUCT_PRIVATE
+ veto = my_plvarsp->Gveto_cleanup;
+# endif
+ free_global_struct(my_vars);
+# ifdef PERL_GLOBAL_STRUCT_PRIVATE
+ if (!veto)
+ my_plvarsp = NULL;
+ /* Remember, functions registered with atexit() can run after this point,
+ and may access "global" variables, and hence end up calling
+ Perl_GetVarsPrivate() */
+#endif
#endif /* PERL_GLOBAL_STRUCT */
exit(exitstatus);
@@ -167,78 +197,18 @@ main(int argc, char **argv, char **env)
/* Register any extra external extensions */
EOF!HEAD
-$tail=<<'EOF!TAIL';
+
+ print $fh xsi_protos(@exts), <<'EOT', xsi_body(@exts), "}\n";
static void
xs_init(pTHX)
{
- PERL_UNUSED_CONTEXT;
-}
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 et:
- */
-EOF!TAIL
-
-sub writemain{
- my(@exts) = @_;
+EOT
- my($pname);
- my($dl) = canon('/','DynaLoader');
- print $head;
-
- foreach $_ (@exts){
- my($pname) = canon('/', $_);
- my($mname, $cname);
- ($mname = $pname) =~ s!/!::!g;
- ($cname = $pname) =~ s!/!__!g;
- print "EXTERN_C void boot_${cname} (pTHX_ CV* cv);\n";
+ if ($real) {
+ close $fh or die "Can't close '$temp': $!";
+ rename $temp, $real or die "Can't rename '$temp' to '$real': $!";
}
-
- my ($tail1,$tail2,$tail3) = ( $tail =~ /\A(.*{\s*\n)(.*\n)(\s*\}.*)\Z/s );
-
- print $tail1;
- print "\tstatic const char file[] = __FILE__;\n";
- print "\tdXSUB_SYS;\n" if $] > 5.002;
- print $tail2;
-
- foreach $_ (@exts){
- my($pname) = canon('/', $_);
- my($mname, $cname, $ccode);
- ($mname = $pname) =~ s!/!::!g;
- ($cname = $pname) =~ s!/!__!g;
- print "\t{\n";
- if ($pname eq $dl){
- # Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'!
- # boot_DynaLoader is called directly in DynaLoader.pm
- $ccode = "\t/* DynaLoader is a special case */\n
-\tnewXS(\"${mname}::boot_${cname}\", boot_${cname}, file);\n";
- print $ccode unless $SEEN{$ccode}++;
- } else {
- $ccode = "\tnewXS(\"${mname}::bootstrap\", boot_${cname}, file);\n";
- print $ccode unless $SEEN{$ccode}++;
- }
- print "\t}\n";
- }
- print $tail3;
-}
-
-sub canon{
- my($as, @ext) = @_;
- foreach(@ext){
- # might be X::Y or lib/auto/X/Y/Y.a
- next if s!::!/!g;
- s:^(lib|ext)/(auto/)?::;
- s:/\w+\.\w+$::;
- }
- grep(s:/:$as:, @ext) if ($as ne '/');
- @ext;
}
1;
@@ -246,28 +216,29 @@ __END__
=head1 NAME
-ExtUtils::Miniperl, writemain - write the C code for perlmain.c
+ExtUtils::Miniperl - write the C code for perlmain.c
=head1 SYNOPSIS
-C<use ExtUtils::Miniperl;>
-
-C<writemain(@directories);>
+ use ExtUtils::Miniperl;
+ writemain(@directories);
+ # or
+ writemain($fh, @directories);
+ # or
+ writemain(\$filename, @directories);
=head1 DESCRIPTION
-This whole module is written when perl itself is built from a script
-called minimod.PL. In case you want to patch it, please patch
-minimod.PL in the perl distribution instead.
-
-writemain() takes an argument list of directories containing archive
+C<writemain()> takes an argument list of directories containing archive
libraries that relate to perl modules and should be linked into a new
-perl binary. It writes to STDOUT a corresponding perlmain.c file that
+perl binary. It writes a corresponding F<perlmain.c> file that
is a plain C file containing all the bootstrap code to make the
-modules associated with the libraries available from within perl.
+If the first argument to C<writemain()> is a reference to a scalar it is
+used as the filename to open for ouput. Any other reference is used as
+the filehandle to write to. Otherwise output defaults to C<STDOUT>.
The typical usage is from within a Makefile generated by
-ExtUtils::MakeMaker. So under normal circumstances you won't have to
+L<ExtUtils::MakeMaker>. So under normal circumstances you won't have to
deal with this module directly.
=head1 SEE ALSO
@@ -276,3 +247,10 @@ L<ExtUtils::MakeMaker>
=cut
+# Local variables:
+# c-indentation-style: bsd
+# c-basic-offset: 4
+# indent-tabs-mode: nil
+# End:
+#
+# ex: set ts=8 sts=4 sw=4 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
index f71655d6355..bb85e85cec2 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.66';
+our $VERSION = '6.98';
require Exporter;
our @ISA = ('Exporter');
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index a99d19840a4..176faf17529 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.66';
+our $VERSION = '6.98';
sub Mksymlists {
my(%spec) = @_;
@@ -86,7 +86,7 @@ sub _write_os2 {
my $distname = $data->{DISTNAME} || $data->{NAME};
$distname = "Distribution $distname";
my $patchlevel = " pl$Config{perl_patchlevel}" || '';
- my $comment = sprintf "Perl (v%s%s%s) module %s",
+ my $comment = sprintf "Perl (v%s%s%s) module %s",
$Config::Config{version}, $threaded, $patchlevel, $data->{NAME};
chomp $comment;
if ($data->{INSTALLDIRS} and $data->{INSTALLDIRS} eq 'perl') {
@@ -197,7 +197,7 @@ sub _write_vms {
if ($isvax) { print $opt "UNIVERSAL=$safe\n" }
else { print $opt "SYMBOL_VECTOR=($safe=DATA)\n"; }
}
-
+
close $opt;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
index a268e300d3c..8323725c644 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
@@ -5,7 +5,7 @@ use strict;
use Carp qw();
use Config;
use vars qw($VERSION $Relocations);
-$VERSION = '1.46';
+$VERSION = '1.48';
$VERSION = eval $VERSION;
# Used for generating filehandle globs. IO::File might not be available!
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
index d50b5010cd0..25d3175ec33 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
@@ -4,28 +4,27 @@ use strict;
use 5.006001;
use Cwd;
use Config;
-use Exporter;
+use Exporter 'import';
use File::Basename;
use File::Spec;
use Symbol;
our $VERSION;
BEGIN {
- $VERSION = '3.18';
+ $VERSION = '3.24';
}
use ExtUtils::ParseXS::Constants $VERSION;
use ExtUtils::ParseXS::CountLines $VERSION;
use ExtUtils::ParseXS::Utilities $VERSION;
+use ExtUtils::ParseXS::Eval $VERSION;
$VERSION = eval $VERSION if $VERSION =~ /_/;
use ExtUtils::ParseXS::Utilities qw(
standard_typemap_locations
trim_whitespace
- tidy_type
C_string
valid_proto_string
process_typemaps
- make_targetable
map_type
standard_XS_defs
assign_func_args
@@ -40,26 +39,53 @@ use ExtUtils::ParseXS::Utilities qw(
report_typemap_failure
);
-our @ISA = qw(Exporter);
our @EXPORT_OK = qw(
process_file
report_error_count
);
-# The scalars in the line below remain as 'our' variables because pulling
-# them into $self led to build problems. In most cases, strings being
-# 'eval'-ed contain the variables' names hard-coded.
-our (
- $Package, $func_name, $Full_func_name, $pname, $ALIAS,
-);
+##############################
+# A number of "constants"
+
+our ($C_group_rex, $C_arg);
+# Group in C (no support for comments or literals)
+$C_group_rex = qr/ [({\[]
+ (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
+ [)}\]] /x;
+# Chunk in C without comma at toplevel (no comments):
+$C_arg = qr/ (?: (?> [^()\[\]{},"']+ )
+ | (??{ $C_group_rex })
+ | " (?: (?> [^\\"]+ )
+ | \\.
+ )* " # String literal
+ | ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
+ )* /xs;
+
+# "impossible" keyword (multiple newline)
+my $END = "!End!\n\n";
+# Match an XS Keyword
+my $BLOCK_regexp = '\s*(' . $ExtUtils::ParseXS::Constants::XSKeywordsAlternation . "|$END)\\s*:";
-our $self = bless {} => __PACKAGE__;
-sub process_file {
- # Allow for $package->process_file(%hash) in the future
- my ($pkg, %options) = @_ % 2 ? @_ : (__PACKAGE__, @_);
+sub new {
+ return bless {} => shift;
+}
+
+our $Singleton = __PACKAGE__->new;
+sub process_file {
+ my $self;
+ # Allow for $package->process_file(%hash), $obj->process_file, and process_file()
+ if (@_ % 2) {
+ my $invocant = shift;
+ $self = ref($invocant) ? $invocant : $invocant->new;
+ }
+ else {
+ $self = $Singleton;
+ }
+
+ my %options = @_;
$self->{ProtoUsed} = exists $options{prototypes};
# Set defaults.
@@ -92,15 +118,15 @@ sub process_file {
}
@{ $self->{XSStack} } = ({type => 'none'});
$self->{InitFileCode} = [ @ExtUtils::ParseXS::Constants::InitFileCode ];
- $self->{Overload} = 0;
- $self->{errors} = 0;
+ $self->{Overload} = 0; # bool
+ $self->{errors} = 0; # count
$self->{Fallback} = '&PL_sv_undef';
# Most of the 1500 lines below uses these globals. We'll have to
# clean this up sometime, probably. For now, we just pull them out
# of %args. -Ken
- $self->{hiertype} = $args{hiertype};
+ $self->{RetainCplusplusHierarchicalTypes} = $args{hiertype};
$self->{WantPrototypes} = $args{prototypes};
$self->{WantVersionChk} = $args{versioncheck};
$self->{WantLineNumbers} = $args{linenumbers};
@@ -148,39 +174,11 @@ sub process_file {
$self->{typemap} = process_typemaps( $args{typemap}, $pwd );
- my $END = "!End!\n\n"; # "impossible" keyword (multiple newline)
-
- # Match an XS keyword
- $self->{BLOCK_re} = '\s*(' .
- join('|' => @ExtUtils::ParseXS::Constants::XSKeywords) .
- "|$END)\\s*:";
-
- our ($C_group_rex, $C_arg);
- # Group in C (no support for comments or literals)
- $C_group_rex = qr/ [({\[]
- (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
- [)}\]] /x;
- # Chunk in C without comma at toplevel (no comments):
- $C_arg = qr/ (?: (?> [^()\[\]{},"']+ )
- | (??{ $C_group_rex })
- | " (?: (?> [^\\"]+ )
- | \\.
- )* " # String literal
- | ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
- )* /xs;
-
- # Since at this point we're ready to begin printing to the output file and
- # reading from the input file, I want to get as much data as possible into
- # the proto-object $self. That means assigning to $self and elements of
- # %args referenced below this point.
- # HOWEVER: This resulted in an error when I tried:
- # $args{'s'} ---> $self->{s}.
- # Use of uninitialized value in quotemeta at
- # .../blib/lib/ExtUtils/ParseXS.pm line 733
-
+ # Move more settings from parameters to object
foreach my $datum ( qw| argtypes except inout optimize | ) {
$self->{$datum} = $args{$datum};
}
+ $self->{strip_c_func_prefix} = $args{s};
# Identify the version of xsubpp used
print <<EOM;
@@ -202,7 +200,7 @@ EOM
# is a basename'd $args{filename} due to chdir above)
open($self->{FH}, '<', $self->{filename}) or die "cannot open $self->{filename}: $!\n";
- firstmodule:
+ FIRSTMODULE:
while (readline($self->{FH})) {
if (/^=/) {
my $podstartline = $.;
@@ -224,7 +222,7 @@ EOM
print("#if 0\n \"Skipped embedded POD.\"\n#endif\n");
printf("#line %d \"%s\"\n", $. + 1, escape_file_for_line_directive($self->{filepathname}))
if $self->{WantLineNumbers};
- next firstmodule
+ next FIRSTMODULE;
}
} while (readline($self->{FH}));
@@ -234,7 +232,7 @@ EOM
die ("Error: Unterminated pod in $self->{filename}, line $podstartline\n")
unless $self->{lastline};
}
- last if ($Package, $self->{Prefix}) =
+ last if ($self->{Package}, $self->{Prefix}) =
/^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/;
print $_;
@@ -294,14 +292,14 @@ EOM
$self->{$member} = {};
}
$self->{proto_arg} = [];
- $self->{processing_arg_with_types} = undef;
- $self->{proto_in_this_xsub} = undef;
- $self->{scope_in_this_xsub} = undef;
- $self->{interface} = undef;
+ $self->{processing_arg_with_types} = 0; # bool
+ $self->{proto_in_this_xsub} = 0; # counter & bool
+ $self->{scope_in_this_xsub} = 0; # counter & bool
+ $self->{interface} = 0; # bool
$self->{interface_macro} = 'XSINTERFACE_FUNC';
$self->{interface_macro_set} = 'XSINTERFACE_FUNC_SET';
- $self->{ProtoThisXSUB} = $self->{WantPrototypes};
- $self->{ScopeThisXSUB} = 0;
+ $self->{ProtoThisXSUB} = $self->{WantPrototypes}; # states 0 (none), 1 (yes), 2 (empty prototype)
+ $self->{ScopeThisXSUB} = 0; # bool
my $xsreturn = 0;
@@ -323,7 +321,7 @@ EOM
}
# extract return type, function name and arguments
- ($self->{ret_type}) = tidy_type($_);
+ ($self->{ret_type}) = ExtUtils::Typemaps::tidy_type($_);
my $RETVAL_no_return = 1 if $self->{ret_type} =~ s/^NO_OUTPUT\s+//;
# Allow one-line ANSI-like declaration
@@ -343,25 +341,25 @@ EOM
unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s;
my ($class, $orig_args);
- ($class, $func_name, $orig_args) = ($1, $2, $3);
+ ($class, $self->{func_name}, $orig_args) = ($1, $2, $3);
$class = "$4 $class" if $4;
- ($pname = $func_name) =~ s/^($self->{Prefix})?/$self->{Packprefix}/;
+ ($self->{pname} = $self->{func_name}) =~ s/^($self->{Prefix})?/$self->{Packprefix}/;
my $clean_func_name;
- ($clean_func_name = $func_name) =~ s/^$self->{Prefix}//;
- $Full_func_name = "$self->{Packid}_$clean_func_name";
+ ($clean_func_name = $self->{func_name}) =~ s/^$self->{Prefix}//;
+ $self->{Full_func_name} = "$self->{Packid}_$clean_func_name";
if ($Is_VMS) {
- $Full_func_name = $SymSet->addsym($Full_func_name);
+ $self->{Full_func_name} = $SymSet->addsym( $self->{Full_func_name} );
}
# Check for duplicate function definition
for my $tmp (@{ $self->{XSStack} }) {
- next unless defined $tmp->{functions}{$Full_func_name};
+ next unless defined $tmp->{functions}{ $self->{Full_func_name} };
Warn( $self, "Warning: duplicate function definition '$clean_func_name' detected");
last;
}
- $self->{XSStack}->[$XSS_work_idx]{functions}{$Full_func_name}++;
- %{ $self->{XsubAliases} } = ();
- %{ $self->{XsubAliasValues} } = ();
+ $self->{XSStack}->[$XSS_work_idx]{functions}{ $self->{Full_func_name} }++;
+ delete $self->{XsubAliases};
+ delete $self->{XsubAliasValues};
%{ $self->{Interfaces} } = ();
@{ $self->{Attributes} } = ();
$self->{DoSetMagic} = 1;
@@ -374,8 +372,10 @@ EOM
my $only_C_inlist_ref = {}; # Not in the signature of Perl function
if ($self->{argtypes} and $orig_args =~ /\S/) {
my $args = "$orig_args ,";
+ use re 'eval';
if ($args =~ /^( (??{ $C_arg }) , )* $ /x) {
@args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg);
+ no re 'eval';
for ( @args ) {
s/^\s+//;
s/\s+$//;
@@ -416,6 +416,7 @@ EOM
}
}
else {
+ no re 'eval';
@args = split(/\s*,\s*/, $orig_args);
Warn( $self, "Warning: cannot parse argument list '$orig_args', fallback to split");
}
@@ -435,7 +436,7 @@ EOM
}
}
if (defined($class)) {
- my $arg0 = ((defined($static) or $func_name eq 'new')
+ my $arg0 = ((defined($static) or $self->{func_name} eq 'new')
? "CLASS" : "THIS");
unshift(@args, $arg0);
}
@@ -481,20 +482,7 @@ EOM
my $EXPLICIT_RETURN = ($CODE &&
("@{ $self->{line} }" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
- # The $ALIAS which follows is only explicitly called within the scope of
- # process_file(). In principle, it ought to be a lexical, i.e., 'my
- # $ALIAS' like the other nearby variables. However, implementing that
- # change produced a slight difference in the resulting .c output in at
- # least two distributions: B/BD/BDFOY/Crypt-Rijndael and
- # G/GF/GFUJI/Hash-FieldHash. The difference is, arguably, an improvement
- # in the resulting C code. Example:
- # 388c388
- # < GvNAME(CvGV(cv)),
- # ---
- # > "Crypt::Rijndael::encrypt",
- # But at this point we're committed to generating the *same* C code that
- # the current version of ParseXS.pm does. So we're declaring it as 'our'.
- $ALIAS = grep(/^\s*ALIAS\s*:/, @{ $self->{line} });
+ $self->{ALIAS} = grep(/^\s*ALIAS\s*:/, @{ $self->{line} });
my $INTERFACE = grep(/^\s*INTERFACE\s*:/, @{ $self->{line} });
@@ -505,12 +493,12 @@ EOM
# print function header
print Q(<<"EOF");
#$externC
-#XS_EUPXS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
-#XS_EUPXS(XS_${Full_func_name})
+#XS_EUPXS(XS_$self->{Full_func_name}); /* prototype to pass -Wmissing-prototypes */
+#XS_EUPXS(XS_$self->{Full_func_name})
#[[
# dVAR; dXSARGS;
EOF
- print Q(<<"EOF") if $ALIAS;
+ print Q(<<"EOF") if $self->{ALIAS};
# dXSI32;
EOF
print Q(<<"EOF") if $INTERFACE;
@@ -580,10 +568,10 @@ EOF
EOF
if (!$self->{thisdone} && defined($class)) {
- if (defined($static) or $func_name eq 'new') {
+ if (defined($static) or $self->{func_name} eq 'new') {
print "\tchar *";
$self->{var_types}->{"CLASS"} = "char *";
- generate_init( {
+ $self->generate_init( {
type => "char *",
num => 1,
var => "CLASS",
@@ -593,7 +581,7 @@ EOF
else {
print "\t$class *";
$self->{var_types}->{"THIS"} = "$class *";
- generate_init( {
+ $self->generate_init( {
type => "$class *",
num => 1,
var => "THIS",
@@ -608,7 +596,7 @@ EOF
my ($wantRETVAL);
# do code
if (/^\s*NOT_IMPLEMENTED_YET/) {
- print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n";
+ print "\n\tPerl_croak(aTHX_ \"$self->{pname}: not implemented yet\");\n";
$_ = '';
}
else {
@@ -644,7 +632,7 @@ EOF
$self->{have_CODE_with_RETVAL} = 1;
}
}
- elsif (defined($class) and $func_name eq "DESTROY") {
+ elsif (defined($class) and $self->{func_name} eq "DESTROY") {
print "\n\t";
print "delete THIS;\n";
}
@@ -655,25 +643,26 @@ EOF
$wantRETVAL = 1;
}
if (defined($static)) {
- if ($func_name eq 'new') {
- $func_name = "$class";
+ if ($self->{func_name} eq 'new') {
+ $self->{func_name} = "$class";
}
else {
print "${class}::";
}
}
elsif (defined($class)) {
- if ($func_name eq 'new') {
- $func_name .= " $class";
+ if ($self->{func_name} eq 'new') {
+ $self->{func_name} .= " $class";
}
else {
print "THIS->";
}
}
- $func_name =~ s/^\Q$args{'s'}//
- if exists $args{'s'};
- $func_name = 'XSFUNCTION' if $self->{interface};
- print "$func_name($self->{func_args});\n";
+ my $strip = $self->{strip_c_func_prefix};
+ $self->{func_name} =~ s/^\Q$strip//
+ if defined $strip;
+ $self->{func_name} = 'XSFUNCTION' if $self->{interface};
+ print "$self->{func_name}($self->{func_args});\n";
}
}
@@ -691,7 +680,7 @@ EOF
$self->Warn("Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT' section.");
}
- generate_output( {
+ $self->generate_output( {
type => $self->{var_types}->{$_},
num => $self->{args_match}->{$_},
var => $_,
@@ -706,40 +695,34 @@ EOF
}
elsif ($self->{gotRETVAL} || $wantRETVAL) {
my $outputmap = $self->{typemap}->get_outputmap( ctype => $self->{ret_type} );
- my $t = $self->{optimize} && $outputmap && $outputmap->targetable;
- # Although the '$var' declared in the next line is never explicitly
- # used within this 'elsif' block, commenting it out leads to
- # disaster, starting with the first 'eval qq' inside the 'elsif' block
- # below.
- # It appears that this is related to the fact that at this point the
- # value of $t is a reference to an array whose [2] element includes
- # '$var' as a substring:
- # <i> <> <(IV)$var>
+ my $trgt = $self->{optimize} && $outputmap && $outputmap->targetable;
my $var = 'RETVAL';
my $type = $self->{ret_type};
- if ($t and not $t->{with_size} and $t->{type} eq 'p') {
- # PUSHp corresponds to setpvn. Treat setpv directly
- my $what = eval qq("$t->{what}");
- warn $@ if $@;
-
- print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
- $prepush_done = 1;
- }
- elsif ($t) {
- my $what = eval qq("$t->{what}");
- warn $@ if $@;
-
- my $tsize = $t->{what_size};
- $tsize = '' unless defined $tsize;
- $tsize = eval qq("$tsize");
- warn $@ if $@;
- print "\tXSprePUSH; PUSH$t->{type}($what$tsize);\n";
- $prepush_done = 1;
+ if ($trgt) {
+ my $what = $self->eval_output_typemap_code(
+ qq("$trgt->{what}"),
+ {var => $var, type => $self->{ret_type}}
+ );
+ if (not $trgt->{with_size} and $trgt->{type} eq 'p') { # sv_setpv
+ # PUSHp corresponds to sv_setpvn. Treat sv_setpv directly
+ print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
+ $prepush_done = 1;
+ }
+ else {
+ my $tsize = $trgt->{what_size};
+ $tsize = '' unless defined $tsize;
+ $tsize = $self->eval_output_typemap_code(
+ qq("$tsize"),
+ {var => $var, type => $self->{ret_type}}
+ );
+ print "\tXSprePUSH; PUSH$trgt->{type}($what$tsize);\n";
+ $prepush_done = 1;
+ }
}
else {
# RETVAL almost never needs SvSETMAGIC()
- generate_output( {
+ $self->generate_output( {
type => $self->{ret_type},
num => 0,
var => 'RETVAL',
@@ -755,7 +738,7 @@ EOF
print "\tXSprePUSH;" if $c and not $prepush_done;
print "\tEXTEND(SP,$c);\n" if $c;
$xsreturn += $c;
- generate_output( {
+ $self->generate_output( {
type => $self->{var_types}->{$_},
num => $num++,
var => $_,
@@ -790,7 +773,7 @@ EOF
next;
}
last if $_ eq "$END:";
- $self->death(/^$self->{BLOCK_re}/o ? "Misplaced '$1:'" : "Junk at end of function ($_)");
+ $self->death(/^$BLOCK_regexp/o ? "Misplaced '$1:'" : "Junk at end of function ($_)");
}
print Q(<<"EOF") if $self->{except};
@@ -842,38 +825,40 @@ EOF
$self->{proto} = qq{, "$self->{proto}"};
}
- if (%{ $self->{XsubAliases} }) {
- $self->{XsubAliases}->{$pname} = 0
- unless defined $self->{XsubAliases}->{$pname};
- while ( my ($xname, $value) = each %{ $self->{XsubAliases} }) {
+ if ($self->{XsubAliases} and keys %{ $self->{XsubAliases} }) {
+ $self->{XsubAliases}->{ $self->{pname} } = 0
+ unless defined $self->{XsubAliases}->{ $self->{pname} };
+ foreach my $xname (sort keys %{ $self->{XsubAliases} }) {
+ my $value = $self->{XsubAliases}{$xname};
push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
-# cv = $self->{newXS}(\"$xname\", XS_$Full_func_name, file$self->{proto});
+# cv = $self->{newXS}(\"$xname\", XS_$self->{Full_func_name}, file$self->{proto});
# XSANY.any_i32 = $value;
EOF
}
}
elsif (@{ $self->{Attributes} }) {
push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
-# cv = $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});
-# apply_attrs_string("$Package", cv, "@{ $self->{Attributes} }", 0);
+# cv = $self->{newXS}(\"$self->{pname}\", XS_$self->{Full_func_name}, file$self->{proto});
+# apply_attrs_string("$self->{Package}", cv, "@{ $self->{Attributes} }", 0);
EOF
}
elsif ($self->{interface}) {
- while ( my ($yname, $value) = each %{ $self->{Interfaces} }) {
- $yname = "$Package\::$yname" unless $yname =~ /::/;
+ foreach my $yname (sort keys %{ $self->{Interfaces} }) {
+ my $value = $self->{Interfaces}{$yname};
+ $yname = "$self->{Package}\::$yname" unless $yname =~ /::/;
push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
-# cv = $self->{newXS}(\"$yname\", XS_$Full_func_name, file$self->{proto});
+# cv = $self->{newXS}(\"$yname\", XS_$self->{Full_func_name}, file$self->{proto});
# $self->{interface_macro_set}(cv,$value);
EOF
}
}
elsif($self->{newXS} eq 'newXS'){ # work around P5NCI's empty newXS macro
push(@{ $self->{InitFileCode} },
- " $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
+ " $self->{newXS}(\"$self->{pname}\", XS_$self->{Full_func_name}, file$self->{proto});\n");
}
else {
push(@{ $self->{InitFileCode} },
- " (void)$self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
+ " (void)$self->{newXS}(\"$self->{pname}\", XS_$self->{Full_func_name}, file$self->{proto});\n");
}
} # END 'PARAGRAPH' 'while' loop
@@ -888,10 +873,10 @@ EOF
#
EOF
unshift(@{ $self->{InitFileCode} }, <<"MAKE_FETCHMETHOD_WORK");
- /* Making a sub named "${Package}::()" allows the package */
+ /* Making a sub named "$self->{Package}::()" allows the package */
/* to be findable via fetchmethod(), and causes */
- /* overload::Overloaded("${Package}") to return true. */
- (void)$self->{newXS}("${Package}::()", XS_$self->{Packid}_nil, file$self->{proto});
+ /* overload::Overloaded("$self->{Package}") to return true. */
+ (void)$self->{newXS}("$self->{Package}::()", XS_$self->{Packid}_nil, file$self->{proto});
MAKE_FETCHMETHOD_WORK
}
@@ -916,9 +901,9 @@ EOF
#Under 5.8.x and lower, newXS is declared in proto.h as expecting a non-const
#file name argument. If the wrong qualifier is used, it causes breakage with
#C++ compilers and warnings with recent gcc.
- #-Wall: if there is no $Full_func_name there are no xsubs in this .xs
+ #-Wall: if there is no $self->{Full_func_name} there are no xsubs in this .xs
#so 'file' is unused
- print Q(<<"EOF") if $Full_func_name;
+ print Q(<<"EOF") if $self->{Full_func_name};
##if (PERL_REVISION == 5 && PERL_VERSION < 9)
# char* file = __FILE__;
##else
@@ -941,7 +926,7 @@ EOF
#
EOF
- print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
+ print Q(<<"EOF") if defined $self->{XsubAliases} or defined $self->{interfaces};
# {
# CV * cv;
#
@@ -956,14 +941,14 @@ EOF
# /* mentioned above, and looks in the SV* slot of it for */
# /* the "fallback" status. */
# sv_setsv(
-# get_sv( "${Package}::()", TRUE ),
+# get_sv( "$self->{Package}::()", TRUE ),
# $self->{Fallback}
# );
EOF
print @{ $self->{InitFileCode} };
- print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
+ print Q(<<"EOF") if defined $self->{XsubAliases} or defined $self->{interfaces};
# }
EOF
@@ -998,7 +983,14 @@ EOF
return 1;
}
-sub report_error_count { $self->{errors} }
+sub report_error_count {
+ if (@_) {
+ return $_[0]->{errors}||0;
+ }
+ else {
+ return $Singleton->{errors}||0;
+ }
+}
# Input: ($self, $_, @{ $self->{line} }) == unparsed input.
# Output: ($_, @{ $self->{line} }) == (rest of line, following lines).
@@ -1020,7 +1012,7 @@ sub print_section {
print("#line ", $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} } -1], " \"",
escape_file_for_line_directive($self->{filepathname}), "\"\n")
if $self->{WantLineNumbers} && !/^\s*#\s*line\b/ && !/^#if XSubPPtmp/;
- for (; defined($_) && !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; defined($_) && !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
print "$_\n";
$consumed_code .= "$_\n";
}
@@ -1037,7 +1029,7 @@ sub merge_section {
$_ = shift(@{ $self->{line} });
}
- for (; defined($_) && !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; defined($_) && !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
$in .= "$_\n";
}
chomp $in;
@@ -1067,7 +1059,7 @@ sub CASE_handler {
sub INPUT_handler {
my $self = shift;
$_ = shift;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
last if /^\s*NOT_IMPLEMENTED_YET/;
next unless /\S/; # skip blank lines
@@ -1136,7 +1128,7 @@ sub INPUT_handler {
}
}
elsif ($var_init =~ /\S/) {
- output_init( {
+ $self->output_init( {
type => $var_type,
num => $self->{var_num},
var => $var_name,
@@ -1145,7 +1137,7 @@ sub INPUT_handler {
} );
}
elsif ($self->{var_num}) {
- generate_init( {
+ $self->generate_init( {
type => $var_type,
num => $self->{var_num},
var => $var_name,
@@ -1163,7 +1155,7 @@ sub OUTPUT_handler {
$self->{have_OUTPUT} = 1;
$_ = shift;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
if (/^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/) {
$self->{DoSetMagic} = ($1 eq "ENABLE" ? 1 : 0);
@@ -1188,7 +1180,7 @@ sub OUTPUT_handler {
print "\tSvSETMAGIC(ST(" , $self->{var_num} - 1 , "));\n" if $self->{DoSetMagic};
}
else {
- generate_output( {
+ $self->generate_output( {
type => $self->{var_types}->{$outarg},
num => $self->{var_num},
var => $outarg,
@@ -1289,7 +1281,6 @@ sub get_aliases {
Warn( $self, "Warning: Aliases '$orig_alias' and '$self->{XsubAliasValues}->{$value}' have identical values")
if $self->{XsubAliasValues}->{$value};
- $self->{xsubaliases} = 1;
$self->{XsubAliases}->{$alias} = $value;
$self->{XsubAliasValues}->{$value} = $orig_alias;
}
@@ -1302,7 +1293,7 @@ sub ATTRS_handler {
my $self = shift;
$_ = shift;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
trim_whitespace($_);
push @{ $self->{Attributes} }, $_;
@@ -1313,7 +1304,7 @@ sub ALIAS_handler {
my $self = shift;
$_ = shift;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
trim_whitespace($_);
$self->get_aliases($_) if $_;
@@ -1324,26 +1315,27 @@ sub OVERLOAD_handler {
my $self = shift;
$_ = shift;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
trim_whitespace($_);
while ( s/^\s*([\w:"\\)\+\-\*\/\%\<\>\.\&\|\^\!\~\{\}\=]+)\s*//) {
$self->{Overload} = 1 unless $self->{Overload};
- my $overload = "$Package\::(".$1;
+ my $overload = "$self->{Package}\::(".$1;
push(@{ $self->{InitFileCode} },
- " (void)$self->{newXS}(\"$overload\", XS_$Full_func_name, file$self->{proto});\n");
+ " (void)$self->{newXS}(\"$overload\", XS_$self->{Full_func_name}, file$self->{proto});\n");
}
}
}
sub FALLBACK_handler {
- my $self = shift;
- $_ = shift;
+ my ($self, $setting) = @_;
# the rest of the current line should contain either TRUE,
# FALSE or UNDEF
- trim_whitespace($_);
+ trim_whitespace($setting);
+ $setting = uc($setting);
+
my %map = (
TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
@@ -1351,42 +1343,39 @@ sub FALLBACK_handler {
);
# check for valid FALLBACK value
- $self->death("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{uc $_};
+ $self->death("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{$setting};
- $self->{Fallback} = $map{uc $_};
+ $self->{Fallback} = $map{$setting};
}
sub REQUIRE_handler {
- my $self = shift;
# the rest of the current line should contain a version number
- my $Ver = shift;
+ my ($self, $ver) = @_;
- trim_whitespace($Ver);
+ trim_whitespace($ver);
$self->death("Error: REQUIRE expects a version number")
- unless $Ver;
+ unless $ver;
# check that the version number is of the form n.n
- $self->death("Error: REQUIRE: expected a number, got '$Ver'")
- unless $Ver =~ /^\d+(\.\d*)?/;
+ $self->death("Error: REQUIRE: expected a number, got '$ver'")
+ unless $ver =~ /^\d+(\.\d*)?/;
- $self->death("Error: xsubpp $Ver (or better) required--this is only $VERSION.")
- unless $VERSION >= $Ver;
+ $self->death("Error: xsubpp $ver (or better) required--this is only $VERSION.")
+ unless $VERSION >= $ver;
}
sub VERSIONCHECK_handler {
- my $self = shift;
- $_ = shift;
-
# the rest of the current line should contain either ENABLE or
# DISABLE
+ my ($self, $setting) = @_;
- trim_whitespace($_);
+ trim_whitespace($setting);
# check for ENABLE/DISABLE
$self->death("Error: VERSIONCHECK: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)/i;
+ unless $setting =~ /^(ENABLE|DISABLE)/i;
$self->{WantVersionChk} = 1 if $1 eq 'ENABLE';
$self->{WantVersionChk} = 0 if $1 eq 'DISABLE';
@@ -1402,7 +1391,7 @@ sub PROTOTYPE_handler {
$self->death("Error: Only 1 PROTOTYPE definition allowed per xsub")
if $self->{proto_in_this_xsub}++;
- for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ for (; !/^$BLOCK_regexp/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
$specified = 1;
trim_whitespace($_);
@@ -1428,30 +1417,28 @@ sub PROTOTYPE_handler {
}
sub SCOPE_handler {
- my $self = shift;
- $_ = shift;
+ # Rest of line should be either ENABLE or DISABLE
+ my ($self, $setting) = @_;
$self->death("Error: Only 1 SCOPE declaration allowed per xsub")
if $self->{scope_in_this_xsub}++;
- trim_whitespace($_);
+ trim_whitespace($setting);
$self->death("Error: SCOPE: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)\b/i;
+ unless $setting =~ /^(ENABLE|DISABLE)\b/i;
$self->{ScopeThisXSUB} = ( uc($1) eq 'ENABLE' );
}
sub PROTOTYPES_handler {
- my $self = shift;
- $_ = shift;
-
# the rest of the current line should contain either ENABLE or
# DISABLE
+ my ($self, $setting) = @_;
- trim_whitespace($_);
+ trim_whitespace($setting);
# check for ENABLE/DISABLE
$self->death("Error: PROTOTYPES: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)/i;
+ unless $setting =~ /^(ENABLE|DISABLE)/i;
$self->{WantPrototypes} = 1 if $1 eq 'ENABLE';
$self->{WantPrototypes} = 0 if $1 eq 'DISABLE';
@@ -1459,17 +1446,15 @@ sub PROTOTYPES_handler {
}
sub EXPORT_XSUB_SYMBOLS_handler {
- my $self = shift;
- $_ = shift;
-
# the rest of the current line should contain either ENABLE or
# DISABLE
+ my ($self, $setting) = @_;
- trim_whitespace($_);
+ trim_whitespace($setting);
# check for ENABLE/DISABLE
$self->death("Error: EXPORT_XSUB_SYMBOLS: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)/i;
+ unless $setting =~ /^(ENABLE|DISABLE)/i;
my $xs_impl = $1 eq 'ENABLE' ? 'XS_EXTERNAL' : 'XS_INTERNAL';
@@ -1638,7 +1623,7 @@ sub PopFile {
close $self->{FH};
$self->{FH} = $data->{Handle};
- # $filename is the leafname, which for some reason isused for diagnostic
+ # $filename is the leafname, which for some reason is used for diagnostic
# messages, whereas $filepathname is the full pathname, and is used for
# #line directives.
$self->{filename} = $data->{Filename};
@@ -1671,6 +1656,69 @@ sub Q {
$text;
}
+# Process "MODULE = Foo ..." lines and update global state accordingly
+sub _process_module_xs_line {
+ my ($self, $module, $pkg, $prefix) = @_;
+
+ ($self->{Module_cname} = $module) =~ s/\W/_/g;
+
+ $self->{Package} = defined($pkg) ? $pkg : '';
+ $self->{Prefix} = quotemeta( defined($prefix) ? $prefix : '' );
+
+ ($self->{Packid} = $self->{Package}) =~ tr/:/_/;
+
+ $self->{Packprefix} = $self->{Package};
+ $self->{Packprefix} .= "::" if $self->{Packprefix} ne "";
+
+ $self->{lastline} = "";
+}
+
+# Skip any embedded POD sections
+sub _maybe_skip_pod {
+ my ($self) = @_;
+
+ while ($self->{lastline} =~ /^=/) {
+ while ($self->{lastline} = readline($self->{FH})) {
+ last if ($self->{lastline} =~ /^=cut\s*$/);
+ }
+ $self->death("Error: Unterminated pod") unless defined $self->{lastline};
+ $self->{lastline} = readline($self->{FH});
+ chomp $self->{lastline};
+ $self->{lastline} =~ s/^\s+$//;
+ }
+}
+
+# This chunk of code strips out (and parses) embedded TYPEMAP blocks
+# which support a HEREdoc-alike block syntax.
+sub _maybe_parse_typemap_block {
+ my ($self) = @_;
+
+ # This is special cased from the usual paragraph-handler logic
+ # due to the HEREdoc-ish syntax.
+ if ($self->{lastline} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+?))\s*;?\s*$/)
+ {
+ my $end_marker = quotemeta(defined($1) ? $2 : $3);
+
+ # Scan until we find $end_marker alone on a line.
+ my @tmaplines;
+ while (1) {
+ $self->{lastline} = readline($self->{FH});
+ $self->death("Error: Unterminated TYPEMAP section") if not defined $self->{lastline};
+ last if $self->{lastline} =~ /^$end_marker\s*$/;
+ push @tmaplines, $self->{lastline};
+ }
+
+ my $tmap = ExtUtils::Typemaps->new(
+ string => join("", @tmaplines),
+ lineno_offset => 1 + ($self->current_line_number() || 0),
+ fake_filename => $self->{filename},
+ );
+ $self->{typemap}->merge(typemap => $tmap, replace => 1);
+
+ $self->{lastline} = "";
+ }
+}
+
# Read next xsub into @{ $self->{line} } from ($lastline, readline($self->{FH})).
sub fetch_para {
my $self = shift;
@@ -1680,66 +1728,38 @@ sub fetch_para {
if !defined $self->{lastline} && $self->{XSStack}->[-1]{type} eq 'if';
@{ $self->{line} } = ();
@{ $self->{line_no} } = ();
- return $self->PopFile() if !defined $self->{lastline};
+ return $self->PopFile() if not defined $self->{lastline}; # EOF
if ($self->{lastline} =~
- /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/) {
- my $Module = $1;
- $Package = defined($2) ? $2 : ''; # keep -w happy
- $self->{Prefix} = defined($3) ? $3 : ''; # keep -w happy
- $self->{Prefix} = quotemeta $self->{Prefix};
- ($self->{Module_cname} = $Module) =~ s/\W/_/g;
- ($self->{Packid} = $Package) =~ tr/:/_/;
- $self->{Packprefix} = $Package;
- $self->{Packprefix} .= "::" if $self->{Packprefix} ne "";
- $self->{lastline} = "";
+ /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/)
+ {
+ $self->_process_module_xs_line($1, $2, $3);
}
for (;;) {
- # Skip embedded PODs
- while ($self->{lastline} =~ /^=/) {
- while ($self->{lastline} = readline($self->{FH})) {
- last if ($self->{lastline} =~ /^=cut\s*$/);
- }
- $self->death("Error: Unterminated pod") unless $self->{lastline};
- $self->{lastline} = readline($self->{FH});
- chomp $self->{lastline};
- $self->{lastline} =~ s/^\s+$//;
- }
-
- # This chunk of code strips out (and parses) embedded TYPEMAP blocks
- # which support a HEREdoc-alike block syntax.
- # This is special cased from the usual paragraph-handler logic
- # due to the HEREdoc-ish syntax.
- if ($self->{lastline} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+))\s*;?\s*$/) {
- my $end_marker = quotemeta(defined($1) ? $2 : $3);
- my @tmaplines;
- while (1) {
- $self->{lastline} = readline($self->{FH});
- $self->death("Error: Unterminated typemap") if not defined $self->{lastline};
- last if $self->{lastline} =~ /^$end_marker\s*$/;
- push @tmaplines, $self->{lastline};
- }
-
- my $tmapcode = join "", @tmaplines;
- my $tmap = ExtUtils::Typemaps->new(
- string => $tmapcode,
- lineno_offset => ($self->current_line_number()||0)+1,
- fake_filename => $self->{filename},
- );
- $self->{typemap}->merge(typemap => $tmap, replace => 1);
-
- $self->{lastline} = "";
- }
-
- if ($self->{lastline} !~ /^\s*#/ ||
- # CPP directives:
- # ANSI: if ifdef ifndef elif else endif define undef
- # line error pragma
- # gcc: warning include_next
- # obj-c: import
- # others: ident (gcc notes that some cpps have this one)
- $self->{lastline} =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) {
+ $self->_maybe_skip_pod;
+
+ $self->_maybe_parse_typemap_block;
+
+ if ($self->{lastline} !~ /^\s*#/ # not a CPP directive
+ # CPP directives:
+ # ANSI: if ifdef ifndef elif else endif define undef
+ # line error pragma
+ # gcc: warning include_next
+ # obj-c: import
+ # others: ident (gcc notes that some cpps have this one)
+ || $self->{lastline} =~ /^\#[ \t]*
+ (?:
+ (?:if|ifn?def|elif|else|endif|
+ define|undef|pragma|error|
+ warning|line\s+\d+|ident)
+ \b
+ | (?:include(?:_next)?|import)
+ \s* ["<] .* [>"]
+ )
+ /x
+ )
+ {
last if $self->{lastline} =~ /^\S/ && @{ $self->{line} } && $self->{line}->[-1] eq "";
push(@{ $self->{line} }, $self->{lastline});
push(@{ $self->{line_no} }, $self->{lastline_no});
@@ -1755,33 +1775,37 @@ sub fetch_para {
chomp $self->{lastline};
$self->{lastline} =~ s/^\s+$//;
}
- pop(@{ $self->{line} }), pop(@{ $self->{line_no} }) while @{ $self->{line} } && $self->{line}->[-1] eq "";
- 1;
+
+ # Nuke trailing "line" entries until there's one that's not empty
+ pop(@{ $self->{line} }), pop(@{ $self->{line_no} })
+ while @{ $self->{line} } && $self->{line}->[-1] eq "";
+
+ return 1;
}
sub output_init {
+ my $self = shift;
my $argsref = shift;
- my ($type, $num, $var, $init, $printed_name) = (
- $argsref->{type},
- $argsref->{num},
- $argsref->{var},
- $argsref->{init},
- $argsref->{printed_name}
- );
- my $arg = $num ? "ST(" . ($num - 1) . ")" : "/* not a parameter */";
- if ( $init =~ /^=/ ) {
+ my ($type, $num, $var, $init, $printed_name)
+ = @{$argsref}{qw(type num var init printed_name)};
+
+ # local assign for efficiently passing in to eval_input_typemap_code
+ local $argsref->{arg} = $num
+ ? "ST(" . ($num-1) . ")"
+ : "/* not a parameter */";
+
+ if ( $init =~ /^=/ ) {
if ($printed_name) {
- eval qq/print " $init\\n"/;
+ $self->eval_input_typemap_code(qq/print " $init\\n"/, $argsref);
}
else {
- eval qq/print "\\t$var $init\\n"/;
+ $self->eval_input_typemap_code(qq/print "\\t$var $init\\n"/, $argsref);
}
- warn $@ if $@;
}
else {
if ( $init =~ s/^\+// && $num ) {
- generate_init( {
+ $self->generate_init( {
type => $type,
num => $num,
var => $var,
@@ -1793,39 +1817,38 @@ sub output_init {
$init =~ s/^;//;
}
else {
- eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ $self->eval_input_typemap_code(qq/print "\\t$var;\\n"/, $argsref);
$init =~ s/^;//;
}
- $self->{deferred} .= eval qq/"\\n\\t$init\\n"/;
- warn $@ if $@;
+ $self->{deferred}
+ .= $self->eval_input_typemap_code(qq/"\\n\\t$init\\n"/, $argsref);
}
}
sub generate_init {
+ my $self = shift;
my $argsref = shift;
- my ($type, $num, $var, $printed_name) = (
- $argsref->{type},
- $argsref->{num},
- $argsref->{var},
- $argsref->{printed_name},
- );
- my $arg = "ST(" . ($num - 1) . ")";
- my ($argoff, $ntype);
- $argoff = $num - 1;
+
+ my ($type, $num, $var, $printed_name)
+ = @{$argsref}{qw(type num var printed_name)};
+
+ my $argoff = $num - 1;
+ my $arg = "ST($argoff)";
my $typemaps = $self->{typemap};
- $type = tidy_type($type);
- $self->report_typemap_failure($typemaps, $type), return
- unless $typemaps->get_typemap(ctype => $type);
+ $type = ExtUtils::Typemaps::tidy_type($type);
+ if (not $typemaps->get_typemap(ctype => $type)) {
+ $self->report_typemap_failure($typemaps, $type);
+ return;
+ }
+
+ (my $ntype = $type) =~ s/\s*\*/Ptr/g;
+ (my $subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
- ($ntype = $type) =~ s/\s*\*/Ptr/g;
- my $subtype;
- ($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
my $typem = $typemaps->get_typemap(ctype => $type);
my $xstype = $typem->xstype;
- $xstype =~ s/OBJ$/REF/ if $func_name =~ /DESTROY$/;
+ $xstype =~ s/OBJ$/REF/ if $self->{func_name} =~ /DESTROY$/;
if ($xstype eq 'T_PV' and exists $self->{lengthof}->{$var}) {
print "\t$var" unless $printed_name;
print " = ($type)SvPV($arg, STRLEN_length_of_$var);\n";
@@ -1833,21 +1856,29 @@ sub generate_init {
if defined $self->{defaults}->{$var};
return;
}
- $type =~ tr/:/_/ unless $self->{hiertype};
+ $type =~ tr/:/_/ unless $self->{RetainCplusplusHierarchicalTypes};
my $inputmap = $typemaps->get_inputmap(xstype => $xstype);
- $self->blurt("Error: No INPUT definition for type '$type', typekind '" . $type->xstype . "' found"), return
- unless defined $inputmap;
+ if (not defined $inputmap) {
+ $self->blurt("Error: No INPUT definition for type '$type', typekind '" . $type->xstype . "' found");
+ return;
+ }
my $expr = $inputmap->cleaned_code;
# Note: This gruesome bit either needs heavy rethinking or documentation. I vote for the former. --Steffen
if ($expr =~ /DO_ARRAY_ELEM/) {
my $subtypemap = $typemaps->get_typemap(ctype => $subtype);
- $self->report_typemap_failure($typemaps, $subtype), return
- if not $subtypemap;
+ if (not $subtypemap) {
+ $self->report_typemap_failure($typemaps, $subtype);
+ return;
+ }
+
my $subinputmap = $typemaps->get_inputmap(xstype => $subtypemap->xstype);
- $self->blurt("Error: No INPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
- unless $subinputmap;
+ if (not $subinputmap) {
+ $self->blurt("Error: No INPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found");
+ return;
+ }
+
my $subexpr = $subinputmap->cleaned_code;
$subexpr =~ s/\$type/\$subtype/g;
$subexpr =~ s/ntype/subtype/g;
@@ -1860,6 +1891,18 @@ sub generate_init {
if ($expr =~ m#/\*.*scope.*\*/#i) { # "scope" in C comments
$self->{ScopeThisXSUB} = 1;
}
+
+ my $eval_vars = {
+ var => $var,
+ printed_name => $printed_name,
+ type => $type,
+ ntype => $ntype,
+ subtype => $subtype,
+ num => $num,
+ arg => $arg,
+ argoff => $argoff,
+ };
+
if (defined($self->{defaults}->{$var})) {
$expr =~ s/(\t+)/$1 /g;
$expr =~ s/ /\t/g;
@@ -1867,51 +1910,51 @@ sub generate_init {
print ";\n";
}
else {
- eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ $self->eval_input_typemap_code(qq/print "\\t$var;\\n"/, $eval_vars);
}
if ($self->{defaults}->{$var} eq 'NO_INIT') {
- $self->{deferred} .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
+ $self->{deferred} .= $self->eval_input_typemap_code(
+ qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/,
+ $eval_vars
+ );
}
else {
- $self->{deferred} .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $self->{defaults}->{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
+ $self->{deferred} .= $self->eval_input_typemap_code(
+ qq/"\\n\\tif (items < $num)\\n\\t $var = $self->{defaults}->{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/,
+ $eval_vars
+ );
}
- warn $@ if $@;
}
elsif ($self->{ScopeThisXSUB} or $expr !~ /^\s*\$var =/) {
if ($printed_name) {
print ";\n";
}
else {
- eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ $self->eval_input_typemap_code(qq/print "\\t$var;\\n"/, $eval_vars);
}
- $self->{deferred} .= eval qq/"\\n$expr;\\n"/;
- warn $@ if $@;
+ $self->{deferred}
+ .= $self->eval_input_typemap_code(qq/"\\n$expr;\\n"/, $eval_vars);
}
else {
die "panic: do not know how to handle this branch for function pointers"
if $printed_name;
- eval qq/print "$expr;\\n"/;
- warn $@ if $@;
+ $self->eval_input_typemap_code(qq/print "$expr;\\n"/, $eval_vars);
}
}
sub generate_output {
+ my $self = shift;
my $argsref = shift;
- my ($type, $num, $var, $do_setmagic, $do_push) = (
- $argsref->{type},
- $argsref->{num},
- $argsref->{var},
- $argsref->{do_setmagic},
- $argsref->{do_push}
- );
+ my ($type, $num, $var, $do_setmagic, $do_push)
+ = @{$argsref}{qw(type num var do_setmagic do_push)};
+
my $arg = "ST(" . ($num - ($num != 0)) . ")";
- my $ntype;
my $typemaps = $self->{typemap};
- $type = tidy_type($type);
+ $type = ExtUtils::Typemaps::tidy_type($type);
+ local $argsref->{type} = $type;
+
if ($type =~ /^array\(([^,]*),(.*)\)/) {
print "\t$arg = sv_newmortal();\n";
print "\tsv_setpvn($arg, (char *)$var, $2 * sizeof($1));\n";
@@ -1919,48 +1962,64 @@ sub generate_output {
}
else {
my $typemap = $typemaps->get_typemap(ctype => $type);
- $self->report_typemap_failure($typemaps, $type), return
- if not $typemap;
+ if (not $typemap) {
+ $self->report_typemap_failure($typemaps, $type);
+ return;
+ }
+
my $outputmap = $typemaps->get_outputmap(xstype => $typemap->xstype);
- $self->blurt("Error: No OUTPUT definition for type '$type', typekind '" . $typemap->xstype . "' found"), return
- unless $outputmap;
- ($ntype = $type) =~ s/\s*\*/Ptr/g;
+ if (not $outputmap) {
+ $self->blurt("Error: No OUTPUT definition for type '$type', typekind '" . $typemap->xstype . "' found");
+ return;
+ }
+
+ (my $ntype = $type) =~ s/\s*\*/Ptr/g;
$ntype =~ s/\(\)//g;
- my $subtype;
- ($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
+ (my $subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
+ my $eval_vars = {%$argsref, subtype => $subtype, ntype => $ntype, arg => $arg};
my $expr = $outputmap->cleaned_code;
if ($expr =~ /DO_ARRAY_ELEM/) {
my $subtypemap = $typemaps->get_typemap(ctype => $subtype);
- $self->report_typemap_failure($typemaps, $subtype), return
- if not $subtypemap;
+ if (not $subtypemap) {
+ $self->report_typemap_failure($typemaps, $subtype);
+ return;
+ }
+
my $suboutputmap = $typemaps->get_outputmap(xstype => $subtypemap->xstype);
- $self->blurt("Error: No OUTPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
- unless $suboutputmap;
+ if (not $suboutputmap) {
+ $self->blurt("Error: No OUTPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found");
+ return;
+ }
+
my $subexpr = $suboutputmap->cleaned_code;
$subexpr =~ s/ntype/subtype/g;
$subexpr =~ s/\$arg/ST(ix_$var)/g;
$subexpr =~ s/\$var/${var}\[ix_$var]/g;
$subexpr =~ s/\n\t/\n\t\t/g;
$expr =~ s/DO_ARRAY_ELEM\n/$subexpr/;
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ $self->eval_output_typemap_code("print qq\a$expr\a", $eval_vars);
print "\t\tSvSETMAGIC(ST(ix_$var));\n" if $do_setmagic;
}
elsif ($var eq 'RETVAL') {
- if ($expr =~ /^\t\$arg = new/) {
+ my $evalexpr = $self->eval_output_typemap_code("qq\a$expr\a", $eval_vars);
+ if ($expr =~ /^\t\Q$arg\E = new/) {
# We expect that $arg has refcnt 1, so we need to
# mortalize it.
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ print $evalexpr;
print "\tsv_2mortal(ST($num));\n";
print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic;
}
- elsif ($expr =~ /^\s*\$arg\s*=/) {
+ # If RETVAL is immortal, don't mortalize it. This code is not perfect:
+ # It won't detect a func or expression that only returns immortals, for
+ # example, this RE must be tried before next elsif.
+ elsif ($evalexpr =~ /^\t\Q$arg\E\s*=\s*(boolSV\(|(&PL_sv_yes|&PL_sv_no|&PL_sv_undef)\s*;)/) {
+ print $evalexpr;
+ }
+ elsif ($evalexpr =~ /^\s*\Q$arg\E\s*=/) {
# We expect that $arg has refcnt >=1, so we need
# to mortalize it!
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ print $evalexpr;
print "\tsv_2mortal(ST(0));\n";
print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic;
}
@@ -1968,28 +2027,39 @@ sub generate_output {
# Just hope that the entry would safely write it
# over an already mortalized value. By
# coincidence, something like $arg = &sv_undef
- # works too.
+ # works too, but should be caught above.
print "\tST(0) = sv_newmortal();\n";
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ print $evalexpr;
# new mortals don't have set magic
}
}
elsif ($do_push) {
print "\tPUSHs(sv_newmortal());\n";
- $arg = "ST($num)";
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ local $eval_vars->{arg} = "ST($num)";
+ $self->eval_output_typemap_code("print qq\a$expr\a", $eval_vars);
print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
}
elsif ($arg =~ /^ST\(\d+\)$/) {
- eval "print qq\a$expr\a";
- warn $@ if $@;
+ $self->eval_output_typemap_code("print qq\a$expr\a", $eval_vars);
print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
}
}
}
+
+# Just delegates to a clean package.
+# Shim to evaluate Perl code in the right variable context
+# for typemap code (having things such as $ALIAS set up).
+sub eval_output_typemap_code {
+ my ($self, $code, $other) = @_;
+ return ExtUtils::ParseXS::Eval::eval_output_typemap_code($self, $code, $other);
+}
+
+sub eval_input_typemap_code {
+ my ($self, $code, $other) = @_;
+ return ExtUtils::ParseXS::Eval::eval_input_typemap_code($self, $code, $other);
+}
+
1;
# vim: ts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod
new file mode 100644
index 00000000000..6bec01482cf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod
@@ -0,0 +1,177 @@
+=head1 NAME
+
+ExtUtils::ParseXS - converts Perl XS code into C code
+
+=head1 SYNOPSIS
+
+ use ExtUtils::ParseXS;
+
+ my $pxs = ExtUtils::ParseXS->new;
+ $pxs->process_file( filename => 'foo.xs' );
+
+ $pxs->process_file( filename => 'foo.xs',
+ output => 'bar.c',
+ 'C++' => 1,
+ typemap => 'path/to/typemap',
+ hiertype => 1,
+ except => 1,
+ versioncheck => 1,
+ linenumbers => 1,
+ optimize => 1,
+ prototypes => 1,
+ );
+
+ # Legacy non-OO interface using a singleton:
+ use ExtUtils::ParseXS qw(process_file);
+ process_file( filename => 'foo.xs' );
+
+=head1 DESCRIPTION
+
+C<ExtUtils::ParseXS> will compile XS code into C code by embedding the constructs
+necessary to let C functions manipulate Perl values and creates the glue
+necessary to let Perl access those functions. The compiler uses typemaps to
+determine how to map C function parameters and variables to Perl values.
+
+The compiler will search for typemap files called I<typemap>. It will use
+the following search path to find default typemaps, with the rightmost
+typemap taking precedence.
+
+ ../../../typemap:../../typemap:../typemap:typemap
+
+=head1 EXPORT
+
+None by default. C<process_file()> and/or C<report_error_count()>
+may be exported upon request. Using the functional interface is
+discouraged.
+
+=head1 METHODS
+
+=over 4
+
+=item $pxs->new()
+
+Returns a new, empty XS parser/compiler object.
+
+=item $pxs->process_file()
+
+This method processes an XS file and sends output to a C file.
+The method may be called as a function (this is the legacy
+interface) and will then use a singleton as invocant.
+
+Named parameters control how the processing is done.
+The following parameters are accepted:
+
+=over 4
+
+=item B<C++>
+
+Adds C<extern "C"> to the C code. Default is false.
+
+=item B<hiertype>
+
+Retains C<::> in type names so that C++ hierarchical types can be
+mapped. Default is false.
+
+=item B<except>
+
+Adds exception handling stubs to the C code. Default is false.
+
+=item B<typemap>
+
+Indicates that a user-supplied typemap should take precedence over the
+default typemaps. A single typemap may be specified as a string, or
+multiple typemaps can be specified in an array reference, with the
+last typemap having the highest precedence.
+
+=item B<prototypes>
+
+Generates prototype code for all xsubs. Default is false.
+
+=item B<versioncheck>
+
+Makes sure at run time that the object file (derived from the C<.xs>
+file) and the C<.pm> files have the same version number. Default is
+true.
+
+=item B<linenumbers>
+
+Adds C<#line> directives to the C output so error messages will look
+like they came from the original XS file. Default is true.
+
+=item B<optimize>
+
+Enables certain optimizations. The only optimization that is currently
+affected is the use of I<target>s by the output C code (see L<perlguts>).
+Not optimizing may significantly slow down the generated code, but this is the way
+B<xsubpp> of 5.005 and earlier operated. Default is to optimize.
+
+=item B<inout>
+
+Enable recognition of C<IN>, C<OUT_LIST> and C<INOUT_LIST>
+declarations. Default is true.
+
+=item B<argtypes>
+
+Enable recognition of ANSI-like descriptions of function signature.
+Default is true.
+
+=item B<s>
+
+I<Maintainer note:> I have no clue what this does. Strips function prefixes?
+
+=back
+
+=item $pxs->report_error_count()
+
+This method returns the number of [a certain kind of] errors
+encountered during processing of the XS file.
+
+The method may be called as a function (this is the legacy
+interface) and will then use a singleton as invocant.
+
+=back
+
+=head1 AUTHOR
+
+Based on xsubpp code, written by Larry Wall.
+
+Maintained by:
+
+=over 4
+
+=item *
+
+Ken Williams, <ken@mathforum.org>
+
+=item *
+
+David Golden, <dagolden@cpan.org>
+
+=item *
+
+James Keenan, <jkeenan@cpan.org>
+
+=item *
+
+Steffen Mueller, <smueller@cpan.org>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2002-2014 by Ken Williams, David Golden and other contributors. All
+rights reserved.
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+Based on the C<ExtUtils::xsubpp> code by Larry Wall and the Perl 5
+Porters, which was released under the same license terms.
+
+=head1 SEE ALSO
+
+L<perl>, ExtUtils::xsubpp, ExtUtils::MakeMaker, L<perlxs>, L<perlxstut>.
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
index 2e27169aa22..34fbc21e167 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Symbol;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
=head1 NAME
@@ -39,4 +39,6 @@ our @XSKeywords = qw(
EXPORT_XSUB_SYMBOLS
);
+our $XSKeywordsAlternation = join('|', @XSKeywords);
+
1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
index 7e2a0f5030b..473f531f750 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
@@ -1,7 +1,7 @@
package ExtUtils::ParseXS::CountLines;
use strict;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
our $SECTION_END_MARKER;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm
new file mode 100644
index 00000000000..4b8cbd6337e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm
@@ -0,0 +1,97 @@
+package ExtUtils::ParseXS::Eval;
+use strict;
+use warnings;
+
+our $VERSION = '3.24';
+
+=head1 NAME
+
+ExtUtils::ParseXS::Eval - Clean package to evaluate code in
+
+=head1 SYNOPSIS
+
+ use ExtUtils::ParseXS::Eval;
+ my $rv = ExtUtils::ParseXS::Eval::eval_typemap_code(
+ $parsexs_obj, "some Perl code"
+ );
+
+=head1 SUBROUTINES
+
+=head2 $pxs->eval_output_typemap_code($typemapcode, $other_hashref)
+
+Sets up various bits of previously global state
+(formerly ExtUtils::ParseXS package variables)
+for eval'ing output typemap code that may refer to these
+variables.
+
+Warns the contents of C<$@> if any.
+
+Not all these variables are necessarily considered "public" wrt. use in
+typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
+
+ $Package $Alias $func_name $Full_func_name $pname
+
+Variables set up from C<$other_hashref>:
+
+ $var $type $ntype $subtype $arg
+
+=cut
+
+sub eval_output_typemap_code {
+ my ($_pxs, $_code, $_other) = @_;
+
+ my ($Package, $ALIAS, $func_name, $Full_func_name, $pname)
+ = @{$_pxs}{qw(Package ALIAS func_name Full_func_name pname)};
+
+ my ($var, $type, $ntype, $subtype, $arg)
+ = @{$_other}{qw(var type ntype subtype arg)};
+
+ my $rv = eval $_code;
+ warn $@ if $@;
+ return $rv;
+}
+
+=head2 $pxs->eval_input_typemap_code($typemapcode, $other_hashref)
+
+Sets up various bits of previously global state
+(formerly ExtUtils::ParseXS package variables)
+for eval'ing output typemap code that may refer to these
+variables.
+
+Warns the contents of C<$@> if any.
+
+Not all these variables are necessarily considered "public" wrt. use in
+typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
+
+ $Package $Alias $func_name $Full_func_name $pname
+
+Variables set up from C<$other_hashref>:
+
+ $var $type $ntype $subtype $num $init $printed_name $arg $argoff
+
+=cut
+
+sub eval_input_typemap_code {
+ my ($_pxs, $_code, $_other) = @_;
+
+ my ($Package, $ALIAS, $func_name, $Full_func_name, $pname)
+ = @{$_pxs}{qw(Package ALIAS func_name Full_func_name pname)};
+
+ my ($var, $type, $num, $init, $printed_name, $arg, $ntype, $argoff, $subtype)
+ = @{$_other}{qw(var type num init printed_name arg ntype argoff subtype)};
+
+ my $rv = eval $_code;
+ warn $@ if $@;
+ return $rv;
+}
+
+=head1 TODO
+
+Eventually, with better documentation and possible some cleanup,
+this could be part of C<ExtUtils::Typemaps>.
+
+=cut
+
+1;
+
+# vim: ts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
index a847a14a409..ae384fd5b58 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
@@ -6,18 +6,16 @@ use File::Spec;
use lib qw( lib );
use ExtUtils::ParseXS::Constants ();
-our $VERSION = '3.19';
+our $VERSION = '3.24';
our (@ISA, @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT_OK = qw(
standard_typemap_locations
trim_whitespace
- tidy_type
C_string
valid_proto_string
process_typemaps
- make_targetable
map_type
standard_XS_defs
assign_func_args
@@ -41,11 +39,9 @@ ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS
use ExtUtils::ParseXS::Utilities qw(
standard_typemap_locations
trim_whitespace
- tidy_type
C_string
valid_proto_string
process_typemaps
- make_targetable
map_type
standard_XS_defs
assign_func_args
@@ -129,26 +125,35 @@ Array holding list of directories to be searched for F<typemap> files.
=cut
-sub standard_typemap_locations {
- my $include_ref = shift;
- my @tm = qw(typemap);
-
- my $updir = File::Spec->updir();
- foreach my $dir (
- File::Spec->catdir(($updir) x 1),
- File::Spec->catdir(($updir) x 2),
- File::Spec->catdir(($updir) x 3),
- File::Spec->catdir(($updir) x 4),
- ) {
- unshift @tm, File::Spec->catfile($dir, 'typemap');
- unshift @tm, File::Spec->catfile($dir, lib => ExtUtils => 'typemap');
- }
- foreach my $dir (@{ $include_ref}) {
- my $file = File::Spec->catfile($dir, ExtUtils => 'typemap');
- unshift @tm, $file if -e $file;
+SCOPE: {
+ my @tm_template;
+
+ sub standard_typemap_locations {
+ my $include_ref = shift;
+
+ if (not @tm_template) {
+ @tm_template = qw(typemap);
+
+ my $updir = File::Spec->updir();
+ foreach my $dir (
+ File::Spec->catdir(($updir) x 1),
+ File::Spec->catdir(($updir) x 2),
+ File::Spec->catdir(($updir) x 3),
+ File::Spec->catdir(($updir) x 4),
+ ) {
+ unshift @tm_template, File::Spec->catfile($dir, 'typemap');
+ unshift @tm_template, File::Spec->catfile($dir, lib => ExtUtils => 'typemap');
+ }
+ }
+
+ my @tm = @tm_template;
+ foreach my $dir (@{ $include_ref}) {
+ my $file = File::Spec->catfile($dir, ExtUtils => 'typemap');
+ unshift @tm, $file if -e $file;
+ }
+ return @tm;
}
- return @tm;
-}
+} # end SCOPE
=head2 C<trim_whitespace()>
@@ -175,45 +180,6 @@ sub trim_whitespace {
$_[0] =~ s/^\s+|\s+$//go;
}
-=head2 C<tidy_type()>
-
-=over 4
-
-=item * Purpose
-
-Rationalize any asterisks (C<*>) by joining them into bunches, removing
-interior whitespace, then trimming leading and trailing whitespace.
-
-=item * Arguments
-
- ($ret_type) = tidy_type($_);
-
-String to be cleaned up.
-
-=item * Return Value
-
-String cleaned up.
-
-=back
-
-=cut
-
-sub tidy_type {
- local ($_) = @_;
-
- # rationalise any '*' by joining them into bunches and removing whitespace
- s#\s*(\*+)\s*#$1#g;
- s#(\*+)# $1 #g;
-
- # change multiple whitespace into a single space
- s/\s+/ /g;
-
- # trim leading & trailing whitespace
- trim_whitespace($_);
-
- $_;
-}
-
=head2 C<C_string()>
=over 4
@@ -266,7 +232,7 @@ Upon failure, returns C<0>.
=cut
sub valid_proto_string {
- my($string) = @_;
+ my ($string) = @_;
if ( $string =~ /^$ExtUtils::ParseXS::Constants::PrototypeRegexp+$/ ) {
return $string;
@@ -323,76 +289,6 @@ sub process_typemaps {
return $typemap;
}
-=head2 C<make_targetable()>
-
-=over 4
-
-=item * Purpose
-
-Populate C<%targetable>. This constitutes a refinement of the output of
-C<process_typemaps()> with respect to its fourth output, C<$output_expr_ref>.
-
-=item * Arguments
-
- %targetable = make_targetable($output_expr_ref);
-
-Single hash reference: the fourth such ref returned by C<process_typemaps()>.
-
-=item * Return Value
-
-Hash.
-
-=back
-
-=cut
-
-sub make_targetable {
- my $output_expr_ref = shift;
-
- our $bal; # ()-balanced
- $bal = qr[
- (?:
- (?>[^()]+)
- |
- \( (??{ $bal }) \)
- )*
- ]x;
-
- # matches variations on (SV*)
- my $sv_cast = qr[
- (?:
- \( \s* SV \s* \* \s* \) \s*
- )?
- ]x;
-
- my $size = qr[ # Third arg (to setpvn)
- , \s* (??{ $bal })
- ]x;
-
- my %targetable;
- foreach my $key (keys %{ $output_expr_ref }) {
- # We can still bootstrap compile 're', because in code re.pm is
- # available to miniperl, and does not attempt to load the XS code.
- use re 'eval';
-
- my ($type, $with_size, $arg, $sarg) =
- ($output_expr_ref->{$key} =~
- m[^
- \s+
- sv_set([iunp])v(n)? # Type, is_setpvn
- \s*
- \( \s*
- $sv_cast \$arg \s* , \s*
- ( (??{ $bal }) ) # Set from
- ( (??{ $size }) )? # Possible sizeof set-from
- \) \s* ; \s* $
- ]x
- );
- $targetable{$key} = [$type, $with_size, $arg, $sarg] if $type;
- }
- return %targetable;
-}
-
=head2 C<map_type()>
=over 4
@@ -419,7 +315,7 @@ sub map_type {
my ($self, $type, $varname) = @_;
# C++ has :: in types too so skip this
- $type =~ tr/:/_/ unless $self->{hiertype};
+ $type =~ tr/:/_/ unless $self->{RetainCplusplusHierarchicalTypes};
$type =~ s/^array\(([^,]*),(.*)\).*/$1 */s;
if ($varname) {
if ($type =~ / \( \s* \* (?= \s* \) ) /xg) {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
index b9a43589488..8bc04af04c3 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.19';
+our $VERSION = '3.24';
#use Carp qw(croak);
require ExtUtils::ParseXS;
@@ -23,7 +23,7 @@ ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files
# $typemap = ExtUtils::Typemaps->new();
# alternatively create an in-memory typemap by parsing a string
# $typemap = ExtUtils::Typemaps->new(string => $sometypemap);
-
+
# add a mapping
$typemap->add_typemap(ctype => 'NV', xstype => 'T_NV');
$typemap->add_inputmap(
@@ -34,13 +34,13 @@ ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files
);
$typemap->add_string(string => $typemapstring);
# will be parsed and merged
-
+
# remove a mapping (same for remove_typemap and remove_outputmap...)
$typemap->remove_inputmap(xstype => 'SomeType');
-
+
# save a typemap to a file
$typemap->write(file => 'anotherfile.map');
-
+
# merge the other typemap into this one
$typemap->merge(typemap => $another_typemap);
@@ -111,6 +111,7 @@ sub _init {
}
}
+
=head2 file
Get/set the file that the typemap is written to when the
@@ -344,7 +345,7 @@ sub remove_typemap {
my %args = @_;
$ctype = $args{ctype};
die("Need ctype argument") if not defined $ctype;
- $ctype = _tidy_type($ctype);
+ $ctype = tidy_type($ctype);
}
else {
$ctype = $_[0]->tidy_ctype;
@@ -443,7 +444,7 @@ sub get_typemap {
my %args = @_;
my $ctype = $args{ctype};
die("Need ctype argument") if not defined $ctype;
- $ctype = _tidy_type($ctype);
+ $ctype = tidy_type($ctype);
my $index = $self->{typemap_lookup}{$ctype};
return() if not defined $index;
@@ -860,7 +861,7 @@ sub validate {
my %args = @_;
if ( exists $args{ctype}
- and exists $self->{typemap_lookup}{_tidy_type($args{ctype})} )
+ and exists $self->{typemap_lookup}{tidy_type($args{ctype})} )
{
die("Multiple definition of ctype '$args{ctype}' in TYPEMAP section");
}
@@ -880,6 +881,84 @@ sub validate {
return 1;
}
+=head2 clone
+
+Creates and returns a clone of a full typemaps object.
+
+Takes named parameters: If C<shallow> is true,
+the clone will share the actual individual type/input/outputmap objects,
+but not share their storage. Use with caution. Without C<shallow>,
+the clone will be fully independent.
+
+=cut
+
+sub clone {
+ my $proto = shift;
+ my %args = @_;
+
+ my $self;
+ if ($args{shallow}) {
+ $self = bless( {
+ %$proto,
+ typemap_section => [@{$proto->{typemap_section}}],
+ typemap_lookup => {%{$proto->{typemap_lookup}}},
+ input_section => [@{$proto->{input_section}}],
+ input_lookup => {%{$proto->{input_lookup}}},
+ output_section => [@{$proto->{output_section}}],
+ output_lookup => {%{$proto->{output_lookup}}},
+ } => ref($proto) );
+ }
+ else {
+ $self = bless( {
+ %$proto,
+ typemap_section => [map $_->new, @{$proto->{typemap_section}}],
+ typemap_lookup => {%{$proto->{typemap_lookup}}},
+ input_section => [map $_->new, @{$proto->{input_section}}],
+ input_lookup => {%{$proto->{input_lookup}}},
+ output_section => [map $_->new, @{$proto->{output_section}}],
+ output_lookup => {%{$proto->{output_lookup}}},
+ } => ref($proto) );
+ }
+
+ return $self;
+}
+
+=head2 tidy_type
+
+Function to (heuristically) canonicalize a C type. Works to some
+degree with C++ types.
+
+ $halfway_canonical_type = tidy_type($ctype);
+
+Moved from C<ExtUtils::ParseXS>.
+
+=cut
+
+sub tidy_type {
+ local $_ = shift;
+
+ # for templated C++ types, do some bit of flawed canonicalization
+ # wrt. templates at least
+ if (/[<>]/) {
+ s/\s*([<>])\s*/$1/g;
+ s/>>/> >/g;
+ }
+
+ # rationalise any '*' by joining them into bunches and removing whitespace
+ s#\s*(\*+)\s*#$1#g;
+ s#(\*+)# $1 #g ;
+
+ # trim leading & trailing whitespace
+ s/^\s+//; s/\s+$//;
+
+ # change multiple whitespace into a single space
+ s/\s+/ /g;
+
+ $_;
+}
+
+
+
sub _parse {
my $self = shift;
my $stringref = shift;
@@ -970,24 +1049,6 @@ sub _parse {
}
# taken from ExtUtils::ParseXS
-sub _tidy_type {
- local $_ = shift;
-
- # rationalise any '*' by joining them into bunches and removing whitespace
- s#\s*(\*+)\s*#$1#g;
- s#(\*+)# $1 #g ;
-
- # trim leading & trailing whitespace
- s/^\s+//; s/\s+$//;
-
- # change multiple whitespace into a single space
- s/\s+/ /g;
-
- $_;
-}
-
-
-# taken from ExtUtils::ParseXS
sub _valid_proto_string {
my $string = shift;
if ($string =~ /^$ExtUtils::ParseXS::Constants::PrototypeRegexp+$/o) {
@@ -1020,7 +1081,7 @@ Steffen Mueller C<<smueller@cpan.org>>
=head1 COPYRIGHT & LICENSE
-Copyright 2009, 2010, 2011, 2012 Steffen Mueller
+Copyright 2009, 2010, 2011, 2012, 2013 Steffen Mueller
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/ExtUtils/Typemaps/Cmd.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
index 857ac1e8d93..a0be008148d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::Cmd;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
use ExtUtils::Typemaps;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
index 487a4a542de..3a600354832 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::InputMap;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
index 08960618d51..8a019696c84 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::OutputMap;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
=head1 NAME
@@ -95,16 +95,23 @@ sub cleaned_code {
=head2 targetable
-This is an obscure optimization that used to live in C<ExtUtils::ParseXS>
-directly.
+This is an obscure but effective optimization that used to
+live in C<ExtUtils::ParseXS> directly. Not implementing it
+should never result in incorrect use of typemaps, just less
+efficient code.
In a nutshell, this will check whether the output code
-involves calling C<set_iv>, C<set_uv>, C<set_nv>, C<set_pv> or C<set_pvn>
-to set the special C<$arg> placeholder to a new value
+involves calling C<sv_setiv>, C<sv_setuv>, C<sv_setnv>, C<sv_setpv> or
+C<sv_setpvn> to set the special C<$arg> placeholder to a new value
B<AT THE END OF THE OUTPUT CODE>. If that is the case, the code is
eligible for using the C<TARG>-related macros to optimize this.
Thus the name of the method: C<targetable>.
+If this optimization is applicable, C<ExtUtils::ParseXS> will
+emit a C<dXSTARG;> definition at the start of the generate XSUB code,
+and type (see below) dependent code to set C<TARG> and push it on
+the stack at the end of the generated XSUB code.
+
If the optimization can not be applied, this returns undef.
If it can be applied, this method returns a hash reference containing
the following information:
@@ -113,7 +120,7 @@ the following information:
with_size: Bool indicating whether this is the sv_setpvn variant
what: The code that actually evaluates to the output scalar
what_size: If "with_size", this has the string length (as code,
- not constant)
+ not constant, including leading comma)
=cut
@@ -129,6 +136,13 @@ sub targetable {
\( (??{ $bal }) \)
)*
]x;
+ my $bal_no_comma = qr[
+ (?:
+ (?>[^(),]+)
+ |
+ \( (??{ $bal }) \)
+ )+
+ ]x;
# matches variations on (SV*)
my $sv_cast = qr[
@@ -139,7 +153,7 @@ sub targetable {
my $size = qr[ # Third arg (to setpvn)
, \s* (??{ $bal })
- ]x;
+ ]xo;
my $code = $self->code;
@@ -155,10 +169,10 @@ sub targetable {
\s*
\( \s*
$sv_cast \$arg \s* , \s*
- ( (??{ $bal }) ) # Set from
- ( (??{ $size }) )? # Possible sizeof set-from
- \) \s* ; \s* $
- ]x
+ ( $bal_no_comma ) # Set from
+ ( $size )? # Possible sizeof set-from
+ \s* \) \s* ; \s* $
+ ]xo
);
my $rv = undef;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
index 1b9f8ba4dea..fa0ca695949 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
require ExtUtils::Typemaps;
-our $VERSION = '3.18';
+our $VERSION = '3.24';
=head1 NAME
@@ -53,7 +53,7 @@ sub new {
$self->{xstype} = $args{xstype} if defined $args{xstype};
$self->{ctype} = $args{ctype} if defined $args{ctype};
- $self->{tidy_ctype} = ExtUtils::Typemaps::_tidy_type($self->{ctype});
+ $self->{tidy_ctype} = ExtUtils::Typemaps::tidy_type($self->{ctype});
$self->{proto} = $args{'prototype'} if defined $args{'prototype'};
return $self;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
index b5a51bf3fb1..d8cd4bcb42a 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.66';
+our $VERSION = '6.98';
use Cwd;
use File::Spec;
@@ -11,7 +11,7 @@ use File::Spec;
# So the tests can chdir around and not break @INC.
# We use getcwd() because otherwise rel2abs will blow up under taint
# mode pre-5.8. We detaint is so @INC won't be tainted. This is
-# no worse, and probably better, than just shoving an untainted,
+# no worse, and probably better, than just shoving an untainted,
# relative "blib/lib" onto @INC.
my $cwd;
BEGIN {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
index fa0cd50426a..e2ac71a3234 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
@@ -3,12 +3,6 @@ use 5.006;
use strict;
eval {
require ExtUtils::ParseXS;
- ExtUtils::ParseXS->import(
- qw(
- process_file
- report_error_count
- )
- );
1;
}
or do {
@@ -22,7 +16,7 @@ use Getopt::Long;
my %args = ();
-my $usage = "Usage: xsubpp [-v] [-csuffix csuffix] [-except] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-noinout] [-noargtypes] [-s pattern] [-typemap typemap]... file.xs\n";
+my $usage = "Usage: xsubpp [-v] [-csuffix csuffix] [-except] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-noinout] [-noargtypes] [-strip|s pattern] [-typemap typemap]... file.xs\n";
Getopt::Long::Configure qw(no_auto_abbrev no_ignore_case);
@@ -39,7 +33,7 @@ GetOptions(\%args, qw(hiertype!
v
typemap=s@
output=s
- s=s
+ s|strip=s
csuffix=s
))
or die $usage;
@@ -53,8 +47,9 @@ if ($args{v}) {
$args{filename} = shift @ARGV;
-process_file(%args);
-exit( report_error_count() ? 1 : 0 );
+my $pxs = ExtUtils::ParseXS->new;
+$pxs->process_file(%args);
+exit( $pxs->report_error_count() ? 1 : 0 );
__END__
@@ -150,6 +145,22 @@ Currently doesn't do anything at all. This flag has been a no-op for
many versions of perl, at least as far back as perl5.003_07. It's
allowed here for backwards compatibility.
+=item B<-s=...> or B<-strip=...>
+
+I<This option is obscure and discouraged.>
+
+If specified, the given string will be stripped off from the beginning
+of the C function name in the generated XS functions (if it starts with that prefix).
+This only applies to XSUBs without C<CODE> or C<PPCODE> blocks.
+For example, the XS:
+
+ void foo_bar(int i);
+
+when C<xsubpp> is invoked with C<-s foo_> will install a C<foo_bar>
+function in Perl, but really call C<bar(i)> in C. Most of the time,
+this is the opposite of what you want and failure modes are somewhat
+obscure, so please avoid this option where possible.
+
=back
=head1 ENVIRONMENT
diff --git a/Master/tlpkg/tlperl/lib/Fatal.pm b/Master/tlpkg/tlperl/lib/Fatal.pm
index c6a3d1b3290..e538e20d682 100644
--- a/Master/tlpkg/tlperl/lib/Fatal.pm
+++ b/Master/tlpkg/tlperl/lib/Fatal.pm
@@ -1,11 +1,14 @@
package Fatal;
+# ABSTRACT: Replace functions with equivalents which succeed or die
+
use 5.008; # 5.8.x needed for autodie
use Carp;
use strict;
use warnings;
use Tie::RefHash; # To cache subroutine refs
use Config;
+use Scalar::Util qw(set_prototype);
use constant PERL510 => ( $] >= 5.010 );
@@ -13,6 +16,12 @@ use constant LEXICAL_TAG => q{:lexical};
use constant VOID_TAG => q{:void};
use constant INSIST_TAG => q{!};
+# Keys for %Cached_fatalised_sub (used in 3rd level)
+use constant CACHE_AUTODIE_LEAK_GUARD => 0;
+use constant CACHE_FATAL_WRAPPER => 1;
+use constant CACHE_FATAL_VOID => 2;
+
+
use constant ERROR_NOARGS => 'Cannot use lexical %s with no arguments';
use constant ERROR_VOID_LEX => VOID_TAG.' cannot be used with lexical scope';
use constant ERROR_LEX_FIRST => LEXICAL_TAG.' must be used as first argument';
@@ -39,8 +48,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.13';
+our $VERSION = '2.23'; # VERSION: Generated by DZP::OurPkg::Version
our $Debug ||= 0;
@@ -65,10 +73,10 @@ my %TAGS = (
read seek sysread syswrite sysseek )],
':dbm' => [qw(dbmopen dbmclose)],
':file' => [qw(open close flock sysopen fcntl fileno binmode
- ioctl truncate chmod)],
+ ioctl truncate)],
':filesys' => [qw(opendir closedir chdir link unlink rename mkdir
- symlink rmdir readlink umask)],
- ':ipc' => [qw(:msg :semaphore :shm pipe)],
+ symlink rmdir readlink umask chmod chown utime)],
+ ':ipc' => [qw(:msg :semaphore :shm pipe kill)],
':msg' => [qw(msgctl msgget msgrcv msgsnd)],
':threads' => [qw(fork)],
':semaphore'=>[qw(semctl semget semop)],
@@ -89,10 +97,18 @@ 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
+ # Everything in v2.07 and brefore. This was :default less chmod and chown
+ ':v207' => [qw(:threads :dbm :socket read seek sysread
syswrite sysseek open close flock sysopen fcntl fileno
- binmode ioctl truncate)],
+ binmode ioctl truncate opendir closedir chdir link unlink
+ rename mkdir symlink rmdir readlink umask
+ :msg :semaphore :shm pipe)],
+
+ # Chmod was added in 2.13
+ ':v213' => [qw(:v207 chmod)],
+
+ # chown, utime, kill were added in 2.14
+ ':v214' => [qw(:v213 chown utime kill)],
# Version specific tags. These allow someone to specify
# use autodie qw(:1.994) and know exactly what they'll get.
@@ -113,17 +129,41 @@ my %TAGS = (
':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.11' => [qw(:default)],
- ':2.12' => [qw(:default)],
- ':2.13' => [qw(:default)],
+ ':2.08' => [qw(:v213)],
+ ':2.09' => [qw(:v213)],
+ ':2.10' => [qw(:v213)],
+ ':2.11' => [qw(:v213)],
+ ':2.12' => [qw(:v213)],
+ ':2.13' => [qw(:v213)],
+ ':2.14' => [qw(:default)],
+ ':2.15' => [qw(:default)],
+ ':2.16' => [qw(:default)],
+ ':2.17' => [qw(:default)],
+ ':2.18' => [qw(:default)],
+ ':2.19' => [qw(:default)],
+ ':2.20' => [qw(:default)],
+ ':2.21' => [qw(:default)],
+ ':2.22' => [qw(:default)],
+ ':2.23' => [qw(:default)],
);
# chmod was only introduced in 2.07
+# chown was only introduced in 2.14
-$TAGS{':all'} = [ keys %TAGS ];
+{
+ # Expand :all immediately by expanding and flattening all tags.
+ # _expand_tag is not really optimised for expanding the ":all"
+ # case (i.e. keys %TAGS, or values %TAGS for that matter), so we
+ # just do it here.
+ #
+ # NB: The %tag_cache/_expand_tag relies on $TAGS{':all'} being
+ # pre-expanded.
+ my %seen;
+ my @all = grep {
+ !/^:/ && !$seen{$_}++
+ } map { @{$_} } values %TAGS;
+ $TAGS{':all'} = \@all;
+}
# This hash contains subroutines for which we should
# subroutine() // die() rather than subroutine() || die()
@@ -147,10 +187,17 @@ my %Use_defined_or;
CORE::umask
)} = ();
+# Some functions can return true because they changed *some* things, but
+# not all of them. This is a list of offending functions, and how many
+# items to subtract from @_ to determine the "success" value they return.
-# A snippet of code to apply the open pragma to a handle
-
-
+my %Returns_num_things_changed = (
+ 'CORE::chmod' => 1,
+ 'CORE::chown' => 2,
+ 'CORE::kill' => 1, # TODO: Could this return anything on negative args?
+ 'CORE::unlink' => 0,
+ 'CORE::utime' => 2,
+);
# Optional actions to take on the return value before returning it.
@@ -199,6 +246,45 @@ my %Retval_action = (
},
);
+my %reusable_builtins;
+
+# "Wait!" I hear you cry, "truncate() and chdir() are not reuseable! They can
+# take file and directory handles, which are package depedent."
+#
+# You would be correct, except that prototype() returns signatures which don't
+# allow for passing of globs, and nobody's complained about that. You can
+# still use \*FILEHANDLE, but that results in a reference coming through,
+# and it's already pointing to the filehandle in the caller's packge, so
+# it's all okay.
+
+@reusable_builtins{qw(
+ CORE::fork
+ CORE::kill
+ CORE::truncate
+ CORE::chdir
+ CORE::link
+ CORE::unlink
+ CORE::rename
+ CORE::mkdir
+ CORE::symlink
+ CORE::rmdir
+ CORE::readlink
+ CORE::umask
+ CORE::chmod
+ CORE::chown
+ CORE::utime
+ CORE::msgctl
+ CORE::msgget
+ CORE::msgrcv
+ CORE::msgsnd
+ CORE::semctl
+ CORE::semget
+ CORE::semop
+ CORE::shmctl
+ CORE::shmget
+ CORE::shmread
+)} = ();
+
# Cached_fatalised_sub caches the various versions of our
# fatalised subs as they're produced. This means we don't
# have to build our own replacement of CORE::open and friends
@@ -226,6 +312,15 @@ my %Original_user_sub = ();
my %Is_fatalised_sub = ();
tie %Is_fatalised_sub, 'Tie::RefHash';
+# Our trampoline cache allows us to cache trampolines which are used to
+# bounce leaked wrapped core subroutines to their actual core counterparts.
+
+my %Trampoline_cache;
+
+# A cache mapping "CORE::<name>" to their prototype. Turns out that if
+# you "use autodie;" enough times, this pays off.
+my %CORE_prototype_cache;
+
# We use our package in a few hash-keys. Having it in a scalar is
# convenient. The "guard $PACKAGE" string is used as a key when
# setting up lexical guards.
@@ -275,16 +370,26 @@ sub import {
my @fatalise_these = @_;
- # Thiese subs will get unloaded at the end of lexical scope.
+ # These subs will get unloaded at the end of lexical scope.
my %unload_later;
+ # These subs are to be installed into callers namespace.
+ my %install_subs;
- # This hash helps us track if we've alredy done work.
- my %done_this;
-
- # NB: we're using while/shift rather than foreach, since
- # we'll be modifying the array as we walk through it.
-
- while (my $func = shift @fatalise_these) {
+ # Use _translate_import_args to expand tags for us. It will
+ # pass-through unknown tags (i.e. we have to manually handle
+ # VOID_TAG).
+ #
+ # NB: _translate_import_args re-orders everything for us, so
+ # we don't have to worry about stuff like:
+ #
+ # :default :void :io
+ #
+ # That will (correctly) translated into
+ #
+ # expand(:defaults-without-io) :void :io
+ #
+ # by _translate_import_args.
+ for my $func ($class->_translate_import_args(@fatalise_these)) {
if ($func eq VOID_TAG) {
@@ -295,31 +400,19 @@ sub import {
$insist_hints = 1;
- } elsif (exists $TAGS{$func}) {
-
- # When it's a tag, expand it.
- push(@fatalise_these, @{ $TAGS{$func} });
-
} else {
# Otherwise, fatalise it.
# Check to see if there's an insist flag at the front.
# If so, remove it, and insist we have hints for this sub.
- my $insist_this;
+ my $insist_this = $insist_hints;
- if ($func =~ s/^!//) {
+ if (substr($func, 0, 1) eq '!') {
+ $func = substr($func, 1);
$insist_this = 1;
}
- # TODO: Even if we've already fatalised, we should
- # check we've done it with hints (if $insist_hints).
-
- # If we've already made something fatal this call,
- # then don't do it twice.
-
- next if $done_this{$func};
-
# We're going to make a subroutine fatalistic.
# However if we're being invoked with 'use Fatal qw(x)'
# and we've already been called with 'no autodie qw(x)'
@@ -345,11 +438,9 @@ sub import {
my $sub_ref = $class->_make_fatal(
$func, $pkg, $void, $lexical, $filename,
- ( $insist_this || $insist_hints )
+ $insist_this, \%install_subs,
);
- $done_this{$func}++;
-
$Original_user_sub{$sub} ||= $sub_ref;
# If we're making lexical changes, we need to arrange
@@ -360,6 +451,8 @@ sub import {
}
}
+ $class->_install_subs($pkg, \%install_subs);
+
if ($lexical) {
# Dark magic to have autodie work under 5.8
@@ -412,18 +505,26 @@ sub _install_subs {
# It does not hurt to do this in a predictable order, and might help debugging.
foreach my $sub_name (sort keys %$subs_to_reinstate) {
- my $sub_ref= $subs_to_reinstate->{$sub_name};
-
- my $full_path = $pkg_sym.$sub_name;
- # Copy symbols across to temp area.
+ # We will repeatedly mess with stuff that strict "refs" does
+ # not like. So lets just disable it once for this entire
+ # scope.
+ no strict qw(refs); ## no critic
- no strict 'refs'; ## no critic
+ my $sub_ref= $subs_to_reinstate->{$sub_name};
- local *__tmp = *{ $full_path };
+ my $full_path = $pkg_sym.$sub_name;
+ my $oldglob = *$full_path;
# Nuke the old glob.
- { no strict; delete $pkg_sym->{$sub_name}; } ## no critic
+ delete $pkg_sym->{$sub_name};
+
+ # For some reason this local *alias = *$full_path triggers an
+ # "only used once" warning. Not entirely sure why, but at
+ # least it is easy to silence.
+ no warnings qw(once);
+ local *alias = *$full_path;
+ use warnings qw(once);
# Copy innocent bystanders back. Note that we lose
# formats; it seems that Perl versions up to 5.10.0
@@ -431,16 +532,12 @@ sub _install_subs {
# the scalar slot. Thanks to Ben Morrow for spotting this.
foreach my $slot (qw( SCALAR ARRAY HASH IO ) ) {
- next unless defined *__tmp{ $slot };
- *{ $full_path } = *__tmp{ $slot };
+ next unless defined *$oldglob{$slot};
+ *alias = *$oldglob{$slot};
}
- # Put back the old sub (if there was one).
-
if ($sub_ref) {
-
- no strict; ## no critic
- *{ $pkg_sym . $sub_name } = $sub_ref;
+ *$full_path = $sub_ref;
}
}
@@ -464,16 +561,9 @@ sub unimport {
# in which case, we disable Fatalistic behaviour for 'blah'.
my @unimport_these = @_ ? @_ : ':all';
+ my %uninstall_subs;
- while (my $symbol = shift @unimport_these) {
-
- if ($symbol =~ /^:/) {
-
- # Looks like a tag! Expand it!
- push(@unimport_these, @{ $TAGS{$symbol} });
-
- next;
- }
+ for my $symbol ($class->_translate_import_args(@unimport_these)) {
my $sub = $symbol;
$sub = "${pkg}::$sub" unless $sub =~ /::/;
@@ -493,29 +583,121 @@ sub unimport {
if (my $original_sub = $Original_user_sub{$sub}) {
# Hey, we've got an original one of these, put it back.
- $class->_install_subs($pkg, { $symbol => $original_sub });
+ $uninstall_subs{$symbol} = $original_sub;
next;
}
# We don't have an original copy of the sub, on the assumption
# it's core (or doesn't exist), we'll just nuke it.
- $class->_install_subs($pkg,{ $symbol => undef });
+ $uninstall_subs{$symbol} = undef;
}
+ $class->_install_subs($pkg, \%uninstall_subs);
+
return;
}
-# TODO - This is rather terribly inefficient right now.
+sub _translate_import_args {
+ my ($class, @args) = @_;
+ my @result;
+ my %seen;
+
+ if (@args < 2) {
+ # Optimize for this case, as it is fairly common. (e.g. use
+ # autodie; or use autodie qw(:all); both trigger this).
+ return unless @args;
+
+ # Not a (known) tag, pass through.
+ return @args unless exists($TAGS{$args[0]});
+
+ # Strip "CORE::" from all elements in the list as import and
+ # unimport does not handle the "CORE::" prefix too well.
+ #
+ # NB: we use substr as it is faster than s/^CORE::// and
+ # it does not change the elements.
+ return map { substr($_, 6) } @{ $class->_expand_tag($args[0]) };
+ }
+
+ # We want to translate
+ #
+ # :default :void :io
+ #
+ # into (pseudo-ish):
+ #
+ # expanded(:threads) :void expanded(:io)
+ #
+ # We accomplish this by "reverse, expand + filter, reverse".
+ for my $a (reverse(@args)) {
+ if (exists $TAGS{$a}) {
+ my $expanded = $class->_expand_tag($a);
+ push(@result,
+ # Remove duplicates after ...
+ grep { !$seen{$_}++ }
+ # we have stripped CORE:: (see above)
+ map { substr($_, 6) }
+ # We take the elements in reverse order
+ # (as @result be reversed later).
+ reverse(@{$expanded}));
+ } else {
+ # pass through - no filtering here for tags.
+ #
+ # The reason for not filtering tags cases like:
+ #
+ # ":default :void :io :void :threads"
+ #
+ # As we have reversed args, we see this as:
+ #
+ # ":threads :void :io :void* :default*"
+ #
+ # (Entries marked with "*" will be filtered out completely). When
+ # reversed again, this will be:
+ #
+ # ":io :void :threads"
+ #
+ # But we would rather want it to be:
+ #
+ # ":void :io :threads" or ":void :io :void :threads"
+ #
+
+ my $letter = substr($a, 0, 1);
+ if ($letter ne ':' && $a ne INSIST_TAG) {
+ next if $seen{$a}++;
+ if ($letter eq '!' and $seen{substr($a, 1)}++) {
+ my $name = substr($a, 1);
+ # People are being silly and doing:
+ #
+ # use autodie qw(!a a);
+ #
+ # Enjoy this little O(n) clean up...
+ @result = grep { $_ ne $name } @result;
+ }
+ }
+ push @result, $a;
+ }
+ }
+ # Reverse the result to restore the input order
+ return reverse(@result);
+}
+
# NB: Perl::Critic's dump-autodie-tag-contents depends upon this
# continuing to work.
{
- my %tag_cache;
+ # We assume that $TAGS{':all'} is pre-expanded and just fill it in
+ # from the beginning.
+ my %tag_cache = (
+ 'all' => [map { "CORE::$_" } @{$TAGS{':all'}}],
+ );
+ # Expand a given tag (e.g. ":default") into a listref containing
+ # all sub names covered by that tag. Each sub is returned as
+ # "CORE::<name>" (i.e. "CORE::open" rather than "open").
+ #
+ # NB: the listref must not be modified.
sub _expand_tag {
my ($class, $tag) = @_;
@@ -529,15 +711,33 @@ sub unimport {
my @to_process = @{$TAGS{$tag}};
+ # If the tag is basically an alias of another tag (like e.g. ":2.11"),
+ # then just share the resulting reference with the original content (so
+ # we only pay for an extra reference for the alias memory-wise).
+ if (@to_process == 1 && substr($to_process[0], 0, 1) eq ':') {
+ # We could do this for "non-tags" as well, but that only occurs
+ # once at the time of writing (":threads" => ["fork"]), so
+ # probably not worth it.
+ my $expanded = $class->_expand_tag($to_process[0]);
+ $tag_cache{$tag} = $expanded;
+ return $expanded;
+ }
+
+ my %seen = ();
my @taglist = ();
- while (my $item = shift @to_process) {
- if ($item =~ /^:/) {
- # Expand :tags
- push(@to_process, @{$TAGS{$item}} );
- }
- else {
- push(@taglist, "CORE::$item");
+ for my $item (@to_process) {
+ # substr is more efficient than m/^:/ for stuff like this,
+ # at the price of being a bit more verbose/low-level.
+ if (substr($item, 0, 1) eq ':') {
+ # Use recursion here to ensure we expand a tag at most once.
+
+ my $expanded = $class->_expand_tag($item);
+ push @taglist, grep { !$seen{$_}++ } @{$expanded};
+ } else {
+ my $subname = "CORE::$item";
+ push @taglist, $subname
+ unless $seen{$subname}++;
}
}
@@ -556,6 +756,12 @@ sub unimport {
sub fill_protos {
my $proto = shift;
my ($n, $isref, @out, @out1, $seen_semi) = -1;
+ if ($proto =~ m{^\s* (?: [;] \s*)? \@}x) {
+ # prototype is entirely slurp - special case that does not
+ # require any handling.
+ return ([0, '@_']);
+ }
+
while ($proto =~ /\S/) {
$n++;
push(@out1,[$n,@out]) if $seen_semi;
@@ -608,7 +814,7 @@ sub _write_invocation {
my $condition = "\@_ == $n";
- if (@argv and $argv[-1] =~ /#_/) {
+ 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.
@@ -702,7 +908,7 @@ sub _one_invocation {
# $call if the function is CORE
# $sub if our function is non-CORE
- # The reason for this is that $call is what we're actualling
+ # The reason for this is that $call is what we're actually
# calling. For our core functions, this is always
# CORE::something. However for user-defined subs, we're about to
# replace whatever it is that we're calling; as such, we actually
@@ -753,7 +959,7 @@ sub _one_invocation {
# We need to stash $@ into $E, rather than using
# local $@ for the whole sub. If we don't then
# any exceptions from internal errors in autodie/Fatal
- # will mysteriously disappear before propogating
+ # will mysteriously disappear before propagating
# upwards.
return qq{
@@ -849,6 +1055,30 @@ sub _one_invocation {
};
}
+ if (exists $Returns_num_things_changed{$call}) {
+
+ # Some things return the number of things changed (like
+ # chown, kill, chmod, etc). We only consider these successful
+ # if *all* the things are changed.
+
+ return qq[
+ my \$num_things = \@_ - $Returns_num_things_changed{$call};
+ my \$retval = $call(@argv);
+
+ if (\$retval != \$num_things) {
+
+ # We need \$context to throw an exception.
+ # It's *always* set to scalar, because that's how
+ # autodie calls chown() above.
+
+ my \$context = "scalar";
+ $die;
+ }
+
+ return \$retval;
+ ];
+ }
+
# AFAIK everything that can be given an unopned filehandle
# will fail if it tries to use it, so we don't really need
# the 'unopened' warning class here. Especially since they
@@ -966,11 +1196,21 @@ sub _one_invocation {
# TODO - BACKCOMPAT - This is not yet compatible with 5.10.0
sub _make_fatal {
- my($class, $sub, $pkg, $void, $lexical, $filename, $insist) = @_;
- my($name, $code, $sref, $real_proto, $proto, $core, $call, $hints);
+ my($class, $sub, $pkg, $void, $lexical, $filename, $insist, $install_subs) = @_;
+ my($code, $sref, $real_proto, $proto, $core, $call, $hints, $cache, $cache_type);
my $ini = $sub;
+ my $name = $sub;
+
+
+ if (index($sub, '::') == -1) {
+ $sub = "${pkg}::$sub";
+ if (substr($name, 0, 1) eq '&') {
+ $name = substr($name, 1);
+ }
+ } else {
+ $name =~ s/.*:://;
+ }
- $sub = "${pkg}::$sub" unless $sub =~ /::/;
# Figure if we're using lexical or package semantics and
# twiddle the appropriate bits.
@@ -982,8 +1222,6 @@ sub _make_fatal {
# TODO - We *should* be able to do skipping, since we know when
# we've lexicalised / unlexicalised a subroutine.
- $name = $sub;
- $name =~ s/.*::// or $name =~ s/^&//;
warn "# _make_fatal: sub=$sub pkg=$pkg name=$name void=$void\n" if $Debug;
croak(sprintf(ERROR_BADNAME, $class, $name)) unless $name =~ /^\w+$/;
@@ -998,7 +1236,7 @@ sub _make_fatal {
# This could be something that we've fatalised that
# was in core.
- if ( $Package_Fatal{$sub} and do { local $@; eval { prototype "CORE::$name" } } ) {
+ if ( $Package_Fatal{$sub} and exists($CORE_prototype_cache{"CORE::$name"})) {
# Something we previously made Fatal that was core.
# This is safe to replace with an autodying to core
@@ -1006,7 +1244,7 @@ sub _make_fatal {
$core = 1;
$call = "CORE::$name";
- $proto = prototype $call;
+ $proto = $CORE_prototype_cache{$call};
# We return our $sref from this subroutine later
# on, indicating this subroutine should be placed
@@ -1020,29 +1258,51 @@ sub _make_fatal {
# then look-up the name of the original sub for the rest of
# our processing.
- $sub = $Is_fatalised_sub{\&$sub} || $sub;
+ if (exists($Is_fatalised_sub{\&$sub})) {
+ # $sub is one of our wrappers around a CORE sub or a
+ # user sub. Instead of wrapping our wrapper, lets just
+ # generate a new wrapper for the original sub.
+ # - NB: the current wrapper might be for a different class
+ # than the one we are generating now (e.g. some limited
+ # mixing between use Fatal + use autodie can occur).
+ # - Even for nested autodie, we need this as the leak guards
+ # differ.
+ my $s = $Is_fatalised_sub{\&$sub};
+ if (defined($s)) {
+ # It is a wrapper for a user sub
+ $sub = $s;
+ } else {
+ # It is a wrapper for a CORE:: sub
+ $core = 1;
+ $call = "CORE::$name";
+ $proto = $CORE_prototype_cache{$call};
+ }
+ }
# A regular user sub, or a user sub wrapping a
# core sub.
$sref = \&$sub;
- $proto = prototype $sref;
- $call = '&$sref';
- require autodie::hints;
+ if (!$core) {
+ # A non-CORE sub might have hints and such...
+ $proto = prototype($sref);
+ $call = '&$sref';
+ require autodie::hints;
- $hints = autodie::hints->get_hints_for( $sref );
+ $hints = autodie::hints->get_hints_for( $sref );
- # If we've insisted on hints, but don't have them, then
- # bail out!
+ # If we've insisted on hints, but don't have them, then
+ # bail out!
- if ($insist and not $hints) {
- croak(sprintf(ERROR_NOHINTS, $name));
- }
+ if ($insist and not $hints) {
+ croak(sprintf(ERROR_NOHINTS, $name));
+ }
- # Otherwise, use the default hints if we don't have
- # any.
+ # Otherwise, use the default hints if we don't have
+ # any.
- $hints ||= autodie::hints::DEFAULT_HINTS();
+ $hints ||= autodie::hints::DEFAULT_HINTS();
+ }
}
@@ -1082,40 +1342,34 @@ sub _make_fatal {
}
$call = 'CORE::system';
- $name = 'system';
$core = 1;
} elsif ($name eq 'exec') {
# Exec doesn't have a prototype. We don't care. This
# breaks the exotic form with lexical scope, and gives
- # the regular form a "do or die" beaviour as expected.
+ # the regular form a "do or die" behavior as expected.
$call = 'CORE::exec';
- $name = 'exec';
$core = 1;
} else { # CORE subroutine
- my $E;
- {
- local $@;
- $proto = eval { prototype "CORE::$name" };
- $E = $@;
+ $call = "CORE::$name";
+ if (exists($CORE_prototype_cache{$call})) {
+ $proto = $CORE_prototype_cache{$call};
+ } else {
+ my $E;
+ {
+ local $@;
+ $proto = eval { prototype $call };
+ $E = $@;
+ }
+ croak(sprintf(ERROR_NOT_BUILT,$name)) if $E;
+ croak(sprintf(ERROR_CANT_OVERRIDE,$name)) if not defined $proto;
+ $CORE_prototype_cache{$call} = $proto;
}
- croak(sprintf(ERROR_NOT_BUILT,$name)) if $E;
- croak(sprintf(ERROR_CANT_OVERRIDE,$name)) if not defined $proto;
$core = 1;
- $call = "CORE::$name";
- }
-
- if (defined $proto) {
- $real_proto = " ($proto)";
- } else {
- $real_proto = '';
- $proto = '@';
}
- my $true_name = $core ? $call : $sub;
-
# TODO: This caching works, but I don't like using $void and
# $lexical as keys. In particular, I suspect our code may end up
# wrapping already wrapped code when autodie and Fatal are used
@@ -1126,48 +1380,43 @@ sub _make_fatal {
# results code that's in the wrong package, and hence has
# access to the wrong package filehandles.
- if (my $subref = $Cached_fatalised_sub{$class}{$sub}{$void}{$lexical}) {
- $class->_install_subs($pkg, { $name => $subref });
- return $sref;
+ $cache = $Cached_fatalised_sub{$class}{$sub};
+ if ($lexical) {
+ $cache_type = CACHE_AUTODIE_LEAK_GUARD;
+ } else {
+ $cache_type = CACHE_FATAL_WRAPPER;
+ $cache_type = CACHE_FATAL_VOID if $void;
}
- $code = qq[
- sub$real_proto {
- local(\$", \$!) = (', ', 0); # TODO - Why do we do this?
- ];
-
- # Don't have perl whine if exec fails, since we'll be handling
- # the exception now.
- $code .= "no warnings qw(exec);\n" if $call eq "CORE::exec";
-
- my @protos = fill_protos($proto);
- $code .= $class->_write_invocation($core, $call, $name, $void, $lexical, $sub, $sref, @protos);
- $code .= "}\n";
- warn $code if $Debug;
-
- # I thought that changing package was a monumental waste of
- # time for CORE subs, since they'll always be the same. However
- # that's not the case, since they may refer to package-based
- # filehandles (eg, with open).
- #
- # There is potential to more aggressively cache core subs
- # that we know will never want to interact with package variables
- # and filehandles.
-
- {
- no strict 'refs'; ## no critic # to avoid: Can't use string (...) as a symbol ref ...
-
- my $E;
+ if (my $subref = $cache->{$cache_type}) {
+ $install_subs->{$name} = $subref;
+ return $sref;
+ }
- {
- local $@;
- $code = eval("package $pkg; require Carp; $code"); ## no critic
- $E = $@;
+ # If our subroutine is reusable (ie, not package depdendent),
+ # then check to see if we've got a cached copy, and use that.
+ # See RT #46984. (Thanks to Niels Thykier for being awesome!)
+
+ if ($core && exists $reusable_builtins{$call}) {
+ # For non-lexical subs, we can just use this cache directly
+ # - for lexical variants, we need a leak guard as well.
+ $code = $reusable_builtins{$call}{$lexical};
+ if (!$lexical && defined($code)) {
+ $install_subs->{$name} = $code;
+ return $sref;
}
+ }
- if (not $code) {
- croak("Internal error in autodie/Fatal processing $true_name: $E");
-
+ if (!($lexical && $core) && !defined($code)) {
+ # No code available, generate it now.
+ my $wrapper_pkg = $pkg;
+ $wrapper_pkg = undef if (exists($reusable_builtins{$call}));
+ $code = $class->_compile_wrapper($wrapper_pkg, $core, $call, $name,
+ $void, $lexical, $sub, $sref,
+ $hints, $proto);
+ if (!defined($wrapper_pkg)) {
+ # cache it so we don't recompile this part again
+ $reusable_builtins{$call}{$lexical} = $code;
}
}
@@ -1182,86 +1431,24 @@ sub _make_fatal {
# TODO: This is pretty hairy code. A lot more tests would
# be really nice for this.
- my $leak_guard;
+ my $installed_sub = $code;
if ($lexical) {
-
- $leak_guard = qq<
- package $pkg;
-
- sub$real_proto {
-
- # If we're inside a string eval, we can end up with a
- # whacky filename. The following code allows autodie
- # to propagate correctly into string evals.
-
- my \$caller_level = 0;
-
- my \$caller;
-
- while ( (\$caller = (caller \$caller_level)[1]) =~ m{^\\(eval \\d+\\)\$} ) {
-
- # If our filename is actually an eval, and we
- # reach it, then go to our autodying code immediatately.
-
- goto &\$code if (\$caller eq \$filename);
- \$caller_level++;
- }
-
- # We're now out of the eval stack.
-
- # If we're called from the correct file, then use the
- # autodying code.
- goto &\$code if ((caller \$caller_level)[1] eq \$filename);
-
- # Oh bother, we've leaked into another file. Call the
- # original code. Note that \$sref may actually be a
- # reference to a Fatalised version of a core built-in.
- # That's okay, because Fatal *always* leaks between files.
-
- goto &\$sref if \$sref;
- >;
-
-
- # If we're here, it must have been a core subroutine called.
- # Warning: The following code may disturb some viewers.
-
- # TODO: It should be possible to combine this with
- # write_invocation().
-
- foreach my $proto (@protos) {
- local $" = ", "; # So @args is formatted correctly.
- my ($count, @args) = @$proto;
- $leak_guard .= qq<
- if (\@_ == $count) {
- return $call(@args);
- }
- >;
- }
-
- $leak_guard .= qq< Carp::croak("Internal error in Fatal/autodie. Leak-guard failure"); } >;
-
- # warn "$leak_guard\n";
-
- my $E;
- {
- local $@;
-
- $leak_guard = eval $leak_guard; ## no critic
-
- $E = $@;
+ my $real_proto = '';
+ if (defined $proto) {
+ $real_proto = " ($proto)";
+ } else {
+ $proto = '@';
}
-
- die "Internal error in $class: Leak-guard installation failure: $E" if $E;
+ $installed_sub = $class->_make_leak_guard($filename, $code, $sref, $call,
+ $pkg, $proto, $real_proto);
}
- my $installed_sub = $leak_guard || $code;
-
- $class->_install_subs($pkg, { $name => $installed_sub });
+ $cache->{$cache_type} = $code;
- $Cached_fatalised_sub{$class}{$sub}{$void}{$lexical} = $installed_sub;
+ $install_subs->{$name} = $installed_sub;
- # Cache that we've now overriddent this sub. If we get called
+ # Cache that we've now overridden this sub. If we get called
# again, we may need to find that find subroutine again (eg, for hints).
$Is_fatalised_sub{$installed_sub} = $sref;
@@ -1320,10 +1507,249 @@ sub exception_class { return "autodie::exception" };
}
}
+# Creates and returns a leak guard (with prototype if needed).
+sub _make_leak_guard {
+ my ($class, $filename, $wrapped_sub, $orig_sub, $call, $pkg, $proto, $real_proto) = @_;
+
+ # The leak guard is rather lengthly (in fact it makes up the most
+ # of _make_leak_guard). It is possible to split it into a large
+ # "generic" part and a small wrapper with call-specific
+ # information. This was done in v2.19 and profiling suggested
+ # that we ended up using a substantial amount of runtime in "goto"
+ # between the leak guard(s) and the final sub. Therefore, the two
+ # parts were merged into one to reduce the runtime overhead.
+
+ my $leak_guard = sub {
+ my $caller_level = 0;
+ my $caller;
+
+ while ( ($caller = (caller $caller_level)[1]) =~ m{^\(eval \d+\)$} ) {
+
+ # If our filename is actually an eval, and we
+ # reach it, then go to our autodying code immediatately.
+
+ last if ($caller eq $filename);
+ $caller_level++;
+ }
+
+ # We're now out of the eval stack.
+
+ if ($caller eq $filename) {
+ # No leak, call the wrapper. NB: In this case, it doesn't
+ # matter if it is a CORE sub or not.
+ if (!defined($wrapped_sub)) {
+ # CORE sub that we were too lazy to compile when we
+ # created this leak guard.
+ die "$call is not CORE::<something>"
+ if substr($call, 0, 6) ne 'CORE::';
+
+ my $name = substr($call, 6);
+ my $sub = $name;
+ my $lexical = 1;
+ my $wrapper_pkg = $pkg;
+ my $code;
+ if (exists($reusable_builtins{$call})) {
+ $code = $reusable_builtins{$call}{$lexical};
+ $wrapper_pkg = undef;
+ }
+ if (!defined($code)) {
+ $code = $class->_compile_wrapper($wrapper_pkg,
+ 1, # core
+ $call,
+ $name,
+ 0, # void
+ $lexical,
+ $sub,
+ undef, # subref (not used for core)
+ undef, # hints (not used for core)
+ $proto);
+
+ if (!defined($wrapper_pkg)) {
+ # cache it so we don't recompile this part again
+ $reusable_builtins{$call}{$lexical} = $code;
+ }
+ }
+ # As $wrapped_sub is "closed over", updating its value will
+ # be "remembered" for the next call.
+ $wrapped_sub = $code;
+ }
+ goto $wrapped_sub;
+ }
+
+ # We leaked, time to call the original function.
+ # - for non-core functions that will be $orig_sub
+ # - for CORE functions, $orig_sub may be a trampoline
+ goto $orig_sub if defined($orig_sub);
+
+ # We are wrapping a CORE sub and we do not have a trampoline
+ # yet.
+ #
+ # If we've cached a trampoline, then use it. Usually only
+ # resuable subs will have cache hits, but non-reusuably ones
+ # can get it as well in (very) rare cases. It is mostly in
+ # cases where a package uses autodie multiple times and leaks
+ # from multiple places. Possibly something like:
+ #
+ # package Pkg::With::LeakyCode;
+ # sub a {
+ # use autodie;
+ # code_that_leaks();
+ # }
+ #
+ # sub b {
+ # use autodie;
+ # more_leaky_code();
+ # }
+ #
+ # Note that we use "Fatal" as package name for reusable subs
+ # because A) that allows us to trivially re-use the
+ # trampolines as well and B) because the reusable sub is
+ # compiled into "package Fatal" as well.
+
+ $pkg = 'Fatal' if exists $reusable_builtins{$call};
+ $orig_sub = $Trampoline_cache{$pkg}{$call};
+
+ if (not $orig_sub) {
+ # If we don't have a trampoline, we need to build it.
+ #
+ # We only generate trampolines when we need them, and
+ # we can cache them by subroutine + package.
+ #
+ # As $orig_sub is "closed over", updating its value will
+ # be "remembered" for the next call.
+
+ $orig_sub = _make_core_trampoline($call, $pkg, $proto);
+
+ # We still cache it despite remembering it in $orig_sub as
+ # well. In particularly, we rely on this to avoid
+ # re-compiling the reusable trampolines.
+ $Trampoline_cache{$pkg}{$call} = $orig_sub;
+ }
+
+ # Bounce to our trampoline, which takes us to our core sub.
+ goto $orig_sub;
+ }; # <-- end of leak guard
+
+ # If there is a prototype on the original sub, copy it to the leak
+ # guard.
+ if ($real_proto ne '') {
+ # The "\&" may appear to be redundant but set_prototype
+ # croaks when it is removed.
+ set_prototype(\&$leak_guard, $proto);
+ }
+
+ return $leak_guard;
+}
+
+# Create a trampoline for calling a core sub. Essentially, a tiny sub
+# that figures out how we should be calling our core sub, puts in the
+# arguments in the right way, and bounces our control over to it.
+#
+# If we could use `goto &` on core builtins, we wouldn't need this.
+sub _make_core_trampoline {
+ my ($call, $pkg, $proto_str) = @_;
+ my $trampoline_code = 'sub {';
+ my $trampoline_sub;
+ my @protos = fill_protos($proto_str);
+
+ # TODO: It may be possible to combine this with write_invocation().
+
+ foreach my $proto (@protos) {
+ local $" = ", "; # So @args is formatted correctly.
+ my ($count, @args) = @$proto;
+ if (@args && $args[-1] =~ m/[@#]_/) {
+ $trampoline_code .= qq/
+ if (\@_ >= $count) {
+ return $call(@args);
+ }
+ /;
+ } else {
+ $trampoline_code .= qq<
+ if (\@_ == $count) {
+ return $call(@args);
+ }
+ >;
+ }
+ }
+
+ $trampoline_code .= qq< Carp::croak("Internal error in Fatal/autodie. Leak-guard failure"); } >;
+ my $E;
+
+ {
+ local $@;
+ $trampoline_sub = eval "package $pkg;\n $trampoline_code"; ## no critic
+ $E = $@;
+ }
+ die "Internal error in Fatal/autodie: Leak-guard installation failure: $E"
+ if $E;
+
+ return $trampoline_sub;
+}
+
+sub _compile_wrapper {
+ my ($class, $wrapper_pkg, $core, $call, $name, $void, $lexical, $sub, $sref, $hints, $proto) = @_;
+ my $real_proto = '';
+ my @protos;
+ my $code;
+ if (defined $proto) {
+ $real_proto = " ($proto)";
+ } else {
+ $proto = '@';
+ }
+
+ @protos = fill_protos($proto);
+ $code = qq[
+ sub$real_proto {
+ ];
+
+ if (!$lexical) {
+ $code .= q[
+ local($", $!) = (', ', 0);
+ ];
+ }
+
+ # Don't have perl whine if exec fails, since we'll be handling
+ # the exception now.
+ $code .= "no warnings qw(exec);\n" if $call eq "CORE::exec";
+
+ $code .= $class->_write_invocation($core, $call, $name, $void, $lexical,
+ $sub, $sref, @protos);
+ $code .= "}\n";
+ warn $code if $Debug;
+
+ # I thought that changing package was a monumental waste of
+ # time for CORE subs, since they'll always be the same. However
+ # that's not the case, since they may refer to package-based
+ # filehandles (eg, with open).
+ #
+ # The %reusable_builtins hash defines ones we can aggressively
+ # cache as they never depend upon package-based symbols.
+
+ my $E;
+
+ {
+ no strict 'refs'; ## no critic # to avoid: Can't use string (...) as a symbol ref ...
+ local $@;
+ if (defined($wrapper_pkg)) {
+ $code = eval("package $wrapper_pkg; require Carp; $code"); ## no critic
+ } else {
+ $code = eval("require Carp; $code"); ## no critic
+
+ }
+ $E = $@;
+ }
+
+ if (not $code) {
+ my $true_name = $core ? $call : $sub;
+ croak("Internal error in autodie/Fatal processing $true_name: $E");
+ }
+ return $code;
+}
+
# For some reason, dying while replacing our subs doesn't
# kill our calling program. It simply stops the loading of
# autodie and keeps going with everything else. The _autocroak
-# sub allows us to die with a vegence. It should *only* ever be
+# sub allows us to die with a vengeance. It should *only* ever be
# used for serious internal errors, since the results of it can't
# be captured.
@@ -1481,4 +1907,6 @@ L<autodie> for a nicer way to use lexical Fatal.
L<IPC::System::Simple> for a similar idea for calls to C<system()>
and backticks.
+=for Pod::Coverage exception_class fill_protos one_invocation throw write_invocation ERROR_NO_IPC_SYS_SIMPLE LEXICAL_TAG
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/File/Basename.pm b/Master/tlpkg/tlperl/lib/File/Basename.pm
index ad98d24d194..4b4fe95cfd7 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.84";
+$VERSION = "2.85";
fileparse_set_fstype($^O);
@@ -64,14 +64,14 @@ fileparse_set_fstype($^O);
=item C<fileparse>
X<fileparse>
- my($filename, $directories, $suffix) = fileparse($path);
- my($filename, $directories, $suffix) = fileparse($path, @suffixes);
- my $filename = fileparse($path, @suffixes);
+ my($filename, $dirs, $suffix) = fileparse($path);
+ my($filename, $dirs, $suffix) = fileparse($path, @suffixes);
+ my $filename = fileparse($path, @suffixes);
-The C<fileparse()> routine divides a file path into its $directories, $filename
+The C<fileparse()> routine divides a file path into its $dirs, $filename
and (optionally) the filename $suffix.
-$directories contains everything up to and including the last
+$dirs contains everything up to and including the last
directory separator in the $path including the volume (if applicable).
The remainder of the $path is the $filename.
@@ -95,7 +95,7 @@ If type is non-Unix (see L</fileparse_set_fstype>) then the pattern
matching for suffix removal is performed case-insensitively, since
those systems are not case-sensitive when opening existing files.
-You are guaranteed that C<$directories . $filename . $suffix> will
+You are guaranteed that C<$dirs . $filename . $suffix> will
denote the same location as the original $path.
=cut
@@ -250,10 +250,10 @@ C<fileparse()>.
Only on VMS (where there is no ambiguity between the file and directory
portions of a path) and AmigaOS (possibly due to an implementation quirk in
this module) does C<dirname()> work like C<fileparse($path)>, returning just the
-$directories.
+$dirs.
# On VMS and AmigaOS
- my $directories = dirname($path);
+ my $dirs = dirname($path);
When using Unix or MSDOS syntax this emulates the C<dirname(1)> shell function
which is subtly different from how C<fileparse()> works. It returns all but
diff --git a/Master/tlpkg/tlperl/lib/File/CheckTree.pm b/Master/tlpkg/tlperl/lib/File/CheckTree.pm
deleted file mode 100644
index 8107c7ac689..00000000000
--- a/Master/tlpkg/tlperl/lib/File/CheckTree.pm
+++ /dev/null
@@ -1,240 +0,0 @@
-package File::CheckTree;
-
-use 5.006;
-use Cwd;
-use Exporter;
-use File::Spec;
-use warnings;
-use strict;
-
-use if $] > 5.017, 'deprecate';
-
-our $VERSION = '4.42';
-our @ISA = qw(Exporter);
-our @EXPORT = qw(validate);
-
-=head1 NAME
-
-File::CheckTree - run many filetest checks on a tree
-
-=head1 SYNOPSIS
-
- use File::CheckTree;
-
- $num_warnings = validate( q{
- /vmunix -e || die
- /boot -e || die
- /bin cd
- csh -ex
- csh !-ug
- sh -ex
- sh !-ug
- /usr -d || warn "What happened to $file?\n"
- });
-
-=head1 DESCRIPTION
-
-The validate() routine takes a single multiline string consisting of
-directives, each containing a filename plus a file test to try on it.
-(The file test may also be a "cd", causing subsequent relative filenames
-to be interpreted relative to that directory.) After the file test
-you may put C<|| die> to make it a fatal error if the file test fails.
-The default is C<|| warn>. The file test may optionally have a "!' prepended
-to test for the opposite condition. If you do a cd and then list some
-relative filenames, you may want to indent them slightly for readability.
-If you supply your own die() or warn() message, you can use $file to
-interpolate the filename.
-
-Filetests may be bunched: "-rwx" tests for all of C<-r>, C<-w>, and C<-x>.
-Only the first failed test of the bunch will produce a warning.
-
-The routine returns the number of warnings issued.
-
-=head1 AUTHOR
-
-File::CheckTree was derived from lib/validate.pl which was
-written by Larry Wall.
-Revised by Paul Grassie <F<grassie@perl.com>> in 2002.
-
-=head1 HISTORY
-
-File::CheckTree used to not display fatal error messages.
-It used to count only those warnings produced by a generic C<|| warn>
-(and not those in which the user supplied the message). In addition,
-the validate() routine would leave the user program in whatever
-directory was last entered through the use of "cd" directives.
-These bugs were fixed during the development of perl 5.8.
-The first fixed version of File::CheckTree was 4.2.
-
-=cut
-
-my $Warnings;
-
-sub validate {
- my ($starting_dir, $file, $test, $cwd, $oldwarnings);
-
- $starting_dir = cwd;
-
- $cwd = "";
- $Warnings = 0;
-
- foreach my $check (split /\n/, $_[0]) {
- my ($testlist, @testlist);
-
- # skip blanks/comments
- next if $check =~ /^\s*#/ || $check =~ /^\s*$/;
-
- # Todo:
- # should probably check for invalid directives and die
- # but earlier versions of File::CheckTree did not do this either
-
- # split a line like "/foo -r || die"
- # so that $file is "/foo", $test is "-r || die"
- # (making special allowance for quoted filenames).
- if ($check =~ m/^\s*"([^"]+)"\s+(.*?)\s*$/ or
- $check =~ m/^\s*'([^']+)'\s+(.*?)\s*$/ or
- $check =~ m/^\s*(\S+?)\s+(\S.*?)\s*$/)
- {
- ($file, $test) = ($1,$2);
- }
- else {
- die "Malformed line: '$check'";
- };
-
- # change a $test like "!-ug || die" to "!-Z || die",
- # capturing the bundled tests (e.g. "ug") in $2
- if ($test =~ s/ ^ (!?-) (\w{2,}) \b /$1Z/x) {
- $testlist = $2;
- # split bundled tests, e.g. "ug" to 'u', 'g'
- @testlist = split(//, $testlist);
- }
- else {
- # put in placeholder Z for stand-alone test
- @testlist = ('Z');
- }
-
- # will compare these two later to stop on 1st warning w/in a bundle
- $oldwarnings = $Warnings;
-
- foreach my $one (@testlist) {
- # examples of $test: "!-Z || die" or "-w || warn"
- my $this = $test;
-
- # expand relative $file to full pathname if preceded by cd directive
- $file = File::Spec->catfile($cwd, $file)
- if $cwd && !File::Spec->file_name_is_absolute($file);
-
- # put filename in after the test operator
- $this =~ s/(-\w\b)/$1 "\$file"/g;
-
- # change the "-Z" representing a bundle with the $one test
- $this =~ s/-Z/-$one/;
-
- # if it's a "cd" directive...
- if ($this =~ /^cd\b/) {
- # add "|| die ..."
- $this .= ' || die "cannot cd to $file\n"';
- # expand "cd" directive with directory name
- $this =~ s/\bcd\b/chdir(\$cwd = '$file')/;
- }
- else {
- # add "|| warn" as a default disposition
- $this .= ' || warn' unless $this =~ /\|\|/;
-
- # change a generic ".. || die" or ".. || warn"
- # to call valmess instead of die/warn directly
- # valmess will look up the error message from %Val_Message
- $this =~ s/ ^ ( (\S+) \s+ \S+ ) \s* \|\| \s* (die|warn) \s* $
- /$1 || valmess('$3', '$2', \$file)/x;
- }
-
- {
- # count warnings, either from valmess or '-r || warn "my msg"'
- # also, call any pre-existing signal handler for __WARN__
- my $orig_sigwarn = $SIG{__WARN__};
- local $SIG{__WARN__} = sub {
- ++$Warnings;
- if ( $orig_sigwarn ) {
- $orig_sigwarn->(@_);
- }
- else {
- warn "@_";
- }
- };
-
- # do the test
- eval $this;
-
- # 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) {
- chdir($starting_dir) || die "$starting_dir: $!";
- }
- die $err;
- }
- }
-
- # stop on 1st warning within a bundle of tests
- last if $Warnings > $oldwarnings;
- }
- }
-
- # in case of any cd directives, return from whence we came
- if ($starting_dir ne cwd) {
- chdir($starting_dir) || die "chdir $starting_dir: $!";
- }
-
- return $Warnings;
-}
-
-my %Val_Message = (
- 'r' => "is not readable by uid $>.",
- 'w' => "is not writable by uid $>.",
- 'x' => "is not executable by uid $>.",
- 'o' => "is not owned by uid $>.",
- 'R' => "is not readable by you.",
- 'W' => "is not writable by you.",
- 'X' => "is not executable by you.",
- 'O' => "is not owned by you.",
- 'e' => "does not exist.",
- 'z' => "does not have zero size.",
- 's' => "does not have non-zero size.",
- 'f' => "is not a plain file.",
- 'd' => "is not a directory.",
- 'l' => "is not a symbolic link.",
- 'p' => "is not a named pipe (FIFO).",
- 'S' => "is not a socket.",
- 'b' => "is not a block special file.",
- 'c' => "is not a character special file.",
- 'u' => "does not have the setuid bit set.",
- 'g' => "does not have the setgid bit set.",
- 'k' => "does not have the sticky bit set.",
- 'T' => "is not a text file.",
- 'B' => "is not a binary file."
-);
-
-sub valmess {
- my ($disposition, $test, $file) = @_;
- my $ferror;
-
- if ($test =~ / ^ (!?) -(\w) \s* $ /x) {
- my ($neg, $ftype) = ($1, $2);
-
- $ferror = "$file $Val_Message{$ftype}";
-
- if ($neg eq '!') {
- $ferror =~ s/ is not / should not be / ||
- $ferror =~ s/ does not / should not / ||
- $ferror =~ s/ not / /;
- }
- }
- else {
- $ferror = "Can't do $test $file.\n";
- }
-
- die "$ferror\n" if $disposition eq 'die';
- warn "$ferror\n";
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/File/Copy.pm b/Master/tlpkg/tlperl/lib/File/Copy.pm
index 19a5838c0a8..95fb4e18f34 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.26';
+$VERSION = '2.30';
require Exporter;
@ISA = qw(Exporter);
@@ -41,44 +41,6 @@ sub carp {
goto &Carp::carp;
}
-# Look up the feature settings on VMS using VMS::Feature when available.
-
-my $use_vms_feature = 0;
-BEGIN {
- if ($^O eq 'VMS') {
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
- $use_vms_feature = 1;
- }
- }
-}
-
-# Need to look up the UNIX report mode. This may become a dynamic mode
-# in the future.
-sub _vms_unix_rpt {
- my $unix_rpt;
- if ($use_vms_feature) {
- $unix_rpt = VMS::Feature::current("filename_unix_report");
- } else {
- my $env_unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
- $unix_rpt = $env_unix_rpt =~ /^[ET1]/i;
- }
- return $unix_rpt;
-}
-
-# Need to look up the EFS character set mode. This may become a dynamic
-# mode in the future.
-sub _vms_efs {
- my $efs;
- if ($use_vms_feature) {
- $efs = VMS::Feature::current("efs_charset");
- } else {
- my $env_efs = $ENV{'DECC$EFS_CHARSET'} || '';
- $efs = $env_efs =~ /^[ET1]/i;
- }
- return $efs;
-}
-
-
sub _catname {
my($from, $to) = @_;
if (not defined &basename) {
@@ -158,50 +120,21 @@ sub copy {
&& !($from_a_handle && $^O eq 'NetWare')
)
{
- my $copy_to = $to;
-
- if ($^O eq 'VMS' && -e $from) {
-
- if (! -d $to && ! -d $from) {
-
- my $vms_efs = _vms_efs();
- my $unix_rpt = _vms_unix_rpt();
- my $unix_mode = 0;
- my $from_unix = 0;
- $from_unix = 1 if ($from =~ /^\.\.?$/);
- my $from_vms = 0;
- $from_vms = 1 if ($from =~ m#[\[<\]]#);
-
- # Need to know if we are in Unix mode.
- if ($from_vms == $from_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $from_unix;
- }
-
- # VMS has sticky defaults on extensions, which means that
- # if there is a null extension on the destination file, it
- # will inherit the extension of the source file
- # So add a '.' for a null extension.
-
- # In unix_rpt mode, the trailing dot should not be added.
-
- if ($vms_efs) {
- $copy_to = $to;
- } else {
- $copy_to = VMS::Filespec::vmsify($to);
- }
- my ($vol, $dirs, $file) = File::Spec->splitpath($copy_to);
- $file = $file . '.'
- unless (($file =~ /(?<!\^)\./) || $unix_rpt);
- $copy_to = File::Spec->catpath($vol, $dirs, $file);
-
- # Get rid of the old versions to be like UNIX
- 1 while unlink $copy_to;
- }
+ if ($^O eq 'VMS' && -e $from
+ && ! -d $to && ! -d $from) {
+
+ # VMS natively inherits path components from the source of a
+ # copy, but we want the Unixy behavior of inheriting from
+ # the current working directory. Also, default in a trailing
+ # dot for null file types.
+
+ $to = VMS::Filespec::rmsexpand(VMS::Filespec::vmsify($to), '.');
+
+ # Get rid of the old versions to be like UNIX
+ 1 while unlink $to;
}
- return syscopy($from, $copy_to) || 0;
+ return syscopy($from, $to) || 0;
}
my $closefrom = 0;
@@ -331,49 +264,21 @@ sub _move {
unlink $to;
}
- my $rename_to = $to;
- if (-$^O eq 'VMS' && -e $from) {
-
- if (! -d $to && ! -d $from) {
-
- my $vms_efs = _vms_efs();
- my $unix_rpt = _vms_unix_rpt();
- my $unix_mode = 0;
- my $from_unix = 0;
- $from_unix = 1 if ($from =~ /^\.\.?$/);
- my $from_vms = 0;
- $from_vms = 1 if ($from =~ m#[\[<\]]#);
-
- # Need to know if we are in Unix mode.
- if ($from_vms == $from_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $from_unix;
- }
-
- # VMS has sticky defaults on extensions, which means that
- # if there is a null extension on the destination file, it
- # will inherit the extension of the source file
- # So add a '.' for a null extension.
-
- # In unix_rpt mode, the trailing dot should not be added.
-
- if ($vms_efs) {
- $rename_to = $to;
- } else {
- $rename_to = VMS::Filespec::vmsify($to);
- }
- my ($vol, $dirs, $file) = File::Spec->splitpath($rename_to);
- $file = $file . '.'
- unless (($file =~ /(?<!\^)\./) || $unix_rpt);
- $rename_to = File::Spec->catpath($vol, $dirs, $file);
+ if ($^O eq 'VMS' && -e $from
+ && ! -d $to && ! -d $from) {
+
+ # VMS natively inherits path components from the source of a
+ # copy, but we want the Unixy behavior of inheriting from
+ # the current working directory. Also, default in a trailing
+ # dot for null file types.
+
+ $to = VMS::Filespec::rmsexpand(VMS::Filespec::vmsify($to), '.');
# Get rid of the old versions to be like UNIX
- 1 while unlink $rename_to;
- }
+ 1 while unlink $to;
}
- return 1 if rename $from, $rename_to;
+ return 1 if rename $from, $to;
# Did rename return an error even though it succeeded, because $to
# is on a remote NFS file system, and NFS lost the server's ack?
@@ -435,9 +340,9 @@ File::Copy - Copy files or filehandles
use File::Copy;
- copy("file1","file2") or die "Copy failed: $!";
+ copy("sourcefile","destinationfile") or die "Copy failed: $!";
copy("Copy.pm",\*STDOUT);
- move("/dev1/fileA","/dev2/fileB");
+ move("/dev1/sourcefile","/dev2/destinationfile");
use File::Copy "cp";
@@ -461,8 +366,11 @@ argument may be a string, a FileHandle reference or a FileHandle
glob. Obviously, if the first argument is a filehandle of some
sort, it will be read from, and if it is a file I<name> it will
be opened for reading. Likewise, the second argument will be
-written to (and created if need be). Trying to copy a file on top
-of itself is an error.
+written to. If the second argument does not exist but the parent
+directory does exist, then it will be created. Trying to copy
+a file into a non-existent directory is an error.
+Trying to copy a file on top of itself is also an error.
+C<copy> will not overwrite read-only files.
If the destination (second argument) already exists and is a directory,
and the source (first argument) is not a filehandle, then the source
diff --git a/Master/tlpkg/tlperl/lib/File/DosGlob.pm b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
index c90bebb2780..9d40a363470 100644
--- a/Master/tlpkg/tlperl/lib/File/DosGlob.pm
+++ b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
@@ -6,7 +6,7 @@
package File::DosGlob;
-our $VERSION = '1.10';
+our $VERSION = '1.12';
use strict;
use warnings;
@@ -156,7 +156,7 @@ sub glob {
}
#print "Sould have "GOT" vs "Got"!\n";
#FIXME: There should be checking for this.
- # How or what should be done about failure is beond me.
+ # How or what should be done about failure is beyond me.
}
if ( $#appendpat != -1
) {
@@ -257,7 +257,7 @@ glob()
=head1 BUGS
Should probably be built into the core, and needs to stop
-pandering to DOS habits. Needs a dose of optimizium too.
+pandering to DOS habits. Needs a dose of optimization too.
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/File/Fetch.pm b/Master/tlpkg/tlperl/lib/File/Fetch.pm
index 37f7bc6ca9e..7d6a263e2bf 100644
--- a/Master/tlpkg/tlperl/lib/File/Fetch.pm
+++ b/Master/tlpkg/tlperl/lib/File/Fetch.pm
@@ -19,27 +19,30 @@ use Locale::Maketext::Simple Style => 'gettext';
use vars qw[ $VERBOSE $PREFER_BIN $FROM_EMAIL $USER_AGENT
$BLACKLIST $METHOD_FAIL $VERSION $METHODS
- $FTP_PASSIVE $TIMEOUT $DEBUG $WARN
+ $FTP_PASSIVE $TIMEOUT $DEBUG $WARN $FORCEIPV4
];
-$VERSION = '0.38';
+$VERSION = '0.48';
$VERSION = eval $VERSION; # avoid warnings with development releases
$PREFER_BIN = 0; # XXX TODO implement
$FROM_EMAIL = 'File-Fetch@example.com';
$USER_AGENT = "File::Fetch/$VERSION";
$BLACKLIST = [qw|ftp|];
+push @$BLACKLIST, qw|lftp| if $^O eq 'dragonfly';
$METHOD_FAIL = { };
$FTP_PASSIVE = 1;
$TIMEOUT = 0;
$DEBUG = 0;
$WARN = 1;
+$FORCEIPV4 = 0;
### methods available to fetch the file depending on the scheme
$METHODS = {
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| ]
+ rsync => [ qw|rsync| ],
+ git => [ qw|git| ],
};
### silly warnings ###
@@ -87,7 +90,7 @@ File::Fetch - A generic file fetching mechanism
File::Fetch is a generic file fetching mechanism.
It allows you to fetch any file pointed to by a C<ftp>, C<http>,
-C<file>, or C<rsync> uri by a number of different means.
+C<file>, C<git> or C<rsync> uri by a number of different means.
See the C<HOW IT WORKS> section further down for details.
@@ -1194,6 +1197,8 @@ sub _curl_fetch {
### these long opts are self explanatory - I like that -jmb
my $cmd = [ $curl, '-q' ];
+ push(@$cmd, '-4') if $^O eq 'netbsd' && $FORCEIPV4; # only seen this on NetBSD so far
+
push(@$cmd, '--connect-timeout', $TIMEOUT) if $TIMEOUT;
push(@$cmd, '--silent') unless $DEBUG;
@@ -1402,6 +1407,52 @@ sub _rsync_fetch {
}
+### use git to fetch files
+sub _git_fetch {
+ my $self = shift;
+ my %hash = @_;
+
+ my ($to);
+ my $tmpl = {
+ to => { required => 1, store => \$to }
+ };
+ check( $tmpl, \%hash ) or return;
+ my $git;
+ unless ( $git = can_run('git') ) {
+ $METHOD_FAIL->{'git'} = 1;
+ return;
+ }
+
+ my $cmd = [ $git, 'clone' ];
+
+ #push(@$cmd, '--timeout=' . $TIMEOUT) if $TIMEOUT;
+
+ push(@$cmd, '--quiet') unless $DEBUG;
+
+ ### DO NOT quote things for IPC::Run, it breaks stuff.
+ push @$cmd, $self->uri, $to;
+
+ ### 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);
+
+ my $captured;
+ unless(run( command => $cmd,
+ buffer => \$captured,
+ verbose => $DEBUG )
+ ) {
+
+ return $self->_error(loc("Command %1 failed: %2",
+ "@$cmd" || '', $captured || ''));
+ }
+
+ return $to;
+
+}
+
#################################
#
# Error code
@@ -1454,6 +1505,7 @@ for what schemes, if available:
http => LWP, HTTP::Lite, wget, curl, lftp, fetch, lynx, iosock
ftp => LWP, Net::FTP, wget, curl, lftp, fetch, ncftp, ftp
rsync => rsync
+ git => git
If you'd like to disable the use of one or more of these utilities
and/or modules, see the C<$BLACKLIST> variable further down.
@@ -1470,6 +1522,8 @@ 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.
+C<git> only supports C<git://> style urls.
+
A special note about fetching files from an ftp uri:
By default, all ftp connections are done in passive mode. To change
diff --git a/Master/tlpkg/tlperl/lib/File/Find.pm b/Master/tlpkg/tlperl/lib/File/Find.pm
index d1dbc522584..6cfdb59aef3 100644
--- a/Master/tlpkg/tlperl/lib/File/Find.pm
+++ b/Master/tlpkg/tlperl/lib/File/Find.pm
@@ -3,7 +3,7 @@ use 5.006;
use strict;
use warnings;
use warnings::register;
-our $VERSION = '1.23';
+our $VERSION = '1.27';
require Exporter;
require Cwd;
@@ -299,7 +299,7 @@ situations. You can disable these warnings by putting the statement
no warnings 'File::Find';
-in the appropriate scope. See L<perllexwarn> for more info about lexical
+in the appropriate scope. See L<warnings> for more info about lexical
warnings.
=head1 CAVEAT
@@ -488,7 +488,7 @@ sub _find_opt {
$cwd = VMS::Filespec::unixpath($cwd);
# Apparently this is not expected to have a trailing space.
- # To attempt to make VMS/UNIX conversions mostly reversable,
+ # To attempt to make VMS/UNIX conversions mostly reversible,
# a trailing slash is needed. The run-time functions ignore the
# resulting double slash, but it causes the perl tests to fail.
$cwd =~ s#/\z##;
@@ -809,7 +809,7 @@ sub _find_dir($$$) {
else {
$tmp = join('/',('..') x ($CdLvl-$Level));
}
- die "Can't cd to $tmp from $dir_name"
+ die "Can't cd to $tmp from $dir_name: $!"
unless chdir ($tmp);
$CdLvl = $Level;
}
@@ -982,14 +982,16 @@ sub _find_dir_symlnk($$$) {
# ignore if invalid symlink
unless (defined $new_loc) {
if (!defined -l _ && $dangling_symlinks) {
+ $fullname = undef;
if (ref $dangling_symlinks eq 'CODE') {
$dangling_symlinks->($FN, $dir_pref);
} else {
warnings::warnif "$dir_pref$FN is a dangling symbolic link\n";
}
}
-
- $fullname = undef;
+ else {
+ $fullname = $loc_pref . $FN;
+ }
$name = $dir_pref . $FN;
$_ = ($no_chdir ? $name : $FN);
{ $wanted_callback->() };
diff --git a/Master/tlpkg/tlperl/lib/File/Glob.pm b/Master/tlpkg/tlperl/lib/File/Glob.pm
index f144b5179dc..2b39dce6a8e 100644
--- a/Master/tlpkg/tlperl/lib/File/Glob.pm
+++ b/Master/tlpkg/tlperl/lib/File/Glob.pm
@@ -37,7 +37,7 @@ pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob"
@EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
-$VERSION = '1.20_01';
+$VERSION = '1.23';
sub import {
require Exporter;
diff --git a/Master/tlpkg/tlperl/lib/File/Spec.pm b/Master/tlpkg/tlperl/lib/File/Spec.pm
index 6062c015179..01a616eaedc 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
my %module = (MacOS => 'Mac',
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm b/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
index b27f7b15f19..b9e3703bf46 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -92,15 +92,20 @@ from the following list:
$ENV{'TEMP'}
C:/temp
-Since Perl 5.8.0, if running under taint mode, and if the environment
+If running under taint mode, and if the environment
variables are tainted, they are not used.
=cut
-my $tmpdir;
sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp", $ENV{'TMP'}, $ENV{'TEMP'}, 'C:/temp' );
+ my $cached = $_[0]->_cached_tmpdir(qw 'TMPDIR TMP TEMP');
+ return $cached if defined $cached;
+ $_[0]->_cache_tmpdir(
+ $_[0]->_tmpdir(
+ $ENV{TMPDIR}, "/tmp", $ENV{'TMP'}, $ENV{'TEMP'}, 'C:/temp'
+ ),
+ qw 'TMPDIR TMP TEMP'
+ );
}
=item case_tolerant
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm b/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
index e7faa16086a..e5928b83558 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
require File::Spec::Unix;
@@ -20,10 +20,10 @@ File::Spec::Epoc - methods for Epoc file specs
=head1 DESCRIPTION
See File::Spec::Unix for a documentation of the methods provided
-there. This package overrides the implementation of these methods, not
+there. This package overrides the implementation of these methods, not
the semantics.
-This package is still work in progress ;-)
+This package is still a work in progress. ;-)
=cut
@@ -38,7 +38,7 @@ sub case_tolerant {
=item canonpath()
No physical check on the filesystem, but a logical cleanup of a
-path. On UNIX eliminated successive slashes and successive "/.".
+path. On UNIX eliminated successive slashes and successive "/.".
=back
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm b/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
index f5b9046aa5e..451f5bd735f 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
require Exporter;
@@ -37,10 +37,30 @@ require Exporter;
%EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] );
+require File::Spec::Unix;
+my %udeps = (
+ canonpath => [],
+ catdir => [qw(canonpath)],
+ catfile => [qw(canonpath catdir)],
+ case_tolerant => [],
+ curdir => [],
+ devnull => [],
+ rootdir => [],
+ updir => [],
+);
+
foreach my $meth (@EXPORT, @EXPORT_OK) {
my $sub = File::Spec->can($meth);
no strict 'refs';
- *{$meth} = sub {&$sub('File::Spec', @_)};
+ if (exists($udeps{$meth}) && $sub == File::Spec::Unix->can($meth) &&
+ !(grep {
+ File::Spec->can($_) != File::Spec::Unix->can($_)
+ } @{$udeps{$meth}}) &&
+ defined(&{"File::Spec::Unix::_fn_$meth"})) {
+ *{$meth} = \&{"File::Spec::Unix::_fn_$meth"};
+ } else {
+ *{$meth} = sub {&$sub('File::Spec', @_)};
+ }
}
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm b/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
index 7f42171bc92..b0aacecf5a4 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -374,10 +374,10 @@ directory on your startup volume.
=cut
-my $tmpdir;
sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR} );
+ my $cached = $_[0]->_cached_tmpdir('TMPDIR');
+ return $cached if defined $cached;
+ $_[0]->_cache_tmpdir($_[0]->_tmpdir( $ENV{TMPDIR} ), 'TMPDIR');
}
=item updir
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm b/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
index 7f60d68927a..7de0f891cb1 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -35,11 +35,13 @@ sub _cwd {
return Cwd::sys_cwd();
}
-my $tmpdir;
sub tmpdir {
- return $tmpdir if defined $tmpdir;
+ my $cached = $_[0]->_cached_tmpdir(qw 'TMPDIR TEMP TMP');
+ return $cached if defined $cached;
my @d = @ENV{qw(TMPDIR TEMP TMP)}; # function call could autovivivy
- $tmpdir = $_[0]->_tmpdir( @d, '/tmp', '/' );
+ $_[0]->_cache_tmpdir(
+ $_[0]->_tmpdir( @d, '/tmp', '/' ), qw 'TMPDIR TEMP TMP'
+ );
}
sub catdir {
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
index a1a91b42607..c813cc170df 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
@@ -3,9 +3,21 @@ package File::Spec::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '3.40';
+$VERSION = '3.48_01';
+my $xs_version = $VERSION;
$VERSION =~ tr/_//;
+unless (defined &canonpath) {
+ eval {
+ if ( $] >= 5.006 ) {
+ require XSLoader;
+ XSLoader::load("Cwd", $xs_version);
+ } else {
+ require Cwd;
+ }
+ };
+}
+
=head1 NAME
File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules
@@ -40,7 +52,7 @@ actually traverse the filesystem cleaning up paths like this.
=cut
-sub canonpath {
+sub _pp_canonpath {
my ($self,$path) = @_;
return unless defined $path;
@@ -69,6 +81,7 @@ sub canonpath {
$path =~ s|/\z|| unless $path eq "/"; # xx/ -> xx
return "$node$path";
}
+*canonpath = \&_pp_canonpath unless defined &canonpath;
=item catdir()
@@ -80,11 +93,12 @@ trailing slash :-)
=cut
-sub catdir {
+sub _pp_catdir {
my $self = shift;
$self->canonpath(join('/', @_, '')); # '' because need a trailing '/'
}
+*catdir = \&_pp_catdir unless defined &catdir;
=item catfile
@@ -93,7 +107,7 @@ complete path ending with a filename
=cut
-sub catfile {
+sub _pp_catfile {
my $self = shift;
my $file = $self->canonpath(pop @_);
return $file unless @_;
@@ -101,6 +115,7 @@ sub catfile {
$dir .= "/" unless substr($dir,-1) eq "/";
return $dir.$file;
}
+*catfile = \&_pp_catfile unless defined &catfile;
=item curdir
@@ -109,6 +124,7 @@ Returns a string representation of the current directory. "." on UNIX.
=cut
sub curdir { '.' }
+use constant _fn_curdir => ".";
=item devnull
@@ -117,6 +133,7 @@ Returns a string representation of the null device. "/dev/null" on UNIX.
=cut
sub devnull { '/dev/null' }
+use constant _fn_devnull => "/dev/null";
=item rootdir
@@ -125,6 +142,7 @@ Returns a string representation of the root directory. "/" on UNIX.
=cut
sub rootdir { '/' }
+use constant _fn_rootdir => "/";
=item tmpdir
@@ -140,21 +158,33 @@ is tainted, it is not used.
=cut
-my $tmpdir;
+my ($tmpdir, %tmpenv);
+# Cache and return the calculated tmpdir, recording which env vars
+# determined it.
+sub _cache_tmpdir {
+ @tmpenv{@_[2..$#_]} = @ENV{@_[2..$#_]};
+ return $tmpdir = $_[1];
+}
+# Retrieve the cached tmpdir, checking first whether relevant env vars have
+# changed and invalidated the cache.
+sub _cached_tmpdir {
+ shift;
+ local $^W;
+ return if grep $ENV{$_} ne $tmpenv{$_}, @_;
+ return $tmpdir;
+}
sub _tmpdir {
- return $tmpdir if defined $tmpdir;
my $self = shift;
my @dirlist = @_;
- {
- no strict 'refs';
- if (${"\cTAINT"}) { # Check for taint mode on perl >= 5.8.0
- require Scalar::Util;
- @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
- }
- elsif ($] < 5.007) { # No ${^TAINT} before 5.8
- @dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
- }
+ my $taint = do { no strict 'refs'; ${"\cTAINT"} };
+ if ($taint) { # Check for taint mode on perl >= 5.8.0
+ require Scalar::Util;
+ @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
+ }
+ elsif ($] < 5.007) { # No ${^TAINT} before 5.8
+ @dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
}
+
foreach (@dirlist) {
next unless defined && -d && -w _;
$tmpdir = $_;
@@ -162,12 +192,22 @@ sub _tmpdir {
}
$tmpdir = $self->curdir unless defined $tmpdir;
$tmpdir = defined $tmpdir && $self->canonpath($tmpdir);
+ if ( !$self->file_name_is_absolute($tmpdir) ) {
+ # See [perl #120593] for the full details
+ # If possible, return a full path, rather than '.' or 'lib', but
+ # jump through some hoops to avoid returning a tainted value.
+ ($tmpdir) = grep {
+ $taint ? ! Scalar::Util::tainted($_) :
+ $] < 5.007 ? eval { eval('1'.substr $_,0,0) } : 1
+ } $self->rel2abs($tmpdir), $tmpdir;
+ }
return $tmpdir;
}
sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp" );
+ my $cached = $_[0]->_cached_tmpdir('TMPDIR');
+ return $cached if defined $cached;
+ $_[0]->_cache_tmpdir($_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp" ), 'TMPDIR');
}
=item updir
@@ -177,6 +217,7 @@ Returns a string representation of the parent directory. ".." on UNIX.
=cut
sub updir { '..' }
+use constant _fn_updir => "..";
=item no_upwards
@@ -198,6 +239,7 @@ is not or is significant when comparing file specifications.
=cut
sub case_tolerant { 0 }
+use constant _fn_case_tolerant => 0;
=item file_name_is_absolute
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
index 6af1ac0b3d1..3072fabb6ab 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -27,7 +27,7 @@ there. This package overrides the implementation of these methods, not
the semantics.
The default behavior is to allow either VMS or Unix syntax on input and to
-return VMS syntax on output unless Unix syntax has been explicity requested
+return VMS syntax on output unless Unix syntax has been explicitly requested
via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
=over 4
@@ -271,21 +271,22 @@ from the following list or '' if none are writable:
sys$scratch:
$ENV{TMPDIR}
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
+If running under taint mode, and if $ENV{TMPDIR}
is tainted, it is not used.
=cut
-my $tmpdir;
sub tmpdir {
my $self = shift @_;
+ my $tmpdir = $self->_cached_tmpdir('TMPDIR');
return $tmpdir if defined $tmpdir;
if ($self->_unix_rpt) {
$tmpdir = $self->_tmpdir('/tmp', '/sys$scratch', $ENV{TMPDIR});
- return $tmpdir;
}
-
- $tmpdir = $self->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
+ else {
+ $tmpdir = $self->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
+ }
+ $self->_cache_tmpdir($tmpdir, 'TMPDIR');
}
=item updir (override)
@@ -335,14 +336,14 @@ sub file_name_is_absolute {
$file = $ENV{$file} while $file =~ /^[\w\$\-]+\Z(?!\n)/s && $ENV{$file};
return scalar($file =~ m!^/!s ||
$file =~ m![<\[][^.\-\]>]! ||
- $file =~ /:[^<\[]/);
+ $file =~ /^[A-Za-z0-9_\$\-\~]+(?<!\^):/);
}
=item splitpath (override)
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Passing a true value for C<$no_file> indicates that the path being
split only contains directory components, even on systems where you
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
index ae74a265931..6c063b5fdb6 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.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -62,13 +62,13 @@ from the following list:
The SYS:/temp is preferred in Novell NetWare and the C:\system\temp
for Symbian (the File::Spec::Win32 is used also for those platforms).
-Since Perl 5.8.0, if running under taint mode, and if the environment
+If running under taint mode, and if the environment
variables are tainted, they are not used.
=cut
-my $tmpdir;
sub tmpdir {
+ my $tmpdir = $_[0]->_cached_tmpdir(qw(TMPDIR TEMP TMP));
return $tmpdir if defined $tmpdir;
$tmpdir = $_[0]->_tmpdir( map( $ENV{$_}, qw(TMPDIR TEMP TMP) ),
'SYS:/temp',
@@ -76,6 +76,7 @@ sub tmpdir {
'C:/temp',
'/tmp',
'/' );
+ $_[0]->_cache_tmpdir($tmpdir, qw(TMPDIR TEMP TMP));
}
=item case_tolerant
@@ -188,9 +189,9 @@ sub canonpath {
=item splitpath
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Splits a path into volume, directory, and filename portions. Assumes that
the last file is a path unless the path ends in '\\', '\\.', '\\..'
diff --git a/Master/tlpkg/tlperl/lib/File/Temp.pm b/Master/tlpkg/tlperl/lib/File/Temp.pm
index ac57c260c8f..817c6d90c6b 100644
--- a/Master/tlpkg/tlperl/lib/File/Temp.pm
+++ b/Master/tlpkg/tlperl/lib/File/Temp.pm
@@ -1,150 +1,17 @@
package File::Temp;
+# ABSTRACT: return name and handle of a temporary file safely
+our $VERSION = '0.2304'; # VERSION
-=head1 NAME
-
-File::Temp - return name and handle of a temporary file safely
-
-=begin __INTERNALS
-
-=head1 PORTABILITY
-
-This section is at the top in order to provide easier access to
-porters. It is not expected to be rendered by a standard pod
-formatting tool. Please skip straight to the SYNOPSIS section if you
-are not trying to port this module to a new platform.
-
-This module is designed to be portable across operating systems and it
-currently supports Unix, VMS, DOS, OS/2, Windows and Mac OS
-(Classic). When porting to a new OS there are generally three main
-issues that have to be solved:
-
-=over 4
-
-=item *
-
-Can the OS unlink an open file? If it can not then the
-C<_can_unlink_opened_file> method should be modified.
-
-=item *
-
-Are the return values from C<stat> reliable? By default all the
-return values from C<stat> are compared when unlinking a temporary
-file using the filename and the handle. Operating systems other than
-unix do not always have valid entries in all fields. If utility function
-C<File::Temp::unlink0> fails then the C<stat> comparison should be
-modified accordingly.
-
-=item *
-
-Security. Systems that can not support a test for the sticky bit
-on a directory can not use the MEDIUM and HIGH security tests.
-The C<_can_do_level> method should be modified accordingly.
-
-=back
-
-=end __INTERNALS
-
-=head1 SYNOPSIS
-
- use File::Temp qw/ tempfile tempdir /;
-
- $fh = tempfile();
- ($fh, $filename) = tempfile();
-
- ($fh, $filename) = tempfile( $template, DIR => $dir);
- ($fh, $filename) = tempfile( $template, SUFFIX => '.dat');
- ($fh, $filename) = tempfile( $template, TMPDIR => 1 );
-
- binmode( $fh, ":utf8" );
-
- $dir = tempdir( CLEANUP => 1 );
- ($fh, $filename) = tempfile( DIR => $dir );
-
-Object interface:
-
- require File::Temp;
- use File::Temp ();
- use File::Temp qw/ :seekable /;
-
- $fh = File::Temp->new();
- $fname = $fh->filename;
-
- $fh = File::Temp->new(TEMPLATE => $template);
- $fname = $fh->filename;
-
- $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.dat' );
- print $tmp "Some data\n";
- print "Filename is $tmp\n";
- $tmp->seek( 0, SEEK_END );
-
-The following interfaces are provided for compatibility with
-existing APIs. They should not be used in new code.
-
-MkTemp family:
-
- use File::Temp qw/ :mktemp /;
-
- ($fh, $file) = mkstemp( "tmpfileXXXXX" );
- ($fh, $file) = mkstemps( "tmpfileXXXXXX", $suffix);
-
- $tmpdir = mkdtemp( $template );
-
- $unopened_file = mktemp( $template );
-
-POSIX functions:
-
- use File::Temp qw/ :POSIX /;
-
- $file = tmpnam();
- $fh = tmpfile();
- ($fh, $file) = tmpnam();
-
-Compatibility functions:
-
- $unopened_file = File::Temp::tempnam( $dir, $pfx );
-
-=head1 DESCRIPTION
-
-C<File::Temp> can be used to create and open temporary files in a safe
-way. There is both a function interface and an object-oriented
-interface. The File::Temp constructor or the tempfile() function can
-be used to return the name and the open filehandle of a temporary
-file. The tempdir() function can be used to create a temporary
-directory.
-
-The security aspect of temporary file creation is emphasized such that
-a filehandle and filename are returned together. This helps guarantee
-that a race condition can not occur where the temporary file is
-created by another process between checking for the existence of the
-file and its opening. Additional security levels are provided to
-check, for example, that the sticky bit is set on world writable
-directories. See L<"safe_level"> for more information.
-
-For compatibility with popular C library functions, Perl implementations of
-the mkstemp() family of functions are provided. These are, mkstemp(),
-mkstemps(), mkdtemp() and mktemp().
-
-Additionally, implementations of the standard L<POSIX|POSIX>
-tmpnam() and tmpfile() functions are provided if required.
-
-Implementations of mktemp(), tmpnam(), and tempnam() are provided,
-but should be used with caution since they return only a filename
-that was valid when function was called, so cannot guarantee
-that the file will not exist by the time the caller opens the filename.
-
-Filehandles returned by these functions support the seekable methods.
-
-=cut
-
-# 5.6.0 gives us S_IWOTH, S_IWGRP, our and auto-vivifying filehandls
-# People would like a version on 5.004 so give them what they want :-)
-use 5.004;
+# Toolchain targets v5.8.1, but we'll try to support back to v5.6 anyway.
+# It might be possible to make this v5.5, but many v5.6isms are creeping
+# into the code and tests.
+use 5.006;
use strict;
use Carp;
use File::Spec 0.8;
use Cwd ();
-use File::Path qw/ rmtree /;
+use File::Path 2.06 qw/ rmtree /;
use Fcntl 1.03;
use IO::Seekable; # For SEEK_*
use Errno;
@@ -162,19 +29,19 @@ eval { require Carp::Heavy; };
require Symbol if $] < 5.006;
### For the OO interface
-use base qw/ IO::Handle IO::Seekable /;
+use parent 0.221 qw/ IO::Handle IO::Seekable /;
use overload '""' => "STRINGIFY", '0+' => "NUMIFY",
fallback => 1;
# use 'our' on v5.6.0
-use vars qw($VERSION @EXPORT_OK %EXPORT_TAGS $DEBUG $KEEP_ALL);
+use vars qw(@EXPORT_OK %EXPORT_TAGS $DEBUG $KEEP_ALL);
$DEBUG = 0;
$KEEP_ALL = 0;
# We are exporting functions
-use base qw/Exporter/;
+use Exporter 5.57 'import'; # 5.57 lets us import 'import'
# Export list - to allow fine tuning of export table
@@ -205,10 +72,6 @@ use base qw/Exporter/;
# add contents of these tags to @EXPORT
Exporter::export_tags('POSIX','mktemp','seekable');
-# Version number
-
-$VERSION = '0.23';
-
# This is a list of characters that can be used in random filenames
my @CHARS = (qw/ 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
@@ -890,7 +753,7 @@ sub _can_do_level {
foreach my $file (@files) {
# close the filehandle without checking its state
# in order to make real sure that this is closed
- # if its already closed then I dont care about the answer
+ # if its already closed then I don't care about the answer
# probably a better way to do this
close($file->[0]); # file handle is [0]
@@ -1017,53 +880,6 @@ sub _parse_args {
return( \@template, \%args );
}
-=head1 OBJECT-ORIENTED INTERFACE
-
-This is the primary interface for interacting with
-C<File::Temp>. Using the OO interface a temporary file can be created
-when the object is constructed and the file can be removed when the
-object is no longer required.
-
-Note that there is no method to obtain the filehandle from the
-C<File::Temp> object. The object itself acts as a filehandle. The object
-isa C<IO::Handle> and isa C<IO::Seekable> so all those methods are
-available.
-
-Also, the object is configured such that it stringifies to the name of the
-temporary file and so can be compared to a filename directly. It numifies
-to the C<refaddr> the same as other handles and so can be compared to other
-handles with C<==>.
-
- $fh eq $filename # as a string
- $fh != \*STDOUT # as a number
-
-=over 4
-
-=item B<new>
-
-Create a temporary file object.
-
- my $tmp = File::Temp->new();
-
-by default the object is constructed as if C<tempfile>
-was called without options, but with the additional behaviour
-that the temporary file is removed by the object destructor
-if UNLINK is set to true (the default).
-
-Supported arguments are the same as for C<tempfile>: UNLINK
-(defaulting to true), DIR, EXLOCK and SUFFIX. Additionally, the filename
-template is specified using the TEMPLATE option. The OPEN option
-is not supported (the file is always opened).
-
- $tmp = File::Temp->new( TEMPLATE => 'tempXXXXX',
- DIR => 'mydir',
- SUFFIX => '.dat');
-
-Arguments are case insensitive.
-
-Can call croak() if an error occurs.
-
-=cut
sub new {
my $proto = shift;
@@ -1101,23 +917,6 @@ sub new {
return $fh;
}
-=item B<newdir>
-
-Create a temporary directory using an object oriented interface.
-
- $dir = File::Temp->newdir();
-
-By default the directory is deleted when the object goes out of scope.
-
-Supports the same options as the C<tempdir> function. Note that directories
-created with this method default to CLEANUP => 1.
-
- $dir = File::Temp->newdir( $template, %options );
-
-A template may be specified either with a leading template or
-with a TEMPLATE argument.
-
-=cut
sub newdir {
my $self = shift;
@@ -1142,17 +941,6 @@ sub newdir {
}, "File::Temp::Dir";
}
-=item B<filename>
-
-Return the name of the temporary file associated with this object
-(if the object was created using the "new" constructor).
-
- $filename = $tmp->filename;
-
-This method is called automatically when the object is used as
-a string.
-
-=cut
sub filename {
my $self = shift;
@@ -1171,25 +959,6 @@ sub NUMIFY {
return refaddr($_[0]);
}
-=item B<dirname>
-
-Return the name of the temporary directory associated with this
-object (if the object was created using the "newdir" constructor).
-
- $dirname = $tmpdir->dirname;
-
-This method is called automatically when the object is used in string context.
-
-=item B<unlink_on_destroy>
-
-Control whether the file is unlinked when the object goes out of scope.
-The file is removed if this value is true and $KEEP_ALL is not.
-
- $fh->unlink_on_destroy( 1 );
-
-Default is for the file to be removed.
-
-=cut
sub unlink_on_destroy {
my $self = shift;
@@ -1199,29 +968,6 @@ sub unlink_on_destroy {
return ${*$self}{UNLINK};
}
-=item B<DESTROY>
-
-When the object goes out of scope, the destructor is called. This
-destructor will attempt to unlink the file (using L<unlink1|"unlink1">)
-if the constructor was called with UNLINK set to 1 (the default state
-if UNLINK is not specified).
-
-No error is given if the unlink fails.
-
-If the object has been passed to a child process during a fork, the
-file will be deleted when the object goes out of scope in the parent.
-
-For a temporary directory object the directory will be removed unless
-the CLEANUP argument was used in the constructor (and set to false) or
-C<unlink_on_destroy> was modified after creation. Note that if a temp
-directory is your current directory, it cannot be removed - a warning
-will be given in this case. C<chdir()> out of the directory before
-letting the object go out of scope.
-
-If the global variable $KEEP_ALL is true, the file or directory
-will not be removed.
-
-=cut
sub DESTROY {
local($., $@, $!, $^E, $?);
@@ -1255,107 +1001,6 @@ sub DESTROY {
}
}
-=back
-
-=head1 FUNCTIONS
-
-This section describes the recommended interface for generating
-temporary files and directories.
-
-=over 4
-
-=item B<tempfile>
-
-This is the basic function to generate temporary files.
-The behaviour of the file can be changed using various options:
-
- $fh = tempfile();
- ($fh, $filename) = tempfile();
-
-Create a temporary file in the directory specified for temporary
-files, as specified by the tmpdir() function in L<File::Spec>.
-
- ($fh, $filename) = tempfile($template);
-
-Create a temporary file in the current directory using the supplied
-template. Trailing `X' characters are replaced with random letters to
-generate the filename. At least four `X' characters must be present
-at the end of the template.
-
- ($fh, $filename) = tempfile($template, SUFFIX => $suffix)
-
-Same as previously, except that a suffix is added to the template
-after the `X' translation. Useful for ensuring that a temporary
-filename has a particular extension when needed by other applications.
-But see the WARNING at the end.
-
- ($fh, $filename) = tempfile($template, DIR => $dir);
-
-Translates the template as before except that a directory name
-is specified.
-
- ($fh, $filename) = tempfile($template, TMPDIR => 1);
-
-Equivalent to specifying a DIR of "File::Spec->tmpdir", writing the file
-into the same temporary directory as would be used if no template was
-specified at all.
-
- ($fh, $filename) = tempfile($template, UNLINK => 1);
-
-Return the filename and filehandle as before except that the file is
-automatically removed when the program exits (dependent on
-$KEEP_ALL). Default is for the file to be removed if a file handle is
-requested and to be kept if the filename is requested. In a scalar
-context (where no filename is returned) the file is always deleted
-either (depending on the operating system) on exit or when it is
-closed (unless $KEEP_ALL is true when the temp file is created).
-
-Use the object-oriented interface if fine-grained control of when
-a file is removed is required.
-
-If the template is not specified, a template is always
-automatically generated. This temporary file is placed in tmpdir()
-(L<File::Spec>) unless a directory is specified explicitly with the
-DIR option.
-
- $fh = tempfile( DIR => $dir );
-
-If called in scalar context, only the filehandle is returned and the
-file will automatically be deleted when closed on operating systems
-that support this (see the description of tmpfile() elsewhere in this
-document). This is the preferred mode of operation, as if you only
-have a filehandle, you can never create a race condition by fumbling
-with the filename. On systems that can not unlink an open file or can
-not mark a file as temporary when it is opened (for example, Windows
-NT uses the C<O_TEMPORARY> flag) the file is marked for deletion when
-the program ends (equivalent to setting UNLINK to 1). The C<UNLINK>
-flag is ignored if present.
-
- (undef, $filename) = tempfile($template, OPEN => 0);
-
-This will return the filename based on the template but
-will not open this file. Cannot be used in conjunction with
-UNLINK set to true. Default is to always open the file
-to protect from possible race conditions. A warning is issued
-if warnings are turned on. Consider using the tmpnam()
-and mktemp() functions described elsewhere in this document
-if opening the file is not required.
-
-If the operating system supports it (for example BSD derived systems), the
-filehandle will be opened with O_EXLOCK (open with exclusive file lock).
-This can sometimes cause problems if the intention is to pass the filename
-to another system that expects to take an exclusive lock itself (such as
-DBD::SQLite) whilst ensuring that the tempfile is not reused. In this
-situation the "EXLOCK" option can be passed to tempfile. By default EXLOCK
-will be true (this retains compatibility with earlier releases).
-
- ($fh, $filename) = tempfile($template, EXLOCK => 0);
-
-Options can be combined as required.
-
-Will croak() if there is an error.
-
-=cut
sub tempfile {
if ( @_ && $_[0] eq 'File::Temp' ) {
@@ -1486,68 +1131,6 @@ sub tempfile {
}
-=item B<tempdir>
-
-This is the recommended interface for creation of temporary
-directories. By default the directory will not be removed on exit
-(that is, it won't be temporary; this behaviour can not be changed
-because of issues with backwards compatibility). To enable removal
-either use the CLEANUP option which will trigger removal on program
-exit, or consider using the "newdir" method in the object interface which
-will allow the directory to be cleaned up when the object goes out of
-scope.
-
-The behaviour of the function depends on the arguments:
-
- $tempdir = tempdir();
-
-Create a directory in tmpdir() (see L<File::Spec|File::Spec>).
-
- $tempdir = tempdir( $template );
-
-Create a directory from the supplied template. This template is
-similar to that described for tempfile(). `X' characters at the end
-of the template are replaced with random letters to construct the
-directory name. At least four `X' characters must be in the template.
-
- $tempdir = tempdir ( DIR => $dir );
-
-Specifies the directory to use for the temporary directory.
-The temporary directory name is derived from an internal template.
-
- $tempdir = tempdir ( $template, DIR => $dir );
-
-Prepend the supplied directory name to the template. The template
-should not include parent directory specifications itself. Any parent
-directory specifications are removed from the template before
-prepending the supplied directory.
-
- $tempdir = tempdir ( $template, TMPDIR => 1 );
-
-Using the supplied template, create the temporary directory in
-a standard location for temporary files. Equivalent to doing
-
- $tempdir = tempdir ( $template, DIR => File::Spec->tmpdir);
-
-but shorter. Parent directory specifications are stripped from the
-template itself. The C<TMPDIR> option is ignored if C<DIR> is set
-explicitly. Additionally, C<TMPDIR> is implied if neither a template
-nor a directory are supplied.
-
- $tempdir = tempdir( $template, CLEANUP => 1);
-
-Create a temporary directory using the supplied template, but
-attempt to remove it (and all files inside it) when the program
-exits. Note that an attempt will be made to remove all files from
-the directory even if they were not created by this module (otherwise
-why ask to clean it up?). The directory removal is made with
-the rmtree() function from the L<File::Path|File::Path> module.
-Of course, if the template is not specified, the temporary directory
-will be created in tmpdir() and will also be removed at program exit.
-
-Will croak() if there is an error.
-
-=cut
# '
@@ -1649,31 +1232,6 @@ sub tempdir {
}
-=back
-
-=head1 MKTEMP FUNCTIONS
-
-The following functions are Perl implementations of the
-mktemp() family of temp file generation system calls.
-
-=over 4
-
-=item B<mkstemp>
-
-Given a template, returns a filehandle to the temporary file and the name
-of the file.
-
- ($fh, $name) = mkstemp( $template );
-
-In scalar context, just the filehandle is returned.
-
-The template may be any filename with some number of X's appended
-to it, for example F</tmp/temp.XXXX>. The trailing X's are replaced
-with unique alphanumeric combinations.
-
-Will croak() if there is an error.
-
-=cut
@@ -1702,21 +1260,6 @@ sub mkstemp {
}
-=item B<mkstemps>
-
-Similar to mkstemp(), except that an extra argument can be supplied
-with a suffix to be appended to the template.
-
- ($fh, $name) = mkstemps( $template, $suffix );
-
-For example a template of C<testXXXXXX> and suffix of C<.dat>
-would generate a file similar to F<testhGji_w.dat>.
-
-Returns just the filehandle alone when called in scalar context.
-
-Will croak() if there is an error.
-
-=cut
sub mkstemps {
@@ -1746,20 +1289,6 @@ sub mkstemps {
}
-=item B<mkdtemp>
-
-Create a directory from a template. The template must end in
-X's that are replaced by the routine.
-
- $tmpdir_name = mkdtemp($template);
-
-Returns the name of the temporary directory created.
-
-Directory must be removed by the caller.
-
-Will croak() if there is an error.
-
-=cut
#' # for emacs
@@ -1791,18 +1320,6 @@ sub mkdtemp {
}
-=item B<mktemp>
-
-Returns a valid temporary filename but does not guarantee
-that the file will not be opened by someone else.
-
- $unopened_file = mktemp($template);
-
-Template is the same as that required by mkstemp().
-
-Will croak() if there is an error.
-
-=cut
sub mktemp {
@@ -1823,48 +1340,6 @@ sub mktemp {
return $tmpname;
}
-=back
-
-=head1 POSIX FUNCTIONS
-
-This section describes the re-implementation of the tmpnam()
-and tmpfile() functions described in L<POSIX>
-using the mkstemp() from this module.
-
-Unlike the L<POSIX|POSIX> implementations, the directory used
-for the temporary file is not specified in a system include
-file (C<P_tmpdir>) but simply depends on the choice of tmpdir()
-returned by L<File::Spec|File::Spec>. On some implementations this
-location can be set using the C<TMPDIR> environment variable, which
-may not be secure.
-If this is a problem, simply use mkstemp() and specify a template.
-
-=over 4
-
-=item B<tmpnam>
-
-When called in scalar context, returns the full name (including path)
-of a temporary file (uses mktemp()). The only check is that the file does
-not already exist, but there is no guarantee that that condition will
-continue to apply.
-
- $file = tmpnam();
-
-When called in list context, a filehandle to the open file and
-a filename are returned. This is achieved by calling mkstemp()
-after constructing a suitable template.
-
- ($fh, $file) = tmpnam();
-
-If possible, this form should be used to prevent possible
-race conditions.
-
-See L<File::Spec/tmpdir> for information on the choice of temporary
-directory for a particular operating system.
-
-Will croak() if there is an error.
-
-=cut
sub tmpnam {
@@ -1885,22 +1360,6 @@ sub tmpnam {
}
-=item B<tmpfile>
-
-Returns the filehandle of a temporary file.
-
- $fh = tmpfile();
-
-The file is removed when the filehandle is closed or when the program
-exits. No access to the filename is provided.
-
-If the temporary file can not be created undef is returned.
-Currently this command will probably not work when the temporary
-directory is on an NFS file system.
-
-Will croak() if there is an error.
-
-=cut
sub tmpfile {
@@ -1916,36 +1375,6 @@ sub tmpfile {
}
-=back
-
-=head1 ADDITIONAL FUNCTIONS
-
-These functions are provided for backwards compatibility
-with common tempfile generation C library functions.
-
-They are not exported and must be addressed using the full package
-name.
-
-=over 4
-
-=item B<tempnam>
-
-Return the name of a temporary file in the specified directory
-using a prefix. The file is guaranteed not to exist at the time
-the function was called, but such guarantees are good for one
-clock tick only. Always use the proper form of C<sysopen>
-with C<O_CREAT | O_EXCL> if you must open such a filename.
-
- $filename = File::Temp::tempnam( $dir, $prefix );
-
-Equivalent to running mktemp() with $dir/$prefixXXXXXXXX
-(using unix file convention as an example)
-
-Because this function uses mktemp(), it can suffer from race conditions.
-
-Will croak() if there is an error.
-
-=cut
sub tempnam {
@@ -1963,61 +1392,6 @@ sub tempnam {
}
-=back
-
-=head1 UTILITY FUNCTIONS
-
-Useful functions for dealing with the filehandle and filename.
-
-=over 4
-
-=item B<unlink0>
-
-Given an open filehandle and the associated filename, make a safe
-unlink. This is achieved by first checking that the filename and
-filehandle initially point to the same file and that the number of
-links to the file is 1 (all fields returned by stat() are compared).
-Then the filename is unlinked and the filehandle checked once again to
-verify that the number of links on that file is now 0. This is the
-closest you can come to making sure that the filename unlinked was the
-same as the file whose descriptor you hold.
-
- unlink0($fh, $path)
- or die "Error unlinking file $path safely";
-
-Returns false on error but croaks() if there is a security
-anomaly. The filehandle is not closed since on some occasions this is
-not required.
-
-On some platforms, for example Windows NT, it is not possible to
-unlink an open file (the file must be closed first). On those
-platforms, the actual unlinking is deferred until the program ends and
-good status is returned. A check is still performed to make sure that
-the filehandle and filename are pointing to the same thing (but not at
-the time the end block is executed since the deferred removal may not
-have access to the filehandle).
-
-Additionally, on Windows NT not all the fields returned by stat() can
-be compared. For example, the C<dev> and C<rdev> fields seem to be
-different. Also, it seems that the size of the file returned by stat()
-does not always agree, with C<stat(FH)> being more accurate than
-C<stat(filename)>, presumably because of caching issues even when
-using autoflush (this is usually overcome by waiting a while after
-writing to the tempfile before attempting to C<unlink0> it).
-
-Finally, on NFS file systems the link count of the file handle does
-not always go to zero immediately after unlinking. Currently, this
-command is expected to fail on NFS disks.
-
-This function is disabled if the global variable $KEEP_ALL is true
-and an unlink on open file is supported. If the unlink is to be deferred
-to the END block, the file is still registered for removal.
-
-This function should not be called if you are using the object oriented
-interface since the it will interfere with the object destructor deleting
-the file.
-
-=cut
sub unlink0 {
@@ -2058,30 +1432,6 @@ sub unlink0 {
return 1;
}
-=item B<cmpstat>
-
-Compare C<stat> of filehandle with C<stat> of provided filename. This
-can be used to check that the filename and filehandle initially point
-to the same file and that the number of links to the file is 1 (all
-fields returned by stat() are compared).
-
- cmpstat($fh, $path)
- or die "Error comparing handle with file";
-
-Returns false if the stat information differs or if the link count is
-greater than 1. Calls croak if there is a security anomaly.
-
-On certain platforms, for example Windows, not all the fields returned by stat()
-can be compared. For example, the C<dev> and C<rdev> fields seem to be
-different in Windows. Also, it seems that the size of the file
-returned by stat() does not always agree, with C<stat(FH)> being more
-accurate than C<stat(filename)>, presumably because of caching issues
-even when using autoflush (this is usually overcome by waiting a while
-after writing to the tempfile before attempting to C<unlink0> it).
-
-Not exported by default.
-
-=cut
sub cmpstat {
@@ -2154,27 +1504,6 @@ sub cmpstat {
return 1;
}
-=item B<unlink1>
-
-Similar to C<unlink0> except after file comparison using cmpstat, the
-filehandle is closed prior to attempting to unlink the file. This
-allows the file to be removed without using an END block, but does
-mean that the post-unlink comparison of the filehandle state provided
-by C<unlink0> is not available.
-
- unlink1($fh, $path)
- or die "Error closing and unlinking file";
-
-Usually called from the object destructor when using the OO interface.
-
-Not exported by default.
-
-This function is disabled if the global variable $KEEP_ALL is true.
-
-Can call croak() if there is a security anomaly during the stat()
-comparison.
-
-=cut
sub unlink1 {
croak 'Usage: unlink1(filehandle, filename)'
@@ -2198,6 +1527,761 @@ sub unlink1 {
return unlink($path);
}
+
+{
+ # protect from using the variable itself
+ my $LEVEL = STANDARD;
+ sub safe_level {
+ my $self = shift;
+ if (@_) {
+ my $level = shift;
+ if (($level != STANDARD) && ($level != MEDIUM) && ($level != HIGH)) {
+ carp "safe_level: Specified level ($level) not STANDARD, MEDIUM or HIGH - ignoring\n" if $^W;
+ } else {
+ # Don't allow this on perl 5.005 or earlier
+ if ($] < 5.006 && $level != STANDARD) {
+ # Cant do MEDIUM or HIGH checks
+ croak "Currently requires perl 5.006 or newer to do the safe checks";
+ }
+ # Check that we are allowed to change level
+ # Silently ignore if we can not.
+ $LEVEL = $level if _can_do_level($level);
+ }
+ }
+ return $LEVEL;
+ }
+}
+
+
+{
+ my $TopSystemUID = 10;
+ $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator"
+ sub top_system_uid {
+ my $self = shift;
+ if (@_) {
+ my $newuid = shift;
+ croak "top_system_uid: UIDs should be numeric"
+ unless $newuid =~ /^\d+$/s;
+ $TopSystemUID = $newuid;
+ }
+ return $TopSystemUID;
+ }
+}
+
+
+package File::Temp::Dir;
+
+use File::Path qw/ rmtree /;
+use strict;
+use overload '""' => "STRINGIFY",
+ '0+' => \&File::Temp::NUMIFY,
+ fallback => 1;
+
+# private class specifically to support tempdir objects
+# created by File::Temp->newdir
+
+# ostensibly the same method interface as File::Temp but without
+# inheriting all the IO::Seekable methods and other cruft
+
+# Read-only - returns the name of the temp directory
+
+sub dirname {
+ my $self = shift;
+ return $self->{DIRNAME};
+}
+
+sub STRINGIFY {
+ my $self = shift;
+ return $self->dirname;
+}
+
+sub unlink_on_destroy {
+ my $self = shift;
+ if (@_) {
+ $self->{CLEANUP} = shift;
+ }
+ return $self->{CLEANUP};
+}
+
+sub DESTROY {
+ my $self = shift;
+ local($., $@, $!, $^E, $?);
+ if ($self->unlink_on_destroy &&
+ $$ == $self->{LAUNCHPID} && !$File::Temp::KEEP_ALL) {
+ if (-d $self->{REALNAME}) {
+ # Some versions of rmtree will abort if you attempt to remove
+ # the directory you are sitting in. We protect that and turn it
+ # into a warning. We do this because this occurs during object
+ # destruction and so can not be caught by the user.
+ eval { rmtree($self->{REALNAME}, $File::Temp::DEBUG, 0); };
+ warn $@ if ($@ && $^W);
+ }
+ }
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+File::Temp - return name and handle of a temporary file safely
+
+=head1 VERSION
+
+version 0.2304
+
+=head1 SYNOPSIS
+
+ use File::Temp qw/ tempfile tempdir /;
+
+ $fh = tempfile();
+ ($fh, $filename) = tempfile();
+
+ ($fh, $filename) = tempfile( $template, DIR => $dir);
+ ($fh, $filename) = tempfile( $template, SUFFIX => '.dat');
+ ($fh, $filename) = tempfile( $template, TMPDIR => 1 );
+
+ binmode( $fh, ":utf8" );
+
+ $dir = tempdir( CLEANUP => 1 );
+ ($fh, $filename) = tempfile( DIR => $dir );
+
+Object interface:
+
+ require File::Temp;
+ use File::Temp ();
+ use File::Temp qw/ :seekable /;
+
+ $fh = File::Temp->new();
+ $fname = $fh->filename;
+
+ $fh = File::Temp->new(TEMPLATE => $template);
+ $fname = $fh->filename;
+
+ $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.dat' );
+ print $tmp "Some data\n";
+ print "Filename is $tmp\n";
+ $tmp->seek( 0, SEEK_END );
+
+The following interfaces are provided for compatibility with
+existing APIs. They should not be used in new code.
+
+MkTemp family:
+
+ use File::Temp qw/ :mktemp /;
+
+ ($fh, $file) = mkstemp( "tmpfileXXXXX" );
+ ($fh, $file) = mkstemps( "tmpfileXXXXXX", $suffix);
+
+ $tmpdir = mkdtemp( $template );
+
+ $unopened_file = mktemp( $template );
+
+POSIX functions:
+
+ use File::Temp qw/ :POSIX /;
+
+ $file = tmpnam();
+ $fh = tmpfile();
+
+ ($fh, $file) = tmpnam();
+
+Compatibility functions:
+
+ $unopened_file = File::Temp::tempnam( $dir, $pfx );
+
+=head1 DESCRIPTION
+
+C<File::Temp> can be used to create and open temporary files in a safe
+way. There is both a function interface and an object-oriented
+interface. The File::Temp constructor or the tempfile() function can
+be used to return the name and the open filehandle of a temporary
+file. The tempdir() function can be used to create a temporary
+directory.
+
+The security aspect of temporary file creation is emphasized such that
+a filehandle and filename are returned together. This helps guarantee
+that a race condition can not occur where the temporary file is
+created by another process between checking for the existence of the
+file and its opening. Additional security levels are provided to
+check, for example, that the sticky bit is set on world writable
+directories. See L<"safe_level"> for more information.
+
+For compatibility with popular C library functions, Perl implementations of
+the mkstemp() family of functions are provided. These are, mkstemp(),
+mkstemps(), mkdtemp() and mktemp().
+
+Additionally, implementations of the standard L<POSIX|POSIX>
+tmpnam() and tmpfile() functions are provided if required.
+
+Implementations of mktemp(), tmpnam(), and tempnam() are provided,
+but should be used with caution since they return only a filename
+that was valid when function was called, so cannot guarantee
+that the file will not exist by the time the caller opens the filename.
+
+Filehandles returned by these functions support the seekable methods.
+
+=begin __INTERNALS
+
+=head1 PORTABILITY
+
+This section is at the top in order to provide easier access to
+porters. It is not expected to be rendered by a standard pod
+formatting tool. Please skip straight to the SYNOPSIS section if you
+are not trying to port this module to a new platform.
+
+This module is designed to be portable across operating systems and it
+currently supports Unix, VMS, DOS, OS/2, Windows and Mac OS
+(Classic). When porting to a new OS there are generally three main
+issues that have to be solved:
+=over 4
+
+=item *
+
+Can the OS unlink an open file? If it can not then the
+C<_can_unlink_opened_file> method should be modified.
+
+=item *
+
+Are the return values from C<stat> reliable? By default all the
+return values from C<stat> are compared when unlinking a temporary
+file using the filename and the handle. Operating systems other than
+unix do not always have valid entries in all fields. If utility function
+C<File::Temp::unlink0> fails then the C<stat> comparison should be
+modified accordingly.
+
+=item *
+
+Security. Systems that can not support a test for the sticky bit
+on a directory can not use the MEDIUM and HIGH security tests.
+The C<_can_do_level> method should be modified accordingly.
+
+=back
+
+=end __INTERNALS
+
+=head1 OBJECT-ORIENTED INTERFACE
+
+This is the primary interface for interacting with
+C<File::Temp>. Using the OO interface a temporary file can be created
+when the object is constructed and the file can be removed when the
+object is no longer required.
+
+Note that there is no method to obtain the filehandle from the
+C<File::Temp> object. The object itself acts as a filehandle. The object
+isa C<IO::Handle> and isa C<IO::Seekable> so all those methods are
+available.
+
+Also, the object is configured such that it stringifies to the name of the
+temporary file and so can be compared to a filename directly. It numifies
+to the C<refaddr> the same as other handles and so can be compared to other
+handles with C<==>.
+
+ $fh eq $filename # as a string
+ $fh != \*STDOUT # as a number
+
+=over 4
+
+=item B<new>
+
+Create a temporary file object.
+
+ my $tmp = File::Temp->new();
+
+by default the object is constructed as if C<tempfile>
+was called without options, but with the additional behaviour
+that the temporary file is removed by the object destructor
+if UNLINK is set to true (the default).
+
+Supported arguments are the same as for C<tempfile>: UNLINK
+(defaulting to true), DIR, EXLOCK and SUFFIX. Additionally, the filename
+template is specified using the TEMPLATE option. The OPEN option
+is not supported (the file is always opened).
+
+ $tmp = File::Temp->new( TEMPLATE => 'tempXXXXX',
+ DIR => 'mydir',
+ SUFFIX => '.dat');
+
+Arguments are case insensitive.
+
+Can call croak() if an error occurs.
+
+=item B<newdir>
+
+Create a temporary directory using an object oriented interface.
+
+ $dir = File::Temp->newdir();
+
+By default the directory is deleted when the object goes out of scope.
+
+Supports the same options as the C<tempdir> function. Note that directories
+created with this method default to CLEANUP => 1.
+
+ $dir = File::Temp->newdir( $template, %options );
+
+A template may be specified either with a leading template or
+with a TEMPLATE argument.
+
+=item B<filename>
+
+Return the name of the temporary file associated with this object
+(if the object was created using the "new" constructor).
+
+ $filename = $tmp->filename;
+
+This method is called automatically when the object is used as
+a string.
+
+=item B<dirname>
+
+Return the name of the temporary directory associated with this
+object (if the object was created using the "newdir" constructor).
+
+ $dirname = $tmpdir->dirname;
+
+This method is called automatically when the object is used in string context.
+
+=item B<unlink_on_destroy>
+
+Control whether the file is unlinked when the object goes out of scope.
+The file is removed if this value is true and $KEEP_ALL is not.
+
+ $fh->unlink_on_destroy( 1 );
+
+Default is for the file to be removed.
+
+=item B<DESTROY>
+
+When the object goes out of scope, the destructor is called. This
+destructor will attempt to unlink the file (using L<unlink1|"unlink1">)
+if the constructor was called with UNLINK set to 1 (the default state
+if UNLINK is not specified).
+
+No error is given if the unlink fails.
+
+If the object has been passed to a child process during a fork, the
+file will be deleted when the object goes out of scope in the parent.
+
+For a temporary directory object the directory will be removed unless
+the CLEANUP argument was used in the constructor (and set to false) or
+C<unlink_on_destroy> was modified after creation. Note that if a temp
+directory is your current directory, it cannot be removed - a warning
+will be given in this case. C<chdir()> out of the directory before
+letting the object go out of scope.
+
+If the global variable $KEEP_ALL is true, the file or directory
+will not be removed.
+
+=back
+
+=head1 FUNCTIONS
+
+This section describes the recommended interface for generating
+temporary files and directories.
+
+=over 4
+
+=item B<tempfile>
+
+This is the basic function to generate temporary files.
+The behaviour of the file can be changed using various options:
+
+ $fh = tempfile();
+ ($fh, $filename) = tempfile();
+
+Create a temporary file in the directory specified for temporary
+files, as specified by the tmpdir() function in L<File::Spec>.
+
+ ($fh, $filename) = tempfile($template);
+
+Create a temporary file in the current directory using the supplied
+template. Trailing `X' characters are replaced with random letters to
+generate the filename. At least four `X' characters must be present
+at the end of the template.
+
+ ($fh, $filename) = tempfile($template, SUFFIX => $suffix)
+
+Same as previously, except that a suffix is added to the template
+after the `X' translation. Useful for ensuring that a temporary
+filename has a particular extension when needed by other applications.
+But see the WARNING at the end.
+
+ ($fh, $filename) = tempfile($template, DIR => $dir);
+
+Translates the template as before except that a directory name
+is specified.
+
+ ($fh, $filename) = tempfile($template, TMPDIR => 1);
+
+Equivalent to specifying a DIR of "File::Spec->tmpdir", writing the file
+into the same temporary directory as would be used if no template was
+specified at all.
+
+ ($fh, $filename) = tempfile($template, UNLINK => 1);
+
+Return the filename and filehandle as before except that the file is
+automatically removed when the program exits (dependent on
+$KEEP_ALL). Default is for the file to be removed if a file handle is
+requested and to be kept if the filename is requested. In a scalar
+context (where no filename is returned) the file is always deleted
+either (depending on the operating system) on exit or when it is
+closed (unless $KEEP_ALL is true when the temp file is created).
+
+Use the object-oriented interface if fine-grained control of when
+a file is removed is required.
+
+If the template is not specified, a template is always
+automatically generated. This temporary file is placed in tmpdir()
+(L<File::Spec>) unless a directory is specified explicitly with the
+DIR option.
+
+ $fh = tempfile( DIR => $dir );
+
+If called in scalar context, only the filehandle is returned and the
+file will automatically be deleted when closed on operating systems
+that support this (see the description of tmpfile() elsewhere in this
+document). This is the preferred mode of operation, as if you only
+have a filehandle, you can never create a race condition by fumbling
+with the filename. On systems that can not unlink an open file or can
+not mark a file as temporary when it is opened (for example, Windows
+NT uses the C<O_TEMPORARY> flag) the file is marked for deletion when
+the program ends (equivalent to setting UNLINK to 1). The C<UNLINK>
+flag is ignored if present.
+
+ (undef, $filename) = tempfile($template, OPEN => 0);
+
+This will return the filename based on the template but
+will not open this file. Cannot be used in conjunction with
+UNLINK set to true. Default is to always open the file
+to protect from possible race conditions. A warning is issued
+if warnings are turned on. Consider using the tmpnam()
+and mktemp() functions described elsewhere in this document
+if opening the file is not required.
+
+If the operating system supports it (for example BSD derived systems), the
+filehandle will be opened with O_EXLOCK (open with exclusive file lock).
+This can sometimes cause problems if the intention is to pass the filename
+to another system that expects to take an exclusive lock itself (such as
+DBD::SQLite) whilst ensuring that the tempfile is not reused. In this
+situation the "EXLOCK" option can be passed to tempfile. By default EXLOCK
+will be true (this retains compatibility with earlier releases).
+
+ ($fh, $filename) = tempfile($template, EXLOCK => 0);
+
+Options can be combined as required.
+
+Will croak() if there is an error.
+
+=item B<tempdir>
+
+This is the recommended interface for creation of temporary
+directories. By default the directory will not be removed on exit
+(that is, it won't be temporary; this behaviour can not be changed
+because of issues with backwards compatibility). To enable removal
+either use the CLEANUP option which will trigger removal on program
+exit, or consider using the "newdir" method in the object interface which
+will allow the directory to be cleaned up when the object goes out of
+scope.
+
+The behaviour of the function depends on the arguments:
+
+ $tempdir = tempdir();
+
+Create a directory in tmpdir() (see L<File::Spec|File::Spec>).
+
+ $tempdir = tempdir( $template );
+
+Create a directory from the supplied template. This template is
+similar to that described for tempfile(). `X' characters at the end
+of the template are replaced with random letters to construct the
+directory name. At least four `X' characters must be in the template.
+
+ $tempdir = tempdir ( DIR => $dir );
+
+Specifies the directory to use for the temporary directory.
+The temporary directory name is derived from an internal template.
+
+ $tempdir = tempdir ( $template, DIR => $dir );
+
+Prepend the supplied directory name to the template. The template
+should not include parent directory specifications itself. Any parent
+directory specifications are removed from the template before
+prepending the supplied directory.
+
+ $tempdir = tempdir ( $template, TMPDIR => 1 );
+
+Using the supplied template, create the temporary directory in
+a standard location for temporary files. Equivalent to doing
+
+ $tempdir = tempdir ( $template, DIR => File::Spec->tmpdir);
+
+but shorter. Parent directory specifications are stripped from the
+template itself. The C<TMPDIR> option is ignored if C<DIR> is set
+explicitly. Additionally, C<TMPDIR> is implied if neither a template
+nor a directory are supplied.
+
+ $tempdir = tempdir( $template, CLEANUP => 1);
+
+Create a temporary directory using the supplied template, but
+attempt to remove it (and all files inside it) when the program
+exits. Note that an attempt will be made to remove all files from
+the directory even if they were not created by this module (otherwise
+why ask to clean it up?). The directory removal is made with
+the rmtree() function from the L<File::Path|File::Path> module.
+Of course, if the template is not specified, the temporary directory
+will be created in tmpdir() and will also be removed at program exit.
+
+Will croak() if there is an error.
+
+=back
+
+=head1 MKTEMP FUNCTIONS
+
+The following functions are Perl implementations of the
+mktemp() family of temp file generation system calls.
+
+=over 4
+
+=item B<mkstemp>
+
+Given a template, returns a filehandle to the temporary file and the name
+of the file.
+
+ ($fh, $name) = mkstemp( $template );
+
+In scalar context, just the filehandle is returned.
+
+The template may be any filename with some number of X's appended
+to it, for example F</tmp/temp.XXXX>. The trailing X's are replaced
+with unique alphanumeric combinations.
+
+Will croak() if there is an error.
+
+=item B<mkstemps>
+
+Similar to mkstemp(), except that an extra argument can be supplied
+with a suffix to be appended to the template.
+
+ ($fh, $name) = mkstemps( $template, $suffix );
+
+For example a template of C<testXXXXXX> and suffix of C<.dat>
+would generate a file similar to F<testhGji_w.dat>.
+
+Returns just the filehandle alone when called in scalar context.
+
+Will croak() if there is an error.
+
+=item B<mkdtemp>
+
+Create a directory from a template. The template must end in
+X's that are replaced by the routine.
+
+ $tmpdir_name = mkdtemp($template);
+
+Returns the name of the temporary directory created.
+
+Directory must be removed by the caller.
+
+Will croak() if there is an error.
+
+=item B<mktemp>
+
+Returns a valid temporary filename but does not guarantee
+that the file will not be opened by someone else.
+
+ $unopened_file = mktemp($template);
+
+Template is the same as that required by mkstemp().
+
+Will croak() if there is an error.
+
+=back
+
+=head1 POSIX FUNCTIONS
+
+This section describes the re-implementation of the tmpnam()
+and tmpfile() functions described in L<POSIX>
+using the mkstemp() from this module.
+
+Unlike the L<POSIX|POSIX> implementations, the directory used
+for the temporary file is not specified in a system include
+file (C<P_tmpdir>) but simply depends on the choice of tmpdir()
+returned by L<File::Spec|File::Spec>. On some implementations this
+location can be set using the C<TMPDIR> environment variable, which
+may not be secure.
+If this is a problem, simply use mkstemp() and specify a template.
+
+=over 4
+
+=item B<tmpnam>
+
+When called in scalar context, returns the full name (including path)
+of a temporary file (uses mktemp()). The only check is that the file does
+not already exist, but there is no guarantee that that condition will
+continue to apply.
+
+ $file = tmpnam();
+
+When called in list context, a filehandle to the open file and
+a filename are returned. This is achieved by calling mkstemp()
+after constructing a suitable template.
+
+ ($fh, $file) = tmpnam();
+
+If possible, this form should be used to prevent possible
+race conditions.
+
+See L<File::Spec/tmpdir> for information on the choice of temporary
+directory for a particular operating system.
+
+Will croak() if there is an error.
+
+=item B<tmpfile>
+
+Returns the filehandle of a temporary file.
+
+ $fh = tmpfile();
+
+The file is removed when the filehandle is closed or when the program
+exits. No access to the filename is provided.
+
+If the temporary file can not be created undef is returned.
+Currently this command will probably not work when the temporary
+directory is on an NFS file system.
+
+Will croak() if there is an error.
+
+=back
+
+=head1 ADDITIONAL FUNCTIONS
+
+These functions are provided for backwards compatibility
+with common tempfile generation C library functions.
+
+They are not exported and must be addressed using the full package
+name.
+
+=over 4
+
+=item B<tempnam>
+
+Return the name of a temporary file in the specified directory
+using a prefix. The file is guaranteed not to exist at the time
+the function was called, but such guarantees are good for one
+clock tick only. Always use the proper form of C<sysopen>
+with C<O_CREAT | O_EXCL> if you must open such a filename.
+
+ $filename = File::Temp::tempnam( $dir, $prefix );
+
+Equivalent to running mktemp() with $dir/$prefixXXXXXXXX
+(using unix file convention as an example)
+
+Because this function uses mktemp(), it can suffer from race conditions.
+
+Will croak() if there is an error.
+
+=back
+
+=head1 UTILITY FUNCTIONS
+
+Useful functions for dealing with the filehandle and filename.
+
+=over 4
+
+=item B<unlink0>
+
+Given an open filehandle and the associated filename, make a safe
+unlink. This is achieved by first checking that the filename and
+filehandle initially point to the same file and that the number of
+links to the file is 1 (all fields returned by stat() are compared).
+Then the filename is unlinked and the filehandle checked once again to
+verify that the number of links on that file is now 0. This is the
+closest you can come to making sure that the filename unlinked was the
+same as the file whose descriptor you hold.
+
+ unlink0($fh, $path)
+ or die "Error unlinking file $path safely";
+
+Returns false on error but croaks() if there is a security
+anomaly. The filehandle is not closed since on some occasions this is
+not required.
+
+On some platforms, for example Windows NT, it is not possible to
+unlink an open file (the file must be closed first). On those
+platforms, the actual unlinking is deferred until the program ends and
+good status is returned. A check is still performed to make sure that
+the filehandle and filename are pointing to the same thing (but not at
+the time the end block is executed since the deferred removal may not
+have access to the filehandle).
+
+Additionally, on Windows NT not all the fields returned by stat() can
+be compared. For example, the C<dev> and C<rdev> fields seem to be
+different. Also, it seems that the size of the file returned by stat()
+does not always agree, with C<stat(FH)> being more accurate than
+C<stat(filename)>, presumably because of caching issues even when
+using autoflush (this is usually overcome by waiting a while after
+writing to the tempfile before attempting to C<unlink0> it).
+
+Finally, on NFS file systems the link count of the file handle does
+not always go to zero immediately after unlinking. Currently, this
+command is expected to fail on NFS disks.
+
+This function is disabled if the global variable $KEEP_ALL is true
+and an unlink on open file is supported. If the unlink is to be deferred
+to the END block, the file is still registered for removal.
+
+This function should not be called if you are using the object oriented
+interface since the it will interfere with the object destructor deleting
+the file.
+
+=item B<cmpstat>
+
+Compare C<stat> of filehandle with C<stat> of provided filename. This
+can be used to check that the filename and filehandle initially point
+to the same file and that the number of links to the file is 1 (all
+fields returned by stat() are compared).
+
+ cmpstat($fh, $path)
+ or die "Error comparing handle with file";
+
+Returns false if the stat information differs or if the link count is
+greater than 1. Calls croak if there is a security anomaly.
+
+On certain platforms, for example Windows, not all the fields returned by stat()
+can be compared. For example, the C<dev> and C<rdev> fields seem to be
+different in Windows. Also, it seems that the size of the file
+returned by stat() does not always agree, with C<stat(FH)> being more
+accurate than C<stat(filename)>, presumably because of caching issues
+even when using autoflush (this is usually overcome by waiting a while
+after writing to the tempfile before attempting to C<unlink0> it).
+
+Not exported by default.
+
+=item B<unlink1>
+
+Similar to C<unlink0> except after file comparison using cmpstat, the
+filehandle is closed prior to attempting to unlink the file. This
+allows the file to be removed without using an END block, but does
+mean that the post-unlink comparison of the filehandle state provided
+by C<unlink0> is not available.
+
+ unlink1($fh, $path)
+ or die "Error closing and unlinking file";
+
+Usually called from the object destructor when using the OO interface.
+
+Not exported by default.
+
+This function is disabled if the global variable $KEEP_ALL is true.
+
+Can call croak() if there is a security anomaly during the stat()
+comparison.
+
=item B<cleanup>
Calling this function will cause any temp files or temp directories
@@ -2294,32 +2378,6 @@ simply examine the return value of C<safe_level>.
die "Could not change to high security"
if $newlevel != File::Temp::HIGH;
-=cut
-
-{
- # protect from using the variable itself
- my $LEVEL = STANDARD;
- sub safe_level {
- my $self = shift;
- if (@_) {
- my $level = shift;
- if (($level != STANDARD) && ($level != MEDIUM) && ($level != HIGH)) {
- carp "safe_level: Specified level ($level) not STANDARD, MEDIUM or HIGH - ignoring\n" if $^W;
- } else {
- # Don't allow this on perl 5.005 or earlier
- if ($] < 5.006 && $level != STANDARD) {
- # Cant do MEDIUM or HIGH checks
- croak "Currently requires perl 5.006 or newer to do the safe checks";
- }
- # Check that we are allowed to change level
- # Silently ignore if we can not.
- $LEVEL = $level if _can_do_level($level);
- }
- }
- return $LEVEL;
- }
-}
-
=item TopSystemUID
This is the highest UID on the current system that refers to a root
@@ -2339,23 +2397,6 @@ UID.
This value can be adjusted to reduce security checking if required.
The value is only relevant when C<safe_level> is set to MEDIUM or higher.
-=cut
-
-{
- my $TopSystemUID = 10;
- $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator"
- sub top_system_uid {
- my $self = shift;
- if (@_) {
- my $newuid = shift;
- croak "top_system_uid: UIDs should be numeric"
- unless $newuid =~ /^\d+$/s;
- $TopSystemUID = $newuid;
- }
- return $TopSystemUID;
- }
-}
-
=item B<$KEEP_ALL>
Controls whether temporary files and directories should be retained
@@ -2456,6 +2497,10 @@ security checking, to ensure the presence of the function regardless of
operating system and to help with portability. The module was shipped
as a standard part of perl from v5.6.1.
+Thanks to Tom Christiansen for suggesting that this module
+should be written and providing ideas for code improvements and
+security enhancements.
+
=head1 SEE ALSO
L<POSIX/tmpnam>, L<POSIX/tmpfile>, L<File::Spec>, L<File::Path>
@@ -2466,74 +2511,84 @@ different implementations of temporary file handling.
See L<File::Tempdir> for an alternative object-oriented wrapper for
the C<tempdir> function.
+=for Pod::Coverage STRINGIFY NUMIFY top_system_uid
+
+# vim: ts=2 sts=2 sw=2 et:
+
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=File-Temp>.
+You will be notified automatically of any progress on your issue.
+
+=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<https://github.com/Perl-Toolchain-Gang/File-Temp>
+
+ git clone https://github.com/Perl-Toolchain-Gang/File-Temp.git
+
=head1 AUTHOR
-Tim Jenness E<lt>tjenness@cpan.orgE<gt>
+Tim Jenness <tjenness@cpan.org>
-Copyright (C) 2007-2010 Tim Jenness.
-Copyright (C) 1999-2007 Tim Jenness and the UK Particle Physics and
-Astronomy Research Council. All Rights Reserved. This program is free
-software; you can redistribute it and/or modify it under the same
-terms as Perl itself.
+=head1 CONTRIBUTORS
-Original Perl implementation loosely based on the OpenBSD C code for
-mkstemp(). Thanks to Tom Christiansen for suggesting that this module
-should be written and providing ideas for code improvements and
-security enhancements.
+=over 4
-=cut
+=item *
-package File::Temp::Dir;
+Ben Tilly <btilly@gmail.com>
-use File::Path qw/ rmtree /;
-use strict;
-use overload '""' => "STRINGIFY",
- '0+' => \&File::Temp::NUMIFY,
- fallback => 1;
+=item *
-# private class specifically to support tempdir objects
-# created by File::Temp->newdir
+David Golden <dagolden@cpan.org>
-# ostensibly the same method interface as File::Temp but without
-# inheriting all the IO::Seekable methods and other cruft
+=item *
-# Read-only - returns the name of the temp directory
+David Steinbrunner <dsteinbrunner@pobox.com>
-sub dirname {
- my $self = shift;
- return $self->{DIRNAME};
-}
+=item *
-sub STRINGIFY {
- my $self = shift;
- return $self->dirname;
-}
+Ed Avis <eda@linux01.wcl.local>
-sub unlink_on_destroy {
- my $self = shift;
- if (@_) {
- $self->{CLEANUP} = shift;
- }
- return $self->{CLEANUP};
-}
+=item *
-sub DESTROY {
- my $self = shift;
- local($., $@, $!, $^E, $?);
- if ($self->unlink_on_destroy &&
- $$ == $self->{LAUNCHPID} && !$File::Temp::KEEP_ALL) {
- if (-d $self->{REALNAME}) {
- # Some versions of rmtree will abort if you attempt to remove
- # the directory you are sitting in. We protect that and turn it
- # into a warning. We do this because this occurs during object
- # destruction and so can not be caught by the user.
- eval { rmtree($self->{REALNAME}, $File::Temp::DEBUG, 0); };
- warn $@ if ($@ && $^W);
- }
- }
-}
+James E. Keenan <jkeen@verizon.net>
+=item *
-1;
+Karen Etheridge <ether@cpan.org>
-# vim: ts=2 sts=2 sw=2 et:
+=item *
+
+Kevin Ryde <user42@zip.com.au>
+
+=item *
+
+Olivier Mengue <dolmen@cpan.org>
+
+=item *
+
+Peter John Acklam <pjacklam@online.no>
+
+=item *
+
+Peter Rabbitson <ribasushi@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2013 by Tim Jenness and the UK Particle Physics and Astronomy Research Council.
+
+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/File/Which.pm b/Master/tlpkg/tlperl/lib/File/Which.pm
new file mode 100644
index 00000000000..7acf5574846
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/File/Which.pm
@@ -0,0 +1,281 @@
+package File::Which;
+
+use 5.005003;
+use strict;
+use Exporter ();
+use File::Spec ();
+
+use vars qw{$VERSION @ISA @EXPORT @EXPORT_OK};
+BEGIN {
+ $VERSION = '1.16';
+ @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');
+use constant IS_CYG => ($^O eq 'cygwin');
+
+# 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};
+} elsif ( IS_CYG ) {
+ # See this for more info
+ # http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-exe
+ 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;
+ }
+ }
+ }
+
+ return $exec
+ if !IS_VMS and !IS_MAC and !IS_DOS and $exec =~ /\// and -f $exec and -x $exec;
+
+ 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 or IS_CYG )
+ 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 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.
+
+=head1 SUPPORT
+
+Bugs should be reported via the GitHub issue tracker
+
+L<https://github.com/plicease/File-Which/issues>
+
+For other issues, contact the maintainer.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item L<pwhich>
+
+Command line interface to this module.
+
+=item L<IPC::Cmd>
+
+Comes with a C<can_run> function with slightly different semantics that
+the traditional UNIX where. It will find executables in the current
+directory, even though the current directory is not searched for by
+default on Unix.
+
+=item L<Devel::CheckBin>
+
+This module purports to "check that a command is available", but does not
+provide any documentation on how you might use it.
+
+=back
+
+=head1 AUTHOR
+
+Current maintainer: Graham Ollis E<lt>plicease@cpan.orgE<gt>
+
+Previous maintainer: Adam Kennedy E<lt>adamk@cpan.orgE<gt>
+
+Original author: 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/FileCache.pm b/Master/tlpkg/tlperl/lib/FileCache.pm
index 09583b04afa..149e88133ef 100644
--- a/Master/tlpkg/tlperl/lib/FileCache.pm
+++ b/Master/tlpkg/tlperl/lib/FileCache.pm
@@ -1,6 +1,6 @@
package FileCache;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
=head1 NAME
@@ -94,7 +94,7 @@ no strict 'refs';
use vars qw(%saw $cacheout_maxopen);
$cacheout_maxopen = 16;
-use base 'Exporter';
+use parent 'Exporter';
our @EXPORT = qw[cacheout cacheout_close];
diff --git a/Master/tlpkg/tlperl/lib/Filter/Simple.pm b/Master/tlpkg/tlperl/lib/Filter/Simple.pm
index 5de131fec2b..4b15e556e00 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.89';
+$VERSION = '0.91';
use Filter::Util::Call;
use Carp;
@@ -243,7 +243,6 @@ __END__
Filter::Simple - Simplified source filtering
-
=head1 SYNOPSIS
# in MyFilter.pm:
@@ -801,6 +800,6 @@ Damian Conway E<lt>damian@conway.orgE<gt>.
=head1 COPYRIGHT AND LICENSE
- Copyright (c) 2000-2008, Damian Conway. All Rights Reserved.
+ Copyright (c) 2000-2014, 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/Filter/Util/Call.pm b/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
index 46a7b32dfdd..fb379b019cb 100644
--- a/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
+++ b/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
@@ -18,7 +18,7 @@ use vars qw($VERSION @ISA @EXPORT) ;
@ISA = qw(Exporter DynaLoader);
@EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.45" ;
+$VERSION = "1.49" ;
sub filter_read_exact($)
{
@@ -182,7 +182,7 @@ will result in the C<@_> array having the following values:
Before terminating, the C<import> function must explicitly install the
filter by calling C<filter_add>.
-B<filter_add()>
+=head2 B<filter_add()>
The function, C<filter_add>, actually installs the filter. It takes one
parameter which should be a reference. The kind of reference used will
@@ -287,6 +287,11 @@ to call filter any more.
See L<Example 4: Using filter_del> for details.
+=item I<real_import>
+
+Internal function which adds the filter, based on the L<filter_add>
+argument type.
+
=back
=head1 EXAMPLES
diff --git a/Master/tlpkg/tlperl/lib/Getopt/Long.pm b/Master/tlpkg/tlperl/lib/Getopt/Long.pm
index e06f34bf62e..3ef7d997b85 100644
--- a/Master/tlpkg/tlperl/lib/Getopt/Long.pm
+++ b/Master/tlpkg/tlperl/lib/Getopt/Long.pm
@@ -4,8 +4,8 @@
# Author : Johan Vromans
# Created On : Tue Sep 11 15:00:12 1990
# Last Modified By: Johan Vromans
-# Last Modified On: Tue Mar 12 14:42:25 2013
-# Update Count : 1638
+# Last Modified On: Tue Oct 1 08:25:52 2013
+# Update Count : 1651
# Status : Released
################ Module Preamble ################
@@ -17,10 +17,10 @@ use 5.004;
use strict;
use vars qw($VERSION);
-$VERSION = 2.39;
+$VERSION = 2.42;
# For testing versions only.
use vars qw($VERSION_STRING);
-$VERSION_STRING = "2.39";
+$VERSION_STRING = "2.42";
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@@ -251,7 +251,7 @@ use constant PAT_XINT =>
"|".
"0[0-7_]*".
")";
-use constant PAT_FLOAT => "[-+]?[0-9._]+(\.[0-9_]+)?([eE][-+]?[0-9_]+)?";
+use constant PAT_FLOAT => "[-+]?[0-9_]+(\.[0-9_]+)?([eE][-+]?[0-9_]+)?";
sub GetOptions(@) {
# Shift in default array.
@@ -984,9 +984,9 @@ sub FindOption ($$$$$) {
# See if all matches are for the same option.
my %hit;
foreach ( @hits ) {
- my $hit = $_;
- $hit = $opctl->{$hit}->[CTL_CNAME]
- if defined $opctl->{$hit}->[CTL_CNAME];
+ my $hit = $opctl->{$_}->[CTL_CNAME]
+ if defined $opctl->{$_}->[CTL_CNAME];
+ $hit = "no" . $hit if $opctl->{$_}->[CTL_TYPE] eq '!';
$hit{$hit} = 1;
}
# Remove auto-supplied options (version, help).
@@ -1200,7 +1200,6 @@ sub FindOption ($$$$$) {
elsif ( $type eq 'f' ) { # real number, int is also ok
# We require at least one digit before a point or 'e',
# and at least one digit following the point and 'e'.
- # [-]NN[.NN][eNN]
my $o_valid = PAT_FLOAT;
if ( $bundling && defined $rest &&
$rest =~ /^($key_valid)($o_valid)(.*)$/s ) {
@@ -2546,7 +2545,7 @@ briefly some of these 'features'.
When no destination is specified for an option, GetOptions will store
the resultant value in a global variable named C<opt_>I<XXX>, where
-I<XXX> is the primary name of this option. When a progam executes
+I<XXX> is the primary name of this option. When a program executes
under C<use strict> (recommended), these variables must be
pre-declared with our() or C<use vars>.
@@ -2674,7 +2673,7 @@ Johan Vromans <jvromans@squirrel.nl>
=head1 COPYRIGHT AND DISCLAIMER
-This program is Copyright 1990,2010 by Johan Vromans.
+This program is Copyright 1990,2013 by Johan Vromans.
This program is free software; you can redistribute it and/or
modify it under the terms of the Perl Artistic License or the
GNU General Public License as published by the Free Software
diff --git a/Master/tlpkg/tlperl/lib/Getopt/Std.pm b/Master/tlpkg/tlperl/lib/Getopt/Std.pm
index d4ce9a35eee..ecb7ebbf971 100644
--- a/Master/tlpkg/tlperl/lib/Getopt/Std.pm
+++ b/Master/tlpkg/tlperl/lib/Getopt/Std.pm
@@ -10,36 +10,45 @@ getopt, getopts - Process single-character switches with switch clustering
use Getopt::Std;
- getopt('oDI'); # -o, -D & -I take arg. Sets $opt_* as a side effect.
- getopt('oDI', \%opts); # -o, -D & -I take arg. Values in %opts
getopts('oif:'); # -o & -i are boolean flags, -f takes an argument
# Sets $opt_* as a side effect.
getopts('oif:', \%opts); # options as above. Values in %opts
+ getopt('oDI'); # -o, -D & -I take arg.
+ # Sets $opt_* as a side effect.
+ getopt('oDI', \%opts); # -o, -D & -I take arg. Values in %opts
=head1 DESCRIPTION
-The getopt() function processes single-character switches with switch
-clustering. Pass one argument which is a string containing all switches
-that take an argument. For each switch found, sets $opt_x (where x is the
-switch name) to the value of the argument if an argument is expected,
-or 1 otherwise. Switches which take an argument don't care whether
-there is a space between the switch and the argument.
+The C<getopts()> function processes single-character switches with switch
+clustering. Pass one argument which is a string containing all switches to be
+recognized. For each switch found, if an argument is expected and provided,
+C<getopts()> sets C<$opt_x> (where C<x> is the switch name) to the value of
+the argument. If an argument is expected but none is provided, C<$opt_x> is
+set to an undefined value. If a switch does not take an argument, C<$opt_x>
+is set to C<1>.
-The getopts() function is similar, but you should pass to it the list of all
-switches to be recognized. If unspecified switches are found on the
+Switches which take an argument don't care whether there is a space between
+the switch and the argument. If unspecified switches are found on the
command-line, the user will be warned that an unknown option was given.
-The getopts() function returns true unless an invalid option was found.
+
+The C<getopts()> function returns true unless an invalid option was found.
+
+The C<getopt()> function is similar, but its argument is a string containing
+all switches that take an argument. If no argument is provided for a switch,
+say, C<y>, the corresponding C<$opt_y> will be set to an undefined value.
+Unspecified switches are silently accepted. B<Use of C<getopts()> is not
+recommended.>
Note that, if your code is running under the recommended C<use strict
-'vars'> pragma, you will need to declare these package variables
-with "our":
+vars> pragma, you will need to declare these package variables
+with C<our>:
our($opt_x, $opt_y);
-For those of you who don't like additional global variables being created, getopt()
-and getopts() will also accept a hash reference as an optional second argument.
-Hash keys will be x (where x is the switch name) with key values the value of
-the argument or 1 if no argument is specified.
+For those of you who don't like additional global variables being created,
+C<getopt()> and C<getopts()> will also accept a hash reference as an optional
+second argument. Hash keys will be C<x> (where C<x> is the switch name) with
+key values the value of the argument or C<1> if no argument is specified.
To allow programs to process arguments that look like switches, but aren't,
both functions will stop processing switches when they see the argument
@@ -72,7 +81,7 @@ and version_mess() with the switches string as an argument.
@ISA = qw(Exporter);
@EXPORT = qw(getopt getopts);
-$VERSION = '1.07';
+$VERSION = '1.10';
# uncomment the next line to disable 1.03-backward compatibility paranoia
# $STANDARD_HELP_VERSION = 1;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
index 333aab56f7d..e348753b933 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
@@ -3,55 +3,177 @@ package HTTP::Tiny;
use strict;
use warnings;
# ABSTRACT: A small, simple, correct HTTP/1.1 client
-our $VERSION = '0.025'; # VERSION
+our $VERSION = '0.043'; # VERSION
use Carp ();
+# =method new
+#
+# $http = HTTP::Tiny->new( %attributes );
+#
+# This constructor returns a new HTTP::Tiny object. Valid attributes include:
+#
+# =for :list
+# * C<agent>
+# A user-agent string (defaults to 'HTTP-Tiny/$VERSION'). If C<agent> ends in a space character, the default user-agent string is appended.
+# * C<cookie_jar>
+# An instance of L<HTTP::CookieJar> or equivalent class that supports the C<add> and C<cookie_header> methods
+# * C<default_headers>
+# A hashref of default headers to apply to requests
+# * C<local_address>
+# The local IP address to bind to
+# * C<keep_alive>
+# Whether to reuse the last connection (if for the same scheme, host and port) (defaults to 1)
+# * C<max_redirect>
+# Maximum number of redirects allowed (defaults to 5)
+# * C<max_size>
+# Maximum response size (only when not using a data callback). If defined, responses larger than this will return an exception.
+# * C<http_proxy>
+# URL of a proxy server to use for HTTP connections (default is C<$ENV{http_proxy}> if set)
+# * C<https_proxy>
+# URL of a proxy server to use for HTTPS connections (default is C<$ENV{https_proxy}> if set)
+# * C<proxy>
+# URL of a generic proxy server for both HTTP and HTTPS connections (default is C<$ENV{all_proxy}> if set)
+# * C<no_proxy>
+# List of domain suffixes that should not be proxied. Must be a comma-separated string or an array reference. (default is C<$ENV{no_proxy}>)
+# * C<timeout>
+# Request timeout in seconds (default is 60)
+# * C<verify_SSL>
+# A boolean that indicates whether to validate the SSL certificate of an C<https>
+# connection (default is false)
+# * C<SSL_options>
+# A hashref of C<SSL_*> options to pass through to L<IO::Socket::SSL>
+#
+# Exceptions from C<max_size>, C<timeout> or other errors will result in a
+# pseudo-HTTP status code of 599 and a reason of "Internal Exception". The
+# content field in the response will contain the text of the exception.
+#
+# The C<keep_alive> parameter enables a persistent connection, but only to a
+# single destination scheme, host and port. Also, if any connection-relevant
+# attributes are modified, a persistent connection will be dropped. If you want
+# persistent connections across multiple destinations, use multiple HTTP::Tiny
+# objects.
+#
+# See L</SSL SUPPORT> for more on the C<verify_SSL> and C<SSL_options> attributes.
+#
+# =cut
my @attributes;
BEGIN {
- @attributes = qw(agent default_headers local_address max_redirect max_size proxy timeout SSL_options verify_SSL);
+ @attributes = qw(
+ cookie_jar default_headers http_proxy https_proxy keep_alive
+ local_address max_redirect max_size proxy no_proxy timeout
+ SSL_options verify_SSL
+ );
+ my %persist_ok = map {; $_ => 1 } qw(
+ cookie_jar default_headers max_redirect max_size
+ );
no strict 'refs';
+ no warnings 'uninitialized';
for my $accessor ( @attributes ) {
*{$accessor} = sub {
- @_ > 1 ? $_[0]->{$accessor} = $_[1] : $_[0]->{$accessor};
+ @_ > 1
+ ? do {
+ delete $_[0]->{handle} if !$persist_ok{$accessor} && $_[1] ne $_[0]->{$accessor};
+ $_[0]->{$accessor} = $_[1]
+ }
+ : $_[0]->{$accessor};
};
}
}
+sub agent {
+ my($self, $agent) = @_;
+ if( @_ > 1 ){
+ $self->{agent} =
+ (defined $agent && $agent =~ / $/) ? $agent . $self->_agent : $agent;
+ }
+ return $self->{agent};
+}
+
sub new {
my($class, %args) = @_;
- (my $default_agent = $class) =~ s{::}{-}g;
- $default_agent .= "/" . ($class->VERSION || 0);
-
my $self = {
- agent => $default_agent,
max_redirect => 5,
timeout => 60,
+ keep_alive => 1,
verify_SSL => $args{verify_SSL} || $args{verify_ssl} || 0, # no verification by default
+ no_proxy => $ENV{no_proxy},
};
- $args{agent} .= $default_agent
- if defined $args{agent} && $args{agent} =~ / $/;
+ bless $self, $class;
+
+ $class->_validate_cookie_jar( $args{cookie_jar} ) if $args{cookie_jar};
for my $key ( @attributes ) {
$self->{$key} = $args{$key} if exists $args{$key}
}
- # Never override proxy argument as this breaks backwards compat.
- if (!exists $self->{proxy} && (my $http_proxy = $ENV{http_proxy})) {
- if ($http_proxy =~ m{\Ahttp://[^/?#:@]+:\d+/?\z}) {
- $self->{proxy} = $http_proxy;
+ $self->agent( exists $args{agent} ? $args{agent} : $class->_agent );
+
+ $self->_set_proxies;
+
+ return $self;
+}
+
+sub _set_proxies {
+ my ($self) = @_;
+
+ if (! $self->{proxy} ) {
+ $self->{proxy} = $ENV{all_proxy} || $ENV{ALL_PROXY};
+ if ( defined $self->{proxy} ) {
+ $self->_split_proxy( 'generic proxy' => $self->{proxy} ); # validate
}
else {
- Carp::croak(qq{Environment 'http_proxy' must be in format http://<host>:<port>/\n});
+ delete $self->{proxy};
}
}
- return bless $self, $class;
+ if (! $self->{http_proxy} ) {
+ $self->{http_proxy} = $ENV{http_proxy} || $self->{proxy};
+ if ( defined $self->{http_proxy} ) {
+ $self->_split_proxy( http_proxy => $self->{http_proxy} ); # validate
+ $self->{_has_proxy}{http} = 1;
+ }
+ else {
+ delete $self->{http_proxy};
+ }
+ }
+
+ if (! $self->{https_proxy} ) {
+ $self->{https_proxy} = $ENV{https_proxy} || $ENV{HTTPS_PROXY} || $self->{proxy};
+ if ( $self->{https_proxy} ) {
+ $self->_split_proxy( https_proxy => $self->{https_proxy} ); # validate
+ $self->{_has_proxy}{https} = 1;
+ }
+ else {
+ delete $self->{https_proxy};
+ }
+ }
+
+ # Split no_proxy to array reference if not provided as such
+ unless ( ref $self->{no_proxy} eq 'ARRAY' ) {
+ $self->{no_proxy} =
+ (defined $self->{no_proxy}) ? [ split /\s*,\s*/, $self->{no_proxy} ] : [];
+ }
+
+ return;
}
+# =method get|head|put|post|delete
+#
+# $response = $http->get($url);
+# $response = $http->get($url, \%options);
+# $response = $http->head($url);
+#
+# These methods are shorthand for calling C<request()> for the given method. The
+# URL must have unsafe characters escaped and international domain names encoded.
+# See C<request()> for valid options and a description of the response.
+#
+# The C<success> field of the response will be true if the status code is 2XX.
+#
+# =cut
for my $sub_name ( qw/get head put post delete/ ) {
my $req_method = uc $sub_name;
@@ -66,6 +188,25 @@ for my $sub_name ( qw/get head put post delete/ ) {
HERE
}
+# =method post_form
+#
+# $response = $http->post_form($url, $form_data);
+# $response = $http->post_form($url, $form_data, \%options);
+#
+# This method executes a C<POST> request and sends the key/value pairs from a
+# form data hash or array reference to the given URL with a C<content-type> of
+# C<application/x-www-form-urlencoded>. If data is provided as an array
+# reference, the order is preserved; if provided as a hash reference, the terms
+# are sorted on key and value for consistency. See documentation for the
+# C<www_form_urlencode> method for details on the encoding.
+#
+# The URL must have unsafe characters escaped and international domain names
+# encoded. See C<request()> for valid options and a description of the response.
+# Any C<content-type> header or content in the options hashref will be ignored.
+#
+# The C<success> field of the response will be true if the status code is 2XX.
+#
+# =cut
sub post_form {
my ($self, $url, $data, $args) = @_;
@@ -89,6 +230,28 @@ sub post_form {
);
}
+# =method 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 include an
+# C<If-Modified-Since> header with the modification timestamp of the file. You
+# may specify 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 if the status code is 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.
+#
+# =cut
sub mirror {
my ($self, $url, $file, $args) = @_;
@@ -98,13 +261,16 @@ sub mirror {
$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: $!\n/);
+
+ require Fcntl;
+ sysopen my $fh, $tempfile, Fcntl::O_CREAT()|Fcntl::O_EXCL()|Fcntl::O_WRONLY()
+ or Carp::croak(qq/Error: Could not create temporary file $tempfile for downloading: $!\n/);
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: $!\n/);
+ or Carp::croak(qq/Error: Caught error closing temporary file $tempfile: $!\n/);
+
if ( $response->{success} ) {
rename $tempfile, $file
or Carp::croak(qq/Error replacing $file with $tempfile: $!\n/);
@@ -118,6 +284,86 @@ sub mirror {
return $response;
}
+# =method 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.
+#
+# If the URL includes a "user:password" stanza, they will be used for Basic-style
+# authorization headers. (Authorization headers will not be included in a
+# redirected request.) For example:
+#
+# $http->request('GET', 'http://Aladdin:open sesame@example.com/');
+#
+# If the "user:password" stanza contains reserved characters, they must
+# be percent-escaped:
+#
+# $http->request('GET', 'http://john%40example.com:password@example.com/');
+#
+# A hashref of options may be appended to modify the request.
+#
+# Valid options are:
+#
+# =for :list
+# * C<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.
+# * C<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 request
+# * C<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)
+# * C<data_callback>
+# A code reference that will be called for each chunks of the response
+# body received.
+#
+# 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<content> option is the empty string, no C<content-type> or
+# C<content-length> headers will be generated.
+#
+# 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:
+#
+# =for :list
+# * C<success>
+# Boolean indicating whether the operation returned a 2XX status code
+# * C<url>
+# URL that provided the response. This is the URL of the request unless
+# there were redirections, in which case it is the last URL queried
+# in a redirection chain
+# * C<status>
+# The HTTP status code of the response
+# * C<reason>
+# The response phrase returned by the server
+# * C<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
+# * C<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
+#
+# 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.
+#
+# =cut
my %idempotent = map { $_ => 1 } qw/GET HEAD PUT DELETE OPTIONS TRACE/;
@@ -135,7 +381,14 @@ sub request {
&& $@ =~ m{^(?:Socket closed|Unexpected end)};
}
- if (my $e = "$@") {
+ if (my $e = $@) {
+ # maybe we got a response hash thrown from somewhere deep
+ if ( ref $e eq 'HASH' && exists $e->{status} ) {
+ return $e;
+ }
+
+ # otherwise, stringify it
+ $e = "$e";
$response = {
url => $url,
success => q{},
@@ -151,13 +404,26 @@ sub request {
return $response;
}
+# =method www_form_urlencode
+#
+# $params = $http->www_form_urlencode( $data );
+# $response = $http->get("http://example.com/query?$params");
+#
+# This method converts the key/value pairs from a data hash or array reference
+# into a C<x-www-form-urlencoded> string. The keys and values from the data
+# reference will be UTF-8 encoded and escaped per RFC 3986. If a value is an
+# array reference, the key will be repeated with each of the values of the array
+# reference. If data is provided as a hash reference, the key/value pairs in the
+# resulting string will be sorted by key and value for consistent ordering.
+#
+# =cut
sub www_form_urlencode {
my ($self, $data) = @_;
(@_ == 2 && ref $data)
or Carp::croak(q/Usage: $http->www_form_urlencode(DATAREF)/ . "\n");
(ref $data eq 'HASH' || ref $data eq 'ARRAY')
- or Carp::croak("form data must be a hash or array reference");
+ or Carp::croak("form data must be a hash or array reference\n");
my @params = ref $data eq 'HASH' ? %$data : @$data;
@params % 2 == 0
@@ -174,7 +440,7 @@ sub www_form_urlencode {
}
}
- return join("&", sort @terms);
+ return join("&", (ref $data eq 'ARRAY') ? (@terms) : (sort @terms) );
}
#--------------------------------------------------------------------------#
@@ -186,64 +452,188 @@ my %DefaultPort = (
https => 443,
);
+sub _agent {
+ my $class = ref($_[0]) || $_[0];
+ (my $default_agent = $class) =~ s{::}{-}g;
+ return $default_agent . "/" . ($class->VERSION || 0);
+}
+
sub _request {
my ($self, $method, $url, $args) = @_;
- my ($scheme, $host, $port, $path_query) = $self->_split_url($url);
+ my ($scheme, $host, $port, $path_query, $auth) = $self->_split_url($url);
my $request = {
method => $method,
scheme => $scheme,
+ host => $host,
host_port => ($port == $DefaultPort{$scheme} ? $host : "$host:$port"),
uri => $path_query,
headers => {},
};
- my $handle = HTTP::Tiny::Handle->new(
- timeout => $self->{timeout},
- SSL_options => $self->{SSL_options},
- verify_SSL => $self->{verify_SSL},
- local_address => $self->{local_address},
- );
-
- if ($self->{proxy}) {
- $request->{uri} = "$scheme://$request->{host_port}$path_query";
- die(qq/HTTPS via proxy is not supported\n/)
- if $request->{scheme} eq 'https';
- $handle->connect(($self->_split_url($self->{proxy}))[0..2]);
- }
- else {
- $handle->connect($scheme, $host, $port);
+ # We remove the cached handle so it is not reused in the case of redirect.
+ # If all is well, it will be recached at the end of _request. We only
+ # reuse for the same scheme, host and port
+ my $handle = delete $self->{handle};
+ if ( $handle ) {
+ unless ( $handle->can_reuse( $scheme, $host, $port ) ) {
+ $handle->close;
+ undef $handle;
+ }
}
+ $handle ||= $self->_open_handle( $request, $scheme, $host, $port );
- $self->_prepare_headers_and_cb($request, $args);
+ $self->_prepare_headers_and_cb($request, $args, $url, $auth);
$handle->write_request($request);
my $response;
do { $response = $handle->read_response_header }
until (substr($response->{status},0,1) ne '1');
+ $self->_update_cookie_jar( $url, $response ) if $self->{cookie_jar};
+
if ( my @redir_args = $self->_maybe_redirect($request, $response, $args) ) {
$handle->close;
return $self->_request(@redir_args, $args);
}
+ my $known_message_length;
if ($method eq 'HEAD' || $response->{status} =~ /^[23]04/) {
# response has no message body
+ $known_message_length = 1;
}
else {
my $data_cb = $self->_prepare_data_cb($response, $args);
- $handle->read_body($data_cb, $response);
+ $known_message_length = $handle->read_body($data_cb, $response);
}
- $handle->close;
- $response->{success} = substr($response->{status},0,1) eq '2';
+ if ( $self->{keep_alive}
+ && $known_message_length
+ && $response->{protocol} eq 'HTTP/1.1'
+ && ($response->{headers}{connection} || '') ne 'close'
+ ) {
+ $self->{handle} = $handle;
+ }
+ else {
+ $handle->close;
+ }
+
+ $response->{success} = substr( $response->{status}, 0, 1 ) eq '2';
$response->{url} = $url;
return $response;
}
+sub _open_handle {
+ my ($self, $request, $scheme, $host, $port) = @_;
+
+ my $handle = HTTP::Tiny::Handle->new(
+ timeout => $self->{timeout},
+ SSL_options => $self->{SSL_options},
+ verify_SSL => $self->{verify_SSL},
+ local_address => $self->{local_address},
+ keep_alive => $self->{keep_alive}
+ );
+
+ if ($self->{_has_proxy}{$scheme} && ! grep { $host =~ /\Q$_\E$/ } @{$self->{no_proxy}}) {
+ return $self->_proxy_connect( $request, $handle );
+ }
+ else {
+ return $handle->connect($scheme, $host, $port);
+ }
+}
+
+sub _proxy_connect {
+ my ($self, $request, $handle) = @_;
+
+ my @proxy_vars;
+ if ( $request->{scheme} eq 'https' ) {
+ Carp::croak(qq{No https_proxy defined}) unless $self->{https_proxy};
+ @proxy_vars = $self->_split_proxy( https_proxy => $self->{https_proxy} );
+ if ( $proxy_vars[0] eq 'https' ) {
+ Carp::croak(qq{Can't proxy https over https: $request->{uri} via $self->{https_proxy}});
+ }
+ }
+ else {
+ Carp::croak(qq{No http_proxy defined}) unless $self->{http_proxy};
+ @proxy_vars = $self->_split_proxy( http_proxy => $self->{http_proxy} );
+ }
+
+ my ($p_scheme, $p_host, $p_port, $p_auth) = @proxy_vars;
+
+ if ( length $p_auth && ! defined $request->{headers}{'proxy-authorization'} ) {
+ $self->_add_basic_auth_header( $request, 'proxy-authorization' => $p_auth );
+ }
+
+ $handle->connect($p_scheme, $p_host, $p_port);
+
+ if ($request->{scheme} eq 'https') {
+ $self->_create_proxy_tunnel( $request, $handle );
+ }
+ else {
+ # non-tunneled proxy requires absolute URI
+ $request->{uri} = "$request->{scheme}://$request->{host_port}$request->{uri}";
+ }
+
+ return $handle;
+}
+
+sub _split_proxy {
+ my ($self, $type, $proxy) = @_;
+
+ my ($scheme, $host, $port, $path_query, $auth) = eval { $self->_split_url($proxy) };
+
+ unless(
+ defined($scheme) && length($scheme) && length($host) && length($port)
+ && $path_query eq '/'
+ ) {
+ Carp::croak(qq{$type URL must be in format http[s]://[auth@]<host>:<port>/\n});
+ }
+
+ return ($scheme, $host, $port, $auth);
+}
+
+sub _create_proxy_tunnel {
+ my ($self, $request, $handle) = @_;
+
+ $handle->_assert_ssl;
+
+ my $agent = exists($request->{headers}{'user-agent'})
+ ? $request->{headers}{'user-agent'} : $self->{agent};
+
+ my $connect_request = {
+ method => 'CONNECT',
+ uri => $request->{host_port},
+ headers => {
+ host => $request->{host_port},
+ 'user-agent' => $agent,
+ }
+ };
+
+ if ( $request->{headers}{'proxy-authorization'} ) {
+ $connect_request->{headers}{'proxy-authorization'} =
+ delete $request->{headers}{'proxy-authorization'};
+ }
+
+ $handle->write_request($connect_request);
+ my $response;
+ do { $response = $handle->read_response_header }
+ until (substr($response->{status},0,1) ne '1');
+
+ # if CONNECT failed, throw the response so it will be
+ # returned from the original request() method;
+ unless (substr($response->{status},0,1) eq '2') {
+ die $response;
+ }
+
+ # tunnel established, so start SSL handshake
+ $handle->start_ssl( $request->{host} );
+
+ return;
+}
+
sub _prepare_headers_and_cb {
- my ($self, $request, $args) = @_;
+ my ($self, $request, $args, $url, $auth) = @_;
for ($self->{default_headers}, $args->{headers}) {
next unless defined;
@@ -252,23 +642,25 @@ sub _prepare_headers_and_cb {
}
}
$request->{headers}{'host'} = $request->{host_port};
- $request->{headers}{'connection'} = "close";
$request->{headers}{'user-agent'} ||= $self->{agent};
+ $request->{headers}{'connection'} = "close"
+ unless $self->{keep_alive};
- if (defined $args->{content}) {
- $request->{headers}{'content-type'} ||= "application/octet-stream";
+ if ( defined $args->{content} ) {
if (ref $args->{content} eq 'CODE') {
+ $request->{headers}{'content-type'} ||= "application/octet-stream";
$request->{headers}{'transfer-encoding'} = 'chunked'
unless $request->{headers}{'content-length'}
|| $request->{headers}{'transfer-encoding'};
$request->{cb} = $args->{content};
}
- else {
+ elsif ( length $args->{content} ) {
my $content = $args->{content};
if ( $] ge '5.008' ) {
utf8::downgrade($content, 1)
or die(qq/Wide character in request message body\n/);
}
+ $request->{headers}{'content-type'} ||= "application/octet-stream";
$request->{headers}{'content-length'} = length $content
unless $request->{headers}{'content-length'}
|| $request->{headers}{'transfer-encoding'};
@@ -277,6 +669,26 @@ sub _prepare_headers_and_cb {
$request->{trailer_cb} = $args->{trailer_callback}
if ref $args->{trailer_callback} eq 'CODE';
}
+
+ ### If we have a cookie jar, then maybe add relevant cookies
+ if ( $self->{cookie_jar} ) {
+ my $cookies = $self->cookie_jar->cookie_header( $url );
+ $request->{headers}{cookie} = $cookies if length $cookies;
+ }
+
+ # if we have Basic auth parameters, add them
+ if ( length $auth && ! defined $request->{headers}{authorization} ) {
+ $self->_add_basic_auth_header( $request, 'authorization' => $auth );
+ }
+
+ return;
+}
+
+sub _add_basic_auth_header {
+ my ($self, $request, $header, $auth) = @_;
+ require MIME::Base64;
+ $request->{headers}{$header} =
+ "Basic " . MIME::Base64::encode_base64($auth, "");
return;
}
@@ -300,6 +712,31 @@ sub _prepare_data_cb {
return $data_cb;
}
+sub _update_cookie_jar {
+ my ($self, $url, $response) = @_;
+
+ my $cookies = $response->{headers}->{'set-cookie'};
+ return unless defined $cookies;
+
+ my @cookies = ref $cookies ? @$cookies : $cookies;
+
+ $self->cookie_jar->add( $url, $_ ) for @cookies;
+
+ return;
+}
+
+sub _validate_cookie_jar {
+ my ($class, $jar) = @_;
+
+ # duck typing
+ for my $method ( qw/add cookie_header/ ) {
+ Carp::croak(qq/Cookie jar must provide the '$method' method\n/)
+ unless ref($jar) && ref($jar)->can($method);
+ }
+
+ return;
+}
+
sub _maybe_redirect {
my ($self, $request, $response, $args) = @_;
my $headers = $response->{headers};
@@ -326,15 +763,25 @@ sub _split_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 ($auth,$host);
+ $authority = (length($authority)) ? $authority : 'localhost';
+ if ( $authority =~ /@/ ) {
+ ($auth,$host) = $authority =~ m/\A([^@]*)@(.*)\z/; # user:pass@host
+ # userinfo might be percent escaped, so recover real auth info
+ $auth =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+ }
+ else {
+ $host = $authority;
+ $auth = '';
+ }
+ $host = lc $host;
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);
+ return ($scheme, $host, $port, $path_query, $auth);
}
# Date conversions adapted from HTTP::Date
@@ -397,6 +844,14 @@ use warnings;
use Errno qw[EINTR EPIPE];
use IO::Socket qw[SOCK_STREAM];
+# PERL_HTTP_TINY_IPV4_ONLY is a private environment variable to force old
+# behavior if someone is unable to boostrap CPAN from a new perl install; it is
+# not intended for general, per-client use and may be removed in the future
+my $SOCKET_CLASS =
+ $ENV{PERL_HTTP_TINY_IPV4_ONLY} ? 'IO::Socket::INET' :
+ eval { require IO::Socket::IP; IO::Socket::IP->VERSION(0.25) } ? 'IO::Socket::IP' :
+ 'IO::Socket::INET';
+
sub BUFSIZE () { 32768 } ## no critic
my $Printable = sub {
@@ -428,48 +883,61 @@ sub connect {
my ($self, $scheme, $host, $port) = @_;
if ( $scheme eq 'https' ) {
- die(qq/IO::Socket::SSL 1.56 must be installed for https support\n/)
- unless eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.56)};
- die(qq/Net::SSLeay 1.49 must be installed for https support\n/)
- unless eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)};
+ $self->_assert_ssl;
}
elsif ( $scheme ne 'http' ) {
die(qq/Unsupported URL scheme '$scheme'\n/);
}
- $self->{fh} = 'IO::Socket::INET'->new(
+ $self->{fh} = $SOCKET_CLASS->new(
PeerHost => $host,
PeerPort => $port,
$self->{local_address} ?
( LocalAddr => $self->{local_address} ) : (),
Proto => 'tcp',
Type => SOCK_STREAM,
- Timeout => $self->{timeout}
+ Timeout => $self->{timeout},
+ KeepAlive => !!$self->{keep_alive}
) or die(qq/Could not connect to '$host:$port': $@\n/);
binmode($self->{fh})
or die(qq/Could not binmode() socket: '$!'\n/);
- if ( $scheme eq 'https') {
- my $ssl_args = $self->_ssl_args($host);
- IO::Socket::SSL->start_SSL(
- $self->{fh},
- %$ssl_args,
- SSL_create_ctx_callback => sub {
- my $ctx = shift;
- Net::SSLeay::CTX_set_mode($ctx, Net::SSLeay::MODE_AUTO_RETRY());
- },
- );
+ $self->start_ssl($host) if $scheme eq 'https';
+
+ $self->{scheme} = $scheme;
+ $self->{host} = $host;
+ $self->{port} = $port;
- unless ( ref($self->{fh}) eq 'IO::Socket::SSL' ) {
+ return $self;
+}
+
+sub start_ssl {
+ my ($self, $host) = @_;
+
+ # As this might be used via CONNECT after an SSL session
+ # to a proxy, we shut down any existing SSL before attempting
+ # the handshake
+ if ( ref($self->{fh}) eq 'IO::Socket::SSL' ) {
+ unless ( $self->{fh}->stop_SSL ) {
my $ssl_err = IO::Socket::SSL->errstr;
- die(qq/SSL connection failed for $host: $ssl_err\n/);
+ die(qq/Error halting prior SSL connection: $ssl_err/);
}
}
- $self->{host} = $host;
- $self->{port} = $port;
+ my $ssl_args = $self->_ssl_args($host);
+ IO::Socket::SSL->start_SSL(
+ $self->{fh},
+ %$ssl_args,
+ SSL_create_ctx_callback => sub {
+ my $ctx = shift;
+ Net::SSLeay::CTX_set_mode($ctx, Net::SSLeay::MODE_AUTO_RETRY());
+ },
+ );
- return $self;
+ unless ( ref($self->{fh}) eq 'IO::Socket::SSL' ) {
+ my $ssl_err = IO::Socket::SSL->errstr;
+ die(qq/SSL connection failed for $host: $ssl_err\n/);
+ }
}
sub close {
@@ -645,11 +1113,13 @@ my %HeaderCase = (
'x-xss-protection' => 'X-XSS-Protection',
);
+# to avoid multiple small writes and hence nagle, you can pass the method line or anything else to
+# combine writes.
sub write_header_lines {
- (@_ == 2 && ref $_[1] eq 'HASH') || die(q/Usage: $handle->write_header_lines(headers)/ . "\n");
- my($self, $headers) = @_;
+ (@_ == 2 || @_ == 3 && ref $_[1] eq 'HASH') || die(q/Usage: $handle->write_header_lines(headers[,prefix])/ . "\n");
+ my($self, $headers, $prefix_data) = @_;
- my $buf = '';
+ my $buf = (defined $prefix_data ? $prefix_data : '');
while (my ($k, $v) = each %$headers) {
my $field_name = lc $k;
if (exists $HeaderCase{$field_name}) {
@@ -671,17 +1141,17 @@ sub write_header_lines {
return $self->write($buf);
}
+# return value indicates whether message length was defined; this is generally
+# true unless there was no content-length header and we just read until EOF.
+# Other message length errors are thrown as exceptions
sub read_body {
@_ == 3 || die(q/Usage: $handle->read_body(callback, response)/ . "\n");
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;
+ my $chunked = grep { /chunked/i } ( ref $te eq 'ARRAY' ? @$te : $te ) ;
+ return $chunked
+ ? $self->read_chunked_body($cb, $response)
+ : $self->read_content_body($cb, $response);
}
sub write_body {
@@ -700,18 +1170,18 @@ sub read_content_body {
my ($self, $cb, $response, $content_length) = @_;
$content_length ||= $response->{headers}{'content-length'};
- if ( $content_length ) {
+ if ( defined $content_length ) {
my $len = $content_length;
while ($len > 0) {
my $read = ($len > BUFSIZE) ? BUFSIZE : $len;
$cb->($self->read($read, 0), $response);
$len -= $read;
}
+ return length($self->{rbuf}) == 0;
}
- else {
- my $chunk;
- $cb->($chunk, $response) while length( $chunk = $self->read(BUFSIZE, 1) );
- }
+
+ my $chunk;
+ $cb->($chunk, $response) while length( $chunk = $self->read(BUFSIZE, 1) );
return;
}
@@ -760,7 +1230,7 @@ sub read_chunked_body {
or die(qq/Malformed chunk: missing CRLF after chunk data\n/);
}
$self->read_header_lines($response->{headers});
- return;
+ return 1;
}
sub write_chunked_body {
@@ -809,10 +1279,10 @@ sub read_response_header {
unless $version =~ /0*1\.0*[01]/;
return {
- status => $status,
- reason => $reason,
- headers => $self->read_header_lines,
- protocol => $protocol,
+ status => $status,
+ reason => $reason,
+ headers => $self->read_header_lines,
+ protocol => $protocol,
};
}
@@ -820,8 +1290,7 @@ sub write_request_header {
@_ == 4 || die(q/Usage: $handle->write_request_header(method, request_uri, headers)/ . "\n");
my ($self, $method, $request_uri, $headers) = @_;
- return $self->write("$method $request_uri HTTP/1.1\x0D\x0A")
- + $self->write_header_lines($headers);
+ return $self->write_header_lines($headers, "$method $request_uri HTTP/1.1\x0D\x0A");
}
sub _do_timeout {
@@ -858,6 +1327,9 @@ sub _do_timeout {
sub can_read {
@_ == 1 || @_ == 2 || die(q/Usage: $handle->can_read([timeout])/ . "\n");
my $self = shift;
+ if ( ref($self->{fh}) eq 'IO::Socket::SSL' ) {
+ return 1 if $self->{fh}->pending;
+ }
return $self->_do_timeout('read', @_)
}
@@ -867,6 +1339,27 @@ sub can_write {
return $self->_do_timeout('write', @_)
}
+sub _assert_ssl {
+ # Need IO::Socket::SSL 1.42 for SSL_create_ctx_callback
+ die(qq/IO::Socket::SSL 1.42 must be installed for https support\n/)
+ unless eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.42)};
+ # Need Net::SSLeay 1.49 for MODE_AUTO_RETRY
+ die(qq/Net::SSLeay 1.49 must be installed for https support\n/)
+ unless eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)};
+}
+
+sub can_reuse {
+ my ($self,$scheme,$host,$port) = @_;
+ return 0 if
+ length($self->{rbuf})
+ || $scheme ne $self->{scheme}
+ || $host ne $self->{host}
+ || $port ne $self->{port}
+ || eval { $self->can_read(0) }
+ || $@ ;
+ return 1;
+}
+
# Try to find a CA bundle to validate the SSL cert,
# prefer Mozilla::CA or fallback to a system file
sub _find_CA_file {
@@ -894,9 +1387,13 @@ sub _find_CA_file {
sub _ssl_args {
my ($self, $host) = @_;
- my %ssl_args = (
- SSL_hostname => $host, # SNI
- );
+ my %ssl_args;
+
+ # This test reimplements IO::Socket::SSL::can_client_sni(), which wasn't
+ # added until IO::Socket::SSL 1.84
+ if ( Net::SSLeay::OPENSSL_VERSION_NUMBER() >= 0x01000000 ) {
+ $ssl_args{SSL_hostname} = $host, # Sane SNI support
+ }
if ($self->{verify_SSL}) {
$ssl_args{SSL_verifycn_scheme} = 'http'; # enable CN validation
@@ -923,13 +1420,15 @@ __END__
=pod
+=encoding UTF-8
+
=head1 NAME
HTTP::Tiny - A small, simple, correct HTTP/1.1 client
=head1 VERSION
-version 0.025
+version 0.043
=head1 SYNOPSIS
@@ -951,12 +1450,16 @@ version 0.025
=head1 DESCRIPTION
-This is a very simple HTTP/1.1 client, designed for doing simple GET
+This is a very simple HTTP/1.1 client, designed for doing simple
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.
+proxies and redirection. It also correctly resumes after EINTR.
+
+If L<IO::Socket::IP> 0.25 or later is installed, HTTP::Tiny will use it instead
+of L<IO::Socket::INET> for transparent support for both IPv4 and IPv6.
+
+Cookie support requires L<HTTP::CookieJar> or an equivalent class.
=head1 METHODS
@@ -976,6 +1479,12 @@ A user-agent string (defaults to 'HTTP-Tiny/$VERSION'). If C<agent> ends in a sp
=item *
+C<cookie_jar>
+
+An instance of L<HTTP::CookieJar> or equivalent class that supports the C<add> and C<cookie_header> methods
+
+=item *
+
C<default_headers>
A hashref of default headers to apply to requests
@@ -988,6 +1497,12 @@ The local IP address to bind to
=item *
+C<keep_alive>
+
+Whether to reuse the last connection (if for the same scheme, host and port) (defaults to 1)
+
+=item *
+
C<max_redirect>
Maximum number of redirects allowed (defaults to 5)
@@ -996,14 +1511,31 @@ Maximum number of redirects allowed (defaults to 5)
C<max_size>
-Maximum response size (only when not using a data callback). If defined,
-responses larger than this will return an exception.
+Maximum response size (only when not using a data callback). If defined, responses larger than this will return an exception.
+
+=item *
+
+C<http_proxy>
+
+URL of a proxy server to use for HTTP connections (default is C<$ENV{http_proxy}> if set)
+
+=item *
+
+C<https_proxy>
+
+URL of a proxy server to use for HTTPS connections (default is C<$ENV{https_proxy}> if set)
=item *
C<proxy>
-URL of a proxy server to use (default is C<$ENV{http_proxy}> if set)
+URL of a generic proxy server for both HTTP and HTTPS connections (default is C<$ENV{all_proxy}> if set)
+
+=item *
+
+C<no_proxy>
+
+List of domain suffixes that should not be proxied. Must be a comma-separated string or an array reference. (default is C<$ENV{no_proxy}>)
=item *
@@ -1030,6 +1562,12 @@ Exceptions from C<max_size>, C<timeout> or other errors will result in a
pseudo-HTTP status code of 599 and a reason of "Internal Exception". The
content field in the response will contain the text of the exception.
+The C<keep_alive> parameter enables a persistent connection, but only to a
+single destination scheme, host and port. Also, if any connection-relevant
+attributes are modified, a persistent connection will be dropped. If you want
+persistent connections across multiple destinations, use multiple HTTP::Tiny
+objects.
+
See L</SSL SUPPORT> for more on the C<verify_SSL> and C<SSL_options> attributes.
=head2 get|head|put|post|delete
@@ -1051,7 +1589,9 @@ The C<success> field of the response will be true if the status code is 2XX.
This method executes a C<POST> request and sends the key/value pairs from a
form data hash or array reference to the given URL with a C<content-type> of
-C<application/x-www-form-urlencoded>. See documentation for the
+C<application/x-www-form-urlencoded>. If data is provided as an array
+reference, the order is preserved; if provided as a hash reference, the terms
+are sorted on key and value for consistency. See documentation for the
C<www_form_urlencode> method for details on the encoding.
The URL must have unsafe characters escaped and international domain names
@@ -1069,7 +1609,7 @@ The C<success> field of the response will be true if the status code is 2XX.
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
+domain names encoded. If the file already exists, the request will include an
C<If-Modified-Since> header with the modification timestamp of the file. You
may specify a different C<If-Modified-Since> header yourself in the C<<
$options->{headers} >> hash.
@@ -1088,8 +1628,20 @@ be updated accordingly.
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.
+international domain names encoded.
+
+If the URL includes a "user:password" stanza, they will be used for Basic-style
+authorization headers. (Authorization headers will not be included in a
+redirected request.) For example:
+
+ $http->request('GET', 'http://Aladdin:open sesame@example.com/');
+
+If the "user:password" stanza contains reserved characters, they must
+be percent-escaped:
+
+ $http->request('GET', 'http://john%40example.com:password@example.com/');
+
+A hashref of options may be appended to modify the request.
Valid options are:
@@ -1130,6 +1682,9 @@ 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<content> option is the empty string, no C<content-type> or
+C<content-length> headers will be generated.
+
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
@@ -1198,26 +1753,32 @@ This method converts the key/value pairs from a data hash or array reference
into a C<x-www-form-urlencoded> string. The keys and values from the data
reference will be UTF-8 encoded and escaped per RFC 3986. If a value is an
array reference, the key will be repeated with each of the values of the array
-reference. The key/value pairs in the resulting string will be sorted by key
-and value.
+reference. If data is provided as a hash reference, the key/value pairs in the
+resulting string will be sorted by key and value for consistent ordering.
-=for Pod::Coverage agent
+=for Pod::Coverage SSL_options
+agent
+cookie_jar
default_headers
+http_proxy
+https_proxy
+keep_alive
local_address
max_redirect
max_size
+no_proxy
proxy
timeout
verify_SSL
-SSL_options
=head1 SSL SUPPORT
Direct C<https> connections are supported only if L<IO::Socket::SSL> 1.56 or
greater and L<Net::SSLeay> 1.49 or greater are installed. An exception will be
thrown if a new enough versions of these modules not installed or if the SSL
-encryption fails. There is no support for C<https> connections via proxy (i.e.
-RFC 2817).
+encryption fails. An C<https> connection may be made via an C<http> proxy that
+supports the CONNECT command (i.e. RFC 2817). You may not proxy C<https> via
+a proxy that itself requires C<https> to communicate.
SSL provides two distinct capabilities:
@@ -1294,6 +1855,43 @@ client certificate for authentication to a server or controlling the choice of
cipher used for the SSL connection. See L<IO::Socket::SSL> documentation for
details.
+=head1 PROXY SUPPORT
+
+HTTP::Tiny can proxy both C<http> and C<https> requests. Only Basic proxy
+authorization is supported and it must be provided as part of the proxy URL:
+C<http://user:pass@proxy.example.com/>.
+
+HTTP::Tiny supports the following proxy environment variables:
+
+=over 4
+
+=item *
+
+http_proxy
+
+=item *
+
+https_proxy or HTTPS_PROXY
+
+=item *
+
+all_proxy or ALL_PROXY
+
+=back
+
+Tunnelling C<https> over an C<http> proxy using the CONNECT method is
+supported. If your proxy uses C<https> itself, you can not tunnel C<https>
+over it.
+
+Be warned that proxying an C<https> connection opens you to the risk of a
+man-in-the-middle attack by the proxy server.
+
+The C<no_proxy> environment variable is supported in the format of a
+comma-separated list of domain extensions proxy should not be used for.
+
+Proxy arguments passed to C<new> will override their corresponding
+environment variables.
+
=head1 LIMITATIONS
HTTP::Tiny is I<conditionally compliant> with the
@@ -1327,59 +1925,58 @@ mandated by the specification. There is no automatic support for status 305
=item *
-Persistent connections are not supported. The C<Connection> header will
-always be set to C<close>.
+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 *
-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.
+Only 'chunked' C<Transfer-Encoding> is supported.
=item *
-Only the C<http_proxy> environment variable is supported in the format
-C<http://HOST:PORT/>. If a C<proxy> argument is passed to C<new> (including
-undef), then the C<http_proxy> environment variable is ignored.
+There is no support for a Request-URI of '*' for the 'OPTIONS' request.
-=item *
+=back
-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.
+Despite the limitations listed above, HTTP::Tiny is considered
+feature-complete. New feature requests should be directed to
+L<HTTP::Tiny::UA>.
-=item *
+=head1 SEE ALSO
-Only 'chunked' C<Transfer-Encoding> is supported.
+=over 4
=item *
-There is no support for a Request-URI of '*' for the 'OPTIONS' request.
+L<HTTP::Tiny::UA> - Higher level UA features for HTTP::Tiny
=item *
-There is no support for IPv6 of any kind.
+L<HTTP::Thin> - HTTP::Tiny wrapper with L<HTTP::Request>/L<HTTP::Response> compatibility
-=back
+=item *
-=head1 SEE ALSO
+L<HTTP::Tiny::Mech> - Wrap L<WWW::Mechanize> instance in HTTP::Tiny compatible interface
-=over 4
+=item *
+
+L<IO::Socket::IP> - Required for IPv6 support
=item *
-L<LWP::UserAgent>
+L<IO::Socket::SSL> - Required for SSL support
=item *
-L<IO::Socket::SSL>
+L<LWP::UserAgent> - If HTTP::Tiny isn't enough for you, this is the "standard" way to do things
=item *
-L<Mozilla::CA>
+L<Mozilla::CA> - Required if you want to validate SSL certificates
=item *
-L<Net::SSLeay>
+L<Net::SSLeay> - Required for SSL support
=back
@@ -1390,7 +1987,7 @@ L<Net::SSLeay>
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>.
+at L<https://github.com/chansen/p5-http-tiny/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -1398,9 +1995,9 @@ You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<https://github.com/dagolden/http-tiny>
+L<https://github.com/chansen/p5-http-tiny>
- git clone git://github.com/dagolden/http-tiny.git
+ git clone https://github.com/chansen/p5-http-tiny.git
=head1 AUTHORS
@@ -1414,15 +2011,93 @@ Christian Hansen <chansen@cpan.org>
David Golden <dagolden@cpan.org>
+=back
+
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Alan Gardner <gardner@pythian.com>
+
+=item *
+
+Alessandro Ghedini <al3xbio@gmail.com>
+
+=item *
+
+Brad Gilbert <bgills@cpan.org>
+
+=item *
+
+Chris Nehren <apeiron@cpan.org>
+
+=item *
+
+Chris Weyl <cweyl@alumni.drew.edu>
+
+=item *
+
+Claes Jakobsson <claes@surfar.nu>
+
+=item *
+
+Clinton Gormley <clint@traveljury.com>
+
+=item *
+
+Craig Berry <cberry@cpan.org>
+
+=item *
+
+David Mitchell <davem@iabyn.com>
+
+=item *
+
+Edward Zborowski <ed@rubensteintech.com>
+
+=item *
+
+Jess Robinson <castaway@desert-island.me.uk>
+
+=item *
+
+Lukas Eklund <leklund@gmail.com>
+
+=item *
+
+Martin J. Evans <mjegh@ntlworld.com>
+
+=item *
+
+Martin-Louis Bright <mlbright@gmail.com>
+
=item *
Mike Doherty <doherty@cpan.org>
+=item *
+
+Petr Písař <ppisar@redhat.com>
+
+=item *
+
+Serguei Trouchelle <stro@cpan.org>
+
+=item *
+
+Syohei YOSHIDA <syohex@gmail.com>
+
+=item *
+
+Tony Cook <tony@develop-help.com>
+
=back
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2012 by Christian Hansen.
+This software is copyright (c) 2014 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.
diff --git a/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm b/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
index 4f833fffb40..2441491fa5c 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.10';
+our $VERSION = '1.15';
require Exporter;
our @ISA = qw(Exporter);
@@ -103,7 +103,8 @@ Returns the reference address of a reference $obj. If $obj is
not a reference, returns $obj.
This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/refaddr EXPR>, that is, it returns
+L<Scalar::Util::refaddr|Scalar::Util/"$addr = refaddr( $ref )">,
+that is, it returns
the reference address of its argument as a numeric value. The only
difference is that C<refaddr()> returns C<undef> when given a
non-reference while C<id()> returns its argument unchanged.
@@ -323,7 +324,7 @@ make things work, but the functions or methods used by the hooks
must be provided by each inside-out class.
A general solution to the serialization problem would require another
-level of registry, one that that associates I<classes> and fields.
+level of registry, one that associates I<classes> and fields.
So far, the functions of C<Hash::Util::FieldHash> are unaware of
any classes, which I consider a feature. Therefore C<Hash::Util::FieldHash>
doesn't address the serialization problems.
@@ -522,8 +523,8 @@ to a file F<Example.pm>.
use strict; use warnings;
{
- package Name_hash; # standard implementation: the object is a hash
-
+ package Name_hash; # standard implementation: the
+ # object is a hash
sub init {
my $obj = shift;
my ($first, $last) = @_;
@@ -714,7 +715,7 @@ incompatibility of object bodies.
{
package Name;
- use base 'Name_id'; # define here which implementation to run
+ use parent 'Name_id'; # define here which implementation to run
}
@@ -737,8 +738,8 @@ incompatibility of object bodies.
# Definition of NamedFile
package NamedFile;
- use base 'Name';
- use base 'IO::File';
+ use parent 'Name';
+ use parent 'IO::File';
sub init {
my $obj = shift;
diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
index aeb726dd017..9bac7077e70 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.39";
+$VERSION = "0.40";
sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function
@@ -678,7 +678,7 @@ sub alternate_language_tags {
# My guesses at Slavic intelligibility:
([qw(ru be uk)]) x 2, # Russian, Belarusian, Ukranian
- 'sr' => 'hr', 'hr' => 'sr', # Serb + Croat
+ ([qw(sr hr bs)]) x 2, # Serbian, Croatian, Bosnian
'cs' => 'sk', 'sk' => 'cs', # Czech + Slovak
'ms' => 'id', 'id' => 'ms', # Malay + Indonesian
diff --git a/Master/tlpkg/tlperl/lib/IO.pm b/Master/tlpkg/tlperl/lib/IO.pm
index 35aba10558a..ba89f0c8e6c 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.28";
+our $VERSION = "1.31";
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 e665ca3cebf..c77e06b29b7 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.060 qw(:Status);
+use IO::Compress::Base::Common 2.064 qw(:Status);
-use Compress::Raw::Bzip2 2.060 ;
+use Compress::Raw::Bzip2 2.064 ;
our ($VERSION);
-$VERSION = '2.060';
+$VERSION = '2.064';
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 d064a141e73..c8fdf2a2c7d 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,13 +4,13 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.060 qw(:Status);
-use Compress::Raw::Zlib 2.060 qw( !crc32 !adler32 ) ;
+use IO::Compress::Base::Common 2.064 qw(:Status);
+use Compress::Raw::Zlib 2.064 qw( !crc32 !adler32 ) ;
require Exporter;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
-$VERSION = '2.060';
+$VERSION = '2.064';
@ISA = qw(Exporter);
@EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
%EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
index 73d911f68e2..b612de0a22b 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.060 qw(:Status);
+use IO::Compress::Base::Common 2.064 qw(:Status);
our ($VERSION);
-$VERSION = '2.060';
+$VERSION = '2.064';
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
index 9b8ef7552a5..6dc791776ab 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.006 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.060 ;
+use IO::Compress::Base::Common 2.064 ;
use IO::File (); ;
use Scalar::Util ();
@@ -20,7 +20,7 @@ use Symbol();
our (@ISA, $VERSION);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.060';
+$VERSION = '2.064';
#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.
@@ -1019,7 +1019,7 @@ IO::Compress::Base - Base Class for IO::Compress 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::Compress modules.
+purpose is to be sub-classed by IO::Compress modules.
=head1 SEE ALSO
@@ -1041,7 +1041,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 cce097dd6dc..aa61c792c86 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.060';
+$VERSION = '2.064';
@EXPORT = qw( isaFilehandle isaFilename isaScalar
whatIsInput whatIsOutput
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
index 7c5dc793e71..fc62b4f4f95 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.060 ;
+use IO::Compress::Base 2.064 ;
-use IO::Compress::Base::Common 2.060 qw();
-use IO::Compress::Adapter::Bzip2 2.060 ;
+use IO::Compress::Base::Common 2.064 qw();
+use IO::Compress::Adapter::Bzip2 2.064 ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
-$VERSION = '2.060';
+$VERSION = '2.064';
$Bzip2Error = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -51,7 +51,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.060 qw(:Parse);
+ use IO::Compress::Base::Common 2.064 qw(:Parse);
return (
'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1],
@@ -204,19 +204,20 @@ section.
use IO::Compress::Bzip2 qw(bzip2 $Bzip2Error) ;
- bzip2 $input => $output [,OPTS]
+ bzip2 $input_filename_or_reference => $output_filename_or_reference [,OPTS]
or die "bzip2 failed: $Bzip2Error\n";
The functional interface needs Perl5.005 or better.
-=head2 bzip2 $input => $output [, OPTS]
+=head2 bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
-C<bzip2> expects at least two parameters, C<$input> and C<$output>.
+C<bzip2> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
-The parameter, C<$input>, is used to define the source of
-the uncompressed data.
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the uncompressed data.
It can take one of the following forms:
@@ -224,25 +225,25 @@ It can take one of the following forms:
=item A filename
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
=item A filehandle
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it. The string '-' can be used as an alias for
+standard input.
=item A scalar reference
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
=item An array reference
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
The input data will be read from each file in turn.
@@ -251,65 +252,72 @@ contains valid filenames before any data is compressed.
=item An Input FileGlob string
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<bzip2> 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 ...
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<bzip2> will assume that it is an
+I<input fileglob string>. The input is the list of files that match the
+fileglob.
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the compressed data. This parameter can take one of
+these forms.
=over 5
=item A filename
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for writing and the
+compressed data will be written to it.
=item A filehandle
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+compressed data will be written to it. The string '-' can be used as
+an alias for standard output.
=item A scalar reference
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+compressed data will be stored in C<$$output_filename_or_reference>.
=item An Array Reference
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference,
+the compressed data will be pushed onto the array.
=item An Output FileGlob
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<bzip2> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<bzip2> will assume that it is an
+I<output fileglob string>. The 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.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> 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.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
=head2 Notes
-When C<$input> maps to multiple files/buffers and C<$output> is a single
+When C<$input_filename_or_reference> maps to multiple files/buffers and
+C<$output_filename_or_reference> is a single
file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
+in C<$output_filename_or_reference> as a concatenated series of compressed data streams.
=head2 Optional Parameters
@@ -338,7 +346,48 @@ Defaults to 0.
=item C<< Append => 0|1 >>
-TODO
+The behaviour of this option is dependent on the type of output data
+stream.
+
+=over 5
+
+=item * A Buffer
+
+If C<Append> is enabled, all compressed data will be append to the end of
+the output buffer. Otherwise the output buffer will be cleared before any
+compressed data is written to it.
+
+=item * A Filename
+
+If C<Append> is enabled, the file will be opened in append mode. Otherwise
+the contents of the file, if any, will be truncated before any compressed
+data is written to it.
+
+=item * A Filehandle
+
+If C<Append> is enabled, the filehandle will be positioned to the end of
+the file via a call to C<seek> before any compressed data is
+written to it. Otherwise the file pointer will not be moved.
+
+=back
+
+When C<Append> is specified, and set to true, it will I<append> all compressed
+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
+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.
+
+When the output is a filename, it will truncate the contents of the file
+before writing any compressed data. If the output is a filehandle
+its position will not be changed. If the output is a buffer, it will be
+wiped before any compressed data is output.
+
+Defaults to 0.
=back
@@ -467,7 +516,7 @@ The behaviour of this option is dependent on the type of C<$output>.
=item * A Buffer
If C<$output> is a buffer and C<Append> is enabled, all compressed data
-will be append to the end if C<$output>. Otherwise C<$output> will be
+will be append to the end of C<$output>. Otherwise C<$output> will be
cleared before any data is written to it.
=item * A Filename
@@ -657,7 +706,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -693,7 +742,7 @@ Usage is
Closes the current compressed data stream and starts a new one.
-OPTS consists of any of the the options that are available when creating
+OPTS consists of any of the options that are available when creating
the C<$z> object.
See the L</"Constructor Options"> section for more details.
@@ -719,19 +768,17 @@ Same as doing this
=head2 Apache::GZip Revisited
-See L<IO::Compress::Bzip2::FAQ|IO::Compress::Bzip2::FAQ/"Apache::GZip Revisited">
-
-
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
=head2 Working with Net::FTP
-See L<IO::Compress::Bzip2::FAQ|IO::Compress::Bzip2::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
=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::Uncompress::Bunzip2>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+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::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>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -751,7 +798,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
index d6158deb5bf..d8848d7f696 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
@@ -8,16 +8,16 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.060 ();
-use IO::Compress::Adapter::Deflate 2.060 ;
+use IO::Compress::RawDeflate 2.064 ();
+use IO::Compress::Adapter::Deflate 2.064 ;
-use IO::Compress::Zlib::Constants 2.060 ;
-use IO::Compress::Base::Common 2.060 qw();
+use IO::Compress::Zlib::Constants 2.064 ;
+use IO::Compress::Base::Common 2.064 qw();
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$DeflateError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -238,7 +238,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 deflate $input => $output [, OPTS]
+=head2 deflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<deflate> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -821,7 +821,7 @@ Usage is
Closes the current compressed data stream and starts a new one.
-OPTS consists of any of the the options that are available when creating
+OPTS consists of any of the options that are available when creating
the C<$z> object.
See the L</"Constructor Options"> section for more details.
@@ -932,7 +932,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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/FAQ.pod b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
new file mode 100644
index 00000000000..671824dc15f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
@@ -0,0 +1,672 @@
+
+=head1 NAME
+
+IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress
+
+=head1 DESCRIPTION
+
+Common questions answered.
+
+=head1 GENERAL
+
+=head2 Compatibility with Unix compress/uncompress.
+
+Although C<Compress::Zlib> has a pair of functions called C<compress> and
+C<uncompress>, they are I<not> related to the Unix programs of the same
+name. The C<Compress::Zlib> module is not compatible with Unix
+C<compress>.
+
+If you have the C<uncompress> program available, you can use this to read
+compressed files
+
+ open F, "uncompress -c $filename |";
+ while (<F>)
+ {
+ ...
+
+Alternatively, if you have the C<gunzip> program available, you can use
+this to read compressed files
+
+ open F, "gunzip -c $filename |";
+ while (<F>)
+ {
+ ...
+
+and this to write compress files, if you have the C<compress> program
+available
+
+ open F, "| compress -c $filename ";
+ print F "data";
+ ...
+ close F ;
+
+=head2 Accessing .tar.Z files
+
+The C<Archive::Tar> module can optionally use C<Compress::Zlib> (via the
+C<IO::Zlib> module) to access tar files that have been compressed with
+C<gzip>. Unfortunately tar files compressed with the Unix C<compress>
+utility cannot be read by C<Compress::Zlib> and so cannot be directly
+accessed by C<Archive::Tar>.
+
+If the C<uncompress> or C<gunzip> programs are available, you can use one
+of these workarounds to read C<.tar.Z> files from C<Archive::Tar>
+
+Firstly with C<uncompress>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "uncompress -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+and this with C<gunzip>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "gunzip -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+Similarly, if the C<compress> program is available, you can use this to
+write a C<.tar.Z> file
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+ use IO::File;
+
+ my $fh = new IO::File "| compress -c >$filename";
+ my $tar = Archive::Tar->new();
+ ...
+ $tar->write($fh);
+ $fh->close ;
+
+=head2 How do I recompress using a different compression?
+
+This is easier that you might expect if you realise that all the
+C<IO::Compress::*> objects are derived from C<IO::File> and that all the
+C<IO::Uncompress::*> modules can read from an C<IO::File> filehandle.
+
+So, for example, say you have a file compressed with gzip that you want to
+recompress with bzip2. Here is all that is needed to carry out the
+recompression.
+
+ use IO::Uncompress::Gunzip ':all';
+ use IO::Compress::Bzip2 ':all';
+
+ my $gzipFile = "somefile.gz";
+ my $bzipFile = "somefile.bz2";
+
+ my $gunzip = new IO::Uncompress::Gunzip $gzipFile
+ or die "Cannot gunzip $gzipFile: $GunzipError\n" ;
+
+ bzip2 $gunzip => $bzipFile
+ or die "Cannot bzip2 to $bzipFile: $Bzip2Error\n" ;
+
+Note, there is a limitation of this technique. Some compression file
+formats store extra information along with the compressed data payload. For
+example, gzip can optionally store the original filename and Zip stores a
+lot of information about the original file. If the original compressed file
+contains any of this extra information, it will not be transferred to the
+new compressed file using the technique above.
+
+=head1 ZIP
+
+=head2 What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip support?
+
+The following compression formats are supported by C<IO::Compress::Zip> and
+C<IO::Uncompress::Unzip>
+
+=over 5
+
+=item * Store (method 0)
+
+No compression at all.
+
+=item * Deflate (method 8)
+
+This is the default compression used when creating a zip file with
+C<IO::Compress::Zip>.
+
+=item * Bzip2 (method 12)
+
+Only supported if the C<IO-Compress-Bzip2> module is installed.
+
+=item * Lzma (method 14)
+
+Only supported if the C<IO-Compress-Lzma> module is installed.
+
+=back
+
+=head2 Can I Read/Write Zip files larger the 4 Gig?
+
+Yes, both the C<IO-Compress-Zip> and C<IO-Uncompress-Unzip> modules
+support the zip feature called I<Zip64>. That allows them to read/write
+files/buffers larger than 4Gig.
+
+If you are creating a Zip file using the one-shot interface, and any of the
+input files is greater than 4Gig, a zip64 complaint zip file will be
+created.
+
+ zip "really-large-file" => "my.zip";
+
+Similarly with the one-shot interface, if the input is a buffer larger than
+4 Gig, a zip64 complaint zip file will be created.
+
+ zip \$really_large_buffer => "my.zip";
+
+The one-shot interface allows you to force the creation of a zip64 zip file
+by including the C<Zip64> option.
+
+ zip $filehandle => "my.zip", Zip64 => 1;
+
+If you want to create a zip64 zip file with the OO interface you must
+specify the C<Zip64> option.
+
+ my $zip = new IO::Compress::Zip "whatever", Zip64 => 1;
+
+When uncompressing with C<IO-Uncompress-Unzip>, it will automatically
+detect if the zip file is zip64.
+
+If you intend to manipulate the Zip64 zip files created with
+C<IO-Compress-Zip> using an external zip/unzip, make sure that it supports
+Zip64.
+
+In particular, if you are using Info-Zip you need to have zip version 3.x
+or better to update a Zip64 archive and unzip version 6.x to read a zip64
+archive.
+
+=head2 Can I write more that 64K entries is a Zip files?
+
+Yes. Zip64 allows this. See previous question.
+
+=head2 Zip Resources
+
+The primary reference for zip files is the "appnote" document available at
+L<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>
+
+An alternatively is the Info-Zip appnote. This is available from
+L<ftp://ftp.info-zip.org/pub/infozip/doc/>
+
+=head1 GZIP
+
+=head2 Gzip Resources
+
+The primary reference for gzip files is RFC 1952
+L<http://www.faqs.org/rfcs/rfc1952.html>
+
+The primary site for gzip is F<http://www.gzip.org>.
+
+=head2 Dealing with Concatenated gzip files
+
+If the gunzip program encounters a file containing multiple gzip files
+concatenated together it will automatically uncompress them all.
+The example below illustrates this behaviour
+
+ $ echo abc | gzip -c >x.gz
+ $ echo def | gzip -c >>x.gz
+ $ gunzip -c x.gz
+ abc
+ def
+
+By default C<IO::Uncompress::Gunzip> will I<not> behave like the gunzip
+program. It will only uncompress the first gzip data stream in the file, as
+shown below
+
+ $ perl -MIO::Uncompress::Gunzip=:all -e 'gunzip "x.gz" => \*STDOUT'
+ abc
+
+To force C<IO::Uncompress::Gunzip> to uncompress all the gzip data streams,
+include the C<MultiStream> option, as shown below
+
+ $ perl -MIO::Uncompress::Gunzip=:all -e 'gunzip "x.gz" => \*STDOUT, MultiStream => 1'
+ abc
+ def
+
+=head1 ZLIB
+
+=head2 Zlib Resources
+
+The primary site for the I<zlib> compression library is
+F<http://www.zlib.org>.
+
+=head1 Bzip2
+
+=head2 Bzip2 Resources
+
+The primary site for bzip2 is F<http://www.bzip.org>.
+
+=head2 Dealing with Concatenated bzip2 files
+
+If the bunzip2 program encounters a file containing multiple bzip2 files
+concatenated together it will automatically uncompress them all.
+The example below illustrates this behaviour
+
+ $ echo abc | bzip2 -c >x.bz2
+ $ echo def | bzip2 -c >>x.bz2
+ $ bunzip2 -c x.bz2
+ abc
+ def
+
+By default C<IO::Uncompress::Bunzip2> will I<not> behave like the bunzip2
+program. It will only uncompress the first bunzip2 data stream in the file, as
+shown below
+
+ $ perl -MIO::Uncompress::Bunzip2=:all -e 'bunzip2 "x.bz2" => \*STDOUT'
+ abc
+
+To force C<IO::Uncompress::Bunzip2> to uncompress all the bzip2 data streams,
+include the C<MultiStream> option, as shown below
+
+ $ perl -MIO::Uncompress::Bunzip2=:all -e 'bunzip2 "x.bz2" => \*STDOUT, MultiStream => 1'
+ abc
+ def
+
+=head2 Interoperating with Pbzip2
+
+Pbzip2 (L<http://compression.ca/pbzip2/>) is a parallel implementation of
+bzip2. The output from pbzip2 consists of a series of concatenated bzip2
+data streams.
+
+By default C<IO::Uncompress::Bzip2> will only uncompress the first bzip2
+data stream in a pbzip2 file. To uncompress the complete pbzip2 file you
+must include the C<MultiStream> option, like this.
+
+ bunzip2 $input => \$output, MultiStream => 1
+ or die "bunzip2 failed: $Bunzip2Error\n";
+
+=head1 HTTP & NETWORK
+
+=head2 Apache::GZip Revisited
+
+Below is a mod_perl Apache compression module, called C<Apache::GZip>,
+taken from
+F<http://perl.apache.org/docs/tutorials/tips/mod_perl_tricks/mod_perl_tricks.html#On_the_Fly_Compression>
+
+ package Apache::GZip;
+ #File: Apache::GZip.pm
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use Compress::Zlib;
+ use IO::File;
+ use constant GZIP_MAGIC => 0x1f8b;
+ use constant OS_MAGIC => 0x03;
+
+ sub handler {
+ my $r = shift;
+ my ($fh,$gz);
+ my $file = $r->filename;
+ return DECLINED unless $fh=IO::File->new($file);
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ tie *STDOUT,'Apache::GZip',$r;
+ print($_) while <$fh>;
+ untie *STDOUT;
+ return OK;
+ }
+
+ sub TIEHANDLE {
+ my($class,$r) = @_;
+ # initialize a deflation stream
+ my $d = deflateInit(-WindowBits=>-MAX_WBITS()) || return undef;
+
+ # gzip header -- don't ask how I found out
+ $r->print(pack("nccVcc",GZIP_MAGIC,Z_DEFLATED,0,time(),0,OS_MAGIC));
+
+ return bless { r => $r,
+ crc => crc32(undef),
+ d => $d,
+ l => 0
+ },$class;
+ }
+
+ sub PRINT {
+ my $self = shift;
+ foreach (@_) {
+ # deflate the data
+ my $data = $self->{d}->deflate($_);
+ $self->{r}->print($data);
+ # keep track of its length and crc
+ $self->{l} += length($_);
+ $self->{crc} = crc32($_,$self->{crc});
+ }
+ }
+
+ sub DESTROY {
+ my $self = shift;
+
+ # flush the output buffers
+ my $data = $self->{d}->flush;
+ $self->{r}->print($data);
+
+ # print the CRC and the total length (uncompressed)
+ $self->{r}->print(pack("LL",@{$self}{qw/crc l/}));
+ }
+
+ 1;
+
+Here's the Apache configuration entry you'll need to make use of it. Once
+set it will result in everything in the /compressed directory will be
+compressed automagically.
+
+ <Location /compressed>
+ SetHandler perl-script
+ PerlHandler Apache::GZip
+ </Location>
+
+Although at first sight there seems to be quite a lot going on in
+C<Apache::GZip>, you could sum up what the code was doing as follows --
+read the contents of the file in C<< $r->filename >>, compress it and write
+the compressed data to standard output. That's all.
+
+This code has to jump through a few hoops to achieve this because
+
+=over
+
+=item 1.
+
+The gzip support in C<Compress::Zlib> version 1.x can only work with a real
+filesystem filehandle. The filehandles used by Apache modules are not
+associated with the filesystem.
+
+=item 2.
+
+That means all the gzip support has to be done by hand - in this case by
+creating a tied filehandle to deal with creating the gzip header and
+trailer.
+
+=back
+
+C<IO::Compress::Gzip> doesn't have that filehandle limitation (this was one
+of the reasons for writing it in the first place). So if
+C<IO::Compress::Gzip> is used instead of C<Compress::Zlib> the whole tied
+filehandle code can be removed. Here is the rewritten code.
+
+ package Apache::GZip;
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use IO::Compress::Gzip;
+ use IO::File;
+
+ sub handler {
+ my $r = shift;
+ my ($fh,$gz);
+ my $file = $r->filename;
+ return DECLINED unless $fh=IO::File->new($file);
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ my $gz = new IO::Compress::Gzip '-', Minimal => 1
+ or return DECLINED ;
+
+ print $gz $_ while <$fh>;
+
+ return OK;
+ }
+
+or even more succinctly, like this, using a one-shot gzip
+
+ package Apache::GZip;
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use IO::Compress::Gzip qw(gzip);
+
+ sub handler {
+ my $r = shift;
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ gzip $r->filename => '-', Minimal => 1
+ or return DECLINED ;
+
+ return OK;
+ }
+
+ 1;
+
+The use of one-shot C<gzip> above just reads from C<< $r->filename >> and
+writes the compressed data to standard output.
+
+Note the use of the C<Minimal> option in the code above. When using gzip
+for Content-Encoding you should I<always> use this option. In the example
+above it will prevent the filename being included in the gzip header and
+make the size of the gzip data stream a slight bit smaller.
+
+=head2 Compressed files and Net::FTP
+
+The C<Net::FTP> module provides two low-level methods called C<stor> and
+C<retr> that both return filehandles. These filehandles can used with the
+C<IO::Compress/Uncompress> modules to compress or uncompress files read
+from or written to an FTP Server on the fly, without having to create a
+temporary file.
+
+Firstly, here is code that uses C<retr> to uncompressed a file as it is
+read from the FTP Server.
+
+ use Net::FTP;
+ use IO::Uncompress::Gunzip qw(:all);
+
+ my $ftp = new Net::FTP ...
+
+ my $retr_fh = $ftp->retr($compressed_filename);
+ gunzip $retr_fh => $outFilename, AutoClose => 1
+ or die "Cannot uncompress '$compressed_file': $GunzipError\n";
+
+and this to compress a file as it is written to the FTP Server
+
+ use Net::FTP;
+ use IO::Compress::Gzip qw(:all);
+
+ my $stor_fh = $ftp->stor($filename);
+ gzip "filename" => $stor_fh, AutoClose => 1
+ or die "Cannot compress '$filename': $GzipError\n";
+
+=head1 MISC
+
+=head2 Using C<InputLength> to uncompress data embedded in a larger file/buffer.
+
+A fairly common use-case is where compressed data is embedded in a larger
+file/buffer and you want to read both.
+
+As an example consider the structure of a zip file. This is a well-defined
+file format that mixes both compressed and uncompressed sections of data in
+a single file.
+
+For the purposes of this discussion you can think of a zip file as sequence
+of compressed data streams, each of which is prefixed by an uncompressed
+local header. The local header contains information about the compressed
+data stream, including the name of the compressed file and, in particular,
+the length of the compressed data stream.
+
+To illustrate how to use C<InputLength> here is a script that walks a zip
+file and prints out how many lines are in each compressed file (if you
+intend write code to walking through a zip file for real see
+L<IO::Uncompress::Unzip/"Walking through a zip file"> ). Also, although
+this example uses the zlib-based compression, the technique can be used by
+the other C<IO::Uncompress::*> modules.
+
+ use strict;
+ use warnings;
+
+ use IO::File;
+ use IO::Uncompress::RawInflate qw(:all);
+
+ use constant ZIP_LOCAL_HDR_SIG => 0x04034b50;
+ use constant ZIP_LOCAL_HDR_LENGTH => 30;
+
+ my $file = $ARGV[0] ;
+
+ my $fh = new IO::File "<$file"
+ or die "Cannot open '$file': $!\n";
+
+ while (1)
+ {
+ my $sig;
+ my $buffer;
+
+ my $x ;
+ ($x = $fh->read($buffer, ZIP_LOCAL_HDR_LENGTH)) == ZIP_LOCAL_HDR_LENGTH
+ or die "Truncated file: $!\n";
+
+ my $signature = unpack ("V", substr($buffer, 0, 4));
+
+ last unless $signature == ZIP_LOCAL_HDR_SIG;
+
+ # Read Local Header
+ my $gpFlag = unpack ("v", substr($buffer, 6, 2));
+ my $compressedMethod = unpack ("v", substr($buffer, 8, 2));
+ my $compressedLength = unpack ("V", substr($buffer, 18, 4));
+ my $uncompressedLength = unpack ("V", substr($buffer, 22, 4));
+ my $filename_length = unpack ("v", substr($buffer, 26, 2));
+ my $extra_length = unpack ("v", substr($buffer, 28, 2));
+
+ my $filename ;
+ $fh->read($filename, $filename_length) == $filename_length
+ or die "Truncated file\n";
+
+ $fh->read($buffer, $extra_length) == $extra_length
+ or die "Truncated file\n";
+
+ if ($compressedMethod != 8 && $compressedMethod != 0)
+ {
+ warn "Skipping file '$filename' - not deflated $compressedMethod\n";
+ $fh->read($buffer, $compressedLength) == $compressedLength
+ or die "Truncated file\n";
+ next;
+ }
+
+ if ($compressedMethod == 0 && $gpFlag & 8 == 8)
+ {
+ die "Streamed Stored not supported for '$filename'\n";
+ }
+
+ next if $compressedLength == 0;
+
+ # Done reading the Local Header
+
+ my $inf = new IO::Uncompress::RawInflate $fh,
+ Transparent => 1,
+ InputLength => $compressedLength
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The majority of the code above is concerned with reading the zip local
+header data. The code that I want to focus on is at the bottom.
+
+ while (1) {
+
+ # read local zip header data
+ # get $filename
+ # get $compressedLength
+
+ my $inf = new IO::Uncompress::RawInflate $fh,
+ Transparent => 1,
+ InputLength => $compressedLength
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The call to C<IO::Uncompress::RawInflate> creates a new filehandle C<$inf>
+that can be used to read from the parent filehandle C<$fh>, uncompressing
+it as it goes. The use of the C<InputLength> option will guarantee that
+I<at most> C<$compressedLength> bytes of compressed data will be read from
+the C<$fh> filehandle (The only exception is for an error case like a
+truncated file or a corrupt data stream).
+
+This means that once RawInflate is finished C<$fh> will be left at the
+byte directly after the compressed data stream.
+
+Now consider what the code looks like without C<InputLength>
+
+ while (1) {
+
+ # read local zip header data
+ # get $filename
+ # get $compressedLength
+
+ # read all the compressed data into $data
+ read($fh, $data, $compressedLength);
+
+ my $inf = new IO::Uncompress::RawInflate \$data,
+ Transparent => 1,
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The difference here is the addition of the temporary variable C<$data>.
+This is used to store a copy of the compressed data while it is being
+uncompressed.
+
+If you know that C<$compressedLength> isn't that big then using temporary
+storage won't be a problem. But if C<$compressedLength> is very large or
+you are writing an application that other people will use, and so have no
+idea how big C<$compressedLength> will be, it could be an issue.
+
+Using C<InputLength> avoids the use of temporary storage and means the
+application can cope with large compressed data streams.
+
+One final point -- obviously C<InputLength> can only be used whenever you
+know the length of the compressed data beforehand, like here with a zip
+file.
+
+=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>
+
+L<IO::Compress::FAQ|IO::Compress::FAQ>
+
+L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
+L<Archive::Tar|Archive::Tar>,
+L<IO::Zlib|IO::Zlib>
+
+=head1 AUTHOR
+
+This module was written by Paul Marquess, F<pmqs@cpan.org>.
+
+=head1 MODIFICATION HISTORY
+
+See the Changes file.
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (c) 2005-2014 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 21141530e7c..febeea6ca91 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.060 () ;
-use IO::Compress::Adapter::Deflate 2.060 ;
+use IO::Compress::RawDeflate 2.064 () ;
+use IO::Compress::Adapter::Deflate 2.064 ;
-use IO::Compress::Base::Common 2.060 qw(:Status );
-use IO::Compress::Gzip::Constants 2.060 ;
-use IO::Compress::Zlib::Extra 2.060 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Compress::Gzip::Constants 2.064 ;
+use IO::Compress::Zlib::Extra 2.064 ;
BEGIN
{
@@ -25,7 +25,7 @@ BEGIN
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$GzipError = '' ;
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -194,7 +194,7 @@ sub mkHeader
my $self = shift ;
my $param = shift ;
- # stort-circuit if a minimal header is requested.
+ # short-circuit if a minimal header is requested.
return GZIP_MINIMUM_HEADER if $param->getValue('minimal') ;
# METHOD
@@ -257,7 +257,8 @@ sub mkHeader
}
# HEADER CRC
- $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->getValue('headercrc') ;
+ $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF )
+ if $param->getValue('headercrc') ;
noUTF8($out);
@@ -347,7 +348,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 gzip $input => $output [, OPTS]
+=head2 gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<gzip> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -801,7 +802,7 @@ and set the CRC16 header field to the CRC of the complete gzip header
except the CRC16 field itself.
B<Note> that gzip files created with the C<HeaderCRC> flag set to 1 cannot
-be read by most, if not all, of the the standard gunzip utilities, most
+be read by most, if not all, of the standard gunzip utilities, most
notably gzip version 1.2.4. You should therefore avoid using this option if
you want to maximize the portability of your gzip files.
@@ -1132,7 +1133,7 @@ Usage is
Closes the current compressed data stream and starts a new one.
-OPTS consists of any of the the options that are available when creating
+OPTS consists of any of the options that are available when creating
the C<$z> object.
See the L</"Constructor Options"> section for more details.
@@ -1243,7 +1244,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 b65f56b91f3..f6c15c72c9a 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.060';
+$VERSION = '2.064';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
index 0862e6e216d..38f7f7dab0e 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
@@ -6,15 +6,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base 2.060 ;
-use IO::Compress::Base::Common 2.060 qw(:Status );
-use IO::Compress::Adapter::Deflate 2.060 ;
+use IO::Compress::Base 2.064 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Compress::Adapter::Deflate 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$RawDeflateError = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -116,8 +116,8 @@ sub getExtraParams
return getZlibParams();
}
-use IO::Compress::Base::Common 2.060 qw(:Parse);
-use Compress::Raw::Zlib 2.060 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+use IO::Compress::Base::Common 2.064 qw(:Parse);
+use Compress::Raw::Zlib 2.064 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
our %PARAMS = (
#'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED],
'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION],
@@ -294,7 +294,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 rawdeflate $input => $output [, OPTS]
+=head2 rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<rawdeflate> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -877,7 +877,7 @@ Usage is
Closes the current compressed data stream and starts a new one.
-OPTS consists of any of the the options that are available when creating
+OPTS consists of any of the options that are available when creating
the C<$z> object.
See the L</"Constructor Options"> section for more details.
@@ -988,7 +988,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 a5bf89ecc40..a8645b346af 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
@@ -4,30 +4,30 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.060 qw(:Status );
-use IO::Compress::RawDeflate 2.060 ();
-use IO::Compress::Adapter::Deflate 2.060 ;
-use IO::Compress::Adapter::Identity 2.060 ;
-use IO::Compress::Zlib::Extra 2.060 ;
-use IO::Compress::Zip::Constants 2.060 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Compress::RawDeflate 2.064 ();
+use IO::Compress::Adapter::Deflate 2.064 ;
+use IO::Compress::Adapter::Identity 2.064 ;
+use IO::Compress::Zlib::Extra 2.064 ;
+use IO::Compress::Zip::Constants 2.064 ;
use File::Spec();
use Config;
-use Compress::Raw::Zlib 2.060 ();
+use Compress::Raw::Zlib 2.064 ();
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.060 ;
+ import IO::Compress::Adapter::Bzip2 2.064 ;
require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.060 ;
+ import IO::Compress::Bzip2 2.064 ;
} ;
eval { require IO::Compress::Adapter::Lzma ;
- import IO::Compress::Adapter::Lzma 2.060 ;
+ import IO::Compress::Adapter::Lzma 2.064 ;
require IO::Compress::Lzma ;
- import IO::Compress::Lzma 2.060 ;
+ import IO::Compress::Lzma 2.064 ;
} ;
}
@@ -36,7 +36,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$ZipError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -939,7 +939,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 zip $input => $output [, OPTS]
+=head2 zip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<zip> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -1328,7 +1328,7 @@ normalized filename will be passed to the sub.
If you use C<FilterName> to modify the filename, it is your responsibility
to keep the filename in Unix format.
-Although this option can be used with the OO ointerface, it is of most use
+Although this option can be used with the OO interface, it is of most use
with the one-shot interface. For example, the code below shows how
C<FilterName> can be used to remove the path component from a series of
filenames before they are stored in C<$zipfile>.
@@ -1410,7 +1410,7 @@ and C<$gid>. These values correspond to the numeric User ID (UID) and Group ID
(GID) of the owner of the files respectively.
When the C<exUnixN> option is present it will trigger the creation of a
-UnixN extra field (ID is "ux") in bothe the local and central zip headers.
+UnixN extra field (ID is "ux") in both the local and central zip headers.
This will be populated with C<$uid> and C<$gid>.
The UID & GID are stored as 32-bit integers.
@@ -1586,7 +1586,7 @@ Valid values are 0-9 and C<LZMA_PRESET_DEFAULT>.
0 is the fastest compression with the lowest memory usage and the lowest
compression.
-9 is the slowest compession with the highest memory usage but with the best
+9 is the slowest compression with the highest memory usage but with the best
compression.
This option is only valid if the C<Method> is ZIP_CM_LZMA. It is ignored
@@ -1833,7 +1833,7 @@ Usage is
Closes the current compressed data stream and starts a new one.
-OPTS consists of any of the the options that are available when creating
+OPTS consists of any of the options that are available when creating
the C<$z> object.
See the L</"Constructor Options"> section for more details.
@@ -1953,7 +1953,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 64cfc2685c6..02609b940a4 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.060';
+$VERSION = '2.064';
@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 328fc4aa8e6..7dd1622dfb2 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.060';
+$VERSION = '2.064';
@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 d320dccabd4..ca92b5f9bd9 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.060';
+$VERSION = '2.064';
-use IO::Compress::Gzip::Constants 2.060 ;
+use IO::Compress::Gzip::Constants 2.064 ;
sub ExtraFieldError
{
diff --git a/Master/tlpkg/tlperl/lib/IO/HTML.pm b/Master/tlpkg/tlperl/lib/IO/HTML.pm
index 317f3e1faa9..5fdad2237e1 100755
--- a/Master/tlpkg/tlperl/lib/IO/HTML.pm
+++ b/Master/tlpkg/tlperl/lib/IO/HTML.pm
@@ -1,7 +1,7 @@
#---------------------------------------------------------------------
package IO::HTML;
#
-# Copyright 2012 Christopher J. Madsen
+# Copyright 2014 Christopher J. Madsen
#
# Author: Christopher J. Madsen <perl@cjmweb.net>
# Created: 14 Jan 2012
@@ -25,8 +25,8 @@ use Carp 'croak';
use Encode 2.10 qw(decode find_encoding); # need utf-8-strict encoding
use Exporter 5.57 'import';
-our $VERSION = '1.00';
-# This file is part of IO-HTML 1.00 (February 23, 2013)
+our $VERSION = '1.001';
+# This file is part of IO-HTML 1.001 (June 28, 2014)
our $default_encoding ||= 'cp1252';
@@ -155,7 +155,7 @@ sub sniff_encoding
} # end sniff_encoding
#=====================================================================
-# Based on HTML5 8.2.2.1 Determining the character encoding:
+# Based on HTML5 8.2.2.2 Determining the character encoding:
# Get attribute from current position of $_
sub _get_attribute
@@ -264,8 +264,8 @@ IO::HTML - Open an HTML file with automatic charset detection
=head1 VERSION
-This document describes version 1.00 of
-IO::HTML, released February 23, 2013.
+This document describes version 1.001 of
+IO::HTML, released June 28, 2014.
=head1 SYNOPSIS
@@ -284,7 +284,7 @@ IO::HTML, released February 23, 2013.
IO::HTML provides an easy way to open a file containing HTML while
automatically determining its encoding. It uses the HTML5 encoding
-sniffing algorithm specified in section 8.2.2.1 of the draft standard.
+sniffing algorithm specified in section 8.2.2.2 of the draft standard.
The algorithm as implemented here is:
@@ -479,8 +479,8 @@ C<html_file>, C<html_file_and_encoding>, C<html_outfile>.
=head1 SEE ALSO
-The HTML5 specification, section 8.2.2.1 Determining the character encoding:
-L<http://www.w3.org/TR/html5/parsing.html#determining-the-character-encoding>
+The HTML5 specification, section 8.2.2.2 Determining the character encoding:
+L<http://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding>
=head1 DIAGNOSTICS
@@ -540,11 +540,11 @@ or through the web interface at
L<< http://rt.cpan.org/Public/Bug/Report.html?Queue=IO-HTML >>.
You can follow or contribute to IO-HTML's development at
-L<< http://github.com/madsen/io-html >>.
+L<< https://github.com/madsen/io-html >>.
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2013 by Christopher J. Madsen.
+This software is copyright (c) 2014 by Christopher J. Madsen.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Handle.pm b/Master/tlpkg/tlperl/lib/IO/Handle.pm
index 1cfe29e791b..aebf74e4c02 100644
--- a/Master/tlpkg/tlperl/lib/IO/Handle.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Handle.pm
@@ -271,7 +271,7 @@ use IO (); # Load the XS module
require Exporter;
@ISA = qw(Exporter);
-$VERSION = "1.34";
+$VERSION = "1.35";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(
@@ -625,7 +625,7 @@ sub ioctl {
# 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)
+# any new code should just check defined(&CONSTANT_NAME)
sub constant {
no strict 'refs';
diff --git a/Master/tlpkg/tlperl/lib/IO/Select.pm b/Master/tlpkg/tlperl/lib/IO/Select.pm
index 756a299c348..994f8966ab6 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.21";
+$VERSION = "1.22";
@ISA = qw(Exporter); # This is only so we can do version checking
@@ -86,15 +86,24 @@ sub _update
$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;
+ $fn = 0;
+ for my $fe (@{$vec}[FIRST_FD .. $#$vec]) {
+ if (defined($fe) && $fe == $f) {
+ $vec->[FD_COUNT]--;
+ $fe = undef;
+ vec($bits, $fn, 1) = 0;
+ last;
+ }
+ ++$fn;
+ }
+ }
+ else {
+ my $i = $fn + FIRST_FD;
+ next unless defined $vec->[$i];
+ $vec->[FD_COUNT]--;
+ vec($bits, $fn, 1) = 0;
+ $vec->[$i] = undef;
}
- my $i = $fn + FIRST_FD;
- next unless defined $vec->[$i];
- $vec->[FD_COUNT]--;
- vec($bits, $fn, 1) = 0;
- $vec->[$i] = undef;
}
$count++;
}
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket.pm b/Master/tlpkg/tlperl/lib/IO/Socket.pm
index aa3c9add78c..c78aeecc1a0 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket.pm
@@ -24,7 +24,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
@ISA = qw(IO::Handle);
-$VERSION = "1.36";
+$VERSION = "1.38";
@EXPORT_OK = qw(sockatmark);
@@ -135,11 +135,13 @@ sub connect {
$@ = "connect: timeout";
}
elsif (!connect($sock,$addr) &&
- not ($!{EISCONN} || ($! == 10022 && $^O eq 'MSWin32'))
+ not ($!{EISCONN} || ($^O eq 'MSWin32' &&
+ ($! == (($] < 5.019004) ? 10022 : Errno::EINVAL))))
) {
# Some systems refuse to re-connect() to
# an already open socket and set errno to EISCONN.
- # Windows sets errno to WSAEINVAL (10022)
+ # Windows sets errno to WSAEINVAL (10022) (pre-5.19.4) or
+ # EINVAL (22) (5.19.4 onwards).
$err = $!;
$@ = "connect: $!";
}
@@ -497,8 +499,23 @@ C<use> declaration will fail at compile time.
=item connected
-If the socket is in a connected state the peer address is returned.
-If the socket is not in a connected state then undef will be returned.
+If the socket is in a connected state, the peer address is returned. If the
+socket is not in a connected state, undef is returned.
+
+Note that connected() considers a half-open TCP socket to be "in a connected
+state". Specifically, connected() does not distinguish between the
+B<ESTABLISHED> and B<CLOSE-WAIT> TCP states; it returns the peer address,
+rather than undef, in either case. Thus, in general, connected() cannot
+be used to reliably learn whether the peer has initiated a graceful shutdown
+because in most cases (see below) the local TCP state machine remains in
+B<CLOSE-WAIT> until the local application calls shutdown() or close();
+only at that point does connected() return undef.
+
+The "in most cases" hedge is because local TCP state machine behavior may
+depend on the peer's socket options. In particular, if the peer socket has
+SO_LINGER enabled with a zero timeout, then the peer's close() will generate
+a RST segment, upon receipt of which the local TCP transitions immediately to
+B<CLOSED>, and in that state, connected() I<will> return undef.
=item protocol
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
index 5af70303d29..7a1694733b5 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
@@ -15,7 +15,7 @@ use Exporter;
use Errno;
@ISA = qw(IO::Socket);
-$VERSION = "1.33";
+$VERSION = "1.35";
my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
@@ -50,7 +50,7 @@ sub _get_proto_number {
return undef unless defined $name;
return $proto_number{$name} if exists $proto_number{$name};
- my @proto = getprotobyname($name);
+ my @proto = eval { getprotobyname($name) };
return undef unless @proto;
_cache_proto(@proto);
@@ -62,7 +62,7 @@ sub _get_proto_name {
return undef unless defined $num;
return $proto_name{$num} if exists $proto_name{$num};
- my @proto = getprotobynumber($num);
+ my @proto = eval { getprotobynumber($num) };
return undef unless @proto;
_cache_proto(@proto);
@@ -358,7 +358,8 @@ C<IO::Socket::INET> provides.
If C<Listen> is defined then a listen socket is created, else if the
socket type, which is derived from the protocol, is SOCK_STREAM then
-connect() is called.
+connect() is called. If the C<Listen> argument is given, but false,
+the queue size will be set to 5.
Although it is not illegal, the use of C<MultiHomed> on a socket
which is in non-blocking mode is of little use. This is because the
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/IP.pm b/Master/tlpkg/tlperl/lib/IO/Socket/IP.pm
new file mode 100644
index 00000000000..30e0464d70b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/IO/Socket/IP.pm
@@ -0,0 +1,1107 @@
+# You may distribute under the terms of either the GNU General Public License
+# or the Artistic License (the same terms as Perl itself)
+#
+# (C) Paul Evans, 2010-2014 -- leonerd@leonerd.org.uk
+
+package IO::Socket::IP;
+# $VERSION needs to be set before use base 'IO::Socket'
+# - https://rt.cpan.org/Ticket/Display.html?id=92107
+BEGIN {
+ $VERSION = '0.29';
+}
+
+use strict;
+use warnings;
+use base qw( IO::Socket );
+
+use Carp;
+
+use Socket 1.97 qw(
+ getaddrinfo getnameinfo
+ sockaddr_family
+ AF_INET
+ AI_PASSIVE
+ IPPROTO_TCP IPPROTO_UDP
+ IPPROTO_IPV6 IPV6_V6ONLY
+ NI_DGRAM NI_NUMERICHOST NI_NUMERICSERV NIx_NOHOST NIx_NOSERV
+ SO_REUSEADDR SO_REUSEPORT SO_BROADCAST SO_ERROR
+ SOCK_DGRAM SOCK_STREAM
+ SOL_SOCKET
+);
+my $AF_INET6 = eval { Socket::AF_INET6() }; # may not be defined
+my $AI_ADDRCONFIG = eval { Socket::AI_ADDRCONFIG() } || 0;
+use POSIX qw( dup2 );
+use Errno qw( EINVAL EINPROGRESS EISCONN );
+
+use constant HAVE_MSWIN32 => ( $^O eq "MSWin32" );
+
+# At least one OS (Android) is known not to have getprotobyname()
+use constant HAVE_GETPROTOBYNAME => defined eval { getprotobyname( "tcp" ) };
+
+my $IPv6_re = do {
+ # translation of RFC 3986 3.2.2 ABNF to re
+ my $IPv4address = do {
+ my $dec_octet = q<(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>;
+ qq<$dec_octet(?: \\. $dec_octet){3}>;
+ };
+ my $IPv6address = do {
+ my $h16 = qq<[0-9A-Fa-f]{1,4}>;
+ my $ls32 = qq<(?: $h16 : $h16 | $IPv4address)>;
+ qq<(?:
+ (?: $h16 : ){6} $ls32
+ | :: (?: $h16 : ){5} $ls32
+ | (?: $h16 )? :: (?: $h16 : ){4} $ls32
+ | (?: (?: $h16 : ){0,1} $h16 )? :: (?: $h16 : ){3} $ls32
+ | (?: (?: $h16 : ){0,2} $h16 )? :: (?: $h16 : ){2} $ls32
+ | (?: (?: $h16 : ){0,3} $h16 )? :: $h16 : $ls32
+ | (?: (?: $h16 : ){0,4} $h16 )? :: $ls32
+ | (?: (?: $h16 : ){0,5} $h16 )? :: $h16
+ | (?: (?: $h16 : ){0,6} $h16 )? ::
+ )>
+ };
+ qr<$IPv6address>xo;
+};
+
+=head1 NAME
+
+C<IO::Socket::IP> - Family-neutral IP socket supporting both IPv4 and IPv6
+
+=head1 SYNOPSIS
+
+ use IO::Socket::IP;
+
+ my $sock = IO::Socket::IP->new(
+ PeerHost => "www.google.com",
+ PeerPort => "http",
+ Type => SOCK_STREAM,
+ ) or die "Cannot construct socket - $@";
+
+ my $familyname = ( $sock->sockdomain == PF_INET6 ) ? "IPv6" :
+ ( $sock->sockdomain == PF_INET ) ? "IPv4" :
+ "unknown";
+
+ printf "Connected to google via %s\n", $familyname;
+
+=head1 DESCRIPTION
+
+This module provides a protocol-independent way to use IPv4 and IPv6 sockets,
+intended as a replacement for L<IO::Socket::INET>. Most constructor arguments
+and methods are provided in a backward-compatible way. For a list of known
+differences, see the C<IO::Socket::INET> INCOMPATIBILITES section below.
+
+It uses the C<getaddrinfo(3)> function to convert hostnames and service names
+or port numbers into sets of possible addresses to connect to or listen on.
+This allows it to work for IPv6 where the system supports it, while still
+falling back to IPv4-only on systems which don't.
+
+=head1 REPLACING C<IO::Socket> DEFAULT BEHAVIOUR
+
+By placing C<-register> in the import list, L<IO::Socket> uses
+C<IO::Socket::IP> rather than C<IO::Socket::INET> as the class that handles
+C<PF_INET>. C<IO::Socket> will also use C<IO::Socket::IP> rather than
+C<IO::Socket::INET6> to handle C<PF_INET6>, provided that the C<AF_INET6>
+constant is available.
+
+Changing C<IO::Socket>'s default behaviour means that calling the
+C<IO::Socket> constructor with either C<PF_INET> or C<PF_INET6> as the
+C<Domain> parameter will yield an C<IO::Socket::IP> object.
+
+ use IO::Socket::IP -register;
+
+ my $sock = IO::Socket->new(
+ Domain => PF_INET6,
+ LocalHost => "::1",
+ Listen => 1,
+ ) or die "Cannot create socket - $@\n";
+
+ print "Created a socket of type " . ref($sock) . "\n";
+
+Note that C<-register> is a global setting that applies to the entire program;
+it cannot be applied only for certain callers, removed, or limited by lexical
+scope.
+
+=cut
+
+sub import
+{
+ my $pkg = shift;
+ my @symbols;
+
+ foreach ( @_ ) {
+ if( $_ eq "-register" ) {
+ IO::Socket::IP::_ForINET->register_domain( AF_INET );
+ IO::Socket::IP::_ForINET6->register_domain( $AF_INET6 ) if defined $AF_INET6;
+ }
+ else {
+ push @symbols, $_;
+ }
+ }
+
+ @_ = ( $pkg, @symbols );
+ goto &IO::Socket::import;
+}
+
+# Convenient capability test function
+{
+ my $can_disable_v6only;
+ sub CAN_DISABLE_V6ONLY
+ {
+ return $can_disable_v6only if defined $can_disable_v6only;
+
+ socket my $testsock, Socket::PF_INET6(), SOCK_STREAM, 0 or
+ die "Cannot socket(PF_INET6) - $!";
+
+ if( setsockopt $testsock, IPPROTO_IPV6, IPV6_V6ONLY, 0 ) {
+ return $can_disable_v6only = 1;
+ }
+ elsif( $! == EINVAL ) {
+ return $can_disable_v6only = 0;
+ }
+ else {
+ die "Cannot setsockopt() - $!";
+ }
+ }
+}
+
+=head1 CONSTRUCTORS
+
+=cut
+
+=head2 $sock = IO::Socket::IP->new( %args )
+
+Creates a new C<IO::Socket::IP> object, containing a newly created socket
+handle according to the named arguments passed. The recognised arguments are:
+
+=over 8
+
+=item PeerHost => STRING
+
+=item PeerService => STRING
+
+Hostname and service name for the peer to C<connect()> to. The service name
+may be given as a port number, as a decimal string.
+
+=item PeerAddr => STRING
+
+=item PeerPort => STRING
+
+For symmetry with the accessor methods and compatibility with
+C<IO::Socket::INET>, these are accepted as synonyms for C<PeerHost> and
+C<PeerService> respectively.
+
+=item PeerAddrInfo => ARRAY
+
+Alternate form of specifying the peer to C<connect()> to. This should be an
+array of the form returned by C<Socket::getaddrinfo>.
+
+This parameter takes precedence over the C<Peer*>, C<Family>, C<Type> and
+C<Proto> arguments.
+
+=item LocalHost => STRING
+
+=item LocalService => STRING
+
+Hostname and service name for the local address to C<bind()> to.
+
+=item LocalAddr => STRING
+
+=item LocalPort => STRING
+
+For symmetry with the accessor methods and compatibility with
+C<IO::Socket::INET>, these are accepted as synonyms for C<LocalHost> and
+C<LocalService> respectively.
+
+=item LocalAddrInfo => ARRAY
+
+Alternate form of specifying the local address to C<bind()> to. This should be
+an array of the form returned by C<Socket::getaddrinfo>.
+
+This parameter takes precedence over the C<Local*>, C<Family>, C<Type> and
+C<Proto> arguments.
+
+=item Family => INT
+
+The address family to pass to C<getaddrinfo> (e.g. C<AF_INET>, C<AF_INET6>).
+Normally this will be left undefined, and C<getaddrinfo> will search using any
+address family supported by the system.
+
+=item Type => INT
+
+The socket type to pass to C<getaddrinfo> (e.g. C<SOCK_STREAM>,
+C<SOCK_DGRAM>). Normally defined by the caller; if left undefined
+C<getaddrinfo> may attempt to infer the type from the service name.
+
+=item Proto => STRING or INT
+
+The IP protocol to use for the socket (e.g. C<'tcp'>, C<IPPROTO_TCP>,
+C<'udp'>,C<IPPROTO_UDP>). Normally this will be left undefined, and either
+C<getaddrinfo> or the kernel will choose an appropriate value. May be given
+either in string name or numeric form.
+
+=item GetAddrInfoFlags => INT
+
+More flags to pass to the C<getaddrinfo()> function. If not supplied, a
+default of C<AI_ADDRCONFIG> will be used.
+
+These flags will be combined with C<AI_PASSIVE> if the C<Listen> argument is
+given. For more information see the documentation about C<getaddrinfo()> in
+the L<Socket> module.
+
+=item Listen => INT
+
+If defined, puts the socket into listening mode where new connections can be
+accepted using the C<accept> method. The value given is used as the
+C<listen(2)> queue size.
+
+=item ReuseAddr => BOOL
+
+If true, set the C<SO_REUSEADDR> sockopt
+
+=item ReusePort => BOOL
+
+If true, set the C<SO_REUSEPORT> sockopt (not all OSes implement this sockopt)
+
+=item Broadcast => BOOL
+
+If true, set the C<SO_BROADCAST> sockopt
+
+=item V6Only => BOOL
+
+If defined, set the C<IPV6_V6ONLY> sockopt when creating C<PF_INET6> sockets
+to the given value. If true, a listening-mode socket will only listen on the
+C<AF_INET6> addresses; if false it will also accept connections from
+C<AF_INET> addresses.
+
+If not defined, the socket option will not be changed, and default value set
+by the operating system will apply. For repeatable behaviour across platforms
+it is recommended this value always be defined for listening-mode sockets.
+
+Note that not all platforms support disabling this option. Some, at least
+OpenBSD and MirBSD, will fail with C<EINVAL> if you attempt to disable it.
+To determine whether it is possible to disable, you may use the class method
+
+ if( IO::Socket::IP->CAN_DISABLE_V6ONLY ) {
+ ...
+ }
+ else {
+ ...
+ }
+
+If your platform does not support disabling this option but you still want to
+listen for both C<AF_INET> and C<AF_INET6> connections you will have to create
+two listening sockets, one bound to each protocol.
+
+=item MultiHomed
+
+This C<IO::Socket::INET>-style argument is ignored, except if it is defined
+but false. See the C<IO::Socket::INET> INCOMPATIBILITES section below.
+
+However, the behaviour it enables is always performed by C<IO::Socket::IP>.
+
+=item Blocking => BOOL
+
+If defined but false, the socket will be set to non-blocking mode. Otherwise
+it will default to blocking mode. See the NON-BLOCKING section below for more
+detail.
+
+=back
+
+If neither C<Type> nor C<Proto> hints are provided, a default of
+C<SOCK_STREAM> and C<IPPROTO_TCP> respectively will be set, to maintain
+compatibility with C<IO::Socket::INET>. Other named arguments that are not
+recognised are ignored.
+
+If neither C<Family> nor any hosts or addresses are passed, nor any
+C<*AddrInfo>, then the constructor has no information on which to decide a
+socket family to create. In this case, it performs a C<getaddinfo> call with
+the C<AI_ADDRCONFIG> flag, no host name, and a service name of C<"0">, and
+uses the family of the first returned result.
+
+If the constructor fails, it will set C<$@> to an appropriate error message;
+this may be from C<$!> or it may be some other string; not every failure
+necessarily has an associated C<errno> value.
+
+=head2 $sock = IO::Socket::IP->new( $peeraddr )
+
+As a special case, if the constructor is passed a single argument (as
+opposed to an even-sized list of key/value pairs), it is taken to be the value
+of the C<PeerAddr> parameter. This is parsed in the same way, according to the
+behaviour given in the C<PeerHost> AND C<LocalHost> PARSING section below.
+
+=cut
+
+sub new
+{
+ my $class = shift;
+ my %arg = (@_ == 1) ? (PeerHost => $_[0]) : @_;
+ return $class->SUPER::new(%arg);
+}
+
+# IO::Socket may call this one; neaten up the arguments from IO::Socket::INET
+# before calling our real _configure method
+sub configure
+{
+ my $self = shift;
+ my ( $arg ) = @_;
+
+ $arg->{PeerHost} = delete $arg->{PeerAddr}
+ if exists $arg->{PeerAddr} && !exists $arg->{PeerHost};
+
+ $arg->{PeerService} = delete $arg->{PeerPort}
+ if exists $arg->{PeerPort} && !exists $arg->{PeerService};
+
+ $arg->{LocalHost} = delete $arg->{LocalAddr}
+ if exists $arg->{LocalAddr} && !exists $arg->{LocalHost};
+
+ $arg->{LocalService} = delete $arg->{LocalPort}
+ if exists $arg->{LocalPort} && !exists $arg->{LocalService};
+
+ for my $type (qw(Peer Local)) {
+ my $host = $type . 'Host';
+ my $service = $type . 'Service';
+
+ if( defined $arg->{$host} ) {
+ ( $arg->{$host}, my $s ) = $self->split_addr( $arg->{$host} );
+ # IO::Socket::INET compat - *Host parsed port always takes precedence
+ $arg->{$service} = $s if defined $s;
+ }
+ }
+
+ $self->_io_socket_ip__configure( $arg );
+}
+
+# Avoid simply calling it _configure, as some subclasses of IO::Socket::INET on CPAN already take that
+sub _io_socket_ip__configure
+{
+ my $self = shift;
+ my ( $arg ) = @_;
+
+ my %hints;
+ my @localinfos;
+ my @peerinfos;
+
+ if( defined $arg->{GetAddrInfoFlags} ) {
+ $hints{flags} = $arg->{GetAddrInfoFlags};
+ }
+ else {
+ $hints{flags} = $AI_ADDRCONFIG;
+ }
+
+ if( defined( my $family = $arg->{Family} ) ) {
+ $hints{family} = $family;
+ }
+
+ if( defined( my $type = $arg->{Type} ) ) {
+ $hints{socktype} = $type;
+ }
+
+ if( defined( my $proto = $arg->{Proto} ) ) {
+ unless( $proto =~ m/^\d+$/ ) {
+ my $protonum = HAVE_GETPROTOBYNAME
+ ? getprotobyname( $proto )
+ : eval { Socket->${\"IPPROTO_\U$proto"}() };
+ defined $protonum or croak "Unrecognised protocol $proto";
+ $proto = $protonum;
+ }
+
+ $hints{protocol} = $proto;
+ }
+
+ # To maintain compatibility with IO::Socket::INET, imply a default of
+ # SOCK_STREAM + IPPROTO_TCP if neither hint is given
+ if( !defined $hints{socktype} and !defined $hints{protocol} ) {
+ $hints{socktype} = SOCK_STREAM;
+ $hints{protocol} = IPPROTO_TCP;
+ }
+
+ # Some OSes (NetBSD) don't seem to like just a protocol hint without a
+ # socktype hint as well. We'll set a couple of common ones
+ if( !defined $hints{socktype} and defined $hints{protocol} ) {
+ $hints{socktype} = SOCK_STREAM if $hints{protocol} == IPPROTO_TCP;
+ $hints{socktype} = SOCK_DGRAM if $hints{protocol} == IPPROTO_UDP;
+ }
+
+ if( my $info = $arg->{LocalAddrInfo} ) {
+ ref $info eq "ARRAY" or croak "Expected 'LocalAddrInfo' to be an ARRAY ref";
+ @localinfos = @$info;
+ }
+ elsif( defined $arg->{LocalHost} or defined $arg->{LocalService} ) {
+ # Either may be undef
+ my $host = $arg->{LocalHost};
+ my $service = $arg->{LocalService};
+
+ local $1; # Placate a taint-related bug; [perl #67962]
+ defined $service and $service =~ s/\((\d+)\)$// and
+ my $fallback_port = $1;
+
+ my %localhints = %hints;
+ $localhints{flags} |= AI_PASSIVE;
+ ( my $err, @localinfos ) = getaddrinfo( $host, $service, \%localhints );
+
+ if( $err and defined $fallback_port ) {
+ ( $err, @localinfos ) = getaddrinfo( $host, $fallback_port, \%localhints );
+ }
+
+ if( $err ) {
+ $@ = "$err";
+ $! = EINVAL;
+ return;
+ }
+ }
+
+ if( my $info = $arg->{PeerAddrInfo} ) {
+ ref $info eq "ARRAY" or croak "Expected 'PeerAddrInfo' to be an ARRAY ref";
+ @peerinfos = @$info;
+ }
+ elsif( defined $arg->{PeerHost} or defined $arg->{PeerService} ) {
+ defined( my $host = $arg->{PeerHost} ) or
+ croak "Expected 'PeerHost'";
+ defined( my $service = $arg->{PeerService} ) or
+ croak "Expected 'PeerService'";
+
+ local $1; # Placate a taint-related bug; [perl #67962]
+ defined $service and $service =~ s/\((\d+)\)$// and
+ my $fallback_port = $1;
+
+ ( my $err, @peerinfos ) = getaddrinfo( $host, $service, \%hints );
+
+ if( $err and defined $fallback_port ) {
+ ( $err, @peerinfos ) = getaddrinfo( $host, $fallback_port, \%hints );
+ }
+
+ if( $err ) {
+ $@ = "$err";
+ $! = EINVAL;
+ return;
+ }
+ }
+
+ my @sockopts_enabled;
+ push @sockopts_enabled, SO_REUSEADDR if $arg->{ReuseAddr};
+ push @sockopts_enabled, SO_REUSEPORT if $arg->{ReusePort};
+ push @sockopts_enabled, SO_BROADCAST if $arg->{Broadcast};
+
+ my $listenqueue = $arg->{Listen};
+
+ croak "Cannot Listen with a PeerHost" if defined $listenqueue and @peerinfos;
+
+ my $blocking = $arg->{Blocking};
+ defined $blocking or $blocking = 1;
+
+ my $v6only = $arg->{V6Only};
+
+ # IO::Socket::INET defines this key. IO::Socket::IP always implements the
+ # behaviour it requests, so we can ignore it, unless the caller is for some
+ # reason asking to disable it.
+ if( defined $arg->{MultiHomed} and !$arg->{MultiHomed} ) {
+ croak "Cannot disable the MultiHomed parameter";
+ }
+
+ my @infos;
+ foreach my $local ( @localinfos ? @localinfos : {} ) {
+ foreach my $peer ( @peerinfos ? @peerinfos : {} ) {
+ next if defined $local->{family} and defined $peer->{family} and
+ $local->{family} != $peer->{family};
+ next if defined $local->{socktype} and defined $peer->{socktype} and
+ $local->{socktype} != $peer->{socktype};
+ next if defined $local->{protocol} and defined $peer->{protocol} and
+ $local->{protocol} != $peer->{protocol};
+
+ my $family = $local->{family} || $peer->{family} or next;
+ my $socktype = $local->{socktype} || $peer->{socktype} or next;
+ my $protocol = $local->{protocol} || $peer->{protocol} || 0;
+
+ push @infos, {
+ family => $family,
+ socktype => $socktype,
+ protocol => $protocol,
+ localaddr => $local->{addr},
+ peeraddr => $peer->{addr},
+ };
+ }
+ }
+
+ if( !@infos ) {
+ # If there was a Family hint then create a plain unbound, unconnected socket
+ if( defined $hints{family} ) {
+ @infos = ( {
+ family => $hints{family},
+ socktype => $hints{socktype},
+ protocol => $hints{protocol},
+ } );
+ }
+ # If there wasn't, use getaddrinfo()'s AI_ADDRCONFIG side-effect to guess a
+ # suitable family first.
+ else {
+ ( my $err, @infos ) = getaddrinfo( "", "0", \%hints );
+ if( $err ) {
+ $@ = "$err";
+ $! = EINVAL;
+ return;
+ }
+
+ # We'll take all the @infos anyway, because some OSes (HPUX) are known to
+ # ignore the AI_ADDRCONFIG hint and return AF_INET6 even if they don't
+ # support them
+ }
+ }
+
+ # In the nonblocking case, caller will be calling ->setup multiple times.
+ # Store configuration in the object for the ->setup method
+ # Yes, these are messy. Sorry, I can't help that...
+
+ ${*$self}{io_socket_ip_infos} = \@infos;
+
+ ${*$self}{io_socket_ip_idx} = -1;
+
+ ${*$self}{io_socket_ip_sockopts} = \@sockopts_enabled;
+ ${*$self}{io_socket_ip_v6only} = $v6only;
+ ${*$self}{io_socket_ip_listenqueue} = $listenqueue;
+ ${*$self}{io_socket_ip_blocking} = $blocking;
+
+ ${*$self}{io_socket_ip_errors} = [ undef, undef, undef ];
+
+ # ->setup is allowed to return false in nonblocking mode
+ $self->setup or !$blocking or return undef;
+
+ return $self;
+}
+
+sub setup
+{
+ my $self = shift;
+
+ while(1) {
+ ${*$self}{io_socket_ip_idx}++;
+ last if ${*$self}{io_socket_ip_idx} >= @{ ${*$self}{io_socket_ip_infos} };
+
+ my $info = ${*$self}{io_socket_ip_infos}->[${*$self}{io_socket_ip_idx}];
+
+ $self->socket( @{$info}{qw( family socktype protocol )} ) or
+ ( ${*$self}{io_socket_ip_errors}[2] = $!, next );
+
+ $self->blocking( 0 ) unless ${*$self}{io_socket_ip_blocking};
+
+ foreach my $sockopt ( @{ ${*$self}{io_socket_ip_sockopts} } ) {
+ $self->setsockopt( SOL_SOCKET, $sockopt, pack "i", 1 ) or ( $@ = "$!", return undef );
+ }
+
+ if( defined ${*$self}{io_socket_ip_v6only} and defined $AF_INET6 and $info->{family} == $AF_INET6 ) {
+ my $v6only = ${*$self}{io_socket_ip_v6only};
+ $self->setsockopt( IPPROTO_IPV6, IPV6_V6ONLY, pack "i", $v6only ) or ( $@ = "$!", return undef );
+ }
+
+ if( defined( my $addr = $info->{localaddr} ) ) {
+ $self->bind( $addr ) or
+ ( ${*$self}{io_socket_ip_errors}[1] = $!, next );
+ }
+
+ if( defined( my $listenqueue = ${*$self}{io_socket_ip_listenqueue} ) ) {
+ $self->listen( $listenqueue ) or ( $@ = "$!", return undef );
+ }
+
+ if( defined( my $addr = $info->{peeraddr} ) ) {
+ if( $self->connect( $addr ) ) {
+ $! = 0;
+ return 1;
+ }
+
+ if( $! == EINPROGRESS or HAVE_MSWIN32 && $! == Errno::EWOULDBLOCK() ) {
+ ${*$self}{io_socket_ip_connect_in_progress} = 1;
+ return 0;
+ }
+
+ ${*$self}{io_socket_ip_errors}[0] = $!;
+ next;
+ }
+
+ return 1;
+ }
+
+ # Pick the most appropriate error, stringified
+ $! = ( grep defined, @{ ${*$self}{io_socket_ip_errors}} )[0];
+ $@ = "$!";
+ return undef;
+}
+
+sub connect
+{
+ my $self = shift;
+
+ # It seems that IO::Socket hides EINPROGRESS errors, making them look like
+ # a success. This is annoying here.
+ # Instead of putting up with its frankly-irritating intentional breakage of
+ # useful APIs I'm just going to end-run around it and call CORE::connect()
+ # directly
+
+ return CORE::connect( $self, $_[0] ) if @_;
+
+ return 1 if !${*$self}{io_socket_ip_connect_in_progress};
+
+ # See if a connect attempt has just failed with an error
+ if( my $errno = $self->getsockopt( SOL_SOCKET, SO_ERROR ) ) {
+ delete ${*$self}{io_socket_ip_connect_in_progress};
+ ${*$self}{io_socket_ip_errors}[0] = $! = $errno;
+ return $self->setup;
+ }
+
+ # No error, so either connect is still in progress, or has completed
+ # successfully. We can tell by trying to connect() again; either it will
+ # succeed or we'll get EISCONN (connected successfully), or EALREADY
+ # (still in progress). This even works on MSWin32.
+ my $addr = ${*$self}{io_socket_ip_infos}[${*$self}{io_socket_ip_idx}]{peeraddr};
+
+ if( $self->connect( $addr ) or $! == EISCONN ) {
+ delete ${*$self}{io_socket_ip_connect_in_progress};
+ $! = 0;
+ return 1;
+ }
+ else {
+ $! = EINPROGRESS;
+ return 0;
+ }
+}
+
+sub connected
+{
+ my $self = shift;
+ return defined $self->fileno &&
+ !${*$self}{io_socket_ip_connect_in_progress} &&
+ defined getpeername( $self ); # ->peername caches, we need to detect disconnection
+}
+
+=head1 METHODS
+
+As well as the following methods, this class inherits all the methods in
+L<IO::Socket> and L<IO::Handle>.
+
+=cut
+
+sub _get_host_service
+{
+ my $self = shift;
+ my ( $addr, $flags, $xflags ) = @_;
+
+ $flags |= NI_DGRAM if $self->socktype == SOCK_DGRAM;
+
+ my ( $err, $host, $service ) = getnameinfo( $addr, $flags, $xflags || 0 );
+ croak "getnameinfo - $err" if $err;
+
+ return ( $host, $service );
+}
+
+sub _unpack_sockaddr
+{
+ my ( $addr ) = @_;
+ my $family = sockaddr_family $addr;
+
+ if( $family == AF_INET ) {
+ return ( Socket::unpack_sockaddr_in( $addr ) )[1];
+ }
+ elsif( defined $AF_INET6 and $family == $AF_INET6 ) {
+ return ( Socket::unpack_sockaddr_in6( $addr ) )[1];
+ }
+ else {
+ croak "Unrecognised address family $family";
+ }
+}
+
+=head2 ( $host, $service ) = $sock->sockhost_service( $numeric )
+
+Returns the hostname and service name of the local address (that is, the
+socket address given by the C<sockname> method).
+
+If C<$numeric> is true, these will be given in numeric form rather than being
+resolved into names.
+
+The following four convenience wrappers may be used to obtain one of the two
+values returned here. If both host and service names are required, this method
+is preferable to the following wrappers, because it will call
+C<getnameinfo(3)> only once.
+
+=cut
+
+sub sockhost_service
+{
+ my $self = shift;
+ my ( $numeric ) = @_;
+
+ $self->_get_host_service( $self->sockname, $numeric ? NI_NUMERICHOST|NI_NUMERICSERV : 0 );
+}
+
+=head2 $addr = $sock->sockhost
+
+Return the numeric form of the local address as a textual representation
+
+=head2 $port = $sock->sockport
+
+Return the numeric form of the local port number
+
+=head2 $host = $sock->sockhostname
+
+Return the resolved name of the local address
+
+=head2 $service = $sock->sockservice
+
+Return the resolved name of the local port number
+
+=cut
+
+sub sockhost { my $self = shift; ( $self->_get_host_service( $self->sockname, NI_NUMERICHOST, NIx_NOSERV ) )[0] }
+sub sockport { my $self = shift; ( $self->_get_host_service( $self->sockname, NI_NUMERICSERV, NIx_NOHOST ) )[1] }
+
+sub sockhostname { my $self = shift; ( $self->_get_host_service( $self->sockname, 0, NIx_NOSERV ) )[0] }
+sub sockservice { my $self = shift; ( $self->_get_host_service( $self->sockname, 0, NIx_NOHOST ) )[1] }
+
+=head2 $addr = $sock->sockaddr
+
+Return the local address as a binary octet string
+
+=cut
+
+sub sockaddr { my $self = shift; _unpack_sockaddr $self->sockname }
+
+=head2 ( $host, $service ) = $sock->peerhost_service( $numeric )
+
+Returns the hostname and service name of the peer address (that is, the
+socket address given by the C<peername> method), similar to the
+C<sockhost_service> method.
+
+The following four convenience wrappers may be used to obtain one of the two
+values returned here. If both host and service names are required, this method
+is preferable to the following wrappers, because it will call
+C<getnameinfo(3)> only once.
+
+=cut
+
+sub peerhost_service
+{
+ my $self = shift;
+ my ( $numeric ) = @_;
+
+ $self->_get_host_service( $self->peername, $numeric ? NI_NUMERICHOST|NI_NUMERICSERV : 0 );
+}
+
+=head2 $addr = $sock->peerhost
+
+Return the numeric form of the peer address as a textual representation
+
+=head2 $port = $sock->peerport
+
+Return the numeric form of the peer port number
+
+=head2 $host = $sock->peerhostname
+
+Return the resolved name of the peer address
+
+=head2 $service = $sock->peerservice
+
+Return the resolved name of the peer port number
+
+=cut
+
+sub peerhost { my $self = shift; ( $self->_get_host_service( $self->peername, NI_NUMERICHOST, NIx_NOSERV ) )[0] }
+sub peerport { my $self = shift; ( $self->_get_host_service( $self->peername, NI_NUMERICSERV, NIx_NOHOST ) )[1] }
+
+sub peerhostname { my $self = shift; ( $self->_get_host_service( $self->peername, 0, NIx_NOSERV ) )[0] }
+sub peerservice { my $self = shift; ( $self->_get_host_service( $self->peername, 0, NIx_NOHOST ) )[1] }
+
+=head2 $addr = $peer->peeraddr
+
+Return the peer address as a binary octet string
+
+=cut
+
+sub peeraddr { my $self = shift; _unpack_sockaddr $self->peername }
+
+# This unbelievably dodgy hack works around the bug that IO::Socket doesn't do
+# it
+# https://rt.cpan.org/Ticket/Display.html?id=61577
+sub accept
+{
+ my $self = shift;
+ my ( $new, $peer ) = $self->SUPER::accept( @_ ) or return;
+
+ ${*$new}{$_} = ${*$self}{$_} for qw( io_socket_domain io_socket_type io_socket_proto );
+
+ return wantarray ? ( $new, $peer )
+ : $new;
+}
+
+# This second unbelievably dodgy hack guarantees that $self->fileno doesn't
+# change, which is useful during nonblocking connect
+sub socket
+{
+ my $self = shift;
+ return $self->SUPER::socket(@_) if not defined $self->fileno;
+
+ # I hate core prototypes sometimes...
+ CORE::socket( my $tmph, $_[0], $_[1], $_[2] ) or return undef;
+
+ dup2( $tmph->fileno, $self->fileno ) or die "Unable to dup2 $tmph onto $self - $!";
+}
+
+# Versions of IO::Socket before 1.35 may leave socktype undef if from, say, an
+# ->fdopen call. In this case we'll apply a fix
+BEGIN {
+ if( $IO::Socket::VERSION < 1.35 ) {
+ *socktype = sub {
+ my $self = shift;
+ my $type = $self->SUPER::socktype;
+ if( !defined $type ) {
+ $type = $self->sockopt( Socket::SO_TYPE() );
+ }
+ return $type;
+ };
+ }
+}
+
+=head2 $inet = $sock->as_inet
+
+Returns a new L<IO::Socket::INET> instance wrapping the same filehandle. This
+may be useful in cases where it is required, for backward-compatibility, to
+have a real object of C<IO::Socket::INET> type instead of C<IO::Socket::IP>.
+The new object will wrap the same underlying socket filehandle as the
+original, so care should be taken not to continue to use both objects
+concurrently. Ideally the original C<$sock> should be discarded after this
+method is called.
+
+This method checks that the socket domain is C<PF_INET> and will throw an
+exception if it isn't.
+
+=cut
+
+sub as_inet
+{
+ my $self = shift;
+ croak "Cannot downgrade a non-PF_INET socket to IO::Socket::INET" unless $self->sockdomain == AF_INET;
+ return IO::Socket::INET->new_from_fd( $self->fileno, "r+" );
+}
+
+=head1 NON-BLOCKING
+
+If the constructor is passed a defined but false value for the C<Blocking>
+argument then the socket is put into non-blocking mode. When in non-blocking
+mode, the socket will not be set up by the time the constructor returns,
+because the underlying C<connect(2)> syscall would otherwise have to block.
+
+The non-blocking behaviour is an extension of the C<IO::Socket::INET> API,
+unique to C<IO::Socket::IP>, because the former does not support multi-homed
+non-blocking connect.
+
+When using non-blocking mode, the caller must repeatedly check for
+writeability on the filehandle (for instance using C<select> or C<IO::Poll>).
+Each time the filehandle is ready to write, the C<connect> method must be
+called, with no arguments. Note that some operating systems, most notably
+C<MSWin32> do not report a C<connect()> failure using write-ready; so you must
+also C<select()> for exceptional status.
+
+While C<connect> returns false, the value of C<$!> indicates whether it should
+be tried again (by being set to the value C<EINPROGRESS>, or C<EWOULDBLOCK> on
+MSWin32), or whether a permanent error has occurred (e.g. C<ECONNREFUSED>).
+
+Once the socket has been connected to the peer, C<connect> will return true
+and the socket will now be ready to use.
+
+Note that calls to the platform's underlying C<getaddrinfo(3)> function may
+block. If C<IO::Socket::IP> has to perform this lookup, the constructor will
+block even when in non-blocking mode.
+
+To avoid this blocking behaviour, the caller should pass in the result of such
+a lookup using the C<PeerAddrInfo> or C<LocalAddrInfo> arguments. This can be
+achieved by using L<Net::LibAsyncNS>, or the C<getaddrinfo(3)> function can be
+called in a child process.
+
+ use IO::Socket::IP;
+ use Errno qw( EINPROGRESS EWOULDBLOCK );
+
+ my @peeraddrinfo = ... # Caller must obtain the getaddinfo result here
+
+ my $socket = IO::Socket::IP->new(
+ PeerAddrInfo => \@peeraddrinfo,
+ Blocking => 0,
+ ) or die "Cannot construct socket - $@";
+
+ while( !$socket->connect and ( $! == EINPROGRESS || $! == EWOULDBLOCK ) ) {
+ my $wvec = '';
+ vec( $wvec, fileno $socket, 1 ) = 1;
+ my $evec = '';
+ vec( $evec, fileno $socket, 1 ) = 1;
+
+ select( undef, $wvec, $evec, undef ) or die "Cannot select - $!";
+ }
+
+ die "Cannot connect - $!" if $!;
+
+ ...
+
+The example above uses C<select()>, but any similar mechanism should work
+analogously. C<IO::Socket::IP> takes care when creating new socket filehandles
+to preserve the actual file descriptor number, so such techniques as C<poll>
+or C<epoll> should be transparent to its reallocation of a different socket
+underneath, perhaps in order to switch protocol family between C<PF_INET> and
+C<PF_INET6>.
+
+For another example using C<IO::Poll> and C<Net::LibAsyncNS>, see the
+F<examples/nonblocking_libasyncns.pl> file in the module distribution.
+
+=cut
+
+=head1 C<PeerHost> AND C<LocalHost> PARSING
+
+To support the C<IO::Socket::INET> API, the host and port information may be
+passed in a single string rather than as two separate arguments.
+
+If either C<LocalHost> or C<PeerHost> (or their C<...Addr> synonyms) have any
+of the following special forms then special parsing is applied.
+
+The value of the C<...Host> argument will be split to give both the hostname
+and port (or service name):
+
+ hostname.example.org:http # Host name
+ 192.0.2.1:80 # IPv4 address
+ [2001:db8::1]:80 # IPv6 address
+
+In each case, the port or service name (e.g. C<80>) is passed as the
+C<LocalService> or C<PeerService> argument.
+
+Either of C<LocalService> or C<PeerService> (or their C<...Port> synonyms) can
+be either a service name, a decimal number, or a string containing both a
+service name and number, in a form such as
+
+ http(80)
+
+In this case, the name (C<http>) will be tried first, but if the resolver does
+not understand it then the port number (C<80>) will be used instead.
+
+If the C<...Host> argument is in this special form and the corresponding
+C<...Service> or C<...Port> argument is also defined, the one parsed from
+the C<...Host> argument will take precedence and the other will be ignored.
+
+=head2 ( $host, $port ) = IO::Socket::IP->split_addr( $addr )
+
+Utility method that provides the parsing functionality described above.
+Returns a 2-element list, containing either the split hostname and port
+description if it could be parsed, or the given address and C<undef> if it was
+not recognised.
+
+ IO::Socket::IP->split_addr( "hostname:http" )
+ # ( "hostname", "http" )
+
+ IO::Socket::IP->split_addr( "192.0.2.1:80" )
+ # ( "192.0.2.1", "80" )
+
+ IO::Socket::IP->split_addr( "[2001:db8::1]:80" )
+ # ( "2001:db8::1", "80" )
+
+ IO::Socket::IP->split_addr( "something.else" )
+ # ( "something.else", undef )
+
+=cut
+
+sub split_addr
+{
+ shift;
+ my ( $addr ) = @_;
+
+ local ( $1, $2 ); # Placate a taint-related bug; [perl #67962]
+ if( $addr =~ m/\A\[($IPv6_re)\](?::([^\s:]*))?\z/ or
+ $addr =~ m/\A([^\s:]*):([^\s:]*)\z/ ) {
+ return ( $1, $2 ) if defined $2 and length $2;
+ return ( $1, undef );
+ }
+
+ return ( $addr, undef );
+}
+
+=head2 $addr = IO::Socket::IP->join_addr( $host, $port )
+
+Utility method that performs the reverse of C<split_addr>, returning a string
+formed by joining the specified host address and port number. The host address
+will be wrapped in C<[]> brackets if required (because it is a raw IPv6
+numeric address).
+
+This can be especially useful when combined with the C<sockhost_service> or
+C<peerhost_service> methods.
+
+ say "Connected to ", IO::Socket::IP->join_addr( $sock->peerhost_service );
+
+=cut
+
+sub join_addr
+{
+ shift;
+ my ( $host, $port ) = @_;
+
+ $host = "[$host]" if $host =~ m/:/;
+
+ return join ":", $host, $port if defined $port;
+ return $host;
+}
+
+# Since IO::Socket->new( Domain => ... ) will delete the Domain parameter
+# before calling ->configure, we need to keep track of which it was
+
+package # hide from indexer
+ IO::Socket::IP::_ForINET;
+use base qw( IO::Socket::IP );
+
+sub configure
+{
+ # This is evil
+ my $self = shift;
+ my ( $arg ) = @_;
+
+ bless $self, "IO::Socket::IP";
+ $self->configure( { %$arg, Family => Socket::AF_INET() } );
+}
+
+package # hide from indexer
+ IO::Socket::IP::_ForINET6;
+use base qw( IO::Socket::IP );
+
+sub configure
+{
+ # This is evil
+ my $self = shift;
+ my ( $arg ) = @_;
+
+ bless $self, "IO::Socket::IP";
+ $self->configure( { %$arg, Family => Socket::AF_INET6() } );
+}
+
+=head1 C<IO::Socket::INET> INCOMPATIBILITES
+
+=over 4
+
+=item *
+
+The behaviour enabled by C<MultiHomed> is in fact implemented by
+C<IO::Socket::IP> as it is required to correctly support searching for a
+useable address from the results of the C<getaddrinfo(3)> call. The
+constructor will ignore the value of this argument, except if it is defined
+but false. An exception is thrown in this case, because that would request it
+disable the C<getaddrinfo(3)> search behaviour in the first place.
+
+=back
+
+=cut
+
+=head1 TODO
+
+=over 4
+
+=item *
+
+Investigate whether C<POSIX::dup2> upsets BSD's C<kqueue> watchers, and if so,
+consider what possible workarounds might be applied.
+
+=back
+
+=head1 AUTHOR
+
+Paul Evans <leonerd@leonerd.org.uk>
+
+=cut
+
+0x55AA;
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
index c6a10fea805..30b8f74eb05 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
@@ -12,7 +12,7 @@ use IO::Socket;
use Carp;
@ISA = qw(IO::Socket);
-$VERSION = "1.24";
+$VERSION = "1.26";
$VERSION = eval $VERSION;
IO::Socket::UNIX->register_domain( AF_UNIX );
@@ -74,6 +74,28 @@ IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
use IO::Socket::UNIX;
+ my $SOCK_PATH = "$ENV{HOME}/unix-domain-socket-test.sock";
+
+ # Server:
+ my $server = IO::Socket::UNIX->new(
+ Type => SOCK_STREAM(),
+ Local => $SOCK_PATH,
+ Listen => 1,
+ );
+
+ my $count = 1;
+ while (my $conn = $server->accept()) {
+ $conn->print("Hello " . ($count++) . "\n");
+ }
+
+ # Client:
+ my $client = IO::Socket::UNIX->new(
+ Type => SOCK_STREAM(),
+ Peer => $SOCK_PATH,
+ );
+
+ # Now read and write from $client
+
=head1 DESCRIPTION
C<IO::Socket::UNIX> provides an object interface to creating and using sockets
@@ -96,18 +118,12 @@ C<IO::Socket::UNIX> provides.
Type Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
Local Path to local fifo
Peer Path to peer fifo
- Listen Create a listen socket
+ Listen Queue size for listen
If the constructor is only passed a single argument, it is assumed to
be a C<Peer> specification.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-As of VERSION 1.18 all IO::Socket objects have autoflush turned on
-by default. This was not the case with earlier releases.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
+If the C<Listen> argument is given, but false, the queue size will be set to 5.
=back
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
index c35601cd3d2..53b8ef1d583 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.060 qw(:Status);
+use IO::Compress::Base::Common 2.064 qw(:Status);
-use Compress::Raw::Bzip2 2.060 ;
+use Compress::Raw::Bzip2 2.064 ;
our ($VERSION, @ISA);
-$VERSION = '2.060';
+$VERSION = '2.064';
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 5c63b5ccbd2..812f3f87d1b 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,14 +4,14 @@ use warnings;
use strict;
use bytes;
-use IO::Compress::Base::Common 2.060 qw(:Status);
+use IO::Compress::Base::Common 2.064 qw(:Status);
use IO::Compress::Zip::Constants ;
our ($VERSION);
-$VERSION = '2.060';
+$VERSION = '2.064';
-use Compress::Raw::Zlib 2.060 ();
+use Compress::Raw::Zlib 2.064 ();
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 5d8e1a326d3..68beea145c9 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.060 qw(:Status);
-use Compress::Raw::Zlib 2.060 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common 2.064 qw(:Status);
+use Compress::Raw::Zlib 2.064 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
our ($VERSION);
-$VERSION = '2.060';
+$VERSION = '2.064';
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
index 14c695f0d44..cdf229a252a 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.060 ();
+use IO::Compress::Base::Common 2.064 ();
-use IO::Uncompress::Adapter::Inflate 2.060 ();
+use IO::Uncompress::Adapter::Inflate 2.064 ();
-use IO::Uncompress::Base 2.060 ;
-use IO::Uncompress::Gunzip 2.060 ;
-use IO::Uncompress::Inflate 2.060 ;
-use IO::Uncompress::RawInflate 2.060 ;
-use IO::Uncompress::Unzip 2.060 ;
+use IO::Uncompress::Base 2.064 ;
+use IO::Uncompress::Gunzip 2.064 ;
+use IO::Uncompress::Inflate 2.064 ;
+use IO::Uncompress::RawInflate 2.064 ;
+use IO::Uncompress::Unzip 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$AnyInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -48,7 +48,7 @@ sub anyinflate
sub getExtraParams
{
- use IO::Compress::Base::Common 2.060 qw(:Parse);
+ use IO::Compress::Base::Common 2.064 qw(:Parse);
return ( 'rawinflate' => [Parse_boolean, 0] ) ;
}
@@ -210,7 +210,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 anyinflate $input => $output [, OPTS]
+=head2 anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<anyinflate> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -704,7 +704,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -742,7 +742,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -810,7 +810,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -859,7 +859,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -995,7 +995,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 a202763c0a5..e2b104dff43 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.060 ();
+use IO::Compress::Base::Common 2.064 ();
-use IO::Uncompress::Base 2.060 ;
+use IO::Uncompress::Base 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$AnyUncompressError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,22 +27,22 @@ Exporter::export_ok_tags('all');
BEGIN
{
- eval ' use IO::Uncompress::Adapter::Inflate 2.060 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.060 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.060 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.060 ;';
- eval ' use IO::Uncompress::Adapter::UnLzma 2.060 ;';
- eval ' use IO::Uncompress::Adapter::UnXz 2.060 ;';
-
- eval ' use IO::Uncompress::Bunzip2 2.060 ;';
- eval ' use IO::Uncompress::UnLzop 2.060 ;';
- eval ' use IO::Uncompress::Gunzip 2.060 ;';
- eval ' use IO::Uncompress::Inflate 2.060 ;';
- eval ' use IO::Uncompress::RawInflate 2.060 ;';
- eval ' use IO::Uncompress::Unzip 2.060 ;';
- eval ' use IO::Uncompress::UnLzf 2.060 ;';
- eval ' use IO::Uncompress::UnLzma 2.060 ;';
- eval ' use IO::Uncompress::UnXz 2.060 ;';
+ eval ' use IO::Uncompress::Adapter::Inflate 2.064 ;';
+ eval ' use IO::Uncompress::Adapter::Bunzip2 2.064 ;';
+ eval ' use IO::Uncompress::Adapter::LZO 2.064 ;';
+ eval ' use IO::Uncompress::Adapter::Lzf 2.064 ;';
+ eval ' use IO::Uncompress::Adapter::UnLzma 2.064 ;';
+ eval ' use IO::Uncompress::Adapter::UnXz 2.064 ;';
+
+ eval ' use IO::Uncompress::Bunzip2 2.064 ;';
+ eval ' use IO::Uncompress::UnLzop 2.064 ;';
+ eval ' use IO::Uncompress::Gunzip 2.064 ;';
+ eval ' use IO::Uncompress::Inflate 2.064 ;';
+ eval ' use IO::Uncompress::RawInflate 2.064 ;';
+ eval ' use IO::Uncompress::Unzip 2.064 ;';
+ eval ' use IO::Uncompress::UnLzf 2.064 ;';
+ eval ' use IO::Uncompress::UnLzma 2.064 ;';
+ eval ' use IO::Uncompress::UnXz 2.064 ;';
}
sub new
@@ -318,7 +318,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 anyuncompress $input => $output [, OPTS]
+=head2 anyuncompress $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<anyuncompress> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -759,7 +759,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -797,7 +797,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -857,7 +857,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -906,7 +906,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -1025,7 +1025,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 5d6336b9473..4d1b7802850 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.060';
+$VERSION = '2.064';
use constant G_EOF => 0 ;
use constant G_ERR => -1 ;
-use IO::Compress::Base::Common 2.060 ;
+use IO::Compress::Base::Common 2.064 ;
use IO::File ;
use Symbol;
@@ -961,7 +961,7 @@ sub _raw_read
$self->pushBack($trailer) ;
}
- # TODO - if want to file file pointer, do it here
+ # TODO - if want file pointer, do it here
if (! $self->smartEof()) {
*$self->{NewStream} = 1 ;
@@ -1526,7 +1526,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::Uncompress modules.
+purpose is to be sub-classed by IO::Uncompress modules.
=head1 SEE ALSO
@@ -1548,7 +1548,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 ccfb69b2bd8..aad835f32f3 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.060 qw(:Status );
+use IO::Compress::Base::Common 2.064 qw(:Status );
-use IO::Uncompress::Base 2.060 ;
-use IO::Uncompress::Adapter::Bunzip2 2.060 ;
+use IO::Uncompress::Base 2.064 ;
+use IO::Uncompress::Adapter::Bunzip2 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
-$VERSION = '2.060';
+$VERSION = '2.064';
$Bunzip2Error = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -201,19 +201,20 @@ section.
use IO::Uncompress::Bunzip2 qw(bunzip2 $Bunzip2Error) ;
- bunzip2 $input => $output [,OPTS]
+ bunzip2 $input_filename_or_reference => $output_filename_or_reference [,OPTS]
or die "bunzip2 failed: $Bunzip2Error\n";
The functional interface needs Perl5.005 or better.
-=head2 bunzip2 $input => $output [, OPTS]
+=head2 bunzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
-C<bunzip2> expects at least two parameters, C<$input> and C<$output>.
+C<bunzip2> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
-The parameter, C<$input>, is used to define the source of
-the compressed data.
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data.
It can take one of the following forms:
@@ -221,25 +222,25 @@ It can take one of the following forms:
=item A filename
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
=item A filehandle
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it. The string '-' can be used as an alias for
+standard input.
=item A scalar reference
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
=item An array reference
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
The input data will be read from each file in turn.
@@ -248,64 +249,71 @@ contains valid filenames before any data is uncompressed.
=item An Input FileGlob string
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<bunzip2> 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 ...
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<bunzip2> will assume that it is an
+I<input fileglob string>. The input is the list of files that match the
+fileglob.
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
=over 5
=item A filename
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for writing and the
+uncompressed data will be written to it.
=item A filehandle
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it. The string '-' can be used as
+an alias for standard output.
=item A scalar reference
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
=item An Array Reference
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference,
+the uncompressed data will be pushed onto the array.
=item An Output FileGlob
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<bunzip2> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<bunzip2> will assume that it is an
+I<output fileglob string>. The 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.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> 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.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
=head2 Notes
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
concatenation of all the uncompressed data from each of the input
files/buffers.
@@ -337,7 +345,48 @@ Defaults to 0.
=item C<< Append => 0|1 >>
-TODO
+The behaviour of this option is dependent on the type of output data
+stream.
+
+=over 5
+
+=item * A Buffer
+
+If C<Append> is enabled, all uncompressed data will be append to the end of
+the output buffer. Otherwise the output buffer will be cleared before any
+uncompressed data is written to it.
+
+=item * A Filename
+
+If C<Append> is enabled, the file will be opened in append mode. Otherwise
+the contents of the file, if any, will be truncated before any uncompressed
+data is written to it.
+
+=item * A Filehandle
+
+If C<Append> is enabled, the filehandle will be positioned to the end of
+the file via a call to C<seek> before any uncompressed data is
+written to it. Otherwise the file pointer will not be moved.
+
+=back
+
+When C<Append> is specified, and set to true, it will I<append> all uncompressed
+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
+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.
+
+When the output is a filename, it will truncate the contents of the file
+before writing any uncompressed data. If the output is a filehandle
+its position will not be changed. If the output is a buffer, it will be
+wiped before any uncompressed data is output.
+
+Defaults to 0.
=item C<< MultiStream => 0|1 >>
@@ -374,7 +423,7 @@ C<InputLength> option.
=head2 Examples
To read the contents of the file C<file1.txt.bz2> and write the
-compressed data to the file C<file1.txt>.
+uncompressed data to the file C<file1.txt>.
use strict ;
use warnings ;
@@ -462,7 +511,7 @@ The string '-' can be used as an alias for standard input.
=item A scalar reference
If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
=back
@@ -517,7 +566,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.
@@ -580,7 +629,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -618,7 +667,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -675,6 +724,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+uncompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
@@ -720,7 +776,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -732,7 +788,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -821,13 +877,13 @@ Same as doing this
=head2 Working with Net::FTP
-See L<IO::Uncompress::Bunzip2::FAQ|IO::Uncompress::Bunzip2::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
=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::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+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::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>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -847,7 +903,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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/Gunzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
index 753d34a5bc9..b8012d0ee0d 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.060 ;
+use IO::Uncompress::RawInflate 2.064 ;
-use Compress::Raw::Zlib 2.060 () ;
-use IO::Compress::Base::Common 2.060 qw(:Status );
-use IO::Compress::Gzip::Constants 2.060 ;
-use IO::Compress::Zlib::Extra 2.060 ;
+use Compress::Raw::Zlib 2.064 () ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Compress::Gzip::Constants 2.064 ;
+use IO::Compress::Zlib::Extra 2.064 ;
require Exporter ;
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
$GunzipError = '';
-$VERSION = '2.060';
+$VERSION = '2.064';
sub new
{
@@ -345,7 +345,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 gunzip $input => $output [, OPTS]
+=head2 gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<gunzip> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -811,7 +811,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -849,7 +849,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -933,7 +933,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -982,7 +982,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -1118,7 +1118,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 4cea9aa0028..a5df2eacb95 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.060 qw(:Status );
-use IO::Compress::Zlib::Constants 2.060 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Compress::Zlib::Constants 2.064 ;
-use IO::Uncompress::RawInflate 2.060 ;
+use IO::Uncompress::RawInflate 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$InflateError = '';
@ISA = qw( Exporter IO::Uncompress::RawInflate );
@@ -267,7 +267,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 inflate $input => $output [, OPTS]
+=head2 inflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<inflate> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -699,7 +699,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -737,7 +737,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -805,7 +805,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -854,7 +854,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -990,7 +990,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 9a57eb343c6..b0259f30430 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.060 ;
-use IO::Compress::Base::Common 2.060 qw(:Status );
+use Compress::Raw::Zlib 2.064 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
-use IO::Uncompress::Base 2.060 ;
-use IO::Uncompress::Adapter::Inflate 2.060 ;
+use IO::Uncompress::Base 2.064 ;
+use IO::Uncompress::Adapter::Inflate 2.064 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-$VERSION = '2.060';
+$VERSION = '2.064';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -415,7 +415,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 rawinflate $input => $output [, OPTS]
+=head2 rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<rawinflate> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -827,7 +827,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -865,7 +865,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -933,7 +933,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -982,7 +982,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -1118,7 +1118,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 4175136fc3c..3b36f839a05 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
@@ -9,14 +9,14 @@ use warnings;
#use bytes;
use IO::File;
-use IO::Uncompress::RawInflate 2.060 ;
-use IO::Compress::Base::Common 2.060 qw(:Status );
-use IO::Uncompress::Adapter::Inflate 2.060 ;
-use IO::Uncompress::Adapter::Identity 2.060 ;
-use IO::Compress::Zlib::Extra 2.060 ;
-use IO::Compress::Zip::Constants 2.060 ;
+use IO::Uncompress::RawInflate 2.064 ;
+use IO::Compress::Base::Common 2.064 qw(:Status );
+use IO::Uncompress::Adapter::Inflate 2.064 ;
+use IO::Uncompress::Adapter::Identity 2.064 ;
+use IO::Compress::Zlib::Extra 2.064 ;
+use IO::Compress::Zip::Constants 2.064 ;
-use Compress::Raw::Zlib 2.060 () ;
+use Compress::Raw::Zlib 2.064 () ;
BEGIN
{
@@ -31,7 +31,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.060';
+$VERSION = '2.064';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
@@ -1101,7 +1101,7 @@ section.
The functional interface needs Perl5.005 or better.
-=head2 unzip $input => $output [, OPTS]
+=head2 unzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
C<unzip> expects at least two parameters,
C<$input_filename_or_reference> and C<$output_filename_or_reference>.
@@ -1343,7 +1343,7 @@ specific member from the file, say C<"data1">, use the C<Name> option
or die "unzip failed: $UnzipError\n";
Alternatively, if you want to read the C<"data1"> member into memory, use
-a scalar reference for the C<output> partameter.
+a scalar reference for the C<output> parameter.
use strict ;
use warnings ;
@@ -1526,7 +1526,7 @@ Usage is
$status = $z->read($buffer)
-Reads a block of compressed data (the size the the compressed block is
+Reads a block of compressed data (the size of the compressed block is
determined by the C<Buffer> option in the constructor), uncompresses it and
writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
set in the constructor, the uncompressed data will be appended to the
@@ -1564,7 +1564,7 @@ Usage is
Reads a single line.
-This method fully supports the use of of the variable C<$/> (or
+This method fully supports the use of the variable C<$/> (or
C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
determine what constitutes an end of line. Paragraph mode, record mode and
file slurp mode are all supported.
@@ -1632,7 +1632,7 @@ It is a fatal error to attempt to seek backward.
Note that the implementation of C<seek> in this module does not provide
true random access to a compressed file/buffer. It works by uncompressing
data from the current offset in the file/buffer until it reaches the
-ucompressed offset specified in the parameters to C<seek>. For very small
+uncompressed offset specified in the parameters to C<seek>. For very small
files this may be acceptable behaviour. For large files it may cause an
unacceptable delay.
@@ -1681,7 +1681,7 @@ Returns the current uncompressed line number. If C<EXPR> is present it has
the effect of setting the line number. Note that setting the line number
does not change the current position within the file/buffer being read.
-The contents of C<$/> are used to to determine what constitutes a line
+The contents of C<$/> are used to determine what constitutes a line
terminator.
=head2 fileno
@@ -1821,6 +1821,13 @@ 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.
+=head2 Unzipping a complete zip file to disk
+
+Daniel S. Sterling has written a script that uses C<IO::Uncompress::UnZip>
+to read a zip file and unzip its contents to disk.
+
+The script is available from L<https://gist.github.com/eqhmcow/5389877>
+
=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>
@@ -1854,7 +1861,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2014 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 c3d18b54617..6a82bdff9bd 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
@@ -15,9 +15,10 @@ BEGIN {
use vars qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $DEBUG
$USE_IPC_RUN $USE_IPC_OPEN3 $CAN_USE_RUN_FORKED $WARN
$INSTANCES $ALLOW_NULL_ARGS
+ $HAVE_MONOTONIC
];
- $VERSION = '0.80';
+ $VERSION = '0.92';
$VERBOSE = 0;
$DEBUG = 0;
$WARN = 1;
@@ -32,18 +33,27 @@ BEGIN {
require IO::Select; IO::Select->import();
require IO::Handle; IO::Handle->import();
require FileHandle; FileHandle->import();
- require Socket; Socket->import();
+ require Socket;
require Time::HiRes; Time::HiRes->import();
require Win32 if IS_WIN32;
};
$CAN_USE_RUN_FORKED = $@ || !IS_VMS && !IS_WIN32;
+ eval {
+ my $wait_start_time = Time::HiRes::clock_gettime(&Time::HiRes::CLOCK_MONOTONIC);
+ };
+ if ($@) {
+ $HAVE_MONOTONIC = 0;
+ }
+ else {
+ $HAVE_MONOTONIC = 1;
+ }
+
@ISA = qw[Exporter];
@EXPORT_OK = qw[can_run run run_forked QUOTE];
}
require Carp;
-use Socket;
use File::Spec;
use Params::Check qw[check];
use Text::ParseWords (); # import ONLY if needed!
@@ -86,6 +96,13 @@ IPC::Cmd - finding and running system commands made easy
print join "", @$full_buf;
}
+ ### run_forked example ###
+ my $result = run_forked("$full_path -q -O - theregister.co.uk", {'timeout' => 20});
+ if ($result->{'exit_code'} eq 0 && !$result->{'timeout'}) {
+ print "this is what wget returned:\n";
+ print $result->{'stdout'};
+ }
+
### check for features
print "IPC::Open3 available: " . IPC::Cmd->can_use_ipc_open3;
print "IPC::Run available: " . IPC::Cmd->can_use_ipc_run;
@@ -124,7 +141,7 @@ sub can_use_ipc_run {
### IPC::Run doesn't run on win98
return if IS_WIN98;
- ### if we dont have ipc::run, we obviously can't use it.
+ ### if we don't have ipc::run, we obviously can't use it.
return unless can_load(
modules => { 'IPC::Run' => '0.55' },
verbose => ($WARN && $verbose),
@@ -150,7 +167,7 @@ sub can_use_ipc_open3 {
### 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, but it can't
### capture buffers on win32 :(
return unless can_load(
modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| },
@@ -346,6 +363,42 @@ sub can_use_run_forked {
return $CAN_USE_RUN_FORKED eq "1";
}
+sub get_monotonic_time {
+ if ($HAVE_MONOTONIC) {
+ return Time::HiRes::clock_gettime(&Time::HiRes::CLOCK_MONOTONIC);
+ }
+ else {
+ return time();
+ }
+}
+
+sub adjust_monotonic_start_time {
+ my ($ref_vars, $now, $previous) = @_;
+
+ # workaround only for those systems which don't have
+ # Time::HiRes::CLOCK_MONOTONIC (Mac OSX in particular)
+ return if $HAVE_MONOTONIC;
+
+ # don't have previous monotonic value (only happens once
+ # in the beginning of the program execution)
+ return unless $previous;
+
+ my $time_diff = $now - $previous;
+
+ # adjust previously saved time with the skew value which is
+ # either negative when clock moved back or more than 5 seconds --
+ # assuming that event loop does happen more often than once
+ # per five seconds, which might not be always true (!) but
+ # hopefully that's ok, because it's just a workaround
+ if ($time_diff > 5 || $time_diff < 0) {
+ foreach my $ref_var (@{$ref_vars}) {
+ if (defined($$ref_var)) {
+ $$ref_var = $$ref_var + $time_diff;
+ }
+ }
+ }
+}
+
# incompatible with POSIX::SigAction
#
sub install_layered_signal {
@@ -353,9 +406,9 @@ sub install_layered_signal {
my %available_signals = map {$_ => 1} keys %SIG;
- die("install_layered_signal got nonexistent signal name [$s]")
+ Carp::confess("install_layered_signal got nonexistent signal name [$s]")
unless defined($available_signals{$s});
- die("install_layered_signal expects coderef")
+ Carp::confess("install_layered_signal expects coderef")
if !ref($handler_code) || ref($handler_code) ne 'CODE';
my $previous_handler = $SIG{$s};
@@ -413,14 +466,32 @@ sub kill_gently {
kill(-15, $pid);
}
+ my $do_wait = 1;
my $child_finished = 0;
- my $wait_start_time = time();
- while (!$child_finished && $wait_start_time + $opts->{'wait_time'} > time()) {
+ my $wait_start_time = get_monotonic_time();
+ my $now;
+ my $previous_monotonic_value;
+
+ while ($do_wait) {
+ $previous_monotonic_value = $now;
+ $now = get_monotonic_time();
+
+ adjust_monotonic_start_time([\$wait_start_time], $now, $previous_monotonic_value);
+
+ if ($now > $wait_start_time + $opts->{'wait_time'}) {
+ $do_wait = 0;
+ next;
+ }
+
my $waitpid = waitpid($pid, POSIX::WNOHANG);
+
if ($waitpid eq -1) {
- $child_finished = 1;
+ $child_finished = 1;
+ $do_wait = 0;
+ next;
}
+
Time::HiRes::usleep(250000); # quarter of a second
}
@@ -435,173 +506,174 @@ sub kill_gently {
}
sub open3_run {
- my ($cmd, $opts) = @_;
+ my ($cmd, $opts) = @_;
- $opts = {} unless $opts;
+ $opts = {} unless $opts;
- my $child_in = FileHandle->new;
- my $child_out = FileHandle->new;
- my $child_err = FileHandle->new;
- $child_out->autoflush(1);
- $child_err->autoflush(1);
-
- my $pid = open3($child_in, $child_out, $child_err, $cmd);
-
- # push my child's pid to our parent
- # so in case i am killed parent
- # could stop my child (search for
- # child_child_pid in parent code)
- if ($opts->{'parent_info'}) {
- my $ps = $opts->{'parent_info'};
- print $ps "spawned $pid\n";
- }
+ my $child_in = FileHandle->new;
+ my $child_out = FileHandle->new;
+ my $child_err = FileHandle->new;
+ $child_out->autoflush(1);
+ $child_err->autoflush(1);
+
+ my $pid = open3($child_in, $child_out, $child_err, $cmd);
+
+ # push my child's pid to our parent
+ # so in case i am killed parent
+ # could stop my child (search for
+ # child_child_pid in parent code)
+ if ($opts->{'parent_info'}) {
+ my $ps = $opts->{'parent_info'};
+ print $ps "spawned $pid\n";
+ }
- if ($child_in && $child_out->opened && $opts->{'child_stdin'}) {
+ if ($child_in && $child_out->opened && $opts->{'child_stdin'}) {
+ # If the child process dies for any reason,
+ # the next write to CHLD_IN is likely to generate
+ # a SIGPIPE in the parent, which is fatal by default.
+ # So you may wish to handle this signal.
+ #
+ # from http://perldoc.perl.org/IPC/Open3.html,
+ # absolutely needed to catch piped commands errors.
+ #
+ local $SIG{'PIPE'} = sub { 1; };
- # If the child process dies for any reason,
- # the next write to CHLD_IN is likely to generate
- # a SIGPIPE in the parent, which is fatal by default.
- # So you may wish to handle this signal.
- #
- # from http://perldoc.perl.org/IPC/Open3.html,
- # absolutely needed to catch piped commands errors.
- #
- local $SIG{'PIPE'} = sub { 1; };
+ print $child_in $opts->{'child_stdin'};
+ }
+ close($child_in);
+
+ my $child_output = {
+ 'out' => $child_out->fileno,
+ 'err' => $child_err->fileno,
+ $child_out->fileno => {
+ 'parent_socket' => $opts->{'parent_stdout'},
+ 'scalar_buffer' => "",
+ 'child_handle' => $child_out,
+ 'block_size' => ($child_out->stat)[11] || 1024,
+ },
+ $child_err->fileno => {
+ 'parent_socket' => $opts->{'parent_stderr'},
+ 'scalar_buffer' => "",
+ 'child_handle' => $child_err,
+ 'block_size' => ($child_err->stat)[11] || 1024,
+ },
+ };
- print $child_in $opts->{'child_stdin'};
- }
- close($child_in);
-
- my $child_output = {
- 'out' => $child_out->fileno,
- 'err' => $child_err->fileno,
- $child_out->fileno => {
- 'parent_socket' => $opts->{'parent_stdout'},
- 'scalar_buffer' => "",
- 'child_handle' => $child_out,
- 'block_size' => ($child_out->stat)[11] || 1024,
- },
- $child_err->fileno => {
- 'parent_socket' => $opts->{'parent_stderr'},
- 'scalar_buffer' => "",
- 'child_handle' => $child_err,
- 'block_size' => ($child_err->stat)[11] || 1024,
- },
- };
+ my $select = IO::Select->new();
+ $select->add($child_out, $child_err);
+
+ # pass any signal to the child
+ # effectively creating process
+ # strongly attached to the child:
+ # it will terminate only after child
+ # has terminated (except for SIGKILL,
+ # which is specially handled)
+ foreach my $s (keys %SIG) {
+ my $sig_handler;
+ $sig_handler = sub {
+ kill("$s", $pid);
+ $SIG{$s} = $sig_handler;
+ };
+ $SIG{$s} = $sig_handler;
+ }
- my $select = IO::Select->new();
- $select->add($child_out, $child_err);
-
- # pass any signal to the child
- # effectively creating process
- # strongly attached to the child:
- # it will terminate only after child
- # has terminated (except for SIGKILL,
- # which is specially handled)
- foreach my $s (keys %SIG) {
- my $sig_handler;
- $sig_handler = sub {
- kill("$s", $pid);
- $SIG{$s} = $sig_handler;
- };
- $SIG{$s} = $sig_handler;
- }
+ my $child_finished = 0;
- my $child_finished = 0;
+ my $real_exit;
+ my $exit_value;
- my $got_sig_child = 0;
- $SIG{'CHLD'} = sub { $got_sig_child = time(); };
+ while(!$child_finished) {
- while(!$child_finished && ($child_out->opened || $child_err->opened)) {
+ # parent was killed otherwise we would have got
+ # the same signal as parent and process it same way
+ if (getppid() eq "1") {
- # parent was killed otherwise we would have got
- # the same signal as parent and process it same way
- if (getppid() eq "1") {
+ # 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, $$);
- # 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, $$);
+ POSIX::_exit 1;
+ }
- POSIX::_exit 1;
- }
+ my $waitpid = waitpid($pid, POSIX::WNOHANG);
- if ($got_sig_child) {
- 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;
- }
- }
+ # child finished, catch it's exit status
+ if ($waitpid ne 0 && $waitpid ne -1) {
+ $real_exit = $?;
+ $exit_value = $? >> 8;
+ }
+
+ if ($waitpid eq -1) {
+ $child_finished = 1;
+ }
- Time::HiRes::usleep(1);
- foreach my $fd ($select->can_read(1/100)) {
- my $str = $child_output->{$fd->fileno};
- psSnake::die("child stream not found: $fd") unless $str;
+ my $ready_fds = [];
+ push @{$ready_fds}, $select->can_read(1/100);
- my $data;
- my $count = $fd->sysread($data, $str->{'block_size'});
+ READY_FDS: while (scalar(@{$ready_fds})) {
+ my $fd = shift @{$ready_fds};
+ $ready_fds = [grep {$_ ne $fd} @{$ready_fds}];
- if ($count) {
- if ($str->{'parent_socket'}) {
- my $ph = $str->{'parent_socket'};
- print $ph $data;
- }
- else {
- $str->{'scalar_buffer'} .= $data;
+ my $str = $child_output->{$fd->fileno};
+ Carp::confess("child stream not found: $fd") unless $str;
+
+ my $data;
+ my $count = $fd->sysread($data, $str->{'block_size'});
+
+ if ($count) {
+ if ($str->{'parent_socket'}) {
+ my $ph = $str->{'parent_socket'};
+ print $ph $data;
+ }
+ else {
+ $str->{'scalar_buffer'} .= $data;
+ }
+ }
+ elsif ($count eq 0) {
+ $select->remove($fd);
+ $fd->close();
+ }
+ else {
+ Carp::confess("error during sysread: " . $!);
+ }
+
+ push @{$ready_fds}, $select->can_read(1/100) if $child_finished;
}
- }
- elsif ($count eq 0) {
- $select->remove($fd);
- $fd->close();
- }
- else {
- psSnake::die("error during sysread: " . $!);
- }
+
+ Time::HiRes::usleep(1);
}
- }
- my $waitpid_ret = waitpid($pid, 0);
- my $real_exit = $?;
- my $exit_value = $real_exit >> 8;
+ # since we've successfully reaped the child,
+ # let our parent know about this.
+ #
+ if ($opts->{'parent_info'}) {
+ my $ps = $opts->{'parent_info'};
- # 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";
+ }
- # child was killed, inform parent
- if ($real_exit & 127) {
- print $ps "$pid killed with " . ($real_exit & 127) . "\n";
+ print $ps "reaped $pid\n";
}
- print $ps "reaped $pid\n";
- }
-
- if ($opts->{'parent_stdout'} || $opts->{'parent_stderr'}) {
- return $exit_value;
- }
- else {
- return {
- 'stdout' => $child_output->{$child_output->{'out'}}->{'scalar_buffer'},
- 'stderr' => $child_output->{$child_output->{'err'}}->{'scalar_buffer'},
- 'exit_code' => $exit_value,
- };
- }
+ if ($opts->{'parent_stdout'} || $opts->{'parent_stderr'}) {
+ return $exit_value;
+ }
+ else {
+ return {
+ 'stdout' => $child_output->{$child_output->{'out'}}->{'scalar_buffer'},
+ 'stderr' => $child_output->{$child_output->{'err'}}->{'scalar_buffer'},
+ 'exit_code' => $exit_value,
+ };
+ }
}
=head2 $hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
@@ -638,7 +710,7 @@ Invocation requires the command to be executed or a coderef and optionally a has
=item C<timeout>
-Specify in seconds how long to run the command before it is killed with with SIG_KILL (9),
+Specify in seconds how long to run the command before it is killed with SIG_KILL (9),
which effectively terminates it and all of its children (direct or indirect).
=item C<child_stdin>
@@ -708,14 +780,17 @@ sub run_forked {
### container to store things in
my $self = bless {}, __PACKAGE__;
- require POSIX;
-
if (!can_use_run_forked()) {
Carp::carp("run_forked is not available: $CAN_USE_RUN_FORKED");
return;
}
+ require POSIX;
+
my ($cmd, $opts) = @_;
+ if (ref($cmd) eq 'ARRAY') {
+ $cmd = join(" ", @{$cmd});
+ }
if (!$cmd) {
Carp::carp("run_forked expects command to run");
@@ -741,12 +816,12 @@ sub run_forked {
my $child_info_socket;
my $parent_info_socket;
- socketpair($child_stdout_socket, $parent_stdout_socket, AF_UNIX, SOCK_STREAM, PF_UNSPEC) ||
- die ("socketpair: $!");
- socketpair($child_stderr_socket, $parent_stderr_socket, AF_UNIX, SOCK_STREAM, PF_UNSPEC) ||
- die ("socketpair: $!");
- socketpair($child_info_socket, $parent_info_socket, AF_UNIX, SOCK_STREAM, PF_UNSPEC) ||
- die ("socketpair: $!");
+ socketpair($child_stdout_socket, $parent_stdout_socket, &Socket::AF_UNIX, &Socket::SOCK_STREAM, &Socket::PF_UNSPEC) ||
+ Carp::confess ("socketpair: $!");
+ socketpair($child_stderr_socket, $parent_stderr_socket, &Socket::AF_UNIX, &Socket::SOCK_STREAM, &Socket::PF_UNSPEC) ||
+ Carp::confess ("socketpair: $!");
+ socketpair($child_info_socket, $parent_info_socket, &Socket::AF_UNIX, &Socket::SOCK_STREAM, &Socket::PF_UNSPEC) ||
+ Carp::confess ("socketpair: $!");
$child_stdout_socket->autoflush(1);
$parent_stdout_socket->autoflush(1);
@@ -755,7 +830,7 @@ sub run_forked {
$child_info_socket->autoflush(1);
$parent_info_socket->autoflush(1);
- my $start_time = time();
+ my $start_time = get_monotonic_time();
my $pid;
if ($pid = fork) {
@@ -770,22 +845,46 @@ sub run_forked {
# prepare sockets to read from child
$flags = 0;
- fcntl($child_stdout_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ fcntl($child_stdout_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!";
$flags |= POSIX::O_NONBLOCK;
- fcntl($child_stdout_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_stdout_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!";
$flags = 0;
- fcntl($child_stderr_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ fcntl($child_stderr_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!";
$flags |= POSIX::O_NONBLOCK;
- fcntl($child_stderr_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_stderr_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!";
$flags = 0;
- fcntl($child_info_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ fcntl($child_info_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!";
$flags |= POSIX::O_NONBLOCK;
- fcntl($child_info_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_info_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!";
# print "child $pid started\n";
+ my $child_output = {
+ $child_stdout_socket->fileno => {
+ 'scalar_buffer' => "",
+ 'child_handle' => $child_stdout_socket,
+ 'block_size' => ($child_stdout_socket->stat)[11] || 1024,
+ 'protocol' => 'stdout',
+ },
+ $child_stderr_socket->fileno => {
+ 'scalar_buffer' => "",
+ 'child_handle' => $child_stderr_socket,
+ 'block_size' => ($child_stderr_socket->stat)[11] || 1024,
+ 'protocol' => 'stderr',
+ },
+ $child_info_socket->fileno => {
+ 'scalar_buffer' => "",
+ 'child_handle' => $child_info_socket,
+ 'block_size' => ($child_info_socket->stat)[11] || 1024,
+ 'protocol' => 'info',
+ },
+ };
+
+ my $select = IO::Select->new();
+ $select->add($child_stdout_socket, $child_stderr_socket, $child_info_socket);
+
my $child_timedout = 0;
my $child_finished = 0;
my $child_stdout = '';
@@ -795,27 +894,30 @@ sub run_forked {
my $child_killed_by_signal = 0;
my $parent_died = 0;
+ my $last_parent_check = 0;
my $got_sig_child = 0;
my $got_sig_quit = 0;
my $orig_sig_child = $SIG{'CHLD'};
- $SIG{'CHLD'} = sub { $got_sig_child = time(); };
+ $SIG{'CHLD'} = sub { $got_sig_child = get_monotonic_time(); };
if ($opts->{'terminate_on_signal'}) {
install_layered_signal($opts->{'terminate_on_signal'}, sub { $got_sig_quit = time(); });
}
my $child_child_pid;
+ my $now;
+ my $previous_monotonic_value;
while (!$child_finished) {
- my $now = time();
+ $previous_monotonic_value = $now;
+ $now = get_monotonic_time();
- if ($opts->{'terminate_on_parent_sudden_death'}) {
- $opts->{'runtime'}->{'last_parent_check'} = 0
- unless defined($opts->{'runtime'}->{'last_parent_check'});
+ adjust_monotonic_start_time([\$start_time, \$last_parent_check, \$got_sig_child], $now, $previous_monotonic_value);
+ if ($opts->{'terminate_on_parent_sudden_death'}) {
# check for parent once each five seconds
- if ($now - $opts->{'runtime'}->{'last_parent_check'} > 5) {
+ if ($now > $last_parent_check + 5) {
if (getppid() eq "1") {
kill_gently ($pid, {
'first_kill_type' => 'process_group',
@@ -825,13 +927,13 @@ sub run_forked {
$parent_died = 1;
}
- $opts->{'runtime'}->{'last_parent_check'} = $now;
+ $last_parent_check = $now;
}
}
# user specified timeout
if ($opts->{'timeout'}) {
- if ($now - $start_time > $opts->{'timeout'}) {
+ if ($now > $start_time + $opts->{'timeout'}) {
kill_gently ($pid, {
'first_kill_type' => 'process_group',
'final_kill_type' => 'process_group',
@@ -845,7 +947,7 @@ sub run_forked {
# kill process after that and finish wait loop;
# shouldn't ever happen -- remove this code?
if ($got_sig_child) {
- if ($now - $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;
@@ -870,43 +972,95 @@ sub run_forked {
if ($waitpid eq -1) {
$child_finished = 1;
- next;
}
- # child -> parent simple internal communication protocol
- while (my $l = <$child_info_socket>) {
- if ($l =~ /^spawned ([0-9]+?)\n(.*?)/so) {
- $child_child_pid = $1;
- $l = $2;
+ my $ready_fds = [];
+ push @{$ready_fds}, $select->can_read(1/100);
+
+ READY_FDS: while (scalar(@{$ready_fds})) {
+ my $fd = shift @{$ready_fds};
+ $ready_fds = [grep {$_ ne $fd} @{$ready_fds}];
+
+ my $str = $child_output->{$fd->fileno};
+ Carp::confess("child stream not found: $fd") unless $str;
+
+ my $data = "";
+ my $count = $fd->sysread($data, $str->{'block_size'});
+
+ if ($count) {
+ # extract all the available lines and store the rest in temporary buffer
+ if ($data =~ /(.+\n)([^\n]*)/so) {
+ $data = $str->{'scalar_buffer'} . $1;
+ $str->{'scalar_buffer'} = $2 || "";
+ }
+ else {
+ $str->{'scalar_buffer'} .= $data;
+ $data = "";
+ }
}
- if ($l =~ /^reaped ([0-9]+?)\n(.*?)/so) {
- $child_child_pid = undef;
- $l = $2;
+ elsif ($count eq 0) {
+ $select->remove($fd);
+ $fd->close();
+ if ($str->{'scalar_buffer'}) {
+ $data = $str->{'scalar_buffer'} . "\n";
+ }
}
- if ($l =~ /^[\d]+ killed with ([0-9]+?)\n(.*?)/so) {
- $child_killed_by_signal = $1;
- $l = $2;
+ else {
+ Carp::confess("error during sysread on [$fd]: " . $!);
}
- }
- while (my $l = <$child_stdout_socket>) {
- if (!$opts->{'discard_output'}) {
- $child_stdout .= $l;
- $child_merged .= $l;
- }
+ # $data contains only full lines (or last line if it was unfinished read
+ # or now new-line in the output of the child); dat is processed
+ # according to the "protocol" of socket
+ if ($str->{'protocol'} eq 'info') {
+ if ($data =~ /^spawned ([0-9]+?)\n(.*?)/so) {
+ $child_child_pid = $1;
+ $data = $2;
+ }
+ if ($data =~ /^reaped ([0-9]+?)\n(.*?)/so) {
+ $child_child_pid = undef;
+ $data = $2;
+ }
+ if ($data =~ /^[\d]+ killed with ([0-9]+?)\n(.*?)/so) {
+ $child_killed_by_signal = $1;
+ $data = $2;
+ }
- if ($opts->{'stdout_handler'} && ref($opts->{'stdout_handler'}) eq 'CODE') {
- $opts->{'stdout_handler'}->($l);
+ # we don't expect any other data in info socket, so it's
+ # some strange violation of protocol, better know about this
+ if ($data) {
+ Carp::confess("info protocol violation: [$data]");
+ }
}
- }
- while (my $l = <$child_stderr_socket>) {
- if (!$opts->{'discard_output'}) {
- $child_stderr .= $l;
- $child_merged .= $l;
+ if ($str->{'protocol'} eq 'stdout') {
+ if (!$opts->{'discard_output'}) {
+ $child_stdout .= $data;
+ $child_merged .= $data;
+ }
+
+ if ($opts->{'stdout_handler'} && ref($opts->{'stdout_handler'}) eq 'CODE') {
+ $opts->{'stdout_handler'}->($data);
+ }
}
- if ($opts->{'stderr_handler'} && ref($opts->{'stderr_handler'}) eq 'CODE') {
- $opts->{'stderr_handler'}->($l);
+ if ($str->{'protocol'} eq 'stderr') {
+ if (!$opts->{'discard_output'}) {
+ $child_stderr .= $data;
+ $child_merged .= $data;
+ }
+
+ if ($opts->{'stderr_handler'} && ref($opts->{'stderr_handler'}) eq 'CODE') {
+ $opts->{'stderr_handler'}->($data);
+ }
}
+
+ # process may finish (waitpid returns -1) before
+ # we've read all of its output because of buffering;
+ # so try to read all the way it is possible to read
+ # in such case - this shouldn't be too much (unless
+ # the buffer size is HUGE -- should introduce
+ # another counter in such case, maybe later)
+ #
+ push @{$ready_fds}, $select->can_read(1/100) if $child_finished;
}
Time::HiRes::usleep(1);
@@ -960,6 +1114,7 @@ sub run_forked {
'parent_died' => $parent_died,
'killed_by_signal' => $child_killed_by_signal,
'child_pgid' => $pid,
+ 'cmd' => $cmd,
};
my $err_msg = '';
@@ -972,7 +1127,7 @@ sub run_forked {
if ($o->{'parent_died'}) {
$err_msg .= "parent died\n";
}
- if ($o->{'stdout'}) {
+ if ($o->{'stdout'} && !$opts->{'non_empty_stdout_ok'}) {
$err_msg .= "stdout:\n" . $o->{'stdout'} . "\n";
}
if ($o->{'stderr'}) {
@@ -993,7 +1148,7 @@ sub run_forked {
return $o;
}
else {
- die("cannot fork: $!") unless defined($pid);
+ Carp::confess("cannot fork: $!") unless defined($pid);
# create new process session for open3 call,
# so we hopefully can kill all the subprocesses
@@ -1001,7 +1156,7 @@ sub run_forked {
# which do setsid theirselves -- can't do anything
# with those)
- POSIX::setsid() || die("Error running setsid: " . $!);
+ POSIX::setsid() || Carp::confess("Error running setsid: " . $!);
if ($opts->{'child_BEGIN'} && ref($opts->{'child_BEGIN'}) eq 'CODE') {
$opts->{'child_BEGIN'}->();
@@ -1024,6 +1179,11 @@ sub run_forked {
});
}
elsif (ref($cmd) eq 'CODE') {
+ # reopen STDOUT and STDERR for child code:
+ # https://rt.cpan.org/Ticket/Display.html?id=85912
+ open STDOUT, '>&', $parent_stdout_socket || Carp::confess("Unable to reopen STDOUT: $!\n");
+ open STDERR, '>&', $parent_stderr_socket || Carp::confess("Unable to reopen STDERR: $!\n");
+
$child_exit_code = $cmd->({
'opts' => $opts,
'parent_info' => $parent_info_socket,
@@ -1045,6 +1205,7 @@ sub run_forked {
$opts->{'child_END'}->();
}
+ $| = 1;
POSIX::_exit $child_exit_code;
}
}
@@ -1123,7 +1284,7 @@ sub run {
### flag indicating if the subcall went ok
my $ok;
- ### dont look at previous errors:
+ ### don't look at previous errors:
local $?;
local $@;
local $!;
@@ -1207,8 +1368,10 @@ sub _open3_run_win32 {
my $outhand = shift;
my $errhand = shift;
+ require Socket;
+
my $pipe = sub {
- socketpair($_[0], $_[1], AF_UNIX, SOCK_STREAM, PF_UNSPEC)
+ socketpair($_[0], $_[1], &Socket::AF_UNIX, &Socket::SOCK_STREAM, &Socket::PF_UNSPEC)
or return undef;
shutdown($_[0], 1); # No more writing for reader
shutdown($_[1], 0); # No more reading for writer
@@ -1258,8 +1421,8 @@ sub _open3_run_win32 {
$in_sel->remove($fh);
}
else {
- $obj->( "$buf" );
- }
+ $obj->( "$buf" );
+ }
}
for my $fh (@$outs) {
@@ -1313,7 +1476,7 @@ sub _open3_run {
### whitespace. This sub fixes up such commands so they run properly
$cmd = $self->__fix_cmd_whitespace_and_special_chars( $cmd );
- ### dont stringify @$cmd, so spaces in filenames/paths are
+ ### don't stringify @$cmd, so spaces in filenames/paths are
### treated properly
my $pid = eval {
IPC::Open3::open3(
@@ -1459,7 +1622,7 @@ sub _open3_run {
### if there's no pipe in the command, append STDIN to the back
### of the command instead.
### XXX seems IPC::Run works it out for itself if you just
- ### dont pass STDIN at all.
+ ### don't pass STDIN at all.
# if( $special_chars and $special_chars =~ /\|/ ) {
# ### only add STDIN the first time..
# my $i;
@@ -1755,7 +1918,7 @@ sub _pp_child_error {
} elsif ( $ce & 127 ) {
### some signal
- $str = loc( "'%1' died with signal %d, %s coredump\n",
+ $str = loc( "'%1' died with signal %2, %3 coredump",
$pp_cmd, ($ce & 127), ($ce & 128) ? 'with' : 'without');
} else {
diff --git a/Master/tlpkg/tlperl/lib/IPC/Open3.pm b/Master/tlpkg/tlperl/lib/IPC/Open3.pm
index 29612af7c0b..c8620b77ae7 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.13';
+$VERSION = '1.16';
@ISA = qw(Exporter);
@EXPORT = qw(open3);
@@ -57,7 +57,8 @@ as file descriptors.
open3() returns the process ID of the child process. It doesn't return on
failure: it just raises an exception matching C</^open3:/>. However,
C<exec> failures in the child (such as no such file or permission denied),
-are just reported to CHLD_ERR, as it is not possible to trap them.
+are just reported to CHLD_ERR under Windows and OS/2, as it is not possible
+to trap them.
If the child process dies for any reason, the next write to CHLD_IN is
likely to generate a SIGPIPE in the parent, which is fatal by default.
@@ -98,7 +99,7 @@ C<cat -v> and continually read and write a line from it.
=item L<IPC::Open2>
-Like Open3 but without STDERR catpure.
+Like Open3 but without STDERR capture.
=item L<IPC::Run>
@@ -184,6 +185,10 @@ sub _open3 {
# it's too ugly to use @_ throughout to make perl do it for us
# tchrist 5-Mar-00
+ # Historically, open3(undef...) has silently worked, so keep
+ # it working.
+ splice @_, 0, 1, undef if \$_[0] == \undef;
+ splice @_, 1, 1, undef if \$_[1] == \undef;
unless (eval {
$_[0] = gensym unless defined $_[0] && length $_[0];
$_[1] = gensym unless defined $_[1] && length $_[1];
@@ -297,6 +302,7 @@ sub _open3 {
if ($bytes_read) {
(my $bang, $to_read) = unpack('II', $buf);
read($stat_r, my $err = '', $to_read);
+ waitpid $kidpid, 0; # Reap child which should have exited
if ($err) {
utf8::decode $err if $] >= 5.008;
} else {
diff --git a/Master/tlpkg/tlperl/lib/JSON/PP.pm b/Master/tlpkg/tlperl/lib/JSON/PP.pm
index e9e65b11c1c..c1b4f1b0f5b 100644
--- a/Master/tlpkg/tlperl/lib/JSON/PP.pm
+++ b/Master/tlpkg/tlperl/lib/JSON/PP.pm
@@ -11,7 +11,7 @@ use Carp ();
use B ();
#use Devel::Peek;
-$JSON::PP::VERSION = '2.27202';
+$JSON::PP::VERSION = '2.27203';
@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
@@ -1564,7 +1564,7 @@ sub _incr_parse {
$self->{incr_text} = substr( $self->{incr_text}, $p );
$self->{incr_p} = 0;
- return $obj or '';
+ return $obj || '';
}
diff --git a/Master/tlpkg/tlperl/lib/LWP.pm b/Master/tlpkg/tlperl/lib/LWP.pm
index e24b474a9f5..fa5d1097de3 100644
--- a/Master/tlpkg/tlperl/lib/LWP.pm
+++ b/Master/tlpkg/tlperl/lib/LWP.pm
@@ -1,6 +1,6 @@
package LWP;
-$VERSION = "6.06";
+$VERSION = "6.13";
sub Version { $VERSION; }
require 5.008;
@@ -105,7 +105,7 @@ Let us start with this quote from the HTTP specification document
=over 3
-=item
+=item *
The HTTP protocol is based on a request/response paradigm. A client
establishes a connection with a server and sends a request to the
diff --git a/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm b/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm
index 9c1bbe3cbc1..2a571b75bcb 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 = "6.00";
+$VERSION = "6.13";
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 fcc0b2e027d..4969ec5a4dc 100644
--- a/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm
@@ -3,7 +3,7 @@ package LWP::ConnCache;
use strict;
use vars qw($VERSION $DEBUG);
-$VERSION = "6.02";
+$VERSION = "6.13";
sub new {
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol.pm
index da2ba3edcfb..8f17d4db5fb 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 = "6.06";
+$VERSION = "6.13";
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 a75e147650a..23c361f7055 100644
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm
@@ -17,6 +17,12 @@ sub _new_socket
{
my($self, $host, $port, $timeout) = @_;
+ # IPv6 literal IP address should be [bracketed] to remove
+ # ambiguity between ip address and port number.
+ if ( ($host =~ /:/) && ($host !~ /^\[/) ) {
+ $host = "[$host]";
+ }
+
local($^W) = 0; # IO::Socket::INET can be noisy
my $sock = $self->socket_class->new(PeerAddr => $host,
PeerPort => $port,
@@ -276,7 +282,7 @@ sub request
my $n = $socket->syswrite($req_buf, length($req_buf));
unless (defined $n) {
redo WRITE if $!{EINTR};
- if ($!{EAGAIN}) {
+ if ($!{EWOULDBLOCK} || $!{EAGAIN}) {
select(undef, undef, undef, 0.1);
redo WRITE;
}
@@ -346,7 +352,7 @@ sub request
{
my $nfound = select($rbits, $wbits, undef, $sel_timeout);
if ($nfound < 0) {
- if ($!{EINTR} || $!{EAGAIN}) {
+ if ($!{EINTR} || $!{EWOULDBLOCK} || $!{EAGAIN}) {
if ($time_before) {
$sel_timeout = $sel_timeout_before - (time - $time_before);
$sel_timeout = 0 if $sel_timeout < 0;
@@ -367,7 +373,7 @@ sub request
my $buf = $socket->_rbuf;
my $n = $socket->sysread($buf, 1024, length($buf));
unless (defined $n) {
- die "read failed: $!" unless $!{EINTR} || $!{EAGAIN};
+ die "read failed: $!" unless $!{EINTR} || $!{EWOULDBLOCK} || $!{EAGAIN};
# if we get here the rest of the block will do nothing
# and we will retry the read on the next round
}
@@ -398,7 +404,7 @@ sub request
if (defined($wbits) && $wbits =~ /[^\0]/) {
my $n = $socket->syswrite($$wbuf, length($$wbuf), $woffset);
unless (defined $n) {
- die "write failed: $!" unless $!{EINTR} || $!{EAGAIN};
+ die "write failed: $!" unless $!{EINTR} || $!{EWOULDBLOCK} || $!{EAGAIN};
$n = 0; # will retry write on the next round
}
elsif ($n == 0) {
@@ -455,7 +461,7 @@ sub request
{
$n = $socket->read_entity_body($buf, $size);
unless (defined $n) {
- redo READ if $!{EINTR} || $!{EAGAIN} || $!{ENOTTY};
+ redo READ if $!{EINTR} || $!{EWOULDBLOCK} || $!{EAGAIN} || $!{ENOTTY};
die "read failed: $!";
}
redo READ if $n == -1;
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm
deleted file mode 100755
index a707917a0a7..00000000000
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm
+++ /dev/null
@@ -1,211 +0,0 @@
-package LWP::Protocol::https;
-
-use strict;
-our $VERSION = "6.06";
-
-require LWP::Protocol::http;
-our @ISA = qw(LWP::Protocol::http);
-require Net::HTTPS;
-
-sub socket_type
-{
- return "https";
-}
-
-sub _extra_sock_opts
-{
- my $self = shift;
- my %ssl_opts = %{$self->{ua}{ssl_opts} || {}};
- if (delete $ssl_opts{verify_hostname}) {
- $ssl_opts{SSL_verify_mode} ||= 1;
- $ssl_opts{SSL_verifycn_scheme} = 'www';
- }
- else {
- $ssl_opts{SSL_verify_mode} = 0;
- }
- if ($ssl_opts{SSL_verify_mode}) {
- unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
- eval {
- require Mozilla::CA;
- };
- if ($@) {
- if ($@ =! /^Can't locate Mozilla\/CA\.pm/) {
- $@ = <<'EOT';
-Can't verify SSL peers without knowing which Certificate Authorities to trust
-
-This problem can be fixed by either setting the PERL_LWP_SSL_CA_FILE
-environment variable or by installing the Mozilla::CA module.
-
-To disable verification of SSL peers set the PERL_LWP_SSL_VERIFY_HOSTNAME
-environment variable to 0. If you do this you can't be sure that you
-communicate with the expected peer.
-EOT
- }
- die $@;
- }
- $ssl_opts{SSL_ca_file} = Mozilla::CA::SSL_ca_file();
- }
- }
- $self->{ssl_opts} = \%ssl_opts;
- return (%ssl_opts, $self->SUPER::_extra_sock_opts);
-}
-
-#------------------------------------------------------------
-# _cn_match($common_name, $san_name)
-# common_name: an IA5String
-# san_name: subjectAltName
-# initially we were only concerned with the dNSName
-# and the 'left-most' only wildcard as noted in
-# https://tools.ietf.org/html/rfc6125#section-6.4.3
-# this method does not match any wildcarding in the
-# domain name as listed in section-6.4.3.3
-#
-sub _cn_match {
- my( $me, $common_name, $san_name ) = @_;
-
- # /CN has a '*.' prefix
- # MUST be an FQDN -- fishing?
- return 0 if( $common_name =~ /^\*\./ );
-
- my $re = q{}; # empty string
-
- # turn a leading "*." into a regex
- if( $san_name =~ /^\*\./ ) {
- $san_name =~ s/\*//;
- $re = "[^.]+";
- }
-
- # quotemeta the rest and match anchored
- if( $common_name =~ /^$re\Q$san_name\E$/ ) {
- return 1;
- }
- return 0;
-}
-
-#-------------------------------------------------------
-# _in_san( cn, cert )
-# 'cn' of the form /CN=host_to_check ( "Common Name" form )
-# 'cert' any object that implements a peer_certificate('subjectAltNames') method
-# which will return an array of ( type-id, value ) pairings per
-# http://tools.ietf.org/html/rfc5280#section-4.2.1.6
-# if there is no subjectAltNames there is nothing more to do.
-# currently we have a _cn_match() that will allow for simple compare.
-sub _in_san
-{
- my($me, $cn, $cert) = @_;
-
- # we can return early if there are no SAN options.
- my @sans = $cert->peer_certificate('subjectAltNames');
- return unless scalar @sans;
-
- (my $common_name = $cn) =~ s/.*=//; # strip off the prefix.
-
- # get the ( type-id, value ) pairwise
- # currently only the basic CN to san_name check
- while( my ( $type_id, $value ) = splice( @sans, 0, 2 ) ) {
- return 'ok' if $me->_cn_match($common_name,$value);
- }
- return;
-}
-
-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;
- unless ( $subject =~ /$check/ ) {
- my $ok = $self->_in_san( $check, $cert);
- die "Bad SSL certificate subject: '$subject' !~ /$check/"
- unless $ok;
- }
- $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 (!$self->{ssl_opts}{SSL_verify_mode}) {
- $res->push_header("Client-SSL-Warning" => "Peer certificate not verified");
- }
- elsif (!$self->{ssl_opts}{SSL_verifycn_scheme}) {
- $res->push_header("Client-SSL-Warning" => "Peer hostname match with certificate not verified");
- }
- $res->header("Client-SSL-Socket-Class" => $Net::HTTPS::SSL_SOCKET_CLASS);
-}
-
-# upgrade plain socket to SSL, used for CONNECT tunnel when proxying https
-# will only work if the underlying socket class of Net::HTTPS is
-# IO::Socket::SSL, but code will only be called in this case
-if ( $Net::HTTPS::SSL_SOCKET_CLASS->can('start_SSL')) {
- *_upgrade_sock = sub {
- my ($self,$sock,$url) = @_;
- $sock = LWP::Protocol::https::Socket->start_SSL( $sock,
- SSL_verifycn_name => $url->host,
- $self->_extra_sock_opts,
- );
- $@ = LWP::Protocol::https::Socket->errstr if ! $sock;
- return $sock;
- }
-}
-
-#-----------------------------------------------------------
-package LWP::Protocol::https::Socket;
-
-our @ISA = qw(Net::HTTPS LWP::Protocol::http::SocketMethods);
-
-1;
-
-__END__
-
-=head1 NAME
-
-LWP::Protocol::https - Provide https support for LWP::UserAgent
-
-=head1 SYNOPSIS
-
- use LWP::UserAgent;
-
- $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 });
- $res = $ua->get("https://www.example.com");
-
-=head1 DESCRIPTION
-
-The LWP::Protocol::https module provides support for using https schemed
-URLs with LWP. This module is a plug-in to the LWP protocol handling, so
-you don't use it directly. Once the module is installed LWP is able
-to access sites using HTTP over SSL/TLS.
-
-If hostname verification is requested by LWP::UserAgent's C<ssl_opts>, and
-neither C<SSL_ca_file> nor C<SSL_ca_path> is set, then C<SSL_ca_file> is
-implied to be the one provided by Mozilla::CA. If the Mozilla::CA module
-isn't available SSL requests will fail. Either install this module, set up an
-alternative C<SSL_ca_file> or disable hostname verification.
-
-This module used to be bundled with the libwww-perl, but it was unbundled in
-v6.02 in order to be able to declare its dependencies properly for the CPAN
-tool-chain. Applications that need https support can just declare their
-dependency on LWP::Protocol::https and will no longer need to know what
-underlying modules to install.
-
-=head1 SEE ALSO
-
-L<IO::Socket::SSL>, L<Crypt::SSLeay>, L<Mozilla::CA>
-
-=head1 COPYRIGHT
-
-Copyright 1997-2011 Gisle Aas.
-
-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/LWP/RobotUA.pm b/Master/tlpkg/tlperl/lib/LWP/RobotUA.pm
index 79cb301e20e..7b6ab7e1ee7 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 = "6.06";
+$VERSION = "6.13";
require WWW::RobotRules;
require HTTP::Request;
diff --git a/Master/tlpkg/tlperl/lib/LWP/Simple.pm b/Master/tlpkg/tlperl/lib/LWP/Simple.pm
index 29c538fdcdb..aa159c41d67 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 = "6.00";
+$VERSION = "6.13";
sub import
{
diff --git a/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm b/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm
index d558eabf0f9..0f0773e9ef4 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 = "6.06";
+$VERSION = "6.13";
use HTTP::Request ();
use HTTP::Response ();
@@ -1196,8 +1196,8 @@ method for the more general interface that allow any header to be defaulted.
=item $ua->cookie_jar( $cookie_jar_obj )
Get/set the cookie jar object to use. The only requirement is that
-the cookie jar object must implement the extract_cookies($request) and
-add_cookie_header($response) methods. These methods will then be
+the cookie jar object must implement the extract_cookies($response) and
+add_cookie_header($request) methods. These methods will then be
invoked by the user agent as requests are sent and responses are
received. Normally this will be a C<HTTP::Cookies> object or some
subclass.
diff --git a/Master/tlpkg/tlperl/lib/List/Util.pm b/Master/tlpkg/tlperl/lib/List/Util.pm
index 5988aa914ec..76b31be3c21 100644
--- a/Master/tlpkg/tlperl/lib/List/Util.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util.pm
@@ -1,10 +1,8 @@
-# List::Util.pm
-#
# Copyright (c) 1997-2009 Graham Barr <gbarr@pobox.com>. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
#
-# This module is normally only loaded if the XS module is not available
+# Maintained since 2013 by Paul Evans <leonerd@leonerd.org.uk>
package List::Util;
@@ -12,18 +10,28 @@ use strict;
require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT_OK = qw(first min max minstr maxstr reduce sum sum0 shuffle);
-our $VERSION = "1.27";
+our @EXPORT_OK = qw(
+ all any first min max minstr maxstr none notall product reduce sum sum0 shuffle
+ pairmap pairgrep pairfirst pairs pairkeys pairvalues
+);
+our $VERSION = "1.38";
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
require XSLoader;
XSLoader::load('List::Util', $XS_VERSION);
-sub sum0
+sub import
{
- return 0 unless @_;
- goto &sum;
+ my $pkg = caller;
+
+ # (RT88848) Touch the caller's $a and $b, to avoid the warning of
+ # Name "main::a" used only once: possible typo" warning
+ no strict 'refs';
+ ${"${pkg}::a"} = ${"${pkg}::a"};
+ ${"${pkg}::b"} = ${"${pkg}::b"};
+
+ goto &Exporter::import;
}
1;
@@ -40,169 +48,289 @@ List::Util - A selection of general-utility list subroutines
=head1 DESCRIPTION
-C<List::Util> contains a selection of subroutines that people have
-expressed would be nice to have in the perl core, but the usage would
-not really be high enough to warrant the use of a keyword, and the size
-so small such that being individual extensions would be wasteful.
+C<List::Util> contains a selection of subroutines that people have expressed
+would be nice to have in the perl core, but the usage would not really be high
+enough to warrant the use of a keyword, and the size so small such that being
+individual extensions would be wasteful.
-By default C<List::Util> does not export any subroutines. The
-subroutines defined are
+By default C<List::Util> does not export any subroutines.
-=over 4
+=cut
-=item first BLOCK LIST
+=head1 LIST-REDUCTION FUNCTIONS
-Similar to C<grep> in that it evaluates BLOCK setting C<$_> to each element
-of LIST in turn. C<first> returns the first element where the result from
-BLOCK is a true value. If BLOCK never returns true or LIST was empty then
-C<undef> is returned.
+The following set of functions all reduce a list down to a single value.
- $foo = first { defined($_) } @list # first defined value in @list
- $foo = first { $_ > $value } @list # first value in @list which
- # is greater than $value
+=cut
+
+=head2 $result = reduce { BLOCK } @list
+
+Reduces C<@list> by calling C<BLOCK> in a scalar context multiple times,
+setting C<$a> and C<$b> each time. The first call will be with C<$a> and C<$b>
+set to the first two elements of the list, subsequent calls will be done by
+setting C<$a> to the result of the previous call and C<$b> to the next element
+in the list.
+
+Returns the result of the last call to the C<BLOCK>. If C<@list> is empty then
+C<undef> is returned. If C<@list> only contains one element then that element
+is returned and C<BLOCK> is not executed.
+
+The following examples all demonstrate how C<reduce> could be used to implement
+the other list-reduction functions in this module. (They are not in fact
+implemented like this, but instead in a more efficient manner in individual C
+functions).
+
+ $foo = reduce { defined($a) ? $a :
+ $code->(local $_ = $b) ? $b :
+ undef } undef, @list # first
+
+ $foo = reduce { $a > $b ? $a : $b } 1..10 # max
+ $foo = reduce { $a gt $b ? $a : $b } 'A'..'Z' # maxstr
+ $foo = reduce { $a < $b ? $a : $b } 1..10 # min
+ $foo = reduce { $a lt $b ? $a : $b } 'aa'..'zz' # minstr
+ $foo = reduce { $a + $b } 1 .. 10 # sum
+ $foo = reduce { $a . $b } @bar # concat
+
+ $foo = reduce { $a || $code->(local $_ = $b) } 0, @bar # any
+ $foo = reduce { $a && $code->(local $_ = $b) } 1, @bar # all
+ $foo = reduce { $a && !$code->(local $_ = $b) } 1, @bar # none
+ $foo = reduce { $a || !$code->(local $_ = $b) } 0, @bar # notall
+ # Note that these implementations do not fully short-circuit
+
+If your algorithm requires that C<reduce> produce an identity value, then make
+sure that you always pass that identity value as the first argument to prevent
+C<undef> being returned
+
+ $foo = reduce { $a + $b } 0, @values; # sum with 0 identity value
-This function could be implemented using C<reduce> like this
+The remaining list-reduction functions are all specialisations of this generic
+idea.
- $foo = reduce { defined($a) ? $a : wanted($b) ? $b : undef } undef, @list
+=head2 $b = any { BLOCK } @list
-for example wanted() could be defined() which would return the first
-defined value in @list
+Similar to C<grep> in that it evaluates C<BLOCK> setting C<$_> to each element
+of C<@list> in turn. C<any> returns true if any element makes the C<BLOCK>
+return a true value. If C<BLOCK> never returns true or C<@list> was empty then
+it returns false.
-=item max LIST
+Many cases of using C<grep> in a conditional can be written using C<any>
+instead, as it can short-circuit after the first true result.
-Returns the entry in the list with the highest numerical value. If the
-list is empty then C<undef> is returned.
+ if( any { length > 10 } @strings ) {
+ # at least one string has more than 10 characters
+ }
+
+=head2 $b = all { BLOCK } @list
+
+Similar to C<any>, except that it requires all elements of the C<@list> to make
+the C<BLOCK> return true. If any element returns false, then it returns false.
+If the C<BLOCK> never returns false or the C<@list> was empty then it returns
+true.
+
+=head2 $b = none { BLOCK } @list
+
+=head2 $b = notall { BLOCK } @list
+
+Similar to C<any> and C<all>, but with the return sense inverted. C<none>
+returns true only if no value in the LIST causes the BLOCK to return true, and
+C<notall> returns true only if not all of the values do.
+
+=head2 $val = first { BLOCK } @list
+
+Similar to C<grep> in that it evaluates C<BLOCK> setting C<$_> to each element
+of C<@list> in turn. C<first> returns the first element where the result from
+C<BLOCK> is a true value. If C<BLOCK> never returns true or C<@list> was empty
+then C<undef> is returned.
+
+ $foo = first { defined($_) } @list # first defined value in @list
+ $foo = first { $_ > $value } @list # first value in @list which
+ # is greater than $value
+
+=head2 $num = max @list
+
+Returns the entry in the list with the highest numerical value. If the list is
+empty then C<undef> is returned.
$foo = max 1..10 # 10
$foo = max 3,9,12 # 12
$foo = max @bar, @baz # whatever
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a > $b ? $a : $b } 1..10
+=head2 $str = maxstr @list
-=item maxstr LIST
-
-Similar to C<max>, but treats all the entries in the list as strings
-and returns the highest string as defined by the C<gt> operator.
-If the list is empty then C<undef> is returned.
+Similar to C<max>, but treats all the entries in the list as strings and
+returns the highest string as defined by the C<gt> operator. If the list is
+empty then C<undef> is returned.
$foo = maxstr 'A'..'Z' # 'Z'
$foo = maxstr "hello","world" # "world"
$foo = maxstr @bar, @baz # whatever
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a gt $b ? $a : $b } 'A'..'Z'
-
-=item min LIST
+=head2 $num = min @list
-Similar to C<max> but returns the entry in the list with the lowest
-numerical value. If the list is empty then C<undef> is returned.
+Similar to C<max> but returns the entry in the list with the lowest numerical
+value. If the list is empty then C<undef> is returned.
$foo = min 1..10 # 1
$foo = min 3,9,12 # 3
$foo = min @bar, @baz # whatever
-This function could be implemented using C<reduce> like this
+=head2 $str = minstr @list
- $foo = reduce { $a < $b ? $a : $b } 1..10
-
-=item minstr LIST
-
-Similar to C<min>, but treats all the entries in the list as strings
-and returns the lowest string as defined by the C<lt> operator.
-If the list is empty then C<undef> is returned.
+Similar to C<min>, but treats all the entries in the list as strings and
+returns the lowest string as defined by the C<lt> operator. If the list is
+empty then C<undef> is returned.
$foo = minstr 'A'..'Z' # 'A'
$foo = minstr "hello","world" # "hello"
$foo = minstr @bar, @baz # whatever
-This function could be implemented using C<reduce> like this
+=head2 $num = product @list
- $foo = reduce { $a lt $b ? $a : $b } 'A'..'Z'
+Returns the numerical product of all the elements in C<@list>. If C<@list> is
+empty then C<1> is returned.
-=item reduce BLOCK LIST
+ $foo = product 1..10 # 3628800
+ $foo = product 3,9,12 # 324
-Reduces LIST by calling BLOCK, in a scalar context, multiple times,
-setting C<$a> and C<$b> each time. The first call will be with C<$a>
-and C<$b> set to the first two elements of the list, subsequent
-calls will be done by setting C<$a> to the result of the previous
-call and C<$b> to the next element in the list.
+=head2 $num_or_undef = sum @list
-Returns the result of the last call to BLOCK. If LIST is empty then
-C<undef> is returned. If LIST only contains one element then that
-element is returned and BLOCK is not executed.
+Returns the numerical sum of all the elements in C<@list>. For backwards
+compatibility, if C<@list> is empty then C<undef> is returned.
- $foo = reduce { $a < $b ? $a : $b } 1..10 # min
- $foo = reduce { $a lt $b ? $a : $b } 'aa'..'zz' # minstr
- $foo = reduce { $a + $b } 1 .. 10 # sum
- $foo = reduce { $a . $b } @bar # concat
+ $foo = sum 1..10 # 55
+ $foo = sum 3,9,12 # 24
+ $foo = sum @bar, @baz # whatever
-If your algorithm requires that C<reduce> produce an identity value, then
-make sure that you always pass that identity value as the first argument to prevent
-C<undef> being returned
+=head2 $num = sum0 @list
- $foo = reduce { $a + $b } 0, @values; # sum with 0 identity value
+Similar to C<sum>, except this returns 0 when given an empty list, rather than
+C<undef>.
-=item shuffle LIST
+=cut
-Returns the elements of LIST in a random order
+=head1 KEY/VALUE PAIR LIST FUNCTIONS
- @cards = shuffle 0..51 # 0..51 in a random order
+The following set of functions, all inspired by L<List::Pairwise>, consume an
+even-sized list of pairs. The pairs may be key/value associations from a hash,
+or just a list of values. The functions will all preserve the original ordering
+of the pairs, and will not be confused by multiple pairs having the same "key"
+value - nor even do they require that the first of each pair be a plain string.
-=item sum LIST
+=cut
-Returns the sum of all the elements in LIST. If LIST is empty then
-C<undef> is returned.
+=head2 @kvlist = pairgrep { BLOCK } @kvlist
- $foo = sum 1..10 # 55
- $foo = sum 3,9,12 # 24
- $foo = sum @bar, @baz # whatever
+=head2 $count = pairgrep { BLOCK } @kvlist
-This function could be implemented using C<reduce> like this
+Similar to perl's C<grep> keyword, but interprets the given list as an
+even-sized list of pairs. It invokes the C<BLOCK> multiple times, in scalar
+context, with C<$a> and C<$b> set to successive pairs of values from the
+C<@kvlist>.
- $foo = reduce { $a + $b } 1..10
+Returns an even-sized list of those pairs for which the C<BLOCK> returned true
+in list context, or the count of the B<number of pairs> in scalar context.
+(Note, therefore, in scalar context that it returns a number half the size of
+the count of items it would have returned in list context).
-If your algorithm requires that C<sum> produce an identity of 0, then
-make sure that you always pass C<0> as the first argument to prevent
-C<undef> being returned
+ @subset = pairgrep { $a =~ m/^[[:upper:]]+$/ } @kvlist
- $foo = sum 0, @values;
+As with C<grep> aliasing C<$_> to list elements, C<pairgrep> aliases C<$a> and
+C<$b> to elements of the given list. Any modifications of it by the code block
+will be visible to the caller.
-=item sum0 LIST
+=head2 ( $key, $val ) = pairfirst { BLOCK } @kvlist
-Similar to C<sum>, except this returns 0 when given an empty list, rather
-than C<undef>.
+=head2 $found = pairfirst { BLOCK } @kvlist
-=back
+Similar to the C<first> function, but interprets the given list as an
+even-sized list of pairs. It invokes the C<BLOCK> multiple times, in scalar
+context, with C<$a> and C<$b> set to successive pairs of values from the
+C<@kvlist>.
-=head1 KNOWN BUGS
+Returns the first pair of values from the list for which the C<BLOCK> returned
+true in list context, or an empty list of no such pair was found. In scalar
+context it returns a simple boolean value, rather than either the key or the
+value found.
-With perl versions prior to 5.005 there are some cases where reduce
-will return an incorrect result. This will show up as test 7 of
-reduce.t failing.
+ ( $key, $value ) = pairfirst { $a =~ m/^[[:upper:]]+$/ } @kvlist
-=head1 SUGGESTED ADDITIONS
+As with C<grep> aliasing C<$_> to list elements, C<pairfirst> aliases C<$a> and
+C<$b> to elements of the given list. Any modifications of it by the code block
+will be visible to the caller.
-The following are additions that have been requested, but I have been reluctant
-to add due to them being very simple to implement in perl
+=head2 @list = pairmap { BLOCK } @kvlist
+
+=head2 $count = pairmap { BLOCK } @kvlist
+
+Similar to perl's C<map> keyword, but interprets the given list as an
+even-sized list of pairs. It invokes the C<BLOCK> multiple times, in list
+context, with C<$a> and C<$b> set to successive pairs of values from the
+C<@kvlist>.
+
+Returns the concatenation of all the values returned by the C<BLOCK> in list
+context, or the count of the number of items that would have been returned in
+scalar context.
+
+ @result = pairmap { "The key $a has value $b" } @kvlist
+
+As with C<map> aliasing C<$_> to list elements, C<pairmap> aliases C<$a> and
+C<$b> to elements of the given list. Any modifications of it by the code block
+will be visible to the caller.
+
+=head2 @pairs = pairs @kvlist
- # One argument is true
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of ARRAY references, each containing two items from the given
+list. It is a more efficient version of
- sub any { $_ && return 1 for @_; 0 }
+ @pairs = pairmap { [ $a, $b ] } @kvlist
- # All arguments are true
+It is most convenient to use in a C<foreach> loop, for example:
- sub all { $_ || return 0 for @_; 1 }
+ foreach ( pairs @KVLIST ) {
+ my ( $key, $value ) = @$_;
+ ...
+ }
- # All arguments are false
+=head2 @keys = pairkeys @kvlist
- sub none { $_ && return 0 for @_; 1 }
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of the the first values of each of the pairs in the given list.
+It is a more efficient version of
- # One argument is false
+ @keys = pairmap { $a } @kvlist
- sub notall { $_ || return 1 for @_; 0 }
+=head2 @values = pairvalues @kvlist
+
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of the the second values of each of the pairs in the given list.
+It is a more efficient version of
+
+ @values = pairmap { $b } @kvlist
+
+=cut
+
+=head1 OTHER FUNCTIONS
+
+=cut
+
+=head2 @values = shuffle @values
+
+Returns the values of the input in a random order
+
+ @cards = shuffle 0..51 # 0..51 in a random order
+
+=cut
+
+=head1 KNOWN BUGS
+
+With perl versions prior to 5.005 there are some cases where reduce will return
+an incorrect result. This will show up as test 7 of reduce.t failing.
+
+=head1 SUGGESTED ADDITIONS
+
+The following are additions that have been requested, but I have been reluctant
+to add due to them being very simple to implement in perl
# How many elements are true
@@ -222,4 +350,7 @@ Copyright (c) 1997-2007 Graham Barr <gbarr@pobox.com>. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
+Recent additions and current maintenance by
+Paul Evans, <leonerd@leonerd.org.uk>.
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/List/Util/XS.pm b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
index 01b944b5ab2..32c10972aa5 100644
--- a/Master/tlpkg/tlperl/lib/List/Util/XS.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
@@ -2,7 +2,7 @@ package List::Util::XS;
use strict;
use List::Util;
-our $VERSION = "1.27"; # FIXUP
+our $VERSION = "1.38"; # FIXUP
$VERSION = eval $VERSION; # FIXUP
1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
index b8c0e39a780..32380a09d4a 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
@@ -1,7 +1,7 @@
package Locale::Codes;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -31,7 +31,7 @@ our($VERSION,%Data,%Retired);
# $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
# { name }{ NAME } = [CODE,NAME] (the key is lowercase)
-$VERSION='3.25';
+$VERSION='3.30';
#=======================================================================
#
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pod b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
new file mode 100644
index 00000000000..672cdf0e062
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
@@ -0,0 +1,297 @@
+=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::Codes::Country, Locale::Country>
+
+This includes support for country codes (such as those listed in ISO-3166)
+to specify the country.
+
+Because this module was originally distributed as Locale::Country, it is
+also available under that name.
+
+=item B<Locale::Codes::Language, Locale::Language>
+
+This includes support for language codes (such as those listed in ISO-639)
+to specify the language.
+
+Because this module was originally distributed as Locale::Language, it is
+also available under that name.
+
+=item B<Locale::Codes::Currency, Locale::Currency>
+
+This includes support for currency codes (such as those listed in ISO-4217)
+to specify the currency.
+
+Because this module was originally distributed as Locale::Currency, it is
+also available under that name.
+
+=item B<Locale::Codes::Script, Locale::Script>
+
+This includes support for script codes (such as those listed in ISO-15924)
+to specify the script.
+
+Because this module was originally distributed as Locale::Script, it is
+also available under that name.
+
+=item B<Locale::Codes::LangExt>
+
+This includes support for language extension codes (such as those listed
+in the IANA language registry) to specify the language extension.
+
+=item B<Locale::Codes::LangVar>
+
+This includes support for language variation codes (such as those listed
+in the IANA language registry) to specify the language variation.
+
+=item B<Locale::Codes::LangFam>
+
+This includes support for language family codes (such as those listed
+in ISO 639-5) to specify families of languages.
+
+=back
+
+Each module can support an arbitrary number of code sets, and it is
+not required that the relationship between these code sets be
+one-to-one. For example, the Locale::Codes::Country module supports
+code sets from ISO-3166 and the IANA 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
+IANA 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 several 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.
+
+In addition to the modules above, there are a number of support modules included
+in the distribution including:
+
+=over 4
+
+=item B<Locale::Codes>
+
+=item B<Locale::Codes::Constants>
+
+=item B<Locale::Codes::Country_codes>
+
+=item B<Locale::Codes::Language_codes>
+
+=item B<Locale::Codes::Currency_codes>
+
+=item B<Locale::Codes::Script_codes>
+
+=item B<Locale::Codes::LangExt_codes>
+
+=item B<Locale::Codes::LangVar_codes>
+
+=item B<Locale::Codes::LangFam_codes>
+
+=back
+
+These modules are not intended to be used by programmers. They contain functions
+or data that are used by the modules listed above.
+
+=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. However, I will always be hesitant to accept a
+non-official source.
+
+As an example, I used to 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.
+However, even in this case, I found that they were adding codes that
+were not part of the standard, so I have stopped using them as a
+source.
+
+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" will not be honored. The country's official
+name is no longer 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
+(and which are not common variations of the name in the standards)
+have also been removed.
+
+=head1 DEPRECATED CODES
+
+Occasionally, a code is deprecated, but it may still be desirable to
+have access to it.
+
+Although there is no way to see every code that has ever existed and
+been deprecated (since most codesets do not have that information
+available), as of version 3.20, every code which has ever been included
+in these modules can be referenced.
+
+For more information, refer to the documentation on the code2XXX, XXX2code,
+all_XXX_codes, and all_XXX_names function in the B<Locale::Codes::API>
+documentation.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes::API>
+
+The list of functions available in each of the modules listed below.
+The APIs for each module are exactly identical.
+
+=item B<Locale::Codes::Country>
+
+Codes for identification of countries.
+
+=item B<Locale::Codes::Language>
+
+Codes for identification of languages.
+
+=item B<Locale::Codes::Script>
+
+Codes for identification of scripts.
+
+=item B<Locale::Codes::Currency>
+
+Codes for identification of currencies and funds.
+
+=item B<Locale::Codes::LangExt>
+
+Codes for identification of language extensions.
+
+=item B<Locale::Codes::LangVar>
+
+Codes for identification of language variations.
+
+=item B<Locale::Codes::LangFam>
+
+Codes for identification of language families.
+
+=item B<Locale::Codes::Changes>
+
+A history of changes made to this distribution.
+
+=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 and was
+modified by Neil Bowers for inclusion in the distribution.
+
+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. All problems or comments should be
+sent there. Alternately, problems can be reported using the
+perl problem tracker at:
+
+ https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes
+
+=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-2014 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/API.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/API.pod
new file mode 100644
index 00000000000..110719d18ad
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/API.pod
@@ -0,0 +1,320 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::API - a description of the callable function in each module
+
+=head1 DESCRIPTION
+
+Although there are several modules in the Locale-Codes distribution, all of them
+(as of version 3.10) use exactly the same API. As a matter of fact, each of the
+main callable modules are just wrappers around a central module which does all
+the real work.
+
+=head1 ROUTINES
+
+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.
+The values of XXX are described in the following table:
+
+ XXX MODULE
+
+ country Locale::Codes::Country
+ language Locale::Codes::Language
+ currency Locale::Codes::Currency
+ script Locale::Codes::Script
+ langext Locale::Codes::LangExt
+ langvar Locale::Codes::LangVar
+ langfam Locale::Codes::LangFAM
+
+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<code2XXX ( CODE [,CODESET] [,'retired'] )>
+
+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)'
+
+By default, only active codes will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be examined.
+
+=item B<XXX2code ( NAME [,CODESET] [,'retired'] )>
+
+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
+
+By default, only active names will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be examined.
+
+=item B<XXX_code2code ( CODE ,CODESET ,CODESET2 )>
+
+These functions takes 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'
+
+Note that this function does NOT support retired codes.
+
+=item B<all_XXX_codes ( [CODESET] [,'retired'] )>
+
+These returns a list of all code in the code set. The codes will be
+sorted.
+
+By default, only active codes will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be returned.
+
+=item B<all_XXX_names ( [CODESET] [,'retired'] )>
+
+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.
+
+By default, only active names will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be returned.
+
+=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.
+
+These routines do not currently work with retired codes.
+
+=over 4
+
+=item B<MODULE::rename_XXX ( 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::Codes::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<MODULE::add_XXX ( 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::Codes::Country::add_country("fe","Duchy of Grand Fenwick",
+ LOCALE_CODE_ALPHA_2);
+
+ Locale::Codes::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<MODULE::delete_XXX ( 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<MODULE::add_XXX_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<MODULE::delete_XXX_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<MODULE::rename_XXX_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<MODULE::add_XXX_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<MODULE::delete_XXX_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<Relationship between code sets>
+
+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 IANA 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<Non-ASCII characters not supported>
+
+Currently all names must be all ASCII. I plan on relaxing that
+limitation in the future.
+
+=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) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2014 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..6700f17d212
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
@@ -0,0 +1,708 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Changes - details changes to Locale::Codes
+
+=head1 SYNOPSIS
+
+This describes the changes made to modules in the Locale-Codes
+distribution. Major changes are marked with asterisks (*). For the
+most part, all modules have remained backward compatible at every
+release, but occasionally a change is made which is backward
+incompatible. These are marked with an exclamation mark (!).
+
+As of 3.00, the codes are autogenerated from the standards. With each
+release, codes will be re-generated and tested to see if any code
+changed. Any time there are any changes to the codes, it will be
+flagged below with a change: NEW CODE(s).
+
+I intend to check for new codes four times a year (March, June,
+September, December). I will also check on request, so if a code
+changes that you use, feel free to contact me. Any time there are new
+codes, I will add them to the module and release a new version.
+
+=head1 VERSION 3.33 (planned 2014-12-01; sbeck)
+
+=head1 VERSION 3.32 (planned 2014-09-01; sbeck)
+
+=head1 VERSION 3.31 (planned 2014-06-01; sbeck)
+
+=head1 VERSION 3.30 (2014-03-04; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<alias_code remove date set>
+
+The alias_code function exists for backward compatibility. It has been
+deprecated since version 3.20 when it was replaced by rename_country_code.
+The alias_code function will be removed in the December 2014 release.
+
+=item B<Bug fixes>
+
+Fixed a problem that was preventing rename_* functions to not work.
+RT 92680.
+
+=back
+
+=head1 VERSION 3.29 (2014-01-27; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<ISO 3166 country codes improved>
+
+ISO 3166 is now browsable online (previously, only the alpha-2 codes were)
+and it contains more accurate information than the previous sources, so
+I've switched to using the full standard. In response to RT 92303 which
+reported some codes being 'retired' that should not have been.
+
+=item B<Bug fixes>
+
+Fixed the pod test files so that pod tests won't get run at install
+time. In response to RT 91167.
+
+=back
+
+=head1 VERSION 3.28 (2013-12-02; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.27 (2013-09-03; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<* FIPS-10 country codes removed>
+
+As of June, the FIPS codes are not being published in their
+entirety. Only changes to the codes are published. This adds
+a huge layer of complexity to maintaining the set, which is not
+worth doing considering that the set is deprecated. As such, the
+code set is no longer supported.
+
+=back
+
+=head1 VERSION 3.26 (2013-06-03; sbeck)
+
+=over 4
+
+=item B<Documentation fixes>
+
+Some of the examples were not correct. RT 84589
+
+Some typos corrected. RT 85692
+
+=back
+
+=head1 VERSION 3.25 (2013-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.24 (2012-12-03; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Syria alias>
+
+Syria added as an alias. RT 82747
+
+=item B<FIPS-10 country codes deprecated>
+
+The FIPS-10 document is being withdrawn. It was deprecated in 2008,
+and is being updated now only until all the agencies that use it have
+switched to something else. The current version no longer lists the
+long names for countries. These long names (such as 'Republic of
+Albania' for Albania) only appeared in the old FIPS-10 document which
+is no longer available, so they are no longer available in this module.
+
+I will continue to support the FIPS-10 codeset as long as it is available,
+but at that point, it will be withdrawn immediately. If an official
+end-of-life date is announced, I will include a notice here. Otherwise, support
+for the codeset will be discontinued when the document is withdrawn.
+
+You are encouraged to no longer use the FIPS-10 codeset.
+
+=item B<Domain country codes now come from ISO 3166>
+
+The IANA domain codes have changed slightly. The IANA no longer
+publishes a list of countries associated with their codes. Instead,
+they use the ISO 3166 codes and country names. However, they support
+a few non-standard codes, so I will continue to maintain this codeset.
+The domain codes are now lowercase to correspond to the ISO 3166 codes.
+
+=back
+
+=head1 VERSION 3.23 (2012-09-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.22 (2012-06-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Updated perl version required>
+
+Changed 'require 5.002' (which dated back to the version 2.xx Locale-Codes)
+to 'require 5.006'. Some features used in Locale-Codes are not supported that
+far back. Nicholas Clark
+
+=item B<Sorted deprecated codes>
+
+The codes in the generated deprecated codes modules were not sorted making version
+diffs bigger than they should be. Nicholas Clark
+
+=back
+
+=head1 VERSION 3.21 (2012-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.20 (2011-12-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added limited support for deprecated codes>
+
+The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions
+now support retired codes. RT 71124
+
+=item B<Fixed capitalization>
+
+The 'South Sudan' country was all caps. RT 71024
+
+=item B<Pod tests off by default>
+
+The pod tests will not run at install time. RT 71122
+
+=item B<Codesets may be specified by name>
+
+All codesets may be specified by a constant or by their name now. Previously,
+they were specified only by a constant.
+
+=item B<alias_code deprecated>
+
+The alias_code function exists for backward compatibility. It has been replaced
+by rename_country_code . The alias_code function will be removed sometime
+after September, 2013 .
+
+=item B<Code cleanup>
+
+All work is now done in the central module (Locale::Codes). Previously, some
+was still done in the wrapper modules (Locale::Codes::*) but that is gone now.
+
+=item B<Added LangFam module>
+
+Added Language Family codes (langfam) as defined in ISO 639-5.
+
+=back
+
+=head1 VERSION 3.18 (2011-08-31; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<No longer use CIA data>
+
+The CIA world added non-standard values, so I no longer use it as
+a source of data. Based on a report by Michiel Beijen.
+
+=back
+
+=head1 VERSION 3.17 (2011-06-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new types of codes>
+
+Added Language Extension codes (langext) and Language Variation codes
+(langvar) as defined in the IANA language registry.
+
+=item B<Added new codeset(s)>
+
+Added language codes from ISO 639-5
+
+Added language/script codes from the IANA language subtag
+registry
+
+=item B<Bug fixes>
+
+Fixed an uninitialized value warning. RT 67438
+
+Fixed the return value for the all_XXX_codes and all_XXX_names functions. RT 69100
+
+=item B<Reorganized code>
+
+Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to
+allow for cleaner future additions. The original four modules (Locale::Language,
+Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
+all new sets of codes will be added in the Locale::Codes namespace.
+
+=back
+
+=head1 VERSION 3.16 (2011-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.15 (2010-12-02; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Minor fixes>
+
+Added version number to Makefile.PL/Build.PL requirement
+for POD testing modules. RT 62247
+
+Changed 'use vars' to 'our'
+
+=back
+
+=head1 VERSION 3.14 (2010-09-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Bug fixes>
+
+Stripped out some HTML that got included with some codes.
+
+=back
+
+=head1 VERSION 3.13 (2010-06-04; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.12 (2010-04-06; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Renamed test.pl to testfunc.pl to avoid causing an error
+when built as part of perl.
+
+=back
+
+=head1 VERSION 3.11 (2010-03-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new codeset(s)>
+
+Added the IANA domain names to Country
+
+=item B<Bug fixes>
+
+Fixed a problem that produced warnings with perl 5.11.5.
+Jerry D. Hedden
+
+=back
+
+=head1 VERSION 3.10 (2010-02-18; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Moved support files into the Locale::Codes namespace.
+
+The work done in each of the Locale::XXX modules was virtually
+identical to each other. It has all been moved to a central module and
+the Locale::XXX modules are now just wrappers.
+
+=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
+
+=item B<New aliases>
+
+Added "UK" alias. Steve Hay
+
+=back
+
+=head1 VERSION 3.01 (2010-02-15; sbeck)
+
+=over 4
+
+=item B<Fixed Makefile.PL and Build.PL>
+
+They now install as core modules as they are supposed to. Reported in
+RT 54526
+
+=back
+
+=head1 VERSION 3.00 (2010-02-10; sbeck)
+
+NEW CODE(s)
+
+=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 new codeset(s)>
+
+FIPS 10 country codes (requested in RT 1755)
+
+Alpha-3 and Term language codes (requested in RT 11730)
+
+Numeric currency codes (requested in RT 18797)
+
+=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.
+
+=item B<(!) All functions return the standard value>
+
+code2country (and other equivalent functions) now returns the name of
+the country specified in the standard (if the different standards
+refer to the country by different variations in the name, the results
+will differ based on the CODESET)
+
+=item B<(!) rename_country function altered>
+
+The rename_country function from 2.07 would guess the CODESET (unlike
+all other functions which used a default of LOCALE_CODE_ALPHA_2). The
+guess can cause problems since (with the addition of FIPS) codes may
+appear in different codesets for different countries. The behavior has
+been changed to be the same as other functions (default to
+LOCALE_CODE_ALPHA_2).
+
+=back
+
+=head1 VERSION 2.07 (2004-06-10; neilb)
+
+Made $_ local in the initialization code for each module
+change back-propagated from Perl distribution
+
+Removed two non ISO-8859-1 characters from language names
+change back-propagated from Perl distribution
+
+Added the following aliases, with a test case for each
+ - Burma added to Myanmar
+ - French Southern and Antarctic Lands to
+ French Southern Territories
+patch from TJ Mather
+
+"Canadian Dollar" was misspelled as "Candian Dollar"
+ - noted by Nick Cabatoff, patch from Michael Hennecke
+
+Changes to Locale::Country reflecting changes in ISO 3166
+ - added Aland Islands (ax, ala, 248)
+ - YUGOSLAVIA is now SERBIA AND MONTENEGRO
+ YU => CS
+ YUG => SCG
+ 891 => 891 (unchanged)
+ (YUGOSLAVIA retained as an alias)
+ - EAST TIMOR changed to TIMOR-LESTE
+ (old name retained as an alias)
+ - three letter code for Romania changed from ROM to ROU
+
+ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE
+ ZR => CD
+ ZAR => COD
+ 180 => 180 (unchanged)
+ (ZAIRE retained as alias)
+
+=head1 VERSION 2.06 (2002-07-15; neilb)
+
+The four modules which have data after __DATA__ weren't closing the
+DATA filehandle after reading from it, which they should. Bug and
+patch from Steve Hay.
+
+=head1 VERSION 2.05 (2002-07-08; neilb)
+
+Added three letter codes for the countries that were missing
+them. Patch from TJ Mather.
+
+Documentation bug: one of the examples used => where the
+lvalue was a constant, which isn't allowed, unless you
+put the () with the constant to force the right interpretation.
+Pointed out by TJ Mather and MYT.
+
+Updated the URL for the appendix in the CIA world factbook.
+Patch from TJ Mather.
+
+=head1 VERSION 2.04 (2002-05-23; neilb)
+
+Updated according to changes in ISO 3166-1 described
+in ISO 3166-1 newsletters V-4 and V-5, dated 2002-05-20:
+ - Kazakstan is now "Kazakhstan"
+ - Macau is now "Macao"
+The old names are retained as aliases.
+
+The alpha-2 and alpha-3 codes for East Timor have changed:
+ tp -> tl
+ tmp -> tls
+the numeric code stays 626. If you want to support the old
+codes, you can use the semi-private function alias_code().
+
+=head1 VERSION 2.03 (2002-03-24; neilb)
+
+Fixed a typo in the alias for the Vatican, reported (with patch)
+by Philip Newton.
+
+Added "Moldova" as an alias for "Moldova, Republic of"
+
+Updated Makefile.PL to include AUTHOR and ABSTRACT
+
+=head1 VERSION 2.02 (2002-03-09; neilb)
+
+Added semi-private routine rename_country() to Locale::Country,
+based on a patch from Iain Chalmers.
+
+Added test rename.t for the above function.
+
+Renamed _alias_code to be alias_code. Have retained the old
+name for backwards compatibility. Will remove it when the
+major version number next changes.
+
+=head1 VERSION 2.01 (2002-02-18; neilb)
+
+Split the documentation for all modules into separate pod files.
+
+Made sure all =over were =over 4; some were other values.
+
+The code2code() methods had one more shift than was needed.
+
+=head1 VERSION 2.00 (2002-02-17; neilb)
+
+Created Locale::Script which provides an interface to the ISO codes
+for identification of scripts (writing scripts, rather than perl style
+scripts). The codes are defined by ISO 15924, which is currently in
+final draft. Thanks to Jarkko for pointing out this new standard.
+All three code sets are supported, and a test-suite added.
+
+Added support for country name variants to Locale::Country,
+so that
+ country2code('USA')
+ country2code('United States')
+ country2code('United States of America')
+will all return 'us'. This had been in the LIMITATIONS section since
+the first version. Patch from TJ Mather with additional variants from
+me. Added test-cases for these.
+
+Added VERSION to Locale::Constants. Thanks to Jarkko for
+pointing that it was missing.
+
+Should really have bumped major version with previous release,
+since there was a change to the API.
+
+=head1 VERSION 1.06 (2001-03-04; neilb)
+
+Added Locale::Constants, which defines three symbols for identifying
+which codeset is being used:
+
+ LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+
+Updated Locale::Country to support all three code sets defined by ISO
+3166. This was requested by Keith Wall. I haven't added multiple
+codeset support to the other modules yet - I'll wait until someone
+asks for them.
+
+=head1 VERSION 1.05 (2001-02-13; neilb)
+
+Added Locale::Currency, contribution from Michael Hennecke.
+
+Added test suite for it (t/currency.t) and added test cases
+to t/all.t for the all_* functions.
+
+=head1 VERSION 1.04 (2000-12-21; neilb)
+
+Fixed very minor typos from 1.03!
+
+=head1 VERSION 1.03 (2000-12-??; neilb)
+
+Updated Locale::Country:
+ - fixed spelling of a few countries
+ - added link to a relevant page from CIA world factbook
+
+Updated Locale::Language:
+ - fixed typo in the documentation (ISO 939 should be 639)
+
+=head1 VERSION 1.02 (2000-05-04; neilb)
+
+Updated Locale::Country and Locale::Language to reflect changes in the
+relevant ISO standards. These mainly reflect languages which are new
+to the relevant standard, and changes in the spelling of some country
+names.
+
+Added official URLs for the standards to the SEE ALSO sections of the
+doc for each module.
+
+Thanks to Jarkko Hietaniemi for pointing me at the pages with latest
+versions of ISO 3166 and 639.
+
+=head1 VERSION 1.00 (1998-03-09; neilb)
+
+Added Locale::Country::_alias_code() so that 'uk' can be added as the
+code for "United Kingdom", if you want it. This was prompted by Ed
+Jordan.
+
+Added a new test suite for handling this case, and extended the
+existing test-suite to include testing of the case where 'uk' hasn't
+been defined as a valid code.
+
+=head1 VERSION 0.003 (1997-05-09; neilb)
+
+First public release to CPAN
+
+=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) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2014 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/Constants.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm
index 142318d4e87..d9977ff7197 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm
@@ -1,7 +1,7 @@
package Locale::Codes::Constants;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -17,12 +17,11 @@ require Exporter;
our($VERSION,@ISA,@EXPORT);
our(%ALL_CODESETS);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(LOCALE_CODE_ALPHA_2
LOCALE_CODE_ALPHA_3
LOCALE_CODE_NUMERIC
- LOCALE_CODE_FIPS
LOCALE_CODE_DOM
LOCALE_LANG_ALPHA_2
@@ -51,7 +50,6 @@ $VERSION='3.25';
use constant LOCALE_CODE_ALPHA_2 => 'alpha-2';
use constant LOCALE_CODE_ALPHA_3 => 'alpha-3';
use constant LOCALE_CODE_NUMERIC => 'numeric';
-use constant LOCALE_CODE_FIPS => 'fips-10';
use constant LOCALE_CODE_DOM => 'dom';
$ALL_CODESETS{'country'} = {
@@ -59,7 +57,6 @@ $ALL_CODESETS{'country'} = {
'codesets' => { 'alpha-2' => ['lc'],
'alpha-3' => ['lc'],
'numeric' => ['numeric',3],
- 'fips-10' => ['uc'],
'dom' => ['lc'],
}
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod
new file mode 100644
index 00000000000..04bc28da967
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod
@@ -0,0 +1,41 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Constants - constants for Locale codes
+
+=head1 DESCRIPTION
+
+B<Locale::Codes::Constants> defines symbols which are used in the other
+modules from the Locale-Codes distribution.
+
+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.
+
+The constants are documented in each of the Locale modules.
+
+=head1 KNOWN BUGS AND LIMITATIONS
+
+None known.
+
+=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) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2014 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
index 423c3ad5898..c4071cbbc11 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
@@ -1,7 +1,7 @@
package Locale::Codes::Country;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Locale::Codes::Country_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2country
country2code
@@ -32,7 +32,6 @@ $VERSION='3.25';
LOCALE_CODE_ALPHA_2
LOCALE_CODE_ALPHA_3
LOCALE_CODE_NUMERIC
- LOCALE_CODE_FIPS
LOCALE_CODE_DOM
);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod
new file mode 100644
index 00000000000..c9e9180cc77
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod
@@ -0,0 +1,206 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Country - standard codes for country identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Country;
+
+ $country = code2country('jp' [,CODESET]); # $country gets 'Japan'
+ $code = country2code('Norway' [,CODESET]); # $code gets 'no'
+
+ @codes = all_country_codes( [CODESET]);
+ @names = all_country_names();
+
+ # semi-private routines
+ Locale::Codes::Country::alias_code('uk' => 'gb');
+ Locale::Codes::Country::rename_country('gb' => 'Great Britain');
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Country> module provides access to several code sets
+that can be used for identifying countries, such as those defined in
+ISO 3166-1.
+
+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.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+countries. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $country = code2country('jp','alpha-2');
+ $country = code2country('jp',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_CODE_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 3166-1, such
+as 'tv' for Tuvalu.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_CODE_ALPHA_3>
+
+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 B<numeric, LOCALE_CODE_NUMERIC>
+
+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.
+
+If a 2-digit code is entered, it is converted to 3 digits by prepending
+a 0.
+
+=item B<dom, LOCALE_CODE_DOM>
+
+The IANA is responsible for delegating management of the top level country
+domains. The country domains are the two-letter (lowercase) codes from ISO 3166
+with a few other additions.
+
+=back
+
+NOTE: As of version 3.27, the FIPS code set is no longer supported. See the
+Locale::Codes::Changes document for details.
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2country ( CODE [,CODESET] )>
+
+=item B<country2code ( NAME [,CODESET] )>
+
+=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_country_codes ( [CODESET] )>
+
+=item B<all_country_names ( [CODESET] )>
+
+=item B<Locale::Codes::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Country::delete_country ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Country::delete_country_alias ( NAME )>
+
+=item B<Locale::Codes::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::delete_country_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=item B<alias_code ( ALIAS, CODE [,CODESET] )>
+
+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.
+
+The alias_code function is preserved for backwards compatibility, but
+the following two are identical:
+
+ alias_code(ALIAS,CODE [,CODESET]);
+ rename_country_code(CODE,ALIAS [,CODESET]);
+
+and the latter should be used for consistency.
+
+The alias_code function is deprecated and will be removed in the December
+2014 release.
+
+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.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<Locale::SubCountry>
+
+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://www.iso.org/iso/home/standards/country_codes.htm>
+
+Official home page for the ISO 3166 maintenance agency.
+
+=item B<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
+
+The source of ISO 3166-1 two-letter codes used by this
+module.
+
+=item B<http://www.iana.org/domains/root/db/>
+
+Official source of the top-level domain names.
+
+=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
+
+The source of the official ISO 3166-1 three-letter codes and
+three-digit codes.
+
+For some reason, this table is incomplete! Several countries are
+missing from it, and I cannot find them anywhere on the UN site. I
+no longer use this as a source of data.
+
+=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+
+The World Factbook maintained by the CIA is a potential source of
+the data. Unfortunately, it adds/preserves non-standard codes, so it is no
+longer used as a source of data.
+
+=item B<http://www.statoids.com/wab.html>
+
+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
+
+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-2014 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_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm
index 7bdf6e93fc6..f3fc8e51aeb 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Country_Codes;
+package #
+Locale::Codes::Country_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:03 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Country_Codes - country codes for the Locale::Codes::Country module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:43:45 EST 2014
use strict;
require 5.006;
@@ -38,9 +11,9 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
-$Locale::Codes::Data{'country'}{'id'} = '0294';
+$Locale::Codes::Data{'country'}{'id'} = '0252';
$Locale::Codes::Data{'country'}{'id2names'} = {
q(0001) => [
@@ -93,8 +66,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0017) => [
q(Bahamas),
- q(Bahamas, The),
q(The Bahamas),
+ q(Bahamas, The),
+ q(Bahamas (The)),
],
q(0018) => [
q(Bahrain),
@@ -126,10 +100,11 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(0027) => [
q(Bolivia, Plurinational State of),
q(Bolivia (Plurinational State of)),
+ q(Plurinational State of Bolivia),
q(Bolivia),
],
q(0028) => [
- q(Bonaire, Saint Eustatius and Saba),
+ q(Bonaire, Sint Eustatius and Saba),
],
q(0029) => [
q(Bosnia and Herzegovina),
@@ -145,6 +120,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0033) => [
q(British Indian Ocean Territory),
+ q(The British Indian Ocean Territory),
+ q(British Indian Ocean Territory, The),
+ q(British Indian Ocean Territory (The)),
],
q(0034) => [
q(Brunei Darussalam),
@@ -173,9 +151,15 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0042) => [
q(Cayman Islands),
+ q(The Cayman Islands),
+ q(Cayman Islands, The),
+ q(Cayman Islands (The)),
],
q(0043) => [
q(Central African Republic),
+ q(The Central African Republic),
+ q(Central African Republic, The),
+ q(Central African Republic (The)),
],
q(0044) => [
q(Chad),
@@ -191,8 +175,13 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0048) => [
q(Cocos (Keeling) Islands),
- q(Keeling Islands),
+ q(The Cocos (Keeling) Islands),
+ q(Cocos (Keeling) Islands, The),
+ q(Cocos (Keeling) Islands (The)),
q(Cocos Islands),
+ q(The Cocos Islands),
+ q(Keeling Islands),
+ q(The Keeling Islands),
],
q(0049) => [
q(Colombia),
@@ -202,18 +191,27 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0051) => [
q(Congo),
- q(Congo (Brazzaville)),
- q(Congo, Republic of the),
q(The Republic of the Congo),
+ q(Republic of the Congo),
+ q(Congo, The Republic of the),
+ q(Congo, Republic of the),
+ q(Congo-Brazzaville),
+ q(Congo (Brazzaville)),
],
q(0052) => [
+ q(Congo (The Democratic Republic of the)),
q(Congo, The Democratic Republic of the),
- q(Democratic Republic of the Congo),
q(Congo, Democratic Republic of the),
q(The Democratic Republic of the Congo),
+ q(Democratic Republic of the Congo),
+ q(Congo-Kinshasa),
+ q(Congo (Kinshasa)),
],
q(0053) => [
q(Cook Islands),
+ q(The Cook Islands),
+ q(Cook Islands, The),
+ q(Cook Islands (The)),
],
q(0054) => [
q(Costa Rica),
@@ -235,6 +233,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0060) => [
q(Czech Republic),
+ q(The Czech Republic),
+ q(Czech Republic, The),
+ q(Czech Republic (The)),
],
q(0061) => [
q(Denmark),
@@ -247,6 +248,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0064) => [
q(Dominican Republic),
+ q(The Dominican Republic),
+ q(Dominican Republic, The),
+ q(Dominican Republic (The)),
],
q(0065) => [
q(Ecuador),
@@ -270,12 +274,17 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Ethiopia),
],
q(0072) => [
+ q(Falkland Islands (The) [Malvinas]),
q(Falkland Islands (Malvinas)),
q(Falkland Islands (Islas Malvinas)),
],
q(0073) => [
q(Faroe Islands),
+ q(The Faroe Islands),
+ q(Faroe Islands, The),
+ q(Faroe Islands (The)),
q(Faeroe Islands),
+ q(The Faeroe Islands),
],
q(0074) => [
q(Fiji),
@@ -294,6 +303,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0079) => [
q(French Southern Territories),
+ q(The French Southern Territories),
+ q(French Southern Territories, The),
+ q(French Southern Territories (The)),
q(French Southern and Antarctic Lands),
],
q(0080) => [
@@ -301,7 +313,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0081) => [
q(Gambia),
+ q(The Gambia),
q(Gambia, The),
+ q(Gambia (The)),
],
q(0082) => [
q(Georgia),
@@ -349,13 +363,17 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Haiti),
],
q(0097) => [
- q(Heard Island and Mcdonald Islands),
+ q(Heard Island and McDonald Islands),
],
q(0098) => [
+ q(Holy See (The) [Vatican City State]),
q(Holy See (Vatican City State)),
+ q(Holy See (Vatican City)),
+ q(The Holy See),
q(Holy See),
+ q(Holy See (The)),
+ q(Holy See, The),
q(Vatican City),
- q(Holy See (Vatican City)),
],
q(0099) => [
q(Honduras),
@@ -379,8 +397,12 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Indonesia),
],
q(0105) => [
+ q(Iran, The Islamic Republic of),
+ q(Iran (The Islamic Republic of)),
q(Iran, Islamic Republic of),
q(Iran (Islamic Republic of)),
+ q(The Islamic Republic of Iran),
+ q(Islamic Republic of Iran),
q(Iran),
],
q(0106) => [
@@ -421,12 +443,20 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Kiribati),
],
q(0118) => [
+ q(Korea, The Democratic People's Republic of),
+ q(Korea (The Democratic People's Republic of)),
q(Korea, Democratic People's Republic of),
+ q(Korea (Democratic People's Republic of)),
+ q(The Democratic People's Republic of Korea),
q(Democratic People's Republic of Korea),
q(North Korea),
],
q(0119) => [
+ q(Korea, The Republic of),
+ q(Korea (The Republic of)),
q(Korea, Republic of),
+ q(Korea (Republic of)),
+ q(The Republic of Korea),
q(Republic of Korea),
q(South Korea),
],
@@ -438,6 +468,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0122) => [
q(Lao People's Democratic Republic),
+ q(The Lao People's Democratic Republic),
+ q(Lao People's Democratic Republic, The),
+ q(Lao People's Democratic Republic (The)),
],
q(0123) => [
q(Latvia),
@@ -466,16 +499,19 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(0131) => [
q(Macao),
q(China, Macao Special Administrative Region),
- q(Macau),
+ q(Macao Special Administrative Region of China),
q(Macau S.A.R),
q(Macau S.A.R.),
- q(Macao Special Administrative Region of China),
+ q(Macau),
],
q(0132) => [
- q(Macedonia, The Former Yugoslav Republic of),
+ q(Macedonia, The former Yugoslav Republic of),
+ q(Macedonia (The former Yugoslav Republic of)),
+ q(Macedonia, former Yugoslav Republic of),
+ q(Macedonia (former Yugoslav Republic of)),
q(The former Yugoslav Republic of Macedonia),
+ q(former Yugoslav Republic of Macedonia),
q(Macedonia),
- q(Macedonia, Former Yugoslav Republic of),
],
q(0133) => [
q(Madagascar),
@@ -497,6 +533,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0139) => [
q(Marshall Islands),
+ q(The Marshall Islands),
+ q(Marshall Islands, The),
+ q(Marshall Islands (The)),
],
q(0140) => [
q(Martinique),
@@ -514,12 +553,19 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Mexico),
],
q(0145) => [
+ q(Micronesia, The Federated States of),
+ q(Micronesia (The Federated States of)),
q(Micronesia, Federated States of),
q(Micronesia (Federated States of)),
+ q(The Federated States of Micronesia),
q(Federated States of Micronesia),
],
q(0146) => [
+ q(Moldova, The Republic of),
+ q(Moldova (The Republic of)),
q(Moldova, Republic of),
+ q(Moldova (Republic of)),
+ q(The Republic of Moldova),
q(Republic of Moldova),
],
q(0147) => [
@@ -542,6 +588,8 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0153) => [
q(Myanmar),
+ q(The Republic of the Union of Myanmar),
+ q(Republic of the Union of Myanmar),
q(Burma),
],
q(0154) => [
@@ -555,6 +603,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0157) => [
q(Netherlands),
+ q(The Netherlands),
+ q(Netherlands, The),
+ q(Netherlands (The)),
],
q(0158) => [
q(New Caledonia),
@@ -567,6 +618,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0161) => [
q(Niger),
+ q(The Niger),
+ q(Niger, The),
+ q(Niger (The)),
],
q(0162) => [
q(Nigeria),
@@ -579,6 +633,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0165) => [
q(Northern Mariana Islands),
+ q(The Northern Mariana Islands),
+ q(Northern Mariana Islands, The),
+ q(Northern Mariana Islands (The)),
],
q(0166) => [
q(Norway),
@@ -594,6 +651,7 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0170) => [
q(Palestine, State of),
+ q(Palestine (State of)),
q(State of Palestine),
],
q(0171) => [
@@ -610,11 +668,14 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0175) => [
q(Philippines),
+ q(The Philippines),
+ q(Philippines, The),
+ q(Philippines (The)),
],
q(0176) => [
q(Pitcairn),
- q(Pitcairn Islands),
q(Pitcairn Island),
+ q(Pitcairn Islands),
],
q(0177) => [
q(Poland),
@@ -636,6 +697,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0183) => [
q(Russian Federation),
+ q(The Russian Federation),
+ q(Russian Federation, The),
+ q(Russian Federation (The)),
],
q(0184) => [
q(Rwanda),
@@ -656,8 +720,8 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0189) => [
q(Saint Martin (French part)),
- q(Saint-Martin (French part)),
q(Saint Martin),
+ q(Saint-Martin (French part)),
q(Saint-Martin),
],
q(0190) => [
@@ -704,6 +768,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0204) => [
q(Solomon Islands),
+ q(The Solomon Islands),
+ q(Solomon Islands, The),
+ q(Solomon Islands (The)),
],
q(0205) => [
q(Somalia),
@@ -726,6 +793,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0211) => [
q(Sudan),
+ q(The Sudan),
+ q(Sudan, The),
+ q(Sudan (The)),
],
q(0212) => [
q(Suriname),
@@ -745,18 +815,22 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0217) => [
q(Syrian Arab Republic),
+ q(The Syrian Arab Republic),
+ q(Syrian Arab Republic, The),
+ q(Syrian Arab Republic (The)),
q(Syria),
- q(Golan Heights (Israeli-occupied)),
],
q(0218) => [
- q(Taiwan, Province of China),
+ q(Taiwan (Province of China)),
q(Taiwan),
+ q(Taiwan, Province of China),
],
q(0219) => [
q(Tajikistan),
],
q(0220) => [
q(Tanzania, United Republic of),
+ q(Tanzania (United Republic of)),
q(United Republic of Tanzania),
],
q(0221) => [
@@ -765,6 +839,12 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(0222) => [
q(Timor-Leste),
q(East Timor),
+ q(The Democratic Republic of Timor-Leste),
+ q(Democratic Republic of Timor-Leste),
+ q(Timor-Leste, The Democratic Republic of),
+ q(Timor-Leste, Democratic Republic of),
+ q(Timor-Leste (The Democratic Republic of)),
+ q(Timor-Leste (Democratic Republic of)),
],
q(0223) => [
q(Togo),
@@ -789,6 +869,9 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0230) => [
q(Turks and Caicos Islands),
+ q(The Turks and Caicos Islands),
+ q(Turks and Caicos Islands, The),
+ q(Turks and Caicos Islands (The)),
],
q(0231) => [
q(Tuvalu),
@@ -801,21 +884,34 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
],
q(0234) => [
q(United Arab Emirates),
+ q(The United Arab Emirates),
+ q(United Arab Emirates, The),
+ q(United Arab Emirates (The)),
],
q(0235) => [
q(United Kingdom),
- q(United Kingdom of Great Britain and Northern Ireland),
+ q(The United Kingdom),
+ q(United Kingdom, The),
+ q(United Kingdom (The)),
q(Great Britain),
+ q(United Kingdom of Great Britain and Northern Ireland),
q(UK),
],
q(0236) => [
q(United States),
- q(United States of America),
+ q(The United States),
+ q(United States, The),
+ q(United States (The)),
q(US),
q(USA),
+ q(United States of America),
+ q(The United States of America),
],
q(0237) => [
q(United States Minor Outlying Islands),
+ q(The United States Minor Outlying Islands),
+ q(United States Minor Outlying Islands, The),
+ q(United States Minor Outlying Islands (The)),
],
q(0238) => [
q(Uruguay),
@@ -827,171 +923,59 @@ $Locale::Codes::Data{'country'}{'id2names'} = {
q(Vanuatu),
],
q(0241) => [
- q(Venezuela, Bolivarian Republic of),
- q(Venezuela (Bolivarian Republic of)),
- q(Venezuela),
+ q(Venezuela, Bolivarian Republic of ),
],
q(0242) => [
q(Viet Nam),
q(Vietnam),
],
q(0243) => [
- q(Virgin Islands, British),
+ q(Virgin Islands (British)),
q(British Virgin Islands),
+ q(Virgin Islands, British),
q(Virgin Islands (UK)),
],
q(0244) => [
- q(Virgin Islands, U.S.),
+ q(Virgin Islands (U.S.)),
q(United States Virgin Islands),
q(Virgin Islands (US)),
+ q(Virgin Islands, U.S.),
q(Virgin Islands),
],
q(0245) => [
q(Wallis and Futuna),
q(Wallis and Futuna Islands),
+ q(The Territory of the Wallis and Futuna Islands),
+ q(Territory of the Wallis and Futuna Islands),
],
q(0246) => [
q(Western Sahara),
],
q(0247) => [
q(Yemen),
+ q(The Yemeni Republic),
+ q(Yemeni Republic),
+ q(Yemeni Republic, The),
+ q(Yemeni Republic (The)),
],
q(0248) => [
q(Zambia),
+ q(The Republic of Zambia),
+ q(Republic of Zambia),
+ q(Republic of Zambia, The),
+ q(Republic of Zambia (The)),
],
q(0249) => [
q(Zimbabwe),
+ q(The Republic of Zimbabwe),
+ q(Republic of Zimbabwe),
+ q(Republic of Zimbabwe, The),
+ q(Republic of Zimbabwe (The)),
],
q(0250) => [
- q(Channel Islands),
- ],
- q(0251) => [
- q(Sark),
- ],
- q(0252) => [
- q(Akrotiri),
- ],
- q(0253) => [
- q(Ashmore and Cartier Islands),
- ],
- q(0254) => [
- q(Baker Island),
- ],
- q(0255) => [
- q(Bassas da India),
- ],
- q(0256) => [
- q(Clipperton Island),
- ],
- q(0257) => [
- q(Congo (Kinshasa)),
- ],
- q(0258) => [
- q(Coral Sea Islands),
- ],
- q(0259) => [
- q(Dhekelia),
- ],
- q(0260) => [
- q(Etorofu, Habomai, Kunashiri, and Shikotan Islands),
- ],
- q(0261) => [
- q(Europa Island),
- ],
- q(0262) => [
- q(Gaza Strip),
- ],
- q(0263) => [
- q(Glorioso Islands),
- ],
- q(0264) => [
- q(Heard Island and McDonald Islands),
- ],
- q(0265) => [
- q(Howland Island),
- ],
- q(0266) => [
- q(Jan Mayen),
- ],
- q(0267) => [
- q(Jarvis Island),
- ],
- q(0268) => [
- q(Johnston Atoll),
- ],
- q(0269) => [
- q(Juan de Nova Island),
- ],
- q(0270) => [
- q(Kingman Reef),
- ],
- q(0271) => [
- q(Korea, North),
- ],
- q(0272) => [
- q(Korea, South),
- ],
- q(0273) => [
- q(Kosovo),
- ],
- q(0274) => [
- q(Laos),
- ],
- q(0275) => [
- q(Midway Islands),
- ],
- q(0276) => [
- q(Moldova),
- ],
- q(0277) => [
- q(Navassa Island),
- ],
- q(0278) => [
- q(Palmyra Atoll),
- ],
- q(0279) => [
- q(Paracel Islands),
- ],
- q(0280) => [
- q(Russia),
- ],
- q(0281) => [
- q(Saint Helena, Ascension, and Tristan da Cunha),
- ],
- q(0282) => [
- q(Sint Maarten),
- ],
- q(0283) => [
- q(South Georgia and South Sandwich Islands),
- ],
- q(0284) => [
- q(Spratly Islands),
- ],
- q(0285) => [
- q(Svalbard),
- ],
- q(0286) => [
- q(Tanzania),
- ],
- q(0287) => [
- q(Tromelin Island),
- ],
- q(0288) => [
- q(Wake Island),
- ],
- q(0289) => [
- q(West Bank),
- ],
- q(0290) => [
- q(Ascension Island),
- ],
- q(0291) => [
q(Netherlands Antilles),
],
- q(0292) => [
- q(European Union),
- ],
- q(0293) => [
+ q(0251) => [
q(USSR),
],
};
@@ -1001,10 +985,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0001),
q(0),
],
- q(akrotiri) => [
- q(0252),
- q(0),
- ],
q(aland islands) => [
q(0002),
q(0),
@@ -1053,14 +1033,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0013),
q(0),
],
- q(ascension island) => [
- q(0290),
- q(0),
- ],
- q(ashmore and cartier islands) => [
- q(0253),
- q(0),
- ],
q(australia) => [
q(0014),
q(0),
@@ -1077,18 +1049,18 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0017),
q(0),
],
+ q(bahamas (the)) => [
+ q(0017),
+ q(3),
+ ],
q(bahamas, the) => [
q(0017),
- q(1),
+ q(2),
],
q(bahrain) => [
q(0018),
q(0),
],
- q(baker island) => [
- q(0254),
- q(0),
- ],
q(bangladesh) => [
q(0019),
q(0),
@@ -1097,10 +1069,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0020),
q(0),
],
- q(bassas da india) => [
- q(0255),
- q(0),
- ],
q(belarus) => [
q(0021),
q(0),
@@ -1127,7 +1095,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(bolivia) => [
q(0027),
- q(2),
+ q(3),
],
q(bolivia (plurinational state of)) => [
q(0027),
@@ -1137,7 +1105,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0027),
q(0),
],
- q(bonaire, saint eustatius and saba) => [
+ q(bonaire, sint eustatius and saba) => [
q(0028),
q(0),
],
@@ -1161,6 +1129,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0033),
q(0),
],
+ q(british indian ocean territory (the)) => [
+ q(0033),
+ q(3),
+ ],
+ q(british indian ocean territory, the) => [
+ q(0033),
+ q(2),
+ ],
q(british virgin islands) => [
q(0243),
q(1),
@@ -1183,7 +1159,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(burma) => [
q(0153),
- q(1),
+ q(3),
],
q(burundi) => [
q(0037),
@@ -1209,18 +1185,30 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0042),
q(0),
],
+ q(cayman islands (the)) => [
+ q(0042),
+ q(3),
+ ],
+ q(cayman islands, the) => [
+ q(0042),
+ q(2),
+ ],
q(central african republic) => [
q(0043),
q(0),
],
+ q(central african republic (the)) => [
+ q(0043),
+ q(3),
+ ],
+ q(central african republic, the) => [
+ q(0043),
+ q(2),
+ ],
q(chad) => [
q(0044),
q(0),
],
- q(channel islands) => [
- q(0250),
- q(0),
- ],
q(chile) => [
q(0045),
q(0),
@@ -1241,18 +1229,22 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0047),
q(0),
],
- q(clipperton island) => [
- q(0256),
- q(0),
- ],
q(cocos (keeling) islands) => [
q(0048),
q(0),
],
- q(cocos islands) => [
+ q(cocos (keeling) islands (the)) => [
+ q(0048),
+ q(3),
+ ],
+ q(cocos (keeling) islands, the) => [
q(0048),
q(2),
],
+ q(cocos islands) => [
+ q(0048),
+ q(4),
+ ],
q(colombia) => [
q(0049),
q(0),
@@ -1267,10 +1259,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(congo (brazzaville)) => [
q(0051),
- q(1),
+ q(6),
],
q(congo (kinshasa)) => [
- q(0257),
+ q(0052),
+ q(6),
+ ],
+ q(congo (the democratic republic of the)) => [
+ q(0052),
q(0),
],
q(congo, democratic republic of the) => [
@@ -1279,19 +1275,35 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(congo, republic of the) => [
q(0051),
- q(2),
+ q(4),
],
q(congo, the democratic republic of the) => [
q(0052),
- q(0),
+ q(1),
+ ],
+ q(congo, the republic of the) => [
+ q(0051),
+ q(3),
+ ],
+ q(congo-brazzaville) => [
+ q(0051),
+ q(5),
+ ],
+ q(congo-kinshasa) => [
+ q(0052),
+ q(5),
],
q(cook islands) => [
q(0053),
q(0),
],
- q(coral sea islands) => [
- q(0258),
- q(0),
+ q(cook islands (the)) => [
+ q(0053),
+ q(3),
+ ],
+ q(cook islands, the) => [
+ q(0053),
+ q(2),
],
q(costa rica) => [
q(0054),
@@ -1321,22 +1333,30 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0060),
q(0),
],
+ q(czech republic (the)) => [
+ q(0060),
+ q(3),
+ ],
+ q(czech republic, the) => [
+ q(0060),
+ q(2),
+ ],
q(democratic people's republic of korea) => [
q(0118),
- q(1),
+ q(5),
],
q(democratic republic of the congo) => [
q(0052),
- q(1),
+ q(4),
+ ],
+ q(democratic republic of timor-leste) => [
+ q(0222),
+ q(3),
],
q(denmark) => [
q(0061),
q(0),
],
- q(dhekelia) => [
- q(0259),
- q(0),
- ],
q(djibouti) => [
q(0062),
q(0),
@@ -1349,6 +1369,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0064),
q(0),
],
+ q(dominican republic (the)) => [
+ q(0064),
+ q(3),
+ ],
+ q(dominican republic, the) => [
+ q(0064),
+ q(2),
+ ],
q(east timor) => [
q(0222),
q(1),
@@ -1381,37 +1409,37 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0071),
q(0),
],
- q(etorofu, habomai, kunashiri, and shikotan islands) => [
- q(0260),
- q(0),
- ],
- q(europa island) => [
- q(0261),
- q(0),
- ],
- q(european union) => [
- q(0292),
- q(0),
- ],
q(faeroe islands) => [
q(0073),
- q(1),
+ q(4),
],
q(falkland islands (islas malvinas)) => [
q(0072),
- q(1),
+ q(2),
],
q(falkland islands (malvinas)) => [
q(0072),
+ q(1),
+ ],
+ q(falkland islands (the) [malvinas]) => [
+ q(0072),
q(0),
],
q(faroe islands) => [
q(0073),
q(0),
],
+ q(faroe islands (the)) => [
+ q(0073),
+ q(3),
+ ],
+ q(faroe islands, the) => [
+ q(0073),
+ q(2),
+ ],
q(federated states of micronesia) => [
q(0145),
- q(2),
+ q(5),
],
q(fiji) => [
q(0074),
@@ -1421,6 +1449,10 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0075),
q(0),
],
+ q(former yugoslav republic of macedonia) => [
+ q(0132),
+ q(5),
+ ],
q(france) => [
q(0076),
q(0),
@@ -1435,12 +1467,20 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(french southern and antarctic lands) => [
q(0079),
- q(1),
+ q(4),
],
q(french southern territories) => [
q(0079),
q(0),
],
+ q(french southern territories (the)) => [
+ q(0079),
+ q(3),
+ ],
+ q(french southern territories, the) => [
+ q(0079),
+ q(2),
+ ],
q(gabon) => [
q(0080),
q(0),
@@ -1449,13 +1489,13 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0081),
q(0),
],
- q(gambia, the) => [
+ q(gambia (the)) => [
q(0081),
- q(1),
+ q(3),
],
- q(gaza strip) => [
- q(0262),
- q(0),
+ q(gambia, the) => [
+ q(0081),
+ q(2),
],
q(georgia) => [
q(0082),
@@ -1473,17 +1513,9 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0085),
q(0),
],
- q(glorioso islands) => [
- q(0263),
- q(0),
- ],
- q(golan heights (israeli-occupied)) => [
- q(0217),
- q(2),
- ],
q(great britain) => [
q(0235),
- q(2),
+ q(4),
],
q(greece) => [
q(0086),
@@ -1529,25 +1561,33 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0096),
q(0),
],
- q(heard island and mcdonald islands) => [
- q(0264),
- q(0),
- ],
q(heard island and mcdonald islands) => [
q(0097),
q(0),
],
q(holy see) => [
q(0098),
- q(1),
+ q(4),
],
- q(holy see (vatican city state)) => [
+ q(holy see (the)) => [
+ q(0098),
+ q(5),
+ ],
+ q(holy see (the) [vatican city state]) => [
q(0098),
q(0),
],
+ q(holy see (vatican city state)) => [
+ q(0098),
+ q(1),
+ ],
q(holy see (vatican city)) => [
q(0098),
- q(3),
+ q(2),
+ ],
+ q(holy see, the) => [
+ q(0098),
+ q(6),
],
q(honduras) => [
q(0099),
@@ -1565,10 +1605,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0100),
q(3),
],
- q(howland island) => [
- q(0265),
- q(0),
- ],
q(hungary) => [
q(0101),
q(0),
@@ -1587,14 +1623,22 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(iran) => [
q(0105),
- q(2),
+ q(6),
],
q(iran (islamic republic of)) => [
q(0105),
+ q(3),
+ ],
+ q(iran (the islamic republic of)) => [
+ q(0105),
q(1),
],
q(iran, islamic republic of) => [
q(0105),
+ q(2),
+ ],
+ q(iran, the islamic republic of) => [
+ q(0105),
q(0),
],
q(iraq) => [
@@ -1605,6 +1649,10 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0107),
q(0),
],
+ q(islamic republic of iran) => [
+ q(0105),
+ q(5),
+ ],
q(isle of man) => [
q(0108),
q(0),
@@ -1621,34 +1669,18 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0111),
q(0),
],
- q(jan mayen) => [
- q(0266),
- q(0),
- ],
q(japan) => [
q(0112),
q(0),
],
- q(jarvis island) => [
- q(0267),
- q(0),
- ],
q(jersey) => [
q(0113),
q(0),
],
- q(johnston atoll) => [
- q(0268),
- q(0),
- ],
q(jordan) => [
q(0114),
q(0),
],
- q(juan de nova island) => [
- q(0269),
- q(0),
- ],
q(kazakhstan) => [
q(0115),
q(0),
@@ -1659,38 +1691,46 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(keeling islands) => [
q(0048),
- q(1),
+ q(6),
],
q(kenya) => [
q(0116),
q(0),
],
- q(kingman reef) => [
- q(0270),
- q(0),
- ],
q(kiribati) => [
q(0117),
q(0),
],
- q(korea, democratic people's republic of) => [
+ q(korea (democratic people's republic of)) => [
q(0118),
- q(0),
+ q(3),
],
- q(korea, north) => [
- q(0271),
- q(0),
+ q(korea (republic of)) => [
+ q(0119),
+ q(3),
+ ],
+ q(korea (the democratic people's republic of)) => [
+ q(0118),
+ q(1),
+ ],
+ q(korea (the republic of)) => [
+ q(0119),
+ q(1),
+ ],
+ q(korea, democratic people's republic of) => [
+ q(0118),
+ q(2),
],
q(korea, republic of) => [
q(0119),
- q(0),
+ q(2),
],
- q(korea, south) => [
- q(0272),
+ q(korea, the democratic people's republic of) => [
+ q(0118),
q(0),
],
- q(kosovo) => [
- q(0273),
+ q(korea, the republic of) => [
+ q(0119),
q(0),
],
q(kuwait) => [
@@ -1705,9 +1745,13 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0122),
q(0),
],
- q(laos) => [
- q(0274),
- q(0),
+ q(lao people's democratic republic (the)) => [
+ q(0122),
+ q(3),
+ ],
+ q(lao people's democratic republic, the) => [
+ q(0122),
+ q(2),
],
q(latvia) => [
q(0123),
@@ -1747,11 +1791,11 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(macao special administrative region of china) => [
q(0131),
- q(5),
+ q(2),
],
q(macau) => [
q(0131),
- q(2),
+ q(5),
],
q(macau s.a.r) => [
q(0131),
@@ -1763,12 +1807,20 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(macedonia) => [
q(0132),
- q(2),
+ q(6),
],
- q(macedonia, former yugoslav republic of) => [
+ q(macedonia (former yugoslav republic of)) => [
q(0132),
q(3),
],
+ q(macedonia (the former yugoslav republic of)) => [
+ q(0132),
+ q(1),
+ ],
+ q(macedonia, former yugoslav republic of) => [
+ q(0132),
+ q(2),
+ ],
q(macedonia, the former yugoslav republic of) => [
q(0132),
q(0),
@@ -1801,6 +1853,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0139),
q(0),
],
+ q(marshall islands (the)) => [
+ q(0139),
+ q(3),
+ ],
+ q(marshall islands, the) => [
+ q(0139),
+ q(2),
+ ],
q(martinique) => [
q(0140),
q(0),
@@ -1823,22 +1883,34 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(micronesia (federated states of)) => [
q(0145),
+ q(3),
+ ],
+ q(micronesia (the federated states of)) => [
+ q(0145),
q(1),
],
q(micronesia, federated states of) => [
q(0145),
- q(0),
+ q(2),
],
- q(midway islands) => [
- q(0275),
+ q(micronesia, the federated states of) => [
+ q(0145),
q(0),
],
- q(moldova) => [
- q(0276),
- q(0),
+ q(moldova (republic of)) => [
+ q(0146),
+ q(3),
+ ],
+ q(moldova (the republic of)) => [
+ q(0146),
+ q(1),
],
q(moldova, republic of) => [
q(0146),
+ q(2),
+ ],
+ q(moldova, the republic of) => [
+ q(0146),
q(0),
],
q(monaco) => [
@@ -1877,10 +1949,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0155),
q(0),
],
- q(navassa island) => [
- q(0277),
- q(0),
- ],
q(nepal) => [
q(0156),
q(0),
@@ -1889,10 +1957,18 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0157),
q(0),
],
+ q(netherlands (the)) => [
+ q(0157),
+ q(3),
+ ],
q(netherlands antilles) => [
- q(0291),
+ q(0250),
q(0),
],
+ q(netherlands, the) => [
+ q(0157),
+ q(2),
+ ],
q(new caledonia) => [
q(0158),
q(0),
@@ -1909,6 +1985,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0161),
q(0),
],
+ q(niger (the)) => [
+ q(0161),
+ q(3),
+ ],
+ q(niger, the) => [
+ q(0161),
+ q(2),
+ ],
q(nigeria) => [
q(0162),
q(0),
@@ -1923,12 +2007,20 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(north korea) => [
q(0118),
- q(2),
+ q(6),
],
q(northern mariana islands) => [
q(0165),
q(0),
],
+ q(northern mariana islands (the)) => [
+ q(0165),
+ q(3),
+ ],
+ q(northern mariana islands, the) => [
+ q(0165),
+ q(2),
+ ],
q(norway) => [
q(0166),
q(0),
@@ -1945,12 +2037,12 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0169),
q(0),
],
- q(palestine, state of) => [
+ q(palestine (state of)) => [
q(0170),
- q(0),
+ q(1),
],
- q(palmyra atoll) => [
- q(0278),
+ q(palestine, state of) => [
+ q(0170),
q(0),
],
q(panama) => [
@@ -1961,10 +2053,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0172),
q(0),
],
- q(paracel islands) => [
- q(0279),
- q(0),
- ],
q(paraguay) => [
q(0173),
q(0),
@@ -1977,17 +2065,29 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0175),
q(0),
],
+ q(philippines (the)) => [
+ q(0175),
+ q(3),
+ ],
+ q(philippines, the) => [
+ q(0175),
+ q(2),
+ ],
q(pitcairn) => [
q(0176),
q(0),
],
q(pitcairn island) => [
q(0176),
- q(2),
+ q(1),
],
q(pitcairn islands) => [
q(0176),
- q(1),
+ q(2),
+ ],
+ q(plurinational state of bolivia) => [
+ q(0027),
+ q(2),
],
q(poland) => [
q(0177),
@@ -2007,11 +2107,43 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(republic of korea) => [
q(0119),
- q(1),
+ q(5),
],
q(republic of moldova) => [
q(0146),
- q(1),
+ q(5),
+ ],
+ q(republic of the congo) => [
+ q(0051),
+ q(2),
+ ],
+ q(republic of the union of myanmar) => [
+ q(0153),
+ q(2),
+ ],
+ q(republic of zambia) => [
+ q(0248),
+ q(2),
+ ],
+ q(republic of zambia (the)) => [
+ q(0248),
+ q(4),
+ ],
+ q(republic of zambia, the) => [
+ q(0248),
+ q(3),
+ ],
+ q(republic of zimbabwe) => [
+ q(0249),
+ q(2),
+ ],
+ q(republic of zimbabwe (the)) => [
+ q(0249),
+ q(4),
+ ],
+ q(republic of zimbabwe, the) => [
+ q(0249),
+ q(3),
],
q(reunion) => [
q(0181),
@@ -2021,14 +2153,18 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0182),
q(0),
],
- q(russia) => [
- q(0280),
- q(0),
- ],
q(russian federation) => [
q(0183),
q(0),
],
+ q(russian federation (the)) => [
+ q(0183),
+ q(3),
+ ],
+ q(russian federation, the) => [
+ q(0183),
+ q(2),
+ ],
q(rwanda) => [
q(0184),
q(0),
@@ -2045,10 +2181,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0186),
q(0),
],
- q(saint helena, ascension, and tristan da cunha) => [
- q(0281),
- q(0),
- ],
q(saint kitts and nevis) => [
q(0187),
q(0),
@@ -2059,7 +2191,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(saint martin) => [
q(0189),
- q(2),
+ q(1),
],
q(saint martin (french part)) => [
q(0189),
@@ -2083,7 +2215,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(saint-martin (french part)) => [
q(0189),
- q(1),
+ q(2),
],
q(samoa) => [
q(0192),
@@ -2097,10 +2229,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0194),
q(0),
],
- q(sark) => [
- q(0251),
- q(0),
- ],
q(saudi arabia) => [
q(0195),
q(0),
@@ -2125,10 +2253,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0200),
q(0),
],
- q(sint maarten) => [
- q(0282),
- q(0),
- ],
q(sint maarten (dutch part)) => [
q(0201),
q(0),
@@ -2145,6 +2269,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0204),
q(0),
],
+ q(solomon islands (the)) => [
+ q(0204),
+ q(3),
+ ],
+ q(solomon islands, the) => [
+ q(0204),
+ q(2),
+ ],
q(somalia) => [
q(0205),
q(0),
@@ -2153,10 +2285,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0206),
q(0),
],
- q(south georgia and south sandwich islands) => [
- q(0283),
- q(0),
- ],
q(south georgia and the islands) => [
q(0207),
q(1),
@@ -2167,7 +2295,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(south korea) => [
q(0119),
- q(2),
+ q(6),
],
q(south sudan) => [
q(0208),
@@ -2177,30 +2305,30 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0209),
q(0),
],
- q(spratly islands) => [
- q(0284),
- q(0),
- ],
q(sri lanka) => [
q(0210),
q(0),
],
q(state of palestine) => [
q(0170),
- q(1),
+ q(2),
],
q(sudan) => [
q(0211),
q(0),
],
+ q(sudan (the)) => [
+ q(0211),
+ q(3),
+ ],
+ q(sudan, the) => [
+ q(0211),
+ q(2),
+ ],
q(suriname) => [
q(0212),
q(0),
],
- q(svalbard) => [
- q(0285),
- q(0),
- ],
q(svalbard and jan mayen) => [
q(0213),
q(0),
@@ -2223,56 +2351,252 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(syria) => [
q(0217),
- q(1),
+ q(4),
],
q(syrian arab republic) => [
q(0217),
q(0),
],
+ q(syrian arab republic (the)) => [
+ q(0217),
+ q(3),
+ ],
+ q(syrian arab republic, the) => [
+ q(0217),
+ q(2),
+ ],
q(taiwan) => [
q(0218),
q(1),
],
- q(taiwan, province of china) => [
+ q(taiwan (province of china)) => [
q(0218),
q(0),
],
+ q(taiwan, province of china) => [
+ q(0218),
+ q(2),
+ ],
q(tajikistan) => [
q(0219),
q(0),
],
- q(tanzania) => [
- q(0286),
- q(0),
+ q(tanzania (united republic of)) => [
+ q(0220),
+ q(1),
],
q(tanzania, united republic of) => [
q(0220),
q(0),
],
+ q(territory of the wallis and futuna islands) => [
+ q(0245),
+ q(3),
+ ],
q(thailand) => [
q(0221),
q(0),
],
q(the bahamas) => [
q(0017),
- q(2),
+ q(1),
+ ],
+ q(the british indian ocean territory) => [
+ q(0033),
+ q(1),
+ ],
+ q(the cayman islands) => [
+ q(0042),
+ q(1),
+ ],
+ q(the central african republic) => [
+ q(0043),
+ q(1),
+ ],
+ q(the cocos (keeling) islands) => [
+ q(0048),
+ q(1),
+ ],
+ q(the cocos islands) => [
+ q(0048),
+ q(5),
+ ],
+ q(the cook islands) => [
+ q(0053),
+ q(1),
+ ],
+ q(the czech republic) => [
+ q(0060),
+ q(1),
+ ],
+ q(the democratic people's republic of korea) => [
+ q(0118),
+ q(4),
],
q(the democratic republic of the congo) => [
q(0052),
q(3),
],
+ q(the democratic republic of timor-leste) => [
+ q(0222),
+ q(2),
+ ],
+ q(the dominican republic) => [
+ q(0064),
+ q(1),
+ ],
+ q(the faeroe islands) => [
+ q(0073),
+ q(5),
+ ],
+ q(the faroe islands) => [
+ q(0073),
+ q(1),
+ ],
+ q(the federated states of micronesia) => [
+ q(0145),
+ q(4),
+ ],
q(the former yugoslav republic of macedonia) => [
q(0132),
+ q(4),
+ ],
+ q(the french southern territories) => [
+ q(0079),
+ q(1),
+ ],
+ q(the gambia) => [
+ q(0081),
q(1),
],
+ q(the holy see) => [
+ q(0098),
+ q(3),
+ ],
+ q(the islamic republic of iran) => [
+ q(0105),
+ q(4),
+ ],
+ q(the keeling islands) => [
+ q(0048),
+ q(7),
+ ],
+ q(the lao people's democratic republic) => [
+ q(0122),
+ q(1),
+ ],
+ q(the marshall islands) => [
+ q(0139),
+ q(1),
+ ],
+ q(the netherlands) => [
+ q(0157),
+ q(1),
+ ],
+ q(the niger) => [
+ q(0161),
+ q(1),
+ ],
+ q(the northern mariana islands) => [
+ q(0165),
+ q(1),
+ ],
+ q(the philippines) => [
+ q(0175),
+ q(1),
+ ],
+ q(the republic of korea) => [
+ q(0119),
+ q(4),
+ ],
+ q(the republic of moldova) => [
+ q(0146),
+ q(4),
+ ],
q(the republic of the congo) => [
q(0051),
- q(3),
+ q(1),
+ ],
+ q(the republic of the union of myanmar) => [
+ q(0153),
+ q(1),
+ ],
+ q(the republic of zambia) => [
+ q(0248),
+ q(1),
+ ],
+ q(the republic of zimbabwe) => [
+ q(0249),
+ q(1),
+ ],
+ q(the russian federation) => [
+ q(0183),
+ q(1),
+ ],
+ q(the solomon islands) => [
+ q(0204),
+ q(1),
+ ],
+ q(the sudan) => [
+ q(0211),
+ q(1),
+ ],
+ q(the syrian arab republic) => [
+ q(0217),
+ q(1),
+ ],
+ q(the territory of the wallis and futuna islands) => [
+ q(0245),
+ q(2),
+ ],
+ q(the turks and caicos islands) => [
+ q(0230),
+ q(1),
+ ],
+ q(the united arab emirates) => [
+ q(0234),
+ q(1),
+ ],
+ q(the united kingdom) => [
+ q(0235),
+ q(1),
+ ],
+ q(the united states) => [
+ q(0236),
+ q(1),
+ ],
+ q(the united states minor outlying islands) => [
+ q(0237),
+ q(1),
+ ],
+ q(the united states of america) => [
+ q(0236),
+ q(7),
+ ],
+ q(the yemeni republic) => [
+ q(0247),
+ q(1),
],
q(timor-leste) => [
q(0222),
q(0),
],
+ q(timor-leste (democratic republic of)) => [
+ q(0222),
+ q(7),
+ ],
+ q(timor-leste (the democratic republic of)) => [
+ q(0222),
+ q(6),
+ ],
+ q(timor-leste, democratic republic of) => [
+ q(0222),
+ q(5),
+ ],
+ q(timor-leste, the democratic republic of) => [
+ q(0222),
+ q(4),
+ ],
q(togo) => [
q(0223),
q(0),
@@ -2289,10 +2613,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0226),
q(0),
],
- q(tromelin island) => [
- q(0287),
- q(0),
- ],
q(tunisia) => [
q(0227),
q(0),
@@ -2309,6 +2629,14 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0230),
q(0),
],
+ q(turks and caicos islands (the)) => [
+ q(0230),
+ q(3),
+ ],
+ q(turks and caicos islands, the) => [
+ q(0230),
+ q(2),
+ ],
q(tuvalu) => [
q(0231),
q(0),
@@ -2319,7 +2647,7 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(uk) => [
q(0235),
- q(3),
+ q(6),
],
q(ukraine) => [
q(0233),
@@ -2329,48 +2657,80 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0234),
q(0),
],
+ q(united arab emirates (the)) => [
+ q(0234),
+ q(3),
+ ],
+ q(united arab emirates, the) => [
+ q(0234),
+ q(2),
+ ],
q(united kingdom) => [
q(0235),
q(0),
],
+ q(united kingdom (the)) => [
+ q(0235),
+ q(3),
+ ],
q(united kingdom of great britain and northern ireland) => [
q(0235),
- q(1),
+ q(5),
+ ],
+ q(united kingdom, the) => [
+ q(0235),
+ q(2),
],
q(united republic of tanzania) => [
q(0220),
- q(1),
+ q(2),
],
q(united states) => [
q(0236),
q(0),
],
+ q(united states (the)) => [
+ q(0236),
+ q(3),
+ ],
q(united states minor outlying islands) => [
q(0237),
q(0),
],
+ q(united states minor outlying islands (the)) => [
+ q(0237),
+ q(3),
+ ],
+ q(united states minor outlying islands, the) => [
+ q(0237),
+ q(2),
+ ],
q(united states of america) => [
q(0236),
- q(1),
+ q(6),
],
q(united states virgin islands) => [
q(0244),
q(1),
],
+ q(united states, the) => [
+ q(0236),
+ q(2),
+ ],
q(uruguay) => [
q(0238),
q(0),
],
q(us) => [
q(0236),
- q(2),
+ q(4),
],
q(usa) => [
q(0236),
- q(3),
+ q(5),
],
q(ussr) => [
- q(0293),
+ q(0251),
q(0),
],
q(uzbekistan) => [
@@ -2383,17 +2743,9 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(vatican city) => [
q(0098),
- q(2),
+ q(7),
],
- q(venezuela) => [
- q(0241),
- q(2),
- ],
- q(venezuela (bolivarian republic of)) => [
- q(0241),
- q(1),
- ],
- q(venezuela, bolivarian republic of) => [
+ q(venezuela, bolivarian republic of ) => [
q(0241),
q(0),
],
@@ -2407,11 +2759,19 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(virgin islands) => [
q(0244),
- q(3),
+ q(4),
+ ],
+ q(virgin islands (british)) => [
+ q(0243),
+ q(0),
+ ],
+ q(virgin islands (u.s.)) => [
+ q(0244),
+ q(0),
],
q(virgin islands (uk)) => [
q(0243),
- q(2),
+ q(3),
],
q(virgin islands (us)) => [
q(0244),
@@ -2419,15 +2779,11 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
],
q(virgin islands, british) => [
q(0243),
- q(0),
+ q(2),
],
q(virgin islands, u.s.) => [
q(0244),
- q(0),
- ],
- q(wake island) => [
- q(0288),
- q(0),
+ q(3),
],
q(wallis and futuna) => [
q(0245),
@@ -2437,10 +2793,6 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0245),
q(1),
],
- q(west bank) => [
- q(0289),
- q(0),
- ],
q(western sahara) => [
q(0246),
q(0),
@@ -2449,6 +2801,18 @@ $Locale::Codes::Data{'country'}{'alias2id'} = {
q(0247),
q(0),
],
+ q(yemeni republic) => [
+ q(0247),
+ q(2),
+ ],
+ q(yemeni republic (the)) => [
+ q(0247),
+ q(4),
+ ],
+ q(yemeni republic, the) => [
+ q(0247),
+ q(3),
+ ],
q(zambia) => [
q(0248),
q(0),
@@ -3503,6 +3867,14 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0005),
q(0),
],
+ q(ata) => [
+ q(0009),
+ q(0),
+ ],
+ q(atf) => [
+ q(0079),
+ q(0),
+ ],
q(atg) => [
q(0010),
q(0),
@@ -3561,7 +3933,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(blm) => [
q(0185),
- q(1),
+ q(0),
],
q(blr) => [
q(0021),
@@ -3577,7 +3949,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(bol) => [
q(0027),
- q(1),
+ q(0),
],
q(bra) => [
q(0032),
@@ -3595,6 +3967,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0026),
q(0),
],
+ q(bvt) => [
+ q(0031),
+ q(0),
+ ],
q(bwa) => [
q(0030),
q(0),
@@ -3607,6 +3983,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0040),
q(0),
],
+ q(cck) => [
+ q(0048),
+ q(0),
+ ],
q(che) => [
q(0216),
q(0),
@@ -3629,7 +4009,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(cod) => [
q(0052),
- q(1),
+ q(0),
],
q(cog) => [
q(0051),
@@ -3663,6 +4043,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0058),
q(0),
],
+ q(cxr) => [
+ q(0047),
+ q(0),
+ ],
q(cym) => [
q(0042),
q(0),
@@ -3745,11 +4129,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(fro) => [
q(0073),
- q(1),
+ q(0),
],
q(fsm) => [
q(0145),
- q(1),
+ q(0),
],
q(gab) => [
q(0080),
@@ -3757,7 +4141,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(gbr) => [
q(0235),
- q(1),
+ q(0),
],
q(geo) => [
q(0082),
@@ -3825,7 +4209,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(hkg) => [
q(0100),
- q(1),
+ q(0),
+ ],
+ q(hmd) => [
+ q(0097),
+ q(0),
],
q(hnd) => [
q(0099),
@@ -3855,13 +4243,17 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0103),
q(0),
],
+ q(iot) => [
+ q(0033),
+ q(0),
+ ],
q(irl) => [
q(0107),
q(0),
],
q(irn) => [
q(0105),
- q(1),
+ q(0),
],
q(irq) => [
q(0106),
@@ -3921,7 +4313,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(kor) => [
q(0119),
- q(1),
+ q(0),
],
q(kwt) => [
q(0120),
@@ -3973,11 +4365,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(mac) => [
q(0131),
- q(1),
+ q(0),
],
q(maf) => [
q(0189),
- q(1),
+ q(0),
],
q(mar) => [
q(0151),
@@ -3989,7 +4381,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(mda) => [
q(0146),
- q(1),
+ q(0),
],
q(mdg) => [
q(0133),
@@ -4009,7 +4401,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(mkd) => [
q(0132),
- q(1),
+ q(0),
],
q(mli) => [
q(0137),
@@ -4157,7 +4549,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(prk) => [
q(0118),
- q(1),
+ q(0),
],
q(prt) => [
q(0178),
@@ -4169,7 +4561,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(pse) => [
q(0170),
- q(1),
+ q(0),
],
q(pyf) => [
q(0078),
@@ -4211,13 +4603,17 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0200),
q(0),
],
+ q(sgs) => [
+ q(0207),
+ q(0),
+ ],
q(shn) => [
q(0186),
- q(1),
+ q(0),
],
q(sjm) => [
q(0213),
- q(1),
+ q(0),
],
q(slb) => [
q(0204),
@@ -4339,9 +4735,13 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0231),
q(0),
],
+ q(twn) => [
+ q(0218),
+ q(0),
+ ],
q(tza) => [
q(0220),
- q(1),
+ q(0),
],
q(uga) => [
q(0232),
@@ -4351,13 +4751,17 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0233),
q(0),
],
+ q(umi) => [
+ q(0237),
+ q(0),
+ ],
q(ury) => [
q(0238),
q(0),
],
q(usa) => [
q(0236),
- q(1),
+ q(0),
],
q(uzb) => [
q(0239),
@@ -4365,7 +4769,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(vat) => [
q(0098),
- q(1),
+ q(0),
],
q(vct) => [
q(0191),
@@ -4373,15 +4777,15 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(ven) => [
q(0241),
- q(1),
+ q(0),
],
q(vgb) => [
q(0243),
- q(1),
+ q(0),
],
q(vir) => [
q(0244),
- q(1),
+ q(0),
],
q(vnm) => [
q(0242),
@@ -4393,7 +4797,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(wlf) => [
q(0245),
- q(1),
+ q(0),
],
q(wsm) => [
q(0192),
@@ -4417,10 +4821,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
},
q(dom) => {
- q(ac) => [
- q(0290),
- q(0),
- ],
q(ad) => [
q(0006),
q(0),
@@ -4450,7 +4850,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0),
],
q(an) => [
- q(0291),
+ q(0250),
q(0),
],
q(ao) => [
@@ -4701,10 +5101,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0071),
q(0),
],
- q(eu) => [
- q(0292),
- q(0),
- ],
q(fi) => [
q(0075),
q(0),
@@ -5266,7 +5662,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0),
],
q(su) => [
- q(0293),
+ q(0251),
q(0),
],
q(sv) => [
@@ -5361,10 +5757,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0232),
q(0),
],
- q(uk) => [
- q(0235),
- q(0),
- ],
q(um) => [
q(0237),
q(0),
@@ -5438,1092 +5830,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0),
],
},
- q(fips-10) => {
- q(AA) => [
- q(0013),
- q(0),
- ],
- q(AC) => [
- q(0010),
- q(0),
- ],
- q(AE) => [
- q(0234),
- q(0),
- ],
- q(AF) => [
- q(0001),
- q(0),
- ],
- q(AG) => [
- q(0004),
- q(0),
- ],
- q(AJ) => [
- q(0016),
- q(0),
- ],
- q(AL) => [
- q(0003),
- q(0),
- ],
- q(AM) => [
- q(0012),
- q(0),
- ],
- q(AN) => [
- q(0006),
- q(0),
- ],
- q(AO) => [
- q(0007),
- q(0),
- ],
- q(AQ) => [
- q(0005),
- q(0),
- ],
- q(AR) => [
- q(0011),
- q(0),
- ],
- q(AS) => [
- q(0014),
- q(0),
- ],
- q(AT) => [
- q(0253),
- q(0),
- ],
- q(AU) => [
- q(0015),
- q(0),
- ],
- q(AV) => [
- q(0008),
- q(0),
- ],
- q(AX) => [
- q(0252),
- q(0),
- ],
- q(AY) => [
- q(0009),
- q(0),
- ],
- q(BA) => [
- q(0018),
- q(0),
- ],
- q(BB) => [
- q(0020),
- q(0),
- ],
- q(BC) => [
- q(0030),
- q(0),
- ],
- q(BD) => [
- q(0025),
- q(0),
- ],
- q(BE) => [
- q(0022),
- q(0),
- ],
- q(BF) => [
- q(0017),
- q(1),
- ],
- q(BG) => [
- q(0019),
- q(0),
- ],
- q(BH) => [
- q(0023),
- q(0),
- ],
- q(BK) => [
- q(0029),
- q(0),
- ],
- q(BL) => [
- q(0027),
- q(2),
- ],
- q(BM) => [
- q(0153),
- q(1),
- ],
- q(BN) => [
- q(0024),
- q(0),
- ],
- q(BO) => [
- q(0021),
- q(0),
- ],
- q(BP) => [
- q(0204),
- q(0),
- ],
- q(BQ) => [
- q(0277),
- q(0),
- ],
- q(BR) => [
- q(0032),
- q(0),
- ],
- q(BS) => [
- q(0255),
- q(0),
- ],
- q(BT) => [
- q(0026),
- q(0),
- ],
- q(BU) => [
- q(0035),
- q(0),
- ],
- q(BV) => [
- q(0031),
- q(0),
- ],
- q(BX) => [
- q(0034),
- q(1),
- ],
- q(BY) => [
- q(0037),
- q(0),
- ],
- q(CA) => [
- q(0040),
- q(0),
- ],
- q(CB) => [
- q(0038),
- q(0),
- ],
- q(CD) => [
- q(0044),
- q(0),
- ],
- q(CE) => [
- q(0210),
- q(0),
- ],
- q(CF) => [
- q(0051),
- q(1),
- ],
- q(CG) => [
- q(0257),
- q(0),
- ],
- q(CH) => [
- q(0046),
- q(0),
- ],
- q(CI) => [
- q(0045),
- q(0),
- ],
- q(CJ) => [
- q(0042),
- q(0),
- ],
- q(CK) => [
- q(0048),
- q(0),
- ],
- q(CM) => [
- q(0039),
- q(0),
- ],
- q(CN) => [
- q(0050),
- q(0),
- ],
- q(CO) => [
- q(0049),
- q(0),
- ],
- q(CQ) => [
- q(0165),
- q(0),
- ],
- q(CR) => [
- q(0258),
- q(0),
- ],
- q(CS) => [
- q(0054),
- q(0),
- ],
- q(CT) => [
- q(0043),
- q(0),
- ],
- q(CU) => [
- q(0057),
- q(0),
- ],
- q(CV) => [
- q(0041),
- q(0),
- ],
- q(CW) => [
- q(0053),
- q(0),
- ],
- q(CY) => [
- q(0059),
- q(0),
- ],
- q(DA) => [
- q(0061),
- q(0),
- ],
- q(DJ) => [
- q(0062),
- q(0),
- ],
- q(DO) => [
- q(0063),
- q(0),
- ],
- q(DQ) => [
- q(0267),
- q(0),
- ],
- q(DR) => [
- q(0064),
- q(0),
- ],
- q(DX) => [
- q(0259),
- q(0),
- ],
- q(EC) => [
- q(0065),
- q(0),
- ],
- q(EG) => [
- q(0066),
- q(0),
- ],
- q(EI) => [
- q(0107),
- q(0),
- ],
- q(EK) => [
- q(0068),
- q(0),
- ],
- q(EN) => [
- q(0070),
- q(0),
- ],
- q(ER) => [
- q(0069),
- q(0),
- ],
- q(ES) => [
- q(0067),
- q(0),
- ],
- q(ET) => [
- q(0071),
- q(0),
- ],
- q(EU) => [
- q(0261),
- q(0),
- ],
- q(EZ) => [
- q(0060),
- q(0),
- ],
- q(FG) => [
- q(0077),
- q(0),
- ],
- q(FI) => [
- q(0075),
- q(0),
- ],
- q(FJ) => [
- q(0074),
- q(0),
- ],
- q(FK) => [
- q(0072),
- q(1),
- ],
- q(FM) => [
- q(0145),
- q(0),
- ],
- q(FO) => [
- q(0073),
- q(0),
- ],
- q(FP) => [
- q(0078),
- q(0),
- ],
- q(FQ) => [
- q(0254),
- q(0),
- ],
- q(FR) => [
- q(0076),
- q(0),
- ],
- q(FS) => [
- q(0079),
- q(1),
- ],
- q(GA) => [
- q(0081),
- q(1),
- ],
- q(GB) => [
- q(0080),
- q(0),
- ],
- q(GG) => [
- q(0082),
- q(0),
- ],
- q(GH) => [
- q(0084),
- q(0),
- ],
- q(GI) => [
- q(0085),
- q(0),
- ],
- q(GJ) => [
- q(0088),
- q(0),
- ],
- q(GK) => [
- q(0092),
- q(0),
- ],
- q(GL) => [
- q(0087),
- q(0),
- ],
- q(GM) => [
- q(0083),
- q(0),
- ],
- q(GO) => [
- q(0263),
- q(0),
- ],
- q(GP) => [
- q(0089),
- q(0),
- ],
- q(GQ) => [
- q(0090),
- q(0),
- ],
- q(GR) => [
- q(0086),
- q(0),
- ],
- q(GT) => [
- q(0091),
- q(0),
- ],
- q(GV) => [
- q(0093),
- q(0),
- ],
- q(GY) => [
- q(0095),
- q(0),
- ],
- q(GZ) => [
- q(0262),
- q(0),
- ],
- q(HA) => [
- q(0096),
- q(0),
- ],
- q(HK) => [
- q(0100),
- q(0),
- ],
- q(HM) => [
- q(0264),
- q(0),
- ],
- q(HO) => [
- q(0099),
- q(0),
- ],
- q(HQ) => [
- q(0265),
- q(0),
- ],
- q(HR) => [
- q(0056),
- q(0),
- ],
- q(HU) => [
- q(0101),
- q(0),
- ],
- q(IC) => [
- q(0102),
- q(0),
- ],
- q(ID) => [
- q(0104),
- q(0),
- ],
- q(IM) => [
- q(0108),
- q(0),
- ],
- q(IN) => [
- q(0103),
- q(0),
- ],
- q(IO) => [
- q(0033),
- q(0),
- ],
- q(IP) => [
- q(0256),
- q(0),
- ],
- q(IR) => [
- q(0105),
- q(2),
- ],
- q(IS) => [
- q(0109),
- q(0),
- ],
- q(IT) => [
- q(0110),
- q(0),
- ],
- q(IV) => [
- q(0055),
- q(0),
- ],
- q(IZ) => [
- q(0106),
- q(0),
- ],
- q(JA) => [
- q(0112),
- q(0),
- ],
- q(JE) => [
- q(0113),
- q(0),
- ],
- q(JM) => [
- q(0111),
- q(0),
- ],
- q(JN) => [
- q(0266),
- q(0),
- ],
- q(JO) => [
- q(0114),
- q(0),
- ],
- q(JQ) => [
- q(0268),
- q(0),
- ],
- q(JU) => [
- q(0269),
- q(0),
- ],
- q(KE) => [
- q(0116),
- q(0),
- ],
- q(KG) => [
- q(0121),
- q(0),
- ],
- q(KN) => [
- q(0271),
- q(0),
- ],
- q(KQ) => [
- q(0270),
- q(0),
- ],
- q(KR) => [
- q(0117),
- q(0),
- ],
- q(KS) => [
- q(0272),
- q(0),
- ],
- q(KT) => [
- q(0047),
- q(0),
- ],
- q(KU) => [
- q(0120),
- q(0),
- ],
- q(KV) => [
- q(0273),
- q(0),
- ],
- q(KZ) => [
- q(0115),
- q(0),
- ],
- q(LA) => [
- q(0274),
- q(0),
- ],
- q(LE) => [
- q(0124),
- q(0),
- ],
- q(LG) => [
- q(0123),
- q(0),
- ],
- q(LH) => [
- q(0129),
- q(0),
- ],
- q(LI) => [
- q(0126),
- q(0),
- ],
- q(LO) => [
- q(0202),
- q(0),
- ],
- q(LQ) => [
- q(0278),
- q(0),
- ],
- q(LS) => [
- q(0128),
- q(0),
- ],
- q(LT) => [
- q(0125),
- q(0),
- ],
- q(LU) => [
- q(0130),
- q(0),
- ],
- q(LY) => [
- q(0127),
- q(0),
- ],
- q(MA) => [
- q(0133),
- q(0),
- ],
- q(MB) => [
- q(0140),
- q(0),
- ],
- q(MC) => [
- q(0131),
- q(2),
- ],
- q(MD) => [
- q(0276),
- q(0),
- ],
- q(MF) => [
- q(0143),
- q(0),
- ],
- q(MG) => [
- q(0148),
- q(0),
- ],
- q(MH) => [
- q(0150),
- q(0),
- ],
- q(MI) => [
- q(0134),
- q(0),
- ],
- q(MJ) => [
- q(0149),
- q(0),
- ],
- q(MK) => [
- q(0132),
- q(2),
- ],
- q(ML) => [
- q(0137),
- q(0),
- ],
- q(MN) => [
- q(0147),
- q(0),
- ],
- q(MO) => [
- q(0151),
- q(0),
- ],
- q(MP) => [
- q(0142),
- q(0),
- ],
- q(MQ) => [
- q(0275),
- q(0),
- ],
- q(MR) => [
- q(0141),
- q(0),
- ],
- q(MT) => [
- q(0138),
- q(0),
- ],
- q(MU) => [
- q(0167),
- q(0),
- ],
- q(MV) => [
- q(0136),
- q(0),
- ],
- q(MX) => [
- q(0144),
- q(0),
- ],
- q(MY) => [
- q(0135),
- q(0),
- ],
- q(MZ) => [
- q(0152),
- q(0),
- ],
- q(NC) => [
- q(0158),
- q(0),
- ],
- q(NE) => [
- q(0163),
- q(0),
- ],
- q(NF) => [
- q(0164),
- q(0),
- ],
- q(NG) => [
- q(0161),
- q(0),
- ],
- q(NH) => [
- q(0240),
- q(0),
- ],
- q(NI) => [
- q(0162),
- q(0),
- ],
- q(NL) => [
- q(0157),
- q(0),
- ],
- q(NN) => [
- q(0282),
- q(0),
- ],
- q(NO) => [
- q(0166),
- q(0),
- ],
- q(NP) => [
- q(0156),
- q(0),
- ],
- q(NR) => [
- q(0155),
- q(0),
- ],
- q(NS) => [
- q(0212),
- q(0),
- ],
- q(NU) => [
- q(0160),
- q(0),
- ],
- q(NZ) => [
- q(0159),
- q(0),
- ],
- q(OD) => [
- q(0208),
- q(0),
- ],
- q(PA) => [
- q(0173),
- q(0),
- ],
- q(PC) => [
- q(0176),
- q(1),
- ],
- q(PE) => [
- q(0174),
- q(0),
- ],
- q(PF) => [
- q(0279),
- q(0),
- ],
- q(PG) => [
- q(0284),
- q(0),
- ],
- q(PJ) => [
- q(0260),
- q(0),
- ],
- q(PK) => [
- q(0168),
- q(0),
- ],
- q(PL) => [
- q(0177),
- q(0),
- ],
- q(PM) => [
- q(0171),
- q(0),
- ],
- q(PO) => [
- q(0178),
- q(0),
- ],
- q(PP) => [
- q(0172),
- q(0),
- ],
- q(PS) => [
- q(0169),
- q(0),
- ],
- q(PU) => [
- q(0094),
- q(0),
- ],
- q(QA) => [
- q(0180),
- q(0),
- ],
- q(RE) => [
- q(0181),
- q(0),
- ],
- q(RI) => [
- q(0197),
- q(0),
- ],
- q(RM) => [
- q(0139),
- q(0),
- ],
- q(RN) => [
- q(0189),
- q(2),
- ],
- q(RO) => [
- q(0182),
- q(0),
- ],
- q(RP) => [
- q(0175),
- q(0),
- ],
- q(RQ) => [
- q(0179),
- q(0),
- ],
- q(RS) => [
- q(0280),
- q(0),
- ],
- q(RW) => [
- q(0184),
- q(0),
- ],
- q(SA) => [
- q(0195),
- q(0),
- ],
- q(SB) => [
- q(0190),
- q(0),
- ],
- q(SC) => [
- q(0187),
- q(0),
- ],
- q(SE) => [
- q(0198),
- q(0),
- ],
- q(SF) => [
- q(0206),
- q(0),
- ],
- q(SG) => [
- q(0196),
- q(0),
- ],
- q(SH) => [
- q(0281),
- q(0),
- ],
- q(SI) => [
- q(0203),
- q(0),
- ],
- q(SL) => [
- q(0199),
- q(0),
- ],
- q(SM) => [
- q(0193),
- q(0),
- ],
- q(SN) => [
- q(0200),
- q(0),
- ],
- q(SO) => [
- q(0205),
- q(0),
- ],
- q(SP) => [
- q(0209),
- q(0),
- ],
- q(ST) => [
- q(0188),
- q(0),
- ],
- q(SU) => [
- q(0211),
- q(0),
- ],
- q(SV) => [
- q(0285),
- q(0),
- ],
- q(SW) => [
- q(0215),
- q(0),
- ],
- q(SX) => [
- q(0283),
- q(0),
- ],
- q(SY) => [
- q(0217),
- q(1),
- ],
- q(SZ) => [
- q(0216),
- q(0),
- ],
- q(TB) => [
- q(0185),
- q(0),
- ],
- q(TD) => [
- q(0226),
- q(0),
- ],
- q(TE) => [
- q(0287),
- q(0),
- ],
- q(TH) => [
- q(0221),
- q(0),
- ],
- q(TI) => [
- q(0219),
- q(0),
- ],
- q(TK) => [
- q(0230),
- q(0),
- ],
- q(TL) => [
- q(0224),
- q(0),
- ],
- q(TN) => [
- q(0225),
- q(0),
- ],
- q(TO) => [
- q(0223),
- q(0),
- ],
- q(TP) => [
- q(0194),
- q(0),
- ],
- q(TS) => [
- q(0227),
- q(0),
- ],
- q(TT) => [
- q(0222),
- q(0),
- ],
- q(TU) => [
- q(0228),
- q(0),
- ],
- q(TV) => [
- q(0231),
- q(0),
- ],
- q(TW) => [
- q(0218),
- q(1),
- ],
- q(TX) => [
- q(0229),
- q(0),
- ],
- q(TZ) => [
- q(0286),
- q(0),
- ],
- q(UC) => [
- q(0058),
- q(0),
- ],
- q(UG) => [
- q(0232),
- q(0),
- ],
- q(UK) => [
- q(0235),
- q(0),
- ],
- q(UP) => [
- q(0233),
- q(0),
- ],
- q(US) => [
- q(0236),
- q(0),
- ],
- q(UV) => [
- q(0036),
- q(0),
- ],
- q(UY) => [
- q(0238),
- q(0),
- ],
- q(UZ) => [
- q(0239),
- q(0),
- ],
- q(VC) => [
- q(0191),
- q(0),
- ],
- q(VE) => [
- q(0241),
- q(2),
- ],
- q(VI) => [
- q(0243),
- q(0),
- ],
- q(VM) => [
- q(0242),
- q(1),
- ],
- q(VQ) => [
- q(0244),
- q(0),
- ],
- q(VT) => [
- q(0098),
- q(2),
- ],
- q(WA) => [
- q(0154),
- q(0),
- ],
- q(WE) => [
- q(0289),
- q(0),
- ],
- q(WF) => [
- q(0245),
- q(0),
- ],
- q(WI) => [
- q(0246),
- q(0),
- ],
- q(WQ) => [
- q(0288),
- q(0),
- ],
- q(WS) => [
- q(0192),
- q(0),
- ],
- q(WZ) => [
- q(0214),
- q(0),
- ],
- q(YM) => [
- q(0247),
- q(0),
- ],
- q(ZA) => [
- q(0248),
- q(0),
- ],
- q(ZI) => [
- q(0249),
- q(0),
- ],
- },
q(numeric) => {
q(004) => [
q(0001),
@@ -6533,6 +5839,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0003),
q(0),
],
+ q(010) => [
+ q(0009),
+ q(0),
+ ],
q(012) => [
q(0004),
q(0),
@@ -6603,7 +5913,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(068) => [
q(0027),
- q(1),
+ q(0),
],
q(070) => [
q(0029),
@@ -6613,6 +5923,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0030),
q(0),
],
+ q(074) => [
+ q(0031),
+ q(0),
+ ],
q(076) => [
q(0032),
q(0),
@@ -6621,13 +5935,17 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0023),
q(0),
],
+ q(086) => [
+ q(0033),
+ q(0),
+ ],
q(090) => [
q(0204),
q(0),
],
q(092) => [
q(0243),
- q(1),
+ q(0),
],
q(096) => [
q(0034),
@@ -6689,6 +6007,18 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0046),
q(0),
],
+ q(158) => [
+ q(0218),
+ q(0),
+ ],
+ q(162) => [
+ q(0047),
+ q(0),
+ ],
+ q(166) => [
+ q(0048),
+ q(0),
+ ],
q(170) => [
q(0049),
q(0),
@@ -6707,7 +6037,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(180) => [
q(0052),
- q(1),
+ q(0),
],
q(184) => [
q(0053),
@@ -6775,12 +6105,16 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(234) => [
q(0073),
- q(1),
+ q(0),
],
q(238) => [
q(0072),
q(0),
],
+ q(239) => [
+ q(0207),
+ q(0),
+ ],
q(242) => [
q(0074),
q(0),
@@ -6805,6 +6139,10 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0078),
q(0),
],
+ q(260) => [
+ q(0079),
+ q(0),
+ ],
q(262) => [
q(0062),
q(0),
@@ -6823,7 +6161,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(275) => [
q(0170),
- q(1),
+ q(0),
],
q(276) => [
q(0083),
@@ -6877,9 +6215,13 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0096),
q(0),
],
+ q(334) => [
+ q(0097),
+ q(0),
+ ],
q(336) => [
q(0098),
- q(1),
+ q(0),
],
q(340) => [
q(0099),
@@ -6887,7 +6229,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(344) => [
q(0100),
- q(1),
+ q(0),
],
q(348) => [
q(0101),
@@ -6907,7 +6249,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(364) => [
q(0105),
- q(1),
+ q(0),
],
q(368) => [
q(0106),
@@ -6951,11 +6293,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(408) => [
q(0118),
- q(1),
+ q(0),
],
q(410) => [
q(0119),
- q(1),
+ q(0),
],
q(414) => [
q(0120),
@@ -7003,7 +6345,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(446) => [
q(0131),
- q(1),
+ q(0),
],
q(450) => [
q(0133),
@@ -7055,7 +6397,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(498) => [
q(0146),
- q(1),
+ q(0),
],
q(499) => [
q(0149),
@@ -7149,9 +6491,13 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0165),
q(0),
],
+ q(581) => [
+ q(0237),
+ q(0),
+ ],
q(583) => [
q(0145),
- q(1),
+ q(0),
],
q(584) => [
q(0139),
@@ -7231,11 +6577,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(652) => [
q(0185),
- q(1),
+ q(0),
],
q(654) => [
q(0186),
- q(1),
+ q(0),
],
q(659) => [
q(0187),
@@ -7251,7 +6597,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(663) => [
q(0189),
- q(1),
+ q(0),
],
q(666) => [
q(0190),
@@ -7269,10 +6615,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
q(0194),
q(0),
],
- q(680) => [
- q(0251),
- q(0),
- ],
q(682) => [
q(0195),
q(0),
@@ -7343,7 +6685,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(744) => [
q(0213),
- q(1),
+ q(0),
],
q(748) => [
q(0214),
@@ -7419,7 +6761,7 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(807) => [
q(0132),
- q(1),
+ q(0),
],
q(818) => [
q(0066),
@@ -7427,10 +6769,6 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(826) => [
q(0235),
- q(1),
- ],
- q(830) => [
- q(0250),
q(0),
],
q(831) => [
@@ -7447,15 +6785,15 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(834) => [
q(0220),
- q(1),
+ q(0),
],
q(840) => [
q(0236),
- q(1),
+ q(0),
],
q(850) => [
q(0244),
- q(1),
+ q(0),
],
q(854) => [
q(0036),
@@ -7471,11 +6809,11 @@ $Locale::Codes::Data{'country'}{'code2id'} = {
],
q(862) => [
q(0241),
- q(1),
+ q(0),
],
q(876) => [
q(0245),
- q(1),
+ q(0),
],
q(882) => [
q(0192),
@@ -7753,6 +7091,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -7774,7 +7113,9 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -7788,6 +7129,8 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -7818,6 +7161,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -7835,6 +7179,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -7944,6 +7289,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0204) => q(slb),
q(0205) => q(som),
q(0206) => q(zaf),
+ q(0207) => q(sgs),
q(0208) => q(ssd),
q(0209) => q(esp),
q(0210) => q(lka),
@@ -7954,6 +7300,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0215) => q(swe),
q(0216) => q(che),
q(0217) => q(syr),
+ q(0218) => q(twn),
q(0219) => q(tjk),
q(0220) => q(tza),
q(0221) => q(tha),
@@ -7972,6 +7319,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0234) => q(are),
q(0235) => q(gbr),
q(0236) => q(usa),
+ q(0237) => q(umi),
q(0238) => q(ury),
q(0239) => q(uzb),
q(0240) => q(vut),
@@ -8220,7 +7568,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0232) => q(ug),
q(0233) => q(ua),
q(0234) => q(ae),
- q(0235) => q(uk),
+ q(0235) => q(gb),
q(0236) => q(us),
q(0237) => q(um),
q(0238) => q(uy),
@@ -8235,283 +7583,8 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0247) => q(ye),
q(0248) => q(zm),
q(0249) => q(zw),
- q(0290) => q(ac),
- q(0291) => q(an),
- q(0292) => q(eu),
- q(0293) => q(su),
- },
- q(fips-10) => {
- 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(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(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(0120) => q(KU),
- q(0121) => q(KG),
- 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(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(0184) => q(RW),
- q(0185) => q(TB),
- 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(0208) => q(OD),
- q(0209) => q(SP),
- q(0210) => q(CE),
- q(0211) => q(SU),
- q(0212) => q(NS),
- q(0214) => q(WZ),
- q(0215) => q(SW),
- q(0216) => q(SZ),
- q(0217) => q(SY),
- q(0218) => q(TW),
- q(0219) => q(TI),
- q(0221) => q(TH),
- q(0222) => q(TT),
- q(0223) => q(TO),
- q(0224) => q(TL),
- q(0225) => q(TN),
- q(0226) => q(TD),
- q(0227) => q(TS),
- q(0228) => q(TU),
- q(0229) => q(TX),
- q(0230) => q(TK),
- q(0231) => q(TV),
- q(0232) => q(UG),
- q(0233) => q(UP),
- q(0234) => q(AE),
- q(0235) => q(UK),
- q(0236) => q(US),
- q(0238) => q(UY),
- q(0239) => q(UZ),
- q(0240) => q(NH),
- q(0241) => q(VE),
- q(0242) => q(VM),
- q(0243) => q(VI),
- q(0244) => q(VQ),
- q(0245) => q(WF),
- q(0246) => q(WI),
- q(0247) => q(YM),
- q(0248) => q(ZA),
- q(0249) => q(ZI),
- q(0252) => q(AX),
- q(0253) => q(AT),
- q(0254) => q(FQ),
- q(0255) => q(BS),
- q(0256) => q(IP),
- q(0257) => q(CG),
- q(0258) => q(CR),
- q(0259) => q(DX),
- q(0260) => q(PJ),
- q(0261) => q(EU),
- q(0262) => q(GZ),
- q(0263) => q(GO),
- q(0264) => q(HM),
- q(0265) => q(HQ),
- q(0266) => q(JN),
- q(0267) => q(DQ),
- q(0268) => q(JQ),
- q(0269) => q(JU),
- q(0270) => q(KQ),
- q(0271) => q(KN),
- q(0272) => q(KS),
- q(0273) => q(KV),
- q(0274) => q(LA),
- q(0275) => q(MQ),
- q(0276) => q(MD),
- q(0277) => q(BQ),
- q(0278) => q(LQ),
- q(0279) => q(PF),
- q(0280) => q(RS),
- q(0281) => q(SH),
- q(0282) => q(NN),
- q(0283) => q(SX),
- q(0284) => q(PG),
- q(0285) => q(SV),
- q(0286) => q(TZ),
- q(0287) => q(TE),
- q(0288) => q(WQ),
- q(0289) => q(WE),
+ q(0250) => q(an),
+ q(0251) => q(su),
},
q(numeric) => {
q(0001) => q(004),
@@ -8522,6 +7595,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -8543,7 +7617,9 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -8557,6 +7633,8 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -8587,6 +7665,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -8604,6 +7683,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
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),
@@ -8713,6 +7793,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0204) => q(090),
q(0205) => q(706),
q(0206) => q(710),
+ q(0207) => q(239),
q(0208) => q(728),
q(0209) => q(724),
q(0210) => q(144),
@@ -8723,6 +7804,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0215) => q(752),
q(0216) => q(756),
q(0217) => q(760),
+ q(0218) => q(158),
q(0219) => q(762),
q(0220) => q(834),
q(0221) => q(764),
@@ -8741,6 +7823,7 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0234) => q(784),
q(0235) => q(826),
q(0236) => q(840),
+ q(0237) => q(581),
q(0238) => q(858),
q(0239) => q(860),
q(0240) => q(548),
@@ -8753,8 +7836,6 @@ $Locale::Codes::Data{'country'}{'id2code'} = {
q(0247) => q(887),
q(0248) => q(894),
q(0249) => q(716),
- q(0250) => q(830),
- q(0251) => q(680),
},
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm
index 22ffbd054d7..f71f85122ff 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Country_Retired;
+package #
+Locale::Codes::Country_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Country_Retired - retired country codes for the Locale::Codes::Country module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
q(an) => q(Netherlands Antilles),
@@ -327,18 +300,9 @@ $Locale::Codes::Retired{'country'}{'dom'}{'code'} = {
q(ZA) => q(South Africa),
q(ZM) => q(Zambia),
q(ZW) => q(Zimbabwe),
-};
-
-$Locale::Codes::Retired{'country'}{'fips-10'}{'code'} = {
- q(KV) => q(Kosovo),
- q(MJ) => q(Montenegro),
- q(NN) => q(Sint Maarten),
- q(NT) => q(Netherlands Antilles),
- q(RI) => q(Serbia),
- q(RN) => q(Saint Martin),
- q(TB) => q(Saint Barthelemy),
- q(UC) => q(Curacao),
- q(YI) => q(Serbia and Montenegro),
+ q(ac) => q(Ascension Island),
+ q(eu) => q(European Union),
+ q(uk) => q(United Kingdom),
};
$Locale::Codes::Retired{'country'}{'numeric'}{'code'} = {
@@ -354,21 +318,32 @@ $Locale::Codes::Retired{'country'}{'numeric'}{'code'} = {
q(334) => q(Heard Island and Mcdonald Islands),
q(530) => q(Netherlands Antilles),
q(581) => q(United States Minor Outlying Islands),
+ q(680) => q(Sark),
q(736) => q(Sudan),
+ q(830) => q(Channel Islands),
q(891) => q(Serbia and Montenegro),
};
$Locale::Codes::Retired{'country'}{'alpha-2'}{'name'} = {
q(bolivia) => [ q(bo), q(Bolivia) ],
+ q(bonaire, saint eustatius and saba) => [ q(bq), q(Bonaire, Saint Eustatius and Saba) ],
q(bosnia and herzegowina) => [ q(ba), q(Bosnia and Herzegowina) ],
+ q(congo, the democratic republic of the) => [ q(cd), q(Congo, The Democratic Republic of the) ],
q(east timor) => [ q(tl), q(East Timor) ],
+ q(falkland islands (malvinas)) => [ q(fk), q(Falkland Islands (Malvinas)) ],
q(france, metropolitan) => [ q(fx), q(France, Metropolitan) ],
q(heard and mc donald islands) => [ q(hm), q(Heard and Mc Donald Islands) ],
+ q(holy see (vatican city state)) => [ q(va), q(Holy See (Vatican City State)) ],
q(iran (islamic republic of)) => [ q(ir), q(Iran (Islamic Republic of)) ],
+ q(iran, islamic republic of) => [ q(ir), q(Iran, Islamic Republic of) ],
q(kazakstan) => [ q(kz), q(Kazakstan) ],
+ q(korea, democratic people's republic of) => [ q(kp), q(Korea, Democratic People's Republic of) ],
+ q(korea, republic of) => [ q(kr), q(Korea, Republic of) ],
q(libyan arab jamahiriya) => [ q(ly), q(Libyan Arab Jamahiriya) ],
q(macau) => [ q(mo), q(Macau) ],
q(micronesia (federated states of)) => [ q(fm), q(Micronesia (Federated States of)) ],
+ q(micronesia, federated states of) => [ q(fm), q(Micronesia, Federated States of) ],
+ q(moldova, republic of) => [ q(md), q(Moldova, Republic of) ],
q(netherlands antilles) => [ q(an), q(Netherlands Antilles) ],
q(saint helena) => [ q(sh), q(Saint Helena) ],
q(saint martin) => [ q(mf), q(Saint Martin) ],
@@ -376,11 +351,15 @@ $Locale::Codes::Retired{'country'}{'alpha-2'}{'name'} = {
q(st. helena) => [ q(sh), q(St. Helena) ],
q(st. pierre and miquelon) => [ q(pm), q(St. Pierre and Miquelon) ],
q(svalbard and jan mayen islands) => [ q(sj), q(Svalbard and Jan Mayen Islands) ],
+ q(taiwan, province of china) => [ q(tw), q(Taiwan, Province of China) ],
q(vatican city state (holy see)) => [ q(va), q(Vatican City State (Holy See)) ],
q(venezuela) => [ q(ve), q(Venezuela) ],
+ q(venezuela, bolivarian republic of) => [ q(ve), q(Venezuela, Bolivarian Republic of) ],
q(vietnam) => [ q(vn), q(Vietnam) ],
q(virgin islands (british)) => [ q(vg), q(Virgin Islands (British)) ],
q(virgin islands (u.s.)) => [ q(vi), q(Virgin Islands (U.S.)) ],
+ q(virgin islands, british) => [ q(vg), q(Virgin Islands, British) ],
+ q(virgin islands, u.s.) => [ q(vi), q(Virgin Islands, U.S.) ],
q(wallis and futuna islands) => [ q(wf), q(Wallis and Futuna Islands) ],
q(yugoslavia) => [ q(yu), q(Yugoslavia) ],
q(zaire) => [ q(zr), q(Zaire) ],
@@ -389,20 +368,33 @@ $Locale::Codes::Retired{'country'}{'alpha-2'}{'name'} = {
$Locale::Codes::Retired{'country'}{'alpha-3'}{'name'} = {
q(antarctica) => [ q(ata), q(Antarctica) ],
q(bolivia) => [ q(bol), q(Bolivia) ],
+ q(bolivia (plurinational state of)) => [ q(bol), q(Bolivia (Plurinational State of)) ],
+ q(bonaire, saint eustatius and saba) => [ q(bes), q(Bonaire, Saint Eustatius and Saba) ],
q(bouvet island) => [ q(bvt), q(Bouvet Island) ],
q(british indian ocean territory) => [ q(iot), q(British Indian Ocean Territory) ],
+ q(british virgin islands) => [ q(vgb), q(British Virgin Islands) ],
+ q(cabo verde) => [ q(cpv), q(Cabo Verde) ],
+ q(cape verde) => [ q(cpv), q(Cape Verde) ],
+ q(china, hong kong special administrative region) => [ q(hkg), q(China, Hong Kong Special Administrative Region) ],
+ q(china, macao special administrative region) => [ q(mac), q(China, Macao Special Administrative Region) ],
q(christmas island) => [ q(cxr), q(Christmas Island) ],
q(cocos (keeling) islands) => [ q(cck), q(Cocos (Keeling) Islands) ],
q(congo, the democratic republic of the) => [ q(cod), q(Congo, The Democratic Republic of the) ],
+ q(democratic people's republic of korea) => [ q(prk), q(Democratic People's Republic of Korea) ],
+ q(democratic republic of the congo) => [ q(cod), q(Democratic Republic of the Congo) ],
q(east timor) => [ q(tls), q(East Timor) ],
+ q(faeroe islands) => [ q(fro), q(Faeroe Islands) ],
+ q(falkland islands (malvinas)) => [ q(flk), q(Falkland Islands (Malvinas)) ],
q(faroe islands) => [ q(fro), q(Faroe Islands) ],
q(france, metropolitan) => [ q(fxx), q(France, Metropolitan) ],
q(french southern and antarctic lands) => [ q(atf), q(French Southern and Antarctic Lands) ],
q(french southern territories) => [ q(atf), q(French Southern Territories) ],
q(heard island and mcdonald islands) => [ q(hmd), q(Heard Island and Mcdonald Islands) ],
+ q(holy see) => [ q(vat), q(Holy See) ],
q(holy see (vatican city state)) => [ q(vat), q(Holy See (Vatican City State)) ],
q(hong kong) => [ q(hkg), q(Hong Kong) ],
q(hong kong special administrative region of china) => [ q(hkg), q(Hong Kong Special Administrative Region of China) ],
+ q(iran (islamic republic of)) => [ q(irn), q(Iran (Islamic Republic of)) ],
q(iran, islamic republic of) => [ q(irn), q(Iran, Islamic Republic of) ],
q(kazakstan) => [ q(kaz), q(Kazakstan) ],
q(korea, democratic people's republic of) => [ q(prk), q(Korea, Democratic People's Republic of) ],
@@ -412,34 +404,59 @@ $Locale::Codes::Retired{'country'}{'alpha-3'}{'name'} = {
q(macao special administrative region of china) => [ q(mac), q(Macao Special Administrative Region of China) ],
q(macau) => [ q(mac), q(Macau) ],
q(macedonia, the former yugoslav republic of) => [ q(mkd), q(Macedonia, the Former Yugoslav Republic of) ],
+ q(micronesia (federated states of)) => [ q(fsm), q(Micronesia (Federated States of)) ],
q(micronesia, federated states of) => [ q(fsm), q(Micronesia, Federated States of) ],
q(moldova, republic of) => [ q(mda), q(Moldova, Republic of) ],
q(netherlands antilles) => [ q(ant), q(Netherlands Antilles) ],
q(palestinian territory, occupied) => [ q(pse), q(Palestinian Territory, Occupied) ],
+ q(republic of korea) => [ q(kor), q(Republic of Korea) ],
+ q(republic of moldova) => [ q(mda), q(Republic of Moldova) ],
+ q(saint helena) => [ q(shn), q(Saint Helena) ],
+ q(saint-barthelemy) => [ q(blm), q(Saint-Barthelemy) ],
+ q(saint-martin (french part)) => [ q(maf), q(Saint-Martin (French part)) ],
q(serbia and montenegro) => [ q(scg), q(Serbia and Montenegro) ],
q(south georgia and the islands) => [ q(sgs), q(South Georgia and the Islands) ],
q(south georgia and the south sandwich islands) => [ q(sgs), q(South Georgia and the South Sandwich Islands) ],
+ q(state of palestine) => [ q(pse), q(State of Palestine) ],
q(svalbard and jan mayen) => [ q(sjm), q(Svalbard and Jan Mayen) ],
+ q(svalbard and jan mayen islands) => [ q(sjm), q(Svalbard and Jan Mayen Islands) ],
q(taiwan) => [ q(twn), q(Taiwan) ],
q(taiwan, province of china) => [ q(twn), q(Taiwan, Province of China) ],
q(tanzania, united republic of) => [ q(tza), q(Tanzania, United Republic of) ],
+ q(the former yugoslav republic of macedonia) => [ q(mkd), q(The former Yugoslav Republic of Macedonia) ],
q(united kingdom) => [ q(gbr), q(United Kingdom) ],
+ q(united kingdom of great britain and northern ireland) => [ q(gbr), q(United Kingdom of Great Britain and Northern Ireland) ],
+ q(united republic of tanzania) => [ q(tza), q(United Republic of Tanzania) ],
q(united states) => [ q(usa), q(United States) ],
q(united states minor outlying islands) => [ q(umi), q(United States Minor Outlying Islands) ],
+ q(united states of america) => [ q(usa), q(United States of America) ],
+ q(united states virgin islands) => [ q(vir), q(United States Virgin Islands) ],
q(venezuela) => [ q(ven), q(Venezuela) ],
+ q(venezuela (bolivarian republic of)) => [ q(ven), q(Venezuela (Bolivarian Republic of)) ],
q(vietnam) => [ q(vnm), q(Vietnam) ],
q(virgin islands, british) => [ q(vgb), q(Virgin Islands, British) ],
q(virgin islands, u.s.) => [ q(vir), q(Virgin Islands, U.S.) ],
q(wallis and futuna) => [ q(wlf), q(Wallis and Futuna) ],
+ q(wallis and futuna islands) => [ q(wlf), q(Wallis and Futuna Islands) ],
q(yugoslavia) => [ q(yug), q(Yugoslavia) ],
q(zaire) => [ q(zar), q(Zaire) ],
};
$Locale::Codes::Retired{'country'}{'dom'}{'name'} = {
- q(bonaire, saint eustatius and saba) => [ q(BQ), q(Bonaire, Saint Eustatius and Saba) ],
+ q(ascension island) => [ q(ac), q(Ascension Island) ],
+ q(bonaire, saint eustatius and saba) => [ q(bq), q(Bonaire, Saint Eustatius and Saba) ],
q(bonaire, sint eustatius and saba) => [ q(BQ), q(Bonaire, Sint Eustatius and Saba) ],
+ q(congo, the democratic republic of the) => [ q(cd), q(Congo, The Democratic Republic of the) ],
+ q(european union) => [ q(eu), q(European Union) ],
+ q(falkland islands (malvinas)) => [ q(fk), q(Falkland Islands (Malvinas)) ],
q(france, metropolitan) => [ q(FX), q(France, Metropolitan) ],
+ q(holy see (vatican city state)) => [ q(va), q(Holy See (Vatican City State)) ],
+ q(iran, islamic republic of) => [ q(ir), q(Iran, Islamic Republic of) ],
+ q(korea, democratic people's republic of) => [ q(kp), q(Korea, Democratic People's Republic of) ],
+ q(korea, republic of) => [ q(kr), q(Korea, Republic of) ],
q(libyan arab jamahiriya) => [ q(LY), q(Libyan Arab Jamahiriya) ],
+ q(micronesia, federated states of) => [ q(fm), q(Micronesia, Federated States of) ],
+ q(moldova, republic of) => [ q(md), q(Moldova, Republic of) ],
q(portuguese timor) => [ q(TP), q(Portuguese Timor) ],
q(portuguese timor ) => [ q(TP), q(Portuguese Timor ) ],
q(saint helena, ascension and tristan da cunha) => [ q(SH), q(Saint Helena, Ascension and Tristan da Cunha) ],
@@ -447,225 +464,44 @@ $Locale::Codes::Retired{'country'}{'dom'}{'name'} = {
q(soviet union) => [ q(SU), q(Soviet Union) ],
q(soviet union ) => [ q(SU), q(Soviet Union ) ],
q(taiwan) => [ q(TW), q(Taiwan) ],
+ q(taiwan, province of china) => [ q(tw), q(Taiwan, Province of China) ],
+ q(venezuela, bolivarian republic of) => [ q(ve), q(Venezuela, Bolivarian Republic of) ],
+ q(virgin islands, british) => [ q(vg), q(Virgin Islands, British) ],
+ q(virgin islands, u.s.) => [ q(vi), q(Virgin Islands, U.S.) ],
q(yugoslavia ) => [ q(YU), q(Yugoslavia ) ],
};
-$Locale::Codes::Retired{'country'}{'fips-10'}{'name'} = {
- q(arab republic of egypt) => [ q(EG), q(Arab Republic of Egypt) ],
- q(argentine republic) => [ q(AR), q(Argentine Republic) ],
- q(bailiwick of guernsey) => [ q(GK), q(Bailiwick of Guernsey) ],
- q(bailiwick of jersey) => [ q(JE), q(Bailiwick of Jersey) ],
- q(bolivarian republic of venezuela) => [ q(VE), q(Bolivarian Republic of Venezuela) ],
- q(british virgin islands) => [ q(VI), q(British Virgin Islands) ],
- q(co-operative republic of guyana) => [ q(GY), q(Co-operative Republic of Guyana) ],
- q(commonwealth of australia) => [ q(AS), q(Commonwealth of Australia) ],
- q(commonwealth of dominica) => [ q(DO), q(Commonwealth of Dominica) ],
- q(commonwealth of puerto rico) => [ q(RQ), q(Commonwealth of Puerto Rico) ],
- q(commonwealth of the bahamas) => [ q(BF), q(Commonwealth of the Bahamas) ],
- q(commonwealth of the northern mariana islands) => [ q(CQ), q(Commonwealth of the Northern Mariana Islands) ],
- q(coral sea islands territory) => [ q(CR), q(Coral Sea Islands Territory) ],
- q(curacao) => [ q(UC), q(Curacao) ],
- q(democratic republic of sao tome and principe) => [ q(TP), q(Democratic Republic of Sao Tome and Principe) ],
- q(democratic socialist republic of sri lanka) => [ q(CE), q(Democratic Socialist Republic of Sri Lanka) ],
- q(department of guadeloupe) => [ q(GP), q(Department of Guadeloupe) ],
- q(department of guiana) => [ q(FG), q(Department of Guiana) ],
- q(department of martinique) => [ q(MB), q(Department of Martinique) ],
- q(department of reunion) => [ q(RE), q(Department of Reunion) ],
- q(east timor) => [ q(TT), q(East Timor) ],
- q(federal democratic republic of ethiopia) => [ q(ET), q(Federal Democratic Republic of Ethiopia) ],
- q(federal islamic republic of the comoros) => [ q(CN), q(Federal Islamic Republic of the Comoros) ],
- q(federal republic of germany) => [ q(GM), q(Federal Republic of Germany) ],
- q(federal republic of nigeria) => [ q(NI), q(Federal Republic of Nigeria) ],
- q(federated states of micronesia) => [ q(FM), q(Federated States of Micronesia) ],
- q(federation of saint kitts and nevis) => [ q(SC), q(Federation of Saint Kitts and Nevis) ],
- q(federative republic of brazil) => [ q(BR), q(Federative Republic of Brazil) ],
- q(french republic) => [ q(FR), q(French Republic) ],
- q(gabonese republic) => [ q(GB), q(Gabonese Republic) ],
- q(grand duchy of luxembourg) => [ q(LU), q(Grand Duchy of Luxembourg) ],
- q(great socialist people's libyan arab jamahiriya) => [ q(LY), q(Great Socialist People's Libyan Arab Jamahiriya) ],
- q(hashemite kingdom of jordan) => [ q(JO), q(Hashemite Kingdom of Jordan) ],
- q(heard island and mcdonald islands) => [ q(HM), q(Heard Island and Mcdonald Islands) ],
- q(hellenic republic) => [ q(GR), q(Hellenic Republic) ],
- q(hong kong s.a.r.) => [ q(HK), q(Hong Kong S.A.R.) ],
- q(hong kong special administrative region) => [ q(HK), q(Hong Kong Special Administrative Region) ],
- q(independent state of papua new guinea) => [ q(PP), q(Independent State of Papua New Guinea) ],
- q(independent state of samoa) => [ q(WS), q(Independent State of Samoa) ],
- q(islamic republic of iran) => [ q(IR), q(Islamic Republic of Iran) ],
- q(islamic republic of mauritania) => [ q(MR), q(Islamic Republic of Mauritania) ],
- q(islamic republic of pakistan) => [ q(PK), q(Islamic Republic of Pakistan) ],
- q(islamic state of afghanistan) => [ q(AF), q(Islamic State of Afghanistan) ],
- q(italian republic) => [ q(IT), q(Italian Republic) ],
- q(kingdom of belgium) => [ q(BE), q(Kingdom of Belgium) ],
- q(kingdom of bhutan) => [ q(BT), q(Kingdom of Bhutan) ],
- q(kingdom of cambodia) => [ q(CB), q(Kingdom of Cambodia) ],
- q(kingdom of denmark) => [ q(DA), q(Kingdom of Denmark) ],
- q(kingdom of morocco) => [ q(MO), q(Kingdom of Morocco) ],
- q(kingdom of nepal) => [ q(NP), q(Kingdom of Nepal) ],
- q(kingdom of norway) => [ q(NO), q(Kingdom of Norway) ],
- q(kingdom of saudi arabia) => [ q(SA), q(Kingdom of Saudi Arabia) ],
- q(kingdom of spain) => [ q(SP), q(Kingdom of Spain) ],
- q(kingdom of swaziland) => [ q(WZ), q(Kingdom of Swaziland) ],
- q(kingdom of sweden) => [ q(SW), q(Kingdom of Sweden) ],
- q(kingdom of thailand) => [ q(TH), q(Kingdom of Thailand) ],
- q(kingdom of the netherlands) => [ q(NL), q(Kingdom of the Netherlands) ],
- q(kingdom of tonga) => [ q(TN), q(Kingdom of Tonga) ],
- q(kosovo) => [ q(KV), q(Kosovo) ],
- q(kyrgyz republic) => [ q(KG), q(Kyrgyz Republic) ],
- q(lebanese republic) => [ q(LE), q(Lebanese Republic) ],
- q(macau s.a.r) => [ q(MC), q(Macau S.A.R) ],
- q(macau special administrative region) => [ q(MC), q(Macau Special Administrative Region) ],
- q(montenegro) => [ q(MJ), q(Montenegro) ],
- q(negara brunei darussalam) => [ q(BX), q(Negara Brunei Darussalam) ],
- q(netherlands antilles) => [ q(NT), q(Netherlands Antilles) ],
- q(oriental republic of uruguay) => [ q(UY), q(Oriental Republic of Uruguay) ],
- q(people's democratic republic of algeria) => [ q(AG), q(People's Democratic Republic of Algeria) ],
- q(people's republic of bangladesh) => [ q(BG), q(People's Republic of Bangladesh) ],
- q(people's republic of china) => [ q(CH), q(People's Republic of China) ],
- q(pitcairn, henderson, ducie and oeno islands) => [ q(PC), q(Pitcairn, Henderson, Ducie and Oeno Islands) ],
- q(portuguese republic) => [ q(PO), q(Portuguese Republic) ],
- q(principality of andorra) => [ q(AN), q(Principality of Andorra) ],
- q(principality of liechtenstein) => [ q(LS), q(Principality of Liechtenstein) ],
- q(principality of monaco) => [ q(MN), q(Principality of Monaco) ],
- q(republic of albania) => [ q(AL), q(Republic of Albania) ],
- q(republic of angola) => [ q(AO), q(Republic of Angola) ],
- q(republic of armenia) => [ q(AM), q(Republic of Armenia) ],
- q(republic of austria) => [ q(AU), q(Republic of Austria) ],
- q(republic of azerbaijan) => [ q(AJ), q(Republic of Azerbaijan) ],
- q(republic of belarus) => [ q(BO), q(Republic of Belarus) ],
- q(republic of benin) => [ q(BN), q(Republic of Benin) ],
- q(republic of bolivia) => [ q(BL), q(Republic of Bolivia) ],
- q(republic of botswana) => [ q(BC), q(Republic of Botswana) ],
- q(republic of burundi) => [ q(BY), q(Republic of Burundi) ],
- q(republic of cameroon) => [ q(CM), q(Republic of Cameroon) ],
- q(republic of cape verde) => [ q(CV), q(Republic of Cape Verde) ],
- q(republic of chad) => [ q(CD), q(Republic of Chad) ],
- q(republic of chile) => [ q(CI), q(Republic of Chile) ],
- q(republic of colombia) => [ q(CO), q(Republic of Colombia) ],
- q(republic of costa rica) => [ q(CS), q(Republic of Costa Rica) ],
- q(republic of cote d'ivoire) => [ q(IV), q(Republic of Cote D'Ivoire) ],
- q(republic of croatia) => [ q(HR), q(Republic of Croatia) ],
- q(republic of cuba) => [ q(CU), q(Republic of Cuba) ],
- q(republic of cyprus) => [ q(CY), q(Republic of Cyprus) ],
- q(republic of djibouti) => [ q(DJ), q(Republic of Djibouti) ],
- q(republic of ecuador) => [ q(EC), q(Republic of Ecuador) ],
- q(republic of el salvador) => [ q(ES), q(Republic of El Salvador) ],
- q(republic of equatorial guinea) => [ q(EK), q(Republic of Equatorial Guinea) ],
- q(republic of estonia) => [ q(EN), q(Republic of Estonia) ],
- q(republic of finland) => [ q(FI), q(Republic of Finland) ],
- q(republic of ghana) => [ q(GH), q(Republic of Ghana) ],
- q(republic of guatemala) => [ q(GT), q(Republic of Guatemala) ],
- q(republic of guinea) => [ q(GV), q(Republic of Guinea) ],
- q(republic of guinea-bissau) => [ q(PU), q(Republic of Guinea-Bissau) ],
- q(republic of haiti) => [ q(HA), q(Republic of Haiti) ],
- q(republic of honduras) => [ q(HO), q(Republic of Honduras) ],
- q(republic of hungary) => [ q(HU), q(Republic of Hungary) ],
- q(republic of iceland) => [ q(IC), q(Republic of Iceland) ],
- q(republic of india) => [ q(IN), q(Republic of India) ],
- q(republic of indonesia) => [ q(ID), q(Republic of Indonesia) ],
- q(republic of iraq) => [ q(IZ), q(Republic of Iraq) ],
- q(republic of kazakhstan) => [ q(KZ), q(Republic of Kazakhstan) ],
- q(republic of kenya) => [ q(KE), q(Republic of Kenya) ],
- q(republic of kiribati) => [ q(KR), q(Republic of Kiribati) ],
- q(republic of latvia) => [ q(LG), q(Republic of Latvia) ],
- q(republic of lesotho) => [ q(LT), q(Republic of Lesotho) ],
- q(republic of liberia) => [ q(LI), q(Republic of Liberia) ],
- q(republic of lithuania) => [ q(LH), q(Republic of Lithuania) ],
- q(republic of macedonia) => [ q(MK), q(Republic of Macedonia) ],
- q(republic of madagascar) => [ q(MA), q(Republic of Madagascar) ],
- q(republic of malawi) => [ q(MI), q(Republic of Malawi) ],
- q(republic of maldives) => [ q(MV), q(Republic of Maldives) ],
- q(republic of mali) => [ q(ML), q(Republic of Mali) ],
- q(republic of malta) => [ q(MT), q(Republic of Malta) ],
- q(republic of mauritius) => [ q(MP), q(Republic of Mauritius) ],
- q(republic of mozambique) => [ q(MZ), q(Republic of Mozambique) ],
- q(republic of namibia) => [ q(WA), q(Republic of Namibia) ],
- q(republic of nauru) => [ q(NR), q(Republic of Nauru) ],
- q(republic of nicaragua) => [ q(NU), q(Republic of Nicaragua) ],
- q(republic of niger) => [ q(NG), q(Republic of Niger) ],
- q(republic of palau) => [ q(PS), q(Republic of Palau) ],
- q(republic of panama) => [ q(PM), q(Republic of Panama) ],
- q(republic of paraguay) => [ q(PA), q(Republic of Paraguay) ],
- q(republic of peru) => [ q(PE), q(Republic of Peru) ],
- q(republic of poland) => [ q(PL), q(Republic of Poland) ],
- q(republic of san marino) => [ q(SM), q(Republic of San Marino) ],
- q(republic of senegal) => [ q(SG), q(Republic of Senegal) ],
- q(republic of seychelles) => [ q(SE), q(Republic of Seychelles) ],
- q(republic of sierra leone) => [ q(SL), q(Republic of Sierra Leone) ],
- q(republic of singapore) => [ q(SN), q(Republic of Singapore) ],
- q(republic of slovenia) => [ q(SI), q(Republic of Slovenia) ],
- q(republic of south africa) => [ q(SF), q(Republic of South Africa) ],
- q(republic of suriname) => [ q(NS), q(Republic of Suriname) ],
- q(republic of tajikistan) => [ q(TI), q(Republic of Tajikistan) ],
- q(republic of the congo) => [ q(CF), q(Republic of the Congo) ],
- q(republic of the fiji islands) => [ q(FJ), q(Republic of the Fiji Islands) ],
- q(republic of the gambia) => [ q(GA), q(Republic of the Gambia) ],
- q(republic of the marshall islands) => [ q(RM), q(Republic of the Marshall Islands) ],
- q(republic of the philippines) => [ q(RP), q(Republic of the Philippines) ],
- q(republic of the sudan) => [ q(SU), q(Republic of the Sudan) ],
- q(republic of trinidad and tobago) => [ q(TD), q(Republic of Trinidad and Tobago) ],
- q(republic of tunisia) => [ q(TS), q(Republic of Tunisia) ],
- q(republic of turkey) => [ q(TU), q(Republic of Turkey) ],
- q(republic of uzbekistan) => [ q(UZ), q(Republic of Uzbekistan) ],
- q(republic of vanuatu) => [ q(NH), q(Republic of Vanuatu) ],
- q(republic of yemen) => [ q(YM), q(Republic of Yemen) ],
- q(republic of zambia) => [ q(ZA), q(Republic of Zambia) ],
- q(republic of zimbabwe) => [ q(ZI), q(Republic of Zimbabwe) ],
- q(rwandese republic) => [ q(RW), q(Rwandese Republic) ],
- q(saint barthelemy) => [ q(TB), q(Saint Barthelemy) ],
- q(saint helena) => [ q(SH), q(Saint Helena) ],
- q(saint martin) => [ q(RN), q(Saint Martin) ],
- q(serbia) => [ q(RI), q(Serbia) ],
- q(serbia and montenegro) => [ q(YI), q(Serbia and Montenegro) ],
- q(sint maarten) => [ q(NN), q(Sint Maarten) ],
- q(slovak republic) => [ q(LO), q(Slovak Republic) ],
- q(socialist republic of vietnam) => [ q(VM), q(Socialist Republic of Vietnam) ],
- q(south georgia and the south sandwich islands) => [ q(SX), q(South Georgia and the South Sandwich Islands) ],
- q(state of bahrain) => [ q(BA), q(State of Bahrain) ],
- q(state of eritrea) => [ q(ER), q(State of Eritrea) ],
- q(state of israel) => [ q(IS), q(State of Israel) ],
- q(state of kuwait) => [ q(KU), q(State of Kuwait) ],
- q(state of qatar) => [ q(QA), q(State of Qatar) ],
- q(state of the vatican city) => [ q(VT), q(State of the Vatican City) ],
- q(sultanate of oman) => [ q(MU), q(Sultanate of Oman) ],
- q(swiss confederation) => [ q(SZ), q(Swiss Confederation) ],
- q(territorial collectivity of mayotte) => [ q(MF), q(Territorial Collectivity of Mayotte) ],
- q(territorial collectivity of saint pierre and miquelon) => [ q(SB), q(Territorial Collectivity of Saint Pierre and Miquelon) ],
- q(territory of american samoa) => [ q(AQ), q(Territory of American Samoa) ],
- q(territory of ashmore and cartier islands) => [ q(AT), q(Territory of Ashmore and Cartier Islands) ],
- q(territory of christmas island) => [ q(KT), q(Territory of Christmas Island) ],
- q(territory of cocos (keeling) islands) => [ q(CK), q(Territory of Cocos (Keeling) Islands) ],
- q(territory of french polynesia) => [ q(FP), q(Territory of French Polynesia) ],
- q(territory of guam) => [ q(GQ), q(Territory of Guam) ],
- q(territory of heard island and mcdonald islands) => [ q(HM), q(Territory of Heard Island and McDonald Islands) ],
- q(territory of new caledonia and dependencies) => [ q(NC), q(Territory of New Caledonia and Dependencies) ],
- q(territory of norfolk island) => [ q(NF), q(Territory of Norfolk Island) ],
- q(territory of the french southern and antarctic lands) => [ q(FS), q(Territory of the French Southern and Antarctic Lands) ],
- q(territory of the wallis and futuna islands) => [ q(WF), q(Territory of the Wallis and Futuna Islands) ],
- q(togolese republic) => [ q(TO), q(Togolese Republic) ],
- q(union of burma) => [ q(BM), q(Union of Burma) ],
- q(united mexican states) => [ q(MX), q(United Mexican States) ],
- q(virgin islands) => [ q(VQ), q(Virgin Islands) ],
- q(virgin islands of the united states) => [ q(VQ), q(Virgin Islands of the United States) ],
- q(wake atoll) => [ q(WQ), q(Wake Atoll) ],
-};
-
$Locale::Codes::Retired{'country'}{'numeric'}{'name'} = {
q(antarctica) => [ q(010), q(Antarctica) ],
q(bolivia) => [ q(068), q(Bolivia) ],
+ q(bolivia (plurinational state of)) => [ q(068), q(Bolivia (Plurinational State of)) ],
+ q(bonaire, saint eustatius and saba) => [ q(535), q(Bonaire, Saint Eustatius and Saba) ],
q(bouvet island) => [ q(074), q(Bouvet Island) ],
q(british indian ocean territory) => [ q(086), q(British Indian Ocean Territory) ],
+ q(british virgin islands) => [ q(092), q(British Virgin Islands) ],
+ q(cabo verde) => [ q(132), q(Cabo Verde) ],
+ q(cape verde) => [ q(132), q(Cape Verde) ],
+ q(channel islands) => [ q(830), q(Channel Islands) ],
+ q(china, hong kong special administrative region) => [ q(344), q(China, Hong Kong Special Administrative Region) ],
+ q(china, macao special administrative region) => [ q(446), q(China, Macao Special Administrative Region) ],
q(christmas island) => [ q(162), q(Christmas Island) ],
q(cocos (keeling) islands) => [ q(166), q(Cocos (Keeling) Islands) ],
q(congo, the democratic republic of the) => [ q(180), q(Congo, The Democratic Republic of the) ],
+ q(democratic people's republic of korea) => [ q(408), q(Democratic People's Republic of Korea) ],
+ q(democratic republic of the congo) => [ q(180), q(Democratic Republic of the Congo) ],
q(east timor) => [ q(626), q(East Timor) ],
+ q(faeroe islands) => [ q(234), q(Faeroe Islands) ],
+ q(falkland islands (malvinas)) => [ q(238), q(Falkland Islands (Malvinas)) ],
q(faroe islands) => [ q(234), q(Faroe Islands) ],
q(france, metropolitan) => [ q(249), q(France, Metropolitan) ],
q(french southern and antarctic lands) => [ q(260), q(French Southern and Antarctic Lands) ],
q(french southern territories) => [ q(260), q(French Southern Territories) ],
q(heard island and mcdonald islands) => [ q(334), q(Heard Island and Mcdonald Islands) ],
+ q(holy see) => [ q(336), q(Holy See) ],
q(holy see (vatican city state)) => [ q(336), q(Holy See (Vatican City State)) ],
q(hong kong) => [ q(344), q(Hong Kong) ],
q(hong kong special administrative region of china) => [ q(344), q(Hong Kong Special Administrative Region of China) ],
+ q(iran (islamic republic of)) => [ q(364), q(Iran (Islamic Republic of)) ],
q(iran, islamic republic of) => [ q(364), q(Iran, Islamic Republic of) ],
q(kazakstan) => [ q(398), q(Kazakstan) ],
q(korea, democratic people's republic of) => [ q(408), q(Korea, Democratic People's Republic of) ],
@@ -675,25 +511,41 @@ $Locale::Codes::Retired{'country'}{'numeric'}{'name'} = {
q(macao special administrative region of china) => [ q(446), q(Macao Special Administrative Region of China) ],
q(macau) => [ q(446), q(Macau) ],
q(macedonia, the former yugoslav republic of) => [ q(807), q(Macedonia, the Former Yugoslav Republic of) ],
+ q(micronesia (federated states of)) => [ q(583), q(Micronesia (Federated States of)) ],
q(micronesia, federated states of) => [ q(583), q(Micronesia, Federated States of) ],
q(moldova, republic of) => [ q(498), q(Moldova, Republic of) ],
q(netherlands antilles) => [ q(530), q(Netherlands Antilles) ],
q(palestinian territory, occupied) => [ q(275), q(Palestinian Territory, Occupied) ],
+ q(republic of korea) => [ q(410), q(Republic of Korea) ],
+ q(republic of moldova) => [ q(498), q(Republic of Moldova) ],
+ q(saint helena) => [ q(654), q(Saint Helena) ],
+ q(saint-barthelemy) => [ q(652), q(Saint-Barthelemy) ],
+ q(saint-martin (french part)) => [ q(663), q(Saint-Martin (French part)) ],
+ q(sark) => [ q(680), q(Sark) ],
q(serbia and montenegro) => [ q(891), q(Serbia and Montenegro) ],
q(south georgia and the islands) => [ q(239), q(South Georgia and the Islands) ],
q(south georgia and the south sandwich islands) => [ q(239), q(South Georgia and the South Sandwich Islands) ],
+ q(state of palestine) => [ q(275), q(State of Palestine) ],
q(svalbard and jan mayen) => [ q(744), q(Svalbard and Jan Mayen) ],
+ q(svalbard and jan mayen islands) => [ q(744), q(Svalbard and Jan Mayen Islands) ],
q(taiwan) => [ q(158), q(Taiwan) ],
q(taiwan, province of china) => [ q(158), q(Taiwan, Province of China) ],
q(tanzania, united republic of) => [ q(834), q(Tanzania, United Republic of) ],
+ q(the former yugoslav republic of macedonia) => [ q(807), q(The former Yugoslav Republic of Macedonia) ],
q(united kingdom) => [ q(826), q(United Kingdom) ],
+ q(united kingdom of great britain and northern ireland) => [ q(826), q(United Kingdom of Great Britain and Northern Ireland) ],
+ q(united republic of tanzania) => [ q(834), q(United Republic of Tanzania) ],
q(united states) => [ q(840), q(United States) ],
q(united states minor outlying islands) => [ q(581), q(United States Minor Outlying Islands) ],
+ q(united states of america) => [ q(840), q(United States of America) ],
+ q(united states virgin islands) => [ q(850), q(United States Virgin Islands) ],
q(venezuela) => [ q(862), q(Venezuela) ],
+ q(venezuela (bolivarian republic of)) => [ q(862), q(Venezuela (Bolivarian Republic of)) ],
q(vietnam) => [ q(704), q(Vietnam) ],
q(virgin islands, british) => [ q(092), q(Virgin Islands, British) ],
q(virgin islands, u.s.) => [ q(850), q(Virgin Islands, U.S.) ],
q(wallis and futuna) => [ q(876), q(Wallis and Futuna) ],
+ q(wallis and futuna islands) => [ q(876), q(Wallis and Futuna Islands) ],
q(yugoslavia) => [ q(891), q(Yugoslavia) ],
q(zaire) => [ q(180), q(Zaire) ],
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
index 789d8e36d2f..89a8680b660 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
@@ -1,7 +1,7 @@
package Locale::Codes::Currency;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Locale::Codes::Currency_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2currency
currency2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod
new file mode 100644
index 00000000000..52ddd6387a5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod
@@ -0,0 +1,127 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Currency - standard codes for currency identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Currency;
+
+ $curr = code2currency('usd'); # $curr gets 'US Dollar'
+ $code = currency2code('Euro'); # $code gets 'eur'
+
+ @codes = all_currency_codes();
+ @names = all_currency_names();
+
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Currency> module provides access to standard codes used
+for identifying currencies and funds, such as those defined in ISO 4217.
+
+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.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+currencies. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $curr = code2currency('usd','alpha');
+ $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_CURR_ALPHA>
+
+This is a set of three-letter (uppercase) codes from ISO 4217 such
+as EUR for Euro.
+
+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.
+
+This is the default code set.
+
+=item B<num, LOCALE_CURR_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 4217.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2currency ( CODE [,CODESET] )>
+
+=item B<currency2code ( NAME [,CODESET] )>
+
+=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_currency_codes ( [CODESET] )>
+
+=item B<all_currency_names ( [CODESET] )>
+
+=item B<Locale::Codes::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Currency::delete_currency ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Currency::delete_currency_alias ( NAME )>
+
+=item B<Locale::Codes::Currency::rename_currency_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
+The ISO 4217 data.
+
+=back
+
+=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 Michael Hennecke
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2014 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/Currency_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm
index 6d0bd348c66..df38cd9a9b0 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Currency_Codes;
+package #
+Locale::Codes::Currency_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:26 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Currency_Codes - currency codes for the Locale::Codes::Currency module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:44:26 EST 2014
use strict;
require 5.006;
@@ -38,9 +11,9 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
-$Locale::Codes::Data{'currency'}{'id'} = '0180';
+$Locale::Codes::Data{'currency'}{'id'} = '0178';
$Locale::Codes::Data{'currency'}{'id2names'} = {
q(0001) => [
@@ -152,7 +125,7 @@ $Locale::Codes::Data{'currency'}{'id2names'} = {
q(Cayman Islands Dollar),
],
q(0037) => [
- q(Unidades de fomento),
+ q(Unidad de Fomento),
],
q(0038) => [
q(Chilean Peso),
@@ -308,283 +281,277 @@ $Locale::Codes::Data{'currency'}{'id2names'} = {
q(Kip),
],
q(0089) => [
- q(Latvian Lats),
- ],
- q(0090) => [
q(Lebanese Pound),
],
- q(0091) => [
+ q(0090) => [
q(Loti),
],
- q(0092) => [
+ q(0091) => [
q(Rand),
],
- q(0093) => [
+ q(0092) => [
q(Liberian Dollar),
],
- q(0094) => [
+ q(0093) => [
q(Libyan Dinar),
],
- q(0095) => [
+ q(0094) => [
q(Swiss Franc),
],
- q(0096) => [
+ q(0095) => [
q(Lithuanian Litas),
],
- q(0097) => [
+ q(0096) => [
q(Pataca),
],
- q(0098) => [
+ q(0097) => [
q(Denar),
],
- q(0099) => [
+ q(0098) => [
q(Malagasy Ariary),
],
- q(0100) => [
+ q(0099) => [
q(Kwacha),
],
- q(0101) => [
+ q(0100) => [
q(Malaysian Ringgit),
],
- q(0102) => [
+ q(0101) => [
q(Rufiyaa),
],
- q(0103) => [
+ q(0102) => [
q(Ouguiya),
],
- q(0104) => [
+ q(0103) => [
q(Mauritius Rupee),
],
- q(0105) => [
+ q(0104) => [
q(ADB Unit of Account),
],
- q(0106) => [
+ q(0105) => [
q(Mexican Peso),
],
- q(0107) => [
+ q(0106) => [
q(Mexican Unidad de Inversion (UDI)),
],
- q(0108) => [
+ q(0107) => [
q(Moldovan Leu),
],
- q(0109) => [
+ q(0108) => [
q(Tugrik),
],
- q(0110) => [
+ q(0109) => [
q(Moroccan Dirham),
],
- q(0111) => [
+ q(0110) => [
q(Mozambique Metical),
],
- q(0112) => [
+ q(0111) => [
q(Kyat),
],
- q(0113) => [
+ q(0112) => [
q(Namibia Dollar),
],
- q(0114) => [
+ q(0113) => [
q(Nepalese Rupee),
],
- q(0115) => [
+ q(0114) => [
q(Cordoba Oro),
],
- q(0116) => [
+ q(0115) => [
q(Naira),
],
- q(0117) => [
+ q(0116) => [
q(Rial Omani),
],
- q(0118) => [
+ q(0117) => [
q(Pakistan Rupee),
],
- q(0119) => [
+ q(0118) => [
q(Balboa),
],
- q(0120) => [
+ q(0119) => [
q(Kina),
],
- q(0121) => [
+ q(0120) => [
q(Guarani),
],
- q(0122) => [
+ q(0121) => [
q(Nuevo Sol),
],
- q(0123) => [
+ q(0122) => [
q(Philippine Peso),
],
- q(0124) => [
+ q(0123) => [
q(Zloty),
],
- q(0125) => [
+ q(0124) => [
q(Qatari Rial),
],
- q(0126) => [
+ q(0125) => [
q(New Romanian Leu),
],
- q(0127) => [
+ q(0126) => [
q(Russian Ruble),
],
- q(0128) => [
+ q(0127) => [
q(Rwanda Franc),
],
- q(0129) => [
- q(Saint Helena Pound),
- ],
- q(0130) => [
+ q(0128) => [
q(Tala),
],
- q(0131) => [
+ q(0129) => [
q(Dobra),
],
- q(0132) => [
+ q(0130) => [
q(Saudi Riyal),
],
- q(0133) => [
+ q(0131) => [
q(Serbian Dinar),
],
- q(0134) => [
+ q(0132) => [
q(Seychelles Rupee),
],
- q(0135) => [
+ q(0133) => [
q(Leone),
],
- q(0136) => [
+ q(0134) => [
q(Singapore Dollar),
],
- q(0137) => [
+ q(0135) => [
q(Sucre),
],
- q(0138) => [
+ q(0136) => [
q(Solomon Islands Dollar),
],
- q(0139) => [
+ q(0137) => [
q(Somali Shilling),
],
- q(0140) => [
+ q(0138) => [
q(South Sudanese Pound),
],
- q(0141) => [
+ q(0139) => [
q(Sri Lanka Rupee),
],
- q(0142) => [
+ q(0140) => [
q(Sudanese Pound),
],
- q(0143) => [
+ q(0141) => [
q(Surinam Dollar),
],
- q(0144) => [
+ q(0142) => [
q(Lilangeni),
],
- q(0145) => [
+ q(0143) => [
q(Swedish Krona),
],
- q(0146) => [
+ q(0144) => [
q(WIR Euro),
],
- q(0147) => [
+ q(0145) => [
q(WIR Franc),
],
- q(0148) => [
+ q(0146) => [
q(Syrian Pound),
],
- q(0149) => [
+ q(0147) => [
q(New Taiwan Dollar),
],
- q(0150) => [
+ q(0148) => [
q(Somoni),
],
- q(0151) => [
+ q(0149) => [
q(Tanzanian Shilling),
],
- q(0152) => [
+ q(0150) => [
q(Baht),
],
- q(0153) => [
+ q(0151) => [
q(Pa'anga),
],
- q(0154) => [
+ q(0152) => [
q(Trinidad and Tobago Dollar),
],
- q(0155) => [
+ q(0153) => [
q(Tunisian Dinar),
],
- q(0156) => [
+ q(0154) => [
q(Turkish Lira),
],
- q(0157) => [
+ q(0155) => [
q(Turkmenistan New Manat),
],
- q(0158) => [
+ q(0156) => [
q(Uganda Shilling),
],
- q(0159) => [
+ q(0157) => [
q(Hryvnia),
],
- q(0160) => [
+ q(0158) => [
q(UAE Dirham),
],
- q(0161) => [
+ q(0159) => [
q(US Dollar (Next day)),
],
- q(0162) => [
+ q(0160) => [
q(US Dollar (Same day)),
],
- q(0163) => [
+ q(0161) => [
q(Uruguay Peso en Unidades Indexadas (URUIURUI)),
],
- q(0164) => [
+ q(0162) => [
q(Peso Uruguayo),
],
- q(0165) => [
+ q(0163) => [
q(Uzbekistan Sum),
],
- q(0166) => [
+ q(0164) => [
q(Vatu),
],
- q(0167) => [
+ q(0165) => [
q(Bolivar),
],
- q(0168) => [
+ q(0166) => [
q(Dong),
],
- q(0169) => [
+ q(0167) => [
q(Yemeni Rial),
],
- q(0170) => [
+ q(0168) => [
q(Zambian Kwacha),
],
- q(0171) => [
+ q(0169) => [
q(Zimbabwe Dollar),
],
- q(0172) => [
+ q(0170) => [
q(Bond Markets Unit European Composite Unit (EURCO)),
],
- q(0173) => [
+ q(0171) => [
q(Bond Markets Unit European Monetary Unit (E.M.U.-6)),
],
- q(0174) => [
+ q(0172) => [
q(Bond Markets Unit European Unit of Account 9 (E.U.A.-9)),
],
- q(0175) => [
+ q(0173) => [
q(Bond Markets Unit European Unit of Account 17 (E.U.A.-17)),
],
- q(0176) => [
+ q(0174) => [
q(Gold),
],
- q(0177) => [
+ q(0175) => [
q(Palladium),
],
- q(0178) => [
+ q(0176) => [
q(Platinum),
],
- q(0179) => [
+ q(0177) => [
q(Silver),
],
};
$Locale::Codes::Data{'currency'}{'alias2id'} = {
q(adb unit of account) => [
- q(0105),
+ q(0104),
q(0),
],
q(afghani) => [
@@ -624,11 +591,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(baht) => [
- q(0152),
+ q(0150),
q(0),
],
q(balboa) => [
- q(0119),
+ q(0118),
q(0),
],
q(barbados dollar) => [
@@ -648,7 +615,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(bolivar) => [
- q(0167),
+ q(0165),
q(0),
],
q(boliviano) => [
@@ -656,19 +623,19 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(bond markets unit european composite unit (eurco)) => [
- q(0172),
+ q(0170),
q(0),
],
q(bond markets unit european monetary unit (e.m.u.-6)) => [
- q(0173),
+ q(0171),
q(0),
],
q(bond markets unit european unit of account 17 (e.u.a.-17)) => [
- q(0175),
+ q(0173),
q(0),
],
q(bond markets unit european unit of account 9 (e.u.a.-9)) => [
- q(0174),
+ q(0172),
q(0),
],
q(brazilian real) => [
@@ -732,7 +699,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(cordoba oro) => [
- q(0115),
+ q(0114),
q(0),
],
q(costa rican colon) => [
@@ -760,7 +727,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(denar) => [
- q(0098),
+ q(0097),
q(0),
],
q(djibouti franc) => [
@@ -768,7 +735,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(dobra) => [
- q(0131),
+ q(0129),
q(0),
],
q(dominican peso) => [
@@ -776,7 +743,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(dong) => [
- q(0168),
+ q(0166),
q(0),
],
q(east caribbean dollar) => [
@@ -820,7 +787,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(gold) => [
- q(0176),
+ q(0174),
q(0),
],
q(gourde) => [
@@ -828,7 +795,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(guarani) => [
- q(0121),
+ q(0120),
q(0),
],
q(guinea franc) => [
@@ -844,7 +811,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(hryvnia) => [
- q(0159),
+ q(0157),
q(0),
],
q(iceland krona) => [
@@ -876,7 +843,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(kina) => [
- q(0120),
+ q(0119),
q(0),
],
q(kip) => [
@@ -888,7 +855,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(kwacha) => [
- q(0100),
+ q(0099),
q(0),
],
q(kwanza) => [
@@ -896,19 +863,15 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(kyat) => [
- q(0112),
+ q(0111),
q(0),
],
q(lari) => [
q(0062),
q(0),
],
- q(latvian lats) => [
- q(0089),
- q(0),
- ],
q(lebanese pound) => [
- q(0090),
+ q(0089),
q(0),
],
q(lek) => [
@@ -920,59 +883,59 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(leone) => [
- q(0135),
+ q(0133),
q(0),
],
q(liberian dollar) => [
- q(0093),
+ q(0092),
q(0),
],
q(libyan dinar) => [
- q(0094),
+ q(0093),
q(0),
],
q(lilangeni) => [
- q(0144),
+ q(0142),
q(0),
],
q(lithuanian litas) => [
- q(0096),
+ q(0095),
q(0),
],
q(loti) => [
- q(0091),
+ q(0090),
q(0),
],
q(malagasy ariary) => [
- q(0099),
+ q(0098),
q(0),
],
q(malaysian ringgit) => [
- q(0101),
+ q(0100),
q(0),
],
q(mauritius rupee) => [
- q(0104),
+ q(0103),
q(0),
],
q(mexican peso) => [
- q(0106),
+ q(0105),
q(0),
],
q(mexican unidad de inversion (udi)) => [
- q(0107),
+ q(0106),
q(0),
],
q(moldovan leu) => [
- q(0108),
+ q(0107),
q(0),
],
q(moroccan dirham) => [
- q(0110),
+ q(0109),
q(0),
],
q(mozambique metical) => [
- q(0111),
+ q(0110),
q(0),
],
q(mvdol) => [
@@ -980,7 +943,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(naira) => [
- q(0116),
+ q(0115),
q(0),
],
q(nakfa) => [
@@ -988,11 +951,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(namibia dollar) => [
- q(0113),
+ q(0112),
q(0),
],
q(nepalese rupee) => [
- q(0114),
+ q(0113),
q(0),
],
q(netherlands antillean guilder) => [
@@ -1004,11 +967,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(new romanian leu) => [
- q(0126),
+ q(0125),
q(0),
],
q(new taiwan dollar) => [
- q(0149),
+ q(0147),
q(0),
],
q(new zealand dollar) => [
@@ -1028,27 +991,27 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(nuevo sol) => [
- q(0122),
+ q(0121),
q(0),
],
q(ouguiya) => [
- q(0103),
+ q(0102),
q(0),
],
q(pa'anga) => [
- q(0153),
+ q(0151),
q(0),
],
q(pakistan rupee) => [
- q(0118),
+ q(0117),
q(0),
],
q(palladium) => [
- q(0177),
+ q(0175),
q(0),
],
q(pataca) => [
- q(0097),
+ q(0096),
q(0),
],
q(peso convertible) => [
@@ -1056,15 +1019,15 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(peso uruguayo) => [
- q(0164),
+ q(0162),
q(0),
],
q(philippine peso) => [
- q(0123),
+ q(0122),
q(0),
],
q(platinum) => [
- q(0178),
+ q(0176),
q(0),
],
q(pound sterling) => [
@@ -1076,7 +1039,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(qatari rial) => [
- q(0125),
+ q(0124),
q(0),
],
q(quetzal) => [
@@ -1084,11 +1047,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(rand) => [
- q(0092),
+ q(0091),
q(0),
],
q(rial omani) => [
- q(0117),
+ q(0116),
q(0),
],
q(riel) => [
@@ -1096,7 +1059,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(rufiyaa) => [
- q(0102),
+ q(0101),
q(0),
],
q(rupiah) => [
@@ -1104,19 +1067,15 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(russian ruble) => [
- q(0127),
+ q(0126),
q(0),
],
q(rwanda franc) => [
- q(0128),
- q(0),
- ],
- q(saint helena pound) => [
- q(0129),
+ q(0127),
q(0),
],
q(saudi riyal) => [
- q(0132),
+ q(0130),
q(0),
],
q(sdr (special drawing right)) => [
@@ -1124,23 +1083,23 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(serbian dinar) => [
- q(0133),
+ q(0131),
q(0),
],
q(seychelles rupee) => [
- q(0134),
+ q(0132),
q(0),
],
q(silver) => [
- q(0179),
+ q(0177),
q(0),
],
q(singapore dollar) => [
- q(0136),
+ q(0134),
q(0),
],
q(solomon islands dollar) => [
- q(0138),
+ q(0136),
q(0),
],
q(som) => [
@@ -1148,43 +1107,43 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(somali shilling) => [
- q(0139),
+ q(0137),
q(0),
],
q(somoni) => [
- q(0150),
+ q(0148),
q(0),
],
q(south sudanese pound) => [
- q(0140),
+ q(0138),
q(0),
],
q(sri lanka rupee) => [
- q(0141),
+ q(0139),
q(0),
],
q(sucre) => [
- q(0137),
+ q(0135),
q(0),
],
q(sudanese pound) => [
- q(0142),
+ q(0140),
q(0),
],
q(surinam dollar) => [
- q(0143),
+ q(0141),
q(0),
],
q(swedish krona) => [
- q(0145),
+ q(0143),
q(0),
],
q(swiss franc) => [
- q(0095),
+ q(0094),
q(0),
],
q(syrian pound) => [
- q(0148),
+ q(0146),
q(0),
],
q(taka) => [
@@ -1192,11 +1151,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(tala) => [
- q(0130),
+ q(0128),
q(0),
],
q(tanzanian shilling) => [
- q(0151),
+ q(0149),
q(0),
],
q(tenge) => [
@@ -1204,43 +1163,43 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(trinidad and tobago dollar) => [
- q(0154),
+ q(0152),
q(0),
],
q(tugrik) => [
- q(0109),
+ q(0108),
q(0),
],
q(tunisian dinar) => [
- q(0155),
+ q(0153),
q(0),
],
q(turkish lira) => [
- q(0156),
+ q(0154),
q(0),
],
q(turkmenistan new manat) => [
- q(0157),
+ q(0155),
q(0),
],
q(uae dirham) => [
- q(0160),
+ q(0158),
q(0),
],
q(uganda shilling) => [
- q(0158),
+ q(0156),
q(0),
],
- q(unidad de valor real) => [
- q(0041),
+ q(unidad de fomento) => [
+ q(0037),
q(0),
],
- q(unidades de fomento) => [
- q(0037),
+ q(unidad de valor real) => [
+ q(0041),
q(0),
],
q(uruguay peso en unidades indexadas (uruiurui)) => [
- q(0163),
+ q(0161),
q(0),
],
q(us dollar) => [
@@ -1248,27 +1207,27 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(us dollar (next day)) => [
- q(0161),
+ q(0159),
q(0),
],
q(us dollar (same day)) => [
- q(0162),
+ q(0160),
q(0),
],
q(uzbekistan sum) => [
- q(0165),
+ q(0163),
q(0),
],
q(vatu) => [
- q(0166),
+ q(0164),
q(0),
],
q(wir euro) => [
- q(0146),
+ q(0144),
q(0),
],
q(wir franc) => [
- q(0147),
+ q(0145),
q(0),
],
q(won) => [
@@ -1276,7 +1235,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(yemeni rial) => [
- q(0169),
+ q(0167),
q(0),
],
q(yen) => [
@@ -1288,15 +1247,15 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
q(0),
],
q(zambian kwacha) => [
- q(0170),
+ q(0168),
q(0),
],
q(zimbabwe dollar) => [
- q(0171),
+ q(0169),
q(0),
],
q(zloty) => [
- q(0124),
+ q(0123),
q(0),
],
};
@@ -1304,7 +1263,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
$Locale::Codes::Data{'currency'}{'code2id'} = {
q(alpha) => {
q(AED) => [
- q(0160),
+ q(0158),
q(0),
],
q(AFN) => [
@@ -1416,15 +1375,15 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(CHE) => [
- q(0146),
+ q(0144),
q(0),
],
q(CHF) => [
- q(0095),
+ q(0094),
q(0),
],
q(CHW) => [
- q(0147),
+ q(0145),
q(0),
],
q(CLF) => [
@@ -1636,103 +1595,99 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(LBP) => [
- q(0090),
+ q(0089),
q(0),
],
q(LKR) => [
- q(0141),
+ q(0139),
q(0),
],
q(LRD) => [
- q(0093),
+ q(0092),
q(0),
],
q(LSL) => [
- q(0091),
+ q(0090),
q(0),
],
q(LTL) => [
- q(0096),
- q(0),
- ],
- q(LVL) => [
- q(0089),
+ q(0095),
q(0),
],
q(LYD) => [
- q(0094),
+ q(0093),
q(0),
],
q(MAD) => [
- q(0110),
+ q(0109),
q(0),
],
q(MDL) => [
- q(0108),
+ q(0107),
q(0),
],
q(MGA) => [
- q(0099),
+ q(0098),
q(0),
],
q(MKD) => [
- q(0098),
+ q(0097),
q(0),
],
q(MMK) => [
- q(0112),
+ q(0111),
q(0),
],
q(MNT) => [
- q(0109),
+ q(0108),
q(0),
],
q(MOP) => [
- q(0097),
+ q(0096),
q(0),
],
q(MRO) => [
- q(0103),
+ q(0102),
q(0),
],
q(MUR) => [
- q(0104),
+ q(0103),
q(0),
],
q(MVR) => [
- q(0102),
+ q(0101),
q(0),
],
q(MWK) => [
- q(0100),
+ q(0099),
q(0),
],
q(MXN) => [
- q(0106),
+ q(0105),
q(0),
],
q(MXV) => [
- q(0107),
+ q(0106),
q(0),
],
q(MYR) => [
- q(0101),
+ q(0100),
q(0),
],
q(MZN) => [
- q(0111),
+ q(0110),
q(0),
],
q(NAD) => [
- q(0113),
+ q(0112),
q(0),
],
q(NGN) => [
- q(0116),
+ q(0115),
q(0),
],
q(NIO) => [
- q(0115),
+ q(0114),
q(0),
],
q(NOK) => [
@@ -1740,7 +1695,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(NPR) => [
- q(0114),
+ q(0113),
q(0),
],
q(NZD) => [
@@ -1748,103 +1703,99 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(OMR) => [
- q(0117),
+ q(0116),
q(0),
],
q(PAB) => [
- q(0119),
+ q(0118),
q(0),
],
q(PEN) => [
- q(0122),
+ q(0121),
q(0),
],
q(PGK) => [
- q(0120),
+ q(0119),
q(0),
],
q(PHP) => [
- q(0123),
+ q(0122),
q(0),
],
q(PKR) => [
- q(0118),
+ q(0117),
q(0),
],
q(PLN) => [
- q(0124),
+ q(0123),
q(0),
],
q(PYG) => [
- q(0121),
+ q(0120),
q(0),
],
q(QAR) => [
- q(0125),
+ q(0124),
q(0),
],
q(RON) => [
- q(0126),
+ q(0125),
q(0),
],
q(RSD) => [
- q(0133),
+ q(0131),
q(0),
],
q(RUB) => [
- q(0127),
+ q(0126),
q(0),
],
q(RWF) => [
- q(0128),
+ q(0127),
q(0),
],
q(SAR) => [
- q(0132),
+ q(0130),
q(0),
],
q(SBD) => [
- q(0138),
+ q(0136),
q(0),
],
q(SCR) => [
- q(0134),
+ q(0132),
q(0),
],
q(SDG) => [
- q(0142),
+ q(0140),
q(0),
],
q(SEK) => [
- q(0145),
+ q(0143),
q(0),
],
q(SGD) => [
- q(0136),
- q(0),
- ],
- q(SHP) => [
- q(0129),
+ q(0134),
q(0),
],
q(SLL) => [
- q(0135),
+ q(0133),
q(0),
],
q(SOS) => [
- q(0139),
+ q(0137),
q(0),
],
q(SRD) => [
- q(0143),
+ q(0141),
q(0),
],
q(SSP) => [
- q(0140),
+ q(0138),
q(0),
],
q(STD) => [
- q(0131),
+ q(0129),
q(0),
],
q(SVC) => [
@@ -1852,55 +1803,55 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(SYP) => [
- q(0148),
+ q(0146),
q(0),
],
q(SZL) => [
- q(0144),
+ q(0142),
q(0),
],
q(THB) => [
- q(0152),
+ q(0150),
q(0),
],
q(TJS) => [
- q(0150),
+ q(0148),
q(0),
],
q(TMT) => [
- q(0157),
+ q(0155),
q(0),
],
q(TND) => [
- q(0155),
+ q(0153),
q(0),
],
q(TOP) => [
- q(0153),
+ q(0151),
q(0),
],
q(TRY) => [
- q(0156),
+ q(0154),
q(0),
],
q(TTD) => [
- q(0154),
+ q(0152),
q(0),
],
q(TWD) => [
- q(0149),
+ q(0147),
q(0),
],
q(TZS) => [
- q(0151),
+ q(0149),
q(0),
],
q(UAH) => [
- q(0159),
+ q(0157),
q(0),
],
q(UGX) => [
- q(0158),
+ q(0156),
q(0),
],
q(USD) => [
@@ -1908,39 +1859,39 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(USN) => [
- q(0161),
+ q(0159),
q(0),
],
q(USS) => [
- q(0162),
+ q(0160),
q(0),
],
q(UYI) => [
- q(0163),
+ q(0161),
q(0),
],
q(UYU) => [
- q(0164),
+ q(0162),
q(0),
],
q(UZS) => [
- q(0165),
+ q(0163),
q(0),
],
q(VEF) => [
- q(0167),
+ q(0165),
q(0),
],
q(VND) => [
- q(0168),
+ q(0166),
q(0),
],
q(VUV) => [
- q(0166),
+ q(0164),
q(0),
],
q(WST) => [
- q(0130),
+ q(0128),
q(0),
],
q(XAF) => [
@@ -1948,27 +1899,27 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(XAG) => [
- q(0179),
+ q(0177),
q(0),
],
q(XAU) => [
- q(0176),
+ q(0174),
q(0),
],
q(XBA) => [
- q(0172),
+ q(0170),
q(0),
],
q(XBB) => [
- q(0173),
+ q(0171),
q(0),
],
q(XBC) => [
- q(0174),
+ q(0172),
q(0),
],
q(XBD) => [
- q(0175),
+ q(0173),
q(0),
],
q(XCD) => [
@@ -1984,7 +1935,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(XPD) => [
- q(0177),
+ q(0175),
q(0),
],
q(XPF) => [
@@ -1992,31 +1943,31 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(XPT) => [
- q(0178),
+ q(0176),
q(0),
],
q(XSU) => [
- q(0137),
+ q(0135),
q(0),
],
q(XUA) => [
- q(0105),
+ q(0104),
q(0),
],
q(YER) => [
- q(0169),
+ q(0167),
q(0),
],
q(ZAR) => [
- q(0092),
+ q(0091),
q(0),
],
q(ZMW) => [
- q(0170),
+ q(0168),
q(0),
],
q(ZWL) => [
- q(0171),
+ q(0169),
q(0),
],
},
@@ -2078,7 +2029,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(090) => [
- q(0138),
+ q(0136),
q(0),
],
q(096) => [
@@ -2086,7 +2037,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(104) => [
- q(0112),
+ q(0111),
q(0),
],
q(108) => [
@@ -2110,7 +2061,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(144) => [
- q(0141),
+ q(0139),
q(0),
],
q(152) => [
@@ -2278,79 +2229,75 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(422) => [
- q(0090),
+ q(0089),
q(0),
],
q(426) => [
- q(0091),
- q(0),
- ],
- q(428) => [
- q(0089),
+ q(0090),
q(0),
],
q(430) => [
- q(0093),
+ q(0092),
q(0),
],
q(434) => [
- q(0094),
+ q(0093),
q(0),
],
q(440) => [
- q(0096),
+ q(0095),
q(0),
],
q(446) => [
- q(0097),
+ q(0096),
q(0),
],
q(454) => [
- q(0100),
+ q(0099),
q(0),
],
q(458) => [
- q(0101),
+ q(0100),
q(0),
],
q(462) => [
- q(0102),
+ q(0101),
q(0),
],
q(478) => [
- q(0103),
+ q(0102),
q(0),
],
q(480) => [
- q(0104),
+ q(0103),
q(0),
],
q(484) => [
- q(0106),
+ q(0105),
q(0),
],
q(496) => [
- q(0109),
+ q(0108),
q(0),
],
q(498) => [
- q(0108),
+ q(0107),
q(0),
],
q(504) => [
- q(0110),
+ q(0109),
q(0),
],
q(512) => [
- q(0117),
+ q(0116),
q(0),
],
q(516) => [
- q(0113),
+ q(0112),
q(0),
],
q(524) => [
- q(0114),
+ q(0113),
q(0),
],
q(532) => [
@@ -2362,7 +2309,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(548) => [
- q(0166),
+ q(0164),
q(0),
],
q(554) => [
@@ -2370,11 +2317,11 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(558) => [
- q(0115),
+ q(0114),
q(0),
],
q(566) => [
- q(0116),
+ q(0115),
q(0),
],
q(578) => [
@@ -2382,123 +2329,119 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(586) => [
- q(0118),
+ q(0117),
q(0),
],
q(590) => [
- q(0119),
+ q(0118),
q(0),
],
q(598) => [
- q(0120),
+ q(0119),
q(0),
],
q(600) => [
- q(0121),
+ q(0120),
q(0),
],
q(604) => [
- q(0122),
+ q(0121),
q(0),
],
q(608) => [
- q(0123),
+ q(0122),
q(0),
],
q(634) => [
- q(0125),
+ q(0124),
q(0),
],
q(643) => [
- q(0127),
+ q(0126),
q(0),
],
q(646) => [
- q(0128),
- q(0),
- ],
- q(654) => [
- q(0129),
+ q(0127),
q(0),
],
q(678) => [
- q(0131),
+ q(0129),
q(0),
],
q(682) => [
- q(0132),
+ q(0130),
q(0),
],
q(690) => [
- q(0134),
+ q(0132),
q(0),
],
q(694) => [
- q(0135),
+ q(0133),
q(0),
],
q(702) => [
- q(0136),
+ q(0134),
q(0),
],
q(704) => [
- q(0168),
+ q(0166),
q(0),
],
q(706) => [
- q(0139),
+ q(0137),
q(0),
],
q(710) => [
- q(0092),
+ q(0091),
q(0),
],
q(728) => [
- q(0140),
+ q(0138),
q(0),
],
q(748) => [
- q(0144),
+ q(0142),
q(0),
],
q(752) => [
- q(0145),
+ q(0143),
q(0),
],
q(756) => [
- q(0095),
+ q(0094),
q(0),
],
q(760) => [
- q(0148),
+ q(0146),
q(0),
],
q(764) => [
- q(0152),
+ q(0150),
q(0),
],
q(776) => [
- q(0153),
+ q(0151),
q(0),
],
q(780) => [
- q(0154),
+ q(0152),
q(0),
],
q(784) => [
- q(0160),
+ q(0158),
q(0),
],
q(788) => [
- q(0155),
+ q(0153),
q(0),
],
q(800) => [
- q(0158),
+ q(0156),
q(0),
],
q(807) => [
- q(0098),
+ q(0097),
q(0),
],
q(818) => [
@@ -2510,7 +2453,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(834) => [
- q(0151),
+ q(0149),
q(0),
],
q(840) => [
@@ -2518,23 +2461,23 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(858) => [
- q(0164),
+ q(0162),
q(0),
],
q(860) => [
- q(0165),
+ q(0163),
q(0),
],
q(882) => [
- q(0130),
+ q(0128),
q(0),
],
q(886) => [
- q(0169),
+ q(0167),
q(0),
],
q(901) => [
- q(0149),
+ q(0147),
q(0),
],
q(931) => [
@@ -2542,11 +2485,11 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(932) => [
- q(0171),
+ q(0169),
q(0),
],
q(934) => [
- q(0157),
+ q(0155),
q(0),
],
q(936) => [
@@ -2554,23 +2497,23 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(937) => [
- q(0167),
+ q(0165),
q(0),
],
q(938) => [
- q(0142),
+ q(0140),
q(0),
],
q(940) => [
- q(0163),
+ q(0161),
q(0),
],
q(941) => [
- q(0133),
+ q(0131),
q(0),
],
q(943) => [
- q(0111),
+ q(0110),
q(0),
],
q(944) => [
@@ -2578,19 +2521,19 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(946) => [
- q(0126),
+ q(0125),
q(0),
],
q(947) => [
- q(0146),
+ q(0144),
q(0),
],
q(948) => [
- q(0147),
+ q(0145),
q(0),
],
q(949) => [
- q(0156),
+ q(0154),
q(0),
],
q(950) => [
@@ -2610,23 +2553,23 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(955) => [
- q(0172),
+ q(0170),
q(0),
],
q(956) => [
- q(0173),
+ q(0171),
q(0),
],
q(957) => [
- q(0174),
+ q(0172),
q(0),
],
q(958) => [
- q(0175),
+ q(0173),
q(0),
],
q(959) => [
- q(0176),
+ q(0174),
q(0),
],
q(960) => [
@@ -2634,31 +2577,31 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(961) => [
- q(0179),
+ q(0177),
q(0),
],
q(962) => [
- q(0178),
+ q(0176),
q(0),
],
q(964) => [
- q(0177),
+ q(0175),
q(0),
],
q(965) => [
- q(0105),
+ q(0104),
q(0),
],
q(967) => [
- q(0170),
+ q(0168),
q(0),
],
q(968) => [
- q(0143),
+ q(0141),
q(0),
],
q(969) => [
- q(0099),
+ q(0098),
q(0),
],
q(970) => [
@@ -2670,7 +2613,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(972) => [
- q(0150),
+ q(0148),
q(0),
],
q(973) => [
@@ -2698,11 +2641,11 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(979) => [
- q(0107),
+ q(0106),
q(0),
],
q(980) => [
- q(0159),
+ q(0157),
q(0),
],
q(981) => [
@@ -2714,7 +2657,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(985) => [
- q(0124),
+ q(0123),
q(0),
],
q(986) => [
@@ -2726,15 +2669,15 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
q(0),
],
q(994) => [
- q(0137),
+ q(0135),
q(0),
],
q(997) => [
- q(0161),
+ q(0159),
q(0),
],
q(998) => [
- q(0162),
+ q(0160),
q(0),
],
},
@@ -2830,97 +2773,95 @@ $Locale::Codes::Data{'currency'}{'id2code'} = {
q(0086) => q(KWD),
q(0087) => q(KGS),
q(0088) => q(LAK),
- q(0089) => q(LVL),
- q(0090) => q(LBP),
- q(0091) => q(LSL),
- q(0092) => q(ZAR),
- q(0093) => q(LRD),
- q(0094) => q(LYD),
- q(0095) => q(CHF),
- q(0096) => q(LTL),
- q(0097) => q(MOP),
- q(0098) => q(MKD),
- q(0099) => q(MGA),
- q(0100) => q(MWK),
- q(0101) => q(MYR),
- q(0102) => q(MVR),
- q(0103) => q(MRO),
- q(0104) => q(MUR),
- q(0105) => q(XUA),
- q(0106) => q(MXN),
- q(0107) => q(MXV),
- q(0108) => q(MDL),
- q(0109) => q(MNT),
- q(0110) => q(MAD),
- q(0111) => q(MZN),
- q(0112) => q(MMK),
- q(0113) => q(NAD),
- q(0114) => q(NPR),
- q(0115) => q(NIO),
- q(0116) => q(NGN),
- q(0117) => q(OMR),
- q(0118) => q(PKR),
- q(0119) => q(PAB),
- q(0120) => q(PGK),
- q(0121) => q(PYG),
- q(0122) => q(PEN),
- q(0123) => q(PHP),
- q(0124) => q(PLN),
- q(0125) => q(QAR),
- q(0126) => q(RON),
- q(0127) => q(RUB),
- q(0128) => q(RWF),
- q(0129) => q(SHP),
- q(0130) => q(WST),
- q(0131) => q(STD),
- q(0132) => q(SAR),
- q(0133) => q(RSD),
- q(0134) => q(SCR),
- q(0135) => q(SLL),
- q(0136) => q(SGD),
- q(0137) => q(XSU),
- q(0138) => q(SBD),
- q(0139) => q(SOS),
- q(0140) => q(SSP),
- q(0141) => q(LKR),
- q(0142) => q(SDG),
- q(0143) => q(SRD),
- q(0144) => q(SZL),
- q(0145) => q(SEK),
- q(0146) => q(CHE),
- q(0147) => q(CHW),
- q(0148) => q(SYP),
- q(0149) => q(TWD),
- q(0150) => q(TJS),
- q(0151) => q(TZS),
- q(0152) => q(THB),
- q(0153) => q(TOP),
- q(0154) => q(TTD),
- q(0155) => q(TND),
- q(0156) => q(TRY),
- q(0157) => q(TMT),
- q(0158) => q(UGX),
- q(0159) => q(UAH),
- q(0160) => q(AED),
- q(0161) => q(USN),
- q(0162) => q(USS),
- q(0163) => q(UYI),
- q(0164) => q(UYU),
- q(0165) => q(UZS),
- q(0166) => q(VUV),
- q(0167) => q(VEF),
- q(0168) => q(VND),
- q(0169) => q(YER),
- q(0170) => q(ZMW),
- q(0171) => q(ZWL),
- q(0172) => q(XBA),
- q(0173) => q(XBB),
- q(0174) => q(XBC),
- q(0175) => q(XBD),
- q(0176) => q(XAU),
- q(0177) => q(XPD),
- q(0178) => q(XPT),
- q(0179) => q(XAG),
+ 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(XUA),
+ q(0105) => q(MXN),
+ q(0106) => q(MXV),
+ q(0107) => q(MDL),
+ q(0108) => q(MNT),
+ q(0109) => q(MAD),
+ q(0110) => q(MZN),
+ q(0111) => q(MMK),
+ q(0112) => q(NAD),
+ q(0113) => q(NPR),
+ q(0114) => q(NIO),
+ q(0115) => q(NGN),
+ q(0116) => q(OMR),
+ q(0117) => q(PKR),
+ q(0118) => q(PAB),
+ q(0119) => q(PGK),
+ q(0120) => q(PYG),
+ q(0121) => q(PEN),
+ q(0122) => q(PHP),
+ q(0123) => q(PLN),
+ q(0124) => q(QAR),
+ q(0125) => q(RON),
+ q(0126) => q(RUB),
+ q(0127) => q(RWF),
+ 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(SSP),
+ q(0139) => q(LKR),
+ q(0140) => q(SDG),
+ q(0141) => q(SRD),
+ q(0142) => q(SZL),
+ q(0143) => q(SEK),
+ q(0144) => q(CHE),
+ q(0145) => q(CHW),
+ q(0146) => q(SYP),
+ q(0147) => q(TWD),
+ q(0148) => q(TJS),
+ q(0149) => q(TZS),
+ q(0150) => q(THB),
+ q(0151) => q(TOP),
+ q(0152) => q(TTD),
+ q(0153) => q(TND),
+ q(0154) => q(TRY),
+ q(0155) => q(TMT),
+ q(0156) => q(UGX),
+ q(0157) => q(UAH),
+ q(0158) => q(AED),
+ q(0159) => q(USN),
+ q(0160) => q(USS),
+ q(0161) => q(UYI),
+ q(0162) => q(UYU),
+ q(0163) => q(UZS),
+ q(0164) => q(VUV),
+ q(0165) => q(VEF),
+ q(0166) => q(VND),
+ q(0167) => q(YER),
+ q(0168) => q(ZMW),
+ q(0169) => q(ZWL),
+ q(0170) => q(XBA),
+ q(0171) => q(XBB),
+ q(0172) => q(XBC),
+ q(0173) => q(XBD),
+ q(0174) => q(XAU),
+ q(0175) => q(XPD),
+ q(0176) => q(XPT),
+ q(0177) => q(XAG),
},
q(num) => {
q(0001) => q(971),
@@ -3011,97 +2952,95 @@ $Locale::Codes::Data{'currency'}{'id2code'} = {
q(0086) => q(414),
q(0087) => q(417),
q(0088) => q(418),
- q(0089) => q(428),
- q(0090) => q(422),
- q(0091) => q(426),
- q(0092) => q(710),
- q(0093) => q(430),
- q(0094) => q(434),
- q(0095) => q(756),
- q(0096) => q(440),
- q(0097) => q(446),
- q(0098) => q(807),
- q(0099) => q(969),
- q(0100) => q(454),
- q(0101) => q(458),
- q(0102) => q(462),
- q(0103) => q(478),
- q(0104) => q(480),
- q(0105) => q(965),
- q(0106) => q(484),
- q(0107) => q(979),
- q(0108) => q(498),
- q(0109) => q(496),
- q(0110) => q(504),
- q(0111) => q(943),
- q(0112) => q(104),
- q(0113) => q(516),
- q(0114) => q(524),
- q(0115) => q(558),
- q(0116) => q(566),
- q(0117) => q(512),
- q(0118) => q(586),
- q(0119) => q(590),
- q(0120) => q(598),
- q(0121) => q(600),
- q(0122) => q(604),
- q(0123) => q(608),
- q(0124) => q(985),
- q(0125) => q(634),
- q(0126) => q(946),
- q(0127) => q(643),
- q(0128) => q(646),
- q(0129) => q(654),
- q(0130) => q(882),
- q(0131) => q(678),
- q(0132) => q(682),
- q(0133) => q(941),
- q(0134) => q(690),
- q(0135) => q(694),
- q(0136) => q(702),
- q(0137) => q(994),
- q(0138) => q(090),
- q(0139) => q(706),
- q(0140) => q(728),
- q(0141) => q(144),
- q(0142) => q(938),
- q(0143) => q(968),
- q(0144) => q(748),
- q(0145) => q(752),
- q(0146) => q(947),
- q(0147) => q(948),
- q(0148) => q(760),
- q(0149) => q(901),
- q(0150) => q(972),
- q(0151) => q(834),
- q(0152) => q(764),
- q(0153) => q(776),
- q(0154) => q(780),
- q(0155) => q(788),
- q(0156) => q(949),
- q(0157) => q(934),
- q(0158) => q(800),
- q(0159) => q(980),
- q(0160) => q(784),
- q(0161) => q(997),
- q(0162) => q(998),
- q(0163) => q(940),
- q(0164) => q(858),
- q(0165) => q(860),
- q(0166) => q(548),
- q(0167) => q(937),
- q(0168) => q(704),
- q(0169) => q(886),
- q(0170) => q(967),
- q(0171) => q(932),
- q(0172) => q(955),
- q(0173) => q(956),
- q(0174) => q(957),
- q(0175) => q(958),
- q(0176) => q(959),
- q(0177) => q(964),
- q(0178) => q(962),
- q(0179) => q(961),
+ 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(965),
+ q(0105) => q(484),
+ q(0106) => q(979),
+ q(0107) => q(498),
+ q(0108) => q(496),
+ q(0109) => q(504),
+ q(0110) => q(943),
+ q(0111) => q(104),
+ q(0112) => q(516),
+ q(0113) => q(524),
+ q(0114) => q(558),
+ q(0115) => q(566),
+ q(0116) => q(512),
+ q(0117) => q(586),
+ q(0118) => q(590),
+ q(0119) => q(598),
+ q(0120) => q(600),
+ q(0121) => q(604),
+ q(0122) => q(608),
+ q(0123) => q(985),
+ q(0124) => q(634),
+ q(0125) => q(946),
+ q(0126) => q(643),
+ q(0127) => q(646),
+ 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(728),
+ q(0139) => q(144),
+ q(0140) => q(938),
+ q(0141) => q(968),
+ q(0142) => q(748),
+ q(0143) => q(752),
+ q(0144) => q(947),
+ q(0145) => q(948),
+ q(0146) => q(760),
+ q(0147) => q(901),
+ q(0148) => q(972),
+ q(0149) => q(834),
+ q(0150) => q(764),
+ q(0151) => q(776),
+ q(0152) => q(780),
+ q(0153) => q(788),
+ q(0154) => q(949),
+ q(0155) => q(934),
+ q(0156) => q(800),
+ q(0157) => q(980),
+ q(0158) => q(784),
+ q(0159) => q(997),
+ q(0160) => q(998),
+ q(0161) => q(940),
+ q(0162) => q(858),
+ q(0163) => q(860),
+ q(0164) => q(548),
+ q(0165) => q(937),
+ q(0166) => q(704),
+ q(0167) => q(886),
+ q(0168) => q(967),
+ q(0169) => q(932),
+ q(0170) => q(955),
+ q(0171) => q(956),
+ q(0172) => q(957),
+ q(0173) => q(958),
+ q(0174) => q(959),
+ q(0175) => q(964),
+ q(0176) => q(962),
+ q(0177) => q(961),
},
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm
index 4d398958025..367da08a57e 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Currency_Retired;
+package #
+Locale::Codes::Currency_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Currency_Retired - retired currency codes for the Locale::Codes::Currency module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
q(ADP) => q(Andorran Peseta),
@@ -64,6 +37,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
q(IEP) => q(Irish Pound),
q(ITL) => q(Italian Lira),
q(LUF) => q(Luxembourg Franc),
+ q(LVL) => q(Latvian Lats),
q(MGF) => q(Malagasy Franc),
q(MTL) => q(Maltese Lira),
q(MZM) => q(Metical),
@@ -72,6 +46,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
q(ROL) => q(Leu),
q(RUR) => q(Russian Ruble),
q(SDD) => q(Sudanese Dinar),
+ q(SHP) => q(Saint Helena Pound),
q(SIT) => q(Tolar),
q(SKK) => q(Slovak Koruna),
q(SRG) => q(Surinam Guilder),
@@ -92,6 +67,8 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
};
$Locale::Codes::Retired{'currency'}{'num'}{'code'} = {
+ q(428) => q(Latvian Lats),
+ q(654) => q(Saint Helena Pound),
};
$Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
@@ -128,6 +105,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
q(kroon) => [ q(EEK), q(Kroon) ],
q(kuna) => [ q(HRK), q(Kuna) ],
q(kwanza reajustado) => [ q(AOR), q(Kwanza Reajustado) ],
+ q(latvian lats) => [ q(LVL), q(Latvian Lats) ],
q(leu) => [ q(RON), q(Leu) ],
q(lev) => [ q(BGL), q(Lev) ],
q(luxembourg franc) => [ q(LUF), q(Luxembourg Franc) ],
@@ -145,6 +123,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
q(new manat) => [ q(TMT), q(New Manat) ],
q(new zaire) => [ q(ZRN), q(New Zaire) ],
q(portuguese escudo) => [ q(PTE), q(Portuguese Escudo) ],
+ q(saint helena pound) => [ q(SHP), q(Saint Helena Pound) ],
q(schilling) => [ q(ATS), q(Schilling) ],
q(sdr) => [ q(XDR), q(SDR) ],
q(shekel) => [ q(ILS), q(Shekel) ],
@@ -159,6 +138,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
q(tunisian dollar) => [ q(TND), q(Tunisian Dollar) ],
q(uic-franc) => [ q(XFU), q(UIC-Franc) ],
q(unidad de valor constante (uvc)) => [ q(ECV), q(Unidad de Valor Constante (UVC)) ],
+ q(unidades de fomento) => [ q(CLF), q(Unidades de fomento) ],
q(unidades de formento) => [ q(CLF), q(Unidades de Formento) ],
q(uruguay peso en unidades indexadas) => [ q(UYI), q(Uruguay Peso en Unidades Indexadas) ],
};
@@ -166,9 +146,12 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
$Locale::Codes::Retired{'currency'}{'num'}{'name'} = {
q(bolivar fuerte) => [ q(937), q(Bolivar Fuerte) ],
q(cedi) => [ q(936), q(Cedi) ],
+ q(latvian lats) => [ q(428), q(Latvian Lats) ],
q(leu) => [ q(946), q(Leu) ],
q(metical) => [ q(943), q(Metical) ],
q(new manat) => [ q(934), q(New Manat) ],
+ q(saint helena pound) => [ q(654), q(Saint Helena Pound) ],
+ q(unidades de fomento) => [ q(990), q(Unidades de fomento) ],
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm
index 13f8cf79d4d..c37d41bf2ba 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm
@@ -1,5 +1,5 @@
package Locale::Codes::LangExt;
-# Copyright (c) 2011-2013 Sullivan Beck
+# Copyright (c) 2011-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -20,7 +20,7 @@ use Locale::Codes::LangExt_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2langext
langext2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod
new file mode 100644
index 00000000000..47cb8abc3f4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod
@@ -0,0 +1,116 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangExt - standard codes for language extension identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangExt;
+
+ $lext = code2langext('acm'); # $lext gets 'Mesopotamian Arabic'
+ $code = langext2code('Mesopotamian Arabic'); # $code gets 'acm'
+
+ @codes = all_langext_codes();
+ @names = all_langext_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangExt> module provides access to standard codes
+used for identifying language extensions, such as those as defined in
+the IANA language registry.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default IANA
+language registry codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language extensions. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lext = code2langext('acm','alpha');
+ $lext = code2langext('acm',LOCALE_LANGEXT_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of three-letter (lowercase) codes from the IANA
+language registry, such as 'acm' for Mesopotamian Arabic.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langext ( CODE [,CODESET] )>
+
+=item B<langext2code ( NAME [,CODESET] )>
+
+=item B<langext_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langext_codes ( [CODESET] )>
+
+=item B<all_langext_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangExt::rename_langext ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::delete_langext ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangExt::delete_langext_alias ( NAME )>
+
+=item B<Locale::Codes::LangExt::rename_langext_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::delete_langext_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2014 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/LangExt_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm
index dec24a3d021..a1c920ca5ae 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::LangExt_Codes;
+package #
+Locale::Codes::LangExt_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:32 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangExt_Codes - langext codes for the Locale::Codes::LangExt module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangExt 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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:45:50 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Data{'langext'}{'id'} = '0228';
@@ -966,7 +939,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(finlandssvenskt teckensprak) => [
q(0077),
- q(0),
+ q(1),
],
q(finnish sign language) => [
q(0075),
@@ -974,11 +947,11 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(flemish sign language) => [
q(0209),
- q(0),
+ q(1),
],
q(french belgian sign language) => [
q(0178),
- q(0),
+ q(1),
],
q(french sign language) => [
q(0076),
@@ -1050,7 +1023,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(heung kong sau yue) => [
q(0091),
- q(0),
+ q(1),
],
q(hijazi arabic) => [
q(0006),
@@ -1142,7 +1115,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(kaapor sign language) => [
q(0205),
- q(0),
+ q(1),
],
q(kaur) => [
q(0210),
@@ -1162,7 +1135,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(kiswahili) => [
q(0192),
- q(0),
+ q(1),
],
q(konkani (individual language)) => [
q(0113),
@@ -1198,15 +1171,15 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(lengua de senas catalana) => [
q(0054),
- q(0),
+ q(1),
],
q(lengua de senas del paraguay) => [
q(0173),
- q(0),
+ q(1),
],
q(lengua de senas panamenas) => [
q(0126),
- q(0),
+ q(1),
],
q(libyan arabic) => [
q(0033),
@@ -1226,11 +1199,11 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(llengua de signes catalana) => [
q(0054),
- q(0),
+ q(2),
],
q(llengua de signes valenciana) => [
q(0214),
- q(0),
+ q(1),
],
q(loncong) => [
q(0119),
@@ -1558,7 +1531,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(suomenruotsalainen viittomakieli) => [
q(0077),
- q(0),
+ q(2),
],
q(swahili (individual language)) => [
q(0192),
@@ -1626,7 +1599,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
],
q(turk isaret dili) => [
q(0197),
- q(0),
+ q(1),
],
q(turkish sign language) => [
q(0197),
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm
index 265b0d131ba..0020e0898fa 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::LangExt_Retired;
+package #
+Locale::Codes::LangExt_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangExt_Retired - retired langext codes for the Locale::Codes::LangExt module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangExt 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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = {
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm
index 07fbe84909a..9d9075bd735 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm
@@ -1,5 +1,5 @@
package Locale::Codes::LangFam;
-# Copyright (c) 2011-2013 Sullivan Beck
+# Copyright (c) 2011-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -20,7 +20,7 @@ use Locale::Codes::LangFam_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2langfam
langfam2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod
new file mode 100644
index 00000000000..0b597d488c4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod
@@ -0,0 +1,116 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangFam - standard codes for language extension identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangFam;
+
+ $lext = code2langfam('apa'); # $lext gets 'Apache languages'
+ $code = langfam2code('Apache languages'); # $code gets 'apa'
+
+ @codes = all_langfam_codes();
+ @names = all_langfam_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangFam> module provides access to standard codes
+used for identifying language families, such as those as defined in
+ISO 639-5.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO 639-5
+language family codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language families. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lext = code2langfam('apa','alpha');
+ $lext = code2langfam('apa',LOCALE_LANGFAM_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of three-letter (lowercase) codes from ISO 639-5
+such as 'apa' for Apache languages.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langfam ( CODE [,CODESET] )>
+
+=item B<langfam2code ( NAME [,CODESET] )>
+
+=item B<langfam_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langfam_codes ( [CODESET] )>
+
+=item B<all_langfam_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangFam::rename_langfam ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::delete_langfam ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangFam::delete_langfam_alias ( NAME )>
+
+=item B<Locale::Codes::LangFam::rename_langfam_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::delete_langfam_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.loc.gov/standards/iso639-5/id.php>
+
+ISO 639-5 .
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2014 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/LangFam_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm
index 98f48f6bc77..254fdec6f8b 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::LangFam_Codes;
+package #
+Locale::Codes::LangFam_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:35 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangFam_Codes - langfam codes for the Locale::Codes::LangFam module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangFam 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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:46:01 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Data{'langfam'}{'id'} = '0116';
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm
index 2d09a68ed80..9549bb8fa22 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm
@@ -1,4 +1,5 @@
-package Locale::Codes::LangFam_Retired;
+package #
+Locale::Codes::LangFam_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
@@ -25,7 +26,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2013 Sullivan Beck
+ Copyright (c) 2010-2014 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
@@ -37,7 +38,7 @@ use warnings;
require 5.002;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = {
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm
index 013a0768b6b..96f7e15c9f1 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm
@@ -1,5 +1,5 @@
package Locale::Codes::LangVar;
-# Copyright (c) 2011-2013 Sullivan Beck
+# Copyright (c) 2011-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -20,7 +20,7 @@ use Locale::Codes::LangVar_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2langvar
langvar2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod
new file mode 100644
index 00000000000..e0a3c068883
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod
@@ -0,0 +1,118 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangVar - standard codes for language variation identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangVar;
+
+ $lvar = code2langvar('acm'); # $lvar gets 'Mesopotamian Arabic'
+ $code = langvar2code('Mesopotamian Arabic'); # $code gets 'acm'
+
+ @codes = all_langvar_codes();
+ @names = all_langvar_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangVar> module provides access to standard codes
+used for identifying language variations, such as those as defined in
+the IANA language registry.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default IANA
+language registry codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language variations. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lvar = code2langvar('arevela','alpha');
+ $lvar = code2langvar('arevela',LOCALE_LANGVAR_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of alphanumeric codes from the IANA
+language registry, such as 'arevela' for Eastern Armenian.
+
+This code set is identified with the symbol C<LOCALE_LANGVAR_ALPHA>.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langvar ( CODE [,CODESET] )>
+
+=item B<langvar2code ( NAME [,CODESET] )>
+
+=item B<langvar_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langvar_codes ( [CODESET] )>
+
+=item B<all_langvar_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangVar::rename_langvar ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::delete_langvar ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangVar::delete_langvar_alias ( NAME )>
+
+=item B<Locale::Codes::LangVar::rename_langvar_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::delete_langvar_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2014 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/LangVar_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm
index 8bca5041103..1003f22be32 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::LangVar_Codes;
+package #
+Locale::Codes::LangVar_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:34 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangVar_Codes - langvar codes for the Locale::Codes::LangVar module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangVar 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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:45:55 EST 2014
use strict;
require 5.006;
@@ -38,9 +11,9 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
-$Locale::Codes::Data{'langvar'}{'id'} = '0061';
+$Locale::Codes::Data{'langvar'}{'id'} = '0067';
$Locale::Codes::Data{'langvar'}{'id2names'} = {
q(0001) => [
@@ -79,87 +52,99 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
q(Unified Turkic Latin Alphabet (Historical)),
],
q(0012) => [
- q(Buddhist Hybrid Sanskrit),
+ q(The Balanka dialect of Anii),
],
q(0013) => [
- q(Biscayan dialect of Basque),
+ q(The Barlavento dialect group of Kabuverdianu),
],
q(0014) => [
- q(The San Giorgio dialect of Resian),
- q(The Bila dialect of Resian),
+ q(Buddhist Hybrid Sanskrit),
],
q(0015) => [
- q(Slovene in BohoriÄ alphabet),
+ q(Biscayan dialect of Basque),
],
q(0016) => [
- q(Boontling),
+ q(The San Giorgio dialect of Resian),
+ q(The Bila dialect of Resian),
],
q(0017) => [
- q(Slovene in Dajnko alphabet),
+ q(Slovene in Bohoric alphabet),
],
q(0018) => [
- q(Early Modern English (1500-1700)),
+ q(Boontling),
],
q(0019) => [
- q(International Phonetic Alphabet),
+ q(Slovene in Dajnko alphabet),
],
q(0020) => [
- q(Uralic Phonetic Alphabet),
+ q(Serbian with Ekavian pronunciation),
],
q(0021) => [
- q(X-SAMPA transcription),
+ q(Early Modern English (1500-1700)),
],
q(0022) => [
- q(Hepburn romanization),
+ q(International Phonetic Alphabet),
],
q(0023) => [
- q(Norwegian in Hognorsk (High Norwegian) orthography),
+ q(Uralic Phonetic Alphabet),
],
q(0024) => [
- q(Epic Sanskrit),
+ q(X-SAMPA transcription),
],
q(0025) => [
- q(Jauer dialect of Romansh),
+ q(Hepburn romanization),
],
q(0026) => [
- q(Jyutping Cantonese Romanization),
+ q(Norwegian in Hognorsk (High Norwegian) orthography),
],
q(0027) => [
- q(Common Cornish orthography of Revived Cornish),
+ q(Serbian with Ijekavian pronunciation),
],
q(0028) => [
+ q(Epic Sanskrit),
+ ],
+ q(0029) => [
+ q(Jauer dialect of Romansh),
+ ],
+ q(0030) => [
+ q(Jyutping Cantonese Romanization),
+ ],
+ q(0031) => [
+ q(Common Cornish orthography of Revived Cornish),
+ ],
+ q(0032) => [
q(Standard Cornish orthography of Revived Cornish),
q(Kernowek Standard),
],
- q(0029) => [
+ q(0033) => [
q(Classical Sanskrit),
],
- q(0030) => [
+ q(0034) => [
q(The Lipovaz dialect of Resian),
q(The Lipovec dialect of Resian),
],
- q(0031) => [
+ q(0035) => [
q(Post-1917 Russian orthography),
],
- q(0032) => [
+ q(0036) => [
q(Slovene in Metelko alphabet),
],
- q(0033) => [
+ q(0037) => [
q(Monotonic Greek),
],
- q(0034) => [
+ q(0038) => [
q(Ndyuka dialect),
q(Aukan dialect),
],
- q(0035) => [
+ q(0039) => [
q(Natisone dialect),
q(Nadiza dialect),
],
- q(0036) => [
+ q(0040) => [
q(The Gniva dialect of Resian),
q(The Njiva dialect of Resian),
],
- q(0037) => [
+ q(0041) => [
q(Volapuk nulik),
q(Volapuk perevidol),
q(Volapuk nuladik),
@@ -168,80 +153,86 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
q(Revised Volapuk),
q(Modern Volapuk),
],
- q(0038) => [
+ q(0042) => [
q(The Oseacco dialect of Resian),
q(The Osojane dialect of Resian),
],
- q(0039) => [
+ q(0043) => [
q(Pamaka dialect),
],
- q(0040) => [
+ q(0044) => [
q(Petrine orthography),
],
- q(0041) => [
+ q(0045) => [
q(Pinyin romanization),
],
- q(0042) => [
+ q(0046) => [
q(Polytonic Greek),
],
- q(0043) => [
+ q(0047) => [
q(Puter idiom of Romansh),
],
- q(0044) => [
+ q(0048) => [
q(Volapuk rigik),
q(Schleyer's Volapuk),
q(Original Volapuk),
q(Classic Volapuk),
],
- q(0045) => [
+ q(0049) => [
q(Resian),
q(Resianic),
q(Rezijan),
],
- q(0046) => [
+ q(0050) => [
q(Rumantsch Grischun),
],
- q(0047) => [
+ q(0051) => [
q(Scottish Standard English),
],
- q(0048) => [
+ q(0052) => [
q(Scouse),
],
- q(0049) => [
+ q(0053) => [
q(The Stolvizza dialect of Resian),
q(The Solbica dialect of Resian),
],
- q(0050) => [
+ q(0054) => [
+ q(The Sotavento dialect group of Kabuverdianu),
+ ],
+ q(0055) => [
q(Surmiran idiom of Romansh),
],
- q(0051) => [
+ q(0056) => [
q(Sursilvan idiom of Romansh),
],
- q(0052) => [
+ q(0057) => [
q(Sutsilvan idiom of Romansh),
],
- q(0053) => [
+ q(0058) => [
q(Belarusian in Taraskievica orthography),
],
- q(0054) => [
+ q(0059) => [
q(Unified Cornish orthography of Revived Cornish),
],
- q(0055) => [
+ q(0060) => [
q(Unified Cornish Revised orthography of Revived Cornish),
],
- q(0056) => [
+ q(0061) => [
q(Ulster dialect of Scots),
],
- q(0057) => [
+ q(0062) => [
+ q(Unifon phonetic alphabet),
+ ],
+ q(0063) => [
q(Vedic Sanskrit),
],
- q(0058) => [
+ q(0064) => [
q(Valencian),
],
- q(0059) => [
+ q(0065) => [
q(Vallader idiom of Romansh),
],
- q(0060) => [
+ q(0066) => [
q(Wade-Giles romanization),
],
};
@@ -249,7 +240,7 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
$Locale::Codes::Data{'langvar'}{'alias2id'} = {
q("academic" ("governmental") variant of belarusian as) => [
q(0004),
- q(0),
+ q(1),
],
q(ala-lc romanization, 1997 edition) => [
q(0007),
@@ -260,47 +251,47 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(aukan dialect) => [
- q(0034),
- q(0),
+ q(0038),
+ q(1),
],
q(belarusian in taraskievica orthography) => [
- q(0053),
+ q(0058),
q(0),
],
q(biscayan dialect of basque) => [
- q(0013),
+ q(0015),
q(0),
],
q(boni dialect) => [
q(0008),
- q(0),
+ q(1),
],
q(boontling) => [
- q(0016),
+ q(0018),
q(0),
],
q(buddhist hybrid sanskrit) => [
- q(0012),
+ q(0014),
q(0),
],
q(classic volapuk) => [
- q(0044),
- q(0),
+ q(0048),
+ q(3),
],
q(classical sanskrit) => [
- q(0029),
+ q(0033),
q(0),
],
q(common cornish orthography of revived cornish) => [
- q(0027),
+ q(0031),
q(0),
],
q(de jong's volapuk) => [
- q(0037),
- q(0),
+ q(0041),
+ q(3),
],
q(early modern english (1500-1700)) => [
- q(0018),
+ q(0021),
q(0),
],
q(early modern french) => [
@@ -312,7 +303,7 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(epic sanskrit) => [
- q(0024),
+ q(0028),
q(0),
],
q(german orthography of 1996) => [
@@ -320,131 +311,139 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(hepburn romanization) => [
- q(0022),
+ q(0025),
q(0),
],
q(international phonetic alphabet) => [
- q(0019),
+ q(0022),
q(0),
],
q(jauer dialect of romansh) => [
- q(0025),
+ q(0029),
q(0),
],
q(jyutping cantonese romanization) => [
- q(0026),
+ q(0030),
q(0),
],
q(kernowek standard) => [
- q(0028),
- q(0),
+ q(0032),
+ q(1),
],
q(late middle french (to 1606)) => [
q(0001),
q(0),
],
q(modern volapuk) => [
- q(0037),
- q(0),
+ q(0041),
+ q(6),
],
q(monotonic greek) => [
- q(0033),
+ q(0037),
q(0),
],
q(nadiza dialect) => [
- q(0035),
- q(0),
+ q(0039),
+ q(1),
],
q(natisone dialect) => [
- q(0035),
+ q(0039),
q(0),
],
q(ndyuka dialect) => [
- q(0034),
+ q(0038),
q(0),
],
q(new volapuk) => [
- q(0037),
- q(0),
+ q(0041),
+ q(4),
],
q(norwegian in hognorsk (high norwegian) orthography) => [
- q(0023),
+ q(0026),
q(0),
],
q(original volapuk) => [
- q(0044),
- q(0),
+ q(0048),
+ q(2),
],
q(pamaka dialect) => [
- q(0039),
+ q(0043),
q(0),
],
q(petrine orthography) => [
- q(0040),
+ q(0044),
q(0),
],
q(pinyin romanization) => [
- q(0041),
+ q(0045),
q(0),
],
q(polytonic greek) => [
- q(0042),
+ q(0046),
q(0),
],
q(post-1917 russian orthography) => [
- q(0031),
+ q(0035),
q(0),
],
q(puter idiom of romansh) => [
- q(0043),
+ q(0047),
q(0),
],
q(resian) => [
- q(0045),
+ q(0049),
q(0),
],
q(resianic) => [
- q(0045),
- q(0),
+ q(0049),
+ q(1),
],
q(revised volapuk) => [
- q(0037),
- q(0),
+ q(0041),
+ q(5),
],
q(rezijan) => [
- q(0045),
- q(0),
+ q(0049),
+ q(2),
],
q(rumantsch grischun) => [
- q(0046),
+ q(0050),
q(0),
],
q(schleyer's volapuk) => [
- q(0044),
- q(0),
+ q(0048),
+ q(1),
],
q(scottish standard english) => [
- q(0047),
+ q(0051),
q(0),
],
q(scouse) => [
- q(0048),
+ q(0052),
q(0),
],
- q(slovene in bohoriÄ alphabet) => [
- q(0015),
+ q(serbian with ekavian pronunciation) => [
+ q(0020),
q(0),
],
- q(slovene in dajnko alphabet) => [
+ q(serbian with ijekavian pronunciation) => [
+ q(0027),
+ q(0),
+ ],
+ q(slovene in bohoric alphabet) => [
q(0017),
q(0),
],
+ q(slovene in dajnko alphabet) => [
+ q(0019),
+ q(0),
+ ],
q(slovene in metelko alphabet) => [
- q(0032),
+ q(0036),
q(0),
],
q(standard cornish orthography of revived cornish) => [
- q(0028),
+ q(0032),
q(0),
],
q(standardized resian orthography) => [
@@ -452,55 +451,67 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(surmiran idiom of romansh) => [
- q(0050),
+ q(0055),
q(0),
],
q(sursilvan idiom of romansh) => [
- q(0051),
+ q(0056),
q(0),
],
q(sutsilvan idiom of romansh) => [
- q(0052),
+ q(0057),
q(0),
],
- q(the bila dialect of resian) => [
- q(0014),
+ q(the balanka dialect of anii) => [
+ q(0012),
q(0),
],
+ q(the barlavento dialect group of kabuverdianu) => [
+ q(0013),
+ q(0),
+ ],
+ q(the bila dialect of resian) => [
+ q(0016),
+ q(1),
+ ],
q(the gniva dialect of resian) => [
- q(0036),
+ q(0040),
q(0),
],
q(the lipovaz dialect of resian) => [
- q(0030),
+ q(0034),
q(0),
],
q(the lipovec dialect of resian) => [
- q(0030),
- q(0),
+ q(0034),
+ q(1),
],
q(the njiva dialect of resian) => [
- q(0036),
- q(0),
+ q(0040),
+ q(1),
],
q(the oseacco dialect of resian) => [
- q(0038),
+ q(0042),
q(0),
],
q(the osojane dialect of resian) => [
- q(0038),
- q(0),
+ q(0042),
+ q(1),
],
q(the san giorgio dialect of resian) => [
- q(0014),
+ q(0016),
q(0),
],
q(the solbica dialect of resian) => [
- q(0049),
+ q(0053),
+ q(1),
+ ],
+ q(the sotavento dialect group of kabuverdianu) => [
+ q(0054),
q(0),
],
q(the stolvizza dialect of resian) => [
- q(0049),
+ q(0053),
q(0),
],
q(traditional german orthography) => [
@@ -508,55 +519,59 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(ulster dialect of scots) => [
- q(0056),
+ q(0061),
q(0),
],
q(unified cornish orthography of revived cornish) => [
- q(0054),
+ q(0059),
q(0),
],
q(unified cornish revised orthography of revived cornish) => [
- q(0055),
+ q(0060),
q(0),
],
q(unified turkic latin alphabet (historical)) => [
q(0011),
q(0),
],
+ q(unifon phonetic alphabet) => [
+ q(0062),
+ q(0),
+ ],
q(uralic phonetic alphabet) => [
- q(0020),
+ q(0023),
q(0),
],
q(valencian) => [
- q(0058),
+ q(0064),
q(0),
],
q(vallader idiom of romansh) => [
- q(0059),
+ q(0065),
q(0),
],
q(vedic sanskrit) => [
- q(0057),
+ q(0063),
q(0),
],
q(volapuk nuladik) => [
- q(0037),
- q(0),
+ q(0041),
+ q(2),
],
q(volapuk nulik) => [
- q(0037),
+ q(0041),
q(0),
],
q(volapuk perevidol) => [
- q(0037),
- q(0),
+ q(0041),
+ q(1),
],
q(volapuk rigik) => [
- q(0044),
+ q(0048),
q(0),
],
q(wade-giles romanization) => [
- q(0060),
+ q(0066),
q(0),
],
q(western armenian) => [
@@ -564,7 +579,7 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
q(0),
],
q(x-sampa transcription) => [
- q(0021),
+ q(0024),
q(0),
],
};
@@ -615,202 +630,226 @@ $Locale::Codes::Data{'langvar'}{'code2id'} = {
q(0011),
q(0),
],
- q(bauddha) => [
+ q(balanka) => [
q(0012),
q(0),
],
- q(biscayan) => [
+ q(barla) => [
q(0013),
q(0),
],
- q(biske) => [
+ q(bauddha) => [
q(0014),
q(0),
],
- q(bohoric) => [
+ q(biscayan) => [
q(0015),
q(0),
],
- q(boont) => [
+ q(biske) => [
q(0016),
q(0),
],
- q(dajnko) => [
+ q(bohoric) => [
q(0017),
q(0),
],
- q(emodeng) => [
+ q(boont) => [
q(0018),
q(0),
],
- q(fonipa) => [
+ q(dajnko) => [
q(0019),
q(0),
],
- q(fonupa) => [
+ q(ekavsk) => [
q(0020),
q(0),
],
- q(fonxsamp) => [
+ q(emodeng) => [
q(0021),
q(0),
],
- q(hepburn) => [
+ q(fonipa) => [
q(0022),
q(0),
],
- q(hognorsk) => [
+ q(fonupa) => [
q(0023),
q(0),
],
- q(itihasa) => [
+ q(fonxsamp) => [
q(0024),
q(0),
],
- q(jauer) => [
+ q(hepburn) => [
q(0025),
q(0),
],
- q(jyutping) => [
+ q(hognorsk) => [
q(0026),
q(0),
],
- q(kkcor) => [
+ q(ijekavsk) => [
q(0027),
q(0),
],
- q(kscor) => [
+ q(itihasa) => [
q(0028),
q(0),
],
- q(laukika) => [
+ q(jauer) => [
q(0029),
q(0),
],
- q(lipaw) => [
+ q(jyutping) => [
q(0030),
q(0),
],
- q(luna1918) => [
+ q(kkcor) => [
q(0031),
q(0),
],
- q(metelko) => [
+ q(kscor) => [
q(0032),
q(0),
],
- q(monoton) => [
+ q(laukika) => [
q(0033),
q(0),
],
- q(ndyuka) => [
+ q(lipaw) => [
q(0034),
q(0),
],
- q(nedis) => [
+ q(luna1918) => [
q(0035),
q(0),
],
- q(njiva) => [
+ q(metelko) => [
q(0036),
q(0),
],
- q(nulik) => [
+ q(monoton) => [
q(0037),
q(0),
],
- q(osojs) => [
+ q(ndyuka) => [
q(0038),
q(0),
],
- q(pamaka) => [
+ q(nedis) => [
q(0039),
q(0),
],
- q(petr1708) => [
+ q(njiva) => [
q(0040),
q(0),
],
- q(pinyin) => [
+ q(nulik) => [
q(0041),
q(0),
],
- q(polyton) => [
+ q(osojs) => [
q(0042),
q(0),
],
- q(puter) => [
+ q(pamaka) => [
q(0043),
q(0),
],
- q(rigik) => [
+ q(petr1708) => [
q(0044),
q(0),
],
- q(rozaj) => [
+ q(pinyin) => [
q(0045),
q(0),
],
- q(rumgr) => [
+ q(polyton) => [
q(0046),
q(0),
],
- q(scotland) => [
+ q(puter) => [
q(0047),
q(0),
],
- q(scouse) => [
+ q(rigik) => [
q(0048),
q(0),
],
- q(solba) => [
+ q(rozaj) => [
q(0049),
q(0),
],
- q(surmiran) => [
+ q(rumgr) => [
q(0050),
q(0),
],
- q(sursilv) => [
+ q(scotland) => [
q(0051),
q(0),
],
- q(sutsilv) => [
+ q(scouse) => [
q(0052),
q(0),
],
- q(tarask) => [
+ q(solba) => [
q(0053),
q(0),
],
- q(uccor) => [
+ q(sotav) => [
q(0054),
q(0),
],
- q(ucrcor) => [
+ q(surmiran) => [
q(0055),
q(0),
],
- q(ulster) => [
+ q(sursilv) => [
q(0056),
q(0),
],
- q(vaidika) => [
+ q(sutsilv) => [
q(0057),
q(0),
],
- q(valencia) => [
+ q(tarask) => [
q(0058),
q(0),
],
- q(vallader) => [
+ q(uccor) => [
q(0059),
q(0),
],
- q(wadegile) => [
+ q(ucrcor) => [
q(0060),
q(0),
],
+ q(ulster) => [
+ q(0061),
+ q(0),
+ ],
+ q(unifon) => [
+ q(0062),
+ q(0),
+ ],
+ q(vaidika) => [
+ q(0063),
+ q(0),
+ ],
+ q(valencia) => [
+ q(0064),
+ q(0),
+ ],
+ q(vallader) => [
+ q(0065),
+ q(0),
+ ],
+ q(wadegile) => [
+ q(0066),
+ q(0),
+ ],
},
};
@@ -827,55 +866,61 @@ $Locale::Codes::Data{'langvar'}{'id2code'} = {
q(0009) => q(arevela),
q(0010) => q(arevmda),
q(0011) => q(baku1926),
- q(0012) => q(bauddha),
- q(0013) => q(biscayan),
- q(0014) => q(biske),
- q(0015) => q(bohoric),
- q(0016) => q(boont),
- q(0017) => q(dajnko),
- q(0018) => q(emodeng),
- q(0019) => q(fonipa),
- q(0020) => q(fonupa),
- q(0021) => q(fonxsamp),
- q(0022) => q(hepburn),
- q(0023) => q(hognorsk),
- q(0024) => q(itihasa),
- q(0025) => q(jauer),
- q(0026) => q(jyutping),
- q(0027) => q(kkcor),
- q(0028) => q(kscor),
- q(0029) => q(laukika),
- q(0030) => q(lipaw),
- q(0031) => q(luna1918),
- q(0032) => q(metelko),
- q(0033) => q(monoton),
- q(0034) => q(ndyuka),
- q(0035) => q(nedis),
- q(0036) => q(njiva),
- q(0037) => q(nulik),
- q(0038) => q(osojs),
- q(0039) => q(pamaka),
- q(0040) => q(petr1708),
- q(0041) => q(pinyin),
- q(0042) => q(polyton),
- q(0043) => q(puter),
- q(0044) => q(rigik),
- q(0045) => q(rozaj),
- q(0046) => q(rumgr),
- q(0047) => q(scotland),
- q(0048) => q(scouse),
- q(0049) => q(solba),
- q(0050) => q(surmiran),
- q(0051) => q(sursilv),
- q(0052) => q(sutsilv),
- q(0053) => q(tarask),
- q(0054) => q(uccor),
- q(0055) => q(ucrcor),
- q(0056) => q(ulster),
- q(0057) => q(vaidika),
- q(0058) => q(valencia),
- q(0059) => q(vallader),
- q(0060) => q(wadegile),
+ q(0012) => q(balanka),
+ q(0013) => q(barla),
+ q(0014) => q(bauddha),
+ q(0015) => q(biscayan),
+ q(0016) => q(biske),
+ q(0017) => q(bohoric),
+ q(0018) => q(boont),
+ q(0019) => q(dajnko),
+ q(0020) => q(ekavsk),
+ q(0021) => q(emodeng),
+ q(0022) => q(fonipa),
+ q(0023) => q(fonupa),
+ q(0024) => q(fonxsamp),
+ q(0025) => q(hepburn),
+ q(0026) => q(hognorsk),
+ q(0027) => q(ijekavsk),
+ q(0028) => q(itihasa),
+ q(0029) => q(jauer),
+ q(0030) => q(jyutping),
+ q(0031) => q(kkcor),
+ q(0032) => q(kscor),
+ q(0033) => q(laukika),
+ q(0034) => q(lipaw),
+ q(0035) => q(luna1918),
+ q(0036) => q(metelko),
+ q(0037) => q(monoton),
+ q(0038) => q(ndyuka),
+ q(0039) => q(nedis),
+ q(0040) => q(njiva),
+ q(0041) => q(nulik),
+ q(0042) => q(osojs),
+ q(0043) => q(pamaka),
+ q(0044) => q(petr1708),
+ q(0045) => q(pinyin),
+ q(0046) => q(polyton),
+ q(0047) => q(puter),
+ q(0048) => q(rigik),
+ q(0049) => q(rozaj),
+ q(0050) => q(rumgr),
+ q(0051) => q(scotland),
+ q(0052) => q(scouse),
+ q(0053) => q(solba),
+ q(0054) => q(sotav),
+ q(0055) => q(surmiran),
+ q(0056) => q(sursilv),
+ q(0057) => q(sutsilv),
+ q(0058) => q(tarask),
+ q(0059) => q(uccor),
+ q(0060) => q(ucrcor),
+ q(0061) => q(ulster),
+ q(0062) => q(unifon),
+ q(0063) => q(vaidika),
+ q(0064) => q(valencia),
+ q(0065) => q(vallader),
+ q(0066) => q(wadegile),
},
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm
index a1ea9924d56..cd82e2cca0f 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::LangVar_Retired;
+package #
+Locale::Codes::LangVar_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangVar_Retired - retired langvar codes for the Locale::Codes::LangVar module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangVar 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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,12 +11,13 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = {
};
$Locale::Codes::Retired{'langvar'}{'alpha'}{'name'} = {
+ q(slovene in bohoric alphabet) => [ q(bohoric), q(Slovene in Bohoric alphabet) ],
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
index aa85767ec82..844d1361583 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
@@ -1,7 +1,7 @@
package Locale::Codes::Language;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Locale::Codes::Language_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2language
language2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod
new file mode 100644
index 00000000000..648da38da7c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod
@@ -0,0 +1,137 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Language - standard codes for language identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::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::Codes::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 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+languages. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lang = code2language('en','alpha-2');
+ $lang = code2language('en',LOCALE_LANG_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_LANG_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew. It also includes additions to this set included
+in the IANA language registry.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_LANG_ALPHA_3>
+
+This is the set of three-letter (lowercase) bibliographic codes from
+ISO 639-2 and 639-5, such as 'heb' for Hebrew. It also includes
+additions to this set included in the IANA language registry.
+
+=item B<term, LOCALE_LANG_TERM>
+
+This is the set of three-letter (lowercase) terminologic codes from
+ISO 639.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2language ( CODE [,CODESET] )>
+
+=item B<language2code ( NAME [,CODESET] )>
+
+=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_language_codes ( [CODESET] )>
+
+=item B<all_language_names ( [CODESET] )>
+
+=item B<Locale::Codes::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Language::delete_language ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Language::delete_language_alias ( NAME )>
+
+=item B<Locale::Codes::Language::rename_language_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::delete_language_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.loc.gov/standards/iso639-2/>
+
+Source of the ISO 639-2 codes.
+
+=item B<http://www.loc.gov/standards/iso639-5/>
+
+Source of the ISO 639-5 codes.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=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-2014 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/Language_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm
index 35bd5352257..9ea74f5ab36 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Language_Codes;
+package #
+Locale::Codes::Language_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:21 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Language_Codes - language codes for the Locale::Codes::Language module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:44:16 EST 2014
use strict;
require 5.006;
@@ -38,9 +11,9 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
-$Locale::Codes::Data{'language'}{'id'} = '7887';
+$Locale::Codes::Data{'language'}{'id'} = '7985';
$Locale::Codes::Data{'language'}{'id2names'} = {
q(0001) => [
@@ -578,8 +551,8 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
],
q(0164) => [
q(Greek, Modern (1453-)),
- q(Modern Greek (1453-)),
q(Greek),
+ q(Modern Greek (1453-)),
],
q(0165) => [
q(Guarani),
@@ -914,6 +887,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
],
q(0269) => [
q(Mandingo),
+ q(Manding),
],
q(0270) => [
q(Maori),
@@ -2853,7 +2827,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
q(Buruwai),
],
q(0895) => [
- q(Nsari),
+ q(Sari),
],
q(0896) => [
q(Ashkun),
@@ -3142,20863 +3116,21175 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
q(Yaka (Central African Republic)),
],
q(0991) => [
- q(Middle Armenian),
+ q(Lower Southern Aranda),
],
q(0992) => [
- q(Xaragure),
+ q(Middle Armenian),
],
q(0993) => [
- q(Awar),
+ q(Xaragure),
],
q(0994) => [
- q(Ayizo Gbe),
+ q(Awar),
],
q(0995) => [
- q(Southern Aymara),
+ q(Ayizo Gbe),
],
q(0996) => [
- q(Ayabadhu),
+ q(Southern Aymara),
],
q(0997) => [
- q(Ayere),
+ q(Ayabadhu),
],
q(0998) => [
- q(Ginyanga),
+ q(Ayere),
],
q(0999) => [
- q(Hadrami Arabic),
+ q(Ginyanga),
],
q(1000) => [
- q(Leyigha),
+ q(Hadrami Arabic),
],
q(1001) => [
- q(Akuku),
+ q(Leyigha),
],
q(1002) => [
- q(Libyan Arabic),
+ q(Akuku),
],
q(1003) => [
- q(Sanaani Arabic),
+ q(Libyan Arabic),
],
q(1004) => [
- q(Ayoreo),
+ q(Sanaani Arabic),
],
q(1005) => [
- q(North Mesopotamian Arabic),
+ q(Ayoreo),
],
q(1006) => [
- q(Ayi (Papua New Guinea)),
+ q(North Mesopotamian Arabic),
],
q(1007) => [
- q(Central Aymara),
+ q(Ayi (Papua New Guinea)),
],
q(1008) => [
- q(Sorsogon Ayta),
+ q(Central Aymara),
],
q(1009) => [
- q(Magbukun Ayta),
+ q(Sorsogon Ayta),
],
q(1010) => [
- q(Ayu),
+ q(Magbukun Ayta),
],
q(1011) => [
- q(Tayabas Ayta),
+ q(Ayu),
],
q(1012) => [
- q(Mai Brat),
+ q(Tayabas Ayta),
],
q(1013) => [
- q(Azha),
+ q(Mai Brat),
],
q(1014) => [
- q(South Azerbaijani),
+ q(Azha),
],
q(1015) => [
- q(Eastern Durango Nahuatl),
+ q(South Azerbaijani),
],
q(1016) => [
- q(San Pedro Amuzgos Amuzgo),
+ q(Eastern Durango Nahuatl),
],
q(1017) => [
- q(North Azerbaijani),
+ q(San Pedro Amuzgos Amuzgo),
],
q(1018) => [
- q(Ipalapa Amuzgo),
+ q(North Azerbaijani),
],
q(1019) => [
- q(Western Durango Nahuatl),
+ q(Ipalapa Amuzgo),
],
q(1020) => [
- q(Awing),
+ q(Western Durango Nahuatl),
],
q(1021) => [
- q(Faire Atta),
+ q(Awing),
],
q(1022) => [
- q(Highland Puebla Nahuatl),
+ q(Faire Atta),
],
q(1023) => [
- q(Babatana),
+ q(Highland Puebla Nahuatl),
],
q(1024) => [
- q(Bainouk-Gunyuno),
+ q(Babatana),
],
q(1025) => [
- q(Badui),
+ q(Bainouk-Gunyuno),
],
q(1026) => [
- q(Bare),
+ q(Badui),
],
q(1027) => [
- q(Nubaca),
+ q(Bare),
],
q(1028) => [
- q(Tuki),
+ q(Nubaca),
],
q(1029) => [
- q(Bahamas Creole English),
+ q(Tuki),
],
q(1030) => [
- q(Barakai),
+ q(Bahamas Creole English),
],
q(1031) => [
- q(Waimaha),
+ q(Barakai),
],
q(1032) => [
- q(Bantawa),
+ q(Waimaha),
],
q(1033) => [
- q(Bavarian),
+ q(Bantawa),
],
q(1034) => [
- q(Bada (Nigeria)),
+ q(Bavarian),
],
q(1035) => [
- q(Vengo),
+ q(Bada (Nigeria)),
],
q(1036) => [
- q(Bambili-Bambui),
+ q(Vengo),
],
q(1037) => [
- q(Bamun),
+ q(Bambili-Bambui),
],
q(1038) => [
- q(Batuley),
+ q(Bamun),
],
q(1039) => [
- q(Baatonum),
+ q(Batuley),
],
q(1040) => [
- q(Barai),
+ q(Baatonum),
],
q(1041) => [
- q(Batak Toba),
+ q(Barai),
],
q(1042) => [
- q(Bau),
+ q(Batak Toba),
],
q(1043) => [
- q(Bangba),
+ q(Bau),
],
q(1044) => [
- q(Baibai),
+ q(Bangba),
],
q(1045) => [
- q(Barama),
+ q(Baibai),
],
q(1046) => [
- q(Bugan),
+ q(Barama),
],
q(1047) => [
- q(Barombi),
+ q(Bugan),
],
q(1048) => [
- q(Ghomala'),
+ q(Barombi),
],
q(1049) => [
- q(Babanki),
+ q(Ghomala'),
],
q(1050) => [
- q(Bats),
+ q(Babanki),
],
q(1051) => [
- q(Babango),
+ q(Bats),
],
q(1052) => [
- q(Uneapa),
+ q(Babango),
],
q(1053) => [
+ q(Uneapa),
+ ],
+ q(1054) => [
q(Northern Bobo Madare),
q(Konabere),
],
- q(1054) => [
+ q(1055) => [
q(West Central Banda),
],
- q(1055) => [
+ q(1056) => [
q(Bamali),
],
- q(1056) => [
+ q(1057) => [
q(Girawa),
],
- q(1057) => [
+ q(1058) => [
q(Bakpinka),
],
- q(1058) => [
+ q(1059) => [
q(Mburku),
],
- q(1059) => [
+ q(1060) => [
q(Kulung (Nigeria)),
],
- q(1060) => [
+ q(1061) => [
q(Karnai),
],
- q(1061) => [
+ q(1062) => [
q(Baba),
],
- q(1062) => [
+ q(1063) => [
q(Bubia),
],
- q(1063) => [
+ q(1064) => [
q(Befang),
],
- q(1064) => [
+ q(1065) => [
q(Babalia Creole Arabic),
],
- q(1065) => [
+ q(1066) => [
q(Central Bai),
],
- q(1066) => [
+ q(1067) => [
q(Bainouk-Samik),
],
- q(1067) => [
+ q(1068) => [
q(Southern Balochi),
],
- q(1068) => [
+ q(1069) => [
q(North Babar),
],
- q(1069) => [
+ q(1070) => [
q(Bamenyam),
],
- q(1070) => [
+ q(1071) => [
q(Bamu),
],
- q(1071) => [
+ q(1072) => [
q(Baga Binari),
],
- q(1072) => [
+ q(1073) => [
q(Bariai),
],
- q(1073) => [
+ q(1074) => [
q(Baoule),
],
- q(1074) => [
+ q(1075) => [
q(Bardi),
],
- q(1075) => [
+ q(1076) => [
q(Bunaba),
],
- q(1076) => [
+ q(1077) => [
q(Central Bikol),
],
- q(1077) => [
+ q(1078) => [
q(Bannoni),
],
- q(1078) => [
+ q(1079) => [
q(Bali (Nigeria)),
],
- q(1079) => [
+ q(1080) => [
q(Kaluli),
],
- q(1080) => [
+ q(1081) => [
q(Bali (Democratic Republic of Congo)),
],
- q(1081) => [
+ q(1082) => [
q(Bench),
],
- q(1082) => [
+ q(1083) => [
q(Babine),
],
- q(1083) => [
+ q(1084) => [
q(Kohumono),
],
- q(1084) => [
+ q(1085) => [
q(Bendi),
],
- q(1085) => [
+ q(1086) => [
q(Awad Bing),
],
- q(1086) => [
+ q(1087) => [
q(Shoo-Minda-Nye),
],
- q(1087) => [
+ q(1088) => [
q(Bana),
],
- q(1088) => [
+ q(1089) => [
q(Bacama),
],
- q(1089) => [
+ q(1090) => [
q(Bainouk-Gunyaamolo),
],
- q(1090) => [
+ q(1091) => [
q(Bayot),
],
- q(1091) => [
+ q(1092) => [
q(Basap),
],
- q(1092) => [
+ q(1093) => [
q(Embera-Baudo),
],
- q(1093) => [
+ q(1094) => [
q(Bunama),
],
- q(1094) => [
+ q(1095) => [
q(Bade),
],
- q(1095) => [
+ q(1096) => [
q(Biage),
],
- q(1096) => [
+ q(1097) => [
q(Bonggi),
],
- q(1097) => [
+ q(1098) => [
q(Baka (Sudan)),
],
- q(1098) => [
+ q(1099) => [
q(Burun),
],
- q(1099) => [
+ q(1100) => [
q(Bai),
],
- q(1100) => [
+ q(1101) => [
q(Budukh),
],
- q(1101) => [
+ q(1102) => [
q(Indonesian Bajau),
],
- q(1102) => [
+ q(1103) => [
q(Buduma),
],
- q(1103) => [
+ q(1104) => [
q(Baldemu),
],
- q(1104) => [
+ q(1105) => [
q(Morom),
],
- q(1105) => [
+ q(1106) => [
q(Bende),
],
- q(1106) => [
+ q(1107) => [
q(Bahnar),
],
- q(1107) => [
+ q(1108) => [
q(West Coast Bajau),
],
- q(1108) => [
+ q(1109) => [
q(Burunge),
],
- q(1109) => [
+ q(1110) => [
q(Bokoto),
],
- q(1110) => [
+ q(1111) => [
q(Oroko),
],
- q(1111) => [
+ q(1112) => [
q(Bodo Parja),
],
- q(1112) => [
+ q(1113) => [
q(Baham),
],
- q(1113) => [
+ q(1114) => [
q(Budong-Budong),
],
- q(1114) => [
+ q(1115) => [
q(Bandjalang),
],
- q(1115) => [
+ q(1116) => [
q(Badeshi),
],
- q(1116) => [
+ q(1117) => [
q(Beaver),
],
- q(1117) => [
+ q(1118) => [
q(Bebele),
],
- q(1118) => [
+ q(1119) => [
q(Iceve-Maci),
],
- q(1119) => [
+ q(1120) => [
q(Bedoanas),
],
- q(1120) => [
+ q(1121) => [
q(Byangsi),
],
- q(1121) => [
+ q(1122) => [
q(Benabena),
],
- q(1122) => [
+ q(1123) => [
q(Belait),
],
- q(1123) => [
+ q(1124) => [
q(Biali),
],
- q(1124) => [
+ q(1125) => [
q(Bekati'),
],
- q(1125) => [
+ q(1126) => [
q(Bebeli),
],
- q(1126) => [
+ q(1127) => [
q(Beami),
],
- q(1127) => [
+ q(1128) => [
q(Besoa),
],
- q(1128) => [
+ q(1129) => [
q(Beembe),
],
- q(1129) => [
+ q(1130) => [
q(Besme),
],
- q(1130) => [
+ q(1131) => [
q(Guiberoua Bete),
],
- q(1131) => [
+ q(1132) => [
q(Blagar),
],
- q(1132) => [
+ q(1133) => [
q(Daloa Bete),
],
- q(1133) => [
+ q(1134) => [
q(Betawi),
],
- q(1134) => [
+ q(1135) => [
q(Jur Modo),
],
- q(1135) => [
+ q(1136) => [
q(Beli (Papua New Guinea)),
],
- q(1136) => [
+ q(1137) => [
q(Bena (Tanzania)),
],
- q(1137) => [
+ q(1138) => [
q(Bari),
],
- q(1138) => [
+ q(1139) => [
q(Pauri Bareli),
],
- q(1139) => [
+ q(1140) => [
q(Northern Bai),
],
- q(1140) => [
+ q(1141) => [
q(Bafut),
],
- q(1141) => [
+ q(1142) => [
q(Betaf),
q(Tena),
],
- q(1142) => [
+ q(1143) => [
q(Bofi),
],
- q(1143) => [
+ q(1144) => [
q(Busang Kayan),
],
- q(1144) => [
+ q(1145) => [
q(Blafe),
],
- q(1145) => [
+ q(1146) => [
q(British Sign Language),
],
- q(1146) => [
+ q(1147) => [
q(Bafanji),
],
- q(1147) => [
+ q(1148) => [
q(Ban Khor Sign Language),
],
- q(1148) => [
+ q(1149) => [
q(Banda-Ndele),
],
- q(1149) => [
+ q(1150) => [
q(Mmen),
],
- q(1150) => [
+ q(1151) => [
q(Bunak),
],
- q(1151) => [
+ q(1152) => [
q(Malba Birifor),
],
- q(1152) => [
+ q(1153) => [
q(Beba),
],
- q(1153) => [
+ q(1154) => [
q(Badaga),
],
- q(1154) => [
+ q(1155) => [
q(Bazigar),
],
- q(1155) => [
+ q(1156) => [
q(Southern Bai),
],
- q(1156) => [
+ q(1157) => [
q(Balti),
],
- q(1157) => [
+ q(1158) => [
q(Gahri),
],
- q(1158) => [
+ q(1159) => [
q(Bondo),
],
- q(1159) => [
+ q(1160) => [
q(Bantayanon),
],
- q(1160) => [
+ q(1161) => [
q(Bagheli),
],
- q(1161) => [
+ q(1162) => [
q(Mahasu Pahari),
],
- q(1162) => [
+ q(1163) => [
q(Gwamhi-Wuri),
],
- q(1163) => [
+ q(1164) => [
q(Bobongko),
],
- q(1164) => [
+ q(1165) => [
q(Haryanvi),
],
- q(1165) => [
+ q(1166) => [
q(Rathwi Bareli),
],
- q(1166) => [
+ q(1167) => [
q(Bauria),
],
- q(1167) => [
+ q(1168) => [
q(Bangandu),
],
- q(1168) => [
+ q(1169) => [
q(Bugun),
],
- q(1169) => [
+ q(1170) => [
q(Giangan),
],
- q(1170) => [
+ q(1171) => [
q(Bangolan),
],
- q(1171) => [
+ q(1172) => [
q(Bit),
q(Buxinhua),
],
- q(1172) => [
+ q(1173) => [
q(Bo (Laos)),
],
- q(1173) => [
+ q(1174) => [
q(Baga Mboteni),
],
- q(1174) => [
+ q(1175) => [
q(Western Balochi),
],
- q(1175) => [
+ q(1176) => [
q(Baga Koga),
],
- q(1176) => [
+ q(1177) => [
q(Eastern Balochi),
],
- q(1177) => [
+ q(1178) => [
q(Bagri),
],
- q(1178) => [
+ q(1179) => [
q(Bawm Chin),
],
- q(1179) => [
+ q(1180) => [
q(Tagabawa),
],
- q(1180) => [
+ q(1181) => [
q(Bughotu),
],
- q(1181) => [
+ q(1182) => [
q(Mbongno),
],
- q(1182) => [
+ q(1183) => [
q(Warkay-Bipim),
],
- q(1183) => [
+ q(1184) => [
q(Bhatri),
],
- q(1184) => [
+ q(1185) => [
q(Balkan Gagauz Turkish),
],
- q(1185) => [
+ q(1186) => [
q(Benggoi),
],
- q(1186) => [
+ q(1187) => [
q(Banggai),
],
- q(1187) => [
+ q(1188) => [
q(Bharia),
],
- q(1188) => [
+ q(1189) => [
q(Bhili),
],
- q(1189) => [
+ q(1190) => [
q(Biga),
],
- q(1190) => [
+ q(1191) => [
q(Bhadrawahi),
],
- q(1191) => [
+ q(1192) => [
q(Bhaya),
],
- q(1192) => [
+ q(1193) => [
q(Odiai),
],
- q(1193) => [
+ q(1194) => [
q(Binandere),
],
- q(1194) => [
+ q(1195) => [
q(Bukharic),
],
- q(1195) => [
+ q(1196) => [
q(Bhilali),
],
- q(1196) => [
+ q(1197) => [
q(Bahing),
],
- q(1197) => [
+ q(1198) => [
q(Bimin),
],
- q(1198) => [
+ q(1199) => [
q(Bathari),
],
- q(1199) => [
+ q(1200) => [
q(Bohtan Neo-Aramaic),
],
- q(1200) => [
+ q(1201) => [
q(Bima),
],
- q(1201) => [
+ q(1202) => [
q(Tukang Besi South),
],
- q(1202) => [
+ q(1203) => [
q(Bara Malagasy),
],
- q(1203) => [
+ q(1204) => [
q(Buwal),
],
- q(1204) => [
+ q(1205) => [
q(Bhattiyali),
],
- q(1205) => [
+ q(1206) => [
q(Bhunjia),
],
- q(1206) => [
+ q(1207) => [
q(Bahau),
],
- q(1207) => [
+ q(1208) => [
q(Biak),
],
- q(1208) => [
+ q(1209) => [
q(Bhalay),
],
- q(1209) => [
+ q(1210) => [
q(Bhele),
],
- q(1210) => [
+ q(1211) => [
q(Bada (Indonesia)),
],
- q(1211) => [
+ q(1212) => [
q(Badimaya),
],
- q(1212) => [
+ q(1213) => [
q(Bissa),
q(Bisa),
],
- q(1213) => [
+ q(1214) => [
q(Bikaru),
],
- q(1214) => [
+ q(1215) => [
q(Bidiyo),
],
- q(1215) => [
+ q(1216) => [
q(Bepour),
],
- q(1216) => [
+ q(1217) => [
q(Biafada),
],
- q(1217) => [
+ q(1218) => [
q(Biangai),
],
- q(1218) => [
+ q(1219) => [
q(Vaghat-Ya-Bijim-Legeri),
],
- q(1219) => [
+ q(1220) => [
q(Bile),
],
- q(1220) => [
+ q(1221) => [
q(Bimoba),
],
- q(1221) => [
+ q(1222) => [
q(Nai),
],
- q(1222) => [
+ q(1223) => [
q(Bila),
],
- q(1223) => [
+ q(1224) => [
q(Bipi),
],
- q(1224) => [
+ q(1225) => [
q(Bisorio),
],
- q(1225) => [
+ q(1226) => [
q(Berinomo),
],
- q(1226) => [
+ q(1227) => [
q(Biete),
],
- q(1227) => [
+ q(1228) => [
q(Southern Birifor),
],
- q(1228) => [
+ q(1229) => [
q(Kol (Cameroon)),
],
- q(1229) => [
+ q(1230) => [
q(Bijori),
],
- q(1230) => [
+ q(1231) => [
q(Birhor),
],
- q(1231) => [
+ q(1232) => [
q(Baloi),
],
- q(1232) => [
+ q(1233) => [
q(Budza),
],
- q(1233) => [
+ q(1234) => [
q(Banggarla),
],
- q(1234) => [
+ q(1235) => [
q(Bariji),
],
- q(1235) => [
+ q(1236) => [
q(Biao-Jiao Mien),
],
- q(1236) => [
+ q(1237) => [
q(Barzani Jewish Neo-Aramaic),
],
- q(1237) => [
+ q(1238) => [
q(Bidyogo),
],
- q(1238) => [
+ q(1239) => [
q(Bahinemo),
],
- q(1239) => [
+ q(1240) => [
q(Burji),
],
- q(1240) => [
+ q(1241) => [
q(Kanauji),
],
- q(1241) => [
+ q(1242) => [
q(Barok),
],
- q(1242) => [
+ q(1243) => [
q(Bulu (Papua New Guinea)),
],
- q(1243) => [
+ q(1244) => [
q(Bajelani),
],
- q(1244) => [
+ q(1245) => [
q(Banjar),
],
- q(1245) => [
+ q(1246) => [
q(Mid-Southern Banda),
],
- q(1246) => [
+ q(1247) => [
+ q(Fanamaket),
+ ],
+ q(1248) => [
q(Binumarien),
],
- q(1247) => [
+ q(1249) => [
q(Bajan),
],
- q(1248) => [
+ q(1250) => [
q(Balanta-Ganja),
],
- q(1249) => [
+ q(1251) => [
q(Busuu),
],
- q(1250) => [
+ q(1252) => [
q(Bedjond),
],
- q(1251) => [
+ q(1253) => [
q(Bakwe),
],
- q(1252) => [
+ q(1254) => [
q(Banao Itneg),
],
- q(1253) => [
+ q(1255) => [
q(Bayali),
],
- q(1254) => [
+ q(1256) => [
q(Baruga),
],
- q(1255) => [
+ q(1257) => [
q(Kyak),
],
- q(1256) => [
+ q(1258) => [
q(Baka (Cameroon)),
],
- q(1257) => [
+ q(1259) => [
q(Binukid),
q(Talaandig),
],
- q(1258) => [
+ q(1260) => [
q(Beeke),
],
- q(1259) => [
+ q(1261) => [
q(Buraka),
],
- q(1260) => [
+ q(1262) => [
q(Bakoko),
],
- q(1261) => [
+ q(1263) => [
q(Baki),
],
- q(1262) => [
+ q(1264) => [
q(Pande),
],
- q(1263) => [
+ q(1265) => [
q(Brokskat),
],
- q(1264) => [
+ q(1266) => [
q(Berik),
],
- q(1265) => [
+ q(1267) => [
q(Kom (Cameroon)),
],
- q(1266) => [
+ q(1268) => [
q(Bukitan),
],
- q(1267) => [
+ q(1269) => [
q(Kwa'),
],
- q(1268) => [
+ q(1270) => [
q(Boko (Democratic Republic of Congo)),
],
- q(1269) => [
+ q(1271) => [
q(Bakairi),
],
- q(1270) => [
+ q(1272) => [
q(Bakumpai),
],
- q(1271) => [
+ q(1273) => [
q(Northern Sorsoganon),
],
- q(1272) => [
+ q(1274) => [
q(Boloki),
],
- q(1273) => [
+ q(1275) => [
q(Buhid),
],
- q(1274) => [
+ q(1276) => [
q(Bekwarra),
],
- q(1275) => [
+ q(1277) => [
q(Bekwel),
],
- q(1276) => [
+ q(1278) => [
q(Baikeno),
],
- q(1277) => [
+ q(1279) => [
q(Bokyi),
],
- q(1278) => [
+ q(1280) => [
q(Bungku),
],
- q(1279) => [
+ q(1281) => [
q(Bilua),
],
- q(1280) => [
+ q(1282) => [
q(Bella Coola),
],
- q(1281) => [
+ q(1283) => [
q(Bolango),
],
- q(1282) => [
+ q(1284) => [
q(Balanta-Kentohe),
],
- q(1283) => [
+ q(1285) => [
q(Buol),
],
- q(1284) => [
+ q(1286) => [
q(Balau),
],
- q(1285) => [
+ q(1287) => [
q(Kuwaa),
],
- q(1286) => [
+ q(1288) => [
q(Bolia),
],
- q(1287) => [
+ q(1289) => [
q(Bolongan),
],
- q(1288) => [
+ q(1290) => [
q(Pa'o Karen),
q(Pa'O),
],
- q(1289) => [
+ q(1291) => [
q(Biloxi),
],
- q(1290) => [
+ q(1292) => [
q(Beli (Sudan)),
],
- q(1291) => [
+ q(1293) => [
q(Southern Catanduanes Bikol),
],
- q(1292) => [
+ q(1294) => [
q(Anii),
],
- q(1293) => [
+ q(1295) => [
q(Blablanga),
],
- q(1294) => [
+ q(1296) => [
q(Baluan-Pam),
],
- q(1295) => [
+ q(1297) => [
q(Blang),
],
- q(1296) => [
+ q(1298) => [
q(Balaesang),
],
- q(1297) => [
+ q(1299) => [
q(Tai Dam),
],
- q(1298) => [
+ q(1300) => [
q(Bolo),
],
- q(1299) => [
+ q(1301) => [
q(Balangao),
],
- q(1300) => [
+ q(1302) => [
q(Mag-Indi Ayta),
],
- q(1301) => [
+ q(1303) => [
q(Notre),
],
- q(1302) => [
+ q(1304) => [
q(Balantak),
],
- q(1303) => [
+ q(1305) => [
q(Lame),
],
- q(1304) => [
+ q(1306) => [
q(Bembe),
],
- q(1305) => [
+ q(1307) => [
q(Biem),
],
- q(1306) => [
+ q(1308) => [
q(Baga Manduri),
],
- q(1307) => [
+ q(1309) => [
q(Limassa),
],
- q(1308) => [
+ q(1310) => [
q(Bom),
],
- q(1309) => [
+ q(1311) => [
q(Bamwe),
],
- q(1310) => [
+ q(1312) => [
q(Kein),
],
- q(1311) => [
+ q(1313) => [
q(Bagirmi),
],
- q(1312) => [
+ q(1314) => [
q(Bote-Majhi),
],
- q(1313) => [
+ q(1315) => [
q(Ghayavi),
],
- q(1314) => [
+ q(1316) => [
q(Bomboli),
],
- q(1315) => [
+ q(1317) => [
q(Northern Betsimisaraka Malagasy),
],
- q(1316) => [
+ q(1318) => [
q(Bina (Papua New Guinea)),
],
- q(1317) => [
+ q(1319) => [
q(Bambalang),
],
- q(1318) => [
+ q(1320) => [
q(Bulgebi),
],
- q(1319) => [
+ q(1321) => [
q(Bomu),
],
- q(1320) => [
+ q(1322) => [
q(Muinane),
],
- q(1321) => [
+ q(1323) => [
q(Bilma Kanuri),
],
- q(1322) => [
+ q(1324) => [
q(Biao Mon),
],
- q(1323) => [
+ q(1325) => [
q(Somba-Siawari),
],
- q(1324) => [
+ q(1326) => [
q(Bum),
],
- q(1325) => [
+ q(1327) => [
q(Bomwali),
],
- q(1326) => [
+ q(1328) => [
q(Baimak),
],
- q(1327) => [
+ q(1329) => [
q(Bemba (Democratic Republic of Congo)),
],
- q(1328) => [
+ q(1330) => [
q(Baramu),
],
- q(1329) => [
+ q(1331) => [
q(Bonerate),
],
- q(1330) => [
+ q(1332) => [
q(Bookan),
],
- q(1331) => [
+ q(1333) => [
q(Bontok),
],
- q(1332) => [
+ q(1334) => [
q(Banda (Indonesia)),
],
- q(1333) => [
+ q(1335) => [
q(Bintauna),
],
- q(1334) => [
+ q(1336) => [
q(Masiwang),
],
- q(1335) => [
+ q(1337) => [
q(Benga),
],
- q(1336) => [
+ q(1338) => [
q(Bangi),
],
- q(1337) => [
+ q(1339) => [
q(Eastern Tawbuid),
],
- q(1338) => [
+ q(1340) => [
q(Bierebo),
],
- q(1339) => [
+ q(1341) => [
q(Boon),
],
- q(1340) => [
+ q(1342) => [
q(Batanga),
],
- q(1341) => [
+ q(1343) => [
q(Bunun),
],
- q(1342) => [
+ q(1344) => [
q(Bantoanon),
],
- q(1343) => [
+ q(1345) => [
q(Bola),
],
- q(1344) => [
+ q(1346) => [
q(Bantik),
],
- q(1345) => [
+ q(1347) => [
q(Butmas-Tur),
],
- q(1346) => [
+ q(1348) => [
q(Bundeli),
],
- q(1347) => [
+ q(1349) => [
q(Bentong),
],
- q(1348) => [
+ q(1350) => [
q(Bonerif),
q(Beneraf),
q(Edwas),
],
- q(1349) => [
+ q(1351) => [
q(Bisis),
],
- q(1350) => [
+ q(1352) => [
q(Bangubangu),
],
- q(1351) => [
+ q(1353) => [
q(Bintulu),
],
- q(1352) => [
+ q(1354) => [
q(Beezen),
],
- q(1353) => [
+ q(1355) => [
q(Bora),
],
- q(1354) => [
+ q(1356) => [
q(Aweer),
],
- q(1355) => [
+ q(1357) => [
q(Mundabli),
],
- q(1356) => [
+ q(1358) => [
q(Bolon),
],
- q(1357) => [
+ q(1359) => [
q(Bamako Sign Language),
],
- q(1358) => [
+ q(1360) => [
q(Boma),
],
- q(1359) => [
+ q(1361) => [
q(Barbareno),
],
- q(1360) => [
+ q(1362) => [
q(Anjam),
],
- q(1361) => [
+ q(1363) => [
q(Bonjo),
],
- q(1362) => [
+ q(1364) => [
q(Bole),
],
- q(1363) => [
+ q(1365) => [
q(Berom),
],
- q(1364) => [
+ q(1366) => [
q(Bine),
],
- q(1365) => [
+ q(1367) => [
q(Tiemacewe Bozo),
],
- q(1366) => [
+ q(1368) => [
q(Bonkiman),
],
- q(1367) => [
+ q(1369) => [
q(Bogaya),
],
- q(1368) => [
+ q(1370) => [
q(Bororo),
],
- q(1369) => [
+ q(1371) => [
q(Bongo),
],
- q(1370) => [
+ q(1372) => [
q(Bondei),
],
- q(1371) => [
+ q(1373) => [
q(Tuwuli),
],
- q(1372) => [
+ q(1374) => [
q(Rema),
],
- q(1373) => [
+ q(1375) => [
q(Buamu),
],
- q(1374) => [
+ q(1376) => [
q(Bodo (Central African Republic)),
],
- q(1375) => [
+ q(1377) => [
q(Tieyaxo Bozo),
],
- q(1376) => [
- q(Dakaka),
+ q(1378) => [
+ q(Daakaka),
],
- q(1377) => [
+ q(1379) => [
q(Barbacoas),
],
- q(1378) => [
+ q(1380) => [
q(Banda-Banda),
],
- q(1379) => [
+ q(1381) => [
q(Bonggo),
],
- q(1380) => [
+ q(1382) => [
q(Botlikh),
],
- q(1381) => [
+ q(1383) => [
q(Bagupi),
],
- q(1382) => [
+ q(1384) => [
q(Binji),
],
- q(1383) => [
+ q(1385) => [
q(Orowe),
+ q('Oroe),
],
- q(1384) => [
+ q(1386) => [
q(Broome Pearling Lugger Pidgin),
],
- q(1385) => [
+ q(1387) => [
q(Biyom),
],
- q(1386) => [
+ q(1388) => [
q(Dzao Min),
],
- q(1387) => [
+ q(1389) => [
q(Anasi),
],
- q(1388) => [
+ q(1390) => [
q(Kaure),
],
- q(1389) => [
+ q(1391) => [
q(Banda Malay),
],
- q(1390) => [
+ q(1392) => [
q(Koronadal Blaan),
],
- q(1391) => [
+ q(1393) => [
q(Sarangani Blaan),
],
- q(1392) => [
+ q(1394) => [
q(Barrow Point),
],
- q(1393) => [
+ q(1395) => [
q(Bongu),
],
- q(1394) => [
+ q(1396) => [
q(Bian Marind),
],
- q(1395) => [
+ q(1397) => [
q(Bo (Papua New Guinea)),
],
- q(1396) => [
+ q(1398) => [
q(Palya Bareli),
],
- q(1397) => [
+ q(1399) => [
q(Bishnupriya),
],
- q(1398) => [
+ q(1400) => [
q(Bilba),
],
- q(1399) => [
+ q(1401) => [
q(Tchumbuli),
],
- q(1400) => [
+ q(1402) => [
q(Bagusa),
],
- q(1401) => [
+ q(1403) => [
q(Boko (Benin)),
+ q(Boo),
],
- q(1402) => [
+ q(1404) => [
q(Bung),
],
- q(1403) => [
+ q(1405) => [
q(Baga Kaloum),
],
- q(1404) => [
+ q(1406) => [
q(Bago-Kusuntu),
],
- q(1405) => [
+ q(1407) => [
q(Baima),
],
- q(1406) => [
+ q(1408) => [
q(Bakhtiari),
],
- q(1407) => [
+ q(1409) => [
q(Bandial),
],
- q(1408) => [
+ q(1410) => [
q(Banda-Mbres),
],
- q(1409) => [
+ q(1411) => [
q(Bilakura),
],
- q(1410) => [
+ q(1412) => [
q(Wumboko),
],
- q(1411) => [
+ q(1413) => [
q(Bulgarian Sign Language),
],
- q(1412) => [
+ q(1414) => [
q(Balo),
],
- q(1413) => [
+ q(1415) => [
q(Busa),
],
- q(1414) => [
+ q(1416) => [
q(Biritai),
],
- q(1415) => [
+ q(1417) => [
q(Burusu),
],
- q(1416) => [
+ q(1418) => [
q(Bosngun),
],
- q(1417) => [
+ q(1419) => [
q(Bamukumbit),
],
- q(1418) => [
+ q(1420) => [
q(Boguru),
],
- q(1419) => [
+ q(1421) => [
q(Koro Wachi),
q(Begbere-Ejar),
],
- q(1420) => [
+ q(1422) => [
q(Buru (Nigeria)),
],
- q(1421) => [
+ q(1423) => [
q(Baangi),
],
- q(1422) => [
+ q(1424) => [
q(Bengkala Sign Language),
],
- q(1423) => [
+ q(1425) => [
q(Bakaka),
],
- q(1424) => [
+ q(1426) => [
q(Lave),
],
- q(1425) => [
+ q(1427) => [
q(Berbice Creole Dutch),
],
- q(1426) => [
+ q(1428) => [
q(Baraamu),
],
- q(1427) => [
+ q(1429) => [
q(Bera),
],
- q(1428) => [
+ q(1430) => [
q(Baure),
],
- q(1429) => [
+ q(1431) => [
q(Brahui),
],
- q(1430) => [
+ q(1432) => [
q(Mokpwe),
],
- q(1431) => [
+ q(1433) => [
q(Bieria),
],
- q(1432) => [
+ q(1434) => [
q(Birked),
],
- q(1433) => [
+ q(1435) => [
q(Birwa),
],
- q(1434) => [
+ q(1436) => [
q(Barambu),
],
- q(1435) => [
+ q(1437) => [
q(Boruca),
],
- q(1436) => [
+ q(1438) => [
q(Brokkat),
],
- q(1437) => [
+ q(1439) => [
q(Barapasi),
],
- q(1438) => [
+ q(1440) => [
q(Breri),
],
- q(1439) => [
+ q(1441) => [
q(Birao),
],
- q(1440) => [
+ q(1442) => [
q(Baras),
],
- q(1441) => [
+ q(1443) => [
q(Bitare),
],
- q(1442) => [
+ q(1444) => [
q(Eastern Bru),
],
- q(1443) => [
+ q(1445) => [
q(Western Bru),
],
- q(1444) => [
+ q(1446) => [
q(Bellari),
],
- q(1445) => [
+ q(1447) => [
q(Bodo (India)),
],
- q(1446) => [
+ q(1448) => [
q(Burui),
],
- q(1447) => [
+ q(1449) => [
q(Bilbil),
],
- q(1448) => [
+ q(1450) => [
q(Abinomn),
],
- q(1449) => [
+ q(1451) => [
q(Brunei Bisaya),
],
- q(1450) => [
+ q(1452) => [
q(Bassari),
q(Oniyan),
],
- q(1451) => [
+ q(1453) => [
q(Wushi),
],
- q(1452) => [
+ q(1454) => [
q(Bauchi),
],
- q(1453) => [
+ q(1455) => [
q(Bashkardi),
],
- q(1454) => [
+ q(1456) => [
q(Kati),
],
- q(1455) => [
+ q(1457) => [
q(Bassossi),
],
- q(1456) => [
+ q(1458) => [
q(Bangwinji),
],
- q(1457) => [
+ q(1459) => [
q(Burushaski),
],
- q(1458) => [
+ q(1460) => [
q(Basa-Gumna),
],
- q(1459) => [
+ q(1461) => [
q(Busami),
],
- q(1460) => [
+ q(1462) => [
q(Barasana-Eduria),
],
- q(1461) => [
+ q(1463) => [
q(Buso),
],
- q(1462) => [
+ q(1464) => [
q(Baga Sitemu),
],
- q(1463) => [
+ q(1465) => [
q(Bassa),
],
- q(1464) => [
+ q(1466) => [
q(Bassa-Kontagora),
],
- q(1465) => [
+ q(1467) => [
q(Akoose),
],
- q(1466) => [
+ q(1468) => [
q(Basketo),
],
- q(1467) => [
+ q(1469) => [
q(Bahonsuai),
],
- q(1468) => [
+ q(1470) => [
q(Baga Sobane),
],
- q(1469) => [
+ q(1471) => [
q(Baiso),
],
- q(1470) => [
+ q(1472) => [
q(Yangkam),
],
- q(1471) => [
+ q(1473) => [
q(Sabah Bisaya),
],
- q(1472) => [
+ q(1474) => [
q(Bata),
],
- q(1473) => [
+ q(1475) => [
q(Bati (Cameroon)),
],
- q(1474) => [
+ q(1476) => [
q(Batak Dairi),
],
- q(1475) => [
+ q(1477) => [
q(Gamo-Ningi),
],
- q(1476) => [
+ q(1478) => [
q(Birgit),
],
- q(1477) => [
+ q(1479) => [
q(Gagnoa Bete),
],
- q(1478) => [
+ q(1480) => [
q(Biatah Bidayuh),
],
- q(1479) => [
+ q(1481) => [
q(Burate),
],
- q(1480) => [
+ q(1482) => [
q(Bacanese Malay),
],
- q(1481) => [
+ q(1483) => [
q(Bhatola),
],
- q(1482) => [
+ q(1484) => [
q(Batak Mandailing),
],
- q(1483) => [
+ q(1485) => [
q(Ratagnon),
],
- q(1484) => [
+ q(1486) => [
q(Rinconada Bikol),
],
- q(1485) => [
+ q(1487) => [
q(Budibud),
],
- q(1486) => [
+ q(1488) => [
q(Batek),
],
- q(1487) => [
+ q(1489) => [
q(Baetora),
],
- q(1488) => [
+ q(1490) => [
q(Batak Simalungun),
],
- q(1489) => [
+ q(1491) => [
q(Bete-Bendi),
],
- q(1490) => [
+ q(1492) => [
q(Batu),
],
- q(1491) => [
+ q(1493) => [
q(Bateri),
],
- q(1492) => [
+ q(1494) => [
q(Butuanon),
],
- q(1493) => [
+ q(1495) => [
q(Batak Karo),
],
- q(1494) => [
+ q(1496) => [
q(Bobot),
],
- q(1495) => [
+ q(1497) => [
q(Batak Alas-Kluet),
],
- q(1496) => [
+ q(1498) => [
q(Bua),
],
- q(1497) => [
+ q(1499) => [
q(Bushi),
],
- q(1498) => [
+ q(1500) => [
q(Ntcham),
],
- q(1499) => [
+ q(1501) => [
q(Beothuk),
],
- q(1500) => [
+ q(1502) => [
q(Bushoong),
],
- q(1501) => [
+ q(1503) => [
q(Younuo Bunu),
],
- q(1502) => [
+ q(1504) => [
q(Bongili),
],
- q(1503) => [
+ q(1505) => [
q(Basa-Gurmana),
],
- q(1504) => [
+ q(1506) => [
q(Bugawac),
],
- q(1505) => [
+ q(1507) => [
q(Bulu (Cameroon)),
],
- q(1506) => [
+ q(1508) => [
q(Sherbro),
],
- q(1507) => [
+ q(1509) => [
q(Terei),
],
- q(1508) => [
+ q(1510) => [
q(Busoa),
],
- q(1509) => [
+ q(1511) => [
q(Brem),
],
- q(1510) => [
+ q(1512) => [
q(Bokobaru),
],
- q(1511) => [
+ q(1513) => [
q(Bungain),
],
- q(1512) => [
+ q(1514) => [
q(Budu),
],
- q(1513) => [
+ q(1515) => [
q(Bun),
],
- q(1514) => [
+ q(1516) => [
q(Bubi),
],
- q(1515) => [
+ q(1517) => [
q(Boghom),
],
- q(1516) => [
+ q(1518) => [
q(Bullom So),
],
- q(1517) => [
+ q(1519) => [
q(Bukwen),
],
- q(1518) => [
+ q(1520) => [
q(Barein),
],
- q(1519) => [
+ q(1521) => [
q(Bube),
],
- q(1520) => [
+ q(1522) => [
q(Baelelea),
],
- q(1521) => [
+ q(1523) => [
q(Baeggu),
],
- q(1522) => [
+ q(1524) => [
q(Berau Malay),
],
- q(1523) => [
+ q(1525) => [
q(Boor),
],
- q(1524) => [
+ q(1526) => [
q(Bonkeng),
],
- q(1525) => [
+ q(1527) => [
q(Bure),
],
- q(1526) => [
+ q(1528) => [
q(Belanda Viri),
],
- q(1527) => [
+ q(1529) => [
q(Baan),
],
- q(1528) => [
+ q(1530) => [
q(Bukat),
],
- q(1529) => [
+ q(1531) => [
q(Bolivian Sign Language),
],
- q(1530) => [
+ q(1532) => [
q(Bamunka),
],
- q(1531) => [
+ q(1533) => [
q(Buna),
],
- q(1532) => [
+ q(1534) => [
q(Bolgo),
],
- q(1533) => [
+ q(1535) => [
+ q(Bumang),
+ ],
+ q(1536) => [
q(Birri),
],
- q(1534) => [
+ q(1537) => [
q(Burarra),
],
- q(1535) => [
+ q(1538) => [
q(Bati (Indonesia)),
],
- q(1536) => [
+ q(1539) => [
q(Bukit Malay),
],
- q(1537) => [
+ q(1540) => [
q(Baniva),
],
- q(1538) => [
+ q(1541) => [
q(Boga),
],
- q(1539) => [
+ q(1542) => [
q(Dibole),
],
- q(1540) => [
+ q(1543) => [
q(Baybayanon),
],
- q(1541) => [
+ q(1544) => [
q(Bauzi),
],
- q(1542) => [
+ q(1545) => [
q(Bwatoo),
],
- q(1543) => [
+ q(1546) => [
q(Namosi-Naitasiri-Serua),
],
- q(1544) => [
+ q(1547) => [
q(Bwile),
],
- q(1545) => [
+ q(1548) => [
q(Bwaidoka),
],
- q(1546) => [
+ q(1549) => [
q(Bwe Karen),
],
- q(1547) => [
+ q(1550) => [
q(Boselewa),
],
- q(1548) => [
+ q(1551) => [
q(Barwe),
],
- q(1549) => [
+ q(1552) => [
q(Bishuo),
],
- q(1550) => [
+ q(1553) => [
q(Baniwa),
],
- q(1551) => [
+ q(1554) => [
q(Laa Laa Bwamu),
],
- q(1552) => [
+ q(1555) => [
q(Bauwaki),
],
- q(1553) => [
+ q(1556) => [
q(Bwela),
],
- q(1554) => [
+ q(1557) => [
q(Biwat),
],
- q(1555) => [
+ q(1558) => [
q(Wunai Bunu),
],
- q(1556) => [
+ q(1559) => [
q(Boro (Ethiopia)),
q(Borna (Ethiopia)),
],
- q(1557) => [
+ q(1560) => [
q(Mandobo Bawah),
],
- q(1558) => [
+ q(1561) => [
q(Southern Bobo Madare),
],
- q(1559) => [
+ q(1562) => [
q(Bura-Pabir),
],
- q(1560) => [
+ q(1563) => [
q(Bomboma),
],
- q(1561) => [
+ q(1564) => [
q(Bafaw-Balong),
],
- q(1562) => [
+ q(1565) => [
q(Buli (Ghana)),
],
- q(1563) => [
+ q(1566) => [
q(Bwa),
],
- q(1564) => [
+ q(1567) => [
q(Bu-Nao Bunu),
],
- q(1565) => [
+ q(1568) => [
q(Cwi Bwamu),
],
- q(1566) => [
+ q(1569) => [
q(Bwisi),
],
- q(1567) => [
- q(Bauro),
+ q(1570) => [
+ q(Tairaha),
],
- q(1568) => [
+ q(1571) => [
q(Belanda Bor),
],
- q(1569) => [
+ q(1572) => [
q(Molengue),
],
- q(1570) => [
+ q(1573) => [
q(Pela),
],
- q(1571) => [
+ q(1574) => [
q(Birale),
],
- q(1572) => [
+ q(1575) => [
q(Bilur),
+ q(Minigir),
],
- q(1573) => [
+ q(1576) => [
q(Bangala),
],
- q(1574) => [
+ q(1577) => [
q(Buhutu),
],
- q(1575) => [
+ q(1578) => [
q(Pirlatapa),
],
- q(1576) => [
+ q(1579) => [
q(Bayungu),
],
- q(1577) => [
+ q(1580) => [
q(Bukusu),
q(Lubukusu),
],
- q(1578) => [
+ q(1581) => [
q(Jalkunan),
],
- q(1579) => [
+ q(1582) => [
q(Mongolia Buriat),
],
- q(1580) => [
+ q(1583) => [
q(Burduna),
],
- q(1581) => [
+ q(1584) => [
q(Barikanchi),
],
- q(1582) => [
+ q(1585) => [
q(Bebil),
],
- q(1583) => [
+ q(1586) => [
q(Beele),
],
- q(1584) => [
+ q(1587) => [
q(Russia Buriat),
],
- q(1585) => [
+ q(1588) => [
q(Busam),
],
- q(1586) => [
+ q(1589) => [
q(China Buriat),
],
- q(1587) => [
+ q(1590) => [
q(Berakou),
],
- q(1588) => [
+ q(1591) => [
q(Bankagooma),
],
- q(1589) => [
+ q(1592) => [
q(Borna (Democratic Republic of Congo)),
],
- q(1590) => [
+ q(1593) => [
q(Binahari),
],
- q(1591) => [
+ q(1594) => [
q(Batak),
],
- q(1592) => [
+ q(1595) => [
q(Bikya),
],
- q(1593) => [
+ q(1596) => [
q(Ubaghara),
],
- q(1594) => [
+ q(1597) => [
q(Benyadu'),
],
- q(1595) => [
+ q(1598) => [
q(Pouye),
],
- q(1596) => [
+ q(1599) => [
q(Bete),
],
- q(1597) => [
+ q(1600) => [
q(Baygo),
],
- q(1598) => [
+ q(1601) => [
q(Bhujel),
],
- q(1599) => [
+ q(1602) => [
q(Buyu),
],
- q(1600) => [
+ q(1603) => [
q(Bina (Nigeria)),
],
- q(1601) => [
+ q(1604) => [
q(Biao),
],
- q(1602) => [
+ q(1605) => [
q(Bayono),
],
- q(1603) => [
+ q(1606) => [
q(Bidyara),
],
- q(1604) => [
+ q(1607) => [
q(Biyo),
],
- q(1605) => [
+ q(1608) => [
q(Bumaji),
],
- q(1606) => [
+ q(1609) => [
q(Basay),
],
- q(1607) => [
+ q(1610) => [
q(Baruya),
q(Yipma),
],
- q(1608) => [
+ q(1611) => [
q(Burak),
],
- q(1609) => [
+ q(1612) => [
q(Berti),
],
- q(1610) => [
+ q(1613) => [
q(Medumba),
],
- q(1611) => [
+ q(1614) => [
q(Belhariya),
],
- q(1612) => [
+ q(1615) => [
q(Qaqet),
],
- q(1613) => [
+ q(1616) => [
q(Buya),
],
- q(1614) => [
+ q(1617) => [
q(Banaro),
],
- q(1615) => [
+ q(1618) => [
q(Bandi),
],
- q(1616) => [
+ q(1619) => [
q(Andio),
],
- q(1617) => [
+ q(1620) => [
q(Southern Betsimisaraka Malagasy),
],
- q(1618) => [
+ q(1621) => [
q(Bribri),
],
- q(1619) => [
+ q(1622) => [
q(Jenaama Bozo),
],
- q(1620) => [
+ q(1623) => [
q(Boikin),
],
- q(1621) => [
+ q(1624) => [
q(Babuza),
],
- q(1622) => [
+ q(1625) => [
q(Mapos Buang),
],
- q(1623) => [
+ q(1626) => [
q(Bisu),
],
- q(1624) => [
+ q(1627) => [
q(Belize Kriol English),
],
- q(1625) => [
+ q(1628) => [
q(Nicaragua Creole English),
],
- q(1626) => [
+ q(1629) => [
q(Boano (Sulawesi)),
],
- q(1627) => [
+ q(1630) => [
q(Bolondo),
],
- q(1628) => [
+ q(1631) => [
q(Boano (Maluku)),
],
- q(1629) => [
+ q(1632) => [
q(Bozaba),
],
- q(1630) => [
+ q(1633) => [
q(Kemberano),
],
- q(1631) => [
+ q(1634) => [
q(Buli (Indonesia)),
],
- q(1632) => [
+ q(1635) => [
q(Biri),
],
- q(1633) => [
+ q(1636) => [
q(Brazilian Sign Language),
],
- q(1634) => [
+ q(1637) => [
q(Brithenig),
],
- q(1635) => [
+ q(1638) => [
q(Burmeso),
],
- q(1636) => [
- q(Bebe),
+ q(1639) => [
+ q(Naami),
],
- q(1637) => [
+ q(1640) => [
q(Basa (Nigeria)),
],
- q(1638) => [
+ q(1641) => [
q(Kelengazxo Bozo),
],
- q(1639) => [
+ q(1642) => [
q(Obanliku),
],
- q(1640) => [
+ q(1643) => [
q(Evant),
],
- q(1641) => [
+ q(1644) => [
q(Chorti),
],
- q(1642) => [
+ q(1645) => [
q(Garifuna),
],
- q(1643) => [
+ q(1646) => [
q(Chuj),
],
- q(1644) => [
+ q(1647) => [
q(Lehar),
q(Laalaa),
],
- q(1645) => [
+ q(1648) => [
q(Southern Carrier),
],
- q(1646) => [
+ q(1649) => [
q(Nivacle),
],
- q(1647) => [
+ q(1650) => [
q(Cahuarano),
],
- q(1648) => [
+ q(1651) => [
q(Chane),
],
- q(1649) => [
+ q(1652) => [
q(Kaqchikel),
q(Cakchiquel),
],
- q(1650) => [
+ q(1653) => [
q(Carolinian),
],
- q(1651) => [
+ q(1654) => [
q(Cemuhi),
],
- q(1652) => [
+ q(1655) => [
q(Chambri),
],
- q(1653) => [
+ q(1656) => [
q(Chacobo),
],
- q(1654) => [
+ q(1657) => [
q(Chipaya),
],
- q(1655) => [
+ q(1658) => [
q(Car Nicobarese),
],
- q(1656) => [
+ q(1659) => [
q(Tsimane),
],
- q(1657) => [
+ q(1660) => [
q(Cavinena),
],
- q(1658) => [
+ q(1661) => [
q(Callawalla),
],
- q(1659) => [
+ q(1662) => [
q(Chiquitano),
],
- q(1660) => [
+ q(1663) => [
q(Cayuga),
],
- q(1661) => [
+ q(1664) => [
q(Canichana),
],
- q(1662) => [
+ q(1665) => [
q(Cabiyari),
],
- q(1663) => [
+ q(1666) => [
q(Carapana),
],
- q(1664) => [
+ q(1667) => [
q(Carijona),
],
- q(1665) => [
+ q(1668) => [
q(Chipiajes),
],
- q(1666) => [
+ q(1669) => [
q(Chimila),
],
- q(1667) => [
+ q(1670) => [
q(Cagua),
],
- q(1668) => [
+ q(1671) => [
q(Chachi),
],
- q(1669) => [
+ q(1672) => [
q(Ede Cabe),
],
- q(1670) => [
+ q(1673) => [
q(Chavacano),
],
- q(1671) => [
+ q(1674) => [
q(Bualkhaw Chin),
],
- q(1672) => [
+ q(1675) => [
q(Nyahkur),
],
- q(1673) => [
+ q(1676) => [
q(Izora),
],
- q(1674) => [
+ q(1677) => [
q(Cashibo-Cacataibo),
],
- q(1675) => [
+ q(1678) => [
q(Cashinahua),
],
- q(1676) => [
+ q(1679) => [
q(Chayahuita),
],
- q(1677) => [
+ q(1680) => [
q(Candoshi-Shapra),
],
- q(1678) => [
+ q(1681) => [
q(Cacua),
],
- q(1679) => [
+ q(1682) => [
q(Kinabalian),
],
- q(1680) => [
+ q(1683) => [
q(Carabayo),
],
- q(1681) => [
+ q(1684) => [
q(Cauca),
],
- q(1682) => [
+ q(1685) => [
q(Chamicuro),
],
- q(1683) => [
+ q(1686) => [
q(Cafundo Creole),
],
- q(1684) => [
+ q(1687) => [
q(Chopi),
],
- q(1685) => [
+ q(1688) => [
q(Samba Daka),
],
- q(1686) => [
+ q(1689) => [
q(Atsam),
],
- q(1687) => [
+ q(1690) => [
q(Kasanga),
],
- q(1688) => [
+ q(1691) => [
q(Cutchi-Swahili),
],
- q(1689) => [
+ q(1692) => [
q(Malaccan Creole Malay),
],
- q(1690) => [
+ q(1693) => [
q(Comaltepec Chinantec),
],
- q(1691) => [
+ q(1694) => [
q(Chakma),
],
- q(1692) => [
+ q(1695) => [
q(Cacaopera),
],
- q(1693) => [
+ q(1696) => [
q(Choni),
],
- q(1694) => [
+ q(1697) => [
q(Chenchu),
],
- q(1695) => [
+ q(1698) => [
q(Chiru),
],
- q(1696) => [
+ q(1699) => [
q(Chamari),
],
- q(1697) => [
+ q(1700) => [
q(Chambeali),
],
- q(1698) => [
+ q(1701) => [
q(Chodri),
],
- q(1699) => [
+ q(1702) => [
q(Churahi),
],
- q(1700) => [
+ q(1703) => [
q(Chepang),
],
- q(1701) => [
+ q(1704) => [
q(Chaudangsi),
],
- q(1702) => [
+ q(1705) => [
q(Min Dong Chinese),
],
- q(1703) => [
+ q(1706) => [
q(Cinda-Regi-Tiyal),
],
- q(1704) => [
+ q(1707) => [
q(Chadian Sign Language),
],
- q(1705) => [
+ q(1708) => [
q(Chadong),
],
- q(1706) => [
+ q(1709) => [
q(Koda),
],
- q(1707) => [
+ q(1710) => [
q(Lower Chehalis),
],
- q(1708) => [
+ q(1711) => [
q(Chamacoco),
],
- q(1709) => [
+ q(1712) => [
q(Eastern Khumi Chin),
],
- q(1710) => [
+ q(1713) => [
q(Cen),
],
- q(1711) => [
+ q(1714) => [
q(Centuum),
],
- q(1712) => [
+ q(1715) => [
q(Dijim-Bwilim),
],
- q(1713) => [
+ q(1716) => [
q(Cara),
],
- q(1714) => [
+ q(1717) => [
q(Como Karim),
],
- q(1715) => [
+ q(1718) => [
q(Falam Chin),
],
- q(1716) => [
+ q(1719) => [
q(Changriwa),
],
- q(1717) => [
+ q(1720) => [
q(Kagayanen),
],
- q(1718) => [
+ q(1721) => [
q(Chiga),
],
- q(1719) => [
+ q(1722) => [
q(Chocangacakha),
],
- q(1720) => [
+ q(1723) => [
q(Catawba),
],
- q(1721) => [
+ q(1724) => [
q(Highland Oaxaca Chontal),
],
- q(1722) => [
+ q(1725) => [
q(Tabasco Chontal),
],
- q(1723) => [
+ q(1726) => [
q(Chinook),
],
- q(1724) => [
+ q(1727) => [
q(Ojitlan Chinantec),
],
- q(1725) => [
+ q(1728) => [
q(Cahuilla),
],
- q(1726) => [
+ q(1729) => [
q(Quiotepec Chinantec),
],
- q(1727) => [
+ q(1730) => [
q(Cholon),
],
- q(1728) => [
+ q(1731) => [
q(Chuwabu),
],
- q(1729) => [
+ q(1732) => [
q(Chantyal),
],
- q(1730) => [
+ q(1733) => [
q(Ozumacin Chinantec),
],
- q(1731) => [
+ q(1734) => [
q(Cia-Cia),
],
- q(1732) => [
+ q(1735) => [
q(Ci Gbe),
],
- q(1733) => [
+ q(1736) => [
q(Chickasaw),
],
- q(1734) => [
+ q(1737) => [
q(Chimariko),
],
- q(1735) => [
+ q(1738) => [
q(Cineni),
],
- q(1736) => [
+ q(1739) => [
q(Chinali),
],
- q(1737) => [
+ q(1740) => [
q(Chitkuli Kinnauri),
],
- q(1738) => [
+ q(1741) => [
q(Cimbrian),
],
- q(1739) => [
+ q(1742) => [
q(Cinta Larga),
],
- q(1740) => [
+ q(1743) => [
q(Chiapanec),
],
- q(1741) => [
+ q(1744) => [
q(Tiri),
+ q(Hamea),
+ q(Mea),
],
- q(1742) => [
+ q(1745) => [
q(Chippewa),
],
- q(1743) => [
+ q(1746) => [
q(Chaima),
],
- q(1744) => [
+ q(1747) => [
q(Western Cham),
],
- q(1745) => [
+ q(1748) => [
q(Chru),
],
- q(1746) => [
+ q(1749) => [
q(Upper Chehalis),
],
- q(1747) => [
+ q(1750) => [
q(Chamalal),
],
- q(1748) => [
+ q(1751) => [
q(Chokwe),
],
- q(1749) => [
+ q(1752) => [
q(Eastern Cham),
],
- q(1750) => [
+ q(1753) => [
q(Chenapian),
],
- q(1751) => [
+ q(1754) => [
q(Asheninka Pajonal),
],
- q(1752) => [
+ q(1755) => [
q(Cabecar),
],
- q(1753) => [
+ q(1756) => [
q(Shor),
],
- q(1754) => [
+ q(1757) => [
q(Chuave),
],
- q(1755) => [
+ q(1758) => [
q(Jinyu Chinese),
],
- q(1756) => [
+ q(1759) => [
q(Central Kurdish),
],
- q(1757) => [
+ q(1760) => [
q(Chak),
],
- q(1758) => [
+ q(1761) => [
q(Cibak),
],
- q(1759) => [
+ q(1762) => [
+ q(Kaang Chin),
+ ],
+ q(1763) => [
q(Anufo),
],
- q(1760) => [
+ q(1764) => [
q(Kajakse),
],
- q(1761) => [
+ q(1765) => [
q(Kairak),
],
- q(1762) => [
+ q(1766) => [
q(Tayo),
],
- q(1763) => [
+ q(1767) => [
q(Chukot),
],
- q(1764) => [
+ q(1768) => [
q(Koasati),
],
- q(1765) => [
+ q(1769) => [
q(Kavalan),
],
- q(1766) => [
+ q(1770) => [
q(Caka),
],
- q(1767) => [
+ q(1771) => [
q(Cakfem-Mushere),
],
- q(1768) => [
+ q(1772) => [
q(Cakchiquel-Quiche Mixed Language),
],
- q(1769) => [
+ q(1773) => [
q(Ron),
],
- q(1770) => [
+ q(1774) => [
q(Chilcotin),
],
- q(1771) => [
+ q(1775) => [
q(Chaldean Neo-Aramaic),
],
- q(1772) => [
+ q(1776) => [
q(Lealao Chinantec),
],
- q(1773) => [
+ q(1777) => [
q(Chilisso),
],
- q(1774) => [
+ q(1778) => [
q(Chakali),
],
- q(1775) => [
+ q(1779) => [
q(Laitu Chin),
],
- q(1776) => [
+ q(1780) => [
q(Idu-Mishmi),
],
- q(1777) => [
+ q(1781) => [
q(Chala),
],
- q(1778) => [
+ q(1782) => [
q(Clallam),
],
- q(1779) => [
+ q(1783) => [
q(Lowland Oaxaca Chontal),
],
- q(1780) => [
+ q(1784) => [
q(Lautu Chin),
],
- q(1781) => [
+ q(1785) => [
q(Caluyanun),
],
- q(1782) => [
+ q(1786) => [
q(Chulym),
],
- q(1783) => [
+ q(1787) => [
q(Eastern Highland Chatino),
],
- q(1784) => [
+ q(1788) => [
q(Maa),
],
- q(1785) => [
+ q(1789) => [
q(Cerma),
],
- q(1786) => [
+ q(1790) => [
q(Classical Mongolian),
],
- q(1787) => [
+ q(1791) => [
q(Embera-Chami),
],
- q(1788) => [
+ q(1792) => [
q(Campalagian),
],
- q(1789) => [
+ q(1793) => [
q(Michigamea),
],
- q(1790) => [
+ q(1794) => [
q(Mandarin Chinese),
],
- q(1791) => [
+ q(1795) => [
q(Central Mnong),
],
- q(1792) => [
+ q(1796) => [
q(Mro-Khimi Chin),
],
- q(1793) => [
+ q(1797) => [
q(Messapic),
],
- q(1794) => [
+ q(1798) => [
q(Camtho),
],
- q(1795) => [
+ q(1799) => [
q(Changthang),
],
- q(1796) => [
+ q(1800) => [
q(Chinbon Chin),
],
- q(1797) => [
+ q(1801) => [
q(Coong),
],
- q(1798) => [
+ q(1802) => [
q(Northern Qiang),
],
- q(1799) => [
+ q(1803) => [
q(Haka Chin),
],
- q(1800) => [
+ q(1804) => [
q(Ashaninka),
],
- q(1801) => [
+ q(1805) => [
q(Khumi Chin),
],
- q(1802) => [
+ q(1806) => [
q(Lalana Chinantec),
],
- q(1803) => [
+ q(1807) => [
q(Con),
],
- q(1804) => [
+ q(1808) => [
q(Central Asmat),
],
- q(1805) => [
+ q(1809) => [
q(Tepetotutla Chinantec),
],
- q(1806) => [
+ q(1810) => [
q(Chenoua),
],
- q(1807) => [
+ q(1811) => [
q(Ngawn Chin),
],
- q(1808) => [
+ q(1812) => [
q(Middle Cornish),
],
- q(1809) => [
+ q(1813) => [
q(Cocos Islands Malay),
],
- q(1810) => [
+ q(1814) => [
q(Chicomuceltec),
],
- q(1811) => [
+ q(1815) => [
q(Cocopa),
],
- q(1812) => [
+ q(1816) => [
q(Cocama-Cocamilla),
],
- q(1813) => [
+ q(1817) => [
q(Koreguaje),
],
- q(1814) => [
+ q(1818) => [
q(Colorado),
],
- q(1815) => [
+ q(1819) => [
q(Chong),
],
- q(1816) => [
+ q(1820) => [
q(Chonyi-Dzihana-Kauma),
q(Chichonyi-Chidzihana-Chikauma),
],
- q(1817) => [
+ q(1821) => [
q(Cochimi),
],
- q(1818) => [
+ q(1822) => [
q(Santa Teresa Cora),
],
- q(1819) => [
+ q(1823) => [
q(Columbia-Wenatchi),
],
- q(1820) => [
+ q(1824) => [
q(Comanche),
],
- q(1821) => [
+ q(1825) => [
q(Cofan),
],
- q(1822) => [
+ q(1826) => [
q(Comox),
],
- q(1823) => [
+ q(1827) => [
q(Coquille),
],
- q(1824) => [
+ q(1828) => [
q(Caquinte),
],
- q(1825) => [
+ q(1829) => [
q(Wamey),
],
- q(1826) => [
+ q(1830) => [
q(Cao Miao),
],
- q(1827) => [
+ q(1831) => [
q(Cowlitz),
],
- q(1828) => [
+ q(1832) => [
q(Nanti),
],
- q(1829) => [
+ q(1833) => [
q(Coyaima),
],
- q(1830) => [
+ q(1834) => [
q(Chochotec),
],
- q(1831) => [
+ q(1835) => [
q(Palantla Chinantec),
],
- q(1832) => [
+ q(1836) => [
q(Ucayali-Yurua Asheninka),
],
- q(1833) => [
+ q(1837) => [
q(Ajyininka Apurucayali),
],
- q(1834) => [
+ q(1838) => [
q(Cappadocian Greek),
],
- q(1835) => [
+ q(1839) => [
q(Chinese Pidgin English),
],
- q(1836) => [
+ q(1840) => [
q(Cherepon),
],
- q(1837) => [
+ q(1841) => [
+ q(Kpeego),
+ ],
+ q(1842) => [
q(Capiznon),
],
- q(1838) => [
+ q(1843) => [
q(Pichis Asheninka),
],
- q(1839) => [
+ q(1844) => [
q(Pu-Xian Chinese),
],
- q(1840) => [
+ q(1845) => [
q(South Ucayali Asheninka),
],
- q(1841) => [
+ q(1846) => [
q(Chuanqiandian Cluster Miao),
],
- q(1842) => [
+ q(1847) => [
q(Chilean Quechua),
],
- q(1843) => [
+ q(1848) => [
q(Chara),
],
- q(1844) => [
+ q(1849) => [
q(Island Carib),
],
- q(1845) => [
+ q(1850) => [
q(Lonwolwol),
],
- q(1846) => [
+ q(1851) => [
q(Coeur d'Alene),
],
- q(1847) => [
+ q(1852) => [
q(Caramanta),
],
- q(1848) => [
+ q(1853) => [
q(Michif),
],
- q(1849) => [
+ q(1854) => [
q(Saotomense),
],
- q(1850) => [
+ q(1855) => [
q(Southern East Cree),
],
- q(1851) => [
+ q(1856) => [
q(Plains Cree),
],
- q(1852) => [
+ q(1857) => [
q(Northern East Cree),
],
- q(1853) => [
+ q(1858) => [
q(Moose Cree),
],
- q(1854) => [
+ q(1859) => [
q(El Nayar Cora),
],
- q(1855) => [
+ q(1860) => [
q(Crow),
],
- q(1856) => [
+ q(1861) => [
q(Iyo'wujwa Chorote),
],
- q(1857) => [
+ q(1862) => [
q(Carolina Algonquian),
],
- q(1858) => [
+ q(1863) => [
q(Seselwa Creole French),
],
- q(1859) => [
+ q(1864) => [
q(Iyojwa'ja Chorote),
],
- q(1860) => [
+ q(1865) => [
q(Chaura),
],
- q(1861) => [
+ q(1866) => [
q(Chrau),
],
- q(1862) => [
+ q(1867) => [
q(Carrier),
],
- q(1863) => [
+ q(1868) => [
q(Cori),
],
- q(1864) => [
+ q(1869) => [
q(Cruzeno),
],
- q(1865) => [
+ q(1870) => [
q(Chiltepec Chinantec),
],
- q(1866) => [
+ q(1871) => [
q(Catalan Sign Language),
q(Lengua de senas catalana),
q(Llengua de Signes Catalana),
],
- q(1867) => [
+ q(1872) => [
q(Chiangmai Sign Language),
],
- q(1868) => [
+ q(1873) => [
q(Czech Sign Language),
],
- q(1869) => [
+ q(1874) => [
q(Cuba Sign Language),
],
- q(1870) => [
+ q(1875) => [
q(Chilean Sign Language),
],
- q(1871) => [
+ q(1876) => [
q(Asho Chin),
],
- q(1872) => [
+ q(1877) => [
q(Coast Miwok),
],
- q(1873) => [
+ q(1878) => [
+ q(Songlai Chin),
+ ],
+ q(1879) => [
q(Jola-Kasa),
],
- q(1874) => [
+ q(1880) => [
q(Chinese Sign Language),
],
- q(1875) => [
+ q(1881) => [
q(Central Sierra Miwok),
],
- q(1876) => [
+ q(1882) => [
q(Colombian Sign Language),
],
- q(1877) => [
+ q(1883) => [
q(Sochiapam Chinantec),
q(Sochiapan Chinantec),
],
- q(1878) => [
+ q(1884) => [
q(Croatia Sign Language),
],
- q(1879) => [
+ q(1885) => [
q(Costa Rican Sign Language),
],
- q(1880) => [
+ q(1886) => [
q(Southern Ohlone),
],
- q(1881) => [
+ q(1887) => [
q(Northern Ohlone),
],
- q(1882) => [
+ q(1888) => [
q(Sumtu Chin),
],
- q(1883) => [
+ q(1889) => [
q(Swampy Cree),
],
- q(1884) => [
+ q(1890) => [
q(Siyin Chin),
],
- q(1885) => [
+ q(1891) => [
q(Coos),
],
- q(1886) => [
+ q(1892) => [
q(Tataltepec Chatino),
],
- q(1887) => [
+ q(1893) => [
q(Chetco),
],
- q(1888) => [
+ q(1894) => [
q(Tedim Chin),
],
- q(1889) => [
+ q(1895) => [
q(Tepinapa Chinantec),
],
- q(1890) => [
+ q(1896) => [
q(Chittagonian),
],
- q(1891) => [
+ q(1897) => [
q(Thaiphum Chin),
],
- q(1892) => [
+ q(1898) => [
q(Tlacoatzintepec Chinantec),
],
- q(1893) => [
+ q(1899) => [
q(Chitimacha),
],
- q(1894) => [
+ q(1900) => [
q(Chhintange),
],
- q(1895) => [
+ q(1901) => [
q(Embera-Catio),
],
- q(1896) => [
+ q(1902) => [
q(Western Highland Chatino),
],
- q(1897) => [
+ q(1903) => [
q(Northern Catanduanes Bikol),
],
- q(1898) => [
+ q(1904) => [
q(Wayanad Chetti),
],
- q(1899) => [
+ q(1905) => [
q(Chol),
],
- q(1900) => [
+ q(1906) => [
q(Zacatepec Chatino),
],
- q(1901) => [
+ q(1907) => [
q(Cua),
],
- q(1902) => [
+ q(1908) => [
q(Cubeo),
],
- q(1903) => [
+ q(1909) => [
q(Usila Chinantec),
],
- q(1904) => [
+ q(1910) => [
q(Cung),
],
- q(1905) => [
+ q(1911) => [
q(Chuka),
q(Gichuka),
],
- q(1906) => [
+ q(1912) => [
q(Cuiba),
],
- q(1907) => [
+ q(1913) => [
q(Mashco Piro),
],
- q(1908) => [
+ q(1914) => [
q(San Blas Kuna),
],
- q(1909) => [
+ q(1915) => [
q(Culina),
q(Kulina),
],
- q(1910) => [
+ q(1916) => [
q(Cumeral),
],
- q(1911) => [
+ q(1917) => [
q(Cumanagoto),
],
- q(1912) => [
+ q(1918) => [
q(Cupeno),
],
- q(1913) => [
+ q(1919) => [
q(Cun),
],
- q(1914) => [
+ q(1920) => [
q(Chhulung),
],
- q(1915) => [
+ q(1921) => [
q(Teutila Cuicatec),
],
- q(1916) => [
+ q(1922) => [
q(Tai Ya),
],
- q(1917) => [
+ q(1923) => [
q(Cuvok),
],
- q(1918) => [
+ q(1924) => [
q(Chukwa),
],
- q(1919) => [
+ q(1925) => [
q(Tepeuxila Cuicatec),
],
- q(1920) => [
+ q(1926) => [
q(Chug),
],
- q(1921) => [
+ q(1927) => [
q(Valle Nacional Chinantec),
],
- q(1922) => [
+ q(1928) => [
q(Kabwa),
],
- q(1923) => [
+ q(1929) => [
q(Maindo),
],
- q(1924) => [
+ q(1930) => [
q(Woods Cree),
],
- q(1925) => [
+ q(1931) => [
q(Kwere),
],
- q(1926) => [
+ q(1932) => [
q(Chewong),
q(Cheq Wong),
],
- q(1927) => [
+ q(1933) => [
q(Kuwaataay),
],
- q(1928) => [
+ q(1934) => [
q(Nopala Chatino),
],
- q(1929) => [
+ q(1935) => [
q(Cayubaba),
],
- q(1930) => [
+ q(1936) => [
q(Cuyonon),
],
- q(1931) => [
+ q(1937) => [
q(Huizhou Chinese),
],
- q(1932) => [
+ q(1938) => [
q(Knaanic),
],
- q(1933) => [
+ q(1939) => [
q(Zenzontepec Chatino),
],
- q(1934) => [
+ q(1940) => [
q(Min Zhong Chinese),
],
- q(1935) => [
+ q(1941) => [
q(Zotung Chin),
],
- q(1936) => [
+ q(1942) => [
q(Dangaleat),
],
- q(1937) => [
+ q(1943) => [
q(Dambi),
],
- q(1938) => [
+ q(1944) => [
q(Marik),
],
- q(1939) => [
+ q(1945) => [
q(Duupa),
],
- q(1940) => [
- q(Dan),
- ],
- q(1941) => [
+ q(1946) => [
q(Dagbani),
],
- q(1942) => [
+ q(1947) => [
q(Gwahatike),
],
- q(1943) => [
+ q(1948) => [
q(Day),
],
- q(1944) => [
+ q(1949) => [
q(Dar Fur Daju),
],
- q(1945) => [
+ q(1950) => [
q(Dahalo),
],
- q(1946) => [
+ q(1951) => [
q(Damakawa),
],
- q(1947) => [
+ q(1952) => [
q(Daai Chin),
],
- q(1948) => [
+ q(1953) => [
q(Dandami Maria),
],
- q(1949) => [
+ q(1954) => [
q(Daho-Doo),
],
- q(1950) => [
+ q(1955) => [
q(Dar Sila Daju),
],
- q(1951) => [
+ q(1956) => [
q(Taita),
q(Dawida),
],
- q(1952) => [
+ q(1957) => [
q(Davawenyo),
],
- q(1953) => [
+ q(1958) => [
q(Dayi),
],
- q(1954) => [
+ q(1959) => [
q(Dao),
],
- q(1955) => [
- q(Bangi Me),
+ q(1960) => [
+ q(Bangime),
],
- q(1956) => [
+ q(1961) => [
q(Deno),
],
- q(1957) => [
+ q(1962) => [
q(Dadiya),
],
- q(1958) => [
+ q(1963) => [
q(Dabe),
],
- q(1959) => [
+ q(1964) => [
q(Edopi),
],
- q(1960) => [
+ q(1965) => [
q(Dogul Dom Dogon),
],
- q(1961) => [
+ q(1966) => [
q(Doka),
],
- q(1962) => [
+ q(1967) => [
q(Ida'an),
],
- q(1963) => [
+ q(1968) => [
q(Dyirbal),
],
- q(1964) => [
+ q(1969) => [
q(Duguri),
],
- q(1965) => [
+ q(1970) => [
q(Duriankere),
],
- q(1966) => [
+ q(1971) => [
q(Dulbu),
],
- q(1967) => [
+ q(1972) => [
q(Duwai),
],
- q(1968) => [
+ q(1973) => [
q(Daba),
],
- q(1969) => [
+ q(1974) => [
q(Dabarre),
],
- q(1970) => [
+ q(1975) => [
q(Ben Tey Dogon),
],
- q(1971) => [
+ q(1976) => [
q(Bondum Dom Dogon),
],
- q(1972) => [
+ q(1977) => [
q(Dungu),
],
- q(1973) => [
+ q(1978) => [
q(Bankan Tey Dogon),
],
- q(1974) => [
+ q(1979) => [
q(Dibiyaso),
],
- q(1975) => [
+ q(1980) => [
q(Deccan),
],
- q(1976) => [
+ q(1981) => [
q(Negerhollands),
],
- q(1977) => [
+ q(1982) => [
q(Dadi Dadi),
],
- q(1978) => [
+ q(1983) => [
q(Dongotono),
],
- q(1979) => [
+ q(1984) => [
q(Doondo),
],
- q(1980) => [
+ q(1985) => [
q(Fataluku),
],
- q(1981) => [
+ q(1986) => [
q(West Goodenough),
],
- q(1982) => [
+ q(1987) => [
q(Jaru),
],
- q(1983) => [
+ q(1988) => [
q(Dendi (Benin)),
],
- q(1984) => [
+ q(1989) => [
q(Dido),
],
- q(1985) => [
+ q(1990) => [
q(Dhudhuroa),
],
- q(1986) => [
+ q(1991) => [
q(Donno So Dogon),
],
- q(1987) => [
+ q(1992) => [
q(Dawera-Daweloor),
],
- q(1988) => [
+ q(1993) => [
q(Dagik),
],
- q(1989) => [
+ q(1994) => [
q(Dedua),
],
- q(1990) => [
+ q(1995) => [
q(Dewoin),
],
- q(1991) => [
+ q(1996) => [
q(Dezfuli),
],
- q(1992) => [
+ q(1997) => [
q(Degema),
],
- q(1993) => [
+ q(1998) => [
q(Dehwari),
],
- q(1994) => [
+ q(1999) => [
q(Demisa),
],
- q(1995) => [
+ q(2000) => [
q(Dek),
],
- q(1996) => [
+ q(2001) => [
q(Dem),
],
- q(1997) => [
+ q(2002) => [
q(Pidgin Delaware),
],
- q(1998) => [
+ q(2003) => [
q(Dendi (Central African Republic)),
],
- q(1999) => [
+ q(2004) => [
q(Deori),
],
- q(2000) => [
+ q(2005) => [
q(Desano),
],
- q(2001) => [
+ q(2006) => [
q(Domung),
],
- q(2002) => [
+ q(2007) => [
q(Dengese),
],
- q(2003) => [
+ q(2008) => [
q(Southern Dagaare),
],
- q(2004) => [
+ q(2009) => [
q(Bunoge Dogon),
],
- q(2005) => [
+ q(2010) => [
q(Casiguran Dumagat Agta),
],
- q(2006) => [
+ q(2011) => [
q(Dagaari Dioula),
],
- q(2007) => [
+ q(2012) => [
q(Degenan),
],
- q(2008) => [
+ q(2013) => [
q(Doga),
],
- q(2009) => [
+ q(2014) => [
q(Dghwede),
],
- q(2010) => [
+ q(2015) => [
q(Northern Dagara),
],
- q(2011) => [
+ q(2016) => [
q(Dagba),
],
- q(2012) => [
+ q(2017) => [
q(Andaandi),
q(Dongolawi),
],
- q(2013) => [
+ q(2018) => [
q(Dagoman),
],
- q(2014) => [
+ q(2019) => [
q(Dogri (individual language)),
],
- q(2015) => [
+ q(2020) => [
q(Dogoso),
],
- q(2016) => [
- q(Ndrag'ngith),
+ q(2021) => [
+ q(Ndra'ngith),
],
- q(2017) => [
+ q(2022) => [
q(Degaru),
],
- q(2018) => [
+ q(2023) => [
q(Daungwurrung),
],
- q(2019) => [
+ q(2024) => [
q(Doghoro),
],
- q(2020) => [
+ q(2025) => [
q(Daga),
],
- q(2021) => [
+ q(2026) => [
q(Dhundari),
],
- q(2022) => [
+ q(2027) => [
+ q(Djangu),
q(Dhangu),
],
- q(2023) => [
+ q(2028) => [
q(Dhimal),
],
- q(2024) => [
+ q(2029) => [
q(Dhalandji),
],
- q(2025) => [
+ q(2030) => [
q(Zemba),
],
- q(2026) => [
+ q(2031) => [
q(Dhanki),
],
- q(2027) => [
+ q(2032) => [
q(Dhodia),
],
- q(2028) => [
+ q(2033) => [
q(Dhargari),
],
- q(2029) => [
+ q(2034) => [
q(Dhaiso),
],
- q(2030) => [
+ q(2035) => [
q(Dhurga),
],
- q(2031) => [
+ q(2036) => [
q(Dehu),
+ q(Drehu),
],
- q(2032) => [
+ q(2037) => [
q(Dhanwar (Nepal)),
],
- q(2033) => [
+ q(2038) => [
+ q(Dhungaloo),
+ ],
+ q(2039) => [
q(Dia),
],
- q(2034) => [
+ q(2040) => [
q(South Central Dinka),
],
- q(2035) => [
+ q(2041) => [
q(Lakota Dida),
],
- q(2036) => [
+ q(2042) => [
q(Didinga),
],
- q(2037) => [
+ q(2043) => [
q(Dieri),
],
- q(2038) => [
+ q(2044) => [
q(Digo),
q(Chidigo),
],
- q(2039) => [
+ q(2045) => [
q(Kumiai),
],
- q(2040) => [
+ q(2046) => [
q(Dimbong),
],
- q(2041) => [
+ q(2047) => [
q(Dai),
],
- q(2042) => [
+ q(2048) => [
q(Southwestern Dinka),
],
- q(2043) => [
+ q(2049) => [
q(Dilling),
],
- q(2044) => [
+ q(2050) => [
q(Dime),
],
- q(2045) => [
+ q(2051) => [
q(Dibo),
],
- q(2046) => [
+ q(2052) => [
q(Northeastern Dinka),
],
- q(2047) => [
+ q(2053) => [
q(Dimli (individual language)),
],
- q(2048) => [
+ q(2054) => [
q(Dirim),
],
- q(2049) => [
+ q(2055) => [
q(Dimasa),
],
- q(2050) => [
+ q(2056) => [
q(Dirari),
],
- q(2051) => [
+ q(2057) => [
q(Diriku),
],
- q(2052) => [
+ q(2058) => [
q(Northwestern Dinka),
],
- q(2053) => [
+ q(2059) => [
q(Dixon Reef),
],
- q(2054) => [
+ q(2060) => [
q(Diuwe),
],
- q(2055) => [
+ q(2061) => [
q(Ding),
],
- q(2056) => [
+ q(2062) => [
q(Djadjawurrung),
],
- q(2057) => [
+ q(2063) => [
q(Djinba),
],
- q(2058) => [
+ q(2064) => [
q(Dar Daju Daju),
],
- q(2059) => [
+ q(2065) => [
q(Djamindjung),
],
- q(2060) => [
+ q(2066) => [
q(Zarma),
],
- q(2061) => [
+ q(2067) => [
q(Djangun),
],
- q(2062) => [
+ q(2068) => [
q(Djinang),
],
- q(2063) => [
+ q(2069) => [
q(Djeebbana),
],
- q(2064) => [
+ q(2070) => [
q(Eastern Maroon Creole),
q(Businenge Tongo),
q(Nenge),
],
- q(2065) => [
- q(Djiwarli),
- ],
- q(2066) => [
+ q(2071) => [
q(Jamsay Dogon),
],
- q(2067) => [
+ q(2072) => [
q(Djauan),
],
- q(2068) => [
+ q(2073) => [
q(Jangkang),
],
- q(2069) => [
+ q(2074) => [
q(Djambarrpuyngu),
],
- q(2070) => [
+ q(2075) => [
q(Kapriman),
],
- q(2071) => [
+ q(2076) => [
q(Djawi),
],
- q(2072) => [
+ q(2077) => [
q(Dakpakha),
],
- q(2073) => [
+ q(2078) => [
q(Dakka),
],
- q(2074) => [
+ q(2079) => [
q(Kuijau),
],
- q(2075) => [
+ q(2080) => [
q(Southeastern Dinka),
],
- q(2076) => [
+ q(2081) => [
q(Mazagway),
],
- q(2077) => [
+ q(2082) => [
q(Dolgan),
],
- q(2078) => [
+ q(2083) => [
+ q(Dahalik),
+ ],
+ q(2084) => [
q(Dalmatian),
],
- q(2079) => [
+ q(2085) => [
q(Darlong),
],
- q(2080) => [
+ q(2086) => [
q(Duma),
],
- q(2081) => [
+ q(2087) => [
q(Mombo Dogon),
],
- q(2082) => [
- q(Dimir),
+ q(2088) => [
+ q(Gavak),
],
- q(2083) => [
+ q(2089) => [
q(Madhi Madhi),
],
- q(2084) => [
+ q(2090) => [
q(Dugwor),
],
- q(2085) => [
+ q(2091) => [
q(Upper Kinabatangan),
],
- q(2086) => [
+ q(2092) => [
q(Domaaki),
],
- q(2087) => [
+ q(2093) => [
q(Dameli),
],
- q(2088) => [
+ q(2094) => [
q(Dama),
],
- q(2089) => [
+ q(2095) => [
q(Kemedzung),
],
- q(2090) => [
+ q(2096) => [
q(East Damar),
],
- q(2091) => [
+ q(2097) => [
q(Dampelas),
],
- q(2092) => [
+ q(2098) => [
q(Dubu),
q(Tebi),
],
- q(2093) => [
+ q(2099) => [
q(Dumpas),
],
- q(2094) => [
+ q(2100) => [
+ q(Mudburra),
+ ],
+ q(2101) => [
q(Dema),
],
- q(2095) => [
+ q(2102) => [
q(Demta),
q(Sowari),
],
- q(2096) => [
+ q(2103) => [
q(Upper Grand Valley Dani),
],
- q(2097) => [
+ q(2104) => [
q(Daonda),
],
- q(2098) => [
+ q(2105) => [
q(Ndendeule),
],
- q(2099) => [
+ q(2106) => [
q(Dungan),
],
- q(2100) => [
+ q(2107) => [
q(Lower Grand Valley Dani),
],
- q(2101) => [
+ q(2108) => [
+ q(Dan),
+ ],
+ q(2109) => [
q(Dengka),
],
- q(2102) => [
+ q(2110) => [
q(Dzuungoo),
],
- q(2103) => [
+ q(2111) => [
q(Danaru),
],
- q(2104) => [
+ q(2112) => [
q(Mid Grand Valley Dani),
],
- q(2105) => [
+ q(2113) => [
q(Danau),
],
- q(2106) => [
+ q(2114) => [
q(Danu),
],
- q(2107) => [
+ q(2115) => [
q(Western Dani),
],
- q(2108) => [
+ q(2116) => [
q(Deni),
],
- q(2109) => [
+ q(2117) => [
q(Dom),
],
- q(2110) => [
+ q(2118) => [
q(Dobu),
],
- q(2111) => [
+ q(2119) => [
q(Northern Dong),
],
- q(2112) => [
+ q(2120) => [
q(Doe),
],
- q(2113) => [
+ q(2121) => [
q(Domu),
],
- q(2114) => [
+ q(2122) => [
q(Dong),
],
- q(2115) => [
+ q(2123) => [
q(Dondo),
],
- q(2116) => [
+ q(2124) => [
q(Doso),
],
- q(2117) => [
+ q(2125) => [
q(Toura (Papua New Guinea)),
],
- q(2118) => [
+ q(2126) => [
q(Dongo),
],
- q(2119) => [
+ q(2127) => [
q(Lukpa),
],
- q(2120) => [
+ q(2128) => [
q(Dominican Sign Language),
],
- q(2121) => [
+ q(2129) => [
q(Dori'o),
],
- q(2122) => [
+ q(2130) => [
q(Dogose),
],
- q(2123) => [
+ q(2131) => [
q(Dass),
],
- q(2124) => [
+ q(2132) => [
q(Dombe),
],
- q(2125) => [
+ q(2133) => [
q(Doyayo),
],
- q(2126) => [
+ q(2134) => [
q(Bussa),
],
- q(2127) => [
+ q(2135) => [
q(Dompo),
],
- q(2128) => [
+ q(2136) => [
q(Dorze),
],
- q(2129) => [
+ q(2137) => [
q(Papar),
],
- q(2130) => [
+ q(2138) => [
q(Dair),
],
- q(2131) => [
+ q(2139) => [
q(Minderico),
],
- q(2132) => [
+ q(2140) => [
q(Darmiya),
],
- q(2133) => [
+ q(2141) => [
q(Dolpo),
],
- q(2134) => [
+ q(2142) => [
q(Rungus),
],
- q(2135) => [
+ q(2143) => [
q(C'lela),
],
- q(2136) => [
+ q(2144) => [
q(Paakantyi),
],
- q(2137) => [
+ q(2145) => [
q(West Damar),
],
- q(2138) => [
+ q(2146) => [
q(Daro-Matu Melanau),
],
- q(2139) => [
+ q(2147) => [
q(Dura),
],
- q(2140) => [
+ q(2148) => [
q(Dororo),
],
- q(2141) => [
+ q(2149) => [
q(Gedeo),
],
- q(2142) => [
+ q(2150) => [
q(Drents),
],
- q(2143) => [
+ q(2151) => [
q(Rukai),
],
- q(2144) => [
+ q(2152) => [
q(Darai),
],
- q(2145) => [
+ q(2153) => [
q(Dutch Sign Language),
],
- q(2146) => [
+ q(2154) => [
q(Daasanach),
],
- q(2147) => [
+ q(2155) => [
q(Disa),
],
- q(2148) => [
+ q(2156) => [
q(Danish Sign Language),
],
- q(2149) => [
+ q(2157) => [
q(Dusner),
],
- q(2150) => [
+ q(2158) => [
q(Desiya),
],
- q(2151) => [
+ q(2159) => [
q(Tadaksahak),
],
- q(2152) => [
+ q(2160) => [
q(Daur),
],
- q(2153) => [
+ q(2161) => [
q(Labuk-Kinabatangan Kadazan),
],
- q(2154) => [
+ q(2162) => [
q(Ditidaht),
],
- q(2155) => [
+ q(2163) => [
q(Adithinngithigh),
],
- q(2156) => [
+ q(2164) => [
q(Ana Tinga Dogon),
],
- q(2157) => [
+ q(2165) => [
q(Tene Kan Dogon),
],
- q(2158) => [
+ q(2166) => [
q(Tomo Kan Dogon),
],
- q(2159) => [
+ q(2167) => [
q(Tommo So Dogon),
],
- q(2160) => [
+ q(2168) => [
q(Central Dusun),
],
- q(2161) => [
+ q(2169) => [
q(Lotud),
],
- q(2162) => [
+ q(2170) => [
q(Toro So Dogon),
],
- q(2163) => [
+ q(2171) => [
q(Toro Tegu Dogon),
],
- q(2164) => [
+ q(2172) => [
q(Tebul Ure Dogon),
],
- q(2165) => [
+ q(2173) => [
q(Dotyali),
],
- q(2166) => [
+ q(2174) => [
q(Dubli),
],
- q(2167) => [
+ q(2175) => [
q(Duna),
],
- q(2168) => [
+ q(2176) => [
q(Hun-Saare),
],
- q(2169) => [
+ q(2177) => [
q(Umiray Dumaget Agta),
],
- q(2170) => [
+ q(2178) => [
q(Dumbea),
+ q(Drubea),
],
- q(2171) => [
+ q(2179) => [
q(Duruma),
q(Chiduruma),
],
- q(2172) => [
+ q(2180) => [
q(Dungra Bhil),
],
- q(2173) => [
+ q(2181) => [
q(Dumun),
],
- q(2174) => [
+ q(2182) => [
q(Dhuwal),
],
- q(2175) => [
+ q(2183) => [
q(Uyajitaya),
],
- q(2176) => [
+ q(2184) => [
q(Alabat Island Agta),
],
- q(2177) => [
+ q(2185) => [
q(Dusun Deyah),
],
- q(2178) => [
+ q(2186) => [
q(Dupaninan Agta),
],
- q(2179) => [
+ q(2187) => [
q(Duano),
],
- q(2180) => [
+ q(2188) => [
q(Dusun Malang),
],
- q(2181) => [
+ q(2189) => [
q(Dii),
],
- q(2182) => [
+ q(2190) => [
q(Dumi),
],
- q(2183) => [
+ q(2191) => [
q(Drung),
],
- q(2184) => [
+ q(2192) => [
q(Duvle),
],
- q(2185) => [
+ q(2193) => [
q(Dusun Witu),
],
- q(2186) => [
+ q(2194) => [
q(Duungooma),
],
- q(2187) => [
+ q(2195) => [
q(Dicamay Agta),
],
- q(2188) => [
+ q(2196) => [
q(Duli),
],
- q(2189) => [
+ q(2197) => [
q(Duau),
],
- q(2190) => [
+ q(2198) => [
q(Diri),
],
- q(2191) => [
+ q(2199) => [
q(Dawro),
],
- q(2192) => [
+ q(2200) => [
q(Dutton World Speedwords),
],
- q(2193) => [
+ q(2201) => [
q(Dawawa),
],
- q(2194) => [
+ q(2202) => [
q(Dyan),
],
- q(2195) => [
+ q(2203) => [
q(Dyaberdyaber),
],
- q(2196) => [
+ q(2204) => [
q(Dyugun),
],
- q(2197) => [
+ q(2205) => [
q(Villa Viciosa Agta),
],
- q(2198) => [
+ q(2206) => [
q(Djimini Senoufo),
],
- q(2199) => [
+ q(2207) => [
q(Yanda Dom Dogon),
],
- q(2200) => [
+ q(2208) => [
q(Dyangadi),
],
- q(2201) => [
+ q(2209) => [
q(Jola-Fonyi),
],
- q(2202) => [
+ q(2210) => [
q(Dyaabugay),
],
- q(2203) => [
+ q(2211) => [
q(Tunzu),
],
- q(2204) => [
+ q(2212) => [
q(Daza),
],
- q(2205) => [
+ q(2213) => [
+ q(Djiwarli),
+ ],
+ q(2214) => [
q(Dazaga),
],
- q(2206) => [
+ q(2215) => [
q(Dzalakha),
],
- q(2207) => [
+ q(2216) => [
q(Dzando),
],
- q(2208) => [
+ q(2217) => [
+ q(Karenggapa),
+ ],
+ q(2218) => [
q(Ebughu),
],
- q(2209) => [
+ q(2219) => [
q(Eastern Bontok),
],
- q(2210) => [
+ q(2220) => [
q(Teke-Ebo),
],
- q(2211) => [
+ q(2221) => [
q(Ebrie),
],
- q(2212) => [
+ q(2222) => [
q(Embu),
q(Kiembu),
],
- q(2213) => [
+ q(2223) => [
q(Eteocretan),
],
- q(2214) => [
+ q(2224) => [
q(Ecuadorian Sign Language),
],
- q(2215) => [
+ q(2225) => [
q(Eteocypriot),
],
- q(2216) => [
+ q(2226) => [
q(E),
],
- q(2217) => [
+ q(2227) => [
q(Efai),
],
- q(2218) => [
+ q(2228) => [
q(Efe),
],
- q(2219) => [
+ q(2229) => [
q(Ega),
],
- q(2220) => [
+ q(2230) => [
q(Emilian),
],
- q(2221) => [
+ q(2231) => [
q(Eggon),
],
- q(2222) => [
+ q(2232) => [
q(Ehueun),
],
- q(2223) => [
+ q(2233) => [
q(Eipomek),
],
- q(2224) => [
+ q(2234) => [
q(Eitiep),
],
- q(2225) => [
+ q(2235) => [
q(Askopan),
],
- q(2226) => [
+ q(2236) => [
q(Ejamat),
],
- q(2227) => [
+ q(2237) => [
+ q(Eastern Karnic),
+ ],
+ q(2238) => [
q(Ekit),
],
- q(2228) => [
+ q(2239) => [
q(Ekari),
],
- q(2229) => [
+ q(2240) => [
q(Eki),
],
- q(2230) => [
+ q(2241) => [
q(Standard Estonian),
],
- q(2231) => [
+ q(2242) => [
q(Kol (Bangladesh)),
q(Kol),
],
- q(2232) => [
+ q(2243) => [
q(Elip),
],
- q(2233) => [
+ q(2244) => [
q(Koti),
],
- q(2234) => [
+ q(2245) => [
q(Ekpeye),
],
- q(2235) => [
+ q(2246) => [
q(Yace),
],
- q(2236) => [
+ q(2247) => [
q(Eastern Kayah),
],
- q(2237) => [
+ q(2248) => [
q(Elepi),
],
- q(2238) => [
+ q(2249) => [
q(El Hugeirat),
],
- q(2239) => [
+ q(2250) => [
q(Nding),
],
- q(2240) => [
+ q(2251) => [
q(Elkei),
],
- q(2241) => [
+ q(2252) => [
q(Eleme),
],
- q(2242) => [
+ q(2253) => [
q(El Molo),
],
- q(2243) => [
+ q(2254) => [
q(Elu),
],
- q(2244) => [
+ q(2255) => [
q(Emai-Iuleha-Ora),
],
- q(2245) => [
+ q(2256) => [
q(Embaloh),
],
- q(2246) => [
+ q(2257) => [
q(Emerillon),
],
- q(2247) => [
+ q(2258) => [
q(Eastern Meohang),
],
- q(2248) => [
+ q(2259) => [
q(Mussau-Emira),
],
- q(2249) => [
+ q(2260) => [
q(Eastern Maninkakan),
],
- q(2250) => [
+ q(2261) => [
q(Mamulique),
],
- q(2251) => [
+ q(2262) => [
q(Eman),
],
- q(2252) => [
+ q(2263) => [
q(Emok),
],
- q(2253) => [
+ q(2264) => [
q(Northern Embera),
],
- q(2254) => [
+ q(2265) => [
q(Pacific Gulf Yupik),
],
- q(2255) => [
+ q(2266) => [
q(Eastern Muria),
],
- q(2256) => [
+ q(2267) => [
q(Emplawas),
],
- q(2257) => [
+ q(2268) => [
q(Erromintxela),
],
- q(2258) => [
+ q(2269) => [
q(Epigraphic Mayan),
],
- q(2259) => [
+ q(2270) => [
q(Apali),
],
- q(2260) => [
+ q(2271) => [
q(Markweeta),
],
- q(2261) => [
+ q(2272) => [
q(En),
],
- q(2262) => [
+ q(2273) => [
q(Ende),
],
- q(2263) => [
+ q(2274) => [
q(Forest Enets),
],
- q(2264) => [
+ q(2275) => [
q(Tundra Enets),
],
- q(2265) => [
+ q(2276) => [
q(Engenni),
],
- q(2266) => [
+ q(2277) => [
q(Enggano),
],
- q(2267) => [
+ q(2278) => [
q(Enga),
],
- q(2268) => [
+ q(2279) => [
q(Emumu),
q(Emem),
],
- q(2269) => [
+ q(2280) => [
q(Enu),
],
- q(2270) => [
+ q(2281) => [
q(Enwan (Edu State)),
],
- q(2271) => [
+ q(2282) => [
q(Enwan (Akwa Ibom State)),
],
- q(2272) => [
+ q(2283) => [
q(Beti (Cote d'Ivoire)),
],
- q(2273) => [
+ q(2284) => [
q(Epie),
],
- q(2274) => [
+ q(2285) => [
q(Eravallan),
],
- q(2275) => [
+ q(2286) => [
q(Sie),
],
- q(2276) => [
+ q(2287) => [
q(Eruwa),
],
- q(2277) => [
+ q(2288) => [
q(Ogea),
],
- q(2278) => [
+ q(2289) => [
q(South Efate),
],
- q(2279) => [
+ q(2290) => [
q(Horpa),
],
- q(2280) => [
+ q(2291) => [
q(Erre),
],
- q(2281) => [
+ q(2292) => [
q(Ersu),
],
- q(2282) => [
+ q(2293) => [
q(Eritai),
],
- q(2283) => [
+ q(2294) => [
q(Erokwanas),
],
- q(2284) => [
+ q(2295) => [
q(Ese Ejja),
],
- q(2285) => [
+ q(2296) => [
q(Eshtehardi),
],
- q(2286) => [
+ q(2297) => [
q(North Alaskan Inupiatun),
],
- q(2287) => [
+ q(2298) => [
q(Northwest Alaska Inupiatun),
],
- q(2288) => [
+ q(2299) => [
q(Egypt Sign Language),
],
- q(2289) => [
+ q(2300) => [
q(Esuma),
],
- q(2290) => [
+ q(2301) => [
q(Salvadoran Sign Language),
],
- q(2291) => [
+ q(2302) => [
q(Estonian Sign Language),
],
- q(2292) => [
+ q(2303) => [
q(Esselen),
],
- q(2293) => [
+ q(2304) => [
q(Central Siberian Yupik),
],
- q(2294) => [
+ q(2305) => [
q(Central Yupik),
],
- q(2295) => [
+ q(2306) => [
q(Etebi),
],
- q(2296) => [
+ q(2307) => [
q(Etchemin),
],
- q(2297) => [
+ q(2308) => [
q(Ethiopian Sign Language),
],
- q(2298) => [
+ q(2309) => [
q(Eton (Vanuatu)),
],
- q(2299) => [
+ q(2310) => [
q(Eton (Cameroon)),
],
- q(2300) => [
+ q(2311) => [
q(Edolo),
],
- q(2301) => [
+ q(2312) => [
q(Yekhee),
],
- q(2302) => [
+ q(2313) => [
q(Etruscan),
],
- q(2303) => [
+ q(2314) => [
q(Ejagham),
],
- q(2304) => [
+ q(2315) => [
q(Eten),
],
- q(2305) => [
+ q(2316) => [
q(Semimi),
],
- q(2306) => [
+ q(2317) => [
q(Even),
],
- q(2307) => [
+ q(2318) => [
q(Uvbie),
],
- q(2308) => [
+ q(2319) => [
q(Evenki),
],
- q(2309) => [
+ q(2320) => [
q(Extremaduran),
],
- q(2310) => [
+ q(2321) => [
q(Eyak),
],
- q(2311) => [
+ q(2322) => [
q(Keiyo),
],
- q(2312) => [
+ q(2323) => [
+ q(Ezaa),
+ ],
+ q(2324) => [
q(Uzekwe),
],
- q(2313) => [
+ q(2325) => [
q(Fasu),
],
- q(2314) => [
- q(Fa D'ambu),
+ q(2326) => [
+ q(Fa d'Ambu),
],
- q(2315) => [
+ q(2327) => [
q(Wagi),
],
- q(2316) => [
+ q(2328) => [
q(Fagani),
],
- q(2317) => [
+ q(2329) => [
q(Finongan),
],
- q(2318) => [
+ q(2330) => [
q(Baissa Fali),
],
- q(2319) => [
+ q(2331) => [
q(Faiwol),
],
- q(2320) => [
+ q(2332) => [
q(Faita),
],
- q(2321) => [
+ q(2333) => [
q(Fang (Cameroon)),
],
- q(2322) => [
+ q(2334) => [
q(South Fali),
],
- q(2323) => [
+ q(2335) => [
q(Fam),
],
- q(2324) => [
+ q(2336) => [
q(Palor),
],
- q(2325) => [
+ q(2337) => [
q(Fataleka),
],
- q(2326) => [
+ q(2338) => [
q(Fayu),
],
- q(2327) => [
+ q(2339) => [
q(Fala),
],
- q(2328) => [
+ q(2340) => [
q(Southwestern Fars),
],
- q(2329) => [
+ q(2341) => [
q(Northwestern Fars),
],
- q(2330) => [
+ q(2342) => [
q(West Albay Bikol),
],
- q(2331) => [
+ q(2343) => [
q(Quebec Sign Language),
],
- q(2332) => [
+ q(2344) => [
q(Feroge),
],
- q(2333) => [
+ q(2345) => [
q(Foia Foia),
],
- q(2334) => [
+ q(2346) => [
q(Maasina Fulfulde),
],
- q(2335) => [
+ q(2347) => [
q(Fongoro),
],
- q(2336) => [
+ q(2348) => [
q(Nobiin),
],
- q(2337) => [
+ q(2349) => [
q(Fyer),
],
- q(2338) => [
+ q(2350) => [
q(Fipa),
],
- q(2339) => [
+ q(2351) => [
q(Firan),
],
- q(2340) => [
+ q(2352) => [
q(Tornedalen Finnish),
],
- q(2341) => [
+ q(2353) => [
q(Fiwaga),
],
- q(2342) => [
+ q(2354) => [
q(Kirya-Konzel),
],
- q(2343) => [
+ q(2355) => [
q(Kven Finnish),
],
- q(2344) => [
+ q(2356) => [
q(Kalispel-Pend d'Oreille),
],
- q(2345) => [
+ q(2357) => [
q(Foau),
],
- q(2346) => [
+ q(2358) => [
q(Fali),
],
- q(2347) => [
+ q(2359) => [
q(North Fali),
],
- q(2348) => [
+ q(2360) => [
q(Flinders Island),
],
- q(2349) => [
+ q(2361) => [
q(Fuliiru),
],
- q(2350) => [
+ q(2362) => [
q(Tsotsitaal),
],
- q(2351) => [
+ q(2363) => [
q(Fe'fe'),
],
- q(2352) => [
+ q(2364) => [
q(Far Western Muria),
],
- q(2353) => [
+ q(2365) => [
q(Fanagalo),
],
- q(2354) => [
+ q(2366) => [
q(Fania),
],
- q(2355) => [
+ q(2367) => [
q(Foodo),
],
- q(2356) => [
+ q(2368) => [
q(Foi),
],
- q(2357) => [
+ q(2369) => [
q(Foma),
],
- q(2358) => [
+ q(2370) => [
q(Fore),
],
- q(2359) => [
+ q(2371) => [
q(Siraya),
],
- q(2360) => [
+ q(2372) => [
q(Fernando Po Creole English),
],
- q(2361) => [
+ q(2373) => [
q(Fas),
],
- q(2362) => [
+ q(2374) => [
q(Cajun French),
],
- q(2363) => [
+ q(2375) => [
q(Fordata),
],
- q(2364) => [
+ q(2376) => [
q(Frankish),
],
- q(2365) => [
+ q(2377) => [
q(Arpitan),
q(Francoprovencal),
],
- q(2366) => [
+ q(2378) => [
q(Forak),
],
- q(2367) => [
+ q(2379) => [
q(Fortsenal),
],
- q(2368) => [
+ q(2380) => [
q(Finnish Sign Language),
],
- q(2369) => [
+ q(2381) => [
q(French Sign Language),
],
- q(2370) => [
+ q(2382) => [
q(Finland-Swedish Sign Language),
q(finlandssvenskt teckensprak),
q(suomenruotsalainen viittomakieli),
],
- q(2371) => [
+ q(2383) => [
q(Adamawa Fulfulde),
],
- q(2372) => [
+ q(2384) => [
q(Pulaar),
],
- q(2373) => [
+ q(2385) => [
q(East Futuna),
],
- q(2374) => [
+ q(2386) => [
q(Borgu Fulfulde),
],
- q(2375) => [
+ q(2387) => [
q(Pular),
],
- q(2376) => [
+ q(2388) => [
q(Western Niger Fulfulde),
],
- q(2377) => [
+ q(2389) => [
q(Bagirmi Fulfulde),
],
- q(2378) => [
+ q(2390) => [
q(Ko),
],
- q(2379) => [
+ q(2391) => [
q(Fum),
],
- q(2380) => [
+ q(2392) => [
q(Fulnio),
],
- q(2381) => [
+ q(2393) => [
q(Central-Eastern Niger Fulfulde),
],
- q(2382) => [
+ q(2394) => [
q(Futuna-Aniwa),
],
- q(2383) => [
+ q(2395) => [
q(Furu),
],
- q(2384) => [
+ q(2396) => [
q(Nigerian Fulfulde),
],
- q(2385) => [
+ q(2397) => [
q(Fuyug),
],
- q(2386) => [
+ q(2398) => [
q(Fur),
],
- q(2387) => [
+ q(2399) => [
q(Fwai),
],
- q(2388) => [
+ q(2400) => [
q(Fwe),
],
- q(2389) => [
+ q(2401) => [
q(Gabri),
],
- q(2390) => [
+ q(2402) => [
q(Mixed Great Andamanese),
],
- q(2391) => [
+ q(2403) => [
q(Gaddang),
],
- q(2392) => [
+ q(2404) => [
q(Guarequena),
],
- q(2393) => [
+ q(2405) => [
q(Gende),
],
- q(2394) => [
+ q(2406) => [
q(Gagauz),
],
- q(2395) => [
+ q(2407) => [
q(Alekano),
],
- q(2396) => [
+ q(2408) => [
q(Borei),
],
- q(2397) => [
+ q(2409) => [
q(Gadsup),
],
- q(2398) => [
+ q(2410) => [
q(Gamkonora),
],
- q(2399) => [
- q(Galoli),
+ q(2411) => [
+ q(Galolen),
],
- q(2400) => [
+ q(2412) => [
q(Kandawo),
],
- q(2401) => [
+ q(2413) => [
q(Gan Chinese),
],
- q(2402) => [
+ q(2414) => [
q(Gants),
],
- q(2403) => [
+ q(2415) => [
q(Gal),
],
- q(2404) => [
+ q(2416) => [
q(Gata'),
],
- q(2405) => [
+ q(2417) => [
q(Galeya),
],
- q(2406) => [
+ q(2418) => [
q(Adiwasi Garasia),
],
- q(2407) => [
+ q(2419) => [
q(Kenati),
],
- q(2408) => [
+ q(2420) => [
q(Mudhili Gadaba),
],
- q(2409) => [
+ q(2421) => [
q(Nobonob),
],
- q(2410) => [
+ q(2422) => [
q(Borana-Arsi-Guji Oromo),
],
- q(2411) => [
+ q(2423) => [
q(West Central Oromo),
],
- q(2412) => [
+ q(2424) => [
q(Kaytetye),
],
- q(2413) => [
+ q(2425) => [
q(Karadjeri),
],
- q(2414) => [
+ q(2426) => [
q(Niksek),
],
- q(2415) => [
+ q(2427) => [
q(Gaikundi),
],
- q(2416) => [
+ q(2428) => [
q(Gbanziri),
],
- q(2417) => [
+ q(2429) => [
q(Defi Gbe),
],
- q(2418) => [
+ q(2430) => [
q(Galela),
],
- q(2419) => [
+ q(2431) => [
q(Bodo Gadaba),
],
- q(2420) => [
+ q(2432) => [
q(Gaddi),
],
- q(2421) => [
+ q(2433) => [
q(Gamit),
],
- q(2422) => [
+ q(2434) => [
q(Garhwali),
],
- q(2423) => [
+ q(2435) => [
q(Mo'da),
],
- q(2424) => [
+ q(2436) => [
q(Northern Grebo),
],
- q(2425) => [
+ q(2437) => [
q(Gbaya-Bossangoa),
],
- q(2426) => [
+ q(2438) => [
q(Gbaya-Bozoum),
],
- q(2427) => [
+ q(2439) => [
q(Gbagyi),
],
- q(2428) => [
+ q(2440) => [
q(Gbesi Gbe),
],
- q(2429) => [
+ q(2441) => [
q(Gagadu),
],
- q(2430) => [
+ q(2442) => [
q(Gbanu),
],
- q(2431) => [
+ q(2443) => [
+ q(Gabi-Gabi),
+ ],
+ q(2444) => [
q(Eastern Xwla Gbe),
],
- q(2432) => [
+ q(2445) => [
q(Gbari),
],
- q(2433) => [
+ q(2446) => [
q(Zoroastrian Dari),
],
- q(2434) => [
+ q(2447) => [
q(Mali),
],
- q(2435) => [
+ q(2448) => [
q(Ganggalida),
],
- q(2436) => [
+ q(2449) => [
q(Galice),
],
- q(2437) => [
+ q(2450) => [
q(Guadeloupean Creole French),
],
- q(2438) => [
+ q(2451) => [
q(Grenadian Creole English),
],
- q(2439) => [
+ q(2452) => [
q(Gaina),
],
- q(2440) => [
+ q(2453) => [
q(Guianese Creole French),
],
- q(2441) => [
+ q(2454) => [
q(Colonia Tovar German),
],
- q(2442) => [
+ q(2455) => [
q(Gade Lohar),
],
- q(2443) => [
+ q(2456) => [
q(Pottangi Ollar Gadaba),
],
- q(2444) => [
+ q(2457) => [
q(Gugu Badhun),
],
- q(2445) => [
+ q(2458) => [
q(Gedaged),
],
- q(2446) => [
+ q(2459) => [
q(Gude),
],
- q(2447) => [
+ q(2460) => [
q(Guduf-Gava),
],
- q(2448) => [
+ q(2461) => [
q(Ga'dang),
],
- q(2449) => [
+ q(2462) => [
q(Gadjerawang),
],
- q(2450) => [
+ q(2463) => [
q(Gundi),
],
- q(2451) => [
+ q(2464) => [
q(Gurdjar),
],
- q(2452) => [
+ q(2465) => [
q(Gadang),
],
- q(2453) => [
+ q(2466) => [
q(Dirasha),
],
- q(2454) => [
+ q(2467) => [
q(Laal),
],
- q(2455) => [
+ q(2468) => [
q(Umanakaina),
],
- q(2456) => [
+ q(2469) => [
q(Ghodoberi),
],
- q(2457) => [
+ q(2470) => [
q(Mehri),
],
- q(2458) => [
+ q(2471) => [
q(Wipi),
],
- q(2459) => [
+ q(2472) => [
q(Ghandruk Sign Language),
],
- q(2460) => [
+ q(2473) => [
+ q(Kungardutyi),
+ ],
+ q(2474) => [
q(Gudu),
],
- q(2461) => [
+ q(2475) => [
q(Godwari),
],
- q(2462) => [
+ q(2476) => [
q(Geruma),
],
- q(2463) => [
+ q(2477) => [
q(Kire),
],
- q(2464) => [
+ q(2478) => [
q(Gboloo Grebo),
],
- q(2465) => [
+ q(2479) => [
q(Gade),
],
- q(2466) => [
+ q(2480) => [
q(Gengle),
],
- q(2467) => [
+ q(2481) => [
q(Hutterite German),
q(Hutterisch),
],
- q(2468) => [
+ q(2482) => [
q(Gebe),
],
- q(2469) => [
+ q(2483) => [
q(Gen),
],
- q(2470) => [
+ q(2484) => [
q(Yiwom),
],
- q(2471) => [
+ q(2485) => [
q(ut-Ma'in),
],
- q(2472) => [
+ q(2486) => [
q(Geme),
],
- q(2473) => [
+ q(2487) => [
q(Geser-Gorom),
],
- q(2474) => [
+ q(2488) => [
q(Gera),
],
- q(2475) => [
+ q(2489) => [
q(Garre),
],
- q(2476) => [
+ q(2490) => [
q(Enya),
],
- q(2477) => [
+ q(2491) => [
q(Patpatar),
],
- q(2478) => [
+ q(2492) => [
q(Gafat),
],
- q(2479) => [
+ q(2493) => [
q(Mangetti Dune !Xung),
],
- q(2480) => [
+ q(2494) => [
q(Gao),
],
- q(2481) => [
+ q(2495) => [
q(Gbii),
],
- q(2482) => [
+ q(2496) => [
q(Gugadj),
],
- q(2483) => [
+ q(2497) => [
q(Guragone),
],
- q(2484) => [
+ q(2498) => [
q(Gurgula),
],
- q(2485) => [
+ q(2499) => [
q(Kungarakany),
],
- q(2486) => [
+ q(2500) => [
q(Ganglau),
],
- q(2487) => [
+ q(2501) => [
q(Eastern Gurung),
],
- q(2488) => [
+ q(2502) => [
q(Southern Gondi),
],
- q(2489) => [
- q(Aghu Tharnggalu),
- ],
- q(2490) => [
+ q(2503) => [
q(Gitua),
],
- q(2491) => [
+ q(2504) => [
q(Gagu),
+ q(Gban),
],
- q(2492) => [
+ q(2505) => [
q(Gogodala),
],
- q(2493) => [
+ q(2506) => [
q(Ghadames),
],
- q(2494) => [
+ q(2507) => [
q(Hiberno-Scottish Gaelic),
],
- q(2495) => [
+ q(2508) => [
q(Southern Ghale),
],
- q(2496) => [
+ q(2509) => [
q(Northern Ghale),
],
- q(2497) => [
+ q(2510) => [
q(Geko Karen),
],
- q(2498) => [
+ q(2511) => [
q(Ghulfan),
],
- q(2499) => [
+ q(2512) => [
q(Ghanongga),
],
- q(2500) => [
+ q(2513) => [
q(Ghomara),
],
- q(2501) => [
+ q(2514) => [
q(Ghera),
],
- q(2502) => [
+ q(2515) => [
q(Guhu-Samane),
],
- q(2503) => [
+ q(2516) => [
q(Kuke),
q(Kutang Ghale),
],
- q(2504) => [
+ q(2517) => [
q(Kitja),
],
- q(2505) => [
+ q(2518) => [
q(Gibanawa),
],
- q(2506) => [
+ q(2519) => [
q(Gail),
],
- q(2507) => [
+ q(2520) => [
q(Gidar),
],
- q(2508) => [
+ q(2521) => [
q(Goaria),
],
- q(2509) => [
+ q(2522) => [
+ q(Githabul),
+ ],
+ q(2523) => [
q(Gimi (Eastern Highlands)),
],
- q(2510) => [
+ q(2524) => [
q(Hinukh),
],
- q(2511) => [
+ q(2525) => [
q(Gimi (West New Britain)),
],
- q(2512) => [
+ q(2526) => [
q(Green Gelao),
],
- q(2513) => [
+ q(2527) => [
q(Red Gelao),
],
- q(2514) => [
+ q(2528) => [
q(North Giziga),
],
- q(2515) => [
+ q(2529) => [
q(Gitxsan),
],
- q(2516) => [
+ q(2530) => [
q(Mulao),
],
- q(2517) => [
+ q(2531) => [
q(White Gelao),
],
- q(2518) => [
+ q(2532) => [
q(Gilima),
],
- q(2519) => [
+ q(2533) => [
q(Giyug),
],
- q(2520) => [
+ q(2534) => [
q(South Giziga),
],
- q(2521) => [
+ q(2535) => [
q(Geji),
],
- q(2522) => [
+ q(2536) => [
q(Kachi Koli),
],
- q(2523) => [
+ q(2537) => [
+ q(Gunditjmara),
+ ],
+ q(2538) => [
q(Gonja),
],
- q(2524) => [
+ q(2539) => [
q(Gujari),
],
- q(2525) => [
+ q(2540) => [
q(Guya),
],
- q(2526) => [
+ q(2541) => [
q(Ndai),
],
- q(2527) => [
+ q(2542) => [
q(Gokana),
],
- q(2528) => [
+ q(2543) => [
q(Kok-Nar),
],
- q(2529) => [
+ q(2544) => [
q(Guinea Kpelle),
],
- q(2530) => [
+ q(2545) => [
q(Bon Gula),
],
- q(2531) => [
+ q(2546) => [
q(Nanai),
],
- q(2532) => [
+ q(2547) => [
q(Northwest Pashayi),
],
- q(2533) => [
+ q(2548) => [
q(Guliguli),
],
- q(2534) => [
+ q(2549) => [
q(Gula Iro),
],
- q(2535) => [
+ q(2550) => [
q(Gilaki),
],
- q(2536) => [
+ q(2551) => [
+ q(Garlali),
+ ],
+ q(2552) => [
q(Galambu),
],
- q(2537) => [
+ q(2553) => [
q(Glaro-Twabo),
],
- q(2538) => [
+ q(2554) => [
q(Gula (Chad)),
],
- q(2539) => [
+ q(2555) => [
q(Glavda),
],
- q(2540) => [
+ q(2556) => [
q(Gule),
],
- q(2541) => [
+ q(2557) => [
q(Gambera),
],
- q(2542) => [
+ q(2558) => [
q(Gula'alaa),
],
- q(2543) => [
+ q(2559) => [
q(Maghdi),
],
- q(2544) => [
+ q(2560) => [
q(Middle Low German),
],
- q(2545) => [
+ q(2561) => [
q(Gbaya-Mbodomo),
],
- q(2546) => [
+ q(2562) => [
q(Gimnime),
],
- q(2547) => [
+ q(2563) => [
q(Gumalu),
],
- q(2548) => [
+ q(2564) => [
q(Gamo),
],
- q(2549) => [
+ q(2565) => [
q(Magoma),
],
- q(2550) => [
+ q(2566) => [
q(Mycenaean Greek),
],
- q(2551) => [
+ q(2567) => [
+ q(Mgbolizhia),
+ ],
+ q(2568) => [
q(Kaansa),
],
- q(2552) => [
+ q(2569) => [
q(Gangte),
],
- q(2553) => [
+ q(2570) => [
q(Guanche),
],
- q(2554) => [
+ q(2571) => [
q(Zulgo-Gemzek),
],
- q(2555) => [
+ q(2572) => [
q(Ganang),
],
- q(2556) => [
+ q(2573) => [
q(Ngangam),
],
- q(2557) => [
+ q(2574) => [
q(Lere),
],
- q(2558) => [
+ q(2575) => [
q(Gooniyandi),
],
- q(2559) => [
+ q(2576) => [
q(//Gana),
],
- q(2560) => [
+ q(2577) => [
q(Gangulu),
],
- q(2561) => [
+ q(2578) => [
q(Ginuman),
],
- q(2562) => [
+ q(2579) => [
q(Gumatj),
],
- q(2563) => [
+ q(2580) => [
q(Northern Gondi),
],
- q(2564) => [
+ q(2581) => [
q(Gana),
],
- q(2565) => [
+ q(2582) => [
q(Gureng Gureng),
],
- q(2566) => [
+ q(2583) => [
q(Guntai),
],
- q(2567) => [
+ q(2584) => [
q(Gnau),
],
- q(2568) => [
+ q(2585) => [
q(Western Bolivian Guarani),
],
- q(2569) => [
+ q(2586) => [
q(Ganzi),
],
- q(2570) => [
+ q(2587) => [
q(Guro),
],
- q(2571) => [
+ q(2588) => [
q(Playero),
],
- q(2572) => [
+ q(2589) => [
q(Gorakor),
],
- q(2573) => [
+ q(2590) => [
q(Godie),
],
- q(2574) => [
+ q(2591) => [
q(Gongduk),
],
- q(2575) => [
+ q(2592) => [
q(Gofa),
],
- q(2576) => [
+ q(2593) => [
q(Gogo),
],
- q(2577) => [
+ q(2594) => [
q(Gobasi),
],
- q(2578) => [
+ q(2595) => [
q(Gowlan),
],
- q(2579) => [
+ q(2596) => [
q(Gowli),
],
- q(2580) => [
+ q(2597) => [
q(Gola),
],
- q(2581) => [
+ q(2598) => [
q(Goan Konkani),
],
- q(2582) => [
+ q(2599) => [
q(Gone Dau),
],
- q(2583) => [
+ q(2600) => [
q(Yeretuar),
],
- q(2584) => [
+ q(2601) => [
q(Gorap),
],
- q(2585) => [
+ q(2602) => [
q(Gronings),
],
- q(2586) => [
+ q(2603) => [
q(Gavar),
],
- q(2587) => [
+ q(2604) => [
q(Gorowa),
],
- q(2588) => [
+ q(2605) => [
q(Gobu),
],
- q(2589) => [
+ q(2606) => [
q(Goundo),
],
- q(2590) => [
+ q(2607) => [
q(Gozarkhani),
],
- q(2591) => [
+ q(2608) => [
q(Gupa-Abawa),
],
- q(2592) => [
+ q(2609) => [
q(Ghanaian Pidgin English),
],
- q(2593) => [
+ q(2610) => [
q(Taiap),
],
- q(2594) => [
+ q(2611) => [
q(Ga'anda),
],
- q(2595) => [
+ q(2612) => [
q(Guiqiong),
],
- q(2596) => [
+ q(2613) => [
q(Guana (Brazil)),
],
- q(2597) => [
+ q(2614) => [
q(Gor),
],
- q(2598) => [
+ q(2615) => [
q(Qau),
],
- q(2599) => [
+ q(2616) => [
q(Rajput Garasia),
],
- q(2600) => [
+ q(2617) => [
q(Guruntum-Mbaaru),
],
- q(2601) => [
+ q(2618) => [
q(Madi),
],
- q(2602) => [
+ q(2619) => [
q(Gbiri-Niragu),
],
- q(2603) => [
+ q(2620) => [
q(Ghari),
],
- q(2604) => [
+ q(2621) => [
q(Southern Grebo),
],
- q(2605) => [
+ q(2622) => [
q(Kota Marudu Talantang),
],
- q(2606) => [
+ q(2623) => [
q(Groma),
],
- q(2607) => [
+ q(2624) => [
q(Gorovu),
],
- q(2608) => [
+ q(2625) => [
q(Taznatit),
],
- q(2609) => [
+ q(2626) => [
q(Gresi),
],
- q(2610) => [
+ q(2627) => [
q(Garo),
],
- q(2611) => [
+ q(2628) => [
q(Kistane),
],
- q(2612) => [
+ q(2629) => [
q(Central Grebo),
],
- q(2613) => [
+ q(2630) => [
q(Gweda),
],
- q(2614) => [
+ q(2631) => [
q(Guriaso),
],
- q(2615) => [
+ q(2632) => [
q(Barclayville Grebo),
],
- q(2616) => [
+ q(2633) => [
q(Guramalum),
],
- q(2617) => [
+ q(2634) => [
q(Ghanaian Sign Language),
],
- q(2618) => [
+ q(2635) => [
q(German Sign Language),
],
- q(2619) => [
+ q(2636) => [
q(Gusilay),
],
- q(2620) => [
+ q(2637) => [
q(Guatemalan Sign Language),
],
- q(2621) => [
+ q(2638) => [
q(Gusan),
],
- q(2622) => [
+ q(2639) => [
q(Southwest Gbaya),
],
- q(2623) => [
+ q(2640) => [
q(Wasembo),
],
- q(2624) => [
+ q(2641) => [
q(Greek Sign Language),
],
- q(2625) => [
+ q(2642) => [
q(Guato),
],
- q(2626) => [
+ q(2643) => [
q(Gbati-ri),
],
- q(2627) => [
+ q(2644) => [
+ q(Aghu-Tharnggala),
+ ],
+ q(2645) => [
q(Shiki),
],
- q(2628) => [
+ q(2646) => [
q(Guajajara),
],
- q(2629) => [
+ q(2647) => [
q(Wayuu),
],
- q(2630) => [
+ q(2648) => [
q(Yocoboue Dida),
],
- q(2631) => [
+ q(2649) => [
q(Gurinji),
],
- q(2632) => [
+ q(2650) => [
q(Gupapuyngu),
],
- q(2633) => [
+ q(2651) => [
q(Paraguayan Guarani),
],
- q(2634) => [
+ q(2652) => [
q(Guahibo),
],
- q(2635) => [
+ q(2653) => [
q(Eastern Bolivian Guarani),
],
- q(2636) => [
+ q(2654) => [
q(Gumuz),
],
- q(2637) => [
+ q(2655) => [
q(Sea Island Creole English),
],
- q(2638) => [
+ q(2656) => [
q(Guambiano),
],
- q(2639) => [
+ q(2657) => [
q(Mbya Guarani),
],
- q(2640) => [
+ q(2658) => [
q(Guayabero),
],
- q(2641) => [
+ q(2659) => [
q(Gunwinggu),
],
- q(2642) => [
+ q(2660) => [
q(Ache),
],
- q(2643) => [
+ q(2661) => [
q(Farefare),
],
- q(2644) => [
+ q(2662) => [
q(Guinean Sign Language),
],
- q(2645) => [
+ q(2663) => [
q(Maleku Jaika),
],
- q(2646) => [
+ q(2664) => [
q(Yanomamo),
],
- q(2647) => [
+ q(2665) => [
q(Gey),
],
- q(2648) => [
+ q(2666) => [
q(Gun),
],
- q(2649) => [
+ q(2667) => [
q(Gourmanchema),
],
- q(2650) => [
+ q(2668) => [
q(Gusii),
q(Ekegusii),
],
- q(2651) => [
+ q(2669) => [
q(Guana (Paraguay)),
],
- q(2652) => [
+ q(2670) => [
q(Guanano),
],
- q(2653) => [
+ q(2671) => [
q(Duwet),
],
- q(2654) => [
+ q(2672) => [
q(Golin),
],
- q(2655) => [
+ q(2673) => [
q(Guaja),
],
- q(2656) => [
+ q(2674) => [
q(Gulay),
],
- q(2657) => [
+ q(2675) => [
q(Gurmana),
],
- q(2658) => [
+ q(2676) => [
q(Kuku-Yalanji),
],
- q(2659) => [
+ q(2677) => [
q(Gaviao Do Jiparana),
],
- q(2660) => [
+ q(2678) => [
q(Para Gaviao),
],
- q(2661) => [
+ q(2679) => [
q(Western Gurung),
],
- q(2662) => [
+ q(2680) => [
q(Gumawana),
],
- q(2663) => [
+ q(2681) => [
q(Guyani),
],
- q(2664) => [
+ q(2682) => [
q(Mbato),
],
- q(2665) => [
+ q(2683) => [
q(Gwa),
],
- q(2666) => [
+ q(2684) => [
q(Kalami),
],
- q(2667) => [
+ q(2685) => [
q(Gawwada),
],
- q(2668) => [
+ q(2686) => [
q(Gweno),
],
- q(2669) => [
+ q(2687) => [
q(Gowro),
],
- q(2670) => [
+ q(2688) => [
q(Moo),
],
- q(2671) => [
+ q(2689) => [
q(/Gwi),
],
- q(2672) => [
+ q(2690) => [
q(Awngthim),
],
- q(2673) => [
+ q(2691) => [
q(Gwandara),
],
- q(2674) => [
+ q(2692) => [
q(Gwere),
],
- q(2675) => [
+ q(2693) => [
q(Gawar-Bati),
],
- q(2676) => [
+ q(2694) => [
q(Guwamu),
],
- q(2677) => [
+ q(2695) => [
q(Kwini),
],
- q(2678) => [
+ q(2696) => [
q(Gua),
],
- q(2679) => [
+ q(2697) => [
q(We Southern),
],
- q(2680) => [
+ q(2698) => [
q(Northwest Gbaya),
],
- q(2681) => [
+ q(2699) => [
q(Garus),
],
- q(2682) => [
+ q(2700) => [
q(Kayardild),
],
- q(2683) => [
+ q(2701) => [
q(Gyem),
],
- q(2684) => [
+ q(2702) => [
q(Gungabula),
],
- q(2685) => [
+ q(2703) => [
q(Gbayi),
],
- q(2686) => [
+ q(2704) => [
q(Gyele),
],
- q(2687) => [
+ q(2705) => [
q(Gayil),
],
- q(2688) => [
+ q(2706) => [
q(Ngabere),
],
- q(2689) => [
+ q(2707) => [
q(Guyanese Creole English),
],
- q(2690) => [
+ q(2708) => [
q(Guarayu),
],
- q(2691) => [
+ q(2709) => [
q(Gunya),
],
- q(2692) => [
+ q(2710) => [
q(Ganza),
],
- q(2693) => [
+ q(2711) => [
q(Gazi),
],
- q(2694) => [
+ q(2712) => [
q(Gane),
],
- q(2695) => [
+ q(2713) => [
q(Han),
],
- q(2696) => [
+ q(2714) => [
q(Hanoi Sign Language),
],
- q(2697) => [
+ q(2715) => [
q(Gurani),
],
- q(2698) => [
+ q(2716) => [
q(Hatam),
],
- q(2699) => [
+ q(2717) => [
q(Eastern Oromo),
],
- q(2700) => [
+ q(2718) => [
q(Haiphong Sign Language),
],
- q(2701) => [
+ q(2719) => [
q(Hanga),
],
- q(2702) => [
+ q(2720) => [
q(Hahon),
],
- q(2703) => [
+ q(2721) => [
q(Hajong),
],
- q(2704) => [
+ q(2722) => [
q(Hakka Chinese),
],
- q(2705) => [
+ q(2723) => [
q(Halang),
],
- q(2706) => [
+ q(2724) => [
q(Hewa),
],
- q(2707) => [
+ q(2725) => [
q(Hangaza),
],
- q(2708) => [
+ q(2726) => [
q(Hako),
],
- q(2709) => [
+ q(2727) => [
q(Hupla),
],
- q(2710) => [
+ q(2728) => [
q(Ha),
],
- q(2711) => [
+ q(2729) => [
q(Harari),
],
- q(2712) => [
+ q(2730) => [
q(Haisla),
],
- q(2713) => [
+ q(2731) => [
q(Havu),
],
- q(2714) => [
+ q(2732) => [
q(Southern Haida),
],
- q(2715) => [
+ q(2733) => [
q(Haya),
],
- q(2716) => [
+ q(2734) => [
q(Hazaragi),
],
- q(2717) => [
+ q(2735) => [
q(Hamba),
],
- q(2718) => [
+ q(2736) => [
q(Huba),
],
- q(2719) => [
+ q(2737) => [
q(Heiban),
],
- q(2720) => [
+ q(2738) => [
q(Ancient Hebrew),
],
- q(2721) => [
+ q(2739) => [
q(Habu),
],
- q(2722) => [
+ q(2740) => [
q(Andaman Creole Hindi),
],
- q(2723) => [
+ q(2741) => [
q(Huichol),
],
- q(2724) => [
+ q(2742) => [
q(Northern Haida),
],
- q(2725) => [
+ q(2743) => [
q(Honduras Sign Language),
],
- q(2726) => [
+ q(2744) => [
q(Hadiyya),
],
- q(2727) => [
+ q(2745) => [
q(Northern Qiandong Miao),
],
- q(2728) => [
+ q(2746) => [
q(Herde),
],
- q(2729) => [
+ q(2747) => [
q(Helong),
],
- q(2730) => [
+ q(2748) => [
q(Hehe),
],
- q(2731) => [
+ q(2749) => [
q(Heiltsuk),
],
- q(2732) => [
+ q(2750) => [
q(Hemba),
],
- q(2733) => [
+ q(2751) => [
q(Hai//om),
],
- q(2734) => [
+ q(2752) => [
q(Haigwai),
],
- q(2735) => [
+ q(2753) => [
q(Hoia Hoia),
],
- q(2736) => [
+ q(2754) => [
q(Kerak),
],
- q(2737) => [
+ q(2755) => [
q(Hoyahoya),
],
- q(2738) => [
+ q(2756) => [
q(Lamang),
],
- q(2739) => [
+ q(2757) => [
q(Hibito),
],
- q(2740) => [
+ q(2758) => [
q(Hidatsa),
],
- q(2741) => [
+ q(2759) => [
q(Fiji Hindi),
],
- q(2742) => [
+ q(2760) => [
q(Kamwe),
],
- q(2743) => [
+ q(2761) => [
q(Pamosu),
],
- q(2744) => [
+ q(2762) => [
q(Hinduri),
],
- q(2745) => [
+ q(2763) => [
q(Hijuk),
],
- q(2746) => [
+ q(2764) => [
q(Seit-Kaitetu),
],
- q(2747) => [
+ q(2765) => [
q(Tsoa),
],
- q(2748) => [
+ q(2766) => [
q(Himarima),
],
- q(2749) => [
+ q(2767) => [
q(Hiw),
],
- q(2750) => [
+ q(2768) => [
q(Hixkaryana),
],
- q(2751) => [
+ q(2769) => [
q(Haji),
],
- q(2752) => [
+ q(2770) => [
q(Kahe),
],
- q(2753) => [
+ q(2771) => [
q(Hunde),
],
- q(2754) => [
+ q(2772) => [
q(Hunjara-Kaina Ke),
],
- q(2755) => [
+ q(2773) => [
q(Hong Kong Sign Language),
q(Heung Kong Sau Yue),
],
- q(2756) => [
+ q(2774) => [
q(Halia),
],
- q(2757) => [
+ q(2775) => [
q(Halbi),
],
- q(2758) => [
+ q(2776) => [
q(Halang Doan),
],
- q(2759) => [
+ q(2777) => [
q(Hlersu),
],
- q(2760) => [
+ q(2778) => [
q(Matu Chin),
],
- q(2761) => [
+ q(2779) => [
q(Hieroglyphic Luwian),
],
- q(2762) => [
+ q(2780) => [
q(Southern Mashan Hmong),
q(Southern Mashan Miao),
],
- q(2763) => [
+ q(2781) => [
q(Humburi Senni Songhay),
],
- q(2764) => [
+ q(2782) => [
q(Central Huishui Hmong),
q(Central Huishui Miao),
],
- q(2765) => [
+ q(2783) => [
q(Large Flowery Miao),
q(A-hmaos),
q(Da-Hua Miao),
],
- q(2766) => [
+ q(2784) => [
q(Eastern Huishui Hmong),
q(Eastern Huishui Miao),
],
- q(2767) => [
+ q(2785) => [
q(Hmong Don),
],
- q(2768) => [
+ q(2786) => [
q(Southwestern Guiyang Hmong),
],
- q(2769) => [
+ q(2787) => [
q(Southwestern Huishui Hmong),
q(Southwestern Huishui Miao),
],
- q(2770) => [
+ q(2788) => [
q(Northern Huishui Hmong),
q(Northern Huishui Miao),
],
- q(2771) => [
+ q(2789) => [
q(Ge),
q(Gejia),
],
- q(2772) => [
+ q(2790) => [
q(Maek),
],
- q(2773) => [
+ q(2791) => [
q(Luopohe Hmong),
q(Luopohe Miao),
],
- q(2774) => [
+ q(2792) => [
q(Central Mashan Hmong),
q(Central Mashan Miao),
],
- q(2775) => [
+ q(2793) => [
q(Northern Mashan Hmong),
q(Northern Mashan Miao),
],
- q(2776) => [
+ q(2794) => [
q(Eastern Qiandong Miao),
],
- q(2777) => [
+ q(2795) => [
q(Hmar),
],
- q(2778) => [
+ q(2796) => [
q(Southern Qiandong Miao),
],
- q(2779) => [
+ q(2797) => [
q(Hamtai),
],
- q(2780) => [
+ q(2798) => [
q(Hamap),
],
- q(2781) => [
+ q(2799) => [
q(Hmong Do),
],
- q(2782) => [
+ q(2800) => [
q(Western Mashan Hmong),
q(Western Mashan Miao),
],
- q(2783) => [
+ q(2801) => [
q(Southern Guiyang Hmong),
q(Southern Guiyang Miao),
],
- q(2784) => [
+ q(2802) => [
q(Hmong Shua),
q(Sinicized Miao),
],
- q(2785) => [
+ q(2803) => [
q(Mina (Cameroon)),
],
- q(2786) => [
+ q(2804) => [
q(Southern Hindko),
],
- q(2787) => [
+ q(2805) => [
q(Chhattisgarhi),
],
- q(2788) => [
+ q(2806) => [
q(//Ani),
],
- q(2789) => [
+ q(2807) => [
q(Hani),
],
- q(2790) => [
+ q(2808) => [
q(Hmong Njua),
q(Mong Leng),
q(Mong Njua),
],
- q(2791) => [
+ q(2809) => [
q(Hanunoo),
],
- q(2792) => [
+ q(2810) => [
q(Northern Hindko),
],
- q(2793) => [
+ q(2811) => [
q(Caribbean Hindustani),
],
- q(2794) => [
+ q(2812) => [
q(Hung),
],
- q(2795) => [
+ q(2813) => [
q(Hoava),
],
- q(2796) => [
+ q(2814) => [
q(Mari (Madang Province)),
],
- q(2797) => [
+ q(2815) => [
q(Ho),
],
- q(2798) => [
+ q(2816) => [
q(Holma),
],
- q(2799) => [
+ q(2817) => [
q(Horom),
],
- q(2800) => [
+ q(2818) => [
q(Hobyot),
],
- q(2801) => [
+ q(2819) => [
q(Holikachuk),
],
- q(2802) => [
+ q(2820) => [
q(Hadothi),
q(Haroti),
],
- q(2803) => [
+ q(2821) => [
q(Holu),
],
- q(2804) => [
+ q(2822) => [
q(Homa),
],
- q(2805) => [
+ q(2823) => [
q(Holoholo),
],
- q(2806) => [
+ q(2824) => [
q(Hopi),
],
- q(2807) => [
+ q(2825) => [
q(Horo),
],
- q(2808) => [
+ q(2826) => [
q(Ho Chi Minh City Sign Language),
],
- q(2809) => [
+ q(2827) => [
q(Hote),
q(Male),
],
- q(2810) => [
+ q(2828) => [
q(Hovongan),
],
- q(2811) => [
+ q(2829) => [
q(Honi),
],
- q(2812) => [
+ q(2830) => [
q(Holiya),
],
- q(2813) => [
+ q(2831) => [
q(Hozo),
],
- q(2814) => [
+ q(2832) => [
q(Hpon),
],
- q(2815) => [
+ q(2833) => [
q(Hawai'i Pidgin Sign Language),
],
- q(2816) => [
+ q(2834) => [
q(Hrangkhol),
],
- q(2817) => [
+ q(2835) => [
+ q(Niwer Mil),
+ ],
+ q(2836) => [
q(Hre),
],
- q(2818) => [
+ q(2837) => [
q(Haruku),
],
- q(2819) => [
+ q(2838) => [
q(Horned Miao),
],
- q(2820) => [
+ q(2839) => [
q(Haroi),
],
- q(2821) => [
+ q(2840) => [
+ q(Nhirrpi),
+ ],
+ q(2841) => [
q(Hertevin),
],
- q(2822) => [
+ q(2842) => [
q(Hruso),
],
- q(2823) => [
+ q(2843) => [
+ q(Warwar Feni),
+ ],
+ q(2844) => [
q(Hunsrik),
],
- q(2824) => [
+ q(2845) => [
q(Harzani),
],
- q(2825) => [
+ q(2846) => [
q(Hungarian Sign Language),
],
- q(2826) => [
+ q(2847) => [
q(Hausa Sign Language),
],
- q(2827) => [
+ q(2848) => [
q(Xiang Chinese),
],
- q(2828) => [
+ q(2849) => [
q(Harsusi),
],
- q(2829) => [
+ q(2850) => [
q(Hoti),
],
- q(2830) => [
+ q(2851) => [
q(Minica Huitoto),
],
- q(2831) => [
+ q(2852) => [
q(Hadza),
],
- q(2832) => [
+ q(2853) => [
q(Hitu),
],
- q(2833) => [
+ q(2854) => [
q(Middle Hittite),
],
- q(2834) => [
+ q(2855) => [
q(Huambisa),
],
- q(2835) => [
+ q(2856) => [
q(=/Hua),
],
- q(2836) => [
+ q(2857) => [
q(Huaulu),
],
- q(2837) => [
+ q(2858) => [
q(San Francisco Del Mar Huave),
],
- q(2838) => [
+ q(2859) => [
q(Humene),
],
- q(2839) => [
+ q(2860) => [
q(Huachipaeri),
],
- q(2840) => [
+ q(2861) => [
q(Huilliche),
],
- q(2841) => [
+ q(2862) => [
q(Huli),
],
- q(2842) => [
+ q(2863) => [
q(Northern Guiyang Hmong),
q(Northern Guiyang Miao),
],
- q(2843) => [
+ q(2864) => [
q(Hulung),
],
- q(2844) => [
+ q(2865) => [
q(Hula),
],
- q(2845) => [
+ q(2866) => [
q(Hungana),
],
- q(2846) => [
+ q(2867) => [
q(Hu),
],
- q(2847) => [
+ q(2868) => [
q(Tsat),
],
- q(2848) => [
+ q(2869) => [
q(Halkomelem),
],
- q(2849) => [
+ q(2870) => [
q(Huastec),
],
- q(2850) => [
+ q(2871) => [
q(Humla),
],
- q(2851) => [
+ q(2872) => [
q(Murui Huitoto),
],
- q(2852) => [
+ q(2873) => [
q(San Mateo Del Mar Huave),
],
- q(2853) => [
+ q(2874) => [
q(Hukumina),
],
- q(2854) => [
+ q(2875) => [
q(Nupode Huitoto),
],
- q(2855) => [
+ q(2876) => [
q(Hulaula),
],
- q(2856) => [
+ q(2877) => [
q(Hunzib),
],
- q(2857) => [
+ q(2878) => [
q(Haitian Vodoun Culture Language),
],
- q(2858) => [
+ q(2879) => [
q(San Dionisio Del Mar Huave),
],
- q(2859) => [
+ q(2880) => [
q(Haveke),
],
- q(2860) => [
+ q(2881) => [
q(Sabu),
],
- q(2861) => [
+ q(2882) => [
q(Santa Maria Del Mar Huave),
],
- q(2862) => [
+ q(2883) => [
q(Wane),
],
- q(2863) => [
+ q(2884) => [
q(Hawai'i Creole English),
+ q(Hawai'i Pidgin),
],
- q(2864) => [
+ q(2885) => [
q(Hwana),
],
- q(2865) => [
+ q(2886) => [
q(Hya),
],
- q(2866) => [
+ q(2887) => [
q(Iaai),
],
- q(2867) => [
+ q(2888) => [
q(Iatmul),
],
- q(2868) => [
+ q(2889) => [
q(Iapama),
],
- q(2869) => [
+ q(2890) => [
q(Purari),
],
- q(2870) => [
+ q(2891) => [
q(Ibibio),
],
- q(2871) => [
+ q(2892) => [
q(Iwaidja),
],
- q(2872) => [
+ q(2893) => [
q(Akpes),
],
- q(2873) => [
+ q(2894) => [
q(Ibanag),
],
- q(2874) => [
+ q(2895) => [
q(Ibaloi),
],
- q(2875) => [
+ q(2896) => [
q(Agoi),
],
- q(2876) => [
+ q(2897) => [
q(Ibino),
],
- q(2877) => [
+ q(2898) => [
q(Ibuoro),
],
- q(2878) => [
+ q(2899) => [
q(Ibu),
],
- q(2879) => [
+ q(2900) => [
q(Ibani),
],
- q(2880) => [
+ q(2901) => [
q(Ede Ica),
],
- q(2881) => [
+ q(2902) => [
q(Etkywan),
],
- q(2882) => [
+ q(2903) => [
q(Icelandic Sign Language),
],
- q(2883) => [
+ q(2904) => [
q(Islander Creole English),
],
- q(2884) => [
+ q(2905) => [
q(Idakho-Isukha-Tiriki),
q(Luidakho-Luisukha-Lutirichi),
],
- q(2885) => [
+ q(2906) => [
q(Indo-Portuguese),
],
- q(2886) => [
+ q(2907) => [
q(Idon),
+ q(Ajiya),
],
- q(2887) => [
+ q(2908) => [
q(Ede Idaca),
],
- q(2888) => [
+ q(2909) => [
q(Idere),
],
- q(2889) => [
+ q(2910) => [
q(Idi),
],
- q(2890) => [
+ q(2911) => [
q(Indri),
],
- q(2891) => [
+ q(2912) => [
q(Idesa),
],
- q(2892) => [
+ q(2913) => [
q(Idate),
],
- q(2893) => [
+ q(2914) => [
q(Idoma),
],
- q(2894) => [
+ q(2915) => [
q(Amganad Ifugao),
],
- q(2895) => [
+ q(2916) => [
q(Batad Ifugao),
q(Ayangan Ifugao),
],
- q(2896) => [
+ q(2917) => [
q(Ife),
],
- q(2897) => [
+ q(2918) => [
q(Ifo),
],
- q(2898) => [
+ q(2919) => [
q(Tuwali Ifugao),
],
- q(2899) => [
+ q(2920) => [
q(Teke-Fuumu),
],
- q(2900) => [
+ q(2921) => [
q(Mayoyao Ifugao),
],
- q(2901) => [
+ q(2922) => [
q(Keley-I Kallahan),
],
- q(2902) => [
+ q(2923) => [
q(Ebira),
],
- q(2903) => [
+ q(2924) => [
q(Igede),
],
- q(2904) => [
+ q(2925) => [
q(Igana),
],
- q(2905) => [
+ q(2926) => [
q(Igala),
],
- q(2906) => [
+ q(2927) => [
q(Kanggape),
],
- q(2907) => [
+ q(2928) => [
q(Ignaciano),
],
- q(2908) => [
+ q(2929) => [
q(Isebe),
],
- q(2909) => [
+ q(2930) => [
q(Interglossa),
],
- q(2910) => [
+ q(2931) => [
q(Igwe),
],
- q(2911) => [
+ q(2932) => [
q(Iha Based Pidgin),
],
- q(2912) => [
+ q(2933) => [
q(Ihievbe),
],
- q(2913) => [
+ q(2934) => [
q(Iha),
],
- q(2914) => [
+ q(2935) => [
q(Bidhawal),
],
- q(2915) => [
+ q(2936) => [
+ q(Thiin),
+ ],
+ q(2937) => [
q(Izon),
],
- q(2916) => [
+ q(2938) => [
q(Biseni),
],
- q(2917) => [
+ q(2939) => [
q(Ede Ije),
],
- q(2918) => [
+ q(2940) => [
q(Kalabari),
],
- q(2919) => [
+ q(2941) => [
q(Southeast Ijo),
],
- q(2920) => [
+ q(2942) => [
q(Eastern Canadian Inuktitut),
],
- q(2921) => [
+ q(2943) => [
q(Iko),
],
- q(2922) => [
+ q(2944) => [
q(Ika),
],
- q(2923) => [
+ q(2945) => [
q(Ikulu),
],
- q(2924) => [
+ q(2946) => [
q(Olulumo-Ikom),
],
- q(2925) => [
+ q(2947) => [
q(Ikpeshi),
],
- q(2926) => [
+ q(2948) => [
+ q(Ikaranggal),
+ ],
+ q(2949) => [
q(Inuinnaqtun),
q(Western Canadian Inuktitut),
],
- q(2927) => [
+ q(2950) => [
q(Iku-Gora-Ankwa),
],
- q(2928) => [
+ q(2951) => [
q(Ikwere),
],
- q(2929) => [
+ q(2952) => [
q(Ik),
],
- q(2930) => [
+ q(2953) => [
q(Ikizu),
],
- q(2931) => [
+ q(2954) => [
q(Ile Ape),
],
- q(2932) => [
+ q(2955) => [
q(Ila),
],
- q(2933) => [
+ q(2956) => [
q(Garig-Ilgar),
],
- q(2934) => [
+ q(2957) => [
q(Ili Turki),
],
- q(2935) => [
+ q(2958) => [
q(Ilongot),
],
- q(2936) => [
+ q(2959) => [
q(Iranun),
],
- q(2937) => [
+ q(2960) => [
q(International Sign),
],
- q(2938) => [
+ q(2961) => [
q(Ili'uun),
],
- q(2939) => [
+ q(2962) => [
q(Ilue),
],
- q(2940) => [
- q(Talur),
- ],
- q(2941) => [
+ q(2963) => [
q(Mala Malasar),
],
- q(2942) => [
+ q(2964) => [
q(Imeraguen),
],
- q(2943) => [
+ q(2965) => [
q(Anamgura),
],
- q(2944) => [
+ q(2966) => [
q(Miluk),
],
- q(2945) => [
+ q(2967) => [
q(Imonda),
],
- q(2946) => [
+ q(2968) => [
q(Imbongu),
],
- q(2947) => [
+ q(2969) => [
q(Imroing),
],
- q(2948) => [
+ q(2970) => [
q(Marsian),
],
- q(2949) => [
+ q(2971) => [
q(Milyan),
],
- q(2950) => [
+ q(2972) => [
q(Inga),
],
- q(2951) => [
+ q(2973) => [
q(Degexit'an),
],
- q(2952) => [
+ q(2974) => [
q(Jungle Inga),
],
- q(2953) => [
+ q(2975) => [
q(Indonesian Sign Language),
],
- q(2954) => [
+ q(2976) => [
q(Minaean),
],
- q(2955) => [
+ q(2977) => [
q(Isinai),
],
- q(2956) => [
+ q(2978) => [
q(Inoke-Yate),
],
- q(2957) => [
+ q(2979) => [
q(Inapari),
],
- q(2958) => [
+ q(2980) => [
q(Indian Sign Language),
],
- q(2959) => [
+ q(2981) => [
q(Intha),
],
- q(2960) => [
+ q(2982) => [
q(Ineseno),
],
- q(2961) => [
+ q(2983) => [
q(Inor),
],
- q(2962) => [
+ q(2984) => [
q(Tuma-Irumu),
],
- q(2963) => [
+ q(2985) => [
q(Iowa-Oto),
],
- q(2964) => [
+ q(2986) => [
q(Ipili),
],
- q(2965) => [
+ q(2987) => [
q(Ipiko),
],
- q(2966) => [
+ q(2988) => [
q(Iquito),
],
- q(2967) => [
+ q(2989) => [
+ q(Ikwo),
+ ],
+ q(2990) => [
q(Iresim),
],
- q(2968) => [
+ q(2991) => [
q(Irarutu),
],
- q(2969) => [
+ q(2992) => [
q(Irigwe),
],
- q(2970) => [
+ q(2993) => [
q(Iraqw),
],
- q(2971) => [
+ q(2994) => [
q(Irantxe),
],
- q(2972) => [
+ q(2995) => [
q(Ir),
],
- q(2973) => [
+ q(2996) => [
q(Irula),
],
- q(2974) => [
+ q(2997) => [
q(Kamberau),
],
- q(2975) => [
+ q(2998) => [
q(Iraya),
],
- q(2976) => [
+ q(2999) => [
q(Isabi),
],
- q(2977) => [
+ q(3000) => [
q(Isconahua),
],
- q(2978) => [
+ q(3001) => [
q(Isnag),
],
- q(2979) => [
+ q(3002) => [
q(Italian Sign Language),
],
- q(2980) => [
+ q(3003) => [
q(Irish Sign Language),
],
- q(2981) => [
+ q(3004) => [
q(Esan),
],
- q(2982) => [
+ q(3005) => [
q(Nkem-Nkum),
],
- q(2983) => [
+ q(3006) => [
q(Ishkashimi),
],
- q(2984) => [
+ q(3007) => [
q(Masimasi),
],
- q(2985) => [
+ q(3008) => [
q(Isanzu),
],
- q(2986) => [
+ q(3009) => [
q(Isoko),
],
- q(2987) => [
+ q(3010) => [
q(Israeli Sign Language),
],
- q(2988) => [
+ q(3011) => [
q(Istriot),
],
- q(2989) => [
+ q(3012) => [
q(Isu (Menchum Division)),
],
- q(2990) => [
+ q(3013) => [
q(Binongan Itneg),
],
- q(2991) => [
+ q(3014) => [
q(Itene),
],
- q(2992) => [
+ q(3015) => [
q(Inlaod Itneg),
],
- q(2993) => [
+ q(3016) => [
q(Judeo-Italian),
],
- q(2994) => [
+ q(3017) => [
q(Itelmen),
],
- q(2995) => [
+ q(3018) => [
q(Itu Mbon Uzo),
],
- q(2996) => [
+ q(3019) => [
q(Itonama),
],
- q(2997) => [
+ q(3020) => [
q(Iteri),
],
- q(2998) => [
+ q(3021) => [
q(Isekiri),
],
- q(2999) => [
+ q(3022) => [
q(Maeng Itneg),
],
- q(3000) => [
+ q(3023) => [
q(Itawit),
],
- q(3001) => [
+ q(3024) => [
q(Ito),
],
- q(3002) => [
+ q(3025) => [
q(Itik),
],
- q(3003) => [
+ q(3026) => [
q(Moyadan Itneg),
],
- q(3004) => [
+ q(3027) => [
q(Itza),
],
- q(3005) => [
+ q(3028) => [
q(Iu Mien),
],
- q(3006) => [
+ q(3029) => [
q(Ibatan),
],
- q(3007) => [
+ q(3030) => [
q(Ivatan),
],
- q(3008) => [
+ q(3031) => [
q(I-Wak),
],
- q(3009) => [
+ q(3032) => [
q(Iwam),
],
- q(3010) => [
+ q(3033) => [
q(Iwur),
],
- q(3011) => [
+ q(3034) => [
q(Sepik Iwam),
],
- q(3012) => [
+ q(3035) => [
q(Ixcatec),
],
- q(3013) => [
+ q(3036) => [
q(Ixil),
],
- q(3014) => [
+ q(3037) => [
q(Iyayu),
],
- q(3015) => [
+ q(3038) => [
q(Mesaka),
],
- q(3016) => [
+ q(3039) => [
q(Yaka (Congo)),
],
- q(3017) => [
+ q(3040) => [
q(Ingrian),
],
- q(3018) => [
- q(Izi-Ezaa-Ikwo-Mgbo),
- ],
- q(3019) => [
+ q(3041) => [
q(Izere),
],
- q(3020) => [
+ q(3042) => [
+ q(Izii),
+ ],
+ q(3043) => [
q(Jamamadi),
],
- q(3021) => [
+ q(3044) => [
q(Hyam),
],
- q(3022) => [
+ q(3045) => [
q(Popti'),
q(Jakalteko),
],
- q(3023) => [
+ q(3046) => [
q(Jahanka),
],
- q(3024) => [
+ q(3047) => [
q(Yabem),
],
- q(3025) => [
+ q(3048) => [
q(Jara),
],
- q(3026) => [
+ q(3049) => [
q(Jah Hut),
],
- q(3027) => [
+ q(3050) => [
q(Zazao),
],
- q(3028) => [
+ q(3051) => [
q(Jakun),
],
- q(3029) => [
+ q(3052) => [
q(Yalahatan),
],
- q(3030) => [
+ q(3053) => [
q(Jamaican Creole English),
],
- q(3031) => [
+ q(3054) => [
q(Jandai),
],
- q(3032) => [
+ q(3055) => [
q(Yanyuwa),
],
- q(3033) => [
+ q(3056) => [
q(Yaqay),
],
- q(3034) => [
+ q(3057) => [
q(New Caledonian Javanese),
],
- q(3035) => [
+ q(3058) => [
q(Jakati),
],
- q(3036) => [
+ q(3059) => [
q(Yaur),
],
- q(3037) => [
+ q(3060) => [
q(Jambi Malay),
],
- q(3038) => [
+ q(3061) => [
q(Yan-nhangu),
],
- q(3039) => [
+ q(3062) => [
q(Jawe),
],
- q(3040) => [
+ q(3063) => [
q(Judeo-Berber),
],
- q(3041) => [
+ q(3064) => [
+ q(Badjiri),
+ ],
+ q(3065) => [
q(Arandai),
],
- q(3042) => [
+ q(3066) => [
q(Barikewa),
],
- q(3043) => [
+ q(3067) => [
q(Nafusi),
],
- q(3044) => [
+ q(3068) => [
q(Jofotek-Bromnya),
],
- q(3045) => [
+ q(3069) => [
q(Jabuti),
],
- q(3046) => [
+ q(3070) => [
q(Jukun Takum),
],
- q(3047) => [
+ q(3071) => [
q(Yawijibaya),
],
- q(3048) => [
+ q(3072) => [
q(Jamaican Country Sign Language),
],
- q(3049) => [
+ q(3073) => [
q(Krymchak),
],
- q(3050) => [
+ q(3074) => [
q(Jad),
],
- q(3051) => [
+ q(3075) => [
q(Jadgali),
],
- q(3052) => [
+ q(3076) => [
q(Judeo-Tat),
],
- q(3053) => [
+ q(3077) => [
q(Jebero),
],
- q(3054) => [
+ q(3078) => [
q(Jerung),
],
- q(3055) => [
+ q(3079) => [
q(Jeng),
],
- q(3056) => [
+ q(3080) => [
q(Jeh),
],
- q(3057) => [
+ q(3081) => [
q(Yei),
],
- q(3058) => [
+ q(3082) => [
q(Jeri Kuo),
],
- q(3059) => [
+ q(3083) => [
q(Yelmek),
],
- q(3060) => [
+ q(3084) => [
q(Dza),
],
- q(3061) => [
+ q(3085) => [
q(Jere),
],
- q(3062) => [
+ q(3086) => [
q(Manem),
],
- q(3063) => [
+ q(3087) => [
q(Jonkor Bourmataguil),
],
- q(3064) => [
+ q(3088) => [
q(Ngbee),
],
- q(3065) => [
+ q(3089) => [
q(Judeo-Georgian),
],
- q(3066) => [
+ q(3090) => [
q(Gwak),
],
- q(3067) => [
+ q(3091) => [
q(Ngomba),
],
- q(3068) => [
+ q(3092) => [
q(Jehai),
],
- q(3069) => [
+ q(3093) => [
q(Jhankot Sign Language),
],
- q(3070) => [
+ q(3094) => [
q(Jina),
],
- q(3071) => [
+ q(3095) => [
q(Jibu),
],
- q(3072) => [
+ q(3096) => [
q(Tol),
],
- q(3073) => [
+ q(3097) => [
q(Bu),
],
- q(3074) => [
+ q(3098) => [
q(Jilbe),
],
- q(3075) => [
+ q(3099) => [
q(Djingili),
],
- q(3076) => [
+ q(3100) => [
q(sTodsde),
q(Shangzhai),
],
- q(3077) => [
+ q(3101) => [
q(Jiiddu),
],
- q(3078) => [
+ q(3102) => [
q(Jilim),
],
- q(3079) => [
+ q(3103) => [
q(Jimi (Cameroon)),
],
- q(3080) => [
+ q(3104) => [
q(Jiamao),
],
- q(3081) => [
+ q(3105) => [
q(Guanyinqiao),
q(Lavrung),
],
- q(3082) => [
+ q(3106) => [
q(Jita),
],
- q(3083) => [
+ q(3107) => [
q(Youle Jinuo),
],
- q(3084) => [
+ q(3108) => [
q(Shuar),
],
- q(3085) => [
+ q(3109) => [
q(Buyuan Jinuo),
],
- q(3086) => [
+ q(3110) => [
q(Bankal),
],
- q(3087) => [
+ q(3111) => [
q(Mobwa Karen),
],
- q(3088) => [
+ q(3112) => [
q(Kubo),
],
- q(3089) => [
+ q(3113) => [
q(Paku Karen),
],
- q(3090) => [
+ q(3114) => [
q(Koro (India)),
],
- q(3091) => [
+ q(3115) => [
q(Labir),
],
- q(3092) => [
+ q(3116) => [
q(Ngile),
],
- q(3093) => [
+ q(3117) => [
q(Jamaican Sign Language),
],
- q(3094) => [
+ q(3118) => [
q(Dima),
],
- q(3095) => [
+ q(3119) => [
q(Zumbun),
],
- q(3096) => [
+ q(3120) => [
q(Machame),
],
- q(3097) => [
+ q(3121) => [
q(Yamdena),
],
- q(3098) => [
+ q(3122) => [
q(Jimi (Nigeria)),
],
- q(3099) => [
+ q(3123) => [
q(Jumli),
],
- q(3100) => [
+ q(3124) => [
q(Makuri Naga),
],
- q(3101) => [
+ q(3125) => [
q(Kamara),
],
- q(3102) => [
+ q(3126) => [
q(Mashi (Nigeria)),
],
- q(3103) => [
+ q(3127) => [
q(Mouwase),
],
- q(3104) => [
+ q(3128) => [
q(Western Juxtlahuaca Mixtec),
],
- q(3105) => [
+ q(3129) => [
q(Jangshung),
],
- q(3106) => [
+ q(3130) => [
q(Jandavra),
],
- q(3107) => [
+ q(3131) => [
q(Yangman),
],
- q(3108) => [
+ q(3132) => [
q(Janji),
],
- q(3109) => [
+ q(3133) => [
q(Yemsa),
],
- q(3110) => [
+ q(3134) => [
q(Rawat),
],
- q(3111) => [
+ q(3135) => [
q(Jaunsari),
],
- q(3112) => [
+ q(3136) => [
q(Joba),
],
- q(3113) => [
+ q(3137) => [
q(Wojenaka),
],
- q(3114) => [
+ q(3138) => [
q(Jora),
],
- q(3115) => [
+ q(3139) => [
q(Jordanian Sign Language),
],
- q(3116) => [
+ q(3140) => [
q(Jowulu),
],
- q(3117) => [
+ q(3141) => [
q(Jewish Palestinian Aramaic),
],
- q(3118) => [
+ q(3142) => [
q(Jaqaru),
],
- q(3119) => [
+ q(3143) => [
q(Jarai),
],
- q(3120) => [
+ q(3144) => [
q(Jiru),
],
- q(3121) => [
+ q(3145) => [
q(Jorto),
],
- q(3122) => [
+ q(3146) => [
q(Japreria),
],
- q(3123) => [
+ q(3147) => [
q(Japanese Sign Language),
],
- q(3124) => [
+ q(3148) => [
q(Juma),
],
- q(3125) => [
+ q(3149) => [
q(Wannu),
],
- q(3126) => [
+ q(3150) => [
q(Jurchen),
],
- q(3127) => [
+ q(3151) => [
q(Worodougou),
],
- q(3128) => [
+ q(3152) => [
q(Hone),
],
- q(3129) => [
+ q(3153) => [
q(Ngadjuri),
],
- q(3130) => [
+ q(3154) => [
q(Wapan),
],
- q(3131) => [
+ q(3155) => [
q(Jirel),
],
- q(3132) => [
+ q(3156) => [
q(Jumjum),
],
- q(3133) => [
+ q(3157) => [
q(Juang),
],
- q(3134) => [
+ q(3158) => [
q(Jiba),
],
- q(3135) => [
+ q(3159) => [
q(Hupde),
],
- q(3136) => [
+ q(3160) => [
q(Juruna),
],
- q(3137) => [
+ q(3161) => [
q(Jumla Sign Language),
],
- q(3138) => [
+ q(3162) => [
q(Jutish),
],
- q(3139) => [
+ q(3163) => [
q(Ju),
],
- q(3140) => [
+ q(3164) => [
q(Wapha),
],
- q(3141) => [
+ q(3165) => [
q(Juray),
],
- q(3142) => [
+ q(3166) => [
q(Javindo),
],
- q(3143) => [
+ q(3167) => [
q(Caribbean Javanese),
],
- q(3144) => [
+ q(3168) => [
q(Jwira-Pepesa),
],
- q(3145) => [
+ q(3169) => [
q(Jiarong),
],
- q(3146) => [
+ q(3170) => [
q(Judeo-Yemeni Arabic),
],
- q(3147) => [
+ q(3171) => [
q(Jaya),
],
- q(3148) => [
+ q(3172) => [
q(Adara),
],
- q(3149) => [
+ q(3173) => [
q(Ketangalan),
],
- q(3150) => [
+ q(3174) => [
q(Katso),
],
- q(3151) => [
+ q(3175) => [
q(Kajaman),
],
- q(3152) => [
+ q(3176) => [
q(Kara (Central African Republic)),
],
- q(3153) => [
+ q(3177) => [
q(Karekare),
],
- q(3154) => [
+ q(3178) => [
q(Jju),
],
- q(3155) => [
+ q(3179) => [
q(Kayapa Kallahan),
],
- q(3156) => [
+ q(3180) => [
q(Xaasongaxango),
],
- q(3157) => [
+ q(3181) => [
q(Bezhta),
],
- q(3158) => [
+ q(3182) => [
q(Capanahua),
],
- q(3159) => [
+ q(3183) => [
q(Katukina),
],
- q(3160) => [
+ q(3184) => [
q(Kao),
],
- q(3161) => [
+ q(3185) => [
q(Kamayura),
],
- q(3162) => [
+ q(3186) => [
q(Kalarko),
],
- q(3163) => [
+ q(3187) => [
q(Kaxuiana),
],
- q(3164) => [
+ q(3188) => [
q(Kadiweu),
],
- q(3165) => [
+ q(3189) => [
q(Kanju),
],
- q(3166) => [
+ q(3190) => [
q(Kakauhua),
],
- q(3167) => [
+ q(3191) => [
q(Khamba),
],
- q(3168) => [
+ q(3192) => [
q(Camsa),
],
- q(3169) => [
+ q(3193) => [
q(Kaptiau),
],
- q(3170) => [
+ q(3194) => [
q(Kari),
],
- q(3171) => [
+ q(3195) => [
q(Grass Koiari),
],
- q(3172) => [
+ q(3196) => [
q(Kanembu),
],
- q(3173) => [
+ q(3197) => [
q(Iwal),
],
- q(3174) => [
+ q(3198) => [
q(Kare (Central African Republic)),
],
- q(3175) => [
+ q(3199) => [
q(Keliko),
],
- q(3176) => [
+ q(3200) => [
q(Kabiye),
],
- q(3177) => [
+ q(3201) => [
q(Kamano),
],
- q(3178) => [
+ q(3202) => [
q(Kafa),
],
- q(3179) => [
+ q(3203) => [
q(Kande),
],
- q(3180) => [
+ q(3204) => [
q(Abadi),
],
- q(3181) => [
+ q(3205) => [
q(Kabutra),
],
- q(3182) => [
+ q(3206) => [
q(Dera (Indonesia)),
],
- q(3183) => [
+ q(3207) => [
q(Kaiep),
],
- q(3184) => [
+ q(3208) => [
q(Ap Ma),
],
- q(3185) => [
+ q(3209) => [
q(Manga Kanuri),
],
- q(3186) => [
+ q(3210) => [
q(Duhwa),
],
- q(3187) => [
+ q(3211) => [
q(Khanty),
],
- q(3188) => [
+ q(3212) => [
q(Kawacha),
],
- q(3189) => [
+ q(3213) => [
q(Lubila),
],
- q(3190) => [
+ q(3214) => [
q(Ngkalmpw Kanum),
],
- q(3191) => [
+ q(3215) => [
q(Kaivi),
],
- q(3192) => [
+ q(3216) => [
q(Ukaan),
],
- q(3193) => [
+ q(3217) => [
q(Tyap),
],
- q(3194) => [
+ q(3218) => [
q(Vono),
],
- q(3195) => [
+ q(3219) => [
q(Kamantan),
],
- q(3196) => [
+ q(3220) => [
q(Kobiana),
],
- q(3197) => [
+ q(3221) => [
q(Kalanga),
],
- q(3198) => [
+ q(3222) => [
q(Kela (Papua New Guinea)),
q(Kala),
],
- q(3199) => [
+ q(3223) => [
q(Gula (Central African Republic)),
],
- q(3200) => [
+ q(3224) => [
q(Nubi),
],
- q(3201) => [
+ q(3225) => [
q(Kinalakna),
],
- q(3202) => [
+ q(3226) => [
q(Kanga),
],
- q(3203) => [
+ q(3227) => [
q(Kamo),
],
- q(3204) => [
+ q(3228) => [
q(Katla),
],
- q(3205) => [
+ q(3229) => [
q(Koenoem),
],
- q(3206) => [
+ q(3230) => [
q(Kaian),
],
- q(3207) => [
+ q(3231) => [
q(Kami (Tanzania)),
],
- q(3208) => [
+ q(3232) => [
q(Kete),
],
- q(3209) => [
+ q(3233) => [
q(Kabwari),
],
- q(3210) => [
+ q(3234) => [
q(Kachama-Ganjule),
],
- q(3211) => [
+ q(3235) => [
q(Korandje),
],
- q(3212) => [
+ q(3236) => [
q(Konongo),
],
- q(3213) => [
+ q(3237) => [
q(Worimi),
],
- q(3214) => [
+ q(3238) => [
q(Kutu),
],
- q(3215) => [
+ q(3239) => [
q(Yankunytjatjara),
],
- q(3216) => [
+ q(3240) => [
q(Makonde),
],
- q(3217) => [
+ q(3241) => [
q(Mamusi),
],
- q(3218) => [
+ q(3242) => [
q(Seba),
],
- q(3219) => [
+ q(3243) => [
q(Tem),
],
- q(3220) => [
+ q(3244) => [
q(Kumam),
],
- q(3221) => [
+ q(3245) => [
q(Karamojong),
],
- q(3222) => [
+ q(3246) => [
q(Numee),
+ q(Kwenyi),
],
- q(3223) => [
+ q(3247) => [
q(Tsikimba),
],
- q(3224) => [
+ q(3248) => [
q(Kagoma),
],
- q(3225) => [
+ q(3249) => [
q(Kunda),
],
- q(3226) => [
+ q(3250) => [
q(Kaningdon-Nindem),
],
- q(3227) => [
+ q(3251) => [
q(Koch),
],
- q(3228) => [
+ q(3252) => [
q(Karaim),
],
- q(3229) => [
+ q(3253) => [
q(Kuy),
],
- q(3230) => [
+ q(3254) => [
q(Kadaru),
],
- q(3231) => [
+ q(3255) => [
q(Koneraw),
],
- q(3232) => [
+ q(3256) => [
q(Kam),
],
- q(3233) => [
+ q(3257) => [
q(Keder),
q(Keijar),
],
- q(3234) => [
+ q(3258) => [
q(Kwaja),
],
- q(3235) => [
+ q(3259) => [
q(Kabuverdianu),
],
- q(3236) => [
+ q(3260) => [
q(Kele),
],
- q(3237) => [
+ q(3261) => [
q(Keiga),
],
- q(3238) => [
+ q(3262) => [
q(Kerewe),
],
- q(3239) => [
+ q(3263) => [
q(Eastern Keres),
],
- q(3240) => [
+ q(3264) => [
q(Kpessi),
],
- q(3241) => [
+ q(3265) => [
q(Tese),
],
- q(3242) => [
+ q(3266) => [
q(Keak),
],
- q(3243) => [
+ q(3267) => [
q(Kei),
],
- q(3244) => [
+ q(3268) => [
q(Kadar),
],
- q(3245) => [
+ q(3269) => [
q(Kekchi),
],
- q(3246) => [
+ q(3270) => [
q(Kela (Democratic Republic of Congo)),
],
- q(3247) => [
+ q(3271) => [
q(Kemak),
],
- q(3248) => [
+ q(3272) => [
q(Kenyang),
],
- q(3249) => [
+ q(3273) => [
q(Kakwa),
],
- q(3250) => [
+ q(3274) => [
q(Kaikadi),
],
- q(3251) => [
+ q(3275) => [
q(Kamar),
],
- q(3252) => [
+ q(3276) => [
q(Kera),
],
- q(3253) => [
+ q(3277) => [
q(Kugbo),
],
- q(3254) => [
+ q(3278) => [
q(Ket),
],
- q(3255) => [
+ q(3279) => [
q(Akebu),
],
- q(3256) => [
+ q(3280) => [
q(Kanikkaran),
],
- q(3257) => [
+ q(3281) => [
q(West Kewa),
],
- q(3258) => [
+ q(3282) => [
q(Kukna),
],
- q(3259) => [
+ q(3283) => [
q(Kupia),
],
- q(3260) => [
+ q(3284) => [
q(Kukele),
],
- q(3261) => [
+ q(3285) => [
q(Kodava),
],
- q(3262) => [
+ q(3286) => [
q(Northwestern Kolami),
],
- q(3263) => [
+ q(3287) => [
q(Konda-Dora),
],
- q(3264) => [
+ q(3288) => [
q(Korra Koraga),
],
- q(3265) => [
+ q(3289) => [
q(Kota (India)),
],
- q(3266) => [
+ q(3290) => [
q(Koya),
],
- q(3267) => [
+ q(3291) => [
q(Kudiya),
],
- q(3268) => [
+ q(3292) => [
q(Kurichiya),
],
- q(3269) => [
+ q(3293) => [
q(Kannada Kurumba),
],
- q(3270) => [
+ q(3294) => [
q(Kemiehua),
],
- q(3271) => [
+ q(3295) => [
q(Kinnauri),
],
- q(3272) => [
+ q(3296) => [
q(Kung),
],
- q(3273) => [
+ q(3297) => [
q(Khunsari),
],
- q(3274) => [
+ q(3298) => [
q(Kuk),
],
- q(3275) => [
+ q(3299) => [
q(Koro (Cote d'Ivoire)),
],
- q(3276) => [
+ q(3300) => [
q(Korwa),
],
- q(3277) => [
+ q(3301) => [
q(Korku),
],
- q(3278) => [
+ q(3302) => [
q(Kachchi),
],
- q(3279) => [
+ q(3303) => [
q(Bilaspuri),
],
- q(3280) => [
+ q(3304) => [
q(Kanjari),
],
- q(3281) => [
+ q(3305) => [
q(Katkari),
],
- q(3282) => [
+ q(3306) => [
q(Kurmukar),
],
- q(3283) => [
+ q(3307) => [
q(Kharam Naga),
],
- q(3284) => [
+ q(3308) => [
q(Kullu Pahari),
],
- q(3285) => [
+ q(3309) => [
q(Kumaoni),
],
- q(3286) => [
+ q(3310) => [
q(Koromfe),
],
- q(3287) => [
+ q(3311) => [
q(Koyaga),
],
- q(3288) => [
+ q(3312) => [
q(Kawe),
],
- q(3289) => [
+ q(3313) => [
q(Kasseng),
],
- q(3290) => [
+ q(3314) => [
q(Kataang),
],
- q(3291) => [
+ q(3315) => [
q(Komering),
],
- q(3292) => [
+ q(3316) => [
q(Kube),
],
- q(3293) => [
+ q(3317) => [
q(Kusunda),
],
- q(3294) => [
+ q(3318) => [
q(Selangor Sign Language),
],
- q(3295) => [
+ q(3319) => [
q(Gamale Kham),
],
- q(3296) => [
+ q(3320) => [
q(Kaiwa),
],
- q(3297) => [
+ q(3321) => [
q(Kunggari),
],
- q(3298) => [
+ q(3322) => [
q(Karipuna),
],
- q(3299) => [
+ q(3323) => [
q(Karingani),
],
- q(3300) => [
+ q(3324) => [
q(Krongo),
],
- q(3301) => [
+ q(3325) => [
q(Kaingang),
],
- q(3302) => [
+ q(3326) => [
q(Kamoro),
],
- q(3303) => [
+ q(3327) => [
q(Abun),
],
- q(3304) => [
+ q(3328) => [
q(Kumbainggar),
],
- q(3305) => [
+ q(3329) => [
q(Somyev),
],
- q(3306) => [
+ q(3330) => [
q(Kobol),
],
- q(3307) => [
+ q(3331) => [
q(Karas),
],
- q(3308) => [
+ q(3332) => [
q(Karon Dori),
],
- q(3309) => [
+ q(3333) => [
q(Kamaru),
],
- q(3310) => [
+ q(3334) => [
q(Kyerung),
],
- q(3311) => [
+ q(3335) => [
q(Lu),
],
- q(3312) => [
+ q(3336) => [
q(Tukang Besi North),
],
- q(3313) => [
+ q(3337) => [
q(Badi Kanum),
],
- q(3314) => [
+ q(3338) => [
q(Korowai),
],
- q(3315) => [
+ q(3339) => [
q(Khuen),
],
- q(3316) => [
+ q(3340) => [
q(Khams Tibetan),
],
- q(3317) => [
+ q(3341) => [
q(Kehu),
],
- q(3318) => [
+ q(3342) => [
q(Kuturmi),
],
- q(3319) => [
+ q(3343) => [
q(Halh Mongolian),
],
- q(3320) => [
+ q(3344) => [
q(Lusi),
],
- q(3321) => [
+ q(3345) => [
q(Khandesi),
],
- q(3322) => [
+ q(3346) => [
q(Kapori),
q(Kapauri),
],
- q(3323) => [
+ q(3347) => [
q(Koyra Chiini Songhay),
],
- q(3324) => [
+ q(3348) => [
q(Kharia),
],
- q(3325) => [
+ q(3349) => [
q(Kasua),
],
- q(3326) => [
+ q(3350) => [
q(Khamti),
],
- q(3327) => [
+ q(3351) => [
q(Nkhumbi),
],
- q(3328) => [
+ q(3352) => [
q(Khvarshi),
],
- q(3329) => [
+ q(3353) => [
q(Khowar),
],
- q(3330) => [
+ q(3354) => [
q(Kanu),
],
- q(3331) => [
+ q(3355) => [
q(Kele (Democratic Republic of Congo)),
],
- q(3332) => [
+ q(3356) => [
q(Keapara),
],
- q(3333) => [
+ q(3357) => [
q(Kim),
],
- q(3334) => [
+ q(3358) => [
q(Koalib),
],
- q(3335) => [
+ q(3359) => [
q(Kickapoo),
],
- q(3336) => [
+ q(3360) => [
q(Koshin),
],
- q(3337) => [
+ q(3361) => [
q(Kibet),
],
- q(3338) => [
+ q(3362) => [
q(Eastern Parbate Kham),
],
- q(3339) => [
+ q(3363) => [
q(Kimaama),
q(Kimaghima),
],
- q(3340) => [
+ q(3364) => [
q(Kilmeri),
],
- q(3341) => [
+ q(3365) => [
q(Kitsai),
],
- q(3342) => [
+ q(3366) => [
q(Kilivila),
],
- q(3343) => [
+ q(3367) => [
q(Kariya),
],
- q(3344) => [
+ q(3368) => [
q(Karagas),
],
- q(3345) => [
+ q(3369) => [
q(Kiowa),
],
- q(3346) => [
+ q(3370) => [
q(Sheshi Kham),
],
- q(3347) => [
+ q(3371) => [
q(Kosadle),
q(Kosare),
],
- q(3348) => [
+ q(3372) => [
q(Kis),
],
- q(3349) => [
+ q(3373) => [
q(Agob),
],
- q(3350) => [
+ q(3374) => [
q(Kirmanjki (individual language)),
],
- q(3351) => [
+ q(3375) => [
q(Kimbu),
],
- q(3352) => [
+ q(3376) => [
q(Northeast Kiwai),
],
- q(3353) => [
+ q(3377) => [
q(Khiamniungan Naga),
],
- q(3354) => [
+ q(3378) => [
q(Kirikiri),
],
- q(3355) => [
+ q(3379) => [
q(Kisi),
],
- q(3356) => [
+ q(3380) => [
q(Mlap),
],
- q(3357) => [
+ q(3381) => [
q(Q'anjob'al),
q(Kanjobal),
],
- q(3358) => [
+ q(3382) => [
q(Coastal Konjo),
],
- q(3359) => [
+ q(3383) => [
q(Southern Kiwai),
],
- q(3360) => [
+ q(3384) => [
q(Kisar),
],
- q(3361) => [
+ q(3385) => [
q(Khalaj),
],
- q(3362) => [
+ q(3386) => [
q(Khmu),
],
- q(3363) => [
+ q(3387) => [
q(Khakas),
],
- q(3364) => [
+ q(3388) => [
q(Zabana),
],
- q(3365) => [
+ q(3389) => [
q(Khinalugh),
],
- q(3366) => [
+ q(3390) => [
q(Highland Konjo),
],
- q(3367) => [
+ q(3391) => [
q(Western Parbate Kham),
],
- q(3368) => [
+ q(3392) => [
q(Khang),
],
- q(3369) => [
+ q(3393) => [
q(Kunjen),
],
- q(3370) => [
+ q(3394) => [
q(Harijan Kinnauri),
],
- q(3371) => [
+ q(3395) => [
q(Pwo Eastern Karen),
],
- q(3372) => [
+ q(3396) => [
q(Western Keres),
],
- q(3373) => [
+ q(3397) => [
q(Kurudu),
],
- q(3374) => [
+ q(3398) => [
q(East Kewa),
],
- q(3375) => [
+ q(3399) => [
q(Phrae Pwo Karen),
],
- q(3376) => [
+ q(3400) => [
q(Kashaya),
],
- q(3377) => [
+ q(3401) => [
q(Ramopa),
],
- q(3378) => [
+ q(3402) => [
q(Erave),
],
- q(3379) => [
+ q(3403) => [
q(Bumthangkha),
],
- q(3380) => [
+ q(3404) => [
q(Kakanda),
],
- q(3381) => [
+ q(3405) => [
q(Kwerisa),
],
- q(3382) => [
+ q(3406) => [
q(Odoodee),
],
- q(3383) => [
+ q(3407) => [
q(Kinuku),
],
- q(3384) => [
+ q(3408) => [
q(Kakabe),
],
- q(3385) => [
+ q(3409) => [
q(Kalaktang Monpa),
],
- q(3386) => [
+ q(3410) => [
q(Mabaka Valley Kalinga),
],
- q(3387) => [
+ q(3411) => [
q(Khun),
],
- q(3388) => [
+ q(3412) => [
q(Kagulu),
],
- q(3389) => [
+ q(3413) => [
q(Kako),
],
- q(3390) => [
+ q(3414) => [
q(Kokota),
],
- q(3391) => [
+ q(3415) => [
q(Kosarek Yale),
],
- q(3392) => [
+ q(3416) => [
q(Kiong),
],
- q(3393) => [
+ q(3417) => [
q(Kon Keu),
],
- q(3394) => [
+ q(3418) => [
q(Karko),
],
- q(3395) => [
+ q(3419) => [
q(Gugubera),
],
- q(3396) => [
+ q(3420) => [
q(Kaiku),
],
- q(3397) => [
+ q(3421) => [
q(Kir-Balar),
],
- q(3398) => [
+ q(3422) => [
q(Giiwo),
],
- q(3399) => [
+ q(3423) => [
q(Koi),
],
- q(3400) => [
+ q(3424) => [
q(Tumi),
],
- q(3401) => [
+ q(3425) => [
q(Kangean),
],
- q(3402) => [
+ q(3426) => [
q(Teke-Kukuya),
],
- q(3403) => [
+ q(3427) => [
q(Kohin),
],
- q(3404) => [
+ q(3428) => [
q(Guguyimidjir),
],
- q(3405) => [
+ q(3429) => [
q(Kaska),
],
- q(3406) => [
+ q(3430) => [
q(Klamath-Modoc),
],
- q(3407) => [
+ q(3431) => [
q(Kiliwa),
],
- q(3408) => [
+ q(3432) => [
q(Kolbila),
],
- q(3409) => [
+ q(3433) => [
q(Gamilaraay),
],
- q(3410) => [
+ q(3434) => [
q(Kulung (Nepal)),
],
- q(3411) => [
+ q(3435) => [
q(Kendeje),
],
- q(3412) => [
+ q(3436) => [
q(Tagakaulo),
],
- q(3413) => [
+ q(3437) => [
q(Weliki),
],
- q(3414) => [
+ q(3438) => [
q(Kalumpang),
],
- q(3415) => [
+ q(3439) => [
q(Turkic Khalaj),
],
- q(3416) => [
+ q(3440) => [
q(Kono (Nigeria)),
],
- q(3417) => [
+ q(3441) => [
q(Kagan Kalagan),
],
- q(3418) => [
+ q(3442) => [
q(Migum),
],
- q(3419) => [
+ q(3443) => [
q(Kalenjin),
],
- q(3420) => [
+ q(3444) => [
q(Kapya),
],
- q(3421) => [
+ q(3445) => [
q(Kamasa),
],
- q(3422) => [
+ q(3446) => [
q(Rumu),
],
- q(3423) => [
+ q(3447) => [
q(Khaling),
],
- q(3424) => [
+ q(3448) => [
q(Kalasha),
],
- q(3425) => [
+ q(3449) => [
q(Nukna),
],
- q(3426) => [
+ q(3450) => [
q(Klao),
],
- q(3427) => [
+ q(3451) => [
q(Maskelynes),
],
- q(3428) => [
+ q(3452) => [
q(Lindu),
],
- q(3429) => [
+ q(3453) => [
q(Koluwawa),
],
- q(3430) => [
+ q(3454) => [
q(Kalao),
],
- q(3431) => [
+ q(3455) => [
q(Kabola),
],
- q(3432) => [
+ q(3456) => [
q(Konni),
],
- q(3433) => [
+ q(3457) => [
q(Southern Dong),
],
- q(3434) => [
+ q(3458) => [
q(Majukayang Kalinga),
],
- q(3435) => [
+ q(3459) => [
q(Bakole),
],
- q(3436) => [
+ q(3460) => [
q(Kare (Papua New Guinea)),
],
- q(3437) => [
+ q(3461) => [
q(Kate),
],
- q(3438) => [
+ q(3462) => [
q(Kalam),
],
- q(3439) => [
+ q(3463) => [
q(Kami (Nigeria)),
],
- q(3440) => [
+ q(3464) => [
q(Kumarbhag Paharia),
],
- q(3441) => [
+ q(3465) => [
q(Limos Kalinga),
],
- q(3442) => [
+ q(3466) => [
q(Tanudan Kalinga),
],
- q(3443) => [
+ q(3467) => [
q(Kom (India)),
],
- q(3444) => [
+ q(3468) => [
q(Awtuw),
],
- q(3445) => [
+ q(3469) => [
q(Kwoma),
],
- q(3446) => [
+ q(3470) => [
q(Gimme),
],
- q(3447) => [
+ q(3471) => [
q(Kwama),
],
- q(3448) => [
+ q(3472) => [
q(Northern Kurdish),
],
- q(3449) => [
+ q(3473) => [
q(Kamasau),
],
- q(3450) => [
+ q(3474) => [
q(Kemtuik),
],
- q(3451) => [
+ q(3475) => [
q(Kanite),
],
- q(3452) => [
+ q(3476) => [
q(Karipuna Creole French),
],
- q(3453) => [
+ q(3477) => [
q(Komo (Democratic Republic of Congo)),
],
- q(3454) => [
+ q(3478) => [
q(Waboda),
],
- q(3455) => [
+ q(3479) => [
q(Koma),
],
- q(3456) => [
+ q(3480) => [
q(Khorasani Turkish),
],
- q(3457) => [
+ q(3481) => [
q(Dera (Nigeria)),
],
- q(3458) => [
+ q(3482) => [
q(Lubuagan Kalinga),
],
- q(3459) => [
+ q(3483) => [
q(Central Kanuri),
],
- q(3460) => [
+ q(3484) => [
q(Konda),
],
- q(3461) => [
+ q(3485) => [
q(Kankanaey),
],
- q(3462) => [
+ q(3486) => [
q(Mankanya),
],
- q(3463) => [
+ q(3487) => [
q(Koongo),
],
- q(3464) => [
+ q(3488) => [
q(Kanufi),
],
- q(3465) => [
+ q(3489) => [
q(Western Kanjobal),
],
- q(3466) => [
+ q(3490) => [
q(Kuranko),
],
- q(3467) => [
+ q(3491) => [
q(Keninjal),
],
- q(3468) => [
+ q(3492) => [
q(Kanamari),
],
- q(3469) => [
+ q(3493) => [
q(Konkani (individual language)),
],
- q(3470) => [
+ q(3494) => [
q(Kono (Sierra Leone)),
],
- q(3471) => [
+ q(3495) => [
q(Kwanja),
],
- q(3472) => [
+ q(3496) => [
q(Kintaq),
],
- q(3473) => [
+ q(3497) => [
q(Kaningra),
],
- q(3474) => [
+ q(3498) => [
q(Kensiu),
],
- q(3475) => [
+ q(3499) => [
q(Panoan Katukina),
],
- q(3476) => [
+ q(3500) => [
q(Kono (Guinea)),
],
- q(3477) => [
+ q(3501) => [
q(Tabo),
],
- q(3478) => [
+ q(3502) => [
q(Kung-Ekoka),
],
- q(3479) => [
+ q(3503) => [
q(Kendayan),
q(Salako),
],
- q(3480) => [
+ q(3504) => [
q(Kanyok),
],
- q(3481) => [
+ q(3505) => [
q(Kalamse),
],
- q(3482) => [
+ q(3506) => [
q(Konomala),
],
- q(3483) => [
+ q(3507) => [
q(Kpati),
],
- q(3484) => [
+ q(3508) => [
q(Kodi),
],
- q(3485) => [
+ q(3509) => [
q(Kacipo-Balesi),
],
- q(3486) => [
+ q(3510) => [
q(Kubi),
],
- q(3487) => [
+ q(3511) => [
q(Cogui),
q(Kogi),
],
- q(3488) => [
+ q(3512) => [
q(Koyo),
],
- q(3489) => [
+ q(3513) => [
q(Komi-Permyak),
],
- q(3490) => [
+ q(3514) => [
q(Sara Dunjo),
],
- q(3491) => [
+ q(3515) => [
q(Kol (Papua New Guinea)),
],
- q(3492) => [
+ q(3516) => [
q(Konzo),
],
- q(3493) => [
+ q(3517) => [
q(Waube),
],
- q(3494) => [
+ q(3518) => [
q(Kota (Gabon)),
],
- q(3495) => [
+ q(3519) => [
q(Lagwan),
],
- q(3496) => [
+ q(3520) => [
q(Koke),
],
- q(3497) => [
+ q(3521) => [
q(Kudu-Camo),
],
- q(3498) => [
+ q(3522) => [
q(Kugama),
],
- q(3499) => [
+ q(3523) => [
q(Coxima),
],
- q(3500) => [
+ q(3524) => [
q(Koyukon),
],
- q(3501) => [
+ q(3525) => [
q(Korak),
],
- q(3502) => [
+ q(3526) => [
q(Kutto),
],
- q(3503) => [
+ q(3527) => [
q(Mullu Kurumba),
],
- q(3504) => [
+ q(3528) => [
q(Curripaco),
],
- q(3505) => [
+ q(3529) => [
q(Koba),
],
- q(3506) => [
+ q(3530) => [
q(Komba),
],
- q(3507) => [
+ q(3531) => [
q(Kapingamarangi),
],
- q(3508) => [
+ q(3532) => [
q(Kplang),
],
- q(3509) => [
+ q(3533) => [
q(Kofei),
],
- q(3510) => [
+ q(3534) => [
q(Karaja),
],
- q(3511) => [
+ q(3535) => [
q(Kpan),
],
- q(3512) => [
+ q(3536) => [
q(Kpala),
],
- q(3513) => [
+ q(3537) => [
q(Koho),
],
- q(3514) => [
+ q(3538) => [
q(Kepkiriwat),
],
- q(3515) => [
+ q(3539) => [
q(Ikposo),
],
- q(3516) => [
+ q(3540) => [
q(Korupun-Sela),
],
- q(3517) => [
+ q(3541) => [
q(Korafe-Yegha),
],
- q(3518) => [
+ q(3542) => [
q(Tehit),
],
- q(3519) => [
+ q(3543) => [
q(Karata),
],
- q(3520) => [
+ q(3544) => [
q(Kafoa),
],
- q(3521) => [
+ q(3545) => [
q(Komi-Zyrian),
],
- q(3522) => [
+ q(3546) => [
q(Kobon),
],
- q(3523) => [
+ q(3547) => [
q(Mountain Koiali),
],
- q(3524) => [
+ q(3548) => [
q(Koryak),
],
- q(3525) => [
+ q(3549) => [
q(Kupsabiny),
],
- q(3526) => [
+ q(3550) => [
q(Mum),
],
- q(3527) => [
+ q(3551) => [
q(Kovai),
],
- q(3528) => [
+ q(3552) => [
q(Doromu-Koki),
],
- q(3529) => [
+ q(3553) => [
q(Koy Sanjaq Surat),
],
- q(3530) => [
+ q(3554) => [
q(Kalagan),
],
- q(3531) => [
+ q(3555) => [
q(Kakabai),
],
- q(3532) => [
+ q(3556) => [
q(Khe),
],
- q(3533) => [
+ q(3557) => [
q(Kisankasa),
],
- q(3534) => [
+ q(3558) => [
q(Koitabu),
],
- q(3535) => [
+ q(3559) => [
q(Koromira),
],
- q(3536) => [
+ q(3560) => [
q(Kotafon Gbe),
],
- q(3537) => [
+ q(3561) => [
q(Kyenele),
],
- q(3538) => [
+ q(3562) => [
q(Khisa),
],
- q(3539) => [
+ q(3563) => [
q(Kaonde),
],
- q(3540) => [
+ q(3564) => [
q(Eastern Krahn),
],
- q(3541) => [
+ q(3565) => [
q(Kimre),
],
- q(3542) => [
+ q(3566) => [
q(Krenak),
],
- q(3543) => [
+ q(3567) => [
q(Kimaragang),
],
- q(3544) => [
+ q(3568) => [
q(Northern Kissi),
],
- q(3545) => [
+ q(3569) => [
q(Klias River Kadazan),
],
- q(3546) => [
+ q(3570) => [
q(Seroa),
],
- q(3547) => [
+ q(3571) => [
q(Okolod),
],
- q(3548) => [
+ q(3572) => [
q(Kandas),
],
- q(3549) => [
+ q(3573) => [
q(Mser),
],
- q(3550) => [
+ q(3574) => [
q(Koorete),
],
- q(3551) => [
+ q(3575) => [
q(Korana),
],
- q(3552) => [
+ q(3576) => [
q(Kumhali),
],
- q(3553) => [
+ q(3577) => [
q(Karkin),
],
- q(3554) => [
+ q(3578) => [
q(Kairui-Midiki),
],
- q(3555) => [
+ q(3579) => [
q(Panara),
],
- q(3556) => [
+ q(3580) => [
q(Koro (Vanuatu)),
],
- q(3557) => [
+ q(3581) => [
q(Kurama),
],
- q(3558) => [
+ q(3582) => [
q(Krio),
],
- q(3559) => [
+ q(3583) => [
q(Kinaray-A),
],
- q(3560) => [
+ q(3584) => [
q(Kerek),
],
- q(3561) => [
+ q(3585) => [
q(Krim),
],
- q(3562) => [
+ q(3586) => [
q(Sapo),
],
- q(3563) => [
+ q(3587) => [
q(Korop),
],
- q(3564) => [
+ q(3588) => [
q(Kru'ng 2),
],
- q(3565) => [
+ q(3589) => [
q(Gbaya (Sudan)),
],
- q(3566) => [
+ q(3590) => [
q(Tumari Kanuri),
],
- q(3567) => [
+ q(3591) => [
q(Kavet),
],
- q(3568) => [
+ q(3592) => [
q(Western Krahn),
],
- q(3569) => [
+ q(3593) => [
q(Karon),
],
- q(3570) => [
+ q(3594) => [
q(Kryts),
],
- q(3571) => [
+ q(3595) => [
q(Sota Kanum),
],
- q(3572) => [
+ q(3596) => [
q(Shuwa-Zamani),
],
- q(3573) => [
+ q(3597) => [
q(Shambala),
],
- q(3574) => [
+ q(3598) => [
q(Southern Kalinga),
],
- q(3575) => [
+ q(3599) => [
q(Kuanua),
],
- q(3576) => [
+ q(3600) => [
q(Kuni),
],
- q(3577) => [
+ q(3601) => [
q(Bafia),
],
- q(3578) => [
+ q(3602) => [
q(Kusaghe),
],
- q(3579) => [
+ q(3603) => [
q(Kolsch),
],
- q(3580) => [
+ q(3604) => [
q(Krisa),
q(I'saka),
],
- q(3581) => [
+ q(3605) => [
q(Uare),
],
- q(3582) => [
+ q(3606) => [
q(Kansa),
],
- q(3583) => [
+ q(3607) => [
q(Kumalu),
],
- q(3584) => [
+ q(3608) => [
q(Kumba),
],
- q(3585) => [
+ q(3609) => [
q(Kasiguranin),
],
- q(3586) => [
+ q(3610) => [
q(Kofa),
],
- q(3587) => [
+ q(3611) => [
q(Kaba),
],
- q(3588) => [
+ q(3612) => [
q(Kwaami),
],
- q(3589) => [
+ q(3613) => [
q(Borong),
],
- q(3590) => [
+ q(3614) => [
q(Southern Kisi),
],
- q(3591) => [
+ q(3615) => [
q(Winye),
],
- q(3592) => [
+ q(3616) => [
q(Khamyang),
],
- q(3593) => [
+ q(3617) => [
q(Kusu),
],
- q(3594) => [
+ q(3618) => [
q(S'gaw Karen),
],
- q(3595) => [
+ q(3619) => [
q(Kedang),
],
- q(3596) => [
+ q(3620) => [
q(Kharia Thar),
],
- q(3597) => [
+ q(3621) => [
q(Kodaku),
],
- q(3598) => [
+ q(3622) => [
q(Katua),
],
- q(3599) => [
+ q(3623) => [
q(Kambaata),
],
- q(3600) => [
+ q(3624) => [
q(Kholok),
],
- q(3601) => [
+ q(3625) => [
q(Kokata),
],
- q(3602) => [
+ q(3626) => [
q(Nubri),
],
- q(3603) => [
+ q(3627) => [
q(Kwami),
],
- q(3604) => [
+ q(3628) => [
q(Kalkutung),
],
- q(3605) => [
+ q(3629) => [
q(Karanga),
],
- q(3606) => [
+ q(3630) => [
q(North Muyu),
],
- q(3607) => [
+ q(3631) => [
q(Plapo Krumen),
],
- q(3608) => [
+ q(3632) => [
q(Kaniet),
],
- q(3609) => [
+ q(3633) => [
q(Koroshi),
],
- q(3610) => [
+ q(3634) => [
q(Kurti),
],
- q(3611) => [
+ q(3635) => [
q(Karitiana),
],
- q(3612) => [
+ q(3636) => [
q(Kuot),
],
- q(3613) => [
+ q(3637) => [
q(Kaduo),
],
- q(3614) => [
+ q(3638) => [
q(Katabaga),
],
- q(3615) => [
+ q(3639) => [
q(Kota Marudu Tinagas),
],
- q(3616) => [
+ q(3640) => [
q(South Muyu),
],
- q(3617) => [
+ q(3641) => [
q(Ketum),
],
- q(3618) => [
+ q(3642) => [
q(Kituba (Democratic Republic of Congo)),
],
- q(3619) => [
+ q(3643) => [
q(Eastern Katu),
],
- q(3620) => [
+ q(3644) => [
q(Kato),
],
- q(3621) => [
+ q(3645) => [
q(Kaxarari),
],
- q(3622) => [
+ q(3646) => [
q(Kango (Bas-Uele District)),
],
- q(3623) => [
+ q(3647) => [
q(Ju/'hoan),
],
- q(3624) => [
+ q(3648) => [
q(Kutep),
],
- q(3625) => [
+ q(3649) => [
q(Kwinsu),
],
- q(3626) => [
+ q(3650) => [
q('Auhelawa),
],
- q(3627) => [
+ q(3651) => [
q(Kuman),
],
- q(3628) => [
+ q(3652) => [
q(Western Katu),
],
- q(3629) => [
+ q(3653) => [
q(Kupa),
],
- q(3630) => [
+ q(3654) => [
q(Kushi),
],
- q(3631) => [
+ q(3655) => [
q(Kuikuro-Kalapalo),
],
- q(3632) => [
+ q(3656) => [
q(Kuria),
],
- q(3633) => [
+ q(3657) => [
q(Kepo'),
],
- q(3634) => [
+ q(3658) => [
q(Kulere),
],
- q(3635) => [
+ q(3659) => [
q(Kunama),
],
- q(3636) => [
+ q(3660) => [
q(Kumukio),
],
- q(3637) => [
+ q(3661) => [
q(Kunimaipa),
],
- q(3638) => [
+ q(3662) => [
q(Kusaal),
],
- q(3639) => [
+ q(3663) => [
q(Upper Kuskokwim),
],
- q(3640) => [
+ q(3664) => [
q(Kur),
],
- q(3641) => [
+ q(3665) => [
q(Kpagua),
],
- q(3642) => [
+ q(3666) => [
q(Kukatja),
],
- q(3643) => [
+ q(3667) => [
q(Kuuku-Ya'u),
],
- q(3644) => [
+ q(3668) => [
q(Kunza),
],
- q(3645) => [
+ q(3669) => [
q(Bagvalal),
],
- q(3646) => [
+ q(3670) => [
q(Kubu),
],
- q(3647) => [
+ q(3671) => [
q(Kove),
],
- q(3648) => [
+ q(3672) => [
q(Kui (Indonesia)),
],
- q(3649) => [
+ q(3673) => [
q(Kalabakan),
],
- q(3650) => [
+ q(3674) => [
q(Kabalai),
],
- q(3651) => [
+ q(3675) => [
q(Kuni-Boazi),
],
- q(3652) => [
+ q(3676) => [
q(Komodo),
],
- q(3653) => [
+ q(3677) => [
q(Kwang),
],
- q(3654) => [
+ q(3678) => [
q(Psikye),
],
- q(3655) => [
+ q(3679) => [
q(Korean Sign Language),
],
- q(3656) => [
+ q(3680) => [
q(Kayaw),
],
- q(3657) => [
+ q(3681) => [
q(Kendem),
],
- q(3658) => [
+ q(3682) => [
q(Border Kuna),
],
- q(3659) => [
+ q(3683) => [
q(Dobel),
],
- q(3660) => [
+ q(3684) => [
q(Kompane),
],
- q(3661) => [
+ q(3685) => [
q(Geba Karen),
],
- q(3662) => [
+ q(3686) => [
q(Kerinci),
],
- q(3663) => [
+ q(3687) => [
q(Kunggara),
],
- q(3664) => [
+ q(3688) => [
q(Lahta Karen),
q(Lahta),
],
- q(3665) => [
+ q(3689) => [
q(Yinbaw Karen),
],
- q(3666) => [
+ q(3690) => [
q(Kola),
],
- q(3667) => [
+ q(3691) => [
q(Wersing),
],
- q(3668) => [
+ q(3692) => [
q(Parkari Koli),
],
- q(3669) => [
+ q(3693) => [
q(Yintale Karen),
q(Yintale),
],
- q(3670) => [
+ q(3694) => [
q(Tsakwambo),
q(Tsaukambo),
],
- q(3671) => [
+ q(3695) => [
q(Daw),
],
- q(3672) => [
+ q(3696) => [
q(Kwa),
],
- q(3673) => [
+ q(3697) => [
q(Likwala),
],
- q(3674) => [
+ q(3698) => [
q(Kwaio),
],
- q(3675) => [
+ q(3699) => [
q(Kwerba),
],
- q(3676) => [
+ q(3700) => [
q(Kwara'ae),
],
- q(3677) => [
+ q(3701) => [
q(Sara Kaba Deme),
],
- q(3678) => [
+ q(3702) => [
q(Kowiai),
],
- q(3679) => [
+ q(3703) => [
q(Awa-Cuaiquer),
],
- q(3680) => [
+ q(3704) => [
q(Kwanga),
],
- q(3681) => [
+ q(3705) => [
q(Kwakiutl),
],
- q(3682) => [
+ q(3706) => [
q(Kofyar),
],
- q(3683) => [
+ q(3707) => [
q(Kwambi),
],
- q(3684) => [
+ q(3708) => [
q(Kwangali),
],
- q(3685) => [
+ q(3709) => [
q(Kwomtari),
],
- q(3686) => [
+ q(3710) => [
q(Kodia),
],
- q(3687) => [
+ q(3711) => [
q(Kwak),
],
- q(3688) => [
+ q(3712) => [
q(Kwer),
],
- q(3689) => [
+ q(3713) => [
q(Kwese),
],
- q(3690) => [
+ q(3714) => [
q(Kwesten),
],
- q(3691) => [
+ q(3715) => [
q(Kwakum),
],
- q(3692) => [
+ q(3716) => [
q(Sara Kaba Naa),
],
- q(3693) => [
+ q(3717) => [
q(Kwinti),
],
- q(3694) => [
+ q(3718) => [
q(Khirwar),
],
- q(3695) => [
+ q(3719) => [
q(San Salvador Kongo),
],
- q(3696) => [
+ q(3720) => [
q(Kwadi),
],
- q(3697) => [
+ q(3721) => [
q(Kairiru),
],
- q(3698) => [
+ q(3722) => [
q(Krobu),
],
- q(3699) => [
+ q(3723) => [
q(Konso),
q(Khonso),
],
- q(3700) => [
+ q(3724) => [
q(Brunei),
],
- q(3701) => [
+ q(3725) => [
q(Kakihum),
],
- q(3702) => [
+ q(3726) => [
q(Manumanaw Karen),
q(Manumanaw),
],
- q(3703) => [
+ q(3727) => [
q(Karo (Ethiopia)),
],
- q(3704) => [
+ q(3728) => [
q(Keningau Murut),
],
- q(3705) => [
+ q(3729) => [
q(Kulfa),
],
- q(3706) => [
+ q(3730) => [
q(Zayein Karen),
],
- q(3707) => [
+ q(3731) => [
q(Nepali Kurux),
],
- q(3708) => [
+ q(3732) => [
q(Northern Khmer),
],
- q(3709) => [
+ q(3733) => [
q(Kanowit-Tanjong Melanau),
],
- q(3710) => [
+ q(3734) => [
q(Kanoe),
],
- q(3711) => [
+ q(3735) => [
q(Wadiyara Koli),
],
- q(3712) => [
+ q(3736) => [
q(Smarky Kanum),
],
- q(3713) => [
+ q(3737) => [
q(Koro (Papua New Guinea)),
],
- q(3714) => [
+ q(3738) => [
q(Kangjia),
],
- q(3715) => [
+ q(3739) => [
q(Koiwat),
],
- q(3716) => [
+ q(3740) => [
q(Kui (India)),
],
- q(3717) => [
+ q(3741) => [
q(Kuvi),
],
- q(3718) => [
+ q(3742) => [
q(Konai),
],
- q(3719) => [
+ q(3743) => [
q(Likuba),
],
- q(3720) => [
+ q(3744) => [
q(Kayong),
],
- q(3721) => [
+ q(3745) => [
q(Kerewo),
],
- q(3722) => [
+ q(3746) => [
q(Kwaya),
],
- q(3723) => [
+ q(3747) => [
q(Butbut Kalinga),
],
- q(3724) => [
+ q(3748) => [
q(Kyaka),
],
- q(3725) => [
+ q(3749) => [
q(Karey),
],
- q(3726) => [
+ q(3750) => [
q(Krache),
],
- q(3727) => [
+ q(3751) => [
q(Kouya),
],
- q(3728) => [
+ q(3752) => [
q(Keyagana),
],
- q(3729) => [
+ q(3753) => [
q(Karok),
],
- q(3730) => [
+ q(3754) => [
q(Kiput),
],
- q(3731) => [
+ q(3755) => [
q(Karao),
],
- q(3732) => [
+ q(3756) => [
q(Kamayo),
],
- q(3733) => [
+ q(3757) => [
q(Kalapuya),
],
- q(3734) => [
+ q(3758) => [
q(Kpatili),
],
- q(3735) => [
+ q(3759) => [
q(Northern Binukidnon),
],
- q(3736) => [
+ q(3760) => [
q(Kelon),
],
- q(3737) => [
+ q(3761) => [
q(Kang),
],
- q(3738) => [
+ q(3762) => [
q(Kenga),
],
- q(3739) => [
+ q(3763) => [
q(Kuruaya),
],
- q(3740) => [
+ q(3764) => [
q(Baram Kayan),
],
- q(3741) => [
+ q(3765) => [
q(Kayagar),
],
- q(3742) => [
+ q(3766) => [
q(Western Kayah),
],
- q(3743) => [
+ q(3767) => [
q(Kayort),
],
- q(3744) => [
+ q(3768) => [
q(Kudmali),
],
- q(3745) => [
+ q(3769) => [
q(Rapoisi),
],
- q(3746) => [
+ q(3770) => [
q(Kambaira),
],
- q(3747) => [
+ q(3771) => [
q(Kayabi),
],
- q(3748) => [
+ q(3772) => [
q(Western Karaboro),
],
- q(3749) => [
+ q(3773) => [
q(Kaibobo),
],
- q(3750) => [
+ q(3774) => [
q(Bondoukou Kulango),
],
- q(3751) => [
+ q(3775) => [
q(Kadai),
],
- q(3752) => [
+ q(3776) => [
q(Kosena),
],
- q(3753) => [
+ q(3777) => [
q(Da'a Kaili),
],
- q(3754) => [
+ q(3778) => [
q(Kikai),
],
- q(3755) => [
+ q(3779) => [
q(Kelabit),
],
- q(3756) => [
+ q(3780) => [
q(Coastal Kadazan),
],
- q(3757) => [
+ q(3781) => [
q(Kazukuru),
],
- q(3758) => [
+ q(3782) => [
q(Kayeli),
],
- q(3759) => [
+ q(3783) => [
q(Kais),
],
- q(3760) => [
+ q(3784) => [
q(Kokola),
],
- q(3761) => [
+ q(3785) => [
q(Kaningi),
],
- q(3762) => [
+ q(3786) => [
q(Kaidipang),
],
- q(3763) => [
+ q(3787) => [
q(Kaike),
],
- q(3764) => [
+ q(3788) => [
q(Karang),
],
- q(3765) => [
+ q(3789) => [
q(Sugut Dusun),
],
- q(3766) => [
+ q(3790) => [
q(Tambunan Dusun),
],
- q(3767) => [
+ q(3791) => [
q(Kayupulau),
],
- q(3768) => [
+ q(3792) => [
q(Komyandaret),
],
- q(3769) => [
+ q(3793) => [
q(Kariri-Xoco),
],
- q(3770) => [
+ q(3794) => [
q(Kamarian),
],
- q(3771) => [
+ q(3795) => [
q(Kango (Tshopo District)),
],
- q(3772) => [
+ q(3796) => [
q(Kalabra),
],
- q(3773) => [
+ q(3797) => [
q(Southern Subanen),
],
- q(3774) => [
+ q(3798) => [
q(Linear A),
],
- q(3775) => [
+ q(3799) => [
q(Lacandon),
],
- q(3776) => [
+ q(3800) => [
q(Pattani),
],
- q(3777) => [
+ q(3801) => [
q(Lafofa),
],
- q(3778) => [
+ q(3802) => [
q(Langi),
],
- q(3779) => [
+ q(3803) => [
q(Lambya),
],
- q(3780) => [
+ q(3804) => [
q(Lango (Uganda)),
],
- q(3781) => [
+ q(3805) => [
q(Laka (Nigeria)),
],
- q(3782) => [
+ q(3806) => [
q(Lalia),
],
- q(3783) => [
+ q(3807) => [
q(Laru),
],
- q(3784) => [
+ q(3808) => [
q(Laka (Chad)),
],
- q(3785) => [
+ q(3809) => [
q(Qabiao),
],
- q(3786) => [
+ q(3810) => [
q(Larteh),
],
- q(3787) => [
+ q(3811) => [
q(Lama (Togo)),
],
- q(3788) => [
+ q(3812) => [
q(Laba),
],
- q(3789) => [
+ q(3813) => [
q(Lauje),
],
- q(3790) => [
+ q(3814) => [
q(Tiwa),
],
- q(3791) => [
+ q(3815) => [
q(Lama (Myanmar)),
],
- q(3792) => [
+ q(3816) => [
q(Aribwatsa),
],
- q(3793) => [
+ q(3817) => [
q(Lui),
],
- q(3794) => [
+ q(3818) => [
q(Label),
],
- q(3795) => [
+ q(3819) => [
q(Lakkia),
],
- q(3796) => [
+ q(3820) => [
q(Lak),
],
- q(3797) => [
+ q(3821) => [
q(Tinani),
],
- q(3798) => [
+ q(3822) => [
q(Laopang),
],
- q(3799) => [
+ q(3823) => [
q(La'bi),
],
- q(3800) => [
+ q(3824) => [
q(Ladakhi),
],
- q(3801) => [
+ q(3825) => [
q(Central Bontok),
],
- q(3802) => [
+ q(3826) => [
q(Libon Bikol),
],
- q(3803) => [
+ q(3827) => [
q(Lodhi),
],
- q(3804) => [
+ q(3828) => [
q(Lamet),
],
- q(3805) => [
+ q(3829) => [
q(Laven),
],
- q(3806) => [
+ q(3830) => [
q(Wampar),
],
- q(3807) => [
+ q(3831) => [
q(Lohorung),
],
- q(3808) => [
+ q(3832) => [
q(Libyan Sign Language),
],
- q(3809) => [
+ q(3833) => [
q(Lachi),
],
- q(3810) => [
+ q(3834) => [
q(Labu),
],
- q(3811) => [
+ q(3835) => [
q(Lavatbura-Lamusong),
],
- q(3812) => [
+ q(3836) => [
q(Tolaki),
],
- q(3813) => [
+ q(3837) => [
q(Lawangan),
],
- q(3814) => [
+ q(3838) => [
q(Lamu-Lamu),
],
- q(3815) => [
+ q(3839) => [
q(Lardil),
],
- q(3816) => [
+ q(3840) => [
q(Legenyem),
],
- q(3817) => [
+ q(3841) => [
q(Lola),
],
- q(3818) => [
+ q(3842) => [
q(Loncong),
],
- q(3819) => [
+ q(3843) => [
q(Lubu),
],
- q(3820) => [
+ q(3844) => [
q(Luchazi),
],
- q(3821) => [
+ q(3845) => [
q(Lisela),
],
- q(3822) => [
+ q(3846) => [
q(Tungag),
],
- q(3823) => [
+ q(3847) => [
q(Western Lawa),
],
- q(3824) => [
+ q(3848) => [
+ q(Luhu),
+ ],
+ q(3849) => [
q(Lisabata-Nuniali),
],
- q(3825) => [
+ q(3850) => [
+ q(Kla-Dan),
+ ],
+ q(3851) => [
q(Duya),
],
- q(3826) => [
+ q(3852) => [
q(Luri),
],
- q(3827) => [
+ q(3853) => [
q(Lenyima),
],
- q(3828) => [
+ q(3854) => [
q(Lamja-Dengsa-Tola),
],
- q(3829) => [
+ q(3855) => [
q(Laari),
],
- q(3830) => [
+ q(3856) => [
q(Lemoro),
],
- q(3831) => [
+ q(3857) => [
q(Leelau),
],
- q(3832) => [
+ q(3858) => [
q(Kaan),
],
- q(3833) => [
+ q(3859) => [
q(Landoma),
],
- q(3834) => [
+ q(3860) => [
q(Laadan),
],
- q(3835) => [
+ q(3861) => [
q(Loo),
],
- q(3836) => [
+ q(3862) => [
q(Tso),
],
- q(3837) => [
+ q(3863) => [
q(Lufu),
],
- q(3838) => [
+ q(3864) => [
q(Lega-Shabunda),
],
- q(3839) => [
+ q(3865) => [
q(Lala-Bisa),
],
- q(3840) => [
+ q(3866) => [
q(Leco),
],
- q(3841) => [
+ q(3867) => [
q(Lendu),
],
- q(3842) => [
+ q(3868) => [
q(Lyele),
],
- q(3843) => [
+ q(3869) => [
q(Lelemi),
],
- q(3844) => [
+ q(3870) => [
q(Lengua),
],
- q(3845) => [
+ q(3871) => [
q(Lenje),
],
- q(3846) => [
+ q(3872) => [
q(Lemio),
],
- q(3847) => [
+ q(3873) => [
q(Lengola),
],
- q(3848) => [
+ q(3874) => [
q(Leipon),
],
- q(3849) => [
+ q(3875) => [
q(Lele (Democratic Republic of Congo)),
],
- q(3850) => [
+ q(3876) => [
q(Nomaande),
],
- q(3851) => [
+ q(3877) => [
q(Lenca),
],
- q(3852) => [
+ q(3878) => [
q(Leti (Cameroon)),
],
- q(3853) => [
+ q(3879) => [
q(Lepcha),
],
- q(3854) => [
+ q(3880) => [
q(Lembena),
],
- q(3855) => [
+ q(3881) => [
q(Lenkau),
],
- q(3856) => [
+ q(3882) => [
q(Lese),
],
- q(3857) => [
+ q(3883) => [
q(Lesing-Gelimi),
q(Amio-Gelimi),
],
- q(3858) => [
+ q(3884) => [
q(Kara (Papua New Guinea)),
],
- q(3859) => [
+ q(3885) => [
q(Lamma),
],
- q(3860) => [
+ q(3886) => [
q(Ledo Kaili),
],
- q(3861) => [
+ q(3887) => [
q(Luang),
],
- q(3862) => [
+ q(3888) => [
q(Lemolang),
],
- q(3863) => [
+ q(3889) => [
q(Lefa),
],
- q(3864) => [
+ q(3890) => [
q(Lingua Franca Nova),
],
- q(3865) => [
+ q(3891) => [
q(Lungga),
],
- q(3866) => [
+ q(3892) => [
q(Laghu),
],
- q(3867) => [
+ q(3893) => [
q(Lugbara),
],
- q(3868) => [
+ q(3894) => [
q(Laghuu),
],
- q(3869) => [
+ q(3895) => [
q(Lengilu),
],
- q(3870) => [
+ q(3896) => [
q(Lingarak),
q(Neverver),
],
- q(3871) => [
+ q(3897) => [
q(Wala),
],
- q(3872) => [
+ q(3898) => [
q(Lega-Mwenga),
],
- q(3873) => [
+ q(3899) => [
q(Opuuo),
],
- q(3874) => [
+ q(3900) => [
q(Logba),
],
- q(3875) => [
+ q(3901) => [
q(Lengo),
],
- q(3876) => [
+ q(3902) => [
q(Pahi),
],
- q(3877) => [
+ q(3903) => [
q(Longgu),
],
- q(3878) => [
+ q(3904) => [
q(Ligenza),
],
- q(3879) => [
+ q(3905) => [
q(Laha (Viet Nam)),
],
- q(3880) => [
+ q(3906) => [
q(Laha (Indonesia)),
],
- q(3881) => [
+ q(3907) => [
q(Lahu Shi),
],
- q(3882) => [
+ q(3908) => [
q(Lahul Lohar),
],
- q(3883) => [
+ q(3909) => [
q(Lhomi),
],
- q(3884) => [
+ q(3910) => [
q(Lahanan),
],
- q(3885) => [
+ q(3911) => [
q(Lhokpu),
],
- q(3886) => [
+ q(3912) => [
q(Mlahso),
],
- q(3887) => [
+ q(3913) => [
q(Lo-Toga),
],
- q(3888) => [
+ q(3914) => [
q(Lahu),
],
- q(3889) => [
+ q(3915) => [
q(West-Central Limba),
],
- q(3890) => [
+ q(3916) => [
q(Likum),
],
- q(3891) => [
+ q(3917) => [
q(Hlai),
],
- q(3892) => [
+ q(3918) => [
q(Nyindrou),
],
- q(3893) => [
+ q(3919) => [
q(Likila),
],
- q(3894) => [
+ q(3920) => [
q(Limbu),
],
- q(3895) => [
+ q(3921) => [
q(Ligbi),
],
- q(3896) => [
+ q(3922) => [
q(Lihir),
],
- q(3897) => [
+ q(3923) => [
q(Lingkhim),
],
- q(3898) => [
+ q(3924) => [
q(Ligurian),
],
- q(3899) => [
+ q(3925) => [
q(Lika),
],
- q(3900) => [
+ q(3926) => [
q(Lillooet),
],
- q(3901) => [
+ q(3927) => [
q(Liki),
],
- q(3902) => [
+ q(3928) => [
q(Sekpele),
],
- q(3903) => [
+ q(3929) => [
q(Libido),
],
- q(3904) => [
+ q(3930) => [
q(Liberian English),
],
- q(3905) => [
+ q(3931) => [
q(Lisu),
],
- q(3906) => [
+ q(3932) => [
q(Logorik),
],
- q(3907) => [
+ q(3933) => [
q(Liv),
],
- q(3908) => [
+ q(3934) => [
q(Col),
],
- q(3909) => [
+ q(3935) => [
q(Liabuku),
],
- q(3910) => [
+ q(3936) => [
q(Banda-Bambari),
],
- q(3911) => [
+ q(3937) => [
q(Libinza),
],
- q(3912) => [
+ q(3938) => [
+ q(Golpa),
+ ],
+ q(3939) => [
q(Rampi),
],
- q(3913) => [
+ q(3940) => [
q(Laiyolo),
],
- q(3914) => [
+ q(3941) => [
q(Li'o),
],
- q(3915) => [
+ q(3942) => [
q(Lampung Api),
],
- q(3916) => [
+ q(3943) => [
+ q(Yirandali),
+ ],
+ q(3944) => [
+ q(Yuru),
+ ],
+ q(3945) => [
q(Lakalei),
],
- q(3917) => [
+ q(3946) => [
q(Kabras),
q(Lukabaras),
],
- q(3918) => [
+ q(3947) => [
q(Kucong),
],
- q(3919) => [
+ q(3948) => [
q(Lakonde),
],
- q(3920) => [
+ q(3949) => [
q(Kenyi),
],
- q(3921) => [
+ q(3950) => [
q(Lakha),
],
- q(3922) => [
+ q(3951) => [
q(Laki),
],
- q(3923) => [
+ q(3952) => [
q(Remun),
],
- q(3924) => [
+ q(3953) => [
q(Laeko-Libuat),
],
- q(3925) => [
+ q(3954) => [
+ q(Kalaamaya),
+ ],
+ q(3955) => [
q(Lakon),
q(Vure),
],
- q(3926) => [
+ q(3956) => [
q(Khayo),
q(Olukhayo),
],
- q(3927) => [
+ q(3957) => [
q(Pari),
],
- q(3928) => [
+ q(3958) => [
q(Kisa),
q(Olushisa),
],
- q(3929) => [
+ q(3959) => [
q(Lakota),
],
- q(3930) => [
+ q(3960) => [
+ q(Kungkari),
+ ],
+ q(3961) => [
q(Lokoya),
],
- q(3931) => [
+ q(3962) => [
q(Lala-Roba),
],
- q(3932) => [
+ q(3963) => [
q(Lolo),
],
- q(3933) => [
+ q(3964) => [
q(Lele (Guinea)),
],
- q(3934) => [
+ q(3965) => [
q(Ladin),
],
- q(3935) => [
+ q(3966) => [
q(Lele (Papua New Guinea)),
],
- q(3936) => [
+ q(3967) => [
q(Hermit),
],
- q(3937) => [
+ q(3968) => [
q(Lole),
],
- q(3938) => [
+ q(3969) => [
q(Lamu),
],
- q(3939) => [
+ q(3970) => [
q(Teke-Laali),
],
- q(3940) => [
+ q(3971) => [
q(Ladji Ladji),
],
- q(3941) => [
+ q(3972) => [
q(Lelak),
],
- q(3942) => [
+ q(3973) => [
q(Lilau),
],
- q(3943) => [
+ q(3974) => [
q(Lasalimu),
],
- q(3944) => [
+ q(3975) => [
q(Lele (Chad)),
],
- q(3945) => [
+ q(3976) => [
q(Khlor),
],
- q(3946) => [
+ q(3977) => [
q(North Efate),
],
- q(3947) => [
+ q(3978) => [
q(Lolak),
],
- q(3948) => [
+ q(3979) => [
q(Lithuanian Sign Language),
],
- q(3949) => [
+ q(3980) => [
q(Lau),
],
- q(3950) => [
+ q(3981) => [
q(Lauan),
],
- q(3951) => [
+ q(3982) => [
q(East Limba),
],
- q(3952) => [
+ q(3983) => [
q(Merei),
],
- q(3953) => [
+ q(3984) => [
q(Limilngan),
],
- q(3954) => [
+ q(3985) => [
q(Lumun),
],
- q(3955) => [
+ q(3986) => [
q(Peve),
],
- q(3956) => [
+ q(3987) => [
q(South Lembata),
],
- q(3957) => [
+ q(3988) => [
q(Lamogai),
],
- q(3958) => [
+ q(3989) => [
q(Lambichhong),
],
- q(3959) => [
+ q(3990) => [
q(Lombi),
],
- q(3960) => [
+ q(3991) => [
q(West Lembata),
],
- q(3961) => [
+ q(3992) => [
q(Lamkang),
],
- q(3962) => [
+ q(3993) => [
q(Hano),
],
- q(3963) => [
+ q(3994) => [
q(Lamam),
],
- q(3964) => [
+ q(3995) => [
q(Lambadi),
],
- q(3965) => [
+ q(3996) => [
q(Lombard),
],
- q(3966) => [
+ q(3997) => [
q(Limbum),
],
- q(3967) => [
+ q(3998) => [
q(Lamatuka),
],
- q(3968) => [
+ q(3999) => [
q(Lamalera),
],
- q(3969) => [
+ q(4000) => [
q(Lamenu),
],
- q(3970) => [
+ q(4001) => [
q(Lomaiviti),
],
- q(3971) => [
+ q(4002) => [
q(Lake Miwok),
],
- q(3972) => [
+ q(4003) => [
q(Laimbue),
],
- q(3973) => [
+ q(4004) => [
q(Lamboya),
],
- q(3974) => [
+ q(4005) => [
q(Lumbee),
],
- q(3975) => [
+ q(4006) => [
q(Langbashe),
],
- q(3976) => [
+ q(4007) => [
q(Mbalanhu),
],
- q(3977) => [
+ q(4008) => [
q(Lundayeh),
q(Lun Bawang),
],
- q(3978) => [
+ q(4009) => [
q(Langobardic),
],
- q(3979) => [
+ q(4010) => [
q(Lanoh),
],
- q(3980) => [
+ q(4011) => [
q(Daantanai'),
],
- q(3981) => [
+ q(4012) => [
q(Leningitij),
],
- q(3982) => [
+ q(4013) => [
q(South Central Banda),
],
- q(3983) => [
+ q(4014) => [
q(Langam),
],
- q(3984) => [
+ q(4015) => [
q(Lorediakarkar),
],
- q(3985) => [
+ q(4016) => [
q(Lango (Sudan)),
],
- q(3986) => [
+ q(4017) => [
q(Lamnso'),
],
- q(3987) => [
+ q(4018) => [
q(Longuda),
],
- q(3988) => [
+ q(4019) => [
+ q(Lanima),
+ ],
+ q(4020) => [
q(Lonzo),
],
- q(3989) => [
+ q(4021) => [
q(Loloda),
],
- q(3990) => [
+ q(4022) => [
q(Lobi),
],
- q(3991) => [
+ q(4023) => [
q(Inonhan),
],
- q(3992) => [
+ q(4024) => [
q(Saluan),
],
- q(3993) => [
+ q(4025) => [
q(Logol),
],
- q(3994) => [
+ q(4026) => [
q(Logo),
],
- q(3995) => [
+ q(4027) => [
q(Narim),
],
- q(3996) => [
+ q(4028) => [
q(Loma (Cote d'Ivoire)),
],
- q(3997) => [
+ q(4029) => [
q(Lou),
],
- q(3998) => [
+ q(4030) => [
q(Loko),
],
- q(3999) => [
+ q(4031) => [
q(Loma (Liberia)),
],
- q(4000) => [
+ q(4032) => [
q(Malawi Lomwe),
],
- q(4001) => [
+ q(4033) => [
q(Lombo),
],
- q(4002) => [
+ q(4034) => [
q(Lopa),
],
- q(4003) => [
+ q(4035) => [
q(Lobala),
],
- q(4004) => [
+ q(4036) => [
q(Teen),
],
- q(4005) => [
+ q(4037) => [
q(Loniu),
],
- q(4006) => [
+ q(4038) => [
q(Otuho),
],
- q(4007) => [
+ q(4039) => [
q(Louisiana Creole French),
],
- q(4008) => [
+ q(4040) => [
q(Lopi),
],
- q(4009) => [
+ q(4041) => [
q(Tampias Lobu),
],
- q(4010) => [
+ q(4042) => [
q(Loun),
],
- q(4011) => [
+ q(4043) => [
q(Loke),
],
- q(4012) => [
+ q(4044) => [
q(Lelepa),
],
- q(4013) => [
+ q(4045) => [
q(Lepki),
],
- q(4014) => [
+ q(4046) => [
q(Long Phuri Naga),
],
- q(4015) => [
+ q(4047) => [
q(Lipo),
],
- q(4016) => [
+ q(4048) => [
q(Lopit),
],
- q(4017) => [
+ q(4049) => [
q(Rara Bakati'),
],
- q(4018) => [
+ q(4050) => [
q(Northern Luri),
],
- q(4019) => [
+ q(4051) => [
q(Laurentian),
],
- q(4020) => [
+ q(4052) => [
q(Laragia),
],
- q(4021) => [
+ q(4053) => [
q(Marachi),
q(Olumarachi),
],
- q(4022) => [
+ q(4054) => [
q(Loarki),
],
- q(4023) => [
+ q(4055) => [
q(Lari),
],
- q(4024) => [
+ q(4056) => [
q(Marama),
q(Olumarama),
],
- q(4025) => [
+ q(4057) => [
q(Lorang),
],
- q(4026) => [
+ q(4058) => [
q(Laro),
],
- q(4027) => [
+ q(4059) => [
q(Southern Yamphu),
],
- q(4028) => [
+ q(4060) => [
q(Larantuka Malay),
],
- q(4029) => [
+ q(4061) => [
q(Larevat),
],
- q(4030) => [
+ q(4062) => [
q(Lemerig),
],
- q(4031) => [
+ q(4063) => [
q(Lasgerdi),
],
- q(4032) => [
+ q(4064) => [
q(Lishana Deni),
],
- q(4033) => [
+ q(4065) => [
q(Lusengo),
],
- q(4034) => [
+ q(4066) => [
q(Lyons Sign Language),
],
- q(4035) => [
+ q(4067) => [
q(Lish),
],
- q(4036) => [
+ q(4068) => [
q(Lashi),
],
- q(4037) => [
+ q(4069) => [
q(Latvian Sign Language),
],
- q(4038) => [
+ q(4070) => [
q(Saamia),
q(Olusamia),
],
- q(4039) => [
+ q(4071) => [
q(Laos Sign Language),
],
- q(4040) => [
+ q(4072) => [
q(Panamanian Sign Language),
q(Lengua de Senas Panamenas),
],
- q(4041) => [
+ q(4073) => [
q(Aruop),
],
- q(4042) => [
+ q(4074) => [
q(Lasi),
],
- q(4043) => [
+ q(4075) => [
q(Trinidad and Tobago Sign Language),
],
- q(4044) => [
+ q(4076) => [
q(Mauritian Sign Language),
],
- q(4045) => [
+ q(4077) => [
q(Late Middle Chinese),
],
- q(4046) => [
+ q(4078) => [
q(Latgalian),
],
- q(4047) => [
+ q(4079) => [
q(Leti (Indonesia)),
],
- q(4048) => [
+ q(4080) => [
q(Latunde),
],
- q(4049) => [
+ q(4081) => [
q(Tsotso),
q(Olutsotso),
],
- q(4050) => [
+ q(4082) => [
q(Tachoni),
q(Lutachoni),
],
- q(4051) => [
+ q(4083) => [
q(Latu),
],
- q(4052) => [
+ q(4084) => [
q(Aringa),
],
- q(4053) => [
+ q(4085) => [
q(Ludian),
],
- q(4054) => [
+ q(4086) => [
q(Luvale),
],
- q(4055) => [
+ q(4087) => [
q(Laua),
],
- q(4056) => [
+ q(4088) => [
q(Luna),
],
- q(4057) => [
+ q(4089) => [
q(Lunanakha),
],
- q(4058) => [
+ q(4090) => [
q(Olu'bo),
],
- q(4059) => [
+ q(4091) => [
q(Luimbi),
],
- q(4060) => [
+ q(4092) => [
q(Lumbu),
],
- q(4061) => [
+ q(4093) => [
q(Lucumi),
],
- q(4062) => [
+ q(4094) => [
q(Laura),
],
- q(4063) => [
+ q(4095) => [
q(Lushootseed),
],
- q(4064) => [
+ q(4096) => [
q(Lumba-Yakkha),
],
- q(4065) => [
+ q(4097) => [
q(Luwati),
],
- q(4066) => [
+ q(4098) => [
q(Luo (Cameroon)),
],
- q(4067) => [
+ q(4099) => [
q(Luyia),
q(Oluluyia),
],
- q(4068) => [
+ q(4100) => [
q(Southern Luri),
],
- q(4069) => [
+ q(4101) => [
q(Maku'a),
],
- q(4070) => [
+ q(4102) => [
q(Lavukaleve),
],
- q(4071) => [
+ q(4103) => [
q(Standard Latvian),
],
- q(4072) => [
+ q(4104) => [
q(Levuka),
],
- q(4073) => [
+ q(4105) => [
q(Lwalu),
],
- q(4074) => [
+ q(4106) => [
q(Lewo Eleng),
],
- q(4075) => [
+ q(4107) => [
q(Wanga),
q(Oluwanga),
],
- q(4076) => [
+ q(4108) => [
q(White Lachi),
],
- q(4077) => [
+ q(4109) => [
q(Eastern Lawa),
],
- q(4078) => [
+ q(4110) => [
q(Laomian),
],
- q(4079) => [
+ q(4111) => [
q(Luwo),
],
- q(4080) => [
+ q(4112) => [
q(Lewotobi),
],
- q(4081) => [
+ q(4113) => [
+ q(Lawu),
+ ],
+ q(4114) => [
q(Lewo),
],
- q(4082) => [
+ q(4115) => [
q(Layakha),
],
- q(4083) => [
+ q(4116) => [
q(Lyngngam),
],
- q(4084) => [
+ q(4117) => [
q(Luyana),
],
- q(4085) => [
+ q(4118) => [
q(Literary Chinese),
],
- q(4086) => [
+ q(4119) => [
q(Litzlitz),
],
- q(4087) => [
+ q(4120) => [
q(Leinong Naga),
],
- q(4088) => [
+ q(4121) => [
q(Laz),
],
- q(4089) => [
+ q(4122) => [
q(San Jeronimo Tecoatl Mazatec),
],
- q(4090) => [
+ q(4123) => [
q(Yutanduchi Mixtec),
],
- q(4091) => [
+ q(4124) => [
q(Bo-Rukul),
],
- q(4092) => [
+ q(4125) => [
q(Mafa),
],
- q(4093) => [
+ q(4126) => [
q(Jalapa De Diaz Mazatec),
],
- q(4094) => [
+ q(4127) => [
q(Mam),
],
- q(4095) => [
+ q(4128) => [
q(Chiquihuitlan Mazatec),
],
- q(4096) => [
+ q(4129) => [
q(San Francisco Matlatzinca),
],
- q(4097) => [
+ q(4130) => [
q(Huautla Mazatec),
],
- q(4098) => [
+ q(4131) => [
q(Satere-Mawe),
],
- q(4099) => [
+ q(4132) => [
q(Mampruli),
],
- q(4100) => [
+ q(4133) => [
q(North Moluccan Malay),
],
- q(4101) => [
+ q(4134) => [
q(Central Mazahua),
],
- q(4102) => [
+ q(4135) => [
q(Higaonon),
],
- q(4103) => [
+ q(4136) => [
q(Western Bukidnon Manobo),
],
- q(4104) => [
+ q(4137) => [
q(Macushi),
],
- q(4105) => [
+ q(4138) => [
q(Dibabawon Manobo),
],
- q(4106) => [
+ q(4139) => [
q(Molale),
],
- q(4107) => [
+ q(4140) => [
q(Baba Malay),
],
- q(4108) => [
+ q(4141) => [
q(Mangseng),
],
- q(4109) => [
+ q(4142) => [
q(Ilianen Manobo),
],
- q(4110) => [
+ q(4143) => [
q(Nadeb),
],
- q(4111) => [
+ q(4144) => [
q(Malol),
],
- q(4112) => [
+ q(4145) => [
q(Maxakali),
],
- q(4113) => [
+ q(4146) => [
q(Ombamba),
],
- q(4114) => [
+ q(4147) => [
q(Macaguan),
],
- q(4115) => [
+ q(4148) => [
q(Mbo (Cameroon)),
],
- q(4116) => [
+ q(4149) => [
q(Malayo),
],
- q(4117) => [
+ q(4150) => [
q(Maisin),
],
- q(4118) => [
+ q(4151) => [
q(Nukak Maku),
],
- q(4119) => [
+ q(4152) => [
q(Sarangani Manobo),
],
- q(4120) => [
+ q(4153) => [
q(Matigsalug Manobo),
],
- q(4121) => [
+ q(4154) => [
q(Mbula-Bwazza),
],
- q(4122) => [
+ q(4155) => [
q(Mbulungish),
],
- q(4123) => [
+ q(4156) => [
q(Maring),
],
- q(4124) => [
+ q(4157) => [
q(Mari (East Sepik Province)),
],
- q(4125) => [
+ q(4158) => [
q(Memoni),
],
- q(4126) => [
+ q(4159) => [
q(Amoltepec Mixtec),
],
- q(4127) => [
+ q(4160) => [
q(Maca),
],
- q(4128) => [
+ q(4161) => [
q(Machiguenga),
],
- q(4129) => [
+ q(4162) => [
q(Bitur),
],
- q(4130) => [
+ q(4163) => [
q(Sharanahua),
],
- q(4131) => [
+ q(4164) => [
q(Itundujia Mixtec),
],
- q(4132) => [
+ q(4165) => [
q(Matses),
],
- q(4133) => [
+ q(4166) => [
q(Mapoyo),
],
- q(4134) => [
+ q(4167) => [
q(Maquiritari),
],
- q(4135) => [
+ q(4168) => [
q(Mese),
],
- q(4136) => [
+ q(4169) => [
q(Mvanip),
],
- q(4137) => [
+ q(4170) => [
q(Mbunda),
],
- q(4138) => [
+ q(4171) => [
q(Macaguaje),
],
- q(4139) => [
+ q(4172) => [
q(Malaccan Creole Portuguese),
],
- q(4140) => [
+ q(4173) => [
q(Masana),
],
- q(4141) => [
+ q(4174) => [
q(Coatlan Mixe),
],
- q(4142) => [
+ q(4175) => [
q(Makaa),
],
- q(4143) => [
+ q(4176) => [
q(Ese),
],
- q(4144) => [
+ q(4177) => [
q(Menya),
],
- q(4145) => [
+ q(4178) => [
q(Mambai),
],
- q(4146) => [
+ q(4179) => [
q(Mengisa),
],
- q(4147) => [
+ q(4180) => [
q(Cameroon Mambila),
],
- q(4148) => [
+ q(4181) => [
q(Minanibai),
],
- q(4149) => [
+ q(4182) => [
q(Mawa (Chad)),
],
- q(4150) => [
+ q(4183) => [
q(Mpiemo),
],
- q(4151) => [
+ q(4184) => [
q(South Watut),
],
- q(4152) => [
+ q(4185) => [
q(Mawan),
],
- q(4153) => [
+ q(4186) => [
q(Mada (Nigeria)),
],
- q(4154) => [
+ q(4187) => [
q(Morigi),
],
- q(4155) => [
+ q(4188) => [
q(Male (Papua New Guinea)),
],
- q(4156) => [
+ q(4189) => [
q(Mbum),
],
- q(4157) => [
+ q(4190) => [
q(Maba (Chad)),
],
- q(4158) => [
+ q(4191) => [
q(Massalat),
],
- q(4159) => [
+ q(4192) => [
q(Maguindanaon),
],
- q(4160) => [
+ q(4193) => [
q(Mamvu),
],
- q(4161) => [
+ q(4194) => [
q(Mangbetu),
],
- q(4162) => [
+ q(4195) => [
q(Mangbutu),
],
- q(4163) => [
+ q(4196) => [
q(Maltese Sign Language),
],
- q(4164) => [
+ q(4197) => [
q(Mayogo),
],
- q(4165) => [
+ q(4198) => [
q(Mbati),
],
- q(4166) => [
+ q(4199) => [
q(Mbala),
],
- q(4167) => [
+ q(4200) => [
q(Mbole),
],
- q(4168) => [
+ q(4201) => [
q(Maria (Papua New Guinea)),
],
- q(4169) => [
+ q(4202) => [
q(Mbere),
],
- q(4170) => [
+ q(4203) => [
q(Mboko),
],
- q(4171) => [
+ q(4204) => [
q(Santa Lucia Monteverde Mixtec),
],
- q(4172) => [
+ q(4205) => [
q(Mbosi),
],
- q(4173) => [
+ q(4206) => [
q(Dizin),
],
- q(4174) => [
+ q(4207) => [
q(Male (Ethiopia)),
],
- q(4175) => [
+ q(4208) => [
q(Surui Do Para),
],
- q(4176) => [
+ q(4209) => [
q(Menka),
],
- q(4177) => [
+ q(4210) => [
q(Ikobi),
],
- q(4178) => [
+ q(4211) => [
q(Mara),
],
- q(4179) => [
+ q(4212) => [
q(Melpa),
],
- q(4180) => [
+ q(4213) => [
q(Mengen),
],
- q(4181) => [
+ q(4214) => [
q(Megam),
],
- q(4182) => [
- q(Mea),
- ],
- q(4183) => [
+ q(4215) => [
q(Southwestern Tlaxiaco Mixtec),
],
- q(4184) => [
+ q(4216) => [
q(Midob),
],
- q(4185) => [
+ q(4217) => [
q(Meyah),
],
- q(4186) => [
+ q(4218) => [
q(Mekeo),
],
- q(4187) => [
+ q(4219) => [
q(Central Melanau),
],
- q(4188) => [
+ q(4220) => [
q(Mangala),
],
- q(4189) => [
+ q(4221) => [
q(Kedah Malay),
],
- q(4190) => [
+ q(4222) => [
q(Miriwung),
],
- q(4191) => [
+ q(4223) => [
q(Merey),
],
- q(4192) => [
+ q(4224) => [
q(Meru),
],
- q(4193) => [
+ q(4225) => [
q(Masmaje),
],
- q(4194) => [
+ q(4226) => [
q(Mato),
],
- q(4195) => [
+ q(4227) => [
q(Motu),
],
- q(4196) => [
- q(Mann),
+ q(4228) => [
+ q(Mano),
],
- q(4197) => [
+ q(4229) => [
q(Maaka),
],
- q(4198) => [
+ q(4230) => [
q(Hassaniyya),
],
- q(4199) => [
+ q(4231) => [
q(Menominee),
],
- q(4200) => [
+ q(4232) => [
q(Pattani Malay),
],
- q(4201) => [
+ q(4233) => [
q(Bangka),
],
- q(4202) => [
+ q(4234) => [
q(Mba),
],
- q(4203) => [
+ q(4235) => [
q(Mendankwe-Nkwen),
],
- q(4204) => [
+ q(4236) => [
q(Morisyen),
],
- q(4205) => [
+ q(4237) => [
q(Naki),
],
- q(4206) => [
- q(Mixifore),
+ q(4238) => [
+ q(Mogofin),
],
- q(4207) => [
+ q(4239) => [
q(Matal),
],
- q(4208) => [
+ q(4240) => [
q(Wandala),
],
- q(4209) => [
+ q(4241) => [
q(Mefele),
],
- q(4210) => [
+ q(4242) => [
q(North Mofu),
],
- q(4211) => [
+ q(4243) => [
q(Putai),
],
- q(4212) => [
+ q(4244) => [
q(Marghi South),
],
- q(4213) => [
+ q(4245) => [
q(Cross River Mbembe),
],
- q(4214) => [
+ q(4246) => [
q(Mbe),
],
- q(4215) => [
+ q(4247) => [
q(Makassar Malay),
],
- q(4216) => [
+ q(4248) => [
q(Moba),
],
- q(4217) => [
+ q(4249) => [
q(Marithiel),
],
- q(4218) => [
+ q(4250) => [
q(Mexican Sign Language),
],
- q(4219) => [
+ q(4251) => [
q(Mokerang),
],
- q(4220) => [
+ q(4252) => [
q(Mbwela),
],
- q(4221) => [
+ q(4253) => [
q(Mandjak),
],
- q(4222) => [
+ q(4254) => [
q(Mulaha),
],
- q(4223) => [
+ q(4255) => [
q(Melo),
],
- q(4224) => [
+ q(4256) => [
q(Mayo),
],
- q(4225) => [
+ q(4257) => [
q(Mabaan),
],
- q(4226) => [
+ q(4258) => [
q(Mararit),
],
- q(4227) => [
+ q(4259) => [
q(Morokodo),
],
- q(4228) => [
+ q(4260) => [
q(Moru),
],
- q(4229) => [
+ q(4261) => [
q(Mango),
],
- q(4230) => [
+ q(4262) => [
q(Maklew),
],
- q(4231) => [
+ q(4263) => [
q(Mpumpong),
],
- q(4232) => [
+ q(4264) => [
q(Makhuwa-Meetto),
],
- q(4233) => [
+ q(4265) => [
q(Lijili),
],
- q(4234) => [
+ q(4266) => [
q(Abureni),
],
- q(4235) => [
+ q(4267) => [
q(Mawes),
],
- q(4236) => [
+ q(4268) => [
q(Maleu-Kilenge),
],
- q(4237) => [
+ q(4269) => [
q(Mambae),
],
- q(4238) => [
+ q(4270) => [
q(Mbangi),
],
- q(4239) => [
+ q(4271) => [
q(Meta'),
],
- q(4240) => [
+ q(4272) => [
q(Eastern Magar),
],
- q(4241) => [
+ q(4273) => [
q(Malila),
],
- q(4242) => [
+ q(4274) => [
q(Mambwe-Lungu),
],
- q(4243) => [
+ q(4275) => [
q(Manda (Tanzania)),
],
- q(4244) => [
+ q(4276) => [
q(Mongol),
],
- q(4245) => [
+ q(4277) => [
q(Mailu),
],
- q(4246) => [
+ q(4278) => [
q(Matengo),
],
- q(4247) => [
+ q(4279) => [
q(Matumbi),
],
- q(4248) => [
+ q(4280) => [
q(Mbunga),
],
- q(4249) => [
+ q(4281) => [
q(Mbugwe),
],
- q(4250) => [
+ q(4282) => [
q(Manda (India)),
],
- q(4251) => [
+ q(4283) => [
q(Mahongwe),
],
- q(4252) => [
+ q(4284) => [
q(Mocho),
],
- q(4253) => [
+ q(4285) => [
q(Mbugu),
],
- q(4254) => [
+ q(4286) => [
q(Besisi),
q(Mah Meri),
],
- q(4255) => [
+ q(4287) => [
q(Mamaa),
],
- q(4256) => [
+ q(4288) => [
q(Margu),
],
- q(4257) => [
+ q(4289) => [
q(Maskoy Pidgin),
],
- q(4258) => [
+ q(4290) => [
q(Ma'di),
],
- q(4259) => [
+ q(4291) => [
q(Mogholi),
],
- q(4260) => [
+ q(4292) => [
q(Mungaka),
],
- q(4261) => [
+ q(4293) => [
q(Mauwake),
],
- q(4262) => [
+ q(4294) => [
q(Makhuwa-Moniga),
],
- q(4263) => [
+ q(4295) => [
q(Mocheno),
],
- q(4264) => [
+ q(4296) => [
q(Mashi (Zambia)),
],
- q(4265) => [
+ q(4297) => [
q(Balinese Malay),
],
- q(4266) => [
+ q(4298) => [
q(Mandan),
],
- q(4267) => [
+ q(4299) => [
q(Eastern Mari),
],
- q(4268) => [
+ q(4300) => [
q(Buru (Indonesia)),
],
- q(4269) => [
+ q(4301) => [
q(Mandahuaca),
],
- q(4270) => [
+ q(4302) => [
q(Digaro-Mishmi),
q(Darang Deng),
],
- q(4271) => [
+ q(4303) => [
q(Mbukushu),
],
- q(4272) => [
+ q(4304) => [
q(Maru),
q(Lhaovo),
],
- q(4273) => [
+ q(4305) => [
q(Ma'anyan),
],
- q(4274) => [
+ q(4306) => [
q(Mor (Mor Islands)),
],
- q(4275) => [
+ q(4307) => [
q(Miami),
],
- q(4276) => [
+ q(4308) => [
q(Atatlahuca Mixtec),
],
- q(4277) => [
+ q(4309) => [
q(Mandaic),
],
- q(4278) => [
+ q(4310) => [
q(Ocotepec Mixtec),
],
- q(4279) => [
+ q(4311) => [
q(Mofu-Gudur),
],
- q(4280) => [
+ q(4312) => [
q(San Miguel El Grande Mixtec),
],
- q(4281) => [
+ q(4313) => [
q(Chayuco Mixtec),
],
- q(4282) => [
+ q(4314) => [
q(Chigmecatitlan Mixtec),
],
- q(4283) => [
+ q(4315) => [
q(Abar),
+ q(Mungbam),
],
- q(4284) => [
+ q(4316) => [
q(Mikasuki),
],
- q(4285) => [
+ q(4317) => [
q(Penoles Mixtec),
],
- q(4286) => [
+ q(4318) => [
q(Alacatlatzala Mixtec),
],
- q(4287) => [
+ q(4319) => [
q(Pinotepa Nacional Mixtec),
],
- q(4288) => [
+ q(4320) => [
q(Apasco-Apoala Mixtec),
],
- q(4289) => [
+ q(4321) => [
q(Miskito),
],
- q(4290) => [
+ q(4322) => [
q(Isthmus Mixe),
],
- q(4291) => [
+ q(4323) => [
q(Southern Puebla Mixtec),
],
- q(4292) => [
+ q(4324) => [
q(Cacaloxtepec Mixtec),
],
- q(4293) => [
+ q(4325) => [
q(Akoye),
],
- q(4294) => [
+ q(4326) => [
q(Mixtepec Mixtec),
],
- q(4295) => [
+ q(4327) => [
q(Ayutla Mixtec),
],
- q(4296) => [
+ q(4328) => [
q(Coatzospan Mixtec),
],
- q(4297) => [
+ q(4329) => [
q(San Juan Colorado Mixtec),
],
- q(4298) => [
+ q(4330) => [
q(Northwest Maidu),
],
- q(4299) => [
+ q(4331) => [
q(Muskum),
],
- q(4300) => [
+ q(4332) => [
q(Tu),
],
- q(4301) => [
+ q(4333) => [
q(Mwera (Nyasa)),
],
- q(4302) => [
+ q(4334) => [
q(Kim Mun),
],
- q(4303) => [
+ q(4335) => [
q(Mawak),
],
- q(4304) => [
+ q(4336) => [
q(Matukar),
],
- q(4305) => [
+ q(4337) => [
q(Mandeali),
],
- q(4306) => [
+ q(4338) => [
q(Medebur),
],
- q(4307) => [
+ q(4339) => [
q(Ma (Papua New Guinea)),
],
- q(4308) => [
+ q(4340) => [
q(Malankuravan),
],
- q(4309) => [
+ q(4341) => [
q(Malapandaram),
],
- q(4310) => [
+ q(4342) => [
q(Malaryan),
],
- q(4311) => [
+ q(4343) => [
q(Malavedan),
],
- q(4312) => [
+ q(4344) => [
q(Miship),
],
- q(4313) => [
+ q(4345) => [
q(Sauria Paharia),
],
- q(4314) => [
+ q(4346) => [
q(Manna-Dora),
],
- q(4315) => [
+ q(4347) => [
q(Mannan),
],
- q(4316) => [
+ q(4348) => [
q(Karbi),
],
- q(4317) => [
+ q(4349) => [
q(Mahali),
],
- q(4318) => [
+ q(4350) => [
q(Mahican),
],
- q(4319) => [
+ q(4351) => [
q(Majhi),
],
- q(4320) => [
+ q(4352) => [
q(Mbre),
],
- q(4321) => [
+ q(4353) => [
q(Mal Paharia),
],
- q(4322) => [
+ q(4354) => [
q(Siliput),
],
- q(4323) => [
+ q(4355) => [
q(Mawchi),
],
- q(4324) => [
+ q(4356) => [
q(Miya),
],
- q(4325) => [
+ q(4357) => [
q(Mak (China)),
],
- q(4326) => [
+ q(4358) => [
q(Dhatki),
],
- q(4327) => [
+ q(4359) => [
q(Mokilese),
],
- q(4328) => [
+ q(4360) => [
q(Byep),
],
- q(4329) => [
+ q(4361) => [
q(Mokole),
],
- q(4330) => [
+ q(4362) => [
q(Moklen),
],
- q(4331) => [
+ q(4363) => [
q(Kupang Malay),
],
- q(4332) => [
+ q(4364) => [
q(Mingang Doso),
],
- q(4333) => [
+ q(4365) => [
q(Moikodi),
],
- q(4334) => [
+ q(4366) => [
q(Bay Miwok),
],
- q(4335) => [
+ q(4367) => [
q(Malas),
],
- q(4336) => [
+ q(4368) => [
q(Silacayoapan Mixtec),
],
- q(4337) => [
+ q(4369) => [
q(Vamale),
],
- q(4338) => [
+ q(4370) => [
q(Konyanka Maninka),
],
- q(4339) => [
+ q(4371) => [
q(Mafea),
],
- q(4340) => [
+ q(4372) => [
q(Kituba (Congo)),
],
- q(4341) => [
+ q(4373) => [
q(Kinamiging Manobo),
],
- q(4342) => [
+ q(4374) => [
q(East Makian),
],
- q(4343) => [
+ q(4375) => [
q(Makasae),
],
- q(4344) => [
+ q(4376) => [
q(Malo),
],
- q(4345) => [
+ q(4377) => [
q(Mbule),
],
- q(4346) => [
+ q(4378) => [
q(Cao Lan),
],
- q(4347) => [
- q(Malakhel),
- ],
- q(4348) => [
+ q(4379) => [
q(Manambu),
],
- q(4349) => [
+ q(4380) => [
q(Mal),
],
- q(4350) => [
+ q(4381) => [
q(Mape),
],
- q(4351) => [
+ q(4382) => [
q(Malimpung),
],
- q(4352) => [
+ q(4383) => [
q(Miltu),
],
- q(4353) => [
+ q(4384) => [
q(Ilwana),
q(Kiwilwana),
],
- q(4354) => [
+ q(4385) => [
q(Malua Bay),
],
- q(4355) => [
+ q(4386) => [
q(Mulam),
],
- q(4356) => [
+ q(4387) => [
q(Malango),
],
- q(4357) => [
+ q(4388) => [
q(Mlomp),
],
- q(4358) => [
+ q(4389) => [
q(Bargam),
],
- q(4359) => [
+ q(4390) => [
q(Western Maninkakan),
],
- q(4360) => [
+ q(4391) => [
q(Vame),
],
- q(4361) => [
+ q(4392) => [
q(Masalit),
],
- q(4362) => [
+ q(4393) => [
q(To'abaita),
],
- q(4363) => [
+ q(4394) => [
q(Motlav),
q(Mwotlap),
],
- q(4364) => [
+ q(4395) => [
q(Moloko),
],
- q(4365) => [
+ q(4396) => [
q(Malfaxal),
q(Naha'ai),
],
- q(4366) => [
+ q(4397) => [
q(Malaynon),
],
- q(4367) => [
+ q(4398) => [
q(Mama),
],
- q(4368) => [
+ q(4399) => [
q(Momina),
],
- q(4369) => [
+ q(4400) => [
q(Michoacan Mazahua),
],
- q(4370) => [
+ q(4401) => [
q(Maonan),
],
- q(4371) => [
+ q(4402) => [
q(Mae),
],
- q(4372) => [
+ q(4403) => [
q(Mundat),
],
- q(4373) => [
+ q(4404) => [
q(North Ambrym),
],
- q(4374) => [
+ q(4405) => [
q(Mehinaku),
],
- q(4375) => [
+ q(4406) => [
q(Musar),
],
- q(4376) => [
+ q(4407) => [
q(Majhwar),
],
- q(4377) => [
+ q(4408) => [
q(Mukha-Dora),
],
- q(4378) => [
+ q(4409) => [
q(Man Met),
],
- q(4379) => [
+ q(4410) => [
q(Maii),
],
- q(4380) => [
+ q(4411) => [
q(Mamanwa),
],
- q(4381) => [
+ q(4412) => [
q(Mangga Buang),
],
- q(4382) => [
+ q(4413) => [
q(Siawi),
],
- q(4383) => [
+ q(4414) => [
q(Musak),
],
- q(4384) => [
+ q(4415) => [
q(Western Xiangxi Miao),
],
- q(4385) => [
+ q(4416) => [
q(Malalamai),
],
- q(4386) => [
+ q(4417) => [
q(Mmaala),
],
- q(4387) => [
+ q(4418) => [
q(Miriti),
],
- q(4388) => [
+ q(4419) => [
q(Emae),
],
- q(4389) => [
+ q(4420) => [
q(Madak),
],
- q(4390) => [
+ q(4421) => [
q(Migaama),
],
- q(4391) => [
+ q(4422) => [
q(Mabaale),
],
- q(4392) => [
+ q(4423) => [
q(Mbula),
],
- q(4393) => [
+ q(4424) => [
q(Muna),
],
- q(4394) => [
+ q(4425) => [
q(Monde),
],
- q(4395) => [
+ q(4426) => [
q(Naba),
],
- q(4396) => [
+ q(4427) => [
q(Mundani),
],
- q(4397) => [
+ q(4428) => [
q(Eastern Mnong),
],
- q(4398) => [
+ q(4429) => [
q(Mono (Democratic Republic of Congo)),
],
- q(4399) => [
+ q(4430) => [
q(Munji),
],
- q(4400) => [
+ q(4431) => [
q(Mandinka),
],
- q(4401) => [
+ q(4432) => [
q(Tiale),
],
- q(4402) => [
+ q(4433) => [
q(Mapena),
],
- q(4403) => [
+ q(4434) => [
q(Southern Mnong),
],
- q(4404) => [
+ q(4435) => [
q(Min Bei Chinese),
],
- q(4405) => [
+ q(4436) => [
q(Minriq),
],
- q(4406) => [
+ q(4437) => [
q(Mono (USA)),
],
- q(4407) => [
+ q(4438) => [
q(Mansi),
],
- q(4408) => [
- q(Maykulan),
- ],
- q(4409) => [
+ q(4439) => [
q(Mer),
],
- q(4410) => [
+ q(4440) => [
q(Rennell-Bellona),
],
- q(4411) => [
+ q(4441) => [
q(Mon),
],
- q(4412) => [
+ q(4442) => [
q(Manikion),
],
- q(4413) => [
+ q(4443) => [
q(Manyawa),
],
- q(4414) => [
+ q(4444) => [
q(Moni),
],
- q(4415) => [
+ q(4445) => [
q(Mwan),
],
- q(4416) => [
+ q(4446) => [
q(Mocovi),
],
- q(4417) => [
+ q(4447) => [
q(Mobilian),
],
- q(4418) => [
+ q(4448) => [
q(Montagnais),
],
- q(4419) => [
+ q(4449) => [
q(Mongondow),
],
- q(4420) => [
+ q(4450) => [
q(Mboi),
],
- q(4421) => [
+ q(4451) => [
q(Monzombo),
],
- q(4422) => [
+ q(4452) => [
q(Morori),
],
- q(4423) => [
+ q(4453) => [
q(Mangue),
],
- q(4424) => [
+ q(4454) => [
q(Monom),
],
- q(4425) => [
+ q(4455) => [
q(Mopan Maya),
],
- q(4426) => [
+ q(4456) => [
q(Mor (Bomberai Peninsula)),
],
- q(4427) => [
+ q(4457) => [
q(Moro),
],
- q(4428) => [
+ q(4458) => [
q(Mogum),
],
- q(4429) => [
+ q(4459) => [
q(Mohave),
],
- q(4430) => [
+ q(4460) => [
q(Moi (Congo)),
],
- q(4431) => [
+ q(4461) => [
q(Molima),
],
- q(4432) => [
+ q(4462) => [
q(Shekkacho),
],
- q(4433) => [
+ q(4463) => [
q(Mukulu),
q(Gergiko),
],
- q(4434) => [
+ q(4464) => [
q(Mpoto),
],
- q(4435) => [
+ q(4465) => [
q(Mullukmulluk),
],
- q(4436) => [
+ q(4466) => [
q(Mangarayi),
],
- q(4437) => [
+ q(4467) => [
q(Machinere),
],
- q(4438) => [
+ q(4468) => [
q(Majang),
],
- q(4439) => [
+ q(4469) => [
q(Marba),
],
- q(4440) => [
+ q(4470) => [
q(Maung),
],
- q(4441) => [
+ q(4471) => [
q(Mpade),
],
- q(4442) => [
+ q(4472) => [
q(Martu Wangka),
],
- q(4443) => [
+ q(4473) => [
q(Mbara (Chad)),
],
- q(4444) => [
+ q(4474) => [
q(Middle Watut),
],
- q(4445) => [
+ q(4475) => [
q(Yosondua Mixtec),
],
- q(4446) => [
+ q(4476) => [
q(Mindiri),
],
- q(4447) => [
+ q(4477) => [
q(Miu),
],
- q(4448) => [
+ q(4478) => [
q(Migabac),
],
- q(4449) => [
+ q(4479) => [
q(Matis),
],
- q(4450) => [
+ q(4480) => [
q(Vangunu),
],
- q(4451) => [
+ q(4481) => [
q(Dadibi),
],
- q(4452) => [
+ q(4482) => [
q(Mian),
],
- q(4453) => [
+ q(4483) => [
q(Makurap),
],
- q(4454) => [
+ q(4484) => [
q(Mungkip),
],
- q(4455) => [
+ q(4485) => [
q(Mapidian),
],
- q(4456) => [
+ q(4486) => [
q(Misima-Panaeati),
],
- q(4457) => [
+ q(4487) => [
q(Mapia),
],
- q(4458) => [
+ q(4488) => [
q(Mpi),
],
- q(4459) => [
+ q(4489) => [
q(Maba (Indonesia)),
],
- q(4460) => [
+ q(4490) => [
q(Mbuko),
],
- q(4461) => [
+ q(4491) => [
q(Mangole),
],
- q(4462) => [
+ q(4492) => [
q(Matepi),
],
- q(4463) => [
+ q(4493) => [
q(Momuna),
],
- q(4464) => [
+ q(4494) => [
q(Kota Bangun Kutai Malay),
],
- q(4465) => [
+ q(4495) => [
q(Tlazoyaltepec Mixtec),
],
- q(4466) => [
+ q(4496) => [
q(Mariri),
],
- q(4467) => [
+ q(4497) => [
q(Mamasa),
],
- q(4468) => [
+ q(4498) => [
q(Rajah Kabunsuwan Manobo),
],
- q(4469) => [
+ q(4499) => [
q(Mbelime),
],
- q(4470) => [
+ q(4500) => [
q(South Marquesan),
],
- q(4471) => [
+ q(4501) => [
q(Moronene),
],
- q(4472) => [
+ q(4502) => [
q(Modole),
],
- q(4473) => [
+ q(4503) => [
q(Manipa),
],
- q(4474) => [
+ q(4504) => [
q(Minokok),
],
- q(4475) => [
+ q(4505) => [
q(Mander),
],
- q(4476) => [
+ q(4506) => [
q(West Makian),
],
- q(4477) => [
+ q(4507) => [
q(Mok),
],
- q(4478) => [
+ q(4508) => [
q(Mandari),
],
- q(4479) => [
+ q(4509) => [
q(Mosimo),
],
- q(4480) => [
+ q(4510) => [
q(Murupi),
],
- q(4481) => [
+ q(4511) => [
q(Mamuju),
],
- q(4482) => [
+ q(4512) => [
q(Manggarai),
],
- q(4483) => [
+ q(4513) => [
q(Pano),
],
- q(4484) => [
+ q(4514) => [
q(Mlabri),
],
- q(4485) => [
+ q(4515) => [
q(Marino),
],
- q(4486) => [
+ q(4516) => [
q(Maricopa),
],
- q(4487) => [
+ q(4517) => [
q(Western Magar),
],
- q(4488) => [
+ q(4518) => [
q(Martha's Vineyard Sign Language),
],
- q(4489) => [
+ q(4519) => [
q(Elseng),
],
- q(4490) => [
+ q(4520) => [
q(Mising),
],
- q(4491) => [
+ q(4521) => [
q(Mara Chin),
],
- q(4492) => [
+ q(4522) => [
q(Western Mari),
],
- q(4493) => [
+ q(4523) => [
q(Hmwaveke),
],
- q(4494) => [
+ q(4524) => [
q(Mortlockese),
],
- q(4495) => [
+ q(4525) => [
q(Merlav),
q(Mwerlap),
],
- q(4496) => [
+ q(4526) => [
q(Cheke Holo),
],
- q(4497) => [
+ q(4527) => [
q(Mru),
],
- q(4498) => [
+ q(4528) => [
q(Morouas),
],
- q(4499) => [
+ q(4529) => [
q(North Marquesan),
],
- q(4500) => [
+ q(4530) => [
q(Maria (India)),
],
- q(4501) => [
+ q(4531) => [
q(Maragus),
],
- q(4502) => [
+ q(4532) => [
q(Marghi Central),
],
- q(4503) => [
+ q(4533) => [
q(Mono (Cameroon)),
],
- q(4504) => [
+ q(4534) => [
q(Mangareva),
],
- q(4505) => [
+ q(4535) => [
q(Maranao),
],
- q(4506) => [
+ q(4536) => [
q(Maremgi),
q(Dineor),
],
- q(4507) => [
+ q(4537) => [
q(Mandaya),
],
- q(4508) => [
+ q(4538) => [
q(Marind),
],
- q(4509) => [
+ q(4539) => [
q(Masbatenyo),
],
- q(4510) => [
+ q(4540) => [
q(Sankaran Maninka),
],
- q(4511) => [
+ q(4541) => [
q(Yucatec Maya Sign Language),
],
- q(4512) => [
+ q(4542) => [
q(Musey),
],
- q(4513) => [
+ q(4543) => [
q(Mekwei),
],
- q(4514) => [
+ q(4544) => [
q(Moraid),
],
- q(4515) => [
+ q(4545) => [
q(Masikoro Malagasy),
],
- q(4516) => [
+ q(4546) => [
q(Sabah Malay),
],
- q(4517) => [
+ q(4547) => [
q(Ma (Democratic Republic of Congo)),
],
- q(4518) => [
+ q(4548) => [
q(Mansaka),
],
- q(4519) => [
+ q(4549) => [
q(Molof),
q(Poule),
],
- q(4520) => [
+ q(4550) => [
q(Agusan Manobo),
],
- q(4521) => [
+ q(4551) => [
q(Vures),
],
- q(4522) => [
+ q(4552) => [
q(Mombum),
],
- q(4523) => [
+ q(4553) => [
q(Maritsaua),
],
- q(4524) => [
+ q(4554) => [
q(Caac),
],
- q(4525) => [
+ q(4555) => [
q(Mongolian Sign Language),
],
- q(4526) => [
+ q(4556) => [
q(West Masela),
],
- q(4527) => [
+ q(4557) => [
q(Musom),
],
- q(4528) => [
+ q(4558) => [
q(Maslam),
],
- q(4529) => [
+ q(4559) => [
q(Mansoanka),
],
- q(4530) => [
+ q(4560) => [
q(Moresada),
],
- q(4531) => [
+ q(4561) => [
q(Aruamu),
],
- q(4532) => [
+ q(4562) => [
q(Momare),
],
- q(4533) => [
+ q(4563) => [
q(Cotabato Manobo),
],
- q(4534) => [
+ q(4564) => [
q(Anyin Morofo),
],
- q(4535) => [
+ q(4565) => [
q(Munit),
],
- q(4536) => [
+ q(4566) => [
q(Mualang),
],
- q(4537) => [
+ q(4567) => [
q(Mono (Solomon Islands)),
],
- q(4538) => [
+ q(4568) => [
q(Murik (Papua New Guinea)),
],
- q(4539) => [
+ q(4569) => [
q(Una),
],
- q(4540) => [
+ q(4570) => [
q(Munggui),
],
- q(4541) => [
+ q(4571) => [
q(Maiwa (Papua New Guinea)),
],
- q(4542) => [
+ q(4572) => [
q(Moskona),
],
- q(4543) => [
+ q(4573) => [
q(Mbe'),
],
- q(4544) => [
+ q(4574) => [
q(Montol),
],
- q(4545) => [
+ q(4575) => [
q(Mator),
],
- q(4546) => [
+ q(4576) => [
q(Matagalpa),
],
- q(4547) => [
+ q(4577) => [
q(Totontepec Mixe),
],
- q(4548) => [
+ q(4578) => [
q(Wichi Lhamtes Nocten),
],
- q(4549) => [
+ q(4579) => [
q(Muong),
],
- q(4550) => [
+ q(4580) => [
q(Mewari),
],
- q(4551) => [
+ q(4581) => [
q(Yora),
],
- q(4552) => [
+ q(4582) => [
q(Mota),
],
- q(4553) => [
+ q(4583) => [
q(Tututepec Mixtec),
],
- q(4554) => [
+ q(4584) => [
q(Asaro'o),
],
- q(4555) => [
+ q(4585) => [
q(Southern Binukidnon),
],
- q(4556) => [
+ q(4586) => [
q(Tidaa Mixtec),
],
- q(4557) => [
+ q(4587) => [
q(Nabi),
],
- q(4558) => [
+ q(4588) => [
q(Mundang),
],
- q(4559) => [
+ q(4589) => [
q(Mubi),
],
- q(4560) => [
- q(Mbu'),
+ q(4590) => [
+ q(Ajumbu),
],
- q(4561) => [
+ q(4591) => [
q(Mednyj Aleut),
],
- q(4562) => [
+ q(4592) => [
q(Media Lengua),
],
- q(4563) => [
+ q(4593) => [
q(Musgu),
],
- q(4564) => [
+ q(4594) => [
q(Mundu),
],
- q(4565) => [
+ q(4595) => [
q(Musi),
],
- q(4566) => [
+ q(4596) => [
q(Mabire),
],
- q(4567) => [
+ q(4597) => [
q(Mugom),
],
- q(4568) => [
+ q(4598) => [
q(Maiwala),
],
- q(4569) => [
+ q(4599) => [
q(Nyong),
],
- q(4570) => [
+ q(4600) => [
q(Malvi),
],
- q(4571) => [
+ q(4601) => [
q(Eastern Xiangxi Miao),
],
- q(4572) => [
+ q(4602) => [
q(Murle),
],
- q(4573) => [
+ q(4603) => [
q(Western Muria),
],
- q(4574) => [
+ q(4604) => [
q(Yaaku),
],
- q(4575) => [
+ q(4605) => [
q(Muthuvan),
],
- q(4576) => [
+ q(4606) => [
q(Bo-Ung),
],
- q(4577) => [
+ q(4607) => [
q(Muyang),
],
- q(4578) => [
+ q(4608) => [
q(Mursi),
],
- q(4579) => [
+ q(4609) => [
q(Manam),
],
- q(4580) => [
+ q(4610) => [
q(Mattole),
],
- q(4581) => [
+ q(4611) => [
q(Mamboru),
],
- q(4582) => [
+ q(4612) => [
q(Marwari (Pakistan)),
],
- q(4583) => [
+ q(4613) => [
q(Peripheral Mongolian),
],
- q(4584) => [
+ q(4614) => [
q(Yucuane Mixtec),
],
- q(4585) => [
+ q(4615) => [
q(Mulgi),
],
- q(4586) => [
+ q(4616) => [
q(Miyako),
],
- q(4587) => [
+ q(4617) => [
q(Mekmek),
],
- q(4588) => [
+ q(4618) => [
q(Mbara (Australia)),
],
- q(4589) => [
+ q(4619) => [
q(Muya),
],
- q(4590) => [
+ q(4620) => [
q(Minaveha),
],
- q(4591) => [
+ q(4621) => [
q(Marovo),
],
- q(4592) => [
+ q(4622) => [
q(Duri),
],
- q(4593) => [
+ q(4623) => [
q(Moere),
],
- q(4594) => [
+ q(4624) => [
q(Marau),
],
- q(4595) => [
+ q(4625) => [
q(Massep),
],
- q(4596) => [
+ q(4626) => [
q(Mpotovoro),
],
- q(4597) => [
+ q(4627) => [
q(Marfa),
],
- q(4598) => [
+ q(4628) => [
q(Tagal Murut),
],
- q(4599) => [
+ q(4629) => [
q(Machinga),
],
- q(4600) => [
+ q(4630) => [
q(Meoswar),
],
- q(4601) => [
+ q(4631) => [
q(Indus Kohistani),
],
- q(4602) => [
+ q(4632) => [
q(Mesqan),
],
- q(4603) => [
+ q(4633) => [
q(Mwatebu),
],
- q(4604) => [
+ q(4634) => [
q(Juwal),
],
- q(4605) => [
+ q(4635) => [
q(Are),
],
- q(4606) => [
- q(Mudbura),
- ],
- q(4607) => [
+ q(4636) => [
q(Mwera (Chimwera)),
],
- q(4608) => [
+ q(4637) => [
q(Murrinh-Patha),
],
- q(4609) => [
+ q(4638) => [
q(Aiklep),
],
- q(4610) => [
+ q(4639) => [
q(Mouk-Aria),
],
- q(4611) => [
+ q(4640) => [
q(Labo),
q(Ninde),
],
- q(4612) => [
+ q(4641) => [
q(Maligo),
],
- q(4613) => [
+ q(4642) => [
q(Kita Maninkakan),
],
- q(4614) => [
+ q(4643) => [
q(Sar),
],
- q(4615) => [
+ q(4644) => [
q(Nyamwanga),
],
- q(4616) => [
+ q(4645) => [
q(Central Maewo),
],
- q(4617) => [
+ q(4646) => [
q(Kala Lagaw Ya),
],
- q(4618) => [
+ q(4647) => [
q(Mun Chin),
],
- q(4619) => [
+ q(4648) => [
q(Mwimbi-Muthambi),
],
- q(4620) => [
+ q(4649) => [
q(Moken),
],
- q(4621) => [
+ q(4650) => [
q(Mittu),
],
- q(4622) => [
+ q(4651) => [
q(Mentawai),
],
- q(4623) => [
+ q(4652) => [
q(Hmong Daw),
],
- q(4624) => [
+ q(4653) => [
q(Mediak),
],
- q(4625) => [
+ q(4654) => [
q(Mosiro),
],
- q(4626) => [
+ q(4655) => [
q(Moingi),
],
- q(4627) => [
+ q(4656) => [
q(Northwest Oaxaca Mixtec),
],
- q(4628) => [
+ q(4657) => [
q(Tezoatlan Mixtec),
],
- q(4629) => [
+ q(4658) => [
q(Manyika),
],
- q(4630) => [
+ q(4659) => [
q(Modang),
],
- q(4631) => [
+ q(4660) => [
q(Mele-Fila),
],
- q(4632) => [
+ q(4661) => [
q(Malgbe),
],
- q(4633) => [
+ q(4662) => [
q(Mbangala),
],
- q(4634) => [
+ q(4663) => [
q(Mvuba),
],
- q(4635) => [
+ q(4664) => [
q(Mozarabic),
],
- q(4636) => [
+ q(4665) => [
q(Miju-Mishmi),
q(Geman Deng),
],
- q(4637) => [
+ q(4666) => [
q(Monumbo),
],
- q(4638) => [
+ q(4667) => [
q(Maxi Gbe),
],
- q(4639) => [
+ q(4668) => [
q(Meramera),
],
- q(4640) => [
+ q(4669) => [
q(Moi (Indonesia)),
],
- q(4641) => [
+ q(4670) => [
q(Mbowe),
],
- q(4642) => [
+ q(4671) => [
q(Tlahuitoltepec Mixe),
],
- q(4643) => [
+ q(4672) => [
q(Juquila Mixe),
],
- q(4644) => [
+ q(4673) => [
q(Murik (Malaysia)),
],
- q(4645) => [
+ q(4674) => [
q(Huitepec Mixtec),
],
- q(4646) => [
+ q(4675) => [
q(Jamiltepec Mixtec),
],
- q(4647) => [
+ q(4676) => [
q(Mada (Cameroon)),
],
- q(4648) => [
+ q(4677) => [
q(Metlatonoc Mixtec),
],
- q(4649) => [
+ q(4678) => [
q(Namo),
],
- q(4650) => [
+ q(4679) => [
q(Mahou),
q(Mawukakan),
],
- q(4651) => [
+ q(4680) => [
q(Southeastern Nochixtlan Mixtec),
],
- q(4652) => [
+ q(4681) => [
q(Central Masela),
],
- q(4653) => [
+ q(4682) => [
q(Mbay),
],
- q(4654) => [
+ q(4683) => [
q(Mayeka),
],
- q(4655) => [
+ q(4684) => [
q(Maramba),
],
- q(4656) => [
+ q(4685) => [
q(Myene),
],
- q(4657) => [
+ q(4686) => [
q(Bambassi),
],
- q(4658) => [
+ q(4687) => [
q(Manta),
],
- q(4659) => [
+ q(4688) => [
q(Makah),
],
- q(4660) => [
+ q(4689) => [
q(Mina (India)),
],
- q(4661) => [
+ q(4690) => [
q(Mangayat),
],
- q(4662) => [
+ q(4691) => [
q(Mamara Senoufo),
],
- q(4663) => [
+ q(4692) => [
q(Moma),
],
- q(4664) => [
+ q(4693) => [
q(Me'en),
],
- q(4665) => [
+ q(4694) => [
q(Anfillo),
],
- q(4666) => [
+ q(4695) => [
q(Piraha),
],
- q(4667) => [
- q(Forest Maninka),
- ],
- q(4668) => [
+ q(4696) => [
q(Muniche),
],
- q(4669) => [
+ q(4697) => [
q(Mesmes),
],
- q(4670) => [
+ q(4698) => [
q(Munduruku),
],
- q(4671) => [
+ q(4699) => [
q(Muyuw),
],
- q(4672) => [
+ q(4700) => [
q(Masaaba),
],
- q(4673) => [
+ q(4701) => [
q(Macuna),
],
- q(4674) => [
+ q(4702) => [
q(Classical Mandaic),
],
- q(4675) => [
+ q(4703) => [
q(Santa Maria Zacatepec Mixtec),
],
- q(4676) => [
+ q(4704) => [
q(Tumzabt),
],
- q(4677) => [
+ q(4705) => [
q(Madagascar Sign Language),
],
- q(4678) => [
+ q(4706) => [
q(Malimba),
],
- q(4679) => [
+ q(4707) => [
q(Morawa),
],
- q(4680) => [
+ q(4708) => [
q(Monastic Sign Language),
],
- q(4681) => [
+ q(4709) => [
q(Wichi Lhamtes Guisnay),
],
- q(4682) => [
+ q(4710) => [
q(Ixcatlan Mazatec),
],
- q(4683) => [
+ q(4711) => [
q(Manya),
],
- q(4684) => [
+ q(4712) => [
q(Nigeria Mambila),
],
- q(4685) => [
+ q(4713) => [
q(Mazatlan Mixe),
],
- q(4686) => [
+ q(4714) => [
q(Mumuye),
],
- q(4687) => [
+ q(4715) => [
q(Mazanderani),
],
- q(4688) => [
+ q(4716) => [
q(Matipuhy),
],
- q(4689) => [
+ q(4717) => [
q(Movima),
],
- q(4690) => [
+ q(4718) => [
q(Mori Atas),
],
- q(4691) => [
+ q(4719) => [
q(Marubo),
],
- q(4692) => [
+ q(4720) => [
q(Macanese),
],
- q(4693) => [
+ q(4721) => [
q(Mintil),
],
- q(4694) => [
+ q(4722) => [
q(Inapang),
],
- q(4695) => [
+ q(4723) => [
q(Manza),
],
- q(4696) => [
+ q(4724) => [
q(Deg),
],
- q(4697) => [
+ q(4725) => [
q(Mawayana),
],
- q(4698) => [
+ q(4726) => [
q(Mozambican Sign Language),
],
- q(4699) => [
+ q(4727) => [
q(Maiadomu),
],
- q(4700) => [
+ q(4728) => [
q(Namla),
],
- q(4701) => [
+ q(4729) => [
q(Southern Nambikuara),
],
- q(4702) => [
+ q(4730) => [
q(Narak),
],
- q(4703) => [
+ q(4731) => [
q(Nijadali),
],
- q(4704) => [
+ q(4732) => [
q(Naka'ela),
],
- q(4705) => [
+ q(4733) => [
q(Nabak),
],
- q(4706) => [
+ q(4734) => [
q(Naga Pidgin),
],
- q(4707) => [
+ q(4735) => [
q(Nalu),
],
- q(4708) => [
+ q(4736) => [
q(Nakanai),
],
- q(4709) => [
+ q(4737) => [
q(Nalik),
],
- q(4710) => [
+ q(4738) => [
q(Ngan'gityemerri),
],
- q(4711) => [
+ q(4739) => [
q(Min Nan Chinese),
],
- q(4712) => [
+ q(4740) => [
q(Naaba),
],
- q(4713) => [
+ q(4741) => [
q(Nama (Namibia)),
],
- q(4714) => [
+ q(4742) => [
q(Iguta),
],
- q(4715) => [
+ q(4743) => [
q(Naasioi),
],
- q(4716) => [
+ q(4744) => [
q(Hungworo),
],
- q(4717) => [
+ q(4745) => [
q(Nawuri),
],
- q(4718) => [
+ q(4746) => [
q(Nakwi),
],
- q(4719) => [
+ q(4747) => [
q(Narrinyeri),
],
- q(4720) => [
+ q(4748) => [
q(Coatepec Nahuatl),
],
- q(4721) => [
+ q(4749) => [
q(Nyemba),
],
- q(4722) => [
+ q(4750) => [
q(Ndoe),
],
- q(4723) => [
+ q(4751) => [
q(Chang Naga),
],
- q(4724) => [
+ q(4752) => [
q(Ngbinda),
],
- q(4725) => [
+ q(4753) => [
q(Konyak Naga),
],
- q(4726) => [
+ q(4754) => [
q(Nagarchal),
],
- q(4727) => [
+ q(4755) => [
q(Ngamo),
],
- q(4728) => [
+ q(4756) => [
q(Mao Naga),
],
- q(4729) => [
+ q(4757) => [
q(Ngarinman),
],
- q(4730) => [
+ q(4758) => [
q(Nake),
],
- q(4731) => [
+ q(4759) => [
q(Ngbaka Ma'bo),
],
- q(4732) => [
+ q(4760) => [
q(Kuri),
],
- q(4733) => [
+ q(4761) => [
q(Nkukoli),
],
- q(4734) => [
+ q(4762) => [
q(Nnam),
],
- q(4735) => [
+ q(4763) => [
q(Nggem),
],
- q(4736) => [
+ q(4764) => [
q(Numana-Nunku-Gbantu-Numbu),
],
- q(4737) => [
+ q(4765) => [
q(Namibian Sign Language),
],
- q(4738) => [
+ q(4766) => [
q(Na),
],
- q(4739) => [
+ q(4767) => [
q(Rongmei Naga),
],
- q(4740) => [
+ q(4768) => [
q(Ngamambo),
],
- q(4741) => [
+ q(4769) => [
q(Southern Ngbandi),
],
- q(4742) => [
- q(Ngura),
- ],
- q(4743) => [
+ q(4770) => [
q(Ningera),
],
- q(4744) => [
+ q(4771) => [
q(Iyo),
],
- q(4745) => [
+ q(4772) => [
q(Central Nicobarese),
],
- q(4746) => [
+ q(4773) => [
q(Ponam),
],
- q(4747) => [
+ q(4774) => [
q(Nachering),
],
- q(4748) => [
+ q(4775) => [
q(Yale),
],
- q(4749) => [
+ q(4776) => [
q(Notsi),
],
- q(4750) => [
+ q(4777) => [
q(Nisga'a),
],
- q(4751) => [
+ q(4778) => [
q(Central Huasteca Nahuatl),
],
- q(4752) => [
+ q(4779) => [
q(Classical Nahuatl),
],
- q(4753) => [
+ q(4780) => [
q(Northern Puebla Nahuatl),
],
- q(4754) => [
+ q(4781) => [
q(Nakara),
],
- q(4755) => [
+ q(4782) => [
q(Michoacan Nahuatl),
],
- q(4756) => [
+ q(4783) => [
q(Nambo),
],
- q(4757) => [
+ q(4784) => [
q(Nauna),
],
- q(4758) => [
+ q(4785) => [
q(Sibe),
],
- q(4759) => [
+ q(4786) => [
q(Ndaktup),
],
- q(4760) => [
+ q(4787) => [
q(Ncane),
],
- q(4761) => [
+ q(4788) => [
q(Nicaraguan Sign Language),
],
- q(4762) => [
+ q(4789) => [
q(Chothe Naga),
],
- q(4763) => [
+ q(4790) => [
q(Chumburung),
],
- q(4764) => [
+ q(4791) => [
q(Central Puebla Nahuatl),
],
- q(4765) => [
+ q(4792) => [
q(Natchez),
],
- q(4766) => [
+ q(4793) => [
q(Ndasa),
],
- q(4767) => [
+ q(4794) => [
q(Kenswei Nsei),
],
- q(4768) => [
+ q(4795) => [
q(Ndau),
],
- q(4769) => [
+ q(4796) => [
q(Nde-Nsele-Nta),
],
- q(4770) => [
+ q(4797) => [
q(Nadruvian),
],
- q(4771) => [
+ q(4798) => [
q(Ndengereko),
],
- q(4772) => [
+ q(4799) => [
q(Ndali),
],
- q(4773) => [
+ q(4800) => [
q(Samba Leko),
],
- q(4774) => [
+ q(4801) => [
q(Ndamba),
],
- q(4775) => [
+ q(4802) => [
q(Ndaka),
],
- q(4776) => [
+ q(4803) => [
q(Ndolo),
],
- q(4777) => [
+ q(4804) => [
q(Ndam),
],
- q(4778) => [
+ q(4805) => [
q(Ngundi),
],
- q(4779) => [
+ q(4806) => [
q(Ndo),
],
- q(4780) => [
+ q(4807) => [
q(Ndombe),
],
- q(4781) => [
+ q(4808) => [
q(Ndoola),
],
- q(4782) => [
+ q(4809) => [
q(Ndunga),
],
- q(4783) => [
+ q(4810) => [
q(Dugun),
],
- q(4784) => [
+ q(4811) => [
q(Ndut),
],
- q(4785) => [
+ q(4812) => [
q(Ndobo),
],
- q(4786) => [
+ q(4813) => [
q(Nduga),
],
- q(4787) => [
+ q(4814) => [
q(Lutos),
],
- q(4788) => [
+ q(4815) => [
q(Ndogo),
],
- q(4789) => [
+ q(4816) => [
q(Eastern Ngad'a),
],
- q(4790) => [
+ q(4817) => [
q(Toura (Cote d'Ivoire)),
],
- q(4791) => [
+ q(4818) => [
q(Nedebang),
],
- q(4792) => [
+ q(4819) => [
q(Nde-Gbite),
],
- q(4793) => [
+ q(4820) => [
q(Nelemwa-Nixumwak),
],
- q(4794) => [
+ q(4821) => [
q(Nefamese),
],
- q(4795) => [
+ q(4822) => [
q(Negidal),
],
- q(4796) => [
+ q(4823) => [
q(Nyenkha),
],
- q(4797) => [
+ q(4824) => [
q(Neo-Hittite),
],
- q(4798) => [
+ q(4825) => [
q(Neko),
],
- q(4799) => [
+ q(4826) => [
q(Neku),
],
- q(4800) => [
+ q(4827) => [
q(Nemi),
],
- q(4801) => [
+ q(4828) => [
q(Nengone),
],
- q(4802) => [
+ q(4829) => [
q(Na-Meo),
],
- q(4803) => [
+ q(4830) => [
q(North Central Mixe),
],
- q(4804) => [
+ q(4831) => [
q(Yahadian),
],
- q(4805) => [
+ q(4832) => [
q(Bhoti Kinnauri),
],
- q(4806) => [
+ q(4833) => [
q(Nete),
],
- q(4807) => [
+ q(4834) => [
q(Neo),
],
- q(4808) => [
+ q(4835) => [
q(Nyaheun),
],
- q(4809) => [
+ q(4836) => [
q(Neme),
],
- q(4810) => [
+ q(4837) => [
q(Neyo),
],
- q(4811) => [
+ q(4838) => [
q(Nez Perce),
],
- q(4812) => [
+ q(4839) => [
q(Dhao),
],
- q(4813) => [
+ q(4840) => [
q(Ahwai),
],
- q(4814) => [
+ q(4841) => [
q(Ayiwo),
q(Aiwoo),
],
- q(4815) => [
+ q(4842) => [
q(Nafaanra),
],
- q(4816) => [
+ q(4843) => [
q(Mfumte),
],
- q(4817) => [
+ q(4844) => [
q(Ngbaka),
],
- q(4818) => [
+ q(4845) => [
q(Northern Ngbandi),
],
- q(4819) => [
+ q(4846) => [
q(Ngombe (Democratic Republic of Congo)),
],
- q(4820) => [
+ q(4847) => [
q(Ngando (Central African Republic)),
],
- q(4821) => [
+ q(4848) => [
q(Ngemba),
],
- q(4822) => [
+ q(4849) => [
q(Ngbaka Manza),
],
- q(4823) => [
+ q(4850) => [
q(N/u),
],
- q(4824) => [
+ q(4851) => [
q(Ngizim),
],
- q(4825) => [
+ q(4852) => [
q(Ngie),
],
- q(4826) => [
- q(Ngalkbun),
+ q(4853) => [
+ q(Dalabon),
],
- q(4827) => [
+ q(4854) => [
q(Lomwe),
],
- q(4828) => [
+ q(4855) => [
q(Ngatik Men's Creole),
],
- q(4829) => [
+ q(4856) => [
q(Ngwo),
],
- q(4830) => [
+ q(4857) => [
q(Ngoni),
],
- q(4831) => [
+ q(4858) => [
q(Ngulu),
],
- q(4832) => [
+ q(4859) => [
q(Ngurimi),
q(Ngoreme),
],
- q(4833) => [
+ q(4860) => [
q(Engdewu),
],
- q(4834) => [
+ q(4861) => [
q(Gvoko),
],
- q(4835) => [
+ q(4862) => [
q(Ngeq),
],
- q(4836) => [
+ q(4863) => [
q(Guerrero Nahuatl),
],
- q(4837) => [
+ q(4864) => [
q(Nagumi),
],
- q(4838) => [
+ q(4865) => [
q(Ngwaba),
],
- q(4839) => [
+ q(4866) => [
q(Nggwahyi),
],
- q(4840) => [
+ q(4867) => [
q(Tibea),
],
- q(4841) => [
+ q(4868) => [
q(Ngungwel),
],
- q(4842) => [
+ q(4869) => [
q(Nhanda),
],
- q(4843) => [
+ q(4870) => [
q(Beng),
],
- q(4844) => [
+ q(4871) => [
q(Tabasco Nahuatl),
],
- q(4845) => [
+ q(4872) => [
q(Chiripa),
q(Ava Guarani),
],
- q(4846) => [
+ q(4873) => [
q(Eastern Huasteca Nahuatl),
],
- q(4847) => [
+ q(4874) => [
q(Nhuwala),
],
- q(4848) => [
+ q(4875) => [
q(Tetelcingo Nahuatl),
],
- q(4849) => [
+ q(4876) => [
q(Nahari),
],
- q(4850) => [
+ q(4877) => [
q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl),
],
- q(4851) => [
+ q(4878) => [
q(Isthmus-Cosoleacaque Nahuatl),
],
- q(4852) => [
+ q(4879) => [
q(Morelos Nahuatl),
],
- q(4853) => [
+ q(4880) => [
q(Central Nahuatl),
],
- q(4854) => [
+ q(4881) => [
q(Takuu),
],
- q(4855) => [
+ q(4882) => [
q(Isthmus-Pajapan Nahuatl),
],
- q(4856) => [
+ q(4883) => [
q(Huaxcaleca Nahuatl),
],
- q(4857) => [
+ q(4884) => [
q(Naro),
],
- q(4858) => [
+ q(4885) => [
q(Ometepec Nahuatl),
],
- q(4859) => [
+ q(4886) => [
q(Noone),
],
- q(4860) => [
+ q(4887) => [
q(Temascaltepec Nahuatl),
],
- q(4861) => [
+ q(4888) => [
q(Western Huasteca Nahuatl),
],
- q(4862) => [
+ q(4889) => [
q(Isthmus-Mecayapan Nahuatl),
],
- q(4863) => [
+ q(4890) => [
q(Northern Oaxaca Nahuatl),
],
- q(4864) => [
+ q(4891) => [
q(Santa Maria La Alta Nahuatl),
],
- q(4865) => [
+ q(4892) => [
q(Nakame),
],
- q(4866) => [
+ q(4893) => [
q(Ngandi),
],
- q(4867) => [
+ q(4894) => [
q(Niellim),
],
- q(4868) => [
+ q(4895) => [
q(Nek),
],
- q(4869) => [
+ q(4896) => [
q(Ngalakan),
],
- q(4870) => [
+ q(4897) => [
q(Nyiha (Tanzania)),
],
- q(4871) => [
+ q(4898) => [
q(Nii),
],
- q(4872) => [
+ q(4899) => [
q(Ngaju),
],
- q(4873) => [
+ q(4900) => [
q(Southern Nicobarese),
],
- q(4874) => [
+ q(4901) => [
q(Nila),
],
- q(4875) => [
+ q(4902) => [
q(Nilamba),
],
- q(4876) => [
+ q(4903) => [
q(Ninzo),
],
- q(4877) => [
+ q(4904) => [
q(Nganasan),
],
- q(4878) => [
+ q(4905) => [
q(Nandi),
],
- q(4879) => [
+ q(4906) => [
q(Nimboran),
],
- q(4880) => [
+ q(4907) => [
q(Nimi),
],
- q(4881) => [
+ q(4908) => [
q(Southeastern Kolami),
],
- q(4882) => [
+ q(4909) => [
q(Gilyak),
],
- q(4883) => [
+ q(4910) => [
q(Nimo),
],
- q(4884) => [
+ q(4911) => [
q(Hema),
],
- q(4885) => [
+ q(4912) => [
q(Ngiti),
],
- q(4886) => [
+ q(4913) => [
q(Ningil),
],
- q(4887) => [
+ q(4914) => [
q(Nzanyi),
],
- q(4888) => [
+ q(4915) => [
q(Nocte Naga),
],
- q(4889) => [
+ q(4916) => [
q(Ndonde Hamba),
],
- q(4890) => [
+ q(4917) => [
q(Lotha Naga),
],
- q(4891) => [
+ q(4918) => [
q(Gudanji),
],
- q(4892) => [
+ q(4919) => [
q(Njen),
],
- q(4893) => [
+ q(4920) => [
q(Njalgulgule),
],
- q(4894) => [
+ q(4921) => [
q(Angami Naga),
],
- q(4895) => [
+ q(4922) => [
q(Liangmai Naga),
],
- q(4896) => [
+ q(4923) => [
q(Ao Naga),
],
- q(4897) => [
+ q(4924) => [
q(Njerep),
],
- q(4898) => [
+ q(4925) => [
q(Nisa),
],
- q(4899) => [
+ q(4926) => [
q(Ndyuka-Trio Pidgin),
],
- q(4900) => [
+ q(4927) => [
q(Ngadjunmaya),
],
- q(4901) => [
+ q(4928) => [
q(Kunyi),
],
- q(4902) => [
+ q(4929) => [
q(Njyem),
],
- q(4903) => [
+ q(4930) => [
q(Nyishi),
],
- q(4904) => [
+ q(4931) => [
q(Nkoya),
],
- q(4905) => [
+ q(4932) => [
q(Khoibu Naga),
],
- q(4906) => [
+ q(4933) => [
q(Nkongho),
],
- q(4907) => [
+ q(4934) => [
q(Koireng),
],
- q(4908) => [
+ q(4935) => [
q(Duke),
],
- q(4909) => [
+ q(4936) => [
q(Inpui Naga),
],
- q(4910) => [
+ q(4937) => [
q(Nekgini),
],
- q(4911) => [
+ q(4938) => [
q(Khezha Naga),
],
- q(4912) => [
+ q(4939) => [
q(Thangal Naga),
],
- q(4913) => [
+ q(4940) => [
q(Nakai),
],
- q(4914) => [
+ q(4941) => [
q(Nokuku),
],
- q(4915) => [
+ q(4942) => [
q(Namat),
],
- q(4916) => [
+ q(4943) => [
q(Nkangala),
],
- q(4917) => [
+ q(4944) => [
q(Nkonya),
],
- q(4918) => [
+ q(4945) => [
q(Niuatoputapu),
],
- q(4919) => [
+ q(4946) => [
q(Nkami),
],
- q(4920) => [
+ q(4947) => [
q(Nukuoro),
],
- q(4921) => [
+ q(4948) => [
q(North Asmat),
],
- q(4922) => [
+ q(4949) => [
q(Nyika (Tanzania)),
],
- q(4923) => [
+ q(4950) => [
q(Bouna Kulango),
],
- q(4924) => [
+ q(4951) => [
q(Nyika (Malawi and Zambia)),
],
- q(4925) => [
+ q(4952) => [
q(Nkutu),
],
- q(4926) => [
+ q(4953) => [
q(Nkoroo),
],
- q(4927) => [
+ q(4954) => [
q(Nkari),
],
- q(4928) => [
+ q(4955) => [
q(Ngombale),
],
- q(4929) => [
+ q(4956) => [
q(Nalca),
],
- q(4930) => [
+ q(4957) => [
q(East Nyala),
],
- q(4931) => [
+ q(4958) => [
q(Gela),
],
- q(4932) => [
+ q(4959) => [
q(Grangali),
],
- q(4933) => [
+ q(4960) => [
q(Nyali),
],
- q(4934) => [
+ q(4961) => [
q(Ninia Yali),
],
- q(4935) => [
+ q(4962) => [
q(Nihali),
],
- q(4936) => [
+ q(4963) => [
q(Ngul),
],
- q(4937) => [
- q(Ngarla),
+ q(4964) => [
+ q(Lao Naga),
],
- q(4938) => [
+ q(4965) => [
q(Nchumbulu),
],
- q(4939) => [
+ q(4966) => [
q(Orizaba Nahuatl),
],
- q(4940) => [
+ q(4967) => [
+ q(Walangama),
+ ],
+ q(4968) => [
q(Nahali),
],
- q(4941) => [
+ q(4969) => [
q(Nyamal),
],
- q(4942) => [
+ q(4970) => [
q(Nalogo),
],
- q(4943) => [
+ q(4971) => [
q(Maram Naga),
],
- q(4944) => [
+ q(4972) => [
q(Big Nambas),
q(V'enen Taut),
],
- q(4945) => [
+ q(4973) => [
q(Ngam),
],
- q(4946) => [
+ q(4974) => [
q(Ndumu),
],
- q(4947) => [
+ q(4975) => [
q(Mzieme Naga),
],
- q(4948) => [
+ q(4976) => [
q(Tangkhul Naga (India)),
],
- q(4949) => [
+ q(4977) => [
q(Kwasio),
],
- q(4950) => [
+ q(4978) => [
q(Monsang Naga),
],
- q(4951) => [
+ q(4979) => [
q(Nyam),
],
- q(4952) => [
+ q(4980) => [
q(Ngombe (Central African Republic)),
],
- q(4953) => [
+ q(4981) => [
q(Namakura),
],
- q(4954) => [
+ q(4982) => [
q(Ndemli),
],
- q(4955) => [
+ q(4983) => [
q(Manangba),
],
- q(4956) => [
+ q(4984) => [
q(!Xoo),
],
- q(4957) => [
+ q(4985) => [
q(Moyon Naga),
],
- q(4958) => [
+ q(4986) => [
q(Nimanbur),
],
- q(4959) => [
+ q(4987) => [
q(Nambya),
],
- q(4960) => [
+ q(4988) => [
q(Nimbari),
],
- q(4961) => [
+ q(4989) => [
q(Letemboi),
],
- q(4962) => [
+ q(4990) => [
q(Namonuito),
],
- q(4963) => [
+ q(4991) => [
q(Northeast Maidu),
],
- q(4964) => [
+ q(4992) => [
q(Ngamini),
],
- q(4965) => [
+ q(4993) => [
q(Nimoa),
],
- q(4966) => [
+ q(4994) => [
q(Nama (Papua New Guinea)),
],
- q(4967) => [
+ q(4995) => [
q(Namuyi),
],
- q(4968) => [
+ q(4996) => [
q(Nawdm),
],
- q(4969) => [
+ q(4997) => [
q(Nyangumarta),
],
- q(4970) => [
+ q(4998) => [
q(Nande),
],
- q(4971) => [
+ q(4999) => [
q(Nancere),
],
- q(4972) => [
+ q(5000) => [
q(West Ambae),
],
- q(4973) => [
+ q(5001) => [
q(Ngandyera),
],
- q(4974) => [
+ q(5002) => [
q(Ngaing),
],
- q(4975) => [
+ q(5003) => [
q(Maring Naga),
],
- q(4976) => [
+ q(5004) => [
q(Ngiemboon),
],
- q(4977) => [
+ q(5005) => [
q(North Nuaulu),
],
- q(4978) => [
+ q(5006) => [
q(Nyangatom),
],
- q(4979) => [
+ q(5007) => [
q(Nankina),
],
- q(4980) => [
+ q(5008) => [
q(Northern Rengma Naga),
],
- q(4981) => [
+ q(5009) => [
q(Namia),
],
- q(4982) => [
+ q(5010) => [
q(Ngete),
],
- q(4983) => [
+ q(5011) => [
q(Wancho Naga),
],
- q(4984) => [
+ q(5012) => [
q(Ngindo),
],
- q(4985) => [
+ q(5013) => [
q(Narungga),
],
- q(4986) => [
+ q(5014) => [
q(Ningye),
],
- q(4987) => [
+ q(5015) => [
q(Nanticoke),
],
- q(4988) => [
+ q(5016) => [
q(Dwang),
],
- q(4989) => [
+ q(5017) => [
q(Nugunu (Australia)),
],
- q(4990) => [
+ q(5018) => [
q(Southern Nuni),
],
- q(4991) => [
+ q(5019) => [
q(Ngong),
],
- q(4992) => [
+ q(5020) => [
q(Nyangga),
],
- q(4993) => [
+ q(5021) => [
q(Nda'nda'),
],
- q(4994) => [
+ q(5022) => [
q(Woun Meu),
],
- q(4995) => [
+ q(5023) => [
q(Nuk),
],
- q(4996) => [
+ q(5024) => [
q(Northern Thai),
],
- q(4997) => [
+ q(5025) => [
q(Nimadi),
],
- q(4998) => [
+ q(5026) => [
q(Nomane),
],
- q(4999) => [
+ q(5027) => [
q(Nomu),
],
- q(5000) => [
+ q(5028) => [
q(Noiri),
],
- q(5001) => [
+ q(5029) => [
q(Nonuya),
],
- q(5002) => [
+ q(5030) => [
q(Nooksack),
],
- q(5003) => [
+ q(5031) => [
+ q(Nomlaki),
+ ],
+ q(5032) => [
q(Nocaman),
],
- q(5004) => [
+ q(5033) => [
q(Numanggang),
],
- q(5005) => [
+ q(5034) => [
q(Ngongo),
],
- q(5006) => [
+ q(5035) => [
q(Eastern Nisu),
],
- q(5007) => [
+ q(5036) => [
q(Nomatsiguenga),
],
- q(5008) => [
+ q(5037) => [
q(Ewage-Notu),
],
- q(5009) => [
+ q(5038) => [
q(Novial),
],
- q(5010) => [
+ q(5039) => [
q(Nyambo),
],
- q(5011) => [
+ q(5040) => [
q(Noy),
],
- q(5012) => [
+ q(5041) => [
q(Nayi),
],
- q(5013) => [
+ q(5042) => [
q(Nar Phu),
],
- q(5014) => [
+ q(5043) => [
q(Nupbikha),
],
- q(5015) => [
+ q(5044) => [
q(Ponyo-Gongwang Naga),
],
- q(5016) => [
+ q(5045) => [
q(Phom Naga),
],
- q(5017) => [
+ q(5046) => [
q(Nepali (individual language)),
],
- q(5018) => [
+ q(5047) => [
q(Southeastern Puebla Nahuatl),
],
- q(5019) => [
+ q(5048) => [
q(Mondropolon),
],
- q(5020) => [
+ q(5049) => [
q(Pochuri Naga),
],
- q(5021) => [
+ q(5050) => [
q(Nipsan),
],
- q(5022) => [
+ q(5051) => [
q(Puimei Naga),
],
- q(5023) => [
+ q(5052) => [
q(Napu),
],
- q(5024) => [
+ q(5053) => [
q(Southern Nago),
],
- q(5025) => [
+ q(5054) => [
q(Kura Ede Nago),
],
- q(5026) => [
+ q(5055) => [
q(Ndom),
],
- q(5027) => [
+ q(5056) => [
q(Nen),
],
- q(5028) => [
+ q(5057) => [
+ q(Kyan-Karyaw Naga),
+ ],
+ q(5058) => [
q(Akyaung Ari Naga),
],
- q(5029) => [
+ q(5059) => [
q(Ngom),
],
- q(5030) => [
+ q(5060) => [
q(Nara),
],
- q(5031) => [
+ q(5061) => [
q(Noric),
],
- q(5032) => [
+ q(5062) => [
q(Southern Rengma Naga),
],
- q(5033) => [
+ q(5063) => [
q(Narango),
],
- q(5034) => [
+ q(5064) => [
q(Chokri Naga),
],
- q(5035) => [
+ q(5065) => [
+ q(Ngarla),
+ ],
+ q(5066) => [
q(Ngarluma),
],
- q(5036) => [
+ q(5067) => [
q(Narom),
],
- q(5037) => [
+ q(5068) => [
q(Norn),
],
- q(5038) => [
+ q(5069) => [
q(North Picene),
],
- q(5039) => [
+ q(5070) => [
q(Norra),
+ q(Nora),
],
- q(5040) => [
+ q(5071) => [
q(Northern Kalapuya),
],
- q(5041) => [
+ q(5072) => [
q(Narua),
],
- q(5042) => [
+ q(5073) => [
q(Ngurmbur),
],
- q(5043) => [
+ q(5074) => [
q(Lala),
],
- q(5044) => [
+ q(5075) => [
q(Sangtam Naga),
],
- q(5045) => [
+ q(5076) => [
q(Nshi),
],
- q(5046) => [
+ q(5077) => [
q(Southern Nisu),
],
- q(5047) => [
+ q(5078) => [
q(Nsenga),
],
- q(5048) => [
+ q(5079) => [
q(Northwestern Nisu),
],
- q(5049) => [
+ q(5080) => [
q(Ngasa),
],
- q(5050) => [
+ q(5081) => [
q(Ngoshie),
],
- q(5051) => [
+ q(5082) => [
q(Nigerian Sign Language),
],
- q(5052) => [
+ q(5083) => [
q(Naskapi),
],
- q(5053) => [
+ q(5084) => [
q(Norwegian Sign Language),
],
- q(5054) => [
+ q(5085) => [
q(Sumi Naga),
],
- q(5055) => [
+ q(5086) => [
q(Nehan),
],
- q(5056) => [
+ q(5087) => [
q(Nepalese Sign Language),
],
- q(5057) => [
+ q(5088) => [
q(Northern Sierra Miwok),
],
- q(5058) => [
+ q(5089) => [
q(Maritime Sign Language),
],
- q(5059) => [
+ q(5090) => [
q(Nali),
],
- q(5060) => [
+ q(5091) => [
q(Tase Naga),
],
- q(5061) => [
+ q(5092) => [
q(Sierra Negra Nahuatl),
],
- q(5062) => [
+ q(5093) => [
q(Southwestern Nisu),
],
- q(5063) => [
+ q(5094) => [
q(Navut),
],
- q(5064) => [
+ q(5095) => [
q(Nsongo),
],
- q(5065) => [
+ q(5096) => [
q(Nasal),
],
- q(5066) => [
+ q(5097) => [
q(Nisenan),
],
- q(5067) => [
+ q(5098) => [
q(Nathembo),
],
- q(5068) => [
+ q(5099) => [
+ q(Ngantangarra),
+ ],
+ q(5100) => [
q(Natioro),
],
- q(5069) => [
+ q(5101) => [
q(Ngaanyatjarra),
],
- q(5070) => [
+ q(5102) => [
q(Ikoma-Nata-Isenye),
],
- q(5071) => [
+ q(5103) => [
q(Nateni),
],
- q(5072) => [
+ q(5104) => [
q(Ntomba),
],
- q(5073) => [
+ q(5105) => [
q(Northern Tepehuan),
],
- q(5074) => [
+ q(5106) => [
q(Delo),
],
- q(5075) => [
+ q(5107) => [
q(Natagaimas),
],
- q(5076) => [
+ q(5108) => [
q(Natugu),
],
- q(5077) => [
+ q(5109) => [
q(Nottoway),
],
- q(5078) => [
+ q(5110) => [
q(Tangkhul Naga (Myanmar)),
],
- q(5079) => [
+ q(5111) => [
q(Mantsi),
],
- q(5080) => [
+ q(5112) => [
q(Natanzi),
],
- q(5081) => [
- q(Yuaga),
+ q(5113) => [
+ q(Yuanga),
],
- q(5082) => [
+ q(5114) => [
q(Nukuini),
],
- q(5083) => [
+ q(5115) => [
q(Ngala),
],
- q(5084) => [
+ q(5116) => [
q(Ngundu),
],
- q(5085) => [
+ q(5117) => [
q(Nusu),
],
- q(5086) => [
+ q(5118) => [
q(Nungali),
],
- q(5087) => [
+ q(5119) => [
q(Ndunda),
],
- q(5088) => [
+ q(5120) => [
q(Ngumbi),
],
- q(5089) => [
+ q(5121) => [
q(Nyole),
],
- q(5090) => [
+ q(5122) => [
q(Nuu-chah-nulth),
q(Nuuchahnulth),
],
- q(5091) => [
+ q(5123) => [
q(Nusa Laut),
],
- q(5092) => [
+ q(5124) => [
q(Niuafo'ou),
],
- q(5093) => [
+ q(5125) => [
q(Anong),
],
- q(5094) => [
+ q(5126) => [
q(Nguon),
],
- q(5095) => [
+ q(5127) => [
q(Nupe-Nupe-Tako),
],
- q(5096) => [
+ q(5128) => [
q(Nukumanu),
],
- q(5097) => [
+ q(5129) => [
q(Nukuria),
],
- q(5098) => [
+ q(5130) => [
q(Nuer),
],
- q(5099) => [
+ q(5131) => [
q(Nung (Viet Nam)),
],
- q(5100) => [
+ q(5132) => [
q(Ngbundu),
],
- q(5101) => [
+ q(5133) => [
q(Northern Nuni),
],
- q(5102) => [
+ q(5134) => [
q(Nguluwan),
],
- q(5103) => [
+ q(5135) => [
q(Mehek),
],
- q(5104) => [
+ q(5136) => [
q(Nunggubuyu),
],
- q(5105) => [
+ q(5137) => [
q(Tlamacazapa Nahuatl),
],
- q(5106) => [
+ q(5138) => [
q(Nasarian),
],
- q(5107) => [
+ q(5139) => [
q(Namiae),
],
- q(5108) => [
+ q(5140) => [
q(Nyokon),
],
- q(5109) => [
+ q(5141) => [
q(Nawathinehena),
],
- q(5110) => [
+ q(5142) => [
q(Nyabwa),
],
- q(5111) => [
+ q(5143) => [
q(Ngwe),
],
- q(5112) => [
+ q(5144) => [
q(Ngayawung),
],
- q(5113) => [
+ q(5145) => [
q(Southwest Tanna),
],
- q(5114) => [
+ q(5146) => [
q(Nyamusa-Molo),
],
- q(5115) => [
+ q(5147) => [
q(Nauo),
],
- q(5116) => [
+ q(5148) => [
q(Nawaru),
],
- q(5117) => [
+ q(5149) => [
q(Middle Newar),
],
- q(5118) => [
+ q(5150) => [
q(Nottoway-Meherrin),
],
- q(5119) => [
+ q(5151) => [
q(Nauete),
],
- q(5120) => [
+ q(5152) => [
q(Ngando (Democratic Republic of Congo)),
],
- q(5121) => [
+ q(5153) => [
q(Nage),
],
- q(5122) => [
+ q(5154) => [
q(Ngad'a),
],
- q(5123) => [
+ q(5155) => [
q(Nindi),
],
- q(5124) => [
+ q(5156) => [
q(Koki Naga),
],
- q(5125) => [
+ q(5157) => [
q(South Nuaulu),
],
- q(5126) => [
+ q(5158) => [
q(Numidian),
],
- q(5127) => [
+ q(5159) => [
q(Ngawun),
],
- q(5128) => [
+ q(5160) => [
q(Naxi),
],
- q(5129) => [
+ q(5161) => [
q(Ninggerum),
],
- q(5130) => [
+ q(5162) => [
q(Narau),
],
- q(5131) => [
+ q(5163) => [
q(Nafri),
],
- q(5132) => [
+ q(5164) => [
q(Nyangbo),
],
- q(5133) => [
+ q(5165) => [
q(Nyanga-li),
],
- q(5134) => [
+ q(5166) => [
q(Nyore),
q(Olunyole),
],
- q(5135) => [
+ q(5167) => [
q(Nyengo),
],
- q(5136) => [
+ q(5168) => [
q(Giryama),
q(Kigiryama),
],
- q(5137) => [
+ q(5169) => [
q(Nyindu),
],
- q(5138) => [
+ q(5170) => [
q(Nyigina),
],
- q(5139) => [
+ q(5171) => [
q(Ama (Sudan)),
],
- q(5140) => [
+ q(5172) => [
q(Nyanga),
],
- q(5141) => [
+ q(5173) => [
q(Nyaneka),
],
- q(5142) => [
+ q(5174) => [
q(Nyeu),
],
- q(5143) => [
+ q(5175) => [
q(Nyang'i),
],
- q(5144) => [
+ q(5176) => [
q(Nayini),
],
- q(5145) => [
+ q(5177) => [
q(Nyiha (Malawi)),
],
- q(5146) => [
+ q(5178) => [
q(Nyunga),
],
- q(5147) => [
+ q(5179) => [
q(Nyawaygi),
],
- q(5148) => [
+ q(5180) => [
q(Nyungwe),
],
- q(5149) => [
+ q(5181) => [
q(Nyulnyul),
],
- q(5150) => [
+ q(5182) => [
q(Nyaw),
],
- q(5151) => [
+ q(5183) => [
q(Nganyaywana),
],
- q(5152) => [
+ q(5184) => [
q(Nyakyusa-Ngonde),
],
- q(5153) => [
+ q(5185) => [
q(Tigon Mbembe),
],
- q(5154) => [
+ q(5186) => [
q(Njebi),
],
- q(5155) => [
+ q(5187) => [
q(Nzakara),
],
- q(5156) => [
+ q(5188) => [
q(Zeme Naga),
],
- q(5157) => [
+ q(5189) => [
q(New Zealand Sign Language),
],
- q(5158) => [
+ q(5190) => [
q(Teke-Nzikou),
],
- q(5159) => [
+ q(5191) => [
q(Nzakambay),
],
- q(5160) => [
+ q(5192) => [
q(Nanga Dama Dogon),
],
- q(5161) => [
+ q(5193) => [
q(Orok),
],
- q(5162) => [
+ q(5194) => [
q(Oroch),
],
- q(5163) => [
+ q(5195) => [
q(Old Aramaic (up to 700 BCE)),
q(Ancient Aramaic (up to 700 BCE)),
],
- q(5164) => [
+ q(5196) => [
q(Old Avar),
],
- q(5165) => [
+ q(5197) => [
q(Obispeno),
],
- q(5166) => [
+ q(5198) => [
q(Southern Bontok),
],
- q(5167) => [
+ q(5199) => [
q(Oblo),
],
- q(5168) => [
+ q(5200) => [
q(Moabite),
],
- q(5169) => [
+ q(5201) => [
q(Obo Manobo),
],
- q(5170) => [
+ q(5202) => [
q(Old Burmese),
],
- q(5171) => [
+ q(5203) => [
q(Old Breton),
],
- q(5172) => [
+ q(5204) => [
q(Obulom),
],
- q(5173) => [
+ q(5205) => [
q(Ocaina),
],
- q(5174) => [
+ q(5206) => [
q(Old Chinese),
],
- q(5175) => [
+ q(5207) => [
q(Old Cornish),
],
- q(5176) => [
+ q(5208) => [
q(Atzingo Matlatzinca),
],
- q(5177) => [
+ q(5209) => [
q(Odut),
],
- q(5178) => [
+ q(5210) => [
q(Od),
],
- q(5179) => [
+ q(5211) => [
q(Old Dutch),
],
- q(5180) => [
+ q(5212) => [
q(Odual),
],
- q(5181) => [
+ q(5213) => [
q(Ofo),
],
- q(5182) => [
+ q(5214) => [
q(Old Frisian),
],
- q(5183) => [
+ q(5215) => [
q(Efutop),
],
- q(5184) => [
+ q(5216) => [
q(Ogbia),
],
- q(5185) => [
+ q(5217) => [
q(Ogbah),
],
- q(5186) => [
+ q(5218) => [
q(Old Georgian),
],
- q(5187) => [
+ q(5219) => [
q(Ogbogolo),
],
- q(5188) => [
+ q(5220) => [
q(Khana),
],
- q(5189) => [
+ q(5221) => [
q(Ogbronuagum),
],
- q(5190) => [
+ q(5222) => [
q(Old Hittite),
],
- q(5191) => [
+ q(5223) => [
q(Old Hungarian),
],
- q(5192) => [
+ q(5224) => [
q(Oirata),
],
- q(5193) => [
+ q(5225) => [
q(Inebu One),
],
- q(5194) => [
+ q(5226) => [
q(Northwestern Ojibwa),
],
- q(5195) => [
+ q(5227) => [
q(Central Ojibwa),
],
- q(5196) => [
+ q(5228) => [
q(Eastern Ojibwa),
],
- q(5197) => [
+ q(5229) => [
q(Old Japanese),
],
- q(5198) => [
+ q(5230) => [
q(Severn Ojibwa),
],
- q(5199) => [
+ q(5231) => [
q(Ontong Java),
],
- q(5200) => [
+ q(5232) => [
q(Western Ojibwa),
],
- q(5201) => [
+ q(5233) => [
q(Okanagan),
],
- q(5202) => [
+ q(5234) => [
q(Okobo),
],
- q(5203) => [
+ q(5235) => [
q(Okodia),
],
- q(5204) => [
+ q(5236) => [
q(Okpe (Southwestern Edo)),
],
- q(5205) => [
+ q(5237) => [
q(Koko Babangk),
],
- q(5206) => [
+ q(5238) => [
q(Koresh-e Rostam),
],
- q(5207) => [
+ q(5239) => [
q(Okiek),
],
- q(5208) => [
+ q(5240) => [
q(Oko-Juwoi),
],
- q(5209) => [
+ q(5241) => [
q(Kwamtim One),
],
- q(5210) => [
+ q(5242) => [
q(Old Kentish Sign Language),
],
- q(5211) => [
+ q(5243) => [
q(Middle Korean (10th-16th cent.)),
],
- q(5212) => [
+ q(5244) => [
q(Oki-No-Erabu),
],
- q(5213) => [
+ q(5245) => [
q(Old Korean (3rd-9th cent.)),
],
- q(5214) => [
+ q(5246) => [
q(Kirike),
],
- q(5215) => [
+ q(5247) => [
q(Oko-Eni-Osayen),
],
- q(5216) => [
+ q(5248) => [
q(Oku),
],
- q(5217) => [
+ q(5249) => [
q(Orokaiva),
],
- q(5218) => [
+ q(5250) => [
q(Okpe (Northwestern Edo)),
],
- q(5219) => [
+ q(5251) => [
q(Walungge),
],
- q(5220) => [
+ q(5252) => [
q(Mochi),
],
- q(5221) => [
+ q(5253) => [
q(Olekha),
],
- q(5222) => [
+ q(5254) => [
+ q(Olkol),
+ ],
+ q(5255) => [
q(Oloma),
],
- q(5223) => [
+ q(5256) => [
q(Livvi),
],
- q(5224) => [
+ q(5257) => [
q(Olrat),
],
- q(5225) => [
+ q(5258) => [
q(Omaha-Ponca),
],
- q(5226) => [
+ q(5259) => [
q(East Ambae),
],
- q(5227) => [
+ q(5260) => [
q(Mochica),
],
- q(5228) => [
+ q(5261) => [
q(Omejes),
],
- q(5229) => [
+ q(5262) => [
q(Omagua),
],
- q(5230) => [
+ q(5263) => [
q(Omi),
],
- q(5231) => [
+ q(5264) => [
q(Omok),
],
- q(5232) => [
+ q(5265) => [
q(Ombo),
],
- q(5233) => [
+ q(5266) => [
q(Minoan),
],
- q(5234) => [
+ q(5267) => [
q(Utarmbung),
],
- q(5235) => [
+ q(5268) => [
q(Old Manipuri),
],
- q(5236) => [
+ q(5269) => [
q(Old Marathi),
],
- q(5237) => [
+ q(5270) => [
q(Omotik),
],
- q(5238) => [
+ q(5271) => [
q(Omurano),
],
- q(5239) => [
+ q(5272) => [
q(South Tairora),
],
- q(5240) => [
+ q(5273) => [
q(Old Mon),
],
- q(5241) => [
+ q(5274) => [
q(Ona),
],
- q(5242) => [
+ q(5275) => [
q(Lingao),
],
- q(5243) => [
+ q(5276) => [
q(Oneida),
],
- q(5244) => [
+ q(5277) => [
q(Olo),
],
- q(5245) => [
+ q(5278) => [
q(Onin),
],
- q(5246) => [
+ q(5279) => [
q(Onjob),
],
- q(5247) => [
+ q(5280) => [
q(Kabore One),
],
- q(5248) => [
+ q(5281) => [
q(Onobasulu),
],
- q(5249) => [
+ q(5282) => [
q(Onondaga),
],
- q(5250) => [
+ q(5283) => [
q(Sartang),
],
- q(5251) => [
+ q(5284) => [
q(Northern One),
],
- q(5252) => [
+ q(5285) => [
q(Ono),
],
- q(5253) => [
+ q(5286) => [
q(Ontenu),
],
- q(5254) => [
+ q(5287) => [
q(Unua),
],
- q(5255) => [
+ q(5288) => [
q(Old Nubian),
],
- q(5256) => [
+ q(5289) => [
q(Onin Based Pidgin),
],
- q(5257) => [
+ q(5290) => [
q(Tohono O'odham),
],
- q(5258) => [
+ q(5291) => [
q(Ong),
],
- q(5259) => [
+ q(5292) => [
q(Onge),
],
- q(5260) => [
+ q(5293) => [
q(Oorlams),
],
- q(5261) => [
+ q(5294) => [
q(Old Ossetic),
],
- q(5262) => [
+ q(5295) => [
q(Okpamheri),
],
- q(5263) => [
+ q(5296) => [
q(Kopkaka),
],
- q(5264) => [
+ q(5297) => [
q(Oksapmin),
],
- q(5265) => [
+ q(5298) => [
q(Opao),
],
- q(5266) => [
+ q(5299) => [
q(Opata),
],
- q(5267) => [
+ q(5300) => [
q(Ofaye),
],
- q(5268) => [
+ q(5301) => [
q(Oroha),
],
- q(5269) => [
+ q(5302) => [
q(Orma),
],
- q(5270) => [
+ q(5303) => [
q(Orejon),
],
- q(5271) => [
+ q(5304) => [
q(Oring),
],
- q(5272) => [
+ q(5305) => [
q(Oroqen),
],
- q(5273) => [
+ q(5306) => [
q(Orang Kanaq),
],
- q(5274) => [
+ q(5307) => [
q(Orokolo),
],
- q(5275) => [
+ q(5308) => [
q(Oruma),
],
- q(5276) => [
+ q(5309) => [
q(Orang Seletar),
],
- q(5277) => [
+ q(5310) => [
q(Adivasi Oriya),
],
- q(5278) => [
+ q(5311) => [
q(Ormuri),
],
- q(5279) => [
+ q(5312) => [
q(Old Russian),
],
- q(5280) => [
+ q(5313) => [
q(Oro Win),
],
- q(5281) => [
+ q(5314) => [
q(Oro),
],
- q(5282) => [
+ q(5315) => [
q(Oriya (individual language)),
],
- q(5283) => [
+ q(5316) => [
q(Ormu),
],
- q(5284) => [
+ q(5317) => [
q(Oscan),
],
- q(5285) => [
+ q(5318) => [
q(Osing),
],
- q(5286) => [
+ q(5319) => [
q(Ososo),
],
- q(5287) => [
+ q(5320) => [
q(Old Spanish),
],
- q(5288) => [
+ q(5321) => [
q(Osatu),
],
- q(5289) => [
+ q(5322) => [
q(Southern One),
],
- q(5290) => [
+ q(5323) => [
q(Old Saxon),
],
- q(5291) => [
+ q(5324) => [
q(Old Tibetan),
],
- q(5292) => [
+ q(5325) => [
q(Ot Danum),
],
- q(5293) => [
+ q(5326) => [
q(Mezquital Otomi),
],
- q(5294) => [
+ q(5327) => [
q(Oti),
],
- q(5295) => [
+ q(5328) => [
q(Old Turkish),
],
- q(5296) => [
+ q(5329) => [
q(Tilapa Otomi),
],
- q(5297) => [
+ q(5330) => [
q(Eastern Highland Otomi),
],
- q(5298) => [
+ q(5331) => [
q(Tenango Otomi),
],
- q(5299) => [
+ q(5332) => [
q(Queretaro Otomi),
],
- q(5300) => [
+ q(5333) => [
q(Otoro),
],
- q(5301) => [
+ q(5334) => [
q(Estado de Mexico Otomi),
],
- q(5302) => [
+ q(5335) => [
q(Temoaya Otomi),
],
- q(5303) => [
+ q(5336) => [
q(Otuke),
],
- q(5304) => [
+ q(5337) => [
q(Ottawa),
],
- q(5305) => [
+ q(5338) => [
q(Texcatepec Otomi),
],
- q(5306) => [
+ q(5339) => [
q(Old Tamil),
],
- q(5307) => [
+ q(5340) => [
q(Ixtenco Otomi),
],
- q(5308) => [
+ q(5341) => [
q(Tagargrent),
],
- q(5309) => [
+ q(5342) => [
q(Glio-Oubi),
],
- q(5310) => [
+ q(5343) => [
q(Oune),
],
- q(5311) => [
+ q(5344) => [
q(Old Uighur),
],
- q(5312) => [
+ q(5345) => [
q(Ouma),
],
- q(5313) => [
+ q(5346) => [
q(!O!ung),
],
- q(5314) => [
+ q(5347) => [
q(Owiniga),
],
- q(5315) => [
+ q(5348) => [
q(Old Welsh),
],
- q(5316) => [
+ q(5349) => [
q(Oy),
],
- q(5317) => [
+ q(5350) => [
q(Oyda),
],
- q(5318) => [
+ q(5351) => [
q(Wayampi),
],
- q(5319) => [
+ q(5352) => [
q(Oya'oya),
],
- q(5320) => [
+ q(5353) => [
q(Koonzime),
],
- q(5321) => [
+ q(5354) => [
q(Parecis),
],
- q(5322) => [
+ q(5355) => [
q(Pacoh),
],
- q(5323) => [
+ q(5356) => [
q(Paumari),
],
- q(5324) => [
+ q(5357) => [
q(Pagibete),
],
- q(5325) => [
+ q(5358) => [
q(Paranawat),
],
- q(5326) => [
+ q(5359) => [
q(Tenharim),
],
- q(5327) => [
+ q(5360) => [
q(Pe),
],
- q(5328) => [
+ q(5361) => [
q(Parakana),
],
- q(5329) => [
+ q(5362) => [
q(Northern Paiute),
],
- q(5330) => [
+ q(5363) => [
q(Parya),
],
- q(5331) => [
+ q(5364) => [
q(Panamint),
q(Timbisha),
],
- q(5332) => [
+ q(5365) => [
q(Papasena),
],
- q(5333) => [
+ q(5366) => [
q(Papitalai),
],
- q(5334) => [
+ q(5367) => [
q(Pakaasnovos),
],
- q(5335) => [
+ q(5368) => [
q(Pawnee),
],
- q(5336) => [
+ q(5369) => [
q(Pankarare),
],
- q(5337) => [
+ q(5370) => [
q(Pech),
],
- q(5338) => [
+ q(5371) => [
q(Pankararu),
],
- q(5339) => [
+ q(5372) => [
q(Paez),
],
- q(5340) => [
+ q(5373) => [
q(Patamona),
],
- q(5341) => [
+ q(5374) => [
q(Mezontla Popoloca),
],
- q(5342) => [
+ q(5375) => [
q(Coyotepec Popoloca),
],
- q(5343) => [
+ q(5376) => [
q(Paraujano),
],
- q(5344) => [
+ q(5377) => [
q(E'napa Woromaipu),
],
- q(5345) => [
+ q(5378) => [
q(Parkwa),
],
- q(5346) => [
+ q(5379) => [
q(Mak (Nigeria)),
],
- q(5347) => [
+ q(5380) => [
q(Kpasam),
],
- q(5348) => [
+ q(5381) => [
q(Papel),
],
- q(5349) => [
+ q(5382) => [
q(Badyara),
],
- q(5350) => [
+ q(5383) => [
q(Pangwa),
],
- q(5351) => [
+ q(5384) => [
q(Central Pame),
],
- q(5352) => [
+ q(5385) => [
q(Southern Pashto),
],
- q(5353) => [
+ q(5386) => [
q(Northern Pashto),
],
- q(5354) => [
+ q(5387) => [
q(Pnar),
],
- q(5355) => [
+ q(5388) => [
q(Pyu),
],
- q(5356) => [
+ q(5389) => [
q(Santa Ines Ahuatempan Popoloca),
],
- q(5357) => [
+ q(5390) => [
q(Pear),
],
- q(5358) => [
+ q(5391) => [
q(Bouyei),
],
- q(5359) => [
+ q(5392) => [
q(Picard),
],
- q(5360) => [
+ q(5393) => [
q(Ruching Palaung),
],
- q(5361) => [
+ q(5394) => [
q(Paliyan),
],
- q(5362) => [
+ q(5395) => [
q(Paniya),
],
- q(5363) => [
+ q(5396) => [
q(Pardhan),
],
- q(5364) => [
+ q(5397) => [
q(Duruwa),
],
- q(5365) => [
+ q(5398) => [
q(Parenga),
],
- q(5366) => [
+ q(5399) => [
q(Paite Chin),
],
- q(5367) => [
+ q(5400) => [
q(Pardhi),
],
- q(5368) => [
+ q(5401) => [
q(Nigerian Pidgin),
],
- q(5369) => [
+ q(5402) => [
q(Piti),
],
- q(5370) => [
+ q(5403) => [
q(Pacahuara),
],
- q(5371) => [
- q(Panang),
- ],
- q(5372) => [
+ q(5404) => [
q(Pyapun),
],
- q(5373) => [
+ q(5405) => [
q(Anam),
],
- q(5374) => [
+ q(5406) => [
q(Pennsylvania German),
],
- q(5375) => [
+ q(5407) => [
q(Pa Di),
],
- q(5376) => [
+ q(5408) => [
q(Podena),
q(Fedan),
],
- q(5377) => [
+ q(5409) => [
q(Padoe),
],
- q(5378) => [
+ q(5410) => [
q(Plautdietsch),
],
- q(5379) => [
+ q(5411) => [
q(Kayan),
],
- q(5380) => [
+ q(5412) => [
q(Peranakan Indonesian),
],
- q(5381) => [
+ q(5413) => [
q(Eastern Pomo),
],
- q(5382) => [
+ q(5414) => [
q(Mala (Papua New Guinea)),
],
- q(5383) => [
+ q(5415) => [
q(Taje),
],
- q(5384) => [
+ q(5416) => [
q(Northeastern Pomo),
],
- q(5385) => [
+ q(5417) => [
q(Pengo),
],
- q(5386) => [
+ q(5418) => [
q(Bonan),
],
- q(5387) => [
+ q(5419) => [
q(Chichimeca-Jonaz),
],
- q(5388) => [
+ q(5420) => [
q(Northern Pomo),
],
- q(5389) => [
+ q(5421) => [
q(Penchal),
],
- q(5390) => [
+ q(5422) => [
q(Pekal),
],
- q(5391) => [
+ q(5423) => [
q(Phende),
],
- q(5392) => [
+ q(5424) => [
q(Kunja),
],
- q(5393) => [
+ q(5425) => [
q(Southern Pomo),
],
- q(5394) => [
+ q(5426) => [
q(Iranian Persian),
],
- q(5395) => [
+ q(5427) => [
q(Pemono),
],
- q(5396) => [
+ q(5428) => [
q(Petats),
],
- q(5397) => [
+ q(5429) => [
q(Petjo),
],
- q(5398) => [
+ q(5430) => [
q(Eastern Penan),
],
- q(5399) => [
+ q(5431) => [
q(Paafang),
],
- q(5400) => [
+ q(5432) => [
q(Peere),
],
- q(5401) => [
+ q(5433) => [
q(Pfaelzisch),
],
- q(5402) => [
+ q(5434) => [
q(Sudanese Creole Arabic),
],
- q(5403) => [
+ q(5435) => [
q(Pangwali),
],
- q(5404) => [
+ q(5436) => [
q(Pagi),
],
- q(5405) => [
+ q(5437) => [
q(Rerep),
],
- q(5406) => [
+ q(5438) => [
q(Primitive Irish),
],
- q(5407) => [
+ q(5439) => [
q(Paelignian),
],
- q(5408) => [
+ q(5440) => [
q(Pangseng),
],
- q(5409) => [
+ q(5441) => [
q(Pagu),
],
- q(5410) => [
+ q(5442) => [
q(Pa-Hng),
],
- q(5411) => [
+ q(5443) => [
q(Phudagi),
],
- q(5412) => [
+ q(5444) => [
q(Phuong),
],
- q(5413) => [
+ q(5445) => [
q(Phukha),
],
- q(5414) => [
+ q(5446) => [
q(Phake),
],
- q(5415) => [
+ q(5447) => [
q(Phalura),
q(Palula),
],
- q(5416) => [
+ q(5448) => [
q(Phimbi),
],
- q(5417) => [
+ q(5449) => [
q(Phunoi),
],
- q(5418) => [
+ q(5450) => [
q(Phana'),
],
- q(5419) => [
+ q(5451) => [
q(Pahari-Potwari),
],
- q(5420) => [
+ q(5452) => [
q(Phu Thai),
],
- q(5421) => [
+ q(5453) => [
q(Phuan),
],
- q(5422) => [
+ q(5454) => [
q(Pahlavani),
],
- q(5423) => [
+ q(5455) => [
q(Phangduwali),
],
- q(5424) => [
+ q(5456) => [
q(Pima Bajo),
],
- q(5425) => [
+ q(5457) => [
q(Yine),
],
- q(5426) => [
+ q(5458) => [
q(Pinji),
],
- q(5427) => [
+ q(5459) => [
q(Piaroa),
],
- q(5428) => [
+ q(5460) => [
q(Piro),
],
- q(5429) => [
+ q(5461) => [
q(Pingelapese),
],
- q(5430) => [
+ q(5462) => [
q(Pisabo),
],
- q(5431) => [
+ q(5463) => [
q(Pitcairn-Norfolk),
],
- q(5432) => [
+ q(5464) => [
q(Pini),
],
- q(5433) => [
+ q(5465) => [
q(Pijao),
],
- q(5434) => [
+ q(5466) => [
q(Yom),
],
- q(5435) => [
+ q(5467) => [
q(Powhatan),
],
- q(5436) => [
+ q(5468) => [
q(Piame),
],
- q(5437) => [
+ q(5469) => [
q(Piapoco),
],
- q(5438) => [
+ q(5470) => [
q(Pero),
],
- q(5439) => [
+ q(5471) => [
q(Piratapuyo),
],
- q(5440) => [
+ q(5472) => [
q(Pijin),
],
- q(5441) => [
+ q(5473) => [
q(Pitta Pitta),
],
- q(5442) => [
+ q(5474) => [
q(Pintupi-Luritja),
],
- q(5443) => [
+ q(5475) => [
q(Pileni),
q(Vaeakau-Taumako),
],
- q(5444) => [
+ q(5476) => [
q(Pimbwe),
],
- q(5445) => [
+ q(5477) => [
q(Piu),
],
- q(5446) => [
+ q(5478) => [
q(Piya-Kwonci),
],
- q(5447) => [
+ q(5479) => [
q(Pije),
],
- q(5448) => [
+ q(5480) => [
q(Pitjantjatjara),
],
- q(5449) => [
+ q(5481) => [
q(Ardhamagadhi Prakrit),
],
- q(5450) => [
+ q(5482) => [
q(Pokomo),
q(Kipfokomo),
],
- q(5451) => [
+ q(5483) => [
q(Paekche),
],
- q(5452) => [
+ q(5484) => [
q(Pak-Tong),
],
- q(5453) => [
+ q(5485) => [
q(Pankhu),
],
- q(5454) => [
+ q(5486) => [
q(Pakanha),
],
- q(5455) => [
+ q(5487) => [
q(Pokoot),
],
- q(5456) => [
+ q(5488) => [
q(Pukapuka),
],
- q(5457) => [
+ q(5489) => [
q(Attapady Kurumba),
],
- q(5458) => [
+ q(5490) => [
q(Pakistan Sign Language),
],
- q(5459) => [
+ q(5491) => [
q(Maleng),
],
- q(5460) => [
+ q(5492) => [
q(Paku),
],
- q(5461) => [
+ q(5493) => [
q(Miani),
],
- q(5462) => [
+ q(5494) => [
q(Polonombauk),
],
- q(5463) => [
+ q(5495) => [
q(Central Palawano),
],
- q(5464) => [
+ q(5496) => [
q(Polari),
],
- q(5465) => [
+ q(5497) => [
q(Palu'e),
],
- q(5466) => [
+ q(5498) => [
q(Pilaga),
],
- q(5467) => [
+ q(5499) => [
q(Paulohi),
],
- q(5468) => [
+ q(5500) => [
q(Polci),
],
- q(5469) => [
+ q(5501) => [
q(Kohistani Shina),
],
- q(5470) => [
+ q(5502) => [
q(Shwe Palaung),
],
- q(5471) => [
+ q(5503) => [
q(Palenquero),
],
- q(5472) => [
+ q(5504) => [
q(Oluta Popoluca),
],
- q(5473) => [
+ q(5505) => [
q(Palpa),
],
- q(5474) => [
+ q(5506) => [
q(Palaic),
],
- q(5475) => [
+ q(5507) => [
q(Palaka Senoufo),
],
- q(5476) => [
+ q(5508) => [
q(San Marcos Tlalcoyalco Popoloca),
],
- q(5477) => [
+ q(5509) => [
q(Plateau Malagasy),
],
- q(5478) => [
+ q(5510) => [
q(Palikur),
],
- q(5479) => [
+ q(5511) => [
q(Southwest Palawano),
],
- q(5480) => [
+ q(5512) => [
q(Brooke's Point Palawano),
],
- q(5481) => [
+ q(5513) => [
q(Bolyu),
],
- q(5482) => [
+ q(5514) => [
q(Paluan),
],
- q(5483) => [
+ q(5515) => [
q(Paama),
],
- q(5484) => [
+ q(5516) => [
q(Pambia),
],
- q(5485) => [
+ q(5517) => [
q(Palumata),
],
- q(5486) => [
+ q(5518) => [
q(Pallanganmiddang),
],
- q(5487) => [
+ q(5519) => [
q(Pwaamei),
],
- q(5488) => [
+ q(5520) => [
q(Pamona),
],
- q(5489) => [
+ q(5521) => [
q(Maharastri Prakrit),
],
- q(5490) => [
+ q(5522) => [
q(Northern Pumi),
],
- q(5491) => [
+ q(5523) => [
q(Southern Pumi),
],
- q(5492) => [
+ q(5524) => [
q(Pamlico),
],
- q(5493) => [
+ q(5525) => [
q(Lingua Franca),
],
- q(5494) => [
+ q(5526) => [
q(Pomo),
],
- q(5495) => [
+ q(5527) => [
q(Pam),
],
- q(5496) => [
+ q(5528) => [
q(Pom),
],
- q(5497) => [
+ q(5529) => [
q(Northern Pame),
],
- q(5498) => [
+ q(5530) => [
q(Paynamar),
],
- q(5499) => [
+ q(5531) => [
q(Piemontese),
],
- q(5500) => [
+ q(5532) => [
q(Tuamotuan),
],
- q(5501) => [
+ q(5533) => [
q(Mirpur Panjabi),
],
- q(5502) => [
+ q(5534) => [
q(Plains Miwok),
],
- q(5503) => [
+ q(5535) => [
q(Poumei Naga),
],
- q(5504) => [
+ q(5536) => [
q(Papuan Malay),
],
- q(5505) => [
+ q(5537) => [
q(Southern Pame),
],
- q(5506) => [
+ q(5538) => [
q(Punan Bah-Biau),
],
- q(5507) => [
+ q(5539) => [
q(Western Panjabi),
],
- q(5508) => [
+ q(5540) => [
q(Pannei),
],
- q(5509) => [
+ q(5541) => [
q(Western Penan),
],
- q(5510) => [
+ q(5542) => [
q(Pongu),
],
- q(5511) => [
+ q(5543) => [
q(Penrhyn),
],
- q(5512) => [
+ q(5544) => [
q(Aoheng),
],
- q(5513) => [
+ q(5545) => [
+ q(Pinjarup),
+ ],
+ q(5546) => [
q(Paunaka),
],
- q(5514) => [
+ q(5547) => [
+ q(Paleni),
+ ],
+ q(5548) => [
q(Punan Batu 1),
],
- q(5515) => [
+ q(5549) => [
q(Pinai-Hagahai),
],
- q(5516) => [
+ q(5550) => [
q(Panobo),
],
- q(5517) => [
+ q(5551) => [
q(Pancana),
],
- q(5518) => [
+ q(5552) => [
q(Pana (Burkina Faso)),
],
- q(5519) => [
+ q(5553) => [
q(Panim),
],
- q(5520) => [
+ q(5554) => [
q(Ponosakan),
],
- q(5521) => [
+ q(5555) => [
q(Pontic),
],
- q(5522) => [
+ q(5556) => [
q(Jiongnai Bunu),
],
- q(5523) => [
+ q(5557) => [
q(Pinigura),
],
- q(5524) => [
+ q(5558) => [
q(Panytyima),
],
- q(5525) => [
+ q(5559) => [
q(Phong-Kniang),
],
- q(5526) => [
+ q(5560) => [
q(Pinyin),
],
- q(5527) => [
+ q(5561) => [
q(Pana (Central African Republic)),
],
- q(5528) => [
+ q(5562) => [
q(Poqomam),
],
- q(5529) => [
+ q(5563) => [
q(Ponares),
],
- q(5530) => [
+ q(5564) => [
q(San Juan Atzingo Popoloca),
],
- q(5531) => [
+ q(5565) => [
q(Poke),
],
- q(5532) => [
+ q(5566) => [
q(Potiguara),
],
- q(5533) => [
+ q(5567) => [
q(Poqomchi'),
],
- q(5534) => [
+ q(5568) => [
q(Highland Popoluca),
],
- q(5535) => [
+ q(5569) => [
q(Pokanga),
],
- q(5536) => [
+ q(5570) => [
q(Southeastern Pomo),
],
- q(5537) => [
+ q(5571) => [
q(Central Pomo),
],
- q(5538) => [
+ q(5572) => [
q(Pwapwa),
],
- q(5539) => [
+ q(5573) => [
q(Texistepec Popoluca),
],
- q(5540) => [
+ q(5574) => [
q(Sayula Popoluca),
],
- q(5541) => [
+ q(5575) => [
q(Potawatomi),
],
- q(5542) => [
+ q(5576) => [
q(Upper Guinea Crioulo),
],
- q(5543) => [
+ q(5577) => [
q(San Felipe Otlaltepec Popoloca),
],
- q(5544) => [
+ q(5578) => [
q(Polabian),
],
- q(5545) => [
+ q(5579) => [
q(Pogolo),
],
- q(5546) => [
+ q(5580) => [
q(Pao),
],
- q(5547) => [
+ q(5581) => [
q(Papi),
],
- q(5548) => [
+ q(5582) => [
q(Paipai),
],
- q(5549) => [
+ q(5583) => [
q(Uma),
],
- q(5550) => [
+ q(5584) => [
q(Pipil),
q(Nicarao),
],
- q(5551) => [
+ q(5585) => [
q(Papuma),
],
- q(5552) => [
+ q(5586) => [
q(Papapana),
],
- q(5553) => [
+ q(5587) => [
q(Folopa),
],
- q(5554) => [
+ q(5588) => [
q(Pelende),
],
- q(5555) => [
+ q(5589) => [
q(Pei),
],
- q(5556) => [
- q(Piru),
- ],
- q(5557) => [
+ q(5590) => [
q(San Luis Temalacayuca Popoloca),
],
- q(5558) => [
+ q(5591) => [
q(Pare),
],
- q(5559) => [
+ q(5592) => [
q(Papora),
],
- q(5560) => [
+ q(5593) => [
q(Pa'a),
],
- q(5561) => [
+ q(5594) => [
q(Malecite-Passamaquoddy),
],
- q(5562) => [
+ q(5595) => [
q(Lua'),
],
- q(5563) => [
+ q(5596) => [
q(Parachi),
],
- q(5564) => [
+ q(5597) => [
q(Parsi-Dari),
],
- q(5565) => [
+ q(5598) => [
q(Principense),
],
- q(5566) => [
+ q(5599) => [
q(Paranan),
],
- q(5567) => [
+ q(5600) => [
q(Prussian),
],
- q(5568) => [
+ q(5601) => [
q(Porohanon),
],
- q(5569) => [
+ q(5602) => [
q(Paici),
],
- q(5570) => [
+ q(5603) => [
q(Parauk),
],
- q(5571) => [
+ q(5604) => [
q(Peruvian Sign Language),
],
- q(5572) => [
+ q(5605) => [
q(Kibiri),
],
- q(5573) => [
+ q(5606) => [
q(Prasuni),
],
- q(5574) => [
+ q(5607) => [
q(Parsi),
],
- q(5575) => [
+ q(5608) => [
q(Asheninka Perene),
],
- q(5576) => [
+ q(5609) => [
q(Puri),
],
- q(5577) => [
+ q(5610) => [
q(Dari),
q(Afghan Persian),
],
- q(5578) => [
+ q(5611) => [
q(Phai),
],
- q(5579) => [
+ q(5612) => [
q(Puragi),
],
- q(5580) => [
+ q(5613) => [
q(Parawen),
],
- q(5581) => [
+ q(5614) => [
q(Purik),
],
- q(5582) => [
+ q(5615) => [
q(Pray 3),
],
- q(5583) => [
+ q(5616) => [
q(Providencia Sign Language),
],
- q(5584) => [
+ q(5617) => [
q(Asue Awyu),
],
- q(5585) => [
+ q(5618) => [
q(Persian Sign Language),
],
- q(5586) => [
+ q(5619) => [
q(Plains Indian Sign Language),
],
- q(5587) => [
+ q(5620) => [
q(Central Malay),
],
- q(5588) => [
+ q(5621) => [
q(Penang Sign Language),
],
- q(5589) => [
+ q(5622) => [
q(Southwest Pashayi),
],
- q(5590) => [
+ q(5623) => [
q(Southeast Pashayi),
],
- q(5591) => [
+ q(5624) => [
q(Puerto Rican Sign Language),
],
- q(5592) => [
+ q(5625) => [
q(Pauserna),
],
- q(5593) => [
+ q(5626) => [
q(Panasuan),
],
- q(5594) => [
+ q(5627) => [
q(Polish Sign Language),
],
- q(5595) => [
+ q(5628) => [
q(Philippine Sign Language),
],
- q(5596) => [
+ q(5629) => [
q(Pasi),
],
- q(5597) => [
+ q(5630) => [
q(Portuguese Sign Language),
],
- q(5598) => [
+ q(5631) => [
q(Kaulong),
],
- q(5599) => [
+ q(5632) => [
q(Central Pashto),
],
- q(5600) => [
+ q(5633) => [
q(Sauraseni Prakrit),
],
- q(5601) => [
+ q(5634) => [
q(Port Sandwich),
],
- q(5602) => [
+ q(5635) => [
q(Piscataway),
],
- q(5603) => [
+ q(5636) => [
q(Pai Tavytera),
],
- q(5604) => [
+ q(5637) => [
q(Pataxo Ha-Ha-Hae),
],
- q(5605) => [
+ q(5638) => [
q(Pintiini),
],
- q(5606) => [
+ q(5639) => [
q(Patani),
],
- q(5607) => [
+ q(5640) => [
q(Zo'e),
],
- q(5608) => [
+ q(5641) => [
q(Patep),
],
- q(5609) => [
+ q(5642) => [
q(Piamatsina),
],
- q(5610) => [
+ q(5643) => [
q(Enrekang),
],
- q(5611) => [
+ q(5644) => [
q(Bambam),
],
- q(5612) => [
+ q(5645) => [
q(Port Vato),
],
- q(5613) => [
+ q(5646) => [
q(Pentlatch),
],
- q(5614) => [
+ q(5647) => [
q(Pathiya),
],
- q(5615) => [
+ q(5648) => [
q(Western Highland Purepecha),
],
- q(5616) => [
+ q(5649) => [
q(Purum),
],
- q(5617) => [
+ q(5650) => [
q(Punan Merap),
],
- q(5618) => [
+ q(5651) => [
q(Punan Aput),
],
- q(5619) => [
+ q(5652) => [
q(Puelche),
],
- q(5620) => [
+ q(5653) => [
q(Punan Merah),
],
- q(5621) => [
+ q(5654) => [
q(Phuie),
],
- q(5622) => [
+ q(5655) => [
q(Puinave),
],
- q(5623) => [
+ q(5656) => [
q(Punan Tubu),
],
- q(5624) => [
+ q(5657) => [
q(Pu Ko),
],
- q(5625) => [
+ q(5658) => [
q(Puma),
],
- q(5626) => [
+ q(5659) => [
q(Puoc),
],
- q(5627) => [
+ q(5660) => [
q(Pulabu),
],
- q(5628) => [
+ q(5661) => [
q(Puquina),
],
- q(5629) => [
+ q(5662) => [
q(Purubora),
],
- q(5630) => [
+ q(5663) => [
q(Putoh),
],
- q(5631) => [
+ q(5664) => [
q(Punu),
],
- q(5632) => [
+ q(5665) => [
q(Puluwatese),
],
- q(5633) => [
+ q(5666) => [
q(Puare),
],
- q(5634) => [
+ q(5667) => [
q(Purisimeno),
],
- q(5635) => [
+ q(5668) => [
q(Purum Naga),
],
- q(5636) => [
+ q(5669) => [
q(Pawaia),
],
- q(5637) => [
+ q(5670) => [
q(Panawa),
],
- q(5638) => [
+ q(5671) => [
q(Gapapaiwa),
],
- q(5639) => [
+ q(5672) => [
+ q(Patwin),
+ ],
+ q(5673) => [
q(Molbog),
],
- q(5640) => [
+ q(5674) => [
q(Paiwan),
],
- q(5641) => [
+ q(5675) => [
q(Pwo Western Karen),
],
- q(5642) => [
+ q(5676) => [
q(Powari),
],
- q(5643) => [
+ q(5677) => [
q(Pwo Northern Karen),
],
- q(5644) => [
+ q(5678) => [
q(Quetzaltepec Mixe),
],
- q(5645) => [
+ q(5679) => [
q(Pye Krumen),
],
- q(5646) => [
+ q(5680) => [
q(Fyam),
],
- q(5647) => [
+ q(5681) => [
q(Poyanawa),
],
- q(5648) => [
+ q(5682) => [
q(Paraguayan Sign Language),
q(Lengua de Senas del Paraguay),
],
- q(5649) => [
+ q(5683) => [
q(Puyuma),
],
- q(5650) => [
+ q(5684) => [
q(Pyu (Myanmar)),
],
- q(5651) => [
+ q(5685) => [
q(Pyen),
],
- q(5652) => [
+ q(5686) => [
q(Para Naga),
],
- q(5653) => [
+ q(5687) => [
q(Quapaw),
],
- q(5654) => [
+ q(5688) => [
q(Huallaga Huanuco Quechua),
],
- q(5655) => [
+ q(5689) => [
q(K'iche'),
q(Quiche),
],
- q(5656) => [
+ q(5690) => [
q(Calderon Highland Quichua),
],
- q(5657) => [
+ q(5691) => [
q(Lambayeque Quechua),
],
- q(5658) => [
+ q(5692) => [
q(Chimborazo Highland Quichua),
],
- q(5659) => [
+ q(5693) => [
q(South Bolivian Quechua),
],
- q(5660) => [
+ q(5694) => [
q(Quileute),
],
- q(5661) => [
+ q(5695) => [
q(Chachapoyas Quechua),
],
- q(5662) => [
+ q(5696) => [
q(North Bolivian Quechua),
],
- q(5663) => [
+ q(5697) => [
q(Sipacapense),
],
- q(5664) => [
+ q(5698) => [
q(Quinault),
],
- q(5665) => [
+ q(5699) => [
q(Southern Pastaza Quechua),
],
- q(5666) => [
+ q(5700) => [
q(Quinqui),
],
- q(5667) => [
+ q(5701) => [
q(Yanahuanca Pasco Quechua),
],
- q(5668) => [
+ q(5702) => [
q(Santiago del Estero Quichua),
],
- q(5669) => [
+ q(5703) => [
q(Sacapulteco),
],
- q(5670) => [
+ q(5704) => [
q(Tena Lowland Quichua),
],
- q(5671) => [
+ q(5705) => [
q(Yauyos Quechua),
],
- q(5672) => [
+ q(5706) => [
q(Ayacucho Quechua),
],
- q(5673) => [
+ q(5707) => [
q(Cusco Quechua),
],
- q(5674) => [
+ q(5708) => [
q(Ambo-Pasco Quechua),
],
- q(5675) => [
+ q(5709) => [
q(Cajamarca Quechua),
],
- q(5676) => [
+ q(5710) => [
q(Eastern Apurimac Quechua),
],
- q(5677) => [
+ q(5711) => [
q(Huamalies-Dos de Mayo Huanuco Quechua),
],
- q(5678) => [
+ q(5712) => [
q(Imbabura Highland Quichua),
],
- q(5679) => [
+ q(5713) => [
q(Loja Highland Quichua),
],
- q(5680) => [
+ q(5714) => [
q(Cajatambo North Lima Quechua),
],
- q(5681) => [
+ q(5715) => [
q(Margos-Yarowilca-Lauricocha Quechua),
],
- q(5682) => [
+ q(5716) => [
q(North Junin Quechua),
],
- q(5683) => [
+ q(5717) => [
q(Napo Lowland Quechua),
],
- q(5684) => [
+ q(5718) => [
q(Pacaraos Quechua),
],
- q(5685) => [
+ q(5719) => [
q(San Martin Quechua),
],
- q(5686) => [
+ q(5720) => [
q(Huaylla Wanca Quechua),
],
- q(5687) => [
+ q(5721) => [
q(Queyu),
],
- q(5688) => [
+ q(5722) => [
q(Northern Pastaza Quichua),
],
- q(5689) => [
+ q(5723) => [
q(Corongo Ancash Quechua),
],
- q(5690) => [
+ q(5724) => [
q(Classical Quechua),
],
- q(5691) => [
+ q(5725) => [
q(Huaylas Ancash Quechua),
],
- q(5692) => [
+ q(5726) => [
q(Kuman (Russia)),
],
- q(5693) => [
+ q(5727) => [
q(Sihuas Ancash Quechua),
],
- q(5694) => [
+ q(5728) => [
q(Kwalhioqua-Tlatskanai),
],
- q(5695) => [
+ q(5729) => [
q(Chiquian Ancash Quechua),
],
- q(5696) => [
+ q(5730) => [
q(Chincha Quechua),
],
- q(5697) => [
+ q(5731) => [
q(Panao Huanuco Quechua),
],
- q(5698) => [
+ q(5732) => [
q(Salasaca Highland Quichua),
],
- q(5699) => [
+ q(5733) => [
q(Northern Conchucos Ancash Quechua),
],
- q(5700) => [
+ q(5734) => [
q(Southern Conchucos Ancash Quechua),
],
- q(5701) => [
+ q(5735) => [
q(Puno Quechua),
],
- q(5702) => [
+ q(5736) => [
q(Qashqa'i),
],
- q(5703) => [
+ q(5737) => [
q(Canar Highland Quichua),
],
- q(5704) => [
+ q(5738) => [
q(Southern Qiang),
],
- q(5705) => [
+ q(5739) => [
q(Santa Ana de Tusi Pasco Quechua),
],
- q(5706) => [
+ q(5740) => [
q(Arequipa-La Union Quechua),
],
- q(5707) => [
+ q(5741) => [
q(Jauja Wanca Quechua),
],
- q(5708) => [
+ q(5742) => [
q(Quenya),
],
- q(5709) => [
+ q(5743) => [
q(Quiripi),
],
- q(5710) => [
+ q(5744) => [
q(Dungmali),
],
- q(5711) => [
+ q(5745) => [
q(Camling),
],
- q(5712) => [
+ q(5746) => [
q(Rasawa),
],
- q(5713) => [
+ q(5747) => [
q(Rade),
],
- q(5714) => [
+ q(5748) => [
q(Western Meohang),
],
- q(5715) => [
+ q(5749) => [
q(Logooli),
q(Lulogooli),
],
- q(5716) => [
+ q(5750) => [
q(Rabha),
],
- q(5717) => [
+ q(5751) => [
q(Ramoaaina),
],
- q(5718) => [
+ q(5752) => [
q(Tulu-Bohuai),
],
- q(5719) => [
+ q(5753) => [
q(Ralte),
],
- q(5720) => [
+ q(5754) => [
q(Canela),
],
- q(5721) => [
+ q(5755) => [
q(Riantana),
],
- q(5722) => [
+ q(5756) => [
q(Rao),
],
- q(5723) => [
+ q(5757) => [
q(Saam),
],
- q(5724) => [
+ q(5758) => [
q(Tegali),
],
- q(5725) => [
+ q(5759) => [
q(Razajerdi),
],
- q(5726) => [
+ q(5760) => [
q(Raute),
],
- q(5727) => [
+ q(5761) => [
q(Sampang),
],
- q(5728) => [
+ q(5762) => [
q(Rawang),
],
- q(5729) => [
+ q(5763) => [
q(Rang),
],
- q(5730) => [
+ q(5764) => [
q(Rapa),
],
- q(5731) => [
+ q(5765) => [
q(Rahambuu),
],
- q(5732) => [
+ q(5766) => [
q(Rumai Palaung),
],
- q(5733) => [
+ q(5767) => [
q(Northern Bontok),
],
- q(5734) => [
+ q(5768) => [
q(Miraya Bikol),
],
- q(5735) => [
+ q(5769) => [
q(Barababaraba),
],
- q(5736) => [
+ q(5770) => [
q(Reunion Creole French),
],
- q(5737) => [
+ q(5771) => [
q(Rudbari),
],
- q(5738) => [
+ q(5772) => [
q(Rerau),
],
- q(5739) => [
+ q(5773) => [
q(Rembong),
],
- q(5740) => [
+ q(5774) => [
q(Rejang Kayan),
],
- q(5741) => [
+ q(5775) => [
q(Kara (Tanzania)),
],
- q(5742) => [
+ q(5776) => [
q(Reli),
],
- q(5743) => [
+ q(5777) => [
q(Rejang),
],
- q(5744) => [
+ q(5778) => [
q(Rendille),
],
- q(5745) => [
+ q(5779) => [
q(Remo),
],
- q(5746) => [
+ q(5780) => [
q(Rengao),
],
- q(5747) => [
+ q(5781) => [
q(Rer Bare),
],
- q(5748) => [
+ q(5782) => [
q(Reshe),
],
- q(5749) => [
+ q(5783) => [
q(Retta),
],
- q(5750) => [
+ q(5784) => [
q(Reyesano),
],
- q(5751) => [
+ q(5785) => [
q(Roria),
],
- q(5752) => [
+ q(5786) => [
q(Romano-Greek),
],
- q(5753) => [
+ q(5787) => [
q(Rangkas),
],
- q(5754) => [
+ q(5788) => [
q(Romagnol),
],
- q(5755) => [
+ q(5789) => [
q(Resigaro),
],
- q(5756) => [
+ q(5790) => [
q(Southern Roglai),
],
- q(5757) => [
+ q(5791) => [
q(Ringgou),
],
- q(5758) => [
+ q(5792) => [
q(Rohingya),
],
- q(5759) => [
+ q(5793) => [
q(Yahang),
],
- q(5760) => [
+ q(5794) => [
q(Riang (India)),
],
- q(5761) => [
+ q(5795) => [
q(Rien),
],
- q(5762) => [
+ q(5796) => [
q(Tarifit),
],
- q(5763) => [
+ q(5797) => [
q(Riang (Myanmar)),
],
- q(5764) => [
+ q(5798) => [
q(Nyaturu),
],
- q(5765) => [
+ q(5799) => [
q(Nungu),
],
- q(5766) => [
+ q(5800) => [
q(Ribun),
],
- q(5767) => [
+ q(5801) => [
q(Ritarungo),
],
- q(5768) => [
+ q(5802) => [
q(Riung),
],
- q(5769) => [
+ q(5803) => [
q(Rajong),
],
- q(5770) => [
+ q(5804) => [
q(Raji),
],
- q(5771) => [
+ q(5805) => [
q(Rajbanshi),
],
- q(5772) => [
+ q(5806) => [
q(Kraol),
],
- q(5773) => [
+ q(5807) => [
q(Rikbaktsa),
],
- q(5774) => [
+ q(5808) => [
q(Rakahanga-Manihiki),
],
- q(5775) => [
+ q(5809) => [
q(Rakhine),
],
- q(5776) => [
+ q(5810) => [
q(Marka),
],
- q(5777) => [
+ q(5811) => [
q(Rangpuri),
q(Kamta),
],
- q(5778) => [
+ q(5812) => [
+ q(Arakwal),
+ ],
+ q(5813) => [
q(Rama),
],
- q(5779) => [
+ q(5814) => [
q(Rembarunga),
],
- q(5780) => [
+ q(5815) => [
q(Carpathian Romani),
],
- q(5781) => [
+ q(5816) => [
q(Traveller Danish),
],
- q(5782) => [
+ q(5817) => [
q(Angloromani),
],
- q(5783) => [
+ q(5818) => [
q(Kalo Finnish Romani),
],
- q(5784) => [
+ q(5819) => [
q(Traveller Norwegian),
],
- q(5785) => [
+ q(5820) => [
q(Murkim),
],
- q(5786) => [
+ q(5821) => [
q(Lomavren),
],
- q(5787) => [
+ q(5822) => [
q(Romkun),
],
- q(5788) => [
+ q(5823) => [
q(Baltic Romani),
],
- q(5789) => [
+ q(5824) => [
q(Roma),
],
- q(5790) => [
+ q(5825) => [
q(Balkan Romani),
],
- q(5791) => [
+ q(5826) => [
q(Sinte Romani),
],
- q(5792) => [
+ q(5827) => [
q(Rempi),
],
- q(5793) => [
+ q(5828) => [
q(Calo),
],
- q(5794) => [
+ q(5829) => [
q(Romanian Sign Language),
],
- q(5795) => [
+ q(5830) => [
q(Domari),
],
- q(5796) => [
+ q(5831) => [
q(Tavringer Romani),
],
- q(5797) => [
+ q(5832) => [
q(Romanova),
],
- q(5798) => [
+ q(5833) => [
q(Welsh Romani),
],
- q(5799) => [
+ q(5834) => [
q(Romam),
],
- q(5800) => [
+ q(5835) => [
q(Vlax Romani),
],
- q(5801) => [
+ q(5836) => [
q(Marma),
],
- q(5802) => [
+ q(5837) => [
q(Runa),
],
- q(5803) => [
+ q(5838) => [
q(Ruund),
],
- q(5804) => [
+ q(5839) => [
q(Ronga),
],
- q(5805) => [
+ q(5840) => [
q(Ranglong),
],
- q(5806) => [
+ q(5841) => [
q(Roon),
],
- q(5807) => [
+ q(5842) => [
q(Rongpo),
],
- q(5808) => [
+ q(5843) => [
q(Nari Nari),
],
- q(5809) => [
+ q(5844) => [
q(Rungwa),
],
- q(5810) => [
+ q(5845) => [
q(Tae'),
],
- q(5811) => [
+ q(5846) => [
q(Cacgia Roglai),
],
- q(5812) => [
+ q(5847) => [
q(Rogo),
],
- q(5813) => [
+ q(5848) => [
q(Ronji),
],
- q(5814) => [
+ q(5849) => [
q(Rombo),
],
- q(5815) => [
+ q(5850) => [
q(Northern Roglai),
],
- q(5816) => [
+ q(5851) => [
q(Romblomanon),
],
- q(5817) => [
+ q(5852) => [
q(Rotokas),
],
- q(5818) => [
+ q(5853) => [
q(Kriol),
],
- q(5819) => [
+ q(5854) => [
q(Rongga),
],
- q(5820) => [
+ q(5855) => [
q(Runga),
],
- q(5821) => [
+ q(5856) => [
q(Dela-Oenale),
],
- q(5822) => [
+ q(5857) => [
q(Repanbitip),
],
- q(5823) => [
+ q(5858) => [
q(Rapting),
],
- q(5824) => [
+ q(5859) => [
q(Ririo),
],
- q(5825) => [
+ q(5860) => [
q(Waima),
],
- q(5826) => [
+ q(5861) => [
q(Arritinngithigh),
],
- q(5827) => [
+ q(5862) => [
q(Romano-Serbian),
],
- q(5828) => [
+ q(5863) => [
q(Rennellese Sign Language),
],
- q(5829) => [
+ q(5864) => [
q(Russian Sign Language),
],
- q(5830) => [
+ q(5865) => [
q(Rungtu Chin),
],
- q(5831) => [
+ q(5866) => [
q(Ratahan),
],
- q(5832) => [
+ q(5867) => [
q(Rotuman),
],
- q(5833) => [
+ q(5868) => [
q(Rathawi),
],
- q(5834) => [
+ q(5869) => [
q(Gungu),
],
- q(5835) => [
+ q(5870) => [
q(Ruuli),
],
- q(5836) => [
+ q(5871) => [
q(Rusyn),
],
- q(5837) => [
+ q(5872) => [
q(Luguru),
],
- q(5838) => [
+ q(5873) => [
q(Roviana),
],
- q(5839) => [
+ q(5874) => [
q(Ruga),
],
- q(5840) => [
+ q(5875) => [
q(Rufiji),
],
- q(5841) => [
+ q(5876) => [
q(Che),
],
- q(5842) => [
+ q(5877) => [
q(Istro Romanian),
],
- q(5843) => [
+ q(5878) => [
q(Megleno Romanian),
],
- q(5844) => [
+ q(5879) => [
q(Rutul),
],
- q(5845) => [
+ q(5880) => [
q(Lanas Lobu),
],
- q(5846) => [
+ q(5881) => [
q(Mala (Nigeria)),
],
- q(5847) => [
+ q(5882) => [
q(Ruma),
],
- q(5848) => [
+ q(5883) => [
q(Rawo),
],
- q(5849) => [
+ q(5884) => [
q(Rwa),
],
- q(5850) => [
+ q(5885) => [
q(Amba (Uganda)),
],
- q(5851) => [
+ q(5886) => [
q(Rawa),
],
- q(5852) => [
+ q(5887) => [
q(Marwari (India)),
],
- q(5853) => [
+ q(5888) => [
+ q(Ngardi),
+ ],
+ q(5889) => [
+ q(Karuwali),
+ ],
+ q(5890) => [
q(Northern Amami-Oshima),
],
- q(5854) => [
+ q(5891) => [
q(Yaeyama),
],
- q(5855) => [
+ q(5892) => [
q(Central Okinawan),
],
- q(5856) => [
+ q(5893) => [
q(Saba),
],
- q(5857) => [
+ q(5894) => [
q(Buglere),
],
- q(5858) => [
+ q(5895) => [
q(Meskwaki),
],
- q(5859) => [
+ q(5896) => [
q(Sabane),
],
- q(5860) => [
+ q(5897) => [
q(Safaliba),
],
- q(5861) => [
+ q(5898) => [
q(Sahu),
],
- q(5862) => [
+ q(5899) => [
q(Sake),
],
- q(5863) => [
+ q(5900) => [
q(Sause),
],
- q(5864) => [
+ q(5901) => [
q(Sanapana),
],
- q(5865) => [
+ q(5902) => [
q(Samburu),
],
- q(5866) => [
+ q(5903) => [
q(Saraveca),
],
- q(5867) => [
+ q(5904) => [
q(Saleman),
],
- q(5868) => [
+ q(5905) => [
q(Saafi-Saafi),
],
- q(5869) => [
+ q(5906) => [
q(Sawi),
],
- q(5870) => [
+ q(5907) => [
q(Sa),
],
- q(5871) => [
+ q(5908) => [
q(Saya),
],
- q(5872) => [
+ q(5909) => [
q(Saurashtra),
],
- q(5873) => [
+ q(5910) => [
q(Ngambay),
],
- q(5874) => [
+ q(5911) => [
q(Simbo),
],
- q(5875) => [
+ q(5912) => [
q(Kele (Papua New Guinea)),
],
- q(5876) => [
+ q(5913) => [
q(Southern Samo),
],
- q(5877) => [
+ q(5914) => [
q(Saliba),
],
- q(5878) => [
+ q(5915) => [
q(Shabo),
],
- q(5879) => [
+ q(5916) => [
q(Seget),
],
- q(5880) => [
+ q(5917) => [
q(Sori-Harengan),
],
- q(5881) => [
+ q(5918) => [
q(Seti),
],
- q(5882) => [
+ q(5919) => [
q(Surbakhal),
],
- q(5883) => [
+ q(5920) => [
q(Safwa),
],
- q(5884) => [
+ q(5921) => [
q(Botolan Sambal),
],
- q(5885) => [
+ q(5922) => [
q(Sagala),
],
- q(5886) => [
+ q(5923) => [
q(Sindhi Bhil),
],
- q(5887) => [
+ q(5924) => [
q(Sabum),
],
- q(5888) => [
+ q(5925) => [
q(Sangu (Tanzania)),
],
- q(5889) => [
+ q(5926) => [
q(Sileibi),
],
- q(5890) => [
+ q(5927) => [
q(Sembakung Murut),
],
- q(5891) => [
+ q(5928) => [
q(Subiya),
],
- q(5892) => [
+ q(5929) => [
q(Kimki),
],
- q(5893) => [
+ q(5930) => [
q(Stod Bhoti),
],
- q(5894) => [
+ q(5931) => [
q(Sabine),
],
- q(5895) => [
+ q(5932) => [
q(Simba),
],
- q(5896) => [
+ q(5933) => [
q(Seberuang),
],
- q(5897) => [
+ q(5934) => [
q(Soli),
],
- q(5898) => [
+ q(5935) => [
q(Sara Kaba),
],
- q(5899) => [
+ q(5936) => [
q(Chut),
],
- q(5900) => [
+ q(5937) => [
q(Dongxiang),
],
- q(5901) => [
+ q(5938) => [
q(San Miguel Creole French),
],
- q(5902) => [
+ q(5939) => [
q(Sanggau),
],
- q(5903) => [
+ q(5940) => [
q(Sakachep),
],
- q(5904) => [
+ q(5941) => [
q(Sri Lankan Creole Malay),
],
- q(5905) => [
+ q(5942) => [
q(Sadri),
],
- q(5906) => [
+ q(5943) => [
q(Shina),
],
- q(5907) => [
+ q(5944) => [
q(Helambu Sherpa),
],
- q(5908) => [
+ q(5945) => [
q(Sa'och),
],
- q(5909) => [
+ q(5946) => [
q(North Slavey),
],
- q(5910) => [
+ q(5947) => [
q(Shumcho),
],
- q(5911) => [
+ q(5948) => [
q(Sheni),
],
- q(5912) => [
+ q(5949) => [
q(Sha),
],
- q(5913) => [
+ q(5950) => [
q(Sicel),
],
- q(5914) => [
+ q(5951) => [
q(Toraja-Sa'dan),
],
- q(5915) => [
+ q(5952) => [
q(Shabak),
],
- q(5916) => [
+ q(5953) => [
q(Sassarese Sardinian),
],
- q(5917) => [
+ q(5954) => [
q(Surubu),
],
- q(5918) => [
+ q(5955) => [
q(Sarli),
],
- q(5919) => [
+ q(5956) => [
q(Savi),
],
- q(5920) => [
+ q(5957) => [
q(Southern Kurdish),
],
- q(5921) => [
+ q(5958) => [
q(Suundi),
],
- q(5922) => [
+ q(5959) => [
q(Sos Kundi),
],
- q(5923) => [
+ q(5960) => [
q(Saudi Arabian Sign Language),
],
- q(5924) => [
+ q(5961) => [
q(Semandang),
],
- q(5925) => [
+ q(5962) => [
q(Gallurese Sardinian),
],
- q(5926) => [
+ q(5963) => [
q(Bukar-Sadung Bidayuh),
],
- q(5927) => [
+ q(5964) => [
q(Sherdukpen),
],
- q(5928) => [
+ q(5965) => [
q(Oraon Sadri),
],
- q(5929) => [
+ q(5966) => [
q(Sened),
],
- q(5930) => [
+ q(5967) => [
q(Shuadit),
],
- q(5931) => [
+ q(5968) => [
q(Sarudu),
],
- q(5932) => [
+ q(5969) => [
q(Sibu Melanau),
],
- q(5933) => [
+ q(5970) => [
q(Sallands),
],
- q(5934) => [
+ q(5971) => [
q(Semai),
],
- q(5935) => [
+ q(5972) => [
q(Shempire Senoufo),
],
- q(5936) => [
+ q(5973) => [
q(Sechelt),
],
- q(5937) => [
+ q(5974) => [
q(Sedang),
],
- q(5938) => [
+ q(5975) => [
q(Seneca),
],
- q(5939) => [
+ q(5976) => [
q(Cebaara Senoufo),
],
- q(5940) => [
+ q(5977) => [
q(Segeju),
],
- q(5941) => [
+ q(5978) => [
q(Sena),
],
- q(5942) => [
+ q(5979) => [
q(Seri),
],
- q(5943) => [
+ q(5980) => [
q(Sene),
],
- q(5944) => [
+ q(5981) => [
q(Sekani),
],
- q(5945) => [
+ q(5982) => [
q(Nanerige Senoufo),
],
- q(5946) => [
+ q(5983) => [
q(Suarmin),
],
- q(5947) => [
+ q(5984) => [
q(Sicite Senoufo),
],
- q(5948) => [
+ q(5985) => [
q(Senara Senoufo),
],
- q(5949) => [
+ q(5986) => [
q(Serrano),
],
- q(5950) => [
+ q(5987) => [
q(Koyraboro Senni Songhai),
],
- q(5951) => [
+ q(5988) => [
q(Sentani),
],
- q(5952) => [
+ q(5989) => [
q(Serui-Laut),
],
- q(5953) => [
+ q(5990) => [
q(Nyarafolo Senoufo),
],
- q(5954) => [
+ q(5991) => [
q(Sewa Bay),
],
- q(5955) => [
+ q(5992) => [
q(Secoya),
],
- q(5956) => [
+ q(5993) => [
q(Senthang Chin),
],
- q(5957) => [
+ q(5994) => [
q(Langue des signes de Belgique Francophone),
q(French Belgian Sign Language),
],
- q(5958) => [
+ q(5995) => [
q(Eastern Subanen),
],
- q(5959) => [
+ q(5996) => [
q(Small Flowery Miao),
],
- q(5960) => [
+ q(5997) => [
q(South African Sign Language),
],
- q(5961) => [
+ q(5998) => [
q(Sehwi),
],
- q(5962) => [
+ q(5999) => [
q(Mag-antsi Ayta),
],
- q(5963) => [
+ q(6000) => [
q(Kipsigis),
],
- q(5964) => [
+ q(6001) => [
q(Surigaonon),
],
- q(5965) => [
+ q(6002) => [
q(Segai),
],
- q(5966) => [
+ q(6003) => [
q(Swiss-German Sign Language),
],
- q(5967) => [
+ q(6004) => [
q(Shughni),
],
- q(5968) => [
+ q(6005) => [
q(Suga),
],
- q(5969) => [
+ q(6006) => [
q(Surgujia),
],
- q(5970) => [
+ q(6007) => [
q(Sangkong),
],
- q(5971) => [
+ q(6008) => [
q(Singa),
],
- q(5972) => [
+ q(6009) => [
q(Songa),
],
- q(5973) => [
+ q(6010) => [
q(Singpho),
],
- q(5974) => [
+ q(6011) => [
q(Sangisari),
],
- q(5975) => [
+ q(6012) => [
q(Samogitian),
],
- q(5976) => [
+ q(6013) => [
q(Brokpake),
],
- q(5977) => [
+ q(6014) => [
q(Salas),
],
- q(5978) => [
+ q(6015) => [
q(Sebat Bet Gurage),
],
- q(5979) => [
+ q(6016) => [
q(Sierra Leone Sign Language),
],
- q(5980) => [
+ q(6017) => [
q(Sanglechi),
],
- q(5981) => [
+ q(6018) => [
q(Sursurunga),
],
- q(5982) => [
+ q(6019) => [
q(Shall-Zwall),
],
- q(5983) => [
+ q(6020) => [
q(Ninam),
],
- q(5984) => [
+ q(6021) => [
q(Sonde),
],
- q(5985) => [
+ q(6022) => [
q(Kundal Shahi),
],
- q(5986) => [
+ q(6023) => [
q(Sheko),
],
- q(5987) => [
+ q(6024) => [
q(Shua),
],
- q(5988) => [
+ q(6025) => [
q(Shoshoni),
],
- q(5989) => [
+ q(6026) => [
q(Tachelhit),
],
- q(5990) => [
+ q(6027) => [
q(Shatt),
],
- q(5991) => [
+ q(6028) => [
q(Shilluk),
],
- q(5992) => [
+ q(6029) => [
q(Shendu),
],
- q(5993) => [
+ q(6030) => [
q(Shahrudi),
],
- q(5994) => [
+ q(6031) => [
q(Shanga),
],
- q(5995) => [
+ q(6032) => [
q(Shipibo-Conibo),
],
- q(5996) => [
+ q(6033) => [
q(Sala),
],
- q(5997) => [
+ q(6034) => [
q(Shi),
],
- q(5998) => [
+ q(6035) => [
q(Shuswap),
],
- q(5999) => [
+ q(6036) => [
q(Shasta),
],
- q(6000) => [
+ q(6037) => [
q(Chadian Arabic),
],
- q(6001) => [
+ q(6038) => [
q(Shehri),
],
- q(6002) => [
+ q(6039) => [
q(Shwai),
],
- q(6003) => [
+ q(6040) => [
q(She),
],
- q(6004) => [
+ q(6041) => [
q(Tachawit),
],
- q(6005) => [
+ q(6042) => [
q(Syenara Senoufo),
],
- q(6006) => [
+ q(6043) => [
q(Akkala Sami),
],
- q(6007) => [
+ q(6044) => [
q(Sebop),
],
- q(6008) => [
+ q(6045) => [
q(Simaa),
],
- q(6009) => [
+ q(6046) => [
q(Siamou),
],
- q(6010) => [
+ q(6047) => [
q(Paasaal),
],
- q(6011) => [
+ q(6048) => [
q(Zire),
+ q(Sishee),
],
- q(6012) => [
+ q(6049) => [
q(Shom Peng),
],
- q(6013) => [
+ q(6050) => [
q(Numbami),
],
- q(6014) => [
+ q(6051) => [
q(Sikiana),
],
- q(6015) => [
+ q(6052) => [
q(Tumulung Sisaala),
],
- q(6016) => [
+ q(6053) => [
q(Mende (Papua New Guinea)),
],
- q(6017) => [
+ q(6054) => [
q(Sikkimese),
],
- q(6018) => [
+ q(6055) => [
q(Sonia),
],
- q(6019) => [
+ q(6056) => [
q(Siri),
],
- q(6020) => [
+ q(6057) => [
q(Siuslaw),
],
- q(6021) => [
+ q(6058) => [
q(Sinagen),
],
- q(6022) => [
+ q(6059) => [
q(Sumariup),
],
- q(6023) => [
+ q(6060) => [
q(Siwai),
],
- q(6024) => [
+ q(6061) => [
q(Sumau),
],
- q(6025) => [
+ q(6062) => [
q(Sivandi),
],
- q(6026) => [
+ q(6063) => [
q(Siwi),
],
- q(6027) => [
+ q(6064) => [
q(Epena),
],
- q(6028) => [
+ q(6065) => [
q(Sajau Basap),
],
- q(6029) => [
+ q(6066) => [
q(Kildin Sami),
],
- q(6030) => [
+ q(6067) => [
q(Pite Sami),
],
- q(6031) => [
+ q(6068) => [
q(Assangori),
],
- q(6032) => [
+ q(6069) => [
q(Kemi Sami),
],
- q(6033) => [
+ q(6070) => [
q(Sajalong),
q(Miji),
],
- q(6034) => [
+ q(6071) => [
q(Mapun),
],
- q(6035) => [
+ q(6072) => [
q(Sindarin),
],
- q(6036) => [
+ q(6073) => [
q(Xibe),
],
- q(6037) => [
+ q(6074) => [
q(Surjapuri),
],
- q(6038) => [
+ q(6075) => [
q(Siar-Lak),
],
- q(6039) => [
+ q(6076) => [
q(Senhaja De Srair),
],
- q(6040) => [
+ q(6077) => [
q(Ter Sami),
],
- q(6041) => [
+ q(6078) => [
q(Ume Sami),
],
- q(6042) => [
+ q(6079) => [
q(Shawnee),
],
- q(6043) => [
+ q(6080) => [
q(Skagit),
],
- q(6044) => [
+ q(6081) => [
q(Saek),
],
- q(6045) => [
+ q(6082) => [
q(Ma Manda),
],
- q(6046) => [
+ q(6083) => [
q(Southern Sierra Miwok),
],
- q(6047) => [
+ q(6084) => [
q(Seke (Vanuatu)),
],
- q(6048) => [
+ q(6085) => [
q(Sakirabia),
],
- q(6049) => [
+ q(6086) => [
q(Sakalava Malagasy),
],
- q(6050) => [
+ q(6087) => [
q(Sikule),
],
- q(6051) => [
+ q(6088) => [
q(Sika),
],
- q(6052) => [
+ q(6089) => [
q(Seke (Nepal)),
],
- q(6053) => [
+ q(6090) => [
q(Sok),
],
- q(6054) => [
+ q(6091) => [
q(Kutong),
],
- q(6055) => [
+ q(6092) => [
q(Kolibugan Subanon),
],
- q(6056) => [
+ q(6093) => [
q(Seko Tengah),
],
- q(6057) => [
+ q(6094) => [
q(Sekapan),
],
- q(6058) => [
+ q(6095) => [
q(Sininkere),
],
- q(6059) => [
+ q(6096) => [
q(Seraiki),
],
- q(6060) => [
+ q(6097) => [
q(Maia),
],
- q(6061) => [
+ q(6098) => [
q(Sakata),
],
- q(6062) => [
+ q(6099) => [
q(Sakao),
],
- q(6063) => [
+ q(6100) => [
q(Skou),
],
- q(6064) => [
+ q(6101) => [
q(Skepi Creole Dutch),
],
- q(6065) => [
+ q(6102) => [
q(Seko Padang),
],
- q(6066) => [
+ q(6103) => [
q(Sikaiana),
],
- q(6067) => [
+ q(6104) => [
q(Sekar),
],
- q(6068) => [
+ q(6105) => [
q(Sissala),
],
- q(6069) => [
+ q(6106) => [
q(Sholaga),
],
- q(6070) => [
+ q(6107) => [
q(Swiss-Italian Sign Language),
],
- q(6071) => [
+ q(6108) => [
q(Selungai Murut),
],
- q(6072) => [
+ q(6109) => [
q(Southern Puget Sound Salish),
],
- q(6073) => [
+ q(6110) => [
q(Lower Silesian),
],
- q(6074) => [
+ q(6111) => [
q(Saluma),
],
- q(6075) => [
+ q(6112) => [
q(Salt-Yui),
],
- q(6076) => [
+ q(6113) => [
q(Pangutaran Sama),
],
- q(6077) => [
+ q(6114) => [
q(Salinan),
],
- q(6078) => [
+ q(6115) => [
q(Lamaholot),
],
- q(6079) => [
+ q(6116) => [
q(Salchuq),
],
- q(6080) => [
+ q(6117) => [
q(Salar),
],
- q(6081) => [
+ q(6118) => [
q(Singapore Sign Language),
],
- q(6082) => [
+ q(6119) => [
q(Sila),
],
- q(6083) => [
+ q(6120) => [
q(Selaru),
],
- q(6084) => [
+ q(6121) => [
q(Sialum),
],
- q(6085) => [
+ q(6122) => [
q(Salampasu),
],
- q(6086) => [
+ q(6123) => [
q(Selayar),
],
- q(6087) => [
+ q(6124) => [
q(Ma'ya),
],
- q(6088) => [
+ q(6125) => [
q(Simbari),
],
- q(6089) => [
+ q(6126) => [
q(Som),
],
- q(6090) => [
+ q(6127) => [
q(Sama),
],
- q(6091) => [
+ q(6128) => [
q(Auwe),
],
- q(6092) => [
+ q(6129) => [
q(Simbali),
],
- q(6093) => [
+ q(6130) => [
q(Samei),
],
- q(6094) => [
+ q(6131) => [
q(Bolinao),
],
- q(6095) => [
+ q(6132) => [
q(Central Sama),
],
- q(6096) => [
+ q(6133) => [
q(Musasa),
],
- q(6097) => [
+ q(6134) => [
q(Samaritan),
],
- q(6098) => [
+ q(6135) => [
q(Samo),
],
- q(6099) => [
+ q(6136) => [
q(Simeulue),
],
- q(6100) => [
+ q(6137) => [
q(Simte),
],
- q(6101) => [
+ q(6138) => [
q(Somray),
],
- q(6102) => [
+ q(6139) => [
q(Samvedi),
],
- q(6103) => [
+ q(6140) => [
q(Sumbawa),
],
- q(6104) => [
+ q(6141) => [
q(Samba),
],
- q(6105) => [
+ q(6142) => [
q(Semnani),
],
- q(6106) => [
+ q(6143) => [
q(Simeku),
],
- q(6107) => [
+ q(6144) => [
q(Sebuyau),
],
- q(6108) => [
+ q(6145) => [
q(Sinaugoro),
],
- q(6109) => [
+ q(6146) => [
q(Bau Bidayuh),
],
- q(6110) => [
+ q(6147) => [
q(Noon),
],
- q(6111) => [
+ q(6148) => [
q(Sanga (Democratic Republic of Congo)),
],
- q(6112) => [
+ q(6149) => [
q(Shinabo),
],
- q(6113) => [
+ q(6150) => [
q(Sensi),
],
- q(6114) => [
+ q(6151) => [
q(Riverain Sango),
],
- q(6115) => [
+ q(6152) => [
q(Sangil),
],
- q(6116) => [
+ q(6153) => [
q(Southern Ma'di),
],
- q(6117) => [
+ q(6154) => [
q(Siona),
],
- q(6118) => [
+ q(6155) => [
q(Snohomish),
],
- q(6119) => [
+ q(6156) => [
q(Siane),
],
- q(6120) => [
+ q(6157) => [
q(Sangu (Gabon)),
],
- q(6121) => [
+ q(6158) => [
q(Sihan),
],
- q(6122) => [
+ q(6159) => [
q(South West Bay),
q(Nahavaq),
],
- q(6123) => [
+ q(6160) => [
q(Senggi),
q(Viid),
],
- q(6124) => [
+ q(6161) => [
q(Sa'ban),
],
- q(6125) => [
+ q(6162) => [
q(Selee),
],
- q(6126) => [
+ q(6163) => [
q(Sam),
],
- q(6127) => [
+ q(6164) => [
q(Saniyo-Hiyewe),
],
- q(6128) => [
+ q(6165) => [
q(Sinsauru),
],
- q(6129) => [
+ q(6166) => [
q(Thai Song),
],
- q(6130) => [
+ q(6167) => [
q(Sobei),
],
- q(6131) => [
+ q(6168) => [
q(So (Democratic Republic of Congo)),
],
- q(6132) => [
+ q(6169) => [
q(Songoora),
],
- q(6133) => [
+ q(6170) => [
q(Songomeno),
],
- q(6134) => [
+ q(6171) => [
q(Aka),
],
- q(6135) => [
+ q(6172) => [
q(Sonha),
],
- q(6136) => [
+ q(6173) => [
q(Soi),
],
- q(6137) => [
+ q(6174) => [
q(Sokoro),
],
- q(6138) => [
+ q(6175) => [
q(Solos),
],
- q(6139) => [
+ q(6176) => [
q(Songo),
],
- q(6140) => [
+ q(6177) => [
q(Songe),
],
- q(6141) => [
+ q(6178) => [
q(Kanasi),
],
- q(6142) => [
+ q(6179) => [
q(Somrai),
],
- q(6143) => [
+ q(6180) => [
q(Seeku),
],
- q(6144) => [
+ q(6181) => [
q(Southern Thai),
],
- q(6145) => [
+ q(6182) => [
q(Sonsorol),
],
- q(6146) => [
+ q(6183) => [
q(Sowanda),
],
- q(6147) => [
+ q(6184) => [
q(Swo),
],
- q(6148) => [
+ q(6185) => [
q(Miyobe),
],
- q(6149) => [
+ q(6186) => [
q(Temi),
],
- q(6150) => [
+ q(6187) => [
q(Sepa (Indonesia)),
],
- q(6151) => [
+ q(6188) => [
q(Sape),
],
- q(6152) => [
+ q(6189) => [
q(Saep),
],
- q(6153) => [
+ q(6190) => [
q(Sepa (Papua New Guinea)),
],
- q(6154) => [
+ q(6191) => [
q(Sian),
],
- q(6155) => [
+ q(6192) => [
q(Saponi),
],
- q(6156) => [
+ q(6193) => [
q(Sengo),
],
- q(6157) => [
+ q(6194) => [
q(Selepet),
],
- q(6158) => [
+ q(6195) => [
q(Akukem),
],
- q(6159) => [
+ q(6196) => [
q(Spokane),
],
- q(6160) => [
+ q(6197) => [
q(Supyire Senoufo),
],
- q(6161) => [
+ q(6198) => [
q(Loreto-Ucayali Spanish),
],
- q(6162) => [
+ q(6199) => [
q(Saparua),
],
- q(6163) => [
+ q(6200) => [
q(Saposa),
],
- q(6164) => [
+ q(6201) => [
q(Spiti Bhoti),
],
- q(6165) => [
+ q(6202) => [
q(Sapuan),
],
- q(6166) => [
+ q(6203) => [
q(Sambalpuri),
q(Kosli),
],
- q(6167) => [
+ q(6204) => [
q(South Picene),
],
- q(6168) => [
+ q(6205) => [
q(Sabaot),
],
- q(6169) => [
+ q(6206) => [
q(Shama-Sambuga),
],
- q(6170) => [
+ q(6207) => [
q(Shau),
],
- q(6171) => [
+ q(6208) => [
q(Albanian Sign Language),
],
- q(6172) => [
+ q(6209) => [
q(Suma),
],
- q(6173) => [
+ q(6210) => [
q(Susquehannock),
],
- q(6174) => [
+ q(6211) => [
q(Sorkhei),
],
- q(6175) => [
+ q(6212) => [
q(Sou),
],
- q(6176) => [
+ q(6213) => [
q(Siculo Arabic),
],
- q(6177) => [
+ q(6214) => [
q(Sri Lankan Sign Language),
],
- q(6178) => [
+ q(6215) => [
q(Soqotri),
],
- q(6179) => [
+ q(6216) => [
q(Squamish),
],
- q(6180) => [
+ q(6217) => [
q(Saruga),
],
- q(6181) => [
+ q(6218) => [
q(Sora),
],
- q(6182) => [
+ q(6219) => [
q(Logudorese Sardinian),
],
- q(6183) => [
+ q(6220) => [
q(Sara),
],
- q(6184) => [
+ q(6221) => [
q(Nafi),
],
- q(6185) => [
+ q(6222) => [
q(Sulod),
],
- q(6186) => [
+ q(6223) => [
q(Sarikoli),
],
- q(6187) => [
+ q(6224) => [
q(Siriano),
],
- q(6188) => [
+ q(6225) => [
q(Serudung Murut),
],
- q(6189) => [
+ q(6226) => [
q(Isirawa),
],
- q(6190) => [
+ q(6227) => [
q(Saramaccan),
],
- q(6191) => [
+ q(6228) => [
q(Campidanese Sardinian),
],
- q(6192) => [
+ q(6229) => [
q(Siriono),
],
- q(6193) => [
+ q(6230) => [
q(Sarsi),
],
- q(6194) => [
+ q(6231) => [
q(Sauri),
],
- q(6195) => [
+ q(6232) => [
q(Surui),
],
- q(6196) => [
+ q(6233) => [
q(Southern Sorsoganon),
],
- q(6197) => [
+ q(6234) => [
q(Serua),
],
- q(6198) => [
+ q(6235) => [
q(Sirmauri),
],
- q(6199) => [
+ q(6236) => [
q(Sera),
],
- q(6200) => [
+ q(6237) => [
q(Shahmirzadi),
],
- q(6201) => [
+ q(6238) => [
q(Southern Sama),
],
- q(6202) => [
+ q(6239) => [
q(Suba-Simbiti),
],
- q(6203) => [
+ q(6240) => [
q(Siroi),
],
- q(6204) => [
+ q(6241) => [
q(Balangingi),
q(Bangingih Sama),
],
- q(6205) => [
+ q(6242) => [
q(Thao),
],
- q(6206) => [
+ q(6243) => [
q(Seimat),
],
- q(6207) => [
+ q(6244) => [
q(Shihhi Arabic),
],
- q(6208) => [
+ q(6245) => [
q(Sansi),
],
- q(6209) => [
+ q(6246) => [
q(Sausi),
],
- q(6210) => [
+ q(6247) => [
q(Sunam),
],
- q(6211) => [
+ q(6248) => [
q(Western Sisaala),
],
- q(6212) => [
+ q(6249) => [
q(Semnam),
],
- q(6213) => [
+ q(6250) => [
q(Waata),
],
- q(6214) => [
+ q(6251) => [
q(Sissano),
],
- q(6215) => [
+ q(6252) => [
q(Spanish Sign Language),
],
- q(6216) => [
+ q(6253) => [
q(So'a),
],
- q(6217) => [
+ q(6254) => [
q(Swiss-French Sign Language),
],
- q(6218) => [
+ q(6255) => [
q(So),
],
- q(6219) => [
+ q(6256) => [
q(Sinasina),
],
- q(6220) => [
+ q(6257) => [
q(Susuami),
],
- q(6221) => [
+ q(6258) => [
q(Shark Bay),
],
- q(6222) => [
+ q(6259) => [
q(Samberigi),
],
- q(6223) => [
+ q(6260) => [
q(Saho),
],
- q(6224) => [
+ q(6261) => [
q(Sengseng),
],
- q(6225) => [
+ q(6262) => [
q(Settla),
],
- q(6226) => [
+ q(6263) => [
q(Northern Subanen),
],
- q(6227) => [
+ q(6264) => [
q(Sentinel),
],
- q(6228) => [
+ q(6265) => [
q(Liana-Seti),
],
- q(6229) => [
+ q(6266) => [
q(Seta),
],
- q(6230) => [
+ q(6267) => [
q(Trieng),
],
- q(6231) => [
+ q(6268) => [
q(Shelta),
],
- q(6232) => [
+ q(6269) => [
q(Bulo Stieng),
],
- q(6233) => [
+ q(6270) => [
q(Matya Samo),
],
- q(6234) => [
+ q(6271) => [
q(Arammba),
],
- q(6235) => [
+ q(6272) => [
q(Stellingwerfs),
],
- q(6236) => [
+ q(6273) => [
q(Setaman),
],
- q(6237) => [
+ q(6274) => [
q(Owa),
],
- q(6238) => [
+ q(6275) => [
q(Stoney),
],
- q(6239) => [
+ q(6276) => [
q(Southeastern Tepehuan),
],
- q(6240) => [
+ q(6277) => [
q(Saterfriesisch),
],
- q(6241) => [
+ q(6278) => [
q(Straits Salish),
],
- q(6242) => [
+ q(6279) => [
q(Shumashti),
],
- q(6243) => [
+ q(6280) => [
q(Budeh Stieng),
],
- q(6244) => [
+ q(6281) => [
q(Samtao),
],
- q(6245) => [
+ q(6282) => [
q(Silt'e),
],
- q(6246) => [
+ q(6283) => [
q(Satawalese),
],
- q(6247) => [
+ q(6284) => [
+ q(Siberian Tatar),
+ ],
+ q(6285) => [
q(Sulka),
],
- q(6248) => [
+ q(6286) => [
q(Suku),
],
- q(6249) => [
+ q(6287) => [
q(Western Subanon),
],
- q(6250) => [
+ q(6288) => [
q(Suena),
],
- q(6251) => [
+ q(6289) => [
q(Suganga),
],
- q(6252) => [
+ q(6290) => [
q(Suki),
],
- q(6253) => [
+ q(6291) => [
q(Shubi),
],
- q(6254) => [
+ q(6292) => [
q(Suri),
],
- q(6255) => [
+ q(6293) => [
q(Mwaghavul),
],
- q(6256) => [
+ q(6294) => [
q(Subtiaba),
],
- q(6257) => [
+ q(6295) => [
q(Puroik),
],
- q(6258) => [
+ q(6296) => [
q(Sumbwa),
],
- q(6259) => [
+ q(6297) => [
q(Suya),
],
- q(6260) => [
+ q(6298) => [
q(Sunwar),
],
- q(6261) => [
+ q(6299) => [
q(Svan),
],
- q(6262) => [
+ q(6300) => [
q(Ulau-Suain),
],
- q(6263) => [
+ q(6301) => [
q(Vincentian Creole English),
],
- q(6264) => [
+ q(6302) => [
q(Serili),
],
- q(6265) => [
+ q(6303) => [
q(Slovakian Sign Language),
],
- q(6266) => [
+ q(6304) => [
+ q(Slavomolisano),
+ ],
+ q(6305) => [
q(Savara),
],
- q(6267) => [
+ q(6306) => [
q(Savosavo),
],
- q(6268) => [
+ q(6307) => [
q(Skalvian),
],
- q(6269) => [
+ q(6308) => [
q(Maore Comorian),
],
- q(6270) => [
+ q(6309) => [
q(Congo Swahili),
],
- q(6271) => [
+ q(6310) => [
q(Sere),
],
- q(6272) => [
+ q(6311) => [
q(Swabian),
],
- q(6273) => [
+ q(6312) => [
q(Swahili (individual language)),
q(Kiswahili),
],
- q(6274) => [
+ q(6313) => [
q(Sui),
],
- q(6275) => [
+ q(6314) => [
q(Sira),
],
- q(6276) => [
+ q(6315) => [
q(Malawi Sena),
],
- q(6277) => [
+ q(6316) => [
q(Swedish Sign Language),
],
- q(6278) => [
+ q(6317) => [
q(Samosa),
],
- q(6279) => [
+ q(6318) => [
q(Sawknah),
],
- q(6280) => [
+ q(6319) => [
q(Shanenawa),
],
- q(6281) => [
+ q(6320) => [
q(Suau),
],
- q(6282) => [
+ q(6321) => [
q(Sharwa),
],
- q(6283) => [
+ q(6322) => [
q(Saweru),
],
- q(6284) => [
+ q(6323) => [
q(Seluwasan),
],
- q(6285) => [
+ q(6324) => [
q(Sawila),
],
- q(6286) => [
+ q(6325) => [
q(Suwawa),
],
- q(6287) => [
+ q(6326) => [
q(Shekhawati),
],
- q(6288) => [
+ q(6327) => [
q(Sowa),
],
- q(6289) => [
+ q(6328) => [
q(Suruaha),
],
- q(6290) => [
+ q(6329) => [
q(Sarua),
],
- q(6291) => [
+ q(6330) => [
q(Suba),
],
- q(6292) => [
+ q(6331) => [
q(Sicanian),
],
- q(6293) => [
+ q(6332) => [
q(Sighu),
],
- q(6294) => [
+ q(6333) => [
q(Shixing),
],
- q(6295) => [
+ q(6334) => [
q(Southern Kalapuya),
],
- q(6296) => [
+ q(6335) => [
q(Selian),
],
- q(6297) => [
+ q(6336) => [
q(Samre),
],
- q(6298) => [
+ q(6337) => [
q(Sangir),
],
- q(6299) => [
+ q(6338) => [
q(Sorothaptic),
],
- q(6300) => [
+ q(6339) => [
q(Saaroa),
],
- q(6301) => [
+ q(6340) => [
q(Sasaru),
],
- q(6302) => [
+ q(6341) => [
q(Upper Saxon),
],
- q(6303) => [
+ q(6342) => [
q(Saxwe Gbe),
],
- q(6304) => [
+ q(6343) => [
q(Siang),
],
- q(6305) => [
+ q(6344) => [
q(Central Subanen),
],
- q(6306) => [
+ q(6345) => [
q(Seki),
],
- q(6307) => [
+ q(6346) => [
q(Sukur),
],
- q(6308) => [
+ q(6347) => [
q(Sylheti),
],
- q(6309) => [
+ q(6348) => [
q(Maya Samo),
],
- q(6310) => [
+ q(6349) => [
q(Senaya),
],
- q(6311) => [
+ q(6350) => [
q(Suoy),
],
- q(6312) => [
+ q(6351) => [
q(Sinyar),
],
- q(6313) => [
+ q(6352) => [
q(Kagate),
],
- q(6314) => [
+ q(6353) => [
q(Al-Sayyid Bedouin Sign Language),
],
- q(6315) => [
+ q(6354) => [
q(Semelai),
],
- q(6316) => [
+ q(6355) => [
q(Ngalum),
],
- q(6317) => [
+ q(6356) => [
q(Semaq Beri),
],
- q(6318) => [
+ q(6357) => [
q(Seru),
],
- q(6319) => [
+ q(6358) => [
q(Seze),
],
- q(6320) => [
+ q(6359) => [
q(Sengele),
],
- q(6321) => [
+ q(6360) => [
q(Silesian),
],
- q(6322) => [
+ q(6361) => [
q(Sula),
],
- q(6323) => [
+ q(6362) => [
q(Suabo),
],
- q(6324) => [
+ q(6363) => [
q(Isu (Fako Division)),
],
- q(6325) => [
+ q(6364) => [
q(Sawai),
],
- q(6326) => [
+ q(6365) => [
q(Lower Tanana),
],
- q(6327) => [
+ q(6366) => [
q(Tabassaran),
],
- q(6328) => [
+ q(6367) => [
q(Lowland Tarahumara),
],
- q(6329) => [
+ q(6368) => [
q(Tause),
],
- q(6330) => [
+ q(6369) => [
q(Tariana),
],
- q(6331) => [
+ q(6370) => [
q(Tapirape),
],
- q(6332) => [
+ q(6371) => [
q(Tagoi),
],
- q(6333) => [
+ q(6372) => [
q(Eastern Tamang),
],
- q(6334) => [
+ q(6373) => [
q(Tala),
],
- q(6335) => [
+ q(6374) => [
q(Tal),
],
- q(6336) => [
+ q(6375) => [
q(Tangale),
],
- q(6337) => [
+ q(6376) => [
q(Yami),
],
- q(6338) => [
+ q(6377) => [
q(Taabwa),
],
- q(6339) => [
+ q(6378) => [
q(Tamasheq),
],
- q(6340) => [
+ q(6379) => [
q(Central Tarahumara),
],
- q(6341) => [
+ q(6380) => [
q(Tay Boi),
],
- q(6342) => [
+ q(6381) => [
q(Upper Tanana),
],
- q(6343) => [
+ q(6382) => [
q(Tatuyo),
],
- q(6344) => [
+ q(6383) => [
q(Tai),
],
- q(6345) => [
+ q(6384) => [
q(Tamki),
],
- q(6346) => [
+ q(6385) => [
q(Atayal),
],
- q(6347) => [
+ q(6386) => [
q(Tocho),
],
- q(6348) => [
+ q(6387) => [
q(Aikana),
],
- q(6349) => [
+ q(6388) => [
q(Tapeba),
],
- q(6350) => [
+ q(6389) => [
q(Takia),
],
- q(6351) => [
+ q(6390) => [
q(Kaki Ae),
],
- q(6352) => [
+ q(6391) => [
q(Tanimbili),
],
- q(6353) => [
+ q(6392) => [
q(Mandara),
],
- q(6354) => [
+ q(6393) => [
q(North Tairora),
],
- q(6355) => [
+ q(6394) => [
q(Thurawal),
],
- q(6356) => [
+ q(6395) => [
q(Gaam),
],
- q(6357) => [
+ q(6396) => [
q(Tiang),
],
- q(6358) => [
+ q(6397) => [
q(Calamian Tagbanwa),
],
- q(6359) => [
+ q(6398) => [
q(Tboli),
],
- q(6360) => [
+ q(6399) => [
q(Tagbu),
],
- q(6361) => [
+ q(6400) => [
q(Barro Negro Tunebo),
],
- q(6362) => [
+ q(6401) => [
q(Tawala),
],
- q(6363) => [
+ q(6402) => [
q(Taworta),
q(Diebroud),
],
- q(6364) => [
+ q(6403) => [
q(Tumtum),
],
- q(6365) => [
+ q(6404) => [
q(Tanguat),
],
- q(6366) => [
+ q(6405) => [
q(Tembo (Kitembo)),
],
- q(6367) => [
+ q(6406) => [
q(Tubar),
],
- q(6368) => [
+ q(6407) => [
q(Tobo),
],
- q(6369) => [
+ q(6408) => [
q(Tagbanwa),
],
- q(6370) => [
+ q(6409) => [
q(Kapin),
],
- q(6371) => [
+ q(6410) => [
q(Tabaru),
],
- q(6372) => [
+ q(6411) => [
q(Ditammari),
],
- q(6373) => [
+ q(6412) => [
q(Ticuna),
],
- q(6374) => [
+ q(6413) => [
q(Tanacross),
],
- q(6375) => [
+ q(6414) => [
q(Datooga),
],
- q(6376) => [
+ q(6415) => [
q(Tafi),
],
- q(6377) => [
+ q(6416) => [
q(Southern Tutchone),
],
- q(6378) => [
+ q(6417) => [
q(Malinaltepec Me'phaa),
q(Malinaltepec Tlapanec),
],
- q(6379) => [
+ q(6418) => [
q(Tamagario),
],
- q(6380) => [
+ q(6419) => [
q(Turks And Caicos Creole English),
],
- q(6381) => [
+ q(6420) => [
q(Wara),
],
- q(6382) => [
+ q(6421) => [
q(Tchitchege),
],
- q(6383) => [
+ q(6422) => [
q(Taman (Myanmar)),
],
- q(6384) => [
+ q(6423) => [
q(Tanahmerah),
],
- q(6385) => [
+ q(6424) => [
q(Tichurong),
],
- q(6386) => [
+ q(6425) => [
q(Taungyo),
],
- q(6387) => [
+ q(6426) => [
q(Tawr Chin),
],
- q(6388) => [
+ q(6427) => [
q(Kaiy),
],
- q(6389) => [
+ q(6428) => [
q(Torres Strait Creole),
],
- q(6390) => [
+ q(6429) => [
q(T'en),
],
- q(6391) => [
+ q(6430) => [
q(Southeastern Tarahumara),
],
- q(6392) => [
+ q(6431) => [
q(Tecpatlan Totonac),
],
- q(6393) => [
+ q(6432) => [
q(Toda),
],
- q(6394) => [
+ q(6433) => [
q(Tulu),
],
- q(6395) => [
+ q(6434) => [
q(Thado Chin),
],
- q(6396) => [
+ q(6435) => [
q(Tagdal),
],
- q(6397) => [
+ q(6436) => [
q(Panchpargania),
],
- q(6398) => [
+ q(6437) => [
q(Embera-Tado),
],
- q(6399) => [
+ q(6438) => [
q(Tai Nua),
],
- q(6400) => [
+ q(6439) => [
q(Tiranige Diga Dogon),
],
- q(6401) => [
+ q(6440) => [
q(Talieng),
],
- q(6402) => [
+ q(6441) => [
q(Western Tamang),
],
- q(6403) => [
+ q(6442) => [
q(Thulung),
],
- q(6404) => [
+ q(6443) => [
q(Tomadino),
],
- q(6405) => [
+ q(6444) => [
q(Tajio),
],
- q(6406) => [
+ q(6445) => [
q(Tambas),
],
- q(6407) => [
+ q(6446) => [
q(Sur),
],
- q(6408) => [
+ q(6447) => [
q(Tondano),
],
- q(6409) => [
+ q(6448) => [
q(Teme),
],
- q(6410) => [
+ q(6449) => [
q(Tita),
],
- q(6411) => [
+ q(6450) => [
q(Todrah),
],
- q(6412) => [
+ q(6451) => [
q(Doutai),
],
- q(6413) => [
+ q(6452) => [
q(Tetun Dili),
],
- q(6414) => [
+ q(6453) => [
q(Tempasuk Dusun),
],
- q(6415) => [
+ q(6454) => [
q(Toro),
],
- q(6416) => [
+ q(6455) => [
q(Tandroy-Mahafaly Malagasy),
],
- q(6417) => [
+ q(6456) => [
q(Tadyawan),
],
- q(6418) => [
+ q(6457) => [
q(Temiar),
],
- q(6419) => [
+ q(6458) => [
q(Tetete),
],
- q(6420) => [
+ q(6459) => [
q(Terik),
],
- q(6421) => [
+ q(6460) => [
q(Tepo Krumen),
],
- q(6422) => [
+ q(6461) => [
q(Huehuetla Tepehua),
],
- q(6423) => [
+ q(6462) => [
q(Teressa),
],
- q(6424) => [
+ q(6463) => [
q(Teke-Tege),
],
- q(6425) => [
+ q(6464) => [
q(Tehuelche),
],
- q(6426) => [
+ q(6465) => [
q(Torricelli),
],
- q(6427) => [
+ q(6466) => [
q(Ibali Teke),
],
- q(6428) => [
+ q(6467) => [
q(Tama (Colombia)),
],
- q(6429) => [
+ q(6468) => [
q(Teso),
],
- q(6430) => [
+ q(6469) => [
q(Tepecano),
],
- q(6431) => [
+ q(6470) => [
q(Temein),
],
- q(6432) => [
+ q(6471) => [
q(Tengger),
],
- q(6433) => [
+ q(6472) => [
q(Soo),
],
- q(6434) => [
+ q(6473) => [
q(Teor),
],
- q(6435) => [
+ q(6474) => [
q(Tewa (USA)),
],
- q(6436) => [
+ q(6475) => [
q(Tennet),
],
- q(6437) => [
+ q(6476) => [
q(Tulishi),
],
- q(6438) => [
+ q(6477) => [
q(Tofin Gbe),
],
- q(6439) => [
+ q(6478) => [
q(Tanaina),
],
- q(6440) => [
+ q(6479) => [
q(Tefaro),
],
- q(6441) => [
+ q(6480) => [
q(Teribe),
],
- q(6442) => [
+ q(6481) => [
q(Ternate),
],
- q(6443) => [
+ q(6482) => [
q(Sagalla),
],
- q(6444) => [
+ q(6483) => [
q(Tobilung),
],
- q(6445) => [
+ q(6484) => [
q(Tigak),
],
- q(6446) => [
+ q(6485) => [
q(Ciwogai),
],
- q(6447) => [
+ q(6486) => [
q(Eastern Gorkha Tamang),
],
- q(6448) => [
+ q(6487) => [
q(Chalikha),
],
- q(6449) => [
- q(Tangga),
- ],
- q(6450) => [
+ q(6488) => [
q(Tobagonian Creole English),
],
- q(6451) => [
+ q(6489) => [
q(Lawunuia),
],
- q(6452) => [
+ q(6490) => [
q(Tagin),
],
- q(6453) => [
+ q(6491) => [
q(Tandaganon),
],
- q(6454) => [
+ q(6492) => [
q(Sudest),
],
- q(6455) => [
+ q(6493) => [
q(Tangoa),
],
- q(6456) => [
+ q(6494) => [
q(Tring),
],
- q(6457) => [
+ q(6495) => [
q(Tareng),
],
- q(6458) => [
+ q(6496) => [
q(Nume),
],
- q(6459) => [
+ q(6497) => [
q(Central Tagbanwa),
],
- q(6460) => [
+ q(6498) => [
q(Tanggu),
],
- q(6461) => [
+ q(6499) => [
q(Tingui-Boto),
],
- q(6462) => [
+ q(6500) => [
q(Tagwana Senoufo),
],
- q(6463) => [
+ q(6501) => [
q(Tagish),
],
- q(6464) => [
+ q(6502) => [
q(Togoyo),
],
- q(6465) => [
+ q(6503) => [
q(Tagalaka),
],
- q(6466) => [
+ q(6504) => [
q(Tai Hang Tong),
],
- q(6467) => [
+ q(6505) => [
q(Thayore),
],
- q(6468) => [
+ q(6506) => [
q(Chitwania Tharu),
],
- q(6469) => [
+ q(6507) => [
q(Thangmi),
],
- q(6470) => [
+ q(6508) => [
q(Northern Tarahumara),
],
- q(6471) => [
+ q(6509) => [
q(Tai Long),
],
- q(6472) => [
+ q(6510) => [
q(Tharaka),
q(Kitharaka),
],
- q(6473) => [
+ q(6511) => [
q(Dangaura Tharu),
],
- q(6474) => [
+ q(6512) => [
q(Aheu),
],
- q(6475) => [
+ q(6513) => [
q(Thachanadan),
],
- q(6476) => [
+ q(6514) => [
q(Thompson),
],
- q(6477) => [
+ q(6515) => [
q(Kochila Tharu),
],
- q(6478) => [
+ q(6516) => [
q(Rana Tharu),
],
- q(6479) => [
+ q(6517) => [
q(Thakali),
],
- q(6480) => [
+ q(6518) => [
q(Tahltan),
],
- q(6481) => [
+ q(6519) => [
q(Thuri),
],
- q(6482) => [
+ q(6520) => [
q(Tahaggart Tamahaq),
],
- q(6483) => [
+ q(6521) => [
q(Thudam),
],
- q(6484) => [
+ q(6522) => [
q(The),
],
- q(6485) => [
+ q(6523) => [
q(Tha),
],
- q(6486) => [
+ q(6524) => [
q(Tayart Tamajeq),
],
- q(6487) => [
+ q(6525) => [
q(Tidikelt Tamazight),
],
- q(6488) => [
+ q(6526) => [
q(Tira),
],
- q(6489) => [
+ q(6527) => [
q(Tidong),
],
- q(6490) => [
+ q(6528) => [
q(Tifal),
],
- q(6491) => [
+ q(6529) => [
q(Timugon Murut),
],
- q(6492) => [
+ q(6530) => [
q(Tiene),
],
- q(6493) => [
+ q(6531) => [
q(Tilung),
],
- q(6494) => [
+ q(6532) => [
q(Tikar),
],
- q(6495) => [
+ q(6533) => [
q(Tillamook),
],
- q(6496) => [
+ q(6534) => [
q(Timbe),
],
- q(6497) => [
+ q(6535) => [
q(Tindi),
],
- q(6498) => [
+ q(6536) => [
q(Teop),
],
- q(6499) => [
+ q(6537) => [
q(Trimuris),
],
- q(6500) => [
+ q(6538) => [
q(Tiefo),
],
- q(6501) => [
+ q(6539) => [
q(Masadiit Itneg),
],
- q(6502) => [
+ q(6540) => [
q(Tinigua),
],
- q(6503) => [
+ q(6541) => [
q(Adasen),
],
- q(6504) => [
+ q(6542) => [
q(Tiwi),
],
- q(6505) => [
+ q(6543) => [
q(Southern Tiwa),
],
- q(6506) => [
+ q(6544) => [
q(Tiruray),
],
- q(6507) => [
+ q(6545) => [
q(Tai Hongjin),
],
- q(6508) => [
+ q(6546) => [
q(Tajuasohn),
],
- q(6509) => [
+ q(6547) => [
q(Tunjung),
],
- q(6510) => [
+ q(6548) => [
q(Northern Tujia),
],
- q(6511) => [
+ q(6549) => [
q(Tai Laing),
],
- q(6512) => [
+ q(6550) => [
q(Timucua),
],
- q(6513) => [
+ q(6551) => [
q(Tonjon),
],
- q(6514) => [
+ q(6552) => [
q(Temacine Tamazight),
],
- q(6515) => [
+ q(6553) => [
q(Southern Tujia),
],
- q(6516) => [
+ q(6554) => [
q(Tjurruru),
],
- q(6517) => [
+ q(6555) => [
+ q(Djabwurrung),
+ ],
+ q(6556) => [
q(Truka),
],
- q(6518) => [
+ q(6557) => [
q(Buksa),
],
- q(6519) => [
+ q(6558) => [
q(Tukudede),
],
- q(6520) => [
+ q(6559) => [
q(Takwane),
],
- q(6521) => [
+ q(6560) => [
q(Tukumanfed),
],
- q(6522) => [
+ q(6561) => [
q(Tesaka Malagasy),
],
- q(6523) => [
+ q(6562) => [
q(Takelma),
],
- q(6524) => [
+ q(6563) => [
q(Toku-No-Shima),
],
- q(6525) => [
+ q(6564) => [
q(Tikopia),
],
- q(6526) => [
+ q(6565) => [
q(Tee),
],
- q(6527) => [
+ q(6566) => [
q(Tsakhur),
],
- q(6528) => [
+ q(6567) => [
q(Takestani),
],
- q(6529) => [
+ q(6568) => [
q(Kathoriya Tharu),
],
- q(6530) => [
+ q(6569) => [
q(Upper Necaxa Totonac),
],
- q(6531) => [
+ q(6570) => [
q(Teanu),
],
- q(6532) => [
+ q(6571) => [
q(Tangko),
],
- q(6533) => [
+ q(6572) => [
q(Takua),
],
- q(6534) => [
+ q(6573) => [
q(Southwestern Tepehuan),
],
- q(6535) => [
+ q(6574) => [
q(Tobelo),
],
- q(6536) => [
+ q(6575) => [
q(Yecuatla Totonac),
],
- q(6537) => [
+ q(6576) => [
q(Talaud),
],
- q(6538) => [
+ q(6577) => [
q(Telefol),
],
- q(6539) => [
+ q(6578) => [
q(Tofanma),
],
- q(6540) => [
+ q(6579) => [
q(Talinga-Bwisi),
],
- q(6541) => [
+ q(6580) => [
q(Taloki),
],
- q(6542) => [
+ q(6581) => [
q(Tetela),
],
- q(6543) => [
+ q(6582) => [
q(Tolomako),
],
- q(6544) => [
+ q(6583) => [
q(Talondo'),
],
- q(6545) => [
+ q(6584) => [
q(Talodi),
],
- q(6546) => [
+ q(6585) => [
q(Filomena Mata-Coahuitlan Totonac),
],
- q(6547) => [
+ q(6586) => [
q(Tai Loi),
],
- q(6548) => [
+ q(6587) => [
q(Talise),
],
- q(6549) => [
+ q(6588) => [
q(Tambotalo),
],
- q(6550) => [
+ q(6589) => [
q(Teluti),
],
- q(6551) => [
+ q(6590) => [
q(Tulehu),
],
- q(6552) => [
+ q(6591) => [
q(Taliabu),
],
- q(6553) => [
+ q(6592) => [
q(Khehek),
],
- q(6554) => [
+ q(6593) => [
q(Talysh),
],
- q(6555) => [
+ q(6594) => [
q(Tama (Chad)),
],
- q(6556) => [
+ q(6595) => [
q(Katbol),
q(Avava),
],
- q(6557) => [
+ q(6596) => [
q(Tumak),
],
- q(6558) => [
+ q(6597) => [
q(Haruai),
],
- q(6559) => [
+ q(6598) => [
q(Tremembe),
],
- q(6560) => [
+ q(6599) => [
q(Toba-Maskoy),
],
- q(6561) => [
+ q(6600) => [
q(Ternateno),
],
- q(6562) => [
+ q(6601) => [
q(Tutuba),
],
- q(6563) => [
+ q(6602) => [
q(Samarokena),
],
- q(6564) => [
+ q(6603) => [
q(Northwestern Tamang),
],
- q(6565) => [
+ q(6604) => [
q(Tamnim Citak),
],
- q(6566) => [
+ q(6605) => [
q(Tai Thanh),
],
- q(6567) => [
+ q(6606) => [
q(Taman (Indonesia)),
],
- q(6568) => [
+ q(6607) => [
q(Temoq),
],
- q(6569) => [
+ q(6608) => [
q(Tai Mene),
],
- q(6570) => [
+ q(6609) => [
q(Tumleo),
],
- q(6571) => [
+ q(6610) => [
q(Jewish Babylonian Aramaic (ca. 200-1200 CE)),
],
- q(6572) => [
+ q(6611) => [
q(Tima),
],
- q(6573) => [
+ q(6612) => [
q(Tasmate),
],
- q(6574) => [
+ q(6613) => [
q(Iau),
],
- q(6575) => [
+ q(6614) => [
q(Tembo (Motembo)),
],
- q(6576) => [
+ q(6615) => [
q(Temuan),
],
- q(6577) => [
+ q(6616) => [
q(Tami),
],
- q(6578) => [
+ q(6617) => [
q(Tamanaku),
],
- q(6579) => [
+ q(6618) => [
q(Tacana),
],
- q(6580) => [
+ q(6619) => [
q(Western Tunebo),
],
- q(6581) => [
+ q(6620) => [
q(Tanimuca-Retuara),
],
- q(6582) => [
+ q(6621) => [
q(Angosturas Tunebo),
],
- q(6583) => [
+ q(6622) => [
q(Tinoc Kallahan),
],
- q(6584) => [
+ q(6623) => [
q(Tobanga),
],
- q(6585) => [
+ q(6624) => [
q(Maiani),
],
- q(6586) => [
+ q(6625) => [
q(Tandia),
],
- q(6587) => [
+ q(6626) => [
q(Kwamera),
],
- q(6588) => [
+ q(6627) => [
q(Lenakel),
],
- q(6589) => [
+ q(6628) => [
q(Tabla),
],
- q(6590) => [
+ q(6629) => [
q(North Tanna),
],
- q(6591) => [
+ q(6630) => [
q(Toromono),
],
- q(6592) => [
+ q(6631) => [
q(Whitesands),
],
- q(6593) => [
+ q(6632) => [
q(Taino),
],
- q(6594) => [
- q(Bedik),
+ q(6633) => [
+ q(Menik),
],
- q(6595) => [
+ q(6634) => [
q(Tenis),
],
- q(6596) => [
+ q(6635) => [
q(Tontemboan),
],
- q(6597) => [
+ q(6636) => [
q(Tay Khang),
],
- q(6598) => [
+ q(6637) => [
q(Tangchangya),
],
- q(6599) => [
+ q(6638) => [
q(Tonsawang),
],
- q(6600) => [
+ q(6639) => [
q(Tanema),
],
- q(6601) => [
+ q(6640) => [
q(Tongwe),
],
- q(6602) => [
+ q(6641) => [
q(Tonga (Thailand)),
],
- q(6603) => [
+ q(6642) => [
q(Toba),
],
- q(6604) => [
+ q(6643) => [
q(Coyutla Totonac),
],
- q(6605) => [
+ q(6644) => [
q(Toma),
],
- q(6606) => [
+ q(6645) => [
q(Tomedes),
],
- q(6607) => [
+ q(6646) => [
q(Gizrra),
],
- q(6608) => [
+ q(6647) => [
q(Gitonga),
],
- q(6609) => [
+ q(6648) => [
q(Tonga (Zambia)),
],
- q(6610) => [
+ q(6649) => [
q(Tojolabal),
],
- q(6611) => [
+ q(6650) => [
q(Tolowa),
],
- q(6612) => [
+ q(6651) => [
q(Tombulu),
],
- q(6613) => [
+ q(6652) => [
q(Xicotepec De Juarez Totonac),
],
- q(6614) => [
+ q(6653) => [
q(Papantla Totonac),
],
- q(6615) => [
+ q(6654) => [
q(Toposa),
],
- q(6616) => [
+ q(6655) => [
q(Togbo-Vara Banda),
],
- q(6617) => [
+ q(6656) => [
q(Highland Totonac),
],
- q(6618) => [
+ q(6657) => [
q(Tho),
],
- q(6619) => [
+ q(6658) => [
q(Upper Taromi),
],
- q(6620) => [
+ q(6659) => [
q(Jemez),
],
- q(6621) => [
+ q(6660) => [
q(Tobian),
],
- q(6622) => [
+ q(6661) => [
q(Topoiyo),
],
- q(6623) => [
+ q(6662) => [
q(To),
],
- q(6624) => [
+ q(6663) => [
q(Taupota),
],
- q(6625) => [
+ q(6664) => [
q(Azoyu Me'phaa),
q(Azoyu Tlapanec),
],
- q(6626) => [
+ q(6665) => [
q(Tippera),
],
- q(6627) => [
+ q(6666) => [
q(Tarpia),
],
- q(6628) => [
+ q(6667) => [
q(Kula),
],
- q(6629) => [
+ q(6668) => [
q(Tapiete),
],
- q(6630) => [
+ q(6669) => [
q(Tupinikin),
],
- q(6631) => [
+ q(6670) => [
q(Tlacoapa Me'phaa),
q(Tlacoapa Tlapanec),
],
- q(6632) => [
+ q(6671) => [
q(Tampulma),
],
- q(6633) => [
+ q(6672) => [
q(Tupinamba),
],
- q(6634) => [
+ q(6673) => [
q(Tai Pao),
],
- q(6635) => [
+ q(6674) => [
q(Pisaflores Tepehua),
],
- q(6636) => [
+ q(6675) => [
q(Tukpa),
],
- q(6637) => [
+ q(6676) => [
q(Tupari),
],
- q(6638) => [
+ q(6677) => [
q(Tlachichilco Tepehua),
],
- q(6639) => [
+ q(6678) => [
q(Tampuan),
],
- q(6640) => [
+ q(6679) => [
q(Tanapag),
],
- q(6641) => [
+ q(6680) => [
q(Tupi),
],
- q(6642) => [
+ q(6681) => [
q(Acatepec Me'phaa),
q(Acatepec Tlapanec),
],
- q(6643) => [
+ q(6682) => [
q(Trumai),
],
- q(6644) => [
+ q(6683) => [
q(Tinputz),
],
- q(6645) => [
+ q(6684) => [
q(Tembe),
],
- q(6646) => [
+ q(6685) => [
q(Lehali),
],
- q(6647) => [
+ q(6686) => [
q(Turumsa),
],
- q(6648) => [
+ q(6687) => [
q(Tenino),
],
- q(6649) => [
+ q(6688) => [
q(Toaripi),
],
- q(6650) => [
+ q(6689) => [
q(Tomoip),
],
- q(6651) => [
+ q(6690) => [
q(Tunni),
],
- q(6652) => [
+ q(6691) => [
q(Torona),
],
- q(6653) => [
+ q(6692) => [
q(Western Totonac),
],
- q(6654) => [
+ q(6693) => [
q(Touo),
],
- q(6655) => [
+ q(6694) => [
q(Tonkawa),
],
- q(6656) => [
+ q(6695) => [
q(Tirahi),
],
- q(6657) => [
+ q(6696) => [
q(Terebu),
],
- q(6658) => [
+ q(6697) => [
q(Copala Triqui),
],
- q(6659) => [
+ q(6698) => [
q(Turi),
],
- q(6660) => [
+ q(6699) => [
q(East Tarangan),
],
- q(6661) => [
+ q(6700) => [
q(Trinidadian Creole English),
],
- q(6662) => [
+ q(6701) => [
q(Lishan Didan),
],
- q(6663) => [
+ q(6702) => [
q(Turaka),
],
- q(6664) => [
+ q(6703) => [
q(Trio),
],
- q(6665) => [
+ q(6704) => [
q(Toram),
],
- q(6666) => [
+ q(6705) => [
q(Traveller Scottish),
],
- q(6667) => [
+ q(6706) => [
q(Tregami),
],
- q(6668) => [
+ q(6707) => [
q(Trinitario),
],
- q(6669) => [
+ q(6708) => [
q(Tarao Naga),
],
- q(6670) => [
+ q(6709) => [
q(Kok Borok),
],
- q(6671) => [
+ q(6710) => [
q(San Martin Itunyoso Triqui),
],
- q(6672) => [
+ q(6711) => [
q(Taushiro),
],
- q(6673) => [
+ q(6712) => [
q(Chicahuaxtla Triqui),
],
- q(6674) => [
+ q(6713) => [
q(Tunggare),
],
- q(6675) => [
+ q(6714) => [
q(Turoyo),
q(Surayt),
],
- q(6676) => [
+ q(6715) => [
q(Taroko),
],
- q(6677) => [
+ q(6716) => [
q(Torwali),
],
- q(6678) => [
+ q(6717) => [
q(Tringgus-Sembaan Bidayuh),
],
- q(6679) => [
+ q(6718) => [
q(Turung),
],
- q(6680) => [
+ q(6719) => [
q(Tora),
],
- q(6681) => [
+ q(6720) => [
q(Tsaangi),
],
- q(6682) => [
+ q(6721) => [
q(Tsamai),
],
- q(6683) => [
+ q(6722) => [
q(Tswa),
],
- q(6684) => [
+ q(6723) => [
q(Tsakonian),
],
- q(6685) => [
+ q(6724) => [
q(Tunisian Sign Language),
],
- q(6686) => [
+ q(6725) => [
q(Southwestern Tamang),
],
- q(6687) => [
+ q(6726) => [
q(Tausug),
],
- q(6688) => [
+ q(6727) => [
q(Tsuvan),
],
- q(6689) => [
+ q(6728) => [
q(Tshangla),
],
- q(6690) => [
+ q(6729) => [
q(Tseku),
],
- q(6691) => [
+ q(6730) => [
q(Ts'un-Lao),
],
- q(6692) => [
+ q(6731) => [
q(Turkish Sign Language),
q(Turk Isaret Dili),
],
- q(6693) => [
+ q(6732) => [
q(Northern Toussian),
],
- q(6694) => [
+ q(6733) => [
q(Thai Sign Language),
],
- q(6695) => [
+ q(6734) => [
q(Akei),
],
- q(6696) => [
+ q(6735) => [
q(Taiwan Sign Language),
],
- q(6697) => [
+ q(6736) => [
q(Tondi Songway Kiini),
],
- q(6698) => [
+ q(6737) => [
q(Tsou),
],
- q(6699) => [
+ q(6738) => [
q(Tsogo),
],
- q(6700) => [
+ q(6739) => [
q(Tsishingini),
],
- q(6701) => [
+ q(6740) => [
q(Mubami),
],
- q(6702) => [
+ q(6741) => [
q(Tebul Sign Language),
],
- q(6703) => [
+ q(6742) => [
q(Purepecha),
],
- q(6704) => [
+ q(6743) => [
q(Tutelo),
],
- q(6705) => [
+ q(6744) => [
q(Gaa),
],
- q(6706) => [
+ q(6745) => [
q(Tektiteko),
],
- q(6707) => [
+ q(6746) => [
q(Tauade),
],
- q(6708) => [
+ q(6747) => [
q(Bwanabwana),
],
- q(6709) => [
+ q(6748) => [
q(Tuotomb),
],
- q(6710) => [
+ q(6749) => [
q(Tutong),
],
- q(6711) => [
+ q(6750) => [
q(Upper Ta'oih),
],
- q(6712) => [
+ q(6751) => [
q(Tobati),
],
- q(6713) => [
+ q(6752) => [
q(Tooro),
],
- q(6714) => [
+ q(6753) => [
q(Totoro),
],
- q(6715) => [
+ q(6754) => [
q(Totela),
],
- q(6716) => [
+ q(6755) => [
q(Northern Tutchone),
],
- q(6717) => [
+ q(6756) => [
q(Towei),
],
- q(6718) => [
+ q(6757) => [
q(Lower Ta'oih),
],
- q(6719) => [
+ q(6758) => [
q(Tombelala),
],
- q(6720) => [
+ q(6759) => [
q(Tawallammat Tamajaq),
],
- q(6721) => [
+ q(6760) => [
q(Tera),
],
- q(6722) => [
+ q(6761) => [
q(Northeastern Thai),
],
- q(6723) => [
+ q(6762) => [
q(Muslim Tat),
],
- q(6724) => [
+ q(6763) => [
q(Torau),
],
- q(6725) => [
+ q(6764) => [
q(Titan),
],
- q(6726) => [
+ q(6765) => [
q(Long Wat),
],
- q(6727) => [
+ q(6766) => [
q(Sikaritai),
],
- q(6728) => [
+ q(6767) => [
q(Tsum),
],
- q(6729) => [
+ q(6768) => [
q(Wiarumus),
],
- q(6730) => [
+ q(6769) => [
q(Tubatulabal),
],
- q(6731) => [
+ q(6770) => [
q(Mutu),
],
- q(6732) => [
+ q(6771) => [
q(Tuxa),
],
- q(6733) => [
+ q(6772) => [
q(Tuyuca),
],
- q(6734) => [
+ q(6773) => [
q(Central Tunebo),
],
- q(6735) => [
+ q(6774) => [
q(Tunia),
],
- q(6736) => [
+ q(6775) => [
q(Taulil),
],
- q(6737) => [
+ q(6776) => [
q(Tupuri),
],
- q(6738) => [
+ q(6777) => [
q(Tugutil),
],
- q(6739) => [
+ q(6778) => [
q(Tula),
],
- q(6740) => [
+ q(6779) => [
q(Tunica),
],
- q(6741) => [
+ q(6780) => [
q(Tucano),
],
- q(6742) => [
+ q(6781) => [
q(Tedaga),
],
- q(6743) => [
+ q(6782) => [
q(Tuscarora),
],
- q(6744) => [
+ q(6783) => [
q(Tututni),
],
- q(6745) => [
+ q(6784) => [
q(Turkana),
],
- q(6746) => [
+ q(6785) => [
q(Tuxinawa),
],
- q(6747) => [
+ q(6786) => [
q(Tugen),
],
- q(6748) => [
+ q(6787) => [
q(Turka),
],
- q(6749) => [
+ q(6788) => [
q(Vaghua),
],
- q(6750) => [
+ q(6789) => [
q(Tsuvadi),
],
- q(6751) => [
+ q(6790) => [
q(Te'un),
],
- q(6752) => [
+ q(6791) => [
q(Southeast Ambrym),
],
- q(6753) => [
+ q(6792) => [
q(Tela-Masbuar),
],
- q(6754) => [
+ q(6793) => [
q(Tavoyan),
],
- q(6755) => [
+ q(6794) => [
q(Tidore),
],
- q(6756) => [
+ q(6795) => [
q(Taveta),
],
- q(6757) => [
+ q(6796) => [
q(Tutsa Naga),
],
- q(6758) => [
+ q(6797) => [
q(Tunen),
],
- q(6759) => [
+ q(6798) => [
q(Sedoa),
],
- q(6760) => [
+ q(6799) => [
q(Timor Pidgin),
],
- q(6761) => [
+ q(6800) => [
q(Twana),
],
- q(6762) => [
+ q(6801) => [
q(Western Tawbuid),
],
- q(6763) => [
+ q(6802) => [
q(Teshenawa),
],
- q(6764) => [
+ q(6803) => [
q(Twents),
],
- q(6765) => [
+ q(6804) => [
q(Tewa (Indonesia)),
],
- q(6766) => [
+ q(6805) => [
q(Northern Tiwa),
],
- q(6767) => [
+ q(6806) => [
q(Tereweng),
],
- q(6768) => [
+ q(6807) => [
q(Tai Don),
],
- q(6769) => [
+ q(6808) => [
q(Tawara),
],
- q(6770) => [
+ q(6809) => [
q(Tawang Monpa),
],
- q(6771) => [
+ q(6810) => [
q(Twendi),
],
- q(6772) => [
+ q(6811) => [
q(Tswapong),
],
- q(6773) => [
+ q(6812) => [
q(Ere),
],
- q(6774) => [
+ q(6813) => [
q(Tasawaq),
],
- q(6775) => [
+ q(6814) => [
q(Southwestern Tarahumara),
],
- q(6776) => [
+ q(6815) => [
q(Turiwara),
],
- q(6777) => [
+ q(6816) => [
q(Termanu),
],
- q(6778) => [
+ q(6817) => [
q(Tuwari),
],
- q(6779) => [
+ q(6818) => [
q(Tewe),
],
- q(6780) => [
+ q(6819) => [
q(Tawoyan),
],
- q(6781) => [
+ q(6820) => [
q(Tombonuo),
],
- q(6782) => [
+ q(6821) => [
q(Tokharian B),
],
- q(6783) => [
+ q(6822) => [
q(Tsetsaut),
],
- q(6784) => [
+ q(6823) => [
q(Totoli),
],
- q(6785) => [
+ q(6824) => [
q(Tangut),
],
- q(6786) => [
+ q(6825) => [
q(Thracian),
],
- q(6787) => [
+ q(6826) => [
q(Ikpeng),
],
- q(6788) => [
+ q(6827) => [
q(Tomini),
],
- q(6789) => [
+ q(6828) => [
q(West Tarangan),
],
- q(6790) => [
+ q(6829) => [
q(Toto),
],
- q(6791) => [
+ q(6830) => [
q(Tii),
],
- q(6792) => [
+ q(6831) => [
q(Tartessian),
],
- q(6793) => [
+ q(6832) => [
q(Tonsea),
],
- q(6794) => [
+ q(6833) => [
q(Citak),
],
- q(6795) => [
+ q(6834) => [
q(Kayapo),
],
- q(6796) => [
+ q(6835) => [
q(Tatana),
],
- q(6797) => [
+ q(6836) => [
q(Tanosy Malagasy),
],
- q(6798) => [
+ q(6837) => [
q(Tauya),
],
- q(6799) => [
- q(Kyenga),
+ q(6838) => [
+ q(Kyanga),
],
- q(6800) => [
+ q(6839) => [
q(O'du),
],
- q(6801) => [
+ q(6840) => [
q(Teke-Tsaayi),
],
- q(6802) => [
+ q(6841) => [
q(Tai Do),
],
- q(6803) => [
+ q(6842) => [
q(Thu Lao),
],
- q(6804) => [
+ q(6843) => [
q(Kombai),
],
- q(6805) => [
+ q(6844) => [
q(Thaypan),
],
- q(6806) => [
+ q(6845) => [
q(Tai Daeng),
],
- q(6807) => [
+ q(6846) => [
q(Tay Sa Pa),
],
- q(6808) => [
+ q(6847) => [
q(Tay Tac),
],
- q(6809) => [
+ q(6848) => [
q(Kua),
],
- q(6810) => [
+ q(6849) => [
q(Teke-Tyee),
],
- q(6811) => [
+ q(6850) => [
q(Tay),
],
- q(6812) => [
+ q(6851) => [
q(Tanzanian Sign Language),
],
- q(6813) => [
+ q(6852) => [
q(Tzeltal),
],
- q(6814) => [
+ q(6853) => [
q(Tz'utujil),
],
- q(6815) => [
+ q(6854) => [
+ q(Talossan),
+ ],
+ q(6855) => [
q(Central Atlas Tamazight),
],
- q(6816) => [
+ q(6856) => [
q(Tugun),
],
- q(6817) => [
+ q(6857) => [
q(Tzotzil),
],
- q(6818) => [
+ q(6858) => [
q(Tabriak),
],
- q(6819) => [
+ q(6859) => [
q(Uamue),
],
- q(6820) => [
+ q(6860) => [
q(Kuan),
],
- q(6821) => [
+ q(6861) => [
q(Tairuma),
],
- q(6822) => [
+ q(6862) => [
q(Ubang),
],
- q(6823) => [
+ q(6863) => [
q(Ubi),
],
- q(6824) => [
+ q(6864) => [
q(Buhi'non Bikol),
],
- q(6825) => [
+ q(6865) => [
q(Ubir),
],
- q(6826) => [
+ q(6866) => [
q(Umbu-Ungu),
],
- q(6827) => [
+ q(6867) => [
q(Ubykh),
],
- q(6828) => [
+ q(6868) => [
q(Uda),
],
- q(6829) => [
+ q(6869) => [
q(Udihe),
],
- q(6830) => [
+ q(6870) => [
q(Muduga),
],
- q(6831) => [
+ q(6871) => [
q(Udi),
],
- q(6832) => [
+ q(6872) => [
q(Ujir),
],
- q(6833) => [
+ q(6873) => [
q(Wuzlam),
],
- q(6834) => [
+ q(6874) => [
q(Uduk),
],
- q(6835) => [
+ q(6875) => [
q(Kioko),
],
- q(6836) => [
+ q(6876) => [
q(Ufim),
],
- q(6837) => [
+ q(6877) => [
q(Kuku-Ugbanh),
],
- q(6838) => [
+ q(6878) => [
q(Ughele),
],
- q(6839) => [
+ q(6879) => [
q(Ugandan Sign Language),
],
- q(6840) => [
+ q(6880) => [
q(Ugong),
],
- q(6841) => [
+ q(6881) => [
q(Uruguayan Sign Language),
],
- q(6842) => [
+ q(6882) => [
q(Uhami),
],
- q(6843) => [
+ q(6883) => [
q(Damal),
],
- q(6844) => [
+ q(6884) => [
q(Uisai),
],
- q(6845) => [
+ q(6885) => [
q(Iyive),
],
- q(6846) => [
+ q(6886) => [
q(Tanjijili),
],
- q(6847) => [
+ q(6887) => [
q(Kaburi),
],
- q(6848) => [
+ q(6888) => [
q(Ukuriguma),
],
- q(6849) => [
+ q(6889) => [
q(Ukhwejo),
],
- q(6850) => [
+ q(6890) => [
q(Ukrainian Sign Language),
],
- q(6851) => [
+ q(6891) => [
q(Ukpe-Bayobiri),
],
- q(6852) => [
+ q(6892) => [
q(Ukwa),
],
- q(6853) => [
+ q(6893) => [
q(Urubu-Kaapor Sign Language),
q(Kaapor Sign Language),
],
- q(6854) => [
+ q(6894) => [
q(Ukue),
],
- q(6855) => [
+ q(6895) => [
q(Ukwuani-Aboh-Ndoni),
],
- q(6856) => [
+ q(6896) => [
q(Kuuk-Yak),
],
- q(6857) => [
+ q(6897) => [
q(Fungwa),
],
- q(6858) => [
+ q(6898) => [
q(Ulukwumi),
],
- q(6859) => [
+ q(6899) => [
q(Ulch),
],
- q(6860) => [
+ q(6900) => [
+ q(Lule),
+ ],
+ q(6901) => [
q(Usku),
q(Afra),
],
- q(6861) => [
+ q(6902) => [
q(Ulithian),
],
- q(6862) => [
+ q(6903) => [
q(Meriam),
],
- q(6863) => [
+ q(6904) => [
q(Ullatan),
],
- q(6864) => [
+ q(6905) => [
q(Ulumanda'),
],
- q(6865) => [
+ q(6906) => [
q(Unserdeutsch),
],
- q(6866) => [
+ q(6907) => [
q(Uma' Lung),
],
- q(6867) => [
+ q(6908) => [
q(Ulwa),
],
- q(6868) => [
+ q(6909) => [
q(Umatilla),
],
- q(6869) => [
+ q(6910) => [
q(Marrucinian),
],
- q(6870) => [
+ q(6911) => [
q(Umbindhamu),
],
- q(6871) => [
+ q(6912) => [
q(Umbuygamu),
],
- q(6872) => [
+ q(6913) => [
q(Ukit),
],
- q(6873) => [
+ q(6914) => [
q(Umon),
],
- q(6874) => [
+ q(6915) => [
q(Makyan Naga),
],
- q(6875) => [
+ q(6916) => [
q(Umotina),
],
- q(6876) => [
+ q(6917) => [
q(Umpila),
],
- q(6877) => [
+ q(6918) => [
q(Umbugarla),
],
- q(6878) => [
+ q(6919) => [
q(Pendau),
],
- q(6879) => [
+ q(6920) => [
q(Munsee),
],
- q(6880) => [
+ q(6921) => [
q(North Watut),
],
- q(6881) => [
+ q(6922) => [
q(Uneme),
],
- q(6882) => [
+ q(6923) => [
q(Ngarinyin),
],
- q(6883) => [
+ q(6924) => [
q(Enawene-Nawe),
],
- q(6884) => [
+ q(6925) => [
q(Unami),
],
- q(6885) => [
+ q(6926) => [
+ q(Kurnai),
+ ],
+ q(6927) => [
q(Mundari),
],
- q(6886) => [
+ q(6928) => [
+ q(Unubahe),
+ ],
+ q(6929) => [
q(Munda),
],
- q(6887) => [
+ q(6930) => [
q(Unde Kaili),
],
- q(6888) => [
+ q(6931) => [
q(Uokha),
],
- q(6889) => [
+ q(6932) => [
q(Umeda),
],
- q(6890) => [
+ q(6933) => [
q(Uripiv-Wala-Rano-Atchin),
],
- q(6891) => [
+ q(6934) => [
q(Urarina),
],
- q(6892) => [
+ q(6935) => [
q(Urubu-Kaapor),
q(Kaapor),
],
- q(6893) => [
+ q(6936) => [
q(Urningangg),
],
- q(6894) => [
+ q(6937) => [
q(Uru),
],
- q(6895) => [
+ q(6938) => [
q(Uradhi),
],
- q(6896) => [
+ q(6939) => [
q(Urigina),
],
- q(6897) => [
+ q(6940) => [
q(Urhobo),
],
- q(6898) => [
+ q(6941) => [
q(Urim),
],
- q(6899) => [
+ q(6942) => [
q(Urak Lawoi'),
],
- q(6900) => [
+ q(6943) => [
q(Urali),
],
- q(6901) => [
+ q(6944) => [
q(Urapmin),
],
- q(6902) => [
+ q(6945) => [
q(Uruangnirin),
],
- q(6903) => [
+ q(6946) => [
q(Ura (Papua New Guinea)),
],
- q(6904) => [
+ q(6947) => [
q(Uru-Pa-In),
],
- q(6905) => [
+ q(6948) => [
q(Lehalurup),
q(Loyop),
],
- q(6906) => [
+ q(6949) => [
q(Urat),
],
- q(6907) => [
+ q(6950) => [
q(Urumi),
],
- q(6908) => [
+ q(6951) => [
q(Uruava),
],
- q(6909) => [
+ q(6952) => [
q(Sop),
],
- q(6910) => [
+ q(6953) => [
q(Urimo),
],
- q(6911) => [
+ q(6954) => [
q(Orya),
],
- q(6912) => [
+ q(6955) => [
q(Uru-Eu-Wau-Wau),
],
- q(6913) => [
+ q(6956) => [
q(Usarufa),
],
- q(6914) => [
+ q(6957) => [
q(Ushojo),
],
- q(6915) => [
+ q(6958) => [
q(Usui),
],
- q(6916) => [
+ q(6959) => [
q(Usaghade),
],
- q(6917) => [
+ q(6960) => [
q(Uspanteco),
],
- q(6918) => [
+ q(6961) => [
q(Uya),
],
- q(6919) => [
+ q(6962) => [
q(Otank),
],
- q(6920) => [
+ q(6963) => [
q(Ute-Southern Paiute),
],
- q(6921) => [
+ q(6964) => [
q(Amba (Solomon Islands)),
],
- q(6922) => [
+ q(6965) => [
q(Etulo),
],
- q(6923) => [
+ q(6966) => [
q(Utu),
],
- q(6924) => [
+ q(6967) => [
q(Urum),
],
- q(6925) => [
+ q(6968) => [
q(Kulon-Pazeh),
],
- q(6926) => [
+ q(6969) => [
q(Ura (Vanuatu)),
],
- q(6927) => [
+ q(6970) => [
q(U),
],
- q(6928) => [
+ q(6971) => [
q(West Uvean),
+ q(Fagauvea),
],
- q(6929) => [
+ q(6972) => [
q(Uri),
],
- q(6930) => [
+ q(6973) => [
q(Lote),
],
- q(6931) => [
+ q(6974) => [
q(Kuku-Uwanh),
],
- q(6932) => [
+ q(6975) => [
q(Doko-Uyanga),
],
- q(6933) => [
+ q(6976) => [
q(Northern Uzbek),
],
- q(6934) => [
+ q(6977) => [
q(Southern Uzbek),
],
- q(6935) => [
+ q(6978) => [
q(Vaagri Booli),
],
- q(6936) => [
+ q(6979) => [
q(Vale),
],
- q(6937) => [
+ q(6980) => [
q(Vafsi),
],
- q(6938) => [
+ q(6981) => [
q(Vagla),
],
- q(6939) => [
+ q(6982) => [
q(Varhadi-Nagpuri),
],
- q(6940) => [
+ q(6983) => [
q(Vasekela Bushman),
],
- q(6941) => [
+ q(6984) => [
q(Vehes),
],
- q(6942) => [
+ q(6985) => [
q(Vanimo),
],
- q(6943) => [
+ q(6986) => [
q(Valman),
],
- q(6944) => [
+ q(6987) => [
q(Vao),
],
- q(6945) => [
+ q(6988) => [
q(Vaiphei),
],
- q(6946) => [
+ q(6989) => [
q(Huarijio),
],
- q(6947) => [
+ q(6990) => [
q(Vasavi),
],
- q(6948) => [
+ q(6991) => [
q(Vanuma),
],
- q(6949) => [
+ q(6992) => [
q(Varli),
],
- q(6950) => [
+ q(6993) => [
q(Wayu),
],
- q(6951) => [
+ q(6994) => [
q(Southeast Babar),
],
- q(6952) => [
+ q(6995) => [
q(Southwestern Bontok),
],
- q(6953) => [
+ q(6996) => [
q(Venetian),
],
- q(6954) => [
+ q(6997) => [
q(Veddah),
],
- q(6955) => [
+ q(6998) => [
q(Veluws),
],
- q(6956) => [
+ q(6999) => [
q(Vemgo-Mabas),
],
- q(6957) => [
+ q(7000) => [
q(Ventureno),
],
- q(6958) => [
+ q(7001) => [
q(Veps),
],
- q(6959) => [
+ q(7002) => [
q(Mom Jango),
],
- q(6960) => [
+ q(7003) => [
q(Vaghri),
],
- q(6961) => [
+ q(7004) => [
q(Vlaamse Gebarentaal),
q(Flemish Sign Language),
],
- q(6962) => [
+ q(7005) => [
q(Virgin Islands Creole English),
],
- q(6963) => [
+ q(7006) => [
q(Vidunda),
],
- q(6964) => [
+ q(7007) => [
q(Vili),
],
- q(6965) => [
+ q(7008) => [
q(Viemo),
],
- q(6966) => [
+ q(7009) => [
q(Vilela),
],
- q(6967) => [
+ q(7010) => [
q(Vinza),
],
- q(6968) => [
+ q(7011) => [
q(Vishavan),
],
- q(6969) => [
+ q(7012) => [
q(Viti),
],
- q(6970) => [
+ q(7013) => [
q(Iduna),
],
- q(6971) => [
+ q(7014) => [
q(Kariyarra),
],
- q(6972) => [
+ q(7015) => [
q(Ija-Zuba),
],
- q(6973) => [
+ q(7016) => [
q(Kujarge),
],
- q(6974) => [
+ q(7017) => [
q(Kaur),
],
- q(6975) => [
+ q(7018) => [
q(Kulisusu),
],
- q(6976) => [
+ q(7019) => [
q(Kamakan),
],
- q(6977) => [
+ q(7020) => [
q(Kodeoha),
],
- q(6978) => [
+ q(7021) => [
q(Korlai Creole Portuguese),
],
- q(6979) => [
+ q(7022) => [
q(Tenggarong Kutai Malay),
],
- q(6980) => [
+ q(7023) => [
q(Kurrama),
],
- q(6981) => [
+ q(7024) => [
q(Valpei),
],
- q(6982) => [
+ q(7025) => [
q(Vlaams),
],
- q(6983) => [
+ q(7026) => [
q(Martuyhunira),
],
- q(6984) => [
- q(Mbabaram),
+ q(7027) => [
+ q(Barbaram),
],
- q(6985) => [
+ q(7028) => [
q(Juxtlahuaca Mixtec),
],
- q(6986) => [
+ q(7029) => [
q(Mudu Koraga),
],
- q(6987) => [
+ q(7030) => [
q(East Masela),
],
- q(6988) => [
+ q(7031) => [
q(Mainfrankisch),
],
- q(6989) => [
- q(Minigir),
+ q(7032) => [
+ q(Lungalunga),
],
- q(6990) => [
+ q(7033) => [
q(Maraghei),
],
- q(6991) => [
+ q(7034) => [
q(Miwa),
],
- q(6992) => [
+ q(7035) => [
q(Ixtayutla Mixtec),
],
- q(6993) => [
+ q(7036) => [
q(Makhuwa-Shirima),
],
- q(6994) => [
+ q(7037) => [
q(Malgana),
],
- q(6995) => [
+ q(7038) => [
q(Mitlatongo Mixtec),
],
- q(6996) => [
+ q(7039) => [
q(Soyaltepec Mazatec),
],
- q(6997) => [
+ q(7040) => [
q(Soyaltepec Mixtec),
],
- q(6998) => [
+ q(7041) => [
q(Marenje),
],
- q(6999) => [
+ q(7042) => [
q(Moksela),
],
- q(7000) => [
+ q(7043) => [
q(Muluridyi),
],
- q(7001) => [
+ q(7044) => [
q(Valley Maidu),
],
- q(7002) => [
+ q(7045) => [
q(Makhuwa),
],
- q(7003) => [
+ q(7046) => [
q(Tamazola Mixtec),
],
- q(7004) => [
+ q(7047) => [
q(Ayautla Mazatec),
],
- q(7005) => [
+ q(7048) => [
q(Mazatlan Mazatec),
],
- q(7006) => [
+ q(7049) => [
q(Vano),
q(Lovono),
],
- q(7007) => [
+ q(7050) => [
q(Vinmavis),
q(Neve'ei),
],
- q(7008) => [
+ q(7051) => [
q(Vunapu),
],
- q(7009) => [
+ q(7052) => [
q(Voro),
],
- q(7010) => [
+ q(7053) => [
q(Vera'a),
],
- q(7011) => [
+ q(7054) => [
q(Varisi),
],
- q(7012) => [
+ q(7055) => [
q(Burmbar),
q(Banam Bay),
],
- q(7013) => [
+ q(7056) => [
q(Moldova Sign Language),
],
- q(7014) => [
+ q(7057) => [
q(Venezuelan Sign Language),
],
- q(7015) => [
+ q(7058) => [
q(Valencian Sign Language),
q(Llengua de signes valenciana),
],
- q(7016) => [
+ q(7059) => [
q(Vitou),
],
- q(7017) => [
+ q(7060) => [
q(Vumbu),
],
- q(7018) => [
+ q(7061) => [
q(Vunjo),
],
- q(7019) => [
+ q(7062) => [
q(Vute),
],
- q(7020) => [
+ q(7063) => [
q(Awa (China)),
],
- q(7021) => [
+ q(7064) => [
q(Walla Walla),
],
- q(7022) => [
+ q(7065) => [
q(Wab),
],
- q(7023) => [
+ q(7066) => [
q(Wasco-Wishram),
],
- q(7024) => [
+ q(7067) => [
q(Wandamen),
],
- q(7025) => [
+ q(7068) => [
q(Walser),
],
- q(7026) => [
+ q(7069) => [
q(Wakona),
],
- q(7027) => [
+ q(7070) => [
q(Wa'ema),
],
- q(7028) => [
+ q(7071) => [
q(Watubela),
],
- q(7029) => [
+ q(7072) => [
q(Wares),
],
- q(7030) => [
+ q(7073) => [
q(Waffa),
],
- q(7031) => [
+ q(7074) => [
q(Wampanoag),
],
- q(7032) => [
+ q(7075) => [
q(Wan),
],
- q(7033) => [
+ q(7076) => [
q(Wappo),
],
- q(7034) => [
+ q(7077) => [
q(Wapishana),
],
- q(7035) => [
+ q(7078) => [
q(Wageman),
],
- q(7036) => [
+ q(7079) => [
q(Kaninuwa),
],
- q(7037) => [
+ q(7080) => [
q(Waura),
],
- q(7038) => [
+ q(7081) => [
q(Waka),
],
- q(7039) => [
+ q(7082) => [
q(Waiwai),
],
- q(7040) => [
+ q(7083) => [
q(Watam),
+ q(Marangis),
],
- q(7041) => [
+ q(7084) => [
q(Wayana),
],
- q(7042) => [
+ q(7085) => [
q(Wampur),
],
- q(7043) => [
+ q(7086) => [
q(Warao),
],
- q(7044) => [
+ q(7087) => [
q(Wabo),
],
- q(7045) => [
+ q(7088) => [
q(Waritai),
],
- q(7046) => [
+ q(7089) => [
q(Wanda),
],
- q(7047) => [
+ q(7090) => [
q(Vwanji),
],
- q(7048) => [
+ q(7091) => [
q(Alagwa),
],
- q(7049) => [
+ q(7092) => [
q(Waigali),
],
- q(7050) => [
+ q(7093) => [
q(Wakhi),
],
- q(7051) => [
+ q(7094) => [
q(Wa),
],
- q(7052) => [
+ q(7095) => [
q(Warlpiri),
],
- q(7053) => [
+ q(7096) => [
q(Waddar),
],
- q(7054) => [
+ q(7097) => [
q(Wagdi),
],
- q(7055) => [
+ q(7098) => [
q(Wanman),
],
- q(7056) => [
+ q(7099) => [
q(Wajarri),
],
- q(7057) => [
+ q(7100) => [
q(Woi),
],
- q(7058) => [
+ q(7101) => [
q(Yanomami),
],
- q(7059) => [
+ q(7102) => [
q(Waci Gbe),
],
- q(7060) => [
+ q(7103) => [
q(Wandji),
],
- q(7061) => [
+ q(7104) => [
q(Wadaginam),
],
- q(7062) => [
+ q(7105) => [
q(Wadjiginy),
],
- q(7063) => [
+ q(7106) => [
+ q(Wadikali),
+ ],
+ q(7107) => [
q(Wadjigu),
],
- q(7064) => [
+ q(7108) => [
+ q(Wadjabangayi),
+ ],
+ q(7109) => [
q(Wewaw),
],
- q(7065) => [
+ q(7110) => [
q(We Western),
],
- q(7066) => [
+ q(7111) => [
q(Wedau),
],
- q(7067) => [
+ q(7112) => [
+ q(Wergaia),
+ ],
+ q(7113) => [
q(Weh),
],
- q(7068) => [
+ q(7114) => [
q(Kiunum),
],
- q(7069) => [
+ q(7115) => [
q(Weme Gbe),
],
- q(7070) => [
+ q(7116) => [
q(Wemale),
],
- q(7071) => [
+ q(7117) => [
q(Westphalien),
],
- q(7072) => [
+ q(7118) => [
q(Weri),
],
- q(7073) => [
+ q(7119) => [
q(Cameroon Pidgin),
],
- q(7074) => [
+ q(7120) => [
q(Perai),
],
- q(7075) => [
+ q(7121) => [
q(Rawngtu Chin),
],
- q(7076) => [
+ q(7122) => [
q(Wejewa),
],
- q(7077) => [
+ q(7123) => [
q(Yafi),
q(Zorop),
],
- q(7078) => [
+ q(7124) => [
q(Wagaya),
],
- q(7079) => [
+ q(7125) => [
q(Wagawaga),
],
- q(7080) => [
+ q(7126) => [
q(Wangganguru),
],
- q(7081) => [
+ q(7127) => [
q(Wahgi),
],
- q(7082) => [
+ q(7128) => [
q(Waigeo),
],
- q(7083) => [
+ q(7129) => [
q(Wirangu),
],
- q(7084) => [
+ q(7130) => [
q(Warrgamay),
],
- q(7085) => [
+ q(7131) => [
q(Manusela),
],
- q(7086) => [
+ q(7132) => [
q(North Wahgi),
],
- q(7087) => [
+ q(7133) => [
q(Wahau Kenyah),
],
- q(7088) => [
+ q(7134) => [
q(Wahau Kayan),
],
- q(7089) => [
+ q(7135) => [
q(Southern Toussian),
],
- q(7090) => [
+ q(7136) => [
q(Wichita),
],
- q(7091) => [
+ q(7137) => [
q(Wik-Epa),
],
- q(7092) => [
+ q(7138) => [
q(Wik-Keyangan),
],
- q(7093) => [
+ q(7139) => [
q(Wik-Ngathana),
],
- q(7094) => [
+ q(7140) => [
q(Wik-Me'anha),
],
- q(7095) => [
+ q(7141) => [
q(Minidien),
],
- q(7096) => [
+ q(7142) => [
q(Wik-Iiyanh),
],
- q(7097) => [
+ q(7143) => [
q(Wikalkan),
],
- q(7098) => [
+ q(7144) => [
q(Wilawila),
],
- q(7099) => [
+ q(7145) => [
q(Wik-Mungkan),
],
- q(7100) => [
+ q(7146) => [
q(Ho-Chunk),
],
- q(7101) => [
+ q(7147) => [
q(Wirafed),
],
- q(7102) => [
- q(Wintu),
- ],
- q(7103) => [
+ q(7148) => [
q(Wiru),
],
- q(7104) => [
+ q(7149) => [
q(Vitu),
],
- q(7105) => [
+ q(7150) => [
q(Wiyot),
],
- q(7106) => [
+ q(7151) => [
q(Waja),
],
- q(7107) => [
+ q(7152) => [
q(Warji),
],
- q(7108) => [
+ q(7153) => [
q(Kw'adza),
],
- q(7109) => [
+ q(7154) => [
q(Kumbaran),
],
- q(7110) => [
+ q(7155) => [
q(Wakde),
q(Mo),
],
- q(7111) => [
+ q(7156) => [
q(Kalanadi),
],
- q(7112) => [
+ q(7157) => [
q(Kunduvadi),
],
- q(7113) => [
+ q(7158) => [
q(Wakawaka),
],
- q(7114) => [
+ q(7159) => [
+ q(Wangkayutyuru),
+ ],
+ q(7160) => [
q(Walio),
],
- q(7115) => [
+ q(7161) => [
q(Mwali Comorian),
],
- q(7116) => [
+ q(7162) => [
q(Wolane),
],
- q(7117) => [
+ q(7163) => [
q(Kunbarlang),
],
- q(7118) => [
+ q(7164) => [
q(Waioli),
],
- q(7119) => [
+ q(7165) => [
q(Wailaki),
],
- q(7120) => [
+ q(7166) => [
q(Wali (Sudan)),
],
- q(7121) => [
+ q(7167) => [
q(Middle Welsh),
],
- q(7122) => [
+ q(7168) => [
q(Wolio),
],
- q(7123) => [
+ q(7169) => [
q(Wailapa),
],
- q(7124) => [
+ q(7170) => [
q(Wallisian),
],
- q(7125) => [
+ q(7171) => [
q(Wuliwuli),
],
- q(7126) => [
+ q(7172) => [
q(Wichi Lhamtes Vejoz),
],
- q(7127) => [
+ q(7173) => [
q(Walak),
],
- q(7128) => [
+ q(7174) => [
q(Wali (Ghana)),
],
- q(7129) => [
+ q(7175) => [
q(Waling),
],
- q(7130) => [
+ q(7176) => [
q(Mawa (Nigeria)),
],
- q(7131) => [
+ q(7177) => [
q(Wambaya),
],
- q(7132) => [
+ q(7178) => [
q(Wamas),
],
- q(7133) => [
+ q(7179) => [
q(Mamainde),
],
- q(7134) => [
+ q(7180) => [
q(Wambule),
],
- q(7135) => [
+ q(7181) => [
q(Waima'a),
],
- q(7136) => [
+ q(7182) => [
q(Wamin),
],
- q(7137) => [
+ q(7183) => [
q(Maiwa (Indonesia)),
],
- q(7138) => [
+ q(7184) => [
q(Waamwang),
],
- q(7139) => [
+ q(7185) => [
q(Wom (Papua New Guinea)),
],
- q(7140) => [
+ q(7186) => [
q(Wambon),
],
- q(7141) => [
+ q(7187) => [
q(Walmajarri),
],
- q(7142) => [
+ q(7188) => [
q(Mwani),
],
- q(7143) => [
+ q(7189) => [
q(Womo),
],
- q(7144) => [
+ q(7190) => [
q(Wanambre),
],
- q(7145) => [
+ q(7191) => [
q(Wantoat),
],
- q(7146) => [
+ q(7192) => [
q(Wandarang),
],
- q(7147) => [
+ q(7193) => [
q(Waneci),
],
- q(7148) => [
+ q(7194) => [
q(Wanggom),
],
- q(7149) => [
+ q(7195) => [
q(Ndzwani Comorian),
],
- q(7150) => [
+ q(7196) => [
q(Wanukaka),
],
- q(7151) => [
+ q(7197) => [
q(Wanggamala),
],
- q(7152) => [
+ q(7198) => [
+ q(Wunumara),
+ ],
+ q(7199) => [
q(Wano),
],
- q(7153) => [
+ q(7200) => [
q(Wanap),
],
- q(7154) => [
+ q(7201) => [
q(Usan),
],
- q(7155) => [
+ q(7202) => [
+ q(Wintu),
+ ],
+ q(7203) => [
q(Wanyi),
],
- q(7156) => [
+ q(7204) => [
q(Tyaraity),
],
- q(7157) => [
+ q(7205) => [
q(We Northern),
],
- q(7158) => [
+ q(7206) => [
q(Wogeo),
],
- q(7159) => [
+ q(7207) => [
q(Wolani),
],
- q(7160) => [
+ q(7208) => [
q(Woleaian),
],
- q(7161) => [
+ q(7209) => [
q(Gambian Wolof),
],
- q(7162) => [
+ q(7210) => [
q(Wogamusin),
],
- q(7163) => [
+ q(7211) => [
q(Kamang),
],
- q(7164) => [
+ q(7212) => [
q(Longto),
],
- q(7165) => [
+ q(7213) => [
q(Wom (Nigeria)),
],
- q(7166) => [
+ q(7214) => [
q(Wongo),
],
- q(7167) => [
+ q(7215) => [
q(Manombai),
],
- q(7168) => [
+ q(7216) => [
q(Woria),
],
- q(7169) => [
+ q(7217) => [
q(Hanga Hundi),
],
- q(7170) => [
+ q(7218) => [
q(Wawonii),
],
- q(7171) => [
+ q(7219) => [
q(Weyto),
],
- q(7172) => [
+ q(7220) => [
q(Maco),
],
- q(7173) => [
+ q(7221) => [
q(Warapu),
],
- q(7174) => [
+ q(7222) => [
q(Warluwara),
],
- q(7175) => [
+ q(7223) => [
q(Warduji),
],
- q(7176) => [
+ q(7224) => [
q(Warungu),
],
- q(7177) => [
+ q(7225) => [
q(Wiradhuri),
],
- q(7178) => [
+ q(7226) => [
q(Wariyangga),
],
- q(7179) => [
+ q(7227) => [
q(Garrwa),
],
- q(7180) => [
+ q(7228) => [
q(Warlmanpa),
],
- q(7181) => [
+ q(7229) => [
q(Warumungu),
],
- q(7182) => [
+ q(7230) => [
q(Warnang),
],
- q(7183) => [
+ q(7231) => [
q(Worrorra),
],
- q(7184) => [
+ q(7232) => [
q(Waropen),
],
- q(7185) => [
+ q(7233) => [
q(Wardaman),
],
- q(7186) => [
+ q(7234) => [
q(Waris),
],
- q(7187) => [
+ q(7235) => [
q(Waru),
],
- q(7188) => [
+ q(7236) => [
q(Waruna),
],
- q(7189) => [
+ q(7237) => [
q(Gugu Warra),
],
- q(7190) => [
+ q(7238) => [
q(Wae Rana),
],
- q(7191) => [
+ q(7239) => [
q(Merwari),
],
- q(7192) => [
+ q(7240) => [
q(Waray (Australia)),
],
- q(7193) => [
+ q(7241) => [
q(Warembori),
],
- q(7194) => [
+ q(7242) => [
q(Wusi),
],
- q(7195) => [
+ q(7243) => [
q(Waskia),
],
- q(7196) => [
+ q(7244) => [
q(Owenia),
],
- q(7197) => [
+ q(7245) => [
q(Wasa),
],
- q(7198) => [
+ q(7246) => [
q(Wasu),
],
- q(7199) => [
+ q(7247) => [
q(Wotapuri-Katarqalai),
],
- q(7200) => [
+ q(7248) => [
q(Watiwa),
],
- q(7201) => [
+ q(7249) => [
+ q(Wathawurrung),
+ ],
+ q(7250) => [
q(Berta),
],
- q(7202) => [
+ q(7251) => [
q(Watakataui),
],
- q(7203) => [
+ q(7252) => [
q(Mewati),
],
- q(7204) => [
+ q(7253) => [
q(Wotu),
],
- q(7205) => [
+ q(7254) => [
q(Wikngenchera),
],
- q(7206) => [
+ q(7255) => [
q(Wunambal),
],
- q(7207) => [
+ q(7256) => [
q(Wudu),
],
- q(7208) => [
+ q(7257) => [
q(Wutunhua),
],
- q(7209) => [
+ q(7258) => [
q(Silimo),
],
- q(7210) => [
+ q(7259) => [
q(Wumbvu),
],
- q(7211) => [
+ q(7260) => [
q(Bungu),
],
- q(7212) => [
+ q(7261) => [
q(Wurrugu),
],
- q(7213) => [
+ q(7262) => [
q(Wutung),
],
- q(7214) => [
+ q(7263) => [
q(Wu Chinese),
],
- q(7215) => [
+ q(7264) => [
q(Wuvulu-Aua),
],
- q(7216) => [
+ q(7265) => [
q(Wulna),
],
- q(7217) => [
+ q(7266) => [
q(Wauyai),
],
- q(7218) => [
+ q(7267) => [
q(Waama),
],
- q(7219) => [
+ q(7268) => [
q(Wakabunga),
],
- q(7220) => [
+ q(7269) => [
q(Wetamut),
q(Dorig),
],
- q(7221) => [
+ q(7270) => [
q(Warrwa),
],
- q(7222) => [
+ q(7271) => [
q(Wawa),
],
- q(7223) => [
+ q(7272) => [
q(Waxianghua),
],
- q(7224) => [
+ q(7273) => [
+ q(Wardandi),
+ ],
+ q(7274) => [
q(Wyandot),
],
- q(7225) => [
+ q(7275) => [
q(Wangaaybuwan-Ngiyambaa),
],
- q(7226) => [
+ q(7276) => [
+ q(Woiwurrung),
+ ],
+ q(7277) => [
q(Wymysorys),
],
- q(7227) => [
+ q(7278) => [
q(Wayoro),
],
- q(7228) => [
+ q(7279) => [
q(Western Fijian),
],
- q(7229) => [
+ q(7280) => [
q(Andalusian Arabic),
],
- q(7230) => [
+ q(7281) => [
q(Sambe),
],
- q(7231) => [
+ q(7282) => [
q(Kachari),
],
- q(7232) => [
+ q(7283) => [
q(Adai),
],
- q(7233) => [
+ q(7284) => [
q(Aequian),
],
- q(7234) => [
+ q(7285) => [
q(Aghwan),
],
- q(7235) => [
+ q(7286) => [
q(Kaimbe),
],
- q(7236) => [
+ q(7287) => [
q(/Xam),
],
- q(7237) => [
+ q(7288) => [
q(Xamtanga),
],
- q(7238) => [
+ q(7289) => [
q(Khao),
],
- q(7239) => [
+ q(7290) => [
q(Apalachee),
],
- q(7240) => [
+ q(7291) => [
q(Aquitanian),
],
- q(7241) => [
+ q(7292) => [
q(Karami),
],
- q(7242) => [
+ q(7293) => [
q(Kamas),
],
- q(7243) => [
+ q(7294) => [
q(Katawixi),
],
- q(7244) => [
+ q(7295) => [
q(Kauwera),
],
- q(7245) => [
+ q(7296) => [
q(Xavante),
],
- q(7246) => [
+ q(7297) => [
q(Kawaiisu),
],
- q(7247) => [
+ q(7298) => [
q(Kayan Mahakam),
],
- q(7248) => [
+ q(7299) => [
q(Kamba (Brazil)),
],
- q(7249) => [
+ q(7300) => [
q(Lower Burdekin),
],
- q(7250) => [
+ q(7301) => [
q(Bactrian),
],
- q(7251) => [
+ q(7302) => [
+ q(Bindal),
+ ],
+ q(7303) => [
+ q(Bigambal),
+ ],
+ q(7304) => [
+ q(Bunganditj),
+ ],
+ q(7305) => [
q(Kombio),
],
- q(7252) => [
+ q(7306) => [
+ q(Birrpayi),
+ ],
+ q(7307) => [
q(Middle Breton),
],
- q(7253) => [
+ q(7308) => [
q(Kenaboi),
],
- q(7254) => [
+ q(7309) => [
q(Bolgarian),
],
- q(7255) => [
+ q(7310) => [
+ q(Bibbulman),
+ ],
+ q(7311) => [
q(Kambera),
],
- q(7256) => [
+ q(7312) => [
q(Kambiwa),
],
- q(7257) => [
+ q(7313) => [
q(Kabixi),
],
- q(7258) => [
+ q(7314) => [
+ q(Batyala),
+ ],
+ q(7315) => [
q(Cumbric),
],
- q(7259) => [
+ q(7316) => [
q(Camunic),
],
- q(7260) => [
+ q(7317) => [
q(Celtiberian),
],
- q(7261) => [
+ q(7318) => [
q(Cisalpine Gaulish),
],
- q(7262) => [
+ q(7319) => [
q(Chemakum),
q(Chimakum),
],
- q(7263) => [
+ q(7320) => [
q(Classical Armenian),
],
- q(7264) => [
+ q(7321) => [
q(Comecrudo),
],
- q(7265) => [
+ q(7322) => [
q(Cotoname),
],
- q(7266) => [
+ q(7323) => [
q(Chorasmian),
],
- q(7267) => [
+ q(7324) => [
q(Carian),
],
- q(7268) => [
+ q(7325) => [
q(Classical Tibetan),
],
- q(7269) => [
+ q(7326) => [
q(Curonian),
],
- q(7270) => [
+ q(7327) => [
q(Chuvantsy),
],
- q(7271) => [
+ q(7328) => [
q(Coahuilteco),
],
- q(7272) => [
+ q(7329) => [
q(Cayuse),
],
- q(7273) => [
+ q(7330) => [
+ q(Darkinyung),
+ ],
+ q(7331) => [
q(Dacian),
],
- q(7274) => [
+ q(7332) => [
+ q(Dharuk),
+ ],
+ q(7333) => [
q(Edomite),
],
- q(7275) => [
+ q(7334) => [
q(Malayic Dayak),
],
- q(7276) => [
+ q(7335) => [
q(Eblan),
],
- q(7277) => [
+ q(7336) => [
q(Hdi),
],
- q(7278) => [
+ q(7337) => [
q(//Xegwi),
],
- q(7279) => [
+ q(7338) => [
q(Kelo),
],
- q(7280) => [
+ q(7339) => [
q(Kembayan),
],
- q(7281) => [
+ q(7340) => [
q(Epi-Olmec),
],
- q(7282) => [
+ q(7341) => [
q(Xerente),
],
- q(7283) => [
+ q(7342) => [
q(Kesawai),
],
- q(7284) => [
+ q(7343) => [
q(Xeta),
],
- q(7285) => [
+ q(7344) => [
q(Keoru-Ahia),
],
- q(7286) => [
+ q(7345) => [
q(Faliscan),
],
- q(7287) => [
+ q(7346) => [
q(Galatian),
],
- q(7288) => [
+ q(7347) => [
q(Gbin),
],
- q(7289) => [
+ q(7348) => [
+ q(Gudang),
+ ],
+ q(7349) => [
q(Gabrielino-Fernandeno),
],
- q(7290) => [
+ q(7350) => [
+ q(Goreng),
+ ],
+ q(7351) => [
+ q(Garingbal),
+ ],
+ q(7352) => [
q(Galindan),
],
- q(7291) => [
+ q(7353) => [
+ q(Guwinmal),
+ ],
+ q(7354) => [
q(Garza),
],
- q(7292) => [
+ q(7355) => [
q(Unggumi),
],
- q(7293) => [
+ q(7356) => [
+ q(Guwa),
+ ],
+ q(7357) => [
q(Harami),
],
- q(7294) => [
+ q(7358) => [
q(Hunnic),
],
- q(7295) => [
+ q(7359) => [
q(Hadrami),
],
- q(7296) => [
+ q(7360) => [
q(Khetrani),
],
- q(7297) => [
+ q(7361) => [
q(Hernican),
],
- q(7298) => [
+ q(7362) => [
q(Hattic),
],
- q(7299) => [
+ q(7363) => [
q(Hurrian),
],
- q(7300) => [
+ q(7364) => [
q(Khua),
],
- q(7301) => [
- q(Xiandao),
- ],
- q(7302) => [
+ q(7365) => [
q(Iberian),
],
- q(7303) => [
+ q(7366) => [
q(Xiri),
],
- q(7304) => [
+ q(7367) => [
q(Illyrian),
],
- q(7305) => [
+ q(7368) => [
q(Xinca),
],
- q(7306) => [
+ q(7369) => [
q(Xipinawa),
],
- q(7307) => [
+ q(7370) => [
q(Xiriana),
],
- q(7308) => [
+ q(7371) => [
q(Indus Valley Language),
],
- q(7309) => [
+ q(7372) => [
q(Xipaya),
],
- q(7310) => [
+ q(7373) => [
+ q(Minjungbal),
+ ],
+ q(7374) => [
+ q(Jaitmatang),
+ ],
+ q(7375) => [
q(Kalkoti),
],
- q(7311) => [
+ q(7376) => [
q(Northern Nago),
],
- q(7312) => [
+ q(7377) => [
q(Kho'ini),
],
- q(7313) => [
+ q(7378) => [
q(Mendalam Kayan),
],
- q(7314) => [
+ q(7379) => [
q(Kereho),
],
- q(7315) => [
+ q(7380) => [
q(Khengkha),
],
- q(7316) => [
+ q(7381) => [
q(Kagoro),
],
- q(7317) => [
+ q(7382) => [
q(Karahawyana),
],
- q(7318) => [
+ q(7383) => [
q(Kenyan Sign Language),
],
- q(7319) => [
+ q(7384) => [
q(Kajali),
],
- q(7320) => [
+ q(7385) => [
q(Kaco'),
],
- q(7321) => [
+ q(7386) => [
q(Mainstream Kenyah),
],
- q(7322) => [
+ q(7387) => [
q(Kayan River Kayan),
],
- q(7323) => [
+ q(7388) => [
q(Kiorr),
],
- q(7324) => [
+ q(7389) => [
q(Kabatei),
],
- q(7325) => [
+ q(7390) => [
q(Koroni),
],
- q(7326) => [
+ q(7391) => [
q(Xakriaba),
],
- q(7327) => [
+ q(7392) => [
q(Kumbewaha),
],
- q(7328) => [
+ q(7393) => [
q(Kantosi),
],
- q(7329) => [
+ q(7394) => [
q(Kaamba),
],
- q(7330) => [
+ q(7395) => [
q(Kgalagadi),
],
- q(7331) => [
+ q(7396) => [
q(Kembra),
],
- q(7332) => [
+ q(7397) => [
q(Karore),
],
- q(7333) => [
+ q(7398) => [
q(Uma' Lasan),
],
- q(7334) => [
+ q(7399) => [
q(Kurtokha),
],
- q(7335) => [
+ q(7400) => [
q(Kamula),
],
- q(7336) => [
+ q(7401) => [
q(Loup B),
],
- q(7337) => [
+ q(7402) => [
q(Lycian),
],
- q(7338) => [
+ q(7403) => [
q(Lydian),
],
- q(7339) => [
+ q(7404) => [
q(Lemnian),
],
- q(7340) => [
+ q(7405) => [
q(Ligurian (Ancient)),
],
- q(7341) => [
+ q(7406) => [
q(Liburnian),
],
- q(7342) => [
+ q(7407) => [
q(Alanic),
],
- q(7343) => [
+ q(7408) => [
q(Loup A),
],
- q(7344) => [
+ q(7409) => [
q(Lepontic),
],
- q(7345) => [
+ q(7410) => [
q(Lusitanian),
],
- q(7346) => [
+ q(7411) => [
q(Cuneiform Luwian),
],
- q(7347) => [
+ q(7412) => [
q(Elymian),
],
- q(7348) => [
+ q(7413) => [
q(Mushungulu),
],
- q(7349) => [
+ q(7414) => [
q(Mbonga),
],
- q(7350) => [
+ q(7415) => [
q(Makhuwa-Marrevone),
],
- q(7351) => [
+ q(7416) => [
q(Mbudum),
],
- q(7352) => [
+ q(7417) => [
q(Median),
],
- q(7353) => [
+ q(7418) => [
q(Mingrelian),
],
- q(7354) => [
+ q(7419) => [
q(Mengaka),
],
- q(7355) => [
+ q(7420) => [
q(Kuku-Muminh),
],
- q(7356) => [
+ q(7421) => [
q(Majera),
],
- q(7357) => [
+ q(7422) => [
q(Ancient Macedonian),
],
- q(7358) => [
+ q(7423) => [
q(Malaysian Sign Language),
],
- q(7359) => [
+ q(7424) => [
q(Manado Malay),
],
- q(7360) => [
+ q(7425) => [
q(Manichaean Middle Persian),
],
- q(7361) => [
+ q(7426) => [
q(Morerebi),
],
- q(7362) => [
+ q(7427) => [
q(Kuku-Mu'inh),
],
- q(7363) => [
+ q(7428) => [
q(Kuku-Mangk),
],
- q(7364) => [
+ q(7429) => [
q(Meroitic),
],
- q(7365) => [
+ q(7430) => [
q(Moroccan Sign Language),
],
- q(7366) => [
+ q(7431) => [
q(Matbat),
],
- q(7367) => [
+ q(7432) => [
q(Kamu),
],
- q(7368) => [
+ q(7433) => [
q(Antankarana Malagasy),
q(Tankarana Malagasy),
],
- q(7369) => [
+ q(7434) => [
q(Tsimihety Malagasy),
],
- q(7370) => [
+ q(7435) => [
q(Maden),
],
- q(7371) => [
+ q(7436) => [
q(Mayaguduna),
],
- q(7372) => [
+ q(7437) => [
q(Mori Bawah),
],
- q(7373) => [
+ q(7438) => [
q(Ancient North Arabian),
],
- q(7374) => [
+ q(7439) => [
q(Kanakanabu),
],
- q(7375) => [
+ q(7440) => [
q(Middle Mongolian),
],
- q(7376) => [
+ q(7441) => [
q(Kuanhua),
],
- q(7377) => [
+ q(7442) => [
+ q(Ngarigu),
+ ],
+ q(7443) => [
+ q(Nganakarti),
+ ],
+ q(7444) => [
q(Northern Kankanay),
],
- q(7378) => [
+ q(7445) => [
q(Anglo-Norman),
],
- q(7379) => [
+ q(7446) => [
q(Kangri),
],
- q(7380) => [
+ q(7447) => [
q(Kanashi),
],
- q(7381) => [
+ q(7448) => [
q(Narragansett),
],
- q(7382) => [
+ q(7449) => [
+ q(Nukunul),
+ ],
+ q(7450) => [
+ q(Nyiyaparli),
+ ],
+ q(7451) => [
q(Kenzi),
q(Mattoki),
],
- q(7383) => [
+ q(7452) => [
q(O'chi'chi'),
],
- q(7384) => [
+ q(7453) => [
q(Kokoda),
],
- q(7385) => [
+ q(7454) => [
q(Soga),
],
- q(7386) => [
+ q(7455) => [
q(Kominimung),
],
- q(7387) => [
+ q(7456) => [
q(Xokleng),
],
- q(7388) => [
+ q(7457) => [
q(Komo (Sudan)),
],
- q(7389) => [
+ q(7458) => [
q(Konkomba),
],
- q(7390) => [
+ q(7459) => [
q(Xukuru),
],
- q(7391) => [
+ q(7460) => [
q(Kopar),
],
- q(7392) => [
+ q(7461) => [
q(Korubo),
],
- q(7393) => [
+ q(7462) => [
q(Kowaki),
],
- q(7394) => [
+ q(7463) => [
+ q(Pirriya),
+ ],
+ q(7464) => [
q(Pecheneg),
],
- q(7395) => [
+ q(7465) => [
q(Liberia Kpelle),
],
- q(7396) => [
+ q(7466) => [
q(Phrygian),
],
- q(7397) => [
+ q(7467) => [
q(Pictish),
],
- q(7398) => [
+ q(7468) => [
q(Mpalitjanh),
],
- q(7399) => [
+ q(7469) => [
q(Kulina Pano),
],
- q(7400) => [
+ q(7470) => [
q(Pumpokol),
],
- q(7401) => [
+ q(7471) => [
q(Kapinawa),
],
- q(7402) => [
+ q(7472) => [
q(Pochutec),
],
- q(7403) => [
+ q(7473) => [
q(Puyo-Paekche),
],
- q(7404) => [
+ q(7474) => [
q(Mohegan-Pequot),
],
- q(7405) => [
+ q(7475) => [
q(Parthian),
],
- q(7406) => [
+ q(7476) => [
q(Pisidian),
],
- q(7407) => [
+ q(7477) => [
+ q(Punthamara),
+ ],
+ q(7478) => [
q(Punic),
],
- q(7408) => [
+ q(7479) => [
q(Puyo),
],
- q(7409) => [
+ q(7480) => [
q(Karakhanid),
],
- q(7410) => [
+ q(7481) => [
q(Qatabanian),
],
- q(7411) => [
+ q(7482) => [
q(Kraho),
],
- q(7412) => [
+ q(7483) => [
q(Eastern Karaboro),
],
- q(7413) => [
+ q(7484) => [
+ q(Gundungurra),
+ ],
+ q(7485) => [
q(Kreye),
],
- q(7414) => [
+ q(7486) => [
+ q(Minang),
+ ],
+ q(7487) => [
q(Krikati-Timbira),
],
- q(7415) => [
+ q(7488) => [
q(Armazic),
],
- q(7416) => [
+ q(7489) => [
q(Arin),
],
- q(7417) => [
+ q(7490) => [
+ q(Karranga),
+ ],
+ q(7491) => [
q(Raetic),
],
- q(7418) => [
+ q(7492) => [
q(Aranama-Tamique),
],
- q(7419) => [
+ q(7493) => [
q(Marriammu),
],
- q(7420) => [
+ q(7494) => [
q(Karawa),
],
- q(7421) => [
+ q(7495) => [
q(Sabaean),
],
- q(7422) => [
+ q(7496) => [
q(Sambal),
],
- q(7423) => [
+ q(7497) => [
q(Scythian),
],
- q(7424) => [
+ q(7498) => [
q(Sidetic),
],
- q(7425) => [
+ q(7499) => [
q(Sempan),
],
- q(7426) => [
+ q(7500) => [
q(Shamang),
],
- q(7427) => [
+ q(7501) => [
q(Sio),
],
- q(7428) => [
+ q(7502) => [
q(Subi),
],
- q(7429) => [
+ q(7503) => [
q(South Slavey),
],
- q(7430) => [
+ q(7504) => [
q(Kasem),
],
- q(7431) => [
+ q(7505) => [
q(Sanga (Nigeria)),
],
- q(7432) => [
+ q(7506) => [
q(Solano),
],
- q(7433) => [
+ q(7507) => [
q(Silopi),
],
- q(7434) => [
+ q(7508) => [
q(Makhuwa-Saka),
],
- q(7435) => [
+ q(7509) => [
q(Sherpa),
],
- q(7436) => [
+ q(7510) => [
q(Assan),
],
- q(7437) => [
+ q(7511) => [
q(Sanuma),
],
- q(7438) => [
+ q(7512) => [
q(Sudovian),
],
- q(7439) => [
+ q(7513) => [
q(Saisiyat),
],
- q(7440) => [
+ q(7514) => [
q(Alcozauca Mixtec),
],
- q(7441) => [
+ q(7515) => [
q(Chazumba Mixtec),
],
- q(7442) => [
+ q(7516) => [
q(Katcha-Kadugli-Miri),
],
- q(7443) => [
+ q(7517) => [
q(Diuxi-Tilantongo Mixtec),
],
- q(7444) => [
+ q(7518) => [
q(Ketengban),
],
- q(7445) => [
+ q(7519) => [
q(Transalpine Gaulish),
],
- q(7446) => [
+ q(7520) => [
+ q(Yitha Yitha),
+ ],
+ q(7521) => [
q(Sinicahua Mixtec),
],
- q(7447) => [
+ q(7522) => [
q(San Juan Teita Mixtec),
],
- q(7448) => [
+ q(7523) => [
q(Tijaltepec Mixtec),
],
- q(7449) => [
+ q(7524) => [
q(Magdalena Penasco Mixtec),
],
- q(7450) => [
+ q(7525) => [
q(Northern Tlaxiaco Mixtec),
],
- q(7451) => [
+ q(7526) => [
q(Tokharian A),
],
- q(7452) => [
+ q(7527) => [
q(San Miguel Piedras Mixtec),
],
- q(7453) => [
+ q(7528) => [
q(Tumshuqese),
],
- q(7454) => [
+ q(7529) => [
q(Early Tripuri),
],
- q(7455) => [
+ q(7530) => [
q(Sindihui Mixtec),
],
- q(7456) => [
+ q(7531) => [
q(Tacahua Mixtec),
],
- q(7457) => [
+ q(7532) => [
q(Cuyamecalco Mixtec),
],
- q(7458) => [
+ q(7533) => [
+ q(Thawa),
+ ],
+ q(7534) => [
q(Tawande),
],
- q(7459) => [
+ q(7535) => [
q(Yoloxochitl Mixtec),
],
- q(7460) => [
+ q(7536) => [
q(Tasmanian),
],
- q(7461) => [
+ q(7537) => [
q(Alu Kurumba),
],
- q(7462) => [
+ q(7538) => [
q(Betta Kurumba),
],
- q(7463) => [
+ q(7539) => [
q(Umiida),
],
- q(7464) => [
+ q(7540) => [
q(Kunigami),
],
- q(7465) => [
+ q(7541) => [
q(Jennu Kurumba),
],
- q(7466) => [
+ q(7542) => [
+ q(Ngunawal),
+ ],
+ q(7543) => [
q(Umbrian),
],
- q(7467) => [
- q(Unggarranggu),
+ q(7544) => [
+ q(Unggaranggu),
],
- q(7468) => [
+ q(7545) => [
q(Kuo),
],
- q(7469) => [
+ q(7546) => [
q(Upper Umpqua),
],
- q(7470) => [
+ q(7547) => [
q(Urartian),
],
- q(7471) => [
+ q(7548) => [
q(Kuthant),
],
- q(7472) => [
+ q(7549) => [
q(Kxoe),
],
- q(7473) => [
+ q(7550) => [
q(Venetic),
],
- q(7474) => [
+ q(7551) => [
q(Kamviri),
],
- q(7475) => [
+ q(7552) => [
q(Vandalic),
],
- q(7476) => [
+ q(7553) => [
q(Volscian),
],
- q(7477) => [
+ q(7554) => [
q(Vestinian),
],
- q(7478) => [
+ q(7555) => [
q(Kwaza),
],
- q(7479) => [
+ q(7556) => [
q(Woccon),
],
- q(7480) => [
+ q(7557) => [
+ q(Wadi Wadi),
+ ],
+ q(7558) => [
q(Xwela Gbe),
],
- q(7481) => [
+ q(7559) => [
q(Kwegu),
],
- q(7482) => [
+ q(7560) => [
+ q(Wajuk),
+ ],
+ q(7561) => [
+ q(Wangkumara),
+ ],
+ q(7562) => [
q(Western Xwla Gbe),
],
- q(7483) => [
+ q(7563) => [
q(Written Oirat),
],
- q(7484) => [
+ q(7564) => [
q(Kwerba Mamberamo),
],
- q(7485) => [
+ q(7565) => [
+ q(Wotjobaluk),
+ ],
+ q(7566) => [
+ q(Wemba Wemba),
+ ],
+ q(7567) => [
q(Boro (Ghana)),
],
- q(7486) => [
+ q(7568) => [
q(Ke'o),
],
- q(7487) => [
+ q(7569) => [
+ q(Minkin),
+ ],
+ q(7570) => [
q(Koropo),
],
- q(7488) => [
+ q(7571) => [
q(Tambora),
],
- q(7489) => [
+ q(7572) => [
+ q(Yaygir),
+ ],
+ q(7573) => [
+ q(Yandjibara),
+ ],
+ q(7574) => [
+ q(Mayi-Yapi),
+ ],
+ q(7575) => [
+ q(Mayi-Kulan),
+ ],
+ q(7576) => [
q(Yalakalore),
],
- q(7490) => [
+ q(7577) => [
+ q(Mayi-Thakurti),
+ ],
+ q(7578) => [
q(Yorta Yorta),
],
- q(7491) => [
+ q(7579) => [
q(Zhang-Zhung),
],
- q(7492) => [
+ q(7580) => [
q(Zemgalian),
],
- q(7493) => [
+ q(7581) => [
q(Ancient Zapotec),
],
- q(7494) => [
+ q(7582) => [
q(Yaminahua),
],
- q(7495) => [
+ q(7583) => [
q(Yuhup),
],
- q(7496) => [
+ q(7584) => [
q(Pass Valley Yali),
],
- q(7497) => [
+ q(7585) => [
q(Yagua),
],
- q(7498) => [
+ q(7586) => [
q(Pume),
],
- q(7499) => [
+ q(7587) => [
q(Yaka (Democratic Republic of Congo)),
],
- q(7500) => [
+ q(7588) => [
q(Yamana),
],
- q(7501) => [
+ q(7589) => [
q(Yazgulyam),
],
- q(7502) => [
+ q(7590) => [
q(Yagnobi),
],
- q(7503) => [
+ q(7591) => [
q(Banda-Yangere),
],
- q(7504) => [
+ q(7592) => [
q(Yakama),
],
- q(7505) => [
+ q(7593) => [
q(Yalunka),
],
- q(7506) => [
+ q(7594) => [
q(Yamba),
],
- q(7507) => [
+ q(7595) => [
q(Mayangna),
],
- q(7508) => [
+ q(7596) => [
q(Yaqui),
],
- q(7509) => [
+ q(7597) => [
q(Yabarana),
],
- q(7510) => [
+ q(7598) => [
q(Nugunu (Cameroon)),
],
- q(7511) => [
+ q(7599) => [
q(Yambeta),
],
- q(7512) => [
+ q(7600) => [
q(Yuwana),
],
- q(7513) => [
+ q(7601) => [
q(Yangben),
],
- q(7514) => [
+ q(7602) => [
q(Yawalapiti),
],
- q(7515) => [
+ q(7603) => [
q(Yauma),
],
- q(7516) => [
+ q(7604) => [
q(Agwagwune),
],
- q(7517) => [
+ q(7605) => [
q(Lokaa),
],
- q(7518) => [
+ q(7606) => [
q(Yala),
],
- q(7519) => [
+ q(7607) => [
q(Yemba),
],
- q(7520) => [
+ q(7608) => [
q(West Yugur),
],
- q(7521) => [
+ q(7609) => [
q(Yakha),
],
- q(7522) => [
+ q(7610) => [
q(Yamphu),
],
- q(7523) => [
+ q(7611) => [
q(Hasha),
],
- q(7524) => [
+ q(7612) => [
q(Bokha),
],
- q(7525) => [
+ q(7613) => [
q(Yukuben),
],
- q(7526) => [
+ q(7614) => [
q(Yaben),
],
- q(7527) => [
+ q(7615) => [
q(Yabaana),
],
- q(7528) => [
+ q(7616) => [
q(Yabong),
],
- q(7529) => [
+ q(7617) => [
q(Yawiyo),
],
- q(7530) => [
+ q(7618) => [
q(Yaweyuha),
],
- q(7531) => [
+ q(7619) => [
q(Chesu),
],
- q(7532) => [
+ q(7620) => [
q(Lolopo),
],
- q(7533) => [
+ q(7621) => [
q(Yucuna),
],
- q(7534) => [
+ q(7622) => [
q(Chepya),
],
- q(7535) => [
+ q(7623) => [
+ q(Yanda),
+ ],
+ q(7624) => [
q(Eastern Yiddish),
],
- q(7536) => [
+ q(7625) => [
q(Yangum Dey),
],
- q(7537) => [
+ q(7626) => [
q(Yidgha),
],
- q(7538) => [
+ q(7627) => [
q(Yoidik),
],
- q(7539) => [
+ q(7628) => [
q(Yiddish Sign Language),
],
- q(7540) => [
+ q(7629) => [
q(Ravula),
],
- q(7541) => [
+ q(7630) => [
q(Yeniche),
],
- q(7542) => [
+ q(7631) => [
q(Yimas),
],
- q(7543) => [
+ q(7632) => [
q(Yeni),
],
- q(7544) => [
+ q(7633) => [
q(Yevanic),
],
- q(7545) => [
+ q(7634) => [
q(Yela),
],
- q(7546) => [
+ q(7635) => [
q(Tarok),
],
- q(7547) => [
+ q(7636) => [
q(Nyankpa),
],
- q(7548) => [
+ q(7637) => [
q(Yetfa),
],
- q(7549) => [
+ q(7638) => [
q(Yerukula),
],
- q(7550) => [
+ q(7639) => [
q(Yapunda),
],
- q(7551) => [
+ q(7640) => [
q(Yeyi),
],
- q(7552) => [
+ q(7641) => [
q(Malyangapa),
],
- q(7553) => [
+ q(7642) => [
+ q(Yiningayi),
+ ],
+ q(7643) => [
q(Yangum Gel),
],
- q(7554) => [
+ q(7644) => [
q(Yagomi),
],
- q(7555) => [
+ q(7645) => [
q(Gepo),
],
- q(7556) => [
+ q(7646) => [
q(Yagaria),
],
- q(7557) => [
+ q(7647) => [
+ q(Yugul),
+ ],
+ q(7648) => [
q(Yagwoia),
],
- q(7558) => [
+ q(7649) => [
q(Baha Buyang),
],
- q(7559) => [
+ q(7650) => [
q(Judeo-Iraqi Arabic),
],
- q(7560) => [
+ q(7651) => [
q(Hlepho Phowa),
],
- q(7561) => [
+ q(7652) => [
q(Yinggarda),
],
- q(7562) => [
+ q(7653) => [
q(Wusa Nasu),
],
- q(7563) => [
+ q(7654) => [
q(Western Yiddish),
],
- q(7564) => [
+ q(7655) => [
q(Yidiny),
],
- q(7565) => [
+ q(7656) => [
q(Yindjibarndi),
],
- q(7566) => [
+ q(7657) => [
q(Dongshanba Lalo),
],
- q(7567) => [
+ q(7658) => [
q(Yindjilandji),
],
- q(7568) => [
+ q(7659) => [
q(Yimchungru Naga),
],
- q(7569) => [
+ q(7660) => [
q(Yinchia),
],
- q(7570) => [
+ q(7661) => [
q(Pholo),
],
- q(7571) => [
+ q(7662) => [
q(Miqie),
],
- q(7572) => [
+ q(7663) => [
q(North Awyu),
],
- q(7573) => [
+ q(7664) => [
q(Yis),
],
- q(7574) => [
+ q(7665) => [
q(Eastern Lalu),
],
- q(7575) => [
+ q(7666) => [
q(Awu),
],
- q(7576) => [
+ q(7667) => [
q(Northern Nisu),
],
- q(7577) => [
+ q(7668) => [
q(Axi Yi),
],
- q(7578) => [
- q(Yir Yoront),
- ],
- q(7579) => [
+ q(7669) => [
q(Azhe),
],
- q(7580) => [
+ q(7670) => [
q(Yakan),
],
- q(7581) => [
+ q(7671) => [
q(Northern Yukaghir),
],
- q(7582) => [
+ q(7672) => [
q(Yoke),
],
- q(7583) => [
+ q(7673) => [
q(Yakaikeke),
],
- q(7584) => [
+ q(7674) => [
q(Khlula),
],
- q(7585) => [
+ q(7675) => [
q(Kap),
],
- q(7586) => [
+ q(7676) => [
q(Kua-nsi),
],
- q(7587) => [
+ q(7677) => [
q(Yasa),
],
- q(7588) => [
+ q(7678) => [
q(Yekora),
],
- q(7589) => [
+ q(7679) => [
q(Kathu),
],
- q(7590) => [
+ q(7680) => [
q(Kuamasi),
],
- q(7591) => [
+ q(7681) => [
q(Yakoma),
],
- q(7592) => [
+ q(7682) => [
q(Yaul),
],
- q(7593) => [
+ q(7683) => [
q(Yaleba),
],
- q(7594) => [
+ q(7684) => [
q(Yele),
],
- q(7595) => [
+ q(7685) => [
q(Yelogu),
],
- q(7596) => [
+ q(7686) => [
q(Angguruk Yali),
],
- q(7597) => [
+ q(7687) => [
q(Yil),
],
- q(7598) => [
+ q(7688) => [
q(Limi),
],
- q(7599) => [
+ q(7689) => [
q(Langnian Buyang),
],
- q(7600) => [
+ q(7690) => [
q(Naluo Yi),
],
- q(7601) => [
+ q(7691) => [
q(Yalarnnga),
],
- q(7602) => [
+ q(7692) => [
q(Aribwaung),
],
- q(7603) => [
+ q(7693) => [
q(Nyalayu),
+ q(Nyelayu),
],
- q(7604) => [
+ q(7694) => [
q(Yambes),
],
- q(7605) => [
+ q(7695) => [
q(Southern Muji),
],
- q(7606) => [
+ q(7696) => [
q(Muda),
],
- q(7607) => [
+ q(7697) => [
q(Yameo),
],
- q(7608) => [
+ q(7698) => [
q(Yamongeri),
],
- q(7609) => [
+ q(7699) => [
q(Mili),
],
- q(7610) => [
+ q(7700) => [
q(Moji),
],
- q(7611) => [
+ q(7701) => [
q(Makwe),
],
- q(7612) => [
+ q(7702) => [
q(Iamalele),
],
- q(7613) => [
+ q(7703) => [
q(Maay),
],
- q(7614) => [
+ q(7704) => [
q(Yamna),
q(Sunum),
],
- q(7615) => [
+ q(7705) => [
q(Yangum Mon),
],
- q(7616) => [
+ q(7706) => [
q(Yamap),
],
- q(7617) => [
+ q(7707) => [
q(Qila Muji),
],
- q(7618) => [
+ q(7708) => [
q(Malasar),
],
- q(7619) => [
+ q(7709) => [
q(Mysian),
],
- q(7620) => [
+ q(7710) => [
q(Mator-Taygi-Karagas),
],
- q(7621) => [
+ q(7711) => [
q(Northern Muji),
],
- q(7622) => [
+ q(7712) => [
q(Muzi),
],
- q(7623) => [
+ q(7713) => [
q(Aluo),
],
- q(7624) => [
+ q(7714) => [
q(Yandruwandha),
],
- q(7625) => [
+ q(7715) => [
q(Lang'e),
],
- q(7626) => [
+ q(7716) => [
q(Yango),
],
- q(7627) => [
+ q(7717) => [
q(Yangho),
],
- q(7628) => [
+ q(7718) => [
q(Naukan Yupik),
],
- q(7629) => [
+ q(7719) => [
q(Yangulam),
],
- q(7630) => [
+ q(7720) => [
q(Yana),
],
- q(7631) => [
+ q(7721) => [
q(Yong),
],
- q(7632) => [
+ q(7722) => [
q(Yendang),
],
- q(7633) => [
+ q(7723) => [
q(Yansi),
],
- q(7634) => [
+ q(7724) => [
q(Yahuna),
],
- q(7635) => [
+ q(7725) => [
q(Yoba),
],
- q(7636) => [
+ q(7726) => [
q(Yogad),
],
- q(7637) => [
+ q(7727) => [
q(Yonaguni),
],
- q(7638) => [
+ q(7728) => [
q(Yokuts),
],
- q(7639) => [
+ q(7729) => [
q(Yola),
],
- q(7640) => [
+ q(7730) => [
q(Yombe),
],
- q(7641) => [
+ q(7731) => [
q(Yongkom),
],
- q(7642) => [
- q(Yos),
- ],
- q(7643) => [
+ q(7732) => [
q(Yotti),
],
- q(7644) => [
+ q(7733) => [
q(Yoron),
],
- q(7645) => [
+ q(7734) => [
q(Yoy),
],
- q(7646) => [
+ q(7735) => [
q(Phala),
],
- q(7647) => [
+ q(7736) => [
q(Labo Phowa),
],
- q(7648) => [
+ q(7737) => [
q(Phola),
],
- q(7649) => [
+ q(7738) => [
q(Phupha),
],
- q(7650) => [
+ q(7739) => [
q(Phuma),
],
- q(7651) => [
+ q(7740) => [
q(Ani Phowa),
],
- q(7652) => [
+ q(7741) => [
q(Alo Phola),
],
- q(7653) => [
+ q(7742) => [
q(Phupa),
],
- q(7654) => [
+ q(7743) => [
q(Phuza),
],
- q(7655) => [
+ q(7744) => [
q(Yerakai),
],
- q(7656) => [
+ q(7745) => [
q(Yareba),
],
- q(7657) => [
+ q(7746) => [
q(Yaoure),
],
- q(7658) => [
+ q(7747) => [
q(Yari),
],
- q(7659) => [
+ q(7748) => [
q(Nenets),
],
- q(7660) => [
+ q(7749) => [
q(Nhengatu),
],
- q(7661) => [
+ q(7750) => [
+ q(Yirrk-Mel),
+ ],
+ q(7751) => [
q(Yerong),
],
- q(7662) => [
+ q(7752) => [
q(Yarsun),
],
- q(7663) => [
+ q(7753) => [
q(Yarawata),
],
- q(7664) => [
+ q(7754) => [
+ q(Yarluyandi),
+ ],
+ q(7755) => [
q(Yassic),
],
- q(7665) => [
+ q(7756) => [
q(Samatao),
],
- q(7666) => [
+ q(7757) => [
q(Sonaga),
],
- q(7667) => [
+ q(7758) => [
q(Yugoslavian Sign Language),
],
- q(7668) => [
+ q(7759) => [
q(Sani),
],
- q(7669) => [
+ q(7760) => [
q(Nisi (China)),
],
- q(7670) => [
+ q(7761) => [
q(Southern Lolopo),
],
- q(7671) => [
+ q(7762) => [
q(Sirenik Yupik),
],
- q(7672) => [
+ q(7763) => [
q(Yessan-Mayo),
],
- q(7673) => [
+ q(7764) => [
q(Sanie),
],
- q(7674) => [
+ q(7765) => [
q(Talu),
],
- q(7675) => [
+ q(7766) => [
q(Tanglang),
],
- q(7676) => [
+ q(7767) => [
q(Thopho),
],
- q(7677) => [
+ q(7768) => [
q(Yout Wam),
],
- q(7678) => [
+ q(7769) => [
+ q(Yatay),
+ ],
+ q(7770) => [
q(Yucateco),
q(Yucatec Maya),
],
- q(7679) => [
+ q(7771) => [
q(Yugambal),
],
- q(7680) => [
+ q(7772) => [
q(Yuchi),
],
- q(7681) => [
+ q(7773) => [
q(Judeo-Tripolitanian Arabic),
],
- q(7682) => [
+ q(7774) => [
q(Yue Chinese),
],
- q(7683) => [
+ q(7775) => [
q(Havasupai-Walapai-Yavapai),
],
- q(7684) => [
+ q(7776) => [
q(Yug),
],
- q(7685) => [
+ q(7777) => [
q(Yuruti),
],
- q(7686) => [
+ q(7778) => [
q(Karkar-Yuri),
],
- q(7687) => [
+ q(7779) => [
q(Yuki),
],
- q(7688) => [
+ q(7780) => [
q(Yulu),
],
- q(7689) => [
+ q(7781) => [
q(Quechan),
],
- q(7690) => [
+ q(7782) => [
q(Bena (Nigeria)),
],
- q(7691) => [
+ q(7783) => [
q(Yukpa),
],
- q(7692) => [
+ q(7784) => [
q(Yuqui),
],
- q(7693) => [
+ q(7785) => [
q(Yurok),
],
- q(7694) => [
+ q(7786) => [
q(Yopno),
],
- q(7695) => [
+ q(7787) => [
q(Yugh),
],
- q(7696) => [
+ q(7788) => [
q(Yau (Morobe Province)),
],
- q(7697) => [
+ q(7789) => [
q(Southern Yukaghir),
],
- q(7698) => [
+ q(7790) => [
q(East Yugur),
],
- q(7699) => [
+ q(7791) => [
q(Yuracare),
],
- q(7700) => [
+ q(7792) => [
q(Yawa),
],
- q(7701) => [
+ q(7793) => [
q(Yavitero),
],
- q(7702) => [
+ q(7794) => [
q(Kalou),
],
- q(7703) => [
+ q(7795) => [
+ q(Yinhawangka),
+ ],
+ q(7796) => [
q(Western Lalu),
],
- q(7704) => [
+ q(7797) => [
q(Yawanawa),
],
- q(7705) => [
+ q(7798) => [
q(Wuding-Luquan Yi),
],
- q(7706) => [
+ q(7799) => [
q(Yawuru),
],
- q(7707) => [
+ q(7800) => [
q(Xishanba Lalo),
q(Central Lalo),
],
- q(7708) => [
+ q(7801) => [
q(Wumeng Nasu),
],
- q(7709) => [
+ q(7802) => [
q(Yawarawarga),
],
- q(7710) => [
+ q(7803) => [
+ q(Mayawali),
+ ],
+ q(7804) => [
q(Yagara),
],
- q(7711) => [
+ q(7805) => [
+ q(Yardliyawarra),
+ ],
+ q(7806) => [
+ q(Yinwum),
+ ],
+ q(7807) => [
+ q(Yuyu),
+ ],
+ q(7808) => [
q(Yabula Yabula),
],
- q(7712) => [
+ q(7809) => [
+ q(Yir Yoront),
+ ],
+ q(7810) => [
q(Yau (Sandaun Province)),
],
- q(7713) => [
+ q(7811) => [
q(Ayizi),
],
- q(7714) => [
+ q(7812) => [
q(E'ma Buyang),
],
- q(7715) => [
+ q(7813) => [
q(Zokhuo),
],
- q(7716) => [
+ q(7814) => [
q(Sierra de Juarez Zapotec),
],
- q(7717) => [
+ q(7815) => [
q(San Juan Guelavia Zapotec),
],
- q(7718) => [
+ q(7816) => [
q(Ocotlan Zapotec),
],
- q(7719) => [
+ q(7817) => [
q(Cajonos Zapotec),
],
- q(7720) => [
+ q(7818) => [
q(Yareni Zapotec),
],
- q(7721) => [
+ q(7819) => [
q(Ayoquesco Zapotec),
],
- q(7722) => [
+ q(7820) => [
q(Zaghawa),
],
- q(7723) => [
+ q(7821) => [
q(Zangwal),
],
- q(7724) => [
+ q(7822) => [
q(Isthmus Zapotec),
],
- q(7725) => [
+ q(7823) => [
q(Zaramo),
],
- q(7726) => [
+ q(7824) => [
q(Zanaki),
],
- q(7727) => [
+ q(7825) => [
q(Zauzou),
],
- q(7728) => [
+ q(7826) => [
q(Miahuatlan Zapotec),
],
- q(7729) => [
+ q(7827) => [
q(Ozolotepec Zapotec),
],
- q(7730) => [
+ q(7828) => [
q(Aloapam Zapotec),
],
- q(7731) => [
+ q(7829) => [
q(Rincon Zapotec),
],
- q(7732) => [
+ q(7830) => [
q(Santo Domingo Albarradas Zapotec),
],
- q(7733) => [
+ q(7831) => [
q(Tabaa Zapotec),
],
- q(7734) => [
+ q(7832) => [
q(Zangskari),
],
- q(7735) => [
+ q(7833) => [
q(Yatzachi Zapotec),
],
- q(7736) => [
+ q(7834) => [
q(Mitla Zapotec),
],
- q(7737) => [
+ q(7835) => [
q(Xadani Zapotec),
],
- q(7738) => [
+ q(7836) => [
q(Zayse-Zergulla),
q(Zaysete),
],
- q(7739) => [
+ q(7837) => [
q(Zari),
],
- q(7740) => [
+ q(7838) => [
q(Central Berawan),
],
- q(7741) => [
+ q(7839) => [
q(East Berawan),
],
- q(7742) => [
+ q(7840) => [
q(Batui),
],
- q(7743) => [
+ q(7841) => [
q(West Berawan),
],
- q(7744) => [
+ q(7842) => [
q(Coatecas Altas Zapotec),
],
- q(7745) => [
+ q(7843) => [
q(Central Hongshuihe Zhuang),
],
- q(7746) => [
+ q(7844) => [
q(Ngazidja Comorian),
],
- q(7747) => [
+ q(7845) => [
q(Zeeuws),
],
- q(7748) => [
+ q(7846) => [
q(Zenag),
],
- q(7749) => [
+ q(7847) => [
q(Eastern Hongshuihe Zhuang),
],
- q(7750) => [
+ q(7848) => [
q(Kinga),
],
- q(7751) => [
+ q(7849) => [
q(Guibei Zhuang),
],
- q(7752) => [
+ q(7850) => [
q(Minz Zhuang),
],
- q(7753) => [
+ q(7851) => [
q(Guibian Zhuang),
],
- q(7754) => [
+ q(7852) => [
q(Magori),
],
- q(7755) => [
+ q(7853) => [
q(Zhaba),
],
- q(7756) => [
+ q(7854) => [
q(Dai Zhuang),
],
- q(7757) => [
+ q(7855) => [
q(Zhire),
],
- q(7758) => [
+ q(7856) => [
q(Nong Zhuang),
],
- q(7759) => [
+ q(7857) => [
q(Zhoa),
],
- q(7760) => [
+ q(7858) => [
q(Zia),
],
- q(7761) => [
+ q(7859) => [
q(Zimbabwe Sign Language),
],
- q(7762) => [
+ q(7860) => [
q(Zimakani),
],
- q(7763) => [
+ q(7861) => [
q(Zialo),
],
- q(7764) => [
+ q(7862) => [
q(Mesme),
],
- q(7765) => [
+ q(7863) => [
q(Zinza),
],
- q(7766) => [
+ q(7864) => [
q(Ziriya),
],
- q(7767) => [
+ q(7865) => [
q(Zigula),
],
- q(7768) => [
+ q(7866) => [
q(Zizilivakan),
],
- q(7769) => [
+ q(7867) => [
q(Kaimbulawa),
],
- q(7770) => [
+ q(7868) => [
q(Koibal),
],
- q(7771) => [
+ q(7869) => [
q(Kadu),
],
- q(7772) => [
+ q(7870) => [
q(Koguryo),
],
- q(7773) => [
+ q(7871) => [
q(Khorezmian),
],
- q(7774) => [
+ q(7872) => [
q(Karankawa),
],
- q(7775) => [
+ q(7873) => [
q(Kanan),
],
- q(7776) => [
+ q(7874) => [
q(Kott),
],
- q(7777) => [
+ q(7875) => [
q(Sao Paulo Kaingang),
],
- q(7778) => [
+ q(7876) => [
q(Zakhring),
],
- q(7779) => [
+ q(7877) => [
q(Kitan),
],
- q(7780) => [
+ q(7878) => [
q(Kaurna),
],
- q(7781) => [
+ q(7879) => [
q(Krevinian),
],
- q(7782) => [
+ q(7880) => [
q(Khazar),
],
- q(7783) => [
+ q(7881) => [
q(Liujiang Zhuang),
],
- q(7784) => [
+ q(7882) => [
q(Malay (individual language)),
],
- q(7785) => [
+ q(7883) => [
q(Lianshan Zhuang),
],
- q(7786) => [
+ q(7884) => [
q(Liuqian Zhuang),
],
- q(7787) => [
+ q(7885) => [
q(Manda (Australia)),
],
- q(7788) => [
+ q(7886) => [
q(Zimba),
],
- q(7789) => [
+ q(7887) => [
q(Margany),
],
- q(7790) => [
+ q(7888) => [
q(Maridan),
],
- q(7791) => [
+ q(7889) => [
q(Mangerr),
],
- q(7792) => [
+ q(7890) => [
q(Mfinu),
],
- q(7793) => [
+ q(7891) => [
q(Marti Ke),
],
- q(7794) => [
+ q(7892) => [
q(Makolkol),
],
- q(7795) => [
+ q(7893) => [
q(Negeri Sembilan Malay),
],
- q(7796) => [
+ q(7894) => [
q(Maridjabin),
],
- q(7797) => [
+ q(7895) => [
q(Mandandanyi),
],
- q(7798) => [
+ q(7896) => [
q(Madngele),
],
- q(7799) => [
+ q(7897) => [
q(Marimanindji),
],
- q(7800) => [
+ q(7898) => [
q(Mbangwe),
],
- q(7801) => [
+ q(7899) => [
q(Molo),
],
- q(7802) => [
+ q(7900) => [
q(Mpuono),
],
- q(7803) => [
+ q(7901) => [
q(Mituku),
],
- q(7804) => [
+ q(7902) => [
q(Maranunggu),
],
- q(7805) => [
+ q(7903) => [
q(Mbesa),
],
- q(7806) => [
+ q(7904) => [
q(Maringarr),
],
- q(7807) => [
+ q(7905) => [
q(Muruwari),
],
- q(7808) => [
+ q(7906) => [
q(Mbariman-Gudhinma),
],
- q(7809) => [
+ q(7907) => [
q(Mbo (Democratic Republic of Congo)),
],
- q(7810) => [
+ q(7908) => [
q(Bomitaba),
],
- q(7811) => [
+ q(7909) => [
q(Mariyedi),
],
- q(7812) => [
+ q(7910) => [
q(Mbandja),
],
- q(7813) => [
+ q(7911) => [
q(Zan Gula),
],
- q(7814) => [
+ q(7912) => [
q(Zande (individual language)),
],
- q(7815) => [
+ q(7913) => [
q(Mang),
],
- q(7816) => [
+ q(7914) => [
q(Manangkari),
],
- q(7817) => [
+ q(7915) => [
q(Mangas),
],
- q(7818) => [
+ q(7916) => [
q(Copainala Zoque),
],
- q(7819) => [
+ q(7917) => [
q(Chimalapa Zoque),
],
- q(7820) => [
+ q(7918) => [
q(Zou),
],
- q(7821) => [
+ q(7919) => [
q(Asuncion Mixtepec Zapotec),
],
- q(7822) => [
+ q(7920) => [
q(Tabasco Zoque),
],
- q(7823) => [
+ q(7921) => [
q(Rayon Zoque),
],
- q(7824) => [
+ q(7922) => [
q(Francisco Leon Zoque),
],
- q(7825) => [
+ q(7923) => [
q(Lachiguiri Zapotec),
],
- q(7826) => [
+ q(7924) => [
q(Yautepec Zapotec),
],
- q(7827) => [
+ q(7925) => [
q(Choapan Zapotec),
],
- q(7828) => [
+ q(7926) => [
q(Southeastern Ixtlan Zapotec),
],
- q(7829) => [
+ q(7927) => [
q(Petapa Zapotec),
],
- q(7830) => [
+ q(7928) => [
q(San Pedro Quiatoni Zapotec),
],
- q(7831) => [
+ q(7929) => [
q(Guevea De Humboldt Zapotec),
],
- q(7832) => [
+ q(7930) => [
q(Totomachapan Zapotec),
],
- q(7833) => [
+ q(7931) => [
q(Santa Maria Quiegolani Zapotec),
],
- q(7834) => [
+ q(7932) => [
q(Quiavicuzas Zapotec),
],
- q(7835) => [
+ q(7933) => [
q(Tlacolulita Zapotec),
],
- q(7836) => [
+ q(7934) => [
q(Lachixio Zapotec),
],
- q(7837) => [
+ q(7935) => [
q(Mixtepec Zapotec),
],
- q(7838) => [
+ q(7936) => [
q(Santa Ines Yatzechi Zapotec),
],
- q(7839) => [
+ q(7937) => [
q(Amatlan Zapotec),
],
- q(7840) => [
+ q(7938) => [
q(El Alto Zapotec),
],
- q(7841) => [
+ q(7939) => [
q(Zoogocho Zapotec),
],
- q(7842) => [
+ q(7940) => [
q(Santiago Xanica Zapotec),
],
- q(7843) => [
+ q(7941) => [
q(Coatlan Zapotec),
],
- q(7844) => [
+ q(7942) => [
q(San Vicente Coatlan Zapotec),
],
- q(7845) => [
+ q(7943) => [
q(Yalalag Zapotec),
],
- q(7846) => [
+ q(7944) => [
q(Chichicapan Zapotec),
],
- q(7847) => [
+ q(7945) => [
q(Zaniza Zapotec),
],
- q(7848) => [
+ q(7946) => [
q(San Baltazar Loxicha Zapotec),
],
- q(7849) => [
+ q(7947) => [
q(Mazaltepec Zapotec),
],
- q(7850) => [
+ q(7948) => [
q(Texmelucan Zapotec),
],
- q(7851) => [
+ q(7949) => [
q(Qiubei Zhuang),
],
- q(7852) => [
+ q(7950) => [
q(Kara (Korea)),
],
- q(7853) => [
+ q(7951) => [
q(Mirgan),
],
- q(7854) => [
+ q(7952) => [
q(Zerenkel),
],
- q(7855) => [
+ q(7953) => [
q(Zaparo),
],
- q(7856) => [
+ q(7954) => [
q(Zarphatic),
],
- q(7857) => [
+ q(7955) => [
q(Mairasi),
],
- q(7858) => [
+ q(7956) => [
q(Sarasira),
],
- q(7859) => [
+ q(7957) => [
q(Kaskean),
],
- q(7860) => [
+ q(7958) => [
q(Zambian Sign Language),
],
- q(7861) => [
+ q(7959) => [
q(Standard Malay),
],
- q(7862) => [
+ q(7960) => [
q(Southern Rincon Zapotec),
],
- q(7863) => [
+ q(7961) => [
q(Sukurum),
],
- q(7864) => [
+ q(7962) => [
q(Elotepec Zapotec),
],
- q(7865) => [
+ q(7963) => [
q(Xanaguia Zapotec),
],
- q(7866) => [
+ q(7964) => [
q(Lapaguia-Guivini Zapotec),
],
- q(7867) => [
+ q(7965) => [
q(San Agustin Mixtepec Zapotec),
],
- q(7868) => [
+ q(7966) => [
q(Santa Catarina Albarradas Zapotec),
],
- q(7869) => [
+ q(7967) => [
q(Loxicha Zapotec),
],
- q(7870) => [
+ q(7968) => [
q(Quioquitani-Quieri Zapotec),
],
- q(7871) => [
+ q(7969) => [
q(Tilquiapan Zapotec),
],
- q(7872) => [
+ q(7970) => [
q(Tejalapan Zapotec),
],
- q(7873) => [
+ q(7971) => [
q(Guila Zapotec),
],
- q(7874) => [
+ q(7972) => [
q(Zaachila Zapotec),
],
- q(7875) => [
+ q(7973) => [
q(Yatee Zapotec),
],
- q(7876) => [
+ q(7974) => [
q(Zeem),
],
- q(7877) => [
+ q(7975) => [
q(Tokano),
],
- q(7878) => [
+ q(7976) => [
q(Kumzari),
],
- q(7879) => [
+ q(7977) => [
q(Zumaya),
],
- q(7880) => [
+ q(7978) => [
q(Zay),
],
- q(7881) => [
+ q(7979) => [
q(Yongbei Zhuang),
],
- q(7882) => [
+ q(7980) => [
q(Yang Zhuang),
],
- q(7883) => [
+ q(7981) => [
q(Youjiang Zhuang),
],
- q(7884) => [
+ q(7982) => [
q(Yongnan Zhuang),
],
- q(7885) => [
- q(Zyphe),
+ q(7983) => [
+ q(Zyphe Chin),
],
- q(7886) => [
+ q(7984) => [
q(Zuojiang Zhuang),
],
};
$Locale::Codes::Data{'language'}{'alias2id'} = {
q(!o!ung) => [
- q(5313),
+ q(5346),
q(0),
],
q(!xoo) => [
- q(4956),
+ q(4984),
q(0),
],
q('are'are) => [
@@ -24006,31 +24292,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q('auhelawa) => [
- q(3626),
+ q(3650),
q(0),
],
+ q('oroe) => [
+ q(1385),
+ q(1),
+ ],
q(//ani) => [
- q(2788),
+ q(2806),
q(0),
],
q(//gana) => [
- q(2559),
+ q(2576),
q(0),
],
q(//xegwi) => [
- q(7278),
+ q(7337),
q(0),
],
q(/gwi) => [
- q(2671),
+ q(2689),
q(0),
],
q(/xam) => [
- q(7236),
+ q(7287),
q(0),
],
q(=/hua) => [
- q(2835),
+ q(2856),
q(0),
],
q(=/kx'au//'ein) => [
@@ -24046,8 +24336,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(a-hmaos) => [
- q(2765),
- q(0),
+ q(2783),
+ q(1),
],
q(a-pucikwar) => [
q(0851),
@@ -24062,7 +24352,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(abadi) => [
- q(3180),
+ q(3204),
q(0),
],
q(abaga) => [
@@ -24078,7 +24368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(abar) => [
- q(4283),
+ q(4315),
q(0),
],
q(abau) => [
@@ -24102,7 +24392,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(abinomn) => [
- q(1448),
+ q(1450),
q(0),
],
q(abipon) => [
@@ -24146,7 +24436,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(abun) => [
- q(3303),
+ q(3327),
q(0),
],
q(abure) => [
@@ -24154,16 +24444,16 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(abureni) => [
- q(4234),
+ q(4266),
q(0),
],
q(acatepec me'phaa) => [
- q(6642),
+ q(6681),
q(0),
],
q(acatepec tlapanec) => [
- q(6642),
- q(0),
+ q(6681),
+ q(1),
],
q(achagua) => [
q(0585),
@@ -24174,7 +24464,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ache) => [
- q(2642),
+ q(2660),
q(0),
],
q(acheron) => [
@@ -24214,11 +24504,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(adai) => [
- q(7232),
+ q(7283),
q(0),
],
q(adamawa fulfulde) => [
- q(2371),
+ q(2383),
q(0),
],
q(adamorobe sign language) => [
@@ -24242,11 +24532,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(adara) => [
- q(3148),
+ q(3172),
q(0),
],
q(adasen) => [
- q(6503),
+ q(6541),
q(0),
],
q(adele) => [
@@ -24266,15 +24556,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(adithinngithigh) => [
- q(2155),
+ q(2163),
q(0),
],
q(adivasi oriya) => [
- q(5277),
+ q(5310),
q(0),
],
q(adiwasi garasia) => [
- q(2406),
+ q(2418),
q(0),
],
q(adnyamathanha) => [
@@ -24291,7 +24581,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(adygei) => [
q(0006),
- q(0),
+ q(1),
],
q(adyghe) => [
q(0006),
@@ -24310,7 +24600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aequian) => [
- q(7233),
+ q(7284),
q(0),
],
q(aer) => [
@@ -24326,8 +24616,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(afghan persian) => [
- q(5577),
- q(0),
+ q(5610),
+ q(1),
],
q(afghan sign language) => [
q(0644),
@@ -24338,8 +24628,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(afra) => [
- q(6860),
- q(0),
+ q(6901),
+ q(1),
],
q(afrihili) => [
q(0008),
@@ -24381,8 +24671,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0682),
q(0),
],
- q(aghu tharnggalu) => [
- q(2489),
+ q(aghu-tharnggala) => [
+ q(2644),
q(0),
],
q(aghul) => [
@@ -24390,7 +24680,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aghwan) => [
- q(7234),
+ q(7285),
q(0),
],
q(agi) => [
@@ -24398,11 +24688,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(agob) => [
- q(3349),
+ q(3373),
q(0),
],
q(agoi) => [
- q(2875),
+ q(2896),
q(0),
],
q(aguacateco) => [
@@ -24422,7 +24712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(agusan manobo) => [
- q(4520),
+ q(4550),
q(0),
],
q(agutaynen) => [
@@ -24430,7 +24720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(agwagwune) => [
- q(7516),
+ q(7604),
q(0),
],
q(ahan) => [
@@ -24442,7 +24732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aheu) => [
- q(6474),
+ q(6512),
q(0),
],
q(ahirani) => [
@@ -24458,7 +24748,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ahwai) => [
- q(4813),
+ q(4840),
q(0),
],
q(ai-cham) => [
@@ -24470,11 +24760,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aikana) => [
- q(6348),
+ q(6387),
q(0),
],
q(aiklep) => [
- q(4609),
+ q(4638),
q(0),
],
q(aimaq) => [
@@ -24518,8 +24808,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aiwoo) => [
- q(4814),
- q(0),
+ q(4841),
+ q(1),
],
q(aja (benin)) => [
q(0716),
@@ -24537,8 +24827,16 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0717),
q(0),
],
+ q(ajiya) => [
+ q(2907),
+ q(1),
+ ],
+ q(ajumbu) => [
+ q(4590),
+ q(0),
+ ],
q(ajyininka apurucayali) => [
- q(1833),
+ q(1837),
q(0),
],
q(ak) => [
@@ -24546,7 +24844,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aka) => [
- q(6134),
+ q(6171),
q(0),
],
q(aka-bea) => [
@@ -24598,11 +24896,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akebu) => [
- q(3255),
+ q(3279),
q(0),
],
q(akei) => [
- q(6695),
+ q(6734),
q(0),
],
q(akeu) => [
@@ -24622,7 +24920,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akkala sami) => [
- q(6006),
+ q(6043),
q(0),
],
q(aklanon) => [
@@ -24634,11 +24932,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akoose) => [
- q(1465),
+ q(1467),
q(0),
],
q(akoye) => [
- q(4293),
+ q(4325),
q(0),
],
q(akpa) => [
@@ -24646,7 +24944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akpes) => [
- q(2872),
+ q(2893),
q(0),
],
q(akrukay) => [
@@ -24654,11 +24952,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akukem) => [
- q(6158),
+ q(6195),
q(0),
],
q(akuku) => [
- q(1001),
+ q(1002),
q(0),
],
q(akum) => [
@@ -24678,11 +24976,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(akyaung ari naga) => [
- q(5028),
+ q(5058),
q(0),
],
q(al-sayyid bedouin sign language) => [
- q(6314),
+ q(6353),
q(0),
],
q(alaba-k'abeena) => [
@@ -24694,7 +24992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alabat island agta) => [
- q(2176),
+ q(2184),
q(0),
],
q(alacalufan languages) => [
@@ -24702,7 +25000,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alacatlatzala mixtec) => [
- q(4286),
+ q(4318),
q(0),
],
q(alago) => [
@@ -24710,7 +25008,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alagwa) => [
- q(7048),
+ q(7091),
q(0),
],
q(alak) => [
@@ -24726,7 +25024,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alanic) => [
- q(7342),
+ q(7407),
q(0),
],
q(alapmunte) => [
@@ -24746,11 +25044,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(albanian sign language) => [
- q(6171),
+ q(6208),
q(0),
],
q(alcozauca mixtec) => [
- q(7440),
+ q(7514),
q(0),
],
q(alege) => [
@@ -24758,12 +25056,12 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alekano) => [
- q(2395),
+ q(2407),
q(0),
],
q(alemannic) => [
q(0166),
- q(0),
+ q(1),
],
q(aleut) => [
q(0014),
@@ -24810,11 +25108,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alo phola) => [
- q(7652),
+ q(7741),
q(0),
],
q(aloapam zapotec) => [
- q(7730),
+ q(7828),
q(0),
],
q(alor) => [
@@ -24823,7 +25121,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(alsatian) => [
q(0166),
- q(0),
+ q(2),
],
q(alsea) => [
q(0636),
@@ -24834,7 +25132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(alu kurumba) => [
- q(7461),
+ q(7537),
q(0),
],
q(alugu) => [
@@ -24850,7 +25148,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aluo) => [
- q(7623),
+ q(7713),
q(0),
],
q(alur) => [
@@ -24874,7 +25172,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ama (sudan)) => [
- q(5139),
+ q(5171),
q(0),
],
q(amahai) => [
@@ -24914,15 +25212,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(amatlan zapotec) => [
- q(7839),
+ q(7937),
q(0),
],
q(amba (solomon islands)) => [
- q(6921),
+ q(6964),
q(0),
],
q(amba (uganda)) => [
- q(5850),
+ q(5885),
q(0),
],
q(ambai) => [
@@ -24954,7 +25252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ambo-pasco quechua) => [
- q(5674),
+ q(5708),
q(0),
],
q(ambonese malay) => [
@@ -24990,7 +25288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(amganad ifugao) => [
- q(2894),
+ q(2915),
q(0),
],
q(amharic) => [
@@ -25002,8 +25300,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(amio-gelimi) => [
- q(3857),
- q(0),
+ q(3883),
+ q(1),
],
q(amis) => [
q(0774),
@@ -25018,7 +25316,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(amoltepec mixtec) => [
- q(4126),
+ q(4159),
q(0),
],
q(ampanang) => [
@@ -25046,7 +25344,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ana tinga dogon) => [
- q(2156),
+ q(2164),
q(0),
],
q(anaang) => [
@@ -25062,7 +25360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anam) => [
- q(5373),
+ q(5405),
q(0),
],
q(anambe) => [
@@ -25070,11 +25368,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anamgura) => [
- q(2943),
+ q(2965),
q(0),
],
q(anasi) => [
- q(1387),
+ q(1389),
q(0),
],
q(anca) => [
@@ -25082,31 +25380,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ancient aramaic (up to 700 bce)) => [
- q(5163),
- q(0),
+ q(5195),
+ q(1),
],
q(ancient greek (to 1453)) => [
q(0163),
q(1),
],
q(ancient hebrew) => [
- q(2720),
+ q(2738),
q(0),
],
q(ancient macedonian) => [
- q(7357),
+ q(7422),
q(0),
],
q(ancient north arabian) => [
- q(7373),
+ q(7438),
q(0),
],
q(ancient zapotec) => [
- q(7493),
+ q(7581),
q(0),
],
q(andaandi) => [
- q(2012),
+ q(2017),
q(0),
],
q(andai) => [
@@ -25118,11 +25416,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(andalusian arabic) => [
- q(7229),
+ q(7280),
q(0),
],
q(andaman creole hindi) => [
- q(2722),
+ q(2740),
q(0),
],
q(andaqui) => [
@@ -25146,7 +25444,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(andio) => [
- q(1616),
+ q(1619),
q(0),
],
q(andoa) => [
@@ -25174,7 +25472,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anfillo) => [
- q(4665),
+ q(4694),
q(0),
],
q(angaataha) => [
@@ -25194,11 +25492,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(angami naga) => [
- q(4894),
+ q(4921),
q(0),
],
q(angguruk yali) => [
- q(7596),
+ q(7686),
q(0),
],
q(angika) => [
@@ -25210,11 +25508,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anglo-norman) => [
- q(7378),
+ q(7445),
q(0),
],
q(angloromani) => [
- q(5782),
+ q(5817),
q(0),
],
q(angolar) => [
@@ -25230,7 +25528,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(angosturas tunebo) => [
- q(6582),
+ q(6621),
q(0),
],
q(anguthimri) => [
@@ -25238,11 +25536,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ani phowa) => [
- q(7651),
+ q(7740),
q(0),
],
q(anii) => [
- q(1292),
+ q(1294),
q(0),
],
q(animere) => [
@@ -25254,7 +25552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anjam) => [
- q(1360),
+ q(1362),
q(0),
],
q(ankave) => [
@@ -25266,7 +25564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anong) => [
- q(5093),
+ q(5125),
q(0),
],
q(anor) => [
@@ -25286,7 +25584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(antankarana malagasy) => [
- q(7368),
+ q(7433),
q(0),
],
q(antigua and barbuda creole english) => [
@@ -25302,7 +25600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anufo) => [
- q(1759),
+ q(1763),
q(0),
],
q(anuki) => [
@@ -25322,15 +25620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(anyin morofo) => [
- q(4534),
+ q(4564),
q(0),
],
q(ao naga) => [
- q(4896),
+ q(4923),
q(0),
],
q(aoheng) => [
- q(5512),
+ q(5544),
q(0),
],
q(aore) => [
@@ -25338,7 +25636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ap ma) => [
- q(3184),
+ q(3208),
q(0),
],
q(apache languages) => [
@@ -25346,7 +25644,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(apalachee) => [
- q(7239),
+ q(7290),
q(0),
],
q(apalai) => [
@@ -25354,11 +25652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(apali) => [
- q(2259),
+ q(2270),
q(0),
],
q(apasco-apoala mixtec) => [
- q(4288),
+ q(4320),
q(0),
],
q(apatani) => [
@@ -25390,7 +25688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aquitanian) => [
- q(7240),
+ q(7291),
q(0),
],
q(arabana) => [
@@ -25413,6 +25711,10 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0738),
q(0),
],
+ q(arakwal) => [
+ q(5812),
+ q(0),
+ ],
q(aralle-tabulahan) => [
q(0924),
q(0),
@@ -25422,7 +25724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(arammba) => [
- q(6234),
+ q(6271),
q(0),
],
q(aranadan) => [
@@ -25430,11 +25732,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aranama-tamique) => [
- q(7418),
+ q(7492),
q(0),
],
q(arandai) => [
- q(3041),
+ q(3065),
q(0),
],
q(araona) => [
@@ -25455,7 +25757,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(arawa) => [
q(0881),
- q(0),
+ q(1),
],
q(arawak) => [
q(0028),
@@ -25486,11 +25788,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ardhamagadhi prakrit) => [
- q(5449),
+ q(5481),
q(0),
],
q(are) => [
- q(4605),
+ q(4635),
q(0),
],
q(areba) => [
@@ -25502,7 +25804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(arequipa-la union quechua) => [
- q(5706),
+ q(5740),
q(0),
],
q(argentine sign language) => [
@@ -25534,11 +25836,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aribwatsa) => [
- q(3792),
+ q(3816),
q(0),
],
q(aribwaung) => [
- q(7602),
+ q(7692),
q(0),
],
q(arifama-miniafia) => [
@@ -25562,11 +25864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(arin) => [
- q(7416),
+ q(7489),
q(0),
],
q(aringa) => [
- q(4052),
+ q(4084),
q(0),
],
q(arma) => [
@@ -25574,7 +25876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(armazic) => [
- q(7415),
+ q(7488),
q(0),
],
q(armenian) => [
@@ -25606,11 +25908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(arpitan) => [
- q(2365),
+ q(2377),
q(0),
],
q(arritinngithigh) => [
- q(5826),
+ q(5861),
q(0),
],
q(arta) => [
@@ -25630,7 +25932,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aruamu) => [
- q(4531),
+ q(4561),
q(0),
],
q(aruek) => [
@@ -25639,10 +25941,10 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(arumanian) => [
q(0362),
- q(0),
+ q(1),
],
q(aruop) => [
- q(4041),
+ q(4073),
q(0),
],
q(arutani) => [
@@ -25658,7 +25960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(asaro'o) => [
- q(4554),
+ q(4584),
q(0),
],
q(asas) => [
@@ -25666,7 +25968,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ashaninka) => [
- q(1800),
+ q(1804),
q(0),
],
q(ashe) => [
@@ -25674,11 +25976,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(asheninka pajonal) => [
- q(1751),
+ q(1754),
q(0),
],
q(asheninka perene) => [
- q(5575),
+ q(5608),
q(0),
],
q(ashkun) => [
@@ -25686,7 +25988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(asho chin) => [
- q(1871),
+ q(1876),
q(0),
],
q(ashtiani) => [
@@ -25698,7 +26000,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(askopan) => [
- q(2225),
+ q(2235),
q(0),
],
q(asoa) => [
@@ -25710,11 +26012,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(assan) => [
- q(7436),
+ q(7510),
q(0),
],
q(assangori) => [
- q(6031),
+ q(6068),
q(0),
],
q(assiniboine) => [
@@ -25731,7 +26033,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(asturleonese) => [
q(0030),
- q(0),
+ q(3),
],
q(asu (nigeria)) => [
q(0945),
@@ -25742,7 +26044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(asue awyu) => [
- q(5584),
+ q(5617),
q(0),
],
q(asumboa) => [
@@ -25750,7 +26052,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(asuncion mixtepec zapotec) => [
- q(7821),
+ q(7919),
q(0),
],
q(asuri) => [
@@ -25774,11 +26076,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(atatlahuca mixtec) => [
- q(4276),
+ q(4308),
q(0),
],
q(atayal) => [
- q(6346),
+ q(6385),
q(0),
],
q(atemble) => [
@@ -25822,7 +26124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(atsam) => [
- q(1686),
+ q(1689),
q(0),
],
q(atsugewi) => [
@@ -25830,7 +26132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(attapady kurumba) => [
- q(5457),
+ q(5489),
q(0),
],
q(attie) => [
@@ -25838,7 +26140,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(atzingo matlatzinca) => [
- q(5176),
+ q(5208),
q(0),
],
q(au) => [
@@ -25890,7 +26192,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(auwe) => [
- q(6091),
+ q(6128),
q(0),
],
q(auye) => [
@@ -25902,8 +26204,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ava guarani) => [
- q(4845),
- q(0),
+ q(4872),
+ q(1),
],
q(ava-canoeiro) => [
q(0968),
@@ -25922,8 +26224,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(avava) => [
- q(6556),
- q(0),
+ q(6595),
+ q(1),
],
q(avestan) => [
q(0034),
@@ -25938,7 +26240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awa (china)) => [
- q(7020),
+ q(7063),
q(0),
],
q(awa (papua new guinea)) => [
@@ -25946,7 +26248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awa-cuaiquer) => [
- q(3679),
+ q(3703),
q(0),
],
q(awabakal) => [
@@ -25954,7 +26256,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awad bing) => [
- q(1085),
+ q(1086),
q(0),
],
q(awadhi) => [
@@ -25966,7 +26268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awar) => [
- q(0993),
+ q(0994),
q(0),
],
q(awara) => [
@@ -25978,7 +26280,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(aweer) => [
- q(1354),
+ q(1356),
q(0),
],
q(awera) => [
@@ -25990,7 +26292,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awing) => [
- q(1020),
+ q(1021),
q(0),
],
q(awiyaana) => [
@@ -26006,15 +26308,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(awngthim) => [
- q(2672),
+ q(2690),
q(0),
],
q(awtuw) => [
- q(3444),
+ q(3468),
q(0),
],
q(awu) => [
- q(7575),
+ q(7666),
q(0),
],
q(awun) => [
@@ -26034,27 +26336,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(axi yi) => [
- q(7577),
+ q(7668),
q(0),
],
q(ayabadhu) => [
- q(0996),
+ q(0997),
q(0),
],
q(ayacucho quechua) => [
- q(5672),
+ q(5706),
q(0),
],
q(ayangan ifugao) => [
- q(2895),
- q(0),
+ q(2916),
+ q(1),
],
q(ayautla mazatec) => [
- q(7004),
+ q(7047),
q(0),
],
q(ayere) => [
- q(0997),
+ q(0998),
q(0),
],
q(ayerrerenge) => [
@@ -26062,19 +26364,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ayi (papua new guinea)) => [
- q(1006),
+ q(1007),
q(0),
],
q(ayiwo) => [
- q(4814),
+ q(4841),
q(0),
],
q(ayizi) => [
- q(7713),
+ q(7811),
q(0),
],
q(ayizo gbe) => [
- q(0994),
+ q(0995),
q(0),
],
q(aymara) => [
@@ -26082,19 +26384,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ayoquesco zapotec) => [
- q(7721),
+ q(7819),
q(0),
],
q(ayoreo) => [
- q(1004),
+ q(1005),
q(0),
],
q(ayu) => [
- q(1010),
+ q(1011),
q(0),
],
q(ayutla mixtec) => [
- q(4295),
+ q(4327),
q(0),
],
q(azerbaijani) => [
@@ -26102,215 +26404,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(azha) => [
- q(1013),
+ q(1014),
q(0),
],
q(azhe) => [
- q(7579),
+ q(7669),
q(0),
],
q(azoyu me'phaa) => [
- q(6625),
+ q(6664),
q(0),
],
q(azoyu tlapanec) => [
- q(6625),
- q(0),
+ q(6664),
+ q(1),
],
q(baan) => [
- q(1527),
+ q(1529),
q(0),
],
q(baangi) => [
- q(1421),
+ q(1423),
q(0),
],
q(baatonum) => [
- q(1039),
+ q(1040),
q(0),
],
q(baba) => [
- q(1061),
+ q(1062),
q(0),
],
q(baba malay) => [
- q(4107),
+ q(4140),
q(0),
],
q(babalia creole arabic) => [
- q(1064),
+ q(1065),
q(0),
],
q(babango) => [
- q(1051),
+ q(1052),
q(0),
],
q(babanki) => [
- q(1049),
+ q(1050),
q(0),
],
q(babatana) => [
- q(1023),
+ q(1024),
q(0),
],
q(babine) => [
- q(1082),
+ q(1083),
q(0),
],
q(bable) => [
q(0030),
- q(0),
+ q(1),
],
q(babuza) => [
- q(1621),
+ q(1624),
q(0),
],
q(bacama) => [
- q(1088),
+ q(1089),
q(0),
],
q(bacanese malay) => [
- q(1480),
+ q(1482),
q(0),
],
q(bactrian) => [
- q(7250),
+ q(7301),
q(0),
],
q(bada (indonesia)) => [
- q(1210),
+ q(1211),
q(0),
],
q(bada (nigeria)) => [
- q(1034),
+ q(1035),
q(0),
],
q(badaga) => [
- q(1153),
+ q(1154),
q(0),
],
q(bade) => [
- q(1094),
+ q(1095),
q(0),
],
q(badeshi) => [
- q(1115),
+ q(1116),
q(0),
],
q(badi kanum) => [
- q(3313),
+ q(3337),
q(0),
],
q(badimaya) => [
- q(1211),
+ q(1212),
+ q(0),
+ ],
+ q(badjiri) => [
+ q(3064),
q(0),
],
q(badui) => [
- q(1025),
+ q(1026),
q(0),
],
q(badyara) => [
- q(5349),
+ q(5382),
q(0),
],
q(baeggu) => [
- q(1521),
+ q(1523),
q(0),
],
q(baelelea) => [
- q(1520),
+ q(1522),
q(0),
],
q(baetora) => [
- q(1487),
+ q(1489),
q(0),
],
q(bafanji) => [
- q(1146),
+ q(1147),
q(0),
],
q(bafaw-balong) => [
- q(1561),
+ q(1564),
q(0),
],
q(bafia) => [
- q(3577),
+ q(3601),
q(0),
],
q(bafut) => [
- q(1140),
+ q(1141),
q(0),
],
q(baga binari) => [
- q(1071),
+ q(1072),
q(0),
],
q(baga kaloum) => [
- q(1403),
+ q(1405),
q(0),
],
q(baga koga) => [
- q(1175),
+ q(1176),
q(0),
],
q(baga manduri) => [
- q(1306),
+ q(1308),
q(0),
],
q(baga mboteni) => [
- q(1173),
+ q(1174),
q(0),
],
q(baga sitemu) => [
- q(1462),
+ q(1464),
q(0),
],
q(baga sobane) => [
- q(1468),
+ q(1470),
q(0),
],
q(bagheli) => [
- q(1160),
+ q(1161),
q(0),
],
q(bagirmi) => [
- q(1311),
+ q(1313),
q(0),
],
q(bagirmi fulfulde) => [
- q(2377),
+ q(2389),
q(0),
],
q(bago-kusuntu) => [
- q(1404),
+ q(1406),
q(0),
],
q(bagri) => [
- q(1177),
+ q(1178),
q(0),
],
q(bagupi) => [
- q(1381),
+ q(1383),
q(0),
],
q(bagusa) => [
- q(1400),
+ q(1402),
q(0),
],
q(bagvalal) => [
- q(3645),
+ q(3669),
q(0),
],
q(baha buyang) => [
- q(7558),
+ q(7649),
q(0),
],
q(baham) => [
- q(1112),
+ q(1113),
q(0),
],
q(bahamas creole english) => [
- q(1029),
+ q(1030),
q(0),
],
q(baharna arabic) => [
@@ -26318,155 +26624,155 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bahau) => [
- q(1206),
+ q(1207),
q(0),
],
q(bahinemo) => [
- q(1238),
+ q(1239),
q(0),
],
q(bahing) => [
- q(1196),
+ q(1197),
q(0),
],
q(bahnar) => [
- q(1106),
+ q(1107),
q(0),
],
q(bahonsuai) => [
- q(1467),
+ q(1469),
q(0),
],
q(bai) => [
- q(1099),
+ q(1100),
q(0),
],
q(baibai) => [
- q(1044),
+ q(1045),
q(0),
],
q(baikeno) => [
- q(1276),
+ q(1278),
q(0),
],
q(baima) => [
- q(1405),
+ q(1407),
q(0),
],
q(baimak) => [
- q(1326),
+ q(1328),
q(0),
],
q(bainouk-gunyaamolo) => [
- q(1089),
+ q(1090),
q(0),
],
q(bainouk-gunyuno) => [
- q(1024),
+ q(1025),
q(0),
],
q(bainouk-samik) => [
- q(1066),
+ q(1067),
q(0),
],
q(baiso) => [
- q(1469),
+ q(1471),
q(0),
],
q(baissa fali) => [
- q(2318),
+ q(2330),
q(0),
],
q(bajan) => [
- q(1247),
+ q(1249),
q(0),
],
q(bajelani) => [
- q(1243),
+ q(1244),
q(0),
],
q(baka (cameroon)) => [
- q(1256),
+ q(1258),
q(0),
],
q(baka (sudan)) => [
- q(1097),
+ q(1098),
q(0),
],
q(bakairi) => [
- q(1269),
+ q(1271),
q(0),
],
q(bakaka) => [
- q(1423),
+ q(1425),
q(0),
],
q(bakhtiari) => [
- q(1406),
+ q(1408),
q(0),
],
q(baki) => [
- q(1261),
+ q(1263),
q(0),
],
q(bakoko) => [
- q(1260),
+ q(1262),
q(0),
],
q(bakole) => [
- q(3435),
+ q(3459),
q(0),
],
q(bakpinka) => [
- q(1057),
+ q(1058),
q(0),
],
q(bakumpai) => [
- q(1270),
+ q(1272),
q(0),
],
q(bakwe) => [
- q(1251),
+ q(1253),
q(0),
],
q(balaesang) => [
- q(1296),
+ q(1298),
q(0),
],
q(balangao) => [
- q(1299),
+ q(1301),
q(0),
],
q(balangingi) => [
- q(6204),
+ q(6241),
q(0),
],
q(balanta-ganja) => [
- q(1248),
+ q(1250),
q(0),
],
q(balanta-kentohe) => [
- q(1282),
+ q(1284),
q(0),
],
q(balantak) => [
- q(1302),
+ q(1304),
q(0),
],
q(balau) => [
- q(1284),
+ q(1286),
q(0),
],
q(baldemu) => [
- q(1103),
+ q(1104),
q(0),
],
q(bali (democratic republic of congo)) => [
- q(1080),
+ q(1081),
q(0),
],
q(bali (nigeria)) => [
- q(1078),
+ q(1079),
q(0),
],
q(balinese) => [
@@ -26474,27 +26780,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(balinese malay) => [
- q(4265),
+ q(4297),
q(0),
],
q(balkan gagauz turkish) => [
- q(1184),
+ q(1185),
q(0),
],
q(balkan romani) => [
- q(5790),
+ q(5825),
q(0),
],
q(balo) => [
- q(1412),
+ q(1414),
q(0),
],
q(baloi) => [
- q(1231),
+ q(1232),
q(0),
],
q(balti) => [
- q(1156),
+ q(1157),
q(0),
],
q(baltic languages) => [
@@ -26502,11 +26808,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(baltic romani) => [
- q(5788),
+ q(5823),
q(0),
],
q(baluan-pam) => [
- q(1294),
+ q(1296),
q(0),
],
q(baluchi) => [
@@ -26514,19 +26820,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bamako sign language) => [
- q(1357),
+ q(1359),
q(0),
],
q(bamali) => [
- q(1055),
+ q(1056),
q(0),
],
q(bambalang) => [
- q(1317),
+ q(1319),
q(0),
],
q(bambam) => [
- q(5611),
+ q(5644),
q(0),
],
q(bambara) => [
@@ -26534,15 +26840,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bambassi) => [
- q(4657),
+ q(4686),
q(0),
],
q(bambili-bambui) => [
- q(1036),
+ q(1037),
q(0),
],
q(bamenyam) => [
- q(1069),
+ q(1070),
q(0),
],
q(bamileke languages) => [
@@ -26550,47 +26856,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bamu) => [
- q(1070),
+ q(1071),
q(0),
],
q(bamukumbit) => [
- q(1417),
+ q(1419),
q(0),
],
q(bamun) => [
- q(1037),
+ q(1038),
q(0),
],
q(bamunka) => [
- q(1530),
+ q(1532),
q(0),
],
q(bamwe) => [
- q(1309),
+ q(1311),
q(0),
],
q(ban khor sign language) => [
- q(1147),
+ q(1148),
q(0),
],
q(bana) => [
- q(1087),
+ q(1088),
q(0),
],
q(banam bay) => [
- q(7012),
- q(0),
+ q(7055),
+ q(1),
],
q(banao itneg) => [
- q(1252),
+ q(1254),
q(0),
],
q(banaro) => [
- q(1614),
+ q(1617),
q(0),
],
q(banda (indonesia)) => [
- q(1332),
+ q(1334),
q(0),
],
q(banda languages) => [
@@ -26598,111 +26904,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(banda malay) => [
- q(1389),
+ q(1391),
q(0),
],
q(banda-bambari) => [
- q(3910),
+ q(3936),
q(0),
],
q(banda-banda) => [
- q(1378),
+ q(1380),
q(0),
],
q(banda-mbres) => [
- q(1408),
+ q(1410),
q(0),
],
q(banda-ndele) => [
- q(1148),
+ q(1149),
q(0),
],
q(banda-yangere) => [
- q(7503),
+ q(7591),
q(0),
],
q(bandi) => [
- q(1615),
+ q(1618),
q(0),
],
q(bandial) => [
- q(1407),
+ q(1409),
q(0),
],
q(bandjalang) => [
- q(1114),
+ q(1115),
q(0),
],
q(bangala) => [
- q(1573),
+ q(1576),
q(0),
],
q(bangandu) => [
- q(1167),
+ q(1168),
q(0),
],
q(bangba) => [
- q(1043),
+ q(1044),
q(0),
],
q(banggai) => [
- q(1186),
+ q(1187),
q(0),
],
q(banggarla) => [
- q(1233),
+ q(1234),
q(0),
],
q(bangi) => [
- q(1336),
+ q(1338),
q(0),
],
- q(bangi me) => [
- q(1955),
+ q(bangime) => [
+ q(1960),
q(0),
],
q(bangingih sama) => [
- q(6204),
- q(0),
+ q(6241),
+ q(1),
],
q(bangka) => [
- q(4201),
+ q(4233),
q(0),
],
q(bangolan) => [
- q(1170),
+ q(1171),
q(0),
],
q(bangubangu) => [
- q(1350),
+ q(1352),
q(0),
],
q(bangwinji) => [
- q(1456),
+ q(1458),
q(0),
],
q(baniva) => [
- q(1537),
+ q(1540),
q(0),
],
q(baniwa) => [
- q(1550),
+ q(1553),
q(0),
],
q(banjar) => [
- q(1244),
+ q(1245),
q(0),
],
q(bankagooma) => [
- q(1588),
+ q(1591),
q(0),
],
q(bankal) => [
- q(3086),
+ q(3110),
q(0),
],
q(bankan tey dogon) => [
- q(1973),
+ q(1978),
q(0),
],
q(bankon) => [
@@ -26710,23 +27016,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bannoni) => [
- q(1077),
+ q(1078),
q(0),
],
q(bantawa) => [
- q(1032),
+ q(1033),
q(0),
],
q(bantayanon) => [
- q(1159),
+ q(1160),
q(0),
],
q(bantik) => [
- q(1344),
+ q(1346),
q(0),
],
q(bantoanon) => [
- q(1342),
+ q(1344),
q(0),
],
q(bantu (other)) => [
@@ -26738,135 +27044,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(baoule) => [
- q(1073),
+ q(1074),
q(0),
],
q(bara malagasy) => [
- q(1202),
+ q(1203),
q(0),
],
q(baraamu) => [
- q(1426),
+ q(1428),
q(0),
],
q(barababaraba) => [
- q(5735),
+ q(5769),
q(0),
],
q(barai) => [
- q(1040),
+ q(1041),
q(0),
],
q(barakai) => [
- q(1030),
+ q(1031),
q(0),
],
q(baram kayan) => [
- q(3740),
+ q(3764),
q(0),
],
q(barama) => [
- q(1045),
+ q(1046),
q(0),
],
q(barambu) => [
- q(1434),
+ q(1436),
q(0),
],
q(baramu) => [
- q(1328),
+ q(1330),
q(0),
],
q(barapasi) => [
- q(1437),
+ q(1439),
q(0),
],
q(baras) => [
- q(1440),
+ q(1442),
q(0),
],
q(barasana-eduria) => [
- q(1460),
+ q(1462),
q(0),
],
q(barbacoas) => [
- q(1377),
+ q(1379),
+ q(0),
+ ],
+ q(barbaram) => [
+ q(7027),
q(0),
],
q(barbareno) => [
- q(1359),
+ q(1361),
q(0),
],
q(barclayville grebo) => [
- q(2615),
+ q(2632),
q(0),
],
q(bardi) => [
- q(1074),
+ q(1075),
q(0),
],
q(bare) => [
- q(1026),
+ q(1027),
q(0),
],
q(barein) => [
- q(1518),
+ q(1520),
q(0),
],
q(bargam) => [
- q(4358),
+ q(4389),
q(0),
],
q(bari) => [
- q(1137),
+ q(1138),
q(0),
],
q(bariai) => [
- q(1072),
+ q(1073),
q(0),
],
q(bariji) => [
- q(1234),
+ q(1235),
q(0),
],
q(barikanchi) => [
- q(1581),
+ q(1584),
q(0),
],
q(barikewa) => [
- q(3042),
+ q(3066),
q(0),
],
q(barok) => [
- q(1241),
+ q(1242),
q(0),
],
q(barombi) => [
- q(1047),
+ q(1048),
q(0),
],
q(barro negro tunebo) => [
- q(6361),
+ q(6400),
q(0),
],
q(barrow point) => [
- q(1392),
+ q(1394),
q(0),
],
q(baruga) => [
- q(1254),
+ q(1256),
q(0),
],
q(baruya) => [
- q(1607),
+ q(1610),
q(0),
],
q(barwe) => [
- q(1548),
+ q(1551),
q(0),
],
q(barzani jewish neo-aramaic) => [
- q(1236),
+ q(1237),
q(0),
],
q(basa) => [
@@ -26878,27 +27188,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(basa (nigeria)) => [
- q(1637),
+ q(1640),
q(0),
],
q(basa-gumna) => [
- q(1458),
+ q(1460),
q(0),
],
q(basa-gurmana) => [
- q(1503),
+ q(1505),
q(0),
],
q(basap) => [
- q(1091),
+ q(1092),
q(0),
],
q(basay) => [
- q(1606),
+ q(1609),
q(0),
],
q(bashkardi) => [
- q(1453),
+ q(1455),
q(0),
],
q(bashkir) => [
@@ -26906,7 +27216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(basketo) => [
- q(1466),
+ q(1468),
q(0),
],
q(basque) => [
@@ -26918,35 +27228,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bassa) => [
- q(1463),
+ q(1465),
q(0),
],
q(bassa-kontagora) => [
- q(1464),
+ q(1466),
q(0),
],
q(bassari) => [
- q(1450),
+ q(1452),
q(0),
],
q(bassossi) => [
- q(1455),
+ q(1457),
q(0),
],
q(bata) => [
- q(1472),
+ q(1474),
q(0),
],
q(batad ifugao) => [
- q(2895),
+ q(2916),
q(0),
],
q(batak) => [
- q(1591),
+ q(1594),
q(0),
],
q(batak alas-kluet) => [
- q(1495),
+ q(1497),
q(0),
],
q(batak angkola) => [
@@ -26954,11 +27264,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(batak dairi) => [
- q(1474),
+ q(1476),
q(0),
],
q(batak karo) => [
- q(1493),
+ q(1495),
q(0),
],
q(batak languages) => [
@@ -26966,223 +27276,215 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(batak mandailing) => [
- q(1482),
+ q(1484),
q(0),
],
q(batak simalungun) => [
- q(1488),
+ q(1490),
q(0),
],
q(batak toba) => [
- q(1041),
+ q(1042),
q(0),
],
q(batanga) => [
- q(1340),
+ q(1342),
q(0),
],
q(batek) => [
- q(1486),
+ q(1488),
q(0),
],
q(bateri) => [
- q(1491),
+ q(1493),
q(0),
],
q(bathari) => [
- q(1198),
+ q(1199),
q(0),
],
q(bati (cameroon)) => [
- q(1473),
+ q(1475),
q(0),
],
q(bati (indonesia)) => [
- q(1535),
+ q(1538),
q(0),
],
q(bats) => [
- q(1050),
+ q(1051),
q(0),
],
q(batu) => [
- q(1490),
+ q(1492),
q(0),
],
q(batui) => [
- q(7742),
+ q(7840),
q(0),
],
q(batuley) => [
- q(1038),
+ q(1039),
+ q(0),
+ ],
+ q(batyala) => [
+ q(7314),
q(0),
],
q(bau) => [
- q(1042),
+ q(1043),
q(0),
],
q(bau bidayuh) => [
- q(6109),
+ q(6146),
q(0),
],
q(bauchi) => [
- q(1452),
+ q(1454),
q(0),
],
q(baure) => [
- q(1428),
+ q(1430),
q(0),
],
q(bauria) => [
- q(1166),
- q(0),
- ],
- q(bauro) => [
- q(1567),
+ q(1167),
q(0),
],
q(bauwaki) => [
- q(1552),
+ q(1555),
q(0),
],
q(bauzi) => [
- q(1541),
+ q(1544),
q(0),
],
q(bavarian) => [
- q(1033),
+ q(1034),
q(0),
],
q(bawm chin) => [
- q(1178),
+ q(1179),
q(0),
],
q(bay miwok) => [
- q(4334),
+ q(4366),
q(0),
],
q(bayali) => [
- q(1253),
+ q(1255),
q(0),
],
q(baybayanon) => [
- q(1540),
+ q(1543),
q(0),
],
q(baygo) => [
- q(1597),
+ q(1600),
q(0),
],
q(bayono) => [
- q(1602),
+ q(1605),
q(0),
],
q(bayot) => [
- q(1090),
+ q(1091),
q(0),
],
q(bayungu) => [
- q(1576),
+ q(1579),
q(0),
],
q(bazigar) => [
- q(1154),
+ q(1155),
q(0),
],
q(beami) => [
- q(1126),
+ q(1127),
q(0),
],
q(beaver) => [
- q(1116),
+ q(1117),
q(0),
],
q(beba) => [
- q(1152),
- q(0),
- ],
- q(bebe) => [
- q(1636),
+ q(1153),
q(0),
],
q(bebele) => [
- q(1117),
+ q(1118),
q(0),
],
q(bebeli) => [
- q(1125),
+ q(1126),
q(0),
],
q(bebil) => [
- q(1582),
+ q(1585),
q(0),
],
q(bedawiyet) => [
q(0047),
- q(0),
- ],
- q(bedik) => [
- q(6594),
- q(0),
+ q(1),
],
q(bedjond) => [
- q(1250),
+ q(1252),
q(0),
],
q(bedoanas) => [
- q(1119),
+ q(1120),
q(0),
],
q(beeke) => [
- q(1258),
+ q(1260),
q(0),
],
q(beele) => [
- q(1583),
+ q(1586),
q(0),
],
q(beembe) => [
- q(1128),
+ q(1129),
q(0),
],
q(beezen) => [
- q(1352),
+ q(1354),
q(0),
],
q(befang) => [
- q(1063),
+ q(1064),
q(0),
],
q(begbere-ejar) => [
- q(1419),
- q(0),
+ q(1421),
+ q(1),
],
q(beja) => [
q(0047),
q(0),
],
q(bekati') => [
- q(1124),
+ q(1125),
q(0),
],
q(bekwarra) => [
- q(1274),
+ q(1276),
q(0),
],
q(bekwel) => [
- q(1275),
+ q(1277),
q(0),
],
q(belait) => [
- q(1122),
+ q(1123),
q(0),
],
q(belanda bor) => [
- q(1568),
+ q(1571),
q(0),
],
q(belanda viri) => [
- q(1526),
+ q(1528),
q(0),
],
q(belarusian) => [
@@ -27190,27 +27492,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(belhariya) => [
- q(1611),
+ q(1614),
q(0),
],
q(beli (papua new guinea)) => [
- q(1135),
+ q(1136),
q(0),
],
q(beli (sudan)) => [
- q(1290),
+ q(1292),
q(0),
],
q(belize kriol english) => [
- q(1624),
+ q(1627),
q(0),
],
q(bella coola) => [
- q(1280),
+ q(1282),
q(0),
],
q(bellari) => [
- q(1444),
+ q(1446),
q(0),
],
q(bemba) => [
@@ -27218,7 +27520,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bemba (democratic republic of congo)) => [
- q(1327),
+ q(1329),
q(0),
],
q(bemba (zambia)) => [
@@ -27226,47 +27528,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(bembe) => [
- q(1304),
+ q(1306),
q(0),
],
q(ben tey dogon) => [
- q(1970),
+ q(1975),
q(0),
],
q(bena (nigeria)) => [
- q(7690),
+ q(7782),
q(0),
],
q(bena (tanzania)) => [
- q(1136),
+ q(1137),
q(0),
],
q(benabena) => [
- q(1121),
+ q(1122),
q(0),
],
q(bench) => [
- q(1081),
+ q(1082),
q(0),
],
q(bende) => [
- q(1105),
+ q(1106),
q(0),
],
q(bendi) => [
- q(1084),
+ q(1085),
q(0),
],
q(beneraf) => [
- q(1348),
- q(0),
+ q(1350),
+ q(1),
],
q(beng) => [
- q(4843),
+ q(4870),
q(0),
],
q(benga) => [
- q(1335),
+ q(1337),
q(0),
],
q(bengali) => [
@@ -27274,39 +27576,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(benggoi) => [
- q(1185),
+ q(1186),
q(0),
],
q(bengkala sign language) => [
- q(1422),
+ q(1424),
q(0),
],
q(bentong) => [
- q(1347),
+ q(1349),
q(0),
],
q(benyadu') => [
- q(1594),
+ q(1597),
q(0),
],
q(beothuk) => [
- q(1499),
+ q(1501),
q(0),
],
q(bepour) => [
- q(1215),
+ q(1216),
q(0),
],
q(bera) => [
- q(1427),
+ q(1429),
q(0),
],
q(berakou) => [
- q(1587),
+ q(1590),
q(0),
],
q(berau malay) => [
- q(1522),
+ q(1524),
q(0),
],
q(berber languages) => [
@@ -27314,107 +27616,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(berbice creole dutch) => [
- q(1425),
+ q(1427),
q(0),
],
q(berik) => [
- q(1264),
+ q(1266),
q(0),
],
q(berinomo) => [
- q(1225),
+ q(1226),
q(0),
],
q(berom) => [
- q(1363),
+ q(1365),
q(0),
],
q(berta) => [
- q(7201),
+ q(7250),
q(0),
],
q(berti) => [
- q(1609),
+ q(1612),
q(0),
],
q(besisi) => [
- q(4254),
+ q(4286),
q(0),
],
q(besme) => [
- q(1129),
+ q(1130),
q(0),
],
q(besoa) => [
- q(1127),
+ q(1128),
q(0),
],
q(betaf) => [
- q(1141),
+ q(1142),
q(0),
],
q(betawi) => [
- q(1133),
+ q(1134),
q(0),
],
q(bete) => [
- q(1596),
+ q(1599),
q(0),
],
q(bete-bendi) => [
- q(1489),
+ q(1491),
q(0),
],
q(beti (cote d'ivoire)) => [
- q(2272),
+ q(2283),
q(0),
],
q(betta kurumba) => [
- q(7462),
+ q(7538),
q(0),
],
q(bezhta) => [
- q(3157),
+ q(3181),
q(0),
],
q(bhadrawahi) => [
- q(1190),
+ q(1191),
q(0),
],
q(bhalay) => [
- q(1208),
+ q(1209),
q(0),
],
q(bharia) => [
- q(1187),
+ q(1188),
q(0),
],
q(bhatola) => [
- q(1481),
+ q(1483),
q(0),
],
q(bhatri) => [
- q(1183),
+ q(1184),
q(0),
],
q(bhattiyali) => [
- q(1204),
+ q(1205),
q(0),
],
q(bhaya) => [
- q(1191),
+ q(1192),
q(0),
],
q(bhele) => [
- q(1209),
+ q(1210),
q(0),
],
q(bhilali) => [
- q(1195),
+ q(1196),
q(0),
],
q(bhili) => [
- q(1188),
+ q(1189),
q(0),
],
q(bhojpuri) => [
@@ -27422,95 +27724,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bhoti kinnauri) => [
- q(4805),
+ q(4832),
q(0),
],
q(bhujel) => [
- q(1598),
+ q(1601),
q(0),
],
q(bhunjia) => [
- q(1205),
+ q(1206),
q(0),
],
q(biafada) => [
- q(1216),
+ q(1217),
q(0),
],
q(biage) => [
- q(1095),
+ q(1096),
q(0),
],
q(biak) => [
- q(1207),
+ q(1208),
q(0),
],
q(biali) => [
- q(1123),
+ q(1124),
q(0),
],
q(bian marind) => [
- q(1394),
+ q(1396),
q(0),
],
q(biangai) => [
- q(1217),
+ q(1218),
q(0),
],
q(biao) => [
- q(1601),
+ q(1604),
q(0),
],
q(biao mon) => [
- q(1322),
+ q(1324),
q(0),
],
q(biao-jiao mien) => [
- q(1235),
+ q(1236),
q(0),
],
q(biatah bidayuh) => [
- q(1478),
+ q(1480),
+ q(0),
+ ],
+ q(bibbulman) => [
+ q(7310),
q(0),
],
q(bidhawal) => [
- q(2914),
+ q(2935),
q(0),
],
q(bidiyo) => [
- q(1214),
+ q(1215),
q(0),
],
q(bidyara) => [
- q(1603),
+ q(1606),
q(0),
],
q(bidyogo) => [
- q(1237),
+ q(1238),
q(0),
],
q(biem) => [
- q(1305),
+ q(1307),
q(0),
],
q(bierebo) => [
- q(1338),
+ q(1340),
q(0),
],
q(bieria) => [
- q(1431),
+ q(1433),
q(0),
],
q(biete) => [
- q(1226),
+ q(1227),
q(0),
],
q(big nambas) => [
- q(4944),
+ q(4972),
q(0),
],
q(biga) => [
- q(1189),
+ q(1190),
+ q(0),
+ ],
+ q(bigambal) => [
+ q(7303),
q(0),
],
q(bihari languages) => [
@@ -27518,11 +27828,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bijori) => [
- q(1229),
+ q(1230),
q(0),
],
q(bikaru) => [
- q(1213),
+ q(1214),
q(0),
],
q(bikol) => [
@@ -27530,83 +27840,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bikya) => [
- q(1592),
+ q(1595),
q(0),
],
q(bila) => [
- q(1222),
+ q(1223),
q(0),
],
q(bilakura) => [
- q(1409),
+ q(1411),
q(0),
],
q(bilaspuri) => [
- q(3279),
+ q(3303),
q(0),
],
q(bilba) => [
- q(1398),
+ q(1400),
q(0),
],
q(bilbil) => [
- q(1447),
+ q(1449),
q(0),
],
q(bile) => [
- q(1219),
+ q(1220),
q(0),
],
q(bilin) => [
q(0067),
- q(0),
+ q(1),
],
q(bilma kanuri) => [
- q(1321),
+ q(1323),
q(0),
],
q(biloxi) => [
- q(1289),
+ q(1291),
q(0),
],
q(bilua) => [
- q(1279),
+ q(1281),
q(0),
],
q(bilur) => [
- q(1572),
+ q(1575),
q(0),
],
q(bima) => [
- q(1200),
+ q(1201),
q(0),
],
q(bimin) => [
- q(1197),
+ q(1198),
q(0),
],
q(bimoba) => [
- q(1220),
+ q(1221),
q(0),
],
q(bina (nigeria)) => [
- q(1600),
+ q(1603),
q(0),
],
q(bina (papua new guinea)) => [
- q(1316),
+ q(1318),
q(0),
],
q(binahari) => [
- q(1590),
+ q(1593),
q(0),
],
q(binandere) => [
- q(1193),
+ q(1194),
+ q(0),
+ ],
+ q(bindal) => [
+ q(7302),
q(0),
],
q(bine) => [
- q(1364),
+ q(1366),
q(0),
],
q(bini) => [
@@ -27614,87 +27928,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(binji) => [
- q(1382),
+ q(1384),
q(0),
],
q(binongan itneg) => [
- q(2990),
+ q(3013),
q(0),
],
q(bintauna) => [
- q(1333),
+ q(1335),
q(0),
],
q(bintulu) => [
- q(1351),
+ q(1353),
q(0),
],
q(binukid) => [
- q(1257),
+ q(1259),
q(0),
],
q(binumarien) => [
- q(1246),
+ q(1248),
q(0),
],
q(bipi) => [
- q(1223),
+ q(1224),
q(0),
],
q(birale) => [
- q(1571),
+ q(1574),
q(0),
],
q(birao) => [
- q(1439),
+ q(1441),
q(0),
],
q(birgit) => [
- q(1476),
+ q(1478),
q(0),
],
q(birhor) => [
- q(1230),
+ q(1231),
q(0),
],
q(biri) => [
- q(1632),
+ q(1635),
q(0),
],
q(biritai) => [
- q(1414),
+ q(1416),
q(0),
],
q(birked) => [
- q(1432),
+ q(1434),
q(0),
],
q(birri) => [
- q(1533),
+ q(1536),
+ q(0),
+ ],
+ q(birrpayi) => [
+ q(7306),
q(0),
],
q(birwa) => [
- q(1433),
+ q(1435),
q(0),
],
q(bisa) => [
- q(1212),
- q(0),
+ q(1213),
+ q(1),
],
q(biseni) => [
- q(2916),
+ q(2938),
q(0),
],
q(bishnupriya) => [
- q(1397),
+ q(1399),
q(0),
],
q(bishuo) => [
- q(1549),
+ q(1552),
q(0),
],
q(bisis) => [
- q(1349),
+ q(1351),
q(0),
],
q(bislama) => [
@@ -27702,55 +28020,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bisorio) => [
- q(1224),
+ q(1225),
q(0),
],
q(bissa) => [
- q(1212),
+ q(1213),
q(0),
],
q(bisu) => [
- q(1623),
+ q(1626),
q(0),
],
q(bit) => [
- q(1171),
+ q(1172),
q(0),
],
q(bitare) => [
- q(1441),
+ q(1443),
q(0),
],
q(bitur) => [
- q(4129),
+ q(4162),
q(0),
],
q(biwat) => [
- q(1554),
+ q(1557),
q(0),
],
q(biyo) => [
- q(1604),
+ q(1607),
q(0),
],
q(biyom) => [
- q(1385),
+ q(1387),
q(0),
],
q(blablanga) => [
- q(1293),
+ q(1295),
q(0),
],
q(blafe) => [
- q(1144),
+ q(1145),
q(0),
],
q(blagar) => [
- q(1131),
+ q(1132),
q(0),
],
q(blang) => [
- q(1295),
+ q(1297),
q(0),
],
q(blin) => [
@@ -27759,94 +28077,94 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(bliss) => [
q(0478),
- q(0),
+ q(2),
],
q(blissymbolics) => [
q(0478),
- q(0),
+ q(1),
],
q(blissymbols) => [
q(0478),
q(0),
],
q(bo (laos)) => [
- q(1172),
+ q(1173),
q(0),
],
q(bo (papua new guinea)) => [
- q(1395),
+ q(1397),
q(0),
],
q(bo-rukul) => [
- q(4091),
+ q(4124),
q(0),
],
q(bo-ung) => [
- q(4576),
+ q(4606),
q(0),
],
q(boano (maluku)) => [
- q(1628),
+ q(1631),
q(0),
],
q(boano (sulawesi)) => [
- q(1626),
+ q(1629),
q(0),
],
q(bobongko) => [
- q(1163),
+ q(1164),
q(0),
],
q(bobot) => [
- q(1494),
+ q(1496),
q(0),
],
q(bodo (central african republic)) => [
- q(1374),
+ q(1376),
q(0),
],
q(bodo (india)) => [
- q(1445),
+ q(1447),
q(0),
],
q(bodo gadaba) => [
- q(2419),
+ q(2431),
q(0),
],
q(bodo parja) => [
- q(1111),
+ q(1112),
q(0),
],
q(bofi) => [
- q(1142),
+ q(1143),
q(0),
],
q(boga) => [
- q(1538),
+ q(1541),
q(0),
],
q(bogaya) => [
- q(1367),
+ q(1369),
q(0),
],
q(boghom) => [
- q(1515),
+ q(1517),
q(0),
],
q(boguru) => [
- q(1418),
+ q(1420),
q(0),
],
q(bohtan neo-aramaic) => [
- q(1199),
+ q(1200),
q(0),
],
q(boikin) => [
- q(1620),
+ q(1623),
q(0),
],
q(bokha) => [
- q(7524),
+ q(7612),
q(0),
],
q(bokmal, norwegian) => [
@@ -27854,243 +28172,247 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(boko (benin)) => [
- q(1401),
+ q(1403),
q(0),
],
q(boko (democratic republic of congo)) => [
- q(1268),
+ q(1270),
q(0),
],
q(bokobaru) => [
- q(1510),
+ q(1512),
q(0),
],
q(bokoto) => [
- q(1109),
+ q(1110),
q(0),
],
q(bokyi) => [
- q(1277),
+ q(1279),
q(0),
],
q(bola) => [
- q(1343),
+ q(1345),
q(0),
],
q(bolango) => [
- q(1281),
+ q(1283),
q(0),
],
q(bole) => [
- q(1362),
+ q(1364),
q(0),
],
q(bolgarian) => [
- q(7254),
+ q(7309),
q(0),
],
q(bolgo) => [
- q(1532),
+ q(1534),
q(0),
],
q(bolia) => [
- q(1286),
+ q(1288),
q(0),
],
q(bolinao) => [
- q(6094),
+ q(6131),
q(0),
],
q(bolivian sign language) => [
- q(1529),
+ q(1531),
q(0),
],
q(bolo) => [
- q(1298),
+ q(1300),
q(0),
],
q(boloki) => [
- q(1272),
+ q(1274),
q(0),
],
q(bolon) => [
- q(1356),
+ q(1358),
q(0),
],
q(bolondo) => [
- q(1627),
+ q(1630),
q(0),
],
q(bolongan) => [
- q(1287),
+ q(1289),
q(0),
],
q(bolyu) => [
- q(5481),
+ q(5513),
q(0),
],
q(bom) => [
- q(1308),
+ q(1310),
q(0),
],
q(boma) => [
- q(1358),
+ q(1360),
q(0),
],
q(bomboli) => [
- q(1314),
+ q(1316),
q(0),
],
q(bomboma) => [
- q(1560),
+ q(1563),
q(0),
],
q(bomitaba) => [
- q(7810),
+ q(7908),
q(0),
],
q(bomu) => [
- q(1319),
+ q(1321),
q(0),
],
q(bomwali) => [
- q(1325),
+ q(1327),
q(0),
],
q(bon gula) => [
- q(2530),
+ q(2545),
q(0),
],
q(bonan) => [
- q(5386),
+ q(5418),
q(0),
],
q(bondei) => [
- q(1370),
+ q(1372),
q(0),
],
q(bondo) => [
- q(1158),
+ q(1159),
q(0),
],
q(bondoukou kulango) => [
- q(3750),
+ q(3774),
q(0),
],
q(bondum dom dogon) => [
- q(1971),
+ q(1976),
q(0),
],
q(bonerate) => [
- q(1329),
+ q(1331),
q(0),
],
q(bonerif) => [
- q(1348),
+ q(1350),
q(0),
],
q(bonggi) => [
- q(1096),
+ q(1097),
q(0),
],
q(bonggo) => [
- q(1379),
+ q(1381),
q(0),
],
q(bongili) => [
- q(1502),
+ q(1504),
q(0),
],
q(bongo) => [
- q(1369),
+ q(1371),
q(0),
],
q(bongu) => [
- q(1393),
+ q(1395),
q(0),
],
q(bonjo) => [
- q(1361),
+ q(1363),
q(0),
],
q(bonkeng) => [
- q(1524),
+ q(1526),
q(0),
],
q(bonkiman) => [
- q(1366),
+ q(1368),
q(0),
],
q(bontok) => [
- q(1331),
+ q(1333),
q(0),
],
+ q(boo) => [
+ q(1403),
+ q(1),
+ ],
q(bookan) => [
- q(1330),
+ q(1332),
q(0),
],
q(boon) => [
- q(1339),
+ q(1341),
q(0),
],
q(boor) => [
- q(1523),
+ q(1525),
q(0),
],
q(bora) => [
- q(1353),
+ q(1355),
q(0),
],
q(borana-arsi-guji oromo) => [
- q(2410),
+ q(2422),
q(0),
],
q(border kuna) => [
- q(3658),
+ q(3682),
q(0),
],
q(borei) => [
- q(2396),
+ q(2408),
q(0),
],
q(borgu fulfulde) => [
- q(2374),
+ q(2386),
q(0),
],
q(borna (democratic republic of congo)) => [
- q(1589),
+ q(1592),
q(0),
],
q(borna (ethiopia)) => [
- q(1556),
- q(0),
+ q(1559),
+ q(1),
],
q(boro (ethiopia)) => [
- q(1556),
+ q(1559),
q(0),
],
q(boro (ghana)) => [
- q(7485),
+ q(7567),
q(0),
],
q(borong) => [
- q(3589),
+ q(3613),
q(0),
],
q(bororo) => [
- q(1368),
+ q(1370),
q(0),
],
q(boruca) => [
- q(1435),
+ q(1437),
q(0),
],
q(boselewa) => [
- q(1547),
+ q(1550),
q(0),
],
q(bosngun) => [
- q(1416),
+ q(1418),
q(0),
],
q(bosnian) => [
@@ -28098,27 +28420,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bote-majhi) => [
- q(1312),
+ q(1314),
q(0),
],
q(botlikh) => [
- q(1380),
+ q(1382),
q(0),
],
q(botolan sambal) => [
- q(5884),
+ q(5921),
q(0),
],
q(bouna kulango) => [
- q(4923),
+ q(4950),
q(0),
],
q(bouyei) => [
- q(5358),
+ q(5391),
q(0),
],
q(bozaba) => [
- q(1629),
+ q(1632),
q(0),
],
q(bragat) => [
@@ -28126,7 +28448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(brahui) => [
- q(1429),
+ q(1431),
q(0),
],
q(braj) => [
@@ -28134,15 +28456,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(brazilian sign language) => [
- q(1633),
+ q(1636),
q(0),
],
q(brem) => [
- q(1509),
+ q(1511),
q(0),
],
q(breri) => [
- q(1438),
+ q(1440),
q(0),
],
q(breton) => [
@@ -28150,115 +28472,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bribri) => [
- q(1618),
+ q(1621),
q(0),
],
q(brithenig) => [
- q(1634),
+ q(1637),
q(0),
],
q(british sign language) => [
- q(1145),
+ q(1146),
q(0),
],
q(brokkat) => [
- q(1436),
+ q(1438),
q(0),
],
q(brokpake) => [
- q(5976),
+ q(6013),
q(0),
],
q(brokskat) => [
- q(1263),
+ q(1265),
q(0),
],
q(brooke's point palawano) => [
- q(5480),
+ q(5512),
q(0),
],
q(broome pearling lugger pidgin) => [
- q(1384),
+ q(1386),
q(0),
],
q(brunei) => [
- q(3700),
+ q(3724),
q(0),
],
q(brunei bisaya) => [
- q(1449),
+ q(1451),
q(0),
],
q(bu) => [
- q(3073),
+ q(3097),
q(0),
],
q(bu-nao bunu) => [
- q(1564),
+ q(1567),
q(0),
],
q(bua) => [
- q(1496),
+ q(1498),
q(0),
],
q(bualkhaw chin) => [
- q(1671),
+ q(1674),
q(0),
],
q(buamu) => [
- q(1373),
+ q(1375),
q(0),
],
q(bube) => [
- q(1519),
+ q(1521),
q(0),
],
q(bubi) => [
- q(1514),
+ q(1516),
q(0),
],
q(bubia) => [
- q(1062),
+ q(1063),
q(0),
],
q(budeh stieng) => [
- q(6243),
+ q(6280),
q(0),
],
q(budibud) => [
- q(1485),
+ q(1487),
q(0),
],
q(budong-budong) => [
- q(1113),
+ q(1114),
q(0),
],
q(budu) => [
- q(1512),
+ q(1514),
q(0),
],
q(budukh) => [
- q(1100),
+ q(1101),
q(0),
],
q(buduma) => [
- q(1102),
+ q(1103),
q(0),
],
q(budza) => [
- q(1232),
+ q(1233),
q(0),
],
q(bugan) => [
- q(1046),
+ q(1047),
q(0),
],
q(bugawac) => [
- q(1504),
+ q(1506),
q(0),
],
q(bughotu) => [
- q(1180),
+ q(1181),
q(0),
],
q(buginese) => [
@@ -28266,43 +28588,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(buglere) => [
- q(5857),
+ q(5894),
q(0),
],
q(bugun) => [
- q(1168),
+ q(1169),
q(0),
],
q(buhi'non bikol) => [
- q(6824),
+ q(6864),
q(0),
],
q(buhid) => [
- q(1273),
+ q(1275),
q(0),
],
q(buhutu) => [
- q(1574),
+ q(1577),
q(0),
],
q(bukar-sadung bidayuh) => [
- q(5926),
+ q(5963),
q(0),
],
q(bukat) => [
- q(1528),
+ q(1530),
q(0),
],
q(bukharic) => [
- q(1194),
+ q(1195),
q(0),
],
q(bukit malay) => [
- q(1536),
+ q(1539),
q(0),
],
q(bukitan) => [
- q(1266),
+ q(1268),
q(0),
],
q(bukiyip) => [
@@ -28310,15 +28632,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(buksa) => [
- q(6518),
+ q(6557),
q(0),
],
q(bukusu) => [
- q(1577),
+ q(1580),
q(0),
],
q(bukwen) => [
- q(1517),
+ q(1519),
q(0),
],
q(bulgarian) => [
@@ -28326,43 +28648,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bulgarian sign language) => [
- q(1411),
+ q(1413),
q(0),
],
q(bulgebi) => [
- q(1318),
+ q(1320),
q(0),
],
q(buli (ghana)) => [
- q(1562),
+ q(1565),
q(0),
],
q(buli (indonesia)) => [
- q(1631),
+ q(1634),
q(0),
],
q(bullom so) => [
- q(1516),
+ q(1518),
q(0),
],
q(bulo stieng) => [
- q(6232),
+ q(6269),
q(0),
],
q(bulu (cameroon)) => [
- q(1505),
+ q(1507),
q(0),
],
q(bulu (papua new guinea)) => [
- q(1242),
+ q(1243),
q(0),
],
q(bum) => [
- q(1324),
+ q(1326),
q(0),
],
q(bumaji) => [
- q(1605),
+ q(1608),
+ q(0),
+ ],
+ q(bumang) => [
+ q(1535),
q(0),
],
q(bumbita arapesh) => [
@@ -28370,87 +28696,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(bumthangkha) => [
- q(3379),
+ q(3403),
q(0),
],
q(bun) => [
- q(1513),
+ q(1515),
q(0),
],
q(buna) => [
- q(1531),
+ q(1533),
q(0),
],
q(bunaba) => [
- q(1075),
+ q(1076),
q(0),
],
q(bunak) => [
- q(1150),
+ q(1151),
q(0),
],
q(bunama) => [
- q(1093),
+ q(1094),
q(0),
],
q(bundeli) => [
- q(1346),
+ q(1348),
q(0),
],
q(bung) => [
- q(1402),
+ q(1404),
q(0),
],
q(bungain) => [
- q(1511),
+ q(1513),
+ q(0),
+ ],
+ q(bunganditj) => [
+ q(7304),
q(0),
],
q(bungku) => [
- q(1278),
+ q(1280),
q(0),
],
q(bungu) => [
- q(7211),
+ q(7260),
q(0),
],
q(bunoge dogon) => [
- q(2004),
+ q(2009),
q(0),
],
q(bunun) => [
- q(1341),
+ q(1343),
q(0),
],
q(buol) => [
- q(1283),
+ q(1285),
q(0),
],
q(bura-pabir) => [
- q(1559),
+ q(1562),
q(0),
],
q(burak) => [
- q(1608),
+ q(1611),
q(0),
],
q(buraka) => [
- q(1259),
+ q(1261),
q(0),
],
q(burarra) => [
- q(1534),
+ q(1537),
q(0),
],
q(burate) => [
- q(1479),
+ q(1481),
q(0),
],
q(burduna) => [
- q(1580),
+ q(1583),
q(0),
],
q(bure) => [
- q(1525),
+ q(1527),
q(0),
],
q(buriat) => [
@@ -28458,11 +28788,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(burji) => [
- q(1239),
+ q(1240),
q(0),
],
q(burmbar) => [
- q(7012),
+ q(7055),
q(0),
],
q(burmese) => [
@@ -28470,19 +28800,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(burmeso) => [
- q(1635),
+ q(1638),
q(0),
],
q(buru (indonesia)) => [
- q(4268),
+ q(4300),
q(0),
],
q(buru (nigeria)) => [
- q(1420),
+ q(1422),
q(0),
],
q(burui) => [
- q(1446),
+ q(1448),
q(0),
],
q(burumakok) => [
@@ -28490,19 +28820,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(burun) => [
- q(1098),
+ q(1099),
q(0),
],
q(burunge) => [
- q(1108),
+ q(1109),
q(0),
],
q(burushaski) => [
- q(1457),
+ q(1459),
q(0),
],
q(burusu) => [
- q(1415),
+ q(1417),
q(0),
],
q(buruwai) => [
@@ -28510,151 +28840,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(busa) => [
- q(1413),
+ q(1415),
q(0),
],
q(busam) => [
- q(1585),
+ q(1588),
q(0),
],
q(busami) => [
- q(1459),
+ q(1461),
q(0),
],
q(busang kayan) => [
- q(1143),
+ q(1144),
q(0),
],
q(bushi) => [
- q(1497),
+ q(1499),
q(0),
],
q(bushoong) => [
- q(1500),
+ q(1502),
q(0),
],
q(businenge tongo) => [
- q(2064),
- q(0),
+ q(2070),
+ q(1),
],
q(buso) => [
- q(1461),
+ q(1463),
q(0),
],
q(busoa) => [
- q(1508),
+ q(1510),
q(0),
],
q(bussa) => [
- q(2126),
+ q(2134),
q(0),
],
q(busuu) => [
- q(1249),
+ q(1251),
q(0),
],
q(butbut kalinga) => [
- q(3723),
+ q(3747),
q(0),
],
q(butmas-tur) => [
- q(1345),
+ q(1347),
q(0),
],
q(butuanon) => [
- q(1492),
+ q(1494),
q(0),
],
q(buwal) => [
- q(1203),
+ q(1204),
q(0),
],
q(buxinhua) => [
- q(1171),
- q(0),
+ q(1172),
+ q(1),
],
q(buya) => [
- q(1613),
+ q(1616),
q(0),
],
q(buyu) => [
- q(1599),
+ q(1602),
q(0),
],
q(buyuan jinuo) => [
- q(3085),
+ q(3109),
q(0),
],
q(bwa) => [
- q(1563),
+ q(1566),
q(0),
],
q(bwaidoka) => [
- q(1545),
+ q(1548),
q(0),
],
q(bwanabwana) => [
- q(6708),
+ q(6747),
q(0),
],
q(bwatoo) => [
- q(1542),
+ q(1545),
q(0),
],
q(bwe karen) => [
- q(1546),
+ q(1549),
q(0),
],
q(bwela) => [
- q(1553),
+ q(1556),
q(0),
],
q(bwile) => [
- q(1544),
+ q(1547),
q(0),
],
q(bwisi) => [
- q(1566),
+ q(1569),
q(0),
],
q(byangsi) => [
- q(1120),
+ q(1121),
q(0),
],
q(byep) => [
- q(4328),
+ q(4360),
q(0),
],
q(c'lela) => [
- q(2135),
+ q(2143),
q(0),
],
q(caac) => [
- q(4524),
+ q(4554),
q(0),
],
q(cabecar) => [
- q(1752),
+ q(1755),
q(0),
],
q(cabiyari) => [
- q(1662),
+ q(1665),
q(0),
],
q(cacaloxtepec mixtec) => [
- q(4292),
+ q(4324),
q(0),
],
q(cacaopera) => [
- q(1692),
+ q(1695),
q(0),
],
q(cacgia roglai) => [
- q(5811),
+ q(5846),
q(0),
],
q(cacua) => [
- q(1678),
+ q(1681),
q(0),
],
q(caddo) => [
@@ -28666,212 +28996,212 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cafundo creole) => [
- q(1683),
+ q(1686),
q(0),
],
q(cagua) => [
- q(1667),
+ q(1670),
q(0),
],
q(cahuarano) => [
- q(1647),
+ q(1650),
q(0),
],
q(cahuilla) => [
- q(1725),
+ q(1728),
q(0),
],
q(cajamarca quechua) => [
- q(5675),
+ q(5709),
q(0),
],
q(cajatambo north lima quechua) => [
- q(5680),
+ q(5714),
q(0),
],
q(cajonos zapotec) => [
- q(7719),
+ q(7817),
q(0),
],
q(cajun french) => [
- q(2362),
+ q(2374),
q(0),
],
q(caka) => [
- q(1766),
+ q(1770),
q(0),
],
q(cakchiquel) => [
- q(1649),
- q(0),
+ q(1652),
+ q(1),
],
q(cakchiquel-quiche mixed language) => [
- q(1768),
+ q(1772),
q(0),
],
q(cakfem-mushere) => [
- q(1767),
+ q(1771),
q(0),
],
q(calamian tagbanwa) => [
- q(6358),
+ q(6397),
q(0),
],
q(calderon highland quichua) => [
- q(5656),
+ q(5690),
q(0),
],
q(callawalla) => [
- q(1658),
+ q(1661),
q(0),
],
q(calo) => [
- q(5793),
+ q(5828),
q(0),
],
q(caluyanun) => [
- q(1781),
+ q(1785),
q(0),
],
q(cameroon mambila) => [
- q(4147),
+ q(4180),
q(0),
],
q(cameroon pidgin) => [
- q(7073),
+ q(7119),
q(0),
],
q(camling) => [
- q(5711),
+ q(5745),
q(0),
],
q(campalagian) => [
- q(1788),
+ q(1792),
q(0),
],
q(campidanese sardinian) => [
- q(6191),
+ q(6228),
q(0),
],
q(camsa) => [
- q(3168),
+ q(3192),
q(0),
],
q(camtho) => [
- q(1794),
+ q(1798),
q(0),
],
q(camunic) => [
- q(7259),
+ q(7316),
q(0),
],
q(canar highland quichua) => [
- q(5703),
+ q(5737),
q(0),
],
q(candoshi-shapra) => [
- q(1677),
+ q(1680),
q(0),
],
q(canela) => [
- q(5720),
+ q(5754),
q(0),
],
q(canichana) => [
- q(1661),
+ q(1664),
q(0),
],
q(cao lan) => [
- q(4346),
+ q(4378),
q(0),
],
q(cao miao) => [
- q(1826),
+ q(1830),
q(0),
],
q(capanahua) => [
- q(3158),
+ q(3182),
q(0),
],
q(capiznon) => [
- q(1837),
+ q(1842),
q(0),
],
q(cappadocian greek) => [
- q(1834),
+ q(1838),
q(0),
],
q(caquinte) => [
- q(1824),
+ q(1828),
q(0),
],
q(car nicobarese) => [
- q(1655),
+ q(1658),
q(0),
],
q(cara) => [
- q(1713),
+ q(1716),
q(0),
],
q(carabayo) => [
- q(1680),
+ q(1683),
q(0),
],
q(caramanta) => [
- q(1847),
+ q(1852),
q(0),
],
q(carapana) => [
- q(1663),
+ q(1666),
q(0),
],
q(carian) => [
- q(7267),
+ q(7324),
q(0),
],
q(caribbean hindustani) => [
- q(2793),
+ q(2811),
q(0),
],
q(caribbean javanese) => [
- q(3143),
+ q(3167),
q(0),
],
q(carijona) => [
- q(1664),
+ q(1667),
q(0),
],
q(carolina algonquian) => [
- q(1857),
+ q(1862),
q(0),
],
q(carolinian) => [
- q(1650),
+ q(1653),
q(0),
],
q(carpathian romani) => [
- q(5780),
+ q(5815),
q(0),
],
q(carrier) => [
- q(1862),
+ q(1867),
q(0),
],
q(cashibo-cacataibo) => [
- q(1674),
+ q(1677),
q(0),
],
q(cashinahua) => [
- q(1675),
+ q(1678),
q(0),
],
q(casiguran dumagat agta) => [
- q(2005),
+ q(2010),
q(0),
],
q(castilian) => [
q(0401),
- q(0),
+ q(1),
],
q(casuarina coast asmat) => [
q(0888),
@@ -28882,15 +29212,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(catalan sign language) => [
- q(1866),
+ q(1871),
q(0),
],
q(catawba) => [
- q(1720),
+ q(1723),
q(0),
],
q(cauca) => [
- q(1681),
+ q(1684),
q(0),
],
q(caucasian languages) => [
@@ -28898,23 +29228,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cavinena) => [
- q(1657),
+ q(1660),
q(0),
],
q(cayubaba) => [
- q(1929),
+ q(1935),
q(0),
],
q(cayuga) => [
- q(1660),
+ q(1663),
q(0),
],
q(cayuse) => [
- q(7272),
+ q(7329),
q(0),
],
q(cebaara senoufo) => [
- q(5939),
+ q(5976),
q(0),
],
q(cebuano) => [
@@ -28922,7 +29252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(celtiberian) => [
- q(7260),
+ q(7317),
q(0),
],
q(celtic languages) => [
@@ -28930,11 +29260,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cemuhi) => [
- q(1651),
+ q(1654),
q(0),
],
q(cen) => [
- q(1710),
+ q(1713),
q(0),
],
q(central american indian languages) => [
@@ -28942,11 +29272,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central asmat) => [
- q(1804),
+ q(1808),
q(0),
],
q(central atlas tamazight) => [
- q(6815),
+ q(6855),
q(0),
],
q(central awyu) => [
@@ -28954,23 +29284,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central aymara) => [
- q(1007),
+ q(1008),
q(0),
],
q(central bai) => [
- q(1065),
+ q(1066),
q(0),
],
q(central berawan) => [
- q(7740),
+ q(7838),
q(0),
],
q(central bikol) => [
- q(1076),
+ q(1077),
q(0),
],
q(central bontok) => [
- q(3801),
+ q(3825),
q(0),
],
q(central cagayan agta) => [
@@ -28978,31 +29308,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central dusun) => [
- q(2160),
+ q(2168),
q(0),
],
q(central grebo) => [
- q(2612),
+ q(2629),
q(0),
],
q(central hongshuihe zhuang) => [
- q(7745),
+ q(7843),
q(0),
],
q(central huasteca nahuatl) => [
- q(4751),
+ q(4778),
q(0),
],
q(central huishui hmong) => [
- q(2764),
+ q(2782),
q(0),
],
q(central huishui miao) => [
- q(2764),
- q(0),
+ q(2782),
+ q(1),
],
q(central kanuri) => [
- q(3459),
+ q(3483),
q(0),
],
q(central khmer) => [
@@ -29010,19 +29340,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central kurdish) => [
- q(1756),
+ q(1759),
q(0),
],
q(central lalo) => [
- q(7707),
- q(0),
+ q(7800),
+ q(1),
],
q(central maewo) => [
- q(4616),
+ q(4645),
q(0),
],
q(central malay) => [
- q(5587),
+ q(5620),
q(0),
],
q(central malayo-polynesian languages) => [
@@ -29030,79 +29360,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central masela) => [
- q(4652),
+ q(4681),
q(0),
],
q(central mashan hmong) => [
- q(2774),
+ q(2792),
q(0),
],
q(central mashan miao) => [
- q(2774),
- q(0),
+ q(2792),
+ q(1),
],
q(central mazahua) => [
- q(4101),
+ q(4134),
q(0),
],
q(central melanau) => [
- q(4187),
+ q(4219),
q(0),
],
q(central mnong) => [
- q(1791),
+ q(1795),
q(0),
],
q(central nahuatl) => [
- q(4853),
+ q(4880),
q(0),
],
q(central nicobarese) => [
- q(4745),
+ q(4772),
q(0),
],
q(central ojibwa) => [
- q(5195),
+ q(5227),
q(0),
],
q(central okinawan) => [
- q(5855),
+ q(5892),
q(0),
],
q(central palawano) => [
- q(5463),
+ q(5495),
q(0),
],
q(central pame) => [
- q(5351),
+ q(5384),
q(0),
],
q(central pashto) => [
- q(5599),
+ q(5632),
q(0),
],
q(central pomo) => [
- q(5537),
+ q(5571),
q(0),
],
q(central puebla nahuatl) => [
- q(4764),
+ q(4791),
q(0),
],
q(central sama) => [
- q(6095),
+ q(6132),
q(0),
],
q(central siberian yupik) => [
- q(2293),
+ q(2304),
q(0),
],
q(central sierra miwok) => [
- q(1875),
+ q(1881),
q(0),
],
q(central subanen) => [
- q(6305),
+ q(6344),
q(0),
],
q(central sudanic languages) => [
@@ -29110,51 +29440,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(central tagbanwa) => [
- q(6459),
+ q(6497),
q(0),
],
q(central tarahumara) => [
- q(6340),
+ q(6379),
q(0),
],
q(central tunebo) => [
- q(6734),
+ q(6773),
q(0),
],
q(central yupik) => [
- q(2294),
+ q(2305),
q(0),
],
q(central-eastern niger fulfulde) => [
- q(2381),
+ q(2393),
q(0),
],
q(centuum) => [
- q(1711),
+ q(1714),
q(0),
],
q(cerma) => [
- q(1785),
+ q(1789),
q(0),
],
q(chachapoyas quechua) => [
- q(5661),
+ q(5695),
q(0),
],
q(chachi) => [
- q(1668),
+ q(1671),
q(0),
],
q(chacobo) => [
- q(1653),
+ q(1656),
q(0),
],
q(chadian arabic) => [
- q(6000),
+ q(6037),
q(0),
],
q(chadian sign language) => [
- q(1704),
+ q(1707),
q(0),
],
q(chadic languages) => [
@@ -29162,7 +29492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chadong) => [
- q(1705),
+ q(1708),
q(0),
],
q(chagatai) => [
@@ -29170,51 +29500,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chaima) => [
- q(1743),
+ q(1746),
q(0),
],
q(chak) => [
- q(1757),
+ q(1760),
q(0),
],
q(chakali) => [
- q(1774),
+ q(1778),
q(0),
],
q(chakma) => [
- q(1691),
+ q(1694),
q(0),
],
q(chala) => [
- q(1777),
+ q(1781),
q(0),
],
q(chaldean neo-aramaic) => [
- q(1771),
+ q(1775),
q(0),
],
q(chalikha) => [
- q(6448),
+ q(6487),
q(0),
],
q(chamacoco) => [
- q(1708),
+ q(1711),
q(0),
],
q(chamalal) => [
- q(1747),
+ q(1750),
q(0),
],
q(chamari) => [
- q(1696),
+ q(1699),
q(0),
],
q(chambeali) => [
- q(1697),
+ q(1700),
q(0),
],
q(chambri) => [
- q(1652),
+ q(1655),
q(0),
],
q(chamic languages) => [
@@ -29222,7 +29552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chamicuro) => [
- q(1682),
+ q(1685),
q(0),
],
q(chamorro) => [
@@ -29230,55 +29560,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chane) => [
- q(1648),
+ q(1651),
q(0),
],
q(chang naga) => [
- q(4723),
+ q(4751),
q(0),
],
q(changriwa) => [
- q(1716),
+ q(1719),
q(0),
],
q(changthang) => [
- q(1795),
+ q(1799),
q(0),
],
q(chantyal) => [
- q(1729),
+ q(1732),
q(0),
],
q(chara) => [
- q(1843),
+ q(1848),
q(0),
],
q(chaudangsi) => [
- q(1701),
+ q(1704),
q(0),
],
q(chaura) => [
- q(1860),
+ q(1865),
q(0),
],
q(chavacano) => [
- q(1670),
+ q(1673),
q(0),
],
q(chayahuita) => [
- q(1676),
+ q(1679),
q(0),
],
q(chayuco mixtec) => [
- q(4281),
+ q(4313),
q(0),
],
q(chazumba mixtec) => [
- q(7441),
+ q(7515),
q(0),
],
q(che) => [
- q(5841),
+ q(5876),
q(0),
],
q(chechen) => [
@@ -29286,39 +29616,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cheke holo) => [
- q(4496),
+ q(4526),
q(0),
],
q(chemakum) => [
- q(7262),
+ q(7319),
q(0),
],
q(chenapian) => [
- q(1750),
+ q(1753),
q(0),
],
q(chenchu) => [
- q(1694),
+ q(1697),
q(0),
],
q(chenoua) => [
- q(1806),
+ q(1810),
q(0),
],
q(chepang) => [
- q(1700),
+ q(1703),
q(0),
],
q(chepya) => [
- q(7534),
+ q(7622),
q(0),
],
q(cheq wong) => [
- q(1926),
- q(0),
+ q(1932),
+ q(1),
],
q(cherepon) => [
- q(1836),
+ q(1840),
q(0),
],
q(cherokee) => [
@@ -29326,19 +29656,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chesu) => [
- q(7531),
+ q(7619),
q(0),
],
q(chetco) => [
- q(1887),
+ q(1893),
q(0),
],
q(chewa) => [
q(0321),
- q(0),
+ q(1),
],
q(chewong) => [
- q(1926),
+ q(1932),
q(0),
],
q(cheyenne) => [
@@ -29346,23 +29676,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chhattisgarhi) => [
- q(2787),
+ q(2805),
q(0),
],
q(chhintange) => [
- q(1894),
+ q(1900),
q(0),
],
q(chhulung) => [
- q(1914),
+ q(1920),
q(0),
],
q(chiangmai sign language) => [
- q(1867),
+ q(1872),
q(0),
],
q(chiapanec) => [
- q(1740),
+ q(1743),
q(0),
],
q(chibcha) => [
@@ -29374,7 +29704,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chicahuaxtla triqui) => [
- q(6673),
+ q(6712),
q(0),
],
q(chichewa) => [
@@ -29382,95 +29712,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chichicapan zapotec) => [
- q(7846),
+ q(7944),
q(0),
],
q(chichimeca-jonaz) => [
- q(5387),
+ q(5419),
q(0),
],
q(chichonyi-chidzihana-chikauma) => [
- q(1816),
- q(0),
+ q(1820),
+ q(1),
],
q(chickasaw) => [
- q(1733),
+ q(1736),
q(0),
],
q(chicomuceltec) => [
- q(1810),
+ q(1814),
q(0),
],
q(chidigo) => [
- q(2038),
- q(0),
+ q(2044),
+ q(1),
],
q(chiduruma) => [
- q(2171),
- q(0),
+ q(2179),
+ q(1),
],
q(chiga) => [
- q(1718),
+ q(1721),
q(0),
],
q(chigmecatitlan mixtec) => [
- q(4282),
+ q(4314),
q(0),
],
q(chilcotin) => [
- q(1770),
+ q(1774),
q(0),
],
q(chilean quechua) => [
- q(1842),
+ q(1847),
q(0),
],
q(chilean sign language) => [
- q(1870),
+ q(1875),
q(0),
],
q(chilisso) => [
- q(1773),
+ q(1777),
q(0),
],
q(chiltepec chinantec) => [
- q(1865),
+ q(1870),
q(0),
],
q(chimakum) => [
- q(7262),
- q(0),
+ q(7319),
+ q(1),
],
q(chimalapa zoque) => [
- q(7819),
+ q(7917),
q(0),
],
q(chimariko) => [
- q(1734),
+ q(1737),
q(0),
],
q(chimborazo highland quichua) => [
- q(5658),
+ q(5692),
q(0),
],
q(chimila) => [
- q(1666),
+ q(1669),
q(0),
],
q(china buriat) => [
- q(1586),
+ q(1589),
q(0),
],
q(chinali) => [
- q(1736),
+ q(1739),
q(0),
],
q(chinbon chin) => [
- q(1796),
+ q(1800),
q(0),
],
q(chincha quechua) => [
- q(5696),
+ q(5730),
q(0),
],
q(chinese) => [
@@ -29482,15 +29812,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chinese pidgin english) => [
- q(1835),
+ q(1839),
q(0),
],
q(chinese sign language) => [
- q(1874),
+ q(1880),
q(0),
],
q(chinook) => [
- q(1723),
+ q(1726),
q(0),
],
q(chinook jargon) => [
@@ -29498,7 +29828,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chipaya) => [
- q(1654),
+ q(1657),
q(0),
],
q(chipewyan) => [
@@ -29506,59 +29836,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chipiajes) => [
- q(1665),
+ q(1668),
q(0),
],
q(chippewa) => [
- q(1742),
+ q(1745),
q(0),
],
q(chiquian ancash quechua) => [
- q(5695),
+ q(5729),
q(0),
],
q(chiquihuitlan mazatec) => [
- q(4095),
+ q(4128),
q(0),
],
q(chiquitano) => [
- q(1659),
+ q(1662),
q(0),
],
q(chiripa) => [
- q(4845),
+ q(4872),
q(0),
],
q(chiru) => [
- q(1695),
+ q(1698),
q(0),
],
q(chitimacha) => [
- q(1893),
+ q(1899),
q(0),
],
q(chitkuli kinnauri) => [
- q(1737),
+ q(1740),
q(0),
],
q(chittagonian) => [
- q(1890),
+ q(1896),
q(0),
],
q(chitwania tharu) => [
- q(6468),
+ q(6506),
q(0),
],
q(choapan zapotec) => [
- q(7827),
+ q(7925),
q(0),
],
q(chocangacakha) => [
- q(1719),
+ q(1722),
q(0),
],
q(chochotec) => [
- q(1830),
+ q(1834),
q(0),
],
q(choctaw) => [
@@ -29566,103 +29896,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chodri) => [
- q(1698),
+ q(1701),
q(0),
],
q(chokri naga) => [
- q(5034),
+ q(5064),
q(0),
],
q(chokwe) => [
- q(1748),
+ q(1751),
q(0),
],
q(chol) => [
- q(1899),
+ q(1905),
q(0),
],
q(cholon) => [
- q(1727),
+ q(1730),
q(0),
],
q(chong) => [
- q(1815),
+ q(1819),
q(0),
],
q(choni) => [
- q(1693),
+ q(1696),
q(0),
],
q(chonyi-dzihana-kauma) => [
- q(1816),
+ q(1820),
q(0),
],
q(chopi) => [
- q(1684),
+ q(1687),
q(0),
],
q(chorasmian) => [
- q(7266),
+ q(7323),
q(0),
],
q(chorti) => [
- q(1641),
+ q(1644),
q(0),
],
q(chothe naga) => [
- q(4762),
+ q(4789),
q(0),
],
q(chrau) => [
- q(1861),
+ q(1866),
q(0),
],
q(chru) => [
- q(1745),
+ q(1748),
q(0),
],
q(chuang) => [
q(0481),
- q(0),
+ q(1),
],
q(chuanqiandian cluster miao) => [
- q(1841),
+ q(1846),
q(0),
],
q(chuave) => [
- q(1754),
+ q(1757),
q(0),
],
q(chug) => [
- q(1920),
+ q(1926),
q(0),
],
q(chuj) => [
- q(1643),
+ q(1646),
q(0),
],
q(chuka) => [
- q(1905),
+ q(1911),
q(0),
],
q(chukot) => [
- q(1763),
+ q(1767),
q(0),
],
q(chukwa) => [
- q(1918),
+ q(1924),
q(0),
],
q(chulym) => [
- q(1782),
+ q(1786),
q(0),
],
q(chumburung) => [
- q(4763),
+ q(4790),
q(0),
],
q(churahi) => [
- q(1699),
+ q(1702),
q(0),
],
q(church slavic) => [
@@ -29671,10 +30001,10 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(church slavonic) => [
q(0086),
- q(0),
+ q(2),
],
q(chut) => [
- q(5899),
+ q(5936),
q(0),
],
q(chuukese) => [
@@ -29682,7 +30012,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chuvantsy) => [
- q(7270),
+ q(7327),
q(0),
],
q(chuvash) => [
@@ -29690,19 +30020,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(chuwabu) => [
- q(1728),
+ q(1731),
q(0),
],
q(ci gbe) => [
- q(1732),
+ q(1735),
q(0),
],
q(cia-cia) => [
- q(1731),
+ q(1734),
q(0),
],
q(cibak) => [
- q(1758),
+ q(1761),
q(0),
],
q(cicipu) => [
@@ -29710,23 +30040,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cimbrian) => [
- q(1738),
+ q(1741),
q(0),
],
q(cinda-regi-tiyal) => [
- q(1703),
+ q(1706),
q(0),
],
q(cineni) => [
- q(1735),
+ q(1738),
q(0),
],
q(cinta larga) => [
- q(1739),
+ q(1742),
q(0),
],
q(cisalpine gaulish) => [
- q(7261),
+ q(7318),
q(0),
],
q(cishingini) => [
@@ -29734,43 +30064,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(citak) => [
- q(6794),
+ q(6833),
q(0),
],
q(ciwogai) => [
- q(6446),
+ q(6485),
q(0),
],
q(clallam) => [
- q(1778),
+ q(1782),
q(0),
],
q(classical armenian) => [
- q(7263),
+ q(7320),
q(0),
],
q(classical mandaic) => [
- q(4674),
+ q(4702),
q(0),
],
q(classical mongolian) => [
- q(1786),
+ q(1790),
q(0),
],
q(classical nahuatl) => [
- q(4752),
+ q(4779),
q(0),
],
q(classical nepal bhasa) => [
q(0320),
- q(0),
+ q(2),
],
q(classical newari) => [
q(0320),
q(0),
],
q(classical quechua) => [
- q(5690),
+ q(5724),
q(0),
],
q(classical syriac) => [
@@ -29778,139 +30108,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(classical tibetan) => [
- q(7268),
+ q(7325),
q(0),
],
q(coahuilteco) => [
- q(7271),
+ q(7328),
q(0),
],
q(coast miwok) => [
- q(1872),
+ q(1877),
q(0),
],
q(coastal kadazan) => [
- q(3756),
+ q(3780),
q(0),
],
q(coastal konjo) => [
- q(3358),
+ q(3382),
q(0),
],
q(coatecas altas zapotec) => [
- q(7744),
+ q(7842),
q(0),
],
q(coatepec nahuatl) => [
- q(4720),
+ q(4748),
q(0),
],
q(coatlan mixe) => [
- q(4141),
+ q(4174),
q(0),
],
q(coatlan zapotec) => [
- q(7843),
+ q(7941),
q(0),
],
q(coatzospan mixtec) => [
- q(4296),
+ q(4328),
q(0),
],
q(cocama-cocamilla) => [
- q(1812),
+ q(1816),
q(0),
],
q(cochimi) => [
- q(1817),
+ q(1821),
q(0),
],
q(cocopa) => [
- q(1811),
+ q(1815),
q(0),
],
q(cocos islands malay) => [
- q(1809),
+ q(1813),
q(0),
],
q(coeur d'alene) => [
- q(1846),
+ q(1851),
q(0),
],
q(cofan) => [
- q(1821),
+ q(1825),
q(0),
],
q(cogui) => [
- q(3487),
+ q(3511),
q(0),
],
q(col) => [
- q(3908),
+ q(3934),
q(0),
],
q(colombian sign language) => [
- q(1876),
+ q(1882),
q(0),
],
q(colonia tovar german) => [
- q(2441),
+ q(2454),
q(0),
],
q(colorado) => [
- q(1814),
+ q(1818),
q(0),
],
q(columbia-wenatchi) => [
- q(1819),
+ q(1823),
q(0),
],
q(comaltepec chinantec) => [
- q(1690),
+ q(1693),
q(0),
],
q(comanche) => [
- q(1820),
+ q(1824),
q(0),
],
q(comecrudo) => [
- q(7264),
+ q(7321),
q(0),
],
q(como karim) => [
- q(1714),
+ q(1717),
q(0),
],
q(comox) => [
- q(1822),
+ q(1826),
q(0),
],
q(con) => [
- q(1803),
+ q(1807),
q(0),
],
q(congo swahili) => [
- q(6270),
+ q(6309),
q(0),
],
q(cook islands maori) => [
q(0356),
- q(0),
+ q(1),
],
q(coong) => [
- q(1797),
+ q(1801),
q(0),
],
q(coos) => [
- q(1885),
+ q(1891),
q(0),
],
q(copainala zoque) => [
- q(7818),
+ q(7916),
q(0),
],
q(copala triqui) => [
- q(6658),
+ q(6697),
q(0),
],
q(coptic) => [
@@ -29918,11 +30248,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(coquille) => [
- q(1823),
+ q(1827),
q(0),
],
q(cori) => [
- q(1863),
+ q(1868),
q(0),
],
q(cornish) => [
@@ -29930,7 +30260,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(corongo ancash quechua) => [
- q(5689),
+ q(5723),
q(0),
],
q(corsican) => [
@@ -29938,35 +30268,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(costa rican sign language) => [
- q(1879),
+ q(1885),
q(0),
],
q(cotabato manobo) => [
- q(4533),
+ q(4563),
q(0),
],
q(cotoname) => [
- q(7265),
+ q(7322),
q(0),
],
q(cowlitz) => [
- q(1827),
+ q(1831),
q(0),
],
q(coxima) => [
- q(3499),
+ q(3523),
q(0),
],
q(coyaima) => [
- q(1829),
+ q(1833),
q(0),
],
q(coyotepec popoloca) => [
- q(5342),
+ q(5375),
q(0),
],
q(coyutla totonac) => [
- q(6604),
+ q(6643),
q(0),
],
q(cree) => [
@@ -30015,10 +30345,10 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(crimean turkish) => [
q(0097),
- q(0),
+ q(1),
],
q(croatia sign language) => [
- q(1878),
+ q(1884),
q(0),
],
q(croatian) => [
@@ -30026,75 +30356,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cross river mbembe) => [
- q(4213),
+ q(4245),
q(0),
],
q(crow) => [
- q(1855),
+ q(1860),
q(0),
],
q(cruzeno) => [
- q(1864),
+ q(1869),
q(0),
],
q(cua) => [
- q(1901),
+ q(1907),
q(0),
],
q(cuba sign language) => [
- q(1869),
+ q(1874),
q(0),
],
q(cubeo) => [
- q(1902),
+ q(1908),
q(0),
],
q(cuiba) => [
- q(1906),
+ q(1912),
q(0),
],
q(culina) => [
- q(1909),
+ q(1915),
q(0),
],
q(cumanagoto) => [
- q(1911),
+ q(1917),
q(0),
],
q(cumbric) => [
- q(7258),
+ q(7315),
q(0),
],
q(cumeral) => [
- q(1910),
+ q(1916),
q(0),
],
q(cun) => [
- q(1913),
+ q(1919),
q(0),
],
q(cuneiform luwian) => [
- q(7346),
+ q(7411),
q(0),
],
q(cung) => [
- q(1904),
+ q(1910),
q(0),
],
q(cupeno) => [
- q(1912),
+ q(1918),
q(0),
],
q(curonian) => [
- q(7269),
+ q(7326),
q(0),
],
q(curripaco) => [
- q(3504),
+ q(3528),
q(0),
],
q(cusco quechua) => [
- q(5673),
+ q(5707),
q(0),
],
q(cushitic languages) => [
@@ -30102,23 +30432,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(cutchi-swahili) => [
- q(1688),
+ q(1691),
q(0),
],
q(cuvok) => [
- q(1917),
+ q(1923),
q(0),
],
q(cuyamecalco mixtec) => [
- q(7457),
+ q(7532),
q(0),
],
q(cuyonon) => [
- q(1930),
+ q(1936),
q(0),
],
q(cwi bwamu) => [
- q(1565),
+ q(1568),
q(0),
],
q(cypriot arabic) => [
@@ -30130,107 +30460,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(czech sign language) => [
- q(1868),
+ q(1873),
q(0),
],
q(da'a kaili) => [
- q(3753),
+ q(3777),
q(0),
],
q(da-hua miao) => [
- q(2765),
- q(0),
+ q(2783),
+ q(2),
],
q(daai chin) => [
- q(1947),
+ q(1952),
+ q(0),
+ ],
+ q(daakaka) => [
+ q(1378),
q(0),
],
q(daantanai') => [
- q(3980),
+ q(4011),
q(0),
],
q(daasanach) => [
- q(2146),
+ q(2154),
q(0),
],
q(daba) => [
- q(1968),
+ q(1973),
q(0),
],
q(dabarre) => [
- q(1969),
+ q(1974),
q(0),
],
q(dabe) => [
- q(1958),
+ q(1963),
q(0),
],
q(dacian) => [
- q(7273),
+ q(7331),
q(0),
],
q(dadi dadi) => [
- q(1977),
+ q(1982),
q(0),
],
q(dadibi) => [
- q(4451),
+ q(4481),
q(0),
],
q(dadiya) => [
- q(1957),
+ q(1962),
q(0),
],
q(daga) => [
- q(2020),
+ q(2025),
q(0),
],
q(dagaari dioula) => [
- q(2006),
+ q(2011),
q(0),
],
q(dagba) => [
- q(2011),
+ q(2016),
q(0),
],
q(dagbani) => [
- q(1941),
+ q(1946),
q(0),
],
q(dagik) => [
- q(1988),
+ q(1993),
q(0),
],
q(dagoman) => [
- q(2013),
+ q(2018),
+ q(0),
+ ],
+ q(dahalik) => [
+ q(2083),
q(0),
],
q(dahalo) => [
- q(1945),
+ q(1950),
q(0),
],
q(daho-doo) => [
- q(1949),
+ q(1954),
q(0),
],
q(dai) => [
- q(2041),
+ q(2047),
q(0),
],
q(dai zhuang) => [
- q(7756),
+ q(7854),
q(0),
],
q(dair) => [
- q(2130),
- q(0),
- ],
- q(dakaka) => [
- q(1376),
+ q(2138),
q(0),
],
q(dakka) => [
- q(2073),
+ q(2078),
q(0),
],
q(dakota) => [
@@ -30238,63 +30572,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dakpakha) => [
- q(2072),
+ q(2077),
+ q(0),
+ ],
+ q(dalabon) => [
+ q(4853),
q(0),
],
q(dalmatian) => [
- q(2078),
+ q(2084),
q(0),
],
q(daloa bete) => [
- q(1132),
+ q(1133),
q(0),
],
q(dama) => [
- q(2088),
+ q(2094),
q(0),
],
q(damakawa) => [
- q(1946),
+ q(1951),
q(0),
],
q(damal) => [
- q(6843),
+ q(6883),
q(0),
],
q(dambi) => [
- q(1937),
+ q(1943),
q(0),
],
q(dameli) => [
- q(2087),
+ q(2093),
q(0),
],
q(dampelas) => [
- q(2091),
+ q(2097),
q(0),
],
q(dan) => [
- q(1940),
+ q(2108),
q(0),
],
q(danaru) => [
- q(2103),
+ q(2111),
q(0),
],
q(danau) => [
- q(2105),
+ q(2113),
q(0),
],
q(dandami maria) => [
- q(1948),
+ q(1953),
q(0),
],
q(dangaleat) => [
- q(1936),
+ q(1942),
q(0),
],
q(dangaura tharu) => [
- q(6473),
+ q(6511),
q(0),
],
q(danish) => [
@@ -30302,7 +30640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(danish sign language) => [
- q(2148),
+ q(2156),
q(0),
],
q(dano) => [
@@ -30310,119 +30648,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(danu) => [
- q(2106),
+ q(2114),
q(0),
],
q(dao) => [
- q(1954),
+ q(1959),
q(0),
],
q(daonda) => [
- q(2097),
+ q(2104),
q(0),
],
q(dar daju daju) => [
- q(2058),
+ q(2064),
q(0),
],
q(dar fur daju) => [
- q(1944),
+ q(1949),
q(0),
],
q(dar sila daju) => [
- q(1950),
+ q(1955),
q(0),
],
q(darai) => [
- q(2144),
+ q(2152),
q(0),
],
q(darang deng) => [
- q(4270),
- q(0),
+ q(4302),
+ q(1),
],
q(dargwa) => [
q(0104),
q(0),
],
q(dari) => [
- q(5577),
+ q(5610),
+ q(0),
+ ],
+ q(darkinyung) => [
+ q(7330),
q(0),
],
q(darlong) => [
- q(2079),
+ q(2085),
q(0),
],
q(darmiya) => [
- q(2132),
+ q(2140),
q(0),
],
q(daro-matu melanau) => [
- q(2138),
+ q(2146),
q(0),
],
q(dass) => [
- q(2123),
+ q(2131),
q(0),
],
q(datooga) => [
- q(6375),
+ q(6414),
q(0),
],
q(daungwurrung) => [
- q(2018),
+ q(2023),
q(0),
],
q(daur) => [
- q(2152),
+ q(2160),
q(0),
],
q(davawenyo) => [
- q(1952),
+ q(1957),
q(0),
],
q(daw) => [
- q(3671),
+ q(3695),
q(0),
],
q(dawawa) => [
- q(2193),
+ q(2201),
q(0),
],
q(dawera-daweloor) => [
- q(1987),
+ q(1992),
q(0),
],
q(dawida) => [
- q(1951),
- q(0),
+ q(1956),
+ q(1),
],
q(dawro) => [
- q(2191),
+ q(2199),
q(0),
],
q(day) => [
- q(1943),
+ q(1948),
q(0),
],
q(dayi) => [
- q(1953),
+ q(1958),
q(0),
],
q(daza) => [
- q(2204),
+ q(2212),
q(0),
],
q(dazaga) => [
- q(2205),
+ q(2214),
q(0),
],
q(deccan) => [
- q(1975),
+ q(1980),
q(0),
],
q(dedua) => [
- q(1989),
+ q(1994),
q(0),
],
q(defaka) => [
@@ -30430,43 +30772,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(defi gbe) => [
- q(2417),
+ q(2429),
q(0),
],
q(deg) => [
- q(4696),
+ q(4724),
q(0),
],
q(degaru) => [
- q(2017),
+ q(2022),
q(0),
],
q(degema) => [
- q(1992),
+ q(1997),
q(0),
],
q(degenan) => [
- q(2007),
+ q(2012),
q(0),
],
q(degexit'an) => [
- q(2951),
+ q(2973),
q(0),
],
q(dehu) => [
- q(2031),
+ q(2036),
q(0),
],
q(dehwari) => [
- q(1993),
+ q(1998),
q(0),
],
q(dek) => [
- q(1995),
+ q(2000),
q(0),
],
q(dela-oenale) => [
- q(5821),
+ q(5856),
q(0),
],
q(delaware) => [
@@ -30474,51 +30816,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(delo) => [
- q(5074),
+ q(5106),
q(0),
],
q(dem) => [
- q(1996),
+ q(2001),
q(0),
],
q(dema) => [
- q(2094),
+ q(2101),
q(0),
],
q(demisa) => [
- q(1994),
+ q(1999),
q(0),
],
q(demta) => [
- q(2095),
+ q(2102),
q(0),
],
q(dendi (benin)) => [
- q(1983),
+ q(1988),
q(0),
],
q(dendi (central african republic)) => [
- q(1998),
+ q(2003),
q(0),
],
q(dene suline) => [
q(0084),
- q(0),
+ q(1),
],
q(dengese) => [
- q(2002),
+ q(2007),
q(0),
],
q(dengka) => [
- q(2101),
+ q(2109),
q(0),
],
q(deni) => [
- q(2108),
+ q(2116),
q(0),
],
q(deno) => [
- q(1956),
+ q(1961),
q(0),
],
q(denya) => [
@@ -30526,79 +30868,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(deori) => [
- q(1999),
+ q(2004),
q(0),
],
q(dera (indonesia)) => [
- q(3182),
+ q(3206),
q(0),
],
q(dera (nigeria)) => [
- q(3457),
+ q(3481),
q(0),
],
q(desano) => [
- q(2000),
+ q(2005),
q(0),
],
q(desiya) => [
- q(2150),
+ q(2158),
q(0),
],
q(dewoin) => [
- q(1990),
+ q(1995),
q(0),
],
q(dezfuli) => [
- q(1991),
+ q(1996),
q(0),
],
q(dghwede) => [
- q(2009),
+ q(2014),
q(0),
],
q(dhaiso) => [
- q(2029),
+ q(2034),
q(0),
],
q(dhalandji) => [
- q(2024),
+ q(2029),
q(0),
],
q(dhangu) => [
- q(2022),
- q(0),
+ q(2027),
+ q(1),
],
q(dhanki) => [
- q(2026),
+ q(2031),
q(0),
],
q(dhanwar (nepal)) => [
- q(2032),
+ q(2037),
q(0),
],
q(dhao) => [
- q(4812),
+ q(4839),
q(0),
],
q(dhargari) => [
- q(2028),
+ q(2033),
+ q(0),
+ ],
+ q(dharuk) => [
+ q(7332),
q(0),
],
q(dhatki) => [
- q(4326),
+ q(4358),
q(0),
],
q(dhimal) => [
- q(2023),
+ q(2028),
q(0),
],
q(dhivehi) => [
q(0110),
- q(0),
+ q(1),
],
q(dhodia) => [
- q(2027),
+ q(2032),
q(0),
],
q(dhofari arabic) => [
@@ -30610,111 +30956,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(dhudhuroa) => [
- q(1985),
+ q(1990),
q(0),
],
q(dhundari) => [
- q(2021),
+ q(2026),
+ q(0),
+ ],
+ q(dhungaloo) => [
+ q(2038),
q(0),
],
q(dhurga) => [
- q(2030),
+ q(2035),
q(0),
],
q(dhuwal) => [
- q(2174),
+ q(2182),
q(0),
],
q(dia) => [
- q(2033),
+ q(2039),
q(0),
],
q(dibabawon manobo) => [
- q(4105),
+ q(4138),
q(0),
],
q(dibiyaso) => [
- q(1974),
+ q(1979),
q(0),
],
q(dibo) => [
- q(2045),
+ q(2051),
q(0),
],
q(dibole) => [
- q(1539),
+ q(1542),
q(0),
],
q(dicamay agta) => [
- q(2187),
+ q(2195),
q(0),
],
q(didinga) => [
- q(2036),
+ q(2042),
q(0),
],
q(dido) => [
- q(1984),
+ q(1989),
q(0),
],
q(diebroud) => [
- q(6363),
- q(0),
+ q(6402),
+ q(1),
],
q(dieri) => [
- q(2037),
+ q(2043),
q(0),
],
q(digaro-mishmi) => [
- q(4270),
+ q(4302),
q(0),
],
q(digo) => [
- q(2038),
+ q(2044),
q(0),
],
q(dii) => [
- q(2181),
+ q(2189),
q(0),
],
q(dijim-bwilim) => [
- q(1712),
+ q(1715),
q(0),
],
q(dilling) => [
- q(2043),
+ q(2049),
q(0),
],
q(dima) => [
- q(3094),
+ q(3118),
q(0),
],
q(dimasa) => [
- q(2049),
+ q(2055),
q(0),
],
q(dimbong) => [
- q(2040),
+ q(2046),
q(0),
],
q(dime) => [
- q(2044),
+ q(2050),
q(0),
],
q(dimili) => [
q(0486),
- q(0),
- ],
- q(dimir) => [
- q(2082),
- q(0),
+ q(1),
],
q(dimli) => [
q(0486),
- q(0),
+ q(2),
],
q(dimli (individual language)) => [
- q(2047),
+ q(2053),
q(0),
],
q(dimli (macrolanguage)) => [
@@ -30722,11 +31068,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(6),
],
q(dineor) => [
- q(4506),
- q(0),
+ q(4536),
+ q(1),
],
q(ding) => [
- q(2055),
+ q(2061),
q(0),
],
q(dinka) => [
@@ -30734,43 +31080,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dirari) => [
- q(2050),
+ q(2056),
q(0),
],
q(dirasha) => [
- q(2453),
+ q(2466),
q(0),
],
q(diri) => [
- q(2190),
+ q(2198),
q(0),
],
q(diriku) => [
- q(2051),
+ q(2057),
q(0),
],
q(dirim) => [
- q(2048),
+ q(2054),
q(0),
],
q(disa) => [
- q(2147),
+ q(2155),
q(0),
],
q(ditammari) => [
- q(6372),
+ q(6411),
q(0),
],
q(ditidaht) => [
- q(2154),
+ q(2162),
q(0),
],
q(diuwe) => [
- q(2054),
+ q(2060),
q(0),
],
q(diuxi-tilantongo mixtec) => [
- q(7443),
+ q(7517),
q(0),
],
q(divehi) => [
@@ -30778,87 +31124,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dixon reef) => [
- q(2053),
+ q(2059),
q(0),
],
q(dizin) => [
- q(4173),
+ q(4206),
+ q(0),
+ ],
+ q(djabwurrung) => [
+ q(6555),
q(0),
],
q(djadjawurrung) => [
- q(2056),
+ q(2062),
q(0),
],
q(djambarrpuyngu) => [
- q(2069),
+ q(2074),
q(0),
],
q(djamindjung) => [
- q(2059),
+ q(2065),
+ q(0),
+ ],
+ q(djangu) => [
+ q(2027),
q(0),
],
q(djangun) => [
- q(2061),
+ q(2067),
q(0),
],
q(djauan) => [
- q(2067),
+ q(2072),
q(0),
],
q(djawi) => [
- q(2071),
+ q(2076),
q(0),
],
q(djeebbana) => [
- q(2063),
+ q(2069),
q(0),
],
q(djimini senoufo) => [
- q(2198),
+ q(2206),
q(0),
],
q(djinang) => [
- q(2062),
+ q(2068),
q(0),
],
q(djinba) => [
- q(2057),
+ q(2063),
q(0),
],
q(djingili) => [
- q(3075),
+ q(3099),
q(0),
],
q(djiwarli) => [
- q(2065),
+ q(2213),
q(0),
],
q(dobel) => [
- q(3659),
+ q(3683),
q(0),
],
q(dobu) => [
- q(2110),
+ q(2118),
q(0),
],
q(doe) => [
- q(2112),
+ q(2120),
q(0),
],
q(doga) => [
- q(2008),
+ q(2013),
q(0),
],
q(doghoro) => [
- q(2019),
+ q(2024),
q(0),
],
q(dogose) => [
- q(2122),
+ q(2130),
q(0),
],
q(dogoso) => [
- q(2015),
+ q(2020),
q(0),
],
q(dogri) => [
@@ -30866,7 +31220,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dogri (individual language)) => [
- q(2014),
+ q(2019),
q(0),
],
q(dogri (macrolanguage)) => [
@@ -30878,139 +31232,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dogul dom dogon) => [
- q(1960),
+ q(1965),
q(0),
],
q(doka) => [
- q(1961),
+ q(1966),
q(0),
],
q(doko-uyanga) => [
- q(6932),
+ q(6975),
q(0),
],
q(dolgan) => [
- q(2077),
+ q(2082),
q(0),
],
q(dolpo) => [
- q(2133),
+ q(2141),
q(0),
],
q(dom) => [
- q(2109),
+ q(2117),
q(0),
],
q(domaaki) => [
- q(2086),
+ q(2092),
q(0),
],
q(domari) => [
- q(5795),
+ q(5830),
q(0),
],
q(dombe) => [
- q(2124),
+ q(2132),
q(0),
],
q(dominican sign language) => [
- q(2120),
+ q(2128),
q(0),
],
q(dompo) => [
- q(2127),
+ q(2135),
q(0),
],
q(domu) => [
- q(2113),
+ q(2121),
q(0),
],
q(domung) => [
- q(2001),
+ q(2006),
q(0),
],
q(dondo) => [
- q(2115),
+ q(2123),
q(0),
],
q(dong) => [
- q(2114),
+ q(2122),
q(0),
],
q(dongo) => [
- q(2118),
+ q(2126),
q(0),
],
q(dongolawi) => [
- q(2012),
- q(0),
+ q(2017),
+ q(1),
],
q(dongotono) => [
- q(1978),
+ q(1983),
q(0),
],
q(dongshanba lalo) => [
- q(7566),
+ q(7657),
q(0),
],
q(dongxiang) => [
- q(5900),
+ q(5937),
q(0),
],
q(donno so dogon) => [
- q(1986),
+ q(1991),
q(0),
],
q(doondo) => [
- q(1979),
+ q(1984),
q(0),
],
q(dori'o) => [
- q(2121),
+ q(2129),
q(0),
],
q(dorig) => [
- q(7220),
- q(0),
+ q(7269),
+ q(1),
],
q(doromu-koki) => [
- q(3528),
+ q(3552),
q(0),
],
q(dororo) => [
- q(2140),
+ q(2148),
q(0),
],
q(dorze) => [
- q(2128),
+ q(2136),
q(0),
],
q(doso) => [
- q(2116),
+ q(2124),
q(0),
],
q(dotyali) => [
- q(2165),
+ q(2173),
q(0),
],
q(doutai) => [
- q(6412),
+ q(6451),
q(0),
],
q(doyayo) => [
- q(2125),
+ q(2133),
q(0),
],
q(dravidian languages) => [
q(0112),
q(0),
],
+ q(drehu) => [
+ q(2036),
+ q(1),
+ ],
q(drents) => [
- q(2142),
+ q(2150),
q(0),
],
+ q(drubea) => [
+ q(2178),
+ q(1),
+ ],
q(drung) => [
- q(2183),
+ q(2191),
q(0),
],
q(duala) => [
@@ -31018,127 +31380,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(duano) => [
- q(2179),
+ q(2187),
q(0),
],
q(duau) => [
- q(2189),
+ q(2197),
q(0),
],
q(dubli) => [
- q(2166),
+ q(2174),
q(0),
],
q(dubu) => [
- q(2092),
+ q(2098),
q(0),
],
q(dugun) => [
- q(4783),
+ q(4810),
q(0),
],
q(duguri) => [
- q(1964),
+ q(1969),
q(0),
],
q(dugwor) => [
- q(2084),
+ q(2090),
q(0),
],
q(duhwa) => [
- q(3186),
+ q(3210),
q(0),
],
q(duke) => [
- q(4908),
+ q(4935),
q(0),
],
q(dulbu) => [
- q(1966),
+ q(1971),
q(0),
],
q(duli) => [
- q(2188),
+ q(2196),
q(0),
],
q(duma) => [
- q(2080),
+ q(2086),
q(0),
],
q(dumbea) => [
- q(2170),
+ q(2178),
q(0),
],
q(dumi) => [
- q(2182),
+ q(2190),
q(0),
],
q(dumpas) => [
- q(2093),
+ q(2099),
q(0),
],
q(dumun) => [
- q(2173),
+ q(2181),
q(0),
],
q(duna) => [
- q(2167),
+ q(2175),
q(0),
],
q(dungan) => [
- q(2099),
+ q(2106),
q(0),
],
q(dungmali) => [
- q(5710),
+ q(5744),
q(0),
],
q(dungra bhil) => [
- q(2172),
+ q(2180),
q(0),
],
q(dungu) => [
- q(1972),
+ q(1977),
q(0),
],
q(dupaninan agta) => [
- q(2178),
+ q(2186),
q(0),
],
q(dura) => [
- q(2139),
+ q(2147),
q(0),
],
q(duri) => [
- q(4592),
+ q(4622),
q(0),
],
q(duriankere) => [
- q(1965),
+ q(1970),
q(0),
],
q(duruma) => [
- q(2171),
+ q(2179),
q(0),
],
q(duruwa) => [
- q(5364),
+ q(5397),
q(0),
],
q(dusner) => [
- q(2149),
+ q(2157),
q(0),
],
q(dusun deyah) => [
- q(2177),
+ q(2185),
q(0),
],
q(dusun malang) => [
- q(2180),
+ q(2188),
q(0),
],
q(dusun witu) => [
- q(2185),
+ q(2193),
q(0),
],
q(dutch) => [
@@ -31146,7 +31508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dutch sign language) => [
- q(2145),
+ q(2153),
q(0),
],
q(dutch, middle (ca.1050-1350)) => [
@@ -31154,59 +31516,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dutton world speedwords) => [
- q(2192),
+ q(2200),
q(0),
],
q(duungooma) => [
- q(2186),
+ q(2194),
q(0),
],
q(duupa) => [
- q(1939),
+ q(1945),
q(0),
],
q(duvle) => [
- q(2184),
+ q(2192),
q(0),
],
q(duwai) => [
- q(1967),
+ q(1972),
q(0),
],
q(duwet) => [
- q(2653),
+ q(2671),
q(0),
],
q(duya) => [
- q(3825),
+ q(3851),
q(0),
],
q(dwang) => [
- q(4988),
+ q(5016),
q(0),
],
q(dyaabugay) => [
- q(2202),
+ q(2210),
q(0),
],
q(dyaberdyaber) => [
- q(2195),
+ q(2203),
q(0),
],
q(dyan) => [
- q(2194),
+ q(2202),
q(0),
],
q(dyangadi) => [
- q(2200),
+ q(2208),
q(0),
],
q(dyirbal) => [
- q(1963),
+ q(1968),
q(0),
],
q(dyugun) => [
- q(2196),
+ q(2204),
q(0),
],
q(dyula) => [
@@ -31214,19 +31576,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dza) => [
- q(3060),
+ q(3084),
q(0),
],
q(dzalakha) => [
- q(2206),
+ q(2215),
q(0),
],
q(dzando) => [
- q(2207),
+ q(2216),
q(0),
],
q(dzao min) => [
- q(1386),
+ q(1388),
q(0),
],
q(dzodinka) => [
@@ -31238,39 +31600,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(dzuungoo) => [
- q(2102),
+ q(2110),
q(0),
],
q(e) => [
- q(2216),
+ q(2226),
q(0),
],
q(e'ma buyang) => [
- q(7714),
+ q(7812),
q(0),
],
q(e'napa woromaipu) => [
- q(5344),
+ q(5377),
q(0),
],
q(early tripuri) => [
- q(7454),
+ q(7529),
q(0),
],
q(east ambae) => [
- q(5226),
+ q(5259),
q(0),
],
q(east berawan) => [
- q(7741),
+ q(7839),
q(0),
],
q(east damar) => [
- q(2090),
+ q(2096),
q(0),
],
q(east futuna) => [
- q(2373),
+ q(2385),
q(0),
],
q(east germanic languages) => [
@@ -31278,23 +31640,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(east kewa) => [
- q(3374),
+ q(3398),
q(0),
],
q(east limba) => [
- q(3951),
+ q(3982),
q(0),
],
q(east makian) => [
- q(4342),
+ q(4374),
q(0),
],
q(east masela) => [
- q(6987),
+ q(7030),
q(0),
],
q(east nyala) => [
- q(4930),
+ q(4957),
q(0),
],
q(east slavic languages) => [
@@ -31302,11 +31664,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(east tarangan) => [
- q(6660),
+ q(6699),
q(0),
],
q(east yugur) => [
- q(7698),
+ q(7790),
q(0),
],
q(eastern abnaki) => [
@@ -31318,7 +31680,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eastern apurimac quechua) => [
- q(5676),
+ q(5710),
q(0),
],
q(eastern arrernte) => [
@@ -31326,31 +31688,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eastern balochi) => [
- q(1176),
+ q(1177),
q(0),
],
q(eastern bolivian guarani) => [
- q(2635),
+ q(2653),
q(0),
],
q(eastern bontok) => [
- q(2209),
+ q(2219),
q(0),
],
q(eastern bru) => [
- q(1442),
+ q(1444),
q(0),
],
q(eastern canadian inuktitut) => [
- q(2920),
+ q(2942),
q(0),
],
q(eastern cham) => [
- q(1749),
+ q(1752),
q(0),
],
q(eastern durango nahuatl) => [
- q(1015),
+ q(1016),
q(0),
],
q(eastern egyptian bedawi arabic) => [
@@ -31362,71 +31724,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eastern gorkha tamang) => [
- q(6447),
+ q(6486),
q(0),
],
q(eastern gurung) => [
- q(2487),
+ q(2501),
q(0),
],
q(eastern highland chatino) => [
- q(1783),
+ q(1787),
q(0),
],
q(eastern highland otomi) => [
- q(5297),
+ q(5330),
q(0),
],
q(eastern hongshuihe zhuang) => [
- q(7749),
+ q(7847),
q(0),
],
q(eastern huasteca nahuatl) => [
- q(4846),
+ q(4873),
q(0),
],
q(eastern huishui hmong) => [
- q(2766),
+ q(2784),
q(0),
],
q(eastern huishui miao) => [
- q(2766),
- q(0),
+ q(2784),
+ q(1),
],
q(eastern karaboro) => [
- q(7412),
+ q(7483),
+ q(0),
+ ],
+ q(eastern karnic) => [
+ q(2237),
q(0),
],
q(eastern katu) => [
- q(3619),
+ q(3643),
q(0),
],
q(eastern kayah) => [
- q(2236),
+ q(2247),
q(0),
],
q(eastern keres) => [
- q(3239),
+ q(3263),
q(0),
],
q(eastern khumi chin) => [
- q(1709),
+ q(1712),
q(0),
],
q(eastern krahn) => [
- q(3540),
+ q(3564),
q(0),
],
q(eastern lalu) => [
- q(7574),
+ q(7665),
q(0),
],
q(eastern lawa) => [
- q(4077),
+ q(4109),
q(0),
],
q(eastern magar) => [
- q(4240),
+ q(4272),
q(0),
],
q(eastern malayo-polynesian languages) => [
@@ -31434,63 +31800,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eastern maninkakan) => [
- q(2249),
+ q(2260),
q(0),
],
q(eastern mari) => [
- q(4267),
+ q(4299),
q(0),
],
q(eastern maroon creole) => [
- q(2064),
+ q(2070),
q(0),
],
q(eastern meohang) => [
- q(2247),
+ q(2258),
q(0),
],
q(eastern mnong) => [
- q(4397),
+ q(4428),
q(0),
],
q(eastern muria) => [
- q(2255),
+ q(2266),
q(0),
],
q(eastern ngad'a) => [
- q(4789),
+ q(4816),
q(0),
],
q(eastern nisu) => [
- q(5006),
+ q(5035),
q(0),
],
q(eastern ojibwa) => [
- q(5196),
+ q(5228),
q(0),
],
q(eastern oromo) => [
- q(2699),
+ q(2717),
q(0),
],
q(eastern parbate kham) => [
- q(3338),
+ q(3362),
q(0),
],
q(eastern penan) => [
- q(5398),
+ q(5430),
q(0),
],
q(eastern pomo) => [
- q(5381),
+ q(5413),
q(0),
],
q(eastern qiandong miao) => [
- q(2776),
+ q(2794),
q(0),
],
q(eastern subanen) => [
- q(5958),
+ q(5995),
q(0),
],
q(eastern sudanic languages) => [
@@ -31498,59 +31864,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eastern tamang) => [
- q(6333),
+ q(6372),
q(0),
],
q(eastern tawbuid) => [
- q(1337),
+ q(1339),
q(0),
],
q(eastern xiangxi miao) => [
- q(4571),
+ q(4601),
q(0),
],
q(eastern xwla gbe) => [
- q(2431),
+ q(2444),
q(0),
],
q(eastern yiddish) => [
- q(7535),
+ q(7624),
q(0),
],
q(ebira) => [
- q(2902),
+ q(2923),
q(0),
],
q(eblan) => [
- q(7276),
+ q(7335),
q(0),
],
q(ebrie) => [
- q(2211),
+ q(2221),
q(0),
],
q(ebughu) => [
- q(2208),
+ q(2218),
q(0),
],
q(ecuadorian sign language) => [
- q(2214),
+ q(2224),
q(0),
],
q(ede cabe) => [
- q(1669),
+ q(1672),
q(0),
],
q(ede ica) => [
- q(2880),
+ q(2901),
q(0),
],
q(ede idaca) => [
- q(2887),
+ q(2908),
q(0),
],
q(ede ije) => [
- q(2917),
+ q(2939),
q(0),
],
q(edera awyu) => [
@@ -31559,30 +31925,30 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(edo) => [
q(0055),
- q(0),
+ q(1),
],
q(edolo) => [
- q(2300),
+ q(2311),
q(0),
],
q(edomite) => [
- q(7274),
+ q(7333),
q(0),
],
q(edopi) => [
- q(1959),
+ q(1964),
q(0),
],
q(edwas) => [
- q(1348),
- q(0),
+ q(1350),
+ q(2),
],
q(efai) => [
- q(2217),
+ q(2227),
q(0),
],
q(efe) => [
- q(2218),
+ q(2228),
q(0),
],
q(efik) => [
@@ -31590,19 +31956,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(efutop) => [
- q(5183),
+ q(5215),
q(0),
],
q(ega) => [
- q(2219),
+ q(2229),
q(0),
],
q(eggon) => [
- q(2221),
+ q(2231),
q(0),
],
q(egypt sign language) => [
- q(2288),
+ q(2299),
q(0),
],
q(egyptian (ancient)) => [
@@ -31618,23 +31984,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ehueun) => [
- q(2222),
+ q(2232),
q(0),
],
q(eipomek) => [
- q(2223),
+ q(2233),
q(0),
],
q(eitiep) => [
- q(2224),
+ q(2234),
q(0),
],
q(ejagham) => [
- q(2303),
+ q(2314),
q(0),
],
q(ejamat) => [
- q(2226),
+ q(2236),
q(0),
],
q(ekajuk) => [
@@ -31642,39 +32008,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ekari) => [
- q(2228),
+ q(2239),
q(0),
],
q(ekegusii) => [
- q(2650),
- q(0),
+ q(2668),
+ q(1),
],
q(eki) => [
- q(2229),
+ q(2240),
q(0),
],
q(ekit) => [
- q(2227),
+ q(2238),
q(0),
],
q(ekpeye) => [
- q(2234),
+ q(2245),
q(0),
],
q(el alto zapotec) => [
- q(7840),
+ q(7938),
q(0),
],
q(el hugeirat) => [
- q(2238),
+ q(2249),
q(0),
],
q(el molo) => [
- q(2242),
+ q(2253),
q(0),
],
q(el nayar cora) => [
- q(1854),
+ q(1859),
q(0),
],
q(elamite) => [
@@ -31682,23 +32048,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(eleme) => [
- q(2241),
+ q(2252),
q(0),
],
q(elepi) => [
- q(2237),
+ q(2248),
q(0),
],
q(elip) => [
- q(2232),
+ q(2243),
q(0),
],
q(elkei) => [
- q(2240),
+ q(2251),
q(0),
],
q(elotepec zapotec) => [
- q(7864),
+ q(7962),
q(0),
],
q(eloyi) => [
@@ -31706,103 +32072,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(elseng) => [
- q(4489),
+ q(4519),
q(0),
],
q(elu) => [
- q(2243),
+ q(2254),
q(0),
],
q(elymian) => [
- q(7347),
+ q(7412),
q(0),
],
q(emae) => [
- q(4388),
+ q(4419),
q(0),
],
q(emai-iuleha-ora) => [
- q(2244),
+ q(2255),
q(0),
],
q(eman) => [
- q(2251),
+ q(2262),
q(0),
],
q(embaloh) => [
- q(2245),
+ q(2256),
q(0),
],
q(embera-baudo) => [
- q(1092),
+ q(1093),
q(0),
],
q(embera-catio) => [
- q(1895),
+ q(1901),
q(0),
],
q(embera-chami) => [
- q(1787),
+ q(1791),
q(0),
],
q(embera-tado) => [
- q(6398),
+ q(6437),
q(0),
],
q(embu) => [
- q(2212),
+ q(2222),
q(0),
],
q(emem) => [
- q(2268),
- q(0),
+ q(2279),
+ q(1),
],
q(emerillon) => [
- q(2246),
+ q(2257),
q(0),
],
q(emilian) => [
- q(2220),
+ q(2230),
q(0),
],
q(emok) => [
- q(2252),
+ q(2263),
q(0),
],
q(emplawas) => [
- q(2256),
+ q(2267),
q(0),
],
q(emumu) => [
- q(2268),
+ q(2279),
q(0),
],
q(en) => [
- q(2261),
+ q(2272),
q(0),
],
q(enawene-nawe) => [
- q(6883),
+ q(6924),
q(0),
],
q(ende) => [
- q(2262),
+ q(2273),
q(0),
],
q(enga) => [
- q(2267),
+ q(2278),
q(0),
],
q(engdewu) => [
- q(4833),
+ q(4860),
q(0),
],
q(engenni) => [
- q(2265),
+ q(2276),
q(0),
],
q(enggano) => [
- q(2266),
+ q(2277),
q(0),
],
q(english) => [
@@ -31822,75 +32188,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(2),
],
q(enrekang) => [
- q(5610),
+ q(5643),
q(0),
],
q(enu) => [
- q(2269),
+ q(2280),
q(0),
],
q(enwan (akwa ibom state)) => [
- q(2271),
+ q(2282),
q(0),
],
q(enwan (edu state)) => [
- q(2270),
+ q(2281),
q(0),
],
q(enya) => [
- q(2476),
+ q(2490),
q(0),
],
q(epena) => [
- q(6027),
+ q(6064),
q(0),
],
q(epi-olmec) => [
- q(7281),
+ q(7340),
q(0),
],
q(epie) => [
- q(2273),
+ q(2284),
q(0),
],
q(epigraphic mayan) => [
- q(2258),
+ q(2269),
q(0),
],
q(eravallan) => [
- q(2274),
+ q(2285),
q(0),
],
q(erave) => [
- q(3378),
+ q(3402),
q(0),
],
q(ere) => [
- q(6773),
+ q(6812),
q(0),
],
q(eritai) => [
- q(2282),
+ q(2293),
q(0),
],
q(erokwanas) => [
- q(2283),
+ q(2294),
q(0),
],
q(erre) => [
- q(2280),
+ q(2291),
q(0),
],
q(erromintxela) => [
- q(2257),
+ q(2268),
q(0),
],
q(ersu) => [
- q(2281),
+ q(2292),
q(0),
],
q(eruwa) => [
- q(2276),
+ q(2287),
q(0),
],
q(erzya) => [
@@ -31898,19 +32264,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(esan) => [
- q(2981),
+ q(3004),
q(0),
],
q(ese) => [
- q(4143),
+ q(4176),
q(0),
],
q(ese ejja) => [
- q(2284),
+ q(2295),
q(0),
],
q(eshtehardi) => [
- q(2285),
+ q(2296),
q(0),
],
q(esimbi) => [
@@ -31926,11 +32292,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(esselen) => [
- q(2292),
+ q(2303),
q(0),
],
q(estado de mexico otomi) => [
- q(5301),
+ q(5334),
q(0),
],
q(estonian) => [
@@ -31938,71 +32304,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(estonian sign language) => [
- q(2291),
+ q(2302),
q(0),
],
q(esuma) => [
- q(2289),
+ q(2300),
q(0),
],
q(etchemin) => [
- q(2296),
+ q(2307),
q(0),
],
q(etebi) => [
- q(2295),
+ q(2306),
q(0),
],
q(eten) => [
- q(2304),
+ q(2315),
q(0),
],
q(eteocretan) => [
- q(2213),
+ q(2223),
q(0),
],
q(eteocypriot) => [
- q(2215),
+ q(2225),
q(0),
],
q(ethiopian sign language) => [
- q(2297),
+ q(2308),
q(0),
],
q(etkywan) => [
- q(2881),
+ q(2902),
q(0),
],
q(eton (cameroon)) => [
- q(2299),
+ q(2310),
q(0),
],
q(eton (vanuatu)) => [
- q(2298),
+ q(2309),
q(0),
],
q(etruscan) => [
- q(2302),
+ q(2313),
q(0),
],
q(etulo) => [
- q(6922),
+ q(6965),
q(0),
],
q(evant) => [
- q(1640),
+ q(1643),
q(0),
],
q(even) => [
- q(2306),
+ q(2317),
q(0),
],
q(evenki) => [
- q(2308),
+ q(2319),
q(0),
],
q(ewage-notu) => [
- q(5008),
+ q(5037),
q(0),
],
q(ewe) => [
@@ -32014,55 +32380,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(extremaduran) => [
- q(2309),
+ q(2320),
q(0),
],
q(eyak) => [
- q(2310),
+ q(2321),
+ q(0),
+ ],
+ q(ezaa) => [
+ q(2323),
q(0),
],
q(fa d'ambu) => [
- q(2314),
+ q(2326),
q(0),
],
q(fagani) => [
- q(2316),
+ q(2328),
q(0),
],
+ q(fagauvea) => [
+ q(6971),
+ q(1),
+ ],
q(faire atta) => [
- q(1021),
+ q(1022),
q(0),
],
q(faita) => [
- q(2320),
+ q(2332),
q(0),
],
q(faiwol) => [
- q(2319),
+ q(2331),
q(0),
],
q(fala) => [
- q(2327),
+ q(2339),
q(0),
],
q(falam chin) => [
- q(1715),
+ q(1718),
q(0),
],
q(fali) => [
- q(2346),
+ q(2358),
q(0),
],
q(faliscan) => [
- q(7286),
+ q(7345),
q(0),
],
q(fam) => [
- q(2323),
+ q(2335),
q(0),
],
q(fanagalo) => [
- q(2353),
+ q(2365),
+ q(0),
+ ],
+ q(fanamaket) => [
+ q(1247),
q(0),
],
q(fang) => [
@@ -32070,7 +32448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(fang (cameroon)) => [
- q(2321),
+ q(2333),
q(0),
],
q(fang (equatorial guinea)) => [
@@ -32078,7 +32456,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(fania) => [
- q(2354),
+ q(2366),
q(0),
],
q(fanti) => [
@@ -32086,11 +32464,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(far western muria) => [
- q(2352),
+ q(2364),
q(0),
],
q(farefare) => [
- q(2643),
+ q(2661),
q(0),
],
q(faroese) => [
@@ -32098,47 +32476,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(fas) => [
- q(2361),
+ q(2373),
q(0),
],
q(fasu) => [
- q(2313),
+ q(2325),
q(0),
],
q(fataleka) => [
- q(2325),
+ q(2337),
q(0),
],
q(fataluku) => [
- q(1980),
+ q(1985),
q(0),
],
q(fayu) => [
- q(2326),
+ q(2338),
q(0),
],
q(fe'fe') => [
- q(2351),
+ q(2363),
q(0),
],
q(fedan) => [
- q(5376),
- q(0),
+ q(5408),
+ q(1),
],
q(fembe) => [
q(0665),
q(0),
],
q(fernando po creole english) => [
- q(2360),
+ q(2372),
q(0),
],
q(feroge) => [
- q(2332),
+ q(2344),
q(0),
],
q(fiji hindi) => [
- q(2741),
+ q(2759),
q(0),
],
q(fijian) => [
@@ -32150,23 +32528,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(filomena mata-coahuitlan totonac) => [
- q(6546),
+ q(6585),
q(0),
],
q(finland-swedish sign language) => [
- q(2370),
+ q(2382),
q(0),
],
q(finlandssvenskt teckensprak) => [
- q(2370),
- q(0),
+ q(2382),
+ q(1),
],
q(finnish) => [
q(0134),
q(0),
],
q(finnish sign language) => [
- q(2368),
+ q(2380),
q(0),
],
q(finno-ugrian languages) => [
@@ -32174,51 +32552,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(finongan) => [
- q(2317),
+ q(2329),
q(0),
],
q(fipa) => [
- q(2338),
+ q(2350),
q(0),
],
q(firan) => [
- q(2339),
+ q(2351),
q(0),
],
q(fiwaga) => [
- q(2341),
+ q(2353),
q(0),
],
q(flemish) => [
q(0116),
- q(0),
+ q(1),
],
q(flemish sign language) => [
- q(6961),
- q(0),
+ q(7004),
+ q(1),
],
q(flinders island) => [
- q(2348),
+ q(2360),
q(0),
],
q(foau) => [
- q(2345),
+ q(2357),
q(0),
],
q(foi) => [
- q(2356),
+ q(2368),
q(0),
],
q(foia foia) => [
- q(2333),
+ q(2345),
q(0),
],
q(folopa) => [
- q(5553),
+ q(5587),
q(0),
],
q(foma) => [
- q(2357),
+ q(2369),
q(0),
],
q(fon) => [
@@ -32226,31 +32604,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(fongoro) => [
- q(2335),
+ q(2347),
q(0),
],
q(foodo) => [
- q(2355),
+ q(2367),
q(0),
],
q(forak) => [
- q(2366),
+ q(2378),
q(0),
],
q(fordata) => [
- q(2363),
+ q(2375),
q(0),
],
q(fore) => [
- q(2358),
+ q(2370),
q(0),
],
q(forest enets) => [
- q(2263),
- q(0),
- ],
- q(forest maninka) => [
- q(4667),
+ q(2274),
q(0),
],
q(formosan languages) => [
@@ -32258,19 +32632,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(fortsenal) => [
- q(2367),
+ q(2379),
q(0),
],
q(francisco leon zoque) => [
- q(7824),
+ q(7922),
q(0),
],
q(francoprovencal) => [
- q(2365),
- q(0),
+ q(2377),
+ q(1),
],
q(frankish) => [
- q(2364),
+ q(2376),
q(0),
],
q(french) => [
@@ -32278,11 +32652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(french belgian sign language) => [
- q(5957),
- q(0),
+ q(5994),
+ q(1),
],
q(french sign language) => [
- q(2369),
+ q(2381),
q(0),
],
q(french, middle (ca.1400-1600)) => [
@@ -32306,51 +32680,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(fuliiru) => [
- q(2349),
+ q(2361),
q(0),
],
q(fulnio) => [
- q(2380),
+ q(2392),
q(0),
],
q(fum) => [
- q(2379),
+ q(2391),
q(0),
],
q(fungwa) => [
- q(6857),
+ q(6897),
q(0),
],
q(fur) => [
- q(2386),
+ q(2398),
q(0),
],
q(furu) => [
- q(2383),
+ q(2395),
q(0),
],
q(futuna-aniwa) => [
- q(2382),
+ q(2394),
q(0),
],
q(fuyug) => [
- q(2385),
+ q(2397),
q(0),
],
q(fwai) => [
- q(2387),
+ q(2399),
q(0),
],
q(fwe) => [
- q(2388),
+ q(2400),
q(0),
],
q(fyam) => [
- q(5646),
+ q(5680),
q(0),
],
q(fyer) => [
- q(2337),
+ q(2349),
q(0),
],
q(ga) => [
@@ -32358,55 +32732,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ga'anda) => [
- q(2594),
+ q(2611),
q(0),
],
q(ga'dang) => [
- q(2448),
+ q(2461),
q(0),
],
q(gaa) => [
- q(6705),
+ q(6744),
q(0),
],
q(gaam) => [
- q(6356),
+ q(6395),
+ q(0),
+ ],
+ q(gabi-gabi) => [
+ q(2443),
q(0),
],
q(gabri) => [
- q(2389),
+ q(2401),
q(0),
],
q(gabrielino-fernandeno) => [
- q(7289),
+ q(7349),
q(0),
],
q(gadang) => [
- q(2452),
+ q(2465),
q(0),
],
q(gaddang) => [
- q(2391),
+ q(2403),
q(0),
],
q(gaddi) => [
- q(2420),
+ q(2432),
q(0),
],
q(gade) => [
- q(2465),
+ q(2479),
q(0),
],
q(gade lohar) => [
- q(2442),
+ q(2455),
q(0),
],
q(gadjerawang) => [
- q(2449),
+ q(2462),
q(0),
],
q(gadsup) => [
- q(2397),
+ q(2409),
q(0),
],
q(gaelic) => [
@@ -32414,59 +32792,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gafat) => [
- q(2478),
+ q(2492),
q(0),
],
q(gagadu) => [
- q(2429),
+ q(2441),
q(0),
],
q(gagauz) => [
- q(2394),
+ q(2406),
q(0),
],
q(gagnoa bete) => [
- q(1477),
+ q(1479),
q(0),
],
q(gagu) => [
- q(2491),
+ q(2504),
q(0),
],
q(gahri) => [
- q(1157),
+ q(1158),
q(0),
],
q(gaikundi) => [
- q(2415),
+ q(2427),
q(0),
],
q(gail) => [
- q(2506),
+ q(2519),
q(0),
],
q(gaina) => [
- q(2439),
+ q(2452),
q(0),
],
q(gal) => [
- q(2403),
+ q(2415),
q(0),
],
q(galambu) => [
- q(2536),
+ q(2552),
q(0),
],
q(galatian) => [
- q(7287),
+ q(7346),
q(0),
],
q(galela) => [
- q(2418),
+ q(2430),
q(0),
],
q(galeya) => [
- q(2405),
+ q(2417),
q(0),
],
q(galibi carib) => [
@@ -32474,7 +32852,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(galice) => [
- q(2436),
+ q(2449),
q(0),
],
q(galician) => [
@@ -32482,63 +32860,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(galindan) => [
- q(7290),
+ q(7352),
q(0),
],
q(gallurese sardinian) => [
- q(5925),
+ q(5962),
q(0),
],
q(galo) => [
q(0613),
q(0),
],
- q(galoli) => [
- q(2399),
+ q(galolen) => [
+ q(2411),
q(0),
],
q(gamale kham) => [
- q(3295),
+ q(3319),
q(0),
],
q(gambera) => [
- q(2541),
+ q(2557),
q(0),
],
q(gambian wolof) => [
- q(7161),
+ q(7209),
q(0),
],
q(gamilaraay) => [
- q(3409),
+ q(3433),
q(0),
],
q(gamit) => [
- q(2421),
+ q(2433),
q(0),
],
q(gamkonora) => [
- q(2398),
+ q(2410),
q(0),
],
q(gamo) => [
- q(2548),
+ q(2564),
q(0),
],
q(gamo-ningi) => [
- q(1475),
+ q(1477),
q(0),
],
q(gan chinese) => [
- q(2401),
+ q(2413),
q(0),
],
q(gana) => [
- q(2564),
+ q(2581),
q(0),
],
q(ganang) => [
- q(2555),
+ q(2572),
q(0),
],
q(ganda) => [
@@ -32546,99 +32924,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gane) => [
- q(2694),
+ q(2712),
q(0),
],
q(ganggalida) => [
- q(2435),
+ q(2448),
q(0),
],
q(ganglau) => [
- q(2486),
+ q(2500),
q(0),
],
q(gangte) => [
- q(2552),
+ q(2569),
q(0),
],
q(gangulu) => [
- q(2560),
+ q(2577),
q(0),
],
q(gants) => [
- q(2402),
+ q(2414),
q(0),
],
q(ganza) => [
- q(2692),
+ q(2710),
q(0),
],
q(ganzi) => [
- q(2569),
+ q(2586),
q(0),
],
q(gao) => [
- q(2480),
+ q(2494),
q(0),
],
q(gapapaiwa) => [
- q(5638),
+ q(5671),
q(0),
],
q(garhwali) => [
- q(2422),
+ q(2434),
q(0),
],
q(garifuna) => [
- q(1642),
+ q(1645),
q(0),
],
q(garig-ilgar) => [
- q(2933),
+ q(2956),
+ q(0),
+ ],
+ q(garingbal) => [
+ q(7351),
+ q(0),
+ ],
+ q(garlali) => [
+ q(2551),
q(0),
],
q(garo) => [
- q(2610),
+ q(2627),
q(0),
],
q(garre) => [
- q(2475),
+ q(2489),
q(0),
],
q(garrwa) => [
- q(7179),
+ q(7227),
q(0),
],
q(garus) => [
- q(2681),
+ q(2699),
q(0),
],
q(garza) => [
- q(7291),
+ q(7354),
q(0),
],
q(gata') => [
- q(2404),
+ q(2416),
+ q(0),
+ ],
+ q(gavak) => [
+ q(2088),
q(0),
],
q(gavar) => [
- q(2586),
+ q(2603),
q(0),
],
q(gaviao do jiparana) => [
- q(2659),
+ q(2677),
q(0),
],
q(gawar-bati) => [
- q(2675),
+ q(2693),
q(0),
],
q(gawwada) => [
- q(2667),
+ q(2685),
q(0),
],
q(gayil) => [
- q(2687),
+ q(2705),
q(0),
],
q(gayo) => [
@@ -32646,27 +33036,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gazi) => [
- q(2693),
+ q(2711),
q(0),
],
q(gbagyi) => [
- q(2427),
+ q(2439),
q(0),
],
+ q(gban) => [
+ q(2504),
+ q(1),
+ ],
q(gbanu) => [
- q(2430),
+ q(2442),
q(0),
],
q(gbanziri) => [
- q(2416),
+ q(2428),
q(0),
],
q(gbari) => [
- q(2432),
+ q(2445),
q(0),
],
q(gbati-ri) => [
- q(2626),
+ q(2643),
q(0),
],
q(gbaya) => [
@@ -32678,63 +33072,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(gbaya (sudan)) => [
- q(3565),
+ q(3589),
q(0),
],
q(gbaya-bossangoa) => [
- q(2425),
+ q(2437),
q(0),
],
q(gbaya-bozoum) => [
- q(2426),
+ q(2438),
q(0),
],
q(gbaya-mbodomo) => [
- q(2545),
+ q(2561),
q(0),
],
q(gbayi) => [
- q(2685),
+ q(2703),
q(0),
],
q(gbesi gbe) => [
- q(2428),
+ q(2440),
q(0),
],
q(gbii) => [
- q(2481),
+ q(2495),
q(0),
],
q(gbin) => [
- q(7288),
+ q(7347),
q(0),
],
q(gbiri-niragu) => [
- q(2602),
+ q(2619),
q(0),
],
q(gboloo grebo) => [
- q(2464),
+ q(2478),
q(0),
],
q(ge) => [
- q(2771),
+ q(2789),
q(0),
],
q(geba karen) => [
- q(3661),
+ q(3685),
q(0),
],
q(gebe) => [
- q(2468),
+ q(2482),
q(0),
],
q(gedaged) => [
- q(2445),
+ q(2458),
q(0),
],
q(gedeo) => [
- q(2141),
+ q(2149),
q(0),
],
q(geez) => [
@@ -32742,39 +33136,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(geji) => [
- q(2521),
+ q(2535),
q(0),
],
q(gejia) => [
- q(2771),
- q(0),
+ q(2789),
+ q(1),
],
q(geko karen) => [
- q(2497),
+ q(2510),
q(0),
],
q(gela) => [
- q(4931),
+ q(4958),
q(0),
],
q(geman deng) => [
- q(4636),
- q(0),
+ q(4665),
+ q(1),
],
q(geme) => [
- q(2472),
+ q(2486),
q(0),
],
q(gen) => [
- q(2469),
+ q(2483),
q(0),
],
q(gende) => [
- q(2393),
+ q(2405),
q(0),
],
q(gengle) => [
- q(2466),
+ q(2480),
q(0),
],
q(georgian) => [
@@ -32782,28 +33176,28 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gepo) => [
- q(7555),
+ q(7645),
q(0),
],
q(gera) => [
- q(2474),
+ q(2488),
q(0),
],
q(gergiko) => [
- q(4433),
- q(0),
+ q(4463),
+ q(1),
],
q(german) => [
q(0150),
q(0),
],
q(german sign language) => [
- q(2618),
+ q(2635),
q(0),
],
q(german, low) => [
q(0306),
- q(0),
+ q(2),
],
q(german, middle high (ca.1050-1500)) => [
q(0157),
@@ -32818,43 +33212,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(geruma) => [
- q(2462),
+ q(2476),
q(0),
],
q(geser-gorom) => [
- q(2473),
+ q(2487),
q(0),
],
q(gey) => [
- q(2647),
+ q(2665),
q(0),
],
q(ghadames) => [
- q(2493),
+ q(2506),
q(0),
],
q(ghanaian pidgin english) => [
- q(2592),
+ q(2609),
q(0),
],
q(ghanaian sign language) => [
- q(2617),
+ q(2634),
q(0),
],
q(ghandruk sign language) => [
- q(2459),
+ q(2472),
q(0),
],
q(ghanongga) => [
- q(2499),
+ q(2512),
q(0),
],
q(ghari) => [
- q(2603),
+ q(2620),
q(0),
],
q(ghayavi) => [
- q(1313),
+ q(1315),
q(0),
],
q(gheg albanian) => [
@@ -32862,19 +33256,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ghera) => [
- q(2501),
+ q(2514),
q(0),
],
q(ghodoberi) => [
- q(2456),
+ q(2469),
q(0),
],
q(ghomala') => [
- q(1048),
+ q(1049),
q(0),
],
q(ghomara) => [
- q(2500),
+ q(2513),
q(0),
],
q(ghotuo) => [
@@ -32882,39 +33276,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ghulfan) => [
- q(2498),
+ q(2511),
q(0),
],
q(giangan) => [
- q(1169),
+ q(1170),
q(0),
],
q(gibanawa) => [
- q(2505),
+ q(2518),
q(0),
],
q(gichuka) => [
- q(1905),
- q(0),
+ q(1911),
+ q(1),
],
q(gidar) => [
- q(2507),
+ q(2520),
q(0),
],
q(giiwo) => [
- q(3398),
+ q(3422),
q(0),
],
q(gikuyu) => [
q(0224),
- q(0),
+ q(1),
],
q(gikyode) => [
q(0587),
q(0),
],
q(gilaki) => [
- q(2535),
+ q(2550),
q(0),
],
q(gilbertese) => [
@@ -32922,103 +33316,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gilima) => [
- q(2518),
+ q(2532),
q(0),
],
q(gilyak) => [
- q(4882),
+ q(4909),
q(0),
],
q(gimi (eastern highlands)) => [
- q(2509),
+ q(2523),
q(0),
],
q(gimi (west new britain)) => [
- q(2511),
+ q(2525),
q(0),
],
q(gimme) => [
- q(3446),
+ q(3470),
q(0),
],
q(gimnime) => [
- q(2546),
+ q(2562),
q(0),
],
q(ginuman) => [
- q(2561),
+ q(2578),
q(0),
],
q(ginyanga) => [
- q(0998),
+ q(0999),
q(0),
],
q(girawa) => [
- q(1056),
+ q(1057),
q(0),
],
q(giryama) => [
- q(5136),
+ q(5168),
+ q(0),
+ ],
+ q(githabul) => [
+ q(2522),
q(0),
],
q(gitonga) => [
- q(6608),
+ q(6647),
q(0),
],
q(gitua) => [
- q(2490),
+ q(2503),
q(0),
],
q(gitxsan) => [
- q(2515),
+ q(2529),
q(0),
],
q(giyug) => [
- q(2519),
+ q(2533),
q(0),
],
q(gizrra) => [
- q(6607),
+ q(6646),
q(0),
],
q(glaro-twabo) => [
- q(2537),
+ q(2553),
q(0),
],
q(glavda) => [
- q(2539),
+ q(2555),
q(0),
],
q(glio-oubi) => [
- q(5309),
+ q(5342),
q(0),
],
q(gnau) => [
- q(2567),
+ q(2584),
q(0),
],
q(goan konkani) => [
- q(2581),
+ q(2598),
q(0),
],
q(goaria) => [
- q(2508),
+ q(2521),
q(0),
],
q(gobasi) => [
- q(2577),
+ q(2594),
q(0),
],
q(gobu) => [
- q(2588),
+ q(2605),
q(0),
],
q(godie) => [
- q(2573),
+ q(2590),
q(0),
],
q(godwari) => [
- q(2461),
+ q(2475),
q(0),
],
q(goemai) => [
@@ -33026,27 +33424,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gofa) => [
- q(2575),
+ q(2592),
q(0),
],
q(gogo) => [
- q(2576),
+ q(2593),
q(0),
],
q(gogodala) => [
- q(2492),
+ q(2505),
q(0),
],
q(gokana) => [
- q(2527),
+ q(2542),
q(0),
],
q(gola) => [
- q(2580),
+ q(2597),
q(0),
],
q(golin) => [
- q(2654),
+ q(2672),
+ q(0),
+ ],
+ q(golpa) => [
+ q(3938),
q(0),
],
q(gondi) => [
@@ -33054,31 +33456,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gone dau) => [
- q(2582),
+ q(2599),
q(0),
],
q(gongduk) => [
- q(2574),
+ q(2591),
q(0),
],
q(gonja) => [
- q(2523),
+ q(2538),
q(0),
],
q(gooniyandi) => [
- q(2558),
+ q(2575),
q(0),
],
q(gor) => [
- q(2597),
+ q(2614),
q(0),
],
q(gorakor) => [
- q(2572),
+ q(2589),
q(0),
],
q(gorap) => [
- q(2584),
+ q(2601),
+ q(0),
+ ],
+ q(goreng) => [
+ q(7350),
q(0),
],
q(gorontalo) => [
@@ -33086,11 +33492,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gorovu) => [
- q(2607),
+ q(2624),
q(0),
],
q(gorowa) => [
- q(2587),
+ q(2604),
q(0),
],
q(gothic) => [
@@ -33098,35 +33504,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(goundo) => [
- q(2589),
+ q(2606),
q(0),
],
q(gourmanchema) => [
- q(2649),
+ q(2667),
q(0),
],
q(gowlan) => [
- q(2578),
+ q(2595),
q(0),
],
q(gowli) => [
- q(2579),
+ q(2596),
q(0),
],
q(gowro) => [
- q(2669),
+ q(2687),
q(0),
],
q(gozarkhani) => [
- q(2590),
+ q(2607),
q(0),
],
q(grangali) => [
- q(4932),
+ q(4959),
q(0),
],
q(grass koiari) => [
- q(3171),
+ q(3195),
q(0),
],
q(grebo) => [
@@ -33135,14 +33541,14 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(greek) => [
q(0164),
- q(2),
+ q(1),
],
q(greek languages) => [
q(0508),
q(0),
],
q(greek sign language) => [
- q(2624),
+ q(2641),
q(0),
],
q(greek, ancient (to 1453)) => [
@@ -33154,27 +33560,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(green gelao) => [
- q(2512),
+ q(2526),
q(0),
],
q(greenlandic) => [
q(0211),
- q(0),
+ q(1),
],
q(grenadian creole english) => [
- q(2438),
+ q(2451),
q(0),
],
q(gresi) => [
- q(2609),
+ q(2626),
q(0),
],
q(groma) => [
- q(2606),
+ q(2623),
q(0),
],
q(gronings) => [
- q(2585),
+ q(2602),
q(0),
],
q(gros ventre) => [
@@ -33182,47 +33588,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gua) => [
- q(2678),
+ q(2696),
q(0),
],
q(guadeloupean creole french) => [
- q(2437),
+ q(2450),
q(0),
],
q(guahibo) => [
- q(2634),
+ q(2652),
q(0),
],
q(guaja) => [
- q(2655),
+ q(2673),
q(0),
],
q(guajajara) => [
- q(2628),
+ q(2646),
q(0),
],
q(guambiano) => [
- q(2638),
+ q(2656),
q(0),
],
q(guana (brazil)) => [
- q(2596),
+ q(2613),
q(0),
],
q(guana (paraguay)) => [
- q(2651),
+ q(2669),
q(0),
],
q(guanano) => [
- q(2652),
+ q(2670),
q(0),
],
q(guanche) => [
- q(2553),
+ q(2570),
q(0),
],
q(guanyinqiao) => [
- q(3081),
+ q(3105),
q(0),
],
q(guarani) => [
@@ -33230,39 +33636,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(guarayu) => [
- q(2690),
+ q(2708),
q(0),
],
q(guarequena) => [
- q(2392),
+ q(2404),
q(0),
],
q(guatemalan sign language) => [
- q(2620),
+ q(2637),
q(0),
],
q(guato) => [
- q(2625),
+ q(2642),
q(0),
],
q(guayabero) => [
- q(2640),
+ q(2658),
+ q(0),
+ ],
+ q(gudang) => [
+ q(7348),
q(0),
],
q(gudanji) => [
- q(4891),
+ q(4918),
q(0),
],
q(gude) => [
- q(2446),
+ q(2459),
q(0),
],
q(gudu) => [
- q(2460),
+ q(2474),
q(0),
],
q(guduf-gava) => [
- q(2447),
+ q(2460),
q(0),
],
q(guerrero amuzgo) => [
@@ -33270,67 +33680,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(guerrero nahuatl) => [
- q(4836),
+ q(4863),
q(0),
],
q(guevea de humboldt zapotec) => [
- q(7831),
+ q(7929),
q(0),
],
q(gugadj) => [
- q(2482),
+ q(2496),
q(0),
],
q(gugu badhun) => [
- q(2444),
+ q(2457),
q(0),
],
q(gugu warra) => [
- q(7189),
+ q(7237),
q(0),
],
q(gugubera) => [
- q(3395),
+ q(3419),
q(0),
],
q(guguyimidjir) => [
- q(3404),
+ q(3428),
q(0),
],
q(guhu-samane) => [
- q(2502),
+ q(2515),
q(0),
],
q(guianese creole french) => [
- q(2440),
+ q(2453),
q(0),
],
q(guibei zhuang) => [
- q(7751),
+ q(7849),
q(0),
],
q(guiberoua bete) => [
- q(1130),
+ q(1131),
q(0),
],
q(guibian zhuang) => [
- q(7753),
+ q(7851),
q(0),
],
q(guila zapotec) => [
- q(7873),
+ q(7971),
q(0),
],
q(guinea kpelle) => [
- q(2529),
+ q(2544),
q(0),
],
q(guinean sign language) => [
- q(2644),
+ q(2662),
q(0),
],
q(guiqiong) => [
- q(2595),
+ q(2612),
q(0),
],
q(gujarati) => [
@@ -33338,31 +33748,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gujari) => [
- q(2524),
+ q(2539),
q(0),
],
q(gula (central african republic)) => [
- q(3199),
+ q(3223),
q(0),
],
q(gula (chad)) => [
- q(2538),
+ q(2554),
q(0),
],
q(gula iro) => [
- q(2534),
+ q(2549),
q(0),
],
q(gula'alaa) => [
- q(2542),
+ q(2558),
q(0),
],
q(gulay) => [
- q(2656),
+ q(2674),
q(0),
],
q(gule) => [
- q(2540),
+ q(2556),
q(0),
],
q(gulf arabic) => [
@@ -33370,167 +33780,183 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(guliguli) => [
- q(2533),
+ q(2548),
q(0),
],
q(gumalu) => [
- q(2547),
+ q(2563),
q(0),
],
q(gumatj) => [
- q(2562),
+ q(2579),
q(0),
],
q(gumawana) => [
- q(2662),
+ q(2680),
q(0),
],
q(gumuz) => [
- q(2636),
+ q(2654),
q(0),
],
q(gun) => [
- q(2648),
+ q(2666),
q(0),
],
q(gundi) => [
- q(2450),
+ q(2463),
+ q(0),
+ ],
+ q(gunditjmara) => [
+ q(2537),
+ q(0),
+ ],
+ q(gundungurra) => [
+ q(7484),
q(0),
],
q(gungabula) => [
- q(2684),
+ q(2702),
q(0),
],
q(gungu) => [
- q(5834),
+ q(5869),
q(0),
],
q(guntai) => [
- q(2566),
+ q(2583),
q(0),
],
q(gunwinggu) => [
- q(2641),
+ q(2659),
q(0),
],
q(gunya) => [
- q(2691),
+ q(2709),
q(0),
],
q(gupa-abawa) => [
- q(2591),
+ q(2608),
q(0),
],
q(gupapuyngu) => [
- q(2632),
+ q(2650),
q(0),
],
q(guragone) => [
- q(2483),
+ q(2497),
q(0),
],
q(guramalum) => [
- q(2616),
+ q(2633),
q(0),
],
q(gurani) => [
- q(2697),
+ q(2715),
q(0),
],
q(gurdjar) => [
- q(2451),
+ q(2464),
q(0),
],
q(gureng gureng) => [
- q(2565),
+ q(2582),
q(0),
],
q(gurgula) => [
- q(2484),
+ q(2498),
q(0),
],
q(guriaso) => [
- q(2614),
+ q(2631),
q(0),
],
q(gurinji) => [
- q(2631),
+ q(2649),
q(0),
],
q(gurmana) => [
- q(2657),
+ q(2675),
q(0),
],
q(guro) => [
- q(2570),
+ q(2587),
q(0),
],
q(guruntum-mbaaru) => [
- q(2600),
+ q(2617),
q(0),
],
q(gusan) => [
- q(2621),
+ q(2638),
q(0),
],
q(gusii) => [
- q(2650),
+ q(2668),
q(0),
],
q(gusilay) => [
- q(2619),
+ q(2636),
+ q(0),
+ ],
+ q(guwa) => [
+ q(7356),
q(0),
],
q(guwamu) => [
- q(2676),
+ q(2694),
+ q(0),
+ ],
+ q(guwinmal) => [
+ q(7353),
q(0),
],
q(guya) => [
- q(2525),
+ q(2540),
q(0),
],
q(guyanese creole english) => [
- q(2689),
+ q(2707),
q(0),
],
q(guyani) => [
- q(2663),
+ q(2681),
q(0),
],
q(gvoko) => [
- q(4834),
+ q(4861),
q(0),
],
q(gwa) => [
- q(2665),
+ q(2683),
q(0),
],
q(gwahatike) => [
- q(1942),
+ q(1947),
q(0),
],
q(gwak) => [
- q(3066),
+ q(3090),
q(0),
],
q(gwamhi-wuri) => [
- q(1162),
+ q(1163),
q(0),
],
q(gwandara) => [
- q(2673),
+ q(2691),
q(0),
],
q(gweda) => [
- q(2613),
+ q(2630),
q(0),
],
q(gweno) => [
- q(2668),
+ q(2686),
q(0),
],
q(gwere) => [
- q(2674),
+ q(2692),
q(0),
],
q(gwich'in) => [
@@ -33538,39 +33964,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(gyele) => [
- q(2686),
+ q(2704),
q(0),
],
q(gyem) => [
- q(2683),
+ q(2701),
q(0),
],
q(ha) => [
- q(2710),
+ q(2728),
q(0),
],
q(habu) => [
- q(2721),
+ q(2739),
q(0),
],
q(hadiyya) => [
- q(2726),
+ q(2744),
q(0),
],
q(hadothi) => [
- q(2802),
+ q(2820),
q(0),
],
q(hadrami) => [
- q(7295),
+ q(7359),
q(0),
],
q(hadrami arabic) => [
- q(0999),
+ q(1000),
q(0),
],
q(hadza) => [
- q(2831),
+ q(2852),
q(0),
],
q(haeke) => [
@@ -33578,11 +34004,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hahon) => [
- q(2702),
+ q(2720),
q(0),
],
q(hai//om) => [
- q(2733),
+ q(2751),
q(0),
],
q(haida) => [
@@ -33590,15 +34016,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(haigwai) => [
- q(2734),
+ q(2752),
q(0),
],
q(haiphong sign language) => [
- q(2700),
+ q(2718),
q(0),
],
q(haisla) => [
- q(2712),
+ q(2730),
q(0),
],
q(haitian) => [
@@ -33607,158 +34033,162 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(haitian creole) => [
q(0170),
- q(0),
+ q(1),
],
q(haitian vodoun culture language) => [
- q(2857),
+ q(2878),
q(0),
],
q(haji) => [
- q(2751),
+ q(2769),
q(0),
],
q(hajong) => [
- q(2703),
+ q(2721),
q(0),
],
q(haka chin) => [
- q(1799),
+ q(1803),
q(0),
],
q(hakka chinese) => [
- q(2704),
+ q(2722),
q(0),
],
q(hako) => [
- q(2708),
+ q(2726),
q(0),
],
q(halang) => [
- q(2705),
+ q(2723),
q(0),
],
q(halang doan) => [
- q(2758),
+ q(2776),
q(0),
],
q(halbi) => [
- q(2757),
+ q(2775),
q(0),
],
q(halh mongolian) => [
- q(3319),
+ q(3343),
q(0),
],
q(halia) => [
- q(2756),
+ q(2774),
q(0),
],
q(halkomelem) => [
- q(2848),
+ q(2869),
q(0),
],
q(hamap) => [
- q(2780),
+ q(2798),
q(0),
],
q(hamba) => [
- q(2717),
+ q(2735),
q(0),
],
+ q(hamea) => [
+ q(1744),
+ q(1),
+ ],
q(hamer-banna) => [
q(0772),
q(0),
],
q(hamtai) => [
- q(2779),
+ q(2797),
q(0),
],
q(han) => [
- q(2695),
+ q(2713),
q(0),
],
q(hanga) => [
- q(2701),
+ q(2719),
q(0),
],
q(hanga hundi) => [
- q(7169),
+ q(7217),
q(0),
],
q(hangaza) => [
- q(2707),
+ q(2725),
q(0),
],
q(hani) => [
- q(2789),
+ q(2807),
q(0),
],
q(hano) => [
- q(3962),
+ q(3993),
q(0),
],
q(hanoi sign language) => [
- q(2696),
+ q(2714),
q(0),
],
q(hanunoo) => [
- q(2791),
+ q(2809),
q(0),
],
q(harami) => [
- q(7293),
+ q(7357),
q(0),
],
q(harari) => [
- q(2711),
+ q(2729),
q(0),
],
q(harijan kinnauri) => [
- q(3370),
+ q(3394),
q(0),
],
q(haroi) => [
- q(2820),
+ q(2839),
q(0),
],
q(haroti) => [
- q(2802),
- q(0),
+ q(2820),
+ q(1),
],
q(harsusi) => [
- q(2828),
+ q(2849),
q(0),
],
q(haruai) => [
- q(6558),
+ q(6597),
q(0),
],
q(haruku) => [
- q(2818),
+ q(2837),
q(0),
],
q(haryanvi) => [
- q(1164),
+ q(1165),
q(0),
],
q(harzani) => [
- q(2824),
+ q(2845),
q(0),
],
q(hasha) => [
- q(7523),
+ q(7611),
q(0),
],
q(hassaniyya) => [
- q(4198),
+ q(4230),
q(0),
],
q(hatam) => [
- q(2698),
+ q(2716),
q(0),
],
q(hattic) => [
- q(7298),
+ q(7362),
q(0),
],
q(hausa) => [
@@ -33766,27 +34196,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hausa sign language) => [
- q(2826),
+ q(2847),
q(0),
],
q(havasupai-walapai-yavapai) => [
- q(7683),
+ q(7775),
q(0),
],
q(haveke) => [
- q(2859),
+ q(2880),
q(0),
],
q(havu) => [
- q(2713),
+ q(2731),
q(0),
],
q(hawai'i creole english) => [
- q(2863),
+ q(2884),
q(0),
],
+ q(hawai'i pidgin) => [
+ q(2884),
+ q(1),
+ ],
q(hawai'i pidgin sign language) => [
- q(2815),
+ q(2833),
q(0),
],
q(hawaiian) => [
@@ -33794,15 +34228,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(haya) => [
- q(2715),
+ q(2733),
q(0),
],
q(hazaragi) => [
- q(2716),
+ q(2734),
q(0),
],
q(hdi) => [
- q(7277),
+ q(7336),
q(0),
],
q(hebrew) => [
@@ -33810,35 +34244,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hehe) => [
- q(2730),
+ q(2748),
q(0),
],
q(heiban) => [
- q(2719),
+ q(2737),
q(0),
],
q(heiltsuk) => [
- q(2731),
+ q(2749),
q(0),
],
q(helambu sherpa) => [
- q(5907),
+ q(5944),
q(0),
],
q(helong) => [
- q(2729),
+ q(2747),
q(0),
],
q(hema) => [
- q(4884),
+ q(4911),
q(0),
],
q(hemba) => [
- q(2732),
+ q(2750),
q(0),
],
q(herde) => [
- q(2728),
+ q(2746),
q(0),
],
q(herero) => [
@@ -33846,23 +34280,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hermit) => [
- q(3936),
+ q(3967),
q(0),
],
q(hernican) => [
- q(7297),
+ q(7361),
q(0),
],
q(hertevin) => [
- q(2821),
+ q(2841),
q(0),
],
q(heung kong sau yue) => [
- q(2755),
- q(0),
+ q(2773),
+ q(1),
],
q(hewa) => [
- q(2706),
+ q(2724),
q(0),
],
q(heyo) => [
@@ -33870,43 +34304,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hiberno-scottish gaelic) => [
- q(2494),
+ q(2507),
q(0),
],
q(hibito) => [
- q(2739),
+ q(2757),
q(0),
],
q(hidatsa) => [
- q(2740),
+ q(2758),
q(0),
],
q(hieroglyphic luwian) => [
- q(2761),
+ q(2779),
q(0),
],
q(higaonon) => [
- q(4102),
+ q(4135),
q(0),
],
q(highland konjo) => [
- q(3366),
+ q(3390),
q(0),
],
q(highland oaxaca chontal) => [
- q(1721),
+ q(1724),
q(0),
],
q(highland popoluca) => [
- q(5534),
+ q(5568),
q(0),
],
q(highland puebla nahuatl) => [
- q(1022),
+ q(1023),
q(0),
],
q(highland totonac) => [
- q(6617),
+ q(6656),
q(0),
],
q(hijazi arabic) => [
@@ -33914,7 +34348,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hijuk) => [
- q(2745),
+ q(2763),
q(0),
],
q(hiligaynon) => [
@@ -33926,7 +34360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(himarima) => [
- q(2748),
+ q(2766),
q(0),
],
q(hindi) => [
@@ -33934,11 +34368,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hinduri) => [
- q(2744),
+ q(2762),
q(0),
],
q(hinukh) => [
- q(2510),
+ q(2524),
q(0),
],
q(hiri motu) => [
@@ -33950,31 +34384,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hitu) => [
- q(2832),
+ q(2853),
q(0),
],
q(hiw) => [
- q(2749),
+ q(2767),
q(0),
],
q(hixkaryana) => [
- q(2750),
+ q(2768),
q(0),
],
q(hlai) => [
- q(3891),
+ q(3917),
q(0),
],
q(hlepho phowa) => [
- q(7560),
+ q(7651),
q(0),
],
q(hlersu) => [
- q(2759),
+ q(2777),
q(0),
],
q(hmar) => [
- q(2777),
+ q(2795),
q(0),
],
q(hmong) => [
@@ -33982,23 +34416,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hmong daw) => [
- q(4623),
+ q(4652),
q(0),
],
q(hmong do) => [
- q(2781),
+ q(2799),
q(0),
],
q(hmong don) => [
- q(2767),
+ q(2785),
q(0),
],
q(hmong njua) => [
- q(2790),
+ q(2808),
q(0),
],
q(hmong shua) => [
- q(2784),
+ q(2802),
q(0),
],
q(hmong-mien languages) => [
@@ -34006,31 +34440,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hmwaveke) => [
- q(4493),
+ q(4523),
q(0),
],
q(ho) => [
- q(2797),
+ q(2815),
q(0),
],
q(ho chi minh city sign language) => [
- q(2808),
+ q(2826),
q(0),
],
q(ho-chunk) => [
- q(7100),
+ q(7146),
q(0),
],
q(hoava) => [
- q(2795),
+ q(2813),
q(0),
],
q(hobyot) => [
- q(2800),
+ q(2818),
q(0),
],
q(hoia hoia) => [
- q(2735),
+ q(2753),
q(0),
],
q(hokan languages) => [
@@ -34038,219 +34472,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(holikachuk) => [
- q(2801),
+ q(2819),
q(0),
],
q(holiya) => [
- q(2812),
+ q(2830),
q(0),
],
q(holma) => [
- q(2798),
+ q(2816),
q(0),
],
q(holoholo) => [
- q(2805),
+ q(2823),
q(0),
],
q(holu) => [
- q(2803),
+ q(2821),
q(0),
],
q(homa) => [
- q(2804),
+ q(2822),
q(0),
],
q(honduras sign language) => [
- q(2725),
+ q(2743),
q(0),
],
q(hone) => [
- q(3128),
+ q(3152),
q(0),
],
q(hong kong sign language) => [
- q(2755),
+ q(2773),
q(0),
],
q(honi) => [
- q(2811),
+ q(2829),
q(0),
],
q(hopi) => [
- q(2806),
+ q(2824),
q(0),
],
q(horned miao) => [
- q(2819),
+ q(2838),
q(0),
],
q(horo) => [
- q(2807),
+ q(2825),
q(0),
],
q(horom) => [
- q(2799),
+ q(2817),
q(0),
],
q(horpa) => [
- q(2279),
+ q(2290),
q(0),
],
q(hote) => [
- q(2809),
+ q(2827),
q(0),
],
q(hoti) => [
- q(2829),
+ q(2850),
q(0),
],
q(hovongan) => [
- q(2810),
+ q(2828),
q(0),
],
q(hoyahoya) => [
- q(2737),
+ q(2755),
q(0),
],
q(hozo) => [
- q(2813),
+ q(2831),
q(0),
],
q(hpon) => [
- q(2814),
+ q(2832),
q(0),
],
q(hrangkhol) => [
- q(2816),
+ q(2834),
q(0),
],
q(hre) => [
- q(2817),
+ q(2836),
q(0),
],
q(hruso) => [
- q(2822),
+ q(2842),
q(0),
],
q(hu) => [
- q(2846),
+ q(2867),
q(0),
],
q(huachipaeri) => [
- q(2839),
+ q(2860),
q(0),
],
q(huallaga huanuco quechua) => [
- q(5654),
+ q(5688),
q(0),
],
q(huamalies-dos de mayo huanuco quechua) => [
- q(5677),
+ q(5711),
q(0),
],
q(huambisa) => [
- q(2834),
+ q(2855),
q(0),
],
q(huarijio) => [
- q(6946),
+ q(6989),
q(0),
],
q(huastec) => [
- q(2849),
+ q(2870),
q(0),
],
q(huaulu) => [
- q(2836),
+ q(2857),
q(0),
],
q(huautla mazatec) => [
- q(4097),
+ q(4130),
q(0),
],
q(huaxcaleca nahuatl) => [
- q(4856),
+ q(4883),
q(0),
],
q(huaylas ancash quechua) => [
- q(5691),
+ q(5725),
q(0),
],
q(huaylla wanca quechua) => [
- q(5686),
+ q(5720),
q(0),
],
q(huba) => [
- q(2718),
+ q(2736),
q(0),
],
q(huehuetla tepehua) => [
- q(6422),
+ q(6461),
q(0),
],
q(huichol) => [
- q(2723),
+ q(2741),
q(0),
],
q(huilliche) => [
- q(2840),
+ q(2861),
q(0),
],
q(huitepec mixtec) => [
- q(4645),
+ q(4674),
q(0),
],
q(huizhou chinese) => [
- q(1931),
+ q(1937),
q(0),
],
q(hukumina) => [
- q(2853),
+ q(2874),
q(0),
],
q(hula) => [
- q(2844),
+ q(2865),
q(0),
],
q(hulaula) => [
- q(2855),
+ q(2876),
q(0),
],
q(huli) => [
- q(2841),
+ q(2862),
q(0),
],
q(hulung) => [
- q(2843),
+ q(2864),
q(0),
],
q(humburi senni songhay) => [
- q(2763),
+ q(2781),
q(0),
],
q(humene) => [
- q(2838),
+ q(2859),
q(0),
],
q(humla) => [
- q(2850),
+ q(2871),
q(0),
],
q(hun-saare) => [
- q(2168),
+ q(2176),
q(0),
],
q(hunde) => [
- q(2753),
+ q(2771),
q(0),
],
q(hung) => [
- q(2794),
+ q(2812),
q(0),
],
q(hungana) => [
- q(2845),
+ q(2866),
q(0),
],
q(hungarian) => [
@@ -34258,27 +34692,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hungarian sign language) => [
- q(2825),
+ q(2846),
q(0),
],
q(hungworo) => [
- q(4716),
+ q(4744),
q(0),
],
q(hunjara-kaina ke) => [
- q(2754),
+ q(2772),
q(0),
],
q(hunnic) => [
- q(7294),
+ q(7358),
q(0),
],
q(hunsrik) => [
- q(2823),
+ q(2844),
q(0),
],
q(hunzib) => [
- q(2856),
+ q(2877),
q(0),
],
q(hupa) => [
@@ -34286,71 +34720,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(hupde) => [
- q(3135),
+ q(3159),
q(0),
],
q(hupla) => [
- q(2709),
+ q(2727),
q(0),
],
q(hurrian) => [
- q(7299),
+ q(7363),
q(0),
],
q(hutterisch) => [
- q(2467),
- q(0),
+ q(2481),
+ q(1),
],
q(hutterite german) => [
- q(2467),
+ q(2481),
q(0),
],
q(hwana) => [
- q(2864),
+ q(2885),
q(0),
],
q(hya) => [
- q(2865),
+ q(2886),
q(0),
],
q(hyam) => [
- q(3021),
+ q(3044),
q(0),
],
q(i'saka) => [
- q(3580),
- q(0),
+ q(3604),
+ q(1),
],
q(i-wak) => [
- q(3008),
+ q(3031),
q(0),
],
q(iaai) => [
- q(2866),
+ q(2887),
q(0),
],
q(iamalele) => [
- q(7612),
+ q(7702),
q(0),
],
q(iapama) => [
- q(2868),
+ q(2889),
q(0),
],
q(iatmul) => [
- q(2867),
+ q(2888),
q(0),
],
q(iau) => [
- q(6574),
+ q(6613),
q(0),
],
q(ibali teke) => [
- q(6427),
+ q(6466),
q(0),
],
q(ibaloi) => [
- q(2874),
+ q(2895),
q(0),
],
q(iban) => [
@@ -34358,35 +34792,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ibanag) => [
- q(2873),
+ q(2894),
q(0),
],
q(ibani) => [
- q(2879),
+ q(2900),
q(0),
],
q(ibatan) => [
- q(3006),
+ q(3029),
q(0),
],
q(iberian) => [
- q(7302),
+ q(7365),
q(0),
],
q(ibibio) => [
- q(2870),
+ q(2891),
q(0),
],
q(ibino) => [
- q(2876),
+ q(2897),
q(0),
],
q(ibu) => [
- q(2878),
+ q(2899),
q(0),
],
q(ibuoro) => [
- q(2877),
+ q(2898),
q(0),
],
q(icelandic) => [
@@ -34394,35 +34828,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(icelandic sign language) => [
- q(2882),
+ q(2903),
q(0),
],
q(iceve-maci) => [
- q(1118),
+ q(1119),
q(0),
],
q(ida'an) => [
- q(1962),
+ q(1967),
q(0),
],
q(idakho-isukha-tiriki) => [
- q(2884),
+ q(2905),
q(0),
],
q(idate) => [
- q(2892),
+ q(2913),
q(0),
],
q(idere) => [
- q(2888),
+ q(2909),
q(0),
],
q(idesa) => [
- q(2891),
+ q(2912),
q(0),
],
q(idi) => [
- q(2889),
+ q(2910),
q(0),
],
q(ido) => [
@@ -34430,35 +34864,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(idoma) => [
- q(2893),
+ q(2914),
q(0),
],
q(idon) => [
- q(2886),
+ q(2907),
q(0),
],
q(idu-mishmi) => [
- q(1776),
+ q(1780),
q(0),
],
q(iduna) => [
- q(6970),
+ q(7013),
q(0),
],
q(ife) => [
- q(2896),
+ q(2917),
q(0),
],
q(ifo) => [
- q(2897),
+ q(2918),
q(0),
],
q(igala) => [
- q(2905),
+ q(2926),
q(0),
],
q(igana) => [
- q(2904),
+ q(2925),
q(0),
],
q(igbo) => [
@@ -34466,11 +34900,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(igede) => [
- q(2903),
+ q(2924),
q(0),
],
q(ignaciano) => [
- q(2907),
+ q(2928),
q(0),
],
q(igo) => [
@@ -34478,27 +34912,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(iguta) => [
- q(4714),
+ q(4742),
q(0),
],
q(igwe) => [
- q(2910),
+ q(2931),
q(0),
],
q(iha) => [
- q(2913),
+ q(2934),
q(0),
],
q(iha based pidgin) => [
- q(2911),
+ q(2932),
q(0),
],
q(ihievbe) => [
- q(2912),
+ q(2933),
q(0),
],
q(ija-zuba) => [
- q(6972),
+ q(7015),
q(0),
],
q(ijo languages) => [
@@ -34506,75 +34940,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ik) => [
- q(2929),
+ q(2952),
q(0),
],
q(ika) => [
- q(2922),
+ q(2944),
+ q(0),
+ ],
+ q(ikaranggal) => [
+ q(2948),
q(0),
],
q(ikizu) => [
- q(2930),
+ q(2953),
q(0),
],
q(iko) => [
- q(2921),
+ q(2943),
q(0),
],
q(ikobi) => [
- q(4177),
+ q(4210),
q(0),
],
q(ikoma-nata-isenye) => [
- q(5070),
+ q(5102),
q(0),
],
q(ikpeng) => [
- q(6787),
+ q(6826),
q(0),
],
q(ikpeshi) => [
- q(2925),
+ q(2947),
q(0),
],
q(ikposo) => [
- q(3515),
+ q(3539),
q(0),
],
q(iku-gora-ankwa) => [
- q(2927),
+ q(2950),
q(0),
],
q(ikulu) => [
- q(2923),
+ q(2945),
q(0),
],
q(ikwere) => [
- q(2928),
+ q(2951),
+ q(0),
+ ],
+ q(ikwo) => [
+ q(2989),
q(0),
],
q(ila) => [
- q(2932),
+ q(2955),
q(0),
],
q(ile ape) => [
- q(2931),
+ q(2954),
q(0),
],
q(ili turki) => [
- q(2934),
+ q(2957),
q(0),
],
q(ili'uun) => [
- q(2938),
+ q(2961),
q(0),
],
q(ilianen manobo) => [
- q(4109),
+ q(4142),
q(0),
],
q(illyrian) => [
- q(7304),
+ q(7367),
q(0),
],
q(iloko) => [
@@ -34582,39 +35024,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ilongot) => [
- q(2935),
+ q(2958),
q(0),
],
q(ilue) => [
- q(2939),
+ q(2962),
q(0),
],
q(ilwana) => [
- q(4353),
+ q(4384),
q(0),
],
q(imbabura highland quichua) => [
- q(5678),
+ q(5712),
q(0),
],
q(imbongu) => [
- q(2946),
+ q(2968),
q(0),
],
q(imeraguen) => [
- q(2942),
+ q(2964),
q(0),
],
q(imonda) => [
- q(2945),
+ q(2967),
q(0),
],
q(imperial aramaic (700-300 bce)) => [
q(0022),
- q(0),
+ q(1),
],
q(imroing) => [
- q(2947),
+ q(2969),
q(0),
],
q(inabaknon) => [
@@ -34622,11 +35064,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(inapang) => [
- q(4694),
+ q(4722),
q(0),
],
q(inapari) => [
- q(2957),
+ q(2979),
q(0),
],
q(inari sami) => [
@@ -34634,7 +35076,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(indian sign language) => [
- q(2958),
+ q(2980),
q(0),
],
q(indic languages) => [
@@ -34650,7 +35092,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(indo-portuguese) => [
- q(2885),
+ q(2906),
q(0),
],
q(indonesian) => [
@@ -34658,39 +35100,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(indonesian bajau) => [
- q(1101),
+ q(1102),
q(0),
],
q(indonesian sign language) => [
- q(2953),
+ q(2975),
q(0),
],
q(indri) => [
- q(2890),
+ q(2911),
q(0),
],
q(indus kohistani) => [
- q(4601),
+ q(4631),
q(0),
],
q(indus valley language) => [
- q(7308),
+ q(7371),
q(0),
],
q(inebu one) => [
- q(5193),
+ q(5225),
q(0),
],
q(ineseno) => [
- q(2960),
+ q(2982),
q(0),
],
q(inga) => [
- q(2950),
+ q(2972),
q(0),
],
q(ingrian) => [
- q(3017),
+ q(3040),
q(0),
],
q(ingush) => [
@@ -34698,27 +35140,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(inlaod itneg) => [
- q(2992),
+ q(3015),
q(0),
],
q(inoke-yate) => [
- q(2956),
+ q(2978),
q(0),
],
q(inonhan) => [
- q(3991),
+ q(4023),
q(0),
],
q(inor) => [
- q(2961),
+ q(2983),
q(0),
],
q(inpui naga) => [
- q(4909),
+ q(4936),
q(0),
],
q(interglossa) => [
- q(2909),
+ q(2930),
q(0),
],
q(interlingua (international auxiliary language association)) => [
@@ -34730,15 +35172,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(international sign) => [
- q(2937),
+ q(2960),
q(0),
],
q(intha) => [
- q(2959),
+ q(2981),
q(0),
],
q(inuinnaqtun) => [
- q(2926),
+ q(2949),
q(0),
],
q(inuktitut) => [
@@ -34750,19 +35192,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(iowa-oto) => [
- q(2963),
+ q(2985),
q(0),
],
q(ipalapa amuzgo) => [
- q(1018),
+ q(1019),
q(0),
],
q(ipiko) => [
- q(2965),
+ q(2987),
q(0),
],
q(ipili) => [
- q(2964),
+ q(2986),
q(0),
],
q(ipulo) => [
@@ -34770,11 +35212,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(iquito) => [
- q(2966),
+ q(2988),
q(0),
],
q(ir) => [
- q(2972),
+ q(2995),
q(0),
],
q(iranian languages) => [
@@ -34782,35 +35224,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(iranian persian) => [
- q(5394),
+ q(5426),
q(0),
],
q(irantxe) => [
- q(2971),
+ q(2994),
q(0),
],
q(iranun) => [
- q(2936),
+ q(2959),
q(0),
],
q(iraqw) => [
- q(2970),
+ q(2993),
q(0),
],
q(irarutu) => [
- q(2968),
+ q(2991),
q(0),
],
q(iraya) => [
- q(2975),
+ q(2998),
q(0),
],
q(iresim) => [
- q(2967),
+ q(2990),
q(0),
],
q(irigwe) => [
- q(2969),
+ q(2992),
q(0),
],
q(irish) => [
@@ -34818,7 +35260,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(irish sign language) => [
- q(2980),
+ q(3003),
q(0),
],
q(irish, middle (900-1200)) => [
@@ -34834,15 +35276,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(irula) => [
- q(2973),
+ q(2996),
q(0),
],
q(isabi) => [
- q(2976),
+ q(2999),
q(0),
],
q(isanzu) => [
- q(2985),
+ q(3008),
q(0),
],
q(isarog agta) => [
@@ -34850,83 +35292,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(isconahua) => [
- q(2977),
+ q(3000),
q(0),
],
q(isebe) => [
- q(2908),
+ q(2929),
q(0),
],
q(isekiri) => [
- q(2998),
+ q(3021),
q(0),
],
q(ishkashimi) => [
- q(2983),
+ q(3006),
q(0),
],
q(isinai) => [
- q(2955),
+ q(2977),
q(0),
],
q(isirawa) => [
- q(6189),
+ q(6226),
q(0),
],
q(island carib) => [
- q(1844),
+ q(1849),
q(0),
],
q(islander creole english) => [
- q(2883),
+ q(2904),
q(0),
],
q(isnag) => [
- q(2978),
+ q(3001),
q(0),
],
q(isoko) => [
- q(2986),
+ q(3009),
q(0),
],
q(israeli sign language) => [
- q(2987),
+ q(3010),
q(0),
],
q(isthmus mixe) => [
- q(4290),
+ q(4322),
q(0),
],
q(isthmus zapotec) => [
- q(7724),
+ q(7822),
q(0),
],
q(isthmus-cosoleacaque nahuatl) => [
- q(4851),
+ q(4878),
q(0),
],
q(isthmus-mecayapan nahuatl) => [
- q(4862),
+ q(4889),
q(0),
],
q(isthmus-pajapan nahuatl) => [
- q(4855),
+ q(4882),
q(0),
],
q(istriot) => [
- q(2988),
+ q(3011),
q(0),
],
q(istro romanian) => [
- q(5842),
+ q(5877),
q(0),
],
q(isu (fako division)) => [
- q(6324),
+ q(6363),
q(0),
],
q(isu (menchum division)) => [
- q(2989),
+ q(3012),
q(0),
],
q(italian) => [
@@ -34934,7 +35376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(italian sign language) => [
- q(2979),
+ q(3002),
q(0),
],
q(italic languages) => [
@@ -34942,51 +35384,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(itawit) => [
- q(3000),
+ q(3023),
q(0),
],
q(itelmen) => [
- q(2994),
+ q(3017),
q(0),
],
q(itene) => [
- q(2991),
+ q(3014),
q(0),
],
q(iteri) => [
- q(2997),
+ q(3020),
q(0),
],
q(itik) => [
- q(3002),
+ q(3025),
q(0),
],
q(ito) => [
- q(3001),
+ q(3024),
q(0),
],
q(itonama) => [
- q(2996),
+ q(3019),
q(0),
],
q(itu mbon uzo) => [
- q(2995),
+ q(3018),
q(0),
],
q(itundujia mixtec) => [
- q(4131),
+ q(4164),
q(0),
],
q(itza) => [
- q(3004),
+ q(3027),
q(0),
],
q(iu mien) => [
- q(3005),
+ q(3028),
q(0),
],
q(ivatan) => [
- q(3007),
+ q(3030),
q(0),
],
q(ivbie north-okpela-arhe) => [
@@ -34994,167 +35436,171 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(iwaidja) => [
- q(2871),
+ q(2892),
q(0),
],
q(iwal) => [
- q(3173),
+ q(3197),
q(0),
],
q(iwam) => [
- q(3009),
+ q(3032),
q(0),
],
q(iwur) => [
- q(3010),
+ q(3033),
q(0),
],
q(ixcatec) => [
- q(3012),
+ q(3035),
q(0),
],
q(ixcatlan mazatec) => [
- q(4682),
+ q(4710),
q(0),
],
q(ixil) => [
- q(3013),
+ q(3036),
q(0),
],
q(ixtayutla mixtec) => [
- q(6992),
+ q(7035),
q(0),
],
q(ixtenco otomi) => [
- q(5307),
+ q(5340),
q(0),
],
q(iyayu) => [
- q(3014),
+ q(3037),
q(0),
],
q(iyive) => [
- q(6845),
+ q(6885),
q(0),
],
q(iyo) => [
- q(4744),
+ q(4771),
q(0),
],
q(iyo'wujwa chorote) => [
- q(1856),
+ q(1861),
q(0),
],
q(iyojwa'ja chorote) => [
- q(1859),
+ q(1864),
q(0),
],
q(izere) => [
- q(3019),
+ q(3041),
q(0),
],
- q(izi-ezaa-ikwo-mgbo) => [
- q(3018),
+ q(izii) => [
+ q(3042),
q(0),
],
q(izon) => [
- q(2915),
+ q(2937),
q(0),
],
q(izora) => [
- q(1673),
+ q(1676),
q(0),
],
q(jabuti) => [
- q(3045),
+ q(3069),
q(0),
],
q(jad) => [
- q(3050),
+ q(3074),
q(0),
],
q(jadgali) => [
- q(3051),
+ q(3075),
q(0),
],
q(jah hut) => [
- q(3026),
+ q(3049),
q(0),
],
q(jahanka) => [
- q(3023),
+ q(3046),
q(0),
],
q(jair awyu) => [
q(0983),
q(0),
],
- q(jakalteko) => [
- q(3022),
+ q(jaitmatang) => [
+ q(7374),
q(0),
],
+ q(jakalteko) => [
+ q(3045),
+ q(1),
+ ],
q(jakati) => [
- q(3035),
+ q(3058),
q(0),
],
q(jakun) => [
- q(3028),
+ q(3051),
q(0),
],
q(jalapa de diaz mazatec) => [
- q(4093),
+ q(4126),
q(0),
],
q(jalkunan) => [
- q(1578),
+ q(1581),
q(0),
],
q(jamaican country sign language) => [
- q(3048),
+ q(3072),
q(0),
],
q(jamaican creole english) => [
- q(3030),
+ q(3053),
q(0),
],
q(jamaican sign language) => [
- q(3093),
+ q(3117),
q(0),
],
q(jamamadi) => [
- q(3020),
+ q(3043),
q(0),
],
q(jambi malay) => [
- q(3037),
+ q(3060),
q(0),
],
q(jamiltepec mixtec) => [
- q(4646),
+ q(4675),
q(0),
],
q(jamsay dogon) => [
- q(2066),
+ q(2071),
q(0),
],
q(jandai) => [
- q(3031),
+ q(3054),
q(0),
],
q(jandavra) => [
- q(3106),
+ q(3130),
q(0),
],
q(jangkang) => [
- q(2068),
+ q(2073),
q(0),
],
q(jangshung) => [
- q(3105),
+ q(3129),
q(0),
],
q(janji) => [
- q(3108),
+ q(3132),
q(0),
],
q(japanese) => [
@@ -35166,23 +35612,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(japanese sign language) => [
- q(3123),
+ q(3147),
q(0),
],
q(japreria) => [
- q(3122),
+ q(3146),
q(0),
],
q(jaqaru) => [
- q(3118),
+ q(3142),
q(0),
],
q(jara) => [
- q(3025),
+ q(3048),
q(0),
],
q(jarai) => [
- q(3119),
+ q(3143),
q(0),
],
q(jarawa (india)) => [
@@ -35190,15 +35636,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(jaru) => [
- q(1982),
+ q(1987),
q(0),
],
q(jauja wanca quechua) => [
- q(5707),
+ q(5741),
q(0),
],
q(jaunsari) => [
- q(3111),
+ q(3135),
q(0),
],
q(javanese) => [
@@ -35206,83 +35652,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(javindo) => [
- q(3142),
+ q(3166),
q(0),
],
q(jawe) => [
- q(3039),
+ q(3062),
q(0),
],
q(jaya) => [
- q(3147),
+ q(3171),
q(0),
],
q(jebero) => [
- q(3053),
+ q(3077),
q(0),
],
q(jeh) => [
- q(3056),
+ q(3080),
q(0),
],
q(jehai) => [
- q(3068),
+ q(3092),
q(0),
],
q(jemez) => [
- q(6620),
+ q(6659),
q(0),
],
q(jenaama bozo) => [
- q(1619),
+ q(1622),
q(0),
],
q(jeng) => [
- q(3055),
+ q(3079),
q(0),
],
q(jennu kurumba) => [
- q(7465),
+ q(7541),
q(0),
],
q(jere) => [
- q(3061),
+ q(3085),
q(0),
],
q(jeri kuo) => [
- q(3058),
+ q(3082),
q(0),
],
q(jerung) => [
- q(3054),
+ q(3078),
q(0),
],
q(jewish babylonian aramaic (ca. 200-1200 ce)) => [
- q(6571),
+ q(6610),
q(0),
],
q(jewish palestinian aramaic) => [
- q(3117),
+ q(3141),
q(0),
],
q(jhankot sign language) => [
- q(3069),
+ q(3093),
q(0),
],
q(jiamao) => [
- q(3080),
+ q(3104),
q(0),
],
q(jiarong) => [
- q(3145),
+ q(3169),
q(0),
],
q(jiba) => [
- q(3134),
+ q(3158),
q(0),
],
q(jibu) => [
- q(3071),
+ q(3095),
q(0),
],
q(jicarilla apache) => [
@@ -35290,103 +35736,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(jiiddu) => [
- q(3077),
+ q(3101),
q(0),
],
q(jilbe) => [
- q(3074),
+ q(3098),
q(0),
],
q(jilim) => [
- q(3078),
+ q(3102),
q(0),
],
q(jimi (cameroon)) => [
- q(3079),
+ q(3103),
q(0),
],
q(jimi (nigeria)) => [
- q(3098),
+ q(3122),
q(0),
],
q(jina) => [
- q(3070),
+ q(3094),
q(0),
],
q(jingpho) => [
q(0210),
- q(0),
+ q(1),
],
q(jinyu chinese) => [
- q(1755),
+ q(1758),
q(0),
],
q(jiongnai bunu) => [
- q(5522),
+ q(5556),
q(0),
],
q(jirel) => [
- q(3131),
+ q(3155),
q(0),
],
q(jiru) => [
- q(3120),
+ q(3144),
q(0),
],
q(jita) => [
- q(3082),
+ q(3106),
q(0),
],
q(jju) => [
- q(3154),
+ q(3178),
q(0),
],
q(joba) => [
- q(3112),
+ q(3136),
q(0),
],
q(jofotek-bromnya) => [
- q(3044),
+ q(3068),
q(0),
],
q(jola-fonyi) => [
- q(2201),
+ q(2209),
q(0),
],
q(jola-kasa) => [
- q(1873),
+ q(1879),
q(0),
],
q(jonkor bourmataguil) => [
- q(3063),
+ q(3087),
q(0),
],
q(jora) => [
- q(3114),
+ q(3138),
q(0),
],
q(jordanian sign language) => [
- q(3115),
+ q(3139),
q(0),
],
q(jorto) => [
- q(3121),
+ q(3145),
q(0),
],
q(jowulu) => [
- q(3116),
+ q(3140),
q(0),
],
q(ju) => [
- q(3139),
+ q(3163),
q(0),
],
q(ju/'hoan) => [
- q(3623),
+ q(3647),
q(0),
],
q(juang) => [
- q(3133),
+ q(3157),
q(0),
],
q(judeo-arabic) => [
@@ -35394,19 +35840,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(judeo-berber) => [
- q(3040),
+ q(3063),
q(0),
],
q(judeo-georgian) => [
- q(3065),
+ q(3089),
q(0),
],
q(judeo-iraqi arabic) => [
- q(7559),
+ q(7650),
q(0),
],
q(judeo-italian) => [
- q(2993),
+ q(3016),
q(0),
],
q(judeo-moroccan arabic) => [
@@ -35418,11 +35864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(judeo-tat) => [
- q(3052),
+ q(3076),
q(0),
],
q(judeo-tripolitanian arabic) => [
- q(7681),
+ q(7773),
q(0),
],
q(judeo-tunisian arabic) => [
@@ -35430,99 +35876,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(judeo-yemeni arabic) => [
- q(3146),
+ q(3170),
q(0),
],
q(jukun takum) => [
- q(3046),
+ q(3070),
q(0),
],
q(juma) => [
- q(3124),
+ q(3148),
q(0),
],
q(jumjum) => [
- q(3132),
+ q(3156),
q(0),
],
q(jumla sign language) => [
- q(3137),
+ q(3161),
q(0),
],
q(jumli) => [
- q(3099),
+ q(3123),
q(0),
],
q(jungle inga) => [
- q(2952),
+ q(2974),
q(0),
],
q(juquila mixe) => [
- q(4643),
+ q(4672),
q(0),
],
q(jur modo) => [
- q(1134),
+ q(1135),
q(0),
],
q(juray) => [
- q(3141),
+ q(3165),
q(0),
],
q(jurchen) => [
- q(3126),
+ q(3150),
q(0),
],
q(juruna) => [
- q(3136),
+ q(3160),
q(0),
],
q(jutish) => [
- q(3138),
+ q(3162),
q(0),
],
q(juwal) => [
- q(4604),
+ q(4634),
q(0),
],
q(juxtlahuaca mixtec) => [
- q(6985),
+ q(7028),
q(0),
],
q(jwira-pepesa) => [
- q(3144),
+ q(3168),
q(0),
],
q(k'iche') => [
- q(5655),
+ q(5689),
q(0),
],
q(kaamba) => [
- q(7329),
+ q(7394),
q(0),
],
q(kaan) => [
- q(3832),
+ q(3858),
+ q(0),
+ ],
+ q(kaang chin) => [
+ q(1762),
q(0),
],
q(kaansa) => [
- q(2551),
+ q(2568),
q(0),
],
q(kaapor) => [
- q(6892),
- q(0),
+ q(6935),
+ q(1),
],
q(kaapor sign language) => [
- q(6853),
- q(0),
+ q(6893),
+ q(1),
],
q(kaba) => [
- q(3587),
+ q(3611),
q(0),
],
q(kabalai) => [
- q(3650),
+ q(3674),
q(0),
],
q(kabardian) => [
@@ -35530,47 +35980,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kabatei) => [
- q(7324),
+ q(7389),
q(0),
],
q(kabixi) => [
- q(7257),
+ q(7313),
q(0),
],
q(kabiye) => [
- q(3176),
+ q(3200),
q(0),
],
q(kabola) => [
- q(3431),
+ q(3455),
q(0),
],
q(kabore one) => [
- q(5247),
+ q(5280),
q(0),
],
q(kabras) => [
- q(3917),
+ q(3946),
q(0),
],
q(kaburi) => [
- q(6847),
+ q(6887),
q(0),
],
q(kabutra) => [
- q(3181),
+ q(3205),
q(0),
],
q(kabuverdianu) => [
- q(3235),
+ q(3259),
q(0),
],
q(kabwa) => [
- q(1922),
+ q(1928),
q(0),
],
q(kabwari) => [
- q(3209),
+ q(3233),
q(0),
],
q(kabyle) => [
@@ -35578,19 +36028,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kachama-ganjule) => [
- q(3210),
+ q(3234),
q(0),
],
q(kachari) => [
- q(7231),
+ q(7282),
q(0),
],
q(kachchi) => [
- q(3278),
+ q(3302),
q(0),
],
q(kachi koli) => [
- q(2522),
+ q(2536),
q(0),
],
q(kachin) => [
@@ -35598,71 +36048,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kacipo-balesi) => [
- q(3485),
+ q(3509),
q(0),
],
q(kaco') => [
- q(7320),
+ q(7385),
q(0),
],
q(kadai) => [
- q(3751),
+ q(3775),
q(0),
],
q(kadar) => [
- q(3244),
+ q(3268),
q(0),
],
q(kadaru) => [
- q(3230),
+ q(3254),
q(0),
],
q(kadiweu) => [
- q(3164),
+ q(3188),
q(0),
],
q(kadu) => [
- q(7771),
+ q(7869),
q(0),
],
q(kaduo) => [
- q(3613),
+ q(3637),
q(0),
],
q(kafa) => [
- q(3178),
+ q(3202),
q(0),
],
q(kafoa) => [
- q(3520),
+ q(3544),
q(0),
],
q(kagan kalagan) => [
- q(3417),
+ q(3441),
q(0),
],
q(kagate) => [
- q(6313),
+ q(6352),
q(0),
],
q(kagayanen) => [
- q(1717),
+ q(1720),
q(0),
],
q(kagoma) => [
- q(3224),
+ q(3248),
q(0),
],
q(kagoro) => [
- q(7316),
+ q(7381),
q(0),
],
q(kagulu) => [
- q(3388),
+ q(3412),
q(0),
],
q(kahe) => [
- q(2752),
+ q(2770),
q(0),
],
q(kahua) => [
@@ -35670,199 +36120,203 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kaian) => [
- q(3206),
+ q(3230),
q(0),
],
q(kaibobo) => [
- q(3749),
+ q(3773),
q(0),
],
q(kaidipang) => [
- q(3762),
+ q(3786),
q(0),
],
q(kaiep) => [
- q(3183),
+ q(3207),
q(0),
],
q(kaikadi) => [
- q(3250),
+ q(3274),
q(0),
],
q(kaike) => [
- q(3763),
+ q(3787),
q(0),
],
q(kaiku) => [
- q(3396),
+ q(3420),
q(0),
],
q(kaimbe) => [
- q(7235),
+ q(7286),
q(0),
],
q(kaimbulawa) => [
- q(7769),
+ q(7867),
q(0),
],
q(kaingang) => [
- q(3301),
+ q(3325),
q(0),
],
q(kairak) => [
- q(1761),
+ q(1765),
q(0),
],
q(kairiru) => [
- q(3697),
+ q(3721),
q(0),
],
q(kairui-midiki) => [
- q(3554),
+ q(3578),
q(0),
],
q(kais) => [
- q(3759),
+ q(3783),
q(0),
],
q(kaivi) => [
- q(3191),
+ q(3215),
q(0),
],
q(kaiwa) => [
- q(3296),
+ q(3320),
q(0),
],
q(kaiy) => [
- q(6388),
+ q(6427),
q(0),
],
q(kajakse) => [
- q(1760),
+ q(1764),
q(0),
],
q(kajali) => [
- q(7319),
+ q(7384),
q(0),
],
q(kajaman) => [
- q(3151),
+ q(3175),
q(0),
],
q(kakabai) => [
- q(3531),
+ q(3555),
q(0),
],
q(kakabe) => [
- q(3384),
+ q(3408),
q(0),
],
q(kakanda) => [
- q(3380),
+ q(3404),
q(0),
],
q(kakauhua) => [
- q(3166),
+ q(3190),
q(0),
],
q(kaki ae) => [
- q(6351),
+ q(6390),
q(0),
],
q(kakihum) => [
- q(3701),
+ q(3725),
q(0),
],
q(kako) => [
- q(3389),
+ q(3413),
q(0),
],
q(kakwa) => [
- q(3249),
+ q(3273),
q(0),
],
q(kala) => [
- q(3198),
- q(0),
+ q(3222),
+ q(1),
],
q(kala lagaw ya) => [
- q(4617),
+ q(4646),
q(0),
],
q(kalaallisut) => [
q(0211),
q(0),
],
+ q(kalaamaya) => [
+ q(3954),
+ q(0),
+ ],
q(kalabakan) => [
- q(3649),
+ q(3673),
q(0),
],
q(kalabari) => [
- q(2918),
+ q(2940),
q(0),
],
q(kalabra) => [
- q(3772),
+ q(3796),
q(0),
],
q(kalagan) => [
- q(3530),
+ q(3554),
q(0),
],
q(kalaktang monpa) => [
- q(3385),
+ q(3409),
q(0),
],
q(kalam) => [
- q(3438),
+ q(3462),
q(0),
],
q(kalami) => [
- q(2666),
+ q(2684),
q(0),
],
q(kalamse) => [
- q(3481),
+ q(3505),
q(0),
],
q(kalanadi) => [
- q(7111),
+ q(7156),
q(0),
],
q(kalanga) => [
- q(3197),
+ q(3221),
q(0),
],
q(kalao) => [
- q(3430),
+ q(3454),
q(0),
],
q(kalapuya) => [
- q(3733),
+ q(3757),
q(0),
],
q(kalarko) => [
- q(3162),
+ q(3186),
q(0),
],
q(kalasha) => [
- q(3424),
+ q(3448),
q(0),
],
q(kalenjin) => [
- q(3419),
+ q(3443),
q(0),
],
q(kalispel-pend d'oreille) => [
- q(2344),
+ q(2356),
q(0),
],
q(kalkoti) => [
- q(7310),
+ q(7375),
q(0),
],
q(kalkutung) => [
- q(3604),
+ q(3628),
q(0),
],
q(kalmyk) => [
@@ -35870,75 +36324,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kalo finnish romani) => [
- q(5783),
+ q(5818),
q(0),
],
q(kalou) => [
- q(7702),
+ q(7794),
q(0),
],
q(kaluli) => [
- q(1079),
+ q(1080),
q(0),
],
q(kalumpang) => [
- q(3414),
+ q(3438),
q(0),
],
q(kam) => [
- q(3232),
+ q(3256),
q(0),
],
q(kamakan) => [
- q(6976),
+ q(7019),
q(0),
],
q(kamang) => [
- q(7163),
+ q(7211),
q(0),
],
q(kamano) => [
- q(3177),
+ q(3201),
q(0),
],
q(kamantan) => [
- q(3195),
+ q(3219),
q(0),
],
q(kamar) => [
- q(3251),
+ q(3275),
q(0),
],
q(kamara) => [
- q(3101),
+ q(3125),
q(0),
],
q(kamarian) => [
- q(3770),
+ q(3794),
q(0),
],
q(kamaru) => [
- q(3309),
+ q(3333),
q(0),
],
q(kamas) => [
- q(7242),
+ q(7293),
q(0),
],
q(kamasa) => [
- q(3421),
+ q(3445),
q(0),
],
q(kamasau) => [
- q(3449),
+ q(3473),
q(0),
],
q(kamayo) => [
- q(3732),
+ q(3756),
q(0),
],
q(kamayura) => [
- q(3161),
+ q(3185),
q(0),
],
q(kamba) => [
@@ -35946,7 +36400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kamba (brazil)) => [
- q(7248),
+ q(7299),
q(0),
],
q(kamba (kenya)) => [
@@ -35954,175 +36408,175 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(kambaata) => [
- q(3599),
+ q(3623),
q(0),
],
q(kambaira) => [
- q(3746),
+ q(3770),
q(0),
],
q(kambera) => [
- q(7255),
+ q(7311),
q(0),
],
q(kamberau) => [
- q(2974),
+ q(2997),
q(0),
],
q(kambiwa) => [
- q(7256),
+ q(7312),
q(0),
],
q(kami (nigeria)) => [
- q(3439),
+ q(3463),
q(0),
],
q(kami (tanzania)) => [
- q(3207),
+ q(3231),
q(0),
],
q(kamo) => [
- q(3203),
+ q(3227),
q(0),
],
q(kamoro) => [
- q(3302),
+ q(3326),
q(0),
],
q(kamta) => [
- q(5777),
- q(0),
+ q(5811),
+ q(1),
],
q(kamu) => [
- q(7367),
+ q(7432),
q(0),
],
q(kamula) => [
- q(7335),
+ q(7400),
q(0),
],
q(kamviri) => [
- q(7474),
+ q(7551),
q(0),
],
q(kamwe) => [
- q(2742),
+ q(2760),
q(0),
],
q(kanakanabu) => [
- q(7374),
+ q(7439),
q(0),
],
q(kanamari) => [
- q(3468),
+ q(3492),
q(0),
],
q(kanan) => [
- q(7775),
+ q(7873),
q(0),
],
q(kanashi) => [
- q(7380),
+ q(7447),
q(0),
],
q(kanasi) => [
- q(6141),
+ q(6178),
q(0),
],
q(kanauji) => [
- q(1240),
+ q(1241),
q(0),
],
q(kandas) => [
- q(3548),
+ q(3572),
q(0),
],
q(kandawo) => [
- q(2400),
+ q(2412),
q(0),
],
q(kande) => [
- q(3179),
+ q(3203),
q(0),
],
q(kanembu) => [
- q(3172),
+ q(3196),
q(0),
],
q(kang) => [
- q(3737),
+ q(3761),
q(0),
],
q(kanga) => [
- q(3202),
+ q(3226),
q(0),
],
q(kangean) => [
- q(3401),
+ q(3425),
q(0),
],
q(kanggape) => [
- q(2906),
+ q(2927),
q(0),
],
q(kangjia) => [
- q(3714),
+ q(3738),
q(0),
],
q(kango (bas-uele district)) => [
- q(3622),
+ q(3646),
q(0),
],
q(kango (tshopo district)) => [
- q(3771),
+ q(3795),
q(0),
],
q(kangri) => [
- q(7379),
+ q(7446),
q(0),
],
q(kaniet) => [
- q(3608),
+ q(3632),
q(0),
],
q(kanikkaran) => [
- q(3256),
+ q(3280),
q(0),
],
q(kaningdon-nindem) => [
- q(3226),
+ q(3250),
q(0),
],
q(kaningi) => [
- q(3761),
+ q(3785),
q(0),
],
q(kaningra) => [
- q(3473),
+ q(3497),
q(0),
],
q(kaninuwa) => [
- q(7036),
+ q(7079),
q(0),
],
q(kanite) => [
- q(3451),
+ q(3475),
q(0),
],
q(kanjari) => [
- q(3280),
+ q(3304),
q(0),
],
q(kanjobal) => [
- q(3357),
- q(0),
+ q(3381),
+ q(1),
],
q(kanju) => [
- q(3165),
+ q(3189),
q(0),
],
q(kankanaey) => [
- q(3461),
+ q(3485),
q(0),
],
q(kannada) => [
@@ -36130,31 +36584,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kannada kurumba) => [
- q(3269),
+ q(3293),
q(0),
],
q(kanoe) => [
- q(3710),
+ q(3734),
q(0),
],
q(kanowit-tanjong melanau) => [
- q(3709),
+ q(3733),
q(0),
],
q(kansa) => [
- q(3582),
+ q(3606),
q(0),
],
q(kantosi) => [
- q(7328),
+ q(7393),
q(0),
],
q(kanu) => [
- q(3330),
+ q(3354),
q(0),
],
q(kanufi) => [
- q(3464),
+ q(3488),
q(0),
],
q(kanuri) => [
@@ -36162,75 +36616,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kanyok) => [
- q(3480),
+ q(3504),
q(0),
],
q(kao) => [
- q(3160),
+ q(3184),
q(0),
],
q(kaonde) => [
- q(3539),
+ q(3563),
q(0),
],
q(kap) => [
- q(7585),
+ q(7675),
q(0),
],
q(kapampangan) => [
q(0337),
- q(0),
+ q(1),
],
q(kapauri) => [
- q(3322),
- q(0),
+ q(3346),
+ q(1),
],
q(kapin) => [
- q(6370),
+ q(6409),
q(0),
],
q(kapinawa) => [
- q(7401),
+ q(7471),
q(0),
],
q(kapingamarangi) => [
- q(3507),
+ q(3531),
q(0),
],
q(kapori) => [
- q(3322),
+ q(3346),
q(0),
],
q(kapriman) => [
- q(2070),
+ q(2075),
q(0),
],
q(kaptiau) => [
- q(3169),
+ q(3193),
q(0),
],
q(kapya) => [
- q(3420),
+ q(3444),
q(0),
],
q(kaqchikel) => [
- q(1649),
+ q(1652),
q(0),
],
q(kara (central african republic)) => [
- q(3152),
+ q(3176),
q(0),
],
q(kara (korea)) => [
- q(7852),
+ q(7950),
q(0),
],
q(kara (papua new guinea)) => [
- q(3858),
+ q(3884),
q(0),
],
q(kara (tanzania)) => [
- q(5741),
+ q(5775),
q(0),
],
q(kara-kalpak) => [
@@ -36242,79 +36696,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(karadjeri) => [
- q(2413),
+ q(2425),
q(0),
],
q(karagas) => [
- q(3344),
+ q(3368),
q(0),
],
q(karahawyana) => [
- q(7317),
+ q(7382),
q(0),
],
q(karaim) => [
- q(3228),
+ q(3252),
q(0),
],
q(karaja) => [
- q(3510),
+ q(3534),
q(0),
],
q(karakhanid) => [
- q(7409),
+ q(7480),
q(0),
],
q(karami) => [
- q(7241),
+ q(7292),
q(0),
],
q(karamojong) => [
- q(3221),
+ q(3245),
q(0),
],
q(karang) => [
- q(3764),
+ q(3788),
q(0),
],
q(karanga) => [
- q(3605),
+ q(3629),
q(0),
],
q(karankawa) => [
- q(7774),
+ q(7872),
q(0),
],
q(karao) => [
- q(3731),
+ q(3755),
q(0),
],
q(karas) => [
- q(3307),
+ q(3331),
q(0),
],
q(karata) => [
- q(3519),
+ q(3543),
q(0),
],
q(karawa) => [
- q(7420),
+ q(7494),
q(0),
],
q(karbi) => [
- q(4316),
+ q(4348),
q(0),
],
q(kare (central african republic)) => [
- q(3174),
+ q(3198),
q(0),
],
q(kare (papua new guinea)) => [
- q(3436),
+ q(3460),
q(0),
],
q(karekare) => [
- q(3153),
+ q(3177),
q(0),
],
q(karelian) => [
@@ -36325,56 +36779,60 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0214),
q(0),
],
+ q(karenggapa) => [
+ q(2217),
+ q(0),
+ ],
q(karey) => [
- q(3725),
+ q(3749),
q(0),
],
q(kari) => [
- q(3170),
+ q(3194),
q(0),
],
q(karingani) => [
- q(3299),
+ q(3323),
q(0),
],
q(karipuna) => [
- q(3298),
+ q(3322),
q(0),
],
q(karipuna creole french) => [
- q(3452),
+ q(3476),
q(0),
],
q(kariri-xoco) => [
- q(3769),
+ q(3793),
q(0),
],
q(karitiana) => [
- q(3611),
+ q(3635),
q(0),
],
q(kariya) => [
- q(3343),
+ q(3367),
q(0),
],
q(kariyarra) => [
- q(6971),
+ q(7014),
q(0),
],
q(karkar-yuri) => [
- q(7686),
+ q(7778),
q(0),
],
q(karkin) => [
- q(3553),
+ q(3577),
q(0),
],
q(karko) => [
- q(3394),
+ q(3418),
q(0),
],
q(karnai) => [
- q(1060),
+ q(1061),
q(0),
],
q(karo (brazil)) => [
@@ -36382,35 +36840,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(karo (ethiopia)) => [
- q(3703),
+ q(3727),
q(0),
],
q(karok) => [
- q(3729),
+ q(3753),
q(0),
],
q(karon) => [
- q(3569),
+ q(3593),
q(0),
],
q(karon dori) => [
- q(3308),
+ q(3332),
q(0),
],
q(karore) => [
- q(7332),
+ q(7397),
+ q(0),
+ ],
+ q(karranga) => [
+ q(7490),
+ q(0),
+ ],
+ q(karuwali) => [
+ q(5889),
q(0),
],
q(kasanga) => [
- q(1687),
+ q(1690),
q(0),
],
q(kasem) => [
- q(7430),
+ q(7504),
q(0),
],
q(kashaya) => [
- q(3376),
+ q(3400),
q(0),
],
q(kashmiri) => [
@@ -36422,123 +36888,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kasiguranin) => [
- q(3585),
+ q(3609),
q(0),
],
q(kaska) => [
- q(3405),
+ q(3429),
q(0),
],
q(kaskean) => [
- q(7859),
+ q(7957),
q(0),
],
q(kasseng) => [
- q(3289),
+ q(3313),
q(0),
],
q(kasua) => [
- q(3325),
+ q(3349),
q(0),
],
q(kataang) => [
- q(3290),
+ q(3314),
q(0),
],
q(katabaga) => [
- q(3614),
+ q(3638),
q(0),
],
q(katawixi) => [
- q(7243),
+ q(7294),
q(0),
],
q(katbol) => [
- q(6556),
+ q(6595),
q(0),
],
q(katcha-kadugli-miri) => [
- q(7442),
+ q(7516),
q(0),
],
q(kate) => [
- q(3437),
+ q(3461),
q(0),
],
q(kathoriya tharu) => [
- q(6529),
+ q(6568),
q(0),
],
q(kathu) => [
- q(7589),
+ q(7679),
q(0),
],
q(kati) => [
- q(1454),
+ q(1456),
q(0),
],
q(katkari) => [
- q(3281),
+ q(3305),
q(0),
],
q(katla) => [
- q(3204),
+ q(3228),
q(0),
],
q(kato) => [
- q(3620),
+ q(3644),
q(0),
],
q(katso) => [
- q(3150),
+ q(3174),
q(0),
],
q(katua) => [
- q(3598),
+ q(3622),
q(0),
],
q(katukina) => [
- q(3159),
+ q(3183),
q(0),
],
q(kaulong) => [
- q(5598),
+ q(5631),
q(0),
],
q(kaur) => [
- q(6974),
+ q(7017),
q(0),
],
q(kaure) => [
- q(1388),
+ q(1390),
q(0),
],
q(kaurna) => [
- q(7780),
+ q(7878),
q(0),
],
q(kauwera) => [
- q(7244),
+ q(7295),
q(0),
],
q(kavalan) => [
- q(1765),
+ q(1769),
q(0),
],
q(kavet) => [
- q(3567),
+ q(3591),
q(0),
],
q(kawacha) => [
- q(3188),
+ q(3212),
q(0),
],
q(kawaiisu) => [
- q(7246),
+ q(7297),
q(0),
],
q(kawe) => [
- q(3288),
+ q(3312),
q(0),
],
q(kawi) => [
@@ -36546,67 +37012,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kaxarari) => [
- q(3621),
+ q(3645),
q(0),
],
q(kaxuiana) => [
- q(3163),
+ q(3187),
q(0),
],
q(kayabi) => [
- q(3747),
+ q(3771),
q(0),
],
q(kayagar) => [
- q(3741),
+ q(3765),
q(0),
],
q(kayan) => [
- q(5379),
+ q(5411),
q(0),
],
q(kayan mahakam) => [
- q(7247),
+ q(7298),
q(0),
],
q(kayan river kayan) => [
- q(7322),
+ q(7387),
q(0),
],
q(kayapa kallahan) => [
- q(3155),
+ q(3179),
q(0),
],
q(kayapo) => [
- q(6795),
+ q(6834),
q(0),
],
q(kayardild) => [
- q(2682),
+ q(2700),
q(0),
],
q(kayaw) => [
- q(3656),
+ q(3680),
q(0),
],
q(kayeli) => [
- q(3758),
+ q(3782),
q(0),
],
q(kayong) => [
- q(3720),
+ q(3744),
q(0),
],
q(kayort) => [
- q(3743),
+ q(3767),
q(0),
],
q(kaytetye) => [
- q(2412),
+ q(2424),
q(0),
],
q(kayupulau) => [
- q(3767),
+ q(3791),
q(0),
],
q(kazakh) => [
@@ -36614,323 +37080,323 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kazukuru) => [
- q(3757),
+ q(3781),
q(0),
],
q(ke'o) => [
- q(7486),
+ q(7568),
q(0),
],
q(keak) => [
- q(3242),
+ q(3266),
q(0),
],
q(keapara) => [
- q(3332),
+ q(3356),
q(0),
],
q(kedah malay) => [
- q(4189),
+ q(4221),
q(0),
],
q(kedang) => [
- q(3595),
+ q(3619),
q(0),
],
q(keder) => [
- q(3233),
+ q(3257),
q(0),
],
q(kehu) => [
- q(3317),
+ q(3341),
q(0),
],
q(kei) => [
- q(3243),
+ q(3267),
q(0),
],
q(keiga) => [
- q(3237),
+ q(3261),
q(0),
],
q(keijar) => [
- q(3233),
- q(0),
+ q(3257),
+ q(1),
],
q(kein) => [
- q(1310),
+ q(1312),
q(0),
],
q(keiyo) => [
- q(2311),
+ q(2322),
q(0),
],
q(kekchi) => [
- q(3245),
+ q(3269),
q(0),
],
q(kela (democratic republic of congo)) => [
- q(3246),
+ q(3270),
q(0),
],
q(kela (papua new guinea)) => [
- q(3198),
+ q(3222),
q(0),
],
q(kelabit) => [
- q(3755),
+ q(3779),
q(0),
],
q(kele) => [
- q(3236),
+ q(3260),
q(0),
],
q(kele (democratic republic of congo)) => [
- q(3331),
+ q(3355),
q(0),
],
q(kele (papua new guinea)) => [
- q(5875),
+ q(5912),
q(0),
],
q(kelengazxo bozo) => [
- q(1638),
+ q(1641),
q(0),
],
q(keley-i kallahan) => [
- q(2901),
+ q(2922),
q(0),
],
q(keliko) => [
- q(3175),
+ q(3199),
q(0),
],
q(kelo) => [
- q(7279),
+ q(7338),
q(0),
],
q(kelon) => [
- q(3736),
+ q(3760),
q(0),
],
q(kemak) => [
- q(3247),
+ q(3271),
q(0),
],
q(kembayan) => [
- q(7280),
+ q(7339),
q(0),
],
q(kemberano) => [
- q(1630),
+ q(1633),
q(0),
],
q(kembra) => [
- q(7331),
+ q(7396),
q(0),
],
q(kemedzung) => [
- q(2089),
+ q(2095),
q(0),
],
q(kemi sami) => [
- q(6032),
+ q(6069),
q(0),
],
q(kemiehua) => [
- q(3270),
+ q(3294),
q(0),
],
q(kemtuik) => [
- q(3450),
+ q(3474),
q(0),
],
q(kenaboi) => [
- q(7253),
+ q(7308),
q(0),
],
q(kenati) => [
- q(2407),
+ q(2419),
q(0),
],
q(kendayan) => [
- q(3479),
+ q(3503),
q(0),
],
q(kendeje) => [
- q(3411),
+ q(3435),
q(0),
],
q(kendem) => [
- q(3657),
+ q(3681),
q(0),
],
q(kenga) => [
- q(3738),
+ q(3762),
q(0),
],
q(keningau murut) => [
- q(3704),
+ q(3728),
q(0),
],
q(keninjal) => [
- q(3467),
+ q(3491),
q(0),
],
q(kensiu) => [
- q(3474),
+ q(3498),
q(0),
],
q(kenswei nsei) => [
- q(4767),
+ q(4794),
q(0),
],
q(kenyan sign language) => [
- q(7318),
+ q(7383),
q(0),
],
q(kenyang) => [
- q(3248),
+ q(3272),
q(0),
],
q(kenyi) => [
- q(3920),
+ q(3949),
q(0),
],
q(kenzi) => [
- q(7382),
+ q(7451),
q(0),
],
q(keoru-ahia) => [
- q(7285),
+ q(7344),
q(0),
],
q(kepkiriwat) => [
- q(3514),
+ q(3538),
q(0),
],
q(kepo') => [
- q(3633),
+ q(3657),
q(0),
],
q(kera) => [
- q(3252),
+ q(3276),
q(0),
],
q(kerak) => [
- q(2736),
+ q(2754),
q(0),
],
q(kereho) => [
- q(7314),
+ q(7379),
q(0),
],
q(kerek) => [
- q(3560),
+ q(3584),
q(0),
],
q(kerewe) => [
- q(3238),
+ q(3262),
q(0),
],
q(kerewo) => [
- q(3721),
+ q(3745),
q(0),
],
q(kerinci) => [
- q(3662),
+ q(3686),
q(0),
],
q(kesawai) => [
- q(7283),
+ q(7342),
q(0),
],
q(ket) => [
- q(3254),
+ q(3278),
q(0),
],
q(ketangalan) => [
- q(3149),
+ q(3173),
q(0),
],
q(kete) => [
- q(3208),
+ q(3232),
q(0),
],
q(ketengban) => [
- q(7444),
+ q(7518),
q(0),
],
q(ketum) => [
- q(3617),
+ q(3641),
q(0),
],
q(keyagana) => [
- q(3728),
+ q(3752),
q(0),
],
q(kgalagadi) => [
- q(7330),
+ q(7395),
q(0),
],
q(khakas) => [
- q(3363),
+ q(3387),
q(0),
],
q(khalaj) => [
- q(3361),
+ q(3385),
q(0),
],
q(khaling) => [
- q(3423),
+ q(3447),
q(0),
],
q(khamba) => [
- q(3167),
+ q(3191),
q(0),
],
q(khams tibetan) => [
- q(3316),
+ q(3340),
q(0),
],
q(khamti) => [
- q(3326),
+ q(3350),
q(0),
],
q(khamyang) => [
- q(3592),
+ q(3616),
q(0),
],
q(khana) => [
- q(5188),
+ q(5220),
q(0),
],
q(khandesi) => [
- q(3321),
+ q(3345),
q(0),
],
q(khang) => [
- q(3368),
+ q(3392),
q(0),
],
q(khanty) => [
- q(3187),
+ q(3211),
q(0),
],
q(khao) => [
- q(7238),
+ q(7289),
q(0),
],
q(kharam naga) => [
- q(3283),
+ q(3307),
q(0),
],
q(kharia) => [
- q(3324),
+ q(3348),
q(0),
],
q(kharia thar) => [
- q(3596),
+ q(3620),
q(0),
],
q(khasi) => [
@@ -36938,67 +37404,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(khayo) => [
- q(3926),
+ q(3956),
q(0),
],
q(khazar) => [
- q(7782),
+ q(7880),
q(0),
],
q(khe) => [
- q(3532),
+ q(3556),
q(0),
],
q(khehek) => [
- q(6553),
+ q(6592),
q(0),
],
q(khengkha) => [
- q(7315),
+ q(7380),
q(0),
],
q(khetrani) => [
- q(7296),
+ q(7360),
q(0),
],
q(khezha naga) => [
- q(4911),
+ q(4938),
q(0),
],
q(khiamniungan naga) => [
- q(3353),
+ q(3377),
q(0),
],
q(khinalugh) => [
- q(3365),
+ q(3389),
q(0),
],
q(khirwar) => [
- q(3694),
+ q(3718),
q(0),
],
q(khisa) => [
- q(3538),
+ q(3562),
q(0),
],
q(khlor) => [
- q(3945),
+ q(3976),
q(0),
],
q(khlula) => [
- q(7584),
+ q(7674),
q(0),
],
q(khmu) => [
- q(3362),
+ q(3386),
q(0),
],
q(kho'ini) => [
- q(7312),
+ q(7377),
q(0),
],
q(khoibu naga) => [
- q(4905),
+ q(4932),
q(0),
],
q(khoisan languages) => [
@@ -37006,19 +37472,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kholok) => [
- q(3600),
+ q(3624),
q(0),
],
q(khonso) => [
- q(3699),
- q(0),
+ q(3723),
+ q(1),
],
q(khorasani turkish) => [
- q(3456),
+ q(3480),
q(0),
],
q(khorezmian) => [
- q(7773),
+ q(7871),
q(0),
],
q(khotanese) => [
@@ -37026,55 +37492,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(khowar) => [
- q(3329),
+ q(3353),
q(0),
],
q(khua) => [
- q(7300),
+ q(7364),
q(0),
],
q(khuen) => [
- q(3315),
+ q(3339),
q(0),
],
q(khumi chin) => [
- q(1801),
+ q(1805),
q(0),
],
q(khun) => [
- q(3387),
+ q(3411),
q(0),
],
q(khunsari) => [
- q(3273),
+ q(3297),
q(0),
],
q(khvarshi) => [
- q(3328),
+ q(3352),
q(0),
],
q(kibet) => [
- q(3337),
+ q(3361),
q(0),
],
q(kibiri) => [
- q(5572),
+ q(5605),
q(0),
],
q(kickapoo) => [
- q(3335),
+ q(3359),
q(0),
],
q(kiembu) => [
- q(2212),
- q(0),
+ q(2222),
+ q(1),
],
q(kigiryama) => [
- q(5136),
- q(0),
+ q(5168),
+ q(1),
],
q(kikai) => [
- q(3754),
+ q(3778),
q(0),
],
q(kikuyu) => [
@@ -37082,43 +37548,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kildin sami) => [
- q(6029),
+ q(6066),
q(0),
],
q(kilivila) => [
- q(3342),
+ q(3366),
q(0),
],
q(kiliwa) => [
- q(3407),
+ q(3431),
q(0),
],
q(kilmeri) => [
- q(3340),
+ q(3364),
q(0),
],
q(kim) => [
- q(3333),
+ q(3357),
q(0),
],
q(kim mun) => [
- q(4302),
+ q(4334),
q(0),
],
q(kimaama) => [
- q(3339),
+ q(3363),
q(0),
],
q(kimaghima) => [
- q(3339),
- q(0),
+ q(3363),
+ q(1),
],
q(kimaragang) => [
- q(3543),
+ q(3567),
q(0),
],
q(kimbu) => [
- q(3351),
+ q(3375),
q(0),
],
q(kimbundu) => [
@@ -37126,43 +37592,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kimki) => [
- q(5892),
+ q(5929),
q(0),
],
q(kimre) => [
- q(3541),
+ q(3565),
q(0),
],
q(kinabalian) => [
- q(1679),
+ q(1682),
q(0),
],
q(kinalakna) => [
- q(3201),
+ q(3225),
q(0),
],
q(kinamiging manobo) => [
- q(4341),
+ q(4373),
q(0),
],
q(kinaray-a) => [
- q(3559),
+ q(3583),
q(0),
],
q(kinga) => [
- q(7750),
+ q(7848),
q(0),
],
q(kinnauri) => [
- q(3271),
+ q(3295),
q(0),
],
q(kintaq) => [
- q(3472),
+ q(3496),
q(0),
],
q(kinuku) => [
- q(3383),
+ q(3407),
q(0),
],
q(kinyarwanda) => [
@@ -37170,19 +37636,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kioko) => [
- q(6835),
+ q(6875),
q(0),
],
q(kiong) => [
- q(3392),
+ q(3416),
q(0),
],
q(kiorr) => [
- q(7323),
+ q(7388),
q(0),
],
q(kiowa) => [
- q(3345),
+ q(3369),
q(0),
],
q(kiowa apache) => [
@@ -37190,27 +37656,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kipfokomo) => [
- q(5450),
- q(0),
+ q(5482),
+ q(1),
],
q(kipsigis) => [
- q(5963),
+ q(6000),
q(0),
],
q(kiput) => [
- q(3730),
+ q(3754),
q(0),
],
q(kir-balar) => [
- q(3397),
+ q(3421),
q(0),
],
q(kirdki) => [
q(0486),
- q(0),
+ q(3),
],
q(kire) => [
- q(2463),
+ q(2477),
q(0),
],
q(kirghiz) => [
@@ -37218,19 +37684,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kirike) => [
- q(5214),
+ q(5246),
q(0),
],
q(kirikiri) => [
- q(3354),
+ q(3378),
q(0),
],
q(kirmanjki) => [
q(0486),
- q(0),
+ q(4),
],
q(kirmanjki (individual language)) => [
- q(3350),
+ q(3374),
q(0),
],
q(kirmanjki (macrolanguage)) => [
@@ -37238,83 +37704,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(7),
],
q(kirya-konzel) => [
- q(2342),
+ q(2354),
q(0),
],
q(kis) => [
- q(3348),
+ q(3372),
q(0),
],
q(kisa) => [
- q(3928),
+ q(3958),
q(0),
],
q(kisankasa) => [
- q(3533),
+ q(3557),
q(0),
],
q(kisar) => [
- q(3360),
+ q(3384),
q(0),
],
q(kisi) => [
- q(3355),
+ q(3379),
q(0),
],
q(kistane) => [
- q(2611),
+ q(2628),
q(0),
],
q(kiswahili) => [
- q(6273),
- q(0),
+ q(6312),
+ q(1),
],
q(kita maninkakan) => [
- q(4613),
+ q(4642),
q(0),
],
q(kitan) => [
- q(7779),
+ q(7877),
q(0),
],
q(kitharaka) => [
- q(6472),
- q(0),
+ q(6510),
+ q(1),
],
q(kitja) => [
- q(2504),
+ q(2517),
q(0),
],
q(kitsai) => [
- q(3341),
+ q(3365),
q(0),
],
q(kituba (congo)) => [
- q(4340),
+ q(4372),
q(0),
],
q(kituba (democratic republic of congo)) => [
- q(3618),
+ q(3642),
q(0),
],
q(kiunum) => [
- q(7068),
+ q(7114),
q(0),
],
q(kiwilwana) => [
- q(4353),
+ q(4384),
+ q(1),
+ ],
+ q(kla-dan) => [
+ q(3850),
q(0),
],
q(klamath-modoc) => [
- q(3406),
+ q(3430),
q(0),
],
q(klao) => [
- q(3426),
+ q(3450),
q(0),
],
q(klias river kadazan) => [
- q(3545),
+ q(3569),
q(0),
],
q(klingon) => [
@@ -37322,227 +37792,227 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(knaanic) => [
- q(1932),
+ q(1938),
q(0),
],
q(ko) => [
- q(2378),
+ q(2390),
q(0),
],
q(koalib) => [
- q(3334),
+ q(3358),
q(0),
],
q(koasati) => [
- q(1764),
+ q(1768),
q(0),
],
q(koba) => [
- q(3505),
+ q(3529),
q(0),
],
q(kobiana) => [
- q(3196),
+ q(3220),
q(0),
],
q(kobol) => [
- q(3306),
+ q(3330),
q(0),
],
q(kobon) => [
- q(3522),
+ q(3546),
q(0),
],
q(koch) => [
- q(3227),
+ q(3251),
q(0),
],
q(kochila tharu) => [
- q(6477),
+ q(6515),
q(0),
],
q(koda) => [
- q(1706),
+ q(1709),
q(0),
],
q(kodaku) => [
- q(3597),
+ q(3621),
q(0),
],
q(kodava) => [
- q(3261),
+ q(3285),
q(0),
],
q(kodeoha) => [
- q(6977),
+ q(7020),
q(0),
],
q(kodi) => [
- q(3484),
+ q(3508),
q(0),
],
q(kodia) => [
- q(3686),
+ q(3710),
q(0),
],
q(koenoem) => [
- q(3205),
+ q(3229),
q(0),
],
q(kofa) => [
- q(3586),
+ q(3610),
q(0),
],
q(kofei) => [
- q(3509),
+ q(3533),
q(0),
],
q(kofyar) => [
- q(3682),
+ q(3706),
q(0),
],
q(kogi) => [
- q(3487),
- q(0),
+ q(3511),
+ q(1),
],
q(koguryo) => [
- q(7772),
+ q(7870),
q(0),
],
q(kohin) => [
- q(3403),
+ q(3427),
q(0),
],
q(kohistani shina) => [
- q(5469),
+ q(5501),
q(0),
],
q(koho) => [
- q(3513),
+ q(3537),
q(0),
],
q(kohumono) => [
- q(1083),
+ q(1084),
q(0),
],
q(koi) => [
- q(3399),
+ q(3423),
q(0),
],
q(koibal) => [
- q(7770),
+ q(7868),
q(0),
],
q(koireng) => [
- q(4907),
+ q(4934),
q(0),
],
q(koitabu) => [
- q(3534),
+ q(3558),
q(0),
],
q(koiwat) => [
- q(3715),
+ q(3739),
q(0),
],
q(kok borok) => [
- q(6670),
+ q(6709),
q(0),
],
q(kok-nar) => [
- q(2528),
+ q(2543),
q(0),
],
q(kokata) => [
- q(3601),
+ q(3625),
q(0),
],
q(koke) => [
- q(3496),
+ q(3520),
q(0),
],
q(koki naga) => [
- q(5124),
+ q(5156),
q(0),
],
q(koko babangk) => [
- q(5205),
+ q(5237),
q(0),
],
q(kokoda) => [
- q(7384),
+ q(7453),
q(0),
],
q(kokola) => [
- q(3760),
+ q(3784),
q(0),
],
q(kokota) => [
- q(3390),
+ q(3414),
q(0),
],
q(kol) => [
- q(2231),
- q(0),
+ q(2242),
+ q(1),
],
q(kol (bangladesh)) => [
- q(2231),
+ q(2242),
q(0),
],
q(kol (cameroon)) => [
- q(1228),
+ q(1229),
q(0),
],
q(kol (papua new guinea)) => [
- q(3491),
+ q(3515),
q(0),
],
q(kola) => [
- q(3666),
+ q(3690),
q(0),
],
q(kolbila) => [
- q(3408),
+ q(3432),
q(0),
],
q(kolibugan subanon) => [
- q(6055),
+ q(6092),
q(0),
],
q(kolsch) => [
- q(3579),
+ q(3603),
q(0),
],
q(koluwawa) => [
- q(3429),
+ q(3453),
q(0),
],
q(kom (cameroon)) => [
- q(1265),
+ q(1267),
q(0),
],
q(kom (india)) => [
- q(3443),
+ q(3467),
q(0),
],
q(koma) => [
- q(3455),
+ q(3479),
q(0),
],
q(komba) => [
- q(3506),
+ q(3530),
q(0),
],
q(kombai) => [
- q(6804),
+ q(6843),
q(0),
],
q(kombio) => [
- q(7251),
+ q(7305),
q(0),
],
q(komering) => [
- q(3291),
+ q(3315),
q(0),
],
q(komi) => [
@@ -37550,59 +38020,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(komi-permyak) => [
- q(3489),
+ q(3513),
q(0),
],
q(komi-zyrian) => [
- q(3521),
+ q(3545),
q(0),
],
q(kominimung) => [
- q(7386),
+ q(7455),
q(0),
],
q(komo (democratic republic of congo)) => [
- q(3453),
+ q(3477),
q(0),
],
q(komo (sudan)) => [
- q(7388),
+ q(7457),
q(0),
],
q(komodo) => [
- q(3652),
+ q(3676),
q(0),
],
q(kompane) => [
- q(3660),
+ q(3684),
q(0),
],
q(komyandaret) => [
- q(3768),
+ q(3792),
q(0),
],
q(kon keu) => [
- q(3393),
+ q(3417),
q(0),
],
q(konabere) => [
- q(1053),
- q(0),
+ q(1054),
+ q(1),
],
q(konai) => [
- q(3718),
+ q(3742),
q(0),
],
q(konda) => [
- q(3460),
+ q(3484),
q(0),
],
q(konda-dora) => [
- q(3263),
+ q(3287),
q(0),
],
q(koneraw) => [
- q(3231),
+ q(3255),
q(0),
],
q(kongo) => [
@@ -37614,7 +38084,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(konkani (individual language)) => [
- q(3469),
+ q(3493),
q(0),
],
q(konkani (macrolanguage)) => [
@@ -37622,83 +38092,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(konkomba) => [
- q(7389),
+ q(7458),
q(0),
],
q(konni) => [
- q(3432),
+ q(3456),
q(0),
],
q(kono (guinea)) => [
- q(3476),
+ q(3500),
q(0),
],
q(kono (nigeria)) => [
- q(3416),
+ q(3440),
q(0),
],
q(kono (sierra leone)) => [
- q(3470),
+ q(3494),
q(0),
],
q(konomala) => [
- q(3482),
+ q(3506),
q(0),
],
q(konongo) => [
- q(3212),
+ q(3236),
q(0),
],
q(konso) => [
- q(3699),
+ q(3723),
q(0),
],
q(konyak naga) => [
- q(4725),
+ q(4753),
q(0),
],
q(konyanka maninka) => [
- q(4338),
+ q(4370),
q(0),
],
q(konzo) => [
- q(3492),
+ q(3516),
q(0),
],
q(koongo) => [
- q(3463),
+ q(3487),
q(0),
],
q(koonzime) => [
- q(5320),
+ q(5353),
q(0),
],
q(koorete) => [
- q(3550),
+ q(3574),
q(0),
],
q(kopar) => [
- q(7391),
+ q(7460),
q(0),
],
q(kopkaka) => [
- q(5263),
+ q(5296),
q(0),
],
q(korafe-yegha) => [
- q(3517),
+ q(3541),
q(0),
],
q(korak) => [
- q(3501),
+ q(3525),
q(0),
],
q(korana) => [
- q(3551),
+ q(3575),
q(0),
],
q(korandje) => [
- q(3211),
+ q(3235),
q(0),
],
q(kordofanian languages) => [
@@ -37710,151 +38180,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(korean sign language) => [
- q(3655),
+ q(3679),
q(0),
],
q(koreguaje) => [
- q(1813),
+ q(1817),
q(0),
],
q(koresh-e rostam) => [
- q(5206),
+ q(5238),
q(0),
],
q(korku) => [
- q(3277),
+ q(3301),
q(0),
],
q(korlai creole portuguese) => [
- q(6978),
+ q(7021),
q(0),
],
q(koro (cote d'ivoire)) => [
- q(3275),
+ q(3299),
q(0),
],
q(koro (india)) => [
- q(3090),
+ q(3114),
q(0),
],
q(koro (papua new guinea)) => [
- q(3713),
+ q(3737),
q(0),
],
q(koro (vanuatu)) => [
- q(3556),
+ q(3580),
q(0),
],
q(koro wachi) => [
- q(1419),
+ q(1421),
q(0),
],
q(koromfe) => [
- q(3286),
+ q(3310),
q(0),
],
q(koromira) => [
- q(3535),
+ q(3559),
q(0),
],
q(koronadal blaan) => [
- q(1390),
+ q(1392),
q(0),
],
q(koroni) => [
- q(7325),
+ q(7390),
q(0),
],
q(korop) => [
- q(3563),
+ q(3587),
q(0),
],
q(koropo) => [
- q(7487),
+ q(7570),
q(0),
],
q(koroshi) => [
- q(3609),
+ q(3633),
q(0),
],
q(korowai) => [
- q(3314),
+ q(3338),
q(0),
],
q(korra koraga) => [
- q(3264),
+ q(3288),
q(0),
],
q(korubo) => [
- q(7392),
+ q(7461),
q(0),
],
q(korupun-sela) => [
- q(3516),
+ q(3540),
q(0),
],
q(korur) => [
q(0949),
- q(0),
+ q(1),
],
q(korwa) => [
- q(3276),
+ q(3300),
q(0),
],
q(koryak) => [
- q(3524),
+ q(3548),
q(0),
],
q(kosadle) => [
- q(3347),
+ q(3371),
q(0),
],
q(kosare) => [
- q(3347),
- q(0),
+ q(3371),
+ q(1),
],
q(kosarek yale) => [
- q(3391),
+ q(3415),
q(0),
],
q(kosena) => [
- q(3752),
+ q(3776),
q(0),
],
q(koshin) => [
- q(3336),
+ q(3360),
q(0),
],
q(kosli) => [
- q(6166),
- q(0),
+ q(6203),
+ q(1),
],
q(kosraean) => [
q(0232),
q(0),
],
q(kota (gabon)) => [
- q(3494),
+ q(3518),
q(0),
],
q(kota (india)) => [
- q(3265),
+ q(3289),
q(0),
],
q(kota bangun kutai malay) => [
- q(4464),
+ q(4494),
q(0),
],
q(kota marudu talantang) => [
- q(2605),
+ q(2622),
q(0),
],
q(kota marudu tinagas) => [
- q(3615),
+ q(3639),
q(0),
],
q(kotafon gbe) => [
- q(3536),
+ q(3560),
q(0),
],
q(kotava) => [
@@ -37862,83 +38332,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(koti) => [
- q(2233),
+ q(2244),
q(0),
],
q(kott) => [
- q(7776),
+ q(7874),
q(0),
],
q(kouya) => [
- q(3727),
+ q(3751),
q(0),
],
q(kovai) => [
- q(3527),
+ q(3551),
q(0),
],
q(kove) => [
- q(3647),
+ q(3671),
q(0),
],
q(kowaki) => [
- q(7393),
+ q(7462),
q(0),
],
q(kowiai) => [
- q(3678),
+ q(3702),
q(0),
],
q(koy sanjaq surat) => [
- q(3529),
+ q(3553),
q(0),
],
q(koya) => [
- q(3266),
+ q(3290),
q(0),
],
q(koyaga) => [
- q(3287),
+ q(3311),
q(0),
],
q(koyo) => [
- q(3488),
+ q(3512),
q(0),
],
q(koyra chiini songhay) => [
- q(3323),
+ q(3347),
q(0),
],
q(koyraboro senni songhai) => [
- q(5950),
+ q(5987),
q(0),
],
q(koyukon) => [
- q(3500),
+ q(3524),
q(0),
],
q(kpagua) => [
- q(3641),
+ q(3665),
q(0),
],
q(kpala) => [
- q(3512),
+ q(3536),
q(0),
],
q(kpan) => [
- q(3511),
+ q(3535),
q(0),
],
q(kpasam) => [
- q(5347),
+ q(5380),
q(0),
],
q(kpati) => [
- q(3483),
+ q(3507),
q(0),
],
q(kpatili) => [
- q(3734),
+ q(3758),
+ q(0),
+ ],
+ q(kpeego) => [
+ q(1841),
q(0),
],
q(kpelle) => [
@@ -37946,63 +38420,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kpessi) => [
- q(3240),
+ q(3264),
q(0),
],
q(kplang) => [
- q(3508),
+ q(3532),
q(0),
],
q(krache) => [
- q(3726),
+ q(3750),
q(0),
],
q(kraho) => [
- q(7411),
+ q(7482),
q(0),
],
q(kraol) => [
- q(5772),
+ q(5806),
q(0),
],
q(krenak) => [
- q(3542),
+ q(3566),
q(0),
],
q(krevinian) => [
- q(7781),
+ q(7879),
q(0),
],
q(kreye) => [
- q(7413),
+ q(7485),
q(0),
],
q(krikati-timbira) => [
- q(7414),
+ q(7487),
q(0),
],
q(krim) => [
- q(3561),
+ q(3585),
q(0),
],
q(krio) => [
- q(3558),
+ q(3582),
q(0),
],
q(kriol) => [
- q(5818),
+ q(5853),
q(0),
],
q(krisa) => [
- q(3580),
+ q(3604),
q(0),
],
q(krobu) => [
- q(3698),
+ q(3722),
q(0),
],
q(krongo) => [
- q(3300),
+ q(3324),
q(0),
],
q(kru languages) => [
@@ -38010,39 +38484,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kru'ng 2) => [
- q(3564),
+ q(3588),
q(0),
],
q(krymchak) => [
- q(3049),
+ q(3073),
q(0),
],
q(kryts) => [
- q(3570),
+ q(3594),
q(0),
],
q(kua) => [
- q(6809),
+ q(6848),
q(0),
],
q(kua-nsi) => [
- q(7586),
+ q(7676),
q(0),
],
q(kuamasi) => [
- q(7590),
+ q(7680),
q(0),
],
q(kuan) => [
- q(6820),
+ q(6860),
q(0),
],
q(kuanhua) => [
- q(7376),
+ q(7441),
q(0),
],
q(kuanua) => [
- q(3575),
+ q(3599),
q(0),
],
q(kuanyama) => [
@@ -38050,199 +38524,199 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kube) => [
- q(3292),
+ q(3316),
q(0),
],
q(kubi) => [
- q(3486),
+ q(3510),
q(0),
],
q(kubo) => [
- q(3088),
+ q(3112),
q(0),
],
q(kubu) => [
- q(3646),
+ q(3670),
q(0),
],
q(kucong) => [
- q(3918),
+ q(3947),
q(0),
],
q(kudiya) => [
- q(3267),
+ q(3291),
q(0),
],
q(kudmali) => [
- q(3744),
+ q(3768),
q(0),
],
q(kudu-camo) => [
- q(3497),
+ q(3521),
q(0),
],
q(kugama) => [
- q(3498),
+ q(3522),
q(0),
],
q(kugbo) => [
- q(3253),
+ q(3277),
q(0),
],
q(kui (india)) => [
- q(3716),
+ q(3740),
q(0),
],
q(kui (indonesia)) => [
- q(3648),
+ q(3672),
q(0),
],
q(kuijau) => [
- q(2074),
+ q(2079),
q(0),
],
q(kuikuro-kalapalo) => [
- q(3631),
+ q(3655),
q(0),
],
q(kujarge) => [
- q(6973),
+ q(7016),
q(0),
],
q(kuk) => [
- q(3274),
+ q(3298),
q(0),
],
q(kukatja) => [
- q(3642),
+ q(3666),
q(0),
],
q(kuke) => [
- q(2503),
+ q(2516),
q(0),
],
q(kukele) => [
- q(3260),
+ q(3284),
q(0),
],
q(kukna) => [
- q(3258),
+ q(3282),
q(0),
],
q(kuku-mangk) => [
- q(7363),
+ q(7428),
q(0),
],
q(kuku-mu'inh) => [
- q(7362),
+ q(7427),
q(0),
],
q(kuku-muminh) => [
- q(7355),
+ q(7420),
q(0),
],
q(kuku-ugbanh) => [
- q(6837),
+ q(6877),
q(0),
],
q(kuku-uwanh) => [
- q(6931),
+ q(6974),
q(0),
],
q(kuku-yalanji) => [
- q(2658),
+ q(2676),
q(0),
],
q(kula) => [
- q(6628),
+ q(6667),
q(0),
],
q(kulere) => [
- q(3634),
+ q(3658),
q(0),
],
q(kulfa) => [
- q(3705),
+ q(3729),
q(0),
],
q(kulina) => [
- q(1909),
- q(0),
+ q(1915),
+ q(1),
],
q(kulina pano) => [
- q(7399),
+ q(7469),
q(0),
],
q(kulisusu) => [
- q(6975),
+ q(7018),
q(0),
],
q(kullu pahari) => [
- q(3284),
+ q(3308),
q(0),
],
q(kulon-pazeh) => [
- q(6925),
+ q(6968),
q(0),
],
q(kulung (nepal)) => [
- q(3410),
+ q(3434),
q(0),
],
q(kulung (nigeria)) => [
- q(1059),
+ q(1060),
q(0),
],
q(kumalu) => [
- q(3583),
+ q(3607),
q(0),
],
q(kumam) => [
- q(3220),
+ q(3244),
q(0),
],
q(kuman) => [
- q(3627),
+ q(3651),
q(0),
],
q(kuman (russia)) => [
- q(5692),
+ q(5726),
q(0),
],
q(kumaoni) => [
- q(3285),
+ q(3309),
q(0),
],
q(kumarbhag paharia) => [
- q(3440),
+ q(3464),
q(0),
],
q(kumba) => [
- q(3584),
+ q(3608),
q(0),
],
q(kumbainggar) => [
- q(3304),
+ q(3328),
q(0),
],
q(kumbaran) => [
- q(7109),
+ q(7154),
q(0),
],
q(kumbewaha) => [
- q(7327),
+ q(7392),
q(0),
],
q(kumhali) => [
- q(3552),
+ q(3576),
q(0),
],
q(kumiai) => [
- q(2039),
+ q(2045),
q(0),
],
q(kumukio) => [
- q(3636),
+ q(3660),
q(0),
],
q(kumyk) => [
@@ -38250,119 +38724,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kumzari) => [
- q(7878),
+ q(7976),
q(0),
],
q(kunama) => [
- q(3635),
+ q(3659),
q(0),
],
q(kunbarlang) => [
- q(7117),
+ q(7163),
q(0),
],
q(kunda) => [
- q(3225),
+ q(3249),
q(0),
],
q(kundal shahi) => [
- q(5985),
+ q(6022),
q(0),
],
q(kunduvadi) => [
- q(7112),
+ q(7157),
q(0),
],
q(kung) => [
- q(3272),
+ q(3296),
q(0),
],
q(kung-ekoka) => [
- q(3478),
+ q(3502),
q(0),
],
q(kungarakany) => [
- q(2485),
+ q(2499),
+ q(0),
+ ],
+ q(kungardutyi) => [
+ q(2473),
q(0),
],
q(kunggara) => [
- q(3663),
+ q(3687),
q(0),
],
q(kunggari) => [
- q(3297),
+ q(3321),
+ q(0),
+ ],
+ q(kungkari) => [
+ q(3960),
q(0),
],
q(kuni) => [
- q(3576),
+ q(3600),
q(0),
],
q(kuni-boazi) => [
- q(3651),
+ q(3675),
q(0),
],
q(kunigami) => [
- q(7464),
+ q(7540),
q(0),
],
q(kunimaipa) => [
- q(3637),
+ q(3661),
q(0),
],
q(kunja) => [
- q(5392),
+ q(5424),
q(0),
],
q(kunjen) => [
- q(3369),
+ q(3393),
q(0),
],
q(kunyi) => [
- q(4901),
+ q(4928),
q(0),
],
q(kunza) => [
- q(3644),
+ q(3668),
q(0),
],
q(kuo) => [
- q(7468),
+ q(7545),
q(0),
],
q(kuot) => [
- q(3612),
+ q(3636),
q(0),
],
q(kupa) => [
- q(3629),
+ q(3653),
q(0),
],
q(kupang malay) => [
- q(4331),
+ q(4363),
q(0),
],
q(kupia) => [
- q(3259),
+ q(3283),
q(0),
],
q(kupsabiny) => [
- q(3525),
+ q(3549),
q(0),
],
q(kur) => [
- q(3640),
+ q(3664),
q(0),
],
q(kura ede nago) => [
- q(5025),
+ q(5054),
q(0),
],
q(kurama) => [
- q(3557),
+ q(3581),
q(0),
],
q(kuranko) => [
- q(3466),
+ q(3490),
q(0),
],
q(kurdish) => [
@@ -38370,39 +38852,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kuri) => [
- q(4732),
+ q(4760),
q(0),
],
q(kuria) => [
- q(3632),
+ q(3656),
q(0),
],
q(kurichiya) => [
- q(3268),
+ q(3292),
q(0),
],
q(kurmukar) => [
- q(3282),
+ q(3306),
+ q(0),
+ ],
+ q(kurnai) => [
+ q(6926),
q(0),
],
q(kurrama) => [
- q(6980),
+ q(7023),
q(0),
],
q(kurti) => [
- q(3610),
+ q(3634),
q(0),
],
q(kurtokha) => [
- q(7334),
+ q(7399),
q(0),
],
q(kuruaya) => [
- q(3739),
+ q(3763),
q(0),
],
q(kurudu) => [
- q(3373),
+ q(3397),
q(0),
],
q(kurukh) => [
@@ -38410,339 +38896,347 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(kusaal) => [
- q(3638),
+ q(3662),
q(0),
],
q(kusaghe) => [
- q(3578),
+ q(3602),
q(0),
],
q(kushi) => [
- q(3630),
+ q(3654),
q(0),
],
q(kusu) => [
- q(3593),
+ q(3617),
q(0),
],
q(kusunda) => [
- q(3293),
+ q(3317),
q(0),
],
q(kutang ghale) => [
- q(2503),
- q(0),
+ q(2516),
+ q(1),
],
q(kutenai) => [
q(0241),
q(0),
],
q(kutep) => [
- q(3624),
+ q(3648),
q(0),
],
q(kuthant) => [
- q(7471),
+ q(7548),
q(0),
],
q(kutong) => [
- q(6054),
+ q(6091),
q(0),
],
q(kutto) => [
- q(3502),
+ q(3526),
q(0),
],
q(kutu) => [
- q(3214),
+ q(3238),
q(0),
],
q(kuturmi) => [
- q(3318),
+ q(3342),
q(0),
],
q(kuuk-yak) => [
- q(6856),
+ q(6896),
q(0),
],
q(kuuku-ya'u) => [
- q(3643),
+ q(3667),
q(0),
],
q(kuvi) => [
- q(3717),
+ q(3741),
q(0),
],
q(kuwaa) => [
- q(1285),
+ q(1287),
q(0),
],
q(kuwaataay) => [
- q(1927),
+ q(1933),
q(0),
],
q(kuy) => [
- q(3229),
+ q(3253),
q(0),
],
q(kven finnish) => [
- q(2343),
+ q(2355),
q(0),
],
q(kw'adza) => [
- q(7108),
+ q(7153),
q(0),
],
q(kwa) => [
- q(3672),
+ q(3696),
q(0),
],
q(kwa') => [
- q(1267),
+ q(1269),
q(0),
],
q(kwaami) => [
- q(3588),
+ q(3612),
q(0),
],
q(kwadi) => [
- q(3696),
+ q(3720),
q(0),
],
q(kwaio) => [
- q(3674),
+ q(3698),
q(0),
],
q(kwaja) => [
- q(3234),
+ q(3258),
q(0),
],
q(kwak) => [
- q(3687),
+ q(3711),
q(0),
],
q(kwakiutl) => [
- q(3681),
+ q(3705),
q(0),
],
q(kwakum) => [
- q(3691),
+ q(3715),
q(0),
],
q(kwalhioqua-tlatskanai) => [
- q(5694),
+ q(5728),
q(0),
],
q(kwama) => [
- q(3447),
+ q(3471),
q(0),
],
q(kwambi) => [
- q(3683),
+ q(3707),
q(0),
],
q(kwamera) => [
- q(6587),
+ q(6626),
q(0),
],
q(kwami) => [
- q(3603),
+ q(3627),
q(0),
],
q(kwamtim one) => [
- q(5209),
+ q(5241),
q(0),
],
q(kwang) => [
- q(3653),
+ q(3677),
q(0),
],
q(kwanga) => [
- q(3680),
+ q(3704),
q(0),
],
q(kwangali) => [
- q(3684),
+ q(3708),
q(0),
],
q(kwanja) => [
- q(3471),
+ q(3495),
q(0),
],
q(kwanyama) => [
q(0238),
- q(0),
+ q(1),
],
q(kwara'ae) => [
- q(3676),
+ q(3700),
q(0),
],
q(kwasio) => [
- q(4949),
+ q(4977),
q(0),
],
q(kwaya) => [
- q(3722),
+ q(3746),
q(0),
],
q(kwaza) => [
- q(7478),
+ q(7555),
q(0),
],
q(kwegu) => [
- q(7481),
+ q(7559),
q(0),
],
+ q(kwenyi) => [
+ q(3246),
+ q(1),
+ ],
q(kwer) => [
- q(3688),
+ q(3712),
q(0),
],
q(kwerba) => [
- q(3675),
+ q(3699),
q(0),
],
q(kwerba mamberamo) => [
- q(7484),
+ q(7564),
q(0),
],
q(kwere) => [
- q(1925),
+ q(1931),
q(0),
],
q(kwerisa) => [
- q(3381),
+ q(3405),
q(0),
],
q(kwese) => [
- q(3689),
+ q(3713),
q(0),
],
q(kwesten) => [
- q(3690),
+ q(3714),
q(0),
],
q(kwini) => [
- q(2677),
+ q(2695),
q(0),
],
q(kwinsu) => [
- q(3625),
+ q(3649),
q(0),
],
q(kwinti) => [
- q(3693),
+ q(3717),
q(0),
],
q(kwoma) => [
- q(3445),
+ q(3469),
q(0),
],
q(kwomtari) => [
- q(3685),
+ q(3709),
q(0),
],
q(kxoe) => [
- q(7472),
+ q(7549),
q(0),
],
q(kyak) => [
- q(1255),
+ q(1257),
q(0),
],
q(kyaka) => [
- q(3724),
+ q(3748),
q(0),
],
- q(kyenele) => [
- q(3537),
+ q(kyan-karyaw naga) => [
+ q(5057),
q(0),
],
- q(kyenga) => [
- q(6799),
+ q(kyanga) => [
+ q(6838),
+ q(0),
+ ],
+ q(kyenele) => [
+ q(3561),
q(0),
],
q(kyerung) => [
- q(3310),
+ q(3334),
q(0),
],
q(kyrgyz) => [
q(0226),
- q(0),
+ q(1),
],
q(la'bi) => [
- q(3799),
+ q(3823),
q(0),
],
q(laa laa bwamu) => [
- q(1551),
+ q(1554),
q(0),
],
q(laadan) => [
- q(3834),
+ q(3860),
q(0),
],
q(laal) => [
- q(2454),
+ q(2467),
q(0),
],
q(laalaa) => [
- q(1644),
- q(0),
+ q(1647),
+ q(1),
],
q(laari) => [
- q(3829),
+ q(3855),
q(0),
],
q(laba) => [
- q(3788),
+ q(3812),
q(0),
],
q(label) => [
- q(3794),
+ q(3818),
q(0),
],
q(labir) => [
- q(3091),
+ q(3115),
q(0),
],
q(labo) => [
- q(4611),
+ q(4640),
q(0),
],
q(labo phowa) => [
- q(7647),
+ q(7736),
q(0),
],
q(labu) => [
- q(3810),
+ q(3834),
q(0),
],
q(labuk-kinabatangan kadazan) => [
- q(2153),
+ q(2161),
q(0),
],
q(lacandon) => [
- q(3775),
+ q(3799),
q(0),
],
q(lachi) => [
- q(3809),
+ q(3833),
q(0),
],
q(lachiguiri zapotec) => [
- q(7825),
+ q(7923),
q(0),
],
q(lachixio zapotec) => [
- q(7836),
+ q(7934),
q(0),
],
q(ladakhi) => [
- q(3800),
+ q(3824),
q(0),
],
q(ladin) => [
- q(3934),
+ q(3965),
q(0),
],
q(ladino) => [
@@ -38750,39 +39244,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ladji ladji) => [
- q(3940),
+ q(3971),
q(0),
],
q(laeko-libuat) => [
- q(3924),
+ q(3953),
q(0),
],
q(lafofa) => [
- q(3777),
+ q(3801),
q(0),
],
q(laghu) => [
- q(3866),
+ q(3892),
q(0),
],
q(laghuu) => [
- q(3868),
+ q(3894),
q(0),
],
q(lagwan) => [
- q(3495),
+ q(3519),
q(0),
],
q(laha (indonesia)) => [
- q(3880),
+ q(3906),
q(0),
],
q(laha (viet nam)) => [
- q(3879),
+ q(3905),
q(0),
],
q(lahanan) => [
- q(3884),
+ q(3910),
q(0),
],
q(lahnda) => [
@@ -38790,131 +39284,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lahta) => [
- q(3664),
- q(0),
+ q(3688),
+ q(1),
],
q(lahta karen) => [
- q(3664),
+ q(3688),
q(0),
],
q(lahu) => [
- q(3888),
+ q(3914),
q(0),
],
q(lahu shi) => [
- q(3881),
+ q(3907),
q(0),
],
q(lahul lohar) => [
- q(3882),
+ q(3908),
q(0),
],
q(laimbue) => [
- q(3972),
+ q(4003),
q(0),
],
q(laitu chin) => [
- q(1775),
+ q(1779),
q(0),
],
q(laiyolo) => [
- q(3913),
+ q(3940),
q(0),
],
q(lak) => [
- q(3796),
+ q(3820),
q(0),
],
q(laka (chad)) => [
- q(3784),
+ q(3808),
q(0),
],
q(laka (nigeria)) => [
- q(3781),
+ q(3805),
q(0),
],
q(lakalei) => [
- q(3916),
+ q(3945),
q(0),
],
q(lake miwok) => [
- q(3971),
+ q(4002),
q(0),
],
q(lakha) => [
- q(3921),
+ q(3950),
q(0),
],
q(laki) => [
- q(3922),
+ q(3951),
q(0),
],
q(lakkia) => [
- q(3795),
+ q(3819),
q(0),
],
q(lakon) => [
- q(3925),
+ q(3955),
q(0),
],
q(lakonde) => [
- q(3919),
+ q(3948),
q(0),
],
q(lakota) => [
- q(3929),
+ q(3959),
q(0),
],
q(lakota dida) => [
- q(2035),
+ q(2041),
q(0),
],
q(lala) => [
- q(5043),
+ q(5074),
q(0),
],
q(lala-bisa) => [
- q(3839),
+ q(3865),
q(0),
],
q(lala-roba) => [
- q(3931),
+ q(3962),
q(0),
],
q(lalana chinantec) => [
- q(1802),
+ q(1806),
q(0),
],
q(lalia) => [
- q(3782),
+ q(3806),
q(0),
],
q(lama (myanmar)) => [
- q(3791),
+ q(3815),
q(0),
],
q(lama (togo)) => [
- q(3787),
+ q(3811),
q(0),
],
q(lamaholot) => [
- q(6078),
+ q(6115),
q(0),
],
q(lamalera) => [
- q(3968),
+ q(3999),
q(0),
],
q(lamam) => [
- q(3963),
+ q(3994),
q(0),
],
q(lamang) => [
- q(2738),
+ q(2756),
q(0),
],
q(lamatuka) => [
- q(3967),
+ q(3998),
q(0),
],
q(lamba) => [
@@ -38922,59 +39416,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lambadi) => [
- q(3964),
+ q(3995),
q(0),
],
q(lambayeque quechua) => [
- q(5657),
+ q(5691),
q(0),
],
q(lambichhong) => [
- q(3958),
+ q(3989),
q(0),
],
q(lamboya) => [
- q(3973),
+ q(4004),
q(0),
],
q(lambya) => [
- q(3779),
+ q(3803),
q(0),
],
q(lame) => [
- q(1303),
+ q(1305),
q(0),
],
q(lamenu) => [
- q(3969),
+ q(4000),
q(0),
],
q(lamet) => [
- q(3804),
+ q(3828),
q(0),
],
q(lamja-dengsa-tola) => [
- q(3828),
+ q(3854),
q(0),
],
q(lamkang) => [
- q(3961),
+ q(3992),
q(0),
],
q(lamma) => [
- q(3859),
+ q(3885),
q(0),
],
q(lamnso') => [
- q(3986),
+ q(4017),
q(0),
],
q(lamogai) => [
- q(3957),
+ q(3988),
q(0),
],
q(lampung api) => [
- q(3915),
+ q(3942),
q(0),
],
q(lampung nyo) => [
@@ -38982,15 +39476,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lamu) => [
- q(3938),
+ q(3969),
q(0),
],
q(lamu-lamu) => [
- q(3814),
+ q(3838),
q(0),
],
q(lanas lobu) => [
- q(5845),
+ q(5880),
q(0),
],
q(land dayak languages) => [
@@ -38998,91 +39492,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(landoma) => [
- q(3833),
+ q(3859),
q(0),
],
q(lang'e) => [
- q(7625),
+ q(7715),
q(0),
],
q(langam) => [
- q(3983),
+ q(4014),
q(0),
],
q(langbashe) => [
- q(3975),
+ q(4006),
q(0),
],
q(langi) => [
- q(3778),
+ q(3802),
q(0),
],
q(langnian buyang) => [
- q(7599),
+ q(7689),
q(0),
],
q(lango (sudan)) => [
- q(3985),
+ q(4016),
q(0),
],
q(lango (uganda)) => [
- q(3780),
+ q(3804),
q(0),
],
q(langobardic) => [
- q(3978),
+ q(4009),
q(0),
],
q(langue des signes de belgique francophone) => [
- q(5957),
+ q(5994),
+ q(0),
+ ],
+ q(lanima) => [
+ q(4019),
q(0),
],
q(lanoh) => [
- q(3979),
+ q(4010),
q(0),
],
q(lao) => [
q(0245),
q(0),
],
+ q(lao naga) => [
+ q(4964),
+ q(0),
+ ],
q(laomian) => [
- q(4078),
+ q(4110),
q(0),
],
q(laopang) => [
- q(3798),
+ q(3822),
q(0),
],
q(laos sign language) => [
- q(4039),
+ q(4071),
q(0),
],
q(lapaguia-guivini zapotec) => [
- q(7866),
+ q(7964),
q(0),
],
q(laragia) => [
- q(4020),
+ q(4052),
q(0),
],
q(larantuka malay) => [
- q(4028),
+ q(4060),
q(0),
],
q(lardil) => [
- q(3815),
+ q(3839),
q(0),
],
q(larevat) => [
- q(4029),
+ q(4061),
q(0),
],
q(large flowery miao) => [
- q(2765),
+ q(2783),
q(0),
],
q(lari) => [
- q(4023),
+ q(4055),
q(0),
],
q(larike-wakasihu) => [
@@ -39090,39 +39592,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(laro) => [
- q(4026),
+ q(4058),
q(0),
],
q(larteh) => [
- q(3786),
+ q(3810),
q(0),
],
q(laru) => [
- q(3783),
+ q(3807),
q(0),
],
q(lasalimu) => [
- q(3943),
+ q(3974),
q(0),
],
q(lasgerdi) => [
- q(4031),
+ q(4063),
q(0),
],
q(lashi) => [
- q(4036),
+ q(4068),
q(0),
],
q(lasi) => [
- q(4042),
+ q(4074),
q(0),
],
q(late middle chinese) => [
- q(4045),
+ q(4077),
q(0),
],
q(latgalian) => [
- q(4046),
+ q(4078),
q(0),
],
q(latin) => [
@@ -39130,11 +39632,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(latu) => [
- q(4051),
+ q(4083),
q(0),
],
q(latunde) => [
- q(4048),
+ q(4080),
q(0),
],
q(latvian) => [
@@ -39142,99 +39644,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(latvian sign language) => [
- q(4037),
+ q(4069),
q(0),
],
q(lau) => [
- q(3949),
+ q(3980),
q(0),
],
q(laua) => [
- q(4055),
+ q(4087),
q(0),
],
q(lauan) => [
- q(3950),
+ q(3981),
q(0),
],
q(lauje) => [
- q(3789),
+ q(3813),
q(0),
],
q(laura) => [
- q(4062),
+ q(4094),
q(0),
],
q(laurentian) => [
- q(4019),
+ q(4051),
q(0),
],
q(lautu chin) => [
- q(1780),
+ q(1784),
q(0),
],
q(lavatbura-lamusong) => [
- q(3811),
+ q(3835),
q(0),
],
q(lave) => [
- q(1424),
+ q(1426),
q(0),
],
q(laven) => [
- q(3805),
+ q(3829),
q(0),
],
q(lavrung) => [
- q(3081),
- q(0),
+ q(3105),
+ q(1),
],
q(lavukaleve) => [
- q(4070),
+ q(4102),
q(0),
],
q(lawangan) => [
- q(3813),
+ q(3837),
+ q(0),
+ ],
+ q(lawu) => [
+ q(4113),
q(0),
],
q(lawunuia) => [
- q(6451),
+ q(6489),
q(0),
],
q(layakha) => [
- q(4082),
+ q(4115),
q(0),
],
q(laz) => [
- q(4088),
+ q(4121),
q(0),
],
q(lealao chinantec) => [
- q(1772),
+ q(1776),
q(0),
],
q(leco) => [
- q(3840),
+ q(3866),
q(0),
],
q(ledo kaili) => [
- q(3860),
+ q(3886),
q(0),
],
q(leelau) => [
- q(3831),
+ q(3857),
q(0),
],
q(lefa) => [
- q(3863),
+ q(3889),
q(0),
],
q(lega-mwenga) => [
- q(3872),
+ q(3898),
q(0),
],
q(lega-shabunda) => [
- q(3838),
+ q(3864),
q(0),
],
q(legbo) => [
@@ -39242,199 +39748,199 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(legenyem) => [
- q(3816),
+ q(3840),
q(0),
],
q(lehali) => [
- q(6646),
+ q(6685),
q(0),
],
q(lehalurup) => [
- q(6905),
+ q(6948),
q(0),
],
q(lehar) => [
- q(1644),
+ q(1647),
q(0),
],
q(leinong naga) => [
- q(4087),
+ q(4120),
q(0),
],
q(leipon) => [
- q(3848),
+ q(3874),
q(0),
],
q(lelak) => [
- q(3941),
+ q(3972),
q(0),
],
q(lele (chad)) => [
- q(3944),
+ q(3975),
q(0),
],
q(lele (democratic republic of congo)) => [
- q(3849),
+ q(3875),
q(0),
],
q(lele (guinea)) => [
- q(3933),
+ q(3964),
q(0),
],
q(lele (papua new guinea)) => [
- q(3935),
+ q(3966),
q(0),
],
q(lelemi) => [
- q(3843),
+ q(3869),
q(0),
],
q(lelepa) => [
- q(4012),
+ q(4044),
q(0),
],
q(lembena) => [
- q(3854),
+ q(3880),
q(0),
],
q(lemerig) => [
- q(4030),
+ q(4062),
q(0),
],
q(lemio) => [
- q(3846),
+ q(3872),
q(0),
],
q(lemnian) => [
- q(7339),
+ q(7404),
q(0),
],
q(lemolang) => [
- q(3862),
+ q(3888),
q(0),
],
q(lemoro) => [
- q(3830),
+ q(3856),
q(0),
],
q(lenakel) => [
- q(6588),
+ q(6627),
q(0),
],
q(lenca) => [
- q(3851),
+ q(3877),
q(0),
],
q(lendu) => [
- q(3841),
+ q(3867),
q(0),
],
q(lengilu) => [
- q(3869),
+ q(3895),
q(0),
],
q(lengo) => [
- q(3875),
+ q(3901),
q(0),
],
q(lengola) => [
- q(3847),
+ q(3873),
q(0),
],
q(lengua) => [
- q(3844),
+ q(3870),
q(0),
],
q(lengua de senas catalana) => [
- q(1866),
- q(0),
+ q(1871),
+ q(1),
],
q(lengua de senas del paraguay) => [
- q(5648),
- q(0),
+ q(5682),
+ q(1),
],
q(lengua de senas panamenas) => [
- q(4040),
- q(0),
+ q(4072),
+ q(1),
],
q(leningitij) => [
- q(3981),
+ q(4012),
q(0),
],
q(lenje) => [
- q(3845),
+ q(3871),
q(0),
],
q(lenkau) => [
- q(3855),
+ q(3881),
q(0),
],
q(lenyima) => [
- q(3827),
+ q(3853),
q(0),
],
q(leonese) => [
q(0030),
- q(0),
+ q(2),
],
q(lepcha) => [
- q(3853),
+ q(3879),
q(0),
],
q(lepki) => [
- q(4013),
+ q(4045),
q(0),
],
q(lepontic) => [
- q(7344),
+ q(7409),
q(0),
],
q(lere) => [
- q(2557),
+ q(2574),
q(0),
],
q(lese) => [
- q(3856),
+ q(3882),
q(0),
],
q(lesing-gelimi) => [
- q(3857),
+ q(3883),
q(0),
],
q(letemboi) => [
- q(4961),
+ q(4989),
q(0),
],
q(leti (cameroon)) => [
- q(3852),
+ q(3878),
q(0),
],
q(leti (indonesia)) => [
- q(4047),
+ q(4079),
q(0),
],
q(letzeburgesch) => [
q(0254),
- q(0),
+ q(1),
],
q(levuka) => [
- q(4072),
+ q(4104),
q(0),
],
q(lewo) => [
- q(4081),
+ q(4114),
q(0),
],
q(lewo eleng) => [
- q(4074),
+ q(4106),
q(0),
],
q(lewotobi) => [
- q(4080),
+ q(4112),
q(0),
],
q(leyigha) => [
- q(1000),
+ q(1001),
q(0),
],
q(lezghian) => [
@@ -39442,135 +39948,135 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lhaovo) => [
- q(4272),
- q(0),
+ q(4304),
+ q(1),
],
q(lhokpu) => [
- q(3885),
+ q(3911),
q(0),
],
q(lhomi) => [
- q(3883),
+ q(3909),
q(0),
],
q(li'o) => [
- q(3914),
+ q(3941),
q(0),
],
q(liabuku) => [
- q(3909),
+ q(3935),
q(0),
],
q(liana-seti) => [
- q(6228),
+ q(6265),
q(0),
],
q(liangmai naga) => [
- q(4895),
+ q(4922),
q(0),
],
q(lianshan zhuang) => [
- q(7785),
+ q(7883),
q(0),
],
q(liberia kpelle) => [
- q(7395),
+ q(7465),
q(0),
],
q(liberian english) => [
- q(3904),
+ q(3930),
q(0),
],
q(libido) => [
- q(3903),
+ q(3929),
q(0),
],
q(libinza) => [
- q(3911),
+ q(3937),
q(0),
],
q(libon bikol) => [
- q(3802),
+ q(3826),
q(0),
],
q(liburnian) => [
- q(7341),
+ q(7406),
q(0),
],
q(libyan arabic) => [
- q(1002),
+ q(1003),
q(0),
],
q(libyan sign language) => [
- q(3808),
+ q(3832),
q(0),
],
q(ligbi) => [
- q(3895),
+ q(3921),
q(0),
],
q(ligenza) => [
- q(3878),
+ q(3904),
q(0),
],
q(ligurian) => [
- q(3898),
+ q(3924),
q(0),
],
q(ligurian (ancient)) => [
- q(7340),
+ q(7405),
q(0),
],
q(lihir) => [
- q(3896),
+ q(3922),
q(0),
],
q(lijili) => [
- q(4233),
+ q(4265),
q(0),
],
q(lika) => [
- q(3899),
+ q(3925),
q(0),
],
q(liki) => [
- q(3901),
+ q(3927),
q(0),
],
q(likila) => [
- q(3893),
+ q(3919),
q(0),
],
q(likuba) => [
- q(3719),
+ q(3743),
q(0),
],
q(likum) => [
- q(3890),
+ q(3916),
q(0),
],
q(likwala) => [
- q(3673),
+ q(3697),
q(0),
],
q(lilau) => [
- q(3942),
+ q(3973),
q(0),
],
q(lillooet) => [
- q(3900),
+ q(3926),
q(0),
],
q(limassa) => [
- q(1307),
+ q(1309),
q(0),
],
q(limbu) => [
- q(3894),
+ q(3920),
q(0),
],
q(limbum) => [
- q(3966),
+ q(3997),
q(0),
],
q(limburgan) => [
@@ -39579,30 +40085,30 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(limburger) => [
q(0249),
- q(0),
+ q(1),
],
q(limburgish) => [
q(0249),
- q(0),
+ q(2),
],
q(limi) => [
- q(7598),
+ q(7688),
q(0),
],
q(limilngan) => [
- q(3953),
+ q(3984),
q(0),
],
q(limos kalinga) => [
- q(3441),
+ q(3465),
q(0),
],
q(lindu) => [
- q(3428),
+ q(3452),
q(0),
],
q(linear a) => [
- q(3774),
+ q(3798),
q(0),
],
q(lingala) => [
@@ -39610,23 +40116,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lingao) => [
- q(5242),
+ q(5275),
q(0),
],
q(lingarak) => [
- q(3870),
+ q(3896),
q(0),
],
q(lingkhim) => [
- q(3897),
+ q(3923),
q(0),
],
q(lingua franca) => [
- q(5493),
+ q(5525),
q(0),
],
q(lingua franca nova) => [
- q(3864),
+ q(3890),
q(0),
],
q(lipan apache) => [
@@ -39634,27 +40140,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lipo) => [
- q(4015),
+ q(4047),
q(0),
],
q(lisabata-nuniali) => [
- q(3824),
+ q(3849),
q(0),
],
q(lisela) => [
- q(3821),
+ q(3845),
q(0),
],
q(lish) => [
- q(4035),
+ q(4067),
q(0),
],
q(lishan didan) => [
- q(6662),
+ q(6701),
q(0),
],
q(lishana deni) => [
- q(4032),
+ q(4064),
q(0),
],
q(lishanid noshan) => [
@@ -39662,11 +40168,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lisu) => [
- q(3905),
+ q(3931),
q(0),
],
q(literary chinese) => [
- q(4085),
+ q(4118),
q(0),
],
q(lithuanian) => [
@@ -39674,87 +40180,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lithuanian sign language) => [
- q(3948),
+ q(3979),
q(0),
],
q(litzlitz) => [
- q(4086),
+ q(4119),
q(0),
],
q(liujiang zhuang) => [
- q(7783),
+ q(7881),
q(0),
],
q(liuqian zhuang) => [
- q(7786),
+ q(7884),
q(0),
],
q(liv) => [
- q(3907),
+ q(3933),
q(0),
],
q(livvi) => [
- q(5223),
+ q(5256),
q(0),
],
q(llengua de signes catalana) => [
- q(1866),
- q(0),
+ q(1871),
+ q(2),
],
q(llengua de signes valenciana) => [
- q(7015),
- q(0),
+ q(7058),
+ q(1),
],
q(lo-toga) => [
- q(3887),
+ q(3913),
q(0),
],
q(loarki) => [
- q(4022),
+ q(4054),
q(0),
],
q(lobala) => [
- q(4003),
+ q(4035),
q(0),
],
q(lobi) => [
- q(3990),
+ q(4022),
q(0),
],
q(lodhi) => [
- q(3803),
+ q(3827),
q(0),
],
q(logba) => [
- q(3874),
+ q(3900),
q(0),
],
q(logo) => [
- q(3994),
+ q(4026),
q(0),
],
q(logol) => [
- q(3993),
+ q(4025),
q(0),
],
q(logooli) => [
- q(5715),
+ q(5749),
q(0),
],
q(logorik) => [
- q(3906),
+ q(3932),
q(0),
],
q(logudorese sardinian) => [
- q(6182),
+ q(6219),
q(0),
],
q(lohorung) => [
- q(3807),
+ q(3831),
q(0),
],
q(loja highland quichua) => [
- q(5679),
+ q(5713),
q(0),
],
q(lojban) => [
@@ -39762,176 +40268,176 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lokaa) => [
- q(7517),
+ q(7605),
q(0),
],
q(loke) => [
- q(4011),
+ q(4043),
q(0),
],
q(loko) => [
- q(3998),
+ q(4030),
q(0),
],
q(lokoya) => [
- q(3930),
+ q(3961),
q(0),
],
q(lola) => [
- q(3817),
+ q(3841),
q(0),
],
q(lolak) => [
- q(3947),
+ q(3978),
q(0),
],
q(lole) => [
- q(3937),
+ q(3968),
q(0),
],
q(lolo) => [
- q(3932),
+ q(3963),
q(0),
],
q(loloda) => [
- q(3989),
+ q(4021),
q(0),
],
q(lolopo) => [
- q(7532),
+ q(7620),
q(0),
],
q(loma (cote d'ivoire)) => [
- q(3996),
+ q(4028),
q(0),
],
q(loma (liberia)) => [
- q(3999),
+ q(4031),
q(0),
],
q(lomaiviti) => [
- q(3970),
+ q(4001),
q(0),
],
q(lomavren) => [
- q(5786),
+ q(5821),
q(0),
],
q(lombard) => [
- q(3965),
+ q(3996),
q(0),
],
q(lombi) => [
- q(3959),
+ q(3990),
q(0),
],
q(lombo) => [
- q(4001),
+ q(4033),
q(0),
],
q(lomwe) => [
- q(4827),
+ q(4854),
q(0),
],
q(loncong) => [
- q(3818),
+ q(3842),
q(0),
],
q(long phuri naga) => [
- q(4014),
+ q(4046),
q(0),
],
q(long wat) => [
- q(6726),
+ q(6765),
q(0),
],
q(longgu) => [
- q(3877),
+ q(3903),
q(0),
],
q(longto) => [
- q(7164),
+ q(7212),
q(0),
],
q(longuda) => [
- q(3987),
+ q(4018),
q(0),
],
q(loniu) => [
- q(4005),
+ q(4037),
q(0),
],
q(lonwolwol) => [
- q(1845),
+ q(1850),
q(0),
],
q(lonzo) => [
- q(3988),
+ q(4020),
q(0),
],
q(loo) => [
- q(3835),
+ q(3861),
q(0),
],
q(lopa) => [
- q(4002),
+ q(4034),
q(0),
],
q(lopi) => [
- q(4008),
+ q(4040),
q(0),
],
q(lopit) => [
- q(4016),
+ q(4048),
q(0),
],
q(lorang) => [
- q(4025),
+ q(4057),
q(0),
],
q(lorediakarkar) => [
- q(3984),
+ q(4015),
q(0),
],
q(loreto-ucayali spanish) => [
- q(6161),
+ q(6198),
q(0),
],
q(lote) => [
- q(6930),
+ q(6973),
q(0),
],
q(lotha naga) => [
- q(4890),
+ q(4917),
q(0),
],
q(lotud) => [
- q(2161),
+ q(2169),
q(0),
],
q(lou) => [
- q(3997),
+ q(4029),
q(0),
],
q(louisiana creole french) => [
- q(4007),
+ q(4039),
q(0),
],
q(loun) => [
- q(4010),
+ q(4042),
q(0),
],
q(loup a) => [
- q(7343),
+ q(7408),
q(0),
],
q(loup b) => [
- q(7336),
+ q(7401),
q(0),
],
q(lovono) => [
- q(7006),
- q(0),
+ q(7049),
+ q(1),
],
q(low german) => [
q(0306),
@@ -39939,66 +40445,70 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(low saxon) => [
q(0306),
- q(0),
+ q(1),
],
q(lower burdekin) => [
- q(7249),
+ q(7300),
q(0),
],
q(lower chehalis) => [
- q(1707),
+ q(1710),
q(0),
],
q(lower grand valley dani) => [
- q(2100),
+ q(2107),
q(0),
],
q(lower silesian) => [
- q(6073),
+ q(6110),
q(0),
],
q(lower sorbian) => [
q(0113),
q(0),
],
+ q(lower southern aranda) => [
+ q(0991),
+ q(0),
+ ],
q(lower ta'oih) => [
- q(6718),
+ q(6757),
q(0),
],
q(lower tanana) => [
- q(6326),
+ q(6365),
q(0),
],
q(lowland oaxaca chontal) => [
- q(1779),
+ q(1783),
q(0),
],
q(lowland tarahumara) => [
- q(6328),
+ q(6367),
q(0),
],
q(loxicha zapotec) => [
- q(7869),
+ q(7967),
q(0),
],
q(loyop) => [
- q(6905),
- q(0),
+ q(6948),
+ q(1),
],
q(lozi) => [
q(0253),
q(0),
],
q(lu) => [
- q(3311),
+ q(3335),
q(0),
],
q(lua') => [
- q(5562),
+ q(5595),
q(0),
],
q(luang) => [
- q(3861),
+ q(3887),
q(0),
],
q(luba-katanga) => [
@@ -40010,55 +40520,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lubila) => [
- q(3189),
+ q(3213),
q(0),
],
q(lubu) => [
- q(3819),
+ q(3843),
q(0),
],
q(lubuagan kalinga) => [
- q(3458),
+ q(3482),
q(0),
],
q(lubukusu) => [
- q(1577),
- q(0),
+ q(1580),
+ q(1),
],
q(luchazi) => [
- q(3820),
+ q(3844),
q(0),
],
q(lucumi) => [
- q(4061),
+ q(4093),
q(0),
],
q(ludian) => [
- q(4053),
+ q(4085),
q(0),
],
q(lufu) => [
- q(3837),
+ q(3863),
q(0),
],
q(lugbara) => [
- q(3867),
+ q(3893),
q(0),
],
q(luguru) => [
- q(5837),
+ q(5872),
+ q(0),
+ ],
+ q(luhu) => [
+ q(3848),
q(0),
],
q(lui) => [
- q(3793),
+ q(3817),
q(0),
],
q(luidakho-luisukha-lutirichi) => [
- q(2884),
- q(0),
+ q(2905),
+ q(1),
],
q(luimbi) => [
- q(4059),
+ q(4091),
q(0),
],
q(luiseno) => [
@@ -40066,11 +40580,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lukabaras) => [
- q(3917),
- q(0),
+ q(3946),
+ q(1),
],
q(lukpa) => [
- q(2119),
+ q(2127),
+ q(0),
+ ],
+ q(lule) => [
+ q(6900),
q(0),
],
q(lule sami) => [
@@ -40078,35 +40596,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lulogooli) => [
- q(5715),
- q(0),
+ q(5749),
+ q(1),
],
q(lumba-yakkha) => [
- q(4064),
+ q(4096),
q(0),
],
q(lumbee) => [
- q(3974),
+ q(4005),
q(0),
],
q(lumbu) => [
- q(4060),
+ q(4092),
q(0),
],
q(lumun) => [
- q(3954),
+ q(3985),
q(0),
],
q(lun bawang) => [
- q(3977),
- q(0),
+ q(4008),
+ q(1),
],
q(luna) => [
- q(4056),
+ q(4088),
q(0),
],
q(lunanakha) => [
- q(4057),
+ q(4089),
q(0),
],
q(lunda) => [
@@ -40114,15 +40632,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lundayeh) => [
- q(3977),
+ q(4008),
+ q(0),
+ ],
+ q(lungalunga) => [
+ q(7032),
q(0),
],
q(lungga) => [
- q(3865),
+ q(3891),
q(0),
],
q(luo (cameroon)) => [
- q(4066),
+ q(4098),
q(0),
],
q(luo (kenya and tanzania)) => [
@@ -40130,19 +40652,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(luopohe hmong) => [
- q(2773),
+ q(2791),
q(0),
],
q(luopohe miao) => [
- q(2773),
- q(0),
+ q(2791),
+ q(1),
],
q(luri) => [
- q(3826),
+ q(3852),
q(0),
],
q(lusengo) => [
- q(4033),
+ q(4065),
q(0),
],
q(lushai) => [
@@ -40150,35 +40672,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(lushootseed) => [
- q(4063),
+ q(4095),
q(0),
],
q(lusi) => [
- q(3320),
+ q(3344),
q(0),
],
q(lusitanian) => [
- q(7345),
+ q(7410),
q(0),
],
q(lutachoni) => [
- q(4050),
- q(0),
+ q(4082),
+ q(1),
],
q(lutos) => [
- q(4787),
+ q(4814),
q(0),
],
q(luvale) => [
- q(4054),
+ q(4086),
q(0),
],
q(luwati) => [
- q(4065),
+ q(4097),
q(0),
],
q(luwo) => [
- q(4079),
+ q(4111),
q(0),
],
q(luxembourgish) => [
@@ -40186,183 +40708,183 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(luyana) => [
- q(4084),
+ q(4117),
q(0),
],
q(luyia) => [
- q(4067),
+ q(4099),
q(0),
],
q(lwalu) => [
- q(4073),
+ q(4105),
q(0),
],
q(lycian) => [
- q(7337),
+ q(7402),
q(0),
],
q(lydian) => [
- q(7338),
+ q(7403),
q(0),
],
q(lyele) => [
- q(3842),
+ q(3868),
q(0),
],
q(lyngngam) => [
- q(4083),
+ q(4116),
q(0),
],
q(lyons sign language) => [
- q(4034),
+ q(4066),
q(0),
],
q(ma (democratic republic of congo)) => [
- q(4517),
+ q(4547),
q(0),
],
q(ma (papua new guinea)) => [
- q(4307),
+ q(4339),
q(0),
],
q(ma manda) => [
- q(6045),
+ q(6082),
q(0),
],
q(ma'anyan) => [
- q(4273),
+ q(4305),
q(0),
],
q(ma'di) => [
- q(4258),
+ q(4290),
q(0),
],
q(ma'ya) => [
- q(6087),
+ q(6124),
q(0),
],
q(maa) => [
- q(1784),
+ q(1788),
q(0),
],
q(maaka) => [
- q(4197),
+ q(4229),
q(0),
],
q(maasina fulfulde) => [
- q(2334),
+ q(2346),
q(0),
],
q(maay) => [
- q(7613),
+ q(7703),
q(0),
],
q(maba (chad)) => [
- q(4157),
+ q(4190),
q(0),
],
q(maba (indonesia)) => [
- q(4459),
+ q(4489),
q(0),
],
q(mabaale) => [
- q(4391),
+ q(4422),
q(0),
],
q(mabaan) => [
- q(4225),
+ q(4257),
q(0),
],
q(mabaka valley kalinga) => [
- q(3386),
+ q(3410),
q(0),
],
q(mabire) => [
- q(4566),
+ q(4596),
q(0),
],
q(maca) => [
- q(4127),
+ q(4160),
q(0),
],
q(macaguaje) => [
- q(4138),
+ q(4171),
q(0),
],
q(macaguan) => [
- q(4114),
+ q(4147),
q(0),
],
q(macanese) => [
- q(4692),
+ q(4720),
q(0),
],
q(macedo-romanian) => [
q(0362),
- q(0),
+ q(2),
],
q(macedonian) => [
q(0262),
q(0),
],
q(machame) => [
- q(3096),
+ q(3120),
q(0),
],
q(machiguenga) => [
- q(4128),
+ q(4161),
q(0),
],
q(machinere) => [
- q(4437),
+ q(4467),
q(0),
],
q(machinga) => [
- q(4599),
+ q(4629),
q(0),
],
q(maco) => [
- q(7172),
+ q(7220),
q(0),
],
q(macuna) => [
- q(4673),
+ q(4701),
q(0),
],
q(macushi) => [
- q(4104),
+ q(4137),
q(0),
],
q(mada (cameroon)) => [
- q(4647),
+ q(4676),
q(0),
],
q(mada (nigeria)) => [
- q(4153),
+ q(4186),
q(0),
],
q(madagascar sign language) => [
- q(4677),
+ q(4705),
q(0),
],
q(madak) => [
- q(4389),
+ q(4420),
q(0),
],
q(maden) => [
- q(7370),
+ q(7435),
q(0),
],
q(madhi madhi) => [
- q(2083),
+ q(2089),
q(0),
],
q(madi) => [
- q(2601),
+ q(2618),
q(0),
],
q(madngele) => [
- q(7798),
+ q(7896),
q(0),
],
q(madurese) => [
@@ -40370,31 +40892,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mae) => [
- q(4371),
+ q(4402),
q(0),
],
q(maek) => [
- q(2772),
+ q(2790),
q(0),
],
q(maeng itneg) => [
- q(2999),
+ q(3022),
q(0),
],
q(mafa) => [
- q(4092),
+ q(4125),
q(0),
],
q(mafea) => [
- q(4339),
+ q(4371),
q(0),
],
q(mag-antsi ayta) => [
- q(5962),
+ q(5999),
q(0),
],
q(mag-indi ayta) => [
- q(1300),
+ q(1302),
q(0),
],
q(magahi) => [
@@ -40402,99 +40924,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(magbukun ayta) => [
- q(1009),
+ q(1010),
q(0),
],
q(magdalena penasco mixtec) => [
- q(7449),
+ q(7524),
q(0),
],
q(maghdi) => [
- q(2543),
+ q(2559),
q(0),
],
q(magoma) => [
- q(2549),
+ q(2565),
q(0),
],
q(magori) => [
- q(7754),
+ q(7852),
q(0),
],
q(maguindanaon) => [
- q(4159),
+ q(4192),
q(0),
],
q(mah meri) => [
- q(4254),
- q(0),
+ q(4286),
+ q(1),
],
q(mahali) => [
- q(4317),
+ q(4349),
q(0),
],
q(maharastri prakrit) => [
- q(5489),
+ q(5521),
q(0),
],
q(mahasu pahari) => [
- q(1161),
+ q(1162),
q(0),
],
q(mahican) => [
- q(4318),
+ q(4350),
q(0),
],
q(mahongwe) => [
- q(4251),
+ q(4283),
q(0),
],
q(mahou) => [
- q(4650),
+ q(4679),
q(0),
],
q(mai brat) => [
- q(1012),
+ q(1013),
q(0),
],
q(maia) => [
- q(6060),
+ q(6097),
q(0),
],
q(maiadomu) => [
- q(4699),
+ q(4727),
q(0),
],
q(maiani) => [
- q(6585),
+ q(6624),
q(0),
],
q(maii) => [
- q(4379),
+ q(4410),
q(0),
],
q(mailu) => [
- q(4245),
+ q(4277),
q(0),
],
q(maindo) => [
- q(1923),
+ q(1929),
q(0),
],
q(mainfrankisch) => [
- q(6988),
+ q(7031),
q(0),
],
q(mainstream kenyah) => [
- q(7321),
+ q(7386),
q(0),
],
q(mairasi) => [
- q(7857),
+ q(7955),
q(0),
],
q(maisin) => [
- q(4117),
+ q(4150),
q(0),
],
q(maithili) => [
@@ -40502,55 +41024,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(maiwa (indonesia)) => [
- q(7137),
+ q(7183),
q(0),
],
q(maiwa (papua new guinea)) => [
- q(4541),
+ q(4571),
q(0),
],
q(maiwala) => [
- q(4568),
+ q(4598),
q(0),
],
q(majang) => [
- q(4438),
+ q(4468),
q(0),
],
q(majera) => [
- q(7356),
+ q(7421),
q(0),
],
q(majhi) => [
- q(4319),
+ q(4351),
q(0),
],
q(majhwar) => [
- q(4376),
+ q(4407),
q(0),
],
q(majukayang kalinga) => [
- q(3434),
+ q(3458),
q(0),
],
q(mak (china)) => [
- q(4325),
+ q(4357),
q(0),
],
q(mak (nigeria)) => [
- q(5346),
+ q(5379),
q(0),
],
q(makaa) => [
- q(4142),
+ q(4175),
q(0),
],
q(makah) => [
- q(4659),
+ q(4688),
q(0),
],
q(makasae) => [
- q(4343),
+ q(4375),
q(0),
],
q(makasar) => [
@@ -40558,7 +41080,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(makassar malay) => [
- q(4215),
+ q(4247),
q(0),
],
q(makayam) => [
@@ -40566,135 +41088,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(makhuwa) => [
- q(7002),
+ q(7045),
q(0),
],
q(makhuwa-marrevone) => [
- q(7350),
+ q(7415),
q(0),
],
q(makhuwa-meetto) => [
- q(4232),
+ q(4264),
q(0),
],
q(makhuwa-moniga) => [
- q(4262),
+ q(4294),
q(0),
],
q(makhuwa-saka) => [
- q(7434),
+ q(7508),
q(0),
],
q(makhuwa-shirima) => [
- q(6993),
+ q(7036),
q(0),
],
q(maklew) => [
- q(4230),
+ q(4262),
q(0),
],
q(makolkol) => [
- q(7794),
+ q(7892),
q(0),
],
q(makonde) => [
- q(3216),
+ q(3240),
q(0),
],
q(maku'a) => [
- q(4069),
+ q(4101),
q(0),
],
q(makurap) => [
- q(4453),
+ q(4483),
q(0),
],
q(makuri naga) => [
- q(3100),
+ q(3124),
q(0),
],
q(makwe) => [
- q(7611),
+ q(7701),
q(0),
],
q(makyan naga) => [
- q(6874),
+ q(6915),
q(0),
],
q(mal) => [
- q(4349),
+ q(4380),
q(0),
],
q(mal paharia) => [
- q(4321),
+ q(4353),
q(0),
],
q(mala (nigeria)) => [
- q(5846),
+ q(5881),
q(0),
],
q(mala (papua new guinea)) => [
- q(5382),
+ q(5414),
q(0),
],
q(mala malasar) => [
- q(2941),
+ q(2963),
q(0),
],
q(malaccan creole malay) => [
- q(1689),
+ q(1692),
q(0),
],
q(malaccan creole portuguese) => [
- q(4139),
+ q(4172),
q(0),
],
q(malagasy) => [
q(0283),
q(0),
],
- q(malakhel) => [
- q(4347),
- q(0),
- ],
q(malalamai) => [
- q(4385),
+ q(4416),
q(0),
],
q(malango) => [
- q(4356),
+ q(4387),
q(0),
],
q(malankuravan) => [
- q(4308),
+ q(4340),
q(0),
],
q(malapandaram) => [
- q(4309),
+ q(4341),
q(0),
],
q(malaryan) => [
- q(4310),
+ q(4342),
q(0),
],
q(malas) => [
- q(4335),
+ q(4367),
q(0),
],
q(malasar) => [
- q(7618),
+ q(7708),
q(0),
],
q(malavedan) => [
- q(4311),
+ q(4343),
q(0),
],
q(malawi lomwe) => [
- q(4000),
+ q(4032),
q(0),
],
q(malawi sena) => [
- q(6276),
+ q(6315),
q(0),
],
q(malay) => [
@@ -40702,7 +41220,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(malay (individual language)) => [
- q(7784),
+ q(7882),
q(0),
],
q(malay (macrolanguage)) => [
@@ -40714,15 +41232,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(malayic dayak) => [
- q(7275),
+ q(7334),
q(0),
],
q(malaynon) => [
- q(4366),
+ q(4397),
q(0),
],
q(malayo) => [
- q(4116),
+ q(4149),
q(0),
],
q(malayo-polynesian languages) => [
@@ -40730,91 +41248,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(malaysian sign language) => [
- q(7358),
+ q(7423),
q(0),
],
q(malba birifor) => [
- q(1151),
+ q(1152),
q(0),
],
q(maldivian) => [
q(0110),
- q(0),
+ q(2),
],
q(male) => [
- q(2809),
- q(0),
+ q(2827),
+ q(1),
],
q(male (ethiopia)) => [
- q(4174),
+ q(4207),
q(0),
],
q(male (papua new guinea)) => [
- q(4155),
+ q(4188),
q(0),
],
q(malecite-passamaquoddy) => [
- q(5561),
+ q(5594),
q(0),
],
q(maleku jaika) => [
- q(2645),
+ q(2663),
q(0),
],
q(maleng) => [
- q(5459),
+ q(5491),
q(0),
],
q(maleu-kilenge) => [
- q(4236),
+ q(4268),
q(0),
],
q(malfaxal) => [
- q(4365),
+ q(4396),
q(0),
],
q(malgana) => [
- q(6994),
+ q(7037),
q(0),
],
q(malgbe) => [
- q(4632),
+ q(4661),
q(0),
],
q(mali) => [
- q(2434),
+ q(2447),
q(0),
],
q(maligo) => [
- q(4612),
+ q(4641),
q(0),
],
q(malila) => [
- q(4241),
+ q(4273),
q(0),
],
q(malimba) => [
- q(4678),
+ q(4706),
q(0),
],
q(malimpung) => [
- q(4351),
+ q(4382),
q(0),
],
q(malinaltepec me'phaa) => [
- q(6378),
+ q(6417),
q(0),
],
q(malinaltepec tlapanec) => [
- q(6378),
- q(0),
+ q(6417),
+ q(1),
],
q(malo) => [
- q(4344),
+ q(4376),
q(0),
],
q(malol) => [
- q(4111),
+ q(4144),
q(0),
],
q(maltese) => [
@@ -40822,107 +41340,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(maltese sign language) => [
- q(4163),
+ q(4196),
q(0),
],
q(malua bay) => [
- q(4354),
+ q(4385),
q(0),
],
q(malvi) => [
- q(4570),
+ q(4600),
q(0),
],
q(malyangapa) => [
- q(7552),
+ q(7641),
q(0),
],
q(mam) => [
- q(4094),
+ q(4127),
q(0),
],
q(mama) => [
- q(4367),
+ q(4398),
q(0),
],
q(mamaa) => [
- q(4255),
+ q(4287),
q(0),
],
q(mamainde) => [
- q(7133),
+ q(7179),
q(0),
],
q(mamanwa) => [
- q(4380),
+ q(4411),
q(0),
],
q(mamara senoufo) => [
- q(4662),
+ q(4691),
q(0),
],
q(mamasa) => [
- q(4467),
+ q(4497),
q(0),
],
q(mambae) => [
- q(4237),
+ q(4269),
q(0),
],
q(mambai) => [
- q(4145),
+ q(4178),
q(0),
],
q(mamboru) => [
- q(4581),
+ q(4611),
q(0),
],
q(mambwe-lungu) => [
- q(4242),
+ q(4274),
q(0),
],
q(mampruli) => [
- q(4099),
+ q(4132),
q(0),
],
q(mamuju) => [
- q(4481),
+ q(4511),
q(0),
],
q(mamulique) => [
- q(2250),
+ q(2261),
q(0),
],
q(mamusi) => [
- q(3217),
+ q(3241),
q(0),
],
q(mamvu) => [
- q(4160),
+ q(4193),
q(0),
],
q(man met) => [
- q(4378),
+ q(4409),
q(0),
],
q(manado malay) => [
- q(7359),
+ q(7424),
q(0),
],
q(manam) => [
- q(4579),
+ q(4609),
q(0),
],
q(manambu) => [
- q(4348),
+ q(4379),
q(0),
],
q(manangba) => [
- q(4955),
+ q(4983),
q(0),
],
q(manangkari) => [
- q(7816),
+ q(7914),
q(0),
],
q(manchu) => [
@@ -40930,31 +41448,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(manda (australia)) => [
- q(7787),
+ q(7885),
q(0),
],
q(manda (india)) => [
- q(4250),
+ q(4282),
q(0),
],
q(manda (tanzania)) => [
- q(4243),
+ q(4275),
q(0),
],
q(mandahuaca) => [
- q(4269),
+ q(4301),
q(0),
],
q(mandaic) => [
- q(4277),
+ q(4309),
q(0),
],
q(mandan) => [
- q(4266),
+ q(4298),
q(0),
],
q(mandandanyi) => [
- q(7797),
+ q(7895),
q(0),
],
q(mandar) => [
@@ -40962,19 +41480,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mandara) => [
- q(6353),
+ q(6392),
q(0),
],
q(mandari) => [
- q(4478),
+ q(4508),
q(0),
],
q(mandarin chinese) => [
- q(1790),
+ q(1794),
q(0),
],
q(mandaya) => [
- q(4507),
+ q(4537),
q(0),
],
q(mande languages) => [
@@ -40982,23 +41500,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mandeali) => [
- q(4305),
+ q(4337),
q(0),
],
q(mander) => [
- q(4475),
+ q(4505),
q(0),
],
+ q(manding) => [
+ q(0269),
+ q(1),
+ ],
q(mandingo) => [
q(0269),
q(0),
],
q(mandinka) => [
- q(4400),
+ q(4431),
q(0),
],
q(mandjak) => [
- q(4221),
+ q(4253),
q(0),
],
q(mandobo atas) => [
@@ -41006,83 +41528,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mandobo bawah) => [
- q(1557),
+ q(1560),
q(0),
],
q(manem) => [
- q(3062),
+ q(3086),
q(0),
],
q(mang) => [
- q(7815),
+ q(7913),
q(0),
],
q(manga kanuri) => [
- q(3185),
+ q(3209),
q(0),
],
q(mangala) => [
- q(4188),
+ q(4220),
q(0),
],
q(mangarayi) => [
- q(4436),
+ q(4466),
q(0),
],
q(mangareva) => [
- q(4504),
+ q(4534),
q(0),
],
q(mangas) => [
- q(7817),
+ q(7915),
q(0),
],
q(mangayat) => [
- q(4661),
+ q(4690),
q(0),
],
q(mangbetu) => [
- q(4161),
+ q(4194),
q(0),
],
q(mangbutu) => [
- q(4162),
+ q(4195),
q(0),
],
q(mangerr) => [
- q(7791),
+ q(7889),
q(0),
],
q(mangetti dune !xung) => [
- q(2479),
+ q(2493),
q(0),
],
q(mangga buang) => [
- q(4381),
+ q(4412),
q(0),
],
q(manggarai) => [
- q(4482),
+ q(4512),
q(0),
],
q(mango) => [
- q(4229),
+ q(4261),
q(0),
],
q(mangole) => [
- q(4461),
+ q(4491),
q(0),
],
q(mangseng) => [
- q(4108),
+ q(4141),
q(0),
],
q(mangue) => [
- q(4423),
+ q(4453),
q(0),
],
q(manichaean middle persian) => [
- q(7360),
+ q(7425),
q(0),
],
q(manide) => [
@@ -41090,11 +41612,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(manikion) => [
- q(4412),
+ q(4442),
q(0),
],
q(manipa) => [
- q(4473),
+ q(4503),
q(0),
],
q(manipuri) => [
@@ -41102,19 +41624,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mankanya) => [
- q(3462),
- q(0),
- ],
- q(mann) => [
- q(4196),
+ q(3486),
q(0),
],
q(manna-dora) => [
- q(4314),
+ q(4346),
q(0),
],
q(mannan) => [
- q(4315),
+ q(4347),
+ q(0),
+ ],
+ q(mano) => [
+ q(4228),
q(0),
],
q(manobo languages) => [
@@ -41122,39 +41644,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(manombai) => [
- q(7167),
+ q(7215),
q(0),
],
q(mansaka) => [
- q(4518),
+ q(4548),
q(0),
],
q(mansi) => [
- q(4407),
+ q(4438),
q(0),
],
q(mansoanka) => [
- q(4529),
+ q(4559),
q(0),
],
q(manta) => [
- q(4658),
+ q(4687),
q(0),
],
q(mantsi) => [
- q(5079),
+ q(5111),
q(0),
],
q(manumanaw) => [
- q(3702),
- q(0),
+ q(3726),
+ q(1),
],
q(manumanaw karen) => [
- q(3702),
+ q(3726),
q(0),
],
q(manusela) => [
- q(7085),
+ q(7131),
q(0),
],
q(manx) => [
@@ -41162,31 +41684,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(manya) => [
- q(4683),
+ q(4711),
q(0),
],
q(manyawa) => [
- q(4413),
+ q(4443),
q(0),
],
q(manyika) => [
- q(4629),
+ q(4658),
q(0),
],
q(manza) => [
- q(4695),
+ q(4723),
q(0),
],
q(mao naga) => [
- q(4728),
+ q(4756),
q(0),
],
q(maonan) => [
- q(4370),
+ q(4401),
q(0),
],
q(maore comorian) => [
- q(6269),
+ q(6308),
q(0),
],
q(maori) => [
@@ -41194,87 +41716,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mape) => [
- q(4350),
+ q(4381),
q(0),
],
q(mapena) => [
- q(4402),
+ q(4433),
q(0),
],
q(mapia) => [
- q(4457),
+ q(4487),
q(0),
],
q(mapidian) => [
- q(4455),
+ q(4485),
q(0),
],
q(mapos buang) => [
- q(1622),
+ q(1625),
q(0),
],
q(mapoyo) => [
- q(4133),
+ q(4166),
q(0),
],
q(mapuche) => [
q(0025),
- q(0),
+ q(1),
],
q(mapudungun) => [
q(0025),
q(0),
],
q(mapun) => [
- q(6034),
+ q(6071),
q(0),
],
q(maquiritari) => [
- q(4134),
+ q(4167),
q(0),
],
q(mara) => [
- q(4178),
+ q(4211),
q(0),
],
q(mara chin) => [
- q(4491),
+ q(4521),
q(0),
],
q(marachi) => [
- q(4021),
+ q(4053),
q(0),
],
q(maraghei) => [
- q(6990),
+ q(7033),
q(0),
],
q(maragus) => [
- q(4501),
+ q(4531),
q(0),
],
q(maram naga) => [
- q(4943),
+ q(4971),
q(0),
],
q(marama) => [
- q(4024),
+ q(4056),
q(0),
],
q(maramba) => [
- q(4655),
+ q(4684),
q(0),
],
q(maranao) => [
- q(4505),
+ q(4535),
q(0),
],
+ q(marangis) => [
+ q(7083),
+ q(1),
+ ],
q(maranunggu) => [
- q(7804),
+ q(7902),
q(0),
],
q(mararit) => [
- q(4226),
+ q(4258),
q(0),
],
q(marathi) => [
@@ -41282,43 +41808,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(marau) => [
- q(4594),
+ q(4624),
q(0),
],
q(marba) => [
- q(4439),
+ q(4469),
q(0),
],
q(maremgi) => [
- q(4506),
+ q(4536),
q(0),
],
q(marenje) => [
- q(6998),
+ q(7041),
q(0),
],
q(marfa) => [
- q(4597),
+ q(4627),
q(0),
],
q(margany) => [
- q(7789),
+ q(7887),
q(0),
],
q(marghi central) => [
- q(4502),
+ q(4532),
q(0),
],
q(marghi south) => [
- q(4212),
+ q(4244),
q(0),
],
q(margos-yarowilca-lauricocha quechua) => [
- q(5681),
+ q(5715),
q(0),
],
q(margu) => [
- q(4256),
+ q(4288),
q(0),
],
q(mari) => [
@@ -41326,11 +41852,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mari (east sepik province)) => [
- q(4124),
+ q(4157),
q(0),
],
q(mari (madang province)) => [
- q(2796),
+ q(2814),
q(0),
],
q(mari (russia)) => [
@@ -41338,95 +41864,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(maria (india)) => [
- q(4500),
+ q(4530),
q(0),
],
q(maria (papua new guinea)) => [
- q(4168),
+ q(4201),
q(0),
],
q(maricopa) => [
- q(4486),
+ q(4516),
q(0),
],
q(maridan) => [
- q(7790),
+ q(7888),
q(0),
],
q(maridjabin) => [
- q(7796),
+ q(7894),
q(0),
],
q(marik) => [
- q(1938),
+ q(1944),
q(0),
],
q(marimanindji) => [
- q(7799),
+ q(7897),
q(0),
],
q(marind) => [
- q(4508),
+ q(4538),
q(0),
],
q(maring) => [
- q(4123),
+ q(4156),
q(0),
],
q(maring naga) => [
- q(4975),
+ q(5003),
q(0),
],
q(maringarr) => [
- q(7806),
+ q(7904),
q(0),
],
q(marino) => [
- q(4485),
+ q(4515),
q(0),
],
q(mariri) => [
- q(4466),
+ q(4496),
q(0),
],
q(marithiel) => [
- q(4217),
+ q(4249),
q(0),
],
q(maritime sign language) => [
- q(5058),
+ q(5089),
q(0),
],
q(maritsaua) => [
- q(4523),
+ q(4553),
q(0),
],
q(mariyedi) => [
- q(7811),
+ q(7909),
q(0),
],
q(marka) => [
- q(5776),
+ q(5810),
q(0),
],
q(markweeta) => [
- q(2260),
+ q(2271),
q(0),
],
q(marma) => [
- q(5801),
+ q(5836),
q(0),
],
q(marovo) => [
- q(4591),
+ q(4621),
q(0),
],
q(marriammu) => [
- q(7419),
+ q(7493),
q(0),
],
q(marrucinian) => [
- q(6869),
+ q(6910),
q(0),
],
q(marshallese) => [
@@ -41434,31 +41960,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(marsian) => [
- q(2948),
+ q(2970),
q(0),
],
q(martha's vineyard sign language) => [
- q(4488),
+ q(4518),
q(0),
],
q(marti ke) => [
- q(7793),
+ q(7891),
q(0),
],
q(martu wangka) => [
- q(4442),
+ q(4472),
q(0),
],
q(martuyhunira) => [
- q(6983),
+ q(7026),
q(0),
],
q(maru) => [
- q(4272),
+ q(4304),
q(0),
],
q(marubo) => [
- q(4691),
+ q(4719),
q(0),
],
q(marwari) => [
@@ -41466,19 +41992,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(marwari (india)) => [
- q(5852),
+ q(5887),
q(0),
],
q(marwari (pakistan)) => [
- q(4582),
+ q(4612),
q(0),
],
q(masaaba) => [
- q(4672),
+ q(4700),
q(0),
],
q(masadiit itneg) => [
- q(6501),
+ q(6539),
q(0),
],
q(masai) => [
@@ -41486,99 +42012,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(masalit) => [
- q(4361),
+ q(4392),
q(0),
],
q(masana) => [
- q(4140),
+ q(4173),
q(0),
],
q(masbatenyo) => [
- q(4509),
+ q(4539),
q(0),
],
q(mashco piro) => [
- q(1907),
+ q(1913),
q(0),
],
q(mashi (nigeria)) => [
- q(3102),
+ q(3126),
q(0),
],
q(mashi (zambia)) => [
- q(4264),
+ q(4296),
q(0),
],
q(masikoro malagasy) => [
- q(4515),
+ q(4545),
q(0),
],
q(masimasi) => [
- q(2984),
+ q(3007),
q(0),
],
q(masiwang) => [
- q(1334),
+ q(1336),
q(0),
],
q(maskelynes) => [
- q(3427),
+ q(3451),
q(0),
],
q(maskoy pidgin) => [
- q(4257),
+ q(4289),
q(0),
],
q(maslam) => [
- q(4528),
+ q(4558),
q(0),
],
q(masmaje) => [
- q(4193),
+ q(4225),
q(0),
],
q(massalat) => [
- q(4158),
+ q(4191),
q(0),
],
q(massep) => [
- q(4595),
+ q(4625),
q(0),
],
q(matagalpa) => [
- q(4546),
+ q(4576),
q(0),
],
q(matal) => [
- q(4207),
+ q(4239),
q(0),
],
q(matbat) => [
- q(7366),
+ q(7431),
q(0),
],
q(matengo) => [
- q(4246),
+ q(4278),
q(0),
],
q(matepi) => [
- q(4462),
+ q(4492),
q(0),
],
q(matigsalug manobo) => [
- q(4120),
+ q(4153),
q(0),
],
q(matipuhy) => [
- q(4688),
+ q(4716),
q(0),
],
q(matis) => [
- q(4449),
+ q(4479),
q(0),
],
q(mato) => [
- q(4194),
+ q(4226),
q(0),
],
q(mato grosso arara) => [
@@ -41586,99 +42112,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mator) => [
- q(4545),
+ q(4575),
q(0),
],
q(mator-taygi-karagas) => [
- q(7620),
+ q(7710),
q(0),
],
q(matses) => [
- q(4132),
+ q(4165),
q(0),
],
q(mattoki) => [
- q(7382),
- q(0),
+ q(7451),
+ q(1),
],
q(mattole) => [
- q(4580),
+ q(4610),
q(0),
],
q(matu chin) => [
- q(2760),
+ q(2778),
q(0),
],
q(matukar) => [
- q(4304),
+ q(4336),
q(0),
],
q(matumbi) => [
- q(4247),
+ q(4279),
q(0),
],
q(matya samo) => [
- q(6233),
+ q(6270),
q(0),
],
q(maung) => [
- q(4440),
+ q(4470),
q(0),
],
q(mauritian sign language) => [
- q(4044),
+ q(4076),
q(0),
],
q(mauwake) => [
- q(4261),
+ q(4293),
q(0),
],
q(mawa (chad)) => [
- q(4149),
+ q(4182),
q(0),
],
q(mawa (nigeria)) => [
- q(7130),
+ q(7176),
q(0),
],
q(mawak) => [
- q(4303),
+ q(4335),
q(0),
],
q(mawan) => [
- q(4152),
+ q(4185),
q(0),
],
q(mawayana) => [
- q(4697),
+ q(4725),
q(0),
],
q(mawchi) => [
- q(4323),
+ q(4355),
q(0),
],
q(mawes) => [
- q(4235),
+ q(4267),
q(0),
],
q(mawukakan) => [
- q(4650),
- q(0),
+ q(4679),
+ q(1),
],
q(maxakali) => [
- q(4112),
+ q(4145),
q(0),
],
q(maxi gbe) => [
- q(4638),
+ q(4667),
q(0),
],
q(maya samo) => [
- q(6309),
+ q(6348),
q(0),
],
q(mayaguduna) => [
- q(7371),
+ q(7436),
q(0),
],
q(mayan languages) => [
@@ -41686,319 +42212,323 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mayangna) => [
- q(7507),
+ q(7595),
+ q(0),
+ ],
+ q(mayawali) => [
+ q(7803),
q(0),
],
q(mayeka) => [
- q(4654),
+ q(4683),
q(0),
],
- q(maykulan) => [
- q(4408),
+ q(mayi-kulan) => [
+ q(7575),
+ q(0),
+ ],
+ q(mayi-thakurti) => [
+ q(7577),
+ q(0),
+ ],
+ q(mayi-yapi) => [
+ q(7574),
q(0),
],
q(mayo) => [
- q(4224),
+ q(4256),
q(0),
],
q(mayogo) => [
- q(4164),
+ q(4197),
q(0),
],
q(mayoyao ifugao) => [
- q(2900),
+ q(2921),
q(0),
],
q(mazagway) => [
- q(2076),
+ q(2081),
q(0),
],
q(mazaltepec zapotec) => [
- q(7849),
+ q(7947),
q(0),
],
q(mazanderani) => [
- q(4687),
+ q(4715),
q(0),
],
q(mazatlan mazatec) => [
- q(7005),
+ q(7048),
q(0),
],
q(mazatlan mixe) => [
- q(4685),
+ q(4713),
q(0),
],
q(mba) => [
- q(4202),
- q(0),
- ],
- q(mbabaram) => [
- q(6984),
+ q(4234),
q(0),
],
q(mbala) => [
- q(4166),
+ q(4199),
q(0),
],
q(mbalanhu) => [
- q(3976),
+ q(4007),
q(0),
],
q(mbandja) => [
- q(7812),
+ q(7910),
q(0),
],
q(mbangala) => [
- q(4633),
+ q(4662),
q(0),
],
q(mbangi) => [
- q(4238),
+ q(4270),
q(0),
],
q(mbangwe) => [
- q(7800),
+ q(7898),
q(0),
],
q(mbara (australia)) => [
- q(4588),
+ q(4618),
q(0),
],
q(mbara (chad)) => [
- q(4443),
+ q(4473),
q(0),
],
q(mbariman-gudhinma) => [
- q(7808),
+ q(7906),
q(0),
],
q(mbati) => [
- q(4165),
+ q(4198),
q(0),
],
q(mbato) => [
- q(2664),
+ q(2682),
q(0),
],
q(mbay) => [
- q(4653),
+ q(4682),
q(0),
],
q(mbe) => [
- q(4214),
+ q(4246),
q(0),
],
q(mbe') => [
- q(4543),
+ q(4573),
q(0),
],
q(mbelime) => [
- q(4469),
+ q(4499),
q(0),
],
q(mbere) => [
- q(4169),
+ q(4202),
q(0),
],
q(mbesa) => [
- q(7805),
+ q(7903),
q(0),
],
q(mbo (cameroon)) => [
- q(4115),
+ q(4148),
q(0),
],
q(mbo (democratic republic of congo)) => [
- q(7809),
+ q(7907),
q(0),
],
q(mboi) => [
- q(4420),
+ q(4450),
q(0),
],
q(mboko) => [
- q(4170),
+ q(4203),
q(0),
],
q(mbole) => [
- q(4167),
+ q(4200),
q(0),
],
q(mbonga) => [
- q(7349),
+ q(7414),
q(0),
],
q(mbongno) => [
- q(1181),
+ q(1182),
q(0),
],
q(mbosi) => [
- q(4172),
+ q(4205),
q(0),
],
q(mbowe) => [
- q(4641),
+ q(4670),
q(0),
],
q(mbre) => [
- q(4320),
- q(0),
- ],
- q(mbu') => [
- q(4560),
+ q(4352),
q(0),
],
q(mbudum) => [
- q(7351),
+ q(7416),
q(0),
],
q(mbugu) => [
- q(4253),
+ q(4285),
q(0),
],
q(mbugwe) => [
- q(4249),
+ q(4281),
q(0),
],
q(mbuko) => [
- q(4460),
+ q(4490),
q(0),
],
q(mbukushu) => [
- q(4271),
+ q(4303),
q(0),
],
q(mbula) => [
- q(4392),
+ q(4423),
q(0),
],
q(mbula-bwazza) => [
- q(4121),
+ q(4154),
q(0),
],
q(mbule) => [
- q(4345),
+ q(4377),
q(0),
],
q(mbulungish) => [
- q(4122),
+ q(4155),
q(0),
],
q(mbum) => [
- q(4156),
+ q(4189),
q(0),
],
q(mbunda) => [
- q(4137),
+ q(4170),
q(0),
],
q(mbunga) => [
- q(4248),
+ q(4280),
q(0),
],
q(mburku) => [
- q(1058),
+ q(1059),
q(0),
],
q(mbwela) => [
- q(4220),
+ q(4252),
q(0),
],
q(mbya guarani) => [
- q(2639),
+ q(2657),
q(0),
],
q(me'en) => [
- q(4664),
+ q(4693),
q(0),
],
q(mea) => [
- q(4182),
- q(0),
+ q(1744),
+ q(2),
],
q(medebur) => [
- q(4306),
+ q(4338),
q(0),
],
q(media lengua) => [
- q(4562),
+ q(4592),
q(0),
],
q(mediak) => [
- q(4624),
+ q(4653),
q(0),
],
q(median) => [
- q(7352),
+ q(7417),
q(0),
],
q(mednyj aleut) => [
- q(4561),
+ q(4591),
q(0),
],
q(medumba) => [
- q(1610),
+ q(1613),
q(0),
],
q(mefele) => [
- q(4209),
+ q(4241),
q(0),
],
q(megam) => [
- q(4181),
+ q(4214),
q(0),
],
q(megleno romanian) => [
- q(5843),
+ q(5878),
q(0),
],
q(mehek) => [
- q(5103),
+ q(5135),
q(0),
],
q(mehinaku) => [
- q(4374),
+ q(4405),
q(0),
],
q(mehri) => [
- q(2457),
+ q(2470),
q(0),
],
q(mekeo) => [
- q(4186),
+ q(4218),
q(0),
],
q(mekmek) => [
- q(4587),
+ q(4617),
q(0),
],
q(mekwei) => [
- q(4513),
+ q(4543),
q(0),
],
q(mele-fila) => [
- q(4631),
+ q(4660),
q(0),
],
q(melo) => [
- q(4223),
+ q(4255),
q(0),
],
q(melpa) => [
- q(4179),
+ q(4212),
q(0),
],
q(memoni) => [
- q(4125),
+ q(4158),
q(0),
],
q(mendalam kayan) => [
- q(7313),
+ q(7378),
q(0),
],
q(mendankwe-nkwen) => [
- q(4203),
+ q(4235),
q(0),
],
q(mende) => [
@@ -42006,7 +42536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mende (papua new guinea)) => [
- q(6016),
+ q(6053),
q(0),
],
q(mende (sierra leone)) => [
@@ -42014,75 +42544,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(mengaka) => [
- q(7354),
+ q(7419),
q(0),
],
q(mengen) => [
- q(4180),
+ q(4213),
q(0),
],
q(mengisa) => [
- q(4146),
+ q(4179),
+ q(0),
+ ],
+ q(menik) => [
+ q(6633),
q(0),
],
q(menka) => [
- q(4176),
+ q(4209),
q(0),
],
q(menominee) => [
- q(4199),
+ q(4231),
q(0),
],
q(mentawai) => [
- q(4622),
+ q(4651),
q(0),
],
q(menya) => [
- q(4144),
+ q(4177),
q(0),
],
q(meoswar) => [
- q(4600),
+ q(4630),
q(0),
],
q(mer) => [
- q(4409),
+ q(4439),
q(0),
],
q(meramera) => [
- q(4639),
+ q(4668),
q(0),
],
q(merei) => [
- q(3952),
+ q(3983),
q(0),
],
q(merey) => [
- q(4191),
+ q(4223),
q(0),
],
q(meriam) => [
- q(6862),
+ q(6903),
q(0),
],
q(merlav) => [
- q(4495),
+ q(4525),
q(0),
],
q(meroitic) => [
- q(7364),
+ q(7429),
q(0),
],
q(meru) => [
- q(4192),
+ q(4224),
q(0),
],
q(merwari) => [
- q(7191),
+ q(7239),
q(0),
],
q(mesaka) => [
- q(3015),
+ q(3038),
q(0),
],
q(mescalero-chiricahua apache) => [
@@ -42090,19 +42624,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mese) => [
- q(4135),
+ q(4168),
q(0),
],
q(meskwaki) => [
- q(5858),
+ q(5895),
q(0),
],
q(mesme) => [
- q(7764),
+ q(7862),
q(0),
],
q(mesmes) => [
- q(4669),
+ q(4697),
q(0),
],
q(mesopotamian arabic) => [
@@ -42110,51 +42644,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mesqan) => [
- q(4602),
+ q(4632),
q(0),
],
q(messapic) => [
- q(1793),
+ q(1797),
q(0),
],
q(meta') => [
- q(4239),
+ q(4271),
q(0),
],
q(metlatonoc mixtec) => [
- q(4648),
+ q(4677),
q(0),
],
q(mewari) => [
- q(4550),
+ q(4580),
q(0),
],
q(mewati) => [
- q(7203),
+ q(7252),
q(0),
],
q(mexican sign language) => [
- q(4218),
+ q(4250),
q(0),
],
q(meyah) => [
- q(4185),
+ q(4217),
q(0),
],
q(mezontla popoloca) => [
- q(5341),
+ q(5374),
q(0),
],
q(mezquital otomi) => [
- q(5293),
+ q(5326),
q(0),
],
q(mfinu) => [
- q(7792),
+ q(7890),
q(0),
],
q(mfumte) => [
- q(4816),
+ q(4843),
+ q(0),
+ ],
+ q(mgbolizhia) => [
+ q(2567),
q(0),
],
q(mi'kmaq) => [
@@ -42162,59 +42700,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(miahuatlan zapotec) => [
- q(7728),
+ q(7826),
q(0),
],
q(miami) => [
- q(4275),
+ q(4307),
q(0),
],
q(mian) => [
- q(4452),
+ q(4482),
q(0),
],
q(miani) => [
- q(5461),
+ q(5493),
q(0),
],
q(michif) => [
- q(1848),
+ q(1853),
q(0),
],
q(michigamea) => [
- q(1789),
+ q(1793),
q(0),
],
q(michoacan mazahua) => [
- q(4369),
+ q(4400),
q(0),
],
q(michoacan nahuatl) => [
- q(4755),
+ q(4782),
q(0),
],
q(micmac) => [
q(0279),
- q(0),
+ q(1),
],
q(mid grand valley dani) => [
- q(2104),
+ q(2112),
q(0),
],
q(mid-southern banda) => [
- q(1245),
+ q(1246),
q(0),
],
q(middle armenian) => [
- q(0991),
+ q(0992),
q(0),
],
q(middle breton) => [
- q(7252),
+ q(7307),
q(0),
],
q(middle cornish) => [
- q(1808),
+ q(1812),
q(0),
],
q(middle dutch (ca. 1050-1350)) => [
@@ -42234,7 +42772,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(middle hittite) => [
- q(2833),
+ q(2854),
q(0),
],
q(middle irish (900-1200)) => [
@@ -42242,99 +42780,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(middle korean (10th-16th cent.)) => [
- q(5211),
+ q(5243),
q(0),
],
q(middle low german) => [
- q(2544),
+ q(2560),
q(0),
],
q(middle mongolian) => [
- q(7375),
+ q(7440),
q(0),
],
q(middle newar) => [
- q(5117),
+ q(5149),
q(0),
],
q(middle watut) => [
- q(4444),
+ q(4474),
q(0),
],
q(middle welsh) => [
- q(7121),
+ q(7167),
q(0),
],
q(midob) => [
- q(4184),
+ q(4216),
q(0),
],
q(migaama) => [
- q(4390),
+ q(4421),
q(0),
],
q(migabac) => [
- q(4448),
+ q(4478),
q(0),
],
q(migum) => [
- q(3418),
+ q(3442),
q(0),
],
q(miji) => [
- q(6033),
- q(0),
+ q(6070),
+ q(1),
],
q(miju-mishmi) => [
- q(4636),
+ q(4665),
q(0),
],
q(mikasuki) => [
- q(4284),
+ q(4316),
q(0),
],
q(mili) => [
- q(7609),
+ q(7699),
q(0),
],
q(miltu) => [
- q(4352),
+ q(4383),
q(0),
],
q(miluk) => [
- q(2944),
+ q(2966),
q(0),
],
q(milyan) => [
- q(2949),
+ q(2971),
q(0),
],
q(min bei chinese) => [
- q(4404),
+ q(4435),
q(0),
],
q(min dong chinese) => [
- q(1702),
+ q(1705),
q(0),
],
q(min nan chinese) => [
- q(4711),
+ q(4739),
q(0),
],
q(min zhong chinese) => [
- q(1934),
+ q(1940),
q(0),
],
q(mina (cameroon)) => [
- q(2785),
+ q(2803),
q(0),
],
q(mina (india)) => [
- q(4660),
+ q(4689),
q(0),
],
q(minaean) => [
- q(2954),
+ q(2976),
+ q(0),
+ ],
+ q(minang) => [
+ q(7486),
q(0),
],
q(minangkabau) => [
@@ -42342,63 +42884,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(minanibai) => [
- q(4148),
+ q(4181),
q(0),
],
q(minaveha) => [
- q(4590),
+ q(4620),
q(0),
],
q(minderico) => [
- q(2131),
+ q(2139),
q(0),
],
q(mindiri) => [
- q(4446),
+ q(4476),
q(0),
],
q(mingang doso) => [
- q(4332),
+ q(4364),
q(0),
],
q(mingrelian) => [
- q(7353),
+ q(7418),
q(0),
],
q(minica huitoto) => [
- q(2830),
+ q(2851),
q(0),
],
q(minidien) => [
- q(7095),
+ q(7141),
q(0),
],
q(minigir) => [
- q(6989),
+ q(1575),
+ q(1),
+ ],
+ q(minjungbal) => [
+ q(7373),
+ q(0),
+ ],
+ q(minkin) => [
+ q(7569),
q(0),
],
q(minoan) => [
- q(5233),
+ q(5266),
q(0),
],
q(minokok) => [
- q(4474),
+ q(4504),
q(0),
],
q(minriq) => [
- q(4405),
+ q(4436),
q(0),
],
q(mintil) => [
- q(4693),
+ q(4721),
q(0),
],
q(minz zhuang) => [
- q(7752),
+ q(7850),
q(0),
],
q(miqie) => [
- q(7571),
+ q(7662),
q(0),
],
q(mirandese) => [
@@ -42406,135 +42956,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(miraya bikol) => [
- q(5734),
+ q(5768),
q(0),
],
q(mirgan) => [
- q(7853),
+ q(7951),
q(0),
],
q(miriti) => [
- q(4387),
+ q(4418),
q(0),
],
q(miriwung) => [
- q(4190),
+ q(4222),
q(0),
],
q(mirpur panjabi) => [
- q(5501),
+ q(5533),
q(0),
],
q(miship) => [
- q(4312),
+ q(4344),
q(0),
],
q(misima-panaeati) => [
- q(4456),
+ q(4486),
q(0),
],
q(mising) => [
- q(4490),
+ q(4520),
q(0),
],
q(miskito) => [
- q(4289),
+ q(4321),
q(0),
],
q(mitla zapotec) => [
- q(7736),
+ q(7834),
q(0),
],
q(mitlatongo mixtec) => [
- q(6995),
+ q(7038),
q(0),
],
q(mittu) => [
- q(4621),
+ q(4650),
q(0),
],
q(mituku) => [
- q(7803),
+ q(7901),
q(0),
],
q(miu) => [
- q(4447),
+ q(4477),
q(0),
],
q(miwa) => [
- q(6991),
+ q(7034),
q(0),
],
q(mixed great andamanese) => [
- q(2390),
- q(0),
- ],
- q(mixifore) => [
- q(4206),
+ q(2402),
q(0),
],
q(mixtepec mixtec) => [
- q(4294),
+ q(4326),
q(0),
],
q(mixtepec zapotec) => [
- q(7837),
+ q(7935),
q(0),
],
q(miya) => [
- q(4324),
+ q(4356),
q(0),
],
q(miyako) => [
- q(4586),
+ q(4616),
q(0),
],
q(miyobe) => [
- q(6148),
+ q(6185),
q(0),
],
q(mlabri) => [
- q(4484),
+ q(4514),
q(0),
],
q(mlahso) => [
- q(3886),
+ q(3912),
q(0),
],
q(mlap) => [
- q(3356),
+ q(3380),
q(0),
],
q(mlomp) => [
- q(4357),
+ q(4388),
q(0),
],
q(mmaala) => [
- q(4386),
+ q(4417),
q(0),
],
q(mmen) => [
- q(1149),
+ q(1150),
q(0),
],
q(mo) => [
- q(7110),
- q(0),
+ q(7155),
+ q(1),
],
q(mo'da) => [
- q(2423),
+ q(2435),
q(0),
],
q(moabite) => [
- q(5168),
+ q(5200),
q(0),
],
q(moba) => [
- q(4216),
+ q(4248),
q(0),
],
q(mobilian) => [
- q(4417),
+ q(4447),
q(0),
],
q(mobumrin aizi) => [
@@ -42542,59 +43088,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mobwa karen) => [
- q(3087),
+ q(3111),
q(0),
],
q(mocheno) => [
- q(4263),
+ q(4295),
q(0),
],
q(mochi) => [
- q(5220),
+ q(5252),
q(0),
],
q(mochica) => [
- q(5227),
+ q(5260),
q(0),
],
q(mocho) => [
- q(4252),
+ q(4284),
q(0),
],
q(mocovi) => [
- q(4416),
+ q(4446),
q(0),
],
q(modang) => [
- q(4630),
+ q(4659),
q(0),
],
q(modern greek (1453-)) => [
q(0164),
- q(1),
+ q(2),
],
q(modole) => [
- q(4472),
+ q(4502),
q(0),
],
q(moere) => [
- q(4593),
+ q(4623),
q(0),
],
q(mofu-gudur) => [
- q(4279),
+ q(4311),
q(0),
],
q(mogholi) => [
- q(4259),
+ q(4291),
+ q(0),
+ ],
+ q(mogofin) => [
+ q(4238),
q(0),
],
q(mogum) => [
- q(4428),
+ q(4458),
q(0),
],
q(mohave) => [
- q(4429),
+ q(4459),
q(0),
],
q(mohawk) => [
@@ -42602,59 +43152,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mohegan-pequot) => [
- q(7404),
+ q(7474),
q(0),
],
q(moi (congo)) => [
- q(4430),
+ q(4460),
q(0),
],
q(moi (indonesia)) => [
- q(4640),
+ q(4669),
q(0),
],
q(moikodi) => [
- q(4333),
+ q(4365),
q(0),
],
q(moingi) => [
- q(4626),
+ q(4655),
q(0),
],
q(moji) => [
- q(7610),
+ q(7700),
q(0),
],
q(mok) => [
- q(4477),
+ q(4507),
q(0),
],
q(moken) => [
- q(4620),
+ q(4649),
q(0),
],
q(mokerang) => [
- q(4219),
+ q(4251),
q(0),
],
q(mokilese) => [
- q(4327),
+ q(4359),
q(0),
],
q(moklen) => [
- q(4330),
+ q(4362),
q(0),
],
q(mokole) => [
- q(4329),
+ q(4361),
q(0),
],
q(mokpwe) => [
- q(1430),
+ q(1432),
q(0),
],
q(moksela) => [
- q(6999),
+ q(7042),
q(0),
],
q(moksha) => [
@@ -42662,31 +43212,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(molale) => [
- q(4106),
+ q(4139),
q(0),
],
q(molbog) => [
- q(5639),
+ q(5673),
q(0),
],
q(moldavian) => [
q(0360),
- q(0),
+ q(1),
],
q(moldova sign language) => [
- q(7013),
+ q(7056),
q(0),
],
q(moldovan) => [
q(0360),
- q(0),
+ q(2),
],
q(molengue) => [
- q(1569),
+ q(1572),
q(0),
],
q(molima) => [
- q(4431),
+ q(4461),
q(0),
],
q(molmo one) => [
@@ -42694,47 +43244,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(molo) => [
- q(7801),
+ q(7899),
q(0),
],
q(molof) => [
- q(4519),
+ q(4549),
q(0),
],
q(moloko) => [
- q(4364),
+ q(4395),
q(0),
],
q(mom jango) => [
- q(6959),
+ q(7002),
q(0),
],
q(moma) => [
- q(4663),
+ q(4692),
q(0),
],
q(momare) => [
- q(4532),
+ q(4562),
q(0),
],
q(mombo dogon) => [
- q(2081),
+ q(2087),
q(0),
],
q(mombum) => [
- q(4522),
+ q(4552),
q(0),
],
q(momina) => [
- q(4368),
+ q(4399),
q(0),
],
q(momuna) => [
- q(4463),
+ q(4493),
q(0),
],
q(mon) => [
- q(4411),
+ q(4441),
q(0),
],
q(mon-khmer languages) => [
@@ -42742,39 +43292,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(monastic sign language) => [
- q(4680),
+ q(4708),
q(0),
],
q(monde) => [
- q(4394),
+ q(4425),
q(0),
],
q(mondropolon) => [
- q(5019),
+ q(5048),
q(0),
],
q(mong) => [
q(0179),
- q(0),
+ q(1),
],
q(mong leng) => [
- q(2790),
- q(0),
+ q(2808),
+ q(1),
],
q(mong njua) => [
- q(2790),
- q(0),
+ q(2808),
+ q(2),
],
q(mongo) => [
q(0252),
q(0),
],
q(mongol) => [
- q(4244),
+ q(4276),
q(0),
],
q(mongolia buriat) => [
- q(1579),
+ q(1582),
q(0),
],
q(mongolian) => [
@@ -42786,115 +43336,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mongolian sign language) => [
- q(4525),
+ q(4555),
q(0),
],
q(mongondow) => [
- q(4419),
+ q(4449),
q(0),
],
q(moni) => [
- q(4414),
+ q(4444),
q(0),
],
q(mono (cameroon)) => [
- q(4503),
+ q(4533),
q(0),
],
q(mono (democratic republic of congo)) => [
- q(4398),
+ q(4429),
q(0),
],
q(mono (solomon islands)) => [
- q(4537),
+ q(4567),
q(0),
],
q(mono (usa)) => [
- q(4406),
+ q(4437),
q(0),
],
q(monom) => [
- q(4424),
+ q(4454),
q(0),
],
q(monsang naga) => [
- q(4950),
+ q(4978),
q(0),
],
q(montagnais) => [
- q(4418),
+ q(4448),
q(0),
],
q(montol) => [
- q(4544),
+ q(4574),
q(0),
],
q(monumbo) => [
- q(4637),
+ q(4666),
q(0),
],
q(monzombo) => [
- q(4421),
+ q(4451),
q(0),
],
q(moo) => [
- q(2670),
+ q(2688),
q(0),
],
q(moose cree) => [
- q(1853),
+ q(1858),
q(0),
],
q(mopan maya) => [
- q(4425),
+ q(4455),
q(0),
],
q(mor (bomberai peninsula)) => [
- q(4426),
+ q(4456),
q(0),
],
q(mor (mor islands)) => [
- q(4274),
+ q(4306),
q(0),
],
q(moraid) => [
- q(4514),
+ q(4544),
q(0),
],
q(morawa) => [
- q(4679),
+ q(4707),
q(0),
],
q(morelos nahuatl) => [
- q(4852),
+ q(4879),
q(0),
],
q(morerebi) => [
- q(7361),
+ q(7426),
q(0),
],
q(moresada) => [
- q(4530),
+ q(4560),
q(0),
],
q(mori atas) => [
- q(4690),
+ q(4718),
q(0),
],
q(mori bawah) => [
- q(7372),
+ q(7437),
q(0),
],
q(morigi) => [
- q(4154),
+ q(4187),
q(0),
],
q(morisyen) => [
- q(4204),
+ q(4236),
q(0),
],
q(moro) => [
- q(4427),
+ q(4457),
q(0),
],
q(moroccan arabic) => [
@@ -42902,47 +43452,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(moroccan sign language) => [
- q(7365),
+ q(7430),
q(0),
],
q(morokodo) => [
- q(4227),
+ q(4259),
q(0),
],
q(morom) => [
- q(1104),
+ q(1105),
q(0),
],
q(moronene) => [
- q(4471),
+ q(4501),
q(0),
],
q(morori) => [
- q(4422),
+ q(4452),
q(0),
],
q(morouas) => [
- q(4498),
+ q(4528),
q(0),
],
q(mortlockese) => [
- q(4494),
+ q(4524),
q(0),
],
q(moru) => [
- q(4228),
+ q(4260),
q(0),
],
q(mosimo) => [
- q(4479),
+ q(4509),
q(0),
],
q(mosiro) => [
- q(4625),
+ q(4654),
q(0),
],
q(moskona) => [
- q(4542),
+ q(4572),
q(0),
],
q(mossi) => [
@@ -42950,79 +43500,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mota) => [
- q(4552),
+ q(4582),
q(0),
],
q(motlav) => [
- q(4363),
+ q(4394),
q(0),
],
q(motu) => [
- q(4195),
+ q(4227),
q(0),
],
q(mouk-aria) => [
- q(4610),
+ q(4639),
q(0),
],
q(mountain koiali) => [
- q(3523),
+ q(3547),
q(0),
],
q(mouwase) => [
- q(3103),
+ q(3127),
q(0),
],
q(movima) => [
- q(4689),
+ q(4717),
q(0),
],
q(moyadan itneg) => [
- q(3003),
+ q(3026),
q(0),
],
q(moyon naga) => [
- q(4957),
+ q(4985),
q(0),
],
q(mozambican sign language) => [
- q(4698),
+ q(4726),
q(0),
],
q(mozarabic) => [
- q(4635),
+ q(4664),
q(0),
],
q(mpade) => [
- q(4441),
+ q(4471),
q(0),
],
q(mpalitjanh) => [
- q(7398),
+ q(7468),
q(0),
],
q(mpi) => [
- q(4458),
+ q(4488),
q(0),
],
q(mpiemo) => [
- q(4150),
+ q(4183),
q(0),
],
q(mpoto) => [
- q(4434),
+ q(4464),
q(0),
],
q(mpotovoro) => [
- q(4596),
+ q(4626),
q(0),
],
q(mpumpong) => [
- q(4231),
+ q(4263),
q(0),
],
q(mpuono) => [
- q(7802),
+ q(7900),
q(0),
],
q(mpur) => [
@@ -43030,15 +43580,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mro-khimi chin) => [
- q(1792),
+ q(1796),
q(0),
],
q(mru) => [
- q(4497),
+ q(4527),
q(0),
],
q(mser) => [
- q(3549),
+ q(3573),
q(0),
],
q(mt. iraya agta) => [
@@ -43050,35 +43600,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mualang) => [
- q(4536),
+ q(4566),
q(0),
],
q(mubami) => [
- q(6701),
+ q(6740),
q(0),
],
q(mubi) => [
- q(4559),
+ q(4589),
q(0),
],
q(muda) => [
- q(7606),
+ q(7696),
q(0),
],
- q(mudbura) => [
- q(4606),
+ q(mudburra) => [
+ q(2100),
q(0),
],
q(mudhili gadaba) => [
- q(2408),
+ q(2420),
q(0),
],
q(mudu koraga) => [
- q(6986),
+ q(7029),
q(0),
],
q(muduga) => [
- q(6830),
+ q(6870),
q(0),
],
q(mufian) => [
@@ -43086,43 +43636,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mugom) => [
- q(4567),
+ q(4597),
q(0),
],
q(muinane) => [
- q(1320),
+ q(1322),
q(0),
],
q(mukha-dora) => [
- q(4377),
+ q(4408),
q(0),
],
q(mukulu) => [
- q(4433),
+ q(4463),
q(0),
],
q(mulaha) => [
- q(4222),
+ q(4254),
q(0),
],
q(mulam) => [
- q(4355),
+ q(4386),
q(0),
],
q(mulao) => [
- q(2516),
+ q(2530),
q(0),
],
q(mulgi) => [
- q(4585),
+ q(4615),
q(0),
],
q(mullu kurumba) => [
- q(3503),
+ q(3527),
q(0),
],
q(mullukmulluk) => [
- q(4435),
+ q(4465),
q(0),
],
q(multiple languages) => [
@@ -43130,27 +43680,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(muluridyi) => [
- q(7000),
+ q(7043),
q(0),
],
q(mum) => [
- q(3526),
+ q(3550),
q(0),
],
q(mumuye) => [
- q(4686),
+ q(4714),
q(0),
],
q(mun chin) => [
- q(4618),
+ q(4647),
q(0),
],
q(muna) => [
- q(4393),
+ q(4424),
q(0),
],
q(munda) => [
- q(6886),
+ q(6929),
q(0),
],
q(munda languages) => [
@@ -43158,63 +43708,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(mundabli) => [
- q(1355),
+ q(1357),
q(0),
],
q(mundang) => [
- q(4558),
+ q(4588),
q(0),
],
q(mundani) => [
- q(4396),
+ q(4427),
q(0),
],
q(mundari) => [
- q(6885),
+ q(6927),
q(0),
],
q(mundat) => [
- q(4372),
+ q(4403),
q(0),
],
q(mundu) => [
- q(4564),
+ q(4594),
q(0),
],
q(munduruku) => [
- q(4670),
+ q(4698),
q(0),
],
q(mungaka) => [
- q(4260),
+ q(4292),
q(0),
],
+ q(mungbam) => [
+ q(4315),
+ q(1),
+ ],
q(munggui) => [
- q(4540),
+ q(4570),
q(0),
],
q(mungkip) => [
- q(4454),
+ q(4484),
q(0),
],
q(muniche) => [
- q(4668),
+ q(4696),
q(0),
],
q(munit) => [
- q(4535),
+ q(4565),
q(0),
],
q(munji) => [
- q(4399),
+ q(4430),
q(0),
],
q(munsee) => [
- q(6879),
+ q(6920),
q(0),
],
q(muong) => [
- q(4549),
+ q(4579),
q(0),
],
q(muratayak) => [
@@ -43222,171 +43776,171 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(murik (malaysia)) => [
- q(4644),
+ q(4673),
q(0),
],
q(murik (papua new guinea)) => [
- q(4538),
+ q(4568),
q(0),
],
q(murkim) => [
- q(5785),
+ q(5820),
q(0),
],
q(murle) => [
- q(4572),
+ q(4602),
q(0),
],
q(murrinh-patha) => [
- q(4608),
+ q(4637),
q(0),
],
q(mursi) => [
- q(4578),
+ q(4608),
q(0),
],
q(murui huitoto) => [
- q(2851),
+ q(2872),
q(0),
],
q(murupi) => [
- q(4480),
+ q(4510),
q(0),
],
q(muruwari) => [
- q(7807),
+ q(7905),
q(0),
],
q(musak) => [
- q(4383),
+ q(4414),
q(0),
],
q(musar) => [
- q(4375),
+ q(4406),
q(0),
],
q(musasa) => [
- q(6096),
+ q(6133),
q(0),
],
q(musey) => [
- q(4512),
+ q(4542),
q(0),
],
q(musgu) => [
- q(4563),
+ q(4593),
q(0),
],
q(mushungulu) => [
- q(7348),
+ q(7413),
q(0),
],
q(musi) => [
- q(4565),
+ q(4595),
q(0),
],
q(muskum) => [
- q(4299),
+ q(4331),
q(0),
],
q(muslim tat) => [
- q(6723),
+ q(6762),
q(0),
],
q(musom) => [
- q(4527),
+ q(4557),
q(0),
],
q(mussau-emira) => [
- q(2248),
+ q(2259),
q(0),
],
q(muthuvan) => [
- q(4575),
+ q(4605),
q(0),
],
q(mutu) => [
- q(6731),
+ q(6770),
q(0),
],
q(muya) => [
- q(4589),
+ q(4619),
q(0),
],
q(muyang) => [
- q(4577),
+ q(4607),
q(0),
],
q(muyuw) => [
- q(4671),
+ q(4699),
q(0),
],
q(muzi) => [
- q(7622),
+ q(7712),
q(0),
],
q(mvanip) => [
- q(4136),
+ q(4169),
q(0),
],
q(mvuba) => [
- q(4634),
+ q(4663),
q(0),
],
q(mwaghavul) => [
- q(6255),
+ q(6293),
q(0),
],
q(mwali comorian) => [
- q(7115),
+ q(7161),
q(0),
],
q(mwan) => [
- q(4415),
+ q(4445),
q(0),
],
q(mwani) => [
- q(7142),
+ q(7188),
q(0),
],
q(mwatebu) => [
- q(4603),
+ q(4633),
q(0),
],
q(mwera (chimwera)) => [
- q(4607),
+ q(4636),
q(0),
],
q(mwera (nyasa)) => [
- q(4301),
+ q(4333),
q(0),
],
q(mwerlap) => [
- q(4495),
- q(0),
+ q(4525),
+ q(1),
],
q(mwimbi-muthambi) => [
- q(4619),
+ q(4648),
q(0),
],
q(mwotlap) => [
- q(4363),
- q(0),
+ q(4394),
+ q(1),
],
q(mycenaean greek) => [
- q(2550),
+ q(2566),
q(0),
],
q(myene) => [
- q(4656),
+ q(4685),
q(0),
],
q(mysian) => [
- q(7619),
+ q(7709),
q(0),
],
q(mzieme naga) => [
- q(4947),
+ q(4975),
q(0),
],
q(n'ko) => [
@@ -43394,11 +43948,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(n/u) => [
- q(4823),
+ q(4850),
q(0),
],
q(na) => [
- q(4738),
+ q(4766),
q(0),
],
q(na-dene languages) => [
@@ -43406,95 +43960,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(na-meo) => [
- q(4802),
+ q(4829),
q(0),
],
q(naaba) => [
- q(4712),
+ q(4740),
+ q(0),
+ ],
+ q(naami) => [
+ q(1639),
q(0),
],
q(naasioi) => [
- q(4715),
+ q(4743),
q(0),
],
q(naba) => [
- q(4395),
+ q(4426),
q(0),
],
q(nabak) => [
- q(4705),
+ q(4733),
q(0),
],
q(nabi) => [
- q(4557),
+ q(4587),
q(0),
],
q(nachering) => [
- q(4747),
+ q(4774),
q(0),
],
q(nadeb) => [
- q(4110),
+ q(4143),
q(0),
],
q(nadruvian) => [
- q(4770),
+ q(4797),
q(0),
],
q(nafaanra) => [
- q(4815),
+ q(4842),
q(0),
],
q(nafi) => [
- q(6184),
+ q(6221),
q(0),
],
q(nafri) => [
- q(5131),
+ q(5163),
q(0),
],
q(nafusi) => [
- q(3043),
+ q(3067),
q(0),
],
q(naga pidgin) => [
- q(4706),
+ q(4734),
q(0),
],
q(nagarchal) => [
- q(4726),
+ q(4754),
q(0),
],
q(nage) => [
- q(5121),
+ q(5153),
q(0),
],
q(nagumi) => [
- q(4837),
+ q(4864),
q(0),
],
q(naha'ai) => [
- q(4365),
- q(0),
+ q(4396),
+ q(1),
],
q(nahali) => [
- q(4940),
+ q(4968),
q(0),
],
q(nahari) => [
- q(4849),
+ q(4876),
q(0),
],
q(nahavaq) => [
- q(6122),
- q(0),
+ q(6159),
+ q(1),
],
q(nahuatl languages) => [
q(0298),
q(0),
],
q(nai) => [
- q(1221),
+ q(1222),
q(0),
],
q(najdi arabic) => [
@@ -43502,151 +44060,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(naka'ela) => [
- q(4704),
+ q(4732),
q(0),
],
q(nakai) => [
- q(4913),
+ q(4940),
q(0),
],
q(nakame) => [
- q(4865),
+ q(4892),
q(0),
],
q(nakanai) => [
- q(4708),
+ q(4736),
q(0),
],
q(nakara) => [
- q(4754),
+ q(4781),
q(0),
],
q(nake) => [
- q(4730),
+ q(4758),
q(0),
],
q(naki) => [
- q(4205),
+ q(4237),
q(0),
],
q(nakwi) => [
- q(4718),
+ q(4746),
q(0),
],
q(nalca) => [
- q(4929),
+ q(4956),
q(0),
],
q(nali) => [
- q(5059),
+ q(5090),
q(0),
],
q(nalik) => [
- q(4709),
+ q(4737),
q(0),
],
q(nalogo) => [
- q(4942),
+ q(4970),
q(0),
],
q(nalu) => [
- q(4707),
+ q(4735),
q(0),
],
q(naluo yi) => [
- q(7600),
+ q(7690),
q(0),
],
q(nama (namibia)) => [
- q(4713),
+ q(4741),
q(0),
],
q(nama (papua new guinea)) => [
- q(4966),
+ q(4994),
q(0),
],
q(namakura) => [
- q(4953),
+ q(4981),
q(0),
],
q(namat) => [
- q(4915),
+ q(4942),
q(0),
],
q(nambo) => [
- q(4756),
+ q(4783),
q(0),
],
q(nambya) => [
- q(4959),
+ q(4987),
q(0),
],
q(namia) => [
- q(4981),
+ q(5009),
q(0),
],
q(namiae) => [
- q(5107),
+ q(5139),
q(0),
],
q(namibian sign language) => [
- q(4737),
+ q(4765),
q(0),
],
q(namla) => [
- q(4700),
+ q(4728),
q(0),
],
q(namo) => [
- q(4649),
+ q(4678),
q(0),
],
q(namonuito) => [
- q(4962),
+ q(4990),
q(0),
],
q(namosi-naitasiri-serua) => [
- q(1543),
+ q(1546),
q(0),
],
q(namuyi) => [
- q(4967),
+ q(4995),
q(0),
],
q(nanai) => [
- q(2531),
+ q(2546),
q(0),
],
q(nancere) => [
- q(4971),
+ q(4999),
q(0),
],
q(nande) => [
- q(4970),
+ q(4998),
q(0),
],
q(nandi) => [
- q(4878),
+ q(4905),
q(0),
],
q(nanerige senoufo) => [
- q(5945),
+ q(5982),
q(0),
],
q(nanga dama dogon) => [
- q(5160),
+ q(5192),
q(0),
],
q(nankina) => [
- q(4979),
+ q(5007),
q(0),
],
q(nanti) => [
- q(1828),
+ q(1832),
q(0),
],
q(nanticoke) => [
- q(4987),
+ q(5015),
q(0),
],
q(nanubae) => [
@@ -43654,83 +44212,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(napo lowland quechua) => [
- q(5683),
+ q(5717),
q(0),
],
q(napu) => [
- q(5023),
+ q(5052),
q(0),
],
q(nar phu) => [
- q(5013),
+ q(5042),
q(0),
],
q(nara) => [
- q(5030),
+ q(5060),
q(0),
],
q(narak) => [
- q(4702),
+ q(4730),
q(0),
],
q(narango) => [
- q(5033),
+ q(5063),
q(0),
],
q(narau) => [
- q(5130),
+ q(5162),
q(0),
],
q(nari nari) => [
- q(5808),
+ q(5843),
q(0),
],
q(narim) => [
- q(3995),
+ q(4027),
q(0),
],
q(naro) => [
- q(4857),
+ q(4884),
q(0),
],
q(narom) => [
- q(5036),
+ q(5067),
q(0),
],
q(narragansett) => [
- q(7381),
+ q(7448),
q(0),
],
q(narrinyeri) => [
- q(4719),
+ q(4747),
q(0),
],
q(narua) => [
- q(5041),
+ q(5072),
q(0),
],
q(narungga) => [
- q(4985),
+ q(5013),
q(0),
],
q(nasal) => [
- q(5065),
+ q(5096),
q(0),
],
q(nasarian) => [
- q(5106),
+ q(5138),
q(0),
],
q(naskapi) => [
- q(5052),
+ q(5083),
q(0),
],
q(natagaimas) => [
- q(5075),
+ q(5107),
q(0),
],
q(natanzi) => [
- q(5080),
+ q(5112),
q(0),
],
q(nataoran amis) => [
@@ -43738,39 +44296,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(natchez) => [
- q(4765),
+ q(4792),
q(0),
],
q(nateni) => [
- q(5071),
+ q(5103),
q(0),
],
q(nathembo) => [
- q(5067),
+ q(5098),
q(0),
],
q(natioro) => [
- q(5068),
+ q(5100),
q(0),
],
q(natugu) => [
- q(5076),
+ q(5108),
q(0),
],
q(nauete) => [
- q(5119),
+ q(5151),
q(0),
],
q(naukan yupik) => [
- q(7628),
+ q(7718),
q(0),
],
q(nauna) => [
- q(4757),
+ q(4784),
q(0),
],
q(nauo) => [
- q(5115),
+ q(5147),
q(0),
],
q(nauru) => [
@@ -43779,94 +44337,94 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(navaho) => [
q(0302),
- q(0),
+ q(1),
],
q(navajo) => [
q(0302),
q(0),
],
q(navut) => [
- q(5063),
+ q(5094),
q(0),
],
q(nawaru) => [
- q(5116),
+ q(5148),
q(0),
],
q(nawathinehena) => [
- q(5109),
+ q(5141),
q(0),
],
q(nawdm) => [
- q(4968),
+ q(4996),
q(0),
],
q(nawuri) => [
- q(4717),
+ q(4745),
q(0),
],
q(naxi) => [
- q(5128),
+ q(5160),
q(0),
],
q(nayi) => [
- q(5012),
+ q(5041),
q(0),
],
q(nayini) => [
- q(5144),
+ q(5176),
q(0),
],
q(ncane) => [
- q(4760),
+ q(4787),
q(0),
],
q(nchumbulu) => [
- q(4938),
+ q(4965),
q(0),
],
q(nda'nda') => [
- q(4993),
+ q(5021),
q(0),
],
q(ndai) => [
- q(2526),
+ q(2541),
q(0),
],
q(ndaka) => [
- q(4775),
+ q(4802),
q(0),
],
q(ndaktup) => [
- q(4759),
+ q(4786),
q(0),
],
q(ndali) => [
- q(4772),
+ q(4799),
q(0),
],
q(ndam) => [
- q(4777),
+ q(4804),
q(0),
],
q(ndamba) => [
- q(4774),
+ q(4801),
q(0),
],
q(ndasa) => [
- q(4766),
+ q(4793),
q(0),
],
q(ndau) => [
- q(4768),
+ q(4795),
q(0),
],
q(nde-gbite) => [
- q(4792),
+ q(4819),
q(0),
],
q(nde-nsele-nta) => [
- q(4769),
+ q(4796),
q(0),
],
q(ndebele, north) => [
@@ -43878,51 +44436,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ndemli) => [
- q(4954),
+ q(4982),
q(0),
],
q(ndendeule) => [
- q(2098),
+ q(2105),
q(0),
],
q(ndengereko) => [
- q(4771),
+ q(4798),
q(0),
],
q(nding) => [
- q(2239),
+ q(2250),
q(0),
],
q(ndo) => [
- q(4779),
+ q(4806),
q(0),
],
q(ndobo) => [
- q(4785),
+ q(4812),
q(0),
],
q(ndoe) => [
- q(4722),
+ q(4750),
q(0),
],
q(ndogo) => [
- q(4788),
+ q(4815),
q(0),
],
q(ndolo) => [
- q(4776),
+ q(4803),
q(0),
],
q(ndom) => [
- q(5026),
+ q(5055),
q(0),
],
q(ndombe) => [
- q(4780),
+ q(4807),
q(0),
],
q(ndonde hamba) => [
- q(4889),
+ q(4916),
q(0),
],
q(ndonga) => [
@@ -43930,39 +44488,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ndoola) => [
- q(4781),
+ q(4808),
q(0),
],
- q(ndrag'ngith) => [
- q(2016),
+ q(ndra'ngith) => [
+ q(2021),
q(0),
],
q(nduga) => [
- q(4786),
+ q(4813),
q(0),
],
q(ndumu) => [
- q(4946),
+ q(4974),
q(0),
],
q(ndunda) => [
- q(5087),
+ q(5119),
q(0),
],
q(ndunga) => [
- q(4782),
+ q(4809),
q(0),
],
q(ndut) => [
- q(4784),
+ q(4811),
q(0),
],
q(ndyuka-trio pidgin) => [
- q(4899),
+ q(4926),
q(0),
],
q(ndzwani comorian) => [
- q(7149),
+ q(7195),
q(0),
],
q(neapolitan) => [
@@ -43970,59 +44528,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nedebang) => [
- q(4791),
+ q(4818),
q(0),
],
q(nefamese) => [
- q(4794),
+ q(4821),
q(0),
],
q(negerhollands) => [
- q(1976),
+ q(1981),
q(0),
],
q(negeri sembilan malay) => [
- q(7795),
+ q(7893),
q(0),
],
q(negidal) => [
- q(4795),
+ q(4822),
q(0),
],
q(nehan) => [
- q(5055),
+ q(5086),
q(0),
],
q(nek) => [
- q(4868),
+ q(4895),
q(0),
],
q(nekgini) => [
- q(4910),
+ q(4937),
q(0),
],
q(neko) => [
- q(4798),
+ q(4825),
q(0),
],
q(neku) => [
- q(4799),
+ q(4826),
q(0),
],
q(nelemwa-nixumwak) => [
- q(4793),
+ q(4820),
q(0),
],
q(neme) => [
- q(4809),
+ q(4836),
q(0),
],
q(nemi) => [
- q(4800),
+ q(4827),
q(0),
],
q(nen) => [
- q(5027),
+ q(5056),
q(0),
],
q(nend) => [
@@ -44030,23 +44588,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nenets) => [
- q(7659),
+ q(7748),
q(0),
],
q(nenge) => [
- q(2064),
- q(0),
+ q(2070),
+ q(2),
],
q(nengone) => [
- q(4801),
+ q(4828),
q(0),
],
q(neo) => [
- q(4807),
+ q(4834),
q(0),
],
q(neo-hittite) => [
- q(4797),
+ q(4824),
q(0),
],
q(nepal bhasa) => [
@@ -44054,7 +44612,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nepalese sign language) => [
- q(5056),
+ q(5087),
q(0),
],
q(nepali) => [
@@ -44062,7 +44620,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nepali (individual language)) => [
- q(5017),
+ q(5046),
q(0),
],
q(nepali (macrolanguage)) => [
@@ -44070,151 +44628,163 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(nepali kurux) => [
- q(3707),
+ q(3731),
q(0),
],
q(nete) => [
- q(4806),
+ q(4833),
q(0),
],
q(neve'ei) => [
- q(7007),
- q(0),
+ q(7050),
+ q(1),
],
q(neverver) => [
- q(3870),
- q(0),
+ q(3896),
+ q(1),
],
q(new caledonian javanese) => [
- q(3034),
+ q(3057),
q(0),
],
q(new zealand sign language) => [
- q(5157),
+ q(5189),
q(0),
],
q(newari) => [
q(0308),
- q(0),
+ q(1),
],
q(neyo) => [
- q(4810),
+ q(4837),
q(0),
],
q(nez perce) => [
- q(4811),
+ q(4838),
q(0),
],
q(ngaanyatjarra) => [
- q(5069),
+ q(5101),
q(0),
],
q(ngabere) => [
- q(2688),
+ q(2706),
q(0),
],
q(ngad'a) => [
- q(5122),
+ q(5154),
q(0),
],
q(ngadjunmaya) => [
- q(4900),
+ q(4927),
q(0),
],
q(ngadjuri) => [
- q(3129),
+ q(3153),
q(0),
],
q(ngaing) => [
- q(4974),
+ q(5002),
q(0),
],
q(ngaju) => [
- q(4872),
+ q(4899),
q(0),
],
q(ngala) => [
- q(5083),
+ q(5115),
q(0),
],
q(ngalakan) => [
- q(4869),
- q(0),
- ],
- q(ngalkbun) => [
- q(4826),
+ q(4896),
q(0),
],
q(ngalum) => [
- q(6316),
+ q(6355),
q(0),
],
q(ngam) => [
- q(4945),
+ q(4973),
q(0),
],
q(ngamambo) => [
- q(4740),
+ q(4768),
q(0),
],
q(ngambay) => [
- q(5873),
+ q(5910),
q(0),
],
q(ngamini) => [
- q(4964),
+ q(4992),
q(0),
],
q(ngamo) => [
- q(4727),
+ q(4755),
q(0),
],
q(ngan'gityemerri) => [
- q(4710),
+ q(4738),
+ q(0),
+ ],
+ q(nganakarti) => [
+ q(7443),
q(0),
],
q(nganasan) => [
- q(4877),
+ q(4904),
q(0),
],
q(ngandi) => [
- q(4866),
+ q(4893),
q(0),
],
q(ngando (central african republic)) => [
- q(4820),
+ q(4847),
q(0),
],
q(ngando (democratic republic of congo)) => [
- q(5120),
+ q(5152),
q(0),
],
q(ngandyera) => [
- q(4973),
+ q(5001),
q(0),
],
q(ngangam) => [
- q(2556),
+ q(2573),
+ q(0),
+ ],
+ q(ngantangarra) => [
+ q(5099),
q(0),
],
q(nganyaywana) => [
- q(5151),
+ q(5183),
+ q(0),
+ ],
+ q(ngardi) => [
+ q(5888),
+ q(0),
+ ],
+ q(ngarigu) => [
+ q(7442),
q(0),
],
q(ngarinman) => [
- q(4729),
+ q(4757),
q(0),
],
q(ngarinyin) => [
- q(6882),
+ q(6923),
q(0),
],
q(ngarla) => [
- q(4937),
+ q(5065),
q(0),
],
q(ngarluma) => [
- q(5035),
+ q(5066),
q(0),
],
q(ngas) => [
@@ -44222,51 +44792,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ngasa) => [
- q(5049),
+ q(5080),
q(0),
],
q(ngatik men's creole) => [
- q(4828),
+ q(4855),
q(0),
],
q(ngawn chin) => [
- q(1807),
+ q(1811),
q(0),
],
q(ngawun) => [
- q(5127),
+ q(5159),
q(0),
],
q(ngayawung) => [
- q(5112),
+ q(5144),
q(0),
],
q(ngazidja comorian) => [
- q(7746),
+ q(7844),
q(0),
],
q(ngbaka) => [
- q(4817),
+ q(4844),
q(0),
],
q(ngbaka ma'bo) => [
- q(4731),
+ q(4759),
q(0),
],
q(ngbaka manza) => [
- q(4822),
+ q(4849),
q(0),
],
q(ngbee) => [
- q(3064),
+ q(3088),
q(0),
],
q(ngbinda) => [
- q(4724),
+ q(4752),
q(0),
],
q(ngbundu) => [
- q(5100),
+ q(5132),
q(0),
],
q(ngelima) => [
@@ -44274,159 +44844,163 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ngemba) => [
- q(4821),
+ q(4848),
q(0),
],
q(ngeq) => [
- q(4835),
+ q(4862),
q(0),
],
q(ngete) => [
- q(4982),
+ q(5010),
q(0),
],
q(nggem) => [
- q(4735),
+ q(4763),
q(0),
],
q(nggwahyi) => [
- q(4839),
+ q(4866),
q(0),
],
q(ngie) => [
- q(4825),
+ q(4852),
q(0),
],
q(ngiemboon) => [
- q(4976),
+ q(5004),
q(0),
],
q(ngile) => [
- q(3092),
+ q(3116),
q(0),
],
q(ngindo) => [
- q(4984),
+ q(5012),
q(0),
],
q(ngiti) => [
- q(4885),
+ q(4912),
q(0),
],
q(ngizim) => [
- q(4824),
+ q(4851),
q(0),
],
q(ngkalmpw kanum) => [
- q(3190),
+ q(3214),
q(0),
],
q(ngom) => [
- q(5029),
+ q(5059),
q(0),
],
q(ngomba) => [
- q(3067),
+ q(3091),
q(0),
],
q(ngombale) => [
- q(4928),
+ q(4955),
q(0),
],
q(ngombe (central african republic)) => [
- q(4952),
+ q(4980),
q(0),
],
q(ngombe (democratic republic of congo)) => [
- q(4819),
+ q(4846),
q(0),
],
q(ngong) => [
- q(4991),
+ q(5019),
q(0),
],
q(ngongo) => [
- q(5005),
+ q(5034),
q(0),
],
q(ngoni) => [
- q(4830),
+ q(4857),
q(0),
],
q(ngoreme) => [
- q(4832),
- q(0),
+ q(4859),
+ q(1),
],
q(ngoshie) => [
- q(5050),
+ q(5081),
q(0),
],
q(ngul) => [
- q(4936),
+ q(4963),
q(0),
],
q(ngulu) => [
- q(4831),
+ q(4858),
q(0),
],
q(nguluwan) => [
- q(5102),
+ q(5134),
q(0),
],
q(ngumbi) => [
- q(5088),
+ q(5120),
+ q(0),
+ ],
+ q(ngunawal) => [
+ q(7542),
q(0),
],
q(ngundi) => [
- q(4778),
+ q(4805),
q(0),
],
q(ngundu) => [
- q(5084),
+ q(5116),
q(0),
],
q(ngungwel) => [
- q(4841),
+ q(4868),
q(0),
],
q(nguon) => [
- q(5094),
- q(0),
- ],
- q(ngura) => [
- q(4742),
+ q(5126),
q(0),
],
q(ngurimi) => [
- q(4832),
+ q(4859),
q(0),
],
q(ngurmbur) => [
- q(5042),
+ q(5073),
q(0),
],
q(ngwaba) => [
- q(4838),
+ q(4865),
q(0),
],
q(ngwe) => [
- q(5111),
+ q(5143),
q(0),
],
q(ngwo) => [
- q(4829),
+ q(4856),
q(0),
],
q(nhanda) => [
- q(4842),
+ q(4869),
q(0),
],
q(nhengatu) => [
- q(7660),
+ q(7749),
+ q(0),
+ ],
+ q(nhirrpi) => [
+ q(2840),
q(0),
],
q(nhuwala) => [
- q(4847),
+ q(4874),
q(0),
],
q(nias) => [
@@ -44434,19 +45008,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nicaragua creole english) => [
- q(1625),
+ q(1628),
q(0),
],
q(nicaraguan sign language) => [
- q(4761),
+ q(4788),
q(0),
],
q(nicarao) => [
- q(5550),
- q(0),
+ q(5584),
+ q(1),
],
q(niellim) => [
- q(4867),
+ q(4894),
q(0),
],
q(niger-kordofanian languages) => [
@@ -44454,43 +45028,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nigeria mambila) => [
- q(4684),
+ q(4712),
q(0),
],
q(nigerian fulfulde) => [
- q(2384),
+ q(2396),
q(0),
],
q(nigerian pidgin) => [
- q(5368),
+ q(5401),
q(0),
],
q(nigerian sign language) => [
- q(5051),
+ q(5082),
q(0),
],
q(nihali) => [
- q(4935),
+ q(4962),
q(0),
],
q(nii) => [
- q(4871),
+ q(4898),
q(0),
],
q(nijadali) => [
- q(4703),
+ q(4731),
q(0),
],
q(niksek) => [
- q(2414),
+ q(2426),
q(0),
],
q(nila) => [
- q(4874),
+ q(4901),
q(0),
],
q(nilamba) => [
- q(4875),
+ q(4902),
q(0),
],
q(nilo-saharan languages) => [
@@ -44498,95 +45072,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nimadi) => [
- q(4997),
+ q(5025),
q(0),
],
q(nimanbur) => [
- q(4958),
+ q(4986),
q(0),
],
q(nimbari) => [
- q(4960),
+ q(4988),
q(0),
],
q(nimboran) => [
- q(4879),
+ q(4906),
q(0),
],
q(nimi) => [
- q(4880),
+ q(4907),
q(0),
],
q(nimo) => [
- q(4883),
+ q(4910),
q(0),
],
q(nimoa) => [
- q(4965),
+ q(4993),
q(0),
],
q(ninam) => [
- q(5983),
+ q(6020),
q(0),
],
q(ninde) => [
- q(4611),
- q(0),
+ q(4640),
+ q(1),
],
q(nindi) => [
- q(5123),
+ q(5155),
q(0),
],
q(ningera) => [
- q(4743),
+ q(4770),
q(0),
],
q(ninggerum) => [
- q(5129),
+ q(5161),
q(0),
],
q(ningil) => [
- q(4886),
+ q(4913),
q(0),
],
q(ningye) => [
- q(4986),
+ q(5014),
q(0),
],
q(ninia yali) => [
- q(4934),
+ q(4961),
q(0),
],
q(ninzo) => [
- q(4876),
+ q(4903),
q(0),
],
q(nipsan) => [
- q(5021),
+ q(5050),
q(0),
],
q(nisa) => [
- q(4898),
+ q(4925),
q(0),
],
q(nisenan) => [
- q(5066),
+ q(5097),
q(0),
],
q(nisga'a) => [
- q(4750),
+ q(4777),
q(0),
],
q(nisi (china)) => [
- q(7669),
+ q(7760),
q(0),
],
q(niuafo'ou) => [
- q(5092),
+ q(5124),
q(0),
],
q(niuatoputapu) => [
- q(4918),
+ q(4945),
q(0),
],
q(niuean) => [
@@ -44594,75 +45168,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nivacle) => [
- q(1646),
+ q(1649),
+ q(0),
+ ],
+ q(niwer mil) => [
+ q(2835),
q(0),
],
q(njalgulgule) => [
- q(4893),
+ q(4920),
q(0),
],
q(njebi) => [
- q(5154),
+ q(5186),
q(0),
],
q(njen) => [
- q(4892),
+ q(4919),
q(0),
],
q(njerep) => [
- q(4897),
+ q(4924),
q(0),
],
q(njyem) => [
- q(4902),
+ q(4929),
q(0),
],
q(nkami) => [
- q(4919),
+ q(4946),
q(0),
],
q(nkangala) => [
- q(4916),
+ q(4943),
q(0),
],
q(nkari) => [
- q(4927),
+ q(4954),
q(0),
],
q(nkem-nkum) => [
- q(2982),
+ q(3005),
q(0),
],
q(nkhumbi) => [
- q(3327),
+ q(3351),
q(0),
],
q(nkongho) => [
- q(4906),
+ q(4933),
q(0),
],
q(nkonya) => [
- q(4917),
+ q(4944),
q(0),
],
q(nkoroo) => [
- q(4926),
+ q(4953),
q(0),
],
q(nkoya) => [
- q(4904),
+ q(4931),
q(0),
],
q(nkukoli) => [
- q(4733),
+ q(4761),
q(0),
],
q(nkutu) => [
- q(4925),
+ q(4952),
q(0),
],
q(nnam) => [
- q(4734),
+ q(4762),
q(0),
],
q(no linguistic content) => [
@@ -44670,19 +45248,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nobiin) => [
- q(2336),
+ q(2348),
q(0),
],
q(nobonob) => [
- q(2409),
+ q(2421),
q(0),
],
q(nocaman) => [
- q(5003),
+ q(5032),
q(0),
],
q(nocte naga) => [
- q(4888),
+ q(4915),
q(0),
],
q(nogai) => [
@@ -44690,63 +45268,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(noiri) => [
- q(5000),
+ q(5028),
q(0),
],
q(nokuku) => [
- q(4914),
+ q(4941),
q(0),
],
q(nomaande) => [
- q(3850),
+ q(3876),
q(0),
],
q(nomane) => [
- q(4998),
+ q(5026),
q(0),
],
q(nomatsiguenga) => [
- q(5007),
+ q(5036),
+ q(0),
+ ],
+ q(nomlaki) => [
+ q(5031),
q(0),
],
q(nomu) => [
- q(4999),
+ q(5027),
q(0),
],
q(nong zhuang) => [
- q(7758),
+ q(7856),
q(0),
],
q(nonuya) => [
- q(5001),
+ q(5029),
q(0),
],
q(nooksack) => [
- q(5002),
+ q(5030),
q(0),
],
q(noon) => [
- q(6110),
+ q(6147),
q(0),
],
q(noone) => [
- q(4859),
+ q(4886),
q(0),
],
q(nopala chatino) => [
- q(1928),
+ q(1934),
q(0),
],
+ q(nora) => [
+ q(5070),
+ q(1),
+ ],
q(noric) => [
- q(5031),
+ q(5061),
q(0),
],
q(norn) => [
- q(5037),
+ q(5068),
q(0),
],
q(norra) => [
- q(5039),
+ q(5070),
q(0),
],
q(norse, old) => [
@@ -44754,11 +45340,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(north alaskan inupiatun) => [
- q(2286),
+ q(2297),
q(0),
],
q(north ambrym) => [
- q(4373),
+ q(4404),
q(0),
],
q(north american indian languages) => [
@@ -44766,23 +45352,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(north asmat) => [
- q(4921),
+ q(4948),
q(0),
],
q(north awyu) => [
- q(7572),
+ q(7663),
q(0),
],
q(north azerbaijani) => [
- q(1017),
+ q(1018),
q(0),
],
q(north babar) => [
- q(1068),
+ q(1069),
q(0),
],
q(north bolivian quechua) => [
- q(5662),
+ q(5696),
q(0),
],
q(north caucasian languages) => [
@@ -44790,15 +45376,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(north central mixe) => [
- q(4803),
+ q(4830),
q(0),
],
q(north efate) => [
- q(3946),
+ q(3977),
q(0),
],
q(north fali) => [
- q(2347),
+ q(2359),
q(0),
],
q(north germanic languages) => [
@@ -44806,11 +45392,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(north giziga) => [
- q(2514),
+ q(2528),
q(0),
],
q(north junin quechua) => [
- q(5682),
+ q(5716),
q(0),
],
q(north levantine arabic) => [
@@ -44818,63 +45404,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(north marquesan) => [
- q(4499),
+ q(4529),
q(0),
],
q(north mesopotamian arabic) => [
- q(1005),
+ q(1006),
q(0),
],
q(north mofu) => [
- q(4210),
+ q(4242),
q(0),
],
q(north moluccan malay) => [
- q(4100),
+ q(4133),
q(0),
],
q(north muyu) => [
- q(3606),
+ q(3630),
q(0),
],
q(north ndebele) => [
q(0304),
- q(0),
+ q(1),
],
q(north nuaulu) => [
- q(4977),
+ q(5005),
q(0),
],
q(north picene) => [
- q(5038),
+ q(5069),
q(0),
],
q(north slavey) => [
- q(5909),
+ q(5946),
q(0),
],
q(north tairora) => [
- q(6354),
+ q(6393),
q(0),
],
q(north tanna) => [
- q(6590),
+ q(6629),
q(0),
],
q(north wahgi) => [
- q(7086),
+ q(7132),
q(0),
],
q(north watut) => [
- q(6880),
+ q(6921),
q(0),
],
q(northeast kiwai) => [
- q(3352),
+ q(3376),
q(0),
],
q(northeast maidu) => [
- q(4963),
+ q(4991),
q(0),
],
q(northeast pashayi) => [
@@ -44882,15 +45468,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(northeastern dinka) => [
- q(2046),
+ q(2052),
q(0),
],
q(northeastern pomo) => [
- q(5384),
+ q(5416),
q(0),
],
q(northeastern thai) => [
- q(6722),
+ q(6761),
q(0),
],
q(northern alta) => [
@@ -44902,51 +45488,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(northern amami-oshima) => [
- q(5853),
+ q(5890),
q(0),
],
q(northern bai) => [
- q(1139),
+ q(1140),
q(0),
],
q(northern betsimisaraka malagasy) => [
- q(1315),
+ q(1317),
q(0),
],
q(northern binukidnon) => [
- q(3735),
+ q(3759),
q(0),
],
q(northern bobo madare) => [
- q(1053),
+ q(1054),
q(0),
],
q(northern bontok) => [
- q(5733),
+ q(5767),
q(0),
],
q(northern catanduanes bikol) => [
- q(1897),
+ q(1903),
q(0),
],
q(northern conchucos ancash quechua) => [
- q(5699),
+ q(5733),
q(0),
],
q(northern dagara) => [
- q(2010),
+ q(2015),
q(0),
],
q(northern dong) => [
- q(2111),
+ q(2119),
q(0),
],
q(northern east cree) => [
- q(1852),
+ q(1857),
q(0),
],
q(northern embera) => [
- q(2253),
+ q(2264),
q(0),
],
q(northern frisian) => [
@@ -44954,147 +45540,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(northern ghale) => [
- q(2496),
+ q(2509),
q(0),
],
q(northern gondi) => [
- q(2563),
+ q(2580),
q(0),
],
q(northern grebo) => [
- q(2424),
+ q(2436),
q(0),
],
q(northern guiyang hmong) => [
- q(2842),
+ q(2863),
q(0),
],
q(northern guiyang miao) => [
- q(2842),
- q(0),
+ q(2863),
+ q(1),
],
q(northern haida) => [
- q(2724),
+ q(2742),
q(0),
],
q(northern hindko) => [
- q(2792),
+ q(2810),
q(0),
],
q(northern huishui hmong) => [
- q(2770),
+ q(2788),
q(0),
],
q(northern huishui miao) => [
- q(2770),
- q(0),
+ q(2788),
+ q(1),
],
q(northern kalapuya) => [
- q(5040),
+ q(5071),
q(0),
],
q(northern kankanay) => [
- q(7377),
+ q(7444),
q(0),
],
q(northern khmer) => [
- q(3708),
+ q(3732),
q(0),
],
q(northern kissi) => [
- q(3544),
+ q(3568),
q(0),
],
q(northern kurdish) => [
- q(3448),
+ q(3472),
q(0),
],
q(northern luri) => [
- q(4018),
+ q(4050),
q(0),
],
q(northern mashan hmong) => [
- q(2775),
+ q(2793),
q(0),
],
q(northern mashan miao) => [
- q(2775),
- q(0),
+ q(2793),
+ q(1),
],
q(northern muji) => [
- q(7621),
+ q(7711),
q(0),
],
q(northern nago) => [
- q(7311),
+ q(7376),
q(0),
],
q(northern ngbandi) => [
- q(4818),
+ q(4845),
q(0),
],
q(northern nisu) => [
- q(7576),
+ q(7667),
q(0),
],
q(northern nuni) => [
- q(5101),
+ q(5133),
q(0),
],
q(northern oaxaca nahuatl) => [
- q(4863),
+ q(4890),
q(0),
],
q(northern ohlone) => [
- q(1881),
+ q(1887),
q(0),
],
q(northern one) => [
- q(5251),
+ q(5284),
q(0),
],
q(northern paiute) => [
- q(5329),
+ q(5362),
q(0),
],
q(northern pame) => [
- q(5497),
+ q(5529),
q(0),
],
q(northern pashto) => [
- q(5353),
+ q(5386),
q(0),
],
q(northern pastaza quichua) => [
- q(5688),
+ q(5722),
q(0),
],
q(northern pomo) => [
- q(5388),
+ q(5420),
q(0),
],
q(northern puebla nahuatl) => [
- q(4753),
+ q(4780),
q(0),
],
q(northern pumi) => [
- q(5490),
+ q(5522),
q(0),
],
q(northern qiandong miao) => [
- q(2727),
+ q(2745),
q(0),
],
q(northern qiang) => [
- q(1798),
+ q(1802),
q(0),
],
q(northern rengma naga) => [
- q(4980),
+ q(5008),
q(0),
],
q(northern roglai) => [
- q(5815),
+ q(5850),
q(0),
],
q(northern sami) => [
@@ -45102,103 +45688,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(northern sierra miwok) => [
- q(5057),
+ q(5088),
q(0),
],
q(northern sorsoganon) => [
- q(1271),
+ q(1273),
q(0),
],
q(northern sotho) => [
q(0318),
- q(0),
+ q(2),
],
q(northern subanen) => [
- q(6226),
+ q(6263),
q(0),
],
q(northern tarahumara) => [
- q(6470),
+ q(6508),
q(0),
],
q(northern tepehuan) => [
- q(5073),
+ q(5105),
q(0),
],
q(northern thai) => [
- q(4996),
+ q(5024),
q(0),
],
q(northern tiwa) => [
- q(6766),
+ q(6805),
q(0),
],
q(northern tlaxiaco mixtec) => [
- q(7450),
+ q(7525),
q(0),
],
q(northern toussian) => [
- q(6693),
+ q(6732),
q(0),
],
q(northern tujia) => [
- q(6510),
+ q(6548),
q(0),
],
q(northern tutchone) => [
- q(6716),
+ q(6755),
q(0),
],
q(northern uzbek) => [
- q(6933),
+ q(6976),
q(0),
],
q(northern yukaghir) => [
- q(7581),
+ q(7671),
q(0),
],
q(northwest alaska inupiatun) => [
- q(2287),
+ q(2298),
q(0),
],
q(northwest gbaya) => [
- q(2680),
+ q(2698),
q(0),
],
q(northwest maidu) => [
- q(4298),
+ q(4330),
q(0),
],
q(northwest oaxaca mixtec) => [
- q(4627),
+ q(4656),
q(0),
],
q(northwest pashayi) => [
- q(2532),
+ q(2547),
q(0),
],
q(northwestern dinka) => [
- q(2052),
+ q(2058),
q(0),
],
q(northwestern fars) => [
- q(2329),
+ q(2341),
q(0),
],
q(northwestern kolami) => [
- q(3262),
+ q(3286),
q(0),
],
q(northwestern nisu) => [
- q(5048),
+ q(5079),
q(0),
],
q(northwestern ojibwa) => [
- q(5194),
+ q(5226),
q(0),
],
q(northwestern tamang) => [
- q(6564),
+ q(6603),
q(0),
],
q(norwegian) => [
@@ -45207,74 +45793,70 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(norwegian bokmal) => [
q(0313),
- q(0),
+ q(1),
],
q(norwegian nynorsk) => [
q(0312),
q(0),
],
q(norwegian sign language) => [
- q(5053),
+ q(5084),
q(0),
],
q(not applicable) => [
q(0485),
- q(0),
+ q(1),
],
q(notre) => [
- q(1301),
+ q(1303),
q(0),
],
q(notsi) => [
- q(4749),
+ q(4776),
q(0),
],
q(nottoway) => [
- q(5077),
+ q(5109),
q(0),
],
q(nottoway-meherrin) => [
- q(5118),
+ q(5150),
q(0),
],
q(novial) => [
- q(5009),
+ q(5038),
q(0),
],
q(noy) => [
- q(5011),
- q(0),
- ],
- q(nsari) => [
- q(0895),
+ q(5040),
q(0),
],
q(nsenga) => [
- q(5047),
+ q(5078),
q(0),
],
q(nshi) => [
- q(5045),
+ q(5076),
q(0),
],
q(nsongo) => [
- q(5064),
+ q(5095),
q(0),
],
q(ntcham) => [
- q(1498),
+ q(1500),
q(0),
],
q(ntomba) => [
- q(5072),
+ q(5104),
q(0),
],
q(nubaca) => [
- q(1027),
+ q(1028),
q(0),
],
q(nubi) => [
- q(3200),
+ q(3224),
q(0),
],
q(nubian languages) => [
@@ -45282,163 +45864,167 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nubri) => [
- q(3602),
+ q(3626),
q(0),
],
q(nuer) => [
- q(5098),
+ q(5130),
q(0),
],
q(nugunu (australia)) => [
- q(4989),
+ q(5017),
q(0),
],
q(nugunu (cameroon)) => [
- q(7510),
+ q(7598),
q(0),
],
q(nuk) => [
- q(4995),
+ q(5023),
q(0),
],
q(nukak maku) => [
- q(4118),
+ q(4151),
q(0),
],
q(nukna) => [
- q(3425),
+ q(3449),
q(0),
],
q(nukuini) => [
- q(5082),
+ q(5114),
q(0),
],
q(nukumanu) => [
- q(5096),
+ q(5128),
+ q(0),
+ ],
+ q(nukunul) => [
+ q(7449),
q(0),
],
q(nukuoro) => [
- q(4920),
+ q(4947),
q(0),
],
q(nukuria) => [
- q(5097),
+ q(5129),
q(0),
],
q(numana-nunku-gbantu-numbu) => [
- q(4736),
+ q(4764),
q(0),
],
q(numanggang) => [
- q(5004),
+ q(5033),
q(0),
],
q(numbami) => [
- q(6013),
+ q(6050),
q(0),
],
q(nume) => [
- q(6458),
+ q(6496),
q(0),
],
q(numee) => [
- q(3222),
+ q(3246),
q(0),
],
q(numidian) => [
- q(5126),
+ q(5158),
q(0),
],
q(nung (viet nam)) => [
- q(5099),
+ q(5131),
q(0),
],
q(nungali) => [
- q(5086),
+ q(5118),
q(0),
],
q(nunggubuyu) => [
- q(5104),
+ q(5136),
q(0),
],
q(nungu) => [
- q(5765),
+ q(5799),
q(0),
],
q(nuosu) => [
q(0189),
- q(0),
+ q(1),
],
q(nupbikha) => [
- q(5014),
+ q(5043),
q(0),
],
q(nupe-nupe-tako) => [
- q(5095),
+ q(5127),
q(0),
],
q(nupode huitoto) => [
- q(2854),
+ q(2875),
q(0),
],
q(nusa laut) => [
- q(5091),
+ q(5123),
q(0),
],
q(nusu) => [
- q(5085),
+ q(5117),
q(0),
],
q(nuu-chah-nulth) => [
- q(5090),
+ q(5122),
q(0),
],
q(nuuchahnulth) => [
- q(5090),
- q(0),
+ q(5122),
+ q(1),
],
q(nyabwa) => [
- q(5110),
+ q(5142),
q(0),
],
q(nyaheun) => [
- q(4808),
+ q(4835),
q(0),
],
q(nyahkur) => [
- q(1672),
+ q(1675),
q(0),
],
q(nyakyusa-ngonde) => [
- q(5152),
+ q(5184),
q(0),
],
q(nyalayu) => [
- q(7603),
+ q(7693),
q(0),
],
q(nyali) => [
- q(4933),
+ q(4960),
q(0),
],
q(nyam) => [
- q(4951),
+ q(4979),
q(0),
],
q(nyamal) => [
- q(4941),
+ q(4969),
q(0),
],
q(nyambo) => [
- q(5010),
+ q(5039),
q(0),
],
q(nyamusa-molo) => [
- q(5114),
+ q(5146),
q(0),
],
q(nyamwanga) => [
- q(4615),
+ q(4644),
q(0),
],
q(nyamwezi) => [
@@ -45446,131 +46032,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nyaneka) => [
- q(5141),
+ q(5173),
q(0),
],
q(nyang'i) => [
- q(5143),
+ q(5175),
q(0),
],
q(nyanga) => [
- q(5140),
+ q(5172),
q(0),
],
q(nyanga-li) => [
- q(5133),
+ q(5165),
q(0),
],
q(nyangatom) => [
- q(4978),
+ q(5006),
q(0),
],
q(nyangbo) => [
- q(5132),
+ q(5164),
q(0),
],
q(nyangga) => [
- q(4992),
+ q(5020),
q(0),
],
q(nyangumarta) => [
- q(4969),
+ q(4997),
q(0),
],
q(nyanja) => [
q(0321),
- q(0),
+ q(2),
],
q(nyankole) => [
q(0323),
q(0),
],
q(nyankpa) => [
- q(7547),
+ q(7636),
q(0),
],
q(nyarafolo senoufo) => [
- q(5953),
+ q(5990),
q(0),
],
q(nyaturu) => [
- q(5764),
+ q(5798),
q(0),
],
q(nyaw) => [
- q(5150),
+ q(5182),
q(0),
],
q(nyawaygi) => [
- q(5147),
+ q(5179),
q(0),
],
+ q(nyelayu) => [
+ q(7693),
+ q(1),
+ ],
q(nyemba) => [
- q(4721),
+ q(4749),
q(0),
],
q(nyengo) => [
- q(5135),
+ q(5167),
q(0),
],
q(nyenkha) => [
- q(4796),
+ q(4823),
q(0),
],
q(nyeu) => [
- q(5142),
+ q(5174),
q(0),
],
q(nyigina) => [
- q(5138),
+ q(5170),
q(0),
],
q(nyiha (malawi)) => [
- q(5145),
+ q(5177),
q(0),
],
q(nyiha (tanzania)) => [
- q(4870),
+ q(4897),
q(0),
],
q(nyika (malawi and zambia)) => [
- q(4924),
+ q(4951),
q(0),
],
q(nyika (tanzania)) => [
- q(4922),
+ q(4949),
q(0),
],
q(nyindrou) => [
- q(3892),
+ q(3918),
q(0),
],
q(nyindu) => [
- q(5137),
+ q(5169),
q(0),
],
q(nyishi) => [
- q(4903),
+ q(4930),
+ q(0),
+ ],
+ q(nyiyaparli) => [
+ q(7450),
q(0),
],
q(nynorsk, norwegian) => [
q(0312),
- q(0),
+ q(1),
],
q(nyokon) => [
- q(5108),
+ q(5140),
q(0),
],
q(nyole) => [
- q(5089),
+ q(5121),
q(0),
],
q(nyong) => [
- q(4569),
+ q(4599),
q(0),
],
q(nyore) => [
- q(5134),
+ q(5166),
q(0),
],
q(nyoro) => [
@@ -45578,27 +46172,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(nyulnyul) => [
- q(5149),
+ q(5181),
q(0),
],
q(nyunga) => [
- q(5146),
+ q(5178),
q(0),
],
q(nyungwe) => [
- q(5148),
+ q(5180),
q(0),
],
q(nzakambay) => [
- q(5159),
+ q(5191),
q(0),
],
q(nzakara) => [
- q(5155),
+ q(5187),
q(0),
],
q(nzanyi) => [
- q(4887),
+ q(4914),
q(0),
],
q(nzima) => [
@@ -45606,27 +46200,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(o'chi'chi') => [
- q(7383),
+ q(7452),
q(0),
],
q(o'du) => [
- q(6800),
+ q(6839),
q(0),
],
q(obanliku) => [
- q(1639),
+ q(1642),
q(0),
],
q(obispeno) => [
- q(5165),
+ q(5197),
q(0),
],
q(oblo) => [
- q(5167),
+ q(5199),
q(0),
],
q(obo manobo) => [
- q(5169),
+ q(5201),
q(0),
],
q(obokuitai) => [
@@ -45638,51 +46232,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(obulom) => [
- q(5172),
+ q(5204),
q(0),
],
q(ocaina) => [
- q(5173),
+ q(5205),
q(0),
],
q(occidental) => [
q(0192),
- q(0),
+ q(1),
],
q(occitan (post 1500)) => [
q(0326),
q(0),
],
q(ocotepec mixtec) => [
- q(4278),
+ q(4310),
q(0),
],
q(ocotlan zapotec) => [
- q(7718),
+ q(7816),
q(0),
],
q(od) => [
- q(5178),
+ q(5210),
q(0),
],
q(odiai) => [
- q(1192),
+ q(1193),
q(0),
],
q(odoodee) => [
- q(3382),
+ q(3406),
q(0),
],
q(odual) => [
- q(5180),
+ q(5212),
q(0),
],
q(odut) => [
- q(5177),
+ q(5209),
q(0),
],
q(ofaye) => [
- q(5267),
+ q(5300),
q(0),
],
q(official aramaic (700-300 bce)) => [
@@ -45690,35 +46284,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ofo) => [
- q(5181),
+ q(5213),
q(0),
],
q(ogbah) => [
- q(5185),
+ q(5217),
q(0),
],
q(ogbia) => [
- q(5184),
+ q(5216),
q(0),
],
q(ogbogolo) => [
- q(5187),
+ q(5219),
q(0),
],
q(ogbronuagum) => [
- q(5189),
+ q(5221),
q(0),
],
q(ogea) => [
- q(2277),
+ q(2288),
q(0),
],
q(oirat) => [
q(0470),
- q(0),
+ q(1),
],
q(oirata) => [
- q(5192),
+ q(5224),
q(0),
],
q(ojibwa) => [
@@ -45726,95 +46320,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ojitlan chinantec) => [
- q(1724),
+ q(1727),
q(0),
],
q(okanagan) => [
- q(5201),
+ q(5233),
q(0),
],
q(oki-no-erabu) => [
- q(5212),
+ q(5244),
q(0),
],
q(okiek) => [
- q(5207),
+ q(5239),
q(0),
],
q(oko-eni-osayen) => [
- q(5215),
+ q(5247),
q(0),
],
q(oko-juwoi) => [
- q(5208),
+ q(5240),
q(0),
],
q(okobo) => [
- q(5202),
+ q(5234),
q(0),
],
q(okodia) => [
- q(5203),
+ q(5235),
q(0),
],
q(okolod) => [
- q(3547),
+ q(3571),
q(0),
],
q(okpamheri) => [
- q(5262),
+ q(5295),
q(0),
],
q(okpe (northwestern edo)) => [
- q(5218),
+ q(5250),
q(0),
],
q(okpe (southwestern edo)) => [
- q(5204),
+ q(5236),
q(0),
],
q(oksapmin) => [
- q(5264),
+ q(5297),
q(0),
],
q(oku) => [
- q(5216),
+ q(5248),
q(0),
],
q(old aramaic (up to 700 bce)) => [
- q(5163),
+ q(5195),
q(0),
],
q(old avar) => [
- q(5164),
+ q(5196),
q(0),
],
q(old breton) => [
- q(5171),
+ q(5203),
q(0),
],
q(old bulgarian) => [
q(0086),
- q(0),
+ q(3),
],
q(old burmese) => [
- q(5170),
+ q(5202),
q(0),
],
q(old chinese) => [
- q(5174),
+ q(5206),
q(0),
],
q(old church slavonic) => [
q(0086),
- q(0),
+ q(4),
],
q(old cornish) => [
- q(5175),
+ q(5207),
q(0),
],
q(old dutch) => [
- q(5179),
+ q(5211),
q(0),
],
q(old english (ca. 450-1100)) => [
@@ -45826,11 +46420,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(old frisian) => [
- q(5182),
+ q(5214),
q(0),
],
q(old georgian) => [
- q(5186),
+ q(5218),
q(0),
],
q(old high german (ca. 750-1050)) => [
@@ -45838,11 +46432,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(old hittite) => [
- q(5190),
+ q(5222),
q(0),
],
q(old hungarian) => [
- q(5191),
+ q(5223),
q(0),
],
q(old irish (to 900)) => [
@@ -45850,39 +46444,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(old japanese) => [
- q(5197),
+ q(5229),
q(0),
],
q(old kentish sign language) => [
- q(5210),
+ q(5242),
q(0),
],
q(old korean (3rd-9th cent.)) => [
- q(5213),
+ q(5245),
q(0),
],
q(old manipuri) => [
- q(5235),
+ q(5268),
q(0),
],
q(old marathi) => [
- q(5236),
+ q(5269),
q(0),
],
q(old mon) => [
- q(5240),
+ q(5273),
q(0),
],
q(old newari) => [
q(0320),
- q(0),
+ q(1),
],
q(old norse) => [
q(0315),
q(1),
],
q(old nubian) => [
- q(5255),
+ q(5288),
q(0),
],
q(old occitan (to 1500)) => [
@@ -45890,7 +46484,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(2),
],
q(old ossetic) => [
- q(5261),
+ q(5294),
q(0),
],
q(old persian (ca. 600-400 b.c.)) => [
@@ -45902,111 +46496,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(old russian) => [
- q(5279),
+ q(5312),
q(0),
],
q(old saxon) => [
- q(5290),
+ q(5323),
q(0),
],
q(old slavonic) => [
q(0086),
- q(0),
+ q(1),
],
q(old spanish) => [
- q(5287),
+ q(5320),
q(0),
],
q(old tamil) => [
- q(5306),
+ q(5339),
q(0),
],
q(old tibetan) => [
- q(5291),
+ q(5324),
q(0),
],
q(old turkish) => [
- q(5295),
+ q(5328),
q(0),
],
q(old uighur) => [
- q(5311),
+ q(5344),
q(0),
],
q(old welsh) => [
- q(5315),
+ q(5348),
q(0),
],
q(olekha) => [
- q(5221),
+ q(5253),
+ q(0),
+ ],
+ q(olkol) => [
+ q(5254),
q(0),
],
q(olo) => [
- q(5244),
+ q(5277),
q(0),
],
q(oloma) => [
- q(5222),
+ q(5255),
q(0),
],
q(olrat) => [
- q(5224),
+ q(5257),
q(0),
],
q(olu'bo) => [
- q(4058),
+ q(4090),
q(0),
],
q(olukhayo) => [
- q(3926),
- q(0),
+ q(3956),
+ q(1),
],
q(olulumo-ikom) => [
- q(2924),
+ q(2946),
q(0),
],
q(oluluyia) => [
- q(4067),
- q(0),
+ q(4099),
+ q(1),
],
q(olumarachi) => [
- q(4021),
- q(0),
+ q(4053),
+ q(1),
],
q(olumarama) => [
- q(4024),
- q(0),
+ q(4056),
+ q(1),
],
q(olunyole) => [
- q(5134),
- q(0),
+ q(5166),
+ q(1),
],
q(olusamia) => [
- q(4038),
- q(0),
+ q(4070),
+ q(1),
],
q(olushisa) => [
- q(3928),
- q(0),
+ q(3958),
+ q(1),
],
q(oluta popoluca) => [
- q(5472),
+ q(5504),
q(0),
],
q(olutsotso) => [
- q(4049),
- q(0),
+ q(4081),
+ q(1),
],
q(oluwanga) => [
- q(4075),
- q(0),
+ q(4107),
+ q(1),
],
q(omagua) => [
- q(5229),
+ q(5262),
q(0),
],
q(omaha-ponca) => [
- q(5225),
+ q(5258),
q(0),
],
q(omani arabic) => [
@@ -46014,23 +46612,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ombamba) => [
- q(4113),
+ q(4146),
q(0),
],
q(ombo) => [
- q(5232),
+ q(5265),
q(0),
],
q(omejes) => [
- q(5228),
+ q(5261),
q(0),
],
q(ometepec nahuatl) => [
- q(4858),
+ q(4885),
q(0),
],
q(omi) => [
- q(5230),
+ q(5263),
q(0),
],
q(omie) => [
@@ -46038,7 +46636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(omok) => [
- q(5231),
+ q(5264),
q(0),
],
q(omotic languages) => [
@@ -46046,99 +46644,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(omotik) => [
- q(5237),
+ q(5270),
q(0),
],
q(omurano) => [
- q(5238),
+ q(5271),
q(0),
],
q(ona) => [
- q(5241),
+ q(5274),
q(0),
],
q(oneida) => [
- q(5243),
+ q(5276),
q(0),
],
q(ong) => [
- q(5258),
+ q(5291),
q(0),
],
q(onge) => [
- q(5259),
+ q(5292),
q(0),
],
q(onin) => [
- q(5245),
+ q(5278),
q(0),
],
q(onin based pidgin) => [
- q(5256),
+ q(5289),
q(0),
],
q(oniyan) => [
- q(1450),
- q(0),
+ q(1452),
+ q(1),
],
q(onjob) => [
- q(5246),
+ q(5279),
q(0),
],
q(ono) => [
- q(5252),
+ q(5285),
q(0),
],
q(onobasulu) => [
- q(5248),
+ q(5281),
q(0),
],
q(onondaga) => [
- q(5249),
+ q(5282),
q(0),
],
q(ontenu) => [
- q(5253),
+ q(5286),
q(0),
],
q(ontong java) => [
- q(5199),
+ q(5231),
q(0),
],
q(oorlams) => [
- q(5260),
+ q(5293),
q(0),
],
q(opao) => [
- q(5265),
+ q(5298),
q(0),
],
q(opata) => [
- q(5266),
+ q(5299),
q(0),
],
q(opuuo) => [
- q(3873),
+ q(3899),
q(0),
],
q(orang kanaq) => [
- q(5273),
+ q(5306),
q(0),
],
q(orang seletar) => [
- q(5276),
+ q(5309),
q(0),
],
q(oraon sadri) => [
- q(5928),
+ q(5965),
q(0),
],
q(orejon) => [
- q(5270),
+ q(5303),
q(0),
],
q(oring) => [
- q(5271),
+ q(5304),
q(0),
],
q(oriya) => [
@@ -46146,7 +46744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(oriya (individual language)) => [
- q(5282),
+ q(5315),
q(0),
],
q(oriya (macrolanguage)) => [
@@ -46154,51 +46752,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(orizaba nahuatl) => [
- q(4939),
+ q(4966),
q(0),
],
q(orma) => [
- q(5269),
+ q(5302),
q(0),
],
q(ormu) => [
- q(5283),
+ q(5316),
q(0),
],
q(ormuri) => [
- q(5278),
+ q(5311),
q(0),
],
q(oro) => [
- q(5281),
+ q(5314),
q(0),
],
q(oro win) => [
- q(5280),
+ q(5313),
q(0),
],
q(oroch) => [
- q(5162),
+ q(5194),
q(0),
],
q(oroha) => [
- q(5268),
+ q(5301),
q(0),
],
q(orok) => [
- q(5161),
+ q(5193),
q(0),
],
q(orokaiva) => [
- q(5217),
+ q(5249),
q(0),
],
q(oroko) => [
- q(1110),
+ q(1111),
q(0),
],
q(orokolo) => [
- q(5274),
+ q(5307),
q(0),
],
q(oromo) => [
@@ -46206,19 +46804,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(oroqen) => [
- q(5272),
+ q(5305),
q(0),
],
q(orowe) => [
- q(1383),
+ q(1385),
q(0),
],
q(oruma) => [
- q(5275),
+ q(5308),
q(0),
],
q(orya) => [
- q(6911),
+ q(6954),
q(0),
],
q(osage) => [
@@ -46226,19 +46824,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(osatu) => [
- q(5288),
+ q(5321),
q(0),
],
q(oscan) => [
- q(5284),
+ q(5317),
q(0),
],
q(osing) => [
- q(5285),
+ q(5318),
q(0),
],
q(ososo) => [
- q(5286),
+ q(5319),
q(0),
],
q(ossetian) => [
@@ -46247,18 +46845,18 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(ossetic) => [
q(0331),
- q(0),
+ q(1),
],
q(ot danum) => [
- q(5292),
+ q(5325),
q(0),
],
q(otank) => [
- q(6919),
+ q(6962),
q(0),
],
q(oti) => [
- q(5294),
+ q(5327),
q(0),
],
q(oto-manguean languages) => [
@@ -46270,11 +46868,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(otoro) => [
- q(5300),
+ q(5333),
q(0),
],
q(ottawa) => [
- q(5304),
+ q(5337),
q(0),
],
q(ottoman turkish (1500-1928)) => [
@@ -46282,131 +46880,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(otuho) => [
- q(4006),
+ q(4038),
q(0),
],
q(otuke) => [
- q(5303),
+ q(5336),
q(0),
],
q(ouma) => [
- q(5312),
+ q(5345),
q(0),
],
q(oune) => [
- q(5310),
+ q(5343),
q(0),
],
q(owa) => [
- q(6237),
+ q(6274),
q(0),
],
q(owenia) => [
- q(7196),
+ q(7244),
q(0),
],
q(owiniga) => [
- q(5314),
+ q(5347),
q(0),
],
q(oy) => [
- q(5316),
+ q(5349),
q(0),
],
q(oya'oya) => [
- q(5319),
+ q(5352),
q(0),
],
q(oyda) => [
- q(5317),
+ q(5350),
q(0),
],
q(ozolotepec zapotec) => [
- q(7729),
+ q(7827),
q(0),
],
q(ozumacin chinantec) => [
- q(1730),
+ q(1733),
q(0),
],
q(pa di) => [
- q(5375),
+ q(5407),
q(0),
],
q(pa'a) => [
- q(5560),
+ q(5593),
q(0),
],
q(pa'o) => [
- q(1288),
- q(0),
+ q(1290),
+ q(1),
],
q(pa'o karen) => [
- q(1288),
+ q(1290),
q(0),
],
q(pa-hng) => [
- q(5410),
+ q(5442),
q(0),
],
q(paafang) => [
- q(5399),
+ q(5431),
q(0),
],
q(paakantyi) => [
- q(2136),
+ q(2144),
q(0),
],
q(paama) => [
- q(5483),
+ q(5515),
q(0),
],
q(paasaal) => [
- q(6010),
+ q(6047),
q(0),
],
q(pacahuara) => [
- q(5370),
+ q(5403),
q(0),
],
q(pacaraos quechua) => [
- q(5684),
+ q(5718),
q(0),
],
q(pacific gulf yupik) => [
- q(2254),
+ q(2265),
q(0),
],
q(pacoh) => [
- q(5322),
+ q(5355),
q(0),
],
q(padoe) => [
- q(5377),
+ q(5409),
q(0),
],
q(paekche) => [
- q(5451),
+ q(5483),
q(0),
],
q(paelignian) => [
- q(5407),
+ q(5439),
q(0),
],
q(paez) => [
- q(5339),
+ q(5372),
q(0),
],
q(pagi) => [
- q(5404),
+ q(5436),
q(0),
],
q(pagibete) => [
- q(5324),
+ q(5357),
q(0),
],
q(pagu) => [
- q(5409),
+ q(5441),
q(0),
],
q(pahanan agta) => [
@@ -46414,15 +47012,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pahari-potwari) => [
- q(5419),
+ q(5451),
q(0),
],
q(pahi) => [
- q(3876),
+ q(3902),
q(0),
],
q(pahlavani) => [
- q(5422),
+ q(5454),
q(0),
],
q(pahlavi) => [
@@ -46430,47 +47028,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pai tavytera) => [
- q(5603),
+ q(5636),
q(0),
],
q(paici) => [
- q(5569),
+ q(5602),
q(0),
],
q(paipai) => [
- q(5548),
+ q(5582),
q(0),
],
q(paite chin) => [
- q(5366),
+ q(5399),
q(0),
],
q(paiwan) => [
- q(5640),
+ q(5674),
q(0),
],
q(pak-tong) => [
- q(5452),
+ q(5484),
q(0),
],
q(pakaasnovos) => [
- q(5334),
+ q(5367),
q(0),
],
q(pakanha) => [
- q(5454),
+ q(5486),
q(0),
],
q(pakistan sign language) => [
- q(5458),
+ q(5490),
q(0),
],
q(paku) => [
- q(5460),
+ q(5492),
q(0),
],
q(paku karen) => [
- q(3089),
+ q(3113),
q(0),
],
q(pal) => [
@@ -46478,23 +47076,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(palaic) => [
- q(5474),
+ q(5506),
q(0),
],
q(palaka senoufo) => [
- q(5475),
+ q(5507),
q(0),
],
q(palantla chinantec) => [
- q(1831),
+ q(1835),
q(0),
],
q(palauan) => [
q(0340),
q(0),
],
+ q(paleni) => [
+ q(5547),
+ q(0),
+ ],
q(palenquero) => [
- q(5471),
+ q(5503),
q(0),
],
q(pali) => [
@@ -46502,63 +47104,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(palikur) => [
- q(5478),
+ q(5510),
q(0),
],
q(paliyan) => [
- q(5361),
+ q(5394),
q(0),
],
q(pallanganmiddang) => [
- q(5486),
+ q(5518),
q(0),
],
q(palor) => [
- q(2324),
+ q(2336),
q(0),
],
q(palpa) => [
- q(5473),
+ q(5505),
q(0),
],
q(palu'e) => [
- q(5465),
+ q(5497),
q(0),
],
q(paluan) => [
- q(5482),
+ q(5514),
q(0),
],
q(palula) => [
- q(5415),
- q(0),
+ q(5447),
+ q(1),
],
q(palumata) => [
- q(5485),
+ q(5517),
q(0),
],
q(palya bareli) => [
- q(1396),
+ q(1398),
q(0),
],
q(pam) => [
- q(5495),
+ q(5527),
q(0),
],
q(pambia) => [
- q(5484),
+ q(5516),
q(0),
],
q(pamlico) => [
- q(5492),
+ q(5524),
q(0),
],
q(pamona) => [
- q(5488),
+ q(5520),
q(0),
],
q(pamosu) => [
- q(2743),
+ q(2761),
q(0),
],
q(pampanga) => [
@@ -46570,51 +47172,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pana (burkina faso)) => [
- q(5518),
+ q(5552),
q(0),
],
q(pana (central african republic)) => [
- q(5527),
+ q(5561),
q(0),
],
q(panamanian sign language) => [
- q(4040),
+ q(4072),
q(0),
],
q(panamint) => [
- q(5331),
- q(0),
- ],
- q(panang) => [
- q(5371),
+ q(5364),
q(0),
],
q(panao huanuco quechua) => [
- q(5697),
+ q(5731),
q(0),
],
q(panara) => [
- q(3555),
+ q(3579),
q(0),
],
q(panasuan) => [
- q(5593),
+ q(5626),
q(0),
],
q(panawa) => [
- q(5637),
+ q(5670),
q(0),
],
q(pancana) => [
- q(5517),
+ q(5551),
q(0),
],
q(panchpargania) => [
- q(6397),
+ q(6436),
q(0),
],
q(pande) => [
- q(1262),
+ q(1264),
q(0),
],
q(pangasinan) => [
@@ -46622,27 +47220,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pangseng) => [
- q(5408),
+ q(5440),
q(0),
],
q(pangutaran sama) => [
- q(6076),
+ q(6113),
q(0),
],
q(pangwa) => [
- q(5350),
+ q(5383),
q(0),
],
q(pangwali) => [
- q(5403),
+ q(5435),
q(0),
],
q(panim) => [
- q(5519),
+ q(5553),
q(0),
],
q(paniya) => [
- q(5362),
+ q(5395),
q(0),
],
q(panjabi) => [
@@ -46650,63 +47248,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pankarare) => [
- q(5336),
+ q(5369),
q(0),
],
q(pankararu) => [
- q(5338),
+ q(5371),
q(0),
],
q(pankhu) => [
- q(5453),
+ q(5485),
q(0),
],
q(pannei) => [
- q(5508),
+ q(5540),
q(0),
],
q(pano) => [
- q(4483),
+ q(4513),
q(0),
],
q(panoan katukina) => [
- q(3475),
+ q(3499),
q(0),
],
q(panobo) => [
- q(5516),
+ q(5550),
q(0),
],
q(panytyima) => [
- q(5524),
+ q(5558),
q(0),
],
q(pao) => [
- q(5546),
+ q(5580),
q(0),
],
q(papantla totonac) => [
- q(6614),
+ q(6653),
q(0),
],
q(papapana) => [
- q(5552),
+ q(5586),
q(0),
],
q(papar) => [
- q(2129),
+ q(2137),
q(0),
],
q(papasena) => [
- q(5332),
+ q(5365),
q(0),
],
q(papel) => [
- q(5348),
+ q(5381),
q(0),
],
q(papi) => [
- q(5547),
+ q(5581),
q(0),
],
q(papiamento) => [
@@ -46714,11 +47312,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(papitalai) => [
- q(5333),
+ q(5366),
q(0),
],
q(papora) => [
- q(5559),
+ q(5592),
q(0),
],
q(papuan languages) => [
@@ -46726,11 +47324,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(papuan malay) => [
- q(5504),
+ q(5536),
q(0),
],
q(papuma) => [
- q(5551),
+ q(5585),
q(0),
],
q(para arara) => [
@@ -46738,187 +47336,191 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(para gaviao) => [
- q(2660),
+ q(2678),
q(0),
],
q(para naga) => [
- q(5652),
+ q(5686),
q(0),
],
q(parachi) => [
- q(5563),
+ q(5596),
q(0),
],
q(paraguayan guarani) => [
- q(2633),
+ q(2651),
q(0),
],
q(paraguayan sign language) => [
- q(5648),
+ q(5682),
q(0),
],
q(parakana) => [
- q(5328),
+ q(5361),
q(0),
],
q(paranan) => [
- q(5566),
+ q(5599),
q(0),
],
q(paranawat) => [
- q(5325),
+ q(5358),
q(0),
],
q(paraujano) => [
- q(5343),
+ q(5376),
q(0),
],
q(parauk) => [
- q(5570),
+ q(5603),
q(0),
],
q(parawen) => [
- q(5580),
+ q(5613),
q(0),
],
q(pardhan) => [
- q(5363),
+ q(5396),
q(0),
],
q(pardhi) => [
- q(5367),
+ q(5400),
q(0),
],
q(pare) => [
- q(5558),
+ q(5591),
q(0),
],
q(parecis) => [
- q(5321),
+ q(5354),
q(0),
],
q(parenga) => [
- q(5365),
+ q(5398),
q(0),
],
q(pari) => [
- q(3927),
+ q(3957),
q(0),
],
q(parkari koli) => [
- q(3668),
+ q(3692),
q(0),
],
q(parkwa) => [
- q(5345),
+ q(5378),
q(0),
],
q(parsi) => [
- q(5574),
+ q(5607),
q(0),
],
q(parsi-dari) => [
- q(5564),
+ q(5597),
q(0),
],
q(parthian) => [
- q(7405),
+ q(7475),
q(0),
],
q(parya) => [
- q(5330),
+ q(5363),
q(0),
],
q(pashto) => [
q(0351),
- q(0),
+ q(1),
],
q(pasi) => [
- q(5596),
+ q(5629),
q(0),
],
q(pass valley yali) => [
- q(7496),
+ q(7584),
q(0),
],
q(patamona) => [
- q(5340),
+ q(5373),
q(0),
],
q(patani) => [
- q(5606),
+ q(5639),
q(0),
],
q(pataxo ha-ha-hae) => [
- q(5604),
+ q(5637),
q(0),
],
q(patep) => [
- q(5608),
+ q(5641),
q(0),
],
q(pathiya) => [
- q(5614),
+ q(5647),
q(0),
],
q(patpatar) => [
- q(2477),
+ q(2491),
q(0),
],
q(pattani) => [
- q(3776),
+ q(3800),
q(0),
],
q(pattani malay) => [
- q(4200),
+ q(4232),
+ q(0),
+ ],
+ q(patwin) => [
+ q(5672),
q(0),
],
q(paulohi) => [
- q(5467),
+ q(5499),
q(0),
],
q(paumari) => [
- q(5323),
+ q(5356),
q(0),
],
q(paunaka) => [
- q(5513),
+ q(5546),
q(0),
],
q(pauri bareli) => [
- q(1138),
+ q(1139),
q(0),
],
q(pauserna) => [
- q(5592),
+ q(5625),
q(0),
],
q(pawaia) => [
- q(5636),
+ q(5669),
q(0),
],
q(pawnee) => [
- q(5335),
+ q(5368),
q(0),
],
q(paynamar) => [
- q(5498),
+ q(5530),
q(0),
],
q(pe) => [
- q(5327),
+ q(5360),
q(0),
],
q(pear) => [
- q(5357),
+ q(5390),
q(0),
],
q(pech) => [
- q(5337),
+ q(5370),
q(0),
],
q(pecheneg) => [
- q(7394),
+ q(7464),
q(0),
],
q(pedi) => [
@@ -46926,19 +47528,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(peere) => [
- q(5400),
+ q(5432),
q(0),
],
q(pei) => [
- q(5555),
+ q(5589),
q(0),
],
q(pekal) => [
- q(5390),
+ q(5422),
q(0),
],
q(pela) => [
- q(1570),
+ q(1573),
q(0),
],
q(pele-ata) => [
@@ -46946,7 +47548,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pelende) => [
- q(5554),
+ q(5588),
q(0),
],
q(pemon) => [
@@ -46954,55 +47556,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pemono) => [
- q(5395),
+ q(5427),
q(0),
],
q(penang sign language) => [
- q(5588),
+ q(5621),
q(0),
],
q(penchal) => [
- q(5389),
+ q(5421),
q(0),
],
q(pendau) => [
- q(6878),
+ q(6919),
q(0),
],
q(pengo) => [
- q(5385),
+ q(5417),
q(0),
],
q(pennsylvania german) => [
- q(5374),
+ q(5406),
q(0),
],
q(penoles mixtec) => [
- q(4285),
+ q(4317),
q(0),
],
q(penrhyn) => [
- q(5511),
+ q(5543),
q(0),
],
q(pentlatch) => [
- q(5613),
+ q(5646),
q(0),
],
q(perai) => [
- q(7074),
+ q(7120),
q(0),
],
q(peranakan indonesian) => [
- q(5380),
+ q(5412),
q(0),
],
q(peripheral mongolian) => [
- q(4583),
+ q(4613),
q(0),
],
q(pero) => [
- q(5438),
+ q(5470),
q(0),
],
q(persian) => [
@@ -47010,7 +47612,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(persian sign language) => [
- q(5585),
+ q(5618),
q(0),
],
q(persian, old (ca.600-400 b.c.)) => [
@@ -47018,55 +47620,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(peruvian sign language) => [
- q(5571),
+ q(5604),
q(0),
],
q(petapa zapotec) => [
- q(7829),
+ q(7927),
q(0),
],
q(petats) => [
- q(5396),
+ q(5428),
q(0),
],
q(petjo) => [
- q(5397),
+ q(5429),
q(0),
],
q(peve) => [
- q(3955),
+ q(3986),
q(0),
],
q(pfaelzisch) => [
- q(5401),
+ q(5433),
q(0),
],
q(phai) => [
- q(5578),
+ q(5611),
q(0),
],
q(phake) => [
- q(5414),
+ q(5446),
q(0),
],
q(phala) => [
- q(7646),
+ q(7735),
q(0),
],
q(phalura) => [
- q(5415),
+ q(5447),
q(0),
],
q(phana') => [
- q(5418),
+ q(5450),
q(0),
],
q(phangduwali) => [
- q(5423),
+ q(5455),
q(0),
],
q(phende) => [
- q(5391),
+ q(5423),
q(0),
],
q(philippine languages) => [
@@ -47074,11 +47676,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(philippine sign language) => [
- q(5595),
+ q(5628),
q(0),
],
q(phimbi) => [
- q(5416),
+ q(5448),
q(0),
],
q(phoenician) => [
@@ -47086,291 +47688,295 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(phola) => [
- q(7648),
+ q(7737),
q(0),
],
q(pholo) => [
- q(7570),
+ q(7661),
q(0),
],
q(phom naga) => [
- q(5016),
+ q(5045),
q(0),
],
q(phong-kniang) => [
- q(5525),
+ q(5559),
q(0),
],
q(phrae pwo karen) => [
- q(3375),
+ q(3399),
q(0),
],
q(phrygian) => [
- q(7396),
+ q(7466),
q(0),
],
q(phu thai) => [
- q(5420),
+ q(5452),
q(0),
],
q(phuan) => [
- q(5421),
+ q(5453),
q(0),
],
q(phudagi) => [
- q(5411),
+ q(5443),
q(0),
],
q(phuie) => [
- q(5621),
+ q(5654),
q(0),
],
q(phukha) => [
- q(5413),
+ q(5445),
q(0),
],
q(phuma) => [
- q(7650),
+ q(7739),
q(0),
],
q(phunoi) => [
- q(5417),
+ q(5449),
q(0),
],
q(phuong) => [
- q(5412),
+ q(5444),
q(0),
],
q(phupa) => [
- q(7653),
+ q(7742),
q(0),
],
q(phupha) => [
- q(7649),
+ q(7738),
q(0),
],
q(phuza) => [
- q(7654),
+ q(7743),
q(0),
],
q(piamatsina) => [
- q(5609),
+ q(5642),
q(0),
],
q(piame) => [
- q(5436),
+ q(5468),
q(0),
],
q(piapoco) => [
- q(5437),
+ q(5469),
q(0),
],
q(piaroa) => [
- q(5427),
+ q(5459),
q(0),
],
q(picard) => [
- q(5359),
+ q(5392),
q(0),
],
q(pichis asheninka) => [
- q(1838),
+ q(1843),
q(0),
],
q(pictish) => [
- q(7397),
+ q(7467),
q(0),
],
q(pidgin delaware) => [
- q(1997),
+ q(2002),
q(0),
],
q(piemontese) => [
- q(5499),
+ q(5531),
q(0),
],
q(pijao) => [
- q(5433),
+ q(5465),
q(0),
],
q(pije) => [
- q(5447),
+ q(5479),
q(0),
],
q(pijin) => [
- q(5440),
+ q(5472),
q(0),
],
q(pilaga) => [
- q(5466),
+ q(5498),
q(0),
],
q(pileni) => [
- q(5443),
+ q(5475),
q(0),
],
q(pilipino) => [
q(0133),
- q(0),
+ q(1),
],
q(pima bajo) => [
- q(5424),
+ q(5456),
q(0),
],
q(pimbwe) => [
- q(5444),
+ q(5476),
q(0),
],
q(pinai-hagahai) => [
- q(5515),
+ q(5549),
q(0),
],
q(pingelapese) => [
- q(5429),
+ q(5461),
q(0),
],
q(pini) => [
- q(5432),
+ q(5464),
q(0),
],
q(pinigura) => [
- q(5523),
+ q(5557),
+ q(0),
+ ],
+ q(pinjarup) => [
+ q(5545),
q(0),
],
q(pinji) => [
- q(5426),
+ q(5458),
q(0),
],
q(pinotepa nacional mixtec) => [
- q(4287),
+ q(4319),
q(0),
],
q(pintiini) => [
- q(5605),
+ q(5638),
q(0),
],
q(pintupi-luritja) => [
- q(5442),
+ q(5474),
q(0),
],
q(pinyin) => [
- q(5526),
+ q(5560),
q(0),
],
q(pipil) => [
- q(5550),
+ q(5584),
q(0),
],
q(piraha) => [
- q(4666),
+ q(4695),
q(0),
],
q(piratapuyo) => [
- q(5439),
+ q(5471),
q(0),
],
q(pirlatapa) => [
- q(1575),
+ q(1578),
q(0),
],
q(piro) => [
- q(5428),
+ q(5460),
q(0),
],
- q(piru) => [
- q(5556),
+ q(pirriya) => [
+ q(7463),
q(0),
],
q(pisabo) => [
- q(5430),
+ q(5462),
q(0),
],
q(pisaflores tepehua) => [
- q(6635),
+ q(6674),
q(0),
],
q(piscataway) => [
- q(5602),
+ q(5635),
q(0),
],
q(pisidian) => [
- q(7406),
+ q(7476),
q(0),
],
q(pitcairn-norfolk) => [
- q(5431),
+ q(5463),
q(0),
],
q(pite sami) => [
- q(6030),
+ q(6067),
q(0),
],
q(piti) => [
- q(5369),
+ q(5402),
q(0),
],
q(pitjantjatjara) => [
- q(5448),
+ q(5480),
q(0),
],
q(pitta pitta) => [
- q(5441),
+ q(5473),
q(0),
],
q(piu) => [
- q(5445),
+ q(5477),
q(0),
],
q(piya-kwonci) => [
- q(5446),
+ q(5478),
q(0),
],
q(plains cree) => [
- q(1851),
+ q(1856),
q(0),
],
q(plains indian sign language) => [
- q(5586),
+ q(5619),
q(0),
],
q(plains miwok) => [
- q(5502),
+ q(5534),
q(0),
],
q(plapo krumen) => [
- q(3607),
+ q(3631),
q(0),
],
q(plateau malagasy) => [
- q(5477),
+ q(5509),
q(0),
],
q(plautdietsch) => [
- q(5378),
+ q(5410),
q(0),
],
q(playero) => [
- q(2571),
+ q(2588),
q(0),
],
q(pnar) => [
- q(5354),
+ q(5387),
q(0),
],
q(pochuri naga) => [
- q(5020),
+ q(5049),
q(0),
],
q(pochutec) => [
- q(7402),
+ q(7472),
q(0),
],
q(podena) => [
- q(5376),
+ q(5408),
q(0),
],
q(pogolo) => [
- q(5545),
+ q(5579),
q(0),
],
q(pohnpeian) => [
@@ -47378,31 +47984,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(pokanga) => [
- q(5535),
+ q(5569),
q(0),
],
q(poke) => [
- q(5531),
+ q(5565),
q(0),
],
q(pokomo) => [
- q(5450),
+ q(5482),
q(0),
],
q(pokoot) => [
- q(5455),
+ q(5487),
q(0),
],
q(polabian) => [
- q(5544),
+ q(5578),
q(0),
],
q(polari) => [
- q(5464),
+ q(5496),
q(0),
],
q(polci) => [
- q(5468),
+ q(5500),
q(0),
],
q(polish) => [
@@ -47410,67 +48016,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(polish sign language) => [
- q(5594),
+ q(5627),
q(0),
],
q(polonombauk) => [
- q(5462),
+ q(5494),
q(0),
],
q(pom) => [
- q(5496),
+ q(5528),
q(0),
],
q(pomo) => [
- q(5494),
+ q(5526),
q(0),
],
q(ponam) => [
- q(4746),
+ q(4773),
q(0),
],
q(ponares) => [
- q(5529),
+ q(5563),
q(0),
],
q(pongu) => [
- q(5510),
+ q(5542),
q(0),
],
q(ponosakan) => [
- q(5520),
+ q(5554),
q(0),
],
q(pontic) => [
- q(5521),
+ q(5555),
q(0),
],
q(ponyo-gongwang naga) => [
- q(5015),
+ q(5044),
q(0),
],
q(popti') => [
- q(3022),
+ q(3045),
q(0),
],
q(poqomam) => [
- q(5528),
+ q(5562),
q(0),
],
q(poqomchi') => [
- q(5533),
+ q(5567),
q(0),
],
q(porohanon) => [
- q(5568),
+ q(5601),
q(0),
],
q(port sandwich) => [
- q(5601),
+ q(5634),
q(0),
],
q(port vato) => [
- q(5612),
+ q(5645),
q(0),
],
q(portuguese) => [
@@ -47478,7 +48084,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(portuguese sign language) => [
- q(5597),
+ q(5630),
q(0),
],
q(portuguese-based creoles and pidgins) => [
@@ -47486,39 +48092,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(2),
],
q(potawatomi) => [
- q(5541),
+ q(5575),
q(0),
],
q(potiguara) => [
- q(5532),
+ q(5566),
q(0),
],
q(pottangi ollar gadaba) => [
- q(2443),
+ q(2456),
q(0),
],
q(poule) => [
- q(4519),
- q(0),
+ q(4549),
+ q(1),
],
q(poumei naga) => [
- q(5503),
+ q(5535),
q(0),
],
q(pouye) => [
- q(1595),
+ q(1598),
q(0),
],
q(powari) => [
- q(5642),
+ q(5676),
q(0),
],
q(powhatan) => [
- q(5435),
+ q(5467),
q(0),
],
q(poyanawa) => [
- q(5647),
+ q(5681),
q(0),
],
q(prakrit languages) => [
@@ -47526,51 +48132,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(prasuni) => [
- q(5573),
+ q(5606),
q(0),
],
q(pray 3) => [
- q(5582),
+ q(5615),
q(0),
],
q(primitive irish) => [
- q(5406),
+ q(5438),
q(0),
],
q(principense) => [
- q(5565),
+ q(5598),
q(0),
],
q(provencal) => [
q(0326),
- q(0),
+ q(1),
],
q(provencal, old (to 1500)) => [
q(0350),
q(0),
],
q(providencia sign language) => [
- q(5583),
+ q(5616),
q(0),
],
q(prussian) => [
- q(5567),
+ q(5600),
q(0),
],
q(psikye) => [
- q(3654),
+ q(3678),
q(0),
],
q(pu ko) => [
- q(5624),
+ q(5657),
q(0),
],
q(pu-xian chinese) => [
- q(1839),
+ q(1844),
q(0),
],
q(puare) => [
- q(5633),
+ q(5666),
q(0),
],
q(pudtol atta) => [
@@ -47578,139 +48184,143 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(puelche) => [
- q(5619),
+ q(5652),
q(0),
],
q(puerto rican sign language) => [
- q(5591),
+ q(5624),
q(0),
],
q(puimei naga) => [
- q(5022),
+ q(5051),
q(0),
],
q(puinave) => [
- q(5622),
+ q(5655),
q(0),
],
q(pukapuka) => [
- q(5456),
+ q(5488),
q(0),
],
q(pulaar) => [
- q(2372),
+ q(2384),
q(0),
],
q(pulabu) => [
- q(5627),
+ q(5660),
q(0),
],
q(pular) => [
- q(2375),
+ q(2387),
q(0),
],
q(puluwatese) => [
- q(5632),
+ q(5665),
q(0),
],
q(puma) => [
- q(5625),
+ q(5658),
q(0),
],
q(pume) => [
- q(7498),
+ q(7586),
q(0),
],
q(pumpokol) => [
- q(7400),
+ q(7470),
q(0),
],
q(punan aput) => [
- q(5618),
+ q(5651),
q(0),
],
q(punan bah-biau) => [
- q(5506),
+ q(5538),
q(0),
],
q(punan batu 1) => [
- q(5514),
+ q(5548),
q(0),
],
q(punan merah) => [
- q(5620),
+ q(5653),
q(0),
],
q(punan merap) => [
- q(5617),
+ q(5650),
q(0),
],
q(punan tubu) => [
- q(5623),
+ q(5656),
q(0),
],
q(punic) => [
- q(7407),
+ q(7478),
q(0),
],
q(punjabi) => [
q(0338),
- q(0),
+ q(1),
],
q(puno quechua) => [
- q(5701),
+ q(5735),
+ q(0),
+ ],
+ q(punthamara) => [
+ q(7477),
q(0),
],
q(punu) => [
- q(5631),
+ q(5664),
q(0),
],
q(puoc) => [
- q(5626),
+ q(5659),
q(0),
],
q(puquina) => [
- q(5628),
+ q(5661),
q(0),
],
q(puragi) => [
- q(5579),
+ q(5612),
q(0),
],
q(purari) => [
- q(2869),
+ q(2890),
q(0),
],
q(purepecha) => [
- q(6703),
+ q(6742),
q(0),
],
q(puri) => [
- q(5576),
+ q(5609),
q(0),
],
q(purik) => [
- q(5581),
+ q(5614),
q(0),
],
q(purisimeno) => [
- q(5634),
+ q(5667),
q(0),
],
q(puroik) => [
- q(6257),
+ q(6295),
q(0),
],
q(purubora) => [
- q(5629),
+ q(5662),
q(0),
],
q(purum) => [
- q(5616),
+ q(5649),
q(0),
],
q(purum naga) => [
- q(5635),
+ q(5668),
q(0),
],
q(pushto) => [
@@ -47718,11 +48328,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(putai) => [
- q(4211),
+ q(4243),
q(0),
],
q(putoh) => [
- q(5630),
+ q(5663),
q(0),
],
q(putukwam) => [
@@ -47730,79 +48340,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(puyo) => [
- q(7408),
+ q(7479),
q(0),
],
q(puyo-paekche) => [
- q(7403),
+ q(7473),
q(0),
],
q(puyuma) => [
- q(5649),
+ q(5683),
q(0),
],
q(pwaamei) => [
- q(5487),
+ q(5519),
q(0),
],
q(pwapwa) => [
- q(5538),
+ q(5572),
q(0),
],
q(pwo eastern karen) => [
- q(3371),
+ q(3395),
q(0),
],
q(pwo northern karen) => [
- q(5643),
+ q(5677),
q(0),
],
q(pwo western karen) => [
- q(5641),
+ q(5675),
q(0),
],
q(pyapun) => [
- q(5372),
+ q(5404),
q(0),
],
q(pye krumen) => [
- q(5645),
+ q(5679),
q(0),
],
q(pyen) => [
- q(5651),
+ q(5685),
q(0),
],
q(pyu) => [
- q(5355),
+ q(5388),
q(0),
],
q(pyu (myanmar)) => [
- q(5650),
+ q(5684),
q(0),
],
q(q'anjob'al) => [
- q(3357),
+ q(3381),
q(0),
],
q(qabiao) => [
- q(3785),
+ q(3809),
q(0),
],
q(qaqet) => [
- q(1612),
+ q(1615),
q(0),
],
q(qashqa'i) => [
- q(5702),
+ q(5736),
q(0),
],
q(qatabanian) => [
- q(7410),
+ q(7481),
q(0),
],
q(qau) => [
- q(2598),
+ q(2615),
q(0),
],
q(qawasqar) => [
@@ -47810,7 +48420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(qila muji) => [
- q(7617),
+ q(7707),
q(0),
],
q(qimant) => [
@@ -47818,19 +48428,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(qiubei zhuang) => [
- q(7851),
+ q(7949),
q(0),
],
q(quapaw) => [
- q(5653),
+ q(5687),
q(0),
],
q(quebec sign language) => [
- q(2331),
+ q(2343),
q(0),
],
q(quechan) => [
- q(7689),
+ q(7781),
q(0),
],
q(quechua) => [
@@ -47842,71 +48452,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(quenya) => [
- q(5708),
+ q(5742),
q(0),
],
q(queretaro otomi) => [
- q(5299),
+ q(5332),
q(0),
],
q(quetzaltepec mixe) => [
- q(5644),
+ q(5678),
q(0),
],
q(queyu) => [
- q(5687),
+ q(5721),
q(0),
],
q(quiavicuzas zapotec) => [
- q(7834),
+ q(7932),
q(0),
],
q(quiche) => [
- q(5655),
- q(0),
+ q(5689),
+ q(1),
],
q(quileute) => [
- q(5660),
+ q(5694),
q(0),
],
q(quinault) => [
- q(5664),
+ q(5698),
q(0),
],
q(quinqui) => [
- q(5666),
+ q(5700),
q(0),
],
q(quioquitani-quieri zapotec) => [
- q(7870),
+ q(7968),
q(0),
],
q(quiotepec chinantec) => [
- q(1726),
+ q(1729),
q(0),
],
q(quiripi) => [
- q(5709),
+ q(5743),
q(0),
],
q(rabha) => [
- q(5716),
+ q(5750),
q(0),
],
q(rade) => [
- q(5713),
+ q(5747),
q(0),
],
q(raetic) => [
- q(7417),
+ q(7491),
q(0),
],
q(rahambuu) => [
- q(5731),
+ q(5765),
q(0),
],
q(rajah kabunsuwan manobo) => [
- q(4468),
+ q(4498),
q(0),
],
q(rajasthani) => [
@@ -47914,75 +48524,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(rajbanshi) => [
- q(5771),
+ q(5805),
q(0),
],
q(raji) => [
- q(5770),
+ q(5804),
q(0),
],
q(rajong) => [
- q(5769),
+ q(5803),
q(0),
],
q(rajput garasia) => [
- q(2599),
+ q(2616),
q(0),
],
q(rakahanga-manihiki) => [
- q(5774),
+ q(5808),
q(0),
],
q(rakhine) => [
- q(5775),
+ q(5809),
q(0),
],
q(ralte) => [
- q(5719),
+ q(5753),
q(0),
],
q(rama) => [
- q(5778),
+ q(5813),
q(0),
],
q(ramoaaina) => [
- q(5717),
+ q(5751),
q(0),
],
q(ramopa) => [
- q(3377),
+ q(3401),
q(0),
],
q(rampi) => [
- q(3912),
+ q(3939),
q(0),
],
q(rana tharu) => [
- q(6478),
+ q(6516),
q(0),
],
q(rang) => [
- q(5729),
+ q(5763),
q(0),
],
q(rangkas) => [
- q(5753),
+ q(5787),
q(0),
],
q(ranglong) => [
- q(5805),
+ q(5840),
q(0),
],
q(rangpuri) => [
- q(5777),
+ q(5811),
q(0),
],
q(rao) => [
- q(5722),
+ q(5756),
q(0),
],
q(rapa) => [
- q(5730),
+ q(5764),
q(0),
],
q(rapanui) => [
@@ -47990,15 +48600,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(rapoisi) => [
- q(3745),
+ q(3769),
q(0),
],
q(rapting) => [
- q(5823),
+ q(5858),
q(0),
],
q(rara bakati') => [
- q(4017),
+ q(4049),
q(0),
],
q(rarotongan) => [
@@ -48006,63 +48616,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(rasawa) => [
- q(5712),
+ q(5746),
q(0),
],
q(ratagnon) => [
- q(1483),
+ q(1485),
q(0),
],
q(ratahan) => [
- q(5831),
+ q(5866),
q(0),
],
q(rathawi) => [
- q(5833),
+ q(5868),
q(0),
],
q(rathwi bareli) => [
- q(1165),
+ q(1166),
q(0),
],
q(raute) => [
- q(5726),
+ q(5760),
q(0),
],
q(ravula) => [
- q(7540),
+ q(7629),
q(0),
],
q(rawa) => [
- q(5851),
+ q(5886),
q(0),
],
q(rawang) => [
- q(5728),
+ q(5762),
q(0),
],
q(rawat) => [
- q(3110),
+ q(3134),
q(0),
],
q(rawngtu chin) => [
- q(7075),
+ q(7121),
q(0),
],
q(rawo) => [
- q(5848),
+ q(5883),
q(0),
],
q(rayon zoque) => [
- q(7823),
+ q(7921),
q(0),
],
q(razajerdi) => [
- q(5725),
+ q(5759),
q(0),
],
q(red gelao) => [
- q(2513),
+ q(2527),
q(0),
],
q(reel) => [
@@ -48070,31 +48680,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(rejang) => [
- q(5743),
+ q(5777),
q(0),
],
q(rejang kayan) => [
- q(5740),
+ q(5774),
q(0),
],
q(reli) => [
- q(5742),
+ q(5776),
q(0),
],
q(rema) => [
- q(1372),
+ q(1374),
q(0),
],
q(rembarunga) => [
- q(5779),
+ q(5814),
q(0),
],
q(rembong) => [
- q(5739),
+ q(5773),
q(0),
],
q(remo) => [
- q(5745),
+ q(5779),
q(0),
],
q(remontado dumagat) => [
@@ -48102,43 +48712,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(rempi) => [
- q(5792),
+ q(5827),
q(0),
],
q(remun) => [
- q(3923),
+ q(3952),
q(0),
],
q(rendille) => [
- q(5744),
+ q(5778),
q(0),
],
q(rengao) => [
- q(5746),
+ q(5780),
q(0),
],
q(rennell-bellona) => [
- q(4410),
+ q(4440),
q(0),
],
q(rennellese sign language) => [
- q(5828),
+ q(5863),
q(0),
],
q(repanbitip) => [
- q(5822),
+ q(5857),
q(0),
],
q(rer bare) => [
- q(5747),
+ q(5781),
q(0),
],
q(rerau) => [
- q(5738),
+ q(5772),
q(0),
],
q(rerep) => [
- q(5405),
+ q(5437),
q(0),
],
q(reserved for local use) => [
@@ -48146,95 +48756,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(reshe) => [
- q(5748),
+ q(5782),
q(0),
],
q(resigaro) => [
- q(5755),
+ q(5789),
q(0),
],
q(retta) => [
- q(5749),
+ q(5783),
q(0),
],
q(reunion creole french) => [
- q(5736),
+ q(5770),
q(0),
],
q(reyesano) => [
- q(5750),
+ q(5784),
q(0),
],
q(riang (india)) => [
- q(5760),
+ q(5794),
q(0),
],
q(riang (myanmar)) => [
- q(5763),
+ q(5797),
q(0),
],
q(riantana) => [
- q(5721),
+ q(5755),
q(0),
],
q(ribun) => [
- q(5766),
+ q(5800),
q(0),
],
q(rien) => [
- q(5761),
+ q(5795),
q(0),
],
q(rikbaktsa) => [
- q(5773),
+ q(5807),
q(0),
],
q(rincon zapotec) => [
- q(7731),
+ q(7829),
q(0),
],
q(rinconada bikol) => [
- q(1484),
+ q(1486),
q(0),
],
q(ringgou) => [
- q(5757),
+ q(5791),
q(0),
],
q(ririo) => [
- q(5824),
+ q(5859),
q(0),
],
q(ritarungo) => [
- q(5767),
+ q(5801),
q(0),
],
q(riung) => [
- q(5768),
+ q(5802),
q(0),
],
q(riverain sango) => [
- q(6114),
+ q(6151),
q(0),
],
q(rogo) => [
- q(5812),
+ q(5847),
q(0),
],
q(rohingya) => [
- q(5758),
+ q(5792),
q(0),
],
q(roma) => [
- q(5789),
+ q(5824),
q(0),
],
q(romagnol) => [
- q(5754),
+ q(5788),
q(0),
],
q(romam) => [
- q(5799),
+ q(5834),
q(0),
],
q(romance languages) => [
@@ -48246,19 +48856,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(romanian sign language) => [
- q(5794),
+ q(5829),
q(0),
],
q(romano-greek) => [
- q(5752),
+ q(5786),
q(0),
],
q(romano-serbian) => [
- q(5827),
+ q(5862),
q(0),
],
q(romanova) => [
- q(5797),
+ q(5832),
q(0),
],
q(romansh) => [
@@ -48270,95 +48880,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(romblomanon) => [
- q(5816),
+ q(5851),
q(0),
],
q(rombo) => [
- q(5814),
+ q(5849),
q(0),
],
q(romkun) => [
- q(5787),
+ q(5822),
q(0),
],
q(ron) => [
- q(1769),
+ q(1773),
q(0),
],
q(ronga) => [
- q(5804),
+ q(5839),
q(0),
],
q(rongga) => [
- q(5819),
+ q(5854),
q(0),
],
q(rongmei naga) => [
- q(4739),
+ q(4767),
q(0),
],
q(rongpo) => [
- q(5807),
+ q(5842),
q(0),
],
q(ronji) => [
- q(5813),
+ q(5848),
q(0),
],
q(roon) => [
- q(5806),
+ q(5841),
q(0),
],
q(roria) => [
- q(5751),
+ q(5785),
q(0),
],
q(rotokas) => [
- q(5817),
+ q(5852),
q(0),
],
q(rotuman) => [
- q(5832),
+ q(5867),
q(0),
],
q(roviana) => [
- q(5838),
+ q(5873),
q(0),
],
q(ruching palaung) => [
- q(5360),
+ q(5393),
q(0),
],
q(rudbari) => [
- q(5737),
+ q(5771),
q(0),
],
q(rufiji) => [
- q(5840),
+ q(5875),
q(0),
],
q(ruga) => [
- q(5839),
+ q(5874),
q(0),
],
q(rukai) => [
- q(2143),
+ q(2151),
q(0),
],
q(ruma) => [
- q(5847),
+ q(5882),
q(0),
],
q(rumai palaung) => [
- q(5732),
+ q(5766),
q(0),
],
q(rumu) => [
- q(3422),
+ q(3446),
q(0),
],
q(runa) => [
- q(5802),
+ q(5837),
q(0),
],
q(rundi) => [
@@ -48366,23 +48976,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(runga) => [
- q(5820),
+ q(5855),
q(0),
],
q(rungtu chin) => [
- q(5830),
+ q(5865),
q(0),
],
q(rungus) => [
- q(2134),
+ q(2142),
q(0),
],
q(rungwa) => [
- q(5809),
+ q(5844),
q(0),
],
q(russia buriat) => [
- q(1584),
+ q(1587),
q(0),
],
q(russian) => [
@@ -48390,35 +49000,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(russian sign language) => [
- q(5829),
+ q(5864),
q(0),
],
q(rusyn) => [
- q(5836),
+ q(5871),
q(0),
],
q(rutul) => [
- q(5844),
+ q(5879),
q(0),
],
q(ruuli) => [
- q(5835),
+ q(5870),
q(0),
],
q(ruund) => [
- q(5803),
+ q(5838),
q(0),
],
q(rwa) => [
- q(5849),
+ q(5884),
q(0),
],
q(s'gaw karen) => [
- q(3594),
+ q(3618),
q(0),
],
q(sa) => [
- q(5870),
+ q(5907),
q(0),
],
q(sa'a) => [
@@ -48426,83 +49036,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sa'ban) => [
- q(6124),
+ q(6161),
q(0),
],
q(sa'och) => [
- q(5908),
+ q(5945),
q(0),
],
q(saafi-saafi) => [
- q(5868),
+ q(5905),
q(0),
],
q(saam) => [
- q(5723),
+ q(5757),
q(0),
],
q(saamia) => [
- q(4038),
+ q(4070),
q(0),
],
q(saaroa) => [
- q(6300),
+ q(6339),
q(0),
],
q(saba) => [
- q(5856),
+ q(5893),
q(0),
],
q(sabaean) => [
- q(7421),
+ q(7495),
q(0),
],
q(sabah bisaya) => [
- q(1471),
+ q(1473),
q(0),
],
q(sabah malay) => [
- q(4516),
+ q(4546),
q(0),
],
q(sabane) => [
- q(5859),
+ q(5896),
q(0),
],
q(sabaot) => [
- q(6168),
+ q(6205),
q(0),
],
q(sabine) => [
- q(5894),
+ q(5931),
q(0),
],
q(sabu) => [
- q(2860),
+ q(2881),
q(0),
],
q(sabum) => [
- q(5887),
+ q(5924),
q(0),
],
q(sacapulteco) => [
- q(5669),
+ q(5703),
q(0),
],
q(sadri) => [
- q(5905),
+ q(5942),
q(0),
],
q(saek) => [
- q(6044),
+ q(6081),
q(0),
],
q(saep) => [
- q(6152),
+ q(6189),
q(0),
],
q(safaliba) => [
- q(5860),
+ q(5897),
q(0),
],
q(safeyoka) => [
@@ -48510,23 +49120,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(safwa) => [
- q(5883),
+ q(5920),
q(0),
],
q(sagala) => [
- q(5885),
+ q(5922),
q(0),
],
q(sagalla) => [
- q(6443),
+ q(6482),
q(0),
],
q(saho) => [
- q(6223),
+ q(6260),
q(0),
],
q(sahu) => [
- q(5861),
+ q(5898),
q(0),
],
q(saidi arabic) => [
@@ -48538,83 +49148,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(saisiyat) => [
- q(7439),
+ q(7513),
q(0),
],
q(sajalong) => [
- q(6033),
+ q(6070),
q(0),
],
q(sajau basap) => [
- q(6028),
+ q(6065),
q(0),
],
q(sakachep) => [
- q(5903),
+ q(5940),
q(0),
],
q(sakalava malagasy) => [
- q(6049),
+ q(6086),
q(0),
],
q(sakan) => [
q(0223),
- q(0),
+ q(1),
],
q(sakao) => [
- q(6062),
+ q(6099),
q(0),
],
q(sakata) => [
- q(6061),
+ q(6098),
q(0),
],
q(sake) => [
- q(5862),
+ q(5899),
q(0),
],
q(sakirabia) => [
- q(6048),
+ q(6085),
q(0),
],
q(sala) => [
- q(5996),
+ q(6033),
q(0),
],
q(salako) => [
- q(3479),
- q(0),
+ q(3503),
+ q(1),
],
q(salampasu) => [
- q(6085),
+ q(6122),
q(0),
],
q(salar) => [
- q(6080),
+ q(6117),
q(0),
],
q(salas) => [
- q(5977),
+ q(6014),
q(0),
],
q(salasaca highland quichua) => [
- q(5698),
+ q(5732),
q(0),
],
q(salchuq) => [
- q(6079),
+ q(6116),
q(0),
],
q(saleman) => [
- q(5867),
+ q(5904),
q(0),
],
q(saliba) => [
- q(5877),
+ q(5914),
q(0),
],
q(salinan) => [
- q(6077),
+ q(6114),
q(0),
],
q(salishan languages) => [
@@ -48622,35 +49232,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sallands) => [
- q(5933),
+ q(5970),
q(0),
],
q(salt-yui) => [
- q(6075),
+ q(6112),
q(0),
],
q(saluan) => [
- q(3992),
+ q(4024),
q(0),
],
q(saluma) => [
- q(6074),
+ q(6111),
q(0),
],
q(salvadoran sign language) => [
- q(2290),
+ q(2301),
q(0),
],
q(sam) => [
- q(6126),
+ q(6163),
q(0),
],
q(sama) => [
- q(6090),
+ q(6127),
q(0),
],
q(samaritan) => [
- q(6097),
+ q(6134),
q(0),
],
q(samaritan aramaic) => [
@@ -48658,47 +49268,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(samarokena) => [
- q(6563),
+ q(6602),
q(0),
],
q(samatao) => [
- q(7665),
+ q(7756),
q(0),
],
q(samba) => [
- q(6104),
+ q(6141),
q(0),
],
q(samba daka) => [
- q(1685),
+ q(1688),
q(0),
],
q(samba leko) => [
- q(4773),
+ q(4800),
q(0),
],
q(sambal) => [
- q(7422),
+ q(7496),
q(0),
],
q(sambalpuri) => [
- q(6166),
+ q(6203),
q(0),
],
q(sambe) => [
- q(7230),
+ q(7281),
q(0),
],
q(samberigi) => [
- q(6222),
+ q(6259),
q(0),
],
q(samburu) => [
- q(5865),
+ q(5902),
q(0),
],
q(samei) => [
- q(6093),
+ q(6130),
q(0),
],
q(sami languages) => [
@@ -48706,7 +49316,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(samo) => [
- q(6098),
+ q(6135),
q(0),
],
q(samoan) => [
@@ -48714,11 +49324,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(samogitian) => [
- q(5975),
+ q(6012),
q(0),
],
q(samosa) => [
- q(6278),
+ q(6317),
q(0),
],
q(samoyedic languages) => [
@@ -48726,123 +49336,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sampang) => [
- q(5727),
+ q(5761),
q(0),
],
q(samre) => [
- q(6297),
+ q(6336),
q(0),
],
q(samtao) => [
- q(6244),
+ q(6281),
q(0),
],
q(samvedi) => [
- q(6102),
+ q(6139),
q(0),
],
q(san agustin mixtepec zapotec) => [
- q(7867),
+ q(7965),
q(0),
],
q(san baltazar loxicha zapotec) => [
- q(7848),
+ q(7946),
q(0),
],
q(san blas kuna) => [
- q(1908),
+ q(1914),
q(0),
],
q(san dionisio del mar huave) => [
- q(2858),
+ q(2879),
q(0),
],
q(san felipe otlaltepec popoloca) => [
- q(5543),
+ q(5577),
q(0),
],
q(san francisco del mar huave) => [
- q(2837),
+ q(2858),
q(0),
],
q(san francisco matlatzinca) => [
- q(4096),
+ q(4129),
q(0),
],
q(san jeronimo tecoatl mazatec) => [
- q(4089),
+ q(4122),
q(0),
],
q(san juan atzingo popoloca) => [
- q(5530),
+ q(5564),
q(0),
],
q(san juan colorado mixtec) => [
- q(4297),
+ q(4329),
q(0),
],
q(san juan guelavia zapotec) => [
- q(7717),
+ q(7815),
q(0),
],
q(san juan teita mixtec) => [
- q(7447),
+ q(7522),
q(0),
],
q(san luis temalacayuca popoloca) => [
- q(5557),
+ q(5590),
q(0),
],
q(san marcos tlalcoyalco popoloca) => [
- q(5476),
+ q(5508),
q(0),
],
q(san martin itunyoso triqui) => [
- q(6671),
+ q(6710),
q(0),
],
q(san martin quechua) => [
- q(5685),
+ q(5719),
q(0),
],
q(san mateo del mar huave) => [
- q(2852),
+ q(2873),
q(0),
],
q(san miguel creole french) => [
- q(5901),
+ q(5938),
q(0),
],
q(san miguel el grande mixtec) => [
- q(4280),
+ q(4312),
q(0),
],
q(san miguel piedras mixtec) => [
- q(7452),
+ q(7527),
q(0),
],
q(san pedro amuzgos amuzgo) => [
- q(1016),
+ q(1017),
q(0),
],
q(san pedro quiatoni zapotec) => [
- q(7830),
+ q(7928),
q(0),
],
q(san salvador kongo) => [
- q(3695),
+ q(3719),
q(0),
],
q(san vicente coatlan zapotec) => [
- q(7844),
+ q(7942),
q(0),
],
q(sanaani arabic) => [
- q(1003),
+ q(1004),
q(0),
],
q(sanapana) => [
- q(5864),
+ q(5901),
q(0),
],
q(sandawe) => [
@@ -48850,35 +49460,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sanga (democratic republic of congo)) => [
- q(6111),
+ q(6148),
q(0),
],
q(sanga (nigeria)) => [
- q(7431),
+ q(7505),
q(0),
],
q(sanggau) => [
- q(5902),
+ q(5939),
q(0),
],
q(sangil) => [
- q(6115),
+ q(6152),
q(0),
],
q(sangir) => [
- q(6298),
+ q(6337),
q(0),
],
q(sangisari) => [
- q(5974),
+ q(6011),
q(0),
],
q(sangkong) => [
- q(5970),
+ q(6007),
q(0),
],
q(sanglechi) => [
- q(5980),
+ q(6017),
q(0),
],
q(sango) => [
@@ -48886,35 +49496,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sangtam naga) => [
- q(5044),
+ q(5075),
q(0),
],
q(sangu (gabon)) => [
- q(6120),
+ q(6157),
q(0),
],
q(sangu (tanzania)) => [
- q(5888),
+ q(5925),
q(0),
],
q(sani) => [
- q(7668),
+ q(7759),
q(0),
],
q(sanie) => [
- q(7673),
+ q(7764),
q(0),
],
q(saniyo-hiyewe) => [
- q(6127),
+ q(6164),
q(0),
],
q(sankaran maninka) => [
- q(4510),
+ q(4540),
q(0),
],
q(sansi) => [
- q(6208),
+ q(6245),
q(0),
],
q(sanskrit) => [
@@ -48922,43 +49532,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(santa ana de tusi pasco quechua) => [
- q(5705),
+ q(5739),
q(0),
],
q(santa catarina albarradas zapotec) => [
- q(7868),
+ q(7966),
q(0),
],
q(santa ines ahuatempan popoloca) => [
- q(5356),
+ q(5389),
q(0),
],
q(santa ines yatzechi zapotec) => [
- q(7838),
+ q(7936),
q(0),
],
q(santa lucia monteverde mixtec) => [
- q(4171),
+ q(4204),
q(0),
],
q(santa maria del mar huave) => [
- q(2861),
+ q(2882),
q(0),
],
q(santa maria la alta nahuatl) => [
- q(4864),
+ q(4891),
q(0),
],
q(santa maria quiegolani zapotec) => [
- q(7833),
+ q(7931),
q(0),
],
q(santa maria zacatepec mixtec) => [
- q(4675),
+ q(4703),
q(0),
],
q(santa teresa cora) => [
- q(1818),
+ q(1822),
q(0),
],
q(santali) => [
@@ -48966,127 +49576,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(santiago del estero quichua) => [
- q(5668),
+ q(5702),
q(0),
],
q(santiago xanica zapotec) => [
- q(7842),
+ q(7940),
q(0),
],
q(santo domingo albarradas zapotec) => [
- q(7732),
+ q(7830),
q(0),
],
q(sanuma) => [
- q(7437),
+ q(7511),
q(0),
],
q(sao paulo kaingang) => [
- q(7777),
+ q(7875),
q(0),
],
q(saotomense) => [
- q(1849),
+ q(1854),
q(0),
],
q(saparua) => [
- q(6162),
+ q(6199),
q(0),
],
q(sape) => [
- q(6151),
+ q(6188),
q(0),
],
q(sapo) => [
- q(3562),
+ q(3586),
q(0),
],
q(saponi) => [
- q(6155),
+ q(6192),
q(0),
],
q(saposa) => [
- q(6163),
+ q(6200),
q(0),
],
q(sapuan) => [
- q(6165),
+ q(6202),
q(0),
],
q(sar) => [
- q(4614),
+ q(4643),
q(0),
],
q(sara) => [
- q(6183),
+ q(6220),
q(0),
],
q(sara dunjo) => [
- q(3490),
+ q(3514),
q(0),
],
q(sara kaba) => [
- q(5898),
+ q(5935),
q(0),
],
q(sara kaba deme) => [
- q(3677),
+ q(3701),
q(0),
],
q(sara kaba naa) => [
- q(3692),
+ q(3716),
q(0),
],
q(saramaccan) => [
- q(6190),
+ q(6227),
q(0),
],
q(sarangani blaan) => [
- q(1391),
+ q(1393),
q(0),
],
q(sarangani manobo) => [
- q(4119),
+ q(4152),
q(0),
],
q(sarasira) => [
- q(7858),
+ q(7956),
q(0),
],
q(saraveca) => [
- q(5866),
+ q(5903),
q(0),
],
q(sardinian) => [
q(0402),
q(0),
],
+ q(sari) => [
+ q(0895),
+ q(0),
+ ],
q(sarikoli) => [
- q(6186),
+ q(6223),
q(0),
],
q(sarli) => [
- q(5918),
+ q(5955),
q(0),
],
q(sarsi) => [
- q(6193),
+ q(6230),
q(0),
],
q(sartang) => [
- q(5250),
+ q(5283),
q(0),
],
q(sarua) => [
- q(6290),
+ q(6329),
q(0),
],
q(sarudu) => [
- q(5931),
+ q(5968),
q(0),
],
q(saruga) => [
- q(6180),
+ q(6217),
q(0),
],
q(sasak) => [
@@ -49094,99 +49708,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sasaru) => [
- q(6301),
+ q(6340),
q(0),
],
q(sassarese sardinian) => [
- q(5916),
+ q(5953),
q(0),
],
q(satawalese) => [
- q(6246),
+ q(6283),
q(0),
],
q(satere-mawe) => [
- q(4098),
+ q(4131),
q(0),
],
q(saterfriesisch) => [
- q(6240),
+ q(6277),
q(0),
],
q(saudi arabian sign language) => [
- q(5923),
+ q(5960),
q(0),
],
q(sauraseni prakrit) => [
- q(5600),
+ q(5633),
q(0),
],
q(saurashtra) => [
- q(5872),
+ q(5909),
q(0),
],
q(sauri) => [
- q(6194),
+ q(6231),
q(0),
],
q(sauria paharia) => [
- q(4313),
+ q(4345),
q(0),
],
q(sause) => [
- q(5863),
+ q(5900),
q(0),
],
q(sausi) => [
- q(6209),
+ q(6246),
q(0),
],
q(savara) => [
- q(6266),
+ q(6305),
q(0),
],
q(savi) => [
- q(5919),
+ q(5956),
q(0),
],
q(savosavo) => [
- q(6267),
+ q(6306),
q(0),
],
q(sawai) => [
- q(6325),
+ q(6364),
q(0),
],
q(saweru) => [
- q(6283),
+ q(6322),
q(0),
],
q(sawi) => [
- q(5869),
+ q(5906),
q(0),
],
q(sawila) => [
- q(6285),
+ q(6324),
q(0),
],
q(sawknah) => [
- q(6279),
+ q(6318),
q(0),
],
q(saxon, low) => [
q(0306),
- q(0),
+ q(3),
],
q(saxwe gbe) => [
- q(6303),
+ q(6342),
q(0),
],
q(saya) => [
- q(5871),
+ q(5908),
q(0),
],
q(sayula popoluca) => [
- q(5540),
+ q(5574),
q(0),
],
q(scots) => [
@@ -49195,138 +49809,138 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(scottish gaelic) => [
q(0153),
- q(0),
+ q(1),
],
q(scythian) => [
- q(7423),
+ q(7497),
q(0),
],
q(sea island creole english) => [
- q(2637),
+ q(2655),
q(0),
],
q(seba) => [
- q(3218),
+ q(3242),
q(0),
],
q(sebat bet gurage) => [
- q(5978),
+ q(6015),
q(0),
],
q(seberuang) => [
- q(5896),
+ q(5933),
q(0),
],
q(sebop) => [
- q(6007),
+ q(6044),
q(0),
],
q(sebuyau) => [
- q(6107),
+ q(6144),
q(0),
],
q(sechelt) => [
- q(5936),
+ q(5973),
q(0),
],
q(secoya) => [
- q(5955),
+ q(5992),
q(0),
],
q(sedang) => [
- q(5937),
+ q(5974),
q(0),
],
q(sedoa) => [
- q(6759),
+ q(6798),
q(0),
],
q(seeku) => [
- q(6143),
+ q(6180),
q(0),
],
q(segai) => [
- q(5965),
+ q(6002),
q(0),
],
q(segeju) => [
- q(5940),
+ q(5977),
q(0),
],
q(seget) => [
- q(5879),
+ q(5916),
q(0),
],
q(sehwi) => [
- q(5961),
+ q(5998),
q(0),
],
q(seimat) => [
- q(6206),
+ q(6243),
q(0),
],
q(seit-kaitetu) => [
- q(2746),
+ q(2764),
q(0),
],
q(sekani) => [
- q(5944),
+ q(5981),
q(0),
],
q(sekapan) => [
- q(6057),
+ q(6094),
q(0),
],
q(sekar) => [
- q(6067),
+ q(6104),
q(0),
],
q(seke (nepal)) => [
- q(6052),
+ q(6089),
q(0),
],
q(seke (vanuatu)) => [
- q(6047),
+ q(6084),
q(0),
],
q(seki) => [
- q(6306),
+ q(6345),
q(0),
],
q(seko padang) => [
- q(6065),
+ q(6102),
q(0),
],
q(seko tengah) => [
- q(6056),
+ q(6093),
q(0),
],
q(sekpele) => [
- q(3902),
+ q(3928),
q(0),
],
q(selangor sign language) => [
- q(3294),
+ q(3318),
q(0),
],
q(selaru) => [
- q(6083),
+ q(6120),
q(0),
],
q(selayar) => [
- q(6086),
+ q(6123),
q(0),
],
q(selee) => [
- q(6125),
+ q(6162),
q(0),
],
q(selepet) => [
- q(6157),
+ q(6194),
q(0),
],
q(selian) => [
- q(6296),
+ q(6335),
q(0),
],
q(selkup) => [
@@ -49334,35 +49948,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(selungai murut) => [
- q(6071),
+ q(6108),
q(0),
],
q(seluwasan) => [
- q(6284),
+ q(6323),
q(0),
],
q(semai) => [
- q(5934),
+ q(5971),
q(0),
],
q(semandang) => [
- q(5924),
+ q(5961),
q(0),
],
q(semaq beri) => [
- q(6317),
+ q(6356),
q(0),
],
q(sembakung murut) => [
- q(5890),
+ q(5927),
q(0),
],
q(semelai) => [
- q(6315),
+ q(6354),
q(0),
],
q(semimi) => [
- q(2305),
+ q(2316),
q(0),
],
q(semitic languages) => [
@@ -49370,99 +49984,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(semnam) => [
- q(6212),
+ q(6249),
q(0),
],
q(semnani) => [
- q(6105),
+ q(6142),
q(0),
],
q(sempan) => [
- q(7425),
+ q(7499),
q(0),
],
q(sena) => [
- q(5941),
+ q(5978),
q(0),
],
q(senara senoufo) => [
- q(5948),
+ q(5985),
q(0),
],
q(senaya) => [
- q(6310),
+ q(6349),
q(0),
],
q(sene) => [
- q(5943),
+ q(5980),
q(0),
],
q(seneca) => [
- q(5938),
+ q(5975),
q(0),
],
q(sened) => [
- q(5929),
+ q(5966),
q(0),
],
q(sengele) => [
- q(6320),
+ q(6359),
q(0),
],
q(senggi) => [
- q(6123),
+ q(6160),
q(0),
],
q(sengo) => [
- q(6156),
+ q(6193),
q(0),
],
q(sengseng) => [
- q(6224),
+ q(6261),
q(0),
],
q(senhaja de srair) => [
- q(6039),
+ q(6076),
q(0),
],
q(sensi) => [
- q(6113),
+ q(6150),
q(0),
],
q(sentani) => [
- q(5951),
+ q(5988),
q(0),
],
q(senthang chin) => [
- q(5956),
+ q(5993),
q(0),
],
q(sentinel) => [
- q(6227),
+ q(6264),
q(0),
],
q(sepa (indonesia)) => [
- q(6150),
+ q(6187),
q(0),
],
q(sepa (papua new guinea)) => [
- q(6153),
+ q(6190),
q(0),
],
q(sepedi) => [
q(0318),
- q(0),
+ q(1),
],
q(sepik iwam) => [
- q(3011),
+ q(3034),
q(0),
],
q(sera) => [
- q(6199),
+ q(6236),
q(0),
],
q(seraiki) => [
- q(6059),
+ q(6096),
q(0),
],
q(serbian) => [
@@ -49474,7 +50088,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sere) => [
- q(6271),
+ q(6310),
q(0),
],
q(serer) => [
@@ -49482,103 +50096,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(seri) => [
- q(5942),
+ q(5979),
q(0),
],
q(serili) => [
- q(6264),
+ q(6302),
q(0),
],
q(seroa) => [
- q(3546),
+ q(3570),
q(0),
],
q(serrano) => [
- q(5949),
+ q(5986),
q(0),
],
q(seru) => [
- q(6318),
+ q(6357),
q(0),
],
q(serua) => [
- q(6197),
+ q(6234),
q(0),
],
q(serudung murut) => [
- q(6188),
+ q(6225),
q(0),
],
q(serui-laut) => [
- q(5952),
+ q(5989),
q(0),
],
q(seselwa creole french) => [
- q(1858),
+ q(1863),
q(0),
],
q(seta) => [
- q(6229),
+ q(6266),
q(0),
],
q(setaman) => [
- q(6236),
+ q(6273),
q(0),
],
q(seti) => [
- q(5881),
+ q(5918),
q(0),
],
q(settla) => [
- q(6225),
+ q(6262),
q(0),
],
q(severn ojibwa) => [
- q(5198),
+ q(5230),
q(0),
],
q(sewa bay) => [
- q(5954),
+ q(5991),
q(0),
],
q(seze) => [
- q(6319),
+ q(6358),
q(0),
],
q(sha) => [
- q(5912),
+ q(5949),
q(0),
],
q(shabak) => [
- q(5915),
+ q(5952),
q(0),
],
q(shabo) => [
- q(5878),
+ q(5915),
q(0),
],
q(shahmirzadi) => [
- q(6200),
+ q(6237),
q(0),
],
q(shahrudi) => [
- q(5993),
+ q(6030),
q(0),
],
q(shall-zwall) => [
- q(5982),
+ q(6019),
q(0),
],
q(shama-sambuga) => [
- q(6169),
+ q(6206),
q(0),
],
q(shamang) => [
- q(7426),
+ q(7500),
q(0),
],
q(shambala) => [
- q(3573),
+ q(3597),
q(0),
],
q(shan) => [
@@ -49586,135 +50200,135 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(shanenawa) => [
- q(6280),
+ q(6319),
q(0),
],
q(shanga) => [
- q(5994),
+ q(6031),
q(0),
],
q(shangzhai) => [
- q(3076),
- q(0),
+ q(3100),
+ q(1),
],
q(sharanahua) => [
- q(4130),
+ q(4163),
q(0),
],
q(shark bay) => [
- q(6221),
+ q(6258),
q(0),
],
q(sharwa) => [
- q(6282),
+ q(6321),
q(0),
],
q(shasta) => [
- q(5999),
+ q(6036),
q(0),
],
q(shatt) => [
- q(5990),
+ q(6027),
q(0),
],
q(shau) => [
- q(6170),
+ q(6207),
q(0),
],
q(shawnee) => [
- q(6042),
+ q(6079),
q(0),
],
q(she) => [
- q(6003),
+ q(6040),
q(0),
],
q(shehri) => [
- q(6001),
+ q(6038),
q(0),
],
q(shekhawati) => [
- q(6287),
+ q(6326),
q(0),
],
q(shekkacho) => [
- q(4432),
+ q(4462),
q(0),
],
q(sheko) => [
- q(5986),
+ q(6023),
q(0),
],
q(shelta) => [
- q(6231),
+ q(6268),
q(0),
],
q(shempire senoufo) => [
- q(5935),
+ q(5972),
q(0),
],
q(shendu) => [
- q(5992),
+ q(6029),
q(0),
],
q(sheni) => [
- q(5911),
+ q(5948),
q(0),
],
q(sherbro) => [
- q(1506),
+ q(1508),
q(0),
],
q(sherdukpen) => [
- q(5927),
+ q(5964),
q(0),
],
q(sherpa) => [
- q(7435),
+ q(7509),
q(0),
],
q(sheshi kham) => [
- q(3346),
+ q(3370),
q(0),
],
q(shi) => [
- q(5997),
+ q(6034),
q(0),
],
q(shihhi arabic) => [
- q(6207),
+ q(6244),
q(0),
],
q(shiki) => [
- q(2627),
+ q(2645),
q(0),
],
q(shilluk) => [
- q(5991),
+ q(6028),
q(0),
],
q(shina) => [
- q(5906),
+ q(5943),
q(0),
],
q(shinabo) => [
- q(6112),
+ q(6149),
q(0),
],
q(shipibo-conibo) => [
- q(5995),
+ q(6032),
q(0),
],
q(shixing) => [
- q(6294),
+ q(6333),
q(0),
],
q(sholaga) => [
- q(6069),
+ q(6106),
q(0),
],
q(shom peng) => [
- q(6012),
+ q(6049),
q(0),
],
q(shona) => [
@@ -49722,103 +50336,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(shoo-minda-nye) => [
- q(1086),
+ q(1087),
q(0),
],
q(shor) => [
- q(1753),
+ q(1756),
q(0),
],
q(shoshoni) => [
- q(5988),
+ q(6025),
q(0),
],
q(shua) => [
- q(5987),
+ q(6024),
q(0),
],
q(shuadit) => [
- q(5930),
+ q(5967),
q(0),
],
q(shuar) => [
- q(3084),
+ q(3108),
q(0),
],
q(shubi) => [
- q(6253),
+ q(6291),
q(0),
],
q(shughni) => [
- q(5967),
+ q(6004),
q(0),
],
q(shumashti) => [
- q(6242),
+ q(6279),
q(0),
],
q(shumcho) => [
- q(5910),
+ q(5947),
q(0),
],
q(shuswap) => [
- q(5998),
+ q(6035),
q(0),
],
q(shuwa-zamani) => [
- q(3572),
+ q(3596),
q(0),
],
q(shwai) => [
- q(6002),
+ q(6039),
q(0),
],
q(shwe palaung) => [
- q(5470),
+ q(5502),
q(0),
],
q(sialum) => [
- q(6084),
+ q(6121),
q(0),
],
q(siamou) => [
- q(6009),
+ q(6046),
q(0),
],
q(sian) => [
- q(6154),
+ q(6191),
q(0),
],
q(siane) => [
- q(6119),
+ q(6156),
q(0),
],
q(siang) => [
- q(6304),
+ q(6343),
q(0),
],
q(siar-lak) => [
- q(6038),
+ q(6075),
q(0),
],
q(siawi) => [
- q(4382),
+ q(4413),
q(0),
],
q(sibe) => [
- q(4758),
+ q(4785),
+ q(0),
+ ],
+ q(siberian tatar) => [
+ q(6284),
q(0),
],
q(sibu melanau) => [
- q(5932),
+ q(5969),
q(0),
],
q(sicanian) => [
- q(6292),
+ q(6331),
q(0),
],
q(sicel) => [
- q(5913),
+ q(5950),
q(0),
],
q(sichuan yi) => [
@@ -49830,11 +50448,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sicite senoufo) => [
- q(5947),
+ q(5984),
q(0),
],
q(siculo arabic) => [
- q(6176),
+ q(6213),
q(0),
],
q(sidamo) => [
@@ -49842,27 +50460,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sidetic) => [
- q(7424),
+ q(7498),
q(0),
],
q(sie) => [
- q(2275),
+ q(2286),
q(0),
],
q(sierra de juarez zapotec) => [
- q(7716),
+ q(7814),
q(0),
],
q(sierra leone sign language) => [
- q(5979),
+ q(6016),
q(0),
],
q(sierra negra nahuatl) => [
- q(5061),
+ q(5092),
q(0),
],
q(sighu) => [
- q(6293),
+ q(6332),
q(0),
],
q(sign languages) => [
@@ -49870,31 +50488,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sihan) => [
- q(6121),
+ q(6158),
q(0),
],
q(sihuas ancash quechua) => [
- q(5693),
+ q(5727),
q(0),
],
q(sika) => [
- q(6051),
+ q(6088),
q(0),
],
q(sikaiana) => [
- q(6066),
+ q(6103),
q(0),
],
q(sikaritai) => [
- q(6727),
+ q(6766),
q(0),
],
q(sikiana) => [
- q(6014),
+ q(6051),
q(0),
],
q(sikkimese) => [
- q(6017),
+ q(6054),
q(0),
],
q(siksika) => [
@@ -49902,87 +50520,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sikule) => [
- q(6050),
+ q(6087),
q(0),
],
q(sila) => [
- q(6082),
+ q(6119),
q(0),
],
q(silacayoapan mixtec) => [
- q(4336),
+ q(4368),
q(0),
],
q(sileibi) => [
- q(5889),
+ q(5926),
q(0),
],
q(silesian) => [
- q(6321),
+ q(6360),
q(0),
],
q(silimo) => [
- q(7209),
+ q(7258),
q(0),
],
q(siliput) => [
- q(4322),
+ q(4354),
q(0),
],
q(silopi) => [
- q(7433),
+ q(7507),
q(0),
],
q(silt'e) => [
- q(6245),
+ q(6282),
q(0),
],
q(simaa) => [
- q(6008),
+ q(6045),
q(0),
],
q(simba) => [
- q(5895),
+ q(5932),
q(0),
],
q(simbali) => [
- q(6092),
+ q(6129),
q(0),
],
q(simbari) => [
- q(6088),
+ q(6125),
q(0),
],
q(simbo) => [
- q(5874),
+ q(5911),
q(0),
],
q(simeku) => [
- q(6106),
+ q(6143),
q(0),
],
q(simeulue) => [
- q(6099),
+ q(6136),
q(0),
],
q(simte) => [
- q(6100),
+ q(6137),
q(0),
],
q(sinagen) => [
- q(6021),
+ q(6058),
q(0),
],
q(sinasina) => [
- q(6219),
+ q(6256),
q(0),
],
q(sinaugoro) => [
- q(6108),
+ q(6145),
q(0),
],
q(sindarin) => [
- q(6035),
+ q(6072),
q(0),
],
q(sindhi) => [
@@ -49990,23 +50608,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sindhi bhil) => [
- q(5886),
+ q(5923),
q(0),
],
q(sindihui mixtec) => [
- q(7455),
+ q(7530),
q(0),
],
q(singa) => [
- q(5971),
+ q(6008),
q(0),
],
q(singapore sign language) => [
- q(6081),
+ q(6118),
q(0),
],
q(singpho) => [
- q(5973),
+ q(6010),
q(0),
],
q(sinhala) => [
@@ -50015,18 +50633,18 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(sinhalese) => [
q(0381),
- q(0),
+ q(1),
],
q(sinicahua mixtec) => [
- q(7446),
+ q(7521),
q(0),
],
q(sinicized miao) => [
- q(2784),
- q(0),
+ q(2802),
+ q(1),
],
q(sininkere) => [
- q(6058),
+ q(6095),
q(0),
],
q(sino-tibetan languages) => [
@@ -50034,23 +50652,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sinsauru) => [
- q(6128),
+ q(6165),
q(0),
],
q(sinte romani) => [
- q(5791),
+ q(5826),
q(0),
],
q(sinyar) => [
- q(6312),
+ q(6351),
q(0),
],
q(sio) => [
- q(7427),
+ q(7501),
q(0),
],
q(siona) => [
- q(6117),
+ q(6154),
q(0),
],
q(siouan languages) => [
@@ -50058,63 +50676,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sipacapense) => [
- q(5663),
+ q(5697),
q(0),
],
q(sira) => [
- q(6275),
+ q(6314),
q(0),
],
q(siraya) => [
- q(2359),
+ q(2371),
q(0),
],
q(sirenik yupik) => [
- q(7671),
+ q(7762),
q(0),
],
q(siri) => [
- q(6019),
+ q(6056),
q(0),
],
q(siriano) => [
- q(6187),
+ q(6224),
q(0),
],
q(siriono) => [
- q(6192),
+ q(6229),
q(0),
],
q(sirmauri) => [
- q(6198),
+ q(6235),
q(0),
],
q(siroi) => [
- q(6203),
+ q(6240),
q(0),
],
+ q(sishee) => [
+ q(6048),
+ q(1),
+ ],
q(sissala) => [
- q(6068),
+ q(6105),
q(0),
],
q(sissano) => [
- q(6214),
+ q(6251),
q(0),
],
q(siuslaw) => [
- q(6020),
+ q(6057),
q(0),
],
q(sivandi) => [
- q(6025),
+ q(6062),
q(0),
],
q(siwai) => [
- q(6023),
+ q(6060),
q(0),
],
q(siwi) => [
- q(6026),
+ q(6063),
q(0),
],
q(siwu) => [
@@ -50122,19 +50744,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(siyin chin) => [
- q(1884),
+ q(1890),
q(0),
],
q(skagit) => [
- q(6043),
+ q(6080),
q(0),
],
q(skalvian) => [
- q(6268),
+ q(6307),
q(0),
],
q(skepi creole dutch) => [
- q(6064),
+ q(6101),
q(0),
],
q(skolt sami) => [
@@ -50142,7 +50764,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(skou) => [
- q(6063),
+ q(6100),
q(0),
],
q(slave (athapascan)) => [
@@ -50153,12 +50775,16 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0384),
q(0),
],
+ q(slavomolisano) => [
+ q(6304),
+ q(0),
+ ],
q(slovak) => [
q(0385),
q(0),
],
q(slovakian sign language) => [
- q(6265),
+ q(6303),
q(0),
],
q(slovenian) => [
@@ -50166,43 +50792,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(small flowery miao) => [
- q(5959),
+ q(5996),
q(0),
],
q(smarky kanum) => [
- q(3712),
+ q(3736),
q(0),
],
q(snohomish) => [
- q(6118),
+ q(6155),
q(0),
],
q(so) => [
- q(6218),
+ q(6255),
q(0),
],
q(so (democratic republic of congo)) => [
- q(6131),
+ q(6168),
q(0),
],
q(so'a) => [
- q(6216),
+ q(6253),
q(0),
],
q(sobei) => [
- q(6130),
+ q(6167),
q(0),
],
q(sochiapam chinantec) => [
- q(1877),
+ q(1883),
q(0),
],
q(sochiapan chinantec) => [
- q(1877),
- q(0),
+ q(1883),
+ q(1),
],
q(soga) => [
- q(7385),
+ q(7454),
q(0),
],
q(sogdian) => [
@@ -50210,23 +50836,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(soi) => [
- q(6136),
+ q(6173),
q(0),
],
q(sok) => [
- q(6053),
+ q(6090),
q(0),
],
q(sokoro) => [
- q(6137),
+ q(6174),
q(0),
],
q(solano) => [
- q(7432),
+ q(7506),
q(0),
],
q(soli) => [
- q(5897),
+ q(5934),
q(0),
],
q(solong) => [
@@ -50234,11 +50860,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(solos) => [
- q(6138),
+ q(6175),
q(0),
],
q(som) => [
- q(6089),
+ q(6126),
q(0),
],
q(somali) => [
@@ -50246,59 +50872,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(somba-siawari) => [
- q(1323),
+ q(1325),
q(0),
],
q(somrai) => [
- q(6142),
+ q(6179),
q(0),
],
q(somray) => [
- q(6101),
+ q(6138),
q(0),
],
q(somyev) => [
- q(3305),
+ q(3329),
q(0),
],
q(sonaga) => [
- q(7666),
+ q(7757),
q(0),
],
q(sonde) => [
- q(5984),
+ q(6021),
q(0),
],
q(songa) => [
- q(5972),
+ q(6009),
q(0),
],
q(songe) => [
- q(6140),
+ q(6177),
q(0),
],
q(songhai languages) => [
q(0399),
q(0),
],
+ q(songlai chin) => [
+ q(1878),
+ q(0),
+ ],
q(songo) => [
- q(6139),
+ q(6176),
q(0),
],
q(songomeno) => [
- q(6133),
+ q(6170),
q(0),
],
q(songoora) => [
- q(6132),
+ q(6169),
q(0),
],
q(sonha) => [
- q(6135),
+ q(6172),
q(0),
],
q(sonia) => [
- q(6018),
+ q(6055),
q(0),
],
q(soninke) => [
@@ -50306,23 +50936,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sonsorol) => [
- q(6145),
+ q(6182),
q(0),
],
q(soo) => [
- q(6433),
+ q(6472),
q(0),
],
q(sop) => [
- q(6909),
+ q(6952),
q(0),
],
q(soqotri) => [
- q(6178),
+ q(6215),
q(0),
],
q(sora) => [
- q(6181),
+ q(6218),
q(0),
],
q(sorbian languages) => [
@@ -50330,27 +50960,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sori-harengan) => [
- q(5880),
+ q(5917),
q(0),
],
q(sorkhei) => [
- q(6174),
+ q(6211),
q(0),
],
q(sorothaptic) => [
- q(6299),
+ q(6338),
q(0),
],
q(sorsogon ayta) => [
- q(1008),
+ q(1009),
q(0),
],
q(sos kundi) => [
- q(5922),
+ q(5959),
q(0),
],
q(sota kanum) => [
- q(3571),
+ q(3595),
q(0),
],
q(sotho, southern) => [
@@ -50358,11 +50988,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sou) => [
- q(6175),
+ q(6212),
q(0),
],
q(south african sign language) => [
- q(5960),
+ q(5997),
q(0),
],
q(south american indian (other)) => [
@@ -50378,11 +51008,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(south azerbaijani) => [
- q(1014),
+ q(1015),
q(0),
],
q(south bolivian quechua) => [
- q(5659),
+ q(5693),
q(0),
],
q(south caucasian languages) => [
@@ -50390,27 +51020,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(south central banda) => [
- q(3982),
+ q(4013),
q(0),
],
q(south central dinka) => [
- q(2034),
+ q(2040),
q(0),
],
q(south efate) => [
- q(2278),
+ q(2289),
q(0),
],
q(south fali) => [
- q(2322),
+ q(2334),
q(0),
],
q(south giziga) => [
- q(2520),
+ q(2534),
q(0),
],
q(south lembata) => [
- q(3956),
+ q(3987),
q(0),
],
q(south levantine arabic) => [
@@ -50418,27 +51048,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(south marquesan) => [
- q(4470),
+ q(4500),
q(0),
],
q(south muyu) => [
- q(3616),
+ q(3640),
q(0),
],
q(south ndebele) => [
q(0303),
- q(0),
+ q(1),
],
q(south nuaulu) => [
- q(5125),
+ q(5157),
q(0),
],
q(south picene) => [
- q(6167),
+ q(6204),
q(0),
],
q(south slavey) => [
- q(7429),
+ q(7503),
q(0),
],
q(south slavic languages) => [
@@ -50446,67 +51076,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(south tairora) => [
- q(5239),
+ q(5272),
q(0),
],
q(south ucayali asheninka) => [
- q(1840),
+ q(1845),
q(0),
],
q(south watut) => [
- q(4151),
+ q(4184),
q(0),
],
q(south west bay) => [
- q(6122),
+ q(6159),
q(0),
],
q(southeast ambrym) => [
- q(6752),
+ q(6791),
q(0),
],
q(southeast babar) => [
- q(6951),
+ q(6994),
q(0),
],
q(southeast ijo) => [
- q(2919),
+ q(2941),
q(0),
],
q(southeast pashayi) => [
- q(5590),
+ q(5623),
q(0),
],
q(southeastern dinka) => [
- q(2075),
+ q(2080),
q(0),
],
q(southeastern ixtlan zapotec) => [
- q(7828),
+ q(7926),
q(0),
],
q(southeastern kolami) => [
- q(4881),
+ q(4908),
q(0),
],
q(southeastern nochixtlan mixtec) => [
- q(4651),
+ q(4680),
q(0),
],
q(southeastern pomo) => [
- q(5536),
+ q(5570),
q(0),
],
q(southeastern puebla nahuatl) => [
- q(5018),
+ q(5047),
q(0),
],
q(southeastern tarahumara) => [
- q(6391),
+ q(6430),
q(0),
],
q(southeastern tepehuan) => [
- q(6239),
+ q(6276),
q(0),
],
q(southern alta) => [
@@ -50522,219 +51152,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(southern aymara) => [
- q(0995),
+ q(0996),
q(0),
],
q(southern bai) => [
- q(1155),
+ q(1156),
q(0),
],
q(southern balochi) => [
- q(1067),
+ q(1068),
q(0),
],
q(southern betsimisaraka malagasy) => [
- q(1617),
+ q(1620),
q(0),
],
q(southern binukidnon) => [
- q(4555),
+ q(4585),
q(0),
],
q(southern birifor) => [
- q(1227),
+ q(1228),
q(0),
],
q(southern bobo madare) => [
- q(1558),
+ q(1561),
q(0),
],
q(southern bontok) => [
- q(5166),
+ q(5198),
q(0),
],
q(southern carrier) => [
- q(1645),
+ q(1648),
q(0),
],
q(southern catanduanes bikol) => [
- q(1291),
+ q(1293),
q(0),
],
q(southern conchucos ancash quechua) => [
- q(5700),
+ q(5734),
q(0),
],
q(southern dagaare) => [
- q(2003),
+ q(2008),
q(0),
],
q(southern dong) => [
- q(3433),
+ q(3457),
q(0),
],
q(southern east cree) => [
- q(1850),
+ q(1855),
q(0),
],
q(southern ghale) => [
- q(2495),
+ q(2508),
q(0),
],
q(southern gondi) => [
- q(2488),
+ q(2502),
q(0),
],
q(southern grebo) => [
- q(2604),
+ q(2621),
q(0),
],
q(southern guiyang hmong) => [
- q(2783),
+ q(2801),
q(0),
],
q(southern guiyang miao) => [
- q(2783),
- q(0),
+ q(2801),
+ q(1),
],
q(southern haida) => [
- q(2714),
+ q(2732),
q(0),
],
q(southern hindko) => [
- q(2786),
+ q(2804),
q(0),
],
q(southern kalapuya) => [
- q(6295),
+ q(6334),
q(0),
],
q(southern kalinga) => [
- q(3574),
+ q(3598),
q(0),
],
q(southern kisi) => [
- q(3590),
+ q(3614),
q(0),
],
q(southern kiwai) => [
- q(3359),
+ q(3383),
q(0),
],
q(southern kurdish) => [
- q(5920),
+ q(5957),
q(0),
],
q(southern lolopo) => [
- q(7670),
+ q(7761),
q(0),
],
q(southern luri) => [
- q(4068),
+ q(4100),
q(0),
],
q(southern ma'di) => [
- q(6116),
+ q(6153),
q(0),
],
q(southern mashan hmong) => [
- q(2762),
+ q(2780),
q(0),
],
q(southern mashan miao) => [
- q(2762),
- q(0),
+ q(2780),
+ q(1),
],
q(southern mnong) => [
- q(4403),
+ q(4434),
q(0),
],
q(southern muji) => [
- q(7605),
+ q(7695),
q(0),
],
q(southern nago) => [
- q(5024),
+ q(5053),
q(0),
],
q(southern nambikuara) => [
- q(4701),
+ q(4729),
q(0),
],
q(southern ngbandi) => [
- q(4741),
+ q(4769),
q(0),
],
q(southern nicobarese) => [
- q(4873),
+ q(4900),
q(0),
],
q(southern nisu) => [
- q(5046),
+ q(5077),
q(0),
],
q(southern nuni) => [
- q(4990),
+ q(5018),
q(0),
],
q(southern ohlone) => [
- q(1880),
+ q(1886),
q(0),
],
q(southern one) => [
- q(5289),
+ q(5322),
q(0),
],
q(southern pame) => [
- q(5505),
+ q(5537),
q(0),
],
q(southern pashto) => [
- q(5352),
+ q(5385),
q(0),
],
q(southern pastaza quechua) => [
- q(5665),
+ q(5699),
q(0),
],
q(southern pomo) => [
- q(5393),
+ q(5425),
q(0),
],
q(southern puebla mixtec) => [
- q(4291),
+ q(4323),
q(0),
],
q(southern puget sound salish) => [
- q(6072),
+ q(6109),
q(0),
],
q(southern pumi) => [
- q(5491),
+ q(5523),
q(0),
],
q(southern qiandong miao) => [
- q(2778),
+ q(2796),
q(0),
],
q(southern qiang) => [
- q(5704),
+ q(5738),
q(0),
],
q(southern rengma naga) => [
- q(5032),
+ q(5062),
q(0),
],
q(southern rincon zapotec) => [
- q(7862),
+ q(7960),
q(0),
],
q(southern roglai) => [
- q(5756),
+ q(5790),
q(0),
],
q(southern sama) => [
- q(6201),
+ q(6238),
q(0),
],
q(southern sami) => [
@@ -50742,15 +51372,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(southern samo) => [
- q(5876),
+ q(5913),
q(0),
],
q(southern sierra miwok) => [
- q(6046),
+ q(6083),
q(0),
],
q(southern sorsoganon) => [
- q(6196),
+ q(6233),
q(0),
],
q(southern sotho) => [
@@ -50758,119 +51388,119 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(southern subanen) => [
- q(3773),
+ q(3797),
q(0),
],
q(southern thai) => [
- q(6144),
+ q(6181),
q(0),
],
q(southern tiwa) => [
- q(6505),
+ q(6543),
q(0),
],
q(southern toussian) => [
- q(7089),
+ q(7135),
q(0),
],
q(southern tujia) => [
- q(6515),
+ q(6553),
q(0),
],
q(southern tutchone) => [
- q(6377),
+ q(6416),
q(0),
],
q(southern uzbek) => [
- q(6934),
+ q(6977),
q(0),
],
q(southern yamphu) => [
- q(4027),
+ q(4059),
q(0),
],
q(southern yukaghir) => [
- q(7697),
+ q(7789),
q(0),
],
q(southwest gbaya) => [
- q(2622),
+ q(2639),
q(0),
],
q(southwest palawano) => [
- q(5479),
+ q(5511),
q(0),
],
q(southwest pashayi) => [
- q(5589),
+ q(5622),
q(0),
],
q(southwest tanna) => [
- q(5113),
+ q(5145),
q(0),
],
q(southwestern bontok) => [
- q(6952),
+ q(6995),
q(0),
],
q(southwestern dinka) => [
- q(2042),
+ q(2048),
q(0),
],
q(southwestern fars) => [
- q(2328),
+ q(2340),
q(0),
],
q(southwestern guiyang hmong) => [
- q(2768),
+ q(2786),
q(0),
],
q(southwestern huishui hmong) => [
- q(2769),
+ q(2787),
q(0),
],
q(southwestern huishui miao) => [
- q(2769),
- q(0),
+ q(2787),
+ q(1),
],
q(southwestern nisu) => [
- q(5062),
+ q(5093),
q(0),
],
q(southwestern tamang) => [
- q(6686),
+ q(6725),
q(0),
],
q(southwestern tarahumara) => [
- q(6775),
+ q(6814),
q(0),
],
q(southwestern tepehuan) => [
- q(6534),
+ q(6573),
q(0),
],
q(southwestern tlaxiaco mixtec) => [
- q(4183),
+ q(4215),
q(0),
],
q(sowa) => [
- q(6288),
+ q(6327),
q(0),
],
q(sowanda) => [
- q(6146),
+ q(6183),
q(0),
],
q(sowari) => [
- q(2095),
- q(0),
+ q(2102),
+ q(1),
],
q(soyaltepec mazatec) => [
- q(6996),
+ q(7039),
q(0),
],
q(soyaltepec mixtec) => [
- q(6997),
+ q(7040),
q(0),
],
q(spanish) => [
@@ -50878,19 +51508,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(spanish sign language) => [
- q(6215),
+ q(6252),
q(0),
],
q(spiti bhoti) => [
- q(6164),
+ q(6201),
q(0),
],
q(spokane) => [
- q(6159),
+ q(6196),
q(0),
],
q(squamish) => [
- q(6179),
+ q(6216),
q(0),
],
q(sranan tongo) => [
@@ -50898,11 +51528,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sri lankan creole malay) => [
- q(5904),
+ q(5941),
q(0),
],
q(sri lankan sign language) => [
- q(6177),
+ q(6214),
q(0),
],
q(standard arabic) => [
@@ -50910,15 +51540,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(standard estonian) => [
- q(2230),
+ q(2241),
q(0),
],
q(standard latvian) => [
- q(4071),
+ q(4103),
q(0),
],
q(standard malay) => [
- q(7861),
+ q(7959),
q(0),
],
q(standard moroccan tamazight) => [
@@ -50926,55 +51556,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(stellingwerfs) => [
- q(6235),
+ q(6272),
q(0),
],
q(stod bhoti) => [
- q(5893),
+ q(5930),
q(0),
],
q(stodsde) => [
- q(3076),
+ q(3100),
q(0),
],
q(stoney) => [
- q(6238),
+ q(6275),
q(0),
],
q(straits salish) => [
- q(6241),
+ q(6278),
q(0),
],
q(suabo) => [
- q(6323),
+ q(6362),
q(0),
],
q(suarmin) => [
- q(5946),
+ q(5983),
q(0),
],
q(suau) => [
- q(6281),
+ q(6320),
q(0),
],
q(suba) => [
- q(6291),
+ q(6330),
q(0),
],
q(suba-simbiti) => [
- q(6202),
+ q(6239),
q(0),
],
q(subi) => [
- q(7428),
+ q(7502),
q(0),
],
q(subiya) => [
- q(5891),
+ q(5928),
q(0),
],
q(subtiaba) => [
- q(6256),
+ q(6294),
q(0),
],
q(sudanese arabic) => [
@@ -50982,43 +51612,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sudanese creole arabic) => [
- q(5402),
+ q(5434),
q(0),
],
q(sudest) => [
- q(6454),
+ q(6492),
q(0),
],
q(sudovian) => [
- q(7438),
+ q(7512),
q(0),
],
q(suena) => [
- q(6250),
+ q(6288),
q(0),
],
q(suga) => [
- q(5968),
+ q(6005),
q(0),
],
q(suganga) => [
- q(6251),
+ q(6289),
q(0),
],
q(sugut dusun) => [
- q(3765),
+ q(3789),
q(0),
],
q(sui) => [
- q(6274),
+ q(6313),
q(0),
],
q(suki) => [
- q(6252),
+ q(6290),
q(0),
],
q(suku) => [
- q(6248),
+ q(6286),
q(0),
],
q(sukuma) => [
@@ -51026,43 +51656,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sukur) => [
- q(6307),
+ q(6346),
q(0),
],
q(sukurum) => [
- q(7863),
+ q(7961),
q(0),
],
q(sula) => [
- q(6322),
+ q(6361),
q(0),
],
q(sulka) => [
- q(6247),
+ q(6285),
q(0),
],
q(sulod) => [
- q(6185),
+ q(6222),
q(0),
],
q(suma) => [
- q(6172),
+ q(6209),
q(0),
],
q(sumariup) => [
- q(6022),
+ q(6059),
q(0),
],
q(sumau) => [
- q(6024),
+ q(6061),
q(0),
],
q(sumbawa) => [
- q(6103),
+ q(6140),
q(0),
],
q(sumbwa) => [
- q(6258),
+ q(6296),
q(0),
],
q(sumerian) => [
@@ -51070,15 +51700,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sumi naga) => [
- q(5054),
+ q(5085),
q(0),
],
q(sumtu chin) => [
- q(1882),
+ q(1888),
q(0),
],
q(sunam) => [
- q(6210),
+ q(6247),
q(0),
],
q(sundanese) => [
@@ -51086,75 +51716,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(sunum) => [
- q(7614),
- q(0),
+ q(7704),
+ q(1),
],
q(sunwar) => [
- q(6260),
+ q(6298),
q(0),
],
q(suomenruotsalainen viittomakieli) => [
- q(2370),
- q(0),
+ q(2382),
+ q(2),
],
q(suoy) => [
- q(6311),
+ q(6350),
q(0),
],
q(supyire senoufo) => [
- q(6160),
+ q(6197),
q(0),
],
q(sur) => [
- q(6407),
+ q(6446),
q(0),
],
q(surayt) => [
- q(6675),
- q(0),
+ q(6714),
+ q(1),
],
q(surbakhal) => [
- q(5882),
+ q(5919),
q(0),
],
q(surgujia) => [
- q(5969),
+ q(6006),
q(0),
],
q(suri) => [
- q(6254),
+ q(6292),
q(0),
],
q(surigaonon) => [
- q(5964),
+ q(6001),
q(0),
],
q(surjapuri) => [
- q(6037),
+ q(6074),
q(0),
],
q(sursurunga) => [
- q(5981),
+ q(6018),
q(0),
],
q(suruaha) => [
- q(6289),
+ q(6328),
q(0),
],
q(surubu) => [
- q(5917),
+ q(5954),
q(0),
],
q(surui) => [
- q(6195),
+ q(6232),
q(0),
],
q(surui do para) => [
- q(4175),
+ q(4208),
q(0),
],
q(susquehannock) => [
- q(6173),
+ q(6210),
q(0),
],
q(susu) => [
@@ -51162,27 +51792,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(susuami) => [
- q(6220),
+ q(6257),
q(0),
],
q(suundi) => [
- q(5921),
+ q(5958),
q(0),
],
q(suwawa) => [
- q(6286),
+ q(6325),
q(0),
],
q(suya) => [
- q(6259),
+ q(6297),
q(0),
],
q(svan) => [
- q(6261),
+ q(6299),
q(0),
],
q(swabian) => [
- q(6272),
+ q(6311),
q(0),
],
q(swahili) => [
@@ -51190,7 +51820,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(swahili (individual language)) => [
- q(6273),
+ q(6312),
q(0),
],
q(swahili (macrolanguage)) => [
@@ -51198,7 +51828,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(swampy cree) => [
- q(1883),
+ q(1889),
q(0),
],
q(swati) => [
@@ -51210,7 +51840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(swedish sign language) => [
- q(6277),
+ q(6316),
q(0),
],
q(swiss german) => [
@@ -51218,27 +51848,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(swiss-french sign language) => [
- q(6217),
+ q(6254),
q(0),
],
q(swiss-german sign language) => [
- q(5966),
+ q(6003),
q(0),
],
q(swiss-italian sign language) => [
- q(6070),
+ q(6107),
q(0),
],
q(swo) => [
- q(6147),
+ q(6184),
q(0),
],
q(syenara senoufo) => [
- q(6005),
+ q(6042),
q(0),
],
q(sylheti) => [
- q(6308),
+ q(6347),
q(0),
],
q(syriac) => [
@@ -51246,7 +51876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(t'en) => [
- q(6390),
+ q(6429),
q(0),
],
q(ta'izzi-adeni arabic) => [
@@ -51254,95 +51884,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(taabwa) => [
- q(6338),
+ q(6377),
q(0),
],
q(tabaa zapotec) => [
- q(7733),
+ q(7831),
q(0),
],
q(tabaru) => [
- q(6371),
+ q(6410),
q(0),
],
q(tabasco chontal) => [
- q(1722),
+ q(1725),
q(0),
],
q(tabasco nahuatl) => [
- q(4844),
+ q(4871),
q(0),
],
q(tabasco zoque) => [
- q(7822),
+ q(7920),
q(0),
],
q(tabassaran) => [
- q(6327),
+ q(6366),
q(0),
],
q(tabla) => [
- q(6589),
+ q(6628),
q(0),
],
q(tabo) => [
- q(3477),
+ q(3501),
q(0),
],
q(tabriak) => [
- q(6818),
+ q(6858),
q(0),
],
q(tacahua mixtec) => [
- q(7456),
+ q(7531),
q(0),
],
q(tacana) => [
- q(6579),
+ q(6618),
q(0),
],
q(tachawit) => [
- q(6004),
+ q(6041),
q(0),
],
q(tachelhit) => [
- q(5989),
+ q(6026),
q(0),
],
q(tachoni) => [
- q(4050),
+ q(4082),
q(0),
],
q(tadaksahak) => [
- q(2151),
+ q(2159),
q(0),
],
q(tadyawan) => [
- q(6417),
+ q(6456),
q(0),
],
q(tae') => [
- q(5810),
+ q(5845),
q(0),
],
q(tafi) => [
- q(6376),
+ q(6415),
q(0),
],
q(tagabawa) => [
- q(1179),
+ q(1180),
q(0),
],
q(tagakaulo) => [
- q(3412),
+ q(3436),
q(0),
],
q(tagal murut) => [
- q(4598),
+ q(4628),
q(0),
],
q(tagalaka) => [
- q(6465),
+ q(6503),
q(0),
],
q(tagalog) => [
@@ -51350,39 +51980,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tagargrent) => [
- q(5308),
+ q(5341),
q(0),
],
q(tagbanwa) => [
- q(6369),
+ q(6408),
q(0),
],
q(tagbu) => [
- q(6360),
+ q(6399),
q(0),
],
q(tagdal) => [
- q(6396),
+ q(6435),
q(0),
],
q(tagin) => [
- q(6452),
+ q(6490),
q(0),
],
q(tagish) => [
- q(6463),
+ q(6501),
q(0),
],
q(tagoi) => [
- q(6332),
+ q(6371),
q(0),
],
q(tagwana senoufo) => [
- q(6462),
+ q(6500),
q(0),
],
q(tahaggart tamahaq) => [
- q(6482),
+ q(6520),
q(0),
],
q(tahitian) => [
@@ -51390,39 +52020,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tahltan) => [
- q(6480),
+ q(6518),
q(0),
],
q(tai) => [
- q(6344),
+ q(6383),
q(0),
],
q(tai daeng) => [
- q(6806),
+ q(6845),
q(0),
],
q(tai dam) => [
- q(1297),
+ q(1299),
q(0),
],
q(tai do) => [
- q(6802),
+ q(6841),
q(0),
],
q(tai don) => [
- q(6768),
+ q(6807),
q(0),
],
q(tai hang tong) => [
- q(6466),
+ q(6504),
q(0),
],
q(tai hongjin) => [
- q(6507),
+ q(6545),
q(0),
],
q(tai laing) => [
- q(6511),
+ q(6549),
q(0),
],
q(tai languages) => [
@@ -51430,35 +52060,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tai loi) => [
- q(6547),
+ q(6586),
q(0),
],
q(tai long) => [
- q(6471),
+ q(6509),
q(0),
],
q(tai mene) => [
- q(6569),
+ q(6608),
q(0),
],
q(tai nua) => [
- q(6399),
+ q(6438),
q(0),
],
q(tai pao) => [
- q(6634),
+ q(6673),
q(0),
],
q(tai thanh) => [
- q(6566),
+ q(6605),
q(0),
],
q(tai ya) => [
- q(1916),
+ q(1922),
q(0),
],
q(taiap) => [
- q(2593),
+ q(2610),
q(0),
],
q(taikat) => [
@@ -51470,23 +52100,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(taino) => [
- q(6593),
+ q(6632),
+ q(0),
+ ],
+ q(tairaha) => [
+ q(1570),
q(0),
],
q(tairuma) => [
- q(6821),
+ q(6861),
q(0),
],
q(taita) => [
- q(1951),
+ q(1956),
q(0),
],
q(taiwan sign language) => [
- q(6696),
+ q(6735),
q(0),
],
q(taje) => [
- q(5383),
+ q(5415),
q(0),
],
q(tajik) => [
@@ -51498,115 +52132,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tajio) => [
- q(6405),
+ q(6444),
q(0),
],
q(tajuasohn) => [
- q(6508),
+ q(6546),
q(0),
],
q(takelma) => [
- q(6523),
+ q(6562),
q(0),
],
q(takestani) => [
- q(6528),
+ q(6567),
q(0),
],
q(takia) => [
- q(6350),
+ q(6389),
q(0),
],
q(takua) => [
- q(6533),
+ q(6572),
q(0),
],
q(takuu) => [
- q(4854),
+ q(4881),
q(0),
],
q(takwane) => [
- q(6520),
+ q(6559),
q(0),
],
q(tal) => [
- q(6335),
+ q(6374),
q(0),
],
q(tala) => [
- q(6334),
+ q(6373),
q(0),
],
q(talaandig) => [
- q(1257),
- q(0),
+ q(1259),
+ q(1),
],
q(talaud) => [
- q(6537),
+ q(6576),
q(0),
],
q(taliabu) => [
- q(6552),
+ q(6591),
q(0),
],
q(talieng) => [
- q(6401),
+ q(6440),
q(0),
],
q(talinga-bwisi) => [
- q(6540),
+ q(6579),
q(0),
],
q(talise) => [
- q(6548),
+ q(6587),
q(0),
],
q(talodi) => [
- q(6545),
+ q(6584),
q(0),
],
q(taloki) => [
- q(6541),
+ q(6580),
q(0),
],
q(talondo') => [
- q(6544),
+ q(6583),
q(0),
],
- q(talu) => [
- q(7674),
+ q(talossan) => [
+ q(6854),
q(0),
],
- q(talur) => [
- q(2940),
+ q(talu) => [
+ q(7765),
q(0),
],
q(talysh) => [
- q(6554),
+ q(6593),
q(0),
],
q(tama (chad)) => [
- q(6555),
+ q(6594),
q(0),
],
q(tama (colombia)) => [
- q(6428),
+ q(6467),
q(0),
],
q(tamagario) => [
- q(6379),
+ q(6418),
q(0),
],
q(taman (indonesia)) => [
- q(6567),
+ q(6606),
q(0),
],
q(taman (myanmar)) => [
- q(6383),
+ q(6422),
q(0),
],
q(tamanaku) => [
- q(6578),
+ q(6617),
q(0),
],
q(tamashek) => [
@@ -51614,31 +52248,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tamasheq) => [
- q(6339),
+ q(6378),
q(0),
],
q(tamazola mixtec) => [
- q(7003),
+ q(7046),
q(0),
],
q(tambas) => [
- q(6406),
+ q(6445),
q(0),
],
q(tambora) => [
- q(7488),
+ q(7571),
q(0),
],
q(tambotalo) => [
- q(6549),
+ q(6588),
q(0),
],
q(tambunan dusun) => [
- q(3766),
+ q(3790),
q(0),
],
q(tami) => [
- q(6577),
+ q(6616),
q(0),
],
q(tamil) => [
@@ -51646,131 +52280,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tamki) => [
- q(6345),
+ q(6384),
q(0),
],
q(tamnim citak) => [
- q(6565),
+ q(6604),
q(0),
],
q(tampias lobu) => [
- q(4009),
+ q(4041),
q(0),
],
q(tampuan) => [
- q(6639),
+ q(6678),
q(0),
],
q(tampulma) => [
- q(6632),
+ q(6671),
q(0),
],
q(tanacross) => [
- q(6374),
+ q(6413),
q(0),
],
q(tanahmerah) => [
- q(6384),
+ q(6423),
q(0),
],
q(tanaina) => [
- q(6439),
+ q(6478),
q(0),
],
q(tanapag) => [
- q(6640),
+ q(6679),
q(0),
],
q(tandaganon) => [
- q(6453),
+ q(6491),
q(0),
],
q(tandia) => [
- q(6586),
+ q(6625),
q(0),
],
q(tandroy-mahafaly malagasy) => [
- q(6416),
+ q(6455),
q(0),
],
q(tanema) => [
- q(6600),
+ q(6639),
q(0),
],
q(tangale) => [
- q(6336),
+ q(6375),
q(0),
],
q(tangchangya) => [
- q(6598),
- q(0),
- ],
- q(tangga) => [
- q(6449),
+ q(6637),
q(0),
],
q(tanggu) => [
- q(6460),
+ q(6498),
q(0),
],
q(tangkhul naga (india)) => [
- q(4948),
+ q(4976),
q(0),
],
q(tangkhul naga (myanmar)) => [
- q(5078),
+ q(5110),
q(0),
],
q(tangko) => [
- q(6532),
+ q(6571),
q(0),
],
q(tanglang) => [
- q(7675),
+ q(7766),
q(0),
],
q(tangoa) => [
- q(6455),
+ q(6493),
q(0),
],
q(tanguat) => [
- q(6365),
+ q(6404),
q(0),
],
q(tangut) => [
- q(6785),
+ q(6824),
q(0),
],
q(tanimbili) => [
- q(6352),
+ q(6391),
q(0),
],
q(tanimuca-retuara) => [
- q(6581),
+ q(6620),
q(0),
],
q(tanjijili) => [
- q(6846),
+ q(6886),
q(0),
],
q(tankarana malagasy) => [
- q(7368),
- q(0),
+ q(7433),
+ q(1),
],
q(tanosy malagasy) => [
- q(6797),
+ q(6836),
q(0),
],
q(tanudan kalinga) => [
- q(3442),
+ q(3466),
q(0),
],
q(tanzanian sign language) => [
- q(6812),
+ q(6851),
q(0),
],
q(tapeba) => [
- q(6349),
+ q(6388),
q(0),
],
q(tapei) => [
@@ -51778,67 +52408,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tapiete) => [
- q(6629),
+ q(6668),
q(0),
],
q(tapirape) => [
- q(6331),
+ q(6370),
q(0),
],
q(tarao naga) => [
- q(6669),
+ q(6708),
q(0),
],
q(tareng) => [
- q(6457),
+ q(6495),
q(0),
],
q(tariana) => [
- q(6330),
+ q(6369),
q(0),
],
q(tarifit) => [
- q(5762),
+ q(5796),
q(0),
],
q(tarok) => [
- q(7546),
+ q(7635),
q(0),
],
q(taroko) => [
- q(6676),
+ q(6715),
q(0),
],
q(tarpia) => [
- q(6627),
+ q(6666),
q(0),
],
q(tartessian) => [
- q(6792),
+ q(6831),
q(0),
],
q(tasawaq) => [
- q(6774),
+ q(6813),
q(0),
],
q(tase naga) => [
- q(5060),
+ q(5091),
q(0),
],
q(tasmanian) => [
- q(7460),
+ q(7536),
q(0),
],
q(tasmate) => [
- q(6573),
+ q(6612),
q(0),
],
q(tataltepec chatino) => [
- q(1886),
+ q(1892),
q(0),
],
q(tatana) => [
- q(6796),
+ q(6835),
q(0),
],
q(tatar) => [
@@ -51846,235 +52476,235 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tatuyo) => [
- q(6343),
+ q(6382),
q(0),
],
q(tauade) => [
- q(6707),
+ q(6746),
q(0),
],
q(taulil) => [
- q(6736),
+ q(6775),
q(0),
],
q(taungyo) => [
- q(6386),
+ q(6425),
q(0),
],
q(taupota) => [
- q(6624),
+ q(6663),
q(0),
],
q(tause) => [
- q(6329),
+ q(6368),
q(0),
],
q(taushiro) => [
- q(6672),
+ q(6711),
q(0),
],
q(tausug) => [
- q(6687),
+ q(6726),
q(0),
],
q(tauya) => [
- q(6798),
+ q(6837),
q(0),
],
q(taveta) => [
- q(6756),
+ q(6795),
q(0),
],
q(tavoyan) => [
- q(6754),
+ q(6793),
q(0),
],
q(tavringer romani) => [
- q(5796),
+ q(5831),
q(0),
],
q(tawala) => [
- q(6362),
+ q(6401),
q(0),
],
q(tawallammat tamajaq) => [
- q(6720),
+ q(6759),
q(0),
],
q(tawande) => [
- q(7458),
+ q(7534),
q(0),
],
q(tawang monpa) => [
- q(6770),
+ q(6809),
q(0),
],
q(tawara) => [
- q(6769),
+ q(6808),
q(0),
],
q(taworta) => [
- q(6363),
+ q(6402),
q(0),
],
q(tawoyan) => [
- q(6780),
+ q(6819),
q(0),
],
q(tawr chin) => [
- q(6387),
+ q(6426),
q(0),
],
q(tay) => [
- q(6811),
+ q(6850),
q(0),
],
q(tay boi) => [
- q(6341),
+ q(6380),
q(0),
],
q(tay khang) => [
- q(6597),
+ q(6636),
q(0),
],
q(tay sa pa) => [
- q(6807),
+ q(6846),
q(0),
],
q(tay tac) => [
- q(6808),
+ q(6847),
q(0),
],
q(tayabas ayta) => [
- q(1011),
+ q(1012),
q(0),
],
q(tayart tamajeq) => [
- q(6486),
+ q(6524),
q(0),
],
q(tayo) => [
- q(1762),
+ q(1766),
q(0),
],
q(taznatit) => [
- q(2608),
+ q(2625),
q(0),
],
q(tboli) => [
- q(6359),
+ q(6398),
q(0),
],
q(tchitchege) => [
- q(6382),
+ q(6421),
q(0),
],
q(tchumbuli) => [
- q(1399),
+ q(1401),
q(0),
],
q(te'un) => [
- q(6751),
+ q(6790),
q(0),
],
q(teanu) => [
- q(6531),
+ q(6570),
q(0),
],
q(tebi) => [
- q(2092),
- q(0),
+ q(2098),
+ q(1),
],
q(tebul sign language) => [
- q(6702),
+ q(6741),
q(0),
],
q(tebul ure dogon) => [
- q(2164),
+ q(2172),
q(0),
],
q(tecpatlan totonac) => [
- q(6392),
+ q(6431),
q(0),
],
q(tedaga) => [
- q(6742),
+ q(6781),
q(0),
],
q(tedim chin) => [
- q(1888),
+ q(1894),
q(0),
],
q(tee) => [
- q(6526),
+ q(6565),
q(0),
],
q(teen) => [
- q(4004),
+ q(4036),
q(0),
],
q(tefaro) => [
- q(6440),
+ q(6479),
q(0),
],
q(tegali) => [
- q(5724),
+ q(5758),
q(0),
],
q(tehit) => [
- q(3518),
+ q(3542),
q(0),
],
q(tehuelche) => [
- q(6425),
+ q(6464),
q(0),
],
q(tejalapan zapotec) => [
- q(7872),
+ q(7970),
q(0),
],
q(teke-ebo) => [
- q(2210),
+ q(2220),
q(0),
],
q(teke-fuumu) => [
- q(2899),
+ q(2920),
q(0),
],
q(teke-kukuya) => [
- q(3402),
+ q(3426),
q(0),
],
q(teke-laali) => [
- q(3939),
+ q(3970),
q(0),
],
q(teke-nzikou) => [
- q(5158),
+ q(5190),
q(0),
],
q(teke-tege) => [
- q(6424),
+ q(6463),
q(0),
],
q(teke-tsaayi) => [
- q(6801),
+ q(6840),
q(0),
],
q(teke-tyee) => [
- q(6810),
+ q(6849),
q(0),
],
q(tektiteko) => [
- q(6706),
+ q(6745),
q(0),
],
q(tela-masbuar) => [
- q(6753),
+ q(6792),
q(0),
],
q(telefol) => [
- q(6538),
+ q(6577),
q(0),
],
q(telugu) => [
@@ -52082,147 +52712,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(teluti) => [
- q(6550),
+ q(6589),
q(0),
],
q(tem) => [
- q(3219),
+ q(3243),
q(0),
],
q(temacine tamazight) => [
- q(6514),
+ q(6552),
q(0),
],
q(temascaltepec nahuatl) => [
- q(4860),
+ q(4887),
q(0),
],
q(tembe) => [
- q(6645),
+ q(6684),
q(0),
],
q(tembo (kitembo)) => [
- q(6366),
+ q(6405),
q(0),
],
q(tembo (motembo)) => [
- q(6575),
+ q(6614),
q(0),
],
q(teme) => [
- q(6409),
+ q(6448),
q(0),
],
q(temein) => [
- q(6431),
+ q(6470),
q(0),
],
q(temi) => [
- q(6149),
+ q(6186),
q(0),
],
q(temiar) => [
- q(6418),
+ q(6457),
q(0),
],
q(temoaya otomi) => [
- q(5302),
+ q(5335),
q(0),
],
q(temoq) => [
- q(6568),
+ q(6607),
q(0),
],
q(tempasuk dusun) => [
- q(6414),
+ q(6453),
q(0),
],
q(temuan) => [
- q(6576),
+ q(6615),
q(0),
],
q(tena) => [
- q(1141),
- q(0),
+ q(1142),
+ q(1),
],
q(tena lowland quichua) => [
- q(5670),
+ q(5704),
q(0),
],
q(tenango otomi) => [
- q(5298),
+ q(5331),
q(0),
],
q(tene kan dogon) => [
- q(2157),
+ q(2165),
q(0),
],
q(tenggarong kutai malay) => [
- q(6979),
+ q(7022),
q(0),
],
q(tengger) => [
- q(6432),
+ q(6471),
q(0),
],
q(tenharim) => [
- q(5326),
+ q(5359),
q(0),
],
q(tenino) => [
- q(6648),
+ q(6687),
q(0),
],
q(tenis) => [
- q(6595),
+ q(6634),
q(0),
],
q(tennet) => [
- q(6436),
+ q(6475),
q(0),
],
q(teop) => [
- q(6498),
+ q(6536),
q(0),
],
q(teor) => [
- q(6434),
+ q(6473),
q(0),
],
q(tepecano) => [
- q(6430),
+ q(6469),
q(0),
],
q(tepetotutla chinantec) => [
- q(1805),
+ q(1809),
q(0),
],
q(tepeuxila cuicatec) => [
- q(1919),
+ q(1925),
q(0),
],
q(tepinapa chinantec) => [
- q(1889),
+ q(1895),
q(0),
],
q(tepo krumen) => [
- q(6421),
+ q(6460),
q(0),
],
q(ter sami) => [
- q(6040),
+ q(6077),
q(0),
],
q(tera) => [
- q(6721),
+ q(6760),
q(0),
],
q(terebu) => [
- q(6657),
+ q(6696),
q(0),
],
q(terei) => [
- q(1507),
+ q(1509),
q(0),
],
q(tereno) => [
@@ -52230,59 +52860,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(teressa) => [
- q(6423),
+ q(6462),
q(0),
],
q(tereweng) => [
- q(6767),
+ q(6806),
q(0),
],
q(teribe) => [
- q(6441),
+ q(6480),
q(0),
],
q(terik) => [
- q(6420),
+ q(6459),
q(0),
],
q(termanu) => [
- q(6777),
+ q(6816),
q(0),
],
q(ternate) => [
- q(6442),
+ q(6481),
q(0),
],
q(ternateno) => [
- q(6561),
+ q(6600),
q(0),
],
q(tesaka malagasy) => [
- q(6522),
+ q(6561),
q(0),
],
q(tese) => [
- q(3241),
+ q(3265),
q(0),
],
q(teshenawa) => [
- q(6763),
+ q(6802),
q(0),
],
q(teso) => [
- q(6429),
+ q(6468),
q(0),
],
q(tetela) => [
- q(6542),
+ q(6581),
q(0),
],
q(tetelcingo nahuatl) => [
- q(4848),
+ q(4875),
q(0),
],
q(tetete) => [
- q(6419),
+ q(6458),
q(0),
],
q(tetum) => [
@@ -52290,51 +52920,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tetun dili) => [
- q(6413),
+ q(6452),
q(0),
],
q(teutila cuicatec) => [
- q(1915),
+ q(1921),
q(0),
],
q(tewa (indonesia)) => [
- q(6765),
+ q(6804),
q(0),
],
q(tewa (usa)) => [
- q(6435),
+ q(6474),
q(0),
],
q(tewe) => [
- q(6779),
+ q(6818),
q(0),
],
q(texcatepec otomi) => [
- q(5305),
+ q(5338),
q(0),
],
q(texistepec popoluca) => [
- q(5539),
+ q(5573),
q(0),
],
q(texmelucan zapotec) => [
- q(7850),
+ q(7948),
q(0),
],
q(tezoatlan mixtec) => [
- q(4628),
+ q(4657),
q(0),
],
q(tha) => [
- q(6485),
+ q(6523),
q(0),
],
q(thachanadan) => [
- q(6475),
+ q(6513),
q(0),
],
q(thado chin) => [
- q(6395),
+ q(6434),
q(0),
],
q(thai) => [
@@ -52342,83 +52972,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(thai sign language) => [
- q(6694),
+ q(6733),
q(0),
],
q(thai song) => [
- q(6129),
+ q(6166),
q(0),
],
q(thaiphum chin) => [
- q(1891),
+ q(1897),
q(0),
],
q(thakali) => [
- q(6479),
+ q(6517),
q(0),
],
q(thangal naga) => [
- q(4912),
+ q(4939),
q(0),
],
q(thangmi) => [
- q(6469),
+ q(6507),
q(0),
],
q(thao) => [
- q(6205),
+ q(6242),
q(0),
],
q(tharaka) => [
- q(6472),
+ q(6510),
+ q(0),
+ ],
+ q(thawa) => [
+ q(7533),
q(0),
],
q(thayore) => [
- q(6467),
+ q(6505),
q(0),
],
q(thaypan) => [
- q(6805),
+ q(6844),
q(0),
],
q(the) => [
- q(6484),
+ q(6522),
+ q(0),
+ ],
+ q(thiin) => [
+ q(2936),
q(0),
],
q(tho) => [
- q(6618),
+ q(6657),
q(0),
],
q(thompson) => [
- q(6476),
+ q(6514),
q(0),
],
q(thopho) => [
- q(7676),
+ q(7767),
q(0),
],
q(thracian) => [
- q(6786),
+ q(6825),
q(0),
],
q(thu lao) => [
- q(6803),
+ q(6842),
q(0),
],
q(thudam) => [
- q(6483),
+ q(6521),
q(0),
],
q(thulung) => [
- q(6403),
+ q(6442),
q(0),
],
q(thurawal) => [
- q(6355),
+ q(6394),
q(0),
],
q(thuri) => [
- q(6481),
+ q(6519),
q(0),
],
q(tiagbamrin aizi) => [
@@ -52426,15 +53064,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tiale) => [
- q(4401),
+ q(4432),
q(0),
],
q(tiang) => [
- q(6357),
+ q(6396),
q(0),
],
q(tibea) => [
- q(4840),
+ q(4867),
q(0),
],
q(tibetan) => [
@@ -52446,55 +53084,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tichurong) => [
- q(6385),
+ q(6424),
q(0),
],
q(ticuna) => [
- q(6373),
+ q(6412),
q(0),
],
q(tidaa mixtec) => [
- q(4556),
+ q(4586),
q(0),
],
q(tidikelt tamazight) => [
- q(6487),
+ q(6525),
q(0),
],
q(tidong) => [
- q(6489),
+ q(6527),
q(0),
],
q(tidore) => [
- q(6755),
+ q(6794),
q(0),
],
q(tiefo) => [
- q(6500),
+ q(6538),
q(0),
],
q(tiemacewe bozo) => [
- q(1365),
+ q(1367),
q(0),
],
q(tiene) => [
- q(6492),
+ q(6530),
q(0),
],
q(tieyaxo bozo) => [
- q(1375),
+ q(1377),
q(0),
],
q(tifal) => [
- q(6490),
+ q(6528),
q(0),
],
q(tigak) => [
- q(6445),
+ q(6484),
q(0),
],
q(tigon mbembe) => [
- q(5153),
+ q(5185),
q(0),
],
q(tigre) => [
@@ -52506,119 +53144,119 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tii) => [
- q(6791),
+ q(6830),
q(0),
],
q(tijaltepec mixtec) => [
- q(7448),
+ q(7523),
q(0),
],
q(tikar) => [
- q(6494),
+ q(6532),
q(0),
],
q(tikopia) => [
- q(6525),
+ q(6564),
q(0),
],
q(tilapa otomi) => [
- q(5296),
+ q(5329),
q(0),
],
q(tillamook) => [
- q(6495),
+ q(6533),
q(0),
],
q(tilquiapan zapotec) => [
- q(7871),
+ q(7969),
q(0),
],
q(tilung) => [
- q(6493),
+ q(6531),
q(0),
],
q(tima) => [
- q(6572),
+ q(6611),
q(0),
],
q(timbe) => [
- q(6496),
+ q(6534),
q(0),
],
q(timbisha) => [
- q(5331),
- q(0),
+ q(5364),
+ q(1),
],
q(timne) => [
q(0421),
q(0),
],
q(timor pidgin) => [
- q(6760),
+ q(6799),
q(0),
],
q(timucua) => [
- q(6512),
+ q(6550),
q(0),
],
q(timugon murut) => [
- q(6491),
+ q(6529),
q(0),
],
q(tinani) => [
- q(3797),
+ q(3821),
q(0),
],
q(tindi) => [
- q(6497),
+ q(6535),
q(0),
],
q(tingui-boto) => [
- q(6461),
+ q(6499),
q(0),
],
q(tinigua) => [
- q(6502),
+ q(6540),
q(0),
],
q(tinoc kallahan) => [
- q(6583),
+ q(6622),
q(0),
],
q(tinputz) => [
- q(6644),
+ q(6683),
q(0),
],
q(tippera) => [
- q(6626),
+ q(6665),
q(0),
],
q(tira) => [
- q(6488),
+ q(6526),
q(0),
],
q(tirahi) => [
- q(6656),
+ q(6695),
q(0),
],
q(tiranige diga dogon) => [
- q(6400),
+ q(6439),
q(0),
],
q(tiri) => [
- q(1741),
+ q(1744),
q(0),
],
q(tiruray) => [
- q(6506),
+ q(6544),
q(0),
],
q(tita) => [
- q(6410),
+ q(6449),
q(0),
],
q(titan) => [
- q(6725),
+ q(6764),
q(0),
],
q(tiv) => [
@@ -52626,103 +53264,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tiwa) => [
- q(3790),
+ q(3814),
q(0),
],
q(tiwi) => [
- q(6504),
+ q(6542),
q(0),
],
q(tjurruru) => [
- q(6516),
+ q(6554),
q(0),
],
q(tlachichilco tepehua) => [
- q(6638),
+ q(6677),
q(0),
],
q(tlacoapa me'phaa) => [
- q(6631),
+ q(6670),
q(0),
],
q(tlacoapa tlapanec) => [
- q(6631),
- q(0),
+ q(6670),
+ q(1),
],
q(tlacoatzintepec chinantec) => [
- q(1892),
+ q(1898),
q(0),
],
q(tlacolulita zapotec) => [
- q(7835),
+ q(7933),
q(0),
],
q(tlahuitoltepec mixe) => [
- q(4642),
+ q(4671),
q(0),
],
q(tlamacazapa nahuatl) => [
- q(5105),
+ q(5137),
q(0),
],
q(tlazoyaltepec mixtec) => [
- q(4465),
+ q(4495),
q(0),
],
q(tlhingan-hol) => [
q(0432),
- q(0),
+ q(1),
],
q(tlingit) => [
q(0433),
q(0),
],
q(to) => [
- q(6623),
+ q(6662),
q(0),
],
q(to'abaita) => [
- q(4362),
+ q(4393),
q(0),
],
q(toaripi) => [
- q(6649),
+ q(6688),
q(0),
],
q(toba) => [
- q(6603),
+ q(6642),
q(0),
],
q(toba-maskoy) => [
- q(6560),
+ q(6599),
q(0),
],
q(tobagonian creole english) => [
- q(6450),
+ q(6488),
q(0),
],
q(tobanga) => [
- q(6584),
+ q(6623),
q(0),
],
q(tobati) => [
- q(6712),
+ q(6751),
q(0),
],
q(tobelo) => [
- q(6535),
+ q(6574),
q(0),
],
q(tobian) => [
- q(6621),
+ q(6660),
q(0),
],
q(tobilung) => [
- q(6444),
+ q(6483),
q(0),
],
q(tobo) => [
- q(6368),
+ q(6407),
q(0),
],
q(tocantins asurini) => [
@@ -52730,39 +53368,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tocho) => [
- q(6347),
+ q(6386),
q(0),
],
q(toda) => [
- q(6393),
+ q(6432),
q(0),
],
q(todrah) => [
- q(6411),
+ q(6450),
q(0),
],
q(tofanma) => [
- q(6539),
+ q(6578),
q(0),
],
q(tofin gbe) => [
- q(6438),
+ q(6477),
q(0),
],
q(togbo-vara banda) => [
- q(6616),
+ q(6655),
q(0),
],
q(togoyo) => [
- q(6464),
+ q(6502),
q(0),
],
q(tohono o'odham) => [
- q(5257),
+ q(5290),
q(0),
],
q(tojolabal) => [
- q(6610),
+ q(6649),
q(0),
],
q(tok pisin) => [
@@ -52770,7 +53408,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tokano) => [
- q(7877),
+ q(7975),
q(0),
],
q(tokelau) => [
@@ -52778,79 +53416,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tokharian a) => [
- q(7451),
+ q(7526),
q(0),
],
q(tokharian b) => [
- q(6782),
+ q(6821),
q(0),
],
q(toku-no-shima) => [
- q(6524),
+ q(6563),
q(0),
],
q(tol) => [
- q(3072),
+ q(3096),
q(0),
],
q(tolaki) => [
- q(3812),
+ q(3836),
q(0),
],
q(tolomako) => [
- q(6543),
+ q(6582),
q(0),
],
q(tolowa) => [
- q(6611),
+ q(6650),
q(0),
],
q(toma) => [
- q(6605),
+ q(6644),
q(0),
],
q(tomadino) => [
- q(6404),
+ q(6443),
q(0),
],
q(tombelala) => [
- q(6719),
+ q(6758),
q(0),
],
q(tombonuo) => [
- q(6781),
+ q(6820),
q(0),
],
q(tombulu) => [
- q(6612),
+ q(6651),
q(0),
],
q(tomedes) => [
- q(6606),
+ q(6645),
q(0),
],
q(tomini) => [
- q(6788),
+ q(6827),
q(0),
],
q(tommo so dogon) => [
- q(2159),
+ q(2167),
q(0),
],
q(tomo kan dogon) => [
- q(2158),
+ q(2166),
q(0),
],
q(tomoip) => [
- q(6650),
+ q(6689),
q(0),
],
q(tondano) => [
- q(6408),
+ q(6447),
q(0),
],
q(tondi songway kiini) => [
- q(6697),
+ q(6736),
q(0),
],
q(tonga) => [
@@ -52862,7 +53500,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tonga (thailand)) => [
- q(6602),
+ q(6641),
q(0),
],
q(tonga (tonga islands)) => [
@@ -52870,95 +53508,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tonga (zambia)) => [
- q(6609),
+ q(6648),
q(0),
],
q(tongwe) => [
- q(6601),
+ q(6640),
q(0),
],
q(tonjon) => [
- q(6513),
+ q(6551),
q(0),
],
q(tonkawa) => [
- q(6655),
+ q(6694),
q(0),
],
q(tonsawang) => [
- q(6599),
+ q(6638),
q(0),
],
q(tonsea) => [
- q(6793),
+ q(6832),
q(0),
],
q(tontemboan) => [
- q(6596),
+ q(6635),
q(0),
],
q(tooro) => [
- q(6713),
+ q(6752),
q(0),
],
q(topoiyo) => [
- q(6622),
+ q(6661),
q(0),
],
q(toposa) => [
- q(6615),
+ q(6654),
q(0),
],
q(tora) => [
- q(6680),
+ q(6719),
q(0),
],
q(toraja-sa'dan) => [
- q(5914),
+ q(5951),
q(0),
],
q(toram) => [
- q(6665),
+ q(6704),
q(0),
],
q(torau) => [
- q(6724),
+ q(6763),
q(0),
],
q(tornedalen finnish) => [
- q(2340),
+ q(2352),
q(0),
],
q(toro) => [
- q(6415),
+ q(6454),
q(0),
],
q(toro so dogon) => [
- q(2162),
+ q(2170),
q(0),
],
q(toro tegu dogon) => [
- q(2163),
+ q(2171),
q(0),
],
q(toromono) => [
- q(6591),
+ q(6630),
q(0),
],
q(torona) => [
- q(6652),
+ q(6691),
q(0),
],
q(torres strait creole) => [
- q(6389),
+ q(6428),
q(0),
],
q(torricelli) => [
- q(6426),
+ q(6465),
q(0),
],
q(torwali) => [
- q(6677),
+ q(6716),
q(0),
],
q(tosk albanian) => [
@@ -52966,43 +53604,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(totela) => [
- q(6715),
+ q(6754),
q(0),
],
q(toto) => [
- q(6790),
+ q(6829),
q(0),
],
q(totoli) => [
- q(6784),
+ q(6823),
q(0),
],
q(totomachapan zapotec) => [
- q(7832),
+ q(7930),
q(0),
],
q(totontepec mixe) => [
- q(4547),
+ q(4577),
q(0),
],
q(totoro) => [
- q(6714),
+ q(6753),
q(0),
],
q(touo) => [
- q(6654),
+ q(6693),
q(0),
],
q(toura (cote d'ivoire)) => [
- q(4790),
+ q(4817),
q(0),
],
q(toura (papua new guinea)) => [
- q(2117),
+ q(2125),
q(0),
],
q(towei) => [
- q(6717),
+ q(6756),
q(0),
],
q(trans-new guinea languages) => [
@@ -53010,123 +53648,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(transalpine gaulish) => [
- q(7445),
+ q(7519),
q(0),
],
q(traveller danish) => [
- q(5781),
+ q(5816),
q(0),
],
q(traveller norwegian) => [
- q(5784),
+ q(5819),
q(0),
],
q(traveller scottish) => [
- q(6666),
+ q(6705),
q(0),
],
q(tregami) => [
- q(6667),
+ q(6706),
q(0),
],
q(tremembe) => [
- q(6559),
+ q(6598),
q(0),
],
q(trieng) => [
- q(6230),
+ q(6267),
q(0),
],
q(trimuris) => [
- q(6499),
+ q(6537),
q(0),
],
q(tring) => [
- q(6456),
+ q(6494),
q(0),
],
q(tringgus-sembaan bidayuh) => [
- q(6678),
+ q(6717),
q(0),
],
q(trinidad and tobago sign language) => [
- q(4043),
+ q(4075),
q(0),
],
q(trinidadian creole english) => [
- q(6661),
+ q(6700),
q(0),
],
q(trinitario) => [
- q(6668),
+ q(6707),
q(0),
],
q(trio) => [
- q(6664),
+ q(6703),
q(0),
],
q(truka) => [
- q(6517),
+ q(6556),
q(0),
],
q(trumai) => [
- q(6643),
+ q(6682),
q(0),
],
q(ts'un-lao) => [
- q(6691),
+ q(6730),
q(0),
],
q(tsaangi) => [
- q(6681),
+ q(6720),
q(0),
],
q(tsakhur) => [
- q(6527),
+ q(6566),
q(0),
],
q(tsakonian) => [
- q(6684),
+ q(6723),
q(0),
],
q(tsakwambo) => [
- q(3670),
+ q(3694),
q(0),
],
q(tsamai) => [
- q(6682),
+ q(6721),
q(0),
],
q(tsat) => [
- q(2847),
+ q(2868),
q(0),
],
q(tsaukambo) => [
- q(3670),
- q(0),
+ q(3694),
+ q(1),
],
q(tseku) => [
- q(6690),
+ q(6729),
q(0),
],
q(tsetsaut) => [
- q(6783),
+ q(6822),
q(0),
],
q(tshangla) => [
- q(6689),
+ q(6728),
q(0),
],
q(tsikimba) => [
- q(3223),
+ q(3247),
q(0),
],
q(tsimane) => [
- q(1656),
+ q(1659),
q(0),
],
q(tsimihety malagasy) => [
- q(7369),
+ q(7434),
q(0),
],
q(tsimshian) => [
@@ -53134,19 +53772,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tsishingini) => [
- q(6700),
+ q(6739),
q(0),
],
q(tso) => [
- q(3836),
+ q(3862),
q(0),
],
q(tsoa) => [
- q(2747),
+ q(2765),
q(0),
],
q(tsogo) => [
- q(6699),
+ q(6738),
q(0),
],
q(tsonga) => [
@@ -53154,31 +53792,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tsotsitaal) => [
- q(2350),
+ q(2362),
q(0),
],
q(tsotso) => [
- q(4049),
+ q(4081),
q(0),
],
q(tsou) => [
- q(6698),
+ q(6737),
q(0),
],
q(tsum) => [
- q(6728),
+ q(6767),
q(0),
],
q(tsuvadi) => [
- q(6750),
+ q(6789),
q(0),
],
q(tsuvan) => [
- q(6688),
+ q(6727),
q(0),
],
q(tswa) => [
- q(6683),
+ q(6722),
q(0),
],
q(tswana) => [
@@ -53186,95 +53824,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tswapong) => [
- q(6772),
+ q(6811),
q(0),
],
q(tu) => [
- q(4300),
+ q(4332),
q(0),
],
q(tuamotuan) => [
- q(5500),
+ q(5532),
q(0),
],
q(tubar) => [
- q(6367),
+ q(6406),
q(0),
],
q(tubatulabal) => [
- q(6730),
+ q(6769),
q(0),
],
q(tucano) => [
- q(6741),
+ q(6780),
q(0),
],
q(tugen) => [
- q(6747),
+ q(6786),
q(0),
],
q(tugun) => [
- q(6816),
+ q(6856),
q(0),
],
q(tugutil) => [
- q(6738),
+ q(6777),
q(0),
],
q(tukang besi north) => [
- q(3312),
+ q(3336),
q(0),
],
q(tukang besi south) => [
- q(1201),
+ q(1202),
q(0),
],
q(tuki) => [
- q(1028),
+ q(1029),
q(0),
],
q(tukpa) => [
- q(6636),
+ q(6675),
q(0),
],
q(tukudede) => [
- q(6519),
+ q(6558),
q(0),
],
q(tukumanfed) => [
- q(6521),
+ q(6560),
q(0),
],
q(tula) => [
- q(6739),
+ q(6778),
q(0),
],
q(tulehu) => [
- q(6551),
+ q(6590),
q(0),
],
q(tulishi) => [
- q(6437),
+ q(6476),
q(0),
],
q(tulu) => [
- q(6394),
+ q(6433),
q(0),
],
q(tulu-bohuai) => [
- q(5718),
+ q(5752),
q(0),
],
q(tuma-irumu) => [
- q(2962),
+ q(2984),
q(0),
],
q(tumak) => [
- q(6557),
+ q(6596),
q(0),
],
q(tumari kanuri) => [
- q(3566),
+ q(3590),
q(0),
],
q(tumbuka) => [
@@ -53282,43 +53920,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tumi) => [
- q(3400),
+ q(3424),
q(0),
],
q(tumleo) => [
- q(6570),
+ q(6609),
q(0),
],
q(tumshuqese) => [
- q(7453),
+ q(7528),
q(0),
],
q(tumtum) => [
- q(6364),
+ q(6403),
q(0),
],
q(tumulung sisaala) => [
- q(6015),
+ q(6052),
q(0),
],
q(tumzabt) => [
- q(4676),
+ q(4704),
q(0),
],
q(tundra enets) => [
- q(2264),
+ q(2275),
q(0),
],
q(tunen) => [
- q(6758),
+ q(6797),
q(0),
],
q(tungag) => [
- q(3822),
+ q(3846),
q(0),
],
q(tunggare) => [
- q(6674),
+ q(6713),
q(0),
],
q(tungus languages) => [
@@ -53326,11 +53964,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tunia) => [
- q(6735),
+ q(6774),
q(0),
],
q(tunica) => [
- q(6740),
+ q(6779),
q(0),
],
q(tunisian arabic) => [
@@ -53338,31 +53976,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tunisian sign language) => [
- q(6685),
+ q(6724),
q(0),
],
q(tunjung) => [
- q(6509),
+ q(6547),
q(0),
],
q(tunni) => [
- q(6651),
+ q(6690),
q(0),
],
q(tunzu) => [
- q(2203),
+ q(2211),
q(0),
],
q(tuotomb) => [
- q(6709),
+ q(6748),
q(0),
],
q(tupari) => [
- q(6637),
+ q(6676),
q(0),
],
q(tupi) => [
- q(6641),
+ q(6680),
q(0),
],
q(tupi languages) => [
@@ -53370,43 +54008,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tupinamba) => [
- q(6633),
+ q(6672),
q(0),
],
q(tupinikin) => [
- q(6630),
+ q(6669),
q(0),
],
q(tupuri) => [
- q(6737),
+ q(6776),
q(0),
],
q(turaka) => [
- q(6663),
+ q(6702),
q(0),
],
q(turi) => [
- q(6659),
+ q(6698),
q(0),
],
q(turiwara) => [
- q(6776),
+ q(6815),
q(0),
],
q(turk isaret dili) => [
- q(6692),
- q(0),
+ q(6731),
+ q(1),
],
q(turka) => [
- q(6748),
+ q(6787),
q(0),
],
q(turkana) => [
- q(6745),
+ q(6784),
q(0),
],
q(turkic khalaj) => [
- q(3415),
+ q(3439),
q(0),
],
q(turkic languages) => [
@@ -53418,7 +54056,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(turkish sign language) => [
- q(6692),
+ q(6731),
q(0),
],
q(turkish, ottoman (1500-1928)) => [
@@ -53430,47 +54068,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(turks and caicos creole english) => [
- q(6380),
+ q(6419),
q(0),
],
q(turoyo) => [
- q(6675),
+ q(6714),
q(0),
],
q(turumsa) => [
- q(6647),
+ q(6686),
q(0),
],
q(turung) => [
- q(6679),
+ q(6718),
q(0),
],
q(tuscarora) => [
- q(6743),
+ q(6782),
q(0),
],
q(tutelo) => [
- q(6704),
+ q(6743),
q(0),
],
q(tutong) => [
- q(6710),
+ q(6749),
q(0),
],
q(tutsa naga) => [
- q(6757),
+ q(6796),
q(0),
],
q(tutuba) => [
- q(6562),
+ q(6601),
q(0),
],
q(tututepec mixtec) => [
- q(4553),
+ q(4583),
q(0),
],
q(tututni) => [
- q(6744),
+ q(6783),
q(0),
],
q(tuvalu) => [
@@ -53482,39 +54120,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tuwali ifugao) => [
- q(2898),
+ q(2919),
q(0),
],
q(tuwari) => [
- q(6778),
+ q(6817),
q(0),
],
q(tuwuli) => [
- q(1371),
+ q(1373),
q(0),
],
q(tuxa) => [
- q(6732),
+ q(6771),
q(0),
],
q(tuxinawa) => [
- q(6746),
+ q(6785),
q(0),
],
q(tuyuca) => [
- q(6733),
+ q(6772),
q(0),
],
q(twana) => [
- q(6761),
+ q(6800),
q(0),
],
q(twendi) => [
- q(6771),
+ q(6810),
q(0),
],
q(twents) => [
- q(6764),
+ q(6803),
q(0),
],
q(twi) => [
@@ -53522,27 +54160,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(tyap) => [
- q(3193),
+ q(3217),
q(0),
],
q(tyaraity) => [
- q(7156),
+ q(7204),
q(0),
],
q(tz'utujil) => [
- q(6814),
+ q(6853),
q(0),
],
q(tzeltal) => [
- q(6813),
+ q(6852),
q(0),
],
q(tzotzil) => [
- q(6817),
+ q(6857),
q(0),
],
q(u) => [
- q(6927),
+ q(6970),
q(0),
],
q(uab meto) => [
@@ -53550,47 +54188,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(uamue) => [
- q(6819),
+ q(6859),
q(0),
],
q(uare) => [
- q(3581),
+ q(3605),
q(0),
],
q(ubaghara) => [
- q(1593),
+ q(1596),
q(0),
],
q(ubang) => [
- q(6822),
+ q(6862),
q(0),
],
q(ubi) => [
- q(6823),
+ q(6863),
q(0),
],
q(ubir) => [
- q(6825),
+ q(6865),
q(0),
],
q(ubykh) => [
- q(6827),
+ q(6867),
q(0),
],
q(ucayali-yurua asheninka) => [
- q(1832),
+ q(1836),
q(0),
],
q(uda) => [
- q(6828),
+ q(6868),
q(0),
],
q(udi) => [
- q(6831),
+ q(6871),
q(0),
],
q(udihe) => [
- q(6829),
+ q(6869),
q(0),
],
q(udmurt) => [
@@ -53598,15 +54236,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(uduk) => [
- q(6834),
+ q(6874),
q(0),
],
q(ufim) => [
- q(6836),
+ q(6876),
q(0),
],
q(ugandan sign language) => [
- q(6839),
+ q(6879),
q(0),
],
q(ugaritic) => [
@@ -53614,15 +54252,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ughele) => [
- q(6838),
+ q(6878),
q(0),
],
q(ugong) => [
- q(6840),
+ q(6880),
q(0),
],
q(uhami) => [
- q(6842),
+ q(6882),
q(0),
],
q(uighur) => [
@@ -53630,27 +54268,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(uisai) => [
- q(6844),
+ q(6884),
q(0),
],
q(ujir) => [
- q(6832),
+ q(6872),
q(0),
],
q(ukaan) => [
- q(3192),
+ q(3216),
q(0),
],
q(ukhwejo) => [
- q(6849),
+ q(6889),
q(0),
],
q(ukit) => [
- q(6872),
+ q(6913),
q(0),
],
q(ukpe-bayobiri) => [
- q(6851),
+ q(6891),
q(0),
],
q(ukpet-ehom) => [
@@ -53662,87 +54300,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(ukrainian sign language) => [
- q(6850),
+ q(6890),
q(0),
],
q(ukue) => [
- q(6854),
+ q(6894),
q(0),
],
q(ukuriguma) => [
- q(6848),
+ q(6888),
q(0),
],
q(ukwa) => [
- q(6852),
+ q(6892),
q(0),
],
q(ukwuani-aboh-ndoni) => [
- q(6855),
+ q(6895),
q(0),
],
q(ulau-suain) => [
- q(6262),
+ q(6300),
q(0),
],
q(ulch) => [
- q(6859),
+ q(6899),
q(0),
],
q(ulithian) => [
- q(6861),
+ q(6902),
q(0),
],
q(ullatan) => [
- q(6863),
+ q(6904),
q(0),
],
q(ulukwumi) => [
- q(6858),
+ q(6898),
q(0),
],
q(ulumanda') => [
- q(6864),
+ q(6905),
q(0),
],
q(ulwa) => [
- q(6867),
+ q(6908),
q(0),
],
q(uma) => [
- q(5549),
+ q(5583),
q(0),
],
q(uma' lasan) => [
- q(7333),
+ q(7398),
q(0),
],
q(uma' lung) => [
- q(6866),
+ q(6907),
q(0),
],
q(umanakaina) => [
- q(2455),
+ q(2468),
q(0),
],
q(umatilla) => [
- q(6868),
+ q(6909),
q(0),
],
q(umbindhamu) => [
- q(6870),
+ q(6911),
q(0),
],
q(umbrian) => [
- q(7466),
+ q(7543),
q(0),
],
q(umbu-ungu) => [
- q(6826),
+ q(6866),
q(0),
],
q(umbugarla) => [
- q(6877),
+ q(6918),
q(0),
],
q(umbundu) => [
@@ -53750,43 +54388,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(umbuygamu) => [
- q(6871),
+ q(6912),
q(0),
],
q(ume sami) => [
- q(6041),
+ q(6078),
q(0),
],
q(umeda) => [
- q(6889),
+ q(6932),
q(0),
],
q(umiida) => [
- q(7463),
+ q(7539),
q(0),
],
q(umiray dumaget agta) => [
- q(2169),
+ q(2177),
q(0),
],
q(umon) => [
- q(6873),
+ q(6914),
q(0),
],
q(umotina) => [
- q(6875),
+ q(6916),
q(0),
],
q(umpila) => [
- q(6876),
+ q(6917),
q(0),
],
q(una) => [
- q(4539),
+ q(4569),
q(0),
],
q(unami) => [
- q(6884),
+ q(6925),
q(0),
],
q(uncoded languages) => [
@@ -53794,7 +54432,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(unde kaili) => [
- q(6887),
+ q(6930),
q(0),
],
q(undetermined) => [
@@ -53802,59 +54440,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(uneapa) => [
- q(1052),
+ q(1053),
q(0),
],
q(uneme) => [
- q(6881),
+ q(6922),
q(0),
],
- q(unggarranggu) => [
- q(7467),
+ q(unggaranggu) => [
+ q(7544),
q(0),
],
q(unggumi) => [
- q(7292),
+ q(7355),
q(0),
],
q(unserdeutsch) => [
- q(6865),
+ q(6906),
q(0),
],
q(unua) => [
- q(5254),
+ q(5287),
+ q(0),
+ ],
+ q(unubahe) => [
+ q(6928),
q(0),
],
q(uokha) => [
- q(6888),
+ q(6931),
q(0),
],
q(upper chehalis) => [
- q(1746),
+ q(1749),
q(0),
],
q(upper grand valley dani) => [
- q(2096),
+ q(2103),
q(0),
],
q(upper guinea crioulo) => [
- q(5542),
+ q(5576),
q(0),
],
q(upper kinabatangan) => [
- q(2085),
+ q(2091),
q(0),
],
q(upper kuskokwim) => [
- q(3639),
+ q(3663),
q(0),
],
q(upper necaxa totonac) => [
- q(6530),
+ q(6569),
q(0),
],
q(upper saxon) => [
- q(6302),
+ q(6341),
q(0),
],
q(upper sorbian) => [
@@ -53862,39 +54504,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(upper ta'oih) => [
- q(6711),
+ q(6750),
q(0),
],
q(upper tanana) => [
- q(6342),
+ q(6381),
q(0),
],
q(upper taromi) => [
- q(6619),
+ q(6658),
q(0),
],
q(upper umpqua) => [
- q(7469),
+ q(7546),
q(0),
],
q(ura (papua new guinea)) => [
- q(6903),
+ q(6946),
q(0),
],
q(ura (vanuatu)) => [
- q(6926),
+ q(6969),
q(0),
],
q(uradhi) => [
- q(6895),
+ q(6938),
q(0),
],
q(urak lawoi') => [
- q(6899),
+ q(6942),
q(0),
],
q(urali) => [
- q(6900),
+ q(6943),
q(0),
],
q(uralic languages) => [
@@ -53902,19 +54544,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(urapmin) => [
- q(6901),
+ q(6944),
q(0),
],
q(urarina) => [
- q(6891),
+ q(6934),
q(0),
],
q(urartian) => [
- q(7470),
+ q(7547),
q(0),
],
q(urat) => [
- q(6906),
+ q(6949),
q(0),
],
q(urdu) => [
@@ -53922,115 +54564,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(urhobo) => [
- q(6897),
+ q(6940),
q(0),
],
q(uri) => [
- q(6929),
+ q(6972),
q(0),
],
q(urigina) => [
- q(6896),
+ q(6939),
q(0),
],
q(urim) => [
- q(6898),
+ q(6941),
q(0),
],
q(urimo) => [
- q(6910),
+ q(6953),
q(0),
],
q(uripiv-wala-rano-atchin) => [
- q(6890),
+ q(6933),
q(0),
],
q(urningangg) => [
- q(6893),
+ q(6936),
q(0),
],
q(uru) => [
- q(6894),
+ q(6937),
q(0),
],
q(uru-eu-wau-wau) => [
- q(6912),
+ q(6955),
q(0),
],
q(uru-pa-in) => [
- q(6904),
+ q(6947),
q(0),
],
q(uruangnirin) => [
- q(6902),
+ q(6945),
q(0),
],
q(uruava) => [
- q(6908),
+ q(6951),
q(0),
],
q(urubu-kaapor) => [
- q(6892),
+ q(6935),
q(0),
],
q(urubu-kaapor sign language) => [
- q(6853),
+ q(6893),
q(0),
],
q(uruguayan sign language) => [
- q(6841),
+ q(6881),
q(0),
],
q(urum) => [
- q(6924),
+ q(6967),
q(0),
],
q(urumi) => [
- q(6907),
+ q(6950),
q(0),
],
q(usaghade) => [
- q(6916),
+ q(6959),
q(0),
],
q(usan) => [
- q(7154),
+ q(7201),
q(0),
],
q(usarufa) => [
- q(6913),
+ q(6956),
q(0),
],
q(ushojo) => [
- q(6914),
+ q(6957),
q(0),
],
q(usila chinantec) => [
- q(1903),
+ q(1909),
q(0),
],
q(usku) => [
- q(6860),
+ q(6901),
q(0),
],
q(uspanteco) => [
- q(6917),
+ q(6960),
q(0),
],
q(usui) => [
- q(6915),
+ q(6958),
q(0),
],
q(ut-ma'in) => [
- q(2471),
+ q(2485),
q(0),
],
q(utarmbung) => [
- q(5234),
+ q(5267),
q(0),
],
q(ute-southern paiute) => [
- q(6920),
+ q(6963),
q(0),
],
q(uto-aztecan languages) => [
@@ -54038,24 +54680,24 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(utu) => [
- q(6923),
+ q(6966),
q(0),
],
q(uvbie) => [
- q(2307),
+ q(2318),
q(0),
],
q(uya) => [
- q(6918),
+ q(6961),
q(0),
],
q(uyajitaya) => [
- q(2175),
+ q(2183),
q(0),
],
q(uyghur) => [
q(0451),
- q(0),
+ q(1),
],
q(uzbek) => [
q(0456),
@@ -54066,39 +54708,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(uzekwe) => [
- q(2312),
+ q(2324),
q(0),
],
q(v'enen taut) => [
- q(4944),
- q(0),
+ q(4972),
+ q(1),
],
q(vaagri booli) => [
- q(6935),
+ q(6978),
q(0),
],
q(vaeakau-taumako) => [
- q(5443),
- q(0),
+ q(5475),
+ q(1),
],
q(vafsi) => [
- q(6937),
+ q(6980),
q(0),
],
q(vaghat-ya-bijim-legeri) => [
- q(1218),
+ q(1219),
q(0),
],
q(vaghri) => [
- q(6960),
+ q(7003),
q(0),
],
q(vaghua) => [
- q(6749),
+ q(6788),
q(0),
],
q(vagla) => [
- q(6938),
+ q(6981),
q(0),
],
q(vai) => [
@@ -54106,103 +54748,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(vaiphei) => [
- q(6945),
+ q(6988),
q(0),
],
q(vale) => [
- q(6936),
+ q(6979),
q(0),
],
q(valencian) => [
q(0071),
- q(0),
+ q(1),
],
q(valencian sign language) => [
- q(7015),
+ q(7058),
q(0),
],
q(valle nacional chinantec) => [
- q(1921),
+ q(1927),
q(0),
],
q(valley maidu) => [
- q(7001),
+ q(7044),
q(0),
],
q(valman) => [
- q(6943),
+ q(6986),
q(0),
],
q(valpei) => [
- q(6981),
+ q(7024),
q(0),
],
q(vamale) => [
- q(4337),
+ q(4369),
q(0),
],
q(vame) => [
- q(4360),
+ q(4391),
q(0),
],
q(vandalic) => [
- q(7475),
+ q(7552),
q(0),
],
q(vangunu) => [
- q(4450),
+ q(4480),
q(0),
],
q(vanimo) => [
- q(6942),
+ q(6985),
q(0),
],
q(vano) => [
- q(7006),
+ q(7049),
q(0),
],
q(vanuma) => [
- q(6948),
+ q(6991),
q(0),
],
q(vao) => [
- q(6944),
+ q(6987),
q(0),
],
q(varhadi-nagpuri) => [
- q(6939),
+ q(6982),
q(0),
],
q(varisi) => [
- q(7011),
+ q(7054),
q(0),
],
q(varli) => [
- q(6949),
+ q(6992),
q(0),
],
q(vasavi) => [
- q(6947),
+ q(6990),
q(0),
],
q(vasekela bushman) => [
- q(6940),
+ q(6983),
q(0),
],
q(veddah) => [
- q(6954),
+ q(6997),
q(0),
],
q(vehes) => [
- q(6941),
+ q(6984),
q(0),
],
q(veluws) => [
- q(6955),
+ q(6998),
q(0),
],
q(vemgo-mabas) => [
- q(6956),
+ q(6999),
q(0),
],
q(venda) => [
@@ -54210,43 +54852,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(venetian) => [
- q(6953),
+ q(6996),
q(0),
],
q(venetic) => [
- q(7473),
+ q(7550),
q(0),
],
q(venezuelan sign language) => [
- q(7014),
+ q(7057),
q(0),
],
q(vengo) => [
- q(1035),
+ q(1036),
q(0),
],
q(ventureno) => [
- q(6957),
+ q(7000),
q(0),
],
q(veps) => [
- q(6958),
+ q(7001),
q(0),
],
q(vera'a) => [
- q(7010),
+ q(7053),
q(0),
],
q(vestinian) => [
- q(7477),
+ q(7554),
q(0),
],
q(vidunda) => [
- q(6963),
+ q(7006),
q(0),
],
q(viemo) => [
- q(6965),
+ q(7008),
q(0),
],
q(vietnamese) => [
@@ -54254,63 +54896,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(viid) => [
- q(6123),
- q(0),
+ q(6160),
+ q(1),
],
q(vilela) => [
- q(6966),
+ q(7009),
q(0),
],
q(vili) => [
- q(6964),
+ q(7007),
q(0),
],
q(villa viciosa agta) => [
- q(2197),
+ q(2205),
q(0),
],
q(vincentian creole english) => [
- q(6263),
+ q(6301),
q(0),
],
q(vinmavis) => [
- q(7007),
+ q(7050),
q(0),
],
q(vinza) => [
- q(6967),
+ q(7010),
q(0),
],
q(virgin islands creole english) => [
- q(6962),
+ q(7005),
q(0),
],
q(vishavan) => [
- q(6968),
+ q(7011),
q(0),
],
q(viti) => [
- q(6969),
+ q(7012),
q(0),
],
q(vitou) => [
- q(7016),
+ q(7059),
q(0),
],
q(vitu) => [
- q(7104),
+ q(7149),
q(0),
],
q(vlaams) => [
- q(6982),
+ q(7025),
q(0),
],
q(vlaamse gebarentaal) => [
- q(6961),
+ q(7004),
q(0),
],
q(vlax romani) => [
- q(5800),
+ q(5835),
q(0),
],
q(volapuk) => [
@@ -54318,15 +54960,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(volscian) => [
- q(7476),
+ q(7553),
q(0),
],
q(vono) => [
- q(3194),
+ q(3218),
q(0),
],
q(voro) => [
- q(7009),
+ q(7052),
q(0),
],
q(votic) => [
@@ -54334,155 +54976,167 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(vumbu) => [
- q(7017),
+ q(7060),
q(0),
],
q(vunapu) => [
- q(7008),
+ q(7051),
q(0),
],
q(vunjo) => [
- q(7018),
+ q(7061),
q(0),
],
q(vure) => [
- q(3925),
- q(0),
+ q(3955),
+ q(1),
],
q(vures) => [
- q(4521),
+ q(4551),
q(0),
],
q(vute) => [
- q(7019),
+ q(7062),
q(0),
],
q(vwanji) => [
- q(7047),
+ q(7090),
q(0),
],
q(wa) => [
- q(7051),
+ q(7094),
q(0),
],
q(wa'ema) => [
- q(7027),
+ q(7070),
q(0),
],
q(waama) => [
- q(7218),
+ q(7267),
q(0),
],
q(waamwang) => [
- q(7138),
+ q(7184),
q(0),
],
q(waata) => [
- q(6213),
+ q(6250),
q(0),
],
q(wab) => [
- q(7022),
+ q(7065),
q(0),
],
q(wabo) => [
- q(7044),
+ q(7087),
q(0),
],
q(waboda) => [
- q(3454),
+ q(3478),
q(0),
],
q(waci gbe) => [
- q(7059),
+ q(7102),
q(0),
],
q(wadaginam) => [
- q(7061),
+ q(7104),
q(0),
],
q(waddar) => [
- q(7053),
+ q(7096),
+ q(0),
+ ],
+ q(wadi wadi) => [
+ q(7557),
+ q(0),
+ ],
+ q(wadikali) => [
+ q(7106),
q(0),
],
q(wadiyara koli) => [
- q(3711),
+ q(3735),
+ q(0),
+ ],
+ q(wadjabangayi) => [
+ q(7108),
q(0),
],
q(wadjiginy) => [
- q(7062),
+ q(7105),
q(0),
],
q(wadjigu) => [
- q(7063),
+ q(7107),
q(0),
],
q(wae rana) => [
- q(7190),
+ q(7238),
q(0),
],
q(waffa) => [
- q(7030),
+ q(7073),
q(0),
],
q(wagawaga) => [
- q(7079),
+ q(7125),
q(0),
],
q(wagaya) => [
- q(7078),
+ q(7124),
q(0),
],
q(wagdi) => [
- q(7054),
+ q(7097),
q(0),
],
q(wageman) => [
- q(7035),
+ q(7078),
q(0),
],
q(wagi) => [
- q(2315),
+ q(2327),
q(0),
],
q(wahau kayan) => [
- q(7088),
+ q(7134),
q(0),
],
q(wahau kenyah) => [
- q(7087),
+ q(7133),
q(0),
],
q(wahgi) => [
- q(7081),
+ q(7127),
q(0),
],
q(waigali) => [
- q(7049),
+ q(7092),
q(0),
],
q(waigeo) => [
- q(7082),
+ q(7128),
q(0),
],
q(wailaki) => [
- q(7119),
+ q(7165),
q(0),
],
q(wailapa) => [
- q(7123),
+ q(7169),
q(0),
],
q(waima) => [
- q(5825),
+ q(5860),
q(0),
],
q(waima'a) => [
- q(7135),
+ q(7181),
q(0),
],
q(waimaha) => [
- q(1031),
+ q(1032),
q(0),
],
q(waimiri-atroari) => [
@@ -54490,27 +55144,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(waioli) => [
- q(7118),
+ q(7164),
q(0),
],
q(waiwai) => [
- q(7039),
+ q(7082),
q(0),
],
q(waja) => [
- q(7106),
+ q(7151),
q(0),
],
q(wajarri) => [
- q(7056),
+ q(7099),
+ q(0),
+ ],
+ q(wajuk) => [
+ q(7560),
q(0),
],
q(waka) => [
- q(7038),
+ q(7081),
q(0),
],
q(wakabunga) => [
- q(7219),
+ q(7268),
q(0),
],
q(wakashan languages) => [
@@ -54518,55 +55176,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(wakawaka) => [
- q(7113),
+ q(7158),
q(0),
],
q(wakde) => [
- q(7110),
+ q(7155),
q(0),
],
q(wakhi) => [
- q(7050),
+ q(7093),
q(0),
],
q(wakona) => [
- q(7026),
+ q(7069),
q(0),
],
q(wala) => [
- q(3871),
+ q(3897),
q(0),
],
q(walak) => [
- q(7127),
+ q(7173),
q(0),
],
q(walamo) => [
q(0463),
q(0),
],
+ q(walangama) => [
+ q(4967),
+ q(0),
+ ],
q(wali (ghana)) => [
- q(7128),
+ q(7174),
q(0),
],
q(wali (sudan)) => [
- q(7120),
+ q(7166),
q(0),
],
q(waling) => [
- q(7129),
+ q(7175),
q(0),
],
q(walio) => [
- q(7114),
+ q(7160),
q(0),
],
q(walla walla) => [
- q(7021),
+ q(7064),
q(0),
],
q(wallisian) => [
- q(7124),
+ q(7170),
q(0),
],
q(walloon) => [
@@ -54574,143 +55236,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(walmajarri) => [
- q(7141),
+ q(7187),
q(0),
],
q(walser) => [
- q(7025),
+ q(7068),
q(0),
],
q(walungge) => [
- q(5219),
+ q(5251),
q(0),
],
q(wamas) => [
- q(7132),
+ q(7178),
q(0),
],
q(wambaya) => [
- q(7131),
+ q(7177),
q(0),
],
q(wambon) => [
- q(7140),
+ q(7186),
q(0),
],
q(wambule) => [
- q(7134),
+ q(7180),
q(0),
],
q(wamey) => [
- q(1825),
+ q(1829),
q(0),
],
q(wamin) => [
- q(7136),
+ q(7182),
q(0),
],
q(wampanoag) => [
- q(7031),
+ q(7074),
q(0),
],
q(wampar) => [
- q(3806),
+ q(3830),
q(0),
],
q(wampur) => [
- q(7042),
+ q(7085),
q(0),
],
q(wan) => [
- q(7032),
+ q(7075),
q(0),
],
q(wanambre) => [
- q(7144),
+ q(7190),
q(0),
],
q(wanap) => [
- q(7153),
+ q(7200),
q(0),
],
q(wanbasana) => [
q(0764),
- q(0),
+ q(1),
],
q(wancho naga) => [
- q(4983),
+ q(5011),
q(0),
],
q(wanda) => [
- q(7046),
+ q(7089),
q(0),
],
q(wandala) => [
- q(4208),
+ q(4240),
q(0),
],
q(wandamen) => [
- q(7024),
+ q(7067),
q(0),
],
q(wandarang) => [
- q(7146),
+ q(7192),
q(0),
],
q(wandji) => [
- q(7060),
+ q(7103),
q(0),
],
q(wane) => [
- q(2862),
+ q(2883),
q(0),
],
q(waneci) => [
- q(7147),
+ q(7193),
q(0),
],
q(wanga) => [
- q(4075),
+ q(4107),
q(0),
],
q(wangaaybuwan-ngiyambaa) => [
- q(7225),
+ q(7275),
q(0),
],
q(wanggamala) => [
- q(7151),
+ q(7197),
q(0),
],
q(wangganguru) => [
- q(7080),
+ q(7126),
q(0),
],
q(wanggom) => [
- q(7148),
+ q(7194),
+ q(0),
+ ],
+ q(wangkayutyuru) => [
+ q(7159),
+ q(0),
+ ],
+ q(wangkumara) => [
+ q(7561),
q(0),
],
q(wanman) => [
- q(7055),
+ q(7098),
q(0),
],
q(wannu) => [
- q(3125),
+ q(3149),
q(0),
],
q(wano) => [
- q(7152),
+ q(7199),
q(0),
],
q(wantoat) => [
- q(7145),
+ q(7191),
q(0),
],
q(wanukaka) => [
- q(7150),
+ q(7196),
q(0),
],
q(wanyi) => [
- q(7155),
+ q(7203),
q(0),
],
q(waorani) => [
@@ -54718,19 +55388,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(wapan) => [
- q(3130),
+ q(3154),
q(0),
],
q(wapha) => [
- q(3140),
+ q(3164),
q(0),
],
q(wapishana) => [
- q(7034),
+ q(7077),
q(0),
],
q(wappo) => [
- q(7033),
+ q(7076),
q(0),
],
q(war-jaintia) => [
@@ -54738,15 +55408,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(wara) => [
- q(6381),
+ q(6420),
q(0),
],
q(warao) => [
- q(7043),
+ q(7086),
q(0),
],
q(warapu) => [
- q(7173),
+ q(7221),
q(0),
],
q(waray) => [
@@ -54754,7 +55424,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(waray (australia)) => [
- q(7192),
+ q(7240),
q(0),
],
q(waray (philippines)) => [
@@ -54762,95 +55432,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(wardaman) => [
- q(7185),
+ q(7233),
+ q(0),
+ ],
+ q(wardandi) => [
+ q(7273),
q(0),
],
q(warduji) => [
- q(7175),
+ q(7223),
q(0),
],
q(warembori) => [
- q(7193),
+ q(7241),
q(0),
],
q(wares) => [
- q(7029),
+ q(7072),
q(0),
],
q(waris) => [
- q(7186),
+ q(7234),
q(0),
],
q(waritai) => [
- q(7045),
+ q(7088),
q(0),
],
q(wariyangga) => [
- q(7178),
+ q(7226),
q(0),
],
q(warji) => [
- q(7107),
+ q(7152),
q(0),
],
q(warkay-bipim) => [
- q(1182),
+ q(1183),
q(0),
],
q(warlmanpa) => [
- q(7180),
+ q(7228),
q(0),
],
q(warlpiri) => [
- q(7052),
+ q(7095),
q(0),
],
q(warluwara) => [
- q(7174),
+ q(7222),
q(0),
],
q(warnang) => [
- q(7182),
+ q(7230),
q(0),
],
q(waropen) => [
- q(7184),
+ q(7232),
q(0),
],
q(warrgamay) => [
- q(7084),
+ q(7130),
q(0),
],
q(warrwa) => [
- q(7221),
+ q(7270),
q(0),
],
q(waru) => [
- q(7187),
+ q(7235),
q(0),
],
q(warumungu) => [
- q(7181),
+ q(7229),
q(0),
],
q(waruna) => [
- q(7188),
+ q(7236),
q(0),
],
q(warungu) => [
- q(7176),
+ q(7224),
+ q(0),
+ ],
+ q(warwar feni) => [
+ q(2843),
q(0),
],
q(wasa) => [
- q(7197),
+ q(7245),
q(0),
],
q(wasco-wishram) => [
- q(7023),
+ q(7066),
q(0),
],
q(wasembo) => [
- q(2623),
+ q(2640),
q(0),
],
q(washo) => [
@@ -54858,103 +55536,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(waskia) => [
- q(7195),
+ q(7243),
q(0),
],
q(wasu) => [
- q(7198),
+ q(7246),
q(0),
],
q(watakataui) => [
- q(7202),
+ q(7251),
q(0),
],
q(watam) => [
- q(7040),
+ q(7083),
+ q(0),
+ ],
+ q(wathawurrung) => [
+ q(7249),
q(0),
],
q(watiwa) => [
- q(7200),
+ q(7248),
q(0),
],
q(watubela) => [
- q(7028),
+ q(7071),
q(0),
],
q(waube) => [
- q(3493),
+ q(3517),
q(0),
],
q(waura) => [
- q(7037),
+ q(7080),
q(0),
],
q(wauyai) => [
- q(7217),
+ q(7266),
q(0),
],
q(wawa) => [
- q(7222),
+ q(7271),
q(0),
],
q(wawonii) => [
- q(7170),
+ q(7218),
q(0),
],
q(waxianghua) => [
- q(7223),
+ q(7272),
q(0),
],
q(wayampi) => [
- q(5318),
+ q(5351),
q(0),
],
q(wayana) => [
- q(7041),
+ q(7084),
q(0),
],
q(wayanad chetti) => [
- q(1898),
+ q(1904),
q(0),
],
q(wayoro) => [
- q(7227),
+ q(7278),
q(0),
],
q(wayu) => [
- q(6950),
+ q(6993),
q(0),
],
q(wayuu) => [
- q(2629),
+ q(2647),
q(0),
],
q(we northern) => [
- q(7157),
+ q(7205),
q(0),
],
q(we southern) => [
- q(2679),
+ q(2697),
q(0),
],
q(we western) => [
- q(7065),
+ q(7110),
q(0),
],
q(wedau) => [
- q(7066),
+ q(7111),
q(0),
],
q(weh) => [
- q(7067),
+ q(7113),
q(0),
],
q(wejewa) => [
- q(7076),
+ q(7122),
q(0),
],
q(weliki) => [
- q(3413),
+ q(3437),
q(0),
],
q(welsh) => [
@@ -54962,51 +55644,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(welsh romani) => [
- q(5798),
+ q(5833),
q(0),
],
q(wemale) => [
- q(7070),
+ q(7116),
+ q(0),
+ ],
+ q(wemba wemba) => [
+ q(7566),
q(0),
],
q(weme gbe) => [
- q(7069),
+ q(7115),
+ q(0),
+ ],
+ q(wergaia) => [
+ q(7112),
q(0),
],
q(weri) => [
- q(7072),
+ q(7118),
q(0),
],
q(wersing) => [
- q(3667),
+ q(3691),
q(0),
],
q(west albay bikol) => [
- q(2330),
+ q(2342),
q(0),
],
q(west ambae) => [
- q(4972),
+ q(5000),
q(0),
],
q(west berawan) => [
- q(7743),
+ q(7841),
q(0),
],
q(west central banda) => [
- q(1054),
+ q(1055),
q(0),
],
q(west central oromo) => [
- q(2411),
+ q(2423),
q(0),
],
q(west coast bajau) => [
- q(1107),
+ q(1108),
q(0),
],
q(west damar) => [
- q(2137),
+ q(2145),
q(0),
],
q(west germanic languages) => [
@@ -55014,23 +55704,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(west goodenough) => [
- q(1981),
+ q(1986),
q(0),
],
q(west kewa) => [
- q(3257),
+ q(3281),
q(0),
],
q(west lembata) => [
- q(3960),
+ q(3991),
q(0),
],
q(west makian) => [
- q(4476),
+ q(4506),
q(0),
],
q(west masela) => [
- q(4526),
+ q(4556),
q(0),
],
q(west slavic languages) => [
@@ -55038,19 +55728,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(west tarangan) => [
- q(6789),
+ q(6828),
q(0),
],
q(west uvean) => [
- q(6928),
+ q(6971),
q(0),
],
q(west yugur) => [
- q(7520),
+ q(7608),
q(0),
],
q(west-central limba) => [
- q(3889),
+ q(3915),
q(0),
],
q(western abnaki) => [
@@ -55066,39 +55756,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(western balochi) => [
- q(1174),
+ q(1175),
q(0),
],
q(western bolivian guarani) => [
- q(2568),
+ q(2585),
q(0),
],
q(western bru) => [
- q(1443),
+ q(1445),
q(0),
],
q(western bukidnon manobo) => [
- q(4103),
+ q(4136),
q(0),
],
q(western canadian inuktitut) => [
- q(2926),
- q(0),
+ q(2949),
+ q(1),
],
q(western cham) => [
- q(1744),
+ q(1747),
q(0),
],
q(western dani) => [
- q(2107),
+ q(2115),
q(0),
],
q(western durango nahuatl) => [
- q(1019),
+ q(1020),
q(0),
],
q(western fijian) => [
- q(7228),
+ q(7279),
q(0),
],
q(western frisian) => [
@@ -55106,59 +55796,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(western gurung) => [
- q(2661),
+ q(2679),
q(0),
],
q(western highland chatino) => [
- q(1896),
+ q(1902),
q(0),
],
q(western highland purepecha) => [
- q(5615),
+ q(5648),
q(0),
],
q(western huasteca nahuatl) => [
- q(4861),
+ q(4888),
q(0),
],
q(western juxtlahuaca mixtec) => [
- q(3104),
+ q(3128),
q(0),
],
q(western kanjobal) => [
- q(3465),
+ q(3489),
q(0),
],
q(western karaboro) => [
- q(3748),
+ q(3772),
q(0),
],
q(western katu) => [
- q(3628),
+ q(3652),
q(0),
],
q(western kayah) => [
- q(3742),
+ q(3766),
q(0),
],
q(western keres) => [
- q(3372),
+ q(3396),
q(0),
],
q(western krahn) => [
- q(3568),
+ q(3592),
q(0),
],
q(western lalu) => [
- q(7703),
+ q(7796),
q(0),
],
q(western lawa) => [
- q(3823),
+ q(3847),
q(0),
],
q(western magar) => [
- q(4487),
+ q(4517),
q(0),
],
q(western malayo-polynesian languages) => [
@@ -55166,27 +55856,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(western maninkakan) => [
- q(4359),
+ q(4390),
q(0),
],
q(western mari) => [
- q(4492),
+ q(4522),
q(0),
],
q(western mashan hmong) => [
- q(2782),
+ q(2800),
q(0),
],
q(western mashan miao) => [
- q(2782),
- q(0),
+ q(2800),
+ q(1),
],
q(western meohang) => [
- q(5714),
+ q(5748),
q(0),
],
q(western muria) => [
- q(4573),
+ q(4603),
q(0),
],
q(western neo-aramaic) => [
@@ -55194,199 +55884,203 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(western niger fulfulde) => [
- q(2376),
+ q(2388),
q(0),
],
q(western ojibwa) => [
- q(5200),
+ q(5232),
q(0),
],
q(western pahari languages) => [
q(0176),
- q(0),
+ q(1),
],
q(western panjabi) => [
- q(5507),
+ q(5539),
q(0),
],
q(western parbate kham) => [
- q(3367),
+ q(3391),
q(0),
],
q(western penan) => [
- q(5509),
+ q(5541),
q(0),
],
q(western sisaala) => [
- q(6211),
+ q(6248),
q(0),
],
q(western subanon) => [
- q(6249),
+ q(6287),
q(0),
],
q(western tamang) => [
- q(6402),
+ q(6441),
q(0),
],
q(western tawbuid) => [
- q(6762),
+ q(6801),
q(0),
],
q(western totonac) => [
- q(6653),
+ q(6692),
q(0),
],
q(western tunebo) => [
- q(6580),
+ q(6619),
q(0),
],
q(western xiangxi miao) => [
- q(4384),
+ q(4415),
q(0),
],
q(western xwla gbe) => [
- q(7482),
+ q(7562),
q(0),
],
q(western yiddish) => [
- q(7563),
+ q(7654),
q(0),
],
q(westphalien) => [
- q(7071),
+ q(7117),
q(0),
],
q(wetamut) => [
- q(7220),
+ q(7269),
q(0),
],
q(wewaw) => [
- q(7064),
+ q(7109),
q(0),
],
q(weyto) => [
- q(7171),
+ q(7219),
q(0),
],
q(white gelao) => [
- q(2517),
+ q(2531),
q(0),
],
q(white lachi) => [
- q(4076),
+ q(4108),
q(0),
],
q(whitesands) => [
- q(6592),
+ q(6631),
q(0),
],
q(wiarumus) => [
- q(6729),
+ q(6768),
q(0),
],
q(wichi lhamtes guisnay) => [
- q(4681),
+ q(4709),
q(0),
],
q(wichi lhamtes nocten) => [
- q(4548),
+ q(4578),
q(0),
],
q(wichi lhamtes vejoz) => [
- q(7126),
+ q(7172),
q(0),
],
q(wichita) => [
- q(7090),
+ q(7136),
q(0),
],
q(wik-epa) => [
- q(7091),
+ q(7137),
q(0),
],
q(wik-iiyanh) => [
- q(7096),
+ q(7142),
q(0),
],
q(wik-keyangan) => [
- q(7092),
+ q(7138),
q(0),
],
q(wik-me'anha) => [
- q(7094),
+ q(7140),
q(0),
],
q(wik-mungkan) => [
- q(7099),
+ q(7145),
q(0),
],
q(wik-ngathana) => [
- q(7093),
+ q(7139),
q(0),
],
q(wikalkan) => [
- q(7097),
+ q(7143),
q(0),
],
q(wikngenchera) => [
- q(7205),
+ q(7254),
q(0),
],
q(wilawila) => [
- q(7098),
+ q(7144),
q(0),
],
q(wintu) => [
- q(7102),
+ q(7202),
q(0),
],
q(winye) => [
- q(3591),
+ q(3615),
q(0),
],
q(wipi) => [
- q(2458),
+ q(2471),
q(0),
],
q(wiradhuri) => [
- q(7177),
+ q(7225),
q(0),
],
q(wirafed) => [
- q(7101),
+ q(7147),
q(0),
],
q(wirangu) => [
- q(7083),
+ q(7129),
q(0),
],
q(wiru) => [
- q(7103),
+ q(7148),
q(0),
],
q(wiyot) => [
- q(7105),
+ q(7150),
q(0),
],
q(woccon) => [
- q(7479),
+ q(7556),
q(0),
],
q(wogamusin) => [
- q(7162),
+ q(7210),
q(0),
],
q(wogeo) => [
- q(7158),
+ q(7206),
q(0),
],
q(woi) => [
- q(7057),
+ q(7100),
+ q(0),
+ ],
+ q(woiwurrung) => [
+ q(7276),
q(0),
],
q(wojenaka) => [
- q(3113),
+ q(3137),
q(0),
],
q(wolaitta) => [
@@ -55394,11 +56088,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(2),
],
q(wolane) => [
- q(7116),
+ q(7162),
q(0),
],
q(wolani) => [
- q(7159),
+ q(7207),
q(0),
],
q(wolaytta) => [
@@ -55406,11 +56100,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(1),
],
q(woleaian) => [
- q(7160),
+ q(7208),
q(0),
],
q(wolio) => [
- q(7122),
+ q(7168),
q(0),
],
q(wolof) => [
@@ -55418,155 +56112,163 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(wom (nigeria)) => [
- q(7165),
+ q(7213),
q(0),
],
q(wom (papua new guinea)) => [
- q(7139),
+ q(7185),
q(0),
],
q(womo) => [
- q(7143),
+ q(7189),
q(0),
],
q(wongo) => [
- q(7166),
+ q(7214),
q(0),
],
q(woods cree) => [
- q(1924),
+ q(1930),
q(0),
],
q(woria) => [
- q(7168),
+ q(7216),
q(0),
],
q(worimi) => [
- q(3213),
+ q(3237),
q(0),
],
q(worodougou) => [
- q(3127),
+ q(3151),
q(0),
],
q(worrorra) => [
- q(7183),
+ q(7231),
q(0),
],
q(wotapuri-katarqalai) => [
- q(7199),
+ q(7247),
+ q(0),
+ ],
+ q(wotjobaluk) => [
+ q(7565),
q(0),
],
q(wotu) => [
- q(7204),
+ q(7253),
q(0),
],
q(woun meu) => [
- q(4994),
+ q(5022),
q(0),
],
q(written oirat) => [
- q(7483),
+ q(7563),
q(0),
],
q(wu chinese) => [
- q(7214),
+ q(7263),
q(0),
],
q(wuding-luquan yi) => [
- q(7705),
+ q(7798),
q(0),
],
q(wudu) => [
- q(7207),
+ q(7256),
q(0),
],
q(wuliwuli) => [
- q(7125),
+ q(7171),
q(0),
],
q(wulna) => [
- q(7216),
+ q(7265),
q(0),
],
q(wumboko) => [
- q(1410),
+ q(1412),
q(0),
],
q(wumbvu) => [
- q(7210),
+ q(7259),
q(0),
],
q(wumeng nasu) => [
- q(7708),
+ q(7801),
q(0),
],
q(wunai bunu) => [
- q(1555),
+ q(1558),
q(0),
],
q(wunambal) => [
- q(7206),
+ q(7255),
+ q(0),
+ ],
+ q(wunumara) => [
+ q(7198),
q(0),
],
q(wurrugu) => [
- q(7212),
+ q(7261),
q(0),
],
q(wusa nasu) => [
- q(7562),
+ q(7653),
q(0),
],
q(wushi) => [
- q(1451),
+ q(1453),
q(0),
],
q(wusi) => [
- q(7194),
+ q(7242),
q(0),
],
q(wutung) => [
- q(7213),
+ q(7262),
q(0),
],
q(wutunhua) => [
- q(7208),
+ q(7257),
q(0),
],
q(wuvulu-aua) => [
- q(7215),
+ q(7264),
q(0),
],
q(wuzlam) => [
- q(6833),
+ q(6873),
q(0),
],
q(wyandot) => [
- q(7224),
+ q(7274),
q(0),
],
q(wymysorys) => [
- q(7226),
+ q(7277),
q(0),
],
q(xaasongaxango) => [
- q(3156),
+ q(3180),
q(0),
],
q(xadani zapotec) => [
- q(7737),
+ q(7835),
q(0),
],
q(xakriaba) => [
- q(7326),
+ q(7391),
q(0),
],
q(xamtanga) => [
- q(7237),
+ q(7288),
q(0),
],
q(xanaguia zapotec) => [
- q(7865),
+ q(7963),
q(0),
],
q(xaracuu) => [
@@ -55574,43 +56276,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(xaragure) => [
- q(0992),
+ q(0993),
q(0),
],
q(xavante) => [
- q(7245),
+ q(7296),
q(0),
],
q(xerente) => [
- q(7282),
+ q(7341),
q(0),
],
q(xeta) => [
- q(7284),
+ q(7343),
q(0),
],
q(xhosa) => [
q(0471),
q(0),
],
- q(xiandao) => [
- q(7301),
- q(0),
- ],
q(xiang chinese) => [
- q(2827),
+ q(2848),
q(0),
],
q(xibe) => [
- q(6036),
+ q(6073),
q(0),
],
q(xicotepec de juarez totonac) => [
- q(6613),
+ q(6652),
q(0),
],
q(xinca) => [
- q(7305),
+ q(7368),
q(0),
],
q(xingu asurini) => [
@@ -55618,111 +56316,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(xipaya) => [
- q(7309),
+ q(7372),
q(0),
],
q(xipinawa) => [
- q(7306),
+ q(7369),
q(0),
],
q(xiri) => [
- q(7303),
+ q(7366),
q(0),
],
q(xiriana) => [
- q(7307),
+ q(7370),
q(0),
],
q(xishanba lalo) => [
- q(7707),
+ q(7800),
q(0),
],
q(xokleng) => [
- q(7387),
+ q(7456),
q(0),
],
q(xukuru) => [
- q(7390),
+ q(7459),
q(0),
],
q(xwela gbe) => [
- q(7480),
+ q(7558),
q(0),
],
q(yaaku) => [
- q(4574),
+ q(4604),
q(0),
],
q(yabaana) => [
- q(7527),
+ q(7615),
q(0),
],
q(yabarana) => [
- q(7509),
+ q(7597),
q(0),
],
q(yabem) => [
- q(3024),
+ q(3047),
q(0),
],
q(yaben) => [
- q(7526),
+ q(7614),
q(0),
],
q(yabong) => [
- q(7528),
+ q(7616),
q(0),
],
q(yabula yabula) => [
- q(7711),
+ q(7808),
q(0),
],
q(yace) => [
- q(2235),
+ q(2246),
q(0),
],
q(yaeyama) => [
- q(5854),
+ q(5891),
q(0),
],
q(yafi) => [
- q(7077),
+ q(7123),
q(0),
],
q(yagara) => [
- q(7710),
+ q(7804),
q(0),
],
q(yagaria) => [
- q(7556),
+ q(7646),
q(0),
],
q(yagnobi) => [
- q(7502),
+ q(7590),
q(0),
],
q(yagomi) => [
- q(7554),
+ q(7644),
q(0),
],
q(yagua) => [
- q(7497),
+ q(7585),
q(0),
],
q(yagwoia) => [
- q(7557),
+ q(7648),
q(0),
],
q(yahadian) => [
- q(4804),
+ q(4831),
q(0),
],
q(yahang) => [
- q(5759),
+ q(5793),
q(0),
],
q(yahuna) => [
- q(7634),
+ q(7724),
q(0),
],
q(yaka (central african republic)) => [
@@ -55730,31 +56428,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yaka (congo)) => [
- q(3016),
+ q(3039),
q(0),
],
q(yaka (democratic republic of congo)) => [
- q(7499),
+ q(7587),
q(0),
],
q(yakaikeke) => [
- q(7583),
+ q(7673),
q(0),
],
q(yakama) => [
- q(7504),
+ q(7592),
q(0),
],
q(yakan) => [
- q(7580),
+ q(7670),
q(0),
],
q(yakha) => [
- q(7521),
+ q(7609),
q(0),
],
q(yakoma) => [
- q(7591),
+ q(7681),
q(0),
],
q(yakut) => [
@@ -55762,103 +56460,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yala) => [
- q(7518),
+ q(7606),
q(0),
],
q(yalahatan) => [
- q(3029),
+ q(3052),
q(0),
],
q(yalakalore) => [
- q(7489),
+ q(7576),
q(0),
],
q(yalalag zapotec) => [
- q(7845),
+ q(7943),
q(0),
],
q(yalarnnga) => [
- q(7601),
+ q(7691),
q(0),
],
q(yale) => [
- q(4748),
+ q(4775),
q(0),
],
q(yaleba) => [
- q(7593),
+ q(7683),
q(0),
],
q(yalunka) => [
- q(7505),
+ q(7593),
q(0),
],
q(yamana) => [
- q(7500),
+ q(7588),
q(0),
],
q(yamap) => [
- q(7616),
+ q(7706),
q(0),
],
q(yamba) => [
- q(7506),
+ q(7594),
q(0),
],
q(yambes) => [
- q(7604),
+ q(7694),
q(0),
],
q(yambeta) => [
- q(7511),
+ q(7599),
q(0),
],
q(yamdena) => [
- q(3097),
+ q(3121),
q(0),
],
q(yameo) => [
- q(7607),
+ q(7697),
q(0),
],
q(yami) => [
- q(6337),
+ q(6376),
q(0),
],
q(yaminahua) => [
- q(7494),
+ q(7582),
q(0),
],
q(yamna) => [
- q(7614),
+ q(7704),
q(0),
],
q(yamongeri) => [
- q(7608),
+ q(7698),
q(0),
],
q(yamphu) => [
- q(7522),
+ q(7610),
q(0),
],
q(yan-nhangu) => [
- q(3038),
+ q(3061),
q(0),
],
q(yana) => [
- q(7630),
+ q(7720),
q(0),
],
q(yanahuanca pasco quechua) => [
- q(5667),
+ q(5701),
+ q(0),
+ ],
+ q(yanda) => [
+ q(7623),
q(0),
],
q(yanda dom dogon) => [
- q(2199),
+ q(2207),
+ q(0),
+ ],
+ q(yandjibara) => [
+ q(7573),
q(0),
],
q(yandruwandha) => [
- q(7624),
+ q(7714),
q(0),
],
q(yanesha') => [
@@ -55866,63 +56572,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yang zhuang) => [
- q(7882),
+ q(7980),
q(0),
],
q(yangben) => [
- q(7513),
+ q(7601),
q(0),
],
q(yangho) => [
- q(7627),
+ q(7717),
q(0),
],
q(yangkam) => [
- q(1470),
+ q(1472),
q(0),
],
q(yangman) => [
- q(3107),
+ q(3131),
q(0),
],
q(yango) => [
- q(7626),
+ q(7716),
q(0),
],
q(yangulam) => [
- q(7629),
+ q(7719),
q(0),
],
q(yangum dey) => [
- q(7536),
+ q(7625),
q(0),
],
q(yangum gel) => [
- q(7553),
+ q(7643),
q(0),
],
q(yangum mon) => [
- q(7615),
+ q(7705),
q(0),
],
q(yankunytjatjara) => [
- q(3215),
+ q(3239),
q(0),
],
q(yanomami) => [
- q(7058),
+ q(7101),
q(0),
],
q(yanomamo) => [
- q(2646),
+ q(2664),
q(0),
],
q(yansi) => [
- q(7633),
+ q(7723),
q(0),
],
q(yanyuwa) => [
- q(3032),
+ q(3055),
q(0),
],
q(yao) => [
@@ -55934,7 +56640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yaoure) => [
- q(7657),
+ q(7746),
q(0),
],
q(yapese) => [
@@ -55942,203 +56648,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yapunda) => [
- q(7550),
+ q(7639),
q(0),
],
q(yaqay) => [
- q(3033),
+ q(3056),
q(0),
],
q(yaqui) => [
- q(7508),
+ q(7596),
q(0),
],
q(yarawata) => [
- q(7663),
+ q(7753),
+ q(0),
+ ],
+ q(yardliyawarra) => [
+ q(7805),
q(0),
],
q(yareba) => [
- q(7656),
+ q(7745),
q(0),
],
q(yareni zapotec) => [
- q(7720),
+ q(7818),
q(0),
],
q(yari) => [
- q(7658),
+ q(7747),
+ q(0),
+ ],
+ q(yarluyandi) => [
+ q(7754),
q(0),
],
q(yarsun) => [
- q(7662),
+ q(7752),
q(0),
],
q(yasa) => [
- q(7587),
+ q(7677),
q(0),
],
q(yassic) => [
- q(7664),
+ q(7755),
+ q(0),
+ ],
+ q(yatay) => [
+ q(7769),
q(0),
],
q(yatee zapotec) => [
- q(7875),
+ q(7973),
q(0),
],
q(yatzachi zapotec) => [
- q(7735),
+ q(7833),
q(0),
],
q(yau (morobe province)) => [
- q(7696),
+ q(7788),
q(0),
],
q(yau (sandaun province)) => [
- q(7712),
+ q(7810),
q(0),
],
q(yaul) => [
- q(7592),
+ q(7682),
q(0),
],
q(yauma) => [
- q(7515),
+ q(7603),
q(0),
],
q(yaur) => [
- q(3036),
+ q(3059),
q(0),
],
q(yautepec zapotec) => [
- q(7826),
+ q(7924),
q(0),
],
q(yauyos quechua) => [
- q(5671),
+ q(5705),
q(0),
],
q(yavitero) => [
- q(7701),
+ q(7793),
q(0),
],
q(yawa) => [
- q(7700),
+ q(7792),
q(0),
],
q(yawalapiti) => [
- q(7514),
+ q(7602),
q(0),
],
q(yawanawa) => [
- q(7704),
+ q(7797),
q(0),
],
q(yawarawarga) => [
- q(7709),
+ q(7802),
q(0),
],
q(yaweyuha) => [
- q(7530),
+ q(7618),
q(0),
],
q(yawijibaya) => [
- q(3047),
+ q(3071),
q(0),
],
q(yawiyo) => [
- q(7529),
+ q(7617),
q(0),
],
q(yawuru) => [
- q(7706),
+ q(7799),
+ q(0),
+ ],
+ q(yaygir) => [
+ q(7572),
q(0),
],
q(yazgulyam) => [
- q(7501),
+ q(7589),
q(0),
],
q(yecuatla totonac) => [
- q(6536),
+ q(6575),
q(0),
],
q(yei) => [
- q(3057),
+ q(3081),
q(0),
],
q(yekhee) => [
- q(2301),
+ q(2312),
q(0),
],
q(yekora) => [
- q(7588),
+ q(7678),
q(0),
],
q(yela) => [
- q(7545),
+ q(7634),
q(0),
],
q(yele) => [
- q(7594),
+ q(7684),
q(0),
],
q(yelmek) => [
- q(3059),
+ q(3083),
q(0),
],
q(yelogu) => [
- q(7595),
+ q(7685),
q(0),
],
q(yemba) => [
- q(7519),
+ q(7607),
q(0),
],
q(yemsa) => [
- q(3109),
+ q(3133),
q(0),
],
q(yendang) => [
- q(7632),
+ q(7722),
q(0),
],
q(yeni) => [
- q(7543),
+ q(7632),
q(0),
],
q(yeniche) => [
- q(7541),
+ q(7630),
q(0),
],
q(yerakai) => [
- q(7655),
+ q(7744),
q(0),
],
q(yeretuar) => [
- q(2583),
+ q(2600),
q(0),
],
q(yerong) => [
- q(7661),
+ q(7751),
q(0),
],
q(yerukula) => [
- q(7549),
+ q(7638),
q(0),
],
q(yessan-mayo) => [
- q(7672),
+ q(7763),
q(0),
],
q(yetfa) => [
- q(7548),
+ q(7637),
q(0),
],
q(yevanic) => [
- q(7544),
+ q(7633),
q(0),
],
q(yeyi) => [
- q(7551),
+ q(7640),
q(0),
],
q(yiddish) => [
@@ -56146,255 +56868,279 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yiddish sign language) => [
- q(7539),
+ q(7628),
q(0),
],
q(yidgha) => [
- q(7537),
+ q(7626),
q(0),
],
q(yidiny) => [
- q(7564),
+ q(7655),
q(0),
],
q(yil) => [
- q(7597),
+ q(7687),
q(0),
],
q(yimas) => [
- q(7542),
+ q(7631),
q(0),
],
q(yimchungru naga) => [
- q(7568),
+ q(7659),
q(0),
],
q(yinbaw karen) => [
- q(3665),
+ q(3689),
q(0),
],
q(yinchia) => [
- q(7569),
+ q(7660),
q(0),
],
q(yindjibarndi) => [
- q(7565),
+ q(7656),
q(0),
],
q(yindjilandji) => [
- q(7567),
+ q(7658),
q(0),
],
q(yine) => [
- q(5425),
+ q(5457),
q(0),
],
q(yinggarda) => [
- q(7561),
+ q(7652),
q(0),
],
- q(yintale) => [
- q(3669),
+ q(yinhawangka) => [
+ q(7795),
+ q(0),
+ ],
+ q(yiningayi) => [
+ q(7642),
q(0),
],
+ q(yintale) => [
+ q(3693),
+ q(1),
+ ],
q(yintale karen) => [
- q(3669),
+ q(3693),
q(0),
],
- q(yipma) => [
- q(1607),
+ q(yinwum) => [
+ q(7806),
q(0),
],
+ q(yipma) => [
+ q(1610),
+ q(1),
+ ],
q(yir yoront) => [
- q(7578),
+ q(7809),
+ q(0),
+ ],
+ q(yirandali) => [
+ q(3943),
+ q(0),
+ ],
+ q(yirrk-mel) => [
+ q(7750),
q(0),
],
q(yis) => [
- q(7573),
+ q(7664),
+ q(0),
+ ],
+ q(yitha yitha) => [
+ q(7520),
q(0),
],
q(yiwom) => [
- q(2470),
+ q(2484),
q(0),
],
q(yoba) => [
- q(7635),
+ q(7725),
q(0),
],
q(yocoboue dida) => [
- q(2630),
+ q(2648),
q(0),
],
q(yogad) => [
- q(7636),
+ q(7726),
q(0),
],
q(yoidik) => [
- q(7538),
+ q(7627),
q(0),
],
q(yoke) => [
- q(7582),
+ q(7672),
q(0),
],
q(yokuts) => [
- q(7638),
+ q(7728),
q(0),
],
q(yola) => [
- q(7639),
+ q(7729),
q(0),
],
q(yoloxochitl mixtec) => [
- q(7459),
+ q(7535),
q(0),
],
q(yom) => [
- q(5434),
+ q(5466),
q(0),
],
q(yombe) => [
- q(7640),
+ q(7730),
q(0),
],
q(yonaguni) => [
- q(7637),
+ q(7727),
q(0),
],
q(yong) => [
- q(7631),
+ q(7721),
q(0),
],
q(yongbei zhuang) => [
- q(7881),
+ q(7979),
q(0),
],
q(yongkom) => [
- q(7641),
+ q(7731),
q(0),
],
q(yongnan zhuang) => [
- q(7884),
+ q(7982),
q(0),
],
q(yopno) => [
- q(7694),
+ q(7786),
q(0),
],
q(yora) => [
- q(4551),
+ q(4581),
q(0),
],
q(yoron) => [
- q(7644),
+ q(7733),
q(0),
],
q(yorta yorta) => [
- q(7490),
+ q(7578),
q(0),
],
q(yoruba) => [
q(0475),
q(0),
],
- q(yos) => [
- q(7642),
- q(0),
- ],
q(yosondua mixtec) => [
- q(4445),
+ q(4475),
q(0),
],
q(yotti) => [
- q(7643),
+ q(7732),
q(0),
],
q(youjiang zhuang) => [
- q(7883),
+ q(7981),
q(0),
],
q(youle jinuo) => [
- q(3083),
+ q(3107),
q(0),
],
q(younuo bunu) => [
- q(1501),
+ q(1503),
q(0),
],
q(yout wam) => [
- q(7677),
+ q(7768),
q(0),
],
q(yoy) => [
- q(7645),
+ q(7734),
q(0),
],
- q(yuaga) => [
- q(5081),
+ q(yuanga) => [
+ q(5113),
q(0),
],
q(yucatec maya) => [
- q(7678),
- q(0),
+ q(7770),
+ q(1),
],
q(yucatec maya sign language) => [
- q(4511),
+ q(4541),
q(0),
],
q(yucateco) => [
- q(7678),
+ q(7770),
q(0),
],
q(yuchi) => [
- q(7680),
+ q(7772),
q(0),
],
q(yucuane mixtec) => [
- q(4584),
+ q(4614),
q(0),
],
q(yucuna) => [
- q(7533),
+ q(7621),
q(0),
],
q(yue chinese) => [
- q(7682),
+ q(7774),
q(0),
],
q(yug) => [
- q(7684),
+ q(7776),
q(0),
],
q(yugambal) => [
- q(7679),
+ q(7771),
q(0),
],
q(yugh) => [
- q(7695),
+ q(7787),
q(0),
],
q(yugoslavian sign language) => [
- q(7667),
+ q(7758),
+ q(0),
+ ],
+ q(yugul) => [
+ q(7647),
q(0),
],
q(yuhup) => [
- q(7495),
+ q(7583),
q(0),
],
q(yuki) => [
- q(7687),
+ q(7779),
q(0),
],
q(yukpa) => [
- q(7691),
+ q(7783),
q(0),
],
q(yukuben) => [
- q(7525),
+ q(7613),
q(0),
],
q(yulu) => [
- q(7688),
+ q(7780),
q(0),
],
q(yupik languages) => [
@@ -56402,47 +57148,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(yuqui) => [
- q(7692),
+ q(7784),
q(0),
],
q(yuracare) => [
- q(7699),
+ q(7791),
q(0),
],
q(yurok) => [
- q(7693),
+ q(7785),
+ q(0),
+ ],
+ q(yuru) => [
+ q(3944),
q(0),
],
q(yuruti) => [
- q(7685),
+ q(7777),
q(0),
],
q(yutanduchi mixtec) => [
- q(4090),
+ q(4123),
q(0),
],
q(yuwana) => [
- q(7512),
+ q(7600),
+ q(0),
+ ],
+ q(yuyu) => [
+ q(7807),
q(0),
],
q(zaachila zapotec) => [
- q(7874),
+ q(7972),
q(0),
],
q(zabana) => [
- q(3364),
+ q(3388),
q(0),
],
q(zacatepec chatino) => [
- q(1900),
+ q(1906),
q(0),
],
q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [
- q(4850),
+ q(4877),
q(0),
],
q(zaghawa) => [
- q(7722),
+ q(7820),
q(0),
],
q(zaiwa) => [
@@ -56450,23 +57204,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zakhring) => [
- q(7778),
+ q(7876),
q(0),
],
q(zambian sign language) => [
- q(7860),
+ q(7958),
q(0),
],
q(zan gula) => [
- q(7813),
+ q(7911),
q(0),
],
q(zanaki) => [
- q(7726),
+ q(7824),
q(0),
],
q(zande (individual language)) => [
- q(7814),
+ q(7912),
q(0),
],
q(zande languages) => [
@@ -56474,19 +57228,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zangskari) => [
- q(7734),
+ q(7832),
q(0),
],
q(zangwal) => [
- q(7723),
+ q(7821),
q(0),
],
q(zaniza zapotec) => [
- q(7847),
+ q(7945),
q(0),
],
q(zaparo) => [
- q(7855),
+ q(7953),
q(0),
],
q(zapotec) => [
@@ -56494,40 +57248,40 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zaramo) => [
- q(7725),
+ q(7823),
q(0),
],
q(zari) => [
- q(7739),
+ q(7837),
q(0),
],
q(zarma) => [
- q(2060),
+ q(2066),
q(0),
],
q(zarphatic) => [
- q(7856),
+ q(7954),
q(0),
],
q(zauzou) => [
- q(7727),
+ q(7825),
q(0),
],
q(zay) => [
- q(7880),
+ q(7978),
q(0),
],
q(zayein karen) => [
- q(3706),
+ q(3730),
q(0),
],
q(zayse-zergulla) => [
- q(7738),
+ q(7836),
q(0),
],
q(zaysete) => [
- q(7738),
- q(0),
+ q(7836),
+ q(1),
],
q(zaza) => [
q(0486),
@@ -56535,34 +57289,34 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
],
q(zazaki) => [
q(0486),
- q(0),
+ q(5),
],
q(zazao) => [
- q(3027),
+ q(3050),
q(0),
],
q(zeem) => [
- q(7876),
+ q(7974),
q(0),
],
q(zeeuws) => [
- q(7747),
+ q(7845),
q(0),
],
q(zemba) => [
- q(2025),
+ q(2030),
q(0),
],
q(zeme naga) => [
- q(5156),
+ q(5188),
q(0),
],
q(zemgalian) => [
- q(7492),
+ q(7580),
q(0),
],
q(zenag) => [
- q(7748),
+ q(7846),
q(0),
],
q(zenaga) => [
@@ -56570,27 +57324,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zenzontepec chatino) => [
- q(1933),
+ q(1939),
q(0),
],
q(zerenkel) => [
- q(7854),
+ q(7952),
q(0),
],
q(zhaba) => [
- q(7755),
+ q(7853),
q(0),
],
q(zhang-zhung) => [
- q(7491),
+ q(7579),
q(0),
],
q(zhire) => [
- q(7757),
+ q(7855),
q(0),
],
q(zhoa) => [
- q(7759),
+ q(7857),
q(0),
],
q(zhuang) => [
@@ -56598,75 +57352,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zia) => [
- q(7760),
+ q(7858),
q(0),
],
q(zialo) => [
- q(7763),
+ q(7861),
q(0),
],
q(zigula) => [
- q(7767),
+ q(7865),
q(0),
],
q(zimakani) => [
- q(7762),
+ q(7860),
q(0),
],
q(zimba) => [
- q(7788),
+ q(7886),
q(0),
],
q(zimbabwe sign language) => [
- q(7761),
+ q(7859),
q(0),
],
q(zinza) => [
- q(7765),
+ q(7863),
q(0),
],
q(zire) => [
- q(6011),
+ q(6048),
q(0),
],
q(ziriya) => [
- q(7766),
+ q(7864),
q(0),
],
q(zizilivakan) => [
- q(7768),
+ q(7866),
q(0),
],
q(zo'e) => [
- q(5607),
+ q(5640),
q(0),
],
q(zokhuo) => [
- q(7715),
+ q(7813),
q(0),
],
q(zoogocho zapotec) => [
- q(7841),
+ q(7939),
q(0),
],
q(zoroastrian dari) => [
- q(2433),
+ q(2446),
q(0),
],
q(zorop) => [
- q(7077),
- q(0),
+ q(7123),
+ q(1),
],
q(zotung chin) => [
- q(1935),
+ q(1941),
q(0),
],
q(zou) => [
- q(7820),
+ q(7918),
q(0),
],
q(zulgo-gemzek) => [
- q(2554),
+ q(2571),
q(0),
],
q(zulu) => [
@@ -56674,11 +57428,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zumaya) => [
- q(7879),
+ q(7977),
q(0),
],
q(zumbun) => [
- q(3095),
+ q(3119),
q(0),
],
q(zuni) => [
@@ -56686,11 +57440,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
q(0),
],
q(zuojiang zhuang) => [
- q(7886),
+ q(7984),
q(0),
],
- q(zyphe) => [
- q(7885),
+ q(zyphe chin) => [
+ q(7983),
q(0),
],
};
@@ -56831,7 +57585,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(dv) => [
q(0110),
- q(0),
+ q(1),
],
q(dz) => [
q(0118),
@@ -56843,7 +57597,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(el) => [
q(0164),
- q(1),
+ q(2),
],
q(en) => [
q(0123),
@@ -56899,7 +57653,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(gd) => [
q(0153),
- q(0),
+ q(1),
],
q(gl) => [
q(0155),
@@ -57143,11 +57897,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(nb) => [
q(0313),
- q(0),
+ q(1),
],
q(nd) => [
q(0304),
- q(0),
+ q(1),
],
q(ne) => [
q(0307),
@@ -57171,7 +57925,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(nr) => [
q(0303),
- q(0),
+ q(1),
],
q(nv) => [
q(0302),
@@ -57179,7 +57933,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
],
q(ny) => [
q(0321),
- q(0),
+ q(2),
],
q(oc) => [
q(0326),
@@ -59415,104 +60169,108 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0990),
q(0),
],
- q(axm) => [
+ q(axl) => [
q(0991),
q(0),
],
- q(axx) => [
+ q(axm) => [
q(0992),
q(0),
],
- q(aya) => [
+ q(axx) => [
q(0993),
q(0),
],
- q(ayb) => [
+ q(aya) => [
q(0994),
q(0),
],
- q(ayc) => [
+ q(ayb) => [
q(0995),
q(0),
],
- q(ayd) => [
+ q(ayc) => [
q(0996),
q(0),
],
- q(aye) => [
+ q(ayd) => [
q(0997),
q(0),
],
- q(ayg) => [
+ q(aye) => [
q(0998),
q(0),
],
- q(ayh) => [
+ q(ayg) => [
q(0999),
q(0),
],
- q(ayi) => [
+ q(ayh) => [
q(1000),
q(0),
],
- q(ayk) => [
+ q(ayi) => [
q(1001),
q(0),
],
- q(ayl) => [
+ q(ayk) => [
q(1002),
q(0),
],
+ q(ayl) => [
+ q(1003),
+ q(0),
+ ],
q(aym) => [
q(0036),
q(0),
],
q(ayn) => [
- q(1003),
+ q(1004),
q(0),
],
q(ayo) => [
- q(1004),
+ q(1005),
q(0),
],
q(ayp) => [
- q(1005),
+ q(1006),
q(0),
],
q(ayq) => [
- q(1006),
+ q(1007),
q(0),
],
q(ayr) => [
- q(1007),
+ q(1008),
q(0),
],
q(ays) => [
- q(1008),
+ q(1009),
q(0),
],
q(ayt) => [
- q(1009),
+ q(1010),
q(0),
],
q(ayu) => [
- q(1010),
+ q(1011),
q(0),
],
q(ayy) => [
- q(1011),
+ q(1012),
q(0),
],
q(ayz) => [
- q(1012),
+ q(1013),
q(0),
],
q(aza) => [
- q(1013),
+ q(1014),
q(0),
],
q(azb) => [
- q(1014),
+ q(1015),
q(0),
],
q(azc) => [
@@ -59520,7 +60278,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(azd) => [
- q(1015),
+ q(1016),
q(0),
],
q(aze) => [
@@ -59528,43 +60286,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(azg) => [
- q(1016),
+ q(1017),
q(0),
],
q(azj) => [
- q(1017),
+ q(1018),
q(0),
],
q(azm) => [
- q(1018),
+ q(1019),
q(0),
],
q(azn) => [
- q(1019),
+ q(1020),
q(0),
],
q(azo) => [
- q(1020),
+ q(1021),
q(0),
],
q(azt) => [
- q(1021),
+ q(1022),
q(0),
],
q(azz) => [
- q(1022),
+ q(1023),
q(0),
],
q(baa) => [
- q(1023),
+ q(1024),
q(0),
],
q(bab) => [
- q(1024),
+ q(1025),
q(0),
],
q(bac) => [
- q(1025),
+ q(1026),
q(0),
],
q(bad) => [
@@ -59572,19 +60330,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bae) => [
- q(1026),
+ q(1027),
q(0),
],
q(baf) => [
- q(1027),
+ q(1028),
q(0),
],
q(bag) => [
- q(1028),
+ q(1029),
q(0),
],
q(bah) => [
- q(1029),
+ q(1030),
q(0),
],
q(bai) => [
@@ -59592,7 +60350,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(baj) => [
- q(1030),
+ q(1031),
q(0),
],
q(bak) => [
@@ -59612,11 +60370,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bao) => [
- q(1031),
+ q(1032),
q(0),
],
q(bap) => [
- q(1032),
+ q(1033),
q(0),
],
q(baq) => [
@@ -59624,7 +60382,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bar) => [
- q(1033),
+ q(1034),
q(0),
],
q(bas) => [
@@ -59636,367 +60394,367 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bau) => [
- q(1034),
+ q(1035),
q(0),
],
q(bav) => [
- q(1035),
+ q(1036),
q(0),
],
q(baw) => [
- q(1036),
+ q(1037),
q(0),
],
q(bax) => [
- q(1037),
+ q(1038),
q(0),
],
q(bay) => [
- q(1038),
+ q(1039),
q(0),
],
q(bba) => [
- q(1039),
+ q(1040),
q(0),
],
q(bbb) => [
- q(1040),
+ q(1041),
q(0),
],
q(bbc) => [
- q(1041),
+ q(1042),
q(0),
],
q(bbd) => [
- q(1042),
+ q(1043),
q(0),
],
q(bbe) => [
- q(1043),
+ q(1044),
q(0),
],
q(bbf) => [
- q(1044),
+ q(1045),
q(0),
],
q(bbg) => [
- q(1045),
+ q(1046),
q(0),
],
q(bbh) => [
- q(1046),
+ q(1047),
q(0),
],
q(bbi) => [
- q(1047),
+ q(1048),
q(0),
],
q(bbj) => [
- q(1048),
+ q(1049),
q(0),
],
q(bbk) => [
- q(1049),
+ q(1050),
q(0),
],
q(bbl) => [
- q(1050),
+ q(1051),
q(0),
],
q(bbm) => [
- q(1051),
+ q(1052),
q(0),
],
q(bbn) => [
- q(1052),
+ q(1053),
q(0),
],
q(bbo) => [
- q(1053),
+ q(1054),
q(0),
],
q(bbp) => [
- q(1054),
+ q(1055),
q(0),
],
q(bbq) => [
- q(1055),
+ q(1056),
q(0),
],
q(bbr) => [
- q(1056),
+ q(1057),
q(0),
],
q(bbs) => [
- q(1057),
+ q(1058),
q(0),
],
q(bbt) => [
- q(1058),
+ q(1059),
q(0),
],
q(bbu) => [
- q(1059),
+ q(1060),
q(0),
],
q(bbv) => [
- q(1060),
+ q(1061),
q(0),
],
q(bbw) => [
- q(1061),
+ q(1062),
q(0),
],
q(bbx) => [
- q(1062),
+ q(1063),
q(0),
],
q(bby) => [
- q(1063),
+ q(1064),
q(0),
],
q(bbz) => [
- q(1064),
+ q(1065),
q(0),
],
q(bca) => [
- q(1065),
+ q(1066),
q(0),
],
q(bcb) => [
- q(1066),
+ q(1067),
q(0),
],
q(bcc) => [
- q(1067),
+ q(1068),
q(0),
],
q(bcd) => [
- q(1068),
+ q(1069),
q(0),
],
q(bce) => [
- q(1069),
+ q(1070),
q(0),
],
q(bcf) => [
- q(1070),
+ q(1071),
q(0),
],
q(bcg) => [
- q(1071),
+ q(1072),
q(0),
],
q(bch) => [
- q(1072),
+ q(1073),
q(0),
],
q(bci) => [
- q(1073),
+ q(1074),
q(0),
],
q(bcj) => [
- q(1074),
+ q(1075),
q(0),
],
q(bck) => [
- q(1075),
+ q(1076),
q(0),
],
q(bcl) => [
- q(1076),
+ q(1077),
q(0),
],
q(bcm) => [
- q(1077),
+ q(1078),
q(0),
],
q(bcn) => [
- q(1078),
+ q(1079),
q(0),
],
q(bco) => [
- q(1079),
+ q(1080),
q(0),
],
q(bcp) => [
- q(1080),
+ q(1081),
q(0),
],
q(bcq) => [
- q(1081),
+ q(1082),
q(0),
],
q(bcr) => [
- q(1082),
+ q(1083),
q(0),
],
q(bcs) => [
- q(1083),
+ q(1084),
q(0),
],
q(bct) => [
- q(1084),
+ q(1085),
q(0),
],
q(bcu) => [
- q(1085),
+ q(1086),
q(0),
],
q(bcv) => [
- q(1086),
+ q(1087),
q(0),
],
q(bcw) => [
- q(1087),
+ q(1088),
q(0),
],
q(bcy) => [
- q(1088),
+ q(1089),
q(0),
],
q(bcz) => [
- q(1089),
+ q(1090),
q(0),
],
q(bda) => [
- q(1090),
+ q(1091),
q(0),
],
q(bdb) => [
- q(1091),
+ q(1092),
q(0),
],
q(bdc) => [
- q(1092),
+ q(1093),
q(0),
],
q(bdd) => [
- q(1093),
+ q(1094),
q(0),
],
q(bde) => [
- q(1094),
+ q(1095),
q(0),
],
q(bdf) => [
- q(1095),
+ q(1096),
q(0),
],
q(bdg) => [
- q(1096),
+ q(1097),
q(0),
],
q(bdh) => [
- q(1097),
+ q(1098),
q(0),
],
q(bdi) => [
- q(1098),
+ q(1099),
q(0),
],
q(bdj) => [
- q(1099),
+ q(1100),
q(0),
],
q(bdk) => [
- q(1100),
+ q(1101),
q(0),
],
q(bdl) => [
- q(1101),
+ q(1102),
q(0),
],
q(bdm) => [
- q(1102),
+ q(1103),
q(0),
],
q(bdn) => [
- q(1103),
+ q(1104),
q(0),
],
q(bdo) => [
- q(1104),
+ q(1105),
q(0),
],
q(bdp) => [
- q(1105),
+ q(1106),
q(0),
],
q(bdq) => [
- q(1106),
+ q(1107),
q(0),
],
q(bdr) => [
- q(1107),
+ q(1108),
q(0),
],
q(bds) => [
- q(1108),
+ q(1109),
q(0),
],
q(bdt) => [
- q(1109),
+ q(1110),
q(0),
],
q(bdu) => [
- q(1110),
+ q(1111),
q(0),
],
q(bdv) => [
- q(1111),
+ q(1112),
q(0),
],
q(bdw) => [
- q(1112),
+ q(1113),
q(0),
],
q(bdx) => [
- q(1113),
+ q(1114),
q(0),
],
q(bdy) => [
- q(1114),
+ q(1115),
q(0),
],
q(bdz) => [
- q(1115),
+ q(1116),
q(0),
],
q(bea) => [
- q(1116),
+ q(1117),
q(0),
],
q(beb) => [
- q(1117),
+ q(1118),
q(0),
],
q(bec) => [
- q(1118),
+ q(1119),
q(0),
],
q(bed) => [
- q(1119),
+ q(1120),
q(0),
],
q(bee) => [
- q(1120),
+ q(1121),
q(0),
],
q(bef) => [
- q(1121),
+ q(1122),
q(0),
],
q(beg) => [
- q(1122),
+ q(1123),
q(0),
],
q(beh) => [
- q(1123),
+ q(1124),
q(0),
],
q(bei) => [
- q(1124),
+ q(1125),
q(0),
],
q(bej) => [
@@ -60004,7 +60762,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bek) => [
- q(1125),
+ q(1126),
q(0),
],
q(bel) => [
@@ -60020,15 +60778,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(beo) => [
- q(1126),
+ q(1127),
q(0),
],
q(bep) => [
- q(1127),
+ q(1128),
q(0),
],
q(beq) => [
- q(1128),
+ q(1129),
q(0),
],
q(ber) => [
@@ -60036,287 +60794,287 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bes) => [
- q(1129),
+ q(1130),
q(0),
],
q(bet) => [
- q(1130),
+ q(1131),
q(0),
],
q(beu) => [
- q(1131),
+ q(1132),
q(0),
],
q(bev) => [
- q(1132),
+ q(1133),
q(0),
],
q(bew) => [
- q(1133),
+ q(1134),
q(0),
],
q(bex) => [
- q(1134),
+ q(1135),
q(0),
],
q(bey) => [
- q(1135),
+ q(1136),
q(0),
],
q(bez) => [
- q(1136),
+ q(1137),
q(0),
],
q(bfa) => [
- q(1137),
+ q(1138),
q(0),
],
q(bfb) => [
- q(1138),
+ q(1139),
q(0),
],
q(bfc) => [
- q(1139),
+ q(1140),
q(0),
],
q(bfd) => [
- q(1140),
+ q(1141),
q(0),
],
q(bfe) => [
- q(1141),
+ q(1142),
q(0),
],
q(bff) => [
- q(1142),
+ q(1143),
q(0),
],
q(bfg) => [
- q(1143),
+ q(1144),
q(0),
],
q(bfh) => [
- q(1144),
+ q(1145),
q(0),
],
q(bfi) => [
- q(1145),
+ q(1146),
q(0),
],
q(bfj) => [
- q(1146),
+ q(1147),
q(0),
],
q(bfk) => [
- q(1147),
+ q(1148),
q(0),
],
q(bfl) => [
- q(1148),
+ q(1149),
q(0),
],
q(bfm) => [
- q(1149),
+ q(1150),
q(0),
],
q(bfn) => [
- q(1150),
+ q(1151),
q(0),
],
q(bfo) => [
- q(1151),
+ q(1152),
q(0),
],
q(bfp) => [
- q(1152),
+ q(1153),
q(0),
],
q(bfq) => [
- q(1153),
+ q(1154),
q(0),
],
q(bfr) => [
- q(1154),
+ q(1155),
q(0),
],
q(bfs) => [
- q(1155),
+ q(1156),
q(0),
],
q(bft) => [
- q(1156),
+ q(1157),
q(0),
],
q(bfu) => [
- q(1157),
+ q(1158),
q(0),
],
q(bfw) => [
- q(1158),
+ q(1159),
q(0),
],
q(bfx) => [
- q(1159),
+ q(1160),
q(0),
],
q(bfy) => [
- q(1160),
+ q(1161),
q(0),
],
q(bfz) => [
- q(1161),
+ q(1162),
q(0),
],
q(bga) => [
- q(1162),
+ q(1163),
q(0),
],
q(bgb) => [
- q(1163),
+ q(1164),
q(0),
],
q(bgc) => [
- q(1164),
+ q(1165),
q(0),
],
q(bgd) => [
- q(1165),
+ q(1166),
q(0),
],
q(bge) => [
- q(1166),
+ q(1167),
q(0),
],
q(bgf) => [
- q(1167),
+ q(1168),
q(0),
],
q(bgg) => [
- q(1168),
+ q(1169),
q(0),
],
q(bgi) => [
- q(1169),
+ q(1170),
q(0),
],
q(bgj) => [
- q(1170),
+ q(1171),
q(0),
],
q(bgk) => [
- q(1171),
+ q(1172),
q(0),
],
q(bgl) => [
- q(1172),
+ q(1173),
q(0),
],
q(bgm) => [
- q(1173),
+ q(1174),
q(0),
],
q(bgn) => [
- q(1174),
+ q(1175),
q(0),
],
q(bgo) => [
- q(1175),
+ q(1176),
q(0),
],
q(bgp) => [
- q(1176),
+ q(1177),
q(0),
],
q(bgq) => [
- q(1177),
+ q(1178),
q(0),
],
q(bgr) => [
- q(1178),
+ q(1179),
q(0),
],
q(bgs) => [
- q(1179),
+ q(1180),
q(0),
],
q(bgt) => [
- q(1180),
+ q(1181),
q(0),
],
q(bgu) => [
- q(1181),
+ q(1182),
q(0),
],
q(bgv) => [
- q(1182),
+ q(1183),
q(0),
],
q(bgw) => [
- q(1183),
+ q(1184),
q(0),
],
q(bgx) => [
- q(1184),
+ q(1185),
q(0),
],
q(bgy) => [
- q(1185),
+ q(1186),
q(0),
],
q(bgz) => [
- q(1186),
+ q(1187),
q(0),
],
q(bha) => [
- q(1187),
+ q(1188),
q(0),
],
q(bhb) => [
- q(1188),
+ q(1189),
q(0),
],
q(bhc) => [
- q(1189),
+ q(1190),
q(0),
],
q(bhd) => [
- q(1190),
+ q(1191),
q(0),
],
q(bhe) => [
- q(1191),
+ q(1192),
q(0),
],
q(bhf) => [
- q(1192),
+ q(1193),
q(0),
],
q(bhg) => [
- q(1193),
+ q(1194),
q(0),
],
q(bhh) => [
- q(1194),
+ q(1195),
q(0),
],
q(bhi) => [
- q(1195),
+ q(1196),
q(0),
],
q(bhj) => [
- q(1196),
+ q(1197),
q(0),
],
q(bhl) => [
- q(1197),
+ q(1198),
q(0),
],
q(bhm) => [
- q(1198),
+ q(1199),
q(0),
],
q(bhn) => [
- q(1199),
+ q(1200),
q(0),
],
q(bho) => [
@@ -60324,75 +61082,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bhp) => [
- q(1200),
+ q(1201),
q(0),
],
q(bhq) => [
- q(1201),
+ q(1202),
q(0),
],
q(bhr) => [
- q(1202),
+ q(1203),
q(0),
],
q(bhs) => [
- q(1203),
+ q(1204),
q(0),
],
q(bht) => [
- q(1204),
+ q(1205),
q(0),
],
q(bhu) => [
- q(1205),
+ q(1206),
q(0),
],
q(bhv) => [
- q(1206),
+ q(1207),
q(0),
],
q(bhw) => [
- q(1207),
+ q(1208),
q(0),
],
q(bhx) => [
- q(1208),
+ q(1209),
q(0),
],
q(bhy) => [
- q(1209),
+ q(1210),
q(0),
],
q(bhz) => [
- q(1210),
+ q(1211),
q(0),
],
q(bia) => [
- q(1211),
+ q(1212),
q(0),
],
q(bib) => [
- q(1212),
+ q(1213),
q(0),
],
q(bic) => [
- q(1213),
+ q(1214),
q(0),
],
q(bid) => [
- q(1214),
+ q(1215),
q(0),
],
q(bie) => [
- q(1215),
+ q(1216),
q(0),
],
q(bif) => [
- q(1216),
+ q(1217),
q(0),
],
q(big) => [
- q(1217),
+ q(1218),
q(0),
],
q(bih) => [
@@ -60400,7 +61158,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bij) => [
- q(1218),
+ q(1219),
q(0),
],
q(bik) => [
@@ -60408,11 +61166,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bil) => [
- q(1219),
+ q(1220),
q(0),
],
q(bim) => [
- q(1220),
+ q(1221),
q(0),
],
q(bin) => [
@@ -60420,19 +61178,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bio) => [
- q(1221),
+ q(1222),
q(0),
],
q(bip) => [
- q(1222),
+ q(1223),
q(0),
],
q(biq) => [
- q(1223),
+ q(1224),
q(0),
],
q(bir) => [
- q(1224),
+ q(1225),
q(0),
],
q(bis) => [
@@ -60440,219 +61198,223 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bit) => [
- q(1225),
+ q(1226),
q(0),
],
q(biu) => [
- q(1226),
+ q(1227),
q(0),
],
q(biv) => [
- q(1227),
+ q(1228),
q(0),
],
q(biw) => [
- q(1228),
+ q(1229),
q(0),
],
q(bix) => [
- q(1229),
+ q(1230),
q(0),
],
q(biy) => [
- q(1230),
+ q(1231),
q(0),
],
q(biz) => [
- q(1231),
+ q(1232),
q(0),
],
q(bja) => [
- q(1232),
+ q(1233),
q(0),
],
q(bjb) => [
- q(1233),
+ q(1234),
q(0),
],
q(bjc) => [
- q(1234),
+ q(1235),
q(0),
],
q(bje) => [
- q(1235),
+ q(1236),
q(0),
],
q(bjf) => [
- q(1236),
+ q(1237),
q(0),
],
q(bjg) => [
- q(1237),
+ q(1238),
q(0),
],
q(bjh) => [
- q(1238),
+ q(1239),
q(0),
],
q(bji) => [
- q(1239),
+ q(1240),
q(0),
],
q(bjj) => [
- q(1240),
+ q(1241),
q(0),
],
q(bjk) => [
- q(1241),
+ q(1242),
q(0),
],
q(bjl) => [
- q(1242),
+ q(1243),
q(0),
],
q(bjm) => [
- q(1243),
+ q(1244),
q(0),
],
q(bjn) => [
- q(1244),
+ q(1245),
q(0),
],
q(bjo) => [
- q(1245),
+ q(1246),
+ q(0),
+ ],
+ q(bjp) => [
+ q(1247),
q(0),
],
q(bjr) => [
- q(1246),
+ q(1248),
q(0),
],
q(bjs) => [
- q(1247),
+ q(1249),
q(0),
],
q(bjt) => [
- q(1248),
+ q(1250),
q(0),
],
q(bju) => [
- q(1249),
+ q(1251),
q(0),
],
q(bjv) => [
- q(1250),
+ q(1252),
q(0),
],
q(bjw) => [
- q(1251),
+ q(1253),
q(0),
],
q(bjx) => [
- q(1252),
+ q(1254),
q(0),
],
q(bjy) => [
- q(1253),
+ q(1255),
q(0),
],
q(bjz) => [
- q(1254),
+ q(1256),
q(0),
],
q(bka) => [
- q(1255),
+ q(1257),
q(0),
],
q(bkc) => [
- q(1256),
+ q(1258),
q(0),
],
q(bkd) => [
- q(1257),
+ q(1259),
q(0),
],
q(bkf) => [
- q(1258),
+ q(1260),
q(0),
],
q(bkg) => [
- q(1259),
+ q(1261),
q(0),
],
q(bkh) => [
- q(1260),
+ q(1262),
q(0),
],
q(bki) => [
- q(1261),
+ q(1263),
q(0),
],
q(bkj) => [
- q(1262),
+ q(1264),
q(0),
],
q(bkk) => [
- q(1263),
+ q(1265),
q(0),
],
q(bkl) => [
- q(1264),
+ q(1266),
q(0),
],
q(bkm) => [
- q(1265),
+ q(1267),
q(0),
],
q(bkn) => [
- q(1266),
+ q(1268),
q(0),
],
q(bko) => [
- q(1267),
+ q(1269),
q(0),
],
q(bkp) => [
- q(1268),
+ q(1270),
q(0),
],
q(bkq) => [
- q(1269),
+ q(1271),
q(0),
],
q(bkr) => [
- q(1270),
+ q(1272),
q(0),
],
q(bks) => [
- q(1271),
+ q(1273),
q(0),
],
q(bkt) => [
- q(1272),
+ q(1274),
q(0),
],
q(bku) => [
- q(1273),
+ q(1275),
q(0),
],
q(bkv) => [
- q(1274),
+ q(1276),
q(0),
],
q(bkw) => [
- q(1275),
+ q(1277),
q(0),
],
q(bkx) => [
- q(1276),
+ q(1278),
q(0),
],
q(bky) => [
- q(1277),
+ q(1279),
q(0),
],
q(bkz) => [
- q(1278),
+ q(1280),
q(0),
],
q(bla) => [
@@ -60660,275 +61422,275 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(blb) => [
- q(1279),
+ q(1281),
q(0),
],
q(blc) => [
- q(1280),
+ q(1282),
q(0),
],
q(bld) => [
- q(1281),
+ q(1283),
q(0),
],
q(ble) => [
- q(1282),
+ q(1284),
q(0),
],
q(blf) => [
- q(1283),
+ q(1285),
q(0),
],
q(blg) => [
- q(1284),
+ q(1286),
q(0),
],
q(blh) => [
- q(1285),
+ q(1287),
q(0),
],
q(bli) => [
- q(1286),
+ q(1288),
q(0),
],
q(blj) => [
- q(1287),
+ q(1289),
q(0),
],
q(blk) => [
- q(1288),
+ q(1290),
q(0),
],
q(bll) => [
- q(1289),
+ q(1291),
q(0),
],
q(blm) => [
- q(1290),
+ q(1292),
q(0),
],
q(bln) => [
- q(1291),
+ q(1293),
q(0),
],
q(blo) => [
- q(1292),
+ q(1294),
q(0),
],
q(blp) => [
- q(1293),
+ q(1295),
q(0),
],
q(blq) => [
- q(1294),
+ q(1296),
q(0),
],
q(blr) => [
- q(1295),
+ q(1297),
q(0),
],
q(bls) => [
- q(1296),
+ q(1298),
q(0),
],
q(blt) => [
- q(1297),
+ q(1299),
q(0),
],
q(blv) => [
- q(1298),
+ q(1300),
q(0),
],
q(blw) => [
- q(1299),
+ q(1301),
q(0),
],
q(blx) => [
- q(1300),
+ q(1302),
q(0),
],
q(bly) => [
- q(1301),
+ q(1303),
q(0),
],
q(blz) => [
- q(1302),
+ q(1304),
q(0),
],
q(bma) => [
- q(1303),
+ q(1305),
q(0),
],
q(bmb) => [
- q(1304),
+ q(1306),
q(0),
],
q(bmc) => [
- q(1305),
+ q(1307),
q(0),
],
q(bmd) => [
- q(1306),
+ q(1308),
q(0),
],
q(bme) => [
- q(1307),
+ q(1309),
q(0),
],
q(bmf) => [
- q(1308),
+ q(1310),
q(0),
],
q(bmg) => [
- q(1309),
+ q(1311),
q(0),
],
q(bmh) => [
- q(1310),
+ q(1312),
q(0),
],
q(bmi) => [
- q(1311),
+ q(1313),
q(0),
],
q(bmj) => [
- q(1312),
+ q(1314),
q(0),
],
q(bmk) => [
- q(1313),
+ q(1315),
q(0),
],
q(bml) => [
- q(1314),
+ q(1316),
q(0),
],
q(bmm) => [
- q(1315),
+ q(1317),
q(0),
],
q(bmn) => [
- q(1316),
+ q(1318),
q(0),
],
q(bmo) => [
- q(1317),
+ q(1319),
q(0),
],
q(bmp) => [
- q(1318),
+ q(1320),
q(0),
],
q(bmq) => [
- q(1319),
+ q(1321),
q(0),
],
q(bmr) => [
- q(1320),
+ q(1322),
q(0),
],
q(bms) => [
- q(1321),
+ q(1323),
q(0),
],
q(bmt) => [
- q(1322),
+ q(1324),
q(0),
],
q(bmu) => [
- q(1323),
+ q(1325),
q(0),
],
q(bmv) => [
- q(1324),
+ q(1326),
q(0),
],
q(bmw) => [
- q(1325),
+ q(1327),
q(0),
],
q(bmx) => [
- q(1326),
+ q(1328),
q(0),
],
q(bmy) => [
- q(1327),
+ q(1329),
q(0),
],
q(bmz) => [
- q(1328),
+ q(1330),
q(0),
],
q(bna) => [
- q(1329),
+ q(1331),
q(0),
],
q(bnb) => [
- q(1330),
+ q(1332),
q(0),
],
q(bnc) => [
- q(1331),
+ q(1333),
q(0),
],
q(bnd) => [
- q(1332),
+ q(1334),
q(0),
],
q(bne) => [
- q(1333),
+ q(1335),
q(0),
],
q(bnf) => [
- q(1334),
+ q(1336),
q(0),
],
q(bng) => [
- q(1335),
+ q(1337),
q(0),
],
q(bni) => [
- q(1336),
+ q(1338),
q(0),
],
q(bnj) => [
- q(1337),
+ q(1339),
q(0),
],
q(bnk) => [
- q(1338),
+ q(1340),
q(0),
],
q(bnl) => [
- q(1339),
+ q(1341),
q(0),
],
q(bnm) => [
- q(1340),
+ q(1342),
q(0),
],
q(bnn) => [
- q(1341),
+ q(1343),
q(0),
],
q(bno) => [
- q(1342),
+ q(1344),
q(0),
],
q(bnp) => [
- q(1343),
+ q(1345),
q(0),
],
q(bnq) => [
- q(1344),
+ q(1346),
q(0),
],
q(bnr) => [
- q(1345),
+ q(1347),
q(0),
],
q(bns) => [
- q(1346),
+ q(1348),
q(0),
],
q(bnt) => [
@@ -60936,91 +61698,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(bnu) => [
- q(1347),
+ q(1349),
q(0),
],
q(bnv) => [
- q(1348),
+ q(1350),
q(0),
],
q(bnw) => [
- q(1349),
+ q(1351),
q(0),
],
q(bnx) => [
- q(1350),
+ q(1352),
q(0),
],
q(bny) => [
- q(1351),
+ q(1353),
q(0),
],
q(bnz) => [
- q(1352),
+ q(1354),
q(0),
],
q(boa) => [
- q(1353),
+ q(1355),
q(0),
],
q(bob) => [
- q(1354),
+ q(1356),
q(0),
],
q(boe) => [
- q(1355),
+ q(1357),
q(0),
],
q(bof) => [
- q(1356),
+ q(1358),
q(0),
],
q(bog) => [
- q(1357),
+ q(1359),
q(0),
],
q(boh) => [
- q(1358),
+ q(1360),
q(0),
],
q(boi) => [
- q(1359),
+ q(1361),
q(0),
],
q(boj) => [
- q(1360),
+ q(1362),
q(0),
],
q(bok) => [
- q(1361),
+ q(1363),
q(0),
],
q(bol) => [
- q(1362),
+ q(1364),
q(0),
],
q(bom) => [
- q(1363),
+ q(1365),
q(0),
],
q(bon) => [
- q(1364),
+ q(1366),
q(0),
],
q(boo) => [
- q(1365),
+ q(1367),
q(0),
],
q(bop) => [
- q(1366),
+ q(1368),
q(0),
],
q(boq) => [
- q(1367),
+ q(1369),
q(0),
],
q(bor) => [
- q(1368),
+ q(1370),
q(0),
],
q(bos) => [
@@ -61028,223 +61790,223 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bot) => [
- q(1369),
+ q(1371),
q(0),
],
q(bou) => [
- q(1370),
+ q(1372),
q(0),
],
q(bov) => [
- q(1371),
+ q(1373),
q(0),
],
q(bow) => [
- q(1372),
+ q(1374),
q(0),
],
q(box) => [
- q(1373),
+ q(1375),
q(0),
],
q(boy) => [
- q(1374),
+ q(1376),
q(0),
],
q(boz) => [
- q(1375),
+ q(1377),
q(0),
],
q(bpa) => [
- q(1376),
+ q(1378),
q(0),
],
q(bpb) => [
- q(1377),
+ q(1379),
q(0),
],
q(bpd) => [
- q(1378),
+ q(1380),
q(0),
],
q(bpg) => [
- q(1379),
+ q(1381),
q(0),
],
q(bph) => [
- q(1380),
+ q(1382),
q(0),
],
q(bpi) => [
- q(1381),
+ q(1383),
q(0),
],
q(bpj) => [
- q(1382),
+ q(1384),
q(0),
],
q(bpk) => [
- q(1383),
+ q(1385),
q(0),
],
q(bpl) => [
- q(1384),
+ q(1386),
q(0),
],
q(bpm) => [
- q(1385),
+ q(1387),
q(0),
],
q(bpn) => [
- q(1386),
+ q(1388),
q(0),
],
q(bpo) => [
- q(1387),
+ q(1389),
q(0),
],
q(bpp) => [
- q(1388),
+ q(1390),
q(0),
],
q(bpq) => [
- q(1389),
+ q(1391),
q(0),
],
q(bpr) => [
- q(1390),
+ q(1392),
q(0),
],
q(bps) => [
- q(1391),
+ q(1393),
q(0),
],
q(bpt) => [
- q(1392),
+ q(1394),
q(0),
],
q(bpu) => [
- q(1393),
+ q(1395),
q(0),
],
q(bpv) => [
- q(1394),
+ q(1396),
q(0),
],
q(bpw) => [
- q(1395),
+ q(1397),
q(0),
],
q(bpx) => [
- q(1396),
+ q(1398),
q(0),
],
q(bpy) => [
- q(1397),
+ q(1399),
q(0),
],
q(bpz) => [
- q(1398),
+ q(1400),
q(0),
],
q(bqa) => [
- q(1399),
+ q(1401),
q(0),
],
q(bqb) => [
- q(1400),
+ q(1402),
q(0),
],
q(bqc) => [
- q(1401),
+ q(1403),
q(0),
],
q(bqd) => [
- q(1402),
+ q(1404),
q(0),
],
q(bqf) => [
- q(1403),
+ q(1405),
q(0),
],
q(bqg) => [
- q(1404),
+ q(1406),
q(0),
],
q(bqh) => [
- q(1405),
+ q(1407),
q(0),
],
q(bqi) => [
- q(1406),
+ q(1408),
q(0),
],
q(bqj) => [
- q(1407),
+ q(1409),
q(0),
],
q(bqk) => [
- q(1408),
+ q(1410),
q(0),
],
q(bql) => [
- q(1409),
+ q(1411),
q(0),
],
q(bqm) => [
- q(1410),
+ q(1412),
q(0),
],
q(bqn) => [
- q(1411),
+ q(1413),
q(0),
],
q(bqo) => [
- q(1412),
+ q(1414),
q(0),
],
q(bqp) => [
- q(1413),
+ q(1415),
q(0),
],
q(bqq) => [
- q(1414),
+ q(1416),
q(0),
],
q(bqr) => [
- q(1415),
+ q(1417),
q(0),
],
q(bqs) => [
- q(1416),
+ q(1418),
q(0),
],
q(bqt) => [
- q(1417),
+ q(1419),
q(0),
],
q(bqu) => [
- q(1418),
+ q(1420),
q(0),
],
q(bqv) => [
- q(1419),
+ q(1421),
q(0),
],
q(bqw) => [
- q(1420),
+ q(1422),
q(0),
],
q(bqx) => [
- q(1421),
+ q(1423),
q(0),
],
q(bqy) => [
- q(1422),
+ q(1424),
q(0),
],
q(bqz) => [
- q(1423),
+ q(1425),
q(0),
],
q(bra) => [
@@ -61252,15 +62014,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(brb) => [
- q(1424),
+ q(1426),
q(0),
],
q(brc) => [
- q(1425),
+ q(1427),
q(0),
],
q(brd) => [
- q(1426),
+ q(1428),
q(0),
],
q(bre) => [
@@ -61268,219 +62030,219 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(brf) => [
- q(1427),
+ q(1429),
q(0),
],
q(brg) => [
- q(1428),
+ q(1430),
q(0),
],
q(brh) => [
- q(1429),
+ q(1431),
q(0),
],
q(bri) => [
- q(1430),
+ q(1432),
q(0),
],
q(brj) => [
- q(1431),
+ q(1433),
q(0),
],
q(brk) => [
- q(1432),
+ q(1434),
q(0),
],
q(brl) => [
- q(1433),
+ q(1435),
q(0),
],
q(brm) => [
- q(1434),
+ q(1436),
q(0),
],
q(brn) => [
- q(1435),
+ q(1437),
q(0),
],
q(bro) => [
- q(1436),
+ q(1438),
q(0),
],
q(brp) => [
- q(1437),
+ q(1439),
q(0),
],
q(brq) => [
- q(1438),
+ q(1440),
q(0),
],
q(brr) => [
- q(1439),
+ q(1441),
q(0),
],
q(brs) => [
- q(1440),
+ q(1442),
q(0),
],
q(brt) => [
- q(1441),
+ q(1443),
q(0),
],
q(bru) => [
- q(1442),
+ q(1444),
q(0),
],
q(brv) => [
- q(1443),
+ q(1445),
q(0),
],
q(brw) => [
- q(1444),
+ q(1446),
q(0),
],
q(brx) => [
- q(1445),
+ q(1447),
q(0),
],
q(bry) => [
- q(1446),
+ q(1448),
q(0),
],
q(brz) => [
- q(1447),
+ q(1449),
q(0),
],
q(bsa) => [
- q(1448),
+ q(1450),
q(0),
],
q(bsb) => [
- q(1449),
+ q(1451),
q(0),
],
q(bsc) => [
- q(1450),
+ q(1452),
q(0),
],
q(bse) => [
- q(1451),
+ q(1453),
q(0),
],
q(bsf) => [
- q(1452),
+ q(1454),
q(0),
],
q(bsg) => [
- q(1453),
+ q(1455),
q(0),
],
q(bsh) => [
- q(1454),
+ q(1456),
q(0),
],
q(bsi) => [
- q(1455),
+ q(1457),
q(0),
],
q(bsj) => [
- q(1456),
+ q(1458),
q(0),
],
q(bsk) => [
- q(1457),
+ q(1459),
q(0),
],
q(bsl) => [
- q(1458),
+ q(1460),
q(0),
],
q(bsm) => [
- q(1459),
+ q(1461),
q(0),
],
q(bsn) => [
- q(1460),
+ q(1462),
q(0),
],
q(bso) => [
- q(1461),
+ q(1463),
q(0),
],
q(bsp) => [
- q(1462),
+ q(1464),
q(0),
],
q(bsq) => [
- q(1463),
+ q(1465),
q(0),
],
q(bsr) => [
- q(1464),
+ q(1466),
q(0),
],
q(bss) => [
- q(1465),
+ q(1467),
q(0),
],
q(bst) => [
- q(1466),
+ q(1468),
q(0),
],
q(bsu) => [
- q(1467),
+ q(1469),
q(0),
],
q(bsv) => [
- q(1468),
+ q(1470),
q(0),
],
q(bsw) => [
- q(1469),
+ q(1471),
q(0),
],
q(bsx) => [
- q(1470),
+ q(1472),
q(0),
],
q(bsy) => [
- q(1471),
+ q(1473),
q(0),
],
q(bta) => [
- q(1472),
+ q(1474),
q(0),
],
q(btc) => [
- q(1473),
+ q(1475),
q(0),
],
q(btd) => [
- q(1474),
+ q(1476),
q(0),
],
q(bte) => [
- q(1475),
+ q(1477),
q(0),
],
q(btf) => [
- q(1476),
+ q(1478),
q(0),
],
q(btg) => [
- q(1477),
+ q(1479),
q(0),
],
q(bth) => [
- q(1478),
+ q(1480),
q(0),
],
q(bti) => [
- q(1479),
+ q(1481),
q(0),
],
q(btj) => [
- q(1480),
+ q(1482),
q(0),
],
q(btk) => [
@@ -61488,63 +62250,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(btl) => [
- q(1481),
+ q(1483),
q(0),
],
q(btm) => [
- q(1482),
+ q(1484),
q(0),
],
q(btn) => [
- q(1483),
+ q(1485),
q(0),
],
q(bto) => [
- q(1484),
+ q(1486),
q(0),
],
q(btp) => [
- q(1485),
+ q(1487),
q(0),
],
q(btq) => [
- q(1486),
+ q(1488),
q(0),
],
q(btr) => [
- q(1487),
+ q(1489),
q(0),
],
q(bts) => [
- q(1488),
+ q(1490),
q(0),
],
q(btt) => [
- q(1489),
+ q(1491),
q(0),
],
q(btu) => [
- q(1490),
+ q(1492),
q(0),
],
q(btv) => [
- q(1491),
+ q(1493),
q(0),
],
q(btw) => [
- q(1492),
+ q(1494),
q(0),
],
q(btx) => [
- q(1493),
+ q(1495),
q(0),
],
q(bty) => [
- q(1494),
+ q(1496),
q(0),
],
q(btz) => [
- q(1495),
+ q(1497),
q(0),
],
q(bua) => [
@@ -61552,23 +62314,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bub) => [
- q(1496),
+ q(1498),
q(0),
],
q(buc) => [
- q(1497),
+ q(1499),
q(0),
],
q(bud) => [
- q(1498),
+ q(1500),
q(0),
],
q(bue) => [
- q(1499),
+ q(1501),
q(0),
],
q(buf) => [
- q(1500),
+ q(1502),
q(0),
],
q(bug) => [
@@ -61576,19 +62338,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(buh) => [
- q(1501),
+ q(1503),
q(0),
],
q(bui) => [
- q(1502),
+ q(1504),
q(0),
],
q(buj) => [
- q(1503),
+ q(1505),
q(0),
],
q(buk) => [
- q(1504),
+ q(1506),
q(0),
],
q(bul) => [
@@ -61596,23 +62358,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bum) => [
- q(1505),
+ q(1507),
q(0),
],
q(bun) => [
- q(1506),
+ q(1508),
q(0),
],
q(buo) => [
- q(1507),
+ q(1509),
q(0),
],
q(bup) => [
- q(1508),
+ q(1510),
q(0),
],
q(buq) => [
- q(1509),
+ q(1511),
q(0),
],
q(bur) => [
@@ -61620,543 +62382,547 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(bus) => [
- q(1510),
+ q(1512),
q(0),
],
q(but) => [
- q(1511),
+ q(1513),
q(0),
],
q(buu) => [
- q(1512),
+ q(1514),
q(0),
],
q(buv) => [
- q(1513),
+ q(1515),
q(0),
],
q(buw) => [
- q(1514),
+ q(1516),
q(0),
],
q(bux) => [
- q(1515),
+ q(1517),
q(0),
],
q(buy) => [
- q(1516),
+ q(1518),
q(0),
],
q(buz) => [
- q(1517),
+ q(1519),
q(0),
],
q(bva) => [
- q(1518),
+ q(1520),
q(0),
],
q(bvb) => [
- q(1519),
+ q(1521),
q(0),
],
q(bvc) => [
- q(1520),
+ q(1522),
q(0),
],
q(bvd) => [
- q(1521),
+ q(1523),
q(0),
],
q(bve) => [
- q(1522),
+ q(1524),
q(0),
],
q(bvf) => [
- q(1523),
+ q(1525),
q(0),
],
q(bvg) => [
- q(1524),
+ q(1526),
q(0),
],
q(bvh) => [
- q(1525),
+ q(1527),
q(0),
],
q(bvi) => [
- q(1526),
+ q(1528),
q(0),
],
q(bvj) => [
- q(1527),
+ q(1529),
q(0),
],
q(bvk) => [
- q(1528),
+ q(1530),
q(0),
],
q(bvl) => [
- q(1529),
+ q(1531),
q(0),
],
q(bvm) => [
- q(1530),
+ q(1532),
q(0),
],
q(bvn) => [
- q(1531),
+ q(1533),
q(0),
],
q(bvo) => [
- q(1532),
+ q(1534),
+ q(0),
+ ],
+ q(bvp) => [
+ q(1535),
q(0),
],
q(bvq) => [
- q(1533),
+ q(1536),
q(0),
],
q(bvr) => [
- q(1534),
+ q(1537),
q(0),
],
q(bvt) => [
- q(1535),
+ q(1538),
q(0),
],
q(bvu) => [
- q(1536),
+ q(1539),
q(0),
],
q(bvv) => [
- q(1537),
+ q(1540),
q(0),
],
q(bvw) => [
- q(1538),
+ q(1541),
q(0),
],
q(bvx) => [
- q(1539),
+ q(1542),
q(0),
],
q(bvy) => [
- q(1540),
+ q(1543),
q(0),
],
q(bvz) => [
- q(1541),
+ q(1544),
q(0),
],
q(bwa) => [
- q(1542),
+ q(1545),
q(0),
],
q(bwb) => [
- q(1543),
+ q(1546),
q(0),
],
q(bwc) => [
- q(1544),
+ q(1547),
q(0),
],
q(bwd) => [
- q(1545),
+ q(1548),
q(0),
],
q(bwe) => [
- q(1546),
+ q(1549),
q(0),
],
q(bwf) => [
- q(1547),
+ q(1550),
q(0),
],
q(bwg) => [
- q(1548),
+ q(1551),
q(0),
],
q(bwh) => [
- q(1549),
+ q(1552),
q(0),
],
q(bwi) => [
- q(1550),
+ q(1553),
q(0),
],
q(bwj) => [
- q(1551),
+ q(1554),
q(0),
],
q(bwk) => [
- q(1552),
+ q(1555),
q(0),
],
q(bwl) => [
- q(1553),
+ q(1556),
q(0),
],
q(bwm) => [
- q(1554),
+ q(1557),
q(0),
],
q(bwn) => [
- q(1555),
+ q(1558),
q(0),
],
q(bwo) => [
- q(1556),
+ q(1559),
q(0),
],
q(bwp) => [
- q(1557),
+ q(1560),
q(0),
],
q(bwq) => [
- q(1558),
+ q(1561),
q(0),
],
q(bwr) => [
- q(1559),
+ q(1562),
q(0),
],
q(bws) => [
- q(1560),
+ q(1563),
q(0),
],
q(bwt) => [
- q(1561),
+ q(1564),
q(0),
],
q(bwu) => [
- q(1562),
+ q(1565),
q(0),
],
q(bww) => [
- q(1563),
+ q(1566),
q(0),
],
q(bwx) => [
- q(1564),
+ q(1567),
q(0),
],
q(bwy) => [
- q(1565),
+ q(1568),
q(0),
],
q(bwz) => [
- q(1566),
+ q(1569),
q(0),
],
q(bxa) => [
- q(1567),
+ q(1570),
q(0),
],
q(bxb) => [
- q(1568),
+ q(1571),
q(0),
],
q(bxc) => [
- q(1569),
+ q(1572),
q(0),
],
q(bxd) => [
- q(1570),
+ q(1573),
q(0),
],
q(bxe) => [
- q(1571),
+ q(1574),
q(0),
],
q(bxf) => [
- q(1572),
+ q(1575),
q(0),
],
q(bxg) => [
- q(1573),
+ q(1576),
q(0),
],
q(bxh) => [
- q(1574),
+ q(1577),
q(0),
],
q(bxi) => [
- q(1575),
+ q(1578),
q(0),
],
q(bxj) => [
- q(1576),
+ q(1579),
q(0),
],
q(bxk) => [
- q(1577),
+ q(1580),
q(0),
],
q(bxl) => [
- q(1578),
+ q(1581),
q(0),
],
q(bxm) => [
- q(1579),
+ q(1582),
q(0),
],
q(bxn) => [
- q(1580),
+ q(1583),
q(0),
],
q(bxo) => [
- q(1581),
+ q(1584),
q(0),
],
q(bxp) => [
- q(1582),
+ q(1585),
q(0),
],
q(bxq) => [
- q(1583),
+ q(1586),
q(0),
],
q(bxr) => [
- q(1584),
+ q(1587),
q(0),
],
q(bxs) => [
- q(1585),
+ q(1588),
q(0),
],
q(bxu) => [
- q(1586),
+ q(1589),
q(0),
],
q(bxv) => [
- q(1587),
+ q(1590),
q(0),
],
q(bxw) => [
- q(1588),
+ q(1591),
q(0),
],
q(bxx) => [
- q(1589),
+ q(1592),
q(0),
],
q(bxz) => [
- q(1590),
+ q(1593),
q(0),
],
q(bya) => [
- q(1591),
+ q(1594),
q(0),
],
q(byb) => [
- q(1592),
+ q(1595),
q(0),
],
q(byc) => [
- q(1593),
+ q(1596),
q(0),
],
q(byd) => [
- q(1594),
+ q(1597),
q(0),
],
q(bye) => [
- q(1595),
+ q(1598),
q(0),
],
q(byf) => [
- q(1596),
+ q(1599),
q(0),
],
q(byg) => [
- q(1597),
+ q(1600),
q(0),
],
q(byh) => [
- q(1598),
+ q(1601),
q(0),
],
q(byi) => [
- q(1599),
+ q(1602),
q(0),
],
q(byj) => [
- q(1600),
+ q(1603),
q(0),
],
q(byk) => [
- q(1601),
+ q(1604),
q(0),
],
q(byl) => [
- q(1602),
+ q(1605),
q(0),
],
q(bym) => [
- q(1603),
+ q(1606),
q(0),
],
q(byn) => [
q(0067),
- q(0),
+ q(1),
],
q(byo) => [
- q(1604),
+ q(1607),
q(0),
],
q(byp) => [
- q(1605),
+ q(1608),
q(0),
],
q(byq) => [
- q(1606),
+ q(1609),
q(0),
],
q(byr) => [
- q(1607),
+ q(1610),
q(0),
],
q(bys) => [
- q(1608),
+ q(1611),
q(0),
],
q(byt) => [
- q(1609),
+ q(1612),
q(0),
],
q(byv) => [
- q(1610),
+ q(1613),
q(0),
],
q(byw) => [
- q(1611),
+ q(1614),
q(0),
],
q(byx) => [
- q(1612),
+ q(1615),
q(0),
],
q(byy) => [
- q(1613),
+ q(1616),
q(0),
],
q(byz) => [
- q(1614),
+ q(1617),
q(0),
],
q(bza) => [
- q(1615),
+ q(1618),
q(0),
],
q(bzb) => [
- q(1616),
+ q(1619),
q(0),
],
q(bzc) => [
- q(1617),
+ q(1620),
q(0),
],
q(bzd) => [
- q(1618),
+ q(1621),
q(0),
],
q(bze) => [
- q(1619),
+ q(1622),
q(0),
],
q(bzf) => [
- q(1620),
+ q(1623),
q(0),
],
q(bzg) => [
- q(1621),
+ q(1624),
q(0),
],
q(bzh) => [
- q(1622),
+ q(1625),
q(0),
],
q(bzi) => [
- q(1623),
+ q(1626),
q(0),
],
q(bzj) => [
- q(1624),
+ q(1627),
q(0),
],
q(bzk) => [
- q(1625),
+ q(1628),
q(0),
],
q(bzl) => [
- q(1626),
+ q(1629),
q(0),
],
q(bzm) => [
- q(1627),
+ q(1630),
q(0),
],
q(bzn) => [
- q(1628),
+ q(1631),
q(0),
],
q(bzo) => [
- q(1629),
+ q(1632),
q(0),
],
q(bzp) => [
- q(1630),
+ q(1633),
q(0),
],
q(bzq) => [
- q(1631),
+ q(1634),
q(0),
],
q(bzr) => [
- q(1632),
+ q(1635),
q(0),
],
q(bzs) => [
- q(1633),
+ q(1636),
q(0),
],
q(bzt) => [
- q(1634),
+ q(1637),
q(0),
],
q(bzu) => [
- q(1635),
+ q(1638),
q(0),
],
q(bzv) => [
- q(1636),
+ q(1639),
q(0),
],
q(bzw) => [
- q(1637),
+ q(1640),
q(0),
],
q(bzx) => [
- q(1638),
+ q(1641),
q(0),
],
q(bzy) => [
- q(1639),
+ q(1642),
q(0),
],
q(bzz) => [
- q(1640),
+ q(1643),
q(0),
],
q(caa) => [
- q(1641),
+ q(1644),
q(0),
],
q(cab) => [
- q(1642),
+ q(1645),
q(0),
],
q(cac) => [
- q(1643),
+ q(1646),
q(0),
],
q(cad) => [
@@ -62164,19 +62930,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cae) => [
- q(1644),
+ q(1647),
q(0),
],
q(caf) => [
- q(1645),
+ q(1648),
q(0),
],
q(cag) => [
- q(1646),
+ q(1649),
q(0),
],
q(cah) => [
- q(1647),
+ q(1650),
q(0),
],
q(cai) => [
@@ -62184,35 +62950,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(caj) => [
- q(1648),
+ q(1651),
q(0),
],
q(cak) => [
- q(1649),
+ q(1652),
q(0),
],
q(cal) => [
- q(1650),
+ q(1653),
q(0),
],
q(cam) => [
- q(1651),
+ q(1654),
q(0),
],
q(can) => [
- q(1652),
+ q(1655),
q(0),
],
q(cao) => [
- q(1653),
+ q(1656),
q(0),
],
q(cap) => [
- q(1654),
+ q(1657),
q(0),
],
q(caq) => [
- q(1655),
+ q(1658),
q(0),
],
q(car) => [
@@ -62220,7 +62986,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cas) => [
- q(1656),
+ q(1659),
q(0),
],
q(cat) => [
@@ -62232,23 +62998,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cav) => [
- q(1657),
+ q(1660),
q(0),
],
q(caw) => [
- q(1658),
+ q(1661),
q(0),
],
q(cax) => [
- q(1659),
+ q(1662),
q(0),
],
q(cay) => [
- q(1660),
+ q(1663),
q(0),
],
q(caz) => [
- q(1661),
+ q(1664),
q(0),
],
q(cba) => [
@@ -62256,115 +63022,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cbb) => [
- q(1662),
+ q(1665),
q(0),
],
q(cbc) => [
- q(1663),
+ q(1666),
q(0),
],
q(cbd) => [
- q(1664),
+ q(1667),
q(0),
],
q(cbe) => [
- q(1665),
+ q(1668),
q(0),
],
q(cbg) => [
- q(1666),
+ q(1669),
q(0),
],
q(cbh) => [
- q(1667),
+ q(1670),
q(0),
],
q(cbi) => [
- q(1668),
+ q(1671),
q(0),
],
q(cbj) => [
- q(1669),
+ q(1672),
q(0),
],
q(cbk) => [
- q(1670),
+ q(1673),
q(0),
],
q(cbl) => [
- q(1671),
+ q(1674),
q(0),
],
q(cbn) => [
- q(1672),
+ q(1675),
q(0),
],
q(cbo) => [
- q(1673),
+ q(1676),
q(0),
],
q(cbr) => [
- q(1674),
+ q(1677),
q(0),
],
q(cbs) => [
- q(1675),
+ q(1678),
q(0),
],
q(cbt) => [
- q(1676),
+ q(1679),
q(0),
],
q(cbu) => [
- q(1677),
+ q(1680),
q(0),
],
q(cbv) => [
- q(1678),
+ q(1681),
q(0),
],
q(cbw) => [
- q(1679),
+ q(1682),
q(0),
],
q(cby) => [
- q(1680),
+ q(1683),
q(0),
],
q(cca) => [
- q(1681),
+ q(1684),
q(0),
],
q(ccc) => [
- q(1682),
+ q(1685),
q(0),
],
q(ccd) => [
- q(1683),
+ q(1686),
q(0),
],
q(cce) => [
- q(1684),
+ q(1687),
q(0),
],
q(ccg) => [
- q(1685),
+ q(1688),
q(0),
],
q(cch) => [
- q(1686),
+ q(1689),
q(0),
],
q(ccj) => [
- q(1687),
+ q(1690),
q(0),
],
q(ccl) => [
- q(1688),
+ q(1691),
q(0),
],
q(ccm) => [
- q(1689),
+ q(1692),
q(0),
],
q(ccn) => [
@@ -62372,15 +63138,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cco) => [
- q(1690),
+ q(1693),
q(0),
],
q(ccp) => [
- q(1691),
+ q(1694),
q(0),
],
q(ccr) => [
- q(1692),
+ q(1695),
q(0),
],
q(ccs) => [
@@ -62388,7 +63154,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cda) => [
- q(1693),
+ q(1696),
q(0),
],
q(cdc) => [
@@ -62400,59 +63166,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cde) => [
- q(1694),
+ q(1697),
q(0),
],
q(cdf) => [
- q(1695),
+ q(1698),
q(0),
],
q(cdg) => [
- q(1696),
+ q(1699),
q(0),
],
q(cdh) => [
- q(1697),
+ q(1700),
q(0),
],
q(cdi) => [
- q(1698),
+ q(1701),
q(0),
],
q(cdj) => [
- q(1699),
+ q(1702),
q(0),
],
q(cdm) => [
- q(1700),
+ q(1703),
q(0),
],
q(cdn) => [
- q(1701),
+ q(1704),
q(0),
],
q(cdo) => [
- q(1702),
+ q(1705),
q(0),
],
q(cdr) => [
- q(1703),
+ q(1706),
q(0),
],
q(cds) => [
- q(1704),
+ q(1707),
q(0),
],
q(cdy) => [
- q(1705),
+ q(1708),
q(0),
],
q(cdz) => [
- q(1706),
+ q(1709),
q(0),
],
q(cea) => [
- q(1707),
+ q(1710),
q(0),
],
q(ceb) => [
@@ -62460,11 +63226,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ceg) => [
- q(1708),
+ q(1711),
q(0),
],
q(cek) => [
- q(1709),
+ q(1712),
q(0),
],
q(cel) => [
@@ -62472,43 +63238,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cen) => [
- q(1710),
+ q(1713),
q(0),
],
q(cet) => [
- q(1711),
+ q(1714),
q(0),
],
q(cfa) => [
- q(1712),
+ q(1715),
q(0),
],
q(cfd) => [
- q(1713),
+ q(1716),
q(0),
],
q(cfg) => [
- q(1714),
+ q(1717),
q(0),
],
q(cfm) => [
- q(1715),
+ q(1718),
q(0),
],
q(cga) => [
- q(1716),
+ q(1719),
q(0),
],
q(cgc) => [
- q(1717),
+ q(1720),
q(0),
],
q(cgg) => [
- q(1718),
+ q(1721),
q(0),
],
q(cgk) => [
- q(1719),
+ q(1722),
q(0),
],
q(cha) => [
@@ -62520,11 +63286,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chc) => [
- q(1720),
+ q(1723),
q(0),
],
q(chd) => [
- q(1721),
+ q(1724),
q(0),
],
q(che) => [
@@ -62532,7 +63298,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chf) => [
- q(1722),
+ q(1725),
q(0),
],
q(chg) => [
@@ -62540,7 +63306,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chh) => [
- q(1723),
+ q(1726),
q(0),
],
q(chi) => [
@@ -62548,7 +63314,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chj) => [
- q(1724),
+ q(1727),
q(0),
],
q(chk) => [
@@ -62556,7 +63322,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chl) => [
- q(1725),
+ q(1728),
q(0),
],
q(chm) => [
@@ -62576,7 +63342,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chq) => [
- q(1726),
+ q(1729),
q(0),
],
q(chr) => [
@@ -62584,7 +63350,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cht) => [
- q(1727),
+ q(1730),
q(0),
],
q(chu) => [
@@ -62596,11 +63362,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chw) => [
- q(1728),
+ q(1731),
q(0),
],
q(chx) => [
- q(1729),
+ q(1732),
q(0),
],
q(chy) => [
@@ -62608,223 +63374,227 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(chz) => [
- q(1730),
+ q(1733),
q(0),
],
q(cia) => [
- q(1731),
+ q(1734),
q(0),
],
q(cib) => [
- q(1732),
+ q(1735),
q(0),
],
q(cic) => [
- q(1733),
+ q(1736),
q(0),
],
q(cid) => [
- q(1734),
+ q(1737),
q(0),
],
q(cie) => [
- q(1735),
+ q(1738),
q(0),
],
q(cih) => [
- q(1736),
+ q(1739),
q(0),
],
q(cik) => [
- q(1737),
+ q(1740),
q(0),
],
q(cim) => [
- q(1738),
+ q(1741),
q(0),
],
q(cin) => [
- q(1739),
+ q(1742),
q(0),
],
q(cip) => [
- q(1740),
+ q(1743),
q(0),
],
q(cir) => [
- q(1741),
+ q(1744),
q(0),
],
q(ciw) => [
- q(1742),
+ q(1745),
q(0),
],
q(ciy) => [
- q(1743),
+ q(1746),
q(0),
],
q(cja) => [
- q(1744),
+ q(1747),
q(0),
],
q(cje) => [
- q(1745),
+ q(1748),
q(0),
],
q(cjh) => [
- q(1746),
+ q(1749),
q(0),
],
q(cji) => [
- q(1747),
+ q(1750),
q(0),
],
q(cjk) => [
- q(1748),
+ q(1751),
q(0),
],
q(cjm) => [
- q(1749),
+ q(1752),
q(0),
],
q(cjn) => [
- q(1750),
+ q(1753),
q(0),
],
q(cjo) => [
- q(1751),
+ q(1754),
q(0),
],
q(cjp) => [
- q(1752),
+ q(1755),
q(0),
],
q(cjs) => [
- q(1753),
+ q(1756),
q(0),
],
q(cjv) => [
- q(1754),
+ q(1757),
q(0),
],
q(cjy) => [
- q(1755),
+ q(1758),
q(0),
],
q(ckb) => [
- q(1756),
+ q(1759),
q(0),
],
q(ckh) => [
- q(1757),
+ q(1760),
q(0),
],
q(ckl) => [
- q(1758),
+ q(1761),
+ q(0),
+ ],
+ q(ckn) => [
+ q(1762),
q(0),
],
q(cko) => [
- q(1759),
+ q(1763),
q(0),
],
q(ckq) => [
- q(1760),
+ q(1764),
q(0),
],
q(ckr) => [
- q(1761),
+ q(1765),
q(0),
],
q(cks) => [
- q(1762),
+ q(1766),
q(0),
],
q(ckt) => [
- q(1763),
+ q(1767),
q(0),
],
q(cku) => [
- q(1764),
+ q(1768),
q(0),
],
q(ckv) => [
- q(1765),
+ q(1769),
q(0),
],
q(ckx) => [
- q(1766),
+ q(1770),
q(0),
],
q(cky) => [
- q(1767),
+ q(1771),
q(0),
],
q(ckz) => [
- q(1768),
+ q(1772),
q(0),
],
q(cla) => [
- q(1769),
+ q(1773),
q(0),
],
q(clc) => [
- q(1770),
+ q(1774),
q(0),
],
q(cld) => [
- q(1771),
+ q(1775),
q(0),
],
q(cle) => [
- q(1772),
+ q(1776),
q(0),
],
q(clh) => [
- q(1773),
+ q(1777),
q(0),
],
q(cli) => [
- q(1774),
+ q(1778),
q(0),
],
q(clj) => [
- q(1775),
+ q(1779),
q(0),
],
q(clk) => [
- q(1776),
+ q(1780),
q(0),
],
q(cll) => [
- q(1777),
+ q(1781),
q(0),
],
q(clm) => [
- q(1778),
+ q(1782),
q(0),
],
q(clo) => [
- q(1779),
+ q(1783),
q(0),
],
q(clt) => [
- q(1780),
+ q(1784),
q(0),
],
q(clu) => [
- q(1781),
+ q(1785),
q(0),
],
q(clw) => [
- q(1782),
+ q(1786),
q(0),
],
q(cly) => [
- q(1783),
+ q(1787),
q(0),
],
q(cma) => [
- q(1784),
+ q(1788),
q(0),
],
q(cmc) => [
@@ -62832,155 +63602,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cme) => [
- q(1785),
+ q(1789),
q(0),
],
q(cmg) => [
- q(1786),
+ q(1790),
q(0),
],
q(cmi) => [
- q(1787),
+ q(1791),
q(0),
],
q(cml) => [
- q(1788),
+ q(1792),
q(0),
],
q(cmm) => [
- q(1789),
+ q(1793),
q(0),
],
q(cmn) => [
- q(1790),
+ q(1794),
q(0),
],
q(cmo) => [
- q(1791),
+ q(1795),
q(0),
],
q(cmr) => [
- q(1792),
+ q(1796),
q(0),
],
q(cms) => [
- q(1793),
+ q(1797),
q(0),
],
q(cmt) => [
- q(1794),
+ q(1798),
q(0),
],
q(cna) => [
- q(1795),
+ q(1799),
q(0),
],
q(cnb) => [
- q(1796),
+ q(1800),
q(0),
],
q(cnc) => [
- q(1797),
+ q(1801),
q(0),
],
q(cng) => [
- q(1798),
+ q(1802),
q(0),
],
q(cnh) => [
- q(1799),
+ q(1803),
q(0),
],
q(cni) => [
- q(1800),
+ q(1804),
q(0),
],
q(cnk) => [
- q(1801),
+ q(1805),
q(0),
],
q(cnl) => [
- q(1802),
+ q(1806),
q(0),
],
q(cno) => [
- q(1803),
+ q(1807),
q(0),
],
q(cns) => [
- q(1804),
+ q(1808),
q(0),
],
q(cnt) => [
- q(1805),
+ q(1809),
q(0),
],
q(cnu) => [
- q(1806),
+ q(1810),
q(0),
],
q(cnw) => [
- q(1807),
+ q(1811),
q(0),
],
q(cnx) => [
- q(1808),
+ q(1812),
q(0),
],
q(coa) => [
- q(1809),
+ q(1813),
q(0),
],
q(cob) => [
- q(1810),
+ q(1814),
q(0),
],
q(coc) => [
- q(1811),
+ q(1815),
q(0),
],
q(cod) => [
- q(1812),
+ q(1816),
q(0),
],
q(coe) => [
- q(1813),
+ q(1817),
q(0),
],
q(cof) => [
- q(1814),
+ q(1818),
q(0),
],
q(cog) => [
- q(1815),
+ q(1819),
q(0),
],
q(coh) => [
- q(1816),
+ q(1820),
q(0),
],
q(coj) => [
- q(1817),
+ q(1821),
q(0),
],
q(cok) => [
- q(1818),
+ q(1822),
q(0),
],
q(col) => [
- q(1819),
+ q(1823),
q(0),
],
q(com) => [
- q(1820),
+ q(1824),
q(0),
],
q(con) => [
- q(1821),
+ q(1825),
q(0),
],
q(coo) => [
- q(1822),
+ q(1826),
q(0),
],
q(cop) => [
@@ -62988,7 +63758,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(coq) => [
- q(1823),
+ q(1827),
q(0),
],
q(cor) => [
@@ -63000,43 +63770,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cot) => [
- q(1824),
+ q(1828),
q(0),
],
q(cou) => [
- q(1825),
+ q(1829),
q(0),
],
q(cov) => [
- q(1826),
+ q(1830),
q(0),
],
q(cow) => [
- q(1827),
+ q(1831),
q(0),
],
q(cox) => [
- q(1828),
+ q(1832),
q(0),
],
q(coy) => [
- q(1829),
+ q(1833),
q(0),
],
q(coz) => [
- q(1830),
+ q(1834),
q(0),
],
q(cpa) => [
- q(1831),
+ q(1835),
q(0),
],
q(cpb) => [
- q(1832),
+ q(1836),
q(0),
],
q(cpc) => [
- q(1833),
+ q(1837),
q(0),
],
q(cpe) => [
@@ -63048,15 +63818,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(2),
],
q(cpg) => [
- q(1834),
+ q(1838),
q(0),
],
q(cpi) => [
- q(1835),
+ q(1839),
q(0),
],
q(cpn) => [
- q(1836),
+ q(1840),
+ q(0),
+ ],
+ q(cpo) => [
+ q(1841),
q(0),
],
q(cpp) => [
@@ -63064,43 +63838,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(2),
],
q(cps) => [
- q(1837),
+ q(1842),
q(0),
],
q(cpu) => [
- q(1838),
+ q(1843),
q(0),
],
q(cpx) => [
- q(1839),
+ q(1844),
q(0),
],
q(cpy) => [
- q(1840),
+ q(1845),
q(0),
],
q(cqd) => [
- q(1841),
+ q(1846),
q(0),
],
q(cqu) => [
- q(1842),
+ q(1847),
q(0),
],
q(cra) => [
- q(1843),
+ q(1848),
q(0),
],
q(crb) => [
- q(1844),
+ q(1849),
q(0),
],
q(crc) => [
- q(1845),
+ q(1850),
q(0),
],
q(crd) => [
- q(1846),
+ q(1851),
q(0),
],
q(cre) => [
@@ -63108,11 +63882,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(crf) => [
- q(1847),
+ q(1852),
q(0),
],
q(crg) => [
- q(1848),
+ q(1853),
q(0),
],
q(crh) => [
@@ -63120,31 +63894,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cri) => [
- q(1849),
+ q(1854),
q(0),
],
q(crj) => [
- q(1850),
+ q(1855),
q(0),
],
q(crk) => [
- q(1851),
+ q(1856),
q(0),
],
q(crl) => [
- q(1852),
+ q(1857),
q(0),
],
q(crm) => [
- q(1853),
+ q(1858),
q(0),
],
q(crn) => [
- q(1854),
+ q(1859),
q(0),
],
q(cro) => [
- q(1855),
+ q(1860),
q(0),
],
q(crp) => [
@@ -63152,43 +63926,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(crq) => [
- q(1856),
+ q(1861),
q(0),
],
q(crr) => [
- q(1857),
+ q(1862),
q(0),
],
q(crs) => [
- q(1858),
+ q(1863),
q(0),
],
q(crt) => [
- q(1859),
+ q(1864),
q(0),
],
q(crv) => [
- q(1860),
+ q(1865),
q(0),
],
q(crw) => [
- q(1861),
+ q(1866),
q(0),
],
q(crx) => [
- q(1862),
+ q(1867),
q(0),
],
q(cry) => [
- q(1863),
+ q(1868),
q(0),
],
q(crz) => [
- q(1864),
+ q(1869),
q(0),
],
q(csa) => [
- q(1865),
+ q(1870),
q(0),
],
q(csb) => [
@@ -63196,67 +63970,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(csc) => [
- q(1866),
+ q(1871),
q(0),
],
q(csd) => [
- q(1867),
+ q(1872),
q(0),
],
q(cse) => [
- q(1868),
+ q(1873),
q(0),
],
q(csf) => [
- q(1869),
+ q(1874),
q(0),
],
q(csg) => [
- q(1870),
+ q(1875),
q(0),
],
q(csh) => [
- q(1871),
+ q(1876),
q(0),
],
q(csi) => [
- q(1872),
+ q(1877),
+ q(0),
+ ],
+ q(csj) => [
+ q(1878),
q(0),
],
q(csk) => [
- q(1873),
+ q(1879),
q(0),
],
q(csl) => [
- q(1874),
+ q(1880),
q(0),
],
q(csm) => [
- q(1875),
+ q(1881),
q(0),
],
q(csn) => [
- q(1876),
+ q(1882),
q(0),
],
q(cso) => [
- q(1877),
+ q(1883),
q(0),
],
q(csq) => [
- q(1878),
+ q(1884),
q(0),
],
q(csr) => [
- q(1879),
+ q(1885),
q(0),
],
q(css) => [
- q(1880),
+ q(1886),
q(0),
],
q(cst) => [
- q(1881),
+ q(1887),
q(0),
],
q(csu) => [
@@ -63264,135 +64042,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(csv) => [
- q(1882),
+ q(1888),
q(0),
],
q(csw) => [
- q(1883),
+ q(1889),
q(0),
],
q(csy) => [
- q(1884),
+ q(1890),
q(0),
],
q(csz) => [
- q(1885),
+ q(1891),
q(0),
],
q(cta) => [
- q(1886),
+ q(1892),
q(0),
],
q(ctc) => [
- q(1887),
+ q(1893),
q(0),
],
q(ctd) => [
- q(1888),
+ q(1894),
q(0),
],
q(cte) => [
- q(1889),
+ q(1895),
q(0),
],
q(ctg) => [
- q(1890),
+ q(1896),
q(0),
],
q(cth) => [
- q(1891),
+ q(1897),
q(0),
],
q(ctl) => [
- q(1892),
+ q(1898),
q(0),
],
q(ctm) => [
- q(1893),
+ q(1899),
q(0),
],
q(ctn) => [
- q(1894),
+ q(1900),
q(0),
],
q(cto) => [
- q(1895),
+ q(1901),
q(0),
],
q(ctp) => [
- q(1896),
+ q(1902),
q(0),
],
q(cts) => [
- q(1897),
+ q(1903),
q(0),
],
q(ctt) => [
- q(1898),
+ q(1904),
q(0),
],
q(ctu) => [
- q(1899),
+ q(1905),
q(0),
],
q(ctz) => [
- q(1900),
+ q(1906),
q(0),
],
q(cua) => [
- q(1901),
+ q(1907),
q(0),
],
q(cub) => [
- q(1902),
+ q(1908),
q(0),
],
q(cuc) => [
- q(1903),
+ q(1909),
q(0),
],
q(cug) => [
- q(1904),
+ q(1910),
q(0),
],
q(cuh) => [
- q(1905),
+ q(1911),
q(0),
],
q(cui) => [
- q(1906),
+ q(1912),
q(0),
],
q(cuj) => [
- q(1907),
+ q(1913),
q(0),
],
q(cuk) => [
- q(1908),
+ q(1914),
q(0),
],
q(cul) => [
- q(1909),
+ q(1915),
q(0),
],
q(cum) => [
- q(1910),
+ q(1916),
q(0),
],
q(cuo) => [
- q(1911),
+ q(1917),
q(0),
],
q(cup) => [
- q(1912),
+ q(1918),
q(0),
],
q(cuq) => [
- q(1913),
+ q(1919),
q(0),
],
q(cur) => [
- q(1914),
+ q(1920),
q(0),
],
q(cus) => [
@@ -63400,67 +64178,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(cut) => [
- q(1915),
+ q(1921),
q(0),
],
q(cuu) => [
- q(1916),
+ q(1922),
q(0),
],
q(cuv) => [
- q(1917),
+ q(1923),
q(0),
],
q(cuw) => [
- q(1918),
+ q(1924),
q(0),
],
q(cux) => [
- q(1919),
+ q(1925),
q(0),
],
q(cvg) => [
- q(1920),
+ q(1926),
q(0),
],
q(cvn) => [
- q(1921),
+ q(1927),
q(0),
],
q(cwa) => [
- q(1922),
+ q(1928),
q(0),
],
q(cwb) => [
- q(1923),
+ q(1929),
q(0),
],
q(cwd) => [
- q(1924),
+ q(1930),
q(0),
],
q(cwe) => [
- q(1925),
+ q(1931),
q(0),
],
q(cwg) => [
- q(1926),
+ q(1932),
q(0),
],
q(cwt) => [
- q(1927),
+ q(1933),
q(0),
],
q(cya) => [
- q(1928),
+ q(1934),
q(0),
],
q(cyb) => [
- q(1929),
+ q(1935),
q(0),
],
q(cyo) => [
- q(1930),
+ q(1936),
q(0),
],
q(cze) => [
@@ -63468,59 +64246,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(czh) => [
- q(1931),
+ q(1937),
q(0),
],
q(czk) => [
- q(1932),
+ q(1938),
q(0),
],
q(czn) => [
- q(1933),
+ q(1939),
q(0),
],
q(czo) => [
- q(1934),
+ q(1940),
q(0),
],
q(czt) => [
- q(1935),
+ q(1941),
q(0),
],
q(daa) => [
- q(1936),
+ q(1942),
q(0),
],
q(dac) => [
- q(1937),
+ q(1943),
q(0),
],
q(dad) => [
- q(1938),
+ q(1944),
q(0),
],
q(dae) => [
- q(1939),
- q(0),
- ],
- q(daf) => [
- q(1940),
+ q(1945),
q(0),
],
q(dag) => [
- q(1941),
+ q(1946),
q(0),
],
q(dah) => [
- q(1942),
+ q(1947),
q(0),
],
q(dai) => [
- q(1943),
+ q(1948),
q(0),
],
q(daj) => [
- q(1944),
+ q(1949),
q(0),
],
q(dak) => [
@@ -63528,11 +64302,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dal) => [
- q(1945),
+ q(1950),
q(0),
],
q(dam) => [
- q(1946),
+ q(1951),
q(0),
],
q(dan) => [
@@ -63540,11 +64314,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dao) => [
- q(1947),
+ q(1952),
q(0),
],
q(daq) => [
- q(1948),
+ q(1953),
q(0),
],
q(dar) => [
@@ -63552,23 +64326,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(das) => [
- q(1949),
+ q(1954),
q(0),
],
q(dau) => [
- q(1950),
+ q(1955),
q(0),
],
q(dav) => [
- q(1951),
+ q(1956),
q(0),
],
q(daw) => [
- q(1952),
+ q(1957),
q(0),
],
q(dax) => [
- q(1953),
+ q(1958),
q(0),
],
q(day) => [
@@ -63576,171 +64350,171 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(daz) => [
- q(1954),
+ q(1959),
q(0),
],
q(dba) => [
- q(1955),
+ q(1960),
q(0),
],
q(dbb) => [
- q(1956),
+ q(1961),
q(0),
],
q(dbd) => [
- q(1957),
+ q(1962),
q(0),
],
q(dbe) => [
- q(1958),
+ q(1963),
q(0),
],
q(dbf) => [
- q(1959),
+ q(1964),
q(0),
],
q(dbg) => [
- q(1960),
+ q(1965),
q(0),
],
q(dbi) => [
- q(1961),
+ q(1966),
q(0),
],
q(dbj) => [
- q(1962),
+ q(1967),
q(0),
],
q(dbl) => [
- q(1963),
+ q(1968),
q(0),
],
q(dbm) => [
- q(1964),
+ q(1969),
q(0),
],
q(dbn) => [
- q(1965),
+ q(1970),
q(0),
],
q(dbo) => [
- q(1966),
+ q(1971),
q(0),
],
q(dbp) => [
- q(1967),
+ q(1972),
q(0),
],
q(dbq) => [
- q(1968),
+ q(1973),
q(0),
],
q(dbr) => [
- q(1969),
+ q(1974),
q(0),
],
q(dbt) => [
- q(1970),
+ q(1975),
q(0),
],
q(dbu) => [
- q(1971),
+ q(1976),
q(0),
],
q(dbv) => [
- q(1972),
+ q(1977),
q(0),
],
q(dbw) => [
- q(1973),
+ q(1978),
q(0),
],
q(dby) => [
- q(1974),
+ q(1979),
q(0),
],
q(dcc) => [
- q(1975),
+ q(1980),
q(0),
],
q(dcr) => [
- q(1976),
+ q(1981),
q(0),
],
q(dda) => [
- q(1977),
+ q(1982),
q(0),
],
q(ddd) => [
- q(1978),
+ q(1983),
q(0),
],
q(dde) => [
- q(1979),
+ q(1984),
q(0),
],
q(ddg) => [
- q(1980),
+ q(1985),
q(0),
],
q(ddi) => [
- q(1981),
+ q(1986),
q(0),
],
q(ddj) => [
- q(1982),
+ q(1987),
q(0),
],
q(ddn) => [
- q(1983),
+ q(1988),
q(0),
],
q(ddo) => [
- q(1984),
+ q(1989),
q(0),
],
q(ddr) => [
- q(1985),
+ q(1990),
q(0),
],
q(dds) => [
- q(1986),
+ q(1991),
q(0),
],
q(ddw) => [
- q(1987),
+ q(1992),
q(0),
],
q(dec) => [
- q(1988),
+ q(1993),
q(0),
],
q(ded) => [
- q(1989),
+ q(1994),
q(0),
],
q(dee) => [
- q(1990),
+ q(1995),
q(0),
],
q(def) => [
- q(1991),
+ q(1996),
q(0),
],
q(deg) => [
- q(1992),
+ q(1997),
q(0),
],
q(deh) => [
- q(1993),
+ q(1998),
q(0),
],
q(dei) => [
- q(1994),
+ q(1999),
q(0),
],
q(dek) => [
- q(1995),
+ q(2000),
q(0),
],
q(del) => [
@@ -63748,7 +64522,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dem) => [
- q(1996),
+ q(2001),
q(0),
],
q(den) => [
@@ -63756,75 +64530,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dep) => [
- q(1997),
+ q(2002),
q(0),
],
q(deq) => [
- q(1998),
+ q(2003),
q(0),
],
q(der) => [
- q(1999),
+ q(2004),
q(0),
],
q(des) => [
- q(2000),
+ q(2005),
q(0),
],
q(dev) => [
- q(2001),
+ q(2006),
q(0),
],
q(dez) => [
- q(2002),
+ q(2007),
q(0),
],
q(dga) => [
- q(2003),
+ q(2008),
q(0),
],
q(dgb) => [
- q(2004),
+ q(2009),
q(0),
],
q(dgc) => [
- q(2005),
+ q(2010),
q(0),
],
q(dgd) => [
- q(2006),
+ q(2011),
q(0),
],
q(dge) => [
- q(2007),
+ q(2012),
q(0),
],
q(dgg) => [
- q(2008),
+ q(2013),
q(0),
],
q(dgh) => [
- q(2009),
+ q(2014),
q(0),
],
q(dgi) => [
- q(2010),
+ q(2015),
q(0),
],
q(dgk) => [
- q(2011),
+ q(2016),
q(0),
],
q(dgl) => [
- q(2012),
+ q(2017),
q(0),
],
q(dgn) => [
- q(2013),
+ q(2018),
q(0),
],
q(dgo) => [
- q(2014),
+ q(2019),
q(0),
],
q(dgr) => [
@@ -63832,123 +64606,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dgs) => [
- q(2015),
+ q(2020),
q(0),
],
q(dgt) => [
- q(2016),
+ q(2021),
q(0),
],
q(dgu) => [
- q(2017),
+ q(2022),
q(0),
],
q(dgw) => [
- q(2018),
+ q(2023),
q(0),
],
q(dgx) => [
- q(2019),
+ q(2024),
q(0),
],
q(dgz) => [
- q(2020),
+ q(2025),
q(0),
],
q(dhd) => [
- q(2021),
+ q(2026),
q(0),
],
q(dhg) => [
- q(2022),
+ q(2027),
q(0),
],
q(dhi) => [
- q(2023),
+ q(2028),
q(0),
],
q(dhl) => [
- q(2024),
+ q(2029),
q(0),
],
q(dhm) => [
- q(2025),
+ q(2030),
q(0),
],
q(dhn) => [
- q(2026),
+ q(2031),
q(0),
],
q(dho) => [
- q(2027),
+ q(2032),
q(0),
],
q(dhr) => [
- q(2028),
+ q(2033),
q(0),
],
q(dhs) => [
- q(2029),
+ q(2034),
q(0),
],
q(dhu) => [
- q(2030),
+ q(2035),
q(0),
],
q(dhv) => [
- q(2031),
+ q(2036),
q(0),
],
q(dhw) => [
- q(2032),
+ q(2037),
+ q(0),
+ ],
+ q(dhx) => [
+ q(2038),
q(0),
],
q(dia) => [
- q(2033),
+ q(2039),
q(0),
],
q(dib) => [
- q(2034),
+ q(2040),
q(0),
],
q(dic) => [
- q(2035),
+ q(2041),
q(0),
],
q(did) => [
- q(2036),
+ q(2042),
q(0),
],
q(dif) => [
- q(2037),
+ q(2043),
q(0),
],
q(dig) => [
- q(2038),
+ q(2044),
q(0),
],
q(dih) => [
- q(2039),
+ q(2045),
q(0),
],
q(dii) => [
- q(2040),
+ q(2046),
q(0),
],
q(dij) => [
- q(2041),
+ q(2047),
q(0),
],
q(dik) => [
- q(2042),
+ q(2048),
q(0),
],
q(dil) => [
- q(2043),
+ q(2049),
q(0),
],
q(dim) => [
- q(2044),
+ q(2050),
q(0),
],
q(din) => [
@@ -63956,31 +64734,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dio) => [
- q(2045),
+ q(2051),
q(0),
],
q(dip) => [
- q(2046),
+ q(2052),
q(0),
],
q(diq) => [
- q(2047),
+ q(2053),
q(0),
],
q(dir) => [
- q(2048),
+ q(2054),
q(0),
],
q(dis) => [
- q(2049),
+ q(2055),
q(0),
],
q(dit) => [
- q(2050),
+ q(2056),
q(0),
],
q(diu) => [
- q(2051),
+ q(2057),
q(0),
],
q(div) => [
@@ -63988,151 +64766,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(diw) => [
- q(2052),
+ q(2058),
q(0),
],
q(dix) => [
- q(2053),
+ q(2059),
q(0),
],
q(diy) => [
- q(2054),
+ q(2060),
q(0),
],
q(diz) => [
- q(2055),
+ q(2061),
q(0),
],
q(dja) => [
- q(2056),
+ q(2062),
q(0),
],
q(djb) => [
- q(2057),
+ q(2063),
q(0),
],
q(djc) => [
- q(2058),
+ q(2064),
q(0),
],
q(djd) => [
- q(2059),
+ q(2065),
q(0),
],
q(dje) => [
- q(2060),
+ q(2066),
q(0),
],
q(djf) => [
- q(2061),
+ q(2067),
q(0),
],
q(dji) => [
- q(2062),
+ q(2068),
q(0),
],
q(djj) => [
- q(2063),
+ q(2069),
q(0),
],
q(djk) => [
- q(2064),
- q(0),
- ],
- q(djl) => [
- q(2065),
+ q(2070),
q(0),
],
q(djm) => [
- q(2066),
+ q(2071),
q(0),
],
q(djn) => [
- q(2067),
+ q(2072),
q(0),
],
q(djo) => [
- q(2068),
+ q(2073),
q(0),
],
q(djr) => [
- q(2069),
+ q(2074),
q(0),
],
q(dju) => [
- q(2070),
+ q(2075),
q(0),
],
q(djw) => [
- q(2071),
+ q(2076),
q(0),
],
q(dka) => [
- q(2072),
+ q(2077),
q(0),
],
q(dkk) => [
- q(2073),
+ q(2078),
q(0),
],
q(dkr) => [
- q(2074),
+ q(2079),
q(0),
],
q(dks) => [
- q(2075),
+ q(2080),
q(0),
],
q(dkx) => [
- q(2076),
+ q(2081),
q(0),
],
q(dlg) => [
- q(2077),
+ q(2082),
+ q(0),
+ ],
+ q(dlk) => [
+ q(2083),
q(0),
],
q(dlm) => [
- q(2078),
+ q(2084),
q(0),
],
q(dln) => [
- q(2079),
+ q(2085),
q(0),
],
q(dma) => [
- q(2080),
+ q(2086),
q(0),
],
q(dmb) => [
- q(2081),
+ q(2087),
q(0),
],
q(dmc) => [
- q(2082),
+ q(2088),
q(0),
],
q(dmd) => [
- q(2083),
+ q(2089),
q(0),
],
q(dme) => [
- q(2084),
+ q(2090),
q(0),
],
q(dmg) => [
- q(2085),
+ q(2091),
q(0),
],
q(dmk) => [
- q(2086),
+ q(2092),
q(0),
],
q(dml) => [
- q(2087),
+ q(2093),
q(0),
],
q(dmm) => [
- q(2088),
+ q(2094),
q(0),
],
q(dmn) => [
@@ -64140,107 +64918,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dmo) => [
- q(2089),
+ q(2095),
q(0),
],
q(dmr) => [
- q(2090),
+ q(2096),
q(0),
],
q(dms) => [
- q(2091),
+ q(2097),
q(0),
],
q(dmu) => [
- q(2092),
+ q(2098),
q(0),
],
q(dmv) => [
- q(2093),
+ q(2099),
+ q(0),
+ ],
+ q(dmw) => [
+ q(2100),
q(0),
],
q(dmx) => [
- q(2094),
+ q(2101),
q(0),
],
q(dmy) => [
- q(2095),
+ q(2102),
q(0),
],
q(dna) => [
- q(2096),
+ q(2103),
q(0),
],
q(dnd) => [
- q(2097),
+ q(2104),
q(0),
],
q(dne) => [
- q(2098),
+ q(2105),
q(0),
],
q(dng) => [
- q(2099),
+ q(2106),
q(0),
],
q(dni) => [
- q(2100),
+ q(2107),
+ q(0),
+ ],
+ q(dnj) => [
+ q(2108),
q(0),
],
q(dnk) => [
- q(2101),
+ q(2109),
q(0),
],
q(dnn) => [
- q(2102),
+ q(2110),
q(0),
],
q(dnr) => [
- q(2103),
+ q(2111),
q(0),
],
q(dnt) => [
- q(2104),
+ q(2112),
q(0),
],
q(dnu) => [
- q(2105),
+ q(2113),
q(0),
],
q(dnv) => [
- q(2106),
+ q(2114),
q(0),
],
q(dnw) => [
- q(2107),
+ q(2115),
q(0),
],
q(dny) => [
- q(2108),
+ q(2116),
q(0),
],
q(doa) => [
- q(2109),
+ q(2117),
q(0),
],
q(dob) => [
- q(2110),
+ q(2118),
q(0),
],
q(doc) => [
- q(2111),
+ q(2119),
q(0),
],
q(doe) => [
- q(2112),
+ q(2120),
q(0),
],
q(dof) => [
- q(2113),
+ q(2121),
q(0),
],
q(doh) => [
- q(2114),
+ q(2122),
q(0),
],
q(doi) => [
@@ -64248,63 +65034,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(dok) => [
- q(2115),
+ q(2123),
q(0),
],
q(dol) => [
- q(2116),
+ q(2124),
q(0),
],
q(don) => [
- q(2117),
+ q(2125),
q(0),
],
q(doo) => [
- q(2118),
+ q(2126),
q(0),
],
q(dop) => [
- q(2119),
+ q(2127),
q(0),
],
q(doq) => [
- q(2120),
+ q(2128),
q(0),
],
q(dor) => [
- q(2121),
+ q(2129),
q(0),
],
q(dos) => [
- q(2122),
+ q(2130),
q(0),
],
q(dot) => [
- q(2123),
+ q(2131),
q(0),
],
q(dov) => [
- q(2124),
+ q(2132),
q(0),
],
q(dow) => [
- q(2125),
+ q(2133),
q(0),
],
q(dox) => [
- q(2126),
+ q(2134),
q(0),
],
q(doy) => [
- q(2127),
+ q(2135),
q(0),
],
q(doz) => [
- q(2128),
+ q(2136),
q(0),
],
q(dpp) => [
- q(2129),
+ q(2137),
q(0),
],
q(dra) => [
@@ -64312,63 +65098,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(drb) => [
- q(2130),
+ q(2138),
q(0),
],
q(drc) => [
- q(2131),
+ q(2139),
q(0),
],
q(drd) => [
- q(2132),
+ q(2140),
q(0),
],
q(dre) => [
- q(2133),
+ q(2141),
q(0),
],
q(drg) => [
- q(2134),
+ q(2142),
q(0),
],
q(dri) => [
- q(2135),
+ q(2143),
q(0),
],
q(drl) => [
- q(2136),
+ q(2144),
q(0),
],
q(drn) => [
- q(2137),
+ q(2145),
q(0),
],
q(dro) => [
- q(2138),
+ q(2146),
q(0),
],
q(drq) => [
- q(2139),
+ q(2147),
q(0),
],
q(drr) => [
- q(2140),
+ q(2148),
q(0),
],
q(drs) => [
- q(2141),
+ q(2149),
q(0),
],
q(drt) => [
- q(2142),
+ q(2150),
q(0),
],
q(dru) => [
- q(2143),
+ q(2151),
q(0),
],
q(dry) => [
- q(2144),
+ q(2152),
q(0),
],
q(dsb) => [
@@ -64376,87 +65162,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dse) => [
- q(2145),
+ q(2153),
q(0),
],
q(dsh) => [
- q(2146),
+ q(2154),
q(0),
],
q(dsi) => [
- q(2147),
+ q(2155),
q(0),
],
q(dsl) => [
- q(2148),
+ q(2156),
q(0),
],
q(dsn) => [
- q(2149),
+ q(2157),
q(0),
],
q(dso) => [
- q(2150),
+ q(2158),
q(0),
],
q(dsq) => [
- q(2151),
+ q(2159),
q(0),
],
q(dta) => [
- q(2152),
+ q(2160),
q(0),
],
q(dtb) => [
- q(2153),
+ q(2161),
q(0),
],
q(dtd) => [
- q(2154),
+ q(2162),
q(0),
],
q(dth) => [
- q(2155),
+ q(2163),
q(0),
],
q(dti) => [
- q(2156),
+ q(2164),
q(0),
],
q(dtk) => [
- q(2157),
+ q(2165),
q(0),
],
q(dtm) => [
- q(2158),
+ q(2166),
q(0),
],
q(dto) => [
- q(2159),
+ q(2167),
q(0),
],
q(dtp) => [
- q(2160),
+ q(2168),
q(0),
],
q(dtr) => [
- q(2161),
+ q(2169),
q(0),
],
q(dts) => [
- q(2162),
+ q(2170),
q(0),
],
q(dtt) => [
- q(2163),
+ q(2171),
q(0),
],
q(dtu) => [
- q(2164),
+ q(2172),
q(0),
],
q(dty) => [
- q(2165),
+ q(2173),
q(0),
],
q(dua) => [
@@ -64464,47 +65250,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dub) => [
- q(2166),
+ q(2174),
q(0),
],
q(duc) => [
- q(2167),
+ q(2175),
q(0),
],
q(dud) => [
- q(2168),
+ q(2176),
q(0),
],
q(due) => [
- q(2169),
+ q(2177),
q(0),
],
q(duf) => [
- q(2170),
+ q(2178),
q(0),
],
q(dug) => [
- q(2171),
+ q(2179),
q(0),
],
q(duh) => [
- q(2172),
+ q(2180),
q(0),
],
q(dui) => [
- q(2173),
+ q(2181),
q(0),
],
q(duj) => [
- q(2174),
+ q(2182),
q(0),
],
q(duk) => [
- q(2175),
+ q(2183),
q(0),
],
q(dul) => [
- q(2176),
+ q(2184),
q(0),
],
q(dum) => [
@@ -64512,27 +65298,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(dun) => [
- q(2177),
+ q(2185),
q(0),
],
q(duo) => [
- q(2178),
+ q(2186),
q(0),
],
q(dup) => [
- q(2179),
+ q(2187),
q(0),
],
q(duq) => [
- q(2180),
+ q(2188),
q(0),
],
q(dur) => [
- q(2181),
+ q(2189),
q(0),
],
q(dus) => [
- q(2182),
+ q(2190),
q(0),
],
q(dut) => [
@@ -64540,79 +65326,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(duu) => [
- q(2183),
+ q(2191),
q(0),
],
q(duv) => [
- q(2184),
+ q(2192),
q(0),
],
q(duw) => [
- q(2185),
+ q(2193),
q(0),
],
q(dux) => [
- q(2186),
+ q(2194),
q(0),
],
q(duy) => [
- q(2187),
+ q(2195),
q(0),
],
q(duz) => [
- q(2188),
+ q(2196),
q(0),
],
q(dva) => [
- q(2189),
+ q(2197),
q(0),
],
q(dwa) => [
- q(2190),
+ q(2198),
q(0),
],
q(dwr) => [
- q(2191),
+ q(2199),
q(0),
],
q(dws) => [
- q(2192),
+ q(2200),
q(0),
],
q(dww) => [
- q(2193),
+ q(2201),
q(0),
],
q(dya) => [
- q(2194),
+ q(2202),
q(0),
],
q(dyb) => [
- q(2195),
+ q(2203),
q(0),
],
q(dyd) => [
- q(2196),
+ q(2204),
q(0),
],
q(dyg) => [
- q(2197),
+ q(2205),
q(0),
],
q(dyi) => [
- q(2198),
+ q(2206),
q(0),
],
q(dym) => [
- q(2199),
+ q(2207),
q(0),
],
q(dyn) => [
- q(2200),
+ q(2208),
q(0),
],
q(dyo) => [
- q(2201),
+ q(2209),
q(0),
],
q(dyu) => [
@@ -64620,75 +65406,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(dyy) => [
- q(2202),
+ q(2210),
q(0),
],
q(dza) => [
- q(2203),
+ q(2211),
q(0),
],
q(dzd) => [
- q(2204),
+ q(2212),
+ q(0),
+ ],
+ q(dze) => [
+ q(2213),
q(0),
],
q(dzg) => [
- q(2205),
+ q(2214),
q(0),
],
q(dzl) => [
- q(2206),
+ q(2215),
q(0),
],
q(dzn) => [
- q(2207),
+ q(2216),
q(0),
],
q(dzo) => [
q(0118),
q(0),
],
+ q(eaa) => [
+ q(2217),
+ q(0),
+ ],
q(ebg) => [
- q(2208),
+ q(2218),
q(0),
],
q(ebk) => [
- q(2209),
+ q(2219),
q(0),
],
q(ebo) => [
- q(2210),
+ q(2220),
q(0),
],
q(ebr) => [
- q(2211),
+ q(2221),
q(0),
],
q(ebu) => [
- q(2212),
+ q(2222),
q(0),
],
q(ecr) => [
- q(2213),
+ q(2223),
q(0),
],
q(ecs) => [
- q(2214),
+ q(2224),
q(0),
],
q(ecy) => [
- q(2215),
+ q(2225),
q(0),
],
q(eee) => [
- q(2216),
+ q(2226),
q(0),
],
q(efa) => [
- q(2217),
+ q(2227),
q(0),
],
q(efe) => [
- q(2218),
+ q(2228),
q(0),
],
q(efi) => [
@@ -64696,15 +65490,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ega) => [
- q(2219),
+ q(2229),
q(0),
],
q(egl) => [
- q(2220),
+ q(2230),
q(0),
],
q(ego) => [
- q(2221),
+ q(2231),
q(0),
],
q(egx) => [
@@ -64716,95 +65510,99 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ehu) => [
- q(2222),
+ q(2232),
q(0),
],
q(eip) => [
- q(2223),
+ q(2233),
q(0),
],
q(eit) => [
- q(2224),
+ q(2234),
q(0),
],
q(eiv) => [
- q(2225),
+ q(2235),
q(0),
],
q(eja) => [
- q(2226),
+ q(2236),
q(0),
],
q(eka) => [
q(0121),
q(0),
],
+ q(ekc) => [
+ q(2237),
+ q(0),
+ ],
q(eke) => [
- q(2227),
+ q(2238),
q(0),
],
q(ekg) => [
- q(2228),
+ q(2239),
q(0),
],
q(eki) => [
- q(2229),
+ q(2240),
q(0),
],
q(ekk) => [
- q(2230),
+ q(2241),
q(0),
],
q(ekl) => [
- q(2231),
+ q(2242),
q(0),
],
q(ekm) => [
- q(2232),
+ q(2243),
q(0),
],
q(eko) => [
- q(2233),
+ q(2244),
q(0),
],
q(ekp) => [
- q(2234),
+ q(2245),
q(0),
],
q(ekr) => [
- q(2235),
+ q(2246),
q(0),
],
q(eky) => [
- q(2236),
+ q(2247),
q(0),
],
q(ele) => [
- q(2237),
+ q(2248),
q(0),
],
q(elh) => [
- q(2238),
+ q(2249),
q(0),
],
q(eli) => [
- q(2239),
+ q(2250),
q(0),
],
q(elk) => [
- q(2240),
+ q(2251),
q(0),
],
q(elm) => [
- q(2241),
+ q(2252),
q(0),
],
q(elo) => [
- q(2242),
+ q(2253),
q(0),
],
q(elu) => [
- q(2243),
+ q(2254),
q(0),
],
q(elx) => [
@@ -64812,83 +65610,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ema) => [
- q(2244),
+ q(2255),
q(0),
],
q(emb) => [
- q(2245),
+ q(2256),
q(0),
],
q(eme) => [
- q(2246),
+ q(2257),
q(0),
],
q(emg) => [
- q(2247),
+ q(2258),
q(0),
],
q(emi) => [
- q(2248),
+ q(2259),
q(0),
],
q(emk) => [
- q(2249),
+ q(2260),
q(0),
],
q(emm) => [
- q(2250),
+ q(2261),
q(0),
],
q(emn) => [
- q(2251),
+ q(2262),
q(0),
],
q(emo) => [
- q(2252),
+ q(2263),
q(0),
],
q(emp) => [
- q(2253),
+ q(2264),
q(0),
],
q(ems) => [
- q(2254),
+ q(2265),
q(0),
],
q(emu) => [
- q(2255),
+ q(2266),
q(0),
],
q(emw) => [
- q(2256),
+ q(2267),
q(0),
],
q(emx) => [
- q(2257),
+ q(2268),
q(0),
],
q(emy) => [
- q(2258),
+ q(2269),
q(0),
],
q(ena) => [
- q(2259),
+ q(2270),
q(0),
],
q(enb) => [
- q(2260),
+ q(2271),
q(0),
],
q(enc) => [
- q(2261),
+ q(2272),
q(0),
],
q(end) => [
- q(2262),
+ q(2273),
q(0),
],
q(enf) => [
- q(2263),
+ q(2274),
q(0),
],
q(eng) => [
@@ -64896,7 +65694,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(enh) => [
- q(2264),
+ q(2275),
q(0),
],
q(enm) => [
@@ -64904,39 +65702,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(enn) => [
- q(2265),
+ q(2276),
q(0),
],
q(eno) => [
- q(2266),
+ q(2277),
q(0),
],
q(enq) => [
- q(2267),
+ q(2278),
q(0),
],
q(enr) => [
- q(2268),
+ q(2279),
q(0),
],
q(enu) => [
- q(2269),
+ q(2280),
q(0),
],
q(env) => [
- q(2270),
+ q(2281),
q(0),
],
q(enw) => [
- q(2271),
+ q(2282),
q(0),
],
q(eot) => [
- q(2272),
+ q(2283),
q(0),
],
q(epi) => [
- q(2273),
+ q(2284),
q(0),
],
q(epo) => [
@@ -64944,83 +65742,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(era) => [
- q(2274),
+ q(2285),
q(0),
],
q(erg) => [
- q(2275),
+ q(2286),
q(0),
],
q(erh) => [
- q(2276),
+ q(2287),
q(0),
],
q(eri) => [
- q(2277),
+ q(2288),
q(0),
],
q(erk) => [
- q(2278),
+ q(2289),
q(0),
],
q(ero) => [
- q(2279),
+ q(2290),
q(0),
],
q(err) => [
- q(2280),
+ q(2291),
q(0),
],
q(ers) => [
- q(2281),
+ q(2292),
q(0),
],
q(ert) => [
- q(2282),
+ q(2293),
q(0),
],
q(erw) => [
- q(2283),
+ q(2294),
q(0),
],
q(ese) => [
- q(2284),
+ q(2295),
q(0),
],
q(esh) => [
- q(2285),
+ q(2296),
q(0),
],
q(esi) => [
- q(2286),
+ q(2297),
q(0),
],
q(esk) => [
- q(2287),
+ q(2298),
q(0),
],
q(esl) => [
- q(2288),
+ q(2299),
q(0),
],
q(esm) => [
- q(2289),
+ q(2300),
q(0),
],
q(esn) => [
- q(2290),
+ q(2301),
q(0),
],
q(eso) => [
- q(2291),
+ q(2302),
q(0),
],
q(esq) => [
- q(2292),
+ q(2303),
q(0),
],
q(ess) => [
- q(2293),
+ q(2304),
q(0),
],
q(est) => [
@@ -65028,7 +65826,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(esu) => [
- q(2294),
+ q(2305),
q(0),
],
q(esx) => [
@@ -65036,47 +65834,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(etb) => [
- q(2295),
+ q(2306),
q(0),
],
q(etc) => [
- q(2296),
+ q(2307),
q(0),
],
q(eth) => [
- q(2297),
+ q(2308),
q(0),
],
q(etn) => [
- q(2298),
+ q(2309),
q(0),
],
q(eto) => [
- q(2299),
+ q(2310),
q(0),
],
q(etr) => [
- q(2300),
+ q(2311),
q(0),
],
q(ets) => [
- q(2301),
+ q(2312),
q(0),
],
q(ett) => [
- q(2302),
+ q(2313),
q(0),
],
q(etu) => [
- q(2303),
+ q(2314),
q(0),
],
q(etx) => [
- q(2304),
+ q(2315),
q(0),
],
q(etz) => [
- q(2305),
+ q(2316),
q(0),
],
q(euq) => [
@@ -65084,15 +65882,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(eve) => [
- q(2306),
+ q(2317),
q(0),
],
q(evh) => [
- q(2307),
+ q(2318),
q(0),
],
q(evn) => [
- q(2308),
+ q(2319),
q(0),
],
q(ewe) => [
@@ -65104,63 +65902,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ext) => [
- q(2309),
+ q(2320),
q(0),
],
q(eya) => [
- q(2310),
+ q(2321),
q(0),
],
q(eyo) => [
- q(2311),
+ q(2322),
+ q(0),
+ ],
+ q(eza) => [
+ q(2323),
q(0),
],
q(eze) => [
- q(2312),
+ q(2324),
q(0),
],
q(faa) => [
- q(2313),
+ q(2325),
q(0),
],
q(fab) => [
- q(2314),
+ q(2326),
q(0),
],
q(fad) => [
- q(2315),
+ q(2327),
q(0),
],
q(faf) => [
- q(2316),
+ q(2328),
q(0),
],
q(fag) => [
- q(2317),
+ q(2329),
q(0),
],
q(fah) => [
- q(2318),
+ q(2330),
q(0),
],
q(fai) => [
- q(2319),
+ q(2331),
q(0),
],
q(faj) => [
- q(2320),
+ q(2332),
q(0),
],
q(fak) => [
- q(2321),
+ q(2333),
q(0),
],
q(fal) => [
- q(2322),
+ q(2334),
q(0),
],
q(fam) => [
- q(2323),
+ q(2335),
q(0),
],
q(fan) => [
@@ -65172,11 +65974,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fap) => [
- q(2324),
+ q(2336),
q(0),
],
q(far) => [
- q(2325),
+ q(2337),
q(0),
],
q(fat) => [
@@ -65184,51 +65986,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fau) => [
- q(2326),
+ q(2338),
q(0),
],
q(fax) => [
- q(2327),
+ q(2339),
q(0),
],
q(fay) => [
- q(2328),
+ q(2340),
q(0),
],
q(faz) => [
- q(2329),
+ q(2341),
q(0),
],
q(fbl) => [
- q(2330),
+ q(2342),
q(0),
],
q(fcs) => [
- q(2331),
+ q(2343),
q(0),
],
q(fer) => [
- q(2332),
+ q(2344),
q(0),
],
q(ffi) => [
- q(2333),
+ q(2345),
q(0),
],
q(ffm) => [
- q(2334),
+ q(2346),
q(0),
],
q(fgr) => [
- q(2335),
+ q(2347),
q(0),
],
q(fia) => [
- q(2336),
+ q(2348),
q(0),
],
q(fie) => [
- q(2337),
+ q(2349),
q(0),
],
q(fij) => [
@@ -65244,15 +66046,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fip) => [
- q(2338),
+ q(2350),
q(0),
],
q(fir) => [
- q(2339),
+ q(2351),
q(0),
],
q(fit) => [
- q(2340),
+ q(2352),
q(0),
],
q(fiu) => [
@@ -65260,71 +66062,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fiw) => [
- q(2341),
+ q(2353),
q(0),
],
q(fkk) => [
- q(2342),
+ q(2354),
q(0),
],
q(fkv) => [
- q(2343),
+ q(2355),
q(0),
],
q(fla) => [
- q(2344),
+ q(2356),
q(0),
],
q(flh) => [
- q(2345),
+ q(2357),
q(0),
],
q(fli) => [
- q(2346),
+ q(2358),
q(0),
],
q(fll) => [
- q(2347),
+ q(2359),
q(0),
],
q(fln) => [
- q(2348),
+ q(2360),
q(0),
],
q(flr) => [
- q(2349),
+ q(2361),
q(0),
],
q(fly) => [
- q(2350),
+ q(2362),
q(0),
],
q(fmp) => [
- q(2351),
+ q(2363),
q(0),
],
q(fmu) => [
- q(2352),
+ q(2364),
q(0),
],
q(fng) => [
- q(2353),
+ q(2365),
q(0),
],
q(fni) => [
- q(2354),
+ q(2366),
q(0),
],
q(fod) => [
- q(2355),
+ q(2367),
q(0),
],
q(foi) => [
- q(2356),
+ q(2368),
q(0),
],
q(fom) => [
- q(2357),
+ q(2369),
q(0),
],
q(fon) => [
@@ -65332,11 +66134,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(for) => [
- q(2358),
+ q(2370),
q(0),
],
q(fos) => [
- q(2359),
+ q(2371),
q(0),
],
q(fox) => [
@@ -65344,19 +66146,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fpe) => [
- q(2360),
+ q(2372),
q(0),
],
q(fqs) => [
- q(2361),
+ q(2373),
q(0),
],
q(frc) => [
- q(2362),
+ q(2374),
q(0),
],
q(frd) => [
- q(2363),
+ q(2375),
q(0),
],
q(fre) => [
@@ -65364,7 +66166,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(frk) => [
- q(2364),
+ q(2376),
q(0),
],
q(frm) => [
@@ -65376,11 +66178,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(frp) => [
- q(2365),
+ q(2377),
q(0),
],
q(frq) => [
- q(2366),
+ q(2378),
q(0),
],
q(frr) => [
@@ -65392,7 +66194,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(frt) => [
- q(2367),
+ q(2379),
q(0),
],
q(fry) => [
@@ -65400,47 +66202,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fse) => [
- q(2368),
+ q(2380),
q(0),
],
q(fsl) => [
- q(2369),
+ q(2381),
q(0),
],
q(fss) => [
- q(2370),
+ q(2382),
q(0),
],
q(fub) => [
- q(2371),
+ q(2383),
q(0),
],
q(fuc) => [
- q(2372),
+ q(2384),
q(0),
],
q(fud) => [
- q(2373),
+ q(2385),
q(0),
],
q(fue) => [
- q(2374),
+ q(2386),
q(0),
],
q(fuf) => [
- q(2375),
+ q(2387),
q(0),
],
q(fuh) => [
- q(2376),
+ q(2388),
q(0),
],
q(fui) => [
- q(2377),
+ q(2389),
q(0),
],
q(fuj) => [
- q(2378),
+ q(2390),
q(0),
],
q(ful) => [
@@ -65448,15 +66250,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fum) => [
- q(2379),
+ q(2391),
q(0),
],
q(fun) => [
- q(2380),
+ q(2392),
q(0),
],
q(fuq) => [
- q(2381),
+ q(2393),
q(0),
],
q(fur) => [
@@ -65464,31 +66266,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(fut) => [
- q(2382),
+ q(2394),
q(0),
],
q(fuu) => [
- q(2383),
+ q(2395),
q(0),
],
q(fuv) => [
- q(2384),
+ q(2396),
q(0),
],
q(fuy) => [
- q(2385),
+ q(2397),
q(0),
],
q(fvr) => [
- q(2386),
+ q(2398),
q(0),
],
q(fwa) => [
- q(2387),
+ q(2399),
q(0),
],
q(fwe) => [
- q(2388),
+ q(2400),
q(0),
],
q(gaa) => [
@@ -65496,91 +66298,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gab) => [
- q(2389),
+ q(2401),
q(0),
],
q(gac) => [
- q(2390),
+ q(2402),
q(0),
],
q(gad) => [
- q(2391),
+ q(2403),
q(0),
],
q(gae) => [
- q(2392),
+ q(2404),
q(0),
],
q(gaf) => [
- q(2393),
+ q(2405),
q(0),
],
q(gag) => [
- q(2394),
+ q(2406),
q(0),
],
q(gah) => [
- q(2395),
+ q(2407),
q(0),
],
q(gai) => [
- q(2396),
+ q(2408),
q(0),
],
q(gaj) => [
- q(2397),
+ q(2409),
q(0),
],
q(gak) => [
- q(2398),
+ q(2410),
q(0),
],
q(gal) => [
- q(2399),
+ q(2411),
q(0),
],
q(gam) => [
- q(2400),
+ q(2412),
q(0),
],
q(gan) => [
- q(2401),
+ q(2413),
q(0),
],
q(gao) => [
- q(2402),
+ q(2414),
q(0),
],
q(gap) => [
- q(2403),
+ q(2415),
q(0),
],
q(gaq) => [
- q(2404),
+ q(2416),
q(0),
],
q(gar) => [
- q(2405),
+ q(2417),
q(0),
],
q(gas) => [
- q(2406),
+ q(2418),
q(0),
],
q(gat) => [
- q(2407),
+ q(2419),
q(0),
],
q(gau) => [
- q(2408),
+ q(2420),
q(0),
],
q(gaw) => [
- q(2409),
+ q(2421),
q(0),
],
q(gax) => [
- q(2410),
+ q(2422),
q(0),
],
q(gay) => [
@@ -65588,7 +66390,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gaz) => [
- q(2411),
+ q(2423),
q(0),
],
q(gba) => [
@@ -65596,243 +66398,251 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(gbb) => [
- q(2412),
+ q(2424),
q(0),
],
q(gbd) => [
- q(2413),
+ q(2425),
q(0),
],
q(gbe) => [
- q(2414),
+ q(2426),
q(0),
],
q(gbf) => [
- q(2415),
+ q(2427),
q(0),
],
q(gbg) => [
- q(2416),
+ q(2428),
q(0),
],
q(gbh) => [
- q(2417),
+ q(2429),
q(0),
],
q(gbi) => [
- q(2418),
+ q(2430),
q(0),
],
q(gbj) => [
- q(2419),
+ q(2431),
q(0),
],
q(gbk) => [
- q(2420),
+ q(2432),
q(0),
],
q(gbl) => [
- q(2421),
+ q(2433),
q(0),
],
q(gbm) => [
- q(2422),
+ q(2434),
q(0),
],
q(gbn) => [
- q(2423),
+ q(2435),
q(0),
],
q(gbo) => [
- q(2424),
+ q(2436),
q(0),
],
q(gbp) => [
- q(2425),
+ q(2437),
q(0),
],
q(gbq) => [
- q(2426),
+ q(2438),
q(0),
],
q(gbr) => [
- q(2427),
+ q(2439),
q(0),
],
q(gbs) => [
- q(2428),
+ q(2440),
q(0),
],
q(gbu) => [
- q(2429),
+ q(2441),
q(0),
],
q(gbv) => [
- q(2430),
+ q(2442),
+ q(0),
+ ],
+ q(gbw) => [
+ q(2443),
q(0),
],
q(gbx) => [
- q(2431),
+ q(2444),
q(0),
],
q(gby) => [
- q(2432),
+ q(2445),
q(0),
],
q(gbz) => [
- q(2433),
+ q(2446),
q(0),
],
q(gcc) => [
- q(2434),
+ q(2447),
q(0),
],
q(gcd) => [
- q(2435),
+ q(2448),
q(0),
],
q(gce) => [
- q(2436),
+ q(2449),
q(0),
],
q(gcf) => [
- q(2437),
+ q(2450),
q(0),
],
q(gcl) => [
- q(2438),
+ q(2451),
q(0),
],
q(gcn) => [
- q(2439),
+ q(2452),
q(0),
],
q(gcr) => [
- q(2440),
+ q(2453),
q(0),
],
q(gct) => [
- q(2441),
+ q(2454),
q(0),
],
q(gda) => [
- q(2442),
+ q(2455),
q(0),
],
q(gdb) => [
- q(2443),
+ q(2456),
q(0),
],
q(gdc) => [
- q(2444),
+ q(2457),
q(0),
],
q(gdd) => [
- q(2445),
+ q(2458),
q(0),
],
q(gde) => [
- q(2446),
+ q(2459),
q(0),
],
q(gdf) => [
- q(2447),
+ q(2460),
q(0),
],
q(gdg) => [
- q(2448),
+ q(2461),
q(0),
],
q(gdh) => [
- q(2449),
+ q(2462),
q(0),
],
q(gdi) => [
- q(2450),
+ q(2463),
q(0),
],
q(gdj) => [
- q(2451),
+ q(2464),
q(0),
],
q(gdk) => [
- q(2452),
+ q(2465),
q(0),
],
q(gdl) => [
- q(2453),
+ q(2466),
q(0),
],
q(gdm) => [
- q(2454),
+ q(2467),
q(0),
],
q(gdn) => [
- q(2455),
+ q(2468),
q(0),
],
q(gdo) => [
- q(2456),
+ q(2469),
q(0),
],
q(gdq) => [
- q(2457),
+ q(2470),
q(0),
],
q(gdr) => [
- q(2458),
+ q(2471),
q(0),
],
q(gds) => [
- q(2459),
+ q(2472),
+ q(0),
+ ],
+ q(gdt) => [
+ q(2473),
q(0),
],
q(gdu) => [
- q(2460),
+ q(2474),
q(0),
],
q(gdx) => [
- q(2461),
+ q(2475),
q(0),
],
q(gea) => [
- q(2462),
+ q(2476),
q(0),
],
q(geb) => [
- q(2463),
+ q(2477),
q(0),
],
q(gec) => [
- q(2464),
+ q(2478),
q(0),
],
q(ged) => [
- q(2465),
+ q(2479),
q(0),
],
q(geg) => [
- q(2466),
+ q(2480),
q(0),
],
q(geh) => [
- q(2467),
+ q(2481),
q(0),
],
q(gei) => [
- q(2468),
+ q(2482),
q(0),
],
q(gej) => [
- q(2469),
+ q(2483),
q(0),
],
q(gek) => [
- q(2470),
+ q(2484),
q(0),
],
q(gel) => [
- q(2471),
+ q(2485),
q(0),
],
q(gem) => [
@@ -65844,7 +66654,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(geq) => [
- q(2472),
+ q(2486),
q(0),
],
q(ger) => [
@@ -65852,19 +66662,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ges) => [
- q(2473),
+ q(2487),
q(0),
],
q(gew) => [
- q(2474),
+ q(2488),
q(0),
],
q(gex) => [
- q(2475),
+ q(2489),
q(0),
],
q(gey) => [
- q(2476),
+ q(2490),
q(0),
],
q(gez) => [
@@ -65872,131 +66682,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gfk) => [
- q(2477),
+ q(2491),
q(0),
],
q(gft) => [
- q(2478),
+ q(2492),
q(0),
],
q(gfx) => [
- q(2479),
+ q(2493),
q(0),
],
q(gga) => [
- q(2480),
+ q(2494),
q(0),
],
q(ggb) => [
- q(2481),
+ q(2495),
q(0),
],
q(ggd) => [
- q(2482),
+ q(2496),
q(0),
],
q(gge) => [
- q(2483),
+ q(2497),
q(0),
],
q(ggg) => [
- q(2484),
+ q(2498),
q(0),
],
q(ggk) => [
- q(2485),
+ q(2499),
q(0),
],
q(ggl) => [
- q(2486),
+ q(2500),
q(0),
],
q(ggn) => [
- q(2487),
+ q(2501),
q(0),
],
q(ggo) => [
- q(2488),
- q(0),
- ],
- q(ggr) => [
- q(2489),
+ q(2502),
q(0),
],
q(ggt) => [
- q(2490),
+ q(2503),
q(0),
],
q(ggu) => [
- q(2491),
+ q(2504),
q(0),
],
q(ggw) => [
- q(2492),
+ q(2505),
q(0),
],
q(gha) => [
- q(2493),
+ q(2506),
q(0),
],
q(ghc) => [
- q(2494),
+ q(2507),
q(0),
],
q(ghe) => [
- q(2495),
+ q(2508),
q(0),
],
q(ghh) => [
- q(2496),
+ q(2509),
q(0),
],
q(ghk) => [
- q(2497),
+ q(2510),
q(0),
],
q(ghl) => [
- q(2498),
+ q(2511),
q(0),
],
q(ghn) => [
- q(2499),
+ q(2512),
q(0),
],
q(gho) => [
- q(2500),
+ q(2513),
q(0),
],
q(ghr) => [
- q(2501),
+ q(2514),
q(0),
],
q(ghs) => [
- q(2502),
+ q(2515),
q(0),
],
q(ght) => [
- q(2503),
+ q(2516),
q(0),
],
q(gia) => [
- q(2504),
+ q(2517),
q(0),
],
q(gib) => [
- q(2505),
+ q(2518),
q(0),
],
q(gic) => [
- q(2506),
+ q(2519),
q(0),
],
q(gid) => [
- q(2507),
+ q(2520),
q(0),
],
q(gig) => [
- q(2508),
+ q(2521),
+ q(0),
+ ],
+ q(gih) => [
+ q(2522),
q(0),
],
q(gil) => [
@@ -66004,87 +66814,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gim) => [
- q(2509),
+ q(2523),
q(0),
],
q(gin) => [
- q(2510),
+ q(2524),
q(0),
],
q(gip) => [
- q(2511),
+ q(2525),
q(0),
],
q(giq) => [
- q(2512),
+ q(2526),
q(0),
],
q(gir) => [
- q(2513),
+ q(2527),
q(0),
],
q(gis) => [
- q(2514),
+ q(2528),
q(0),
],
q(git) => [
- q(2515),
+ q(2529),
q(0),
],
q(giu) => [
- q(2516),
+ q(2530),
q(0),
],
q(giw) => [
- q(2517),
+ q(2531),
q(0),
],
q(gix) => [
- q(2518),
+ q(2532),
q(0),
],
q(giy) => [
- q(2519),
+ q(2533),
q(0),
],
q(giz) => [
- q(2520),
+ q(2534),
q(0),
],
q(gji) => [
- q(2521),
+ q(2535),
q(0),
],
q(gjk) => [
- q(2522),
+ q(2536),
+ q(0),
+ ],
+ q(gjm) => [
+ q(2537),
q(0),
],
q(gjn) => [
- q(2523),
+ q(2538),
q(0),
],
q(gju) => [
- q(2524),
+ q(2539),
q(0),
],
q(gka) => [
- q(2525),
+ q(2540),
q(0),
],
q(gke) => [
- q(2526),
+ q(2541),
q(0),
],
q(gkn) => [
- q(2527),
+ q(2542),
q(0),
],
q(gko) => [
- q(2528),
+ q(2543),
q(0),
],
q(gkp) => [
- q(2529),
+ q(2544),
q(0),
],
q(gla) => [
@@ -66092,11 +66906,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(glc) => [
- q(2530),
+ q(2545),
q(0),
],
q(gld) => [
- q(2531),
+ q(2546),
q(0),
],
q(gle) => [
@@ -66108,31 +66922,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(glh) => [
- q(2532),
+ q(2547),
q(0),
],
q(gli) => [
- q(2533),
+ q(2548),
q(0),
],
q(glj) => [
- q(2534),
+ q(2549),
q(0),
],
q(glk) => [
- q(2535),
+ q(2550),
+ q(0),
+ ],
+ q(gll) => [
+ q(2551),
q(0),
],
q(glo) => [
- q(2536),
+ q(2552),
q(0),
],
q(glr) => [
- q(2537),
+ q(2553),
q(0),
],
q(glu) => [
- q(2538),
+ q(2554),
q(0),
],
q(glv) => [
@@ -66140,23 +66958,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(glw) => [
- q(2539),
+ q(2555),
q(0),
],
q(gly) => [
- q(2540),
+ q(2556),
q(0),
],
q(gma) => [
- q(2541),
+ q(2557),
q(0),
],
q(gmb) => [
- q(2542),
+ q(2558),
q(0),
],
q(gmd) => [
- q(2543),
+ q(2559),
q(0),
],
q(gme) => [
@@ -66168,15 +66986,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(gml) => [
- q(2544),
+ q(2560),
q(0),
],
q(gmm) => [
- q(2545),
+ q(2561),
q(0),
],
q(gmn) => [
- q(2546),
+ q(2562),
q(0),
],
q(gmq) => [
@@ -66184,11 +67002,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gmu) => [
- q(2547),
+ q(2563),
q(0),
],
q(gmv) => [
- q(2548),
+ q(2564),
q(0),
],
q(gmw) => [
@@ -66196,115 +67014,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gmx) => [
- q(2549),
+ q(2565),
q(0),
],
q(gmy) => [
- q(2550),
+ q(2566),
+ q(0),
+ ],
+ q(gmz) => [
+ q(2567),
q(0),
],
q(gna) => [
- q(2551),
+ q(2568),
q(0),
],
q(gnb) => [
- q(2552),
+ q(2569),
q(0),
],
q(gnc) => [
- q(2553),
+ q(2570),
q(0),
],
q(gnd) => [
- q(2554),
+ q(2571),
q(0),
],
q(gne) => [
- q(2555),
+ q(2572),
q(0),
],
q(gng) => [
- q(2556),
+ q(2573),
q(0),
],
q(gnh) => [
- q(2557),
+ q(2574),
q(0),
],
q(gni) => [
- q(2558),
+ q(2575),
q(0),
],
q(gnk) => [
- q(2559),
+ q(2576),
q(0),
],
q(gnl) => [
- q(2560),
+ q(2577),
q(0),
],
q(gnm) => [
- q(2561),
+ q(2578),
q(0),
],
q(gnn) => [
- q(2562),
+ q(2579),
q(0),
],
q(gno) => [
- q(2563),
+ q(2580),
q(0),
],
q(gnq) => [
- q(2564),
+ q(2581),
q(0),
],
q(gnr) => [
- q(2565),
+ q(2582),
q(0),
],
q(gnt) => [
- q(2566),
+ q(2583),
q(0),
],
q(gnu) => [
- q(2567),
+ q(2584),
q(0),
],
q(gnw) => [
- q(2568),
+ q(2585),
q(0),
],
q(gnz) => [
- q(2569),
+ q(2586),
q(0),
],
q(goa) => [
- q(2570),
+ q(2587),
q(0),
],
q(gob) => [
- q(2571),
+ q(2588),
q(0),
],
q(goc) => [
- q(2572),
+ q(2589),
q(0),
],
q(god) => [
- q(2573),
+ q(2590),
q(0),
],
q(goe) => [
- q(2574),
+ q(2591),
q(0),
],
q(gof) => [
- q(2575),
+ q(2592),
q(0),
],
q(gog) => [
- q(2576),
+ q(2593),
q(0),
],
q(goh) => [
@@ -66312,23 +67134,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(goi) => [
- q(2577),
+ q(2594),
q(0),
],
q(goj) => [
- q(2578),
+ q(2595),
q(0),
],
q(gok) => [
- q(2579),
+ q(2596),
q(0),
],
q(gol) => [
- q(2580),
+ q(2597),
q(0),
],
q(gom) => [
- q(2581),
+ q(2598),
q(0),
],
q(gon) => [
@@ -66336,15 +67158,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(goo) => [
- q(2582),
+ q(2599),
q(0),
],
q(gop) => [
- q(2583),
+ q(2600),
q(0),
],
q(goq) => [
- q(2584),
+ q(2601),
q(0),
],
q(gor) => [
@@ -66352,7 +67174,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gos) => [
- q(2585),
+ q(2602),
q(0),
],
q(got) => [
@@ -66360,59 +67182,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gou) => [
- q(2586),
+ q(2603),
q(0),
],
q(gow) => [
- q(2587),
+ q(2604),
q(0),
],
q(gox) => [
- q(2588),
+ q(2605),
q(0),
],
q(goy) => [
- q(2589),
+ q(2606),
q(0),
],
q(goz) => [
- q(2590),
+ q(2607),
q(0),
],
q(gpa) => [
- q(2591),
+ q(2608),
q(0),
],
q(gpe) => [
- q(2592),
+ q(2609),
q(0),
],
q(gpn) => [
- q(2593),
+ q(2610),
q(0),
],
q(gqa) => [
- q(2594),
+ q(2611),
q(0),
],
q(gqi) => [
- q(2595),
+ q(2612),
q(0),
],
q(gqn) => [
- q(2596),
+ q(2613),
q(0),
],
q(gqr) => [
- q(2597),
+ q(2614),
q(0),
],
q(gqu) => [
- q(2598),
+ q(2615),
q(0),
],
q(gra) => [
- q(2599),
+ q(2616),
q(0),
],
q(grb) => [
@@ -66424,7 +67246,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(grd) => [
- q(2600),
+ q(2617),
q(0),
],
q(gre) => [
@@ -66432,19 +67254,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(grg) => [
- q(2601),
+ q(2618),
q(0),
],
q(grh) => [
- q(2602),
+ q(2619),
q(0),
],
q(gri) => [
- q(2603),
+ q(2620),
q(0),
],
q(grj) => [
- q(2604),
+ q(2621),
q(0),
],
q(grk) => [
@@ -66452,7 +67274,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(grm) => [
- q(2605),
+ q(2622),
q(0),
],
q(grn) => [
@@ -66460,79 +67282,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gro) => [
- q(2606),
+ q(2623),
q(0),
],
q(grq) => [
- q(2607),
+ q(2624),
q(0),
],
q(grr) => [
- q(2608),
+ q(2625),
q(0),
],
q(grs) => [
- q(2609),
+ q(2626),
q(0),
],
q(grt) => [
- q(2610),
+ q(2627),
q(0),
],
q(gru) => [
- q(2611),
+ q(2628),
q(0),
],
q(grv) => [
- q(2612),
+ q(2629),
q(0),
],
q(grw) => [
- q(2613),
+ q(2630),
q(0),
],
q(grx) => [
- q(2614),
+ q(2631),
q(0),
],
q(gry) => [
- q(2615),
+ q(2632),
q(0),
],
q(grz) => [
- q(2616),
+ q(2633),
q(0),
],
q(gse) => [
- q(2617),
+ q(2634),
q(0),
],
q(gsg) => [
- q(2618),
+ q(2635),
q(0),
],
q(gsl) => [
- q(2619),
+ q(2636),
q(0),
],
q(gsm) => [
- q(2620),
+ q(2637),
q(0),
],
q(gsn) => [
- q(2621),
+ q(2638),
q(0),
],
q(gso) => [
- q(2622),
+ q(2639),
q(0),
],
q(gsp) => [
- q(2623),
+ q(2640),
q(0),
],
q(gss) => [
- q(2624),
+ q(2641),
q(0),
],
q(gsw) => [
@@ -66540,47 +67362,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gta) => [
- q(2625),
+ q(2642),
q(0),
],
q(gti) => [
- q(2626),
+ q(2643),
+ q(0),
+ ],
+ q(gtu) => [
+ q(2644),
q(0),
],
q(gua) => [
- q(2627),
+ q(2645),
q(0),
],
q(gub) => [
- q(2628),
+ q(2646),
q(0),
],
q(guc) => [
- q(2629),
+ q(2647),
q(0),
],
q(gud) => [
- q(2630),
+ q(2648),
q(0),
],
q(gue) => [
- q(2631),
+ q(2649),
q(0),
],
q(guf) => [
- q(2632),
+ q(2650),
q(0),
],
q(gug) => [
- q(2633),
+ q(2651),
q(0),
],
q(guh) => [
- q(2634),
+ q(2652),
q(0),
],
q(gui) => [
- q(2635),
+ q(2653),
q(0),
],
q(guj) => [
@@ -66588,143 +67414,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(guk) => [
- q(2636),
+ q(2654),
q(0),
],
q(gul) => [
- q(2637),
+ q(2655),
q(0),
],
q(gum) => [
- q(2638),
+ q(2656),
q(0),
],
q(gun) => [
- q(2639),
+ q(2657),
q(0),
],
q(guo) => [
- q(2640),
+ q(2658),
q(0),
],
q(gup) => [
- q(2641),
+ q(2659),
q(0),
],
q(guq) => [
- q(2642),
+ q(2660),
q(0),
],
q(gur) => [
- q(2643),
+ q(2661),
q(0),
],
q(gus) => [
- q(2644),
+ q(2662),
q(0),
],
q(gut) => [
- q(2645),
+ q(2663),
q(0),
],
q(guu) => [
- q(2646),
+ q(2664),
q(0),
],
q(guv) => [
- q(2647),
+ q(2665),
q(0),
],
q(guw) => [
- q(2648),
+ q(2666),
q(0),
],
q(gux) => [
- q(2649),
+ q(2667),
q(0),
],
q(guz) => [
- q(2650),
+ q(2668),
q(0),
],
q(gva) => [
- q(2651),
+ q(2669),
q(0),
],
q(gvc) => [
- q(2652),
+ q(2670),
q(0),
],
q(gve) => [
- q(2653),
+ q(2671),
q(0),
],
q(gvf) => [
- q(2654),
+ q(2672),
q(0),
],
q(gvj) => [
- q(2655),
+ q(2673),
q(0),
],
q(gvl) => [
- q(2656),
+ q(2674),
q(0),
],
q(gvm) => [
- q(2657),
+ q(2675),
q(0),
],
q(gvn) => [
- q(2658),
+ q(2676),
q(0),
],
q(gvo) => [
- q(2659),
+ q(2677),
q(0),
],
q(gvp) => [
- q(2660),
+ q(2678),
q(0),
],
q(gvr) => [
- q(2661),
+ q(2679),
q(0),
],
q(gvs) => [
- q(2662),
+ q(2680),
q(0),
],
q(gvy) => [
- q(2663),
+ q(2681),
q(0),
],
q(gwa) => [
- q(2664),
+ q(2682),
q(0),
],
q(gwb) => [
- q(2665),
+ q(2683),
q(0),
],
q(gwc) => [
- q(2666),
+ q(2684),
q(0),
],
q(gwd) => [
- q(2667),
+ q(2685),
q(0),
],
q(gwe) => [
- q(2668),
+ q(2686),
q(0),
],
q(gwf) => [
- q(2669),
+ q(2687),
q(0),
],
q(gwg) => [
- q(2670),
+ q(2688),
q(0),
],
q(gwi) => [
@@ -66732,131 +67558,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(gwj) => [
- q(2671),
+ q(2689),
q(0),
],
q(gwm) => [
- q(2672),
+ q(2690),
q(0),
],
q(gwn) => [
- q(2673),
+ q(2691),
q(0),
],
q(gwr) => [
- q(2674),
+ q(2692),
q(0),
],
q(gwt) => [
- q(2675),
+ q(2693),
q(0),
],
q(gwu) => [
- q(2676),
+ q(2694),
q(0),
],
q(gww) => [
- q(2677),
+ q(2695),
q(0),
],
q(gwx) => [
- q(2678),
+ q(2696),
q(0),
],
q(gxx) => [
- q(2679),
+ q(2697),
q(0),
],
q(gya) => [
- q(2680),
+ q(2698),
q(0),
],
q(gyb) => [
- q(2681),
+ q(2699),
q(0),
],
q(gyd) => [
- q(2682),
+ q(2700),
q(0),
],
q(gye) => [
- q(2683),
+ q(2701),
q(0),
],
q(gyf) => [
- q(2684),
+ q(2702),
q(0),
],
q(gyg) => [
- q(2685),
+ q(2703),
q(0),
],
q(gyi) => [
- q(2686),
+ q(2704),
q(0),
],
q(gyl) => [
- q(2687),
+ q(2705),
q(0),
],
q(gym) => [
- q(2688),
+ q(2706),
q(0),
],
q(gyn) => [
- q(2689),
+ q(2707),
q(0),
],
q(gyr) => [
- q(2690),
+ q(2708),
q(0),
],
q(gyy) => [
- q(2691),
+ q(2709),
q(0),
],
q(gza) => [
- q(2692),
+ q(2710),
q(0),
],
q(gzi) => [
- q(2693),
+ q(2711),
q(0),
],
q(gzn) => [
- q(2694),
+ q(2712),
q(0),
],
q(haa) => [
- q(2695),
+ q(2713),
q(0),
],
q(hab) => [
- q(2696),
+ q(2714),
q(0),
],
q(hac) => [
- q(2697),
+ q(2715),
q(0),
],
q(had) => [
- q(2698),
+ q(2716),
q(0),
],
q(hae) => [
- q(2699),
+ q(2717),
q(0),
],
q(haf) => [
- q(2700),
+ q(2718),
q(0),
],
q(hag) => [
- q(2701),
+ q(2719),
q(0),
],
q(hah) => [
- q(2702),
+ q(2720),
q(0),
],
q(hai) => [
@@ -66864,43 +67690,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(haj) => [
- q(2703),
+ q(2721),
q(0),
],
q(hak) => [
- q(2704),
+ q(2722),
q(0),
],
q(hal) => [
- q(2705),
+ q(2723),
q(0),
],
q(ham) => [
- q(2706),
+ q(2724),
q(0),
],
q(han) => [
- q(2707),
+ q(2725),
q(0),
],
q(hao) => [
- q(2708),
+ q(2726),
q(0),
],
q(hap) => [
- q(2709),
+ q(2727),
q(0),
],
q(haq) => [
- q(2710),
+ q(2728),
q(0),
],
q(har) => [
- q(2711),
+ q(2729),
q(0),
],
q(has) => [
- q(2712),
+ q(2730),
q(0),
],
q(hat) => [
@@ -66912,7 +67738,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hav) => [
- q(2713),
+ q(2731),
q(0),
],
q(haw) => [
@@ -66920,59 +67746,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hax) => [
- q(2714),
+ q(2732),
q(0),
],
q(hay) => [
- q(2715),
+ q(2733),
q(0),
],
q(haz) => [
- q(2716),
+ q(2734),
q(0),
],
q(hba) => [
- q(2717),
+ q(2735),
q(0),
],
q(hbb) => [
- q(2718),
+ q(2736),
q(0),
],
q(hbn) => [
- q(2719),
+ q(2737),
q(0),
],
q(hbo) => [
- q(2720),
+ q(2738),
q(0),
],
q(hbu) => [
- q(2721),
+ q(2739),
q(0),
],
q(hca) => [
- q(2722),
+ q(2740),
q(0),
],
q(hch) => [
- q(2723),
+ q(2741),
q(0),
],
q(hdn) => [
- q(2724),
+ q(2742),
q(0),
],
q(hds) => [
- q(2725),
+ q(2743),
q(0),
],
q(hdy) => [
- q(2726),
+ q(2744),
q(0),
],
q(hea) => [
- q(2727),
+ q(2745),
q(0),
],
q(heb) => [
@@ -66980,23 +67806,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hed) => [
- q(2728),
+ q(2746),
q(0),
],
q(heg) => [
- q(2729),
+ q(2747),
q(0),
],
q(heh) => [
- q(2730),
+ q(2748),
q(0),
],
q(hei) => [
- q(2731),
+ q(2749),
q(0),
],
q(hem) => [
- q(2732),
+ q(2750),
q(0),
],
q(her) => [
@@ -67004,59 +67830,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hgm) => [
- q(2733),
+ q(2751),
q(0),
],
q(hgw) => [
- q(2734),
+ q(2752),
q(0),
],
q(hhi) => [
- q(2735),
+ q(2753),
q(0),
],
q(hhr) => [
- q(2736),
+ q(2754),
q(0),
],
q(hhy) => [
- q(2737),
+ q(2755),
q(0),
],
q(hia) => [
- q(2738),
+ q(2756),
q(0),
],
q(hib) => [
- q(2739),
+ q(2757),
q(0),
],
q(hid) => [
- q(2740),
+ q(2758),
q(0),
],
q(hif) => [
- q(2741),
+ q(2759),
q(0),
],
q(hig) => [
- q(2742),
+ q(2760),
q(0),
],
q(hih) => [
- q(2743),
+ q(2761),
q(0),
],
q(hii) => [
- q(2744),
+ q(2762),
q(0),
],
q(hij) => [
- q(2745),
+ q(2763),
q(0),
],
q(hik) => [
- q(2746),
+ q(2764),
q(0),
],
q(hil) => [
@@ -67072,11 +67898,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hio) => [
- q(2747),
+ q(2765),
q(0),
],
q(hir) => [
- q(2748),
+ q(2766),
q(0),
],
q(hit) => [
@@ -67084,107 +67910,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hiw) => [
- q(2749),
+ q(2767),
q(0),
],
q(hix) => [
- q(2750),
+ q(2768),
q(0),
],
q(hji) => [
- q(2751),
+ q(2769),
q(0),
],
q(hka) => [
- q(2752),
+ q(2770),
q(0),
],
q(hke) => [
- q(2753),
+ q(2771),
q(0),
],
q(hkk) => [
- q(2754),
+ q(2772),
q(0),
],
q(hks) => [
- q(2755),
+ q(2773),
q(0),
],
q(hla) => [
- q(2756),
+ q(2774),
q(0),
],
q(hlb) => [
- q(2757),
+ q(2775),
q(0),
],
q(hld) => [
- q(2758),
+ q(2776),
q(0),
],
q(hle) => [
- q(2759),
+ q(2777),
q(0),
],
q(hlt) => [
- q(2760),
+ q(2778),
q(0),
],
q(hlu) => [
- q(2761),
+ q(2779),
q(0),
],
q(hma) => [
- q(2762),
+ q(2780),
q(0),
],
q(hmb) => [
- q(2763),
+ q(2781),
q(0),
],
q(hmc) => [
- q(2764),
+ q(2782),
q(0),
],
q(hmd) => [
- q(2765),
+ q(2783),
q(0),
],
q(hme) => [
- q(2766),
+ q(2784),
q(0),
],
q(hmf) => [
- q(2767),
+ q(2785),
q(0),
],
q(hmg) => [
- q(2768),
+ q(2786),
q(0),
],
q(hmh) => [
- q(2769),
+ q(2787),
q(0),
],
q(hmi) => [
- q(2770),
+ q(2788),
q(0),
],
q(hmj) => [
- q(2771),
+ q(2789),
q(0),
],
q(hmk) => [
- q(2772),
+ q(2790),
q(0),
],
q(hml) => [
- q(2773),
+ q(2791),
q(0),
],
q(hmm) => [
- q(2774),
+ q(2792),
q(0),
],
q(hmn) => [
@@ -67196,35 +68022,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hmp) => [
- q(2775),
+ q(2793),
q(0),
],
q(hmq) => [
- q(2776),
+ q(2794),
q(0),
],
q(hmr) => [
- q(2777),
+ q(2795),
q(0),
],
q(hms) => [
- q(2778),
+ q(2796),
q(0),
],
q(hmt) => [
- q(2779),
+ q(2797),
q(0),
],
q(hmu) => [
- q(2780),
+ q(2798),
q(0),
],
q(hmv) => [
- q(2781),
+ q(2799),
q(0),
],
q(hmw) => [
- q(2782),
+ q(2800),
q(0),
],
q(hmx) => [
@@ -67232,83 +68058,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hmy) => [
- q(2783),
+ q(2801),
q(0),
],
q(hmz) => [
- q(2784),
+ q(2802),
q(0),
],
q(hna) => [
- q(2785),
+ q(2803),
q(0),
],
q(hnd) => [
- q(2786),
+ q(2804),
q(0),
],
q(hne) => [
- q(2787),
+ q(2805),
q(0),
],
q(hnh) => [
- q(2788),
+ q(2806),
q(0),
],
q(hni) => [
- q(2789),
+ q(2807),
q(0),
],
q(hnj) => [
- q(2790),
+ q(2808),
q(0),
],
q(hnn) => [
- q(2791),
+ q(2809),
q(0),
],
q(hno) => [
- q(2792),
+ q(2810),
q(0),
],
q(hns) => [
- q(2793),
+ q(2811),
q(0),
],
q(hnu) => [
- q(2794),
+ q(2812),
q(0),
],
q(hoa) => [
- q(2795),
+ q(2813),
q(0),
],
q(hob) => [
- q(2796),
+ q(2814),
q(0),
],
q(hoc) => [
- q(2797),
+ q(2815),
q(0),
],
q(hod) => [
- q(2798),
+ q(2816),
q(0),
],
q(hoe) => [
- q(2799),
+ q(2817),
q(0),
],
q(hoh) => [
- q(2800),
+ q(2818),
q(0),
],
q(hoi) => [
- q(2801),
+ q(2819),
q(0),
],
q(hoj) => [
- q(2802),
+ q(2820),
q(0),
],
q(hok) => [
@@ -67316,95 +68142,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hol) => [
- q(2803),
+ q(2821),
q(0),
],
q(hom) => [
- q(2804),
+ q(2822),
q(0),
],
q(hoo) => [
- q(2805),
+ q(2823),
q(0),
],
q(hop) => [
- q(2806),
+ q(2824),
q(0),
],
q(hor) => [
- q(2807),
+ q(2825),
q(0),
],
q(hos) => [
- q(2808),
+ q(2826),
q(0),
],
q(hot) => [
- q(2809),
+ q(2827),
q(0),
],
q(hov) => [
- q(2810),
+ q(2828),
q(0),
],
q(how) => [
- q(2811),
+ q(2829),
q(0),
],
q(hoy) => [
- q(2812),
+ q(2830),
q(0),
],
q(hoz) => [
- q(2813),
+ q(2831),
q(0),
],
q(hpo) => [
- q(2814),
+ q(2832),
q(0),
],
q(hps) => [
- q(2815),
+ q(2833),
q(0),
],
q(hra) => [
- q(2816),
+ q(2834),
+ q(0),
+ ],
+ q(hrc) => [
+ q(2835),
q(0),
],
q(hre) => [
- q(2817),
+ q(2836),
q(0),
],
q(hrk) => [
- q(2818),
+ q(2837),
q(0),
],
q(hrm) => [
- q(2819),
+ q(2838),
q(0),
],
q(hro) => [
- q(2820),
+ q(2839),
+ q(0),
+ ],
+ q(hrp) => [
+ q(2840),
q(0),
],
q(hrt) => [
- q(2821),
+ q(2841),
q(0),
],
q(hru) => [
- q(2822),
+ q(2842),
q(0),
],
q(hrv) => [
q(0181),
q(0),
],
+ q(hrw) => [
+ q(2843),
+ q(0),
+ ],
q(hrx) => [
- q(2823),
+ q(2844),
q(0),
],
q(hrz) => [
- q(2824),
+ q(2845),
q(0),
],
q(hsb) => [
@@ -67412,87 +68250,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(hsh) => [
- q(2825),
+ q(2846),
q(0),
],
q(hsl) => [
- q(2826),
+ q(2847),
q(0),
],
q(hsn) => [
- q(2827),
+ q(2848),
q(0),
],
q(hss) => [
- q(2828),
+ q(2849),
q(0),
],
q(hti) => [
- q(2829),
+ q(2850),
q(0),
],
q(hto) => [
- q(2830),
+ q(2851),
q(0),
],
q(hts) => [
- q(2831),
+ q(2852),
q(0),
],
q(htu) => [
- q(2832),
+ q(2853),
q(0),
],
q(htx) => [
- q(2833),
+ q(2854),
q(0),
],
q(hub) => [
- q(2834),
+ q(2855),
q(0),
],
q(huc) => [
- q(2835),
+ q(2856),
q(0),
],
q(hud) => [
- q(2836),
+ q(2857),
q(0),
],
q(hue) => [
- q(2837),
+ q(2858),
q(0),
],
q(huf) => [
- q(2838),
+ q(2859),
q(0),
],
q(hug) => [
- q(2839),
+ q(2860),
q(0),
],
q(huh) => [
- q(2840),
+ q(2861),
q(0),
],
q(hui) => [
- q(2841),
+ q(2862),
q(0),
],
q(huj) => [
- q(2842),
+ q(2863),
q(0),
],
q(huk) => [
- q(2843),
+ q(2864),
q(0),
],
q(hul) => [
- q(2844),
+ q(2865),
q(0),
],
q(hum) => [
- q(2845),
+ q(2866),
q(0),
],
q(hun) => [
@@ -67500,7 +68338,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(huo) => [
- q(2846),
+ q(2867),
q(0),
],
q(hup) => [
@@ -67508,79 +68346,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(huq) => [
- q(2847),
+ q(2868),
q(0),
],
q(hur) => [
- q(2848),
+ q(2869),
q(0),
],
q(hus) => [
- q(2849),
+ q(2870),
q(0),
],
q(hut) => [
- q(2850),
+ q(2871),
q(0),
],
q(huu) => [
- q(2851),
+ q(2872),
q(0),
],
q(huv) => [
- q(2852),
+ q(2873),
q(0),
],
q(huw) => [
- q(2853),
+ q(2874),
q(0),
],
q(hux) => [
- q(2854),
+ q(2875),
q(0),
],
q(huy) => [
- q(2855),
+ q(2876),
q(0),
],
q(huz) => [
- q(2856),
+ q(2877),
q(0),
],
q(hvc) => [
- q(2857),
+ q(2878),
q(0),
],
q(hve) => [
- q(2858),
+ q(2879),
q(0),
],
q(hvk) => [
- q(2859),
+ q(2880),
q(0),
],
q(hvn) => [
- q(2860),
+ q(2881),
q(0),
],
q(hvv) => [
- q(2861),
+ q(2882),
q(0),
],
q(hwa) => [
- q(2862),
+ q(2883),
q(0),
],
q(hwc) => [
- q(2863),
+ q(2884),
q(0),
],
q(hwo) => [
- q(2864),
+ q(2885),
q(0),
],
q(hya) => [
- q(2865),
+ q(2886),
q(0),
],
q(hyx) => [
@@ -67588,19 +68426,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(iai) => [
- q(2866),
+ q(2887),
q(0),
],
q(ian) => [
- q(2867),
+ q(2888),
q(0),
],
q(iap) => [
- q(2868),
+ q(2889),
q(0),
],
q(iar) => [
- q(2869),
+ q(2890),
q(0),
],
q(iba) => [
@@ -67608,31 +68446,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ibb) => [
- q(2870),
+ q(2891),
q(0),
],
q(ibd) => [
- q(2871),
+ q(2892),
q(0),
],
q(ibe) => [
- q(2872),
+ q(2893),
q(0),
],
q(ibg) => [
- q(2873),
+ q(2894),
q(0),
],
q(ibl) => [
- q(2874),
+ q(2895),
q(0),
],
q(ibm) => [
- q(2875),
+ q(2896),
q(0),
],
q(ibn) => [
- q(2876),
+ q(2897),
q(0),
],
q(ibo) => [
@@ -67640,19 +68478,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ibr) => [
- q(2877),
+ q(2898),
q(0),
],
q(ibu) => [
- q(2878),
+ q(2899),
q(0),
],
q(iby) => [
- q(2879),
+ q(2900),
q(0),
],
q(ica) => [
- q(2880),
+ q(2901),
q(0),
],
q(ice) => [
@@ -67660,39 +68498,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ich) => [
- q(2881),
+ q(2902),
q(0),
],
q(icl) => [
- q(2882),
+ q(2903),
q(0),
],
q(icr) => [
- q(2883),
+ q(2904),
q(0),
],
q(ida) => [
- q(2884),
+ q(2905),
q(0),
],
q(idb) => [
- q(2885),
+ q(2906),
q(0),
],
q(idc) => [
- q(2886),
+ q(2907),
q(0),
],
q(idd) => [
- q(2887),
+ q(2908),
q(0),
],
q(ide) => [
- q(2888),
+ q(2909),
q(0),
],
q(idi) => [
- q(2889),
+ q(2910),
q(0),
],
q(ido) => [
@@ -67700,127 +68538,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(idr) => [
- q(2890),
+ q(2911),
q(0),
],
q(ids) => [
- q(2891),
+ q(2912),
q(0),
],
q(idt) => [
- q(2892),
+ q(2913),
q(0),
],
q(idu) => [
- q(2893),
+ q(2914),
q(0),
],
q(ifa) => [
- q(2894),
+ q(2915),
q(0),
],
q(ifb) => [
- q(2895),
+ q(2916),
q(0),
],
q(ife) => [
- q(2896),
+ q(2917),
q(0),
],
q(iff) => [
- q(2897),
+ q(2918),
q(0),
],
q(ifk) => [
- q(2898),
+ q(2919),
q(0),
],
q(ifm) => [
- q(2899),
+ q(2920),
q(0),
],
q(ifu) => [
- q(2900),
+ q(2921),
q(0),
],
q(ify) => [
- q(2901),
+ q(2922),
q(0),
],
q(igb) => [
- q(2902),
+ q(2923),
q(0),
],
q(ige) => [
- q(2903),
+ q(2924),
q(0),
],
q(igg) => [
- q(2904),
+ q(2925),
q(0),
],
q(igl) => [
- q(2905),
+ q(2926),
q(0),
],
q(igm) => [
- q(2906),
+ q(2927),
q(0),
],
q(ign) => [
- q(2907),
+ q(2928),
q(0),
],
q(igo) => [
- q(2908),
+ q(2929),
q(0),
],
q(igs) => [
- q(2909),
+ q(2930),
q(0),
],
q(igw) => [
- q(2910),
+ q(2931),
q(0),
],
q(ihb) => [
- q(2911),
+ q(2932),
q(0),
],
q(ihi) => [
- q(2912),
+ q(2933),
q(0),
],
q(ihp) => [
- q(2913),
+ q(2934),
q(0),
],
q(ihw) => [
- q(2914),
+ q(2935),
q(0),
],
q(iii) => [
q(0189),
q(0),
],
+ q(iin) => [
+ q(2936),
+ q(0),
+ ],
q(iir) => [
q(0512),
q(0),
],
q(ijc) => [
- q(2915),
+ q(2937),
q(0),
],
q(ije) => [
- q(2916),
+ q(2938),
q(0),
],
q(ijj) => [
- q(2917),
+ q(2939),
q(0),
],
q(ijn) => [
- q(2918),
+ q(2940),
q(0),
],
q(ijo) => [
@@ -67828,35 +68670,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ijs) => [
- q(2919),
+ q(2941),
q(0),
],
q(ike) => [
- q(2920),
+ q(2942),
q(0),
],
q(iki) => [
- q(2921),
+ q(2943),
q(0),
],
q(ikk) => [
- q(2922),
+ q(2944),
q(0),
],
q(ikl) => [
- q(2923),
+ q(2945),
q(0),
],
q(iko) => [
- q(2924),
+ q(2946),
q(0),
],
q(ikp) => [
- q(2925),
+ q(2947),
+ q(0),
+ ],
+ q(ikr) => [
+ q(2948),
q(0),
],
q(ikt) => [
- q(2926),
+ q(2949),
q(0),
],
q(iku) => [
@@ -67864,27 +68710,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ikv) => [
- q(2927),
+ q(2950),
q(0),
],
q(ikw) => [
- q(2928),
+ q(2951),
q(0),
],
q(ikx) => [
- q(2929),
+ q(2952),
q(0),
],
q(ikz) => [
- q(2930),
+ q(2953),
q(0),
],
q(ila) => [
- q(2931),
+ q(2954),
q(0),
],
q(ilb) => [
- q(2932),
+ q(2955),
q(0),
],
q(ile) => [
@@ -67892,19 +68738,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ilg) => [
- q(2933),
+ q(2956),
q(0),
],
q(ili) => [
- q(2934),
+ q(2957),
q(0),
],
q(ilk) => [
- q(2935),
+ q(2958),
q(0),
],
q(ill) => [
- q(2936),
+ q(2959),
q(0),
],
q(ilo) => [
@@ -67912,55 +68758,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ils) => [
- q(2937),
+ q(2960),
q(0),
],
q(ilu) => [
- q(2938),
+ q(2961),
q(0),
],
q(ilv) => [
- q(2939),
- q(0),
- ],
- q(ilw) => [
- q(2940),
+ q(2962),
q(0),
],
q(ima) => [
- q(2941),
+ q(2963),
q(0),
],
q(ime) => [
- q(2942),
+ q(2964),
q(0),
],
q(imi) => [
- q(2943),
+ q(2965),
q(0),
],
q(iml) => [
- q(2944),
+ q(2966),
q(0),
],
q(imn) => [
- q(2945),
+ q(2967),
q(0),
],
q(imo) => [
- q(2946),
+ q(2968),
q(0),
],
q(imr) => [
- q(2947),
+ q(2969),
q(0),
],
q(ims) => [
- q(2948),
+ q(2970),
q(0),
],
q(imy) => [
- q(2949),
+ q(2971),
q(0),
],
q(ina) => [
@@ -67968,7 +68810,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(inb) => [
- q(2950),
+ q(2972),
q(0),
],
q(inc) => [
@@ -67984,7 +68826,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ing) => [
- q(2951),
+ q(2973),
q(0),
],
q(inh) => [
@@ -67992,55 +68834,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(inj) => [
- q(2952),
+ q(2974),
q(0),
],
q(inl) => [
- q(2953),
+ q(2975),
q(0),
],
q(inm) => [
- q(2954),
+ q(2976),
q(0),
],
q(inn) => [
- q(2955),
+ q(2977),
q(0),
],
q(ino) => [
- q(2956),
+ q(2978),
q(0),
],
q(inp) => [
- q(2957),
+ q(2979),
q(0),
],
q(ins) => [
- q(2958),
+ q(2980),
q(0),
],
q(int) => [
- q(2959),
+ q(2981),
q(0),
],
q(inz) => [
- q(2960),
+ q(2982),
q(0),
],
q(ior) => [
- q(2961),
+ q(2983),
q(0),
],
q(iou) => [
- q(2962),
+ q(2984),
q(0),
],
q(iow) => [
- q(2963),
+ q(2985),
q(0),
],
q(ipi) => [
- q(2964),
+ q(2986),
q(0),
],
q(ipk) => [
@@ -68048,11 +68890,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ipo) => [
- q(2965),
+ q(2987),
q(0),
],
q(iqu) => [
- q(2966),
+ q(2988),
+ q(0),
+ ],
+ q(iqw) => [
+ q(2989),
q(0),
],
q(ira) => [
@@ -68060,23 +68906,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ire) => [
- q(2967),
+ q(2990),
q(0),
],
q(irh) => [
- q(2968),
+ q(2991),
q(0),
],
q(iri) => [
- q(2969),
+ q(2992),
q(0),
],
q(irk) => [
- q(2970),
+ q(2993),
q(0),
],
q(irn) => [
- q(2971),
+ q(2994),
q(0),
],
q(iro) => [
@@ -68084,75 +68930,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(irr) => [
- q(2972),
+ q(2995),
q(0),
],
q(iru) => [
- q(2973),
+ q(2996),
q(0),
],
q(irx) => [
- q(2974),
+ q(2997),
q(0),
],
q(iry) => [
- q(2975),
+ q(2998),
q(0),
],
q(isa) => [
- q(2976),
+ q(2999),
q(0),
],
q(isc) => [
- q(2977),
+ q(3000),
q(0),
],
q(isd) => [
- q(2978),
+ q(3001),
q(0),
],
q(ise) => [
- q(2979),
+ q(3002),
q(0),
],
q(isg) => [
- q(2980),
+ q(3003),
q(0),
],
q(ish) => [
- q(2981),
+ q(3004),
q(0),
],
q(isi) => [
- q(2982),
+ q(3005),
q(0),
],
q(isk) => [
- q(2983),
+ q(3006),
q(0),
],
q(ism) => [
- q(2984),
+ q(3007),
q(0),
],
q(isn) => [
- q(2985),
+ q(3008),
q(0),
],
q(iso) => [
- q(2986),
+ q(3009),
q(0),
],
q(isr) => [
- q(2987),
+ q(3010),
q(0),
],
q(ist) => [
- q(2988),
+ q(3011),
q(0),
],
q(isu) => [
- q(2989),
+ q(3012),
q(0),
],
q(ita) => [
@@ -68160,7 +69006,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(itb) => [
- q(2990),
+ q(3013),
q(0),
],
q(itc) => [
@@ -68168,187 +69014,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ite) => [
- q(2991),
+ q(3014),
q(0),
],
q(iti) => [
- q(2992),
+ q(3015),
q(0),
],
q(itk) => [
- q(2993),
+ q(3016),
q(0),
],
q(itl) => [
- q(2994),
+ q(3017),
q(0),
],
q(itm) => [
- q(2995),
+ q(3018),
q(0),
],
q(ito) => [
- q(2996),
+ q(3019),
q(0),
],
q(itr) => [
- q(2997),
+ q(3020),
q(0),
],
q(its) => [
- q(2998),
+ q(3021),
q(0),
],
q(itt) => [
- q(2999),
+ q(3022),
q(0),
],
q(itv) => [
- q(3000),
+ q(3023),
q(0),
],
q(itw) => [
- q(3001),
+ q(3024),
q(0),
],
q(itx) => [
- q(3002),
+ q(3025),
q(0),
],
q(ity) => [
- q(3003),
+ q(3026),
q(0),
],
q(itz) => [
- q(3004),
+ q(3027),
q(0),
],
q(ium) => [
- q(3005),
+ q(3028),
q(0),
],
q(ivb) => [
- q(3006),
+ q(3029),
q(0),
],
q(ivv) => [
- q(3007),
+ q(3030),
q(0),
],
q(iwk) => [
- q(3008),
+ q(3031),
q(0),
],
q(iwm) => [
- q(3009),
+ q(3032),
q(0),
],
q(iwo) => [
- q(3010),
+ q(3033),
q(0),
],
q(iws) => [
- q(3011),
+ q(3034),
q(0),
],
q(ixc) => [
- q(3012),
+ q(3035),
q(0),
],
q(ixl) => [
- q(3013),
+ q(3036),
q(0),
],
q(iya) => [
- q(3014),
+ q(3037),
q(0),
],
q(iyo) => [
- q(3015),
+ q(3038),
q(0),
],
q(iyx) => [
- q(3016),
+ q(3039),
q(0),
],
q(izh) => [
- q(3017),
+ q(3040),
q(0),
],
- q(izi) => [
- q(3018),
+ q(izr) => [
+ q(3041),
q(0),
],
- q(izr) => [
- q(3019),
+ q(izz) => [
+ q(3042),
q(0),
],
q(jaa) => [
- q(3020),
+ q(3043),
q(0),
],
q(jab) => [
- q(3021),
+ q(3044),
q(0),
],
q(jac) => [
- q(3022),
+ q(3045),
q(0),
],
q(jad) => [
- q(3023),
+ q(3046),
q(0),
],
q(jae) => [
- q(3024),
+ q(3047),
q(0),
],
q(jaf) => [
- q(3025),
+ q(3048),
q(0),
],
q(jah) => [
- q(3026),
+ q(3049),
q(0),
],
q(jaj) => [
- q(3027),
+ q(3050),
q(0),
],
q(jak) => [
- q(3028),
+ q(3051),
q(0),
],
q(jal) => [
- q(3029),
+ q(3052),
q(0),
],
q(jam) => [
- q(3030),
+ q(3053),
q(0),
],
q(jan) => [
- q(3031),
+ q(3054),
q(0),
],
q(jao) => [
- q(3032),
+ q(3055),
q(0),
],
q(jaq) => [
- q(3033),
+ q(3056),
q(0),
],
q(jas) => [
- q(3034),
+ q(3057),
q(0),
],
q(jat) => [
- q(3035),
+ q(3058),
q(0),
],
q(jau) => [
- q(3036),
+ q(3059),
q(0),
],
q(jav) => [
@@ -68356,31 +69202,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(jax) => [
- q(3037),
+ q(3060),
q(0),
],
q(jay) => [
- q(3038),
+ q(3061),
q(0),
],
q(jaz) => [
- q(3039),
+ q(3062),
q(0),
],
q(jbe) => [
- q(3040),
+ q(3063),
+ q(0),
+ ],
+ q(jbi) => [
+ q(3064),
q(0),
],
q(jbj) => [
- q(3041),
+ q(3065),
q(0),
],
q(jbk) => [
- q(3042),
+ q(3066),
q(0),
],
q(jbn) => [
- q(3043),
+ q(3067),
q(0),
],
q(jbo) => [
@@ -68388,299 +69238,299 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(jbr) => [
- q(3044),
+ q(3068),
q(0),
],
q(jbt) => [
- q(3045),
+ q(3069),
q(0),
],
q(jbu) => [
- q(3046),
+ q(3070),
q(0),
],
q(jbw) => [
- q(3047),
+ q(3071),
q(0),
],
q(jcs) => [
- q(3048),
+ q(3072),
q(0),
],
q(jct) => [
- q(3049),
+ q(3073),
q(0),
],
q(jda) => [
- q(3050),
+ q(3074),
q(0),
],
q(jdg) => [
- q(3051),
+ q(3075),
q(0),
],
q(jdt) => [
- q(3052),
+ q(3076),
q(0),
],
q(jeb) => [
- q(3053),
+ q(3077),
q(0),
],
q(jee) => [
- q(3054),
+ q(3078),
q(0),
],
q(jeg) => [
- q(3055),
+ q(3079),
q(0),
],
q(jeh) => [
- q(3056),
+ q(3080),
q(0),
],
q(jei) => [
- q(3057),
+ q(3081),
q(0),
],
q(jek) => [
- q(3058),
+ q(3082),
q(0),
],
q(jel) => [
- q(3059),
+ q(3083),
q(0),
],
q(jen) => [
- q(3060),
+ q(3084),
q(0),
],
q(jer) => [
- q(3061),
+ q(3085),
q(0),
],
q(jet) => [
- q(3062),
+ q(3086),
q(0),
],
q(jeu) => [
- q(3063),
+ q(3087),
q(0),
],
q(jgb) => [
- q(3064),
+ q(3088),
q(0),
],
q(jge) => [
- q(3065),
+ q(3089),
q(0),
],
q(jgk) => [
- q(3066),
+ q(3090),
q(0),
],
q(jgo) => [
- q(3067),
+ q(3091),
q(0),
],
q(jhi) => [
- q(3068),
+ q(3092),
q(0),
],
q(jhs) => [
- q(3069),
+ q(3093),
q(0),
],
q(jia) => [
- q(3070),
+ q(3094),
q(0),
],
q(jib) => [
- q(3071),
+ q(3095),
q(0),
],
q(jic) => [
- q(3072),
+ q(3096),
q(0),
],
q(jid) => [
- q(3073),
+ q(3097),
q(0),
],
q(jie) => [
- q(3074),
+ q(3098),
q(0),
],
q(jig) => [
- q(3075),
+ q(3099),
q(0),
],
q(jih) => [
- q(3076),
+ q(3100),
q(0),
],
q(jii) => [
- q(3077),
+ q(3101),
q(0),
],
q(jil) => [
- q(3078),
+ q(3102),
q(0),
],
q(jim) => [
- q(3079),
+ q(3103),
q(0),
],
q(jio) => [
- q(3080),
+ q(3104),
q(0),
],
q(jiq) => [
- q(3081),
+ q(3105),
q(0),
],
q(jit) => [
- q(3082),
+ q(3106),
q(0),
],
q(jiu) => [
- q(3083),
+ q(3107),
q(0),
],
q(jiv) => [
- q(3084),
+ q(3108),
q(0),
],
q(jiy) => [
- q(3085),
+ q(3109),
q(0),
],
q(jjr) => [
- q(3086),
+ q(3110),
q(0),
],
q(jkm) => [
- q(3087),
+ q(3111),
q(0),
],
q(jko) => [
- q(3088),
+ q(3112),
q(0),
],
q(jkp) => [
- q(3089),
+ q(3113),
q(0),
],
q(jkr) => [
- q(3090),
+ q(3114),
q(0),
],
q(jku) => [
- q(3091),
+ q(3115),
q(0),
],
q(jle) => [
- q(3092),
+ q(3116),
q(0),
],
q(jls) => [
- q(3093),
+ q(3117),
q(0),
],
q(jma) => [
- q(3094),
+ q(3118),
q(0),
],
q(jmb) => [
- q(3095),
+ q(3119),
q(0),
],
q(jmc) => [
- q(3096),
+ q(3120),
q(0),
],
q(jmd) => [
- q(3097),
+ q(3121),
q(0),
],
q(jmi) => [
- q(3098),
+ q(3122),
q(0),
],
q(jml) => [
- q(3099),
+ q(3123),
q(0),
],
q(jmn) => [
- q(3100),
+ q(3124),
q(0),
],
q(jmr) => [
- q(3101),
+ q(3125),
q(0),
],
q(jms) => [
- q(3102),
+ q(3126),
q(0),
],
q(jmw) => [
- q(3103),
+ q(3127),
q(0),
],
q(jmx) => [
- q(3104),
+ q(3128),
q(0),
],
q(jna) => [
- q(3105),
+ q(3129),
q(0),
],
q(jnd) => [
- q(3106),
+ q(3130),
q(0),
],
q(jng) => [
- q(3107),
+ q(3131),
q(0),
],
q(jni) => [
- q(3108),
+ q(3132),
q(0),
],
q(jnj) => [
- q(3109),
+ q(3133),
q(0),
],
q(jnl) => [
- q(3110),
+ q(3134),
q(0),
],
q(jns) => [
- q(3111),
+ q(3135),
q(0),
],
q(job) => [
- q(3112),
+ q(3136),
q(0),
],
q(jod) => [
- q(3113),
+ q(3137),
q(0),
],
q(jor) => [
- q(3114),
+ q(3138),
q(0),
],
q(jos) => [
- q(3115),
+ q(3139),
q(0),
],
q(jow) => [
- q(3116),
+ q(3140),
q(0),
],
q(jpa) => [
- q(3117),
+ q(3141),
q(0),
],
q(jpn) => [
@@ -68696,11 +69546,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(jqr) => [
- q(3118),
+ q(3142),
q(0),
],
q(jra) => [
- q(3119),
+ q(3143),
q(0),
],
q(jrb) => [
@@ -68708,115 +69558,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(jrr) => [
- q(3120),
+ q(3144),
q(0),
],
q(jrt) => [
- q(3121),
+ q(3145),
q(0),
],
q(jru) => [
- q(3122),
+ q(3146),
q(0),
],
q(jsl) => [
- q(3123),
+ q(3147),
q(0),
],
q(jua) => [
- q(3124),
+ q(3148),
q(0),
],
q(jub) => [
- q(3125),
+ q(3149),
q(0),
],
q(juc) => [
- q(3126),
+ q(3150),
q(0),
],
q(jud) => [
- q(3127),
+ q(3151),
q(0),
],
q(juh) => [
- q(3128),
+ q(3152),
q(0),
],
q(jui) => [
- q(3129),
+ q(3153),
q(0),
],
q(juk) => [
- q(3130),
+ q(3154),
q(0),
],
q(jul) => [
- q(3131),
+ q(3155),
q(0),
],
q(jum) => [
- q(3132),
+ q(3156),
q(0),
],
q(jun) => [
- q(3133),
+ q(3157),
q(0),
],
q(juo) => [
- q(3134),
+ q(3158),
q(0),
],
q(jup) => [
- q(3135),
+ q(3159),
q(0),
],
q(jur) => [
- q(3136),
+ q(3160),
q(0),
],
q(jus) => [
- q(3137),
+ q(3161),
q(0),
],
q(jut) => [
- q(3138),
+ q(3162),
q(0),
],
q(juu) => [
- q(3139),
+ q(3163),
q(0),
],
q(juw) => [
- q(3140),
+ q(3164),
q(0),
],
q(juy) => [
- q(3141),
+ q(3165),
q(0),
],
q(jvd) => [
- q(3142),
+ q(3166),
q(0),
],
q(jvn) => [
- q(3143),
+ q(3167),
q(0),
],
q(jwi) => [
- q(3144),
+ q(3168),
q(0),
],
q(jya) => [
- q(3145),
+ q(3169),
q(0),
],
q(jye) => [
- q(3146),
+ q(3170),
q(0),
],
q(jyy) => [
- q(3147),
+ q(3171),
q(0),
],
q(kaa) => [
@@ -68832,35 +69682,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kad) => [
- q(3148),
+ q(3172),
q(0),
],
q(kae) => [
- q(3149),
+ q(3173),
q(0),
],
q(kaf) => [
- q(3150),
+ q(3174),
q(0),
],
q(kag) => [
- q(3151),
+ q(3175),
q(0),
],
q(kah) => [
- q(3152),
+ q(3176),
q(0),
],
q(kai) => [
- q(3153),
+ q(3177),
q(0),
],
q(kaj) => [
- q(3154),
+ q(3178),
q(0),
],
q(kak) => [
- q(3155),
+ q(3179),
q(0),
],
q(kal) => [
@@ -68876,15 +69726,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kao) => [
- q(3156),
+ q(3180),
q(0),
],
q(kap) => [
- q(3157),
+ q(3181),
q(0),
],
q(kaq) => [
- q(3158),
+ q(3182),
q(0),
],
q(kar) => [
@@ -68900,7 +69750,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kav) => [
- q(3159),
+ q(3183),
q(0),
],
q(kaw) => [
@@ -68908,11 +69758,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kax) => [
- q(3160),
+ q(3184),
q(0),
],
q(kay) => [
- q(3161),
+ q(3185),
q(0),
],
q(kaz) => [
@@ -68920,15 +69770,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kba) => [
- q(3162),
+ q(3186),
q(0),
],
q(kbb) => [
- q(3163),
+ q(3187),
q(0),
],
q(kbc) => [
- q(3164),
+ q(3188),
q(0),
],
q(kbd) => [
@@ -68936,247 +69786,247 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kbe) => [
- q(3165),
+ q(3189),
q(0),
],
q(kbf) => [
- q(3166),
+ q(3190),
q(0),
],
q(kbg) => [
- q(3167),
+ q(3191),
q(0),
],
q(kbh) => [
- q(3168),
+ q(3192),
q(0),
],
q(kbi) => [
- q(3169),
+ q(3193),
q(0),
],
q(kbj) => [
- q(3170),
+ q(3194),
q(0),
],
q(kbk) => [
- q(3171),
+ q(3195),
q(0),
],
q(kbl) => [
- q(3172),
+ q(3196),
q(0),
],
q(kbm) => [
- q(3173),
+ q(3197),
q(0),
],
q(kbn) => [
- q(3174),
+ q(3198),
q(0),
],
q(kbo) => [
- q(3175),
+ q(3199),
q(0),
],
q(kbp) => [
- q(3176),
+ q(3200),
q(0),
],
q(kbq) => [
- q(3177),
+ q(3201),
q(0),
],
q(kbr) => [
- q(3178),
+ q(3202),
q(0),
],
q(kbs) => [
- q(3179),
+ q(3203),
q(0),
],
q(kbt) => [
- q(3180),
+ q(3204),
q(0),
],
q(kbu) => [
- q(3181),
+ q(3205),
q(0),
],
q(kbv) => [
- q(3182),
+ q(3206),
q(0),
],
q(kbw) => [
- q(3183),
+ q(3207),
q(0),
],
q(kbx) => [
- q(3184),
+ q(3208),
q(0),
],
q(kby) => [
- q(3185),
+ q(3209),
q(0),
],
q(kbz) => [
- q(3186),
+ q(3210),
q(0),
],
q(kca) => [
- q(3187),
+ q(3211),
q(0),
],
q(kcb) => [
- q(3188),
+ q(3212),
q(0),
],
q(kcc) => [
- q(3189),
+ q(3213),
q(0),
],
q(kcd) => [
- q(3190),
+ q(3214),
q(0),
],
q(kce) => [
- q(3191),
+ q(3215),
q(0),
],
q(kcf) => [
- q(3192),
+ q(3216),
q(0),
],
q(kcg) => [
- q(3193),
+ q(3217),
q(0),
],
q(kch) => [
- q(3194),
+ q(3218),
q(0),
],
q(kci) => [
- q(3195),
+ q(3219),
q(0),
],
q(kcj) => [
- q(3196),
+ q(3220),
q(0),
],
q(kck) => [
- q(3197),
+ q(3221),
q(0),
],
q(kcl) => [
- q(3198),
+ q(3222),
q(0),
],
q(kcm) => [
- q(3199),
+ q(3223),
q(0),
],
q(kcn) => [
- q(3200),
+ q(3224),
q(0),
],
q(kco) => [
- q(3201),
+ q(3225),
q(0),
],
q(kcp) => [
- q(3202),
+ q(3226),
q(0),
],
q(kcq) => [
- q(3203),
+ q(3227),
q(0),
],
q(kcr) => [
- q(3204),
+ q(3228),
q(0),
],
q(kcs) => [
- q(3205),
+ q(3229),
q(0),
],
q(kct) => [
- q(3206),
+ q(3230),
q(0),
],
q(kcu) => [
- q(3207),
+ q(3231),
q(0),
],
q(kcv) => [
- q(3208),
+ q(3232),
q(0),
],
q(kcw) => [
- q(3209),
+ q(3233),
q(0),
],
q(kcx) => [
- q(3210),
+ q(3234),
q(0),
],
q(kcy) => [
- q(3211),
+ q(3235),
q(0),
],
q(kcz) => [
- q(3212),
+ q(3236),
q(0),
],
q(kda) => [
- q(3213),
+ q(3237),
q(0),
],
q(kdc) => [
- q(3214),
+ q(3238),
q(0),
],
q(kdd) => [
- q(3215),
+ q(3239),
q(0),
],
q(kde) => [
- q(3216),
+ q(3240),
q(0),
],
q(kdf) => [
- q(3217),
+ q(3241),
q(0),
],
q(kdg) => [
- q(3218),
+ q(3242),
q(0),
],
q(kdh) => [
- q(3219),
+ q(3243),
q(0),
],
q(kdi) => [
- q(3220),
+ q(3244),
q(0),
],
q(kdj) => [
- q(3221),
+ q(3245),
q(0),
],
q(kdk) => [
- q(3222),
+ q(3246),
q(0),
],
q(kdl) => [
- q(3223),
+ q(3247),
q(0),
],
q(kdm) => [
- q(3224),
+ q(3248),
q(0),
],
q(kdn) => [
- q(3225),
+ q(3249),
q(0),
],
q(kdo) => [
@@ -69184,343 +70034,343 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kdp) => [
- q(3226),
+ q(3250),
q(0),
],
q(kdq) => [
- q(3227),
+ q(3251),
q(0),
],
q(kdr) => [
- q(3228),
+ q(3252),
q(0),
],
q(kdt) => [
- q(3229),
+ q(3253),
q(0),
],
q(kdu) => [
- q(3230),
+ q(3254),
q(0),
],
q(kdw) => [
- q(3231),
+ q(3255),
q(0),
],
q(kdx) => [
- q(3232),
+ q(3256),
q(0),
],
q(kdy) => [
- q(3233),
+ q(3257),
q(0),
],
q(kdz) => [
- q(3234),
+ q(3258),
q(0),
],
q(kea) => [
- q(3235),
+ q(3259),
q(0),
],
q(keb) => [
- q(3236),
+ q(3260),
q(0),
],
q(kec) => [
- q(3237),
+ q(3261),
q(0),
],
q(ked) => [
- q(3238),
+ q(3262),
q(0),
],
q(kee) => [
- q(3239),
+ q(3263),
q(0),
],
q(kef) => [
- q(3240),
+ q(3264),
q(0),
],
q(keg) => [
- q(3241),
+ q(3265),
q(0),
],
q(keh) => [
- q(3242),
+ q(3266),
q(0),
],
q(kei) => [
- q(3243),
+ q(3267),
q(0),
],
q(kej) => [
- q(3244),
+ q(3268),
q(0),
],
q(kek) => [
- q(3245),
+ q(3269),
q(0),
],
q(kel) => [
- q(3246),
+ q(3270),
q(0),
],
q(kem) => [
- q(3247),
+ q(3271),
q(0),
],
q(ken) => [
- q(3248),
+ q(3272),
q(0),
],
q(keo) => [
- q(3249),
+ q(3273),
q(0),
],
q(kep) => [
- q(3250),
+ q(3274),
q(0),
],
q(keq) => [
- q(3251),
+ q(3275),
q(0),
],
q(ker) => [
- q(3252),
+ q(3276),
q(0),
],
q(kes) => [
- q(3253),
+ q(3277),
q(0),
],
q(ket) => [
- q(3254),
+ q(3278),
q(0),
],
q(keu) => [
- q(3255),
+ q(3279),
q(0),
],
q(kev) => [
- q(3256),
+ q(3280),
q(0),
],
q(kew) => [
- q(3257),
+ q(3281),
q(0),
],
q(kex) => [
- q(3258),
+ q(3282),
q(0),
],
q(key) => [
- q(3259),
+ q(3283),
q(0),
],
q(kez) => [
- q(3260),
+ q(3284),
q(0),
],
q(kfa) => [
- q(3261),
+ q(3285),
q(0),
],
q(kfb) => [
- q(3262),
+ q(3286),
q(0),
],
q(kfc) => [
- q(3263),
+ q(3287),
q(0),
],
q(kfd) => [
- q(3264),
+ q(3288),
q(0),
],
q(kfe) => [
- q(3265),
+ q(3289),
q(0),
],
q(kff) => [
- q(3266),
+ q(3290),
q(0),
],
q(kfg) => [
- q(3267),
+ q(3291),
q(0),
],
q(kfh) => [
- q(3268),
+ q(3292),
q(0),
],
q(kfi) => [
- q(3269),
+ q(3293),
q(0),
],
q(kfj) => [
- q(3270),
+ q(3294),
q(0),
],
q(kfk) => [
- q(3271),
+ q(3295),
q(0),
],
q(kfl) => [
- q(3272),
+ q(3296),
q(0),
],
q(kfm) => [
- q(3273),
+ q(3297),
q(0),
],
q(kfn) => [
- q(3274),
+ q(3298),
q(0),
],
q(kfo) => [
- q(3275),
+ q(3299),
q(0),
],
q(kfp) => [
- q(3276),
+ q(3300),
q(0),
],
q(kfq) => [
- q(3277),
+ q(3301),
q(0),
],
q(kfr) => [
- q(3278),
+ q(3302),
q(0),
],
q(kfs) => [
- q(3279),
+ q(3303),
q(0),
],
q(kft) => [
- q(3280),
+ q(3304),
q(0),
],
q(kfu) => [
- q(3281),
+ q(3305),
q(0),
],
q(kfv) => [
- q(3282),
+ q(3306),
q(0),
],
q(kfw) => [
- q(3283),
+ q(3307),
q(0),
],
q(kfx) => [
- q(3284),
+ q(3308),
q(0),
],
q(kfy) => [
- q(3285),
+ q(3309),
q(0),
],
q(kfz) => [
- q(3286),
+ q(3310),
q(0),
],
q(kga) => [
- q(3287),
+ q(3311),
q(0),
],
q(kgb) => [
- q(3288),
+ q(3312),
q(0),
],
q(kgc) => [
- q(3289),
+ q(3313),
q(0),
],
q(kgd) => [
- q(3290),
+ q(3314),
q(0),
],
q(kge) => [
- q(3291),
+ q(3315),
q(0),
],
q(kgf) => [
- q(3292),
+ q(3316),
q(0),
],
q(kgg) => [
- q(3293),
+ q(3317),
q(0),
],
q(kgi) => [
- q(3294),
+ q(3318),
q(0),
],
q(kgj) => [
- q(3295),
+ q(3319),
q(0),
],
q(kgk) => [
- q(3296),
+ q(3320),
q(0),
],
q(kgl) => [
- q(3297),
+ q(3321),
q(0),
],
q(kgm) => [
- q(3298),
+ q(3322),
q(0),
],
q(kgn) => [
- q(3299),
+ q(3323),
q(0),
],
q(kgo) => [
- q(3300),
+ q(3324),
q(0),
],
q(kgp) => [
- q(3301),
+ q(3325),
q(0),
],
q(kgq) => [
- q(3302),
+ q(3326),
q(0),
],
q(kgr) => [
- q(3303),
+ q(3327),
q(0),
],
q(kgs) => [
- q(3304),
+ q(3328),
q(0),
],
q(kgt) => [
- q(3305),
+ q(3329),
q(0),
],
q(kgu) => [
- q(3306),
+ q(3330),
q(0),
],
q(kgv) => [
- q(3307),
+ q(3331),
q(0),
],
q(kgw) => [
- q(3308),
+ q(3332),
q(0),
],
q(kgx) => [
- q(3309),
+ q(3333),
q(0),
],
q(kgy) => [
- q(3310),
+ q(3334),
q(0),
],
q(kha) => [
@@ -69528,31 +70378,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(khb) => [
- q(3311),
+ q(3335),
q(0),
],
q(khc) => [
- q(3312),
+ q(3336),
q(0),
],
q(khd) => [
- q(3313),
+ q(3337),
q(0),
],
q(khe) => [
- q(3314),
+ q(3338),
q(0),
],
q(khf) => [
- q(3315),
+ q(3339),
q(0),
],
q(khg) => [
- q(3316),
+ q(3340),
q(0),
],
q(khh) => [
- q(3317),
+ q(3341),
q(0),
],
q(khi) => [
@@ -69560,15 +70410,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(khj) => [
- q(3318),
+ q(3342),
q(0),
],
q(khk) => [
- q(3319),
+ q(3343),
q(0),
],
q(khl) => [
- q(3320),
+ q(3344),
q(0),
],
q(khm) => [
@@ -69576,7 +70426,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(khn) => [
- q(3321),
+ q(3345),
q(0),
],
q(kho) => [
@@ -69584,87 +70434,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(khp) => [
- q(3322),
+ q(3346),
q(0),
],
q(khq) => [
- q(3323),
+ q(3347),
q(0),
],
q(khr) => [
- q(3324),
+ q(3348),
q(0),
],
q(khs) => [
- q(3325),
+ q(3349),
q(0),
],
q(kht) => [
- q(3326),
+ q(3350),
q(0),
],
q(khu) => [
- q(3327),
+ q(3351),
q(0),
],
q(khv) => [
- q(3328),
+ q(3352),
q(0),
],
q(khw) => [
- q(3329),
+ q(3353),
q(0),
],
q(khx) => [
- q(3330),
+ q(3354),
q(0),
],
q(khy) => [
- q(3331),
+ q(3355),
q(0),
],
q(khz) => [
- q(3332),
+ q(3356),
q(0),
],
q(kia) => [
- q(3333),
+ q(3357),
q(0),
],
q(kib) => [
- q(3334),
+ q(3358),
q(0),
],
q(kic) => [
- q(3335),
+ q(3359),
q(0),
],
q(kid) => [
- q(3336),
+ q(3360),
q(0),
],
q(kie) => [
- q(3337),
+ q(3361),
q(0),
],
q(kif) => [
- q(3338),
+ q(3362),
q(0),
],
q(kig) => [
- q(3339),
+ q(3363),
q(0),
],
q(kih) => [
- q(3340),
+ q(3364),
q(0),
],
q(kii) => [
- q(3341),
+ q(3365),
q(0),
],
q(kij) => [
- q(3342),
+ q(3366),
q(0),
],
q(kik) => [
@@ -69672,11 +70522,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kil) => [
- q(3343),
+ q(3367),
q(0),
],
q(kim) => [
- q(3344),
+ q(3368),
q(0),
],
q(kin) => [
@@ -69684,15 +70534,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kio) => [
- q(3345),
+ q(3369),
q(0),
],
q(kip) => [
- q(3346),
+ q(3370),
q(0),
],
q(kiq) => [
- q(3347),
+ q(3371),
q(0),
],
q(kir) => [
@@ -69700,343 +70550,343 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kis) => [
- q(3348),
+ q(3372),
q(0),
],
q(kit) => [
- q(3349),
+ q(3373),
q(0),
],
q(kiu) => [
- q(3350),
+ q(3374),
q(0),
],
q(kiv) => [
- q(3351),
+ q(3375),
q(0),
],
q(kiw) => [
- q(3352),
+ q(3376),
q(0),
],
q(kix) => [
- q(3353),
+ q(3377),
q(0),
],
q(kiy) => [
- q(3354),
+ q(3378),
q(0),
],
q(kiz) => [
- q(3355),
+ q(3379),
q(0),
],
q(kja) => [
- q(3356),
+ q(3380),
q(0),
],
q(kjb) => [
- q(3357),
+ q(3381),
q(0),
],
q(kjc) => [
- q(3358),
+ q(3382),
q(0),
],
q(kjd) => [
- q(3359),
+ q(3383),
q(0),
],
q(kje) => [
- q(3360),
+ q(3384),
q(0),
],
q(kjf) => [
- q(3361),
+ q(3385),
q(0),
],
q(kjg) => [
- q(3362),
+ q(3386),
q(0),
],
q(kjh) => [
- q(3363),
+ q(3387),
q(0),
],
q(kji) => [
- q(3364),
+ q(3388),
q(0),
],
q(kjj) => [
- q(3365),
+ q(3389),
q(0),
],
q(kjk) => [
- q(3366),
+ q(3390),
q(0),
],
q(kjl) => [
- q(3367),
+ q(3391),
q(0),
],
q(kjm) => [
- q(3368),
+ q(3392),
q(0),
],
q(kjn) => [
- q(3369),
+ q(3393),
q(0),
],
q(kjo) => [
- q(3370),
+ q(3394),
q(0),
],
q(kjp) => [
- q(3371),
+ q(3395),
q(0),
],
q(kjq) => [
- q(3372),
+ q(3396),
q(0),
],
q(kjr) => [
- q(3373),
+ q(3397),
q(0),
],
q(kjs) => [
- q(3374),
+ q(3398),
q(0),
],
q(kjt) => [
- q(3375),
+ q(3399),
q(0),
],
q(kju) => [
- q(3376),
+ q(3400),
q(0),
],
q(kjx) => [
- q(3377),
+ q(3401),
q(0),
],
q(kjy) => [
- q(3378),
+ q(3402),
q(0),
],
q(kjz) => [
- q(3379),
+ q(3403),
q(0),
],
q(kka) => [
- q(3380),
+ q(3404),
q(0),
],
q(kkb) => [
- q(3381),
+ q(3405),
q(0),
],
q(kkc) => [
- q(3382),
+ q(3406),
q(0),
],
q(kkd) => [
- q(3383),
+ q(3407),
q(0),
],
q(kke) => [
- q(3384),
+ q(3408),
q(0),
],
q(kkf) => [
- q(3385),
+ q(3409),
q(0),
],
q(kkg) => [
- q(3386),
+ q(3410),
q(0),
],
q(kkh) => [
- q(3387),
+ q(3411),
q(0),
],
q(kki) => [
- q(3388),
+ q(3412),
q(0),
],
q(kkj) => [
- q(3389),
+ q(3413),
q(0),
],
q(kkk) => [
- q(3390),
+ q(3414),
q(0),
],
q(kkl) => [
- q(3391),
+ q(3415),
q(0),
],
q(kkm) => [
- q(3392),
+ q(3416),
q(0),
],
q(kkn) => [
- q(3393),
+ q(3417),
q(0),
],
q(kko) => [
- q(3394),
+ q(3418),
q(0),
],
q(kkp) => [
- q(3395),
+ q(3419),
q(0),
],
q(kkq) => [
- q(3396),
+ q(3420),
q(0),
],
q(kkr) => [
- q(3397),
+ q(3421),
q(0),
],
q(kks) => [
- q(3398),
+ q(3422),
q(0),
],
q(kkt) => [
- q(3399),
+ q(3423),
q(0),
],
q(kku) => [
- q(3400),
+ q(3424),
q(0),
],
q(kkv) => [
- q(3401),
+ q(3425),
q(0),
],
q(kkw) => [
- q(3402),
+ q(3426),
q(0),
],
q(kkx) => [
- q(3403),
+ q(3427),
q(0),
],
q(kky) => [
- q(3404),
+ q(3428),
q(0),
],
q(kkz) => [
- q(3405),
+ q(3429),
q(0),
],
q(kla) => [
- q(3406),
+ q(3430),
q(0),
],
q(klb) => [
- q(3407),
+ q(3431),
q(0),
],
q(klc) => [
- q(3408),
+ q(3432),
q(0),
],
q(kld) => [
- q(3409),
+ q(3433),
q(0),
],
q(kle) => [
- q(3410),
+ q(3434),
q(0),
],
q(klf) => [
- q(3411),
+ q(3435),
q(0),
],
q(klg) => [
- q(3412),
+ q(3436),
q(0),
],
q(klh) => [
- q(3413),
+ q(3437),
q(0),
],
q(kli) => [
- q(3414),
+ q(3438),
q(0),
],
q(klj) => [
- q(3415),
+ q(3439),
q(0),
],
q(klk) => [
- q(3416),
+ q(3440),
q(0),
],
q(kll) => [
- q(3417),
+ q(3441),
q(0),
],
q(klm) => [
- q(3418),
+ q(3442),
q(0),
],
q(kln) => [
- q(3419),
+ q(3443),
q(0),
],
q(klo) => [
- q(3420),
+ q(3444),
q(0),
],
q(klp) => [
- q(3421),
+ q(3445),
q(0),
],
q(klq) => [
- q(3422),
+ q(3446),
q(0),
],
q(klr) => [
- q(3423),
+ q(3447),
q(0),
],
q(kls) => [
- q(3424),
+ q(3448),
q(0),
],
q(klt) => [
- q(3425),
+ q(3449),
q(0),
],
q(klu) => [
- q(3426),
+ q(3450),
q(0),
],
q(klv) => [
- q(3427),
+ q(3451),
q(0),
],
q(klw) => [
- q(3428),
+ q(3452),
q(0),
],
q(klx) => [
- q(3429),
+ q(3453),
q(0),
],
q(kly) => [
- q(3430),
+ q(3454),
q(0),
],
q(klz) => [
- q(3431),
+ q(3455),
q(0),
],
q(kma) => [
- q(3432),
+ q(3456),
q(0),
],
q(kmb) => [
@@ -70044,235 +70894,235 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kmc) => [
- q(3433),
+ q(3457),
q(0),
],
q(kmd) => [
- q(3434),
+ q(3458),
q(0),
],
q(kme) => [
- q(3435),
+ q(3459),
q(0),
],
q(kmf) => [
- q(3436),
+ q(3460),
q(0),
],
q(kmg) => [
- q(3437),
+ q(3461),
q(0),
],
q(kmh) => [
- q(3438),
+ q(3462),
q(0),
],
q(kmi) => [
- q(3439),
+ q(3463),
q(0),
],
q(kmj) => [
- q(3440),
+ q(3464),
q(0),
],
q(kmk) => [
- q(3441),
+ q(3465),
q(0),
],
q(kml) => [
- q(3442),
+ q(3466),
q(0),
],
q(kmm) => [
- q(3443),
+ q(3467),
q(0),
],
q(kmn) => [
- q(3444),
+ q(3468),
q(0),
],
q(kmo) => [
- q(3445),
+ q(3469),
q(0),
],
q(kmp) => [
- q(3446),
+ q(3470),
q(0),
],
q(kmq) => [
- q(3447),
+ q(3471),
q(0),
],
q(kmr) => [
- q(3448),
+ q(3472),
q(0),
],
q(kms) => [
- q(3449),
+ q(3473),
q(0),
],
q(kmt) => [
- q(3450),
+ q(3474),
q(0),
],
q(kmu) => [
- q(3451),
+ q(3475),
q(0),
],
q(kmv) => [
- q(3452),
+ q(3476),
q(0),
],
q(kmw) => [
- q(3453),
+ q(3477),
q(0),
],
q(kmx) => [
- q(3454),
+ q(3478),
q(0),
],
q(kmy) => [
- q(3455),
+ q(3479),
q(0),
],
q(kmz) => [
- q(3456),
+ q(3480),
q(0),
],
q(kna) => [
- q(3457),
+ q(3481),
q(0),
],
q(knb) => [
- q(3458),
+ q(3482),
q(0),
],
q(knc) => [
- q(3459),
+ q(3483),
q(0),
],
q(knd) => [
- q(3460),
+ q(3484),
q(0),
],
q(kne) => [
- q(3461),
+ q(3485),
q(0),
],
q(knf) => [
- q(3462),
+ q(3486),
q(0),
],
q(kng) => [
- q(3463),
+ q(3487),
q(0),
],
q(kni) => [
- q(3464),
+ q(3488),
q(0),
],
q(knj) => [
- q(3465),
+ q(3489),
q(0),
],
q(knk) => [
- q(3466),
+ q(3490),
q(0),
],
q(knl) => [
- q(3467),
+ q(3491),
q(0),
],
q(knm) => [
- q(3468),
+ q(3492),
q(0),
],
q(knn) => [
- q(3469),
+ q(3493),
q(0),
],
q(kno) => [
- q(3470),
+ q(3494),
q(0),
],
q(knp) => [
- q(3471),
+ q(3495),
q(0),
],
q(knq) => [
- q(3472),
+ q(3496),
q(0),
],
q(knr) => [
- q(3473),
+ q(3497),
q(0),
],
q(kns) => [
- q(3474),
+ q(3498),
q(0),
],
q(knt) => [
- q(3475),
+ q(3499),
q(0),
],
q(knu) => [
- q(3476),
+ q(3500),
q(0),
],
q(knv) => [
- q(3477),
+ q(3501),
q(0),
],
q(knw) => [
- q(3478),
+ q(3502),
q(0),
],
q(knx) => [
- q(3479),
+ q(3503),
q(0),
],
q(kny) => [
- q(3480),
+ q(3504),
q(0),
],
q(knz) => [
- q(3481),
+ q(3505),
q(0),
],
q(koa) => [
- q(3482),
+ q(3506),
q(0),
],
q(koc) => [
- q(3483),
+ q(3507),
q(0),
],
q(kod) => [
- q(3484),
+ q(3508),
q(0),
],
q(koe) => [
- q(3485),
+ q(3509),
q(0),
],
q(kof) => [
- q(3486),
+ q(3510),
q(0),
],
q(kog) => [
- q(3487),
+ q(3511),
q(0),
],
q(koh) => [
- q(3488),
+ q(3512),
q(0),
],
q(koi) => [
- q(3489),
+ q(3513),
q(0),
],
q(koj) => [
- q(3490),
+ q(3514),
q(0),
],
q(kok) => [
@@ -70280,7 +71130,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(kol) => [
- q(3491),
+ q(3515),
q(0),
],
q(kom) => [
@@ -70292,15 +71142,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(koo) => [
- q(3492),
+ q(3516),
q(0),
],
q(kop) => [
- q(3493),
+ q(3517),
q(0),
],
q(koq) => [
- q(3494),
+ q(3518),
q(0),
],
q(kor) => [
@@ -70312,47 +71162,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kot) => [
- q(3495),
+ q(3519),
q(0),
],
q(kou) => [
- q(3496),
+ q(3520),
q(0),
],
q(kov) => [
- q(3497),
+ q(3521),
q(0),
],
q(kow) => [
- q(3498),
+ q(3522),
q(0),
],
q(kox) => [
- q(3499),
+ q(3523),
q(0),
],
q(koy) => [
- q(3500),
+ q(3524),
q(0),
],
q(koz) => [
- q(3501),
+ q(3525),
q(0),
],
q(kpa) => [
- q(3502),
+ q(3526),
q(0),
],
q(kpb) => [
- q(3503),
+ q(3527),
q(0),
],
q(kpc) => [
- q(3504),
+ q(3528),
q(0),
],
q(kpd) => [
- q(3505),
+ q(3529),
q(0),
],
q(kpe) => [
@@ -70360,195 +71210,195 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kpf) => [
- q(3506),
+ q(3530),
q(0),
],
q(kpg) => [
- q(3507),
+ q(3531),
q(0),
],
q(kph) => [
- q(3508),
+ q(3532),
q(0),
],
q(kpi) => [
- q(3509),
+ q(3533),
q(0),
],
q(kpj) => [
- q(3510),
+ q(3534),
q(0),
],
q(kpk) => [
- q(3511),
+ q(3535),
q(0),
],
q(kpl) => [
- q(3512),
+ q(3536),
q(0),
],
q(kpm) => [
- q(3513),
+ q(3537),
q(0),
],
q(kpn) => [
- q(3514),
+ q(3538),
q(0),
],
q(kpo) => [
- q(3515),
+ q(3539),
q(0),
],
q(kpq) => [
- q(3516),
+ q(3540),
q(0),
],
q(kpr) => [
- q(3517),
+ q(3541),
q(0),
],
q(kps) => [
- q(3518),
+ q(3542),
q(0),
],
q(kpt) => [
- q(3519),
+ q(3543),
q(0),
],
q(kpu) => [
- q(3520),
+ q(3544),
q(0),
],
q(kpv) => [
- q(3521),
+ q(3545),
q(0),
],
q(kpw) => [
- q(3522),
+ q(3546),
q(0),
],
q(kpx) => [
- q(3523),
+ q(3547),
q(0),
],
q(kpy) => [
- q(3524),
+ q(3548),
q(0),
],
q(kpz) => [
- q(3525),
+ q(3549),
q(0),
],
q(kqa) => [
- q(3526),
+ q(3550),
q(0),
],
q(kqb) => [
- q(3527),
+ q(3551),
q(0),
],
q(kqc) => [
- q(3528),
+ q(3552),
q(0),
],
q(kqd) => [
- q(3529),
+ q(3553),
q(0),
],
q(kqe) => [
- q(3530),
+ q(3554),
q(0),
],
q(kqf) => [
- q(3531),
+ q(3555),
q(0),
],
q(kqg) => [
- q(3532),
+ q(3556),
q(0),
],
q(kqh) => [
- q(3533),
+ q(3557),
q(0),
],
q(kqi) => [
- q(3534),
+ q(3558),
q(0),
],
q(kqj) => [
- q(3535),
+ q(3559),
q(0),
],
q(kqk) => [
- q(3536),
+ q(3560),
q(0),
],
q(kql) => [
- q(3537),
+ q(3561),
q(0),
],
q(kqm) => [
- q(3538),
+ q(3562),
q(0),
],
q(kqn) => [
- q(3539),
+ q(3563),
q(0),
],
q(kqo) => [
- q(3540),
+ q(3564),
q(0),
],
q(kqp) => [
- q(3541),
+ q(3565),
q(0),
],
q(kqq) => [
- q(3542),
+ q(3566),
q(0),
],
q(kqr) => [
- q(3543),
+ q(3567),
q(0),
],
q(kqs) => [
- q(3544),
+ q(3568),
q(0),
],
q(kqt) => [
- q(3545),
+ q(3569),
q(0),
],
q(kqu) => [
- q(3546),
+ q(3570),
q(0),
],
q(kqv) => [
- q(3547),
+ q(3571),
q(0),
],
q(kqw) => [
- q(3548),
+ q(3572),
q(0),
],
q(kqx) => [
- q(3549),
+ q(3573),
q(0),
],
q(kqy) => [
- q(3550),
+ q(3574),
q(0),
],
q(kqz) => [
- q(3551),
+ q(3575),
q(0),
],
q(kra) => [
- q(3552),
+ q(3576),
q(0),
],
q(krb) => [
- q(3553),
+ q(3577),
q(0),
],
q(krc) => [
@@ -70556,31 +71406,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(krd) => [
- q(3554),
+ q(3578),
q(0),
],
q(kre) => [
- q(3555),
+ q(3579),
q(0),
],
q(krf) => [
- q(3556),
+ q(3580),
q(0),
],
q(krh) => [
- q(3557),
+ q(3581),
q(0),
],
q(kri) => [
- q(3558),
+ q(3582),
q(0),
],
q(krj) => [
- q(3559),
+ q(3583),
q(0),
],
q(krk) => [
- q(3560),
+ q(3584),
q(0),
],
q(krl) => [
@@ -70588,11 +71438,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(krm) => [
- q(3561),
+ q(3585),
q(0),
],
q(krn) => [
- q(3562),
+ q(3586),
q(0),
],
q(kro) => [
@@ -70600,19 +71450,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(krp) => [
- q(3563),
+ q(3587),
q(0),
],
q(krr) => [
- q(3564),
+ q(3588),
q(0),
],
q(krs) => [
- q(3565),
+ q(3589),
q(0),
],
q(krt) => [
- q(3566),
+ q(3590),
q(0),
],
q(kru) => [
@@ -70620,231 +71470,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(krv) => [
- q(3567),
+ q(3591),
q(0),
],
q(krw) => [
- q(3568),
+ q(3592),
q(0),
],
q(krx) => [
- q(3569),
+ q(3593),
q(0),
],
q(kry) => [
- q(3570),
+ q(3594),
q(0),
],
q(krz) => [
- q(3571),
+ q(3595),
q(0),
],
q(ksa) => [
- q(3572),
+ q(3596),
q(0),
],
q(ksb) => [
- q(3573),
+ q(3597),
q(0),
],
q(ksc) => [
- q(3574),
+ q(3598),
q(0),
],
q(ksd) => [
- q(3575),
+ q(3599),
q(0),
],
q(kse) => [
- q(3576),
+ q(3600),
q(0),
],
q(ksf) => [
- q(3577),
+ q(3601),
q(0),
],
q(ksg) => [
- q(3578),
+ q(3602),
q(0),
],
q(ksh) => [
- q(3579),
+ q(3603),
q(0),
],
q(ksi) => [
- q(3580),
+ q(3604),
q(0),
],
q(ksj) => [
- q(3581),
+ q(3605),
q(0),
],
q(ksk) => [
- q(3582),
+ q(3606),
q(0),
],
q(ksl) => [
- q(3583),
+ q(3607),
q(0),
],
q(ksm) => [
- q(3584),
+ q(3608),
q(0),
],
q(ksn) => [
- q(3585),
+ q(3609),
q(0),
],
q(kso) => [
- q(3586),
+ q(3610),
q(0),
],
q(ksp) => [
- q(3587),
+ q(3611),
q(0),
],
q(ksq) => [
- q(3588),
+ q(3612),
q(0),
],
q(ksr) => [
- q(3589),
+ q(3613),
q(0),
],
q(kss) => [
- q(3590),
+ q(3614),
q(0),
],
q(kst) => [
- q(3591),
+ q(3615),
q(0),
],
q(ksu) => [
- q(3592),
+ q(3616),
q(0),
],
q(ksv) => [
- q(3593),
+ q(3617),
q(0),
],
q(ksw) => [
- q(3594),
+ q(3618),
q(0),
],
q(ksx) => [
- q(3595),
+ q(3619),
q(0),
],
q(ksy) => [
- q(3596),
+ q(3620),
q(0),
],
q(ksz) => [
- q(3597),
+ q(3621),
q(0),
],
q(kta) => [
- q(3598),
+ q(3622),
q(0),
],
q(ktb) => [
- q(3599),
+ q(3623),
q(0),
],
q(ktc) => [
- q(3600),
+ q(3624),
q(0),
],
q(ktd) => [
- q(3601),
+ q(3625),
q(0),
],
q(kte) => [
- q(3602),
+ q(3626),
q(0),
],
q(ktf) => [
- q(3603),
+ q(3627),
q(0),
],
q(ktg) => [
- q(3604),
+ q(3628),
q(0),
],
q(kth) => [
- q(3605),
+ q(3629),
q(0),
],
q(kti) => [
- q(3606),
+ q(3630),
q(0),
],
q(ktj) => [
- q(3607),
+ q(3631),
q(0),
],
q(ktk) => [
- q(3608),
+ q(3632),
q(0),
],
q(ktl) => [
- q(3609),
+ q(3633),
q(0),
],
q(ktm) => [
- q(3610),
+ q(3634),
q(0),
],
q(ktn) => [
- q(3611),
+ q(3635),
q(0),
],
q(kto) => [
- q(3612),
+ q(3636),
q(0),
],
q(ktp) => [
- q(3613),
+ q(3637),
q(0),
],
q(ktq) => [
- q(3614),
+ q(3638),
q(0),
],
q(ktr) => [
- q(3615),
+ q(3639),
q(0),
],
q(kts) => [
- q(3616),
+ q(3640),
q(0),
],
q(ktt) => [
- q(3617),
+ q(3641),
q(0),
],
q(ktu) => [
- q(3618),
+ q(3642),
q(0),
],
q(ktv) => [
- q(3619),
+ q(3643),
q(0),
],
q(ktw) => [
- q(3620),
+ q(3644),
q(0),
],
q(ktx) => [
- q(3621),
+ q(3645),
q(0),
],
q(kty) => [
- q(3622),
+ q(3646),
q(0),
],
q(ktz) => [
- q(3623),
+ q(3647),
q(0),
],
q(kua) => [
@@ -70852,47 +71702,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kub) => [
- q(3624),
+ q(3648),
q(0),
],
q(kuc) => [
- q(3625),
+ q(3649),
q(0),
],
q(kud) => [
- q(3626),
+ q(3650),
q(0),
],
q(kue) => [
- q(3627),
+ q(3651),
q(0),
],
q(kuf) => [
- q(3628),
+ q(3652),
q(0),
],
q(kug) => [
- q(3629),
+ q(3653),
q(0),
],
q(kuh) => [
- q(3630),
+ q(3654),
q(0),
],
q(kui) => [
- q(3631),
+ q(3655),
q(0),
],
q(kuj) => [
- q(3632),
+ q(3656),
q(0),
],
q(kuk) => [
- q(3633),
+ q(3657),
q(0),
],
q(kul) => [
- q(3634),
+ q(3658),
q(0),
],
q(kum) => [
@@ -70900,19 +71750,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kun) => [
- q(3635),
+ q(3659),
q(0),
],
q(kuo) => [
- q(3636),
+ q(3660),
q(0),
],
q(kup) => [
- q(3637),
+ q(3661),
q(0),
],
q(kuq) => [
- q(3298),
+ q(3322),
q(0),
],
q(kur) => [
@@ -70920,7 +71770,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kus) => [
- q(3638),
+ q(3662),
q(0),
],
q(kut) => [
@@ -70928,551 +71778,551 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(kuu) => [
- q(3639),
+ q(3663),
q(0),
],
q(kuv) => [
- q(3640),
+ q(3664),
q(0),
],
q(kuw) => [
- q(3641),
+ q(3665),
q(0),
],
q(kux) => [
- q(3642),
+ q(3666),
q(0),
],
q(kuy) => [
- q(3643),
+ q(3667),
q(0),
],
q(kuz) => [
- q(3644),
+ q(3668),
q(0),
],
q(kva) => [
- q(3645),
+ q(3669),
q(0),
],
q(kvb) => [
- q(3646),
+ q(3670),
q(0),
],
q(kvc) => [
- q(3647),
+ q(3671),
q(0),
],
q(kvd) => [
- q(3648),
+ q(3672),
q(0),
],
q(kve) => [
- q(3649),
+ q(3673),
q(0),
],
q(kvf) => [
- q(3650),
+ q(3674),
q(0),
],
q(kvg) => [
- q(3651),
+ q(3675),
q(0),
],
q(kvh) => [
- q(3652),
+ q(3676),
q(0),
],
q(kvi) => [
- q(3653),
+ q(3677),
q(0),
],
q(kvj) => [
- q(3654),
+ q(3678),
q(0),
],
q(kvk) => [
- q(3655),
+ q(3679),
q(0),
],
q(kvl) => [
- q(3656),
+ q(3680),
q(0),
],
q(kvm) => [
- q(3657),
+ q(3681),
q(0),
],
q(kvn) => [
- q(3658),
+ q(3682),
q(0),
],
q(kvo) => [
- q(3659),
+ q(3683),
q(0),
],
q(kvp) => [
- q(3660),
+ q(3684),
q(0),
],
q(kvq) => [
- q(3661),
+ q(3685),
q(0),
],
q(kvr) => [
- q(3662),
+ q(3686),
q(0),
],
q(kvs) => [
- q(3663),
+ q(3687),
q(0),
],
q(kvt) => [
- q(3664),
+ q(3688),
q(0),
],
q(kvu) => [
- q(3665),
+ q(3689),
q(0),
],
q(kvv) => [
- q(3666),
+ q(3690),
q(0),
],
q(kvw) => [
- q(3667),
+ q(3691),
q(0),
],
q(kvx) => [
- q(3668),
+ q(3692),
q(0),
],
q(kvy) => [
- q(3669),
+ q(3693),
q(0),
],
q(kvz) => [
- q(3670),
+ q(3694),
q(0),
],
q(kwa) => [
- q(3671),
+ q(3695),
q(0),
],
q(kwb) => [
- q(3672),
+ q(3696),
q(0),
],
q(kwc) => [
- q(3673),
+ q(3697),
q(0),
],
q(kwd) => [
- q(3674),
+ q(3698),
q(0),
],
q(kwe) => [
- q(3675),
+ q(3699),
q(0),
],
q(kwf) => [
- q(3676),
+ q(3700),
q(0),
],
q(kwg) => [
- q(3677),
+ q(3701),
q(0),
],
q(kwh) => [
- q(3678),
+ q(3702),
q(0),
],
q(kwi) => [
- q(3679),
+ q(3703),
q(0),
],
q(kwj) => [
- q(3680),
+ q(3704),
q(0),
],
q(kwk) => [
- q(3681),
+ q(3705),
q(0),
],
q(kwl) => [
- q(3682),
+ q(3706),
q(0),
],
q(kwm) => [
- q(3683),
+ q(3707),
q(0),
],
q(kwn) => [
- q(3684),
+ q(3708),
q(0),
],
q(kwo) => [
- q(3685),
+ q(3709),
q(0),
],
q(kwp) => [
- q(3686),
+ q(3710),
q(0),
],
q(kwq) => [
- q(3687),
+ q(3711),
q(0),
],
q(kwr) => [
- q(3688),
+ q(3712),
q(0),
],
q(kws) => [
- q(3689),
+ q(3713),
q(0),
],
q(kwt) => [
- q(3690),
+ q(3714),
q(0),
],
q(kwu) => [
- q(3691),
+ q(3715),
q(0),
],
q(kwv) => [
- q(3692),
+ q(3716),
q(0),
],
q(kww) => [
- q(3693),
+ q(3717),
q(0),
],
q(kwx) => [
- q(3694),
+ q(3718),
q(0),
],
q(kwy) => [
- q(3695),
+ q(3719),
q(0),
],
q(kwz) => [
- q(3696),
+ q(3720),
q(0),
],
q(kxa) => [
- q(3697),
+ q(3721),
q(0),
],
q(kxb) => [
- q(3698),
+ q(3722),
q(0),
],
q(kxc) => [
- q(3699),
+ q(3723),
q(0),
],
q(kxd) => [
- q(3700),
+ q(3724),
q(0),
],
q(kxe) => [
- q(3701),
+ q(3725),
q(0),
],
q(kxf) => [
- q(3702),
+ q(3726),
q(0),
],
q(kxh) => [
- q(3703),
+ q(3727),
q(0),
],
q(kxi) => [
- q(3704),
+ q(3728),
q(0),
],
q(kxj) => [
- q(3705),
+ q(3729),
q(0),
],
q(kxk) => [
- q(3706),
+ q(3730),
q(0),
],
q(kxl) => [
- q(3707),
+ q(3731),
q(0),
],
q(kxm) => [
- q(3708),
+ q(3732),
q(0),
],
q(kxn) => [
- q(3709),
+ q(3733),
q(0),
],
q(kxo) => [
- q(3710),
+ q(3734),
q(0),
],
q(kxp) => [
- q(3711),
+ q(3735),
q(0),
],
q(kxq) => [
- q(3712),
+ q(3736),
q(0),
],
q(kxr) => [
- q(3713),
+ q(3737),
q(0),
],
q(kxs) => [
- q(3714),
+ q(3738),
q(0),
],
q(kxt) => [
- q(3715),
+ q(3739),
q(0),
],
q(kxu) => [
- q(3716),
+ q(3740),
q(0),
],
q(kxv) => [
- q(3717),
+ q(3741),
q(0),
],
q(kxw) => [
- q(3718),
+ q(3742),
q(0),
],
q(kxx) => [
- q(3719),
+ q(3743),
q(0),
],
q(kxy) => [
- q(3720),
+ q(3744),
q(0),
],
q(kxz) => [
- q(3721),
+ q(3745),
q(0),
],
q(kya) => [
- q(3722),
+ q(3746),
q(0),
],
q(kyb) => [
- q(3723),
+ q(3747),
q(0),
],
q(kyc) => [
- q(3724),
+ q(3748),
q(0),
],
q(kyd) => [
- q(3725),
+ q(3749),
q(0),
],
q(kye) => [
- q(3726),
+ q(3750),
q(0),
],
q(kyf) => [
- q(3727),
+ q(3751),
q(0),
],
q(kyg) => [
- q(3728),
+ q(3752),
q(0),
],
q(kyh) => [
- q(3729),
+ q(3753),
q(0),
],
q(kyi) => [
- q(3730),
+ q(3754),
q(0),
],
q(kyj) => [
- q(3731),
+ q(3755),
q(0),
],
q(kyk) => [
- q(3732),
+ q(3756),
q(0),
],
q(kyl) => [
- q(3733),
+ q(3757),
q(0),
],
q(kym) => [
- q(3734),
+ q(3758),
q(0),
],
q(kyn) => [
- q(3735),
+ q(3759),
q(0),
],
q(kyo) => [
- q(3736),
+ q(3760),
q(0),
],
q(kyp) => [
- q(3737),
+ q(3761),
q(0),
],
q(kyq) => [
- q(3738),
+ q(3762),
q(0),
],
q(kyr) => [
- q(3739),
+ q(3763),
q(0),
],
q(kys) => [
- q(3740),
+ q(3764),
q(0),
],
q(kyt) => [
- q(3741),
+ q(3765),
q(0),
],
q(kyu) => [
- q(3742),
+ q(3766),
q(0),
],
q(kyv) => [
- q(3743),
+ q(3767),
q(0),
],
q(kyw) => [
- q(3744),
+ q(3768),
q(0),
],
q(kyx) => [
- q(3745),
+ q(3769),
q(0),
],
q(kyy) => [
- q(3746),
+ q(3770),
q(0),
],
q(kyz) => [
- q(3747),
+ q(3771),
q(0),
],
q(kza) => [
- q(3748),
+ q(3772),
q(0),
],
q(kzb) => [
- q(3749),
+ q(3773),
q(0),
],
q(kzc) => [
- q(3750),
+ q(3774),
q(0),
],
q(kzd) => [
- q(3751),
+ q(3775),
q(0),
],
q(kze) => [
- q(3752),
+ q(3776),
q(0),
],
q(kzf) => [
- q(3753),
+ q(3777),
q(0),
],
q(kzg) => [
- q(3754),
+ q(3778),
q(0),
],
q(kzi) => [
- q(3755),
+ q(3779),
q(0),
],
q(kzj) => [
- q(3756),
+ q(3780),
q(0),
],
q(kzk) => [
- q(3757),
+ q(3781),
q(0),
],
q(kzl) => [
- q(3758),
+ q(3782),
q(0),
],
q(kzm) => [
- q(3759),
+ q(3783),
q(0),
],
q(kzn) => [
- q(3760),
+ q(3784),
q(0),
],
q(kzo) => [
- q(3761),
+ q(3785),
q(0),
],
q(kzp) => [
- q(3762),
+ q(3786),
q(0),
],
q(kzq) => [
- q(3763),
+ q(3787),
q(0),
],
q(kzr) => [
- q(3764),
+ q(3788),
q(0),
],
q(kzs) => [
- q(3765),
+ q(3789),
q(0),
],
q(kzt) => [
- q(3766),
+ q(3790),
q(0),
],
q(kzu) => [
- q(3767),
+ q(3791),
q(0),
],
q(kzv) => [
- q(3768),
+ q(3792),
q(0),
],
q(kzw) => [
- q(3769),
+ q(3793),
q(0),
],
q(kzx) => [
- q(3770),
+ q(3794),
q(0),
],
q(kzy) => [
- q(3771),
+ q(3795),
q(0),
],
q(kzz) => [
- q(3772),
+ q(3796),
q(0),
],
q(laa) => [
- q(3773),
+ q(3797),
q(0),
],
q(lab) => [
- q(3774),
+ q(3798),
q(0),
],
q(lac) => [
- q(3775),
+ q(3799),
q(0),
],
q(lad) => [
@@ -71480,15 +72330,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lae) => [
- q(3776),
+ q(3800),
q(0),
],
q(laf) => [
- q(3777),
+ q(3801),
q(0),
],
q(lag) => [
- q(3778),
+ q(3802),
q(0),
],
q(lah) => [
@@ -71496,19 +72346,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lai) => [
- q(3779),
+ q(3803),
q(0),
],
q(laj) => [
- q(3780),
+ q(3804),
q(0),
],
q(lak) => [
- q(3781),
+ q(3805),
q(0),
],
q(lal) => [
- q(3782),
+ q(3806),
q(0),
],
q(lam) => [
@@ -71516,7 +72366,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lan) => [
- q(3783),
+ q(3807),
q(0),
],
q(lao) => [
@@ -71524,19 +72374,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lap) => [
- q(3784),
+ q(3808),
q(0),
],
q(laq) => [
- q(3785),
+ q(3809),
q(0),
],
q(lar) => [
- q(3786),
+ q(3810),
q(0),
],
q(las) => [
- q(3787),
+ q(3811),
q(0),
],
q(lat) => [
@@ -71544,7 +72394,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lau) => [
- q(3788),
+ q(3812),
q(0),
],
q(lav) => [
@@ -71552,299 +72402,307 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(law) => [
- q(3789),
+ q(3813),
q(0),
],
q(lax) => [
- q(3790),
+ q(3814),
q(0),
],
q(lay) => [
- q(3791),
+ q(3815),
q(0),
],
q(laz) => [
- q(3792),
+ q(3816),
q(0),
],
q(lba) => [
- q(3793),
+ q(3817),
q(0),
],
q(lbb) => [
- q(3794),
+ q(3818),
q(0),
],
q(lbc) => [
- q(3795),
+ q(3819),
q(0),
],
q(lbe) => [
- q(3796),
+ q(3820),
q(0),
],
q(lbf) => [
- q(3797),
+ q(3821),
q(0),
],
q(lbg) => [
- q(3798),
+ q(3822),
q(0),
],
q(lbi) => [
- q(3799),
+ q(3823),
q(0),
],
q(lbj) => [
- q(3800),
+ q(3824),
q(0),
],
q(lbk) => [
- q(3801),
+ q(3825),
q(0),
],
q(lbl) => [
- q(3802),
+ q(3826),
q(0),
],
q(lbm) => [
- q(3803),
+ q(3827),
q(0),
],
q(lbn) => [
- q(3804),
+ q(3828),
q(0),
],
q(lbo) => [
- q(3805),
+ q(3829),
q(0),
],
q(lbq) => [
- q(3806),
+ q(3830),
q(0),
],
q(lbr) => [
- q(3807),
+ q(3831),
q(0),
],
q(lbs) => [
- q(3808),
+ q(3832),
q(0),
],
q(lbt) => [
- q(3809),
+ q(3833),
q(0),
],
q(lbu) => [
- q(3810),
+ q(3834),
q(0),
],
q(lbv) => [
- q(3811),
+ q(3835),
q(0),
],
q(lbw) => [
- q(3812),
+ q(3836),
q(0),
],
q(lbx) => [
- q(3813),
+ q(3837),
q(0),
],
q(lby) => [
- q(3814),
+ q(3838),
q(0),
],
q(lbz) => [
- q(3815),
+ q(3839),
q(0),
],
q(lcc) => [
- q(3816),
+ q(3840),
q(0),
],
q(lcd) => [
- q(3817),
+ q(3841),
q(0),
],
q(lce) => [
- q(3818),
+ q(3842),
q(0),
],
q(lcf) => [
- q(3819),
+ q(3843),
q(0),
],
q(lch) => [
- q(3820),
+ q(3844),
q(0),
],
q(lcl) => [
- q(3821),
+ q(3845),
q(0),
],
q(lcm) => [
- q(3822),
+ q(3846),
q(0),
],
q(lcp) => [
- q(3823),
+ q(3847),
+ q(0),
+ ],
+ q(lcq) => [
+ q(3848),
q(0),
],
q(lcs) => [
- q(3824),
+ q(3849),
+ q(0),
+ ],
+ q(lda) => [
+ q(3850),
q(0),
],
q(ldb) => [
- q(3825),
+ q(3851),
q(0),
],
q(ldd) => [
- q(3826),
+ q(3852),
q(0),
],
q(ldg) => [
- q(3827),
+ q(3853),
q(0),
],
q(ldh) => [
- q(3828),
+ q(3854),
q(0),
],
q(ldi) => [
- q(3829),
+ q(3855),
q(0),
],
q(ldj) => [
- q(3830),
+ q(3856),
q(0),
],
q(ldk) => [
- q(3831),
+ q(3857),
q(0),
],
q(ldl) => [
- q(3832),
+ q(3858),
q(0),
],
q(ldm) => [
- q(3833),
+ q(3859),
q(0),
],
q(ldn) => [
- q(3834),
+ q(3860),
q(0),
],
q(ldo) => [
- q(3835),
+ q(3861),
q(0),
],
q(ldp) => [
- q(3836),
+ q(3862),
q(0),
],
q(ldq) => [
- q(3837),
+ q(3863),
q(0),
],
q(lea) => [
- q(3838),
+ q(3864),
q(0),
],
q(leb) => [
- q(3839),
+ q(3865),
q(0),
],
q(lec) => [
- q(3840),
+ q(3866),
q(0),
],
q(led) => [
- q(3841),
+ q(3867),
q(0),
],
q(lee) => [
- q(3842),
+ q(3868),
q(0),
],
q(lef) => [
- q(3843),
+ q(3869),
q(0),
],
q(leg) => [
- q(3844),
+ q(3870),
q(0),
],
q(leh) => [
- q(3845),
+ q(3871),
q(0),
],
q(lei) => [
- q(3846),
+ q(3872),
q(0),
],
q(lej) => [
- q(3847),
+ q(3873),
q(0),
],
q(lek) => [
- q(3848),
+ q(3874),
q(0),
],
q(lel) => [
- q(3849),
+ q(3875),
q(0),
],
q(lem) => [
- q(3850),
+ q(3876),
q(0),
],
q(len) => [
- q(3851),
+ q(3877),
q(0),
],
q(leo) => [
- q(3852),
+ q(3878),
q(0),
],
q(lep) => [
- q(3853),
+ q(3879),
q(0),
],
q(leq) => [
- q(3854),
+ q(3880),
q(0),
],
q(ler) => [
- q(3855),
+ q(3881),
q(0),
],
q(les) => [
- q(3856),
+ q(3882),
q(0),
],
q(let) => [
- q(3857),
+ q(3883),
q(0),
],
q(leu) => [
- q(3858),
+ q(3884),
q(0),
],
q(lev) => [
- q(3859),
+ q(3885),
q(0),
],
q(lew) => [
- q(3860),
+ q(3886),
q(0),
],
q(lex) => [
- q(3861),
+ q(3887),
q(0),
],
q(ley) => [
- q(3862),
+ q(3888),
q(0),
],
q(lez) => [
@@ -71852,155 +72710,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lfa) => [
- q(3863),
+ q(3889),
q(0),
],
q(lfn) => [
- q(3864),
+ q(3890),
q(0),
],
q(lga) => [
- q(3865),
+ q(3891),
q(0),
],
q(lgb) => [
- q(3866),
+ q(3892),
q(0),
],
q(lgg) => [
- q(3867),
+ q(3893),
q(0),
],
q(lgh) => [
- q(3868),
+ q(3894),
q(0),
],
q(lgi) => [
- q(3869),
+ q(3895),
q(0),
],
q(lgk) => [
- q(3870),
+ q(3896),
q(0),
],
q(lgl) => [
- q(3871),
+ q(3897),
q(0),
],
q(lgm) => [
- q(3872),
+ q(3898),
q(0),
],
q(lgn) => [
- q(3873),
+ q(3899),
q(0),
],
q(lgq) => [
- q(3874),
+ q(3900),
q(0),
],
q(lgr) => [
- q(3875),
+ q(3901),
q(0),
],
q(lgt) => [
- q(3876),
+ q(3902),
q(0),
],
q(lgu) => [
- q(3877),
+ q(3903),
q(0),
],
q(lgz) => [
- q(3878),
+ q(3904),
q(0),
],
q(lha) => [
- q(3879),
+ q(3905),
q(0),
],
q(lhh) => [
- q(3880),
+ q(3906),
q(0),
],
q(lhi) => [
- q(3881),
+ q(3907),
q(0),
],
q(lhl) => [
- q(3882),
+ q(3908),
q(0),
],
q(lhm) => [
- q(3883),
+ q(3909),
q(0),
],
q(lhn) => [
- q(3884),
+ q(3910),
q(0),
],
q(lhp) => [
- q(3885),
+ q(3911),
q(0),
],
q(lhs) => [
- q(3886),
+ q(3912),
q(0),
],
q(lht) => [
- q(3887),
+ q(3913),
q(0),
],
q(lhu) => [
- q(3888),
+ q(3914),
q(0),
],
q(lia) => [
- q(3889),
+ q(3915),
q(0),
],
q(lib) => [
- q(3890),
+ q(3916),
q(0),
],
q(lic) => [
- q(3891),
+ q(3917),
q(0),
],
q(lid) => [
- q(3892),
+ q(3918),
q(0),
],
q(lie) => [
- q(3893),
+ q(3919),
q(0),
],
q(lif) => [
- q(3894),
+ q(3920),
q(0),
],
q(lig) => [
- q(3895),
+ q(3921),
q(0),
],
q(lih) => [
- q(3896),
+ q(3922),
q(0),
],
q(lii) => [
- q(3897),
+ q(3923),
q(0),
],
q(lij) => [
- q(3898),
+ q(3924),
q(0),
],
q(lik) => [
- q(3899),
+ q(3925),
q(0),
],
q(lil) => [
- q(3900),
+ q(3926),
q(0),
],
q(lim) => [
@@ -72012,23 +72870,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lio) => [
- q(3901),
+ q(3927),
q(0),
],
q(lip) => [
- q(3902),
+ q(3928),
q(0),
],
q(liq) => [
- q(3903),
+ q(3929),
q(0),
],
q(lir) => [
- q(3904),
+ q(3930),
q(0),
],
q(lis) => [
- q(3905),
+ q(3931),
q(0),
],
q(lit) => [
@@ -72036,375 +72894,399 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(liu) => [
- q(3906),
+ q(3932),
q(0),
],
q(liv) => [
- q(3907),
+ q(3933),
q(0),
],
q(liw) => [
- q(3908),
+ q(3934),
q(0),
],
q(lix) => [
- q(3909),
+ q(3935),
q(0),
],
q(liy) => [
- q(3910),
+ q(3936),
q(0),
],
q(liz) => [
- q(3911),
+ q(3937),
+ q(0),
+ ],
+ q(lja) => [
+ q(3938),
q(0),
],
q(lje) => [
- q(3912),
+ q(3939),
q(0),
],
q(lji) => [
- q(3913),
+ q(3940),
q(0),
],
q(ljl) => [
- q(3914),
+ q(3941),
q(0),
],
q(ljp) => [
- q(3915),
+ q(3942),
+ q(0),
+ ],
+ q(ljw) => [
+ q(3943),
+ q(0),
+ ],
+ q(ljx) => [
+ q(3944),
q(0),
],
q(lka) => [
- q(3916),
+ q(3945),
q(0),
],
q(lkb) => [
- q(3917),
+ q(3946),
q(0),
],
q(lkc) => [
- q(3918),
+ q(3947),
q(0),
],
q(lkd) => [
- q(3919),
+ q(3948),
q(0),
],
q(lke) => [
- q(3920),
+ q(3949),
q(0),
],
q(lkh) => [
- q(3921),
+ q(3950),
q(0),
],
q(lki) => [
- q(3922),
+ q(3951),
q(0),
],
q(lkj) => [
- q(3923),
+ q(3952),
q(0),
],
q(lkl) => [
- q(3924),
+ q(3953),
+ q(0),
+ ],
+ q(lkm) => [
+ q(3954),
q(0),
],
q(lkn) => [
- q(3925),
+ q(3955),
q(0),
],
q(lko) => [
- q(3926),
+ q(3956),
q(0),
],
q(lkr) => [
- q(3927),
+ q(3957),
q(0),
],
q(lks) => [
- q(3928),
+ q(3958),
q(0),
],
q(lkt) => [
- q(3929),
+ q(3959),
+ q(0),
+ ],
+ q(lku) => [
+ q(3960),
q(0),
],
q(lky) => [
- q(3930),
+ q(3961),
q(0),
],
q(lla) => [
- q(3931),
+ q(3962),
q(0),
],
q(llb) => [
- q(3932),
+ q(3963),
q(0),
],
q(llc) => [
- q(3933),
+ q(3964),
q(0),
],
q(lld) => [
- q(3934),
+ q(3965),
q(0),
],
q(lle) => [
- q(3935),
+ q(3966),
q(0),
],
q(llf) => [
- q(3936),
+ q(3967),
q(0),
],
q(llg) => [
- q(3937),
+ q(3968),
q(0),
],
q(llh) => [
- q(3938),
+ q(3969),
q(0),
],
q(lli) => [
- q(3939),
+ q(3970),
q(0),
],
q(llj) => [
- q(3940),
+ q(3971),
q(0),
],
q(llk) => [
- q(3941),
+ q(3972),
q(0),
],
q(lll) => [
- q(3942),
+ q(3973),
q(0),
],
q(llm) => [
- q(3943),
+ q(3974),
q(0),
],
q(lln) => [
- q(3944),
+ q(3975),
q(0),
],
q(llo) => [
- q(3945),
+ q(3976),
q(0),
],
q(llp) => [
- q(3946),
+ q(3977),
q(0),
],
q(llq) => [
- q(3947),
+ q(3978),
q(0),
],
q(lls) => [
- q(3948),
+ q(3979),
q(0),
],
q(llu) => [
- q(3949),
+ q(3980),
q(0),
],
q(llx) => [
- q(3950),
+ q(3981),
q(0),
],
q(lma) => [
- q(3951),
+ q(3982),
q(0),
],
q(lmb) => [
- q(3952),
+ q(3983),
q(0),
],
q(lmc) => [
- q(3953),
+ q(3984),
q(0),
],
q(lmd) => [
- q(3954),
+ q(3985),
q(0),
],
q(lme) => [
- q(3955),
+ q(3986),
q(0),
],
q(lmf) => [
- q(3956),
+ q(3987),
q(0),
],
q(lmg) => [
- q(3957),
+ q(3988),
q(0),
],
q(lmh) => [
- q(3958),
+ q(3989),
q(0),
],
q(lmi) => [
- q(3959),
+ q(3990),
q(0),
],
q(lmj) => [
- q(3960),
+ q(3991),
q(0),
],
q(lmk) => [
- q(3961),
+ q(3992),
q(0),
],
q(lml) => [
- q(3962),
+ q(3993),
q(0),
],
q(lmm) => [
- q(3963),
+ q(3994),
q(0),
],
q(lmn) => [
- q(3964),
+ q(3995),
q(0),
],
q(lmo) => [
- q(3965),
+ q(3996),
q(0),
],
q(lmp) => [
- q(3966),
+ q(3997),
q(0),
],
q(lmq) => [
- q(3967),
+ q(3998),
q(0),
],
q(lmr) => [
- q(3968),
+ q(3999),
q(0),
],
q(lmu) => [
- q(3969),
+ q(4000),
q(0),
],
q(lmv) => [
- q(3970),
+ q(4001),
q(0),
],
q(lmw) => [
- q(3971),
+ q(4002),
q(0),
],
q(lmx) => [
- q(3972),
+ q(4003),
q(0),
],
q(lmy) => [
- q(3973),
+ q(4004),
q(0),
],
q(lmz) => [
- q(3974),
+ q(4005),
q(0),
],
q(lna) => [
- q(3975),
+ q(4006),
q(0),
],
q(lnb) => [
- q(3976),
+ q(4007),
q(0),
],
q(lnd) => [
- q(3977),
+ q(4008),
q(0),
],
q(lng) => [
- q(3978),
+ q(4009),
q(0),
],
q(lnh) => [
- q(3979),
+ q(4010),
q(0),
],
q(lni) => [
- q(3980),
+ q(4011),
q(0),
],
q(lnj) => [
- q(3981),
+ q(4012),
q(0),
],
q(lnl) => [
- q(3982),
+ q(4013),
q(0),
],
q(lnm) => [
- q(3983),
+ q(4014),
q(0),
],
q(lnn) => [
- q(3984),
+ q(4015),
q(0),
],
q(lno) => [
- q(3985),
+ q(4016),
q(0),
],
q(lns) => [
- q(3986),
+ q(4017),
q(0),
],
q(lnu) => [
- q(3987),
+ q(4018),
+ q(0),
+ ],
+ q(lnw) => [
+ q(4019),
q(0),
],
q(lnz) => [
- q(3988),
+ q(4020),
q(0),
],
q(loa) => [
- q(3989),
+ q(4021),
q(0),
],
q(lob) => [
- q(3990),
+ q(4022),
q(0),
],
q(loc) => [
- q(3991),
+ q(4023),
q(0),
],
q(loe) => [
- q(3992),
+ q(4024),
q(0),
],
q(lof) => [
- q(3993),
+ q(4025),
q(0),
],
q(log) => [
- q(3994),
+ q(4026),
q(0),
],
q(loh) => [
- q(3995),
+ q(4027),
q(0),
],
q(loi) => [
- q(3996),
+ q(4028),
q(0),
],
q(loj) => [
- q(3997),
+ q(4029),
q(0),
],
q(lok) => [
- q(3998),
+ q(4030),
q(0),
],
q(lol) => [
@@ -72412,55 +73294,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lom) => [
- q(3999),
+ q(4031),
q(0),
],
q(lon) => [
- q(4000),
+ q(4032),
q(0),
],
q(loo) => [
- q(4001),
+ q(4033),
q(0),
],
q(lop) => [
- q(4002),
+ q(4034),
q(0),
],
q(loq) => [
- q(4003),
+ q(4035),
q(0),
],
q(lor) => [
- q(4004),
+ q(4036),
q(0),
],
q(los) => [
- q(4005),
+ q(4037),
q(0),
],
q(lot) => [
- q(4006),
+ q(4038),
q(0),
],
q(lou) => [
- q(4007),
+ q(4039),
q(0),
],
q(lov) => [
- q(4008),
+ q(4040),
q(0),
],
q(low) => [
- q(4009),
+ q(4041),
q(0),
],
q(lox) => [
- q(4010),
+ q(4042),
q(0),
],
q(loy) => [
- q(4011),
+ q(4043),
q(0),
],
q(loz) => [
@@ -72468,163 +73350,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lpa) => [
- q(4012),
+ q(4044),
q(0),
],
q(lpe) => [
- q(4013),
+ q(4045),
q(0),
],
q(lpn) => [
- q(4014),
+ q(4046),
q(0),
],
q(lpo) => [
- q(4015),
+ q(4047),
q(0),
],
q(lpx) => [
- q(4016),
+ q(4048),
q(0),
],
q(lra) => [
- q(4017),
+ q(4049),
q(0),
],
q(lrc) => [
- q(4018),
+ q(4050),
q(0),
],
q(lre) => [
- q(4019),
+ q(4051),
q(0),
],
q(lrg) => [
- q(4020),
+ q(4052),
q(0),
],
q(lri) => [
- q(4021),
+ q(4053),
q(0),
],
q(lrk) => [
- q(4022),
+ q(4054),
q(0),
],
q(lrl) => [
- q(4023),
+ q(4055),
q(0),
],
q(lrm) => [
- q(4024),
+ q(4056),
q(0),
],
q(lrn) => [
- q(4025),
+ q(4057),
q(0),
],
q(lro) => [
- q(4026),
+ q(4058),
q(0),
],
q(lrr) => [
- q(4027),
+ q(4059),
q(0),
],
q(lrt) => [
- q(4028),
+ q(4060),
q(0),
],
q(lrv) => [
- q(4029),
+ q(4061),
q(0),
],
q(lrz) => [
- q(4030),
+ q(4062),
q(0),
],
q(lsa) => [
- q(4031),
+ q(4063),
q(0),
],
q(lsd) => [
- q(4032),
+ q(4064),
q(0),
],
q(lse) => [
- q(4033),
+ q(4065),
q(0),
],
q(lsg) => [
- q(4034),
+ q(4066),
q(0),
],
q(lsh) => [
- q(4035),
+ q(4067),
q(0),
],
q(lsi) => [
- q(4036),
+ q(4068),
q(0),
],
q(lsl) => [
- q(4037),
+ q(4069),
q(0),
],
q(lsm) => [
- q(4038),
+ q(4070),
q(0),
],
q(lso) => [
- q(4039),
+ q(4071),
q(0),
],
q(lsp) => [
- q(4040),
+ q(4072),
q(0),
],
q(lsr) => [
- q(4041),
+ q(4073),
q(0),
],
q(lss) => [
- q(4042),
+ q(4074),
q(0),
],
q(lst) => [
- q(4043),
+ q(4075),
q(0),
],
q(lsy) => [
- q(4044),
+ q(4076),
q(0),
],
q(ltc) => [
- q(4045),
+ q(4077),
q(0),
],
q(ltg) => [
- q(4046),
+ q(4078),
q(0),
],
q(lti) => [
- q(4047),
+ q(4079),
q(0),
],
q(ltn) => [
- q(4048),
+ q(4080),
q(0),
],
q(lto) => [
- q(4049),
+ q(4081),
q(0),
],
q(lts) => [
- q(4050),
+ q(4082),
q(0),
],
q(ltu) => [
- q(4051),
+ q(4083),
q(0),
],
q(ltz) => [
@@ -72640,19 +73522,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(luc) => [
- q(4052),
+ q(4084),
q(0),
],
q(lud) => [
- q(4053),
+ q(4085),
q(0),
],
q(lue) => [
- q(4054),
+ q(4086),
q(0),
],
q(luf) => [
- q(4055),
+ q(4087),
q(0),
],
q(lug) => [
@@ -72664,19 +73546,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(luj) => [
- q(4056),
+ q(4088),
q(0),
],
q(luk) => [
- q(4057),
+ q(4089),
q(0),
],
q(lul) => [
- q(4058),
+ q(4090),
q(0),
],
q(lum) => [
- q(4059),
+ q(4091),
q(0),
],
q(lun) => [
@@ -72688,15 +73570,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lup) => [
- q(4060),
+ q(4092),
q(0),
],
q(luq) => [
- q(4061),
+ q(4093),
q(0),
],
q(lur) => [
- q(4062),
+ q(4094),
q(0),
],
q(lus) => [
@@ -72704,115 +73586,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(lut) => [
- q(4063),
+ q(4095),
q(0),
],
q(luu) => [
- q(4064),
+ q(4096),
q(0),
],
q(luv) => [
- q(4065),
+ q(4097),
q(0),
],
q(luw) => [
- q(4066),
+ q(4098),
q(0),
],
q(luy) => [
- q(4067),
+ q(4099),
q(0),
],
q(luz) => [
- q(4068),
+ q(4100),
q(0),
],
q(lva) => [
- q(4069),
+ q(4101),
q(0),
],
q(lvk) => [
- q(4070),
+ q(4102),
q(0),
],
q(lvs) => [
- q(4071),
+ q(4103),
q(0),
],
q(lvu) => [
- q(4072),
+ q(4104),
q(0),
],
q(lwa) => [
- q(4073),
+ q(4105),
q(0),
],
q(lwe) => [
- q(4074),
+ q(4106),
q(0),
],
q(lwg) => [
- q(4075),
+ q(4107),
q(0),
],
q(lwh) => [
- q(4076),
+ q(4108),
q(0),
],
q(lwl) => [
- q(4077),
+ q(4109),
q(0),
],
q(lwm) => [
- q(4078),
+ q(4110),
q(0),
],
q(lwo) => [
- q(4079),
+ q(4111),
q(0),
],
q(lwt) => [
- q(4080),
+ q(4112),
+ q(0),
+ ],
+ q(lwu) => [
+ q(4113),
q(0),
],
q(lww) => [
- q(4081),
+ q(4114),
q(0),
],
q(lya) => [
- q(4082),
+ q(4115),
q(0),
],
q(lyg) => [
- q(4083),
+ q(4116),
q(0),
],
q(lyn) => [
- q(4084),
+ q(4117),
q(0),
],
q(lzh) => [
- q(4085),
+ q(4118),
q(0),
],
q(lzl) => [
- q(4086),
+ q(4119),
q(0),
],
q(lzn) => [
- q(4087),
+ q(4120),
q(0),
],
q(lzz) => [
- q(4088),
+ q(4121),
q(0),
],
q(maa) => [
- q(4089),
+ q(4122),
q(0),
],
q(mab) => [
- q(4090),
+ q(4123),
q(0),
],
q(mac) => [
@@ -72824,11 +73710,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mae) => [
- q(4091),
+ q(4124),
q(0),
],
q(maf) => [
- q(4092),
+ q(4125),
q(0),
],
q(mag) => [
@@ -72844,7 +73730,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(maj) => [
- q(4093),
+ q(4126),
q(0),
],
q(mak) => [
@@ -72856,7 +73742,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mam) => [
- q(4094),
+ q(4127),
q(0),
],
q(man) => [
@@ -72872,7 +73758,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(maq) => [
- q(4095),
+ q(4128),
q(0),
],
q(mar) => [
@@ -72884,23 +73770,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mat) => [
- q(4096),
+ q(4129),
q(0),
],
q(mau) => [
- q(4097),
+ q(4130),
q(0),
],
q(mav) => [
- q(4098),
+ q(4131),
q(0),
],
q(maw) => [
- q(4099),
+ q(4132),
q(0),
],
q(max) => [
- q(4100),
+ q(4133),
q(0),
],
q(may) => [
@@ -72908,231 +73794,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(maz) => [
- q(4101),
+ q(4134),
q(0),
],
q(mba) => [
- q(4102),
+ q(4135),
q(0),
],
q(mbb) => [
- q(4103),
+ q(4136),
q(0),
],
q(mbc) => [
- q(4104),
+ q(4137),
q(0),
],
q(mbd) => [
- q(4105),
+ q(4138),
q(0),
],
q(mbe) => [
- q(4106),
+ q(4139),
q(0),
],
q(mbf) => [
- q(4107),
+ q(4140),
q(0),
],
q(mbh) => [
- q(4108),
+ q(4141),
q(0),
],
q(mbi) => [
- q(4109),
+ q(4142),
q(0),
],
q(mbj) => [
- q(4110),
+ q(4143),
q(0),
],
q(mbk) => [
- q(4111),
+ q(4144),
q(0),
],
q(mbl) => [
- q(4112),
+ q(4145),
q(0),
],
q(mbm) => [
- q(4113),
+ q(4146),
q(0),
],
q(mbn) => [
- q(4114),
+ q(4147),
q(0),
],
q(mbo) => [
- q(4115),
+ q(4148),
q(0),
],
q(mbp) => [
- q(4116),
+ q(4149),
q(0),
],
q(mbq) => [
- q(4117),
+ q(4150),
q(0),
],
q(mbr) => [
- q(4118),
+ q(4151),
q(0),
],
q(mbs) => [
- q(4119),
+ q(4152),
q(0),
],
q(mbt) => [
- q(4120),
+ q(4153),
q(0),
],
q(mbu) => [
- q(4121),
+ q(4154),
q(0),
],
q(mbv) => [
- q(4122),
+ q(4155),
q(0),
],
q(mbw) => [
- q(4123),
+ q(4156),
q(0),
],
q(mbx) => [
- q(4124),
+ q(4157),
q(0),
],
q(mby) => [
- q(4125),
+ q(4158),
q(0),
],
q(mbz) => [
- q(4126),
+ q(4159),
q(0),
],
q(mca) => [
- q(4127),
+ q(4160),
q(0),
],
q(mcb) => [
- q(4128),
+ q(4161),
q(0),
],
q(mcc) => [
- q(4129),
+ q(4162),
q(0),
],
q(mcd) => [
- q(4130),
+ q(4163),
q(0),
],
q(mce) => [
- q(4131),
+ q(4164),
q(0),
],
q(mcf) => [
- q(4132),
+ q(4165),
q(0),
],
q(mcg) => [
- q(4133),
+ q(4166),
q(0),
],
q(mch) => [
- q(4134),
+ q(4167),
q(0),
],
q(mci) => [
- q(4135),
+ q(4168),
q(0),
],
q(mcj) => [
- q(4136),
+ q(4169),
q(0),
],
q(mck) => [
- q(4137),
+ q(4170),
q(0),
],
q(mcl) => [
- q(4138),
+ q(4171),
q(0),
],
q(mcm) => [
- q(4139),
+ q(4172),
q(0),
],
q(mcn) => [
- q(4140),
+ q(4173),
q(0),
],
q(mco) => [
- q(4141),
+ q(4174),
q(0),
],
q(mcp) => [
- q(4142),
+ q(4175),
q(0),
],
q(mcq) => [
- q(4143),
+ q(4176),
q(0),
],
q(mcr) => [
- q(4144),
+ q(4177),
q(0),
],
q(mcs) => [
- q(4145),
+ q(4178),
q(0),
],
q(mct) => [
- q(4146),
+ q(4179),
q(0),
],
q(mcu) => [
- q(4147),
+ q(4180),
q(0),
],
q(mcv) => [
- q(4148),
+ q(4181),
q(0),
],
q(mcw) => [
- q(4149),
+ q(4182),
q(0),
],
q(mcx) => [
- q(4150),
+ q(4183),
q(0),
],
q(mcy) => [
- q(4151),
+ q(4184),
q(0),
],
q(mcz) => [
- q(4152),
+ q(4185),
q(0),
],
q(mda) => [
- q(4153),
+ q(4186),
q(0),
],
q(mdb) => [
- q(4154),
+ q(4187),
q(0),
],
q(mdc) => [
- q(4155),
+ q(4188),
q(0),
],
q(mdd) => [
- q(4156),
+ q(4189),
q(0),
],
q(mde) => [
- q(4157),
+ q(4190),
q(0),
],
q(mdf) => [
@@ -73140,43 +74026,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mdg) => [
- q(4158),
+ q(4191),
q(0),
],
q(mdh) => [
- q(4159),
+ q(4192),
q(0),
],
q(mdi) => [
- q(4160),
+ q(4193),
q(0),
],
q(mdj) => [
- q(4161),
+ q(4194),
q(0),
],
q(mdk) => [
- q(4162),
+ q(4195),
q(0),
],
q(mdl) => [
- q(4163),
+ q(4196),
q(0),
],
q(mdm) => [
- q(4164),
+ q(4197),
q(0),
],
q(mdn) => [
- q(4165),
+ q(4198),
q(0),
],
q(mdp) => [
- q(4166),
+ q(4199),
q(0),
],
q(mdq) => [
- q(4167),
+ q(4200),
q(0),
],
q(mdr) => [
@@ -73184,87 +74070,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mds) => [
- q(4168),
+ q(4201),
q(0),
],
q(mdt) => [
- q(4169),
+ q(4202),
q(0),
],
q(mdu) => [
- q(4170),
+ q(4203),
q(0),
],
q(mdv) => [
- q(4171),
+ q(4204),
q(0),
],
q(mdw) => [
- q(4172),
+ q(4205),
q(0),
],
q(mdx) => [
- q(4173),
+ q(4206),
q(0),
],
q(mdy) => [
- q(4174),
+ q(4207),
q(0),
],
q(mdz) => [
- q(4175),
+ q(4208),
q(0),
],
q(mea) => [
- q(4176),
+ q(4209),
q(0),
],
q(meb) => [
- q(4177),
+ q(4210),
q(0),
],
q(mec) => [
- q(4178),
+ q(4211),
q(0),
],
q(med) => [
- q(4179),
+ q(4212),
q(0),
],
q(mee) => [
- q(4180),
+ q(4213),
q(0),
],
q(mef) => [
- q(4181),
- q(0),
- ],
- q(meg) => [
- q(4182),
+ q(4214),
q(0),
],
q(meh) => [
- q(4183),
+ q(4215),
q(0),
],
q(mei) => [
- q(4184),
+ q(4216),
q(0),
],
q(mej) => [
- q(4185),
+ q(4217),
q(0),
],
q(mek) => [
- q(4186),
+ q(4218),
q(0),
],
q(mel) => [
- q(4187),
+ q(4219),
q(0),
],
q(mem) => [
- q(4188),
+ q(4220),
q(0),
],
q(men) => [
@@ -73272,151 +74154,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(meo) => [
- q(4189),
+ q(4221),
q(0),
],
q(mep) => [
- q(4190),
+ q(4222),
q(0),
],
q(meq) => [
- q(4191),
+ q(4223),
q(0),
],
q(mer) => [
- q(4192),
+ q(4224),
q(0),
],
q(mes) => [
- q(4193),
+ q(4225),
q(0),
],
q(met) => [
- q(4194),
+ q(4226),
q(0),
],
q(meu) => [
- q(4195),
+ q(4227),
q(0),
],
q(mev) => [
- q(4196),
+ q(4228),
q(0),
],
q(mew) => [
- q(4197),
+ q(4229),
q(0),
],
q(mey) => [
- q(4198),
+ q(4230),
q(0),
],
q(mez) => [
- q(4199),
+ q(4231),
q(0),
],
q(mfa) => [
- q(4200),
+ q(4232),
q(0),
],
q(mfb) => [
- q(4201),
+ q(4233),
q(0),
],
q(mfc) => [
- q(4202),
+ q(4234),
q(0),
],
q(mfd) => [
- q(4203),
+ q(4235),
q(0),
],
q(mfe) => [
- q(4204),
+ q(4236),
q(0),
],
q(mff) => [
- q(4205),
+ q(4237),
q(0),
],
q(mfg) => [
- q(4206),
+ q(4238),
q(0),
],
q(mfh) => [
- q(4207),
+ q(4239),
q(0),
],
q(mfi) => [
- q(4208),
+ q(4240),
q(0),
],
q(mfj) => [
- q(4209),
+ q(4241),
q(0),
],
q(mfk) => [
- q(4210),
+ q(4242),
q(0),
],
q(mfl) => [
- q(4211),
+ q(4243),
q(0),
],
q(mfm) => [
- q(4212),
+ q(4244),
q(0),
],
q(mfn) => [
- q(4213),
+ q(4245),
q(0),
],
q(mfo) => [
- q(4214),
+ q(4246),
q(0),
],
q(mfp) => [
- q(4215),
+ q(4247),
q(0),
],
q(mfq) => [
- q(4216),
+ q(4248),
q(0),
],
q(mfr) => [
- q(4217),
+ q(4249),
q(0),
],
q(mfs) => [
- q(4218),
+ q(4250),
q(0),
],
q(mft) => [
- q(4219),
+ q(4251),
q(0),
],
q(mfu) => [
- q(4220),
+ q(4252),
q(0),
],
q(mfv) => [
- q(4221),
+ q(4253),
q(0),
],
q(mfw) => [
- q(4222),
+ q(4254),
q(0),
],
q(mfx) => [
- q(4223),
+ q(4255),
q(0),
],
q(mfy) => [
- q(4224),
+ q(4256),
q(0),
],
q(mfz) => [
- q(4225),
+ q(4257),
q(0),
],
q(mga) => [
@@ -73424,207 +74306,207 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(mgb) => [
- q(4226),
+ q(4258),
q(0),
],
q(mgc) => [
- q(4227),
+ q(4259),
q(0),
],
q(mgd) => [
- q(4228),
+ q(4260),
q(0),
],
q(mge) => [
- q(4229),
+ q(4261),
q(0),
],
q(mgf) => [
- q(4230),
+ q(4262),
q(0),
],
q(mgg) => [
- q(4231),
+ q(4263),
q(0),
],
q(mgh) => [
- q(4232),
+ q(4264),
q(0),
],
q(mgi) => [
- q(4233),
+ q(4265),
q(0),
],
q(mgj) => [
- q(4234),
+ q(4266),
q(0),
],
q(mgk) => [
- q(4235),
+ q(4267),
q(0),
],
q(mgl) => [
- q(4236),
+ q(4268),
q(0),
],
q(mgm) => [
- q(4237),
+ q(4269),
q(0),
],
q(mgn) => [
- q(4238),
+ q(4270),
q(0),
],
q(mgo) => [
- q(4239),
+ q(4271),
q(0),
],
q(mgp) => [
- q(4240),
+ q(4272),
q(0),
],
q(mgq) => [
- q(4241),
+ q(4273),
q(0),
],
q(mgr) => [
- q(4242),
+ q(4274),
q(0),
],
q(mgs) => [
- q(4243),
+ q(4275),
q(0),
],
q(mgt) => [
- q(4244),
+ q(4276),
q(0),
],
q(mgu) => [
- q(4245),
+ q(4277),
q(0),
],
q(mgv) => [
- q(4246),
+ q(4278),
q(0),
],
q(mgw) => [
- q(4247),
+ q(4279),
q(0),
],
q(mgy) => [
- q(4248),
+ q(4280),
q(0),
],
q(mgz) => [
- q(4249),
+ q(4281),
q(0),
],
q(mha) => [
- q(4250),
+ q(4282),
q(0),
],
q(mhb) => [
- q(4251),
+ q(4283),
q(0),
],
q(mhc) => [
- q(4252),
+ q(4284),
q(0),
],
q(mhd) => [
- q(4253),
+ q(4285),
q(0),
],
q(mhe) => [
- q(4254),
+ q(4286),
q(0),
],
q(mhf) => [
- q(4255),
+ q(4287),
q(0),
],
q(mhg) => [
- q(4256),
+ q(4288),
q(0),
],
q(mhh) => [
- q(4257),
+ q(4289),
q(0),
],
q(mhi) => [
- q(4258),
+ q(4290),
q(0),
],
q(mhj) => [
- q(4259),
+ q(4291),
q(0),
],
q(mhk) => [
- q(4260),
+ q(4292),
q(0),
],
q(mhl) => [
- q(4261),
+ q(4293),
q(0),
],
q(mhm) => [
- q(4262),
+ q(4294),
q(0),
],
q(mhn) => [
- q(4263),
+ q(4295),
q(0),
],
q(mho) => [
- q(4264),
+ q(4296),
q(0),
],
q(mhp) => [
- q(4265),
+ q(4297),
q(0),
],
q(mhq) => [
- q(4266),
+ q(4298),
q(0),
],
q(mhr) => [
- q(4267),
+ q(4299),
q(0),
],
q(mhs) => [
- q(4268),
+ q(4300),
q(0),
],
q(mht) => [
- q(4269),
+ q(4301),
q(0),
],
q(mhu) => [
- q(4270),
+ q(4302),
q(0),
],
q(mhw) => [
- q(4271),
+ q(4303),
q(0),
],
q(mhx) => [
- q(4272),
+ q(4304),
q(0),
],
q(mhy) => [
- q(4273),
+ q(4305),
q(0),
],
q(mhz) => [
- q(4274),
+ q(4306),
q(0),
],
q(mia) => [
- q(4275),
+ q(4307),
q(0),
],
q(mib) => [
- q(4276),
+ q(4308),
q(0),
],
q(mic) => [
@@ -73632,43 +74514,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mid) => [
- q(4277),
+ q(4309),
q(0),
],
q(mie) => [
- q(4278),
+ q(4310),
q(0),
],
q(mif) => [
- q(4279),
+ q(4311),
q(0),
],
q(mig) => [
- q(4280),
+ q(4312),
q(0),
],
q(mih) => [
- q(4281),
+ q(4313),
q(0),
],
q(mii) => [
- q(4282),
+ q(4314),
q(0),
],
q(mij) => [
- q(4283),
+ q(4315),
q(0),
],
q(mik) => [
- q(4284),
+ q(4316),
q(0),
],
q(mil) => [
- q(4285),
+ q(4317),
q(0),
],
q(mim) => [
- q(4286),
+ q(4318),
q(0),
],
q(min) => [
@@ -73676,19 +74558,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mio) => [
- q(4287),
+ q(4319),
q(0),
],
q(mip) => [
- q(4288),
+ q(4320),
q(0),
],
q(miq) => [
- q(4289),
+ q(4321),
q(0),
],
q(mir) => [
- q(4290),
+ q(4322),
q(0),
],
q(mis) => [
@@ -73696,143 +74578,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mit) => [
- q(4291),
+ q(4323),
q(0),
],
q(miu) => [
- q(4292),
+ q(4324),
q(0),
],
q(miw) => [
- q(4293),
+ q(4325),
q(0),
],
q(mix) => [
- q(4294),
+ q(4326),
q(0),
],
q(miy) => [
- q(4295),
+ q(4327),
q(0),
],
q(miz) => [
- q(4296),
+ q(4328),
q(0),
],
q(mjc) => [
- q(4297),
+ q(4329),
q(0),
],
q(mjd) => [
- q(4298),
+ q(4330),
q(0),
],
q(mje) => [
- q(4299),
+ q(4331),
q(0),
],
q(mjg) => [
- q(4300),
+ q(4332),
q(0),
],
q(mjh) => [
- q(4301),
+ q(4333),
q(0),
],
q(mji) => [
- q(4302),
+ q(4334),
q(0),
],
q(mjj) => [
- q(4303),
+ q(4335),
q(0),
],
q(mjk) => [
- q(4304),
+ q(4336),
q(0),
],
q(mjl) => [
- q(4305),
+ q(4337),
q(0),
],
q(mjm) => [
- q(4306),
+ q(4338),
q(0),
],
q(mjn) => [
- q(4307),
+ q(4339),
q(0),
],
q(mjo) => [
- q(4308),
+ q(4340),
q(0),
],
q(mjp) => [
- q(4309),
+ q(4341),
q(0),
],
q(mjq) => [
- q(4310),
+ q(4342),
q(0),
],
q(mjr) => [
- q(4311),
+ q(4343),
q(0),
],
q(mjs) => [
- q(4312),
+ q(4344),
q(0),
],
q(mjt) => [
- q(4313),
+ q(4345),
q(0),
],
q(mju) => [
- q(4314),
+ q(4346),
q(0),
],
q(mjv) => [
- q(4315),
+ q(4347),
q(0),
],
q(mjw) => [
- q(4316),
+ q(4348),
q(0),
],
q(mjx) => [
- q(4317),
+ q(4349),
q(0),
],
q(mjy) => [
- q(4318),
+ q(4350),
q(0),
],
q(mjz) => [
- q(4319),
+ q(4351),
q(0),
],
q(mka) => [
- q(4320),
+ q(4352),
q(0),
],
q(mkb) => [
- q(4321),
+ q(4353),
q(0),
],
q(mkc) => [
- q(4322),
+ q(4354),
q(0),
],
q(mke) => [
- q(4323),
+ q(4355),
q(0),
],
q(mkf) => [
- q(4324),
+ q(4356),
q(0),
],
q(mkg) => [
- q(4325),
+ q(4357),
q(0),
],
q(mkh) => [
@@ -73840,99 +74722,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mki) => [
- q(4326),
+ q(4358),
q(0),
],
q(mkj) => [
- q(4327),
+ q(4359),
q(0),
],
q(mkk) => [
- q(4328),
+ q(4360),
q(0),
],
q(mkl) => [
- q(4329),
+ q(4361),
q(0),
],
q(mkm) => [
- q(4330),
+ q(4362),
q(0),
],
q(mkn) => [
- q(4331),
+ q(4363),
q(0),
],
q(mko) => [
- q(4332),
+ q(4364),
q(0),
],
q(mkp) => [
- q(4333),
+ q(4365),
q(0),
],
q(mkq) => [
- q(4334),
+ q(4366),
q(0),
],
q(mkr) => [
- q(4335),
+ q(4367),
q(0),
],
q(mks) => [
- q(4336),
+ q(4368),
q(0),
],
q(mkt) => [
- q(4337),
+ q(4369),
q(0),
],
q(mku) => [
- q(4338),
+ q(4370),
q(0),
],
q(mkv) => [
- q(4339),
+ q(4371),
q(0),
],
q(mkw) => [
- q(4340),
+ q(4372),
q(0),
],
q(mkx) => [
- q(4341),
+ q(4373),
q(0),
],
q(mky) => [
- q(4342),
+ q(4374),
q(0),
],
q(mkz) => [
- q(4343),
+ q(4375),
q(0),
],
q(mla) => [
- q(4344),
+ q(4376),
q(0),
],
q(mlb) => [
- q(4345),
+ q(4377),
q(0),
],
q(mlc) => [
- q(4346),
- q(0),
- ],
- q(mld) => [
- q(4347),
+ q(4378),
q(0),
],
q(mle) => [
- q(4348),
+ q(4379),
q(0),
],
q(mlf) => [
- q(4349),
+ q(4380),
q(0),
],
q(mlg) => [
@@ -73940,51 +74818,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mlh) => [
- q(4350),
+ q(4381),
q(0),
],
q(mli) => [
- q(4351),
+ q(4382),
q(0),
],
q(mlj) => [
- q(4352),
+ q(4383),
q(0),
],
q(mlk) => [
- q(4353),
+ q(4384),
q(0),
],
q(mll) => [
- q(4354),
+ q(4385),
q(0),
],
q(mlm) => [
- q(4355),
+ q(4386),
q(0),
],
q(mln) => [
- q(4356),
+ q(4387),
q(0),
],
q(mlo) => [
- q(4357),
+ q(4388),
q(0),
],
q(mlp) => [
- q(4358),
+ q(4389),
q(0),
],
q(mlq) => [
- q(4359),
+ q(4390),
q(0),
],
q(mlr) => [
- q(4360),
+ q(4391),
q(0),
],
q(mls) => [
- q(4361),
+ q(4392),
q(0),
],
q(mlt) => [
@@ -73992,131 +74870,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mlu) => [
- q(4362),
+ q(4393),
q(0),
],
q(mlv) => [
- q(4363),
+ q(4394),
q(0),
],
q(mlw) => [
- q(4364),
+ q(4395),
q(0),
],
q(mlx) => [
- q(4365),
+ q(4396),
q(0),
],
q(mlz) => [
- q(4366),
+ q(4397),
q(0),
],
q(mma) => [
- q(4367),
+ q(4398),
q(0),
],
q(mmb) => [
- q(4368),
+ q(4399),
q(0),
],
q(mmc) => [
- q(4369),
+ q(4400),
q(0),
],
q(mmd) => [
- q(4370),
+ q(4401),
q(0),
],
q(mme) => [
- q(4371),
+ q(4402),
q(0),
],
q(mmf) => [
- q(4372),
+ q(4403),
q(0),
],
q(mmg) => [
- q(4373),
+ q(4404),
q(0),
],
q(mmh) => [
- q(4374),
+ q(4405),
q(0),
],
q(mmi) => [
- q(4375),
+ q(4406),
q(0),
],
q(mmj) => [
- q(4376),
+ q(4407),
q(0),
],
q(mmk) => [
- q(4377),
+ q(4408),
q(0),
],
q(mml) => [
- q(4378),
+ q(4409),
q(0),
],
q(mmm) => [
- q(4379),
+ q(4410),
q(0),
],
q(mmn) => [
- q(4380),
+ q(4411),
q(0),
],
q(mmo) => [
- q(4381),
+ q(4412),
q(0),
],
q(mmp) => [
- q(4382),
+ q(4413),
q(0),
],
q(mmq) => [
- q(4383),
+ q(4414),
q(0),
],
q(mmr) => [
- q(4384),
+ q(4415),
q(0),
],
q(mmt) => [
- q(4385),
+ q(4416),
q(0),
],
q(mmu) => [
- q(4386),
+ q(4417),
q(0),
],
q(mmv) => [
- q(4387),
+ q(4418),
q(0),
],
q(mmw) => [
- q(4388),
+ q(4419),
q(0),
],
q(mmx) => [
- q(4389),
+ q(4420),
q(0),
],
q(mmy) => [
- q(4390),
+ q(4421),
q(0),
],
q(mmz) => [
- q(4391),
+ q(4422),
q(0),
],
q(mna) => [
- q(4392),
+ q(4423),
q(0),
],
q(mnb) => [
- q(4393),
+ q(4424),
q(0),
],
q(mnc) => [
@@ -74124,23 +75002,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mnd) => [
- q(4394),
+ q(4425),
q(0),
],
q(mne) => [
- q(4395),
+ q(4426),
q(0),
],
q(mnf) => [
- q(4396),
+ q(4427),
q(0),
],
q(mng) => [
- q(4397),
+ q(4428),
q(0),
],
q(mnh) => [
- q(4398),
+ q(4429),
q(0),
],
q(mni) => [
@@ -74148,23 +75026,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mnj) => [
- q(4399),
+ q(4430),
q(0),
],
q(mnk) => [
- q(4400),
+ q(4431),
q(0),
],
q(mnl) => [
- q(4401),
+ q(4432),
q(0),
],
q(mnm) => [
- q(4402),
+ q(4433),
q(0),
],
q(mnn) => [
- q(4403),
+ q(4434),
q(0),
],
q(mno) => [
@@ -74172,67 +75050,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mnp) => [
- q(4404),
+ q(4435),
q(0),
],
q(mnq) => [
- q(4405),
+ q(4436),
q(0),
],
q(mnr) => [
- q(4406),
+ q(4437),
q(0),
],
q(mns) => [
- q(4407),
- q(0),
- ],
- q(mnt) => [
- q(4408),
+ q(4438),
q(0),
],
q(mnu) => [
- q(4409),
+ q(4439),
q(0),
],
q(mnv) => [
- q(4410),
+ q(4440),
q(0),
],
q(mnw) => [
- q(4411),
+ q(4441),
q(0),
],
q(mnx) => [
- q(4412),
+ q(4442),
q(0),
],
q(mny) => [
- q(4413),
+ q(4443),
q(0),
],
q(mnz) => [
- q(4414),
+ q(4444),
q(0),
],
q(moa) => [
- q(4415),
+ q(4445),
q(0),
],
q(moc) => [
- q(4416),
+ q(4446),
q(0),
],
q(mod) => [
- q(4417),
+ q(4447),
q(0),
],
q(moe) => [
- q(4418),
+ q(4448),
q(0),
],
q(mog) => [
- q(4419),
+ q(4449),
q(0),
],
q(moh) => [
@@ -74240,19 +75114,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(moi) => [
- q(4420),
+ q(4450),
q(0),
],
q(moj) => [
- q(4421),
+ q(4451),
q(0),
],
q(mok) => [
- q(4422),
+ q(4452),
q(0),
],
q(mom) => [
- q(4423),
+ q(4453),
q(0),
],
q(mon) => [
@@ -74260,19 +75134,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(moo) => [
- q(4424),
+ q(4454),
q(0),
],
q(mop) => [
- q(4425),
+ q(4455),
q(0),
],
q(moq) => [
- q(4426),
+ q(4456),
q(0),
],
q(mor) => [
- q(4427),
+ q(4457),
q(0),
],
q(mos) => [
@@ -74280,567 +75154,567 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mot) => [
- q(1137),
+ q(1138),
q(0),
],
q(mou) => [
- q(4428),
+ q(4458),
q(0),
],
q(mov) => [
- q(4429),
+ q(4459),
q(0),
],
q(mow) => [
- q(4430),
+ q(4460),
q(0),
],
q(mox) => [
- q(4431),
+ q(4461),
q(0),
],
q(moy) => [
- q(4432),
+ q(4462),
q(0),
],
q(moz) => [
- q(4433),
+ q(4463),
q(0),
],
q(mpa) => [
- q(4434),
+ q(4464),
q(0),
],
q(mpb) => [
- q(4435),
+ q(4465),
q(0),
],
q(mpc) => [
- q(4436),
+ q(4466),
q(0),
],
q(mpd) => [
- q(4437),
+ q(4467),
q(0),
],
q(mpe) => [
- q(4438),
+ q(4468),
q(0),
],
q(mpg) => [
- q(4439),
+ q(4469),
q(0),
],
q(mph) => [
- q(4440),
+ q(4470),
q(0),
],
q(mpi) => [
- q(4441),
+ q(4471),
q(0),
],
q(mpj) => [
- q(4442),
+ q(4472),
q(0),
],
q(mpk) => [
- q(4443),
+ q(4473),
q(0),
],
q(mpl) => [
- q(4444),
+ q(4474),
q(0),
],
q(mpm) => [
- q(4445),
+ q(4475),
q(0),
],
q(mpn) => [
- q(4446),
+ q(4476),
q(0),
],
q(mpo) => [
- q(4447),
+ q(4477),
q(0),
],
q(mpp) => [
- q(4448),
+ q(4478),
q(0),
],
q(mpq) => [
- q(4449),
+ q(4479),
q(0),
],
q(mpr) => [
- q(4450),
+ q(4480),
q(0),
],
q(mps) => [
- q(4451),
+ q(4481),
q(0),
],
q(mpt) => [
- q(4452),
+ q(4482),
q(0),
],
q(mpu) => [
- q(4453),
+ q(4483),
q(0),
],
q(mpv) => [
- q(4454),
+ q(4484),
q(0),
],
q(mpw) => [
- q(4455),
+ q(4485),
q(0),
],
q(mpx) => [
- q(4456),
+ q(4486),
q(0),
],
q(mpy) => [
- q(4457),
+ q(4487),
q(0),
],
q(mpz) => [
- q(4458),
+ q(4488),
q(0),
],
q(mqa) => [
- q(4459),
+ q(4489),
q(0),
],
q(mqb) => [
- q(4460),
+ q(4490),
q(0),
],
q(mqc) => [
- q(4461),
+ q(4491),
q(0),
],
q(mqe) => [
- q(4462),
+ q(4492),
q(0),
],
q(mqf) => [
- q(4463),
+ q(4493),
q(0),
],
q(mqg) => [
- q(4464),
+ q(4494),
q(0),
],
q(mqh) => [
- q(4465),
+ q(4495),
q(0),
],
q(mqi) => [
- q(4466),
+ q(4496),
q(0),
],
q(mqj) => [
- q(4467),
+ q(4497),
q(0),
],
q(mqk) => [
- q(4468),
+ q(4498),
q(0),
],
q(mql) => [
- q(4469),
+ q(4499),
q(0),
],
q(mqm) => [
- q(4470),
+ q(4500),
q(0),
],
q(mqn) => [
- q(4471),
+ q(4501),
q(0),
],
q(mqo) => [
- q(4472),
+ q(4502),
q(0),
],
q(mqp) => [
- q(4473),
+ q(4503),
q(0),
],
q(mqq) => [
- q(4474),
+ q(4504),
q(0),
],
q(mqr) => [
- q(4475),
+ q(4505),
q(0),
],
q(mqs) => [
- q(4476),
+ q(4506),
q(0),
],
q(mqt) => [
- q(4477),
+ q(4507),
q(0),
],
q(mqu) => [
- q(4478),
+ q(4508),
q(0),
],
q(mqv) => [
- q(4479),
+ q(4509),
q(0),
],
q(mqw) => [
- q(4480),
+ q(4510),
q(0),
],
q(mqx) => [
- q(4481),
+ q(4511),
q(0),
],
q(mqy) => [
- q(4482),
+ q(4512),
q(0),
],
q(mqz) => [
- q(4483),
+ q(4513),
q(0),
],
q(mra) => [
- q(4484),
+ q(4514),
q(0),
],
q(mrb) => [
- q(4485),
+ q(4515),
q(0),
],
q(mrc) => [
- q(4486),
+ q(4516),
q(0),
],
q(mrd) => [
- q(4487),
+ q(4517),
q(0),
],
q(mre) => [
- q(4488),
+ q(4518),
q(0),
],
q(mrf) => [
- q(4489),
+ q(4519),
q(0),
],
q(mrg) => [
- q(4490),
+ q(4520),
q(0),
],
q(mrh) => [
- q(4491),
+ q(4521),
q(0),
],
q(mrj) => [
- q(4492),
+ q(4522),
q(0),
],
q(mrk) => [
- q(4493),
+ q(4523),
q(0),
],
q(mrl) => [
- q(4494),
+ q(4524),
q(0),
],
q(mrm) => [
- q(4495),
+ q(4525),
q(0),
],
q(mrn) => [
- q(4496),
+ q(4526),
q(0),
],
q(mro) => [
- q(4497),
+ q(4527),
q(0),
],
q(mrp) => [
- q(4498),
+ q(4528),
q(0),
],
q(mrq) => [
- q(4499),
+ q(4529),
q(0),
],
q(mrr) => [
- q(4500),
+ q(4530),
q(0),
],
q(mrs) => [
- q(4501),
+ q(4531),
q(0),
],
q(mrt) => [
- q(4502),
+ q(4532),
q(0),
],
q(mru) => [
- q(4503),
+ q(4533),
q(0),
],
q(mrv) => [
- q(4504),
+ q(4534),
q(0),
],
q(mrw) => [
- q(4505),
+ q(4535),
q(0),
],
q(mrx) => [
- q(4506),
+ q(4536),
q(0),
],
q(mry) => [
- q(4507),
+ q(4537),
q(0),
],
q(mrz) => [
- q(4508),
+ q(4538),
q(0),
],
q(msb) => [
- q(4509),
+ q(4539),
q(0),
],
q(msc) => [
- q(4510),
+ q(4540),
q(0),
],
q(msd) => [
- q(4511),
+ q(4541),
q(0),
],
q(mse) => [
- q(4512),
+ q(4542),
q(0),
],
q(msf) => [
- q(4513),
+ q(4543),
q(0),
],
q(msg) => [
- q(4514),
+ q(4544),
q(0),
],
q(msh) => [
- q(4515),
+ q(4545),
q(0),
],
q(msi) => [
- q(4516),
+ q(4546),
q(0),
],
q(msj) => [
- q(4517),
+ q(4547),
q(0),
],
q(msk) => [
- q(4518),
+ q(4548),
q(0),
],
q(msl) => [
- q(4519),
+ q(4549),
q(0),
],
q(msm) => [
- q(4520),
+ q(4550),
q(0),
],
q(msn) => [
- q(4521),
+ q(4551),
q(0),
],
q(mso) => [
- q(4522),
+ q(4552),
q(0),
],
q(msp) => [
- q(4523),
+ q(4553),
q(0),
],
q(msq) => [
- q(4524),
+ q(4554),
q(0),
],
q(msr) => [
- q(4525),
+ q(4555),
q(0),
],
q(mss) => [
- q(4526),
+ q(4556),
q(0),
],
q(msu) => [
- q(4527),
+ q(4557),
q(0),
],
q(msv) => [
- q(4528),
+ q(4558),
q(0),
],
q(msw) => [
- q(4529),
+ q(4559),
q(0),
],
q(msx) => [
- q(4530),
+ q(4560),
q(0),
],
q(msy) => [
- q(4531),
+ q(4561),
q(0),
],
q(msz) => [
- q(4532),
+ q(4562),
q(0),
],
q(mta) => [
- q(4533),
+ q(4563),
q(0),
],
q(mtb) => [
- q(4534),
+ q(4564),
q(0),
],
q(mtc) => [
- q(4535),
+ q(4565),
q(0),
],
q(mtd) => [
- q(4536),
+ q(4566),
q(0),
],
q(mte) => [
- q(4537),
+ q(4567),
q(0),
],
q(mtf) => [
- q(4538),
+ q(4568),
q(0),
],
q(mtg) => [
- q(4539),
+ q(4569),
q(0),
],
q(mth) => [
- q(4540),
+ q(4570),
q(0),
],
q(mti) => [
- q(4541),
+ q(4571),
q(0),
],
q(mtj) => [
- q(4542),
+ q(4572),
q(0),
],
q(mtk) => [
- q(4543),
+ q(4573),
q(0),
],
q(mtl) => [
- q(4544),
+ q(4574),
q(0),
],
q(mtm) => [
- q(4545),
+ q(4575),
q(0),
],
q(mtn) => [
- q(4546),
+ q(4576),
q(0),
],
q(mto) => [
- q(4547),
+ q(4577),
q(0),
],
q(mtp) => [
- q(4548),
+ q(4578),
q(0),
],
q(mtq) => [
- q(4549),
+ q(4579),
q(0),
],
q(mtr) => [
- q(4550),
+ q(4580),
q(0),
],
q(mts) => [
- q(4551),
+ q(4581),
q(0),
],
q(mtt) => [
- q(4552),
+ q(4582),
q(0),
],
q(mtu) => [
- q(4553),
+ q(4583),
q(0),
],
q(mtv) => [
- q(4554),
+ q(4584),
q(0),
],
q(mtw) => [
- q(4555),
+ q(4585),
q(0),
],
q(mtx) => [
- q(4556),
+ q(4586),
q(0),
],
q(mty) => [
- q(4557),
+ q(4587),
q(0),
],
q(mua) => [
- q(4558),
+ q(4588),
q(0),
],
q(mub) => [
- q(4559),
+ q(4589),
q(0),
],
q(muc) => [
- q(4560),
+ q(4590),
q(0),
],
q(mud) => [
- q(4561),
+ q(4591),
q(0),
],
q(mue) => [
- q(4562),
+ q(4592),
q(0),
],
q(mug) => [
- q(4563),
+ q(4593),
q(0),
],
q(muh) => [
- q(4564),
+ q(4594),
q(0),
],
q(mui) => [
- q(4565),
+ q(4595),
q(0),
],
q(muj) => [
- q(4566),
+ q(4596),
q(0),
],
q(muk) => [
- q(4567),
+ q(4597),
q(0),
],
q(mul) => [
@@ -74848,7 +75722,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mum) => [
- q(4568),
+ q(4598),
q(0),
],
q(mun) => [
@@ -74856,19 +75730,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(muo) => [
- q(4569),
+ q(4599),
q(0),
],
q(mup) => [
- q(4570),
+ q(4600),
q(0),
],
q(muq) => [
- q(4571),
+ q(4601),
q(0),
],
q(mur) => [
- q(4572),
+ q(4602),
q(0),
],
q(mus) => [
@@ -74876,167 +75750,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mut) => [
- q(4573),
+ q(4603),
q(0),
],
q(muu) => [
- q(4574),
+ q(4604),
q(0),
],
q(muv) => [
- q(4575),
+ q(4605),
q(0),
],
q(mux) => [
- q(4576),
+ q(4606),
q(0),
],
q(muy) => [
- q(4577),
+ q(4607),
q(0),
],
q(muz) => [
- q(4578),
+ q(4608),
q(0),
],
q(mva) => [
- q(4579),
+ q(4609),
q(0),
],
q(mvb) => [
- q(4580),
+ q(4610),
q(0),
],
q(mvd) => [
- q(4581),
+ q(4611),
q(0),
],
q(mve) => [
- q(4582),
+ q(4612),
q(0),
],
q(mvf) => [
- q(4583),
+ q(4613),
q(0),
],
q(mvg) => [
- q(4584),
+ q(4614),
q(0),
],
q(mvh) => [
- q(4585),
+ q(4615),
q(0),
],
q(mvi) => [
- q(4586),
+ q(4616),
q(0),
],
q(mvk) => [
- q(4587),
+ q(4617),
q(0),
],
q(mvl) => [
- q(4588),
+ q(4618),
q(0),
],
q(mvm) => [
- q(4589),
+ q(4619),
q(0),
],
q(mvn) => [
- q(4590),
+ q(4620),
q(0),
],
q(mvo) => [
- q(4591),
+ q(4621),
q(0),
],
q(mvp) => [
- q(4592),
+ q(4622),
q(0),
],
q(mvq) => [
- q(4593),
+ q(4623),
q(0),
],
q(mvr) => [
- q(4594),
+ q(4624),
q(0),
],
q(mvs) => [
- q(4595),
+ q(4625),
q(0),
],
q(mvt) => [
- q(4596),
+ q(4626),
q(0),
],
q(mvu) => [
- q(4597),
+ q(4627),
q(0),
],
q(mvv) => [
- q(4598),
+ q(4628),
q(0),
],
q(mvw) => [
- q(4599),
+ q(4629),
q(0),
],
q(mvx) => [
- q(4600),
+ q(4630),
q(0),
],
q(mvy) => [
- q(4601),
+ q(4631),
q(0),
],
q(mvz) => [
- q(4602),
+ q(4632),
q(0),
],
q(mwa) => [
- q(4603),
+ q(4633),
q(0),
],
q(mwb) => [
- q(4604),
+ q(4634),
q(0),
],
q(mwc) => [
- q(4605),
- q(0),
- ],
- q(mwd) => [
- q(4606),
+ q(4635),
q(0),
],
q(mwe) => [
- q(4607),
+ q(4636),
q(0),
],
q(mwf) => [
- q(4608),
+ q(4637),
q(0),
],
q(mwg) => [
- q(4609),
+ q(4638),
q(0),
],
q(mwh) => [
- q(4610),
+ q(4639),
q(0),
],
q(mwi) => [
- q(4611),
+ q(4640),
q(0),
],
q(mwj) => [
- q(4612),
+ q(4641),
q(0),
],
q(mwk) => [
- q(4613),
+ q(4642),
q(0),
],
q(mwl) => [
@@ -75044,23 +75914,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mwm) => [
- q(4614),
+ q(4643),
q(0),
],
q(mwn) => [
- q(4615),
+ q(4644),
q(0),
],
q(mwo) => [
- q(4616),
+ q(4645),
q(0),
],
q(mwp) => [
- q(4617),
+ q(4646),
q(0),
],
q(mwq) => [
- q(4618),
+ q(4647),
q(0),
],
q(mwr) => [
@@ -75068,187 +75938,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(mws) => [
- q(4619),
+ q(4648),
q(0),
],
q(mwt) => [
- q(4620),
+ q(4649),
q(0),
],
q(mwu) => [
- q(4621),
+ q(4650),
q(0),
],
q(mwv) => [
- q(4622),
+ q(4651),
q(0),
],
q(mww) => [
- q(4623),
+ q(4652),
q(0),
],
q(mwx) => [
- q(4624),
+ q(4653),
q(0),
],
q(mwy) => [
- q(4625),
+ q(4654),
q(0),
],
q(mwz) => [
- q(4626),
+ q(4655),
q(0),
],
q(mxa) => [
- q(4627),
+ q(4656),
q(0),
],
q(mxb) => [
- q(4628),
+ q(4657),
q(0),
],
q(mxc) => [
- q(4629),
+ q(4658),
q(0),
],
q(mxd) => [
- q(4630),
+ q(4659),
q(0),
],
q(mxe) => [
- q(4631),
+ q(4660),
q(0),
],
q(mxf) => [
- q(4632),
+ q(4661),
q(0),
],
q(mxg) => [
- q(4633),
+ q(4662),
q(0),
],
q(mxh) => [
- q(4634),
+ q(4663),
q(0),
],
q(mxi) => [
- q(4635),
+ q(4664),
q(0),
],
q(mxj) => [
- q(4636),
+ q(4665),
q(0),
],
q(mxk) => [
- q(4637),
+ q(4666),
q(0),
],
q(mxl) => [
- q(4638),
+ q(4667),
q(0),
],
q(mxm) => [
- q(4639),
+ q(4668),
q(0),
],
q(mxn) => [
- q(4640),
+ q(4669),
q(0),
],
q(mxo) => [
- q(4641),
+ q(4670),
q(0),
],
q(mxp) => [
- q(4642),
+ q(4671),
q(0),
],
q(mxq) => [
- q(4643),
+ q(4672),
q(0),
],
q(mxr) => [
- q(4644),
+ q(4673),
q(0),
],
q(mxs) => [
- q(4645),
+ q(4674),
q(0),
],
q(mxt) => [
- q(4646),
+ q(4675),
q(0),
],
q(mxu) => [
- q(4647),
+ q(4676),
q(0),
],
q(mxv) => [
- q(4648),
+ q(4677),
q(0),
],
q(mxw) => [
- q(4649),
+ q(4678),
q(0),
],
q(mxx) => [
- q(4650),
+ q(4679),
q(0),
],
q(mxy) => [
- q(4651),
+ q(4680),
q(0),
],
q(mxz) => [
- q(4652),
+ q(4681),
q(0),
],
q(myb) => [
- q(4653),
+ q(4682),
q(0),
],
q(myc) => [
- q(4654),
+ q(4683),
q(0),
],
q(myd) => [
- q(4655),
+ q(4684),
q(0),
],
q(mye) => [
- q(4656),
+ q(4685),
q(0),
],
q(myf) => [
- q(4657),
+ q(4686),
q(0),
],
q(myg) => [
- q(4658),
+ q(4687),
q(0),
],
q(myh) => [
- q(4659),
+ q(4688),
q(0),
],
q(myi) => [
- q(4660),
+ q(4689),
q(0),
],
q(myj) => [
- q(4661),
+ q(4690),
q(0),
],
q(myk) => [
- q(4662),
+ q(4691),
q(0),
],
q(myl) => [
- q(4663),
+ q(4692),
q(0),
],
q(mym) => [
- q(4664),
+ q(4693),
q(0),
],
q(myn) => [
@@ -75256,27 +76126,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(myo) => [
- q(4665),
+ q(4694),
q(0),
],
q(myp) => [
- q(4666),
- q(0),
- ],
- q(myq) => [
- q(4667),
+ q(4695),
q(0),
],
q(myr) => [
- q(4668),
+ q(4696),
q(0),
],
q(mys) => [
- q(4669),
+ q(4697),
q(0),
],
q(myu) => [
- q(4670),
+ q(4698),
q(0),
],
q(myv) => [
@@ -75284,147 +76150,147 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(myw) => [
- q(4671),
+ q(4699),
q(0),
],
q(myx) => [
- q(4672),
+ q(4700),
q(0),
],
q(myy) => [
- q(4673),
+ q(4701),
q(0),
],
q(myz) => [
- q(4674),
+ q(4702),
q(0),
],
q(mza) => [
- q(4675),
+ q(4703),
q(0),
],
q(mzb) => [
- q(4676),
+ q(4704),
q(0),
],
q(mzc) => [
- q(4677),
+ q(4705),
q(0),
],
q(mzd) => [
- q(4678),
+ q(4706),
q(0),
],
q(mze) => [
- q(4679),
+ q(4707),
q(0),
],
q(mzg) => [
- q(4680),
+ q(4708),
q(0),
],
q(mzh) => [
- q(4681),
+ q(4709),
q(0),
],
q(mzi) => [
- q(4682),
+ q(4710),
q(0),
],
q(mzj) => [
- q(4683),
+ q(4711),
q(0),
],
q(mzk) => [
- q(4684),
+ q(4712),
q(0),
],
q(mzl) => [
- q(4685),
+ q(4713),
q(0),
],
q(mzm) => [
- q(4686),
+ q(4714),
q(0),
],
q(mzn) => [
- q(4687),
+ q(4715),
q(0),
],
q(mzo) => [
- q(4688),
+ q(4716),
q(0),
],
q(mzp) => [
- q(4689),
+ q(4717),
q(0),
],
q(mzq) => [
- q(4690),
+ q(4718),
q(0),
],
q(mzr) => [
- q(4691),
+ q(4719),
q(0),
],
q(mzs) => [
- q(4692),
+ q(4720),
q(0),
],
q(mzt) => [
- q(4693),
+ q(4721),
q(0),
],
q(mzu) => [
- q(4694),
+ q(4722),
q(0),
],
q(mzv) => [
- q(4695),
+ q(4723),
q(0),
],
q(mzw) => [
- q(4696),
+ q(4724),
q(0),
],
q(mzx) => [
- q(4697),
+ q(4725),
q(0),
],
q(mzy) => [
- q(4698),
+ q(4726),
q(0),
],
q(mzz) => [
- q(4699),
+ q(4727),
q(0),
],
q(naa) => [
- q(4700),
+ q(4728),
q(0),
],
q(nab) => [
- q(4701),
+ q(4729),
q(0),
],
q(nac) => [
- q(4702),
+ q(4730),
q(0),
],
q(nad) => [
- q(4703),
+ q(4731),
q(0),
],
q(nae) => [
- q(4704),
+ q(4732),
q(0),
],
q(naf) => [
- q(4705),
+ q(4733),
q(0),
],
q(nag) => [
- q(4706),
+ q(4734),
q(0),
],
q(nah) => [
@@ -75436,27 +76302,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(naj) => [
- q(4707),
+ q(4735),
q(0),
],
q(nak) => [
- q(4708),
+ q(4736),
q(0),
],
q(nal) => [
- q(4709),
+ q(4737),
q(0),
],
q(nam) => [
- q(4710),
+ q(4738),
q(0),
],
q(nan) => [
- q(4711),
+ q(4739),
q(0),
],
q(nao) => [
- q(4712),
+ q(4740),
q(0),
],
q(nap) => [
@@ -75464,19 +76330,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(naq) => [
- q(4713),
+ q(4741),
q(0),
],
q(nar) => [
- q(4714),
+ q(4742),
q(0),
],
q(nas) => [
- q(4715),
+ q(4743),
q(0),
],
q(nat) => [
- q(4716),
+ q(4744),
q(0),
],
q(nau) => [
@@ -75488,59 +76354,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(naw) => [
- q(4717),
+ q(4745),
q(0),
],
q(nax) => [
- q(4718),
+ q(4746),
q(0),
],
q(nay) => [
- q(4719),
+ q(4747),
q(0),
],
q(naz) => [
- q(4720),
+ q(4748),
q(0),
],
q(nba) => [
- q(4721),
+ q(4749),
q(0),
],
q(nbb) => [
- q(4722),
+ q(4750),
q(0),
],
q(nbc) => [
- q(4723),
+ q(4751),
q(0),
],
q(nbd) => [
- q(4724),
+ q(4752),
q(0),
],
q(nbe) => [
- q(4725),
+ q(4753),
q(0),
],
q(nbg) => [
- q(4726),
+ q(4754),
q(0),
],
q(nbh) => [
- q(4727),
+ q(4755),
q(0),
],
q(nbi) => [
- q(4728),
+ q(4756),
q(0),
],
q(nbj) => [
- q(4729),
+ q(4757),
q(0),
],
q(nbk) => [
- q(4730),
+ q(4758),
q(0),
],
q(nbl) => [
@@ -75548,159 +76414,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nbm) => [
- q(4731),
+ q(4759),
q(0),
],
q(nbn) => [
- q(4732),
+ q(4760),
q(0),
],
q(nbo) => [
- q(4733),
+ q(4761),
q(0),
],
q(nbp) => [
- q(4734),
+ q(4762),
q(0),
],
q(nbq) => [
- q(4735),
+ q(4763),
q(0),
],
q(nbr) => [
- q(4736),
+ q(4764),
q(0),
],
q(nbs) => [
- q(4737),
+ q(4765),
q(0),
],
q(nbt) => [
- q(4738),
+ q(4766),
q(0),
],
q(nbu) => [
- q(4739),
+ q(4767),
q(0),
],
q(nbv) => [
- q(4740),
+ q(4768),
q(0),
],
q(nbw) => [
- q(4741),
- q(0),
- ],
- q(nbx) => [
- q(4742),
+ q(4769),
q(0),
],
q(nby) => [
- q(4743),
+ q(4770),
q(0),
],
q(nca) => [
- q(4744),
+ q(4771),
q(0),
],
q(ncb) => [
- q(4745),
+ q(4772),
q(0),
],
q(ncc) => [
- q(4746),
+ q(4773),
q(0),
],
q(ncd) => [
- q(4747),
+ q(4774),
q(0),
],
q(nce) => [
- q(4748),
+ q(4775),
q(0),
],
q(ncf) => [
- q(4749),
+ q(4776),
q(0),
],
q(ncg) => [
- q(4750),
+ q(4777),
q(0),
],
q(nch) => [
- q(4751),
+ q(4778),
q(0),
],
q(nci) => [
- q(4752),
+ q(4779),
q(0),
],
q(ncj) => [
- q(4753),
+ q(4780),
q(0),
],
q(nck) => [
- q(4754),
+ q(4781),
q(0),
],
q(ncl) => [
- q(4755),
+ q(4782),
q(0),
],
q(ncm) => [
- q(4756),
+ q(4783),
q(0),
],
q(ncn) => [
- q(4757),
+ q(4784),
q(0),
],
q(nco) => [
- q(4758),
+ q(4785),
q(0),
],
q(ncp) => [
- q(4759),
+ q(4786),
q(0),
],
q(ncr) => [
- q(4760),
+ q(4787),
q(0),
],
q(ncs) => [
- q(4761),
+ q(4788),
q(0),
],
q(nct) => [
- q(4762),
+ q(4789),
q(0),
],
q(ncu) => [
- q(4763),
+ q(4790),
q(0),
],
q(ncx) => [
- q(4764),
+ q(4791),
q(0),
],
q(ncz) => [
- q(4765),
+ q(4792),
q(0),
],
q(nda) => [
- q(4766),
+ q(4793),
q(0),
],
q(ndb) => [
- q(4767),
+ q(4794),
q(0),
],
q(ndc) => [
- q(4768),
+ q(4795),
q(0),
],
q(ndd) => [
- q(4769),
+ q(4796),
q(0),
],
q(nde) => [
@@ -75708,39 +76570,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ndf) => [
- q(4770),
+ q(4797),
q(0),
],
q(ndg) => [
- q(4771),
+ q(4798),
q(0),
],
q(ndh) => [
- q(4772),
+ q(4799),
q(0),
],
q(ndi) => [
- q(4773),
+ q(4800),
q(0),
],
q(ndj) => [
- q(4774),
+ q(4801),
q(0),
],
q(ndk) => [
- q(4775),
+ q(4802),
q(0),
],
q(ndl) => [
- q(4776),
+ q(4803),
q(0),
],
q(ndm) => [
- q(4777),
+ q(4804),
q(0),
],
q(ndn) => [
- q(4778),
+ q(4805),
q(0),
],
q(ndo) => [
@@ -75748,15 +76610,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ndp) => [
- q(4779),
+ q(4806),
q(0),
],
q(ndq) => [
- q(4780),
+ q(4807),
q(0),
],
q(ndr) => [
- q(4781),
+ q(4808),
q(0),
],
q(nds) => [
@@ -75764,87 +76626,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ndt) => [
- q(4782),
+ q(4809),
q(0),
],
q(ndu) => [
- q(4783),
+ q(4810),
q(0),
],
q(ndv) => [
- q(4784),
+ q(4811),
q(0),
],
q(ndw) => [
- q(4785),
+ q(4812),
q(0),
],
q(ndx) => [
- q(4786),
+ q(4813),
q(0),
],
q(ndy) => [
- q(4787),
+ q(4814),
q(0),
],
q(ndz) => [
- q(4788),
+ q(4815),
q(0),
],
q(nea) => [
- q(4789),
+ q(4816),
q(0),
],
q(neb) => [
- q(4790),
+ q(4817),
q(0),
],
q(nec) => [
- q(4791),
+ q(4818),
q(0),
],
q(ned) => [
- q(4792),
+ q(4819),
q(0),
],
q(nee) => [
- q(4793),
+ q(4820),
q(0),
],
q(nef) => [
- q(4794),
+ q(4821),
q(0),
],
q(neg) => [
- q(4795),
+ q(4822),
q(0),
],
q(neh) => [
- q(4796),
+ q(4823),
q(0),
],
q(nei) => [
- q(4797),
+ q(4824),
q(0),
],
q(nej) => [
- q(4798),
+ q(4825),
q(0),
],
q(nek) => [
- q(4799),
+ q(4826),
q(0),
],
q(nem) => [
- q(4800),
+ q(4827),
q(0),
],
q(nen) => [
- q(4801),
+ q(4828),
q(0),
],
q(neo) => [
- q(4802),
+ q(4829),
q(0),
],
q(nep) => [
@@ -75852,83 +76714,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(neq) => [
- q(4803),
+ q(4830),
q(0),
],
q(ner) => [
- q(4804),
+ q(4831),
q(0),
],
q(nes) => [
- q(4805),
+ q(4832),
q(0),
],
q(net) => [
- q(4806),
+ q(4833),
q(0),
],
q(neu) => [
- q(4807),
+ q(4834),
q(0),
],
q(nev) => [
- q(4808),
+ q(4835),
q(0),
],
q(new) => [
q(0308),
- q(0),
+ q(1),
],
q(nex) => [
- q(4809),
+ q(4836),
q(0),
],
q(ney) => [
- q(4810),
+ q(4837),
q(0),
],
q(nez) => [
- q(4811),
+ q(4838),
q(0),
],
q(nfa) => [
- q(4812),
+ q(4839),
q(0),
],
q(nfd) => [
- q(4813),
+ q(4840),
q(0),
],
q(nfl) => [
- q(4814),
+ q(4841),
q(0),
],
q(nfr) => [
- q(4815),
+ q(4842),
q(0),
],
q(nfu) => [
- q(4816),
+ q(4843),
q(0),
],
q(nga) => [
- q(4817),
+ q(4844),
q(0),
],
q(ngb) => [
- q(4818),
+ q(4845),
q(0),
],
q(ngc) => [
- q(4819),
+ q(4846),
q(0),
],
q(ngd) => [
- q(4820),
+ q(4847),
q(0),
],
q(nge) => [
- q(4821),
+ q(4848),
q(0),
],
q(ngf) => [
@@ -75936,175 +76798,175 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ngg) => [
- q(4822),
+ q(4849),
q(0),
],
q(ngh) => [
- q(4823),
+ q(4850),
q(0),
],
q(ngi) => [
- q(4824),
+ q(4851),
q(0),
],
q(ngj) => [
- q(4825),
+ q(4852),
q(0),
],
q(ngk) => [
- q(4826),
+ q(4853),
q(0),
],
q(ngl) => [
- q(4827),
+ q(4854),
q(0),
],
q(ngm) => [
- q(4828),
+ q(4855),
q(0),
],
q(ngn) => [
- q(4829),
+ q(4856),
q(0),
],
q(ngo) => [
- q(4830),
+ q(4857),
q(0),
],
q(ngp) => [
- q(4831),
+ q(4858),
q(0),
],
q(ngq) => [
- q(4832),
+ q(4859),
q(0),
],
q(ngr) => [
- q(4833),
+ q(4860),
q(0),
],
q(ngs) => [
- q(4834),
+ q(4861),
q(0),
],
q(ngt) => [
- q(4835),
+ q(4862),
q(0),
],
q(ngu) => [
- q(4836),
+ q(4863),
q(0),
],
q(ngv) => [
- q(4837),
+ q(4864),
q(0),
],
q(ngw) => [
- q(4838),
+ q(4865),
q(0),
],
q(ngx) => [
- q(4839),
+ q(4866),
q(0),
],
q(ngy) => [
- q(4840),
+ q(4867),
q(0),
],
q(ngz) => [
- q(4841),
+ q(4868),
q(0),
],
q(nha) => [
- q(4842),
+ q(4869),
q(0),
],
q(nhb) => [
- q(4843),
+ q(4870),
q(0),
],
q(nhc) => [
- q(4844),
+ q(4871),
q(0),
],
q(nhd) => [
- q(4845),
+ q(4872),
q(0),
],
q(nhe) => [
- q(4846),
+ q(4873),
q(0),
],
q(nhf) => [
- q(4847),
+ q(4874),
q(0),
],
q(nhg) => [
- q(4848),
+ q(4875),
q(0),
],
q(nhh) => [
- q(4849),
+ q(4876),
q(0),
],
q(nhi) => [
- q(4850),
+ q(4877),
q(0),
],
q(nhk) => [
- q(4851),
+ q(4878),
q(0),
],
q(nhm) => [
- q(4852),
+ q(4879),
q(0),
],
q(nhn) => [
- q(4853),
+ q(4880),
q(0),
],
q(nho) => [
- q(4854),
+ q(4881),
q(0),
],
q(nhp) => [
- q(4855),
+ q(4882),
q(0),
],
q(nhq) => [
- q(4856),
+ q(4883),
q(0),
],
q(nhr) => [
- q(4857),
+ q(4884),
q(0),
],
q(nht) => [
- q(4858),
+ q(4885),
q(0),
],
q(nhu) => [
- q(4859),
+ q(4886),
q(0),
],
q(nhv) => [
- q(4860),
+ q(4887),
q(0),
],
q(nhw) => [
- q(4861),
+ q(4888),
q(0),
],
q(nhx) => [
- q(4862),
+ q(4889),
q(0),
],
q(nhy) => [
- q(4863),
+ q(4890),
q(0),
],
q(nhz) => [
- q(4864),
+ q(4891),
q(0),
],
q(nia) => [
@@ -76112,7 +76974,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nib) => [
- q(4865),
+ q(4892),
q(0),
],
q(nic) => [
@@ -76120,67 +76982,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nid) => [
- q(4866),
+ q(4893),
q(0),
],
q(nie) => [
- q(4867),
+ q(4894),
q(0),
],
q(nif) => [
- q(4868),
+ q(4895),
q(0),
],
q(nig) => [
- q(4869),
+ q(4896),
q(0),
],
q(nih) => [
- q(4870),
+ q(4897),
q(0),
],
q(nii) => [
- q(4871),
+ q(4898),
q(0),
],
q(nij) => [
- q(4872),
+ q(4899),
q(0),
],
q(nik) => [
- q(4873),
+ q(4900),
q(0),
],
q(nil) => [
- q(4874),
+ q(4901),
q(0),
],
q(nim) => [
- q(4875),
+ q(4902),
q(0),
],
q(nin) => [
- q(4876),
+ q(4903),
q(0),
],
q(nio) => [
- q(4877),
+ q(4904),
q(0),
],
q(niq) => [
- q(4878),
+ q(4905),
q(0),
],
q(nir) => [
- q(4879),
+ q(4906),
q(0),
],
q(nis) => [
- q(4880),
+ q(4907),
q(0),
],
q(nit) => [
- q(4881),
+ q(4908),
q(0),
],
q(niu) => [
@@ -76188,407 +77050,411 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(niv) => [
- q(4882),
+ q(4909),
q(0),
],
q(niw) => [
- q(4883),
+ q(4910),
q(0),
],
q(nix) => [
- q(4884),
+ q(4911),
q(0),
],
q(niy) => [
- q(4885),
+ q(4912),
q(0),
],
q(niz) => [
- q(4886),
+ q(4913),
q(0),
],
q(nja) => [
- q(4887),
+ q(4914),
q(0),
],
q(njb) => [
- q(4888),
+ q(4915),
q(0),
],
q(njd) => [
- q(4889),
+ q(4916),
q(0),
],
q(njh) => [
- q(4890),
+ q(4917),
q(0),
],
q(nji) => [
- q(4891),
+ q(4918),
q(0),
],
q(njj) => [
- q(4892),
+ q(4919),
q(0),
],
q(njl) => [
- q(4893),
+ q(4920),
q(0),
],
q(njm) => [
- q(4894),
+ q(4921),
q(0),
],
q(njn) => [
- q(4895),
+ q(4922),
q(0),
],
q(njo) => [
- q(4896),
+ q(4923),
q(0),
],
q(njr) => [
- q(4897),
+ q(4924),
q(0),
],
q(njs) => [
- q(4898),
+ q(4925),
q(0),
],
q(njt) => [
- q(4899),
+ q(4926),
q(0),
],
q(nju) => [
- q(4900),
+ q(4927),
q(0),
],
q(njx) => [
- q(4901),
+ q(4928),
q(0),
],
q(njy) => [
- q(4902),
+ q(4929),
q(0),
],
q(njz) => [
- q(4903),
+ q(4930),
q(0),
],
q(nka) => [
- q(4904),
+ q(4931),
q(0),
],
q(nkb) => [
- q(4905),
+ q(4932),
q(0),
],
q(nkc) => [
- q(4906),
+ q(4933),
q(0),
],
q(nkd) => [
- q(4907),
+ q(4934),
q(0),
],
q(nke) => [
- q(4908),
+ q(4935),
q(0),
],
q(nkf) => [
- q(4909),
+ q(4936),
q(0),
],
q(nkg) => [
- q(4910),
+ q(4937),
q(0),
],
q(nkh) => [
- q(4911),
+ q(4938),
q(0),
],
q(nki) => [
- q(4912),
+ q(4939),
q(0),
],
q(nkj) => [
- q(4913),
+ q(4940),
q(0),
],
q(nkk) => [
- q(4914),
+ q(4941),
q(0),
],
q(nkm) => [
- q(4915),
+ q(4942),
q(0),
],
q(nkn) => [
- q(4916),
+ q(4943),
q(0),
],
q(nko) => [
- q(4917),
+ q(4944),
q(0),
],
q(nkp) => [
- q(4918),
+ q(4945),
q(0),
],
q(nkq) => [
- q(4919),
+ q(4946),
q(0),
],
q(nkr) => [
- q(4920),
+ q(4947),
q(0),
],
q(nks) => [
- q(4921),
+ q(4948),
q(0),
],
q(nkt) => [
- q(4922),
+ q(4949),
q(0),
],
q(nku) => [
- q(4923),
+ q(4950),
q(0),
],
q(nkv) => [
- q(4924),
+ q(4951),
q(0),
],
q(nkw) => [
- q(4925),
+ q(4952),
q(0),
],
q(nkx) => [
- q(4926),
+ q(4953),
q(0),
],
q(nkz) => [
- q(4927),
+ q(4954),
q(0),
],
q(nla) => [
- q(4928),
+ q(4955),
q(0),
],
q(nlc) => [
- q(4929),
+ q(4956),
q(0),
],
q(nle) => [
- q(4930),
+ q(4957),
q(0),
],
q(nlg) => [
- q(4931),
+ q(4958),
q(0),
],
q(nli) => [
- q(4932),
+ q(4959),
q(0),
],
q(nlj) => [
- q(4933),
+ q(4960),
q(0),
],
q(nlk) => [
- q(4934),
+ q(4961),
q(0),
],
q(nll) => [
- q(4935),
+ q(4962),
q(0),
],
q(nlo) => [
- q(4936),
+ q(4963),
q(0),
],
- q(nlr) => [
- q(4937),
+ q(nlq) => [
+ q(4964),
q(0),
],
q(nlu) => [
- q(4938),
+ q(4965),
q(0),
],
q(nlv) => [
- q(4939),
+ q(4966),
+ q(0),
+ ],
+ q(nlw) => [
+ q(4967),
q(0),
],
q(nlx) => [
- q(4940),
+ q(4968),
q(0),
],
q(nly) => [
- q(4941),
+ q(4969),
q(0),
],
q(nlz) => [
- q(4942),
+ q(4970),
q(0),
],
q(nma) => [
- q(4943),
+ q(4971),
q(0),
],
q(nmb) => [
- q(4944),
+ q(4972),
q(0),
],
q(nmc) => [
- q(4945),
+ q(4973),
q(0),
],
q(nmd) => [
- q(4946),
+ q(4974),
q(0),
],
q(nme) => [
- q(4947),
+ q(4975),
q(0),
],
q(nmf) => [
- q(4948),
+ q(4976),
q(0),
],
q(nmg) => [
- q(4949),
+ q(4977),
q(0),
],
q(nmh) => [
- q(4950),
+ q(4978),
q(0),
],
q(nmi) => [
- q(4951),
+ q(4979),
q(0),
],
q(nmj) => [
- q(4952),
+ q(4980),
q(0),
],
q(nmk) => [
- q(4953),
+ q(4981),
q(0),
],
q(nml) => [
- q(4954),
+ q(4982),
q(0),
],
q(nmm) => [
- q(4955),
+ q(4983),
q(0),
],
q(nmn) => [
- q(4956),
+ q(4984),
q(0),
],
q(nmo) => [
- q(4957),
+ q(4985),
q(0),
],
q(nmp) => [
- q(4958),
+ q(4986),
q(0),
],
q(nmq) => [
- q(4959),
+ q(4987),
q(0),
],
q(nmr) => [
- q(4960),
+ q(4988),
q(0),
],
q(nms) => [
- q(4961),
+ q(4989),
q(0),
],
q(nmt) => [
- q(4962),
+ q(4990),
q(0),
],
q(nmu) => [
- q(4963),
+ q(4991),
q(0),
],
q(nmv) => [
- q(4964),
+ q(4992),
q(0),
],
q(nmw) => [
- q(4965),
+ q(4993),
q(0),
],
q(nmx) => [
- q(4966),
+ q(4994),
q(0),
],
q(nmy) => [
- q(4967),
+ q(4995),
q(0),
],
q(nmz) => [
- q(4968),
+ q(4996),
q(0),
],
q(nna) => [
- q(4969),
+ q(4997),
q(0),
],
q(nnb) => [
- q(4970),
+ q(4998),
q(0),
],
q(nnc) => [
- q(4971),
+ q(4999),
q(0),
],
q(nnd) => [
- q(4972),
+ q(5000),
q(0),
],
q(nne) => [
- q(4973),
+ q(5001),
q(0),
],
q(nnf) => [
- q(4974),
+ q(5002),
q(0),
],
q(nng) => [
- q(4975),
+ q(5003),
q(0),
],
q(nnh) => [
- q(4976),
+ q(5004),
q(0),
],
q(nni) => [
- q(4977),
+ q(5005),
q(0),
],
q(nnj) => [
- q(4978),
+ q(5006),
q(0),
],
q(nnk) => [
- q(4979),
+ q(5007),
q(0),
],
q(nnl) => [
- q(4980),
+ q(5008),
q(0),
],
q(nnm) => [
- q(4981),
+ q(5009),
q(0),
],
q(nnn) => [
- q(4982),
+ q(5010),
q(0),
],
q(nno) => [
@@ -76596,51 +77462,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nnp) => [
- q(4983),
+ q(5011),
q(0),
],
q(nnq) => [
- q(4984),
+ q(5012),
q(0),
],
q(nnr) => [
- q(4985),
+ q(5013),
q(0),
],
q(nns) => [
- q(4986),
+ q(5014),
q(0),
],
q(nnt) => [
- q(4987),
+ q(5015),
q(0),
],
q(nnu) => [
- q(4988),
+ q(5016),
q(0),
],
q(nnv) => [
- q(4989),
+ q(5017),
q(0),
],
q(nnw) => [
- q(4990),
+ q(5018),
q(0),
],
q(nnx) => [
- q(4991),
+ q(5019),
q(0),
],
q(nny) => [
- q(4992),
+ q(5020),
q(0),
],
q(nnz) => [
- q(4993),
+ q(5021),
q(0),
],
q(noa) => [
- q(4994),
+ q(5022),
q(0),
],
q(nob) => [
@@ -76648,19 +77514,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(noc) => [
- q(4995),
+ q(5023),
q(0),
],
q(nod) => [
- q(4996),
+ q(5024),
q(0),
],
q(noe) => [
- q(4997),
+ q(5025),
q(0),
],
q(nof) => [
- q(4998),
+ q(5026),
q(0),
],
q(nog) => [
@@ -76668,23 +77534,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(noh) => [
- q(4999),
+ q(5027),
q(0),
],
q(noi) => [
- q(5000),
+ q(5028),
q(0),
],
q(noj) => [
- q(5001),
+ q(5029),
q(0),
],
q(nok) => [
- q(5002),
+ q(5030),
+ q(0),
+ ],
+ q(nol) => [
+ q(5031),
q(0),
],
q(nom) => [
- q(5003),
+ q(5032),
q(0),
],
q(non) => [
@@ -76692,11 +77562,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(nop) => [
- q(5004),
+ q(5033),
q(0),
],
q(noq) => [
- q(5005),
+ q(5034),
q(0),
],
q(nor) => [
@@ -76704,207 +77574,215 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nos) => [
- q(5006),
+ q(5035),
q(0),
],
q(not) => [
- q(5007),
+ q(5036),
q(0),
],
q(nou) => [
- q(5008),
+ q(5037),
q(0),
],
q(nov) => [
- q(5009),
+ q(5038),
q(0),
],
q(now) => [
- q(5010),
+ q(5039),
q(0),
],
q(noy) => [
- q(5011),
+ q(5040),
q(0),
],
q(noz) => [
- q(5012),
+ q(5041),
q(0),
],
q(npa) => [
- q(5013),
+ q(5042),
q(0),
],
q(npb) => [
- q(5014),
+ q(5043),
q(0),
],
q(npg) => [
- q(5015),
+ q(5044),
q(0),
],
q(nph) => [
- q(5016),
+ q(5045),
q(0),
],
q(npi) => [
- q(5017),
+ q(5046),
q(0),
],
q(npl) => [
- q(5018),
+ q(5047),
q(0),
],
q(npn) => [
- q(5019),
+ q(5048),
q(0),
],
q(npo) => [
- q(5020),
+ q(5049),
q(0),
],
q(nps) => [
- q(5021),
+ q(5050),
q(0),
],
q(npu) => [
- q(5022),
+ q(5051),
q(0),
],
q(npy) => [
- q(5023),
+ q(5052),
q(0),
],
q(nqg) => [
- q(5024),
+ q(5053),
q(0),
],
q(nqk) => [
- q(5025),
+ q(5054),
q(0),
],
q(nqm) => [
- q(5026),
+ q(5055),
q(0),
],
q(nqn) => [
- q(5027),
+ q(5056),
q(0),
],
q(nqo) => [
q(0317),
q(0),
],
+ q(nqq) => [
+ q(5057),
+ q(0),
+ ],
q(nqy) => [
- q(5028),
+ q(5058),
q(0),
],
q(nra) => [
- q(5029),
+ q(5059),
q(0),
],
q(nrb) => [
- q(5030),
+ q(5060),
q(0),
],
q(nrc) => [
- q(5031),
+ q(5061),
q(0),
],
q(nre) => [
- q(5032),
+ q(5062),
q(0),
],
q(nrg) => [
- q(5033),
+ q(5063),
q(0),
],
q(nri) => [
- q(5034),
+ q(5064),
+ q(0),
+ ],
+ q(nrk) => [
+ q(5065),
q(0),
],
q(nrl) => [
- q(5035),
+ q(5066),
q(0),
],
q(nrm) => [
- q(5036),
+ q(5067),
q(0),
],
q(nrn) => [
- q(5037),
+ q(5068),
q(0),
],
q(nrp) => [
- q(5038),
+ q(5069),
q(0),
],
q(nrr) => [
- q(5039),
+ q(5070),
q(0),
],
q(nrt) => [
- q(5040),
+ q(5071),
q(0),
],
q(nru) => [
- q(5041),
+ q(5072),
q(0),
],
q(nrx) => [
- q(5042),
+ q(5073),
q(0),
],
q(nrz) => [
- q(5043),
+ q(5074),
q(0),
],
q(nsa) => [
- q(5044),
+ q(5075),
q(0),
],
q(nsc) => [
- q(5045),
+ q(5076),
q(0),
],
q(nsd) => [
- q(5046),
+ q(5077),
q(0),
],
q(nse) => [
- q(5047),
+ q(5078),
q(0),
],
q(nsf) => [
- q(5048),
+ q(5079),
q(0),
],
q(nsg) => [
- q(5049),
+ q(5080),
q(0),
],
q(nsh) => [
- q(5050),
+ q(5081),
q(0),
],
q(nsi) => [
- q(5051),
+ q(5082),
q(0),
],
q(nsk) => [
- q(5052),
+ q(5083),
q(0),
],
q(nsl) => [
- q(5053),
+ q(5084),
q(0),
],
q(nsm) => [
- q(5054),
+ q(5085),
q(0),
],
q(nsn) => [
- q(5055),
+ q(5086),
q(0),
],
q(nso) => [
@@ -76912,107 +77790,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nsp) => [
- q(5056),
+ q(5087),
q(0),
],
q(nsq) => [
- q(5057),
+ q(5088),
q(0),
],
q(nsr) => [
- q(5058),
+ q(5089),
q(0),
],
q(nss) => [
- q(5059),
+ q(5090),
q(0),
],
q(nst) => [
- q(5060),
+ q(5091),
q(0),
],
q(nsu) => [
- q(5061),
+ q(5092),
q(0),
],
q(nsv) => [
- q(5062),
+ q(5093),
q(0),
],
q(nsw) => [
- q(5063),
+ q(5094),
q(0),
],
q(nsx) => [
- q(5064),
+ q(5095),
q(0),
],
q(nsy) => [
- q(5065),
+ q(5096),
q(0),
],
q(nsz) => [
- q(5066),
+ q(5097),
q(0),
],
q(nte) => [
- q(5067),
+ q(5098),
+ q(0),
+ ],
+ q(ntg) => [
+ q(5099),
q(0),
],
q(nti) => [
- q(5068),
+ q(5100),
q(0),
],
q(ntj) => [
- q(5069),
+ q(5101),
q(0),
],
q(ntk) => [
- q(5070),
+ q(5102),
q(0),
],
q(ntm) => [
- q(5071),
+ q(5103),
q(0),
],
q(nto) => [
- q(5072),
+ q(5104),
q(0),
],
q(ntp) => [
- q(5073),
+ q(5105),
q(0),
],
q(ntr) => [
- q(5074),
+ q(5106),
q(0),
],
q(nts) => [
- q(5075),
+ q(5107),
q(0),
],
q(ntu) => [
- q(5076),
+ q(5108),
q(0),
],
q(ntw) => [
- q(5077),
+ q(5109),
q(0),
],
q(ntx) => [
- q(5078),
+ q(5110),
q(0),
],
q(nty) => [
- q(5079),
+ q(5111),
q(0),
],
q(ntz) => [
- q(5080),
+ q(5112),
q(0),
],
q(nua) => [
- q(5081),
+ q(5113),
q(0),
],
q(nub) => [
@@ -77020,119 +77902,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nuc) => [
- q(5082),
+ q(5114),
q(0),
],
q(nud) => [
- q(5083),
+ q(5115),
q(0),
],
q(nue) => [
- q(5084),
+ q(5116),
q(0),
],
q(nuf) => [
- q(5085),
+ q(5117),
q(0),
],
q(nug) => [
- q(5086),
+ q(5118),
q(0),
],
q(nuh) => [
- q(5087),
+ q(5119),
q(0),
],
q(nui) => [
- q(5088),
+ q(5120),
q(0),
],
q(nuj) => [
- q(5089),
+ q(5121),
q(0),
],
q(nuk) => [
- q(5090),
+ q(5122),
q(0),
],
q(nul) => [
- q(5091),
+ q(5123),
q(0),
],
q(num) => [
- q(5092),
+ q(5124),
q(0),
],
q(nun) => [
- q(5093),
+ q(5125),
q(0),
],
q(nuo) => [
- q(5094),
+ q(5126),
q(0),
],
q(nup) => [
- q(5095),
+ q(5127),
q(0),
],
q(nuq) => [
- q(5096),
+ q(5128),
q(0),
],
q(nur) => [
- q(5097),
+ q(5129),
q(0),
],
q(nus) => [
- q(5098),
+ q(5130),
q(0),
],
q(nut) => [
- q(5099),
+ q(5131),
q(0),
],
q(nuu) => [
- q(5100),
+ q(5132),
q(0),
],
q(nuv) => [
- q(5101),
+ q(5133),
q(0),
],
q(nuw) => [
- q(5102),
+ q(5134),
q(0),
],
q(nux) => [
- q(5103),
+ q(5135),
q(0),
],
q(nuy) => [
- q(5104),
+ q(5136),
q(0),
],
q(nuz) => [
- q(5105),
+ q(5137),
q(0),
],
q(nvh) => [
- q(5106),
+ q(5138),
q(0),
],
q(nvm) => [
- q(5107),
+ q(5139),
q(0),
],
q(nvo) => [
- q(5108),
+ q(5140),
q(0),
],
q(nwa) => [
- q(5109),
+ q(5141),
q(0),
],
q(nwb) => [
- q(5110),
+ q(5142),
q(0),
],
q(nwc) => [
@@ -77140,87 +78022,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nwe) => [
- q(5111),
+ q(5143),
q(0),
],
q(nwg) => [
- q(5112),
+ q(5144),
q(0),
],
q(nwi) => [
- q(5113),
+ q(5145),
q(0),
],
q(nwm) => [
- q(5114),
+ q(5146),
q(0),
],
q(nwo) => [
- q(5115),
+ q(5147),
q(0),
],
q(nwr) => [
- q(5116),
+ q(5148),
q(0),
],
q(nwx) => [
- q(5117),
+ q(5149),
q(0),
],
q(nwy) => [
- q(5118),
+ q(5150),
q(0),
],
q(nxa) => [
- q(5119),
+ q(5151),
q(0),
],
q(nxd) => [
- q(5120),
+ q(5152),
q(0),
],
q(nxe) => [
- q(5121),
+ q(5153),
q(0),
],
q(nxg) => [
- q(5122),
+ q(5154),
q(0),
],
q(nxi) => [
- q(5123),
+ q(5155),
q(0),
],
q(nxk) => [
- q(5124),
+ q(5156),
q(0),
],
q(nxl) => [
- q(5125),
+ q(5157),
q(0),
],
q(nxm) => [
- q(5126),
+ q(5158),
q(0),
],
q(nxn) => [
- q(5127),
+ q(5159),
q(0),
],
q(nxq) => [
- q(5128),
+ q(5160),
q(0),
],
q(nxr) => [
- q(5129),
+ q(5161),
q(0),
],
q(nxu) => [
- q(5130),
+ q(5162),
q(0),
],
q(nxx) => [
- q(5131),
+ q(5163),
q(0),
],
q(nya) => [
@@ -77228,47 +78110,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nyb) => [
- q(5132),
+ q(5164),
q(0),
],
q(nyc) => [
- q(5133),
+ q(5165),
q(0),
],
q(nyd) => [
- q(5134),
+ q(5166),
q(0),
],
q(nye) => [
- q(5135),
+ q(5167),
q(0),
],
q(nyf) => [
- q(5136),
+ q(5168),
q(0),
],
q(nyg) => [
- q(5137),
+ q(5169),
q(0),
],
q(nyh) => [
- q(5138),
+ q(5170),
q(0),
],
q(nyi) => [
- q(5139),
+ q(5171),
q(0),
],
q(nyj) => [
- q(5140),
+ q(5172),
q(0),
],
q(nyk) => [
- q(5141),
+ q(5173),
q(0),
],
q(nyl) => [
- q(5142),
+ q(5174),
q(0),
],
q(nym) => [
@@ -77284,51 +78166,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nyp) => [
- q(5143),
+ q(5175),
q(0),
],
q(nyq) => [
- q(5144),
+ q(5176),
q(0),
],
q(nyr) => [
- q(5145),
+ q(5177),
q(0),
],
q(nys) => [
- q(5146),
+ q(5178),
q(0),
],
q(nyt) => [
- q(5147),
+ q(5179),
q(0),
],
q(nyu) => [
- q(5148),
+ q(5180),
q(0),
],
q(nyv) => [
- q(5149),
+ q(5181),
q(0),
],
q(nyw) => [
- q(5150),
+ q(5182),
q(0),
],
q(nyx) => [
- q(5151),
+ q(5183),
q(0),
],
q(nyy) => [
- q(5152),
+ q(5184),
q(0),
],
q(nza) => [
- q(5153),
+ q(5185),
q(0),
],
q(nzb) => [
- q(5154),
+ q(5186),
q(0),
],
q(nzi) => [
@@ -77336,83 +78218,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(nzk) => [
- q(5155),
+ q(5187),
q(0),
],
q(nzm) => [
- q(5156),
+ q(5188),
q(0),
],
q(nzs) => [
- q(5157),
+ q(5189),
q(0),
],
q(nzu) => [
- q(5158),
+ q(5190),
q(0),
],
q(nzy) => [
- q(5159),
+ q(5191),
q(0),
],
q(nzz) => [
- q(5160),
+ q(5192),
q(0),
],
q(oaa) => [
- q(5161),
+ q(5193),
q(0),
],
q(oac) => [
- q(5162),
+ q(5194),
q(0),
],
q(oar) => [
- q(5163),
+ q(5195),
q(0),
],
q(oav) => [
- q(5164),
+ q(5196),
q(0),
],
q(obi) => [
- q(5165),
+ q(5197),
q(0),
],
q(obk) => [
- q(5166),
+ q(5198),
q(0),
],
q(obl) => [
- q(5167),
+ q(5199),
q(0),
],
q(obm) => [
- q(5168),
+ q(5200),
q(0),
],
q(obo) => [
- q(5169),
+ q(5201),
q(0),
],
q(obr) => [
- q(5170),
+ q(5202),
q(0),
],
q(obt) => [
- q(5171),
+ q(5203),
q(0),
],
q(obu) => [
- q(5172),
+ q(5204),
q(0),
],
q(oca) => [
- q(5173),
+ q(5205),
q(0),
],
q(och) => [
- q(5174),
+ q(5206),
q(0),
],
q(oci) => [
@@ -77420,91 +78302,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(oco) => [
- q(5175),
+ q(5207),
q(0),
],
q(ocu) => [
- q(5176),
+ q(5208),
q(0),
],
q(oda) => [
- q(5177),
+ q(5209),
q(0),
],
q(odk) => [
- q(5178),
+ q(5210),
q(0),
],
q(odt) => [
- q(5179),
+ q(5211),
q(0),
],
q(odu) => [
- q(5180),
+ q(5212),
q(0),
],
q(ofo) => [
- q(5181),
+ q(5213),
q(0),
],
q(ofs) => [
- q(5182),
+ q(5214),
q(0),
],
q(ofu) => [
- q(5183),
+ q(5215),
q(0),
],
q(ogb) => [
- q(5184),
+ q(5216),
q(0),
],
q(ogc) => [
- q(5185),
+ q(5217),
q(0),
],
q(oge) => [
- q(5186),
+ q(5218),
q(0),
],
q(ogg) => [
- q(5187),
+ q(5219),
q(0),
],
q(ogo) => [
- q(5188),
+ q(5220),
q(0),
],
q(ogu) => [
- q(5189),
+ q(5221),
q(0),
],
q(oht) => [
- q(5190),
+ q(5222),
q(0),
],
q(ohu) => [
- q(5191),
+ q(5223),
q(0),
],
q(oia) => [
- q(5192),
+ q(5224),
q(0),
],
q(oin) => [
- q(5193),
+ q(5225),
q(0),
],
q(ojb) => [
- q(5194),
+ q(5226),
q(0),
],
q(ojc) => [
- q(5195),
+ q(5227),
q(0),
],
q(ojg) => [
- q(5196),
+ q(5228),
q(0),
],
q(oji) => [
@@ -77512,159 +78394,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ojp) => [
- q(5197),
+ q(5229),
q(0),
],
q(ojs) => [
- q(5198),
+ q(5230),
q(0),
],
q(ojv) => [
- q(5199),
+ q(5231),
q(0),
],
q(ojw) => [
- q(5200),
+ q(5232),
q(0),
],
q(oka) => [
- q(5201),
+ q(5233),
q(0),
],
q(okb) => [
- q(5202),
+ q(5234),
q(0),
],
q(okd) => [
- q(5203),
+ q(5235),
q(0),
],
q(oke) => [
- q(5204),
+ q(5236),
q(0),
],
q(okg) => [
- q(5205),
+ q(5237),
q(0),
],
q(okh) => [
- q(5206),
+ q(5238),
q(0),
],
q(oki) => [
- q(5207),
+ q(5239),
q(0),
],
q(okj) => [
- q(5208),
+ q(5240),
q(0),
],
q(okk) => [
- q(5209),
+ q(5241),
q(0),
],
q(okl) => [
- q(5210),
+ q(5242),
q(0),
],
q(okm) => [
- q(5211),
+ q(5243),
q(0),
],
q(okn) => [
- q(5212),
+ q(5244),
q(0),
],
q(oko) => [
- q(5213),
+ q(5245),
q(0),
],
q(okr) => [
- q(5214),
+ q(5246),
q(0),
],
q(oks) => [
- q(5215),
+ q(5247),
q(0),
],
q(oku) => [
- q(5216),
+ q(5248),
q(0),
],
q(okv) => [
- q(5217),
+ q(5249),
q(0),
],
q(okx) => [
- q(5218),
+ q(5250),
q(0),
],
q(ola) => [
- q(5219),
+ q(5251),
q(0),
],
q(old) => [
- q(5220),
+ q(5252),
q(0),
],
q(ole) => [
- q(5221),
+ q(5253),
+ q(0),
+ ],
+ q(olk) => [
+ q(5254),
q(0),
],
q(olm) => [
- q(5222),
+ q(5255),
q(0),
],
q(olo) => [
- q(5223),
+ q(5256),
q(0),
],
q(olr) => [
- q(5224),
+ q(5257),
q(0),
],
q(oma) => [
- q(5225),
+ q(5258),
q(0),
],
q(omb) => [
- q(5226),
+ q(5259),
q(0),
],
q(omc) => [
- q(5227),
+ q(5260),
q(0),
],
q(ome) => [
- q(5228),
+ q(5261),
q(0),
],
q(omg) => [
- q(5229),
+ q(5262),
q(0),
],
q(omi) => [
- q(5230),
+ q(5263),
q(0),
],
q(omk) => [
- q(5231),
+ q(5264),
q(0),
],
q(oml) => [
- q(5232),
+ q(5265),
q(0),
],
q(omn) => [
- q(5233),
+ q(5266),
q(0),
],
q(omo) => [
- q(5234),
+ q(5267),
q(0),
],
q(omp) => [
- q(5235),
+ q(5268),
q(0),
],
q(omq) => [
@@ -77672,15 +78558,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(omr) => [
- q(5236),
+ q(5269),
q(0),
],
q(omt) => [
- q(5237),
+ q(5270),
q(0),
],
q(omu) => [
- q(5238),
+ q(5271),
q(0),
],
q(omv) => [
@@ -77688,139 +78574,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(omw) => [
- q(5239),
+ q(5272),
q(0),
],
q(omx) => [
- q(5240),
+ q(5273),
q(0),
],
q(ona) => [
- q(5241),
+ q(5274),
q(0),
],
q(onb) => [
- q(5242),
+ q(5275),
q(0),
],
q(one) => [
- q(5243),
+ q(5276),
q(0),
],
q(ong) => [
- q(5244),
+ q(5277),
q(0),
],
q(oni) => [
- q(5245),
+ q(5278),
q(0),
],
q(onj) => [
- q(5246),
+ q(5279),
q(0),
],
q(onk) => [
- q(5247),
+ q(5280),
q(0),
],
q(onn) => [
- q(5248),
+ q(5281),
q(0),
],
q(ono) => [
- q(5249),
+ q(5282),
q(0),
],
q(onp) => [
- q(5250),
+ q(5283),
q(0),
],
q(onr) => [
- q(5251),
+ q(5284),
q(0),
],
q(ons) => [
- q(5252),
+ q(5285),
q(0),
],
q(ont) => [
- q(5253),
+ q(5286),
q(0),
],
q(onu) => [
- q(5254),
+ q(5287),
q(0),
],
q(onw) => [
- q(5255),
+ q(5288),
q(0),
],
q(onx) => [
- q(5256),
+ q(5289),
q(0),
],
q(ood) => [
- q(5257),
+ q(5290),
q(0),
],
q(oog) => [
- q(5258),
+ q(5291),
q(0),
],
q(oon) => [
- q(5259),
+ q(5292),
q(0),
],
q(oor) => [
- q(5260),
+ q(5293),
q(0),
],
q(oos) => [
- q(5261),
+ q(5294),
q(0),
],
q(opa) => [
- q(5262),
+ q(5295),
q(0),
],
q(opk) => [
- q(5263),
+ q(5296),
q(0),
],
q(opm) => [
- q(5264),
+ q(5297),
q(0),
],
q(opo) => [
- q(5265),
+ q(5298),
q(0),
],
q(opt) => [
- q(5266),
+ q(5299),
q(0),
],
q(opy) => [
- q(5267),
+ q(5300),
q(0),
],
q(ora) => [
- q(5268),
+ q(5301),
q(0),
],
q(orc) => [
- q(5269),
+ q(5302),
q(0),
],
q(ore) => [
- q(5270),
+ q(5303),
q(0),
],
q(org) => [
- q(5271),
+ q(5304),
q(0),
],
q(orh) => [
- q(5272),
+ q(5305),
q(0),
],
q(ori) => [
@@ -77832,47 +78718,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(orn) => [
- q(5273),
+ q(5306),
q(0),
],
q(oro) => [
- q(5274),
+ q(5307),
q(0),
],
q(orr) => [
- q(5275),
+ q(5308),
q(0),
],
q(ors) => [
- q(5276),
+ q(5309),
q(0),
],
q(ort) => [
- q(5277),
+ q(5310),
q(0),
],
q(oru) => [
- q(5278),
+ q(5311),
q(0),
],
q(orv) => [
- q(5279),
+ q(5312),
q(0),
],
q(orw) => [
- q(5280),
+ q(5313),
q(0),
],
q(orx) => [
- q(5281),
+ q(5314),
q(0),
],
q(ory) => [
- q(5282),
+ q(5315),
q(0),
],
q(orz) => [
- q(5283),
+ q(5316),
q(0),
],
q(osa) => [
@@ -77880,19 +78766,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(osc) => [
- q(5284),
+ q(5317),
q(0),
],
q(osi) => [
- q(5285),
+ q(5318),
q(0),
],
q(oso) => [
- q(5286),
+ q(5319),
q(0),
],
q(osp) => [
- q(5287),
+ q(5320),
q(0),
],
q(oss) => [
@@ -77900,15 +78786,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ost) => [
- q(5288),
+ q(5321),
q(0),
],
q(osu) => [
- q(5289),
+ q(5322),
q(0),
],
q(osx) => [
- q(5290),
+ q(5323),
q(0),
],
q(ota) => [
@@ -77916,35 +78802,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(otb) => [
- q(5291),
+ q(5324),
q(0),
],
q(otd) => [
- q(5292),
+ q(5325),
q(0),
],
q(ote) => [
- q(5293),
+ q(5326),
q(0),
],
q(oti) => [
- q(5294),
+ q(5327),
q(0),
],
q(otk) => [
- q(5295),
+ q(5328),
q(0),
],
q(otl) => [
- q(5296),
+ q(5329),
q(0),
],
q(otm) => [
- q(5297),
+ q(5330),
q(0),
],
q(otn) => [
- q(5298),
+ q(5331),
q(0),
],
q(oto) => [
@@ -77952,91 +78838,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(otq) => [
- q(5299),
+ q(5332),
q(0),
],
q(otr) => [
- q(5300),
+ q(5333),
q(0),
],
q(ots) => [
- q(5301),
+ q(5334),
q(0),
],
q(ott) => [
- q(5302),
+ q(5335),
q(0),
],
q(otu) => [
- q(5303),
+ q(5336),
q(0),
],
q(otw) => [
- q(5304),
+ q(5337),
q(0),
],
q(otx) => [
- q(5305),
+ q(5338),
q(0),
],
q(oty) => [
- q(5306),
+ q(5339),
q(0),
],
q(otz) => [
- q(5307),
+ q(5340),
q(0),
],
q(oua) => [
- q(5308),
+ q(5341),
q(0),
],
q(oub) => [
- q(5309),
+ q(5342),
q(0),
],
q(oue) => [
- q(5310),
+ q(5343),
q(0),
],
q(oui) => [
- q(5311),
+ q(5344),
q(0),
],
q(oum) => [
- q(5312),
+ q(5345),
q(0),
],
q(oun) => [
- q(5313),
+ q(5346),
q(0),
],
q(owi) => [
- q(5314),
+ q(5347),
q(0),
],
q(owl) => [
- q(5315),
+ q(5348),
q(0),
],
q(oyb) => [
- q(5316),
+ q(5349),
q(0),
],
q(oyd) => [
- q(5317),
+ q(5350),
q(0),
],
q(oym) => [
- q(5318),
+ q(5351),
q(0),
],
q(oyy) => [
- q(5319),
+ q(5352),
q(0),
],
q(ozm) => [
- q(5320),
+ q(5353),
q(0),
],
q(paa) => [
@@ -78044,23 +78930,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pab) => [
- q(5321),
+ q(5354),
q(0),
],
q(pac) => [
- q(5322),
+ q(5355),
q(0),
],
q(pad) => [
- q(5323),
+ q(5356),
q(0),
],
q(pae) => [
- q(5324),
+ q(5357),
q(0),
],
q(paf) => [
- q(5325),
+ q(5358),
q(0),
],
q(pag) => [
@@ -78068,15 +78954,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pah) => [
- q(5326),
+ q(5359),
q(0),
],
q(pai) => [
- q(5327),
+ q(5360),
q(0),
],
q(pak) => [
- q(5328),
+ q(5361),
q(0),
],
q(pal) => [
@@ -78092,7 +78978,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pao) => [
- q(5329),
+ q(5362),
q(0),
],
q(pap) => [
@@ -78100,19 +78986,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(paq) => [
- q(5330),
+ q(5363),
q(0),
],
q(par) => [
- q(5331),
+ q(5364),
q(0),
],
q(pas) => [
- q(5332),
+ q(5365),
q(0),
],
q(pat) => [
- q(5333),
+ q(5366),
q(0),
],
q(pau) => [
@@ -78120,235 +79006,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pav) => [
- q(5334),
+ q(5367),
q(0),
],
q(paw) => [
- q(5335),
+ q(5368),
q(0),
],
q(pax) => [
- q(5336),
+ q(5369),
q(0),
],
q(pay) => [
- q(5337),
+ q(5370),
q(0),
],
q(paz) => [
- q(5338),
+ q(5371),
q(0),
],
q(pbb) => [
- q(5339),
+ q(5372),
q(0),
],
q(pbc) => [
- q(5340),
+ q(5373),
q(0),
],
q(pbe) => [
- q(5341),
+ q(5374),
q(0),
],
q(pbf) => [
- q(5342),
+ q(5375),
q(0),
],
q(pbg) => [
- q(5343),
+ q(5376),
q(0),
],
q(pbh) => [
- q(5344),
+ q(5377),
q(0),
],
q(pbi) => [
- q(5345),
+ q(5378),
q(0),
],
q(pbl) => [
- q(5346),
+ q(5379),
q(0),
],
q(pbn) => [
- q(5347),
+ q(5380),
q(0),
],
q(pbo) => [
- q(5348),
+ q(5381),
q(0),
],
q(pbp) => [
- q(5349),
+ q(5382),
q(0),
],
q(pbr) => [
- q(5350),
+ q(5383),
q(0),
],
q(pbs) => [
- q(5351),
+ q(5384),
q(0),
],
q(pbt) => [
- q(5352),
+ q(5385),
q(0),
],
q(pbu) => [
- q(5353),
+ q(5386),
q(0),
],
q(pbv) => [
- q(5354),
+ q(5387),
q(0),
],
q(pby) => [
- q(5355),
+ q(5388),
q(0),
],
q(pca) => [
- q(5356),
+ q(5389),
q(0),
],
q(pcb) => [
- q(5357),
+ q(5390),
q(0),
],
q(pcc) => [
- q(5358),
+ q(5391),
q(0),
],
q(pcd) => [
- q(5359),
+ q(5392),
q(0),
],
q(pce) => [
- q(5360),
+ q(5393),
q(0),
],
q(pcf) => [
- q(5361),
+ q(5394),
q(0),
],
q(pcg) => [
- q(5362),
+ q(5395),
q(0),
],
q(pch) => [
- q(5363),
+ q(5396),
q(0),
],
q(pci) => [
- q(5364),
+ q(5397),
q(0),
],
q(pcj) => [
- q(5365),
+ q(5398),
q(0),
],
q(pck) => [
- q(5366),
+ q(5399),
q(0),
],
q(pcl) => [
- q(5367),
+ q(5400),
q(0),
],
q(pcm) => [
- q(5368),
+ q(5401),
q(0),
],
q(pcn) => [
- q(5369),
+ q(5402),
q(0),
],
q(pcp) => [
- q(5370),
- q(0),
- ],
- q(pcr) => [
- q(5371),
+ q(5403),
q(0),
],
q(pcw) => [
- q(5372),
+ q(5404),
q(0),
],
q(pda) => [
- q(5373),
+ q(5405),
q(0),
],
q(pdc) => [
- q(5374),
+ q(5406),
q(0),
],
q(pdi) => [
- q(5375),
+ q(5407),
q(0),
],
q(pdn) => [
- q(5376),
+ q(5408),
q(0),
],
q(pdo) => [
- q(5377),
+ q(5409),
q(0),
],
q(pdt) => [
- q(5378),
+ q(5410),
q(0),
],
q(pdu) => [
- q(5379),
+ q(5411),
q(0),
],
q(pea) => [
- q(5380),
+ q(5412),
q(0),
],
q(peb) => [
- q(5381),
+ q(5413),
q(0),
],
q(ped) => [
- q(5382),
+ q(5414),
q(0),
],
q(pee) => [
- q(5383),
+ q(5415),
q(0),
],
q(pef) => [
- q(5384),
+ q(5416),
q(0),
],
q(peg) => [
- q(5385),
+ q(5417),
q(0),
],
q(peh) => [
- q(5386),
+ q(5418),
q(0),
],
q(pei) => [
- q(5387),
+ q(5419),
q(0),
],
q(pej) => [
- q(5388),
+ q(5420),
q(0),
],
q(pek) => [
- q(5389),
+ q(5421),
q(0),
],
q(pel) => [
- q(5390),
+ q(5422),
q(0),
],
q(pem) => [
- q(5391),
+ q(5423),
q(0),
],
q(peo) => [
@@ -78356,11 +79238,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(pep) => [
- q(5392),
+ q(5424),
q(0),
],
q(peq) => [
- q(5393),
+ q(5425),
q(0),
],
q(per) => [
@@ -78368,83 +79250,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pes) => [
- q(5394),
+ q(5426),
q(0),
],
q(pev) => [
- q(5395),
+ q(5427),
q(0),
],
q(pex) => [
- q(5396),
+ q(5428),
q(0),
],
q(pey) => [
- q(5397),
+ q(5429),
q(0),
],
q(pez) => [
- q(5398),
+ q(5430),
q(0),
],
q(pfa) => [
- q(5399),
+ q(5431),
q(0),
],
q(pfe) => [
- q(5400),
+ q(5432),
q(0),
],
q(pfl) => [
- q(5401),
+ q(5433),
q(0),
],
q(pga) => [
- q(5402),
+ q(5434),
q(0),
],
q(pgg) => [
- q(5403),
+ q(5435),
q(0),
],
q(pgi) => [
- q(5404),
+ q(5436),
q(0),
],
q(pgk) => [
- q(5405),
+ q(5437),
q(0),
],
q(pgl) => [
- q(5406),
+ q(5438),
q(0),
],
q(pgn) => [
- q(5407),
+ q(5439),
q(0),
],
q(pgs) => [
- q(5408),
+ q(5440),
q(0),
],
q(pgu) => [
- q(5409),
+ q(5441),
q(0),
],
q(pha) => [
- q(5410),
+ q(5442),
q(0),
],
q(phd) => [
- q(5411),
+ q(5443),
q(0),
],
q(phg) => [
- q(5412),
+ q(5444),
q(0),
],
q(phh) => [
- q(5413),
+ q(5445),
q(0),
],
q(phi) => [
@@ -78452,15 +79334,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(phk) => [
- q(5414),
+ q(5446),
q(0),
],
q(phl) => [
- q(5415),
+ q(5447),
q(0),
],
q(phm) => [
- q(5416),
+ q(5448),
q(0),
],
q(phn) => [
@@ -78468,199 +79350,199 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pho) => [
- q(5417),
+ q(5449),
q(0),
],
q(phq) => [
- q(5418),
+ q(5450),
q(0),
],
q(phr) => [
- q(5419),
+ q(5451),
q(0),
],
q(pht) => [
- q(5420),
+ q(5452),
q(0),
],
q(phu) => [
- q(5421),
+ q(5453),
q(0),
],
q(phv) => [
- q(5422),
+ q(5454),
q(0),
],
q(phw) => [
- q(5423),
+ q(5455),
q(0),
],
q(pia) => [
- q(5424),
+ q(5456),
q(0),
],
q(pib) => [
- q(5425),
+ q(5457),
q(0),
],
q(pic) => [
- q(5426),
+ q(5458),
q(0),
],
q(pid) => [
- q(5427),
+ q(5459),
q(0),
],
q(pie) => [
- q(5428),
+ q(5460),
q(0),
],
q(pif) => [
- q(5429),
+ q(5461),
q(0),
],
q(pig) => [
- q(5430),
+ q(5462),
q(0),
],
q(pih) => [
- q(5431),
+ q(5463),
q(0),
],
q(pii) => [
- q(5432),
+ q(5464),
q(0),
],
q(pij) => [
- q(5433),
+ q(5465),
q(0),
],
q(pil) => [
- q(5434),
+ q(5466),
q(0),
],
q(pim) => [
- q(5435),
+ q(5467),
q(0),
],
q(pin) => [
- q(5436),
+ q(5468),
q(0),
],
q(pio) => [
- q(5437),
+ q(5469),
q(0),
],
q(pip) => [
- q(5438),
+ q(5470),
q(0),
],
q(pir) => [
- q(5439),
+ q(5471),
q(0),
],
q(pis) => [
- q(5440),
+ q(5472),
q(0),
],
q(pit) => [
- q(5441),
+ q(5473),
q(0),
],
q(piu) => [
- q(5442),
+ q(5474),
q(0),
],
q(piv) => [
- q(5443),
+ q(5475),
q(0),
],
q(piw) => [
- q(5444),
+ q(5476),
q(0),
],
q(pix) => [
- q(5445),
+ q(5477),
q(0),
],
q(piy) => [
- q(5446),
+ q(5478),
q(0),
],
q(piz) => [
- q(5447),
+ q(5479),
q(0),
],
q(pjt) => [
- q(5448),
+ q(5480),
q(0),
],
q(pka) => [
- q(5449),
+ q(5481),
q(0),
],
q(pkb) => [
- q(5450),
+ q(5482),
q(0),
],
q(pkc) => [
- q(5451),
+ q(5483),
q(0),
],
q(pkg) => [
- q(5452),
+ q(5484),
q(0),
],
q(pkh) => [
- q(5453),
+ q(5485),
q(0),
],
q(pkn) => [
- q(5454),
+ q(5486),
q(0),
],
q(pko) => [
- q(5455),
+ q(5487),
q(0),
],
q(pkp) => [
- q(5456),
+ q(5488),
q(0),
],
q(pkr) => [
- q(5457),
+ q(5489),
q(0),
],
q(pks) => [
- q(5458),
+ q(5490),
q(0),
],
q(pkt) => [
- q(5459),
+ q(5491),
q(0),
],
q(pku) => [
- q(5460),
+ q(5492),
q(0),
],
q(pla) => [
- q(5461),
+ q(5493),
q(0),
],
q(plb) => [
- q(5462),
+ q(5494),
q(0),
],
q(plc) => [
- q(5463),
+ q(5495),
q(0),
],
q(pld) => [
- q(5464),
+ q(5496),
q(0),
],
q(ple) => [
- q(5465),
+ q(5497),
q(0),
],
q(plf) => [
@@ -78668,11 +79550,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(plg) => [
- q(5466),
+ q(5498),
q(0),
],
q(plh) => [
- q(5467),
+ q(5499),
q(0),
],
q(pli) => [
@@ -78680,275 +79562,283 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(plj) => [
- q(5468),
+ q(5500),
q(0),
],
q(plk) => [
- q(5469),
+ q(5501),
q(0),
],
q(pll) => [
- q(5470),
+ q(5502),
q(0),
],
q(pln) => [
- q(5471),
+ q(5503),
q(0),
],
q(plo) => [
- q(5472),
+ q(5504),
q(0),
],
q(plp) => [
- q(5473),
+ q(5505),
q(0),
],
q(plq) => [
- q(5474),
+ q(5506),
q(0),
],
q(plr) => [
- q(5475),
+ q(5507),
q(0),
],
q(pls) => [
- q(5476),
+ q(5508),
q(0),
],
q(plt) => [
- q(5477),
+ q(5509),
q(0),
],
q(plu) => [
- q(5478),
+ q(5510),
q(0),
],
q(plv) => [
- q(5479),
+ q(5511),
q(0),
],
q(plw) => [
- q(5480),
+ q(5512),
q(0),
],
q(ply) => [
- q(5481),
+ q(5513),
q(0),
],
q(plz) => [
- q(5482),
+ q(5514),
q(0),
],
q(pma) => [
- q(5483),
+ q(5515),
q(0),
],
q(pmb) => [
- q(5484),
+ q(5516),
q(0),
],
q(pmc) => [
- q(5485),
+ q(5517),
q(0),
],
q(pmd) => [
- q(5486),
+ q(5518),
q(0),
],
q(pme) => [
- q(5487),
+ q(5519),
q(0),
],
q(pmf) => [
- q(5488),
+ q(5520),
q(0),
],
q(pmh) => [
- q(5489),
+ q(5521),
q(0),
],
q(pmi) => [
- q(5490),
+ q(5522),
q(0),
],
q(pmj) => [
- q(5491),
+ q(5523),
q(0),
],
q(pmk) => [
- q(5492),
+ q(5524),
q(0),
],
q(pml) => [
- q(5493),
+ q(5525),
q(0),
],
q(pmm) => [
- q(5494),
+ q(5526),
q(0),
],
q(pmn) => [
- q(5495),
+ q(5527),
q(0),
],
q(pmo) => [
- q(5496),
+ q(5528),
q(0),
],
q(pmq) => [
- q(5497),
+ q(5529),
q(0),
],
q(pmr) => [
- q(5498),
+ q(5530),
q(0),
],
q(pms) => [
- q(5499),
+ q(5531),
q(0),
],
q(pmt) => [
- q(5500),
+ q(5532),
q(0),
],
q(pmu) => [
- q(5501),
+ q(5533),
q(0),
],
q(pmw) => [
- q(5502),
+ q(5534),
q(0),
],
q(pmx) => [
- q(5503),
+ q(5535),
q(0),
],
q(pmy) => [
- q(5504),
+ q(5536),
q(0),
],
q(pmz) => [
- q(5505),
+ q(5537),
q(0),
],
q(pna) => [
- q(5506),
+ q(5538),
q(0),
],
q(pnb) => [
- q(5507),
+ q(5539),
q(0),
],
q(pnc) => [
- q(5508),
+ q(5540),
q(0),
],
q(pne) => [
- q(5509),
+ q(5541),
q(0),
],
q(png) => [
- q(5510),
+ q(5542),
q(0),
],
q(pnh) => [
- q(5511),
+ q(5543),
q(0),
],
q(pni) => [
- q(5512),
+ q(5544),
+ q(0),
+ ],
+ q(pnj) => [
+ q(5545),
q(0),
],
q(pnk) => [
- q(5513),
+ q(5546),
+ q(0),
+ ],
+ q(pnl) => [
+ q(5547),
q(0),
],
q(pnm) => [
- q(5514),
+ q(5548),
q(0),
],
q(pnn) => [
- q(5515),
+ q(5549),
q(0),
],
q(pno) => [
- q(5516),
+ q(5550),
q(0),
],
q(pnp) => [
- q(5517),
+ q(5551),
q(0),
],
q(pnq) => [
- q(5518),
+ q(5552),
q(0),
],
q(pnr) => [
- q(5519),
+ q(5553),
q(0),
],
q(pns) => [
- q(5520),
+ q(5554),
q(0),
],
q(pnt) => [
- q(5521),
+ q(5555),
q(0),
],
q(pnu) => [
- q(5522),
+ q(5556),
q(0),
],
q(pnv) => [
- q(5523),
+ q(5557),
q(0),
],
q(pnw) => [
- q(5524),
+ q(5558),
q(0),
],
q(pnx) => [
- q(5525),
+ q(5559),
q(0),
],
q(pny) => [
- q(5526),
+ q(5560),
q(0),
],
q(pnz) => [
- q(5527),
+ q(5561),
q(0),
],
q(poc) => [
- q(5528),
+ q(5562),
q(0),
],
q(pod) => [
- q(5529),
+ q(5563),
q(0),
],
q(poe) => [
- q(5530),
+ q(5564),
q(0),
],
q(pof) => [
- q(5531),
+ q(5565),
q(0),
],
q(pog) => [
- q(5532),
+ q(5566),
q(0),
],
q(poh) => [
- q(5533),
+ q(5567),
q(0),
],
q(poi) => [
- q(5534),
+ q(5568),
q(0),
],
q(pok) => [
- q(5535),
+ q(5569),
q(0),
],
q(pol) => [
@@ -78956,7 +79846,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pom) => [
- q(5536),
+ q(5570),
q(0),
],
q(pon) => [
@@ -78964,15 +79854,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(poo) => [
- q(5537),
+ q(5571),
q(0),
],
q(pop) => [
- q(5538),
+ q(5572),
q(0),
],
q(poq) => [
- q(5539),
+ q(5573),
q(0),
],
q(por) => [
@@ -78980,27 +79870,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pos) => [
- q(5540),
+ q(5574),
q(0),
],
q(pot) => [
- q(5541),
+ q(5575),
q(0),
],
q(pov) => [
- q(5542),
+ q(5576),
q(0),
],
q(pow) => [
- q(5543),
+ q(5577),
q(0),
],
q(pox) => [
- q(5544),
+ q(5578),
q(0),
],
q(poy) => [
- q(5545),
+ q(5579),
q(0),
],
q(poz) => [
@@ -79008,63 +79898,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ppa) => [
- q(5546),
+ q(5580),
q(0),
],
q(ppe) => [
- q(5547),
+ q(5581),
q(0),
],
q(ppi) => [
- q(5548),
+ q(5582),
q(0),
],
q(ppk) => [
- q(5549),
+ q(5583),
q(0),
],
q(ppl) => [
- q(5550),
+ q(5584),
q(0),
],
q(ppm) => [
- q(5551),
+ q(5585),
q(0),
],
q(ppn) => [
- q(5552),
+ q(5586),
q(0),
],
q(ppo) => [
- q(5553),
+ q(5587),
q(0),
],
q(ppp) => [
- q(5554),
+ q(5588),
q(0),
],
q(ppq) => [
- q(5555),
- q(0),
- ],
- q(ppr) => [
- q(5556),
+ q(5589),
q(0),
],
q(pps) => [
- q(5557),
+ q(5590),
q(0),
],
q(ppt) => [
- q(5558),
+ q(5591),
q(0),
],
q(ppu) => [
- q(5559),
+ q(5592),
q(0),
],
q(pqa) => [
- q(5560),
+ q(5593),
q(0),
],
q(pqe) => [
@@ -79072,7 +79958,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(pqm) => [
- q(5561),
+ q(5594),
q(0),
],
q(pqw) => [
@@ -79084,51 +79970,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(prb) => [
- q(5562),
+ q(5595),
q(0),
],
q(prc) => [
- q(5563),
+ q(5596),
q(0),
],
q(prd) => [
- q(5564),
+ q(5597),
q(0),
],
q(pre) => [
- q(5565),
+ q(5598),
q(0),
],
q(prf) => [
- q(5566),
+ q(5599),
q(0),
],
q(prg) => [
- q(5567),
+ q(5600),
q(0),
],
q(prh) => [
- q(5568),
+ q(5601),
q(0),
],
q(pri) => [
- q(5569),
+ q(5602),
q(0),
],
q(prk) => [
- q(5570),
+ q(5603),
q(0),
],
q(prl) => [
- q(5571),
+ q(5604),
q(0),
],
q(prm) => [
- q(5572),
+ q(5605),
q(0),
],
q(prn) => [
- q(5573),
+ q(5606),
q(0),
],
q(pro) => [
@@ -79136,227 +80022,227 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(prp) => [
- q(5574),
+ q(5607),
q(0),
],
q(prq) => [
- q(5575),
+ q(5608),
q(0),
],
q(prr) => [
- q(5576),
+ q(5609),
q(0),
],
q(prs) => [
- q(5577),
+ q(5610),
q(0),
],
q(prt) => [
- q(5578),
+ q(5611),
q(0),
],
q(pru) => [
- q(5579),
+ q(5612),
q(0),
],
q(prw) => [
- q(5580),
+ q(5613),
q(0),
],
q(prx) => [
- q(5581),
+ q(5614),
q(0),
],
q(pry) => [
- q(5582),
+ q(5615),
q(0),
],
q(prz) => [
- q(5583),
+ q(5616),
q(0),
],
q(psa) => [
- q(5584),
+ q(5617),
q(0),
],
q(psc) => [
- q(5585),
+ q(5618),
q(0),
],
q(psd) => [
- q(5586),
+ q(5619),
q(0),
],
q(pse) => [
- q(5587),
+ q(5620),
q(0),
],
q(psg) => [
- q(5588),
+ q(5621),
q(0),
],
q(psh) => [
- q(5589),
+ q(5622),
q(0),
],
q(psi) => [
- q(5590),
+ q(5623),
q(0),
],
q(psl) => [
- q(5591),
+ q(5624),
q(0),
],
q(psm) => [
- q(5592),
+ q(5625),
q(0),
],
q(psn) => [
- q(5593),
+ q(5626),
q(0),
],
q(pso) => [
- q(5594),
+ q(5627),
q(0),
],
q(psp) => [
- q(5595),
+ q(5628),
q(0),
],
q(psq) => [
- q(5596),
+ q(5629),
q(0),
],
q(psr) => [
- q(5597),
+ q(5630),
q(0),
],
q(pss) => [
- q(5598),
+ q(5631),
q(0),
],
q(pst) => [
- q(5599),
+ q(5632),
q(0),
],
q(psu) => [
- q(5600),
+ q(5633),
q(0),
],
q(psw) => [
- q(5601),
+ q(5634),
q(0),
],
q(psy) => [
- q(5602),
+ q(5635),
q(0),
],
q(pta) => [
- q(5603),
+ q(5636),
q(0),
],
q(pth) => [
- q(5604),
+ q(5637),
q(0),
],
q(pti) => [
- q(5605),
+ q(5638),
q(0),
],
q(ptn) => [
- q(5606),
+ q(5639),
q(0),
],
q(pto) => [
- q(5607),
+ q(5640),
q(0),
],
q(ptp) => [
- q(5608),
+ q(5641),
q(0),
],
q(ptr) => [
- q(5609),
+ q(5642),
q(0),
],
q(ptt) => [
- q(5610),
+ q(5643),
q(0),
],
q(ptu) => [
- q(5611),
+ q(5644),
q(0),
],
q(ptv) => [
- q(5612),
+ q(5645),
q(0),
],
q(ptw) => [
- q(5613),
+ q(5646),
q(0),
],
q(pty) => [
- q(5614),
+ q(5647),
q(0),
],
q(pua) => [
- q(5615),
+ q(5648),
q(0),
],
q(pub) => [
- q(5616),
+ q(5649),
q(0),
],
q(puc) => [
- q(5617),
+ q(5650),
q(0),
],
q(pud) => [
- q(5618),
+ q(5651),
q(0),
],
q(pue) => [
- q(5619),
+ q(5652),
q(0),
],
q(puf) => [
- q(5620),
+ q(5653),
q(0),
],
q(pug) => [
- q(5621),
+ q(5654),
q(0),
],
q(pui) => [
- q(5622),
+ q(5655),
q(0),
],
q(puj) => [
- q(5623),
+ q(5656),
q(0),
],
q(puk) => [
- q(5624),
+ q(5657),
q(0),
],
q(pum) => [
- q(5625),
+ q(5658),
q(0),
],
q(puo) => [
- q(5626),
+ q(5659),
q(0),
],
q(pup) => [
- q(5627),
+ q(5660),
q(0),
],
q(puq) => [
- q(5628),
+ q(5661),
q(0),
],
q(pur) => [
- q(5629),
+ q(5662),
q(0),
],
q(pus) => [
@@ -79364,95 +80250,99 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(put) => [
- q(5630),
+ q(5663),
q(0),
],
q(puu) => [
- q(5631),
+ q(5664),
q(0),
],
q(puw) => [
- q(5632),
+ q(5665),
q(0),
],
q(pux) => [
- q(5633),
+ q(5666),
q(0),
],
q(puy) => [
- q(5634),
+ q(5667),
q(0),
],
q(puz) => [
- q(5635),
+ q(5668),
q(0),
],
q(pwa) => [
- q(5636),
+ q(5669),
q(0),
],
q(pwb) => [
- q(5637),
+ q(5670),
q(0),
],
q(pwg) => [
- q(5638),
+ q(5671),
+ q(0),
+ ],
+ q(pwi) => [
+ q(5672),
q(0),
],
q(pwm) => [
- q(5639),
+ q(5673),
q(0),
],
q(pwn) => [
- q(5640),
+ q(5674),
q(0),
],
q(pwo) => [
- q(5641),
+ q(5675),
q(0),
],
q(pwr) => [
- q(5642),
+ q(5676),
q(0),
],
q(pww) => [
- q(5643),
+ q(5677),
q(0),
],
q(pxm) => [
- q(5644),
+ q(5678),
q(0),
],
q(pye) => [
- q(5645),
+ q(5679),
q(0),
],
q(pym) => [
- q(5646),
+ q(5680),
q(0),
],
q(pyn) => [
- q(5647),
+ q(5681),
q(0),
],
q(pys) => [
- q(5648),
+ q(5682),
q(0),
],
q(pyu) => [
- q(5649),
+ q(5683),
q(0),
],
q(pyx) => [
- q(5650),
+ q(5684),
q(0),
],
q(pyy) => [
- q(5651),
+ q(5685),
q(0),
],
q(pzn) => [
- q(5652),
+ q(5686),
q(0),
],
q(qtz) => [
@@ -79460,19 +80350,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(qua) => [
- q(5653),
+ q(5687),
q(0),
],
q(qub) => [
- q(5654),
+ q(5688),
q(0),
],
q(quc) => [
- q(5655),
+ q(5689),
q(0),
],
q(qud) => [
- q(5656),
+ q(5690),
q(0),
],
q(que) => [
@@ -79480,139 +80370,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(quf) => [
- q(5657),
+ q(5691),
q(0),
],
q(qug) => [
- q(5658),
+ q(5692),
q(0),
],
q(quh) => [
- q(5659),
+ q(5693),
q(0),
],
q(qui) => [
- q(5660),
+ q(5694),
q(0),
],
q(quk) => [
- q(5661),
+ q(5695),
q(0),
],
q(qul) => [
- q(5662),
+ q(5696),
q(0),
],
q(qum) => [
- q(5663),
+ q(5697),
q(0),
],
q(qun) => [
- q(5664),
+ q(5698),
q(0),
],
q(qup) => [
- q(5665),
+ q(5699),
q(0),
],
q(quq) => [
- q(5666),
+ q(5700),
q(0),
],
q(qur) => [
- q(5667),
+ q(5701),
q(0),
],
q(qus) => [
- q(5668),
+ q(5702),
q(0),
],
q(quv) => [
- q(5669),
+ q(5703),
q(0),
],
q(quw) => [
- q(5670),
+ q(5704),
q(0),
],
q(qux) => [
- q(5671),
+ q(5705),
q(0),
],
q(quy) => [
- q(5672),
+ q(5706),
q(0),
],
q(quz) => [
- q(5673),
+ q(5707),
q(0),
],
q(qva) => [
- q(5674),
+ q(5708),
q(0),
],
q(qvc) => [
- q(5675),
+ q(5709),
q(0),
],
q(qve) => [
- q(5676),
+ q(5710),
q(0),
],
q(qvh) => [
- q(5677),
+ q(5711),
q(0),
],
q(qvi) => [
- q(5678),
+ q(5712),
q(0),
],
q(qvj) => [
- q(5679),
+ q(5713),
q(0),
],
q(qvl) => [
- q(5680),
+ q(5714),
q(0),
],
q(qvm) => [
- q(5681),
+ q(5715),
q(0),
],
q(qvn) => [
- q(5682),
+ q(5716),
q(0),
],
q(qvo) => [
- q(5683),
+ q(5717),
q(0),
],
q(qvp) => [
- q(5684),
+ q(5718),
q(0),
],
q(qvs) => [
- q(5685),
+ q(5719),
q(0),
],
q(qvw) => [
- q(5686),
+ q(5720),
q(0),
],
q(qvy) => [
- q(5687),
+ q(5721),
q(0),
],
q(qvz) => [
- q(5688),
+ q(5722),
q(0),
],
q(qwa) => [
- q(5689),
+ q(5723),
q(0),
],
q(qwc) => [
- q(5690),
+ q(5724),
q(0),
],
q(qwe) => [
@@ -79620,111 +80510,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(qwh) => [
- q(5691),
+ q(5725),
q(0),
],
q(qwm) => [
- q(5692),
+ q(5726),
q(0),
],
q(qws) => [
- q(5693),
+ q(5727),
q(0),
],
q(qwt) => [
- q(5694),
+ q(5728),
q(0),
],
q(qxa) => [
- q(5695),
+ q(5729),
q(0),
],
q(qxc) => [
- q(5696),
+ q(5730),
q(0),
],
q(qxh) => [
- q(5697),
+ q(5731),
q(0),
],
q(qxl) => [
- q(5698),
+ q(5732),
q(0),
],
q(qxn) => [
- q(5699),
+ q(5733),
q(0),
],
q(qxo) => [
- q(5700),
+ q(5734),
q(0),
],
q(qxp) => [
- q(5701),
+ q(5735),
q(0),
],
q(qxq) => [
- q(5702),
+ q(5736),
q(0),
],
q(qxr) => [
- q(5703),
+ q(5737),
q(0),
],
q(qxs) => [
- q(5704),
+ q(5738),
q(0),
],
q(qxt) => [
- q(5705),
+ q(5739),
q(0),
],
q(qxu) => [
- q(5706),
+ q(5740),
q(0),
],
q(qxw) => [
- q(5707),
+ q(5741),
q(0),
],
q(qya) => [
- q(5708),
+ q(5742),
q(0),
],
q(qyp) => [
- q(5709),
+ q(5743),
q(0),
],
q(raa) => [
- q(5710),
+ q(5744),
q(0),
],
q(rab) => [
- q(5711),
+ q(5745),
q(0),
],
q(rac) => [
- q(5712),
+ q(5746),
q(0),
],
q(rad) => [
- q(5713),
+ q(5747),
q(0),
],
q(raf) => [
- q(5714),
+ q(5748),
q(0),
],
q(rag) => [
- q(5715),
+ q(5749),
q(0),
],
q(rah) => [
- q(5716),
+ q(5750),
q(0),
],
q(rai) => [
- q(5717),
+ q(5751),
q(0),
],
q(raj) => [
@@ -79732,23 +80622,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(rak) => [
- q(5718),
+ q(5752),
q(0),
],
q(ral) => [
- q(5719),
+ q(5753),
q(0),
],
q(ram) => [
- q(5720),
+ q(5754),
q(0),
],
q(ran) => [
- q(5721),
+ q(5755),
q(0),
],
q(rao) => [
- q(5722),
+ q(5756),
q(0),
],
q(rap) => [
@@ -79756,7 +80646,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(raq) => [
- q(5723),
+ q(5757),
q(0),
],
q(rar) => [
@@ -79764,347 +80654,351 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ras) => [
- q(5724),
+ q(5758),
q(0),
],
q(rat) => [
- q(5725),
+ q(5759),
q(0),
],
q(rau) => [
- q(5726),
+ q(5760),
q(0),
],
q(rav) => [
- q(5727),
+ q(5761),
q(0),
],
q(raw) => [
- q(5728),
+ q(5762),
q(0),
],
q(rax) => [
- q(5729),
+ q(5763),
q(0),
],
q(ray) => [
- q(5730),
+ q(5764),
q(0),
],
q(raz) => [
- q(5731),
+ q(5765),
q(0),
],
q(rbb) => [
- q(5732),
+ q(5766),
q(0),
],
q(rbk) => [
- q(5733),
+ q(5767),
q(0),
],
q(rbl) => [
- q(5734),
+ q(5768),
q(0),
],
q(rbp) => [
- q(5735),
+ q(5769),
q(0),
],
q(rcf) => [
- q(5736),
+ q(5770),
q(0),
],
q(rdb) => [
- q(5737),
+ q(5771),
q(0),
],
q(rea) => [
- q(5738),
+ q(5772),
q(0),
],
q(reb) => [
- q(5739),
+ q(5773),
q(0),
],
q(ree) => [
- q(5740),
+ q(5774),
q(0),
],
q(reg) => [
- q(5741),
+ q(5775),
q(0),
],
q(rei) => [
- q(5742),
+ q(5776),
q(0),
],
q(rej) => [
- q(5743),
+ q(5777),
q(0),
],
q(rel) => [
- q(5744),
+ q(5778),
q(0),
],
q(rem) => [
- q(5745),
+ q(5779),
q(0),
],
q(ren) => [
- q(5746),
+ q(5780),
q(0),
],
q(rer) => [
- q(5747),
+ q(5781),
q(0),
],
q(res) => [
- q(5748),
+ q(5782),
q(0),
],
q(ret) => [
- q(5749),
+ q(5783),
q(0),
],
q(rey) => [
- q(5750),
+ q(5784),
q(0),
],
q(rga) => [
- q(5751),
+ q(5785),
q(0),
],
q(rge) => [
- q(5752),
+ q(5786),
q(0),
],
q(rgk) => [
- q(5753),
+ q(5787),
q(0),
],
q(rgn) => [
- q(5754),
+ q(5788),
q(0),
],
q(rgr) => [
- q(5755),
+ q(5789),
q(0),
],
q(rgs) => [
- q(5756),
+ q(5790),
q(0),
],
q(rgu) => [
- q(5757),
+ q(5791),
q(0),
],
q(rhg) => [
- q(5758),
+ q(5792),
q(0),
],
q(rhp) => [
- q(5759),
+ q(5793),
q(0),
],
q(ria) => [
- q(5760),
+ q(5794),
q(0),
],
q(rie) => [
- q(5761),
+ q(5795),
q(0),
],
q(rif) => [
- q(5762),
+ q(5796),
q(0),
],
q(ril) => [
- q(5763),
+ q(5797),
q(0),
],
q(rim) => [
- q(5764),
+ q(5798),
q(0),
],
q(rin) => [
- q(5765),
+ q(5799),
q(0),
],
q(rir) => [
- q(5766),
+ q(5800),
q(0),
],
q(rit) => [
- q(5767),
+ q(5801),
q(0),
],
q(riu) => [
- q(5768),
+ q(5802),
q(0),
],
q(rjg) => [
- q(5769),
+ q(5803),
q(0),
],
q(rji) => [
- q(5770),
+ q(5804),
q(0),
],
q(rjs) => [
- q(5771),
+ q(5805),
q(0),
],
q(rka) => [
- q(5772),
+ q(5806),
q(0),
],
q(rkb) => [
- q(5773),
+ q(5807),
q(0),
],
q(rkh) => [
- q(5774),
+ q(5808),
q(0),
],
q(rki) => [
- q(5775),
+ q(5809),
q(0),
],
q(rkm) => [
- q(5776),
+ q(5810),
q(0),
],
q(rkt) => [
- q(5777),
+ q(5811),
+ q(0),
+ ],
+ q(rkw) => [
+ q(5812),
q(0),
],
q(rma) => [
- q(5778),
+ q(5813),
q(0),
],
q(rmb) => [
- q(5779),
+ q(5814),
q(0),
],
q(rmc) => [
- q(5780),
+ q(5815),
q(0),
],
q(rmd) => [
- q(5781),
+ q(5816),
q(0),
],
q(rme) => [
- q(5782),
+ q(5817),
q(0),
],
q(rmf) => [
- q(5783),
+ q(5818),
q(0),
],
q(rmg) => [
- q(5784),
+ q(5819),
q(0),
],
q(rmh) => [
- q(5785),
+ q(5820),
q(0),
],
q(rmi) => [
- q(5786),
+ q(5821),
q(0),
],
q(rmk) => [
- q(5787),
+ q(5822),
q(0),
],
q(rml) => [
- q(5788),
+ q(5823),
q(0),
],
q(rmm) => [
- q(5789),
+ q(5824),
q(0),
],
q(rmn) => [
- q(5790),
+ q(5825),
q(0),
],
q(rmo) => [
- q(5791),
+ q(5826),
q(0),
],
q(rmp) => [
- q(5792),
+ q(5827),
q(0),
],
q(rmq) => [
- q(5793),
+ q(5828),
q(0),
],
q(rms) => [
- q(5794),
+ q(5829),
q(0),
],
q(rmt) => [
- q(5795),
+ q(5830),
q(0),
],
q(rmu) => [
- q(5796),
+ q(5831),
q(0),
],
q(rmv) => [
- q(5797),
+ q(5832),
q(0),
],
q(rmw) => [
- q(5798),
+ q(5833),
q(0),
],
q(rmx) => [
- q(5799),
+ q(5834),
q(0),
],
q(rmy) => [
- q(5800),
+ q(5835),
q(0),
],
q(rmz) => [
- q(5801),
+ q(5836),
q(0),
],
q(rna) => [
- q(5802),
+ q(5837),
q(0),
],
q(rnd) => [
- q(5803),
+ q(5838),
q(0),
],
q(rng) => [
- q(5804),
+ q(5839),
q(0),
],
q(rnl) => [
- q(5805),
+ q(5840),
q(0),
],
q(rnn) => [
- q(5806),
+ q(5841),
q(0),
],
q(rnp) => [
- q(5807),
+ q(5842),
q(0),
],
q(rnr) => [
- q(5808),
+ q(5843),
q(0),
],
q(rnw) => [
- q(5809),
+ q(5844),
q(0),
],
q(roa) => [
@@ -80112,27 +81006,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(rob) => [
- q(5810),
+ q(5845),
q(0),
],
q(roc) => [
- q(5811),
+ q(5846),
q(0),
],
q(rod) => [
- q(5812),
+ q(5847),
q(0),
],
q(roe) => [
- q(5813),
+ q(5848),
q(0),
],
q(rof) => [
- q(5814),
+ q(5849),
q(0),
],
q(rog) => [
- q(5815),
+ q(5850),
q(0),
],
q(roh) => [
@@ -80140,7 +81034,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(rol) => [
- q(5816),
+ q(5851),
q(0),
],
q(rom) => [
@@ -80148,103 +81042,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(roo) => [
- q(5817),
+ q(5852),
q(0),
],
q(rop) => [
- q(5818),
+ q(5853),
q(0),
],
q(ror) => [
- q(5819),
+ q(5854),
q(0),
],
q(rou) => [
- q(5820),
+ q(5855),
q(0),
],
q(row) => [
- q(5821),
+ q(5856),
q(0),
],
q(rpn) => [
- q(5822),
+ q(5857),
q(0),
],
q(rpt) => [
- q(5823),
+ q(5858),
q(0),
],
q(rri) => [
- q(5824),
+ q(5859),
q(0),
],
q(rro) => [
- q(5825),
+ q(5860),
q(0),
],
q(rrt) => [
- q(5826),
+ q(5861),
q(0),
],
q(rsb) => [
- q(5827),
+ q(5862),
q(0),
],
q(rsi) => [
- q(5828),
+ q(5863),
q(0),
],
q(rsl) => [
- q(5829),
+ q(5864),
q(0),
],
q(rtc) => [
- q(5830),
+ q(5865),
q(0),
],
q(rth) => [
- q(5831),
+ q(5866),
q(0),
],
q(rtm) => [
- q(5832),
+ q(5867),
q(0),
],
q(rtw) => [
- q(5833),
+ q(5868),
q(0),
],
q(rub) => [
- q(5834),
+ q(5869),
q(0),
],
q(ruc) => [
- q(5835),
+ q(5870),
q(0),
],
q(rue) => [
- q(5836),
+ q(5871),
q(0),
],
q(ruf) => [
- q(5837),
+ q(5872),
q(0),
],
q(rug) => [
- q(5838),
+ q(5873),
q(0),
],
q(ruh) => [
- q(5839),
+ q(5874),
q(0),
],
q(rui) => [
- q(5840),
+ q(5875),
q(0),
],
q(ruk) => [
- q(5841),
+ q(5876),
q(0),
],
q(rum) => [
@@ -80256,15 +81150,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ruo) => [
- q(5842),
+ q(5877),
q(0),
],
q(rup) => [
q(0362),
- q(0),
+ q(2),
],
q(ruq) => [
- q(5843),
+ q(5878),
q(0),
],
q(rus) => [
@@ -80272,63 +81166,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(rut) => [
- q(5844),
+ q(5879),
q(0),
],
q(ruu) => [
- q(5845),
+ q(5880),
q(0),
],
q(ruy) => [
- q(5846),
+ q(5881),
q(0),
],
q(ruz) => [
- q(5847),
+ q(5882),
q(0),
],
q(rwa) => [
- q(5848),
+ q(5883),
q(0),
],
q(rwk) => [
- q(5849),
+ q(5884),
q(0),
],
q(rwm) => [
- q(5850),
+ q(5885),
q(0),
],
q(rwo) => [
- q(5851),
+ q(5886),
q(0),
],
q(rwr) => [
- q(5852),
+ q(5887),
+ q(0),
+ ],
+ q(rxd) => [
+ q(5888),
+ q(0),
+ ],
+ q(rxw) => [
+ q(5889),
q(0),
],
q(ryn) => [
- q(5853),
+ q(5890),
q(0),
],
q(rys) => [
- q(5854),
+ q(5891),
q(0),
],
q(ryu) => [
- q(5855),
+ q(5892),
q(0),
],
q(saa) => [
- q(5856),
+ q(5893),
q(0),
],
q(sab) => [
- q(5857),
+ q(5894),
q(0),
],
q(sac) => [
- q(5858),
+ q(5895),
q(0),
],
q(sad) => [
@@ -80336,11 +81238,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sae) => [
- q(5859),
+ q(5896),
q(0),
],
q(saf) => [
- q(5860),
+ q(5897),
q(0),
],
q(sag) => [
@@ -80356,11 +81258,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(saj) => [
- q(5861),
+ q(5898),
q(0),
],
q(sak) => [
- q(5862),
+ q(5899),
q(0),
],
q(sal) => [
@@ -80376,19 +81278,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sao) => [
- q(5863),
+ q(5900),
q(0),
],
q(sap) => [
- q(5864),
+ q(5901),
q(0),
],
q(saq) => [
- q(5865),
+ q(5902),
q(0),
],
q(sar) => [
- q(5866),
+ q(5903),
q(0),
],
q(sas) => [
@@ -80400,163 +81302,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sau) => [
- q(5867),
+ q(5904),
q(0),
],
q(sav) => [
- q(5868),
+ q(5905),
q(0),
],
q(saw) => [
- q(5869),
+ q(5906),
q(0),
],
q(sax) => [
- q(5870),
+ q(5907),
q(0),
],
q(say) => [
- q(5871),
+ q(5908),
q(0),
],
q(saz) => [
- q(5872),
+ q(5909),
q(0),
],
q(sba) => [
- q(5873),
+ q(5910),
q(0),
],
q(sbb) => [
- q(5874),
+ q(5911),
q(0),
],
q(sbc) => [
- q(5875),
+ q(5912),
q(0),
],
q(sbd) => [
- q(5876),
+ q(5913),
q(0),
],
q(sbe) => [
- q(5877),
+ q(5914),
q(0),
],
q(sbf) => [
- q(5878),
+ q(5915),
q(0),
],
q(sbg) => [
- q(5879),
+ q(5916),
q(0),
],
q(sbh) => [
- q(5880),
+ q(5917),
q(0),
],
q(sbi) => [
- q(5881),
+ q(5918),
q(0),
],
q(sbj) => [
- q(5882),
+ q(5919),
q(0),
],
q(sbk) => [
- q(5883),
+ q(5920),
q(0),
],
q(sbl) => [
- q(5884),
+ q(5921),
q(0),
],
q(sbm) => [
- q(5885),
+ q(5922),
q(0),
],
q(sbn) => [
- q(5886),
+ q(5923),
q(0),
],
q(sbo) => [
- q(5887),
+ q(5924),
q(0),
],
q(sbp) => [
- q(5888),
+ q(5925),
q(0),
],
q(sbq) => [
- q(5889),
+ q(5926),
q(0),
],
q(sbr) => [
- q(5890),
+ q(5927),
q(0),
],
q(sbs) => [
- q(5891),
+ q(5928),
q(0),
],
q(sbt) => [
- q(5892),
+ q(5929),
q(0),
],
q(sbu) => [
- q(5893),
+ q(5930),
q(0),
],
q(sbv) => [
- q(5894),
+ q(5931),
q(0),
],
q(sbw) => [
- q(5895),
+ q(5932),
q(0),
],
q(sbx) => [
- q(5896),
+ q(5933),
q(0),
],
q(sby) => [
- q(5897),
+ q(5934),
q(0),
],
q(sbz) => [
- q(5898),
+ q(5935),
q(0),
],
q(scb) => [
- q(5899),
+ q(5936),
q(0),
],
q(sce) => [
- q(5900),
+ q(5937),
q(0),
],
q(scf) => [
- q(5901),
+ q(5938),
q(0),
],
q(scg) => [
- q(5902),
+ q(5939),
q(0),
],
q(sch) => [
- q(5903),
+ q(5940),
q(0),
],
q(sci) => [
- q(5904),
+ q(5941),
q(0),
],
q(sck) => [
- q(5905),
+ q(5942),
q(0),
],
q(scl) => [
- q(5906),
+ q(5943),
q(0),
],
q(scn) => [
@@ -80568,103 +81470,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(scp) => [
- q(5907),
+ q(5944),
q(0),
],
q(scq) => [
- q(5908),
+ q(5945),
q(0),
],
q(scs) => [
- q(5909),
+ q(5946),
q(0),
],
q(scu) => [
- q(5910),
+ q(5947),
q(0),
],
q(scv) => [
- q(5911),
+ q(5948),
q(0),
],
q(scw) => [
- q(5912),
+ q(5949),
q(0),
],
q(scx) => [
- q(5913),
+ q(5950),
q(0),
],
q(sda) => [
- q(5914),
+ q(5951),
q(0),
],
q(sdb) => [
- q(5915),
+ q(5952),
q(0),
],
q(sdc) => [
- q(5916),
+ q(5953),
q(0),
],
q(sde) => [
- q(5917),
+ q(5954),
q(0),
],
q(sdf) => [
- q(5918),
+ q(5955),
q(0),
],
q(sdg) => [
- q(5919),
+ q(5956),
q(0),
],
q(sdh) => [
- q(5920),
+ q(5957),
q(0),
],
q(sdj) => [
- q(5921),
+ q(5958),
q(0),
],
q(sdk) => [
- q(5922),
+ q(5959),
q(0),
],
q(sdl) => [
- q(5923),
+ q(5960),
q(0),
],
q(sdm) => [
- q(5924),
+ q(5961),
q(0),
],
q(sdn) => [
- q(5925),
+ q(5962),
q(0),
],
q(sdo) => [
- q(5926),
+ q(5963),
q(0),
],
q(sdp) => [
- q(5927),
+ q(5964),
q(0),
],
q(sdr) => [
- q(5928),
+ q(5965),
q(0),
],
q(sds) => [
- q(5929),
+ q(5966),
q(0),
],
q(sdt) => [
- q(5930),
+ q(5967),
q(0),
],
q(sdu) => [
- q(5931),
+ q(5968),
q(0),
],
q(sdv) => [
@@ -80672,55 +81574,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sdx) => [
- q(5932),
+ q(5969),
q(0),
],
q(sdz) => [
- q(5933),
+ q(5970),
q(0),
],
q(sea) => [
- q(5934),
+ q(5971),
q(0),
],
q(seb) => [
- q(5935),
+ q(5972),
q(0),
],
q(sec) => [
- q(5936),
+ q(5973),
q(0),
],
q(sed) => [
- q(5937),
+ q(5974),
q(0),
],
q(see) => [
- q(5938),
+ q(5975),
q(0),
],
q(sef) => [
- q(5939),
+ q(5976),
q(0),
],
q(seg) => [
- q(5940),
+ q(5977),
q(0),
],
q(seh) => [
- q(5941),
+ q(5978),
q(0),
],
q(sei) => [
- q(5942),
+ q(5979),
q(0),
],
q(sej) => [
- q(5943),
+ q(5980),
q(0),
],
q(sek) => [
- q(5944),
+ q(5981),
q(0),
],
q(sel) => [
@@ -80732,71 +81634,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sen) => [
- q(5945),
+ q(5982),
q(0),
],
q(seo) => [
- q(5946),
+ q(5983),
q(0),
],
q(sep) => [
- q(5947),
+ q(5984),
q(0),
],
q(seq) => [
- q(5948),
+ q(5985),
q(0),
],
q(ser) => [
- q(5949),
+ q(5986),
q(0),
],
q(ses) => [
- q(5950),
+ q(5987),
q(0),
],
q(set) => [
- q(5951),
+ q(5988),
q(0),
],
q(seu) => [
- q(5952),
+ q(5989),
q(0),
],
q(sev) => [
- q(5953),
+ q(5990),
q(0),
],
q(sew) => [
- q(5954),
+ q(5991),
q(0),
],
q(sey) => [
- q(5955),
+ q(5992),
q(0),
],
q(sez) => [
- q(5956),
+ q(5993),
q(0),
],
q(sfb) => [
- q(5957),
+ q(5994),
q(0),
],
q(sfe) => [
- q(5958),
+ q(5995),
q(0),
],
q(sfm) => [
- q(5959),
+ q(5996),
q(0),
],
q(sfs) => [
- q(5960),
+ q(5997),
q(0),
],
q(sfw) => [
- q(5961),
+ q(5998),
q(0),
],
q(sga) => [
@@ -80804,43 +81706,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(sgb) => [
- q(5962),
+ q(5999),
q(0),
],
q(sgc) => [
- q(5963),
+ q(6000),
q(0),
],
q(sgd) => [
- q(5964),
+ q(6001),
q(0),
],
q(sge) => [
- q(5965),
+ q(6002),
q(0),
],
q(sgg) => [
- q(5966),
+ q(6003),
q(0),
],
q(sgh) => [
- q(5967),
+ q(6004),
q(0),
],
q(sgi) => [
- q(5968),
+ q(6005),
q(0),
],
q(sgj) => [
- q(5969),
+ q(6006),
q(0),
],
q(sgk) => [
- q(5970),
+ q(6007),
q(0),
],
q(sgm) => [
- q(5971),
+ q(6008),
q(0),
],
q(sgn) => [
@@ -80848,91 +81750,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sgo) => [
- q(5972),
+ q(6009),
q(0),
],
q(sgp) => [
- q(5973),
+ q(6010),
q(0),
],
q(sgr) => [
- q(5974),
+ q(6011),
q(0),
],
q(sgs) => [
- q(5975),
+ q(6012),
q(0),
],
q(sgt) => [
- q(5976),
+ q(6013),
q(0),
],
q(sgu) => [
- q(5977),
+ q(6014),
q(0),
],
q(sgw) => [
- q(5978),
+ q(6015),
q(0),
],
q(sgx) => [
- q(5979),
+ q(6016),
q(0),
],
q(sgy) => [
- q(5980),
+ q(6017),
q(0),
],
q(sgz) => [
- q(5981),
+ q(6018),
q(0),
],
q(sha) => [
- q(5982),
+ q(6019),
q(0),
],
q(shb) => [
- q(5983),
+ q(6020),
q(0),
],
q(shc) => [
- q(5984),
+ q(6021),
q(0),
],
q(shd) => [
- q(5985),
+ q(6022),
q(0),
],
q(she) => [
- q(5986),
+ q(6023),
q(0),
],
q(shg) => [
- q(5987),
+ q(6024),
q(0),
],
q(shh) => [
- q(5988),
+ q(6025),
q(0),
],
q(shi) => [
- q(5989),
+ q(6026),
q(0),
],
q(shj) => [
- q(5990),
+ q(6027),
q(0),
],
q(shk) => [
- q(5991),
+ q(6028),
q(0),
],
q(shl) => [
- q(5992),
+ q(6029),
q(0),
],
q(shm) => [
- q(5993),
+ q(6030),
q(0),
],
q(shn) => [
@@ -80940,59 +81842,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sho) => [
- q(5994),
+ q(6031),
q(0),
],
q(shp) => [
- q(5995),
+ q(6032),
q(0),
],
q(shq) => [
- q(5996),
+ q(6033),
q(0),
],
q(shr) => [
- q(5997),
+ q(6034),
q(0),
],
q(shs) => [
- q(5998),
+ q(6035),
q(0),
],
q(sht) => [
- q(5999),
+ q(6036),
q(0),
],
q(shu) => [
- q(6000),
+ q(6037),
q(0),
],
q(shv) => [
- q(6001),
+ q(6038),
q(0),
],
q(shw) => [
- q(6002),
+ q(6039),
q(0),
],
q(shx) => [
- q(6003),
+ q(6040),
q(0),
],
q(shy) => [
- q(6004),
+ q(6041),
q(0),
],
q(shz) => [
- q(6005),
+ q(6042),
q(0),
],
q(sia) => [
- q(6006),
+ q(6043),
q(0),
],
q(sib) => [
- q(6007),
+ q(6044),
q(0),
],
q(sid) => [
@@ -81000,39 +81902,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sie) => [
- q(6008),
+ q(6045),
q(0),
],
q(sif) => [
- q(6009),
+ q(6046),
q(0),
],
q(sig) => [
- q(6010),
+ q(6047),
q(0),
],
q(sih) => [
- q(6011),
+ q(6048),
q(0),
],
q(sii) => [
- q(6012),
+ q(6049),
q(0),
],
q(sij) => [
- q(6013),
+ q(6050),
q(0),
],
q(sik) => [
- q(6014),
+ q(6051),
q(0),
],
q(sil) => [
- q(6015),
+ q(6052),
q(0),
],
q(sim) => [
- q(6016),
+ q(6053),
q(0),
],
q(sin) => [
@@ -81044,19 +81946,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sip) => [
- q(6017),
+ q(6054),
q(0),
],
q(siq) => [
- q(6018),
+ q(6055),
q(0),
],
q(sir) => [
- q(6019),
+ q(6056),
q(0),
],
q(sis) => [
- q(6020),
+ q(6057),
q(0),
],
q(sit) => [
@@ -81064,191 +81966,191 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(siu) => [
- q(6021),
+ q(6058),
q(0),
],
q(siv) => [
- q(6022),
+ q(6059),
q(0),
],
q(siw) => [
- q(6023),
+ q(6060),
q(0),
],
q(six) => [
- q(6024),
+ q(6061),
q(0),
],
q(siy) => [
- q(6025),
+ q(6062),
q(0),
],
q(siz) => [
- q(6026),
+ q(6063),
q(0),
],
q(sja) => [
- q(6027),
+ q(6064),
q(0),
],
q(sjb) => [
- q(6028),
+ q(6065),
q(0),
],
q(sjd) => [
- q(6029),
+ q(6066),
q(0),
],
q(sje) => [
- q(6030),
+ q(6067),
q(0),
],
q(sjg) => [
- q(6031),
+ q(6068),
q(0),
],
q(sjk) => [
- q(6032),
+ q(6069),
q(0),
],
q(sjl) => [
- q(6033),
+ q(6070),
q(0),
],
q(sjm) => [
- q(6034),
+ q(6071),
q(0),
],
q(sjn) => [
- q(6035),
+ q(6072),
q(0),
],
q(sjo) => [
- q(6036),
+ q(6073),
q(0),
],
q(sjp) => [
- q(6037),
+ q(6074),
q(0),
],
q(sjr) => [
- q(6038),
+ q(6075),
q(0),
],
q(sjs) => [
- q(6039),
+ q(6076),
q(0),
],
q(sjt) => [
- q(6040),
+ q(6077),
q(0),
],
q(sju) => [
- q(6041),
+ q(6078),
q(0),
],
q(sjw) => [
- q(6042),
+ q(6079),
q(0),
],
q(ska) => [
- q(6043),
+ q(6080),
q(0),
],
q(skb) => [
- q(6044),
+ q(6081),
q(0),
],
q(skc) => [
- q(6045),
+ q(6082),
q(0),
],
q(skd) => [
- q(6046),
+ q(6083),
q(0),
],
q(ske) => [
- q(6047),
+ q(6084),
q(0),
],
q(skf) => [
- q(6048),
+ q(6085),
q(0),
],
q(skg) => [
- q(6049),
+ q(6086),
q(0),
],
q(skh) => [
- q(6050),
+ q(6087),
q(0),
],
q(ski) => [
- q(6051),
+ q(6088),
q(0),
],
q(skj) => [
- q(6052),
+ q(6089),
q(0),
],
q(skk) => [
- q(6053),
+ q(6090),
q(0),
],
q(skm) => [
- q(6054),
+ q(6091),
q(0),
],
q(skn) => [
- q(6055),
+ q(6092),
q(0),
],
q(sko) => [
- q(6056),
+ q(6093),
q(0),
],
q(skp) => [
- q(6057),
+ q(6094),
q(0),
],
q(skq) => [
- q(6058),
+ q(6095),
q(0),
],
q(skr) => [
- q(6059),
+ q(6096),
q(0),
],
q(sks) => [
- q(6060),
+ q(6097),
q(0),
],
q(skt) => [
- q(6061),
+ q(6098),
q(0),
],
q(sku) => [
- q(6062),
+ q(6099),
q(0),
],
q(skv) => [
- q(6063),
+ q(6100),
q(0),
],
q(skw) => [
- q(6064),
+ q(6101),
q(0),
],
q(skx) => [
- q(6065),
+ q(6102),
q(0),
],
q(sky) => [
- q(6066),
+ q(6103),
q(0),
],
q(skz) => [
- q(6067),
+ q(6104),
q(0),
],
q(sla) => [
@@ -81256,47 +82158,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(slc) => [
- q(5877),
+ q(5914),
q(0),
],
q(sld) => [
- q(6068),
+ q(6105),
q(0),
],
q(sle) => [
- q(6069),
+ q(6106),
q(0),
],
q(slf) => [
- q(6070),
+ q(6107),
q(0),
],
q(slg) => [
- q(6071),
+ q(6108),
q(0),
],
q(slh) => [
- q(6072),
+ q(6109),
q(0),
],
q(sli) => [
- q(6073),
+ q(6110),
q(0),
],
q(slj) => [
- q(6074),
+ q(6111),
q(0),
],
q(sll) => [
- q(6075),
+ q(6112),
q(0),
],
q(slm) => [
- q(6076),
+ q(6113),
q(0),
],
q(sln) => [
- q(6077),
+ q(6114),
q(0),
],
q(slo) => [
@@ -81304,27 +82206,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(slp) => [
- q(6078),
+ q(6115),
q(0),
],
q(slq) => [
- q(6079),
+ q(6116),
q(0),
],
q(slr) => [
- q(6080),
+ q(6117),
q(0),
],
q(sls) => [
- q(6081),
+ q(6118),
q(0),
],
q(slt) => [
- q(6082),
+ q(6119),
q(0),
],
q(slu) => [
- q(6083),
+ q(6120),
q(0),
],
q(slv) => [
@@ -81332,19 +82234,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(slw) => [
- q(6084),
+ q(6121),
q(0),
],
q(slx) => [
- q(6085),
+ q(6122),
q(0),
],
q(sly) => [
- q(6086),
+ q(6123),
q(0),
],
q(slz) => [
- q(6087),
+ q(6124),
q(0),
],
q(sma) => [
@@ -81352,15 +82254,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(smb) => [
- q(6088),
+ q(6125),
q(0),
],
q(smc) => [
- q(6089),
+ q(6126),
q(0),
],
q(smd) => [
- q(6090),
+ q(6127),
q(0),
],
q(sme) => [
@@ -81368,15 +82270,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(smf) => [
- q(6091),
+ q(6128),
q(0),
],
q(smg) => [
- q(6092),
+ q(6129),
q(0),
],
q(smh) => [
- q(6093),
+ q(6130),
q(0),
],
q(smi) => [
@@ -81388,15 +82290,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(smk) => [
- q(6094),
+ q(6131),
q(0),
],
q(sml) => [
- q(6095),
+ q(6132),
q(0),
],
q(smm) => [
- q(6096),
+ q(6133),
q(0),
],
q(smn) => [
@@ -81408,15 +82310,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(smp) => [
- q(6097),
+ q(6134),
q(0),
],
q(smq) => [
- q(6098),
+ q(6135),
q(0),
],
q(smr) => [
- q(6099),
+ q(6136),
q(0),
],
q(sms) => [
@@ -81424,31 +82326,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(smt) => [
- q(6100),
+ q(6137),
q(0),
],
q(smu) => [
- q(6101),
+ q(6138),
q(0),
],
q(smv) => [
- q(6102),
+ q(6139),
q(0),
],
q(smw) => [
- q(6103),
+ q(6140),
q(0),
],
q(smx) => [
- q(6104),
+ q(6141),
q(0),
],
q(smy) => [
- q(6105),
+ q(6142),
q(0),
],
q(smz) => [
- q(6106),
+ q(6143),
q(0),
],
q(sna) => [
@@ -81456,11 +82358,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(snb) => [
- q(6107),
+ q(6144),
q(0),
],
q(snc) => [
- q(6108),
+ q(6145),
q(0),
],
q(snd) => [
@@ -81468,27 +82370,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sne) => [
- q(6109),
+ q(6146),
q(0),
],
q(snf) => [
- q(6110),
+ q(6147),
q(0),
],
q(sng) => [
- q(6111),
+ q(6148),
q(0),
],
q(snh) => [
- q(6112),
+ q(6149),
q(0),
],
q(sni) => [
- q(6113),
+ q(6150),
q(0),
],
q(snj) => [
- q(6114),
+ q(6151),
q(0),
],
q(snk) => [
@@ -81496,79 +82398,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(snl) => [
- q(6115),
+ q(6152),
q(0),
],
q(snm) => [
- q(6116),
+ q(6153),
q(0),
],
q(snn) => [
- q(6117),
+ q(6154),
q(0),
],
q(sno) => [
- q(6118),
+ q(6155),
q(0),
],
q(snp) => [
- q(6119),
+ q(6156),
q(0),
],
q(snq) => [
- q(6120),
+ q(6157),
q(0),
],
q(snr) => [
- q(6121),
+ q(6158),
q(0),
],
q(sns) => [
- q(6122),
+ q(6159),
q(0),
],
q(snu) => [
- q(6123),
+ q(6160),
q(0),
],
q(snv) => [
- q(6124),
+ q(6161),
q(0),
],
q(snw) => [
- q(6125),
+ q(6162),
q(0),
],
q(snx) => [
- q(6126),
+ q(6163),
q(0),
],
q(sny) => [
- q(6127),
+ q(6164),
q(0),
],
q(snz) => [
- q(6128),
+ q(6165),
q(0),
],
q(soa) => [
- q(6129),
+ q(6166),
q(0),
],
q(sob) => [
- q(6130),
+ q(6167),
q(0),
],
q(soc) => [
- q(6131),
+ q(6168),
q(0),
],
q(sod) => [
- q(6132),
+ q(6169),
q(0),
],
q(soe) => [
- q(6133),
+ q(6170),
q(0),
],
q(sog) => [
@@ -81576,23 +82478,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(soh) => [
- q(6134),
+ q(6171),
q(0),
],
q(soi) => [
- q(6135),
+ q(6172),
q(0),
],
q(soj) => [
- q(6136),
+ q(6173),
q(0),
],
q(sok) => [
- q(6137),
+ q(6174),
q(0),
],
q(sol) => [
- q(6138),
+ q(6175),
q(0),
],
q(som) => [
@@ -81604,23 +82506,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(soo) => [
- q(6139),
+ q(6176),
q(0),
],
q(sop) => [
- q(6140),
+ q(6177),
q(0),
],
q(soq) => [
- q(6141),
+ q(6178),
q(0),
],
q(sor) => [
- q(6142),
+ q(6179),
q(0),
],
q(sos) => [
- q(6143),
+ q(6180),
q(0),
],
q(sot) => [
@@ -81628,27 +82530,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sou) => [
- q(6144),
+ q(6181),
q(0),
],
q(sov) => [
- q(6145),
+ q(6182),
q(0),
],
q(sow) => [
- q(6146),
+ q(6183),
q(0),
],
q(sox) => [
- q(6147),
+ q(6184),
q(0),
],
q(soy) => [
- q(6148),
+ q(6185),
q(0),
],
q(soz) => [
- q(6149),
+ q(6186),
q(0),
],
q(spa) => [
@@ -81656,87 +82558,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(spb) => [
- q(6150),
+ q(6187),
q(0),
],
q(spc) => [
- q(6151),
+ q(6188),
q(0),
],
q(spd) => [
- q(6152),
+ q(6189),
q(0),
],
q(spe) => [
- q(6153),
+ q(6190),
q(0),
],
q(spg) => [
- q(6154),
+ q(6191),
q(0),
],
q(spi) => [
- q(6155),
+ q(6192),
q(0),
],
q(spk) => [
- q(6156),
+ q(6193),
q(0),
],
q(spl) => [
- q(6157),
+ q(6194),
q(0),
],
q(spm) => [
- q(6158),
+ q(6195),
q(0),
],
q(spo) => [
- q(6159),
+ q(6196),
q(0),
],
q(spp) => [
- q(6160),
+ q(6197),
q(0),
],
q(spq) => [
- q(6161),
+ q(6198),
q(0),
],
q(spr) => [
- q(6162),
+ q(6199),
q(0),
],
q(sps) => [
- q(6163),
+ q(6200),
q(0),
],
q(spt) => [
- q(6164),
+ q(6201),
q(0),
],
q(spu) => [
- q(6165),
+ q(6202),
q(0),
],
q(spv) => [
- q(6166),
+ q(6203),
q(0),
],
q(spx) => [
- q(6167),
+ q(6204),
q(0),
],
q(spy) => [
- q(6168),
+ q(6205),
q(0),
],
q(sqa) => [
- q(6169),
+ q(6206),
q(0),
],
q(sqh) => [
- q(6170),
+ q(6207),
q(0),
],
q(sqj) => [
@@ -81744,51 +82646,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sqk) => [
- q(6171),
+ q(6208),
q(0),
],
q(sqm) => [
- q(6172),
+ q(6209),
q(0),
],
q(sqn) => [
- q(6173),
+ q(6210),
q(0),
],
q(sqo) => [
- q(6174),
+ q(6211),
q(0),
],
q(sqq) => [
- q(6175),
+ q(6212),
q(0),
],
q(sqr) => [
- q(6176),
+ q(6213),
q(0),
],
q(sqs) => [
- q(6177),
+ q(6214),
q(0),
],
q(sqt) => [
- q(6178),
+ q(6215),
q(0),
],
q(squ) => [
- q(6179),
+ q(6216),
q(0),
],
q(sra) => [
- q(6180),
+ q(6217),
q(0),
],
q(srb) => [
- q(6181),
+ q(6218),
q(0),
],
q(src) => [
- q(6182),
+ q(6219),
q(0),
],
q(srd) => [
@@ -81796,35 +82698,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sre) => [
- q(6183),
+ q(6220),
q(0),
],
q(srf) => [
- q(6184),
+ q(6221),
q(0),
],
q(srg) => [
- q(6185),
+ q(6222),
q(0),
],
q(srh) => [
- q(6186),
+ q(6223),
q(0),
],
q(sri) => [
- q(6187),
+ q(6224),
q(0),
],
q(srk) => [
- q(6188),
+ q(6225),
q(0),
],
q(srl) => [
- q(6189),
+ q(6226),
q(0),
],
q(srm) => [
- q(6190),
+ q(6227),
q(0),
],
q(srn) => [
@@ -81832,7 +82734,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sro) => [
- q(6191),
+ q(6228),
q(0),
],
q(srp) => [
@@ -81840,7 +82742,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(srq) => [
- q(6192),
+ q(6229),
q(0),
],
q(srr) => [
@@ -81848,35 +82750,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(srs) => [
- q(6193),
+ q(6230),
q(0),
],
q(srt) => [
- q(6194),
+ q(6231),
q(0),
],
q(sru) => [
- q(6195),
+ q(6232),
q(0),
],
q(srv) => [
- q(6196),
+ q(6233),
q(0),
],
q(srw) => [
- q(6197),
+ q(6234),
q(0),
],
q(srx) => [
- q(6198),
+ q(6235),
q(0),
],
q(sry) => [
- q(6199),
+ q(6236),
q(0),
],
q(srz) => [
- q(6200),
+ q(6237),
q(0),
],
q(ssa) => [
@@ -81884,87 +82786,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ssb) => [
- q(6201),
+ q(6238),
q(0),
],
q(ssc) => [
- q(6202),
+ q(6239),
q(0),
],
q(ssd) => [
- q(6203),
+ q(6240),
q(0),
],
q(sse) => [
- q(6204),
+ q(6241),
q(0),
],
q(ssf) => [
- q(6205),
+ q(6242),
q(0),
],
q(ssg) => [
- q(6206),
+ q(6243),
q(0),
],
q(ssh) => [
- q(6207),
+ q(6244),
q(0),
],
q(ssi) => [
- q(6208),
+ q(6245),
q(0),
],
q(ssj) => [
- q(6209),
+ q(6246),
q(0),
],
q(ssk) => [
- q(6210),
+ q(6247),
q(0),
],
q(ssl) => [
- q(6211),
+ q(6248),
q(0),
],
q(ssm) => [
- q(6212),
+ q(6249),
q(0),
],
q(ssn) => [
- q(6213),
+ q(6250),
q(0),
],
q(sso) => [
- q(6214),
+ q(6251),
q(0),
],
q(ssp) => [
- q(6215),
+ q(6252),
q(0),
],
q(ssq) => [
- q(6216),
+ q(6253),
q(0),
],
q(ssr) => [
- q(6217),
+ q(6254),
q(0),
],
q(sss) => [
- q(6218),
+ q(6255),
q(0),
],
q(sst) => [
- q(6219),
+ q(6256),
q(0),
],
q(ssu) => [
- q(6220),
+ q(6257),
q(0),
],
q(ssv) => [
- q(6221),
+ q(6258),
q(0),
],
q(ssw) => [
@@ -81972,131 +82874,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ssx) => [
- q(6222),
+ q(6259),
q(0),
],
q(ssy) => [
- q(6223),
+ q(6260),
q(0),
],
q(ssz) => [
- q(6224),
+ q(6261),
q(0),
],
q(sta) => [
- q(6225),
+ q(6262),
q(0),
],
q(stb) => [
- q(6226),
+ q(6263),
q(0),
],
q(std) => [
- q(6227),
+ q(6264),
q(0),
],
q(ste) => [
- q(6228),
+ q(6265),
q(0),
],
q(stf) => [
- q(6229),
+ q(6266),
q(0),
],
q(stg) => [
- q(6230),
+ q(6267),
q(0),
],
q(sth) => [
- q(6231),
+ q(6268),
q(0),
],
q(sti) => [
- q(6232),
+ q(6269),
q(0),
],
q(stj) => [
- q(6233),
+ q(6270),
q(0),
],
q(stk) => [
- q(6234),
+ q(6271),
q(0),
],
q(stl) => [
- q(6235),
+ q(6272),
q(0),
],
q(stm) => [
- q(6236),
+ q(6273),
q(0),
],
q(stn) => [
- q(6237),
+ q(6274),
q(0),
],
q(sto) => [
- q(6238),
+ q(6275),
q(0),
],
q(stp) => [
- q(6239),
+ q(6276),
q(0),
],
q(stq) => [
- q(6240),
+ q(6277),
q(0),
],
q(str) => [
- q(6241),
+ q(6278),
q(0),
],
q(sts) => [
- q(6242),
+ q(6279),
q(0),
],
q(stt) => [
- q(6243),
+ q(6280),
q(0),
],
q(stu) => [
- q(6244),
+ q(6281),
q(0),
],
q(stv) => [
- q(6245),
+ q(6282),
q(0),
],
q(stw) => [
- q(6246),
+ q(6283),
+ q(0),
+ ],
+ q(sty) => [
+ q(6284),
q(0),
],
q(sua) => [
- q(6247),
+ q(6285),
q(0),
],
q(sub) => [
- q(6248),
+ q(6286),
q(0),
],
q(suc) => [
- q(6249),
+ q(6287),
q(0),
],
q(sue) => [
- q(6250),
+ q(6288),
q(0),
],
q(sug) => [
- q(6251),
+ q(6289),
q(0),
],
q(sui) => [
- q(6252),
+ q(6290),
q(0),
],
q(suj) => [
- q(6253),
+ q(6291),
q(0),
],
q(suk) => [
@@ -82108,11 +83014,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(suq) => [
- q(6254),
+ q(6292),
q(0),
],
q(sur) => [
- q(6255),
+ q(6293),
q(0),
],
q(sus) => [
@@ -82120,15 +83026,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sut) => [
- q(6256),
+ q(6294),
q(0),
],
q(suv) => [
- q(6257),
+ q(6295),
q(0),
],
q(suw) => [
- q(6258),
+ q(6296),
q(0),
],
q(sux) => [
@@ -82136,43 +83042,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(suy) => [
- q(6259),
+ q(6297),
q(0),
],
q(suz) => [
- q(6260),
+ q(6298),
q(0),
],
q(sva) => [
- q(6261),
+ q(6299),
q(0),
],
q(svb) => [
- q(6262),
+ q(6300),
q(0),
],
q(svc) => [
- q(6263),
+ q(6301),
q(0),
],
q(sve) => [
- q(6264),
+ q(6302),
q(0),
],
q(svk) => [
- q(6265),
+ q(6303),
+ q(0),
+ ],
+ q(svm) => [
+ q(6304),
q(0),
],
q(svr) => [
- q(6266),
+ q(6305),
q(0),
],
q(svs) => [
- q(6267),
+ q(6306),
q(0),
],
q(svx) => [
- q(6268),
+ q(6307),
q(0),
],
q(swa) => [
@@ -82180,11 +83090,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(swb) => [
- q(6269),
+ q(6308),
q(0),
],
q(swc) => [
- q(6270),
+ q(6309),
q(0),
],
q(swe) => [
@@ -82192,143 +83102,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(swf) => [
- q(6271),
+ q(6310),
q(0),
],
q(swg) => [
- q(6272),
+ q(6311),
q(0),
],
q(swh) => [
- q(6273),
+ q(6312),
q(0),
],
q(swi) => [
- q(6274),
+ q(6313),
q(0),
],
q(swj) => [
- q(6275),
+ q(6314),
q(0),
],
q(swk) => [
- q(6276),
+ q(6315),
q(0),
],
q(swl) => [
- q(6277),
+ q(6316),
q(0),
],
q(swm) => [
- q(6278),
+ q(6317),
q(0),
],
q(swn) => [
- q(6279),
+ q(6318),
q(0),
],
q(swo) => [
- q(6280),
+ q(6319),
q(0),
],
q(swp) => [
- q(6281),
+ q(6320),
q(0),
],
q(swq) => [
- q(6282),
+ q(6321),
q(0),
],
q(swr) => [
- q(6283),
+ q(6322),
q(0),
],
q(sws) => [
- q(6284),
+ q(6323),
q(0),
],
q(swt) => [
- q(6285),
+ q(6324),
q(0),
],
q(swu) => [
- q(6286),
+ q(6325),
q(0),
],
q(swv) => [
- q(6287),
+ q(6326),
q(0),
],
q(sww) => [
- q(6288),
+ q(6327),
q(0),
],
q(swx) => [
- q(6289),
+ q(6328),
q(0),
],
q(swy) => [
- q(6290),
+ q(6329),
q(0),
],
q(sxb) => [
- q(6291),
+ q(6330),
q(0),
],
q(sxc) => [
- q(6292),
+ q(6331),
q(0),
],
q(sxe) => [
- q(6293),
+ q(6332),
q(0),
],
q(sxg) => [
- q(6294),
+ q(6333),
q(0),
],
q(sxk) => [
- q(6295),
+ q(6334),
q(0),
],
q(sxl) => [
- q(6296),
+ q(6335),
q(0),
],
q(sxm) => [
- q(6297),
+ q(6336),
q(0),
],
q(sxn) => [
- q(6298),
+ q(6337),
q(0),
],
q(sxo) => [
- q(6299),
+ q(6338),
q(0),
],
q(sxr) => [
- q(6300),
+ q(6339),
q(0),
],
q(sxs) => [
- q(6301),
+ q(6340),
q(0),
],
q(sxu) => [
- q(6302),
+ q(6341),
q(0),
],
q(sxw) => [
- q(6303),
+ q(6342),
q(0),
],
q(sya) => [
- q(6304),
+ q(6343),
q(0),
],
q(syb) => [
- q(6305),
+ q(6344),
q(0),
],
q(syc) => [
@@ -82340,27 +83250,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(syi) => [
- q(6306),
+ q(6345),
q(0),
],
q(syk) => [
- q(6307),
+ q(6346),
q(0),
],
q(syl) => [
- q(6308),
+ q(6347),
q(0),
],
q(sym) => [
- q(6309),
+ q(6348),
q(0),
],
q(syn) => [
- q(6310),
+ q(6349),
q(0),
],
q(syo) => [
- q(6311),
+ q(6350),
q(0),
],
q(syr) => [
@@ -82368,87 +83278,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(sys) => [
- q(6312),
+ q(6351),
q(0),
],
q(syw) => [
- q(6313),
+ q(6352),
q(0),
],
q(syy) => [
- q(6314),
+ q(6353),
q(0),
],
q(sza) => [
- q(6315),
+ q(6354),
q(0),
],
q(szb) => [
- q(6316),
+ q(6355),
q(0),
],
q(szc) => [
- q(6317),
+ q(6356),
q(0),
],
q(szd) => [
- q(6318),
+ q(6357),
q(0),
],
q(sze) => [
- q(6319),
+ q(6358),
q(0),
],
q(szg) => [
- q(6320),
+ q(6359),
q(0),
],
q(szl) => [
- q(6321),
+ q(6360),
q(0),
],
q(szn) => [
- q(6322),
+ q(6361),
q(0),
],
q(szp) => [
- q(6323),
+ q(6362),
q(0),
],
q(szv) => [
- q(6324),
+ q(6363),
q(0),
],
q(szw) => [
- q(6325),
+ q(6364),
q(0),
],
q(taa) => [
- q(6326),
+ q(6365),
q(0),
],
q(tab) => [
- q(6327),
+ q(6366),
q(0),
],
q(tac) => [
- q(6328),
+ q(6367),
q(0),
],
q(tad) => [
- q(6329),
+ q(6368),
q(0),
],
q(tae) => [
- q(6330),
+ q(6369),
q(0),
],
q(taf) => [
- q(6331),
+ q(6370),
q(0),
],
q(tag) => [
- q(6332),
+ q(6371),
q(0),
],
q(tah) => [
@@ -82460,15 +83370,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(taj) => [
- q(6333),
+ q(6372),
q(0),
],
q(tak) => [
- q(6334),
+ q(6373),
q(0),
],
q(tal) => [
- q(6335),
+ q(6374),
q(0),
],
q(tam) => [
@@ -82476,27 +83386,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tan) => [
- q(6336),
+ q(6375),
q(0),
],
q(tao) => [
- q(6337),
+ q(6376),
q(0),
],
q(tap) => [
- q(6338),
+ q(6377),
q(0),
],
q(taq) => [
- q(6339),
+ q(6378),
q(0),
],
q(tar) => [
- q(6340),
+ q(6379),
q(0),
],
q(tas) => [
- q(6341),
+ q(6380),
q(0),
],
q(tat) => [
@@ -82504,91 +83414,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tau) => [
- q(6342),
+ q(6381),
q(0),
],
q(tav) => [
- q(6343),
+ q(6382),
q(0),
],
q(taw) => [
- q(6344),
+ q(6383),
q(0),
],
q(tax) => [
- q(6345),
+ q(6384),
q(0),
],
q(tay) => [
- q(6346),
+ q(6385),
q(0),
],
q(taz) => [
- q(6347),
+ q(6386),
q(0),
],
q(tba) => [
- q(6348),
+ q(6387),
q(0),
],
q(tbb) => [
- q(6349),
+ q(6388),
q(0),
],
q(tbc) => [
- q(6350),
+ q(6389),
q(0),
],
q(tbd) => [
- q(6351),
+ q(6390),
q(0),
],
q(tbe) => [
- q(6352),
+ q(6391),
q(0),
],
q(tbf) => [
- q(6353),
+ q(6392),
q(0),
],
q(tbg) => [
- q(6354),
+ q(6393),
q(0),
],
q(tbh) => [
- q(6355),
+ q(6394),
q(0),
],
q(tbi) => [
- q(6356),
+ q(6395),
q(0),
],
q(tbj) => [
- q(6357),
+ q(6396),
q(0),
],
q(tbk) => [
- q(6358),
+ q(6397),
q(0),
],
q(tbl) => [
- q(6359),
+ q(6398),
q(0),
],
q(tbm) => [
- q(6360),
+ q(6399),
q(0),
],
q(tbn) => [
- q(6361),
+ q(6400),
q(0),
],
q(tbo) => [
- q(6362),
+ q(6401),
q(0),
],
q(tbp) => [
- q(6363),
+ q(6402),
q(0),
],
q(tbq) => [
@@ -82596,259 +83506,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tbr) => [
- q(6364),
+ q(6403),
q(0),
],
q(tbs) => [
- q(6365),
+ q(6404),
q(0),
],
q(tbt) => [
- q(6366),
+ q(6405),
q(0),
],
q(tbu) => [
- q(6367),
+ q(6406),
q(0),
],
q(tbv) => [
- q(6368),
+ q(6407),
q(0),
],
q(tbw) => [
- q(6369),
+ q(6408),
q(0),
],
q(tbx) => [
- q(6370),
+ q(6409),
q(0),
],
q(tby) => [
- q(6371),
+ q(6410),
q(0),
],
q(tbz) => [
- q(6372),
+ q(6411),
q(0),
],
q(tca) => [
- q(6373),
+ q(6412),
q(0),
],
q(tcb) => [
- q(6374),
+ q(6413),
q(0),
],
q(tcc) => [
- q(6375),
+ q(6414),
q(0),
],
q(tcd) => [
- q(6376),
+ q(6415),
q(0),
],
q(tce) => [
- q(6377),
+ q(6416),
q(0),
],
q(tcf) => [
- q(6378),
+ q(6417),
q(0),
],
q(tcg) => [
- q(6379),
+ q(6418),
q(0),
],
q(tch) => [
- q(6380),
+ q(6419),
q(0),
],
q(tci) => [
- q(6381),
+ q(6420),
q(0),
],
q(tck) => [
- q(6382),
+ q(6421),
q(0),
],
q(tcl) => [
- q(6383),
+ q(6422),
q(0),
],
q(tcm) => [
- q(6384),
+ q(6423),
q(0),
],
q(tcn) => [
- q(6385),
+ q(6424),
q(0),
],
q(tco) => [
- q(6386),
+ q(6425),
q(0),
],
q(tcp) => [
- q(6387),
+ q(6426),
q(0),
],
q(tcq) => [
- q(6388),
+ q(6427),
q(0),
],
q(tcs) => [
- q(6389),
+ q(6428),
q(0),
],
q(tct) => [
- q(6390),
+ q(6429),
q(0),
],
q(tcu) => [
- q(6391),
+ q(6430),
q(0),
],
q(tcw) => [
- q(6392),
+ q(6431),
q(0),
],
q(tcx) => [
- q(6393),
+ q(6432),
q(0),
],
q(tcy) => [
- q(6394),
+ q(6433),
q(0),
],
q(tcz) => [
- q(6395),
+ q(6434),
q(0),
],
q(tda) => [
- q(6396),
+ q(6435),
q(0),
],
q(tdb) => [
- q(6397),
+ q(6436),
q(0),
],
q(tdc) => [
- q(6398),
+ q(6437),
q(0),
],
q(tdd) => [
- q(6399),
+ q(6438),
q(0),
],
q(tde) => [
- q(6400),
+ q(6439),
q(0),
],
q(tdf) => [
- q(6401),
+ q(6440),
q(0),
],
q(tdg) => [
- q(6402),
+ q(6441),
q(0),
],
q(tdh) => [
- q(6403),
+ q(6442),
q(0),
],
q(tdi) => [
- q(6404),
+ q(6443),
q(0),
],
q(tdj) => [
- q(6405),
+ q(6444),
q(0),
],
q(tdk) => [
- q(6406),
+ q(6445),
q(0),
],
q(tdl) => [
- q(6407),
+ q(6446),
q(0),
],
q(tdn) => [
- q(6408),
+ q(6447),
q(0),
],
q(tdo) => [
- q(6409),
+ q(6448),
q(0),
],
q(tdq) => [
- q(6410),
+ q(6449),
q(0),
],
q(tdr) => [
- q(6411),
+ q(6450),
q(0),
],
q(tds) => [
- q(6412),
+ q(6451),
q(0),
],
q(tdt) => [
- q(6413),
+ q(6452),
q(0),
],
q(tdu) => [
- q(6414),
+ q(6453),
q(0),
],
q(tdv) => [
- q(6415),
+ q(6454),
q(0),
],
q(tdx) => [
- q(6416),
+ q(6455),
q(0),
],
q(tdy) => [
- q(6417),
+ q(6456),
q(0),
],
q(tea) => [
- q(6418),
+ q(6457),
q(0),
],
q(teb) => [
- q(6419),
+ q(6458),
q(0),
],
q(tec) => [
- q(6420),
+ q(6459),
q(0),
],
q(ted) => [
- q(6421),
+ q(6460),
q(0),
],
q(tee) => [
- q(6422),
+ q(6461),
q(0),
],
q(tef) => [
- q(6423),
+ q(6462),
q(0),
],
q(teg) => [
- q(6424),
+ q(6463),
q(0),
],
q(teh) => [
- q(6425),
+ q(6464),
q(0),
],
q(tei) => [
- q(6426),
+ q(6465),
q(0),
],
q(tek) => [
- q(6427),
+ q(6466),
q(0),
],
q(tel) => [
@@ -82860,19 +83770,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ten) => [
- q(6428),
+ q(6467),
q(0),
],
q(teo) => [
- q(6429),
+ q(6468),
q(0),
],
q(tep) => [
- q(6430),
+ q(6469),
q(0),
],
q(teq) => [
- q(6431),
+ q(6470),
q(0),
],
q(ter) => [
@@ -82880,7 +83790,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tes) => [
- q(6432),
+ q(6471),
q(0),
],
q(tet) => [
@@ -82888,83 +83798,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(teu) => [
- q(6433),
+ q(6472),
q(0),
],
q(tev) => [
- q(6434),
+ q(6473),
q(0),
],
q(tew) => [
- q(6435),
+ q(6474),
q(0),
],
q(tex) => [
- q(6436),
+ q(6475),
q(0),
],
q(tey) => [
- q(6437),
+ q(6476),
q(0),
],
q(tfi) => [
- q(6438),
+ q(6477),
q(0),
],
q(tfn) => [
- q(6439),
+ q(6478),
q(0),
],
q(tfo) => [
- q(6440),
+ q(6479),
q(0),
],
q(tfr) => [
- q(6441),
+ q(6480),
q(0),
],
q(tft) => [
- q(6442),
+ q(6481),
q(0),
],
q(tga) => [
- q(6443),
+ q(6482),
q(0),
],
q(tgb) => [
- q(6444),
+ q(6483),
q(0),
],
q(tgc) => [
- q(6445),
+ q(6484),
q(0),
],
q(tgd) => [
- q(6446),
+ q(6485),
q(0),
],
q(tge) => [
- q(6447),
+ q(6486),
q(0),
],
q(tgf) => [
- q(6448),
- q(0),
- ],
- q(tgg) => [
- q(6449),
+ q(6487),
q(0),
],
q(tgh) => [
- q(6450),
+ q(6488),
q(0),
],
q(tgi) => [
- q(6451),
+ q(6489),
q(0),
],
q(tgj) => [
- q(6452),
+ q(6490),
q(0),
],
q(tgk) => [
@@ -82976,55 +83882,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tgn) => [
- q(6453),
+ q(6491),
q(0),
],
q(tgo) => [
- q(6454),
+ q(6492),
q(0),
],
q(tgp) => [
- q(6455),
+ q(6493),
q(0),
],
q(tgq) => [
- q(6456),
+ q(6494),
q(0),
],
q(tgr) => [
- q(6457),
+ q(6495),
q(0),
],
q(tgs) => [
- q(6458),
+ q(6496),
q(0),
],
q(tgt) => [
- q(6459),
+ q(6497),
q(0),
],
q(tgu) => [
- q(6460),
+ q(6498),
q(0),
],
q(tgv) => [
- q(6461),
+ q(6499),
q(0),
],
q(tgw) => [
- q(6462),
+ q(6500),
q(0),
],
q(tgx) => [
- q(6463),
+ q(6501),
q(0),
],
q(tgy) => [
- q(6464),
+ q(6502),
q(0),
],
q(tgz) => [
- q(6465),
+ q(6503),
q(0),
],
q(tha) => [
@@ -83032,91 +83938,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(thc) => [
- q(6466),
+ q(6504),
q(0),
],
q(thd) => [
- q(6467),
+ q(6505),
q(0),
],
q(the) => [
- q(6468),
+ q(6506),
q(0),
],
q(thf) => [
- q(6469),
+ q(6507),
q(0),
],
q(thh) => [
- q(6470),
+ q(6508),
q(0),
],
q(thi) => [
- q(6471),
+ q(6509),
q(0),
],
q(thk) => [
- q(6472),
+ q(6510),
q(0),
],
q(thl) => [
- q(6473),
+ q(6511),
q(0),
],
q(thm) => [
- q(6474),
+ q(6512),
q(0),
],
q(thn) => [
- q(6475),
+ q(6513),
q(0),
],
q(thp) => [
- q(6476),
+ q(6514),
q(0),
],
q(thq) => [
- q(6477),
+ q(6515),
q(0),
],
q(thr) => [
- q(6478),
+ q(6516),
q(0),
],
q(ths) => [
- q(6479),
+ q(6517),
q(0),
],
q(tht) => [
- q(6480),
+ q(6518),
q(0),
],
q(thu) => [
- q(6481),
+ q(6519),
q(0),
],
q(thv) => [
- q(6482),
+ q(6520),
q(0),
],
q(thw) => [
- q(6483),
+ q(6521),
q(0),
],
q(thx) => [
- q(6484),
+ q(6522),
q(0),
],
q(thy) => [
- q(6485),
+ q(6523),
q(0),
],
q(thz) => [
- q(6486),
+ q(6524),
q(0),
],
q(tia) => [
- q(6487),
+ q(6525),
q(0),
],
q(tib) => [
@@ -83124,15 +84030,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tic) => [
- q(6488),
+ q(6526),
q(0),
],
q(tid) => [
- q(6489),
+ q(6527),
q(0),
],
q(tif) => [
- q(6490),
+ q(6528),
q(0),
],
q(tig) => [
@@ -83140,43 +84046,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tih) => [
- q(6491),
+ q(6529),
q(0),
],
q(tii) => [
- q(6492),
+ q(6530),
q(0),
],
q(tij) => [
- q(6493),
+ q(6531),
q(0),
],
q(tik) => [
- q(6494),
+ q(6532),
q(0),
],
q(til) => [
- q(6495),
+ q(6533),
q(0),
],
q(tim) => [
- q(6496),
+ q(6534),
q(0),
],
q(tin) => [
- q(6497),
+ q(6535),
q(0),
],
q(tio) => [
- q(6498),
+ q(6536),
q(0),
],
q(tip) => [
- q(6499),
+ q(6537),
q(0),
],
q(tiq) => [
- q(6500),
+ q(6538),
q(0),
],
q(tir) => [
@@ -83184,15 +84090,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tis) => [
- q(6501),
+ q(6539),
q(0),
],
q(tit) => [
- q(6502),
+ q(6540),
q(0),
],
q(tiu) => [
- q(6503),
+ q(6541),
q(0),
],
q(tiv) => [
@@ -83200,79 +84106,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tiw) => [
- q(6504),
+ q(6542),
q(0),
],
q(tix) => [
- q(6505),
+ q(6543),
q(0),
],
q(tiy) => [
- q(6506),
+ q(6544),
q(0),
],
q(tiz) => [
- q(6507),
+ q(6545),
q(0),
],
q(tja) => [
- q(6508),
+ q(6546),
q(0),
],
q(tjg) => [
- q(6509),
+ q(6547),
q(0),
],
q(tji) => [
- q(6510),
+ q(6548),
q(0),
],
q(tjl) => [
- q(6511),
+ q(6549),
q(0),
],
q(tjm) => [
- q(6512),
+ q(6550),
q(0),
],
q(tjn) => [
- q(6513),
+ q(6551),
q(0),
],
q(tjo) => [
- q(6514),
+ q(6552),
q(0),
],
q(tjs) => [
- q(6515),
+ q(6553),
q(0),
],
q(tju) => [
- q(6516),
+ q(6554),
+ q(0),
+ ],
+ q(tjw) => [
+ q(6555),
q(0),
],
q(tka) => [
- q(6517),
+ q(6556),
q(0),
],
q(tkb) => [
- q(6518),
+ q(6557),
q(0),
],
q(tkd) => [
- q(6519),
+ q(6558),
q(0),
],
q(tke) => [
- q(6520),
+ q(6559),
q(0),
],
q(tkf) => [
- q(6521),
+ q(6560),
q(0),
],
q(tkg) => [
- q(6522),
+ q(6561),
q(0),
],
q(tkl) => [
@@ -83280,71 +84190,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tkm) => [
- q(6523),
+ q(6562),
q(0),
],
q(tkn) => [
- q(6524),
+ q(6563),
q(0),
],
q(tkp) => [
- q(6525),
+ q(6564),
q(0),
],
q(tkq) => [
- q(6526),
+ q(6565),
q(0),
],
q(tkr) => [
- q(6527),
+ q(6566),
q(0),
],
q(tks) => [
- q(6528),
+ q(6567),
q(0),
],
q(tkt) => [
- q(6529),
+ q(6568),
q(0),
],
q(tku) => [
- q(6530),
+ q(6569),
q(0),
],
q(tkw) => [
- q(6531),
+ q(6570),
q(0),
],
q(tkx) => [
- q(6532),
+ q(6571),
q(0),
],
q(tkz) => [
- q(6533),
+ q(6572),
q(0),
],
q(tla) => [
- q(6534),
+ q(6573),
q(0),
],
q(tlb) => [
- q(6535),
+ q(6574),
q(0),
],
q(tlc) => [
- q(6536),
+ q(6575),
q(0),
],
q(tld) => [
- q(6537),
+ q(6576),
q(0),
],
q(tlf) => [
- q(6538),
+ q(6577),
q(0),
],
q(tlg) => [
- q(6539),
+ q(6578),
q(0),
],
q(tlh) => [
@@ -83356,91 +84266,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tlj) => [
- q(6540),
+ q(6579),
q(0),
],
q(tlk) => [
- q(6541),
+ q(6580),
q(0),
],
q(tll) => [
- q(6542),
+ q(6581),
q(0),
],
q(tlm) => [
- q(6543),
+ q(6582),
q(0),
],
q(tln) => [
- q(6544),
+ q(6583),
q(0),
],
q(tlo) => [
- q(6545),
+ q(6584),
q(0),
],
q(tlp) => [
- q(6546),
+ q(6585),
q(0),
],
q(tlq) => [
- q(6547),
+ q(6586),
q(0),
],
q(tlr) => [
- q(6548),
+ q(6587),
q(0),
],
q(tls) => [
- q(6549),
+ q(6588),
q(0),
],
q(tlt) => [
- q(6550),
+ q(6589),
q(0),
],
q(tlu) => [
- q(6551),
+ q(6590),
q(0),
],
q(tlv) => [
- q(6552),
+ q(6591),
q(0),
],
q(tlx) => [
- q(6553),
+ q(6592),
q(0),
],
q(tly) => [
- q(6554),
+ q(6593),
q(0),
],
q(tma) => [
- q(6555),
+ q(6594),
q(0),
],
q(tmb) => [
- q(6556),
+ q(6595),
q(0),
],
q(tmc) => [
- q(6557),
+ q(6596),
q(0),
],
q(tmd) => [
- q(6558),
+ q(6597),
q(0),
],
q(tme) => [
- q(6559),
+ q(6598),
q(0),
],
q(tmf) => [
- q(6560),
+ q(6599),
q(0),
],
q(tmg) => [
- q(6561),
+ q(6600),
q(0),
],
q(tmh) => [
@@ -83448,187 +84358,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tmi) => [
- q(6562),
+ q(6601),
q(0),
],
q(tmj) => [
- q(6563),
+ q(6602),
q(0),
],
q(tmk) => [
- q(6564),
+ q(6603),
q(0),
],
q(tml) => [
- q(6565),
+ q(6604),
q(0),
],
q(tmm) => [
- q(6566),
+ q(6605),
q(0),
],
q(tmn) => [
- q(6567),
+ q(6606),
q(0),
],
q(tmo) => [
- q(6568),
+ q(6607),
q(0),
],
q(tmp) => [
- q(6569),
+ q(6608),
q(0),
],
q(tmq) => [
- q(6570),
+ q(6609),
q(0),
],
q(tmr) => [
- q(6571),
+ q(6610),
q(0),
],
q(tms) => [
- q(6572),
+ q(6611),
q(0),
],
q(tmt) => [
- q(6573),
+ q(6612),
q(0),
],
q(tmu) => [
- q(6574),
+ q(6613),
q(0),
],
q(tmv) => [
- q(6575),
+ q(6614),
q(0),
],
q(tmw) => [
- q(6576),
+ q(6615),
q(0),
],
q(tmy) => [
- q(6577),
+ q(6616),
q(0),
],
q(tmz) => [
- q(6578),
+ q(6617),
q(0),
],
q(tna) => [
- q(6579),
+ q(6618),
q(0),
],
q(tnb) => [
- q(6580),
+ q(6619),
q(0),
],
q(tnc) => [
- q(6581),
+ q(6620),
q(0),
],
q(tnd) => [
- q(6582),
+ q(6621),
q(0),
],
q(tne) => [
- q(6583),
+ q(6622),
q(0),
],
q(tng) => [
- q(6584),
+ q(6623),
q(0),
],
q(tnh) => [
- q(6585),
+ q(6624),
q(0),
],
q(tni) => [
- q(6586),
+ q(6625),
q(0),
],
q(tnk) => [
- q(6587),
+ q(6626),
q(0),
],
q(tnl) => [
- q(6588),
+ q(6627),
q(0),
],
q(tnm) => [
- q(6589),
+ q(6628),
q(0),
],
q(tnn) => [
- q(6590),
+ q(6629),
q(0),
],
q(tno) => [
- q(6591),
+ q(6630),
q(0),
],
q(tnp) => [
- q(6592),
+ q(6631),
q(0),
],
q(tnq) => [
- q(6593),
+ q(6632),
q(0),
],
q(tnr) => [
- q(6594),
+ q(6633),
q(0),
],
q(tns) => [
- q(6595),
+ q(6634),
q(0),
],
q(tnt) => [
- q(6596),
+ q(6635),
q(0),
],
q(tnu) => [
- q(6597),
+ q(6636),
q(0),
],
q(tnv) => [
- q(6598),
+ q(6637),
q(0),
],
q(tnw) => [
- q(6599),
+ q(6638),
q(0),
],
q(tnx) => [
- q(6600),
+ q(6639),
q(0),
],
q(tny) => [
- q(6601),
+ q(6640),
q(0),
],
q(tnz) => [
- q(6602),
+ q(6641),
q(0),
],
q(tob) => [
- q(6603),
+ q(6642),
q(0),
],
q(toc) => [
- q(6604),
+ q(6643),
q(0),
],
q(tod) => [
- q(6605),
+ q(6644),
q(0),
],
q(toe) => [
- q(6606),
+ q(6645),
q(0),
],
q(tof) => [
- q(6607),
+ q(6646),
q(0),
],
q(tog) => [
@@ -83636,23 +84546,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(toh) => [
- q(6608),
+ q(6647),
q(0),
],
q(toi) => [
- q(6609),
+ q(6648),
q(0),
],
q(toj) => [
- q(6610),
+ q(6649),
q(0),
],
q(tol) => [
- q(6611),
+ q(6650),
q(0),
],
q(tom) => [
- q(6612),
+ q(6651),
q(0),
],
q(ton) => [
@@ -83660,67 +84570,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(too) => [
- q(6613),
+ q(6652),
q(0),
],
q(top) => [
- q(6614),
+ q(6653),
q(0),
],
q(toq) => [
- q(6615),
+ q(6654),
q(0),
],
q(tor) => [
- q(6616),
+ q(6655),
q(0),
],
q(tos) => [
- q(6617),
+ q(6656),
q(0),
],
q(tou) => [
- q(6618),
+ q(6657),
q(0),
],
q(tov) => [
- q(6619),
+ q(6658),
q(0),
],
q(tow) => [
- q(6620),
+ q(6659),
q(0),
],
q(tox) => [
- q(6621),
+ q(6660),
q(0),
],
q(toy) => [
- q(6622),
+ q(6661),
q(0),
],
q(toz) => [
- q(6623),
+ q(6662),
q(0),
],
q(tpa) => [
- q(6624),
+ q(6663),
q(0),
],
q(tpc) => [
- q(6625),
+ q(6664),
q(0),
],
q(tpe) => [
- q(6626),
+ q(6665),
q(0),
],
q(tpf) => [
- q(6627),
+ q(6666),
q(0),
],
q(tpg) => [
- q(6628),
+ q(6667),
q(0),
],
q(tpi) => [
@@ -83728,151 +84638,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tpj) => [
- q(6629),
+ q(6668),
q(0),
],
q(tpk) => [
- q(6630),
+ q(6669),
q(0),
],
q(tpl) => [
- q(6631),
+ q(6670),
q(0),
],
q(tpm) => [
- q(6632),
+ q(6671),
q(0),
],
q(tpn) => [
- q(6633),
+ q(6672),
q(0),
],
q(tpo) => [
- q(6634),
+ q(6673),
q(0),
],
q(tpp) => [
- q(6635),
+ q(6674),
q(0),
],
q(tpq) => [
- q(6636),
+ q(6675),
q(0),
],
q(tpr) => [
- q(6637),
+ q(6676),
q(0),
],
q(tpt) => [
- q(6638),
+ q(6677),
q(0),
],
q(tpu) => [
- q(6639),
+ q(6678),
q(0),
],
q(tpv) => [
- q(6640),
+ q(6679),
q(0),
],
q(tpw) => [
- q(6641),
+ q(6680),
q(0),
],
q(tpx) => [
- q(6642),
+ q(6681),
q(0),
],
q(tpy) => [
- q(6643),
+ q(6682),
q(0),
],
q(tpz) => [
- q(6644),
+ q(6683),
q(0),
],
q(tqb) => [
- q(6645),
+ q(6684),
q(0),
],
q(tql) => [
- q(6646),
+ q(6685),
q(0),
],
q(tqm) => [
- q(6647),
+ q(6686),
q(0),
],
q(tqn) => [
- q(6648),
+ q(6687),
q(0),
],
q(tqo) => [
- q(6649),
+ q(6688),
q(0),
],
q(tqp) => [
- q(6650),
+ q(6689),
q(0),
],
q(tqq) => [
- q(6651),
+ q(6690),
q(0),
],
q(tqr) => [
- q(6652),
+ q(6691),
q(0),
],
q(tqt) => [
- q(6653),
+ q(6692),
q(0),
],
q(tqu) => [
- q(6654),
+ q(6693),
q(0),
],
q(tqw) => [
- q(6655),
+ q(6694),
q(0),
],
q(tra) => [
- q(6656),
+ q(6695),
q(0),
],
q(trb) => [
- q(6657),
+ q(6696),
q(0),
],
q(trc) => [
- q(6658),
+ q(6697),
q(0),
],
q(trd) => [
- q(6659),
+ q(6698),
q(0),
],
q(tre) => [
- q(6660),
+ q(6699),
q(0),
],
q(trf) => [
- q(6661),
+ q(6700),
q(0),
],
q(trg) => [
- q(6662),
+ q(6701),
q(0),
],
q(trh) => [
- q(6663),
+ q(6702),
q(0),
],
q(tri) => [
- q(6664),
+ q(6703),
q(0),
],
q(trj) => [
- q(6665),
+ q(6704),
q(0),
],
q(trk) => [
@@ -83880,95 +84790,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(trl) => [
- q(6666),
+ q(6705),
q(0),
],
q(trm) => [
- q(6667),
+ q(6706),
q(0),
],
q(trn) => [
- q(6668),
+ q(6707),
q(0),
],
q(tro) => [
- q(6669),
+ q(6708),
q(0),
],
q(trp) => [
- q(6670),
+ q(6709),
q(0),
],
q(trq) => [
- q(6671),
+ q(6710),
q(0),
],
q(trr) => [
- q(6672),
+ q(6711),
q(0),
],
q(trs) => [
- q(6673),
+ q(6712),
q(0),
],
q(trt) => [
- q(6674),
+ q(6713),
q(0),
],
q(tru) => [
- q(6675),
+ q(6714),
q(0),
],
q(trv) => [
- q(6676),
+ q(6715),
q(0),
],
q(trw) => [
- q(6677),
+ q(6716),
q(0),
],
q(trx) => [
- q(6678),
+ q(6717),
q(0),
],
q(try) => [
- q(6679),
+ q(6718),
q(0),
],
q(trz) => [
- q(6680),
+ q(6719),
q(0),
],
q(tsa) => [
- q(6681),
+ q(6720),
q(0),
],
q(tsb) => [
- q(6682),
+ q(6721),
q(0),
],
q(tsc) => [
- q(6683),
+ q(6722),
q(0),
],
q(tsd) => [
- q(6684),
+ q(6723),
q(0),
],
q(tse) => [
- q(6685),
+ q(6724),
q(0),
],
q(tsf) => [
- q(6686),
+ q(6725),
q(0),
],
q(tsg) => [
- q(6687),
+ q(6726),
q(0),
],
q(tsh) => [
- q(6688),
+ q(6727),
q(0),
],
q(tsi) => [
@@ -83976,19 +84886,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tsj) => [
- q(6689),
+ q(6728),
q(0),
],
q(tsk) => [
- q(6690),
+ q(6729),
q(0),
],
q(tsl) => [
- q(6691),
+ q(6730),
q(0),
],
q(tsm) => [
- q(6692),
+ q(6731),
q(0),
],
q(tsn) => [
@@ -84000,187 +84910,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tsp) => [
- q(6693),
+ q(6732),
q(0),
],
q(tsq) => [
- q(6694),
+ q(6733),
q(0),
],
q(tsr) => [
- q(6695),
+ q(6734),
q(0),
],
q(tss) => [
- q(6696),
+ q(6735),
q(0),
],
q(tst) => [
- q(6697),
+ q(6736),
q(0),
],
q(tsu) => [
- q(6698),
+ q(6737),
q(0),
],
q(tsv) => [
- q(6699),
+ q(6738),
q(0),
],
q(tsw) => [
- q(6700),
+ q(6739),
q(0),
],
q(tsx) => [
- q(6701),
+ q(6740),
q(0),
],
q(tsy) => [
- q(6702),
+ q(6741),
q(0),
],
q(tsz) => [
- q(6703),
+ q(6742),
q(0),
],
q(tta) => [
- q(6704),
+ q(6743),
q(0),
],
q(ttb) => [
- q(6705),
+ q(6744),
q(0),
],
q(ttc) => [
- q(6706),
+ q(6745),
q(0),
],
q(ttd) => [
- q(6707),
+ q(6746),
q(0),
],
q(tte) => [
- q(6708),
+ q(6747),
q(0),
],
q(ttf) => [
- q(6709),
+ q(6748),
q(0),
],
q(ttg) => [
- q(6710),
+ q(6749),
q(0),
],
q(tth) => [
- q(6711),
+ q(6750),
q(0),
],
q(tti) => [
- q(6712),
+ q(6751),
q(0),
],
q(ttj) => [
- q(6713),
+ q(6752),
q(0),
],
q(ttk) => [
- q(6714),
+ q(6753),
q(0),
],
q(ttl) => [
- q(6715),
+ q(6754),
q(0),
],
q(ttm) => [
- q(6716),
+ q(6755),
q(0),
],
q(ttn) => [
- q(6717),
+ q(6756),
q(0),
],
q(tto) => [
- q(6718),
+ q(6757),
q(0),
],
q(ttp) => [
- q(6719),
+ q(6758),
q(0),
],
q(ttq) => [
- q(6720),
+ q(6759),
q(0),
],
q(ttr) => [
- q(6721),
+ q(6760),
q(0),
],
q(tts) => [
- q(6722),
+ q(6761),
q(0),
],
q(ttt) => [
- q(6723),
+ q(6762),
q(0),
],
q(ttu) => [
- q(6724),
+ q(6763),
q(0),
],
q(ttv) => [
- q(6725),
+ q(6764),
q(0),
],
q(ttw) => [
- q(6726),
+ q(6765),
q(0),
],
q(tty) => [
- q(6727),
+ q(6766),
q(0),
],
q(ttz) => [
- q(6728),
+ q(6767),
q(0),
],
q(tua) => [
- q(6729),
+ q(6768),
q(0),
],
q(tub) => [
- q(6730),
+ q(6769),
q(0),
],
q(tuc) => [
- q(6731),
+ q(6770),
q(0),
],
q(tud) => [
- q(6732),
+ q(6771),
q(0),
],
q(tue) => [
- q(6733),
+ q(6772),
q(0),
],
q(tuf) => [
- q(6734),
+ q(6773),
q(0),
],
q(tug) => [
- q(6735),
+ q(6774),
q(0),
],
q(tuh) => [
- q(6736),
+ q(6775),
q(0),
],
q(tui) => [
- q(6737),
+ q(6776),
q(0),
],
q(tuj) => [
- q(6738),
+ q(6777),
q(0),
],
q(tuk) => [
@@ -84188,7 +85098,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tul) => [
- q(6739),
+ q(6778),
q(0),
],
q(tum) => [
@@ -84196,11 +85106,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tun) => [
- q(6740),
+ q(6779),
q(0),
],
q(tuo) => [
- q(6741),
+ q(6780),
q(0),
],
q(tup) => [
@@ -84208,7 +85118,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tuq) => [
- q(6742),
+ q(6781),
q(0),
],
q(tur) => [
@@ -84216,7 +85126,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tus) => [
- q(6743),
+ q(6782),
q(0),
],
q(tut) => [
@@ -84224,11 +85134,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tuu) => [
- q(6744),
+ q(6783),
q(0),
],
q(tuv) => [
- q(6745),
+ q(6784),
q(0),
],
q(tuw) => [
@@ -84236,31 +85146,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tux) => [
- q(6746),
+ q(6785),
q(0),
],
q(tuy) => [
- q(6747),
+ q(6786),
q(0),
],
q(tuz) => [
- q(6748),
+ q(6787),
q(0),
],
q(tva) => [
- q(6749),
+ q(6788),
q(0),
],
q(tvd) => [
- q(6750),
+ q(6789),
q(0),
],
q(tve) => [
- q(6751),
+ q(6790),
q(0),
],
q(tvk) => [
- q(6752),
+ q(6791),
q(0),
],
q(tvl) => [
@@ -84268,67 +85178,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tvm) => [
- q(6753),
+ q(6792),
q(0),
],
q(tvn) => [
- q(6754),
+ q(6793),
q(0),
],
q(tvo) => [
- q(6755),
+ q(6794),
q(0),
],
q(tvs) => [
- q(6756),
+ q(6795),
q(0),
],
q(tvt) => [
- q(6757),
+ q(6796),
q(0),
],
q(tvu) => [
- q(6758),
+ q(6797),
q(0),
],
q(tvw) => [
- q(6759),
+ q(6798),
q(0),
],
q(tvy) => [
- q(6760),
+ q(6799),
q(0),
],
q(twa) => [
- q(6761),
+ q(6800),
q(0),
],
q(twb) => [
- q(6762),
+ q(6801),
q(0),
],
q(twc) => [
- q(6763),
+ q(6802),
q(0),
],
q(twd) => [
- q(6764),
+ q(6803),
q(0),
],
q(twe) => [
- q(6765),
+ q(6804),
q(0),
],
q(twf) => [
- q(6766),
+ q(6805),
q(0),
],
q(twg) => [
- q(6767),
+ q(6806),
q(0),
],
q(twh) => [
- q(6768),
+ q(6807),
q(0),
],
q(twi) => [
@@ -84336,167 +85246,167 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(twl) => [
- q(6769),
+ q(6808),
q(0),
],
q(twm) => [
- q(6770),
+ q(6809),
q(0),
],
q(twn) => [
- q(6771),
+ q(6810),
q(0),
],
q(two) => [
- q(6772),
+ q(6811),
q(0),
],
q(twp) => [
- q(6773),
+ q(6812),
q(0),
],
q(twq) => [
- q(6774),
+ q(6813),
q(0),
],
q(twr) => [
- q(6775),
+ q(6814),
q(0),
],
q(twt) => [
- q(6776),
+ q(6815),
q(0),
],
q(twu) => [
- q(6777),
+ q(6816),
q(0),
],
q(tww) => [
- q(6778),
+ q(6817),
q(0),
],
q(twx) => [
- q(6779),
+ q(6818),
q(0),
],
q(twy) => [
- q(6780),
+ q(6819),
q(0),
],
q(txa) => [
- q(6781),
+ q(6820),
q(0),
],
q(txb) => [
- q(6782),
+ q(6821),
q(0),
],
q(txc) => [
- q(6783),
+ q(6822),
q(0),
],
q(txe) => [
- q(6784),
+ q(6823),
q(0),
],
q(txg) => [
- q(6785),
+ q(6824),
q(0),
],
q(txh) => [
- q(6786),
+ q(6825),
q(0),
],
q(txi) => [
- q(6787),
+ q(6826),
q(0),
],
q(txm) => [
- q(6788),
+ q(6827),
q(0),
],
q(txn) => [
- q(6789),
+ q(6828),
q(0),
],
q(txo) => [
- q(6790),
+ q(6829),
q(0),
],
q(txq) => [
- q(6791),
+ q(6830),
q(0),
],
q(txr) => [
- q(6792),
+ q(6831),
q(0),
],
q(txs) => [
- q(6793),
+ q(6832),
q(0),
],
q(txt) => [
- q(6794),
+ q(6833),
q(0),
],
q(txu) => [
- q(6795),
+ q(6834),
q(0),
],
q(txx) => [
- q(6796),
+ q(6835),
q(0),
],
q(txy) => [
- q(6797),
+ q(6836),
q(0),
],
q(tya) => [
- q(6798),
+ q(6837),
q(0),
],
q(tye) => [
- q(6799),
+ q(6838),
q(0),
],
q(tyh) => [
- q(6800),
+ q(6839),
q(0),
],
q(tyi) => [
- q(6801),
+ q(6840),
q(0),
],
q(tyj) => [
- q(6802),
+ q(6841),
q(0),
],
q(tyl) => [
- q(6803),
+ q(6842),
q(0),
],
q(tyn) => [
- q(6804),
+ q(6843),
q(0),
],
q(typ) => [
- q(6805),
+ q(6844),
q(0),
],
q(tyr) => [
- q(6806),
+ q(6845),
q(0),
],
q(tys) => [
- q(6807),
+ q(6846),
q(0),
],
q(tyt) => [
- q(6808),
+ q(6847),
q(0),
],
q(tyu) => [
- q(6809),
+ q(6848),
q(0),
],
q(tyv) => [
@@ -84504,99 +85414,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(tyx) => [
- q(6810),
+ q(6849),
q(0),
],
q(tyz) => [
- q(6811),
+ q(6850),
q(0),
],
q(tza) => [
- q(6812),
+ q(6851),
q(0),
],
q(tzh) => [
- q(6813),
+ q(6852),
q(0),
],
q(tzj) => [
- q(6814),
+ q(6853),
+ q(0),
+ ],
+ q(tzl) => [
+ q(6854),
q(0),
],
q(tzm) => [
- q(6815),
+ q(6855),
q(0),
],
q(tzn) => [
- q(6816),
+ q(6856),
q(0),
],
q(tzo) => [
- q(6817),
+ q(6857),
q(0),
],
q(tzx) => [
- q(6818),
+ q(6858),
q(0),
],
q(uam) => [
- q(6819),
+ q(6859),
q(0),
],
q(uan) => [
- q(6820),
+ q(6860),
q(0),
],
q(uar) => [
- q(6821),
+ q(6861),
q(0),
],
q(uba) => [
- q(6822),
+ q(6862),
q(0),
],
q(ubi) => [
- q(6823),
+ q(6863),
q(0),
],
q(ubl) => [
- q(6824),
+ q(6864),
q(0),
],
q(ubr) => [
- q(6825),
+ q(6865),
q(0),
],
q(ubu) => [
- q(6826),
+ q(6866),
q(0),
],
q(uby) => [
- q(6827),
+ q(6867),
q(0),
],
q(uda) => [
- q(6828),
+ q(6868),
q(0),
],
q(ude) => [
- q(6829),
+ q(6869),
q(0),
],
q(udg) => [
- q(6830),
+ q(6870),
q(0),
],
q(udi) => [
- q(6831),
+ q(6871),
q(0),
],
q(udj) => [
- q(6832),
+ q(6872),
q(0),
],
q(udl) => [
- q(6833),
+ q(6873),
q(0),
],
q(udm) => [
@@ -84604,15 +85518,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(udu) => [
- q(6834),
+ q(6874),
q(0),
],
q(ues) => [
- q(6835),
+ q(6875),
q(0),
],
q(ufi) => [
- q(6836),
+ q(6876),
q(0),
],
q(uga) => [
@@ -84620,31 +85534,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ugb) => [
- q(6837),
+ q(6877),
q(0),
],
q(uge) => [
- q(6838),
+ q(6878),
q(0),
],
q(ugn) => [
- q(6839),
+ q(6879),
q(0),
],
q(ugo) => [
- q(6840),
+ q(6880),
q(0),
],
q(ugy) => [
- q(6841),
+ q(6881),
q(0),
],
q(uha) => [
- q(6842),
+ q(6882),
q(0),
],
q(uhn) => [
- q(6843),
+ q(6883),
q(0),
],
q(uig) => [
@@ -84652,39 +85566,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(uis) => [
- q(6844),
+ q(6884),
q(0),
],
q(uiv) => [
- q(6845),
+ q(6885),
q(0),
],
q(uji) => [
- q(6846),
+ q(6886),
q(0),
],
q(uka) => [
- q(6847),
+ q(6887),
q(0),
],
q(ukg) => [
- q(6848),
+ q(6888),
q(0),
],
q(ukh) => [
- q(6849),
+ q(6889),
q(0),
],
q(ukl) => [
- q(6850),
+ q(6890),
q(0),
],
q(ukp) => [
- q(6851),
+ q(6891),
q(0),
],
q(ukq) => [
- q(6852),
+ q(6892),
q(0),
],
q(ukr) => [
@@ -84692,67 +85606,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(uks) => [
- q(6853),
+ q(6893),
q(0),
],
q(uku) => [
- q(6854),
+ q(6894),
q(0),
],
q(ukw) => [
- q(6855),
+ q(6895),
q(0),
],
q(uky) => [
- q(6856),
+ q(6896),
q(0),
],
q(ula) => [
- q(6857),
+ q(6897),
q(0),
],
q(ulb) => [
- q(6858),
+ q(6898),
q(0),
],
q(ulc) => [
- q(6859),
+ q(6899),
+ q(0),
+ ],
+ q(ule) => [
+ q(6900),
q(0),
],
q(ulf) => [
- q(6860),
+ q(6901),
q(0),
],
q(uli) => [
- q(6861),
+ q(6902),
q(0),
],
q(ulk) => [
- q(6862),
+ q(6903),
q(0),
],
q(ull) => [
- q(6863),
+ q(6904),
q(0),
],
q(ulm) => [
- q(6864),
+ q(6905),
q(0),
],
q(uln) => [
- q(6865),
+ q(6906),
q(0),
],
q(ulu) => [
- q(6866),
+ q(6907),
q(0),
],
q(ulw) => [
- q(6867),
+ q(6908),
q(0),
],
q(uma) => [
- q(6868),
+ q(6909),
q(0),
],
q(umb) => [
@@ -84760,51 +85678,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(umc) => [
- q(6869),
+ q(6910),
q(0),
],
q(umd) => [
- q(6870),
+ q(6911),
q(0),
],
q(umg) => [
- q(6871),
+ q(6912),
q(0),
],
q(umi) => [
- q(6872),
+ q(6913),
q(0),
],
q(umm) => [
- q(6873),
+ q(6914),
q(0),
],
q(umn) => [
- q(6874),
+ q(6915),
q(0),
],
q(umo) => [
- q(6875),
+ q(6916),
q(0),
],
q(ump) => [
- q(6876),
+ q(6917),
q(0),
],
q(umr) => [
- q(6877),
+ q(6918),
q(0),
],
q(ums) => [
- q(6878),
+ q(6919),
q(0),
],
q(umu) => [
- q(6879),
+ q(6920),
q(0),
],
q(una) => [
- q(6880),
+ q(6921),
q(0),
],
q(und) => [
@@ -84812,55 +85730,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(une) => [
- q(6881),
+ q(6922),
q(0),
],
q(ung) => [
- q(6882),
+ q(6923),
q(0),
],
q(unk) => [
- q(6883),
+ q(6924),
q(0),
],
q(unm) => [
- q(6884),
+ q(6925),
+ q(0),
+ ],
+ q(unn) => [
+ q(6926),
q(0),
],
q(unr) => [
- q(6885),
+ q(6927),
+ q(0),
+ ],
+ q(unu) => [
+ q(6928),
q(0),
],
q(unx) => [
- q(6886),
+ q(6929),
q(0),
],
q(unz) => [
- q(6887),
+ q(6930),
q(0),
],
q(uok) => [
- q(6888),
+ q(6931),
q(0),
],
q(upi) => [
- q(6889),
+ q(6932),
q(0),
],
q(upv) => [
- q(6890),
+ q(6933),
q(0),
],
q(ura) => [
- q(6891),
+ q(6934),
q(0),
],
q(urb) => [
- q(6892),
+ q(6935),
q(0),
],
q(urc) => [
- q(6893),
+ q(6936),
q(0),
],
q(urd) => [
@@ -84868,23 +85794,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ure) => [
- q(6894),
+ q(6937),
q(0),
],
q(urf) => [
- q(6895),
+ q(6938),
q(0),
],
q(urg) => [
- q(6896),
+ q(6939),
q(0),
],
q(urh) => [
- q(6897),
+ q(6940),
q(0),
],
q(uri) => [
- q(6898),
+ q(6941),
q(0),
],
q(urj) => [
@@ -84892,139 +85818,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(urk) => [
- q(6899),
+ q(6942),
q(0),
],
q(url) => [
- q(6900),
+ q(6943),
q(0),
],
q(urm) => [
- q(6901),
+ q(6944),
q(0),
],
q(urn) => [
- q(6902),
+ q(6945),
q(0),
],
q(uro) => [
- q(6903),
+ q(6946),
q(0),
],
q(urp) => [
- q(6904),
+ q(6947),
q(0),
],
q(urr) => [
- q(6905),
+ q(6948),
q(0),
],
q(urt) => [
- q(6906),
+ q(6949),
q(0),
],
q(uru) => [
- q(6907),
+ q(6950),
q(0),
],
q(urv) => [
- q(6908),
+ q(6951),
q(0),
],
q(urw) => [
- q(6909),
+ q(6952),
q(0),
],
q(urx) => [
- q(6910),
+ q(6953),
q(0),
],
q(ury) => [
- q(6911),
+ q(6954),
q(0),
],
q(urz) => [
- q(6912),
+ q(6955),
q(0),
],
q(usa) => [
- q(6913),
+ q(6956),
q(0),
],
q(ush) => [
- q(6914),
+ q(6957),
q(0),
],
q(usi) => [
- q(6915),
+ q(6958),
q(0),
],
q(usk) => [
- q(6916),
+ q(6959),
q(0),
],
q(usp) => [
- q(6917),
+ q(6960),
q(0),
],
q(usu) => [
- q(6918),
+ q(6961),
q(0),
],
q(uta) => [
- q(6919),
+ q(6962),
q(0),
],
q(ute) => [
- q(6920),
+ q(6963),
q(0),
],
q(utp) => [
- q(6921),
+ q(6964),
q(0),
],
q(utr) => [
- q(6922),
+ q(6965),
q(0),
],
q(utu) => [
- q(6923),
+ q(6966),
q(0),
],
q(uum) => [
- q(6924),
+ q(6967),
q(0),
],
q(uun) => [
- q(6925),
+ q(6968),
q(0),
],
q(uur) => [
- q(6926),
+ q(6969),
q(0),
],
q(uuu) => [
- q(6927),
+ q(6970),
q(0),
],
q(uve) => [
- q(6928),
+ q(6971),
q(0),
],
q(uvh) => [
- q(6929),
+ q(6972),
q(0),
],
q(uvl) => [
- q(6930),
+ q(6973),
q(0),
],
q(uwa) => [
- q(6931),
+ q(6974),
q(0),
],
q(uya) => [
- q(6932),
+ q(6975),
q(0),
],
q(uzb) => [
@@ -85032,31 +85958,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(uzn) => [
- q(6933),
+ q(6976),
q(0),
],
q(uzs) => [
- q(6934),
+ q(6977),
q(0),
],
q(vaa) => [
- q(6935),
+ q(6978),
q(0),
],
q(vae) => [
- q(6936),
+ q(6979),
q(0),
],
q(vaf) => [
- q(6937),
+ q(6980),
q(0),
],
q(vag) => [
- q(6938),
+ q(6981),
q(0),
],
q(vah) => [
- q(6939),
+ q(6982),
q(0),
],
q(vai) => [
@@ -85064,71 +85990,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(vaj) => [
- q(6940),
+ q(6983),
q(0),
],
q(val) => [
- q(6941),
+ q(6984),
q(0),
],
q(vam) => [
- q(6942),
+ q(6985),
q(0),
],
q(van) => [
- q(6943),
+ q(6986),
q(0),
],
q(vao) => [
- q(6944),
+ q(6987),
q(0),
],
q(vap) => [
- q(6945),
+ q(6988),
q(0),
],
q(var) => [
- q(6946),
+ q(6989),
q(0),
],
q(vas) => [
- q(6947),
+ q(6990),
q(0),
],
q(vau) => [
- q(6948),
+ q(6991),
q(0),
],
q(vav) => [
- q(6949),
+ q(6992),
q(0),
],
q(vay) => [
- q(6950),
+ q(6993),
q(0),
],
q(vbb) => [
- q(6951),
+ q(6994),
q(0),
],
q(vbk) => [
- q(6952),
+ q(6995),
q(0),
],
q(vec) => [
- q(6953),
+ q(6996),
q(0),
],
q(ved) => [
- q(6954),
+ q(6997),
q(0),
],
q(vel) => [
- q(6955),
+ q(6998),
q(0),
],
q(vem) => [
- q(6956),
+ q(6999),
q(0),
],
q(ven) => [
@@ -85136,31 +86062,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(veo) => [
- q(6957),
+ q(7000),
q(0),
],
q(vep) => [
- q(6958),
+ q(7001),
q(0),
],
q(ver) => [
- q(6959),
+ q(7002),
q(0),
],
q(vgr) => [
- q(6960),
+ q(7003),
q(0),
],
q(vgt) => [
- q(6961),
+ q(7004),
q(0),
],
q(vic) => [
- q(6962),
+ q(7005),
q(0),
],
q(vid) => [
- q(6963),
+ q(7006),
q(0),
],
q(vie) => [
@@ -85168,183 +86094,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(vif) => [
- q(6964),
+ q(7007),
q(0),
],
q(vig) => [
- q(6965),
+ q(7008),
q(0),
],
q(vil) => [
- q(6966),
+ q(7009),
q(0),
],
q(vin) => [
- q(6967),
+ q(7010),
q(0),
],
q(vis) => [
- q(6968),
+ q(7011),
q(0),
],
q(vit) => [
- q(6969),
+ q(7012),
q(0),
],
q(viv) => [
- q(6970),
+ q(7013),
q(0),
],
q(vka) => [
- q(6971),
+ q(7014),
q(0),
],
q(vki) => [
- q(6972),
+ q(7015),
q(0),
],
q(vkj) => [
- q(6973),
+ q(7016),
q(0),
],
q(vkk) => [
- q(6974),
+ q(7017),
q(0),
],
q(vkl) => [
- q(6975),
+ q(7018),
q(0),
],
q(vkm) => [
- q(6976),
+ q(7019),
q(0),
],
q(vko) => [
- q(6977),
+ q(7020),
q(0),
],
q(vkp) => [
- q(6978),
+ q(7021),
q(0),
],
q(vkt) => [
- q(6979),
+ q(7022),
q(0),
],
q(vku) => [
- q(6980),
+ q(7023),
q(0),
],
q(vlp) => [
- q(6981),
+ q(7024),
q(0),
],
q(vls) => [
- q(6982),
+ q(7025),
q(0),
],
q(vma) => [
- q(6983),
+ q(7026),
q(0),
],
q(vmb) => [
- q(6984),
+ q(7027),
q(0),
],
q(vmc) => [
- q(6985),
+ q(7028),
q(0),
],
q(vmd) => [
- q(6986),
+ q(7029),
q(0),
],
q(vme) => [
- q(6987),
+ q(7030),
q(0),
],
q(vmf) => [
- q(6988),
+ q(7031),
q(0),
],
q(vmg) => [
- q(6989),
+ q(7032),
q(0),
],
q(vmh) => [
- q(6990),
+ q(7033),
q(0),
],
q(vmi) => [
- q(6991),
+ q(7034),
q(0),
],
q(vmj) => [
- q(6992),
+ q(7035),
q(0),
],
q(vmk) => [
- q(6993),
+ q(7036),
q(0),
],
q(vml) => [
- q(6994),
+ q(7037),
q(0),
],
q(vmm) => [
- q(6995),
+ q(7038),
q(0),
],
q(vmp) => [
- q(6996),
+ q(7039),
q(0),
],
q(vmq) => [
- q(6997),
+ q(7040),
q(0),
],
q(vmr) => [
- q(6998),
+ q(7041),
q(0),
],
q(vms) => [
- q(6999),
+ q(7042),
q(0),
],
q(vmu) => [
- q(7000),
+ q(7043),
q(0),
],
q(vmv) => [
- q(7001),
+ q(7044),
q(0),
],
q(vmw) => [
- q(7002),
+ q(7045),
q(0),
],
q(vmx) => [
- q(7003),
+ q(7046),
q(0),
],
q(vmy) => [
- q(7004),
+ q(7047),
q(0),
],
q(vmz) => [
- q(7005),
+ q(7048),
q(0),
],
q(vnk) => [
- q(7006),
+ q(7049),
q(0),
],
q(vnm) => [
- q(7007),
+ q(7050),
q(0),
],
q(vnp) => [
- q(7008),
+ q(7051),
q(0),
],
q(vol) => [
@@ -85352,7 +86278,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(vor) => [
- q(7009),
+ q(7052),
q(0),
],
q(vot) => [
@@ -85360,91 +86286,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(vra) => [
- q(7010),
+ q(7053),
q(0),
],
q(vro) => [
- q(7009),
+ q(7052),
q(0),
],
q(vrs) => [
- q(7011),
+ q(7054),
q(0),
],
q(vrt) => [
- q(7012),
+ q(7055),
q(0),
],
q(vsi) => [
- q(7013),
+ q(7056),
q(0),
],
q(vsl) => [
- q(7014),
+ q(7057),
q(0),
],
q(vsv) => [
- q(7015),
+ q(7058),
q(0),
],
q(vto) => [
- q(7016),
+ q(7059),
q(0),
],
q(vum) => [
- q(7017),
+ q(7060),
q(0),
],
q(vun) => [
- q(7018),
+ q(7061),
q(0),
],
q(vut) => [
- q(7019),
+ q(7062),
q(0),
],
q(vwa) => [
- q(7020),
+ q(7063),
q(0),
],
q(waa) => [
- q(7021),
+ q(7064),
q(0),
],
q(wab) => [
- q(7022),
+ q(7065),
q(0),
],
q(wac) => [
- q(7023),
+ q(7066),
q(0),
],
q(wad) => [
- q(7024),
+ q(7067),
q(0),
],
q(wae) => [
- q(7025),
+ q(7068),
q(0),
],
q(waf) => [
- q(7026),
+ q(7069),
q(0),
],
q(wag) => [
- q(7027),
+ q(7070),
q(0),
],
q(wah) => [
- q(7028),
+ q(7071),
q(0),
],
q(wai) => [
- q(7029),
+ q(7072),
q(0),
],
q(waj) => [
- q(7030),
+ q(7073),
q(0),
],
q(wak) => [
@@ -85456,23 +86382,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(1),
],
q(wam) => [
- q(7031),
+ q(7074),
q(0),
],
q(wan) => [
- q(7032),
+ q(7075),
q(0),
],
q(wao) => [
- q(7033),
+ q(7076),
q(0),
],
q(wap) => [
- q(7034),
+ q(7077),
q(0),
],
q(waq) => [
- q(7035),
+ q(7078),
q(0),
],
q(war) => [
@@ -85484,139 +86410,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(wat) => [
- q(7036),
+ q(7079),
q(0),
],
q(wau) => [
- q(7037),
+ q(7080),
q(0),
],
q(wav) => [
- q(7038),
+ q(7081),
q(0),
],
q(waw) => [
- q(7039),
+ q(7082),
q(0),
],
q(wax) => [
- q(7040),
+ q(7083),
q(0),
],
q(way) => [
- q(7041),
+ q(7084),
q(0),
],
q(waz) => [
- q(7042),
+ q(7085),
q(0),
],
q(wba) => [
- q(7043),
+ q(7086),
q(0),
],
q(wbb) => [
- q(7044),
+ q(7087),
q(0),
],
q(wbe) => [
- q(7045),
+ q(7088),
q(0),
],
q(wbf) => [
- q(6381),
+ q(6420),
q(0),
],
q(wbh) => [
- q(7046),
+ q(7089),
q(0),
],
q(wbi) => [
- q(7047),
+ q(7090),
q(0),
],
q(wbj) => [
- q(7048),
+ q(7091),
q(0),
],
q(wbk) => [
- q(7049),
+ q(7092),
q(0),
],
q(wbl) => [
- q(7050),
+ q(7093),
q(0),
],
q(wbm) => [
- q(7051),
+ q(7094),
q(0),
],
q(wbp) => [
- q(7052),
+ q(7095),
q(0),
],
q(wbq) => [
- q(7053),
+ q(7096),
q(0),
],
q(wbr) => [
- q(7054),
+ q(7097),
q(0),
],
q(wbt) => [
- q(7055),
+ q(7098),
q(0),
],
q(wbv) => [
- q(7056),
+ q(7099),
q(0),
],
q(wbw) => [
- q(7057),
+ q(7100),
q(0),
],
q(wca) => [
- q(7058),
+ q(7101),
q(0),
],
q(wci) => [
- q(7059),
+ q(7102),
q(0),
],
q(wdd) => [
- q(7060),
+ q(7103),
q(0),
],
q(wdg) => [
- q(7061),
+ q(7104),
q(0),
],
q(wdj) => [
- q(7062),
+ q(7105),
+ q(0),
+ ],
+ q(wdk) => [
+ q(7106),
q(0),
],
q(wdu) => [
- q(7063),
+ q(7107),
+ q(0),
+ ],
+ q(wdy) => [
+ q(7108),
q(0),
],
q(wea) => [
- q(7064),
+ q(7109),
q(0),
],
q(wec) => [
- q(7065),
+ q(7110),
q(0),
],
q(wed) => [
- q(7066),
+ q(7111),
+ q(0),
+ ],
+ q(weg) => [
+ q(7112),
q(0),
],
q(weh) => [
- q(7067),
+ q(7113),
q(0),
],
q(wei) => [
- q(7068),
+ q(7114),
q(0),
],
q(wel) => [
@@ -85624,7 +86562,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(wem) => [
- q(7069),
+ q(7115),
q(0),
],
q(wen) => [
@@ -85632,211 +86570,211 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(weo) => [
- q(7070),
+ q(7116),
q(0),
],
q(wep) => [
- q(7071),
+ q(7117),
q(0),
],
q(wer) => [
- q(7072),
+ q(7118),
q(0),
],
q(wes) => [
- q(7073),
+ q(7119),
q(0),
],
q(wet) => [
- q(7074),
+ q(7120),
q(0),
],
q(weu) => [
- q(7075),
+ q(7121),
q(0),
],
q(wew) => [
- q(7076),
+ q(7122),
q(0),
],
q(wfg) => [
- q(7077),
+ q(7123),
q(0),
],
q(wga) => [
- q(7078),
+ q(7124),
q(0),
],
q(wgb) => [
- q(7079),
+ q(7125),
q(0),
],
q(wgg) => [
- q(7080),
+ q(7126),
q(0),
],
q(wgi) => [
- q(7081),
+ q(7127),
q(0),
],
q(wgo) => [
- q(7082),
+ q(7128),
q(0),
],
q(wgu) => [
- q(7083),
+ q(7129),
q(0),
],
q(wgy) => [
- q(7084),
+ q(7130),
q(0),
],
q(wha) => [
- q(7085),
+ q(7131),
q(0),
],
q(whg) => [
- q(7086),
+ q(7132),
q(0),
],
q(whk) => [
- q(7087),
+ q(7133),
q(0),
],
q(whu) => [
- q(7088),
+ q(7134),
q(0),
],
q(wib) => [
- q(7089),
+ q(7135),
q(0),
],
q(wic) => [
- q(7090),
+ q(7136),
q(0),
],
q(wie) => [
- q(7091),
+ q(7137),
q(0),
],
q(wif) => [
- q(7092),
+ q(7138),
q(0),
],
q(wig) => [
- q(7093),
+ q(7139),
q(0),
],
q(wih) => [
- q(7094),
+ q(7140),
q(0),
],
q(wii) => [
- q(7095),
+ q(7141),
q(0),
],
q(wij) => [
- q(7096),
+ q(7142),
q(0),
],
q(wik) => [
- q(7097),
+ q(7143),
q(0),
],
q(wil) => [
- q(7098),
+ q(7144),
q(0),
],
q(wim) => [
- q(7099),
+ q(7145),
q(0),
],
q(win) => [
- q(7100),
+ q(7146),
q(0),
],
q(wir) => [
- q(7101),
- q(0),
- ],
- q(wit) => [
- q(7102),
+ q(7147),
q(0),
],
q(wiu) => [
- q(7103),
+ q(7148),
q(0),
],
q(wiv) => [
- q(7104),
+ q(7149),
q(0),
],
q(wiy) => [
- q(7105),
+ q(7150),
q(0),
],
q(wja) => [
- q(7106),
+ q(7151),
q(0),
],
q(wji) => [
- q(7107),
+ q(7152),
q(0),
],
q(wka) => [
- q(7108),
+ q(7153),
q(0),
],
q(wkb) => [
- q(7109),
+ q(7154),
q(0),
],
q(wkd) => [
- q(7110),
+ q(7155),
q(0),
],
q(wkl) => [
- q(7111),
+ q(7156),
q(0),
],
q(wku) => [
- q(7112),
+ q(7157),
q(0),
],
q(wkw) => [
- q(7113),
+ q(7158),
+ q(0),
+ ],
+ q(wky) => [
+ q(7159),
q(0),
],
q(wla) => [
- q(7114),
+ q(7160),
q(0),
],
q(wlc) => [
- q(7115),
+ q(7161),
q(0),
],
q(wle) => [
- q(7116),
+ q(7162),
q(0),
],
q(wlg) => [
- q(7117),
+ q(7163),
q(0),
],
q(wli) => [
- q(7118),
+ q(7164),
q(0),
],
q(wlk) => [
- q(7119),
+ q(7165),
q(0),
],
q(wll) => [
- q(7120),
+ q(7166),
q(0),
],
q(wlm) => [
- q(7121),
+ q(7167),
q(0),
],
q(wln) => [
@@ -85844,175 +86782,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(wlo) => [
- q(7122),
+ q(7168),
q(0),
],
q(wlr) => [
- q(7123),
+ q(7169),
q(0),
],
q(wls) => [
- q(7124),
+ q(7170),
q(0),
],
q(wlu) => [
- q(7125),
+ q(7171),
q(0),
],
q(wlv) => [
- q(7126),
+ q(7172),
q(0),
],
q(wlw) => [
- q(7127),
+ q(7173),
q(0),
],
q(wlx) => [
- q(7128),
+ q(7174),
q(0),
],
q(wly) => [
- q(7129),
+ q(7175),
q(0),
],
q(wma) => [
- q(7130),
+ q(7176),
q(0),
],
q(wmb) => [
- q(7131),
+ q(7177),
q(0),
],
q(wmc) => [
- q(7132),
+ q(7178),
q(0),
],
q(wmd) => [
- q(7133),
+ q(7179),
q(0),
],
q(wme) => [
- q(7134),
+ q(7180),
q(0),
],
q(wmh) => [
- q(7135),
+ q(7181),
q(0),
],
q(wmi) => [
- q(7136),
+ q(7182),
q(0),
],
q(wmm) => [
- q(7137),
+ q(7183),
q(0),
],
q(wmn) => [
- q(7138),
+ q(7184),
q(0),
],
q(wmo) => [
- q(7139),
+ q(7185),
q(0),
],
q(wms) => [
- q(7140),
+ q(7186),
q(0),
],
q(wmt) => [
- q(7141),
+ q(7187),
q(0),
],
q(wmw) => [
- q(7142),
+ q(7188),
q(0),
],
q(wmx) => [
- q(7143),
+ q(7189),
q(0),
],
q(wnb) => [
- q(7144),
+ q(7190),
q(0),
],
q(wnc) => [
- q(7145),
+ q(7191),
q(0),
],
q(wnd) => [
- q(7146),
+ q(7192),
q(0),
],
q(wne) => [
- q(7147),
+ q(7193),
q(0),
],
q(wng) => [
- q(7148),
+ q(7194),
q(0),
],
q(wni) => [
- q(7149),
+ q(7195),
q(0),
],
q(wnk) => [
- q(7150),
+ q(7196),
q(0),
],
q(wnm) => [
- q(7151),
+ q(7197),
+ q(0),
+ ],
+ q(wnn) => [
+ q(7198),
q(0),
],
q(wno) => [
- q(7152),
+ q(7199),
q(0),
],
q(wnp) => [
- q(7153),
+ q(7200),
q(0),
],
q(wnu) => [
- q(7154),
+ q(7201),
+ q(0),
+ ],
+ q(wnw) => [
+ q(7202),
q(0),
],
q(wny) => [
- q(7155),
+ q(7203),
q(0),
],
q(woa) => [
- q(7156),
+ q(7204),
q(0),
],
q(wob) => [
- q(7157),
+ q(7205),
q(0),
],
q(woc) => [
- q(7158),
+ q(7206),
q(0),
],
q(wod) => [
- q(7159),
+ q(7207),
q(0),
],
q(woe) => [
- q(7160),
+ q(7208),
q(0),
],
q(wof) => [
- q(7161),
+ q(7209),
q(0),
],
q(wog) => [
- q(7162),
+ q(7210),
q(0),
],
q(woi) => [
- q(7163),
+ q(7211),
q(0),
],
q(wok) => [
- q(7164),
+ q(7212),
q(0),
],
q(wol) => [
@@ -86020,287 +86966,299 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(wom) => [
- q(7165),
+ q(7213),
q(0),
],
q(won) => [
- q(7166),
+ q(7214),
q(0),
],
q(woo) => [
- q(7167),
+ q(7215),
q(0),
],
q(wor) => [
- q(7168),
+ q(7216),
q(0),
],
q(wos) => [
- q(7169),
+ q(7217),
q(0),
],
q(wow) => [
- q(7170),
+ q(7218),
q(0),
],
q(woy) => [
- q(7171),
+ q(7219),
q(0),
],
q(wpc) => [
- q(7172),
+ q(7220),
q(0),
],
q(wra) => [
- q(7173),
+ q(7221),
q(0),
],
q(wrb) => [
- q(7174),
+ q(7222),
q(0),
],
q(wrd) => [
- q(7175),
+ q(7223),
q(0),
],
q(wrg) => [
- q(7176),
+ q(7224),
q(0),
],
q(wrh) => [
- q(7177),
+ q(7225),
q(0),
],
q(wri) => [
- q(7178),
+ q(7226),
q(0),
],
q(wrk) => [
- q(7179),
+ q(7227),
q(0),
],
q(wrl) => [
- q(7180),
+ q(7228),
q(0),
],
q(wrm) => [
- q(7181),
+ q(7229),
q(0),
],
q(wrn) => [
- q(7182),
+ q(7230),
q(0),
],
q(wro) => [
- q(7183),
+ q(7231),
q(0),
],
q(wrp) => [
- q(7184),
+ q(7232),
q(0),
],
q(wrr) => [
- q(7185),
+ q(7233),
q(0),
],
q(wrs) => [
- q(7186),
+ q(7234),
q(0),
],
q(wru) => [
- q(7187),
+ q(7235),
q(0),
],
q(wrv) => [
- q(7188),
+ q(7236),
q(0),
],
q(wrw) => [
- q(7189),
+ q(7237),
q(0),
],
q(wrx) => [
- q(7190),
+ q(7238),
q(0),
],
q(wry) => [
- q(7191),
+ q(7239),
q(0),
],
q(wrz) => [
- q(7192),
+ q(7240),
q(0),
],
q(wsa) => [
- q(7193),
+ q(7241),
q(0),
],
q(wsi) => [
- q(7194),
+ q(7242),
q(0),
],
q(wsk) => [
- q(7195),
+ q(7243),
q(0),
],
q(wsr) => [
- q(7196),
+ q(7244),
q(0),
],
q(wss) => [
- q(7197),
+ q(7245),
q(0),
],
q(wsu) => [
- q(7198),
+ q(7246),
q(0),
],
q(wsv) => [
- q(7199),
+ q(7247),
q(0),
],
q(wtf) => [
- q(7200),
+ q(7248),
+ q(0),
+ ],
+ q(wth) => [
+ q(7249),
q(0),
],
q(wti) => [
- q(7201),
+ q(7250),
q(0),
],
q(wtk) => [
- q(7202),
+ q(7251),
q(0),
],
q(wtm) => [
- q(7203),
+ q(7252),
q(0),
],
q(wtw) => [
- q(7204),
+ q(7253),
q(0),
],
q(wua) => [
- q(7205),
+ q(7254),
q(0),
],
q(wub) => [
- q(7206),
+ q(7255),
q(0),
],
q(wud) => [
- q(7207),
+ q(7256),
q(0),
],
q(wuh) => [
- q(7208),
+ q(7257),
q(0),
],
q(wul) => [
- q(7209),
+ q(7258),
q(0),
],
q(wum) => [
- q(7210),
+ q(7259),
q(0),
],
q(wun) => [
- q(7211),
+ q(7260),
q(0),
],
q(wur) => [
- q(7212),
+ q(7261),
q(0),
],
q(wut) => [
- q(7213),
+ q(7262),
q(0),
],
q(wuu) => [
- q(7214),
+ q(7263),
q(0),
],
q(wuv) => [
- q(7215),
+ q(7264),
q(0),
],
q(wux) => [
- q(7216),
+ q(7265),
q(0),
],
q(wuy) => [
- q(7217),
+ q(7266),
q(0),
],
q(wwa) => [
- q(7218),
+ q(7267),
q(0),
],
q(wwb) => [
- q(7219),
+ q(7268),
q(0),
],
q(wwo) => [
- q(7220),
+ q(7269),
q(0),
],
q(wwr) => [
- q(7221),
+ q(7270),
q(0),
],
q(www) => [
- q(7222),
+ q(7271),
q(0),
],
q(wxa) => [
- q(7223),
+ q(7272),
+ q(0),
+ ],
+ q(wxw) => [
+ q(7273),
q(0),
],
q(wya) => [
- q(7224),
+ q(7274),
q(0),
],
q(wyb) => [
- q(7225),
+ q(7275),
+ q(0),
+ ],
+ q(wyi) => [
+ q(7276),
q(0),
],
q(wym) => [
- q(7226),
+ q(7277),
q(0),
],
q(wyr) => [
- q(7227),
+ q(7278),
q(0),
],
q(wyy) => [
- q(7228),
+ q(7279),
q(0),
],
q(xaa) => [
- q(7229),
+ q(7280),
q(0),
],
q(xab) => [
- q(7230),
+ q(7281),
q(0),
],
q(xac) => [
- q(7231),
+ q(7282),
q(0),
],
q(xad) => [
- q(7232),
+ q(7283),
q(0),
],
q(xae) => [
- q(7233),
+ q(7284),
q(0),
],
q(xag) => [
- q(7234),
+ q(7285),
q(0),
],
q(xai) => [
- q(7235),
+ q(7286),
q(0),
],
q(xal) => [
@@ -86308,223 +87266,271 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(xam) => [
- q(7236),
+ q(7287),
q(0),
],
q(xan) => [
- q(7237),
+ q(7288),
q(0),
],
q(xao) => [
- q(7238),
+ q(7289),
q(0),
],
q(xap) => [
- q(7239),
+ q(7290),
q(0),
],
q(xaq) => [
- q(7240),
+ q(7291),
q(0),
],
q(xar) => [
- q(7241),
+ q(7292),
q(0),
],
q(xas) => [
- q(7242),
+ q(7293),
q(0),
],
q(xat) => [
- q(7243),
+ q(7294),
q(0),
],
q(xau) => [
- q(7244),
+ q(7295),
q(0),
],
q(xav) => [
- q(7245),
+ q(7296),
q(0),
],
q(xaw) => [
- q(7246),
+ q(7297),
q(0),
],
q(xay) => [
- q(7247),
+ q(7298),
q(0),
],
q(xba) => [
- q(7248),
+ q(7299),
q(0),
],
q(xbb) => [
- q(7249),
+ q(7300),
q(0),
],
q(xbc) => [
- q(7250),
+ q(7301),
+ q(0),
+ ],
+ q(xbd) => [
+ q(7302),
+ q(0),
+ ],
+ q(xbe) => [
+ q(7303),
+ q(0),
+ ],
+ q(xbg) => [
+ q(7304),
q(0),
],
q(xbi) => [
- q(7251),
+ q(7305),
+ q(0),
+ ],
+ q(xbj) => [
+ q(7306),
q(0),
],
q(xbm) => [
- q(7252),
+ q(7307),
q(0),
],
q(xbn) => [
- q(7253),
+ q(7308),
q(0),
],
q(xbo) => [
- q(7254),
+ q(7309),
+ q(0),
+ ],
+ q(xbp) => [
+ q(7310),
q(0),
],
q(xbr) => [
- q(7255),
+ q(7311),
q(0),
],
q(xbw) => [
- q(7256),
+ q(7312),
q(0),
],
q(xbx) => [
- q(7257),
+ q(7313),
+ q(0),
+ ],
+ q(xby) => [
+ q(7314),
q(0),
],
q(xcb) => [
- q(7258),
+ q(7315),
q(0),
],
q(xcc) => [
- q(7259),
+ q(7316),
q(0),
],
q(xce) => [
- q(7260),
+ q(7317),
q(0),
],
q(xcg) => [
- q(7261),
+ q(7318),
q(0),
],
q(xch) => [
- q(7262),
+ q(7319),
q(0),
],
q(xcl) => [
- q(7263),
+ q(7320),
q(0),
],
q(xcm) => [
- q(7264),
+ q(7321),
q(0),
],
q(xcn) => [
- q(7265),
+ q(7322),
q(0),
],
q(xco) => [
- q(7266),
+ q(7323),
q(0),
],
q(xcr) => [
- q(7267),
+ q(7324),
q(0),
],
q(xct) => [
- q(7268),
+ q(7325),
q(0),
],
q(xcu) => [
- q(7269),
+ q(7326),
q(0),
],
q(xcv) => [
- q(7270),
+ q(7327),
q(0),
],
q(xcw) => [
- q(7271),
+ q(7328),
q(0),
],
q(xcy) => [
- q(7272),
+ q(7329),
+ q(0),
+ ],
+ q(xda) => [
+ q(7330),
q(0),
],
q(xdc) => [
- q(7273),
+ q(7331),
+ q(0),
+ ],
+ q(xdk) => [
+ q(7332),
q(0),
],
q(xdm) => [
- q(7274),
+ q(7333),
q(0),
],
q(xdy) => [
- q(7275),
+ q(7334),
q(0),
],
q(xeb) => [
- q(7276),
+ q(7335),
q(0),
],
q(xed) => [
- q(7277),
+ q(7336),
q(0),
],
q(xeg) => [
- q(7278),
+ q(7337),
q(0),
],
q(xel) => [
- q(7279),
+ q(7338),
q(0),
],
q(xem) => [
- q(7280),
+ q(7339),
q(0),
],
q(xep) => [
- q(7281),
+ q(7340),
q(0),
],
q(xer) => [
- q(7282),
+ q(7341),
q(0),
],
q(xes) => [
- q(7283),
+ q(7342),
q(0),
],
q(xet) => [
- q(7284),
+ q(7343),
q(0),
],
q(xeu) => [
- q(7285),
+ q(7344),
q(0),
],
q(xfa) => [
- q(7286),
+ q(7345),
q(0),
],
q(xga) => [
- q(7287),
+ q(7346),
q(0),
],
q(xgb) => [
- q(7288),
+ q(7347),
+ q(0),
+ ],
+ q(xgd) => [
+ q(7348),
q(0),
],
q(xgf) => [
- q(7289),
+ q(7349),
+ q(0),
+ ],
+ q(xgg) => [
+ q(7350),
+ q(0),
+ ],
+ q(xgi) => [
+ q(7351),
q(0),
],
q(xgl) => [
- q(7290),
+ q(7352),
+ q(0),
+ ],
+ q(xgm) => [
+ q(7353),
q(0),
],
q(xgn) => [
@@ -86532,27 +87538,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(xgr) => [
- q(7291),
+ q(7354),
q(0),
],
q(xgu) => [
- q(7292),
+ q(7355),
+ q(0),
+ ],
+ q(xgw) => [
+ q(7356),
q(0),
],
q(xha) => [
- q(7293),
+ q(7357),
q(0),
],
q(xhc) => [
- q(7294),
+ q(7358),
q(0),
],
q(xhd) => [
- q(7295),
+ q(7359),
q(0),
],
q(xhe) => [
- q(7296),
+ q(7360),
q(0),
],
q(xho) => [
@@ -86560,315 +87570,319 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(xhr) => [
- q(7297),
+ q(7361),
q(0),
],
q(xht) => [
- q(7298),
+ q(7362),
q(0),
],
q(xhu) => [
- q(7299),
+ q(7363),
q(0),
],
q(xhv) => [
- q(7300),
- q(0),
- ],
- q(xia) => [
- q(7301),
+ q(7364),
q(0),
],
q(xib) => [
- q(7302),
+ q(7365),
q(0),
],
q(xii) => [
- q(7303),
+ q(7366),
q(0),
],
q(xil) => [
- q(7304),
+ q(7367),
q(0),
],
q(xin) => [
- q(7305),
+ q(7368),
q(0),
],
q(xip) => [
- q(7306),
+ q(7369),
q(0),
],
q(xir) => [
- q(7307),
+ q(7370),
q(0),
],
q(xiv) => [
- q(7308),
+ q(7371),
q(0),
],
q(xiy) => [
- q(7309),
+ q(7372),
+ q(0),
+ ],
+ q(xjb) => [
+ q(7373),
+ q(0),
+ ],
+ q(xjt) => [
+ q(7374),
q(0),
],
q(xka) => [
- q(7310),
+ q(7375),
q(0),
],
q(xkb) => [
- q(7311),
+ q(7376),
q(0),
],
q(xkc) => [
- q(7312),
+ q(7377),
q(0),
],
q(xkd) => [
- q(7313),
+ q(7378),
q(0),
],
q(xke) => [
- q(7314),
+ q(7379),
q(0),
],
q(xkf) => [
- q(7315),
+ q(7380),
q(0),
],
q(xkg) => [
- q(7316),
+ q(7381),
q(0),
],
q(xkh) => [
- q(7317),
+ q(7382),
q(0),
],
q(xki) => [
- q(7318),
+ q(7383),
q(0),
],
q(xkj) => [
- q(7319),
+ q(7384),
q(0),
],
q(xkk) => [
- q(7320),
+ q(7385),
q(0),
],
q(xkl) => [
- q(7321),
+ q(7386),
q(0),
],
q(xkn) => [
- q(7322),
+ q(7387),
q(0),
],
q(xko) => [
- q(7323),
+ q(7388),
q(0),
],
q(xkp) => [
- q(7324),
+ q(7389),
q(0),
],
q(xkq) => [
- q(7325),
+ q(7390),
q(0),
],
q(xkr) => [
- q(7326),
+ q(7391),
q(0),
],
q(xks) => [
- q(7327),
+ q(7392),
q(0),
],
q(xkt) => [
- q(7328),
+ q(7393),
q(0),
],
q(xku) => [
- q(7329),
+ q(7394),
q(0),
],
q(xkv) => [
- q(7330),
+ q(7395),
q(0),
],
q(xkw) => [
- q(7331),
+ q(7396),
q(0),
],
q(xkx) => [
- q(7332),
+ q(7397),
q(0),
],
q(xky) => [
- q(7333),
+ q(7398),
q(0),
],
q(xkz) => [
- q(7334),
+ q(7399),
q(0),
],
q(xla) => [
- q(7335),
+ q(7400),
q(0),
],
q(xlb) => [
- q(7336),
+ q(7401),
q(0),
],
q(xlc) => [
- q(7337),
+ q(7402),
q(0),
],
q(xld) => [
- q(7338),
+ q(7403),
q(0),
],
q(xle) => [
- q(7339),
+ q(7404),
q(0),
],
q(xlg) => [
- q(7340),
+ q(7405),
q(0),
],
q(xli) => [
- q(7341),
+ q(7406),
q(0),
],
q(xln) => [
- q(7342),
+ q(7407),
q(0),
],
q(xlo) => [
- q(7343),
+ q(7408),
q(0),
],
q(xlp) => [
- q(7344),
+ q(7409),
q(0),
],
q(xls) => [
- q(7345),
+ q(7410),
q(0),
],
q(xlu) => [
- q(7346),
+ q(7411),
q(0),
],
q(xly) => [
- q(7347),
+ q(7412),
q(0),
],
q(xma) => [
- q(7348),
+ q(7413),
q(0),
],
q(xmb) => [
- q(7349),
+ q(7414),
q(0),
],
q(xmc) => [
- q(7350),
+ q(7415),
q(0),
],
q(xmd) => [
- q(7351),
+ q(7416),
q(0),
],
q(xme) => [
- q(7352),
+ q(7417),
q(0),
],
q(xmf) => [
- q(7353),
+ q(7418),
q(0),
],
q(xmg) => [
- q(7354),
+ q(7419),
q(0),
],
q(xmh) => [
- q(7355),
+ q(7420),
q(0),
],
q(xmj) => [
- q(7356),
+ q(7421),
q(0),
],
q(xmk) => [
- q(7357),
+ q(7422),
q(0),
],
q(xml) => [
- q(7358),
+ q(7423),
q(0),
],
q(xmm) => [
- q(7359),
+ q(7424),
q(0),
],
q(xmn) => [
- q(7360),
+ q(7425),
q(0),
],
q(xmo) => [
- q(7361),
+ q(7426),
q(0),
],
q(xmp) => [
- q(7362),
+ q(7427),
q(0),
],
q(xmq) => [
- q(7363),
+ q(7428),
q(0),
],
q(xmr) => [
- q(7364),
+ q(7429),
q(0),
],
q(xms) => [
- q(7365),
+ q(7430),
q(0),
],
q(xmt) => [
- q(7366),
+ q(7431),
q(0),
],
q(xmu) => [
- q(7367),
+ q(7432),
q(0),
],
q(xmv) => [
- q(7368),
+ q(7433),
q(0),
],
q(xmw) => [
- q(7369),
+ q(7434),
q(0),
],
q(xmx) => [
- q(7370),
+ q(7435),
q(0),
],
q(xmy) => [
- q(7371),
+ q(7436),
q(0),
],
q(xmz) => [
- q(7372),
+ q(7437),
q(0),
],
q(xna) => [
- q(7373),
+ q(7438),
q(0),
],
q(xnb) => [
- q(7374),
+ q(7439),
q(0),
],
q(xnd) => [
@@ -86876,535 +87890,627 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(xng) => [
- q(7375),
+ q(7440),
q(0),
],
q(xnh) => [
- q(7376),
+ q(7441),
+ q(0),
+ ],
+ q(xni) => [
+ q(7442),
+ q(0),
+ ],
+ q(xnk) => [
+ q(7443),
q(0),
],
q(xnn) => [
- q(7377),
+ q(7444),
q(0),
],
q(xno) => [
- q(7378),
+ q(7445),
q(0),
],
q(xnr) => [
- q(7379),
+ q(7446),
q(0),
],
q(xns) => [
- q(7380),
+ q(7447),
q(0),
],
q(xnt) => [
- q(7381),
+ q(7448),
+ q(0),
+ ],
+ q(xnu) => [
+ q(7449),
+ q(0),
+ ],
+ q(xny) => [
+ q(7450),
q(0),
],
q(xnz) => [
- q(7382),
+ q(7451),
q(0),
],
q(xoc) => [
- q(7383),
+ q(7452),
q(0),
],
q(xod) => [
- q(7384),
+ q(7453),
q(0),
],
q(xog) => [
- q(7385),
+ q(7454),
q(0),
],
q(xoi) => [
- q(7386),
+ q(7455),
q(0),
],
q(xok) => [
- q(7387),
+ q(7456),
q(0),
],
q(xom) => [
- q(7388),
+ q(7457),
q(0),
],
q(xon) => [
- q(7389),
+ q(7458),
q(0),
],
q(xoo) => [
- q(7390),
+ q(7459),
q(0),
],
q(xop) => [
- q(7391),
+ q(7460),
q(0),
],
q(xor) => [
- q(7392),
+ q(7461),
q(0),
],
q(xow) => [
- q(7393),
+ q(7462),
+ q(0),
+ ],
+ q(xpa) => [
+ q(7463),
q(0),
],
q(xpc) => [
- q(7394),
+ q(7464),
q(0),
],
q(xpe) => [
- q(7395),
+ q(7465),
q(0),
],
q(xpg) => [
- q(7396),
+ q(7466),
q(0),
],
q(xpi) => [
- q(7397),
+ q(7467),
q(0),
],
q(xpj) => [
- q(7398),
+ q(7468),
q(0),
],
q(xpk) => [
- q(7399),
+ q(7469),
q(0),
],
q(xpm) => [
- q(7400),
+ q(7470),
q(0),
],
q(xpn) => [
- q(7401),
+ q(7471),
q(0),
],
q(xpo) => [
- q(7402),
+ q(7472),
q(0),
],
q(xpp) => [
- q(7403),
+ q(7473),
q(0),
],
q(xpq) => [
- q(7404),
+ q(7474),
q(0),
],
q(xpr) => [
- q(7405),
+ q(7475),
q(0),
],
q(xps) => [
- q(7406),
+ q(7476),
+ q(0),
+ ],
+ q(xpt) => [
+ q(7477),
q(0),
],
q(xpu) => [
- q(7407),
+ q(7478),
q(0),
],
q(xpy) => [
- q(7408),
+ q(7479),
q(0),
],
q(xqa) => [
- q(7409),
+ q(7480),
q(0),
],
q(xqt) => [
- q(7410),
+ q(7481),
q(0),
],
q(xra) => [
- q(7411),
+ q(7482),
q(0),
],
q(xrb) => [
- q(7412),
+ q(7483),
+ q(0),
+ ],
+ q(xrd) => [
+ q(7484),
q(0),
],
q(xre) => [
- q(7413),
+ q(7485),
+ q(0),
+ ],
+ q(xrg) => [
+ q(7486),
q(0),
],
q(xri) => [
- q(7414),
+ q(7487),
q(0),
],
q(xrm) => [
- q(7415),
+ q(7488),
q(0),
],
q(xrn) => [
- q(7416),
+ q(7489),
+ q(0),
+ ],
+ q(xrq) => [
+ q(7490),
q(0),
],
q(xrr) => [
- q(7417),
+ q(7491),
q(0),
],
q(xrt) => [
- q(7418),
+ q(7492),
q(0),
],
q(xru) => [
- q(7419),
+ q(7493),
q(0),
],
q(xrw) => [
- q(7420),
+ q(7494),
q(0),
],
q(xsa) => [
- q(7421),
+ q(7495),
q(0),
],
q(xsb) => [
- q(7422),
+ q(7496),
q(0),
],
q(xsc) => [
- q(7423),
+ q(7497),
q(0),
],
q(xsd) => [
- q(7424),
+ q(7498),
q(0),
],
q(xse) => [
- q(7425),
+ q(7499),
q(0),
],
q(xsh) => [
- q(7426),
+ q(7500),
q(0),
],
q(xsi) => [
- q(7427),
+ q(7501),
q(0),
],
q(xsj) => [
- q(7428),
+ q(7502),
q(0),
],
q(xsl) => [
- q(7429),
+ q(7503),
q(0),
],
q(xsm) => [
- q(7430),
+ q(7504),
q(0),
],
q(xsn) => [
- q(7431),
+ q(7505),
q(0),
],
q(xso) => [
- q(7432),
+ q(7506),
q(0),
],
q(xsp) => [
- q(7433),
+ q(7507),
q(0),
],
q(xsq) => [
- q(7434),
+ q(7508),
q(0),
],
q(xsr) => [
- q(7435),
+ q(7509),
q(0),
],
q(xss) => [
- q(7436),
+ q(7510),
q(0),
],
q(xsu) => [
- q(7437),
+ q(7511),
q(0),
],
q(xsv) => [
- q(7438),
+ q(7512),
q(0),
],
q(xsy) => [
- q(7439),
+ q(7513),
q(0),
],
q(xta) => [
- q(7440),
+ q(7514),
q(0),
],
q(xtb) => [
- q(7441),
+ q(7515),
q(0),
],
q(xtc) => [
- q(7442),
+ q(7516),
q(0),
],
q(xtd) => [
- q(7443),
+ q(7517),
q(0),
],
q(xte) => [
- q(7444),
+ q(7518),
q(0),
],
q(xtg) => [
- q(7445),
+ q(7519),
+ q(0),
+ ],
+ q(xth) => [
+ q(7520),
q(0),
],
q(xti) => [
- q(7446),
+ q(7521),
q(0),
],
q(xtj) => [
- q(7447),
+ q(7522),
q(0),
],
q(xtl) => [
- q(7448),
+ q(7523),
q(0),
],
q(xtm) => [
- q(7449),
+ q(7524),
q(0),
],
q(xtn) => [
- q(7450),
+ q(7525),
q(0),
],
q(xto) => [
- q(7451),
+ q(7526),
q(0),
],
q(xtp) => [
- q(7452),
+ q(7527),
q(0),
],
q(xtq) => [
- q(7453),
+ q(7528),
q(0),
],
q(xtr) => [
- q(7454),
+ q(7529),
q(0),
],
q(xts) => [
- q(7455),
+ q(7530),
q(0),
],
q(xtt) => [
- q(7456),
+ q(7531),
q(0),
],
q(xtu) => [
- q(7457),
+ q(7532),
+ q(0),
+ ],
+ q(xtv) => [
+ q(7533),
q(0),
],
q(xtw) => [
- q(7458),
+ q(7534),
q(0),
],
q(xty) => [
- q(7459),
+ q(7535),
q(0),
],
q(xtz) => [
- q(7460),
+ q(7536),
q(0),
],
q(xua) => [
- q(7461),
+ q(7537),
q(0),
],
q(xub) => [
- q(7462),
+ q(7538),
q(0),
],
q(xud) => [
- q(7463),
+ q(7539),
q(0),
],
q(xug) => [
- q(7464),
+ q(7540),
q(0),
],
q(xuj) => [
- q(7465),
+ q(7541),
+ q(0),
+ ],
+ q(xul) => [
+ q(7542),
q(0),
],
q(xum) => [
- q(7466),
+ q(7543),
q(0),
],
q(xun) => [
- q(7467),
+ q(7544),
q(0),
],
q(xuo) => [
- q(7468),
+ q(7545),
q(0),
],
q(xup) => [
- q(7469),
+ q(7546),
q(0),
],
q(xur) => [
- q(7470),
+ q(7547),
q(0),
],
q(xut) => [
- q(7471),
+ q(7548),
q(0),
],
q(xuu) => [
- q(7472),
+ q(7549),
q(0),
],
q(xve) => [
- q(7473),
+ q(7550),
q(0),
],
q(xvi) => [
- q(7474),
+ q(7551),
q(0),
],
q(xvn) => [
- q(7475),
+ q(7552),
q(0),
],
q(xvo) => [
- q(7476),
+ q(7553),
q(0),
],
q(xvs) => [
- q(7477),
+ q(7554),
q(0),
],
q(xwa) => [
- q(7478),
+ q(7555),
q(0),
],
q(xwc) => [
- q(7479),
+ q(7556),
+ q(0),
+ ],
+ q(xwd) => [
+ q(7557),
q(0),
],
q(xwe) => [
- q(7480),
+ q(7558),
q(0),
],
q(xwg) => [
- q(7481),
+ q(7559),
+ q(0),
+ ],
+ q(xwj) => [
+ q(7560),
+ q(0),
+ ],
+ q(xwk) => [
+ q(7561),
q(0),
],
q(xwl) => [
- q(7482),
+ q(7562),
q(0),
],
q(xwo) => [
- q(7483),
+ q(7563),
q(0),
],
q(xwr) => [
- q(7484),
+ q(7564),
+ q(0),
+ ],
+ q(xwt) => [
+ q(7565),
+ q(0),
+ ],
+ q(xww) => [
+ q(7566),
q(0),
],
q(xxb) => [
- q(7485),
+ q(7567),
q(0),
],
q(xxk) => [
- q(7486),
+ q(7568),
+ q(0),
+ ],
+ q(xxm) => [
+ q(7569),
q(0),
],
q(xxr) => [
- q(7487),
+ q(7570),
q(0),
],
q(xxt) => [
- q(7488),
+ q(7571),
+ q(0),
+ ],
+ q(xya) => [
+ q(7572),
+ q(0),
+ ],
+ q(xyb) => [
+ q(7573),
+ q(0),
+ ],
+ q(xyj) => [
+ q(7574),
+ q(0),
+ ],
+ q(xyk) => [
+ q(7575),
q(0),
],
q(xyl) => [
- q(7489),
+ q(7576),
+ q(0),
+ ],
+ q(xyt) => [
+ q(7577),
q(0),
],
q(xyy) => [
- q(7490),
+ q(7578),
q(0),
],
q(xzh) => [
- q(7491),
+ q(7579),
q(0),
],
q(xzm) => [
- q(7492),
+ q(7580),
q(0),
],
q(xzp) => [
- q(7493),
+ q(7581),
q(0),
],
q(yaa) => [
- q(7494),
+ q(7582),
q(0),
],
q(yab) => [
- q(7495),
+ q(7583),
q(0),
],
q(yac) => [
- q(7496),
+ q(7584),
q(0),
],
q(yad) => [
- q(7497),
+ q(7585),
q(0),
],
q(yae) => [
- q(7498),
+ q(7586),
q(0),
],
q(yaf) => [
- q(7499),
+ q(7587),
q(0),
],
q(yag) => [
- q(7500),
+ q(7588),
q(0),
],
q(yah) => [
- q(7501),
+ q(7589),
q(0),
],
q(yai) => [
- q(7502),
+ q(7590),
q(0),
],
q(yaj) => [
- q(7503),
+ q(7591),
q(0),
],
q(yak) => [
- q(7504),
+ q(7592),
q(0),
],
q(yal) => [
- q(7505),
+ q(7593),
q(0),
],
q(yam) => [
- q(7506),
+ q(7594),
q(0),
],
q(yan) => [
- q(7507),
+ q(7595),
q(0),
],
q(yao) => [
@@ -87416,219 +88522,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(yaq) => [
- q(7508),
+ q(7596),
q(0),
],
q(yar) => [
- q(7509),
+ q(7597),
q(0),
],
q(yas) => [
- q(7510),
+ q(7598),
q(0),
],
q(yat) => [
- q(7511),
+ q(7599),
q(0),
],
q(yau) => [
- q(7512),
+ q(7600),
q(0),
],
q(yav) => [
- q(7513),
+ q(7601),
q(0),
],
q(yaw) => [
- q(7514),
+ q(7602),
q(0),
],
q(yax) => [
- q(7515),
+ q(7603),
q(0),
],
q(yay) => [
- q(7516),
+ q(7604),
q(0),
],
q(yaz) => [
- q(7517),
+ q(7605),
q(0),
],
q(yba) => [
- q(7518),
+ q(7606),
q(0),
],
q(ybb) => [
- q(7519),
+ q(7607),
q(0),
],
q(ybe) => [
- q(7520),
+ q(7608),
q(0),
],
q(ybh) => [
- q(7521),
+ q(7609),
q(0),
],
q(ybi) => [
- q(7522),
+ q(7610),
q(0),
],
q(ybj) => [
- q(7523),
+ q(7611),
q(0),
],
q(ybk) => [
- q(7524),
+ q(7612),
q(0),
],
q(ybl) => [
- q(7525),
+ q(7613),
q(0),
],
q(ybm) => [
- q(7526),
+ q(7614),
q(0),
],
q(ybn) => [
- q(7527),
+ q(7615),
q(0),
],
q(ybo) => [
- q(7528),
+ q(7616),
q(0),
],
q(ybx) => [
- q(7529),
+ q(7617),
q(0),
],
q(yby) => [
- q(7530),
+ q(7618),
q(0),
],
q(ych) => [
- q(7531),
+ q(7619),
q(0),
],
q(ycl) => [
- q(7532),
+ q(7620),
q(0),
],
q(ycn) => [
- q(7533),
+ q(7621),
q(0),
],
q(ycp) => [
- q(7534),
+ q(7622),
+ q(0),
+ ],
+ q(yda) => [
+ q(7623),
q(0),
],
q(ydd) => [
- q(7535),
+ q(7624),
q(0),
],
q(yde) => [
- q(7536),
+ q(7625),
q(0),
],
q(ydg) => [
- q(7537),
+ q(7626),
q(0),
],
q(ydk) => [
- q(7538),
+ q(7627),
q(0),
],
q(yds) => [
- q(7539),
+ q(7628),
q(0),
],
q(yea) => [
- q(7540),
+ q(7629),
q(0),
],
q(yec) => [
- q(7541),
+ q(7630),
q(0),
],
q(yee) => [
- q(7542),
+ q(7631),
q(0),
],
q(yei) => [
- q(7543),
+ q(7632),
q(0),
],
q(yej) => [
- q(7544),
+ q(7633),
q(0),
],
q(yel) => [
- q(7545),
+ q(7634),
q(0),
],
q(yer) => [
- q(7546),
+ q(7635),
q(0),
],
q(yes) => [
- q(7547),
+ q(7636),
q(0),
],
q(yet) => [
- q(7548),
+ q(7637),
q(0),
],
q(yeu) => [
- q(7549),
+ q(7638),
q(0),
],
q(yev) => [
- q(7550),
+ q(7639),
q(0),
],
q(yey) => [
- q(7551),
+ q(7640),
q(0),
],
q(yga) => [
- q(7552),
+ q(7641),
+ q(0),
+ ],
+ q(ygi) => [
+ q(7642),
q(0),
],
q(ygl) => [
- q(7553),
+ q(7643),
q(0),
],
q(ygm) => [
- q(7554),
+ q(7644),
q(0),
],
q(ygp) => [
- q(7555),
+ q(7645),
q(0),
],
q(ygr) => [
- q(7556),
+ q(7646),
+ q(0),
+ ],
+ q(ygu) => [
+ q(7647),
q(0),
],
q(ygw) => [
- q(7557),
+ q(7648),
q(0),
],
q(yha) => [
- q(7558),
+ q(7649),
q(0),
],
q(yhd) => [
- q(7559),
+ q(7650),
q(0),
],
q(yhl) => [
- q(7560),
+ q(7651),
q(0),
],
q(yia) => [
- q(7561),
+ q(7652),
q(0),
],
q(yid) => [
@@ -87636,363 +88754,355 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(yif) => [
- q(2642),
+ q(2660),
q(0),
],
q(yig) => [
- q(7562),
+ q(7653),
q(0),
],
q(yih) => [
- q(7563),
+ q(7654),
q(0),
],
q(yii) => [
- q(7564),
+ q(7655),
q(0),
],
q(yij) => [
- q(7565),
+ q(7656),
q(0),
],
q(yik) => [
- q(7566),
+ q(7657),
q(0),
],
q(yil) => [
- q(7567),
+ q(7658),
q(0),
],
q(yim) => [
- q(7568),
+ q(7659),
q(0),
],
q(yin) => [
- q(7569),
+ q(7660),
q(0),
],
q(yip) => [
- q(7570),
+ q(7661),
q(0),
],
q(yiq) => [
- q(7571),
+ q(7662),
q(0),
],
q(yir) => [
- q(7572),
+ q(7663),
q(0),
],
q(yis) => [
- q(7573),
+ q(7664),
q(0),
],
q(yit) => [
- q(7574),
+ q(7665),
q(0),
],
q(yiu) => [
- q(7575),
+ q(7666),
q(0),
],
q(yiv) => [
- q(7576),
+ q(7667),
q(0),
],
q(yix) => [
- q(7577),
- q(0),
- ],
- q(yiy) => [
- q(7578),
+ q(7668),
q(0),
],
q(yiz) => [
- q(7579),
+ q(7669),
q(0),
],
q(yka) => [
- q(7580),
+ q(7670),
q(0),
],
q(ykg) => [
- q(7581),
+ q(7671),
q(0),
],
q(yki) => [
- q(7582),
+ q(7672),
q(0),
],
q(ykk) => [
- q(7583),
+ q(7673),
q(0),
],
q(ykl) => [
- q(7584),
+ q(7674),
q(0),
],
q(ykm) => [
- q(7585),
+ q(7675),
q(0),
],
q(ykn) => [
- q(7586),
+ q(7676),
q(0),
],
q(yko) => [
- q(7587),
+ q(7677),
q(0),
],
q(ykr) => [
- q(7588),
+ q(7678),
q(0),
],
q(ykt) => [
- q(7589),
+ q(7679),
q(0),
],
q(yku) => [
- q(7590),
+ q(7680),
q(0),
],
q(yky) => [
- q(7591),
+ q(7681),
q(0),
],
q(yla) => [
- q(7592),
+ q(7682),
q(0),
],
q(ylb) => [
- q(7593),
+ q(7683),
q(0),
],
q(yle) => [
- q(7594),
+ q(7684),
q(0),
],
q(ylg) => [
- q(7595),
+ q(7685),
q(0),
],
q(yli) => [
- q(7596),
+ q(7686),
q(0),
],
q(yll) => [
- q(7597),
+ q(7687),
q(0),
],
q(ylm) => [
- q(7598),
+ q(7688),
q(0),
],
q(yln) => [
- q(7599),
+ q(7689),
q(0),
],
q(ylo) => [
- q(7600),
+ q(7690),
q(0),
],
q(ylr) => [
- q(7601),
+ q(7691),
q(0),
],
q(ylu) => [
- q(7602),
+ q(7692),
q(0),
],
q(yly) => [
- q(7603),
+ q(7693),
q(0),
],
q(ymb) => [
- q(7604),
+ q(7694),
q(0),
],
q(ymc) => [
- q(7605),
+ q(7695),
q(0),
],
q(ymd) => [
- q(7606),
+ q(7696),
q(0),
],
q(yme) => [
- q(7607),
+ q(7697),
q(0),
],
q(ymg) => [
- q(7608),
+ q(7698),
q(0),
],
q(ymh) => [
- q(7609),
+ q(7699),
q(0),
],
q(ymi) => [
- q(7610),
+ q(7700),
q(0),
],
q(ymk) => [
- q(7611),
+ q(7701),
q(0),
],
q(yml) => [
- q(7612),
+ q(7702),
q(0),
],
q(ymm) => [
- q(7613),
+ q(7703),
q(0),
],
q(ymn) => [
- q(7614),
+ q(7704),
q(0),
],
q(ymo) => [
- q(7615),
+ q(7705),
q(0),
],
q(ymp) => [
- q(7616),
+ q(7706),
q(0),
],
q(ymq) => [
- q(7617),
+ q(7707),
q(0),
],
q(ymr) => [
- q(7618),
+ q(7708),
q(0),
],
q(yms) => [
- q(7619),
+ q(7709),
q(0),
],
q(ymt) => [
- q(7620),
+ q(7710),
q(0),
],
q(ymx) => [
- q(7621),
+ q(7711),
q(0),
],
q(ymz) => [
- q(7622),
+ q(7712),
q(0),
],
q(yna) => [
- q(7623),
+ q(7713),
q(0),
],
q(ynd) => [
- q(7624),
+ q(7714),
q(0),
],
q(yne) => [
- q(7625),
+ q(7715),
q(0),
],
q(yng) => [
- q(7626),
+ q(7716),
q(0),
],
q(ynh) => [
- q(7627),
+ q(7717),
q(0),
],
q(ynk) => [
- q(7628),
+ q(7718),
q(0),
],
q(ynl) => [
- q(7629),
+ q(7719),
q(0),
],
q(ynn) => [
- q(7630),
+ q(7720),
q(0),
],
q(yno) => [
- q(7631),
+ q(7721),
q(0),
],
q(ynq) => [
- q(7632),
+ q(7722),
q(0),
],
q(yns) => [
- q(7633),
+ q(7723),
q(0),
],
q(ynu) => [
- q(7634),
+ q(7724),
q(0),
],
q(yob) => [
- q(7635),
+ q(7725),
q(0),
],
q(yog) => [
- q(7636),
+ q(7726),
q(0),
],
q(yoi) => [
- q(7637),
+ q(7727),
q(0),
],
q(yok) => [
- q(7638),
+ q(7728),
q(0),
],
q(yol) => [
- q(7639),
+ q(7729),
q(0),
],
q(yom) => [
- q(7640),
+ q(7730),
q(0),
],
q(yon) => [
- q(7641),
+ q(7731),
q(0),
],
q(yor) => [
q(0475),
q(0),
],
- q(yos) => [
- q(7642),
- q(0),
- ],
q(yot) => [
- q(7643),
+ q(7732),
q(0),
],
q(yox) => [
- q(7644),
+ q(7733),
q(0),
],
q(yoy) => [
- q(7645),
+ q(7734),
q(0),
],
q(ypa) => [
- q(7646),
+ q(7735),
q(0),
],
q(ypb) => [
- q(7647),
+ q(7736),
q(0),
],
q(ypg) => [
- q(7648),
+ q(7737),
q(0),
],
q(yph) => [
- q(7649),
+ q(7738),
q(0),
],
q(ypk) => [
@@ -88000,323 +89110,359 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(ypm) => [
- q(7650),
+ q(7739),
q(0),
],
q(ypn) => [
- q(7651),
+ q(7740),
q(0),
],
q(ypo) => [
- q(7652),
+ q(7741),
q(0),
],
q(ypp) => [
- q(7653),
+ q(7742),
q(0),
],
q(ypz) => [
- q(7654),
+ q(7743),
q(0),
],
q(yra) => [
- q(7655),
+ q(7744),
q(0),
],
q(yrb) => [
- q(7656),
+ q(7745),
q(0),
],
q(yre) => [
- q(7657),
+ q(7746),
q(0),
],
q(yri) => [
- q(7658),
+ q(7747),
q(0),
],
q(yrk) => [
- q(7659),
+ q(7748),
q(0),
],
q(yrl) => [
- q(7660),
+ q(7749),
+ q(0),
+ ],
+ q(yrm) => [
+ q(7750),
q(0),
],
q(yrn) => [
- q(7661),
+ q(7751),
q(0),
],
q(yrs) => [
- q(7662),
+ q(7752),
q(0),
],
q(yrw) => [
- q(7663),
+ q(7753),
+ q(0),
+ ],
+ q(yry) => [
+ q(7754),
q(0),
],
q(ysc) => [
- q(7664),
+ q(7755),
q(0),
],
q(ysd) => [
- q(7665),
+ q(7756),
q(0),
],
q(ysg) => [
- q(7666),
+ q(7757),
q(0),
],
q(ysl) => [
- q(7667),
+ q(7758),
q(0),
],
q(ysn) => [
- q(7668),
+ q(7759),
q(0),
],
q(yso) => [
- q(7669),
+ q(7760),
q(0),
],
q(ysp) => [
- q(7670),
+ q(7761),
q(0),
],
q(ysr) => [
- q(7671),
+ q(7762),
q(0),
],
q(yss) => [
- q(7672),
+ q(7763),
q(0),
],
q(ysy) => [
- q(7673),
+ q(7764),
q(0),
],
q(yta) => [
- q(7674),
+ q(7765),
q(0),
],
q(ytl) => [
- q(7675),
+ q(7766),
q(0),
],
q(ytp) => [
- q(7676),
+ q(7767),
q(0),
],
q(ytw) => [
- q(7677),
+ q(7768),
+ q(0),
+ ],
+ q(yty) => [
+ q(7769),
q(0),
],
q(yua) => [
- q(7678),
+ q(7770),
q(0),
],
q(yub) => [
- q(7679),
+ q(7771),
q(0),
],
q(yuc) => [
- q(7680),
+ q(7772),
q(0),
],
q(yud) => [
- q(7681),
+ q(7773),
q(0),
],
q(yue) => [
- q(7682),
+ q(7774),
q(0),
],
q(yuf) => [
- q(7683),
+ q(7775),
q(0),
],
q(yug) => [
- q(7684),
+ q(7776),
q(0),
],
q(yui) => [
- q(7685),
+ q(7777),
q(0),
],
q(yuj) => [
- q(7686),
+ q(7778),
q(0),
],
q(yuk) => [
- q(7687),
+ q(7779),
q(0),
],
q(yul) => [
- q(7688),
+ q(7780),
q(0),
],
q(yum) => [
- q(7689),
+ q(7781),
q(0),
],
q(yun) => [
- q(7690),
+ q(7782),
q(0),
],
q(yup) => [
- q(7691),
+ q(7783),
q(0),
],
q(yuq) => [
- q(7692),
+ q(7784),
q(0),
],
q(yur) => [
- q(7693),
+ q(7785),
q(0),
],
q(yut) => [
- q(7694),
+ q(7786),
q(0),
],
q(yuu) => [
- q(7695),
+ q(7787),
q(0),
],
q(yuw) => [
- q(7696),
+ q(7788),
q(0),
],
q(yux) => [
- q(7697),
+ q(7789),
q(0),
],
q(yuy) => [
- q(7698),
+ q(7790),
q(0),
],
q(yuz) => [
- q(7699),
+ q(7791),
q(0),
],
q(yva) => [
- q(7700),
+ q(7792),
q(0),
],
q(yvt) => [
- q(7701),
+ q(7793),
q(0),
],
q(ywa) => [
- q(7702),
+ q(7794),
+ q(0),
+ ],
+ q(ywg) => [
+ q(7795),
q(0),
],
q(ywl) => [
- q(7703),
+ q(7796),
q(0),
],
q(ywn) => [
- q(7704),
+ q(7797),
q(0),
],
q(ywq) => [
- q(7705),
+ q(7798),
q(0),
],
q(ywr) => [
- q(7706),
+ q(7799),
q(0),
],
q(ywt) => [
- q(7707),
+ q(7800),
q(0),
],
q(ywu) => [
- q(7708),
+ q(7801),
q(0),
],
q(yww) => [
- q(7709),
+ q(7802),
+ q(0),
+ ],
+ q(yxa) => [
+ q(7803),
q(0),
],
q(yxg) => [
- q(7710),
+ q(7804),
+ q(0),
+ ],
+ q(yxl) => [
+ q(7805),
+ q(0),
+ ],
+ q(yxm) => [
+ q(7806),
+ q(0),
+ ],
+ q(yxu) => [
+ q(7807),
q(0),
],
q(yxy) => [
- q(7711),
+ q(7808),
+ q(0),
+ ],
+ q(yyr) => [
+ q(7809),
q(0),
],
q(yyu) => [
- q(7712),
+ q(7810),
q(0),
],
q(yyz) => [
- q(7713),
+ q(7811),
q(0),
],
q(yzg) => [
- q(7714),
+ q(7812),
q(0),
],
q(yzk) => [
- q(7715),
+ q(7813),
q(0),
],
q(zaa) => [
- q(7716),
+ q(7814),
q(0),
],
q(zab) => [
- q(7717),
+ q(7815),
q(0),
],
q(zac) => [
- q(7718),
+ q(7816),
q(0),
],
q(zad) => [
- q(7719),
+ q(7817),
q(0),
],
q(zae) => [
- q(7720),
+ q(7818),
q(0),
],
q(zaf) => [
- q(7721),
+ q(7819),
q(0),
],
q(zag) => [
- q(7722),
+ q(7820),
q(0),
],
q(zah) => [
- q(7723),
+ q(7821),
q(0),
],
q(zai) => [
- q(7724),
+ q(7822),
q(0),
],
q(zaj) => [
- q(7725),
+ q(7823),
q(0),
],
q(zak) => [
- q(7726),
+ q(7824),
q(0),
],
q(zal) => [
- q(7727),
+ q(7825),
q(0),
],
q(zam) => [
- q(7728),
+ q(7826),
q(0),
],
q(zao) => [
- q(7729),
+ q(7827),
q(0),
],
q(zap) => [
@@ -88324,51 +89470,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zaq) => [
- q(7730),
+ q(7828),
q(0),
],
q(zar) => [
- q(7731),
+ q(7829),
q(0),
],
q(zas) => [
- q(7732),
+ q(7830),
q(0),
],
q(zat) => [
- q(7733),
+ q(7831),
q(0),
],
q(zau) => [
- q(7734),
+ q(7832),
q(0),
],
q(zav) => [
- q(7735),
+ q(7833),
q(0),
],
q(zaw) => [
- q(7736),
+ q(7834),
q(0),
],
q(zax) => [
- q(7737),
+ q(7835),
q(0),
],
q(zay) => [
- q(7738),
+ q(7836),
q(0),
],
q(zaz) => [
- q(7739),
+ q(7837),
q(0),
],
q(zbc) => [
- q(7740),
+ q(7838),
q(0),
],
q(zbe) => [
- q(7741),
+ q(7839),
q(0),
],
q(zbl) => [
@@ -88376,35 +89522,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zbt) => [
- q(7742),
+ q(7840),
q(0),
],
q(zbw) => [
- q(7743),
+ q(7841),
q(0),
],
q(zca) => [
- q(7744),
+ q(7842),
q(0),
],
q(zch) => [
- q(7745),
+ q(7843),
q(0),
],
q(zdj) => [
- q(7746),
+ q(7844),
q(0),
],
q(zea) => [
- q(7747),
+ q(7845),
q(0),
],
q(zeg) => [
- q(7748),
+ q(7846),
q(0),
],
q(zeh) => [
- q(7749),
+ q(7847),
q(0),
],
q(zen) => [
@@ -88412,11 +89558,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zga) => [
- q(7750),
+ q(7848),
q(0),
],
q(zgb) => [
- q(7751),
+ q(7849),
q(0),
],
q(zgh) => [
@@ -88424,15 +89570,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zgm) => [
- q(7752),
+ q(7850),
q(0),
],
q(zgn) => [
- q(7753),
+ q(7851),
q(0),
],
q(zgr) => [
- q(7754),
+ q(7852),
q(0),
],
q(zha) => [
@@ -88440,23 +89586,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zhb) => [
- q(7755),
+ q(7853),
q(0),
],
q(zhd) => [
- q(7756),
+ q(7854),
q(0),
],
q(zhi) => [
- q(7757),
+ q(7855),
q(0),
],
q(zhn) => [
- q(7758),
+ q(7856),
q(0),
],
q(zhw) => [
- q(7759),
+ q(7857),
q(0),
],
q(zhx) => [
@@ -88464,95 +89610,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zia) => [
- q(7760),
+ q(7858),
q(0),
],
q(zib) => [
- q(7761),
+ q(7859),
q(0),
],
q(zik) => [
- q(7762),
+ q(7860),
q(0),
],
q(zil) => [
- q(7763),
+ q(7861),
q(0),
],
q(zim) => [
- q(7764),
+ q(7862),
q(0),
],
q(zin) => [
- q(7765),
+ q(7863),
q(0),
],
q(zir) => [
- q(7766),
+ q(7864),
q(0),
],
q(ziw) => [
- q(7767),
+ q(7865),
q(0),
],
q(ziz) => [
- q(7768),
+ q(7866),
q(0),
],
q(zka) => [
- q(7769),
+ q(7867),
q(0),
],
q(zkb) => [
- q(7770),
+ q(7868),
q(0),
],
q(zkd) => [
- q(7771),
+ q(7869),
q(0),
],
q(zkg) => [
- q(7772),
+ q(7870),
q(0),
],
q(zkh) => [
- q(7773),
+ q(7871),
q(0),
],
q(zkk) => [
- q(7774),
+ q(7872),
q(0),
],
q(zkn) => [
- q(7775),
+ q(7873),
q(0),
],
q(zko) => [
- q(7776),
+ q(7874),
q(0),
],
q(zkp) => [
- q(7777),
+ q(7875),
q(0),
],
q(zkr) => [
- q(7778),
+ q(7876),
q(0),
],
q(zkt) => [
- q(7779),
+ q(7877),
q(0),
],
q(zku) => [
- q(7780),
+ q(7878),
q(0),
],
q(zkv) => [
- q(7781),
+ q(7879),
q(0),
],
q(zkz) => [
- q(7782),
+ q(7880),
q(0),
],
q(zle) => [
@@ -88560,19 +89706,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zlj) => [
- q(7783),
+ q(7881),
q(0),
],
q(zlm) => [
- q(7784),
+ q(7882),
q(0),
],
q(zln) => [
- q(7785),
+ q(7883),
q(0),
],
q(zlq) => [
- q(7786),
+ q(7884),
q(0),
],
q(zls) => [
@@ -88584,111 +89730,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zma) => [
- q(7787),
+ q(7885),
q(0),
],
q(zmb) => [
- q(7788),
+ q(7886),
q(0),
],
q(zmc) => [
- q(7789),
+ q(7887),
q(0),
],
q(zmd) => [
- q(7790),
+ q(7888),
q(0),
],
q(zme) => [
- q(7791),
+ q(7889),
q(0),
],
q(zmf) => [
- q(7792),
+ q(7890),
q(0),
],
q(zmg) => [
- q(7793),
+ q(7891),
q(0),
],
q(zmh) => [
- q(7794),
+ q(7892),
q(0),
],
q(zmi) => [
- q(7795),
+ q(7893),
q(0),
],
q(zmj) => [
- q(7796),
+ q(7894),
q(0),
],
q(zmk) => [
- q(7797),
+ q(7895),
q(0),
],
q(zml) => [
- q(7798),
+ q(7896),
q(0),
],
q(zmm) => [
- q(7799),
+ q(7897),
q(0),
],
q(zmn) => [
- q(7800),
+ q(7898),
q(0),
],
q(zmo) => [
- q(7801),
+ q(7899),
q(0),
],
q(zmp) => [
- q(7802),
+ q(7900),
q(0),
],
q(zmq) => [
- q(7803),
+ q(7901),
q(0),
],
q(zmr) => [
- q(7804),
+ q(7902),
q(0),
],
q(zms) => [
- q(7805),
+ q(7903),
q(0),
],
q(zmt) => [
- q(7806),
+ q(7904),
q(0),
],
q(zmu) => [
- q(7807),
+ q(7905),
q(0),
],
q(zmv) => [
- q(7808),
+ q(7906),
q(0),
],
q(zmw) => [
- q(7809),
+ q(7907),
q(0),
],
q(zmx) => [
- q(7810),
+ q(7908),
q(0),
],
q(zmy) => [
- q(7811),
+ q(7909),
q(0),
],
q(zmz) => [
- q(7812),
+ q(7910),
q(0),
],
q(zna) => [
- q(7813),
+ q(7911),
q(0),
],
q(znd) => [
@@ -88696,259 +89842,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zne) => [
- q(7814),
+ q(7912),
q(0),
],
q(zng) => [
- q(7815),
+ q(7913),
q(0),
],
q(znk) => [
- q(7816),
+ q(7914),
q(0),
],
q(zns) => [
- q(7817),
+ q(7915),
q(0),
],
q(zoc) => [
- q(7818),
+ q(7916),
q(0),
],
q(zoh) => [
- q(7819),
+ q(7917),
q(0),
],
q(zom) => [
- q(7820),
+ q(7918),
q(0),
],
q(zoo) => [
- q(7821),
+ q(7919),
q(0),
],
q(zoq) => [
- q(7822),
+ q(7920),
q(0),
],
q(zor) => [
- q(7823),
+ q(7921),
q(0),
],
q(zos) => [
- q(7824),
+ q(7922),
q(0),
],
q(zpa) => [
- q(7825),
+ q(7923),
q(0),
],
q(zpb) => [
- q(7826),
+ q(7924),
q(0),
],
q(zpc) => [
- q(7827),
+ q(7925),
q(0),
],
q(zpd) => [
- q(7828),
+ q(7926),
q(0),
],
q(zpe) => [
- q(7829),
+ q(7927),
q(0),
],
q(zpf) => [
- q(7830),
+ q(7928),
q(0),
],
q(zpg) => [
- q(7831),
+ q(7929),
q(0),
],
q(zph) => [
- q(7832),
+ q(7930),
q(0),
],
q(zpi) => [
- q(7833),
+ q(7931),
q(0),
],
q(zpj) => [
- q(7834),
+ q(7932),
q(0),
],
q(zpk) => [
- q(7835),
+ q(7933),
q(0),
],
q(zpl) => [
- q(7836),
+ q(7934),
q(0),
],
q(zpm) => [
- q(7837),
+ q(7935),
q(0),
],
q(zpn) => [
- q(7838),
+ q(7936),
q(0),
],
q(zpo) => [
- q(7839),
+ q(7937),
q(0),
],
q(zpp) => [
- q(7840),
+ q(7938),
q(0),
],
q(zpq) => [
- q(7841),
+ q(7939),
q(0),
],
q(zpr) => [
- q(7842),
+ q(7940),
q(0),
],
q(zps) => [
- q(7843),
+ q(7941),
q(0),
],
q(zpt) => [
- q(7844),
+ q(7942),
q(0),
],
q(zpu) => [
- q(7845),
+ q(7943),
q(0),
],
q(zpv) => [
- q(7846),
+ q(7944),
q(0),
],
q(zpw) => [
- q(7847),
+ q(7945),
q(0),
],
q(zpx) => [
- q(7848),
+ q(7946),
q(0),
],
q(zpy) => [
- q(7849),
+ q(7947),
q(0),
],
q(zpz) => [
- q(7850),
+ q(7948),
q(0),
],
q(zqe) => [
- q(7851),
+ q(7949),
q(0),
],
q(zra) => [
- q(7852),
+ q(7950),
q(0),
],
q(zrg) => [
- q(7853),
+ q(7951),
q(0),
],
q(zrn) => [
- q(7854),
+ q(7952),
q(0),
],
q(zro) => [
- q(7855),
+ q(7953),
q(0),
],
q(zrp) => [
- q(7856),
+ q(7954),
q(0),
],
q(zrs) => [
- q(7857),
+ q(7955),
q(0),
],
q(zsa) => [
- q(7858),
+ q(7956),
q(0),
],
q(zsk) => [
- q(7859),
+ q(7957),
q(0),
],
q(zsl) => [
- q(7860),
+ q(7958),
q(0),
],
q(zsm) => [
- q(7861),
+ q(7959),
q(0),
],
q(zsr) => [
- q(7862),
+ q(7960),
q(0),
],
q(zsu) => [
- q(7863),
+ q(7961),
q(0),
],
q(zte) => [
- q(7864),
+ q(7962),
q(0),
],
q(ztg) => [
- q(7865),
+ q(7963),
q(0),
],
q(ztl) => [
- q(7866),
+ q(7964),
q(0),
],
q(ztm) => [
- q(7867),
+ q(7965),
q(0),
],
q(ztn) => [
- q(7868),
+ q(7966),
q(0),
],
q(ztp) => [
- q(7869),
+ q(7967),
q(0),
],
q(ztq) => [
- q(7870),
+ q(7968),
q(0),
],
q(zts) => [
- q(7871),
+ q(7969),
q(0),
],
q(ztt) => [
- q(7872),
+ q(7970),
q(0),
],
q(ztu) => [
- q(7873),
+ q(7971),
q(0),
],
q(ztx) => [
- q(7874),
+ q(7972),
q(0),
],
q(zty) => [
- q(7875),
+ q(7973),
q(0),
],
q(zua) => [
- q(7876),
+ q(7974),
q(0),
],
q(zuh) => [
- q(7877),
+ q(7975),
q(0),
],
q(zul) => [
@@ -88956,7 +90102,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zum) => [
- q(7878),
+ q(7976),
q(0),
],
q(zun) => [
@@ -88964,11 +90110,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zuy) => [
- q(7879),
+ q(7977),
q(0),
],
q(zwa) => [
- q(7880),
+ q(7978),
q(0),
],
q(zxx) => [
@@ -88976,23 +90122,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zyb) => [
- q(7881),
+ q(7979),
q(0),
],
q(zyg) => [
- q(7882),
+ q(7980),
q(0),
],
q(zyj) => [
- q(7883),
+ q(7981),
q(0),
],
q(zyn) => [
- q(7884),
+ q(7982),
q(0),
],
q(zyp) => [
- q(7885),
+ q(7983),
q(0),
],
q(zza) => [
@@ -89000,7 +90146,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
q(0),
],
q(zzj) => [
- q(7886),
+ q(7984),
q(0),
],
},
@@ -90266,6902 +91412,7000 @@ $Locale::Codes::Data{'language'}{'id2code'} = {
q(0988) => q(axe),
q(0989) => q(axg),
q(0990) => q(axk),
- q(0991) => q(axm),
- q(0992) => q(axx),
- q(0993) => q(aya),
- q(0994) => q(ayb),
- q(0995) => q(ayc),
- q(0996) => q(ayd),
- q(0997) => q(aye),
- q(0998) => q(ayg),
- q(0999) => q(ayh),
- q(1000) => q(ayi),
- q(1001) => q(ayk),
- q(1002) => q(ayl),
- q(1003) => q(ayn),
- q(1004) => q(ayo),
- q(1005) => q(ayp),
- q(1006) => q(ayq),
- q(1007) => q(ayr),
- q(1008) => q(ays),
- q(1009) => q(ayt),
- q(1010) => q(ayu),
- q(1011) => q(ayy),
- q(1012) => q(ayz),
- q(1013) => q(aza),
- q(1014) => q(azb),
- q(1015) => q(azd),
- q(1016) => q(azg),
- q(1017) => q(azj),
- q(1018) => q(azm),
- q(1019) => q(azn),
- q(1020) => q(azo),
- q(1021) => q(azt),
- q(1022) => q(azz),
- q(1023) => q(baa),
- q(1024) => q(bab),
- q(1025) => q(bac),
- q(1026) => q(bae),
- q(1027) => q(baf),
- q(1028) => q(bag),
- q(1029) => q(bah),
- q(1030) => q(baj),
- q(1031) => q(bao),
- q(1032) => q(bap),
- q(1033) => q(bar),
- q(1034) => q(bau),
- q(1035) => q(bav),
- q(1036) => q(baw),
- q(1037) => q(bax),
- q(1038) => q(bay),
- q(1039) => q(bba),
- q(1040) => q(bbb),
- q(1041) => q(bbc),
- q(1042) => q(bbd),
- q(1043) => q(bbe),
- q(1044) => q(bbf),
- q(1045) => q(bbg),
- q(1046) => q(bbh),
- q(1047) => q(bbi),
- q(1048) => q(bbj),
- q(1049) => q(bbk),
- q(1050) => q(bbl),
- q(1051) => q(bbm),
- q(1052) => q(bbn),
- q(1053) => q(bbo),
- q(1054) => q(bbp),
- q(1055) => q(bbq),
- q(1056) => q(bbr),
- q(1057) => q(bbs),
- q(1058) => q(bbt),
- q(1059) => q(bbu),
- q(1060) => q(bbv),
- q(1061) => q(bbw),
- q(1062) => q(bbx),
- q(1063) => q(bby),
- q(1064) => q(bbz),
- q(1065) => q(bca),
- q(1066) => q(bcb),
- q(1067) => q(bcc),
- q(1068) => q(bcd),
- q(1069) => q(bce),
- q(1070) => q(bcf),
- q(1071) => q(bcg),
- q(1072) => q(bch),
- q(1073) => q(bci),
- q(1074) => q(bcj),
- q(1075) => q(bck),
- q(1076) => q(bcl),
- q(1077) => q(bcm),
- q(1078) => q(bcn),
- q(1079) => q(bco),
- q(1080) => q(bcp),
- q(1081) => q(bcq),
- q(1082) => q(bcr),
- q(1083) => q(bcs),
- q(1084) => q(bct),
- q(1085) => q(bcu),
- q(1086) => q(bcv),
- q(1087) => q(bcw),
- q(1088) => q(bcy),
- q(1089) => q(bcz),
- q(1090) => q(bda),
- q(1091) => q(bdb),
- q(1092) => q(bdc),
- q(1093) => q(bdd),
- q(1094) => q(bde),
- q(1095) => q(bdf),
- q(1096) => q(bdg),
- q(1097) => q(bdh),
- q(1098) => q(bdi),
- q(1099) => q(bdj),
- q(1100) => q(bdk),
- q(1101) => q(bdl),
- q(1102) => q(bdm),
- q(1103) => q(bdn),
- q(1104) => q(bdo),
- q(1105) => q(bdp),
- q(1106) => q(bdq),
- q(1107) => q(bdr),
- q(1108) => q(bds),
- q(1109) => q(bdt),
- q(1110) => q(bdu),
- q(1111) => q(bdv),
- q(1112) => q(bdw),
- q(1113) => q(bdx),
- q(1114) => q(bdy),
- q(1115) => q(bdz),
- q(1116) => q(bea),
- q(1117) => q(beb),
- q(1118) => q(bec),
- q(1119) => q(bed),
- q(1120) => q(bee),
- q(1121) => q(bef),
- q(1122) => q(beg),
- q(1123) => q(beh),
- q(1124) => q(bei),
- q(1125) => q(bek),
- q(1126) => q(beo),
- q(1127) => q(bep),
- q(1128) => q(beq),
- q(1129) => q(bes),
- q(1130) => q(bet),
- q(1131) => q(beu),
- q(1132) => q(bev),
- q(1133) => q(bew),
- q(1134) => q(bex),
- q(1135) => q(bey),
- q(1136) => q(bez),
- q(1137) => q(mot),
- q(1138) => q(bfb),
- q(1139) => q(bfc),
- q(1140) => q(bfd),
- q(1141) => q(bfe),
- q(1142) => q(bff),
- q(1143) => q(bfg),
- q(1144) => q(bfh),
- q(1145) => q(bfi),
- q(1146) => q(bfj),
- q(1147) => q(bfk),
- q(1148) => q(bfl),
- q(1149) => q(bfm),
- q(1150) => q(bfn),
- q(1151) => q(bfo),
- q(1152) => q(bfp),
- q(1153) => q(bfq),
- q(1154) => q(bfr),
- q(1155) => q(bfs),
- q(1156) => q(bft),
- q(1157) => q(bfu),
- q(1158) => q(bfw),
- q(1159) => q(bfx),
- q(1160) => q(bfy),
- q(1161) => q(bfz),
- q(1162) => q(bga),
- q(1163) => q(bgb),
- q(1164) => q(bgc),
- q(1165) => q(bgd),
- q(1166) => q(bge),
- q(1167) => q(bgf),
- q(1168) => q(bgg),
- q(1169) => q(bgi),
- q(1170) => q(bgj),
- q(1171) => q(bgk),
- q(1172) => q(bgl),
- q(1173) => q(bgm),
- q(1174) => q(bgn),
- q(1175) => q(bgo),
- q(1176) => q(bgp),
- q(1177) => q(bgq),
- q(1178) => q(bgr),
- q(1179) => q(bgs),
- q(1180) => q(bgt),
- q(1181) => q(bgu),
- q(1182) => q(bgv),
- q(1183) => q(bgw),
- q(1184) => q(bgx),
- q(1185) => q(bgy),
- q(1186) => q(bgz),
- q(1187) => q(bha),
- q(1188) => q(bhb),
- q(1189) => q(bhc),
- q(1190) => q(bhd),
- q(1191) => q(bhe),
- q(1192) => q(bhf),
- q(1193) => q(bhg),
- q(1194) => q(bhh),
- q(1195) => q(bhi),
- q(1196) => q(bhj),
- q(1197) => q(bhl),
- q(1198) => q(bhm),
- q(1199) => q(bhn),
- q(1200) => q(bhp),
- q(1201) => q(bhq),
- q(1202) => q(bhr),
- q(1203) => q(bhs),
- q(1204) => q(bht),
- q(1205) => q(bhu),
- q(1206) => q(bhv),
- q(1207) => q(bhw),
- q(1208) => q(bhx),
- q(1209) => q(bhy),
- q(1210) => q(bhz),
- q(1211) => q(bia),
- q(1212) => q(bib),
- q(1213) => q(bic),
- q(1214) => q(bid),
- q(1215) => q(bie),
- q(1216) => q(bif),
- q(1217) => q(big),
- q(1218) => q(bij),
- q(1219) => q(bil),
- q(1220) => q(bim),
- q(1221) => q(bio),
- q(1222) => q(bip),
- q(1223) => q(biq),
- q(1224) => q(bir),
- q(1225) => q(bit),
- q(1226) => q(biu),
- q(1227) => q(biv),
- q(1228) => q(biw),
- q(1229) => q(bix),
- q(1230) => q(biy),
- q(1231) => q(biz),
- q(1232) => q(bja),
- q(1233) => q(bjb),
- q(1234) => q(bjc),
- q(1235) => q(bje),
- q(1236) => q(bjf),
- q(1237) => q(bjg),
- q(1238) => q(bjh),
- q(1239) => q(bji),
- q(1240) => q(bjj),
- q(1241) => q(bjk),
- q(1242) => q(bjl),
- q(1243) => q(bjm),
- q(1244) => q(bjn),
- q(1245) => q(bjo),
- q(1246) => q(bjr),
- q(1247) => q(bjs),
- q(1248) => q(bjt),
- q(1249) => q(bju),
- q(1250) => q(bjv),
- q(1251) => q(bjw),
- q(1252) => q(bjx),
- q(1253) => q(bjy),
- q(1254) => q(bjz),
- q(1255) => q(bka),
- q(1256) => q(bkc),
- q(1257) => q(bkd),
- q(1258) => q(bkf),
- q(1259) => q(bkg),
- q(1260) => q(bkh),
- q(1261) => q(bki),
- q(1262) => q(bkj),
- q(1263) => q(bkk),
- q(1264) => q(bkl),
- q(1265) => q(bkm),
- q(1266) => q(bkn),
- q(1267) => q(bko),
- q(1268) => q(bkp),
- q(1269) => q(bkq),
- q(1270) => q(bkr),
- q(1271) => q(bks),
- q(1272) => q(bkt),
- q(1273) => q(bku),
- q(1274) => q(bkv),
- q(1275) => q(bkw),
- q(1276) => q(bkx),
- q(1277) => q(bky),
- q(1278) => q(bkz),
- q(1279) => q(blb),
- q(1280) => q(blc),
- q(1281) => q(bld),
- q(1282) => q(ble),
- q(1283) => q(blf),
- q(1284) => q(blg),
- q(1285) => q(blh),
- q(1286) => q(bli),
- q(1287) => q(blj),
- q(1288) => q(blk),
- q(1289) => q(bll),
- q(1290) => q(blm),
- q(1291) => q(bln),
- q(1292) => q(blo),
- q(1293) => q(blp),
- q(1294) => q(blq),
- q(1295) => q(blr),
- q(1296) => q(bls),
- q(1297) => q(blt),
- q(1298) => q(blv),
- q(1299) => q(blw),
- q(1300) => q(blx),
- q(1301) => q(bly),
- q(1302) => q(blz),
- q(1303) => q(bma),
- q(1304) => q(bmb),
- q(1305) => q(bmc),
- q(1306) => q(bmd),
- q(1307) => q(bme),
- q(1308) => q(bmf),
- q(1309) => q(bmg),
- q(1310) => q(bmh),
- q(1311) => q(bmi),
- q(1312) => q(bmj),
- q(1313) => q(bmk),
- q(1314) => q(bml),
- q(1315) => q(bmm),
- q(1316) => q(bmn),
- q(1317) => q(bmo),
- q(1318) => q(bmp),
- q(1319) => q(bmq),
- q(1320) => q(bmr),
- q(1321) => q(bms),
- q(1322) => q(bmt),
- q(1323) => q(bmu),
- q(1324) => q(bmv),
- q(1325) => q(bmw),
- q(1326) => q(bmx),
- q(1327) => q(bmy),
- q(1328) => q(bmz),
- q(1329) => q(bna),
- q(1330) => q(bnb),
- q(1331) => q(bnc),
- q(1332) => q(bnd),
- q(1333) => q(bne),
- q(1334) => q(bnf),
- q(1335) => q(bng),
- q(1336) => q(bni),
- q(1337) => q(bnj),
- q(1338) => q(bnk),
- q(1339) => q(bnl),
- q(1340) => q(bnm),
- q(1341) => q(bnn),
- q(1342) => q(bno),
- q(1343) => q(bnp),
- q(1344) => q(bnq),
- q(1345) => q(bnr),
- q(1346) => q(bns),
- q(1347) => q(bnu),
- q(1348) => q(bnv),
- q(1349) => q(bnw),
- q(1350) => q(bnx),
- q(1351) => q(bny),
- q(1352) => q(bnz),
- q(1353) => q(boa),
- q(1354) => q(bob),
- q(1355) => q(boe),
- q(1356) => q(bof),
- q(1357) => q(bog),
- q(1358) => q(boh),
- q(1359) => q(boi),
- q(1360) => q(boj),
- q(1361) => q(bok),
- q(1362) => q(bol),
- q(1363) => q(bom),
- q(1364) => q(bon),
- q(1365) => q(boo),
- q(1366) => q(bop),
- q(1367) => q(boq),
- q(1368) => q(bor),
- q(1369) => q(bot),
- q(1370) => q(bou),
- q(1371) => q(bov),
- q(1372) => q(bow),
- q(1373) => q(box),
- q(1374) => q(boy),
- q(1375) => q(boz),
- q(1376) => q(bpa),
- q(1377) => q(bpb),
- q(1378) => q(bpd),
- q(1379) => q(bpg),
- q(1380) => q(bph),
- q(1381) => q(bpi),
- q(1382) => q(bpj),
- q(1383) => q(bpk),
- q(1384) => q(bpl),
- q(1385) => q(bpm),
- q(1386) => q(bpn),
- q(1387) => q(bpo),
- q(1388) => q(bpp),
- q(1389) => q(bpq),
- q(1390) => q(bpr),
- q(1391) => q(bps),
- q(1392) => q(bpt),
- q(1393) => q(bpu),
- q(1394) => q(bpv),
- q(1395) => q(bpw),
- q(1396) => q(bpx),
- q(1397) => q(bpy),
- q(1398) => q(bpz),
- q(1399) => q(bqa),
- q(1400) => q(bqb),
- q(1401) => q(bqc),
- q(1402) => q(bqd),
- q(1403) => q(bqf),
- q(1404) => q(bqg),
- q(1405) => q(bqh),
- q(1406) => q(bqi),
- q(1407) => q(bqj),
- q(1408) => q(bqk),
- q(1409) => q(bql),
- q(1410) => q(bqm),
- q(1411) => q(bqn),
- q(1412) => q(bqo),
- q(1413) => q(bqp),
- q(1414) => q(bqq),
- q(1415) => q(bqr),
- q(1416) => q(bqs),
- q(1417) => q(bqt),
- q(1418) => q(bqu),
- q(1419) => q(bqv),
- q(1420) => q(bqw),
- q(1421) => q(bqx),
- q(1422) => q(bqy),
- q(1423) => q(bqz),
- q(1424) => q(brb),
- q(1425) => q(brc),
- q(1426) => q(brd),
- q(1427) => q(brf),
- q(1428) => q(brg),
- q(1429) => q(brh),
- q(1430) => q(bri),
- q(1431) => q(brj),
- q(1432) => q(brk),
- q(1433) => q(brl),
- q(1434) => q(brm),
- q(1435) => q(brn),
- q(1436) => q(bro),
- q(1437) => q(brp),
- q(1438) => q(brq),
- q(1439) => q(brr),
- q(1440) => q(brs),
- q(1441) => q(brt),
- q(1442) => q(bru),
- q(1443) => q(brv),
- q(1444) => q(brw),
- q(1445) => q(brx),
- q(1446) => q(bry),
- q(1447) => q(brz),
- q(1448) => q(bsa),
- q(1449) => q(bsb),
- q(1450) => q(bsc),
- q(1451) => q(bse),
- q(1452) => q(bsf),
- q(1453) => q(bsg),
- q(1454) => q(bsh),
- q(1455) => q(bsi),
- q(1456) => q(bsj),
- q(1457) => q(bsk),
- q(1458) => q(bsl),
- q(1459) => q(bsm),
- q(1460) => q(bsn),
- q(1461) => q(bso),
- q(1462) => q(bsp),
- q(1463) => q(bsq),
- q(1464) => q(bsr),
- q(1465) => q(bss),
- q(1466) => q(bst),
- q(1467) => q(bsu),
- q(1468) => q(bsv),
- q(1469) => q(bsw),
- q(1470) => q(bsx),
- q(1471) => q(bsy),
- q(1472) => q(bta),
- q(1473) => q(btc),
- q(1474) => q(btd),
- q(1475) => q(bte),
- q(1476) => q(btf),
- q(1477) => q(btg),
- q(1478) => q(bth),
- q(1479) => q(bti),
- q(1480) => q(btj),
- q(1481) => q(btl),
- q(1482) => q(btm),
- q(1483) => q(btn),
- q(1484) => q(bto),
- q(1485) => q(btp),
- q(1486) => q(btq),
- q(1487) => q(btr),
- q(1488) => q(bts),
- q(1489) => q(btt),
- q(1490) => q(btu),
- q(1491) => q(btv),
- q(1492) => q(btw),
- q(1493) => q(btx),
- q(1494) => q(bty),
- q(1495) => q(btz),
- q(1496) => q(bub),
- q(1497) => q(buc),
- q(1498) => q(bud),
- q(1499) => q(bue),
- q(1500) => q(buf),
- q(1501) => q(buh),
- q(1502) => q(bui),
- q(1503) => q(buj),
- q(1504) => q(buk),
- q(1505) => q(bum),
- q(1506) => q(bun),
- q(1507) => q(buo),
- q(1508) => q(bup),
- q(1509) => q(buq),
- q(1510) => q(bus),
- q(1511) => q(but),
- q(1512) => q(buu),
- q(1513) => q(buv),
- q(1514) => q(buw),
- q(1515) => q(bux),
- q(1516) => q(buy),
- q(1517) => q(buz),
- q(1518) => q(bva),
- q(1519) => q(bvb),
- q(1520) => q(bvc),
- q(1521) => q(bvd),
- q(1522) => q(bve),
- q(1523) => q(bvf),
- q(1524) => q(bvg),
- q(1525) => q(bvh),
- q(1526) => q(bvi),
- q(1527) => q(bvj),
- q(1528) => q(bvk),
- q(1529) => q(bvl),
- q(1530) => q(bvm),
- q(1531) => q(bvn),
- q(1532) => q(bvo),
- q(1533) => q(bvq),
- q(1534) => q(bvr),
- q(1535) => q(bvt),
- q(1536) => q(bvu),
- q(1537) => q(bvv),
- q(1538) => q(bvw),
- q(1539) => q(bvx),
- q(1540) => q(bvy),
- q(1541) => q(bvz),
- q(1542) => q(bwa),
- q(1543) => q(bwb),
- q(1544) => q(bwc),
- q(1545) => q(bwd),
- q(1546) => q(bwe),
- q(1547) => q(bwf),
- q(1548) => q(bwg),
- q(1549) => q(bwh),
- q(1550) => q(bwi),
- q(1551) => q(bwj),
- q(1552) => q(bwk),
- q(1553) => q(bwl),
- q(1554) => q(bwm),
- q(1555) => q(bwn),
- q(1556) => q(bwo),
- q(1557) => q(bwp),
- q(1558) => q(bwq),
- q(1559) => q(bwr),
- q(1560) => q(bws),
- q(1561) => q(bwt),
- q(1562) => q(bwu),
- q(1563) => q(bww),
- q(1564) => q(bwx),
- q(1565) => q(bwy),
- q(1566) => q(bwz),
- q(1567) => q(bxa),
- q(1568) => q(bxb),
- q(1569) => q(bxc),
- q(1570) => q(bxd),
- q(1571) => q(bxe),
- q(1572) => q(bxf),
- q(1573) => q(bxg),
- q(1574) => q(bxh),
- q(1575) => q(bxi),
- q(1576) => q(bxj),
- q(1577) => q(bxk),
- q(1578) => q(bxl),
- q(1579) => q(bxm),
- q(1580) => q(bxn),
- q(1581) => q(bxo),
- q(1582) => q(bxp),
- q(1583) => q(bxq),
- q(1584) => q(bxr),
- q(1585) => q(bxs),
- q(1586) => q(bxu),
- q(1587) => q(bxv),
- q(1588) => q(bxw),
- q(1589) => q(bxx),
- q(1590) => q(bxz),
- q(1591) => q(bya),
- q(1592) => q(byb),
- q(1593) => q(byc),
- q(1594) => q(byd),
- q(1595) => q(bye),
- q(1596) => q(byf),
- q(1597) => q(byg),
- q(1598) => q(byh),
- q(1599) => q(byi),
- q(1600) => q(byj),
- q(1601) => q(byk),
- q(1602) => q(byl),
- q(1603) => q(bym),
- q(1604) => q(byo),
- q(1605) => q(byp),
- q(1606) => q(byq),
- q(1607) => q(byr),
- q(1608) => q(bys),
- q(1609) => q(byt),
- q(1610) => q(byv),
- q(1611) => q(byw),
- q(1612) => q(byx),
- q(1613) => q(byy),
- q(1614) => q(byz),
- q(1615) => q(bza),
- q(1616) => q(bzb),
- q(1617) => q(bzc),
- q(1618) => q(bzd),
- q(1619) => q(bze),
- q(1620) => q(bzf),
- q(1621) => q(bzg),
- q(1622) => q(bzh),
- q(1623) => q(bzi),
- q(1624) => q(bzj),
- q(1625) => q(bzk),
- q(1626) => q(bzl),
- q(1627) => q(bzm),
- q(1628) => q(bzn),
- q(1629) => q(bzo),
- q(1630) => q(bzp),
- q(1631) => q(bzq),
- q(1632) => q(bzr),
- q(1633) => q(bzs),
- q(1634) => q(bzt),
- q(1635) => q(bzu),
- q(1636) => q(bzv),
- q(1637) => q(bzw),
- q(1638) => q(bzx),
- q(1639) => q(bzy),
- q(1640) => q(bzz),
- q(1641) => q(caa),
- q(1642) => q(cab),
- q(1643) => q(cac),
- q(1644) => q(cae),
- q(1645) => q(caf),
- q(1646) => q(cag),
- q(1647) => q(cah),
- q(1648) => q(caj),
- q(1649) => q(cak),
- q(1650) => q(cal),
- q(1651) => q(cam),
- q(1652) => q(can),
- q(1653) => q(cao),
- q(1654) => q(cap),
- q(1655) => q(caq),
- q(1656) => q(cas),
- q(1657) => q(cav),
- q(1658) => q(caw),
- q(1659) => q(cax),
- q(1660) => q(cay),
- q(1661) => q(caz),
- q(1662) => q(cbb),
- q(1663) => q(cbc),
- q(1664) => q(cbd),
- q(1665) => q(cbe),
- q(1666) => q(cbg),
- q(1667) => q(cbh),
- q(1668) => q(cbi),
- q(1669) => q(cbj),
- q(1670) => q(cbk),
- q(1671) => q(cbl),
- q(1672) => q(cbn),
- q(1673) => q(cbo),
- q(1674) => q(cbr),
- q(1675) => q(cbs),
- q(1676) => q(cbt),
- q(1677) => q(cbu),
- q(1678) => q(cbv),
- q(1679) => q(cbw),
- q(1680) => q(cby),
- q(1681) => q(cca),
- q(1682) => q(ccc),
- q(1683) => q(ccd),
- q(1684) => q(cce),
- q(1685) => q(ccg),
- q(1686) => q(cch),
- q(1687) => q(ccj),
- q(1688) => q(ccl),
- q(1689) => q(ccm),
- q(1690) => q(cco),
- q(1691) => q(ccp),
- q(1692) => q(ccr),
- q(1693) => q(cda),
- q(1694) => q(cde),
- q(1695) => q(cdf),
- q(1696) => q(cdg),
- q(1697) => q(cdh),
- q(1698) => q(cdi),
- q(1699) => q(cdj),
- q(1700) => q(cdm),
- q(1701) => q(cdn),
- q(1702) => q(cdo),
- q(1703) => q(cdr),
- q(1704) => q(cds),
- q(1705) => q(cdy),
- q(1706) => q(cdz),
- q(1707) => q(cea),
- q(1708) => q(ceg),
- q(1709) => q(cek),
- q(1710) => q(cen),
- q(1711) => q(cet),
- q(1712) => q(cfa),
- q(1713) => q(cfd),
- q(1714) => q(cfg),
- q(1715) => q(cfm),
- q(1716) => q(cga),
- q(1717) => q(cgc),
- q(1718) => q(cgg),
- q(1719) => q(cgk),
- q(1720) => q(chc),
- q(1721) => q(chd),
- q(1722) => q(chf),
- q(1723) => q(chh),
- q(1724) => q(chj),
- q(1725) => q(chl),
- q(1726) => q(chq),
- q(1727) => q(cht),
- q(1728) => q(chw),
- q(1729) => q(chx),
- q(1730) => q(chz),
- q(1731) => q(cia),
- q(1732) => q(cib),
- q(1733) => q(cic),
- q(1734) => q(cid),
- q(1735) => q(cie),
- q(1736) => q(cih),
- q(1737) => q(cik),
- q(1738) => q(cim),
- q(1739) => q(cin),
- q(1740) => q(cip),
- q(1741) => q(cir),
- q(1742) => q(ciw),
- q(1743) => q(ciy),
- q(1744) => q(cja),
- q(1745) => q(cje),
- q(1746) => q(cjh),
- q(1747) => q(cji),
- q(1748) => q(cjk),
- q(1749) => q(cjm),
- q(1750) => q(cjn),
- q(1751) => q(cjo),
- q(1752) => q(cjp),
- q(1753) => q(cjs),
- q(1754) => q(cjv),
- q(1755) => q(cjy),
- q(1756) => q(ckb),
- q(1757) => q(ckh),
- q(1758) => q(ckl),
- q(1759) => q(cko),
- q(1760) => q(ckq),
- q(1761) => q(ckr),
- q(1762) => q(cks),
- q(1763) => q(ckt),
- q(1764) => q(cku),
- q(1765) => q(ckv),
- q(1766) => q(ckx),
- q(1767) => q(cky),
- q(1768) => q(ckz),
- q(1769) => q(cla),
- q(1770) => q(clc),
- q(1771) => q(cld),
- q(1772) => q(cle),
- q(1773) => q(clh),
- q(1774) => q(cli),
- q(1775) => q(clj),
- q(1776) => q(clk),
- q(1777) => q(cll),
- q(1778) => q(clm),
- q(1779) => q(clo),
- q(1780) => q(clt),
- q(1781) => q(clu),
- q(1782) => q(clw),
- q(1783) => q(cly),
- q(1784) => q(cma),
- q(1785) => q(cme),
- q(1786) => q(cmg),
- q(1787) => q(cmi),
- q(1788) => q(cml),
- q(1789) => q(cmm),
- q(1790) => q(cmn),
- q(1791) => q(cmo),
- q(1792) => q(cmr),
- q(1793) => q(cms),
- q(1794) => q(cmt),
- q(1795) => q(cna),
- q(1796) => q(cnb),
- q(1797) => q(cnc),
- q(1798) => q(cng),
- q(1799) => q(cnh),
- q(1800) => q(cni),
- q(1801) => q(cnk),
- q(1802) => q(cnl),
- q(1803) => q(cno),
- q(1804) => q(cns),
- q(1805) => q(cnt),
- q(1806) => q(cnu),
- q(1807) => q(cnw),
- q(1808) => q(cnx),
- q(1809) => q(coa),
- q(1810) => q(cob),
- q(1811) => q(coc),
- q(1812) => q(cod),
- q(1813) => q(coe),
- q(1814) => q(cof),
- q(1815) => q(cog),
- q(1816) => q(coh),
- q(1817) => q(coj),
- q(1818) => q(cok),
- q(1819) => q(col),
- q(1820) => q(com),
- q(1821) => q(con),
- q(1822) => q(coo),
- q(1823) => q(coq),
- q(1824) => q(cot),
- q(1825) => q(cou),
- q(1826) => q(cov),
- q(1827) => q(cow),
- q(1828) => q(cox),
- q(1829) => q(coy),
- q(1830) => q(coz),
- q(1831) => q(cpa),
- q(1832) => q(cpb),
- q(1833) => q(cpc),
- q(1834) => q(cpg),
- q(1835) => q(cpi),
- q(1836) => q(cpn),
- q(1837) => q(cps),
- q(1838) => q(cpu),
- q(1839) => q(cpx),
- q(1840) => q(cpy),
- q(1841) => q(cqd),
- q(1842) => q(cqu),
- q(1843) => q(cra),
- q(1844) => q(crb),
- q(1845) => q(crc),
- q(1846) => q(crd),
- q(1847) => q(crf),
- q(1848) => q(crg),
- q(1849) => q(cri),
- q(1850) => q(crj),
- q(1851) => q(crk),
- q(1852) => q(crl),
- q(1853) => q(crm),
- q(1854) => q(crn),
- q(1855) => q(cro),
- q(1856) => q(crq),
- q(1857) => q(crr),
- q(1858) => q(crs),
- q(1859) => q(crt),
- q(1860) => q(crv),
- q(1861) => q(crw),
- q(1862) => q(crx),
- q(1863) => q(cry),
- q(1864) => q(crz),
- q(1865) => q(csa),
- q(1866) => q(csc),
- q(1867) => q(csd),
- q(1868) => q(cse),
- q(1869) => q(csf),
- q(1870) => q(csg),
- q(1871) => q(csh),
- q(1872) => q(csi),
- q(1873) => q(csk),
- q(1874) => q(csl),
- q(1875) => q(csm),
- q(1876) => q(csn),
- q(1877) => q(cso),
- q(1878) => q(csq),
- q(1879) => q(csr),
- q(1880) => q(css),
- q(1881) => q(cst),
- q(1882) => q(csv),
- q(1883) => q(csw),
- q(1884) => q(csy),
- q(1885) => q(csz),
- q(1886) => q(cta),
- q(1887) => q(ctc),
- q(1888) => q(ctd),
- q(1889) => q(cte),
- q(1890) => q(ctg),
- q(1891) => q(cth),
- q(1892) => q(ctl),
- q(1893) => q(ctm),
- q(1894) => q(ctn),
- q(1895) => q(cto),
- q(1896) => q(ctp),
- q(1897) => q(cts),
- q(1898) => q(ctt),
- q(1899) => q(ctu),
- q(1900) => q(ctz),
- q(1901) => q(cua),
- q(1902) => q(cub),
- q(1903) => q(cuc),
- q(1904) => q(cug),
- q(1905) => q(cuh),
- q(1906) => q(cui),
- q(1907) => q(cuj),
- q(1908) => q(cuk),
- q(1909) => q(cul),
- q(1910) => q(cum),
- q(1911) => q(cuo),
- q(1912) => q(cup),
- q(1913) => q(cuq),
- q(1914) => q(cur),
- q(1915) => q(cut),
- q(1916) => q(cuu),
- q(1917) => q(cuv),
- q(1918) => q(cuw),
- q(1919) => q(cux),
- q(1920) => q(cvg),
- q(1921) => q(cvn),
- q(1922) => q(cwa),
- q(1923) => q(cwb),
- q(1924) => q(cwd),
- q(1925) => q(cwe),
- q(1926) => q(cwg),
- q(1927) => q(cwt),
- q(1928) => q(cya),
- q(1929) => q(cyb),
- q(1930) => q(cyo),
- q(1931) => q(czh),
- q(1932) => q(czk),
- q(1933) => q(czn),
- q(1934) => q(czo),
- q(1935) => q(czt),
- q(1936) => q(daa),
- q(1937) => q(dac),
- q(1938) => q(dad),
- q(1939) => q(dae),
- q(1940) => q(daf),
- q(1941) => q(dag),
- q(1942) => q(dah),
- q(1943) => q(dai),
- q(1944) => q(daj),
- q(1945) => q(dal),
- q(1946) => q(dam),
- q(1947) => q(dao),
- q(1948) => q(daq),
- q(1949) => q(das),
- q(1950) => q(dau),
- q(1951) => q(dav),
- q(1952) => q(daw),
- q(1953) => q(dax),
- q(1954) => q(daz),
- q(1955) => q(dba),
- q(1956) => q(dbb),
- q(1957) => q(dbd),
- q(1958) => q(dbe),
- q(1959) => q(dbf),
- q(1960) => q(dbg),
- q(1961) => q(dbi),
- q(1962) => q(dbj),
- q(1963) => q(dbl),
- q(1964) => q(dbm),
- q(1965) => q(dbn),
- q(1966) => q(dbo),
- q(1967) => q(dbp),
- q(1968) => q(dbq),
- q(1969) => q(dbr),
- q(1970) => q(dbt),
- q(1971) => q(dbu),
- q(1972) => q(dbv),
- q(1973) => q(dbw),
- q(1974) => q(dby),
- q(1975) => q(dcc),
- q(1976) => q(dcr),
- q(1977) => q(dda),
- q(1978) => q(ddd),
- q(1979) => q(dde),
- q(1980) => q(ddg),
- q(1981) => q(ddi),
- q(1982) => q(ddj),
- q(1983) => q(ddn),
- q(1984) => q(ddo),
- q(1985) => q(ddr),
- q(1986) => q(dds),
- q(1987) => q(ddw),
- q(1988) => q(dec),
- q(1989) => q(ded),
- q(1990) => q(dee),
- q(1991) => q(def),
- q(1992) => q(deg),
- q(1993) => q(deh),
- q(1994) => q(dei),
- q(1995) => q(dek),
- q(1996) => q(dem),
- q(1997) => q(dep),
- q(1998) => q(deq),
- q(1999) => q(der),
- q(2000) => q(des),
- q(2001) => q(dev),
- q(2002) => q(dez),
- q(2003) => q(dga),
- q(2004) => q(dgb),
- q(2005) => q(dgc),
- q(2006) => q(dgd),
- q(2007) => q(dge),
- q(2008) => q(dgg),
- q(2009) => q(dgh),
- q(2010) => q(dgi),
- q(2011) => q(dgk),
- q(2012) => q(dgl),
- q(2013) => q(dgn),
- q(2014) => q(dgo),
- q(2015) => q(dgs),
- q(2016) => q(dgt),
- q(2017) => q(dgu),
- q(2018) => q(dgw),
- q(2019) => q(dgx),
- q(2020) => q(dgz),
- q(2021) => q(dhd),
- q(2022) => q(dhg),
- q(2023) => q(dhi),
- q(2024) => q(dhl),
- q(2025) => q(dhm),
- q(2026) => q(dhn),
- q(2027) => q(dho),
- q(2028) => q(dhr),
- q(2029) => q(dhs),
- q(2030) => q(dhu),
- q(2031) => q(dhv),
- q(2032) => q(dhw),
- q(2033) => q(dia),
- q(2034) => q(dib),
- q(2035) => q(dic),
- q(2036) => q(did),
- q(2037) => q(dif),
- q(2038) => q(dig),
- q(2039) => q(dih),
- q(2040) => q(dii),
- q(2041) => q(dij),
- q(2042) => q(dik),
- q(2043) => q(dil),
- q(2044) => q(dim),
- q(2045) => q(dio),
- q(2046) => q(dip),
- q(2047) => q(diq),
- q(2048) => q(dir),
- q(2049) => q(dis),
- q(2050) => q(dit),
- q(2051) => q(diu),
- q(2052) => q(diw),
- q(2053) => q(dix),
- q(2054) => q(diy),
- q(2055) => q(diz),
- q(2056) => q(dja),
- q(2057) => q(djb),
- q(2058) => q(djc),
- q(2059) => q(djd),
- q(2060) => q(dje),
- q(2061) => q(djf),
- q(2062) => q(dji),
- q(2063) => q(djj),
- q(2064) => q(djk),
- q(2065) => q(djl),
- q(2066) => q(djm),
- q(2067) => q(djn),
- q(2068) => q(djo),
- q(2069) => q(djr),
- q(2070) => q(dju),
- q(2071) => q(djw),
- q(2072) => q(dka),
- q(2073) => q(dkk),
- q(2074) => q(dkr),
- q(2075) => q(dks),
- q(2076) => q(dkx),
- q(2077) => q(dlg),
- q(2078) => q(dlm),
- q(2079) => q(dln),
- q(2080) => q(dma),
- q(2081) => q(dmb),
- q(2082) => q(dmc),
- q(2083) => q(dmd),
- q(2084) => q(dme),
- q(2085) => q(dmg),
- q(2086) => q(dmk),
- q(2087) => q(dml),
- q(2088) => q(dmm),
- q(2089) => q(dmo),
- q(2090) => q(dmr),
- q(2091) => q(dms),
- q(2092) => q(dmu),
- q(2093) => q(dmv),
- q(2094) => q(dmx),
- q(2095) => q(dmy),
- q(2096) => q(dna),
- q(2097) => q(dnd),
- q(2098) => q(dne),
- q(2099) => q(dng),
- q(2100) => q(dni),
- q(2101) => q(dnk),
- q(2102) => q(dnn),
- q(2103) => q(dnr),
- q(2104) => q(dnt),
- q(2105) => q(dnu),
- q(2106) => q(dnv),
- q(2107) => q(dnw),
- q(2108) => q(dny),
- q(2109) => q(doa),
- q(2110) => q(dob),
- q(2111) => q(doc),
- q(2112) => q(doe),
- q(2113) => q(dof),
- q(2114) => q(doh),
- q(2115) => q(dok),
- q(2116) => q(dol),
- q(2117) => q(don),
- q(2118) => q(doo),
- q(2119) => q(dop),
- q(2120) => q(doq),
- q(2121) => q(dor),
- q(2122) => q(dos),
- q(2123) => q(dot),
- q(2124) => q(dov),
- q(2125) => q(dow),
- q(2126) => q(dox),
- q(2127) => q(doy),
- q(2128) => q(doz),
- q(2129) => q(dpp),
- q(2130) => q(drb),
- q(2131) => q(drc),
- q(2132) => q(drd),
- q(2133) => q(dre),
- q(2134) => q(drg),
- q(2135) => q(dri),
- q(2136) => q(drl),
- q(2137) => q(drn),
- q(2138) => q(dro),
- q(2139) => q(drq),
- q(2140) => q(drr),
- q(2141) => q(drs),
- q(2142) => q(drt),
- q(2143) => q(dru),
- q(2144) => q(dry),
- q(2145) => q(dse),
- q(2146) => q(dsh),
- q(2147) => q(dsi),
- q(2148) => q(dsl),
- q(2149) => q(dsn),
- q(2150) => q(dso),
- q(2151) => q(dsq),
- q(2152) => q(dta),
- q(2153) => q(dtb),
- q(2154) => q(dtd),
- q(2155) => q(dth),
- q(2156) => q(dti),
- q(2157) => q(dtk),
- q(2158) => q(dtm),
- q(2159) => q(dto),
- q(2160) => q(dtp),
- q(2161) => q(dtr),
- q(2162) => q(dts),
- q(2163) => q(dtt),
- q(2164) => q(dtu),
- q(2165) => q(dty),
- q(2166) => q(dub),
- q(2167) => q(duc),
- q(2168) => q(dud),
- q(2169) => q(due),
- q(2170) => q(duf),
- q(2171) => q(dug),
- q(2172) => q(duh),
- q(2173) => q(dui),
- q(2174) => q(duj),
- q(2175) => q(duk),
- q(2176) => q(dul),
- q(2177) => q(dun),
- q(2178) => q(duo),
- q(2179) => q(dup),
- q(2180) => q(duq),
- q(2181) => q(dur),
- q(2182) => q(dus),
- q(2183) => q(duu),
- q(2184) => q(duv),
- q(2185) => q(duw),
- q(2186) => q(dux),
- q(2187) => q(duy),
- q(2188) => q(duz),
- q(2189) => q(dva),
- q(2190) => q(dwa),
- q(2191) => q(dwr),
- q(2192) => q(dws),
- q(2193) => q(dww),
- q(2194) => q(dya),
- q(2195) => q(dyb),
- q(2196) => q(dyd),
- q(2197) => q(dyg),
- q(2198) => q(dyi),
- q(2199) => q(dym),
- q(2200) => q(dyn),
- q(2201) => q(dyo),
- q(2202) => q(dyy),
- q(2203) => q(dza),
- q(2204) => q(dzd),
- q(2205) => q(dzg),
- q(2206) => q(dzl),
- q(2207) => q(dzn),
- q(2208) => q(ebg),
- q(2209) => q(ebk),
- q(2210) => q(ebo),
- q(2211) => q(ebr),
- q(2212) => q(ebu),
- q(2213) => q(ecr),
- q(2214) => q(ecs),
- q(2215) => q(ecy),
- q(2216) => q(eee),
- q(2217) => q(efa),
- q(2218) => q(efe),
- q(2219) => q(ega),
- q(2220) => q(egl),
- q(2221) => q(ego),
- q(2222) => q(ehu),
- q(2223) => q(eip),
- q(2224) => q(eit),
- q(2225) => q(eiv),
- q(2226) => q(eja),
- q(2227) => q(eke),
- q(2228) => q(ekg),
- q(2229) => q(eki),
- q(2230) => q(ekk),
- q(2231) => q(ekl),
- q(2232) => q(ekm),
- q(2233) => q(eko),
- q(2234) => q(ekp),
- q(2235) => q(ekr),
- q(2236) => q(eky),
- q(2237) => q(ele),
- q(2238) => q(elh),
- q(2239) => q(eli),
- q(2240) => q(elk),
- q(2241) => q(elm),
- q(2242) => q(elo),
- q(2243) => q(elu),
- q(2244) => q(ema),
- q(2245) => q(emb),
- q(2246) => q(eme),
- q(2247) => q(emg),
- q(2248) => q(emi),
- q(2249) => q(emk),
- q(2250) => q(emm),
- q(2251) => q(emn),
- q(2252) => q(emo),
- q(2253) => q(emp),
- q(2254) => q(ems),
- q(2255) => q(emu),
- q(2256) => q(emw),
- q(2257) => q(emx),
- q(2258) => q(emy),
- q(2259) => q(ena),
- q(2260) => q(enb),
- q(2261) => q(enc),
- q(2262) => q(end),
- q(2263) => q(enf),
- q(2264) => q(enh),
- q(2265) => q(enn),
- q(2266) => q(eno),
- q(2267) => q(enq),
- q(2268) => q(enr),
- q(2269) => q(enu),
- q(2270) => q(env),
- q(2271) => q(enw),
- q(2272) => q(eot),
- q(2273) => q(epi),
- q(2274) => q(era),
- q(2275) => q(erg),
- q(2276) => q(erh),
- q(2277) => q(eri),
- q(2278) => q(erk),
- q(2279) => q(ero),
- q(2280) => q(err),
- q(2281) => q(ers),
- q(2282) => q(ert),
- q(2283) => q(erw),
- q(2284) => q(ese),
- q(2285) => q(esh),
- q(2286) => q(esi),
- q(2287) => q(esk),
- q(2288) => q(esl),
- q(2289) => q(esm),
- q(2290) => q(esn),
- q(2291) => q(eso),
- q(2292) => q(esq),
- q(2293) => q(ess),
- q(2294) => q(esu),
- q(2295) => q(etb),
- q(2296) => q(etc),
- q(2297) => q(eth),
- q(2298) => q(etn),
- q(2299) => q(eto),
- q(2300) => q(etr),
- q(2301) => q(ets),
- q(2302) => q(ett),
- q(2303) => q(etu),
- q(2304) => q(etx),
- q(2305) => q(etz),
- q(2306) => q(eve),
- q(2307) => q(evh),
- q(2308) => q(evn),
- q(2309) => q(ext),
- q(2310) => q(eya),
- q(2311) => q(eyo),
- q(2312) => q(eze),
- q(2313) => q(faa),
- q(2314) => q(fab),
- q(2315) => q(fad),
- q(2316) => q(faf),
- q(2317) => q(fag),
- q(2318) => q(fah),
- q(2319) => q(fai),
- q(2320) => q(faj),
- q(2321) => q(fak),
- q(2322) => q(fal),
- q(2323) => q(fam),
- q(2324) => q(fap),
- q(2325) => q(far),
- q(2326) => q(fau),
- q(2327) => q(fax),
- q(2328) => q(fay),
- q(2329) => q(faz),
- q(2330) => q(fbl),
- q(2331) => q(fcs),
- q(2332) => q(fer),
- q(2333) => q(ffi),
- q(2334) => q(ffm),
- q(2335) => q(fgr),
- q(2336) => q(fia),
- q(2337) => q(fie),
- q(2338) => q(fip),
- q(2339) => q(fir),
- q(2340) => q(fit),
- q(2341) => q(fiw),
- q(2342) => q(fkk),
- q(2343) => q(fkv),
- q(2344) => q(fla),
- q(2345) => q(flh),
- q(2346) => q(fli),
- q(2347) => q(fll),
- q(2348) => q(fln),
- q(2349) => q(flr),
- q(2350) => q(fly),
- q(2351) => q(fmp),
- q(2352) => q(fmu),
- q(2353) => q(fng),
- q(2354) => q(fni),
- q(2355) => q(fod),
- q(2356) => q(foi),
- q(2357) => q(fom),
- q(2358) => q(for),
- q(2359) => q(fos),
- q(2360) => q(fpe),
- q(2361) => q(fqs),
- q(2362) => q(frc),
- q(2363) => q(frd),
- q(2364) => q(frk),
- q(2365) => q(frp),
- q(2366) => q(frq),
- q(2367) => q(frt),
- q(2368) => q(fse),
- q(2369) => q(fsl),
- q(2370) => q(fss),
- q(2371) => q(fub),
- q(2372) => q(fuc),
- q(2373) => q(fud),
- q(2374) => q(fue),
- q(2375) => q(fuf),
- q(2376) => q(fuh),
- q(2377) => q(fui),
- q(2378) => q(fuj),
- q(2379) => q(fum),
- q(2380) => q(fun),
- q(2381) => q(fuq),
- q(2382) => q(fut),
- q(2383) => q(fuu),
- q(2384) => q(fuv),
- q(2385) => q(fuy),
- q(2386) => q(fvr),
- q(2387) => q(fwa),
- q(2388) => q(fwe),
- q(2389) => q(gab),
- q(2390) => q(gac),
- q(2391) => q(gad),
- q(2392) => q(gae),
- q(2393) => q(gaf),
- q(2394) => q(gag),
- q(2395) => q(gah),
- q(2396) => q(gai),
- q(2397) => q(gaj),
- q(2398) => q(gak),
- q(2399) => q(gal),
- q(2400) => q(gam),
- q(2401) => q(gan),
- q(2402) => q(gao),
- q(2403) => q(gap),
- q(2404) => q(gaq),
- q(2405) => q(gar),
- q(2406) => q(gas),
- q(2407) => q(gat),
- q(2408) => q(gau),
- q(2409) => q(gaw),
- q(2410) => q(gax),
- q(2411) => q(gaz),
- q(2412) => q(gbb),
- q(2413) => q(gbd),
- q(2414) => q(gbe),
- q(2415) => q(gbf),
- q(2416) => q(gbg),
- q(2417) => q(gbh),
- q(2418) => q(gbi),
- q(2419) => q(gbj),
- q(2420) => q(gbk),
- q(2421) => q(gbl),
- q(2422) => q(gbm),
- q(2423) => q(gbn),
- q(2424) => q(gbo),
- q(2425) => q(gbp),
- q(2426) => q(gbq),
- q(2427) => q(gbr),
- q(2428) => q(gbs),
- q(2429) => q(gbu),
- q(2430) => q(gbv),
- q(2431) => q(gbx),
- q(2432) => q(gby),
- q(2433) => q(gbz),
- q(2434) => q(gcc),
- q(2435) => q(gcd),
- q(2436) => q(gce),
- q(2437) => q(gcf),
- q(2438) => q(gcl),
- q(2439) => q(gcn),
- q(2440) => q(gcr),
- q(2441) => q(gct),
- q(2442) => q(gda),
- q(2443) => q(gdb),
- q(2444) => q(gdc),
- q(2445) => q(gdd),
- q(2446) => q(gde),
- q(2447) => q(gdf),
- q(2448) => q(gdg),
- q(2449) => q(gdh),
- q(2450) => q(gdi),
- q(2451) => q(gdj),
- q(2452) => q(gdk),
- q(2453) => q(gdl),
- q(2454) => q(gdm),
- q(2455) => q(gdn),
- q(2456) => q(gdo),
- q(2457) => q(gdq),
- q(2458) => q(gdr),
- q(2459) => q(gds),
- q(2460) => q(gdu),
- q(2461) => q(gdx),
- q(2462) => q(gea),
- q(2463) => q(geb),
- q(2464) => q(gec),
- q(2465) => q(ged),
- q(2466) => q(geg),
- q(2467) => q(geh),
- q(2468) => q(gei),
- q(2469) => q(gej),
- q(2470) => q(gek),
- q(2471) => q(gel),
- q(2472) => q(geq),
- q(2473) => q(ges),
- q(2474) => q(gew),
- q(2475) => q(gex),
- q(2476) => q(gey),
- q(2477) => q(gfk),
- q(2478) => q(gft),
- q(2479) => q(gfx),
- q(2480) => q(gga),
- q(2481) => q(ggb),
- q(2482) => q(ggd),
- q(2483) => q(gge),
- q(2484) => q(ggg),
- q(2485) => q(ggk),
- q(2486) => q(ggl),
- q(2487) => q(ggn),
- q(2488) => q(ggo),
- q(2489) => q(ggr),
- q(2490) => q(ggt),
- q(2491) => q(ggu),
- q(2492) => q(ggw),
- q(2493) => q(gha),
- q(2494) => q(ghc),
- q(2495) => q(ghe),
- q(2496) => q(ghh),
- q(2497) => q(ghk),
- q(2498) => q(ghl),
- q(2499) => q(ghn),
- q(2500) => q(gho),
- q(2501) => q(ghr),
- q(2502) => q(ghs),
- q(2503) => q(ght),
- q(2504) => q(gia),
- q(2505) => q(gib),
- q(2506) => q(gic),
- q(2507) => q(gid),
- q(2508) => q(gig),
- q(2509) => q(gim),
- q(2510) => q(gin),
- q(2511) => q(gip),
- q(2512) => q(giq),
- q(2513) => q(gir),
- q(2514) => q(gis),
- q(2515) => q(git),
- q(2516) => q(giu),
- q(2517) => q(giw),
- q(2518) => q(gix),
- q(2519) => q(giy),
- q(2520) => q(giz),
- q(2521) => q(gji),
- q(2522) => q(gjk),
- q(2523) => q(gjn),
- q(2524) => q(gju),
- q(2525) => q(gka),
- q(2526) => q(gke),
- q(2527) => q(gkn),
- q(2528) => q(gko),
- q(2529) => q(gkp),
- q(2530) => q(glc),
- q(2531) => q(gld),
- q(2532) => q(glh),
- q(2533) => q(gli),
- q(2534) => q(glj),
- q(2535) => q(glk),
- q(2536) => q(glo),
- q(2537) => q(glr),
- q(2538) => q(glu),
- q(2539) => q(glw),
- q(2540) => q(gly),
- q(2541) => q(gma),
- q(2542) => q(gmb),
- q(2543) => q(gmd),
- q(2544) => q(gml),
- q(2545) => q(gmm),
- q(2546) => q(gmn),
- q(2547) => q(gmu),
- q(2548) => q(gmv),
- q(2549) => q(gmx),
- q(2550) => q(gmy),
- q(2551) => q(gna),
- q(2552) => q(gnb),
- q(2553) => q(gnc),
- q(2554) => q(gnd),
- q(2555) => q(gne),
- q(2556) => q(gng),
- q(2557) => q(gnh),
- q(2558) => q(gni),
- q(2559) => q(gnk),
- q(2560) => q(gnl),
- q(2561) => q(gnm),
- q(2562) => q(gnn),
- q(2563) => q(gno),
- q(2564) => q(gnq),
- q(2565) => q(gnr),
- q(2566) => q(gnt),
- q(2567) => q(gnu),
- q(2568) => q(gnw),
- q(2569) => q(gnz),
- q(2570) => q(goa),
- q(2571) => q(gob),
- q(2572) => q(goc),
- q(2573) => q(god),
- q(2574) => q(goe),
- q(2575) => q(gof),
- q(2576) => q(gog),
- q(2577) => q(goi),
- q(2578) => q(goj),
- q(2579) => q(gok),
- q(2580) => q(gol),
- q(2581) => q(gom),
- q(2582) => q(goo),
- q(2583) => q(gop),
- q(2584) => q(goq),
- q(2585) => q(gos),
- q(2586) => q(gou),
- q(2587) => q(gow),
- q(2588) => q(gox),
- q(2589) => q(goy),
- q(2590) => q(goz),
- q(2591) => q(gpa),
- q(2592) => q(gpe),
- q(2593) => q(gpn),
- q(2594) => q(gqa),
- q(2595) => q(gqi),
- q(2596) => q(gqn),
- q(2597) => q(gqr),
- q(2598) => q(gqu),
- q(2599) => q(gra),
- q(2600) => q(grd),
- q(2601) => q(grg),
- q(2602) => q(grh),
- q(2603) => q(gri),
- q(2604) => q(grj),
- q(2605) => q(grm),
- q(2606) => q(gro),
- q(2607) => q(grq),
- q(2608) => q(grr),
- q(2609) => q(grs),
- q(2610) => q(grt),
- q(2611) => q(gru),
- q(2612) => q(grv),
- q(2613) => q(grw),
- q(2614) => q(grx),
- q(2615) => q(gry),
- q(2616) => q(grz),
- q(2617) => q(gse),
- q(2618) => q(gsg),
- q(2619) => q(gsl),
- q(2620) => q(gsm),
- q(2621) => q(gsn),
- q(2622) => q(gso),
- q(2623) => q(gsp),
- q(2624) => q(gss),
- q(2625) => q(gta),
- q(2626) => q(gti),
- q(2627) => q(gua),
- q(2628) => q(gub),
- q(2629) => q(guc),
- q(2630) => q(gud),
- q(2631) => q(gue),
- q(2632) => q(guf),
- q(2633) => q(gug),
- q(2634) => q(guh),
- q(2635) => q(gui),
- q(2636) => q(guk),
- q(2637) => q(gul),
- q(2638) => q(gum),
- q(2639) => q(gun),
- q(2640) => q(guo),
- q(2641) => q(gup),
- q(2642) => q(yif),
- q(2643) => q(gur),
- q(2644) => q(gus),
- q(2645) => q(gut),
- q(2646) => q(guu),
- q(2647) => q(guv),
- q(2648) => q(guw),
- q(2649) => q(gux),
- q(2650) => q(guz),
- q(2651) => q(gva),
- q(2652) => q(gvc),
- q(2653) => q(gve),
- q(2654) => q(gvf),
- q(2655) => q(gvj),
- q(2656) => q(gvl),
- q(2657) => q(gvm),
- q(2658) => q(gvn),
- q(2659) => q(gvo),
- q(2660) => q(gvp),
- q(2661) => q(gvr),
- q(2662) => q(gvs),
- q(2663) => q(gvy),
- q(2664) => q(gwa),
- q(2665) => q(gwb),
- q(2666) => q(gwc),
- q(2667) => q(gwd),
- q(2668) => q(gwe),
- q(2669) => q(gwf),
- q(2670) => q(gwg),
- q(2671) => q(gwj),
- q(2672) => q(gwm),
- q(2673) => q(gwn),
- q(2674) => q(gwr),
- q(2675) => q(gwt),
- q(2676) => q(gwu),
- q(2677) => q(gww),
- q(2678) => q(gwx),
- q(2679) => q(gxx),
- q(2680) => q(gya),
- q(2681) => q(gyb),
- q(2682) => q(gyd),
- q(2683) => q(gye),
- q(2684) => q(gyf),
- q(2685) => q(gyg),
- q(2686) => q(gyi),
- q(2687) => q(gyl),
- q(2688) => q(gym),
- q(2689) => q(gyn),
- q(2690) => q(gyr),
- q(2691) => q(gyy),
- q(2692) => q(gza),
- q(2693) => q(gzi),
- q(2694) => q(gzn),
- q(2695) => q(haa),
- q(2696) => q(hab),
- q(2697) => q(hac),
- q(2698) => q(had),
- q(2699) => q(hae),
- q(2700) => q(haf),
- q(2701) => q(hag),
- q(2702) => q(hah),
- q(2703) => q(haj),
- q(2704) => q(hak),
- q(2705) => q(hal),
- q(2706) => q(ham),
- q(2707) => q(han),
- q(2708) => q(hao),
- q(2709) => q(hap),
- q(2710) => q(haq),
- q(2711) => q(har),
- q(2712) => q(has),
- q(2713) => q(hav),
- q(2714) => q(hax),
- q(2715) => q(hay),
- q(2716) => q(haz),
- q(2717) => q(hba),
- q(2718) => q(hbb),
- q(2719) => q(hbn),
- q(2720) => q(hbo),
- q(2721) => q(hbu),
- q(2722) => q(hca),
- q(2723) => q(hch),
- q(2724) => q(hdn),
- q(2725) => q(hds),
- q(2726) => q(hdy),
- q(2727) => q(hea),
- q(2728) => q(hed),
- q(2729) => q(heg),
- q(2730) => q(heh),
- q(2731) => q(hei),
- q(2732) => q(hem),
- q(2733) => q(hgm),
- q(2734) => q(hgw),
- q(2735) => q(hhi),
- q(2736) => q(hhr),
- q(2737) => q(hhy),
- q(2738) => q(hia),
- q(2739) => q(hib),
- q(2740) => q(hid),
- q(2741) => q(hif),
- q(2742) => q(hig),
- q(2743) => q(hih),
- q(2744) => q(hii),
- q(2745) => q(hij),
- q(2746) => q(hik),
- q(2747) => q(hio),
- q(2748) => q(hir),
- q(2749) => q(hiw),
- q(2750) => q(hix),
- q(2751) => q(hji),
- q(2752) => q(hka),
- q(2753) => q(hke),
- q(2754) => q(hkk),
- q(2755) => q(hks),
- q(2756) => q(hla),
- q(2757) => q(hlb),
- q(2758) => q(hld),
- q(2759) => q(hle),
- q(2760) => q(hlt),
- q(2761) => q(hlu),
- q(2762) => q(hma),
- q(2763) => q(hmb),
- q(2764) => q(hmc),
- q(2765) => q(hmd),
- q(2766) => q(hme),
- q(2767) => q(hmf),
- q(2768) => q(hmg),
- q(2769) => q(hmh),
- q(2770) => q(hmi),
- q(2771) => q(hmj),
- q(2772) => q(hmk),
- q(2773) => q(hml),
- q(2774) => q(hmm),
- q(2775) => q(hmp),
- q(2776) => q(hmq),
- q(2777) => q(hmr),
- q(2778) => q(hms),
- q(2779) => q(hmt),
- q(2780) => q(hmu),
- q(2781) => q(hmv),
- q(2782) => q(hmw),
- q(2783) => q(hmy),
- q(2784) => q(hmz),
- q(2785) => q(hna),
- q(2786) => q(hnd),
- q(2787) => q(hne),
- q(2788) => q(hnh),
- q(2789) => q(hni),
- q(2790) => q(hnj),
- q(2791) => q(hnn),
- q(2792) => q(hno),
- q(2793) => q(hns),
- q(2794) => q(hnu),
- q(2795) => q(hoa),
- q(2796) => q(hob),
- q(2797) => q(hoc),
- q(2798) => q(hod),
- q(2799) => q(hoe),
- q(2800) => q(hoh),
- q(2801) => q(hoi),
- q(2802) => q(hoj),
- q(2803) => q(hol),
- q(2804) => q(hom),
- q(2805) => q(hoo),
- q(2806) => q(hop),
- q(2807) => q(hor),
- q(2808) => q(hos),
- q(2809) => q(hot),
- q(2810) => q(hov),
- q(2811) => q(how),
- q(2812) => q(hoy),
- q(2813) => q(hoz),
- q(2814) => q(hpo),
- q(2815) => q(hps),
- q(2816) => q(hra),
- q(2817) => q(hre),
- q(2818) => q(hrk),
- q(2819) => q(hrm),
- q(2820) => q(hro),
- q(2821) => q(hrt),
- q(2822) => q(hru),
- q(2823) => q(hrx),
- q(2824) => q(hrz),
- q(2825) => q(hsh),
- q(2826) => q(hsl),
- q(2827) => q(hsn),
- q(2828) => q(hss),
- q(2829) => q(hti),
- q(2830) => q(hto),
- q(2831) => q(hts),
- q(2832) => q(htu),
- q(2833) => q(htx),
- q(2834) => q(hub),
- q(2835) => q(huc),
- q(2836) => q(hud),
- q(2837) => q(hue),
- q(2838) => q(huf),
- q(2839) => q(hug),
- q(2840) => q(huh),
- q(2841) => q(hui),
- q(2842) => q(huj),
- q(2843) => q(huk),
- q(2844) => q(hul),
- q(2845) => q(hum),
- q(2846) => q(huo),
- q(2847) => q(huq),
- q(2848) => q(hur),
- q(2849) => q(hus),
- q(2850) => q(hut),
- q(2851) => q(huu),
- q(2852) => q(huv),
- q(2853) => q(huw),
- q(2854) => q(hux),
- q(2855) => q(huy),
- q(2856) => q(huz),
- q(2857) => q(hvc),
- q(2858) => q(hve),
- q(2859) => q(hvk),
- q(2860) => q(hvn),
- q(2861) => q(hvv),
- q(2862) => q(hwa),
- q(2863) => q(hwc),
- q(2864) => q(hwo),
- q(2865) => q(hya),
- q(2866) => q(iai),
- q(2867) => q(ian),
- q(2868) => q(iap),
- q(2869) => q(iar),
- q(2870) => q(ibb),
- q(2871) => q(ibd),
- q(2872) => q(ibe),
- q(2873) => q(ibg),
- q(2874) => q(ibl),
- q(2875) => q(ibm),
- q(2876) => q(ibn),
- q(2877) => q(ibr),
- q(2878) => q(ibu),
- q(2879) => q(iby),
- q(2880) => q(ica),
- q(2881) => q(ich),
- q(2882) => q(icl),
- q(2883) => q(icr),
- q(2884) => q(ida),
- q(2885) => q(idb),
- q(2886) => q(idc),
- q(2887) => q(idd),
- q(2888) => q(ide),
- q(2889) => q(idi),
- q(2890) => q(idr),
- q(2891) => q(ids),
- q(2892) => q(idt),
- q(2893) => q(idu),
- q(2894) => q(ifa),
- q(2895) => q(ifb),
- q(2896) => q(ife),
- q(2897) => q(iff),
- q(2898) => q(ifk),
- q(2899) => q(ifm),
- q(2900) => q(ifu),
- q(2901) => q(ify),
- q(2902) => q(igb),
- q(2903) => q(ige),
- q(2904) => q(igg),
- q(2905) => q(igl),
- q(2906) => q(igm),
- q(2907) => q(ign),
- q(2908) => q(igo),
- q(2909) => q(igs),
- q(2910) => q(igw),
- q(2911) => q(ihb),
- q(2912) => q(ihi),
- q(2913) => q(ihp),
- q(2914) => q(ihw),
- q(2915) => q(ijc),
- q(2916) => q(ije),
- q(2917) => q(ijj),
- q(2918) => q(ijn),
- q(2919) => q(ijs),
- q(2920) => q(ike),
- q(2921) => q(iki),
- q(2922) => q(ikk),
- q(2923) => q(ikl),
- q(2924) => q(iko),
- q(2925) => q(ikp),
- q(2926) => q(ikt),
- q(2927) => q(ikv),
- q(2928) => q(ikw),
- q(2929) => q(ikx),
- q(2930) => q(ikz),
- q(2931) => q(ila),
- q(2932) => q(ilb),
- q(2933) => q(ilg),
- q(2934) => q(ili),
- q(2935) => q(ilk),
- q(2936) => q(ill),
- q(2937) => q(ils),
- q(2938) => q(ilu),
- q(2939) => q(ilv),
- q(2940) => q(ilw),
- q(2941) => q(ima),
- q(2942) => q(ime),
- q(2943) => q(imi),
- q(2944) => q(iml),
- q(2945) => q(imn),
- q(2946) => q(imo),
- q(2947) => q(imr),
- q(2948) => q(ims),
- q(2949) => q(imy),
- q(2950) => q(inb),
- q(2951) => q(ing),
- q(2952) => q(inj),
- q(2953) => q(inl),
- q(2954) => q(inm),
- q(2955) => q(inn),
- q(2956) => q(ino),
- q(2957) => q(inp),
- q(2958) => q(ins),
- q(2959) => q(int),
- q(2960) => q(inz),
- q(2961) => q(ior),
- q(2962) => q(iou),
- q(2963) => q(iow),
- q(2964) => q(ipi),
- q(2965) => q(ipo),
- q(2966) => q(iqu),
- q(2967) => q(ire),
- q(2968) => q(irh),
- q(2969) => q(iri),
- q(2970) => q(irk),
- q(2971) => q(irn),
- q(2972) => q(irr),
- q(2973) => q(iru),
- q(2974) => q(irx),
- q(2975) => q(iry),
- q(2976) => q(isa),
- q(2977) => q(isc),
- q(2978) => q(isd),
- q(2979) => q(ise),
- q(2980) => q(isg),
- q(2981) => q(ish),
- q(2982) => q(isi),
- q(2983) => q(isk),
- q(2984) => q(ism),
- q(2985) => q(isn),
- q(2986) => q(iso),
- q(2987) => q(isr),
- q(2988) => q(ist),
- q(2989) => q(isu),
- q(2990) => q(itb),
- q(2991) => q(ite),
- q(2992) => q(iti),
- q(2993) => q(itk),
- q(2994) => q(itl),
- q(2995) => q(itm),
- q(2996) => q(ito),
- q(2997) => q(itr),
- q(2998) => q(its),
- q(2999) => q(itt),
- q(3000) => q(itv),
- q(3001) => q(itw),
- q(3002) => q(itx),
- q(3003) => q(ity),
- q(3004) => q(itz),
- q(3005) => q(ium),
- q(3006) => q(ivb),
- q(3007) => q(ivv),
- q(3008) => q(iwk),
- q(3009) => q(iwm),
- q(3010) => q(iwo),
- q(3011) => q(iws),
- q(3012) => q(ixc),
- q(3013) => q(ixl),
- q(3014) => q(iya),
- q(3015) => q(iyo),
- q(3016) => q(iyx),
- q(3017) => q(izh),
- q(3018) => q(izi),
- q(3019) => q(izr),
- q(3020) => q(jaa),
- q(3021) => q(jab),
- q(3022) => q(jac),
- q(3023) => q(jad),
- q(3024) => q(jae),
- q(3025) => q(jaf),
- q(3026) => q(jah),
- q(3027) => q(jaj),
- q(3028) => q(jak),
- q(3029) => q(jal),
- q(3030) => q(jam),
- q(3031) => q(jan),
- q(3032) => q(jao),
- q(3033) => q(jaq),
- q(3034) => q(jas),
- q(3035) => q(jat),
- q(3036) => q(jau),
- q(3037) => q(jax),
- q(3038) => q(jay),
- q(3039) => q(jaz),
- q(3040) => q(jbe),
- q(3041) => q(jbj),
- q(3042) => q(jbk),
- q(3043) => q(jbn),
- q(3044) => q(jbr),
- q(3045) => q(jbt),
- q(3046) => q(jbu),
- q(3047) => q(jbw),
- q(3048) => q(jcs),
- q(3049) => q(jct),
- q(3050) => q(jda),
- q(3051) => q(jdg),
- q(3052) => q(jdt),
- q(3053) => q(jeb),
- q(3054) => q(jee),
- q(3055) => q(jeg),
- q(3056) => q(jeh),
- q(3057) => q(jei),
- q(3058) => q(jek),
- q(3059) => q(jel),
- q(3060) => q(jen),
- q(3061) => q(jer),
- q(3062) => q(jet),
- q(3063) => q(jeu),
- q(3064) => q(jgb),
- q(3065) => q(jge),
- q(3066) => q(jgk),
- q(3067) => q(jgo),
- q(3068) => q(jhi),
- q(3069) => q(jhs),
- q(3070) => q(jia),
- q(3071) => q(jib),
- q(3072) => q(jic),
- q(3073) => q(jid),
- q(3074) => q(jie),
- q(3075) => q(jig),
- q(3076) => q(jih),
- q(3077) => q(jii),
- q(3078) => q(jil),
- q(3079) => q(jim),
- q(3080) => q(jio),
- q(3081) => q(jiq),
- q(3082) => q(jit),
- q(3083) => q(jiu),
- q(3084) => q(jiv),
- q(3085) => q(jiy),
- q(3086) => q(jjr),
- q(3087) => q(jkm),
- q(3088) => q(jko),
- q(3089) => q(jkp),
- q(3090) => q(jkr),
- q(3091) => q(jku),
- q(3092) => q(jle),
- q(3093) => q(jls),
- q(3094) => q(jma),
- q(3095) => q(jmb),
- q(3096) => q(jmc),
- q(3097) => q(jmd),
- q(3098) => q(jmi),
- q(3099) => q(jml),
- q(3100) => q(jmn),
- q(3101) => q(jmr),
- q(3102) => q(jms),
- q(3103) => q(jmw),
- q(3104) => q(jmx),
- q(3105) => q(jna),
- q(3106) => q(jnd),
- q(3107) => q(jng),
- q(3108) => q(jni),
- q(3109) => q(jnj),
- q(3110) => q(jnl),
- q(3111) => q(jns),
- q(3112) => q(job),
- q(3113) => q(jod),
- q(3114) => q(jor),
- q(3115) => q(jos),
- q(3116) => q(jow),
- q(3117) => q(jpa),
- q(3118) => q(jqr),
- q(3119) => q(jra),
- q(3120) => q(jrr),
- q(3121) => q(jrt),
- q(3122) => q(jru),
- q(3123) => q(jsl),
- q(3124) => q(jua),
- q(3125) => q(jub),
- q(3126) => q(juc),
- q(3127) => q(jud),
- q(3128) => q(juh),
- q(3129) => q(jui),
- q(3130) => q(juk),
- q(3131) => q(jul),
- q(3132) => q(jum),
- q(3133) => q(jun),
- q(3134) => q(juo),
- q(3135) => q(jup),
- q(3136) => q(jur),
- q(3137) => q(jus),
- q(3138) => q(jut),
- q(3139) => q(juu),
- q(3140) => q(juw),
- q(3141) => q(juy),
- q(3142) => q(jvd),
- q(3143) => q(jvn),
- q(3144) => q(jwi),
- q(3145) => q(jya),
- q(3146) => q(jye),
- q(3147) => q(jyy),
- q(3148) => q(kad),
- q(3149) => q(kae),
- q(3150) => q(kaf),
- q(3151) => q(kag),
- q(3152) => q(kah),
- q(3153) => q(kai),
- q(3154) => q(kaj),
- q(3155) => q(kak),
- q(3156) => q(kao),
- q(3157) => q(kap),
- q(3158) => q(kaq),
- q(3159) => q(kav),
- q(3160) => q(kax),
- q(3161) => q(kay),
- q(3162) => q(kba),
- q(3163) => q(kbb),
- q(3164) => q(kbc),
- q(3165) => q(kbe),
- q(3166) => q(kbf),
- q(3167) => q(kbg),
- q(3168) => q(kbh),
- q(3169) => q(kbi),
- q(3170) => q(kbj),
- q(3171) => q(kbk),
- q(3172) => q(kbl),
- q(3173) => q(kbm),
- q(3174) => q(kbn),
- q(3175) => q(kbo),
- q(3176) => q(kbp),
- q(3177) => q(kbq),
- q(3178) => q(kbr),
- q(3179) => q(kbs),
- q(3180) => q(kbt),
- q(3181) => q(kbu),
- q(3182) => q(kbv),
- q(3183) => q(kbw),
- q(3184) => q(kbx),
- q(3185) => q(kby),
- q(3186) => q(kbz),
- q(3187) => q(kca),
- q(3188) => q(kcb),
- q(3189) => q(kcc),
- q(3190) => q(kcd),
- q(3191) => q(kce),
- q(3192) => q(kcf),
- q(3193) => q(kcg),
- q(3194) => q(kch),
- q(3195) => q(kci),
- q(3196) => q(kcj),
- q(3197) => q(kck),
- q(3198) => q(kcl),
- q(3199) => q(kcm),
- q(3200) => q(kcn),
- q(3201) => q(kco),
- q(3202) => q(kcp),
- q(3203) => q(kcq),
- q(3204) => q(kcr),
- q(3205) => q(kcs),
- q(3206) => q(kct),
- q(3207) => q(kcu),
- q(3208) => q(kcv),
- q(3209) => q(kcw),
- q(3210) => q(kcx),
- q(3211) => q(kcy),
- q(3212) => q(kcz),
- q(3213) => q(kda),
- q(3214) => q(kdc),
- q(3215) => q(kdd),
- q(3216) => q(kde),
- q(3217) => q(kdf),
- q(3218) => q(kdg),
- q(3219) => q(kdh),
- q(3220) => q(kdi),
- q(3221) => q(kdj),
- q(3222) => q(kdk),
- q(3223) => q(kdl),
- q(3224) => q(kdm),
- q(3225) => q(kdn),
- q(3226) => q(kdp),
- q(3227) => q(kdq),
- q(3228) => q(kdr),
- q(3229) => q(kdt),
- q(3230) => q(kdu),
- q(3231) => q(kdw),
- q(3232) => q(kdx),
- q(3233) => q(kdy),
- q(3234) => q(kdz),
- q(3235) => q(kea),
- q(3236) => q(keb),
- q(3237) => q(kec),
- q(3238) => q(ked),
- q(3239) => q(kee),
- q(3240) => q(kef),
- q(3241) => q(keg),
- q(3242) => q(keh),
- q(3243) => q(kei),
- q(3244) => q(kej),
- q(3245) => q(kek),
- q(3246) => q(kel),
- q(3247) => q(kem),
- q(3248) => q(ken),
- q(3249) => q(keo),
- q(3250) => q(kep),
- q(3251) => q(keq),
- q(3252) => q(ker),
- q(3253) => q(kes),
- q(3254) => q(ket),
- q(3255) => q(keu),
- q(3256) => q(kev),
- q(3257) => q(kew),
- q(3258) => q(kex),
- q(3259) => q(key),
- q(3260) => q(kez),
- q(3261) => q(kfa),
- q(3262) => q(kfb),
- q(3263) => q(kfc),
- q(3264) => q(kfd),
- q(3265) => q(kfe),
- q(3266) => q(kff),
- q(3267) => q(kfg),
- q(3268) => q(kfh),
- q(3269) => q(kfi),
- q(3270) => q(kfj),
- q(3271) => q(kfk),
- q(3272) => q(kfl),
- q(3273) => q(kfm),
- q(3274) => q(kfn),
- q(3275) => q(kfo),
- q(3276) => q(kfp),
- q(3277) => q(kfq),
- q(3278) => q(kfr),
- q(3279) => q(kfs),
- q(3280) => q(kft),
- q(3281) => q(kfu),
- q(3282) => q(kfv),
- q(3283) => q(kfw),
- q(3284) => q(kfx),
- q(3285) => q(kfy),
- q(3286) => q(kfz),
- q(3287) => q(kga),
- q(3288) => q(kgb),
- q(3289) => q(kgc),
- q(3290) => q(kgd),
- q(3291) => q(kge),
- q(3292) => q(kgf),
- q(3293) => q(kgg),
- q(3294) => q(kgi),
- q(3295) => q(kgj),
- q(3296) => q(kgk),
- q(3297) => q(kgl),
- q(3298) => q(kuq),
- q(3299) => q(kgn),
- q(3300) => q(kgo),
- q(3301) => q(kgp),
- q(3302) => q(kgq),
- q(3303) => q(kgr),
- q(3304) => q(kgs),
- q(3305) => q(kgt),
- q(3306) => q(kgu),
- q(3307) => q(kgv),
- q(3308) => q(kgw),
- q(3309) => q(kgx),
- q(3310) => q(kgy),
- q(3311) => q(khb),
- q(3312) => q(khc),
- q(3313) => q(khd),
- q(3314) => q(khe),
- q(3315) => q(khf),
- q(3316) => q(khg),
- q(3317) => q(khh),
- q(3318) => q(khj),
- q(3319) => q(khk),
- q(3320) => q(khl),
- q(3321) => q(khn),
- q(3322) => q(khp),
- q(3323) => q(khq),
- q(3324) => q(khr),
- q(3325) => q(khs),
- q(3326) => q(kht),
- q(3327) => q(khu),
- q(3328) => q(khv),
- q(3329) => q(khw),
- q(3330) => q(khx),
- q(3331) => q(khy),
- q(3332) => q(khz),
- q(3333) => q(kia),
- q(3334) => q(kib),
- q(3335) => q(kic),
- q(3336) => q(kid),
- q(3337) => q(kie),
- q(3338) => q(kif),
- q(3339) => q(kig),
- q(3340) => q(kih),
- q(3341) => q(kii),
- q(3342) => q(kij),
- q(3343) => q(kil),
- q(3344) => q(kim),
- q(3345) => q(kio),
- q(3346) => q(kip),
- q(3347) => q(kiq),
- q(3348) => q(kis),
- q(3349) => q(kit),
- q(3350) => q(kiu),
- q(3351) => q(kiv),
- q(3352) => q(kiw),
- q(3353) => q(kix),
- q(3354) => q(kiy),
- q(3355) => q(kiz),
- q(3356) => q(kja),
- q(3357) => q(kjb),
- q(3358) => q(kjc),
- q(3359) => q(kjd),
- q(3360) => q(kje),
- q(3361) => q(kjf),
- q(3362) => q(kjg),
- q(3363) => q(kjh),
- q(3364) => q(kji),
- q(3365) => q(kjj),
- q(3366) => q(kjk),
- q(3367) => q(kjl),
- q(3368) => q(kjm),
- q(3369) => q(kjn),
- q(3370) => q(kjo),
- q(3371) => q(kjp),
- q(3372) => q(kjq),
- q(3373) => q(kjr),
- q(3374) => q(kjs),
- q(3375) => q(kjt),
- q(3376) => q(kju),
- q(3377) => q(kjx),
- q(3378) => q(kjy),
- q(3379) => q(kjz),
- q(3380) => q(kka),
- q(3381) => q(kkb),
- q(3382) => q(kkc),
- q(3383) => q(kkd),
- q(3384) => q(kke),
- q(3385) => q(kkf),
- q(3386) => q(kkg),
- q(3387) => q(kkh),
- q(3388) => q(kki),
- q(3389) => q(kkj),
- q(3390) => q(kkk),
- q(3391) => q(kkl),
- q(3392) => q(kkm),
- q(3393) => q(kkn),
- q(3394) => q(kko),
- q(3395) => q(kkp),
- q(3396) => q(kkq),
- q(3397) => q(kkr),
- q(3398) => q(kks),
- q(3399) => q(kkt),
- q(3400) => q(kku),
- q(3401) => q(kkv),
- q(3402) => q(kkw),
- q(3403) => q(kkx),
- q(3404) => q(kky),
- q(3405) => q(kkz),
- q(3406) => q(kla),
- q(3407) => q(klb),
- q(3408) => q(klc),
- q(3409) => q(kld),
- q(3410) => q(kle),
- q(3411) => q(klf),
- q(3412) => q(klg),
- q(3413) => q(klh),
- q(3414) => q(kli),
- q(3415) => q(klj),
- q(3416) => q(klk),
- q(3417) => q(kll),
- q(3418) => q(klm),
- q(3419) => q(kln),
- q(3420) => q(klo),
- q(3421) => q(klp),
- q(3422) => q(klq),
- q(3423) => q(klr),
- q(3424) => q(kls),
- q(3425) => q(klt),
- q(3426) => q(klu),
- q(3427) => q(klv),
- q(3428) => q(klw),
- q(3429) => q(klx),
- q(3430) => q(kly),
- q(3431) => q(klz),
- q(3432) => q(kma),
- q(3433) => q(kmc),
- q(3434) => q(kmd),
- q(3435) => q(kme),
- q(3436) => q(kmf),
- q(3437) => q(kmg),
- q(3438) => q(kmh),
- q(3439) => q(kmi),
- q(3440) => q(kmj),
- q(3441) => q(kmk),
- q(3442) => q(kml),
- q(3443) => q(kmm),
- q(3444) => q(kmn),
- q(3445) => q(kmo),
- q(3446) => q(kmp),
- q(3447) => q(kmq),
- q(3448) => q(kmr),
- q(3449) => q(kms),
- q(3450) => q(kmt),
- q(3451) => q(kmu),
- q(3452) => q(kmv),
- q(3453) => q(kmw),
- q(3454) => q(kmx),
- q(3455) => q(kmy),
- q(3456) => q(kmz),
- q(3457) => q(kna),
- q(3458) => q(knb),
- q(3459) => q(knc),
- q(3460) => q(knd),
- q(3461) => q(kne),
- q(3462) => q(knf),
- q(3463) => q(kng),
- q(3464) => q(kni),
- q(3465) => q(knj),
- q(3466) => q(knk),
- q(3467) => q(knl),
- q(3468) => q(knm),
- q(3469) => q(knn),
- q(3470) => q(kno),
- q(3471) => q(knp),
- q(3472) => q(knq),
- q(3473) => q(knr),
- q(3474) => q(kns),
- q(3475) => q(knt),
- q(3476) => q(knu),
- q(3477) => q(knv),
- q(3478) => q(knw),
- q(3479) => q(knx),
- q(3480) => q(kny),
- q(3481) => q(knz),
- q(3482) => q(koa),
- q(3483) => q(koc),
- q(3484) => q(kod),
- q(3485) => q(koe),
- q(3486) => q(kof),
- q(3487) => q(kog),
- q(3488) => q(koh),
- q(3489) => q(koi),
- q(3490) => q(koj),
- q(3491) => q(kol),
- q(3492) => q(koo),
- q(3493) => q(kop),
- q(3494) => q(koq),
- q(3495) => q(kot),
- q(3496) => q(kou),
- q(3497) => q(kov),
- q(3498) => q(kow),
- q(3499) => q(kox),
- q(3500) => q(koy),
- q(3501) => q(koz),
- q(3502) => q(kpa),
- q(3503) => q(kpb),
- q(3504) => q(kpc),
- q(3505) => q(kpd),
- q(3506) => q(kpf),
- q(3507) => q(kpg),
- q(3508) => q(kph),
- q(3509) => q(kpi),
- q(3510) => q(kpj),
- q(3511) => q(kpk),
- q(3512) => q(kpl),
- q(3513) => q(kpm),
- q(3514) => q(kpn),
- q(3515) => q(kpo),
- q(3516) => q(kpq),
- q(3517) => q(kpr),
- q(3518) => q(kps),
- q(3519) => q(kpt),
- q(3520) => q(kpu),
- q(3521) => q(kpv),
- q(3522) => q(kpw),
- q(3523) => q(kpx),
- q(3524) => q(kpy),
- q(3525) => q(kpz),
- q(3526) => q(kqa),
- q(3527) => q(kqb),
- q(3528) => q(kqc),
- q(3529) => q(kqd),
- q(3530) => q(kqe),
- q(3531) => q(kqf),
- q(3532) => q(kqg),
- q(3533) => q(kqh),
- q(3534) => q(kqi),
- q(3535) => q(kqj),
- q(3536) => q(kqk),
- q(3537) => q(kql),
- q(3538) => q(kqm),
- q(3539) => q(kqn),
- q(3540) => q(kqo),
- q(3541) => q(kqp),
- q(3542) => q(kqq),
- q(3543) => q(kqr),
- q(3544) => q(kqs),
- q(3545) => q(kqt),
- q(3546) => q(kqu),
- q(3547) => q(kqv),
- q(3548) => q(kqw),
- q(3549) => q(kqx),
- q(3550) => q(kqy),
- q(3551) => q(kqz),
- q(3552) => q(kra),
- q(3553) => q(krb),
- q(3554) => q(krd),
- q(3555) => q(kre),
- q(3556) => q(krf),
- q(3557) => q(krh),
- q(3558) => q(kri),
- q(3559) => q(krj),
- q(3560) => q(krk),
- q(3561) => q(krm),
- q(3562) => q(krn),
- q(3563) => q(krp),
- q(3564) => q(krr),
- q(3565) => q(krs),
- q(3566) => q(krt),
- q(3567) => q(krv),
- q(3568) => q(krw),
- q(3569) => q(krx),
- q(3570) => q(kry),
- q(3571) => q(krz),
- q(3572) => q(ksa),
- q(3573) => q(ksb),
- q(3574) => q(ksc),
- q(3575) => q(ksd),
- q(3576) => q(kse),
- q(3577) => q(ksf),
- q(3578) => q(ksg),
- q(3579) => q(ksh),
- q(3580) => q(ksi),
- q(3581) => q(ksj),
- q(3582) => q(ksk),
- q(3583) => q(ksl),
- q(3584) => q(ksm),
- q(3585) => q(ksn),
- q(3586) => q(kso),
- q(3587) => q(ksp),
- q(3588) => q(ksq),
- q(3589) => q(ksr),
- q(3590) => q(kss),
- q(3591) => q(kst),
- q(3592) => q(ksu),
- q(3593) => q(ksv),
- q(3594) => q(ksw),
- q(3595) => q(ksx),
- q(3596) => q(ksy),
- q(3597) => q(ksz),
- q(3598) => q(kta),
- q(3599) => q(ktb),
- q(3600) => q(ktc),
- q(3601) => q(ktd),
- q(3602) => q(kte),
- q(3603) => q(ktf),
- q(3604) => q(ktg),
- q(3605) => q(kth),
- q(3606) => q(kti),
- q(3607) => q(ktj),
- q(3608) => q(ktk),
- q(3609) => q(ktl),
- q(3610) => q(ktm),
- q(3611) => q(ktn),
- q(3612) => q(kto),
- q(3613) => q(ktp),
- q(3614) => q(ktq),
- q(3615) => q(ktr),
- q(3616) => q(kts),
- q(3617) => q(ktt),
- q(3618) => q(ktu),
- q(3619) => q(ktv),
- q(3620) => q(ktw),
- q(3621) => q(ktx),
- q(3622) => q(kty),
- q(3623) => q(ktz),
- q(3624) => q(kub),
- q(3625) => q(kuc),
- q(3626) => q(kud),
- q(3627) => q(kue),
- q(3628) => q(kuf),
- q(3629) => q(kug),
- q(3630) => q(kuh),
- q(3631) => q(kui),
- q(3632) => q(kuj),
- q(3633) => q(kuk),
- q(3634) => q(kul),
- q(3635) => q(kun),
- q(3636) => q(kuo),
- q(3637) => q(kup),
- q(3638) => q(kus),
- q(3639) => q(kuu),
- q(3640) => q(kuv),
- q(3641) => q(kuw),
- q(3642) => q(kux),
- q(3643) => q(kuy),
- q(3644) => q(kuz),
- q(3645) => q(kva),
- q(3646) => q(kvb),
- q(3647) => q(kvc),
- q(3648) => q(kvd),
- q(3649) => q(kve),
- q(3650) => q(kvf),
- q(3651) => q(kvg),
- q(3652) => q(kvh),
- q(3653) => q(kvi),
- q(3654) => q(kvj),
- q(3655) => q(kvk),
- q(3656) => q(kvl),
- q(3657) => q(kvm),
- q(3658) => q(kvn),
- q(3659) => q(kvo),
- q(3660) => q(kvp),
- q(3661) => q(kvq),
- q(3662) => q(kvr),
- q(3663) => q(kvs),
- q(3664) => q(kvt),
- q(3665) => q(kvu),
- q(3666) => q(kvv),
- q(3667) => q(kvw),
- q(3668) => q(kvx),
- q(3669) => q(kvy),
- q(3670) => q(kvz),
- q(3671) => q(kwa),
- q(3672) => q(kwb),
- q(3673) => q(kwc),
- q(3674) => q(kwd),
- q(3675) => q(kwe),
- q(3676) => q(kwf),
- q(3677) => q(kwg),
- q(3678) => q(kwh),
- q(3679) => q(kwi),
- q(3680) => q(kwj),
- q(3681) => q(kwk),
- q(3682) => q(kwl),
- q(3683) => q(kwm),
- q(3684) => q(kwn),
- q(3685) => q(kwo),
- q(3686) => q(kwp),
- q(3687) => q(kwq),
- q(3688) => q(kwr),
- q(3689) => q(kws),
- q(3690) => q(kwt),
- q(3691) => q(kwu),
- q(3692) => q(kwv),
- q(3693) => q(kww),
- q(3694) => q(kwx),
- q(3695) => q(kwy),
- q(3696) => q(kwz),
- q(3697) => q(kxa),
- q(3698) => q(kxb),
- q(3699) => q(kxc),
- q(3700) => q(kxd),
- q(3701) => q(kxe),
- q(3702) => q(kxf),
- q(3703) => q(kxh),
- q(3704) => q(kxi),
- q(3705) => q(kxj),
- q(3706) => q(kxk),
- q(3707) => q(kxl),
- q(3708) => q(kxm),
- q(3709) => q(kxn),
- q(3710) => q(kxo),
- q(3711) => q(kxp),
- q(3712) => q(kxq),
- q(3713) => q(kxr),
- q(3714) => q(kxs),
- q(3715) => q(kxt),
- q(3716) => q(kxu),
- q(3717) => q(kxv),
- q(3718) => q(kxw),
- q(3719) => q(kxx),
- q(3720) => q(kxy),
- q(3721) => q(kxz),
- q(3722) => q(kya),
- q(3723) => q(kyb),
- q(3724) => q(kyc),
- q(3725) => q(kyd),
- q(3726) => q(kye),
- q(3727) => q(kyf),
- q(3728) => q(kyg),
- q(3729) => q(kyh),
- q(3730) => q(kyi),
- q(3731) => q(kyj),
- q(3732) => q(kyk),
- q(3733) => q(kyl),
- q(3734) => q(kym),
- q(3735) => q(kyn),
- q(3736) => q(kyo),
- q(3737) => q(kyp),
- q(3738) => q(kyq),
- q(3739) => q(kyr),
- q(3740) => q(kys),
- q(3741) => q(kyt),
- q(3742) => q(kyu),
- q(3743) => q(kyv),
- q(3744) => q(kyw),
- q(3745) => q(kyx),
- q(3746) => q(kyy),
- q(3747) => q(kyz),
- q(3748) => q(kza),
- q(3749) => q(kzb),
- q(3750) => q(kzc),
- q(3751) => q(kzd),
- q(3752) => q(kze),
- q(3753) => q(kzf),
- q(3754) => q(kzg),
- q(3755) => q(kzi),
- q(3756) => q(kzj),
- q(3757) => q(kzk),
- q(3758) => q(kzl),
- q(3759) => q(kzm),
- q(3760) => q(kzn),
- q(3761) => q(kzo),
- q(3762) => q(kzp),
- q(3763) => q(kzq),
- q(3764) => q(kzr),
- q(3765) => q(kzs),
- q(3766) => q(kzt),
- q(3767) => q(kzu),
- q(3768) => q(kzv),
- q(3769) => q(kzw),
- q(3770) => q(kzx),
- q(3771) => q(kzy),
- q(3772) => q(kzz),
- q(3773) => q(laa),
- q(3774) => q(lab),
- q(3775) => q(lac),
- q(3776) => q(lae),
- q(3777) => q(laf),
- q(3778) => q(lag),
- q(3779) => q(lai),
- q(3780) => q(laj),
- q(3781) => q(lak),
- q(3782) => q(lal),
- q(3783) => q(lan),
- q(3784) => q(lap),
- q(3785) => q(laq),
- q(3786) => q(lar),
- q(3787) => q(las),
- q(3788) => q(lau),
- q(3789) => q(law),
- q(3790) => q(lax),
- q(3791) => q(lay),
- q(3792) => q(laz),
- q(3793) => q(lba),
- q(3794) => q(lbb),
- q(3795) => q(lbc),
- q(3796) => q(lbe),
- q(3797) => q(lbf),
- q(3798) => q(lbg),
- q(3799) => q(lbi),
- q(3800) => q(lbj),
- q(3801) => q(lbk),
- q(3802) => q(lbl),
- q(3803) => q(lbm),
- q(3804) => q(lbn),
- q(3805) => q(lbo),
- q(3806) => q(lbq),
- q(3807) => q(lbr),
- q(3808) => q(lbs),
- q(3809) => q(lbt),
- q(3810) => q(lbu),
- q(3811) => q(lbv),
- q(3812) => q(lbw),
- q(3813) => q(lbx),
- q(3814) => q(lby),
- q(3815) => q(lbz),
- q(3816) => q(lcc),
- q(3817) => q(lcd),
- q(3818) => q(lce),
- q(3819) => q(lcf),
- q(3820) => q(lch),
- q(3821) => q(lcl),
- q(3822) => q(lcm),
- q(3823) => q(lcp),
- q(3824) => q(lcs),
- q(3825) => q(ldb),
- q(3826) => q(ldd),
- q(3827) => q(ldg),
- q(3828) => q(ldh),
- q(3829) => q(ldi),
- q(3830) => q(ldj),
- q(3831) => q(ldk),
- q(3832) => q(ldl),
- q(3833) => q(ldm),
- q(3834) => q(ldn),
- q(3835) => q(ldo),
- q(3836) => q(ldp),
- q(3837) => q(ldq),
- q(3838) => q(lea),
- q(3839) => q(leb),
- q(3840) => q(lec),
- q(3841) => q(led),
- q(3842) => q(lee),
- q(3843) => q(lef),
- q(3844) => q(leg),
- q(3845) => q(leh),
- q(3846) => q(lei),
- q(3847) => q(lej),
- q(3848) => q(lek),
- q(3849) => q(lel),
- q(3850) => q(lem),
- q(3851) => q(len),
- q(3852) => q(leo),
- q(3853) => q(lep),
- q(3854) => q(leq),
- q(3855) => q(ler),
- q(3856) => q(les),
- q(3857) => q(let),
- q(3858) => q(leu),
- q(3859) => q(lev),
- q(3860) => q(lew),
- q(3861) => q(lex),
- q(3862) => q(ley),
- q(3863) => q(lfa),
- q(3864) => q(lfn),
- q(3865) => q(lga),
- q(3866) => q(lgb),
- q(3867) => q(lgg),
- q(3868) => q(lgh),
- q(3869) => q(lgi),
- q(3870) => q(lgk),
- q(3871) => q(lgl),
- q(3872) => q(lgm),
- q(3873) => q(lgn),
- q(3874) => q(lgq),
- q(3875) => q(lgr),
- q(3876) => q(lgt),
- q(3877) => q(lgu),
- q(3878) => q(lgz),
- q(3879) => q(lha),
- q(3880) => q(lhh),
- q(3881) => q(lhi),
- q(3882) => q(lhl),
- q(3883) => q(lhm),
- q(3884) => q(lhn),
- q(3885) => q(lhp),
- q(3886) => q(lhs),
- q(3887) => q(lht),
- q(3888) => q(lhu),
- q(3889) => q(lia),
- q(3890) => q(lib),
- q(3891) => q(lic),
- q(3892) => q(lid),
- q(3893) => q(lie),
- q(3894) => q(lif),
- q(3895) => q(lig),
- q(3896) => q(lih),
- q(3897) => q(lii),
- q(3898) => q(lij),
- q(3899) => q(lik),
- q(3900) => q(lil),
- q(3901) => q(lio),
- q(3902) => q(lip),
- q(3903) => q(liq),
- q(3904) => q(lir),
- q(3905) => q(lis),
- q(3906) => q(liu),
- q(3907) => q(liv),
- q(3908) => q(liw),
- q(3909) => q(lix),
- q(3910) => q(liy),
- q(3911) => q(liz),
- q(3912) => q(lje),
- q(3913) => q(lji),
- q(3914) => q(ljl),
- q(3915) => q(ljp),
- q(3916) => q(lka),
- q(3917) => q(lkb),
- q(3918) => q(lkc),
- q(3919) => q(lkd),
- q(3920) => q(lke),
- q(3921) => q(lkh),
- q(3922) => q(lki),
- q(3923) => q(lkj),
- q(3924) => q(lkl),
- q(3925) => q(lkn),
- q(3926) => q(lko),
- q(3927) => q(lkr),
- q(3928) => q(lks),
- q(3929) => q(lkt),
- q(3930) => q(lky),
- q(3931) => q(lla),
- q(3932) => q(llb),
- q(3933) => q(llc),
- q(3934) => q(lld),
- q(3935) => q(lle),
- q(3936) => q(llf),
- q(3937) => q(llg),
- q(3938) => q(llh),
- q(3939) => q(lli),
- q(3940) => q(llj),
- q(3941) => q(llk),
- q(3942) => q(lll),
- q(3943) => q(llm),
- q(3944) => q(lln),
- q(3945) => q(llo),
- q(3946) => q(llp),
- q(3947) => q(llq),
- q(3948) => q(lls),
- q(3949) => q(llu),
- q(3950) => q(llx),
- q(3951) => q(lma),
- q(3952) => q(lmb),
- q(3953) => q(lmc),
- q(3954) => q(lmd),
- q(3955) => q(lme),
- q(3956) => q(lmf),
- q(3957) => q(lmg),
- q(3958) => q(lmh),
- q(3959) => q(lmi),
- q(3960) => q(lmj),
- q(3961) => q(lmk),
- q(3962) => q(lml),
- q(3963) => q(lmm),
- q(3964) => q(lmn),
- q(3965) => q(lmo),
- q(3966) => q(lmp),
- q(3967) => q(lmq),
- q(3968) => q(lmr),
- q(3969) => q(lmu),
- q(3970) => q(lmv),
- q(3971) => q(lmw),
- q(3972) => q(lmx),
- q(3973) => q(lmy),
- q(3974) => q(lmz),
- q(3975) => q(lna),
- q(3976) => q(lnb),
- q(3977) => q(lnd),
- q(3978) => q(lng),
- q(3979) => q(lnh),
- q(3980) => q(lni),
- q(3981) => q(lnj),
- q(3982) => q(lnl),
- q(3983) => q(lnm),
- q(3984) => q(lnn),
- q(3985) => q(lno),
- q(3986) => q(lns),
- q(3987) => q(lnu),
- q(3988) => q(lnz),
- q(3989) => q(loa),
- q(3990) => q(lob),
- q(3991) => q(loc),
- q(3992) => q(loe),
- q(3993) => q(lof),
- q(3994) => q(log),
- q(3995) => q(loh),
- q(3996) => q(loi),
- q(3997) => q(loj),
- q(3998) => q(lok),
- q(3999) => q(lom),
- q(4000) => q(lon),
- q(4001) => q(loo),
- q(4002) => q(lop),
- q(4003) => q(loq),
- q(4004) => q(lor),
- q(4005) => q(los),
- q(4006) => q(lot),
- q(4007) => q(lou),
- q(4008) => q(lov),
- q(4009) => q(low),
- q(4010) => q(lox),
- q(4011) => q(loy),
- q(4012) => q(lpa),
- q(4013) => q(lpe),
- q(4014) => q(lpn),
- q(4015) => q(lpo),
- q(4016) => q(lpx),
- q(4017) => q(lra),
- q(4018) => q(lrc),
- q(4019) => q(lre),
- q(4020) => q(lrg),
- q(4021) => q(lri),
- q(4022) => q(lrk),
- q(4023) => q(lrl),
- q(4024) => q(lrm),
- q(4025) => q(lrn),
- q(4026) => q(lro),
- q(4027) => q(lrr),
- q(4028) => q(lrt),
- q(4029) => q(lrv),
- q(4030) => q(lrz),
- q(4031) => q(lsa),
- q(4032) => q(lsd),
- q(4033) => q(lse),
- q(4034) => q(lsg),
- q(4035) => q(lsh),
- q(4036) => q(lsi),
- q(4037) => q(lsl),
- q(4038) => q(lsm),
- q(4039) => q(lso),
- q(4040) => q(lsp),
- q(4041) => q(lsr),
- q(4042) => q(lss),
- q(4043) => q(lst),
- q(4044) => q(lsy),
- q(4045) => q(ltc),
- q(4046) => q(ltg),
- q(4047) => q(lti),
- q(4048) => q(ltn),
- q(4049) => q(lto),
- q(4050) => q(lts),
- q(4051) => q(ltu),
- q(4052) => q(luc),
- q(4053) => q(lud),
- q(4054) => q(lue),
- q(4055) => q(luf),
- q(4056) => q(luj),
- q(4057) => q(luk),
- q(4058) => q(lul),
- q(4059) => q(lum),
- q(4060) => q(lup),
- q(4061) => q(luq),
- q(4062) => q(lur),
- q(4063) => q(lut),
- q(4064) => q(luu),
- q(4065) => q(luv),
- q(4066) => q(luw),
- q(4067) => q(luy),
- q(4068) => q(luz),
- q(4069) => q(lva),
- q(4070) => q(lvk),
- q(4071) => q(lvs),
- q(4072) => q(lvu),
- q(4073) => q(lwa),
- q(4074) => q(lwe),
- q(4075) => q(lwg),
- q(4076) => q(lwh),
- q(4077) => q(lwl),
- q(4078) => q(lwm),
- q(4079) => q(lwo),
- q(4080) => q(lwt),
- q(4081) => q(lww),
- q(4082) => q(lya),
- q(4083) => q(lyg),
- q(4084) => q(lyn),
- q(4085) => q(lzh),
- q(4086) => q(lzl),
- q(4087) => q(lzn),
- q(4088) => q(lzz),
- q(4089) => q(maa),
- q(4090) => q(mab),
- q(4091) => q(mae),
- q(4092) => q(maf),
- q(4093) => q(maj),
- q(4094) => q(mam),
- q(4095) => q(maq),
- q(4096) => q(mat),
- q(4097) => q(mau),
- q(4098) => q(mav),
- q(4099) => q(maw),
- q(4100) => q(max),
- q(4101) => q(maz),
- q(4102) => q(mba),
- q(4103) => q(mbb),
- q(4104) => q(mbc),
- q(4105) => q(mbd),
- q(4106) => q(mbe),
- q(4107) => q(mbf),
- q(4108) => q(mbh),
- q(4109) => q(mbi),
- q(4110) => q(mbj),
- q(4111) => q(mbk),
- q(4112) => q(mbl),
- q(4113) => q(mbm),
- q(4114) => q(mbn),
- q(4115) => q(mbo),
- q(4116) => q(mbp),
- q(4117) => q(mbq),
- q(4118) => q(mbr),
- q(4119) => q(mbs),
- q(4120) => q(mbt),
- q(4121) => q(mbu),
- q(4122) => q(mbv),
- q(4123) => q(mbw),
- q(4124) => q(mbx),
- q(4125) => q(mby),
- q(4126) => q(mbz),
- q(4127) => q(mca),
- q(4128) => q(mcb),
- q(4129) => q(mcc),
- q(4130) => q(mcd),
- q(4131) => q(mce),
- q(4132) => q(mcf),
- q(4133) => q(mcg),
- q(4134) => q(mch),
- q(4135) => q(mci),
- q(4136) => q(mcj),
- q(4137) => q(mck),
- q(4138) => q(mcl),
- q(4139) => q(mcm),
- q(4140) => q(mcn),
- q(4141) => q(mco),
- q(4142) => q(mcp),
- q(4143) => q(mcq),
- q(4144) => q(mcr),
- q(4145) => q(mcs),
- q(4146) => q(mct),
- q(4147) => q(mcu),
- q(4148) => q(mcv),
- q(4149) => q(mcw),
- q(4150) => q(mcx),
- q(4151) => q(mcy),
- q(4152) => q(mcz),
- q(4153) => q(mda),
- q(4154) => q(mdb),
- q(4155) => q(mdc),
- q(4156) => q(mdd),
- q(4157) => q(mde),
- q(4158) => q(mdg),
- q(4159) => q(mdh),
- q(4160) => q(mdi),
- q(4161) => q(mdj),
- q(4162) => q(mdk),
- q(4163) => q(mdl),
- q(4164) => q(mdm),
- q(4165) => q(mdn),
- q(4166) => q(mdp),
- q(4167) => q(mdq),
- q(4168) => q(mds),
- q(4169) => q(mdt),
- q(4170) => q(mdu),
- q(4171) => q(mdv),
- q(4172) => q(mdw),
- q(4173) => q(mdx),
- q(4174) => q(mdy),
- q(4175) => q(mdz),
- q(4176) => q(mea),
- q(4177) => q(meb),
- q(4178) => q(mec),
- q(4179) => q(med),
- q(4180) => q(mee),
- q(4181) => q(mef),
- q(4182) => q(meg),
- q(4183) => q(meh),
- q(4184) => q(mei),
- q(4185) => q(mej),
- q(4186) => q(mek),
- q(4187) => q(mel),
- q(4188) => q(mem),
- q(4189) => q(meo),
- q(4190) => q(mep),
- q(4191) => q(meq),
- q(4192) => q(mer),
- q(4193) => q(mes),
- q(4194) => q(met),
- q(4195) => q(meu),
- q(4196) => q(mev),
- q(4197) => q(mew),
- q(4198) => q(mey),
- q(4199) => q(mez),
- q(4200) => q(mfa),
- q(4201) => q(mfb),
- q(4202) => q(mfc),
- q(4203) => q(mfd),
- q(4204) => q(mfe),
- q(4205) => q(mff),
- q(4206) => q(mfg),
- q(4207) => q(mfh),
- q(4208) => q(mfi),
- q(4209) => q(mfj),
- q(4210) => q(mfk),
- q(4211) => q(mfl),
- q(4212) => q(mfm),
- q(4213) => q(mfn),
- q(4214) => q(mfo),
- q(4215) => q(mfp),
- q(4216) => q(mfq),
- q(4217) => q(mfr),
- q(4218) => q(mfs),
- q(4219) => q(mft),
- q(4220) => q(mfu),
- q(4221) => q(mfv),
- q(4222) => q(mfw),
- q(4223) => q(mfx),
- q(4224) => q(mfy),
- q(4225) => q(mfz),
- q(4226) => q(mgb),
- q(4227) => q(mgc),
- q(4228) => q(mgd),
- q(4229) => q(mge),
- q(4230) => q(mgf),
- q(4231) => q(mgg),
- q(4232) => q(mgh),
- q(4233) => q(mgi),
- q(4234) => q(mgj),
- q(4235) => q(mgk),
- q(4236) => q(mgl),
- q(4237) => q(mgm),
- q(4238) => q(mgn),
- q(4239) => q(mgo),
- q(4240) => q(mgp),
- q(4241) => q(mgq),
- q(4242) => q(mgr),
- q(4243) => q(mgs),
- q(4244) => q(mgt),
- q(4245) => q(mgu),
- q(4246) => q(mgv),
- q(4247) => q(mgw),
- q(4248) => q(mgy),
- q(4249) => q(mgz),
- q(4250) => q(mha),
- q(4251) => q(mhb),
- q(4252) => q(mhc),
- q(4253) => q(mhd),
- q(4254) => q(mhe),
- q(4255) => q(mhf),
- q(4256) => q(mhg),
- q(4257) => q(mhh),
- q(4258) => q(mhi),
- q(4259) => q(mhj),
- q(4260) => q(mhk),
- q(4261) => q(mhl),
- q(4262) => q(mhm),
- q(4263) => q(mhn),
- q(4264) => q(mho),
- q(4265) => q(mhp),
- q(4266) => q(mhq),
- q(4267) => q(mhr),
- q(4268) => q(mhs),
- q(4269) => q(mht),
- q(4270) => q(mhu),
- q(4271) => q(mhw),
- q(4272) => q(mhx),
- q(4273) => q(mhy),
- q(4274) => q(mhz),
- q(4275) => q(mia),
- q(4276) => q(mib),
- q(4277) => q(mid),
- q(4278) => q(mie),
- q(4279) => q(mif),
- q(4280) => q(mig),
- q(4281) => q(mih),
- q(4282) => q(mii),
- q(4283) => q(mij),
- q(4284) => q(mik),
- q(4285) => q(mil),
- q(4286) => q(mim),
- q(4287) => q(mio),
- q(4288) => q(mip),
- q(4289) => q(miq),
- q(4290) => q(mir),
- q(4291) => q(mit),
- q(4292) => q(miu),
- q(4293) => q(miw),
- q(4294) => q(mix),
- q(4295) => q(miy),
- q(4296) => q(miz),
- q(4297) => q(mjc),
- q(4298) => q(mjd),
- q(4299) => q(mje),
- q(4300) => q(mjg),
- q(4301) => q(mjh),
- q(4302) => q(mji),
- q(4303) => q(mjj),
- q(4304) => q(mjk),
- q(4305) => q(mjl),
- q(4306) => q(mjm),
- q(4307) => q(mjn),
- q(4308) => q(mjo),
- q(4309) => q(mjp),
- q(4310) => q(mjq),
- q(4311) => q(mjr),
- q(4312) => q(mjs),
- q(4313) => q(mjt),
- q(4314) => q(mju),
- q(4315) => q(mjv),
- q(4316) => q(mjw),
- q(4317) => q(mjx),
- q(4318) => q(mjy),
- q(4319) => q(mjz),
- q(4320) => q(mka),
- q(4321) => q(mkb),
- q(4322) => q(mkc),
- q(4323) => q(mke),
- q(4324) => q(mkf),
- q(4325) => q(mkg),
- q(4326) => q(mki),
- q(4327) => q(mkj),
- q(4328) => q(mkk),
- q(4329) => q(mkl),
- q(4330) => q(mkm),
- q(4331) => q(mkn),
- q(4332) => q(mko),
- q(4333) => q(mkp),
- q(4334) => q(mkq),
- q(4335) => q(mkr),
- q(4336) => q(mks),
- q(4337) => q(mkt),
- q(4338) => q(mku),
- q(4339) => q(mkv),
- q(4340) => q(mkw),
- q(4341) => q(mkx),
- q(4342) => q(mky),
- q(4343) => q(mkz),
- q(4344) => q(mla),
- q(4345) => q(mlb),
- q(4346) => q(mlc),
- q(4347) => q(mld),
- q(4348) => q(mle),
- q(4349) => q(mlf),
- q(4350) => q(mlh),
- q(4351) => q(mli),
- q(4352) => q(mlj),
- q(4353) => q(mlk),
- q(4354) => q(mll),
- q(4355) => q(mlm),
- q(4356) => q(mln),
- q(4357) => q(mlo),
- q(4358) => q(mlp),
- q(4359) => q(mlq),
- q(4360) => q(mlr),
- q(4361) => q(mls),
- q(4362) => q(mlu),
- q(4363) => q(mlv),
- q(4364) => q(mlw),
- q(4365) => q(mlx),
- q(4366) => q(mlz),
- q(4367) => q(mma),
- q(4368) => q(mmb),
- q(4369) => q(mmc),
- q(4370) => q(mmd),
- q(4371) => q(mme),
- q(4372) => q(mmf),
- q(4373) => q(mmg),
- q(4374) => q(mmh),
- q(4375) => q(mmi),
- q(4376) => q(mmj),
- q(4377) => q(mmk),
- q(4378) => q(mml),
- q(4379) => q(mmm),
- q(4380) => q(mmn),
- q(4381) => q(mmo),
- q(4382) => q(mmp),
- q(4383) => q(mmq),
- q(4384) => q(mmr),
- q(4385) => q(mmt),
- q(4386) => q(mmu),
- q(4387) => q(mmv),
- q(4388) => q(mmw),
- q(4389) => q(mmx),
- q(4390) => q(mmy),
- q(4391) => q(mmz),
- q(4392) => q(mna),
- q(4393) => q(mnb),
- q(4394) => q(mnd),
- q(4395) => q(mne),
- q(4396) => q(mnf),
- q(4397) => q(mng),
- q(4398) => q(mnh),
- q(4399) => q(mnj),
- q(4400) => q(mnk),
- q(4401) => q(mnl),
- q(4402) => q(mnm),
- q(4403) => q(mnn),
- q(4404) => q(mnp),
- q(4405) => q(mnq),
- q(4406) => q(mnr),
- q(4407) => q(mns),
- q(4408) => q(mnt),
- q(4409) => q(mnu),
- q(4410) => q(mnv),
- q(4411) => q(mnw),
- q(4412) => q(mnx),
- q(4413) => q(mny),
- q(4414) => q(mnz),
- q(4415) => q(moa),
- q(4416) => q(moc),
- q(4417) => q(mod),
- q(4418) => q(moe),
- q(4419) => q(mog),
- q(4420) => q(moi),
- q(4421) => q(moj),
- q(4422) => q(mok),
- q(4423) => q(mom),
- q(4424) => q(moo),
- q(4425) => q(mop),
- q(4426) => q(moq),
- q(4427) => q(mor),
- q(4428) => q(mou),
- q(4429) => q(mov),
- q(4430) => q(mow),
- q(4431) => q(mox),
- q(4432) => q(moy),
- q(4433) => q(moz),
- q(4434) => q(mpa),
- q(4435) => q(mpb),
- q(4436) => q(mpc),
- q(4437) => q(mpd),
- q(4438) => q(mpe),
- q(4439) => q(mpg),
- q(4440) => q(mph),
- q(4441) => q(mpi),
- q(4442) => q(mpj),
- q(4443) => q(mpk),
- q(4444) => q(mpl),
- q(4445) => q(mpm),
- q(4446) => q(mpn),
- q(4447) => q(mpo),
- q(4448) => q(mpp),
- q(4449) => q(mpq),
- q(4450) => q(mpr),
- q(4451) => q(mps),
- q(4452) => q(mpt),
- q(4453) => q(mpu),
- q(4454) => q(mpv),
- q(4455) => q(mpw),
- q(4456) => q(mpx),
- q(4457) => q(mpy),
- q(4458) => q(mpz),
- q(4459) => q(mqa),
- q(4460) => q(mqb),
- q(4461) => q(mqc),
- q(4462) => q(mqe),
- q(4463) => q(mqf),
- q(4464) => q(mqg),
- q(4465) => q(mqh),
- q(4466) => q(mqi),
- q(4467) => q(mqj),
- q(4468) => q(mqk),
- q(4469) => q(mql),
- q(4470) => q(mqm),
- q(4471) => q(mqn),
- q(4472) => q(mqo),
- q(4473) => q(mqp),
- q(4474) => q(mqq),
- q(4475) => q(mqr),
- q(4476) => q(mqs),
- q(4477) => q(mqt),
- q(4478) => q(mqu),
- q(4479) => q(mqv),
- q(4480) => q(mqw),
- q(4481) => q(mqx),
- q(4482) => q(mqy),
- q(4483) => q(mqz),
- q(4484) => q(mra),
- q(4485) => q(mrb),
- q(4486) => q(mrc),
- q(4487) => q(mrd),
- q(4488) => q(mre),
- q(4489) => q(mrf),
- q(4490) => q(mrg),
- q(4491) => q(mrh),
- q(4492) => q(mrj),
- q(4493) => q(mrk),
- q(4494) => q(mrl),
- q(4495) => q(mrm),
- q(4496) => q(mrn),
- q(4497) => q(mro),
- q(4498) => q(mrp),
- q(4499) => q(mrq),
- q(4500) => q(mrr),
- q(4501) => q(mrs),
- q(4502) => q(mrt),
- q(4503) => q(mru),
- q(4504) => q(mrv),
- q(4505) => q(mrw),
- q(4506) => q(mrx),
- q(4507) => q(mry),
- q(4508) => q(mrz),
- q(4509) => q(msb),
- q(4510) => q(msc),
- q(4511) => q(msd),
- q(4512) => q(mse),
- q(4513) => q(msf),
- q(4514) => q(msg),
- q(4515) => q(msh),
- q(4516) => q(msi),
- q(4517) => q(msj),
- q(4518) => q(msk),
- q(4519) => q(msl),
- q(4520) => q(msm),
- q(4521) => q(msn),
- q(4522) => q(mso),
- q(4523) => q(msp),
- q(4524) => q(msq),
- q(4525) => q(msr),
- q(4526) => q(mss),
- q(4527) => q(msu),
- q(4528) => q(msv),
- q(4529) => q(msw),
- q(4530) => q(msx),
- q(4531) => q(msy),
- q(4532) => q(msz),
- q(4533) => q(mta),
- q(4534) => q(mtb),
- q(4535) => q(mtc),
- q(4536) => q(mtd),
- q(4537) => q(mte),
- q(4538) => q(mtf),
- q(4539) => q(mtg),
- q(4540) => q(mth),
- q(4541) => q(mti),
- q(4542) => q(mtj),
- q(4543) => q(mtk),
- q(4544) => q(mtl),
- q(4545) => q(mtm),
- q(4546) => q(mtn),
- q(4547) => q(mto),
- q(4548) => q(mtp),
- q(4549) => q(mtq),
- q(4550) => q(mtr),
- q(4551) => q(mts),
- q(4552) => q(mtt),
- q(4553) => q(mtu),
- q(4554) => q(mtv),
- q(4555) => q(mtw),
- q(4556) => q(mtx),
- q(4557) => q(mty),
- q(4558) => q(mua),
- q(4559) => q(mub),
- q(4560) => q(muc),
- q(4561) => q(mud),
- q(4562) => q(mue),
- q(4563) => q(mug),
- q(4564) => q(muh),
- q(4565) => q(mui),
- q(4566) => q(muj),
- q(4567) => q(muk),
- q(4568) => q(mum),
- q(4569) => q(muo),
- q(4570) => q(mup),
- q(4571) => q(muq),
- q(4572) => q(mur),
- q(4573) => q(mut),
- q(4574) => q(muu),
- q(4575) => q(muv),
- q(4576) => q(mux),
- q(4577) => q(muy),
- q(4578) => q(muz),
- q(4579) => q(mva),
- q(4580) => q(mvb),
- q(4581) => q(mvd),
- q(4582) => q(mve),
- q(4583) => q(mvf),
- q(4584) => q(mvg),
- q(4585) => q(mvh),
- q(4586) => q(mvi),
- q(4587) => q(mvk),
- q(4588) => q(mvl),
- q(4589) => q(mvm),
- q(4590) => q(mvn),
- q(4591) => q(mvo),
- q(4592) => q(mvp),
- q(4593) => q(mvq),
- q(4594) => q(mvr),
- q(4595) => q(mvs),
- q(4596) => q(mvt),
- q(4597) => q(mvu),
- q(4598) => q(mvv),
- q(4599) => q(mvw),
- q(4600) => q(mvx),
- q(4601) => q(mvy),
- q(4602) => q(mvz),
- q(4603) => q(mwa),
- q(4604) => q(mwb),
- q(4605) => q(mwc),
- q(4606) => q(mwd),
- q(4607) => q(mwe),
- q(4608) => q(mwf),
- q(4609) => q(mwg),
- q(4610) => q(mwh),
- q(4611) => q(mwi),
- q(4612) => q(mwj),
- q(4613) => q(mwk),
- q(4614) => q(mwm),
- q(4615) => q(mwn),
- q(4616) => q(mwo),
- q(4617) => q(mwp),
- q(4618) => q(mwq),
- q(4619) => q(mws),
- q(4620) => q(mwt),
- q(4621) => q(mwu),
- q(4622) => q(mwv),
- q(4623) => q(mww),
- q(4624) => q(mwx),
- q(4625) => q(mwy),
- q(4626) => q(mwz),
- q(4627) => q(mxa),
- q(4628) => q(mxb),
- q(4629) => q(mxc),
- q(4630) => q(mxd),
- q(4631) => q(mxe),
- q(4632) => q(mxf),
- q(4633) => q(mxg),
- q(4634) => q(mxh),
- q(4635) => q(mxi),
- q(4636) => q(mxj),
- q(4637) => q(mxk),
- q(4638) => q(mxl),
- q(4639) => q(mxm),
- q(4640) => q(mxn),
- q(4641) => q(mxo),
- q(4642) => q(mxp),
- q(4643) => q(mxq),
- q(4644) => q(mxr),
- q(4645) => q(mxs),
- q(4646) => q(mxt),
- q(4647) => q(mxu),
- q(4648) => q(mxv),
- q(4649) => q(mxw),
- q(4650) => q(mxx),
- q(4651) => q(mxy),
- q(4652) => q(mxz),
- q(4653) => q(myb),
- q(4654) => q(myc),
- q(4655) => q(myd),
- q(4656) => q(mye),
- q(4657) => q(myf),
- q(4658) => q(myg),
- q(4659) => q(myh),
- q(4660) => q(myi),
- q(4661) => q(myj),
- q(4662) => q(myk),
- q(4663) => q(myl),
- q(4664) => q(mym),
- q(4665) => q(myo),
- q(4666) => q(myp),
- q(4667) => q(myq),
- q(4668) => q(myr),
- q(4669) => q(mys),
- q(4670) => q(myu),
- q(4671) => q(myw),
- q(4672) => q(myx),
- q(4673) => q(myy),
- q(4674) => q(myz),
- q(4675) => q(mza),
- q(4676) => q(mzb),
- q(4677) => q(mzc),
- q(4678) => q(mzd),
- q(4679) => q(mze),
- q(4680) => q(mzg),
- q(4681) => q(mzh),
- q(4682) => q(mzi),
- q(4683) => q(mzj),
- q(4684) => q(mzk),
- q(4685) => q(mzl),
- q(4686) => q(mzm),
- q(4687) => q(mzn),
- q(4688) => q(mzo),
- q(4689) => q(mzp),
- q(4690) => q(mzq),
- q(4691) => q(mzr),
- q(4692) => q(mzs),
- q(4693) => q(mzt),
- q(4694) => q(mzu),
- q(4695) => q(mzv),
- q(4696) => q(mzw),
- q(4697) => q(mzx),
- q(4698) => q(mzy),
- q(4699) => q(mzz),
- q(4700) => q(naa),
- q(4701) => q(nab),
- q(4702) => q(nac),
- q(4703) => q(nad),
- q(4704) => q(nae),
- q(4705) => q(naf),
- q(4706) => q(nag),
- q(4707) => q(naj),
- q(4708) => q(nak),
- q(4709) => q(nal),
- q(4710) => q(nam),
- q(4711) => q(nan),
- q(4712) => q(nao),
- q(4713) => q(naq),
- q(4714) => q(nar),
- q(4715) => q(nas),
- q(4716) => q(nat),
- q(4717) => q(naw),
- q(4718) => q(nax),
- q(4719) => q(nay),
- q(4720) => q(naz),
- q(4721) => q(nba),
- q(4722) => q(nbb),
- q(4723) => q(nbc),
- q(4724) => q(nbd),
- q(4725) => q(nbe),
- q(4726) => q(nbg),
- q(4727) => q(nbh),
- q(4728) => q(nbi),
- q(4729) => q(nbj),
- q(4730) => q(nbk),
- q(4731) => q(nbm),
- q(4732) => q(nbn),
- q(4733) => q(nbo),
- q(4734) => q(nbp),
- q(4735) => q(nbq),
- q(4736) => q(nbr),
- q(4737) => q(nbs),
- q(4738) => q(nbt),
- q(4739) => q(nbu),
- q(4740) => q(nbv),
- q(4741) => q(nbw),
- q(4742) => q(nbx),
- q(4743) => q(nby),
- q(4744) => q(nca),
- q(4745) => q(ncb),
- q(4746) => q(ncc),
- q(4747) => q(ncd),
- q(4748) => q(nce),
- q(4749) => q(ncf),
- q(4750) => q(ncg),
- q(4751) => q(nch),
- q(4752) => q(nci),
- q(4753) => q(ncj),
- q(4754) => q(nck),
- q(4755) => q(ncl),
- q(4756) => q(ncm),
- q(4757) => q(ncn),
- q(4758) => q(nco),
- q(4759) => q(ncp),
- q(4760) => q(ncr),
- q(4761) => q(ncs),
- q(4762) => q(nct),
- q(4763) => q(ncu),
- q(4764) => q(ncx),
- q(4765) => q(ncz),
- q(4766) => q(nda),
- q(4767) => q(ndb),
- q(4768) => q(ndc),
- q(4769) => q(ndd),
- q(4770) => q(ndf),
- q(4771) => q(ndg),
- q(4772) => q(ndh),
- q(4773) => q(ndi),
- q(4774) => q(ndj),
- q(4775) => q(ndk),
- q(4776) => q(ndl),
- q(4777) => q(ndm),
- q(4778) => q(ndn),
- q(4779) => q(ndp),
- q(4780) => q(ndq),
- q(4781) => q(ndr),
- q(4782) => q(ndt),
- q(4783) => q(ndu),
- q(4784) => q(ndv),
- q(4785) => q(ndw),
- q(4786) => q(ndx),
- q(4787) => q(ndy),
- q(4788) => q(ndz),
- q(4789) => q(nea),
- q(4790) => q(neb),
- q(4791) => q(nec),
- q(4792) => q(ned),
- q(4793) => q(nee),
- q(4794) => q(nef),
- q(4795) => q(neg),
- q(4796) => q(neh),
- q(4797) => q(nei),
- q(4798) => q(nej),
- q(4799) => q(nek),
- q(4800) => q(nem),
- q(4801) => q(nen),
- q(4802) => q(neo),
- q(4803) => q(neq),
- q(4804) => q(ner),
- q(4805) => q(nes),
- q(4806) => q(net),
- q(4807) => q(neu),
- q(4808) => q(nev),
- q(4809) => q(nex),
- q(4810) => q(ney),
- q(4811) => q(nez),
- q(4812) => q(nfa),
- q(4813) => q(nfd),
- q(4814) => q(nfl),
- q(4815) => q(nfr),
- q(4816) => q(nfu),
- q(4817) => q(nga),
- q(4818) => q(ngb),
- q(4819) => q(ngc),
- q(4820) => q(ngd),
- q(4821) => q(nge),
- q(4822) => q(ngg),
- q(4823) => q(ngh),
- q(4824) => q(ngi),
- q(4825) => q(ngj),
- q(4826) => q(ngk),
- q(4827) => q(ngl),
- q(4828) => q(ngm),
- q(4829) => q(ngn),
- q(4830) => q(ngo),
- q(4831) => q(ngp),
- q(4832) => q(ngq),
- q(4833) => q(ngr),
- q(4834) => q(ngs),
- q(4835) => q(ngt),
- q(4836) => q(ngu),
- q(4837) => q(ngv),
- q(4838) => q(ngw),
- q(4839) => q(ngx),
- q(4840) => q(ngy),
- q(4841) => q(ngz),
- q(4842) => q(nha),
- q(4843) => q(nhb),
- q(4844) => q(nhc),
- q(4845) => q(nhd),
- q(4846) => q(nhe),
- q(4847) => q(nhf),
- q(4848) => q(nhg),
- q(4849) => q(nhh),
- q(4850) => q(nhi),
- q(4851) => q(nhk),
- q(4852) => q(nhm),
- q(4853) => q(nhn),
- q(4854) => q(nho),
- q(4855) => q(nhp),
- q(4856) => q(nhq),
- q(4857) => q(nhr),
- q(4858) => q(nht),
- q(4859) => q(nhu),
- q(4860) => q(nhv),
- q(4861) => q(nhw),
- q(4862) => q(nhx),
- q(4863) => q(nhy),
- q(4864) => q(nhz),
- q(4865) => q(nib),
- q(4866) => q(nid),
- q(4867) => q(nie),
- q(4868) => q(nif),
- q(4869) => q(nig),
- q(4870) => q(nih),
- q(4871) => q(nii),
- q(4872) => q(nij),
- q(4873) => q(nik),
- q(4874) => q(nil),
- q(4875) => q(nim),
- q(4876) => q(nin),
- q(4877) => q(nio),
- q(4878) => q(niq),
- q(4879) => q(nir),
- q(4880) => q(nis),
- q(4881) => q(nit),
- q(4882) => q(niv),
- q(4883) => q(niw),
- q(4884) => q(nix),
- q(4885) => q(niy),
- q(4886) => q(niz),
- q(4887) => q(nja),
- q(4888) => q(njb),
- q(4889) => q(njd),
- q(4890) => q(njh),
- q(4891) => q(nji),
- q(4892) => q(njj),
- q(4893) => q(njl),
- q(4894) => q(njm),
- q(4895) => q(njn),
- q(4896) => q(njo),
- q(4897) => q(njr),
- q(4898) => q(njs),
- q(4899) => q(njt),
- q(4900) => q(nju),
- q(4901) => q(njx),
- q(4902) => q(njy),
- q(4903) => q(njz),
- q(4904) => q(nka),
- q(4905) => q(nkb),
- q(4906) => q(nkc),
- q(4907) => q(nkd),
- q(4908) => q(nke),
- q(4909) => q(nkf),
- q(4910) => q(nkg),
- q(4911) => q(nkh),
- q(4912) => q(nki),
- q(4913) => q(nkj),
- q(4914) => q(nkk),
- q(4915) => q(nkm),
- q(4916) => q(nkn),
- q(4917) => q(nko),
- q(4918) => q(nkp),
- q(4919) => q(nkq),
- q(4920) => q(nkr),
- q(4921) => q(nks),
- q(4922) => q(nkt),
- q(4923) => q(nku),
- q(4924) => q(nkv),
- q(4925) => q(nkw),
- q(4926) => q(nkx),
- q(4927) => q(nkz),
- q(4928) => q(nla),
- q(4929) => q(nlc),
- q(4930) => q(nle),
- q(4931) => q(nlg),
- q(4932) => q(nli),
- q(4933) => q(nlj),
- q(4934) => q(nlk),
- q(4935) => q(nll),
- q(4936) => q(nlo),
- q(4937) => q(nlr),
- q(4938) => q(nlu),
- q(4939) => q(nlv),
- q(4940) => q(nlx),
- q(4941) => q(nly),
- q(4942) => q(nlz),
- q(4943) => q(nma),
- q(4944) => q(nmb),
- q(4945) => q(nmc),
- q(4946) => q(nmd),
- q(4947) => q(nme),
- q(4948) => q(nmf),
- q(4949) => q(nmg),
- q(4950) => q(nmh),
- q(4951) => q(nmi),
- q(4952) => q(nmj),
- q(4953) => q(nmk),
- q(4954) => q(nml),
- q(4955) => q(nmm),
- q(4956) => q(nmn),
- q(4957) => q(nmo),
- q(4958) => q(nmp),
- q(4959) => q(nmq),
- q(4960) => q(nmr),
- q(4961) => q(nms),
- q(4962) => q(nmt),
- q(4963) => q(nmu),
- q(4964) => q(nmv),
- q(4965) => q(nmw),
- q(4966) => q(nmx),
- q(4967) => q(nmy),
- q(4968) => q(nmz),
- q(4969) => q(nna),
- q(4970) => q(nnb),
- q(4971) => q(nnc),
- q(4972) => q(nnd),
- q(4973) => q(nne),
- q(4974) => q(nnf),
- q(4975) => q(nng),
- q(4976) => q(nnh),
- q(4977) => q(nni),
- q(4978) => q(nnj),
- q(4979) => q(nnk),
- q(4980) => q(nnl),
- q(4981) => q(nnm),
- q(4982) => q(nnn),
- q(4983) => q(nnp),
- q(4984) => q(nnq),
- q(4985) => q(nnr),
- q(4986) => q(nns),
- q(4987) => q(nnt),
- q(4988) => q(nnu),
- q(4989) => q(nnv),
- q(4990) => q(nnw),
- q(4991) => q(nnx),
- q(4992) => q(nny),
- q(4993) => q(nnz),
- q(4994) => q(noa),
- q(4995) => q(noc),
- q(4996) => q(nod),
- q(4997) => q(noe),
- q(4998) => q(nof),
- q(4999) => q(noh),
- q(5000) => q(noi),
- q(5001) => q(noj),
- q(5002) => q(nok),
- q(5003) => q(nom),
- q(5004) => q(nop),
- q(5005) => q(noq),
- q(5006) => q(nos),
- q(5007) => q(not),
- q(5008) => q(nou),
- q(5009) => q(nov),
- q(5010) => q(now),
- q(5011) => q(noy),
- q(5012) => q(noz),
- q(5013) => q(npa),
- q(5014) => q(npb),
- q(5015) => q(npg),
- q(5016) => q(nph),
- q(5017) => q(npi),
- q(5018) => q(npl),
- q(5019) => q(npn),
- q(5020) => q(npo),
- q(5021) => q(nps),
- q(5022) => q(npu),
- q(5023) => q(npy),
- q(5024) => q(nqg),
- q(5025) => q(nqk),
- q(5026) => q(nqm),
- q(5027) => q(nqn),
- q(5028) => q(nqy),
- q(5029) => q(nra),
- q(5030) => q(nrb),
- q(5031) => q(nrc),
- q(5032) => q(nre),
- q(5033) => q(nrg),
- q(5034) => q(nri),
- q(5035) => q(nrl),
- q(5036) => q(nrm),
- q(5037) => q(nrn),
- q(5038) => q(nrp),
- q(5039) => q(nrr),
- q(5040) => q(nrt),
- q(5041) => q(nru),
- q(5042) => q(nrx),
- q(5043) => q(nrz),
- q(5044) => q(nsa),
- q(5045) => q(nsc),
- q(5046) => q(nsd),
- q(5047) => q(nse),
- q(5048) => q(nsf),
- q(5049) => q(nsg),
- q(5050) => q(nsh),
- q(5051) => q(nsi),
- q(5052) => q(nsk),
- q(5053) => q(nsl),
- q(5054) => q(nsm),
- q(5055) => q(nsn),
- q(5056) => q(nsp),
- q(5057) => q(nsq),
- q(5058) => q(nsr),
- q(5059) => q(nss),
- q(5060) => q(nst),
- q(5061) => q(nsu),
- q(5062) => q(nsv),
- q(5063) => q(nsw),
- q(5064) => q(nsx),
- q(5065) => q(nsy),
- q(5066) => q(nsz),
- q(5067) => q(nte),
- q(5068) => q(nti),
- q(5069) => q(ntj),
- q(5070) => q(ntk),
- q(5071) => q(ntm),
- q(5072) => q(nto),
- q(5073) => q(ntp),
- q(5074) => q(ntr),
- q(5075) => q(nts),
- q(5076) => q(ntu),
- q(5077) => q(ntw),
- q(5078) => q(ntx),
- q(5079) => q(nty),
- q(5080) => q(ntz),
- q(5081) => q(nua),
- q(5082) => q(nuc),
- q(5083) => q(nud),
- q(5084) => q(nue),
- q(5085) => q(nuf),
- q(5086) => q(nug),
- q(5087) => q(nuh),
- q(5088) => q(nui),
- q(5089) => q(nuj),
- q(5090) => q(nuk),
- q(5091) => q(nul),
- q(5092) => q(num),
- q(5093) => q(nun),
- q(5094) => q(nuo),
- q(5095) => q(nup),
- q(5096) => q(nuq),
- q(5097) => q(nur),
- q(5098) => q(nus),
- q(5099) => q(nut),
- q(5100) => q(nuu),
- q(5101) => q(nuv),
- q(5102) => q(nuw),
- q(5103) => q(nux),
- q(5104) => q(nuy),
- q(5105) => q(nuz),
- q(5106) => q(nvh),
- q(5107) => q(nvm),
- q(5108) => q(nvo),
- q(5109) => q(nwa),
- q(5110) => q(nwb),
- q(5111) => q(nwe),
- q(5112) => q(nwg),
- q(5113) => q(nwi),
- q(5114) => q(nwm),
- q(5115) => q(nwo),
- q(5116) => q(nwr),
- q(5117) => q(nwx),
- q(5118) => q(nwy),
- q(5119) => q(nxa),
- q(5120) => q(nxd),
- q(5121) => q(nxe),
- q(5122) => q(nxg),
- q(5123) => q(nxi),
- q(5124) => q(nxk),
- q(5125) => q(nxl),
- q(5126) => q(nxm),
- q(5127) => q(nxn),
- q(5128) => q(nxq),
- q(5129) => q(nxr),
- q(5130) => q(nxu),
- q(5131) => q(nxx),
- q(5132) => q(nyb),
- q(5133) => q(nyc),
- q(5134) => q(nyd),
- q(5135) => q(nye),
- q(5136) => q(nyf),
- q(5137) => q(nyg),
- q(5138) => q(nyh),
- q(5139) => q(nyi),
- q(5140) => q(nyj),
- q(5141) => q(nyk),
- q(5142) => q(nyl),
- q(5143) => q(nyp),
- q(5144) => q(nyq),
- q(5145) => q(nyr),
- q(5146) => q(nys),
- q(5147) => q(nyt),
- q(5148) => q(nyu),
- q(5149) => q(nyv),
- q(5150) => q(nyw),
- q(5151) => q(nyx),
- q(5152) => q(nyy),
- q(5153) => q(nza),
- q(5154) => q(nzb),
- q(5155) => q(nzk),
- q(5156) => q(nzm),
- q(5157) => q(nzs),
- q(5158) => q(nzu),
- q(5159) => q(nzy),
- q(5160) => q(nzz),
- q(5161) => q(oaa),
- q(5162) => q(oac),
- q(5163) => q(oar),
- q(5164) => q(oav),
- q(5165) => q(obi),
- q(5166) => q(obk),
- q(5167) => q(obl),
- q(5168) => q(obm),
- q(5169) => q(obo),
- q(5170) => q(obr),
- q(5171) => q(obt),
- q(5172) => q(obu),
- q(5173) => q(oca),
- q(5174) => q(och),
- q(5175) => q(oco),
- q(5176) => q(ocu),
- q(5177) => q(oda),
- q(5178) => q(odk),
- q(5179) => q(odt),
- q(5180) => q(odu),
- q(5181) => q(ofo),
- q(5182) => q(ofs),
- q(5183) => q(ofu),
- q(5184) => q(ogb),
- q(5185) => q(ogc),
- q(5186) => q(oge),
- q(5187) => q(ogg),
- q(5188) => q(ogo),
- q(5189) => q(ogu),
- q(5190) => q(oht),
- q(5191) => q(ohu),
- q(5192) => q(oia),
- q(5193) => q(oin),
- q(5194) => q(ojb),
- q(5195) => q(ojc),
- q(5196) => q(ojg),
- q(5197) => q(ojp),
- q(5198) => q(ojs),
- q(5199) => q(ojv),
- q(5200) => q(ojw),
- q(5201) => q(oka),
- q(5202) => q(okb),
- q(5203) => q(okd),
- q(5204) => q(oke),
- q(5205) => q(okg),
- q(5206) => q(okh),
- q(5207) => q(oki),
- q(5208) => q(okj),
- q(5209) => q(okk),
- q(5210) => q(okl),
- q(5211) => q(okm),
- q(5212) => q(okn),
- q(5213) => q(oko),
- q(5214) => q(okr),
- q(5215) => q(oks),
- q(5216) => q(oku),
- q(5217) => q(okv),
- q(5218) => q(okx),
- q(5219) => q(ola),
- q(5220) => q(old),
- q(5221) => q(ole),
- q(5222) => q(olm),
- q(5223) => q(olo),
- q(5224) => q(olr),
- q(5225) => q(oma),
- q(5226) => q(omb),
- q(5227) => q(omc),
- q(5228) => q(ome),
- q(5229) => q(omg),
- q(5230) => q(omi),
- q(5231) => q(omk),
- q(5232) => q(oml),
- q(5233) => q(omn),
- q(5234) => q(omo),
- q(5235) => q(omp),
- q(5236) => q(omr),
- q(5237) => q(omt),
- q(5238) => q(omu),
- q(5239) => q(omw),
- q(5240) => q(omx),
- q(5241) => q(ona),
- q(5242) => q(onb),
- q(5243) => q(one),
- q(5244) => q(ong),
- q(5245) => q(oni),
- q(5246) => q(onj),
- q(5247) => q(onk),
- q(5248) => q(onn),
- q(5249) => q(ono),
- q(5250) => q(onp),
- q(5251) => q(onr),
- q(5252) => q(ons),
- q(5253) => q(ont),
- q(5254) => q(onu),
- q(5255) => q(onw),
- q(5256) => q(onx),
- q(5257) => q(ood),
- q(5258) => q(oog),
- q(5259) => q(oon),
- q(5260) => q(oor),
- q(5261) => q(oos),
- q(5262) => q(opa),
- q(5263) => q(opk),
- q(5264) => q(opm),
- q(5265) => q(opo),
- q(5266) => q(opt),
- q(5267) => q(opy),
- q(5268) => q(ora),
- q(5269) => q(orc),
- q(5270) => q(ore),
- q(5271) => q(org),
- q(5272) => q(orh),
- q(5273) => q(orn),
- q(5274) => q(oro),
- q(5275) => q(orr),
- q(5276) => q(ors),
- q(5277) => q(ort),
- q(5278) => q(oru),
- q(5279) => q(orv),
- q(5280) => q(orw),
- q(5281) => q(orx),
- q(5282) => q(ory),
- q(5283) => q(orz),
- q(5284) => q(osc),
- q(5285) => q(osi),
- q(5286) => q(oso),
- q(5287) => q(osp),
- q(5288) => q(ost),
- q(5289) => q(osu),
- q(5290) => q(osx),
- q(5291) => q(otb),
- q(5292) => q(otd),
- q(5293) => q(ote),
- q(5294) => q(oti),
- q(5295) => q(otk),
- q(5296) => q(otl),
- q(5297) => q(otm),
- q(5298) => q(otn),
- q(5299) => q(otq),
- q(5300) => q(otr),
- q(5301) => q(ots),
- q(5302) => q(ott),
- q(5303) => q(otu),
- q(5304) => q(otw),
- q(5305) => q(otx),
- q(5306) => q(oty),
- q(5307) => q(otz),
- q(5308) => q(oua),
- q(5309) => q(oub),
- q(5310) => q(oue),
- q(5311) => q(oui),
- q(5312) => q(oum),
- q(5313) => q(oun),
- q(5314) => q(owi),
- q(5315) => q(owl),
- q(5316) => q(oyb),
- q(5317) => q(oyd),
- q(5318) => q(oym),
- q(5319) => q(oyy),
- q(5320) => q(ozm),
- q(5321) => q(pab),
- q(5322) => q(pac),
- q(5323) => q(pad),
- q(5324) => q(pae),
- q(5325) => q(paf),
- q(5326) => q(pah),
- q(5327) => q(pai),
- q(5328) => q(pak),
- q(5329) => q(pao),
- q(5330) => q(paq),
- q(5331) => q(par),
- q(5332) => q(pas),
- q(5333) => q(pat),
- q(5334) => q(pav),
- q(5335) => q(paw),
- q(5336) => q(pax),
- q(5337) => q(pay),
- q(5338) => q(paz),
- q(5339) => q(pbb),
- q(5340) => q(pbc),
- q(5341) => q(pbe),
- q(5342) => q(pbf),
- q(5343) => q(pbg),
- q(5344) => q(pbh),
- q(5345) => q(pbi),
- q(5346) => q(pbl),
- q(5347) => q(pbn),
- q(5348) => q(pbo),
- q(5349) => q(pbp),
- q(5350) => q(pbr),
- q(5351) => q(pbs),
- q(5352) => q(pbt),
- q(5353) => q(pbu),
- q(5354) => q(pbv),
- q(5355) => q(pby),
- q(5356) => q(pca),
- q(5357) => q(pcb),
- q(5358) => q(pcc),
- q(5359) => q(pcd),
- q(5360) => q(pce),
- q(5361) => q(pcf),
- q(5362) => q(pcg),
- q(5363) => q(pch),
- q(5364) => q(pci),
- q(5365) => q(pcj),
- q(5366) => q(pck),
- q(5367) => q(pcl),
- q(5368) => q(pcm),
- q(5369) => q(pcn),
- q(5370) => q(pcp),
- q(5371) => q(pcr),
- q(5372) => q(pcw),
- q(5373) => q(pda),
- q(5374) => q(pdc),
- q(5375) => q(pdi),
- q(5376) => q(pdn),
- q(5377) => q(pdo),
- q(5378) => q(pdt),
- q(5379) => q(pdu),
- q(5380) => q(pea),
- q(5381) => q(peb),
- q(5382) => q(ped),
- q(5383) => q(pee),
- q(5384) => q(pef),
- q(5385) => q(peg),
- q(5386) => q(peh),
- q(5387) => q(pei),
- q(5388) => q(pej),
- q(5389) => q(pek),
- q(5390) => q(pel),
- q(5391) => q(pem),
- q(5392) => q(pep),
- q(5393) => q(peq),
- q(5394) => q(pes),
- q(5395) => q(pev),
- q(5396) => q(pex),
- q(5397) => q(pey),
- q(5398) => q(pez),
- q(5399) => q(pfa),
- q(5400) => q(pfe),
- q(5401) => q(pfl),
- q(5402) => q(pga),
- q(5403) => q(pgg),
- q(5404) => q(pgi),
- q(5405) => q(pgk),
- q(5406) => q(pgl),
- q(5407) => q(pgn),
- q(5408) => q(pgs),
- q(5409) => q(pgu),
- q(5410) => q(pha),
- q(5411) => q(phd),
- q(5412) => q(phg),
- q(5413) => q(phh),
- q(5414) => q(phk),
- q(5415) => q(phl),
- q(5416) => q(phm),
- q(5417) => q(pho),
- q(5418) => q(phq),
- q(5419) => q(phr),
- q(5420) => q(pht),
- q(5421) => q(phu),
- q(5422) => q(phv),
- q(5423) => q(phw),
- q(5424) => q(pia),
- q(5425) => q(pib),
- q(5426) => q(pic),
- q(5427) => q(pid),
- q(5428) => q(pie),
- q(5429) => q(pif),
- q(5430) => q(pig),
- q(5431) => q(pih),
- q(5432) => q(pii),
- q(5433) => q(pij),
- q(5434) => q(pil),
- q(5435) => q(pim),
- q(5436) => q(pin),
- q(5437) => q(pio),
- q(5438) => q(pip),
- q(5439) => q(pir),
- q(5440) => q(pis),
- q(5441) => q(pit),
- q(5442) => q(piu),
- q(5443) => q(piv),
- q(5444) => q(piw),
- q(5445) => q(pix),
- q(5446) => q(piy),
- q(5447) => q(piz),
- q(5448) => q(pjt),
- q(5449) => q(pka),
- q(5450) => q(pkb),
- q(5451) => q(pkc),
- q(5452) => q(pkg),
- q(5453) => q(pkh),
- q(5454) => q(pkn),
- q(5455) => q(pko),
- q(5456) => q(pkp),
- q(5457) => q(pkr),
- q(5458) => q(pks),
- q(5459) => q(pkt),
- q(5460) => q(pku),
- q(5461) => q(pla),
- q(5462) => q(plb),
- q(5463) => q(plc),
- q(5464) => q(pld),
- q(5465) => q(ple),
- q(5466) => q(plg),
- q(5467) => q(plh),
- q(5468) => q(plj),
- q(5469) => q(plk),
- q(5470) => q(pll),
- q(5471) => q(pln),
- q(5472) => q(plo),
- q(5473) => q(plp),
- q(5474) => q(plq),
- q(5475) => q(plr),
- q(5476) => q(pls),
- q(5477) => q(plt),
- q(5478) => q(plu),
- q(5479) => q(plv),
- q(5480) => q(plw),
- q(5481) => q(ply),
- q(5482) => q(plz),
- q(5483) => q(pma),
- q(5484) => q(pmb),
- q(5485) => q(pmc),
- q(5486) => q(pmd),
- q(5487) => q(pme),
- q(5488) => q(pmf),
- q(5489) => q(pmh),
- q(5490) => q(pmi),
- q(5491) => q(pmj),
- q(5492) => q(pmk),
- q(5493) => q(pml),
- q(5494) => q(pmm),
- q(5495) => q(pmn),
- q(5496) => q(pmo),
- q(5497) => q(pmq),
- q(5498) => q(pmr),
- q(5499) => q(pms),
- q(5500) => q(pmt),
- q(5501) => q(pmu),
- q(5502) => q(pmw),
- q(5503) => q(pmx),
- q(5504) => q(pmy),
- q(5505) => q(pmz),
- q(5506) => q(pna),
- q(5507) => q(pnb),
- q(5508) => q(pnc),
- q(5509) => q(pne),
- q(5510) => q(png),
- q(5511) => q(pnh),
- q(5512) => q(pni),
- q(5513) => q(pnk),
- q(5514) => q(pnm),
- q(5515) => q(pnn),
- q(5516) => q(pno),
- q(5517) => q(pnp),
- q(5518) => q(pnq),
- q(5519) => q(pnr),
- q(5520) => q(pns),
- q(5521) => q(pnt),
- q(5522) => q(pnu),
- q(5523) => q(pnv),
- q(5524) => q(pnw),
- q(5525) => q(pnx),
- q(5526) => q(pny),
- q(5527) => q(pnz),
- q(5528) => q(poc),
- q(5529) => q(pod),
- q(5530) => q(poe),
- q(5531) => q(pof),
- q(5532) => q(pog),
- q(5533) => q(poh),
- q(5534) => q(poi),
- q(5535) => q(pok),
- q(5536) => q(pom),
- q(5537) => q(poo),
- q(5538) => q(pop),
- q(5539) => q(poq),
- q(5540) => q(pos),
- q(5541) => q(pot),
- q(5542) => q(pov),
- q(5543) => q(pow),
- q(5544) => q(pox),
- q(5545) => q(poy),
- q(5546) => q(ppa),
- q(5547) => q(ppe),
- q(5548) => q(ppi),
- q(5549) => q(ppk),
- q(5550) => q(ppl),
- q(5551) => q(ppm),
- q(5552) => q(ppn),
- q(5553) => q(ppo),
- q(5554) => q(ppp),
- q(5555) => q(ppq),
- q(5556) => q(ppr),
- q(5557) => q(pps),
- q(5558) => q(ppt),
- q(5559) => q(ppu),
- q(5560) => q(pqa),
- q(5561) => q(pqm),
- q(5562) => q(prb),
- q(5563) => q(prc),
- q(5564) => q(prd),
- q(5565) => q(pre),
- q(5566) => q(prf),
- q(5567) => q(prg),
- q(5568) => q(prh),
- q(5569) => q(pri),
- q(5570) => q(prk),
- q(5571) => q(prl),
- q(5572) => q(prm),
- q(5573) => q(prn),
- q(5574) => q(prp),
- q(5575) => q(prq),
- q(5576) => q(prr),
- q(5577) => q(prs),
- q(5578) => q(prt),
- q(5579) => q(pru),
- q(5580) => q(prw),
- q(5581) => q(prx),
- q(5582) => q(pry),
- q(5583) => q(prz),
- q(5584) => q(psa),
- q(5585) => q(psc),
- q(5586) => q(psd),
- q(5587) => q(pse),
- q(5588) => q(psg),
- q(5589) => q(psh),
- q(5590) => q(psi),
- q(5591) => q(psl),
- q(5592) => q(psm),
- q(5593) => q(psn),
- q(5594) => q(pso),
- q(5595) => q(psp),
- q(5596) => q(psq),
- q(5597) => q(psr),
- q(5598) => q(pss),
- q(5599) => q(pst),
- q(5600) => q(psu),
- q(5601) => q(psw),
- q(5602) => q(psy),
- q(5603) => q(pta),
- q(5604) => q(pth),
- q(5605) => q(pti),
- q(5606) => q(ptn),
- q(5607) => q(pto),
- q(5608) => q(ptp),
- q(5609) => q(ptr),
- q(5610) => q(ptt),
- q(5611) => q(ptu),
- q(5612) => q(ptv),
- q(5613) => q(ptw),
- q(5614) => q(pty),
- q(5615) => q(pua),
- q(5616) => q(pub),
- q(5617) => q(puc),
- q(5618) => q(pud),
- q(5619) => q(pue),
- q(5620) => q(puf),
- q(5621) => q(pug),
- q(5622) => q(pui),
- q(5623) => q(puj),
- q(5624) => q(puk),
- q(5625) => q(pum),
- q(5626) => q(puo),
- q(5627) => q(pup),
- q(5628) => q(puq),
- q(5629) => q(pur),
- q(5630) => q(put),
- q(5631) => q(puu),
- q(5632) => q(puw),
- q(5633) => q(pux),
- q(5634) => q(puy),
- q(5635) => q(puz),
- q(5636) => q(pwa),
- q(5637) => q(pwb),
- q(5638) => q(pwg),
- q(5639) => q(pwm),
- q(5640) => q(pwn),
- q(5641) => q(pwo),
- q(5642) => q(pwr),
- q(5643) => q(pww),
- q(5644) => q(pxm),
- q(5645) => q(pye),
- q(5646) => q(pym),
- q(5647) => q(pyn),
- q(5648) => q(pys),
- q(5649) => q(pyu),
- q(5650) => q(pyx),
- q(5651) => q(pyy),
- q(5652) => q(pzn),
- q(5653) => q(qua),
- q(5654) => q(qub),
- q(5655) => q(quc),
- q(5656) => q(qud),
- q(5657) => q(quf),
- q(5658) => q(qug),
- q(5659) => q(quh),
- q(5660) => q(qui),
- q(5661) => q(quk),
- q(5662) => q(qul),
- q(5663) => q(qum),
- q(5664) => q(qun),
- q(5665) => q(qup),
- q(5666) => q(quq),
- q(5667) => q(qur),
- q(5668) => q(qus),
- q(5669) => q(quv),
- q(5670) => q(quw),
- q(5671) => q(qux),
- q(5672) => q(quy),
- q(5673) => q(quz),
- q(5674) => q(qva),
- q(5675) => q(qvc),
- q(5676) => q(qve),
- q(5677) => q(qvh),
- q(5678) => q(qvi),
- q(5679) => q(qvj),
- q(5680) => q(qvl),
- q(5681) => q(qvm),
- q(5682) => q(qvn),
- q(5683) => q(qvo),
- q(5684) => q(qvp),
- q(5685) => q(qvs),
- q(5686) => q(qvw),
- q(5687) => q(qvy),
- q(5688) => q(qvz),
- q(5689) => q(qwa),
- q(5690) => q(qwc),
- q(5691) => q(qwh),
- q(5692) => q(qwm),
- q(5693) => q(qws),
- q(5694) => q(qwt),
- q(5695) => q(qxa),
- q(5696) => q(qxc),
- q(5697) => q(qxh),
- q(5698) => q(qxl),
- q(5699) => q(qxn),
- q(5700) => q(qxo),
- q(5701) => q(qxp),
- q(5702) => q(qxq),
- q(5703) => q(qxr),
- q(5704) => q(qxs),
- q(5705) => q(qxt),
- q(5706) => q(qxu),
- q(5707) => q(qxw),
- q(5708) => q(qya),
- q(5709) => q(qyp),
- q(5710) => q(raa),
- q(5711) => q(rab),
- q(5712) => q(rac),
- q(5713) => q(rad),
- q(5714) => q(raf),
- q(5715) => q(rag),
- q(5716) => q(rah),
- q(5717) => q(rai),
- q(5718) => q(rak),
- q(5719) => q(ral),
- q(5720) => q(ram),
- q(5721) => q(ran),
- q(5722) => q(rao),
- q(5723) => q(raq),
- q(5724) => q(ras),
- q(5725) => q(rat),
- q(5726) => q(rau),
- q(5727) => q(rav),
- q(5728) => q(raw),
- q(5729) => q(rax),
- q(5730) => q(ray),
- q(5731) => q(raz),
- q(5732) => q(rbb),
- q(5733) => q(rbk),
- q(5734) => q(rbl),
- q(5735) => q(rbp),
- q(5736) => q(rcf),
- q(5737) => q(rdb),
- q(5738) => q(rea),
- q(5739) => q(reb),
- q(5740) => q(ree),
- q(5741) => q(reg),
- q(5742) => q(rei),
- q(5743) => q(rej),
- q(5744) => q(rel),
- q(5745) => q(rem),
- q(5746) => q(ren),
- q(5747) => q(rer),
- q(5748) => q(res),
- q(5749) => q(ret),
- q(5750) => q(rey),
- q(5751) => q(rga),
- q(5752) => q(rge),
- q(5753) => q(rgk),
- q(5754) => q(rgn),
- q(5755) => q(rgr),
- q(5756) => q(rgs),
- q(5757) => q(rgu),
- q(5758) => q(rhg),
- q(5759) => q(rhp),
- q(5760) => q(ria),
- q(5761) => q(rie),
- q(5762) => q(rif),
- q(5763) => q(ril),
- q(5764) => q(rim),
- q(5765) => q(rin),
- q(5766) => q(rir),
- q(5767) => q(rit),
- q(5768) => q(riu),
- q(5769) => q(rjg),
- q(5770) => q(rji),
- q(5771) => q(rjs),
- q(5772) => q(rka),
- q(5773) => q(rkb),
- q(5774) => q(rkh),
- q(5775) => q(rki),
- q(5776) => q(rkm),
- q(5777) => q(rkt),
- q(5778) => q(rma),
- q(5779) => q(rmb),
- q(5780) => q(rmc),
- q(5781) => q(rmd),
- q(5782) => q(rme),
- q(5783) => q(rmf),
- q(5784) => q(rmg),
- q(5785) => q(rmh),
- q(5786) => q(rmi),
- q(5787) => q(rmk),
- q(5788) => q(rml),
- q(5789) => q(rmm),
- q(5790) => q(rmn),
- q(5791) => q(rmo),
- q(5792) => q(rmp),
- q(5793) => q(rmq),
- q(5794) => q(rms),
- q(5795) => q(rmt),
- q(5796) => q(rmu),
- q(5797) => q(rmv),
- q(5798) => q(rmw),
- q(5799) => q(rmx),
- q(5800) => q(rmy),
- q(5801) => q(rmz),
- q(5802) => q(rna),
- q(5803) => q(rnd),
- q(5804) => q(rng),
- q(5805) => q(rnl),
- q(5806) => q(rnn),
- q(5807) => q(rnp),
- q(5808) => q(rnr),
- q(5809) => q(rnw),
- q(5810) => q(rob),
- q(5811) => q(roc),
- q(5812) => q(rod),
- q(5813) => q(roe),
- q(5814) => q(rof),
- q(5815) => q(rog),
- q(5816) => q(rol),
- q(5817) => q(roo),
- q(5818) => q(rop),
- q(5819) => q(ror),
- q(5820) => q(rou),
- q(5821) => q(row),
- q(5822) => q(rpn),
- q(5823) => q(rpt),
- q(5824) => q(rri),
- q(5825) => q(rro),
- q(5826) => q(rrt),
- q(5827) => q(rsb),
- q(5828) => q(rsi),
- q(5829) => q(rsl),
- q(5830) => q(rtc),
- q(5831) => q(rth),
- q(5832) => q(rtm),
- q(5833) => q(rtw),
- q(5834) => q(rub),
- q(5835) => q(ruc),
- q(5836) => q(rue),
- q(5837) => q(ruf),
- q(5838) => q(rug),
- q(5839) => q(ruh),
- q(5840) => q(rui),
- q(5841) => q(ruk),
- q(5842) => q(ruo),
- q(5843) => q(ruq),
- q(5844) => q(rut),
- q(5845) => q(ruu),
- q(5846) => q(ruy),
- q(5847) => q(ruz),
- q(5848) => q(rwa),
- q(5849) => q(rwk),
- q(5850) => q(rwm),
- q(5851) => q(rwo),
- q(5852) => q(rwr),
- q(5853) => q(ryn),
- q(5854) => q(rys),
- q(5855) => q(ryu),
- q(5856) => q(saa),
- q(5857) => q(sab),
- q(5858) => q(sac),
- q(5859) => q(sae),
- q(5860) => q(saf),
- q(5861) => q(saj),
- q(5862) => q(sak),
- q(5863) => q(sao),
- q(5864) => q(sap),
- q(5865) => q(saq),
- q(5866) => q(sar),
- q(5867) => q(sau),
- q(5868) => q(sav),
- q(5869) => q(saw),
- q(5870) => q(sax),
- q(5871) => q(say),
- q(5872) => q(saz),
- q(5873) => q(sba),
- q(5874) => q(sbb),
- q(5875) => q(sbc),
- q(5876) => q(sbd),
- q(5877) => q(slc),
- q(5878) => q(sbf),
- q(5879) => q(sbg),
- q(5880) => q(sbh),
- q(5881) => q(sbi),
- q(5882) => q(sbj),
- q(5883) => q(sbk),
- q(5884) => q(sbl),
- q(5885) => q(sbm),
- q(5886) => q(sbn),
- q(5887) => q(sbo),
- q(5888) => q(sbp),
- q(5889) => q(sbq),
- q(5890) => q(sbr),
- q(5891) => q(sbs),
- q(5892) => q(sbt),
- q(5893) => q(sbu),
- q(5894) => q(sbv),
- q(5895) => q(sbw),
- q(5896) => q(sbx),
- q(5897) => q(sby),
- q(5898) => q(sbz),
- q(5899) => q(scb),
- q(5900) => q(sce),
- q(5901) => q(scf),
- q(5902) => q(scg),
- q(5903) => q(sch),
- q(5904) => q(sci),
- q(5905) => q(sck),
- q(5906) => q(scl),
- q(5907) => q(scp),
- q(5908) => q(scq),
- q(5909) => q(scs),
- q(5910) => q(scu),
- q(5911) => q(scv),
- q(5912) => q(scw),
- q(5913) => q(scx),
- q(5914) => q(sda),
- q(5915) => q(sdb),
- q(5916) => q(sdc),
- q(5917) => q(sde),
- q(5918) => q(sdf),
- q(5919) => q(sdg),
- q(5920) => q(sdh),
- q(5921) => q(sdj),
- q(5922) => q(sdk),
- q(5923) => q(sdl),
- q(5924) => q(sdm),
- q(5925) => q(sdn),
- q(5926) => q(sdo),
- q(5927) => q(sdp),
- q(5928) => q(sdr),
- q(5929) => q(sds),
- q(5930) => q(sdt),
- q(5931) => q(sdu),
- q(5932) => q(sdx),
- q(5933) => q(sdz),
- q(5934) => q(sea),
- q(5935) => q(seb),
- q(5936) => q(sec),
- q(5937) => q(sed),
- q(5938) => q(see),
- q(5939) => q(sef),
- q(5940) => q(seg),
- q(5941) => q(seh),
- q(5942) => q(sei),
- q(5943) => q(sej),
- q(5944) => q(sek),
- q(5945) => q(sen),
- q(5946) => q(seo),
- q(5947) => q(sep),
- q(5948) => q(seq),
- q(5949) => q(ser),
- q(5950) => q(ses),
- q(5951) => q(set),
- q(5952) => q(seu),
- q(5953) => q(sev),
- q(5954) => q(sew),
- q(5955) => q(sey),
- q(5956) => q(sez),
- q(5957) => q(sfb),
- q(5958) => q(sfe),
- q(5959) => q(sfm),
- q(5960) => q(sfs),
- q(5961) => q(sfw),
- q(5962) => q(sgb),
- q(5963) => q(sgc),
- q(5964) => q(sgd),
- q(5965) => q(sge),
- q(5966) => q(sgg),
- q(5967) => q(sgh),
- q(5968) => q(sgi),
- q(5969) => q(sgj),
- q(5970) => q(sgk),
- q(5971) => q(sgm),
- q(5972) => q(sgo),
- q(5973) => q(sgp),
- q(5974) => q(sgr),
- q(5975) => q(sgs),
- q(5976) => q(sgt),
- q(5977) => q(sgu),
- q(5978) => q(sgw),
- q(5979) => q(sgx),
- q(5980) => q(sgy),
- q(5981) => q(sgz),
- q(5982) => q(sha),
- q(5983) => q(shb),
- q(5984) => q(shc),
- q(5985) => q(shd),
- q(5986) => q(she),
- q(5987) => q(shg),
- q(5988) => q(shh),
- q(5989) => q(shi),
- q(5990) => q(shj),
- q(5991) => q(shk),
- q(5992) => q(shl),
- q(5993) => q(shm),
- q(5994) => q(sho),
- q(5995) => q(shp),
- q(5996) => q(shq),
- q(5997) => q(shr),
- q(5998) => q(shs),
- q(5999) => q(sht),
- q(6000) => q(shu),
- q(6001) => q(shv),
- q(6002) => q(shw),
- q(6003) => q(shx),
- q(6004) => q(shy),
- q(6005) => q(shz),
- q(6006) => q(sia),
- q(6007) => q(sib),
- q(6008) => q(sie),
- q(6009) => q(sif),
- q(6010) => q(sig),
- q(6011) => q(sih),
- q(6012) => q(sii),
- q(6013) => q(sij),
- q(6014) => q(sik),
- q(6015) => q(sil),
- q(6016) => q(sim),
- q(6017) => q(sip),
- q(6018) => q(siq),
- q(6019) => q(sir),
- q(6020) => q(sis),
- q(6021) => q(siu),
- q(6022) => q(siv),
- q(6023) => q(siw),
- q(6024) => q(six),
- q(6025) => q(siy),
- q(6026) => q(siz),
- q(6027) => q(sja),
- q(6028) => q(sjb),
- q(6029) => q(sjd),
- q(6030) => q(sje),
- q(6031) => q(sjg),
- q(6032) => q(sjk),
- q(6033) => q(sjl),
- q(6034) => q(sjm),
- q(6035) => q(sjn),
- q(6036) => q(sjo),
- q(6037) => q(sjp),
- q(6038) => q(sjr),
- q(6039) => q(sjs),
- q(6040) => q(sjt),
- q(6041) => q(sju),
- q(6042) => q(sjw),
- q(6043) => q(ska),
- q(6044) => q(skb),
- q(6045) => q(skc),
- q(6046) => q(skd),
- q(6047) => q(ske),
- q(6048) => q(skf),
- q(6049) => q(skg),
- q(6050) => q(skh),
- q(6051) => q(ski),
- q(6052) => q(skj),
- q(6053) => q(skk),
- q(6054) => q(skm),
- q(6055) => q(skn),
- q(6056) => q(sko),
- q(6057) => q(skp),
- q(6058) => q(skq),
- q(6059) => q(skr),
- q(6060) => q(sks),
- q(6061) => q(skt),
- q(6062) => q(sku),
- q(6063) => q(skv),
- q(6064) => q(skw),
- q(6065) => q(skx),
- q(6066) => q(sky),
- q(6067) => q(skz),
- q(6068) => q(sld),
- q(6069) => q(sle),
- q(6070) => q(slf),
- q(6071) => q(slg),
- q(6072) => q(slh),
- q(6073) => q(sli),
- q(6074) => q(slj),
- q(6075) => q(sll),
- q(6076) => q(slm),
- q(6077) => q(sln),
- q(6078) => q(slp),
- q(6079) => q(slq),
- q(6080) => q(slr),
- q(6081) => q(sls),
- q(6082) => q(slt),
- q(6083) => q(slu),
- q(6084) => q(slw),
- q(6085) => q(slx),
- q(6086) => q(sly),
- q(6087) => q(slz),
- q(6088) => q(smb),
- q(6089) => q(smc),
- q(6090) => q(smd),
- q(6091) => q(smf),
- q(6092) => q(smg),
- q(6093) => q(smh),
- q(6094) => q(smk),
- q(6095) => q(sml),
- q(6096) => q(smm),
- q(6097) => q(smp),
- q(6098) => q(smq),
- q(6099) => q(smr),
- q(6100) => q(smt),
- q(6101) => q(smu),
- q(6102) => q(smv),
- q(6103) => q(smw),
- q(6104) => q(smx),
- q(6105) => q(smy),
- q(6106) => q(smz),
- q(6107) => q(snb),
- q(6108) => q(snc),
- q(6109) => q(sne),
- q(6110) => q(snf),
- q(6111) => q(sng),
- q(6112) => q(snh),
- q(6113) => q(sni),
- q(6114) => q(snj),
- q(6115) => q(snl),
- q(6116) => q(snm),
- q(6117) => q(snn),
- q(6118) => q(sno),
- q(6119) => q(snp),
- q(6120) => q(snq),
- q(6121) => q(snr),
- q(6122) => q(sns),
- q(6123) => q(snu),
- q(6124) => q(snv),
- q(6125) => q(snw),
- q(6126) => q(snx),
- q(6127) => q(sny),
- q(6128) => q(snz),
- q(6129) => q(soa),
- q(6130) => q(sob),
- q(6131) => q(soc),
- q(6132) => q(sod),
- q(6133) => q(soe),
- q(6134) => q(soh),
- q(6135) => q(soi),
- q(6136) => q(soj),
- q(6137) => q(sok),
- q(6138) => q(sol),
- q(6139) => q(soo),
- q(6140) => q(sop),
- q(6141) => q(soq),
- q(6142) => q(sor),
- q(6143) => q(sos),
- q(6144) => q(sou),
- q(6145) => q(sov),
- q(6146) => q(sow),
- q(6147) => q(sox),
- q(6148) => q(soy),
- q(6149) => q(soz),
- q(6150) => q(spb),
- q(6151) => q(spc),
- q(6152) => q(spd),
- q(6153) => q(spe),
- q(6154) => q(spg),
- q(6155) => q(spi),
- q(6156) => q(spk),
- q(6157) => q(spl),
- q(6158) => q(spm),
- q(6159) => q(spo),
- q(6160) => q(spp),
- q(6161) => q(spq),
- q(6162) => q(spr),
- q(6163) => q(sps),
- q(6164) => q(spt),
- q(6165) => q(spu),
- q(6166) => q(spv),
- q(6167) => q(spx),
- q(6168) => q(spy),
- q(6169) => q(sqa),
- q(6170) => q(sqh),
- q(6171) => q(sqk),
- q(6172) => q(sqm),
- q(6173) => q(sqn),
- q(6174) => q(sqo),
- q(6175) => q(sqq),
- q(6176) => q(sqr),
- q(6177) => q(sqs),
- q(6178) => q(sqt),
- q(6179) => q(squ),
- q(6180) => q(sra),
- q(6181) => q(srb),
- q(6182) => q(src),
- q(6183) => q(sre),
- q(6184) => q(srf),
- q(6185) => q(srg),
- q(6186) => q(srh),
- q(6187) => q(sri),
- q(6188) => q(srk),
- q(6189) => q(srl),
- q(6190) => q(srm),
- q(6191) => q(sro),
- q(6192) => q(srq),
- q(6193) => q(srs),
- q(6194) => q(srt),
- q(6195) => q(sru),
- q(6196) => q(srv),
- q(6197) => q(srw),
- q(6198) => q(srx),
- q(6199) => q(sry),
- q(6200) => q(srz),
- q(6201) => q(ssb),
- q(6202) => q(ssc),
- q(6203) => q(ssd),
- q(6204) => q(sse),
- q(6205) => q(ssf),
- q(6206) => q(ssg),
- q(6207) => q(ssh),
- q(6208) => q(ssi),
- q(6209) => q(ssj),
- q(6210) => q(ssk),
- q(6211) => q(ssl),
- q(6212) => q(ssm),
- q(6213) => q(ssn),
- q(6214) => q(sso),
- q(6215) => q(ssp),
- q(6216) => q(ssq),
- q(6217) => q(ssr),
- q(6218) => q(sss),
- q(6219) => q(sst),
- q(6220) => q(ssu),
- q(6221) => q(ssv),
- q(6222) => q(ssx),
- q(6223) => q(ssy),
- q(6224) => q(ssz),
- q(6225) => q(sta),
- q(6226) => q(stb),
- q(6227) => q(std),
- q(6228) => q(ste),
- q(6229) => q(stf),
- q(6230) => q(stg),
- q(6231) => q(sth),
- q(6232) => q(sti),
- q(6233) => q(stj),
- q(6234) => q(stk),
- q(6235) => q(stl),
- q(6236) => q(stm),
- q(6237) => q(stn),
- q(6238) => q(sto),
- q(6239) => q(stp),
- q(6240) => q(stq),
- q(6241) => q(str),
- q(6242) => q(sts),
- q(6243) => q(stt),
- q(6244) => q(stu),
- q(6245) => q(stv),
- q(6246) => q(stw),
- q(6247) => q(sua),
- q(6248) => q(sub),
- q(6249) => q(suc),
- q(6250) => q(sue),
- q(6251) => q(sug),
- q(6252) => q(sui),
- q(6253) => q(suj),
- q(6254) => q(suq),
- q(6255) => q(sur),
- q(6256) => q(sut),
- q(6257) => q(suv),
- q(6258) => q(suw),
- q(6259) => q(suy),
- q(6260) => q(suz),
- q(6261) => q(sva),
- q(6262) => q(svb),
- q(6263) => q(svc),
- q(6264) => q(sve),
- q(6265) => q(svk),
- q(6266) => q(svr),
- q(6267) => q(svs),
- q(6268) => q(svx),
- q(6269) => q(swb),
- q(6270) => q(swc),
- q(6271) => q(swf),
- q(6272) => q(swg),
- q(6273) => q(swh),
- q(6274) => q(swi),
- q(6275) => q(swj),
- q(6276) => q(swk),
- q(6277) => q(swl),
- q(6278) => q(swm),
- q(6279) => q(swn),
- q(6280) => q(swo),
- q(6281) => q(swp),
- q(6282) => q(swq),
- q(6283) => q(swr),
- q(6284) => q(sws),
- q(6285) => q(swt),
- q(6286) => q(swu),
- q(6287) => q(swv),
- q(6288) => q(sww),
- q(6289) => q(swx),
- q(6290) => q(swy),
- q(6291) => q(sxb),
- q(6292) => q(sxc),
- q(6293) => q(sxe),
- q(6294) => q(sxg),
- q(6295) => q(sxk),
- q(6296) => q(sxl),
- q(6297) => q(sxm),
- q(6298) => q(sxn),
- q(6299) => q(sxo),
- q(6300) => q(sxr),
- q(6301) => q(sxs),
- q(6302) => q(sxu),
- q(6303) => q(sxw),
- q(6304) => q(sya),
- q(6305) => q(syb),
- q(6306) => q(syi),
- q(6307) => q(syk),
- q(6308) => q(syl),
- q(6309) => q(sym),
- q(6310) => q(syn),
- q(6311) => q(syo),
- q(6312) => q(sys),
- q(6313) => q(syw),
- q(6314) => q(syy),
- q(6315) => q(sza),
- q(6316) => q(szb),
- q(6317) => q(szc),
- q(6318) => q(szd),
- q(6319) => q(sze),
- q(6320) => q(szg),
- q(6321) => q(szl),
- q(6322) => q(szn),
- q(6323) => q(szp),
- q(6324) => q(szv),
- q(6325) => q(szw),
- q(6326) => q(taa),
- q(6327) => q(tab),
- q(6328) => q(tac),
- q(6329) => q(tad),
- q(6330) => q(tae),
- q(6331) => q(taf),
- q(6332) => q(tag),
- q(6333) => q(taj),
- q(6334) => q(tak),
- q(6335) => q(tal),
- q(6336) => q(tan),
- q(6337) => q(tao),
- q(6338) => q(tap),
- q(6339) => q(taq),
- q(6340) => q(tar),
- q(6341) => q(tas),
- q(6342) => q(tau),
- q(6343) => q(tav),
- q(6344) => q(taw),
- q(6345) => q(tax),
- q(6346) => q(tay),
- q(6347) => q(taz),
- q(6348) => q(tba),
- q(6349) => q(tbb),
- q(6350) => q(tbc),
- q(6351) => q(tbd),
- q(6352) => q(tbe),
- q(6353) => q(tbf),
- q(6354) => q(tbg),
- q(6355) => q(tbh),
- q(6356) => q(tbi),
- q(6357) => q(tbj),
- q(6358) => q(tbk),
- q(6359) => q(tbl),
- q(6360) => q(tbm),
- q(6361) => q(tbn),
- q(6362) => q(tbo),
- q(6363) => q(tbp),
- q(6364) => q(tbr),
- q(6365) => q(tbs),
- q(6366) => q(tbt),
- q(6367) => q(tbu),
- q(6368) => q(tbv),
- q(6369) => q(tbw),
- q(6370) => q(tbx),
- q(6371) => q(tby),
- q(6372) => q(tbz),
- q(6373) => q(tca),
- q(6374) => q(tcb),
- q(6375) => q(tcc),
- q(6376) => q(tcd),
- q(6377) => q(tce),
- q(6378) => q(tcf),
- q(6379) => q(tcg),
- q(6380) => q(tch),
- q(6381) => q(wbf),
- q(6382) => q(tck),
- q(6383) => q(tcl),
- q(6384) => q(tcm),
- q(6385) => q(tcn),
- q(6386) => q(tco),
- q(6387) => q(tcp),
- q(6388) => q(tcq),
- q(6389) => q(tcs),
- q(6390) => q(tct),
- q(6391) => q(tcu),
- q(6392) => q(tcw),
- q(6393) => q(tcx),
- q(6394) => q(tcy),
- q(6395) => q(tcz),
- q(6396) => q(tda),
- q(6397) => q(tdb),
- q(6398) => q(tdc),
- q(6399) => q(tdd),
- q(6400) => q(tde),
- q(6401) => q(tdf),
- q(6402) => q(tdg),
- q(6403) => q(tdh),
- q(6404) => q(tdi),
- q(6405) => q(tdj),
- q(6406) => q(tdk),
- q(6407) => q(tdl),
- q(6408) => q(tdn),
- q(6409) => q(tdo),
- q(6410) => q(tdq),
- q(6411) => q(tdr),
- q(6412) => q(tds),
- q(6413) => q(tdt),
- q(6414) => q(tdu),
- q(6415) => q(tdv),
- q(6416) => q(tdx),
- q(6417) => q(tdy),
- q(6418) => q(tea),
- q(6419) => q(teb),
- q(6420) => q(tec),
- q(6421) => q(ted),
- q(6422) => q(tee),
- q(6423) => q(tef),
- q(6424) => q(teg),
- q(6425) => q(teh),
- q(6426) => q(tei),
- q(6427) => q(tek),
- q(6428) => q(ten),
- q(6429) => q(teo),
- q(6430) => q(tep),
- q(6431) => q(teq),
- q(6432) => q(tes),
- q(6433) => q(teu),
- q(6434) => q(tev),
- q(6435) => q(tew),
- q(6436) => q(tex),
- q(6437) => q(tey),
- q(6438) => q(tfi),
- q(6439) => q(tfn),
- q(6440) => q(tfo),
- q(6441) => q(tfr),
- q(6442) => q(tft),
- q(6443) => q(tga),
- q(6444) => q(tgb),
- q(6445) => q(tgc),
- q(6446) => q(tgd),
- q(6447) => q(tge),
- q(6448) => q(tgf),
- q(6449) => q(tgg),
- q(6450) => q(tgh),
- q(6451) => q(tgi),
- q(6452) => q(tgj),
- q(6453) => q(tgn),
- q(6454) => q(tgo),
- q(6455) => q(tgp),
- q(6456) => q(tgq),
- q(6457) => q(tgr),
- q(6458) => q(tgs),
- q(6459) => q(tgt),
- q(6460) => q(tgu),
- q(6461) => q(tgv),
- q(6462) => q(tgw),
- q(6463) => q(tgx),
- q(6464) => q(tgy),
- q(6465) => q(tgz),
- q(6466) => q(thc),
- q(6467) => q(thd),
- q(6468) => q(the),
- q(6469) => q(thf),
- q(6470) => q(thh),
- q(6471) => q(thi),
- q(6472) => q(thk),
- q(6473) => q(thl),
- q(6474) => q(thm),
- q(6475) => q(thn),
- q(6476) => q(thp),
- q(6477) => q(thq),
- q(6478) => q(thr),
- q(6479) => q(ths),
- q(6480) => q(tht),
- q(6481) => q(thu),
- q(6482) => q(thv),
- q(6483) => q(thw),
- q(6484) => q(thx),
- q(6485) => q(thy),
- q(6486) => q(thz),
- q(6487) => q(tia),
- q(6488) => q(tic),
- q(6489) => q(tid),
- q(6490) => q(tif),
- q(6491) => q(tih),
- q(6492) => q(tii),
- q(6493) => q(tij),
- q(6494) => q(tik),
- q(6495) => q(til),
- q(6496) => q(tim),
- q(6497) => q(tin),
- q(6498) => q(tio),
- q(6499) => q(tip),
- q(6500) => q(tiq),
- q(6501) => q(tis),
- q(6502) => q(tit),
- q(6503) => q(tiu),
- q(6504) => q(tiw),
- q(6505) => q(tix),
- q(6506) => q(tiy),
- q(6507) => q(tiz),
- q(6508) => q(tja),
- q(6509) => q(tjg),
- q(6510) => q(tji),
- q(6511) => q(tjl),
- q(6512) => q(tjm),
- q(6513) => q(tjn),
- q(6514) => q(tjo),
- q(6515) => q(tjs),
- q(6516) => q(tju),
- q(6517) => q(tka),
- q(6518) => q(tkb),
- q(6519) => q(tkd),
- q(6520) => q(tke),
- q(6521) => q(tkf),
- q(6522) => q(tkg),
- q(6523) => q(tkm),
- q(6524) => q(tkn),
- q(6525) => q(tkp),
- q(6526) => q(tkq),
- q(6527) => q(tkr),
- q(6528) => q(tks),
- q(6529) => q(tkt),
- q(6530) => q(tku),
- q(6531) => q(tkw),
- q(6532) => q(tkx),
- q(6533) => q(tkz),
- q(6534) => q(tla),
- q(6535) => q(tlb),
- q(6536) => q(tlc),
- q(6537) => q(tld),
- q(6538) => q(tlf),
- q(6539) => q(tlg),
- q(6540) => q(tlj),
- q(6541) => q(tlk),
- q(6542) => q(tll),
- q(6543) => q(tlm),
- q(6544) => q(tln),
- q(6545) => q(tlo),
- q(6546) => q(tlp),
- q(6547) => q(tlq),
- q(6548) => q(tlr),
- q(6549) => q(tls),
- q(6550) => q(tlt),
- q(6551) => q(tlu),
- q(6552) => q(tlv),
- q(6553) => q(tlx),
- q(6554) => q(tly),
- q(6555) => q(tma),
- q(6556) => q(tmb),
- q(6557) => q(tmc),
- q(6558) => q(tmd),
- q(6559) => q(tme),
- q(6560) => q(tmf),
- q(6561) => q(tmg),
- q(6562) => q(tmi),
- q(6563) => q(tmj),
- q(6564) => q(tmk),
- q(6565) => q(tml),
- q(6566) => q(tmm),
- q(6567) => q(tmn),
- q(6568) => q(tmo),
- q(6569) => q(tmp),
- q(6570) => q(tmq),
- q(6571) => q(tmr),
- q(6572) => q(tms),
- q(6573) => q(tmt),
- q(6574) => q(tmu),
- q(6575) => q(tmv),
- q(6576) => q(tmw),
- q(6577) => q(tmy),
- q(6578) => q(tmz),
- q(6579) => q(tna),
- q(6580) => q(tnb),
- q(6581) => q(tnc),
- q(6582) => q(tnd),
- q(6583) => q(tne),
- q(6584) => q(tng),
- q(6585) => q(tnh),
- q(6586) => q(tni),
- q(6587) => q(tnk),
- q(6588) => q(tnl),
- q(6589) => q(tnm),
- q(6590) => q(tnn),
- q(6591) => q(tno),
- q(6592) => q(tnp),
- q(6593) => q(tnq),
- q(6594) => q(tnr),
- q(6595) => q(tns),
- q(6596) => q(tnt),
- q(6597) => q(tnu),
- q(6598) => q(tnv),
- q(6599) => q(tnw),
- q(6600) => q(tnx),
- q(6601) => q(tny),
- q(6602) => q(tnz),
- q(6603) => q(tob),
- q(6604) => q(toc),
- q(6605) => q(tod),
- q(6606) => q(toe),
- q(6607) => q(tof),
- q(6608) => q(toh),
- q(6609) => q(toi),
- q(6610) => q(toj),
- q(6611) => q(tol),
- q(6612) => q(tom),
- q(6613) => q(too),
- q(6614) => q(top),
- q(6615) => q(toq),
- q(6616) => q(tor),
- q(6617) => q(tos),
- q(6618) => q(tou),
- q(6619) => q(tov),
- q(6620) => q(tow),
- q(6621) => q(tox),
- q(6622) => q(toy),
- q(6623) => q(toz),
- q(6624) => q(tpa),
- q(6625) => q(tpc),
- q(6626) => q(tpe),
- q(6627) => q(tpf),
- q(6628) => q(tpg),
- q(6629) => q(tpj),
- q(6630) => q(tpk),
- q(6631) => q(tpl),
- q(6632) => q(tpm),
- q(6633) => q(tpn),
- q(6634) => q(tpo),
- q(6635) => q(tpp),
- q(6636) => q(tpq),
- q(6637) => q(tpr),
- q(6638) => q(tpt),
- q(6639) => q(tpu),
- q(6640) => q(tpv),
- q(6641) => q(tpw),
- q(6642) => q(tpx),
- q(6643) => q(tpy),
- q(6644) => q(tpz),
- q(6645) => q(tqb),
- q(6646) => q(tql),
- q(6647) => q(tqm),
- q(6648) => q(tqn),
- q(6649) => q(tqo),
- q(6650) => q(tqp),
- q(6651) => q(tqq),
- q(6652) => q(tqr),
- q(6653) => q(tqt),
- q(6654) => q(tqu),
- q(6655) => q(tqw),
- q(6656) => q(tra),
- q(6657) => q(trb),
- q(6658) => q(trc),
- q(6659) => q(trd),
- q(6660) => q(tre),
- q(6661) => q(trf),
- q(6662) => q(trg),
- q(6663) => q(trh),
- q(6664) => q(tri),
- q(6665) => q(trj),
- q(6666) => q(trl),
- q(6667) => q(trm),
- q(6668) => q(trn),
- q(6669) => q(tro),
- q(6670) => q(trp),
- q(6671) => q(trq),
- q(6672) => q(trr),
- q(6673) => q(trs),
- q(6674) => q(trt),
- q(6675) => q(tru),
- q(6676) => q(trv),
- q(6677) => q(trw),
- q(6678) => q(trx),
- q(6679) => q(try),
- q(6680) => q(trz),
- q(6681) => q(tsa),
- q(6682) => q(tsb),
- q(6683) => q(tsc),
- q(6684) => q(tsd),
- q(6685) => q(tse),
- q(6686) => q(tsf),
- q(6687) => q(tsg),
- q(6688) => q(tsh),
- q(6689) => q(tsj),
- q(6690) => q(tsk),
- q(6691) => q(tsl),
- q(6692) => q(tsm),
- q(6693) => q(tsp),
- q(6694) => q(tsq),
- q(6695) => q(tsr),
- q(6696) => q(tss),
- q(6697) => q(tst),
- q(6698) => q(tsu),
- q(6699) => q(tsv),
- q(6700) => q(tsw),
- q(6701) => q(tsx),
- q(6702) => q(tsy),
- q(6703) => q(tsz),
- q(6704) => q(tta),
- q(6705) => q(ttb),
- q(6706) => q(ttc),
- q(6707) => q(ttd),
- q(6708) => q(tte),
- q(6709) => q(ttf),
- q(6710) => q(ttg),
- q(6711) => q(tth),
- q(6712) => q(tti),
- q(6713) => q(ttj),
- q(6714) => q(ttk),
- q(6715) => q(ttl),
- q(6716) => q(ttm),
- q(6717) => q(ttn),
- q(6718) => q(tto),
- q(6719) => q(ttp),
- q(6720) => q(ttq),
- q(6721) => q(ttr),
- q(6722) => q(tts),
- q(6723) => q(ttt),
- q(6724) => q(ttu),
- q(6725) => q(ttv),
- q(6726) => q(ttw),
- q(6727) => q(tty),
- q(6728) => q(ttz),
- q(6729) => q(tua),
- q(6730) => q(tub),
- q(6731) => q(tuc),
- q(6732) => q(tud),
- q(6733) => q(tue),
- q(6734) => q(tuf),
- q(6735) => q(tug),
- q(6736) => q(tuh),
- q(6737) => q(tui),
- q(6738) => q(tuj),
- q(6739) => q(tul),
- q(6740) => q(tun),
- q(6741) => q(tuo),
- q(6742) => q(tuq),
- q(6743) => q(tus),
- q(6744) => q(tuu),
- q(6745) => q(tuv),
- q(6746) => q(tux),
- q(6747) => q(tuy),
- q(6748) => q(tuz),
- q(6749) => q(tva),
- q(6750) => q(tvd),
- q(6751) => q(tve),
- q(6752) => q(tvk),
- q(6753) => q(tvm),
- q(6754) => q(tvn),
- q(6755) => q(tvo),
- q(6756) => q(tvs),
- q(6757) => q(tvt),
- q(6758) => q(tvu),
- q(6759) => q(tvw),
- q(6760) => q(tvy),
- q(6761) => q(twa),
- q(6762) => q(twb),
- q(6763) => q(twc),
- q(6764) => q(twd),
- q(6765) => q(twe),
- q(6766) => q(twf),
- q(6767) => q(twg),
- q(6768) => q(twh),
- q(6769) => q(twl),
- q(6770) => q(twm),
- q(6771) => q(twn),
- q(6772) => q(two),
- q(6773) => q(twp),
- q(6774) => q(twq),
- q(6775) => q(twr),
- q(6776) => q(twt),
- q(6777) => q(twu),
- q(6778) => q(tww),
- q(6779) => q(twx),
- q(6780) => q(twy),
- q(6781) => q(txa),
- q(6782) => q(txb),
- q(6783) => q(txc),
- q(6784) => q(txe),
- q(6785) => q(txg),
- q(6786) => q(txh),
- q(6787) => q(txi),
- q(6788) => q(txm),
- q(6789) => q(txn),
- q(6790) => q(txo),
- q(6791) => q(txq),
- q(6792) => q(txr),
- q(6793) => q(txs),
- q(6794) => q(txt),
- q(6795) => q(txu),
- q(6796) => q(txx),
- q(6797) => q(txy),
- q(6798) => q(tya),
- q(6799) => q(tye),
- q(6800) => q(tyh),
- q(6801) => q(tyi),
- q(6802) => q(tyj),
- q(6803) => q(tyl),
- q(6804) => q(tyn),
- q(6805) => q(typ),
- q(6806) => q(tyr),
- q(6807) => q(tys),
- q(6808) => q(tyt),
- q(6809) => q(tyu),
- q(6810) => q(tyx),
- q(6811) => q(tyz),
- q(6812) => q(tza),
- q(6813) => q(tzh),
- q(6814) => q(tzj),
- q(6815) => q(tzm),
- q(6816) => q(tzn),
- q(6817) => q(tzo),
- q(6818) => q(tzx),
- q(6819) => q(uam),
- q(6820) => q(uan),
- q(6821) => q(uar),
- q(6822) => q(uba),
- q(6823) => q(ubi),
- q(6824) => q(ubl),
- q(6825) => q(ubr),
- q(6826) => q(ubu),
- q(6827) => q(uby),
- q(6828) => q(uda),
- q(6829) => q(ude),
- q(6830) => q(udg),
- q(6831) => q(udi),
- q(6832) => q(udj),
- q(6833) => q(udl),
- q(6834) => q(udu),
- q(6835) => q(ues),
- q(6836) => q(ufi),
- q(6837) => q(ugb),
- q(6838) => q(uge),
- q(6839) => q(ugn),
- q(6840) => q(ugo),
- q(6841) => q(ugy),
- q(6842) => q(uha),
- q(6843) => q(uhn),
- q(6844) => q(uis),
- q(6845) => q(uiv),
- q(6846) => q(uji),
- q(6847) => q(uka),
- q(6848) => q(ukg),
- q(6849) => q(ukh),
- q(6850) => q(ukl),
- q(6851) => q(ukp),
- q(6852) => q(ukq),
- q(6853) => q(uks),
- q(6854) => q(uku),
- q(6855) => q(ukw),
- q(6856) => q(uky),
- q(6857) => q(ula),
- q(6858) => q(ulb),
- q(6859) => q(ulc),
- q(6860) => q(ulf),
- q(6861) => q(uli),
- q(6862) => q(ulk),
- q(6863) => q(ull),
- q(6864) => q(ulm),
- q(6865) => q(uln),
- q(6866) => q(ulu),
- q(6867) => q(ulw),
- q(6868) => q(uma),
- q(6869) => q(umc),
- q(6870) => q(umd),
- q(6871) => q(umg),
- q(6872) => q(umi),
- q(6873) => q(umm),
- q(6874) => q(umn),
- q(6875) => q(umo),
- q(6876) => q(ump),
- q(6877) => q(umr),
- q(6878) => q(ums),
- q(6879) => q(umu),
- q(6880) => q(una),
- q(6881) => q(une),
- q(6882) => q(ung),
- q(6883) => q(unk),
- q(6884) => q(unm),
- q(6885) => q(unr),
- q(6886) => q(unx),
- q(6887) => q(unz),
- q(6888) => q(uok),
- q(6889) => q(upi),
- q(6890) => q(upv),
- q(6891) => q(ura),
- q(6892) => q(urb),
- q(6893) => q(urc),
- q(6894) => q(ure),
- q(6895) => q(urf),
- q(6896) => q(urg),
- q(6897) => q(urh),
- q(6898) => q(uri),
- q(6899) => q(urk),
- q(6900) => q(url),
- q(6901) => q(urm),
- q(6902) => q(urn),
- q(6903) => q(uro),
- q(6904) => q(urp),
- q(6905) => q(urr),
- q(6906) => q(urt),
- q(6907) => q(uru),
- q(6908) => q(urv),
- q(6909) => q(urw),
- q(6910) => q(urx),
- q(6911) => q(ury),
- q(6912) => q(urz),
- q(6913) => q(usa),
- q(6914) => q(ush),
- q(6915) => q(usi),
- q(6916) => q(usk),
- q(6917) => q(usp),
- q(6918) => q(usu),
- q(6919) => q(uta),
- q(6920) => q(ute),
- q(6921) => q(utp),
- q(6922) => q(utr),
- q(6923) => q(utu),
- q(6924) => q(uum),
- q(6925) => q(uun),
- q(6926) => q(uur),
- q(6927) => q(uuu),
- q(6928) => q(uve),
- q(6929) => q(uvh),
- q(6930) => q(uvl),
- q(6931) => q(uwa),
- q(6932) => q(uya),
- q(6933) => q(uzn),
- q(6934) => q(uzs),
- q(6935) => q(vaa),
- q(6936) => q(vae),
- q(6937) => q(vaf),
- q(6938) => q(vag),
- q(6939) => q(vah),
- q(6940) => q(vaj),
- q(6941) => q(val),
- q(6942) => q(vam),
- q(6943) => q(van),
- q(6944) => q(vao),
- q(6945) => q(vap),
- q(6946) => q(var),
- q(6947) => q(vas),
- q(6948) => q(vau),
- q(6949) => q(vav),
- q(6950) => q(vay),
- q(6951) => q(vbb),
- q(6952) => q(vbk),
- q(6953) => q(vec),
- q(6954) => q(ved),
- q(6955) => q(vel),
- q(6956) => q(vem),
- q(6957) => q(veo),
- q(6958) => q(vep),
- q(6959) => q(ver),
- q(6960) => q(vgr),
- q(6961) => q(vgt),
- q(6962) => q(vic),
- q(6963) => q(vid),
- q(6964) => q(vif),
- q(6965) => q(vig),
- q(6966) => q(vil),
- q(6967) => q(vin),
- q(6968) => q(vis),
- q(6969) => q(vit),
- q(6970) => q(viv),
- q(6971) => q(vka),
- q(6972) => q(vki),
- q(6973) => q(vkj),
- q(6974) => q(vkk),
- q(6975) => q(vkl),
- q(6976) => q(vkm),
- q(6977) => q(vko),
- q(6978) => q(vkp),
- q(6979) => q(vkt),
- q(6980) => q(vku),
- q(6981) => q(vlp),
- q(6982) => q(vls),
- q(6983) => q(vma),
- q(6984) => q(vmb),
- q(6985) => q(vmc),
- q(6986) => q(vmd),
- q(6987) => q(vme),
- q(6988) => q(vmf),
- q(6989) => q(vmg),
- q(6990) => q(vmh),
- q(6991) => q(vmi),
- q(6992) => q(vmj),
- q(6993) => q(vmk),
- q(6994) => q(vml),
- q(6995) => q(vmm),
- q(6996) => q(vmp),
- q(6997) => q(vmq),
- q(6998) => q(vmr),
- q(6999) => q(vms),
- q(7000) => q(vmu),
- q(7001) => q(vmv),
- q(7002) => q(vmw),
- q(7003) => q(vmx),
- q(7004) => q(vmy),
- q(7005) => q(vmz),
- q(7006) => q(vnk),
- q(7007) => q(vnm),
- q(7008) => q(vnp),
- q(7009) => q(vro),
- q(7010) => q(vra),
- q(7011) => q(vrs),
- q(7012) => q(vrt),
- q(7013) => q(vsi),
- q(7014) => q(vsl),
- q(7015) => q(vsv),
- q(7016) => q(vto),
- q(7017) => q(vum),
- q(7018) => q(vun),
- q(7019) => q(vut),
- q(7020) => q(vwa),
- q(7021) => q(waa),
- q(7022) => q(wab),
- q(7023) => q(wac),
- q(7024) => q(wad),
- q(7025) => q(wae),
- q(7026) => q(waf),
- q(7027) => q(wag),
- q(7028) => q(wah),
- q(7029) => q(wai),
- q(7030) => q(waj),
- q(7031) => q(wam),
- q(7032) => q(wan),
- q(7033) => q(wao),
- q(7034) => q(wap),
- q(7035) => q(waq),
- q(7036) => q(wat),
- q(7037) => q(wau),
- q(7038) => q(wav),
- q(7039) => q(waw),
- q(7040) => q(wax),
- q(7041) => q(way),
- q(7042) => q(waz),
- q(7043) => q(wba),
- q(7044) => q(wbb),
- q(7045) => q(wbe),
- q(7046) => q(wbh),
- q(7047) => q(wbi),
- q(7048) => q(wbj),
- q(7049) => q(wbk),
- q(7050) => q(wbl),
- q(7051) => q(wbm),
- q(7052) => q(wbp),
- q(7053) => q(wbq),
- q(7054) => q(wbr),
- q(7055) => q(wbt),
- q(7056) => q(wbv),
- q(7057) => q(wbw),
- q(7058) => q(wca),
- q(7059) => q(wci),
- q(7060) => q(wdd),
- q(7061) => q(wdg),
- q(7062) => q(wdj),
- q(7063) => q(wdu),
- q(7064) => q(wea),
- q(7065) => q(wec),
- q(7066) => q(wed),
- q(7067) => q(weh),
- q(7068) => q(wei),
- q(7069) => q(wem),
- q(7070) => q(weo),
- q(7071) => q(wep),
- q(7072) => q(wer),
- q(7073) => q(wes),
- q(7074) => q(wet),
- q(7075) => q(weu),
- q(7076) => q(wew),
- q(7077) => q(wfg),
- q(7078) => q(wga),
- q(7079) => q(wgb),
- q(7080) => q(wgg),
- q(7081) => q(wgi),
- q(7082) => q(wgo),
- q(7083) => q(wgu),
- q(7084) => q(wgy),
- q(7085) => q(wha),
- q(7086) => q(whg),
- q(7087) => q(whk),
- q(7088) => q(whu),
- q(7089) => q(wib),
- q(7090) => q(wic),
- q(7091) => q(wie),
- q(7092) => q(wif),
- q(7093) => q(wig),
- q(7094) => q(wih),
- q(7095) => q(wii),
- q(7096) => q(wij),
- q(7097) => q(wik),
- q(7098) => q(wil),
- q(7099) => q(wim),
- q(7100) => q(win),
- q(7101) => q(wir),
- q(7102) => q(wit),
- q(7103) => q(wiu),
- q(7104) => q(wiv),
- q(7105) => q(wiy),
- q(7106) => q(wja),
- q(7107) => q(wji),
- q(7108) => q(wka),
- q(7109) => q(wkb),
- q(7110) => q(wkd),
- q(7111) => q(wkl),
- q(7112) => q(wku),
- q(7113) => q(wkw),
- q(7114) => q(wla),
- q(7115) => q(wlc),
- q(7116) => q(wle),
- q(7117) => q(wlg),
- q(7118) => q(wli),
- q(7119) => q(wlk),
- q(7120) => q(wll),
- q(7121) => q(wlm),
- q(7122) => q(wlo),
- q(7123) => q(wlr),
- q(7124) => q(wls),
- q(7125) => q(wlu),
- q(7126) => q(wlv),
- q(7127) => q(wlw),
- q(7128) => q(wlx),
- q(7129) => q(wly),
- q(7130) => q(wma),
- q(7131) => q(wmb),
- q(7132) => q(wmc),
- q(7133) => q(wmd),
- q(7134) => q(wme),
- q(7135) => q(wmh),
- q(7136) => q(wmi),
- q(7137) => q(wmm),
- q(7138) => q(wmn),
- q(7139) => q(wmo),
- q(7140) => q(wms),
- q(7141) => q(wmt),
- q(7142) => q(wmw),
- q(7143) => q(wmx),
- q(7144) => q(wnb),
- q(7145) => q(wnc),
- q(7146) => q(wnd),
- q(7147) => q(wne),
- q(7148) => q(wng),
- q(7149) => q(wni),
- q(7150) => q(wnk),
- q(7151) => q(wnm),
- q(7152) => q(wno),
- q(7153) => q(wnp),
- q(7154) => q(wnu),
- q(7155) => q(wny),
- q(7156) => q(woa),
- q(7157) => q(wob),
- q(7158) => q(woc),
- q(7159) => q(wod),
- q(7160) => q(woe),
- q(7161) => q(wof),
- q(7162) => q(wog),
- q(7163) => q(woi),
- q(7164) => q(wok),
- q(7165) => q(wom),
- q(7166) => q(won),
- q(7167) => q(woo),
- q(7168) => q(wor),
- q(7169) => q(wos),
- q(7170) => q(wow),
- q(7171) => q(woy),
- q(7172) => q(wpc),
- q(7173) => q(wra),
- q(7174) => q(wrb),
- q(7175) => q(wrd),
- q(7176) => q(wrg),
- q(7177) => q(wrh),
- q(7178) => q(wri),
- q(7179) => q(wrk),
- q(7180) => q(wrl),
- q(7181) => q(wrm),
- q(7182) => q(wrn),
- q(7183) => q(wro),
- q(7184) => q(wrp),
- q(7185) => q(wrr),
- q(7186) => q(wrs),
- q(7187) => q(wru),
- q(7188) => q(wrv),
- q(7189) => q(wrw),
- q(7190) => q(wrx),
- q(7191) => q(wry),
- q(7192) => q(wrz),
- q(7193) => q(wsa),
- q(7194) => q(wsi),
- q(7195) => q(wsk),
- q(7196) => q(wsr),
- q(7197) => q(wss),
- q(7198) => q(wsu),
- q(7199) => q(wsv),
- q(7200) => q(wtf),
- q(7201) => q(wti),
- q(7202) => q(wtk),
- q(7203) => q(wtm),
- q(7204) => q(wtw),
- q(7205) => q(wua),
- q(7206) => q(wub),
- q(7207) => q(wud),
- q(7208) => q(wuh),
- q(7209) => q(wul),
- q(7210) => q(wum),
- q(7211) => q(wun),
- q(7212) => q(wur),
- q(7213) => q(wut),
- q(7214) => q(wuu),
- q(7215) => q(wuv),
- q(7216) => q(wux),
- q(7217) => q(wuy),
- q(7218) => q(wwa),
- q(7219) => q(wwb),
- q(7220) => q(wwo),
- q(7221) => q(wwr),
- q(7222) => q(www),
- q(7223) => q(wxa),
- q(7224) => q(wya),
- q(7225) => q(wyb),
- q(7226) => q(wym),
- q(7227) => q(wyr),
- q(7228) => q(wyy),
- q(7229) => q(xaa),
- q(7230) => q(xab),
- q(7231) => q(xac),
- q(7232) => q(xad),
- q(7233) => q(xae),
- q(7234) => q(xag),
- q(7235) => q(xai),
- q(7236) => q(xam),
- q(7237) => q(xan),
- q(7238) => q(xao),
- q(7239) => q(xap),
- q(7240) => q(xaq),
- q(7241) => q(xar),
- q(7242) => q(xas),
- q(7243) => q(xat),
- q(7244) => q(xau),
- q(7245) => q(xav),
- q(7246) => q(xaw),
- q(7247) => q(xay),
- q(7248) => q(xba),
- q(7249) => q(xbb),
- q(7250) => q(xbc),
- q(7251) => q(xbi),
- q(7252) => q(xbm),
- q(7253) => q(xbn),
- q(7254) => q(xbo),
- q(7255) => q(xbr),
- q(7256) => q(xbw),
- q(7257) => q(xbx),
- q(7258) => q(xcb),
- q(7259) => q(xcc),
- q(7260) => q(xce),
- q(7261) => q(xcg),
- q(7262) => q(xch),
- q(7263) => q(xcl),
- q(7264) => q(xcm),
- q(7265) => q(xcn),
- q(7266) => q(xco),
- q(7267) => q(xcr),
- q(7268) => q(xct),
- q(7269) => q(xcu),
- q(7270) => q(xcv),
- q(7271) => q(xcw),
- q(7272) => q(xcy),
- q(7273) => q(xdc),
- q(7274) => q(xdm),
- q(7275) => q(xdy),
- q(7276) => q(xeb),
- q(7277) => q(xed),
- q(7278) => q(xeg),
- q(7279) => q(xel),
- q(7280) => q(xem),
- q(7281) => q(xep),
- q(7282) => q(xer),
- q(7283) => q(xes),
- q(7284) => q(xet),
- q(7285) => q(xeu),
- q(7286) => q(xfa),
- q(7287) => q(xga),
- q(7288) => q(xgb),
- q(7289) => q(xgf),
- q(7290) => q(xgl),
- q(7291) => q(xgr),
- q(7292) => q(xgu),
- q(7293) => q(xha),
- q(7294) => q(xhc),
- q(7295) => q(xhd),
- q(7296) => q(xhe),
- q(7297) => q(xhr),
- q(7298) => q(xht),
- q(7299) => q(xhu),
- q(7300) => q(xhv),
- q(7301) => q(xia),
- q(7302) => q(xib),
- q(7303) => q(xii),
- q(7304) => q(xil),
- q(7305) => q(xin),
- q(7306) => q(xip),
- q(7307) => q(xir),
- q(7308) => q(xiv),
- q(7309) => q(xiy),
- q(7310) => q(xka),
- q(7311) => q(xkb),
- q(7312) => q(xkc),
- q(7313) => q(xkd),
- q(7314) => q(xke),
- q(7315) => q(xkf),
- q(7316) => q(xkg),
- q(7317) => q(xkh),
- q(7318) => q(xki),
- q(7319) => q(xkj),
- q(7320) => q(xkk),
- q(7321) => q(xkl),
- q(7322) => q(xkn),
- q(7323) => q(xko),
- q(7324) => q(xkp),
- q(7325) => q(xkq),
- q(7326) => q(xkr),
- q(7327) => q(xks),
- q(7328) => q(xkt),
- q(7329) => q(xku),
- q(7330) => q(xkv),
- q(7331) => q(xkw),
- q(7332) => q(xkx),
- q(7333) => q(xky),
- q(7334) => q(xkz),
- q(7335) => q(xla),
- q(7336) => q(xlb),
- q(7337) => q(xlc),
- q(7338) => q(xld),
- q(7339) => q(xle),
- q(7340) => q(xlg),
- q(7341) => q(xli),
- q(7342) => q(xln),
- q(7343) => q(xlo),
- q(7344) => q(xlp),
- q(7345) => q(xls),
- q(7346) => q(xlu),
- q(7347) => q(xly),
- q(7348) => q(xma),
- q(7349) => q(xmb),
- q(7350) => q(xmc),
- q(7351) => q(xmd),
- q(7352) => q(xme),
- q(7353) => q(xmf),
- q(7354) => q(xmg),
- q(7355) => q(xmh),
- q(7356) => q(xmj),
- q(7357) => q(xmk),
- q(7358) => q(xml),
- q(7359) => q(xmm),
- q(7360) => q(xmn),
- q(7361) => q(xmo),
- q(7362) => q(xmp),
- q(7363) => q(xmq),
- q(7364) => q(xmr),
- q(7365) => q(xms),
- q(7366) => q(xmt),
- q(7367) => q(xmu),
- q(7368) => q(xmv),
- q(7369) => q(xmw),
- q(7370) => q(xmx),
- q(7371) => q(xmy),
- q(7372) => q(xmz),
- q(7373) => q(xna),
- q(7374) => q(xnb),
- q(7375) => q(xng),
- q(7376) => q(xnh),
- q(7377) => q(xnn),
- q(7378) => q(xno),
- q(7379) => q(xnr),
- q(7380) => q(xns),
- q(7381) => q(xnt),
- q(7382) => q(xnz),
- q(7383) => q(xoc),
- q(7384) => q(xod),
- q(7385) => q(xog),
- q(7386) => q(xoi),
- q(7387) => q(xok),
- q(7388) => q(xom),
- q(7389) => q(xon),
- q(7390) => q(xoo),
- q(7391) => q(xop),
- q(7392) => q(xor),
- q(7393) => q(xow),
- q(7394) => q(xpc),
- q(7395) => q(xpe),
- q(7396) => q(xpg),
- q(7397) => q(xpi),
- q(7398) => q(xpj),
- q(7399) => q(xpk),
- q(7400) => q(xpm),
- q(7401) => q(xpn),
- q(7402) => q(xpo),
- q(7403) => q(xpp),
- q(7404) => q(xpq),
- q(7405) => q(xpr),
- q(7406) => q(xps),
- q(7407) => q(xpu),
- q(7408) => q(xpy),
- q(7409) => q(xqa),
- q(7410) => q(xqt),
- q(7411) => q(xra),
- q(7412) => q(xrb),
- q(7413) => q(xre),
- q(7414) => q(xri),
- q(7415) => q(xrm),
- q(7416) => q(xrn),
- q(7417) => q(xrr),
- q(7418) => q(xrt),
- q(7419) => q(xru),
- q(7420) => q(xrw),
- q(7421) => q(xsa),
- q(7422) => q(xsb),
- q(7423) => q(xsc),
- q(7424) => q(xsd),
- q(7425) => q(xse),
- q(7426) => q(xsh),
- q(7427) => q(xsi),
- q(7428) => q(xsj),
- q(7429) => q(xsl),
- q(7430) => q(xsm),
- q(7431) => q(xsn),
- q(7432) => q(xso),
- q(7433) => q(xsp),
- q(7434) => q(xsq),
- q(7435) => q(xsr),
- q(7436) => q(xss),
- q(7437) => q(xsu),
- q(7438) => q(xsv),
- q(7439) => q(xsy),
- q(7440) => q(xta),
- q(7441) => q(xtb),
- q(7442) => q(xtc),
- q(7443) => q(xtd),
- q(7444) => q(xte),
- q(7445) => q(xtg),
- q(7446) => q(xti),
- q(7447) => q(xtj),
- q(7448) => q(xtl),
- q(7449) => q(xtm),
- q(7450) => q(xtn),
- q(7451) => q(xto),
- q(7452) => q(xtp),
- q(7453) => q(xtq),
- q(7454) => q(xtr),
- q(7455) => q(xts),
- q(7456) => q(xtt),
- q(7457) => q(xtu),
- q(7458) => q(xtw),
- q(7459) => q(xty),
- q(7460) => q(xtz),
- q(7461) => q(xua),
- q(7462) => q(xub),
- q(7463) => q(xud),
- q(7464) => q(xug),
- q(7465) => q(xuj),
- q(7466) => q(xum),
- q(7467) => q(xun),
- q(7468) => q(xuo),
- q(7469) => q(xup),
- q(7470) => q(xur),
- q(7471) => q(xut),
- q(7472) => q(xuu),
- q(7473) => q(xve),
- q(7474) => q(xvi),
- q(7475) => q(xvn),
- q(7476) => q(xvo),
- q(7477) => q(xvs),
- q(7478) => q(xwa),
- q(7479) => q(xwc),
- q(7480) => q(xwe),
- q(7481) => q(xwg),
- q(7482) => q(xwl),
- q(7483) => q(xwo),
- q(7484) => q(xwr),
- q(7485) => q(xxb),
- q(7486) => q(xxk),
- q(7487) => q(xxr),
- q(7488) => q(xxt),
- q(7489) => q(xyl),
- q(7490) => q(xyy),
- q(7491) => q(xzh),
- q(7492) => q(xzm),
- q(7493) => q(xzp),
- q(7494) => q(yaa),
- q(7495) => q(yab),
- q(7496) => q(yac),
- q(7497) => q(yad),
- q(7498) => q(yae),
- q(7499) => q(yaf),
- q(7500) => q(yag),
- q(7501) => q(yah),
- q(7502) => q(yai),
- q(7503) => q(yaj),
- q(7504) => q(yak),
- q(7505) => q(yal),
- q(7506) => q(yam),
- q(7507) => q(yan),
- q(7508) => q(yaq),
- q(7509) => q(yar),
- q(7510) => q(yas),
- q(7511) => q(yat),
- q(7512) => q(yau),
- q(7513) => q(yav),
- q(7514) => q(yaw),
- q(7515) => q(yax),
- q(7516) => q(yay),
- q(7517) => q(yaz),
- q(7518) => q(yba),
- q(7519) => q(ybb),
- q(7520) => q(ybe),
- q(7521) => q(ybh),
- q(7522) => q(ybi),
- q(7523) => q(ybj),
- q(7524) => q(ybk),
- q(7525) => q(ybl),
- q(7526) => q(ybm),
- q(7527) => q(ybn),
- q(7528) => q(ybo),
- q(7529) => q(ybx),
- q(7530) => q(yby),
- q(7531) => q(ych),
- q(7532) => q(ycl),
- q(7533) => q(ycn),
- q(7534) => q(ycp),
- q(7535) => q(ydd),
- q(7536) => q(yde),
- q(7537) => q(ydg),
- q(7538) => q(ydk),
- q(7539) => q(yds),
- q(7540) => q(yea),
- q(7541) => q(yec),
- q(7542) => q(yee),
- q(7543) => q(yei),
- q(7544) => q(yej),
- q(7545) => q(yel),
- q(7546) => q(yer),
- q(7547) => q(yes),
- q(7548) => q(yet),
- q(7549) => q(yeu),
- q(7550) => q(yev),
- q(7551) => q(yey),
- q(7552) => q(yga),
- q(7553) => q(ygl),
- q(7554) => q(ygm),
- q(7555) => q(ygp),
- q(7556) => q(ygr),
- q(7557) => q(ygw),
- q(7558) => q(yha),
- q(7559) => q(yhd),
- q(7560) => q(yhl),
- q(7561) => q(yia),
- q(7562) => q(yig),
- q(7563) => q(yih),
- q(7564) => q(yii),
- q(7565) => q(yij),
- q(7566) => q(yik),
- q(7567) => q(yil),
- q(7568) => q(yim),
- q(7569) => q(yin),
- q(7570) => q(yip),
- q(7571) => q(yiq),
- q(7572) => q(yir),
- q(7573) => q(yis),
- q(7574) => q(yit),
- q(7575) => q(yiu),
- q(7576) => q(yiv),
- q(7577) => q(yix),
- q(7578) => q(yiy),
- q(7579) => q(yiz),
- q(7580) => q(yka),
- q(7581) => q(ykg),
- q(7582) => q(yki),
- q(7583) => q(ykk),
- q(7584) => q(ykl),
- q(7585) => q(ykm),
- q(7586) => q(ykn),
- q(7587) => q(yko),
- q(7588) => q(ykr),
- q(7589) => q(ykt),
- q(7590) => q(yku),
- q(7591) => q(yky),
- q(7592) => q(yla),
- q(7593) => q(ylb),
- q(7594) => q(yle),
- q(7595) => q(ylg),
- q(7596) => q(yli),
- q(7597) => q(yll),
- q(7598) => q(ylm),
- q(7599) => q(yln),
- q(7600) => q(ylo),
- q(7601) => q(ylr),
- q(7602) => q(ylu),
- q(7603) => q(yly),
- q(7604) => q(ymb),
- q(7605) => q(ymc),
- q(7606) => q(ymd),
- q(7607) => q(yme),
- q(7608) => q(ymg),
- q(7609) => q(ymh),
- q(7610) => q(ymi),
- q(7611) => q(ymk),
- q(7612) => q(yml),
- q(7613) => q(ymm),
- q(7614) => q(ymn),
- q(7615) => q(ymo),
- q(7616) => q(ymp),
- q(7617) => q(ymq),
- q(7618) => q(ymr),
- q(7619) => q(yms),
- q(7620) => q(ymt),
- q(7621) => q(ymx),
- q(7622) => q(ymz),
- q(7623) => q(yna),
- q(7624) => q(ynd),
- q(7625) => q(yne),
- q(7626) => q(yng),
- q(7627) => q(ynh),
- q(7628) => q(ynk),
- q(7629) => q(ynl),
- q(7630) => q(ynn),
- q(7631) => q(yno),
- q(7632) => q(ynq),
- q(7633) => q(yns),
- q(7634) => q(ynu),
- q(7635) => q(yob),
- q(7636) => q(yog),
- q(7637) => q(yoi),
- q(7638) => q(yok),
- q(7639) => q(yol),
- q(7640) => q(yom),
- q(7641) => q(yon),
- q(7642) => q(yos),
- q(7643) => q(yot),
- q(7644) => q(yox),
- q(7645) => q(yoy),
- q(7646) => q(ypa),
- q(7647) => q(ypb),
- q(7648) => q(ypg),
- q(7649) => q(yph),
- q(7650) => q(ypm),
- q(7651) => q(ypn),
- q(7652) => q(ypo),
- q(7653) => q(ypp),
- q(7654) => q(ypz),
- q(7655) => q(yra),
- q(7656) => q(yrb),
- q(7657) => q(yre),
- q(7658) => q(yri),
- q(7659) => q(yrk),
- q(7660) => q(yrl),
- q(7661) => q(yrn),
- q(7662) => q(yrs),
- q(7663) => q(yrw),
- q(7664) => q(ysc),
- q(7665) => q(ysd),
- q(7666) => q(ysg),
- q(7667) => q(ysl),
- q(7668) => q(ysn),
- q(7669) => q(yso),
- q(7670) => q(ysp),
- q(7671) => q(ysr),
- q(7672) => q(yss),
- q(7673) => q(ysy),
- q(7674) => q(yta),
- q(7675) => q(ytl),
- q(7676) => q(ytp),
- q(7677) => q(ytw),
- q(7678) => q(yua),
- q(7679) => q(yub),
- q(7680) => q(yuc),
- q(7681) => q(yud),
- q(7682) => q(yue),
- q(7683) => q(yuf),
- q(7684) => q(yug),
- q(7685) => q(yui),
- q(7686) => q(yuj),
- q(7687) => q(yuk),
- q(7688) => q(yul),
- q(7689) => q(yum),
- q(7690) => q(yun),
- q(7691) => q(yup),
- q(7692) => q(yuq),
- q(7693) => q(yur),
- q(7694) => q(yut),
- q(7695) => q(yuu),
- q(7696) => q(yuw),
- q(7697) => q(yux),
- q(7698) => q(yuy),
- q(7699) => q(yuz),
- q(7700) => q(yva),
- q(7701) => q(yvt),
- q(7702) => q(ywa),
- q(7703) => q(ywl),
- q(7704) => q(ywn),
- q(7705) => q(ywq),
- q(7706) => q(ywr),
- q(7707) => q(ywt),
- q(7708) => q(ywu),
- q(7709) => q(yww),
- q(7710) => q(yxg),
- q(7711) => q(yxy),
- q(7712) => q(yyu),
- q(7713) => q(yyz),
- q(7714) => q(yzg),
- q(7715) => q(yzk),
- q(7716) => q(zaa),
- q(7717) => q(zab),
- q(7718) => q(zac),
- q(7719) => q(zad),
- q(7720) => q(zae),
- q(7721) => q(zaf),
- q(7722) => q(zag),
- q(7723) => q(zah),
- q(7724) => q(zai),
- q(7725) => q(zaj),
- q(7726) => q(zak),
- q(7727) => q(zal),
- q(7728) => q(zam),
- q(7729) => q(zao),
- q(7730) => q(zaq),
- q(7731) => q(zar),
- q(7732) => q(zas),
- q(7733) => q(zat),
- q(7734) => q(zau),
- q(7735) => q(zav),
- q(7736) => q(zaw),
- q(7737) => q(zax),
- q(7738) => q(zay),
- q(7739) => q(zaz),
- q(7740) => q(zbc),
- q(7741) => q(zbe),
- q(7742) => q(zbt),
- q(7743) => q(zbw),
- q(7744) => q(zca),
- q(7745) => q(zch),
- q(7746) => q(zdj),
- q(7747) => q(zea),
- q(7748) => q(zeg),
- q(7749) => q(zeh),
- q(7750) => q(zga),
- q(7751) => q(zgb),
- q(7752) => q(zgm),
- q(7753) => q(zgn),
- q(7754) => q(zgr),
- q(7755) => q(zhb),
- q(7756) => q(zhd),
- q(7757) => q(zhi),
- q(7758) => q(zhn),
- q(7759) => q(zhw),
- q(7760) => q(zia),
- q(7761) => q(zib),
- q(7762) => q(zik),
- q(7763) => q(zil),
- q(7764) => q(zim),
- q(7765) => q(zin),
- q(7766) => q(zir),
- q(7767) => q(ziw),
- q(7768) => q(ziz),
- q(7769) => q(zka),
- q(7770) => q(zkb),
- q(7771) => q(zkd),
- q(7772) => q(zkg),
- q(7773) => q(zkh),
- q(7774) => q(zkk),
- q(7775) => q(zkn),
- q(7776) => q(zko),
- q(7777) => q(zkp),
- q(7778) => q(zkr),
- q(7779) => q(zkt),
- q(7780) => q(zku),
- q(7781) => q(zkv),
- q(7782) => q(zkz),
- q(7783) => q(zlj),
- q(7784) => q(zlm),
- q(7785) => q(zln),
- q(7786) => q(zlq),
- q(7787) => q(zma),
- q(7788) => q(zmb),
- q(7789) => q(zmc),
- q(7790) => q(zmd),
- q(7791) => q(zme),
- q(7792) => q(zmf),
- q(7793) => q(zmg),
- q(7794) => q(zmh),
- q(7795) => q(zmi),
- q(7796) => q(zmj),
- q(7797) => q(zmk),
- q(7798) => q(zml),
- q(7799) => q(zmm),
- q(7800) => q(zmn),
- q(7801) => q(zmo),
- q(7802) => q(zmp),
- q(7803) => q(zmq),
- q(7804) => q(zmr),
- q(7805) => q(zms),
- q(7806) => q(zmt),
- q(7807) => q(zmu),
- q(7808) => q(zmv),
- q(7809) => q(zmw),
- q(7810) => q(zmx),
- q(7811) => q(zmy),
- q(7812) => q(zmz),
- q(7813) => q(zna),
- q(7814) => q(zne),
- q(7815) => q(zng),
- q(7816) => q(znk),
- q(7817) => q(zns),
- q(7818) => q(zoc),
- q(7819) => q(zoh),
- q(7820) => q(zom),
- q(7821) => q(zoo),
- q(7822) => q(zoq),
- q(7823) => q(zor),
- q(7824) => q(zos),
- q(7825) => q(zpa),
- q(7826) => q(zpb),
- q(7827) => q(zpc),
- q(7828) => q(zpd),
- q(7829) => q(zpe),
- q(7830) => q(zpf),
- q(7831) => q(zpg),
- q(7832) => q(zph),
- q(7833) => q(zpi),
- q(7834) => q(zpj),
- q(7835) => q(zpk),
- q(7836) => q(zpl),
- q(7837) => q(zpm),
- q(7838) => q(zpn),
- q(7839) => q(zpo),
- q(7840) => q(zpp),
- q(7841) => q(zpq),
- q(7842) => q(zpr),
- q(7843) => q(zps),
- q(7844) => q(zpt),
- q(7845) => q(zpu),
- q(7846) => q(zpv),
- q(7847) => q(zpw),
- q(7848) => q(zpx),
- q(7849) => q(zpy),
- q(7850) => q(zpz),
- q(7851) => q(zqe),
- q(7852) => q(zra),
- q(7853) => q(zrg),
- q(7854) => q(zrn),
- q(7855) => q(zro),
- q(7856) => q(zrp),
- q(7857) => q(zrs),
- q(7858) => q(zsa),
- q(7859) => q(zsk),
- q(7860) => q(zsl),
- q(7861) => q(zsm),
- q(7862) => q(zsr),
- q(7863) => q(zsu),
- q(7864) => q(zte),
- q(7865) => q(ztg),
- q(7866) => q(ztl),
- q(7867) => q(ztm),
- q(7868) => q(ztn),
- q(7869) => q(ztp),
- q(7870) => q(ztq),
- q(7871) => q(zts),
- q(7872) => q(ztt),
- q(7873) => q(ztu),
- q(7874) => q(ztx),
- q(7875) => q(zty),
- q(7876) => q(zua),
- q(7877) => q(zuh),
- q(7878) => q(zum),
- q(7879) => q(zuy),
- q(7880) => q(zwa),
- q(7881) => q(zyb),
- q(7882) => q(zyg),
- q(7883) => q(zyj),
- q(7884) => q(zyn),
- q(7885) => q(zyp),
- q(7886) => q(zzj),
+ q(0991) => q(axl),
+ q(0992) => q(axm),
+ q(0993) => q(axx),
+ q(0994) => q(aya),
+ q(0995) => q(ayb),
+ q(0996) => q(ayc),
+ q(0997) => q(ayd),
+ q(0998) => q(aye),
+ q(0999) => q(ayg),
+ q(1000) => q(ayh),
+ q(1001) => q(ayi),
+ q(1002) => q(ayk),
+ q(1003) => q(ayl),
+ q(1004) => q(ayn),
+ q(1005) => q(ayo),
+ q(1006) => q(ayp),
+ q(1007) => q(ayq),
+ q(1008) => q(ayr),
+ q(1009) => q(ays),
+ q(1010) => q(ayt),
+ q(1011) => q(ayu),
+ q(1012) => q(ayy),
+ q(1013) => q(ayz),
+ q(1014) => q(aza),
+ q(1015) => q(azb),
+ q(1016) => q(azd),
+ q(1017) => q(azg),
+ q(1018) => q(azj),
+ q(1019) => q(azm),
+ q(1020) => q(azn),
+ q(1021) => q(azo),
+ q(1022) => q(azt),
+ q(1023) => q(azz),
+ q(1024) => q(baa),
+ q(1025) => q(bab),
+ q(1026) => q(bac),
+ q(1027) => q(bae),
+ q(1028) => q(baf),
+ q(1029) => q(bag),
+ q(1030) => q(bah),
+ q(1031) => q(baj),
+ q(1032) => q(bao),
+ q(1033) => q(bap),
+ q(1034) => q(bar),
+ q(1035) => q(bau),
+ q(1036) => q(bav),
+ q(1037) => q(baw),
+ q(1038) => q(bax),
+ q(1039) => q(bay),
+ q(1040) => q(bba),
+ q(1041) => q(bbb),
+ q(1042) => q(bbc),
+ q(1043) => q(bbd),
+ q(1044) => q(bbe),
+ q(1045) => q(bbf),
+ q(1046) => q(bbg),
+ q(1047) => q(bbh),
+ q(1048) => q(bbi),
+ q(1049) => q(bbj),
+ q(1050) => q(bbk),
+ q(1051) => q(bbl),
+ q(1052) => q(bbm),
+ q(1053) => q(bbn),
+ q(1054) => q(bbo),
+ q(1055) => q(bbp),
+ q(1056) => q(bbq),
+ q(1057) => q(bbr),
+ q(1058) => q(bbs),
+ q(1059) => q(bbt),
+ q(1060) => q(bbu),
+ q(1061) => q(bbv),
+ q(1062) => q(bbw),
+ q(1063) => q(bbx),
+ q(1064) => q(bby),
+ q(1065) => q(bbz),
+ q(1066) => q(bca),
+ q(1067) => q(bcb),
+ q(1068) => q(bcc),
+ q(1069) => q(bcd),
+ q(1070) => q(bce),
+ q(1071) => q(bcf),
+ q(1072) => q(bcg),
+ q(1073) => q(bch),
+ q(1074) => q(bci),
+ q(1075) => q(bcj),
+ q(1076) => q(bck),
+ q(1077) => q(bcl),
+ q(1078) => q(bcm),
+ q(1079) => q(bcn),
+ q(1080) => q(bco),
+ q(1081) => q(bcp),
+ q(1082) => q(bcq),
+ q(1083) => q(bcr),
+ q(1084) => q(bcs),
+ q(1085) => q(bct),
+ q(1086) => q(bcu),
+ q(1087) => q(bcv),
+ q(1088) => q(bcw),
+ q(1089) => q(bcy),
+ q(1090) => q(bcz),
+ q(1091) => q(bda),
+ q(1092) => q(bdb),
+ q(1093) => q(bdc),
+ q(1094) => q(bdd),
+ q(1095) => q(bde),
+ q(1096) => q(bdf),
+ q(1097) => q(bdg),
+ q(1098) => q(bdh),
+ q(1099) => q(bdi),
+ q(1100) => q(bdj),
+ q(1101) => q(bdk),
+ q(1102) => q(bdl),
+ q(1103) => q(bdm),
+ q(1104) => q(bdn),
+ q(1105) => q(bdo),
+ q(1106) => q(bdp),
+ q(1107) => q(bdq),
+ q(1108) => q(bdr),
+ q(1109) => q(bds),
+ q(1110) => q(bdt),
+ q(1111) => q(bdu),
+ q(1112) => q(bdv),
+ q(1113) => q(bdw),
+ q(1114) => q(bdx),
+ q(1115) => q(bdy),
+ q(1116) => q(bdz),
+ q(1117) => q(bea),
+ q(1118) => q(beb),
+ q(1119) => q(bec),
+ q(1120) => q(bed),
+ q(1121) => q(bee),
+ q(1122) => q(bef),
+ q(1123) => q(beg),
+ q(1124) => q(beh),
+ q(1125) => q(bei),
+ q(1126) => q(bek),
+ q(1127) => q(beo),
+ q(1128) => q(bep),
+ q(1129) => q(beq),
+ q(1130) => q(bes),
+ q(1131) => q(bet),
+ q(1132) => q(beu),
+ q(1133) => q(bev),
+ q(1134) => q(bew),
+ q(1135) => q(bex),
+ q(1136) => q(bey),
+ q(1137) => q(bez),
+ q(1138) => q(mot),
+ q(1139) => q(bfb),
+ q(1140) => q(bfc),
+ q(1141) => q(bfd),
+ q(1142) => q(bfe),
+ q(1143) => q(bff),
+ q(1144) => q(bfg),
+ q(1145) => q(bfh),
+ q(1146) => q(bfi),
+ q(1147) => q(bfj),
+ q(1148) => q(bfk),
+ q(1149) => q(bfl),
+ q(1150) => q(bfm),
+ q(1151) => q(bfn),
+ q(1152) => q(bfo),
+ q(1153) => q(bfp),
+ q(1154) => q(bfq),
+ q(1155) => q(bfr),
+ q(1156) => q(bfs),
+ q(1157) => q(bft),
+ q(1158) => q(bfu),
+ q(1159) => q(bfw),
+ q(1160) => q(bfx),
+ q(1161) => q(bfy),
+ q(1162) => q(bfz),
+ q(1163) => q(bga),
+ q(1164) => q(bgb),
+ q(1165) => q(bgc),
+ q(1166) => q(bgd),
+ q(1167) => q(bge),
+ q(1168) => q(bgf),
+ q(1169) => q(bgg),
+ q(1170) => q(bgi),
+ q(1171) => q(bgj),
+ q(1172) => q(bgk),
+ q(1173) => q(bgl),
+ q(1174) => q(bgm),
+ q(1175) => q(bgn),
+ q(1176) => q(bgo),
+ q(1177) => q(bgp),
+ q(1178) => q(bgq),
+ q(1179) => q(bgr),
+ q(1180) => q(bgs),
+ q(1181) => q(bgt),
+ q(1182) => q(bgu),
+ q(1183) => q(bgv),
+ q(1184) => q(bgw),
+ q(1185) => q(bgx),
+ q(1186) => q(bgy),
+ q(1187) => q(bgz),
+ q(1188) => q(bha),
+ q(1189) => q(bhb),
+ q(1190) => q(bhc),
+ q(1191) => q(bhd),
+ q(1192) => q(bhe),
+ q(1193) => q(bhf),
+ q(1194) => q(bhg),
+ q(1195) => q(bhh),
+ q(1196) => q(bhi),
+ q(1197) => q(bhj),
+ q(1198) => q(bhl),
+ q(1199) => q(bhm),
+ q(1200) => q(bhn),
+ q(1201) => q(bhp),
+ q(1202) => q(bhq),
+ q(1203) => q(bhr),
+ q(1204) => q(bhs),
+ q(1205) => q(bht),
+ q(1206) => q(bhu),
+ q(1207) => q(bhv),
+ q(1208) => q(bhw),
+ q(1209) => q(bhx),
+ q(1210) => q(bhy),
+ q(1211) => q(bhz),
+ q(1212) => q(bia),
+ q(1213) => q(bib),
+ q(1214) => q(bic),
+ q(1215) => q(bid),
+ q(1216) => q(bie),
+ q(1217) => q(bif),
+ q(1218) => q(big),
+ q(1219) => q(bij),
+ q(1220) => q(bil),
+ q(1221) => q(bim),
+ q(1222) => q(bio),
+ q(1223) => q(bip),
+ q(1224) => q(biq),
+ q(1225) => q(bir),
+ q(1226) => q(bit),
+ q(1227) => q(biu),
+ q(1228) => q(biv),
+ q(1229) => q(biw),
+ q(1230) => q(bix),
+ q(1231) => q(biy),
+ q(1232) => q(biz),
+ q(1233) => q(bja),
+ q(1234) => q(bjb),
+ q(1235) => q(bjc),
+ q(1236) => q(bje),
+ q(1237) => q(bjf),
+ q(1238) => q(bjg),
+ q(1239) => q(bjh),
+ q(1240) => q(bji),
+ q(1241) => q(bjj),
+ q(1242) => q(bjk),
+ q(1243) => q(bjl),
+ q(1244) => q(bjm),
+ q(1245) => q(bjn),
+ q(1246) => q(bjo),
+ q(1247) => q(bjp),
+ q(1248) => q(bjr),
+ q(1249) => q(bjs),
+ q(1250) => q(bjt),
+ q(1251) => q(bju),
+ q(1252) => q(bjv),
+ q(1253) => q(bjw),
+ q(1254) => q(bjx),
+ q(1255) => q(bjy),
+ q(1256) => q(bjz),
+ q(1257) => q(bka),
+ q(1258) => q(bkc),
+ q(1259) => q(bkd),
+ q(1260) => q(bkf),
+ q(1261) => q(bkg),
+ q(1262) => q(bkh),
+ q(1263) => q(bki),
+ q(1264) => q(bkj),
+ q(1265) => q(bkk),
+ q(1266) => q(bkl),
+ q(1267) => q(bkm),
+ q(1268) => q(bkn),
+ q(1269) => q(bko),
+ q(1270) => q(bkp),
+ q(1271) => q(bkq),
+ q(1272) => q(bkr),
+ q(1273) => q(bks),
+ q(1274) => q(bkt),
+ q(1275) => q(bku),
+ q(1276) => q(bkv),
+ q(1277) => q(bkw),
+ q(1278) => q(bkx),
+ q(1279) => q(bky),
+ q(1280) => q(bkz),
+ q(1281) => q(blb),
+ q(1282) => q(blc),
+ q(1283) => q(bld),
+ q(1284) => q(ble),
+ q(1285) => q(blf),
+ q(1286) => q(blg),
+ q(1287) => q(blh),
+ q(1288) => q(bli),
+ q(1289) => q(blj),
+ q(1290) => q(blk),
+ q(1291) => q(bll),
+ q(1292) => q(blm),
+ q(1293) => q(bln),
+ q(1294) => q(blo),
+ q(1295) => q(blp),
+ q(1296) => q(blq),
+ q(1297) => q(blr),
+ q(1298) => q(bls),
+ q(1299) => q(blt),
+ q(1300) => q(blv),
+ q(1301) => q(blw),
+ q(1302) => q(blx),
+ q(1303) => q(bly),
+ q(1304) => q(blz),
+ q(1305) => q(bma),
+ q(1306) => q(bmb),
+ q(1307) => q(bmc),
+ q(1308) => q(bmd),
+ q(1309) => q(bme),
+ q(1310) => q(bmf),
+ q(1311) => q(bmg),
+ q(1312) => q(bmh),
+ q(1313) => q(bmi),
+ q(1314) => q(bmj),
+ q(1315) => q(bmk),
+ q(1316) => q(bml),
+ q(1317) => q(bmm),
+ q(1318) => q(bmn),
+ q(1319) => q(bmo),
+ q(1320) => q(bmp),
+ q(1321) => q(bmq),
+ q(1322) => q(bmr),
+ q(1323) => q(bms),
+ q(1324) => q(bmt),
+ q(1325) => q(bmu),
+ q(1326) => q(bmv),
+ q(1327) => q(bmw),
+ q(1328) => q(bmx),
+ q(1329) => q(bmy),
+ q(1330) => q(bmz),
+ q(1331) => q(bna),
+ q(1332) => q(bnb),
+ q(1333) => q(bnc),
+ q(1334) => q(bnd),
+ q(1335) => q(bne),
+ q(1336) => q(bnf),
+ q(1337) => q(bng),
+ q(1338) => q(bni),
+ q(1339) => q(bnj),
+ q(1340) => q(bnk),
+ q(1341) => q(bnl),
+ q(1342) => q(bnm),
+ q(1343) => q(bnn),
+ q(1344) => q(bno),
+ q(1345) => q(bnp),
+ q(1346) => q(bnq),
+ q(1347) => q(bnr),
+ q(1348) => q(bns),
+ q(1349) => q(bnu),
+ q(1350) => q(bnv),
+ q(1351) => q(bnw),
+ q(1352) => q(bnx),
+ q(1353) => q(bny),
+ q(1354) => q(bnz),
+ q(1355) => q(boa),
+ q(1356) => q(bob),
+ q(1357) => q(boe),
+ q(1358) => q(bof),
+ q(1359) => q(bog),
+ q(1360) => q(boh),
+ q(1361) => q(boi),
+ q(1362) => q(boj),
+ q(1363) => q(bok),
+ q(1364) => q(bol),
+ q(1365) => q(bom),
+ q(1366) => q(bon),
+ q(1367) => q(boo),
+ q(1368) => q(bop),
+ q(1369) => q(boq),
+ q(1370) => q(bor),
+ q(1371) => q(bot),
+ q(1372) => q(bou),
+ q(1373) => q(bov),
+ q(1374) => q(bow),
+ q(1375) => q(box),
+ q(1376) => q(boy),
+ q(1377) => q(boz),
+ q(1378) => q(bpa),
+ q(1379) => q(bpb),
+ q(1380) => q(bpd),
+ q(1381) => q(bpg),
+ q(1382) => q(bph),
+ q(1383) => q(bpi),
+ q(1384) => q(bpj),
+ q(1385) => q(bpk),
+ q(1386) => q(bpl),
+ q(1387) => q(bpm),
+ q(1388) => q(bpn),
+ q(1389) => q(bpo),
+ q(1390) => q(bpp),
+ q(1391) => q(bpq),
+ q(1392) => q(bpr),
+ q(1393) => q(bps),
+ q(1394) => q(bpt),
+ q(1395) => q(bpu),
+ q(1396) => q(bpv),
+ q(1397) => q(bpw),
+ q(1398) => q(bpx),
+ q(1399) => q(bpy),
+ q(1400) => q(bpz),
+ q(1401) => q(bqa),
+ q(1402) => q(bqb),
+ q(1403) => q(bqc),
+ q(1404) => q(bqd),
+ q(1405) => q(bqf),
+ q(1406) => q(bqg),
+ q(1407) => q(bqh),
+ q(1408) => q(bqi),
+ q(1409) => q(bqj),
+ q(1410) => q(bqk),
+ q(1411) => q(bql),
+ q(1412) => q(bqm),
+ q(1413) => q(bqn),
+ q(1414) => q(bqo),
+ q(1415) => q(bqp),
+ q(1416) => q(bqq),
+ q(1417) => q(bqr),
+ q(1418) => q(bqs),
+ q(1419) => q(bqt),
+ q(1420) => q(bqu),
+ q(1421) => q(bqv),
+ q(1422) => q(bqw),
+ q(1423) => q(bqx),
+ q(1424) => q(bqy),
+ q(1425) => q(bqz),
+ q(1426) => q(brb),
+ q(1427) => q(brc),
+ q(1428) => q(brd),
+ q(1429) => q(brf),
+ q(1430) => q(brg),
+ q(1431) => q(brh),
+ q(1432) => q(bri),
+ q(1433) => q(brj),
+ q(1434) => q(brk),
+ q(1435) => q(brl),
+ q(1436) => q(brm),
+ q(1437) => q(brn),
+ q(1438) => q(bro),
+ q(1439) => q(brp),
+ q(1440) => q(brq),
+ q(1441) => q(brr),
+ q(1442) => q(brs),
+ q(1443) => q(brt),
+ q(1444) => q(bru),
+ q(1445) => q(brv),
+ q(1446) => q(brw),
+ q(1447) => q(brx),
+ q(1448) => q(bry),
+ q(1449) => q(brz),
+ q(1450) => q(bsa),
+ q(1451) => q(bsb),
+ q(1452) => q(bsc),
+ q(1453) => q(bse),
+ q(1454) => q(bsf),
+ q(1455) => q(bsg),
+ q(1456) => q(bsh),
+ q(1457) => q(bsi),
+ q(1458) => q(bsj),
+ q(1459) => q(bsk),
+ q(1460) => q(bsl),
+ q(1461) => q(bsm),
+ q(1462) => q(bsn),
+ q(1463) => q(bso),
+ q(1464) => q(bsp),
+ q(1465) => q(bsq),
+ q(1466) => q(bsr),
+ q(1467) => q(bss),
+ q(1468) => q(bst),
+ q(1469) => q(bsu),
+ q(1470) => q(bsv),
+ q(1471) => q(bsw),
+ q(1472) => q(bsx),
+ q(1473) => q(bsy),
+ q(1474) => q(bta),
+ q(1475) => q(btc),
+ q(1476) => q(btd),
+ q(1477) => q(bte),
+ q(1478) => q(btf),
+ q(1479) => q(btg),
+ q(1480) => q(bth),
+ q(1481) => q(bti),
+ q(1482) => q(btj),
+ q(1483) => q(btl),
+ q(1484) => q(btm),
+ q(1485) => q(btn),
+ q(1486) => q(bto),
+ q(1487) => q(btp),
+ q(1488) => q(btq),
+ q(1489) => q(btr),
+ q(1490) => q(bts),
+ q(1491) => q(btt),
+ q(1492) => q(btu),
+ q(1493) => q(btv),
+ q(1494) => q(btw),
+ q(1495) => q(btx),
+ q(1496) => q(bty),
+ q(1497) => q(btz),
+ q(1498) => q(bub),
+ q(1499) => q(buc),
+ q(1500) => q(bud),
+ q(1501) => q(bue),
+ q(1502) => q(buf),
+ q(1503) => q(buh),
+ q(1504) => q(bui),
+ q(1505) => q(buj),
+ q(1506) => q(buk),
+ q(1507) => q(bum),
+ q(1508) => q(bun),
+ q(1509) => q(buo),
+ q(1510) => q(bup),
+ q(1511) => q(buq),
+ q(1512) => q(bus),
+ q(1513) => q(but),
+ q(1514) => q(buu),
+ q(1515) => q(buv),
+ q(1516) => q(buw),
+ q(1517) => q(bux),
+ q(1518) => q(buy),
+ q(1519) => q(buz),
+ q(1520) => q(bva),
+ q(1521) => q(bvb),
+ q(1522) => q(bvc),
+ q(1523) => q(bvd),
+ q(1524) => q(bve),
+ q(1525) => q(bvf),
+ q(1526) => q(bvg),
+ q(1527) => q(bvh),
+ q(1528) => q(bvi),
+ q(1529) => q(bvj),
+ q(1530) => q(bvk),
+ q(1531) => q(bvl),
+ q(1532) => q(bvm),
+ q(1533) => q(bvn),
+ q(1534) => q(bvo),
+ q(1535) => q(bvp),
+ q(1536) => q(bvq),
+ q(1537) => q(bvr),
+ q(1538) => q(bvt),
+ q(1539) => q(bvu),
+ q(1540) => q(bvv),
+ q(1541) => q(bvw),
+ q(1542) => q(bvx),
+ q(1543) => q(bvy),
+ q(1544) => q(bvz),
+ q(1545) => q(bwa),
+ q(1546) => q(bwb),
+ q(1547) => q(bwc),
+ q(1548) => q(bwd),
+ q(1549) => q(bwe),
+ q(1550) => q(bwf),
+ q(1551) => q(bwg),
+ q(1552) => q(bwh),
+ q(1553) => q(bwi),
+ q(1554) => q(bwj),
+ q(1555) => q(bwk),
+ q(1556) => q(bwl),
+ q(1557) => q(bwm),
+ q(1558) => q(bwn),
+ q(1559) => q(bwo),
+ q(1560) => q(bwp),
+ q(1561) => q(bwq),
+ q(1562) => q(bwr),
+ q(1563) => q(bws),
+ q(1564) => q(bwt),
+ q(1565) => q(bwu),
+ q(1566) => q(bww),
+ q(1567) => q(bwx),
+ q(1568) => q(bwy),
+ q(1569) => q(bwz),
+ q(1570) => q(bxa),
+ q(1571) => q(bxb),
+ q(1572) => q(bxc),
+ q(1573) => q(bxd),
+ q(1574) => q(bxe),
+ q(1575) => q(bxf),
+ q(1576) => q(bxg),
+ q(1577) => q(bxh),
+ q(1578) => q(bxi),
+ q(1579) => q(bxj),
+ q(1580) => q(bxk),
+ q(1581) => q(bxl),
+ q(1582) => q(bxm),
+ q(1583) => q(bxn),
+ q(1584) => q(bxo),
+ q(1585) => q(bxp),
+ q(1586) => q(bxq),
+ q(1587) => q(bxr),
+ q(1588) => q(bxs),
+ q(1589) => q(bxu),
+ q(1590) => q(bxv),
+ q(1591) => q(bxw),
+ q(1592) => q(bxx),
+ q(1593) => q(bxz),
+ q(1594) => q(bya),
+ q(1595) => q(byb),
+ q(1596) => q(byc),
+ q(1597) => q(byd),
+ q(1598) => q(bye),
+ q(1599) => q(byf),
+ q(1600) => q(byg),
+ q(1601) => q(byh),
+ q(1602) => q(byi),
+ q(1603) => q(byj),
+ q(1604) => q(byk),
+ q(1605) => q(byl),
+ q(1606) => q(bym),
+ q(1607) => q(byo),
+ q(1608) => q(byp),
+ q(1609) => q(byq),
+ q(1610) => q(byr),
+ q(1611) => q(bys),
+ q(1612) => q(byt),
+ q(1613) => q(byv),
+ q(1614) => q(byw),
+ q(1615) => q(byx),
+ q(1616) => q(byy),
+ q(1617) => q(byz),
+ q(1618) => q(bza),
+ q(1619) => q(bzb),
+ q(1620) => q(bzc),
+ q(1621) => q(bzd),
+ q(1622) => q(bze),
+ q(1623) => q(bzf),
+ q(1624) => q(bzg),
+ q(1625) => q(bzh),
+ q(1626) => q(bzi),
+ q(1627) => q(bzj),
+ q(1628) => q(bzk),
+ q(1629) => q(bzl),
+ q(1630) => q(bzm),
+ q(1631) => q(bzn),
+ q(1632) => q(bzo),
+ q(1633) => q(bzp),
+ q(1634) => q(bzq),
+ q(1635) => q(bzr),
+ q(1636) => q(bzs),
+ q(1637) => q(bzt),
+ q(1638) => q(bzu),
+ q(1639) => q(bzv),
+ q(1640) => q(bzw),
+ q(1641) => q(bzx),
+ q(1642) => q(bzy),
+ q(1643) => q(bzz),
+ q(1644) => q(caa),
+ q(1645) => q(cab),
+ q(1646) => q(cac),
+ q(1647) => q(cae),
+ q(1648) => q(caf),
+ q(1649) => q(cag),
+ q(1650) => q(cah),
+ q(1651) => q(caj),
+ q(1652) => q(cak),
+ q(1653) => q(cal),
+ q(1654) => q(cam),
+ q(1655) => q(can),
+ q(1656) => q(cao),
+ q(1657) => q(cap),
+ q(1658) => q(caq),
+ q(1659) => q(cas),
+ q(1660) => q(cav),
+ q(1661) => q(caw),
+ q(1662) => q(cax),
+ q(1663) => q(cay),
+ q(1664) => q(caz),
+ q(1665) => q(cbb),
+ q(1666) => q(cbc),
+ q(1667) => q(cbd),
+ q(1668) => q(cbe),
+ q(1669) => q(cbg),
+ q(1670) => q(cbh),
+ q(1671) => q(cbi),
+ q(1672) => q(cbj),
+ q(1673) => q(cbk),
+ q(1674) => q(cbl),
+ q(1675) => q(cbn),
+ q(1676) => q(cbo),
+ q(1677) => q(cbr),
+ q(1678) => q(cbs),
+ q(1679) => q(cbt),
+ q(1680) => q(cbu),
+ q(1681) => q(cbv),
+ q(1682) => q(cbw),
+ q(1683) => q(cby),
+ q(1684) => q(cca),
+ q(1685) => q(ccc),
+ q(1686) => q(ccd),
+ q(1687) => q(cce),
+ q(1688) => q(ccg),
+ q(1689) => q(cch),
+ q(1690) => q(ccj),
+ q(1691) => q(ccl),
+ q(1692) => q(ccm),
+ q(1693) => q(cco),
+ q(1694) => q(ccp),
+ q(1695) => q(ccr),
+ q(1696) => q(cda),
+ q(1697) => q(cde),
+ q(1698) => q(cdf),
+ q(1699) => q(cdg),
+ q(1700) => q(cdh),
+ q(1701) => q(cdi),
+ q(1702) => q(cdj),
+ q(1703) => q(cdm),
+ q(1704) => q(cdn),
+ q(1705) => q(cdo),
+ q(1706) => q(cdr),
+ q(1707) => q(cds),
+ q(1708) => q(cdy),
+ q(1709) => q(cdz),
+ q(1710) => q(cea),
+ q(1711) => q(ceg),
+ q(1712) => q(cek),
+ q(1713) => q(cen),
+ q(1714) => q(cet),
+ q(1715) => q(cfa),
+ q(1716) => q(cfd),
+ q(1717) => q(cfg),
+ q(1718) => q(cfm),
+ q(1719) => q(cga),
+ q(1720) => q(cgc),
+ q(1721) => q(cgg),
+ q(1722) => q(cgk),
+ q(1723) => q(chc),
+ q(1724) => q(chd),
+ q(1725) => q(chf),
+ q(1726) => q(chh),
+ q(1727) => q(chj),
+ q(1728) => q(chl),
+ q(1729) => q(chq),
+ q(1730) => q(cht),
+ q(1731) => q(chw),
+ q(1732) => q(chx),
+ q(1733) => q(chz),
+ q(1734) => q(cia),
+ q(1735) => q(cib),
+ q(1736) => q(cic),
+ q(1737) => q(cid),
+ q(1738) => q(cie),
+ q(1739) => q(cih),
+ q(1740) => q(cik),
+ q(1741) => q(cim),
+ q(1742) => q(cin),
+ q(1743) => q(cip),
+ q(1744) => q(cir),
+ q(1745) => q(ciw),
+ q(1746) => q(ciy),
+ q(1747) => q(cja),
+ q(1748) => q(cje),
+ q(1749) => q(cjh),
+ q(1750) => q(cji),
+ q(1751) => q(cjk),
+ q(1752) => q(cjm),
+ q(1753) => q(cjn),
+ q(1754) => q(cjo),
+ q(1755) => q(cjp),
+ q(1756) => q(cjs),
+ q(1757) => q(cjv),
+ q(1758) => q(cjy),
+ q(1759) => q(ckb),
+ q(1760) => q(ckh),
+ q(1761) => q(ckl),
+ q(1762) => q(ckn),
+ q(1763) => q(cko),
+ q(1764) => q(ckq),
+ q(1765) => q(ckr),
+ q(1766) => q(cks),
+ q(1767) => q(ckt),
+ q(1768) => q(cku),
+ q(1769) => q(ckv),
+ q(1770) => q(ckx),
+ q(1771) => q(cky),
+ q(1772) => q(ckz),
+ q(1773) => q(cla),
+ q(1774) => q(clc),
+ q(1775) => q(cld),
+ q(1776) => q(cle),
+ q(1777) => q(clh),
+ q(1778) => q(cli),
+ q(1779) => q(clj),
+ q(1780) => q(clk),
+ q(1781) => q(cll),
+ q(1782) => q(clm),
+ q(1783) => q(clo),
+ q(1784) => q(clt),
+ q(1785) => q(clu),
+ q(1786) => q(clw),
+ q(1787) => q(cly),
+ q(1788) => q(cma),
+ q(1789) => q(cme),
+ q(1790) => q(cmg),
+ q(1791) => q(cmi),
+ q(1792) => q(cml),
+ q(1793) => q(cmm),
+ q(1794) => q(cmn),
+ q(1795) => q(cmo),
+ q(1796) => q(cmr),
+ q(1797) => q(cms),
+ q(1798) => q(cmt),
+ q(1799) => q(cna),
+ q(1800) => q(cnb),
+ q(1801) => q(cnc),
+ q(1802) => q(cng),
+ q(1803) => q(cnh),
+ q(1804) => q(cni),
+ q(1805) => q(cnk),
+ q(1806) => q(cnl),
+ q(1807) => q(cno),
+ q(1808) => q(cns),
+ q(1809) => q(cnt),
+ q(1810) => q(cnu),
+ q(1811) => q(cnw),
+ q(1812) => q(cnx),
+ q(1813) => q(coa),
+ q(1814) => q(cob),
+ q(1815) => q(coc),
+ q(1816) => q(cod),
+ q(1817) => q(coe),
+ q(1818) => q(cof),
+ q(1819) => q(cog),
+ q(1820) => q(coh),
+ q(1821) => q(coj),
+ q(1822) => q(cok),
+ q(1823) => q(col),
+ q(1824) => q(com),
+ q(1825) => q(con),
+ q(1826) => q(coo),
+ q(1827) => q(coq),
+ q(1828) => q(cot),
+ q(1829) => q(cou),
+ q(1830) => q(cov),
+ q(1831) => q(cow),
+ q(1832) => q(cox),
+ q(1833) => q(coy),
+ q(1834) => q(coz),
+ q(1835) => q(cpa),
+ q(1836) => q(cpb),
+ q(1837) => q(cpc),
+ q(1838) => q(cpg),
+ q(1839) => q(cpi),
+ q(1840) => q(cpn),
+ q(1841) => q(cpo),
+ q(1842) => q(cps),
+ q(1843) => q(cpu),
+ q(1844) => q(cpx),
+ q(1845) => q(cpy),
+ q(1846) => q(cqd),
+ q(1847) => q(cqu),
+ q(1848) => q(cra),
+ q(1849) => q(crb),
+ q(1850) => q(crc),
+ q(1851) => q(crd),
+ q(1852) => q(crf),
+ q(1853) => q(crg),
+ q(1854) => q(cri),
+ q(1855) => q(crj),
+ q(1856) => q(crk),
+ q(1857) => q(crl),
+ q(1858) => q(crm),
+ q(1859) => q(crn),
+ q(1860) => q(cro),
+ q(1861) => q(crq),
+ q(1862) => q(crr),
+ q(1863) => q(crs),
+ q(1864) => q(crt),
+ q(1865) => q(crv),
+ q(1866) => q(crw),
+ q(1867) => q(crx),
+ q(1868) => q(cry),
+ q(1869) => q(crz),
+ q(1870) => q(csa),
+ q(1871) => q(csc),
+ q(1872) => q(csd),
+ q(1873) => q(cse),
+ q(1874) => q(csf),
+ q(1875) => q(csg),
+ q(1876) => q(csh),
+ q(1877) => q(csi),
+ q(1878) => q(csj),
+ q(1879) => q(csk),
+ q(1880) => q(csl),
+ q(1881) => q(csm),
+ q(1882) => q(csn),
+ q(1883) => q(cso),
+ q(1884) => q(csq),
+ q(1885) => q(csr),
+ q(1886) => q(css),
+ q(1887) => q(cst),
+ q(1888) => q(csv),
+ q(1889) => q(csw),
+ q(1890) => q(csy),
+ q(1891) => q(csz),
+ q(1892) => q(cta),
+ q(1893) => q(ctc),
+ q(1894) => q(ctd),
+ q(1895) => q(cte),
+ q(1896) => q(ctg),
+ q(1897) => q(cth),
+ q(1898) => q(ctl),
+ q(1899) => q(ctm),
+ q(1900) => q(ctn),
+ q(1901) => q(cto),
+ q(1902) => q(ctp),
+ q(1903) => q(cts),
+ q(1904) => q(ctt),
+ q(1905) => q(ctu),
+ q(1906) => q(ctz),
+ q(1907) => q(cua),
+ q(1908) => q(cub),
+ q(1909) => q(cuc),
+ q(1910) => q(cug),
+ q(1911) => q(cuh),
+ q(1912) => q(cui),
+ q(1913) => q(cuj),
+ q(1914) => q(cuk),
+ q(1915) => q(cul),
+ q(1916) => q(cum),
+ q(1917) => q(cuo),
+ q(1918) => q(cup),
+ q(1919) => q(cuq),
+ q(1920) => q(cur),
+ q(1921) => q(cut),
+ q(1922) => q(cuu),
+ q(1923) => q(cuv),
+ q(1924) => q(cuw),
+ q(1925) => q(cux),
+ q(1926) => q(cvg),
+ q(1927) => q(cvn),
+ q(1928) => q(cwa),
+ q(1929) => q(cwb),
+ q(1930) => q(cwd),
+ q(1931) => q(cwe),
+ q(1932) => q(cwg),
+ q(1933) => q(cwt),
+ q(1934) => q(cya),
+ q(1935) => q(cyb),
+ q(1936) => q(cyo),
+ q(1937) => q(czh),
+ q(1938) => q(czk),
+ q(1939) => q(czn),
+ q(1940) => q(czo),
+ q(1941) => q(czt),
+ q(1942) => q(daa),
+ q(1943) => q(dac),
+ q(1944) => q(dad),
+ q(1945) => q(dae),
+ q(1946) => q(dag),
+ q(1947) => q(dah),
+ q(1948) => q(dai),
+ q(1949) => q(daj),
+ q(1950) => q(dal),
+ q(1951) => q(dam),
+ q(1952) => q(dao),
+ q(1953) => q(daq),
+ q(1954) => q(das),
+ q(1955) => q(dau),
+ q(1956) => q(dav),
+ q(1957) => q(daw),
+ q(1958) => q(dax),
+ q(1959) => q(daz),
+ q(1960) => q(dba),
+ q(1961) => q(dbb),
+ q(1962) => q(dbd),
+ q(1963) => q(dbe),
+ q(1964) => q(dbf),
+ q(1965) => q(dbg),
+ q(1966) => q(dbi),
+ q(1967) => q(dbj),
+ q(1968) => q(dbl),
+ q(1969) => q(dbm),
+ q(1970) => q(dbn),
+ q(1971) => q(dbo),
+ q(1972) => q(dbp),
+ q(1973) => q(dbq),
+ q(1974) => q(dbr),
+ q(1975) => q(dbt),
+ q(1976) => q(dbu),
+ q(1977) => q(dbv),
+ q(1978) => q(dbw),
+ q(1979) => q(dby),
+ q(1980) => q(dcc),
+ q(1981) => q(dcr),
+ q(1982) => q(dda),
+ q(1983) => q(ddd),
+ q(1984) => q(dde),
+ q(1985) => q(ddg),
+ q(1986) => q(ddi),
+ q(1987) => q(ddj),
+ q(1988) => q(ddn),
+ q(1989) => q(ddo),
+ q(1990) => q(ddr),
+ q(1991) => q(dds),
+ q(1992) => q(ddw),
+ q(1993) => q(dec),
+ q(1994) => q(ded),
+ q(1995) => q(dee),
+ q(1996) => q(def),
+ q(1997) => q(deg),
+ q(1998) => q(deh),
+ q(1999) => q(dei),
+ q(2000) => q(dek),
+ q(2001) => q(dem),
+ q(2002) => q(dep),
+ q(2003) => q(deq),
+ q(2004) => q(der),
+ q(2005) => q(des),
+ q(2006) => q(dev),
+ q(2007) => q(dez),
+ q(2008) => q(dga),
+ q(2009) => q(dgb),
+ q(2010) => q(dgc),
+ q(2011) => q(dgd),
+ q(2012) => q(dge),
+ q(2013) => q(dgg),
+ q(2014) => q(dgh),
+ q(2015) => q(dgi),
+ q(2016) => q(dgk),
+ q(2017) => q(dgl),
+ q(2018) => q(dgn),
+ q(2019) => q(dgo),
+ q(2020) => q(dgs),
+ q(2021) => q(dgt),
+ q(2022) => q(dgu),
+ q(2023) => q(dgw),
+ q(2024) => q(dgx),
+ q(2025) => q(dgz),
+ q(2026) => q(dhd),
+ q(2027) => q(dhg),
+ q(2028) => q(dhi),
+ q(2029) => q(dhl),
+ q(2030) => q(dhm),
+ q(2031) => q(dhn),
+ q(2032) => q(dho),
+ q(2033) => q(dhr),
+ q(2034) => q(dhs),
+ q(2035) => q(dhu),
+ q(2036) => q(dhv),
+ q(2037) => q(dhw),
+ q(2038) => q(dhx),
+ q(2039) => q(dia),
+ q(2040) => q(dib),
+ q(2041) => q(dic),
+ q(2042) => q(did),
+ q(2043) => q(dif),
+ q(2044) => q(dig),
+ q(2045) => q(dih),
+ q(2046) => q(dii),
+ q(2047) => q(dij),
+ q(2048) => q(dik),
+ q(2049) => q(dil),
+ q(2050) => q(dim),
+ q(2051) => q(dio),
+ q(2052) => q(dip),
+ q(2053) => q(diq),
+ q(2054) => q(dir),
+ q(2055) => q(dis),
+ q(2056) => q(dit),
+ q(2057) => q(diu),
+ q(2058) => q(diw),
+ q(2059) => q(dix),
+ q(2060) => q(diy),
+ q(2061) => q(diz),
+ q(2062) => q(dja),
+ q(2063) => q(djb),
+ q(2064) => q(djc),
+ q(2065) => q(djd),
+ q(2066) => q(dje),
+ q(2067) => q(djf),
+ q(2068) => q(dji),
+ q(2069) => q(djj),
+ q(2070) => q(djk),
+ q(2071) => q(djm),
+ q(2072) => q(djn),
+ q(2073) => q(djo),
+ q(2074) => q(djr),
+ q(2075) => q(dju),
+ q(2076) => q(djw),
+ q(2077) => q(dka),
+ q(2078) => q(dkk),
+ q(2079) => q(dkr),
+ q(2080) => q(dks),
+ q(2081) => q(dkx),
+ q(2082) => q(dlg),
+ q(2083) => q(dlk),
+ q(2084) => q(dlm),
+ q(2085) => q(dln),
+ q(2086) => q(dma),
+ q(2087) => q(dmb),
+ q(2088) => q(dmc),
+ q(2089) => q(dmd),
+ q(2090) => q(dme),
+ q(2091) => q(dmg),
+ q(2092) => q(dmk),
+ q(2093) => q(dml),
+ q(2094) => q(dmm),
+ q(2095) => q(dmo),
+ q(2096) => q(dmr),
+ q(2097) => q(dms),
+ q(2098) => q(dmu),
+ q(2099) => q(dmv),
+ q(2100) => q(dmw),
+ q(2101) => q(dmx),
+ q(2102) => q(dmy),
+ q(2103) => q(dna),
+ q(2104) => q(dnd),
+ q(2105) => q(dne),
+ q(2106) => q(dng),
+ q(2107) => q(dni),
+ q(2108) => q(dnj),
+ q(2109) => q(dnk),
+ q(2110) => q(dnn),
+ q(2111) => q(dnr),
+ q(2112) => q(dnt),
+ q(2113) => q(dnu),
+ q(2114) => q(dnv),
+ q(2115) => q(dnw),
+ q(2116) => q(dny),
+ q(2117) => q(doa),
+ q(2118) => q(dob),
+ q(2119) => q(doc),
+ q(2120) => q(doe),
+ q(2121) => q(dof),
+ q(2122) => q(doh),
+ q(2123) => q(dok),
+ q(2124) => q(dol),
+ q(2125) => q(don),
+ q(2126) => q(doo),
+ q(2127) => q(dop),
+ q(2128) => q(doq),
+ q(2129) => q(dor),
+ q(2130) => q(dos),
+ q(2131) => q(dot),
+ q(2132) => q(dov),
+ q(2133) => q(dow),
+ q(2134) => q(dox),
+ q(2135) => q(doy),
+ q(2136) => q(doz),
+ q(2137) => q(dpp),
+ q(2138) => q(drb),
+ q(2139) => q(drc),
+ q(2140) => q(drd),
+ q(2141) => q(dre),
+ q(2142) => q(drg),
+ q(2143) => q(dri),
+ q(2144) => q(drl),
+ q(2145) => q(drn),
+ q(2146) => q(dro),
+ q(2147) => q(drq),
+ q(2148) => q(drr),
+ q(2149) => q(drs),
+ q(2150) => q(drt),
+ q(2151) => q(dru),
+ q(2152) => q(dry),
+ q(2153) => q(dse),
+ q(2154) => q(dsh),
+ q(2155) => q(dsi),
+ q(2156) => q(dsl),
+ q(2157) => q(dsn),
+ q(2158) => q(dso),
+ q(2159) => q(dsq),
+ q(2160) => q(dta),
+ q(2161) => q(dtb),
+ q(2162) => q(dtd),
+ q(2163) => q(dth),
+ q(2164) => q(dti),
+ q(2165) => q(dtk),
+ q(2166) => q(dtm),
+ q(2167) => q(dto),
+ q(2168) => q(dtp),
+ q(2169) => q(dtr),
+ q(2170) => q(dts),
+ q(2171) => q(dtt),
+ q(2172) => q(dtu),
+ q(2173) => q(dty),
+ q(2174) => q(dub),
+ q(2175) => q(duc),
+ q(2176) => q(dud),
+ q(2177) => q(due),
+ q(2178) => q(duf),
+ q(2179) => q(dug),
+ q(2180) => q(duh),
+ q(2181) => q(dui),
+ q(2182) => q(duj),
+ q(2183) => q(duk),
+ q(2184) => q(dul),
+ q(2185) => q(dun),
+ q(2186) => q(duo),
+ q(2187) => q(dup),
+ q(2188) => q(duq),
+ q(2189) => q(dur),
+ q(2190) => q(dus),
+ q(2191) => q(duu),
+ q(2192) => q(duv),
+ q(2193) => q(duw),
+ q(2194) => q(dux),
+ q(2195) => q(duy),
+ q(2196) => q(duz),
+ q(2197) => q(dva),
+ q(2198) => q(dwa),
+ q(2199) => q(dwr),
+ q(2200) => q(dws),
+ q(2201) => q(dww),
+ q(2202) => q(dya),
+ q(2203) => q(dyb),
+ q(2204) => q(dyd),
+ q(2205) => q(dyg),
+ q(2206) => q(dyi),
+ q(2207) => q(dym),
+ q(2208) => q(dyn),
+ q(2209) => q(dyo),
+ q(2210) => q(dyy),
+ q(2211) => q(dza),
+ q(2212) => q(dzd),
+ q(2213) => q(dze),
+ q(2214) => q(dzg),
+ q(2215) => q(dzl),
+ q(2216) => q(dzn),
+ q(2217) => q(eaa),
+ q(2218) => q(ebg),
+ q(2219) => q(ebk),
+ q(2220) => q(ebo),
+ q(2221) => q(ebr),
+ q(2222) => q(ebu),
+ q(2223) => q(ecr),
+ q(2224) => q(ecs),
+ q(2225) => q(ecy),
+ q(2226) => q(eee),
+ q(2227) => q(efa),
+ q(2228) => q(efe),
+ q(2229) => q(ega),
+ q(2230) => q(egl),
+ q(2231) => q(ego),
+ q(2232) => q(ehu),
+ q(2233) => q(eip),
+ q(2234) => q(eit),
+ q(2235) => q(eiv),
+ q(2236) => q(eja),
+ q(2237) => q(ekc),
+ q(2238) => q(eke),
+ q(2239) => q(ekg),
+ q(2240) => q(eki),
+ q(2241) => q(ekk),
+ q(2242) => q(ekl),
+ q(2243) => q(ekm),
+ q(2244) => q(eko),
+ q(2245) => q(ekp),
+ q(2246) => q(ekr),
+ q(2247) => q(eky),
+ q(2248) => q(ele),
+ q(2249) => q(elh),
+ q(2250) => q(eli),
+ q(2251) => q(elk),
+ q(2252) => q(elm),
+ q(2253) => q(elo),
+ q(2254) => q(elu),
+ q(2255) => q(ema),
+ q(2256) => q(emb),
+ q(2257) => q(eme),
+ q(2258) => q(emg),
+ q(2259) => q(emi),
+ q(2260) => q(emk),
+ q(2261) => q(emm),
+ q(2262) => q(emn),
+ q(2263) => q(emo),
+ q(2264) => q(emp),
+ q(2265) => q(ems),
+ q(2266) => q(emu),
+ q(2267) => q(emw),
+ q(2268) => q(emx),
+ q(2269) => q(emy),
+ q(2270) => q(ena),
+ q(2271) => q(enb),
+ q(2272) => q(enc),
+ q(2273) => q(end),
+ q(2274) => q(enf),
+ q(2275) => q(enh),
+ q(2276) => q(enn),
+ q(2277) => q(eno),
+ q(2278) => q(enq),
+ q(2279) => q(enr),
+ q(2280) => q(enu),
+ q(2281) => q(env),
+ q(2282) => q(enw),
+ q(2283) => q(eot),
+ q(2284) => q(epi),
+ q(2285) => q(era),
+ q(2286) => q(erg),
+ q(2287) => q(erh),
+ q(2288) => q(eri),
+ q(2289) => q(erk),
+ q(2290) => q(ero),
+ q(2291) => q(err),
+ q(2292) => q(ers),
+ q(2293) => q(ert),
+ q(2294) => q(erw),
+ q(2295) => q(ese),
+ q(2296) => q(esh),
+ q(2297) => q(esi),
+ q(2298) => q(esk),
+ q(2299) => q(esl),
+ q(2300) => q(esm),
+ q(2301) => q(esn),
+ q(2302) => q(eso),
+ q(2303) => q(esq),
+ q(2304) => q(ess),
+ q(2305) => q(esu),
+ q(2306) => q(etb),
+ q(2307) => q(etc),
+ q(2308) => q(eth),
+ q(2309) => q(etn),
+ q(2310) => q(eto),
+ q(2311) => q(etr),
+ q(2312) => q(ets),
+ q(2313) => q(ett),
+ q(2314) => q(etu),
+ q(2315) => q(etx),
+ q(2316) => q(etz),
+ q(2317) => q(eve),
+ q(2318) => q(evh),
+ q(2319) => q(evn),
+ q(2320) => q(ext),
+ q(2321) => q(eya),
+ q(2322) => q(eyo),
+ q(2323) => q(eza),
+ q(2324) => q(eze),
+ q(2325) => q(faa),
+ q(2326) => q(fab),
+ q(2327) => q(fad),
+ q(2328) => q(faf),
+ q(2329) => q(fag),
+ q(2330) => q(fah),
+ q(2331) => q(fai),
+ q(2332) => q(faj),
+ q(2333) => q(fak),
+ q(2334) => q(fal),
+ q(2335) => q(fam),
+ q(2336) => q(fap),
+ q(2337) => q(far),
+ q(2338) => q(fau),
+ q(2339) => q(fax),
+ q(2340) => q(fay),
+ q(2341) => q(faz),
+ q(2342) => q(fbl),
+ q(2343) => q(fcs),
+ q(2344) => q(fer),
+ q(2345) => q(ffi),
+ q(2346) => q(ffm),
+ q(2347) => q(fgr),
+ q(2348) => q(fia),
+ q(2349) => q(fie),
+ q(2350) => q(fip),
+ q(2351) => q(fir),
+ q(2352) => q(fit),
+ q(2353) => q(fiw),
+ q(2354) => q(fkk),
+ q(2355) => q(fkv),
+ q(2356) => q(fla),
+ q(2357) => q(flh),
+ q(2358) => q(fli),
+ q(2359) => q(fll),
+ q(2360) => q(fln),
+ q(2361) => q(flr),
+ q(2362) => q(fly),
+ q(2363) => q(fmp),
+ q(2364) => q(fmu),
+ q(2365) => q(fng),
+ q(2366) => q(fni),
+ q(2367) => q(fod),
+ q(2368) => q(foi),
+ q(2369) => q(fom),
+ q(2370) => q(for),
+ q(2371) => q(fos),
+ q(2372) => q(fpe),
+ q(2373) => q(fqs),
+ q(2374) => q(frc),
+ q(2375) => q(frd),
+ q(2376) => q(frk),
+ q(2377) => q(frp),
+ q(2378) => q(frq),
+ q(2379) => q(frt),
+ q(2380) => q(fse),
+ q(2381) => q(fsl),
+ q(2382) => q(fss),
+ q(2383) => q(fub),
+ q(2384) => q(fuc),
+ q(2385) => q(fud),
+ q(2386) => q(fue),
+ q(2387) => q(fuf),
+ q(2388) => q(fuh),
+ q(2389) => q(fui),
+ q(2390) => q(fuj),
+ q(2391) => q(fum),
+ q(2392) => q(fun),
+ q(2393) => q(fuq),
+ q(2394) => q(fut),
+ q(2395) => q(fuu),
+ q(2396) => q(fuv),
+ q(2397) => q(fuy),
+ q(2398) => q(fvr),
+ q(2399) => q(fwa),
+ q(2400) => q(fwe),
+ q(2401) => q(gab),
+ q(2402) => q(gac),
+ q(2403) => q(gad),
+ q(2404) => q(gae),
+ q(2405) => q(gaf),
+ q(2406) => q(gag),
+ q(2407) => q(gah),
+ q(2408) => q(gai),
+ q(2409) => q(gaj),
+ q(2410) => q(gak),
+ q(2411) => q(gal),
+ q(2412) => q(gam),
+ q(2413) => q(gan),
+ q(2414) => q(gao),
+ q(2415) => q(gap),
+ q(2416) => q(gaq),
+ q(2417) => q(gar),
+ q(2418) => q(gas),
+ q(2419) => q(gat),
+ q(2420) => q(gau),
+ q(2421) => q(gaw),
+ q(2422) => q(gax),
+ q(2423) => q(gaz),
+ q(2424) => q(gbb),
+ q(2425) => q(gbd),
+ q(2426) => q(gbe),
+ q(2427) => q(gbf),
+ q(2428) => q(gbg),
+ q(2429) => q(gbh),
+ q(2430) => q(gbi),
+ q(2431) => q(gbj),
+ q(2432) => q(gbk),
+ q(2433) => q(gbl),
+ q(2434) => q(gbm),
+ q(2435) => q(gbn),
+ q(2436) => q(gbo),
+ q(2437) => q(gbp),
+ q(2438) => q(gbq),
+ q(2439) => q(gbr),
+ q(2440) => q(gbs),
+ q(2441) => q(gbu),
+ q(2442) => q(gbv),
+ q(2443) => q(gbw),
+ q(2444) => q(gbx),
+ q(2445) => q(gby),
+ q(2446) => q(gbz),
+ q(2447) => q(gcc),
+ q(2448) => q(gcd),
+ q(2449) => q(gce),
+ q(2450) => q(gcf),
+ q(2451) => q(gcl),
+ q(2452) => q(gcn),
+ q(2453) => q(gcr),
+ q(2454) => q(gct),
+ q(2455) => q(gda),
+ q(2456) => q(gdb),
+ q(2457) => q(gdc),
+ q(2458) => q(gdd),
+ q(2459) => q(gde),
+ q(2460) => q(gdf),
+ q(2461) => q(gdg),
+ q(2462) => q(gdh),
+ q(2463) => q(gdi),
+ q(2464) => q(gdj),
+ q(2465) => q(gdk),
+ q(2466) => q(gdl),
+ q(2467) => q(gdm),
+ q(2468) => q(gdn),
+ q(2469) => q(gdo),
+ q(2470) => q(gdq),
+ q(2471) => q(gdr),
+ q(2472) => q(gds),
+ q(2473) => q(gdt),
+ q(2474) => q(gdu),
+ q(2475) => q(gdx),
+ q(2476) => q(gea),
+ q(2477) => q(geb),
+ q(2478) => q(gec),
+ q(2479) => q(ged),
+ q(2480) => q(geg),
+ q(2481) => q(geh),
+ q(2482) => q(gei),
+ q(2483) => q(gej),
+ q(2484) => q(gek),
+ q(2485) => q(gel),
+ q(2486) => q(geq),
+ q(2487) => q(ges),
+ q(2488) => q(gew),
+ q(2489) => q(gex),
+ q(2490) => q(gey),
+ q(2491) => q(gfk),
+ q(2492) => q(gft),
+ q(2493) => q(gfx),
+ q(2494) => q(gga),
+ q(2495) => q(ggb),
+ q(2496) => q(ggd),
+ q(2497) => q(gge),
+ q(2498) => q(ggg),
+ q(2499) => q(ggk),
+ q(2500) => q(ggl),
+ q(2501) => q(ggn),
+ q(2502) => q(ggo),
+ q(2503) => q(ggt),
+ q(2504) => q(ggu),
+ q(2505) => q(ggw),
+ q(2506) => q(gha),
+ q(2507) => q(ghc),
+ q(2508) => q(ghe),
+ q(2509) => q(ghh),
+ q(2510) => q(ghk),
+ q(2511) => q(ghl),
+ q(2512) => q(ghn),
+ q(2513) => q(gho),
+ q(2514) => q(ghr),
+ q(2515) => q(ghs),
+ q(2516) => q(ght),
+ q(2517) => q(gia),
+ q(2518) => q(gib),
+ q(2519) => q(gic),
+ q(2520) => q(gid),
+ q(2521) => q(gig),
+ q(2522) => q(gih),
+ q(2523) => q(gim),
+ q(2524) => q(gin),
+ q(2525) => q(gip),
+ q(2526) => q(giq),
+ q(2527) => q(gir),
+ q(2528) => q(gis),
+ q(2529) => q(git),
+ q(2530) => q(giu),
+ q(2531) => q(giw),
+ q(2532) => q(gix),
+ q(2533) => q(giy),
+ q(2534) => q(giz),
+ q(2535) => q(gji),
+ q(2536) => q(gjk),
+ q(2537) => q(gjm),
+ q(2538) => q(gjn),
+ q(2539) => q(gju),
+ q(2540) => q(gka),
+ q(2541) => q(gke),
+ q(2542) => q(gkn),
+ q(2543) => q(gko),
+ q(2544) => q(gkp),
+ q(2545) => q(glc),
+ q(2546) => q(gld),
+ q(2547) => q(glh),
+ q(2548) => q(gli),
+ q(2549) => q(glj),
+ q(2550) => q(glk),
+ q(2551) => q(gll),
+ q(2552) => q(glo),
+ q(2553) => q(glr),
+ q(2554) => q(glu),
+ q(2555) => q(glw),
+ q(2556) => q(gly),
+ q(2557) => q(gma),
+ q(2558) => q(gmb),
+ q(2559) => q(gmd),
+ q(2560) => q(gml),
+ q(2561) => q(gmm),
+ q(2562) => q(gmn),
+ q(2563) => q(gmu),
+ q(2564) => q(gmv),
+ q(2565) => q(gmx),
+ q(2566) => q(gmy),
+ q(2567) => q(gmz),
+ q(2568) => q(gna),
+ q(2569) => q(gnb),
+ q(2570) => q(gnc),
+ q(2571) => q(gnd),
+ q(2572) => q(gne),
+ q(2573) => q(gng),
+ q(2574) => q(gnh),
+ q(2575) => q(gni),
+ q(2576) => q(gnk),
+ q(2577) => q(gnl),
+ q(2578) => q(gnm),
+ q(2579) => q(gnn),
+ q(2580) => q(gno),
+ q(2581) => q(gnq),
+ q(2582) => q(gnr),
+ q(2583) => q(gnt),
+ q(2584) => q(gnu),
+ q(2585) => q(gnw),
+ q(2586) => q(gnz),
+ q(2587) => q(goa),
+ q(2588) => q(gob),
+ q(2589) => q(goc),
+ q(2590) => q(god),
+ q(2591) => q(goe),
+ q(2592) => q(gof),
+ q(2593) => q(gog),
+ q(2594) => q(goi),
+ q(2595) => q(goj),
+ q(2596) => q(gok),
+ q(2597) => q(gol),
+ q(2598) => q(gom),
+ q(2599) => q(goo),
+ q(2600) => q(gop),
+ q(2601) => q(goq),
+ q(2602) => q(gos),
+ q(2603) => q(gou),
+ q(2604) => q(gow),
+ q(2605) => q(gox),
+ q(2606) => q(goy),
+ q(2607) => q(goz),
+ q(2608) => q(gpa),
+ q(2609) => q(gpe),
+ q(2610) => q(gpn),
+ q(2611) => q(gqa),
+ q(2612) => q(gqi),
+ q(2613) => q(gqn),
+ q(2614) => q(gqr),
+ q(2615) => q(gqu),
+ q(2616) => q(gra),
+ q(2617) => q(grd),
+ q(2618) => q(grg),
+ q(2619) => q(grh),
+ q(2620) => q(gri),
+ q(2621) => q(grj),
+ q(2622) => q(grm),
+ q(2623) => q(gro),
+ q(2624) => q(grq),
+ q(2625) => q(grr),
+ q(2626) => q(grs),
+ q(2627) => q(grt),
+ q(2628) => q(gru),
+ q(2629) => q(grv),
+ q(2630) => q(grw),
+ q(2631) => q(grx),
+ q(2632) => q(gry),
+ q(2633) => q(grz),
+ q(2634) => q(gse),
+ q(2635) => q(gsg),
+ q(2636) => q(gsl),
+ q(2637) => q(gsm),
+ q(2638) => q(gsn),
+ q(2639) => q(gso),
+ q(2640) => q(gsp),
+ q(2641) => q(gss),
+ q(2642) => q(gta),
+ q(2643) => q(gti),
+ q(2644) => q(gtu),
+ q(2645) => q(gua),
+ q(2646) => q(gub),
+ q(2647) => q(guc),
+ q(2648) => q(gud),
+ q(2649) => q(gue),
+ q(2650) => q(guf),
+ q(2651) => q(gug),
+ q(2652) => q(guh),
+ q(2653) => q(gui),
+ q(2654) => q(guk),
+ q(2655) => q(gul),
+ q(2656) => q(gum),
+ q(2657) => q(gun),
+ q(2658) => q(guo),
+ q(2659) => q(gup),
+ q(2660) => q(yif),
+ q(2661) => q(gur),
+ q(2662) => q(gus),
+ q(2663) => q(gut),
+ q(2664) => q(guu),
+ q(2665) => q(guv),
+ q(2666) => q(guw),
+ q(2667) => q(gux),
+ q(2668) => q(guz),
+ q(2669) => q(gva),
+ q(2670) => q(gvc),
+ q(2671) => q(gve),
+ q(2672) => q(gvf),
+ q(2673) => q(gvj),
+ q(2674) => q(gvl),
+ q(2675) => q(gvm),
+ q(2676) => q(gvn),
+ q(2677) => q(gvo),
+ q(2678) => q(gvp),
+ q(2679) => q(gvr),
+ q(2680) => q(gvs),
+ q(2681) => q(gvy),
+ q(2682) => q(gwa),
+ q(2683) => q(gwb),
+ q(2684) => q(gwc),
+ q(2685) => q(gwd),
+ q(2686) => q(gwe),
+ q(2687) => q(gwf),
+ q(2688) => q(gwg),
+ q(2689) => q(gwj),
+ q(2690) => q(gwm),
+ q(2691) => q(gwn),
+ q(2692) => q(gwr),
+ q(2693) => q(gwt),
+ q(2694) => q(gwu),
+ q(2695) => q(gww),
+ q(2696) => q(gwx),
+ q(2697) => q(gxx),
+ q(2698) => q(gya),
+ q(2699) => q(gyb),
+ q(2700) => q(gyd),
+ q(2701) => q(gye),
+ q(2702) => q(gyf),
+ q(2703) => q(gyg),
+ q(2704) => q(gyi),
+ q(2705) => q(gyl),
+ q(2706) => q(gym),
+ q(2707) => q(gyn),
+ q(2708) => q(gyr),
+ q(2709) => q(gyy),
+ q(2710) => q(gza),
+ q(2711) => q(gzi),
+ q(2712) => q(gzn),
+ q(2713) => q(haa),
+ q(2714) => q(hab),
+ q(2715) => q(hac),
+ q(2716) => q(had),
+ q(2717) => q(hae),
+ q(2718) => q(haf),
+ q(2719) => q(hag),
+ q(2720) => q(hah),
+ q(2721) => q(haj),
+ q(2722) => q(hak),
+ q(2723) => q(hal),
+ q(2724) => q(ham),
+ q(2725) => q(han),
+ q(2726) => q(hao),
+ q(2727) => q(hap),
+ q(2728) => q(haq),
+ q(2729) => q(har),
+ q(2730) => q(has),
+ q(2731) => q(hav),
+ q(2732) => q(hax),
+ q(2733) => q(hay),
+ q(2734) => q(haz),
+ q(2735) => q(hba),
+ q(2736) => q(hbb),
+ q(2737) => q(hbn),
+ q(2738) => q(hbo),
+ q(2739) => q(hbu),
+ q(2740) => q(hca),
+ q(2741) => q(hch),
+ q(2742) => q(hdn),
+ q(2743) => q(hds),
+ q(2744) => q(hdy),
+ q(2745) => q(hea),
+ q(2746) => q(hed),
+ q(2747) => q(heg),
+ q(2748) => q(heh),
+ q(2749) => q(hei),
+ q(2750) => q(hem),
+ q(2751) => q(hgm),
+ q(2752) => q(hgw),
+ q(2753) => q(hhi),
+ q(2754) => q(hhr),
+ q(2755) => q(hhy),
+ q(2756) => q(hia),
+ q(2757) => q(hib),
+ q(2758) => q(hid),
+ q(2759) => q(hif),
+ q(2760) => q(hig),
+ q(2761) => q(hih),
+ q(2762) => q(hii),
+ q(2763) => q(hij),
+ q(2764) => q(hik),
+ q(2765) => q(hio),
+ q(2766) => q(hir),
+ q(2767) => q(hiw),
+ q(2768) => q(hix),
+ q(2769) => q(hji),
+ q(2770) => q(hka),
+ q(2771) => q(hke),
+ q(2772) => q(hkk),
+ q(2773) => q(hks),
+ q(2774) => q(hla),
+ q(2775) => q(hlb),
+ q(2776) => q(hld),
+ q(2777) => q(hle),
+ q(2778) => q(hlt),
+ q(2779) => q(hlu),
+ q(2780) => q(hma),
+ q(2781) => q(hmb),
+ q(2782) => q(hmc),
+ q(2783) => q(hmd),
+ q(2784) => q(hme),
+ q(2785) => q(hmf),
+ q(2786) => q(hmg),
+ q(2787) => q(hmh),
+ q(2788) => q(hmi),
+ q(2789) => q(hmj),
+ q(2790) => q(hmk),
+ q(2791) => q(hml),
+ q(2792) => q(hmm),
+ q(2793) => q(hmp),
+ q(2794) => q(hmq),
+ q(2795) => q(hmr),
+ q(2796) => q(hms),
+ q(2797) => q(hmt),
+ q(2798) => q(hmu),
+ q(2799) => q(hmv),
+ q(2800) => q(hmw),
+ q(2801) => q(hmy),
+ q(2802) => q(hmz),
+ q(2803) => q(hna),
+ q(2804) => q(hnd),
+ q(2805) => q(hne),
+ q(2806) => q(hnh),
+ q(2807) => q(hni),
+ q(2808) => q(hnj),
+ q(2809) => q(hnn),
+ q(2810) => q(hno),
+ q(2811) => q(hns),
+ q(2812) => q(hnu),
+ q(2813) => q(hoa),
+ q(2814) => q(hob),
+ q(2815) => q(hoc),
+ q(2816) => q(hod),
+ q(2817) => q(hoe),
+ q(2818) => q(hoh),
+ q(2819) => q(hoi),
+ q(2820) => q(hoj),
+ q(2821) => q(hol),
+ q(2822) => q(hom),
+ q(2823) => q(hoo),
+ q(2824) => q(hop),
+ q(2825) => q(hor),
+ q(2826) => q(hos),
+ q(2827) => q(hot),
+ q(2828) => q(hov),
+ q(2829) => q(how),
+ q(2830) => q(hoy),
+ q(2831) => q(hoz),
+ q(2832) => q(hpo),
+ q(2833) => q(hps),
+ q(2834) => q(hra),
+ q(2835) => q(hrc),
+ q(2836) => q(hre),
+ q(2837) => q(hrk),
+ q(2838) => q(hrm),
+ q(2839) => q(hro),
+ q(2840) => q(hrp),
+ q(2841) => q(hrt),
+ q(2842) => q(hru),
+ q(2843) => q(hrw),
+ q(2844) => q(hrx),
+ q(2845) => q(hrz),
+ q(2846) => q(hsh),
+ q(2847) => q(hsl),
+ q(2848) => q(hsn),
+ q(2849) => q(hss),
+ q(2850) => q(hti),
+ q(2851) => q(hto),
+ q(2852) => q(hts),
+ q(2853) => q(htu),
+ q(2854) => q(htx),
+ q(2855) => q(hub),
+ q(2856) => q(huc),
+ q(2857) => q(hud),
+ q(2858) => q(hue),
+ q(2859) => q(huf),
+ q(2860) => q(hug),
+ q(2861) => q(huh),
+ q(2862) => q(hui),
+ q(2863) => q(huj),
+ q(2864) => q(huk),
+ q(2865) => q(hul),
+ q(2866) => q(hum),
+ q(2867) => q(huo),
+ q(2868) => q(huq),
+ q(2869) => q(hur),
+ q(2870) => q(hus),
+ q(2871) => q(hut),
+ q(2872) => q(huu),
+ q(2873) => q(huv),
+ q(2874) => q(huw),
+ q(2875) => q(hux),
+ q(2876) => q(huy),
+ q(2877) => q(huz),
+ q(2878) => q(hvc),
+ q(2879) => q(hve),
+ q(2880) => q(hvk),
+ q(2881) => q(hvn),
+ q(2882) => q(hvv),
+ q(2883) => q(hwa),
+ q(2884) => q(hwc),
+ q(2885) => q(hwo),
+ q(2886) => q(hya),
+ q(2887) => q(iai),
+ q(2888) => q(ian),
+ q(2889) => q(iap),
+ q(2890) => q(iar),
+ q(2891) => q(ibb),
+ q(2892) => q(ibd),
+ q(2893) => q(ibe),
+ q(2894) => q(ibg),
+ q(2895) => q(ibl),
+ q(2896) => q(ibm),
+ q(2897) => q(ibn),
+ q(2898) => q(ibr),
+ q(2899) => q(ibu),
+ q(2900) => q(iby),
+ q(2901) => q(ica),
+ q(2902) => q(ich),
+ q(2903) => q(icl),
+ q(2904) => q(icr),
+ q(2905) => q(ida),
+ q(2906) => q(idb),
+ q(2907) => q(idc),
+ q(2908) => q(idd),
+ q(2909) => q(ide),
+ q(2910) => q(idi),
+ q(2911) => q(idr),
+ q(2912) => q(ids),
+ q(2913) => q(idt),
+ q(2914) => q(idu),
+ q(2915) => q(ifa),
+ q(2916) => q(ifb),
+ q(2917) => q(ife),
+ q(2918) => q(iff),
+ q(2919) => q(ifk),
+ q(2920) => q(ifm),
+ q(2921) => q(ifu),
+ q(2922) => q(ify),
+ q(2923) => q(igb),
+ q(2924) => q(ige),
+ q(2925) => q(igg),
+ q(2926) => q(igl),
+ q(2927) => q(igm),
+ q(2928) => q(ign),
+ q(2929) => q(igo),
+ q(2930) => q(igs),
+ q(2931) => q(igw),
+ q(2932) => q(ihb),
+ q(2933) => q(ihi),
+ q(2934) => q(ihp),
+ q(2935) => q(ihw),
+ q(2936) => q(iin),
+ q(2937) => q(ijc),
+ q(2938) => q(ije),
+ q(2939) => q(ijj),
+ q(2940) => q(ijn),
+ q(2941) => q(ijs),
+ q(2942) => q(ike),
+ q(2943) => q(iki),
+ q(2944) => q(ikk),
+ q(2945) => q(ikl),
+ q(2946) => q(iko),
+ q(2947) => q(ikp),
+ q(2948) => q(ikr),
+ q(2949) => q(ikt),
+ q(2950) => q(ikv),
+ q(2951) => q(ikw),
+ q(2952) => q(ikx),
+ q(2953) => q(ikz),
+ q(2954) => q(ila),
+ q(2955) => q(ilb),
+ q(2956) => q(ilg),
+ q(2957) => q(ili),
+ q(2958) => q(ilk),
+ q(2959) => q(ill),
+ q(2960) => q(ils),
+ q(2961) => q(ilu),
+ q(2962) => q(ilv),
+ q(2963) => q(ima),
+ q(2964) => q(ime),
+ q(2965) => q(imi),
+ q(2966) => q(iml),
+ q(2967) => q(imn),
+ q(2968) => q(imo),
+ q(2969) => q(imr),
+ q(2970) => q(ims),
+ q(2971) => q(imy),
+ q(2972) => q(inb),
+ q(2973) => q(ing),
+ q(2974) => q(inj),
+ q(2975) => q(inl),
+ q(2976) => q(inm),
+ q(2977) => q(inn),
+ q(2978) => q(ino),
+ q(2979) => q(inp),
+ q(2980) => q(ins),
+ q(2981) => q(int),
+ q(2982) => q(inz),
+ q(2983) => q(ior),
+ q(2984) => q(iou),
+ q(2985) => q(iow),
+ q(2986) => q(ipi),
+ q(2987) => q(ipo),
+ q(2988) => q(iqu),
+ q(2989) => q(iqw),
+ q(2990) => q(ire),
+ q(2991) => q(irh),
+ q(2992) => q(iri),
+ q(2993) => q(irk),
+ q(2994) => q(irn),
+ q(2995) => q(irr),
+ q(2996) => q(iru),
+ q(2997) => q(irx),
+ q(2998) => q(iry),
+ q(2999) => q(isa),
+ q(3000) => q(isc),
+ q(3001) => q(isd),
+ q(3002) => q(ise),
+ q(3003) => q(isg),
+ q(3004) => q(ish),
+ q(3005) => q(isi),
+ q(3006) => q(isk),
+ q(3007) => q(ism),
+ q(3008) => q(isn),
+ q(3009) => q(iso),
+ q(3010) => q(isr),
+ q(3011) => q(ist),
+ q(3012) => q(isu),
+ q(3013) => q(itb),
+ q(3014) => q(ite),
+ q(3015) => q(iti),
+ q(3016) => q(itk),
+ q(3017) => q(itl),
+ q(3018) => q(itm),
+ q(3019) => q(ito),
+ q(3020) => q(itr),
+ q(3021) => q(its),
+ q(3022) => q(itt),
+ q(3023) => q(itv),
+ q(3024) => q(itw),
+ q(3025) => q(itx),
+ q(3026) => q(ity),
+ q(3027) => q(itz),
+ q(3028) => q(ium),
+ q(3029) => q(ivb),
+ q(3030) => q(ivv),
+ q(3031) => q(iwk),
+ q(3032) => q(iwm),
+ q(3033) => q(iwo),
+ q(3034) => q(iws),
+ q(3035) => q(ixc),
+ q(3036) => q(ixl),
+ q(3037) => q(iya),
+ q(3038) => q(iyo),
+ q(3039) => q(iyx),
+ q(3040) => q(izh),
+ q(3041) => q(izr),
+ q(3042) => q(izz),
+ q(3043) => q(jaa),
+ q(3044) => q(jab),
+ q(3045) => q(jac),
+ q(3046) => q(jad),
+ q(3047) => q(jae),
+ q(3048) => q(jaf),
+ q(3049) => q(jah),
+ q(3050) => q(jaj),
+ q(3051) => q(jak),
+ q(3052) => q(jal),
+ q(3053) => q(jam),
+ q(3054) => q(jan),
+ q(3055) => q(jao),
+ q(3056) => q(jaq),
+ q(3057) => q(jas),
+ q(3058) => q(jat),
+ q(3059) => q(jau),
+ q(3060) => q(jax),
+ q(3061) => q(jay),
+ q(3062) => q(jaz),
+ q(3063) => q(jbe),
+ q(3064) => q(jbi),
+ q(3065) => q(jbj),
+ q(3066) => q(jbk),
+ q(3067) => q(jbn),
+ q(3068) => q(jbr),
+ q(3069) => q(jbt),
+ q(3070) => q(jbu),
+ q(3071) => q(jbw),
+ q(3072) => q(jcs),
+ q(3073) => q(jct),
+ q(3074) => q(jda),
+ q(3075) => q(jdg),
+ q(3076) => q(jdt),
+ q(3077) => q(jeb),
+ q(3078) => q(jee),
+ q(3079) => q(jeg),
+ q(3080) => q(jeh),
+ q(3081) => q(jei),
+ q(3082) => q(jek),
+ q(3083) => q(jel),
+ q(3084) => q(jen),
+ q(3085) => q(jer),
+ q(3086) => q(jet),
+ q(3087) => q(jeu),
+ q(3088) => q(jgb),
+ q(3089) => q(jge),
+ q(3090) => q(jgk),
+ q(3091) => q(jgo),
+ q(3092) => q(jhi),
+ q(3093) => q(jhs),
+ q(3094) => q(jia),
+ q(3095) => q(jib),
+ q(3096) => q(jic),
+ q(3097) => q(jid),
+ q(3098) => q(jie),
+ q(3099) => q(jig),
+ q(3100) => q(jih),
+ q(3101) => q(jii),
+ q(3102) => q(jil),
+ q(3103) => q(jim),
+ q(3104) => q(jio),
+ q(3105) => q(jiq),
+ q(3106) => q(jit),
+ q(3107) => q(jiu),
+ q(3108) => q(jiv),
+ q(3109) => q(jiy),
+ q(3110) => q(jjr),
+ q(3111) => q(jkm),
+ q(3112) => q(jko),
+ q(3113) => q(jkp),
+ q(3114) => q(jkr),
+ q(3115) => q(jku),
+ q(3116) => q(jle),
+ q(3117) => q(jls),
+ q(3118) => q(jma),
+ q(3119) => q(jmb),
+ q(3120) => q(jmc),
+ q(3121) => q(jmd),
+ q(3122) => q(jmi),
+ q(3123) => q(jml),
+ q(3124) => q(jmn),
+ q(3125) => q(jmr),
+ q(3126) => q(jms),
+ q(3127) => q(jmw),
+ q(3128) => q(jmx),
+ q(3129) => q(jna),
+ q(3130) => q(jnd),
+ q(3131) => q(jng),
+ q(3132) => q(jni),
+ q(3133) => q(jnj),
+ q(3134) => q(jnl),
+ q(3135) => q(jns),
+ q(3136) => q(job),
+ q(3137) => q(jod),
+ q(3138) => q(jor),
+ q(3139) => q(jos),
+ q(3140) => q(jow),
+ q(3141) => q(jpa),
+ q(3142) => q(jqr),
+ q(3143) => q(jra),
+ q(3144) => q(jrr),
+ q(3145) => q(jrt),
+ q(3146) => q(jru),
+ q(3147) => q(jsl),
+ q(3148) => q(jua),
+ q(3149) => q(jub),
+ q(3150) => q(juc),
+ q(3151) => q(jud),
+ q(3152) => q(juh),
+ q(3153) => q(jui),
+ q(3154) => q(juk),
+ q(3155) => q(jul),
+ q(3156) => q(jum),
+ q(3157) => q(jun),
+ q(3158) => q(juo),
+ q(3159) => q(jup),
+ q(3160) => q(jur),
+ q(3161) => q(jus),
+ q(3162) => q(jut),
+ q(3163) => q(juu),
+ q(3164) => q(juw),
+ q(3165) => q(juy),
+ q(3166) => q(jvd),
+ q(3167) => q(jvn),
+ q(3168) => q(jwi),
+ q(3169) => q(jya),
+ q(3170) => q(jye),
+ q(3171) => q(jyy),
+ q(3172) => q(kad),
+ q(3173) => q(kae),
+ q(3174) => q(kaf),
+ q(3175) => q(kag),
+ q(3176) => q(kah),
+ q(3177) => q(kai),
+ q(3178) => q(kaj),
+ q(3179) => q(kak),
+ q(3180) => q(kao),
+ q(3181) => q(kap),
+ q(3182) => q(kaq),
+ q(3183) => q(kav),
+ q(3184) => q(kax),
+ q(3185) => q(kay),
+ q(3186) => q(kba),
+ q(3187) => q(kbb),
+ q(3188) => q(kbc),
+ q(3189) => q(kbe),
+ q(3190) => q(kbf),
+ q(3191) => q(kbg),
+ q(3192) => q(kbh),
+ q(3193) => q(kbi),
+ q(3194) => q(kbj),
+ q(3195) => q(kbk),
+ q(3196) => q(kbl),
+ q(3197) => q(kbm),
+ q(3198) => q(kbn),
+ q(3199) => q(kbo),
+ q(3200) => q(kbp),
+ q(3201) => q(kbq),
+ q(3202) => q(kbr),
+ q(3203) => q(kbs),
+ q(3204) => q(kbt),
+ q(3205) => q(kbu),
+ q(3206) => q(kbv),
+ q(3207) => q(kbw),
+ q(3208) => q(kbx),
+ q(3209) => q(kby),
+ q(3210) => q(kbz),
+ q(3211) => q(kca),
+ q(3212) => q(kcb),
+ q(3213) => q(kcc),
+ q(3214) => q(kcd),
+ q(3215) => q(kce),
+ q(3216) => q(kcf),
+ q(3217) => q(kcg),
+ q(3218) => q(kch),
+ q(3219) => q(kci),
+ q(3220) => q(kcj),
+ q(3221) => q(kck),
+ q(3222) => q(kcl),
+ q(3223) => q(kcm),
+ q(3224) => q(kcn),
+ q(3225) => q(kco),
+ q(3226) => q(kcp),
+ q(3227) => q(kcq),
+ q(3228) => q(kcr),
+ q(3229) => q(kcs),
+ q(3230) => q(kct),
+ q(3231) => q(kcu),
+ q(3232) => q(kcv),
+ q(3233) => q(kcw),
+ q(3234) => q(kcx),
+ q(3235) => q(kcy),
+ q(3236) => q(kcz),
+ q(3237) => q(kda),
+ q(3238) => q(kdc),
+ q(3239) => q(kdd),
+ q(3240) => q(kde),
+ q(3241) => q(kdf),
+ q(3242) => q(kdg),
+ q(3243) => q(kdh),
+ q(3244) => q(kdi),
+ q(3245) => q(kdj),
+ q(3246) => q(kdk),
+ q(3247) => q(kdl),
+ q(3248) => q(kdm),
+ q(3249) => q(kdn),
+ q(3250) => q(kdp),
+ q(3251) => q(kdq),
+ q(3252) => q(kdr),
+ q(3253) => q(kdt),
+ q(3254) => q(kdu),
+ q(3255) => q(kdw),
+ q(3256) => q(kdx),
+ q(3257) => q(kdy),
+ q(3258) => q(kdz),
+ q(3259) => q(kea),
+ q(3260) => q(keb),
+ q(3261) => q(kec),
+ q(3262) => q(ked),
+ q(3263) => q(kee),
+ q(3264) => q(kef),
+ q(3265) => q(keg),
+ q(3266) => q(keh),
+ q(3267) => q(kei),
+ q(3268) => q(kej),
+ q(3269) => q(kek),
+ q(3270) => q(kel),
+ q(3271) => q(kem),
+ q(3272) => q(ken),
+ q(3273) => q(keo),
+ q(3274) => q(kep),
+ q(3275) => q(keq),
+ q(3276) => q(ker),
+ q(3277) => q(kes),
+ q(3278) => q(ket),
+ q(3279) => q(keu),
+ q(3280) => q(kev),
+ q(3281) => q(kew),
+ q(3282) => q(kex),
+ q(3283) => q(key),
+ q(3284) => q(kez),
+ q(3285) => q(kfa),
+ q(3286) => q(kfb),
+ q(3287) => q(kfc),
+ q(3288) => q(kfd),
+ q(3289) => q(kfe),
+ q(3290) => q(kff),
+ q(3291) => q(kfg),
+ q(3292) => q(kfh),
+ q(3293) => q(kfi),
+ q(3294) => q(kfj),
+ q(3295) => q(kfk),
+ q(3296) => q(kfl),
+ q(3297) => q(kfm),
+ q(3298) => q(kfn),
+ q(3299) => q(kfo),
+ q(3300) => q(kfp),
+ q(3301) => q(kfq),
+ q(3302) => q(kfr),
+ q(3303) => q(kfs),
+ q(3304) => q(kft),
+ q(3305) => q(kfu),
+ q(3306) => q(kfv),
+ q(3307) => q(kfw),
+ q(3308) => q(kfx),
+ q(3309) => q(kfy),
+ q(3310) => q(kfz),
+ q(3311) => q(kga),
+ q(3312) => q(kgb),
+ q(3313) => q(kgc),
+ q(3314) => q(kgd),
+ q(3315) => q(kge),
+ q(3316) => q(kgf),
+ q(3317) => q(kgg),
+ q(3318) => q(kgi),
+ q(3319) => q(kgj),
+ q(3320) => q(kgk),
+ q(3321) => q(kgl),
+ q(3322) => q(kuq),
+ q(3323) => q(kgn),
+ q(3324) => q(kgo),
+ q(3325) => q(kgp),
+ q(3326) => q(kgq),
+ q(3327) => q(kgr),
+ q(3328) => q(kgs),
+ q(3329) => q(kgt),
+ q(3330) => q(kgu),
+ q(3331) => q(kgv),
+ q(3332) => q(kgw),
+ q(3333) => q(kgx),
+ q(3334) => q(kgy),
+ q(3335) => q(khb),
+ q(3336) => q(khc),
+ q(3337) => q(khd),
+ q(3338) => q(khe),
+ q(3339) => q(khf),
+ q(3340) => q(khg),
+ q(3341) => q(khh),
+ q(3342) => q(khj),
+ q(3343) => q(khk),
+ q(3344) => q(khl),
+ q(3345) => q(khn),
+ q(3346) => q(khp),
+ q(3347) => q(khq),
+ q(3348) => q(khr),
+ q(3349) => q(khs),
+ q(3350) => q(kht),
+ q(3351) => q(khu),
+ q(3352) => q(khv),
+ q(3353) => q(khw),
+ q(3354) => q(khx),
+ q(3355) => q(khy),
+ q(3356) => q(khz),
+ q(3357) => q(kia),
+ q(3358) => q(kib),
+ q(3359) => q(kic),
+ q(3360) => q(kid),
+ q(3361) => q(kie),
+ q(3362) => q(kif),
+ q(3363) => q(kig),
+ q(3364) => q(kih),
+ q(3365) => q(kii),
+ q(3366) => q(kij),
+ q(3367) => q(kil),
+ q(3368) => q(kim),
+ q(3369) => q(kio),
+ q(3370) => q(kip),
+ q(3371) => q(kiq),
+ q(3372) => q(kis),
+ q(3373) => q(kit),
+ q(3374) => q(kiu),
+ q(3375) => q(kiv),
+ q(3376) => q(kiw),
+ q(3377) => q(kix),
+ q(3378) => q(kiy),
+ q(3379) => q(kiz),
+ q(3380) => q(kja),
+ q(3381) => q(kjb),
+ q(3382) => q(kjc),
+ q(3383) => q(kjd),
+ q(3384) => q(kje),
+ q(3385) => q(kjf),
+ q(3386) => q(kjg),
+ q(3387) => q(kjh),
+ q(3388) => q(kji),
+ q(3389) => q(kjj),
+ q(3390) => q(kjk),
+ q(3391) => q(kjl),
+ q(3392) => q(kjm),
+ q(3393) => q(kjn),
+ q(3394) => q(kjo),
+ q(3395) => q(kjp),
+ q(3396) => q(kjq),
+ q(3397) => q(kjr),
+ q(3398) => q(kjs),
+ q(3399) => q(kjt),
+ q(3400) => q(kju),
+ q(3401) => q(kjx),
+ q(3402) => q(kjy),
+ q(3403) => q(kjz),
+ q(3404) => q(kka),
+ q(3405) => q(kkb),
+ q(3406) => q(kkc),
+ q(3407) => q(kkd),
+ q(3408) => q(kke),
+ q(3409) => q(kkf),
+ q(3410) => q(kkg),
+ q(3411) => q(kkh),
+ q(3412) => q(kki),
+ q(3413) => q(kkj),
+ q(3414) => q(kkk),
+ q(3415) => q(kkl),
+ q(3416) => q(kkm),
+ q(3417) => q(kkn),
+ q(3418) => q(kko),
+ q(3419) => q(kkp),
+ q(3420) => q(kkq),
+ q(3421) => q(kkr),
+ q(3422) => q(kks),
+ q(3423) => q(kkt),
+ q(3424) => q(kku),
+ q(3425) => q(kkv),
+ q(3426) => q(kkw),
+ q(3427) => q(kkx),
+ q(3428) => q(kky),
+ q(3429) => q(kkz),
+ q(3430) => q(kla),
+ q(3431) => q(klb),
+ q(3432) => q(klc),
+ q(3433) => q(kld),
+ q(3434) => q(kle),
+ q(3435) => q(klf),
+ q(3436) => q(klg),
+ q(3437) => q(klh),
+ q(3438) => q(kli),
+ q(3439) => q(klj),
+ q(3440) => q(klk),
+ q(3441) => q(kll),
+ q(3442) => q(klm),
+ q(3443) => q(kln),
+ q(3444) => q(klo),
+ q(3445) => q(klp),
+ q(3446) => q(klq),
+ q(3447) => q(klr),
+ q(3448) => q(kls),
+ q(3449) => q(klt),
+ q(3450) => q(klu),
+ q(3451) => q(klv),
+ q(3452) => q(klw),
+ q(3453) => q(klx),
+ q(3454) => q(kly),
+ q(3455) => q(klz),
+ q(3456) => q(kma),
+ q(3457) => q(kmc),
+ q(3458) => q(kmd),
+ q(3459) => q(kme),
+ q(3460) => q(kmf),
+ q(3461) => q(kmg),
+ q(3462) => q(kmh),
+ q(3463) => q(kmi),
+ q(3464) => q(kmj),
+ q(3465) => q(kmk),
+ q(3466) => q(kml),
+ q(3467) => q(kmm),
+ q(3468) => q(kmn),
+ q(3469) => q(kmo),
+ q(3470) => q(kmp),
+ q(3471) => q(kmq),
+ q(3472) => q(kmr),
+ q(3473) => q(kms),
+ q(3474) => q(kmt),
+ q(3475) => q(kmu),
+ q(3476) => q(kmv),
+ q(3477) => q(kmw),
+ q(3478) => q(kmx),
+ q(3479) => q(kmy),
+ q(3480) => q(kmz),
+ q(3481) => q(kna),
+ q(3482) => q(knb),
+ q(3483) => q(knc),
+ q(3484) => q(knd),
+ q(3485) => q(kne),
+ q(3486) => q(knf),
+ q(3487) => q(kng),
+ q(3488) => q(kni),
+ q(3489) => q(knj),
+ q(3490) => q(knk),
+ q(3491) => q(knl),
+ q(3492) => q(knm),
+ q(3493) => q(knn),
+ q(3494) => q(kno),
+ q(3495) => q(knp),
+ q(3496) => q(knq),
+ q(3497) => q(knr),
+ q(3498) => q(kns),
+ q(3499) => q(knt),
+ q(3500) => q(knu),
+ q(3501) => q(knv),
+ q(3502) => q(knw),
+ q(3503) => q(knx),
+ q(3504) => q(kny),
+ q(3505) => q(knz),
+ q(3506) => q(koa),
+ q(3507) => q(koc),
+ q(3508) => q(kod),
+ q(3509) => q(koe),
+ q(3510) => q(kof),
+ q(3511) => q(kog),
+ q(3512) => q(koh),
+ q(3513) => q(koi),
+ q(3514) => q(koj),
+ q(3515) => q(kol),
+ q(3516) => q(koo),
+ q(3517) => q(kop),
+ q(3518) => q(koq),
+ q(3519) => q(kot),
+ q(3520) => q(kou),
+ q(3521) => q(kov),
+ q(3522) => q(kow),
+ q(3523) => q(kox),
+ q(3524) => q(koy),
+ q(3525) => q(koz),
+ q(3526) => q(kpa),
+ q(3527) => q(kpb),
+ q(3528) => q(kpc),
+ q(3529) => q(kpd),
+ q(3530) => q(kpf),
+ q(3531) => q(kpg),
+ q(3532) => q(kph),
+ q(3533) => q(kpi),
+ q(3534) => q(kpj),
+ q(3535) => q(kpk),
+ q(3536) => q(kpl),
+ q(3537) => q(kpm),
+ q(3538) => q(kpn),
+ q(3539) => q(kpo),
+ q(3540) => q(kpq),
+ q(3541) => q(kpr),
+ q(3542) => q(kps),
+ q(3543) => q(kpt),
+ q(3544) => q(kpu),
+ q(3545) => q(kpv),
+ q(3546) => q(kpw),
+ q(3547) => q(kpx),
+ q(3548) => q(kpy),
+ q(3549) => q(kpz),
+ q(3550) => q(kqa),
+ q(3551) => q(kqb),
+ q(3552) => q(kqc),
+ q(3553) => q(kqd),
+ q(3554) => q(kqe),
+ q(3555) => q(kqf),
+ q(3556) => q(kqg),
+ q(3557) => q(kqh),
+ q(3558) => q(kqi),
+ q(3559) => q(kqj),
+ q(3560) => q(kqk),
+ q(3561) => q(kql),
+ q(3562) => q(kqm),
+ q(3563) => q(kqn),
+ q(3564) => q(kqo),
+ q(3565) => q(kqp),
+ q(3566) => q(kqq),
+ q(3567) => q(kqr),
+ q(3568) => q(kqs),
+ q(3569) => q(kqt),
+ q(3570) => q(kqu),
+ q(3571) => q(kqv),
+ q(3572) => q(kqw),
+ q(3573) => q(kqx),
+ q(3574) => q(kqy),
+ q(3575) => q(kqz),
+ q(3576) => q(kra),
+ q(3577) => q(krb),
+ q(3578) => q(krd),
+ q(3579) => q(kre),
+ q(3580) => q(krf),
+ q(3581) => q(krh),
+ q(3582) => q(kri),
+ q(3583) => q(krj),
+ q(3584) => q(krk),
+ q(3585) => q(krm),
+ q(3586) => q(krn),
+ q(3587) => q(krp),
+ q(3588) => q(krr),
+ q(3589) => q(krs),
+ q(3590) => q(krt),
+ q(3591) => q(krv),
+ q(3592) => q(krw),
+ q(3593) => q(krx),
+ q(3594) => q(kry),
+ q(3595) => q(krz),
+ q(3596) => q(ksa),
+ q(3597) => q(ksb),
+ q(3598) => q(ksc),
+ q(3599) => q(ksd),
+ q(3600) => q(kse),
+ q(3601) => q(ksf),
+ q(3602) => q(ksg),
+ q(3603) => q(ksh),
+ q(3604) => q(ksi),
+ q(3605) => q(ksj),
+ q(3606) => q(ksk),
+ q(3607) => q(ksl),
+ q(3608) => q(ksm),
+ q(3609) => q(ksn),
+ q(3610) => q(kso),
+ q(3611) => q(ksp),
+ q(3612) => q(ksq),
+ q(3613) => q(ksr),
+ q(3614) => q(kss),
+ q(3615) => q(kst),
+ q(3616) => q(ksu),
+ q(3617) => q(ksv),
+ q(3618) => q(ksw),
+ q(3619) => q(ksx),
+ q(3620) => q(ksy),
+ q(3621) => q(ksz),
+ q(3622) => q(kta),
+ q(3623) => q(ktb),
+ q(3624) => q(ktc),
+ q(3625) => q(ktd),
+ q(3626) => q(kte),
+ q(3627) => q(ktf),
+ q(3628) => q(ktg),
+ q(3629) => q(kth),
+ q(3630) => q(kti),
+ q(3631) => q(ktj),
+ q(3632) => q(ktk),
+ q(3633) => q(ktl),
+ q(3634) => q(ktm),
+ q(3635) => q(ktn),
+ q(3636) => q(kto),
+ q(3637) => q(ktp),
+ q(3638) => q(ktq),
+ q(3639) => q(ktr),
+ q(3640) => q(kts),
+ q(3641) => q(ktt),
+ q(3642) => q(ktu),
+ q(3643) => q(ktv),
+ q(3644) => q(ktw),
+ q(3645) => q(ktx),
+ q(3646) => q(kty),
+ q(3647) => q(ktz),
+ q(3648) => q(kub),
+ q(3649) => q(kuc),
+ q(3650) => q(kud),
+ q(3651) => q(kue),
+ q(3652) => q(kuf),
+ q(3653) => q(kug),
+ q(3654) => q(kuh),
+ q(3655) => q(kui),
+ q(3656) => q(kuj),
+ q(3657) => q(kuk),
+ q(3658) => q(kul),
+ q(3659) => q(kun),
+ q(3660) => q(kuo),
+ q(3661) => q(kup),
+ q(3662) => q(kus),
+ q(3663) => q(kuu),
+ q(3664) => q(kuv),
+ q(3665) => q(kuw),
+ q(3666) => q(kux),
+ q(3667) => q(kuy),
+ q(3668) => q(kuz),
+ q(3669) => q(kva),
+ q(3670) => q(kvb),
+ q(3671) => q(kvc),
+ q(3672) => q(kvd),
+ q(3673) => q(kve),
+ q(3674) => q(kvf),
+ q(3675) => q(kvg),
+ q(3676) => q(kvh),
+ q(3677) => q(kvi),
+ q(3678) => q(kvj),
+ q(3679) => q(kvk),
+ q(3680) => q(kvl),
+ q(3681) => q(kvm),
+ q(3682) => q(kvn),
+ q(3683) => q(kvo),
+ q(3684) => q(kvp),
+ q(3685) => q(kvq),
+ q(3686) => q(kvr),
+ q(3687) => q(kvs),
+ q(3688) => q(kvt),
+ q(3689) => q(kvu),
+ q(3690) => q(kvv),
+ q(3691) => q(kvw),
+ q(3692) => q(kvx),
+ q(3693) => q(kvy),
+ q(3694) => q(kvz),
+ q(3695) => q(kwa),
+ q(3696) => q(kwb),
+ q(3697) => q(kwc),
+ q(3698) => q(kwd),
+ q(3699) => q(kwe),
+ q(3700) => q(kwf),
+ q(3701) => q(kwg),
+ q(3702) => q(kwh),
+ q(3703) => q(kwi),
+ q(3704) => q(kwj),
+ q(3705) => q(kwk),
+ q(3706) => q(kwl),
+ q(3707) => q(kwm),
+ q(3708) => q(kwn),
+ q(3709) => q(kwo),
+ q(3710) => q(kwp),
+ q(3711) => q(kwq),
+ q(3712) => q(kwr),
+ q(3713) => q(kws),
+ q(3714) => q(kwt),
+ q(3715) => q(kwu),
+ q(3716) => q(kwv),
+ q(3717) => q(kww),
+ q(3718) => q(kwx),
+ q(3719) => q(kwy),
+ q(3720) => q(kwz),
+ q(3721) => q(kxa),
+ q(3722) => q(kxb),
+ q(3723) => q(kxc),
+ q(3724) => q(kxd),
+ q(3725) => q(kxe),
+ q(3726) => q(kxf),
+ q(3727) => q(kxh),
+ q(3728) => q(kxi),
+ q(3729) => q(kxj),
+ q(3730) => q(kxk),
+ q(3731) => q(kxl),
+ q(3732) => q(kxm),
+ q(3733) => q(kxn),
+ q(3734) => q(kxo),
+ q(3735) => q(kxp),
+ q(3736) => q(kxq),
+ q(3737) => q(kxr),
+ q(3738) => q(kxs),
+ q(3739) => q(kxt),
+ q(3740) => q(kxu),
+ q(3741) => q(kxv),
+ q(3742) => q(kxw),
+ q(3743) => q(kxx),
+ q(3744) => q(kxy),
+ q(3745) => q(kxz),
+ q(3746) => q(kya),
+ q(3747) => q(kyb),
+ q(3748) => q(kyc),
+ q(3749) => q(kyd),
+ q(3750) => q(kye),
+ q(3751) => q(kyf),
+ q(3752) => q(kyg),
+ q(3753) => q(kyh),
+ q(3754) => q(kyi),
+ q(3755) => q(kyj),
+ q(3756) => q(kyk),
+ q(3757) => q(kyl),
+ q(3758) => q(kym),
+ q(3759) => q(kyn),
+ q(3760) => q(kyo),
+ q(3761) => q(kyp),
+ q(3762) => q(kyq),
+ q(3763) => q(kyr),
+ q(3764) => q(kys),
+ q(3765) => q(kyt),
+ q(3766) => q(kyu),
+ q(3767) => q(kyv),
+ q(3768) => q(kyw),
+ q(3769) => q(kyx),
+ q(3770) => q(kyy),
+ q(3771) => q(kyz),
+ q(3772) => q(kza),
+ q(3773) => q(kzb),
+ q(3774) => q(kzc),
+ q(3775) => q(kzd),
+ q(3776) => q(kze),
+ q(3777) => q(kzf),
+ q(3778) => q(kzg),
+ q(3779) => q(kzi),
+ q(3780) => q(kzj),
+ q(3781) => q(kzk),
+ q(3782) => q(kzl),
+ q(3783) => q(kzm),
+ q(3784) => q(kzn),
+ q(3785) => q(kzo),
+ q(3786) => q(kzp),
+ q(3787) => q(kzq),
+ q(3788) => q(kzr),
+ q(3789) => q(kzs),
+ q(3790) => q(kzt),
+ q(3791) => q(kzu),
+ q(3792) => q(kzv),
+ q(3793) => q(kzw),
+ q(3794) => q(kzx),
+ q(3795) => q(kzy),
+ q(3796) => q(kzz),
+ q(3797) => q(laa),
+ q(3798) => q(lab),
+ q(3799) => q(lac),
+ q(3800) => q(lae),
+ q(3801) => q(laf),
+ q(3802) => q(lag),
+ q(3803) => q(lai),
+ q(3804) => q(laj),
+ q(3805) => q(lak),
+ q(3806) => q(lal),
+ q(3807) => q(lan),
+ q(3808) => q(lap),
+ q(3809) => q(laq),
+ q(3810) => q(lar),
+ q(3811) => q(las),
+ q(3812) => q(lau),
+ q(3813) => q(law),
+ q(3814) => q(lax),
+ q(3815) => q(lay),
+ q(3816) => q(laz),
+ q(3817) => q(lba),
+ q(3818) => q(lbb),
+ q(3819) => q(lbc),
+ q(3820) => q(lbe),
+ q(3821) => q(lbf),
+ q(3822) => q(lbg),
+ q(3823) => q(lbi),
+ q(3824) => q(lbj),
+ q(3825) => q(lbk),
+ q(3826) => q(lbl),
+ q(3827) => q(lbm),
+ q(3828) => q(lbn),
+ q(3829) => q(lbo),
+ q(3830) => q(lbq),
+ q(3831) => q(lbr),
+ q(3832) => q(lbs),
+ q(3833) => q(lbt),
+ q(3834) => q(lbu),
+ q(3835) => q(lbv),
+ q(3836) => q(lbw),
+ q(3837) => q(lbx),
+ q(3838) => q(lby),
+ q(3839) => q(lbz),
+ q(3840) => q(lcc),
+ q(3841) => q(lcd),
+ q(3842) => q(lce),
+ q(3843) => q(lcf),
+ q(3844) => q(lch),
+ q(3845) => q(lcl),
+ q(3846) => q(lcm),
+ q(3847) => q(lcp),
+ q(3848) => q(lcq),
+ q(3849) => q(lcs),
+ q(3850) => q(lda),
+ q(3851) => q(ldb),
+ q(3852) => q(ldd),
+ q(3853) => q(ldg),
+ q(3854) => q(ldh),
+ q(3855) => q(ldi),
+ q(3856) => q(ldj),
+ q(3857) => q(ldk),
+ q(3858) => q(ldl),
+ q(3859) => q(ldm),
+ q(3860) => q(ldn),
+ q(3861) => q(ldo),
+ q(3862) => q(ldp),
+ q(3863) => q(ldq),
+ q(3864) => q(lea),
+ q(3865) => q(leb),
+ q(3866) => q(lec),
+ q(3867) => q(led),
+ q(3868) => q(lee),
+ q(3869) => q(lef),
+ q(3870) => q(leg),
+ q(3871) => q(leh),
+ q(3872) => q(lei),
+ q(3873) => q(lej),
+ q(3874) => q(lek),
+ q(3875) => q(lel),
+ q(3876) => q(lem),
+ q(3877) => q(len),
+ q(3878) => q(leo),
+ q(3879) => q(lep),
+ q(3880) => q(leq),
+ q(3881) => q(ler),
+ q(3882) => q(les),
+ q(3883) => q(let),
+ q(3884) => q(leu),
+ q(3885) => q(lev),
+ q(3886) => q(lew),
+ q(3887) => q(lex),
+ q(3888) => q(ley),
+ q(3889) => q(lfa),
+ q(3890) => q(lfn),
+ q(3891) => q(lga),
+ q(3892) => q(lgb),
+ q(3893) => q(lgg),
+ q(3894) => q(lgh),
+ q(3895) => q(lgi),
+ q(3896) => q(lgk),
+ q(3897) => q(lgl),
+ q(3898) => q(lgm),
+ q(3899) => q(lgn),
+ q(3900) => q(lgq),
+ q(3901) => q(lgr),
+ q(3902) => q(lgt),
+ q(3903) => q(lgu),
+ q(3904) => q(lgz),
+ q(3905) => q(lha),
+ q(3906) => q(lhh),
+ q(3907) => q(lhi),
+ q(3908) => q(lhl),
+ q(3909) => q(lhm),
+ q(3910) => q(lhn),
+ q(3911) => q(lhp),
+ q(3912) => q(lhs),
+ q(3913) => q(lht),
+ q(3914) => q(lhu),
+ q(3915) => q(lia),
+ q(3916) => q(lib),
+ q(3917) => q(lic),
+ q(3918) => q(lid),
+ q(3919) => q(lie),
+ q(3920) => q(lif),
+ q(3921) => q(lig),
+ q(3922) => q(lih),
+ q(3923) => q(lii),
+ q(3924) => q(lij),
+ q(3925) => q(lik),
+ q(3926) => q(lil),
+ q(3927) => q(lio),
+ q(3928) => q(lip),
+ q(3929) => q(liq),
+ q(3930) => q(lir),
+ q(3931) => q(lis),
+ q(3932) => q(liu),
+ q(3933) => q(liv),
+ q(3934) => q(liw),
+ q(3935) => q(lix),
+ q(3936) => q(liy),
+ q(3937) => q(liz),
+ q(3938) => q(lja),
+ q(3939) => q(lje),
+ q(3940) => q(lji),
+ q(3941) => q(ljl),
+ q(3942) => q(ljp),
+ q(3943) => q(ljw),
+ q(3944) => q(ljx),
+ q(3945) => q(lka),
+ q(3946) => q(lkb),
+ q(3947) => q(lkc),
+ q(3948) => q(lkd),
+ q(3949) => q(lke),
+ q(3950) => q(lkh),
+ q(3951) => q(lki),
+ q(3952) => q(lkj),
+ q(3953) => q(lkl),
+ q(3954) => q(lkm),
+ q(3955) => q(lkn),
+ q(3956) => q(lko),
+ q(3957) => q(lkr),
+ q(3958) => q(lks),
+ q(3959) => q(lkt),
+ q(3960) => q(lku),
+ q(3961) => q(lky),
+ q(3962) => q(lla),
+ q(3963) => q(llb),
+ q(3964) => q(llc),
+ q(3965) => q(lld),
+ q(3966) => q(lle),
+ q(3967) => q(llf),
+ q(3968) => q(llg),
+ q(3969) => q(llh),
+ q(3970) => q(lli),
+ q(3971) => q(llj),
+ q(3972) => q(llk),
+ q(3973) => q(lll),
+ q(3974) => q(llm),
+ q(3975) => q(lln),
+ q(3976) => q(llo),
+ q(3977) => q(llp),
+ q(3978) => q(llq),
+ q(3979) => q(lls),
+ q(3980) => q(llu),
+ q(3981) => q(llx),
+ q(3982) => q(lma),
+ q(3983) => q(lmb),
+ q(3984) => q(lmc),
+ q(3985) => q(lmd),
+ q(3986) => q(lme),
+ q(3987) => q(lmf),
+ q(3988) => q(lmg),
+ q(3989) => q(lmh),
+ q(3990) => q(lmi),
+ q(3991) => q(lmj),
+ q(3992) => q(lmk),
+ q(3993) => q(lml),
+ q(3994) => q(lmm),
+ q(3995) => q(lmn),
+ q(3996) => q(lmo),
+ q(3997) => q(lmp),
+ q(3998) => q(lmq),
+ q(3999) => q(lmr),
+ q(4000) => q(lmu),
+ q(4001) => q(lmv),
+ q(4002) => q(lmw),
+ q(4003) => q(lmx),
+ q(4004) => q(lmy),
+ q(4005) => q(lmz),
+ q(4006) => q(lna),
+ q(4007) => q(lnb),
+ q(4008) => q(lnd),
+ q(4009) => q(lng),
+ q(4010) => q(lnh),
+ q(4011) => q(lni),
+ q(4012) => q(lnj),
+ q(4013) => q(lnl),
+ q(4014) => q(lnm),
+ q(4015) => q(lnn),
+ q(4016) => q(lno),
+ q(4017) => q(lns),
+ q(4018) => q(lnu),
+ q(4019) => q(lnw),
+ q(4020) => q(lnz),
+ q(4021) => q(loa),
+ q(4022) => q(lob),
+ q(4023) => q(loc),
+ q(4024) => q(loe),
+ q(4025) => q(lof),
+ q(4026) => q(log),
+ q(4027) => q(loh),
+ q(4028) => q(loi),
+ q(4029) => q(loj),
+ q(4030) => q(lok),
+ q(4031) => q(lom),
+ q(4032) => q(lon),
+ q(4033) => q(loo),
+ q(4034) => q(lop),
+ q(4035) => q(loq),
+ q(4036) => q(lor),
+ q(4037) => q(los),
+ q(4038) => q(lot),
+ q(4039) => q(lou),
+ q(4040) => q(lov),
+ q(4041) => q(low),
+ q(4042) => q(lox),
+ q(4043) => q(loy),
+ q(4044) => q(lpa),
+ q(4045) => q(lpe),
+ q(4046) => q(lpn),
+ q(4047) => q(lpo),
+ q(4048) => q(lpx),
+ q(4049) => q(lra),
+ q(4050) => q(lrc),
+ q(4051) => q(lre),
+ q(4052) => q(lrg),
+ q(4053) => q(lri),
+ q(4054) => q(lrk),
+ q(4055) => q(lrl),
+ q(4056) => q(lrm),
+ q(4057) => q(lrn),
+ q(4058) => q(lro),
+ q(4059) => q(lrr),
+ q(4060) => q(lrt),
+ q(4061) => q(lrv),
+ q(4062) => q(lrz),
+ q(4063) => q(lsa),
+ q(4064) => q(lsd),
+ q(4065) => q(lse),
+ q(4066) => q(lsg),
+ q(4067) => q(lsh),
+ q(4068) => q(lsi),
+ q(4069) => q(lsl),
+ q(4070) => q(lsm),
+ q(4071) => q(lso),
+ q(4072) => q(lsp),
+ q(4073) => q(lsr),
+ q(4074) => q(lss),
+ q(4075) => q(lst),
+ q(4076) => q(lsy),
+ q(4077) => q(ltc),
+ q(4078) => q(ltg),
+ q(4079) => q(lti),
+ q(4080) => q(ltn),
+ q(4081) => q(lto),
+ q(4082) => q(lts),
+ q(4083) => q(ltu),
+ q(4084) => q(luc),
+ q(4085) => q(lud),
+ q(4086) => q(lue),
+ q(4087) => q(luf),
+ q(4088) => q(luj),
+ q(4089) => q(luk),
+ q(4090) => q(lul),
+ q(4091) => q(lum),
+ q(4092) => q(lup),
+ q(4093) => q(luq),
+ q(4094) => q(lur),
+ q(4095) => q(lut),
+ q(4096) => q(luu),
+ q(4097) => q(luv),
+ q(4098) => q(luw),
+ q(4099) => q(luy),
+ q(4100) => q(luz),
+ q(4101) => q(lva),
+ q(4102) => q(lvk),
+ q(4103) => q(lvs),
+ q(4104) => q(lvu),
+ q(4105) => q(lwa),
+ q(4106) => q(lwe),
+ q(4107) => q(lwg),
+ q(4108) => q(lwh),
+ q(4109) => q(lwl),
+ q(4110) => q(lwm),
+ q(4111) => q(lwo),
+ q(4112) => q(lwt),
+ q(4113) => q(lwu),
+ q(4114) => q(lww),
+ q(4115) => q(lya),
+ q(4116) => q(lyg),
+ q(4117) => q(lyn),
+ q(4118) => q(lzh),
+ q(4119) => q(lzl),
+ q(4120) => q(lzn),
+ q(4121) => q(lzz),
+ q(4122) => q(maa),
+ q(4123) => q(mab),
+ q(4124) => q(mae),
+ q(4125) => q(maf),
+ q(4126) => q(maj),
+ q(4127) => q(mam),
+ q(4128) => q(maq),
+ q(4129) => q(mat),
+ q(4130) => q(mau),
+ q(4131) => q(mav),
+ q(4132) => q(maw),
+ q(4133) => q(max),
+ q(4134) => q(maz),
+ q(4135) => q(mba),
+ q(4136) => q(mbb),
+ q(4137) => q(mbc),
+ q(4138) => q(mbd),
+ q(4139) => q(mbe),
+ q(4140) => q(mbf),
+ q(4141) => q(mbh),
+ q(4142) => q(mbi),
+ q(4143) => q(mbj),
+ q(4144) => q(mbk),
+ q(4145) => q(mbl),
+ q(4146) => q(mbm),
+ q(4147) => q(mbn),
+ q(4148) => q(mbo),
+ q(4149) => q(mbp),
+ q(4150) => q(mbq),
+ q(4151) => q(mbr),
+ q(4152) => q(mbs),
+ q(4153) => q(mbt),
+ q(4154) => q(mbu),
+ q(4155) => q(mbv),
+ q(4156) => q(mbw),
+ q(4157) => q(mbx),
+ q(4158) => q(mby),
+ q(4159) => q(mbz),
+ q(4160) => q(mca),
+ q(4161) => q(mcb),
+ q(4162) => q(mcc),
+ q(4163) => q(mcd),
+ q(4164) => q(mce),
+ q(4165) => q(mcf),
+ q(4166) => q(mcg),
+ q(4167) => q(mch),
+ q(4168) => q(mci),
+ q(4169) => q(mcj),
+ q(4170) => q(mck),
+ q(4171) => q(mcl),
+ q(4172) => q(mcm),
+ q(4173) => q(mcn),
+ q(4174) => q(mco),
+ q(4175) => q(mcp),
+ q(4176) => q(mcq),
+ q(4177) => q(mcr),
+ q(4178) => q(mcs),
+ q(4179) => q(mct),
+ q(4180) => q(mcu),
+ q(4181) => q(mcv),
+ q(4182) => q(mcw),
+ q(4183) => q(mcx),
+ q(4184) => q(mcy),
+ q(4185) => q(mcz),
+ q(4186) => q(mda),
+ q(4187) => q(mdb),
+ q(4188) => q(mdc),
+ q(4189) => q(mdd),
+ q(4190) => q(mde),
+ q(4191) => q(mdg),
+ q(4192) => q(mdh),
+ q(4193) => q(mdi),
+ q(4194) => q(mdj),
+ q(4195) => q(mdk),
+ q(4196) => q(mdl),
+ q(4197) => q(mdm),
+ q(4198) => q(mdn),
+ q(4199) => q(mdp),
+ q(4200) => q(mdq),
+ q(4201) => q(mds),
+ q(4202) => q(mdt),
+ q(4203) => q(mdu),
+ q(4204) => q(mdv),
+ q(4205) => q(mdw),
+ q(4206) => q(mdx),
+ q(4207) => q(mdy),
+ q(4208) => q(mdz),
+ q(4209) => q(mea),
+ q(4210) => q(meb),
+ q(4211) => q(mec),
+ q(4212) => q(med),
+ q(4213) => q(mee),
+ q(4214) => q(mef),
+ q(4215) => q(meh),
+ q(4216) => q(mei),
+ q(4217) => q(mej),
+ q(4218) => q(mek),
+ q(4219) => q(mel),
+ q(4220) => q(mem),
+ q(4221) => q(meo),
+ q(4222) => q(mep),
+ q(4223) => q(meq),
+ q(4224) => q(mer),
+ q(4225) => q(mes),
+ q(4226) => q(met),
+ q(4227) => q(meu),
+ q(4228) => q(mev),
+ q(4229) => q(mew),
+ q(4230) => q(mey),
+ q(4231) => q(mez),
+ q(4232) => q(mfa),
+ q(4233) => q(mfb),
+ q(4234) => q(mfc),
+ q(4235) => q(mfd),
+ q(4236) => q(mfe),
+ q(4237) => q(mff),
+ q(4238) => q(mfg),
+ q(4239) => q(mfh),
+ q(4240) => q(mfi),
+ q(4241) => q(mfj),
+ q(4242) => q(mfk),
+ q(4243) => q(mfl),
+ q(4244) => q(mfm),
+ q(4245) => q(mfn),
+ q(4246) => q(mfo),
+ q(4247) => q(mfp),
+ q(4248) => q(mfq),
+ q(4249) => q(mfr),
+ q(4250) => q(mfs),
+ q(4251) => q(mft),
+ q(4252) => q(mfu),
+ q(4253) => q(mfv),
+ q(4254) => q(mfw),
+ q(4255) => q(mfx),
+ q(4256) => q(mfy),
+ q(4257) => q(mfz),
+ q(4258) => q(mgb),
+ q(4259) => q(mgc),
+ q(4260) => q(mgd),
+ q(4261) => q(mge),
+ q(4262) => q(mgf),
+ q(4263) => q(mgg),
+ q(4264) => q(mgh),
+ q(4265) => q(mgi),
+ q(4266) => q(mgj),
+ q(4267) => q(mgk),
+ q(4268) => q(mgl),
+ q(4269) => q(mgm),
+ q(4270) => q(mgn),
+ q(4271) => q(mgo),
+ q(4272) => q(mgp),
+ q(4273) => q(mgq),
+ q(4274) => q(mgr),
+ q(4275) => q(mgs),
+ q(4276) => q(mgt),
+ q(4277) => q(mgu),
+ q(4278) => q(mgv),
+ q(4279) => q(mgw),
+ q(4280) => q(mgy),
+ q(4281) => q(mgz),
+ q(4282) => q(mha),
+ q(4283) => q(mhb),
+ q(4284) => q(mhc),
+ q(4285) => q(mhd),
+ q(4286) => q(mhe),
+ q(4287) => q(mhf),
+ q(4288) => q(mhg),
+ q(4289) => q(mhh),
+ q(4290) => q(mhi),
+ q(4291) => q(mhj),
+ q(4292) => q(mhk),
+ q(4293) => q(mhl),
+ q(4294) => q(mhm),
+ q(4295) => q(mhn),
+ q(4296) => q(mho),
+ q(4297) => q(mhp),
+ q(4298) => q(mhq),
+ q(4299) => q(mhr),
+ q(4300) => q(mhs),
+ q(4301) => q(mht),
+ q(4302) => q(mhu),
+ q(4303) => q(mhw),
+ q(4304) => q(mhx),
+ q(4305) => q(mhy),
+ q(4306) => q(mhz),
+ q(4307) => q(mia),
+ q(4308) => q(mib),
+ q(4309) => q(mid),
+ q(4310) => q(mie),
+ q(4311) => q(mif),
+ q(4312) => q(mig),
+ q(4313) => q(mih),
+ q(4314) => q(mii),
+ q(4315) => q(mij),
+ q(4316) => q(mik),
+ q(4317) => q(mil),
+ q(4318) => q(mim),
+ q(4319) => q(mio),
+ q(4320) => q(mip),
+ q(4321) => q(miq),
+ q(4322) => q(mir),
+ q(4323) => q(mit),
+ q(4324) => q(miu),
+ q(4325) => q(miw),
+ q(4326) => q(mix),
+ q(4327) => q(miy),
+ q(4328) => q(miz),
+ q(4329) => q(mjc),
+ q(4330) => q(mjd),
+ q(4331) => q(mje),
+ q(4332) => q(mjg),
+ q(4333) => q(mjh),
+ q(4334) => q(mji),
+ q(4335) => q(mjj),
+ q(4336) => q(mjk),
+ q(4337) => q(mjl),
+ q(4338) => q(mjm),
+ q(4339) => q(mjn),
+ q(4340) => q(mjo),
+ q(4341) => q(mjp),
+ q(4342) => q(mjq),
+ q(4343) => q(mjr),
+ q(4344) => q(mjs),
+ q(4345) => q(mjt),
+ q(4346) => q(mju),
+ q(4347) => q(mjv),
+ q(4348) => q(mjw),
+ q(4349) => q(mjx),
+ q(4350) => q(mjy),
+ q(4351) => q(mjz),
+ q(4352) => q(mka),
+ q(4353) => q(mkb),
+ q(4354) => q(mkc),
+ q(4355) => q(mke),
+ q(4356) => q(mkf),
+ q(4357) => q(mkg),
+ q(4358) => q(mki),
+ q(4359) => q(mkj),
+ q(4360) => q(mkk),
+ q(4361) => q(mkl),
+ q(4362) => q(mkm),
+ q(4363) => q(mkn),
+ q(4364) => q(mko),
+ q(4365) => q(mkp),
+ q(4366) => q(mkq),
+ q(4367) => q(mkr),
+ q(4368) => q(mks),
+ q(4369) => q(mkt),
+ q(4370) => q(mku),
+ q(4371) => q(mkv),
+ q(4372) => q(mkw),
+ q(4373) => q(mkx),
+ q(4374) => q(mky),
+ q(4375) => q(mkz),
+ q(4376) => q(mla),
+ q(4377) => q(mlb),
+ q(4378) => q(mlc),
+ q(4379) => q(mle),
+ q(4380) => q(mlf),
+ q(4381) => q(mlh),
+ q(4382) => q(mli),
+ q(4383) => q(mlj),
+ q(4384) => q(mlk),
+ q(4385) => q(mll),
+ q(4386) => q(mlm),
+ q(4387) => q(mln),
+ q(4388) => q(mlo),
+ q(4389) => q(mlp),
+ q(4390) => q(mlq),
+ q(4391) => q(mlr),
+ q(4392) => q(mls),
+ q(4393) => q(mlu),
+ q(4394) => q(mlv),
+ q(4395) => q(mlw),
+ q(4396) => q(mlx),
+ q(4397) => q(mlz),
+ q(4398) => q(mma),
+ q(4399) => q(mmb),
+ q(4400) => q(mmc),
+ q(4401) => q(mmd),
+ q(4402) => q(mme),
+ q(4403) => q(mmf),
+ q(4404) => q(mmg),
+ q(4405) => q(mmh),
+ q(4406) => q(mmi),
+ q(4407) => q(mmj),
+ q(4408) => q(mmk),
+ q(4409) => q(mml),
+ q(4410) => q(mmm),
+ q(4411) => q(mmn),
+ q(4412) => q(mmo),
+ q(4413) => q(mmp),
+ q(4414) => q(mmq),
+ q(4415) => q(mmr),
+ q(4416) => q(mmt),
+ q(4417) => q(mmu),
+ q(4418) => q(mmv),
+ q(4419) => q(mmw),
+ q(4420) => q(mmx),
+ q(4421) => q(mmy),
+ q(4422) => q(mmz),
+ q(4423) => q(mna),
+ q(4424) => q(mnb),
+ q(4425) => q(mnd),
+ q(4426) => q(mne),
+ q(4427) => q(mnf),
+ q(4428) => q(mng),
+ q(4429) => q(mnh),
+ q(4430) => q(mnj),
+ q(4431) => q(mnk),
+ q(4432) => q(mnl),
+ q(4433) => q(mnm),
+ q(4434) => q(mnn),
+ q(4435) => q(mnp),
+ q(4436) => q(mnq),
+ q(4437) => q(mnr),
+ q(4438) => q(mns),
+ q(4439) => q(mnu),
+ q(4440) => q(mnv),
+ q(4441) => q(mnw),
+ q(4442) => q(mnx),
+ q(4443) => q(mny),
+ q(4444) => q(mnz),
+ q(4445) => q(moa),
+ q(4446) => q(moc),
+ q(4447) => q(mod),
+ q(4448) => q(moe),
+ q(4449) => q(mog),
+ q(4450) => q(moi),
+ q(4451) => q(moj),
+ q(4452) => q(mok),
+ q(4453) => q(mom),
+ q(4454) => q(moo),
+ q(4455) => q(mop),
+ q(4456) => q(moq),
+ q(4457) => q(mor),
+ q(4458) => q(mou),
+ q(4459) => q(mov),
+ q(4460) => q(mow),
+ q(4461) => q(mox),
+ q(4462) => q(moy),
+ q(4463) => q(moz),
+ q(4464) => q(mpa),
+ q(4465) => q(mpb),
+ q(4466) => q(mpc),
+ q(4467) => q(mpd),
+ q(4468) => q(mpe),
+ q(4469) => q(mpg),
+ q(4470) => q(mph),
+ q(4471) => q(mpi),
+ q(4472) => q(mpj),
+ q(4473) => q(mpk),
+ q(4474) => q(mpl),
+ q(4475) => q(mpm),
+ q(4476) => q(mpn),
+ q(4477) => q(mpo),
+ q(4478) => q(mpp),
+ q(4479) => q(mpq),
+ q(4480) => q(mpr),
+ q(4481) => q(mps),
+ q(4482) => q(mpt),
+ q(4483) => q(mpu),
+ q(4484) => q(mpv),
+ q(4485) => q(mpw),
+ q(4486) => q(mpx),
+ q(4487) => q(mpy),
+ q(4488) => q(mpz),
+ q(4489) => q(mqa),
+ q(4490) => q(mqb),
+ q(4491) => q(mqc),
+ q(4492) => q(mqe),
+ q(4493) => q(mqf),
+ q(4494) => q(mqg),
+ q(4495) => q(mqh),
+ q(4496) => q(mqi),
+ q(4497) => q(mqj),
+ q(4498) => q(mqk),
+ q(4499) => q(mql),
+ q(4500) => q(mqm),
+ q(4501) => q(mqn),
+ q(4502) => q(mqo),
+ q(4503) => q(mqp),
+ q(4504) => q(mqq),
+ q(4505) => q(mqr),
+ q(4506) => q(mqs),
+ q(4507) => q(mqt),
+ q(4508) => q(mqu),
+ q(4509) => q(mqv),
+ q(4510) => q(mqw),
+ q(4511) => q(mqx),
+ q(4512) => q(mqy),
+ q(4513) => q(mqz),
+ q(4514) => q(mra),
+ q(4515) => q(mrb),
+ q(4516) => q(mrc),
+ q(4517) => q(mrd),
+ q(4518) => q(mre),
+ q(4519) => q(mrf),
+ q(4520) => q(mrg),
+ q(4521) => q(mrh),
+ q(4522) => q(mrj),
+ q(4523) => q(mrk),
+ q(4524) => q(mrl),
+ q(4525) => q(mrm),
+ q(4526) => q(mrn),
+ q(4527) => q(mro),
+ q(4528) => q(mrp),
+ q(4529) => q(mrq),
+ q(4530) => q(mrr),
+ q(4531) => q(mrs),
+ q(4532) => q(mrt),
+ q(4533) => q(mru),
+ q(4534) => q(mrv),
+ q(4535) => q(mrw),
+ q(4536) => q(mrx),
+ q(4537) => q(mry),
+ q(4538) => q(mrz),
+ q(4539) => q(msb),
+ q(4540) => q(msc),
+ q(4541) => q(msd),
+ q(4542) => q(mse),
+ q(4543) => q(msf),
+ q(4544) => q(msg),
+ q(4545) => q(msh),
+ q(4546) => q(msi),
+ q(4547) => q(msj),
+ q(4548) => q(msk),
+ q(4549) => q(msl),
+ q(4550) => q(msm),
+ q(4551) => q(msn),
+ q(4552) => q(mso),
+ q(4553) => q(msp),
+ q(4554) => q(msq),
+ q(4555) => q(msr),
+ q(4556) => q(mss),
+ q(4557) => q(msu),
+ q(4558) => q(msv),
+ q(4559) => q(msw),
+ q(4560) => q(msx),
+ q(4561) => q(msy),
+ q(4562) => q(msz),
+ q(4563) => q(mta),
+ q(4564) => q(mtb),
+ q(4565) => q(mtc),
+ q(4566) => q(mtd),
+ q(4567) => q(mte),
+ q(4568) => q(mtf),
+ q(4569) => q(mtg),
+ q(4570) => q(mth),
+ q(4571) => q(mti),
+ q(4572) => q(mtj),
+ q(4573) => q(mtk),
+ q(4574) => q(mtl),
+ q(4575) => q(mtm),
+ q(4576) => q(mtn),
+ q(4577) => q(mto),
+ q(4578) => q(mtp),
+ q(4579) => q(mtq),
+ q(4580) => q(mtr),
+ q(4581) => q(mts),
+ q(4582) => q(mtt),
+ q(4583) => q(mtu),
+ q(4584) => q(mtv),
+ q(4585) => q(mtw),
+ q(4586) => q(mtx),
+ q(4587) => q(mty),
+ q(4588) => q(mua),
+ q(4589) => q(mub),
+ q(4590) => q(muc),
+ q(4591) => q(mud),
+ q(4592) => q(mue),
+ q(4593) => q(mug),
+ q(4594) => q(muh),
+ q(4595) => q(mui),
+ q(4596) => q(muj),
+ q(4597) => q(muk),
+ q(4598) => q(mum),
+ q(4599) => q(muo),
+ q(4600) => q(mup),
+ q(4601) => q(muq),
+ q(4602) => q(mur),
+ q(4603) => q(mut),
+ q(4604) => q(muu),
+ q(4605) => q(muv),
+ q(4606) => q(mux),
+ q(4607) => q(muy),
+ q(4608) => q(muz),
+ q(4609) => q(mva),
+ q(4610) => q(mvb),
+ q(4611) => q(mvd),
+ q(4612) => q(mve),
+ q(4613) => q(mvf),
+ q(4614) => q(mvg),
+ q(4615) => q(mvh),
+ q(4616) => q(mvi),
+ q(4617) => q(mvk),
+ q(4618) => q(mvl),
+ q(4619) => q(mvm),
+ q(4620) => q(mvn),
+ q(4621) => q(mvo),
+ q(4622) => q(mvp),
+ q(4623) => q(mvq),
+ q(4624) => q(mvr),
+ q(4625) => q(mvs),
+ q(4626) => q(mvt),
+ q(4627) => q(mvu),
+ q(4628) => q(mvv),
+ q(4629) => q(mvw),
+ q(4630) => q(mvx),
+ q(4631) => q(mvy),
+ q(4632) => q(mvz),
+ q(4633) => q(mwa),
+ q(4634) => q(mwb),
+ q(4635) => q(mwc),
+ q(4636) => q(mwe),
+ q(4637) => q(mwf),
+ q(4638) => q(mwg),
+ q(4639) => q(mwh),
+ q(4640) => q(mwi),
+ q(4641) => q(mwj),
+ q(4642) => q(mwk),
+ q(4643) => q(mwm),
+ q(4644) => q(mwn),
+ q(4645) => q(mwo),
+ q(4646) => q(mwp),
+ q(4647) => q(mwq),
+ q(4648) => q(mws),
+ q(4649) => q(mwt),
+ q(4650) => q(mwu),
+ q(4651) => q(mwv),
+ q(4652) => q(mww),
+ q(4653) => q(mwx),
+ q(4654) => q(mwy),
+ q(4655) => q(mwz),
+ q(4656) => q(mxa),
+ q(4657) => q(mxb),
+ q(4658) => q(mxc),
+ q(4659) => q(mxd),
+ q(4660) => q(mxe),
+ q(4661) => q(mxf),
+ q(4662) => q(mxg),
+ q(4663) => q(mxh),
+ q(4664) => q(mxi),
+ q(4665) => q(mxj),
+ q(4666) => q(mxk),
+ q(4667) => q(mxl),
+ q(4668) => q(mxm),
+ q(4669) => q(mxn),
+ q(4670) => q(mxo),
+ q(4671) => q(mxp),
+ q(4672) => q(mxq),
+ q(4673) => q(mxr),
+ q(4674) => q(mxs),
+ q(4675) => q(mxt),
+ q(4676) => q(mxu),
+ q(4677) => q(mxv),
+ q(4678) => q(mxw),
+ q(4679) => q(mxx),
+ q(4680) => q(mxy),
+ q(4681) => q(mxz),
+ q(4682) => q(myb),
+ q(4683) => q(myc),
+ q(4684) => q(myd),
+ q(4685) => q(mye),
+ q(4686) => q(myf),
+ q(4687) => q(myg),
+ q(4688) => q(myh),
+ q(4689) => q(myi),
+ q(4690) => q(myj),
+ q(4691) => q(myk),
+ q(4692) => q(myl),
+ q(4693) => q(mym),
+ q(4694) => q(myo),
+ q(4695) => q(myp),
+ q(4696) => q(myr),
+ q(4697) => q(mys),
+ q(4698) => q(myu),
+ q(4699) => q(myw),
+ q(4700) => q(myx),
+ q(4701) => q(myy),
+ q(4702) => q(myz),
+ q(4703) => q(mza),
+ q(4704) => q(mzb),
+ q(4705) => q(mzc),
+ q(4706) => q(mzd),
+ q(4707) => q(mze),
+ q(4708) => q(mzg),
+ q(4709) => q(mzh),
+ q(4710) => q(mzi),
+ q(4711) => q(mzj),
+ q(4712) => q(mzk),
+ q(4713) => q(mzl),
+ q(4714) => q(mzm),
+ q(4715) => q(mzn),
+ q(4716) => q(mzo),
+ q(4717) => q(mzp),
+ q(4718) => q(mzq),
+ q(4719) => q(mzr),
+ q(4720) => q(mzs),
+ q(4721) => q(mzt),
+ q(4722) => q(mzu),
+ q(4723) => q(mzv),
+ q(4724) => q(mzw),
+ q(4725) => q(mzx),
+ q(4726) => q(mzy),
+ q(4727) => q(mzz),
+ q(4728) => q(naa),
+ q(4729) => q(nab),
+ q(4730) => q(nac),
+ q(4731) => q(nad),
+ q(4732) => q(nae),
+ q(4733) => q(naf),
+ q(4734) => q(nag),
+ q(4735) => q(naj),
+ q(4736) => q(nak),
+ q(4737) => q(nal),
+ q(4738) => q(nam),
+ q(4739) => q(nan),
+ q(4740) => q(nao),
+ q(4741) => q(naq),
+ q(4742) => q(nar),
+ q(4743) => q(nas),
+ q(4744) => q(nat),
+ q(4745) => q(naw),
+ q(4746) => q(nax),
+ q(4747) => q(nay),
+ q(4748) => q(naz),
+ q(4749) => q(nba),
+ q(4750) => q(nbb),
+ q(4751) => q(nbc),
+ q(4752) => q(nbd),
+ q(4753) => q(nbe),
+ q(4754) => q(nbg),
+ q(4755) => q(nbh),
+ q(4756) => q(nbi),
+ q(4757) => q(nbj),
+ q(4758) => q(nbk),
+ q(4759) => q(nbm),
+ q(4760) => q(nbn),
+ q(4761) => q(nbo),
+ q(4762) => q(nbp),
+ q(4763) => q(nbq),
+ q(4764) => q(nbr),
+ q(4765) => q(nbs),
+ q(4766) => q(nbt),
+ q(4767) => q(nbu),
+ q(4768) => q(nbv),
+ q(4769) => q(nbw),
+ q(4770) => q(nby),
+ q(4771) => q(nca),
+ q(4772) => q(ncb),
+ q(4773) => q(ncc),
+ q(4774) => q(ncd),
+ q(4775) => q(nce),
+ q(4776) => q(ncf),
+ q(4777) => q(ncg),
+ q(4778) => q(nch),
+ q(4779) => q(nci),
+ q(4780) => q(ncj),
+ q(4781) => q(nck),
+ q(4782) => q(ncl),
+ q(4783) => q(ncm),
+ q(4784) => q(ncn),
+ q(4785) => q(nco),
+ q(4786) => q(ncp),
+ q(4787) => q(ncr),
+ q(4788) => q(ncs),
+ q(4789) => q(nct),
+ q(4790) => q(ncu),
+ q(4791) => q(ncx),
+ q(4792) => q(ncz),
+ q(4793) => q(nda),
+ q(4794) => q(ndb),
+ q(4795) => q(ndc),
+ q(4796) => q(ndd),
+ q(4797) => q(ndf),
+ q(4798) => q(ndg),
+ q(4799) => q(ndh),
+ q(4800) => q(ndi),
+ q(4801) => q(ndj),
+ q(4802) => q(ndk),
+ q(4803) => q(ndl),
+ q(4804) => q(ndm),
+ q(4805) => q(ndn),
+ q(4806) => q(ndp),
+ q(4807) => q(ndq),
+ q(4808) => q(ndr),
+ q(4809) => q(ndt),
+ q(4810) => q(ndu),
+ q(4811) => q(ndv),
+ q(4812) => q(ndw),
+ q(4813) => q(ndx),
+ q(4814) => q(ndy),
+ q(4815) => q(ndz),
+ q(4816) => q(nea),
+ q(4817) => q(neb),
+ q(4818) => q(nec),
+ q(4819) => q(ned),
+ q(4820) => q(nee),
+ q(4821) => q(nef),
+ q(4822) => q(neg),
+ q(4823) => q(neh),
+ q(4824) => q(nei),
+ q(4825) => q(nej),
+ q(4826) => q(nek),
+ q(4827) => q(nem),
+ q(4828) => q(nen),
+ q(4829) => q(neo),
+ q(4830) => q(neq),
+ q(4831) => q(ner),
+ q(4832) => q(nes),
+ q(4833) => q(net),
+ q(4834) => q(neu),
+ q(4835) => q(nev),
+ q(4836) => q(nex),
+ q(4837) => q(ney),
+ q(4838) => q(nez),
+ q(4839) => q(nfa),
+ q(4840) => q(nfd),
+ q(4841) => q(nfl),
+ q(4842) => q(nfr),
+ q(4843) => q(nfu),
+ q(4844) => q(nga),
+ q(4845) => q(ngb),
+ q(4846) => q(ngc),
+ q(4847) => q(ngd),
+ q(4848) => q(nge),
+ q(4849) => q(ngg),
+ q(4850) => q(ngh),
+ q(4851) => q(ngi),
+ q(4852) => q(ngj),
+ q(4853) => q(ngk),
+ q(4854) => q(ngl),
+ q(4855) => q(ngm),
+ q(4856) => q(ngn),
+ q(4857) => q(ngo),
+ q(4858) => q(ngp),
+ q(4859) => q(ngq),
+ q(4860) => q(ngr),
+ q(4861) => q(ngs),
+ q(4862) => q(ngt),
+ q(4863) => q(ngu),
+ q(4864) => q(ngv),
+ q(4865) => q(ngw),
+ q(4866) => q(ngx),
+ q(4867) => q(ngy),
+ q(4868) => q(ngz),
+ q(4869) => q(nha),
+ q(4870) => q(nhb),
+ q(4871) => q(nhc),
+ q(4872) => q(nhd),
+ q(4873) => q(nhe),
+ q(4874) => q(nhf),
+ q(4875) => q(nhg),
+ q(4876) => q(nhh),
+ q(4877) => q(nhi),
+ q(4878) => q(nhk),
+ q(4879) => q(nhm),
+ q(4880) => q(nhn),
+ q(4881) => q(nho),
+ q(4882) => q(nhp),
+ q(4883) => q(nhq),
+ q(4884) => q(nhr),
+ q(4885) => q(nht),
+ q(4886) => q(nhu),
+ q(4887) => q(nhv),
+ q(4888) => q(nhw),
+ q(4889) => q(nhx),
+ q(4890) => q(nhy),
+ q(4891) => q(nhz),
+ q(4892) => q(nib),
+ q(4893) => q(nid),
+ q(4894) => q(nie),
+ q(4895) => q(nif),
+ q(4896) => q(nig),
+ q(4897) => q(nih),
+ q(4898) => q(nii),
+ q(4899) => q(nij),
+ q(4900) => q(nik),
+ q(4901) => q(nil),
+ q(4902) => q(nim),
+ q(4903) => q(nin),
+ q(4904) => q(nio),
+ q(4905) => q(niq),
+ q(4906) => q(nir),
+ q(4907) => q(nis),
+ q(4908) => q(nit),
+ q(4909) => q(niv),
+ q(4910) => q(niw),
+ q(4911) => q(nix),
+ q(4912) => q(niy),
+ q(4913) => q(niz),
+ q(4914) => q(nja),
+ q(4915) => q(njb),
+ q(4916) => q(njd),
+ q(4917) => q(njh),
+ q(4918) => q(nji),
+ q(4919) => q(njj),
+ q(4920) => q(njl),
+ q(4921) => q(njm),
+ q(4922) => q(njn),
+ q(4923) => q(njo),
+ q(4924) => q(njr),
+ q(4925) => q(njs),
+ q(4926) => q(njt),
+ q(4927) => q(nju),
+ q(4928) => q(njx),
+ q(4929) => q(njy),
+ q(4930) => q(njz),
+ q(4931) => q(nka),
+ q(4932) => q(nkb),
+ q(4933) => q(nkc),
+ q(4934) => q(nkd),
+ q(4935) => q(nke),
+ q(4936) => q(nkf),
+ q(4937) => q(nkg),
+ q(4938) => q(nkh),
+ q(4939) => q(nki),
+ q(4940) => q(nkj),
+ q(4941) => q(nkk),
+ q(4942) => q(nkm),
+ q(4943) => q(nkn),
+ q(4944) => q(nko),
+ q(4945) => q(nkp),
+ q(4946) => q(nkq),
+ q(4947) => q(nkr),
+ q(4948) => q(nks),
+ q(4949) => q(nkt),
+ q(4950) => q(nku),
+ q(4951) => q(nkv),
+ q(4952) => q(nkw),
+ q(4953) => q(nkx),
+ q(4954) => q(nkz),
+ q(4955) => q(nla),
+ q(4956) => q(nlc),
+ q(4957) => q(nle),
+ q(4958) => q(nlg),
+ q(4959) => q(nli),
+ q(4960) => q(nlj),
+ q(4961) => q(nlk),
+ q(4962) => q(nll),
+ q(4963) => q(nlo),
+ q(4964) => q(nlq),
+ q(4965) => q(nlu),
+ q(4966) => q(nlv),
+ q(4967) => q(nlw),
+ q(4968) => q(nlx),
+ q(4969) => q(nly),
+ q(4970) => q(nlz),
+ q(4971) => q(nma),
+ q(4972) => q(nmb),
+ q(4973) => q(nmc),
+ q(4974) => q(nmd),
+ q(4975) => q(nme),
+ q(4976) => q(nmf),
+ q(4977) => q(nmg),
+ q(4978) => q(nmh),
+ q(4979) => q(nmi),
+ q(4980) => q(nmj),
+ q(4981) => q(nmk),
+ q(4982) => q(nml),
+ q(4983) => q(nmm),
+ q(4984) => q(nmn),
+ q(4985) => q(nmo),
+ q(4986) => q(nmp),
+ q(4987) => q(nmq),
+ q(4988) => q(nmr),
+ q(4989) => q(nms),
+ q(4990) => q(nmt),
+ q(4991) => q(nmu),
+ q(4992) => q(nmv),
+ q(4993) => q(nmw),
+ q(4994) => q(nmx),
+ q(4995) => q(nmy),
+ q(4996) => q(nmz),
+ q(4997) => q(nna),
+ q(4998) => q(nnb),
+ q(4999) => q(nnc),
+ q(5000) => q(nnd),
+ q(5001) => q(nne),
+ q(5002) => q(nnf),
+ q(5003) => q(nng),
+ q(5004) => q(nnh),
+ q(5005) => q(nni),
+ q(5006) => q(nnj),
+ q(5007) => q(nnk),
+ q(5008) => q(nnl),
+ q(5009) => q(nnm),
+ q(5010) => q(nnn),
+ q(5011) => q(nnp),
+ q(5012) => q(nnq),
+ q(5013) => q(nnr),
+ q(5014) => q(nns),
+ q(5015) => q(nnt),
+ q(5016) => q(nnu),
+ q(5017) => q(nnv),
+ q(5018) => q(nnw),
+ q(5019) => q(nnx),
+ q(5020) => q(nny),
+ q(5021) => q(nnz),
+ q(5022) => q(noa),
+ q(5023) => q(noc),
+ q(5024) => q(nod),
+ q(5025) => q(noe),
+ q(5026) => q(nof),
+ q(5027) => q(noh),
+ q(5028) => q(noi),
+ q(5029) => q(noj),
+ q(5030) => q(nok),
+ q(5031) => q(nol),
+ q(5032) => q(nom),
+ q(5033) => q(nop),
+ q(5034) => q(noq),
+ q(5035) => q(nos),
+ q(5036) => q(not),
+ q(5037) => q(nou),
+ q(5038) => q(nov),
+ q(5039) => q(now),
+ q(5040) => q(noy),
+ q(5041) => q(noz),
+ q(5042) => q(npa),
+ q(5043) => q(npb),
+ q(5044) => q(npg),
+ q(5045) => q(nph),
+ q(5046) => q(npi),
+ q(5047) => q(npl),
+ q(5048) => q(npn),
+ q(5049) => q(npo),
+ q(5050) => q(nps),
+ q(5051) => q(npu),
+ q(5052) => q(npy),
+ q(5053) => q(nqg),
+ q(5054) => q(nqk),
+ q(5055) => q(nqm),
+ q(5056) => q(nqn),
+ q(5057) => q(nqq),
+ q(5058) => q(nqy),
+ q(5059) => q(nra),
+ q(5060) => q(nrb),
+ q(5061) => q(nrc),
+ q(5062) => q(nre),
+ q(5063) => q(nrg),
+ q(5064) => q(nri),
+ q(5065) => q(nrk),
+ q(5066) => q(nrl),
+ q(5067) => q(nrm),
+ q(5068) => q(nrn),
+ q(5069) => q(nrp),
+ q(5070) => q(nrr),
+ q(5071) => q(nrt),
+ q(5072) => q(nru),
+ q(5073) => q(nrx),
+ q(5074) => q(nrz),
+ q(5075) => q(nsa),
+ q(5076) => q(nsc),
+ q(5077) => q(nsd),
+ q(5078) => q(nse),
+ q(5079) => q(nsf),
+ q(5080) => q(nsg),
+ q(5081) => q(nsh),
+ q(5082) => q(nsi),
+ q(5083) => q(nsk),
+ q(5084) => q(nsl),
+ q(5085) => q(nsm),
+ q(5086) => q(nsn),
+ q(5087) => q(nsp),
+ q(5088) => q(nsq),
+ q(5089) => q(nsr),
+ q(5090) => q(nss),
+ q(5091) => q(nst),
+ q(5092) => q(nsu),
+ q(5093) => q(nsv),
+ q(5094) => q(nsw),
+ q(5095) => q(nsx),
+ q(5096) => q(nsy),
+ q(5097) => q(nsz),
+ q(5098) => q(nte),
+ q(5099) => q(ntg),
+ q(5100) => q(nti),
+ q(5101) => q(ntj),
+ q(5102) => q(ntk),
+ q(5103) => q(ntm),
+ q(5104) => q(nto),
+ q(5105) => q(ntp),
+ q(5106) => q(ntr),
+ q(5107) => q(nts),
+ q(5108) => q(ntu),
+ q(5109) => q(ntw),
+ q(5110) => q(ntx),
+ q(5111) => q(nty),
+ q(5112) => q(ntz),
+ q(5113) => q(nua),
+ q(5114) => q(nuc),
+ q(5115) => q(nud),
+ q(5116) => q(nue),
+ q(5117) => q(nuf),
+ q(5118) => q(nug),
+ q(5119) => q(nuh),
+ q(5120) => q(nui),
+ q(5121) => q(nuj),
+ q(5122) => q(nuk),
+ q(5123) => q(nul),
+ q(5124) => q(num),
+ q(5125) => q(nun),
+ q(5126) => q(nuo),
+ q(5127) => q(nup),
+ q(5128) => q(nuq),
+ q(5129) => q(nur),
+ q(5130) => q(nus),
+ q(5131) => q(nut),
+ q(5132) => q(nuu),
+ q(5133) => q(nuv),
+ q(5134) => q(nuw),
+ q(5135) => q(nux),
+ q(5136) => q(nuy),
+ q(5137) => q(nuz),
+ q(5138) => q(nvh),
+ q(5139) => q(nvm),
+ q(5140) => q(nvo),
+ q(5141) => q(nwa),
+ q(5142) => q(nwb),
+ q(5143) => q(nwe),
+ q(5144) => q(nwg),
+ q(5145) => q(nwi),
+ q(5146) => q(nwm),
+ q(5147) => q(nwo),
+ q(5148) => q(nwr),
+ q(5149) => q(nwx),
+ q(5150) => q(nwy),
+ q(5151) => q(nxa),
+ q(5152) => q(nxd),
+ q(5153) => q(nxe),
+ q(5154) => q(nxg),
+ q(5155) => q(nxi),
+ q(5156) => q(nxk),
+ q(5157) => q(nxl),
+ q(5158) => q(nxm),
+ q(5159) => q(nxn),
+ q(5160) => q(nxq),
+ q(5161) => q(nxr),
+ q(5162) => q(nxu),
+ q(5163) => q(nxx),
+ q(5164) => q(nyb),
+ q(5165) => q(nyc),
+ q(5166) => q(nyd),
+ q(5167) => q(nye),
+ q(5168) => q(nyf),
+ q(5169) => q(nyg),
+ q(5170) => q(nyh),
+ q(5171) => q(nyi),
+ q(5172) => q(nyj),
+ q(5173) => q(nyk),
+ q(5174) => q(nyl),
+ q(5175) => q(nyp),
+ q(5176) => q(nyq),
+ q(5177) => q(nyr),
+ q(5178) => q(nys),
+ q(5179) => q(nyt),
+ q(5180) => q(nyu),
+ q(5181) => q(nyv),
+ q(5182) => q(nyw),
+ q(5183) => q(nyx),
+ q(5184) => q(nyy),
+ q(5185) => q(nza),
+ q(5186) => q(nzb),
+ q(5187) => q(nzk),
+ q(5188) => q(nzm),
+ q(5189) => q(nzs),
+ q(5190) => q(nzu),
+ q(5191) => q(nzy),
+ q(5192) => q(nzz),
+ q(5193) => q(oaa),
+ q(5194) => q(oac),
+ q(5195) => q(oar),
+ q(5196) => q(oav),
+ q(5197) => q(obi),
+ q(5198) => q(obk),
+ q(5199) => q(obl),
+ q(5200) => q(obm),
+ q(5201) => q(obo),
+ q(5202) => q(obr),
+ q(5203) => q(obt),
+ q(5204) => q(obu),
+ q(5205) => q(oca),
+ q(5206) => q(och),
+ q(5207) => q(oco),
+ q(5208) => q(ocu),
+ q(5209) => q(oda),
+ q(5210) => q(odk),
+ q(5211) => q(odt),
+ q(5212) => q(odu),
+ q(5213) => q(ofo),
+ q(5214) => q(ofs),
+ q(5215) => q(ofu),
+ q(5216) => q(ogb),
+ q(5217) => q(ogc),
+ q(5218) => q(oge),
+ q(5219) => q(ogg),
+ q(5220) => q(ogo),
+ q(5221) => q(ogu),
+ q(5222) => q(oht),
+ q(5223) => q(ohu),
+ q(5224) => q(oia),
+ q(5225) => q(oin),
+ q(5226) => q(ojb),
+ q(5227) => q(ojc),
+ q(5228) => q(ojg),
+ q(5229) => q(ojp),
+ q(5230) => q(ojs),
+ q(5231) => q(ojv),
+ q(5232) => q(ojw),
+ q(5233) => q(oka),
+ q(5234) => q(okb),
+ q(5235) => q(okd),
+ q(5236) => q(oke),
+ q(5237) => q(okg),
+ q(5238) => q(okh),
+ q(5239) => q(oki),
+ q(5240) => q(okj),
+ q(5241) => q(okk),
+ q(5242) => q(okl),
+ q(5243) => q(okm),
+ q(5244) => q(okn),
+ q(5245) => q(oko),
+ q(5246) => q(okr),
+ q(5247) => q(oks),
+ q(5248) => q(oku),
+ q(5249) => q(okv),
+ q(5250) => q(okx),
+ q(5251) => q(ola),
+ q(5252) => q(old),
+ q(5253) => q(ole),
+ q(5254) => q(olk),
+ q(5255) => q(olm),
+ q(5256) => q(olo),
+ q(5257) => q(olr),
+ q(5258) => q(oma),
+ q(5259) => q(omb),
+ q(5260) => q(omc),
+ q(5261) => q(ome),
+ q(5262) => q(omg),
+ q(5263) => q(omi),
+ q(5264) => q(omk),
+ q(5265) => q(oml),
+ q(5266) => q(omn),
+ q(5267) => q(omo),
+ q(5268) => q(omp),
+ q(5269) => q(omr),
+ q(5270) => q(omt),
+ q(5271) => q(omu),
+ q(5272) => q(omw),
+ q(5273) => q(omx),
+ q(5274) => q(ona),
+ q(5275) => q(onb),
+ q(5276) => q(one),
+ q(5277) => q(ong),
+ q(5278) => q(oni),
+ q(5279) => q(onj),
+ q(5280) => q(onk),
+ q(5281) => q(onn),
+ q(5282) => q(ono),
+ q(5283) => q(onp),
+ q(5284) => q(onr),
+ q(5285) => q(ons),
+ q(5286) => q(ont),
+ q(5287) => q(onu),
+ q(5288) => q(onw),
+ q(5289) => q(onx),
+ q(5290) => q(ood),
+ q(5291) => q(oog),
+ q(5292) => q(oon),
+ q(5293) => q(oor),
+ q(5294) => q(oos),
+ q(5295) => q(opa),
+ q(5296) => q(opk),
+ q(5297) => q(opm),
+ q(5298) => q(opo),
+ q(5299) => q(opt),
+ q(5300) => q(opy),
+ q(5301) => q(ora),
+ q(5302) => q(orc),
+ q(5303) => q(ore),
+ q(5304) => q(org),
+ q(5305) => q(orh),
+ q(5306) => q(orn),
+ q(5307) => q(oro),
+ q(5308) => q(orr),
+ q(5309) => q(ors),
+ q(5310) => q(ort),
+ q(5311) => q(oru),
+ q(5312) => q(orv),
+ q(5313) => q(orw),
+ q(5314) => q(orx),
+ q(5315) => q(ory),
+ q(5316) => q(orz),
+ q(5317) => q(osc),
+ q(5318) => q(osi),
+ q(5319) => q(oso),
+ q(5320) => q(osp),
+ q(5321) => q(ost),
+ q(5322) => q(osu),
+ q(5323) => q(osx),
+ q(5324) => q(otb),
+ q(5325) => q(otd),
+ q(5326) => q(ote),
+ q(5327) => q(oti),
+ q(5328) => q(otk),
+ q(5329) => q(otl),
+ q(5330) => q(otm),
+ q(5331) => q(otn),
+ q(5332) => q(otq),
+ q(5333) => q(otr),
+ q(5334) => q(ots),
+ q(5335) => q(ott),
+ q(5336) => q(otu),
+ q(5337) => q(otw),
+ q(5338) => q(otx),
+ q(5339) => q(oty),
+ q(5340) => q(otz),
+ q(5341) => q(oua),
+ q(5342) => q(oub),
+ q(5343) => q(oue),
+ q(5344) => q(oui),
+ q(5345) => q(oum),
+ q(5346) => q(oun),
+ q(5347) => q(owi),
+ q(5348) => q(owl),
+ q(5349) => q(oyb),
+ q(5350) => q(oyd),
+ q(5351) => q(oym),
+ q(5352) => q(oyy),
+ q(5353) => q(ozm),
+ q(5354) => q(pab),
+ q(5355) => q(pac),
+ q(5356) => q(pad),
+ q(5357) => q(pae),
+ q(5358) => q(paf),
+ q(5359) => q(pah),
+ q(5360) => q(pai),
+ q(5361) => q(pak),
+ q(5362) => q(pao),
+ q(5363) => q(paq),
+ q(5364) => q(par),
+ q(5365) => q(pas),
+ q(5366) => q(pat),
+ q(5367) => q(pav),
+ q(5368) => q(paw),
+ q(5369) => q(pax),
+ q(5370) => q(pay),
+ q(5371) => q(paz),
+ q(5372) => q(pbb),
+ q(5373) => q(pbc),
+ q(5374) => q(pbe),
+ q(5375) => q(pbf),
+ q(5376) => q(pbg),
+ q(5377) => q(pbh),
+ q(5378) => q(pbi),
+ q(5379) => q(pbl),
+ q(5380) => q(pbn),
+ q(5381) => q(pbo),
+ q(5382) => q(pbp),
+ q(5383) => q(pbr),
+ q(5384) => q(pbs),
+ q(5385) => q(pbt),
+ q(5386) => q(pbu),
+ q(5387) => q(pbv),
+ q(5388) => q(pby),
+ q(5389) => q(pca),
+ q(5390) => q(pcb),
+ q(5391) => q(pcc),
+ q(5392) => q(pcd),
+ q(5393) => q(pce),
+ q(5394) => q(pcf),
+ q(5395) => q(pcg),
+ q(5396) => q(pch),
+ q(5397) => q(pci),
+ q(5398) => q(pcj),
+ q(5399) => q(pck),
+ q(5400) => q(pcl),
+ q(5401) => q(pcm),
+ q(5402) => q(pcn),
+ q(5403) => q(pcp),
+ q(5404) => q(pcw),
+ q(5405) => q(pda),
+ q(5406) => q(pdc),
+ q(5407) => q(pdi),
+ q(5408) => q(pdn),
+ q(5409) => q(pdo),
+ q(5410) => q(pdt),
+ q(5411) => q(pdu),
+ q(5412) => q(pea),
+ q(5413) => q(peb),
+ q(5414) => q(ped),
+ q(5415) => q(pee),
+ q(5416) => q(pef),
+ q(5417) => q(peg),
+ q(5418) => q(peh),
+ q(5419) => q(pei),
+ q(5420) => q(pej),
+ q(5421) => q(pek),
+ q(5422) => q(pel),
+ q(5423) => q(pem),
+ q(5424) => q(pep),
+ q(5425) => q(peq),
+ q(5426) => q(pes),
+ q(5427) => q(pev),
+ q(5428) => q(pex),
+ q(5429) => q(pey),
+ q(5430) => q(pez),
+ q(5431) => q(pfa),
+ q(5432) => q(pfe),
+ q(5433) => q(pfl),
+ q(5434) => q(pga),
+ q(5435) => q(pgg),
+ q(5436) => q(pgi),
+ q(5437) => q(pgk),
+ q(5438) => q(pgl),
+ q(5439) => q(pgn),
+ q(5440) => q(pgs),
+ q(5441) => q(pgu),
+ q(5442) => q(pha),
+ q(5443) => q(phd),
+ q(5444) => q(phg),
+ q(5445) => q(phh),
+ q(5446) => q(phk),
+ q(5447) => q(phl),
+ q(5448) => q(phm),
+ q(5449) => q(pho),
+ q(5450) => q(phq),
+ q(5451) => q(phr),
+ q(5452) => q(pht),
+ q(5453) => q(phu),
+ q(5454) => q(phv),
+ q(5455) => q(phw),
+ q(5456) => q(pia),
+ q(5457) => q(pib),
+ q(5458) => q(pic),
+ q(5459) => q(pid),
+ q(5460) => q(pie),
+ q(5461) => q(pif),
+ q(5462) => q(pig),
+ q(5463) => q(pih),
+ q(5464) => q(pii),
+ q(5465) => q(pij),
+ q(5466) => q(pil),
+ q(5467) => q(pim),
+ q(5468) => q(pin),
+ q(5469) => q(pio),
+ q(5470) => q(pip),
+ q(5471) => q(pir),
+ q(5472) => q(pis),
+ q(5473) => q(pit),
+ q(5474) => q(piu),
+ q(5475) => q(piv),
+ q(5476) => q(piw),
+ q(5477) => q(pix),
+ q(5478) => q(piy),
+ q(5479) => q(piz),
+ q(5480) => q(pjt),
+ q(5481) => q(pka),
+ q(5482) => q(pkb),
+ q(5483) => q(pkc),
+ q(5484) => q(pkg),
+ q(5485) => q(pkh),
+ q(5486) => q(pkn),
+ q(5487) => q(pko),
+ q(5488) => q(pkp),
+ q(5489) => q(pkr),
+ q(5490) => q(pks),
+ q(5491) => q(pkt),
+ q(5492) => q(pku),
+ q(5493) => q(pla),
+ q(5494) => q(plb),
+ q(5495) => q(plc),
+ q(5496) => q(pld),
+ q(5497) => q(ple),
+ q(5498) => q(plg),
+ q(5499) => q(plh),
+ q(5500) => q(plj),
+ q(5501) => q(plk),
+ q(5502) => q(pll),
+ q(5503) => q(pln),
+ q(5504) => q(plo),
+ q(5505) => q(plp),
+ q(5506) => q(plq),
+ q(5507) => q(plr),
+ q(5508) => q(pls),
+ q(5509) => q(plt),
+ q(5510) => q(plu),
+ q(5511) => q(plv),
+ q(5512) => q(plw),
+ q(5513) => q(ply),
+ q(5514) => q(plz),
+ q(5515) => q(pma),
+ q(5516) => q(pmb),
+ q(5517) => q(pmc),
+ q(5518) => q(pmd),
+ q(5519) => q(pme),
+ q(5520) => q(pmf),
+ q(5521) => q(pmh),
+ q(5522) => q(pmi),
+ q(5523) => q(pmj),
+ q(5524) => q(pmk),
+ q(5525) => q(pml),
+ q(5526) => q(pmm),
+ q(5527) => q(pmn),
+ q(5528) => q(pmo),
+ q(5529) => q(pmq),
+ q(5530) => q(pmr),
+ q(5531) => q(pms),
+ q(5532) => q(pmt),
+ q(5533) => q(pmu),
+ q(5534) => q(pmw),
+ q(5535) => q(pmx),
+ q(5536) => q(pmy),
+ q(5537) => q(pmz),
+ q(5538) => q(pna),
+ q(5539) => q(pnb),
+ q(5540) => q(pnc),
+ q(5541) => q(pne),
+ q(5542) => q(png),
+ q(5543) => q(pnh),
+ q(5544) => q(pni),
+ q(5545) => q(pnj),
+ q(5546) => q(pnk),
+ q(5547) => q(pnl),
+ q(5548) => q(pnm),
+ q(5549) => q(pnn),
+ q(5550) => q(pno),
+ q(5551) => q(pnp),
+ q(5552) => q(pnq),
+ q(5553) => q(pnr),
+ q(5554) => q(pns),
+ q(5555) => q(pnt),
+ q(5556) => q(pnu),
+ q(5557) => q(pnv),
+ q(5558) => q(pnw),
+ q(5559) => q(pnx),
+ q(5560) => q(pny),
+ q(5561) => q(pnz),
+ q(5562) => q(poc),
+ q(5563) => q(pod),
+ q(5564) => q(poe),
+ q(5565) => q(pof),
+ q(5566) => q(pog),
+ q(5567) => q(poh),
+ q(5568) => q(poi),
+ q(5569) => q(pok),
+ q(5570) => q(pom),
+ q(5571) => q(poo),
+ q(5572) => q(pop),
+ q(5573) => q(poq),
+ q(5574) => q(pos),
+ q(5575) => q(pot),
+ q(5576) => q(pov),
+ q(5577) => q(pow),
+ q(5578) => q(pox),
+ q(5579) => q(poy),
+ q(5580) => q(ppa),
+ q(5581) => q(ppe),
+ q(5582) => q(ppi),
+ q(5583) => q(ppk),
+ q(5584) => q(ppl),
+ q(5585) => q(ppm),
+ q(5586) => q(ppn),
+ q(5587) => q(ppo),
+ q(5588) => q(ppp),
+ q(5589) => q(ppq),
+ q(5590) => q(pps),
+ q(5591) => q(ppt),
+ q(5592) => q(ppu),
+ q(5593) => q(pqa),
+ q(5594) => q(pqm),
+ q(5595) => q(prb),
+ q(5596) => q(prc),
+ q(5597) => q(prd),
+ q(5598) => q(pre),
+ q(5599) => q(prf),
+ q(5600) => q(prg),
+ q(5601) => q(prh),
+ q(5602) => q(pri),
+ q(5603) => q(prk),
+ q(5604) => q(prl),
+ q(5605) => q(prm),
+ q(5606) => q(prn),
+ q(5607) => q(prp),
+ q(5608) => q(prq),
+ q(5609) => q(prr),
+ q(5610) => q(prs),
+ q(5611) => q(prt),
+ q(5612) => q(pru),
+ q(5613) => q(prw),
+ q(5614) => q(prx),
+ q(5615) => q(pry),
+ q(5616) => q(prz),
+ q(5617) => q(psa),
+ q(5618) => q(psc),
+ q(5619) => q(psd),
+ q(5620) => q(pse),
+ q(5621) => q(psg),
+ q(5622) => q(psh),
+ q(5623) => q(psi),
+ q(5624) => q(psl),
+ q(5625) => q(psm),
+ q(5626) => q(psn),
+ q(5627) => q(pso),
+ q(5628) => q(psp),
+ q(5629) => q(psq),
+ q(5630) => q(psr),
+ q(5631) => q(pss),
+ q(5632) => q(pst),
+ q(5633) => q(psu),
+ q(5634) => q(psw),
+ q(5635) => q(psy),
+ q(5636) => q(pta),
+ q(5637) => q(pth),
+ q(5638) => q(pti),
+ q(5639) => q(ptn),
+ q(5640) => q(pto),
+ q(5641) => q(ptp),
+ q(5642) => q(ptr),
+ q(5643) => q(ptt),
+ q(5644) => q(ptu),
+ q(5645) => q(ptv),
+ q(5646) => q(ptw),
+ q(5647) => q(pty),
+ q(5648) => q(pua),
+ q(5649) => q(pub),
+ q(5650) => q(puc),
+ q(5651) => q(pud),
+ q(5652) => q(pue),
+ q(5653) => q(puf),
+ q(5654) => q(pug),
+ q(5655) => q(pui),
+ q(5656) => q(puj),
+ q(5657) => q(puk),
+ q(5658) => q(pum),
+ q(5659) => q(puo),
+ q(5660) => q(pup),
+ q(5661) => q(puq),
+ q(5662) => q(pur),
+ q(5663) => q(put),
+ q(5664) => q(puu),
+ q(5665) => q(puw),
+ q(5666) => q(pux),
+ q(5667) => q(puy),
+ q(5668) => q(puz),
+ q(5669) => q(pwa),
+ q(5670) => q(pwb),
+ q(5671) => q(pwg),
+ q(5672) => q(pwi),
+ q(5673) => q(pwm),
+ q(5674) => q(pwn),
+ q(5675) => q(pwo),
+ q(5676) => q(pwr),
+ q(5677) => q(pww),
+ q(5678) => q(pxm),
+ q(5679) => q(pye),
+ q(5680) => q(pym),
+ q(5681) => q(pyn),
+ q(5682) => q(pys),
+ q(5683) => q(pyu),
+ q(5684) => q(pyx),
+ q(5685) => q(pyy),
+ q(5686) => q(pzn),
+ q(5687) => q(qua),
+ q(5688) => q(qub),
+ q(5689) => q(quc),
+ q(5690) => q(qud),
+ q(5691) => q(quf),
+ q(5692) => q(qug),
+ q(5693) => q(quh),
+ q(5694) => q(qui),
+ q(5695) => q(quk),
+ q(5696) => q(qul),
+ q(5697) => q(qum),
+ q(5698) => q(qun),
+ q(5699) => q(qup),
+ q(5700) => q(quq),
+ q(5701) => q(qur),
+ q(5702) => q(qus),
+ q(5703) => q(quv),
+ q(5704) => q(quw),
+ q(5705) => q(qux),
+ q(5706) => q(quy),
+ q(5707) => q(quz),
+ q(5708) => q(qva),
+ q(5709) => q(qvc),
+ q(5710) => q(qve),
+ q(5711) => q(qvh),
+ q(5712) => q(qvi),
+ q(5713) => q(qvj),
+ q(5714) => q(qvl),
+ q(5715) => q(qvm),
+ q(5716) => q(qvn),
+ q(5717) => q(qvo),
+ q(5718) => q(qvp),
+ q(5719) => q(qvs),
+ q(5720) => q(qvw),
+ q(5721) => q(qvy),
+ q(5722) => q(qvz),
+ q(5723) => q(qwa),
+ q(5724) => q(qwc),
+ q(5725) => q(qwh),
+ q(5726) => q(qwm),
+ q(5727) => q(qws),
+ q(5728) => q(qwt),
+ q(5729) => q(qxa),
+ q(5730) => q(qxc),
+ q(5731) => q(qxh),
+ q(5732) => q(qxl),
+ q(5733) => q(qxn),
+ q(5734) => q(qxo),
+ q(5735) => q(qxp),
+ q(5736) => q(qxq),
+ q(5737) => q(qxr),
+ q(5738) => q(qxs),
+ q(5739) => q(qxt),
+ q(5740) => q(qxu),
+ q(5741) => q(qxw),
+ q(5742) => q(qya),
+ q(5743) => q(qyp),
+ q(5744) => q(raa),
+ q(5745) => q(rab),
+ q(5746) => q(rac),
+ q(5747) => q(rad),
+ q(5748) => q(raf),
+ q(5749) => q(rag),
+ q(5750) => q(rah),
+ q(5751) => q(rai),
+ q(5752) => q(rak),
+ q(5753) => q(ral),
+ q(5754) => q(ram),
+ q(5755) => q(ran),
+ q(5756) => q(rao),
+ q(5757) => q(raq),
+ q(5758) => q(ras),
+ q(5759) => q(rat),
+ q(5760) => q(rau),
+ q(5761) => q(rav),
+ q(5762) => q(raw),
+ q(5763) => q(rax),
+ q(5764) => q(ray),
+ q(5765) => q(raz),
+ q(5766) => q(rbb),
+ q(5767) => q(rbk),
+ q(5768) => q(rbl),
+ q(5769) => q(rbp),
+ q(5770) => q(rcf),
+ q(5771) => q(rdb),
+ q(5772) => q(rea),
+ q(5773) => q(reb),
+ q(5774) => q(ree),
+ q(5775) => q(reg),
+ q(5776) => q(rei),
+ q(5777) => q(rej),
+ q(5778) => q(rel),
+ q(5779) => q(rem),
+ q(5780) => q(ren),
+ q(5781) => q(rer),
+ q(5782) => q(res),
+ q(5783) => q(ret),
+ q(5784) => q(rey),
+ q(5785) => q(rga),
+ q(5786) => q(rge),
+ q(5787) => q(rgk),
+ q(5788) => q(rgn),
+ q(5789) => q(rgr),
+ q(5790) => q(rgs),
+ q(5791) => q(rgu),
+ q(5792) => q(rhg),
+ q(5793) => q(rhp),
+ q(5794) => q(ria),
+ q(5795) => q(rie),
+ q(5796) => q(rif),
+ q(5797) => q(ril),
+ q(5798) => q(rim),
+ q(5799) => q(rin),
+ q(5800) => q(rir),
+ q(5801) => q(rit),
+ q(5802) => q(riu),
+ q(5803) => q(rjg),
+ q(5804) => q(rji),
+ q(5805) => q(rjs),
+ q(5806) => q(rka),
+ q(5807) => q(rkb),
+ q(5808) => q(rkh),
+ q(5809) => q(rki),
+ q(5810) => q(rkm),
+ q(5811) => q(rkt),
+ q(5812) => q(rkw),
+ q(5813) => q(rma),
+ q(5814) => q(rmb),
+ q(5815) => q(rmc),
+ q(5816) => q(rmd),
+ q(5817) => q(rme),
+ q(5818) => q(rmf),
+ q(5819) => q(rmg),
+ q(5820) => q(rmh),
+ q(5821) => q(rmi),
+ q(5822) => q(rmk),
+ q(5823) => q(rml),
+ q(5824) => q(rmm),
+ q(5825) => q(rmn),
+ q(5826) => q(rmo),
+ q(5827) => q(rmp),
+ q(5828) => q(rmq),
+ q(5829) => q(rms),
+ q(5830) => q(rmt),
+ q(5831) => q(rmu),
+ q(5832) => q(rmv),
+ q(5833) => q(rmw),
+ q(5834) => q(rmx),
+ q(5835) => q(rmy),
+ q(5836) => q(rmz),
+ q(5837) => q(rna),
+ q(5838) => q(rnd),
+ q(5839) => q(rng),
+ q(5840) => q(rnl),
+ q(5841) => q(rnn),
+ q(5842) => q(rnp),
+ q(5843) => q(rnr),
+ q(5844) => q(rnw),
+ q(5845) => q(rob),
+ q(5846) => q(roc),
+ q(5847) => q(rod),
+ q(5848) => q(roe),
+ q(5849) => q(rof),
+ q(5850) => q(rog),
+ q(5851) => q(rol),
+ q(5852) => q(roo),
+ q(5853) => q(rop),
+ q(5854) => q(ror),
+ q(5855) => q(rou),
+ q(5856) => q(row),
+ q(5857) => q(rpn),
+ q(5858) => q(rpt),
+ q(5859) => q(rri),
+ q(5860) => q(rro),
+ q(5861) => q(rrt),
+ q(5862) => q(rsb),
+ q(5863) => q(rsi),
+ q(5864) => q(rsl),
+ q(5865) => q(rtc),
+ q(5866) => q(rth),
+ q(5867) => q(rtm),
+ q(5868) => q(rtw),
+ q(5869) => q(rub),
+ q(5870) => q(ruc),
+ q(5871) => q(rue),
+ q(5872) => q(ruf),
+ q(5873) => q(rug),
+ q(5874) => q(ruh),
+ q(5875) => q(rui),
+ q(5876) => q(ruk),
+ q(5877) => q(ruo),
+ q(5878) => q(ruq),
+ q(5879) => q(rut),
+ q(5880) => q(ruu),
+ q(5881) => q(ruy),
+ q(5882) => q(ruz),
+ q(5883) => q(rwa),
+ q(5884) => q(rwk),
+ q(5885) => q(rwm),
+ q(5886) => q(rwo),
+ q(5887) => q(rwr),
+ q(5888) => q(rxd),
+ q(5889) => q(rxw),
+ q(5890) => q(ryn),
+ q(5891) => q(rys),
+ q(5892) => q(ryu),
+ q(5893) => q(saa),
+ q(5894) => q(sab),
+ q(5895) => q(sac),
+ q(5896) => q(sae),
+ q(5897) => q(saf),
+ q(5898) => q(saj),
+ q(5899) => q(sak),
+ q(5900) => q(sao),
+ q(5901) => q(sap),
+ q(5902) => q(saq),
+ q(5903) => q(sar),
+ q(5904) => q(sau),
+ q(5905) => q(sav),
+ q(5906) => q(saw),
+ q(5907) => q(sax),
+ q(5908) => q(say),
+ q(5909) => q(saz),
+ q(5910) => q(sba),
+ q(5911) => q(sbb),
+ q(5912) => q(sbc),
+ q(5913) => q(sbd),
+ q(5914) => q(slc),
+ q(5915) => q(sbf),
+ q(5916) => q(sbg),
+ q(5917) => q(sbh),
+ q(5918) => q(sbi),
+ q(5919) => q(sbj),
+ q(5920) => q(sbk),
+ q(5921) => q(sbl),
+ q(5922) => q(sbm),
+ q(5923) => q(sbn),
+ q(5924) => q(sbo),
+ q(5925) => q(sbp),
+ q(5926) => q(sbq),
+ q(5927) => q(sbr),
+ q(5928) => q(sbs),
+ q(5929) => q(sbt),
+ q(5930) => q(sbu),
+ q(5931) => q(sbv),
+ q(5932) => q(sbw),
+ q(5933) => q(sbx),
+ q(5934) => q(sby),
+ q(5935) => q(sbz),
+ q(5936) => q(scb),
+ q(5937) => q(sce),
+ q(5938) => q(scf),
+ q(5939) => q(scg),
+ q(5940) => q(sch),
+ q(5941) => q(sci),
+ q(5942) => q(sck),
+ q(5943) => q(scl),
+ q(5944) => q(scp),
+ q(5945) => q(scq),
+ q(5946) => q(scs),
+ q(5947) => q(scu),
+ q(5948) => q(scv),
+ q(5949) => q(scw),
+ q(5950) => q(scx),
+ q(5951) => q(sda),
+ q(5952) => q(sdb),
+ q(5953) => q(sdc),
+ q(5954) => q(sde),
+ q(5955) => q(sdf),
+ q(5956) => q(sdg),
+ q(5957) => q(sdh),
+ q(5958) => q(sdj),
+ q(5959) => q(sdk),
+ q(5960) => q(sdl),
+ q(5961) => q(sdm),
+ q(5962) => q(sdn),
+ q(5963) => q(sdo),
+ q(5964) => q(sdp),
+ q(5965) => q(sdr),
+ q(5966) => q(sds),
+ q(5967) => q(sdt),
+ q(5968) => q(sdu),
+ q(5969) => q(sdx),
+ q(5970) => q(sdz),
+ q(5971) => q(sea),
+ q(5972) => q(seb),
+ q(5973) => q(sec),
+ q(5974) => q(sed),
+ q(5975) => q(see),
+ q(5976) => q(sef),
+ q(5977) => q(seg),
+ q(5978) => q(seh),
+ q(5979) => q(sei),
+ q(5980) => q(sej),
+ q(5981) => q(sek),
+ q(5982) => q(sen),
+ q(5983) => q(seo),
+ q(5984) => q(sep),
+ q(5985) => q(seq),
+ q(5986) => q(ser),
+ q(5987) => q(ses),
+ q(5988) => q(set),
+ q(5989) => q(seu),
+ q(5990) => q(sev),
+ q(5991) => q(sew),
+ q(5992) => q(sey),
+ q(5993) => q(sez),
+ q(5994) => q(sfb),
+ q(5995) => q(sfe),
+ q(5996) => q(sfm),
+ q(5997) => q(sfs),
+ q(5998) => q(sfw),
+ q(5999) => q(sgb),
+ q(6000) => q(sgc),
+ q(6001) => q(sgd),
+ q(6002) => q(sge),
+ q(6003) => q(sgg),
+ q(6004) => q(sgh),
+ q(6005) => q(sgi),
+ q(6006) => q(sgj),
+ q(6007) => q(sgk),
+ q(6008) => q(sgm),
+ q(6009) => q(sgo),
+ q(6010) => q(sgp),
+ q(6011) => q(sgr),
+ q(6012) => q(sgs),
+ q(6013) => q(sgt),
+ q(6014) => q(sgu),
+ q(6015) => q(sgw),
+ q(6016) => q(sgx),
+ q(6017) => q(sgy),
+ q(6018) => q(sgz),
+ q(6019) => q(sha),
+ q(6020) => q(shb),
+ q(6021) => q(shc),
+ q(6022) => q(shd),
+ q(6023) => q(she),
+ q(6024) => q(shg),
+ q(6025) => q(shh),
+ q(6026) => q(shi),
+ q(6027) => q(shj),
+ q(6028) => q(shk),
+ q(6029) => q(shl),
+ q(6030) => q(shm),
+ q(6031) => q(sho),
+ q(6032) => q(shp),
+ q(6033) => q(shq),
+ q(6034) => q(shr),
+ q(6035) => q(shs),
+ q(6036) => q(sht),
+ q(6037) => q(shu),
+ q(6038) => q(shv),
+ q(6039) => q(shw),
+ q(6040) => q(shx),
+ q(6041) => q(shy),
+ q(6042) => q(shz),
+ q(6043) => q(sia),
+ q(6044) => q(sib),
+ q(6045) => q(sie),
+ q(6046) => q(sif),
+ q(6047) => q(sig),
+ q(6048) => q(sih),
+ q(6049) => q(sii),
+ q(6050) => q(sij),
+ q(6051) => q(sik),
+ q(6052) => q(sil),
+ q(6053) => q(sim),
+ q(6054) => q(sip),
+ q(6055) => q(siq),
+ q(6056) => q(sir),
+ q(6057) => q(sis),
+ q(6058) => q(siu),
+ q(6059) => q(siv),
+ q(6060) => q(siw),
+ q(6061) => q(six),
+ q(6062) => q(siy),
+ q(6063) => q(siz),
+ q(6064) => q(sja),
+ q(6065) => q(sjb),
+ q(6066) => q(sjd),
+ q(6067) => q(sje),
+ q(6068) => q(sjg),
+ q(6069) => q(sjk),
+ q(6070) => q(sjl),
+ q(6071) => q(sjm),
+ q(6072) => q(sjn),
+ q(6073) => q(sjo),
+ q(6074) => q(sjp),
+ q(6075) => q(sjr),
+ q(6076) => q(sjs),
+ q(6077) => q(sjt),
+ q(6078) => q(sju),
+ q(6079) => q(sjw),
+ q(6080) => q(ska),
+ q(6081) => q(skb),
+ q(6082) => q(skc),
+ q(6083) => q(skd),
+ q(6084) => q(ske),
+ q(6085) => q(skf),
+ q(6086) => q(skg),
+ q(6087) => q(skh),
+ q(6088) => q(ski),
+ q(6089) => q(skj),
+ q(6090) => q(skk),
+ q(6091) => q(skm),
+ q(6092) => q(skn),
+ q(6093) => q(sko),
+ q(6094) => q(skp),
+ q(6095) => q(skq),
+ q(6096) => q(skr),
+ q(6097) => q(sks),
+ q(6098) => q(skt),
+ q(6099) => q(sku),
+ q(6100) => q(skv),
+ q(6101) => q(skw),
+ q(6102) => q(skx),
+ q(6103) => q(sky),
+ q(6104) => q(skz),
+ q(6105) => q(sld),
+ q(6106) => q(sle),
+ q(6107) => q(slf),
+ q(6108) => q(slg),
+ q(6109) => q(slh),
+ q(6110) => q(sli),
+ q(6111) => q(slj),
+ q(6112) => q(sll),
+ q(6113) => q(slm),
+ q(6114) => q(sln),
+ q(6115) => q(slp),
+ q(6116) => q(slq),
+ q(6117) => q(slr),
+ q(6118) => q(sls),
+ q(6119) => q(slt),
+ q(6120) => q(slu),
+ q(6121) => q(slw),
+ q(6122) => q(slx),
+ q(6123) => q(sly),
+ q(6124) => q(slz),
+ q(6125) => q(smb),
+ q(6126) => q(smc),
+ q(6127) => q(smd),
+ q(6128) => q(smf),
+ q(6129) => q(smg),
+ q(6130) => q(smh),
+ q(6131) => q(smk),
+ q(6132) => q(sml),
+ q(6133) => q(smm),
+ q(6134) => q(smp),
+ q(6135) => q(smq),
+ q(6136) => q(smr),
+ q(6137) => q(smt),
+ q(6138) => q(smu),
+ q(6139) => q(smv),
+ q(6140) => q(smw),
+ q(6141) => q(smx),
+ q(6142) => q(smy),
+ q(6143) => q(smz),
+ q(6144) => q(snb),
+ q(6145) => q(snc),
+ q(6146) => q(sne),
+ q(6147) => q(snf),
+ q(6148) => q(sng),
+ q(6149) => q(snh),
+ q(6150) => q(sni),
+ q(6151) => q(snj),
+ q(6152) => q(snl),
+ q(6153) => q(snm),
+ q(6154) => q(snn),
+ q(6155) => q(sno),
+ q(6156) => q(snp),
+ q(6157) => q(snq),
+ q(6158) => q(snr),
+ q(6159) => q(sns),
+ q(6160) => q(snu),
+ q(6161) => q(snv),
+ q(6162) => q(snw),
+ q(6163) => q(snx),
+ q(6164) => q(sny),
+ q(6165) => q(snz),
+ q(6166) => q(soa),
+ q(6167) => q(sob),
+ q(6168) => q(soc),
+ q(6169) => q(sod),
+ q(6170) => q(soe),
+ q(6171) => q(soh),
+ q(6172) => q(soi),
+ q(6173) => q(soj),
+ q(6174) => q(sok),
+ q(6175) => q(sol),
+ q(6176) => q(soo),
+ q(6177) => q(sop),
+ q(6178) => q(soq),
+ q(6179) => q(sor),
+ q(6180) => q(sos),
+ q(6181) => q(sou),
+ q(6182) => q(sov),
+ q(6183) => q(sow),
+ q(6184) => q(sox),
+ q(6185) => q(soy),
+ q(6186) => q(soz),
+ q(6187) => q(spb),
+ q(6188) => q(spc),
+ q(6189) => q(spd),
+ q(6190) => q(spe),
+ q(6191) => q(spg),
+ q(6192) => q(spi),
+ q(6193) => q(spk),
+ q(6194) => q(spl),
+ q(6195) => q(spm),
+ q(6196) => q(spo),
+ q(6197) => q(spp),
+ q(6198) => q(spq),
+ q(6199) => q(spr),
+ q(6200) => q(sps),
+ q(6201) => q(spt),
+ q(6202) => q(spu),
+ q(6203) => q(spv),
+ q(6204) => q(spx),
+ q(6205) => q(spy),
+ q(6206) => q(sqa),
+ q(6207) => q(sqh),
+ q(6208) => q(sqk),
+ q(6209) => q(sqm),
+ q(6210) => q(sqn),
+ q(6211) => q(sqo),
+ q(6212) => q(sqq),
+ q(6213) => q(sqr),
+ q(6214) => q(sqs),
+ q(6215) => q(sqt),
+ q(6216) => q(squ),
+ q(6217) => q(sra),
+ q(6218) => q(srb),
+ q(6219) => q(src),
+ q(6220) => q(sre),
+ q(6221) => q(srf),
+ q(6222) => q(srg),
+ q(6223) => q(srh),
+ q(6224) => q(sri),
+ q(6225) => q(srk),
+ q(6226) => q(srl),
+ q(6227) => q(srm),
+ q(6228) => q(sro),
+ q(6229) => q(srq),
+ q(6230) => q(srs),
+ q(6231) => q(srt),
+ q(6232) => q(sru),
+ q(6233) => q(srv),
+ q(6234) => q(srw),
+ q(6235) => q(srx),
+ q(6236) => q(sry),
+ q(6237) => q(srz),
+ q(6238) => q(ssb),
+ q(6239) => q(ssc),
+ q(6240) => q(ssd),
+ q(6241) => q(sse),
+ q(6242) => q(ssf),
+ q(6243) => q(ssg),
+ q(6244) => q(ssh),
+ q(6245) => q(ssi),
+ q(6246) => q(ssj),
+ q(6247) => q(ssk),
+ q(6248) => q(ssl),
+ q(6249) => q(ssm),
+ q(6250) => q(ssn),
+ q(6251) => q(sso),
+ q(6252) => q(ssp),
+ q(6253) => q(ssq),
+ q(6254) => q(ssr),
+ q(6255) => q(sss),
+ q(6256) => q(sst),
+ q(6257) => q(ssu),
+ q(6258) => q(ssv),
+ q(6259) => q(ssx),
+ q(6260) => q(ssy),
+ q(6261) => q(ssz),
+ q(6262) => q(sta),
+ q(6263) => q(stb),
+ q(6264) => q(std),
+ q(6265) => q(ste),
+ q(6266) => q(stf),
+ q(6267) => q(stg),
+ q(6268) => q(sth),
+ q(6269) => q(sti),
+ q(6270) => q(stj),
+ q(6271) => q(stk),
+ q(6272) => q(stl),
+ q(6273) => q(stm),
+ q(6274) => q(stn),
+ q(6275) => q(sto),
+ q(6276) => q(stp),
+ q(6277) => q(stq),
+ q(6278) => q(str),
+ q(6279) => q(sts),
+ q(6280) => q(stt),
+ q(6281) => q(stu),
+ q(6282) => q(stv),
+ q(6283) => q(stw),
+ q(6284) => q(sty),
+ q(6285) => q(sua),
+ q(6286) => q(sub),
+ q(6287) => q(suc),
+ q(6288) => q(sue),
+ q(6289) => q(sug),
+ q(6290) => q(sui),
+ q(6291) => q(suj),
+ q(6292) => q(suq),
+ q(6293) => q(sur),
+ q(6294) => q(sut),
+ q(6295) => q(suv),
+ q(6296) => q(suw),
+ q(6297) => q(suy),
+ q(6298) => q(suz),
+ q(6299) => q(sva),
+ q(6300) => q(svb),
+ q(6301) => q(svc),
+ q(6302) => q(sve),
+ q(6303) => q(svk),
+ q(6304) => q(svm),
+ q(6305) => q(svr),
+ q(6306) => q(svs),
+ q(6307) => q(svx),
+ q(6308) => q(swb),
+ q(6309) => q(swc),
+ q(6310) => q(swf),
+ q(6311) => q(swg),
+ q(6312) => q(swh),
+ q(6313) => q(swi),
+ q(6314) => q(swj),
+ q(6315) => q(swk),
+ q(6316) => q(swl),
+ q(6317) => q(swm),
+ q(6318) => q(swn),
+ q(6319) => q(swo),
+ q(6320) => q(swp),
+ q(6321) => q(swq),
+ q(6322) => q(swr),
+ q(6323) => q(sws),
+ q(6324) => q(swt),
+ q(6325) => q(swu),
+ q(6326) => q(swv),
+ q(6327) => q(sww),
+ q(6328) => q(swx),
+ q(6329) => q(swy),
+ q(6330) => q(sxb),
+ q(6331) => q(sxc),
+ q(6332) => q(sxe),
+ q(6333) => q(sxg),
+ q(6334) => q(sxk),
+ q(6335) => q(sxl),
+ q(6336) => q(sxm),
+ q(6337) => q(sxn),
+ q(6338) => q(sxo),
+ q(6339) => q(sxr),
+ q(6340) => q(sxs),
+ q(6341) => q(sxu),
+ q(6342) => q(sxw),
+ q(6343) => q(sya),
+ q(6344) => q(syb),
+ q(6345) => q(syi),
+ q(6346) => q(syk),
+ q(6347) => q(syl),
+ q(6348) => q(sym),
+ q(6349) => q(syn),
+ q(6350) => q(syo),
+ q(6351) => q(sys),
+ q(6352) => q(syw),
+ q(6353) => q(syy),
+ q(6354) => q(sza),
+ q(6355) => q(szb),
+ q(6356) => q(szc),
+ q(6357) => q(szd),
+ q(6358) => q(sze),
+ q(6359) => q(szg),
+ q(6360) => q(szl),
+ q(6361) => q(szn),
+ q(6362) => q(szp),
+ q(6363) => q(szv),
+ q(6364) => q(szw),
+ q(6365) => q(taa),
+ q(6366) => q(tab),
+ q(6367) => q(tac),
+ q(6368) => q(tad),
+ q(6369) => q(tae),
+ q(6370) => q(taf),
+ q(6371) => q(tag),
+ q(6372) => q(taj),
+ q(6373) => q(tak),
+ q(6374) => q(tal),
+ q(6375) => q(tan),
+ q(6376) => q(tao),
+ q(6377) => q(tap),
+ q(6378) => q(taq),
+ q(6379) => q(tar),
+ q(6380) => q(tas),
+ q(6381) => q(tau),
+ q(6382) => q(tav),
+ q(6383) => q(taw),
+ q(6384) => q(tax),
+ q(6385) => q(tay),
+ q(6386) => q(taz),
+ q(6387) => q(tba),
+ q(6388) => q(tbb),
+ q(6389) => q(tbc),
+ q(6390) => q(tbd),
+ q(6391) => q(tbe),
+ q(6392) => q(tbf),
+ q(6393) => q(tbg),
+ q(6394) => q(tbh),
+ q(6395) => q(tbi),
+ q(6396) => q(tbj),
+ q(6397) => q(tbk),
+ q(6398) => q(tbl),
+ q(6399) => q(tbm),
+ q(6400) => q(tbn),
+ q(6401) => q(tbo),
+ q(6402) => q(tbp),
+ q(6403) => q(tbr),
+ q(6404) => q(tbs),
+ q(6405) => q(tbt),
+ q(6406) => q(tbu),
+ q(6407) => q(tbv),
+ q(6408) => q(tbw),
+ q(6409) => q(tbx),
+ q(6410) => q(tby),
+ q(6411) => q(tbz),
+ q(6412) => q(tca),
+ q(6413) => q(tcb),
+ q(6414) => q(tcc),
+ q(6415) => q(tcd),
+ q(6416) => q(tce),
+ q(6417) => q(tcf),
+ q(6418) => q(tcg),
+ q(6419) => q(tch),
+ q(6420) => q(wbf),
+ q(6421) => q(tck),
+ q(6422) => q(tcl),
+ q(6423) => q(tcm),
+ q(6424) => q(tcn),
+ q(6425) => q(tco),
+ q(6426) => q(tcp),
+ q(6427) => q(tcq),
+ q(6428) => q(tcs),
+ q(6429) => q(tct),
+ q(6430) => q(tcu),
+ q(6431) => q(tcw),
+ q(6432) => q(tcx),
+ q(6433) => q(tcy),
+ q(6434) => q(tcz),
+ q(6435) => q(tda),
+ q(6436) => q(tdb),
+ q(6437) => q(tdc),
+ q(6438) => q(tdd),
+ q(6439) => q(tde),
+ q(6440) => q(tdf),
+ q(6441) => q(tdg),
+ q(6442) => q(tdh),
+ q(6443) => q(tdi),
+ q(6444) => q(tdj),
+ q(6445) => q(tdk),
+ q(6446) => q(tdl),
+ q(6447) => q(tdn),
+ q(6448) => q(tdo),
+ q(6449) => q(tdq),
+ q(6450) => q(tdr),
+ q(6451) => q(tds),
+ q(6452) => q(tdt),
+ q(6453) => q(tdu),
+ q(6454) => q(tdv),
+ q(6455) => q(tdx),
+ q(6456) => q(tdy),
+ q(6457) => q(tea),
+ q(6458) => q(teb),
+ q(6459) => q(tec),
+ q(6460) => q(ted),
+ q(6461) => q(tee),
+ q(6462) => q(tef),
+ q(6463) => q(teg),
+ q(6464) => q(teh),
+ q(6465) => q(tei),
+ q(6466) => q(tek),
+ q(6467) => q(ten),
+ q(6468) => q(teo),
+ q(6469) => q(tep),
+ q(6470) => q(teq),
+ q(6471) => q(tes),
+ q(6472) => q(teu),
+ q(6473) => q(tev),
+ q(6474) => q(tew),
+ q(6475) => q(tex),
+ q(6476) => q(tey),
+ q(6477) => q(tfi),
+ q(6478) => q(tfn),
+ q(6479) => q(tfo),
+ q(6480) => q(tfr),
+ q(6481) => q(tft),
+ q(6482) => q(tga),
+ q(6483) => q(tgb),
+ q(6484) => q(tgc),
+ q(6485) => q(tgd),
+ q(6486) => q(tge),
+ q(6487) => q(tgf),
+ q(6488) => q(tgh),
+ q(6489) => q(tgi),
+ q(6490) => q(tgj),
+ q(6491) => q(tgn),
+ q(6492) => q(tgo),
+ q(6493) => q(tgp),
+ q(6494) => q(tgq),
+ q(6495) => q(tgr),
+ q(6496) => q(tgs),
+ q(6497) => q(tgt),
+ q(6498) => q(tgu),
+ q(6499) => q(tgv),
+ q(6500) => q(tgw),
+ q(6501) => q(tgx),
+ q(6502) => q(tgy),
+ q(6503) => q(tgz),
+ q(6504) => q(thc),
+ q(6505) => q(thd),
+ q(6506) => q(the),
+ q(6507) => q(thf),
+ q(6508) => q(thh),
+ q(6509) => q(thi),
+ q(6510) => q(thk),
+ q(6511) => q(thl),
+ q(6512) => q(thm),
+ q(6513) => q(thn),
+ q(6514) => q(thp),
+ q(6515) => q(thq),
+ q(6516) => q(thr),
+ q(6517) => q(ths),
+ q(6518) => q(tht),
+ q(6519) => q(thu),
+ q(6520) => q(thv),
+ q(6521) => q(thw),
+ q(6522) => q(thx),
+ q(6523) => q(thy),
+ q(6524) => q(thz),
+ q(6525) => q(tia),
+ q(6526) => q(tic),
+ q(6527) => q(tid),
+ q(6528) => q(tif),
+ q(6529) => q(tih),
+ q(6530) => q(tii),
+ q(6531) => q(tij),
+ q(6532) => q(tik),
+ q(6533) => q(til),
+ q(6534) => q(tim),
+ q(6535) => q(tin),
+ q(6536) => q(tio),
+ q(6537) => q(tip),
+ q(6538) => q(tiq),
+ q(6539) => q(tis),
+ q(6540) => q(tit),
+ q(6541) => q(tiu),
+ q(6542) => q(tiw),
+ q(6543) => q(tix),
+ q(6544) => q(tiy),
+ q(6545) => q(tiz),
+ q(6546) => q(tja),
+ q(6547) => q(tjg),
+ q(6548) => q(tji),
+ q(6549) => q(tjl),
+ q(6550) => q(tjm),
+ q(6551) => q(tjn),
+ q(6552) => q(tjo),
+ q(6553) => q(tjs),
+ q(6554) => q(tju),
+ q(6555) => q(tjw),
+ q(6556) => q(tka),
+ q(6557) => q(tkb),
+ q(6558) => q(tkd),
+ q(6559) => q(tke),
+ q(6560) => q(tkf),
+ q(6561) => q(tkg),
+ q(6562) => q(tkm),
+ q(6563) => q(tkn),
+ q(6564) => q(tkp),
+ q(6565) => q(tkq),
+ q(6566) => q(tkr),
+ q(6567) => q(tks),
+ q(6568) => q(tkt),
+ q(6569) => q(tku),
+ q(6570) => q(tkw),
+ q(6571) => q(tkx),
+ q(6572) => q(tkz),
+ q(6573) => q(tla),
+ q(6574) => q(tlb),
+ q(6575) => q(tlc),
+ q(6576) => q(tld),
+ q(6577) => q(tlf),
+ q(6578) => q(tlg),
+ q(6579) => q(tlj),
+ q(6580) => q(tlk),
+ q(6581) => q(tll),
+ q(6582) => q(tlm),
+ q(6583) => q(tln),
+ q(6584) => q(tlo),
+ q(6585) => q(tlp),
+ q(6586) => q(tlq),
+ q(6587) => q(tlr),
+ q(6588) => q(tls),
+ q(6589) => q(tlt),
+ q(6590) => q(tlu),
+ q(6591) => q(tlv),
+ q(6592) => q(tlx),
+ q(6593) => q(tly),
+ q(6594) => q(tma),
+ q(6595) => q(tmb),
+ q(6596) => q(tmc),
+ q(6597) => q(tmd),
+ q(6598) => q(tme),
+ q(6599) => q(tmf),
+ q(6600) => q(tmg),
+ q(6601) => q(tmi),
+ q(6602) => q(tmj),
+ q(6603) => q(tmk),
+ q(6604) => q(tml),
+ q(6605) => q(tmm),
+ q(6606) => q(tmn),
+ q(6607) => q(tmo),
+ q(6608) => q(tmp),
+ q(6609) => q(tmq),
+ q(6610) => q(tmr),
+ q(6611) => q(tms),
+ q(6612) => q(tmt),
+ q(6613) => q(tmu),
+ q(6614) => q(tmv),
+ q(6615) => q(tmw),
+ q(6616) => q(tmy),
+ q(6617) => q(tmz),
+ q(6618) => q(tna),
+ q(6619) => q(tnb),
+ q(6620) => q(tnc),
+ q(6621) => q(tnd),
+ q(6622) => q(tne),
+ q(6623) => q(tng),
+ q(6624) => q(tnh),
+ q(6625) => q(tni),
+ q(6626) => q(tnk),
+ q(6627) => q(tnl),
+ q(6628) => q(tnm),
+ q(6629) => q(tnn),
+ q(6630) => q(tno),
+ q(6631) => q(tnp),
+ q(6632) => q(tnq),
+ q(6633) => q(tnr),
+ q(6634) => q(tns),
+ q(6635) => q(tnt),
+ q(6636) => q(tnu),
+ q(6637) => q(tnv),
+ q(6638) => q(tnw),
+ q(6639) => q(tnx),
+ q(6640) => q(tny),
+ q(6641) => q(tnz),
+ q(6642) => q(tob),
+ q(6643) => q(toc),
+ q(6644) => q(tod),
+ q(6645) => q(toe),
+ q(6646) => q(tof),
+ q(6647) => q(toh),
+ q(6648) => q(toi),
+ q(6649) => q(toj),
+ q(6650) => q(tol),
+ q(6651) => q(tom),
+ q(6652) => q(too),
+ q(6653) => q(top),
+ q(6654) => q(toq),
+ q(6655) => q(tor),
+ q(6656) => q(tos),
+ q(6657) => q(tou),
+ q(6658) => q(tov),
+ q(6659) => q(tow),
+ q(6660) => q(tox),
+ q(6661) => q(toy),
+ q(6662) => q(toz),
+ q(6663) => q(tpa),
+ q(6664) => q(tpc),
+ q(6665) => q(tpe),
+ q(6666) => q(tpf),
+ q(6667) => q(tpg),
+ q(6668) => q(tpj),
+ q(6669) => q(tpk),
+ q(6670) => q(tpl),
+ q(6671) => q(tpm),
+ q(6672) => q(tpn),
+ q(6673) => q(tpo),
+ q(6674) => q(tpp),
+ q(6675) => q(tpq),
+ q(6676) => q(tpr),
+ q(6677) => q(tpt),
+ q(6678) => q(tpu),
+ q(6679) => q(tpv),
+ q(6680) => q(tpw),
+ q(6681) => q(tpx),
+ q(6682) => q(tpy),
+ q(6683) => q(tpz),
+ q(6684) => q(tqb),
+ q(6685) => q(tql),
+ q(6686) => q(tqm),
+ q(6687) => q(tqn),
+ q(6688) => q(tqo),
+ q(6689) => q(tqp),
+ q(6690) => q(tqq),
+ q(6691) => q(tqr),
+ q(6692) => q(tqt),
+ q(6693) => q(tqu),
+ q(6694) => q(tqw),
+ q(6695) => q(tra),
+ q(6696) => q(trb),
+ q(6697) => q(trc),
+ q(6698) => q(trd),
+ q(6699) => q(tre),
+ q(6700) => q(trf),
+ q(6701) => q(trg),
+ q(6702) => q(trh),
+ q(6703) => q(tri),
+ q(6704) => q(trj),
+ q(6705) => q(trl),
+ q(6706) => q(trm),
+ q(6707) => q(trn),
+ q(6708) => q(tro),
+ q(6709) => q(trp),
+ q(6710) => q(trq),
+ q(6711) => q(trr),
+ q(6712) => q(trs),
+ q(6713) => q(trt),
+ q(6714) => q(tru),
+ q(6715) => q(trv),
+ q(6716) => q(trw),
+ q(6717) => q(trx),
+ q(6718) => q(try),
+ q(6719) => q(trz),
+ q(6720) => q(tsa),
+ q(6721) => q(tsb),
+ q(6722) => q(tsc),
+ q(6723) => q(tsd),
+ q(6724) => q(tse),
+ q(6725) => q(tsf),
+ q(6726) => q(tsg),
+ q(6727) => q(tsh),
+ q(6728) => q(tsj),
+ q(6729) => q(tsk),
+ q(6730) => q(tsl),
+ q(6731) => q(tsm),
+ q(6732) => q(tsp),
+ q(6733) => q(tsq),
+ q(6734) => q(tsr),
+ q(6735) => q(tss),
+ q(6736) => q(tst),
+ q(6737) => q(tsu),
+ q(6738) => q(tsv),
+ q(6739) => q(tsw),
+ q(6740) => q(tsx),
+ q(6741) => q(tsy),
+ q(6742) => q(tsz),
+ q(6743) => q(tta),
+ q(6744) => q(ttb),
+ q(6745) => q(ttc),
+ q(6746) => q(ttd),
+ q(6747) => q(tte),
+ q(6748) => q(ttf),
+ q(6749) => q(ttg),
+ q(6750) => q(tth),
+ q(6751) => q(tti),
+ q(6752) => q(ttj),
+ q(6753) => q(ttk),
+ q(6754) => q(ttl),
+ q(6755) => q(ttm),
+ q(6756) => q(ttn),
+ q(6757) => q(tto),
+ q(6758) => q(ttp),
+ q(6759) => q(ttq),
+ q(6760) => q(ttr),
+ q(6761) => q(tts),
+ q(6762) => q(ttt),
+ q(6763) => q(ttu),
+ q(6764) => q(ttv),
+ q(6765) => q(ttw),
+ q(6766) => q(tty),
+ q(6767) => q(ttz),
+ q(6768) => q(tua),
+ q(6769) => q(tub),
+ q(6770) => q(tuc),
+ q(6771) => q(tud),
+ q(6772) => q(tue),
+ q(6773) => q(tuf),
+ q(6774) => q(tug),
+ q(6775) => q(tuh),
+ q(6776) => q(tui),
+ q(6777) => q(tuj),
+ q(6778) => q(tul),
+ q(6779) => q(tun),
+ q(6780) => q(tuo),
+ q(6781) => q(tuq),
+ q(6782) => q(tus),
+ q(6783) => q(tuu),
+ q(6784) => q(tuv),
+ q(6785) => q(tux),
+ q(6786) => q(tuy),
+ q(6787) => q(tuz),
+ q(6788) => q(tva),
+ q(6789) => q(tvd),
+ q(6790) => q(tve),
+ q(6791) => q(tvk),
+ q(6792) => q(tvm),
+ q(6793) => q(tvn),
+ q(6794) => q(tvo),
+ q(6795) => q(tvs),
+ q(6796) => q(tvt),
+ q(6797) => q(tvu),
+ q(6798) => q(tvw),
+ q(6799) => q(tvy),
+ q(6800) => q(twa),
+ q(6801) => q(twb),
+ q(6802) => q(twc),
+ q(6803) => q(twd),
+ q(6804) => q(twe),
+ q(6805) => q(twf),
+ q(6806) => q(twg),
+ q(6807) => q(twh),
+ q(6808) => q(twl),
+ q(6809) => q(twm),
+ q(6810) => q(twn),
+ q(6811) => q(two),
+ q(6812) => q(twp),
+ q(6813) => q(twq),
+ q(6814) => q(twr),
+ q(6815) => q(twt),
+ q(6816) => q(twu),
+ q(6817) => q(tww),
+ q(6818) => q(twx),
+ q(6819) => q(twy),
+ q(6820) => q(txa),
+ q(6821) => q(txb),
+ q(6822) => q(txc),
+ q(6823) => q(txe),
+ q(6824) => q(txg),
+ q(6825) => q(txh),
+ q(6826) => q(txi),
+ q(6827) => q(txm),
+ q(6828) => q(txn),
+ q(6829) => q(txo),
+ q(6830) => q(txq),
+ q(6831) => q(txr),
+ q(6832) => q(txs),
+ q(6833) => q(txt),
+ q(6834) => q(txu),
+ q(6835) => q(txx),
+ q(6836) => q(txy),
+ q(6837) => q(tya),
+ q(6838) => q(tye),
+ q(6839) => q(tyh),
+ q(6840) => q(tyi),
+ q(6841) => q(tyj),
+ q(6842) => q(tyl),
+ q(6843) => q(tyn),
+ q(6844) => q(typ),
+ q(6845) => q(tyr),
+ q(6846) => q(tys),
+ q(6847) => q(tyt),
+ q(6848) => q(tyu),
+ q(6849) => q(tyx),
+ q(6850) => q(tyz),
+ q(6851) => q(tza),
+ q(6852) => q(tzh),
+ q(6853) => q(tzj),
+ q(6854) => q(tzl),
+ q(6855) => q(tzm),
+ q(6856) => q(tzn),
+ q(6857) => q(tzo),
+ q(6858) => q(tzx),
+ q(6859) => q(uam),
+ q(6860) => q(uan),
+ q(6861) => q(uar),
+ q(6862) => q(uba),
+ q(6863) => q(ubi),
+ q(6864) => q(ubl),
+ q(6865) => q(ubr),
+ q(6866) => q(ubu),
+ q(6867) => q(uby),
+ q(6868) => q(uda),
+ q(6869) => q(ude),
+ q(6870) => q(udg),
+ q(6871) => q(udi),
+ q(6872) => q(udj),
+ q(6873) => q(udl),
+ q(6874) => q(udu),
+ q(6875) => q(ues),
+ q(6876) => q(ufi),
+ q(6877) => q(ugb),
+ q(6878) => q(uge),
+ q(6879) => q(ugn),
+ q(6880) => q(ugo),
+ q(6881) => q(ugy),
+ q(6882) => q(uha),
+ q(6883) => q(uhn),
+ q(6884) => q(uis),
+ q(6885) => q(uiv),
+ q(6886) => q(uji),
+ q(6887) => q(uka),
+ q(6888) => q(ukg),
+ q(6889) => q(ukh),
+ q(6890) => q(ukl),
+ q(6891) => q(ukp),
+ q(6892) => q(ukq),
+ q(6893) => q(uks),
+ q(6894) => q(uku),
+ q(6895) => q(ukw),
+ q(6896) => q(uky),
+ q(6897) => q(ula),
+ q(6898) => q(ulb),
+ q(6899) => q(ulc),
+ q(6900) => q(ule),
+ q(6901) => q(ulf),
+ q(6902) => q(uli),
+ q(6903) => q(ulk),
+ q(6904) => q(ull),
+ q(6905) => q(ulm),
+ q(6906) => q(uln),
+ q(6907) => q(ulu),
+ q(6908) => q(ulw),
+ q(6909) => q(uma),
+ q(6910) => q(umc),
+ q(6911) => q(umd),
+ q(6912) => q(umg),
+ q(6913) => q(umi),
+ q(6914) => q(umm),
+ q(6915) => q(umn),
+ q(6916) => q(umo),
+ q(6917) => q(ump),
+ q(6918) => q(umr),
+ q(6919) => q(ums),
+ q(6920) => q(umu),
+ q(6921) => q(una),
+ q(6922) => q(une),
+ q(6923) => q(ung),
+ q(6924) => q(unk),
+ q(6925) => q(unm),
+ q(6926) => q(unn),
+ q(6927) => q(unr),
+ q(6928) => q(unu),
+ q(6929) => q(unx),
+ q(6930) => q(unz),
+ q(6931) => q(uok),
+ q(6932) => q(upi),
+ q(6933) => q(upv),
+ q(6934) => q(ura),
+ q(6935) => q(urb),
+ q(6936) => q(urc),
+ q(6937) => q(ure),
+ q(6938) => q(urf),
+ q(6939) => q(urg),
+ q(6940) => q(urh),
+ q(6941) => q(uri),
+ q(6942) => q(urk),
+ q(6943) => q(url),
+ q(6944) => q(urm),
+ q(6945) => q(urn),
+ q(6946) => q(uro),
+ q(6947) => q(urp),
+ q(6948) => q(urr),
+ q(6949) => q(urt),
+ q(6950) => q(uru),
+ q(6951) => q(urv),
+ q(6952) => q(urw),
+ q(6953) => q(urx),
+ q(6954) => q(ury),
+ q(6955) => q(urz),
+ q(6956) => q(usa),
+ q(6957) => q(ush),
+ q(6958) => q(usi),
+ q(6959) => q(usk),
+ q(6960) => q(usp),
+ q(6961) => q(usu),
+ q(6962) => q(uta),
+ q(6963) => q(ute),
+ q(6964) => q(utp),
+ q(6965) => q(utr),
+ q(6966) => q(utu),
+ q(6967) => q(uum),
+ q(6968) => q(uun),
+ q(6969) => q(uur),
+ q(6970) => q(uuu),
+ q(6971) => q(uve),
+ q(6972) => q(uvh),
+ q(6973) => q(uvl),
+ q(6974) => q(uwa),
+ q(6975) => q(uya),
+ q(6976) => q(uzn),
+ q(6977) => q(uzs),
+ q(6978) => q(vaa),
+ q(6979) => q(vae),
+ q(6980) => q(vaf),
+ q(6981) => q(vag),
+ q(6982) => q(vah),
+ q(6983) => q(vaj),
+ q(6984) => q(val),
+ q(6985) => q(vam),
+ q(6986) => q(van),
+ q(6987) => q(vao),
+ q(6988) => q(vap),
+ q(6989) => q(var),
+ q(6990) => q(vas),
+ q(6991) => q(vau),
+ q(6992) => q(vav),
+ q(6993) => q(vay),
+ q(6994) => q(vbb),
+ q(6995) => q(vbk),
+ q(6996) => q(vec),
+ q(6997) => q(ved),
+ q(6998) => q(vel),
+ q(6999) => q(vem),
+ q(7000) => q(veo),
+ q(7001) => q(vep),
+ q(7002) => q(ver),
+ q(7003) => q(vgr),
+ q(7004) => q(vgt),
+ q(7005) => q(vic),
+ q(7006) => q(vid),
+ q(7007) => q(vif),
+ q(7008) => q(vig),
+ q(7009) => q(vil),
+ q(7010) => q(vin),
+ q(7011) => q(vis),
+ q(7012) => q(vit),
+ q(7013) => q(viv),
+ q(7014) => q(vka),
+ q(7015) => q(vki),
+ q(7016) => q(vkj),
+ q(7017) => q(vkk),
+ q(7018) => q(vkl),
+ q(7019) => q(vkm),
+ q(7020) => q(vko),
+ q(7021) => q(vkp),
+ q(7022) => q(vkt),
+ q(7023) => q(vku),
+ q(7024) => q(vlp),
+ q(7025) => q(vls),
+ q(7026) => q(vma),
+ q(7027) => q(vmb),
+ q(7028) => q(vmc),
+ q(7029) => q(vmd),
+ q(7030) => q(vme),
+ q(7031) => q(vmf),
+ q(7032) => q(vmg),
+ q(7033) => q(vmh),
+ q(7034) => q(vmi),
+ q(7035) => q(vmj),
+ q(7036) => q(vmk),
+ q(7037) => q(vml),
+ q(7038) => q(vmm),
+ q(7039) => q(vmp),
+ q(7040) => q(vmq),
+ q(7041) => q(vmr),
+ q(7042) => q(vms),
+ q(7043) => q(vmu),
+ q(7044) => q(vmv),
+ q(7045) => q(vmw),
+ q(7046) => q(vmx),
+ q(7047) => q(vmy),
+ q(7048) => q(vmz),
+ q(7049) => q(vnk),
+ q(7050) => q(vnm),
+ q(7051) => q(vnp),
+ q(7052) => q(vro),
+ q(7053) => q(vra),
+ q(7054) => q(vrs),
+ q(7055) => q(vrt),
+ q(7056) => q(vsi),
+ q(7057) => q(vsl),
+ q(7058) => q(vsv),
+ q(7059) => q(vto),
+ q(7060) => q(vum),
+ q(7061) => q(vun),
+ q(7062) => q(vut),
+ q(7063) => q(vwa),
+ q(7064) => q(waa),
+ q(7065) => q(wab),
+ q(7066) => q(wac),
+ q(7067) => q(wad),
+ q(7068) => q(wae),
+ q(7069) => q(waf),
+ q(7070) => q(wag),
+ q(7071) => q(wah),
+ q(7072) => q(wai),
+ q(7073) => q(waj),
+ q(7074) => q(wam),
+ q(7075) => q(wan),
+ q(7076) => q(wao),
+ q(7077) => q(wap),
+ q(7078) => q(waq),
+ q(7079) => q(wat),
+ q(7080) => q(wau),
+ q(7081) => q(wav),
+ q(7082) => q(waw),
+ q(7083) => q(wax),
+ q(7084) => q(way),
+ q(7085) => q(waz),
+ q(7086) => q(wba),
+ q(7087) => q(wbb),
+ q(7088) => q(wbe),
+ q(7089) => q(wbh),
+ q(7090) => q(wbi),
+ q(7091) => q(wbj),
+ q(7092) => q(wbk),
+ q(7093) => q(wbl),
+ q(7094) => q(wbm),
+ q(7095) => q(wbp),
+ q(7096) => q(wbq),
+ q(7097) => q(wbr),
+ q(7098) => q(wbt),
+ q(7099) => q(wbv),
+ q(7100) => q(wbw),
+ q(7101) => q(wca),
+ q(7102) => q(wci),
+ q(7103) => q(wdd),
+ q(7104) => q(wdg),
+ q(7105) => q(wdj),
+ q(7106) => q(wdk),
+ q(7107) => q(wdu),
+ q(7108) => q(wdy),
+ q(7109) => q(wea),
+ q(7110) => q(wec),
+ q(7111) => q(wed),
+ q(7112) => q(weg),
+ q(7113) => q(weh),
+ q(7114) => q(wei),
+ q(7115) => q(wem),
+ q(7116) => q(weo),
+ q(7117) => q(wep),
+ q(7118) => q(wer),
+ q(7119) => q(wes),
+ q(7120) => q(wet),
+ q(7121) => q(weu),
+ q(7122) => q(wew),
+ q(7123) => q(wfg),
+ q(7124) => q(wga),
+ q(7125) => q(wgb),
+ q(7126) => q(wgg),
+ q(7127) => q(wgi),
+ q(7128) => q(wgo),
+ q(7129) => q(wgu),
+ q(7130) => q(wgy),
+ q(7131) => q(wha),
+ q(7132) => q(whg),
+ q(7133) => q(whk),
+ q(7134) => q(whu),
+ q(7135) => q(wib),
+ q(7136) => q(wic),
+ q(7137) => q(wie),
+ q(7138) => q(wif),
+ q(7139) => q(wig),
+ q(7140) => q(wih),
+ q(7141) => q(wii),
+ q(7142) => q(wij),
+ q(7143) => q(wik),
+ q(7144) => q(wil),
+ q(7145) => q(wim),
+ q(7146) => q(win),
+ q(7147) => q(wir),
+ q(7148) => q(wiu),
+ q(7149) => q(wiv),
+ q(7150) => q(wiy),
+ q(7151) => q(wja),
+ q(7152) => q(wji),
+ q(7153) => q(wka),
+ q(7154) => q(wkb),
+ q(7155) => q(wkd),
+ q(7156) => q(wkl),
+ q(7157) => q(wku),
+ q(7158) => q(wkw),
+ q(7159) => q(wky),
+ q(7160) => q(wla),
+ q(7161) => q(wlc),
+ q(7162) => q(wle),
+ q(7163) => q(wlg),
+ q(7164) => q(wli),
+ q(7165) => q(wlk),
+ q(7166) => q(wll),
+ q(7167) => q(wlm),
+ q(7168) => q(wlo),
+ q(7169) => q(wlr),
+ q(7170) => q(wls),
+ q(7171) => q(wlu),
+ q(7172) => q(wlv),
+ q(7173) => q(wlw),
+ q(7174) => q(wlx),
+ q(7175) => q(wly),
+ q(7176) => q(wma),
+ q(7177) => q(wmb),
+ q(7178) => q(wmc),
+ q(7179) => q(wmd),
+ q(7180) => q(wme),
+ q(7181) => q(wmh),
+ q(7182) => q(wmi),
+ q(7183) => q(wmm),
+ q(7184) => q(wmn),
+ q(7185) => q(wmo),
+ q(7186) => q(wms),
+ q(7187) => q(wmt),
+ q(7188) => q(wmw),
+ q(7189) => q(wmx),
+ q(7190) => q(wnb),
+ q(7191) => q(wnc),
+ q(7192) => q(wnd),
+ q(7193) => q(wne),
+ q(7194) => q(wng),
+ q(7195) => q(wni),
+ q(7196) => q(wnk),
+ q(7197) => q(wnm),
+ q(7198) => q(wnn),
+ q(7199) => q(wno),
+ q(7200) => q(wnp),
+ q(7201) => q(wnu),
+ q(7202) => q(wnw),
+ q(7203) => q(wny),
+ q(7204) => q(woa),
+ q(7205) => q(wob),
+ q(7206) => q(woc),
+ q(7207) => q(wod),
+ q(7208) => q(woe),
+ q(7209) => q(wof),
+ q(7210) => q(wog),
+ q(7211) => q(woi),
+ q(7212) => q(wok),
+ q(7213) => q(wom),
+ q(7214) => q(won),
+ q(7215) => q(woo),
+ q(7216) => q(wor),
+ q(7217) => q(wos),
+ q(7218) => q(wow),
+ q(7219) => q(woy),
+ q(7220) => q(wpc),
+ q(7221) => q(wra),
+ q(7222) => q(wrb),
+ q(7223) => q(wrd),
+ q(7224) => q(wrg),
+ q(7225) => q(wrh),
+ q(7226) => q(wri),
+ q(7227) => q(wrk),
+ q(7228) => q(wrl),
+ q(7229) => q(wrm),
+ q(7230) => q(wrn),
+ q(7231) => q(wro),
+ q(7232) => q(wrp),
+ q(7233) => q(wrr),
+ q(7234) => q(wrs),
+ q(7235) => q(wru),
+ q(7236) => q(wrv),
+ q(7237) => q(wrw),
+ q(7238) => q(wrx),
+ q(7239) => q(wry),
+ q(7240) => q(wrz),
+ q(7241) => q(wsa),
+ q(7242) => q(wsi),
+ q(7243) => q(wsk),
+ q(7244) => q(wsr),
+ q(7245) => q(wss),
+ q(7246) => q(wsu),
+ q(7247) => q(wsv),
+ q(7248) => q(wtf),
+ q(7249) => q(wth),
+ q(7250) => q(wti),
+ q(7251) => q(wtk),
+ q(7252) => q(wtm),
+ q(7253) => q(wtw),
+ q(7254) => q(wua),
+ q(7255) => q(wub),
+ q(7256) => q(wud),
+ q(7257) => q(wuh),
+ q(7258) => q(wul),
+ q(7259) => q(wum),
+ q(7260) => q(wun),
+ q(7261) => q(wur),
+ q(7262) => q(wut),
+ q(7263) => q(wuu),
+ q(7264) => q(wuv),
+ q(7265) => q(wux),
+ q(7266) => q(wuy),
+ q(7267) => q(wwa),
+ q(7268) => q(wwb),
+ q(7269) => q(wwo),
+ q(7270) => q(wwr),
+ q(7271) => q(www),
+ q(7272) => q(wxa),
+ q(7273) => q(wxw),
+ q(7274) => q(wya),
+ q(7275) => q(wyb),
+ q(7276) => q(wyi),
+ q(7277) => q(wym),
+ q(7278) => q(wyr),
+ q(7279) => q(wyy),
+ q(7280) => q(xaa),
+ q(7281) => q(xab),
+ q(7282) => q(xac),
+ q(7283) => q(xad),
+ q(7284) => q(xae),
+ q(7285) => q(xag),
+ q(7286) => q(xai),
+ q(7287) => q(xam),
+ q(7288) => q(xan),
+ q(7289) => q(xao),
+ q(7290) => q(xap),
+ q(7291) => q(xaq),
+ q(7292) => q(xar),
+ q(7293) => q(xas),
+ q(7294) => q(xat),
+ q(7295) => q(xau),
+ q(7296) => q(xav),
+ q(7297) => q(xaw),
+ q(7298) => q(xay),
+ q(7299) => q(xba),
+ q(7300) => q(xbb),
+ q(7301) => q(xbc),
+ q(7302) => q(xbd),
+ q(7303) => q(xbe),
+ q(7304) => q(xbg),
+ q(7305) => q(xbi),
+ q(7306) => q(xbj),
+ q(7307) => q(xbm),
+ q(7308) => q(xbn),
+ q(7309) => q(xbo),
+ q(7310) => q(xbp),
+ q(7311) => q(xbr),
+ q(7312) => q(xbw),
+ q(7313) => q(xbx),
+ q(7314) => q(xby),
+ q(7315) => q(xcb),
+ q(7316) => q(xcc),
+ q(7317) => q(xce),
+ q(7318) => q(xcg),
+ q(7319) => q(xch),
+ q(7320) => q(xcl),
+ q(7321) => q(xcm),
+ q(7322) => q(xcn),
+ q(7323) => q(xco),
+ q(7324) => q(xcr),
+ q(7325) => q(xct),
+ q(7326) => q(xcu),
+ q(7327) => q(xcv),
+ q(7328) => q(xcw),
+ q(7329) => q(xcy),
+ q(7330) => q(xda),
+ q(7331) => q(xdc),
+ q(7332) => q(xdk),
+ q(7333) => q(xdm),
+ q(7334) => q(xdy),
+ q(7335) => q(xeb),
+ q(7336) => q(xed),
+ q(7337) => q(xeg),
+ q(7338) => q(xel),
+ q(7339) => q(xem),
+ q(7340) => q(xep),
+ q(7341) => q(xer),
+ q(7342) => q(xes),
+ q(7343) => q(xet),
+ q(7344) => q(xeu),
+ q(7345) => q(xfa),
+ q(7346) => q(xga),
+ q(7347) => q(xgb),
+ q(7348) => q(xgd),
+ q(7349) => q(xgf),
+ q(7350) => q(xgg),
+ q(7351) => q(xgi),
+ q(7352) => q(xgl),
+ q(7353) => q(xgm),
+ q(7354) => q(xgr),
+ q(7355) => q(xgu),
+ q(7356) => q(xgw),
+ q(7357) => q(xha),
+ q(7358) => q(xhc),
+ q(7359) => q(xhd),
+ q(7360) => q(xhe),
+ q(7361) => q(xhr),
+ q(7362) => q(xht),
+ q(7363) => q(xhu),
+ q(7364) => q(xhv),
+ q(7365) => q(xib),
+ q(7366) => q(xii),
+ q(7367) => q(xil),
+ q(7368) => q(xin),
+ q(7369) => q(xip),
+ q(7370) => q(xir),
+ q(7371) => q(xiv),
+ q(7372) => q(xiy),
+ q(7373) => q(xjb),
+ q(7374) => q(xjt),
+ q(7375) => q(xka),
+ q(7376) => q(xkb),
+ q(7377) => q(xkc),
+ q(7378) => q(xkd),
+ q(7379) => q(xke),
+ q(7380) => q(xkf),
+ q(7381) => q(xkg),
+ q(7382) => q(xkh),
+ q(7383) => q(xki),
+ q(7384) => q(xkj),
+ q(7385) => q(xkk),
+ q(7386) => q(xkl),
+ q(7387) => q(xkn),
+ q(7388) => q(xko),
+ q(7389) => q(xkp),
+ q(7390) => q(xkq),
+ q(7391) => q(xkr),
+ q(7392) => q(xks),
+ q(7393) => q(xkt),
+ q(7394) => q(xku),
+ q(7395) => q(xkv),
+ q(7396) => q(xkw),
+ q(7397) => q(xkx),
+ q(7398) => q(xky),
+ q(7399) => q(xkz),
+ q(7400) => q(xla),
+ q(7401) => q(xlb),
+ q(7402) => q(xlc),
+ q(7403) => q(xld),
+ q(7404) => q(xle),
+ q(7405) => q(xlg),
+ q(7406) => q(xli),
+ q(7407) => q(xln),
+ q(7408) => q(xlo),
+ q(7409) => q(xlp),
+ q(7410) => q(xls),
+ q(7411) => q(xlu),
+ q(7412) => q(xly),
+ q(7413) => q(xma),
+ q(7414) => q(xmb),
+ q(7415) => q(xmc),
+ q(7416) => q(xmd),
+ q(7417) => q(xme),
+ q(7418) => q(xmf),
+ q(7419) => q(xmg),
+ q(7420) => q(xmh),
+ q(7421) => q(xmj),
+ q(7422) => q(xmk),
+ q(7423) => q(xml),
+ q(7424) => q(xmm),
+ q(7425) => q(xmn),
+ q(7426) => q(xmo),
+ q(7427) => q(xmp),
+ q(7428) => q(xmq),
+ q(7429) => q(xmr),
+ q(7430) => q(xms),
+ q(7431) => q(xmt),
+ q(7432) => q(xmu),
+ q(7433) => q(xmv),
+ q(7434) => q(xmw),
+ q(7435) => q(xmx),
+ q(7436) => q(xmy),
+ q(7437) => q(xmz),
+ q(7438) => q(xna),
+ q(7439) => q(xnb),
+ q(7440) => q(xng),
+ q(7441) => q(xnh),
+ q(7442) => q(xni),
+ q(7443) => q(xnk),
+ q(7444) => q(xnn),
+ q(7445) => q(xno),
+ q(7446) => q(xnr),
+ q(7447) => q(xns),
+ q(7448) => q(xnt),
+ q(7449) => q(xnu),
+ q(7450) => q(xny),
+ q(7451) => q(xnz),
+ q(7452) => q(xoc),
+ q(7453) => q(xod),
+ q(7454) => q(xog),
+ q(7455) => q(xoi),
+ q(7456) => q(xok),
+ q(7457) => q(xom),
+ q(7458) => q(xon),
+ q(7459) => q(xoo),
+ q(7460) => q(xop),
+ q(7461) => q(xor),
+ q(7462) => q(xow),
+ q(7463) => q(xpa),
+ q(7464) => q(xpc),
+ q(7465) => q(xpe),
+ q(7466) => q(xpg),
+ q(7467) => q(xpi),
+ q(7468) => q(xpj),
+ q(7469) => q(xpk),
+ q(7470) => q(xpm),
+ q(7471) => q(xpn),
+ q(7472) => q(xpo),
+ q(7473) => q(xpp),
+ q(7474) => q(xpq),
+ q(7475) => q(xpr),
+ q(7476) => q(xps),
+ q(7477) => q(xpt),
+ q(7478) => q(xpu),
+ q(7479) => q(xpy),
+ q(7480) => q(xqa),
+ q(7481) => q(xqt),
+ q(7482) => q(xra),
+ q(7483) => q(xrb),
+ q(7484) => q(xrd),
+ q(7485) => q(xre),
+ q(7486) => q(xrg),
+ q(7487) => q(xri),
+ q(7488) => q(xrm),
+ q(7489) => q(xrn),
+ q(7490) => q(xrq),
+ q(7491) => q(xrr),
+ q(7492) => q(xrt),
+ q(7493) => q(xru),
+ q(7494) => q(xrw),
+ q(7495) => q(xsa),
+ q(7496) => q(xsb),
+ q(7497) => q(xsc),
+ q(7498) => q(xsd),
+ q(7499) => q(xse),
+ q(7500) => q(xsh),
+ q(7501) => q(xsi),
+ q(7502) => q(xsj),
+ q(7503) => q(xsl),
+ q(7504) => q(xsm),
+ q(7505) => q(xsn),
+ q(7506) => q(xso),
+ q(7507) => q(xsp),
+ q(7508) => q(xsq),
+ q(7509) => q(xsr),
+ q(7510) => q(xss),
+ q(7511) => q(xsu),
+ q(7512) => q(xsv),
+ q(7513) => q(xsy),
+ q(7514) => q(xta),
+ q(7515) => q(xtb),
+ q(7516) => q(xtc),
+ q(7517) => q(xtd),
+ q(7518) => q(xte),
+ q(7519) => q(xtg),
+ q(7520) => q(xth),
+ q(7521) => q(xti),
+ q(7522) => q(xtj),
+ q(7523) => q(xtl),
+ q(7524) => q(xtm),
+ q(7525) => q(xtn),
+ q(7526) => q(xto),
+ q(7527) => q(xtp),
+ q(7528) => q(xtq),
+ q(7529) => q(xtr),
+ q(7530) => q(xts),
+ q(7531) => q(xtt),
+ q(7532) => q(xtu),
+ q(7533) => q(xtv),
+ q(7534) => q(xtw),
+ q(7535) => q(xty),
+ q(7536) => q(xtz),
+ q(7537) => q(xua),
+ q(7538) => q(xub),
+ q(7539) => q(xud),
+ q(7540) => q(xug),
+ q(7541) => q(xuj),
+ q(7542) => q(xul),
+ q(7543) => q(xum),
+ q(7544) => q(xun),
+ q(7545) => q(xuo),
+ q(7546) => q(xup),
+ q(7547) => q(xur),
+ q(7548) => q(xut),
+ q(7549) => q(xuu),
+ q(7550) => q(xve),
+ q(7551) => q(xvi),
+ q(7552) => q(xvn),
+ q(7553) => q(xvo),
+ q(7554) => q(xvs),
+ q(7555) => q(xwa),
+ q(7556) => q(xwc),
+ q(7557) => q(xwd),
+ q(7558) => q(xwe),
+ q(7559) => q(xwg),
+ q(7560) => q(xwj),
+ q(7561) => q(xwk),
+ q(7562) => q(xwl),
+ q(7563) => q(xwo),
+ q(7564) => q(xwr),
+ q(7565) => q(xwt),
+ q(7566) => q(xww),
+ q(7567) => q(xxb),
+ q(7568) => q(xxk),
+ q(7569) => q(xxm),
+ q(7570) => q(xxr),
+ q(7571) => q(xxt),
+ q(7572) => q(xya),
+ q(7573) => q(xyb),
+ q(7574) => q(xyj),
+ q(7575) => q(xyk),
+ q(7576) => q(xyl),
+ q(7577) => q(xyt),
+ q(7578) => q(xyy),
+ q(7579) => q(xzh),
+ q(7580) => q(xzm),
+ q(7581) => q(xzp),
+ q(7582) => q(yaa),
+ q(7583) => q(yab),
+ q(7584) => q(yac),
+ q(7585) => q(yad),
+ q(7586) => q(yae),
+ q(7587) => q(yaf),
+ q(7588) => q(yag),
+ q(7589) => q(yah),
+ q(7590) => q(yai),
+ q(7591) => q(yaj),
+ q(7592) => q(yak),
+ q(7593) => q(yal),
+ q(7594) => q(yam),
+ q(7595) => q(yan),
+ q(7596) => q(yaq),
+ q(7597) => q(yar),
+ q(7598) => q(yas),
+ q(7599) => q(yat),
+ q(7600) => q(yau),
+ q(7601) => q(yav),
+ q(7602) => q(yaw),
+ q(7603) => q(yax),
+ q(7604) => q(yay),
+ q(7605) => q(yaz),
+ q(7606) => q(yba),
+ q(7607) => q(ybb),
+ q(7608) => q(ybe),
+ q(7609) => q(ybh),
+ q(7610) => q(ybi),
+ q(7611) => q(ybj),
+ q(7612) => q(ybk),
+ q(7613) => q(ybl),
+ q(7614) => q(ybm),
+ q(7615) => q(ybn),
+ q(7616) => q(ybo),
+ q(7617) => q(ybx),
+ q(7618) => q(yby),
+ q(7619) => q(ych),
+ q(7620) => q(ycl),
+ q(7621) => q(ycn),
+ q(7622) => q(ycp),
+ q(7623) => q(yda),
+ q(7624) => q(ydd),
+ q(7625) => q(yde),
+ q(7626) => q(ydg),
+ q(7627) => q(ydk),
+ q(7628) => q(yds),
+ q(7629) => q(yea),
+ q(7630) => q(yec),
+ q(7631) => q(yee),
+ q(7632) => q(yei),
+ q(7633) => q(yej),
+ q(7634) => q(yel),
+ q(7635) => q(yer),
+ q(7636) => q(yes),
+ q(7637) => q(yet),
+ q(7638) => q(yeu),
+ q(7639) => q(yev),
+ q(7640) => q(yey),
+ q(7641) => q(yga),
+ q(7642) => q(ygi),
+ q(7643) => q(ygl),
+ q(7644) => q(ygm),
+ q(7645) => q(ygp),
+ q(7646) => q(ygr),
+ q(7647) => q(ygu),
+ q(7648) => q(ygw),
+ q(7649) => q(yha),
+ q(7650) => q(yhd),
+ q(7651) => q(yhl),
+ q(7652) => q(yia),
+ q(7653) => q(yig),
+ q(7654) => q(yih),
+ q(7655) => q(yii),
+ q(7656) => q(yij),
+ q(7657) => q(yik),
+ q(7658) => q(yil),
+ q(7659) => q(yim),
+ q(7660) => q(yin),
+ q(7661) => q(yip),
+ q(7662) => q(yiq),
+ q(7663) => q(yir),
+ q(7664) => q(yis),
+ q(7665) => q(yit),
+ q(7666) => q(yiu),
+ q(7667) => q(yiv),
+ q(7668) => q(yix),
+ q(7669) => q(yiz),
+ q(7670) => q(yka),
+ q(7671) => q(ykg),
+ q(7672) => q(yki),
+ q(7673) => q(ykk),
+ q(7674) => q(ykl),
+ q(7675) => q(ykm),
+ q(7676) => q(ykn),
+ q(7677) => q(yko),
+ q(7678) => q(ykr),
+ q(7679) => q(ykt),
+ q(7680) => q(yku),
+ q(7681) => q(yky),
+ q(7682) => q(yla),
+ q(7683) => q(ylb),
+ q(7684) => q(yle),
+ q(7685) => q(ylg),
+ q(7686) => q(yli),
+ q(7687) => q(yll),
+ q(7688) => q(ylm),
+ q(7689) => q(yln),
+ q(7690) => q(ylo),
+ q(7691) => q(ylr),
+ q(7692) => q(ylu),
+ q(7693) => q(yly),
+ q(7694) => q(ymb),
+ q(7695) => q(ymc),
+ q(7696) => q(ymd),
+ q(7697) => q(yme),
+ q(7698) => q(ymg),
+ q(7699) => q(ymh),
+ q(7700) => q(ymi),
+ q(7701) => q(ymk),
+ q(7702) => q(yml),
+ q(7703) => q(ymm),
+ q(7704) => q(ymn),
+ q(7705) => q(ymo),
+ q(7706) => q(ymp),
+ q(7707) => q(ymq),
+ q(7708) => q(ymr),
+ q(7709) => q(yms),
+ q(7710) => q(ymt),
+ q(7711) => q(ymx),
+ q(7712) => q(ymz),
+ q(7713) => q(yna),
+ q(7714) => q(ynd),
+ q(7715) => q(yne),
+ q(7716) => q(yng),
+ q(7717) => q(ynh),
+ q(7718) => q(ynk),
+ q(7719) => q(ynl),
+ q(7720) => q(ynn),
+ q(7721) => q(yno),
+ q(7722) => q(ynq),
+ q(7723) => q(yns),
+ q(7724) => q(ynu),
+ q(7725) => q(yob),
+ q(7726) => q(yog),
+ q(7727) => q(yoi),
+ q(7728) => q(yok),
+ q(7729) => q(yol),
+ q(7730) => q(yom),
+ q(7731) => q(yon),
+ q(7732) => q(yot),
+ q(7733) => q(yox),
+ q(7734) => q(yoy),
+ q(7735) => q(ypa),
+ q(7736) => q(ypb),
+ q(7737) => q(ypg),
+ q(7738) => q(yph),
+ q(7739) => q(ypm),
+ q(7740) => q(ypn),
+ q(7741) => q(ypo),
+ q(7742) => q(ypp),
+ q(7743) => q(ypz),
+ q(7744) => q(yra),
+ q(7745) => q(yrb),
+ q(7746) => q(yre),
+ q(7747) => q(yri),
+ q(7748) => q(yrk),
+ q(7749) => q(yrl),
+ q(7750) => q(yrm),
+ q(7751) => q(yrn),
+ q(7752) => q(yrs),
+ q(7753) => q(yrw),
+ q(7754) => q(yry),
+ q(7755) => q(ysc),
+ q(7756) => q(ysd),
+ q(7757) => q(ysg),
+ q(7758) => q(ysl),
+ q(7759) => q(ysn),
+ q(7760) => q(yso),
+ q(7761) => q(ysp),
+ q(7762) => q(ysr),
+ q(7763) => q(yss),
+ q(7764) => q(ysy),
+ q(7765) => q(yta),
+ q(7766) => q(ytl),
+ q(7767) => q(ytp),
+ q(7768) => q(ytw),
+ q(7769) => q(yty),
+ q(7770) => q(yua),
+ q(7771) => q(yub),
+ q(7772) => q(yuc),
+ q(7773) => q(yud),
+ q(7774) => q(yue),
+ q(7775) => q(yuf),
+ q(7776) => q(yug),
+ q(7777) => q(yui),
+ q(7778) => q(yuj),
+ q(7779) => q(yuk),
+ q(7780) => q(yul),
+ q(7781) => q(yum),
+ q(7782) => q(yun),
+ q(7783) => q(yup),
+ q(7784) => q(yuq),
+ q(7785) => q(yur),
+ q(7786) => q(yut),
+ q(7787) => q(yuu),
+ q(7788) => q(yuw),
+ q(7789) => q(yux),
+ q(7790) => q(yuy),
+ q(7791) => q(yuz),
+ q(7792) => q(yva),
+ q(7793) => q(yvt),
+ q(7794) => q(ywa),
+ q(7795) => q(ywg),
+ q(7796) => q(ywl),
+ q(7797) => q(ywn),
+ q(7798) => q(ywq),
+ q(7799) => q(ywr),
+ q(7800) => q(ywt),
+ q(7801) => q(ywu),
+ q(7802) => q(yww),
+ q(7803) => q(yxa),
+ q(7804) => q(yxg),
+ q(7805) => q(yxl),
+ q(7806) => q(yxm),
+ q(7807) => q(yxu),
+ q(7808) => q(yxy),
+ q(7809) => q(yyr),
+ q(7810) => q(yyu),
+ q(7811) => q(yyz),
+ q(7812) => q(yzg),
+ q(7813) => q(yzk),
+ q(7814) => q(zaa),
+ q(7815) => q(zab),
+ q(7816) => q(zac),
+ q(7817) => q(zad),
+ q(7818) => q(zae),
+ q(7819) => q(zaf),
+ q(7820) => q(zag),
+ q(7821) => q(zah),
+ q(7822) => q(zai),
+ q(7823) => q(zaj),
+ q(7824) => q(zak),
+ q(7825) => q(zal),
+ q(7826) => q(zam),
+ q(7827) => q(zao),
+ q(7828) => q(zaq),
+ q(7829) => q(zar),
+ q(7830) => q(zas),
+ q(7831) => q(zat),
+ q(7832) => q(zau),
+ q(7833) => q(zav),
+ q(7834) => q(zaw),
+ q(7835) => q(zax),
+ q(7836) => q(zay),
+ q(7837) => q(zaz),
+ q(7838) => q(zbc),
+ q(7839) => q(zbe),
+ q(7840) => q(zbt),
+ q(7841) => q(zbw),
+ q(7842) => q(zca),
+ q(7843) => q(zch),
+ q(7844) => q(zdj),
+ q(7845) => q(zea),
+ q(7846) => q(zeg),
+ q(7847) => q(zeh),
+ q(7848) => q(zga),
+ q(7849) => q(zgb),
+ q(7850) => q(zgm),
+ q(7851) => q(zgn),
+ q(7852) => q(zgr),
+ q(7853) => q(zhb),
+ q(7854) => q(zhd),
+ q(7855) => q(zhi),
+ q(7856) => q(zhn),
+ q(7857) => q(zhw),
+ q(7858) => q(zia),
+ q(7859) => q(zib),
+ q(7860) => q(zik),
+ q(7861) => q(zil),
+ q(7862) => q(zim),
+ q(7863) => q(zin),
+ q(7864) => q(zir),
+ q(7865) => q(ziw),
+ q(7866) => q(ziz),
+ q(7867) => q(zka),
+ q(7868) => q(zkb),
+ q(7869) => q(zkd),
+ q(7870) => q(zkg),
+ q(7871) => q(zkh),
+ q(7872) => q(zkk),
+ q(7873) => q(zkn),
+ q(7874) => q(zko),
+ q(7875) => q(zkp),
+ q(7876) => q(zkr),
+ q(7877) => q(zkt),
+ q(7878) => q(zku),
+ q(7879) => q(zkv),
+ q(7880) => q(zkz),
+ q(7881) => q(zlj),
+ q(7882) => q(zlm),
+ q(7883) => q(zln),
+ q(7884) => q(zlq),
+ q(7885) => q(zma),
+ q(7886) => q(zmb),
+ q(7887) => q(zmc),
+ q(7888) => q(zmd),
+ q(7889) => q(zme),
+ q(7890) => q(zmf),
+ q(7891) => q(zmg),
+ q(7892) => q(zmh),
+ q(7893) => q(zmi),
+ q(7894) => q(zmj),
+ q(7895) => q(zmk),
+ q(7896) => q(zml),
+ q(7897) => q(zmm),
+ q(7898) => q(zmn),
+ q(7899) => q(zmo),
+ q(7900) => q(zmp),
+ q(7901) => q(zmq),
+ q(7902) => q(zmr),
+ q(7903) => q(zms),
+ q(7904) => q(zmt),
+ q(7905) => q(zmu),
+ q(7906) => q(zmv),
+ q(7907) => q(zmw),
+ q(7908) => q(zmx),
+ q(7909) => q(zmy),
+ q(7910) => q(zmz),
+ q(7911) => q(zna),
+ q(7912) => q(zne),
+ q(7913) => q(zng),
+ q(7914) => q(znk),
+ q(7915) => q(zns),
+ q(7916) => q(zoc),
+ q(7917) => q(zoh),
+ q(7918) => q(zom),
+ q(7919) => q(zoo),
+ q(7920) => q(zoq),
+ q(7921) => q(zor),
+ q(7922) => q(zos),
+ q(7923) => q(zpa),
+ q(7924) => q(zpb),
+ q(7925) => q(zpc),
+ q(7926) => q(zpd),
+ q(7927) => q(zpe),
+ q(7928) => q(zpf),
+ q(7929) => q(zpg),
+ q(7930) => q(zph),
+ q(7931) => q(zpi),
+ q(7932) => q(zpj),
+ q(7933) => q(zpk),
+ q(7934) => q(zpl),
+ q(7935) => q(zpm),
+ q(7936) => q(zpn),
+ q(7937) => q(zpo),
+ q(7938) => q(zpp),
+ q(7939) => q(zpq),
+ q(7940) => q(zpr),
+ q(7941) => q(zps),
+ q(7942) => q(zpt),
+ q(7943) => q(zpu),
+ q(7944) => q(zpv),
+ q(7945) => q(zpw),
+ q(7946) => q(zpx),
+ q(7947) => q(zpy),
+ q(7948) => q(zpz),
+ q(7949) => q(zqe),
+ q(7950) => q(zra),
+ q(7951) => q(zrg),
+ q(7952) => q(zrn),
+ q(7953) => q(zro),
+ q(7954) => q(zrp),
+ q(7955) => q(zrs),
+ q(7956) => q(zsa),
+ q(7957) => q(zsk),
+ q(7958) => q(zsl),
+ q(7959) => q(zsm),
+ q(7960) => q(zsr),
+ q(7961) => q(zsu),
+ q(7962) => q(zte),
+ q(7963) => q(ztg),
+ q(7964) => q(ztl),
+ q(7965) => q(ztm),
+ q(7966) => q(ztn),
+ q(7967) => q(ztp),
+ q(7968) => q(ztq),
+ q(7969) => q(zts),
+ q(7970) => q(ztt),
+ q(7971) => q(ztu),
+ q(7972) => q(ztx),
+ q(7973) => q(zty),
+ q(7974) => q(zua),
+ q(7975) => q(zuh),
+ q(7976) => q(zum),
+ q(7977) => q(zuy),
+ q(7978) => q(zwa),
+ q(7979) => q(zyb),
+ q(7980) => q(zyg),
+ q(7981) => q(zyj),
+ q(7982) => q(zyn),
+ q(7983) => q(zyp),
+ q(7984) => q(zzj),
},
q(term) => {
q(0013) => q(sqi),
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm
index 57bf2078e14..d677a8bfb27 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Language_Retired;
+package #
+Locale::Codes::Language_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Language_Retired - retired language codes for the Locale::Codes::Language module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = {
q(in) => q(Indonesian),
@@ -55,37 +28,56 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'code'} = {
q(bjq) => q(Southern Betsimisaraka Malagasy),
q(ccq) => q(Chaungtha),
q(cka) => q(Khumi Awa Chin),
+ q(daf) => q(Dan),
q(dap) => q(Nisi (India)),
q(dha) => q(Dhanwar (India)),
+ q(djl) => q(Djiwarli),
q(dkl) => q(Kolum So Dogon),
q(dwl) => q(Walo Kumbe Dogon),
q(elp) => q(Elpaputih),
q(gbc) => q(Garawa),
+ q(ggr) => q(Aghu Tharnggalu),
q(gio) => q(Gelao),
q(hrr) => q(Horuru),
q(ibi) => q(Ibilo),
+ q(ilw) => q(Talur),
+ q(izi) => q(Izi-Ezaa-Ikwo-Mgbo),
q(jar) => q(Jarawa (Nigeria)),
q(kdv) => q(Kado),
q(kgh) => q(Upper Tanudan Kalinga),
q(kpp) => q(Paku Karen),
q(kzh) => q(Kenuzi-Dongola),
q(lcq) => q(Luhu),
+ q(meg) => q(Mea),
q(mgx) => q(Omati),
q(mja) => q(Mahei),
+ q(mld) => q(Malakhel),
+ q(mnt) => q(Maykulan),
+ q(mwd) => q(Mudbura),
+ q(myq) => q(Forest Maninka),
q(nbf) => q(Naxi),
+ q(nbx) => q(Ngura),
q(nln) => q(Durango Nahuatl),
+ q(nlr) => q(Ngarla),
q(noo) => q(Nootka),
q(pbz) => q(Palu),
+ q(pcr) => q(Panang),
q(pgy) => q(Pongyong),
+ q(ppr) => q(Piru),
q(sca) => q(Sansu),
+ q(tgg) => q(Tangga),
q(tie) => q(Tingal),
q(tkk) => q(Takpa),
q(tlw) => q(South Wemale),
q(unp) => q(Worora),
+ q(wit) => q(Wintu),
q(wiw) => q(Wirangu),
+ q(xia) => q(Xiandao),
q(ybd) => q(Yangbye),
q(yen) => q(Yendang),
+ q(yiy) => q(Yir Yoront),
q(yma) => q(Yamphe),
+ q(yos) => q(Yos),
};
$Locale::Codes::Retired{'language'}{'term'}{'code'} = {
@@ -96,12 +88,16 @@ $Locale::Codes::Retired{'language'}{'alpha-2'}{'name'} = {
q(bengali; bangla) => [ q(bn), q(Bengali; Bangla) ],
q(bhutani) => [ q(dz), q(Bhutani) ],
q(bihari) => [ q(bh), q(Bihari) ],
+ q(bokmal, norwegian) => [ q(nb), q(Bokmal, Norwegian) ],
q(byelorussian) => [ q(be), q(Byelorussian) ],
q(cambodian) => [ q(km), q(Cambodian) ],
+ q(chichewa) => [ q(ny), q(Chichewa) ],
q(chichewa; nyanja) => [ q(ny), q(Chichewa; Nyanja) ],
+ q(divehi) => [ q(dv), q(Divehi) ],
q(faeroese) => [ q(fo), q(Faeroese) ],
q(fiji) => [ q(fj), q(Fiji) ],
q(frisian) => [ q(fy), q(Frisian) ],
+ q(gaelic) => [ q(gd), q(Gaelic) ],
q(gaelic (scots)) => [ q(gd), q(Gaelic (Scots)) ],
q(gallegan) => [ q(gl), q(Gallegan) ],
q(greek) => [ q(el), q(Greek) ],
@@ -117,6 +113,8 @@ $Locale::Codes::Retired{'language'}{'alpha-2'}{'name'} = {
q(malay) => [ q(ms), q(Malay) ],
q(marshall) => [ q(mh), q(Marshall) ],
q(moldavian) => [ q(mo), q(Moldavian) ],
+ q(ndebele, north) => [ q(nd), q(Ndebele, North) ],
+ q(ndebele, south) => [ q(nr), q(Ndebele, South) ],
q(nepali) => [ q(ne), q(Nepali) ],
q(norwegian bokmal) => [ q(nb), q(Norwegian Bokmal) ],
q(occitan) => [ q(oc), q(Occitan) ],
@@ -142,17 +140,24 @@ $Locale::Codes::Retired{'language'}{'alpha-2'}{'name'} = {
};
$Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
+ q(aghu tharnggalu) => [ q(ggr), q(Aghu Tharnggalu) ],
q(ainu) => [ q(ain), q(Ainu) ],
q(amarag) => [ q(amg), q(Amarag) ],
q(anu) => [ q(anl), q(Anu) ],
q(apalik) => [ q(apo), q(Apalik) ],
+ q(aromanian) => [ q(rup), q(Aromanian) ],
q(ayi (china)) => [ q(ayx), q(Ayi (China)) ],
q(bandjigali) => [ q(bjd), q(Bandjigali) ],
+ q(bangi me) => [ q(dba), q(Bangi Me) ],
q(bantu (other)) => [ q(bnt), q(Bantu (Other)) ],
q(basa) => [ q(bas), q(Basa) ],
+ q(bauro) => [ q(bxa), q(Bauro) ],
+ q(bebe) => [ q(bzv), q(Bebe) ],
+ q(bedik) => [ q(tnr), q(Bedik) ],
q(begbere-ejar) => [ q(bqv), q(Begbere-Ejar) ],
q(bekwil) => [ q(bkw), q(Bekwil) ],
q(bemba) => [ q(bem), q(Bemba) ],
+ q(blin) => [ q(byn), q(Blin) ],
q(brek karen) => [ q(kvl), q(Brek Karen) ],
q(burum-mindik) => [ q(bmu), q(Burum-Mindik) ],
q(central bicolano) => [ q(bcl), q(Central Bicolano) ],
@@ -161,8 +166,11 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(creoles and pidgins, english based) => [ q(cpe), q(Creoles and pidgins, English based) ],
q(creoles and pidgins, french-based ) => [ q(cpf), q(Creoles and pidgins, French-based ) ],
q(creoles and pidgins, portuguese-based ) => [ q(cpp), q(Creoles and pidgins, Portuguese-based ) ],
+ q(dakaka) => [ q(bpa), q(Dakaka) ],
q(darling) => [ q(drl), q(Darling) ],
+ q(dhangu) => [ q(dhg), q(Dhangu) ],
q(dhanwar (india)) => [ q(dha), q(Dhanwar (India)) ],
+ q(dimir) => [ q(dmc), q(Dimir) ],
q(dogri) => [ q(doi), q(Dogri) ],
q(duduela) => [ q(duk), q(Duduela) ],
q(dumpu) => [ q(wtf), q(Dumpu) ],
@@ -172,8 +180,10 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(english, middle (1100-1500)) => [ q(enm), q(English, Middle (1100-1500)) ],
q(english, old (ca.450-1100)) => [ q(ang), q(English, Old (ca.450-1100)) ],
q(fang) => [ q(fan), q(Fang) ],
+ q(forest maninka) => [ q(myq), q(Forest Maninka) ],
q(french, middle (ca.1400-1600)) => [ q(frm), q(French, Middle (ca.1400-1600)) ],
q(french, old (842-ca.1400)) => [ q(fro), q(French, Old (842-ca.1400)) ],
+ q(galoli) => [ q(gal), q(Galoli) ],
q(garawa) => [ q(gbc), q(Garawa) ],
q(gbaya) => [ q(gba), q(Gbaya) ],
q(gelao) => [ q(gio), q(Gelao) ],
@@ -187,6 +197,7 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(ikobi-mena) => [ q(meb), q(Ikobi-Mena) ],
q(irish, middle (900-1200)) => [ q(mga), q(Irish, Middle (900-1200)) ],
q(irish, old (to 900)) => [ q(sga), q(Irish, Old (to 900)) ],
+ q(izi-ezaa-ikwo-mgbo) => [ q(izi), q(Izi-Ezaa-Ikwo-Mgbo) ],
q(jarawa (nigeria)) => [ q(jar), q(Jarawa (Nigeria)) ],
q(kadara) => [ q(kad), q(Kadara) ],
q(kado) => [ q(kdv), q(Kado) ],
@@ -201,35 +212,52 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(kumak) => [ q(nee), q(Kumak) ],
q(kutang ghale) => [ q(ght), q(Kutang Ghale) ],
q(kwato) => [ q(kop), q(Kwato) ],
+ q(kyenga) => [ q(tye), q(Kyenga) ],
q(lowa) => [ q(loy), q(Lowa) ],
q(lower tanudan kalinga) => [ q(kml), q(Lower Tanudan Kalinga) ],
q(luhu) => [ q(lcq), q(Luhu) ],
q(mahei) => [ q(mja), q(Mahei) ],
+ q(malakhel) => [ q(mld), q(Malakhel) ],
q(malasanga) => [ q(mqz), q(Malasanga) ],
+ q(mann) => [ q(mev), q(Mann) ],
q(mari) => [ q(chm), q(Mari) ],
+ q(maykulan) => [ q(mnt), q(Maykulan) ],
+ q(mbabaram) => [ q(vmb), q(Mbabaram) ],
q(mbedam) => [ q(xmd), q(Mbedam) ],
+ q(mbu') => [ q(muc), q(Mbu') ],
+ q(mea) => [ q(meg), q(Mea) ],
q(mende) => [ q(men), q(Mende) ],
+ q(minigir) => [ q(vmg), q(Minigir) ],
q(mire) => [ q(mvh), q(Mire) ],
q(miri) => [ q(mrg), q(Miri) ],
q(misima-paneati) => [ q(mpx), q(Misima-Paneati) ],
+ q(mixifore) => [ q(mfg), q(Mixifore) ],
q(mpongmpong) => [ q(mgg), q(Mpongmpong) ],
q(mro chin) => [ q(cmr), q(Mro Chin) ],
+ q(mudbura) => [ q(mwd), q(Mudbura) ],
q(muduapa) => [ q(wiv), q(Muduapa) ],
q(nakama) => [ q(nib), q(Nakama) ],
q(nanggu) => [ q(ngr), q(Nanggu) ],
q(nangikurrunggurr) => [ q(nam), q(Nangikurrunggurr) ],
+ q(ndrag'ngith) => [ q(dgt), q(Ndrag'ngith) ],
+ q(nepal bhasa) => [ q(new), q(Nepal Bhasa) ],
q(nga la) => [ q(hlt), q(Nga La) ],
+ q(ngalkbun) => [ q(ngk), q(Ngalkbun) ],
+ q(ngura) => [ q(nbx), q(Ngura) ],
q(nisi (india)) => [ q(dap), q(Nisi (India)) ],
q(nootka) => [ q(noo), q(Nootka) ],
q(norse, old) => [ q(non), q(Norse, Old) ],
q(north wemale) => [ q(weo), q(North Wemale) ],
q(northern catanduanes bicolano) => [ q(cts), q(Northern Catanduanes Bicolano) ],
q(northern lorung) => [ q(lbr), q(Northern Lorung) ],
+ q(nsari) => [ q(asj), q(Nsari) ],
q(nung (myanmar)) => [ q(nun), q(Nung (Myanmar)) ],
q(omati) => [ q(mgx), q(Omati) ],
q(ounge) => [ q(oue), q(Ounge) ],
q(palu) => [ q(pbz), q(Palu) ],
+ q(panang) => [ q(pcr), q(Panang) ],
q(persian, old (ca.600-400 b.c.)) => [ q(peo), q(Persian, Old (ca.600-400 B.C.)) ],
+ q(piru) => [ q(ppr), q(Piru) ],
q(pongyong) => [ q(pgy), q(Pongyong) ],
q(provencal, old (to 1500)) => [ q(pro), q(Provencal, Old (to 1500)) ],
q(sakam) => [ q(skm), q(Sakam) ],
@@ -244,10 +272,13 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(southern lorung) => [ q(lrr), q(Southern Lorung) ],
q(sulung) => [ q(suv), q(Sulung) ],
q(takpa) => [ q(tkk), q(Takpa) ],
+ q(talur) => [ q(ilw), q(Talur) ],
+ q(tangga) => [ q(tgg), q(Tangga) ],
q(tangkhul naga) => [ q(nmf), q(Tangkhul Naga) ],
q(tina sambal) => [ q(xsb), q(Tina Sambal) ],
q(tingal) => [ q(tie), q(Tingal) ],
q(turkish, ottoman (1500-1928)) => [ q(ota), q(Turkish, Ottoman (1500-1928)) ],
+ q(unggarranggu) => [ q(xun), q(Unggarranggu) ],
q(upper tanudan kalinga) => [ q(kgh), q(Upper Tanudan Kalinga) ],
q(walamo) => [ q(wal), q(Walamo) ],
q(walo kumbe dogon) => [ q(dwl), q(Walo Kumbe Dogon) ],
@@ -256,10 +287,14 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
q(were) => [ q(wei), q(Were) ],
q(western canadian inuktitut) => [ q(ikt), q(Western Canadian Inuktitut) ],
q(worora) => [ q(unp), q(Worora) ],
+ q(xiandao) => [ q(xia), q(Xiandao) ],
q(yamphe) => [ q(yma), q(Yamphe) ],
q(yangbye) => [ q(ybd), q(Yangbye) ],
q(yeskwa) => [ q(yes), q(Yeskwa) ],
q(yonggom) => [ q(yon), q(Yonggom) ],
+ q(yos) => [ q(yos), q(Yos) ],
+ q(yuaga) => [ q(nua), q(Yuaga) ],
+ q(zyphe) => [ q(zyp), q(Zyphe) ],
};
$Locale::Codes::Retired{'language'}{'term'}{'name'} = {
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
index cd1f1c8d33e..5095e2060c9 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
@@ -1,7 +1,7 @@
package Locale::Codes::Script;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Locale::Codes::Script_Retired;
our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-$VERSION='3.25';
+$VERSION='3.30';
@ISA = qw(Exporter);
@EXPORT = qw(code2script
script2code
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod
new file mode 100644
index 00000000000..771b46e8412
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod
@@ -0,0 +1,131 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Script - standard codes for script identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Script;
+
+ $script = code2script('phnx'); # 'Phoenician'
+ $code = script2code('Phoenician'); # 'Phnx'
+ $code = script2code('Phoenician',
+ LOCALE_CODE_NUMERIC); # 115
+
+ @codes = all_script_codes();
+ @scripts = all_script_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::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 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+scripts. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $script = code2script('phnx','alpha');
+ $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_SCRIPT_ALPHA>
+
+This is a set of four-letter (capitalized) codes from ISO 15924
+such as 'Phnx' for Phoenician. It also includes additions to this
+set included in the IANA language registry.
+
+The Zxxx, Zyyy, and Zzzz codes are not used.
+
+This is the default code set.
+
+=item B<num, LOCALE_SCRIPT_NUMERIC>
+
+This is a set of three-digit numeric codes from ISO 15924 such as 115
+for Phoenician.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2script ( CODE [,CODESET] )>
+
+=item B<script2code ( NAME [,CODESET] )>
+
+=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_script_codes ( [CODESET] )>
+
+=item B<all_script_names ( [CODESET] )>
+
+=item B<Locale::Codes::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Script::delete_script ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Script::delete_script_alias ( NAME )>
+
+=item B<Locale::Codes::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::delete_script_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.unicode.org/iso15924/>
+
+Home page for ISO 15924.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=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-2014 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/Script_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm
index 15a04eb0c17..7f5383cd5bb 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Script_Codes;
+package #
+Locale::Codes::Script_Codes;
# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Wed Feb 27 10:04:29 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Script_Codes - script codes for the Locale::Codes::Script module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# be lost the next time 'harvest_data' is run.
+# Generated on: Thu Feb 27 15:45:43 EST 2014
use strict;
require 5.006;
@@ -38,9 +11,9 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
-$Locale::Codes::Data{'script'}{'id'} = '0161';
+$Locale::Codes::Data{'script'}{'id'} = '0166';
$Locale::Codes::Data{'script'}{'id2names'} = {
q(0001) => [
@@ -50,653 +23,687 @@ $Locale::Codes::Data{'script'}{'id2names'} = {
q(Caucasian Albanian),
],
q(0003) => [
- q(Arabic),
+ q(Ahom, Tai Ahom),
+ q(Ahom),
+ q(Tai Ahom),
],
q(0004) => [
- q(Imperial Aramaic),
+ q(Arabic),
],
q(0005) => [
- q(Armenian),
+ q(Imperial Aramaic),
],
q(0006) => [
- q(Avestan),
+ q(Armenian),
],
q(0007) => [
- q(Balinese),
+ q(Avestan),
],
q(0008) => [
- q(Bamum),
+ q(Balinese),
],
q(0009) => [
- q(Bassa Vah),
+ q(Bamum),
],
q(0010) => [
- q(Batak),
+ q(Bassa Vah),
],
q(0011) => [
- q(Bengali),
+ q(Batak),
],
q(0012) => [
- q(Blissymbols),
+ q(Bengali),
],
q(0013) => [
- q(Bopomofo),
+ q(Blissymbols),
],
q(0014) => [
- q(Brahmi),
+ q(Bopomofo),
],
q(0015) => [
- q(Braille),
+ q(Brahmi),
],
q(0016) => [
- q(Buginese),
+ q(Braille),
],
q(0017) => [
- q(Buhid),
+ q(Buginese),
],
q(0018) => [
- q(Chakma),
+ q(Buhid),
],
q(0019) => [
- q(Unified Canadian Aboriginal Syllabics),
+ q(Chakma),
],
q(0020) => [
- q(Carian),
+ q(Unified Canadian Aboriginal Syllabics),
],
q(0021) => [
- q(Cham),
+ q(Carian),
],
q(0022) => [
- q(Cherokee),
+ q(Cham),
],
q(0023) => [
- q(Cirth),
+ q(Cherokee),
],
q(0024) => [
- q(Coptic),
+ q(Cirth),
],
q(0025) => [
- q(Cypriot),
+ q(Coptic),
],
q(0026) => [
- q(Cyrillic),
+ q(Cypriot),
],
q(0027) => [
- q(Cyrillic (Old Church Slavonic variant)),
+ q(Cyrillic),
],
q(0028) => [
+ q(Cyrillic (Old Church Slavonic variant)),
+ ],
+ q(0029) => [
q(Devanagari (Nagari)),
q(Devanagari),
q(Nagari),
],
- q(0029) => [
+ q(0030) => [
q(Deseret (Mormon)),
q(Deseret),
q(Mormon),
],
- q(0030) => [
+ q(0031) => [
q(Duployan shorthand, Duployan stenography),
q(Duployan shorthand),
q(Duployan stenography),
],
- q(0031) => [
+ q(0032) => [
q(Egyptian demotic),
],
- q(0032) => [
+ q(0033) => [
q(Egyptian hieratic),
],
- q(0033) => [
+ q(0034) => [
q(Egyptian hieroglyphs),
],
- q(0034) => [
+ q(0035) => [
q(Elbasan),
],
- q(0035) => [
+ q(0036) => [
q(Ethiopic (Geez)),
q(Ethiopic),
q(Ge'ez),
],
- q(0036) => [
+ q(0037) => [
q(Georgian (Mkhedruli)),
],
- q(0037) => [
+ q(0038) => [
q(Khutsuri (Asomtavruli and Nuskhuri)),
],
- q(0038) => [
+ q(0039) => [
q(Glagolitic),
],
- q(0039) => [
+ q(0040) => [
q(Gothic),
],
- q(0040) => [
+ q(0041) => [
q(Grantha),
],
- q(0041) => [
+ q(0042) => [
q(Greek),
],
- q(0042) => [
+ q(0043) => [
q(Gujarati),
],
- q(0043) => [
+ q(0044) => [
q(Gurmukhi),
],
- q(0044) => [
+ q(0045) => [
q(Hangul (Hangul, Hangeul)),
q(Hangul),
q(Hangeul),
],
- q(0045) => [
+ q(0046) => [
q(Han (Hanzi, Kanji, Hanja)),
q(Han),
q(Hanzi),
q(Kanji),
q(Hanja),
],
- q(0046) => [
+ q(0047) => [
q(Hanunoo (Hanunoo)),
q(Hanunoo),
],
- q(0047) => [
+ q(0048) => [
q(Han (Simplified variant)),
],
- q(0048) => [
+ q(0049) => [
q(Han (Traditional variant)),
],
- q(0049) => [
+ q(0050) => [
+ q(Hatran),
+ ],
+ q(0051) => [
q(Hebrew),
],
- q(0050) => [
+ q(0052) => [
q(Hiragana),
],
- q(0051) => [
+ q(0053) => [
q(Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)),
q(Anatolian Hieroglyphs),
q(Luwian Hieroglyphs),
q(Hittite Hieroglyphs),
],
- q(0052) => [
+ q(0054) => [
q(Pahawh Hmong),
],
- q(0053) => [
+ q(0055) => [
q(Japanese syllabaries (alias for Hiragana + Katakana)),
],
- q(0054) => [
+ q(0056) => [
q(Old Hungarian (Hungarian Runic)),
q(Old Hungarian),
q(Hungarian Runic),
],
- q(0055) => [
+ q(0057) => [
q(Indus (Harappan)),
q(Indus),
q(Harappan),
],
- q(0056) => [
+ q(0058) => [
q(Old Italic (Etruscan, Oscan, etc.)),
],
- q(0057) => [
+ q(0059) => [
q(Javanese),
],
- q(0058) => [
+ q(0060) => [
q(Japanese (alias for Han + Hiragana + Katakana)),
],
- q(0059) => [
+ q(0061) => [
q(Jurchen),
],
- q(0060) => [
+ q(0062) => [
q(Kayah Li),
],
- q(0061) => [
+ q(0063) => [
q(Katakana),
],
- q(0062) => [
+ q(0064) => [
q(Kharoshthi),
],
- q(0063) => [
+ q(0065) => [
q(Khmer),
],
- q(0064) => [
+ q(0066) => [
q(Khojki),
],
- q(0065) => [
+ q(0067) => [
q(Kannada),
],
- q(0066) => [
+ q(0068) => [
q(Korean (alias for Hangul + Han)),
],
- q(0067) => [
+ q(0069) => [
q(Kpelle),
],
- q(0068) => [
+ q(0070) => [
q(Kaithi),
],
- q(0069) => [
+ q(0071) => [
q(Tai Tham (Lanna)),
q(Tai Tham),
q(Lanna),
],
- q(0070) => [
+ q(0072) => [
q(Lao),
],
- q(0071) => [
+ q(0073) => [
q(Latin (Fraktur variant)),
],
- q(0072) => [
+ q(0074) => [
q(Latin (Gaelic variant)),
],
- q(0073) => [
+ q(0075) => [
q(Latin),
],
- q(0074) => [
+ q(0076) => [
q(Lepcha (Rong)),
q(Lepcha),
q(Rong),
],
- q(0075) => [
+ q(0077) => [
q(Limbu),
],
- q(0076) => [
+ q(0078) => [
q(Linear A),
],
- q(0077) => [
+ q(0079) => [
q(Linear B),
],
- q(0078) => [
+ q(0080) => [
q(Lisu (Fraser)),
q(Lisu),
q(Fraser),
],
- q(0079) => [
+ q(0081) => [
q(Loma),
],
- q(0080) => [
+ q(0082) => [
q(Lycian),
],
- q(0081) => [
+ q(0083) => [
q(Lydian),
],
- q(0082) => [
+ q(0084) => [
q(Mahajani),
],
- q(0083) => [
+ q(0085) => [
q(Mandaic, Mandaean),
q(Mandaic),
q(Mandaean),
],
- q(0084) => [
+ q(0086) => [
q(Manichaean),
],
- q(0085) => [
+ q(0087) => [
q(Mayan hieroglyphs),
],
- q(0086) => [
- q(Mende),
+ q(0088) => [
+ q(Mende Kikakui),
],
- q(0087) => [
+ q(0089) => [
q(Meroitic Cursive),
],
- q(0088) => [
+ q(0090) => [
q(Meroitic Hieroglyphs),
],
- q(0089) => [
+ q(0091) => [
q(Malayalam),
],
- q(0090) => [
+ q(0092) => [
+ q(Modi, Modi),
+ q( Multani),
+ q(Modi),
+ q(Multani),
+ ],
+ q(0093) => [
q(Moon (Moon code, Moon script, Moon type)),
q(Moon),
q(Moon code),
q(Moon script),
q(Moon type),
],
- q(0091) => [
+ q(0094) => [
q(Mongolian),
],
- q(0092) => [
+ q(0095) => [
q(Mro, Mru),
q(Mro),
q(Mru),
],
- q(0093) => [
+ q(0096) => [
q(Meitei Mayek (Meithei, Meetei)),
q(Meitei Mayek),
q(Meithei),
q(Meetei),
],
- q(0094) => [
+ q(0097) => [
q(Myanmar (Burmese)),
q(Myanmar),
q(Burmese),
],
- q(0095) => [
+ q(0098) => [
q(Old North Arabian (Ancient North Arabian)),
q(Old North Arabian),
q(Ancient North Arabian),
],
- q(0096) => [
+ q(0099) => [
q(Nabataean),
],
- q(0097) => [
+ q(0100) => [
q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
q(Nakhi Geba),
q('Na-'Khi Ggo-baw),
q(Naxi Geba),
],
- q(0098) => [
+ q(0101) => [
q(N'Ko),
],
- q(0099) => [
+ q(0102) => [
q(Nushu),
],
- q(0100) => [
+ q(0103) => [
q(Ogham),
],
- q(0101) => [
+ q(0104) => [
q(Ol Chiki (Ol Cemet, Ol, Santali)),
q(Ol Chiki),
q(Ol Cemet'),
q(Ol),
q(Santali),
],
- q(0102) => [
+ q(0105) => [
q(Old Turkic, Orkhon Runic),
q(Old Turkic),
q(Orkhon Runic),
],
- q(0103) => [
+ q(0106) => [
q(Oriya),
],
- q(0104) => [
+ q(0107) => [
q(Osmanya),
],
- q(0105) => [
+ q(0108) => [
q(Palmyrene),
],
- q(0106) => [
+ q(0109) => [
+ q(Pau Cin Hau),
+ ],
+ q(0110) => [
q(Old Permic),
],
- q(0107) => [
+ q(0111) => [
q(Phags-pa),
],
- q(0108) => [
+ q(0112) => [
q(Inscriptional Pahlavi),
],
- q(0109) => [
+ q(0113) => [
q(Psalter Pahlavi),
],
- q(0110) => [
+ q(0114) => [
q(Book Pahlavi),
],
- q(0111) => [
+ q(0115) => [
q(Phoenician),
],
- q(0112) => [
+ q(0116) => [
q(Miao (Pollard)),
q(Miao),
q(Pollard),
],
- q(0113) => [
+ q(0117) => [
q(Inscriptional Parthian),
],
- q(0114) => [
+ q(0118) => [
q(Reserved for private use (start)),
],
- q(0115) => [
+ q(0119) => [
q(Reserved for private use (end)),
],
- q(0116) => [
+ q(0120) => [
q(Rejang (Redjang, Kaganga)),
q(Rejang),
q(Redjang),
q(Kaganga),
],
- q(0117) => [
+ q(0121) => [
q(Rongorongo),
],
- q(0118) => [
+ q(0122) => [
q(Runic),
],
- q(0119) => [
+ q(0123) => [
q(Samaritan),
],
- q(0120) => [
+ q(0124) => [
q(Sarati),
],
- q(0121) => [
+ q(0125) => [
q(Old South Arabian),
],
- q(0122) => [
+ q(0126) => [
q(Saurashtra),
],
- q(0123) => [
+ q(0127) => [
q(SignWriting),
],
- q(0124) => [
+ q(0128) => [
q(Shavian (Shaw)),
q(Shavian),
q(Shaw),
],
- q(0125) => [
+ q(0129) => [
q(Sharada, Sarada),
q(Sharada),
q(Sarada),
],
- q(0126) => [
+ q(0130) => [
+ q(Siddham, Siddham, Siddhamatrka),
+ q(Siddham),
+ q(Siddhamatrka),
+ ],
+ q(0131) => [
q(Khudawadi, Sindhi),
q(Khudawadi),
q(Sindhi),
],
- q(0127) => [
+ q(0132) => [
q(Sinhala),
],
- q(0128) => [
+ q(0133) => [
q(Sora Sompeng),
],
- q(0129) => [
+ q(0134) => [
q(Sundanese),
],
- q(0130) => [
+ q(0135) => [
q(Syloti Nagri),
],
- q(0131) => [
+ q(0136) => [
q(Syriac),
],
- q(0132) => [
+ q(0137) => [
q(Syriac (Estrangelo variant)),
],
- q(0133) => [
+ q(0138) => [
q(Syriac (Western variant)),
],
- q(0134) => [
+ q(0139) => [
q(Syriac (Eastern variant)),
],
- q(0135) => [
+ q(0140) => [
q(Tagbanwa),
],
- q(0136) => [
+ q(0141) => [
q(Takri, Takri, Tankri),
q(Takri),
q(Tankri),
],
- q(0137) => [
+ q(0142) => [
q(Tai Le),
],
- q(0138) => [
+ q(0143) => [
q(New Tai Lue),
],
- q(0139) => [
+ q(0144) => [
q(Tamil),
],
- q(0140) => [
+ q(0145) => [
q(Tangut),
],
- q(0141) => [
+ q(0146) => [
q(Tai Viet),
],
- q(0142) => [
+ q(0147) => [
q(Telugu),
],
- q(0143) => [
+ q(0148) => [
q(Tengwar),
],
- q(0144) => [
+ q(0149) => [
q(Tifinagh (Berber)),
q(Tifinagh),
q(Berber),
],
- q(0145) => [
+ q(0150) => [
q(Tagalog (Baybayin, Alibata)),
q(Tagalog),
q(Baybayin),
q(Alibata),
],
- q(0146) => [
+ q(0151) => [
q(Thaana),
],
- q(0147) => [
+ q(0152) => [
q(Thai),
],
- q(0148) => [
+ q(0153) => [
q(Tibetan),
],
- q(0149) => [
+ q(0154) => [
q(Tirhuta),
],
- q(0150) => [
+ q(0155) => [
q(Ugaritic),
],
- q(0151) => [
+ q(0156) => [
q(Vai),
],
- q(0152) => [
+ q(0157) => [
q(Visible Speech),
],
- q(0153) => [
+ q(0158) => [
q(Warang Citi (Varang Kshiti)),
q(Warang Citi),
q(Varang Kshiti),
],
- q(0154) => [
+ q(0159) => [
q(Woleai),
],
- q(0155) => [
+ q(0160) => [
q(Old Persian),
],
- q(0156) => [
+ q(0161) => [
q(Cuneiform, Sumero-Akkadian),
q(Sumero-Akkadian cuneiform),
],
- q(0157) => [
+ q(0162) => [
q(Yi),
],
- q(0158) => [
+ q(0163) => [
q(Code for inherited script),
],
- q(0159) => [
+ q(0164) => [
q(Mathematical notation),
],
- q(0160) => [
+ q(0165) => [
q(Symbols),
],
};
$Locale::Codes::Data{'script'}{'alias2id'} = {
+ q( multani) => [
+ q(0092),
+ q(1),
+ ],
q('na-'khi ggo-baw) => [
- q(0097),
+ q(0100),
q(2),
],
q(afaka) => [
q(0001),
q(0),
],
+ q(ahom) => [
+ q(0003),
+ q(1),
+ ],
+ q(ahom, tai ahom) => [
+ q(0003),
+ q(0),
+ ],
q(alibata) => [
- q(0145),
+ q(0150),
q(3),
],
q(anatolian hieroglyphs) => [
- q(0051),
+ q(0053),
q(1),
],
q(anatolian hieroglyphs (luwian hieroglyphs, hittite hieroglyphs)) => [
- q(0051),
+ q(0053),
q(0),
],
q(ancient north arabian) => [
- q(0095),
+ q(0098),
q(2),
],
q(arabic) => [
- q(0003),
+ q(0004),
q(0),
],
q(armenian) => [
- q(0005),
+ q(0006),
q(0),
],
q(avestan) => [
- q(0006),
+ q(0007),
q(0),
],
q(balinese) => [
- q(0007),
+ q(0008),
q(0),
],
q(bamum) => [
- q(0008),
+ q(0009),
q(0),
],
q(bassa vah) => [
- q(0009),
+ q(0010),
q(0),
],
q(batak) => [
- q(0010),
+ q(0011),
q(0),
],
q(baybayin) => [
- q(0145),
+ q(0150),
q(2),
],
q(bengali) => [
- q(0011),
+ q(0012),
q(0),
],
q(berber) => [
- q(0144),
+ q(0149),
q(2),
],
q(blissymbols) => [
- q(0012),
+ q(0013),
q(0),
],
q(book pahlavi) => [
- q(0110),
+ q(0114),
q(0),
],
q(bopomofo) => [
- q(0013),
+ q(0014),
q(0),
],
q(brahmi) => [
- q(0014),
+ q(0015),
q(0),
],
q(braille) => [
- q(0015),
+ q(0016),
q(0),
],
q(buginese) => [
- q(0016),
+ q(0017),
q(0),
],
q(buhid) => [
- q(0017),
+ q(0018),
q(0),
],
q(burmese) => [
- q(0094),
+ q(0097),
q(2),
],
q(carian) => [
- q(0020),
+ q(0021),
q(0),
],
q(caucasian albanian) => [
@@ -704,831 +711,867 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
q(0),
],
q(chakma) => [
- q(0018),
+ q(0019),
q(0),
],
q(cham) => [
- q(0021),
+ q(0022),
q(0),
],
q(cherokee) => [
- q(0022),
+ q(0023),
q(0),
],
q(cirth) => [
- q(0023),
+ q(0024),
q(0),
],
q(code for inherited script) => [
- q(0158),
+ q(0163),
q(0),
],
q(coptic) => [
- q(0024),
+ q(0025),
q(0),
],
q(cuneiform, sumero-akkadian) => [
- q(0156),
+ q(0161),
q(0),
],
q(cypriot) => [
- q(0025),
+ q(0026),
q(0),
],
q(cyrillic) => [
- q(0026),
+ q(0027),
q(0),
],
q(cyrillic (old church slavonic variant)) => [
- q(0027),
+ q(0028),
q(0),
],
q(deseret) => [
- q(0029),
+ q(0030),
q(1),
],
q(deseret (mormon)) => [
- q(0029),
+ q(0030),
q(0),
],
q(devanagari) => [
- q(0028),
+ q(0029),
q(1),
],
q(devanagari (nagari)) => [
- q(0028),
+ q(0029),
q(0),
],
q(duployan shorthand) => [
- q(0030),
+ q(0031),
q(1),
],
q(duployan shorthand, duployan stenography) => [
- q(0030),
+ q(0031),
q(0),
],
q(duployan stenography) => [
- q(0030),
+ q(0031),
q(2),
],
q(egyptian demotic) => [
- q(0031),
+ q(0032),
q(0),
],
q(egyptian hieratic) => [
- q(0032),
+ q(0033),
q(0),
],
q(egyptian hieroglyphs) => [
- q(0033),
+ q(0034),
q(0),
],
q(elbasan) => [
- q(0034),
+ q(0035),
q(0),
],
q(ethiopic) => [
- q(0035),
+ q(0036),
q(1),
],
q(ethiopic (geez)) => [
- q(0035),
+ q(0036),
q(0),
],
q(fraser) => [
- q(0078),
+ q(0080),
q(2),
],
q(ge'ez) => [
- q(0035),
+ q(0036),
q(2),
],
q(georgian (mkhedruli)) => [
- q(0036),
+ q(0037),
q(0),
],
q(glagolitic) => [
- q(0038),
+ q(0039),
q(0),
],
q(gothic) => [
- q(0039),
+ q(0040),
q(0),
],
q(grantha) => [
- q(0040),
+ q(0041),
q(0),
],
q(greek) => [
- q(0041),
+ q(0042),
q(0),
],
q(gujarati) => [
- q(0042),
+ q(0043),
q(0),
],
q(gurmukhi) => [
- q(0043),
+ q(0044),
q(0),
],
q(han) => [
- q(0045),
+ q(0046),
q(1),
],
q(han (hanzi, kanji, hanja)) => [
- q(0045),
+ q(0046),
q(0),
],
q(han (simplified variant)) => [
- q(0047),
+ q(0048),
q(0),
],
q(han (traditional variant)) => [
- q(0048),
+ q(0049),
q(0),
],
q(hangeul) => [
- q(0044),
+ q(0045),
q(2),
],
q(hangul) => [
- q(0044),
+ q(0045),
q(1),
],
q(hangul (hangul, hangeul)) => [
- q(0044),
+ q(0045),
q(0),
],
q(hanja) => [
- q(0045),
+ q(0046),
q(4),
],
q(hanunoo) => [
- q(0046),
+ q(0047),
q(1),
],
q(hanunoo (hanunoo)) => [
- q(0046),
+ q(0047),
q(0),
],
q(hanzi) => [
- q(0045),
+ q(0046),
q(2),
],
q(harappan) => [
- q(0055),
+ q(0057),
q(2),
],
+ q(hatran) => [
+ q(0050),
+ q(0),
+ ],
q(hebrew) => [
- q(0049),
+ q(0051),
q(0),
],
q(hiragana) => [
- q(0050),
+ q(0052),
q(0),
],
q(hittite hieroglyphs) => [
- q(0051),
+ q(0053),
q(3),
],
q(hungarian runic) => [
- q(0054),
+ q(0056),
q(2),
],
q(imperial aramaic) => [
- q(0004),
+ q(0005),
q(0),
],
q(indus) => [
- q(0055),
+ q(0057),
q(1),
],
q(indus (harappan)) => [
- q(0055),
+ q(0057),
q(0),
],
q(inscriptional pahlavi) => [
- q(0108),
+ q(0112),
q(0),
],
q(inscriptional parthian) => [
- q(0113),
+ q(0117),
q(0),
],
q(japanese (alias for han + hiragana + katakana)) => [
- q(0058),
+ q(0060),
q(0),
],
q(japanese syllabaries (alias for hiragana + katakana)) => [
- q(0053),
+ q(0055),
q(0),
],
q(javanese) => [
- q(0057),
+ q(0059),
q(0),
],
q(jurchen) => [
- q(0059),
+ q(0061),
q(0),
],
q(kaganga) => [
- q(0116),
+ q(0120),
q(3),
],
q(kaithi) => [
- q(0068),
+ q(0070),
q(0),
],
q(kanji) => [
- q(0045),
+ q(0046),
q(3),
],
q(kannada) => [
- q(0065),
+ q(0067),
q(0),
],
q(katakana) => [
- q(0061),
+ q(0063),
q(0),
],
q(kayah li) => [
- q(0060),
+ q(0062),
q(0),
],
q(kharoshthi) => [
- q(0062),
+ q(0064),
q(0),
],
q(khmer) => [
- q(0063),
+ q(0065),
q(0),
],
q(khojki) => [
- q(0064),
+ q(0066),
q(0),
],
q(khudawadi) => [
- q(0126),
+ q(0131),
q(1),
],
q(khudawadi, sindhi) => [
- q(0126),
+ q(0131),
q(0),
],
q(khutsuri (asomtavruli and nuskhuri)) => [
- q(0037),
+ q(0038),
q(0),
],
q(korean (alias for hangul + han)) => [
- q(0066),
+ q(0068),
q(0),
],
q(kpelle) => [
- q(0067),
+ q(0069),
q(0),
],
q(lanna) => [
- q(0069),
+ q(0071),
q(2),
],
q(lao) => [
- q(0070),
+ q(0072),
q(0),
],
q(latin) => [
- q(0073),
+ q(0075),
q(0),
],
q(latin (fraktur variant)) => [
- q(0071),
+ q(0073),
q(0),
],
q(latin (gaelic variant)) => [
- q(0072),
+ q(0074),
q(0),
],
q(lepcha) => [
- q(0074),
+ q(0076),
q(1),
],
q(lepcha (rong)) => [
- q(0074),
+ q(0076),
q(0),
],
q(limbu) => [
- q(0075),
+ q(0077),
q(0),
],
q(linear a) => [
- q(0076),
+ q(0078),
q(0),
],
q(linear b) => [
- q(0077),
+ q(0079),
q(0),
],
q(lisu) => [
- q(0078),
+ q(0080),
q(1),
],
q(lisu (fraser)) => [
- q(0078),
+ q(0080),
q(0),
],
q(loma) => [
- q(0079),
+ q(0081),
q(0),
],
q(luwian hieroglyphs) => [
- q(0051),
+ q(0053),
q(2),
],
q(lycian) => [
- q(0080),
+ q(0082),
q(0),
],
q(lydian) => [
- q(0081),
+ q(0083),
q(0),
],
q(mahajani) => [
- q(0082),
+ q(0084),
q(0),
],
q(malayalam) => [
- q(0089),
+ q(0091),
q(0),
],
q(mandaean) => [
- q(0083),
+ q(0085),
q(2),
],
q(mandaic) => [
- q(0083),
+ q(0085),
q(1),
],
q(mandaic, mandaean) => [
- q(0083),
+ q(0085),
q(0),
],
q(manichaean) => [
- q(0084),
+ q(0086),
q(0),
],
q(mathematical notation) => [
- q(0159),
+ q(0164),
q(0),
],
q(mayan hieroglyphs) => [
- q(0085),
+ q(0087),
q(0),
],
q(meetei) => [
- q(0093),
+ q(0096),
q(3),
],
q(meitei mayek) => [
- q(0093),
+ q(0096),
q(1),
],
q(meitei mayek (meithei, meetei)) => [
- q(0093),
+ q(0096),
q(0),
],
q(meithei) => [
- q(0093),
+ q(0096),
q(2),
],
- q(mende) => [
- q(0086),
+ q(mende kikakui) => [
+ q(0088),
q(0),
],
q(meroitic cursive) => [
- q(0087),
+ q(0089),
q(0),
],
q(meroitic hieroglyphs) => [
- q(0088),
+ q(0090),
q(0),
],
q(miao) => [
- q(0112),
+ q(0116),
q(1),
],
q(miao (pollard)) => [
- q(0112),
+ q(0116),
+ q(0),
+ ],
+ q(modi) => [
+ q(0092),
+ q(2),
+ ],
+ q(modi, modi) => [
+ q(0092),
q(0),
],
q(mongolian) => [
- q(0091),
+ q(0094),
q(0),
],
q(moon) => [
- q(0090),
+ q(0093),
q(1),
],
q(moon (moon code, moon script, moon type)) => [
- q(0090),
+ q(0093),
q(0),
],
q(moon code) => [
- q(0090),
+ q(0093),
q(2),
],
q(moon script) => [
- q(0090),
+ q(0093),
q(3),
],
q(moon type) => [
- q(0090),
+ q(0093),
q(4),
],
q(mormon) => [
- q(0029),
+ q(0030),
q(2),
],
q(mro) => [
- q(0092),
+ q(0095),
q(1),
],
q(mro, mru) => [
- q(0092),
+ q(0095),
q(0),
],
q(mru) => [
- q(0092),
+ q(0095),
q(2),
],
+ q(multani) => [
+ q(0092),
+ q(3),
+ ],
q(myanmar) => [
- q(0094),
+ q(0097),
q(1),
],
q(myanmar (burmese)) => [
- q(0094),
+ q(0097),
q(0),
],
q(n'ko) => [
- q(0098),
+ q(0101),
q(0),
],
q(nabataean) => [
- q(0096),
+ q(0099),
q(0),
],
q(nagari) => [
- q(0028),
+ q(0029),
q(2),
],
q(nakhi geba) => [
- q(0097),
+ q(0100),
q(1),
],
q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
- q(0097),
+ q(0100),
q(0),
],
q(naxi geba) => [
- q(0097),
+ q(0100),
q(3),
],
q(new tai lue) => [
- q(0138),
+ q(0143),
q(0),
],
q(nushu) => [
- q(0099),
+ q(0102),
q(0),
],
q(ogham) => [
- q(0100),
+ q(0103),
q(0),
],
q(ol) => [
- q(0101),
+ q(0104),
q(3),
],
q(ol cemet') => [
- q(0101),
+ q(0104),
q(2),
],
q(ol chiki) => [
- q(0101),
+ q(0104),
q(1),
],
q(ol chiki (ol cemet, ol, santali)) => [
- q(0101),
+ q(0104),
q(0),
],
q(old hungarian) => [
- q(0054),
+ q(0056),
q(1),
],
q(old hungarian (hungarian runic)) => [
- q(0054),
+ q(0056),
q(0),
],
q(old italic (etruscan, oscan, etc.)) => [
- q(0056),
+ q(0058),
q(0),
],
q(old north arabian) => [
- q(0095),
+ q(0098),
q(1),
],
q(old north arabian (ancient north arabian)) => [
- q(0095),
+ q(0098),
q(0),
],
q(old permic) => [
- q(0106),
+ q(0110),
q(0),
],
q(old persian) => [
- q(0155),
+ q(0160),
q(0),
],
q(old south arabian) => [
- q(0121),
+ q(0125),
q(0),
],
q(old turkic) => [
- q(0102),
+ q(0105),
q(1),
],
q(old turkic, orkhon runic) => [
- q(0102),
+ q(0105),
q(0),
],
q(oriya) => [
- q(0103),
+ q(0106),
q(0),
],
q(orkhon runic) => [
- q(0102),
+ q(0105),
q(2),
],
q(osmanya) => [
- q(0104),
+ q(0107),
q(0),
],
q(pahawh hmong) => [
- q(0052),
+ q(0054),
q(0),
],
q(palmyrene) => [
- q(0105),
+ q(0108),
+ q(0),
+ ],
+ q(pau cin hau) => [
+ q(0109),
q(0),
],
q(phags-pa) => [
- q(0107),
+ q(0111),
q(0),
],
q(phoenician) => [
- q(0111),
+ q(0115),
q(0),
],
q(pollard) => [
- q(0112),
+ q(0116),
q(2),
],
q(psalter pahlavi) => [
- q(0109),
+ q(0113),
q(0),
],
q(redjang) => [
- q(0116),
+ q(0120),
q(2),
],
q(rejang) => [
- q(0116),
+ q(0120),
q(1),
],
q(rejang (redjang, kaganga)) => [
- q(0116),
+ q(0120),
q(0),
],
q(reserved for private use (end)) => [
- q(0115),
+ q(0119),
q(0),
],
q(reserved for private use (start)) => [
- q(0114),
+ q(0118),
q(0),
],
q(rong) => [
- q(0074),
+ q(0076),
q(2),
],
q(rongorongo) => [
- q(0117),
+ q(0121),
q(0),
],
q(runic) => [
- q(0118),
+ q(0122),
q(0),
],
q(samaritan) => [
- q(0119),
+ q(0123),
q(0),
],
q(santali) => [
- q(0101),
+ q(0104),
q(4),
],
q(sarada) => [
- q(0125),
+ q(0129),
q(2),
],
q(sarati) => [
- q(0120),
+ q(0124),
q(0),
],
q(saurashtra) => [
- q(0122),
+ q(0126),
q(0),
],
q(sharada) => [
- q(0125),
+ q(0129),
q(1),
],
q(sharada, sarada) => [
- q(0125),
+ q(0129),
q(0),
],
q(shavian) => [
- q(0124),
+ q(0128),
q(1),
],
q(shavian (shaw)) => [
- q(0124),
+ q(0128),
q(0),
],
q(shaw) => [
- q(0124),
+ q(0128),
+ q(2),
+ ],
+ q(siddham) => [
+ q(0130),
+ q(1),
+ ],
+ q(siddham, siddham, siddhamatrka) => [
+ q(0130),
+ q(0),
+ ],
+ q(siddhamatrka) => [
+ q(0130),
q(2),
],
q(signwriting) => [
- q(0123),
+ q(0127),
q(0),
],
q(sindhi) => [
- q(0126),
+ q(0131),
q(2),
],
q(sinhala) => [
- q(0127),
+ q(0132),
q(0),
],
q(sora sompeng) => [
- q(0128),
+ q(0133),
q(0),
],
q(sumero-akkadian cuneiform) => [
- q(0156),
+ q(0161),
q(1),
],
q(sundanese) => [
- q(0129),
+ q(0134),
q(0),
],
q(syloti nagri) => [
- q(0130),
+ q(0135),
q(0),
],
q(symbols) => [
- q(0160),
+ q(0165),
q(0),
],
q(syriac) => [
- q(0131),
+ q(0136),
q(0),
],
q(syriac (eastern variant)) => [
- q(0134),
+ q(0139),
q(0),
],
q(syriac (estrangelo variant)) => [
- q(0132),
+ q(0137),
q(0),
],
q(syriac (western variant)) => [
- q(0133),
+ q(0138),
q(0),
],
q(tagalog) => [
- q(0145),
+ q(0150),
q(1),
],
q(tagalog (baybayin, alibata)) => [
- q(0145),
+ q(0150),
q(0),
],
q(tagbanwa) => [
- q(0135),
+ q(0140),
q(0),
],
+ q(tai ahom) => [
+ q(0003),
+ q(2),
+ ],
q(tai le) => [
- q(0137),
+ q(0142),
q(0),
],
q(tai tham) => [
- q(0069),
+ q(0071),
q(1),
],
q(tai tham (lanna)) => [
- q(0069),
+ q(0071),
q(0),
],
q(tai viet) => [
- q(0141),
+ q(0146),
q(0),
],
q(takri) => [
- q(0136),
+ q(0141),
q(1),
],
q(takri, takri, tankri) => [
- q(0136),
+ q(0141),
q(0),
],
q(tamil) => [
- q(0139),
+ q(0144),
q(0),
],
q(tangut) => [
- q(0140),
+ q(0145),
q(0),
],
q(tankri) => [
- q(0136),
+ q(0141),
q(2),
],
q(telugu) => [
- q(0142),
+ q(0147),
q(0),
],
q(tengwar) => [
- q(0143),
+ q(0148),
q(0),
],
q(thaana) => [
- q(0146),
+ q(0151),
q(0),
],
q(thai) => [
- q(0147),
+ q(0152),
q(0),
],
q(tibetan) => [
- q(0148),
+ q(0153),
q(0),
],
q(tifinagh) => [
- q(0144),
+ q(0149),
q(1),
],
q(tifinagh (berber)) => [
- q(0144),
+ q(0149),
q(0),
],
q(tirhuta) => [
- q(0149),
+ q(0154),
q(0),
],
q(ugaritic) => [
- q(0150),
+ q(0155),
q(0),
],
q(unified canadian aboriginal syllabics) => [
- q(0019),
+ q(0020),
q(0),
],
q(vai) => [
- q(0151),
+ q(0156),
q(0),
],
q(varang kshiti) => [
- q(0153),
+ q(0158),
q(2),
],
q(visible speech) => [
- q(0152),
+ q(0157),
q(0),
],
q(warang citi) => [
- q(0153),
+ q(0158),
q(1),
],
q(warang citi (varang kshiti)) => [
- q(0153),
+ q(0158),
q(0),
],
q(woleai) => [
- q(0154),
+ q(0159),
q(0),
],
q(yi) => [
- q(0157),
+ q(0162),
q(0),
],
};
@@ -1543,866 +1586,894 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
q(0002),
q(0),
],
- q(Arab) => [
+ q(Ahom) => [
q(0003),
+ q(1),
+ ],
+ q(Arab) => [
+ q(0004),
q(0),
],
q(Armi) => [
- q(0004),
+ q(0005),
q(0),
],
q(Armn) => [
- q(0005),
+ q(0006),
q(0),
],
q(Avst) => [
- q(0006),
+ q(0007),
q(0),
],
q(Bali) => [
- q(0007),
+ q(0008),
q(0),
],
q(Bamu) => [
- q(0008),
+ q(0009),
q(0),
],
q(Bass) => [
- q(0009),
+ q(0010),
q(0),
],
q(Batk) => [
- q(0010),
+ q(0011),
q(0),
],
q(Beng) => [
- q(0011),
+ q(0012),
q(0),
],
q(Blis) => [
- q(0012),
+ q(0013),
q(0),
],
q(Bopo) => [
- q(0013),
+ q(0014),
q(0),
],
q(Brah) => [
- q(0014),
+ q(0015),
q(0),
],
q(Brai) => [
- q(0015),
+ q(0016),
q(0),
],
q(Bugi) => [
- q(0016),
+ q(0017),
q(0),
],
q(Buhd) => [
- q(0017),
+ q(0018),
q(0),
],
q(Cakm) => [
- q(0018),
+ q(0019),
q(0),
],
q(Cans) => [
- q(0019),
+ q(0020),
q(0),
],
q(Cari) => [
- q(0020),
+ q(0021),
q(0),
],
q(Cham) => [
- q(0021),
+ q(0022),
q(0),
],
q(Cher) => [
- q(0022),
+ q(0023),
q(0),
],
q(Cirt) => [
- q(0023),
+ q(0024),
q(0),
],
q(Copt) => [
- q(0024),
+ q(0025),
q(0),
],
q(Cprt) => [
- q(0025),
+ q(0026),
q(0),
],
q(Cyrl) => [
- q(0026),
+ q(0027),
q(0),
],
q(Cyrs) => [
- q(0027),
+ q(0028),
q(0),
],
q(Deva) => [
- q(0028),
+ q(0029),
q(1),
],
q(Dsrt) => [
- q(0029),
+ q(0030),
q(1),
],
q(Dupl) => [
- q(0030),
+ q(0031),
q(1),
],
q(Egyd) => [
- q(0031),
+ q(0032),
q(0),
],
q(Egyh) => [
- q(0032),
+ q(0033),
q(0),
],
q(Egyp) => [
- q(0033),
+ q(0034),
q(0),
],
q(Elba) => [
- q(0034),
+ q(0035),
q(0),
],
q(Ethi) => [
- q(0035),
+ q(0036),
q(1),
],
q(Geok) => [
- q(0037),
+ q(0038),
q(0),
],
q(Geor) => [
- q(0036),
+ q(0037),
q(0),
],
q(Glag) => [
- q(0038),
+ q(0039),
q(0),
],
q(Goth) => [
- q(0039),
+ q(0040),
q(0),
],
q(Gran) => [
- q(0040),
+ q(0041),
q(0),
],
q(Grek) => [
- q(0041),
+ q(0042),
q(0),
],
q(Gujr) => [
- q(0042),
+ q(0043),
q(0),
],
q(Guru) => [
- q(0043),
+ q(0044),
q(0),
],
q(Hang) => [
- q(0044),
+ q(0045),
q(1),
],
q(Hani) => [
- q(0045),
+ q(0046),
q(1),
],
q(Hano) => [
- q(0046),
+ q(0047),
q(1),
],
q(Hans) => [
- q(0047),
+ q(0048),
q(0),
],
q(Hant) => [
- q(0048),
+ q(0049),
+ q(0),
+ ],
+ q(Hatr) => [
+ q(0050),
q(0),
],
q(Hebr) => [
- q(0049),
+ q(0051),
q(0),
],
q(Hira) => [
- q(0050),
+ q(0052),
q(0),
],
q(Hluw) => [
- q(0051),
+ q(0053),
q(1),
],
q(Hmng) => [
- q(0052),
+ q(0054),
q(0),
],
q(Hrkt) => [
- q(0053),
+ q(0055),
q(0),
],
q(Hung) => [
- q(0054),
+ q(0056),
q(1),
],
q(Inds) => [
- q(0055),
+ q(0057),
q(1),
],
q(Ital) => [
- q(0056),
+ q(0058),
q(0),
],
q(Java) => [
- q(0057),
+ q(0059),
q(0),
],
q(Jpan) => [
- q(0058),
+ q(0060),
q(0),
],
q(Jurc) => [
- q(0059),
+ q(0061),
q(0),
],
q(Kali) => [
- q(0060),
+ q(0062),
q(0),
],
q(Kana) => [
- q(0061),
+ q(0063),
q(0),
],
q(Khar) => [
- q(0062),
+ q(0064),
q(0),
],
q(Khmr) => [
- q(0063),
+ q(0065),
q(0),
],
q(Khoj) => [
- q(0064),
+ q(0066),
q(0),
],
q(Knda) => [
- q(0065),
+ q(0067),
q(0),
],
q(Kore) => [
- q(0066),
+ q(0068),
q(0),
],
q(Kpel) => [
- q(0067),
+ q(0069),
q(0),
],
q(Kthi) => [
- q(0068),
+ q(0070),
q(0),
],
q(Lana) => [
- q(0069),
+ q(0071),
q(1),
],
q(Laoo) => [
- q(0070),
+ q(0072),
q(0),
],
q(Latf) => [
- q(0071),
+ q(0073),
q(0),
],
q(Latg) => [
- q(0072),
+ q(0074),
q(0),
],
q(Latn) => [
- q(0073),
+ q(0075),
q(0),
],
q(Lepc) => [
- q(0074),
+ q(0076),
q(1),
],
q(Limb) => [
- q(0075),
+ q(0077),
q(0),
],
q(Lina) => [
- q(0076),
+ q(0078),
q(0),
],
q(Linb) => [
- q(0077),
+ q(0079),
q(0),
],
q(Lisu) => [
- q(0078),
+ q(0080),
q(1),
],
q(Loma) => [
- q(0079),
+ q(0081),
q(0),
],
q(Lyci) => [
- q(0080),
+ q(0082),
q(0),
],
q(Lydi) => [
- q(0081),
+ q(0083),
q(0),
],
q(Mahj) => [
- q(0082),
+ q(0084),
q(0),
],
q(Mand) => [
- q(0083),
+ q(0085),
q(1),
],
q(Mani) => [
- q(0084),
+ q(0086),
q(0),
],
q(Maya) => [
- q(0085),
+ q(0087),
q(0),
],
q(Mend) => [
- q(0086),
+ q(0088),
q(0),
],
q(Merc) => [
- q(0087),
+ q(0089),
q(0),
],
q(Mero) => [
- q(0088),
+ q(0090),
q(0),
],
q(Mlym) => [
- q(0089),
+ q(0091),
q(0),
],
+ q(Modi) => [
+ q(0092),
+ q(2),
+ ],
q(Mong) => [
- q(0091),
+ q(0094),
q(0),
],
q(Moon) => [
- q(0090),
+ q(0093),
q(1),
],
q(Mroo) => [
- q(0092),
+ q(0095),
q(1),
],
q(Mtei) => [
- q(0093),
+ q(0096),
q(1),
],
+ q(Mult) => [
+ q(0092),
+ q(3),
+ ],
q(Mymr) => [
- q(0094),
+ q(0097),
q(1),
],
q(Narb) => [
- q(0095),
+ q(0098),
q(1),
],
q(Nbat) => [
- q(0096),
+ q(0099),
q(0),
],
q(Nkgb) => [
- q(0097),
+ q(0100),
q(1),
],
q(Nkoo) => [
- q(0098),
+ q(0101),
q(0),
],
q(Nshu) => [
- q(0099),
+ q(0102),
q(0),
],
q(Ogam) => [
- q(0100),
+ q(0103),
q(0),
],
q(Olck) => [
- q(0101),
+ q(0104),
q(1),
],
q(Orkh) => [
- q(0102),
+ q(0105),
q(1),
],
q(Orya) => [
- q(0103),
+ q(0106),
q(0),
],
q(Osma) => [
- q(0104),
+ q(0107),
q(0),
],
q(Palm) => [
- q(0105),
+ q(0108),
+ q(0),
+ ],
+ q(Pauc) => [
+ q(0109),
q(0),
],
q(Perm) => [
- q(0106),
+ q(0110),
q(0),
],
q(Phag) => [
- q(0107),
+ q(0111),
q(0),
],
q(Phli) => [
- q(0108),
+ q(0112),
q(0),
],
q(Phlp) => [
- q(0109),
+ q(0113),
q(0),
],
q(Phlv) => [
- q(0110),
+ q(0114),
q(0),
],
q(Phnx) => [
- q(0111),
+ q(0115),
q(0),
],
q(Plrd) => [
- q(0112),
+ q(0116),
q(1),
],
q(Prti) => [
- q(0113),
+ q(0117),
q(0),
],
q(Qaaa) => [
- q(0114),
+ q(0118),
q(0),
],
q(Qabx) => [
- q(0115),
+ q(0119),
q(0),
],
q(Rjng) => [
- q(0116),
+ q(0120),
q(1),
],
q(Roro) => [
- q(0117),
+ q(0121),
q(0),
],
q(Runr) => [
- q(0118),
+ q(0122),
q(0),
],
q(Samr) => [
- q(0119),
+ q(0123),
q(0),
],
q(Sara) => [
- q(0120),
+ q(0124),
q(0),
],
q(Sarb) => [
- q(0121),
+ q(0125),
q(0),
],
q(Saur) => [
- q(0122),
+ q(0126),
q(0),
],
q(Sgnw) => [
- q(0123),
+ q(0127),
q(0),
],
q(Shaw) => [
- q(0124),
+ q(0128),
q(1),
],
q(Shrd) => [
- q(0125),
+ q(0129),
+ q(1),
+ ],
+ q(Sidd) => [
+ q(0130),
q(1),
],
q(Sind) => [
- q(0126),
+ q(0131),
q(1),
],
q(Sinh) => [
- q(0127),
+ q(0132),
q(0),
],
q(Sora) => [
- q(0128),
+ q(0133),
q(0),
],
q(Sund) => [
- q(0129),
+ q(0134),
q(0),
],
q(Sylo) => [
- q(0130),
+ q(0135),
q(0),
],
q(Syrc) => [
- q(0131),
+ q(0136),
q(0),
],
q(Syre) => [
- q(0132),
+ q(0137),
q(0),
],
q(Syrj) => [
- q(0133),
+ q(0138),
q(0),
],
q(Syrn) => [
- q(0134),
+ q(0139),
q(0),
],
q(Tagb) => [
- q(0135),
+ q(0140),
q(0),
],
q(Takr) => [
- q(0136),
+ q(0141),
q(1),
],
q(Tale) => [
- q(0137),
+ q(0142),
q(0),
],
q(Talu) => [
- q(0138),
+ q(0143),
q(0),
],
q(Taml) => [
- q(0139),
+ q(0144),
q(0),
],
q(Tang) => [
- q(0140),
+ q(0145),
q(0),
],
q(Tavt) => [
- q(0141),
+ q(0146),
q(0),
],
q(Telu) => [
- q(0142),
+ q(0147),
q(0),
],
q(Teng) => [
- q(0143),
+ q(0148),
q(0),
],
q(Tfng) => [
- q(0144),
+ q(0149),
q(1),
],
q(Tglg) => [
- q(0145),
+ q(0150),
q(1),
],
q(Thaa) => [
- q(0146),
+ q(0151),
q(0),
],
q(Thai) => [
- q(0147),
+ q(0152),
q(0),
],
q(Tibt) => [
- q(0148),
+ q(0153),
q(0),
],
q(Tirh) => [
- q(0149),
+ q(0154),
q(0),
],
q(Ugar) => [
- q(0150),
+ q(0155),
q(0),
],
q(Vaii) => [
- q(0151),
+ q(0156),
q(0),
],
q(Visp) => [
- q(0152),
+ q(0157),
q(0),
],
q(Wara) => [
- q(0153),
+ q(0158),
q(1),
],
q(Wole) => [
- q(0154),
+ q(0159),
q(0),
],
q(Xpeo) => [
- q(0155),
+ q(0160),
q(0),
],
q(Xsux) => [
- q(0156),
+ q(0161),
q(1),
],
q(Yiii) => [
- q(0157),
+ q(0162),
q(0),
],
q(Zinh) => [
- q(0158),
+ q(0163),
q(0),
],
q(Zmth) => [
- q(0159),
+ q(0164),
q(0),
],
q(Zsym) => [
- q(0160),
+ q(0165),
q(0),
],
},
q(num) => {
q(020) => [
- q(0156),
+ q(0161),
q(0),
],
q(030) => [
- q(0155),
+ q(0160),
q(0),
],
q(040) => [
- q(0150),
+ q(0155),
q(0),
],
q(050) => [
- q(0033),
+ q(0034),
q(0),
],
q(060) => [
- q(0032),
+ q(0033),
q(0),
],
q(070) => [
- q(0031),
+ q(0032),
q(0),
],
q(080) => [
- q(0051),
+ q(0053),
q(0),
],
q(090) => [
- q(0085),
+ q(0087),
q(0),
],
q(095) => [
- q(0123),
+ q(0127),
q(0),
],
q(100) => [
- q(0088),
+ q(0090),
q(0),
],
q(101) => [
- q(0087),
+ q(0089),
q(0),
],
q(105) => [
- q(0121),
+ q(0125),
q(0),
],
q(106) => [
- q(0095),
+ q(0098),
q(0),
],
q(115) => [
- q(0111),
+ q(0115),
q(0),
],
q(116) => [
- q(0081),
+ q(0083),
q(0),
],
q(120) => [
- q(0144),
+ q(0149),
q(0),
],
q(123) => [
- q(0119),
+ q(0123),
q(0),
],
q(124) => [
- q(0004),
+ q(0005),
q(0),
],
q(125) => [
- q(0049),
+ q(0051),
q(0),
],
q(126) => [
- q(0105),
+ q(0108),
+ q(0),
+ ],
+ q(127) => [
+ q(0050),
q(0),
],
q(130) => [
- q(0113),
+ q(0117),
q(0),
],
q(131) => [
- q(0108),
+ q(0112),
q(0),
],
q(132) => [
- q(0109),
+ q(0113),
q(0),
],
q(133) => [
- q(0110),
+ q(0114),
q(0),
],
q(134) => [
- q(0006),
+ q(0007),
q(0),
],
q(135) => [
- q(0131),
+ q(0136),
q(0),
],
q(136) => [
- q(0134),
+ q(0139),
q(0),
],
q(137) => [
- q(0133),
+ q(0138),
q(0),
],
q(138) => [
- q(0132),
+ q(0137),
q(0),
],
q(139) => [
- q(0084),
+ q(0086),
q(0),
],
q(140) => [
- q(0083),
+ q(0085),
q(0),
],
q(145) => [
- q(0091),
+ q(0094),
q(0),
],
q(159) => [
- q(0096),
+ q(0099),
q(0),
],
q(160) => [
- q(0003),
+ q(0004),
q(0),
],
q(165) => [
- q(0098),
+ q(0101),
q(0),
],
q(170) => [
- q(0146),
+ q(0151),
q(0),
],
q(175) => [
- q(0102),
+ q(0105),
q(0),
],
q(176) => [
- q(0054),
+ q(0056),
q(0),
],
q(199) => [
- q(0092),
+ q(0095),
q(0),
],
q(200) => [
- q(0041),
+ q(0042),
q(0),
],
q(201) => [
- q(0020),
+ q(0021),
q(0),
],
q(202) => [
- q(0080),
+ q(0082),
q(0),
],
q(204) => [
- q(0024),
+ q(0025),
q(0),
],
q(206) => [
- q(0039),
+ q(0040),
q(0),
],
q(210) => [
- q(0056),
+ q(0058),
q(0),
],
q(211) => [
- q(0118),
+ q(0122),
q(0),
],
q(212) => [
- q(0100),
+ q(0103),
q(0),
],
q(215) => [
- q(0073),
+ q(0075),
q(0),
],
q(216) => [
- q(0072),
+ q(0074),
q(0),
],
q(217) => [
- q(0071),
+ q(0073),
q(0),
],
q(218) => [
- q(0090),
+ q(0093),
q(0),
],
q(220) => [
- q(0026),
+ q(0027),
q(0),
],
q(221) => [
- q(0027),
+ q(0028),
q(0),
],
q(225) => [
- q(0038),
+ q(0039),
q(0),
],
q(226) => [
- q(0034),
+ q(0035),
q(0),
],
q(227) => [
- q(0106),
+ q(0110),
q(0),
],
q(230) => [
- q(0005),
+ q(0006),
q(0),
],
q(239) => [
@@ -2410,319 +2481,335 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
q(0),
],
q(240) => [
- q(0036),
+ q(0037),
q(0),
],
q(241) => [
- q(0037),
+ q(0038),
q(0),
],
q(250) => [
- q(0029),
+ q(0030),
q(0),
],
q(259) => [
- q(0009),
+ q(0010),
q(0),
],
q(260) => [
- q(0104),
+ q(0107),
q(0),
],
q(261) => [
- q(0101),
+ q(0104),
q(0),
],
q(262) => [
- q(0153),
+ q(0158),
+ q(0),
+ ],
+ q(263) => [
+ q(0109),
q(0),
],
q(280) => [
- q(0152),
+ q(0157),
q(0),
],
q(281) => [
- q(0124),
+ q(0128),
q(0),
],
q(282) => [
- q(0112),
+ q(0116),
q(0),
],
q(285) => [
- q(0013),
+ q(0014),
q(0),
],
q(286) => [
- q(0044),
+ q(0045),
q(0),
],
q(287) => [
- q(0066),
+ q(0068),
q(0),
],
q(290) => [
- q(0143),
+ q(0148),
q(0),
],
q(291) => [
- q(0023),
+ q(0024),
q(0),
],
q(292) => [
- q(0120),
+ q(0124),
q(0),
],
q(300) => [
- q(0014),
+ q(0015),
+ q(0),
+ ],
+ q(302) => [
+ q(0130),
q(0),
],
q(305) => [
- q(0062),
+ q(0064),
q(0),
],
q(310) => [
- q(0043),
+ q(0044),
q(0),
],
q(314) => [
- q(0082),
+ q(0084),
q(0),
],
q(315) => [
- q(0028),
+ q(0029),
q(0),
],
q(316) => [
- q(0130),
+ q(0135),
q(0),
],
q(317) => [
- q(0068),
+ q(0070),
q(0),
],
q(318) => [
- q(0126),
+ q(0131),
q(0),
],
q(319) => [
- q(0125),
+ q(0129),
q(0),
],
q(320) => [
- q(0042),
+ q(0043),
q(0),
],
q(321) => [
- q(0136),
+ q(0141),
q(0),
],
q(322) => [
- q(0064),
+ q(0066),
q(0),
],
+ q(323) => [
+ q(0092),
+ q(1),
+ ],
q(325) => [
- q(0011),
+ q(0012),
q(0),
],
q(326) => [
- q(0149),
+ q(0154),
q(0),
],
q(327) => [
- q(0103),
+ q(0106),
q(0),
],
q(330) => [
- q(0148),
+ q(0153),
q(0),
],
q(331) => [
- q(0107),
+ q(0111),
q(0),
],
q(335) => [
- q(0074),
+ q(0076),
q(0),
],
q(336) => [
- q(0075),
+ q(0077),
q(0),
],
q(337) => [
- q(0093),
+ q(0096),
+ q(0),
+ ],
+ q(338) => [
+ q(0003),
q(0),
],
q(340) => [
- q(0142),
+ q(0147),
q(0),
],
q(343) => [
- q(0040),
+ q(0041),
q(0),
],
q(344) => [
- q(0122),
+ q(0126),
q(0),
],
q(345) => [
- q(0065),
+ q(0067),
q(0),
],
q(346) => [
- q(0139),
+ q(0144),
q(0),
],
q(347) => [
- q(0089),
+ q(0091),
q(0),
],
q(348) => [
- q(0127),
+ q(0132),
q(0),
],
q(349) => [
- q(0018),
+ q(0019),
q(0),
],
q(350) => [
- q(0094),
+ q(0097),
q(0),
],
q(351) => [
- q(0069),
+ q(0071),
q(0),
],
q(352) => [
- q(0147),
+ q(0152),
q(0),
],
q(353) => [
- q(0137),
+ q(0142),
q(0),
],
q(354) => [
- q(0138),
+ q(0143),
q(0),
],
q(355) => [
- q(0063),
+ q(0065),
q(0),
],
q(356) => [
- q(0070),
+ q(0072),
q(0),
],
q(357) => [
- q(0060),
+ q(0062),
q(0),
],
q(358) => [
- q(0021),
+ q(0022),
q(0),
],
q(359) => [
- q(0141),
+ q(0146),
q(0),
],
q(360) => [
- q(0007),
+ q(0008),
q(0),
],
q(361) => [
- q(0057),
+ q(0059),
q(0),
],
q(362) => [
- q(0129),
+ q(0134),
q(0),
],
q(363) => [
- q(0116),
+ q(0120),
q(0),
],
q(365) => [
- q(0010),
+ q(0011),
q(0),
],
q(367) => [
- q(0016),
+ q(0017),
q(0),
],
q(370) => [
- q(0145),
+ q(0150),
q(0),
],
q(371) => [
- q(0046),
+ q(0047),
q(0),
],
q(372) => [
- q(0017),
+ q(0018),
q(0),
],
q(373) => [
- q(0135),
+ q(0140),
q(0),
],
q(398) => [
- q(0128),
+ q(0133),
q(0),
],
q(399) => [
- q(0078),
+ q(0080),
q(0),
],
q(400) => [
- q(0076),
+ q(0078),
q(0),
],
q(401) => [
- q(0077),
+ q(0079),
q(0),
],
q(403) => [
- q(0025),
+ q(0026),
q(0),
],
q(410) => [
- q(0050),
+ q(0052),
q(0),
],
q(411) => [
- q(0061),
+ q(0063),
q(0),
],
q(412) => [
- q(0053),
+ q(0055),
q(0),
],
q(413) => [
- q(0058),
+ q(0060),
q(0),
],
q(420) => [
- q(0097),
+ q(0100),
q(0),
],
q(430) => [
- q(0035),
+ q(0036),
q(0),
],
q(435) => [
- q(0008),
+ q(0009),
q(0),
],
q(436) => [
- q(0067),
+ q(0069),
q(0),
],
q(437) => [
- q(0079),
+ q(0081),
q(0),
],
q(438) => [
- q(0086),
+ q(0088),
q(0),
],
q(439) => [
@@ -2730,91 +2817,91 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
q(0),
],
q(440) => [
- q(0019),
+ q(0020),
q(0),
],
q(445) => [
- q(0022),
+ q(0023),
q(0),
],
q(450) => [
- q(0052),
+ q(0054),
q(0),
],
q(460) => [
- q(0157),
+ q(0162),
q(0),
],
q(470) => [
- q(0151),
+ q(0156),
q(0),
],
q(480) => [
- q(0154),
+ q(0159),
q(0),
],
q(499) => [
- q(0099),
+ q(0102),
q(0),
],
q(500) => [
- q(0045),
+ q(0046),
q(0),
],
q(501) => [
- q(0047),
+ q(0048),
q(0),
],
q(502) => [
- q(0048),
+ q(0049),
q(0),
],
q(510) => [
- q(0059),
+ q(0061),
q(0),
],
q(520) => [
- q(0140),
+ q(0145),
q(0),
],
q(550) => [
- q(0012),
+ q(0013),
q(0),
],
q(570) => [
- q(0015),
+ q(0016),
q(0),
],
q(610) => [
- q(0055),
+ q(0057),
q(0),
],
q(620) => [
- q(0117),
+ q(0121),
q(0),
],
q(755) => [
- q(0030),
+ q(0031),
q(0),
],
q(900) => [
- q(0114),
+ q(0118),
q(0),
],
q(949) => [
- q(0115),
+ q(0119),
q(0),
],
q(994) => [
- q(0158),
+ q(0163),
q(0),
],
q(995) => [
- q(0159),
+ q(0164),
q(0),
],
q(996) => [
- q(0160),
+ q(0165),
q(0),
],
},
@@ -2824,326 +2911,336 @@ $Locale::Codes::Data{'script'}{'id2code'} = {
q(alpha) => {
q(0001) => q(Afak),
q(0002) => q(Aghb),
- q(0003) => q(Arab),
- q(0004) => q(Armi),
- q(0005) => q(Armn),
- q(0006) => q(Avst),
- q(0007) => q(Bali),
- q(0008) => q(Bamu),
- q(0009) => q(Bass),
- q(0010) => q(Batk),
- q(0011) => q(Beng),
- q(0012) => q(Blis),
- q(0013) => q(Bopo),
- q(0014) => q(Brah),
- q(0015) => q(Brai),
- q(0016) => q(Bugi),
- q(0017) => q(Buhd),
- q(0018) => q(Cakm),
- q(0019) => q(Cans),
- q(0020) => q(Cari),
- q(0021) => q(Cham),
- q(0022) => q(Cher),
- q(0023) => q(Cirt),
- q(0024) => q(Copt),
- q(0025) => q(Cprt),
- q(0026) => q(Cyrl),
- q(0027) => q(Cyrs),
- q(0028) => q(Deva),
- q(0029) => q(Dsrt),
- q(0030) => q(Dupl),
- q(0031) => q(Egyd),
- q(0032) => q(Egyh),
- q(0033) => q(Egyp),
- q(0034) => q(Elba),
- q(0035) => q(Ethi),
- q(0036) => q(Geor),
- q(0037) => q(Geok),
- q(0038) => q(Glag),
- q(0039) => q(Goth),
- q(0040) => q(Gran),
- q(0041) => q(Grek),
- q(0042) => q(Gujr),
- q(0043) => q(Guru),
- q(0044) => q(Hang),
- q(0045) => q(Hani),
- q(0046) => q(Hano),
- q(0047) => q(Hans),
- q(0048) => q(Hant),
- q(0049) => q(Hebr),
- q(0050) => q(Hira),
- q(0051) => q(Hluw),
- q(0052) => q(Hmng),
- q(0053) => q(Hrkt),
- q(0054) => q(Hung),
- q(0055) => q(Inds),
- q(0056) => q(Ital),
- q(0057) => q(Java),
- q(0058) => q(Jpan),
- q(0059) => q(Jurc),
- q(0060) => q(Kali),
- q(0061) => q(Kana),
- q(0062) => q(Khar),
- q(0063) => q(Khmr),
- q(0064) => q(Khoj),
- q(0065) => q(Knda),
- q(0066) => q(Kore),
- q(0067) => q(Kpel),
- q(0068) => q(Kthi),
- q(0069) => q(Lana),
- q(0070) => q(Laoo),
- q(0071) => q(Latf),
- q(0072) => q(Latg),
- q(0073) => q(Latn),
- q(0074) => q(Lepc),
- q(0075) => q(Limb),
- q(0076) => q(Lina),
- q(0077) => q(Linb),
- q(0078) => q(Lisu),
- q(0079) => q(Loma),
- q(0080) => q(Lyci),
- q(0081) => q(Lydi),
- q(0082) => q(Mahj),
- q(0083) => q(Mand),
- q(0084) => q(Mani),
- q(0085) => q(Maya),
- q(0086) => q(Mend),
- q(0087) => q(Merc),
- q(0088) => q(Mero),
- q(0089) => q(Mlym),
- q(0090) => q(Moon),
- q(0091) => q(Mong),
- q(0092) => q(Mroo),
- q(0093) => q(Mtei),
- q(0094) => q(Mymr),
- q(0095) => q(Narb),
- q(0096) => q(Nbat),
- q(0097) => q(Nkgb),
- q(0098) => q(Nkoo),
- q(0099) => q(Nshu),
- q(0100) => q(Ogam),
- q(0101) => q(Olck),
- q(0102) => q(Orkh),
- q(0103) => q(Orya),
- q(0104) => q(Osma),
- q(0105) => q(Palm),
- q(0106) => q(Perm),
- q(0107) => q(Phag),
- q(0108) => q(Phli),
- q(0109) => q(Phlp),
- q(0110) => q(Phlv),
- q(0111) => q(Phnx),
- q(0112) => q(Plrd),
- q(0113) => q(Prti),
- q(0114) => q(Qaaa),
- q(0115) => q(Qabx),
- q(0116) => q(Rjng),
- q(0117) => q(Roro),
- q(0118) => q(Runr),
- q(0119) => q(Samr),
- q(0120) => q(Sara),
- q(0121) => q(Sarb),
- q(0122) => q(Saur),
- q(0123) => q(Sgnw),
- q(0124) => q(Shaw),
- q(0125) => q(Shrd),
- q(0126) => q(Sind),
- q(0127) => q(Sinh),
- q(0128) => q(Sora),
- q(0129) => q(Sund),
- q(0130) => q(Sylo),
- q(0131) => q(Syrc),
- q(0132) => q(Syre),
- q(0133) => q(Syrj),
- q(0134) => q(Syrn),
- q(0135) => q(Tagb),
- q(0136) => q(Takr),
- q(0137) => q(Tale),
- q(0138) => q(Talu),
- q(0139) => q(Taml),
- q(0140) => q(Tang),
- q(0141) => q(Tavt),
- q(0142) => q(Telu),
- q(0143) => q(Teng),
- q(0144) => q(Tfng),
- q(0145) => q(Tglg),
- q(0146) => q(Thaa),
- q(0147) => q(Thai),
- q(0148) => q(Tibt),
- q(0149) => q(Tirh),
- q(0150) => q(Ugar),
- q(0151) => q(Vaii),
- q(0152) => q(Visp),
- q(0153) => q(Wara),
- q(0154) => q(Wole),
- q(0155) => q(Xpeo),
- q(0156) => q(Xsux),
- q(0157) => q(Yiii),
- q(0158) => q(Zinh),
- q(0159) => q(Zmth),
- q(0160) => q(Zsym),
+ q(0003) => q(Ahom),
+ q(0004) => q(Arab),
+ q(0005) => q(Armi),
+ q(0006) => q(Armn),
+ q(0007) => q(Avst),
+ q(0008) => q(Bali),
+ q(0009) => q(Bamu),
+ q(0010) => q(Bass),
+ q(0011) => q(Batk),
+ q(0012) => q(Beng),
+ q(0013) => q(Blis),
+ q(0014) => q(Bopo),
+ q(0015) => q(Brah),
+ q(0016) => q(Brai),
+ q(0017) => q(Bugi),
+ q(0018) => q(Buhd),
+ q(0019) => q(Cakm),
+ q(0020) => q(Cans),
+ q(0021) => q(Cari),
+ q(0022) => q(Cham),
+ q(0023) => q(Cher),
+ q(0024) => q(Cirt),
+ q(0025) => q(Copt),
+ q(0026) => q(Cprt),
+ q(0027) => q(Cyrl),
+ q(0028) => q(Cyrs),
+ q(0029) => q(Deva),
+ q(0030) => q(Dsrt),
+ q(0031) => q(Dupl),
+ q(0032) => q(Egyd),
+ q(0033) => q(Egyh),
+ q(0034) => q(Egyp),
+ q(0035) => q(Elba),
+ q(0036) => q(Ethi),
+ q(0037) => q(Geor),
+ q(0038) => q(Geok),
+ q(0039) => q(Glag),
+ q(0040) => q(Goth),
+ q(0041) => q(Gran),
+ q(0042) => q(Grek),
+ q(0043) => q(Gujr),
+ q(0044) => q(Guru),
+ q(0045) => q(Hang),
+ q(0046) => q(Hani),
+ q(0047) => q(Hano),
+ q(0048) => q(Hans),
+ q(0049) => q(Hant),
+ q(0050) => q(Hatr),
+ q(0051) => q(Hebr),
+ q(0052) => q(Hira),
+ q(0053) => q(Hluw),
+ q(0054) => q(Hmng),
+ q(0055) => q(Hrkt),
+ q(0056) => q(Hung),
+ q(0057) => q(Inds),
+ q(0058) => q(Ital),
+ q(0059) => q(Java),
+ q(0060) => q(Jpan),
+ q(0061) => q(Jurc),
+ q(0062) => q(Kali),
+ q(0063) => q(Kana),
+ q(0064) => q(Khar),
+ q(0065) => q(Khmr),
+ q(0066) => q(Khoj),
+ q(0067) => q(Knda),
+ q(0068) => q(Kore),
+ q(0069) => q(Kpel),
+ q(0070) => q(Kthi),
+ q(0071) => q(Lana),
+ q(0072) => q(Laoo),
+ q(0073) => q(Latf),
+ q(0074) => q(Latg),
+ q(0075) => q(Latn),
+ q(0076) => q(Lepc),
+ q(0077) => q(Limb),
+ q(0078) => q(Lina),
+ q(0079) => q(Linb),
+ q(0080) => q(Lisu),
+ q(0081) => q(Loma),
+ q(0082) => q(Lyci),
+ q(0083) => q(Lydi),
+ q(0084) => q(Mahj),
+ q(0085) => q(Mand),
+ q(0086) => q(Mani),
+ q(0087) => q(Maya),
+ q(0088) => q(Mend),
+ q(0089) => q(Merc),
+ q(0090) => q(Mero),
+ q(0091) => q(Mlym),
+ q(0092) => q(Mult),
+ q(0093) => q(Moon),
+ q(0094) => q(Mong),
+ q(0095) => q(Mroo),
+ q(0096) => q(Mtei),
+ q(0097) => q(Mymr),
+ q(0098) => q(Narb),
+ q(0099) => q(Nbat),
+ q(0100) => q(Nkgb),
+ q(0101) => q(Nkoo),
+ q(0102) => q(Nshu),
+ q(0103) => q(Ogam),
+ q(0104) => q(Olck),
+ q(0105) => q(Orkh),
+ q(0106) => q(Orya),
+ q(0107) => q(Osma),
+ q(0108) => q(Palm),
+ q(0109) => q(Pauc),
+ q(0110) => q(Perm),
+ q(0111) => q(Phag),
+ q(0112) => q(Phli),
+ q(0113) => q(Phlp),
+ q(0114) => q(Phlv),
+ q(0115) => q(Phnx),
+ q(0116) => q(Plrd),
+ q(0117) => q(Prti),
+ q(0118) => q(Qaaa),
+ q(0119) => q(Qabx),
+ q(0120) => q(Rjng),
+ q(0121) => q(Roro),
+ q(0122) => q(Runr),
+ q(0123) => q(Samr),
+ q(0124) => q(Sara),
+ q(0125) => q(Sarb),
+ q(0126) => q(Saur),
+ q(0127) => q(Sgnw),
+ q(0128) => q(Shaw),
+ q(0129) => q(Shrd),
+ q(0130) => q(Sidd),
+ q(0131) => q(Sind),
+ q(0132) => q(Sinh),
+ q(0133) => q(Sora),
+ q(0134) => q(Sund),
+ q(0135) => q(Sylo),
+ q(0136) => q(Syrc),
+ q(0137) => q(Syre),
+ q(0138) => q(Syrj),
+ q(0139) => q(Syrn),
+ q(0140) => q(Tagb),
+ q(0141) => q(Takr),
+ q(0142) => q(Tale),
+ q(0143) => q(Talu),
+ q(0144) => q(Taml),
+ q(0145) => q(Tang),
+ q(0146) => q(Tavt),
+ q(0147) => q(Telu),
+ q(0148) => q(Teng),
+ q(0149) => q(Tfng),
+ q(0150) => q(Tglg),
+ q(0151) => q(Thaa),
+ q(0152) => q(Thai),
+ q(0153) => q(Tibt),
+ q(0154) => q(Tirh),
+ q(0155) => q(Ugar),
+ q(0156) => q(Vaii),
+ q(0157) => q(Visp),
+ q(0158) => q(Wara),
+ q(0159) => q(Wole),
+ q(0160) => q(Xpeo),
+ q(0161) => q(Xsux),
+ q(0162) => q(Yiii),
+ q(0163) => q(Zinh),
+ q(0164) => q(Zmth),
+ q(0165) => q(Zsym),
},
q(num) => {
q(0001) => q(439),
q(0002) => q(239),
- q(0003) => q(160),
- q(0004) => q(124),
- q(0005) => q(230),
- q(0006) => q(134),
- q(0007) => q(360),
- q(0008) => q(435),
- q(0009) => q(259),
- q(0010) => q(365),
- q(0011) => q(325),
- q(0012) => q(550),
- q(0013) => q(285),
- q(0014) => q(300),
- q(0015) => q(570),
- q(0016) => q(367),
- q(0017) => q(372),
- q(0018) => q(349),
- q(0019) => q(440),
- q(0020) => q(201),
- q(0021) => q(358),
- q(0022) => q(445),
- q(0023) => q(291),
- q(0024) => q(204),
- q(0025) => q(403),
- q(0026) => q(220),
- q(0027) => q(221),
- q(0028) => q(315),
- q(0029) => q(250),
- q(0030) => q(755),
- q(0031) => q(070),
- q(0032) => q(060),
- q(0033) => q(050),
- q(0034) => q(226),
- q(0035) => q(430),
- q(0036) => q(240),
- q(0037) => q(241),
- q(0038) => q(225),
- q(0039) => q(206),
- q(0040) => q(343),
- q(0041) => q(200),
- q(0042) => q(320),
- q(0043) => q(310),
- q(0044) => q(286),
- q(0045) => q(500),
- q(0046) => q(371),
- q(0047) => q(501),
- q(0048) => q(502),
- q(0049) => q(125),
- q(0050) => q(410),
- q(0051) => q(080),
- q(0052) => q(450),
- q(0053) => q(412),
- q(0054) => q(176),
- q(0055) => q(610),
- q(0056) => q(210),
- q(0057) => q(361),
- q(0058) => q(413),
- q(0059) => q(510),
- q(0060) => q(357),
- q(0061) => q(411),
- q(0062) => q(305),
- q(0063) => q(355),
- q(0064) => q(322),
- q(0065) => q(345),
- q(0066) => q(287),
- q(0067) => q(436),
- q(0068) => q(317),
- q(0069) => q(351),
- q(0070) => q(356),
- q(0071) => q(217),
- q(0072) => q(216),
- q(0073) => q(215),
- q(0074) => q(335),
- q(0075) => q(336),
- q(0076) => q(400),
- q(0077) => q(401),
- q(0078) => q(399),
- q(0079) => q(437),
- q(0080) => q(202),
- q(0081) => q(116),
- q(0082) => q(314),
- q(0083) => q(140),
- q(0084) => q(139),
- q(0085) => q(090),
- q(0086) => q(438),
- q(0087) => q(101),
- q(0088) => q(100),
- q(0089) => q(347),
- q(0090) => q(218),
- q(0091) => q(145),
- q(0092) => q(199),
- q(0093) => q(337),
- q(0094) => q(350),
- q(0095) => q(106),
- q(0096) => q(159),
- q(0097) => q(420),
- q(0098) => q(165),
- q(0099) => q(499),
- q(0100) => q(212),
- q(0101) => q(261),
- q(0102) => q(175),
- q(0103) => q(327),
- q(0104) => q(260),
- q(0105) => q(126),
- q(0106) => q(227),
- q(0107) => q(331),
- q(0108) => q(131),
- q(0109) => q(132),
- q(0110) => q(133),
- q(0111) => q(115),
- q(0112) => q(282),
- q(0113) => q(130),
- q(0114) => q(900),
- q(0115) => q(949),
- q(0116) => q(363),
- q(0117) => q(620),
- q(0118) => q(211),
- q(0119) => q(123),
- q(0120) => q(292),
- q(0121) => q(105),
- q(0122) => q(344),
- q(0123) => q(095),
- q(0124) => q(281),
- q(0125) => q(319),
- q(0126) => q(318),
- q(0127) => q(348),
- q(0128) => q(398),
- q(0129) => q(362),
- q(0130) => q(316),
- q(0131) => q(135),
- q(0132) => q(138),
- q(0133) => q(137),
- q(0134) => q(136),
- q(0135) => q(373),
- q(0136) => q(321),
- q(0137) => q(353),
- q(0138) => q(354),
- q(0139) => q(346),
- q(0140) => q(520),
- q(0141) => q(359),
- q(0142) => q(340),
- q(0143) => q(290),
- q(0144) => q(120),
- q(0145) => q(370),
- q(0146) => q(170),
- q(0147) => q(352),
- q(0148) => q(330),
- q(0149) => q(326),
- q(0150) => q(040),
- q(0151) => q(470),
- q(0152) => q(280),
- q(0153) => q(262),
- q(0154) => q(480),
- q(0155) => q(030),
- q(0156) => q(020),
- q(0157) => q(460),
- q(0158) => q(994),
- q(0159) => q(995),
- q(0160) => q(996),
+ q(0003) => q(338),
+ q(0004) => q(160),
+ q(0005) => q(124),
+ q(0006) => q(230),
+ q(0007) => q(134),
+ q(0008) => q(360),
+ q(0009) => q(435),
+ q(0010) => q(259),
+ q(0011) => q(365),
+ q(0012) => q(325),
+ q(0013) => q(550),
+ q(0014) => q(285),
+ q(0015) => q(300),
+ q(0016) => q(570),
+ q(0017) => q(367),
+ q(0018) => q(372),
+ q(0019) => q(349),
+ q(0020) => q(440),
+ q(0021) => q(201),
+ q(0022) => q(358),
+ q(0023) => q(445),
+ q(0024) => q(291),
+ q(0025) => q(204),
+ q(0026) => q(403),
+ q(0027) => q(220),
+ q(0028) => q(221),
+ q(0029) => q(315),
+ q(0030) => q(250),
+ q(0031) => q(755),
+ q(0032) => q(070),
+ q(0033) => q(060),
+ q(0034) => q(050),
+ q(0035) => q(226),
+ q(0036) => q(430),
+ q(0037) => q(240),
+ q(0038) => q(241),
+ q(0039) => q(225),
+ q(0040) => q(206),
+ q(0041) => q(343),
+ q(0042) => q(200),
+ q(0043) => q(320),
+ q(0044) => q(310),
+ q(0045) => q(286),
+ q(0046) => q(500),
+ q(0047) => q(371),
+ q(0048) => q(501),
+ q(0049) => q(502),
+ q(0050) => q(127),
+ q(0051) => q(125),
+ q(0052) => q(410),
+ q(0053) => q(080),
+ q(0054) => q(450),
+ q(0055) => q(412),
+ q(0056) => q(176),
+ q(0057) => q(610),
+ q(0058) => q(210),
+ q(0059) => q(361),
+ q(0060) => q(413),
+ q(0061) => q(510),
+ q(0062) => q(357),
+ q(0063) => q(411),
+ q(0064) => q(305),
+ q(0065) => q(355),
+ q(0066) => q(322),
+ q(0067) => q(345),
+ q(0068) => q(287),
+ q(0069) => q(436),
+ q(0070) => q(317),
+ q(0071) => q(351),
+ q(0072) => q(356),
+ q(0073) => q(217),
+ q(0074) => q(216),
+ q(0075) => q(215),
+ q(0076) => q(335),
+ q(0077) => q(336),
+ q(0078) => q(400),
+ q(0079) => q(401),
+ q(0080) => q(399),
+ q(0081) => q(437),
+ q(0082) => q(202),
+ q(0083) => q(116),
+ q(0084) => q(314),
+ q(0085) => q(140),
+ q(0086) => q(139),
+ q(0087) => q(090),
+ q(0088) => q(438),
+ q(0089) => q(101),
+ q(0090) => q(100),
+ q(0091) => q(347),
+ q(0092) => q(323),
+ q(0093) => q(218),
+ q(0094) => q(145),
+ q(0095) => q(199),
+ q(0096) => q(337),
+ q(0097) => q(350),
+ q(0098) => q(106),
+ q(0099) => q(159),
+ q(0100) => q(420),
+ q(0101) => q(165),
+ q(0102) => q(499),
+ q(0103) => q(212),
+ q(0104) => q(261),
+ q(0105) => q(175),
+ q(0106) => q(327),
+ q(0107) => q(260),
+ q(0108) => q(126),
+ q(0109) => q(263),
+ q(0110) => q(227),
+ q(0111) => q(331),
+ q(0112) => q(131),
+ q(0113) => q(132),
+ q(0114) => q(133),
+ q(0115) => q(115),
+ q(0116) => q(282),
+ q(0117) => q(130),
+ q(0118) => q(900),
+ q(0119) => q(949),
+ q(0120) => q(363),
+ q(0121) => q(620),
+ q(0122) => q(211),
+ q(0123) => q(123),
+ q(0124) => q(292),
+ q(0125) => q(105),
+ q(0126) => q(344),
+ q(0127) => q(095),
+ q(0128) => q(281),
+ q(0129) => q(319),
+ q(0130) => q(302),
+ q(0131) => q(318),
+ q(0132) => q(348),
+ q(0133) => q(398),
+ q(0134) => q(362),
+ q(0135) => q(316),
+ q(0136) => q(135),
+ q(0137) => q(138),
+ q(0138) => q(137),
+ q(0139) => q(136),
+ q(0140) => q(373),
+ q(0141) => q(321),
+ q(0142) => q(353),
+ q(0143) => q(354),
+ q(0144) => q(346),
+ q(0145) => q(520),
+ q(0146) => q(359),
+ q(0147) => q(340),
+ q(0148) => q(290),
+ q(0149) => q(120),
+ q(0150) => q(370),
+ q(0151) => q(170),
+ q(0152) => q(352),
+ q(0153) => q(330),
+ q(0154) => q(326),
+ q(0155) => q(040),
+ q(0156) => q(470),
+ q(0157) => q(280),
+ q(0158) => q(262),
+ q(0159) => q(480),
+ q(0160) => q(030),
+ q(0161) => q(020),
+ q(0162) => q(460),
+ q(0163) => q(994),
+ q(0164) => q(995),
+ q(0165) => q(996),
},
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm
index ad468488f63..f9cb4ad44ad 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm
@@ -1,36 +1,9 @@
-package Locale::Codes::Script_Retired;
+package #
+Locale::Codes::Script_Retired;
# This file was automatically generated. Any changes to this file will
# be lost the next time 'deprecate_codes' is run.
-# Generated on: Wed Feb 27 10:06:46 EST 2013
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Script_Retired - retired script codes for the Locale::Codes::Script module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::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-2013 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Generated on: Tue Mar 4 13:19:40 EST 2014
use strict;
require 5.006;
@@ -38,7 +11,7 @@ use warnings;
use utf8;
our($VERSION);
-$VERSION='3.25';
+$VERSION='3.30';
$Locale::Codes::Retired{'script'}{'alpha'}{'code'} = {
};
@@ -47,7 +20,9 @@ $Locale::Codes::Retired{'script'}{'num'}{'code'} = {
};
$Locale::Codes::Retired{'script'}{'alpha'}{'name'} = {
+ q( multani) => [ q(Mult), q( Multani) ],
q((alias for hiragana + katakana)) => [ q(Hrkt), q((alias for Hiragana + Katakana)) ],
+ q(ahom, tai ahom) => [ q(Ahom), q(Ahom, Tai Ahom) ],
q(cuneiform, sumero-akkadian) => [ q(Xsux), q(Cuneiform, Sumero-Akkadian) ],
q(deseret (mormon)) => [ q(Dsrt), q(Deseret (Mormon)) ],
q(devanagari (nagari)) => [ q(Deva), q(Devanagari (Nagari)) ],
@@ -62,7 +37,9 @@ $Locale::Codes::Retired{'script'}{'alpha'}{'name'} = {
q(lisu (fraser)) => [ q(Lisu), q(Lisu (Fraser)) ],
q(mandaic, mandaean) => [ q(Mand), q(Mandaic, Mandaean) ],
q(meitei mayek (meithei, meetei)) => [ q(Mtei), q(Meitei Mayek (Meithei, Meetei)) ],
+ q(mende) => [ q(Mend), q(Mende) ],
q(miao (pollard)) => [ q(Plrd), q(Miao (Pollard)) ],
+ q(modi, modi) => [ q(Mult), q(Modi, Modi) ],
q(moon (moon code, moon script, moon type)) => [ q(Moon), q(Moon (Moon code, Moon script, Moon type)) ],
q(mro, mru) => [ q(Mroo), q(Mro, Mru) ],
q(myanmar (burmese)) => [ q(Mymr), q(Myanmar (Burmese)) ],
@@ -73,6 +50,7 @@ $Locale::Codes::Retired{'script'}{'alpha'}{'name'} = {
q(rejang (redjang, kaganga)) => [ q(Rjng), q(Rejang (Redjang, Kaganga)) ],
q(sharada, sarada) => [ q(Shrd), q(Sharada, Sarada) ],
q(shavian (shaw)) => [ q(Shaw), q(Shavian (Shaw)) ],
+ q(siddham, siddham, siddhamatrka) => [ q(Sidd), q(Siddham, Siddham, Siddhamatrka) ],
q(sindhi) => [ q(Sind), q(Sindhi) ],
q(tagalog (baybayin, alibata)) => [ q(Tglg), q(Tagalog (Baybayin, Alibata)) ],
q(tai tham (lanna)) => [ q(Lana), q(Tai Tham (Lanna)) ],
@@ -83,6 +61,7 @@ $Locale::Codes::Retired{'script'}{'alpha'}{'name'} = {
};
$Locale::Codes::Retired{'script'}{'num'}{'name'} = {
+ q(mende) => [ q(438), q(Mende) ],
q(old hungarian) => [ q(176), q(Old Hungarian) ],
q(tiruta) => [ q(326), q(Tiruta) ],
};
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pm b/Master/tlpkg/tlperl/lib/Locale/Country.pm
index 3abc4403fde..4de16842bc8 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Country.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pm
@@ -1,7 +1,7 @@
package Locale::Country;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -10,7 +10,7 @@ use warnings;
use Exporter;
our $VERSION;
-$VERSION='3.25';
+$VERSION='3.30';
our (@ISA,@EXPORT);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pod b/Master/tlpkg/tlperl/lib/Locale/Country.pod
new file mode 100644
index 00000000000..7639f7a0f68
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pod
@@ -0,0 +1,206 @@
+=pod
+
+=head1 NAME
+
+Locale::Country - standard codes for country identification
+
+=head1 SYNOPSIS
+
+ use Locale::Country;
+
+ $country = code2country('jp' [,CODESET]); # $country gets 'Japan'
+ $code = country2code('Norway' [,CODESET]); # $code gets 'no'
+
+ @codes = all_country_codes( [CODESET]);
+ @names = all_country_names();
+
+ # semi-private routines
+ Locale::Country::alias_code('uk' => 'gb');
+ Locale::Country::rename_country('gb' => 'Great Britain');
+
+=head1 DESCRIPTION
+
+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.
+
+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.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+countries. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $country = code2country('jp','alpha-2');
+ $country = code2country('jp',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_CODE_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 3166-1, such
+as 'tv' for Tuvalu.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_CODE_ALPHA_3>
+
+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 B<numeric, LOCALE_CODE_NUMERIC>
+
+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.
+
+If a 2-digit code is entered, it is converted to 3 digits by prepending
+a 0.
+
+=item B<dom, LOCALE_CODE_DOM>
+
+The IANA is responsible for delegating management of the top level country
+domains. The country domains are the two-letter (lowercase) codes from ISO 3166
+with a few other additions.
+
+=back
+
+NOTE: As of version 3.27, the FIPS code set is no longer supported. See the
+Locale::Codes::Changes document for details.
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2country ( CODE [,CODESET] )>
+
+=item B<country2code ( NAME [,CODESET] )>
+
+=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_country_codes ( [CODESET] )>
+
+=item B<all_country_names ( [CODESET] )>
+
+=item B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Country::delete_country ( CODE [,CODESET] )>
+
+=item B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Country::delete_country_alias ( NAME )>
+
+=item B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=item B<alias_code ( ALIAS, CODE [,CODESET] )>
+
+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.
+
+The alias_code function is preserved for backwards compatibility, but
+the following two are identical:
+
+ alias_code(ALIAS,CODE [,CODESET]);
+ rename_country_code(CODE,ALIAS [,CODESET]);
+
+and the latter should be used for consistency.
+
+The alias_code function is deprecated and will be removed in the December
+2014 release.
+
+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.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<Locale::SubCountry>
+
+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://www.iso.org/iso/home/standards/country_codes.htm>
+
+Official home page for the ISO 3166 maintenance agency.
+
+=item B<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
+
+The source of ISO 3166-1 two-letter codes used by this
+module.
+
+=item B<http://www.iana.org/domains/root/db/>
+
+Official source of the top-level domain names.
+
+=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
+
+The source of the official ISO 3166-1 three-letter codes and
+three-digit codes.
+
+For some reason, this table is incomplete! Several countries are
+missing from it, and I cannot find them anywhere on the UN site. I
+no longer use this as a source of data.
+
+=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+
+The World Factbook maintained by the CIA is a potential source of
+the data. Unfortunately, it adds/preserves non-standard codes, so it is no
+longer used as a source of data.
+
+=item B<http://www.statoids.com/wab.html>
+
+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
+
+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-2014 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 339a3d947d3..0d7814c13ac 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Currency.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pm
@@ -1,7 +1,7 @@
package Locale::Currency;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -10,7 +10,7 @@ use warnings;
use Exporter;
our $VERSION;
-$VERSION='3.25';
+$VERSION='3.30';
our (@ISA,@EXPORT);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Currency.pod b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
new file mode 100644
index 00000000000..16383904fa7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
@@ -0,0 +1,127 @@
+=pod
+
+=head1 NAME
+
+Locale::Currency - standard codes for currency identification
+
+=head1 SYNOPSIS
+
+ use Locale::Currency;
+
+ $curr = code2currency('usd'); # $curr gets 'US Dollar'
+ $code = currency2code('Euro'); # $code gets 'eur'
+
+ @codes = all_currency_codes();
+ @names = all_currency_names();
+
+
+=head1 DESCRIPTION
+
+The C<Locale::Currency> module provides access to standard codes used
+for identifying currencies and funds, such as those defined in ISO 4217.
+
+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.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+currencies. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $curr = code2currency('usd','alpha');
+ $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_CURR_ALPHA>
+
+This is a set of three-letter (uppercase) codes from ISO 4217 such
+as EUR for Euro.
+
+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.
+
+This is the default code set.
+
+=item B<num, LOCALE_CURR_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 4217.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2currency ( CODE [,CODESET] )>
+
+=item B<currency2code ( NAME [,CODESET] )>
+
+=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_currency_codes ( [CODESET] )>
+
+=item B<all_currency_names ( [CODESET] )>
+
+=item B<Locale::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Currency::add_currency ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Currency::delete_currency ( CODE [,CODESET] )>
+
+=item B<Locale::Currency::add_currency_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Currency::delete_currency_alias ( NAME )>
+
+=item B<Locale::Currency::rename_currency_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
+The ISO 4217 data.
+
+=back
+
+=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 Michael Hennecke
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2014 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 660a669fb2d..ef0fe92978f 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Language.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pm
@@ -1,7 +1,7 @@
package Locale::Language;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -10,7 +10,7 @@ use warnings;
use Exporter;
our $VERSION;
-$VERSION='3.25';
+$VERSION='3.30';
our (@ISA,@EXPORT);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Language.pod b/Master/tlpkg/tlperl/lib/Locale/Language.pod
new file mode 100644
index 00000000000..9504853b0b0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pod
@@ -0,0 +1,137 @@
+=pod
+
+=head1 NAME
+
+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();
+
+=head1 DESCRIPTION
+
+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 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+languages. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lang = code2language('en','alpha-2');
+ $lang = code2language('en',LOCALE_LANG_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_LANG_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew. It also includes additions to this set included
+in the IANA language registry.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_LANG_ALPHA_3>
+
+This is the set of three-letter (lowercase) bibliographic codes from
+ISO 639-2 and 639-5, such as 'heb' for Hebrew. It also includes
+additions to this set included in the IANA language registry.
+
+=item B<term, LOCALE_LANG_TERM>
+
+This is the set of three-letter (lowercase) terminologic codes from
+ISO 639.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2language ( CODE [,CODESET] )>
+
+=item B<language2code ( NAME [,CODESET] )>
+
+=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_language_codes ( [CODESET] )>
+
+=item B<all_language_names ( [CODESET] )>
+
+=item B<Locale::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Language::add_language ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Language::delete_language ( CODE [,CODESET] )>
+
+=item B<Locale::Language::add_language_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Language::delete_language_alias ( NAME )>
+
+=item B<Locale::Language::rename_language_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Language::delete_language_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.loc.gov/standards/iso639-2/>
+
+Source of the ISO 639-2 codes.
+
+=item B<http://www.loc.gov/standards/iso639-5/>
+
+Source of the ISO 639-5 codes.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=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-2014 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 63e5fba8c23..c2bd723e91b 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
@@ -27,7 +27,7 @@ BEGIN {
}
-$VERSION = '1.23';
+$VERSION = '1.25';
@ISA = ();
$MATCH_SUPERS = 1;
@@ -194,7 +194,7 @@ 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.
+ # backup $@ in case 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 = $@;
@@ -344,7 +344,7 @@ sub _langtag_munging {
my($base_class, @languages) = @_;
# We have all these DEBUG statements because otherwise it's hard as hell
- # to diagnose ifwhen something goes wrong.
+ # to diagnose if/when something goes wrong.
DEBUG and warn 'Lgs1: ', map("<$_>", @languages), "\n";
@@ -570,6 +570,7 @@ sub _compile {
$c[-1] = ''; # reuse this slot
}
else {
+ $c[-1] =~ s/\\\\/\\/g;
push @code, ' $c[' . $#c . "],\n";
push @c, ''; # new chunk
}
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
new file mode 100644
index 00000000000..a391b291b7e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
@@ -0,0 +1,1350 @@
+
+# Time-stamp: "2004-01-11 18:35:34 AST"
+
+=head1 NAME
+
+Locale::Maketext - framework for localization
+
+=head1 SYNOPSIS
+
+ package MyProgram;
+ use strict;
+ use MyProgram::L10N;
+ # ...which inherits from Locale::Maketext
+ my $lh = MyProgram::L10N->get_handle() || die "What language?";
+ ...
+ # And then any messages your program emits, like:
+ warn $lh->maketext( "Can't open file [_1]: [_2]\n", $f, $! );
+ ...
+
+=head1 DESCRIPTION
+
+It is a common feature of applications (whether run directly,
+or via the Web) for them to be "localized" -- i.e., for them
+to a present an English interface to an English-speaker, a German
+interface to a German-speaker, and so on for all languages it's
+programmed with. Locale::Maketext
+is a framework for software localization; it provides you with the
+tools for organizing and accessing the bits of text and text-processing
+code that you need for producing localized applications.
+
+In order to make sense of Maketext and how all its
+components fit together, you should probably
+go read L<Locale::Maketext::TPJ13|Locale::Maketext::TPJ13>, and
+I<then> read the following documentation.
+
+You may also want to read over the source for C<File::Findgrep>
+and its constituent modules -- they are a complete (if small)
+example application that uses Maketext.
+
+=head1 QUICK OVERVIEW
+
+The basic design of Locale::Maketext is object-oriented, and
+Locale::Maketext is an abstract base class, from which you
+derive a "project class".
+The project class (with a name like "TkBocciBall::Localize",
+which you then use in your module) is in turn the base class
+for all the "language classes" for your project
+(with names "TkBocciBall::Localize::it",
+"TkBocciBall::Localize::en",
+"TkBocciBall::Localize::fr", etc.).
+
+A language class is
+a class containing a lexicon of phrases as class data,
+and possibly also some methods that are of use in interpreting
+phrases in the lexicon, or otherwise dealing with text in that
+language.
+
+An object belonging to a language class is called a "language
+handle"; it's typically a flyweight object.
+
+The normal course of action is to call:
+
+ use TkBocciBall::Localize; # the localization project class
+ $lh = TkBocciBall::Localize->get_handle();
+ # Depending on the user's locale, etc., this will
+ # make a language handle from among the classes available,
+ # and any defaults that you declare.
+ die "Couldn't make a language handle??" unless $lh;
+
+From then on, you use the C<maketext> function to access
+entries in whatever lexicon(s) belong to the language handle
+you got. So, this:
+
+ print $lh->maketext("You won!"), "\n";
+
+...emits the right text for this language. If the object
+in C<$lh> belongs to class "TkBocciBall::Localize::fr" and
+%TkBocciBall::Localize::fr::Lexicon contains C<("You won!"
+=E<gt> "Tu as gagnE<eacute>!")>, then the above
+code happily tells the user "Tu as gagnE<eacute>!".
+
+=head1 METHODS
+
+Locale::Maketext offers a variety of methods, which fall
+into three categories:
+
+=over
+
+=item *
+
+Methods to do with constructing language handles.
+
+=item *
+
+C<maketext> and other methods to do with accessing %Lexicon data
+for a given language handle.
+
+=item *
+
+Methods that you may find it handy to use, from routines of
+yours that you put in %Lexicon entries.
+
+=back
+
+These are covered in the following section.
+
+=head2 Construction Methods
+
+These are to do with constructing a language handle:
+
+=over
+
+=item *
+
+$lh = YourProjClass->get_handle( ...langtags... ) || die "lg-handle?";
+
+This tries loading classes based on the language-tags you give (like
+C<("en-US", "sk", "kon", "es-MX", "ja", "i-klingon")>, and for the first class
+that succeeds, returns YourProjClass::I<language>->new().
+
+If it runs thru the entire given list of language-tags, and finds no classes
+for those exact terms, it then tries "superordinate" language classes.
+So if no "en-US" class (i.e., YourProjClass::en_us)
+was found, nor classes for anything else in that list, we then try
+its superordinate, "en" (i.e., YourProjClass::en), and so on thru
+the other language-tags in the given list: "es".
+(The other language-tags in our example list:
+happen to have no superordinates.)
+
+If none of those language-tags leads to loadable classes, we then
+try classes derived from YourProjClass->fallback_languages() and
+then if nothing comes of that, we use classes named by
+YourProjClass->fallback_language_classes(). Then in the (probably
+quite unlikely) event that that fails, we just return undef.
+
+=item *
+
+$lh = YourProjClass->get_handleB<()> || die "lg-handle?";
+
+When C<get_handle> is called with an empty parameter list, magic happens:
+
+If C<get_handle> senses that it's running in program that was
+invoked as a CGI, then it tries to get language-tags out of the
+environment variable "HTTP_ACCEPT_LANGUAGE", and it pretends that
+those were the languages passed as parameters to C<get_handle>.
+
+Otherwise (i.e., if not a CGI), this tries various OS-specific ways
+to get the language-tags for the current locale/language, and then
+pretends that those were the value(s) passed to C<get_handle>.
+
+Currently this OS-specific stuff consists of looking in the environment
+variables "LANG" and "LANGUAGE"; and on MSWin machines (where those
+variables are typically unused), this also tries using
+the module Win32::Locale to get a language-tag for whatever language/locale
+is currently selected in the "Regional Settings" (or "International"?)
+Control Panel. I welcome further
+suggestions for making this do the Right Thing under other operating
+systems that support localization.
+
+If you're using localization in an application that keeps a configuration
+file, you might consider something like this in your project class:
+
+ sub get_handle_via_config {
+ my $class = $_[0];
+ my $chosen_language = $Config_settings{'language'};
+ my $lh;
+ if($chosen_language) {
+ $lh = $class->get_handle($chosen_language)
+ || die "No language handle for \"$chosen_language\""
+ . " or the like";
+ } else {
+ # Config file missing, maybe?
+ $lh = $class->get_handle()
+ || die "Can't get a language handle";
+ }
+ return $lh;
+ }
+
+=item *
+
+$lh = YourProjClass::langname->new();
+
+This constructs a language handle. You usually B<don't> call this
+directly, but instead let C<get_handle> find a language class to C<use>
+and to then call ->new on.
+
+=item *
+
+$lh->init();
+
+This is called by ->new to initialize newly-constructed language handles.
+If you define an init method in your class, remember that it's usually
+considered a good idea to call $lh->SUPER::init in it (presumably at the
+beginning), so that all classes get a chance to initialize a new object
+however they see fit.
+
+=item *
+
+YourProjClass->fallback_languages()
+
+C<get_handle> appends the return value of this to the end of
+whatever list of languages you pass C<get_handle>. Unless
+you override this method, your project class
+will inherit Locale::Maketext's C<fallback_languages>, which
+currently returns C<('i-default', 'en', 'en-US')>.
+("i-default" is defined in RFC 2277).
+
+This method (by having it return the name
+of a language-tag that has an existing language class)
+can be used for making sure that
+C<get_handle> will always manage to construct a language
+handle (assuming your language classes are in an appropriate
+@INC directory). Or you can use the next method:
+
+=item *
+
+YourProjClass->fallback_language_classes()
+
+C<get_handle> appends the return value of this to the end
+of the list of classes it will try using. Unless
+you override this method, your project class
+will inherit Locale::Maketext's C<fallback_language_classes>,
+which currently returns an empty list, C<()>.
+By setting this to some value (namely, the name of a loadable
+language class), you can be sure that
+C<get_handle> will always manage to construct a language
+handle.
+
+=back
+
+=head2 The "maketext" Method
+
+This is the most important method in Locale::Maketext:
+
+ $text = $lh->maketext(I<key>, ...parameters for this phrase...);
+
+This looks in the %Lexicon of the language handle
+$lh and all its superclasses, looking
+for an entry whose key is the string I<key>. Assuming such
+an entry is found, various things then happen, depending on the
+value found:
+
+If the value is a scalarref, the scalar is dereferenced and returned
+(and any parameters are ignored).
+
+If the value is a coderef, we return &$value($lh, ...parameters...).
+
+If the value is a string that I<doesn't> look like it's in Bracket Notation,
+we return it (after replacing it with a scalarref, in its %Lexicon).
+
+If the value I<does> look like it's in Bracket Notation, then we compile
+it into a sub, replace the string in the %Lexicon with the new coderef,
+and then we return &$new_sub($lh, ...parameters...).
+
+Bracket Notation is discussed in a later section. Note
+that trying to compile a string into Bracket Notation can throw
+an exception if the string is not syntactically valid (say, by not
+balancing brackets right.)
+
+Also, calling &$coderef($lh, ...parameters...) can throw any sort of
+exception (if, say, code in that sub tries to divide by zero). But
+a very common exception occurs when you have Bracket
+Notation text that says to call a method "foo", but there is no such
+method. (E.g., "You have [quaB<tn>,_1,ball]." will throw an exception
+on trying to call $lh->quaB<tn>($_[1],'ball') -- you presumably meant
+"quant".) C<maketext> catches these exceptions, but only to make the
+error message more readable, at which point it rethrows the exception.
+
+An exception I<may> be thrown if I<key> is not found in any
+of $lh's %Lexicon hashes. What happens if a key is not found,
+is discussed in a later section, "Controlling Lookup Failure".
+
+Note that you might find it useful in some cases to override
+the C<maketext> method with an "after method", if you want to
+translate encodings, or even scripts:
+
+ package YrProj::zh_cn; # Chinese with PRC-style glyphs
+ use base ('YrProj::zh_tw'); # Taiwan-style
+ sub maketext {
+ my $self = shift(@_);
+ my $value = $self->maketext(@_);
+ return Chineeze::taiwan2mainland($value);
+ }
+
+Or you may want to override it with something that traps
+any exceptions, if that's critical to your program:
+
+ sub maketext {
+ my($lh, @stuff) = @_;
+ my $out;
+ eval { $out = $lh->SUPER::maketext(@stuff) };
+ return $out unless $@;
+ ...otherwise deal with the exception...
+ }
+
+Other than those two situations, I don't imagine that
+it's useful to override the C<maketext> method. (If
+you run into a situation where it is useful, I'd be
+interested in hearing about it.)
+
+=over
+
+=item $lh->fail_with I<or> $lh->fail_with(I<PARAM>)
+
+=item $lh->failure_handler_auto
+
+These two methods are discussed in the section "Controlling
+Lookup Failure".
+
+=back
+
+=head2 Utility Methods
+
+These are methods that you may find it handy to use, generally
+from %Lexicon routines of yours (whether expressed as
+Bracket Notation or not).
+
+=over
+
+=item $language->quant($number, $singular)
+
+=item $language->quant($number, $singular, $plural)
+
+=item $language->quant($number, $singular, $plural, $negative)
+
+This is generally meant to be called from inside Bracket Notation
+(which is discussed later), as in
+
+ "Your search matched [quant,_1,document]!"
+
+It's for I<quantifying> a noun (i.e., saying how much of it there is,
+while giving the correct form of it). The behavior of this method is
+handy for English and a few other Western European languages, and you
+should override it for languages where it's not suitable. You can feel
+free to read the source, but the current implementation is basically
+as this pseudocode describes:
+
+ if $number is 0 and there's a $negative,
+ return $negative;
+ elsif $number is 1,
+ return "1 $singular";
+ elsif there's a $plural,
+ return "$number $plural";
+ else
+ return "$number " . $singular . "s";
+ #
+ # ...except that we actually call numf to
+ # stringify $number before returning it.
+
+So for English (with Bracket Notation)
+C<"...[quant,_1,file]..."> is fine (for 0 it returns "0 files",
+for 1 it returns "1 file", and for more it returns "2 files", etc.)
+
+But for "directory", you'd want C<"[quant,_1,directory,directories]">
+so that our elementary C<quant> method doesn't think that the
+plural of "directory" is "directorys". And you might find that the
+output may sound better if you specify a negative form, as in:
+
+ "[quant,_1,file,files,No files] matched your query.\n"
+
+Remember to keep in mind verb agreement (or adjectives too, in
+other languages), as in:
+
+ "[quant,_1,document] were matched.\n"
+
+Because if _1 is one, you get "1 document B<were> matched".
+An acceptable hack here is to do something like this:
+
+ "[quant,_1,document was, documents were] matched.\n"
+
+=item $language->numf($number)
+
+This returns the given number formatted nicely according to
+this language's conventions. Maketext's default method is
+mostly to just take the normal string form of the number
+(applying sprintf "%G" for only very large numbers), and then
+to add commas as necessary. (Except that
+we apply C<tr/,./.,/> if $language->{'numf_comma'} is true;
+that's a bit of a hack that's useful for languages that express
+two million as "2.000.000" and not as "2,000,000").
+
+If you want anything fancier, consider overriding this with something
+that uses L<Number::Format|Number::Format>, or does something else
+entirely.
+
+Note that numf is called by quant for stringifying all quantifying
+numbers.
+
+=item $language->numerate($number, $singular, $plural, $negative)
+
+This returns the given noun form which is appropriate for the quantity
+C<$number> according to this language's conventions. C<numerate> is
+used internally by C<quant> to quantify nouns. Use it directly --
+usually from bracket notation -- to avoid C<quant>'s implicit call to
+C<numf> and output of a numeric quantity.
+
+=item $language->sprintf($format, @items)
+
+This is just a wrapper around Perl's normal C<sprintf> function.
+It's provided so that you can use "sprintf" in Bracket Notation:
+
+ "Couldn't access datanode [sprintf,%10x=~[%s~],_1,_2]!\n"
+
+returning...
+
+ Couldn't access datanode Stuff=[thangamabob]!
+
+=item $language->language_tag()
+
+Currently this just takes the last bit of C<ref($language)>, turns
+underscores to dashes, and returns it. So if $language is
+an object of class Hee::HOO::Haw::en_us, $language->language_tag()
+returns "en-us". (Yes, the usual representation for that language
+tag is "en-US", but case is I<never> considered meaningful in
+language-tag comparison.)
+
+You may override this as you like; Maketext doesn't use it for
+anything.
+
+=item $language->encoding()
+
+Currently this isn't used for anything, but it's provided
+(with default value of
+C<(ref($language) && $language-E<gt>{'encoding'})) or "iso-8859-1">
+) as a sort of suggestion that it may be useful/necessary to
+associate encodings with your language handles (whether on a
+per-class or even per-handle basis.)
+
+=back
+
+=head2 Language Handle Attributes and Internals
+
+A language handle is a flyweight object -- i.e., it doesn't (necessarily)
+carry any data of interest, other than just being a member of
+whatever class it belongs to.
+
+A language handle is implemented as a blessed hash. Subclasses of yours
+can store whatever data you want in the hash. Currently the only hash
+entry used by any crucial Maketext method is "fail", so feel free to
+use anything else as you like.
+
+B<Remember: Don't be afraid to read the Maketext source if there's
+any point on which this documentation is unclear.> This documentation
+is vastly longer than the module source itself.
+
+=head1 LANGUAGE CLASS HIERARCHIES
+
+These are Locale::Maketext's assumptions about the class
+hierarchy formed by all your language classes:
+
+=over
+
+=item *
+
+You must have a project base class, which you load, and
+which you then use as the first argument in
+the call to YourProjClass->get_handle(...). It should derive
+(whether directly or indirectly) from Locale::Maketext.
+It B<doesn't matter> how you name this class, although assuming this
+is the localization component of your Super Mega Program,
+good names for your project class might be
+SuperMegaProgram::Localization, SuperMegaProgram::L10N,
+SuperMegaProgram::I18N, SuperMegaProgram::International,
+or even SuperMegaProgram::Languages or SuperMegaProgram::Messages.
+
+=item *
+
+Language classes are what YourProjClass->get_handle will try to load.
+It will look for them by taking each language-tag (B<skipping> it
+if it doesn't look like a language-tag or locale-tag!), turning it to
+all lowercase, turning dashes to underscores, and appending it
+to YourProjClass . "::". So this:
+
+ $lh = YourProjClass->get_handle(
+ 'en-US', 'fr', 'kon', 'i-klingon', 'i-klingon-romanized'
+ );
+
+will try loading the classes
+YourProjClass::en_us (note lowercase!), YourProjClass::fr,
+YourProjClass::kon,
+YourProjClass::i_klingon
+and YourProjClass::i_klingon_romanized. (And it'll stop at the
+first one that actually loads.)
+
+=item *
+
+I assume that each language class derives (directly or indirectly)
+from your project class, and also defines its @ISA, its %Lexicon,
+or both. But I anticipate no dire consequences if these assumptions
+do not hold.
+
+=item *
+
+Language classes may derive from other language classes (although they
+should have "use I<Thatclassname>" or "use base qw(I<...classes...>)").
+They may derive from the project
+class. They may derive from some other class altogether. Or via
+multiple inheritance, it may derive from any mixture of these.
+
+=item *
+
+I foresee no problems with having multiple inheritance in
+your hierarchy of language classes. (As usual, however, Perl will
+complain bitterly if you have a cycle in the hierarchy: i.e., if
+any class is its own ancestor.)
+
+=back
+
+=head1 ENTRIES IN EACH LEXICON
+
+A typical %Lexicon entry is meant to signify a phrase,
+taking some number (0 or more) of parameters. An entry
+is meant to be accessed by via
+a string I<key> in $lh->maketext(I<key>, ...parameters...),
+which should return a string that is generally meant for
+be used for "output" to the user -- regardless of whether
+this actually means printing to STDOUT, writing to a file,
+or putting into a GUI widget.
+
+While the key must be a string value (since that's a basic
+restriction that Perl places on hash keys), the value in
+the lexicon can currently be of several types:
+a defined scalar, scalarref, or coderef. The use of these is
+explained above, in the section 'The "maketext" Method', and
+Bracket Notation for strings is discussed in the next section.
+
+While you can use arbitrary unique IDs for lexicon keys
+(like "_min_larger_max_error"), it is often
+useful for if an entry's key is itself a valid value, like
+this example error message:
+
+ "Minimum ([_1]) is larger than maximum ([_2])!\n",
+
+Compare this code that uses an arbitrary ID...
+
+ die $lh->maketext( "_min_larger_max_error", $min, $max )
+ if $min > $max;
+
+...to this code that uses a key-as-value:
+
+ die $lh->maketext(
+ "Minimum ([_1]) is larger than maximum ([_2])!\n",
+ $min, $max
+ ) if $min > $max;
+
+The second is, in short, more readable. In particular, it's obvious
+that the number of parameters you're feeding to that phrase (two) is
+the number of parameters that it I<wants> to be fed. (Since you see
+_1 and a _2 being used in the key there.)
+
+Also, once a project is otherwise
+complete and you start to localize it, you can scrape together
+all the various keys you use, and pass it to a translator; and then
+the translator's work will go faster if what he's presented is this:
+
+ "Minimum ([_1]) is larger than maximum ([_2])!\n",
+ => "", # fill in something here, Jacques!
+
+rather than this more cryptic mess:
+
+ "_min_larger_max_error"
+ => "", # fill in something here, Jacques
+
+I think that keys as lexicon values makes the completed lexicon
+entries more readable:
+
+ "Minimum ([_1]) is larger than maximum ([_2])!\n",
+ => "Le minimum ([_1]) est plus grand que le maximum ([_2])!\n",
+
+Also, having valid values as keys becomes very useful if you set
+up an _AUTO lexicon. _AUTO lexicons are discussed in a later
+section.
+
+I almost always use keys that are themselves
+valid lexicon values. One notable exception is when the value is
+quite long. For example, to get the screenful of data that
+a command-line program might return when given an unknown switch,
+I often just use a brief, self-explanatory key such as "_USAGE_MESSAGE". At that point I then go
+and immediately to define that lexicon entry in the
+ProjectClass::L10N::en lexicon (since English is always my "project
+language"):
+
+ '_USAGE_MESSAGE' => <<'EOSTUFF',
+ ...long long message...
+ EOSTUFF
+
+and then I can use it as:
+
+ getopt('oDI', \%opts) or die $lh->maketext('_USAGE_MESSAGE');
+
+Incidentally,
+note that each class's C<%Lexicon> inherits-and-extends
+the lexicons in its superclasses. This is not because these are
+special hashes I<per se>, but because you access them via the
+C<maketext> method, which looks for entries across all the
+C<%Lexicon> hashes in a language class I<and> all its ancestor classes.
+(This is because the idea of "class data" isn't directly implemented
+in Perl, but is instead left to individual class-systems to implement
+as they see fit..)
+
+Note that you may have things stored in a lexicon
+besides just phrases for output: for example, if your program
+takes input from the keyboard, asking a "(Y/N)" question,
+you probably need to know what the equivalent of "Y[es]/N[o]" is
+in whatever language. You probably also need to know what
+the equivalents of the answers "y" and "n" are. You can
+store that information in the lexicon (say, under the keys
+"~answer_y" and "~answer_n", and the long forms as
+"~answer_yes" and "~answer_no", where "~" is just an ad-hoc
+character meant to indicate to programmers/translators that
+these are not phrases for output).
+
+Or instead of storing this in the language class's lexicon,
+you can (and, in some cases, really should) represent the same bit
+of knowledge as code in a method in the language class. (That
+leaves a tidy distinction between the lexicon as the things we
+know how to I<say>, and the rest of the things in the lexicon class
+as things that we know how to I<do>.) Consider
+this example of a processor for responses to French "oui/non"
+questions:
+
+ sub y_or_n {
+ return undef unless defined $_[1] and length $_[1];
+ my $answer = lc $_[1]; # smash case
+ return 1 if $answer eq 'o' or $answer eq 'oui';
+ return 0 if $answer eq 'n' or $answer eq 'non';
+ return undef;
+ }
+
+...which you'd then call in a construct like this:
+
+ my $response;
+ until(defined $response) {
+ print $lh->maketext("Open the pod bay door (y/n)? ");
+ $response = $lh->y_or_n( get_input_from_keyboard_somehow() );
+ }
+ if($response) { $pod_bay_door->open() }
+ else { $pod_bay_door->leave_closed() }
+
+Other data worth storing in a lexicon might be things like
+filenames for language-targetted resources:
+
+ ...
+ "_main_splash_png"
+ => "/styles/en_us/main_splash.png",
+ "_main_splash_imagemap"
+ => "/styles/en_us/main_splash.incl",
+ "_general_graphics_path"
+ => "/styles/en_us/",
+ "_alert_sound"
+ => "/styles/en_us/hey_there.wav",
+ "_forward_icon"
+ => "left_arrow.png",
+ "_backward_icon"
+ => "right_arrow.png",
+ # In some other languages, left equals
+ # BACKwards, and right is FOREwards.
+ ...
+
+You might want to do the same thing for expressing key bindings
+or the like (since hardwiring "q" as the binding for the function
+that quits a screen/menu/program is useful only if your language
+happens to associate "q" with "quit"!)
+
+=head1 BRACKET NOTATION
+
+Bracket Notation is a crucial feature of Locale::Maketext. I mean
+Bracket Notation to provide a replacement for the use of sprintf formatting.
+Everything you do with Bracket Notation could be done with a sub block,
+but bracket notation is meant to be much more concise.
+
+Bracket Notation is a like a miniature "template" system (in the sense
+of L<Text::Template|Text::Template>, not in the sense of C++ templates),
+where normal text is passed thru basically as is, but text in special
+regions is specially interpreted. In Bracket Notation, you use square brackets ("[...]"),
+not curly braces ("{...}") to note sections that are specially interpreted.
+
+For example, here all the areas that are taken literally are underlined with
+a "^", and all the in-bracket special regions are underlined with an X:
+
+ "Minimum ([_1]) is larger than maximum ([_2])!\n",
+ ^^^^^^^^^ XX ^^^^^^^^^^^^^^^^^^^^^^^^^^ XX ^^^^
+
+When that string is compiled from bracket notation into a real Perl sub,
+it's basically turned into:
+
+ sub {
+ my $lh = $_[0];
+ my @params = @_;
+ return join '',
+ "Minimum (",
+ ...some code here...
+ ") is larger than maximum (",
+ ...some code here...
+ ")!\n",
+ }
+ # to be called by $lh->maketext(KEY, params...)
+
+In other words, text outside bracket groups is turned into string
+literals. Text in brackets is rather more complex, and currently follows
+these rules:
+
+=over
+
+=item *
+
+Bracket groups that are empty, or which consist only of whitespace,
+are ignored. (Examples: "[]", "[ ]", or a [ and a ] with returns
+and/or tabs and/or spaces between them.
+
+Otherwise, each group is taken to be a comma-separated group of items,
+and each item is interpreted as follows:
+
+=item *
+
+An item that is "_I<digits>" or "_-I<digits>" is interpreted as
+$_[I<value>]. I.e., "_1" becomes with $_[1], and "_-3" is interpreted
+as $_[-3] (in which case @_ should have at least three elements in it).
+Note that $_[0] is the language handle, and is typically not named
+directly.
+
+=item *
+
+An item "_*" is interpreted to mean "all of @_ except $_[0]".
+I.e., C<@_[1..$#_]>. Note that this is an empty list in the case
+of calls like $lh->maketext(I<key>) where there are no
+parameters (except $_[0], the language handle).
+
+=item *
+
+Otherwise, each item is interpreted as a string literal.
+
+=back
+
+The group as a whole is interpreted as follows:
+
+=over
+
+=item *
+
+If the first item in a bracket group looks like a method name,
+then that group is interpreted like this:
+
+ $lh->that_method_name(
+ ...rest of items in this group...
+ ),
+
+=item *
+
+If the first item in a bracket group is "*", it's taken as shorthand
+for the so commonly called "quant" method. Similarly, if the first
+item in a bracket group is "#", it's taken to be shorthand for
+"numf".
+
+=item *
+
+If the first item in a bracket group is the empty-string, or "_*"
+or "_I<digits>" or "_-I<digits>", then that group is interpreted
+as just the interpolation of all its items:
+
+ join('',
+ ...rest of items in this group...
+ ),
+
+Examples: "[_1]" and "[,_1]", which are synonymous; and
+"C<[,ID-(,_4,-,_2,)]>", which compiles as
+C<join "", "ID-(", $_[4], "-", $_[2], ")">.
+
+=item *
+
+Otherwise this bracket group is invalid. For example, in the group
+"[!@#,whatever]", the first item C<"!@#"> is neither the empty-string,
+"_I<number>", "_-I<number>", "_*", nor a valid method name; and so
+Locale::Maketext will throw an exception of you try compiling an
+expression containing this bracket group.
+
+=back
+
+Note, incidentally, that items in each group are comma-separated,
+not C</\s*,\s*/>-separated. That is, you might expect that this
+bracket group:
+
+ "Hoohah [foo, _1 , bar ,baz]!"
+
+would compile to this:
+
+ sub {
+ my $lh = $_[0];
+ return join '',
+ "Hoohah ",
+ $lh->foo( $_[1], "bar", "baz"),
+ "!",
+ }
+
+But it actually compiles as this:
+
+ sub {
+ my $lh = $_[0];
+ return join '',
+ "Hoohah ",
+ $lh->foo(" _1 ", " bar ", "baz"), # note the <space> in " bar "
+ "!",
+ }
+
+In the notation discussed so far, the characters "[" and "]" are given
+special meaning, for opening and closing bracket groups, and "," has
+a special meaning inside bracket groups, where it separates items in the
+group. This begs the question of how you'd express a literal "[" or
+"]" in a Bracket Notation string, and how you'd express a literal
+comma inside a bracket group. For this purpose I've adopted "~" (tilde)
+as an escape character: "~[" means a literal '[' character anywhere
+in Bracket Notation (i.e., regardless of whether you're in a bracket
+group or not), and ditto for "~]" meaning a literal ']', and "~," meaning
+a literal comma. (Altho "," means a literal comma outside of
+bracket groups -- it's only inside bracket groups that commas are special.)
+
+And on the off chance you need a literal tilde in a bracket expression,
+you get it with "~~".
+
+Currently, an unescaped "~" before a character
+other than a bracket or a comma is taken to mean just a "~" and that
+character. I.e., "~X" means the same as "~~X" -- i.e., one literal tilde,
+and then one literal "X". However, by using "~X", you are assuming that
+no future version of Maketext will use "~X" as a magic escape sequence.
+In practice this is not a great problem, since first off you can just
+write "~~X" and not worry about it; second off, I doubt I'll add lots
+of new magic characters to bracket notation; and third off, you
+aren't likely to want literal "~" characters in your messages anyway,
+since it's not a character with wide use in natural language text.
+
+Brackets must be balanced -- every openbracket must have
+one matching closebracket, and vice versa. So these are all B<invalid>:
+
+ "I ate [quant,_1,rhubarb pie."
+ "I ate [quant,_1,rhubarb pie[."
+ "I ate quant,_1,rhubarb pie]."
+ "I ate quant,_1,rhubarb pie[."
+
+Currently, bracket groups do not nest. That is, you B<cannot> say:
+
+ "Foo [bar,baz,[quux,quuux]]\n";
+
+If you need a notation that's that powerful, use normal Perl:
+
+ %Lexicon = (
+ ...
+ "some_key" => sub {
+ my $lh = $_[0];
+ join '',
+ "Foo ",
+ $lh->bar('baz', $lh->quux('quuux')),
+ "\n",
+ },
+ ...
+ );
+
+Or write the "bar" method so you don't need to pass it the
+output from calling quux.
+
+I do not anticipate that you will need (or particularly want)
+to nest bracket groups, but you are welcome to email me with
+convincing (real-life) arguments to the contrary.
+
+=head1 AUTO LEXICONS
+
+If maketext goes to look in an individual %Lexicon for an entry
+for I<key> (where I<key> does not start with an underscore), and
+sees none, B<but does see> an entry of "_AUTO" => I<some_true_value>,
+then we actually define $Lexicon{I<key>} = I<key> right then and there,
+and then use that value as if it had been there all
+along. This happens before we even look in any superclass %Lexicons!
+
+(This is meant to be somewhat like the AUTOLOAD mechanism in
+Perl's function call system -- or, looked at another way,
+like the L<AutoLoader|AutoLoader> module.)
+
+I can picture all sorts of circumstances where you just
+do not want lookup to be able to fail (since failing
+normally means that maketext throws a C<die>, although
+see the next section for greater control over that). But
+here's one circumstance where _AUTO lexicons are meant to
+be I<especially> useful:
+
+As you're writing an application, you decide as you go what messages
+you need to emit. Normally you'd go to write this:
+
+ if(-e $filename) {
+ go_process_file($filename)
+ } else {
+ print qq{Couldn't find file "$filename"!\n};
+ }
+
+but since you anticipate localizing this, you write:
+
+ use ThisProject::I18N;
+ my $lh = ThisProject::I18N->get_handle();
+ # For the moment, assume that things are set up so
+ # that we load class ThisProject::I18N::en
+ # and that that's the class that $lh belongs to.
+ ...
+ if(-e $filename) {
+ go_process_file($filename)
+ } else {
+ print $lh->maketext(
+ qq{Couldn't find file "[_1]"!\n}, $filename
+ );
+ }
+
+Now, right after you've just written the above lines, you'd
+normally have to go open the file
+ThisProject/I18N/en.pm, and immediately add an entry:
+
+ "Couldn't find file \"[_1]\"!\n"
+ => "Couldn't find file \"[_1]\"!\n",
+
+But I consider that somewhat of a distraction from the work
+of getting the main code working -- to say nothing of the fact
+that I often have to play with the program a few times before
+I can decide exactly what wording I want in the messages (which
+in this case would require me to go changing three lines of code:
+the call to maketext with that key, and then the two lines in
+ThisProject/I18N/en.pm).
+
+However, if you set "_AUTO => 1" in the %Lexicon in,
+ThisProject/I18N/en.pm (assuming that English (en) is
+the language that all your programmers will be using for this
+project's internal message keys), then you don't ever have to
+go adding lines like this
+
+ "Couldn't find file \"[_1]\"!\n"
+ => "Couldn't find file \"[_1]\"!\n",
+
+to ThisProject/I18N/en.pm, because if _AUTO is true there,
+then just looking for an entry with the key "Couldn't find
+file \"[_1]\"!\n" in that lexicon will cause it to be added,
+with that value!
+
+Note that the reason that keys that start with "_"
+are immune to _AUTO isn't anything generally magical about
+the underscore character -- I just wanted a way to have most
+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...),
+and there's no entry I<key> in $lh's class's %Lexicon, nor
+in the superclass %Lexicon hash, I<and> if we can't auto-make
+I<key> (because either it starts with a "_", or because none
+of its lexicons have C<_AUTO =E<gt> 1,>), then we have
+failed to find a normal way to maketext I<key>. What then
+happens in these failure conditions, depends on the $lh object's
+"fail" attribute.
+
+If the language handle has no "fail" attribute, maketext
+will simply throw an exception (i.e., it calls C<die>, mentioning
+the I<key> whose lookup failed, and naming the line number where
+the calling $lh->maketext(I<key>,...) was.
+
+If the language handle has a "fail" attribute whose value is a
+coderef, then $lh->maketext(I<key>,...params...) gives up and calls:
+
+ return $that_subref->($lh, $key, @params);
+
+Otherwise, the "fail" attribute's value should be a string denoting
+a method name, so that $lh->maketext(I<key>,...params...) can
+give up with:
+
+ return $lh->$that_method_name($phrase, @params);
+
+The "fail" attribute can be accessed with the C<fail_with> method:
+
+ # Set to a coderef:
+ $lh->fail_with( \&failure_handler );
+
+ # Set to a method name:
+ $lh->fail_with( 'failure_method' );
+
+ # Set to nothing (i.e., so failure throws a plain exception)
+ $lh->fail_with( undef );
+
+ # Get the current value
+ $handler = $lh->fail_with();
+
+Now, as to what you may want to do with these handlers: Maybe you'd
+want to log what key failed for what class, and then die. Maybe
+you don't like C<die> and instead you want to send the error message
+to STDOUT (or wherever) and then merely C<exit()>.
+
+Or maybe you don't want to C<die> at all! Maybe you could use a
+handler like this:
+
+ # Make all lookups fall back onto an English value,
+ # but only after we log it for later fingerpointing.
+ my $lh_backup = ThisProject->get_handle('en');
+ open(LEX_FAIL_LOG, ">>wherever/lex.log") || die "GNAARGH $!";
+ sub lex_fail {
+ my($failing_lh, $key, $params) = @_;
+ print LEX_FAIL_LOG scalar(localtime), "\t",
+ ref($failing_lh), "\t", $key, "\n";
+ return $lh_backup->maketext($key,@params);
+ }
+
+Some users have expressed that they think this whole mechanism of
+having a "fail" attribute at all, seems a rather pointless complication.
+But I want Locale::Maketext to be usable for software projects of I<any>
+scale and type; and different software projects have different ideas
+of what the right thing is to do in failure conditions. I could simply
+say that failure always throws an exception, and that if you want to be
+careful, you'll just have to wrap every call to $lh->maketext in an
+S<eval { }>. However, I want programmers to reserve the right (via
+the "fail" attribute) to treat lookup failure as something other than
+an exception of the same level of severity as a config file being
+unreadable, or some essential resource being inaccessible.
+
+One possibly useful value for the "fail" attribute is the method name
+"failure_handler_auto". This is a method defined in the class
+Locale::Maketext itself. You set it with:
+
+ $lh->fail_with('failure_handler_auto');
+
+Then when you call $lh->maketext(I<key>, ...parameters...) and
+there's no I<key> in any of those lexicons, maketext gives up with
+
+ return $lh->failure_handler_auto($key, @params);
+
+But failure_handler_auto, instead of dying or anything, compiles
+$key, caching it in
+
+ $lh->{'failure_lex'}{$key} = $compiled
+
+and then calls the compiled value, and returns that. (I.e., if
+$key looks like bracket notation, $compiled is a sub, and we return
+&{$compiled}(@params); but if $key is just a plain string, we just
+return that.)
+
+The effect of using "failure_auto_handler"
+is like an AUTO lexicon, except that it 1) compiles $key even if
+it starts with "_", and 2) you have a record in the new hashref
+$lh->{'failure_lex'} of all the keys that have failed for
+this object. This should avoid your program dying -- as long
+as your keys aren't actually invalid as bracket code, and as
+long as they don't try calling methods that don't exist.
+
+"failure_auto_handler" may not be exactly what you want, but I
+hope it at least shows you that maketext failure can be mitigated
+in any number of very flexible ways. If you can formalize exactly
+what you want, you should be able to express that as a failure
+handler. You can even make it default for every object of a given
+class, by setting it in that class's init:
+
+ sub init {
+ my $lh = $_[0]; # a newborn handle
+ $lh->SUPER::init();
+ $lh->fail_with('my_clever_failure_handler');
+ return;
+ }
+ sub my_clever_failure_handler {
+ ...you clever things here...
+ }
+
+=head1 HOW TO USE MAKETEXT
+
+Here is a brief checklist on how to use Maketext to localize
+applications:
+
+=over
+
+=item *
+
+Decide what system you'll use for lexicon keys. If you insist,
+you can use opaque IDs (if you're nostalgic for C<catgets>),
+but I have better suggestions in the
+section "Entries in Each Lexicon", above. Assuming you opt for
+meaningful keys that double as values (like "Minimum ([_1]) is
+larger than maximum ([_2])!\n"), you'll have to settle on what
+language those should be in. For the sake of argument, I'll
+call this English, specifically American English, "en-US".
+
+=item *
+
+Create a class for your localization project. This is
+the name of the class that you'll use in the idiom:
+
+ use Projname::L10N;
+ my $lh = Projname::L10N->get_handle(...) || die "Language?";
+
+Assuming you call your class Projname::L10N, create a class
+consisting minimally of:
+
+ package Projname::L10N;
+ use base qw(Locale::Maketext);
+ ...any methods you might want all your languages to share...
+
+ # And, assuming you want the base class to be an _AUTO lexicon,
+ # as is discussed a few sections up:
+
+ 1;
+
+=item *
+
+Create a class for the language your internal keys are in. Name
+the class after the language-tag for that language, in lowercase,
+with dashes changed to underscores. Assuming your project's first
+language is US English, you should call this Projname::L10N::en_us.
+It should consist minimally of:
+
+ package Projname::L10N::en_us;
+ use base qw(Projname::L10N);
+ %Lexicon = (
+ '_AUTO' => 1,
+ );
+ 1;
+
+(For the rest of this section, I'll assume that this "first
+language class" of Projname::L10N::en_us has
+_AUTO lexicon.)
+
+=item *
+
+Go and write your program. Everywhere in your program where
+you would say:
+
+ print "Foobar $thing stuff\n";
+
+instead do it thru maketext, using no variable interpolation in
+the key:
+
+ print $lh->maketext("Foobar [_1] stuff\n", $thing);
+
+If you get tired of constantly saying C<print $lh-E<gt>maketext>,
+consider making a functional wrapper for it, like so:
+
+ use Projname::L10N;
+ use vars qw($lh);
+ $lh = Projname::L10N->get_handle(...) || die "Language?";
+ sub pmt (@) { print( $lh->maketext(@_)) }
+ # "pmt" is short for "Print MakeText"
+ $Carp::Verbose = 1;
+ # so if maketext fails, we see made the call to pmt
+
+Besides whole phrases meant for output, anything language-dependent
+should be put into the class Projname::L10N::en_us,
+whether as methods, or as lexicon entries -- this is discussed
+in the section "Entries in Each Lexicon", above.
+
+=item *
+
+Once the program is otherwise done, and once its localization for
+the first language works right (via the data and methods in
+Projname::L10N::en_us), you can get together the data for translation.
+If your first language lexicon isn't an _AUTO lexicon, then you already
+have all the messages explicitly in the lexicon (or else you'd be
+getting exceptions thrown when you call $lh->maketext to get
+messages that aren't in there). But if you were (advisedly) lazy and are
+using an _AUTO lexicon, then you've got to make a list of all the phrases
+that you've so far been letting _AUTO generate for you. There are very
+many ways to assemble such a list. The most straightforward is to simply
+grep the source for every occurrence of "maketext" (or calls
+to wrappers around it, like the above C<pmt> function), and to log the
+following phrase.
+
+=item *
+
+You may at this point want to consider whether your base class
+(Projname::L10N), from which all lexicons inherit from (Projname::L10N::en,
+Projname::L10N::es, etc.), should be an _AUTO lexicon. It may be true
+that in theory, all needed messages will be in each language class;
+but in the presumably unlikely or "impossible" case of lookup failure,
+you should consider whether your program should throw an exception,
+emit text in English (or whatever your project's first language is),
+or some more complex solution as described in the section
+"Controlling Lookup Failure", above.
+
+=item *
+
+Submit all messages/phrases/etc. to translators.
+
+(You may, in fact, want to start with localizing to I<one> other language
+at first, if you're not sure that you've properly abstracted the
+language-dependent parts of your code.)
+
+Translators may request clarification of the situation in which a
+particular phrase is found. For example, in English we are entirely happy
+saying "I<n> files found", regardless of whether we mean "I looked for files,
+and found I<n> of them" or the rather distinct situation of "I looked for
+something else (like lines in files), and along the way I saw I<n>
+files." This may involve rethinking things that you thought quite clear:
+should "Edit" on a toolbar be a noun ("editing") or a verb ("to edit")? Is
+there already a conventionalized way to express that menu option, separate
+from the target language's normal word for "to edit"?
+
+In all cases where the very common phenomenon of quantification
+(saying "I<N> files", for B<any> value of N)
+is involved, each translator should make clear what dependencies the
+number causes in the sentence. In many cases, dependency is
+limited to words adjacent to the number, in places where you might
+expect them ("I found the-?PLURAL I<N>
+empty-?PLURAL directory-?PLURAL"), but in some cases there are
+unexpected dependencies ("I found-?PLURAL ..."!) as well as long-distance
+dependencies "The I<N> directory-?PLURAL could not be deleted-?PLURAL"!).
+
+Remind the translators to consider the case where N is 0:
+"0 files found" isn't exactly natural-sounding in any language, but it
+may be unacceptable in many -- or it may condition special
+kinds of agreement (similar to English "I didN'T find ANY files").
+
+Remember to ask your translators about numeral formatting in their
+language, so that you can override the C<numf> method as
+appropriate. Typical variables in number formatting are: what to
+use as a decimal point (comma? period?); what to use as a thousands
+separator (space? nonbreaking space? comma? period? small
+middot? prime? apostrophe?); and even whether the so-called "thousands
+separator" is actually for every third digit -- I've heard reports of
+two hundred thousand being expressible as "2,00,000" for some Indian
+(Subcontinental) languages, besides the less surprising "S<200 000>",
+"200.000", "200,000", and "200'000". Also, using a set of numeral
+glyphs other than the usual ASCII "0"-"9" might be appreciated, as via
+C<tr/0-9/\x{0966}-\x{096F}/> for getting digits in Devanagari script
+(for Hindi, Konkani, others).
+
+The basic C<quant> method that Locale::Maketext provides should be
+good for many languages. For some languages, it might be useful
+to modify it (or its constituent C<numerate> method)
+to take a plural form in the two-argument call to C<quant>
+(as in "[quant,_1,files]") if
+it's all-around easier to infer the singular form from the plural, than
+to infer the plural form from the singular.
+
+But for other languages (as is discussed at length
+in L<Locale::Maketext::TPJ13|Locale::Maketext::TPJ13>), simple
+C<quant>/C<numf> is not enough. For the particularly problematic
+Slavic languages, what you may need is a method which you provide
+with the number, the citation form of the noun to quantify, and
+the case and gender that the sentence's syntax projects onto that
+noun slot. The method would then be responsible for determining
+what grammatical number that numeral projects onto its noun phrase,
+and what case and gender it may override the normal case and gender
+with; and then it would look up the noun in a lexicon providing
+all needed inflected forms.
+
+=item *
+
+You may also wish to discuss with the translators the question of
+how to relate different subforms of the same language tag,
+considering how this reacts with C<get_handle>'s treatment of
+these. For example, if a user accepts interfaces in "en, fr", and
+you have interfaces available in "en-US" and "fr", what should
+they get? You may wish to resolve this by establishing that "en"
+and "en-US" are effectively synonymous, by having one class
+zero-derive from the other.
+
+For some languages this issue may never come up (Danish is rarely
+expressed as "da-DK", but instead is just "da"). And for other
+languages, the whole concept of a "generic" form may verge on
+being uselessly vague, particularly for interfaces involving voice
+media in forms of Arabic or Chinese.
+
+=item *
+
+Once you've localized your program/site/etc. for all desired
+languages, be sure to show the result (whether live, or via
+screenshots) to the translators. Once they approve, make every
+effort to have it then checked by at least one other speaker of
+that language. This holds true even when (or especially when) the
+translation is done by one of your own programmers. Some
+kinds of systems may be harder to find testers for than others,
+depending on the amount of domain-specific jargon and concepts
+involved -- it's easier to find people who can tell you whether
+they approve of your translation for "delete this message" in an
+email-via-Web interface, than to find people who can give you
+an informed opinion on your translation for "attribute value"
+in an XML query tool's interface.
+
+=back
+
+=head1 SEE ALSO
+
+I recommend reading all of these:
+
+L<Locale::Maketext::TPJ13|Locale::Maketext::TPJ13> -- my I<The Perl
+Journal> article about Maketext. It explains many important concepts
+underlying Locale::Maketext's design, and some insight into why
+Maketext is better than the plain old approach of having
+message catalogs that are just databases of sprintf formats.
+
+L<File::Findgrep|File::Findgrep> is a sample application/module
+that uses Locale::Maketext to localize its messages. For a larger
+internationalized system, see also L<Apache::MP3>.
+
+L<I18N::LangTags|I18N::LangTags>.
+
+L<Win32::Locale|Win32::Locale>.
+
+RFC 3066, I<Tags for the Identification of Languages>,
+as at http://sunsite.dk/RFC/rfc/rfc3066.html
+
+RFC 2277, I<IETF Policy on Character Sets and Languages>
+is at http://sunsite.dk/RFC/rfc/rfc2277.html -- much of it is
+just things of interest to protocol designers, but it explains
+some basic concepts, like the distinction between locales and
+language-tags.
+
+The manual for GNU C<gettext>. The gettext dist is available in
+C<ftp://prep.ai.mit.edu/pub/gnu/> -- get
+a recent gettext tarball and look in its "doc/" directory, there's
+an easily browsable HTML version in there. The
+gettext documentation asks lots of questions worth thinking
+about, even if some of their answers are sometimes wonky,
+particularly where they start talking about pluralization.
+
+The Locale/Maketext.pm source. Observe that the module is much
+shorter than its documentation!
+
+=head1 COPYRIGHT AND DISCLAIMER
+
+Copyright (c) 1999-2004 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.
+
+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.
+
+=head1 AUTHOR
+
+Sean M. Burke C<sburke@cpan.org>
+
+=cut
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/TPJ13.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
new file mode 100644
index 00000000000..8d3eae66060
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
@@ -0,0 +1,775 @@
+# This document contains text in Perl "POD" format.
+# Use a POD viewer like perldoc or perlman to render it.
+
+=head1 NAME
+
+Locale::Maketext::TPJ13 -- article about software localization
+
+=head1 SYNOPSIS
+
+ # This an article, not a module.
+
+=head1 DESCRIPTION
+
+The following article by Sean M. Burke and Jordan Lachler
+first appeared in I<The Perl Journal> #13
+and is copyright 1999 The Perl Journal. It appears
+courtesy of Jon Orwant and The Perl Journal. This document may be
+distributed under the same terms as Perl itself.
+
+=head1 Localization and Perl: gettext breaks, Maketext fixes
+
+by Sean M. Burke and Jordan Lachler
+
+This article points out cases where gettext (a common system for
+localizing software interfaces -- i.e., making them work in the user's
+language of choice) fails because of basic differences between human
+languages. This article then describes Maketext, a new system capable
+of correctly treating these differences.
+
+=head2 A Localization Horror Story: It Could Happen To You
+
+=over
+
+"There are a number of languages spoken by human beings in this
+world."
+
+-- Harald Tveit Alvestrand, in RFC 1766, "Tags for the
+Identification of Languages"
+
+=back
+
+Imagine that your task for the day is to localize a piece of software
+-- and luckily for you, the only output the program emits is two
+messages, like this:
+
+ I scanned 12 directories.
+
+ Your query matched 10 files in 4 directories.
+
+So how hard could that be? You look at the code that
+produces the first item, and it reads:
+
+ printf("I scanned %g directories.",
+ $directory_count);
+
+You think about that, and realize that it doesn't even work right for
+English, as it can produce this output:
+
+ I scanned 1 directories.
+
+So you rewrite it to read:
+
+ printf("I scanned %g %s.",
+ $directory_count,
+ $directory_count == 1 ?
+ "directory" : "directories",
+ );
+
+...which does the Right Thing. (In case you don't recall, "%g" is for
+locale-specific number interpolation, and "%s" is for string
+interpolation.)
+
+But you still have to localize it for all the languages you're
+producing this software for, so you pull Locale::gettext off of CPAN
+so you can access the C<gettext> C functions you've heard are standard
+for localization tasks.
+
+And you write:
+
+ printf(gettext("I scanned %g %s."),
+ $dir_scan_count,
+ $dir_scan_count == 1 ?
+ gettext("directory") : gettext("directories"),
+ );
+
+But you then read in the gettext manual (Drepper, Miller, and Pinard 1995)
+that this is not a good idea, since how a single word like "directory"
+or "directories" is translated may depend on context -- and this is
+true, since in a case language like German or Russian, you'd may need
+these words with a different case ending in the first instance (where the
+word is the object of a verb) than in the second instance, which you haven't even
+gotten to yet (where the word is the object of a preposition, "in %g
+directories") -- assuming these keep the same syntax when translated
+into those languages.
+
+So, on the advice of the gettext manual, you rewrite:
+
+ printf( $dir_scan_count == 1 ?
+ gettext("I scanned %g directory.") :
+ gettext("I scanned %g directories."),
+ $dir_scan_count );
+
+So, you email your various translators (the boss decides that the
+languages du jour are Chinese, Arabic, Russian, and Italian, so you
+have one translator for each), asking for translations for "I scanned
+%g directory." and "I scanned %g directories.". When they reply,
+you'll put that in the lexicons for gettext to use when it localizes
+your software, so that when the user is running under the "zh"
+(Chinese) locale, gettext("I scanned %g directory.") will return the
+appropriate Chinese text, with a "%g" in there where printf can then
+interpolate $dir_scan.
+
+Your Chinese translator emails right back -- he says both of these
+phrases translate to the same thing in Chinese, because, in linguistic
+jargon, Chinese "doesn't have number as a grammatical category" --
+whereas English does. That is, English has grammatical rules that
+refer to "number", i.e., whether something is grammatically singular
+or plural; and one of these rules is the one that forces nouns to take
+a plural suffix (generally "s") when in a plural context, as they are when
+they follow a number other than "one" (including, oddly enough, "zero").
+Chinese has no such rules, and so has just the one phrase where English
+has two. But, no problem, you can have this one Chinese phrase appear
+as the translation for the two English phrases in the "zh" gettext
+lexicon for your program.
+
+Emboldened by this, you dive into the second phrase that your software
+needs to output: "Your query matched 10 files in 4 directories.". You notice
+that if you want to treat phrases as indivisible, as the gettext
+manual wisely advises, you need four cases now, instead of two, to
+cover the permutations of singular and plural on the two items,
+$dir_count and $file_count. So you try this:
+
+ printf( $file_count == 1 ?
+ ( $directory_count == 1 ?
+ gettext("Your query matched %g file in %g directory.") :
+ gettext("Your query matched %g file in %g directories.") ) :
+ ( $directory_count == 1 ?
+ gettext("Your query matched %g files in %g directory.") :
+ gettext("Your query matched %g files in %g directories.") ),
+ $file_count, $directory_count,
+ );
+
+(The case of "1 file in 2 [or more] directories" could, I suppose,
+occur in the case of symlinking or something of the sort.)
+
+It occurs to you that this is not the prettiest code you've ever
+written, but this seems the way to go. You mail off to the
+translators asking for translations for these four cases. The
+Chinese guy replies with the one phrase that these all translate to in
+Chinese, and that phrase has two "%g"s in it, as it should -- but
+there's a problem. He translates it word-for-word back: "In %g
+directories contains %g files match your query." The %g
+slots are in an order reverse to what they are in English. You wonder
+how you'll get gettext to handle that.
+
+But you put it aside for the moment, and optimistically hope that the
+other translators won't have this problem, and that their languages
+will be better behaved -- i.e., that they will be just like English.
+
+But the Arabic translator is the next to write back. First off, your
+code for "I scanned %g directory." or "I scanned %g directories."
+assumes there's only singular or plural. But, to use linguistic
+jargon again, Arabic has grammatical number, like English (but unlike
+Chinese), but it's a three-term category: singular, dual, and plural.
+In other words, the way you say "directory" depends on whether there's
+one directory, or I<two> of them, or I<more than two> of them. Your
+test of C<($directory == 1)> no longer does the job. And it means
+that where English's grammatical category of number necessitates
+only the two permutations of the first sentence based on "directory
+[singular]" and "directories [plural]", Arabic has three -- and,
+worse, in the second sentence ("Your query matched %g file in %g
+directory."), where English has four, Arabic has nine. You sense
+an unwelcome, exponential trend taking shape.
+
+Your Italian translator emails you back and says that "I searched 0
+directories" (a possible English output of your program) is stilted,
+and if you think that's fine English, that's your problem, but that
+I<just will not do> in the language of Dante. He insists that where
+$directory_count is 0, your program should produce the Italian text
+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 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
+question are 1, 2, more than 2, or in some cases 0, and you still haven't
+figured out the problem with the different word order in Chinese.
+
+Then your Russian translator calls on the phone, to I<personally> tell
+you the bad news about how really unpleasant your life is about to
+become:
+
+Russian, like German or Latin, is an inflectional language; that is, nouns
+and adjectives have to take endings that depend on their case
+(i.e., nominative, accusative, genitive, etc...) -- which is roughly a matter of
+what role they have in syntax of the sentence --
+as well as on the grammatical gender (i.e., masculine, feminine, neuter)
+and number (i.e., singular or plural) of the noun, as well as on the
+declension class of the noun. But unlike with most other inflected languages,
+putting a number-phrase (like "ten" or "forty-three", or their Arabic
+numeral equivalents) in front of noun in Russian can change the case and
+number that noun is, and therefore the endings you have to put on it.
+
+He elaborates: In "I scanned %g directories", you'd I<expect>
+"directories" to be in the accusative case (since it is the direct
+object in the sentence) and the plural number,
+except where $directory_count is 1, then you'd expect the singular, of
+course. Just like Latin or German. I<But!> Where $directory_count %
+10 is 1 ("%" for modulo, remember), assuming $directory count is an
+integer, and except where $directory_count % 100 is 11, "directories"
+is forced to become grammatically singular, which means it gets the
+ending for the accusative singular... You begin to visualize the code
+it'd take to test for the problem so far, I<and still work for Chinese
+and Arabic and Italian>, and how many gettext items that'd take, but
+he keeps going... But where $directory_count % 10 is 2, 3, or 4
+(except where $directory_count % 100 is 12, 13, or 14), the word for
+"directories" is forced to be genitive singular -- which means another
+ending... The room begins to spin around you, slowly at first... But
+with I<all other> integer values, since "directory" is an inanimate
+noun, when preceded by a number and in the nominative or accusative
+cases (as it is here, just your luck!), it does stay plural, but it is
+forced into the genitive case -- yet another ending... And
+you never hear him get to the part about how you're going to run into
+similar (but maybe subtly different) problems with other Slavic
+languages like Polish, because the floor comes up to meet you, and you
+fade into unconsciousness.
+
+
+The above cautionary tale relates how an attempt at localization can
+lead from programmer consternation, to program obfuscation, to a need
+for sedation. But careful evaluation shows that your choice of tools
+merely needed further consideration.
+
+=head2 The Linguistic View
+
+=over
+
+"It is more complicated than you think."
+
+-- The Eighth Networking Truth, from RFC 1925
+
+=back
+
+The field of Linguistics has expended a great deal of effort over the
+past century trying to find grammatical patterns which hold across
+languages; it's been a constant process
+of people making generalizations that should apply to all languages,
+only to find out that, all too often, these generalizations fail --
+sometimes failing for just a few languages, sometimes whole classes of
+languages, and sometimes nearly every language in the world except
+English. Broad statistical trends are evident in what the "average
+language" is like as far as what its rules can look like, must look
+like, and cannot look like. But the "average language" is just as
+unreal a concept as the "average person" -- it runs up against the
+fact no language (or person) is, in fact, average. The wisdom of past
+experience leads us to believe that any given language can do whatever
+it wants, in any order, with appeal to any kind of grammatical
+categories wants -- case, number, tense, real or metaphoric
+characteristics of the things that words refer to, arbitrary or
+predictable classifications of words based on what endings or prefixes
+they can take, degree or means of certainty about the truth of
+statements expressed, and so on, ad infinitum.
+
+Mercifully, most localization tasks are a matter of finding ways to
+translate whole phrases, generally sentences, where the context is
+relatively set, and where the only variation in content is I<usually>
+in a number being expressed -- as in the example sentences above.
+Translating specific, fully-formed sentences is, in practice, fairly
+foolproof -- which is good, because that's what's in the phrasebooks
+that so many tourists rely on. Now, a given phrase (whether in a
+phrasebook or in a gettext lexicon) in one language I<might> have a
+greater or lesser applicability than that phrase's translation into
+another language -- for example, strictly speaking, in Arabic, the
+"your" in "Your query matched..." would take a different form
+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 feasible to have a program know the
+user's gender, so the masculine "you" in Arabic is usually used, by
+default.)
+
+But in general, such surprises are rare when entire sentences are
+being translated, especially when the functional context is restricted
+to that of a computer interacting with a user either to convey a fact
+or to prompt for a piece of information. So, for purposes of
+localization, translation by phrase (generally by sentence) is both the
+simplest and the least problematic.
+
+=head2 Breaking gettext
+
+=over
+
+"It Has To Work."
+
+-- First Networking Truth, RFC 1925
+
+=back
+
+Consider that sentences in a tourist phrasebook are of two types: ones
+like "How do I get to the marketplace?" that don't have any blanks to
+fill in, and ones like "How much do these ___ cost?", where there's
+one or more blanks to fill in (and these are usually linked to a
+list of words that you can put in that blank: "fish", "potatoes",
+"tomatoes", etc.) The ones with no blanks are no problem, but the
+fill-in-the-blank ones may not be really straightforward. If it's a
+Swahili phrasebook, for example, the authors probably didn't bother to
+tell you the complicated ways that the verb "cost" changes its
+inflectional prefix depending on the noun you're putting in the blank.
+The trader in the marketplace will still understand what you're saying if
+you say "how much do these potatoes cost?" with the wrong
+inflectional prefix on "cost". After all, I<you> can't speak proper Swahili,
+I<you're> just a tourist. But while tourists can be stupid, computers
+are supposed to be smart; the computer should be able to fill in the
+blank, and still have the results be grammatical.
+
+In other words, a phrasebook entry takes some values as parameters
+(the things that you fill in the blank or blanks), and provides a value
+based on these parameters, where the way you get that final value from
+the given values can, properly speaking, involve an arbitrarily
+complex series of operations. (In the case of Chinese, it'd be not at
+all complex, at least in cases like the examples at the beginning of
+this article; whereas in the case of Russian it'd be a rather complex
+series of operations. And in some languages, the
+complexity could be spread around differently: while the act of
+putting a number-expression in front of a noun phrase might not be
+complex by itself, it may change how you have to, for example, inflect
+a verb elsewhere in the sentence. This is what in syntax is called
+"long-distance dependencies".)
+
+This talk of parameters and arbitrary complexity is just another way
+to say that an entry in a phrasebook is what in a programming language
+would be called a "function". Just so you don't miss it, this is the
+crux of this article: I<A phrase is a function; a phrasebook is a
+bunch of functions.>
+
+The reason that using gettext runs into walls (as in the above
+second-person horror story) is that you're trying to use a string (or
+worse, a choice among a bunch of strings) to do what you really need a
+function for -- which is futile. Preforming (s)printf interpolation
+on the strings which you get back from gettext does allow you to do I<some>
+common things passably well... sometimes... sort of; but, to paraphrase
+what some people say about C<csh> script programming, "it fools you
+into thinking you can use it for real things, but you can't, and you
+don't discover this until you've already spent too much time trying,
+and by then it's too late."
+
+=head2 Replacing gettext
+
+So, what needs to replace gettext is a system that supports lexicons
+of functions instead of lexicons of strings. An entry in a lexicon
+from such a system should I<not> look like this:
+
+ "J'ai trouv\xE9 %g fichiers dans %g r\xE9pertoires"
+
+[\xE9 is e-acute in Latin-1. Some pod renderers would
+scream if I used the actual character here. -- SB]
+
+but instead like this, bearing in mind that this is just a first stab:
+
+ sub I_found_X1_files_in_X2_directories {
+ my( $files, $dirs ) = @_[0,1];
+ $files = sprintf("%g %s", $files,
+ $files == 1 ? 'fichier' : 'fichiers');
+ $dirs = sprintf("%g %s", $dirs,
+ $dirs == 1 ? "r\xE9pertoire" : "r\xE9pertoires");
+ return "J'ai trouv\xE9 $files dans $dirs.";
+ }
+
+Now, there's no particularly obvious way to store anything but strings
+in a gettext lexicon; so it looks like we just have to start over and
+make something better, from scratch. I call my shot at a
+gettext-replacement system "Maketext", or, in CPAN terms,
+Locale::Maketext.
+
+When designing Maketext, I chose to plan its main features in terms of
+"buzzword compliance". And here are the buzzwords:
+
+=head2 Buzzwords: Abstraction and Encapsulation
+
+The complexity of the language you're trying to output a phrase in is
+entirely abstracted inside (and encapsulated within) the Maketext module
+for that interface. When you call:
+
+ print $lang->maketext("You have [quant,_1,piece] of new mail.",
+ scalar(@messages));
+
+you don't know (and in fact can't easily find out) whether this will
+involve lots of figuring, as in Russian (if $lang is a handle to the
+Russian module), or relatively little, as in Chinese. That kind of
+abstraction and encapsulation may encourage other pleasant buzzwords
+like modularization and stratification, depending on what design
+decisions you make.
+
+=head2 Buzzword: Isomorphism
+
+"Isomorphism" means "having the same structure or form"; in discussions
+of program design, the word takes on the special, specific meaning that
+your implementation of a solution to a problem I<has the same
+structure> as, say, an informal verbal description of the solution, or
+maybe of the problem itself. Isomorphism is, all things considered,
+a good thing -- it's what problem-solving (and solution-implementing)
+should look like.
+
+What's wrong the with gettext-using code like this...
+
+ printf( $file_count == 1 ?
+ ( $directory_count == 1 ?
+ "Your query matched %g file in %g directory." :
+ "Your query matched %g file in %g directories." ) :
+ ( $directory_count == 1 ?
+ "Your query matched %g files in %g directory." :
+ "Your query matched %g files in %g directories." ),
+ $file_count, $directory_count,
+ );
+
+is first off that it's not well abstracted -- these ways of testing
+for grammatical number (as in the expressions like C<foo == 1 ?
+singular_form : plural_form>) should be abstracted to each language
+module, since how you get grammatical number is language-specific.
+
+But second off, it's not isomorphic -- the "solution" (i.e., the
+phrasebook entries) for Chinese maps from these four English phrases to
+the one Chinese phrase that fits for all of them. In other words, the
+informal solution would be "The way to say what you want in Chinese is
+with the one phrase 'For your question, in Y directories you would
+find X files'" -- and so the implemented solution should be,
+isomorphically, just a straightforward way to spit out that one
+phrase, with numerals properly interpolated. It shouldn't have to map
+from the complexity of other languages to the simplicity of this one.
+
+=head2 Buzzword: Inheritance
+
+There's a great deal of reuse possible for sharing of phrases between
+modules for related dialects, or for sharing of auxiliary functions
+between related languages. (By "auxiliary functions", I mean
+functions that don't produce phrase-text, but which, say, return an
+answer to "does this number require a plural noun after it?". Such
+auxiliary functions would be used in the internal logic of functions
+that actually do produce phrase-text.)
+
+In the case of sharing phrases, consider that you have an interface
+already localized for American English (probably by having been
+written with that as the native locale, but that's incidental).
+Localizing it for UK English should, in practical terms, be just a
+matter of running it past a British person with the instructions to
+indicate what few phrases would benefit from a change in spelling or
+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, 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.)
+
+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 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
+find that your Web site's or software's interface is available in
+their language), that the rules in Ukranian are the same as in Russian
+for quantification, and probably for many other grammatical functions.
+While there may well be no phrases in common between Russian and
+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 Ukrainian could inherit useful functions
+from, but which would (presumably) provide no lexicon.
+
+=head2 Buzzword: Concision
+
+Okay, concision isn't a buzzword. But it should be, so I decree that
+as a new buzzword, "concision" means that simple common things should
+be expressible in very few lines (or maybe even just a few characters)
+of code -- call it a special case of "making simple things easy and
+hard things possible", and see also the role it played in the
+MIDI::Simple language, discussed elsewhere in this issue [TPJ#13].
+
+Consider our first stab at an entry in our "phrasebook of functions":
+
+ sub I_found_X1_files_in_X2_directories {
+ my( $files, $dirs ) = @_[0,1];
+ $files = sprintf("%g %s", $files,
+ $files == 1 ? 'fichier' : 'fichiers');
+ $dirs = sprintf("%g %s", $dirs,
+ $dirs == 1 ? "r\xE9pertoire" : "r\xE9pertoires");
+ return "J'ai trouv\xE9 $files dans $dirs.";
+ }
+
+You may sense that a lexicon (to use a non-committal catch-all term for a
+collection of things you know how to say, regardless of whether they're
+phrases or words) consisting of functions I<expressed> as above would
+make for rather long-winded and repetitive code -- even if you wisely
+rewrote this to have quantification (as we call adding a number
+expression to a noun phrase) be a function called like:
+
+ sub I_found_X1_files_in_X2_directories {
+ my( $files, $dirs ) = @_[0,1];
+ $files = quant($files, "fichier");
+ $dirs = quant($dirs, "r\xE9pertoire");
+ return "J'ai trouv\xE9 $files dans $dirs.";
+ }
+
+And you may also sense that you do not want to bother your translators
+with having to write Perl code -- you'd much rather that they spend
+their I<very costly time> on just translation. And this is to say
+nothing of the near impossibility of finding a commercial translator
+who would know even simple Perl.
+
+In a first-hack implementation of Maketext, each language-module's
+lexicon looked like this:
+
+ %Lexicon = (
+ "I found %g files in %g directories"
+ => sub {
+ my( $files, $dirs ) = @_[0,1];
+ $files = quant($files, "fichier");
+ $dirs = quant($dirs, "r\xE9pertoire");
+ return "J'ai trouv\xE9 $files dans $dirs.";
+ },
+ ... and so on with other phrase => sub mappings ...
+ );
+
+but I immediately went looking for some more concise way to basically
+denote the same phrase-function -- a way that would also serve to
+concisely denote I<most> phrase-functions in the lexicon for I<most>
+languages. After much time and even some actual thought, I decided on
+this system:
+
+* Where a value in a %Lexicon hash is a contentful string instead of
+an anonymous sub (or, conceivably, a coderef), it would be interpreted
+as a sort of shorthand expression of what the sub does. When accessed
+for the first time in a session, it is parsed, turned into Perl code,
+and then eval'd into an anonymous sub; then that sub replaces the
+original string in that lexicon. (That way, the work of parsing and
+evaling the shorthand form for a given phrase is done no more than
+once per session.)
+
+* Calls to C<maketext> (as Maketext's main function is called) happen
+thru a "language session handle", notionally very much like an IO
+handle, in that you open one at the start of the session, and use it
+for "sending signals" to an object in order to have it return the text
+you want.
+
+So, this:
+
+ $lang->maketext("You have [quant,_1,piece] of new mail.",
+ scalar(@messages));
+
+basically means this: look in the lexicon for $lang (which may inherit
+from any number of other lexicons), and find the function that we
+happen to associate with the string "You have [quant,_1,piece] of new
+mail" (which is, and should be, a functioning "shorthand" for this
+function in the native locale -- English in this case). If you find
+such a function, call it with $lang as its first parameter (as if it
+were a method), and then a copy of scalar(@messages) as its second,
+and then return that value. If that function was found, but was in
+string shorthand instead of being a fully specified function, parse it
+and make it into a function before calling it the first time.
+
+* The shorthand uses code in brackets to indicate method calls that
+should be performed. A full explanation is not in order here, but a
+few examples will suffice:
+
+ "You have [quant,_1,piece] of new mail."
+
+The above code is shorthand for, and will be interpreted as,
+this:
+
+ sub {
+ my $handle = $_[0];
+ my(@params) = @_;
+ return join '',
+ "You have ",
+ $handle->quant($params[1], 'piece'),
+ "of new mail.";
+ }
+
+where "quant" is the name of a method you're using to quantify the
+noun "piece" with the number $params[0].
+
+A string with no brackety calls, like this:
+
+ "Your search expression was malformed."
+
+is somewhat of a degenerate case, and just gets turned into:
+
+ sub { return "Your search expression was malformed." }
+
+However, not everything you can write in Perl code can be written in
+the above shorthand system -- not by a long shot. For example, consider
+the Italian translator from the beginning of this article, who wanted
+the Italian for "I didn't find any files" as a special case, instead
+of "I found 0 files". That couldn't be specified (at least not easily
+or simply) in our shorthand system, and it would have to be written
+out in full, like this:
+
+ sub { # pretend the English strings are in Italian
+ my($handle, $files, $dirs) = @_[0,1,2];
+ return "I didn't find any files" unless $files;
+ return join '',
+ "I found ",
+ $handle->quant($files, 'file'),
+ " in ",
+ $handle->quant($dirs, 'directory'),
+ ".";
+ }
+
+Next to a lexicon full of shorthand code, that sort of sticks out like a
+sore thumb -- but this I<is> a special case, after all; and at least
+it's possible, if not as concise as usual.
+
+As to how you'd implement the Russian example from the beginning of
+the article, well, There's More Than One Way To Do It, but it could be
+something like this (using English words for Russian, just so you know
+what's going on):
+
+ "I [quant,_1,directory,accusative] scanned."
+
+This shifts the burden of complexity off to the quant method. That
+method's parameters are: the numeric value it's going to use to
+quantify something; the Russian word it's going to quantify; and the
+parameter "accusative", which you're using to mean that this
+sentence's syntax wants a noun in the accusative case there, although
+that quantification method may have to overrule, for grammatical
+reasons you may recall from the beginning of this article.
+
+Now, the Russian quant method here is responsible not only for
+implementing the strange logic necessary for figuring out how Russian
+number-phrases impose case and number on their noun-phrases, but also
+for inflecting the Russian word for "directory". How that inflection
+is to be carried out is no small issue, and among the solutions I've
+seen, some (like variations on a simple lookup in a hash where all
+possible forms are provided for all necessary words) are
+straightforward but I<can> become cumbersome when you need to inflect
+more than a few dozen words; and other solutions (like using
+algorithms to model the inflections, storing only root forms and
+irregularities) I<can> involve more overhead than is justifiable for
+all but the largest lexicons.
+
+Mercifully, this design decision becomes crucial only in the hairiest
+of inflected languages, of which Russian is by no means the I<worst> case
+scenario, but is worse than most. Most languages have simpler
+inflection systems; for example, in English or Swahili, there are
+generally no more than two possible inflected forms for a given noun
+("error/errors"; "kosa/makosa"), and the
+rules for producing these forms are fairly simple -- or at least,
+simple rules can be formulated that work for most words, and you can
+then treat the exceptions as just "irregular", at least relative to
+your ad hoc rules. A simpler inflection system (simpler rules, fewer
+forms) means that design decisions are less crucial to maintaining
+sanity, whereas the same decisions could incur
+overhead-versus-scalability problems in languages like Russian. It
+may I<also> be likely that code (possibly in Perl, as with
+Lingua::EN::Inflect, for English nouns) has already
+been written for the language in question, whether simple or complex.
+
+Moreover, a third possibility may even be simpler than anything
+discussed above: "Just require that all possible (or at least
+applicable) forms be provided in the call to the given language's quant
+method, as in:"
+
+ "I found [quant,_1,file,files]."
+
+That way, quant just has to chose which form it needs, without having
+to look up or generate anything. While possibly not optimal for
+Russian, this should work well for most other languages, where
+quantification is not as complicated an operation.
+
+=head2 The Devil in the Details
+
+There's plenty more to Maketext than described above -- for example,
+there's the details of how language tags ("en-US", "i-pwn", "fi",
+etc.) or locale IDs ("en_US") interact with actual module naming
+("BogoQuery/Locale/en_us.pm"), and what magic can ensue; there's the
+details of how to record (and possibly negotiate) what character
+encoding Maketext will return text in (UTF8? Latin-1? KOI8?). There's
+the interesting fact that Maketext is for localization, but nowhere
+actually has a "C<use locale;>" anywhere in it. For the curious,
+there's the somewhat frightening details of how I actually
+implement something like data inheritance so that searches across
+modules' %Lexicon hashes can parallel how Perl implements method
+inheritance.
+
+And, most importantly, there's all the practical details of how to
+actually go about deriving from Maketext so you can use it for your
+interfaces, and the various tools and conventions for starting out and
+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 straightforward.
+
+=head2 The Proof in the Pudding: Localizing Web Sites
+
+Maketext and gettext have a notable difference: gettext is in C,
+accessible thru C library calls, whereas Maketext is in Perl, and
+really can't work without a Perl interpreter (although I suppose
+something like it could be written for C). Accidents of history (and
+not necessarily lucky ones) have made C++ the most common language for
+the implementation of applications like word processors, Web browsers,
+and even many in-house applications like custom query systems. Current
+conditions make it somewhat unlikely that the next one of any of these
+kinds of applications will be written in Perl, albeit clearly more for
+reasons of custom and inertia than out of consideration of what is the
+right tool for the job.
+
+However, other accidents of history have made Perl a well-accepted
+language for design of server-side programs (generally in CGI form)
+for Web site interfaces. Localization of static pages in Web sites is
+trivial, feasible either with simple language-negotiation features in
+servers like Apache, or with some kind of server-side inclusions of
+language-appropriate text into layout templates. However, I think
+that the localization of Perl-based search systems (or other kinds of
+dynamic content) in Web sites, be they public or access-restricted,
+is where Maketext will see the greatest use.
+
+I presume that it would be only the exceptional Web site that gets
+localized for English I<and> Chinese I<and> Italian I<and> Arabic
+I<and> Russian, to recall the languages from the beginning of this
+article -- to say nothing of German, Spanish, French, Japanese,
+Finnish, and Hindi, to name a few languages that benefit from large
+numbers of programmers or Web viewers or both.
+
+However, the ever-increasing internationalization of the Web (whether
+measured in terms of amount of content, of numbers of content writers
+or programmers, or of size of content audiences) makes it increasingly
+likely that the interface to the average Web-based dynamic content
+service will be localized for two or maybe three languages. It is my
+hope that Maketext will make that task as simple as possible, and will
+remove previous barriers to localization for languages dissimilar to
+English.
+
+ __END__
+
+Sean M. Burke (sburkeE<64>cpan.org) has a Master's in linguistics
+from Northwestern University; he specializes in language technology.
+Jordan Lachler (lachlerE<64>unm.edu) is a PhD student in the Department of
+Linguistics at the University of New Mexico; he specializes in
+morphology and pedagogy of North American native languages.
+
+=head2 References
+
+Alvestrand, Harald Tveit. 1995. I<RFC 1766: Tags for the
+Identification of Languages.>
+C<http://www.ietf.org/rfc/rfc1766.txt>
+[Now see RFC 3066.]
+
+Callon, Ross, editor. 1996. I<RFC 1925: The Twelve
+Networking Truths.>
+C<http://www.ietf.org/rfc/rfc1925.txt>
+
+Drepper, Ulrich, Peter Miller,
+and FranE<ccedil>ois Pinard. 1995-2001. GNU
+C<gettext>. Available in C<ftp://prep.ai.mit.edu/pub/gnu/>, with
+extensive docs in the distribution tarball. [Since
+I wrote this article in 1998, I now see that the
+gettext docs are now trying more to come to terms with
+plurality. Whether useful conclusions have come from it
+is another question altogether. -- SMB, May 2001]
+
+Forbes, Nevill. 1964. I<Russian Grammar.> Third Edition, revised
+by J. C. Dumbreck. Oxford University Press.
+
+=cut
+
+#End
+
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Script.pm
index 5fb70ce68f4..99b35c9dbe6 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Script.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pm
@@ -1,7 +1,7 @@
package Locale::Script;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2013 Sullivan Beck
+# Copyright (c) 2010-2014 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -10,7 +10,7 @@ use warnings;
use Exporter;
our $VERSION;
-$VERSION='3.25';
+$VERSION='3.30';
our (@ISA,@EXPORT);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pod b/Master/tlpkg/tlperl/lib/Locale/Script.pod
new file mode 100644
index 00000000000..f466c30bd5a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pod
@@ -0,0 +1,131 @@
+=pod
+
+=head1 NAME
+
+Locale::Script - standard codes for script identification
+
+=head1 SYNOPSIS
+
+ use Locale::Script;
+
+ $script = code2script('phnx'); # 'Phoenician'
+ $code = script2code('Phoenician'); # 'Phnx'
+ $code = script2code('Phoenician',
+ LOCALE_CODE_NUMERIC); # 115
+
+ @codes = all_script_codes();
+ @scripts = all_script_names();
+
+=head1 DESCRIPTION
+
+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 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+scripts. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $script = code2script('phnx','alpha');
+ $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_SCRIPT_ALPHA>
+
+This is a set of four-letter (capitalized) codes from ISO 15924
+such as 'Phnx' for Phoenician. It also includes additions to this
+set included in the IANA language registry.
+
+The Zxxx, Zyyy, and Zzzz codes are not used.
+
+This is the default code set.
+
+=item B<num, LOCALE_SCRIPT_NUMERIC>
+
+This is a set of three-digit numeric codes from ISO 15924 such as 115
+for Phoenician.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2script ( CODE [,CODESET] )>
+
+=item B<script2code ( NAME [,CODESET] )>
+
+=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_script_codes ( [CODESET] )>
+
+=item B<all_script_names ( [CODESET] )>
+
+=item B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Script::delete_script ( CODE [,CODESET] )>
+
+=item B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Script::delete_script_alias ( NAME )>
+
+=item B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.unicode.org/iso15924/>
+
+Home page for ISO 15924.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=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-2014 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
deleted file mode 100644
index effcd133b9e..00000000000
--- a/Master/tlpkg/tlperl/lib/Log/Message.pm
+++ /dev/null
@@ -1,599 +0,0 @@
-package Log::Message;
-use if $] > 5.017, 'deprecate';
-
-use strict;
-
-use Params::Check qw[check];
-use Log::Message::Item;
-use Log::Message::Config;
-use Locale::Maketext::Simple Style => 'gettext';
-
-local $Params::Check::VERBOSE = 1;
-
-BEGIN {
- use vars qw[$VERSION @ISA $STACK $CONFIG];
- $VERSION = '0.06';
- $STACK = [];
-}
-
-
-=pod
-
-=head1 NAME
-
-Log::Message - A generic message storing mechanism;
-
-=head1 SYNOPSIS
-
- use Log::Message private => 0, config => '/our/cf_file';
-
- my $log = Log::Message->new( private => 1,
- level => 'log',
- config => '/my/cf_file',
- );
-
- $log->store('this is my first message');
-
- $log->store( message => 'message #2',
- tag => 'MY_TAG',
- level => 'carp',
- extra => ['this is an argument to the handler'],
- );
-
- my @last_five_items = $log->retrieve(5);
-
- my @items = $log->retrieve( tag => qr/my_tag/i,
- message => qr/\d/,
- remove => 1,
- );
-
- my @items = $log->final( level => qr/carp/, amount => 2 );
-
- my $first_error = $log->first()
-
- # croak with the last error on the stack
- $log->final->croak;
-
- # empty the stack
- $log->flush();
-
-
-=head1 DESCRIPTION
-
-Log::Message is a generic message storage mechanism.
-It allows you to store messages on a stack -- either shared or private
--- and assign meta-data to it.
-Some meta-data will automatically be added for you, like a timestamp
-and a stack trace, but some can be filled in by the user, like a tag
-by which to identify it or group it, and a level at which to handle
-the message (for example, log it, or die with it)
-
-Log::Message also provides a powerful way of searching through items
-by regexes on messages, tags and level.
-
-=head1 Hierarchy
-
-There are 4 modules of interest when dealing with the Log::Message::*
-modules:
-
-=over 4
-
-=item Log::Message
-
-Log::Message provides a few methods to manipulate the stack it keeps.
-It has the option of keeping either a private or a public stack.
-More on this below.
-
-=item Log::Message::Item
-
-These are individual message items, which are objects that contain
-the user message as well as the meta-data described above.
-See the L<Log::Message::Item> manpage to see how to extract this
-meta-data and how to work with the Item objects.
-You should never need to create your own Item objects, but knowing
-about their methods and accessors is important if you want to write
-your own handlers. (See below)
-
-=item Log::Message::Handlers
-
-These are a collection of handlers that will be called for a level
-that is used on a L<Log::Message::Item> object.
-For example, if a message is logged with the 'carp' level, the 'carp'
-handler from L<Log::Message::Handlers> will be called.
-See the L<Log::Message::Handlers> manpage for more explanation about how
-handlers work, which one are available and how to create your own.
-
-=item Log::Message::Config
-
-Per Log::Message object, there is a configuration required that will
-fill in defaults if the user did not specify arguments to override
-them (like for example what tag will be set if none was provided),
-L<Log::Message::Config> handles the creation of these configurations.
-
-Configuration can be specified in 4 ways:
-
-=over 4
-
-=item *
-
-As a configuration file when you C<use Log::Message>
-
-=item *
-
-As arguments when you C<use Log::Message>
-
-=item *
-
-As a configuration file when you create a new L<Log::Message> object.
-(The config will then only apply to that object if you marked it as
-private)
-
-=item *
-
-As arguments when you create a new Log::Message object.
-
-You should never need to use the L<Log::Message::Config> module yourself,
-as this is transparently done by L<Log::Message>, but its manpage does
-provide an explanation of how you can create a config file.
-
-=back
-
-=back
-
-=head1 Options
-
-When using Log::Message, or creating a new Log::Message object, you can
-supply various options to alter its behaviour.
-Of course, there are sensible defaults should you choose to omit these
-options.
-
-Below an explanation of all the options and how they work.
-
-=over 4
-
-=item config
-
-The path to a configuration file to be read.
-See the manpage of L<Log::Message::Config> for the required format
-
-These options will be overridden by any explicit arguments passed.
-
-=item private
-
-Whether to create, by default, private or shared objects.
-If you choose to create shared objects, all Log::Message objects will
-use the same stack.
-
-This means that even though every module may make its own $log object
-they will still be sharing the same error stack on which they are
-putting errors and from which they are retrieving.
-
-This can be useful in big projects.
-
-If you choose to create a private object, then the stack will of
-course be private to this object, but it will still fall back to the
-shared config should no private config or overriding arguments be
-provided.
-
-=item verbose
-
-Log::Message makes use of another module to validate its arguments,
-which is called L<Params::Check>, which is a lightweight, yet
-powerful input checker and parser. (See the L<Params::Check>
-manpage for details).
-
-The verbose setting will control whether this module will
-generate warnings if something improper is passed as input, or merely
-silently returns undef, at which point Log::Message will generate a
-warning.
-
-It's best to just leave this at its default value, which is '1'
-
-=item tag
-
-The tag to add to messages if none was provided. If neither your
-config, nor any specific arguments supply a tag, then Log::Message will
-set it to 'NONE'
-
-Tags are useful for searching on or grouping by. For example, you
-could tag all the messages you want to go to the user as 'USER ERROR'
-and all those that are only debug information with 'DEBUG'.
-
-At the end of your program, you could then print all the ones tagged
-'USER ERROR' to STDOUT, and those marked 'DEBUG' to a log file.
-
-=item level
-
-C<level> describes what action to take when a message is logged. Just
-like C<tag>, Log::Message will provide a default (which is 'log') if
-neither your config file, nor any explicit arguments are given to
-override it.
-
-See the Log::Message::Handlers manpage to see what handlers are
-available by default and what they do, as well as to how to add your
-own handlers.
-
-=item remove
-
-This indicates whether or not to automatically remove the messages
-from the stack when you've retrieved them.
-The default setting provided by Log::Message is '0': do not remove.
-
-=item chrono
-
-This indicates whether messages should always be fetched in
-chronological order or not.
-This simply means that you can choose whether, when retrieving items,
-the item most recently added should be returned first, or the one that
-had been added most long ago.
-
-The default is to return the newest ones first
-
-=back
-
-=cut
-
-
-### subs ###
-sub import {
- my $pkg = shift;
- my %hash = @_;
-
- $CONFIG = new Log::Message::Config( %hash )
- or die loc(qq[Problem initialising %1], __PACKAGE__);
-
-}
-
-=head1 Methods
-
-=head2 new
-
-This creates a new Log::Message object; The parameters it takes are
-described in the C<Options> section below and let it just be repeated
-that you can use these options like this:
-
- my $log = Log::Message->new( %options );
-
-as well as during C<use> time, like this:
-
- use Log::Message option1 => value, option2 => value
-
-There are but 3 rules to keep in mind:
-
-=over 4
-
-=item *
-
-Provided arguments take precedence over a configuration file.
-
-=item *
-
-Arguments to new take precedence over options provided at C<use> time
-
-=item *
-
-An object marked private will always have an empty stack to begin with
-
-=back
-
-=cut
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- my $conf = new Log::Message::Config( %hash, default => $CONFIG ) or return undef;
-
- if( $conf->private || $CONFIG->private ) {
-
- return _new_stack( $class, config => $conf );
-
- } else {
- my $obj = _new_stack( $class, config => $conf, stack => $STACK );
-
- ### if it was an empty stack, this was the first object
- ### in that case, set the global stack to match it for
- ### subsequent new, non-private objects
- $STACK = $obj->{STACK} unless scalar @$STACK;
-
- return $obj;
- }
-}
-
-sub _new_stack {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- stack => { default => [] },
- config => { default => bless( {}, 'Log::Message::Config'),
- required => 1,
- strict_type => 1
- },
- };
-
- my $args = check( $tmpl, \%hash, $CONFIG->verbose ) or (
- warn(loc(q[Could not create a new stack object: %1],
- Params::Check->last_error)
- ),
- return
- );
-
-
- my %self = map { uc, $args->{$_} } keys %$args;
-
- return bless \%self, $class;
-}
-
-sub _get_conf {
- my $self = shift;
- my $what = shift;
-
- return defined $self->{CONFIG}->$what()
- ? $self->{CONFIG}->$what()
- : defined $CONFIG->$what()
- ? $CONFIG->$what()
- : undef; # should never get here
-}
-
-=head2 store
-
-This will create a new Item object and store it on the stack.
-
-Possible arguments you can give to it are:
-
-=over 4
-
-=item message
-
-This is the only argument that is required. If no other arguments
-are given, you may even leave off the C<message> key. The argument
-will then automatically be assumed to be the message.
-
-=item tag
-
-The tag to add to this message. If not provided, Log::Message will look
-in your configuration for one.
-
-=item level
-
-The level at which this message should be handled. If not provided,
-Log::Message will look in your configuration for one.
-
-=item extra
-
-This is an array ref with arguments passed to the handler for this
-message, when it is called from store();
-
-The handler will receive them as a normal list
-
-=back
-
-store() will return true upon success and undef upon failure, as well
-as issue a warning as to why it failed.
-
-=cut
-
-### should extra be stored in the item object perhaps for later retrieval?
-sub store {
- my $self = shift;
- my %hash = ();
-
- my $tmpl = {
- message => {
- default => '',
- strict_type => 1,
- required => 1,
- },
- tag => { default => $self->_get_conf('tag') },
- level => { default => $self->_get_conf('level'), },
- extra => { default => [], strict_type => 1 },
- };
-
- ### single arg means just the message
- ### otherwise, they are named
- if( @_ == 1 ) {
- $hash{message} = shift;
- } else {
- %hash = @_;
- }
-
- my $args = check( $tmpl, \%hash ) or (
- warn( loc(q[Could not store error: %1], Params::Check->last_error) ),
- return
- );
-
- my $extra = delete $args->{extra};
- my $item = Log::Message::Item->new( %$args,
- parent => $self,
- id => scalar @{$self->{STACK}}
- )
- or ( warn( loc(q[Could not create new log item!]) ), return undef );
-
- push @{$self->{STACK}}, $item;
-
- { no strict 'refs';
-
- my $sub = $args->{level};
-
- $item->$sub( @$extra );
- }
-
- return 1;
-}
-
-=head2 retrieve
-
-This will retrieve all message items matching the criteria specified
-from the stack.
-
-Here are the criteria you can discriminate on:
-
-=over 4
-
-=item tag
-
-A regex to which the tag must adhere. For example C<qr/\w/>.
-
-=item level
-
-A regex to which the level must adhere.
-
-=item message
-
-A regex to which the message must adhere.
-
-=item amount
-
-Maximum amount of errors to return
-
-=item chrono
-
-Return in chronological order, or not?
-
-=item remove
-
-Remove items from the stack upon retrieval?
-
-=back
-
-In scalar context it will return the first item matching your criteria
-and in list context, it will return all of them.
-
-If an error occurs while retrieving, a warning will be issued and
-undef will be returned.
-
-=cut
-
-sub retrieve {
- my $self = shift;
- my %hash = ();
-
- my $tmpl = {
- tag => { default => qr/.*/ },
- level => { default => qr/.*/ },
- message => { default => qr/.*/ },
- amount => { default => '' },
- remove => { default => $self->_get_conf('remove') },
- chrono => { default => $self->_get_conf('chrono') },
- };
-
- ### single arg means just the amount
- ### otherwise, they are named
- if( @_ == 1 ) {
- $hash{amount} = shift;
- } else {
- %hash = @_;
- }
-
- my $args = check( $tmpl, \%hash ) or (
- warn( loc(q[Could not parse input: %1], Params::Check->last_error) ),
- return
- );
-
- my @list =
- grep { $_->tag =~ /$args->{tag}/ ? 1 : 0 }
- grep { $_->level =~ /$args->{level}/ ? 1 : 0 }
- grep { $_->message =~ /$args->{message}/ ? 1 : 0 }
- grep { defined }
- $args->{chrono}
- ? @{$self->{STACK}}
- : reverse @{$self->{STACK}};
-
- my $amount = $args->{amount} || scalar @list;
-
- my @rv = map {
- $args->{remove} ? $_->remove : $_
- } scalar @list > $amount
- ? splice(@list,0,$amount)
- : @list;
-
- return wantarray ? @rv : $rv[0];
-}
-
-=head2 first
-
-This is a shortcut for retrieving the first item(s) stored on the
-stack. It will default to only retrieving one if called with no
-arguments, and will always return results in chronological order.
-
-If you only supply one argument, it is assumed to be the amount you
-wish returned.
-
-Furthermore, it can take the same arguments as C<retrieve> can.
-
-=cut
-
-sub first {
- my $self = shift;
-
- my $amt = @_ == 1 ? shift : 1;
- return $self->retrieve( amount => $amt, @_, chrono => 1 );
-}
-
-=head2 last
-
-This is a shortcut for retrieving the last item(s) stored on the
-stack. It will default to only retrieving one if called with no
-arguments, and will always return results in reverse chronological
-order.
-
-If you only supply one argument, it is assumed to be the amount you
-wish returned.
-
-Furthermore, it can take the same arguments as C<retrieve> can.
-
-=cut
-
-sub final {
- my $self = shift;
-
- my $amt = @_ == 1 ? shift : 1;
- return $self->retrieve( amount => $amt, @_, chrono => 0 );
-}
-
-=head2 flush
-
-This removes all items from the stack and returns them to the caller
-
-=cut
-
-sub flush {
- my $self = shift;
-
- return splice @{$self->{STACK}};
-}
-
-=head1 SEE ALSO
-
-L<Log::Message::Item>, L<Log::Message::Handlers>, L<Log::Message::Config>
-
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 Acknowledgements
-
-Thanks to Ann Barcomb for her suggestions.
-
-=head1 COPYRIGHT
-
-This module is
-copyright (c) 2002 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.
-
-=cut
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Config.pm b/Master/tlpkg/tlperl/lib/Log/Message/Config.pm
deleted file mode 100644
index e326e40c94c..00000000000
--- a/Master/tlpkg/tlperl/lib/Log/Message/Config.pm
+++ /dev/null
@@ -1,198 +0,0 @@
-package Log::Message::Config;
-use if $] > 5.017, 'deprecate';
-use strict;
-
-use Params::Check qw[check];
-use Module::Load;
-use FileHandle;
-use Locale::Maketext::Simple Style => 'gettext';
-
-BEGIN {
- use vars qw[$VERSION $AUTOLOAD];
- $VERSION = '0.06';
-}
-
-sub new {
- my $class = shift;
- my %hash = @_;
-
- ### find out if the user specified a config file to use
- ### and/or a default configuration object
- ### and remove them from the argument hash
- my %special = map { lc, delete $hash{$_} }
- grep /^config|default$/i, keys %hash;
-
- ### allow provided arguments to override the values from the config ###
- my $tmpl = {
- private => { default => undef, },
- verbose => { default => 1 },
- tag => { default => 'NONE', },
- level => { default => 'log', },
- remove => { default => 0 },
- chrono => { default => 1 },
- };
-
- my %lc_hash = map { lc, $hash{$_} } keys %hash;
-
- my $file_conf;
- if( $special{config} ) {
- $file_conf = _read_config_file( $special{config} )
- or ( warn( loc(q[Could not parse config file!]) ), return );
- }
-
- my $def_conf = \%{ $special{default} || {} };
-
- ### make sure to only include keys that are actually defined --
- ### the checker will assign even 'undef' if you have provided that
- ### as a value
- ### priorities goes as follows:
- ### 1: arguments passed
- ### 2: any config file passed
- ### 3: any default config passed
- my %to_check = map { @$_ }
- grep { defined $_->[1] }
- map { [ $_ =>
- defined $lc_hash{$_} ? $lc_hash{$_} :
- defined $file_conf->{$_} ? $file_conf->{$_} :
- defined $def_conf->{$_} ? $def_conf->{$_} :
- undef
- ]
- } keys %$tmpl;
-
- my $rv = check( $tmpl, \%to_check, 1 )
- or ( warn( loc(q[Could not validate arguments!]) ), return );
-
- return bless $rv, $class;
-}
-
-sub _read_config_file {
- my $file = shift or return;
-
- my $conf = {};
- my $FH = new FileHandle;
- $FH->open("$file") or (
- warn(loc(q[Could not open config file '%1': %2],$file,$!)),
- return {}
- );
-
- while(<$FH>) {
- next if /\s*#/;
- next unless /\S/;
-
- chomp; s/^\s*//; s/\s*$//;
-
- my ($param,$val) = split /\s*=\s*/;
-
- if( (lc $param) eq 'include' ) {
- load $val;
- next;
- }
-
- ### add these to the config hash ###
- $conf->{ lc $param } = $val;
- }
- close $FH;
-
- return $conf;
-}
-
-sub AUTOLOAD {
- $AUTOLOAD =~ s/.+:://;
-
- my $self = shift;
-
- return $self->{ lc $AUTOLOAD } if exists $self->{ lc $AUTOLOAD };
-
- die loc(q[No such accessor '%1' for class '%2'], $AUTOLOAD, ref $self);
-}
-
-sub DESTROY { 1 }
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-Log::Message::Config - Configuration options for Log::Message
-
-=head1 SYNOPSIS
-
- # This module is implicitly used by Log::Message to create a config
- # which it uses to log messages.
- # For the options you can pass, see the C<Log::Message new()> method.
-
- # Below is a sample of a config file you could use
-
- # comments are denoted by a single '#'
- # use a shared stack, or have a private instance?
- # if none provided, set to '0',
- private = 1
-
- # do not be verbose
- verbose = 0
-
- # default tag to set on new items
- # if none provided, set to 'NONE'
- tag = SOME TAG
-
- # default level to handle items
- # if none provided, set to 'log'
- level = carp
-
- # extra files to include
- # if none provided, no files are auto included
- include = mylib.pl
- include = ../my/other/lib.pl
-
- # automatically delete items
- # when you retrieve them from the stack?
- # if none provided, set to '0'
- remove = 1
-
- # retrieve errors in chronological order, or not?
- # if none provided, set to '1'
- chrono = 0
-
-=head1 DESCRIPTION
-
-Log::Message::Config provides a standardized config object for
-Log::Message objects.
-
-It can either read options as perl arguments, or as a config file.
-See the Log::Message manpage for more information about what arguments
-are valid, and see the Synopsis for an example config file you can use
-
-=head1 SEE ALSO
-
-L<Log::Message>, L<Log::Message::Item>, L<Log::Message::Handlers>
-
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 Acknowledgements
-
-Thanks to Ann Barcomb for her suggestions.
-
-=head1 COPYRIGHT
-
-This module is
-copyright (c) 2002 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.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm b/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm
deleted file mode 100644
index 956b0661be5..00000000000
--- a/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm
+++ /dev/null
@@ -1,195 +0,0 @@
-package Log::Message::Handlers;
-use if $] > 5.017, 'deprecate';
-use strict;
-use vars qw[$VERSION];
-
-$VERSION = '0.06';
-
-=pod
-
-=head1 NAME
-
-Log::Message::Handlers - Message handlers for Log::Message
-
-=head1 SYNOPSIS
-
- # Implicitly used by Log::Message to serve as handlers for
- # Log::Message::Item objects
-
- # Create your own file with a package called
- # Log::Message::Handlers to add to the existing ones, or to even
- # overwrite them
-
- $item->carp;
-
- $item->trace;
-
-
-=head1 DESCRIPTION
-
-Log::Message::Handlers provides handlers for Log::Message::Item objects.
-The handler corresponding to the level (see Log::Message::Item manpage
-for an explanation about levels) will be called automatically upon
-storing the error.
-
-Handlers may also explicitly be called on an Log::Message::Item object
-if one so desires (see the Log::Message manpage on how to retrieve the
-Item objects).
-
-=head1 Default Handlers
-
-=head2 log
-
-Will simply log the error on the stack, and do nothing special
-
-=cut
-
-sub log { 1 }
-
-=head2 carp
-
-Will carp (see the Carp manpage) with the error, and add the timestamp
-of when it occurred.
-
-=cut
-
-sub carp {
- my $self = shift;
- warn join " ", $self->message, $self->shortmess, 'at', $self->when, "\n";
-}
-
-=head2 croak
-
-Will croak (see the Carp manpage) with the error, and add the
-timestamp of when it occurred.
-
-=cut
-
-sub croak {
- my $self = shift;
- die join " ", $self->message, $self->shortmess, 'at', $self->when, "\n";
-}
-
-=head2 cluck
-
-Will cluck (see the Carp manpage) with the error, and add the
-timestamp of when it occurred.
-
-=cut
-
-sub cluck {
- my $self = shift;
- warn join " ", $self->message, $self->longmess, 'at', $self->when, "\n";
-}
-
-=head2 confess
-
-Will confess (see the Carp manpage) with the error, and add the
-timestamp of when it occurred
-
-=cut
-
-sub confess {
- my $self = shift;
- die join " ", $self->message, $self->longmess, 'at', $self->when, "\n";
-}
-
-=head2 die
-
-Will simply die with the error message of the item
-
-=cut
-
-sub die { die shift->message; }
-
-
-=head2 warn
-
-Will simply warn with the error message of the item
-
-=cut
-
-sub warn { warn shift->message; }
-
-
-=head2 trace
-
-Will provide a traceback of this error item back to the first one that
-occurred, clucking with every item as it comes across it.
-
-=cut
-
-sub trace {
- my $self = shift;
-
- for my $item( $self->parent->retrieve( chrono => 0 ) ) {
- $item->cluck;
- }
-}
-
-=head1 Custom Handlers
-
-If you wish to provide your own handlers, you can simply do the
-following:
-
-=over 4
-
-=item *
-
-Create a file that holds a package by the name of
-C<Log::Message::Handlers>
-
-=item *
-
-Create subroutines with the same name as the levels you wish to
-handle in the Log::Message module (see the Log::Message manpage for
-explanation on levels)
-
-=item *
-
-Require that file in your program, or add it in your configuration
-(see the Log::Message::Config manpage for explanation on how to use a
-config file)
-
-=back
-
-And that is it, the handler will now be available to handle messages
-for you.
-
-The arguments a handler may receive are those specified by the
-C<extra> key, when storing the message.
-See the Log::Message manpage for details on the arguments.
-
-=head1 SEE ALSO
-
-L<Log::Message>, L<Log::Message::Item>, L<Log::Message::Config>
-
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 Acknowledgements
-
-Thanks to Ann Barcomb for her suggestions.
-
-=head1 COPYRIGHT
-
-This module is
-copyright (c) 2002 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.
-
-=cut
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Item.pm b/Master/tlpkg/tlperl/lib/Log/Message/Item.pm
deleted file mode 100644
index 13e1e459cc3..00000000000
--- a/Master/tlpkg/tlperl/lib/Log/Message/Item.pm
+++ /dev/null
@@ -1,194 +0,0 @@
-package Log::Message::Item;
-use if $] > 5.017, 'deprecate';
-
-use strict;
-use vars qw[$VERSION];
-use Params::Check qw[check];
-use Log::Message::Handlers;
-
-### for the messages to store ###
-use Carp ();
-
-BEGIN {
- use vars qw[$AUTOLOAD $VERSION];
-
- $VERSION = '0.06';
-}
-
-### create a new item.
-### note that only an id (position on the stack), message and a reference
-### to its parent are required. all the other things it can fill in itself
-sub new {
- my $class = shift;
- my %hash = @_;
-
- my $tmpl = {
- when => { no_override => 1, default => scalar localtime },
- id => { required => 1 },
- message => { required => 1 },
- parent => { required => 1 },
- level => { default => '' }, # default may be conf dependant
- tag => { default => '' }, # default may be conf dependant
- longmess => { default => _clean(Carp::longmess()) },
- shortmess => { default => _clean(Carp::shortmess())},
- };
-
- my $args = check($tmpl, \%hash) or return undef;
-
- return bless $args, $class;
-}
-
-sub _clean { map { s/\s*//; chomp; $_ } shift; }
-
-sub remove {
- my $item = shift;
- my $self = $item->parent;
-
- return splice( @{$self->{STACK}}, $item->id, 1, undef );
-}
-
-sub AUTOLOAD {
- my $self = $_[0];
-
- $AUTOLOAD =~ s/.+:://;
-
- return $self->{$AUTOLOAD} if exists $self->{$AUTOLOAD};
-
- local $Carp::CarpLevel = $Carp::CarpLevel + 3;
-
- { no strict 'refs';
- return *{"Log::Message::Handlers::${AUTOLOAD}"}->(@_);
- }
-}
-
-sub DESTROY { 1 }
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-Log::Message::Item - Message objects for Log::Message
-
-=head1 SYNOPSIS
-
- # Implicitly used by Log::Message to create Log::Message::Item objects
-
- print "this is the message's id: ", $item->id;
-
- print "this is the message stored: ", $item->message;
-
- print "this is when it happened: ", $item->when;
-
- print "the message was tagged: ", $item->tag;
-
- print "this was the severity level: ", $item->level;
-
- $item->remove; # delete the item from the stack it was on
-
- # Besides these methods, you can also call the handlers on
- # the object specifically.
- # See the Log::Message::Handlers manpage for documentation on what
- # handlers are available by default and how to add your own
-
-
-=head1 DESCRIPTION
-
-Log::Message::Item is a class that generates generic Log items.
-These items are stored on a Log::Message stack, so see the Log::Message
-manpage about details how to retrieve them.
-
-You should probably not create new items by yourself, but use the
-storing mechanism provided by Log::Message.
-
-However, the accessors and handlers are of interest if you want to do
-fine tuning of how your messages are handled.
-
-The accessors and methods are described below, the handlers are
-documented in the Log::Message::Handlers manpage.
-
-=head1 Methods and Accessors
-
-=head2 remove
-
-Calling remove will remove the object from the stack it was on, so it
-will not show up any more in subsequent fetches of messages.
-
-You can still call accessors and handlers on it however, to handle it
-as you will.
-
-=head2 id
-
-Returns the internal ID of the item. This may be useful for comparing
-since the ID is incremented each time a new item is created.
-Therefore, an item with ID 4 must have been logged before an item with
-ID 9.
-
-=head2 when
-
-Returns the timestamp of when the message was logged
-
-=head2 message
-
-The actual message that was stored
-
-=head2 level
-
-The severity type of this message, as well as the name of the handler
-that was called upon storing it.
-
-=head2 tag
-
-Returns the identification tag that was put on the message.
-
-=head2 shortmess
-
-Returns the equivalent of a C<Carp::shortmess> for this item.
-See the C<Carp> manpage for details.
-
-=head2 longmess
-
-Returns the equivalent of a C<Carp::longmess> for this item, which
-is essentially a stack trace.
-See the C<Carp> manpage for details.
-
-=head2 parent
-
-Returns a reference to the Log::Message object that stored this item.
-This is useful if you want to have access to the full stack in a
-handler.
-
-=head1 SEE ALSO
-
-L<Log::Message>, L<Log::Message::Handlers>, L<Log::Message::Config>
-
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 Acknowledgements
-
-Thanks to Ann Barcomb for her suggestions.
-
-=head1 COPYRIGHT
-
-This module is
-copyright (c) 2002 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.
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm b/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm
deleted file mode 100644
index f9db4ffc1aa..00000000000
--- a/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm
+++ /dev/null
@@ -1,296 +0,0 @@
-package Log::Message::Simple;
-use if $] > 5.017, 'deprecate';
-
-use strict;
-use Log::Message private => 0;;
-
-BEGIN {
- use vars qw[$VERSION];
- $VERSION = '0.10';
-}
-
-
-=pod
-
-=head1 NAME
-
-Log::Message::Simple - Simplified interface to Log::Message
-
-=head1 SYNOPSIS
-
- use Log::Message::Simple qw[msg error debug
- carp croak cluck confess];
-
- use Log::Message::Simple qw[:STD :CARP];
-
- ### standard reporting functionality
- msg( "Connecting to database", $verbose );
- error( "Database connection failed: $@", $verbose );
- debug( "Connection arguments were: $args", $debug );
-
- ### standard carp functionality
- carp( "Wrong arguments passed: @_" );
- croak( "Fatal: wrong arguments passed: @_" );
- cluck( "Wrong arguments passed -- including stacktrace: @_" );
- confess("Fatal: wrong arguments passed -- including stacktrace: @_" );
-
- ### retrieve individual message
- my @stack = Log::Message::Simple->stack;
- my @stack = Log::Message::Simple->flush;
-
- ### retrieve the entire stack in printable form
- my $msgs = Log::Message::Simple->stack_as_string;
- my $trace = Log::Message::Simple->stack_as_string(1);
-
- ### redirect output
- local $Log::Message::Simple::MSG_FH = \*STDERR;
- local $Log::Message::Simple::ERROR_FH = \*STDERR;
- local $Log::Message::Simple::DEBUG_FH = \*STDERR;
-
- ### force a stacktrace on error
- local $Log::Message::Simple::STACKTRACE_ON_ERROR = 1
-
-=head1 DESCRIPTION
-
-This module provides standardized logging facilities using the
-C<Log::Message> module.
-
-=head1 FUNCTIONS
-
-=head2 msg("message string" [,VERBOSE])
-
-Records a message on the stack, and prints it to C<STDOUT> (or actually
-C<$MSG_FH>, see the C<GLOBAL VARIABLES> section below), if the
-C<VERBOSE> option is true.
-The C<VERBOSE> option defaults to false.
-
-Exported by default, or using the C<:STD> tag.
-
-=head2 debug("message string" [,VERBOSE])
-
-Records a debug message on the stack, and prints it to C<STDOUT> (or
-actually C<$DEBUG_FH>, see the C<GLOBAL VARIABLES> section below),
-if the C<VERBOSE> option is true.
-The C<VERBOSE> option defaults to false.
-
-Exported by default, or using the C<:STD> tag.
-
-=head2 error("error string" [,VERBOSE])
-
-Records an error on the stack, and prints it to C<STDERR> (or actually
-C<$ERROR_FH>, see the C<GLOBAL VARIABLES> sections below), if the
-C<VERBOSE> option is true.
-The C<VERBOSE> options defaults to true.
-
-Exported by default, or using the C<:STD> tag.
-
-=cut
-
-{ package Log::Message::Handlers;
-
- sub msg {
- my $self = shift;
- my $verbose = shift || 0;
-
- ### so you don't want us to print the msg? ###
- return if defined $verbose && $verbose == 0;
-
- my $old_fh = select $Log::Message::Simple::MSG_FH;
- print '['. $self->tag (). '] ' . $self->message . "\n";
- select $old_fh;
-
- return;
- }
-
- sub debug {
- my $self = shift;
- my $verbose = shift || 0;
-
- ### so you don't want us to print the msg? ###
- return if defined $verbose && $verbose == 0;
-
- my $old_fh = select $Log::Message::Simple::DEBUG_FH;
- print '['. $self->tag (). '] ' . $self->message . "\n";
- select $old_fh;
-
- return;
- }
-
- sub error {
- my $self = shift;
- my $verbose = shift;
- $verbose = 1 unless defined $verbose; # default to true
-
- ### so you don't want us to print the error? ###
- return if defined $verbose && $verbose == 0;
-
- my $old_fh = select $Log::Message::Simple::ERROR_FH;
-
- my $msg = '['. $self->tag . '] ' . $self->message;
-
- print $Log::Message::Simple::STACKTRACE_ON_ERROR
- ? Carp::shortmess($msg)
- : $msg . "\n";
-
- select $old_fh;
-
- return;
- }
-}
-
-=head2 carp();
-
-Provides functionality equal to C<Carp::carp()> while still logging
-to the stack.
-
-Exported by using the C<:CARP> tag.
-
-=head2 croak();
-
-Provides functionality equal to C<Carp::croak()> while still logging
-to the stack.
-
-Exported by using the C<:CARP> tag.
-
-=head2 confess();
-
-Provides functionality equal to C<Carp::confess()> while still logging
-to the stack.
-
-Exported by using the C<:CARP> tag.
-
-=head2 cluck();
-
-Provides functionality equal to C<Carp::cluck()> while still logging
-to the stack.
-
-Exported by using the C<:CARP> tag.
-
-=head1 CLASS METHODS
-
-=head2 Log::Message::Simple->stack()
-
-Retrieves all the items on the stack. Since C<Log::Message::Simple> is
-implemented using C<Log::Message>, consult its manpage for the
-function C<retrieve> to see what is returned and how to use the items.
-
-=head2 Log::Message::Simple->stack_as_string([TRACE])
-
-Returns the whole stack as a printable string. If the C<TRACE> option is
-true all items are returned with C<Carp::longmess> output, rather than
-just the message.
-C<TRACE> defaults to false.
-
-=head2 Log::Message::Simple->flush()
-
-Removes all the items from the stack and returns them. Since
-C<Log::Message::Simple> is implemented using C<Log::Message>, consult its
-manpage for the function C<retrieve> to see what is returned and how
-to use the items.
-
-=cut
-
-BEGIN {
- use Exporter;
- use Params::Check qw[ check ];
- use vars qw[ @EXPORT @EXPORT_OK %EXPORT_TAGS @ISA ];;
-
- @ISA = 'Exporter';
- @EXPORT = qw[error msg debug];
- @EXPORT_OK = qw[carp cluck croak confess];
-
- %EXPORT_TAGS = (
- STD => \@EXPORT,
- CARP => \@EXPORT_OK,
- ALL => [ @EXPORT, @EXPORT_OK ],
- );
-
- my $log = new Log::Message;
-
- for my $func ( @EXPORT, @EXPORT_OK ) {
- no strict 'refs';
-
- ### up the carplevel for the carp emulation
- ### functions
- *$func = sub { local $Carp::CarpLevel += 2
- if grep { $_ eq $func } @EXPORT_OK;
-
- my $msg = shift;
- $log->store(
- message => $msg,
- tag => uc $func,
- level => $func,
- extra => [@_]
- );
- };
- }
-
- sub flush {
- return reverse $log->flush;
- }
-
- sub stack {
- return $log->retrieve( chrono => 1 );
- }
-
- sub stack_as_string {
- my $class = shift;
- my $trace = shift() ? 1 : 0;
-
- return join $/, map {
- '[' . $_->tag . '] [' . $_->when . '] ' .
- ($trace ? $_->message . ' ' . $_->longmess
- : $_->message);
- } __PACKAGE__->stack;
- }
-}
-
-=head1 GLOBAL VARIABLES
-
-=over 4
-
-=item $ERROR_FH
-
-This is the filehandle all the messages sent to C<error()> are being
-printed. This defaults to C<*STDERR>.
-
-=item $MSG_FH
-
-This is the filehandle all the messages sent to C<msg()> are being
-printed. This default to C<*STDOUT>.
-
-=item $DEBUG_FH
-
-This is the filehandle all the messages sent to C<debug()> are being
-printed. This default to C<*STDOUT>.
-
-=item $STACKTRACE_ON_ERROR
-
-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 {
- use vars qw[ $ERROR_FH $MSG_FH $DEBUG_FH $STACKTRACE_ON_ERROR ];
-
- local $| = 1;
- $ERROR_FH = \*STDERR;
- $MSG_FH = \*STDOUT;
- $DEBUG_FH = \*STDOUT;
-
- $STACKTRACE_ON_ERROR = 0;
-}
-
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/MIME/Base64.pm b/Master/tlpkg/tlperl/lib/MIME/Base64.pm
index 2ce412d1059..4e59b6290d7 100644
--- a/Master/tlpkg/tlperl/lib/MIME/Base64.pm
+++ b/Master/tlpkg/tlperl/lib/MIME/Base64.pm
@@ -8,7 +8,7 @@ require Exporter;
@EXPORT = qw(encode_base64 decode_base64);
@EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length);
-$VERSION = '3.13';
+$VERSION = '3.14';
require XSLoader;
XSLoader::load('MIME::Base64', $VERSION);
diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
index b0f2e4df508..fb1d20690bc 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
@@ -12,7 +12,7 @@ package Math::BigFloat;
# _a : accuracy
# _p : precision
-$VERSION = '1.998';
+$VERSION = '1.9991';
require 5.006002;
require Exporter;
@@ -454,7 +454,7 @@ sub bneg
return $x if $x->modify('bneg');
- # for +0 dont negate (to have always normalized +0). Does nothing for 'NaN'
+ # for +0 do not negate (to have always normalized +0). Does nothing for 'NaN'
$x->{sign} =~ tr/+-/-+/ unless ($x->{sign} eq '+' && $MBI->_is_zero($x->{_m}));
$x;
}
@@ -1872,7 +1872,7 @@ sub bdiv
($x->{_e},$x->{_es}) = _e_sub($x->{_e}, $MBI->_new($scale), $x->{_es}, '+');
$x->bnorm(); # remove trailing 0's
}
- } # ende else $x != $y
+ } # end else $x != $y
# shortcut to not run through _find_round_parameters again
if (defined $params[0])
@@ -2037,7 +2037,7 @@ sub broot
# simulate old behaviour
$params[0] = $self->div_scale(); # and round to it as accuracy
$scale = $params[0]+4; # at least four more for proper round
- $params[2] = $r; # iound mode by caller or undef
+ $params[2] = $r; # round mode by caller or undef
$fallback = 1; # to clear a/p afterwards
}
else
@@ -3289,7 +3289,7 @@ sub bfround
my $zad = 0; # zeros after dot
$zad = $dad - $len if (-$dad < -$len); # for 0.00..00xxx style
- # p rint "scale $scale dad $dad zad $zad len $len\n";
+ # print "scale $scale dad $dad zad $zad len $len\n";
# number bsstr len zad dad
# 0.123 123e-3 3 0 3
# 0.0123 123e-4 3 1 4
@@ -3403,7 +3403,7 @@ sub bround
sub bfloor
{
- # return integer less or equal then $x
+ # round towards minus infinity
my ($self,$x,$a,$p,$r) = ref($_[0]) ? (ref($_[0]),@_) : objectify(1,@_);
return $x if $x->modify('bfloor');
@@ -3423,7 +3423,7 @@ sub bfloor
sub bceil
{
- # return integer greater or equal then $x
+ # round towards plus infinity
my ($self,$x,$a,$p,$r) = ref($_[0]) ? (ref($_[0]),@_) : objectify(1,@_);
return $x if $x->modify('bceil');
@@ -3440,6 +3440,24 @@ sub bceil
$x->round($a,$p,$r);
}
+sub bint
+ {
+ # round towards zero
+ my ($self,$x,$a,$p,$r) = ref($_[0]) ? (ref($_[0]),@_) : objectify(1,@_);
+
+ return $x if $x->modify('bint');
+ return $x if $x->{sign} !~ /^[+-]$/; # nan, +inf, -inf
+
+ # if $x has digits after the decimal point
+ if ($x->{_es} eq '-')
+ {
+ $x->{_m} = $MBI->_rsft($x->{_m},$x->{_e},10); # cut off digits after dot
+ $x->{_e} = $MBI->_zero(); # truncate/normalize
+ $x->{_es} = '+'; # abs e
+ }
+ $x->round($a,$p,$r);
+ }
+
sub brsft
{
# shift right by $y (divide by power of $n)
@@ -3695,7 +3713,7 @@ sub bnorm
if $MBI->_is_zero($x->{_m});
}
- $x; # MBI bnorm is no-op, so dont call it
+ $x; # MBI bnorm is no-op, so do not call it
}
##############################################################################
@@ -3808,6 +3826,7 @@ sub length
}
1;
+
__END__
=head1 NAME
@@ -3906,6 +3925,7 @@ Math::BigFloat - Arbitrary size floating point math package
$x->bfloor(); # return integer less or equal than $x
$x->bceil(); # return integer greater or equal than $x
+ $x->bint(); # round towards zero
# The following do not modify their arguments:
@@ -3943,12 +3963,12 @@ declare your big floating point numbers as
Operations with overloaded operators preserve the arguments, which is
exactly what you expect.
-=head2 Canonical notation
+=head2 Input
Input to these routines are either BigFloat objects, or strings of the
following four forms:
-=over 2
+=over
=item *
@@ -3996,16 +4016,16 @@ 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
-defaults to BigInts) to represent the mantissa and exponent.
+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
represent the result when input arguments are not numbers, as well as
the result of dividing by zero.
-=head2 C<mantissa()>, C<exponent()> and C<parts()>
+=head2 mantissa(), exponent() and parts()
-C<mantissa()> and C<exponent()> return the said parts of the BigFloat
+mantissa() and exponent() return the said parts of the BigFloat
as BigInts such that:
$m = $x->mantissa();
@@ -4080,7 +4100,7 @@ functions like so:
=head2 Rounding
-=over 2
+=over
=item ffround ( +$scale )
@@ -4136,14 +4156,16 @@ calculates non-integer results when possible. Please see L<Math::BigInt>
for a full description of each method. Below are just the most important
differences:
-=head2 accuracy
+=over
+
+=item accuracy()
- $x->accuracy(5); # local for $x
- CLASS->accuracy(5); # global for all members of CLASS
- # Note: This also applies to new()!
+ $x->accuracy(5); # local for $x
+ CLASS->accuracy(5); # global for all members of CLASS
+ # Note: This also applies to new()!
- $A = $x->accuracy(); # read out accuracy that affects $x
- $A = CLASS->accuracy(); # read out global accuracy
+ $A = $x->accuracy(); # read out accuracy that affects $x
+ $A = CLASS->accuracy(); # read out global accuracy
Set or get the global or local accuracy, aka how many significant digits the
results have. If you set a global accuracy, then this also applies to new()!
@@ -4161,25 +4183,25 @@ 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
-=head2 precision()
+=item precision()
- $x->precision(-2); # local for $x, round at the second
- # digit right of the dot
- $x->precision(2); # ditto, round at the second digit left
- # of the dot
+ $x->precision(-2); # local for $x, round at the second
+ # digit right of the dot
+ $x->precision(2); # ditto, round at the second digit
+ # left of the dot
- CLASS->precision(5); # Global for all members of CLASS
- # This also applies to new()!
- CLASS->precision(-5); # ditto
+ CLASS->precision(5); # Global for all members of CLASS
+ # This also applies to new()!
+ CLASS->precision(-5); # ditto
- $P = CLASS->precision(); # read out global precision
- $P = $x->precision(); # read out precision that affects $x
+ $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
+Note: You probably want to use L</accuracy()> instead. With L</accuracy()> you
set the number of digits each result should have, with L</precision()> you
set the place where to round!
-=head2 bexp()
+=item bexp()
$x->bexp($accuracy); # calculate e ** X
@@ -4187,7 +4209,7 @@ Calculates the expression C<e ** $x> where C<e> is Euler's number.
This method was added in v1.82 of Math::BigInt (April 2007).
-=head2 bnok()
+=item bnok()
$x->bnok($y); # x over y (binomial coefficient n over k)
@@ -4200,7 +4222,7 @@ function. The result is equivalent to:
This method was added in v1.84 of Math::BigInt (April 2007).
-=head2 bpi()
+=item bpi()
print Math::BigFloat->bpi(100), "\n";
@@ -4209,7 +4231,7 @@ rounded according to the current rounding mode, which defaults to "even".
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bcos()
+=item bcos()
my $x = Math::BigFloat->new(1);
print $x->bcos(100), "\n";
@@ -4218,7 +4240,7 @@ Calculate the cosinus of $x, modifying $x in place.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bsin()
+=item bsin()
my $x = Math::BigFloat->new(1);
print $x->bsin(100), "\n";
@@ -4227,7 +4249,7 @@ Calculate the sinus of $x, modifying $x in place.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 batan2()
+=item batan2()
my $y = Math::BigFloat->new(2);
my $x = Math::BigFloat->new(3);
@@ -4238,7 +4260,7 @@ See also L</batan()>.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 batan()
+=item batan()
my $x = Math::BigFloat->new(1);
print $x->batan(100), "\n";
@@ -4247,7 +4269,7 @@ Calculate the arcus tanges of $x, modifying $x in place. See also L</batan2()>.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bmuladd()
+=item bmuladd()
$x->bmuladd($y,$z);
@@ -4255,6 +4277,8 @@ Multiply $x by $y, and then add $z to the result.
This method was added in v1.87 of Math::BigInt (June 2007).
+=back
+
=head1 Autocreating constants
After C<use Math::BigFloat ':constant'> all the floating point constants
@@ -4363,7 +4387,7 @@ and B<VERY BAD THINGS> will happen when you use these together:
my $flash_and_bang = $matter + $anti_matter; # Don't do this!
-=over 1
+=over
=item stringify, bstr()
@@ -4371,7 +4395,7 @@ Both stringify and bstr() now drop the leading '+'. The old code would return
'+1.23', the new returns '1.23'. See the documentation in L<Math::BigInt> for
reasoning and details.
-=item bdiv
+=item bdiv()
The following will probably not print what you expect:
@@ -4381,11 +4405,12 @@ 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
+ # or if you want to modify $c:
+ print scalar $c->bdiv(123.456),"\n";
instead.
-=item brsft
+=item brsft()
The following will probably not print what you expect:
@@ -4414,7 +4439,7 @@ a second reference to the B<same> object and stores it in $y. Thus anything
that modifies $x will modify $y (except overloaded math operators), and vice
versa. See L<Math::BigInt> for details and how to avoid that.
-=item bpow
+=item bpow()
C<bpow()> now modifies the first argument, unlike the old code which left
it alone and only returned the result. This is to be consistent with
@@ -4431,39 +4456,39 @@ a certain number of digits:
use Math::BigFloat;
- Math::BigFloat->precision(4); # does not do what you
- # think it does
- my $x = Math::BigFloat->new(12345); # rounds $x to "12000"!
- print "$x\n"; # print "12000"
- my $y = Math::BigFloat->new(3); # rounds $y to "0"!
- print "$y\n"; # print "0"
- $z = $x / $y; # 12000 / 0 => NaN!
+ Math::BigFloat->precision(4); # does not do what you
+ # think it does
+ my $x = Math::BigFloat->new(12345); # rounds $x to "12000"!
+ print "$x\n"; # print "12000"
+ my $y = Math::BigFloat->new(3); # rounds $y to "0"!
+ print "$y\n"; # print "0"
+ $z = $x / $y; # 12000 / 0 => NaN!
print "$z\n";
- print $z->precision(),"\n"; # 4
+ print $z->precision(),"\n"; # 4
-Replacing L</precision()> with L</accuracy> is probably not what you want, either:
+Replacing L</precision()> with L</accuracy()> is probably not what you want, either:
use Math::BigFloat;
- Math::BigFloat->accuracy(4); # enables global rounding:
- my $x = Math::BigFloat->new(123456); # rounded immediately
- # to "12350"
- print "$x\n"; # print "123500"
- my $y = Math::BigFloat->new(3); # rounded to "3
- print "$y\n"; # print "3"
- print $z = $x->copy()->bdiv($y),"\n"; # 41170
- print $z->accuracy(),"\n"; # 4
+ Math::BigFloat->accuracy(4); # enables global rounding:
+ my $x = Math::BigFloat->new(123456); # rounded immediately
+ # to "12350"
+ print "$x\n"; # print "123500"
+ my $y = Math::BigFloat->new(3); # rounded to "3
+ print "$y\n"; # print "3"
+ print $z = $x->copy()->bdiv($y),"\n"; # 41170
+ print $z->accuracy(),"\n"; # 4
What you want to use instead is:
use Math::BigFloat;
- my $x = Math::BigFloat->new(123456); # no rounding
- print "$x\n"; # print "123456"
- my $y = Math::BigFloat->new(3); # no rounding
- print "$y\n"; # print "3"
- print $z = $x->copy()->bdiv($y,4),"\n"; # 41150
- print $z->accuracy(),"\n"; # undef
+ my $x = Math::BigFloat->new(123456); # no rounding
+ print "$x\n"; # print "123456"
+ my $y = Math::BigFloat->new(3); # no rounding
+ print "$y\n"; # print "3"
+ print $z = $x->copy()->bdiv($y,4),"\n"; # 41150
+ print $z->accuracy(),"\n"; # undef
In addition to computing what you expected, the last example also does B<not>
"taint" the result with an accuracy or precision setting, which would
diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
index d712082eb6a..203e0510b64 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
@@ -12,7 +12,7 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
@ISA = qw(Exporter Math::BigFloat);
-$VERSION = '0.32';
+$VERSION = '0.36';
use overload; # inherit overload from BigFloat
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt.pm b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
index 37c6b37a987..eff27b95a97 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
@@ -18,7 +18,7 @@ package Math::BigInt;
my $class = "Math::BigInt";
use 5.006002;
-$VERSION = '1.9991';
+$VERSION = '1.9993';
@ISA = qw(Exporter);
@EXPORT_OK = qw(objectify bgcd blcm);
@@ -149,7 +149,7 @@ use overload
},
# the original qw() does not work with the TIESCALAR below, why?
-# Order of arguments unsignificant
+# Order of arguments insignificant
'""' => sub { $_[0]->bstr(); },
'0+' => sub { $_[0]->numify(); }
;
@@ -1036,7 +1036,7 @@ sub bneg
return $x if $x->modify('bneg');
- # for +0 dont negate (to have always normalized +0). Does nothing for 'NaN'
+ # for +0 do not negate (to have always normalized +0). Does nothing for 'NaN'
$x->{sign} =~ tr/+-/-+/ unless ($x->{sign} eq '+' && $CALC->_is_zero($x->{value}));
$x;
}
@@ -1073,7 +1073,7 @@ sub bcmp
return -1 if $x->{sign} eq '-' && $y->{sign} eq '+'; # does also -x <=> 0
# have same sign, so compare absolute values. Don't make tests for zero here
- # because it's actually slower than testin in Calc (especially w/ Pari et al)
+ # because it's actually slower than testing in Calc (especially w/ Pari et al)
# post-normalized compare for internal use (honors signs)
if ($x->{sign} eq '+')
@@ -1083,7 +1083,7 @@ sub bcmp
}
# $x && $y both < 0
- $CALC->_acmp($y->{value},$x->{value}); # swaped acmp (lib returns 0,1,-1)
+ $CALC->_acmp($y->{value},$x->{value}); # swapped acmp (lib returns 0,1,-1)
}
sub bacmp
@@ -1740,7 +1740,7 @@ sub bdiv
}
else
{
- $rem->{sign} = '+'; # dont leave -0
+ $rem->{sign} = '+'; # do not leave -0
}
$rem->round(@r);
return ($x,$rem);
@@ -1788,7 +1788,7 @@ sub bmod
}
else
{
- $x->{sign} = '+'; # dont leave -0
+ $x->{sign} = '+'; # do not leave -0
}
$x->round(@r);
}
@@ -2533,7 +2533,7 @@ sub bround
sub bfloor
{
- # return integer less or equal then number; no-op since it's already integer
+ # round towards minus infinity; no-op since it's already integer
my ($self,$x,@r) = ref($_[0]) ? (undef,@_) : objectify(1,@_);
$x->round(@r);
@@ -2541,12 +2541,19 @@ sub bfloor
sub bceil
{
- # return integer greater or equal then number; no-op since it's already int
+ # round towards plus infinity; no-op since it's already int
my ($self,$x,@r) = ref($_[0]) ? (undef,@_) : objectify(1,@_);
$x->round(@r);
}
+sub bint {
+ # round towards zero; no-op since it's already integer
+ my ($self,$x,@r) = ref($_[0]) ? (undef,@_) : objectify(1,@_);
+
+ $x->round(@r);
+}
+
sub as_number
{
# An object might be asked to return itself as bigint on certain overloaded
@@ -3375,33 +3382,33 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bmuladd($y,$z); # $x = $x * $y + $z
- $x->bmod($y); # modulus (x % y)
- $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
- # returns (quo,rem) or quo if in sca-
- # lar context
- $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 sca-
- # lar context
-
- $x->band($y); # bitwise and
- $x->bior($y); # bitwise inclusive or
- $x->bxor($y); # bitwise exclusive or
- $x->bnot(); # bitwise 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->bnok($y); # x over y (binomial coefficient n over k)
-
- $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->bmod($y); # modulus (x % y)
+ $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
+ # returns (quo,rem) or quo if in sca-
+ # lar context
+ $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 sca-
+ # lar context
+
+ $x->band($y); # bitwise and
+ $x->bior($y); # bitwise inclusive or
+ $x->bxor($y); # bitwise exclusive or
+ $x->bnot(); # bitwise 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->bnok($y); # x over y (binomial coefficient n over k)
+
+ $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
@@ -3413,8 +3420,9 @@ Math::BigInt - Arbitrary size integer/float math package
# The following do not modify their arguments in BigInt (are no-ops),
# but do so in BigFloat:
- $x->bfloor(); # return integer less or equal than $x
- $x->bceil(); # return integer greater or equal than $x
+ $x->bfloor(); # round towards minus infinity
+ $x->bceil(); # round towards plus infinity
+ $x->bint(); # round towards zero
# The following do not modify their arguments:
@@ -3467,9 +3475,7 @@ declare your big integers as
Operations with overloaded operators preserve the arguments which is
exactly what you expect.
-=over 2
-
-=item Input
+=head2 Input
Input values to these routines may be any string, that looks like a number
and results in an integer, including hexadecimal and binary numbers.
@@ -3507,7 +3513,7 @@ 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
object from the input.
-=item Output
+=head2 Output
Output values are BigInt objects (normalized), except for the methods which
return a string (see L</SYNOPSIS>).
@@ -3516,8 +3522,6 @@ Some routines (C<is_odd()>, C<is_even()>, C<is_zero()>, C<is_one()>,
C<is_nan()>, etc.) return true or false, while others (C<bcmp()>, C<bacmp()>)
return either undef (if NaN is involved), <0, 0 or >0 and are suited for sort.
-=back
-
=head1 METHODS
Each of the methods below (except config(), accuracy() and precision())
@@ -3525,44 +3529,46 @@ accepts three additional parameters. These arguments C<$A>, C<$P> and C<$R>
are C<accuracy>, C<precision> and C<round_mode>. Please see the section about
L</ACCURACY and PRECISION> for more information.
-=head2 config()
+=over
+
+=item config()
- use Data::Dumper;
+ use Data::Dumper;
- print Dumper ( Math::BigInt->config() );
- print Math::BigInt->config()->{lib},"\n";
+ print Dumper ( Math::BigInt->config() );
+ print Math::BigInt->config()->{lib},"\n";
Returns a hash containing the configuration, e.g. the version number, lib
loaded etc. The following hash keys are currently filled in with the
appropriate information.
- key Description
- Example
- ============================================================
- lib Name of the low-level math library
- Math::BigInt::Calc
- lib_version Version of low-level math library (see 'lib')
- 0.30
- class The class name of config() you just called
- Math::BigInt
- upgrade To which class math operations might be upgraded
- Math::BigFloat
- downgrade To which class math operations might be downgraded
- undef
- precision Global precision
- undef
- accuracy Global accuracy
- undef
- round_mode Global round mode
- even
- version version number of the class you used
- 1.61
- div_scale Fallback accuracy for div
- 40
- trap_nan If true, traps creation of NaN via croak()
- 1
- trap_inf If true, traps creation of +inf/-inf via croak()
- 1
+ key Description
+ Example
+ ============================================================
+ lib Name of the low-level math library
+ Math::BigInt::Calc
+ lib_version Version of low-level math library (see 'lib')
+ 0.30
+ class The class name of config() you just called
+ Math::BigInt
+ upgrade To which class math operations might be
+ upgraded Math::BigFloat
+ downgrade To which class math operations might be
+ downgraded undef
+ precision Global precision
+ undef
+ accuracy Global accuracy
+ undef
+ round_mode Global round mode
+ even
+ version version number of the class you used
+ 1.61
+ div_scale Fallback accuracy for div
+ 40
+ trap_nan If true, traps creation of NaN via croak()
+ 1
+ trap_inf If true, traps creation of +inf/-inf via croak()
+ 1
The following values can be set by passing C<config()> a reference to a hash:
@@ -3575,7 +3581,7 @@ Example:
{ trap_inf => 1, precision => 5 }
);
-=head2 accuracy()
+=item accuracy()
$x->accuracy(5); # local for $x
CLASS->accuracy(5); # global for all members of CLASS
@@ -3617,7 +3623,8 @@ represents the accuracy that will be in effect for $x:
# ally rounded!
print "$x $y\n"; # '123500 1234567'
print $x->accuracy(),"\n"; # will be 4
- print $y->accuracy(),"\n"; # also 4, since global is 4
+ print $y->accuracy(),"\n"; # also 4, since
+ # global is 4
print Math::BigInt->accuracy(5),"\n"; # set to 5, print 5
print $x->accuracy(),"\n"; # still 4
print $y->accuracy(),"\n"; # 5, since global is 5
@@ -3627,19 +3634,19 @@ globals separated from Math::BigInt, but it is possible to subclass
Math::BigInt and make the globals of the subclass aliases to the ones from
Math::BigInt.
-=head2 precision()
+=item precision()
- $x->precision(-2); # local for $x, round at the second
- # digit right of the dot
- $x->precision(2); # ditto, round at the second digit left
- # of the dot
+ $x->precision(-2); # local for $x, round at the second
+ # digit right of the dot
+ $x->precision(2); # ditto, round at the second digit
+ # left of the dot
- CLASS->precision(5); # Global for all members of CLASS
- # This also applies to new()!
- CLASS->precision(-5); # ditto
+ CLASS->precision(5); # Global for all members of CLASS
+ # This also applies to new()!
+ CLASS->precision(-5); # ditto
- $P = CLASS->precision(); # read out global precision
- $P = $x->precision(); # read out precision that affects $x
+ $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
set the number of digits each result should have, with L</precision()> you
@@ -3666,7 +3673,7 @@ value represents the prevision that will be in effect for $x:
$y = Math::BigInt->new(1234567); # unrounded
print Math::BigInt->precision(4),"\n"; # set 4, print 4
- $x = Math::BigInt->new(123456); # will be automatically rounded
+ $x = Math::BigInt->new(123456); # will be automatically rounded
print $x; # print "120000"!
Note: Works also for subclasses like L<Math::BigFloat>. Each class has its
@@ -3674,9 +3681,9 @@ own globals separated from Math::BigInt, but it is possible to subclass
Math::BigInt and make the globals of the subclass aliases to the ones from
Math::BigInt.
-=head2 brsft()
+=item 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.
@@ -3685,23 +3692,23 @@ Right shifting usually amounts to dividing $x by $n ** $y and truncating the
result:
- $x = Math::BigInt->new(10);
- $x->brsft(1); # same as $x >> 1: 5
- $x = Math::BigInt->new(1234);
- $x->brsft(2,10); # result 12
+ $x = Math::BigInt->new(10);
+ $x->brsft(1); # same as $x >> 1: 5
+ $x = Math::BigInt->new(1234);
+ $x->brsft(2,10); # result 12
There is one exception, and that is base 2 with negative $x:
- $x = Math::BigInt->new(-5);
- print $x->brsft(1);
+ $x = Math::BigInt->new(-5);
+ print $x->brsft(1);
This will print -3, not -2 (as it would if you divide -5 by 2 and truncate the
result).
-=head2 new()
+=item new()
- $x = Math::BigInt->new($str,$A,$P,$R);
+ $x = Math::BigInt->new($str,$A,$P,$R);
Creates a new BigInt object from a scalar or another BigInt object. The
input is accepted as decimal, hex (with leading '0x') or binary (with leading
@@ -3709,90 +3716,90 @@ input is accepted as decimal, hex (with leading '0x') or binary (with leading
See L</Input> for more info on accepted input formats.
-=head2 from_oct()
+=item from_oct()
- $x = Math::BigInt->from_oct("0775"); # input is octal
+ $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()
+=item from_hex()
- $x = Math::BigInt->from_hex("0xcafe"); # input is hexadecimal
+ $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()
+=item from_bin()
- $x = Math::BigInt->from_bin("0b10011"); # 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()
+=item bnan()
- $x = Math::BigInt->bnan();
+ $x = Math::BigInt->bnan();
Creates a new BigInt object representing NaN (Not A Number).
If used on an object, it will set it to NaN:
- $x->bnan();
+ $x->bnan();
-=head2 bzero()
+=item bzero()
- $x = Math::BigInt->bzero();
+ $x = Math::BigInt->bzero();
Creates a new BigInt object representing zero.
If used on an object, it will set it to zero:
- $x->bzero();
+ $x->bzero();
-=head2 binf()
+=item binf()
- $x = Math::BigInt->binf($sign);
+ $x = Math::BigInt->binf($sign);
Creates a new BigInt object representing infinity. The optional argument is
either '-' or '+', indicating whether you want infinity or minus infinity.
If used on an object, it will set it to infinity:
- $x->binf();
- $x->binf('-');
+ $x->binf();
+ $x->binf('-');
-=head2 bone()
+=item bone()
- $x = Math::BigInt->binf($sign);
+ $x = Math::BigInt->binf($sign);
Creates a new BigInt object representing one. The optional argument is
either '-' or '+', indicating whether you want one or minus one.
If used on an object, it will set it to one:
- $x->bone(); # +1
- $x->bone('-'); # -1
+ $x->bone(); # +1
+ $x->bone('-'); # -1
-=head2 is_one()/is_zero()/is_nan()/is_inf()
+=item 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
- $x->is_one('-'); # true if arg is -1
- $x->is_inf(); # true if +inf
- $x->is_inf('-'); # true if -inf (sign is default '+')
+ $x->is_zero(); # true if arg is +0
+ $x->is_nan(); # true if arg is NaN
+ $x->is_one(); # true if arg is +1
+ $x->is_one('-'); # true if arg is -1
+ $x->is_inf(); # true if +inf
+ $x->is_inf('-'); # true if -inf (sign is default '+')
These methods all test the BigInt for being one specific value and return
true or false depending on the input. These are faster than doing something
like:
- if ($x == 0)
+ if ($x == 0)
-=head2 is_pos()/is_neg()/is_positive()/is_negative()
+=item is_pos()/is_neg()/is_positive()/is_negative()
- $x->is_pos(); # true if > 0
- $x->is_neg(); # true if < 0
+ $x->is_pos(); # true if > 0
+ $x->is_neg(); # true if < 0
The methods return true if the argument is positive or negative, respectively.
C<NaN> is neither positive nor negative, while C<+inf> counts as positive, and
@@ -3805,177 +3812,177 @@ C<is_neg()>, respectively. C<is_positive()> and C<is_negative()> were
introduced in v1.36, while C<is_pos()> and C<is_neg()> were only introduced
in v1.68.
-=head2 is_odd()/is_even()/is_int()
+=item is_odd()/is_even()/is_int()
- $x->is_odd(); # true if odd, false for even
- $x->is_even(); # true if even, false for odd
- $x->is_int(); # true if $x is an integer
+ $x->is_odd(); # true if odd, false for even
+ $x->is_even(); # true if even, false for odd
+ $x->is_int(); # true if $x is an integer
The return true when the argument satisfies the condition. C<NaN>, C<+inf>,
C<-inf> are not integers and are neither odd nor even.
In BigInt, all numbers except C<NaN>, C<+inf> and C<-inf> are integers.
-=head2 bcmp()
+=item bcmp()
- $x->bcmp($y);
+ $x->bcmp($y);
Compares $x with $y and takes the sign into account.
Returns -1, 0, 1 or undef.
-=head2 bacmp()
+=item bacmp()
- $x->bacmp($y);
+ $x->bacmp($y);
Compares $x with $y while ignoring their sign. Returns -1, 0, 1 or undef.
-=head2 sign()
+=item sign()
- $x->sign();
+ $x->sign();
Return the sign, of $x, meaning either C<+>, C<->, C<-inf>, C<+inf> or NaN.
If you want $x to have a certain sign, use one of the following methods:
- $x->babs(); # '+'
- $x->babs()->bneg(); # '-'
- $x->bnan(); # 'NaN'
- $x->binf(); # '+inf'
- $x->binf('-'); # '-inf'
+ $x->babs(); # '+'
+ $x->babs()->bneg(); # '-'
+ $x->bnan(); # 'NaN'
+ $x->binf(); # '+inf'
+ $x->binf('-'); # '-inf'
-=head2 digit()
+=item digit()
- $x->digit($n); # return the nth digit, counting from right
+ $x->digit($n); # return the nth digit, counting from right
If C<$n> is negative, returns the digit counting from left.
-=head2 bneg()
+=item bneg()
- $x->bneg();
+ $x->bneg();
Negate the number, e.g. change the sign between '+' and '-', or between '+inf'
and '-inf', respectively. Does nothing for NaN or zero.
-=head2 babs()
+=item babs()
- $x->babs();
+ $x->babs();
Set the number to its absolute value, e.g. change the sign from '-' to '+'
and from '-inf' to '+inf', respectively. Does nothing for NaN or positive
numbers.
-=head2 bsgn()
+=item bsgn()
- $x->bsgn();
+ $x->bsgn();
Signum function. Set the number to -1, 0, or 1, depending on whether the
-number is negative, zero, or positive, respectivly. Does not modify NaNs.
+number is negative, zero, or positive, respectively. Does not modify NaNs.
-=head2 bnorm()
+=item bnorm()
- $x->bnorm(); # normalize (no-op)
+ $x->bnorm(); # normalize (no-op)
-=head2 bnot()
+=item bnot()
- $x->bnot();
+ $x->bnot();
Two's complement (bitwise not). This is equivalent to
- $x->binc()->bneg();
+ $x->binc()->bneg();
but faster.
-=head2 binc()
+=item binc()
- $x->binc(); # increment x by 1
+ $x->binc(); # increment x by 1
-=head2 bdec()
+=item bdec()
- $x->bdec(); # decrement x by 1
+ $x->bdec(); # decrement x by 1
-=head2 badd()
+=item badd()
- $x->badd($y); # addition (add $y to $x)
+ $x->badd($y); # addition (add $y to $x)
-=head2 bsub()
+=item bsub()
- $x->bsub($y); # subtraction (subtract $y from $x)
+ $x->bsub($y); # subtraction (subtract $y from $x)
-=head2 bmul()
+=item bmul()
- $x->bmul($y); # multiplication (multiply $x by $y)
+ $x->bmul($y); # multiplication (multiply $x by $y)
-=head2 bmuladd()
+=item bmuladd()
- $x->bmuladd($y,$z);
+ $x->bmuladd($y,$z);
Multiply $x by $y, and then add $z to the result,
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bdiv()
+=item bdiv()
- $x->bdiv($y); # divide, set $x to quotient
+ $x->bdiv($y); # divide, set $x to quotient
# return (quo,rem) or quo if scalar
-=head2 bmod()
+=item bmod()
- $x->bmod($y); # modulus (x % y)
+ $x->bmod($y); # modulus (x % y)
-=head2 bmodinv()
+=item bmodinv()
- $x->bmodinv($mod); # modular multiplicative inverse
+ $x->bmodinv($mod); # modular multiplicative inverse
Returns the multiplicative inverse of C<$x> modulo C<$mod>. If
- $y = $x -> copy() -> bmodinv($mod)
+ $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
+ ($x * $y) % $mod = 1 % $mod
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()
+=item bmodpow()
- $num->bmodpow($exp,$mod); # modular exponentiation
+ $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 exponentiation. C<bmodpow> is far superior to
writing
- $num ** $exp % $mod
+ $num ** $exp % $mod
because it is much faster - it reduces internal variables into
the modulus whenever possible, so it operates on smaller numbers.
C<bmodpow> also supports negative exponents.
- bmodpow($num, -1, $mod)
+ bmodpow($num, -1, $mod)
is exactly equivalent to
- bmodinv($num, $mod)
+ bmodinv($num, $mod)
-=head2 bpow()
+=item bpow()
- $x->bpow($y); # power of arguments (x ** y)
+ $x->bpow($y); # power of arguments (x ** y)
-=head2 blog()
+=item blog()
- $x->blog($base, $accuracy); # logarithm of x to the base $base
+ $x->blog($base, $accuracy); # logarithm of x to the base $base
If C<$base> is not defined, Euler's number (e) is used:
- print $x->blog(undef, 100); # log(x) to 100 digits
+ print $x->blog(undef, 100); # log(x) to 100 digits
-=head2 bexp()
+=item bexp()
- $x->bexp($accuracy); # calculate e ** X
+ $x->bexp($accuracy); # calculate e ** X
Calculates the expression C<e ** $x> where C<e> is Euler's number.
@@ -3983,9 +3990,9 @@ This method was added in v1.82 of Math::BigInt (April 2007).
See also L</blog()>.
-=head2 bnok()
+=item bnok()
- $x->bnok($y); # x over y (binomial coefficient n over k)
+ $x->bnok($y); # x over y (binomial coefficient n over k)
Calculates the binomial coefficient n over k, also called the "choose"
function. The result is equivalent to:
@@ -3996,9 +4003,9 @@ function. The result is equivalent to:
This method was added in v1.84 of Math::BigInt (April 2007).
-=head2 bpi()
+=item bpi()
- print Math::BigInt->bpi(100), "\n"; # 3
+ print Math::BigInt->bpi(100), "\n"; # 3
Returns PI truncated to an integer, with the argument being ignored. This means
under BigInt this always returns C<3>.
@@ -4006,17 +4013,17 @@ under BigInt this always returns C<3>.
If upgrading is in effect, returns PI, rounded to N digits with the
current rounding mode:
- use Math::BigFloat;
- use Math::BigInt upgrade => Math::BigFloat;
- print Math::BigInt->bpi(3), "\n"; # 3.14
- print Math::BigInt->bpi(100), "\n"; # 3.1415....
+ use Math::BigFloat;
+ use Math::BigInt upgrade => Math::BigFloat;
+ print Math::BigInt->bpi(3), "\n"; # 3.14
+ print Math::BigInt->bpi(100), "\n"; # 3.1415....
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bcos()
+=item bcos()
- my $x = Math::BigInt->new(1);
- print $x->bcos(100), "\n";
+ my $x = Math::BigInt->new(1);
+ print $x->bcos(100), "\n";
Calculate the cosinus of $x, modifying $x in place.
@@ -4025,10 +4032,10 @@ integer.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 bsin()
+=item bsin()
- my $x = Math::BigInt->new(1);
- print $x->bsin(100), "\n";
+ my $x = Math::BigInt->new(1);
+ print $x->bsin(100), "\n";
Calculate the sinus of $x, modifying $x in place.
@@ -4037,11 +4044,11 @@ integer.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 batan2()
+=item batan2()
- my $x = Math::BigInt->new(1);
- my $y = Math::BigInt->new(1);
- print $y->batan2($x), "\n";
+ my $x = Math::BigInt->new(1);
+ my $y = Math::BigInt->new(1);
+ print $y->batan2($x), "\n";
Calculate the arcus tangens of C<$y> divided by C<$x>, modifying $y in place.
@@ -4050,10 +4057,10 @@ integer.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 batan()
+=item batan()
- my $x = Math::BigFloat->new(0.5);
- print $x->batan(100), "\n";
+ my $x = Math::BigFloat->new(0.5);
+ print $x->batan(100), "\n";
Calculate the arcus tangens of $x, modifying $x in place.
@@ -4062,60 +4069,60 @@ integer.
This method was added in v1.87 of Math::BigInt (June 2007).
-=head2 blsft()
+=item blsft()
- $x->blsft($y); # left shift in base 2
- $x->blsft($y,$n); # left shift, in base $n (like 10)
+ $x->blsft($y); # left shift in base 2
+ $x->blsft($y,$n); # left shift, in base $n (like 10)
-=head2 brsft()
+=item brsft()
- $x->brsft($y); # right shift in base 2
- $x->brsft($y,$n); # right shift, in base $n (like 10)
+ $x->brsft($y); # right shift in base 2
+ $x->brsft($y,$n); # right shift, in base $n (like 10)
-=head2 band()
+=item band()
- $x->band($y); # bitwise and
+ $x->band($y); # bitwise and
-=head2 bior()
+=item bior()
- $x->bior($y); # bitwise inclusive or
+ $x->bior($y); # bitwise inclusive or
-=head2 bxor()
+=item bxor()
- $x->bxor($y); # bitwise exclusive or
+ $x->bxor($y); # bitwise exclusive or
-=head2 bnot()
+=item bnot()
- $x->bnot(); # bitwise not (two's complement)
+ $x->bnot(); # bitwise not (two's complement)
-=head2 bsqrt()
+=item bsqrt()
- $x->bsqrt(); # calculate square-root
+ $x->bsqrt(); # calculate square-root
-=head2 broot()
+=item broot()
- $x->broot($N);
+ $x->broot($N);
Calculates the N'th root of C<$x>.
-=head2 bfac()
+=item bfac()
- $x->bfac(); # factorial of $x (1*2*3*4*..$x)
+ $x->bfac(); # factorial of $x (1*2*3*4*..$x)
-=head2 round()
+=item round()
- $x->round($A,$P,$round_mode);
+ $x->round($A,$P,$round_mode);
Round $x to accuracy C<$A> or precision C<$P> using the round mode
C<$round_mode>.
-=head2 bround()
+=item bround()
- $x->bround($N); # accuracy: preserve $N digits
+ $x->bround($N); # accuracy: preserve $N digits
-=head2 bfround()
+=item bfround()
- $x->bfround($N);
+ $x->bfround($N);
If N is > 0, rounds to the Nth digit from the left. If N < 0, rounds to
the Nth digit after the dot. Since BigInts are integers, the case N < 0
@@ -4130,60 +4137,69 @@ Examples:
123456.123456 -2 123456.12
123456.123456 -3 123456.123
-=head2 bfloor()
+=item bfloor()
+
+ $x->bfloor();
- $x->bfloor();
+Round $x towards minus infinity (i.e., set $x to the largest integer less than
+or equal to $x). This is a no-op in BigInt, but changes $x in BigFloat, if $x
+is not an integer.
-Set $x to the integer less or equal than $x. This is a no-op in BigInt, but
-does change $x in BigFloat.
+=item bceil()
-=head2 bceil()
+ $x->bceil();
- $x->bceil();
+Round $x towards plus infinity (i.e., set $x to the smallest integer greater
+than or equal to $x). This is a no-op in BigInt, but changes $x in BigFloat, if
+$x is not an integer.
-Set $x to the integer greater or equal than $x. This is a no-op in BigInt, but
-does change $x in BigFloat.
+=item bint()
-=head2 bgcd()
+ $x->bint();
- bgcd(@values); # greatest common divisor (no OO style)
+Round $x towards zero. This is a no-op in BigInt, but changes $x in BigFloat,
+if $x is not an integer.
-=head2 blcm()
+=item bgcd()
- blcm(@values); # lowest common multiple (no OO style)
+ bgcd(@values); # greatest common divisor (no OO style)
-head2 length()
+=item blcm()
- $x->length();
- ($xl,$fl) = $x->length();
+ blcm(@values); # lowest common multiple (no OO style)
+
+=item length()
+
+ $x->length();
+ ($xl,$fl) = $x->length();
Returns the number of digits in the decimal representation of the number.
In list context, returns the length of the integer and fraction part. For
BigInt's, the length of the fraction part will always be 0.
-=head2 exponent()
+=item exponent()
- $x->exponent();
+ $x->exponent();
Return the exponent of $x as BigInt.
-=head2 mantissa()
+=item mantissa()
- $x->mantissa();
+ $x->mantissa();
Return the signed mantissa of $x as BigInt.
-=head2 parts()
+=item parts()
- $x->parts(); # return (mantissa,exponent) as BigInt
+ $x->parts(); # return (mantissa,exponent) as BigInt
-=head2 copy()
+=item copy()
- $x->copy(); # make a true copy of $x (unlike $y = $x;)
+ $x->copy(); # make a true copy of $x (unlike $y = $x;)
-=head2 as_int()/as_number()
+=item 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()>.
@@ -4191,29 +4207,29 @@ 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()
+=item bstr()
- $x->bstr();
+ $x->bstr();
Returns a normalized string representation of C<$x>.
-=head2 bsstr()
+=item bsstr()
- $x->bsstr(); # normalized string in scientific notation
+ $x->bsstr(); # normalized string in scientific notation
-=head2 as_hex()
+=item as_hex()
- $x->as_hex(); # as signed hexadecimal string with prefixed 0x
+ $x->as_hex(); # as signed hexadecimal string with prefixed 0x
-=head2 as_bin()
+=item as_bin()
- $x->as_bin(); # as signed binary string with prefixed 0b
+ $x->as_bin(); # as signed binary string with prefixed 0b
-=head2 as_oct()
+=item as_oct()
- $x->as_oct(); # as signed octal string with prefixed 0
+ $x->as_oct(); # as signed octal string with prefixed 0
-=head2 numify()
+=item numify()
print $x->numify();
@@ -4222,16 +4238,16 @@ whenever a scalar is needed, for instance in array index operations.
This loses precision, to avoid this use L<as_int()|/"as_int()/as_number()"> instead.
-=head2 modify()
+=item modify()
- $x->modify('bpowd');
+ $x->modify('bpowd');
This method returns 0 if the object can be modified with the given
operation, or 1 if not.
This is used for instance by L<Math::BigInt::Constant>.
-=head2 upgrade()/downgrade()
+=item upgrade()/downgrade()
Set/get the class for downgrade/upgrade operations. Thuis is used
for instance by L<bignum>. The defaults are '', thus the following
@@ -4242,15 +4258,17 @@ operation will create a BigInt, not a BigFloat:
print $i + $f,"\n"; # print 246
-=head2 div_scale()
+=item div_scale()
Set/get the number of digits for the default precision in divide
operations.
-=head2 round_mode()
+=item round_mode()
Set/get the current round mode.
+=back
+
=head1 ACCURACY and PRECISION
Since version v1.33, Math::BigInt and Math::BigFloat have full support for
@@ -4323,7 +4341,7 @@ When rounding a number, different 'styles' or 'kinds'
of rounding are possible. (Note that random rounding, as in
Math::Round, is not implemented.)
-=over 2
+=over
=item 'trunc'
@@ -4388,7 +4406,7 @@ is 5 or greater, otherwise round down. E.g., 0.15 becomes 0.2 and
The handling of A & P in MBI/MBF (the old core code shipped with Perl
versions <= 5.7.2) is like this:
-=over 2
+=over
=item Precision
@@ -4400,14 +4418,15 @@ versions <= 5.7.2) is like this:
* fround($a) rounds to $a significant digits
* 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
- or ffround, and never for BigInt (not implemented)
+ + 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 or ffround, and never for BigInt (not implemented)
* fsqrt() simply hands its accuracy argument over to fdiv.
- * the documentation and the comment in the code indicate two different ways
- on how fdiv() determines the maximum number of digits it should calculate,
- and the actual code does yet another thing
+ * the documentation and the comment in the code indicate two
+ different ways on how fdiv() determines the maximum number
+ of digits it should calculate, and the actual code does yet
+ another thing
POD:
max($Math::BigFloat::div_scale,length(dividend)+length(divisor))
Comment:
@@ -4415,16 +4434,18 @@ versions <= 5.7.2) is like this:
Actual code:
scale = max(scale, length(dividend)-1,length(divisor)-1);
scale += length(divisor) - length(dividend);
- So for lx = 3, ly = 9, scale = 10, scale will actually be 16 (10+9-3).
- Actually, the 'difference' added to the scale is calculated from the
- number of "significant digits" in dividend and divisor, which is derived
- by looking at the length of the mantissa. Which is wrong, since it includes
- the + sign (oops) and actually gets 2 for '+100' and 4 for '+101'. Oops
- again. Thus 124/3 with div_scale=1 will get you '41.3' based on the strange
- 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
- whether it must round up or down.
+ So for lx = 3, ly = 9, scale = 10, scale will actually be 16 (10
+ So for lx = 3, ly = 9, scale = 10, scale will actually be 16
+ (10+9-3). Actually, the 'difference' added to the scale is cal-
+ culated from the number of "significant digits" in dividend and
+ divisor, which is derived by looking at the length of the man-
+ tissa. Which is wrong, since it includes the + sign (oops) and
+ actually gets 2 for '+100' and 4 for '+101'. Oops again. Thus
+ 124/3 with div_scale=1 will get you '41.3' based on the strange
+ assumption that 124 has 3 significant digits, while 120/7 will
+ get you '17', not '17.1' since 120 is thought to have 2 signif-
+ icant digits. The rounding after the division then uses the
+ remainder and $y to determine 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.
@@ -4432,7 +4453,7 @@ versions <= 5.7.2) is like this:
This is how it works now:
-=over 2
+=over
=item Setting/Accessing
@@ -4614,7 +4635,7 @@ This is how it works now:
While BigInt has extensive handling of inf and NaN, certain quirks remain.
-=over 2
+=over
=item oct()/hex()
@@ -4747,16 +4768,16 @@ change.
use Math::BigInt;
- sub bint { Math::BigInt->new(shift); }
+ sub bigint { Math::BigInt->new(shift); }
$x = Math::BigInt->bstr("1234") # string "1234"
$x = "$x"; # same as bstr()
$x = Math::BigInt->bneg("1234"); # BigInt "-1234"
$x = Math::BigInt->babs("-12345"); # BigInt "12345"
$x = Math::BigInt->bnorm("-0.00"); # BigInt "0"
- $x = bint(1) + bint(2); # BigInt "3"
- $x = bint(1) + "2"; # ditto (auto-BigIntify of "2")
- $x = bint(1); # BigInt "1"
+ $x = bigint(1) + bigint(2); # BigInt "3"
+ $x = bigint(1) + "2"; # ditto (auto-BigIntify of "2")
+ $x = bigint(1); # BigInt "1"
$x = $x + 5 / 2; # BigInt "3"
$x = $x ** 3; # BigInt "27"
$x *= 2; # BigInt "54"
@@ -4881,7 +4902,7 @@ For more benchmark results see L<http://bloodgate.com/perl/benchmarks.html>.
The basic design of Math::BigInt allows simple subclasses with very little
work, as long as a few simple rules are followed:
-=over 2
+=over
=item *
@@ -4950,7 +4971,7 @@ the class Foo::Bar. Usually this is used in conjunction with Math::BigFloat:
use Math::BigInt upgrade => 'Math::BigFloat';
-As a shortcut, you can use the module C<bignum>:
+As a shortcut, you can use the module L<bignum>:
use bignum;
@@ -4968,7 +4989,7 @@ Beware: This feature is not fully implemented yet.
The following methods upgrade themselves unconditionally; that is if upgrade
is in effect, they will always hand up their work:
-=over 2
+=over
=item bsqrt()
@@ -4998,7 +5019,7 @@ C<Math::BigInt> exports nothing by default, but can export the following methods
Some things might not work as you expect them. Below is documented what is
known to be troublesome:
-=over 1
+=over
=item bstr(), bsstr() and 'cmp'
@@ -5052,7 +5073,7 @@ comparing them as strings:
$y = Math::BigInt->new($y);
ok ($x,$y); # okay
-Alternatively, simple use C<< <=> >> for comparisons, this will get it
+Alternatively, simply use C<< <=> >> for comparisons, this will get it
always right. There is not yet a way to get a number automatically represented
as a string that matches exactly the way Perl represents it.
@@ -5087,7 +5108,7 @@ when you access an array:
$z = $array[$x]; # does work automatically
-=item length
+=item length()
The following will probably not do what you expect:
@@ -5099,7 +5120,7 @@ since print calls C<length()> in list context. Use something like:
print scalar $c->length(),"\n"; # prints 3
-=item bdiv
+=item bdiv()
The following will probably not do what you expect:
@@ -5110,9 +5131,10 @@ 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
-instead.
+or, if you want to modify $c instead,
+
+ print scalar $c->bdiv(10000),"\n";
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
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
index 69092370533..3d886910005 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
@@ -2,9 +2,9 @@ package Math::BigInt::Calc;
use 5.006002;
use strict;
-# use warnings; # dont use warnings for older Perls
+# use warnings; # do not use warnings for older Perls
-our $VERSION = '1.997';
+our $VERSION = '1.998';
# Package to store unsigned big integers in decimal and do math with them
@@ -23,7 +23,7 @@ our $VERSION = '1.997';
# Beware of things like:
# $i = $i * $y + $car; $car = int($i / $BASE); $i = $i % $BASE;
-# This works on x86, but fails on ARM (SA1100, iPAQ) due to whoknows what
+# This works on x86, but fails on ARM (SA1100, iPAQ) due to who knows what
# reasons. So, use this instead (slower, but correct):
# $i = $i * $y + $car; $car = int($i / $BASE); $i -= $BASE * $car;
@@ -1566,7 +1566,7 @@ sub _nok {
else {
- # Make a copy of the original n, since we'll be modifing n in-place.
+ # Make a copy of the original n, since we'll be modifying n in-place.
my $n_orig = _copy($c, $n);
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
index c82e1539865..bcf74a8ab8f 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
@@ -2,10 +2,10 @@ package Math::BigInt::CalcEmu;
use 5.006002;
use strict;
-# use warnings; # dont use warnings for older Perls
+# use warnings; # do not use warnings for older Perls
use vars qw/$VERSION/;
-$VERSION = '1.998';
+$VERSION = '1.9991';
package Math::BigInt;
@@ -305,11 +305,15 @@ using a call to the native lib.
=head1 METHODS
-=head2 __emu_bxor
+=over
-=head2 __emu_band
+=item __emu_bxor
-=head2 __emu_bior
+=item __emu_band
+
+=item __emu_bior
+
+=back
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
index 81f29a16e4f..9bf5a60839e 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
@@ -8,7 +8,7 @@ use Math::BigInt::Calc 1.997;
use vars '$VERSION';
-$VERSION = '0.30';
+$VERSION = '0.31';
##############################################################################
# global constants, flags and accessory
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
index 4c51e5773da..79fc0970e47 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
@@ -12,7 +12,7 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
@ISA = qw(Exporter Math::BigInt);
-$VERSION = '0.32';
+$VERSION = '0.36';
use overload; # inherit overload from BigInt
diff --git a/Master/tlpkg/tlperl/lib/Math/BigRat.pm b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
index a70a42905a9..15b2ed08fe8 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigRat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
@@ -24,7 +24,7 @@ use vars qw($VERSION @ISA $upgrade $downgrade
@ISA = qw(Math::BigFloat);
-$VERSION = '0.2604';
+$VERSION = '0.2606';
$VERSION = eval $VERSION;
# inherit overload from Math::BigFloat, but disable the bitwise ops that don't
@@ -258,7 +258,7 @@ sub new
if ($n->{sign} =~ /^[+-]$/ && $d->{sign} =~ /^[+-]$/)
{
- # both parts are ok as integers (wierd things like ' 1e0'
+ # both parts are ok as integers (weird things like ' 1e0'
$self->{_n} = $MBI->_copy($n->{value});
$self->{_d} = $MBI->_copy($d->{value});
$self->{sign} = $n->{sign};
@@ -446,7 +446,7 @@ sub bneg
return $x if $x->modify('bneg');
- # for +0 dont negate (to have always normalized +0). Does nothing for 'NaN'
+ # for +0 do not negate (to have always normalized +0). Does nothing for 'NaN'
$x->{sign} =~ tr/+-/-+/ unless ($x->{sign} eq '+' && $MBI->_is_zero($x->{_n}));
$x;
}
@@ -1271,7 +1271,7 @@ sub bsqrt
$x->{_n} = _float_from_part( $x->{_n} )->bsqrt();
$x->{_d} = _float_from_part( $x->{_d} )->bsqrt();
- # XXX TODO: we probably can optimze this:
+ # XXX TODO: we probably can optimize this:
# if sqrt(D) was not integer
if ($x->{_d}->{_es} ne '+')
@@ -1925,7 +1925,7 @@ Euler's number.
This method was added in v0.20 of Math::BigRat (May 2007).
-See also L</blog()>.
+See also C<blog()>.
=head2 bnok()
diff --git a/Master/tlpkg/tlperl/lib/Math/Int64.pm b/Master/tlpkg/tlperl/lib/Math/Int64.pm
index 21be450ebfb..0dad403e899 100755
--- a/Master/tlpkg/tlperl/lib/Math/Int64.pm
+++ b/Master/tlpkg/tlperl/lib/Math/Int64.pm
@@ -4,10 +4,9 @@ use strict;
use warnings;
BEGIN {
- our $VERSION = '0.30';
-
- require XSLoader;
- XSLoader::load('Math::Int64', $VERSION);
+our $VERSION = '0.52';
+require XSLoader;
+XSLoader::load('Math::Int64', $VERSION);
}
use constant MAX_INT64 => string_to_int64 ( '0x7fff_ffff_ffff_ffff');
@@ -100,7 +99,8 @@ use overload ( '+' => \&_add,
'=' => \&_clone,
fallback => 1 );
-package Math::UInt64;
+package # hide from PAUSE since it also has its own .pm file
+ Math::UInt64;
use overload ( '+' => \&_add,
'+=' => \&_add,
'-' => \&_sub,
@@ -138,8 +138,12 @@ use overload ( '+' => \&_add,
1;
+# ABSTRACT: Manipulate 64 bits integers in Perl
+
__END__
+=encoding UTF-8
+
=head1 NAME
Math::Int64 - Manipulate 64 bits integers in Perl
@@ -262,7 +266,7 @@ rule:
That way, positive and negative integers are interleaved as 0, -1, 1,
2, -2, .... The format is similar to that used by Google protocol
-buffers to encode signed varints but with the most significant groups
+buffers to encode signed variants but with the most significant groups
first (protocol buffers uses the least significant groups first
variant).
@@ -280,7 +284,7 @@ There must not be any extra bytes on the string after the encoded number.
Given a string with a BER encoded number at the beginning, this
function returns the number of bytes it uses.
-The rigth way to shift a BER encoded number from the beginning of some
+The right way to shift a BER encoded number from the beginning of some
string is as follows:
$i64 = BER_to_int64(substr($str, 0, BER_length($str), ''));
@@ -328,6 +332,10 @@ Encodes the given unsigned integer in BER format (see L<perlfunc/pack>).
Decodes from the given string an unsigned number in BER format.
+=item uint64_rand
+
+Generates a 64 bit random unsigned number using ISAAC-64 algorithm.
+
=back
=head2 Die on overflow
@@ -362,7 +370,7 @@ C<die_on_overflow> pragma is global and can not be deactivated.
If the lexical pragma C<Math::Int64::native_if_available> is used in
your program and the version of perl in use has native support for
-64bit intgers, the functions imported from the module that create
+64bit integers, the functions imported from the module that create
64bit integers (i.e. C<uint64>, C<int64>, C<string_to_int64>,
C<native_to_int64>, etc.) will return regular perl scalars.
@@ -380,9 +388,10 @@ This feature is not enabled by default because the semantics for perl
scalars and for 64 bit integers as implemented in this module are not
identical.
-Perl is prone to coerze integers into floats while this module keeps
+Perl is prone to coerce integers into floats while this module keeps
then always as 64bit integers. Specifically, the division operation
-and overflows are the most problematic cases.
+and overflows are the most problematic cases. Also, when using native
+integers, the signed/unsigned division blurs.
Besides that, in most situations it is safe to use the native fallback.
@@ -452,22 +461,22 @@ For instance:
#include "perl.h"
#include "XSUB.h"
#include "ppport.h"
-
+
/* #define MATH_INT64_NATIVE_IF_AVAILABLE */
#include "math_int64.h"
-
+
MODULE = Foo64 PACKAGE = Foo64
BOOT:
PERL_MATH_INT64_LOAD_OR_CROAK;
-
+
int64_t
some_int64()
CODE:
RETVAL = -42;
OUTPUT:
RETVAL
-
-
+
+
--- Makefile.PL -----
use ExtUtils::MakeMaker;
@@ -513,6 +522,14 @@ Returns true is the given SV contains a valid uint64_t value.
Returns a random 64 bits unsigned integer.
+=item SV sv_seti64(SV *sv, uint64_t i64)
+
+Sets the value of the perl scalar to the given int64_t value.
+
+=item SV sv_setu64(SV *sv, uint64_t i64)
+
+Sets the value of the perl scalar to the given uint64_t value.
+
=back
If you require any other function available through the C API don't
@@ -527,7 +544,7 @@ The C API feature is experimental.
This module requires int64 support from the C compiler.
In order to report bugs you can send me and email to the address that
-appears below or use the CPAN RT bugtracking system available at
+appears below or use the CPAN RT bug tracking system available at
L<http://rt.cpan.org>.
The source for the development version of the module is hosted at
@@ -549,9 +566,11 @@ L<Math::BigInt::GMP>.
=head1 COPYRIGHT AND LICENSE
-Copyright E<copy> 2007, 2009, 2011-2013 by Salvador FandiE<ntilde>o
+Copyright E<copy> 2007, 2009, 2011-2015 by Salvador Fandiño
(sfandino@yahoo.com)
+Copyright E<copy> 2014-2015 by Dave Rolsky (autarch@urth.org)
+
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.
diff --git a/Master/tlpkg/tlperl/lib/Math/Int64/die_on_overflow.pm b/Master/tlpkg/tlperl/lib/Math/Int64/die_on_overflow.pm
index 9c5b10c084b..ce2c8f732c9 100755
--- a/Master/tlpkg/tlperl/lib/Math/Int64/die_on_overflow.pm
+++ b/Master/tlpkg/tlperl/lib/Math/Int64/die_on_overflow.pm
@@ -1,5 +1,8 @@
package Math::Int64::die_on_overflow;
+use strict;
+use warnings;
+
sub import {
require Math::Int64;
Math::Int64::_set_may_die_on_overflow(1);
@@ -13,8 +16,12 @@ sub unimport {
1;
+# ABSTRACT: catch overflows when using Math::Int64
+
__END__
+=encoding UTF-8
+
=head1 NAME
Math::Int64::die_on_overflow - catch overflows when using Math::Int64
@@ -32,13 +39,4 @@ Math::Int64::die_on_overflow - catch overflows when using Math::Int64
L<Math::Int64>.
-=head1 COPYRIGHT AND LICENSE
-
-Copyright E<copy> 2011 by Salvador FandiE<ntilde>o
-(sfandino@yahoo.com)
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself, either Perl version 5.8.8 or,
-at your option, any later version of Perl 5 you may have available.
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/Math/Int64/native_if_available.pm b/Master/tlpkg/tlperl/lib/Math/Int64/native_if_available.pm
index 170475dafab..b52466005d7 100755
--- a/Master/tlpkg/tlperl/lib/Math/Int64/native_if_available.pm
+++ b/Master/tlpkg/tlperl/lib/Math/Int64/native_if_available.pm
@@ -1,14 +1,40 @@
package Math::Int64::native_if_available;
+use strict;
+use warnings;
+
sub import {
if (Math::Int64::_backend() eq 'IV' and $] >= 5.008) {
Math::Int64::_set_may_use_native(1);
- $^H{Math::Int64::native_if_available} = 1;
+ $^H{'Math::Int64::native_if_available'} = 1;
}
}
sub unimport {
- undef $^H{Math::Int64::native_if_available};
+ undef $^H{'Math::Int64::native_if_available'};
}
1;
+
+# ABSTRACT: Use the native Perl 64-bit integer implementation when available
+
+__END__
+
+=encoding UTF-8
+
+=head1 NAME
+
+Math::Int64::native_if_available - Use the native Perl 64-bit integer implementation when available
+
+=head1 SYNOPSIS
+
+ use Math::Int64 qw(uint64);
+ use Math::Int64::native_if_available;
+
+=head1 SEE ALSO
+
+L<Math::Int64>.
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Math/UInt64.pm b/Master/tlpkg/tlperl/lib/Math/UInt64.pm
index 956cb4a2e61..6fc6d03ef25 100755
--- a/Master/tlpkg/tlperl/lib/Math/UInt64.pm
+++ b/Master/tlpkg/tlperl/lib/Math/UInt64.pm
@@ -1,14 +1,20 @@
package Math::UInt64;
-require Math::Int64;
-require Carp;
+use strict;
+use warnings;
+
+use Math::Int64;
sub import { goto &Math::Int64::import }
1;
+# ABSTRACT: Manipulate 64 bit unsigned integers from Perl
+
__END__
+=encoding UTF-8
+
=head1 NAME
Math::UInt64 - Manipulate 64 bit unsigned integers from Perl
@@ -23,13 +29,4 @@ demand.
L<Math::Int64>.
-=head1 COPYRIGHT AND LICENSE
-
-Copyright E<copy> 2007, 2009, 2011-2013 by Salvador FandiE<ntilde>o
-(sfandino@yahoo.com)
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself, either Perl version 5.8.8 or,
-at your option, any later version of Perl 5 you may have available.
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build.pm b/Master/tlpkg/tlperl/lib/Module/Build.pm
index fd835fc0659..aee7b44c1f5 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build.pm
@@ -1,5 +1,7 @@
package Module::Build;
+use if $] >= 5.019, 'deprecate';
+
# This module doesn't do much of anything itself, it inherits from the
# modules that do the real work. The only real thing it has to do is
# figure out which OS-specific module to pull in. Many of the
@@ -16,10 +18,9 @@ use Module::Build::Base;
use vars qw($VERSION @ISA);
@ISA = qw(Module::Build::Base);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
-
# Inserts the given module into the @ISA hierarchy between
# Module::Build and its immediate parent
sub _interpose_module {
@@ -94,10 +95,7 @@ C<ExtUtils::MakeMaker>. Developers may alter the behavior of the
module through subclassing in a much more straightforward way than
with C<MakeMaker>. It also does not require a C<make> on your system
- most of the C<Module::Build> code is pure-perl and written in a very
-cross-platform way. In fact, you don't even need a shell, so even
-platforms like MacOS (traditional) can use it fairly easily. Its only
-prerequisites are modules that are included with perl 5.6.0, and it
-works fine on perl 5.005 if you can install a few additional modules.
+cross-platform way.
See L<"MOTIVATIONS"> for more comparisons between C<ExtUtils::MakeMaker>
and C<Module::Build>.
@@ -379,6 +377,12 @@ C<Config.pm>. You can also supply or override install paths on the
command line by specifying C<install_path> values for the C<binhtml>
and/or C<libhtml> installation targets.
+With an optional C<html_links> argument set to a false value, you can
+skip the search for other documentation to link to, because that can
+waste a lot of time if there aren't any links to generate anyway:
+
+ ./Build html --html_links 0
+
=item install
[version 0.01]
@@ -747,7 +751,7 @@ executed build actions.
When Module::Build starts up, it will look first for a file,
F<$ENV{HOME}/.modulebuildrc>. If it's not found there, it will look
-in the the F<.modulebuildrc> file in the directories referred to by
+in the F<.modulebuildrc> file in the directories referred to by
the environment variables C<HOMEDRIVE> + C<HOMEDIR>, C<USERPROFILE>,
C<APPDATA>, C<WINDIR>, C<SYS$LOGIN>. If the file exists, the options
specified there will be used as defaults, as if they were typed on the
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/API.pod b/Master/tlpkg/tlperl/lib/Module/Build/API.pod
new file mode 100644
index 00000000000..af859e7fe40
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/Build/API.pod
@@ -0,0 +1,2124 @@
+=head1 NAME
+
+Module::Build::API - API Reference for Module Authors
+
+=for :stopwords apache bsd distdir distsign gpl installdirs lgpl mit mozilla packlists
+
+=head1 DESCRIPTION
+
+I list here some of the most important methods in C<Module::Build>.
+Normally you won't need to deal with these methods unless you want to
+subclass C<Module::Build>. But since one of the reasons I created
+this module in the first place was so that subclassing is possible
+(and easy), I will certainly write more docs as the interface
+stabilizes.
+
+
+=head2 CONSTRUCTORS
+
+=over 4
+
+=item current()
+
+[version 0.20]
+
+This method returns a reasonable facsimile of the currently-executing
+C<Module::Build> object representing the current build. You can use
+this object to query its L</notes()> method, inquire about installed
+modules, and so on. This is a great way to share information between
+different parts of your build process. For instance, you can ask
+the user a question during C<perl Build.PL>, then use their answer
+during a regression test:
+
+ # In Build.PL:
+ my $color = $build->prompt("What is your favorite color?");
+ $build->notes(color => $color);
+
+ # In t/colortest.t:
+ use Module::Build;
+ my $build = Module::Build->current;
+ my $color = $build->notes('color');
+ ...
+
+The way the C<current()> method is currently implemented, there may be
+slight differences between the C<$build> object in Build.PL and the
+one in C<t/colortest.t>. It is our goal to minimize these differences
+in future releases of Module::Build, so please report any anomalies
+you find.
+
+One important caveat: in its current implementation, C<current()> will
+B<NOT> work correctly if you have changed out of the directory that
+C<Module::Build> was invoked from.
+
+=item new()
+
+[version 0.03]
+
+Creates a new Module::Build object. Arguments to the new() method are
+listed below. Most arguments are optional, but you must provide
+either the L</module_name> argument, or L</dist_name> and one of
+L</dist_version> or L</dist_version_from>. In other words, you must
+provide enough information to determine both a distribution name and
+version.
+
+
+=over 4
+
+=item add_to_cleanup
+
+[version 0.19]
+
+An array reference of files to be cleaned up when the C<clean> action
+is performed. See also the L<add_to_cleanup()|/"add_to_cleanup(@files)">
+method.
+
+=item allow_pureperl
+
+[version 0.4005]
+
+A bool indicating the module is still functional without its xs parts.
+When an XS module is build with --pureperl_only, it will otherwise fail.
+
+=item auto_configure_requires
+
+[version 0.34]
+
+This parameter determines whether Module::Build will add itself
+automatically to configure_requires (and build_requires) if Module::Build
+is not already there. The required version will be the last 'major' release,
+as defined by the decimal version truncated to two decimal places (e.g. 0.34,
+instead of 0.3402). The default value is true.
+
+=item auto_features
+
+[version 0.26]
+
+This parameter supports the setting of features (see
+L</feature($name)>) automatically based on a set of prerequisites. For
+instance, for a module that could optionally use either MySQL or
+PostgreSQL databases, you might use C<auto_features> like this:
+
+ my $build = Module::Build->new
+ (
+ ...other stuff here...
+ auto_features => {
+ pg_support => {
+ description => "Interface with Postgres databases",
+ requires => { 'DBD::Pg' => 23.3,
+ 'DateTime::Format::Pg' => 0 },
+ },
+ mysql_support => {
+ description => "Interface with MySQL databases",
+ requires => { 'DBD::mysql' => 17.9,
+ 'DateTime::Format::MySQL' => 0 },
+ },
+ }
+ );
+
+For each feature named, the required prerequisites will be checked, and
+if there are no failures, the feature will be enabled (set to C<1>).
+Otherwise the failures will be displayed to the user and the feature
+will be disabled (set to C<0>).
+
+See the documentation for L</requires> for the details of how
+requirements can be specified.
+
+=item autosplit
+
+[version 0.04]
+
+An optional C<autosplit> argument specifies a file which should be run
+through the L<AutoSplit::autosplit()|AutoSplit/autosplit> function.
+If multiple files should be split, the argument may be given as an
+array of the files to split.
+
+In general I don't consider autosplitting a great idea, because it's
+not always clear that autosplitting achieves its intended performance
+benefits. It may even harm performance in environments like mod_perl,
+where as much as possible of a module's code should be loaded during
+startup.
+
+=item build_class
+
+[version 0.28]
+
+The Module::Build class or subclass to use in the build script.
+Defaults to "Module::Build" or the class name passed to or created by
+a call to L</subclass()>. This property is useful if you're
+writing a custom Module::Build subclass and have a bootstrapping
+problem--that is, your subclass requires modules that may not be
+installed when C<perl Build.PL> is executed, but you've listed in
+L</build_requires> so that they should be available when C<./Build> is
+executed.
+
+=item build_requires
+
+[version 0.07]
+
+Modules listed in this section are necessary to build and install the
+given module, but are not necessary for regular usage of it. This is
+actually an important distinction - it allows for tighter control over
+the body of installed modules, and facilitates correct dependency
+checking on binary/packaged distributions of the module.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item configure_requires
+
+[version 0.30]
+
+Modules listed in this section must be installed I<before> configuring
+this distribution (i.e. before running the F<Build.PL> script).
+This might be a specific minimum version of C<Module::Build> or any
+other module the F<Build.PL> needs in order to do its stuff. Clients
+like C<CPAN.pm> or C<CPANPLUS> will be expected to pick
+C<configure_requires> out of the F<META.yml> file and install these
+items before running the C<Build.PL>.
+
+Module::Build may automatically add itself to configure_requires.
+See L</auto_configure_requires> for details.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item test_requires
+
+[version 0.4004]
+
+Modules listed in this section must be installed before testing the distribution.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item create_packlist
+
+[version 0.28]
+
+If true, this parameter tells Module::Build to create a F<.packlist>
+file during the C<install> action, just like C<ExtUtils::MakeMaker> does.
+The file is created in a subdirectory of the C<arch> installation
+location. It is used by some other tools (CPAN, CPANPLUS, etc.) for
+determining what files are part of an install.
+
+The default value is true. This parameter was introduced in
+Module::Build version 0.2609; previously no packlists were ever
+created by Module::Build.
+
+=item c_source
+
+[version 0.04]
+
+An optional C<c_source> argument specifies a directory which contains
+C source files that the rest of the build may depend on. Any C<.c>
+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]
+
+Modules listed in this section conflict in some serious way with the
+given module. C<Module::Build> (or some higher-level tool) will
+refuse to install the given module if the given module/version is also
+installed.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item create_license
+
+[version 0.31]
+
+This parameter tells Module::Build to automatically create a
+F<LICENSE> file at the top level of your distribution, containing the
+full text of the author's chosen license. This requires
+C<Software::License> on the author's machine, and further requires
+that the C<license> parameter specifies a license that it knows about.
+
+=item create_makefile_pl
+
+[version 0.19]
+
+This parameter lets you use C<Module::Build::Compat> during the
+C<distdir> (or C<dist>) action to automatically create a Makefile.PL
+for compatibility with C<ExtUtils::MakeMaker>. The parameter's value
+should be one of the styles named in the L<Module::Build::Compat>
+documentation.
+
+=item create_readme
+
+[version 0.22]
+
+This parameter tells Module::Build to automatically create a F<README>
+file at the top level of your distribution. Currently it will simply
+use C<Pod::Text> (or C<Pod::Readme> if it's installed) on the file
+indicated by C<dist_version_from> and put the result in the F<README>
+file. This is by no means the only recommended style for writing a
+F<README>, but it seems to be one common one used on the CPAN.
+
+If you generate a F<README> in this way, it's probably a good idea to
+create a separate F<INSTALL> file if that information isn't in the
+generated F<README>.
+
+=item dist_abstract
+
+[version 0.20]
+
+This should be a short description of the distribution. This is used when
+generating metadata for F<META.yml> and PPD files. If it is not given
+then C<Module::Build> looks in the POD of the module from which it gets
+the distribution's version. If it finds a POD section marked "=head1
+NAME", then it looks for the first line matching C<\s+-\s+(.+)>,
+and uses the captured text as the abstract.
+
+=item dist_author
+
+[version 0.20]
+
+This should be something like "John Doe <jdoe@example.com>", or if
+there are multiple authors, an anonymous array of strings may be
+specified. This is used when generating metadata for F<META.yml> and
+PPD files. If this is not specified, then C<Module::Build> looks at
+the module from which it gets the distribution's version. If it finds
+a POD section marked "=head1 AUTHOR", then it uses the contents of
+this section.
+
+=item dist_name
+
+[version 0.11]
+
+Specifies the name for this distribution. Most authors won't need to
+set this directly, they can use C<module_name> to set C<dist_name> to
+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]
+
+Specifies a version number for the distribution. See L</module_name>
+or L</dist_version_from> for ways to have this set automatically from a
+C<$VERSION> variable in a module. One way or another, a version
+number needs to be set.
+
+=item dist_version_from
+
+[version 0.11]
+
+Specifies a file to look for the distribution version in. Most
+authors won't need to set this directly, they can use L</module_name>
+to set it to a reasonable default.
+
+The version is extracted from the specified file according to the same
+rules as L<ExtUtils::MakeMaker> and C<CPAN.pm>. It involves finding
+the first line that matches the regular expression
+
+ /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/
+
+eval()-ing that line, then checking the value of the C<$VERSION>
+variable. Quite ugly, really, but all the modules on CPAN depend on
+this process, so there's no real opportunity to change to something
+better.
+
+If the target file of L</dist_version_from> contains more than one package
+declaration, the version returned will be the one matching the configured
+L</module_name>.
+
+=item dynamic_config
+
+[version 0.07]
+
+A boolean flag indicating whether the F<Build.PL> file must be
+executed, or whether this module can be built, tested and installed
+solely from consulting its metadata file. The main reason to set this
+to a true value is that your module performs some dynamic
+configuration as part of its build/install process. If the flag is
+omitted, the F<META.yml> spec says that installation tools should
+treat it as 1 (true), because this is a safer way to behave.
+
+Currently C<Module::Build> doesn't actually do anything with this flag
+- it's up to higher-level tools like C<CPAN.pm> to do something useful
+with it. It can potentially bring lots of security, packaging, and
+convenience improvements.
+
+=item extra_compiler_flags
+
+=item extra_linker_flags
+
+[version 0.19]
+
+These parameters can contain array references (or strings, in which
+case they will be split into arrays) to pass through to the compiler
+and linker phases when compiling/linking C code. For example, to tell
+the compiler that your code is C++, you might do:
+
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ extra_compiler_flags => ['-x', 'c++'],
+ );
+
+To link your XS code against glib you might write something like:
+
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ dynamic_config => 1,
+ extra_compiler_flags => scalar `glib-config --cflags`,
+ extra_linker_flags => scalar `glib-config --libs`,
+ );
+
+=item extra_manify_args
+
+[version 0.4006]
+
+Any extra arguments to pass to C<< Pod::Man->new() >> when building
+man pages. One common choice might be C<< utf8 => 1 >> to get Unicode
+support.
+
+=item get_options
+
+[version 0.26]
+
+You can pass arbitrary command line options to F<Build.PL> or
+F<Build>, and they will be stored in the Module::Build object and can
+be accessed via the L</args()> method. However, sometimes you want
+more flexibility out of your argument processing than this allows. In
+such cases, use the C<get_options> parameter to pass in a hash
+reference of argument specifications, and the list of arguments to
+F<Build.PL> or F<Build> will be processed according to those
+specifications before they're passed on to C<Module::Build>'s own
+argument processing.
+
+The supported option specification hash keys are:
+
+
+=over 4
+
+=item type
+
+The type of option. The types are those supported by Getopt::Long; consult
+its documentation for a complete list. Typical types are C<=s> for strings,
+C<+> for additive options, and C<!> for negatable options. If the
+type is not specified, it will be considered a boolean, i.e. no
+argument is taken and a value of 1 will be assigned when the option is
+encountered.
+
+=item store
+
+A reference to a scalar in which to store the value passed to the option.
+If not specified, the value will be stored under the option name in the
+hash returned by the C<args()> method.
+
+=item default
+
+A default value for the option. If no default value is specified and no option
+is passed, then the option key will not exist in the hash returned by
+C<args()>.
+
+=back
+
+
+You can combine references to your own variables or subroutines with
+unreferenced specifications, for which the result will also be stored in the
+hash returned by C<args()>. For example:
+
+ my $loud = 0;
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ get_options => {
+ Loud => { store => \$loud },
+ Dbd => { type => '=s' },
+ Quantity => { type => '+' },
+ }
+ );
+
+ print STDERR "HEY, ARE YOU LISTENING??\n" if $loud;
+ print "We'll use the ", $build->args('Dbd'), " DBI driver\n";
+ print "Are you sure you want that many?\n"
+ if $build->args('Quantity') > 2;
+
+The arguments for such a specification can be called like so:
+
+ perl Build.PL --Loud --Dbd=DBD::pg --Quantity --Quantity --Quantity
+
+B<WARNING:> Any option specifications that conflict with Module::Build's own
+options (defined by its properties) will throw an exception. Use capitalized
+option names to avoid unintended conflicts with future Module::Build options.
+
+Consult the Getopt::Long documentation for details on its usage.
+
+=item include_dirs
+
+[version 0.24]
+
+Specifies any additional directories in which to search for C header
+files. May be given as a string indicating a single directory, or as
+a list reference indicating multiple directories.
+
+=item install_path
+
+[version 0.19]
+
+You can set paths for individual installable elements by using the
+C<install_path> parameter:
+
+ my $build = Module::Build->new
+ (
+ ...other stuff here...
+ install_path => {
+ lib => '/foo/lib',
+ arch => '/foo/lib/arch',
+ }
+ );
+
+=item installdirs
+
+[version 0.19]
+
+Determines where files are installed within the normal perl hierarchy
+as determined by F<Config.pm>. Valid values are: C<core>, C<site>,
+C<vendor>. The default is C<site>. See
+L<Module::Build/"INSTALL PATHS">
+
+=item license
+
+[version 0.07]
+
+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
+
+=item apache
+
+The distribution is licensed under the Apache License, Version 2.0
+(L<http://apache.org/licenses/LICENSE-2.0>).
+
+=item apache_1_1
+
+The distribution is licensed under the Apache Software License, Version 1.1
+(L<http://apache.org/licenses/LICENSE-1.1>).
+
+=item artistic
+
+The distribution is licensed under the Artistic License, as specified
+by the F<Artistic> file in the standard Perl distribution.
+
+=item artistic_2
+
+The distribution is licensed under the Artistic 2.0 License
+(L<http://opensource.org/licenses/artistic-license-2.0.php>.)
+
+=item bsd
+
+The distribution is licensed under the BSD License
+(L<http://www.opensource.org/licenses/bsd-license.php>).
+
+=item gpl
+
+The distribution is licensed under the terms of the GNU General
+Public License (L<http://www.opensource.org/licenses/gpl-license.php>).
+
+=item lgpl
+
+The distribution is licensed under the terms of the GNU Lesser
+General Public License
+(L<http://www.opensource.org/licenses/lgpl-license.php>).
+
+=item mit
+
+The distribution is licensed under the MIT License
+(L<http://opensource.org/licenses/mit-license.php>).
+
+=item mozilla
+
+The distribution is licensed under the Mozilla Public
+License. (L<http://opensource.org/licenses/mozilla1.0.php> or
+L<http://opensource.org/licenses/mozilla1.1.php>)
+
+=item open_source
+
+The distribution is licensed under some other Open Source
+Initiative-approved license listed at
+L<http://www.opensource.org/licenses/>.
+
+=item perl
+
+The distribution may be copied and redistributed under the same terms
+as Perl itself (this is by far the most common licensing option for
+modules on CPAN). This is a dual license, in which the user may
+choose between either the GPL or the Artistic license.
+
+=item restrictive
+
+The distribution may not be redistributed without special permission
+from the author and/or copyright holder.
+
+=item unrestricted
+
+The distribution is licensed under a license that is B<not> approved
+by www.opensource.org but that allows distribution without
+restrictions.
+
+=back
+
+Note that you must still include the terms of your license in 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
+terms.
+
+You may also use a license type of C<unknown> if you don't wish to
+specify your terms in the metadata.
+
+Also see the C<create_license> parameter.
+
+=item meta_add
+
+[version 0.28]
+
+A hash of key/value pairs that should be added to the F<META.yml> file
+during the C<distmeta> action. Any existing entries with the same
+names will be overridden.
+
+See the L</"MODULE METADATA"> section for details.
+
+=item meta_merge
+
+[version 0.28]
+
+A hash of key/value pairs that should be merged into the F<META.yml>
+file during the C<distmeta> action. Any existing entries with the
+same names will be overridden.
+
+The only difference between C<meta_add> and C<meta_merge> is their
+behavior on hash-valued and array-valued entries: C<meta_add> will
+completely blow away the existing hash or array value, but
+C<meta_merge> will merge the supplied data into the existing hash or
+array value.
+
+See the L</"MODULE METADATA"> section for details.
+
+=item module_name
+
+[version 0.03]
+
+The C<module_name> is a shortcut for setting default values of
+C<dist_name> and C<dist_version_from>, reflecting the fact that the
+majority of CPAN distributions are centered around one "main" module.
+For instance, if you set C<module_name> to C<Foo::Bar>, then
+C<dist_name> will default to C<Foo-Bar> and C<dist_version_from> will
+default to C<lib/Foo/Bar.pm>. C<dist_version_from> will in turn be
+used to set C<dist_version>.
+
+Setting C<module_name> won't override a C<dist_*> parameter you
+specify explicitly.
+
+=item needs_compiler
+
+[version 0.36]
+
+The C<needs_compiler> parameter indicates whether a compiler is required to
+build the distribution. The default is false, unless XS files are found or
+the C<c_source> parameter is set, in which case it is true. If true,
+L<ExtUtils::CBuilder> is automatically added to C<build_requires> if needed.
+
+For a distribution where a compiler is I<optional>, e.g. a dual XS/pure-Perl
+distribution, C<needs_compiler> should explicitly be set to a false value.
+
+=item PL_files
+
+[version 0.06]
+
+An optional parameter specifying a set of C<.PL> files in your
+distribution. These will be run as Perl scripts prior to processing
+the rest of the files in your distribution with the name of the file
+they're generating as an argument. They are usually used as templates
+for creating other files dynamically, so that a file like
+C<lib/Foo/Bar.pm.PL> might create the file C<lib/Foo/Bar.pm>.
+
+The files are specified with the C<.PL> files as hash keys, and the
+file(s) they generate as hash values, like so:
+
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ ...
+ PL_files => { 'lib/Foo/Bar.pm.PL' => 'lib/Foo/Bar.pm' },
+ );
+
+Note that the path specifications are I<always> given in Unix-like
+format, not in the style of the local system.
+
+If your C<.PL> scripts don't create any files, or if they create files
+with unexpected names, or even if they create multiple files, you can
+indicate that so that Module::Build can properly handle these created
+files:
+
+ PL_files => {
+ 'lib/Foo/Bar.pm.PL' => 'lib/Foo/Bar.pm',
+ 'lib/something.PL' => ['/lib/something', '/lib/else'],
+ 'lib/funny.PL' => [],
+ }
+
+Here's an example of a simple PL file.
+
+ my $output_file = shift;
+ open my $fh, ">", $output_file or die "Can't open $output_file: $!";
+
+ print $fh <<'END';
+ #!/usr/bin/perl
+
+ print "Hello, world!\n";
+ END
+
+PL files are not installed by default, so its safe to put them in
+F<lib/> and F<bin/>.
+
+
+=item pm_files
+
+[version 0.19]
+
+An optional parameter specifying the set of C<.pm> files in this
+distribution, specified as a hash reference whose keys are the files'
+locations in the distributions, and whose values are their logical
+locations based on their package name, i.e. where they would be found
+in a "normal" Module::Build-style distribution. This parameter is
+mainly intended to support alternative layouts of files.
+
+For instance, if you have an old-style C<MakeMaker> distribution for a
+module called C<Foo::Bar> and a F<Bar.pm> file at the top level of the
+distribution, you could specify your layout in your C<Build.PL> like
+this:
+
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ ...
+ pm_files => { 'Bar.pm' => 'lib/Foo/Bar.pm' },
+ );
+
+Note that the values should include C<lib/>, because this is where
+they would be found in a "normal" Module::Build-style distribution.
+
+Note also that the path specifications are I<always> given in
+Unix-like format, not in the style of the local system.
+
+=item pod_files
+
+[version 0.19]
+
+Just like C<pm_files>, but used for specifying the set of C<.pod>
+files in your distribution.
+
+=item recommends
+
+[version 0.08]
+
+This is just like the L</requires> argument, except that modules listed
+in this section aren't essential, just a good idea. We'll just print
+a friendly warning if one of these modules aren't found, but we'll
+continue running.
+
+If a module is recommended but not required, all tests should still
+pass if the module isn't installed. This may mean that some tests
+may be skipped if recommended dependencies aren't present.
+
+Automated tools like CPAN.pm should inform the user when recommended
+modules aren't installed, and it should offer to install them if it
+wants to be helpful.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item recursive_test_files
+
+[version 0.28]
+
+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]
+
+An optional C<requires> argument specifies any module prerequisites
+that the current module depends on.
+
+One note: currently C<Module::Build> doesn't actually I<require> the
+user to have dependencies installed, it just strongly urges. In the
+future we may require it. There's also a L</recommends> section for
+things that aren't absolutely required.
+
+Automated tools like CPAN.pm should refuse to install a module if one
+of its dependencies isn't satisfied, unless a "force" command is given
+by the user. If the tools are helpful, they should also offer to
+install the dependencies.
+
+A synonym for C<requires> is C<prereq>, to help succour people
+transitioning from C<ExtUtils::MakeMaker>. The C<requires> term is
+preferred, but the C<prereq> term will remain valid in future
+distributions.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
+=item script_files
+
+[version 0.18]
+
+An optional parameter specifying a set of files that should be
+installed as executable Perl scripts when the module is installed.
+May be given as an array reference of the files, as a hash reference
+whose keys are the files (and whose values will currently be ignored),
+as a string giving the name of a directory in which to find scripts,
+or as a string giving the name of a single script file.
+
+The default is to install any scripts found in a F<bin> directory at
+the top level of the distribution, minus any keys of L<PL_files>.
+
+For backward compatibility, you may use the parameter C<scripts>
+instead of C<script_files>. Please consider this usage deprecated,
+though it will continue to exist for several version releases.
+
+=item share_dir
+
+[version 0.36]
+
+An optional parameter specifying directories of static data files to
+be installed as read-only files for use with L<File::ShareDir>. The
+C<share_dir> property supports both distribution-level and
+module-level share files.
+
+The simplest use of C<share_dir> is to set it to a directory name or an
+arrayref of directory names containing files to be installed in the
+distribution-level share directory.
+
+ share_dir => 'share'
+
+Alternatively, if C<share_dir> is a hashref, it may have C<dist> or
+C<module> keys providing full flexibility in defining how share
+directories should be installed.
+
+ share_dir => {
+ dist => [ 'examples', 'more_examples' ],
+ module => {
+ Foo::Templates => ['share/html', 'share/text'],
+ Foo::Config => 'share/config',
+ }
+ }
+
+If C<share_dir> is set, then File::ShareDir will automatically be added
+to the C<requires> hash.
+
+=item sign
+
+[version 0.16]
+
+If a true value is specified for this parameter, L<Module::Signature>
+will be used (via the 'distsign' action) to create a SIGNATURE file
+for your distribution during the 'distdir' action, and to add the
+SIGNATURE file to the MANIFEST (therefore, don't add it yourself).
+
+The default value is false. In the future, the default may change to
+true if you have C<Module::Signature> installed on your system.
+
+=item tap_harness_args
+
+[version 0.2808_03]
+
+An optional parameter specifying parameters to be passed to TAP::Harness when
+running tests. Must be given as a hash reference of parameters; see the
+L<TAP::Harness|TAP::Harness> documentation for details. Note that specifying
+this parameter will implicitly set C<use_tap_harness> to a true value. You
+must therefore be sure to add TAP::Harness as a requirement for your module in
+L</build_requires>.
+
+=item test_files
+
+[version 0.23]
+
+An optional parameter specifying a set of files that should be used as
+C<Test::Harness>-style regression tests to be run during the C<test>
+action. May be given as an array reference of the files, or as a hash
+reference whose keys are the files (and whose values will currently be
+ignored). If the argument is given as a single string (not in an
+array reference), that string will be treated as a C<glob()> pattern
+specifying the files to use.
+
+The default is to look for a F<test.pl> script in the top-level
+directory of the distribution, and any files matching the glob pattern
+C<*.t> in the F<t/> subdirectory. If the C<recursive_test_files>
+property is true, then the C<t/> directory will be scanned recursively
+for C<*.t> files.
+
+=item use_tap_harness
+
+[version 0.2808_03]
+
+An optional parameter indicating whether or not to use TAP::Harness for
+testing rather than Test::Harness. Defaults to false. If set to true, you must
+therefore be sure to add TAP::Harness as a requirement for your module in
+L</build_requires>. Implicitly set to a true value if C<tap_harness_args> is
+specified.
+
+=item xs_files
+
+[version 0.19]
+
+Just like C<pm_files>, but used for specifying the set of C<.xs>
+files in your distribution.
+
+=back
+
+
+=item new_from_context(%args)
+
+[version 0.28]
+
+When called from a directory containing a F<Build.PL> script (in other words,
+the base directory of a distribution), this method will run the F<Build.PL> and
+call C<resume()> to return the resulting C<Module::Build> object to the caller.
+Any key-value arguments given to C<new_from_context()> are essentially like
+command line arguments given to the F<Build.PL> script, so for example you
+could pass C<< verbose => 1 >> to this method to turn on verbosity.
+
+=item resume()
+
+[version 0.03]
+
+You'll probably never call this method directly, it's only called from the
+auto-generated C<Build> script (and the C<new_from_context> method). The
+C<new()> method is only called once, when the user runs C<perl Build.PL>.
+Thereafter, when the user runs C<Build test> or another action, the
+C<Module::Build> object is created using the C<resume()> method to
+re-instantiate with the settings given earlier to C<new()>.
+
+=item subclass()
+
+[version 0.06]
+
+This creates a new C<Module::Build> subclass on the fly, as described
+in the L<Module::Build::Authoring/"SUBCLASSING"> section. The caller
+must provide either a C<class> or C<code> parameter, or both. The
+C<class> parameter indicates the name to use for the new subclass, and
+defaults to C<MyModuleBuilder>. The C<code> parameter specifies Perl
+code to use as the body of the subclass.
+
+=item add_property
+
+[version 0.31]
+
+ package 'My::Build';
+ use base 'Module::Build';
+ __PACKAGE__->add_property( 'pedantic' );
+ __PACKAGE__->add_property( answer => 42 );
+ __PACKAGE__->add_property(
+ 'epoch',
+ default => sub { time },
+ check => sub {
+ return 1 if /^\d+$/;
+ shift->property_error( "'$_' is not an epoch time" );
+ return 0;
+ },
+ );
+
+Adds a property to a Module::Build class. Properties are those attributes of a
+Module::Build object which can be passed to the constructor and which have
+accessors to get and set them. All of the core properties, such as
+C<module_name> and C<license>, are defined using this class method.
+
+The first argument to C<add_property()> is always the name of the property.
+The second argument can be either a default value for the property, or a list
+of key/value pairs. The supported keys are:
+
+=over
+
+=item C<default>
+
+The default value. May optionally be specified as a code reference, in which
+case the return value from the execution of the code reference will be used.
+If you need the default to be a code reference, just use a code reference to
+return it, e.g.:
+
+ default => sub { sub { ... } },
+
+=item C<check>
+
+A code reference that checks that a value specified for the property is valid.
+During the execution of the code reference, the new value will be included in
+the C<$_> variable. If the value is correct, the C<check> code reference
+should return true. If the value is not correct, it sends an error message to
+C<property_error()> and returns false.
+
+=back
+
+When this method is called, a new property will be installed in the
+Module::Build class, and an accessor will be built to allow the property to be
+get or set on the build object.
+
+ print $build->pedantic, $/;
+ $build->pedantic(0);
+
+If the default value is a hash reference, this generates a special-case
+accessor method, wherein individual key/value pairs may be set or fetched:
+
+ print "stuff{foo} is: ", $build->stuff( 'foo' ), $/;
+ $build->stuff( foo => 'bar' );
+ print $build->stuff( 'foo' ), $/; # Outputs "bar"
+
+Of course, you can still set the entire hash reference at once, as well:
+
+ $build->stuff( { foo => 'bar', baz => 'yo' } );
+
+In either case, if a C<check> has been specified for the property, it will be
+applied to the entire hash. So the check code reference should look something
+like:
+
+ check => sub {
+ return 1 if defined $_ && exists $_->{foo};
+ shift->property_error(qq{Property "stuff" needs "foo"});
+ return 0;
+ },
+
+=item property_error
+
+[version 0.31]
+
+=back
+
+
+=head2 METHODS
+
+=over 4
+
+=item add_build_element($type)
+
+[version 0.26]
+
+Adds a new type of entry to the build process. Accepts a single
+string specifying its type-name. There must also be a method defined
+to process things of that type, e.g. if you add a build element called
+C<'foo'>, then you must also define a method called
+C<process_foo_files()>.
+
+See also
+L<Module::Build::Cookbook/"Adding new file types to the build process">.
+
+=item add_to_cleanup(@files)
+
+[version 0.03]
+
+You may call C<< $self->add_to_cleanup(@patterns) >> to tell
+C<Module::Build> that certain files should be removed when the user
+performs the C<Build clean> action. The arguments to the method are
+patterns suitable for passing to Perl's C<glob()> function, specified
+in either Unix format or the current machine's native format. It's
+usually convenient to use Unix format when you hard-code the filenames
+(e.g. in F<Build.PL>) and the native format when the names are
+programmatically generated (e.g. in a testing script).
+
+I decided to provide a dynamic method of the C<$build> object, rather
+than just use a static list of files named in the F<Build.PL>, because
+these static lists can get difficult to manage. I usually prefer to
+keep the responsibility for registering temporary files close to the
+code that creates them.
+
+=item args()
+
+[version 0.26]
+
+ my $args_href = $build->args;
+ my %args = $build->args;
+ my $arg_value = $build->args($key);
+ $build->args($key, $value);
+
+This method is the preferred interface for retrieving the arguments passed via
+command line options to F<Build.PL> or F<Build>, minus the Module-Build
+specific options.
+
+When called in a scalar context with no arguments, this method returns a
+reference to the hash storing all of the arguments; in an array context, it
+returns the hash itself. When passed a single argument, it returns the value
+stored in the args hash for that option key. When called with two arguments,
+the second argument is assigned to the args hash under the key passed as the
+first argument.
+
+=item autosplit_file($from, $to)
+
+[version 0.28]
+
+Invokes the L<AutoSplit> module on the C<$from> file, sending the
+output to the C<lib/auto> directory inside C<$to>. C<$to> is
+typically the C<blib/> directory.
+
+=item base_dir()
+
+[version 0.14]
+
+Returns a string containing the root-level directory of this build,
+i.e. where the C<Build.PL> script and the C<lib> directory can be
+found. This is usually the same as the current working directory,
+because the C<Build> script will C<chdir()> into this directory as
+soon as it begins execution.
+
+=item build_requires()
+
+[version 0.21]
+
+Returns a hash reference indicating the C<build_requires>
+prerequisites that were passed to the C<new()> method.
+
+=item can_action( $action )
+
+Returns a reference to the method that defines C<$action>, or false
+otherwise. This is handy for actions defined (or maybe not!) in subclasses.
+
+[version 0.32_xx]
+
+=item cbuilder()
+
+[version 0.2809]
+
+Returns the internal ExtUtils::CBuilder object that can be used for
+compiling & linking C code. If no such object is available (e.g. if
+the system has no compiler installed) an exception will be thrown.
+
+=item check_installed_status($module, $version)
+
+[version 0.11]
+
+This method returns a hash reference indicating whether a version
+dependency on a certain module is satisfied. The C<$module> argument
+is given as a string like C<"Data::Dumper"> or C<"perl">, and the
+C<$version> argument can take any of the forms described in L</requires>
+above. This allows very fine-grained version checking.
+
+The returned hash reference has the following structure:
+
+ {
+ ok => $whether_the_dependency_is_satisfied,
+ have => $version_already_installed,
+ need => $version_requested, # Same as incoming $version argument
+ message => $informative_error_message,
+ }
+
+If no version of C<$module> is currently installed, the C<have> value
+will be the string C<< "<none>" >>. Otherwise the C<have> value will
+simply be the version of the installed module. Note that this means
+that if C<$module> is installed but doesn't define a version number,
+the C<have> value will be C<undef> - this is why we don't use C<undef>
+for the case when C<$module> isn't installed at all.
+
+This method may be called either as an object method
+(C<< $build->check_installed_status($module, $version) >>)
+or as a class method
+(C<< Module::Build->check_installed_status($module, $version) >>).
+
+=item check_installed_version($module, $version)
+
+[version 0.05]
+
+Like L<check_installed_status()|/"check_installed_status($module, $version)">,
+but simply returns true or false depending on whether module
+C<$module> satisfies the dependency C<$version>.
+
+If the check succeeds, the return value is the actual version of
+C<$module> installed on the system. This allows you to do the
+following:
+
+ my $installed = $build->check_installed_version('DBI', '1.15');
+ if ($installed) {
+ print "Congratulations, version $installed of DBI is installed.\n";
+ } else {
+ die "Sorry, you must install DBI.\n";
+ }
+
+If the check fails, we return false and set C<$@> to an informative
+error message.
+
+If C<$version> is any non-true value (notably zero) and any version of
+C<$module> is installed, we return true. In this case, if C<$module>
+doesn't define a version, or if its version is zero, we return the
+special value "0 but true", which is numerically zero, but logically
+true.
+
+In general you might prefer to use C<check_installed_status> if you
+need detailed information, or this method if you just need a yes/no
+answer.
+
+=item compare_versions($v1, $op, $v2)
+
+[version 0.28]
+
+Compares two module versions C<$v1> and C<$v2> using the operator
+C<$op>, which should be one of Perl's numeric operators like C<!=> or
+C<< >= >> or the like. We do at least a halfway-decent job of
+handling versions that aren't strictly numeric, like C<0.27_02>, but
+exotic stuff will likely cause problems.
+
+In the future, the guts of this method might be replaced with a call
+out to C<version.pm>.
+
+=item config($key)
+
+=item config($key, $value)
+
+=item config() [deprecated]
+
+[version 0.22]
+
+With a single argument C<$key>, returns the value associated with that
+key in the C<Config.pm> hash, including any changes the author or user
+has specified.
+
+With C<$key> and C<$value> arguments, sets the value for future
+callers of C<config($key)>.
+
+With no arguments, returns a hash reference containing all such
+key-value pairs. This usage is deprecated, though, because it's a
+resource hog and violates encapsulation.
+
+=item config_data($name)
+
+=item config_data($name => $value)
+
+[version 0.26]
+
+With a single argument, returns the value of the configuration
+variable C<$name>. With two arguments, sets the given configuration
+variable to the given value. The value may be any Perl scalar that's
+serializable with C<Data::Dumper>. For instance, if you write a
+module that can use a MySQL or PostgreSQL back-end, you might create
+configuration variables called C<mysql_connect> and
+C<postgres_connect>, and set each to an array of connection parameters
+for C<< DBI->connect() >>.
+
+Configuration values set in this way using the Module::Build object
+will be available for querying during the build/test process and after
+installation via the generated C<...::ConfigData> module, as
+C<< ...::ConfigData->config($name) >>.
+
+The L<feature()|/"feature($name)"> and C<config_data()> methods represent
+Module::Build's main support for configuration of installed modules.
+See also L<Module::Build::Authoring/"SAVING CONFIGURATION INFORMATION">.
+
+=item conflicts()
+
+[version 0.21]
+
+Returns a hash reference indicating the C<conflicts> prerequisites
+that were passed to the C<new()> method.
+
+=item contains_pod($file) [deprecated]
+
+[version 0.20]
+
+[Deprecated] Please see L<Module::Build::ModuleInfo> instead.
+
+Returns true if the given file appears to contain POD documentation.
+Currently this checks whether the file has a line beginning with
+'=pod', '=head', or '=item', but the exact semantics may change in the
+future.
+
+=item copy_if_modified(%parameters)
+
+[version 0.19]
+
+Takes the file in the C<from> parameter and copies it to the file in
+the C<to> parameter, or the directory in the C<to_dir> parameter, if
+the file has changed since it was last copied (or if it doesn't exist
+in the new location). By default the entire directory structure of
+C<from> will be copied into C<to_dir>; an optional C<flatten>
+parameter will copy into C<to_dir> without doing so.
+
+Returns the path to the destination file, or C<undef> if nothing
+needed to be copied.
+
+Any directories that need to be created in order to perform the
+copying will be automatically created.
+
+The destination file is set to read-only. If the source file has the
+executable bit set, then the destination file will be made executable.
+
+=item create_build_script()
+
+[version 0.05]
+
+Creates an executable script called C<Build> in the current directory
+that will be used to execute further user actions. This script is
+roughly analogous (in function, not in form) to the Makefile created
+by C<ExtUtils::MakeMaker>. This method also creates some temporary
+data in a directory called C<_build/>. Both of these will be removed
+when the C<realclean> action is performed.
+
+Among the files created in C<_build/> is a F<_build/prereqs> file
+containing the set of prerequisites for this distribution, as a hash
+of hashes. This file may be C<eval()>-ed to obtain the authoritative
+set of prerequisites, which might be different from the contents of
+F<META.yml> (because F<Build.PL> might have set them dynamically).
+But fancy developers take heed: do not put any fancy custom runtime
+code in the F<_build/prereqs> file, leave it as a static declaration
+containing only strings and numbers. Similarly, do not alter the
+structure of the internal C<< $self->{properties}{requires} >> (etc.)
+data members, because that's where this data comes from.
+
+=item current_action()
+
+[version 0.28]
+
+Returns the name of the currently-running action, such as "build" or
+"test". This action is not necessarily the action that was originally
+invoked by the user. For example, if the user invoked the "test"
+action, current_action() would initially return "test". However,
+action "test" depends on action "code", so current_action() will
+return "code" while that dependency is being executed. Once that
+action has completed, current_action() will again return "test".
+
+If you need to know the name of the original action invoked by the
+user, see L</invoked_action()> below.
+
+=item depends_on(@actions)
+
+[version 0.28]
+
+Invokes the named action or list of actions in sequence. Using this
+method is preferred to calling the action explicitly because it
+performs some internal record-keeping, and it ensures that the same
+action is not invoked multiple times (note: in future versions of
+Module::Build it's conceivable that this run-only-once mechanism will
+be changed to something more intelligent).
+
+Note that the name of this method is something of a misnomer; it
+should really be called something like
+C<invoke_actions_unless_already_invoked()> or something, but for
+better or worse (perhaps better!) we were still thinking in
+C<make>-like dependency terms when we created this method.
+
+See also L<dispatch()|/"dispatch($action, %args)">. The main
+distinction between the two is that C<depends_on()> is meant to call
+an action from inside another action, whereas C<dispatch()> is meant
+to set the very top action in motion.
+
+=item dir_contains($first_dir, $second_dir)
+
+[version 0.28]
+
+Returns true if the first directory logically contains the second
+directory. This is just a convenience function because C<File::Spec>
+doesn't really provide an easy way to figure this out (but
+C<Path::Class> does...).
+
+=item dispatch($action, %args)
+
+[version 0.03]
+
+Invokes the build action C<$action>. Optionally, a list of options
+and their values can be passed in. This is equivalent to invoking an
+action at the command line, passing in a list of options.
+
+Custom options that have not been registered must be passed in as a
+hash reference in a key named "args":
+
+ $build->dispatch('foo', verbose => 1, args => { my_option => 'value' });
+
+This method is intended to be used to programmatically invoke build
+actions, e.g. by applications controlling Module::Build-based builds
+rather than by subclasses.
+
+See also L<depends_on()|/"depends_on(@actions)">. The main
+distinction between the two is that C<depends_on()> is meant to call
+an action from inside another action, whereas C<dispatch()> is meant
+to set the very top action in motion.
+
+=item dist_dir()
+
+[version 0.28]
+
+Returns the name of the directory that will be created during the
+C<dist> action. The name is derived from the C<dist_name> and
+C<dist_version> properties.
+
+=item dist_name()
+
+[version 0.21]
+
+Returns the name of the current distribution, as passed to the
+C<new()> method in a C<dist_name> or modified C<module_name>
+parameter.
+
+=item dist_version()
+
+[version 0.21]
+
+Returns the version of the current distribution, as determined by the
+C<new()> method from a C<dist_version>, C<dist_version_from>, or
+C<module_name> parameter.
+
+=item do_system($cmd, @args)
+
+[version 0.21]
+
+This is a fairly simple wrapper around Perl's C<system()> built-in
+command. Given a command and an array of optional arguments, this
+method will print the command to C<STDOUT>, and then execute it using
+Perl's C<system()>. It returns true or false to indicate success or
+failure (the opposite of how C<system()> works, but more intuitive).
+
+Note that if you supply a single argument to C<do_system()>, it
+will/may be processed by the system's shell, and any special
+characters will do their special things. If you supply multiple
+arguments, no shell will get involved and the command will be executed
+directly.
+
+=item extra_compiler_flags()
+
+=item extra_compiler_flags(@flags)
+
+[version 0.25]
+
+Set or retrieve the extra compiler flags. Returns an arrayref of flags.
+
+=item extra_linker_flags()
+
+=item extra_linker_flags(@flags)
+
+[version 0.25]
+
+Set or retrieve the extra linker flags. Returns an arrayref of flags.
+
+=item feature($name)
+
+=item feature($name => $value)
+
+[version 0.26]
+
+With a single argument, returns true if the given feature is set.
+With two arguments, sets the given feature to the given boolean value.
+In this context, a "feature" is any optional functionality of an
+installed module. For instance, if you write a module that could
+optionally support a MySQL or PostgreSQL backend, you might create
+features called C<mysql_support> and C<postgres_support>, and set them
+to true/false depending on whether the user has the proper databases
+installed and configured.
+
+Features set in this way using the Module::Build object will be
+available for querying during the build/test process and after
+installation via the generated C<...::ConfigData> module, as
+C<< ...::ConfigData->feature($name) >>.
+
+The C<feature()> and C<config_data()> methods represent
+Module::Build's main support for configuration of installed modules.
+See also L<Module::Build::Authoring/"SAVING CONFIGURATION INFORMATION">.
+
+=item fix_shebang_line(@files)
+
+[version 0.??]
+
+Modify any "shebang" line in the specified files to use the path to the
+perl executable being used for the current build. Files are modified
+in-place. The existing shebang line must have a command that contains
+"C<perl>"; arguments to the command do not count. In particular, this
+means that the use of C<#!/usr/bin/env perl> will not be changed.
+
+For an explanation of shebang lines, see
+L<http://en.wikipedia.org/wiki/Shebang_%28Unix%29>.
+
+=item have_c_compiler()
+
+[version 0.21]
+
+Returns true if the current system seems to have a working C compiler.
+We currently determine this by attempting to compile a simple C source
+file and reporting whether the attempt was successful.
+
+=item install_base_relpaths()
+
+=item install_base_relpaths($type)
+
+=item install_base_relpaths($type => $path)
+
+[version 0.28]
+
+Set or retrieve the relative paths that are appended to
+C<install_base> for any installable element. This is useful if you
+want to set the relative install path for custom build elements.
+
+With no argument, it returns a reference to a hash containing all
+elements and their respective values. This hash should not be modified
+directly; use the multiple argument below form to change values.
+
+The single argument form returns the value associated with the
+element C<$type>.
+
+The multiple argument form allows you to set the paths for element types.
+C<$value> must be a relative path using Unix-like paths. (A series of
+directories separated by slashes, e.g. C<foo/bar>.) The return value is a
+localized path based on C<$value>.
+
+Assigning the value C<undef> to an element causes it to be removed.
+
+=item install_destination($type)
+
+[version 0.28]
+
+Returns the directory in which items of type C<$type> (e.g. C<lib>,
+C<arch>, C<bin>, or anything else returned by the L</install_types()>
+method) will be installed during the C<install> action. Any settings
+for C<install_path>, C<install_base>, and C<prefix> are taken into
+account when determining the return value.
+
+=item install_path()
+
+=item install_path($type)
+
+=item install_path($type => $path)
+
+[version 0.28]
+
+Set or retrieve paths for specific installable elements. This is
+useful when you want to examine any explicit install paths specified
+by the user on the command line, or if you want to set the install
+path for a specific installable element based on another attribute
+like C<install_base()>.
+
+With no argument, it returns a reference to a hash containing all
+elements and their respective values. This hash should not be modified
+directly; use the multiple argument below form to change values.
+
+The single argument form returns the value associated with the
+element C<$type>.
+
+The multiple argument form allows you to set the paths for element types.
+The supplied C<$path> should be an absolute path to install elements
+of C<$type>. The return value is C<$path>.
+
+Assigning the value C<undef> to an element causes it to be removed.
+
+=item install_types()
+
+[version 0.28]
+
+Returns a list of installable types that this build knows about.
+These types each correspond to the name of a directory in F<blib/>,
+and the list usually includes items such as C<lib>, C<arch>, C<bin>,
+C<script>, C<libdoc>, C<bindoc>, and if HTML documentation is to be
+built, C<libhtml> and C<binhtml>. Other user-defined types may also
+exist.
+
+=item invoked_action()
+
+[version 0.28]
+
+This is the name of the original action invoked by the user. This
+value is set when the user invokes F<Build.PL>, the F<Build> script,
+or programmatically through the L<dispatch()|/"dispatch($action, %args)">
+method. It does not change as sub-actions are executed as
+dependencies are evaluated.
+
+To get the name of the currently executing dependency, see
+L</current_action()> above.
+
+=item notes()
+
+=item notes($key)
+
+=item notes($key => $value)
+
+[version 0.20]
+
+The C<notes()> value allows you to store your own persistent
+information about the build, and to share that information among
+different entities involved in the build. See the example in the
+C<current()> method.
+
+The C<notes()> method is essentially a glorified hash access. With no
+arguments, C<notes()> returns the entire hash of notes. With one argument,
+C<notes($key)> returns the value associated with the given key. With two
+arguments, C<notes($key, $value)> sets the value associated with the given key
+to C<$value> and returns the new value.
+
+The lifetime of the C<notes> data is for "a build" - that is, the
+C<notes> hash is created when C<perl Build.PL> is run (or when the
+C<new()> method is run, if the Module::Build Perl API is being used
+instead of called from a shell), and lasts until C<perl Build.PL> is
+run again or the C<clean> action is run.
+
+=item orig_dir()
+
+[version 0.28]
+
+Returns a string containing the working directory that was in effect
+before the F<Build> script chdir()-ed into the C<base_dir>. This
+might be useful for writing wrapper tools that might need to chdir()
+back out.
+
+=item os_type()
+
+[version 0.04]
+
+If you're subclassing Module::Build and some code needs to alter its
+behavior based on the current platform, you may only need to know
+whether you're running on Windows, Unix, MacOS, VMS, etc., and not the
+fine-grained value of Perl's C<$^O> variable. The C<os_type()> method
+will return a string like C<Windows>, C<Unix>, C<MacOS>, C<VMS>, or
+whatever is appropriate. If you're running on an unknown platform, it
+will return C<undef> - there shouldn't be many unknown platforms
+though.
+
+=item is_vmsish()
+
+=item is_windowsish()
+
+=item is_unixish()
+
+Convenience functions that return a boolean value indicating whether
+this platform behaves respectively like VMS, Windows, or Unix. For
+arbitrary reasons other platforms don't get their own such functions,
+at least not yet.
+
+
+=item prefix_relpaths()
+
+=item prefix_relpaths($installdirs)
+
+=item prefix_relpaths($installdirs, $type)
+
+=item prefix_relpaths($installdirs, $type => $path)
+
+[version 0.28]
+
+Set or retrieve the relative paths that are appended to C<prefix> for
+any installable element. This is useful if you want to set the
+relative install path for custom build elements.
+
+With no argument, it returns a reference to a hash containing all
+elements and their respective values as defined by the current
+C<installdirs> setting.
+
+With a single argument, it returns a reference to a hash containing
+all elements and their respective values as defined by
+C<$installdirs>.
+
+The hash returned by the above calls should not be modified directly;
+use the three-argument below form to change values.
+
+The two argument form returns the value associated with the
+element C<$type>.
+
+The multiple argument form allows you to set the paths for element types.
+C<$value> must be a relative path using Unix-like paths. (A series of
+directories separated by slashes, e.g. C<foo/bar>.) The return value is a
+localized path based on C<$value>.
+
+Assigning the value C<undef> to an element causes it to be removed.
+
+=item get_metadata()
+
+[version 0.36]
+
+This method returns a hash reference of metadata that can be used to create a
+YAML datastream. It is provided for authors to override or customize the fields
+of F<META.yml>. E.g.
+
+ package My::Builder;
+ use base 'Module::Build';
+
+ sub get_metadata {
+ my $self, @args = @_;
+ my $data = $self->SUPER::get_metadata(@args);
+ $data->{custom_field} = 'foo';
+ return $data;
+ }
+
+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.
+
+=item prepare_metadata() [deprecated]
+
+[version 0.36]
+
+[Deprecated] As of 0.36, authors should use C<get_metadata> instead. This
+method is preserved for backwards compatibility only.
+
+It takes three positional arguments: a hashref (to which metadata will be
+added), an optional arrayref (to which metadata keys will be added in order if
+the arrayref exists), and a hashref of arguments (as provided to get_metadata).
+The latter argument is new as of 0.36. Earlier versions are always fatal on
+errors.
+
+Prior to version 0.36, this method took a YAML::Node as an argument to hold
+assembled metadata.
+
+=item prereq_failures()
+
+[version 0.11]
+
+Returns a data structure containing information about any failed
+prerequisites (of any of the types described above), or C<undef> if
+all prerequisites are met.
+
+The data structure returned is a hash reference. The top level keys
+are the type of prerequisite failed, one of "requires",
+"build_requires", "conflicts", or "recommends". The associated values
+are hash references whose keys are the names of required (or
+conflicting) modules. The associated values of those are hash
+references indicating some information about the failure. For example:
+
+ {
+ have => '0.42',
+ need => '0.59',
+ message => 'Version 0.42 is installed, but we need version 0.59',
+ }
+
+or
+
+ {
+ have => '<none>',
+ need => '0.59',
+ message => 'Prerequisite Foo isn't installed',
+ }
+
+This hash has the same structure as the hash returned by the
+C<check_installed_status()> method, except that in the case of
+"conflicts" dependencies we change the "need" key to "conflicts" and
+construct a proper message.
+
+Examples:
+
+ # Check a required dependency on Foo::Bar
+ if ( $build->prereq_failures->{requires}{Foo::Bar} ) { ...
+
+ # Check whether there were any failures
+ if ( $build->prereq_failures ) { ...
+
+ # Show messages for all failures
+ my $failures = $build->prereq_failures;
+ while (my ($type, $list) = each %$failures) {
+ while (my ($name, $hash) = each %$list) {
+ print "Failure for $name: $hash->{message}\n";
+ }
+ }
+
+=item prereq_data()
+
+[version 0.32]
+
+Returns a reference to a hash describing all prerequisites. The keys of the
+hash will be the various prerequisite types ('requires', 'build_requires',
+'test_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
+that can be loaded using C<eval()>.
+
+=item prereq_report()
+
+[version 0.28]
+
+Returns a human-readable (table-form) string showing all
+prerequisites, the versions required, and the versions actually
+installed. This can be useful for reviewing the configuration of your
+system prior to a build, or when compiling data to send for a bug
+report. The C<prereq_report> action is just a thin wrapper around the
+C<prereq_report()> method.
+
+=item prompt($message, $default)
+
+[version 0.12]
+
+Asks the user a question and returns their response as a string. The
+first argument specifies the message to display to the user (for
+example, C<"Where do you keep your money?">). The second argument,
+which is optional, specifies a default answer (for example,
+C<"wallet">). The user will be asked the question once.
+
+If C<prompt()> detects that it is not running interactively and there
+is nothing on STDIN or if the PERL_MM_USE_DEFAULT environment variable
+is set to true, the $default will be used without prompting.
+
+To prevent automated processes from blocking, the user must either set
+PERL_MM_USE_DEFAULT or attach something to STDIN (this can be a
+pipe/file containing a scripted set of answers or /dev/null.)
+
+If no $default is provided an empty string will be used instead. In
+non-interactive mode, the absence of $default is an error (though
+explicitly passing C<undef()> as the default is valid as of 0.27.)
+
+This method may be called as a class or object method.
+
+=item recommends()
+
+[version 0.21]
+
+Returns a hash reference indicating the C<recommends> prerequisites
+that were passed to the C<new()> method.
+
+=item requires()
+
+[version 0.21]
+
+Returns a hash reference indicating the C<requires> prerequisites that
+were passed to the C<new()> method.
+
+=item rscan_dir($dir, $pattern)
+
+[version 0.28]
+
+Uses C<File::Find> to traverse the directory C<$dir>, returning a
+reference to an array of entries matching C<$pattern>. C<$pattern>
+may either be a regular expression (using C<qr//> or just a plain
+string), or a reference to a subroutine that will return true for
+wanted entries. If C<$pattern> is not given, all entries will be
+returned.
+
+Examples:
+
+ # All the *.pm files in lib/
+ $m->rscan_dir('lib', qr/\.pm$/)
+
+ # All the files in blib/ that aren't *.html files
+ $m->rscan_dir('blib', sub {-f $_ and not /\.html$/});
+
+ # All the files in t/
+ $m->rscan_dir('t');
+
+=item runtime_params()
+
+=item runtime_params($key)
+
+[version 0.28]
+
+The C<runtime_params()> method stores the values passed on the command line
+for valid properties (that is, any command line options for which
+C<valid_property()> returns a true value). The value on the command line may
+override the default value for a property, as well as any value specified in a
+call to C<new()>. This allows you to programmatically tell if C<perl Build.PL>
+or any execution of C<./Build> had command line options specified that
+override valid properties.
+
+The C<runtime_params()> method is essentially a glorified read-only hash. With
+no arguments, C<runtime_params()> returns the entire hash of properties
+specified on the command line. With one argument, C<runtime_params($key)>
+returns the value associated with the given key.
+
+The lifetime of the C<runtime_params> data is for "a build" - that is, the
+C<runtime_params> hash is created when C<perl Build.PL> is run (or when the
+C<new()> method is called, if the Module::Build Perl API is being used instead
+of called from a shell), and lasts until C<perl Build.PL> is run again or the
+C<clean> action is run.
+
+=item script_files()
+
+[version 0.18]
+
+Returns a hash reference whose keys are the perl script files to be
+installed, if any. This corresponds to the C<script_files> parameter to the
+C<new()> method. With an optional argument, this parameter may be set
+dynamically.
+
+For backward compatibility, the C<scripts()> method does exactly the
+same thing as C<script_files()>. C<scripts()> is deprecated, but it
+will stay around for several versions to give people time to
+transition.
+
+=item up_to_date($source_file, $derived_file)
+
+=item up_to_date(\@source_files, \@derived_files)
+
+[version 0.20]
+
+This method can be used to compare a set of source files to a set of
+derived files. If any of the source files are newer than any of the
+derived files, it returns false. Additionally, if any of the derived
+files do not exist, it returns false. Otherwise it returns true.
+
+The arguments may be either a scalar or an array reference of file
+names.
+
+=item y_n($message, $default)
+
+[version 0.12]
+
+Asks the user a yes/no question using C<prompt()> and returns true or
+false accordingly. The user will be asked the question repeatedly
+until they give an answer that looks like "yes" or "no".
+
+The first argument specifies the message to display to the user (for
+example, C<"Shall I invest your money for you?">), and the second
+argument specifies the default answer (for example, C<"y">).
+
+Note that the default is specified as a string like C<"y"> or C<"n">,
+and the return value is a Perl boolean value like 1 or 0. I thought
+about this for a while and this seemed like the most useful way to do
+it.
+
+This method may be called as a class or object method.
+
+=back
+
+
+=head2 Autogenerated Accessors
+
+In addition to the aforementioned methods, there are also some get/set
+accessor methods for the following properties:
+
+=over 4
+
+=item PL_files()
+
+=item allow_mb_mismatch()
+
+=item allow_pureperl()
+
+=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 extra_manify_args()
+
+=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 pureperl_only()
+
+=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 test_requires()
+
+=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<CPAN::Meta::Spec> but for convenience - here are a few of the more useful ones:
+
+=over 4
+
+=item keywords
+
+For describing the distribution using keyword (or "tags") in order to
+make CPAN.org indexing and search more efficient and useful.
+
+=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, and even a subscription page for the
+distribution mailing list.
+
+=back
+
+
+=head1 AUTHOR
+
+Ken Williams <kwilliams@cpan.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.
+
+
+=head1 SEE ALSO
+
+perl(1), L<Module::Build>(3), L<Module::Build::Authoring>(3),
+L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3)
+
+F<META.yml> Specification:
+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
new file mode 100644
index 00000000000..a32b31e2e1e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod
@@ -0,0 +1,326 @@
+=head1 NAME
+
+Module::Build::Authoring - Authoring Module::Build modules
+
+=head1 DESCRIPTION
+
+When creating a C<Build.PL> script for a module, something like the
+following code will typically be used:
+
+ use Module::Build;
+ my $build = Module::Build->new
+ (
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ requires => {
+ 'perl' => '5.6.1',
+ 'Some::Module' => '1.23',
+ 'Other::Module' => '>= 1.2, != 1.5, < 2.0',
+ },
+ );
+ $build->create_build_script;
+
+A simple module could get away with something as short as this for its
+C<Build.PL> script:
+
+ use Module::Build;
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+The model used by C<Module::Build> is a lot like the C<MakeMaker>
+metaphor, with the following correspondences:
+
+ In Module::Build In ExtUtils::MakeMaker
+ --------------------------- ------------------------
+ Build.PL (initial script) Makefile.PL (initial script)
+ Build (a short perl script) Makefile (a long Makefile)
+ _build/ (saved state info) various config text in the Makefile
+
+Any customization can be done simply by subclassing C<Module::Build>
+and adding a method called (for example) C<ACTION_test>, overriding
+the default 'test' action. You could also add a method called
+C<ACTION_whatever>, and then you could perform the action C<Build
+whatever>.
+
+For information on providing compatibility with
+C<ExtUtils::MakeMaker>, see L<Module::Build::Compat> and
+L<http://www.makemaker.org/wiki/index.cgi?ModuleBuildConversionGuide>.
+
+
+=head1 STRUCTURE
+
+Module::Build creates a class hierarchy conducive to customization.
+Here is the parent-child class hierarchy in classy ASCII art:
+
+ /--------------------\
+ | Your::Parent | (If you subclass Module::Build)
+ \--------------------/
+ |
+ |
+ /--------------------\ (Doesn't define any functionality
+ | Module::Build | of its own - just figures out what
+ \--------------------/ other modules to load.)
+ |
+ |
+ /-----------------------------------\ (Some values of $^O may
+ | Module::Build::Platform::$^O | define specialized functionality.
+ \-----------------------------------/ Otherwise it's ...::Default, a
+ | pass-through class.)
+ |
+ /--------------------------\
+ | Module::Build::Base | (Most of the functionality of
+ \--------------------------/ Module::Build is defined here.)
+
+
+=head1 SUBCLASSING
+
+Right now, there are two ways to subclass Module::Build. The first
+way is to create a regular module (in a C<.pm> file) that inherits
+from Module::Build, and use that module's class instead of using
+Module::Build directly:
+
+ ------ in Build.PL: ----------
+ #!/usr/bin/perl
+
+ use lib q(/nonstandard/library/path);
+ use My::Builder; # Or whatever you want to call it
+
+ my $build = My::Builder->new
+ (
+ module_name => 'Foo::Bar', # All the regular args...
+ license => 'perl',
+ dist_author => 'A N Other <me@here.net.au>',
+ requires => { Carp => 0 }
+ );
+ $build->create_build_script;
+
+This is relatively straightforward, and is the best way to do things
+if your My::Builder class contains lots of code. The
+C<create_build_script()> method will ensure that the current value of
+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
+to the parent class. This is important to avoid data serialization problems.
+
+For very small additions, Module::Build provides a C<subclass()>
+method that lets you subclass Module::Build more conveniently, without
+creating a separate file for your module:
+
+ ------ in Build.PL: ----------
+ #!/usr/bin/perl
+
+ use Module::Build;
+ my $class = Module::Build->subclass
+ (
+ class => 'My::Builder',
+ code => q{
+ sub ACTION_foo {
+ print "I'm fooing to death!\n";
+ }
+ },
+ );
+
+ my $build = $class->new
+ (
+ module_name => 'Foo::Bar', # All the regular args...
+ license => 'perl',
+ dist_author => 'A N Other <me@here.net.au>',
+ requires => { Carp => 0 }
+ );
+ $build->create_build_script;
+
+Behind the scenes, this actually does create a C<.pm> file, since the
+code you provide must persist after Build.PL is run if it is to be
+very useful.
+
+See also the documentation for the L<Module::Build::API/"subclass()">
+method.
+
+
+=head1 PREREQUISITES
+
+=head2 Types of prerequisites
+
+To specify what versions of other modules are used by this
+distribution, several types of prerequisites can be defined with the
+following parameters:
+
+=over 3
+
+=item configure_requires
+
+Items that must be installed I<before> configuring this distribution
+(i.e. before running the F<Build.PL> script). This might be a
+specific minimum version of C<Module::Build> or any other module the
+F<Build.PL> needs in order to do its stuff. Clients like C<CPAN.pm>
+or C<CPANPLUS> will be expected to pick C<configure_requires> out of the
+F<META.yml> file and install these items before running the
+C<Build.PL>.
+
+If no configure_requires is specified, the current version of Module::Build
+is automatically added to configure_requires.
+
+=item build_requires
+
+Items that are necessary for building and testing this distribution,
+but aren't necessary after installation. This can help users who only
+want to install these items temporarily. It also helps reduce the
+size of the CPAN dependency graph if everything isn't smooshed into
+C<requires>.
+
+=item requires
+
+Items that are necessary for basic functioning.
+
+=item recommends
+
+Items that are recommended for enhanced functionality, but there are
+ways to use this distribution without having them installed. You
+might also think of this as "can use" or "is aware of" or "changes
+behavior in the presence of".
+
+=item test_requires
+
+Items that are necessary for testing.
+
+=item conflicts
+
+Items that can cause problems with this distribution when installed.
+This is pretty rare.
+
+=back
+
+=head2 Format of prerequisites
+
+The prerequisites are given in a hash reference, where the keys are
+the module names and the values are version specifiers:
+
+ requires => {
+ Foo::Module => '2.4',
+ Bar::Module => 0,
+ Ken::Module => '>= 1.2, != 1.5, < 2.0',
+ perl => '5.6.0'
+ },
+
+The above four version specifiers have different effects. The value
+C<'2.4'> means that B<at least> version 2.4 of C<Foo::Module> must be
+installed. The value C<0> means that B<any> version of C<Bar::Module>
+is acceptable, even if C<Bar::Module> doesn't define a version. The
+more verbose value C<'E<gt>= 1.2, != 1.5, E<lt> 2.0'> means that
+C<Ken::Module>'s version must be B<at least> 1.2, B<less than> 2.0,
+and B<not equal to> 1.5. The list of criteria is separated by commas,
+and all criteria must be satisfied.
+
+A special C<perl> entry lets you specify the versions of the Perl
+interpreter that are supported by your module. The same version
+dependency-checking semantics are available, except that we also
+understand perl's new double-dotted version numbers.
+
+=head2 XS Extensions
+
+Modules which need to compile XS code should list C<ExtUtils::CBuilder>
+as a C<build_requires> element.
+
+
+=head1 SAVING CONFIGURATION INFORMATION
+
+Module::Build provides a very convenient way to save configuration
+information that your installed modules (or your regression tests) can
+access. If your Build process calls the C<feature()> or
+C<config_data()> methods, then a C<Foo::Bar::ConfigData> module will
+automatically be created for you, where C<Foo::Bar> is the
+C<module_name> parameter as passed to C<new()>. This module provides
+access to the data saved by these methods, and a way to update the
+values. There is also a utility script called C<config_data>
+distributed with Module::Build that provides a command line interface
+to this same functionality. See also the generated
+C<Foo::Bar::ConfigData> documentation, and the C<config_data>
+script's documentation, for more information.
+
+
+=head1 STARTING MODULE DEVELOPMENT
+
+When starting development on a new module, it's rarely worth your time
+to create a tree of all the files by hand. Some automatic
+module-creators are available: the oldest is C<h2xs>, which has
+shipped with perl itself for a long time. Its name reflects the fact
+that modules were originally conceived of as a way to wrap up a C
+library (thus the C<h> part) into perl extensions (thus the C<xs>
+part).
+
+These days, C<h2xs> has largely been superseded by modules like
+C<ExtUtils::ModuleMaker>, and C<Module::Starter>. They have varying
+degrees of support for C<Module::Build>.
+
+
+=head1 AUTOMATION
+
+One advantage of Module::Build is that since it's implemented as Perl
+methods, you can invoke these methods directly if you want to install
+a module non-interactively. For instance, the following Perl script
+will invoke the entire build/install procedure:
+
+ my $build = Module::Build->new(module_name => 'MyModule');
+ $build->dispatch('build');
+ $build->dispatch('test');
+ $build->dispatch('install');
+
+If any of these steps encounters an error, it will throw a fatal
+exception.
+
+You can also pass arguments as part of the build process:
+
+ my $build = Module::Build->new(module_name => 'MyModule');
+ $build->dispatch('build');
+ $build->dispatch('test', verbose => 1);
+ $build->dispatch('install', sitelib => '/my/secret/place/');
+
+Building and installing modules in this way skips creating the
+C<Build> script.
+
+
+=head1 MIGRATION
+
+Note that if you want to provide both a F<Makefile.PL> and a
+F<Build.PL> for your distribution, you probably want to add the
+following to C<WriteMakefile> in your F<Makefile.PL> so that C<MakeMaker>
+doesn't try to run your F<Build.PL> as a normal F<.PL> file:
+
+ PL_FILES => {},
+
+You may also be interested in looking at the C<Module::Build::Compat>
+module, which can automatically create various kinds of F<Makefile.PL>
+compatibility layers.
+
+
+=head1 AUTHOR
+
+Ken Williams <kwilliams@cpan.org>
+
+Development questions, bug reports, and patches should be sent to the
+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 Git
+repository at <https://github.com/Perl-Toolchain-Gang/Module-Build>
+
+
+=head1 SEE ALSO
+
+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<CPAN::Meta::Spec>
+
+L<http://www.dsmit.com/cons/>
+
+L<http://search.cpan.org/dist/PerlBuildSystem/>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
index cf42cc0b230..84e137fb4f2 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
@@ -6,7 +6,7 @@ use strict;
use vars qw($VERSION);
use warnings;
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
BEGIN { require 5.006001 }
@@ -19,7 +19,6 @@ use File::Basename ();
use File::Spec 0.82 ();
use File::Compare ();
use Module::Build::Dumper ();
-use IO::File ();
use Text::ParseWords ();
use Module::Build::ModuleInfo;
@@ -757,17 +756,11 @@ sub ACTION_config_data {
}
sub array_properties {
- for (shift->_mb_classes) {
- return @{$additive_properties{$_}->{ARRAY}}
- if exists $additive_properties{$_}->{ARRAY};
- }
+ map { exists $additive_properties{$_}->{ARRAY} ? @{$additive_properties{$_}->{ARRAY}} : () } shift->_mb_classes;
}
sub hash_properties {
- for (shift->_mb_classes) {
- return @{$additive_properties{$_}->{'HASH'}}
- if exists $additive_properties{$_}->{'HASH'};
- }
+ map { exists $additive_properties{$_}->{HASH} ? @{$additive_properties{$_}->{HASH}} : () } shift->_mb_classes;
}
sub add_property {
@@ -798,10 +791,10 @@ sub ACTION_config_data {
return $class;
}
- sub property_error {
- my $self = shift;
- die 'ERROR: ', @_;
- }
+ sub property_error {
+ my $self = shift;
+ die 'ERROR: ', @_;
+ }
sub _set_defaults {
my $self = shift;
@@ -831,7 +824,7 @@ sub ACTION_config_data {
}
}
-} # end closure
+} # end enclosure
########################################################################
sub _make_hash_accessor {
my ($property, $p) = @_;
@@ -922,6 +915,8 @@ __PACKAGE__->add_property(test_file_exts => ['.t']);
__PACKAGE__->add_property(use_tap_harness => 0);
__PACKAGE__->add_property(cpan_client => 'cpan');
__PACKAGE__->add_property(tap_harness_args => {});
+__PACKAGE__->add_property(pureperl_only => 0);
+__PACKAGE__->add_property(allow_pureperl => 0);
__PACKAGE__->add_property(
'installdirs',
default => 'site',
@@ -942,7 +937,7 @@ __PACKAGE__->add_property(
}
{
- my @prereq_action_types = qw(requires build_requires conflicts recommends);
+ my @prereq_action_types = qw(requires build_requires test_requires conflicts recommends);
foreach my $type (@prereq_action_types) {
__PACKAGE__->add_property($type => {});
}
@@ -1005,6 +1000,7 @@ __PACKAGE__->add_property($_) for qw(
verbose
debug
xs_files
+ extra_manify_args
);
sub config {
@@ -1080,7 +1076,7 @@ sub subclass {
File::Path::mkpath($filedir);
die "Can't create directory $filedir: $!" unless -d $filedir;
- my $fh = IO::File->new("> $filename") or die "Can't create $filename: $!";
+ open(my $fh, '>', $filename) or die "Can't create $filename: $!";
print $fh <<EOF;
package $opts{class};
use $pack;
@@ -1127,83 +1123,90 @@ END_WARN
sub dist_name {
my $self = shift;
my $p = $self->{properties};
- return $p->{dist_name} if defined $p->{dist_name};
+ my $me = 'dist_name';
+ return $p->{$me} if defined $p->{$me};
die "Can't determine distribution name, must supply either 'dist_name' or 'module_name' parameter"
unless $self->module_name;
- ($p->{dist_name} = $self->module_name) =~ s/::/-/g;
+ ($p->{$me} = $self->module_name) =~ s/::/-/g;
- return $p->{dist_name};
+ return $p->{$me};
}
sub release_status {
my ($self) = @_;
+ my $me = 'release_status';
my $p = $self->{properties};
- if ( ! defined $p->{release_status} ) {
- $p->{release_status} = $self->_is_dev_version ? 'testing' : 'stable';
+ if ( ! defined $p->{$me} ) {
+ $p->{$me} = $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";
+ unless ( $p->{$me} =~ qr/\A(?:stable|testing|unstable)\z/ ) {
+ die "Illegal value '$p->{$me}' for $me\n";
}
- if ( $p->{release_status} eq 'stable' && $self->_is_dev_version ) {
+ if ( $p->{$me} eq 'stable' && $self->_is_dev_version ) {
my $version = $self->dist_version;
- die "Illegal value '$p->{release_status}' with version '$version'\n";
+ die "Illegal value '$p->{$me}' with version '$version'\n";
}
- return $p->{release_status};
+ return $p->{$me};
}
sub dist_suffix {
my ($self) = @_;
my $p = $self->{properties};
- return $p->{dist_suffix} if defined $p->{dist_suffix};
+ my $me = 'dist_suffix';
+
+ return $p->{$me} if defined $p->{$me};
if ( $self->release_status eq 'stable' ) {
- $p->{dist_suffix} = "";
+ $p->{$me} = "";
}
else {
# non-stable release but non-dev version number needs '-TRIAL' appended
- $p->{dist_suffix} = $self->_is_dev_version ? "" : "TRIAL" ;
+ $p->{$me} = $self->_is_dev_version ? "" : "TRIAL" ;
}
- return $p->{dist_suffix};
+ return $p->{$me};
}
sub dist_version_from {
my ($self) = @_;
my $p = $self->{properties};
+ my $me = 'dist_version_from';
+
if ($self->module_name) {
- $p->{dist_version_from} ||=
+ $p->{$me} ||=
join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm';
}
- return $p->{dist_version_from} || undef;
+ return $p->{$me} || undef;
}
sub dist_version {
my ($self) = @_;
my $p = $self->{properties};
+ my $me = 'dist_version';
- return $p->{dist_version} if defined $p->{dist_version};
+ return $p->{$me} if defined $p->{$me};
if ( my $dist_version_from = $self->dist_version_from ) {
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}) {
+ #$p->{$me} is undef here
+ $p->{$me} = $self->normalize_version( $pm_info->version() );
+ unless (defined $p->{$me}) {
die "Can't determine distribution version from $version_from";
}
}
die ("Can't determine distribution version, must supply either 'dist_version',\n".
"'dist_version_from', or 'module_name' parameter")
- unless defined $p->{dist_version};
+ unless defined $p->{$me};
- return $p->{dist_version};
+ return $p->{$me};
}
sub _is_dev_version {
@@ -1227,7 +1230,7 @@ sub _pod_parse {
my $docfile = $self->_main_docfile
or return;
- my $fh = IO::File->new($docfile)
+ open(my $fh, '<', $docfile)
or return;
require Module::Build::PodParser;
@@ -1287,13 +1290,13 @@ sub read_config {
my $file = $self->config_file('build_params')
or die "Can't find 'build_params' in " . $self->config_dir;
- my $fh = IO::File->new($file) or die "Can't read '$file': $!";
+ open(my $fh, '<', $file) or die "Can't read '$file': $!";
my $ref = eval do {local $/; <$fh>};
die if $@;
+ close $fh;
my $c;
($self->{args}, $c, $self->{properties}) = @$ref;
$self->{config} = Module::Build::Config->new(values => $c);
- close $fh;
}
sub has_config_data {
@@ -1305,13 +1308,14 @@ sub _write_data {
my ($self, $filename, $data) = @_;
my $file = $self->config_file($filename);
- my $fh = IO::File->new("> $file") or die "Can't create '$file': $!";
+ open(my $fh, '>', $file) or die "Can't create '$file': $!";
unless (ref($data)) { # e.g. magicnum
print $fh $data;
return;
}
print {$fh} Module::Build::Dumper->_data_dump($data);
+ close $fh;
}
sub write_config {
@@ -1509,7 +1513,7 @@ sub auto_require {
my ($self) = @_;
my $p = $self->{properties};
- # If needs_compiler is not explictly set, automatically set it
+ # If needs_compiler is not explicitly set, automatically set it
# If set, we need ExtUtils::CBuilder (and a compiler)
my $xs_files = $self->find_xs_files;
if ( ! defined $p->{needs_compiler} ) {
@@ -1812,7 +1816,7 @@ sub print_build_script {
my @myINC = $self->_added_to_INC;
for (@myINC, values %q) {
- $_ = File::Spec->canonpath( $_ );
+ $_ = File::Spec->canonpath( $_ ) unless $self->is_vmsish;
s/([\\\'])/\\$1/g;
}
@@ -1830,10 +1834,10 @@ use File::Spec;
sub magic_number_matches {
return 0 unless -e '$q{magic_numfile}';
- local *FH;
- open FH, '$q{magic_numfile}' or return 0;
- my \$filenum = <FH>;
- close FH;
+ my \$FH;
+ open \$FH, '<','$q{magic_numfile}' or return 0;
+ my \$filenum = <\$FH>;
+ close \$FH;
return \$filenum == $magic_number;
}
@@ -1886,8 +1890,8 @@ sub create_mymeta {
my ($self) = @_;
my ($meta_obj, $mymeta);
- my @metafiles = ( $self->metafile, $self->metafile2 );
- my @mymetafiles = ( $self->mymetafile, $self->mymetafile2 );
+ my @metafiles = ( $self->metafile2, $self->metafile, );
+ my @mymetafiles = ( $self->mymetafile2, $self->mymetafile, );
# cleanup old MYMETA
for my $f ( @mymetafiles ) {
@@ -1900,52 +1904,29 @@ sub create_mymeta {
if ( $self->try_require("CPAN::Meta", "2.110420") ) {
for my $file ( @metafiles ) {
next unless -f $file;
- $meta_obj = eval { CPAN::Meta->load_file($file) };
+ $meta_obj = eval { CPAN::Meta->load_file($file, { lazy_validation => 0 }) };
last if $meta_obj;
}
}
# 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;
- # 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 } ) }
+
+ my $mymeta_obj;
+ if ($meta_obj) {
+ # if we have metadata, just update it
+ my %updated = (
+ %{ $meta_obj->as_struct({ version => 2.0 }) },
+ prereqs => $self->_normalize_prereqs,
+ dynamic_config => 0,
+ generated_by => "Module::Build version $Module::Build::VERSION",
+ );
+ $mymeta_obj = CPAN::Meta->new( \%updated, { lazy_validation => 0 } );
}
- # or generate from scratch, ignoring errors if META doesn't exist
else {
- $meta_obj = $self->_get_meta_object(
- quiet => 0, dynamic => 0, fatal => 0, auto => 0
- );
+ $mymeta_obj = $self->_get_meta_object(quiet => 0, dynamic => 0, fatal => 1, auto => 0);
}
- my @created = $self->_write_meta_files( $meta_obj, 'MYMETA' );
+ my @created = $self->_write_meta_files( $mymeta_obj, 'MYMETA' );
$self->log_warn("Could not create MYMETA files\n")
unless @created;
@@ -1969,7 +1950,7 @@ sub create_build_script {
$self->log_info("Creating new '$build_script' script for ",
"'$dist_name' version '$dist_version'\n");
- my $fh = IO::File->new(">$build_script") or die "Can't create '$build_script': $!";
+ open(my $fh, '>', $build_script) or die "Can't create '$build_script': $!";
$self->print_build_script($fh);
close $fh;
@@ -2119,6 +2100,8 @@ sub _translate_option {
use_tap_harness
tap_harness_args
cpan_client
+ pureperl_only
+ allow_pureperl
); # normalize only selected option names
return $opt;
@@ -2159,6 +2142,8 @@ sub _optional_arg {
debug
sign
use_tap_harness
+ pureperl_only
+ allow_pureperl
);
# inverted boolean options; eg --noverbose or --no-verbose
@@ -2333,7 +2318,7 @@ sub read_modulebuildrc {
return () unless $modulebuildrc;
}
- my $fh = IO::File->new( $modulebuildrc )
+ open(my $fh, '<', $modulebuildrc )
or die "Can't open $modulebuildrc: $!";
my %options; my $buffer = '';
@@ -2454,7 +2439,7 @@ sub get_action_docs {
(my $file = $class) =~ s{::}{/}g;
# NOTE: silently skipping relative paths if any chdir() happened
$file = $INC{$file . '.pm'} or next;
- my $fh = IO::File->new("< $file") or next;
+ open(my $fh, '<', $file) or next;
$files_found++;
# Code below modified from /usr/bin/perldoc
@@ -2593,8 +2578,8 @@ sub ACTION_help {
print <<EOF;
- Usage: $0 <action> arg1=value arg2=value ...
- Example: $0 test verbose=1
+ Usage: $0 <action> --arg1=value --arg2=value ...
+ Example: $0 test --verbose=1
Actions defined:
EOF
@@ -2751,26 +2736,9 @@ sub run_tap_harness {
sub run_test_harness {
my ($self, $tests) = @_;
require Test::Harness;
- my $p = $self->{properties};
- my @harness_switches = $self->harness_switches;
- # Work around a Test::Harness bug that loses the particular perl
- # we're running under. $self->perl is trustworthy, but $^X isn't.
- local $^X = $self->perl;
-
- # Do everything in our power to work with all versions of Test::Harness
- local $Test::Harness::switches = join ' ', grep defined, $Test::Harness::switches, @harness_switches;
- local $Test::Harness::Switches = join ' ', grep defined, $Test::Harness::Switches, @harness_switches;
- local $ENV{HARNESS_PERL_SWITCHES} = join ' ', grep defined, $ENV{HARNESS_PERL_SWITCHES}, @harness_switches;
-
- $Test::Harness::switches = undef unless length $Test::Harness::switches;
- $Test::Harness::Switches = undef unless length $Test::Harness::Switches;
- delete $ENV{HARNESS_PERL_SWITCHES} unless length $ENV{HARNESS_PERL_SWITCHES};
-
- local ($Test::Harness::verbose,
- $Test::Harness::Verbose,
- $ENV{TEST_VERBOSE},
- $ENV{HARNESS_VERBOSE}) = ($p->{verbose} || 0) x 4;
+ local $Test::Harness::verbose = $self->verbose || 0;
+ local $Test::Harness::switches = join ' ', $self->harness_switches;
Test::Harness::runtests(@$tests);
}
@@ -2968,7 +2936,9 @@ sub process_PL_files {
sub process_xs_files {
my $self = shift;
+ return if $self->pureperl_only && $self->allow_pureperl;
my $files = $self->find_xs_files;
+ croak 'Can\'t build xs files under --pureperl-only' if %$files && $self->pureperl_only;
while (my ($from, $to) = each %$files) {
unless ($from eq $to) {
$self->add_to_cleanup($to);
@@ -3095,10 +3065,10 @@ sub fix_shebang_line { # Adapted from fixin() in ExtUtils::MM_Unix 1.35
my ($does_shbang) = $c->get('sharpbang') =~ /^\s*\#\!/;
for my $file (@files) {
- my $FIXIN = IO::File->new($file) or die "Can't process '$file': $!";
+ open(my $FIXIN, '<', $file) or die "Can't process '$file': $!";
local $/ = "\n";
chomp(my $line = <$FIXIN>);
- next unless $line =~ s/^\s*\#!\s*//; # Not a shbang file.
+ next unless $line =~ s/^\s*\#!\s*//; # Not a shebang file.
my ($cmd, $arg) = (split(' ', $line, 2), '');
next unless $cmd =~ /perl/i;
@@ -3115,7 +3085,7 @@ eval 'exec $interpreter $arg -S \$0 \${1+"\$\@"}'
if 0; # not running under some shell
} unless $self->is_windowsish; # this won't work on win32, so don't
- my $FIXOUT = IO::File->new(">$file.new")
+ open(my $FIXOUT, '>', "$file.new")
or die "Can't create new $file: $!\n";
# Print out the new #! line (or equivalent).
@@ -3228,6 +3198,8 @@ sub ACTION_manpages {
$self->depends_on('code');
+ my %extra_manify_args = $self->{properties}{'extra_manify_args'} ? %{ $self->{properties}{'extra_manify_args'} } : ();
+
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"},
@@ -3235,12 +3207,13 @@ sub ACTION_manpages {
next unless %$files;
my $sub = $self->can("manify_${type}_pods");
- $self->$sub() if defined( $sub );
+ $self->$sub( %extra_manify_args ) if defined( $sub );
}
}
sub manify_bin_pods {
my $self = shift;
+ my %podman_args = (section => 1, @_); # binaries go in section 1
my $files = $self->_find_pods( $self->{properties}{bindoc_dirs},
exclude => [ $self->file_qr('\.bat$') ] );
@@ -3253,7 +3226,7 @@ sub manify_bin_pods {
foreach my $file (keys %$files) {
# Pod::Simple based parsers only support one document per instance.
# This is expected to change in a future version (Pod::Simple > 3.03).
- my $parser = Pod::Man->new( section => 1 ); # binaries go in section 1
+ my $parser = Pod::Man->new( %podman_args );
my $manpage = $self->man1page_name( $file ) . '.' .
$self->config( 'man1ext' );
my $outfile = File::Spec->catfile($mandir, $manpage);
@@ -3267,6 +3240,7 @@ sub manify_bin_pods {
sub manify_lib_pods {
my $self = shift;
+ my %podman_args = (section => 3, @_); # libraries go in section 3
my $files = $self->_find_pods($self->{properties}{libdoc_dirs});
return unless keys %$files;
@@ -3278,7 +3252,7 @@ sub manify_lib_pods {
while (my ($file, $relfile) = each %$files) {
# Pod::Simple based parsers only support one document per instance.
# This is expected to change in a future version (Pod::Simple > 3.03).
- my $parser = Pod::Man->new( section => 3 ); # libraries go in section 3
+ my $parser = Pod::Man->new( %podman_args );
my $manpage = $self->man3page_name( $relfile ) . '.' .
$self->config( 'man3ext' );
my $outfile = File::Spec->catfile( $mandir, $manpage);
@@ -3301,6 +3275,7 @@ sub _find_pods {
foreach my $regexp ( @{ $args{exclude} } ) {
next FILE if $file =~ $regexp;
}
+ $file = $self->localize_file_path($file);
$files{$file} = File::Spec->abs2rel($file, $dir) if $self->contains_pod( $file )
}
}
@@ -3311,7 +3286,7 @@ sub contains_pod {
my ($self, $file) = @_;
return '' unless -T $file; # Only look at text files
- my $fh = IO::File->new( $file ) or die "Can't open $file: $!";
+ open(my $fh, '<', $file ) or die "Can't open $file: $!";
while (my $line = <$fh>) {
return 1 if $line =~ /^\=(?:head|pod|item)/;
}
@@ -3358,15 +3333,18 @@ sub htmlify_pods {
: $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;
+ unless (defined $self->args('html_links') and !$self->args('html_links')) {
+ 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);
+ $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]),''
@@ -3416,7 +3394,7 @@ sub htmlify_pods {
my $depth = @rootdirs + @dirs;
my %opts = ( infile => $infile,
outfile => $tmpfile,
- podpath => $podpath,
+ ( defined($podpath) ? (podpath => $podpath) : ()),
podroot => $podroot,
index => 1,
depth => $depth,
@@ -3427,8 +3405,8 @@ sub htmlify_pods {
} 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 $path2root = File::Spec->catdir((File::Spec->updir) x @dirs);
+ open(my $fh, '<', $infile) or die "Can't read $infile: $!";
my $abstract = Module::Build::PodParser->new(fh => $fh)->get_abstract();
my $title = join( '::', (@dirs, $name) );
@@ -3436,11 +3414,11 @@ sub htmlify_pods {
my @opts = (
"--title=$title",
- "--podpath=$podpath",
+ ( defined($podpath) ? "--podpath=$podpath" : ()),
"--infile=$infile",
"--outfile=$tmpfile",
"--podroot=$podroot",
- "--htmlroot=$path2root",
+ ($path2root ? "--htmlroot=$path2root" : ()),
);
unless ( eval{Pod::Html->VERSION(1.12)} ) {
@@ -3467,9 +3445,9 @@ sub htmlify_pods {
$errors++;
next POD;
}
- my $fh = IO::File->new($tmpfile) or die "Can't read $tmpfile: $!";
+ open(my $fh, '<', $tmpfile) or die "Can't read $tmpfile: $!";
my $html = join('',<$fh>);
- $fh->close;
+ close $fh;
if (!$self->_is_ActivePerl) {
# These fixups are already done by AP::DT:P:pod2html
# The output from pod2html is NOT XHTML!
@@ -3484,9 +3462,9 @@ sub htmlify_pods {
# Fixup links that point to our temp blib
$html =~ s/\Q$blibdir\E//g;
- $fh = IO::File->new(">$outfile") or die "Can't write $outfile: $!";
+ open($fh, '>', $outfile) or die "Can't write $outfile: $!";
print $fh $html;
- $fh->close;
+ close $fh;
unlink($tmpfile);
}
@@ -3574,7 +3552,7 @@ sub ACTION_install {
my ($self) = @_;
require ExtUtils::Install;
$self->depends_on('build');
- # RT#63003 suggest that odd cirmstances that we might wind up
+ # RT#63003 suggest that odd circumstances 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 {
@@ -3685,10 +3663,6 @@ sub ACTION_installdeps {
}
}
- if ( ! -x $command ) {
- die "cpan_client '$command' is not executable\n";
- }
-
$self->do_system($command, @opts, @install);
}
@@ -3859,12 +3833,12 @@ sub _add_to_manifest {
my $mode = (stat $manifest)[2];
chmod($mode | oct(222), $manifest) or die "Can't make $manifest writable: $!";
- my $fh = IO::File->new("< $manifest") or die "Can't read $manifest: $!";
+ open(my $fh, '<', $manifest) or die "Can't read $manifest: $!";
my $last_line = (<$fh>)[-1] || "\n";
my $has_newline = $last_line =~ /\n$/;
- $fh->close;
+ close $fh;
- $fh = IO::File->new(">> $manifest") or die "Can't write to $manifest: $!";
+ open($fh, '>>', $manifest) or die "Can't write to $manifest: $!";
print $fh "\n" unless $has_newline;
print $fh map "$_\n", @$lines;
close $fh;
@@ -3960,7 +3934,7 @@ HERE
$self->delete_filetree('LICENSE');
- my $fh = IO::File->new('> LICENSE')
+ open(my $fh, '>', 'LICENSE')
or die "Can't write LICENSE file: $!";
print $fh $license->fulltext;
close $fh;
@@ -3992,8 +3966,7 @@ EOF
} elsif ( eval {require Pod::Text; 1} ) {
$self->log_info("Creating README using Pod::Text\n");
- my $fh = IO::File->new('> README');
- if ( defined($fh) ) {
+ if ( open(my $fh, '>', 'README') ) {
local $^W = 0;
no strict "refs";
@@ -4014,7 +3987,7 @@ EOF
Pod::Text::pod2text( $docfile, $fh );
- $fh->close;
+ close $fh;
} else {
$self->log_warn(
"Cannot create 'README' file: Can't open file for writing\n" );
@@ -4094,9 +4067,9 @@ sub ACTION_disttest {
$self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
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', [], ['test'])
+ $self->run_perl_script($self->build_script)
+ or die "Error executing $self->build_script in dist directory: $!";
+ $self->run_perl_script($self->build_script, [], ['test'])
or die "Error executing 'Build test' in dist directory";
});
}
@@ -4110,9 +4083,9 @@ sub ACTION_distinstall {
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'])
+ $self->run_perl_script($self->build_script)
+ or die "Error executing $self->build_script in dist directory: $!";
+ $self->run_perl_script($self->build_script, [], ['install'])
or die "Error executing 'Build install' in dist directory";
}
);
@@ -4208,17 +4181,17 @@ sub _append_maniskip {
my $skip = shift;
my $file = shift || 'MANIFEST.SKIP';
return unless defined $skip && length $skip;
- my $fh = IO::File->new(">> $file")
+ open(my $fh, '>>', $file)
or die "Can't open $file: $!";
print $fh "$skip\n";
- $fh->close();
+ close $fh;
}
sub _write_default_maniskip {
my $self = shift;
my $file = shift || 'MANIFEST.SKIP';
- my $fh = IO::File->new("> $file")
+ open(my $fh, '>', $file)
or die "Can't open $file: $!";
my $content = $self->_eumanifest_has_include ? "#!include_default\n"
@@ -4244,6 +4217,8 @@ EOF
$content .= '\b'.$self->dist_name.'-[\d\.\_]+'."\n";
print $fh $content;
+
+ close $fh;
return;
}
@@ -4413,8 +4388,8 @@ BEGIN { *scripts = \&script_files; }
perl => 'Perl_5',
apache => 'Apache_2_0',
apache_1_1 => 'Apache_1_1',
- artistic => 'Artistic_1_0',
- artistic_2 => 'Artistic_2_0',
+ artistic => 'Artistic_1',
+ artistic_2 => 'Artistic_2',
lgpl => 'LGPL_2_1',
lgpl2 => 'LGPL_2_1',
lgpl3 => 'LGPL_3_0',
@@ -4424,9 +4399,9 @@ BEGIN { *scripts = \&script_files; }
gpl3 => 'GPL_3',
mit => 'MIT',
mozilla => 'Mozilla_1_1',
+ restrictive => 'Restricted',
open_source => undef,
unrestricted => undef,
- restrictive => undef,
unknown => undef,
);
@@ -4447,9 +4422,9 @@ BEGIN { *scripts = \&script_files; }
gpl3 => 'http://opensource.org/licenses/gpl-3.0.html',
mit => 'http://opensource.org/licenses/mit-license.php',
mozilla => 'http://opensource.org/licenses/mozilla1.1.php',
+ restrictive => undef,
open_source => undef,
unrestricted => undef,
- restrictive => undef,
unknown => undef,
);
sub valid_licenses {
@@ -4460,21 +4435,30 @@ 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;
+sub _software_license_class {
+ my ($self, $license) = @_;
+ if ($self->valid_licenses->{$license} && eval { require Software::LicenseUtils; Software::LicenseUtils->VERSION(0.103009) }) {
+ my ($class) = Software::LicenseUtils->guess_license_from_meta_key($license, 1);
+ eval "require $class";
+ #die $class;
+ return $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 $trial;
}
}
- return unless defined $class;
+ return;
+}
+
+# use mapping or license name directly
+sub _software_license_object {
+ my ($self) = @_;
+ return unless defined( my $license = $self->license );
+
+ my $class = $self->_software_license_class($license) or return;
# Software::License requires a 'holder' argument
my $author = join( " & ", @{ $self->dist_author }) || 'unknown';
@@ -4568,7 +4552,7 @@ sub _get_meta_object {
auto => $args{auto},
);
$data->{dynamic_config} = $args{dynamic} if defined $args{dynamic};
- $meta = CPAN::Meta->create( $data );
+ $meta = CPAN::Meta->create($data);
};
if ($@ && ! $args{quiet}) {
$self->log_warn(
@@ -4624,6 +4608,16 @@ sub normalize_version {
return $version;
}
+my %prereq_map = (
+ requires => [ qw/runtime requires/],
+ configure_requires => [qw/configure requires/],
+ build_requires => [ qw/build requires/ ],
+ test_requires => [ qw/test requires/ ],
+ test_recommends => [ qw/test recommends/ ],
+ recommends => [ qw/runtime recommends/ ],
+ conflicts => [ qw/runtime conflicts/ ],
+);
+
sub _normalize_prereqs {
my ($self) = @_;
my $p = $self->{properties};
@@ -4631,46 +4625,98 @@ sub _normalize_prereqs {
# copy prereq data structures so we can modify them before writing to META
my %prereq_types;
for my $type ( 'configure_requires', @{$self->prereq_action_types} ) {
- if (exists $p->{$type}) {
+ if (exists $p->{$type} and keys %{ $p->{$type} }) {
+ my ($phase, $relation) = @{ $prereq_map{$type} };
for my $mod ( keys %{ $p->{$type} } ) {
- $prereq_types{$type}{$mod} =
- $self->normalize_version($p->{$type}{$mod});
+ $prereq_types{$phase}{$relation}{$mod} = $self->normalize_version($p->{$type}{$mod});
}
}
}
return \%prereq_types;
}
-# wrapper around old prepare_metadata API;
-sub get_metadata {
- my ($self, %args) = @_;
- my $metadata = {};
- $self->prepare_metadata( $metadata, undef, \%args );
- return $metadata;
+sub _get_license {
+ my $self = shift;
+
+ my $license = $self->license;
+ my ($meta_license, $meta_license_url);
+
+ my $valid_licenses = $self->valid_licenses();
+ if ( my $sl = $self->_software_license_object ) {
+ $meta_license = $sl->meta2_name;
+ $meta_license_url = $sl->url;
+ }
+ elsif ( exists $valid_licenses->{$license} ) {
+ $meta_license = $valid_licenses->{$license} ? lc $valid_licenses->{$license} : $license;
+ $meta_license_url = $self->_license_url( $license );
+ }
+ else {
+ $self->log_warn( "Can not determine license type for '" . $self->license
+ . "'\nSetting META license field to 'unknown'.\n");
+ $meta_license = 'unknown';
+ }
+ return ($meta_license, $meta_license_url);
}
-# To preserve compatibility with old API, $node *must* be a hashref
-# passed in to prepare_metadata. $keys is an arrayref holding a
-# list of keys -- it's use is optional and generally no longer needed
-# but kept for back compatibility. $args is an optional parameter to
-# support the new 'fatal' toggle
+my %keep = map { $_ => 1 } qw/keywords dynamic_config provides no_index name version abstract/;
+my %ignore = map { $_ => 1 } qw/distribution_type/;
+my %reject = map { $_ => 1 } qw/private author license requires recommends build_requires configure_requires conflicts/;
-sub prepare_metadata {
- my ($self, $node, $keys, $args) = @_;
- unless ( ref $node eq 'HASH' ) {
- croak "prepare_metadata() requires a hashref argument to hold output\n";
+sub _upconvert_resources {
+ my ($input) = @_;
+ my %output;
+ for my $key (keys %{$input}) {
+ my $out_key = $key =~ /^\p{Lu}/ ? "x_\l$key" : $key;
+ if ($key eq 'repository') {
+ my $name = $input->{$key} =~ m{ \A http s? :// .* (<! \.git ) \z }xms ? 'web' : 'url';
+ $output{$out_key} = { $name => $input->{$key} };
+ }
+ elsif ($key eq 'bugtracker') {
+ $output{$out_key} = { web => $input->{$key} }
+ }
+ else {
+ $output{$out_key} = $input->{$key};
+ }
}
- my $fatal = $args->{fatal} || 0;
- my $p = $self->{properties};
+ return \%output
+}
+my %custom = (
+ resources => \&_upconvert_resources,
+);
- $self->auto_config_requires if $args->{auto};
+sub _upconvert_metapiece {
+ my ($input, $type) = @_;
+ return $input if exists $input->{'meta-spec'} && $input->{'meta-spec'}{version} == 2;
- # A little helper sub
- my $add_node = sub {
- my ($name, $val) = @_;
- $node->{$name} = $val;
- push @$keys, $name if $keys;
- };
+ my %ret;
+ for my $key (keys %{$input}) {
+ if ($keep{$key}) {
+ $ret{$key} = $input->{$key};
+ }
+ elsif ($ignore{$key}) {
+ next;
+ }
+ elsif ($reject{$key}) {
+ croak "Can't $type $key, please use another mechanism";
+ }
+ elsif (my $converter = $custom{$key}) {
+ $ret{$key} = $converter->($input->{$key});
+ }
+ else {
+ my $out_key = $key =~ / \A x_ /xi ? $key : "x_$key";
+ $ret{$out_key} = $input->{$key};
+ }
+ }
+ return \%ret;
+}
+
+sub get_metadata {
+ my ($self, %args) = @_;
+
+ my $fatal = $args{fatal} || 0;
+ my $p = $self->{properties};
+
+ $self->auto_config_requires if $args{auto};
# validate required fields
foreach my $f (qw(dist_name dist_version dist_author dist_abstract license)) {
@@ -4686,80 +4732,61 @@ sub prepare_metadata {
}
}
+ my %metadata = (
+ name => $self->dist_name,
+ version => $self->normalize_version($self->dist_version),
+ author => $self->dist_author,
+ abstract => $self->dist_abstract,
+ generated_by => "Module::Build version $Module::Build::VERSION",
+ 'meta-spec' => {
+ version => '2',
+ url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ },
+ dynamic_config => exists $p->{dynamic_config} ? $p->{dynamic_config} : 1,
+ release_status => $self->release_status,
+ );
- # 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});
-
- # validate license information
- my $license = $self->license;
- my ($meta_license, $meta_license_url);
-
- # 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;
+ my ($meta_license, $meta_license_url) = $self->_get_license;
+ $metadata{license} = [ $meta_license ];
+ $metadata{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});
- }
+ $metadata{prereqs} = $self->_normalize_prereqs;
- if (exists $p->{dynamic_config}) {
- $add_node->('dynamic_config', $p->{dynamic_config});
- }
- my $pkgs = eval { $self->find_dist_packages };
- if ($@) {
+ if (exists $p->{no_index}) {
+ $metadata{no_index} = $p->{no_index};
+ } elsif (my $pkgs = eval { $self->find_dist_packages }) {
+ $metadata{provides} = $pkgs if %$pkgs;
+ } else {
$self->log_warn("$@\nWARNING: Possible missing or corrupt 'MANIFEST' file.\n" .
"Nothing to enter for 'provides' field in metafile.\n");
- } else {
- $node->{provides} = $pkgs if %$pkgs;
}
-;
- if (exists $p->{no_index}) {
- $add_node->('no_index', $p->{no_index});
+
+ my $meta_add = _upconvert_metapiece($self->meta_add, 'add');
+ while (my($k, $v) = each %{$meta_add} ) {
+ $metadata{$k} = $v;
}
- $add_node->('generated_by', "Module::Build version $Module::Build::VERSION");
+ my $meta_merge = _upconvert_metapiece($self->meta_merge, 'merge');
+ while (my($k, $v) = each %{$meta_merge} ) {
+ $self->_hash_merge(\%metadata, $k, $v);
+ }
- $add_node->('meta-spec',
- {version => '1.4',
- url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
- });
+ return \%metadata;
+}
- while (my($k, $v) = each %{$self->meta_add}) {
- $add_node->($k, $v);
- }
+# To preserve compatibility with old API, $node *must* be a hashref
+# passed in to prepare_metadata. $keys is an arrayref holding a
+# list of keys -- it's use is optional and generally no longer needed
+# but kept for back compatibility. $args is an optional parameter to
+# support the new 'fatal' toggle
- while (my($k, $v) = each %{$self->meta_merge}) {
- $self->_hash_merge($node, $k, $v);
+sub prepare_metadata {
+ my ($self, $node, $keys, $args) = @_;
+ unless ( ref $node eq 'HASH' ) {
+ croak "prepare_metadata() requires a hashref argument to hold output\n";
}
-
+ croak 'Keys argument to prepare_metadata is no longer supported' if $keys;
+ %{$node} = %{ $self->get_meta(%{$args}) };
return $node;
}
@@ -5321,7 +5348,7 @@ sub have_c_compiler {
return $p->{_have_c_compiler} if defined $p->{_have_c_compiler};
$self->log_verbose("Checking if compiler tools configured... ");
- my $b = eval { $self->cbuilder };
+ my $b = $self->cbuilder;
my $have = $b && eval { $b->have_compiler };
$self->log_verbose($have ? "ok.\n" : "failed.\n");
return $p->{_have_c_compiler} = $have;
@@ -5407,7 +5434,7 @@ sub compile_xs {
@typemaps, $file);
$self->log_info("@command\n");
- my $fh = IO::File->new("> $args{outfile}") or die "Couldn't write $args{outfile}: $!";
+ open(my $fh, '>', $args{outfile}) or die "Couldn't write $args{outfile}: $!";
print {$fh} $self->_backticks(@command);
close $fh;
}
@@ -5493,17 +5520,19 @@ sub _infer_xs_spec {
$spec{archdir} = File::Spec->catdir($self->blib, 'arch', 'auto',
@d, $file_base);
- $spec{bs_file} = File::Spec->catfile($spec{archdir}, "${file_base}.bs");
-
- $spec{lib_file} = File::Spec->catfile($spec{archdir},
- "${file_base}.".$cf->get('dlext'));
-
$spec{c_file} = File::Spec->catfile( $spec{src_dir},
"${file_base}.c" );
$spec{obj_file} = File::Spec->catfile( $spec{src_dir},
"${file_base}".$cf->get('obj_ext') );
+ require DynaLoader;
+ my $modfname = defined &DynaLoader::mod2fname ? DynaLoader::mod2fname([@d, $file_base]) : $file_base;
+
+ $spec{bs_file} = File::Spec->catfile($spec{archdir}, "$modfname.bs");
+
+ $spec{lib_file} = File::Spec->catfile($spec{archdir}, "$modfname.".$cf->get('dlext'));
+
return \%spec;
}
@@ -5536,7 +5565,7 @@ sub process_xs {
require ExtUtils::Mkbootstrap;
$self->log_info("ExtUtils::Mkbootstrap::Mkbootstrap('$spec->{bs_file}')\n");
ExtUtils::Mkbootstrap::Mkbootstrap($spec->{bs_file}); # Original had $BSLOADLIBS - what's that?
- {my $fh = IO::File->new(">> $spec->{bs_file}")} # create
+ open(my $fh, '>>', $spec->{bs_file}); # create
utime((time)x2, $spec->{bs_file}); # touch
}
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Bundling.pod b/Master/tlpkg/tlperl/lib/Module/Build/Bundling.pod
new file mode 100644
index 00000000000..5e7b9f98075
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Bundling.pod
@@ -0,0 +1,147 @@
+=head1 NAME
+
+Module::Build::Bundling - How to bundle Module::Build with a distribution
+
+=head1 SYNOPSIS
+
+ # Build.PL
+ use inc::latest 'Module::Build';
+
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+=head1 DESCRIPTION
+
+B<WARNING -- THIS IS AN EXPERIMENTAL FEATURE>
+
+In order to install a distribution using Module::Build, users must
+have Module::Build available on their systems. There are two ways
+to do this. The first way is to include Module::Build in the
+C<configure_requires> metadata field. This field is supported by
+recent versions L<CPAN> and L<CPANPLUS> and is a standard feature
+in the Perl core as of Perl 5.10.1. Module::Build now adds itself
+to C<configure_requires> by default.
+
+The second way supports older Perls that have not upgraded CPAN or
+CPANPLUS and involves bundling an entire copy of Module::Build
+into the distribution's C<inc/> directory. This is the same approach
+used by L<Module::Install>, a modern wrapper around ExtUtils::MakeMaker
+for Makefile.PL based distributions.
+
+The "trick" to making this work for Module::Build is making sure the
+highest version Module::Build is used, whether this is in C<inc/> or
+already installed on the user's system. This ensures that all necessary
+features are available as well as any new bug fixes. This is done using
+the new L<inc::latest> module.
+
+A "normal" Build.PL looks like this (with only the minimum required
+fields):
+
+ use Module::Build;
+
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+A "bundling" Build.PL replaces the initial "use" line with a nearly
+transparent replacement:
+
+ use inc::latest 'Module::Build';
+
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+For I<authors>, when "Build dist" is run, Module::Build will be
+automatically bundled into C<inc> according to the rules for
+L<inc::latest>.
+
+For I<users>, inc::latest will load the latest Module::Build, whether
+installed or bundled in C<inc/>.
+
+=head1 BUNDLING OTHER CONFIGURATION DEPENDENCIES
+
+The same approach works for other configuration dependencies -- modules
+that I<must> be available for Build.PL to run. All other dependencies can
+be specified as usual in the Build.PL and CPAN or CPANPLUS will install
+them after Build.PL finishes.
+
+For example, to bundle the L<Devel::AssertOS::Unix> module (which ensures a
+"Unix-like" operating system), one could do this:
+
+ use inc::latest 'Devel::AssertOS::Unix';
+ use inc::latest 'Module::Build';
+
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+The C<inc::latest> module creates bundled directories based on the packlist
+file of an installed distribution. Even though C<inc::latest> takes module
+name arguments, it is better to think of it as bundling and making
+available entire I<distributions>. When a module is loaded through
+C<inc::latest>, it looks in all bundled distributions in C<inc/> for a
+newer module than can be found in the existing C<@INC> array.
+
+Thus, the module-name provided should usually be the "top-level" module
+name of a distribution, though this is not strictly required. For example,
+L<Module::Build> has a number of heuristics to map module names to
+packlists, allowing users to do things like this:
+
+ use inc::latest 'Devel::AssertOS::Unix';
+
+even though Devel::AssertOS::Unix is contained within the Devel-CheckOS
+distribution.
+
+At the current time, packlists are required. Thus, bundling dual-core
+modules, I<including Module::Build>, may require a 'forced install' over
+versions in the latest version of perl in order to create the necessary
+packlist for bundling. This limitation will hopefully be addressed in a
+future version of Module::Build.
+
+=head2 WARNING -- How to Manage Dependency Chains
+
+Before bundling a distribution you must ensure that all prerequisites are
+also bundled and load in the correct order. For Module::Build itself, this
+should not be necessary, but it is necessary for any other distribution.
+(A future release of Module::Build will hopefully address this deficiency.)
+
+For example, if you need C<Wibble>, but C<Wibble> depends on C<Wobble>,
+your Build.PL might look like this:
+
+ use inc::latest 'Wobble';
+ use inc::latest 'Wibble';
+ use inc::latest 'Module::Build';
+
+ Module::Build->new(
+ module_name => 'Foo::Bar',
+ license => 'perl',
+ )->create_build_script;
+
+Authors are strongly suggested to limit the bundling of additional
+dependencies if at all possible and to carefully test their distribution
+tarballs on older versions of Perl before uploading to CPAN.
+
+=head1 AUTHOR
+
+David Golden <dagolden@cpan.org>
+
+Development questions, bug reports, and patches should be sent to the
+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>.
+
+=head1 SEE ALSO
+
+perl(1), L<inc::latest>, L<Module::Build>(3), L<Module::Build::API>(3),
+L<Module::Build::Cookbook>(3),
+
+=cut
+
+# vim: tw=75
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
index 79499a6efd9..11bbf11b4a9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
@@ -2,11 +2,10 @@ package Module::Build::Compat;
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
use File::Basename ();
use File::Spec;
-use IO::File;
use Config;
use Module::Build;
use Module::Build::ModuleInfo;
@@ -123,7 +122,7 @@ HERE
$args{file} ||= 'Makefile.PL';
local $build->{properties}{quiet} = 1;
$build->delete_filetree($args{file});
- $fh = IO::File->new("> $args{file}") or die "Can't write $args{file}: $!";
+ open($fh, '>', "$args{file}") or die "Can't write $args{file}: $!";
}
print {$fh} "# Note: this file was auto-generated by ", __PACKAGE__, " version $VERSION\n";
@@ -406,7 +405,7 @@ EOF
sub fake_prereqs {
my $file = File::Spec->catfile('_build', 'prereqs');
- my $fh = IO::File->new("< $file") or die "Can't read $file: $!";
+ open(my $fh, '<', "$file") or die "Can't read $file: $!";
my $prereqs = eval do {local $/; <$fh>};
close $fh;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
index 88a3ff31579..69bec80543a 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.4003';
+$VERSION = '0.4205';
$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 85fa28d869b..ec72359cd08 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm
@@ -21,7 +21,6 @@ sub config_names { keys %$config }
sub write {
my $me = __FILE__;
- require IO::File;
# Can't use Module::Build::Dumper here because M::B is only a
# build-time prereq of this module
@@ -29,7 +28,7 @@ sub write {
my $mode_orig = (stat $me)[2] & 07777;
chmod($mode_orig | 0222, $me); # Make it writeable
- my $fh = IO::File->new($me, 'r+') or die "Can't rewrite $me: $!";
+ open(my $fh, '+<', $me) or die "Can't rewrite $me: $!";
seek($fh, 0, 0);
while (<$fh>) {
last if /^__DATA__$/;
@@ -38,11 +37,11 @@ sub write {
seek($fh, tell($fh), 0);
my $data = [$config, $features, $auto_features];
- $fh->print( 'do{ my '
+ print($fh 'do{ my '
. Data::Dumper->new([$data],['x'])->Purity(1)->Dump()
. '$x; }' );
truncate($fh, tell($fh));
- $fh->close;
+ close $fh;
chmod($mode_orig, $me)
or warn "Couldn't restore permissions on $me: $!";
@@ -168,47 +167,44 @@ do{ my $x = [
{},
{},
{
- 'license_creation' => {
- 'requires' => {
- 'Software::License' => 0
- },
- 'description' => 'Create licenses automatically in distributions'
- },
- 'inc_bundling_support' => {
- 'requires' => {
- 'ExtUtils::Installed' => '1.999',
- 'ExtUtils::Install' => '1.54'
- },
- 'description' => 'Bundle Module::Build in inc/'
- },
- 'manpage_support' => {
- 'requires' => {
- 'Pod::Man' => 0
- },
- 'description' => 'Create Unix man pages'
- },
- 'PPM_support' => {
- 'requires' => {
- 'IO::File' => '1.13'
- },
- 'description' => 'Generate PPM files for distributions'
- },
'dist_authoring' => {
'requires' => {
'Archive::Tar' => '1.09'
},
+ 'description' => 'Create new distributions',
'recommends' => {
- 'Module::Signature' => '0.21',
- 'Pod::Readme' => '0.04'
- },
- 'description' => 'Create new distributions'
+ 'Pod::Readme' => '0.04',
+ 'Module::Signature' => '0.21'
+ }
},
'HTML_support' => {
'requires' => {
'Pod::Html' => 0
},
'description' => 'Create HTML documentation'
- }
+ },
+ 'manpage_support' => {
+ 'requires' => {
+ 'Pod::Man' => 0
+ },
+ 'description' => 'Create Unix man pages'
+ },
+ 'license_creation' => {
+ 'requires' => {
+ 'Software::License' => '0.103009'
+ },
+ 'description' => 'Create licenses automatically in distributions'
+ },
+ 'PPM_support' => {
+ 'description' => 'Generate PPM files for distributions'
+ },
+ 'inc_bundling_support' => {
+ 'requires' => {
+ 'ExtUtils::Installed' => '1.999',
+ 'ExtUtils::Install' => '1.54'
+ },
+ 'description' => 'Bundle Module::Build in inc/'
+ }
}
];
$x; } \ No newline at end of file
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
index e66020cf826..08d10b3ceb2 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.4003';
+$VERSION = '0.4205';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
index 73839c79e4d..d70a38e5ae5 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.4003';
+$VERSION = '0.4205';
# 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 b36cc388c3d..2e1483154dc 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
@@ -4,7 +4,7 @@ package Module::Build::ModuleInfo;
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
require Module::Metadata;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
index 04773229932..bd4a2491b2a 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
@@ -4,10 +4,9 @@ package Module::Build::Notes;
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Data::Dumper;
-use IO::File;
use Module::Build::Dumper;
sub new {
@@ -24,9 +23,10 @@ sub new {
sub restore {
my $self = shift;
- my $fh = IO::File->new("< $self->{file}") or die "Can't read $self->{file}: $!";
+ open(my $fh, '<', $self->{file}) or die "Can't read $self->{file}: $!";
$self->{disk} = eval do {local $/; <$fh>};
die $@ if $@;
+ close $fh;
$self->{new} = {};
}
@@ -107,8 +107,9 @@ sub write {
sub _dump {
my ($self, $file, $data) = @_;
- my $fh = IO::File->new("> $file") or die "Can't create '$file': $!";
+ open(my $fh, '>', $file) or die "Can't create '$file': $!";
print {$fh} Module::Build::Dumper->_data_dump($data);
+ close $fh;
}
my $orig_template = do { local $/; <DATA> };
@@ -127,11 +128,11 @@ sub write_config_data {
# recognized for *this* source file
$template =~ s{$_\n}{} for '=begin private', '=end private';
- my $fh = IO::File->new("> $args{file}") or die "Can't create '$args{file}': $!";
+ open(my $fh, '>', $args{file}) or die "Can't create '$args{file}': $!";
print {$fh} $template;
print {$fh} "\n__DATA__\n";
print {$fh} Module::Build::Dumper->_data_dump([$args{config_data}, $args{feature}, $args{auto_features}]);
-
+ close $fh;
}
1;
@@ -188,7 +189,6 @@ sub config_names { keys %$config }
sub write {
my $me = __FILE__;
- require IO::File;
# Can't use Module::Build::Dumper here because M::B is only a
# build-time prereq of this module
@@ -196,7 +196,7 @@ sub write {
my $mode_orig = (stat $me)[2] & 07777;
chmod($mode_orig | 0222, $me); # Make it writeable
- my $fh = IO::File->new($me, 'r+') or die "Can't rewrite $me: $!";
+ open(my $fh, '+<', $me) or die "Can't rewrite $me: $!";
seek($fh, 0, 0);
while (<$fh>) {
last if /^__DATA__$/;
@@ -205,11 +205,11 @@ sub write {
seek($fh, tell($fh), 0);
my $data = [$config, $features, $auto_features];
- $fh->print( 'do{ my '
+ print($fh 'do{ my '
. Data::Dumper->new([$data],['x'])->Purity(1)->Dump()
. '$x; }' );
truncate($fh, tell($fh));
- $fh->close;
+ close $fh;
chmod($mode_orig, $me)
or warn "Couldn't restore permissions on $me: $!";
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
index 34f549576af..3ffa32ef329 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
@@ -3,9 +3,8 @@ package Module::Build::PPMMaker;
use strict;
use Config;
use vars qw($VERSION);
-use IO::File;
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
# This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
@@ -100,12 +99,11 @@ EOF
EOF
my $ppd_file = "$dist{name}.ppd";
- my $fh = IO::File->new(">$ppd_file")
+ open(my $fh, '>', $ppd_file)
or die "Cannot write to $ppd_file: $!";
- my $io_file_ok = eval { IO::File->VERSION(1.13); 1 };
- $fh->binmode(":utf8")
- if $io_file_ok && $fh->can('binmode') && $] >= 5.008 && $Config{useperlio};
+ binmode($fh, ":utf8")
+ if $] >= 5.008 && $Config{useperlio};
print $fh $ppd;
close $fh;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
deleted file mode 100644
index 0be3dde62ec..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
+++ /dev/null
@@ -1,34 +0,0 @@
-package Module::Build::Platform::Amiga;
-
-use strict;
-use vars qw($VERSION);
-$VERSION = '0.4003';
-$VERSION = eval $VERSION;
-use Module::Build::Base;
-
-use vars qw(@ISA);
-@ISA = qw(Module::Build::Base);
-
-
-1;
-__END__
-
-
-=head1 NAME
-
-Module::Build::Platform::Amiga - Builder class for Amiga platforms
-
-=head1 DESCRIPTION
-
-The sole purpose of this module is to inherit from
-C<Module::Build::Base>. Please see the L<Module::Build> for the docs.
-
-=head1 AUTHOR
-
-Ken Williams <kwilliams@cpan.org>
-
-=head1 SEE ALSO
-
-perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
index 53bffc05940..8a9cf8b0a75 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.4003';
+$VERSION = '0.4205';
$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
deleted file mode 100644
index 8c4349b5f6c..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
+++ /dev/null
@@ -1,34 +0,0 @@
-package Module::Build::Platform::EBCDIC;
-
-use strict;
-use vars qw($VERSION);
-$VERSION = '0.4003';
-$VERSION = eval $VERSION;
-use Module::Build::Base;
-
-use vars qw(@ISA);
-@ISA = qw(Module::Build::Base);
-
-
-1;
-__END__
-
-
-=head1 NAME
-
-Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
-
-=head1 DESCRIPTION
-
-The sole purpose of this module is to inherit from
-C<Module::Build::Base>. Please see the L<Module::Build> for the docs.
-
-=head1 AUTHOR
-
-Ken Williams <kwilliams@cpan.org>
-
-=head1 SEE ALSO
-
-perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
deleted file mode 100644
index 5688a99329d..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
+++ /dev/null
@@ -1,34 +0,0 @@
-package Module::Build::Platform::MPEiX;
-
-use strict;
-use vars qw($VERSION);
-$VERSION = '0.4003';
-$VERSION = eval $VERSION;
-use Module::Build::Base;
-
-use vars qw(@ISA);
-@ISA = qw(Module::Build::Base);
-
-
-1;
-__END__
-
-
-=head1 NAME
-
-Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
-
-=head1 DESCRIPTION
-
-The sole purpose of this module is to inherit from
-C<Module::Build::Base>. Please see the L<Module::Build> for the docs.
-
-=head1 AUTHOR
-
-Ken Williams <kwilliams@cpan.org>
-
-=head1 SEE ALSO
-
-perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
index 8b567668529..7e12ca12fa2 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.4003';
+$VERSION = '0.4205';
$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
deleted file mode 100644
index 6ed9d3d1c37..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
+++ /dev/null
@@ -1,34 +0,0 @@
-package Module::Build::Platform::RiscOS;
-
-use strict;
-use vars qw($VERSION);
-$VERSION = '0.4003';
-$VERSION = eval $VERSION;
-use Module::Build::Base;
-
-use vars qw(@ISA);
-@ISA = qw(Module::Build::Base);
-
-
-1;
-__END__
-
-
-=head1 NAME
-
-Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
-
-=head1 DESCRIPTION
-
-The sole purpose of this module is to inherit from
-C<Module::Build::Base>. Please see the L<Module::Build> for the docs.
-
-=head1 AUTHOR
-
-Ken Williams <kwilliams@cpan.org>
-
-=head1 SEE ALSO
-
-perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
index e3d7ff5b224..ec13ebea9be 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.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Module::Build::Base;
@@ -43,8 +43,8 @@ sub _detildefy {
my ($self, $value) = @_;
$value =~ s[^~([^/]+)?(?=/|$)] # tilde with optional username
[$1 ?
- ((getpwnam $1)[7] || "~$1") :
- ($ENV{HOME} || (getpwuid $>)[7])
+ (eval{(getpwnam $1)[7]} || "~$1") :
+ ($ENV{HOME} || eval{(getpwuid $>)[7]} || glob("~"))
]ex;
return $value;
}
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
index 7ff7e056bdc..5b06baa5f87 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.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Module::Build::Base;
use Config;
@@ -279,30 +279,6 @@ sub oneliner {
return "MCR $^X $oneliner";
}
-=item _infer_xs_spec
-
-Inherit the standard version but tweak the library file name to be
-something Dynaloader can find.
-
-=cut
-
-sub _infer_xs_spec {
- my $self = shift;
- my $file = shift;
-
- my $spec = $self->SUPER::_infer_xs_spec($file);
-
- # Need to create with the same name as DynaLoader will load with.
- if (defined &DynaLoader::mod2fname) {
- my $file = $$spec{module_name} . '.' . $self->{config}->get('dlext');
- $file =~ tr/:/_/;
- $file = DynaLoader::mod2fname([$file]);
- $$spec{lib_file} = File::Spec->catfile($$spec{archdir}, $file);
- }
-
- return $spec;
-}
-
=item rscan_dir
Inherit the standard version but remove dots at end of name.
@@ -427,26 +403,15 @@ sub _detildefy {
my @hdirs = File::Spec::Unix->splitdir($hdir);
my @dirs = File::Spec::Unix->splitdir($dir);
- my $newdirs;
-
- # Two cases of tilde handling
- if ($arg =~ m#^~/#) {
-
- # Simple case, just merge together
- $newdirs = File::Spec::Unix->catdir(@hdirs, @dirs);
-
- } else {
-
- # Complex case, need to add an updir - No delimiters
- my @backup = File::Spec::Unix->splitdir(File::Spec::Unix->updir);
-
- $newdirs = File::Spec::Unix->catdir(@hdirs, @backup, @dirs);
+ unless ($arg =~ m#^~/#) {
+ # There is a home directory after the tilde, but it will already
+ # be present in in @hdirs so we need to remove it by from @dirs.
+ shift @dirs;
}
+ my $newdirs = File::Spec::Unix->catdir(@hdirs, @dirs);
- # Now put the two cases back together
$arg = File::Spec::Unix->catpath($hvol, $newdirs, $file);
-
}
return $arg;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
index 2578e31b3be..19dfceeaf0e 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.4003';
+$VERSION = '0.4205';
$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 e35e28f707f..77441774507 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
@@ -2,13 +2,12 @@ package Module::Build::Platform::Windows;
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Config;
use File::Basename;
use File::Spec;
-use IO::File;
use Module::Build::Base;
@@ -49,7 +48,7 @@ sub ACTION_realclean {
my $null_arg = (Win32::IsWinNT()) ? '""' : '';
my $cmd = qq(start $null_arg /min "\%comspec\%" /c del "$full_progname");
- my $fh = IO::File->new(">> $basename.bat")
+ open(my $fh, '>>', "$basename.bat")
or die "Can't create $basename.bat: $!";
print $fh $cmd;
close $fh ;
@@ -137,9 +136,9 @@ EOT
my $start = $Config{startperl};
$start = "#!perl" unless $start =~ /^#!.*perl/;
- my $in = IO::File->new("< $opts{in}") or die "Can't open $opts{in}: $!";
+ open(my $in, '<', "$opts{in}") or die "Can't open $opts{in}: $!";
my @file = <$in>;
- $in->close;
+ close($in);
foreach my $line ( @file ) {
$linenum++;
@@ -164,13 +163,13 @@ EOT
}
}
- my $out = IO::File->new("> $opts{out}") or die "Can't open $opts{out}: $!";
+ open(my $out, '>', "$opts{out}") or die "Can't open $opts{out}: $!";
print $out $head;
print $out $start, ( $opts{usewarnings} ? " -w" : "" ),
"\n#line ", ($headlines+1), "\n" unless $linedone;
print $out @file[$skiplines..$#file];
print $out $tail unless $taildone;
- $out->close;
+ close($out);
return $opts{out};
}
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
index 3833ceb9761..c51e1002e6b 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.4003';
+$VERSION = '0.4205';
$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 15d3e818412..19bd50db8bf 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.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
index 45d68fdcd0a..c7e690241c2 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.4003';
+$VERSION = '0.4205';
$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 52d6e173d87..5f9ad187db8 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.4003';
+$VERSION = '0.4205';
$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 6605fd47272..c7e83a837d3 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.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use vars qw(@ISA);
@@ -16,7 +16,7 @@ sub new {
unless ($self->{fh}) {
die "No 'file' or 'fh' parameter given" unless $self->{file};
- $self->{fh} = IO::File->new($self->{file}) or die "Couldn't open $self->{file}: $!";
+ open($self->{fh}, '<', $self->{file}) or die "Couldn't open $self->{file}: $!";
}
return $self;
@@ -29,7 +29,7 @@ sub parse_from_filehandle {
while (<$fh>) {
next unless /^=(?!cut)/ .. /^=cut/; # in POD
# Accept Name - abstract or C<Name> - abstract
- last if ($self->{abstract}) = /^ (?: [a-z0-9:]+ | [BCIF] < [a-z0-9:]+ > ) \s+ - \s+ (.*\S) /ix;
+ last if ($self->{abstract}) = /^ (?: [a-z_0-9:]+ | [BCIF] < [a-z_0-9:]+ > ) \s+ - \s+ (.*\S) /ix;
}
my @author;
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pm b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
index 702cfd69490..54725c87fc4 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
@@ -3,7 +3,8 @@ use strict;
use vars qw/$VERSION %released %version %families %upstream
%bug_tracker %deprecated %delta/;
use Module::CoreList::TieHashDelta;
-$VERSION = '3.03';
+use version;
+$VERSION = '5.20150214';
my $dumpinc = 0;
sub import {
@@ -27,7 +28,7 @@ sub first_release_raw {
my $version = shift;
my @perls = $version
- ? grep { exists $version{$_}{ $module } &&
+ ? grep { defined $version{$_}{ $module } &&
$version{$_}{ $module } ge $version } keys %version
: grep { exists $version{$_}{ $module } } keys %version;
@@ -242,7 +243,25 @@ sub changes_between {
5.019005 => '2013-10-20',
5.019006 => '2013-11-20',
5.019007 => '2013-12-20',
- 5.018002 => '2014-01-09',
+ 5.018002 => '2014-01-06',
+ 5.018003 => '2014-10-01',
+ 5.018004 => '2014-10-01',
+ 5.019008 => '2014-01-20',
+ 5.019009 => '2014-02-20',
+ 5.01901 => '2014-03-20',
+ 5.019011 => '2014-04-20',
+ 5.020000 => '2014-05-27',
+ 5.021000 => '2014-05-27',
+ 5.021001 => '2014-06-20',
+ 5.021002 => '2014-07-20',
+ 5.021003 => '2014-08-20',
+ 5.020001 => '2014-09-14',
+ 5.021004 => '2014-09-20',
+ 5.021005 => '2014-10-20',
+ 5.021006 => '2014-11-20',
+ 5.021007 => '2014-12-20',
+ 5.021008 => '2015-01-20',
+ 5.020002 => '2015-02-14',
);
for my $version ( sort { $a <=> $b } keys %released ) {
@@ -1703,6 +1722,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Time::HiRes' => '1.59',
'Unicode' => '4.0.1',
'Unicode::UCD' => '0.22',
+ 'Win32' => '0.23',
'base' => '2.05',
'bigint' => '0.05',
'bignum' => '0.15',
@@ -1926,11 +1946,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'JPL::AutoLoader' => 1,
'JPL::Class' => 1,
'JPL::Compile' => 1,
- 'OS2::DLL' => 1,
- 'OS2::ExtAttr' => 1,
- 'OS2::PrfDB' => 1,
- 'OS2::Process' => 1,
- 'OS2::REXX' => 1,
}
},
5.008008 => {
@@ -2023,6 +2038,9 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Math::Trig' => '1.03',
'NDBM_File' => '1.06',
'ODBM_File' => '1.06',
+ 'OS2::PrfDB' => '0.04',
+ 'OS2::Process' => '1.02',
+ 'OS2::REXX' => '1.03',
'Opcode' => '1.06',
'POSIX' => '1.09',
'PerlIO' => '1.04',
@@ -2274,6 +2292,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Net::SMTP' => '2.31',
'O' => '1.01',
'ODBM_File' => '1.07',
+ 'OS2::DLL' => '1.03',
+ 'OS2::Process' => '1.03',
'Opcode' => '1.0601',
'POSIX' => '1.15',
'PerlIO' => '1.05',
@@ -3073,6 +3093,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Net::POP3' => '2.29',
'Net::SMTP' => '2.31',
'ODBM_File' => '1.07',
+ 'OS2::DLL' => '1.03',
'Object::Accessor' => '0.32',
'Opcode' => '1.09',
'POSIX' => '1.13',
@@ -3627,6 +3648,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'NEXT' => '0.64',
'Net::Ping' => '2.36',
'O' => '1.01',
+ 'OS2::Process' => '1.03',
+ 'OS2::REXX' => '1.04',
'Object::Accessor' => '0.34',
'POSIX' => '1.17',
'Package::Constants' => '0.02',
@@ -3933,6 +3956,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'File::Path' => '2.08',
'IO' => '1.25_02',
'Module::CoreList' => '2.21',
+ 'OS2::DLL' => '1.04',
+ 'OS2::Process' => '1.04',
'Object::Accessor' => '0.36',
'Opcode' => '1.15',
'POSIX' => '1.18',
@@ -5243,6 +5268,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Load::Conditional'=> '0.40',
'Module::Metadata' => '1.000003',
'Net::Ping' => '2.38',
+ 'OS2::Process' => '1.05',
'Object::Accessor' => '0.38',
'POSIX' => '1.24',
'Params::Check' => '0.28',
@@ -5353,6 +5379,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::CoreList' => '2.45',
'Module::Load::Conditional'=> '0.44',
'Module::Metadata' => '1.000004',
+ 'OS2::Process' => '1.06',
'Parse::CPAN::Meta' => '1.4401',
'Pod::Html' => '1.1',
'Socket' => '1.94',
@@ -5609,7 +5636,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::CoreList' => '2.49_02',
'PerlIO::scalar' => '0.11_01',
'Time::Piece::Seconds' => undef,
- 'XSLoader::XSLoader' => '0.13',
},
removed => {
}
@@ -5848,6 +5874,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Math::Complex' => '1.58',
'Math::Trig' => '1.22',
'Module::CoreList' => '2.54',
+ 'OS2::Process' => '1.07',
'Pod::Perldoc' => '3.15_06',
'Pod::Simple' => '3.18',
'Pod::Simple::BlackBox' => '3.18',
@@ -6589,7 +6616,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Pod::Checker' => '1.51',
'Pod::Find' => '1.51',
'Pod::Functions' => '1.05',
- 'Pod::Functions::Functions'=> '1.05',
'Pod::Html' => '1.14',
'Pod::InputObjects' => '1.51',
'Pod::ParseUtils' => '1.51',
@@ -6812,7 +6838,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'IO::Socket' => '1.34',
'Module::CoreList' => '2.67',
'Pod::Functions' => '1.06',
- 'Pod::Functions::Functions'=> '1.06',
'Storable' => '2.35',
'XS::APItest' => '0.39',
'diagnostics' => '1.29',
@@ -7733,6 +7758,9 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Load' => '0.24',
'Module::Pluggable' => '4.6',
'Module::Pluggable::Object'=> '4.6',
+ 'OS2::DLL' => '1.05',
+ 'OS2::ExtAttr' => '0.03',
+ 'OS2::Process' => '1.08',
'Object::Accessor' => '0.46',
'PerlIO::scalar' => '0.16',
'Pod::Checker' => '1.60',
@@ -8059,6 +8087,22 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::CoreList::Utils'=> '3.03',
},
},
+ 5.018003 => {
+ delta_from => 5.018002,
+ changed => {
+ 'Module::CoreList' => '3.12',
+ 'Module::CoreList::TieHashDelta'=> '3.12',
+ 'Module::CoreList::Utils'=> '3.12',
+ },
+ },
+ 5.018004 => {
+ delta_from => 5.018003,
+ changed => {
+ 'Module::CoreList' => '3.13',
+ 'Module::CoreList::TieHashDelta'=> '3.13',
+ 'Module::CoreList::Utils'=> '3.13',
+ },
+ },
5.019000 => {
delta_from => 5.018000,
changed => {
@@ -8307,6 +8351,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::CoreList::Utils'=> '2.92',
'Module::Metadata' => '1.000014',
'Net::Ping' => '2.42',
+ 'OS2::Process' => '1.09',
'POSIX' => '1.33',
'Pod::Find' => '1.61',
'Pod::Html' => '1.19',
@@ -8461,7 +8506,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Params::Check' => '0.38',
'Parse::CPAN::Meta' => '1.4405',
'Pod::Functions' => '1.07',
- 'Pod::Functions::Functions'=> '1.07',
'Pod::Html' => '1.2',
'Safe' => '2.37',
'Socket' => '2.010',
@@ -8627,7 +8671,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Net::SMTP' => '2.32',
'PerlIO' => '1.08',
'Pod::Functions' => '1.08',
- 'Pod::Functions::Functions'=> '1.08',
'Scalar::Util' => '1.31',
'Socket' => '2.011',
'Storable' => '2.46',
@@ -9248,7 +9291,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::CoreList::TieHashDelta'=> '3.02',
'Module::CoreList::Utils'=> '3.02',
'POSIX' => '1.37',
- 'PathTools::Cwd' => '3.45',
'PerlIO::encoding' => '0.17',
'PerlIO::via' => '0.14',
'SDBM_File' => '1.11',
@@ -9266,6 +9308,1787 @@ for my $version ( sort { $a <=> $b } keys %released ) {
removed => {
}
},
+ 5.019008 => {
+ delta_from => 5.019007,
+ changed => {
+ 'Config' => '5.019008',
+ 'DynaLoader' => '1.24',
+ 'Encode' => '2.57',
+ 'Errno' => '1.20_02',
+ 'ExtUtils::CBuilder' => '0.280213',
+ 'ExtUtils::CBuilder::Base'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280213',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280213',
+ 'ExtUtils::Command::MM' => '6.86',
+ 'ExtUtils::Liblist' => '6.86',
+ 'ExtUtils::Liblist::Kid'=> '6.86',
+ 'ExtUtils::MM' => '6.86',
+ 'ExtUtils::MM_AIX' => '6.86',
+ 'ExtUtils::MM_Any' => '6.86',
+ 'ExtUtils::MM_BeOS' => '6.86',
+ 'ExtUtils::MM_Cygwin' => '6.86',
+ 'ExtUtils::MM_DOS' => '6.86',
+ 'ExtUtils::MM_Darwin' => '6.86',
+ 'ExtUtils::MM_MacOS' => '6.86',
+ 'ExtUtils::MM_NW5' => '6.86',
+ 'ExtUtils::MM_OS2' => '6.86',
+ 'ExtUtils::MM_QNX' => '6.86',
+ 'ExtUtils::MM_UWIN' => '6.86',
+ 'ExtUtils::MM_Unix' => '6.86',
+ 'ExtUtils::MM_VMS' => '6.86',
+ 'ExtUtils::MM_VOS' => '6.86',
+ 'ExtUtils::MM_Win32' => '6.86',
+ 'ExtUtils::MM_Win95' => '6.86',
+ 'ExtUtils::MY' => '6.86',
+ 'ExtUtils::MakeMaker' => '6.86',
+ 'ExtUtils::MakeMaker::Config'=> '6.86',
+ 'ExtUtils::Mkbootstrap' => '6.86',
+ 'ExtUtils::Mksymlists' => '6.86',
+ 'ExtUtils::testlib' => '6.86',
+ 'File::Copy' => '2.29',
+ 'Hash::Util::FieldHash' => '1.14',
+ 'IO::Socket::IP' => '0.26',
+ 'IO::Socket::UNIX' => '1.26',
+ 'List::Util' => '1.36',
+ 'List::Util::XS' => '1.36',
+ 'Module::Build' => '0.4204',
+ 'Module::Build::Base' => '0.4204',
+ 'Module::Build::Compat' => '0.4204',
+ 'Module::Build::Config' => '0.4204',
+ 'Module::Build::Cookbook'=> '0.4204',
+ 'Module::Build::Dumper' => '0.4204',
+ 'Module::Build::ModuleInfo'=> '0.4204',
+ 'Module::Build::Notes' => '0.4204',
+ 'Module::Build::PPMMaker'=> '0.4204',
+ 'Module::Build::Platform::Default'=> '0.4204',
+ 'Module::Build::Platform::MacOS'=> '0.4204',
+ 'Module::Build::Platform::Unix'=> '0.4204',
+ 'Module::Build::Platform::VMS'=> '0.4204',
+ 'Module::Build::Platform::VOS'=> '0.4204',
+ 'Module::Build::Platform::Windows'=> '0.4204',
+ 'Module::Build::Platform::aix'=> '0.4204',
+ 'Module::Build::Platform::cygwin'=> '0.4204',
+ 'Module::Build::Platform::darwin'=> '0.4204',
+ 'Module::Build::Platform::os2'=> '0.4204',
+ 'Module::Build::PodParser'=> '0.4204',
+ 'Module::CoreList' => '3.04',
+ 'Module::CoreList::TieHashDelta'=> '3.04',
+ 'Module::CoreList::Utils'=> '3.04',
+ 'Module::Load' => '0.28',
+ 'Module::Load::Conditional'=> '0.60',
+ 'Net::Config' => '1.13',
+ 'Net::FTP::A' => '1.19',
+ 'POSIX' => '1.38_01',
+ 'Perl::OSType' => '1.007',
+ 'PerlIO::encoding' => '0.18',
+ 'Pod::Perldoc' => '3.21',
+ 'Pod::Perldoc::BaseTo' => '3.21',
+ 'Pod::Perldoc::GetOptsOO'=> '3.21',
+ 'Pod::Perldoc::ToANSI' => '3.21',
+ 'Pod::Perldoc::ToChecker'=> '3.21',
+ 'Pod::Perldoc::ToMan' => '3.21',
+ 'Pod::Perldoc::ToNroff' => '3.21',
+ 'Pod::Perldoc::ToPod' => '3.21',
+ 'Pod::Perldoc::ToRtf' => '3.21',
+ 'Pod::Perldoc::ToTerm' => '3.21',
+ 'Pod::Perldoc::ToText' => '3.21',
+ 'Pod::Perldoc::ToTk' => '3.21',
+ 'Pod::Perldoc::ToXml' => '3.21',
+ 'Scalar::Util' => '1.36',
+ 'Time::Piece' => '1.27',
+ 'Time::Seconds' => '1.27',
+ 'Unicode::UCD' => '0.57',
+ 'XS::APItest' => '0.59',
+ 'XSLoader' => '0.17',
+ 'base' => '2.21',
+ 'constant' => '1.31',
+ 'inc::latest' => '0.4204',
+ 'threads::shared' => '1.46',
+ 'version' => '0.9907',
+ 'version::regex' => '0.9907',
+ 'version::vpp' => '0.9907',
+ 'warnings' => '1.21',
+ },
+ removed => {
+ }
+ },
+ 5.019009 => {
+ delta_from => 5.019008,
+ changed => {
+ 'B' => '1.48',
+ 'B::Concise' => '0.992',
+ 'B::Deparse' => '1.25',
+ 'CGI' => '3.65',
+ 'CPAN::Meta::YAML' => '0.011',
+ 'Compress::Raw::Bzip2' => '2.064',
+ 'Compress::Raw::Zlib' => '2.065',
+ 'Compress::Zlib' => '2.064',
+ 'Config' => '5.019009',
+ 'Config::Perl::V' => '0.20',
+ 'Cwd' => '3.47',
+ 'Devel::Peek' => '1.16',
+ 'Digest::SHA' => '5.87',
+ 'DynaLoader' => '1.25',
+ 'English' => '1.09',
+ 'ExtUtils::CBuilder' => '0.280216',
+ 'ExtUtils::CBuilder::Base'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280216',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280216',
+ 'ExtUtils::Command::MM' => '6.88',
+ 'ExtUtils::Embed' => '1.32',
+ 'ExtUtils::Install' => '1.62',
+ 'ExtUtils::Installed' => '1.999004',
+ 'ExtUtils::Liblist' => '6.88',
+ 'ExtUtils::Liblist::Kid'=> '6.88',
+ 'ExtUtils::MM' => '6.88',
+ 'ExtUtils::MM_AIX' => '6.88',
+ 'ExtUtils::MM_Any' => '6.88',
+ 'ExtUtils::MM_BeOS' => '6.88',
+ 'ExtUtils::MM_Cygwin' => '6.88',
+ 'ExtUtils::MM_DOS' => '6.88',
+ 'ExtUtils::MM_Darwin' => '6.88',
+ 'ExtUtils::MM_MacOS' => '6.88',
+ 'ExtUtils::MM_NW5' => '6.88',
+ 'ExtUtils::MM_OS2' => '6.88',
+ 'ExtUtils::MM_QNX' => '6.88',
+ 'ExtUtils::MM_UWIN' => '6.88',
+ 'ExtUtils::MM_Unix' => '6.88',
+ 'ExtUtils::MM_VMS' => '6.88',
+ 'ExtUtils::MM_VOS' => '6.88',
+ 'ExtUtils::MM_Win32' => '6.88',
+ 'ExtUtils::MM_Win95' => '6.88',
+ 'ExtUtils::MY' => '6.88',
+ 'ExtUtils::MakeMaker' => '6.88',
+ 'ExtUtils::MakeMaker::Config'=> '6.88',
+ 'ExtUtils::Mkbootstrap' => '6.88',
+ 'ExtUtils::Mksymlists' => '6.88',
+ 'ExtUtils::Packlist' => '1.47',
+ 'ExtUtils::testlib' => '6.88',
+ 'Fatal' => '2.23',
+ 'File::Fetch' => '0.48',
+ 'File::Spec' => '3.47',
+ 'File::Spec::Cygwin' => '3.47',
+ 'File::Spec::Epoc' => '3.47',
+ 'File::Spec::Functions' => '3.47',
+ 'File::Spec::Mac' => '3.47',
+ 'File::Spec::OS2' => '3.47',
+ 'File::Spec::Unix' => '3.47',
+ 'File::Spec::VMS' => '3.47',
+ 'File::Spec::Win32' => '3.47',
+ 'HTTP::Tiny' => '0.042',
+ 'IO::Compress::Adapter::Bzip2'=> '2.064',
+ 'IO::Compress::Adapter::Deflate'=> '2.064',
+ 'IO::Compress::Adapter::Identity'=> '2.064',
+ 'IO::Compress::Base' => '2.064',
+ 'IO::Compress::Base::Common'=> '2.064',
+ 'IO::Compress::Bzip2' => '2.064',
+ 'IO::Compress::Deflate' => '2.064',
+ 'IO::Compress::Gzip' => '2.064',
+ 'IO::Compress::Gzip::Constants'=> '2.064',
+ 'IO::Compress::RawDeflate'=> '2.064',
+ 'IO::Compress::Zip' => '2.064',
+ 'IO::Compress::Zip::Constants'=> '2.064',
+ 'IO::Compress::Zlib::Constants'=> '2.064',
+ 'IO::Compress::Zlib::Extra'=> '2.064',
+ 'IO::Socket::INET' => '1.35',
+ 'IO::Socket::IP' => '0.28',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.064',
+ 'IO::Uncompress::Adapter::Identity'=> '2.064',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.064',
+ 'IO::Uncompress::AnyInflate'=> '2.064',
+ 'IO::Uncompress::AnyUncompress'=> '2.064',
+ 'IO::Uncompress::Base' => '2.064',
+ 'IO::Uncompress::Bunzip2'=> '2.064',
+ 'IO::Uncompress::Gunzip'=> '2.064',
+ 'IO::Uncompress::Inflate'=> '2.064',
+ 'IO::Uncompress::RawInflate'=> '2.064',
+ 'IO::Uncompress::Unzip' => '2.064',
+ 'IPC::Cmd' => '0.92',
+ 'List::Util' => '1.38',
+ 'List::Util::XS' => '1.38',
+ 'Locale::Codes' => '3.29',
+ 'Locale::Codes::Constants'=> '3.29',
+ 'Locale::Codes::Country'=> '3.29',
+ 'Locale::Codes::Country_Codes'=> '3.29',
+ 'Locale::Codes::Country_Retired'=> '3.29',
+ 'Locale::Codes::Currency'=> '3.29',
+ 'Locale::Codes::Currency_Codes'=> '3.29',
+ 'Locale::Codes::Currency_Retired'=> '3.29',
+ 'Locale::Codes::LangExt'=> '3.29',
+ 'Locale::Codes::LangExt_Codes'=> '3.29',
+ 'Locale::Codes::LangExt_Retired'=> '3.29',
+ 'Locale::Codes::LangFam'=> '3.29',
+ 'Locale::Codes::LangFam_Codes'=> '3.29',
+ 'Locale::Codes::LangFam_Retired'=> '3.29',
+ 'Locale::Codes::LangVar'=> '3.29',
+ 'Locale::Codes::LangVar_Codes'=> '3.29',
+ 'Locale::Codes::LangVar_Retired'=> '3.29',
+ 'Locale::Codes::Language'=> '3.29',
+ 'Locale::Codes::Language_Codes'=> '3.29',
+ 'Locale::Codes::Language_Retired'=> '3.29',
+ 'Locale::Codes::Script' => '3.29',
+ 'Locale::Codes::Script_Codes'=> '3.29',
+ 'Locale::Codes::Script_Retired'=> '3.29',
+ 'Locale::Country' => '3.29',
+ 'Locale::Currency' => '3.29',
+ 'Locale::Language' => '3.29',
+ 'Locale::Script' => '3.29',
+ 'Module::Build' => '0.4205',
+ 'Module::Build::Base' => '0.4205',
+ 'Module::Build::Compat' => '0.4205',
+ 'Module::Build::Config' => '0.4205',
+ 'Module::Build::Cookbook'=> '0.4205',
+ 'Module::Build::Dumper' => '0.4205',
+ 'Module::Build::ModuleInfo'=> '0.4205',
+ 'Module::Build::Notes' => '0.4205',
+ 'Module::Build::PPMMaker'=> '0.4205',
+ 'Module::Build::Platform::Default'=> '0.4205',
+ 'Module::Build::Platform::MacOS'=> '0.4205',
+ 'Module::Build::Platform::Unix'=> '0.4205',
+ 'Module::Build::Platform::VMS'=> '0.4205',
+ 'Module::Build::Platform::VOS'=> '0.4205',
+ 'Module::Build::Platform::Windows'=> '0.4205',
+ 'Module::Build::Platform::aix'=> '0.4205',
+ 'Module::Build::Platform::cygwin'=> '0.4205',
+ 'Module::Build::Platform::darwin'=> '0.4205',
+ 'Module::Build::Platform::os2'=> '0.4205',
+ 'Module::Build::PodParser'=> '0.4205',
+ 'Module::CoreList' => '3.06',
+ 'Module::CoreList::TieHashDelta'=> '3.06',
+ 'Module::CoreList::Utils'=> '3.06',
+ 'Module::Load' => '0.30',
+ 'Module::Load::Conditional'=> '0.62',
+ 'Net::Domain' => '2.23',
+ 'Net::FTP' => '2.79',
+ 'Net::NNTP' => '2.26',
+ 'Net::POP3' => '2.31',
+ 'Net::Ping' => '2.43',
+ 'Net::SMTP' => '2.33',
+ 'POSIX' => '1.38_02',
+ 'Parse::CPAN::Meta' => '1.4413',
+ 'Pod::Escapes' => '1.06',
+ 'Pod::Find' => '1.62',
+ 'Pod::InputObjects' => '1.62',
+ 'Pod::ParseUtils' => '1.62',
+ 'Pod::Parser' => '1.62',
+ 'Pod::Select' => '1.62',
+ 'Scalar::Util' => '1.38',
+ 'autodie' => '2.23',
+ 'autodie::exception' => '2.23',
+ 'autodie::exception::system'=> '2.23',
+ 'autodie::hints' => '2.23',
+ 'autodie::skip' => '2.23',
+ 'diagnostics' => '1.34',
+ 'feature' => '1.35',
+ 'inc::latest' => '0.4205',
+ 'locale' => '1.03',
+ 'mro' => '1.15',
+ 'threads' => '1.92',
+ 'version' => '0.9908',
+ 'version::regex' => '0.9908',
+ 'version::vpp' => '0.9908',
+ 'warnings' => '1.22',
+ },
+ removed => {
+ }
+ },
+ 5.01901 => {
+ delta_from => 5.019009,
+ changed => {
+ 'App::Cpan' => '1.62',
+ 'Attribute::Handlers' => '0.96',
+ 'B::Deparse' => '1.26',
+ 'CPAN' => '2.04',
+ 'CPAN::Bundle' => '5.5001',
+ 'CPAN::Complete' => '5.5001',
+ 'CPAN::Distribution' => '2.01',
+ 'CPAN::Distroprefs' => '6.0001',
+ 'CPAN::FirstTime' => '5.5305',
+ 'CPAN::Meta' => '2.140640',
+ 'CPAN::Meta::Converter' => '2.140640',
+ 'CPAN::Meta::Feature' => '2.140640',
+ 'CPAN::Meta::History' => '2.140640',
+ 'CPAN::Meta::Prereqs' => '2.140640',
+ 'CPAN::Meta::Spec' => '2.140640',
+ 'CPAN::Meta::Validator' => '2.140640',
+ 'CPAN::Meta::YAML' => '0.012',
+ 'CPAN::Queue' => '5.5002',
+ 'CPAN::Shell' => '5.5003',
+ 'CPAN::Tarzip' => '5.5012',
+ 'CPAN::Version' => '5.5003',
+ 'Carp' => '1.33',
+ 'Carp::Heavy' => '1.33',
+ 'Config' => '5.019010',
+ 'Data::Dumper' => '2.151',
+ 'Devel::PPPort' => '3.22',
+ 'Digest::SHA' => '5.88',
+ 'ExtUtils::Command::MM' => '6.92',
+ 'ExtUtils::Install' => '1.63',
+ 'ExtUtils::Installed' => '1.999005',
+ 'ExtUtils::Liblist' => '6.92',
+ 'ExtUtils::Liblist::Kid'=> '6.92',
+ 'ExtUtils::MM' => '6.92',
+ 'ExtUtils::MM_AIX' => '6.92',
+ 'ExtUtils::MM_Any' => '6.92',
+ 'ExtUtils::MM_BeOS' => '6.92',
+ 'ExtUtils::MM_Cygwin' => '6.92',
+ 'ExtUtils::MM_DOS' => '6.92',
+ 'ExtUtils::MM_Darwin' => '6.92',
+ 'ExtUtils::MM_MacOS' => '6.92',
+ 'ExtUtils::MM_NW5' => '6.92',
+ 'ExtUtils::MM_OS2' => '6.92',
+ 'ExtUtils::MM_QNX' => '6.92',
+ 'ExtUtils::MM_UWIN' => '6.92',
+ 'ExtUtils::MM_Unix' => '6.92',
+ 'ExtUtils::MM_VMS' => '6.92',
+ 'ExtUtils::MM_VOS' => '6.92',
+ 'ExtUtils::MM_Win32' => '6.92',
+ 'ExtUtils::MM_Win95' => '6.92',
+ 'ExtUtils::MY' => '6.92',
+ 'ExtUtils::MakeMaker' => '6.92',
+ 'ExtUtils::MakeMaker::Config'=> '6.92',
+ 'ExtUtils::Mkbootstrap' => '6.92',
+ 'ExtUtils::Mksymlists' => '6.92',
+ 'ExtUtils::Packlist' => '1.48',
+ 'ExtUtils::ParseXS' => '3.24',
+ 'ExtUtils::ParseXS::Constants'=> '3.24',
+ 'ExtUtils::ParseXS::CountLines'=> '3.24',
+ 'ExtUtils::ParseXS::Eval'=> '3.24',
+ 'ExtUtils::ParseXS::Utilities'=> '3.24',
+ 'ExtUtils::Typemaps' => '3.24',
+ 'ExtUtils::Typemaps::Cmd'=> '3.24',
+ 'ExtUtils::Typemaps::InputMap'=> '3.24',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.24',
+ 'ExtUtils::Typemaps::Type'=> '3.24',
+ 'ExtUtils::testlib' => '6.92',
+ 'File::Find' => '1.27',
+ 'Filter::Simple' => '0.91',
+ 'HTTP::Tiny' => '0.043',
+ 'Hash::Util::FieldHash' => '1.15',
+ 'IO' => '1.31',
+ 'IO::Socket::IP' => '0.29',
+ 'Locale::Codes' => '3.30',
+ 'Locale::Codes::Constants'=> '3.30',
+ 'Locale::Codes::Country'=> '3.30',
+ 'Locale::Codes::Country_Codes'=> '3.30',
+ 'Locale::Codes::Country_Retired'=> '3.30',
+ 'Locale::Codes::Currency'=> '3.30',
+ 'Locale::Codes::Currency_Codes'=> '3.30',
+ 'Locale::Codes::Currency_Retired'=> '3.30',
+ 'Locale::Codes::LangExt'=> '3.30',
+ 'Locale::Codes::LangExt_Codes'=> '3.30',
+ 'Locale::Codes::LangExt_Retired'=> '3.30',
+ 'Locale::Codes::LangFam'=> '3.30',
+ 'Locale::Codes::LangFam_Codes'=> '3.30',
+ 'Locale::Codes::LangFam_Retired'=> '3.30',
+ 'Locale::Codes::LangVar'=> '3.30',
+ 'Locale::Codes::LangVar_Codes'=> '3.30',
+ 'Locale::Codes::LangVar_Retired'=> '3.30',
+ 'Locale::Codes::Language'=> '3.30',
+ 'Locale::Codes::Language_Codes'=> '3.30',
+ 'Locale::Codes::Language_Retired'=> '3.30',
+ 'Locale::Codes::Script' => '3.30',
+ 'Locale::Codes::Script_Codes'=> '3.30',
+ 'Locale::Codes::Script_Retired'=> '3.30',
+ 'Locale::Country' => '3.30',
+ 'Locale::Currency' => '3.30',
+ 'Locale::Language' => '3.30',
+ 'Locale::Script' => '3.30',
+ 'Module::CoreList' => '3.09',
+ 'Module::CoreList::TieHashDelta'=> '3.09',
+ 'Module::CoreList::Utils'=> '3.09',
+ 'Module::Load' => '0.32',
+ 'POSIX' => '1.38_03',
+ 'Parse::CPAN::Meta' => '1.4414',
+ 'Pod::Perldoc' => '3.23',
+ 'Pod::Perldoc::BaseTo' => '3.23',
+ 'Pod::Perldoc::GetOptsOO'=> '3.23',
+ 'Pod::Perldoc::ToANSI' => '3.23',
+ 'Pod::Perldoc::ToChecker'=> '3.23',
+ 'Pod::Perldoc::ToMan' => '3.23',
+ 'Pod::Perldoc::ToNroff' => '3.23',
+ 'Pod::Perldoc::ToPod' => '3.23',
+ 'Pod::Perldoc::ToRtf' => '3.23',
+ 'Pod::Perldoc::ToTerm' => '3.23',
+ 'Pod::Perldoc::ToText' => '3.23',
+ 'Pod::Perldoc::ToTk' => '3.23',
+ 'Pod::Perldoc::ToXml' => '3.23',
+ 'Thread::Queue' => '3.05',
+ 'XS::APItest' => '0.60',
+ 'XS::Typemap' => '0.13',
+ 'autouse' => '1.08',
+ 'base' => '2.22',
+ 'charnames' => '1.40',
+ 'feature' => '1.36',
+ 'mro' => '1.16',
+ 'threads' => '1.93',
+ 'warnings' => '1.23',
+ 'warnings::register' => '1.03',
+ },
+ removed => {
+ }
+ },
+ 5.019011 => {
+ delta_from => 5.01901,
+ changed => {
+ 'CPAN' => '2.05',
+ 'CPAN::Distribution' => '2.02',
+ 'CPAN::FirstTime' => '5.5306',
+ 'CPAN::Shell' => '5.5004',
+ 'Carp' => '1.3301',
+ 'Carp::Heavy' => '1.3301',
+ 'Config' => '5.019011',
+ 'ExtUtils::Command::MM' => '6.94',
+ 'ExtUtils::Install' => '1.67',
+ 'ExtUtils::Liblist' => '6.94',
+ 'ExtUtils::Liblist::Kid'=> '6.94',
+ 'ExtUtils::MM' => '6.94',
+ 'ExtUtils::MM_AIX' => '6.94',
+ 'ExtUtils::MM_Any' => '6.94',
+ 'ExtUtils::MM_BeOS' => '6.94',
+ 'ExtUtils::MM_Cygwin' => '6.94',
+ 'ExtUtils::MM_DOS' => '6.94',
+ 'ExtUtils::MM_Darwin' => '6.94',
+ 'ExtUtils::MM_MacOS' => '6.94',
+ 'ExtUtils::MM_NW5' => '6.94',
+ 'ExtUtils::MM_OS2' => '6.94',
+ 'ExtUtils::MM_QNX' => '6.94',
+ 'ExtUtils::MM_UWIN' => '6.94',
+ 'ExtUtils::MM_Unix' => '6.94',
+ 'ExtUtils::MM_VMS' => '6.94',
+ 'ExtUtils::MM_VOS' => '6.94',
+ 'ExtUtils::MM_Win32' => '6.94',
+ 'ExtUtils::MM_Win95' => '6.94',
+ 'ExtUtils::MY' => '6.94',
+ 'ExtUtils::MakeMaker' => '6.94',
+ 'ExtUtils::MakeMaker::Config'=> '6.94',
+ 'ExtUtils::Mkbootstrap' => '6.94',
+ 'ExtUtils::Mksymlists' => '6.94',
+ 'ExtUtils::testlib' => '6.94',
+ 'Module::CoreList' => '3.10',
+ 'Module::CoreList::TieHashDelta'=> '3.10',
+ 'Module::CoreList::Utils'=> '3.10',
+ 'PerlIO' => '1.09',
+ 'Storable' => '2.49',
+ 'Win32' => '0.49',
+ 'experimental' => '0.007',
+ },
+ removed => {
+ }
+ },
+ 5.020000 => {
+ delta_from => 5.019011,
+ changed => {
+ 'Config' => '5.02',
+ 'Devel::PPPort' => '3.21',
+ 'Encode' => '2.60',
+ 'Errno' => '1.20_03',
+ 'ExtUtils::Command::MM' => '6.98',
+ 'ExtUtils::Liblist' => '6.98',
+ 'ExtUtils::Liblist::Kid'=> '6.98',
+ 'ExtUtils::MM' => '6.98',
+ 'ExtUtils::MM_AIX' => '6.98',
+ 'ExtUtils::MM_Any' => '6.98',
+ 'ExtUtils::MM_BeOS' => '6.98',
+ 'ExtUtils::MM_Cygwin' => '6.98',
+ 'ExtUtils::MM_DOS' => '6.98',
+ 'ExtUtils::MM_Darwin' => '6.98',
+ 'ExtUtils::MM_MacOS' => '6.98',
+ 'ExtUtils::MM_NW5' => '6.98',
+ 'ExtUtils::MM_OS2' => '6.98',
+ 'ExtUtils::MM_QNX' => '6.98',
+ 'ExtUtils::MM_UWIN' => '6.98',
+ 'ExtUtils::MM_Unix' => '6.98',
+ 'ExtUtils::MM_VMS' => '6.98',
+ 'ExtUtils::MM_VOS' => '6.98',
+ 'ExtUtils::MM_Win32' => '6.98',
+ 'ExtUtils::MM_Win95' => '6.98',
+ 'ExtUtils::MY' => '6.98',
+ 'ExtUtils::MakeMaker' => '6.98',
+ 'ExtUtils::MakeMaker::Config'=> '6.98',
+ 'ExtUtils::Miniperl' => '1.01',
+ 'ExtUtils::Mkbootstrap' => '6.98',
+ 'ExtUtils::Mksymlists' => '6.98',
+ 'ExtUtils::testlib' => '6.98',
+ 'Pod::Functions::Functions'=> '1.08',
+ },
+ removed => {
+ }
+ },
+ 5.021000 => {
+ delta_from => 5.020000,
+ changed => {
+ 'Module::CoreList' => '5.021001',
+ 'Module::CoreList::TieHashDelta'=> '5.021001',
+ 'Module::CoreList::Utils'=> '5.021001',
+ 'feature' => '1.37',
+ },
+ removed => {
+ 'CGI' => 1,
+ 'CGI::Apache' => 1,
+ 'CGI::Carp' => 1,
+ 'CGI::Cookie' => 1,
+ 'CGI::Fast' => 1,
+ 'CGI::Pretty' => 1,
+ 'CGI::Push' => 1,
+ 'CGI::Switch' => 1,
+ 'CGI::Util' => 1,
+ 'Module::Build' => 1,
+ 'Module::Build::Base' => 1,
+ 'Module::Build::Compat' => 1,
+ 'Module::Build::Config' => 1,
+ 'Module::Build::ConfigData'=> 1,
+ 'Module::Build::Cookbook'=> 1,
+ 'Module::Build::Dumper' => 1,
+ 'Module::Build::ModuleInfo'=> 1,
+ 'Module::Build::Notes' => 1,
+ 'Module::Build::PPMMaker'=> 1,
+ 'Module::Build::Platform::Default'=> 1,
+ 'Module::Build::Platform::MacOS'=> 1,
+ 'Module::Build::Platform::Unix'=> 1,
+ 'Module::Build::Platform::VMS'=> 1,
+ 'Module::Build::Platform::VOS'=> 1,
+ 'Module::Build::Platform::Windows'=> 1,
+ 'Module::Build::Platform::aix'=> 1,
+ 'Module::Build::Platform::cygwin'=> 1,
+ 'Module::Build::Platform::darwin'=> 1,
+ 'Module::Build::Platform::os2'=> 1,
+ 'Module::Build::PodParser'=> 1,
+ 'Module::Build::Version'=> 1,
+ 'Module::Build::YAML' => 1,
+ 'Package::Constants' => 1,
+ 'Simple' => 1,
+ 'inc::latest' => 1,
+ }
+ },
+ 5.021001 => {
+ delta_from => 5.021000,
+ changed => {
+ 'App::Prove' => '3.32',
+ 'App::Prove::State' => '3.32',
+ 'App::Prove::State::Result'=> '3.32',
+ 'App::Prove::State::Result::Test'=> '3.32',
+ 'Archive::Tar' => '2.00',
+ 'Archive::Tar::Constant'=> '2.00',
+ 'Archive::Tar::File' => '2.00',
+ 'B' => '1.49',
+ 'B::Deparse' => '1.27',
+ 'Benchmark' => '1.19',
+ 'CPAN::Meta' => '2.141520',
+ 'CPAN::Meta::Converter' => '2.141520',
+ 'CPAN::Meta::Feature' => '2.141520',
+ 'CPAN::Meta::History' => '2.141520',
+ 'CPAN::Meta::Prereqs' => '2.141520',
+ 'CPAN::Meta::Spec' => '2.141520',
+ 'CPAN::Meta::Validator' => '2.141520',
+ 'Carp' => '1.34',
+ 'Carp::Heavy' => '1.34',
+ 'Config' => '5.021001',
+ 'Cwd' => '3.48',
+ 'Data::Dumper' => '2.152',
+ 'Devel::PPPort' => '3.24',
+ 'Devel::Peek' => '1.17',
+ 'Digest::SHA' => '5.92',
+ 'DynaLoader' => '1.26',
+ 'Encode' => '2.62',
+ 'Errno' => '1.20_04',
+ 'Exporter' => '5.71',
+ 'Exporter::Heavy' => '5.71',
+ 'ExtUtils::Install' => '1.68',
+ 'ExtUtils::Miniperl' => '1.02',
+ 'ExtUtils::ParseXS' => '3.25',
+ 'ExtUtils::ParseXS::Constants'=> '3.25',
+ 'ExtUtils::ParseXS::CountLines'=> '3.25',
+ 'ExtUtils::ParseXS::Eval'=> '3.25',
+ 'ExtUtils::ParseXS::Utilities'=> '3.25',
+ 'ExtUtils::Typemaps' => '3.25',
+ 'ExtUtils::Typemaps::Cmd'=> '3.25',
+ 'ExtUtils::Typemaps::InputMap'=> '3.25',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.25',
+ 'ExtUtils::Typemaps::Type'=> '3.25',
+ 'Fatal' => '2.25',
+ 'File::Spec' => '3.48',
+ 'File::Spec::Cygwin' => '3.48',
+ 'File::Spec::Epoc' => '3.48',
+ 'File::Spec::Functions' => '3.48',
+ 'File::Spec::Mac' => '3.48',
+ 'File::Spec::OS2' => '3.48',
+ 'File::Spec::Unix' => '3.48',
+ 'File::Spec::VMS' => '3.48',
+ 'File::Spec::Win32' => '3.48',
+ 'Hash::Util' => '0.17',
+ 'IO' => '1.32',
+ 'List::Util' => '1.39',
+ 'List::Util::XS' => '1.39',
+ 'Locale::Codes' => '3.31',
+ 'Locale::Codes::Constants'=> '3.31',
+ 'Locale::Codes::Country'=> '3.31',
+ 'Locale::Codes::Country_Codes'=> '3.31',
+ 'Locale::Codes::Country_Retired'=> '3.31',
+ 'Locale::Codes::Currency'=> '3.31',
+ 'Locale::Codes::Currency_Codes'=> '3.31',
+ 'Locale::Codes::Currency_Retired'=> '3.31',
+ 'Locale::Codes::LangExt'=> '3.31',
+ 'Locale::Codes::LangExt_Codes'=> '3.31',
+ 'Locale::Codes::LangExt_Retired'=> '3.31',
+ 'Locale::Codes::LangFam'=> '3.31',
+ 'Locale::Codes::LangFam_Codes'=> '3.31',
+ 'Locale::Codes::LangFam_Retired'=> '3.31',
+ 'Locale::Codes::LangVar'=> '3.31',
+ 'Locale::Codes::LangVar_Codes'=> '3.31',
+ 'Locale::Codes::LangVar_Retired'=> '3.31',
+ 'Locale::Codes::Language'=> '3.31',
+ 'Locale::Codes::Language_Codes'=> '3.31',
+ 'Locale::Codes::Language_Retired'=> '3.31',
+ 'Locale::Codes::Script' => '3.31',
+ 'Locale::Codes::Script_Codes'=> '3.31',
+ 'Locale::Codes::Script_Retired'=> '3.31',
+ 'Locale::Country' => '3.31',
+ 'Locale::Currency' => '3.31',
+ 'Locale::Language' => '3.31',
+ 'Locale::Script' => '3.31',
+ 'Math::BigFloat' => '1.9994',
+ 'Math::BigInt' => '1.9995',
+ 'Math::BigInt::Calc' => '1.9994',
+ 'Math::BigInt::CalcEmu' => '1.9994',
+ 'Math::BigRat' => '0.2608',
+ 'Module::CoreList' => '5.021001_01',
+ 'Module::CoreList::TieHashDelta'=> '5.021001_01',
+ 'Module::CoreList::Utils'=> '5.021001_01',
+ 'Module::Metadata' => '1.000024',
+ 'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef,
+ 'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef,
+ 'Module::Metadata::corpus::BOMTest::UTF8'=> '1',
+ 'NDBM_File' => '1.13',
+ 'Net::Config' => '1.14',
+ 'Net::SMTP' => '2.34',
+ 'Net::Time' => '2.11',
+ 'OS2::Process' => '1.10',
+ 'POSIX' => '1.40',
+ 'PerlIO::encoding' => '0.19',
+ 'PerlIO::mmap' => '0.013',
+ 'PerlIO::scalar' => '0.19',
+ 'PerlIO::via' => '0.15',
+ 'Pod::Html' => '1.22',
+ 'Scalar::Util' => '1.39',
+ 'SelfLoader' => '1.22',
+ 'Socket' => '2.014',
+ 'Storable' => '2.51',
+ 'TAP::Base' => '3.32',
+ 'TAP::Formatter::Base' => '3.32',
+ 'TAP::Formatter::Color' => '3.32',
+ 'TAP::Formatter::Console'=> '3.32',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.32',
+ 'TAP::Formatter::Console::Session'=> '3.32',
+ 'TAP::Formatter::File' => '3.32',
+ 'TAP::Formatter::File::Session'=> '3.32',
+ 'TAP::Formatter::Session'=> '3.32',
+ 'TAP::Harness' => '3.32',
+ 'TAP::Harness::Env' => '3.32',
+ 'TAP::Object' => '3.32',
+ 'TAP::Parser' => '3.32',
+ 'TAP::Parser::Aggregator'=> '3.32',
+ 'TAP::Parser::Grammar' => '3.32',
+ 'TAP::Parser::Iterator' => '3.32',
+ 'TAP::Parser::Iterator::Array'=> '3.32',
+ 'TAP::Parser::Iterator::Process'=> '3.32',
+ 'TAP::Parser::Iterator::Stream'=> '3.32',
+ 'TAP::Parser::IteratorFactory'=> '3.32',
+ 'TAP::Parser::Multiplexer'=> '3.32',
+ 'TAP::Parser::Result' => '3.32',
+ 'TAP::Parser::Result::Bailout'=> '3.32',
+ 'TAP::Parser::Result::Comment'=> '3.32',
+ 'TAP::Parser::Result::Plan'=> '3.32',
+ 'TAP::Parser::Result::Pragma'=> '3.32',
+ 'TAP::Parser::Result::Test'=> '3.32',
+ 'TAP::Parser::Result::Unknown'=> '3.32',
+ 'TAP::Parser::Result::Version'=> '3.32',
+ 'TAP::Parser::Result::YAML'=> '3.32',
+ 'TAP::Parser::ResultFactory'=> '3.32',
+ 'TAP::Parser::Scheduler'=> '3.32',
+ 'TAP::Parser::Scheduler::Job'=> '3.32',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.32',
+ 'TAP::Parser::Source' => '3.32',
+ 'TAP::Parser::SourceHandler'=> '3.32',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.32',
+ 'TAP::Parser::SourceHandler::File'=> '3.32',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.32',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.32',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.32',
+ 'TAP::Parser::YAMLish::Reader'=> '3.32',
+ 'TAP::Parser::YAMLish::Writer'=> '3.32',
+ 'Term::ANSIColor' => '4.03',
+ 'Test::Builder' => '1.001003',
+ 'Test::Builder::Module' => '1.001003',
+ 'Test::Builder::Tester' => '1.23_003',
+ 'Test::Harness' => '3.32',
+ 'Test::More' => '1.001003',
+ 'Test::Simple' => '1.001003',
+ 'Tie::File' => '1.01',
+ 'Unicode' => '7.0.0',
+ 'Unicode::Collate' => '1.07',
+ 'Unicode::Normalize' => '1.18',
+ 'Unicode::UCD' => '0.58',
+ 'XS::APItest' => '0.61',
+ '_charnames' => '1.41',
+ 'autodie' => '2.25',
+ 'autodie::Scope::Guard' => '2.25',
+ 'autodie::Scope::GuardStack'=> '2.25',
+ 'autodie::ScopeUtil' => '2.25',
+ 'autodie::exception' => '2.25',
+ 'autodie::exception::system'=> '2.25',
+ 'autodie::hints' => '2.25',
+ 'autodie::skip' => '2.25',
+ 'charnames' => '1.41',
+ 'locale' => '1.04',
+ 'threads' => '1.94',
+ 'utf8' => '1.14',
+ 'warnings' => '1.24',
+ },
+ removed => {
+ }
+ },
+ 5.021002 => {
+ delta_from => 5.021001,
+ changed => {
+ 'B' => '1.50',
+ 'Config' => '5.021002',
+ 'Cwd' => '3.49',
+ 'Devel::Peek' => '1.18',
+ 'ExtUtils::Manifest' => '1.64',
+ 'File::Copy' => '2.30',
+ 'File::Spec' => '3.49',
+ 'File::Spec::Cygwin' => '3.49',
+ 'File::Spec::Epoc' => '3.49',
+ 'File::Spec::Functions' => '3.49',
+ 'File::Spec::Mac' => '3.49',
+ 'File::Spec::OS2' => '3.49',
+ 'File::Spec::Unix' => '3.49',
+ 'File::Spec::VMS' => '3.49',
+ 'File::Spec::Win32' => '3.49',
+ 'Filter::Simple' => '0.92',
+ 'Hash::Util' => '0.18',
+ 'IO' => '1.33',
+ 'IO::Socket::IP' => '0.31',
+ 'IPC::Open3' => '1.17',
+ 'Math::BigFloat' => '1.9996',
+ 'Math::BigInt' => '1.9996',
+ 'Math::BigInt::Calc' => '1.9996',
+ 'Math::BigInt::CalcEmu' => '1.9996',
+ 'Module::CoreList' => '5.021002',
+ 'Module::CoreList::TieHashDelta'=> '5.021002',
+ 'Module::CoreList::Utils'=> '5.021002',
+ 'POSIX' => '1.41',
+ 'Pod::Usage' => '1.64',
+ 'XS::APItest' => '0.62',
+ 'arybase' => '0.08',
+ 'experimental' => '0.008',
+ 'threads' => '1.95',
+ 'warnings' => '1.26',
+ },
+ removed => {
+ }
+ },
+ 5.021003 => {
+ delta_from => 5.021002,
+ changed => {
+ 'B::Debug' => '1.21',
+ 'CPAN::Meta' => '2.142060',
+ 'CPAN::Meta::Converter' => '2.142060',
+ 'CPAN::Meta::Feature' => '2.142060',
+ 'CPAN::Meta::History' => '2.142060',
+ 'CPAN::Meta::Merge' => '2.142060',
+ 'CPAN::Meta::Prereqs' => '2.142060',
+ 'CPAN::Meta::Requirements'=> '2.126',
+ 'CPAN::Meta::Spec' => '2.142060',
+ 'CPAN::Meta::Validator' => '2.142060',
+ 'Config' => '5.021003',
+ 'Config::Perl::V' => '0.22',
+ 'ExtUtils::CBuilder' => '0.280217',
+ 'ExtUtils::CBuilder::Base'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280217',
+ 'ExtUtils::Manifest' => '1.65',
+ 'HTTP::Tiny' => '0.047',
+ 'IPC::Open3' => '1.18',
+ 'Module::CoreList' => '5.021003',
+ 'Module::CoreList::TieHashDelta'=> '5.021003',
+ 'Module::CoreList::Utils'=> '5.021003',
+ 'Opcode' => '1.28',
+ 'POSIX' => '1.42',
+ 'Safe' => '2.38',
+ 'Socket' => '2.015',
+ 'Sys::Hostname' => '1.19',
+ 'UNIVERSAL' => '1.12',
+ 'XS::APItest' => '0.63',
+ 'perlfaq' => '5.0150045',
+ },
+ removed => {
+ }
+ },
+ 5.020001 => {
+ delta_from => 5.020000,
+ changed => {
+ 'Config' => '5.020001',
+ 'Config::Perl::V' => '0.22',
+ 'Cwd' => '3.48',
+ 'Exporter' => '5.71',
+ 'Exporter::Heavy' => '5.71',
+ 'ExtUtils::CBuilder' => '0.280217',
+ 'ExtUtils::CBuilder::Base'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280217',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280217',
+ 'File::Copy' => '2.30',
+ 'File::Spec' => '3.48',
+ 'File::Spec::Cygwin' => '3.48',
+ 'File::Spec::Epoc' => '3.48',
+ 'File::Spec::Functions' => '3.48',
+ 'File::Spec::Mac' => '3.48',
+ 'File::Spec::OS2' => '3.48',
+ 'File::Spec::Unix' => '3.48',
+ 'File::Spec::VMS' => '3.48',
+ 'File::Spec::Win32' => '3.48',
+ 'Module::CoreList' => '5.020001',
+ 'Module::CoreList::TieHashDelta'=> '5.020001',
+ 'Module::CoreList::Utils'=> '5.020001',
+ 'PerlIO::via' => '0.15',
+ 'Unicode::UCD' => '0.58',
+ 'XS::APItest' => '0.60_01',
+ 'utf8' => '1.13_01',
+ 'version' => '0.9909',
+ 'version::regex' => '0.9909',
+ 'version::vpp' => '0.9909',
+ },
+ removed => {
+ }
+ },
+ 5.021004 => {
+ delta_from => 5.021003,
+ changed => {
+ 'App::Prove' => '3.33',
+ 'App::Prove::State' => '3.33',
+ 'App::Prove::State::Result'=> '3.33',
+ 'App::Prove::State::Result::Test'=> '3.33',
+ 'Archive::Tar' => '2.02',
+ 'Archive::Tar::Constant'=> '2.02',
+ 'Archive::Tar::File' => '2.02',
+ 'Attribute::Handlers' => '0.97',
+ 'B' => '1.51',
+ 'B::Concise' => '0.993',
+ 'B::Deparse' => '1.28',
+ 'B::Op_private' => '5.021004',
+ 'CPAN::Meta::Requirements'=> '2.128',
+ 'Config' => '5.021004',
+ 'Cwd' => '3.50',
+ 'Data::Dumper' => '2.154',
+ 'ExtUtils::CBuilder' => '0.280219',
+ 'ExtUtils::CBuilder::Base'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280219',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280219',
+ 'ExtUtils::Install' => '2.04',
+ 'ExtUtils::Installed' => '2.04',
+ 'ExtUtils::Liblist::Kid'=> '6.98_01',
+ 'ExtUtils::Manifest' => '1.68',
+ 'ExtUtils::Packlist' => '2.04',
+ 'File::Find' => '1.28',
+ 'File::Spec' => '3.50',
+ 'File::Spec::Cygwin' => '3.50',
+ 'File::Spec::Epoc' => '3.50',
+ 'File::Spec::Functions' => '3.50',
+ 'File::Spec::Mac' => '3.50',
+ 'File::Spec::OS2' => '3.50',
+ 'File::Spec::Unix' => '3.50',
+ 'File::Spec::VMS' => '3.50',
+ 'File::Spec::Win32' => '3.50',
+ 'Getopt::Std' => '1.11',
+ 'HTTP::Tiny' => '0.049',
+ 'IO' => '1.34',
+ 'IO::Socket::IP' => '0.32',
+ 'List::Util' => '1.41',
+ 'List::Util::XS' => '1.41',
+ 'Locale::Codes' => '3.32',
+ 'Locale::Codes::Constants'=> '3.32',
+ 'Locale::Codes::Country'=> '3.32',
+ 'Locale::Codes::Country_Codes'=> '3.32',
+ 'Locale::Codes::Country_Retired'=> '3.32',
+ 'Locale::Codes::Currency'=> '3.32',
+ 'Locale::Codes::Currency_Codes'=> '3.32',
+ 'Locale::Codes::Currency_Retired'=> '3.32',
+ 'Locale::Codes::LangExt'=> '3.32',
+ 'Locale::Codes::LangExt_Codes'=> '3.32',
+ 'Locale::Codes::LangExt_Retired'=> '3.32',
+ 'Locale::Codes::LangFam'=> '3.32',
+ 'Locale::Codes::LangFam_Codes'=> '3.32',
+ 'Locale::Codes::LangFam_Retired'=> '3.32',
+ 'Locale::Codes::LangVar'=> '3.32',
+ 'Locale::Codes::LangVar_Codes'=> '3.32',
+ 'Locale::Codes::LangVar_Retired'=> '3.32',
+ 'Locale::Codes::Language'=> '3.32',
+ 'Locale::Codes::Language_Codes'=> '3.32',
+ 'Locale::Codes::Language_Retired'=> '3.32',
+ 'Locale::Codes::Script' => '3.32',
+ 'Locale::Codes::Script_Codes'=> '3.32',
+ 'Locale::Codes::Script_Retired'=> '3.32',
+ 'Locale::Country' => '3.32',
+ 'Locale::Currency' => '3.32',
+ 'Locale::Language' => '3.32',
+ 'Locale::Script' => '3.32',
+ 'Math::BigFloat' => '1.9997',
+ 'Math::BigInt' => '1.9997',
+ 'Math::BigInt::Calc' => '1.9997',
+ 'Math::BigInt::CalcEmu' => '1.9997',
+ 'Module::CoreList' => '5.20140920',
+ 'Module::CoreList::TieHashDelta'=> '5.20140920',
+ 'Module::CoreList::Utils'=> '5.20140920',
+ 'POSIX' => '1.43',
+ 'Pod::Perldoc' => '3.24',
+ 'Pod::Perldoc::BaseTo' => '3.24',
+ 'Pod::Perldoc::GetOptsOO'=> '3.24',
+ 'Pod::Perldoc::ToANSI' => '3.24',
+ 'Pod::Perldoc::ToChecker'=> '3.24',
+ 'Pod::Perldoc::ToMan' => '3.24',
+ 'Pod::Perldoc::ToNroff' => '3.24',
+ 'Pod::Perldoc::ToPod' => '3.24',
+ 'Pod::Perldoc::ToRtf' => '3.24',
+ 'Pod::Perldoc::ToTerm' => '3.24',
+ 'Pod::Perldoc::ToText' => '3.24',
+ 'Pod::Perldoc::ToTk' => '3.24',
+ 'Pod::Perldoc::ToXml' => '3.24',
+ 'Scalar::Util' => '1.41',
+ 'Sub::Util' => '1.41',
+ 'TAP::Base' => '3.33',
+ 'TAP::Formatter::Base' => '3.33',
+ 'TAP::Formatter::Color' => '3.33',
+ 'TAP::Formatter::Console'=> '3.33',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.33',
+ 'TAP::Formatter::Console::Session'=> '3.33',
+ 'TAP::Formatter::File' => '3.33',
+ 'TAP::Formatter::File::Session'=> '3.33',
+ 'TAP::Formatter::Session'=> '3.33',
+ 'TAP::Harness' => '3.33',
+ 'TAP::Harness::Env' => '3.33',
+ 'TAP::Object' => '3.33',
+ 'TAP::Parser' => '3.33',
+ 'TAP::Parser::Aggregator'=> '3.33',
+ 'TAP::Parser::Grammar' => '3.33',
+ 'TAP::Parser::Iterator' => '3.33',
+ 'TAP::Parser::Iterator::Array'=> '3.33',
+ 'TAP::Parser::Iterator::Process'=> '3.33',
+ 'TAP::Parser::Iterator::Stream'=> '3.33',
+ 'TAP::Parser::IteratorFactory'=> '3.33',
+ 'TAP::Parser::Multiplexer'=> '3.33',
+ 'TAP::Parser::Result' => '3.33',
+ 'TAP::Parser::Result::Bailout'=> '3.33',
+ 'TAP::Parser::Result::Comment'=> '3.33',
+ 'TAP::Parser::Result::Plan'=> '3.33',
+ 'TAP::Parser::Result::Pragma'=> '3.33',
+ 'TAP::Parser::Result::Test'=> '3.33',
+ 'TAP::Parser::Result::Unknown'=> '3.33',
+ 'TAP::Parser::Result::Version'=> '3.33',
+ 'TAP::Parser::Result::YAML'=> '3.33',
+ 'TAP::Parser::ResultFactory'=> '3.33',
+ 'TAP::Parser::Scheduler'=> '3.33',
+ 'TAP::Parser::Scheduler::Job'=> '3.33',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.33',
+ 'TAP::Parser::Source' => '3.33',
+ 'TAP::Parser::SourceHandler'=> '3.33',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.33',
+ 'TAP::Parser::SourceHandler::File'=> '3.33',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.33',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.33',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.33',
+ 'TAP::Parser::YAMLish::Reader'=> '3.33',
+ 'TAP::Parser::YAMLish::Writer'=> '3.33',
+ 'Term::ReadLine' => '1.15',
+ 'Test::Builder' => '1.001006',
+ 'Test::Builder::Module' => '1.001006',
+ 'Test::Builder::Tester' => '1.24',
+ 'Test::Builder::Tester::Color'=> '1.24',
+ 'Test::Harness' => '3.33',
+ 'Test::More' => '1.001006',
+ 'Test::Simple' => '1.001006',
+ 'Time::Piece' => '1.29',
+ 'Time::Seconds' => '1.29',
+ 'XS::APItest' => '0.64',
+ '_charnames' => '1.42',
+ 'attributes' => '0.23',
+ 'bigint' => '0.37',
+ 'bignum' => '0.38',
+ 'bigrat' => '0.37',
+ 'constant' => '1.32',
+ 'experimental' => '0.010',
+ 'overload' => '1.23',
+ 'threads' => '1.96',
+ 'version' => '0.9909',
+ 'version::regex' => '0.9909',
+ 'version::vpp' => '0.9909',
+ },
+ removed => {
+ }
+ },
+ 5.021005 => {
+ delta_from => 5.021004,
+ changed => {
+ 'B' => '1.52',
+ 'B::Concise' => '0.994',
+ 'B::Debug' => '1.22',
+ 'B::Deparse' => '1.29',
+ 'B::Op_private' => '5.021005',
+ 'CPAN::Meta' => '2.142690',
+ 'CPAN::Meta::Converter' => '2.142690',
+ 'CPAN::Meta::Feature' => '2.142690',
+ 'CPAN::Meta::History' => '2.142690',
+ 'CPAN::Meta::Merge' => '2.142690',
+ 'CPAN::Meta::Prereqs' => '2.142690',
+ 'CPAN::Meta::Spec' => '2.142690',
+ 'CPAN::Meta::Validator' => '2.142690',
+ 'Compress::Raw::Bzip2' => '2.066',
+ 'Compress::Raw::Zlib' => '2.066',
+ 'Compress::Zlib' => '2.066',
+ 'Config' => '5.021005',
+ 'Cwd' => '3.51',
+ 'DynaLoader' => '1.27',
+ 'Errno' => '1.21',
+ 'ExtUtils::CBuilder' => '0.280220',
+ 'ExtUtils::CBuilder::Base'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280220',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280220',
+ 'ExtUtils::Miniperl' => '1.03',
+ 'Fcntl' => '1.13',
+ 'File::Find' => '1.29',
+ 'File::Spec' => '3.51',
+ 'File::Spec::Cygwin' => '3.51',
+ 'File::Spec::Epoc' => '3.51',
+ 'File::Spec::Functions' => '3.51',
+ 'File::Spec::Mac' => '3.51',
+ 'File::Spec::OS2' => '3.51',
+ 'File::Spec::Unix' => '3.51',
+ 'File::Spec::VMS' => '3.51',
+ 'File::Spec::Win32' => '3.51',
+ 'HTTP::Tiny' => '0.050',
+ 'IO::Compress::Adapter::Bzip2'=> '2.066',
+ 'IO::Compress::Adapter::Deflate'=> '2.066',
+ 'IO::Compress::Adapter::Identity'=> '2.066',
+ 'IO::Compress::Base' => '2.066',
+ 'IO::Compress::Base::Common'=> '2.066',
+ 'IO::Compress::Bzip2' => '2.066',
+ 'IO::Compress::Deflate' => '2.066',
+ 'IO::Compress::Gzip' => '2.066',
+ 'IO::Compress::Gzip::Constants'=> '2.066',
+ 'IO::Compress::RawDeflate'=> '2.066',
+ 'IO::Compress::Zip' => '2.066',
+ 'IO::Compress::Zip::Constants'=> '2.066',
+ 'IO::Compress::Zlib::Constants'=> '2.066',
+ 'IO::Compress::Zlib::Extra'=> '2.066',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.066',
+ 'IO::Uncompress::Adapter::Identity'=> '2.066',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.066',
+ 'IO::Uncompress::AnyInflate'=> '2.066',
+ 'IO::Uncompress::AnyUncompress'=> '2.066',
+ 'IO::Uncompress::Base' => '2.066',
+ 'IO::Uncompress::Bunzip2'=> '2.066',
+ 'IO::Uncompress::Gunzip'=> '2.066',
+ 'IO::Uncompress::Inflate'=> '2.066',
+ 'IO::Uncompress::RawInflate'=> '2.066',
+ 'IO::Uncompress::Unzip' => '2.066',
+ 'JSON::PP' => '2.27300',
+ 'Module::CoreList' => '5.20141020',
+ 'Module::CoreList::TieHashDelta'=> '5.20141020',
+ 'Module::CoreList::Utils'=> '5.20141020',
+ 'Net::Cmd' => '3.02',
+ 'Net::Config' => '3.02',
+ 'Net::Domain' => '3.02',
+ 'Net::FTP' => '3.02',
+ 'Net::FTP::A' => '3.02',
+ 'Net::FTP::E' => '3.02',
+ 'Net::FTP::I' => '3.02',
+ 'Net::FTP::L' => '3.02',
+ 'Net::FTP::dataconn' => '3.02',
+ 'Net::NNTP' => '3.02',
+ 'Net::Netrc' => '3.02',
+ 'Net::POP3' => '3.02',
+ 'Net::SMTP' => '3.02',
+ 'Net::Time' => '3.02',
+ 'Opcode' => '1.29',
+ 'POSIX' => '1.45',
+ 'Socket' => '2.016',
+ 'Test::Builder' => '1.001008',
+ 'Test::Builder::Module' => '1.001008',
+ 'Test::More' => '1.001008',
+ 'Test::Simple' => '1.001008',
+ 'XS::APItest' => '0.65',
+ 'XSLoader' => '0.18',
+ 'attributes' => '0.24',
+ 'experimental' => '0.012',
+ 'feature' => '1.38',
+ 'perlfaq' => '5.0150046',
+ 're' => '0.27',
+ 'threads::shared' => '1.47',
+ 'warnings' => '1.28',
+ 'warnings::register' => '1.04',
+ },
+ removed => {
+ }
+ },
+ 5.021006 => {
+ delta_from => 5.021005,
+ changed => {
+ 'App::Prove' => '3.34',
+ 'App::Prove::State' => '3.34',
+ 'App::Prove::State::Result'=> '3.34',
+ 'App::Prove::State::Result::Test'=> '3.34',
+ 'B' => '1.53',
+ 'B::Concise' => '0.995',
+ 'B::Deparse' => '1.30',
+ 'B::Op_private' => '5.021006',
+ 'CPAN::Meta' => '2.143240',
+ 'CPAN::Meta::Converter' => '2.143240',
+ 'CPAN::Meta::Feature' => '2.143240',
+ 'CPAN::Meta::History' => '2.143240',
+ 'CPAN::Meta::Merge' => '2.143240',
+ 'CPAN::Meta::Prereqs' => '2.143240',
+ 'CPAN::Meta::Requirements'=> '2.130',
+ 'CPAN::Meta::Spec' => '2.143240',
+ 'CPAN::Meta::Validator' => '2.143240',
+ 'Config' => '5.021006',
+ 'Devel::Peek' => '1.19',
+ 'Digest::SHA' => '5.93',
+ 'DynaLoader' => '1.28',
+ 'Encode' => '2.64',
+ 'Exporter' => '5.72',
+ 'Exporter::Heavy' => '5.72',
+ 'ExtUtils::Command::MM' => '7.02',
+ 'ExtUtils::Liblist' => '7.02',
+ 'ExtUtils::Liblist::Kid'=> '7.02',
+ 'ExtUtils::MM' => '7.02',
+ 'ExtUtils::MM_AIX' => '7.02',
+ 'ExtUtils::MM_Any' => '7.02',
+ 'ExtUtils::MM_BeOS' => '7.02',
+ 'ExtUtils::MM_Cygwin' => '7.02',
+ 'ExtUtils::MM_DOS' => '7.02',
+ 'ExtUtils::MM_Darwin' => '7.02',
+ 'ExtUtils::MM_MacOS' => '7.02',
+ 'ExtUtils::MM_NW5' => '7.02',
+ 'ExtUtils::MM_OS2' => '7.02',
+ 'ExtUtils::MM_QNX' => '7.02',
+ 'ExtUtils::MM_UWIN' => '7.02',
+ 'ExtUtils::MM_Unix' => '7.02',
+ 'ExtUtils::MM_VMS' => '7.02',
+ 'ExtUtils::MM_VOS' => '7.02',
+ 'ExtUtils::MM_Win32' => '7.02',
+ 'ExtUtils::MM_Win95' => '7.02',
+ 'ExtUtils::MY' => '7.02',
+ 'ExtUtils::MakeMaker' => '7.02',
+ 'ExtUtils::MakeMaker::Config'=> '7.02',
+ 'ExtUtils::MakeMaker::Locale'=> '7.02',
+ 'ExtUtils::MakeMaker::version'=> '7.02',
+ 'ExtUtils::MakeMaker::version::regex'=> '7.02',
+ 'ExtUtils::MakeMaker::version::vpp'=> '7.02',
+ 'ExtUtils::Manifest' => '1.69',
+ 'ExtUtils::Mkbootstrap' => '7.02',
+ 'ExtUtils::Mksymlists' => '7.02',
+ 'ExtUtils::ParseXS' => '3.26',
+ 'ExtUtils::ParseXS::Constants'=> '3.26',
+ 'ExtUtils::ParseXS::CountLines'=> '3.26',
+ 'ExtUtils::ParseXS::Eval'=> '3.26',
+ 'ExtUtils::ParseXS::Utilities'=> '3.26',
+ 'ExtUtils::testlib' => '7.02',
+ 'File::Spec::VMS' => '3.52',
+ 'HTTP::Tiny' => '0.051',
+ 'I18N::Langinfo' => '0.12',
+ 'IO::Socket' => '1.38',
+ 'Module::CoreList' => '5.20141120',
+ 'Module::CoreList::TieHashDelta'=> '5.20141120',
+ 'Module::CoreList::Utils'=> '5.20141120',
+ 'POSIX' => '1.46',
+ 'PerlIO::encoding' => '0.20',
+ 'PerlIO::scalar' => '0.20',
+ 'TAP::Base' => '3.34',
+ 'TAP::Formatter::Base' => '3.34',
+ 'TAP::Formatter::Color' => '3.34',
+ 'TAP::Formatter::Console'=> '3.34',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.34',
+ 'TAP::Formatter::Console::Session'=> '3.34',
+ 'TAP::Formatter::File' => '3.34',
+ 'TAP::Formatter::File::Session'=> '3.34',
+ 'TAP::Formatter::Session'=> '3.34',
+ 'TAP::Harness' => '3.34',
+ 'TAP::Harness::Env' => '3.34',
+ 'TAP::Object' => '3.34',
+ 'TAP::Parser' => '3.34',
+ 'TAP::Parser::Aggregator'=> '3.34',
+ 'TAP::Parser::Grammar' => '3.34',
+ 'TAP::Parser::Iterator' => '3.34',
+ 'TAP::Parser::Iterator::Array'=> '3.34',
+ 'TAP::Parser::Iterator::Process'=> '3.34',
+ 'TAP::Parser::Iterator::Stream'=> '3.34',
+ 'TAP::Parser::IteratorFactory'=> '3.34',
+ 'TAP::Parser::Multiplexer'=> '3.34',
+ 'TAP::Parser::Result' => '3.34',
+ 'TAP::Parser::Result::Bailout'=> '3.34',
+ 'TAP::Parser::Result::Comment'=> '3.34',
+ 'TAP::Parser::Result::Plan'=> '3.34',
+ 'TAP::Parser::Result::Pragma'=> '3.34',
+ 'TAP::Parser::Result::Test'=> '3.34',
+ 'TAP::Parser::Result::Unknown'=> '3.34',
+ 'TAP::Parser::Result::Version'=> '3.34',
+ 'TAP::Parser::Result::YAML'=> '3.34',
+ 'TAP::Parser::ResultFactory'=> '3.34',
+ 'TAP::Parser::Scheduler'=> '3.34',
+ 'TAP::Parser::Scheduler::Job'=> '3.34',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.34',
+ 'TAP::Parser::Source' => '3.34',
+ 'TAP::Parser::SourceHandler'=> '3.34',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.34',
+ 'TAP::Parser::SourceHandler::File'=> '3.34',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.34',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.34',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.34',
+ 'TAP::Parser::YAMLish::Reader'=> '3.34',
+ 'TAP::Parser::YAMLish::Writer'=> '3.34',
+ 'Test::Builder' => '1.301001_075',
+ 'Test::Builder::Module' => '1.301001_075',
+ 'Test::Builder::Tester' => '1.301001_075',
+ 'Test::Builder::Tester::Color'=> '1.301001_075',
+ 'Test::Harness' => '3.34',
+ 'Test::More' => '1.301001_075',
+ 'Test::More::DeepCheck' => undef,
+ 'Test::More::DeepCheck::Strict'=> undef,
+ 'Test::More::DeepCheck::Tolerant'=> undef,
+ 'Test::More::Tools' => undef,
+ 'Test::MostlyLike' => undef,
+ 'Test::Simple' => '1.301001_075',
+ 'Test::Stream' => '1.301001_075',
+ 'Test::Stream::ArrayBase'=> undef,
+ 'Test::Stream::ArrayBase::Meta'=> undef,
+ 'Test::Stream::Carp' => undef,
+ 'Test::Stream::Context' => undef,
+ 'Test::Stream::Event' => undef,
+ 'Test::Stream::Event::Bail'=> undef,
+ 'Test::Stream::Event::Child'=> undef,
+ 'Test::Stream::Event::Diag'=> undef,
+ 'Test::Stream::Event::Finish'=> undef,
+ 'Test::Stream::Event::Note'=> undef,
+ 'Test::Stream::Event::Ok'=> undef,
+ 'Test::Stream::Event::Plan'=> undef,
+ 'Test::Stream::Event::Subtest'=> undef,
+ 'Test::Stream::ExitMagic'=> undef,
+ 'Test::Stream::ExitMagic::Context'=> undef,
+ 'Test::Stream::Exporter'=> undef,
+ 'Test::Stream::Exporter::Meta'=> undef,
+ 'Test::Stream::IOSets' => undef,
+ 'Test::Stream::Meta' => undef,
+ 'Test::Stream::PackageUtil'=> undef,
+ 'Test::Stream::Tester' => undef,
+ 'Test::Stream::Tester::Checks'=> undef,
+ 'Test::Stream::Tester::Checks::Event'=> undef,
+ 'Test::Stream::Tester::Events'=> undef,
+ 'Test::Stream::Tester::Events::Event'=> undef,
+ 'Test::Stream::Tester::Grab'=> undef,
+ 'Test::Stream::Threads' => undef,
+ 'Test::Stream::Toolset' => undef,
+ 'Test::Stream::Util' => undef,
+ 'Test::Tester' => '1.301001_075',
+ 'Test::Tester::Capture' => undef,
+ 'Test::use::ok' => '1.301001_075',
+ 'Unicode::UCD' => '0.59',
+ 'XS::APItest' => '0.68',
+ 'XSLoader' => '0.19',
+ 'experimental' => '0.013',
+ 'locale' => '1.05',
+ 'ok' => '1.301001_075',
+ 'overload' => '1.24',
+ 're' => '0.28',
+ 'warnings' => '1.29',
+ },
+ removed => {
+ }
+ },
+ 5.021007 => {
+ delta_from => 5.021006,
+ changed => {
+ 'Archive::Tar' => '2.04',
+ 'Archive::Tar::Constant'=> '2.04',
+ 'Archive::Tar::File' => '2.04',
+ 'B' => '1.54',
+ 'B::Concise' => '0.996',
+ 'B::Deparse' => '1.31',
+ 'B::Op_private' => '5.021007',
+ 'B::Showlex' => '1.05',
+ 'Compress::Raw::Bzip2' => '2.067',
+ 'Compress::Raw::Zlib' => '2.067',
+ 'Compress::Zlib' => '2.067',
+ 'Config' => '5.021007',
+ 'Cwd' => '3.54',
+ 'DB_File' => '1.834',
+ 'Data::Dumper' => '2.155',
+ 'Devel::PPPort' => '3.25',
+ 'Devel::Peek' => '1.20',
+ 'DynaLoader' => '1.29',
+ 'Encode' => '2.67',
+ 'Errno' => '1.22',
+ 'ExtUtils::CBuilder' => '0.280221',
+ 'ExtUtils::CBuilder::Base'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::android'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280221',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280221',
+ 'ExtUtils::Command::MM' => '7.04',
+ 'ExtUtils::Liblist' => '7.04',
+ 'ExtUtils::Liblist::Kid'=> '7.04',
+ 'ExtUtils::MM' => '7.04',
+ 'ExtUtils::MM_AIX' => '7.04',
+ 'ExtUtils::MM_Any' => '7.04',
+ 'ExtUtils::MM_BeOS' => '7.04',
+ 'ExtUtils::MM_Cygwin' => '7.04',
+ 'ExtUtils::MM_DOS' => '7.04',
+ 'ExtUtils::MM_Darwin' => '7.04',
+ 'ExtUtils::MM_MacOS' => '7.04',
+ 'ExtUtils::MM_NW5' => '7.04',
+ 'ExtUtils::MM_OS2' => '7.04',
+ 'ExtUtils::MM_QNX' => '7.04',
+ 'ExtUtils::MM_UWIN' => '7.04',
+ 'ExtUtils::MM_Unix' => '7.04',
+ 'ExtUtils::MM_VMS' => '7.04',
+ 'ExtUtils::MM_VOS' => '7.04',
+ 'ExtUtils::MM_Win32' => '7.04',
+ 'ExtUtils::MM_Win95' => '7.04',
+ 'ExtUtils::MY' => '7.04',
+ 'ExtUtils::MakeMaker' => '7.04',
+ 'ExtUtils::MakeMaker::Config'=> '7.04',
+ 'ExtUtils::MakeMaker::Locale'=> '7.04',
+ 'ExtUtils::MakeMaker::version'=> '7.04',
+ 'ExtUtils::MakeMaker::version::regex'=> '7.04',
+ 'ExtUtils::MakeMaker::version::vpp'=> '7.04',
+ 'ExtUtils::Mkbootstrap' => '7.04',
+ 'ExtUtils::Mksymlists' => '7.04',
+ 'ExtUtils::ParseXS' => '3.27',
+ 'ExtUtils::ParseXS::Constants'=> '3.27',
+ 'ExtUtils::ParseXS::CountLines'=> '3.27',
+ 'ExtUtils::ParseXS::Eval'=> '3.27',
+ 'ExtUtils::ParseXS::Utilities'=> '3.27',
+ 'ExtUtils::testlib' => '7.04',
+ 'File::Spec' => '3.53',
+ 'File::Spec::Cygwin' => '3.54',
+ 'File::Spec::Epoc' => '3.54',
+ 'File::Spec::Functions' => '3.54',
+ 'File::Spec::Mac' => '3.54',
+ 'File::Spec::OS2' => '3.54',
+ 'File::Spec::Unix' => '3.54',
+ 'File::Spec::VMS' => '3.54',
+ 'File::Spec::Win32' => '3.54',
+ 'Filter::Util::Call' => '1.51',
+ 'HTTP::Tiny' => '0.053',
+ 'IO' => '1.35',
+ 'IO::Compress::Adapter::Bzip2'=> '2.067',
+ 'IO::Compress::Adapter::Deflate'=> '2.067',
+ 'IO::Compress::Adapter::Identity'=> '2.067',
+ 'IO::Compress::Base' => '2.067',
+ 'IO::Compress::Base::Common'=> '2.067',
+ 'IO::Compress::Bzip2' => '2.067',
+ 'IO::Compress::Deflate' => '2.067',
+ 'IO::Compress::Gzip' => '2.067',
+ 'IO::Compress::Gzip::Constants'=> '2.067',
+ 'IO::Compress::RawDeflate'=> '2.067',
+ 'IO::Compress::Zip' => '2.067',
+ 'IO::Compress::Zip::Constants'=> '2.067',
+ 'IO::Compress::Zlib::Constants'=> '2.067',
+ 'IO::Compress::Zlib::Extra'=> '2.067',
+ 'IO::Socket::IP' => '0.34',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.067',
+ 'IO::Uncompress::Adapter::Identity'=> '2.067',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.067',
+ 'IO::Uncompress::AnyInflate'=> '2.067',
+ 'IO::Uncompress::AnyUncompress'=> '2.067',
+ 'IO::Uncompress::Base' => '2.067',
+ 'IO::Uncompress::Bunzip2'=> '2.067',
+ 'IO::Uncompress::Gunzip'=> '2.067',
+ 'IO::Uncompress::Inflate'=> '2.067',
+ 'IO::Uncompress::RawInflate'=> '2.067',
+ 'IO::Uncompress::Unzip' => '2.067',
+ 'Locale::Codes' => '3.33',
+ 'Locale::Codes::Constants'=> '3.33',
+ 'Locale::Codes::Country'=> '3.33',
+ 'Locale::Codes::Country_Codes'=> '3.33',
+ 'Locale::Codes::Country_Retired'=> '3.33',
+ 'Locale::Codes::Currency'=> '3.33',
+ 'Locale::Codes::Currency_Codes'=> '3.33',
+ 'Locale::Codes::Currency_Retired'=> '3.33',
+ 'Locale::Codes::LangExt'=> '3.33',
+ 'Locale::Codes::LangExt_Codes'=> '3.33',
+ 'Locale::Codes::LangExt_Retired'=> '3.33',
+ 'Locale::Codes::LangFam'=> '3.33',
+ 'Locale::Codes::LangFam_Codes'=> '3.33',
+ 'Locale::Codes::LangFam_Retired'=> '3.33',
+ 'Locale::Codes::LangVar'=> '3.33',
+ 'Locale::Codes::LangVar_Codes'=> '3.33',
+ 'Locale::Codes::LangVar_Retired'=> '3.33',
+ 'Locale::Codes::Language'=> '3.33',
+ 'Locale::Codes::Language_Codes'=> '3.33',
+ 'Locale::Codes::Language_Retired'=> '3.33',
+ 'Locale::Codes::Script' => '3.33',
+ 'Locale::Codes::Script_Codes'=> '3.33',
+ 'Locale::Codes::Script_Retired'=> '3.33',
+ 'Locale::Country' => '3.33',
+ 'Locale::Currency' => '3.33',
+ 'Locale::Language' => '3.33',
+ 'Locale::Maketext' => '1.26',
+ 'Locale::Script' => '3.33',
+ 'Module::CoreList' => '5.20141220',
+ 'Module::CoreList::TieHashDelta'=> '5.20141220',
+ 'Module::CoreList::Utils'=> '5.20141220',
+ 'NDBM_File' => '1.14',
+ 'Net::Cmd' => '3.04',
+ 'Net::Config' => '3.04',
+ 'Net::Domain' => '3.04',
+ 'Net::FTP' => '3.04',
+ 'Net::FTP::A' => '3.04',
+ 'Net::FTP::E' => '3.04',
+ 'Net::FTP::I' => '3.04',
+ 'Net::FTP::L' => '3.04',
+ 'Net::FTP::dataconn' => '3.04',
+ 'Net::NNTP' => '3.04',
+ 'Net::Netrc' => '3.04',
+ 'Net::POP3' => '3.04',
+ 'Net::SMTP' => '3.04',
+ 'Net::Time' => '3.04',
+ 'Opcode' => '1.30',
+ 'POSIX' => '1.48',
+ 'PerlIO::scalar' => '0.21',
+ 'Pod::Escapes' => '1.07',
+ 'SDBM_File' => '1.12',
+ 'Storable' => '2.52',
+ 'Sys::Hostname' => '1.20',
+ 'Test::Builder' => '1.301001_090',
+ 'Test::Builder::Module' => '1.301001_090',
+ 'Test::Builder::Tester' => '1.301001_090',
+ 'Test::Builder::Tester::Color'=> '1.301001_090',
+ 'Test::CanFork' => undef,
+ 'Test::CanThread' => undef,
+ 'Test::More' => '1.301001_090',
+ 'Test::Simple' => '1.301001_090',
+ 'Test::Stream' => '1.301001_090',
+ 'Test::Stream::API' => undef,
+ 'Test::Stream::ForceExit'=> undef,
+ 'Test::Stream::Subtest' => undef,
+ 'Test::Tester' => '1.301001_090',
+ 'Test::use::ok' => '1.301001_090',
+ 'Unicode::Collate' => '1.09',
+ 'Unicode::Collate::CJK::Big5'=> '1.09',
+ 'Unicode::Collate::CJK::GB2312'=> '1.09',
+ 'Unicode::Collate::CJK::JISX0208'=> '1.09',
+ 'Unicode::Collate::CJK::Korean'=> '1.09',
+ 'Unicode::Collate::CJK::Pinyin'=> '1.09',
+ 'Unicode::Collate::CJK::Stroke'=> '1.09',
+ 'Unicode::Collate::CJK::Zhuyin'=> '1.09',
+ 'Unicode::Collate::Locale'=> '1.09',
+ 'XS::APItest' => '0.69',
+ 'XSLoader' => '0.20',
+ '_charnames' => '1.43',
+ 'arybase' => '0.09',
+ 'charnames' => '1.43',
+ 'feature' => '1.39',
+ 'mro' => '1.17',
+ 'ok' => '1.301001_090',
+ 'strict' => '1.09',
+ 'threads' => '1.96_001',
+ },
+ removed => {
+ }
+ },
+ 5.021008 => {
+ delta_from => 5.021007,
+ changed => {
+ 'App::Prove' => '3.35',
+ 'App::Prove::State' => '3.35',
+ 'App::Prove::State::Result'=> '3.35',
+ 'App::Prove::State::Result::Test'=> '3.35',
+ 'B' => '1.55',
+ 'B::Deparse' => '1.32',
+ 'B::Op_private' => '5.021008',
+ 'CPAN::Meta::Requirements'=> '2.131',
+ 'Compress::Raw::Bzip2' => '2.068',
+ 'Compress::Raw::Zlib' => '2.068',
+ 'Compress::Zlib' => '2.068',
+ 'Config' => '5.021008',
+ 'DB_File' => '1.835',
+ 'Data::Dumper' => '2.156',
+ 'Devel::PPPort' => '3.28',
+ 'Devel::Peek' => '1.21',
+ 'Digest::MD5' => '2.54',
+ 'Digest::SHA' => '5.95',
+ 'DynaLoader' => '1.30',
+ 'ExtUtils::Command' => '1.20',
+ 'ExtUtils::Manifest' => '1.70',
+ 'Fatal' => '2.26',
+ 'File::Glob' => '1.24',
+ 'Filter::Util::Call' => '1.54',
+ 'Getopt::Long' => '2.43',
+ 'IO::Compress::Adapter::Bzip2'=> '2.068',
+ 'IO::Compress::Adapter::Deflate'=> '2.068',
+ 'IO::Compress::Adapter::Identity'=> '2.068',
+ 'IO::Compress::Base' => '2.068',
+ 'IO::Compress::Base::Common'=> '2.068',
+ 'IO::Compress::Bzip2' => '2.068',
+ 'IO::Compress::Deflate' => '2.068',
+ 'IO::Compress::Gzip' => '2.068',
+ 'IO::Compress::Gzip::Constants'=> '2.068',
+ 'IO::Compress::RawDeflate'=> '2.068',
+ 'IO::Compress::Zip' => '2.068',
+ 'IO::Compress::Zip::Constants'=> '2.068',
+ 'IO::Compress::Zlib::Constants'=> '2.068',
+ 'IO::Compress::Zlib::Extra'=> '2.068',
+ 'IO::Socket::IP' => '0.36',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.068',
+ 'IO::Uncompress::Adapter::Identity'=> '2.068',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.068',
+ 'IO::Uncompress::AnyInflate'=> '2.068',
+ 'IO::Uncompress::AnyUncompress'=> '2.068',
+ 'IO::Uncompress::Base' => '2.068',
+ 'IO::Uncompress::Bunzip2'=> '2.068',
+ 'IO::Uncompress::Gunzip'=> '2.068',
+ 'IO::Uncompress::Inflate'=> '2.068',
+ 'IO::Uncompress::RawInflate'=> '2.068',
+ 'IO::Uncompress::Unzip' => '2.068',
+ 'MIME::Base64' => '3.15',
+ 'Module::CoreList' => '5.20150220',
+ 'Module::CoreList::TieHashDelta'=> '5.20150220',
+ 'Module::CoreList::Utils'=> '5.20150220',
+ 'Module::Load::Conditional'=> '0.64',
+ 'Module::Metadata' => '1.000026',
+ 'Net::Cmd' => '3.05',
+ 'Net::Config' => '3.05',
+ 'Net::Domain' => '3.05',
+ 'Net::FTP' => '3.05',
+ 'Net::FTP::A' => '3.05',
+ 'Net::FTP::E' => '3.05',
+ 'Net::FTP::I' => '3.05',
+ 'Net::FTP::L' => '3.05',
+ 'Net::FTP::dataconn' => '3.05',
+ 'Net::NNTP' => '3.05',
+ 'Net::Netrc' => '3.05',
+ 'Net::POP3' => '3.05',
+ 'Net::SMTP' => '3.05',
+ 'Net::Time' => '3.05',
+ 'Opcode' => '1.31',
+ 'POSIX' => '1.49',
+ 'PerlIO::encoding' => '0.21',
+ 'Pod::Simple' => '3.29',
+ 'Pod::Simple::BlackBox' => '3.29',
+ 'Pod::Simple::Checker' => '3.29',
+ 'Pod::Simple::Debug' => '3.29',
+ 'Pod::Simple::DumpAsText'=> '3.29',
+ 'Pod::Simple::DumpAsXML'=> '3.29',
+ 'Pod::Simple::HTML' => '3.29',
+ 'Pod::Simple::HTMLBatch'=> '3.29',
+ 'Pod::Simple::LinkSection'=> '3.29',
+ 'Pod::Simple::Methody' => '3.29',
+ 'Pod::Simple::Progress' => '3.29',
+ 'Pod::Simple::PullParser'=> '3.29',
+ 'Pod::Simple::PullParserEndToken'=> '3.29',
+ 'Pod::Simple::PullParserStartToken'=> '3.29',
+ 'Pod::Simple::PullParserTextToken'=> '3.29',
+ 'Pod::Simple::PullParserToken'=> '3.29',
+ 'Pod::Simple::RTF' => '3.29',
+ 'Pod::Simple::Search' => '3.29',
+ 'Pod::Simple::SimpleTree'=> '3.29',
+ 'Pod::Simple::Text' => '3.29',
+ 'Pod::Simple::TextContent'=> '3.29',
+ 'Pod::Simple::TiedOutFH'=> '3.29',
+ 'Pod::Simple::Transcode'=> '3.29',
+ 'Pod::Simple::TranscodeDumb'=> '3.29',
+ 'Pod::Simple::TranscodeSmart'=> '3.29',
+ 'Pod::Simple::XHTML' => '3.29',
+ 'Pod::Simple::XMLOutStream'=> '3.29',
+ 'SDBM_File' => '1.13',
+ 'Safe' => '2.39',
+ 'TAP::Base' => '3.35',
+ 'TAP::Formatter::Base' => '3.35',
+ 'TAP::Formatter::Color' => '3.35',
+ 'TAP::Formatter::Console'=> '3.35',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.35',
+ 'TAP::Formatter::Console::Session'=> '3.35',
+ 'TAP::Formatter::File' => '3.35',
+ 'TAP::Formatter::File::Session'=> '3.35',
+ 'TAP::Formatter::Session'=> '3.35',
+ 'TAP::Harness' => '3.35',
+ 'TAP::Harness::Env' => '3.35',
+ 'TAP::Object' => '3.35',
+ 'TAP::Parser' => '3.35',
+ 'TAP::Parser::Aggregator'=> '3.35',
+ 'TAP::Parser::Grammar' => '3.35',
+ 'TAP::Parser::Iterator' => '3.35',
+ 'TAP::Parser::Iterator::Array'=> '3.35',
+ 'TAP::Parser::Iterator::Process'=> '3.35',
+ 'TAP::Parser::Iterator::Stream'=> '3.35',
+ 'TAP::Parser::IteratorFactory'=> '3.35',
+ 'TAP::Parser::Multiplexer'=> '3.35',
+ 'TAP::Parser::Result' => '3.35',
+ 'TAP::Parser::Result::Bailout'=> '3.35',
+ 'TAP::Parser::Result::Comment'=> '3.35',
+ 'TAP::Parser::Result::Plan'=> '3.35',
+ 'TAP::Parser::Result::Pragma'=> '3.35',
+ 'TAP::Parser::Result::Test'=> '3.35',
+ 'TAP::Parser::Result::Unknown'=> '3.35',
+ 'TAP::Parser::Result::Version'=> '3.35',
+ 'TAP::Parser::Result::YAML'=> '3.35',
+ 'TAP::Parser::ResultFactory'=> '3.35',
+ 'TAP::Parser::Scheduler'=> '3.35',
+ 'TAP::Parser::Scheduler::Job'=> '3.35',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.35',
+ 'TAP::Parser::Source' => '3.35',
+ 'TAP::Parser::SourceHandler'=> '3.35',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.35',
+ 'TAP::Parser::SourceHandler::File'=> '3.35',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.35',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.35',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.35',
+ 'TAP::Parser::YAMLish::Reader'=> '3.35',
+ 'TAP::Parser::YAMLish::Writer'=> '3.35',
+ 'Test::Builder' => '1.301001_097',
+ 'Test::Builder::Module' => '1.301001_097',
+ 'Test::Builder::Tester' => '1.301001_097',
+ 'Test::Builder::Tester::Color'=> '1.301001_097',
+ 'Test::Harness' => '3.35',
+ 'Test::More' => '1.301001_097',
+ 'Test::Simple' => '1.301001_097',
+ 'Test::Stream' => '1.301001_097',
+ 'Test::Stream::Block' => undef,
+ 'Test::Tester' => '1.301001_097',
+ 'Test::Tester::CaptureRunner'=> undef,
+ 'Test::Tester::Delegate'=> undef,
+ 'Test::use::ok' => '1.301001_097',
+ 'Unicode::Collate' => '1.10',
+ 'Unicode::Collate::CJK::Big5'=> '1.10',
+ 'Unicode::Collate::CJK::GB2312'=> '1.10',
+ 'Unicode::Collate::CJK::JISX0208'=> '1.10',
+ 'Unicode::Collate::CJK::Korean'=> '1.10',
+ 'Unicode::Collate::CJK::Pinyin'=> '1.10',
+ 'Unicode::Collate::CJK::Stroke'=> '1.10',
+ 'Unicode::Collate::CJK::Zhuyin'=> '1.10',
+ 'Unicode::Collate::Locale'=> '1.10',
+ 'VMS::DCLsym' => '1.06',
+ 'XS::APItest' => '0.70',
+ 'arybase' => '0.10',
+ 'attributes' => '0.25',
+ 'autodie' => '2.26',
+ 'autodie::Scope::Guard' => '2.26',
+ 'autodie::Scope::GuardStack'=> '2.26',
+ 'autodie::ScopeUtil' => '2.26',
+ 'autodie::exception' => '2.26',
+ 'autodie::exception::system'=> '2.26',
+ 'autodie::hints' => '2.26',
+ 'autodie::skip' => '2.26',
+ 'ok' => '1.301001_097',
+ 're' => '0.30',
+ 'warnings' => '1.30',
+ },
+ removed => {
+ }
+ },
+ 5.020002 => {
+ delta_from => 5.020001,
+ changed => {
+ 'CPAN::Author' => '5.5002',
+ 'CPAN::CacheMgr' => '5.5002',
+ 'CPAN::FTP' => '5.5006',
+ 'CPAN::HTTP::Client' => '1.9601',
+ 'CPAN::HandleConfig' => '5.5005',
+ 'CPAN::Index' => '1.9601',
+ 'CPAN::LWP::UserAgent' => '1.9601',
+ 'CPAN::Mirrors' => '1.9601',
+ 'Config' => '5.020002',
+ 'Cwd' => '3.48_01',
+ 'Data::Dumper' => '2.151_01',
+ 'Errno' => '1.20_05',
+ 'File::Spec' => '3.48_01',
+ 'File::Spec::Cygwin' => '3.48_01',
+ 'File::Spec::Epoc' => '3.48_01',
+ 'File::Spec::Functions' => '3.48_01',
+ 'File::Spec::Mac' => '3.48_01',
+ 'File::Spec::OS2' => '3.48_01',
+ 'File::Spec::Unix' => '3.48_01',
+ 'File::Spec::VMS' => '3.48_01',
+ 'File::Spec::Win32' => '3.48_01',
+ 'IO::Socket' => '1.38',
+ 'Module::CoreList' => '5.20150214',
+ 'Module::CoreList::TieHashDelta'=> '5.20150214',
+ 'Module::CoreList::Utils'=> '5.20150214',
+ 'PerlIO::scalar' => '0.18_01',
+ 'Pod::PlainText' => '2.07',
+ 'Storable' => '2.49_01',
+ 'VMS::DCLsym' => '1.05_01',
+ 'VMS::Stdio' => '2.41',
+ 'attributes' => '0.23',
+ 'feature' => '1.36_01',
+ },
+ removed => {
+ }
+ },
);
sub is_core
@@ -9275,7 +11098,7 @@ sub is_core
my ($module_version, $perl_version);
$module_version = shift if @_ > 0;
- $perl_version = @_ > 0 ? shift : $^V;
+ $perl_version = @_ > 0 ? shift : $];
my $first_release = first_release($module);
@@ -9307,7 +11130,7 @@ sub is_core
last RELEASE if $prn > $perl_version;
next unless defined(my $next_module_version
= $delta{$prn}->{changed}->{$module});
- return 1 if $next_module_version >= $module_version;
+ return 1 if version->parse($next_module_version) >= version->parse($module_version);
}
return 0;
}
@@ -9485,7 +11308,20 @@ for my $version (sort { $a <=> $b } keys %delta) {
removed => {
}
},
-
+ 5.018003 => {
+ delta_from => 5.018,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.018004 => {
+ delta_from => 5.018,
+ changed => {
+ },
+ removed => {
+ }
+ },
5.019 => {
delta_from => 5.018,
@@ -9617,6 +11453,134 @@ for my $version (sort { $a <=> $b } keys %delta) {
removed => {
}
},
+ 5.019007 => {
+ delta_from => 5.019006,
+ changed => {
+ 'CGI' => '1',
+ 'CGI::Apache' => '1',
+ 'CGI::Carp' => '1',
+ 'CGI::Cookie' => '1',
+ 'CGI::Fast' => '1',
+ 'CGI::Pretty' => '1',
+ 'CGI::Push' => '1',
+ 'CGI::Switch' => '1',
+ 'CGI::Util' => '1',
+ },
+ removed => {
+ }
+ },
+ 5.019008 => {
+ delta_from => 5.019007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019009 => {
+ delta_from => 5.019008,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.01901 => {
+ delta_from => 5.019009,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019011 => {
+ delta_from => 5.019010,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020000 => {
+ delta_from => 5.019011,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021000 => {
+ delta_from => 5.020000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021001 => {
+ delta_from => 5.017007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021002 => {
+ delta_from => 5.021001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021003 => {
+ delta_from => 5.021002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020001 => {
+ delta_from => 5.020000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021004 => {
+ delta_from => 5.021003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021005 => {
+ delta_from => 5.021004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021006 => {
+ delta_from => 5.021005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021007 => {
+ delta_from => 5.021006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021008 => {
+ delta_from => 5.021007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020002 => {
+ delta_from => 5.020001,
+ changed => {
+ },
+ removed => {
+ }
+ },
);
for my $version (sort { $a <=> $b } keys %deprecated) {
@@ -9778,6 +11742,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'IO::Compress::Zip::Constants'=> 'cpan',
'IO::Compress::Zlib::Constants'=> 'cpan',
'IO::Compress::Zlib::Extra'=> 'cpan',
+ 'IO::Socket::IP' => 'cpan',
'IO::Uncompress::Adapter::Bunzip2'=> 'cpan',
'IO::Uncompress::Adapter::Identity'=> 'cpan',
'IO::Uncompress::Adapter::Inflate'=> 'cpan',
@@ -10028,9 +11993,13 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'autodie::skip' => 'cpan',
'encoding' => 'cpan',
'encoding::warnings' => 'cpan',
+ 'experimental' => 'cpan',
'inc::latest' => 'cpan',
'parent' => 'cpan',
'perlfaq' => 'cpan',
+ 'version' => 'cpan',
+ 'version::regex' => 'cpan',
+ 'version::vpp' => 'cpan',
);
%bug_tracker = (
@@ -10043,15 +12012,15 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'Archive::Tar::Constant'=> undef,
'Archive::Tar::File' => undef,
'B::Debug' => undef,
- 'CGI' => undef,
- 'CGI::Apache' => undef,
- 'CGI::Carp' => undef,
- 'CGI::Cookie' => undef,
- 'CGI::Fast' => undef,
- 'CGI::Pretty' => undef,
- 'CGI::Push' => undef,
- 'CGI::Switch' => undef,
- 'CGI::Util' => undef,
+ 'CGI' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Apache' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Carp' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Cookie' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Fast' => 'https://github.com/leejo/cgi-fast/issues',
+ 'CGI::Pretty' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Push' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Switch' => 'https://github.com/leejo/CGI.pm/issues',
+ 'CGI::Util' => 'https://github.com/leejo/CGI.pm/issues',
'CPAN' => undef,
'CPAN::Author' => undef,
'CPAN::Bundle' => undef,
@@ -10099,7 +12068,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'Compress::Zlib' => undef,
'Config::Perl::V' => undef,
'DB_File' => undef,
- 'Devel::PPPort' => undef,
+ 'Devel::PPPort' => 'https://github.com/mhx/Devel-PPPort/issues/',
'Digest' => undef,
'Digest::MD5' => undef,
'Digest::SHA' => undef,
@@ -10182,6 +12151,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'IO::Compress::Zip::Constants'=> undef,
'IO::Compress::Zlib::Constants'=> undef,
'IO::Compress::Zlib::Extra'=> undef,
+ 'IO::Socket::IP' => undef,
'IO::Uncompress::Adapter::Bunzip2'=> undef,
'IO::Uncompress::Adapter::Identity'=> undef,
'IO::Uncompress::Adapter::Inflate'=> undef,
@@ -10250,7 +12220,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'Module::Build::ConfigData'=> undef,
'Module::Build::Cookbook'=> undef,
'Module::Build::Dumper' => undef,
- 'Module::Build::ModuleInfo'=> undef,
+ 'Module::Build::ModuleInfo'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Build-Deprecated',
'Module::Build::Notes' => undef,
'Module::Build::PPMMaker'=> undef,
'Module::Build::Platform::Default'=> undef,
@@ -10264,8 +12234,8 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'Module::Build::Platform::darwin'=> undef,
'Module::Build::Platform::os2'=> undef,
'Module::Build::PodParser'=> undef,
- 'Module::Build::Version'=> undef,
- 'Module::Build::YAML' => undef,
+ 'Module::Build::Version'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Build-Deprecated',
+ 'Module::Build::YAML' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Build-Deprecated',
'Module::Load' => undef,
'Module::Load::Conditional'=> undef,
'Module::Loaded' => undef,
@@ -10393,16 +12363,16 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'TAP::Parser::SourceHandler::RawTAP'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::YAMLish::Reader'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::YAMLish::Writer'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
- 'Term::ANSIColor' => undef,
+ 'Term::ANSIColor' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Term-ANSIColor',
'Term::Cap' => undef,
'Test' => undef,
- 'Test::Builder' => 'http://github.com/schwern/test-more/issues/',
- 'Test::Builder::Module' => 'http://github.com/schwern/test-more/issues/',
- 'Test::Builder::Tester' => 'http://github.com/schwern/test-more/issues',
- 'Test::Builder::Tester::Color'=> 'http://github.com/schwern/test-more/issues',
+ 'Test::Builder' => 'http://github.com/Test-More/test-more/issues/',
+ 'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues/',
+ 'Test::Builder::Tester' => 'http://github.com/Test-More/test-more/issues/',
+ 'Test::Builder::Tester::Color'=> 'http://github.com/Test-More/test-more/issues/',
'Test::Harness' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
- 'Test::More' => 'http://github.com/schwern/test-more/issues/',
- 'Test::Simple' => 'http://github.com/schwern/test-more/issues/',
+ 'Test::More' => 'http://github.com/Test-More/test-more/issues/',
+ 'Test::Simple' => 'http://github.com/Test-More/test-more/issues/',
'Text::Balanced' => undef,
'Text::ParseWords' => undef,
'Text::Tabs' => undef,
@@ -10432,9 +12402,13 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
'autodie::skip' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'encoding' => undef,
'encoding::warnings' => undef,
- 'inc::latest' => undef,
+ 'experimental' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=experimental',
+ 'inc::latest' => 'https://github.com/dagolden/inc-latest/issues',
'parent' => undef,
'perlfaq' => 'https://github.com/perl-doc-cats/perlfaq/issues',
+ 'version' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version',
+ 'version::regex' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version',
+ 'version::vpp' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version',
);
# Create aliases with trailing zeros for $] use
@@ -10442,6 +12416,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
$released{'5.000'} = $released{5};
$version{'5.000'} = $version{5};
+_create_aliases(\%delta);
_create_aliases(\%released);
_create_aliases(\%version);
_create_aliases(\%deprecated);
@@ -10450,7 +12425,7 @@ sub _create_aliases {
my ($hash) = @_;
for my $version (keys %$hash) {
- next unless $version >= 5.010;
+ next unless $version >= 5.006;
my $padded = sprintf "%0.6f", $version;
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pod b/Master/tlpkg/tlperl/lib/Module/CoreList.pod
new file mode 100644
index 00000000000..edc00ec9feb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pod
@@ -0,0 +1,251 @@
+=head1 NAME
+
+Module::CoreList - what modules shipped with versions of perl
+
+=head1 SYNOPSIS
+
+ use Module::CoreList;
+
+ print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
+
+ print Module::CoreList->first_release('File::Spec'); # prints 5.00405
+ print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
+ print Module::CoreList->first_release('File::Spec', 0.82); # prints 5.006001
+
+ if (Module::CoreList::is_core('File::Spec')) {
+ print "File::Spec is a core module\n";
+ }
+
+ print join ', ', Module::CoreList->find_modules(qr/Data/);
+ # prints 'Data::Dumper'
+ print join ', ',
+ Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
+ # prints 'Test::Harness::Assert, Test::Harness::Straps'
+
+ print join ", ", @{ $Module::CoreList::families{5.005} };
+ # prints "5.005, 5.00503, 5.00504"
+
+=head1 DESCRIPTION
+
+Module::CoreList provides information on which core and dual-life modules shipped
+with each version of L<perl>.
+
+It provides a number of mechanisms for querying this information.
+
+There is a utility called L<corelist> provided with this module
+which is a convenient way of querying from the command-line.
+
+There is a functional programming API available for programmers to query
+information.
+
+Programmers may also query the contained hash structures to find relevant
+information.
+
+=head1 FUNCTIONS API
+
+These are the functions that are available, they may either be called as functions or class methods:
+
+ Module::CoreList::first_release('File::Spec'); # as a function
+
+ Module::CoreList->first_release('File::Spec'); # class method
+
+=over
+
+=item C<first_release( MODULE )>
+
+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 ( 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 ( 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 ] )>
+
+Takes a regex as an argument, returns a list of modules that match the regex given.
+If only a regex is provided applies to all modules in all perl versions. Optionally
+you may provide a list of perl versions to limit the regex search.
+
+=item C<find_version( PERL_VERSION )>
+
+Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
+otherwise.
+
+=item C<is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )>
+
+Available in version 2.99 and above.
+
+Returns true if MODULE was bundled with the specified version of Perl.
+You can optionally specify a minimum version of the module,
+and can also specify a version of Perl.
+If a version of Perl isn't specified,
+C<is_core()> will use the numeric version of Perl that is running (ie C<$]>).
+
+If you want to specify the version of Perl, but don't care about
+the version of the module, pass C<undef> for the module version:
+
+=item C<is_deprecated( MODULE, PERL_VERSION )>
+
+Available in version 2.22 and above.
+
+Returns true if MODULE is marked as deprecated in PERL_VERSION. If PERL_VERSION is
+omitted, it defaults to the current version of Perl.
+
+=item C<deprecated_in( MODULE )>
+
+Available in version 2.77 and above.
+
+Returns the first PERL_VERSION where the MODULE was marked as deprecated. Returns C<undef>
+if the MODULE has not been marked as deprecated.
+
+=item C<removed_from( MODULE )>
+
+Available in version 2.32 and above
+
+Takes a module name as an argument, returns the first perl version where that module
+was removed from core. Returns undef if the given module was never in core or remains
+in core.
+
+=item C<removed_from_by_date( MODULE )>
+
+Available in version 2.32 and above
+
+Takes a module name as an argument, returns the first perl version by release date where that module
+was removed from core. Returns undef if the given module was never in core or remains
+in core.
+
+=item C<changes_between( PERL_VERSION, PERL_VERSION )>
+
+Available in version 2.66 and above.
+
+Given two perl versions, this returns a list of pairs describing the changes in
+core module content between them. The list is suitable for storing in a hash.
+The keys are library names and the values are hashrefs. Each hashref has an
+entry for one or both of C<left> and C<right>, giving the versions of the
+library in each of the left and right perl distributions.
+
+For example, it might return these data (among others) for the difference
+between 5.008000 and 5.008001:
+
+ 'Pod::ParseLink' => { left => '1.05', right => '1.06' },
+ 'Pod::ParseUtils' => { left => '0.22', right => '0.3' },
+ 'Pod::Perldoc' => { right => '3.10' },
+ 'Pod::Perldoc::BaseTo' => { right => undef },
+
+This shows us two libraries being updated and two being added, one of which has
+an undefined version in the right-hand side version.
+
+=back
+
+=head1 DATA STRUCTURES
+
+These are the hash data structures that are available:
+
+=over
+
+=item C<%Module::CoreList::version>
+
+A hash of hashes that is keyed on perl version as indicated
+in $]. The second level hash is module => version pairs.
+
+Note, it is possible for the version of a module to be unspecified,
+whereby the value is C<undef>, so use C<exists $version{$foo}{$bar}> if
+that's what you're testing for.
+
+Starting with 2.10, the special module name C<Unicode> refers to the version of
+the Unicode Character Database bundled with Perl.
+
+=item C<%Module::CoreList::delta>
+
+Available in version 3.00 and above.
+
+C<%Module::CoreList::version> is implemented via C<Module::CoreList::TieHashDelta>
+using this hash of delta changes.
+
+It is a hash of hashes that is keyed on perl version. Each keyed hash will have the
+following keys:
+
+ delta_from - a previous perl version that the changes are based on
+ changed - a hash of module/versions that have changed
+ removed - a hash of modules that have been removed
+
+=item C<%Module::CoreList::released>
+
+Keyed on perl version this contains ISO
+formatted versions of the release dates, as gleaned from L<perlhist>.
+
+=item C<%Module::CoreList::families>
+
+New, in 1.96, a hash that
+clusters known perl releases by their major versions.
+
+=item C<%Module::CoreList::deprecated>
+
+A hash of hashes keyed on perl version and on module name.
+If a module is defined it indicates that that module is
+deprecated in that perl version and is scheduled for removal
+from core at some future point.
+
+=item C<%Module::CoreList::upstream>
+
+A hash that contains information on where patches should be directed
+for each core module.
+
+UPSTREAM indicates where patches should go. C<undef> implies
+that this hasn't been discussed for the module at hand.
+C<blead> indicates that the copy of the module in the blead
+sources is to be considered canonical, C<cpan> means that the
+module on CPAN is to be patched first. C<first-come> means
+that blead can be patched freely if it is in sync with the
+latest release on CPAN.
+
+=item C<%Module::CoreList::bug_tracker>
+
+A hash that contains information on the appropriate bug tracker
+for each core module.
+
+BUGS is an email or url to post bug reports. For modules with
+UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
+appears to automatically provide a URL for CPAN modules; any value
+given here overrides the default:
+http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
+
+=back
+
+=head1 CAVEATS
+
+Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
+5.004, 5.004_05, 5.005, 5.005_03, 5.005_04 and 5.7.3 releases of perl.
+
+All stable releases of perl since 5.6.0 are covered.
+
+All development releases of perl since 5.9.0 are covered.
+
+
+=head1 HISTORY
+
+Moved to Changes file.
+
+=head1 AUTHOR
+
+Richard Clamp E<lt>richardc@unixbeard.netE<gt>
+
+Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
+
+=head1 LICENSE
+
+Copyright (C) 2002-2009 Richard Clamp. 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
+
+L<corelist>, L<Module::Info>, L<perl>, L<http://perlpunks.de/corelist>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
index b0c133950b2..eb769f3070a 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
@@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta;
use strict;
use vars qw($VERSION);
-$VERSION = "3.03";
+$VERSION = '5.20150214';
sub TIEHASH {
my ($class, $changed, $removed, $parent) = @_;
@@ -32,12 +32,14 @@ sub FETCH {
sub EXISTS {
my ($self, $key) = @_;
+ restart:
if (exists $self->{changed}{$key}) {
return 1;
} elsif (exists $self->{removed}{$key}) {
return '';
} elsif (defined $self->{parent}) {
- return exists $self->{parent}{$key};
+ $self = tied %{$self->{parent}}; #avoid extreme magic/tie recursion
+ goto restart;
}
return '';
}
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm
index 5967e032ad5..b9fde3e27a2 100755
--- a/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm
@@ -6,7 +6,7 @@ use vars qw[$VERSION %utilities];
use Module::CoreList;
use Module::CoreList::TieHashDelta;
-$VERSION = '3.03';
+$VERSION = '5.20150214';
sub utilities {
my $perl = shift;
@@ -822,6 +822,20 @@ my %delta = (
removed => {
}
},
+ 5.018003 => {
+ delta_from => 5.018000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.018004 => {
+ delta_from => 5.018000,
+ changed => {
+ },
+ removed => {
+ }
+ },
5.019000 => {
delta_from => 5.018000,
changed => {
@@ -882,6 +896,123 @@ my %delta = (
removed => {
}
},
+ 5.019008 => {
+ delta_from => 5.019007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019009 => {
+ delta_from => 5.019008,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019010 => {
+ delta_from => 5.019009,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019011 => {
+ delta_from => 5.019010,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020000 => {
+ delta_from => 5.019011,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021000 => {
+ delta_from => 5.020000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021001 => {
+ delta_from => 5.021000,
+ changed => {
+ },
+ removed => {
+ 'a2p' => 1,
+ 'config_data' => 1,
+ 'find2perl' => 1,
+ 'psed' => 1,
+ 's2p' => 1,
+ }
+ },
+ 5.021002 => {
+ delta_from => 5.021001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021003 => {
+ delta_from => 5.021002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020001 => {
+ delta_from => 5.02,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021004 => {
+ delta_from => 5.021003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021005 => {
+ delta_from => 5.021004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021006 => {
+ delta_from => 5.021005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021007 => {
+ delta_from => 5.021006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.021008 => {
+ delta_from => 5.021007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.020002 => {
+ delta_from => 5.020001,
+ changed => {
+ },
+ removed => {
+ }
+ },
);
for my $version (sort { $a <=> $b } keys %delta) {
diff --git a/Master/tlpkg/tlperl/lib/Module/Load.pm b/Master/tlpkg/tlperl/lib/Module/Load.pm
index 60464847449..9e69f832300 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load.pm
@@ -1,19 +1,69 @@
package Module::Load;
-$VERSION = '0.24';
+$VERSION = '0.32';
use strict;
+use warnings;
use File::Spec ();
sub import {
my $who = _who();
+ my $h; shift;
{ no strict 'refs';
- *{"${who}::load"} = *load;
+
+ @_ or (
+ *{"${who}::load"} = \&load, # compat to prev version
+ *{"${who}::autoload"} = \&autoload,
+ return
+ );
+
+ map { $h->{$_} = () if defined $_ } @_;
+
+ (exists $h->{none} or exists $h->{''})
+ and shift, last;
+
+ ((exists $h->{autoload} and shift,1) or (exists $h->{all} and shift))
+ and *{"${who}::autoload"} = \&autoload;
+
+ ((exists $h->{load} and shift,1) or exists $h->{all})
+ and *{"${who}::load"} = \&load;
+
+ ((exists $h->{load_remote} and shift,1) or exists $h->{all})
+ and *{"${who}::load_remote"} = \&load_remote;
+
+ ((exists $h->{autoload_remote} and shift,1) or exists $h->{all})
+ and *{"${who}::autoload_remote"} = \&autoload_remote;
+
}
+
+}
+
+sub load(*;@){
+ goto &_load;
+}
+
+sub autoload(*;@){
+ unshift @_, 'autoimport';
+ goto &_load;
+}
+
+sub load_remote($$;@){
+ my ($dst, $src, @exp) = @_;
+
+ eval "package $dst;Module::Load::load('$src', qw/@exp/);";
+ $@ && die "$@";
}
-sub load (*;@) {
+sub autoload_remote($$;@){
+ my ($dst, $src, @exp) = @_;
+
+ eval "package $dst;Module::Load::autoload('$src', qw/@exp/);";
+ $@ && die "$@";
+}
+
+sub _load{
+ my $autoimport = $_[0] eq 'autoimport' and shift;
my $mod = shift or return;
my $who = _who();
@@ -34,13 +84,20 @@ sub load (*;@) {
### This addresses #41883: Module::Load cannot import
### non-Exporter module. ->import() routines weren't
### properly called when load() was used.
+
{ no strict 'refs';
my $import;
- if (@_ and $import = $mod->can('import')) {
- unshift @_, $mod;
- goto &$import;
- }
+
+ ((@_ or $autoimport) and (
+ $import = $mod->can('import')
+ ) and (
+ unshift(@_, $mod),
+ goto &$import,
+ return
+ )
+ );
}
+
}
sub _to_file{
@@ -92,26 +149,31 @@ Module::Load - runtime require of both modules and files
=head1 SYNOPSIS
- use Module::Load;
+ use Module::Load;
+
+ my $module = 'Data::Dumper';
+
+ load Data::Dumper; # loads that module, but not import any functions
+ # -> cannot use 'Dumper' function
- my $module = 'Data:Dumper';
- load Data::Dumper; # loads that module
- load 'Data::Dumper'; # ditto
- load $module # tritto
+ load 'Data::Dumper'; # ditto
+ load $module # tritto
- my $script = 'some/script.pl'
- load $script;
- load 'some/script.pl'; # use quotes because of punctuations
+ autoload Data::Dumper; # loads that module and imports the default functions
+ # -> can use 'Dumper' function
- load thing; # try 'thing' first, then 'thing.pm'
+ my $script = 'some/script.pl'
+ load $script;
+ load 'some/script.pl'; # use quotes because of punctuations
- load CGI, ':standard' # like 'use CGI qw[:standard]'
+ load thing; # try 'thing' first, then 'thing.pm'
+ load CGI, ':all'; # like 'use CGI qw[:standard]'
=head1 DESCRIPTION
-C<load> eliminates the need to know whether you are trying to require
-either a file or a module.
+C<Module::Load> eliminates the need to know whether you are trying
+to require either a file or a module.
If you consult C<perldoc -f require> you will see that C<require> will
behave differently when given a bareword or a string.
@@ -124,11 +186,80 @@ modules at runtime, since you will need to change the module notation
(C<Acme::Comment>) to a file notation fitting the particular platform
you are on.
-C<load> eliminates the need for this overhead and will just DWYM.
+C<Module::Load> eliminates the need for this overhead and will
+just DWYM.
+
+=head2 Difference between C<load> and C<autoload>
+
+C<Module::Load> imports the two functions - C<load> and C<autoload>
+
+C<autoload> imports the default functions automatically,
+but C<load> do not import any functions.
+
+C<autoload> is usable under C<BEGIN{};>.
+
+Both the functions can import the functions that are specified.
+
+Following codes are same.
+
+ load File::Spec::Functions, qw/splitpath/;
+
+ autoload File::Spec::Functions, qw/splitpath/;
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item load
+
+Loads a specified module.
+
+See L</Rules> for detailed loading rule.
+
+=item autoload
+
+Loads a specified module and imports the default functions.
+
+Except importing the functions, 'autoload' is same as 'load'.
+
+=item load_remote
+
+Loads a specified module to the specified package.
+
+ use Module::Load 'load_remote';
+
+ my $pkg = 'Other::Package';
+
+ load_remote $pkg, 'Data::Dumper'; # load a module to 'Other::Package'
+ # but do not import 'Dumper' function
+
+A module for loading must be quoted.
+
+Except specifing the package and quoting module name,
+'load_remote' is same as 'load'.
+
+=item autoload_remote
+
+Loads a specified module and imports the default functions to the specified package.
+
+ use Module::Load 'autoload_remote';
+
+ my $pkg = 'Other::Package';
+
+ autoload_remote $pkg, 'Data::Dumper'; # load a module to 'Other::Package'
+ # and imports 'Dumper' function
+
+A module for loading must be quoted.
+
+Except specifing the package and quoting module name,
+'autoload_remote' is same as 'load_remote'.
+
+=back
=head1 Rules
-C<load> has the following rules to decide what it thinks you want:
+All functions have the following rules to decide what it thinks
+you want:
=over 4
@@ -150,6 +281,46 @@ the respective error messages.
=back
+=head1 IMPORTS THE FUNCTIONS
+
+'load' and 'autoload' are imported by default, but 'load_remote' and
+'autoload_remote' are not imported.
+
+To use 'load_remote' or 'autoload_remote', specify at 'use'.
+
+=over 4
+
+=item "load","autoload","load_remote","autoload_remote"
+
+Imports the selected functions.
+
+ # imports 'load' and 'autoload' (default)
+ use Module::Load;
+
+ # imports 'autoload' only
+ use Module::Load 'autoload';
+
+ # imports 'autoload' and 'autoload_remote', but don't import 'load';
+ use Module::Load qw/autoload autoload_remote/;
+
+=item 'all'
+
+Imports all the functions.
+
+ use Module::Load 'all'; # imports load, autoload, load_remote, autoload_remote
+
+=item '','none',undef
+
+Not import any functions (C<load> and C<autoload> are not imported).
+
+ use Module::Load '';
+
+ use Module::Load 'none';
+
+ use Module::Load undef;
+
+=back
+
=head1 Caveats
Because of a bug in perl (#19213), at least in version 5.6.1, we have
@@ -180,5 +351,4 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
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/Module/Load/Conditional.pm b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
index 342371f8794..422f56b4d5c 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
@@ -2,7 +2,7 @@ package Module::Load::Conditional;
use strict;
-use Module::Load;
+use Module::Load qw/load autoload_remote/;
use Params::Check qw[check];
use Locale::Maketext::Simple Style => 'gettext';
@@ -13,14 +13,16 @@ use version;
use Module::Metadata ();
-use constant ON_VMS => $^O eq 'VMS';
+use constant ON_VMS => $^O eq 'VMS';
+use constant ON_WIN32 => $^O eq 'MSWin32' ? 1 : 0;
+use constant QUOTE => do { ON_WIN32 ? q["] : q['] };
BEGIN {
use vars qw[ $VERSION @ISA $VERBOSE $CACHE @EXPORT_OK $DEPRECATED
$FIND_VERSION $ERROR $CHECK_INC_HASH];
use Exporter;
@ISA = qw[Exporter];
- $VERSION = '0.54';
+ $VERSION = '0.62';
$VERBOSE = 0;
$DEPRECATED = 0;
$FIND_VERSION = 1;
@@ -195,7 +197,7 @@ sub check_install {
}
}
- ### we didnt find the filename yet by looking in %INC,
+ ### we didn't find the filename yet by looking in %INC,
### so scan the dirs
unless( $filename ) {
@@ -317,7 +319,7 @@ sub check_install {
return $href;
}
-=head2 $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL] )
+=head2 $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL, autoload => BOOL] )
C<can_load> will take a list of modules, optionally with version
numbers and determine if it is able to load them. If it can load *ALL*
@@ -327,8 +329,8 @@ This is particularly useful if you have More Than One Way (tm) to
solve a problem in a program, and only wish to continue down a path
if all modules could be loaded, and not load them if they couldn't.
-This function uses the C<load> function from Module::Load under the
-hood.
+This function uses the C<load> function or the C<autoload_remote> function
+from Module::Load under the hood.
C<can_load> takes the following arguments:
@@ -353,6 +355,12 @@ same module twice, nor will it attempt to load a module that has
already failed to load before. By default, C<can_load> will check its
cache, but you can override that by setting C<nocache> to true.
+=item autoload
+
+This controls whether imports the functions of a loaded modules to the caller package. The default is no importing any functions.
+
+See the C<autoload> function and the C<autoload_remote> function from L<Module::Load> for details.
+
=cut
sub can_load {
@@ -362,6 +370,7 @@ sub can_load {
modules => { default => {}, strict_type => 1 },
verbose => { default => $VERBOSE },
nocache => { default => 0 },
+ autoload => { default => 0 },
};
my $args;
@@ -434,7 +443,12 @@ sub can_load {
if ( $CACHE->{$mod}->{uptodate} ) {
- eval { load $mod };
+ if ( $args->{autoload} ) {
+ my $who = (caller())[0];
+ eval { autoload_remote $who, $mod };
+ } else {
+ eval { load $mod };
+ }
### in case anything goes wrong, log the error, the fact
### we tried to use this module and return 0;
@@ -495,12 +509,15 @@ sub requires {
}
my $lib = join " ", map { qq["-I$_"] } @INC;
- my $cmd = qq["$^X" $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
+ my $oneliner = 'print(join(qq[\n],map{qq[BONG=$_]}keys(%INC)),qq[\n])';
+ my $cmd = join '', qq["$^X" $lib -M$who -e], QUOTE, $oneliner, QUOTE;
return sort
grep { !/^$who$/ }
map { chomp; s|/|::|g; $_ }
grep { s|\.pm$||i; }
+ map { s!^BONG\=!!; $_ }
+ grep { m!^BONG\=! }
`$cmd`;
}
diff --git a/Master/tlpkg/tlperl/lib/Module/Metadata.pm b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
index e3c25049460..e352d316208 100644
--- a/Master/tlpkg/tlperl/lib/Module/Metadata.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
@@ -10,8 +10,9 @@ package Module::Metadata;
# parrot future to look at other types of modules).
use strict;
-use vars qw($VERSION);
-$VERSION = '1.000011';
+use warnings;
+
+our $VERSION = '1.000019';
$VERSION = eval $VERSION;
use Carp qw/croak/;
@@ -29,11 +30,39 @@ use File::Find qw(find);
my $V_NUM_REGEXP = qr{v?[0-9._]+}; # crudely, a v-string or decimal
+my $PKG_FIRST_WORD_REGEXP = qr{ # the FIRST word in a package name
+ [a-zA-Z_] # the first word CANNOT start with a digit
+ (?:
+ [\w']? # can contain letters, digits, _, or ticks
+ \w # But, NO multi-ticks or trailing ticks
+ )*
+}x;
+
+my $PKG_ADDL_WORD_REGEXP = qr{ # the 2nd+ word in a package name
+ \w # the 2nd+ word CAN start with digits
+ (?:
+ [\w']? # and can contain letters or ticks
+ \w # But, NO multi-ticks or trailing ticks
+ )*
+}x;
+
+my $PKG_NAME_REGEXP = qr{ # match a package name
+ (?: :: )? # a pkg name can start with aristotle
+ $PKG_FIRST_WORD_REGEXP # a package word
+ (?:
+ (?: :: )+ ### aristotle (allow one or many times)
+ $PKG_ADDL_WORD_REGEXP ### a package word
+ )* # ^ zero, one or many times
+ (?:
+ :: # allow trailing aristotle
+ )?
+}x;
+
my $PKG_REGEXP = qr{ # match a package declaration
^[\s\{;]* # intro chars on a line
package # the word 'package'
\s+ # whitespace
- ([\w:]+) # a package name
+ ($PKG_NAME_REGEXP) # a package name
\s* # optional whitespace
($V_NUM_REGEXP)? # optional version number
\s* # optional whitesapce
@@ -93,16 +122,16 @@ sub new_from_module {
}
{
-
+
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;
};
@@ -128,7 +157,7 @@ sub new_from_module {
my $resolve_module_versions = sub {
my $packages = shift;
-
+
my( $file, $version );
my $err = '';
foreach my $p ( @$packages ) {
@@ -146,17 +175,17 @@ sub new_from_module {
}
$file ||= $p->{file} if defined( $p->{file} );
}
-
+
if ( $err ) {
$err = " $file ($version)\n" . $err;
}
-
+
my %result = (
file => $file,
version => $version,
err => $err
);
-
+
return \%result;
};
@@ -221,16 +250,16 @@ sub new_from_module {
my $mapped_filename = File::Spec::Unix->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 );
-
+
$prime_package = $package if lc($prime_package) eq lc($package);
if ( $package eq $prime_package ) {
if ( exists( $prime{$package} ) ) {
@@ -248,15 +277,15 @@ sub new_from_module {
}
}
}
-
+
# 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
@@ -266,11 +295,11 @@ sub new_from_module {
" $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
@@ -286,28 +315,28 @@ sub new_from_module {
" $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};
@@ -315,17 +344,17 @@ sub new_from_module {
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
+ # XXX "bug in YAML::Node" comment seems irrelevant -- dagolden, 2009-05-18
for (grep defined $_->{version}, values %prime) {
$_->{version} = $normalize_version->( $_->{version} );
}
-
+
return \%prime;
}
-}
-
+}
+
sub _init {
my $class = shift;
@@ -490,6 +519,7 @@ sub _parse_fh {
my $pkg = 'main';
my $pod_sect = '';
my $pod_data = '';
+ my $in_end = 0;
while (defined( my $line = <$fh> )) {
my $line_num = $.;
@@ -532,11 +562,18 @@ sub _parse_fh {
} else {
+ # Skip after __END__
+ next if $in_end;
+
# Skip comments in code
next if $line =~ /^\s*#/;
# Would be nice if we could also check $in_string or something too
- last if $line =~ /^__(?:DATA|END)__$/;
+ if ($line eq '__END__') {
+ $in_end++;
+ next;
+ }
+ last if $line eq '__DATA__';
# parse $line to see if it's a $VERSION declaration
my( $vers_sig, $vers_fullname, $vers_pkg ) =
@@ -583,7 +620,7 @@ sub _parse_fh {
unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
$vers{$pkg} = $v;
- }
+ }
}
@@ -613,10 +650,11 @@ sub _evaluate_version_line {
# compiletime/runtime issues with local()
my $vsub;
$pn++; # everybody gets their own package
- my $eval = qq{BEGIN { q# Hide from _packages_inside()
+ my $eval = qq{BEGIN { my \$dummy = q# Hide from _packages_inside()
#; package Module::Metadata::_version::p$pn;
use version;
no strict;
+ no warnings;
\$vsub = sub {
local $sigil$var;
@@ -626,6 +664,8 @@ sub _evaluate_version_line {
};
}};
+ $eval = $1 if $eval =~ m{^(.+)}s;
+
local $^W;
# Try to get the $VERSION
eval $eval;
@@ -713,12 +753,12 @@ sub _evaluate_version_line {
############################################################
# accessors
-sub name { $_[0]->{module} }
+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 filename { $_[0]->{filename} }
+sub packages_inside { @{$_[0]->{packages}} }
+sub pod_inside { @{$_[0]->{pod_headings}} }
+sub contains_pod { 0+@{$_[0]->{pod_headings}} }
sub version {
my $self = shift;
@@ -764,8 +804,10 @@ Module::Metadata - Gather package and POD information from perl module files
=head1 DESCRIPTION
-This module provides a standard way to gather metadata about a .pm file
-without executing unsafe code.
+This module provides a standard way to gather metadata about a .pm file through
+(mostly) static analysis and (some) code execution. When determining the
+version of a module, the C<$VERSION> assignment is C<eval>ed, as is traditional
+in the CPAN toolchain.
=head1 USAGE
@@ -934,7 +976,10 @@ Returns the absolute path to the file.
Returns a list of packages. Note: this is a raw list of packages
discovered (or assumed, in the case of C<main>). It is not
filtered for C<DB>, C<main> or private packages the way the
-C<provides> method does.
+C<provides> method does. Invalid package names are not returned,
+for example "Foo:Bar". Strange but valid package names are
+returned, for example "Foo::Bar::", and are left up to the caller
+on how to handle.
=item C<< pod_inside() >>
diff --git a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm b/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
deleted file mode 100644
index 9e7962efab7..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
+++ /dev/null
@@ -1,457 +0,0 @@
-package Module::Pluggable;
-
-use strict;
-use vars qw($VERSION $FORCE_SEARCH_ALL_PATHS);
-use Module::Pluggable::Object;
-
-use if $] > 5.017, 'deprecate';
-
-# ObQuote:
-# Bob Porter: Looks like you've been missing a lot of work lately.
-# Peter Gibbons: I wouldn't say I've been missing it, Bob!
-
-
-$VERSION = '4.7';
-$FORCE_SEARCH_ALL_PATHS = 0;
-
-sub import {
- my $class = shift;
- my %opts = @_;
-
- my ($pkg, $file) = caller;
- # the default name for the method is 'plugins'
- my $sub = $opts{'sub_name'} || 'plugins';
- # get our package
- my ($package) = $opts{'package'} || $pkg;
- $opts{filename} = $file;
- $opts{package} = $package;
- $opts{force_search_all_paths} = $FORCE_SEARCH_ALL_PATHS unless exists $opts{force_search_all_paths};
-
-
- my $finder = Module::Pluggable::Object->new(%opts);
- my $subroutine = sub { my $self = shift; return $finder->plugins(@_) };
-
- my $searchsub = sub {
- my $self = shift;
- my ($action,@paths) = @_;
-
- $finder->{'search_path'} = ["${package}::Plugin"] if ($action eq 'add' and not $finder->{'search_path'} );
- push @{$finder->{'search_path'}}, @paths if ($action eq 'add');
- $finder->{'search_path'} = \@paths if ($action eq 'new');
- return $finder->{'search_path'};
- };
-
-
- my $onlysub = sub {
- my ($self, $only) = @_;
-
- if (defined $only) {
- $finder->{'only'} = $only;
- };
-
- return $finder->{'only'};
- };
-
- my $exceptsub = sub {
- my ($self, $except) = @_;
-
- if (defined $except) {
- $finder->{'except'} = $except;
- };
-
- return $finder->{'except'};
- };
-
-
- no strict 'refs';
- no warnings qw(redefine prototype);
-
- *{"$package\::$sub"} = $subroutine;
- *{"$package\::search_path"} = $searchsub;
- *{"$package\::only"} = $onlysub;
- *{"$package\::except"} = $exceptsub;
-
-}
-
-1;
-
-=pod
-
-=head1 NAME
-
-Module::Pluggable - automatically give your module the ability to have plugins
-
-=head1 SYNOPSIS
-
-
-Simple use Module::Pluggable -
-
- package MyClass;
- use Module::Pluggable;
-
-
-and then later ...
-
- use MyClass;
- my $mc = MyClass->new();
- # returns the names of all plugins installed under MyClass::Plugin::*
- my @plugins = $mc->plugins();
-
-=head1 EXAMPLE
-
-Why would you want to do this? Say you have something that wants to pass an
-object to a number of different plugins in turn. For example you may
-want to extract meta-data from every email you get sent and do something
-with it. Plugins make sense here because then you can keep adding new
-meta data parsers and all the logic and docs for each one will be
-self contained and new handlers are easy to add without changing the
-core code. For that, you might do something like ...
-
- package Email::Examiner;
-
- use strict;
- use Email::Simple;
- use Module::Pluggable require => 1;
-
- sub handle_email {
- my $self = shift;
- my $email = shift;
-
- foreach my $plugin ($self->plugins) {
- $plugin->examine($email);
- }
-
- return 1;
- }
-
-
-
-.. and all the plugins will get a chance in turn to look at it.
-
-This can be trivally extended so that plugins could save the email
-somewhere and then no other plugin should try and do that.
-Simply have it so that the C<examine> method returns C<1> if
-it has saved the email somewhere. You might also wnat to be paranoid
-and check to see if the plugin has an C<examine> method.
-
- foreach my $plugin ($self->plugins) {
- next unless $plugin->can('examine');
- last if $plugin->examine($email);
- }
-
-
-And so on. The sky's the limit.
-
-
-=head1 DESCRIPTION
-
-Provides a simple but, hopefully, extensible way of having 'plugins' for
-your module. Obviously this isn't going to be the be all and end all of
-solutions but it works for me.
-
-Essentially all it does is export a method into your namespace that
-looks through a search path for .pm files and turn those into class names.
-
-Optionally it instantiates those classes for you.
-
-=head1 ADVANCED USAGE
-
-Alternatively, if you don't want to use 'plugins' as the method ...
-
- package MyClass;
- use Module::Pluggable sub_name => 'foo';
-
-
-and then later ...
-
- my @plugins = $mc->foo();
-
-
-Or if you want to look in another namespace
-
- package MyClass;
- use Module::Pluggable search_path => ['Acme::MyClass::Plugin', 'MyClass::Extend'];
-
-or directory
-
- use Module::Pluggable search_dirs => ['mylibs/Foo'];
-
-
-Or if you want to instantiate each plugin rather than just return the name
-
- package MyClass;
- use Module::Pluggable instantiate => 'new';
-
-and then
-
- # whatever is passed to 'plugins' will be passed
- # to 'new' for each plugin
- my @plugins = $mc->plugins(@options);
-
-
-alternatively you can just require the module without instantiating it
-
- package MyClass;
- use Module::Pluggable require => 1;
-
-since requiring automatically searches inner packages, which may not be desirable, you can turn this off
-
-
- package MyClass;
- use Module::Pluggable require => 1, inner => 0;
-
-
-You can limit the plugins loaded using the except option, either as a string,
-array ref or regex
-
- package MyClass;
- use Module::Pluggable except => 'MyClass::Plugin::Foo';
-
-or
-
- package MyClass;
- use Module::Pluggable except => ['MyClass::Plugin::Foo', 'MyClass::Plugin::Bar'];
-
-or
-
- package MyClass;
- use Module::Pluggable except => qr/^MyClass::Plugin::(Foo|Bar)$/;
-
-
-and similarly for only which will only load plugins which match.
-
-Remember you can use the module more than once
-
- package MyClass;
- use Module::Pluggable search_path => 'MyClass::Filters' sub_name => 'filters';
- use Module::Pluggable search_path => 'MyClass::Plugins' sub_name => 'plugins';
-
-and then later ...
-
- my @filters = $self->filters;
- my @plugins = $self->plugins;
-
-=head1 PLUGIN SEARCHING
-
-Every time you call 'plugins' the whole search path is walked again. This allows
-for dynamically loading plugins even at run time. However this can get expensive
-and so if you don't expect to want to add new plugins at run time you could do
-
-
- package Foo;
- use strict;
- use Module::Pluggable sub_name => '_plugins';
-
- our @PLUGINS;
- sub plugins { @PLUGINS ||= shift->_plugins }
- 1;
-
-=head1 INNER PACKAGES
-
-If you have, for example, a file B<lib/Something/Plugin/Foo.pm> that
-contains package definitions for both C<Something::Plugin::Foo> and
-C<Something::Plugin::Bar> then as long as you either have either
-the B<require> or B<instantiate> option set then we'll also find
-C<Something::Plugin::Bar>. Nifty!
-
-=head1 OPTIONS
-
-You can pass a hash of options when importing this module.
-
-The options can be ...
-
-=head2 sub_name
-
-The name of the subroutine to create in your namespace.
-
-By default this is 'plugins'
-
-=head2 search_path
-
-An array ref of namespaces to look in.
-
-=head2 search_dirs
-
-An array ref of directorys to look in before @INC.
-
-=head2 instantiate
-
-Call this method on the class. In general this will probably be 'new'
-but it can be whatever you want. Whatever arguments are passed to 'plugins'
-will be passed to the method.
-
-The default is 'undef' i.e just return the class name.
-
-=head2 require
-
-Just require the class, don't instantiate (overrides 'instantiate');
-
-=head2 inner
-
-If set to 0 will B<not> search inner packages.
-If set to 1 will override C<require>.
-
-=head2 only
-
-Takes a string, array ref or regex describing the names of the only plugins to
-return. Whilst this may seem perverse ... well, it is. But it also
-makes sense. Trust me.
-
-=head2 except
-
-Similar to C<only> it takes a description of plugins to exclude
-from returning. This is slightly less perverse.
-
-=head2 package
-
-This is for use by extension modules which build on C<Module::Pluggable>:
-passing a C<package> option allows you to place the plugin method in a
-different package other than your own.
-
-=head2 file_regex
-
-By default C<Module::Pluggable> only looks for I<.pm> files.
-
-By supplying a new C<file_regex> then you can change this behaviour e.g
-
- file_regex => qr/\.plugin$/
-
-=head2 include_editor_junk
-
-By default C<Module::Pluggable> ignores files that look like they were
-left behind by editors. Currently this means files ending in F<~> (~),
-the extensions F<.swp> or F<.swo>, or files beginning with F<.#>.
-
-Setting C<include_editor_junk> changes C<Module::Pluggable> so it does
-not ignore any files it finds.
-
-=head2 follow_symlinks
-
-Whether, when searching directories, to follow symlinks.
-
-Defaults to 1 i.e do follow symlinks.
-
-=head2 min_depth, max_depth
-
-This will allow you to set what 'depth' of plugin will be allowed.
-
-So, for example, C<MyClass::Plugin::Foo> will have a depth of 3 and
-C<MyClass::Plugin::Foo::Bar> will have a depth of 4 so to only get the former
-(i.e C<MyClass::Plugin::Foo>) do
-
- package MyClass;
- use Module::Pluggable max_depth => 3;
-
-and to only get the latter (i.e C<MyClass::Plugin::Foo::Bar>)
-
- package MyClass;
- use Module::Pluggable min_depth => 4;
-
-
-=head1 TRIGGERS
-
-Various triggers can also be passed in to the options.
-
-If any of these triggers return 0 then the plugin will not be returned.
-
-=head2 before_require <plugin>
-
-Gets passed the plugin name.
-
-If 0 is returned then this plugin will not be required either.
-
-=head2 on_require_error <plugin> <err>
-
-Gets called when there's an error on requiring the plugin.
-
-Gets passed the plugin name and the error.
-
-The default on_require_error handler is to C<carp> the error and return 0.
-
-=head2 on_instantiate_error <plugin> <err>
-
-Gets called when there's an error on instantiating the plugin.
-
-Gets passed the plugin name and the error.
-
-The default on_instantiate_error handler is to C<carp> the error and return 0.
-
-=head2 after_require <plugin>
-
-Gets passed the plugin name.
-
-If 0 is returned then this plugin will be required but not returned as a plugin.
-
-=head1 METHODs
-
-=head2 search_path
-
-The method C<search_path> is exported into you namespace as well.
-You can call that at any time to change or replace the
-search_path.
-
- $self->search_path( add => "New::Path" ); # add
- $self->search_path( new => "New::Path" ); # replace
-
-=head1 BEHAVIOUR UNDER TEST ENVIRONMENT
-
-In order to make testing reliable we exclude anything not from blib if blib.pm is
-in %INC.
-
-However if the module being tested used another module that itself used C<Module::Pluggable>
-then the second module would fail. This was fixed by checking to see if the caller
-had (^|/)blib/ in their filename.
-
-There's an argument that this is the wrong behaviour and that modules should explicitly
-trigger this behaviour but that particular code has been around for 7 years now and I'm
-reluctant to change the default behaviour.
-
-You can now (as of version 4.1) force Module::Pluggable to look outside blib in a test environment by doing either
-
- require Module::Pluggable;
- $Module::Pluggable::FORCE_SEARCH_ALL_PATHS = 1;
- import Module::Pluggable;
-
-or
-
- use Module::Pluggable force_search_all_paths => 1;
-
-
-=head1 FUTURE PLANS
-
-This does everything I need and I can't really think of any other
-features I want to add. Famous last words of course
-
-Recently tried fixed to find inner packages and to make it
-'just work' with PAR but there are still some issues.
-
-
-However suggestions (and patches) are welcome.
-
-=head1 DEVELOPMENT
-
-The master repo for this module is at
-
-https://github.com/simonwistow/Module-Pluggable
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2006 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=head1 SEE ALSO
-
-L<File::Spec>, L<File::Find>, L<File::Basename>, L<Class::Factory::Util>, L<Module::Pluggable::Ordered>
-
-=cut
-
-
diff --git a/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm b/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm
deleted file mode 100644
index 6b1d265456c..00000000000
--- a/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm
+++ /dev/null
@@ -1,405 +0,0 @@
-package Module::Pluggable::Object;
-
-use strict;
-use File::Find ();
-use File::Basename;
-use File::Spec::Functions qw(splitdir catdir curdir catfile abs2rel);
-use Carp qw(croak carp confess);
-use Devel::InnerPackage;
-use vars qw($VERSION);
-
-use if $] > 5.017, 'deprecate';
-
-$VERSION = '4.6';
-
-
-sub new {
- my $class = shift;
- my %opts = @_;
-
- return bless \%opts, $class;
-
-}
-
-### Eugggh, this code smells
-### This is what happens when you keep adding patches
-### *sigh*
-
-
-sub plugins {
- my $self = shift;
- my @args = @_;
-
- # override 'require'
- $self->{'require'} = 1 if $self->{'inner'};
-
- my $filename = $self->{'filename'};
- my $pkg = $self->{'package'};
-
- # Get the exception params instantiated
- $self->_setup_exceptions;
-
- # automatically turn a scalar search path or namespace into a arrayref
- for (qw(search_path search_dirs)) {
- $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
- }
-
- # default search path is '<Module>::<Name>::Plugin'
- $self->{'search_path'} ||= ["${pkg}::Plugin"];
-
- # default error handler
- $self->{'on_require_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't require $plugin : $err"; return 0 };
- $self->{'on_instantiate_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't instantiate $plugin: $err"; return 0 };
-
- # default whether to follow symlinks
- $self->{'follow_symlinks'} = 1 unless exists $self->{'follow_symlinks'};
-
- # check to see if we're running under test
- my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! && !$self->{'force_search_all_paths'} ? grep {/blib/} @INC : @INC;
-
- # add any search_dir params
- unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
-
- # set our @INC up to include and prefer our search_dirs if necessary
- my @tmp = @INC;
- unshift @tmp, @{$self->{'search_dirs'} || []};
- local @INC = @tmp if defined $self->{'search_dirs'};
-
- my @plugins = $self->search_directories(@SEARCHDIR);
- push(@plugins, $self->handle_innerpackages($_)) for @{$self->{'search_path'}};
-
- # return blank unless we've found anything
- return () unless @plugins;
-
- # remove duplicates
- # probably not necessary but hey ho
- my %plugins;
- for(@plugins) {
- next unless $self->_is_legit($_);
- $plugins{$_} = 1;
- }
-
- # are we instantiating or requring?
- if (defined $self->{'instantiate'}) {
- my $method = $self->{'instantiate'};
- my @objs = ();
- foreach my $package (sort keys %plugins) {
- next unless $package->can($method);
- my $obj = eval { $package->$method(@_) };
- $self->{'on_instantiate_error'}->($package, $@) if $@;
- push @objs, $obj if $obj;
- }
- return @objs;
- } else {
- # no? just return the names
- my @objs= sort keys %plugins;
- return @objs;
- }
-}
-
-sub _setup_exceptions {
- my $self = shift;
-
- my %only;
- my %except;
- my $only;
- my $except;
-
- if (defined $self->{'only'}) {
- if (ref($self->{'only'}) eq 'ARRAY') {
- %only = map { $_ => 1 } @{$self->{'only'}};
- } elsif (ref($self->{'only'}) eq 'Regexp') {
- $only = $self->{'only'}
- } elsif (ref($self->{'only'}) eq '') {
- $only{$self->{'only'}} = 1;
- }
- }
-
-
- if (defined $self->{'except'}) {
- if (ref($self->{'except'}) eq 'ARRAY') {
- %except = map { $_ => 1 } @{$self->{'except'}};
- } elsif (ref($self->{'except'}) eq 'Regexp') {
- $except = $self->{'except'}
- } elsif (ref($self->{'except'}) eq '') {
- $except{$self->{'except'}} = 1;
- }
- }
- $self->{_exceptions}->{only_hash} = \%only;
- $self->{_exceptions}->{only} = $only;
- $self->{_exceptions}->{except_hash} = \%except;
- $self->{_exceptions}->{except} = $except;
-
-}
-
-sub _is_legit {
- my $self = shift;
- my $plugin = shift;
- my %only = %{$self->{_exceptions}->{only_hash}||{}};
- my %except = %{$self->{_exceptions}->{except_hash}||{}};
- my $only = $self->{_exceptions}->{only};
- my $except = $self->{_exceptions}->{except};
- my $depth = () = split '::', $plugin, -1;
-
- return 0 if (keys %only && !$only{$plugin} );
- return 0 unless (!defined $only || $plugin =~ m!$only! );
-
- return 0 if (keys %except && $except{$plugin} );
- return 0 if (defined $except && $plugin =~ m!$except! );
-
- return 0 if defined $self->{max_depth} && $depth>$self->{max_depth};
- return 0 if defined $self->{min_depth} && $depth<$self->{min_depth};
-
- return 1;
-}
-
-sub search_directories {
- my $self = shift;
- my @SEARCHDIR = @_;
-
- my @plugins;
- # go through our @INC
- foreach my $dir (@SEARCHDIR) {
- push @plugins, $self->search_paths($dir);
- }
- return @plugins;
-}
-
-
-sub search_paths {
- my $self = shift;
- my $dir = shift;
- my @plugins;
-
- my $file_regex = $self->{'file_regex'} || qr/\.pm$/;
-
-
- # and each directory in our search path
- foreach my $searchpath (@{$self->{'search_path'}}) {
- # create the search directory in a cross platform goodness way
- my $sp = catdir($dir, (split /::/, $searchpath));
-
- # if it doesn't exist or it's not a dir then skip it
- next unless ( -e $sp && -d _ ); # Use the cached stat the second time
-
- my @files = $self->find_files($sp);
-
- # foreach one we've found
- foreach my $file (@files) {
- # untaint the file; accept .pm only
- next unless ($file) = ($file =~ /(.*$file_regex)$/);
- # parse the file to get the name
- my ($name, $directory, $suffix) = fileparse($file, $file_regex);
-
- next if (!$self->{include_editor_junk} && $self->_is_editor_junk($name));
-
- $directory = abs2rel($directory, $sp);
-
- # If we have a mixed-case package name, assume case has been preserved
- # correctly. Otherwise, root through the file to locate the case-preserved
- # version of the package name.
- my @pkg_dirs = ();
- if ( $name eq lc($name) || $name eq uc($name) ) {
- my $pkg_file = catfile($sp, $directory, "$name$suffix");
- open PKGFILE, "<$pkg_file" or die "search_paths: Can't open $pkg_file: $!";
- my $in_pod = 0;
- while ( my $line = <PKGFILE> ) {
- $in_pod = 1 if $line =~ m/^=\w/;
- $in_pod = 0 if $line =~ /^=cut/;
- next if ($in_pod || $line =~ /^=cut/); # skip pod text
- next if $line =~ /^\s*#/; # and comments
- if ( $line =~ m/^\s*package\s+(.*::)?($name)\s*;/i ) {
- @pkg_dirs = split /::/, $1 if defined $1;;
- $name = $2;
- last;
- }
- }
- close PKGFILE;
- }
-
- # then create the class name in a cross platform way
- $directory =~ s/^[a-z]://i if($^O =~ /MSWin32|dos/); # remove volume
- my @dirs = ();
- if ($directory) {
- ($directory) = ($directory =~ /(.*)/);
- @dirs = grep(length($_), splitdir($directory))
- unless $directory eq curdir();
- for my $d (reverse @dirs) {
- my $pkg_dir = pop @pkg_dirs;
- last unless defined $pkg_dir;
- $d =~ s/\Q$pkg_dir\E/$pkg_dir/i; # Correct case
- }
- } else {
- $directory = "";
- }
- my $plugin = join '::', $searchpath, @dirs, $name;
-
- next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]!i;
-
- $self->handle_finding_plugin($plugin, \@plugins)
- }
-
- # now add stuff that may have been in package
- # NOTE we should probably use all the stuff we've been given already
- # but then we can't unload it :(
- push @plugins, $self->handle_innerpackages($searchpath);
- } # foreach $searchpath
-
- return @plugins;
-}
-
-sub _is_editor_junk {
- my $self = shift;
- my $name = shift;
-
- # Emacs (and other Unix-y editors) leave temp files ending in a
- # tilde as a backup.
- return 1 if $name =~ /~$/;
- # Emacs makes these files while a buffer is edited but not yet
- # saved.
- return 1 if $name =~ /^\.#/;
- # Vim can leave these files behind if it crashes.
- return 1 if $name =~ /\.sw[po]$/;
-
- return 0;
-}
-
-sub handle_finding_plugin {
- my $self = shift;
- my $plugin = shift;
- my $plugins = shift;
- my $no_req = shift || 0;
-
- return unless $self->_is_legit($plugin);
- unless (defined $self->{'instantiate'} || $self->{'require'}) {
- push @$plugins, $plugin;
- return;
- }
-
- $self->{before_require}->($plugin) || return if defined $self->{before_require};
- unless ($no_req) {
- my $tmp = $@;
- my $res = eval { $self->_require($plugin) };
- my $err = $@;
- $@ = $tmp;
- if ($err) {
- if (defined $self->{on_require_error}) {
- $self->{on_require_error}->($plugin, $err) || return;
- } else {
- return;
- }
- }
- }
- $self->{after_require}->($plugin) || return if defined $self->{after_require};
- push @$plugins, $plugin;
-}
-
-sub find_files {
- my $self = shift;
- my $search_path = shift;
- my $file_regex = $self->{'file_regex'} || qr/\.pm$/;
-
-
- # find all the .pm files in it
- # this isn't perfect and won't find multiple plugins per file
- #my $cwd = Cwd::getcwd;
- my @files = ();
- { # for the benefit of perl 5.6.1's Find, localize topic
- local $_;
- File::Find::find( { no_chdir => 1,
- follow => $self->{'follow_symlinks'},
- wanted => sub {
- # Inlined from File::Find::Rule C< name => '*.pm' >
- return unless $File::Find::name =~ /$file_regex/;
- (my $path = $File::Find::name) =~ s#^\\./##;
- push @files, $path;
- }
- }, $search_path );
- }
- #chdir $cwd;
- return @files;
-
-}
-
-sub handle_innerpackages {
- my $self = shift;
- return () if (exists $self->{inner} && !$self->{inner});
-
- my $path = shift;
- my @plugins;
-
- foreach my $plugin (Devel::InnerPackage::list_packages($path)) {
- $self->handle_finding_plugin($plugin, \@plugins, 1);
- }
- return @plugins;
-
-}
-
-
-sub _require {
- my $self = shift;
- my $pack = shift;
- eval "CORE::require $pack";
- die ($@) if $@;
- return 1;
-}
-
-
-1;
-
-=pod
-
-=head1 NAME
-
-Module::Pluggable::Object - automatically give your module the ability to have plugins
-
-=head1 SYNOPSIS
-
-
-Simple use Module::Pluggable -
-
- package MyClass;
- use Module::Pluggable::Object;
-
- my $finder = Module::Pluggable::Object->new(%opts);
- print "My plugins are: ".join(", ", $finder->plugins)."\n";
-
-=head1 DESCRIPTION
-
-Provides a simple but, hopefully, extensible way of having 'plugins' for
-your module. Obviously this isn't going to be the be all and end all of
-solutions but it works for me.
-
-Essentially all it does is export a method into your namespace that
-looks through a search path for .pm files and turn those into class names.
-
-Optionally it instantiates those classes for you.
-
-This object is wrapped by C<Module::Pluggable>. If you want to do something
-odd or add non-general special features you're probably best to wrap this
-and produce your own subclass.
-
-=head1 OPTIONS
-
-See the C<Module::Pluggable> docs.
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2006 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=head1 SEE ALSO
-
-L<Module::Pluggable>
-
-=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Mozilla/CA.pm b/Master/tlpkg/tlperl/lib/Mozilla/CA.pm
new file mode 100644
index 00000000000..050a494718b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Mozilla/CA.pm
@@ -0,0 +1,99 @@
+package Mozilla::CA;
+
+use strict;
+our $VERSION = '20141217';
+
+use Cwd ();
+use File::Spec ();
+use File::Basename qw(dirname);
+
+sub SSL_ca_file {
+ my $file = File::Spec->catfile(dirname(__FILE__), "CA", "cacert.pem");
+ if (!File::Spec->file_name_is_absolute($file)) {
+ $file = File::Spec->catfile(Cwd::cwd(), $file);
+ }
+ return $file;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Mozilla::CA - Mozilla's CA cert bundle in PEM format
+
+=head1 SYNOPSIS
+
+ use IO::Socket::SSL;
+ use Mozilla::CA;
+
+ my $host = "www.paypal.com";
+ my $client = IO::Socket::SSL->new(
+ PeerHost => "$host:443",
+ SSL_verify_mode => 0x02,
+ SSL_ca_file => Mozilla::CA::SSL_ca_file(),
+ )
+ || die "Can't connect: $@";
+
+ $client->verify_hostname($host, "http")
+ || die "hostname verification failure";
+
+=head1 DESCRIPTION
+
+Mozilla::CA provides a copy of Mozilla's bundle of Certificate Authority
+certificates in a form that can be consumed by modules and libraries
+based on OpenSSL.
+
+The module provide a single function:
+
+=over
+
+=item SSL_ca_file()
+
+Returns the absolute path to the Mozilla's CA cert bundle PEM file.
+
+=back
+
+=head1 SEE ALSO
+
+L<http://curl.haxx.se/docs/caextract.html>
+
+=head1 LICENSE
+
+For the bundled Mozilla CA PEM file the following applies:
+
+=over
+
+The contents of this file are subject to the Mozilla Public License Version
+1.1 (the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the Netscape security libraries.
+
+The Initial Developer of the Original Code is
+Netscape Communications Corporation.
+Portions created by the Initial Developer are Copyright (C) 1994-2000
+the Initial Developer. All Rights Reserved.
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+
+=back
+
+The Mozilla::CA distribution itself is available under the same license.
diff --git a/Master/tlpkg/tlperl/lib/Mozilla/CA/cacert.pem b/Master/tlpkg/tlperl/lib/Mozilla/CA/cacert.pem
new file mode 100644
index 00000000000..f860725b510
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Mozilla/CA/cacert.pem
@@ -0,0 +1,3894 @@
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla as of: Wed Dec 17 18:41:45 2014
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl version 1.25.
+## SHA1: c4540021427a6fa29e5f50db9f12d48c97d33889
+##
+
+
+GTE CyberTrust Global Root
+==========================
+-----BEGIN CERTIFICATE-----
+MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
+Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
+A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
+MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
+Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
+IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
+sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
+HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
+AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
+M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
+NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
+-----END CERTIFICATE-----
+
+Thawte Server CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
+AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
+b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
+BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
+c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
+A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
+ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
+/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
+1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
+GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
+GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
+-----END CERTIFICATE-----
+
+Thawte Premium Server CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
+AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
+ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
+AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
+VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
+aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
+cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
+aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
+Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
+qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
+SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
+8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
+UCemDaYj+bvLpgcUQg==
+-----END CERTIFICATE-----
+
+Equifax Secure CA
+=================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
+ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
+MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
+B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
+fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
+8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
+A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
+CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
+A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
+spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
+Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
+zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
+BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
+70+sB3c4
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G2
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
+FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
+lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
+MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
+1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
+Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
+-----END CERTIFICATE-----
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Verisign Class 4 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
+tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
+8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
+Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
+Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
+mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
+fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
+RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
+UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+Equifax Secure Global eBusiness CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
+bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
+HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
+b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
+PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
+qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
+hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
+BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
+MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
+I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
+NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
+-----END CERTIFICATE-----
+
+Equifax Secure eBusiness CA 1
+=============================
+-----BEGIN CERTIFICATE-----
+MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
+LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
+ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
+IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
+1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
+IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
+MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
+Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
+AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
+lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
+KpYrtWKmpj29f5JZzVoqgrI3eQ==
+-----END CERTIFICATE-----
+
+AddTrust Low-Value Services Root
+================================
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
+cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
+CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
+ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
+54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
+oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
+Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
+GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
+HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
+AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
+RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
+HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
+ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
+iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
+eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
+mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
+ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+AddTrust Public Services Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
+cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
+BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
+dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
+nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
+d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
+Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
+HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
+A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
+A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
+JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
+GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
+Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
+EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
+-----END CERTIFICATE-----
+
+AddTrust Qualified Certificates Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
+cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
+CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
+IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
+64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
+KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
+L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
+wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
+MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
+BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
+azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
+ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
+GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
+dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
+RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
+iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+RSA Security 2048 v3
+====================
+-----BEGIN CERTIFICATE-----
+MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
+ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
+MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
+BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
+Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
+WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
+KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
+FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
+v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
+0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
+VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
+nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
+pKnXwiJPZ9d37CAFYd4=
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Global CA 2
+====================
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
+MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
+NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
+LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
+Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
+HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
+MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
+K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
+srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
+ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
+OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
+x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
+H4z1Ir+rzoPz4iIprn2DQKi6bA==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
+v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
+DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
+sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
+8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
+AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
+o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
+GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
+VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
+3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
+Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
+sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
+fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
+f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
+qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
+RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
+gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
+6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
+FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
+Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
+B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
+aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
+AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
+T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
+JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
+zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
+ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
+1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
+GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
+Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
+cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
+-----END CERTIFICATE-----
+
+Visa eCommerce Root
+===================
+-----BEGIN CERTIFICATE-----
+MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
+EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
+QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
+WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
+VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
+bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
+F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
+RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
+TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
+/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
+GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
+CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
+YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
+zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
+YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
+398znM/jra6O1I7mT1GvFpLgXPYHDw==
+-----END CERTIFICATE-----
+
+Certum Root CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
+ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
+Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
+by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
+wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
+kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
+89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
+Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
+NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
+GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
+0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
+qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+Comodo Secure Services root
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
+MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
+Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
+BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
+9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
+rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
+oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
+p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
+FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
+YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
+aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
+4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
+Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
+DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
+pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
+RR3B7Hzs/Sk=
+-----END CERTIFICATE-----
+
+Comodo Trusted Services root
+============================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
+MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
+bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
+IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
+3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
+/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
+juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
+ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
+DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
+ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
+cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
+uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
+pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
+BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
+R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
+9y5Xt5hwXsjEeLBi
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
+ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
+XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
+lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
+lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
+lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
+66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
+wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
+D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
+BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
+J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
+DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
+a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
+ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
+Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
+UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
+VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
+IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
+WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
+f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
+4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
+VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
+OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
+DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
+KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
+DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
+BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
+p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
+nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
+MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
+Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
+uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
+BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
+YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
+aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
+BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
+VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
+ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
+AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
+qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
+hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
+POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
+Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
+8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
+bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
+g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
+vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
+qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA
+=============================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
+ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
+HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
+bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
+vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
+jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
+C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
+vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
+22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
+HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
+dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
+BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
+EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
+MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
+nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
+iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
+-----END CERTIFICATE-----
+
+UTN DATACorp SGC Root CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
+BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
+MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
+HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
+dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
+raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
+wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
+9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
+33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
+DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
+BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
+LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
+DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
+Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
+I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
+EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
+DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
+-----END CERTIFICATE-----
+
+UTN USERFirst Hardware Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
+BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
+OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
+eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
+ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
+wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
+tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
+i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
+Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
+gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
+lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
+UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
+BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
+//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
+XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
+lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
+iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
+nfhmqA==
+-----END CERTIFICATE-----
+
+Camerfirma Chambers of Commerce Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
+NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
+cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
+MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
+AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
+xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
+NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
+DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
+d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
+EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
+cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
+AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
+bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
+VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
+aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
+fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
+L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
+UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
+ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
+erfutGWaIZDgqtCYvDi1czyL+Nw=
+-----END CERTIFICATE-----
+
+Camerfirma Global Chambersign Root
+==================================
+-----BEGIN CERTIFICATE-----
+MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
+NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
+YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
+MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
+ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
+1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
+by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
+6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
+8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
+BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
+aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
+Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
+aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
+ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
+bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
+PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
+gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
+PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
+IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
+t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
+-----END CERTIFICATE-----
+
+NetLock Notary (Class A) Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
+EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
+dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
+ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
+DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
+EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
+VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
+cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
+D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
+z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
+/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
+tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
+4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
+A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
+Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
+bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
+IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
+LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
+ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
+IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
+IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
+b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
+bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
+Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
+bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
+ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
+ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
+CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
+KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
+8CgHrTwXZoi1/baI
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
+FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
+Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
+YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
+AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
+Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
+U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
+LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
+cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
+dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
+AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
+3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
+vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
+fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
+fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
+EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
+yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
+1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
+lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
+g14=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+Swisscom Root CA 1
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
+MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
+MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
+NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
+AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
+b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
+7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
+cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
+WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
+haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
+MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
+BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
+MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
+jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
+MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
+VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
+vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
+OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
+1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
+nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
+x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
+NY6E0F/6MBr1mmz0DlP5OlvRHA==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+Certplus Class 2 Primary CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
+BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
+OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
+dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
+5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
+Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
+YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
+e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
+CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
+YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
+L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
+P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
+TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
+7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
+//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
+l7+ijrRU
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+DST ACES CA X6
+==============
+-----BEGIN CERTIFICATE-----
+MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
+MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
+MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
+CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
+DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
+pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
+GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
+MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
+EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
+Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
+dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
+CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
+5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
+Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
+nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
+vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
+oKfN5XozNmr6mis=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 1
+==============================================
+-----BEGIN CERTIFICATE-----
+MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
+MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
+acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
+MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
+U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
+TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
+aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
+yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
+Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
+8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
+W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
+BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
+sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
+q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
+B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
+nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2
+==============================================
+-----BEGIN CERTIFICATE-----
+MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
+MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
+dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
+A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
+acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
+LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
+x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
+QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
+5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
+AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
+A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
+Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
+Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
+9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
+UrbnBEI=
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
+EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
+MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
+c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
+t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
+jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
+vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
+ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
+AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
+jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
+peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
+7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
+GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
+OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
+L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
+5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
+44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
+Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
+Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
+mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
+vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
+KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
+NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
+viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
+DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
+aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
+N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
+6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
+MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
+qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
+FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
+ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
+celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
+CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
+tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
+cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
+4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
+kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
+3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
+/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
+DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
+e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
+WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
+DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
+DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+WellsSecure Public Root Certificate Authority
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
+F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
+NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
+MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
+bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
+VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
+iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
+i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
+bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
+K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
+AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
+cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
+lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
+i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
+GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
+K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
+bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
+qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
+E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
+tylv2G0xffX8oRAHh84vWdw+WNs=
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+IGC/A
+=====
+-----BEGIN CERTIFICATE-----
+MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
+VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
+Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
+MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
+EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
+STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
+TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
+So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
+HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
+frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
+tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
+egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
+iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
+q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
+MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
+Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
+lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
+0mBWWg==
+-----END CERTIFICATE-----
+
+Security Communication EV RootCA1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
+BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
+Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
+/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
+WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
+ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
+bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
+9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
+SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
+iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
+Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
+mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
+T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
+BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
+EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
+MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
+dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
+GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
+d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
+oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
+QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
+PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
+MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
+IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
+VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
+LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
+dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
+AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
+4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
+AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
+egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
+Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
+PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
+c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
+cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
+IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
+WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
+MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
+MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
+Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
+HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
+nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
+aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
+86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
+yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
+S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 2 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
+MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
+IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
+xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
+Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
+SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
+dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
+KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
+TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
+JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
+vQ==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 3 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
+MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
+yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
+6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
+uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
+2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
+O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
+yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
+IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
+092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
+5A==
+-----END CERTIFICATE-----
+
+TC TrustCenter Universal CA I
+=============================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
+IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
+MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
+VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
+JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
+qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
+xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
+ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
+gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
+BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
+1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
+vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
+ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
+ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
+7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
+-----END CERTIFICATE-----
+
+Deutsche Telekom Root CA 2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
+RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
+A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
+MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
+A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
+b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
+bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
+KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
+AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
+Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
+jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
+HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
+E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
+zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
+rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
+dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
+Cm26OWMohpLzGITY+9HPBVZkVw==
+-----END CERTIFICATE-----
+
+ComSign Secured CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
+AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
+NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
+QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
+49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
+7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
+kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
+9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
+AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
+U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
+j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
+AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
+BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
+FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
+51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
+OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
+=============================================================================================================================
+-----BEGIN CERTIFICATE-----
+MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
+DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
+aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
+b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
+BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
+S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
+MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
+IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
+n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
+IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
+dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
+cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
+Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
+xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
+6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
+hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
+BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
+N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
+y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
+LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
+dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
+-----END CERTIFICATE-----
+
+Buypass Class 2 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
+MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
+cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
+0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
+0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
+uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
+1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
+7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
+fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
+wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
+-----END CERTIFICATE-----
+
+Buypass Class 3 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
+MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
+ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
+n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
+AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
+1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
+pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
+EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
+htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
+el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
+-----END CERTIFICATE-----
+
+EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
+==========================================================================
+-----BEGIN CERTIFICATE-----
+MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
+QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
+Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
+ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
+IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
+X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
+gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
+eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
+TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
+Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
+uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
+qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
+ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
+Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
+Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
+FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
+zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
+XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
+bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
+RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
+1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
+2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
+Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
+AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+CNNIC ROOT
+==========
+-----BEGIN CERTIFICATE-----
+MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
+ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
+OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
+o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
+VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
+VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
+czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
+y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
+wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
+lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
+Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
+O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
+BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
+G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
+mxE=
+-----END CERTIFICATE-----
+
+ApplicationCA - Japanese Government
+===================================
+-----BEGIN CERTIFICATE-----
+MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
+SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
+MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
+cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
+fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
+wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
+jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
+nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
+WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
+BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
+vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
+o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
+/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
+io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
+dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
+rosot4LKGAfmt1t06SAZf7IbiVQ=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+============================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
+5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
+vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
+CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
+e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
+OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
+CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
+48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
+trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
+qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
+AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
+ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
+HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
+A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
+f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
+kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
+CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
+URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
+CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
+oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
+IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
+66+KAQ==
+-----END CERTIFICATE-----
+
+CA Disig
+========
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
+QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
+MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
+bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
+GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
+Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
+hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
+ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
+gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
+AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
+aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
+ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
+BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
+WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
+mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
+CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
+ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
+4Z7CRneC9VkGjCFMhwnN5ag=
+-----END CERTIFICATE-----
+
+Juur-SK
+=======
+-----BEGIN CERTIFICATE-----
+MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
+c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
+DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
+SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
+aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
+TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
+UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
+Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
+MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
+HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
+AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
+cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
+AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
+cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
+FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
+A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
+ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
+abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
+IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
+Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
+yyqcjg==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+ACEDICOM Root
+=============
+-----BEGIN CERTIFICATE-----
+MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
+T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
+MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
+A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
+WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
+YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
+MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
+m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
+HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
+xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
+3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
+2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
+TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
+4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
+9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
+bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
+aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
+eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
+zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
+ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
+KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
+nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
+I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
+MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
+tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
+===================================================
+-----BEGIN CERTIFICATE-----
+MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
+ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
+MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
+cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
+aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
+8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
+jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
+JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
+9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
+SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
+F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
+D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
+Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
+fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
+EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
+MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
+QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
+03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
+ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
+PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
+OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
+F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
+0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
+leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
+AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
+NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
+MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
+Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
+kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
+hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
+g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
+aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
+nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
+ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
+Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
+WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+Certinomis - Autorité Racine
+=============================
+-----BEGIN CERTIFICATE-----
+MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
+LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
+A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
+JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
+wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
+Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
+2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
+jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
+c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
+lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
+xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
+530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
+4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
+A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
+KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
+WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
+R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
+nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
+CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
+JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
+qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
+WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
+wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
+vgt2Fl43N+bYdJeimUV5
+-----END CERTIFICATE-----
+
+Root CA Generalitat Valenciana
+==============================
+-----BEGIN CERTIFICATE-----
+MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
+ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
+IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
+WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
+CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
+F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
+ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
+D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
+JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
+AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
+dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
+ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
+AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
+YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
+AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
+aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
+AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
+YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
+AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
+OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
+dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
+BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
+A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
+b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
+TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
+Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
+NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
+iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
+-----END CERTIFICATE-----
+
+A-Trust-nQual-03
+================
+-----BEGIN CERTIFICATE-----
+MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
+Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
+a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
+dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
+RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
+ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
+c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
+zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
+yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
+SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
+iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
+cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
+eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
+ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
+sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
+JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
+mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
+ahq97BvIxYSazQ==
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
+VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
+Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
+dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
+c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
+bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
+aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
+L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
+cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
+fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
+N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
+Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
+tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
+e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
+2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
+HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
+JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
+D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority G2
+===================================
+-----BEGIN CERTIFICATE-----
+MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
+ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
+o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
+4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
+Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
+Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
+O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
+vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
+nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
+FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
+z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
+KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
+2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
+J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
+/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
+nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
+blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
+l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
+7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
+obp573PYtlNXLfbQ4ddI
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2007
+=================================================
+-----BEGIN CERTIFICATE-----
+MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
+DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
+a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
+YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
+KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
+KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
+rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
+AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
+Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
+aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
+Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
+BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
+poRq0Tl9
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+PSCProcert
+==========
+-----BEGIN CERTIFICATE-----
+MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
+ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
+MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
+dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
+cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
+IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
+MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
+DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
+ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
+Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
+wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
+3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
+RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
+EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
+0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
+0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
+td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
+Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
+r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
+AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
+Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
+xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
+ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
+EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
+Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
+ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
+9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
+MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
+LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
+ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
+YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
+Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
+dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
+T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
+g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
+uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
+n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
+FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
+5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
+3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
+poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
+eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
+-----END CERTIFICATE-----
+
+China Internet Network Information Center EV Certificates Root
+==============================================================
+-----BEGIN CERTIFICATE-----
+MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
+BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
+aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
+Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
+A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
+PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
+cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
+jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
+98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
+klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
+KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
+7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
+glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
+0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
+7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
+ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
+5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
+-----END CERTIFICATE-----
+
+Swisscom Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
+MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
+LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
+ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
+wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
+Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
+SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
+NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
+mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
+Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
+qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
+BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
+MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
+v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
+82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
+o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
+a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
+OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
+mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
++sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
+rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
+5OfNeOI5wSsSnqaeG8XmDtkx2Q==
+-----END CERTIFICATE-----
+
+Swisscom Root EV CA 2
+=====================
+-----BEGIN CERTIFICATE-----
+MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
+BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
+cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
+MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
+HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
+Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
+o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
+Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
+GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
+qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
+Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
+alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
+m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
+bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
+xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
+MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
+bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
+j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
+wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
+XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
+59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
+23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
+J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
+HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
+uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
+l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
+-----END CERTIFICATE-----
+
+CA Disig Root R1
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
+3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
+u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
+m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
+CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
+YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
+vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
+LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
+ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
+XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
+04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
+xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
+LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
+CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
+VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
+YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
+ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
+lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
+UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
+a7+h89n07eLw4+1knj0vllJPgFOL
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+WoSign
+======
+-----BEGIN CERTIFICATE-----
+MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
+QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
+BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
+vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
+CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
+2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
+KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
+EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
+lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
+8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
+yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
+AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
+8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
+LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
+T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
+y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
+2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
+5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
+EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
+mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
+kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
+kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
+-----END CERTIFICATE-----
+
+WoSign China
+============
+-----BEGIN CERTIFICATE-----
+MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
+geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD
+VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k
+8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5
+uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85
+dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5
+Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy
+b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc
+76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m
++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6
+yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX
+GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA
+A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6
+yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY
+r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115
+j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A
+kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97
+qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y
+jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB
+ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
+T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
+kI26oQ==
+-----END CERTIFICATE-----
diff --git a/Master/tlpkg/tlperl/lib/Mozilla/mk-ca-bundle.pl b/Master/tlpkg/tlperl/lib/Mozilla/mk-ca-bundle.pl
new file mode 100644
index 00000000000..c584ed3675d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Mozilla/mk-ca-bundle.pl
@@ -0,0 +1,495 @@
+#!/usr/bin/env perl
+# ***************************************************************************
+# * _ _ ____ _
+# * Project ___| | | | _ \| |
+# * / __| | | | |_) | |
+# * | (__| |_| | _ <| |___
+# * \___|\___/|_| \_\_____|
+# *
+# * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+# *
+# * This software is licensed as described in the file COPYING, which
+# * you should have received as part of this distribution. The terms
+# * are also available at http://curl.haxx.se/docs/copyright.html.
+# *
+# * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# * copies of the Software, and permit persons to whom the Software is
+# * furnished to do so, under the terms of the COPYING file.
+# *
+# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# * KIND, either express or implied.
+# *
+# ***************************************************************************
+# This Perl script creates a fresh ca-bundle.crt file for use with libcurl.
+# It downloads certdata.txt from Mozilla's source tree (see URL below),
+# then parses certdata.txt and extracts CA Root Certificates into PEM format.
+# These are then processed with the OpenSSL commandline tool to produce the
+# final ca-bundle.crt file.
+# The script is based on the parse-certs script written by Roland Krikava.
+# This Perl script works on almost any platform since its only external
+# dependency is the OpenSSL commandline tool for optional text listing.
+# Hacked by Guenter Knauf.
+#
+use warnings;
+use Getopt::Std;
+use MIME::Base64;
+use LWP::UserAgent;
+use strict;
+use vars qw($opt_b $opt_d $opt_f $opt_h $opt_i $opt_l $opt_n $opt_p $opt_q $opt_s $opt_t $opt_u $opt_v $opt_w);
+use List::Util;
+use Text::Wrap;
+my $MOD_SHA = "Digest::SHA";
+eval "require $MOD_SHA";
+if ($@) {
+ $MOD_SHA = "Digest::SHA::PurePerl";
+ eval "require $MOD_SHA";
+}
+
+my %urls = (
+ 'nss' =>
+ 'http://hg.mozilla.org/projects/nss/raw-file/tip/lib/ckfw/builtins/certdata.txt',
+ 'central' =>
+ 'http://hg.mozilla.org/mozilla-central/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt',
+ 'aurora' =>
+ 'http://hg.mozilla.org/releases/mozilla-aurora/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt',
+ 'beta' =>
+ 'http://hg.mozilla.org/releases/mozilla-beta/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt',
+ 'release' =>
+ 'http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt',
+);
+
+$opt_d = 'release';
+
+# If the OpenSSL commandline is not in search path you can configure it here!
+my $openssl = 'openssl';
+
+my $version = '1.25';
+
+$opt_w = 76; # default base64 encoded lines length
+
+# default cert types to include in the output (default is to include CAs which may issue SSL server certs)
+my $default_mozilla_trust_purposes = "SERVER_AUTH";
+my $default_mozilla_trust_levels = "TRUSTED_DELEGATOR";
+$opt_p = $default_mozilla_trust_purposes . ":" . $default_mozilla_trust_levels;
+
+my @valid_mozilla_trust_purposes = (
+ "DIGITAL_SIGNATURE",
+ "NON_REPUDIATION",
+ "KEY_ENCIPHERMENT",
+ "DATA_ENCIPHERMENT",
+ "KEY_AGREEMENT",
+ "KEY_CERT_SIGN",
+ "CRL_SIGN",
+ "SERVER_AUTH",
+ "CLIENT_AUTH",
+ "CODE_SIGNING",
+ "EMAIL_PROTECTION",
+ "IPSEC_END_SYSTEM",
+ "IPSEC_TUNNEL",
+ "IPSEC_USER",
+ "TIME_STAMPING",
+ "STEP_UP_APPROVED"
+);
+
+my @valid_mozilla_trust_levels = (
+ "TRUSTED_DELEGATOR", # CAs
+ "NOT_TRUSTED", # Don't trust these certs.
+ "MUST_VERIFY_TRUST", # This explicitly tells us that it ISN'T a CA but is otherwise ok. In other words, this should tell the app to ignore any other sources that claim this is a CA.
+ "TRUSTED" # This cert is trusted, but only for itself and not for delegates (i.e. it is not a CA).
+);
+
+my $default_signature_algorithms = $opt_s = "MD5";
+
+my @valid_signature_algorithms = (
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384",
+ "SHA512"
+);
+
+$0 =~ s@.*(/|\\)@@;
+$Getopt::Std::STANDARD_HELP_VERSION = 1;
+getopts('bd:fhilnp:qs:tuvw:');
+
+if(!defined($opt_d)) {
+ # to make plain "-d" use not cause warnings, and actually still work
+ $opt_d = 'release';
+}
+
+# Use predefined URL or else custom URL specified on command line.
+my $url = ( defined( $urls{$opt_d} ) ) ? $urls{$opt_d} : $opt_d;
+
+my $curl = `curl -V`;
+
+if ($opt_i) {
+ print ("=" x 78 . "\n");
+ print "Script Version : $version\n";
+ print "Perl Version : $]\n";
+ print "Operating System Name : $^O\n";
+ print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n";
+ print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n";
+ print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n";
+ print "LWP.pm Version : ${LWP::VERSION}\n";
+ print "Digest::SHA.pm Version : ${Digest::SHA::VERSION}\n" if ($Digest::SHA::VERSION);
+ print "Digest::SHA::PurePerl.pm Version : ${Digest::SHA::PurePerl::VERSION}\n" if ($Digest::SHA::PurePerl::VERSION);
+ print ("=" x 78 . "\n");
+}
+
+sub warning_message() {
+ if ( $opt_d =~ m/^risk$/i ) { # Long Form Warning and Exit
+ print "Warning: Use of this script may pose some risk:\n";
+ print "\n";
+ print " 1) Using http is subject to man in the middle attack of certdata content\n";
+ print " 2) Default to 'release', but more recent updates may be found in other trees\n";
+ print " 3) certdata.txt file format may change, lag time to update this script\n";
+ print " 4) Generally unwise to blindly trust CAs without manual review & verification\n";
+ print " 5) Mozilla apps use additional security checks aren't represented in certdata\n";
+ print " 6) Use of this script will make a security engineer grind his teeth and\n";
+ print " swear at you. ;)\n";
+ exit;
+ } else { # Short Form Warning
+ print "Warning: Use of this script may pose some risk, -d risk for more details.\n";
+ }
+}
+
+sub HELP_MESSAGE() {
+ print "Usage:\t${0} [-b] [-d<certdata>] [-f] [-i] [-l] [-n] [-p<purposes:levels>] [-q] [-s<algorithms>] [-t] [-u] [-v] [-w<l>] [<outputfile>]\n";
+ print "\t-b\tbackup an existing version of ca-bundle.crt\n";
+ print "\t-d\tspecify Mozilla tree to pull certdata.txt or custom URL\n";
+ print "\t\t Valid names are:\n";
+ print "\t\t ", join( ", ", map { ( $_ =~ m/$opt_d/ ) ? "$_ (default)" : "$_" } sort keys %urls ), "\n";
+ print "\t-f\tforce rebuild even if certdata.txt is current\n";
+ print "\t-i\tprint version info about used modules\n";
+ print "\t-l\tprint license info about certdata.txt\n";
+ print "\t-n\tno download of certdata.txt (to use existing)\n";
+ print wrap("\t","\t\t", "-p\tlist of Mozilla trust purposes and levels for certificates to include in output. Takes the form of a comma separated list of purposes, a colon, and a comma separated list of levels. (default: $default_mozilla_trust_purposes:$default_mozilla_trust_levels)"), "\n";
+ print "\t\t Valid purposes are:\n";
+ print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_mozilla_trust_purposes ) ), "\n";
+ print "\t\t Valid levels are:\n";
+ print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_mozilla_trust_levels ) ), "\n";
+ print "\t-q\tbe really quiet (no progress output at all)\n";
+ print wrap("\t","\t\t", "-s\tcomma separated list of certificate signatures/hashes to output in plain text mode. (default: $default_signature_algorithms)\n");
+ print "\t\t Valid signature algorithms are:\n";
+ print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_signature_algorithms ) ), "\n";
+ print "\t-t\tinclude plain text listing of certificates\n";
+ print "\t-u\tunlink (remove) certdata.txt after processing\n";
+ print "\t-v\tbe verbose and print out processed CAs\n";
+ print "\t-w <l>\twrap base64 output lines after <l> chars (default: ${opt_w})\n";
+ exit;
+}
+
+sub VERSION_MESSAGE() {
+ print "${0} version ${version} running Perl ${]} on ${^O}\n";
+}
+
+warning_message() unless ($opt_q || $url =~ m/^(ht|f)tps:/i );
+HELP_MESSAGE() if ($opt_h);
+
+sub is_in_list($@) {
+ my $target = shift;
+
+ return defined(List::Util::first { $target eq $_ } @_);
+}
+
+# Parses $param_string as a case insensitive comma separated list with optional whitespace
+# validates that only allowed parameters are supplied
+sub parse_csv_param($$@) {
+ my $description = shift;
+ my $param_string = shift;
+ my @valid_values = @_;
+
+ my @values = map {
+ s/^\s+//; # strip leading spaces
+ s/\s+$//; # strip trailing spaces
+ uc $_ # return the modified string as upper case
+ } split( ',', $param_string );
+
+ # Find all values which are not in the list of valid values or "ALL"
+ my @invalid = grep { !is_in_list($_,"ALL",@valid_values) } @values;
+
+ if ( scalar(@invalid) > 0 ) {
+ # Tell the user which parameters were invalid and print the standard help message which will exit
+ print "Error: Invalid ", $description, scalar(@invalid) == 1 ? ": " : "s: ", join( ", ", map { "\"$_\"" } @invalid ), "\n";
+ HELP_MESSAGE();
+ }
+
+ @values = @valid_values if ( is_in_list("ALL",@values) );
+
+ return @values;
+}
+
+sub sha1 {
+ my $result;
+ if ($Digest::SHA::VERSION || $Digest::SHA::PurePerl::VERSION) {
+ open(FILE, $_[0]) or die "Can't open '$_[0]': $!";
+ binmode(FILE);
+ $result = $MOD_SHA->new(1)->addfile(*FILE)->hexdigest;
+ close(FILE);
+ } else {
+ # Use OpenSSL command if Perl Digest::SHA modules not available
+ $result = (split(/ |\r|\n/,`$openssl dgst -sha1 $_[0]`))[1];
+ }
+ return $result;
+}
+
+
+sub oldsha1 {
+ my $sha1 = "";
+ open(C, "<$_[0]") || return 0;
+ while(<C>) {
+ chomp;
+ if($_ =~ /^\#\# SHA1: (.*)/) {
+ $sha1 = $1;
+ last;
+ }
+ }
+ close(C);
+ return $sha1;
+}
+
+if ( $opt_p !~ m/:/ ) {
+ print "Error: Mozilla trust identifier list must include both purposes and levels\n";
+ HELP_MESSAGE();
+}
+
+(my $included_mozilla_trust_purposes_string, my $included_mozilla_trust_levels_string) = split( ':', $opt_p );
+my @included_mozilla_trust_purposes = parse_csv_param( "trust purpose", $included_mozilla_trust_purposes_string, @valid_mozilla_trust_purposes );
+my @included_mozilla_trust_levels = parse_csv_param( "trust level", $included_mozilla_trust_levels_string, @valid_mozilla_trust_levels );
+
+my @included_signature_algorithms = parse_csv_param( "signature algorithm", $opt_s, @valid_signature_algorithms );
+
+sub should_output_cert(%) {
+ my %trust_purposes_by_level = @_;
+
+ foreach my $level (@included_mozilla_trust_levels) {
+ # for each level we want to output, see if any of our desired purposes are included
+ return 1 if ( defined( List::Util::first { is_in_list( $_, @included_mozilla_trust_purposes ) } @{$trust_purposes_by_level{$level}} ) );
+ }
+
+ return 0;
+}
+
+my $crt = $ARGV[0] || 'ca-bundle.crt';
+(my $txt = $url) =~ s@(.*/|\?.*)@@g;
+
+my $stdout = $crt eq '-';
+my $resp;
+my $fetched;
+
+my $oldsha1 = oldsha1($crt);
+
+print STDERR "SHA1 of old file: $oldsha1\n" if (!$opt_q);
+
+print STDERR "Downloading '$txt' ...\n" if (!$opt_q);
+
+if($curl && !$opt_n) {
+ my $https = $url;
+ $https =~ s/^http:/https:/;
+ print STDERR "Get certdata over HTTPS with curl!\n" if (!$opt_q);
+ my $quiet = $opt_q ? "-s" : "";
+ my @out = `curl -w %{response_code} $quiet -O $https`;
+ if(@out && $out[0] == 200) {
+ $fetched = 1;
+ } else {
+ print STDERR "Failed downloading HTTPS with curl, trying HTTP with LWP\n" if (!$opt_q);
+ }
+}
+
+unless ($fetched || ($opt_n and -e $txt)) {
+ my $ua = new LWP::UserAgent(agent => "$0/$version");
+ $ua->env_proxy();
+ $resp = $ua->mirror($url, $txt);
+ if ($resp && $resp->code eq '304') {
+ print STDERR "Not modified\n" unless $opt_q;
+ exit 0 if -e $crt && !$opt_f;
+ } else {
+ $fetched = 1;
+ }
+ if( !$resp || $resp->code !~ /^(?:200|304)$/ ) {
+ print STDERR "Unable to download latest data: "
+ . ($resp? $resp->code . ' - ' . $resp->message : "LWP failed") . "\n"
+ unless $opt_q;
+ exit 1 if -e $crt || ! -r $txt;
+ }
+}
+
+my $filedate = $resp ? $resp->last_modified : (stat($txt))[9];
+my $datesrc = "as of";
+if(!$filedate) {
+ # mxr.mozilla.org gave us a time, hg.mozilla.org does not!
+ $filedate = time();
+ $datesrc="downloaded on";
+}
+
+# get the hash from the download file
+my $newsha1= sha1($txt);
+
+if(!$opt_f && $oldsha1 eq $newsha1) {
+ print STDERR "Downloaded file identical to previous run\'s source file. Exiting\n";
+ exit;
+}
+
+print STDERR "SHA1 of new file: $newsha1\n";
+
+my $currentdate = scalar gmtime($filedate);
+
+my $format = $opt_t ? "plain text and " : "";
+if( $stdout ) {
+ open(CRT, '> -') or die "Couldn't open STDOUT: $!\n";
+} else {
+ open(CRT,">$crt.~") or die "Couldn't open $crt.~: $!\n";
+}
+print CRT <<EOT;
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla ${datesrc}: ${currentdate}
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## ${url}
+##
+## It contains the certificates in ${format}PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl version $version.
+## SHA1: $newsha1
+##
+
+EOT
+
+print STDERR "Processing '$txt' ...\n" if (!$opt_q);
+my $caname;
+my $certnum = 0;
+my $skipnum = 0;
+my $start_of_cert = 0;
+
+open(TXT,"$txt") or die "Couldn't open $txt: $!\n";
+while (<TXT>) {
+ if (/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) {
+ print CRT;
+ print if ($opt_l);
+ while (<TXT>) {
+ print CRT;
+ print if ($opt_l);
+ last if (/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/);
+ }
+ }
+ next if /^#|^\s*$/;
+ chomp;
+ if (/^CVS_ID\s+\"(.*)\"/) {
+ print CRT "# $1\n";
+ }
+
+ # this is a match for the start of a certificate
+ if (/^CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE/) {
+ $start_of_cert = 1
+ }
+ if ($start_of_cert && /^CKA_LABEL UTF8 \"(.*)\"/) {
+ $caname = $1;
+ }
+ my %trust_purposes_by_level;
+ if ($start_of_cert && /^CKA_VALUE MULTILINE_OCTAL/) {
+ my $data;
+ while (<TXT>) {
+ last if (/^END/);
+ chomp;
+ my @octets = split(/\\/);
+ shift @octets;
+ for (@octets) {
+ $data .= chr(oct);
+ }
+ }
+ # scan forwards until the trust part
+ while (<TXT>) {
+ last if (/^CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST/);
+ chomp;
+ }
+ # now scan the trust part to determine how we should trust this cert
+ while (<TXT>) {
+ last if (/^#/);
+ if (/^CKA_TRUST_([A-Z_]+)\s+CK_TRUST\s+CKT_NSS_([A-Z_]+)\s*$/) {
+ if ( !is_in_list($1,@valid_mozilla_trust_purposes) ) {
+ print STDERR "Warning: Unrecognized trust purpose for cert: $caname. Trust purpose: $1. Trust Level: $2\n" if (!$opt_q);
+ } elsif ( !is_in_list($2,@valid_mozilla_trust_levels) ) {
+ print STDERR "Warning: Unrecognized trust level for cert: $caname. Trust purpose: $1. Trust Level: $2\n" if (!$opt_q);
+ } else {
+ push @{$trust_purposes_by_level{$2}}, $1;
+ }
+ }
+ }
+
+ if ( !should_output_cert(%trust_purposes_by_level) ) {
+ $skipnum ++;
+ } else {
+ my $encoded = MIME::Base64::encode_base64($data, '');
+ $encoded =~ s/(.{1,${opt_w}})/$1\n/g;
+ my $pem = "-----BEGIN CERTIFICATE-----\n"
+ . $encoded
+ . "-----END CERTIFICATE-----\n";
+ print CRT "\n$caname\n";
+
+ my $maxStringLength = length($caname);
+ if ($opt_t) {
+ foreach my $key (keys %trust_purposes_by_level) {
+ my $string = $key . ": " . join(", ", @{$trust_purposes_by_level{$key}});
+ $maxStringLength = List::Util::max( length($string), $maxStringLength );
+ print CRT $string . "\n";
+ }
+ }
+ print CRT ("=" x $maxStringLength . "\n");
+ if (!$opt_t) {
+ print CRT $pem;
+ } else {
+ my $pipe = "";
+ foreach my $hash (@included_signature_algorithms) {
+ $pipe = "|$openssl x509 -" . $hash . " -fingerprint -noout -inform PEM";
+ if (!$stdout) {
+ $pipe .= " >> $crt.~";
+ close(CRT) or die "Couldn't close $crt.~: $!";
+ }
+ open(TMP, $pipe) or die "Couldn't open openssl pipe: $!";
+ print TMP $pem;
+ close(TMP) or die "Couldn't close openssl pipe: $!";
+ if (!$stdout) {
+ open(CRT, ">>$crt.~") or die "Couldn't open $crt.~: $!";
+ }
+ }
+ $pipe = "|$openssl x509 -text -inform PEM";
+ if (!$stdout) {
+ $pipe .= " >> $crt.~";
+ close(CRT) or die "Couldn't close $crt.~: $!";
+ }
+ open(TMP, $pipe) or die "Couldn't open openssl pipe: $!";
+ print TMP $pem;
+ close(TMP) or die "Couldn't close openssl pipe: $!";
+ if (!$stdout) {
+ open(CRT, ">>$crt.~") or die "Couldn't open $crt.~: $!";
+ }
+ }
+ print STDERR "Parsing: $caname\n" if ($opt_v);
+ $certnum ++;
+ $start_of_cert = 0;
+ }
+ }
+}
+close(TXT) or die "Couldn't close $txt: $!\n";
+close(CRT) or die "Couldn't close $crt.~: $!\n";
+unless( $stdout ) {
+ if ($opt_b && -e $crt) {
+ my $bk = 1;
+ while (-e "$crt.~${bk}~") {
+ $bk++;
+ }
+ rename $crt, "$crt.~${bk}~" or die "Failed to create backup $crt.~$bk}~: $!\n";
+ } elsif( -e $crt ) {
+ unlink( $crt ) or die "Failed to remove $crt: $!\n";
+ }
+ rename "$crt.~", $crt or die "Failed to rename $crt.~ to $crt: $!\n";
+}
+unlink $txt if ($opt_u);
+print STDERR "Done ($certnum CA certs processed, $skipnum skipped).\n" if (!$opt_q);
diff --git a/Master/tlpkg/tlperl/lib/Net/Cmd.pm b/Master/tlpkg/tlperl/lib/Net/Cmd.pm
index 4f0e4449f80..d1a1fed8af2 100644
--- a/Master/tlpkg/tlperl/lib/Net/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Cmd.pm
@@ -37,7 +37,7 @@ BEGIN {
}
}
-$VERSION = "2.29";
+$VERSION = "2.30";
@ISA = qw(Exporter);
@EXPORT = qw(CMD_INFO CMD_OK CMD_MORE CMD_REJECT CMD_ERROR CMD_PENDING);
@@ -353,6 +353,7 @@ sub response {
($code, $more) = $cmd->parse_response($str);
unless (defined $code) {
$cmd->ungetline($str);
+ $@ = $str; # $@ used as tunneling hack
last;
}
@@ -363,6 +364,7 @@ sub response {
last unless ($more);
}
+ return undef unless defined $code;
substr($code, 0, 1);
}
@@ -406,6 +408,8 @@ sub datasend {
return 0 unless defined(fileno($cmd));
my $last_ch = ${*$cmd}{'net_cmd_last_ch'};
+
+ # We have not send anything yet, so last_ch = "\012" means we are at the start of a line
$last_ch = ${*$cmd}{'net_cmd_last_ch'} = "\012" unless defined $last_ch;
return 1 unless length $line;
@@ -421,9 +425,13 @@ sub datasend {
my $first_ch = '';
if ($last_ch eq "\015") {
- $first_ch = "\012" if $line =~ s/^\012//;
+ # Remove \012 so it does not get prefixed with another \015 below
+ # and escape the . if there is one following it because the fixup
+ # below will not find it
+ $first_ch = "\012" if $line =~ s/^\012(\.?)/$1$1/;
}
elsif ($last_ch eq "\012") {
+ # Fixup below will not find the . as the first character of the buffer
$first_ch = "." if $line =~ /^\./;
}
@@ -649,7 +657,9 @@ debug level for a given class.
=item message ()
-Returns the text message returned from the last command
+Returns the text message returned from the last command. In a scalar
+context it returns a single string, in a list context it will return
+each line as a separate element
=item code ()
diff --git a/Master/tlpkg/tlperl/lib/Net/Config.pm b/Master/tlpkg/tlperl/lib/Net/Config.pm
index db51c1fc0d2..ba163321805 100644
--- a/Master/tlpkg/tlperl/lib/Net/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Config.pm
@@ -13,7 +13,7 @@ use strict;
@EXPORT = qw(%NetConfig);
@ISA = qw(Net::LocalCfg Exporter);
-$VERSION = "1.11";
+$VERSION = "1.13";
eval { local $SIG{__DIE__}; require Net::LocalCfg };
@@ -213,23 +213,23 @@ sequence of commands that Net::FTP will use
=over 4
-=item 0
+=item 0Z<>
There is no firewall
-=item 1
+=item 1Z<>
USER user@remote.host
PASS pass
-=item 2
+=item 2Z<>
USER fwuser
PASS fwpass
USER user@remote.host
PASS pass
-=item 3
+=item 3Z<>
USER fwuser
PASS fwpass
@@ -237,7 +237,7 @@ There is no firewall
USER user
PASS pass
-=item 4
+=item 4Z<>
USER fwuser
PASS fwpass
@@ -245,19 +245,19 @@ There is no firewall
USER user
PASS pass
-=item 5
+=item 5Z<>
USER user@fwuser@remote.site
PASS pass@fwpass
-=item 6
+=item 6Z<>
USER fwuser@remote.site
PASS fwpass
USER user
PASS pass
-=item 7
+=item 7Z<>
USER user@remote.host
PASS pass
@@ -274,7 +274,7 @@ FTP servers can work in passive or active mode. Active mode is when
you want to transfer data you have to tell the server the address and
port to connect to. Passive mode is when the server provide the
address and port and you establish the connection.
-
+
With some firewalls active mode does not work as the server cannot
connect to your machine (because you are behind a firewall) and the firewall
does not re-write the command. In this case you should set C<ftp_ext_passive>
diff --git a/Master/tlpkg/tlperl/lib/Net/Domain.pm b/Master/tlpkg/tlperl/lib/Net/Domain.pm
index 330909da49d..5b964c3d5fa 100644
--- a/Master/tlpkg/tlperl/lib/Net/Domain.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Domain.pm
@@ -16,7 +16,7 @@ use Net::Config;
@ISA = qw(Exporter);
@EXPORT_OK = qw(hostname hostdomain hostfqdn domainname);
-$VERSION = "2.20";
+$VERSION = "2.23";
my ($host, $domain, $fqdn) = (undef, undef, undef);
@@ -169,7 +169,7 @@ sub _hostdomain {
}
chop($dom = `domainname 2>/dev/null`)
- unless (defined $dom || $^O =~ /^(?:cygwin|MSWin32)/);
+ unless (defined $dom || $^O =~ /^(?:cygwin|MSWin32|android)/);
if (defined $dom) {
my @h = ();
@@ -222,12 +222,19 @@ sub domainname {
if (defined $fqdn);
_hostname();
+
+ # *.local names are special on darwin. If we call gethostbyname below, it
+ # may hang while waiting for another, non-existent computer to respond.
+ if($^O eq 'darwin' && $host =~ /\.local$/) {
+ return $host;
+ }
+
_hostdomain();
# Assumption: If the host name does not contain a period
# and the domain name does, then assume that they are correct
# this helps to eliminate calls to gethostbyname, and therefore
- # eleminate DNS lookups
+ # eliminate DNS lookups
return $fqdn = $host . "." . $domain
if (defined $host
diff --git a/Master/tlpkg/tlperl/lib/Net/FTP.pm b/Master/tlpkg/tlperl/lib/Net/FTP.pm
index 9ed6d385d9c..8107ef77e65 100644
--- a/Master/tlpkg/tlperl/lib/Net/FTP.pm
+++ b/Master/tlpkg/tlperl/lib/Net/FTP.pm
@@ -21,11 +21,11 @@ use Net::Cmd;
use Net::Config;
use Fcntl qw(O_WRONLY O_RDONLY O_APPEND O_CREAT O_TRUNC);
-$VERSION = '2.77';
+$VERSION = '2.79';
@ISA = qw(Exporter Net::Cmd IO::Socket::INET);
# Someday I will "use constant", when I am not bothered to much about
-# compatability with older releases of perl
+# compatibility with older releases of perl
use vars qw($TELNET_IAC $TELNET_IP $TELNET_DM);
($TELNET_IAC, $TELNET_IP, $TELNET_DM) = (255, 244, 242);
@@ -107,7 +107,8 @@ sub new {
unless ($ftp->response() == CMD_OK) {
$ftp->close();
- $@ = $ftp->message;
+ # keep @$ if no message. Happens, when response did not start with a code.
+ $@ = $ftp->message || $@;
undef $ftp;
}
@@ -124,6 +125,12 @@ sub host {
${*$me}{'net_ftp_host'};
}
+sub passive {
+ my $ftp = shift;
+ return ${*$ftp}{'net_ftp_passive'} unless @_;
+ ${*$ftp}{'net_ftp_passive'} = shift;
+}
+
sub hash {
my $ftp = shift; # self
@@ -583,6 +590,9 @@ sub rmdir {
return undef
unless @filelist; # failed, it is probably not a directory
+ return $ftp->delete($dir)
+ if @filelist == 1 and $dir eq $filelist[0];
+
# Go thru and delete each file or the directory
my $file;
foreach $file (map { m,/, ? $_ : "$dir/$_" } @filelist) {
@@ -688,7 +698,7 @@ sub _store_cmd {
my $localfd = ref($local) || ref(\$local) eq "GLOB";
- unless (defined $remote) {
+ if (!defined($remote) and 'STOU' ne uc($cmd)) {
croak 'Must specify remote filename with stream input'
if $localfd;
@@ -705,10 +715,10 @@ sub _store_cmd {
# a pipe, or device) and if so get the file size from stat, and send
# an ALLO command before sending the STOR, STOU, or APPE command.
my $size = do { local $^W; -f $local && -s _ }; # no ALLO if sending data from a pipe
- $ftp->_ALLO($size) if $size;
+ ${*$ftp}{'net_ftp_allo'} = $size if $size;
}
croak("Bad remote filename '$remote'\n")
- if $remote =~ /[\r\n]/s;
+ if defined($remote) and $remote =~ /[\r\n]/s;
if ($localfd) {
$loc = $local;
@@ -730,10 +740,10 @@ sub _store_cmd {
delete ${*$ftp}{'net_ftp_port'};
delete ${*$ftp}{'net_ftp_pasv'};
- $sock = $ftp->_data_cmd($cmd, $remote)
+ $sock = $ftp->_data_cmd($cmd, grep { defined } $remote)
or return undef;
- $remote = ($ftp->message =~ /FILE:\s*(.*)/)[0]
+ $remote = ($ftp->message =~ /\w+\s*:\s*(.*)/)[0]
if 'STOU' eq uc $cmd;
my $blksize = ${*$ftp}{'net_ftp_blksize'};
@@ -852,6 +862,9 @@ sub supported {
return $hash->{$cmd}
if exists $hash->{$cmd};
+ return $hash->{$cmd} = 1
+ if $ftp->feature($cmd);
+
return $hash->{$cmd} = 0
unless $ftp->_HELP($cmd);
@@ -930,7 +943,8 @@ sub _dataconn {
PeerAddr => join(".", @port[0 .. 3]),
PeerPort => $port[4] * 256 + $port[5],
LocalAddr => ${*$ftp}{'net_ftp_localaddr'},
- Proto => 'tcp'
+ Proto => 'tcp',
+ Timeout => $ftp->timeout
);
}
elsif (defined ${*$ftp}{'net_ftp_listen'}) {
@@ -1005,22 +1019,24 @@ sub _data_cmd {
{
my $data = undef;
- $ok = defined $ftp->pasv;
- $ok = $ftp->_REST($where)
- if $ok && $where;
-
- if ($ok) {
- $ftp->command($cmd, @_);
- $data = $ftp->_dataconn();
- $ok = CMD_INFO == $ftp->response();
- if ($ok) {
- $data->reading
- if $data && $cmd =~ /RETR|LIST|NLST/;
- return $data;
- }
- $data->_close
- if $data;
+ return undef unless defined $ftp->pasv;
+ $data = $ftp->_dataconn() or return undef;
+
+ if ($where and !$ftp->_REST($where)) {
+ my ($status, $message) = ($ftp->status, $ftp->message);
+ $ftp->abort;
+ $ftp->set_status($status, $message);
+ return undef;
+ }
+
+ $ftp->command($cmd, @_);
+ if (CMD_INFO == $ftp->response()) {
+ $data->reading
+ if $cmd =~ /RETR|LIST|NLST/;
+ return $data;
}
+ $data->_close;
+
return undef;
}
@@ -1034,6 +1050,11 @@ sub _data_cmd {
return undef
unless $ok;
+ if ($cmd =~ /(STOR|APPE|STOU)/ and exists ${*$ftp}{net_ftp_allo}) {
+ $ftp->_ALLO(delete ${*$ftp}{net_ftp_allo})
+ or return undef;
+ }
+
$ftp->command($cmd, @_);
return 1
@@ -1077,7 +1098,7 @@ sub command {
sub response {
my $ftp = shift;
- my $code = $ftp->SUPER::response();
+ my $code = $ftp->SUPER::response() || 5; # assume 500 if undef
delete ${*$ftp}{'net_ftp_pasv'}
if ($code != CMD_MORE && $code != CMD_INFO);
@@ -1093,8 +1114,9 @@ sub parse_response {
my $ftp = shift;
# Darn MS FTP server is a load of CRAP !!!!
+ # Expect to see undef here.
return ()
- unless ${*$ftp}{'net_cmd_code'} + 0;
+ unless 0 + (${*$ftp}{'net_cmd_code'} || 0);
(${*$ftp}{'net_cmd_code'}, 1);
}
@@ -1145,8 +1167,11 @@ sub pasv_wait {
vec($rin = '', fileno($ftp), 1) = 1;
select($rout = $rin, undef, undef, undef);
- $ftp->response();
- $non_pasv->response();
+ my $dres = $ftp->response();
+ my $sres = $non_pasv->response();
+
+ return undef
+ unless $dres == CMD_OK && $sres == CMD_OK;
return undef
unless $ftp->ok() && $non_pasv->ok();
@@ -1276,6 +1301,8 @@ C<Net::FTP> is a class implementing a simple FTP client in Perl as
described in RFC959. It provides wrappers for a subset of the RFC959
commands.
+The Net::FTP class is a subclass of Net::Cmd and IO::Socket::INET.
+
=head1 OVERVIEW
FTP stands for File Transfer Protocol. It is a way of transferring
@@ -1344,7 +1371,7 @@ transfers. (defaults to 10240)
B<Port> - The port number to connect to on the remote machine for the
FTP connection
-B<Timeout> - Set a timeout value (defaults to 120)
+B<Timeout> - Set a timeout value in seconds (defaults to 120)
B<Debug> - debug level (see the debug method in L<Net::Cmd>)
@@ -1382,6 +1409,10 @@ value, with I<true> meaning that the operation was a success. When a method
states that it returns a value, failure will be returned as I<undef> or an
empty list.
+C<Net::FTP> inherits from C<Net::Cmd> so methods defined in C<Net::Cmd> may
+be used to send commands to the remote FTP server in addition to the methods
+documented here.
+
=over 4
=item login ([LOGIN [,PASSWORD [, ACCOUNT] ] ])
@@ -1439,6 +1470,10 @@ to change the directory to the root directory.
Change directory to the parent of the current directory.
+=item passive ( [ PASSIVE ] )
+
+Set or get if data connections will be initiated in passive mode.
+
=item pwd ()
Returns the full pathname of the current directory.
@@ -1676,9 +1711,6 @@ Send the QUIT command to the remote FTP server and close the socket connection.
=head2 Methods for the adventurous
-C<Net::FTP> inherits from C<Net::Cmd> so methods defined in C<Net::Cmd> may
-be used to send commands to the remote FTP server.
-
=over 4
=item quot (CMD [,ARGS])
@@ -1796,7 +1828,7 @@ L<Net::Netrc>
L<Net::Cmd>
ftp(1), ftpd(8), RFC 959
-http://www.cis.ohio-state.edu/htbin/rfc/rfc959.html
+http://www.ietf.org/rfc/rfc959.txt
=head1 USE EXAMPLES
diff --git a/Master/tlpkg/tlperl/lib/Net/FTP/A.pm b/Master/tlpkg/tlperl/lib/Net/FTP/A.pm
index 427d02b19e9..c117d6937d4 100644
--- a/Master/tlpkg/tlperl/lib/Net/FTP/A.pm
+++ b/Master/tlpkg/tlperl/lib/Net/FTP/A.pm
@@ -10,7 +10,7 @@ use Carp;
require Net::FTP::dataconn;
@ISA = qw(Net::FTP::dataconn);
-$VERSION = "1.18";
+$VERSION = "1.19";
sub read {
@@ -77,8 +77,8 @@ sub write {
my $timeout = @_ ? shift: $data->timeout;
my $nr = (my $tmp = substr($buf, 0, $size)) =~ tr/\r\n/\015\012/;
- $tmp =~ s/([^\015])\012/$1\015\012/sg if $nr;
- $tmp =~ s/^\012/\015\012/ unless ${*$data}{'net_ftp_outcr'};
+ $tmp =~ s/(?<!\015)\012/\015\012/sg if $nr;
+ $tmp =~ s/^\015// if ${*$data}{'net_ftp_outcr'};
${*$data}{'net_ftp_outcr'} = substr($tmp, -1) eq "\015";
# If the remote server has closed the connection we will be signal'd
diff --git a/Master/tlpkg/tlperl/lib/Net/FTP/dataconn.pm b/Master/tlpkg/tlperl/lib/Net/FTP/dataconn.pm
index e7645cbd930..3f9366894d1 100644
--- a/Master/tlpkg/tlperl/lib/Net/FTP/dataconn.pm
+++ b/Master/tlpkg/tlperl/lib/Net/FTP/dataconn.pm
@@ -9,7 +9,7 @@ use vars qw(@ISA $timeout $VERSION);
use Net::Cmd;
use Errno;
-$VERSION = '0.11';
+$VERSION = '0.12';
@ISA = qw(IO::Socket::INET);
@@ -27,7 +27,7 @@ sub abort {
return $data->close
if ${*$data}{'net_ftp_eof'};
- # for some reason if we continously open RETR connections and not
+ # for some reason if we continuously open RETR connections and not
# read a single byte, then abort them after a while the server will
# close our connection, this prevents the unexpected EOF on the
# command channel -- GMB
@@ -52,7 +52,8 @@ sub _close {
$data->SUPER::close();
delete ${*$ftp}{'net_ftp_dataconn'}
- if exists ${*$ftp}{'net_ftp_dataconn'}
+ if defined $ftp
+ && exists ${*$ftp}{'net_ftp_dataconn'}
&& $data == ${*$ftp}{'net_ftp_dataconn'};
}
@@ -63,12 +64,14 @@ sub close {
if (exists ${*$data}{'net_ftp_bytesread'} && !${*$data}{'net_ftp_eof'}) {
my $junk;
- $data->read($junk, 1, 0);
+ eval { local($SIG{__DIE__}); $data->read($junk, 1, 0) };
return $data->abort unless ${*$data}{'net_ftp_eof'};
}
$data->_close;
+ return unless defined $ftp;
+
$ftp->response() == CMD_OK
&& $ftp->message =~ /unique file name:\s*(\S*)\s*\)/
&& (${*$ftp}{'net_ftp_unique'} = $1);
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTP.pm b/Master/tlpkg/tlperl/lib/Net/HTTP.pm
index 919e591e16c..613bc9599e3 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTP.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTP.pm
@@ -3,10 +3,19 @@ package Net::HTTP;
use strict;
use vars qw($VERSION @ISA $SOCKET_CLASS);
-$VERSION = "6.06";
+$VERSION = "6.07";
unless ($SOCKET_CLASS) {
- eval { require IO::Socket::INET } || require IO::Socket;
- $SOCKET_CLASS = "IO::Socket::INET";
+ # Try several, in order of capability and preference
+ if (eval { require IO::Socket::IP }) {
+ $SOCKET_CLASS = "IO::Socket::IP"; # IPv4+IPv6
+ } elsif (eval { require IO::Socket::INET6 }) {
+ $SOCKET_CLASS = "IO::Socket::INET6"; # IPv4+IPv6
+ } elsif (eval { require IO::Socket::INET }) {
+ $SOCKET_CLASS = "IO::Socket::INET"; # IPv4 only
+ } else {
+ require IO::Socket;
+ $SOCKET_CLASS = "IO::Socket::INET";
+ }
}
require Net::HTTP::Methods;
require Carp;
@@ -59,10 +68,11 @@ C<Net::HTTP> class represents a connection to an HTTP server. The
HTTP protocol is described in RFC 2616. The C<Net::HTTP> class
supports C<HTTP/1.0> and C<HTTP/1.1>.
-C<Net::HTTP> is a sub-class of C<IO::Socket::INET>. You can mix the
-methods described below with reading and writing from the socket
-directly. This is not necessary a good idea, unless you know what you
-are doing.
+C<Net::HTTP> is a sub-class of one of C<IO::Socket::IP> (IPv6+IPv4),
+C<IO::Socket::INET6> (IPv6+IPv4), or C<IO::Socket::INET> (IPv4 only).
+You can mix the methods described below with reading and writing from the
+socket directly. This is not necessary a good idea, unless you know what
+you are doing.
The following methods are provided (in addition to those of
C<IO::Socket::INET>):
@@ -84,6 +94,9 @@ C<IO::Socket::INET>'s as well as these:
The C<Host> option is also the default for C<IO::Socket::INET>'s
C<PeerAddr>. The C<PeerPort> defaults to 80 if not provided.
+The C<PeerPort> specification can also be embedded in the C<PeerAddr>
+by preceding it with a ":", and closing the IPv6 address on bracktes "[]" if
+necessary: "192.0.2.1:80","[2001:db8::1]:80","any.example.com:80".
The C<Listen> option provided by C<IO::Socket::INET>'s constructor
method is not allowed.
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm b/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
index 98b58c54907..e92d9de7ae5 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
@@ -4,8 +4,9 @@ require 5.005; # 4-arg substr
use strict;
use vars qw($VERSION);
+use URI;
-$VERSION = "6.06";
+$VERSION = "6.07";
my $CRLF = "\015\012"; # "\r\n" is not portable
@@ -44,20 +45,30 @@ sub http_configure {
$cnf->{PeerAddr} = $peer = $host;
}
- if ($peer =~ s,:(\d+)$,,) {
- $cnf->{PeerPort} = int($1); # always override
- }
- if (!$cnf->{PeerPort}) {
- $cnf->{PeerPort} = $self->http_default_port;
- }
-
- if (!$explict_host) {
- $host = $peer;
- $host =~ s/:.*//;
- }
- if ($host && $host !~ /:/) {
- my $p = $cnf->{PeerPort};
- $host .= ":$p" if $p != $self->http_default_port;
+ # CONNECTIONS
+ # PREFER: port number from PeerAddr, then PeerPort, then http_default_port
+ my $peer_uri = URI->new("http://$peer");
+ $cnf->{"PeerPort"} = $peer_uri->_port || $cnf->{PeerPort} || $self->http_default_port;
+ $cnf->{"PeerAddr"} = $peer_uri->host;
+
+ # HOST header:
+ # If specified but blank, ignore.
+ # If specified with a value, add the port number
+ # If not specified, set to PeerAddr and port number
+ # ALWAYS: If IPv6 address, use [brackets] (thanks to the URI package)
+ # ALWAYS: omit port number if http_default_port
+ if (($host) || (! $explict_host)) {
+ my $uri = ($explict_host) ? URI->new("http://$host") : $peer_uri->clone;
+ if (!$uri->_port) {
+ # Always use *our* $self->http_default_port instead of URI's (Covers HTTP, HTTPS)
+ $uri->port( $cnf->{PeerPort} || $self->http_default_port);
+ }
+ my $host_port = $uri->host_port; # Returns host:port or [ipv6]:port
+ my $remove = ":" . $self->http_default_port; # we want to remove the default port number
+ if (substr($host_port,0-length($remove)) eq $remove) {
+ substr($host_port,0-length($remove)) = "";
+ }
+ $host = $host_port;
}
$cnf->{Proto} = 'tcp';
diff --git a/Master/tlpkg/tlperl/lib/Net/NNTP.pm b/Master/tlpkg/tlperl/lib/Net/NNTP.pm
index a742aed04c8..07c373776e9 100644
--- a/Master/tlpkg/tlperl/lib/Net/NNTP.pm
+++ b/Master/tlpkg/tlperl/lib/Net/NNTP.pm
@@ -14,7 +14,7 @@ use Carp;
use Time::Local;
use Net::Config;
-$VERSION = "2.24";
+$VERSION = "2.26";
@ISA = qw(Net::Cmd IO::Socket::INET);
@@ -39,23 +39,24 @@ sub new {
@{$hosts} = qw(news)
unless @{$hosts};
+ my %connect = ( Proto => 'tcp');
+ my $o;
+ foreach $o (qw(LocalAddr Timeout)) {
+ $connect{$o} = $arg{$o} if exists $arg{$o};
+ }
+ $connect{Timeout} = 120 unless defined $connect{Timeout};
+ $connect{PeerPort} = $arg{Port} || 'nntp(119)';
my $h;
foreach $h (@{$hosts}) {
- $obj = $type->SUPER::new(
- PeerAddr => ($host = $h),
- PeerPort => $arg{Port} || 'nntp(119)',
- Proto => 'tcp',
- Timeout => defined $arg{Timeout}
- ? $arg{Timeout}
- : 120
- )
+ $connect{PeerAddr} = $h;
+ $obj = $type->SUPER::new(%connect)
and last;
}
return undef
unless defined $obj;
- ${*$obj}{'net_nntp_host'} = $host;
+ ${*$obj}{'net_nntp_host'} = $connect{PeerAddr};
$obj->autoflush(1);
$obj->debug(exists $arg{Debug} ? $arg{Debug} : undef);
@@ -74,7 +75,7 @@ sub new {
# talking to innd not nnrpd
if ($obj->reader) {
- # If reader suceeds the we need to consider this code to determine postok
+ # If reader succeeds the we need to consider this code to determine postok
$c = $obj->code;
}
else {
@@ -213,16 +214,18 @@ sub nntpstat {
sub group {
@_ == 1 || @_ == 2 or croak 'usage: $nntp->group( [ GROUP ] )';
my $nntp = shift;
- my $grp = ${*$nntp}{'net_nntp_group'} || undef;
+ my $grp = ${*$nntp}{'net_nntp_group'};
return $grp
unless (@_ || wantarray);
my $newgrp = shift;
- return wantarray ? () : undef
- unless $nntp->_GROUP($newgrp || $grp || "")
- && $nntp->message =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\S+)/;
+ $newgrp = (defined($grp) and length($grp)) ? $grp : ""
+ unless defined($newgrp) and length($newgrp);
+
+ return
+ unless $nntp->_GROUP($newgrp) and $nntp->message =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\S+)/;
my ($count, $first, $last, $group) = ($1, $2, $3, $4);
@@ -712,7 +715,9 @@ Net::NNTP - NNTP Client class
=head1 DESCRIPTION
C<Net::NNTP> is a class implementing a simple NNTP client in Perl as described
-in RFC977. C<Net::NNTP> inherits its communication methods from C<Net::Cmd>
+in RFC977.
+
+The Net::NNTP class is a subclass of Net::Cmd and IO::Socket::INET.
=head1 CONSTRUCTOR
@@ -747,6 +752,11 @@ so that the remote server becomes innd. If the C<Reader> option is given
with a value of zero, then this command will not be sent and the
connection will be left talking to nnrpd.
+B<LocalAddr> - If multiple IP addresses are present on the client host
+with a valid route to the destination, you can specify the address your
+C<Net::NNTP> connects from and this way override the operating system's
+pick.
+
=back
=head1 METHODS
@@ -756,6 +766,10 @@ value, with I<true> meaning that the operation was a success. When a method
states that it returns a value, failure will be returned as I<undef> or an
empty list.
+C<Net::NNTP> inherits from C<Net::Cmd> so methods defined in C<Net::Cmd> may
+be used to send commands to the remote NNTP server in addition to the methods
+documented here.
+
=over 4
=item article ( [ MSGID|MSGNUM ], [FH] )
diff --git a/Master/tlpkg/tlperl/lib/Net/Netrc.pm b/Master/tlpkg/tlperl/lib/Net/Netrc.pm
index 28c826b38cd..fbe8d6d5be4 100644
--- a/Master/tlpkg/tlperl/lib/Net/Netrc.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Netrc.pm
@@ -9,9 +9,9 @@ package Net::Netrc;
use Carp;
use strict;
use FileHandle;
-use vars qw($VERSION);
+use vars qw($VERSION $TESTING);
-$VERSION = "2.12";
+$VERSION = "2.14";
my %netrc = ();
@@ -27,10 +27,18 @@ sub _readrc {
}
else {
- # Some OS's don't have `getpwuid', so we default to $ENV{HOME}
+ # Some OS's don't have "getpwuid", so we default to $ENV{HOME}
$home = eval { (getpwuid($>))[7] } || $ENV{HOME};
$home ||= $ENV{HOMEDRIVE} . ($ENV{HOMEPATH} || '') if defined $ENV{HOMEDRIVE};
- $file = $home . "/.netrc";
+ if (-e $home . "/.netrc") {
+ $file = $home . "/.netrc";
+ }
+ elsif (-e $home . "/_netrc") {
+ $file = $home . "/_netrc";
+ }
+ else {
+ return unless $TESTING;
+ }
}
my ($login, $pass, $acct) = (undef, undef, undef);
@@ -39,7 +47,7 @@ sub _readrc {
$netrc{default} = undef;
- # OS/2 and Win32 do not handle stat in a way compatable with this check :-(
+ # OS/2 and Win32 do not handle stat in a way compatible with this check :-(
unless ($^O eq 'os2'
|| $^O eq 'MSWin32'
|| $^O eq 'MacOS'
@@ -303,7 +311,7 @@ Return the account information for the netrc entry
=item lpa ()
-Return a list of login, password and account information fir the netrc entry
+Return a list of login, password and account information for the netrc entry
=back
diff --git a/Master/tlpkg/tlperl/lib/Net/POP3.pm b/Master/tlpkg/tlperl/lib/Net/POP3.pm
index 8381c81815e..4b94a11a87e 100644
--- a/Master/tlpkg/tlperl/lib/Net/POP3.pm
+++ b/Master/tlpkg/tlperl/lib/Net/POP3.pm
@@ -13,7 +13,7 @@ use Net::Cmd;
use Carp;
use Net::Config;
-$VERSION = "2.29";
+$VERSION = "2.31";
@ISA = qw(Net::Cmd IO::Socket::INET);
@@ -307,26 +307,22 @@ sub _get_mailbox_count {
}
-sub _STAT { shift->command('STAT')->response() == CMD_OK }
-sub _LIST { shift->command('LIST', @_)->response() == CMD_OK }
+sub _STAT { shift->command('STAT' )->response() == CMD_OK }
+sub _LIST { shift->command('LIST', @_)->response() == CMD_OK }
sub _RETR { shift->command('RETR', $_[0])->response() == CMD_OK }
sub _DELE { shift->command('DELE', $_[0])->response() == CMD_OK }
-sub _NOOP { shift->command('NOOP')->response() == CMD_OK }
-sub _RSET { shift->command('RSET')->response() == CMD_OK }
-sub _QUIT { shift->command('QUIT')->response() == CMD_OK }
-sub _TOP { shift->command('TOP', @_)->response() == CMD_OK }
-sub _UIDL { shift->command('UIDL', @_)->response() == CMD_OK }
+sub _NOOP { shift->command('NOOP' )->response() == CMD_OK }
+sub _RSET { shift->command('RSET' )->response() == CMD_OK }
+sub _QUIT { shift->command('QUIT' )->response() == CMD_OK }
+sub _TOP { shift->command( 'TOP', @_)->response() == CMD_OK }
+sub _UIDL { shift->command('UIDL', @_)->response() == CMD_OK }
sub _USER { shift->command('USER', $_[0])->response() == CMD_OK }
sub _PASS { shift->command('PASS', $_[0])->response() == CMD_OK }
-sub _APOP { shift->command('APOP', @_)->response() == CMD_OK }
+sub _APOP { shift->command('APOP', @_)->response() == CMD_OK }
sub _PING { shift->command('PING', $_[0])->response() == CMD_OK }
-
-
sub _RPOP { shift->command('RPOP', $_[0])->response() == CMD_OK }
-sub _LAST { shift->command('LAST')->response() == CMD_OK }
-
-
-sub _CAPA { shift->command('CAPA')->response() == CMD_OK }
+sub _LAST { shift->command('LAST' )->response() == CMD_OK }
+sub _CAPA { shift->command('CAPA' )->response() == CMD_OK }
sub quit {
@@ -488,9 +484,9 @@ sub auth {
return 0;
};
- # We dont support sasl mechanisms that encrypt the socket traffic.
+ # We don't support sasl mechanisms that encrypt the socket traffic.
# todo that we would really need to change the ISA hierarchy
- # so we dont inherit from IO::Socket, but instead hold it in an attribute
+ # so we don't inherit from IO::Socket, but instead hold it in an attribute
my @cmd = ("AUTH", $client->mechanism);
my $code;
@@ -561,11 +557,13 @@ A new Net::POP3 object must be created with the I<new> method. Once
this has been done, all POP3 commands are accessed via method calls
on the object.
+The Net::POP3 class is a subclass of Net::Cmd and IO::Socket::INET.
+
=head1 CONSTRUCTOR
=over 4
-=item new ( [ HOST ] [, OPTIONS ] 0
+=item new ( [ HOST ] [, OPTIONS ] )
This is the constructor for a new Net::POP3 object. C<HOST> is the
name of the remote host to which an POP3 connection is required.
@@ -600,6 +598,10 @@ value, with I<true> meaning that the operation was a success. When a method
states that it returns a value, failure will be returned as I<undef> or an
empty list.
+C<Net::POP3> inherits from C<Net::Cmd> so methods defined in C<Net::Cmd> may
+be used to send commands to the remote POP3 server in addition to the methods
+documented here.
+
=over 4
=item auth ( USERNAME, PASSWORD )
diff --git a/Master/tlpkg/tlperl/lib/Net/Ping.pm b/Master/tlpkg/tlperl/lib/Net/Ping.pm
index 1523af91dd3..2766c9edbb5 100644
--- a/Master/tlpkg/tlperl/lib/Net/Ping.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Ping.pm
@@ -17,7 +17,7 @@ use Time::HiRes;
@ISA = qw(Exporter);
@EXPORT = qw(pingecho);
-$VERSION = "2.41";
+$VERSION = "2.43";
# Constants
@@ -135,7 +135,7 @@ sub new
$self->{"seq"} = 0; # For counting packets
if ($self->{"proto"} eq "udp") # Open a socket
{
- $self->{"proto_num"} = (getprotobyname('udp'))[2] ||
+ $self->{"proto_num"} = eval { (getprotobyname('udp'))[2] } ||
croak("Can't udp protocol by name");
$self->{"port_num"} = (getservbyname('echo', 'udp'))[2] ||
croak("Can't get udp echo port by name");
@@ -155,7 +155,7 @@ sub new
elsif ($self->{"proto"} eq "icmp")
{
croak("icmp ping requires root privilege") if ($> and $^O ne 'VMS' and $^O ne 'cygwin');
- $self->{"proto_num"} = (getprotobyname('icmp'))[2] ||
+ $self->{"proto_num"} = eval { (getprotobyname('icmp'))[2] } ||
croak("Can't get icmp protocol by name");
$self->{"pid"} = $$ & 0xffff; # Save lower 16 bits of pid
$self->{"fh"} = FileHandle->new();
@@ -176,7 +176,7 @@ sub new
}
elsif ($self->{"proto"} eq "tcp" || $self->{"proto"} eq "stream")
{
- $self->{"proto_num"} = (getprotobyname('tcp'))[2] ||
+ $self->{"proto_num"} = eval { (getprotobyname('tcp'))[2] } ||
croak("Can't get tcp protocol by name");
$self->{"port_num"} = (getservbyname('echo', 'tcp'))[2] ||
croak("Can't get tcp echo port by name");
@@ -184,7 +184,7 @@ sub new
}
elsif ($self->{"proto"} eq "syn")
{
- $self->{"proto_num"} = (getprotobyname('tcp'))[2] ||
+ $self->{"proto_num"} = eval { (getprotobyname('tcp'))[2] } ||
croak("Can't get tcp protocol by name");
$self->{"port_num"} = (getservbyname('echo', 'tcp'))[2] ||
croak("Can't get tcp echo port by name");
@@ -1472,7 +1472,8 @@ Net::Ping - check a remote host for reachability
$p = Net::Ping->new();
$p->hires();
($ret, $duration, $ip) = $p->ping($host, 5.5);
- printf("$host [ip: $ip] is alive (packet return time: %.2f ms)\n", 1000 * $duration)
+ printf("$host [ip: $ip] is alive (packet return time: %.2f ms)\n",
+ 1000 * $duration)
if $ret;
$p->close();
@@ -1736,7 +1737,9 @@ kinds of ICMP packets.
The latest source tree is available via cvs:
- cvs -z3 -q -d :pserver:anonymous@cvs.roobik.com.:/usr/local/cvsroot/freeware checkout Net-Ping
+ cvs -z3 -q -d \
+ :pserver:anonymous@cvs.roobik.com.:/usr/local/cvsroot/freeware \
+ checkout Net-Ping
cd Net-Ping
The tarball can be created as follows:
diff --git a/Master/tlpkg/tlperl/lib/Net/SMTP.pm b/Master/tlpkg/tlperl/lib/Net/SMTP.pm
index a28496d6886..705b5c5ab51 100644
--- a/Master/tlpkg/tlperl/lib/Net/SMTP.pm
+++ b/Master/tlpkg/tlperl/lib/Net/SMTP.pm
@@ -16,7 +16,7 @@ use IO::Socket;
use Net::Cmd;
use Net::Config;
-$VERSION = "2.31";
+$VERSION = "2.33";
@ISA = qw(Net::Cmd IO::Socket::INET);
@@ -59,7 +59,9 @@ sub new {
$obj->debug(exists $arg{Debug} ? $arg{Debug} : undef);
unless ($obj->response() == CMD_OK) {
+ my $err = ref($obj) . ": " . $obj->code . " " . $obj->message;
$obj->close();
+ $@ = $err;
return undef;
}
@@ -70,7 +72,9 @@ sub new {
(${*$obj}{'net_smtp_domain'}) = $obj->message =~ /\A\s*(\S+)/;
unless ($obj->hello($arg{Hello} || "")) {
+ my $err = ref($obj) . ": " . $obj->code . " " . $obj->message;
$obj->close();
+ $@ = $err;
return undef;
}
@@ -143,9 +147,9 @@ sub auth {
my $client = $sasl->client_new('smtp', ${*$self}{'net_smtp_host'}, 0);
my $str = $client->client_start;
- # We dont support sasl mechanisms that encrypt the socket traffic.
+ # We don't support sasl mechanisms that encrypt the socket traffic.
# todo that we would really need to change the ISA hierarchy
- # so we dont inherit from IO::Socket, but instead hold it in an attribute
+ # so we don't inherit from IO::Socket, but instead hold it in an attribute
my @cmd = ("AUTH", $client->mechanism);
my $code;
@@ -176,7 +180,7 @@ sub hello {
my $ln;
foreach $ln (@msg) {
$h->{uc $1} = $2
- if $ln =~ /(\w+)\b[= \t]*([^\n]*)/;
+ if $ln =~ /([-\w]+)\b[= \t]*([^\n]*)/;
}
}
elsif ($me->status == CMD_ERROR) {
@@ -286,7 +290,7 @@ sub mail {
if (defined($v = delete $opt{Envelope})) {
if (exists $esmtp->{DSN}) {
- $v =~ s/([^\041-\176]|=|\+)/sprintf "+%02x", ord($1)/sge;
+ $v =~ s/([^\041-\176]|=|\+)/sprintf "+%02X", ord($1)/sge;
$opts .= " ENVID=$v";
}
else {
@@ -575,16 +579,18 @@ known as mailhost:
use Net::SMTP;
- $smtp = Net::SMTP->new('mailhost');
+ my $smtp = Net::SMTP->new('mailhost');
$smtp->mail($ENV{USER});
- $smtp->to('postmaster');
-
- $smtp->data();
- $smtp->datasend("To: postmaster\n");
- $smtp->datasend("\n");
- $smtp->datasend("A simple test message\n");
- $smtp->dataend();
+ if ($smtp->to('postmaster')) {
+ $smtp->data();
+ $smtp->datasend("To: postmaster\n");
+ $smtp->datasend("\n");
+ $smtp->datasend("A simple test message\n");
+ $smtp->dataend();
+ } else {
+ print "Error: ", $smtp->message();
+ }
$smtp->quit;
@@ -597,6 +603,9 @@ known as mailhost:
This is the constructor for a new Net::SMTP object. C<HOST> is the
name of the remote host to which an SMTP connection is required.
+On failure C<undef> will be returned and C<$@> will contain the reason
+for the failure.
+
C<HOST> is optional. If C<HOST> is not given then it may instead be
passed as the C<Host> option described below. If neither is given then
the C<SMTP_Hosts> specified in C<Net::Config> will be used.
@@ -608,11 +617,14 @@ B<Hello> - SMTP requires that you identify yourself. This option
specifies a string to pass as your mail domain. If not given localhost.localdomain
will be used.
-B<Host> - SMTP host to connect to. It may be a single scalar, as defined for
-the C<PeerAddr> option in L<IO::Socket::INET>, or a reference to
+B<Host> - SMTP host to connect to. It may be a single scalar (hostname[:port]),
+as defined for the C<PeerAddr> option in L<IO::Socket::INET>, or a reference to
an array with hosts to try in turn. The L</host> method will return the value
which was used to connect to the host.
+B<Port> - port to connect to. Format - C<PeerHost> from L<IO::Socket::INET> new method.
+Default - 25.
+
B<LocalAddr> and B<LocalPort> - These parameters are passed directly
to IO::Socket to allow binding the socket to a local port.
@@ -658,6 +670,10 @@ value, with I<true> meaning that the operation was a success. When a method
states that it returns a value, failure will be returned as I<undef> or an
empty list.
+C<Net::SMTP> inherits from C<Net::Cmd> so methods defined in C<Net::Cmd> may
+be used to send commands to the remote SMTP server in addition to the methods
+documented here.
+
=over 4
=item banner ()
@@ -688,7 +704,7 @@ Request a queue run for the DOMAIN given.
=item auth ( USERNAME, PASSWORD )
-Attempt SASL authentication.
+Attempt SASL authentication. Requires Authen::SASL module.
=item mail ( ADDRESS [, OPTIONS] )
@@ -768,7 +784,7 @@ that a DSN not be returned to the sender under any conditions."
$smtp->recipient(@recipients, { Notify => ['NEVER'], SkipBad => 1 }); # Good
You may use any combination of these three values 'SUCCESS','FAILURE','DELAY' in
-the anonymous array reference as defined by RFC3461 (see http://rfc.net/rfc3461.html
+the anonymous array reference as defined by RFC3461 (see http://www.ietf.org/rfc/rfc3461.txt
for more information. Note: quotations in this topic from same.).
A Notify parameter of 'SUCCESS' or 'FAILURE' "requests that a DSN be issued on
@@ -844,7 +860,7 @@ to extract the mail address and pass that.
If C<ExactAddresses> is passed to the constructor, then addresses
should be a valid rfc2821-quoted address, although Net::SMTP will
-accept accept the address surrounded by angle brackets.
+accept the address surrounded by angle brackets.
funny user@domain WRONG
"funny user"@domain RIGHT, recommended
diff --git a/Master/tlpkg/tlperl/lib/Net/libnetFAQ.pod b/Master/tlpkg/tlperl/lib/Net/libnetFAQ.pod
new file mode 100644
index 00000000000..78efe8c44bb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Net/libnetFAQ.pod
@@ -0,0 +1,302 @@
+=head1 NAME
+
+libnetFAQ - libnet Frequently Asked Questions
+
+=head1 DESCRIPTION
+
+=head2 Where to get this document
+
+This document is distributed with the libnet distribution, and is also
+available on the libnet web page at
+
+ http://search.cpan.org/dist/libnet/
+
+=head2 How to contribute to this document
+
+You may report corrections, additions, and suggestions on the
+CPAN request tracker at
+
+ http://rt.cpan.org/Dist/Display.html?Name=libnet
+
+=head1 Author and Copyright Information
+
+Copyright (c) 1997-1998 Graham Barr. All rights reserved.
+This document is free; you can redistribute it and/or modify it
+under the terms of the Artistic License.
+
+Currently maintained by Steve Hay <shay@cpan.org>.
+
+=head2 Disclaimer
+
+This information is offered in good faith and in the hope that it may
+be of use, but is not guaranteed to be correct, up to date, or suitable
+for any particular purpose whatsoever. The authors accept no liability
+in respect of this information or its use.
+
+
+=head1 Obtaining and installing libnet
+
+=head2 What is libnet ?
+
+libnet is a collection of perl5 modules which all related to network
+programming. The majority of the modules available provided the
+client side of popular server-client protocols that are used in
+the internet community.
+
+=head2 Which version of perl do I need ?
+
+libnet has been know to work with versions of perl from 5.002 onwards. However
+if your release of perl is prior to perl5.004 then you will need to
+obtain and install the IO distribution from CPAN. If you have perl5.004
+or later then you will have the IO modules in your installation already,
+but CPAN may contain updates.
+
+=head2 What other modules do I need ?
+
+The only modules you will need installed are the modules from the IO
+distribution. If you have perl5.004 or later you will already have
+these modules.
+
+=head2 What machines support libnet ?
+
+libnet itself is an entirely perl-code distribution so it should work
+on any machine that perl runs on. However IO may not work
+with some machines and earlier releases of perl. But this
+should not be the case with perl version 5.004 or later.
+
+=head2 Where can I get the latest libnet release
+
+The latest libnet release is always on CPAN, you will find it
+in
+
+ http://search.cpan.org/dist/libnet/
+
+=head1 Using Net::FTP
+
+=head2 How do I download files from an FTP server ?
+
+An example taken from an article posted to comp.lang.perl.misc
+
+ #!/your/path/to/perl
+
+ # a module making life easier
+
+ use Net::FTP;
+
+ # for debugging: $ftp = Net::FTP->new('site','Debug',10);
+ # open a connection and log in!
+
+ $ftp = Net::FTP->new('target_site.somewhere.xxx');
+ $ftp->login('username','password');
+
+ # set transfer mode to binary
+
+ $ftp->binary();
+
+ # change the directory on the ftp site
+
+ $ftp->cwd('/some/path/to/somewhere/');
+
+ foreach $name ('file1', 'file2', 'file3') {
+
+ # get's arguments are in the following order:
+ # ftp server's filename
+ # filename to save the transfer to on the local machine
+ # can be simply used as get($name) if you want the same name
+
+ $ftp->get($name,$name);
+ }
+
+ # ftp done!
+
+ $ftp->quit;
+
+=head2 How do I transfer files in binary mode ?
+
+To transfer files without <LF><CR> translation Net::FTP provides
+the C<binary> method
+
+ $ftp->binary;
+
+=head2 How can I get the size of a file on a remote FTP server ?
+
+=head2 How can I get the modification time of a file on a remote FTP server ?
+
+=head2 How can I change the permissions of a file on a remote server ?
+
+The FTP protocol does not have a command for changing the permissions
+of a file on the remote server. But some ftp servers may allow a chmod
+command to be issued via a SITE command, eg
+
+ $ftp->quot('site chmod 0777',$filename);
+
+But this is not guaranteed to work.
+
+=head2 Can I do a reget operation like the ftp command ?
+
+=head2 How do I get a directory listing from an FTP server ?
+
+=head2 Changing directory to "" does not fail ?
+
+Passing an argument of "" to ->cwd() has the same affect of calling ->cwd()
+without any arguments. Turn on Debug (I<See below>) and you will see what is
+happening
+
+ $ftp = Net::FTP->new($host, Debug => 1);
+ $ftp->login;
+ $ftp->cwd("");
+
+gives
+
+ Net::FTP=GLOB(0x82196d8)>>> CWD /
+ Net::FTP=GLOB(0x82196d8)<<< 250 CWD command successful.
+
+=head2 I am behind a SOCKS firewall, but the Firewall option does not work ?
+
+The Firewall option is only for support of one type of firewall. The type
+supported is an ftp proxy.
+
+To use Net::FTP, or any other module in the libnet distribution,
+through a SOCKS firewall you must create a socks-ified perl executable
+by compiling perl with the socks library.
+
+=head2 I am behind an FTP proxy firewall, but cannot access machines outside ?
+
+Net::FTP implements the most popular ftp proxy firewall approach. The scheme
+implemented is that where you log in to the firewall with C<user@hostname>
+
+I have heard of one other type of firewall which requires a login to the
+firewall with an account, then a second login with C<user@hostname>. You can
+still use Net::FTP to traverse these firewalls, but a more manual approach
+must be taken, eg
+
+ $ftp = Net::FTP->new($firewall) or die $@;
+ $ftp->login($firewall_user, $firewall_passwd) or die $ftp->message;
+ $ftp->login($ext_user . '@' . $ext_host, $ext_passwd) or die $ftp->message.
+
+=head2 My ftp proxy firewall does not listen on port 21
+
+FTP servers usually listen on the same port number, port 21, as any other
+FTP server. But there is no reason why this has to be the case.
+
+If you pass a port number to Net::FTP then it assumes this is the port
+number of the final destination. By default Net::FTP will always try
+to connect to the firewall on port 21.
+
+Net::FTP uses IO::Socket to open the connection and IO::Socket allows
+the port number to be specified as part of the hostname. So this problem
+can be resolved by either passing a Firewall option like C<"hostname:1234">
+or by setting the C<ftp_firewall> option in Net::Config to be a string
+in the same form.
+
+=head2 Is it possible to change the file permissions of a file on an FTP server ?
+
+The answer to this is "maybe". The FTP protocol does not specify a command to change
+file permissions on a remote host. However many servers do allow you to run the
+chmod command via the C<SITE> command. This can be done with
+
+ $ftp->site('chmod','0775',$file);
+
+=head2 I have seen scripts call a method message, but cannot find it documented ?
+
+Net::FTP, like several other packages in libnet, inherits from Net::Cmd, so
+all the methods described in Net::Cmd are also available on Net::FTP
+objects.
+
+=head2 Why does Net::FTP not implement mput and mget methods
+
+The quick answer is because they are easy to implement yourself. The long
+answer is that to write these in such a way that multiple platforms are
+supported correctly would just require too much code. Below are
+some examples how you can implement these yourself.
+
+sub mput {
+ my($ftp,$pattern) = @_;
+ foreach my $file (glob($pattern)) {
+ $ftp->put($file) or warn $ftp->message;
+ }
+}
+
+sub mget {
+ my($ftp,$pattern) = @_;
+ foreach my $file ($ftp->ls($pattern)) {
+ $ftp->get($file) or warn $ftp->message;
+ }
+}
+
+
+=head1 Using Net::SMTP
+
+=head2 Why can't the part of an Email address after the @ be used as the hostname ?
+
+The part of an Email address which follows the @ is not necessarily a hostname,
+it is a mail domain. To find the name of a host to connect for a mail domain
+you need to do a DNS MX lookup
+
+=head2 Why does Net::SMTP not do DNS MX lookups ?
+
+Net::SMTP implements the SMTP protocol. The DNS MX lookup is not part
+of this protocol.
+
+=head2 The verify method always returns true ?
+
+Well it may seem that way, but it does not. The verify method returns true
+if the command succeeded. If you pass verify an address which the
+server would normally have to forward to another machine, the command
+will succeed with something like
+
+ 252 Couldn't verify <someone@there> but will attempt delivery anyway
+
+This command will fail only if you pass it an address in a domain
+the server directly delivers for, and that address does not exist.
+
+=head1 Debugging scripts
+
+=head2 How can I debug my scripts that use Net::* modules ?
+
+Most of the libnet client classes allow options to be passed to the
+constructor, in most cases one option is called C<Debug>. Passing
+this option with a non-zero value will turn on a protocol trace, which
+will be sent to STDERR. This trace can be useful to see what commands
+are being sent to the remote server and what responses are being
+received back.
+
+ #!/your/path/to/perl
+
+ use Net::FTP;
+
+ my $ftp = new Net::FTP($host, Debug => 1);
+ $ftp->login('gbarr','password');
+ $ftp->quit;
+
+this script would output something like
+
+ Net::FTP: Net::FTP(2.22)
+ Net::FTP: Exporter
+ Net::FTP: Net::Cmd(2.0801)
+ Net::FTP: IO::Socket::INET
+ Net::FTP: IO::Socket(1.1603)
+ Net::FTP: IO::Handle(1.1504)
+
+ Net::FTP=GLOB(0x8152974)<<< 220 imagine FTP server (Version wu-2.4(5) Tue Jul 29 11:17:18 CDT 1997) ready.
+ Net::FTP=GLOB(0x8152974)>>> user gbarr
+ Net::FTP=GLOB(0x8152974)<<< 331 Password required for gbarr.
+ Net::FTP=GLOB(0x8152974)>>> PASS ....
+ Net::FTP=GLOB(0x8152974)<<< 230 User gbarr logged in. Access restrictions apply.
+ Net::FTP=GLOB(0x8152974)>>> QUIT
+ Net::FTP=GLOB(0x8152974)<<< 221 Goodbye.
+
+The first few lines tell you the modules that Net::FTP uses and their versions,
+this is useful data to me when a user reports a bug. The last seven lines
+show the communication with the server. Each line has three parts. The first
+part is the object itself, this is useful for separating the output
+if you are using multiple objects. The second part is either C<<<<<> to
+show data coming from the server or C<&gt&gt&gt&gt> to show data
+going to the server. The remainder of the line is the command
+being sent or response being received.
+
+=head1 AUTHOR AND COPYRIGHT
+
+Copyright (c) 1997 Graham Barr.
+All rights reserved.
+
diff --git a/Master/tlpkg/tlperl/lib/Object/Accessor.pm b/Master/tlpkg/tlperl/lib/Object/Accessor.pm
deleted file mode 100644
index 9a930905c2e..00000000000
--- a/Master/tlpkg/tlperl/lib/Object/Accessor.pm
+++ /dev/null
@@ -1,818 +0,0 @@
-package Object::Accessor;
-use if $] > 5.017, 'deprecate';
-
-use strict;
-use Carp qw[carp croak];
-use vars qw[$FATAL $DEBUG $AUTOLOAD $VERSION];
-use Params::Check qw[allow];
-
-### some objects might have overload enabled, we'll need to
-### disable string overloading for callbacks
-require overload;
-
-$VERSION = '0.46';
-$FATAL = 0;
-$DEBUG = 0;
-
-use constant VALUE => 0; # array index in the hash value
-use constant ALLOW => 1; # array index in the hash value
-use constant ALIAS => 2; # array index in the hash value
-
-=head1 NAME
-
-Object::Accessor - interface to create per object accessors
-
-=head1 SYNOPSIS
-
- ### using the object
- $obj = Object::Accessor->new; # create object
- $obj = Object::Accessor->new(@list); # create object with accessors
- $obj = Object::Accessor->new(\%h); # create object with accessors
- # and their allow handlers
-
- $bool = $obj->mk_accessors('foo'); # create accessors
- $bool = $obj->mk_accessors( # create accessors with input
- {foo => ALLOW_HANDLER} ); # validation
-
- $bool = $obj->mk_aliases( # create an alias to an existing
- alias_name => 'method'); # method name
-
- $clone = $obj->mk_clone; # create a clone of original
- # object without data
- $bool = $obj->mk_flush; # clean out all data
-
- @list = $obj->ls_accessors; # retrieves a list of all
- # accessors for this object
-
- $bar = $obj->foo('bar'); # set 'foo' to 'bar'
- $bar = $obj->foo(); # retrieve 'bar' again
-
- $sub = $obj->can('foo'); # retrieve coderef for
- # 'foo' accessor
- $bar = $sub->('bar'); # set 'foo' via coderef
- $bar = $sub->(); # retrieve 'bar' by coderef
-
- ### using the object as base class
- package My::Class;
- use base 'Object::Accessor';
-
- $obj = My::Class->new; # create base object
- $bool = $obj->mk_accessors('foo'); # create accessors, etc...
-
- ### make all attempted access to non-existent accessors fatal
- ### (defaults to false)
- $Object::Accessor::FATAL = 1;
-
- ### enable debugging
- $Object::Accessor::DEBUG = 1;
-
- ### advanced usage -- callbacks
- { my $obj = Object::Accessor->new('foo');
- $obj->register_callback( sub { ... } );
-
- $obj->foo( 1 ); # these calls invoke the callback you registered
- $obj->foo() # which allows you to change the get/set
- # behaviour and what is returned to the caller.
- }
-
- ### advanced usage -- lvalue attributes
- { my $obj = Object::Accessor::Lvalue->new('foo');
- print $obj->foo = 1; # will print 1
- }
-
- ### advanced usage -- scoped attribute values
- { my $obj = Object::Accessor->new('foo');
-
- $obj->foo( 1 );
- print $obj->foo; # will print 1
-
- ### bind the scope of the value of attribute 'foo'
- ### to the scope of '$x' -- when $x goes out of
- ### scope, 'foo's previous value will be restored
- { $obj->foo( 2 => \my $x );
- print $obj->foo, ' ', $x; # will print '2 2'
- }
- print $obj->foo; # will print 1
- }
-
-
-=head1 DESCRIPTION
-
-C<Object::Accessor> provides an interface to create per object
-accessors (as opposed to per C<Class> accessors, as, for example,
-C<Class::Accessor> provides).
-
-You can choose to either subclass this module, and thus using its
-accessors on your own module, or to store an C<Object::Accessor>
-object inside your own object, and access the accessors from there.
-See the C<SYNOPSIS> for examples.
-
-=head1 METHODS
-
-=head2 $object = Object::Accessor->new( [ARGS] );
-
-Creates a new (and empty) C<Object::Accessor> object. This method is
-inheritable.
-
-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::Accessor::Lvalue> namespace instead. See the section
-on C<LVALUE ACCESSORS> below.
-
-=cut
-
-sub new {
- my $class = shift;
- my $obj = bless {}, $class;
-
- $obj->mk_accessors( @_ ) if @_;
-
- return $obj;
-}
-
-=head2 $bool = $object->mk_accessors( @ACCESSORS | \%ACCESSOR_MAP );
-
-Creates a list of accessors for this object (and C<NOT> for other ones
-in the same class!).
-Will not clobber existing data, so if an accessor already exists,
-requesting to create again is effectively a C<no-op>.
-
-When providing a C<hashref> as argument, rather than a normal list,
-you can specify a list of key/value pairs of accessors and their
-respective input validators. The validators can be anything that
-C<Params::Check>'s C<allow> function accepts. Please see its manpage
-for details.
-
-For example:
-
- $object->mk_accessors( {
- foo => qr/^\d+$/, # digits only
- bar => [0,1], # booleans
- zot => \&my_sub # a custom verification sub
- } );
-
-Returns true on success, false on failure.
-
-Accessors that are called on an object, that do not exist return
-C<undef> by default, but you can make this a fatal error by setting the
-global variable C<$FATAL> to true. See the section on C<GLOBAL
-VARIABLES> for details.
-
-Note that you can bind the values of attributes to a scope. This allows
-you to C<temporarily> change a value of an attribute, and have it's
-original value restored up on the end of it's bound variable's scope;
-
-For example, in this snippet of code, the attribute C<foo> will
-temporarily be set to C<2>, until the end of the scope of C<$x>, at
-which point the original value of C<1> will be restored.
-
- my $obj = Object::Accessor->new;
-
- $obj->mk_accessors('foo');
- $obj->foo( 1 );
- print $obj->foo; # will print 1
-
- ### bind the scope of the value of attribute 'foo'
- ### to the scope of '$x' -- when $x goes out of
- ### scope, 'foo' previous value will be restored
- { $obj->foo( 2 => \my $x );
- print $obj->foo, ' ', $x; # will print '2 2'
- }
- print $obj->foo; # will print 1
-
-
-Note that all accessors are read/write for everyone. See the C<TODO>
-section for details.
-
-=cut
-
-sub mk_accessors {
- my $self = $_[0];
- my $is_hash = UNIVERSAL::isa( $_[1], 'HASH' );
-
- ### first argument is a hashref, which means key/val pairs
- ### as keys + allow handlers
- for my $acc ( $is_hash ? keys %{$_[1]} : @_[1..$#_] ) {
-
- ### already created apparently
- if( exists $self->{$acc} ) {
- __PACKAGE__->___debug( "Accessor '$acc' already exists");
- next;
- }
-
- __PACKAGE__->___debug( "Creating accessor '$acc'");
-
- ### explicitly vivify it, so that exists works in ls_accessors()
- $self->{$acc}->[VALUE] = undef;
-
- ### set the allow handler only if one was specified
- $self->{$acc}->[ALLOW] = $_[1]->{$acc} if $is_hash;
- }
-
- return 1;
-}
-
-=head2 @list = $self->ls_accessors;
-
-Returns a list of accessors that are supported by the current object.
-The corresponding coderefs can be retrieved by passing this list one
-by one to the C<can> method.
-
-=cut
-
-sub ls_accessors {
- ### metainformation is stored in the stringified
- ### key of the object, so skip that when listing accessors
- return sort grep { $_ ne "$_[0]" } keys %{$_[0]};
-}
-
-=head2 $ref = $self->ls_allow(KEY)
-
-Returns the allow handler for the given key, which can be used with
-C<Params::Check>'s C<allow()> handler. If there was no allow handler
-specified, an allow handler that always returns true will be returned.
-
-=cut
-
-sub ls_allow {
- my $self = shift;
- my $key = shift or return;
- return exists $self->{$key}->[ALLOW]
- ? $self->{$key}->[ALLOW]
- : sub { 1 };
-}
-
-=head2 $bool = $self->mk_aliases( alias => method, [alias2 => method2, ...] );
-
-Creates an alias for a given method name. For all intents and purposes,
-these two accessors are now identical for this object. This is akin to
-doing the following on the symbol table level:
-
- *alias = *method
-
-This allows you to do the following:
-
- $self->mk_accessors('foo');
- $self->mk_aliases( bar => 'foo' );
-
- $self->bar( 42 );
- print $self->foo; # will print 42
-
-=cut
-
-sub mk_aliases {
- my $self = shift;
- my %aliases = @_;
-
- while( my($alias, $method) = each %aliases ) {
-
- ### already created apparently
- if( exists $self->{$alias} ) {
- __PACKAGE__->___debug( "Accessor '$alias' already exists");
- next;
- }
-
- $self->___alias( $alias => $method );
- }
-
- return 1;
-}
-
-=head2 $clone = $self->mk_clone;
-
-Makes a clone of the current object, which will have the exact same
-accessors as the current object, but without the data stored in them.
-
-=cut
-
-### XXX this creates an object WITH allow handlers at all times.
-### even if the original didnt
-sub mk_clone {
- my $self = $_[0];
- my $class = ref $self;
-
- my $clone = $class->new;
-
- ### split out accessors with and without allow handlers, so we
- ### don't install dummy allow handers (which makes O::A::lvalue
- ### warn for example)
- my %hash; my @list;
- for my $acc ( $self->ls_accessors ) {
- my $allow = $self->{$acc}->[ALLOW];
- $allow ? $hash{$acc} = $allow : push @list, $acc;
-
- ### is this an alias?
- if( my $org = $self->{ $acc }->[ ALIAS ] ) {
- $clone->___alias( $acc => $org );
- }
- }
-
- ### copy the accessors from $self to $clone
- $clone->mk_accessors( \%hash ) if %hash;
- $clone->mk_accessors( @list ) if @list;
-
- ### copy callbacks
- #$clone->{"$clone"} = $self->{"$self"} if $self->{"$self"};
- $clone->___callback( $self->___callback );
-
- return $clone;
-}
-
-=head2 $bool = $self->mk_flush;
-
-Flushes all the data from the current object; all accessors will be
-set back to their default state of C<undef>.
-
-Returns true on success and false on failure.
-
-=cut
-
-sub mk_flush {
- my $self = $_[0];
-
- # set each accessor's data to undef
- $self->{$_}->[VALUE] = undef for $self->ls_accessors;
-
- return 1;
-}
-
-=head2 $bool = $self->mk_verify;
-
-Checks if all values in the current object are in accordance with their
-own allow handler. Specifically useful to check if an empty initialised
-object has been filled with values satisfying their own allow criteria.
-
-=cut
-
-sub mk_verify {
- my $self = $_[0];
-
- my $fail;
- for my $name ( $self->ls_accessors ) {
- unless( allow( $self->$name, $self->ls_allow( $name ) ) ) {
- my $val = defined $self->$name ? $self->$name : '<undef>';
-
- __PACKAGE__->___error("'$name' ($val) is invalid");
- $fail++;
- }
- }
-
- return if $fail;
- return 1;
-}
-
-=head2 $bool = $self->register_callback( sub { ... } );
-
-This method allows you to register a callback, that is invoked
-every time an accessor is called. This allows you to munge input
-data, access external data stores, etc.
-
-You are free to return whatever you wish. On a C<set> call, the
-data is even stored in the object.
-
-Below is an example of the use of a callback.
-
- $object->some_method( "some_value" );
-
- my $callback = sub {
- my $self = shift; # the object
- my $meth = shift; # "some_method"
- my $val = shift; # ["some_value"]
- # could be undef -- check 'exists';
- # if scalar @$val is empty, it was a 'get'
-
- # your code here
-
- return $new_val; # the value you want to be set/returned
- }
-
-To access the values stored in the object, circumventing the
-callback structure, you should use the C<___get> and C<___set> methods
-documented further down.
-
-=cut
-
-sub register_callback {
- my $self = shift;
- my $sub = shift or return;
-
- ### use the memory address as key, it's not used EVER as an
- ### accessor --kane
- $self->___callback( $sub );
-
- return 1;
-}
-
-
-=head2 $bool = $self->can( METHOD_NAME )
-
-This method overrides C<UNIVERAL::can> in order to provide coderefs to
-accessors which are loaded on demand. It will behave just like
-C<UNIVERSAL::can> where it can -- returning a class method if it exists,
-or a closure pointing to a valid accessor of this particular object.
-
-You can use it as follows:
-
- $sub = $object->can('some_accessor'); # retrieve the coderef
- $sub->('foo'); # 'some_accessor' now set
- # to 'foo' for $object
- $foo = $sub->(); # retrieve the contents
- # of 'some_accessor'
-
-See the C<SYNOPSIS> for more examples.
-
-=cut
-
-### custom 'can' as UNIVERSAL::can ignores autoload
-sub can {
- my($self, $method) = @_;
-
- ### it's one of our regular methods
- my $code = $self->UNIVERSAL::can($method);
- if( $code ) {
- carp( "Can '$method' -- provided by package" ) if $DEBUG;
- return $code;
- }
-
- ### it's an accessor we provide;
- if( UNIVERSAL::isa( $self, 'HASH' ) and exists $self->{$method} ) {
- carp( "Can '$method' -- provided by object" ) if $DEBUG;
- return sub { $self->$method(@_); }
- }
-
- ### we don't support it
- carp( "Cannot '$method'" ) if $DEBUG;
- return;
-}
-
-### don't autoload this
-sub DESTROY { 1 };
-
-### use autoload so we can have per-object accessors,
-### not per class, as that is incorrect
-sub AUTOLOAD {
- my $self = shift;
- my($method) = ($AUTOLOAD =~ /([^:']+$)/);
-
- my $val = $self->___autoload( $method, @_ ) or return;
-
- return $val->[0];
-}
-
-sub ___autoload {
- my $self = shift;
- my $method = shift;
- my $assign = scalar @_; # is this an assignment?
-
- ### a method on our object
- if( UNIVERSAL::isa( $self, 'HASH' ) ) {
- if ( not exists $self->{$method} ) {
- __PACKAGE__->___error("No such accessor '$method'", 1);
- return;
- }
-
- ### a method on something else, die with a descriptive error;
- } else {
- local $FATAL = 1;
- __PACKAGE__->___error(
- "You called '$AUTOLOAD' on '$self' which was interpreted by ".
- __PACKAGE__ . " as an object call. Did you mean to include ".
- "'$method' from somewhere else?", 1 );
- }
-
- ### is this is an alias, redispatch to the original method
- if( my $original = $self->{ $method }->[ALIAS] ) {
- return $self->___autoload( $original, @_ );
- }
-
- ### assign?
- my $val = $assign ? shift(@_) : $self->___get( $method );
-
- if( $assign ) {
-
- ### any binding?
- if( $_[0] ) {
- if( ref $_[0] and UNIVERSAL::isa( $_[0], 'SCALAR' ) ) {
-
- ### tie the reference, so we get an object and
- ### we can use it's going out of scope to restore
- ### the old value
- my $cur = $self->{$method}->[VALUE];
-
- tie ${$_[0]}, __PACKAGE__ . '::TIE',
- sub { $self->$method( $cur ) };
-
- ${$_[0]} = $val;
-
- } else {
- __PACKAGE__->___error(
- "Can not bind '$method' to anything but a SCALAR", 1
- );
- }
- }
-
- ### need to check the value?
- if( defined $self->{$method}->[ALLOW] ) {
-
- ### double assignment due to 'used only once' warnings
- local $Params::Check::VERBOSE = 0;
- local $Params::Check::VERBOSE = 0;
-
- allow( $val, $self->{$method}->[ALLOW] ) or (
- __PACKAGE__->___error(
- "'$val' is an invalid value for '$method'", 1),
- return
- );
- }
- }
-
- ### callbacks?
- if( my $sub = $self->___callback ) {
- $val = eval { $sub->( $self, $method, ($assign ? [$val] : []) ) };
-
- ### register the error
- $self->___error( $@, 1 ), return if $@;
- }
-
- ### now we can actually assign it
- if( $assign ) {
- $self->___set( $method, $val ) or return;
- }
-
- return [$val];
-}
-
-=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, callbacks, etc.
-
-Use only if you C<Know What You Are Doing>! General usage for
-this functionality would be in your own custom callbacks.
-
-=cut
-
-### XXX O::A::lvalue is mirroring this behaviour! if this
-### changes, lvalue's autoload must be changed as well
-sub ___get {
- my $self = shift;
- my $method = shift or return;
- return $self->{$method}->[VALUE];
-}
-
-=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, callbacks, etc.
-
-Use only if you C<Know What You Are Doing>! General usage for
-this functionality would be in your own custom callbacks.
-
-=cut
-
-sub ___set {
- my $self = shift;
- my $method = shift or return;
-
- ### you didn't give us a value to set!
- @_ or return;
- my $val = shift;
-
- ### if there's more arguments than $self, then
- ### replace the method called by the accessor.
- ### XXX implement rw vs ro accessors!
- $self->{$method}->[VALUE] = $val;
-
- return 1;
-}
-
-=head2 $bool = $self->___alias( ALIAS => METHOD );
-
-Method to directly alias one accessor to another for
-this object. It circumvents all sanity checks, etc.
-
-Use only if you C<Know What You Are Doing>!
-
-=cut
-
-sub ___alias {
- my $self = shift;
- my $alias = shift or return;
- my $method = shift or return;
-
- $self->{ $alias }->[ALIAS] = $method;
-
- return 1;
-}
-
-sub ___debug {
- return unless $DEBUG;
-
- my $self = shift;
- my $msg = shift;
-
- local $Carp::CarpLevel += 1;
-
- carp($msg);
-}
-
-sub ___error {
- my $self = shift;
- my $msg = shift;
- my $lvl = shift || 0;
- local $Carp::CarpLevel += ($lvl + 1);
- $FATAL ? croak($msg) : carp($msg);
-}
-
-### objects might be overloaded.. if so, we can't trust what "$self"
-### will return, which might get *really* painful.. so check for that
-### and get their unoverloaded stringval if needed.
-sub ___callback {
- my $self = shift;
- my $sub = shift;
-
- my $mem = overload::Overloaded( $self )
- ? overload::StrVal( $self )
- : "$self";
-
- $self->{$mem} = $sub if $sub;
-
- return $self->{$mem};
-}
-
-=head1 LVALUE ACCESSORS
-
-C<Object::Accessor> supports C<lvalue> attributes as well. To enable
-these, you should create your objects in the designated namespace,
-C<Object::Accessor::Lvalue>. For example:
-
- my $obj = Object::Accessor::Lvalue->new('foo');
- $obj->foo += 1;
- print $obj->foo;
-
-will actually print C<1> and work as expected. Since this is an
-optional feature, that's not desirable in all cases, we require
-you to explicitly use the C<Object::Accessor::Lvalue> class.
-
-Doing the same on the standard C<Object>>Accessor> class would
-generate the following code & errors:
-
- my $obj = Object::Accessor->new('foo');
- $obj->foo += 1;
-
- Can't modify non-lvalue subroutine call
-
-Note that C<lvalue> support on C<AUTOLOAD> routines is a
-C<perl 5.8.x> feature. See perldoc L<perl58delta> for details.
-
-=head2 CAVEATS
-
-=over 4
-
-=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 against your allow
-handler. Allow handlers are therefor unsupported under C<lvalue>
-conditions.
-
-See C<perldoc perlsub> for details.
-
-=item * Callbacks
-
-Due to the nature of C<lvalue subs>, we never get access to the
-value you are assigning, so we can not check provide this value
-to your callback. Furthermore, we can not distinguish between
-a C<get> and a C<set> call. Callbacks are therefor unsupported
-under C<lvalue> conditions.
-
-See C<perldoc perlsub> for details.
-
-
-=cut
-
-{ package Object::Accessor::Lvalue;
- use base 'Object::Accessor';
- use strict;
- use vars qw[$AUTOLOAD];
-
- ### constants needed to access values from the objects
- *VALUE = *Object::Accessor::VALUE;
- *ALLOW = *Object::Accessor::ALLOW;
-
- ### largely copied from O::A::Autoload
- sub AUTOLOAD : lvalue {
- my $self = shift;
- my($method) = ($AUTOLOAD =~ /([^:']+$)/);
-
- $self->___autoload( $method, @_ ) or return;
-
- ### *dont* add return to it, or it won't be stored
- ### see perldoc perlsub on lvalue subs
- ### XXX can't use $self->___get( ... ), as we MUST have
- ### the container that's used for the lvalue assign as
- ### the last statement... :(
- $self->{$method}->[ VALUE() ];
- }
-
- sub mk_accessors {
- my $self = shift;
- my $is_hash = UNIVERSAL::isa( $_[0], 'HASH' );
-
- $self->___error(
- "Allow handlers are not supported for '". __PACKAGE__ ."' objects"
- ) if $is_hash;
-
- return $self->SUPER::mk_accessors( @_ );
- }
-
- sub register_callback {
- my $self = shift;
- $self->___error(
- "Callbacks are not supported for '". __PACKAGE__ ."' objects"
- );
- return;
- }
-}
-
-
-### standard tie class for bound attributes
-{ package Object::Accessor::TIE;
- use Tie::Scalar;
- use base 'Tie::StdScalar';
-
- my %local = ();
-
- sub TIESCALAR {
- my $class = shift;
- my $sub = shift;
- my $ref = undef;
- my $obj = bless \$ref, $class;
-
- ### store the restore sub
- $local{ $obj } = $sub;
- return $obj;
- }
-
- sub DESTROY {
- my $tied = shift;
- my $sub = delete $local{ $tied };
-
- ### run the restore sub to set the old value back
- return $sub->();
- }
-}
-
-=back
-
-=head1 GLOBAL VARIABLES
-
-=head2 $Object::Accessor::FATAL
-
-Set this variable to true to make all attempted access to non-existent
-accessors be fatal.
-This defaults to C<false>.
-
-=head2 $Object::Accessor::DEBUG
-
-Set this variable to enable debugging output.
-This defaults to C<false>.
-
-=head1 TODO
-
-=head2 Create read-only accessors
-
-Currently all accessors are read/write for everyone. Perhaps a future
-release should make it possible to have read-only accessors as well.
-
-=head1 CAVEATS
-
-If you use codereferences for your allow handlers, you will not be able
-to freeze the data structures using C<Storable>.
-
-Due to a bug in storable (until at least version 2.15), C<qr//> compiled
-regexes also don't de-serialize properly. Although this bug has been
-reported, you should be aware of this issue when serializing your objects.
-
-You can track the bug here:
-
- http://rt.cpan.org/Ticket/Display.html?id=1827
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-object-accessor@rt.cpan.orgE<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-This library is free software; you may redistribute and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Opcode.pm b/Master/tlpkg/tlperl/lib/Opcode.pm
index f71e7007739..a48b01d3069 100644
--- a/Master/tlpkg/tlperl/lib/Opcode.pm
+++ b/Master/tlpkg/tlperl/lib/Opcode.pm
@@ -6,7 +6,7 @@ use strict;
our($VERSION, @ISA, @EXPORT_OK);
-$VERSION = "1.25";
+$VERSION = "1.27";
use Carp;
use Exporter ();
@@ -308,10 +308,11 @@ invert_opset function.
rv2sv sassign
- rv2av aassign aelem aelemfast aelemfast_lex aslice av2arylen
+ rv2av aassign aelem aelemfast aelemfast_lex aslice kvaslice
+ av2arylen
- rv2hv helem hslice each values keys exists delete aeach akeys
- avalues reach rvalues rkeys
+ rv2hv helem hslice kvhslice each values keys exists delete
+ aeach akeys avalues reach rvalues rkeys
preinc i_preinc predec i_predec postinc i_postinc
postdec i_postdec int hex oct abs pow multiply i_multiply
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pm b/Master/tlpkg/tlperl/lib/POSIX.pm
index 71577c61f3a..78ffe2f3183 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pm
+++ b/Master/tlpkg/tlperl/lib/POSIX.pm
@@ -4,7 +4,7 @@ use warnings;
our ($AUTOLOAD, %SIGRT);
-our $VERSION = '1.32';
+our $VERSION = '1.38_03';
require XSLoader;
@@ -188,6 +188,8 @@ eval join ';', map "sub $_", keys %replacement, keys %reimpl;
sub AUTOLOAD {
my ($func) = ($AUTOLOAD =~ /.*::(.*)/);
+ die "POSIX.xs has failed to load\n" if $func eq 'constant';
+
if (my $code = $reimpl{$func}) {
my ($num, $arg) = (0, '');
if ($code =~ s/^(.*?) *=> *//) {
@@ -241,19 +243,20 @@ our %EXPORT_TAGS = (
dirent_h => [],
- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
- EUSERS EWOULDBLOCK EXDEV errno)],
+ errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN
+ EALREADY EBADF EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED
+ ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT EEXIST
+ EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS
+ EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
+ ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
+ ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG
+ ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR
+ ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP ENOTTY ENXIO
+ EOPNOTSUPP EOTHER EOVERFLOW EOWNERDEAD EPERM EPFNOSUPPORT EPIPE
+ EPROCLIM EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE
+ ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE
+ ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
+ errno)],
fcntl_h => [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
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pod b/Master/tlpkg/tlperl/lib/POSIX.pod
new file mode 100644
index 00000000000..94a5f9dcd97
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/POSIX.pod
@@ -0,0 +1,2367 @@
+=head1 NAME
+
+POSIX - Perl interface to IEEE Std 1003.1
+
+=head1 SYNOPSIS
+
+ use POSIX ();
+ use POSIX qw(setsid);
+ use POSIX qw(:errno_h :fcntl_h);
+
+ printf "EINTR is %d\n", EINTR;
+
+ $sess_id = POSIX::setsid();
+
+ $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
+ # note: that's a filedescriptor, *NOT* a filehandle
+
+=head1 DESCRIPTION
+
+The POSIX module permits you to access all (or nearly all) the standard
+POSIX 1003.1 identifiers. Many of these identifiers have been given Perl-ish
+interfaces.
+
+I<Everything is exported by default> with the exception of any POSIX
+functions with the same name as a built-in Perl function, such as
+C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
+only if you ask for them explicitly. This is an unfortunate backwards
+compatibility feature. You can stop the exporting by saying S<C<use
+POSIX ()>> and then use the fully qualified names (I<e.g.>, C<POSIX::SEEK_END>),
+or by giving an explicit import list. If you do neither, and opt for the
+default, S<C<use POSIX;>> has to import I<553 symbols>.
+
+This document gives a condensed list of the features available in the POSIX
+module. Consult your operating system's manpages for general information on
+most features. Consult L<perlfunc> for functions which are noted as being
+identical to Perl's builtin functions.
+
+The first section describes POSIX functions from the 1003.1 specification.
+The second section describes some classes for signal objects, TTY objects,
+and other miscellaneous objects. The remaining sections list various
+constants and macros in an organization which roughly follows IEEE Std
+1003.1b-1993.
+
+=head1 CAVEATS
+
+A few functions are not implemented because they are C specific. If you
+attempt to call these, they will print a message telling you that they
+aren't implemented, and suggest using the Perl equivalent, should one
+exist. For example, trying to access the C<setjmp()> call will elicit the
+message "C<setjmp() is C-specific: use eval {} instead>".
+
+Furthermore, some evil vendors will claim 1003.1 compliance, but in fact
+are not so: they will not pass the PCTS (POSIX Compliance Test Suites).
+For example, one vendor may not define C<EDEADLK>, or the semantics of the
+errno values set by C<open(2)> might not be quite right. Perl does not
+attempt to verify POSIX compliance. That means you can currently
+successfully say "use POSIX", and then later in your program you find
+that your vendor has been lax and there's no usable C<ICANON> macro after
+all. This could be construed to be a bug.
+
+=head1 FUNCTIONS
+
+=over 8
+
+=item C<_exit>
+
+This is identical to the C function C<_exit()>. It exits the program
+immediately which means among other things buffered I/O is B<not> flushed.
+
+Note that when using threads and in Linux this is B<not> a good way to
+exit a thread because in Linux processes and threads are kind of the
+same thing (Note: while this is the situation in early 2003 there are
+projects under way to have threads with more POSIXly semantics in Linux).
+If you want not to return from a thread, detach the thread.
+
+=item C<abort>
+
+This is identical to the C function C<abort()>. It terminates the
+process with a C<SIGABRT> signal unless caught by a signal handler or
+if the handler does not return normally (it e.g. does a C<longjmp>).
+
+=item C<abs>
+
+This is identical to Perl's builtin C<abs()> function, returning
+the absolute value of its numerical argument.
+
+=item C<access>
+
+Determines the accessibility of a file.
+
+ if( POSIX::access( "/", &POSIX::R_OK ) ){
+ print "have read permission\n";
+ }
+
+Returns C<undef> on failure. Note: do not use C<access()> for
+security purposes. Between the C<access()> call and the operation
+you are preparing for the permissions might change: a classic
+I<race condition>.
+
+=item C<acos>
+
+This is identical to the C function C<acos()>, returning
+the arcus cosine of its numerical argument. See also L<Math::Trig>.
+
+=item C<alarm>
+
+This is identical to Perl's builtin C<alarm()> function,
+either for arming or disarming the C<SIGARLM> timer.
+
+=item C<asctime>
+
+This is identical to the C function C<asctime()>. It returns
+a string of the form
+
+ "Fri Jun 2 18:22:13 2000\n\0"
+
+and it is called thusly
+
+ $asctime = asctime($sec, $min, $hour, $mday, $mon,
+ $year, $wday, $yday, $isdst);
+
+The C<$mon> is zero-based: January equals C<0>. The C<$year> is
+1900-based: 2001 equals C<101>. C<$wday> and C<$yday> default to zero
+(and are usually ignored anyway), and C<$isdst> defaults to -1.
+
+=item C<asin>
+
+This is identical to the C function C<asin()>, returning
+the arcus sine of its numerical argument. See also L<Math::Trig>.
+
+=item C<assert>
+
+Unimplemented, but you can use L<perlfunc/die> and the L<Carp> module
+to achieve similar things.
+
+=item C<atan>
+
+This is identical to the C function C<atan()>, returning the
+arcus tangent of its numerical argument. See also L<Math::Trig>.
+
+=item C<atan2>
+
+This is identical to Perl's builtin C<atan2()> function, returning
+the arcus tangent defined by its two numerical arguments, the I<y>
+coordinate and the I<x> coordinate. See also L<Math::Trig>.
+
+=item C<atexit>
+
+C<atexit()> is C-specific: use C<END {}> instead, see L<perlmod>.
+
+=item C<atof>
+
+C<atof()> is C-specific. Perl converts strings to numbers transparently.
+If you need to force a scalar to a number, add a zero to it.
+
+=item C<atoi>
+
+C<atoi()> is C-specific. Perl converts strings to numbers transparently.
+If you need to force a scalar to a number, add a zero to it.
+If you need to have just the integer part, see L<perlfunc/int>.
+
+=item C<atol>
+
+C<atol()> is C-specific. Perl converts strings to numbers transparently.
+If you need to force a scalar to a number, add a zero to it.
+If you need to have just the integer part, see L<perlfunc/int>.
+
+=item C<bsearch>
+
+C<bsearch()> not supplied. For doing binary search on wordlists,
+see L<Search::Dict>.
+
+=item C<calloc>
+
+C<calloc()> is C-specific. Perl does memory management transparently.
+
+=item C<ceil>
+
+This is identical to the C function C<ceil()>, returning the smallest
+integer value greater than or equal to the given numerical argument.
+
+=item C<chdir>
+
+This is identical to Perl's builtin C<chdir()> function, allowing
+one to change the working (default) directory, see L<perlfunc/chdir>.
+
+=item C<chmod>
+
+This is identical to Perl's builtin C<chmod()> function, allowing
+one to change file and directory permissions, see L<perlfunc/chmod>.
+
+=item C<chown>
+
+This is identical to Perl's builtin C<chown()> function, allowing one
+to change file and directory owners and groups, see L<perlfunc/chown>.
+
+=item C<clearerr>
+
+Use the method C<IO::Handle::clearerr()> instead, to reset the error
+state (if any) and EOF state (if any) of the given stream.
+
+=item C<clock>
+
+This is identical to the C function C<clock()>, returning the
+amount of spent processor time in microseconds.
+
+=item C<close>
+
+Close the file. This uses file descriptors such as those obtained by calling
+C<POSIX::open>.
+
+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
+ POSIX::close( $fd );
+
+Returns C<undef> on failure.
+
+See also L<perlfunc/close>.
+
+=item C<closedir>
+
+This is identical to Perl's builtin C<closedir()> function for closing
+a directory handle, see L<perlfunc/closedir>.
+
+=item C<cos>
+
+This is identical to Perl's builtin C<cos()> function, for returning
+the cosine of its numerical argument, see L<perlfunc/cos>.
+See also L<Math::Trig>.
+
+=item C<cosh>
+
+This is identical to the C function C<cosh()>, for returning
+the hyperbolic cosine of its numeric argument. See also L<Math::Trig>.
+
+=item C<creat>
+
+Create a new file. This returns a file descriptor like the ones returned by
+C<POSIX::open>. Use C<POSIX::close> to close the file.
+
+ $fd = POSIX::creat( "foo", 0611 );
+ POSIX::close( $fd );
+
+See also L<perlfunc/sysopen> and its C<O_CREAT> flag.
+
+=item C<ctermid>
+
+Generates the path name for the controlling terminal.
+
+ $path = POSIX::ctermid();
+
+=item C<ctime>
+
+This is identical to the C function C<ctime()> and equivalent
+to C<asctime(localtime(...))>, see L</asctime> and L</localtime>.
+
+=item C<cuserid>
+
+Get the login name of the owner of the current process.
+
+ $name = POSIX::cuserid();
+
+=item C<difftime>
+
+This is identical to the C function C<difftime()>, for returning
+the time difference (in seconds) between two times (as returned
+by C<time()>), see L</time>.
+
+=item C<div>
+
+C<div()> is C-specific, use L<perlfunc/int> on the usual C</> division and
+the modulus C<%>.
+
+=item C<dup>
+
+This is similar to the C function C<dup()>, for duplicating a file
+descriptor.
+
+This uses file descriptors such as those obtained by calling
+C<POSIX::open>.
+
+Returns C<undef> on failure.
+
+=item C<dup2>
+
+This is similar to the C function C<dup2()>, for duplicating a file
+descriptor to an another known file descriptor.
+
+This uses file descriptors such as those obtained by calling
+C<POSIX::open>.
+
+Returns C<undef> on failure.
+
+=item C<errno>
+
+Returns the value of errno.
+
+ $errno = POSIX::errno();
+
+This identical to the numerical values of the C<$!>, see L<perlvar/$ERRNO>.
+
+=item C<execl>
+
+C<execl()> is C-specific, see L<perlfunc/exec>.
+
+=item C<execle>
+
+C<execle()> is C-specific, see L<perlfunc/exec>.
+
+=item C<execlp>
+
+C<execlp()> is C-specific, see L<perlfunc/exec>.
+
+=item C<execv>
+
+C<execv()> is C-specific, see L<perlfunc/exec>.
+
+=item C<execve>
+
+C<execve()> is C-specific, see L<perlfunc/exec>.
+
+=item C<execvp>
+
+C<execvp()> is C-specific, see L<perlfunc/exec>.
+
+=item C<exit>
+
+This is identical to Perl's builtin C<exit()> function for exiting the
+program, see L<perlfunc/exit>.
+
+=item C<exp>
+
+This is identical to Perl's builtin C<exp()> function for
+returning the exponent (I<e>-based) of the numerical argument,
+see L<perlfunc/exp>.
+
+=item C<fabs>
+
+This is identical to Perl's builtin C<abs()> function for returning
+the absolute value of the numerical argument, see L<perlfunc/abs>.
+
+=item C<fclose>
+
+Use method C<IO::Handle::close()> instead, or see L<perlfunc/close>.
+
+=item C<fcntl>
+
+This is identical to Perl's builtin C<fcntl()> function,
+see L<perlfunc/fcntl>.
+
+=item C<fdopen>
+
+Use method C<IO::Handle::new_from_fd()> instead, or see L<perlfunc/open>.
+
+=item C<feof>
+
+Use method C<IO::Handle::eof()> instead, or see L<perlfunc/eof>.
+
+=item C<ferror>
+
+Use method C<IO::Handle::error()> instead.
+
+=item C<fflush>
+
+Use method C<IO::Handle::flush()> instead.
+See also C<L<perlvar/$OUTPUT_AUTOFLUSH>>.
+
+=item C<fgetc>
+
+Use method C<IO::Handle::getc()> instead, or see L<perlfunc/read>.
+
+=item C<fgetpos>
+
+Use method C<IO::Seekable::getpos()> instead, or see L<perlfunc/seek>.
+
+=item C<fgets>
+
+Use method C<IO::Handle::gets()> instead. Similar to E<lt>E<gt>, also known
+as L<perlfunc/readline>.
+
+=item C<fileno>
+
+Use method C<IO::Handle::fileno()> instead, or see L<perlfunc/fileno>.
+
+=item C<floor>
+
+This is identical to the C function C<floor()>, returning the largest
+integer value less than or equal to the numerical argument.
+
+=item C<fmod>
+
+This is identical to the C function C<fmod()>.
+
+ $r = fmod($x, $y);
+
+It returns the remainder C<$r = $x - $n*$y>, where C<$n = trunc($x/$y)>.
+The C<$r> has the same sign as C<$x> and magnitude (absolute value)
+less than the magnitude of C<$y>.
+
+=item C<fopen>
+
+Use method C<IO::File::open()> instead, or see L<perlfunc/open>.
+
+=item C<fork>
+
+This is identical to Perl's builtin C<fork()> function
+for duplicating the current process, see L<perlfunc/fork>
+and L<perlfork> if you are in Windows.
+
+=item C<fpathconf>
+
+Retrieves the value of a configurable limit on a file or directory. This
+uses file descriptors such as those obtained by calling C<POSIX::open>.
+
+The following will determine the maximum length of the longest allowable
+pathname on the filesystem which holds F</var/foo>.
+
+ $fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY );
+ $path_max = POSIX::fpathconf($fd, &POSIX::_PC_PATH_MAX);
+
+Returns C<undef> on failure.
+
+=item C<fprintf>
+
+C<fprintf()> is C-specific, see L<perlfunc/printf> instead.
+
+=item C<fputc>
+
+C<fputc()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<fputs>
+
+C<fputs()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<fread>
+
+C<fread()> is C-specific, see L<perlfunc/read> instead.
+
+=item C<free>
+
+C<free()> is C-specific. Perl does memory management transparently.
+
+=item C<freopen>
+
+C<freopen()> is C-specific, see L<perlfunc/open> instead.
+
+=item C<frexp>
+
+Return the mantissa and exponent of a floating-point number.
+
+ ($mantissa, $exponent) = POSIX::frexp( 1.234e56 );
+
+=item C<fscanf>
+
+C<fscanf()> is C-specific, use E<lt>E<gt> and regular expressions instead.
+
+=item C<fseek>
+
+Use method C<IO::Seekable::seek()> instead, or see L<perlfunc/seek>.
+
+=item C<fsetpos>
+
+Use method C<IO::Seekable::setpos()> instead, or seek L<perlfunc/seek>.
+
+=item C<fstat>
+
+Get file status. This uses file descriptors such as those obtained by
+calling C<POSIX::open>. The data returned is identical to the data from
+Perl's builtin C<stat> function.
+
+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
+ @stats = POSIX::fstat( $fd );
+
+=item C<fsync>
+
+Use method C<IO::Handle::sync()> instead.
+
+=item C<ftell>
+
+Use method C<IO::Seekable::tell()> instead, or see L<perlfunc/tell>.
+
+=item C<fwrite>
+
+C<fwrite()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<getc>
+
+This is identical to Perl's builtin C<getc()> function,
+see L<perlfunc/getc>.
+
+=item C<getchar>
+
+Returns one character from STDIN. Identical to Perl's C<getc()>,
+see L<perlfunc/getc>.
+
+=item C<getcwd>
+
+Returns the name of the current working directory.
+See also L<Cwd>.
+
+=item C<getegid>
+
+Returns the effective group identifier. Similar to Perl' s builtin
+variable C<$(>, see L<perlvar/$EGID>.
+
+=item C<getenv>
+
+Returns the value of the specified environment variable.
+The same information is available through the C<%ENV> array.
+
+=item C<geteuid>
+
+Returns the effective user identifier. Identical to Perl's builtin C<$E<gt>>
+variable, see L<perlvar/$EUID>.
+
+=item C<getgid>
+
+Returns the user's real group identifier. Similar to Perl's builtin
+variable C<$)>, see L<perlvar/$GID>.
+
+=item C<getgrgid>
+
+This is identical to Perl's builtin C<getgrgid()> function for
+returning group entries by group identifiers, see
+L<perlfunc/getgrgid>.
+
+=item C<getgrnam>
+
+This is identical to Perl's builtin C<getgrnam()> function for
+returning group entries by group names, see L<perlfunc/getgrnam>.
+
+=item C<getgroups>
+
+Returns the ids of the user's supplementary groups. Similar to Perl's
+builtin variable C<$)>, see L<perlvar/$GID>.
+
+=item C<getlogin>
+
+This is identical to Perl's builtin C<getlogin()> function for
+returning the user name associated with the current session, see
+L<perlfunc/getlogin>.
+
+=item C<getpgrp>
+
+This is identical to Perl's builtin C<getpgrp()> function for
+returning the process group identifier of the current process, see
+L<perlfunc/getpgrp>.
+
+=item C<getpid>
+
+Returns the process identifier. Identical to Perl's builtin
+variable C<$$>, see L<perlvar/$PID>.
+
+=item C<getppid>
+
+This is identical to Perl's builtin C<getppid()> function for
+returning the process identifier of the parent process of the current
+process , see L<perlfunc/getppid>.
+
+=item C<getpwnam>
+
+This is identical to Perl's builtin C<getpwnam()> function for
+returning user entries by user names, see L<perlfunc/getpwnam>.
+
+=item C<getpwuid>
+
+This is identical to Perl's builtin C<getpwuid()> function for
+returning user entries by user identifiers, see L<perlfunc/getpwuid>.
+
+=item C<gets>
+
+Returns one line from C<STDIN>, similar to E<lt>E<gt>, also known
+as the C<readline()> function, see L<perlfunc/readline>.
+
+B<NOTE>: if you have C programs that still use C<gets()>, be very
+afraid. The C<gets()> function is a source of endless grief because
+it has no buffer overrun checks. It should B<never> be used. The
+C<fgets()> function should be preferred instead.
+
+=item C<getuid>
+
+Returns the user's identifier. Identical to Perl's builtin C<$E<lt>> variable,
+see L<perlvar/$UID>.
+
+=item C<gmtime>
+
+This is identical to Perl's builtin C<gmtime()> function for
+converting seconds since the epoch to a date in Greenwich Mean Time,
+see L<perlfunc/gmtime>.
+
+=item C<isalnum>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:alnum:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+You may want to use the C<L<E<sol>\wE<sol>|perlrecharclass/Word
+characters>> construct instead.
+
+=item C<isalpha>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:alpha:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<isatty>
+
+Returns a boolean indicating whether the specified filehandle is connected
+to a tty. Similar to the C<-t> operator, see L<perlfunc/-X>.
+
+=item C<iscntrl>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:cntrl:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<isdigit>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:digit:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+You may want to use the C<L<E<sol>\dE<sol>|perlrecharclass/Digits>>
+construct instead.
+
+=item C<isgraph>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:graph:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<islower>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:lower:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+Do B<not> use C</[a-z]/> unless you don't care about the current locale.
+
+=item C<isprint>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:print:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<ispunct>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:punct:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<isspace>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:space:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+You may want to use the C<L<E<sol>\sE<sol>|perlrecharclass/Whitespace>>
+construct instead.
+
+=item C<isupper>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:upper:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+Do B<not> use C</[A-Z]/> unless you don't care about the current locale.
+
+=item C<isxdigit>
+
+Deprecated function whose use raises a warning, and which is slated to
+be removed in a future Perl version. It is very similar to matching
+against S<C<qr/ ^ [[:xdigit:]]+ $ /x>>, which you should convert to use
+instead. The function is deprecated because 1) it doesn't handle UTF-8
+encoded strings properly; and 2) it returns C<TRUE> even if the input is
+the empty string. The function return is always based on the current
+locale, whereas using locale rules is optional with the regular
+expression, based on pragmas in effect and pattern modifiers (see
+L<perlre/Character set modifiers> and L<perlre/Which character set
+modifier is in effect?>).
+
+The function returns C<TRUE> if the input string is empty, or if the
+corresponding C function returns C<TRUE> for every byte in the string.
+
+=item C<kill>
+
+This is identical to Perl's builtin C<kill()> function for sending
+signals to processes (often to terminate them), see L<perlfunc/kill>.
+
+=item C<labs>
+
+(For returning absolute values of long integers.)
+C<labs()> is C-specific, see L<perlfunc/abs> instead.
+
+=item C<lchown>
+
+This is identical to the C function, except the order of arguments is
+consistent with Perl's builtin C<chown()> with the added restriction
+of only one path, not an list of paths. Does the same thing as the
+C<chown()> function but changes the owner of a symbolic link instead
+of the file the symbolic link points to.
+
+=item C<ldexp>
+
+This is identical to the C function C<ldexp()>
+for multiplying floating point numbers with powers of two.
+
+ $x_quadrupled = POSIX::ldexp($x, 2);
+
+=item C<ldiv>
+
+(For computing dividends of long integers.)
+C<ldiv()> is C-specific, use C</> and C<int()> instead.
+
+=item C<link>
+
+This is identical to Perl's builtin C<link()> function
+for creating hard links into files, see L<perlfunc/link>.
+
+=item C<localeconv>
+
+Get numeric formatting information. Returns a reference to a hash
+containing the current locale formatting values. Users of this function
+should also read L<perllocale>, which provides a comprehensive
+discussion of Perl locale handling, including
+L<a section devoted to this function|perllocale/The localeconv function>.
+
+Here is how to query the database for the B<de> (Deutsch or German) locale.
+
+ my $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
+ print "Locale: \"$loc\"\n";
+ my $lconv = POSIX::localeconv();
+ foreach my $property (qw(
+ decimal_point
+ thousands_sep
+ grouping
+ int_curr_symbol
+ currency_symbol
+ mon_decimal_point
+ mon_thousands_sep
+ mon_grouping
+ positive_sign
+ negative_sign
+ int_frac_digits
+ frac_digits
+ p_cs_precedes
+ p_sep_by_space
+ n_cs_precedes
+ n_sep_by_space
+ p_sign_posn
+ n_sign_posn
+ ))
+ {
+ printf qq(%s: "%s",\n),
+ $property, $lconv->{$property};
+ }
+
+=item C<localtime>
+
+This is identical to Perl's builtin C<localtime()> function for
+converting seconds since the epoch to a date see L<perlfunc/localtime>.
+
+=item C<log>
+
+This is identical to Perl's builtin C<log()> function,
+returning the natural (I<e>-based) logarithm of the numerical argument,
+see L<perlfunc/log>.
+
+=item C<log10>
+
+This is identical to the C function C<log10()>,
+returning the 10-base logarithm of the numerical argument.
+You can also use
+
+ sub log10 { log($_[0]) / log(10) }
+
+or
+
+ sub log10 { log($_[0]) / 2.30258509299405 }
+
+or
+
+ sub log10 { log($_[0]) * 0.434294481903252 }
+
+=item C<longjmp>
+
+C<longjmp()> is C-specific: use L<perlfunc/die> instead.
+
+=item C<lseek>
+
+Move the file's read/write position. This uses file descriptors such as
+those obtained by calling C<POSIX::open>.
+
+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
+ $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
+
+Returns C<undef> on failure.
+
+=item C<malloc>
+
+C<malloc()> is C-specific. Perl does memory management transparently.
+
+=item C<mblen>
+
+This is identical to the C function C<mblen()>.
+Perl does not have any support for the wide and multibyte
+characters of the C standards, so this might be a rather
+useless function.
+
+=item C<mbstowcs>
+
+This is identical to the C function C<mbstowcs()>.
+Perl does not have any support for the wide and multibyte
+characters of the C standards, so this might be a rather
+useless function.
+
+=item C<mbtowc>
+
+This is identical to the C function C<mbtowc()>.
+Perl does not have any support for the wide and multibyte
+characters of the C standards, so this might be a rather
+useless function.
+
+=item C<memchr>
+
+C<memchr()> is C-specific, see L<perlfunc/index> instead.
+
+=item C<memcmp>
+
+C<memcmp()> is C-specific, use C<eq> instead, see L<perlop>.
+
+=item C<memcpy>
+
+C<memcpy()> is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
+
+=item C<memmove>
+
+C<memmove()> is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
+
+=item C<memset>
+
+C<memset()> is C-specific, use C<x> instead, see L<perlop>.
+
+=item C<mkdir>
+
+This is identical to Perl's builtin C<mkdir()> function
+for creating directories, see L<perlfunc/mkdir>.
+
+=item C<mkfifo>
+
+This is similar to the C function C<mkfifo()> for creating
+FIFO special files.
+
+ if (mkfifo($path, $mode)) { ....
+
+Returns C<undef> on failure. The C<$mode> is similar to the
+mode of C<mkdir()>, see L<perlfunc/mkdir>, though for C<mkfifo>
+you B<must> specify the C<$mode>.
+
+=item C<mktime>
+
+Convert date/time info to a calendar time.
+
+Synopsis:
+
+ mktime(sec, min, hour, mday, mon, year, wday = 0,
+ yday = 0, isdst = -1)
+
+The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
+I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
+year (C<year>) is given in years since 1900. I.e. The year 1995 is 95; the
+year 2001 is 101. Consult your system's C<mktime()> manpage for details
+about these and the other arguments.
+
+Calendar time for December 12, 1995, at 10:30 am.
+
+ $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
+ print "Date = ", POSIX::ctime($time_t);
+
+Returns C<undef> on failure.
+
+=item C<modf>
+
+Return the integral and fractional parts of a floating-point number.
+
+ ($fractional, $integral) = POSIX::modf( 3.14 );
+
+=item C<nice>
+
+This is similar to the C function C<nice()>, for changing
+the scheduling preference of the current process. Positive
+arguments mean more polite process, negative values more
+needy process. Normal user processes can only be more polite.
+
+Returns C<undef> on failure.
+
+=item C<offsetof>
+
+C<offsetof()> is C-specific, you probably want to see L<perlfunc/pack> instead.
+
+=item C<open>
+
+Open a file for reading for writing. This returns file descriptors, not
+Perl filehandles. Use C<POSIX::close> to close the file.
+
+Open a file read-only with mode 0666.
+
+ $fd = POSIX::open( "foo" );
+
+Open a file for read and write.
+
+ $fd = POSIX::open( "foo", &POSIX::O_RDWR );
+
+Open a file for write, with truncation.
+
+ $fd = POSIX::open(
+ "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC
+ );
+
+Create a new file with mode 0640. Set up the file for writing.
+
+ $fd = POSIX::open(
+ "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640
+ );
+
+Returns C<undef> on failure.
+
+See also L<perlfunc/sysopen>.
+
+=item C<opendir>
+
+Open a directory for reading.
+
+ $dir = POSIX::opendir( "/var" );
+ @files = POSIX::readdir( $dir );
+ POSIX::closedir( $dir );
+
+Returns C<undef> on failure.
+
+=item C<pathconf>
+
+Retrieves the value of a configurable limit on a file or directory.
+
+The following will determine the maximum length of the longest allowable
+pathname on the filesystem which holds C</var>.
+
+ $path_max = POSIX::pathconf( "/var",
+ &POSIX::_PC_PATH_MAX );
+
+Returns C<undef> on failure.
+
+=item C<pause>
+
+This is similar to the C function C<pause()>, which suspends
+the execution of the current process until a signal is received.
+
+Returns C<undef> on failure.
+
+=item C<perror>
+
+This is identical to the C function C<perror()>, which outputs to the
+standard error stream the specified message followed by C<": "> and the
+current error string. Use the C<warn()> function and the C<$!>
+variable instead, see L<perlfunc/warn> and L<perlvar/$ERRNO>.
+
+=item C<pipe>
+
+Create an interprocess channel. This returns file descriptors like those
+returned by C<POSIX::open>.
+
+ my ($read, $write) = POSIX::pipe();
+ POSIX::write( $write, "hello", 5 );
+ POSIX::read( $read, $buf, 5 );
+
+See also L<perlfunc/pipe>.
+
+=item C<pow>
+
+Computes C<$x> raised to the power C<$exponent>.
+
+ $ret = POSIX::pow( $x, $exponent );
+
+You can also use the C<**> operator, see L<perlop>.
+
+=item C<printf>
+
+Formats and prints the specified arguments to STDOUT.
+See also L<perlfunc/printf>.
+
+=item C<putc>
+
+C<putc()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<putchar>
+
+C<putchar()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<puts>
+
+C<puts()> is C-specific, see L<perlfunc/print> instead.
+
+=item C<qsort>
+
+C<qsort()> is C-specific, see L<perlfunc/sort> instead.
+
+=item C<raise>
+
+Sends the specified signal to the current process.
+See also L<perlfunc/kill> and the C<$$> in L<perlvar/$PID>.
+
+=item C<rand>
+
+C<rand()> is non-portable, see L<perlfunc/rand> instead.
+
+=item C<read>
+
+Read from a file. This uses file descriptors such as those obtained by
+calling C<POSIX::open>. If the buffer C<$buf> is not large enough for the
+read then Perl will extend it to make room for the request.
+
+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
+ $bytes = POSIX::read( $fd, $buf, 3 );
+
+Returns C<undef> on failure.
+
+See also L<perlfunc/sysread>.
+
+=item C<readdir>
+
+This is identical to Perl's builtin C<readdir()> function
+for reading directory entries, see L<perlfunc/readdir>.
+
+=item C<realloc>
+
+C<realloc()> is C-specific. Perl does memory management transparently.
+
+=item C<remove>
+
+This is identical to Perl's builtin C<unlink()> function
+for removing files, see L<perlfunc/unlink>.
+
+=item C<rename>
+
+This is identical to Perl's builtin C<rename()> function
+for renaming files, see L<perlfunc/rename>.
+
+=item C<rewind>
+
+Seeks to the beginning of the file.
+
+=item C<rewinddir>
+
+This is identical to Perl's builtin C<rewinddir()> function for
+rewinding directory entry streams, see L<perlfunc/rewinddir>.
+
+=item C<rmdir>
+
+This is identical to Perl's builtin C<rmdir()> function
+for removing (empty) directories, see L<perlfunc/rmdir>.
+
+=item C<scanf>
+
+C<scanf()> is C-specific, use E<lt>E<gt> and regular expressions instead,
+see L<perlre>.
+
+=item C<setgid>
+
+Sets the real group identifier and the effective group identifier for
+this process. Similar to assigning a value to the Perl's builtin
+C<$)> variable, see L<perlvar/$EGID>, except that the latter
+will change only the real user identifier, and that the setgid()
+uses only a single numeric argument, as opposed to a space-separated
+list of numbers.
+
+=item C<setjmp>
+
+C<setjmp()> is C-specific: use C<eval {}> instead,
+see L<perlfunc/eval>.
+
+=item C<setlocale>
+
+Modifies and queries the program's underlying locale. Users of this
+function should read L<perllocale>, whch provides a comprehensive
+discussion of Perl locale handling, knowledge of which is necessary to
+properly use this function. It contains
+L<a section devoted to this function|perllocale/The setlocale function>.
+The discussion here is merely a summary reference for C<setlocale()>.
+Note that Perl itself is almost entirely unaffected by the locale
+except within the scope of S<C<"use locale">>. (Exceptions are listed
+in L<perllocale/Not within the scope of any "use locale" variant>.)
+
+The following examples assume
+
+ use POSIX qw(setlocale LC_ALL LC_CTYPE);
+
+has been issued.
+
+The following will set the traditional UNIX system locale behavior
+(the second argument C<"C">).
+
+ $loc = setlocale( LC_ALL, "C" );
+
+The following will query the current C<LC_CTYPE> category. (No second
+argument means 'query'.)
+
+ $loc = setlocale( LC_CTYPE );
+
+The following will set the C<LC_CTYPE> behaviour according to the locale
+environment variables (the second argument C<"">).
+Please see your system's C<setlocale(3)> documentation for the locale
+environment variables' meaning or consult L<perllocale>.
+
+ $loc = setlocale( LC_CTYPE, "" );
+
+The following will set the C<LC_COLLATE> behaviour to Argentinian
+Spanish. B<NOTE>: The naming and availability of locales depends on
+your operating system. Please consult L<perllocale> for how to find
+out which locales are available in your system.
+
+ $loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" );
+
+=item C<setpgid>
+
+This is similar to the C function C<setpgid()> for
+setting the process group identifier of the current process.
+
+Returns C<undef> on failure.
+
+=item C<setsid>
+
+This is identical to the C function C<setsid()> for
+setting the session identifier of the current process.
+
+=item C<setuid>
+
+Sets the real user identifier and the effective user identifier for
+this process. Similar to assigning a value to the Perl's builtin
+C<$E<lt>> variable, see L<perlvar/$UID>, except that the latter
+will change only the real user identifier.
+
+=item C<sigaction>
+
+Detailed signal management. This uses C<POSIX::SigAction> objects for
+the C<action> and C<oldaction> arguments (the oldaction can also be
+just a hash reference). Consult your system's C<sigaction> manpage
+for details, see also C<POSIX::SigRt>.
+
+Synopsis:
+
+ sigaction(signal, action, oldaction = 0)
+
+Returns C<undef> on failure. The C<signal> must be a number (like
+C<SIGHUP>), not a string (like C<"SIGHUP">), though Perl does try hard
+to understand you.
+
+If you use the C<SA_SIGINFO> flag, the signal handler will in addition to
+the first argument, the signal name, also receive a second argument, a
+hash reference, inside which are the following keys with the following
+semantics, as defined by POSIX/SUSv3:
+
+ signo the signal number
+ errno the error number
+ code if this is zero or less, the signal was sent by
+ a user process and the uid and pid make sense,
+ otherwise the signal was sent by the kernel
+
+The following are also defined by POSIX/SUSv3, but unfortunately
+not very widely implemented:
+
+ pid the process id generating the signal
+ uid the uid of the process id generating the signal
+ status exit value or signal for SIGCHLD
+ band band event for SIGPOLL
+
+A third argument is also passed to the handler, which contains a copy
+of the raw binary contents of the C<siginfo> structure: if a system has
+some non-POSIX fields, this third argument is where to C<unpack()> them
+from.
+
+Note that not all C<siginfo> values make sense simultaneously (some are
+valid only for certain signals, for example), and not all values make
+sense from Perl perspective, you should to consult your system's
+C<sigaction> and possibly also C<siginfo> documentation.
+
+=item C<siglongjmp>
+
+C<siglongjmp()> is C-specific: use L<perlfunc/die> instead.
+
+=item C<sigpending>
+
+Examine signals that are blocked and pending. This uses C<POSIX::SigSet>
+objects for the C<sigset> argument. Consult your system's C<sigpending>
+manpage for details.
+
+Synopsis:
+
+ sigpending(sigset)
+
+Returns C<undef> on failure.
+
+=item C<sigprocmask>
+
+Change and/or examine calling process's signal mask. This uses
+C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
+Consult your system's C<sigprocmask> manpage for details.
+
+Synopsis:
+
+ sigprocmask(how, sigset, oldsigset = 0)
+
+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 C<sigsetjmp>
+
+C<sigsetjmp()> is C-specific: use C<eval {}> instead,
+see L<perlfunc/eval>.
+
+=item C<sigsuspend>
+
+Install a signal mask and suspend process until signal arrives. This uses
+C<POSIX::SigSet> objects for the C<signal_mask> argument. Consult your
+system's C<sigsuspend> manpage for details.
+
+Synopsis:
+
+ sigsuspend(signal_mask)
+
+Returns C<undef> on failure.
+
+=item C<sin>
+
+This is identical to Perl's builtin C<sin()> function
+for returning the sine of the numerical argument,
+see L<perlfunc/sin>. See also L<Math::Trig>.
+
+=item C<sinh>
+
+This is identical to the C function C<sinh()>
+for returning the hyperbolic sine of the numerical argument.
+See also L<Math::Trig>.
+
+=item C<sleep>
+
+This is functionally identical to Perl's builtin C<sleep()> function
+for suspending the execution of the current for process for certain
+number of seconds, see L<perlfunc/sleep>. There is one significant
+difference, however: C<POSIX::sleep()> returns the number of
+B<unslept> seconds, while the C<CORE::sleep()> returns the
+number of slept seconds.
+
+=item C<sprintf>
+
+This is similar to Perl's builtin C<sprintf()> function
+for returning a string that has the arguments formatted as requested,
+see L<perlfunc/sprintf>.
+
+=item C<sqrt>
+
+This is identical to Perl's builtin C<sqrt()> function.
+for returning the square root of the numerical argument,
+see L<perlfunc/sqrt>.
+
+=item C<srand>
+
+Give a seed the pseudorandom number generator, see L<perlfunc/srand>.
+
+=item C<sscanf>
+
+C<sscanf()> is C-specific, use regular expressions instead,
+see L<perlre>.
+
+=item C<stat>
+
+This is identical to Perl's builtin C<stat()> function
+for returning information about files and directories.
+
+=item C<strcat>
+
+C<strcat()> is C-specific, use C<.=> instead, see L<perlop>.
+
+=item C<strchr>
+
+C<strchr()> is C-specific, see L<perlfunc/index> instead.
+
+=item C<strcmp>
+
+C<strcmp()> is C-specific, use C<eq> or C<cmp> instead, see L<perlop>.
+
+=item C<strcoll>
+
+This is identical to the C function C<strcoll()>
+for collating (comparing) strings transformed using
+the C<strxfrm()> function. Not really needed since
+Perl can do this transparently, see L<perllocale>.
+
+=item C<strcpy>
+
+C<strcpy()> is C-specific, use C<=> instead, see L<perlop>.
+
+=item C<strcspn>
+
+C<strcspn()> is C-specific, use regular expressions instead,
+see L<perlre>.
+
+=item C<strerror>
+
+Returns the error string for the specified errno.
+Identical to the string form of the C<$!>, see L<perlvar/$ERRNO>.
+
+=item C<strftime>
+
+Convert date and time information to string. Returns the string.
+
+Synopsis:
+
+ strftime(fmt, sec, min, hour, mday, mon, year,
+ wday = -1, yday = -1, isdst = -1)
+
+The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
+I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
+year (C<year>) is given in years since 1900. I.e., the year 1995 is 95; the
+year 2001 is 101. Consult your system's C<strftime()> manpage for details
+about these and the other arguments.
+
+If you want your code to be portable, your format (C<fmt>) argument
+should use only the conversion specifiers defined by the ANSI C
+standard (C89, to play safe). These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
+But even then, the B<results> of some of the conversion specifiers are
+non-portable. For example, the specifiers C<aAbBcpZ> change according
+to the locale settings of the user, and both how to set locales (the
+locale names) and what output to expect are non-standard.
+The specifier C<c> changes according to the timezone settings of the
+user and the timezone computation rules of the operating system.
+The C<Z> specifier is notoriously unportable since the names of
+timezones are non-standard. Sticking to the numeric specifiers is the
+safest route.
+
+The given arguments are made consistent as though by calling
+C<mktime()> before calling your system's C<strftime()> function,
+except that the C<isdst> value is not affected.
+
+The string for Tuesday, December 12, 1995.
+
+ $str = POSIX::strftime( "%A, %B %d, %Y",
+ 0, 0, 0, 12, 11, 95, 2 );
+ print "$str\n";
+
+=item C<strlen>
+
+C<strlen()> is C-specific, use C<length()> instead, see L<perlfunc/length>.
+
+=item C<strncat>
+
+C<strncat()> is C-specific, use C<.=> instead, see L<perlop>.
+
+=item C<strncmp>
+
+C<strncmp()> is C-specific, use C<eq> instead, see L<perlop>.
+
+=item C<strncpy>
+
+C<strncpy()> is C-specific, use C<=> instead, see L<perlop>.
+
+=item C<strpbrk>
+
+C<strpbrk()> is C-specific, use regular expressions instead,
+see L<perlre>.
+
+=item C<strrchr>
+
+C<strrchr()> is C-specific, see L<perlfunc/rindex> instead.
+
+=item C<strspn>
+
+C<strspn()> is C-specific, use regular expressions instead,
+see L<perlre>.
+
+=item C<strstr>
+
+This is identical to Perl's builtin C<index()> function,
+see L<perlfunc/index>.
+
+=item C<strtod>
+
+String to double translation. Returns the parsed number and the number
+of characters in the unparsed portion of the string. Truly
+POSIX-compliant systems set C<$!> (C<$ERRNO>) to indicate a translation
+error, so clear C<$!> before calling strtod. However, non-POSIX systems
+may not check for overflow, and therefore will never set C<$!>.
+
+strtod respects any POSIX I<setlocale()> C<LC_TIME> settings,
+regardless of whether or not it is called from Perl code that is within
+the scope of S<C<use locale>>.
+
+To parse a string C<$str> as a floating point number use
+
+ $! = 0;
+ ($num, $n_unparsed) = POSIX::strtod($str);
+
+The second returned item and C<$!> can be used to check for valid input:
+
+ if (($str eq '') || ($n_unparsed != 0) || $!) {
+ die "Non-numeric input $str" . ($! ? ": $!\n" : "\n");
+ }
+
+When called in a scalar context strtod returns the parsed number.
+
+=item C<strtok>
+
+C<strtok()> is C-specific, use regular expressions instead, see
+L<perlre>, or L<perlfunc/split>.
+
+=item C<strtol>
+
+String to (long) integer translation. Returns the parsed number and
+the number of characters in the unparsed portion of the string. Truly
+POSIX-compliant systems set C<$!> (C<$ERRNO>) to indicate a translation
+error, so clear C<$!> before calling C<strtol>. However, non-POSIX systems
+may not check for overflow, and therefore will never set C<$!>.
+
+C<strtol> should respect any POSIX I<setlocale()> settings.
+
+To parse a string C<$str> as a number in some base C<$base> use
+
+ $! = 0;
+ ($num, $n_unparsed) = POSIX::strtol($str, $base);
+
+The base should be zero or between 2 and 36, inclusive. When the base
+is zero or omitted strtol will use the string itself to determine the
+base: a leading "0x" or "0X" means hexadecimal; a leading "0" means
+octal; any other leading characters mean decimal. Thus, "1234" is
+parsed as a decimal number, "01234" as an octal number, and "0x1234"
+as a hexadecimal number.
+
+The second returned item and C<$!> can be used to check for valid input:
+
+ if (($str eq '') || ($n_unparsed != 0) || !$!) {
+ die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
+ }
+
+When called in a scalar context strtol returns the parsed number.
+
+=item C<strtoul>
+
+String to unsigned (long) integer translation. C<strtoul()> is identical
+to C<strtol()> except that C<strtoul()> only parses unsigned integers. See
+L</strtol> for details.
+
+Note: Some vendors supply C<strtod()> and C<strtol()> but not C<strtoul()>.
+Other vendors that do supply C<strtoul()> parse "-1" as a valid value.
+
+=item C<strxfrm>
+
+String transformation. Returns the transformed string.
+
+ $dst = POSIX::strxfrm( $src );
+
+Used in conjunction with the C<strcoll()> function, see L</strcoll>.
+
+Not really needed since Perl can do this transparently, see
+L<perllocale>.
+
+=item C<sysconf>
+
+Retrieves values of system configurable variables.
+
+The following will get the machine's clock speed.
+
+ $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
+
+Returns C<undef> on failure.
+
+=item C<system>
+
+This is identical to Perl's builtin C<system()> function, see
+L<perlfunc/system>.
+
+=item C<tan>
+
+This is identical to the C function C<tan()>, returning the
+tangent of the numerical argument. See also L<Math::Trig>.
+
+=item C<tanh>
+
+This is identical to the C function C<tanh()>, returning the
+hyperbolic tangent of the numerical argument. See also L<Math::Trig>.
+
+=item C<tcdrain>
+
+This is similar to the C function C<tcdrain()> for draining
+the output queue of its argument stream.
+
+Returns C<undef> on failure.
+
+=item C<tcflow>
+
+This is similar to the C function C<tcflow()> for controlling
+the flow of its argument stream.
+
+Returns C<undef> on failure.
+
+=item C<tcflush>
+
+This is similar to the C function C<tcflush()> for flushing
+the I/O buffers of its argument stream.
+
+Returns C<undef> on failure.
+
+=item C<tcgetpgrp>
+
+This is identical to the C function C<tcgetpgrp()> for returning the
+process group identifier of the foreground process group of the controlling
+terminal.
+
+=item C<tcsendbreak>
+
+This is similar to the C function C<tcsendbreak()> for sending
+a break on its argument stream.
+
+Returns C<undef> on failure.
+
+=item C<tcsetpgrp>
+
+This is similar to the C function C<tcsetpgrp()> for setting the
+process group identifier of the foreground process group of the controlling
+terminal.
+
+Returns C<undef> on failure.
+
+=item C<time>
+
+This is identical to Perl's builtin C<time()> function
+for returning the number of seconds since the epoch
+(whatever it is for the system), see L<perlfunc/time>.
+
+=item C<times>
+
+The C<times()> function returns elapsed realtime since some point in the past
+(such as system startup), user and system times for this process, and user
+and system times used by child processes. All times are returned in clock
+ticks.
+
+ ($realtime, $user, $system, $cuser, $csystem)
+ = POSIX::times();
+
+Note: Perl's builtin C<times()> function returns four values, measured in
+seconds.
+
+=item C<tmpfile>
+
+Use method C<IO::File::new_tmpfile()> instead, or see L<File::Temp>.
+
+=item C<tmpnam>
+
+Returns a name for a temporary file.
+
+ $tmpfile = POSIX::tmpnam();
+
+For security reasons, which are probably detailed in your system's
+documentation for the C library C<tmpnam()> function, this interface
+should not be used; instead see L<File::Temp>.
+
+=item C<tolower>
+
+This is identical to the C function, except that it can apply to a single
+character or to a whole string. Consider using the C<lc()> function,
+see L<perlfunc/lc>, or the equivalent C<\L> operator inside doublequotish
+strings.
+
+=item C<toupper>
+
+This is identical to the C function, except that it can apply to a single
+character or to a whole string. Consider using the C<uc()> function,
+see L<perlfunc/uc>, or the equivalent C<\U> operator inside doublequotish
+strings.
+
+=item C<ttyname>
+
+This is identical to the C function C<ttyname()> for returning the
+name of the current terminal.
+
+=item C<tzname>
+
+Retrieves the time conversion information from the C<tzname> variable.
+
+ POSIX::tzset();
+ ($std, $dst) = POSIX::tzname();
+
+=item C<tzset>
+
+This is identical to the C function C<tzset()> for setting
+the current timezone based on the environment variable C<TZ>,
+to be used by C<ctime()>, C<localtime()>, C<mktime()>, and C<strftime()>
+functions.
+
+=item C<umask>
+
+This is identical to Perl's builtin C<umask()> function
+for setting (and querying) the file creation permission mask,
+see L<perlfunc/umask>.
+
+=item C<uname>
+
+Get name of current operating system.
+
+ ($sysname, $nodename, $release, $version, $machine)
+ = POSIX::uname();
+
+Note that the actual meanings of the various fields are not
+that well standardized, do not expect any great portability.
+The C<$sysname> might be the name of the operating system,
+the C<$nodename> might be the name of the host, the C<$release>
+might be the (major) release number of the operating system,
+the C<$version> might be the (minor) release number of the
+operating system, and the C<$machine> might be a hardware identifier.
+Maybe.
+
+=item C<ungetc>
+
+Use method C<IO::Handle::ungetc()> instead.
+
+=item C<unlink>
+
+This is identical to Perl's builtin C<unlink()> function
+for removing files, see L<perlfunc/unlink>.
+
+=item C<utime>
+
+This is identical to Perl's builtin C<utime()> function
+for changing the time stamps of files and directories,
+see L<perlfunc/utime>.
+
+=item C<vfprintf>
+
+C<vfprintf()> is C-specific, see L<perlfunc/printf> instead.
+
+=item C<vprintf>
+
+C<vprintf()> is C-specific, see L<perlfunc/printf> instead.
+
+=item C<vsprintf>
+
+C<vsprintf()> is C-specific, see L<perlfunc/sprintf> instead.
+
+=item C<wait>
+
+This is identical to Perl's builtin C<wait()> function,
+see L<perlfunc/wait>.
+
+=item C<waitpid>
+
+Wait for a child process to change state. This is identical to Perl's
+builtin C<waitpid()> function, see L<perlfunc/waitpid>.
+
+ $pid = POSIX::waitpid( -1, POSIX::WNOHANG );
+ print "status = ", ($? / 256), "\n";
+
+=item C<wcstombs>
+
+This is identical to the C function C<wcstombs()>.
+Perl does not have any support for the wide and multibyte
+characters of the C standards, so this might be a rather
+useless function.
+
+=item C<wctomb>
+
+This is identical to the C function C<wctomb()>.
+Perl does not have any support for the wide and multibyte
+characters of the C standards, so this might be a rather
+useless function.
+
+=item C<write>
+
+Write to a file. This uses file descriptors such as those obtained by
+calling C<POSIX::open>.
+
+ $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
+ $buf = "hello";
+ $bytes = POSIX::write( $fd, $buf, 5 );
+
+Returns C<undef> on failure.
+
+See also L<perlfunc/syswrite>.
+
+=back
+
+=head1 CLASSES
+
+=head2 C<POSIX::SigAction>
+
+=over 8
+
+=item C<new>
+
+Creates a new C<POSIX::SigAction> object which corresponds to the C
+C<struct sigaction>. This object will be destroyed automatically when
+it is no longer needed. The first parameter is the handler, a sub
+reference. The second parameter is a C<POSIX::SigSet> object, it
+defaults to the empty set. The third parameter contains the
+C<sa_flags>, it defaults to 0.
+
+ $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
+ $sigaction = POSIX::SigAction->new(
+ \&handler, $sigset, &POSIX::SA_NOCLDSTOP
+ );
+
+This C<POSIX::SigAction> object is intended for use with the C<POSIX::sigaction()>
+function.
+
+=back
+
+=over 8
+
+=item C<handler>
+
+=item C<mask>
+
+=item C<flags>
+
+accessor functions to get/set the values of a SigAction object.
+
+ $sigset = $sigaction->mask;
+ $sigaction->flags(&POSIX::SA_RESTART);
+
+=item C<safe>
+
+accessor function for the "safe signals" flag of a SigAction object; see
+L<perlipc> for general information on safe (a.k.a. "deferred") signals. If
+you wish to handle a signal safely, use this accessor to set the "safe" flag
+in the C<POSIX::SigAction> object:
+
+ $sigaction->safe(1);
+
+You may also examine the "safe" flag on the output action object which is
+filled in when given as the third parameter to C<POSIX::sigaction()>:
+
+ sigaction(SIGINT, $new_action, $old_action);
+ if ($old_action->safe) {
+ # previous SIGINT handler used safe signals
+ }
+
+=back
+
+=head2 C<POSIX::SigRt>
+
+=over 8
+
+=item C<%SIGRT>
+
+A hash of the POSIX realtime signal handlers. It is an extension of
+the standard C<%SIG>, the C<$POSIX::SIGRT{SIGRTMIN}> is roughly equivalent
+to C<$SIG{SIGRTMIN}>, but the right POSIX moves (see below) are made with
+the C<POSIX::SigSet> and C<POSIX::sigaction> instead of accessing the C<%SIG>.
+
+You can set the C<%POSIX::SIGRT> elements to set the POSIX realtime
+signal handlers, use C<delete> and C<exists> on the elements, and use
+C<scalar> on the C<%POSIX::SIGRT> to find out how many POSIX realtime
+signals there are available S<C<(SIGRTMAX - SIGRTMIN + 1>>, the C<SIGRTMAX> is
+a valid POSIX realtime signal).
+
+Setting the C<%SIGRT> elements is equivalent to calling this:
+
+ sub new {
+ my ($rtsig, $handler, $flags) = @_;
+ my $sigset = POSIX::SigSet($rtsig);
+ my $sigact = POSIX::SigAction->new($handler,$sigset,$flags);
+ sigaction($rtsig, $sigact);
+ }
+
+The flags default to zero, if you want something different you can
+either use C<local> on C<$POSIX::SigRt::SIGACTION_FLAGS>, or you can
+derive from POSIX::SigRt and define your own C<new()> (the tied hash
+STORE method of the C<%SIGRT> calls C<new($rtsig, $handler, $SIGACTION_FLAGS)>,
+where the C<$rtsig> ranges from zero to S<C<SIGRTMAX - SIGRTMIN + 1)>>.
+
+Just as with any signal, you can use C<sigaction($rtsig, undef, $oa)> to
+retrieve the installed signal handler (or, rather, the signal action).
+
+B<NOTE:> whether POSIX realtime signals really work in your system, or
+whether Perl has been compiled so that it works with them, is outside
+of this discussion.
+
+=item C<SIGRTMIN>
+
+Return the minimum POSIX realtime signal number available, or C<undef>
+if no POSIX realtime signals are available.
+
+=item C<SIGRTMAX>
+
+Return the maximum POSIX realtime signal number available, or C<undef>
+if no POSIX realtime signals are available.
+
+=back
+
+=head2 C<POSIX::SigSet>
+
+=over 8
+
+=item C<new>
+
+Create a new SigSet object. This object will be destroyed automatically
+when it is no longer needed. Arguments may be supplied to initialize the
+set.
+
+Create an empty set.
+
+ $sigset = POSIX::SigSet->new;
+
+Create a set with C<SIGUSR1>.
+
+ $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
+
+=item C<addset>
+
+Add a signal to a SigSet object.
+
+ $sigset->addset( &POSIX::SIGUSR2 );
+
+Returns C<undef> on failure.
+
+=item C<delset>
+
+Remove a signal from the SigSet object.
+
+ $sigset->delset( &POSIX::SIGUSR2 );
+
+Returns C<undef> on failure.
+
+=item C<emptyset>
+
+Initialize the SigSet object to be empty.
+
+ $sigset->emptyset();
+
+Returns C<undef> on failure.
+
+=item C<fillset>
+
+Initialize the SigSet object to include all signals.
+
+ $sigset->fillset();
+
+Returns C<undef> on failure.
+
+=item C<ismember>
+
+Tests the SigSet object to see if it contains a specific signal.
+
+ if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
+ print "contains SIGUSR1\n";
+ }
+
+=back
+
+=head2 C<POSIX::Termios>
+
+=over 8
+
+=item C<new>
+
+Create a new Termios object. This object will be destroyed automatically
+when it is no longer needed. A Termios object corresponds to the termios
+C struct. C<new()> mallocs a new one, C<getattr()> fills it from a file descriptor,
+and C<setattr()> sets a file descriptor's parameters to match Termios' contents.
+
+ $termios = POSIX::Termios->new;
+
+=item C<getattr>
+
+Get terminal control attributes.
+
+Obtain the attributes for stdin.
+
+ $termios->getattr( 0 ) # Recommended for clarity.
+ $termios->getattr()
+
+Obtain the attributes for stdout.
+
+ $termios->getattr( 1 )
+
+Returns C<undef> on failure.
+
+=item C<getcc>
+
+Retrieve a value from the c_cc field of a termios object. The c_cc field is
+an array so an index must be specified.
+
+ $c_cc[1] = $termios->getcc(1);
+
+=item C<getcflag>
+
+Retrieve the c_cflag field of a termios object.
+
+ $c_cflag = $termios->getcflag;
+
+=item C<getiflag>
+
+Retrieve the c_iflag field of a termios object.
+
+ $c_iflag = $termios->getiflag;
+
+=item C<getispeed>
+
+Retrieve the input baud rate.
+
+ $ispeed = $termios->getispeed;
+
+=item C<getlflag>
+
+Retrieve the c_lflag field of a termios object.
+
+ $c_lflag = $termios->getlflag;
+
+=item C<getoflag>
+
+Retrieve the c_oflag field of a termios object.
+
+ $c_oflag = $termios->getoflag;
+
+=item C<getospeed>
+
+Retrieve the output baud rate.
+
+ $ospeed = $termios->getospeed;
+
+=item C<setattr>
+
+Set terminal control attributes.
+
+Set attributes immediately for stdout.
+
+ $termios->setattr( 1, &POSIX::TCSANOW );
+
+Returns C<undef> on failure.
+
+=item C<setcc>
+
+Set a value in the c_cc field of a termios object. The c_cc field is an
+array so an index must be specified.
+
+ $termios->setcc( &POSIX::VEOF, 1 );
+
+=item C<setcflag>
+
+Set the c_cflag field of a termios object.
+
+ $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
+
+=item C<setiflag>
+
+Set the c_iflag field of a termios object.
+
+ $termios->setiflag( $c_iflag | &POSIX::BRKINT );
+
+=item C<setispeed>
+
+Set the input baud rate.
+
+ $termios->setispeed( &POSIX::B9600 );
+
+Returns C<undef> on failure.
+
+=item C<setlflag>
+
+Set the c_lflag field of a termios object.
+
+ $termios->setlflag( $c_lflag | &POSIX::ECHO );
+
+=item C<setoflag>
+
+Set the c_oflag field of a termios object.
+
+ $termios->setoflag( $c_oflag | &POSIX::OPOST );
+
+=item C<setospeed>
+
+Set the output baud rate.
+
+ $termios->setospeed( &POSIX::B9600 );
+
+Returns C<undef> on failure.
+
+=item Baud rate values
+
+C<B38400> C<B75> C<B200> C<B134> C<B300> C<B1800> C<B150> C<B0> C<B19200> C<B1200> C<B9600> C<B600> C<B4800> C<B50> C<B2400> C<B110>
+
+=item Terminal interface values
+
+C<TCSADRAIN> C<TCSANOW> C<TCOON> C<TCIOFLUSH> C<TCOFLUSH> C<TCION> C<TCIFLUSH> C<TCSAFLUSH> C<TCIOFF> C<TCOOFF>
+
+=item C<c_cc> field values
+
+C<VEOF> C<VEOL> C<VERASE> C<VINTR> C<VKILL> C<VQUIT> C<VSUSP> C<VSTART> C<VSTOP> C<VMIN> C<VTIME> C<NCCS>
+
+=item C<c_cflag> field values
+
+C<CLOCAL> C<CREAD> C<CSIZE> C<CS5> C<CS6> C<CS7> C<CS8> C<CSTOPB> C<HUPCL> C<PARENB> C<PARODD>
+
+=item C<c_iflag> field values
+
+C<BRKINT> C<ICRNL> C<IGNBRK> C<IGNCR> C<IGNPAR> C<INLCR> C<INPCK> C<ISTRIP> C<IXOFF> C<IXON> C<PARMRK>
+
+=item C<c_lflag> field values
+
+C<ECHO> C<ECHOE> C<ECHOK> C<ECHONL> C<ICANON> C<IEXTEN> C<ISIG> C<NOFLSH> C<TOSTOP>
+
+=item C<c_oflag> field values
+
+C<OPOST>
+
+=back
+
+=head1 PATHNAME CONSTANTS
+
+=over 8
+
+=item Constants
+
+C<_PC_CHOWN_RESTRICTED> C<_PC_LINK_MAX> C<_PC_MAX_CANON> C<_PC_MAX_INPUT> C<_PC_NAME_MAX>
+C<_PC_NO_TRUNC> C<_PC_PATH_MAX> C<_PC_PIPE_BUF> C<_PC_VDISABLE>
+
+=back
+
+=head1 POSIX CONSTANTS
+
+=over 8
+
+=item Constants
+
+C<_POSIX_ARG_MAX> C<_POSIX_CHILD_MAX> C<_POSIX_CHOWN_RESTRICTED> C<_POSIX_JOB_CONTROL>
+C<_POSIX_LINK_MAX> C<_POSIX_MAX_CANON> C<_POSIX_MAX_INPUT> C<_POSIX_NAME_MAX>
+C<_POSIX_NGROUPS_MAX> C<_POSIX_NO_TRUNC> C<_POSIX_OPEN_MAX> C<_POSIX_PATH_MAX>
+C<_POSIX_PIPE_BUF> C<_POSIX_SAVED_IDS> C<_POSIX_SSIZE_MAX> C<_POSIX_STREAM_MAX>
+C<_POSIX_TZNAME_MAX> C<_POSIX_VDISABLE> C<_POSIX_VERSION>
+
+=back
+
+=head1 SYSTEM CONFIGURATION
+
+=over 8
+
+=item Constants
+
+C<_SC_ARG_MAX> C<_SC_CHILD_MAX> C<_SC_CLK_TCK> C<_SC_JOB_CONTROL> C<_SC_NGROUPS_MAX>
+C<_SC_OPEN_MAX> C<_SC_PAGESIZE> C<_SC_SAVED_IDS> C<_SC_STREAM_MAX> C<_SC_TZNAME_MAX>
+C<_SC_VERSION>
+
+=back
+
+=head1 ERRNO
+
+=over 8
+
+=item Constants
+
+C<E2BIG> C<EACCES> C<EADDRINUSE> C<EADDRNOTAVAIL> C<EAFNOSUPPORT> C<EAGAIN> C<EALREADY> C<EBADF> C<EBADMSG>
+C<EBUSY> C<ECANCELED> C<ECHILD> C<ECONNABORTED> C<ECONNREFUSED> C<ECONNRESET> C<EDEADLK> C<EDESTADDRREQ>
+C<EDOM> C<EDQUOT> C<EEXIST> C<EFAULT> C<EFBIG> C<EHOSTDOWN> C<EHOSTUNREACH> C<EIDRM> C<EILSEQ> C<EINPROGRESS>
+C<EINTR> C<EINVAL> C<EIO> C<EISCONN> C<EISDIR> C<ELOOP> C<EMFILE> C<EMLINK> C<EMSGSIZE> C<ENAMETOOLONG>
+C<ENETDOWN> C<ENETRESET> C<ENETUNREACH> C<ENFILE> C<ENOBUFS> C<ENODATA> C<ENODEV> C<ENOENT> C<ENOEXEC>
+C<ENOLCK> C<ENOLINK> C<ENOMEM> C<ENOMSG> C<ENOPROTOOPT> C<ENOSPC> C<ENOSR> C<ENOSTR> C<ENOSYS> C<ENOTBLK>
+C<ENOTCONN> C<ENOTDIR> C<ENOTEMPTY> C<ENOTRECOVERABLE> C<ENOTSOCK> C<ENOTSUP> C<ENOTTY> C<ENXIO>
+C<EOPNOTSUPP> C<EOTHER> C<EOVERFLOW> C<EOWNERDEAD> C<EPERM> C<EPFNOSUPPORT> C<EPIPE> C<EPROCLIM> C<EPROTO>
+C<EPROTONOSUPPORT> C<EPROTOTYPE> C<ERANGE> C<EREMOTE> C<ERESTART> C<EROFS> C<ESHUTDOWN>
+C<ESOCKTNOSUPPORT> C<ESPIPE> C<ESRCH> C<ESTALE> C<ETIME> C<ETIMEDOUT> C<ETOOMANYREFS> C<ETXTBSY> C<EUSERS>
+C<EWOULDBLOCK> C<EXDEV>
+
+=back
+
+=head1 FCNTL
+
+=over 8
+
+=item Constants
+
+C<FD_CLOEXEC> C<F_DUPFD> C<F_GETFD> C<F_GETFL> C<F_GETLK> C<F_OK> C<F_RDLCK> C<F_SETFD> C<F_SETFL> C<F_SETLK>
+C<F_SETLKW> C<F_UNLCK> C<F_WRLCK> C<O_ACCMODE> C<O_APPEND> C<O_CREAT> C<O_EXCL> C<O_NOCTTY> C<O_NONBLOCK>
+C<O_RDONLY> C<O_RDWR> C<O_TRUNC> C<O_WRONLY>
+
+=back
+
+=head1 FLOAT
+
+=over 8
+
+=item Constants
+
+C<DBL_DIG> C<DBL_EPSILON> C<DBL_MANT_DIG> C<DBL_MAX> C<DBL_MAX_10_EXP> C<DBL_MAX_EXP> C<DBL_MIN>
+C<DBL_MIN_10_EXP> C<DBL_MIN_EXP> C<FLT_DIG> C<FLT_EPSILON> C<FLT_MANT_DIG> C<FLT_MAX>
+C<FLT_MAX_10_EXP> C<FLT_MAX_EXP> C<FLT_MIN> C<FLT_MIN_10_EXP> C<FLT_MIN_EXP> C<FLT_RADIX>
+C<FLT_ROUNDS> C<LDBL_DIG> C<LDBL_EPSILON> C<LDBL_MANT_DIG> C<LDBL_MAX> C<LDBL_MAX_10_EXP>
+C<LDBL_MAX_EXP> C<LDBL_MIN> C<LDBL_MIN_10_EXP> C<LDBL_MIN_EXP>
+
+=back
+
+=head1 LIMITS
+
+=over 8
+
+=item Constants
+
+C<ARG_MAX> C<CHAR_BIT> C<CHAR_MAX> C<CHAR_MIN> C<CHILD_MAX> C<INT_MAX> C<INT_MIN> C<LINK_MAX> C<LONG_MAX>
+C<LONG_MIN> C<MAX_CANON> C<MAX_INPUT> C<MB_LEN_MAX> C<NAME_MAX> C<NGROUPS_MAX> C<OPEN_MAX> C<PATH_MAX>
+C<PIPE_BUF> C<SCHAR_MAX> C<SCHAR_MIN> C<SHRT_MAX> C<SHRT_MIN> C<SSIZE_MAX> C<STREAM_MAX> C<TZNAME_MAX>
+C<UCHAR_MAX> C<UINT_MAX> C<ULONG_MAX> C<USHRT_MAX>
+
+=back
+
+=head1 LOCALE
+
+=over 8
+
+=item Constants
+
+C<LC_ALL> C<LC_COLLATE> C<LC_CTYPE> C<LC_MONETARY> C<LC_NUMERIC> C<LC_TIME>
+
+=back
+
+=head1 MATH
+
+=over 8
+
+=item Constants
+
+C<HUGE_VAL>
+
+=back
+
+=head1 SIGNAL
+
+=over 8
+
+=item Constants
+
+C<SA_NOCLDSTOP> C<SA_NOCLDWAIT> C<SA_NODEFER> C<SA_ONSTACK> C<SA_RESETHAND> C<SA_RESTART>
+C<SA_SIGINFO> C<SIGABRT> C<SIGALRM> C<SIGCHLD> C<SIGCONT> C<SIGFPE> C<SIGHUP> C<SIGILL> C<SIGINT>
+C<SIGKILL> C<SIGPIPE> C<SIGQUIT> C<SIGSEGV> C<SIGSTOP> C<SIGTERM> C<SIGTSTP> C<SIGTTIN> C<SIGTTOU>
+C<SIGUSR1> C<SIGUSR2> C<SIG_BLOCK> C<SIG_DFL> C<SIG_ERR> C<SIG_IGN> C<SIG_SETMASK>
+C<SIG_UNBLOCK>
+
+=back
+
+=head1 STAT
+
+=over 8
+
+=item Constants
+
+C<S_IRGRP> C<S_IROTH> C<S_IRUSR> C<S_IRWXG> C<S_IRWXO> C<S_IRWXU> C<S_ISGID> C<S_ISUID> C<S_IWGRP> C<S_IWOTH>
+C<S_IWUSR> C<S_IXGRP> C<S_IXOTH> C<S_IXUSR>
+
+=item Macros
+
+C<S_ISBLK> C<S_ISCHR> C<S_ISDIR> C<S_ISFIFO> C<S_ISREG>
+
+=back
+
+=head1 STDLIB
+
+=over 8
+
+=item Constants
+
+C<EXIT_FAILURE> C<EXIT_SUCCESS> C<MB_CUR_MAX> C<RAND_MAX>
+
+=back
+
+=head1 STDIO
+
+=over 8
+
+=item Constants
+
+C<BUFSIZ> C<EOF> C<FILENAME_MAX> C<L_ctermid> C<L_cuserid> C<L_tmpname> C<TMP_MAX>
+
+=back
+
+=head1 TIME
+
+=over 8
+
+=item Constants
+
+C<CLK_TCK> C<CLOCKS_PER_SEC>
+
+=back
+
+=head1 UNISTD
+
+=over 8
+
+=item Constants
+
+C<R_OK> C<SEEK_CUR> C<SEEK_END> C<SEEK_SET> C<STDIN_FILENO> C<STDOUT_FILENO> C<STDERR_FILENO> C<W_OK> C<X_OK>
+
+=back
+
+=head1 WAIT
+
+=over 8
+
+=item Constants
+
+C<WNOHANG> C<WUNTRACED>
+
+=over 16
+
+=item C<WNOHANG>
+
+Do not suspend the calling process until a child process
+changes state but instead return immediately.
+
+=item C<WUNTRACED>
+
+Catch stopped child processes.
+
+=back
+
+=item Macros
+
+C<WIFEXITED> C<WEXITSTATUS> C<WIFSIGNALED> C<WTERMSIG> C<WIFSTOPPED> C<WSTOPSIG>
+
+=over 16
+
+=item C<WIFEXITED>
+
+C<WIFEXITED(${^CHILD_ERROR_NATIVE})> returns true if the child process
+exited normally (C<exit()> or by falling off the end of C<main()>)
+
+=item C<WEXITSTATUS>
+
+C<WEXITSTATUS(${^CHILD_ERROR_NATIVE})> returns the normal exit status of
+the child process (only meaningful if C<WIFEXITED(${^CHILD_ERROR_NATIVE})>
+is true)
+
+=item C<WIFSIGNALED>
+
+C<WIFSIGNALED(${^CHILD_ERROR_NATIVE})> returns true if the child process
+terminated because of a signal
+
+=item C<WTERMSIG>
+
+C<WTERMSIG(${^CHILD_ERROR_NATIVE})> returns the signal the child process
+terminated for (only meaningful if
+C<WIFSIGNALED(${^CHILD_ERROR_NATIVE})>
+is true)
+
+=item C<WIFSTOPPED>
+
+C<WIFSTOPPED(${^CHILD_ERROR_NATIVE})> returns true if the child process is
+currently stopped (can happen only if you specified the WUNTRACED flag
+to C<waitpid()>)
+
+=item C<WSTOPSIG>
+
+C<WSTOPSIG(${^CHILD_ERROR_NATIVE})> returns the signal the child process
+was stopped for (only meaningful if
+C<WIFSTOPPED(${^CHILD_ERROR_NATIVE})>
+is true)
+
+=back
+
+=back
+
diff --git a/Master/tlpkg/tlperl/lib/Package/Constants.pm b/Master/tlpkg/tlperl/lib/Package/Constants.pm
index 9ad6c62df47..0ecdcf78956 100644
--- a/Master/tlpkg/tlperl/lib/Package/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/Package/Constants.pm
@@ -1,19 +1,21 @@
package Package::Constants;
+use if $] >= 5.019006, 'deprecate';
+
use strict;
use vars qw[$VERSION $DEBUG];
-$VERSION = '0.02';
+$VERSION = '0.04';
$DEBUG = 0;
-=head1 NAME
+=head1 NAME
Package::Constants - List all constants declared in a package
=head1 SYNOPSIS
use Package::Constants;
-
+
### list the names of all constants in a given package;
@const = Package::Constants->list( __PACKAGE__ );
@const = Package::Constants->list( 'main' );
@@ -23,8 +25,8 @@ Package::Constants - List all constants declared in a package
=head1 DESCRIPTION
-C<Package::Constants> lists all the constants defined in a certain
-package. This can be useful for, among others, setting up an
+C<Package::Constants> lists all the constants defined in a certain
+package. This can be useful for, among others, setting up an
autogenerated C<@EXPORT/@EXPORT_OK> for a Constants.pm file.
=head1 CLASS METHODS
@@ -39,23 +41,23 @@ sub list {
my $class = shift;
my $pkg = shift;
return unless defined $pkg; # some joker might use '0' as a pkg...
-
+
_debug("Inspecting package '$pkg'");
-
+
my @rv;
{ no strict 'refs';
my $stash = $pkg . '::';
for my $name (sort keys %$stash ) {
-
+
_debug( " Checking stash entry '$name'" );
-
+
### is it a subentry?
my $sub = $pkg->can( $name );
next unless defined $sub;
-
+
_debug( " '$name' is a coderef" );
-
+
next unless defined prototype($sub) and
not length prototype($sub);
@@ -63,7 +65,7 @@ sub list {
push @rv, $name;
}
}
-
+
return sort @rv;
}
@@ -93,7 +95,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+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/Params/Check.pm b/Master/tlpkg/tlperl/lib/Params/Check.pm
index 536a7c08a8d..12394421d64 100644
--- a/Master/tlpkg/tlperl/lib/Params/Check.pm
+++ b/Master/tlpkg/tlperl/lib/Params/Check.pm
@@ -16,7 +16,7 @@ BEGIN {
@ISA = qw[ Exporter ];
@EXPORT_OK = qw[check allow last_error];
- $VERSION = '0.36';
+ $VERSION = '0.38';
$VERBOSE = $^W ? 1 : 0;
$NO_DUPLICATES = 0;
$STRIP_LEADING_DASHES = 0;
@@ -210,7 +210,7 @@ C<check> takes a list of arguments, as follows:
=item Template
-This is a hashreference which contains a template as explained in the
+This is a hash reference which contains a template as explained in the
C<SYNOPSIS> and C<Template> section.
=item Arguments
diff --git a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
index 4a7d097757b..7888d1c3cb8 100644
--- a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
+++ b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
@@ -1,61 +1,63 @@
+use 5.008001;
+use strict;
package Parse::CPAN::Meta;
+# ABSTRACT: Parse META.yml and META.json CPAN metadata files
+our $VERSION = '1.4414'; # VERSION
-use strict;
+use Exporter;
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
- eval "require utf8;";
- die "Failed to load UTF-8 support" if $@;
- }
-
- # Class structure
- require 5.004;
- require Exporter;
- $Parse::CPAN::Meta::VERSION = '1.4404';
- @Parse::CPAN::Meta::ISA = qw{ Exporter };
- @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile };
-}
+our @ISA = qw/Exporter/;
+our @EXPORT_OK = qw/Load LoadFile/;
sub load_file {
my ($class, $filename) = @_;
+ my $meta = _slurp($filename);
+
if ($filename =~ /\.ya?ml$/) {
- return $class->load_yaml_string(_slurp($filename));
+ return $class->load_yaml_string($meta);
}
-
- if ($filename =~ /\.json$/) {
- return $class->load_json_string(_slurp($filename));
+ elsif ($filename =~ /\.json$/) {
+ return $class->load_json_string($meta);
+ }
+ else {
+ $class->load_string($meta); # try to detect yaml/json
}
+}
- croak("file type cannot be determined by filename");
+sub load_string {
+ my ($class, $string) = @_;
+ if ( $string =~ /^---/ ) { # looks like YAML
+ return $class->load_yaml_string($string);
+ }
+ elsif ( $string =~ /^\s*\{/ ) { # looks like JSON
+ return $class->load_json_string($string);
+ }
+ else { # maybe doc-marker-free YAML
+ return $class->load_yaml_string($string);
+ }
}
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 : $@
- }
+ croak $@ if $@;
return $data || {}; # in case document was valid but empty
}
sub load_json_string {
my ($class, $string) = @_;
- return $class->json_backend()->new->decode($string);
+ my $data = eval { $class->json_backend()->new->decode($string) };
+ croak $@ if $@;
+ return $data || {};
}
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";
+ _can_load( 'CPAN::Meta::YAML', 0.011 )
+ or croak "CPAN::Meta::YAML 0.011 is not available\n";
return "CPAN::Meta::YAML";
}
else {
@@ -69,7 +71,6 @@ sub yaml_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";
@@ -84,9 +85,12 @@ sub json_backend {
}
sub _slurp {
- open my $fh, "<" . IO_LAYER, "$_[0]"
+ require Encode;
+ open my $fh, "<:raw", "$_[0]" ## no critic
or die "can't open $_[0] for reading: $!";
- return do { local $/; <$fh> };
+ my $content = do { local $/; <$fh> };
+ $content = Encode::decode('UTF-8', $content, Encode::PERLQQ());
+ return $content;
}
sub _can_load {
@@ -107,16 +111,15 @@ sub _can_load {
# Kept for backwards compatibility only
# Create an object from a file
sub LoadFile ($) {
- require CPAN::Meta::YAML;
- return CPAN::Meta::YAML::LoadFile(shift)
- or die CPAN::Meta::YAML->errstr;
+ return Load(_slurp(shift));
}
# Parse a document from a string.
sub Load ($) {
require CPAN::Meta::YAML;
- return CPAN::Meta::YAML::Load(shift)
- or die CPAN::Meta::YAML->errstr;
+ my $object = eval { CPAN::Meta::YAML::Load(shift) };
+ croak $@ if $@;
+ return $object;
}
1;
@@ -125,10 +128,16 @@ __END__
=pod
+=encoding UTF-8
+
=head1 NAME
Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
+=head1 VERSION
+
+version 1.4414
+
=head1 SYNOPSIS
#############################################
@@ -171,6 +180,13 @@ All error reporting is done with exceptions (die'ing).
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.
+=begin Pod::Coverage
+
+
+
+
+=end Pod::Coverage
+
=head1 METHODS
=head2 load_file
@@ -180,8 +196,8 @@ converted string data, it must first be decoded from UTF-8.
my $metadata_structure = Parse::CPAN::Meta->load_file('META.yml');
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.
+determining whether it should be JSON or YAML based on the filename.
+The file will be read using the ":utf8" IO layer.
=head2 load_yaml_string
@@ -200,6 +216,13 @@ 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>.
+=head2 load_string
+
+ my $metadata_structure = Parse::CPAN::Meta->load_string($some_string);
+
+If you don't know whether a string contains YAML or JSON data, this method
+will use some heuristics and guess. If it can't tell, it assumes YAML.
+
=head2 yaml_backend
my $backend = Parse::CPAN::Meta->yaml_backend;
@@ -218,8 +241,8 @@ the L<JSON> module. See L</ENVIRONMENT> for details.
=head1 FUNCTIONS
-For maintenance clarity, no functions are exported. These functions are
-available for backwards compatibility only and are best avoided in favor of
+For maintenance clarity, no functions are exported by default. These functions
+are available for backwards compatibility only and are best avoided in favor of
C<load_file>.
=head2 Load
@@ -248,29 +271,75 @@ 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
+the C<PERL_YAML_BACKEND> environment variable is defined, then it is interpreted
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.
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
=head1 SUPPORT
-Bugs should be reported via the CPAN bug tracker at
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=Parse-CPAN-Meta>.
+You will be notified automatically of any progress on your issue.
+
+=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<https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta>
+
+ git clone https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta.git
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Adam Kennedy <adamk@cpan.org>
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=back
+
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Graham Knop <haarg@haarg.org>
+
+=item *
+
+Joshua ben Jore <jjore@cpan.org>
+
+=item *
+
+Neil Bowers <neil@bowers.com>
+
+=item *
-L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Parse-CPAN-Meta>
+Ricardo Signes <rjbs@cpan.org>
-=head1 AUTHOR
+=item *
-Adam Kennedy E<lt>adamk@cpan.orgE<gt>
+Steffen Mueller <smueller@cpan.org>
-=head1 COPYRIGHT
+=back
-Copyright 2006 - 2010 Adam Kennedy.
+=head1 COPYRIGHT AND LICENSE
-This program is free software; you can redistribute
-it and/or modify it under the same terms as Perl itself.
+This software is copyright (c) 2014 by Adam Kennedy and Contributors.
-The full text of the license can be found in the
-LICENSE file included with this module.
+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/Perl/OSType.pm b/Master/tlpkg/tlperl/lib/Perl/OSType.pm
index a79426d56c2..e6196c46d61 100644
--- a/Master/tlpkg/tlperl/lib/Perl/OSType.pm
+++ b/Master/tlpkg/tlperl/lib/Perl/OSType.pm
@@ -1,15 +1,14 @@
use strict;
use warnings;
+
package Perl::OSType;
# ABSTRACT: Map Perl operating system names to generic types
-our $VERSION = '1.003'; # VERSION
+our $VERSION = '1.007'; # VERSION
require Exporter;
our @ISA = qw(Exporter);
-our %EXPORT_TAGS = (
- all => [ qw( os_type is_os_type ) ]
-);
+our %EXPORT_TAGS = ( all => [qw( os_type is_os_type )] );
our @EXPORT_OK = @{ $EXPORT_TAGS{all} };
@@ -18,6 +17,7 @@ my %OSTYPES = qw(
aix Unix
bsdos Unix
beos Unix
+ bitrig Unix
dgux Unix
dragonfly Unix
dynixptx Unix
@@ -50,6 +50,7 @@ my %OSTYPES = qw(
gnukfreebsd Unix
nto Unix
qnx Unix
+ android Unix
dos Windows
MSWin32 Windows
@@ -68,31 +69,31 @@ my %OSTYPES = qw(
);
sub os_type {
- my ($os) = @_;
- $os = $^O unless defined $os;
- return $OSTYPES{ $os } || q{};
+ 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;
+ my ( $type, $os ) = @_;
+ return unless $type;
+ $os = $^O unless defined $os;
+ return os_type($os) eq $type;
}
1;
-__END__
-
=pod
+=encoding UTF-8
+
=head1 NAME
Perl::OSType - Map Perl operating system names to generic types
=head1 VERSION
-version 1.003
+version 1.007
=head1 SYNOPSIS
@@ -153,7 +154,7 @@ L<Devel::CheckOS>
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/perl-ostype/issues>.
+at L<https://github.com/dagolden/Perl-OSType/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -161,9 +162,9 @@ You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<https://github.com/dagolden/perl-ostype>
+L<https://github.com/dagolden/Perl-OSType>
- git clone git://github.com/dagolden/perl-ostype.git
+ git clone https://github.com/dagolden/Perl-OSType.git
=head1 AUTHOR
@@ -179,15 +180,28 @@ Jonas B. Nielsen <jonasbn@hoarfrost.local>
=item *
+Owain G. Ainsworth <oga@nicotinebsd.org>
+
+=item *
+
Paul Green <Paul.Green@stratus.com>
+=item *
+
+Piotr Roszatycki <piotr.roszatycki@gmail.com>
+
=back
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2013 by David Golden.
+This software is copyright (c) 2014 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__
+
+
+# vim: ts=4 sts=4 sw=4 et:
diff --git a/Master/tlpkg/tlperl/lib/PerlIO.pm b/Master/tlpkg/tlperl/lib/PerlIO.pm
index c94685bbf9d..2e27f98bba2 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO.pm
@@ -1,6 +1,6 @@
package PerlIO;
-our $VERSION = '1.07';
+our $VERSION = '1.09';
# Map layer name to package that defines it
our %alias;
@@ -19,7 +19,7 @@ sub import
{
$layer = "${class}::$layer";
}
- eval "require $layer";
+ eval { require $layer =~ s{::}{/}gr . '.pm' };
warn $@ if $@;
}
}
@@ -35,9 +35,10 @@ PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space
=head1 SYNOPSIS
- open($fh,"<:crlf", "my.txt"); # support platform-native and CRLF text files
+ open($fh, "<:crlf", "my.txt"); # support platform-native and
+ # CRLF text files
- open($fh,"<","his.jpg"); # portably open a binary file for reading
+ open($fh, "<", "his.jpg"); # portably open a binary file for reading
binmode($fh);
Shell:
@@ -102,6 +103,9 @@ represent to be read from or written to the stream. The UTF-X encoding
is chosen to render simple text parts (i.e. non-accented letters,
digits and common punctuation) human readable in the encoded file.
+(B<CAUTION>: This layer does not validate byte sequences. For reading input,
+you should instead use C<:encoding(utf8)> instead of bare C<:utf8>.)
+
Here is how to write your native data out using UTF-8 (or UTF-EBCDIC)
and then read it back in.
@@ -113,9 +117,6 @@ and then read it back in.
$in = <F>;
close(F);
-Note that this layer does not validate byte sequences. For reading
-input, using C<:encoding(utf8)> instead of bare C<:utf8> is strongly
-recommended.
=item :bytes
@@ -156,11 +157,10 @@ will construct a "binary" stream, but then enable UTF-8 translation.
=item :pop
-A pseudo layer that removes the top-most layer. Gives perl code
-a way to manipulate the layer stack. Should be considered
-as experimental. Note that C<:pop> only works on real layers
-and will not undo the effects of pseudo layers like C<:utf8>.
-An example of a possible use might be:
+A pseudo layer that removes the top-most layer. Gives perl code a
+way to manipulate the layer stack. Note that C<:pop> only works on
+real layers and will not undo the effects of pseudo layers like
+C<:utf8>. An example of a possible use might be:
open($fh,...)
...
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
index e2708193c02..8d39ed9a205 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.16';
+our $VERSION = '0.18';
our $DEBUG = 0;
$DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
index 64ecc22576e..7e93f6da562 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
@@ -1,5 +1,5 @@
package PerlIO::scalar;
-our $VERSION = '0.16';
+our $VERSION = '0.18_01';
require XSLoader;
XSLoader::load();
1;
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/via.pm b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
index 601be80bbcd..a10f7ee67e8 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/via.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
@@ -1,5 +1,5 @@
package PerlIO::via;
-our $VERSION = '0.12';
+our $VERSION = '0.15';
require XSLoader;
XSLoader::load();
1;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Escapes.pm b/Master/tlpkg/tlperl/lib/Pod/Escapes.pm
index de4d75a7b83..52b52724fce 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Escapes.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Escapes.pm
@@ -1,11 +1,23 @@
-
-require 5;
-# The documentation is at the end.
-# Time-stamp: "2004-05-07 15:31:25 ADT"
package Pod::Escapes;
+use strict;
+use warnings;
+use 5.006;
+
+use vars qw(
+ %Code2USASCII
+ %Name2character
+ %Name2character_number
+ %Latin1Code_to_fallback
+ %Latin1Char_to_fallback
+ $FAR_CHAR
+ $FAR_CHAR_NUMBER
+ $NOT_ASCII
+ @ISA $VERSION @EXPORT_OK %EXPORT_TAGS
+);
+
require Exporter;
@ISA = ('Exporter');
-$VERSION = '1.04';
+$VERSION = '1.06';
@EXPORT_OK = qw(
%Code2USASCII
%Name2character
@@ -19,18 +31,6 @@ $VERSION = '1.04';
#==========================================================================
-use strict;
-use vars qw(
- %Code2USASCII
- %Name2character
- %Name2character_number
- %Latin1Code_to_fallback
- %Latin1Char_to_fallback
- $FAR_CHAR
- $FAR_CHAR_NUMBER
- $NOT_ASCII
-);
-
$FAR_CHAR = "?" unless defined $FAR_CHAR;
$FAR_CHAR_NUMBER = ord($FAR_CHAR) unless defined $FAR_CHAR_NUMBER;
@@ -90,7 +90,7 @@ sub e2charnum {
$in = hex $1;
} # else it's decimal, or named
- if($in =~ m/^\d+$/s) {
+ if($in =~ m/^[0-9]+$/s) {
return 0 + $in;
} else {
return $Name2character_number{$in}; # returns undef if unknown
@@ -529,7 +529,7 @@ __END__
=head1 NAME
-Pod::Escapes -- for resolving Pod EE<lt>...E<gt> sequences
+Pod::Escapes - for resolving Pod EE<lt>...E<gt> sequences
=head1 SYNOPSIS
@@ -567,7 +567,7 @@ C<e2char('0x2F')>, and C<e2char('057')> all return "/",
because C<EE<lt>solE<gt>>, C<EE<lt>47E<gt>>, C<EE<lt>0x2fE<gt>>,
and C<EE<lt>057E<gt>>, all mean "/". If
the name has no known value (as with a name of "qacute") or is
-syntactally invalid (as with a name of "1/4"), this returns undef.
+syntactically invalid (as with a name of "1/4"), this returns undef.
=item e2charnum($e_content)
@@ -579,7 +579,7 @@ C<e2char('0x2F')>, and C<e2char('057')> all return 47,
because C<EE<lt>solE<gt>>, C<EE<lt>47E<gt>>, C<EE<lt>0x2fE<gt>>,
and C<EE<lt>057E<gt>>, all mean "/", whose Unicode number is 47. If
the name has no known value (as with a name of "qacute") or is
-syntactally invalid (as with a name of "1/4"), this returns undef.
+syntactically invalid (as with a name of "1/4"), this returns undef.
=item $Name2character{I<name>}
@@ -641,11 +641,21 @@ C<chr($Name2character_number{$name})>.
=head1 SEE ALSO
-L<perlpod|perlpod>
+L<Pod::Browser> - a pod web server based on L<Catalyst>.
+
+L<Pod::Checker> - check pod documents for syntax errors.
+
+L<Pod::Coverage> - check if the documentation for a module is comprehensive.
+
+L<perlpod> - description of pod format (for people documenting with pod).
-L<perlpodspec|perlpodspec>
+L<perlpodspec> - specification of pod format (for people processing it).
-L<Text::Unidecode|Text::Unidecode>
+L<Text::Unidecode> - ASCII transliteration of Unicode text.
+
+=head1 REPOSITORY
+
+L<https://github.com/neilbowers/Pod-Escapes>
=head1 COPYRIGHT AND DISCLAIMERS
@@ -671,12 +681,13 @@ Currently (October 2001), that's these three:
Sean M. Burke C<sburke@cpan.org>
+Now being maintained by Neil Bowers E<lt>neilb@cpan.orgE<gt>
+
=cut
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# What I used for reading the XHTML .ent files:
-use strict;
my(@norms, @good, @bad);
my $dir = 'c:/sgml/docbook/';
my %escapes;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Find.pm b/Master/tlpkg/tlperl/lib/Pod/Find.pm
index 157caf23a31..6149e7940ae 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Find.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Find.pm
@@ -14,7 +14,7 @@ package Pod::Find;
use strict;
use vars qw($VERSION);
-$VERSION = '1.60'; ## Current version of this package
+$VERSION = '1.62'; ## Current version of this package
require 5.005; ## requires this Perl version or later
use Carp;
@@ -45,6 +45,10 @@ Pod::Find - find POD documents in directory trees
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
B<Pod::Find> provides a set of functions to locate POD files. Note that
no function is exported by default to avoid pollution of your namespace,
so be sure to specify them in the B<use> statement if you need them:
diff --git a/Master/tlpkg/tlperl/lib/Pod/Functions.pm b/Master/tlpkg/tlperl/lib/Pod/Functions.pm
index 6ae7ae4bfe5..9e09beee929 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Functions.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Functions.pm
@@ -54,7 +54,7 @@ L<perlfunc/"Perl Functions by Category"> section.
=cut
-our $VERSION = '1.06';
+our $VERSION = '1.08';
require Exporter;
@@ -134,7 +134,7 @@ bind Socket binds an address to a socket
binmode I/O prepare binary files for I/O
bless Objects create an object
break Flow break out of a C<given> block
-caller Namespace Flow get context of the current subroutine call
+caller Flow Namespace get context of the current subroutine call
chdir File change your current working directory
chmod File changes the permissions on a list of files
chomp String remove a trailing record separator from a string
@@ -148,14 +148,14 @@ connect Socket connect to a remote socket
continue Flow optional trailing block in a while or foreach
cos Math cosine function
crypt String one-way passwd-style encryption
-dbmclose Objects I/O breaks binding on a tied dbm file
-dbmopen Objects I/O create binding on a tied dbm file
+dbmclose I/O Objects breaks binding on a tied dbm file
+dbmopen I/O Objects create binding on a tied dbm file
defined Misc test whether a value, variable, or function is defined
delete HASH deletes a value from a hash
die Flow I/O raise an exception or bail out
-do Modules Flow turn a BLOCK into a TERM
+do Flow Modules turn a BLOCK into a TERM
dump Flow create an immediate core dump
-each HASH ARRAY retrieve the next key/value pair from a hash
+each ARRAY HASH retrieve the next key/value pair from a hash
endgrent User be done using group file
endhostent User be done using hosts file
endnetent User be done using networks file
@@ -207,13 +207,13 @@ glob File expand filenames using wildcards
gmtime Time convert UNIX time into record or string using Greenwich time
goto Flow create spaghetti code
grep LIST locate elements in a list test true against a given criterion
-hex String Math convert a string to a hexadecimal number
+hex Math String convert a string to a hexadecimal number
import Modules Namespace patch a module's namespace into your own
index String find a substring within a string
int Math get the integer portion of a number
ioctl File system-dependent device control system call
join LIST join a list into a string using a separator
-keys HASH ARRAY retrieve list of indices from a hash
+keys ARRAY HASH retrieve list of indices from a hash
kill Process send a signal to a process or process group
last Flow exit a block prematurely
lc String return lower-case version of a string
@@ -237,13 +237,13 @@ msgsnd SysV send a SysV IPC message to a message queue
my Namespace declare and assign a local variable (lexical scoping)
next Flow iterate a block prematurely
no Modules unimport some module symbols or semantics at compile time
-oct String Math convert a string to an octal number
+oct Math String convert a string to an octal number
open File open a file, pipe, or descriptor
opendir File open a directory
ord String find a character's numeric representation
our Namespace declare and assign a package variable (lexical scoping)
-pack String Binary convert a list into a binary representation
-package Modules Objects Namespace declare a separate global namespace
+pack Binary String convert a list into a binary representation
+package Modules Namespace Objects declare a separate global namespace
__PACKAGE__ Flow the current package
pipe Process open a pair of connected filehandles
pop ARRAY remove the last element from an array and return it
@@ -271,7 +271,7 @@ rename File change a filename
require Modules load in external functions from a library at runtime
reset Misc clear all variables of a given name
return Flow get out of a function early
-reverse String LIST flip a string or a list
+reverse LIST String flip a string or a list
rewinddir I/O reset directory handle
rindex String right-to-left substring search
rmdir File remove a directory
@@ -328,7 +328,7 @@ telldir I/O get current seekpointer on a directory handle
tie Objects bind a variable to an object class
tied Objects get a reference to the object underlying a tied variable
time Time return number of seconds since 1970
-times Time Process return elapsed time for self and child processes
+times Process Time return elapsed time for self and child processes
tr/// String transliterate a string
truncate I/O shorten a file
uc String return upper-case version of a string
@@ -339,9 +339,9 @@ unlink File remove one link to a file
unpack Binary LIST convert binary structure into normal perl variables
unshift ARRAY prepend more elements to the beginning of a list
untie Objects break a tie binding to a variable
-use Modules Objects Namespace load in a module at compile time and import its namespace
+use Modules Namespace Objects load in a module at compile time and import its namespace
utime File set a file's last access and modify times
-values HASH ARRAY return a list of the values in a hash
+values ARRAY HASH return a list of the values in a hash
vec Binary test or set particular bits in a string
wait Process wait for any child process to die
waitpid Process wait for a particular child process to die
diff --git a/Master/tlpkg/tlperl/lib/Pod/Html.pm b/Master/tlpkg/tlperl/lib/Pod/Html.pm
index 72b37c249dd..f9f05b358eb 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.18;
+$VERSION = 1.21;
@ISA = qw(Exporter);
@EXPORT = qw(pod2html htmlify);
@EXPORT_OK = qw(anchorify);
@@ -369,14 +369,12 @@ sub pod2html {
my $bodyid = $Backlink ? ' id="_podtop_"' : '';
my $csslink = '';
- my $bodystyle = ' style="background-color: white"';
- my $tdstyle = ' style="background-color: #cccccc"';
+ my $tdstyle = ' style="background-color: #cccccc; color: #000"';
if ($Css) {
$csslink = qq(\n<link rel="stylesheet" href="$Css" type="text/css" />);
$csslink =~ s,\\,/,g;
$csslink =~ s,(/.):,$1|,;
- $bodystyle = '';
$tdstyle= '';
}
@@ -400,7 +398,7 @@ END_OF_BLOCK
<link rev="made" href="mailto:$Config{perladmin}" />
</head>
-<body$bodyid$bodystyle>
+<body$bodyid>
$block
HTMLHEAD
@@ -447,9 +445,14 @@ sub usage {
my $podfile = shift;
warn "$0: $podfile: @_\n" if @_;
die <<END_OF_USAGE;
-Usage: $0 --help --htmlroot=<name> --infile=<name> --outfile=<name>
- --podpath=<name>:...:<name> --podroot=<name> --cachedir=<name>
- --recurse --verbose --index --norecurse --noindex
+Usage: $0 --help --htmldir=<name> --htmlroot=<URL>
+ --infile=<name> --outfile=<name>
+ --podpath=<name>:...:<name> --podroot=<name>
+ --cachedir=<name> --flush --recurse --norecurse
+ --quiet --noquiet --verbose --noverbose
+ --index --noindex --backlink --nobacklink
+ --header --noheader --poderrors --nopoderrors
+ --css=<URL> --title=<name>
--[no]backlink - turn =head1 directives into links pointing to the top of
the page (off by default).
@@ -706,7 +709,7 @@ sub _unixify {
package Pod::Simple::XHTML::LocalPodLinks;
use strict;
use warnings;
-use base 'Pod::Simple::XHTML';
+use parent 'Pod::Simple::XHTML';
use File::Spec;
use File::Spec::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm b/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
index d72865037c8..87ce2478f63 100644
--- a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
@@ -12,7 +12,7 @@ package Pod::InputObjects;
use strict;
use vars qw($VERSION);
-$VERSION = '1.60'; ## Current version of this package
+$VERSION = '1.62'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -35,6 +35,10 @@ Nothing.
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
This module defines some basic input objects used by B<Pod::Parser> when
reading and parsing POD text from an input source. The following objects
are defined:
@@ -480,7 +484,7 @@ sub new {
@_
};
- ## Initialize contents if they havent been already
+ ## Initialize contents if they haven't been already
my $ptree = $self->{'-ptree'} || new Pod::ParseTree();
if ( ref $ptree =~ /^(ARRAY)?$/ ) {
## We have an array-ref, or a normal scalar. Pass it as an
diff --git a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm b/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
deleted file mode 100644
index fc6d99dd979..00000000000
--- a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
+++ /dev/null
@@ -1,1883 +0,0 @@
-package Pod::LaTeX;
-
-=head1 NAME
-
-Pod::LaTeX - Convert Pod data to formatted Latex
-
-=head1 SYNOPSIS
-
- use Pod::LaTeX;
- my $parser = Pod::LaTeX->new ( );
-
- $parser->parse_from_filehandle;
-
- $parser->parse_from_file ('file.pod', 'file.tex');
-
-=head1 DESCRIPTION
-
-C<Pod::LaTeX> is a module to convert documentation in the Pod format
-into Latex. The L<B<pod2latex>|pod2latex> X<pod2latex> command uses
-this module for translation.
-
-C<Pod::LaTeX> is a derived class from L<Pod::Select|Pod::Select>.
-
-=cut
-
-
-use strict;
-require Pod::ParseUtils;
-use base qw/ Pod::Select /;
-
-use if $] > 5.017, 'deprecate';
-
-# use Data::Dumper; # for debugging
-use Carp;
-
-use vars qw/ $VERSION %HTML_Escapes @LatexSections /;
-
-$VERSION = '0.61';
-
-# Definitions of =headN -> latex mapping
-@LatexSections = (qw/
- chapter
- section
- subsection
- subsubsection
- paragraph
- subparagraph
- /);
-
-# Standard escape sequences converted to Latex.
-# The Unicode name of each character is given in the comments.
-# Complete LaTeX set added by Peter Acklam.
-
-%HTML_Escapes = (
- 'sol' => '\textfractionsolidus{}', # xxx - or should it be just '/'
- 'verbar' => '|',
-
- # The stuff below is based on the information available at
- # http://www.w3.org/TR/html401/sgml/entities.html
-
- # All characters in the range 0xA0-0xFF of the ISO 8859-1 character set.
- # Several of these characters require the `textcomp' LaTeX package.
- 'nbsp' => q|~|, # 0xA0 - no-break space = non-breaking space
- 'iexcl' => q|\textexclamdown{}|, # 0xA1 - inverted exclamation mark
- 'cent' => q|\textcent{}|, # 0xA2 - cent sign
- 'pound' => q|\textsterling{}|, # 0xA3 - pound sign
- 'curren' => q|\textcurrency{}|, # 0xA4 - currency sign
- 'yen' => q|\textyen{}|, # 0xA5 - yen sign = yuan sign
- 'brvbar' => q|\textbrokenbar{}|, # 0xA6 - broken bar = broken vertical bar
- 'sect' => q|\textsection{}|, # 0xA7 - section sign
- 'uml' => q|\textasciidieresis{}|, # 0xA8 - diaeresis = spacing diaeresis
- 'copy' => q|\textcopyright{}|, # 0xA9 - copyright sign
- 'ordf' => q|\textordfeminine{}|, # 0xAA - feminine ordinal indicator
- 'laquo' => q|\guillemotleft{}|, # 0xAB - left-pointing double angle quotation mark = left pointing guillemet
- 'not' => q|\textlnot{}|, # 0xAC - not sign
- 'shy' => q|\-|, # 0xAD - soft hyphen = discretionary hyphen
- 'reg' => q|\textregistered{}|, # 0xAE - registered sign = registered trade mark sign
- 'macr' => q|\textasciimacron{}|, # 0xAF - macron = spacing macron = overline = APL overbar
- 'deg' => q|\textdegree{}|, # 0xB0 - degree sign
- 'plusmn' => q|\textpm{}|, # 0xB1 - plus-minus sign = plus-or-minus sign
- 'sup2' => q|\texttwosuperior{}|, # 0xB2 - superscript two = superscript digit two = squared
- 'sup3' => q|\textthreesuperior{}|, # 0xB3 - superscript three = superscript digit three = cubed
- 'acute' => q|\textasciiacute{}|, # 0xB4 - acute accent = spacing acute
- 'micro' => q|\textmu{}|, # 0xB5 - micro sign
- 'para' => q|\textparagraph{}|, # 0xB6 - pilcrow sign = paragraph sign
- 'middot' => q|\textperiodcentered{}|, # 0xB7 - middle dot = Georgian comma = Greek middle dot
- 'cedil' => q|\c{}|, # 0xB8 - cedilla = spacing cedilla
- 'sup1' => q|\textonesuperior{}|, # 0xB9 - superscript one = superscript digit one
- 'ordm' => q|\textordmasculine{}|, # 0xBA - masculine ordinal indicator
- 'raquo' => q|\guillemotright{}|, # 0xBB - right-pointing double angle quotation mark = right pointing guillemet
- 'frac14' => q|\textonequarter{}|, # 0xBC - vulgar fraction one quarter = fraction one quarter
- 'frac12' => q|\textonehalf{}|, # 0xBD - vulgar fraction one half = fraction one half
- 'frac34' => q|\textthreequarters{}|, # 0xBE - vulgar fraction three quarters = fraction three quarters
- 'iquest' => q|\textquestiondown{}|, # 0xBF - inverted question mark = turned question mark
- 'Agrave' => q|\`A|, # 0xC0 - latin capital letter A with grave = latin capital letter A grave
- 'Aacute' => q|\'A|, # 0xC1 - latin capital letter A with acute
- 'Acirc' => q|\^A|, # 0xC2 - latin capital letter A with circumflex
- 'Atilde' => q|\~A|, # 0xC3 - latin capital letter A with tilde
- 'Auml' => q|\"A|, # 0xC4 - latin capital letter A with diaeresis
- 'Aring' => q|\AA{}|, # 0xC5 - latin capital letter A with ring above = latin capital letter A ring
- 'AElig' => q|\AE{}|, # 0xC6 - latin capital letter AE = latin capital ligature AE
- 'Ccedil' => q|\c{C}|, # 0xC7 - latin capital letter C with cedilla
- 'Egrave' => q|\`E|, # 0xC8 - latin capital letter E with grave
- 'Eacute' => q|\'E|, # 0xC9 - latin capital letter E with acute
- 'Ecirc' => q|\^E|, # 0xCA - latin capital letter E with circumflex
- 'Euml' => q|\"E|, # 0xCB - latin capital letter E with diaeresis
- 'Igrave' => q|\`I|, # 0xCC - latin capital letter I with grave
- 'Iacute' => q|\'I|, # 0xCD - latin capital letter I with acute
- 'Icirc' => q|\^I|, # 0xCE - latin capital letter I with circumflex
- 'Iuml' => q|\"I|, # 0xCF - latin capital letter I with diaeresis
- 'ETH' => q|\DH{}|, # 0xD0 - latin capital letter ETH
- 'Ntilde' => q|\~N|, # 0xD1 - latin capital letter N with tilde
- 'Ograve' => q|\`O|, # 0xD2 - latin capital letter O with grave
- 'Oacute' => q|\'O|, # 0xD3 - latin capital letter O with acute
- 'Ocirc' => q|\^O|, # 0xD4 - latin capital letter O with circumflex
- 'Otilde' => q|\~O|, # 0xD5 - latin capital letter O with tilde
- 'Ouml' => q|\"O|, # 0xD6 - latin capital letter O with diaeresis
- 'times' => q|\texttimes{}|, # 0xD7 - multiplication sign
- 'Oslash' => q|\O{}|, # 0xD8 - latin capital letter O with stroke = latin capital letter O slash
- 'Ugrave' => q|\`U|, # 0xD9 - latin capital letter U with grave
- 'Uacute' => q|\'U|, # 0xDA - latin capital letter U with acute
- 'Ucirc' => q|\^U|, # 0xDB - latin capital letter U with circumflex
- 'Uuml' => q|\"U|, # 0xDC - latin capital letter U with diaeresis
- 'Yacute' => q|\'Y|, # 0xDD - latin capital letter Y with acute
- 'THORN' => q|\TH{}|, # 0xDE - latin capital letter THORN
- 'szlig' => q|\ss{}|, # 0xDF - latin small letter sharp s = ess-zed
- 'agrave' => q|\`a|, # 0xE0 - latin small letter a with grave = latin small letter a grave
- 'aacute' => q|\'a|, # 0xE1 - latin small letter a with acute
- 'acirc' => q|\^a|, # 0xE2 - latin small letter a with circumflex
- 'atilde' => q|\~a|, # 0xE3 - latin small letter a with tilde
- 'auml' => q|\"a|, # 0xE4 - latin small letter a with diaeresis
- 'aring' => q|\aa{}|, # 0xE5 - latin small letter a with ring above = latin small letter a ring
- 'aelig' => q|\ae{}|, # 0xE6 - latin small letter ae = latin small ligature ae
- 'ccedil' => q|\c{c}|, # 0xE7 - latin small letter c with cedilla
- 'egrave' => q|\`e|, # 0xE8 - latin small letter e with grave
- 'eacute' => q|\'e|, # 0xE9 - latin small letter e with acute
- 'ecirc' => q|\^e|, # 0xEA - latin small letter e with circumflex
- 'euml' => q|\"e|, # 0xEB - latin small letter e with diaeresis
- 'igrave' => q|\`i|, # 0xEC - latin small letter i with grave
- 'iacute' => q|\'i|, # 0xED - latin small letter i with acute
- 'icirc' => q|\^i|, # 0xEE - latin small letter i with circumflex
- 'iuml' => q|\"i|, # 0xEF - latin small letter i with diaeresis
- 'eth' => q|\dh{}|, # 0xF0 - latin small letter eth
- 'ntilde' => q|\~n|, # 0xF1 - latin small letter n with tilde
- 'ograve' => q|\`o|, # 0xF2 - latin small letter o with grave
- 'oacute' => q|\'o|, # 0xF3 - latin small letter o with acute
- 'ocirc' => q|\^o|, # 0xF4 - latin small letter o with circumflex
- 'otilde' => q|\~o|, # 0xF5 - latin small letter o with tilde
- 'ouml' => q|\"o|, # 0xF6 - latin small letter o with diaeresis
- 'divide' => q|\textdiv{}|, # 0xF7 - division sign
- 'oslash' => q|\o{}|, # 0xF8 - latin small letter o with stroke, = latin small letter o slash
- 'ugrave' => q|\`u|, # 0xF9 - latin small letter u with grave
- 'uacute' => q|\'u|, # 0xFA - latin small letter u with acute
- 'ucirc' => q|\^u|, # 0xFB - latin small letter u with circumflex
- 'uuml' => q|\"u|, # 0xFC - latin small letter u with diaeresis
- 'yacute' => q|\'y|, # 0xFD - latin small letter y with acute
- 'thorn' => q|\th{}|, # 0xFE - latin small letter thorn
- 'yuml' => q|\"y|, # 0xFF - latin small letter y with diaeresis
-
- # Latin Extended-B
- 'fnof' => q|\textflorin{}|, # latin small f with hook = function = florin
-
- # Greek
- 'Alpha' => q|$\mathrm{A}$|, # greek capital letter alpha
- 'Beta' => q|$\mathrm{B}$|, # greek capital letter beta
- 'Gamma' => q|$\Gamma$|, # greek capital letter gamma
- 'Delta' => q|$\Delta$|, # greek capital letter delta
- 'Epsilon' => q|$\mathrm{E}$|, # greek capital letter epsilon
- 'Zeta' => q|$\mathrm{Z}$|, # greek capital letter zeta
- 'Eta' => q|$\mathrm{H}$|, # greek capital letter eta
- 'Theta' => q|$\Theta$|, # greek capital letter theta
- 'Iota' => q|$\mathrm{I}$|, # greek capital letter iota
- 'Kappa' => q|$\mathrm{K}$|, # greek capital letter kappa
- 'Lambda' => q|$\Lambda$|, # greek capital letter lambda
- 'Mu' => q|$\mathrm{M}$|, # greek capital letter mu
- 'Nu' => q|$\mathrm{N}$|, # greek capital letter nu
- 'Xi' => q|$\Xi$|, # greek capital letter xi
- 'Omicron' => q|$\mathrm{O}$|, # greek capital letter omicron
- 'Pi' => q|$\Pi$|, # greek capital letter pi
- 'Rho' => q|$\mathrm{R}$|, # greek capital letter rho
- 'Sigma' => q|$\Sigma$|, # greek capital letter sigma
- 'Tau' => q|$\mathrm{T}$|, # greek capital letter tau
- 'Upsilon' => q|$\Upsilon$|, # greek capital letter upsilon
- 'Phi' => q|$\Phi$|, # greek capital letter phi
- 'Chi' => q|$\mathrm{X}$|, # greek capital letter chi
- 'Psi' => q|$\Psi$|, # greek capital letter psi
- 'Omega' => q|$\Omega$|, # greek capital letter omega
-
- 'alpha' => q|$\alpha$|, # greek small letter alpha
- 'beta' => q|$\beta$|, # greek small letter beta
- 'gamma' => q|$\gamma$|, # greek small letter gamma
- 'delta' => q|$\delta$|, # greek small letter delta
- 'epsilon' => q|$\epsilon$|, # greek small letter epsilon
- 'zeta' => q|$\zeta$|, # greek small letter zeta
- 'eta' => q|$\eta$|, # greek small letter eta
- 'theta' => q|$\theta$|, # greek small letter theta
- 'iota' => q|$\iota$|, # greek small letter iota
- 'kappa' => q|$\kappa$|, # greek small letter kappa
- 'lambda' => q|$\lambda$|, # greek small letter lambda
- 'mu' => q|$\mu$|, # greek small letter mu
- 'nu' => q|$\nu$|, # greek small letter nu
- 'xi' => q|$\xi$|, # greek small letter xi
- 'omicron' => q|$o$|, # greek small letter omicron
- 'pi' => q|$\pi$|, # greek small letter pi
- 'rho' => q|$\rho$|, # greek small letter rho
-# 'sigmaf' => q||, # greek small letter final sigma
- 'sigma' => q|$\sigma$|, # greek small letter sigma
- 'tau' => q|$\tau$|, # greek small letter tau
- 'upsilon' => q|$\upsilon$|, # greek small letter upsilon
- 'phi' => q|$\phi$|, # greek small letter phi
- 'chi' => q|$\chi$|, # greek small letter chi
- 'psi' => q|$\psi$|, # greek small letter psi
- 'omega' => q|$\omega$|, # greek small letter omega
-# 'thetasym' => q||, # greek small letter theta symbol
-# 'upsih' => q||, # greek upsilon with hook symbol
-# 'piv' => q||, # greek pi symbol
-
- # General Punctuation
- 'bull' => q|\textbullet{}|, # bullet = black small circle
- # bullet is NOT the same as bullet operator
- 'hellip' => q|\textellipsis{}|, # horizontal ellipsis = three dot leader
- 'prime' => q|\textquotesingle{}|, # prime = minutes = feet
- 'Prime' => q|\textquotedbl{}|, # double prime = seconds = inches
- 'oline' => q|\textasciimacron{}|, # overline = spacing overscore
- 'frasl' => q|\textfractionsolidus{}|, # fraction slash
-
- # Letterlike Symbols
- 'weierp' => q|$\wp$|, # script capital P = power set = Weierstrass p
- 'image' => q|$\Re$|, # blackletter capital I = imaginary part
- 'real' => q|$\Im$|, # blackletter capital R = real part symbol
- 'trade' => q|\texttrademark{}|, # trade mark sign
-# 'alefsym' => q||, # alef symbol = first transfinite cardinal
- # alef symbol is NOT the same as hebrew letter alef, although the same
- # glyph could be used to depict both characters
-
- # Arrows
- 'larr' => q|\textleftarrow{}|, # leftwards arrow
- 'uarr' => q|\textuparrow{}|, # upwards arrow
- 'rarr' => q|\textrightarrow{}|, # rightwards arrow
- 'darr' => q|\textdownarrow{}|, # downwards arrow
- 'harr' => q|$\leftrightarrow$|, # left right arrow
-# 'crarr' => q||, # downwards arrow with corner leftwards = carriage return
- 'lArr' => q|$\Leftarrow$|, # leftwards double arrow
- # ISO 10646 does not say that lArr is the same as the 'is implied by'
- # arrow but also does not have any other character for that function. So
- # lArr can be used for 'is implied by' as ISOtech suggests
- 'uArr' => q|$\Uparrow$|, # upwards double arrow
- 'rArr' => q|$\Rightarrow$|, # rightwards double arrow
- # ISO 10646 does not say this is the 'implies' character but does not
- # have another character with this function so ? rArr can be used for
- # 'implies' as ISOtech suggests
- 'dArr' => q|$\Downarrow$|, # downwards double arrow
- 'hArr' => q|$\Leftrightarrow$|, # left right double arrow
-
- # Mathematical Operators.
- # Some of these require the `amssymb' package.
- 'forall' => q|$\forall$|, # for all
- 'part' => q|$\partial$|, # partial differential
- 'exist' => q|$\exists$|, # there exists
- 'empty' => q|$\emptyset$|, # empty set = null set = diameter
- 'nabla' => q|$\nabla$|, # nabla = backward difference
- 'isin' => q|$\in$|, # element of
- 'notin' => q|$\notin$|, # not an element of
- 'ni' => q|$\ni$|, # contains as member
- 'prod' => q|$\prod$|, # n-ary product = product sign
- # prod is NOT the same character as 'greek capital letter pi' though the
- # same glyph might be used for both
- 'sum' => q|$\sum$|, # n-ary summation
- # sum is NOT the same character as 'greek capital letter sigma' though
- # the same glyph might be used for both
- 'minus' => q|$-$|, # minus sign
- 'lowast' => q|$\ast$|, # asterisk operator
- 'radic' => q|$\surd$|, # square root = radical sign
- 'prop' => q|$\propto$|, # proportional to
- 'infin' => q|$\infty$|, # infinity
- 'ang' => q|$\angle$|, # angle
- 'and' => q|$\wedge$|, # logical and = wedge
- 'or' => q|$\vee$|, # logical or = vee
- 'cap' => q|$\cap$|, # intersection = cap
- 'cup' => q|$\cup$|, # union = cup
- 'int' => q|$\int$|, # integral
- 'there4' => q|$\therefore$|, # therefore
- 'sim' => q|$\sim$|, # tilde operator = varies with = similar to
- # tilde operator is NOT the same character as the tilde
- 'cong' => q|$\cong$|, # approximately equal to
- 'asymp' => q|$\asymp$|, # almost equal to = asymptotic to
- 'ne' => q|$\neq$|, # not equal to
- 'equiv' => q|$\equiv$|, # identical to
- 'le' => q|$\leq$|, # less-than or equal to
- 'ge' => q|$\geq$|, # greater-than or equal to
- 'sub' => q|$\subset$|, # subset of
- 'sup' => q|$\supset$|, # superset of
- # note that nsup, 'not a superset of' is not covered by the Symbol font
- # encoding and is not included.
- 'nsub' => q|$\not\subset$|, # not a subset of
- 'sube' => q|$\subseteq$|, # subset of or equal to
- 'supe' => q|$\supseteq$|, # superset of or equal to
- 'oplus' => q|$\oplus$|, # circled plus = direct sum
- 'otimes' => q|$\otimes$|, # circled times = vector product
- 'perp' => q|$\perp$|, # up tack = orthogonal to = perpendicular
- 'sdot' => q|$\cdot$|, # dot operator
- # dot operator is NOT the same character as middle dot
-
- # Miscellaneous Technical
- 'lceil' => q|$\lceil$|, # left ceiling = apl upstile
- 'rceil' => q|$\rceil$|, # right ceiling
- 'lfloor' => q|$\lfloor$|, # left floor = apl downstile
- 'rfloor' => q|$\rfloor$|, # right floor
- 'lang' => q|$\langle$|, # left-pointing angle bracket = bra
- # lang is NOT the same character as 'less than' or 'single left-pointing
- # angle quotation mark'
- 'rang' => q|$\rangle$|, # right-pointing angle bracket = ket
- # rang is NOT the same character as 'greater than' or 'single
- # right-pointing angle quotation mark'
-
- # Geometric Shapes
- 'loz' => q|$\lozenge$|, # lozenge
-
- # Miscellaneous Symbols
- 'spades' => q|$\spadesuit$|, # black spade suit
- 'clubs' => q|$\clubsuit$|, # black club suit = shamrock
- 'hearts' => q|$\heartsuit$|, # black heart suit = valentine
- 'diams' => q|$\diamondsuit$|, # black diamond suit
-
- # C0 Controls and Basic Latin
- 'quot' => q|"|, # quotation mark = APL quote ["]
- 'amp' => q|\&|, # ampersand
- 'lt' => q|<|, # less-than sign
- 'gt' => q|>|, # greater-than sign
- 'OElig' => q|\OE{}|, # latin capital ligature OE
- 'oelig' => q|\oe{}|, # latin small ligature oe
- 'Scaron' => q|\v{S}|, # latin capital letter S with caron
- 'scaron' => q|\v{s}|, # latin small letter s with caron
- 'Yuml' => q|\"Y|, # latin capital letter Y with diaeresis
- 'circ' => q|\textasciicircum{}|, # modifier letter circumflex accent
- 'tilde' => q|\textasciitilde{}|, # small tilde
- 'ensp' => q|\phantom{n}|, # en space
- 'emsp' => q|\hspace{1em}|, # em space
- 'thinsp' => q|\,|, # thin space
- 'zwnj' => q|{}|, # zero width non-joiner
-# 'zwj' => q||, # zero width joiner
-# 'lrm' => q||, # left-to-right mark
-# 'rlm' => q||, # right-to-left mark
- 'ndash' => q|--|, # en dash
- 'mdash' => q|---|, # em dash
- 'lsquo' => q|\textquoteleft{}|, # left single quotation mark
- 'rsquo' => q|\textquoteright{}|, # right single quotation mark
- 'sbquo' => q|\quotesinglbase{}|, # single low-9 quotation mark
- 'ldquo' => q|\textquotedblleft{}|, # left double quotation mark
- 'rdquo' => q|\textquotedblright{}|, # right double quotation mark
- 'bdquo' => q|\quotedblbase{}|, # double low-9 quotation mark
- 'dagger' => q|\textdagger{}|, # dagger
- 'Dagger' => q|\textdaggerdbl{}|, # double dagger
- 'permil' => q|\textperthousand{}|, # per mille sign
- 'lsaquo' => q|\guilsinglleft{}|, # single left-pointing angle quotation mark
- 'rsaquo' => q|\guilsinglright{}|, # single right-pointing angle quotation mark
- 'euro' => q|\texteuro{}|, # euro sign
-);
-
-=head1 OBJECT METHODS
-
-The following methods are provided in this module. Methods inherited
-from C<Pod::Select> are not described in the public interface.
-
-=over 4
-
-=begin __PRIVATE__
-
-=item C<initialize>
-
-Initialise the object. This method is subclassed from C<Pod::Parser>.
-The base class method is invoked. This method defines the default
-behaviour of the object unless overridden by supplying arguments to
-the constructor.
-
-Internal settings are defaulted as well as the public instance data.
-Internal hash values are accessed directly (rather than through
-a method) and start with an underscore.
-
-This method should not be invoked by the user directly.
-
-=end __PRIVATE__
-
-=cut
-
-
-
-# - An array for nested lists
-
-# Arguments have already been read by this point
-
-sub initialize {
- my $self = shift;
-
- # print Dumper($self);
-
- # Internals
- $self->{_Lists} = []; # For nested lists
- $self->{_suppress_all_para} = 0; # For =begin blocks
- $self->{_dont_modify_any_para}=0; # For =begin blocks
- $self->{_CURRENT_HEAD1} = ''; # Name of current HEAD1 section
-
- # Options - only initialise if not already set
-
- # Cause the '=head1 NAME' field to be treated specially
- # The contents of the NAME paragraph will be converted
- # to a section title. All subsequent =head1 will be converted
- # to =head2 and down. Will not affect =head1's prior to NAME
- # Assumes: 'Module - purpose' format
- # Also creates a purpose field
- # The name is used for Labeling of the subsequent subsections
- $self->{ReplaceNAMEwithSection} = 0
- unless exists $self->{ReplaceNAMEwithSection};
- $self->{AddPreamble} = 1 # make full latex document
- unless exists $self->{AddPreamble};
- $self->{StartWithNewPage} = 0 # Start new page for pod section
- unless exists $self->{StartWithNewPage};
- $self->{TableOfContents} = 0 # Add table of contents
- unless exists $self->{TableOfContents}; # only relevant if AddPreamble=1
- $self->{AddPostamble} = 1 # Add closing latex code at end
- unless exists $self->{AddPostamble}; # effectively end{document} and index
- $self->{MakeIndex} = 1 # Add index (only relevant AddPostamble
- unless exists $self->{MakeIndex}; # and AddPreamble)
-
- $self->{UniqueLabels} = 1 # Use label unique for each pod
- unless exists $self->{UniqueLabels}; # either based on the filename
- # or supplied
-
- # Control the level of =head1. default is \section
- #
- $self->{Head1Level} = 1 # Offset in latex sections
- unless exists $self->{Head1Level}; # 0 is chapter, 2 is subsection
-
- # Control at which level numbering of sections is turned off
- # ie subsection becomes subsection*
- # The numbering is relative to the latex sectioning commands
- # and is independent of Pod heading level
- # default is to number \section but not \subsection
- $self->{LevelNoNum} = 2
- unless exists $self->{LevelNoNum};
-
- # Label to be used as prefix to all internal section names
- # If not defined will attempt to derive it from the filename
- # This can not happen when running parse_from_filehandle though
- # hence the ability to set the label externally
- # The label could then be Pod::Parser_DESCRIPTION or somesuch
-
- $self->{Label} = undef # label to be used as prefix
- unless exists $self->{Label}; # to all internal section names
-
- # These allow the caller to add arbitrary latex code to
- # start and end of document. AddPreamble and AddPostamble are ignored
- # if these are set.
- # Also MakeIndex and TableOfContents are also ignored.
- $self->{UserPreamble} = undef # User supplied start (AddPreamble =1)
- unless exists $self->{Label};
- $self->{UserPostamble} = undef # Use supplied end (AddPostamble=1)
- unless exists $self->{Label};
-
- # Run base initialize
- $self->SUPER::initialize;
-
-}
-
-=back
-
-=head2 Data Accessors
-
-The following methods are provided for accessing instance data. These
-methods should be used for accessing configuration parameters rather
-than assuming the object is a hash.
-
-Default values can be supplied by using these names as keys to a hash
-of arguments when using the C<new()> constructor.
-
-=over 4
-
-=item B<AddPreamble>
-
-Logical to control whether a C<latex> preamble is to be written.
-If true, a valid C<latex> preamble is written before the pod data is written.
-This is similar to:
-
- \documentclass{article}
- \usepackage[T1]{fontenc}
- \usepackage{textcomp}
- \begin{document}
-
-but will be more complicated if table of contents and indexing are required.
-Can be used to set or retrieve the current value.
-
- $add = $parser->AddPreamble();
- $parser->AddPreamble(1);
-
-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 automatically.
-
-=cut
-
-sub AddPreamble {
- my $self = shift;
- if (@_) {
- $self->{AddPreamble} = shift;
- }
- return $self->{AddPreamble};
-}
-
-=item B<AddPostamble>
-
-Logical to control whether a standard C<latex> ending is written to the output
-file after the document has been processed.
-In its simplest form this is simply:
-
- \end{document}
-
-but can be more complicated if a index is required.
-Can be used to set or retrieve the current value.
-
- $add = $parser->AddPostamble();
- $parser->AddPostamble(1);
-
-If used in conjunction with C<AddPreaamble> a full latex document will
-be written that could be immediately processed by C<latex>.
-
-=cut
-
-sub AddPostamble {
- my $self = shift;
- if (@_) {
- $self->{AddPostamble} = shift;
- }
- return $self->{AddPostamble};
-}
-
-=item B<Head1Level>
-
-The C<latex> sectioning level that should be used to correspond to
-a pod C<=head1> directive. This can be used, for example, to turn
-a C<=head1> into a C<latex> C<subsection>. This should hold a number
-corresponding to the required position in an array containing the
-following elements:
-
- [0] chapter
- [1] section
- [2] subsection
- [3] subsubsection
- [4] paragraph
- [5] subparagraph
-
-Can be used to set or retrieve the current value:
-
- $parser->Head1Level(2);
- $sect = $parser->Head1Level;
-
-Setting this number too high can result in sections that may not be reproducible
-in the expected way. For example, setting this to 4 would imply that C<=head3>
-do not have a corresponding C<latex> section (C<=head1> would correspond to
-a C<paragraph>).
-
-A check is made to ensure that the supplied value is an integer in the
-range 0 to 5.
-
-Default is for a value of 1 (i.e. a C<section>).
-
-=cut
-
-sub Head1Level {
- my $self = shift;
- if (@_) {
- my $arg = shift;
- if ($arg =~ /^\d$/ && $arg <= $#LatexSections) {
- $self->{Head1Level} = $arg;
- } else {
- carp "Head1Level supplied ($arg) must be integer in range 0 to ".$#LatexSections . "- Ignoring\n";
- }
- }
- return $self->{Head1Level};
-}
-
-=item B<Label>
-
-This is the label that is prefixed to all C<latex> label and index
-entries to make them unique. In general, pods have similarly titled
-sections (NAME, DESCRIPTION etc) and a C<latex> label will be multiply
-defined if more than one pod document is to be included in a single
-C<latex> file. To overcome this, this label is prefixed to a label
-whenever a label is required (joined with an underscore) or to an
-index entry (joined by an exclamation mark which is the normal index
-separator). For example, C<\label{text}> becomes C<\label{Label_text}>.
-
-Can be used to set or retrieve the current value:
-
- $label = $parser->Label;
- $parser->Label($label);
-
-This label is only used if C<UniqueLabels> is true.
-Its value is set automatically from the C<NAME> field
-if C<ReplaceNAMEwithSection> is true. If this is not the case
-it must be set manually before starting the parse.
-
-Default value is C<undef>.
-
-=cut
-
-sub Label {
- my $self = shift;
- if (@_) {
- $self->{Label} = shift;
- }
- return $self->{Label};
-}
-
-=item B<LevelNoNum>
-
-Control the point at which C<latex> section numbering is turned off.
-For example, this can be used to make sure that C<latex> sections
-are numbered but subsections are not.
-
-Can be used to set or retrieve the current value:
-
- $lev = $parser->LevelNoNum;
- $parser->LevelNoNum(2);
-
-The argument must be an integer between 0 and 5 and is the same as the
-number described in C<Head1Level> method description. The number has
-nothing to do with the pod heading number, only the C<latex> sectioning.
-
-Default is 2. (i.e. C<latex> subsections are written as C<subsection*>
-but sections are numbered).
-
-=cut
-
-sub LevelNoNum {
- my $self = shift;
- if (@_) {
- $self->{LevelNoNum} = shift;
- }
- return $self->{LevelNoNum};
-}
-
-=item B<MakeIndex>
-
-Controls whether C<latex> commands for creating an index are to be inserted
-into the preamble and postamble
-
- $makeindex = $parser->MakeIndex;
- $parser->MakeIndex(0);
-
-Irrelevant if both C<AddPreamble> and C<AddPostamble> are false (or equivalently,
-C<UserPreamble> and C<UserPostamble> are set).
-
-Default is for an index to be created.
-
-=cut
-
-sub MakeIndex {
- my $self = shift;
- if (@_) {
- $self->{MakeIndex} = shift;
- }
- return $self->{MakeIndex};
-}
-
-=item B<ReplaceNAMEwithSection>
-
-This controls whether the C<NAME> section in the pod is to be translated
-literally or converted to a slightly modified output where the section
-name is the pod name rather than "NAME".
-
-If true, the pod segment
-
- =head1 NAME
-
- pod::name - purpose
-
- =head1 SYNOPSIS
-
-is converted to the C<latex>
-
- \section{pod::name\label{pod_name}\index{pod::name}}
-
- Purpose
-
- \subsection*{SYNOPSIS\label{pod_name_SYNOPSIS}%
- \index{pod::name!SYNOPSIS}}
-
-(dependent on the value of C<Head1Level> and C<LevelNoNum>). Note that
-subsequent C<head1> directives translate to subsections rather than
-sections and that the labels and index now include the pod name (dependent
-on the value of C<UniqueLabels>).
-
-The C<Label> is set from the pod name regardless of any current value
-of C<Label>.
-
- $mod = $parser->ReplaceNAMEwithSection;
- $parser->ReplaceNAMEwithSection(0);
-
-Default is to translate the pod literally.
-
-=cut
-
-sub ReplaceNAMEwithSection {
- my $self = shift;
- if (@_) {
- $self->{ReplaceNAMEwithSection} = shift;
- }
- return $self->{ReplaceNAMEwithSection};
-}
-
-=item B<StartWithNewPage>
-
-If true, each pod translation will begin with a C<latex>
-C<\clearpage>.
-
- $parser->StartWithNewPage(1);
- $newpage = $parser->StartWithNewPage;
-
-Default is false.
-
-=cut
-
-sub StartWithNewPage {
- my $self = shift;
- if (@_) {
- $self->{StartWithNewPage} = shift;
- }
- return $self->{StartWithNewPage};
-}
-
-=item B<TableOfContents>
-
-If true, a table of contents will be created.
-Irrelevant if C<AddPreamble> is false or C<UserPreamble>
-is set.
-
- $toc = $parser->TableOfContents;
- $parser->TableOfContents(1);
-
-Default is false.
-
-=cut
-
-sub TableOfContents {
- my $self = shift;
- if (@_) {
- $self->{TableOfContents} = shift;
- }
- return $self->{TableOfContents};
-}
-
-=item B<UniqueLabels>
-
-If true, the translator will attempt to make sure that
-each C<latex> label or index entry will be uniquely identified
-by prefixing the contents of C<Label>. This allows
-multiple documents to be combined without clashing
-common labels such as C<DESCRIPTION> and C<SYNOPSIS>
-
- $parser->UniqueLabels(1);
- $unq = $parser->UniqueLabels;
-
-Default is true.
-
-=cut
-
-sub UniqueLabels {
- my $self = shift;
- if (@_) {
- $self->{UniqueLabels} = shift;
- }
- return $self->{UniqueLabels};
-}
-
-=item B<UserPreamble>
-
-User supplied C<latex> preamble. Added before the pod translation
-data.
-
-If set, the contents will be prepended to the output file before the translated
-data regardless of the value of C<AddPreamble>.
-C<MakeIndex> and C<TableOfContents> will also be ignored.
-
-=cut
-
-sub UserPreamble {
- my $self = shift;
- if (@_) {
- $self->{UserPreamble} = shift;
- }
- return $self->{UserPreamble};
-}
-
-=item B<UserPostamble>
-
-User supplied C<latex> postamble. Added after the pod translation
-data.
-
-If set, the contents will be prepended to the output file after the translated
-data regardless of the value of C<AddPostamble>.
-C<MakeIndex> will also be ignored.
-
-=cut
-
-sub UserPostamble {
- my $self = shift;
- if (@_) {
- $self->{UserPostamble} = shift;
- }
- return $self->{UserPostamble};
-}
-
-=begin __PRIVATE__
-
-=item B<Lists>
-
-Contains details of the currently active lists.
- The array contains C<Pod::List> objects. A new C<Pod::List>
-object is created each time a list is encountered and it is
-pushed onto this stack. When the list context ends, it
-is popped from the stack. The array will be empty if no
-lists are active.
-
-Returns array of list information in list context
-Returns array ref in scalar context
-
-=cut
-
-
-
-sub lists {
- my $self = shift;
- return @{ $self->{_Lists} } if wantarray();
- return $self->{_Lists};
-}
-
-=end __PRIVATE__
-
-=back
-
-=begin __PRIVATE__
-
-=head2 Subclassed methods
-
-The following methods override methods provided in the C<Pod::Select>
-base class. See C<Pod::Parser> and C<Pod::Select> for more information
-on what these methods require.
-
-=over 4
-
-=cut
-
-######### END ACCESSORS ###################
-
-# Opening pod
-
-=item B<begin_pod>
-
-Writes the C<latex> preamble if requested. Only writes something
-if AddPreamble is true. Writes a standard header unless a UserPreamble
-is defined.
-
-=cut
-
-sub begin_pod {
- my $self = shift;
-
- # Get the pod identification
- # This should really come from the '=head1 NAME' paragraph
-
- my $infile = $self->input_file;
- my $class = ref($self);
- my $date = gmtime(time);
-
- # Comment message to say where this came from
- my $comment = << "__TEX_COMMENT__";
-%% Latex generated from POD in document $infile
-%% Using the perl module $class
-%% Converted on $date
-__TEX_COMMENT__
-
- # Write the preamble
- # If the caller has supplied one then we just use that
-
- my $preamble = '';
-
- if ($self->AddPreamble) {
-
- if (defined $self->UserPreamble) {
-
- $preamble = $self->UserPreamble;
-
- # Add the description of where this came from
- $preamble .= "\n$comment\n%% Preamble supplied by user.\n\n";
-
- } else {
-
- # Write our own preamble
-
- # Code to initialise index making
- # Use an array so that we can prepend comment if required
- my @makeidx = (
- '\usepackage{makeidx}',
- '\makeindex',
- );
-
- unless ($self->MakeIndex) {
- foreach (@makeidx) {
- $_ = '%% ' . $_;
- }
- }
- my $makeindex = join("\n",@makeidx) . "\n";
-
- # Table of contents
- my $tableofcontents = '\tableofcontents';
-
- $tableofcontents = '%% ' . $tableofcontents
- unless $self->TableOfContents;
-
- # Roll our own
- $preamble = << "__TEX_HEADER__";
-\\documentclass{article}
-\\usepackage[T1]{fontenc}
-\\usepackage{textcomp}
-
-$comment
-
-$makeindex
-
-\\begin{document}
-
-$tableofcontents
-
-__TEX_HEADER__
-
- }
- }
-
- # Write the header (blank if none)
- $self->_output($preamble);
-
- # Start on new page if requested
- $self->_output("\\clearpage\n") if $self->StartWithNewPage;
-
-}
-
-
-=item B<end_pod>
-
-Write the closing C<latex> code. Only writes something if AddPostamble
-is true. Writes a standard header unless a UserPostamble is defined.
-
-=cut
-
-sub end_pod {
- my $self = shift;
-
- # End string
- my $end = '';
-
- # Use the user version of the postamble if defined
- if ($self->AddPostamble) {
-
- if (defined $self->UserPostamble) {
- $end = $self->UserPostamble;
-
- } else {
-
- # Check for index
- my $makeindex = '\printindex';
-
- $makeindex = '%% '. $makeindex unless $self->MakeIndex;
-
- $end = "$makeindex\n\n\\end{document}\n";
- }
- }
-
- $self->_output($end);
-
-}
-
-=item B<command>
-
-Process basic pod commands.
-
-=cut
-
-sub command {
- my $self = shift;
- my ($command, $paragraph, $line_num, $parobj) = @_;
-
- # return if we dont care
- return if $command eq 'pod';
-
- # Store a copy of the raw text in case we are in a =for
- # block and need to preserve the existing latex
- my $rawpara = $paragraph;
-
- # Do the latex escapes
- $paragraph = $self->_replace_special_chars($paragraph);
-
- # Interpolate pod sequences in paragraph
- $paragraph = $self->interpolate($paragraph, $line_num);
- $paragraph =~ s/\s+$//;
-
- # Replace characters that can only be done after
- # interpolation of interior sequences
- $paragraph = $self->_replace_special_chars_late($paragraph);
-
- # Now run the command
- if ($command eq 'over') {
-
- $self->begin_list($paragraph, $line_num);
-
- } elsif ($command eq 'item') {
-
- $self->add_item($paragraph, $line_num);
-
- } elsif ($command eq 'back') {
-
- $self->end_list($line_num);
-
- } elsif ($command eq 'head1') {
-
- # Store the name of the section
- $self->{_CURRENT_HEAD1} = $paragraph;
-
- # Print it
- $self->head(1, $paragraph, $parobj);
-
- } elsif ($command eq 'head2') {
-
- $self->head(2, $paragraph, $parobj);
-
- } elsif ($command eq 'head3') {
-
- $self->head(3, $paragraph, $parobj);
-
- } elsif ($command eq 'head4') {
-
- $self->head(4, $paragraph, $parobj);
-
- } elsif ($command eq 'head5') {
-
- $self->head(5, $paragraph, $parobj);
-
- } elsif ($command eq 'head6') {
-
- $self->head(6, $paragraph, $parobj);
-
- } elsif ($command eq 'begin') {
-
- # pass through if latex
- if ($paragraph =~ /^latex/i) {
- # Make sure that subsequent paragraphs are not modfied before printing
- $self->{_dont_modify_any_para} = 1;
-
- } else {
- # Suppress all subsequent paragraphs unless
- # it is explicitly intended for latex
- $self->{_suppress_all_para} = 1;
- }
-
- } elsif ($command eq 'for') {
-
- # =for latex
- # some latex
-
- # With =for we will get the text for the full paragraph
- # as well as the format name.
- # We do not get an additional paragraph later on. The next
- # paragraph is not governed by the =for
-
- # The first line contains the format and the rest is the
- # raw code.
- my ($format, $chunk) = split(/\n/, $rawpara, 2);
-
- # If we have got some latex code print it out immediately
- # unmodified. Else do nothing.
- if ($format =~ /^latex/i) {
- # Make sure that next paragraph is not modfied before printing
- $self->_output( $chunk );
-
- }
-
- } elsif ($command eq 'end') {
-
- # Reset suppression
- $self->{_suppress_all_para} = 0;
- $self->{_dont_modify_any_para} = 0;
-
- } elsif ($command eq 'pod') {
-
- # Do nothing
-
- } else {
- carp "Command $command not recognised at line $line_num\n";
- }
-
-}
-
-=item B<verbatim>
-
-Verbatim text
-
-=cut
-
-sub verbatim {
- my $self = shift;
- my ($paragraph, $line_num, $parobj) = @_;
-
- # Expand paragraph unless in =begin block
- if ($self->{_dont_modify_any_para}) {
- # Just print as is
- $self->_output($paragraph);
-
- } else {
-
- return if $paragraph =~ /^\s+$/;
-
- # Clean trailing space
- $paragraph =~ s/\s+$//;
-
- # Clean tabs. Routine taken from Tabs.pm
- # by David Muir Sharnoff muir@idiom.com,
- # slightly modified by hsmyers@sdragons.com 10/22/01
- my @l = split("\n",$paragraph);
- foreach (@l) {
- 1 while s/(^|\n)([^\t\n]*)(\t+)/
- $1. $2 . (" " x
- (8 * length($3)
- - (length($2) % 8)))
- /sex;
- }
- $paragraph = join("\n",@l);
- # End of change.
-
-
-
- $self->_output('\begin{verbatim}' . "\n$paragraph\n". '\end{verbatim}'."\n");
- }
-}
-
-=item B<textblock>
-
-Plain text paragraph.
-
-=cut
-
-sub textblock {
- my $self = shift;
- my ($paragraph, $line_num, $parobj) = @_;
-
- # print Dumper($self);
-
- # Expand paragraph unless in =begin block
- if ($self->{_dont_modify_any_para}) {
- # Just print as is
- $self->_output($paragraph);
-
- return;
- }
-
-
- # Escape latex special characters
- $paragraph = $self->_replace_special_chars($paragraph);
-
- # Interpolate interior sequences
- my $expansion = $self->interpolate($paragraph, $line_num);
- $expansion =~ s/\s+$//;
-
- # Escape special characters that can not be done earlier
- $expansion = $self->_replace_special_chars_late($expansion);
-
- # If we are replacing 'head1 NAME' with a section
- # we need to look in the paragraph and rewrite things
- # Need to make sure this is called only on the first paragraph
- # following 'head1 NAME' and not on subsequent paragraphs that may be
- # present.
- if ($self->{_CURRENT_HEAD1} =~ /^NAME/i && $self->ReplaceNAMEwithSection()) {
-
- # Strip white space from start and end
- $paragraph =~ s/^\s+//;
- $paragraph =~ s/\s$//;
-
- # Split the string into 2 parts
- my ($name, $purpose) = split(/\s+-\s+/, $expansion,2);
-
- # Now prevent this from triggering until a new head1 NAME is set
- $self->{_CURRENT_HEAD1} = '_NAME';
-
- # Might want to clear the Label() before doing this (CHECK)
-
- # Print the heading
- $self->head(1, $name, $parobj);
-
- # Set the labeling in case we want unique names later
- $self->Label( $self->_create_label( $name, 1 ) );
-
- # Raise the Head1Level by one so that subsequent =head1 appear
- # as subsections of the main name section unless we are already
- # at maximum [Head1Level() could check this itself - CHECK]
- $self->Head1Level( $self->Head1Level() + 1)
- unless $self->Head1Level == $#LatexSections;
-
- # Now write out the new latex paragraph
- $purpose = ucfirst($purpose);
- $self->_output("\n\n$purpose\n\n");
-
- } else {
- # Just write the output
- $self->_output("\n\n$expansion\n\n");
- }
-
-}
-
-=item B<interior_sequence>
-
-Interior sequence expansion
-
-=cut
-
-sub interior_sequence {
- my $self = shift;
-
- my ($seq_command, $seq_argument, $pod_seq) = @_;
-
- if ($seq_command eq 'B') {
- return "\\textbf{$seq_argument}";
-
- } elsif ($seq_command eq 'I') {
- return "\\textit{$seq_argument}";
-
- } elsif ($seq_command eq 'E') {
-
- # If it is simply a number
- if ($seq_argument =~ /^\d+$/) {
- return chr($seq_argument);
- # Look up escape in hash table
- } elsif (exists $HTML_Escapes{$seq_argument}) {
- return $HTML_Escapes{$seq_argument};
-
- } else {
- my ($file, $line) = $pod_seq->file_line();
- warn "Escape sequence $seq_argument not recognised at line $line of file $file\n";
- return;
- }
-
- } elsif ($seq_command eq 'Z') {
-
- # Zero width space
- return '{}';
-
- } elsif ($seq_command eq 'C') {
- return "\\texttt{$seq_argument}";
-
- } elsif ($seq_command eq 'F') {
- return "\\emph{$seq_argument}";
-
- } elsif ($seq_command eq 'S') {
- # non breakable spaces
- my $nbsp = '~';
-
- $seq_argument =~ s/\s/$nbsp/g;
- return $seq_argument;
-
- } elsif ($seq_command eq 'L') {
- my $link = new Pod::Hyperlink($seq_argument);
-
- # undef on failure
- unless (defined $link) {
- carp $@;
- return;
- }
-
- # Handle internal links differently
- my $type = $link->type;
- my $page = $link->page;
-
- if ($type eq 'section' && $page eq '') {
- # Use internal latex reference
- my $node = $link->node;
-
- # Convert to a label
- $node = $self->_create_label($node);
-
- return "\\S\\ref{$node}";
-
- } else {
- # Use default markup for external references
- # (although Starlink would use \xlabel)
- my $markup = $link->markup;
- my ($file, $line) = $pod_seq->file_line();
-
- return $self->interpolate($link->markup, $line);
- }
-
-
-
- } elsif ($seq_command eq 'P') {
- # Special markup for Pod::Hyperlink
- # Replace :: with / - but not sure if I want to do this
- # any more.
- my $link = $seq_argument;
- $link =~ s|::|/|g;
-
- my $ref = "\\emph{$seq_argument}";
- return $ref;
-
- } elsif ($seq_command eq 'Q') {
- # Special markup for Pod::Hyperlink
- return "\\textsf{$seq_argument}";
-
- } elsif ($seq_command eq 'X') {
- # Index entries
-
- # use \index command
- # I will let '!' go through for now
- # not sure how sub categories are handled in X<>
- my $index = $self->_create_index($seq_argument);
- return "\\index{$index}\n";
-
- } else {
- carp "Unknown sequence $seq_command<$seq_argument>";
- }
-
-}
-
-=back
-
-=head2 List Methods
-
-Methods used to handle lists.
-
-=over 4
-
-=item B<begin_list>
-
-Called when a new list is found (via the C<over> directive).
-Creates a new C<Pod::List> object and stores it on the
-list stack.
-
- $parser->begin_list($indent, $line_num);
-
-=cut
-
-sub begin_list {
- my $self = shift;
- my $indent = shift;
- my $line_num = shift;
-
- # Indicate that a list should be started for the next item
- # need to do this to work out the type of list
- push ( @{$self->lists}, new Pod::List(-indent => $indent,
- -start => $line_num,
- -file => $self->input_file,
- )
- );
-
-}
-
-=item B<end_list>
-
-Called when the end of a list is found (the C<back> directive).
-Pops the C<Pod::List> object off the stack of lists and writes
-the C<latex> code required to close a list.
-
- $parser->end_list($line_num);
-
-=cut
-
-sub end_list {
- my $self = shift;
- my $line_num = shift;
-
- unless (defined $self->lists->[-1]) {
- my $file = $self->input_file;
- warn "No list is active at line $line_num (file=$file). Missing =over?\n";
- return;
- }
-
- # What to write depends on list type
- my $type = $self->lists->[-1]->type;
-
- # Don't write anything if the list type is not set
- # iomplying that a list was created but no entries were
- # placed in it (eg because of a =begin/=end combination)
- $self->_output("\\end{$type}\n")
- if (defined $type && length($type) > 0);
-
- # Clear list
- pop(@{ $self->lists});
-
-}
-
-=item B<add_item>
-
-Add items to the list. The first time an item is encountered
-(determined from the state of the current C<Pod::List> object)
-the type of list is determined (ordered, unnumbered or description)
-and the relevant latex code issued.
-
- $parser->add_item($paragraph, $line_num);
-
-=cut
-
-sub add_item {
- my $self = shift;
- my $paragraph = shift;
- my $line_num = shift;
-
- unless (defined $self->lists->[-1]) {
- my $file = $self->input_file;
- warn "List has already ended by line $line_num of file $file. Missing =over?\n";
- # Replace special chars
-# $paragraph = $self->_replace_special_chars($paragraph);
- $self->_output("$paragraph\n\n");
- return;
- }
-
- # If paragraphs printing is turned off via =begin/=end or whatever
- # simply return immediately
- return if $self->{_suppress_all_para};
-
- # Check to see whether we are starting a new lists
- if (scalar($self->lists->[-1]->item) == 0) {
-
- # Examine the paragraph to determine what type of list
- # we have
- $paragraph =~ s/\s+$//;
- $paragraph =~ s/^\s+//;
-
- my $type;
- if (substr($paragraph, 0,1) eq '*') {
- $type = 'itemize';
- } elsif ($paragraph =~ /^\d/) {
- $type = 'enumerate';
- } else {
- $type = 'description';
- }
- $self->lists->[-1]->type($type);
-
- $self->_output("\\begin{$type}\n");
-
- }
-
- my $type = $self->lists->[-1]->type;
-
- if ($type eq 'description') {
- # Handle long items - long items do not wrap
- # If the string is longer than 40 characters we split
- # it into a real item header and some bold text.
- my $maxlen = 40;
- my ($hunk1, $hunk2) = $self->_split_delimited( $paragraph, $maxlen );
-
- # Print the first hunk
- $self->_output("\n\\item[{$hunk1}] ");
-
- # and the second hunk if it is defined
- if ($hunk2) {
- $self->_output("\\textbf{$hunk2}");
- } else {
- # Not there so make sure we have a new line
- $self->_output("\\mbox{}");
- }
-
- } else {
- # If the item was '* Something' or '\d+ something' we still need to write
- # out the something. Also allow 1) and 1.
- my $extra_info = $paragraph;
- $extra_info =~ s/^(\*|\d+[\.\)]?)\s*//;
- $self->_output("\n\\item $extra_info");
- }
-
- # Store the item name in the object. Required so that
- # we can tell if the list is new or not
- $self->lists->[-1]->item($paragraph);
-
-}
-
-=back
-
-=head2 Methods for headings
-
-=over 4
-
-=item B<head>
-
-Print a heading of the required level.
-
- $parser->head($level, $paragraph, $parobj);
-
-The first argument is the pod heading level. The second argument
-is the contents of the heading. The 3rd argument is a Pod::Paragraph
-object so that the line number can be extracted.
-
-=cut
-
-sub head {
- my $self = shift;
- my $num = shift;
- my $paragraph = shift;
- my $parobj = shift;
-
- # If we are replace 'head1 NAME' with a section
- # we return immediately if we get it
- return
- if ($self->{_CURRENT_HEAD1} =~ /^NAME/i && $self->ReplaceNAMEwithSection());
-
- # Create a label
- my $label = $self->_create_label($paragraph);
-
- # Create an index entry
- my $index = $self->_create_index($paragraph);
-
- # Work out position in the above array taking into account
- # that =head1 is equivalent to $self->Head1Level
-
- my $level = $self->Head1Level() - 1 + $num;
-
- # Warn if heading to large
- if ($num > $#LatexSections) {
- my $line = $parobj->file_line;
- my $file = $self->input_file;
- warn "Heading level too large ($level) for LaTeX at line $line of file $file\n";
- $level = $#LatexSections;
- }
-
- # Check to see whether section should be unnumbered
- my $star = ($level >= $self->LevelNoNum ? '*' : '');
-
- # Section
- $self->_output("\\" .$LatexSections[$level] .$star ."{$paragraph\\label{".$label ."}\\index{".$index."}}\n");
-
-}
-
-
-=back
-
-=end __PRIVATE__
-
-=begin __PRIVATE__
-
-=head2 Internal methods
-
-Internal routines are described in this section. They do not form part of the
-public interface. All private methods start with an underscore.
-
-=over 4
-
-=item B<_output>
-
-Output text to the output filehandle. This method must be always be called
-to output parsed text.
-
- $parser->_output($text);
-
-Does not write anything if a =begin is active that should be
-ignored.
-
-=cut
-
-sub _output {
- my $self = shift;
- my $text = shift;
-
- print { $self->output_handle } $text
- unless $self->{_suppress_all_para};
-
-}
-
-
-=item B<_replace_special_chars>
-
-Subroutine to replace characters that are special in C<latex>
-with the escaped forms
-
- $escaped = $parser->_replace_special_chars($paragraph);
-
-Need to call this routine before interior_sequences are munged but not
-if verbatim. It must be called before interpolation of interior
-sequences so that curly brackets and special latex characters inserted
-during interpolation are not themselves escaped. This means that < and
-> can not be modified here since the text still contains interior
-sequences.
-
-Special characters and the C<latex> equivalents are:
-
- } \}
- { \{
- _ \_
- $ \$
- % \%
- & \&
- \ $\backslash$
- ^ \^{}
- ~ \~{}
- # \#
-
-=cut
-
-sub _replace_special_chars {
- my $self = shift;
- my $paragraph = shift;
-
- # Replace a \ with $\backslash$
- # This is made more complicated because the dollars will be escaped
- # by the subsequent replacement. Easiest to add \backslash
- # now and then add the dollars
- $paragraph =~ s/\\/\\backslash/g;
-
- # Must be done after escape of \ since this command adds latex escapes
- # Replace characters that can be escaped
- $paragraph =~ s/([\$\#&%_{}])/\\$1/g;
-
- # Replace ^ characters with \^{} so that $^F works okay
- $paragraph =~ s/(\^)/\\$1\{\}/g;
-
- # Replace tilde (~) with \texttt{\~{}}
- $paragraph =~ s/~/\\texttt\{\\~\{\}\}/g;
-
- # Now add the dollars around each \backslash
- $paragraph =~ s/(\\backslash)/\$$1\$/g;
-
- # Convert ------ to -{}-{}-{}-{}-{}-
- $paragraph =~ s/-(?=-)/-{}/g;
-
- return $paragraph;
-}
-
-=item B<_replace_special_chars_late>
-
-Replace special characters that can not be replaced before interior
-sequence interpolation. See C<_replace_special_chars> for a routine
-to replace special characters prior to interpolation of interior
-sequences.
-
-Does the following transformation:
-
- < $<$
- > $>$
- | $|$
-
-
-=cut
-
-sub _replace_special_chars_late {
- my $self = shift;
- my $paragraph = shift;
-
- # < and >
- $paragraph =~ s/(<|>)/\$$1\$/g;
-
- # Replace | with $|$
- $paragraph =~ s'\|'$|$'g;
-
-
- return $paragraph;
-}
-
-
-=item B<_create_label>
-
-Return a string that can be used as an internal reference
-in a C<latex> document (i.e. accepted by the C<\label> command)
-
- $label = $parser->_create_label($string)
-
-If UniqueLabels is true returns a label prefixed by Label()
-This can be suppressed with an optional second argument.
-
- $label = $parser->_create_label($string, $suppress);
-
-If a second argument is supplied (of any value including undef)
-the Label() is never prefixed. This means that this routine can
-be called to create a Label() without prefixing a previous setting.
-
-=cut
-
-sub _create_label {
- my $self = shift;
- my $paragraph = shift;
- my $suppress = (@_ ? 1 : 0 );
-
- # Remove latex commands
- $paragraph = $self->_clean_latex_commands($paragraph);
-
- # Remove non alphanumerics from the label and replace with underscores
- # want to protect '-' though so use negated character classes
- $paragraph =~ s/[^-:\w]/_/g;
-
- # Multiple underscores will look unsightly so remove repeats
- # This will also have the advantage of tidying up the end and
- # start of string
- $paragraph =~ s/_+/_/g;
-
- # If required need to make sure that the label is unique
- # since it is possible to have multiple pods in a single
- # document
- if (!$suppress && $self->UniqueLabels() && defined $self->Label) {
- $paragraph = $self->Label() .'_'. $paragraph;
- }
-
- return $paragraph;
-}
-
-
-=item B<_create_index>
-
-Similar to C<_create_label> except an index entry is created.
-If C<UniqueLabels> is true, the index entry is prefixed by
-the current C<Label> and an exclamation mark.
-
- $ind = $parser->_create_index($paragraph);
-
-An exclamation mark is used by C<makeindex> to generate
-sub-entries in an index.
-
-=cut
-
-sub _create_index {
- my $self = shift;
- my $paragraph = shift;
- my $suppress = (@_ ? 1 : 0 );
-
- # Remove latex commands
- $paragraph = $self->_clean_latex_commands($paragraph);
-
- # If required need to make sure that the index entry is unique
- # since it is possible to have multiple pods in a single
- # document
- if (!$suppress && $self->UniqueLabels() && defined $self->Label) {
- $paragraph = $self->Label() .'!'. $paragraph;
- }
-
- # Need to replace _ with space
- $paragraph =~ s/_/ /g;
-
- return $paragraph;
-
-}
-
-=item B<_clean_latex_commands>
-
-Removes latex commands from text. The latex command is assumed to be of the
-form C<\command{ text }>. "C<text>" is retained
-
- $clean = $parser->_clean_latex_commands($text);
-
-=cut
-
-sub _clean_latex_commands {
- my $self = shift;
- my $paragraph = shift;
-
- # Remove latex commands of the form \text{ }
- # and replace with the contents of the { }
- # need to make this non-greedy so that it can handle
- # "\text{a} and \text2{b}"
- # without converting it to
- # "a} and \text2{b"
- # This match will still get into trouble if \} is present
- # This is not vital since the subsequent replacement of non-alphanumeric
- # characters will tidy it up anyway
- $paragraph =~ s/\\\w+{(.*?)}/$1/g;
-
- return $paragraph
-}
-
-=item B<_split_delimited>
-
-Split the supplied string into two parts at approximately the
-specified word boundary. Special care is made to make sure that it
-does not split in the middle of some curly brackets.
-
-e.g. "this text is \textbf{very bold}" would not be split into
-"this text is \textbf{very" and " bold".
-
- ($hunk1, $hunk2) = $self->_split_delimited( $para, $length);
-
-The length indicates the maximum length of hunk1.
-
-=cut
-
-# initially Supplied by hsmyers@sdragons.com
-# 10/25/01, utility to split \hbox
-# busting lines. Reformatted by TimJ to match module style.
-sub _split_delimited {
- my $self = shift;
- my $input = shift;
- my $limit = shift;
-
- # Return immediately if already small
- return ($input, '') if length($input) < $limit;
-
- my @output;
- my $s = '';
- my $t = '';
- my $depth = 0;
- my $token;
-
- $input =~ s/\n/ /gm;
- $input .= ' ';
- foreach ( split ( //, $input ) ) {
- $token .= $_;
- if (/\{/) {
- $depth++;
- } elsif ( /}/ ) {
- $depth--;
- } elsif ( / / and $depth == 0) {
- push @output, $token if ( $token and $token ne ' ' );
- $token = '';
- }
- }
-
- foreach (@output) {
- if (length($s) < $limit) {
- $s .= $_;
- } else {
- $t .= $_;
- }
- }
-
- # Tidy up
- $s =~ s/\s+$//;
- $t =~ s/\s+$//;
- return ($s,$t);
-}
-
-=back
-
-=end __PRIVATE__
-
-=head1 NOTES
-
-Compatible with C<latex2e> only. Can not be used with C<latex> v2.09
-or earlier.
-
-A subclass of C<Pod::Select> so that specific pod sections can be
-converted to C<latex> by using the C<select> method.
-
-Some HTML escapes are missing and many have not been tested.
-
-=head1 SEE ALSO
-
-L<Pod::Parser>, L<Pod::Select>, L<pod2latex>, L<Pod::Simple>.
-
-=head1 AUTHORS
-
-Tim Jenness E<lt>tjenness@cpan.orgE<gt>
-
-Bug fixes and improvements have been received from: Simon Cozens
-E<lt>simon@cozens.netE<gt>, Mark A. Hershberger
-E<lt>mah@everybody.orgE<gt>, Marcel Grunauer
-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>,
-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
-it under the same terms as Perl itself.
-
-=begin __PRIVATE__
-
-=head1 REVISION
-
-$Id$
-
-=end __PRIVATE__
-
-=cut
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Man.pm b/Master/tlpkg/tlperl/lib/Pod/Man.pm
index 5e5f4dc4de2..72ca9ff1da9 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Man.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Man.pm
@@ -36,7 +36,7 @@ use Pod::Simple ();
@ISA = qw(Pod::Simple);
-$VERSION = '2.27';
+$VERSION = '2.28';
# Set the debugging level. If someone has inserted a debug function into this
# class already, use that. Otherwise, use any Pod::Simple debug function
@@ -56,6 +56,27 @@ BEGIN { *ASCII = \&Pod::Simple::ASCII }
# Pretty-print a data structure. Only used for debugging.
BEGIN { *pretty = \&Pod::Simple::pretty }
+# Formatting instructions for various types of blocks. cleanup makes hyphens
+# hard, adds spaces between consecutive underscores, and escapes backslashes.
+# convert translates characters into escapes. guesswork means to apply the
+# transformations done by the guesswork sub. literal says to protect literal
+# quotes from being turned into UTF-8 quotes. By default, all transformations
+# are on except literal, but some elements override.
+#
+# DEFAULT specifies the default settings. All other elements should list only
+# those settings that they are overriding. Data indicates =for roff blocks,
+# which should be passed along completely verbatim.
+#
+# Formatting inherits negatively, in the sense that if the parent has turned
+# off guesswork, all child elements should leave it off.
+my %FORMATTING = (
+ DEFAULT => { cleanup => 1, convert => 1, guesswork => 1, literal => 0 },
+ Data => { cleanup => 0, convert => 0, guesswork => 0, literal => 0 },
+ Verbatim => { guesswork => 0, literal => 1 },
+ C => { guesswork => 0, literal => 1 },
+ X => { cleanup => 0, guesswork => 0 },
+);
+
##############################################################################
# Object initialization
##############################################################################
@@ -73,8 +94,8 @@ sub new {
$self->nbsp_for_S (1);
# Tell Pod::Simple to keep whitespace whenever possible.
- if ($self->can ('preserve_whitespace')) {
- $self->preserve_whitespace (1);
+ if (my $preserve_whitespace = $self->can ('preserve_whitespace')) {
+ $self->$preserve_whitespace (1);
} else {
$self->fullstop_space_harden (1);
}
@@ -257,8 +278,7 @@ sub _handle_text {
# Given an element name, get the corresponding method name.
sub method_for_element {
my ($self, $element) = @_;
- $element =~ tr/-/_/;
- $element =~ tr/A-Z/a-z/;
+ $element =~ tr/A-Z-/a-z_/;
$element =~ tr/_a-z0-9//cd;
return $element;
}
@@ -284,13 +304,14 @@ sub _handle_element_start {
# and also depends on our parent tags. Thankfully, inside tags that
# turn off guesswork and reformatting, nothing else can turn it back
# on, so this can be strictly inherited.
- my $formatting = $$self{PENDING}[-1][1];
- $formatting = $self->formatting ($formatting, $element);
+ my $formatting = {
+ %{ $$self{PENDING}[-1][1] || $FORMATTING{DEFAULT} },
+ %{ $FORMATTING{$element} || {} },
+ };
push (@{ $$self{PENDING} }, [ $attrs, $formatting, '' ]);
DEBUG > 4 and print "Pending: [", pretty ($$self{PENDING}), "]\n";
- } elsif ($self->can ("start_$method")) {
- my $method = 'start_' . $method;
- $self->$method ($attrs, '');
+ } elsif (my $start_method = $self->can ("start_$method")) {
+ $self->$start_method ($attrs, '');
} else {
DEBUG > 2 and print "No $method start method, skipping\n";
}
@@ -306,13 +327,12 @@ sub _handle_element_end {
# If we have a command handler, pull off the pending text and pass it to
# the handler along with the saved attribute hash.
- if ($self->can ("cmd_$method")) {
+ if (my $cmd_method = $self->can ("cmd_$method")) {
DEBUG > 2 and print "</$element> stops saving a tag\n";
my $tag = pop @{ $$self{PENDING} };
DEBUG > 4 and print "Popped: [", pretty ($tag), "]\n";
DEBUG > 4 and print "Pending: [", pretty ($$self{PENDING}), "]\n";
- my $method = 'cmd_' . $method;
- my $text = $self->$method ($$tag[0], $$tag[2]);
+ my $text = $self->$cmd_method ($$tag[0], $$tag[2]);
if (defined $text) {
if (@{ $$self{PENDING} } > 1) {
$$self{PENDING}[-1][2] .= $text;
@@ -320,9 +340,8 @@ sub _handle_element_end {
$self->output ($text);
}
}
- } elsif ($self->can ("end_$method")) {
- my $method = 'end_' . $method;
- $self->$method ();
+ } elsif (my $end_method = $self->can ("end_$method")) {
+ $self->$end_method ();
} else {
DEBUG > 2 and print "No $method end method, skipping\n";
}
@@ -332,34 +351,6 @@ sub _handle_element_end {
# General formatting
##############################################################################
-# Return formatting instructions for a new block. Takes the current
-# formatting and the new element. Formatting inherits negatively, in the
-# sense that if the parent has turned off guesswork, all child elements should
-# leave it off. We therefore return a copy of the same formatting
-# instructions but possibly with more things turned off depending on the
-# element.
-sub formatting {
- my ($self, $current, $element) = @_;
- my %options;
- if ($current) {
- %options = %$current;
- } else {
- %options = (guesswork => 1, cleanup => 1, convert => 1);
- }
- if ($element eq 'Data') {
- $options{guesswork} = 0;
- $options{cleanup} = 0;
- $options{convert} = 0;
- } elsif ($element eq 'X') {
- $options{guesswork} = 0;
- $options{cleanup} = 0;
- } elsif ($element eq 'Verbatim' || $element eq 'C') {
- $options{guesswork} = 0;
- $options{literal} = 1;
- }
- return \%options;
-}
-
# Format a text block. Takes a hash of formatting options and the text to
# format. Currently, the only formatting options are guesswork, cleanup, and
# convert, all of which are boolean.
@@ -456,7 +447,7 @@ sub guesswork {
local $_ = shift;
DEBUG > 5 and print " Guesswork called on [$_]\n";
- # By the time we reach this point, all hypens will be escaped by adding a
+ # By the time we reach this point, all hyphens will be escaped by adding a
# backslash. We want to undo that escaping if they're part of regular
# words and there's only a single dash, since that's a real hyphen that
# *roff gets to consider a possible break point. Make sure that a dash
@@ -512,7 +503,7 @@ sub guesswork {
# strings inserted around things that we've made small-caps if later
# transforms should work on those strings.
- # Italize functions in the form func(), including functions that are in
+ # Italicize functions in the form func(), including functions that are in
# all capitals, but don't italize if there's anything between the parens.
# The function must start with an alphabetic character or underscore and
# then consist of word characters or colons.
@@ -767,7 +758,6 @@ sub start_document {
if ($$attrs{contentless} && !$$self{ALWAYS_EMIT_SOMETHING}) {
DEBUG and print "Document is contentless\n";
$$self{CONTENTLESS} = 1;
- return;
} else {
delete $$self{CONTENTLESS};
}
@@ -788,17 +778,20 @@ sub start_document {
}
}
- # Determine information for the preamble and then output it.
- my ($name, $section);
- if (defined $$self{name}) {
- $name = $$self{name};
- $section = $$self{section} || 1;
- } else {
- ($name, $section) = $self->devise_title;
+ # Determine information for the preamble and then output it unless the
+ # document was content-free.
+ if (!$$self{CONTENTLESS}) {
+ my ($name, $section);
+ if (defined $$self{name}) {
+ $name = $$self{name};
+ $section = $$self{section} || 1;
+ } else {
+ ($name, $section) = $self->devise_title;
+ }
+ my $date = $$self{date} || $self->devise_date;
+ $self->preamble ($name, $section, $date)
+ unless $self->bare_output or DEBUG > 9;
}
- my $date = $$self{date} || $self->devise_date;
- $self->preamble ($name, $section, $date)
- unless $self->bare_output or DEBUG > 9;
# Initialize a few per-document variables.
$$self{INDENT} = 0; # Current indentation level.
@@ -988,9 +981,12 @@ 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, but leave "\ " backslashed space from an S< >
- # at the end of a line.
- $text =~ s/((?:\\ )*)\s*$/$1\n/;
+ # whitespace at the end, but leave "\ " backslashed space from an S< > at
+ # the end of a line. Reverse the text first, to avoid having to scan the
+ # entire paragraph.
+ $text = reverse $text;
+ $text =~ s/\A\s*?(?= \\|\S|\z)/\n/;
+ $text = reverse $text;
# Output the paragraph.
$self->output ($self->protect ($self->textmapfonts ($text)));
@@ -1009,8 +1005,11 @@ sub cmd_verbatim {
return unless $text =~ /\S/;
# Force exactly one newline at the end and strip unwanted trailing
- # whitespace at the end.
- $text =~ s/\s*$/\n/;
+ # whitespace at the end. Reverse the text first, to avoid having to scan
+ # the entire paragraph.
+ $text = reverse $text;
+ $text =~ s/\A\s*/\n/;
+ $text = reverse $text;
# Get a count of the number of lines before the first blank line, which
# we'll pass to .Vb as its parameter. This tells *roff to keep that many
@@ -1354,6 +1353,26 @@ sub parse_file {
return $self->SUPER::parse_file ($in);
}
+# Do the same for parse_lines, just to be polite. Pod::Simple's man page
+# implies that the caller is responsible for setting this, but I don't see any
+# reason not to set a default.
+sub parse_lines {
+ my ($self, @lines) = @_;
+ unless (defined $$self{output_fh}) {
+ $self->output_fh (\*STDOUT);
+ }
+ return $self->SUPER::parse_lines (@lines);
+}
+
+# Likewise for parse_string_document.
+sub parse_string_document {
+ my ($self, $doc) = @_;
+ unless (defined $$self{output_fh}) {
+ $self->output_fh (\*STDOUT);
+ }
+ return $self->SUPER::parse_string_document ($doc);
+}
+
##############################################################################
# Translation tables
##############################################################################
@@ -1547,7 +1566,7 @@ __END__
=for stopwords
en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
-Christiansen nourls
+Christiansen nourls parsers
=head1 NAME
@@ -1621,7 +1640,7 @@ not to throw an exception. C<pod> says to include a POD ERRORS section
in the resulting documentation summarizing the errors. C<none> ignores
POD errors entirely, as much as possible.
-The default is C<output>.
+The default is C<pod>.
=item date
@@ -1746,16 +1765,22 @@ L<perlpod(1)> for more information on the C<=encoding> command.
The standard Pod::Simple method parse_file() takes one argument naming the
POD file to read from. By default, the output is sent to C<STDOUT>, but
-this can be changed with the output_fd() method.
+this can be changed with the output_fh() method.
The standard Pod::Simple method parse_from_file() takes up to two
arguments, the first being the input file to read POD from and the second
being the file to write the formatted output to.
You can also call parse_lines() to parse an array of lines or
-parse_string_document() to parse a document already in memory. To put the
-output into a string instead of a file handle, call the output_string()
-method. See L<Pod::Simple> for the specific details.
+parse_string_document() to parse a document already in memory. As with
+parse_file(), parse_lines() and parse_string_document() default to sending
+their output to C<STDOUT> unless changed with the output_fh() method.
+
+To put the output from any parse method into a string instead of a file
+handle, call the output_string() method instead of output_fh().
+
+See L<Pod::Simple> for more specific details on the methods available to
+all derived parsers.
=head1 DIAGNOSTICS
diff --git a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm b/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
index e41c6e023bc..e1ff2aeb19b 100644
--- a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
@@ -11,7 +11,7 @@ package Pod::ParseUtils;
use strict;
use vars qw($VERSION);
-$VERSION = '1.60'; ## Current version of this package
+$VERSION = '1.62'; ## Current version of this package
require 5.005; ## requires this Perl version or later
=head1 NAME
@@ -27,6 +27,10 @@ Pod::ParseUtils - helpers for POD parsing and conversion
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
B<Pod::ParseUtils> contains a few object-oriented helper packages for
POD parsing and processing (i.e. in POD formatters and translators).
@@ -311,7 +315,7 @@ sub parse {
# only page
# problem: a lot of people use (), or (1) or the like to indicate
# man page sections. But this collides with L<func()> that is supposed
- # to point to an internal funtion...
+ # to point to an internal function...
my $page_rx = '[\w.-]+(?:::[\w.-]+)*(?:[(](?:\d\w*|)[)]|)';
# page name only
if(/^($page_rx)$/o) {
diff --git a/Master/tlpkg/tlperl/lib/Pod/Parser.pm b/Master/tlpkg/tlperl/lib/Pod/Parser.pm
index 4f9e20abb11..f3a861982ba 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Parser.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Parser.pm
@@ -12,7 +12,7 @@ use strict;
## These "variables" are used as local "glob aliases" for performance
use vars qw($VERSION @ISA %myData %myOpts @input_stack);
-$VERSION = '1.60'; ## Current version of this package
+$VERSION = '1.62'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -81,6 +81,10 @@ Nothing.
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
B<Pod::Parser> is a base class for creating POD filters and translators.
It handles most of the effort involved with parsing the POD sections
from an input stream, leaving subclasses free to be concerned only with
@@ -90,10 +94,6 @@ B<Pod::Parser> parses PODs, and makes method calls to handle the various
components of the POD. Subclasses of B<Pod::Parser> override these methods
to translate the POD into whatever output format they desire.
-Note: This module is considered as legacy; modern Perl releases (5.18 and
-higher) are going to remove Pod::Parser from core and use L<Pod::Simple>
-for all things POD.
-
=head1 QUICK OVERVIEW
To create a POD filter for translating POD documentation into some other
@@ -816,7 +816,7 @@ sub parse_text {
}
if (length) {
## In the middle of a sequence, append this text to it, and
- ## dont forget to "expand" it if that's what the caller wanted
+ ## don't forget to "expand" it if that's what the caller wanted
$seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
$_ .= $seq_end;
}
@@ -840,7 +840,7 @@ sub parse_text {
}
elsif (length) {
## In the middle of a sequence, append this text to it, and
- ## dont forget to "expand" it if that's what the caller wanted
+ ## don't forget to "expand" it if that's what the caller wanted
$seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
}
## Keep track of line count
@@ -944,12 +944,12 @@ sub parse_paragraph {
## but that is more overhead than I want to incur)
##-----------------------------------------------------------------
- ## Ignore this block if it isnt in one of the selected sections
+ ## Ignore this block if it isn't in one of the selected sections
if (exists $myData{_SELECTED_SECTIONS}) {
$self->is_selected($text) or return ($myData{_CUTTING} = 1);
}
- ## If we havent already, perform any desired preprocessing and
+ ## If we haven't already, perform any desired preprocessing and
## then re-check the "cutting" state
unless ($wantNonPods) {
$text = $self->preprocess_paragraph($text, $line_num);
@@ -969,7 +969,7 @@ sub parse_paragraph {
($cmd, $sep, $text) = split /(\s+)/, $_, 2;
$sep = '' unless defined $sep;
$text = '' unless defined $text;
- ## If this is a "cut" directive then we dont need to do anything
+ ## If this is a "cut" directive then we don't need to do anything
## except return to "cutting" mode.
if ($cmd eq 'cut') {
$myData{_CUTTING} = 1;
@@ -1102,7 +1102,7 @@ sub parse_from_filehandle {
}
## See if this line is blank and ends the current paragraph.
- ## If it isnt, then keep iterating until it is.
+ ## If it isn't, then keep iterating until it is.
next unless (($textline =~ /^[^\S\r\n]*[\r\n]*$/)
&& (length $paragraph));
@@ -1111,7 +1111,7 @@ sub parse_from_filehandle {
$paragraph = '';
$plines = 0;
}
- ## Dont forget about the last paragraph in the file
+ ## Don't forget about the last paragraph in the file
if (length $paragraph) {
parse_paragraph($self, $paragraph, ($nlines - $plines) + 1)
}
@@ -1146,7 +1146,7 @@ closes the input and output files.
=back
-If the special input filename "-" or "<&STDIN" is given then the STDIN
+If the special input filename "", "-" or "<&STDIN" is given then the STDIN
filehandle is used for input (and no open or close is performed). If no
input filename is specified then "-" is implied. Filehandle references,
or objects that support the regular IO operations (like C<E<lt>$fhE<gt>>
@@ -1611,7 +1611,7 @@ sub _pop_input_stream {
my $old_top = pop(@input_stack);
$myData{_CUTTING} = $old_top->was_cutting();
- ## Dont forget to reset the input indicators
+ ## Don't forget to reset the input indicators
my $input_top = undef;
if (@input_stack > 0) {
$input_top = $myData{_TOP_STREAM} = $input_stack[-1];
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
index 8c841e833e8..6ddd21d95d4 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.19';
+$VERSION = '3.23';
#..........................................................................
@@ -90,12 +90,13 @@ $Pod2man = "pod2man" . ( $Config{'versiononly'} ? $Config{'version'} : '' );
#
# Option accessors...
-foreach my $subname (map "opt_$_", split '', q{mhlDriFfXqnTdULv}) {
+foreach my $subname (map "opt_$_", split '', q{mhlDriFfXqnTdULva}) {
no strict 'refs';
*$subname = do{ use strict 'refs'; sub () { shift->_elem($subname, @_) } };
}
# And these are so that GetOptsOO knows they take options:
+sub opt_a_with { shift->_elem('opt_a', @_) }
sub opt_f_with { shift->_elem('opt_f', @_) }
sub opt_q_with { shift->_elem('opt_q', @_) }
sub opt_d_with { shift->_elem('opt_d', @_) }
@@ -293,6 +294,7 @@ Options:
-X Use index if present (looks for pod.idx at $Config{archlib})
-q Search the text of questions (not answers) in perlfaq[1-9]
-f Search Perl built-in functions
+ -a Search Perl API
-v Search predefined Perl variables
PageName|ModuleName|ProgramName|URL...
@@ -399,6 +401,7 @@ Examples:
$program_name -f PerlFunc
$program_name -q FAQKeywords
$program_name -v PerlVar
+ $program_name -a PerlAPI
The -h option prints more help. Also try "$program_name perldoc" to get
acquainted with the system. [Perldoc v$VERSION]
@@ -441,6 +444,7 @@ sub init {
$self->{'pagers' } = [@Pagers] unless exists $self->{'pagers'};
$self->{'bindir' } = $Bindir unless exists $self->{'bindir'};
$self->{'pod2man'} = $Pod2man unless exists $self->{'pod2man'};
+ $self->{'search_path'} = [ ] unless exists $self->{'search_path'};
push @{ $self->{'formatter_switches'} = [] }, (
# Yeah, we could use a hashref, but maybe there's some class where options
@@ -470,7 +474,7 @@ sub init_formatter_class_list {
$self->opt_M_with('Pod::Perldoc::ToPod'); # the always-there fallthru
$self->opt_o_with('text');
- $self->opt_o_with('man') unless $self->is_mswin32 || $self->is_dos
+ $self->opt_o_with('term') unless $self->is_mswin32 || $self->is_dos
|| !($ENV{TERM} && (
($ENV{TERM} || '') !~ /dumb|emacs|none|unknown/i
));
@@ -502,10 +506,10 @@ sub process {
# such as perlfaq".
return $self->usage_brief unless @{ $self->{'args'} };
- $self->pagers_guessing;
$self->options_reading;
+ $self->pagers_guessing;
$self->aside(sprintf "$0 => %s v%s\n", ref($self), $self->VERSION);
- $self->drop_privs_maybe;
+ $self->drop_privs_maybe unless $self->opt_U;
$self->options_processing;
# Hm, we have @pages and @found, but we only really act on one
@@ -519,6 +523,7 @@ sub process {
if( $self->opt_f) { @pages = qw(perlfunc perlop) }
elsif( $self->opt_q) { @pages = ("perlfaq1" .. "perlfaq9") }
elsif( $self->opt_v) { @pages = ("perlvar") }
+ elsif( $self->opt_a) { @pages = ("perlapi") }
else { @pages = @{$self->{'args'}};
# @pages = __FILE__
# if @pages == 1 and $pages[0] eq 'perldoc';
@@ -529,7 +534,7 @@ sub process {
$self->find_good_formatter_class();
$self->formatter_sanity_check();
- $self->maybe_diddle_INC();
+ $self->maybe_extend_searchpath();
# for when we're apparently in a module or extension directory
my @found = $self->grand_search_init(\@pages);
@@ -596,7 +601,7 @@ sub find_good_formatter_class {
} else {
$^W = 0;
# The average user just has no reason to be seeing
- # $^W-suppressible warnings from the the require!
+ # $^W-suppressible warnings from the require!
}
eval "require $c";
@@ -795,8 +800,12 @@ sub options_sanity {
# Any sanity-checking need doing here?
# But does not make sense to set either -f or -q in $ENV{"PERLDOC"}
- if( $self->opt_f or $self->opt_q ) {
- $self->usage("Only one of -f -or -q") if $self->opt_f and $self->opt_q;
+ if( $self->opt_f or $self->opt_q or $self->opt_a) {
+ my $count;
+ $count++ if $self->opt_f;
+ $count++ if $self->opt_q;
+ $count++ if $self->opt_a;
+ $self->usage("Only one of -f or -q or -a") if $count > 1;
$self->warn(
"Perldoc is meant for reading one file at a time.\n",
"So these parameters are being ignored: ",
@@ -858,7 +867,7 @@ sub grand_search_init {
# We must look both in @INC for library modules and in $bindir
# for executables, like h2xs or perldoc itself.
- push @searchdirs, ($self->{'bindir'}, @INC);
+ push @searchdirs, ($self->{'bindir'}, @{$self->{search_path}}, @INC);
unless ($self->opt_m) {
if ($self->is_vms) {
my($i,$trn);
@@ -916,22 +925,28 @@ sub maybe_generate_dynamic_pod {
my($self, $found_things) = @_;
my @dynamic_pod;
+ $self->search_perlapi($found_things, \@dynamic_pod) if $self->opt_a;
+
$self->search_perlfunc($found_things, \@dynamic_pod) if $self->opt_f;
$self->search_perlvar($found_things, \@dynamic_pod) if $self->opt_v;
$self->search_perlfaqs($found_things, \@dynamic_pod) if $self->opt_q;
- if( ! $self->opt_f and ! $self->opt_q and ! $self->opt_v ) {
+ if( ! $self->opt_f and ! $self->opt_q and ! $self->opt_v and ! $self->opt_a) {
DEBUG > 4 and print "That's a non-dynamic pod search.\n";
} elsif ( @dynamic_pod ) {
$self->aside("Hm, I found some Pod from that search!\n");
my ($buffd, $buffer) = $self->new_tempfile('pod', 'dyn');
+ if ( $] >= 5.008 && $self->opt_L ) {
+ binmode($buffd, ":utf8");
+ print $buffd "=encoding utf8\n\n";
+ }
push @{ $self->{'temp_file_list'} }, $buffer;
# I.e., it MIGHT be deleted at the end.
- my $in_list = !$self->not_dynamic && $self->opt_f || $self->opt_v;
+ my $in_list = !$self->not_dynamic && $self->opt_f || $self->opt_v || $self->opt_a;
print $buffd "=over 8\n\n" if $in_list;
print $buffd @dynamic_pod or $self->die( "Can't print $buffer: $!" );
@@ -1093,46 +1108,72 @@ sub search_perlop {
$self->not_dynamic( 1 );
my $perlop = shift @$found_things;
+ # XXX FIXME: getting filehandles should probably be done in a single place
+ # especially since we need to support UTF8 or other encoding when dealing
+ # with perlop, perlfunc, perlapi, perlfaq[1-9]
open( PERLOP, '<', $perlop ) or $self->die( "Can't open $perlop: $!" );
- my $paragraph = "";
- my $has_text_seen = 0;
my $thing = $self->opt_f;
- my $list = 0;
- while( my $line = <PERLOP> ){
- if( $paragraph and $line =~ m!^=(?:head|item)! and $paragraph =~ m!X<+\s*\Q$thing\E\s*>+! ){
- if( $list ){
- $paragraph =~ s!=back.*?\z!!s;
- }
-
- if( $paragraph =~ m!^=item! ){
- $paragraph = "=over 8\n\n" . $paragraph . "=back\n";
- }
+ my $previous_line;
+ my $push = 0;
+ my $seen_item = 0;
+ my $skip = 1;
- push @$pod, $paragraph;
- $paragraph = "";
- $has_text_seen = 0;
- $list = 0;
+ while( my $line = <PERLOP> ) {
+ # only start search after we hit the operator section
+ if ($line =~ m!^X<operator, regexp>!) {
+ $skip = 0;
}
- if( $line =~ m!^=over! ){
- $list++;
+ next if $skip;
+
+ # strategy is to capture the previous line until we get a match on X<$thingy>
+ # if the current line contains X<$thingy>, then we push "=over", the previous line,
+ # the current line and keep pushing current line until we see a ^X<some-other-thing>,
+ # then we chop off final line from @$pod and add =back
+ #
+ # At that point, Bob's your uncle.
+
+ if ( $line =~ m!X<+\s*\Q$thing\E\s*>+!) {
+ if ( $previous_line ) {
+ push @$pod, "=over 8\n\n", $previous_line;
+ $previous_line = "";
+ }
+ push @$pod, $line;
+ $push = 1;
+
}
- elsif( $line =~ m!^=back! ){
- $list--;
+ elsif ( $push and $line =~ m!^=item\s*.*$! ) {
+ $seen_item = 1;
}
-
- if( $line =~ m!^=(?:head|item)! and $has_text_seen ){
- $paragraph = "";
+ elsif ( $push and $seen_item and $line =~ m!^X<+\s*[ a-z,?-]+\s*>+!) {
+ $push = 0;
+ $seen_item = 0;
+ last;
}
- elsif( $line !~ m!^=(?:head|item)! and $line !~ m!^\s*$! and $line !~ m!^\s*X<! ){
- $has_text_seen = 1;
+ elsif ( $push ) {
+ push @$pod, $line;
}
- $paragraph .= $line;
+ else {
+ $previous_line = $line;
}
+ } #end while
+
+ # we overfilled by 1 line, so pop off final array element if we have any
+ if ( scalar @$pod ) {
+ pop @$pod;
+
+ # and add the =back
+ push @$pod, "\n\n=back\n";
+ DEBUG > 8 and print "PERLOP POD --->" . (join "", @$pod) . "<---\n";
+ }
+ else {
+ DEBUG > 4 and print "No pod from perlop\n";
+ }
+
close PERLOP;
return;
@@ -1140,6 +1181,83 @@ sub search_perlop {
#..........................................................................
+sub search_perlapi {
+ my($self, $found_things, $pod) = @_;
+
+ DEBUG > 2 and print "Search: @$found_things\n";
+
+ my $perlapi = shift @$found_things;
+ open(PAPI, "<", $perlapi) # "Funk is its own reward"
+ or $self->die("Can't open $perlapi: $!");
+
+ my $search_re = quotemeta($self->opt_a);
+
+ DEBUG > 2 and
+ print "Going to perlapi-scan for $search_re in $perlapi\n";
+
+ # Check available translator or backup to default (english)
+ if ( $self->opt_L && defined $self->{'translators'}->[0] ) {
+ my $tr = $self->{'translators'}->[0];
+ if ( $] < 5.008 ) {
+ $self->aside("Your old perl doesn't really have proper unicode support.");
+ }
+ else {
+ binmode(PAPI, ":utf8");
+ }
+ }
+
+ local $_;
+
+ # Look for our function
+ my $found = 0;
+ my $inlist = 0;
+
+ my @related;
+ my $related_re;
+ while (<PAPI>) { # "The Mothership Connection is here!"
+ if ( m/^=item\s+$search_re\b/ ) {
+ $found = 1;
+ }
+ elsif (@related > 1 and /^=item/) {
+ $related_re ||= join "|", @related;
+ if (m/^=item\s+(?:$related_re)\b/) {
+ $found = 1;
+ }
+ else {
+ last;
+ }
+ }
+ elsif (/^=item/) {
+ last if $found > 1 and not $inlist;
+ }
+ elsif ($found and /^X<[^>]+>/) {
+ push @related, m/X<([^>]+)>/g;
+ }
+ next unless $found;
+ if (/^=over/) {
+ ++$inlist;
+ }
+ elsif (/^=back/) {
+ last if $found > 1 and not $inlist;
+ --$inlist;
+ }
+ push @$pod, $_;
+ ++$found if /^\w/; # found descriptive text
+ }
+
+ if (!@$pod) {
+ CORE::die( sprintf
+ "No documentation for perl api function '%s' found\n",
+ $self->opt_a )
+ ;
+ }
+ close PAPI or $self->die( "Can't open $perlapi: $!" );
+
+ return;
+}
+
+#..........................................................................
+
sub search_perlfunc {
my($self, $found_things, $pod) = @_;
@@ -1162,6 +1280,12 @@ sub search_perlfunc {
if ( $self->opt_L && defined $self->{'translators'}->[0] ) {
my $tr = $self->{'translators'}->[0];
$re = $tr->search_perlfunc_re if $tr->can('search_perlfunc_re');
+ if ( $] < 5.008 ) {
+ $self->aside("Your old perl doesn't really have proper unicode support.");
+ }
+ else {
+ binmode(PFUNC, ":utf8");
+ }
}
# Skip introduction
@@ -1180,7 +1304,16 @@ sub search_perlfunc {
my $related_re;
while (<PFUNC>) { # "The Mothership Connection is here!"
last if( grep{ $self->opt_f eq $_ }@perlops );
- if ( m/^=item\s+$search_re\b/ ) {
+
+ if ( /^=over/ and not $found ) {
+ ++$inlist;
+ }
+ elsif ( /^=back/ and not $found and $inlist ) {
+ --$inlist;
+ }
+
+
+ if ( m/^=item\s+$search_re\b/ and $inlist < 2 ) {
$found = 1;
}
elsif (@related > 1 and /^=item/) {
@@ -1189,11 +1322,11 @@ sub search_perlfunc {
$found = 1;
}
else {
- last;
+ last if $found > 1 and $inlist < 2;
}
}
elsif (/^=item/) {
- last if $found > 1 and not $inlist;
+ last if $found > 1 and $inlist < 2;
}
elsif ($found and /^X<[^>]+>/) {
push @related, m/X<([^>]+)>/g;
@@ -1203,7 +1336,6 @@ sub search_perlfunc {
++$inlist;
}
elsif (/^=back/) {
- last if $found > 1 and not $inlist;
--$inlist;
}
push @$pod, $_;
@@ -1220,7 +1352,7 @@ sub search_perlfunc {
$self->opt_f )
;
}
- close PFUNC or $self->die( "Can't open $perlfunc: $!" );
+ close PFUNC or $self->die( "Can't close $perlfunc: $!" );
return;
}
@@ -1514,7 +1646,14 @@ sub pagers_guessing {
}
}
- unshift @pagers, "$ENV{PERLDOC_PAGER} <" if $ENV{PERLDOC_PAGER};
+ if ( $self->opt_m ) {
+ unshift @pagers, "$ENV{PERLDOC_SRC_PAGER}" if $ENV{PERLDOC_SRC_PAGER}
+ }
+ else {
+ unshift @pagers, "$ENV{PERLDOC_PAGER} <" if $ENV{PERLDOC_PAGER};
+ }
+
+ $self->aside("Pagers: ", @pagers);
return;
}
@@ -1638,19 +1777,18 @@ sub containspod {
#..........................................................................
-sub maybe_diddle_INC {
+sub maybe_extend_searchpath {
my $self = shift;
# Does this look like a module or extension directory?
if (-f "Makefile.PL" || -f "Build.PL") {
- # Add "." and "lib" to @INC (if they exist)
- eval q{ use lib qw(. lib); 1; } or $self->die;
+ push @{$self->{search_path} }, '.','lib';
# don't add if superuser
if ($< && $> && -d "blib") { # don't be looking too hard now!
- eval q{ use blib; 1 };
+ push @{ $self->{search_path} }, 'blib';
$self->warn( $@ ) if $@ && $self->opt_D;
}
}
@@ -1867,6 +2005,8 @@ sub is_tainted { # just a function
sub drop_privs_maybe {
my $self = shift;
+ DEBUG and print "Attempting to drop privs...\n";
+
# Attempt to drop privs if we should be tainting and aren't
if (!( $self->is_vms || $self->is_mswin32 || $self->is_dos
|| $self->is_os2
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
index 5bf8a936a78..b216d426114 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
use Carp qw(croak carp);
use Config qw(%Config);
@@ -33,6 +33,7 @@ BEGIN {
*is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
*is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
*is_openbsd = $^O =~ m/openbsd/ ? \&TRUE : \&FALSE unless defined &is_openbsd;
+ *is_bitrig = $^O =~ m/bitrig/ ? \&TRUE : \&FALSE unless defined &is_bitrig;
}
sub _perldoc_elem {
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
index 0355f8f3ca2..3f4e218a946 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
@@ -2,7 +2,7 @@ package Pod::Perldoc::GetOptsOO;
use strict;
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
BEGIN { # Make a DEBUG constant ASAP
*DEBUG = defined( &Pod::Perldoc::DEBUG )
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm
index c6534bd4cf6..f0ecbced987 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm
@@ -4,7 +4,7 @@ use warnings;
use parent qw(Pod::Perldoc::BaseTo);
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
sub is_pageable { 1 }
sub write_with_binmode { 0 }
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
index 6f8d12c1120..8bff3381201 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
@@ -4,7 +4,7 @@ use warnings;
use vars qw(@ISA);
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
# Pick our superclass...
#
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
index 225a78618d5..1080dbd93e0 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
@@ -5,7 +5,7 @@ use warnings;
use parent qw(Pod::Perldoc::BaseTo);
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
use File::Spec::Functions qw(catfile);
use Pod::Man 2.18;
@@ -63,7 +63,7 @@ sub init {
sub _roffer_candidates {
my( $self ) = @_;
- if( $self->is_openbsd ) { qw( mandoc groff nroff ) }
+ if( $self->is_openbsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
else { qw( groff nroff mandoc ) }
}
@@ -136,7 +136,7 @@ sub _get_columns {
sub _get_podman_switches {
my( $self ) = @_;
- my @switches = grep !m/^_/s, keys %$self;
+ my @switches = map { $_, $self->{$_} } grep !m/^_/s, keys %$self;
# There needs to be a cleaner way to handle setting
# the UTF-8 flag, but for now, comment out this
@@ -212,37 +212,16 @@ sub _have_groff_with_utf8 {
sub _have_mandoc_with_utf8 {
my( $self ) = @_;
- return 0 unless $self->_is_mandoc;
- my $roffer = $self->__nroffer;
-
- my $minimum_mandoc_version = '1.11';
-
- my $version_string = `$roffer -V`;
- my( $version ) = $version_string =~ /mandoc ((\d+)\.(\d+))/;
- $self->debug( "Found mandoc $version\n" );
-
- # is a string comparison good enough?
- if( $version lt $minimum_mandoc_version ) {
- $self->warn(
- "You have an older mandoc." .
- " Update to version $minimum_mandoc_version for better Unicode support.\n" .
- "If you don't upgrade, wide characters may come out oddly.\n" .
- "Your results still might be odd. If you have groff, that's even better.\n"
- );
- }
-
- $version ge $minimum_mandoc_version;
+ $self->_is_mandoc and not system 'mandoc -Tlocale -V > /dev/null 2>&1';
}
sub _collect_nroff_switches {
my( $self ) = shift;
- my @render_switches = $self->_is_mandoc ? qw(-mandoc) : qw(-man);
-
- push @render_switches, $self->_get_device_switches;
+ my @render_switches = ('-man', $self->_get_device_switches);
# Thanks to Brendan O'Dea for contributing the following block
- if( $self->_is_roff and $self->is_linux and -t STDOUT and my ($cols) = $self->_get_columns ) {
+ if( $self->_is_roff and -t STDOUT and my ($cols) = $self->_get_columns ) {
my $c = $cols * 39 / 40;
$cols = $c > $cols - 2 ? $c : $cols -2;
push @render_switches, '-rLL=' . (int $c) . 'n' if $cols > 80;
@@ -263,7 +242,7 @@ sub _get_device_switches {
if( $self->_is_nroff ) { qw() }
elsif( $self->_have_groff_with_utf8 ) { qw(-Kutf8 -Tutf8) }
elsif( $self->_is_ebcdic ) { qw(-Tcp1047) }
- elsif( $self->_have_mandoc_with_utf8 ) { qw(-Tutf8) }
+ elsif( $self->_have_mandoc_with_utf8 ) { qw(-Tlocale) }
elsif( $self->_is_mandoc ) { qw() }
else { qw(-Tlatin1) }
}
@@ -314,7 +293,7 @@ sub _filter_through_nroff {
# Eliminate whitespace
$switches =~ s/\s//g;
- # Then seperate the switches with a zero-width positive
+ # Then separate the switches with a zero-width positive
# lookahead on the dash.
#
# See:
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
index 4f720e7f0e6..9777581db23 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
@@ -4,7 +4,7 @@ use warnings;
use parent qw(Pod::Perldoc::BaseTo);
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
# This is unlike ToMan.pm in that it emits the raw nroff source!
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
index 7083ae67b36..97185bbb42d 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
@@ -4,7 +4,7 @@ use warnings;
use parent qw(Pod::Perldoc::BaseTo);
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
sub is_pageable { 1 }
sub write_with_binmode { 0 }
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
index 6e190f73a27..588405715bb 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
@@ -4,7 +4,7 @@ use warnings;
use parent qw( Pod::Simple::RTF );
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
sub is_pageable { 0 }
sub write_with_binmode { 0 }
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm
index f8d9349d10a..693b52a9059 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
use parent qw(Pod::Perldoc::BaseTo);
@@ -18,13 +18,56 @@ sub indent { shift->_perldoc_elem('indent' , @_) }
sub loose { shift->_perldoc_elem('loose' , @_) }
sub quotes { shift->_perldoc_elem('quotes' , @_) }
sub sentence { shift->_perldoc_elem('sentence', @_) }
-sub width { shift->_perldoc_elem('width' , @_) }
+sub width {
+ my $self = shift;
+ $self->_perldoc_elem('width' , @_) ||
+ $self->_get_columns_from_manwidth ||
+ $self->_get_columns_from_stty ||
+ $self->_get_default_width;
+}
+
+sub _get_stty { `stty -a` }
+
+sub _get_columns_from_stty {
+ my $output = $_[0]->_get_stty;
+
+ if( $output =~ /\bcolumns\s+(\d+)/ ) { return $1; }
+ elsif( $output =~ /;\s*(\d+)\s+columns;/ ) { return $1; }
+ else { return 0 }
+ }
+
+sub _get_columns_from_manwidth {
+ my( $self ) = @_;
+
+ return 0 unless defined $ENV{MANWIDTH};
+
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
+ }
+
+ if( $ENV{MANWIDTH} == 0 ) {
+ $self->warn( "Ignoring MANWIDTH of 0. Really? Why even run the program? :)\n" );
+ return 0;
+ }
+
+ if( $ENV{MANWIDTH} =~ m/\A(\d+)\z/ ) { return $1 }
+
+ return 0;
+ }
+
+sub _get_default_width {
+ 76
+ }
+
sub new { return bless {}, ref($_[0]) || $_[0] }
sub parse_from_file {
my $self = shift;
+ $self->{width} = $self->width();
+
my @options =
map {; $_, $self->{$_} }
grep !m/^_/s,
@@ -34,7 +77,7 @@ sub parse_from_file {
defined(&Pod::Perldoc::DEBUG)
and Pod::Perldoc::DEBUG()
and print "About to call new Pod::Text::Termcap ",
- $Pod::Text::VERSION ? "(v$Pod::Text::VERSION) " : '',
+ $Pod::Text::VERSION ? "(v$Pod::Text::Termcap::VERSION) " : '',
"with options: ",
@options ? "[@options]" : "(nil)", "\n";
;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
index 530bdee7ad0..07f44cd5630 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
use parent qw(Pod::Perldoc::BaseTo);
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
index deed6b3ff15..627289e88a1 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
use parent qw(Pod::Perldoc::BaseTo);
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
index f85f01eb7bd..5c86b3ebda1 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
@@ -6,7 +6,7 @@ use vars qw($VERSION);
use parent qw( Pod::Simple::XMLOutStream );
use vars qw($VERSION);
-$VERSION = '3.19';
+$VERSION = '3.23';
sub is_pageable { 0 }
sub write_with_binmode { 0 }
diff --git a/Master/tlpkg/tlperl/lib/Pod/PlainText.pm b/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
index 81fee052903..3db4d903cd6 100644
--- a/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
@@ -29,7 +29,7 @@ use vars qw(@ISA %ESCAPES $VERSION);
# by Pod::Usage.
@ISA = qw(Pod::Select);
-$VERSION = '2.06';
+$VERSION = '2.07';
BEGIN {
if ($] < 5.006) {
@@ -621,6 +621,10 @@ Pod::PlainText - Convert POD data to formatted ASCII text
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
Pod::PlainText is a module that can convert documentation in the POD format (the
preferred language for documenting Perl) into formatted ASCII. It uses no
special formatting controls or codes whatsoever, and its output is therefore
diff --git a/Master/tlpkg/tlperl/lib/Pod/Select.pm b/Master/tlpkg/tlperl/lib/Pod/Select.pm
index f822d211b65..6657def58fd 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Select.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Select.pm
@@ -11,7 +11,7 @@ package Pod::Select;
use strict;
use vars qw($VERSION @ISA @EXPORT $MAX_HEADING_LEVEL %myData @section_headings @selected_sections);
-$VERSION = '1.60'; ## Current version of this package
+$VERSION = '1.62'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -71,6 +71,10 @@ podselect()
=head1 DESCRIPTION
+B<NOTE: This module is considered legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod-Parser from core and use L<Pod-Simple>
+for all things POD.>
+
B<podselect()> is a function which will extract specified sections of
pod documentation from an input stream. This ability is provided by the
B<Pod::Select> module which is a subclass of B<Pod::Parser>.
@@ -531,7 +535,7 @@ implicit first argument.
B<podselect> will print the raw (untranslated) POD paragraphs of all
POD sections in the given input files specified by C<@filelist>
-according to the given options.
+according to the options given in C<\%options>.
If any argument to B<podselect> is a reference to a hash
(associative array) then the values with the following keys are
@@ -542,7 +546,8 @@ processed as follows:
=item B<-output>
A string corresponding to the desired output file (or ">&STDOUT"
-or ">&STDERR"). The default is to use standard output.
+or ">&STDERR"), or a filehandle to write on. The default is to use
+standard output.
=item B<-sections>
@@ -565,10 +570,10 @@ are used.
=back
-All other arguments should correspond to the names of input files
-containing POD sections. A file name of "-" or "<&STDIN" will
-be interpreted to mean standard input (which is the default if no
-filenames are given).
+All other arguments are optional and should correspond to filehandles to
+read from or the names of input files containing POD sections. A file name
+of "", "-" or "<&STDIN" will be interpreted to mean standard input (which
+is the default if no arguments are given).
=cut
@@ -581,8 +586,8 @@ sub podselect {
my %opts;
local $_;
for (@argv) {
- if (ref($_)) {
- next unless (ref($_) eq 'HASH');
+ my $ref = ref($_);
+ if ($ref && $ref eq 'HASH') {
%opts = (%defaults, %{$_});
##-------------------------------------------------------------
@@ -612,12 +617,15 @@ sub podselect {
#! if ( (defined $opts{'-ranges'})
#! && ((ref $opts{'-ranges'}) eq 'ARRAY') );
}
- else {
+ elsif(!$ref || $ref eq 'GLOB') {
$pod_parser->parse_from_file($_, $output);
++$num_inputs;
}
+ else {
+ croak "Input from $ref reference not supported!\n";
+ }
}
- $pod_parser->parse_from_file('-') unless ($num_inputs > 0);
+ $pod_parser->parse_from_file('-') unless ($num_inputs > 0);
}
#############################################################################
@@ -669,7 +677,7 @@ sub _compile_section_spec {
## Parse the regexs for the heading titles
@regexs = split(/\//, $_, $MAX_HEADING_LEVEL);
- ## Set default regex for ommitted levels
+ ## Set default regex for omitted levels
for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
$regexs[$i] = '.*' unless ((defined $regexs[$i])
&& (length $regexs[$i]));
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple.pod b/Master/tlpkg/tlperl/lib/Pod/Simple.pod
new file mode 100644
index 00000000000..4edc08ed677
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple.pod
@@ -0,0 +1,430 @@
+
+=head1 NAME
+
+Pod::Simple - framework for parsing Pod
+
+=head1 SYNOPSIS
+
+ TODO
+
+=head1 DESCRIPTION
+
+Pod::Simple is a Perl library for parsing text in the Pod ("plain old
+documentation") markup language that is typically used for writing
+documentation for Perl and for Perl modules. The Pod format is explained
+L<perlpod>; the most common formatter is called C<perldoc>.
+
+Be sure to read L</ENCODING> if your Pod contains non-ASCII characters.
+
+Pod formatters can use Pod::Simple to parse Pod documents and render them into
+plain text, HTML, or any number of other formats. Typically, such formatters
+will be subclasses of Pod::Simple, and so they will inherit its methods, like
+C<parse_file>.
+
+If you're reading this document just because you have a Pod-processing
+subclass that you want to use, this document (plus the documentation for the
+subclass) is probably all you need to read.
+
+If you're reading this document because you want to write a formatter
+subclass, continue reading it and then read L<Pod::Simple::Subclassing>, and
+then possibly even read L<perlpodspec> (some of which is for parser-writers,
+but much of which is notes to formatter-writers).
+
+=head1 MAIN METHODS
+
+=over
+
+=item C<< $parser = I<SomeClass>->new(); >>
+
+This returns a new parser object, where I<C<SomeClass>> is a subclass
+of Pod::Simple.
+
+=item C<< $parser->output_fh( *OUT ); >>
+
+This sets the filehandle that C<$parser>'s output will be written to.
+You can pass C<*STDOUT>, otherwise you should probably do something
+like this:
+
+ my $outfile = "output.txt";
+ open TXTOUT, ">$outfile" or die "Can't write to $outfile: $!";
+ $parser->output_fh(*TXTOUT);
+
+...before you call one of the C<< $parser->parse_I<whatever> >> methods.
+
+=item C<< $parser->output_string( \$somestring ); >>
+
+This sets the string that C<$parser>'s output will be sent to,
+instead of any filehandle.
+
+
+=item C<< $parser->parse_file( I<$some_filename> ); >>
+
+=item C<< $parser->parse_file( *INPUT_FH ); >>
+
+This reads the Pod content of the file (or filehandle) that you specify,
+and processes it with that C<$parser> object, according to however
+C<$parser>'s class works, and according to whatever parser options you
+have set up for this C<$parser> object.
+
+=item C<< $parser->parse_string_document( I<$all_content> ); >>
+
+This works just like C<parse_file> except that it reads the Pod
+content not from a file, but from a string that you have already
+in memory.
+
+=item C<< $parser->parse_lines( I<...@lines...>, undef ); >>
+
+This processes the lines in C<@lines> (where each list item must be a
+defined value, and must contain exactly one line of content -- so no
+items like C<"foo\nbar"> are allowed). The final C<undef> is used to
+indicate the end of document being parsed.
+
+The other C<parser_I<whatever>> methods are meant to be called only once
+per C<$parser> object; but C<parse_lines> can be called as many times per
+C<$parser> object as you want, as long as the last call (and only
+the last call) ends with an C<undef> value.
+
+
+=item C<< $parser->content_seen >>
+
+This returns true only if there has been any real content seen for this
+document. Returns false in cases where the document contains content,
+but does not make use of any Pod markup.
+
+=item C<< I<SomeClass>->filter( I<$filename> ); >>
+
+=item C<< I<SomeClass>->filter( I<*INPUT_FH> ); >>
+
+=item C<< I<SomeClass>->filter( I<\$document_content> ); >>
+
+This is a shortcut method for creating a new parser object, setting the
+output handle to STDOUT, and then processing the specified file (or
+filehandle, or in-memory document). This is handy for one-liners like
+this:
+
+ perl -MPod::Simple::Text -e "Pod::Simple::Text->filter('thingy.pod')"
+
+=back
+
+
+
+=head1 SECONDARY METHODS
+
+Some of these methods might be of interest to general users, as
+well as of interest to formatter-writers.
+
+Note that the general pattern here is that the accessor-methods
+read the attribute's value with C<< $value = $parser->I<attribute> >>
+and set the attribute's value with
+C<< $parser->I<attribute>(I<newvalue>) >>. For each accessor, I typically
+only mention one syntax or another, based on which I think you are actually
+most likely to use.
+
+
+=over
+
+=item C<< $parser->parse_characters( I<SOMEVALUE> ) >>
+
+The Pod parser normally expects to read octets and to convert those octets
+to characters based on the C<=encoding> declaration in the Pod source. Set
+this option to a true value to indicate that the Pod source is already a Perl
+character stream. This tells the parser to ignore any C<=encoding> command
+and to skip all the code paths involving decoding octets.
+
+=item C<< $parser->no_whining( I<SOMEVALUE> ) >>
+
+If you set this attribute to a true value, you will suppress the
+parser's complaints about irregularities in the Pod coding. By default,
+this attribute's value is false, meaning that irregularities will
+be reported.
+
+Note that turning this attribute to true won't suppress one or two kinds
+of complaints about rarely occurring unrecoverable errors.
+
+
+=item C<< $parser->no_errata_section( I<SOMEVALUE> ) >>
+
+If you set this attribute to a true value, you will stop the parser from
+generating a "POD ERRORS" section at the end of the document. By
+default, this attribute's value is false, meaning that an errata section
+will be generated, as necessary.
+
+
+=item C<< $parser->complain_stderr( I<SOMEVALUE> ) >>
+
+If you set this attribute to a true value, it will send reports of
+parsing errors to STDERR. By default, this attribute's value is false,
+meaning that no output is sent to STDERR.
+
+Setting C<complain_stderr> also sets C<no_errata_section>.
+
+
+=item C<< $parser->source_filename >>
+
+This returns the filename that this parser object was set to read from.
+
+
+=item C<< $parser->doc_has_started >>
+
+This returns true if C<$parser> has read from a source, and has seen
+Pod content in it.
+
+
+=item C<< $parser->source_dead >>
+
+This returns true if C<$parser> has read from a source, and come to the
+end of that source.
+
+=item C<< $parser->strip_verbatim_indent( I<SOMEVALUE> ) >>
+
+The perlpod spec for a Verbatim paragraph is "It should be reproduced
+exactly...", which means that the whitespace you've used to indent your
+verbatim blocks will be preserved in the output. This can be annoying for
+outputs such as HTML, where that whitespace will remain in front of every
+line. It's an unfortunate case where syntax is turned into semantics.
+
+If the POD your parsing adheres to a consistent indentation policy, you can
+have such indentation stripped from the beginning of every line of your
+verbatim blocks. This method tells Pod::Simple what to strip. For two-space
+indents, you'd use:
+
+ $parser->strip_verbatim_indent(' ');
+
+For tab indents, you'd use a tab character:
+
+ $parser->strip_verbatim_indent("\t");
+
+If the POD is inconsistent about the indentation of verbatim blocks, but you
+have figured out a heuristic to determine how much a particular verbatim block
+is indented, you can pass a code reference instead. The code reference will be
+executed with one argument, an array reference of all the lines in the
+verbatim block, and should return the value to be stripped from each line. For
+example, if you decide that you're fine to use the first line of the verbatim
+block to set the standard for indentation of the rest of the block, you can
+look at the first line and return the appropriate value, like so:
+
+ $new->strip_verbatim_indent(sub {
+ my $lines = shift;
+ (my $indent = $lines->[0]) =~ s/\S.*//;
+ return $indent;
+ });
+
+If you'd rather treat each line individually, you can do that, too, by just
+transforming them in-place in the code reference and returning C<undef>. Say
+that you don't want I<any> lines indented. You can do something like this:
+
+ $new->strip_verbatim_indent(sub {
+ my $lines = shift;
+ sub { s/^\s+// for @{ $lines },
+ return undef;
+ });
+
+=back
+
+=head1 TERTIARY METHODS
+
+=over
+
+=item C<< $parser->abandon_output_fh() >>X<abandon_output_fh>
+
+Cancel output to the file handle. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->abandon_output_string() >>X<abandon_output_string>
+
+Cancel output to the output string. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->accept_code( @codes ) >>X<accept_code>
+
+Alias for L<< accept_codes >>.
+
+=item C<< $parser->accept_codes( @codes ) >>X<accept_codes>
+
+Allows C<$parser> to accept a list of L<perlpod/Formatting Codes>. This can be
+used to implement user-defined codes.
+
+=item C<< $parser->accept_directive_as_data( @directives ) >>X<accept_directive_as_data>
+
+Allows C<$parser> to accept a list of directives for data paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A data paragraph is
+one delimited by C<< =begin/=for/=end >> directives. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_processed( @directives ) >>X<accept_directive_as_processed>
+
+Allows C<$parser> to accept a list of directives for processed paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A processed
+paragraph is also known as L<perlpod/Ordinary Paragraph>. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_verbatim( @directives ) >>X<accept_directive_as_verbatim>
+
+Allows C<$parser> to accept a list of directives for L<perlpod/Verbatim
+Paragraph>. A directive is the label of a L<perlpod/Command Paragraph>. This
+can be used to implement user-defined directives.
+
+=item C<< $parser->accept_target( @targets ) >>X<accept_target>
+
+Alias for L<< accept_targets >>.
+
+=item C<< $parser->accept_target_as_text( @targets ) >>X<accept_target_as_text>
+
+Alias for L<< accept_targets_as_text >>.
+
+=item C<< $parser->accept_targets( @targets ) >>X<accept_targets>
+
+Accepts targets for C<< =begin/=for/=end >> sections of the POD.
+
+=item C<< $parser->accept_targets_as_text( @targets ) >>X<accept_targets_as_text>
+
+Accepts targets for C<< =begin/=for/=end >> sections that should be parsed as
+POD. For details, see L<< perlpodspec/About Data Paragraphs >>.
+
+=item C<< $parser->any_errata_seen() >>X<any_errata_seen>
+
+Used to check if any errata was seen.
+
+I<Example:>
+
+ die "too many errors\n" if $parser->any_errata_seen();
+
+=item C<< $parser->detected_encoding() >>X<detected_encoding>
+
+Return the encoding corresponding to C<< =encoding >>, but only if the
+encoding was recognized and handled.
+
+=item C<< $parser->encoding() >>X<encoding>
+
+Return encoding of the document, even if the encoding is not correctly
+handled.
+
+=item C<< $parser->parse_from_file( $source, $to ) >>X<parse_from_file>
+
+Parses from C<$source> file to C<$to> file. Similar to L<<
+Pod::Parser/parse_from_file >>.
+
+=item C<< $parser->scream( @error_messages ) >>X<scream>
+
+Log an error that can't be ignored.
+
+=item C<< $parser->unaccept_code( @codes ) >>X<unaccept_code>
+
+Alias for L<< unaccept_codes >>.
+
+=item C<< $parser->unaccept_codes( @codes ) >>X<unaccept_codes>
+
+Removes C<< @codes >> as valid codes for the parse.
+
+=item C<< $parser->unaccept_directive( @directives ) >>X<unaccept_directive>
+
+Alias for L<< unaccept_directives >>.
+
+=item C<< $parser->unaccept_directives( @directives ) >>X<unaccept_directives>
+
+Removes C<< @directives >> as valid directives for the parse.
+
+=item C<< $parser->unaccept_target( @targets ) >>X<unaccept_target>
+
+Alias for L<< unaccept_targets >>.
+
+=item C<< $parser->unaccept_targets( @targets ) >>X<unaccept_targets>
+
+Removes C<< @targets >> as valid targets for the parse.
+
+=item C<< $parser->version_report() >>X<version_report>
+
+Returns a string describing the version.
+
+=item C<< $parser->whine( @error_messages ) >>X<whine>
+
+Log an error unless C<< $parser->no_whining( TRUE ); >>.
+
+=back
+
+=head1 ENCODING
+
+The Pod::Simple parser expects to read B<octets>. The parser will decode the
+octets into Perl's internal character string representation using the value of
+the C<=encoding> declaration in the POD source.
+
+If the POD source does not include an C<=encoding> declaration, the parser will
+attempt to guess the encoding (selecting one of UTF-8 or Latin-1) by examining
+the first non-ASCII bytes and applying the heuristic described in
+L<perlpodspec>.
+
+If you set the C<parse_characters> option to a true value the parser will
+expect characters rather than octets; will ignore any C<=encoding>; and will
+make no attempt to decode the input.
+
+=head1 CAVEATS
+
+This is just a beta release -- there are a good number of things still
+left to do. Notably, support for EBCDIC platforms is still half-done,
+an untested.
+
+
+=head1 SEE ALSO
+
+L<Pod::Simple::Subclassing>
+
+L<perlpod|perlpod>
+
+L<perlpodspec|perlpodspec>
+
+L<Pod::Escapes|Pod::Escapes>
+
+L<perldoc>
+
+=head1 SUPPORT
+
+Questions or discussion about POD and Pod::Simple should be sent to the
+pod-people@perl.org mail list. Send an empty email to
+pod-people-subscribe@perl.org to subscribe.
+
+This module is managed in an open GitHub repository,
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+to clone L<git://github.com/theory/pod-simple.git> and send patches!
+
+Patches against Pod::Simple are welcome. Please send bug reports to
+<bug-pod-simple@rt.cpan.org>.
+
+=head1 COPYRIGHT AND DISCLAIMERS
+
+Copyright (c) 2002 Sean M. Burke.
+
+This library is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+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.
+
+=head1 AUTHOR
+
+Pod::Simple was created by Sean M. Burke <sburke@cpan.org>.
+But don't bother him, he's retired.
+
+Pod::Simple is maintained by:
+
+=over
+
+=item * Allison Randal C<allison@perl.org>
+
+=item * Hans Dieter Pearcey C<hdp@cpan.org>
+
+=item * David E. Wheeler C<dwheeler@cpan.org>
+
+=back
+
+Documentation has been contributed by:
+
+=over
+
+=item * Gabor Szabo C<szabgab@gmail.com>
+
+=item * Shawn H Corey C<SHCOREY at cpan.org>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
new file mode 100644
index 00000000000..7a7976bdc47
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
@@ -0,0 +1,1071 @@
+
+=head1 NAME
+
+Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass
+
+=head1 SYNOPSIS
+
+ package Pod::SomeFormatter;
+ use Pod::Simple;
+ @ISA = qw(Pod::Simple);
+ $VERSION = '1.01';
+ use strict;
+
+ sub _handle_element_start {
+ my($parser, $element_name, $attr_hash_r) = @_;
+ ...
+ }
+
+ sub _handle_element_end {
+ my($parser, $element_name, $attr_hash_r) = @_;
+ # NOTE: $attr_hash_r is only present when $element_name is "over" or "begin"
+ # The remaining code excerpts will mostly ignore this $attr_hash_r, as it is
+ # mostly useless. It is documented where "over-*" and "begin" events are
+ # documented.
+ ...
+ }
+
+ sub _handle_text {
+ my($parser, $text) = @_;
+ ...
+ }
+ 1;
+
+=head1 DESCRIPTION
+
+This document is about using Pod::Simple to write a Pod processor,
+generally a Pod formatter. If you just want to know about using an
+existing Pod formatter, instead see its documentation and see also the
+docs in L<Pod::Simple>.
+
+The zeroeth step in writing a Pod formatter is to make sure that there
+isn't already a decent one in CPAN. See L<http://search.cpan.org/>, and
+run a search on the name of the format you want to render to. Also
+consider joining the Pod People list
+L<http://lists.perl.org/showlist.cgi?name=pod-people> and asking whether
+anyone has a formatter for that format -- maybe someone cobbled one
+together but just hasn't released it.
+
+The first step in writing a Pod processor is to read L<perlpodspec>,
+which contains notes information on writing a Pod parser (which has been
+largely taken care of by Pod::Simple), but also a lot of requirements
+and recommendations for writing a formatter.
+
+The second step is to actually learn the format you're planning to
+format to -- or at least as much as you need to know to represent Pod,
+which probably isn't much.
+
+The third step is to pick which of Pod::Simple's interfaces you want to
+use -- the basic interface via Pod::Simple or L<Pod::Simple::Methody> is
+event-based, sort of like L<HTML::Parser>'s interface, or sort of like
+L<XML::Parser>'s "Handlers" interface), but L<Pod::Simple::PullParser>
+provides a token-stream interface, sort of like L<HTML::TokeParser>'s
+interface; L<Pod::Simple::SimpleTree> provides a simple tree interface,
+rather like XML::Parser's "Tree" interface. Users familiar with
+XML-handling will find one of these styles relatively familiar; but if
+you would be even more at home with XML, there are classes that produce
+an XML representation of the Pod stream, notably
+L<Pod::Simple::XMLOutStream>; you can feed the output of such a class to
+whatever XML parsing system you are most at home with.
+
+The last step is to write your code based on how the events (or tokens,
+or tree-nodes, or the XML, or however you're parsing) will map to
+constructs in the output format. Also sure to consider how to escape
+text nodes containing arbitrary text, and also what to do with text
+nodes that represent preformatted text (from verbatim sections).
+
+
+
+=head1 Events
+
+TODO intro... mention that events are supplied for implicits, like for
+missing >'s
+
+
+In the following section, we use XML to represent the event structure
+associated with a particular construct. That is, TODO
+
+=over
+
+=item C<< $parser->_handle_element_start( I<element_name>, I<attr_hashref> ) >>
+
+=item C<< $parser->_handle_element_end( I<element_name> ) >>
+
+=item C<< $parser->_handle_text( I<text_string> ) >>
+
+=back
+
+TODO describe
+
+
+=over
+
+=item events with an element_name of Document
+
+Parsing a document produces this event structure:
+
+ <Document start_line="543">
+ ...all events...
+ </Document>
+
+The value of the I<start_line> attribute will be the line number of the first
+Pod directive in the document.
+
+If there is no Pod in the given document, then the
+event structure will be this:
+
+ <Document contentless="1" start_line="543">
+ </Document>
+
+In that case, the value of the I<start_line> attribute will not be meaningful;
+under current implementations, it will probably be the line number of the
+last line in the file.
+
+=item events with an element_name of Para
+
+Parsing a plain (non-verbatim, non-directive, non-data) paragraph in
+a Pod document produces this event structure:
+
+ <Para start_line="543">
+ ...all events in this paragraph...
+ </Para>
+
+The value of the I<start_line> attribute will be the line number of the start
+of the paragraph.
+
+For example, parsing this paragraph of Pod:
+
+ The value of the I<start_line> attribute will be the
+ line number of the start of the paragraph.
+
+produces this event structure:
+
+ <Para start_line="129">
+ The value of the
+ <I>
+ start_line
+ </I>
+ attribute will be the line number of the first Pod directive
+ in the document.
+ </Para>
+
+=item events with an element_name of B, C, F, or I.
+
+Parsing a BE<lt>...E<gt> formatting code (or of course any of its
+semantically identical syntactic variants
+S<BE<lt>E<lt> ... E<gt>E<gt>>,
+or S<BE<lt>E<lt>E<lt>E<lt> ... E<gt>E<gt>E<gt>E<gt>>, etc.)
+produces this event structure:
+
+ <B>
+ ...stuff...
+ </B>
+
+Currently, there are no attributes conveyed.
+
+Parsing C, F, or I codes produce the same structure, with only a
+different element name.
+
+If your parser object has been set to accept other formatting codes,
+then they will be presented like these B/C/F/I codes -- i.e., without
+any attributes.
+
+=item events with an element_name of S
+
+Normally, parsing an SE<lt>...E<gt> sequence produces this event
+structure, just as if it were a B/C/F/I code:
+
+ <S>
+ ...stuff...
+ </S>
+
+However, Pod::Simple (and presumably all derived parsers) offers the
+C<nbsp_for_S> option which, if enabled, will suppress all S events, and
+instead change all spaces in the content to non-breaking spaces. This is
+intended for formatters that output to a format that has no code that
+means the same as SE<lt>...E<gt>, but which has a code/character that
+means non-breaking space.
+
+=item events with an element_name of X
+
+Normally, parsing an XE<lt>...E<gt> sequence produces this event
+structure, just as if it were a B/C/F/I code:
+
+ <X>
+ ...stuff...
+ </X>
+
+However, Pod::Simple (and presumably all derived parsers) offers the
+C<nix_X_codes> option which, if enabled, will suppress all X events
+and ignore their content. For formatters/processors that don't use
+X events, this is presumably quite useful.
+
+
+=item events with an element_name of L
+
+Because the LE<lt>...E<gt> is the most complex construct in the
+language, it should not surprise you that the events it generates are
+the most complex in the language. Most of complexity is hidden away in
+the attribute values, so for those of you writing a Pod formatter that
+produces a non-hypertextual format, you can just ignore the attributes
+and treat an L event structure like a formatting element that
+(presumably) doesn't actually produce a change in formatting. That is,
+the content of the L event structure (as opposed to its
+attributes) is always what text should be displayed.
+
+There are, at first glance, three kinds of L links: URL, man, and pod.
+
+When a LE<lt>I<some_url>E<gt> code is parsed, it produces this event
+structure:
+
+ <L content-implicit="yes" raw="that_url" to="that_url" type="url">
+ that_url
+ </L>
+
+The C<type="url"> attribute is always specified for this type of
+L code.
+
+For example, this Pod source:
+
+ L<http://www.perl.com/CPAN/authors/>
+
+produces this event structure:
+
+ <L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/" to="http://www.perl.com/CPAN/authors/" type="url">
+ http://www.perl.com/CPAN/authors/
+ </L>
+
+When a LE<lt>I<manpage(section)>E<gt> code is parsed (and these are
+fairly rare and not terribly useful), it produces this event structure:
+
+ <L content-implicit="yes" raw="manpage(section)" to="manpage(section)" type="man">
+ manpage(section)
+ </L>
+
+The C<type="man"> attribute is always specified for this type of
+L code.
+
+For example, this Pod source:
+
+ L<crontab(5)>
+
+produces this event structure:
+
+ <L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">
+ crontab(5)
+ </L>
+
+In the rare cases where a man page link has a specified, that text appears
+in a I<section> attribute. For example, this Pod source:
+
+ L<crontab(5)/"ENVIRONMENT">
+
+will produce this event structure:
+
+ <L content-implicit="yes" raw="crontab(5)/&quot;ENVIRONMENT&quot;" section="ENVIRONMENT" to="crontab(5)" type="man">
+ "ENVIRONMENT" in crontab(5)
+ </L>
+
+In the rare case where the Pod document has code like
+LE<lt>I<sometext>|I<manpage(section)>E<gt>, then the I<sometext> will appear
+as the content of the element, the I<manpage(section)> text will appear
+only as the value of the I<to> attribute, and there will be no
+C<content-implicit="yes"> attribute (whose presence means that the Pod parser
+had to infer what text should appear as the link text -- as opposed to
+cases where that attribute is absent, which means that the Pod parser did
+I<not> have to infer the link text, because that L code explicitly specified
+some link text.)
+
+For example, this Pod source:
+
+ L<hell itself!|crontab(5)>
+
+will produce this event structure:
+
+ <L raw="hell itself!|crontab(5)" to="crontab(5)" type="man">
+ hell itself!
+ </L>
+
+The last type of L structure is for links to/within Pod documents. It is
+the most complex because it can have a I<to> attribute, I<or> a
+I<section> attribute, or both. The C<type="pod"> attribute is always
+specified for this type of L code.
+
+In the most common case, the simple case of a LE<lt>podpageE<gt> code
+produces this event structure:
+
+ <L content-implicit="yes" raw="podpage" to="podpage" type="pod">
+ podpage
+ </L>
+
+For example, this Pod source:
+
+ L<Net::Ping>
+
+produces this event structure:
+
+ <L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">
+ Net::Ping
+ </L>
+
+In cases where there is link-text explicitly specified, it
+is to be found in the content of the element (and not the
+attributes), just as with the LE<lt>I<sometext>|I<manpage(section)>E<gt>
+case discussed above. For example, this Pod source:
+
+ L<Perl Error Messages|perldiag>
+
+produces this event structure:
+
+ <L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">
+ Perl Error Messages
+ </L>
+
+In cases of links to a section in the current Pod document,
+there is a I<section> attribute instead of a I<to> attribute.
+For example, this Pod source:
+
+ L</"Member Data">
+
+produces this event structure:
+
+ <L content-implicit="yes" raw="/&quot;Member Data&quot;" section="Member Data" type="pod">
+ "Member Data"
+ </L>
+
+As another example, this Pod source:
+
+ L<the various attributes|/"Member Data">
+
+produces this event structure:
+
+ <L raw="the various attributes|/&quot;Member Data&quot;" section="Member Data" type="pod">
+ the various attributes
+ </L>
+
+In cases of links to a section in a different Pod document,
+there are both a I<section> attribute and a L<to> attribute.
+For example, this Pod source:
+
+ L<perlsyn/"Basic BLOCKs and Switch Statements">
+
+produces this event structure:
+
+ <L content-implicit="yes" raw="perlsyn/&quot;Basic BLOCKs and Switch Statements&quot;" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+ "Basic BLOCKs and Switch Statements" in perlsyn
+ </L>
+
+As another example, this Pod source:
+
+ L<SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements">
+
+produces this event structure:
+
+ <L raw="SWITCH statements|perlsyn/&quot;Basic BLOCKs and Switch Statements&quot;" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+ SWITCH statements
+ </L>
+
+Incidentally, note that we do not distinguish between these syntaxes:
+
+ L</"Member Data">
+ L<"Member Data">
+ L</Member Data>
+ L<Member Data> [deprecated syntax]
+
+That is, they all produce the same event structure (for the most part), namely:
+
+ <L content-implicit="yes" raw="$depends_on_syntax" section="Member Data" type="pod">
+ &#34;Member Data&#34;
+ </L>
+
+The I<raw> attribute depends on what the raw content of the C<LE<lt>E<gt>> is,
+so that is why the event structure is the same "for the most part".
+
+If you have not guessed it yet, the I<raw> attribute contains the raw,
+original, unescaped content of the C<LE<lt>E<gt>> formatting code. In addition
+to the examples above, take notice of the following event structure produced
+by the following C<LE<lt>E<gt>> formatting code.
+
+ L<click B<here>|page/About the C<-M> switch>
+
+ <L raw="click B<here>|page/About the C<-M> switch" section="About the -M switch" to="page" type="pod">
+ click B<here>
+ </L>
+
+Specifically, notice that the formatting codes are present and unescaped
+in I<raw>.
+
+There is a known bug in the I<raw> attribute where any surrounding whitespace
+is condensed into a single ' '. For example, given LE<60> linkE<62>, I<raw>
+will be " link".
+
+=item events with an element_name of E or Z
+
+While there are Pod codes EE<lt>...E<gt> and ZE<lt>E<gt>, these
+I<do not> produce any E or Z events -- that is, there are no such
+events as E or Z.
+
+=item events with an element_name of Verbatim
+
+When a Pod verbatim paragraph (AKA "codeblock") is parsed, it
+produces this event structure:
+
+ <Verbatim start_line="543" xml:space="preserve">
+ ...text...
+ </Verbatim>
+
+The value of the I<start_line> attribute will be the line number of the
+first line of this verbatim block. The I<xml:space> attribute is always
+present, and always has the value "preserve".
+
+The text content will have tabs already expanded.
+
+
+=item events with an element_name of head1 .. head4
+
+When a "=head1 ..." directive is parsed, it produces this event
+structure:
+
+ <head1>
+ ...stuff...
+ </head1>
+
+For example, a directive consisting of this:
+
+ =head1 Options to C<new> et al.
+
+will produce this event structure:
+
+ <head1 start_line="543">
+ Options to
+ <C>
+ new
+ </C>
+ et al.
+ </head1>
+
+"=head2" thru "=head4" directives are the same, except for the element
+names in the event structure.
+
+=item events with an element_name of encoding
+
+In the default case, the events corresponding to C<=encoding> directives
+are not emitted. They are emitted if C<keep_encoding_directive> is true.
+In that case they produce event structures like
+L</"events with an element_name of head1 .. head4"> above.
+
+=item events with an element_name of over-bullet
+
+When an "=over ... Z<>=back" block is parsed where the items are
+a bulleted list, it will produce this event structure:
+
+ <over-bullet indent="4" start_line="543">
+ <item-bullet start_line="545">
+ ...Stuff...
+ </item-bullet>
+ ...more item-bullets...
+ </over-bullet fake-closer="1">
+
+The attribute I<fake-closer> is only present if it is a true value; it is not
+present if it is a false value. It is shown in the above example to illustrate
+where the attribute is (in the B<closing> tag). It signifies that the C<=over>
+did not have a matching C<=back>, and thus Pod::Simple had to create a fake
+closer.
+
+For example, this Pod source:
+
+ =over
+
+ =item *
+
+ Something
+
+ =back
+
+Would produce an event structure that does B<not> have the I<fake-closer>
+attribute, whereas this Pod source:
+
+ =over
+
+ =item *
+
+ Gasp! An unclosed =over block!
+
+would. The rest of the over-* examples will not demonstrate this attribute,
+but they all can have it. See L<Pod::Checker>'s source for an example of this
+attribute being used.
+
+The value of the I<indent> attribute is whatever value is after the
+"=over" directive, as in "=over 8". If no such value is specified
+in the directive, then the I<indent> attribute has the value "4".
+
+For example, this Pod source:
+
+ =over
+
+ =item *
+
+ Stuff
+
+ =item *
+
+ Bar I<baz>!
+
+ =back
+
+produces this event structure:
+
+ <over-bullet indent="4" start_line="10">
+ <item-bullet start_line="12">
+ Stuff
+ </item-bullet>
+ <item-bullet start_line="14">
+ Bar <I>baz</I>!
+ </item-bullet>
+ </over-bullet>
+
+=item events with an element_name of over-number
+
+When an "=over ... Z<>=back" block is parsed where the items are
+a numbered list, it will produce this event structure:
+
+ <over-number indent="4" start_line="543">
+ <item-number number="1" start_line="545">
+ ...Stuff...
+ </item-number>
+ ...more item-number...
+ </over-bullet>
+
+This is like the "over-bullet" event structure; but note that the contents
+are "item-number" instead of "item-bullet", and note that they will have
+a "number" attribute, which some formatters/processors may ignore
+(since, for example, there's no need for it in HTML when producing
+an "<UL><LI>...</LI>...</UL>" structure), but which any processor may use.
+
+Note that the values for the I<number> attributes of "item-number"
+elements in a given "over-number" area I<will> start at 1 and go up by
+one each time. If the Pod source doesn't follow that order (even though
+it really should should!), whatever numbers it has will be ignored (with
+the correct values being put in the I<number> attributes), and an error
+message might be issued to the user.
+
+=item events with an element_name of over-text
+
+These events are somewhat unlike the other over-*
+structures, as far as what their contents are. When
+an "=over ... Z<>=back" block is parsed where the items are
+a list of text "subheadings", it will produce this event structure:
+
+ <over-text indent="4" start_line="543">
+ <item-text>
+ ...stuff...
+ </item-text>
+ ...stuff (generally Para or Verbatim elements)...
+ <item-text>
+ ...more item-text and/or stuff...
+ </over-text>
+
+The I<indent> and I<fake-closer> attributes are 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:
+
+ <over-text indent="4" start_line="20">
+ <item-text start_line="22">
+ Foo
+ </item-text>
+ <Para start_line="24">
+ Stuff
+ </Para>
+ <item-text start_line="26">
+ Bar
+ <I>
+ baz
+ </I>
+ !
+ </item-text>
+ <Para start_line="28">
+ Quux
+ </Para>
+ </over-text>
+
+
+
+=item events with an element_name of over-block
+
+These events are somewhat unlike the other over-*
+structures, as far as what their contents are. When
+an "=over ... Z<>=back" block is parsed where there are no items,
+it will produce this event structure:
+
+ <over-block indent="4" start_line="543">
+ ...stuff (generally Para or Verbatim elements)...
+ </over-block>
+
+The I<indent> and I<fake-closer> attributes are 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.
+
+ =back
+
+will produce this event structure:
+
+ <over-block indent="4" start_line="2">
+ <Para start_line="4">
+ For cutting off our trade with all parts of the world
+ </Para>
+ <Para start_line="6">
+ For transporting us beyond seas to be tried for pretended offenses
+ </Para>
+ <Para start_line="8">
+ He is at this time transporting large armies of [...more text...]
+ </Para>
+ </over-block>
+
+=item events with an element_name of over-empty
+
+B<Note: These events are only triggered if C<parse_empty_lists()> is set to a
+true value.>
+
+These events are somewhat unlike the other over-* structures, as far as what
+their contents are. When an "=over ... Z<>=back" block is parsed where there
+is no content, it will produce this event structure:
+
+ <over-empty indent="4" start_line="543">
+ </over-empty>
+
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
+
+For example, this Pod source:
+
+ =over
+
+ =over
+
+ =back
+
+ =back
+
+will produce this event structure:
+
+ <over-block indent="4" start_line="1">
+ <over-empty indent="4" start_line="3">
+ </over-empty>
+ </over-block>
+
+Note that the outer C<=over> is a block because it has no C<=item>s but still
+has content: the inner C<=over>. The inner C<=over>, in turn, is completely
+empty, and is treated as such.
+
+=item events with an element_name of item-bullet
+
+See L</"events with an element_name of over-bullet">, above.
+
+=item events with an element_name of item-number
+
+See L</"events with an element_name of over-number">, above.
+
+=item events with an element_name of item-text
+
+See L</"events with an element_name of over-text">, above.
+
+=item events with an element_name of for
+
+TODO...
+
+=item events with an element_name of Data
+
+TODO...
+
+=back
+
+
+
+=head1 More Pod::Simple Methods
+
+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
+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>.
+
+=over
+
+=item C<< $parser->accept_targets( I<SOMEVALUE> ) >>
+
+As the parser sees sections like:
+
+ =for html <img src="fig1.jpg">
+
+or
+
+ =begin html
+
+ <img src="fig1.jpg">
+
+ =end html
+
+...the parser will ignore these sections unless your subclass has
+specified that it wants to see sections targeted to "html" (or whatever
+the formatter name is).
+
+If you want to process all sections, even if they're not targeted for you,
+call this before you start parsing:
+
+ $parser->accept_targets('*');
+
+=item C<< $parser->accept_targets_as_text( I<SOMEVALUE> ) >>
+
+This is like accept_targets, except that it specifies also that the
+content of sections for this target should be treated as Pod text even
+if the target name in "=for I<targetname>" doesn't start with a ":".
+
+At time of writing, I don't think you'll need to use this.
+
+
+=item C<< $parser->accept_codes( I<Codename>, I<Codename>... ) >>
+
+This tells the parser that you accept additional formatting codes,
+beyond just the standard ones (I B C L F S X, plus the two weird ones
+you don't actually see in the parse tree, Z and E). For example, to also
+accept codes "N", "R", and "W":
+
+ $parser->accept_codes( qw( N R W ) );
+
+B<TODO: document how this interacts with =extend, and long element names>
+
+
+=item C<< $parser->accept_directive_as_data( I<directive_name> ) >>
+
+=item C<< $parser->accept_directive_as_verbatim( I<directive_name> ) >>
+
+=item C<< $parser->accept_directive_as_processed( I<directive_name> ) >>
+
+In the unlikely situation that you need to tell the parser that you will
+accept additional directives ("=foo" things), you need to first set the
+parser to treat its content as data (i.e., not really processed at
+all), or as verbatim (mostly just expanding tabs), or as processed text
+(parsing formatting codes like BE<lt>...E<gt>).
+
+For example, to accept a new directive "=method", you'd presumably
+use:
+
+ $parser->accept_directive_as_processed("method");
+
+so that you could have Pod lines like:
+
+ =method I<$whatever> thing B<um>
+
+Making up your own directives breaks compatibility with other Pod
+formatters, in a way that using "=for I<target> ..." lines doesn't;
+however, you may find this useful if you're making a Pod superset
+format where you don't need to worry about compatibility.
+
+
+=item C<< $parser->nbsp_for_S( I<BOOLEAN> ); >>
+
+Setting this attribute to a true value (and by default it is false) will
+turn "SE<lt>...E<gt>" sequences into sequences of words separated by
+C<\xA0> (non-breaking space) characters. For example, it will take this:
+
+ I like S<Dutch apple pie>, don't you?
+
+and treat it as if it were:
+
+ I like DutchE<nbsp>appleE<nbsp>pie, don't you?
+
+This is handy for output formats that don't have anything quite like an
+"SE<lt>...E<gt>" code, but which do have a code for non-breaking space.
+
+There is currently no method for going the other way; but I can
+probably provide one upon request.
+
+
+=item C<< $parser->version_report() >>
+
+This returns a string reporting the $VERSION value from your module (and
+its classname) as well as the $VERSION value of Pod::Simple. Note that
+L<perlpodspec> requires output formats (wherever possible) to note
+this detail in a comment in the output format. For example, for
+some kind of SGML output format:
+
+ print OUT "<!-- \n", $parser->version_report, "\n -->";
+
+
+=item C<< $parser->pod_para_count() >>
+
+This returns the count of Pod paragraphs seen so far.
+
+
+=item C<< $parser->line_count() >>
+
+This is the current line number being parsed. But you might find the
+"line_number" event attribute more accurate, when it is present.
+
+
+=item C<< $parser->nix_X_codes( I<SOMEVALUE> ) >>
+
+This attribute, when set to a true value (and it is false by default)
+ignores any "XE<lt>...E<gt>" sequences in the document being parsed.
+Many formats don't actually use the content of these codes, so have
+no reason to process them.
+
+=item C<< $parser->keep_encoding_directive( I<SOMEVALUE> ) >>
+
+This attribute, when set to a true value (it is false by default)
+will keep C<=encoding> and its content in the event structure. Most
+formats don't actually need to process the content of an C<=encoding>
+directive, even when this directive sets the encoding and the
+processor makes use of the encoding information. Indeed, it is
+possible to know the encoding without processing the directive
+content.
+
+=item C<< $parser->merge_text( I<SOMEVALUE> ) >>
+
+This attribute, when set to a true value (and it is false by default)
+makes sure that only one event (or token, or node) will be created
+for any single contiguous sequence of text. For example, consider
+this somewhat contrived example:
+
+ I just LOVE Z<>hotE<32>apple pie!
+
+When that is parsed and events are about to be called on it, it may
+actually seem to be four different text events, one right after another:
+one event for "I just LOVE ", one for "hot", one for " ", and one for
+"apple pie!". But if you have merge_text on, then you're guaranteed
+that it will be fired as one text event: "I just LOVE hot apple pie!".
+
+
+=item C<< $parser->code_handler( I<CODE_REF> ) >>
+
+This specifies code that should be called when a code line is seen
+(i.e., a line outside of the Pod). Normally this is undef, meaning
+that no code should be called. If you provide a routine, it should
+start out like this:
+
+ sub get_code_line { # or whatever you'll call it
+ my($line, $line_number, $parser) = @_;
+ ...
+ }
+
+Note, however, that sometimes the Pod events aren't processed in exactly
+the same order as the code lines are -- i.e., if you have a file with
+Pod, then code, then more Pod, sometimes the code will be processed (via
+whatever you have code_handler call) before the all of the preceding Pod
+has been processed.
+
+
+=item C<< $parser->cut_handler( I<CODE_REF> ) >>
+
+This is just like the code_handler attribute, except that it's for
+"=cut" lines, not code lines. The same caveats apply. "=cut" lines are
+unlikely to be interesting, but this is included for completeness.
+
+
+=item C<< $parser->pod_handler( I<CODE_REF> ) >>
+
+This is just like the code_handler attribute, except that it's for
+"=pod" lines, not code lines. The same caveats apply. "=pod" lines are
+unlikely to be interesting, but this is included for completeness.
+
+
+=item C<< $parser->whiteline_handler( I<CODE_REF> ) >>
+
+This is just like the code_handler attribute, except that it's for
+lines that are seemingly blank but have whitespace (" " and/or "\t") on them,
+not code lines. The same caveats apply. These lines are unlikely to be
+interesting, but this is included for completeness.
+
+
+=item C<< $parser->whine( I<linenumber>, I<complaint string> ) >>
+
+This notes a problem in the Pod, which will be reported to in the "Pod
+Errors" section of the document and/or send to STDERR, depending on the
+values of the attributes C<no_whining>, C<no_errata_section>, and
+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
+suppressible with C<no_whining>. This should be used only for very
+serious errors.
+
+
+=item C<< $parser->source_dead(1) >>
+
+This aborts parsing of the current document, by switching on the flag
+that indicates that EOF has been seen. In particularly drastic cases,
+you might want to do this. It's rather nicer than just calling
+C<die>!
+
+=item C<< $parser->hide_line_numbers( I<SOMEVALUE> ) >>
+
+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.
+
+=item C<< $parser->no_whining( I<SOMEVALUE> ) >>
+
+This attribute, if set to true, will suppress reports of non-fatal
+error messages. The default value is false, meaning that complaints
+I<are> reported. How they get reported depends on the values of
+the attributes C<no_errata_section> and C<complain_stderr>.
+
+=item C<< $parser->no_errata_section( I<SOMEVALUE> ) >>
+
+This attribute, if set to true, will suppress generation of an errata
+section. The default value is false -- i.e., an errata section will be
+generated.
+
+=item C<< $parser->complain_stderr( I<SOMEVALUE> ) >>
+
+This attribute, if set to true will send complaints to STDERR. The
+default value is false -- i.e., complaints do not go to STDERR.
+
+=item C<< $parser->bare_output( I<SOMEVALUE> ) >>
+
+Some formatter subclasses use this as a flag for whether output should
+have prologue and epilogue code omitted. For example, setting this to
+true for an HTML formatter class should omit the
+"<html><head><title>...</title><body>..." prologue and the
+"</body></html>" epilogue.
+
+If you want to set this to true, you should probably also set
+C<no_whining> or at least C<no_errata_section> to true.
+
+=item C<< $parser->preserve_whitespace( I<SOMEVALUE> ) >>
+
+If you set this attribute to a true value, the parser will try to
+preserve whitespace in the output. This means that such formatting
+conventions as two spaces after periods will be preserved by the parser.
+This is primarily useful for output formats that treat whitespace as
+significant (such as text or *roff, but not HTML).
+
+=item C<< $parser->parse_empty_lists( I<SOMEVALUE> ) >>
+
+If this attribute is set to true, the parser will not ignore empty
+C<=over>/C<=back> blocks. The type of C<=over> will be I<empty>, documented
+above, L<events with an element_name of over-empty>.
+
+=back
+
+=head1 SEE ALSO
+
+L<Pod::Simple> -- event-based Pod-parsing framework
+
+L<Pod::Simple::Methody> -- like Pod::Simple, but each sort of event
+calls its own method (like C<start_head3>)
+
+L<Pod::Simple::PullParser> -- a Pod-parsing framework like Pod::Simple,
+but with a token-stream interface
+
+L<Pod::Simple::SimpleTree> -- a Pod-parsing framework like Pod::Simple,
+but with a tree interface
+
+L<Pod::Simple::Checker> -- a simple Pod::Simple subclass that reads
+documents, and then makes a plaintext report of any errors found in the
+document
+
+L<Pod::Simple::DumpAsXML> -- for dumping Pod documents as tidily
+indented XML, showing each event on its own line
+
+L<Pod::Simple::XMLOutStream> -- dumps a Pod document as XML (without
+introducing extra whitespace as Pod::Simple::DumpAsXML does).
+
+L<Pod::Simple::DumpAsText> -- for dumping Pod documents as tidily
+indented text, showing each event on its own line
+
+L<Pod::Simple::LinkSection> -- class for objects representing the values
+of the TODO and TODO attributes of LE<lt>...E<gt> elements
+
+L<Pod::Escapes> -- the module the Pod::Simple uses for evaluating
+EE<lt>...E<gt> content
+
+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>
+
+L<perldoc>
+
+=head1 SUPPORT
+
+Questions or discussion about POD and Pod::Simple should be sent to the
+pod-people@perl.org mail list. Send an empty email to
+pod-people-subscribe@perl.org to subscribe.
+
+This module is managed in an open GitHub repository,
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+to clone L<git://github.com/theory/pod-simple.git> and send patches!
+
+Patches against Pod::Simple are welcome. Please send bug reports to
+<bug-pod-simple@rt.cpan.org>.
+
+=head1 COPYRIGHT AND DISCLAIMERS
+
+Copyright (c) 2002 Sean M. Burke.
+
+This library is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+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.
+
+=head1 AUTHOR
+
+Pod::Simple was created by Sean M. Burke <sburke@cpan.org>.
+But don't bother him, he's retired.
+
+Pod::Simple is maintained by:
+
+=over
+
+=item * Allison Randal C<allison@perl.org>
+
+=item * Hans Dieter Pearcey C<hdp@cpan.org>
+
+=item * David E. Wheeler C<dwheeler@cpan.org>
+
+=back
+
+=for notes
+Hm, my old podchecker version (1.2) says:
+ *** WARNING: node 'http://search.cpan.org/' contains non-escaped | or / at line 38 in file Subclassing.pod
+ *** WARNING: node 'http://lists.perl.org/showlist.cgi?name=pod-people' contains non-escaped | or / at line 41 in file Subclassing.pod
+Yes, L<...> is hard.
+
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Text.pm b/Master/tlpkg/tlperl/lib/Pod/Text.pm
index f57256f2d93..87f9e816d00 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Text.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Text.pm
@@ -38,7 +38,7 @@ use Pod::Simple ();
# We have to export pod2text for backward compatibility.
@EXPORT = qw(pod2text);
-$VERSION = '3.17';
+$VERSION = '3.18';
##############################################################################
# Initialization
@@ -301,7 +301,6 @@ sub start_document {
my ($self, $attrs) = @_;
if ($$attrs{contentless} && !$$self{ALWAYS_EMIT_SOMETHING}) {
$$self{CONTENTLESS} = 1;
- return;
} else {
delete $$self{CONTENTLESS};
}
@@ -727,6 +726,26 @@ sub parse_file {
return $self->SUPER::parse_file ($in);
}
+# Do the same for parse_lines, just to be polite. Pod::Simple's man page
+# implies that the caller is responsible for setting this, but I don't see any
+# reason not to set a default.
+sub parse_lines {
+ my ($self, @lines) = @_;
+ unless (defined $$self{output_fh}) {
+ $self->output_fh (\*STDOUT);
+ }
+ return $self->SUPER::parse_lines (@lines);
+}
+
+# Likewise for parse_string_document.
+sub parse_string_document {
+ my ($self, $doc) = @_;
+ unless (defined $$self{output_fh}) {
+ $self->output_fh (\*STDOUT);
+ }
+ return $self->SUPER::parse_string_document ($doc);
+}
+
##############################################################################
# Module return value and documentation
##############################################################################
@@ -736,6 +755,7 @@ __END__
=for stopwords
alt stderr Allbery Sean Burke's Christiansen UTF-8 pre-Unicode utf8 nourls
+parsers
=head1 NAME
@@ -788,7 +808,7 @@ not to throw an exception. C<pod> says to include a POD ERRORS section
in the resulting documentation summarizing the errors. C<none> ignores
POD errors entirely, as much as possible.
-The default is C<output>.
+The default is C<pod>.
=item indent
@@ -871,10 +891,24 @@ The column at which to wrap text on the right-hand side. Defaults to 76.
=back
-The standard Pod::Simple method parse_file() takes one argument, the file or
-file handle to read from, and writes output to standard output unless that
-has been changed with the output_fh() method. See L<Pod::Simple> for the
-specific details and for other alternative interfaces.
+The standard Pod::Simple method parse_file() takes one argument naming the
+POD file to read from. By default, the output is sent to C<STDOUT>, but
+this can be changed with the output_fh() method.
+
+The standard Pod::Simple method parse_from_file() takes up to two
+arguments, the first being the input file to read POD from and the second
+being the file to write the formatted output to.
+
+You can also call parse_lines() to parse an array of lines or
+parse_string_document() to parse a document already in memory. As with
+parse_file(), parse_lines() and parse_string_document() default to sending
+their output to C<STDOUT> unless changed with the output_fh() method.
+
+To put the output from any parse method into a string instead of a file
+handle, call the output_string() method instead of output_fh().
+
+See L<Pod::Simple> for more specific details on the methods available to
+all derived parsers.
=head1 DIAGNOSTICS
diff --git a/Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm b/Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm
index 86380606d8e..18ba7b20ff5 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm
@@ -27,7 +27,7 @@ use vars qw(@ISA $VERSION);
@ISA = qw(Pod::Text);
-$VERSION = '2.07';
+$VERSION = '2.08';
##############################################################################
# Overrides
@@ -104,7 +104,7 @@ sub strip_format {
return $text;
}
-# Override the wrapping code to igore the special sequences.
+# Override the wrapping code to ignore the special sequences.
sub wrap {
my $self = shift;
local $_ = shift;
@@ -113,7 +113,7 @@ sub wrap {
my $width = $$self{opt_width} - $$self{MARGIN};
# $codes matches a single special sequence. $char matches any number of
- # special sequences preceeding a single character other than a newline.
+ # special sequences preceding a single character other than a newline.
# We have to do $shortchar and $longchar in variables because the
# construct ${char}{0,$width} didn't do the right thing until Perl 5.8.x.
my $codes = "(?:\Q$$self{BOLD}\E|\Q$$self{UNDL}\E|\Q$$self{NORM}\E)";
diff --git a/Master/tlpkg/tlperl/lib/Pod/Usage.pm b/Master/tlpkg/tlperl/lib/Pod/Usage.pm
index 73802bb28ce..f0dd8350f12 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Usage.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Usage.pm
@@ -11,8 +11,8 @@ package Pod::Usage;
use strict;
use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.61'; ## Current version of this package
-require 5.005; ## requires this Perl version or later
+$VERSION = '1.63'; ## Current version of this package
+require 5.006; ## requires this Perl version or later
#use diagnostics;
use Carp;
@@ -22,14 +22,13 @@ use File::Spec;
@EXPORT = qw(&pod2usage);
BEGIN {
- $Pod::Usage::Formatter ||=
- ( $] >= 5.005_58 ? 'Pod::Text' : 'Pod::PlainText');
+ $Pod::Usage::Formatter ||= 'Pod::Text';
eval "require $Pod::Usage::Formatter";
die $@ if $@;
@ISA = ( $Pod::Usage::Formatter );
}
-require Pod::Select;
+our $MAX_HEADING_LEVEL = 3;
##---------------------------------------------------------------------------
@@ -94,7 +93,7 @@ sub pod2usage {
## Default the input file
$opts{'-input'} = $0 unless (defined $opts{'-input'});
- ## Look up input file in path if it doesnt exist.
+ ## Look up input file in path if it doesn't exist.
unless ((ref $opts{'-input'}) || (-e $opts{'-input'})) {
my $basename = $opts{'-input'};
my $pathsep = ($^O =~ /^(?:dos|os2|MSWin32)$/i) ? ';'
@@ -192,6 +191,48 @@ sub new {
return $self;
}
+# This subroutine was copied in whole-cloth from Pod::Select 1.60 in order to
+# allow the ejection of Pod::Select from the core without breaking Pod::Usage.
+# -- rjbs, 2013-03-18
+sub _compile_section_spec {
+ my ($section_spec) = @_;
+ my (@regexs, $negated);
+
+ ## Compile the spec into a list of regexs
+ local $_ = $section_spec;
+ s{\\\\}{\001}g; ## handle escaped backward slashes
+ s{\\/}{\002}g; ## handle escaped forward slashes
+
+ ## Parse the regexs for the heading titles
+ @regexs = split(/\//, $_, $MAX_HEADING_LEVEL);
+
+ ## Set default regex for ommitted levels
+ for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
+ $regexs[$i] = '.*' unless ((defined $regexs[$i])
+ && (length $regexs[$i]));
+ }
+ ## Modify the regexs as needed and validate their syntax
+ my $bad_regexs = 0;
+ for (@regexs) {
+ $_ .= '.+' if ($_ eq '!');
+ s{\001}{\\\\}g; ## restore escaped backward slashes
+ s{\002}{\\/}g; ## restore escaped forward slashes
+ $negated = s/^\!//; ## check for negation
+ eval "m{$_}"; ## check regex syntax
+ if ($@) {
+ ++$bad_regexs;
+ carp qq{Bad regular expression /$_/ in "$section_spec": $@\n};
+ }
+ else {
+ ## Add the forward and rear anchors (and put the negator back)
+ $_ = '^' . $_ unless (/^\^/);
+ $_ = $_ . '$' unless (/\$$/);
+ $_ = '!' . $_ if ($negated);
+ }
+ }
+ return (! $bad_regexs) ? [ @regexs ] : undef;
+}
+
sub select {
my ($self, @sections) = @_;
if ($ISA[0]->can('select')) {
@@ -209,7 +250,7 @@ sub select {
my $sref = $self->{USAGE_SELECT};
## Compile each spec
for my $spec (@sections) {
- my $cs = Pod::Select::_compile_section_spec($spec);
+ my $cs = _compile_section_spec($spec);
if ( defined $cs ) {
## Store them in our sections array
push(@$sref, $cs);
@@ -246,7 +287,7 @@ sub _handle_element_end {
my @headings = @{$$self{USAGE_HEADINGS}};
for my $section_spec ( @{$$self{USAGE_SELECT}} ) {
my $match = 1;
- for (my $i = 0; $i < $Pod::Select::MAX_HEADING_LEVEL; ++$i) {
+ for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
$headings[$i] = '' unless defined $headings[$i];
my $regex = $section_spec->[$i];
my $negated = ($regex =~ s/^\!//);
@@ -300,7 +341,7 @@ sub preprocess_paragraph {
my $self = shift;
local $_ = shift;
my $line = shift;
- ## See if this is a heading and we arent printing the entire manpage.
+ ## See if this is a heading and we aren't printing the entire manpage.
if (($self->{USAGE_OPTIONS}->{-verbose} < 2) && /^=head/) {
## Change the title of the SYNOPSIS section to USAGE
s/^=head1\s+SYNOPSIS\s*$/=head1 USAGE/;
@@ -401,8 +442,7 @@ is 1, then the "SYNOPSIS" section, along with any section entitled
corresponding value is 2 or more then the entire manpage is printed.
The special verbosity level 99 requires to also specify the -sections
-parameter; then these sections are extracted (see L<Pod::Select>)
-and printed.
+parameter; then these sections are extracted and printed.
=item C<-sections>
@@ -454,9 +494,8 @@ output the POD.
=head2 Formatting base class
-The default text formatter depends on the Perl version (L<Pod::Text> or
-L<Pod::PlainText> for Perl versions E<lt> 5.005_58). The base class for
-Pod::Usage can be defined by pre-setting C<$Pod::Usage::Formatter> I<before>
+The default text formatter is L<Pod::Text>. The base class for Pod::Usage can
+be defined by pre-setting C<$Pod::Usage::Formatter> I<before>
loading Pod::Usage, e.g.:
BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; }
@@ -753,15 +792,18 @@ Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
=head1 ACKNOWLEDGMENTS
+rjbs for refactoring Pod::Usage to not use Pod::Parser any more.
+
Steven McDougall E<lt>swmcd@world.std.comE<gt> for his help and patience
with re-writing this manpage.
=head1 SEE ALSO
-B<Pod::Usage> is now a standalone distribution.
+B<Pod::Usage> is now a standalone distribution, depending on
+L<Pod::Text> which in turn depends on L<Pod::Simple>.
-L<Pod::Parser>, L<Pod::Perldoc>, L<Getopt::Long>, L<Pod::Find>, L<FindBin>,
-L<Pod::Text>, L<Pod::PlainText>, L<Pod::Text::Termcap>
+L<Pod::Perldoc>, L<Getopt::Long>, L<Pod::Find>, L<FindBin>,
+L<Pod::Text>, L<Pod::Text::Termcap>, L<Pod::Simple>
=cut
diff --git a/Master/tlpkg/tlperl/lib/SDBM_File.pm b/Master/tlpkg/tlperl/lib/SDBM_File.pm
index c989ceb6f4e..0410bef32d8 100644
--- a/Master/tlpkg/tlperl/lib/SDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/SDBM_File.pm
@@ -7,7 +7,10 @@ require Tie::Hash;
require XSLoader;
our @ISA = qw(Tie::Hash);
-our $VERSION = "1.09";
+our $VERSION = "1.11";
+
+our @EXPORT_OK = qw(PAGFEXT DIRFEXT PAIRMAX);
+use Exporter "import";
XSLoader::load();
@@ -37,62 +40,74 @@ SDBM_File - Tied access to sdbm files
=head1 DESCRIPTION
C<SDBM_File> establishes a connection between a Perl hash variable and
-a file in SDBM_File format;. You can manipulate the data in the file
+a file in SDBM_File format. You can manipulate the data in the file
just as if it were in a Perl hash, but when your program exits, the
data will remain in the file, to be used the next time your program
runs.
+=head2 Tie
+
Use C<SDBM_File> with the Perl built-in C<tie> function to establish
-the connection between the variable and the file. The arguments to
-C<tie> should be:
+the connection between the variable and the file.
-=over 4
+ tie %hash, 'SDBM_File', $basename, $modeflags, $perms;
-=item 1.
+ tie %hash, 'SDBM_File', $dirfile, $modeflags, $perms, $pagfilename;
-The hash variable you want to tie.
+C<$basename> is the base filename for the database. The database is two
+files with ".dir" and ".pag" extensions appended to C<$basename>,
-=item 2.
+ $basename.dir (or .sdbm_dir on VMS, per DIRFEXT constant)
+ $basename.pag
-The string C<"SDBM_File">. (Ths tells Perl to use the C<SDBM_File>
-package to perform the functions of the hash.)
+The two filenames can also be given separately in full as C<$dirfile>
+and C<$pagfilename>. This suits for two files without ".dir" and ".pag"
+extensions, perhaps for example two files from L<File::Temp>.
-=item 3.
+C<$modeflags> can be the following constants from the C<Fcntl> module (in
+the style of the L<open(2)> system call),
-The name of the file you want to tie to the hash.
+ O_RDONLY read-only access
+ O_WRONLY write-only access
+ O_RDWR read and write access
-=item 4.
+If you want to create the file if it does not already exist then bitwise-OR
+(C<|>) C<O_CREAT> too. If you omit C<O_CREAT> and the database does not
+already exist then the C<tie> call will fail.
-Flags. Use one of:
+ O_CREAT create database if doesn't already exist
-=over 2
+C<$perms> is the file permissions bits to use if new database files are
+created. This parameter is mandatory even when not creating a new database.
+The permissions will be reduced by the user's umask so the usual value here
+would be 0666, or if some very private data then 0600. (See
+L<perlfunc/umask>.)
-=item C<O_RDONLY>
+=head1 EXPORTS
-Read-only access to the data in the file.
+SDBM_File optionally exports the following constants:
-=item C<O_WRONLY>
+=over
-Write-only access to the data in the file.
+=item *
-=item C<O_RDWR>
+C<PAGFEXT> - the extension used for the page file, usually C<.pag>.
-Both read and write access.
+=item *
-=back
+C<DIRFEXT> - the extension used for the directory file, C<.dir>
+everywhere but VMS, where it is C<.sdbm_dir>.
-If you want to create the file if it does not exist, add C<O_CREAT> to
-any of these, as in the example. If you omit C<O_CREAT> and the file
-does not already exist, the C<tie> call will fail.
+=item *
-=item 5.
-
-The default permissions to use if a new file is created. The actual
-permissions will be modified by the user's umask, so you should
-probably use 0666 here. (See L<perlfunc/umask>.)
+C<PAIRMAX> - the maximum size of a stored hash entry, including the
+length of both the key and value.
=back
+These constants can also be used with fully qualified names,
+eg. C<SDBM_File::PAGFEXT>.
+
=head1 DIAGNOSTICS
On failure, the C<tie> call returns an undefined value and probably
diff --git a/Master/tlpkg/tlperl/lib/Safe.pm b/Master/tlpkg/tlperl/lib/Safe.pm
index f00853e3862..4db116dff5f 100644
--- a/Master/tlpkg/tlperl/lib/Safe.pm
+++ b/Master/tlpkg/tlperl/lib/Safe.pm
@@ -3,7 +3,7 @@ package Safe;
use 5.003_11;
use Scalar::Util qw(reftype refaddr);
-$Safe::VERSION = "2.35";
+$Safe::VERSION = "2.37";
# *** Don't declare any lexicals above this point ***
#
@@ -528,7 +528,7 @@ outside the compartment) placed into the compartment. For example,
$cpt = new Safe;
sub wrapper {
- # vet arguments and perform potentially unsafe operations
+ # vet arguments and perform potentially unsafe operations
}
$cpt->share('&wrapper');
@@ -590,9 +590,7 @@ Deny I<only> the listed operators from being used when compiling code
in the compartment (I<all> other operators will be permitted, so you probably
don't want to use this method).
-=head2 trap (OP, ...)
-
-=head2 untrap (OP, ...)
+=head2 trap (OP, ...), untrap (OP, ...)
The trap and untrap methods are synonyms for deny and permit
respectfully.
diff --git a/Master/tlpkg/tlperl/lib/Scalar/Util.pm b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
index da229893495..4ab67f9aa07 100644
--- a/Master/tlpkg/tlperl/lib/Scalar/Util.pm
+++ b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
@@ -1,8 +1,8 @@
-# Scalar::Util.pm
-#
# Copyright (c) 1997-2007 Graham Barr <gbarr@pobox.com>. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
+#
+# Maintained since 2013 by Paul Evans <leonerd@leonerd.org.uk>
package Scalar::Util;
@@ -12,21 +12,11 @@ require List::Util; # List::Util loads the XS
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(
- blessed
- dualvar
- isdual
- isvstring
- isweak
- looks_like_number
- openhandle
- readonly
- refaddr
- reftype
- set_prototype
- tainted
- weaken
+ blessed refaddr reftype weaken unweaken isweak
+
+ dualvar isdual isvstring looks_like_number openhandle readonly set_prototype tainted
);
-our $VERSION = "1.27";
+our $VERSION = "1.38";
$VERSION = eval $VERSION;
our @EXPORT_FAIL;
@@ -72,56 +62,158 @@ Scalar::Util - A selection of general-utility scalar subroutines
=head1 DESCRIPTION
-C<Scalar::Util> contains a selection of subroutines that people have
-expressed would be nice to have in the perl core, but the usage would
-not really be high enough to warrant the use of a keyword, and the size
-so small such that being individual extensions would be wasteful.
+C<Scalar::Util> contains a selection of subroutines that people have expressed
+would be nice to have in the perl core, but the usage would not really be high
+enough to warrant the use of a keyword, and the size so small such that being
+individual extensions would be wasteful.
+
+By default C<Scalar::Util> does not export any subroutines.
+
+=cut
+
+=head1 FUNCTIONS FOR REFERENCES
+
+The following functions all perform some useful activity on reference values.
+
+=head2 $pkg = blessed( $ref )
+
+If C<$ref> is a blessed reference the name of the package that it is blessed
+into is returned. Otherwise C<undef> is returned.
+
+ $scalar = "foo";
+ $class = blessed $scalar; # undef
+
+ $ref = [];
+ $class = blessed $ref; # undef
+
+ $obj = bless [], "Foo";
+ $class = blessed $obj; # "Foo"
+
+Take care when using this function simply as a truth test (such as in
+C<if(blessed $ref)...>) because the package name C<"0"> is defined yet false.
+
+=head2 $addr = refaddr( $ref )
+
+If C<$ref> is reference the internal memory address of the referenced value is
+returned as a plain integer. Otherwise C<undef> is returned.
+
+ $addr = refaddr "string"; # undef
+ $addr = refaddr \$var; # eg 12345678
+ $addr = refaddr []; # eg 23456784
+
+ $obj = bless {}, "Foo";
+ $addr = refaddr $obj; # eg 88123488
+
+=head2 $type = reftype( $ref )
+
+If C<$ref> is a reference the basic Perl type of the variable referenced is
+returned as a plain string (such as C<ARRAY> or C<HASH>). Otherwise C<undef>
+is returned.
+
+ $type = reftype "string"; # undef
+ $type = reftype \$var; # SCALAR
+ $type = reftype []; # ARRAY
+
+ $obj = bless {}, "Foo";
+ $type = reftype $obj; # HASH
+
+=head2 weaken( REF )
-By default C<Scalar::Util> does not export any subroutines. The
-subroutines defined are
+The lvalue C<REF> will be turned into a weak reference. This means that it
+will not hold a reference count on the object it references. Also when the
+reference count on that object reaches zero, the reference will be set to
+undef. This function mutates the lvalue passed as its argument and returns no
+value.
-=over 4
+This is useful for keeping copies of references, but you don't want to prevent
+the object being DESTROY-ed at its usual time.
-=item blessed EXPR
+ {
+ my $var;
+ $ref = \$var;
+ weaken($ref); # Make $ref a weak reference
+ }
+ # $ref is now undef
-If EXPR evaluates to a blessed reference the name of the package
-that it is blessed into is returned. Otherwise C<undef> is returned.
+Note that if you take a copy of a scalar with a weakened reference, the copy
+will be a strong reference.
- $scalar = "foo";
- $class = blessed $scalar; # undef
+ my $var;
+ my $foo = \$var;
+ weaken($foo); # Make $foo a weak reference
+ my $bar = $foo; # $bar is now a strong reference
- $ref = [];
- $class = blessed $ref; # undef
+This may be less obvious in other situations, such as C<grep()>, for instance
+when grepping through a list of weakened references to objects that may have
+been destroyed already:
- $obj = bless [], "Foo";
- $class = blessed $obj; # "Foo"
+ @object = grep { defined } @object;
-=item dualvar NUM, STRING
+This will indeed remove all references to destroyed objects, but the remaining
+references to objects will be strong, causing the remaining objects to never be
+destroyed because there is now always a strong reference to them in the @object
+array.
+
+=head2 unweaken( REF )
+
+The lvalue C<REF> will be turned from a weak reference back into a normal
+(strong) reference again. This function mutates the lvalue passed as its
+argument and returns no value. This undoes the action performed by
+C<weaken()>.
+
+This function is slightly neater and more convenient than the
+otherwise-equivalent code
-Returns a scalar that has the value NUM in a numeric context and the
-value STRING in a string context.
+ my $tmp = $REF;
+ undef $REF;
+ $REF = $tmp;
+
+(because in particular, simply assigning a weak reference back to itself does
+not work to unweaken it; C<$REF = $REF> does not work).
+
+=head2 $weak = isweak( $ref )
+
+Returns true if C<$ref> is a weak reference.
+
+ $ref = \$foo;
+ $weak = isweak($ref); # false
+ weaken($ref);
+ $weak = isweak($ref); # true
+
+B<NOTE>: Copying a weak reference creates a normal, strong, reference.
+
+ $copy = $ref;
+ $weak = isweak($copy); # false
+
+=head1 OTHER FUNCTIONS
+
+=head2 $var = dualvar( $num, $string )
+
+Returns a scalar that has the value C<$num> in a numeric context and the value
+C<$string> in a string context.
$foo = dualvar 10, "Hello";
$num = $foo + 2; # 12
$str = $foo . " world"; # Hello world
-=item isdual EXPR
+=head2 $dual = isdual( $var )
-If EXPR is a scalar that is a dualvar, the result is true.
+If C<$var> is a scalar that has both numeric and string values, the result is
+true.
$foo = dualvar 86, "Nix";
$dual = isdual($foo); # true
-Note that a scalar can be made to have both string and numeric content
-through numeric operations:
+Note that a scalar can be made to have both string and numeric content through
+numeric operations:
$foo = "10";
$dual = isdual($foo); # false
$bar = $foo + 0;
$dual = isdual($foo); # true
-Note that although C<$!> appears to be dual-valued variable, it is
-actually implemented using a tied scalar:
+Note that although C<$!> appears to be dual-valued variable, it is actually
+implemented using a tied scalar:
$! = 1;
print("$!\n"); # "Operation not permitted"
@@ -132,127 +224,52 @@ You can capture its numeric and string content using:
$err = dualvar $!, $!;
$dual = isdual($err); # true
-=item isvstring EXPR
+=head2 $vstring = isvstring( $var )
-If EXPR is a scalar which was coded as a vstring the result is true.
+If C<$var> is a scalar which was coded as a vstring the result is true.
$vs = v49.46.48;
$fmt = isvstring($vs) ? "%vd" : "%s"; #true
printf($fmt,$vs);
-=item looks_like_number EXPR
+=head2 $isnum = looks_like_number( $var )
-Returns true if perl thinks EXPR is a number. See
+Returns true if perl thinks C<$var> is a number. See
L<perlapi/looks_like_number>.
-=item openhandle FH
+=head2 $fh = openhandle( $fh )
-Returns FH if FH may be used as a filehandle and is open, or FH is a tied
-handle. Otherwise C<undef> is returned.
+Returns C<$fh> itself if C<$fh> may be used as a filehandle and is open, or is
+is a tied handle. Otherwise C<undef> is returned.
$fh = openhandle(*STDIN); # \*STDIN
$fh = openhandle(\*STDIN); # \*STDIN
$fh = openhandle(*NOTOPEN); # undef
$fh = openhandle("scalar"); # undef
-=item readonly SCALAR
+=head2 $ro = readonly( $var )
-Returns true if SCALAR is readonly.
+Returns true if C<$var> is readonly.
sub foo { readonly($_[0]) }
$readonly = foo($bar); # false
$readonly = foo(0); # true
-=item refaddr EXPR
-
-If EXPR evaluates to a reference the internal memory address of
-the referenced value is returned. Otherwise C<undef> is returned.
-
- $addr = refaddr "string"; # undef
- $addr = refaddr \$var; # eg 12345678
- $addr = refaddr []; # eg 23456784
-
- $obj = bless {}, "Foo";
- $addr = refaddr $obj; # eg 88123488
-
-=item reftype EXPR
+=head2 $code = set_prototype( $code, $prototype )
-If EXPR evaluates to a reference the type of the variable referenced
-is returned. Otherwise C<undef> is returned.
-
- $type = reftype "string"; # undef
- $type = reftype \$var; # SCALAR
- $type = reftype []; # ARRAY
-
- $obj = bless {}, "Foo";
- $type = reftype $obj; # HASH
-
-=item set_prototype CODEREF, PROTOTYPE
-
-Sets the prototype of the given function, or deletes it if PROTOTYPE is
-undef. Returns the CODEREF.
+Sets the prototype of the function given by the C<$code> reference, or deletes
+it if C<$prototype> is C<undef>. Returns the C<$code> reference itself.
set_prototype \&foo, '$$';
-=item tainted EXPR
+=head2 $t = tainted( $var )
-Return true if the result of EXPR is tainted
+Return true if C<$var> is tainted.
$taint = tainted("constant"); # false
$taint = tainted($ENV{PWD}); # true if running under -T
-=item weaken REF
-
-REF will be turned into a weak reference. This means that it will not
-hold a reference count on the object it references. Also when the reference
-count on that object reaches zero, REF will be set to undef.
-
-This is useful for keeping copies of references , but you don't want to
-prevent the object being DESTROY-ed at its usual time.
-
- {
- my $var;
- $ref = \$var;
- weaken($ref); # Make $ref a weak reference
- }
- # $ref is now undef
-
-Note that if you take a copy of a scalar with a weakened reference,
-the copy will be a strong reference.
-
- my $var;
- my $foo = \$var;
- weaken($foo); # Make $foo a weak reference
- my $bar = $foo; # $bar is now a strong reference
-
-This may be less obvious in other situations, such as C<grep()>, for instance
-when grepping through a list of weakened references to objects that may have
-been destroyed already:
-
- @object = grep { defined } @object;
-
-This will indeed remove all references to destroyed objects, but the remaining
-references to objects will be strong, causing the remaining objects to never
-be destroyed because there is now always a strong reference to them in the
-@object array.
-
-=item isweak EXPR
-
-If EXPR is a scalar which is a weak reference the result is true.
-
- $ref = \$foo;
- $weak = isweak($ref); # false
- weaken($ref);
- $weak = isweak($ref); # true
-
-B<NOTE>: Copying a weak reference creates a normal, strong, reference.
-
- $copy = $ref;
- $weak = isweak($copy); # false
-
-=back
-
=head1 DIAGNOSTICS
Module use may give one of the following errors during import.
@@ -261,8 +278,8 @@ Module use may give one of the following errors during import.
=item Weak references are not implemented in the version of perl
-The version of perl that you are using does not implement weak references, to use
-C<isweak> or C<weaken> you will need to use a newer release of perl.
+The version of perl that you are using does not implement weak references, to
+use C<isweak> or C<weaken> you will need to use a newer release of perl.
=item Vstrings are not implemented in the version of perl
@@ -271,9 +288,10 @@ C<isvstring> you will need to use a newer release of perl.
=item C<NAME> is only available with the XS version of Scalar::Util
-C<Scalar::Util> contains both perl and C implementations of many of its functions
-so that those without access to a C compiler may still use it. However some of the functions
-are only available when a C compiler was available to compile the XS version of the extension.
+C<Scalar::Util> contains both perl and C implementations of many of its
+functions so that those without access to a C compiler may still use it.
+However some of the functions are only available when a C compiler was
+available to compile the XS version of the extension.
At present that list is: weaken, isweak, dualvar, isvstring, set_prototype
diff --git a/Master/tlpkg/tlperl/lib/Socket.pm b/Master/tlpkg/tlperl/lib/Socket.pm
index 270e4ed14d6..20657e805d6 100644
--- a/Master/tlpkg/tlperl/lib/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/Socket.pm
@@ -3,7 +3,7 @@ package Socket;
use strict;
{ use 5.006001; }
-our $VERSION = '2.009';
+our $VERSION = '2.018';
=head1 NAME
@@ -108,6 +108,10 @@ C<SOL_SOCKET> level.
Socket option name constants for IPv4 socket options at the C<IPPROTO_IP>
level.
+=head2 IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...
+
+Socket option value constants for C<IP_TOS> socket option.
+
=head2 MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
Message flag constants for send() and recv().
@@ -578,8 +582,8 @@ service on the named host.
print <$sock>;
Because a list of potential candidates is returned, the C<while> loop tries
-each in turn until it it finds one that succeeds both the socket() and
-connect() calls.
+each in turn until it finds one that succeeds both the socket() and connect()
+calls.
This function performs the work of the legacy functions gethostbyname(),
getservbyname(), inet_aton() and pack_sockaddr_in().
@@ -759,6 +763,8 @@ our @EXPORT_OK = qw(
IPPROTO_IP IPPROTO_IPV6 IPPROTO_RAW IPPROTO_ICMP IPPROTO_TCP
IPPROTO_UDP
+ IPTOS_LOWDELAY IPTOS_THROUGHPUT IPTOS_RELIABILITY IPTOS_MINCOST
+
TCP_CONGESTION TCP_CONNECTIONTIMEOUT TCP_CORK TCP_DEFER_ACCEPT TCP_INFO
TCP_INIT_CWND TCP_KEEPALIVE TCP_KEEPCNT TCP_KEEPIDLE TCP_KEEPINTVL
TCP_LINGER2 TCP_MAXRT TCP_MAXSEG TCP_MD5SIG TCP_NODELAY TCP_NOOPT
@@ -929,7 +935,7 @@ if( defined &getaddrinfo ) {
# 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_DECIMAL = qr/25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}/;
my $REGEXP_IPv4_DOTTEDQUAD = qr/$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL/;
sub fake_makeerr
@@ -992,7 +998,7 @@ sub fake_getaddrinfo
my @ports; # Actually ARRAYrefs of [ socktype, protocol, port ]
my $protname = "";
if( $protocol ) {
- $protname = getprotobynumber( $protocol );
+ $protname = eval { getprotobynumber( $protocol ) };
}
if( $service ne "" and $service !~ m/^\d+$/ ) {
@@ -1023,7 +1029,7 @@ sub fake_getaddrinfo
$port = 0;
}
- push @ports, [ $this_socktype, scalar getprotobyname( $this_protname ) || 0, $port ];
+ push @ports, [ $this_socktype, eval { scalar getprotobyname( $this_protname ) } || 0, $port ];
}
my @ret;
diff --git a/Master/tlpkg/tlperl/lib/Storable.pm b/Master/tlpkg/tlperl/lib/Storable.pm
index bb1083d3fd6..7d8a01198d5 100644
--- a/Master/tlpkg/tlperl/lib/Storable.pm
+++ b/Master/tlpkg/tlperl/lib/Storable.pm
@@ -1,5 +1,6 @@
#
-# Copyright (c) 1995-2000, Raphael Manfredi
+# Copyright (c) 1995-2001, Raphael Manfredi
+# Copyright (c) 2002-2013 by the Perl 5 Porters
#
# You may redistribute only under the same terms as Perl 5, as specified
# in the README file that comes with the distribution.
@@ -21,7 +22,7 @@ package Storable; @ISA = qw(Exporter);
use vars qw($canonical $forgive_me $VERSION);
-$VERSION = '2.41';
+$VERSION = '2.49_01';
BEGIN {
if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
@@ -31,13 +32,13 @@ BEGIN {
# Use of Log::Agent is optional. If it hasn't imported these subs then
# provide a fallback implementation.
#
- if (!exists &logcroak) {
+ unless ($Storable::{logcroak} && *{$Storable::{logcroak}}{CODE}) {
require Carp;
*logcroak = sub {
Carp::croak(@_);
};
}
- if (!exists &logcarp) {
+ unless ($Storable::{logcarp} && *{$Storable::{logcarp}}{CODE}) {
require Carp;
*logcarp = sub {
Carp::carp(@_);
@@ -311,7 +312,7 @@ sub _store_fd {
#
# freeze
#
-# Store oject and its hierarchy in memory and return a scalar
+# Store object and its hierarchy in memory and return a scalar
# containing the result.
#
sub freeze {
@@ -1048,7 +1049,7 @@ untrusted sources!>
If your application requires accepting data from untrusted sources, you
are best off with a less powerful and more-likely safe serialization format
-and implementation. If your data is sufficently simple, JSON is a good
+and implementation. If your data is sufficiently simple, JSON is a good
choice and offers maximum interoperability.
=head1 WARNING
@@ -1085,8 +1086,8 @@ deal with them.
The store functions will C<croak> if they run into such references
unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
-case, the fatal message is turned in a warning and some
-meaningless string is stored instead.
+case, the fatal message is converted to a warning and some meaningless
+string is stored instead.
Setting C<$Storable::canonical> may not yield frozen strings that
compare equal due to possible stringification of numbers. When the
@@ -1162,7 +1163,7 @@ correct behaviour.
What this means is that if you have data written by Storable 1.x running
on perl 5.6.0 or 5.6.1 configured with 64 bit integers on Unix or Linux
then by default this Storable will refuse to read it, giving the error
-I<Byte order is not compatible>. If you have such data then you you
+I<Byte order is not compatible>. If you have such data then you
should set C<$Storable::interwork_56_64bit> to a true value to make this
Storable read and write files with the old header. You should also
migrate your data, or any older perl you are communicating with, to this
@@ -1192,7 +1193,8 @@ 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>
+ Benjamin A. Holzman <ben.holzman@grantstreet.com>
+ Reini Urban <rurban@cpanel.net>
for their bug reports, suggestions and contributions.
diff --git a/Master/tlpkg/tlperl/lib/Sys/Hostname.pm b/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
index 4893f6a9660..1d2e47210a7 100644
--- a/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
+++ b/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
@@ -14,7 +14,7 @@ our $VERSION;
our $host;
BEGIN {
- $VERSION = '1.17';
+ $VERSION = '1.18';
{
local $SIG{__DIE__};
eval {
@@ -92,7 +92,7 @@ sub hostname {
|| eval {
local $SIG{__DIE__};
local $SIG{CHLD};
- $host = `(hostname) 2>/dev/null`; # bsdish
+ $host = `(hostname) 2>/dev/null`; # BSDish
}
# method 4 - use POSIX::uname(), which strictly can't be expected to be
diff --git a/Master/tlpkg/tlperl/lib/TAP/Base.pm b/Master/tlpkg/tlperl/lib/TAP/Base.pm
index ff8da427c8b..02f8b5e48ce 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Base.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Base.pm
@@ -1,11 +1,9 @@
package TAP::Base;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object;
-
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
=head1 NAME
@@ -14,11 +12,11 @@ and L<TAP::Harness>
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
use constant GOT_TIME_HIRES => do {
eval 'use Time::HiRes qw(time);';
@@ -29,10 +27,7 @@ use constant GOT_TIME_HIRES => do {
package TAP::Whatever;
- use TAP::Base;
-
- use vars qw($VERSION @ISA);
- @ISA = qw(TAP::Base);
+ use base 'TAP::Base';
# ... later ...
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
index af7b3fca304..1bb357d9bd0 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
@@ -1,17 +1,14 @@
package TAP::Formatter::Base;
use strict;
-use TAP::Base ();
+use warnings;
+use base 'TAP::Base';
use POSIX qw(strftime);
-use vars qw($VERSION @ISA);
-
my $MAX_ERRORS = 5;
my %VALIDATION_FOR;
BEGIN {
- @ISA = qw(TAP::Base);
-
%VALIDATION_FOR = (
directives => sub { shift; shift },
verbosity => sub { shift; shift },
@@ -61,11 +58,11 @@ TAP::Formatter::Base - Base class for harness output delegates
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
index 16d6f79d45f..d22752e12ee 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
@@ -1,11 +1,11 @@
package TAP::Formatter::Color;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
my $NO_COLOR;
@@ -71,11 +71,11 @@ TAP::Formatter::Color - Run Perl test scripts with color
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
index 0a9115f9e48..5ac9fa1a16e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
@@ -1,24 +1,21 @@
package TAP::Formatter::Console;
use strict;
-use TAP::Formatter::Base ();
+use warnings;
+use base 'TAP::Formatter::Base';
use POSIX qw(strftime);
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Formatter::Base);
-
=head1 NAME
TAP::Formatter::Console - Harness output delegate for default console output
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
@@ -70,16 +67,28 @@ sub _set_colors {
}
}
+sub _failure_color {
+ my ($self) = @_;
+
+ return $ENV{'HARNESS_SUMMARY_COLOR_FAIL'} || 'red';
+}
+
+sub _success_color {
+ my ($self) = @_;
+
+ return $ENV{'HARNESS_SUMMARY_COLOR_SUCCESS'} || 'green';
+}
+
sub _output_success {
my ( $self, $msg ) = @_;
- $self->_set_colors('green');
+ $self->_set_colors( $self->_success_color() );
$self->_output($msg);
$self->_set_colors('reset');
}
sub _failure_output {
my $self = shift;
- $self->_set_colors('red');
+ $self->_set_colors( $self->_failure_color() );
my $out = join '', @_;
my $has_newline = chomp $out;
$self->_output($out);
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
index 873903988d0..f9cd7af5964 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
@@ -1,15 +1,14 @@
package TAP::Formatter::Console::ParallelSession;
use strict;
+use warnings;
use File::Spec;
use File::Path;
-use TAP::Formatter::Console::Session;
use Carp;
-use constant WIDTH => 72; # Because Eric says
-use vars qw($VERSION @ISA);
+use base 'TAP::Formatter::Console::Session';
-@ISA = qw(TAP::Formatter::Console::Session);
+use constant WIDTH => 72; # Because Eric says
my %shared;
@@ -42,11 +41,11 @@ TAP::Formatter::Console::ParallelSession - Harness output delegate for parallel
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
index f5b3dc12295..16ce97153d9 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
@@ -1,11 +1,9 @@
package TAP::Formatter::Console::Session;
use strict;
-use TAP::Formatter::Session;
+use warnings;
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Formatter::Session);
+use base 'TAP::Formatter::Session';
my @ACCESSOR;
@@ -28,11 +26,11 @@ TAP::Formatter::Console::Session - Harness output delegate for default console o
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
index 8d94a2cff7a..2e72d914ba8 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
@@ -1,13 +1,11 @@
package TAP::Formatter::File;
use strict;
-use TAP::Formatter::Base ();
+use warnings;
use TAP::Formatter::File::Session;
use POSIX qw(strftime);
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Formatter::Base);
+use base 'TAP::Formatter::Base';
=head1 NAME
@@ -15,11 +13,11 @@ TAP::Formatter::File - Harness output delegate for file output
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 9b61cab3670..4719f22b1b6 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm
@@ -1,11 +1,8 @@
package TAP::Formatter::File::Session;
use strict;
-use TAP::Formatter::Session;
-
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Formatter::Session);
+use warnings;
+use base 'TAP::Formatter::Session';
=head1 NAME
@@ -13,11 +10,11 @@ TAP::Formatter::File::Session - Harness output delegate for file output
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
index 081ca9aec95..120b4953c36 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
@@ -1,11 +1,9 @@
package TAP::Formatter::Session;
use strict;
-use TAP::Base;
+use warnings;
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Base);
+use base 'TAP::Base';
my @ACCESSOR;
@@ -25,11 +23,11 @@ TAP::Formatter::Session - Abstract base class for harness output delegate
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 METHODS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Harness.pm b/Master/tlpkg/tlperl/lib/TAP/Harness.pm
index c60d1d98014..53d8d18bea6 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Harness.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Harness.pm
@@ -1,17 +1,14 @@
package TAP::Harness;
use strict;
+use warnings;
use Carp;
use File::Spec;
use File::Path;
use IO::Handle;
-use TAP::Base;
-
-use vars qw($VERSION @ISA);
-
-@ISA = qw(TAP::Base);
+use base 'TAP::Base';
=head1 NAME
@@ -19,11 +16,11 @@ TAP::Harness - Run test scripts with statistics
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
$ENV{HARNESS_ACTIVE} = 1;
$ENV{HARNESS_VERSION} = $VERSION;
@@ -248,7 +245,7 @@ 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
+hash of configuration that will be accessible to the source handlers via
L<TAP::Parser::Source/config_for>.
For example:
@@ -330,20 +327,37 @@ run only one test at a time.
=item * C<rules>
-A reference to a hash of rules that control which tests may be
-executed in parallel. This is an experimental feature and the
-interface may change.
-
- $harness->rules(
- { par => [
- { seq => '../ext/DB_File/t/*' },
- { seq => '../ext/IO_Compress_Zlib/t/*' },
- { seq => '../lib/CPANPLUS/*' },
- { seq => '../lib/ExtUtils/t/*' },
- '*'
- ]
- }
- );
+A reference to a hash of rules that control which tests may be executed in
+parallel. If no rules are declared, all tests are eligible for being run in
+parallel. Here some simple examples. For the full details of the data structure
+and the related glob-style pattern matching, see
+L<TAP::Parser::Scheduler/"Rules data structure">.
+
+ # Run all tests in sequence, except those starting with "p"
+ $harness->rules({
+ par => 't/p*.t'
+ });
+
+ # Run all tests in parallel, except those starting with "p"
+ $harness->rules({
+ seq => [
+ { seq => 't/p*.t' },
+ { par => '**' },
+ ],
+ });
+
+ # Run some startup tests in sequence, then some parallel tests than some
+ # teardown tests in sequence.
+ $harness->rules({
+ seq => [
+ { seq => 't/startup/*.t' },
+ { par => ['t/a/*.t','t/b/*.t','t/c/*.t'], }
+ { seq => 't/shutdown/*.t' },
+ ],
+
+ });
+
+This is an experimental feature and the interface may change.
=item * C<stdout>
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..b70564ec956
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod
@@ -0,0 +1,422 @@
+=head1 NAME
+
+Test::Harness::Beyond - Beyond make test
+
+=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 '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/Harness/Env.pm b/Master/tlpkg/tlperl/lib/TAP/Harness/Env.pm
new file mode 100644
index 00000000000..1a9d7196c40
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Harness/Env.pm
@@ -0,0 +1,149 @@
+package TAP::Harness::Env;
+
+use strict;
+use warnings;
+
+use constant IS_VMS => ( $^O eq 'VMS' );
+use TAP::Object;
+use Text::ParseWords qw/shellwords/;
+
+our $VERSION = '3.30';
+
+# Get the parts of @INC which are changed from the stock list AND
+# preserve reordering of stock directories.
+sub _filtered_inc_vms {
+ my @inc = grep { !ref } @INC; #28567
+
+ # VMS has a 255-byte limit on the length of %ENV entries, so
+ # toss the ones that involve perl_root, the install location
+ @inc = grep { !/perl_root/i } @inc;
+
+ my @default_inc = _default_inc();
+
+ my @new_inc;
+ my %seen;
+ for my $dir (@inc) {
+ next if $seen{$dir}++;
+
+ if ( $dir eq ( $default_inc[0] || '' ) ) {
+ shift @default_inc;
+ }
+ else {
+ push @new_inc, $dir;
+ }
+
+ shift @default_inc while @default_inc and $seen{ $default_inc[0] };
+ }
+ return @new_inc;
+}
+
+# Cache this to avoid repeatedly shelling out to Perl.
+my @inc;
+
+sub _default_inc {
+ return @inc if @inc;
+
+ local $ENV{PERL5LIB};
+ local $ENV{PERLLIB};
+
+ 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[]"` );
+ return @inc;
+}
+
+sub create {
+ my $package = shift;
+ my %input = %{ shift || {} };
+
+ my @libs = @{ delete $input{libs} || [] };
+ my @raw_switches = @{ delete $input{switches} || [] };
+ my @opt
+ = ( @raw_switches, shellwords( $ENV{HARNESS_PERL_SWITCHES} || '' ) );
+ my @switches;
+ while ( my $opt = shift @opt ) {
+ if ( $opt =~ /^ -I (.*) $ /x ) {
+ push @libs, length($1) ? $1 : shift @opt;
+ }
+ else {
+ push @switches, $opt;
+ }
+ }
+
+ # Do things the old way on VMS...
+ push @libs, _filtered_inc_vms() if IS_VMS;
+
+ # If $Verbose isn't numeric default to 1. This helps core.
+ my $verbose
+ = $ENV{HARNESS_VERBOSE}
+ ? $ENV{HARNESS_VERBOSE} !~ /\d/
+ ? 1
+ : $ENV{HARNESS_VERBOSE}
+ : 0;
+
+ my %args = (
+ lib => \@libs,
+ timer => $ENV{HARNESS_TIMER} || 0,
+ switches => \@switches,
+ color => $ENV{HARNESS_COLOR} || 0,
+ verbosity => $verbose,
+ ignore_exit => $ENV{HARNESS_IGNORE_EXIT} || 0,
+ );
+
+ my $class = $ENV{HARNESS_SUBCLASS} || 'TAP::Harness';
+ if ( defined( my $env_opt = $ENV{HARNESS_OPTIONS} ) ) {
+ for my $opt ( split /:/, $env_opt ) {
+ if ( $opt =~ /^j(\d*)$/ ) {
+ $args{jobs} = $1 || 9;
+ }
+ elsif ( $opt eq 'c' ) {
+ $args{color} = 1;
+ }
+ elsif ( $opt =~ m/^f(.*)$/ ) {
+ my $fmt = $1;
+ $fmt =~ s/-/::/g;
+ $args{formatter_class} = $fmt;
+ }
+ elsif ( $opt =~ m/^a(.*)$/ ) {
+ my $archive = $1;
+ $class = 'TAP::Harness::Archive';
+ $args{archive} = $archive;
+ }
+ else {
+ die "Unknown HARNESS_OPTIONS item: $opt\n";
+ }
+ }
+ }
+ return TAP::Object->_construct($class, { %args, %input });
+}
+
+1;
+
+=head1 NAME
+
+TAP::Harness::Env - Parsing harness related environmental variables where appropriate
+
+=head1 VERSION
+
+Version 3.30
+
+=head1 SYNOPSIS
+
+ my ($class, $args) = get_test_arguments();
+ require_module($class);
+ $class->new($args);
+
+=head1 DESCRIPTION
+
+This module implements the environmental variables that L<Test::Harness> for use with TAP::Harness.
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item * get_test_options( \%args )
+
+This function reads the environment and generates an appropriate argument hash from it. If given any arguments, there will override the environmental defaults. It will return of C<$class> and C<$args>.
+
+=back
diff --git a/Master/tlpkg/tlperl/lib/TAP/Object.pm b/Master/tlpkg/tlperl/lib/TAP/Object.pm
index 6d0bc308217..21c53dc06a8 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Object.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Object.pm
@@ -1,7 +1,7 @@
package TAP::Object;
use strict;
-use vars qw($VERSION);
+use warnings;
=head1 NAME
@@ -9,22 +9,19 @@ TAP::Object - Base class that provides common functionality to all C<TAP::*> mod
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
package TAP::Whatever;
use strict;
- use vars qw(@ISA);
- use TAP::Object;
-
- @ISA = qw(TAP::Object);
+ use base 'TAP::Object';
# new() implementation by TAP::Object
sub _initialize {
@@ -127,7 +124,7 @@ sub _construct {
unless ( $class->can('new') ) {
local $@;
eval "require $class";
- $self->_croak("Can't load $class") if $@;
+ $self->_croak("Can't load $class: $@") if $@;
}
return $class->new(@args);
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser.pm b/Master/tlpkg/tlperl/lib/TAP/Parser.pm
index 95909032418..1ebb0db969c 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser.pm
@@ -1,9 +1,8 @@
package TAP::Parser;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Base ();
use TAP::Parser::Grammar ();
use TAP::Parser::Result ();
use TAP::Parser::ResultFactory ();
@@ -18,17 +17,21 @@ use TAP::Parser::SourceHandler::Handle ();
use Carp qw( confess );
+use base 'TAP::Base';
+
+=encoding utf8
+
=head1 NAME
TAP::Parser - Parse L<TAP|Test::Harness::TAP> output
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
my $DEFAULT_TAP_VERSION = 12;
my $MAX_TAP_VERSION = 13;
@@ -42,8 +45,6 @@ END {
}
BEGIN { # making accessors
- @ISA = qw(TAP::Base);
-
__PACKAGE__->mk_methods(
qw(
_iterator
@@ -174,7 +175,7 @@ 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
+hash of configuration that will be accessible to the source handlers via
L<TAP::Parser::Source/config_for>.
For example:
@@ -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<comment> methods
if ( $result->is_comment ) { ... }
@@ -795,7 +796,11 @@ but had a TODO directive, it will be counted as a passed test.
=cut
-sub passed { @{ shift->{passed} } }
+sub passed {
+ return @{ $_[0]->{passed} }
+ if ref $_[0]->{passed};
+ return wantarray ? 1 .. $_[0]->{passed} : $_[0]->{passed};
+}
=head3 C<failed>
@@ -822,7 +827,11 @@ regardless of whether or not a TODO directive was found.
=cut
-sub actual_passed { @{ shift->{actual_passed} } }
+sub actual_passed {
+ return @{ $_[0]->{actual_passed} }
+ if ref $_[0]->{actual_passed};
+ return wantarray ? 1 .. $_[0]->{actual_passed} : $_[0]->{actual_passed};
+}
*actual_ok = \&actual_passed;
=head3 C<actual_ok>
@@ -1496,6 +1505,17 @@ sub _finish {
}
$self->is_good_plan(0) unless defined $self->is_good_plan;
+
+ unless ( $self->parse_errors ) {
+ # Optimise storage where possible
+ if ( $self->tests_run == @{$self->{passed}} ) {
+ $self->{passed} = $self->tests_run;
+ }
+ if ( $self->tests_run == @{$self->{actual_passed}} ) {
+ $self->{actual_passed} = $self->tests_run;
+ }
+ }
+
return $self;
}
@@ -1745,7 +1765,7 @@ 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
+Note that C<make_source> & C<make_perl_source> have been I<DEPRECATED> and
are now removed.
=head3 Iterators
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
index d2836e552cb..ee4befd3fa3 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
@@ -1,12 +1,10 @@
package TAP::Parser::Aggregator;
use strict;
+use warnings;
use Benchmark;
-use vars qw($VERSION @ISA);
-use TAP::Object ();
-
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
=head1 NAME
@@ -14,11 +12,11 @@ TAP::Parser::Aggregator - Aggregate TAP::Parser results
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
index aba4c66086b..fe1b9adba2e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
@@ -1,13 +1,12 @@
package TAP::Parser::Grammar;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
use TAP::Parser::ResultFactory ();
use TAP::Parser::YAMLish::Reader ();
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
=head1 NAME
@@ -15,11 +14,11 @@ TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -405,7 +404,10 @@ sub _make_test_token {
my ( $self, $line, $ok, $num, $desc, $dir, $explanation ) = @_;
return {
ok => $ok,
- test_num => $num,
+
+ # forcing this to be an integer (and not a string) reduces memory
+ # consumption. RT #84939
+ test_num => ( defined $num ? 0 + $num : undef ),
description => _trim($desc),
directive => ( defined $dir ? uc $dir : '' ),
explanation => _trim($explanation),
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
index aebcb94a5f4..886f5f4656b 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
@@ -1,11 +1,9 @@
package TAP::Parser::Iterator;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
-
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
=head1 NAME
@@ -13,18 +11,17 @@ TAP::Parser::Iterator - Base class for TAP source iterators
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
# to subclass:
- use vars qw(@ISA);
use TAP::Parser::Iterator ();
- @ISA = qw(TAP::Parser::Iterator);
+ use base 'TAP::Parser::Iterator';
sub _initialize {
# see TAP::Object...
}
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
index a3bb6621e7a..929b1004585 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
@@ -1,11 +1,9 @@
package TAP::Parser::Iterator::Array;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::Iterator ();
-
-@ISA = 'TAP::Parser::Iterator';
+use base 'TAP::Parser::Iterator';
=head1 NAME
@@ -13,11 +11,11 @@ TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
index 8f43f0a45bc..aaf6b6cf61a 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
@@ -1,13 +1,12 @@
package TAP::Parser::Iterator::Process;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::Iterator ();
use Config;
use IO::Handle;
-@ISA = 'TAP::Parser::Iterator';
+use base 'TAP::Parser::Iterator';
my $IS_WIN32 = ( $^O =~ /^(MS)?Win32$/ );
@@ -17,11 +16,11 @@ TAP::Parser::Iterator::Process - Iterator for process-based TAP sources
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -79,7 +78,7 @@ Get the exit status for this iterator's process.
{
- local $^W; # no warnings
+ no warnings 'uninitialized';
# get around a catch22 in the test suite that causes failures on Win32:
local $SIG{__DIE__} = undef;
eval { require POSIX; &POSIX::WEXITSTATUS(0) };
@@ -138,7 +137,7 @@ sub _initialize {
# HOTPATCH {{{
my $xclose = \&IPC::Open3::xclose;
- local $^W; # no warnings
+ no warnings;
local *IPC::Open3::xclose = sub {
my $fh = shift;
no strict 'refs';
@@ -158,9 +157,7 @@ sub _initialize {
};
die "Could not execute (@command): $@" if $@;
if ( $] >= 5.006 ) {
-
- # Kludge to avoid warning under 5.5
- eval 'binmode($out, ":crlf")';
+ binmode($out, ":crlf");
}
}
else {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
index 1d045744103..9181fc7ae79 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
@@ -1,11 +1,9 @@
package TAP::Parser::Iterator::Stream;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::Iterator ();
-
-@ISA = 'TAP::Parser::Iterator';
+use base 'TAP::Parser::Iterator';
=head1 NAME
@@ -13,11 +11,11 @@ TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
index cda251e8d72..8b75724fd8e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
@@ -1,14 +1,12 @@
package TAP::Parser::IteratorFactory;
use strict;
-use vars qw($VERSION @ISA);
-
-use TAP::Object ();
+use warnings;
use Carp qw( confess );
use File::Basename qw( fileparse );
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
use constant handlers => [];
@@ -18,11 +16,11 @@ TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use fo
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -302,11 +300,8 @@ But in case you find the need to...
package MyIteratorFactory;
use strict;
- use vars '@ISA';
-
- use TAP::Parser::IteratorFactory;
- @ISA = qw( TAP::Parser::IteratorFactory );
+ use base 'TAP::Parser::IteratorFactory';
# override source detection algorithm
sub detect_source {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
index a3a23dae757..65cd46de13e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
@@ -1,28 +1,27 @@
package TAP::Parser::Multiplexer;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
use IO::Select;
-use TAP::Object ();
+
+use base 'TAP::Object';
use constant IS_WIN32 => $^O =~ /^(MS)?Win32$/;
use constant IS_VMS => $^O eq 'VMS';
use constant SELECT_OK => !( IS_VMS || IS_WIN32 );
-@ISA = 'TAP::Object';
-
=head1 NAME
TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
index a0caebe24ca..eaad1d2f41b 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
@@ -1,11 +1,9 @@
package TAP::Parser::Result;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
-
-@ISA = 'TAP::Object';
+use base 'TAP::Object';
BEGIN {
@@ -26,11 +24,11 @@ TAP::Parser::Result - Base class for TAP::Parser output objects
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -274,9 +272,8 @@ subclass L<TAP::Parser::Grammar> too, or else it'll never get used.
package MyResult;
use strict;
- use vars '@ISA';
- @ISA = 'TAP::Parser::Result';
+ use base 'TAP::Parser::Result';
# register with the factory:
TAP::Parser::ResultFactory->register_type( 'my_type' => __PACKAGE__ );
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
index 14bef6c9ade..2ae35d6e603 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::Bailout;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::Bailout - Bailout result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 8a2cb934de5..d69ec5189c2 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::Comment;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::Comment - Comment result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 b515e61c99a..d85243c9766 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::Plan;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::Plan - Plan result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 0416e3a81f1..1479e8836cd 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::Pragma;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::Pragma - TAP pragma token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 b977f71d9ba..749f26cbe2b 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm
@@ -1,12 +1,9 @@
package TAP::Parser::Result::Test;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
-
-use vars qw($VERSION);
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -14,11 +11,11 @@ TAP::Parser::Result::Test - Test result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
index 0d0e58304b6..3e1a6112271 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
@@ -1,12 +1,9 @@
package TAP::Parser::Result::Unknown;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
-
-use vars qw($VERSION);
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -14,11 +11,11 @@ TAP::Parser::Result::Unknown - Unknown result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 2380c43349e..8b08e33d063 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::Version;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::Version - TAP syntax version token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=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 f92b43a78c7..a6f86e3c46d 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm
@@ -1,10 +1,9 @@
package TAP::Parser::Result::YAML;
use strict;
+use warnings;
-use vars qw($VERSION @ISA);
-use TAP::Parser::Result;
-@ISA = 'TAP::Parser::Result';
+use base 'TAP::Parser::Result';
=head1 NAME
@@ -12,11 +11,11 @@ TAP::Parser::Result::YAML - YAML result token.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
index 729bf4fa6f4..65d31d25367 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
@@ -1,9 +1,8 @@
package TAP::Parser::ResultFactory;
use strict;
-use vars qw($VERSION @ISA %CLASS_FOR);
+use warnings;
-use TAP::Object ();
use TAP::Parser::Result::Bailout ();
use TAP::Parser::Result::Comment ();
use TAP::Parser::Result::Plan ();
@@ -13,7 +12,7 @@ use TAP::Parser::Result::Unknown ();
use TAP::Parser::Result::Version ();
use TAP::Parser::Result::YAML ();
-@ISA = 'TAP::Object';
+use base 'TAP::Object';
##############################################################################
@@ -30,11 +29,11 @@ TAP::Parser::ResultFactory - Factory for creating TAP::Parser output objects
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head2 DESCRIPTION
@@ -83,8 +82,7 @@ a completely new type, eg:
# create a custom result type:
package MyResult;
use strict;
- use vars qw(@ISA);
- @ISA = 'TAP::Parser::Result';
+ use base 'TAP::Parser::Result';
# register with the factory:
TAP::Parser::ResultFactory->register_type( 'my_type' => __PACKAGE__ );
@@ -96,18 +94,16 @@ Your custom type should then be picked up automatically by the L<TAP::Parser>.
=cut
-BEGIN {
- %CLASS_FOR = (
- plan => 'TAP::Parser::Result::Plan',
- pragma => 'TAP::Parser::Result::Pragma',
- test => 'TAP::Parser::Result::Test',
- comment => 'TAP::Parser::Result::Comment',
- bailout => 'TAP::Parser::Result::Bailout',
- version => 'TAP::Parser::Result::Version',
- unknown => 'TAP::Parser::Result::Unknown',
- yaml => 'TAP::Parser::Result::YAML',
- );
-}
+our %CLASS_FOR = (
+ plan => 'TAP::Parser::Result::Plan',
+ pragma => 'TAP::Parser::Result::Pragma',
+ test => 'TAP::Parser::Result::Test',
+ comment => 'TAP::Parser::Result::Comment',
+ bailout => 'TAP::Parser::Result::Bailout',
+ version => 'TAP::Parser::Result::Version',
+ unknown => 'TAP::Parser::Result::Unknown',
+ yaml => 'TAP::Parser::Result::YAML',
+);
sub class_for {
my ( $class, $type ) = @_;
@@ -166,12 +162,10 @@ Of course, it's up to you to decide whether or not to ignore them.
package MyResultFactory;
use strict;
- use vars '@ISA';
use MyResult;
- use TAP::Parser::ResultFactory;
- @ISA = qw( TAP::Parser::ResultFactory );
+ use base 'TAP::Parser::ResultFactory';
# force all results to be 'MyResult'
sub class_for {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
index f7a3e46c67b..7c5cedf7edc 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
@@ -1,7 +1,8 @@
package TAP::Parser::Scheduler;
use strict;
-use vars qw($VERSION);
+use warnings;
+
use Carp;
use TAP::Parser::Scheduler::Job;
use TAP::Parser::Scheduler::Spinner;
@@ -12,11 +13,11 @@ TAP::Parser::Scheduler - Schedule tests during parallel testing
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -30,9 +31,98 @@ $VERSION = '3.26';
=head3 C<new>
- my $sched = TAP::Parser::Scheduler->new;
+ my $sched = TAP::Parser::Scheduler->new(tests => \@tests);
+ my $sched = TAP::Parser::Scheduler->new(
+ tests => [ ['t/test_name.t','Test Description'], ... ],
+ rules => \%rules,
+ );
+
+Given 'tests' and optional 'rules' as input, returns a new
+C<TAP::Parser::Scheduler> object. Each member of C<@tests> should be either a
+a test file name, or a two element arrayref, where the first element is a test
+file name, and the second element is a test description. By default, we'll use
+the test name as the description.
+
+The optional C<rules> attribute provides direction on which tests should be run
+in parallel and which should be run sequentially. If no rule data structure is
+provided, a default data structure is used which makes every test eligible to
+be run in parallel:
+
+ { par => '**' },
+
+The rules data structure is documented more in the next section.
+
+=head2 Rules data structure
+
+The "C<rules>" data structure is the the heart of the scheduler. It allows you
+to express simple rules like "run all tests in sequence" or "run all tests in
+parallel except these five tests.". However, the rules structure also supports
+glob-style pattern matching and recursive definitions, so you can also express
+arbitarily complicated patterns.
+
+The rule must only have one top level key: either 'par' for "parallel" or 'seq'
+for "sequence".
+
+Values must be either strings with possible glob-style matching, or arrayrefs
+of strings or hashrefs which follow this pattern recursively.
+
+Every element in an arrayref directly below a 'par' key is eligible to be run
+in parallel, while vavalues directly below a 'seq' key must be run in sequence.
+
+=head3 Rules examples
+
+Here are some examples:
+
+ # All tests be run in parallel (the default rule)
+ { par => '**' },
+
+ # Run all tests in sequence, except those starting with "p"
+ { par => 't/p*.t' },
+
+ # Run all tests in parallel, except those starting with "p"
+ {
+ seq => [
+ { seq => 't/p*.t' },
+ { par => '**' },
+ ],
+ }
+
+ # Run some startup tests in sequence, then some parallel tests than some
+ # teardown tests in sequence.
+ {
+ seq => [
+ { seq => 't/startup/*.t' },
+ { par => ['t/a/*.t','t/b/*.t','t/c/*.t'], }
+ { seq => 't/shutdown/*.t' },
+ ],
+ },
-Returns a new C<TAP::Parser::Scheduler> object.
+
+=head3 Rules resolution
+
+=over4
+
+=item * By default, all tests are eligible to be run in parallel. Specifying any of your own rules removes this one.
+
+=item * "First match wins". The first rule that matches a test will be the one that applies.
+
+=item * Any test which does not match a rule will be run in sequence at the end of the run.
+
+=item * The existence of a rule does not imply selecting a test. You must still specify the tests to run.
+
+=item * Specifying a rule to allow tests to run in parallel does not make the run in parallel. You still need specify the number of parallel C<jobs> in your Harness object.
+
+=back
+
+=head3 Glob-style pattern matching for rules
+
+We implement our own glob-style pattern matching. Here are the patterns it supports:
+
+ ** is any number of characters, including /, within a pathname
+ * is zero or more characters within a filename/directory name
+ ? is exactly one character within a filename/directory name
+ {foo,bar,baz} is any of foo, bar or baz.
+ \ is an escape character
=cut
@@ -70,6 +160,9 @@ sub new {
sub _set_rules {
my ( $self, $rules, $tests ) = @_;
+
+ # Convert all incoming tests to job objects.
+ # If no test description is provided use the file name as the description.
my @tests = map { TAP::Parser::Scheduler::Job->new(@$_) }
map { 'ARRAY' eq ref $_ ? $_ : [ $_, $_ ] } @$tests;
my $schedule = $self->_rule_clause( $rules, \@tests );
@@ -185,6 +278,8 @@ sub _expand {
return @match;
}
+=head2 Instance Methods
+
=head3 C<get_all>
Get a list of all remaining tests.
@@ -207,9 +302,9 @@ sub _gather {
=head3 C<get_job>
-Return the next available job or C<undef> if none are available. Returns
-a C<TAP::Parser::Scheduler::Spinner> if the scheduler still has pending
-jobs but none are available to run right now.
+Return the next available job as L<TAP::Parser::Scheduler::Job> object or
+C<undef> if none are available. Returns a L<TAP::Parser::Scheduler::Spinner> if
+the scheduler still has pending jobs but none are available to run right now.
=cut
@@ -281,9 +376,50 @@ sub _find_next_job {
=head3 C<as_string>
Return a human readable representation of the scheduling tree.
+For example:
+
+ my @tests = (qw{
+ t/startup/foo.t
+ t/shutdown/foo.t
+
+ t/a/foo.t t/b/foo.t t/c/foo.t t/d/foo.t
+ });
+ my $sched = TAP::Parser::Scheduler->new(
+ tests => \@tests,
+ rules => {
+ seq => [
+ { seq => 't/startup/*.t' },
+ { par => ['t/a/*.t','t/b/*.t','t/c/*.t'] },
+ { seq => 't/shutdown/*.t' },
+ ],
+ },
+ );
+
+Produces:
+
+ par:
+ seq:
+ par:
+ seq:
+ par:
+ seq:
+ 't/startup/foo.t'
+ par:
+ seq:
+ 't/a/foo.t'
+ seq:
+ 't/b/foo.t'
+ seq:
+ 't/c/foo.t'
+ par:
+ seq:
+ 't/shutdown/foo.t'
+ 't/d/foo.t'
+
=cut
+
sub as_string {
my $self = shift;
return $self->_as_string( $self->{schedule} );
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
index bac5883f48f..6375a7b8786 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
@@ -1,7 +1,7 @@
package TAP::Parser::Scheduler::Job;
use strict;
-use vars qw($VERSION);
+use warnings;
use Carp;
=head1 NAME
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Job - A single testing job.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -31,10 +31,11 @@ Represents a single test 'job'.
=head3 C<new>
my $job = TAP::Parser::Scheduler::Job->new(
- $name, $desc
+ $filename, $description
);
-Returns a new C<TAP::Parser::Scheduler::Job> object.
+Given the filename and description of a test as scalars, returns a new
+L<TAP::Parser::Scheduler::Job> object.
=cut
@@ -47,9 +48,14 @@ sub new {
}, $class;
}
+=head2 Instance Methods
+
=head3 C<on_finish>
-Register a closure to be called when this job is destroyed.
+ $self->on_finish(\&method).
+
+Register a closure to be called when this job is destroyed. The callback
+will be passed the C<TAP::Parser::Scheduler::Job> object as it's only argument.
=cut
@@ -60,7 +66,10 @@ sub on_finish {
=head3 C<finish>
-Called when a job is complete to unlock it.
+ $self->finish;
+
+Called when a job is complete to unlock it. If a callback has been registered
+with C<on_finish>, it calls it. Otherwise, it does nothing.
=cut
@@ -71,6 +80,15 @@ sub finish {
}
}
+=head2 Attributes
+
+ $self->filename;
+ $self->description;
+ $self->context;
+
+These are all "getters" which return the data set for these attributes during object construction.
+
+
=head3 C<filename>
=head3 C<description>
@@ -96,6 +114,8 @@ sub as_array_ref {
=head3 C<is_spinner>
+ $self->is_spinner;
+
Returns false indicating that this is a real job rather than a
'spinner'. Spinners are returned when the scheduler still has pending
jobs but can't (because of locking) return one right now.
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
index 21d4d67647a..f590ea58f04 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
@@ -1,7 +1,7 @@
package TAP::Parser::Scheduler::Spinner;
use strict;
-use vars qw($VERSION);
+use warnings;
use Carp;
=head1 NAME
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Spinner - A no-op job.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -34,12 +34,14 @@ return a real job.
my $job = TAP::Parser::Scheduler::Spinner->new;
-Returns a new C<TAP::Parser::Scheduler::Spinner> object.
+Ignores any arguments and returns a new C<TAP::Parser::Scheduler::Spinner> object.
=cut
sub new { bless {}, shift }
+=head2 Instance Methods
+
=head3 C<is_spinner>
Returns true indicating that is a 'spinner' job. Spinners are returned
@@ -50,4 +52,10 @@ return one right now.
sub is_spinner {1}
+=head1 SEE ALSO
+
+L<TAP::Parser::Scheduler>, L<TAP::Parser::Scheduler::Job>
+
+=cut
+
1;
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
index 6eda5db839d..0e2da09f644 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
@@ -1,26 +1,24 @@
package TAP::Parser::Source;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
use File::Basename qw( fileparse );
+use base 'TAP::Object';
use constant BLK_SIZE => 512;
-@ISA = qw(TAP::Object);
-
=head1 NAME
TAP::Parser::Source - a TAP source & meta data about it
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -329,7 +327,7 @@ May be called as a class method
open my $fh, '<', $file or die "Can't read $file: $!\n";
# Might be a binary file - so read a fixed number of bytes.
- my $got = read $fh, my $buf, BLK_SIZE;
+ my $got = read $fh, my ($buf), BLK_SIZE;
defined $got or die "I/O error: $!\n";
return $1 if $buf =~ /(.*)/;
return;
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm
index e8412ab309b..dc257e0ed9f 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm
@@ -1,12 +1,10 @@
package TAP::Parser::SourceHandler;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
use TAP::Parser::Iterator ();
-
-@ISA = qw(TAP::Object);
+use base 'TAP::Object';
=head1 NAME
@@ -14,11 +12,11 @@ TAP::Parser::SourceHandler - Base class for different TAP source handlers
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -27,7 +25,7 @@ $VERSION = '3.26';
# must be sub-classed for use
package MySourceHandler;
- use base qw( TAP::Parser::SourceHandler );
+ use base 'TAP::Parser::SourceHandler';
sub can_handle { return $confidence_level }
sub make_iterator { return $iterator }
@@ -105,7 +103,7 @@ 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.
+the easiest sub-class to use as 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.
@@ -123,12 +121,11 @@ L<TAP::Parser::IteratorFactory/register_handler>.
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 );
+ use base 'TAP::Parser::SourceHandler';
TAP::Parser::IteratorFactory->register_handler( __PACKAGE__ );
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm
index f20e6514ab0..5522625d317 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm
@@ -1,13 +1,12 @@
package TAP::Parser::SourceHandler::Executable;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::SourceHandler ();
use TAP::Parser::IteratorFactory ();
use TAP::Parser::Iterator::Process ();
-@ISA = qw(TAP::Parser::SourceHandler);
+use base 'TAP::Parser::SourceHandler';
TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
@@ -17,11 +16,11 @@ TAP::Parser::SourceHandler::Executable - Stream output from an executable TAP so
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -156,12 +155,11 @@ Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
package MyRubySourceHandler;
use strict;
- use vars '@ISA';
use Carp qw( croak );
use TAP::Parser::SourceHandler::Executable;
- @ISA = qw( TAP::Parser::SourceHandler::Executable );
+ use base 'TAP::Parser::SourceHandler::Executable';
# expect $handler->(['mytest.rb', 'cmdline', 'args']);
sub make_iterator {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm
index 1faacebe513..b48660fc782 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm
@@ -1,13 +1,12 @@
package TAP::Parser::SourceHandler::File;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::SourceHandler ();
use TAP::Parser::IteratorFactory ();
use TAP::Parser::Iterator::Stream ();
-@ISA = qw(TAP::Parser::SourceHandler);
+use base 'TAP::Parser::SourceHandler';
TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
@@ -17,11 +16,11 @@ TAP::Parser::SourceHandler::File - Stream TAP from a text file.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm
index f0043471250..944fb2a9b37 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm
@@ -1,13 +1,12 @@
package TAP::Parser::SourceHandler::Handle;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::SourceHandler ();
use TAP::Parser::IteratorFactory ();
use TAP::Parser::Iterator::Stream ();
-@ISA = qw(TAP::Parser::SourceHandler);
+use base 'TAP::Parser::SourceHandler';
TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
@@ -17,11 +16,11 @@ TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a GLOB.
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm
index 97eba8ebc17..1a1867b922d 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm
@@ -1,18 +1,17 @@
package TAP::Parser::SourceHandler::Perl;
use strict;
+use warnings;
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 );
+use Text::ParseWords qw(shellwords);
-@ISA = 'TAP::Parser::SourceHandler::Executable';
+use base 'TAP::Parser::SourceHandler::Executable';
TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
@@ -22,11 +21,11 @@ TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
@@ -152,18 +151,27 @@ sub make_iterator {
$class->_run( $source, $libs, $switches );
}
+
+sub _has_taint_switch {
+ my( $class, $switches ) = @_;
+
+ my $has_taint = grep { $_ eq "-T" || $_ eq "-t" } @{$switches};
+ return $has_taint ? 1 : 0;
+}
+
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} ) {
+ if ( $class->_has_taint_switch($switches) ) {
+ my @perl5lib = defined $ENV{PERL5LIB} ? split /$Config{path_sep}/, $ENV{PERL5LIB} : ();
return (
$libs,
[ @{$switches},
- $class->_libs2switches($libs),
- split_shell( $ENV{PERL5OPT} )
+ $class->_libs2switches([@$libs, @perl5lib]),
+ defined $ENV{PERL5OPT} ? shellwords( $ENV{PERL5OPT} ) : ()
],
);
}
@@ -200,10 +208,10 @@ sub _filter_libs {
}
sub _iterator_hooks {
- my ( $class, $source, $libs ) = @_;
+ my ( $class, $source, $libs, $switches ) = @_;
my $setup = sub {
- if ( @{$libs} ) {
+ if ( @{$libs} and !$class->_has_taint_switch($switches) ) {
$ENV{PERL5LIB} = join(
$Config{path_sep}, grep {defined} @{$libs},
$ENV{PERL5LIB}
@@ -211,8 +219,8 @@ sub _iterator_hooks {
}
};
- # Cargo culted from comments seen elsewhere about VMS / environment
- # variables. I don't know if this is actually necessary.
+ # VMS environment variables aren't guaranteed to reset at the end of
+ # the process, so we need to put PERL5LIB back.
my $previous = $ENV{PERL5LIB};
my $teardown = sub {
if ( defined $previous ) {
@@ -232,7 +240,7 @@ sub _run {
my @command = $class->_get_command_for_switches( $source, $switches )
or $class->_croak("No command found!");
- my ( $setup, $teardown ) = $class->_iterator_hooks( $source, $libs );
+ my ( $setup, $teardown ) = $class->_iterator_hooks( $source, $libs, $switches );
return $class->_create_iterator( $source, \@command, $setup, $teardown );
}
@@ -333,11 +341,10 @@ Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
package MyPerlSourceHandler;
use strict;
- use vars '@ISA';
use TAP::Parser::SourceHandler::Perl;
- @ISA = qw( TAP::Parser::SourceHandler::Perl );
+ use base 'TAP::Parser::SourceHandler::Perl';
# use the version of perl from the shebang line in the test file
sub get_perl {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm
index 04b4b9c2da1..627a1e1311a 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm
@@ -1,13 +1,12 @@
package TAP::Parser::SourceHandler::RawTAP;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Parser::SourceHandler ();
use TAP::Parser::IteratorFactory ();
use TAP::Parser::Iterator::Array ();
-@ISA = qw(TAP::Parser::SourceHandler);
+use base 'TAP::Parser::SourceHandler';
TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
@@ -17,11 +16,11 @@ TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a scalar/arra
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm
deleted file mode 100644
index 2096b0ec4f1..00000000000
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm
+++ /dev/null
@@ -1,72 +0,0 @@
-package TAP::Parser::Utils;
-
-use strict;
-use Exporter;
-use vars qw($VERSION @ISA @EXPORT_OK);
-
-@ISA = qw( Exporter );
-@EXPORT_OK = qw( split_shell );
-
-=head1 NAME
-
-TAP::Parser::Utils - Internal TAP::Parser utilities
-
-=head1 VERSION
-
-Version 3.26
-
-=cut
-
-$VERSION = '3.26';
-
-=head1 SYNOPSIS
-
- use TAP::Parser::Utils qw( split_shell )
- my @switches = split_shell( $arg );
-
-=head1 DESCRIPTION
-
-B<FOR INTERNAL USE ONLY!>
-
-=head2 INTERFACE
-
-=head3 C<split_shell>
-
-Shell style argument parsing. Handles backslash escaping, single and
-double quoted strings but not shell substitutions.
-
-Pass one or more strings containing shell escaped arguments. The return
-value is an array of arguments parsed from the input strings according
-to (approximate) shell parsing rules. It's legal to pass C<undef> in
-which case an empty array will be returned. That makes it possible to
-
- my @args = split_shell( $ENV{SOME_ENV_VAR} );
-
-without worrying about whether the environment variable exists.
-
-This is used to split HARNESS_PERL_ARGS into individual switches.
-
-=cut
-
-sub split_shell {
- my @parts = ();
-
- for my $switch ( grep defined && length, @_ ) {
- push @parts, $1 while $switch =~ /
- (
- (?: [^\\"'\s]+
- | \\.
- | " (?: \\. | [^"] )* "
- | ' (?: \\. | [^'] )* '
- )+
- ) /xg;
- }
-
- for (@parts) {
- s/ \\(.) | ['"] /defined $1 ? $1 : ''/exg;
- }
-
- return @parts;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
index ac2c455ef3e..8a61a4bfd92 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
@@ -1,12 +1,11 @@
package TAP::Parser::YAMLish::Reader;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
+use base 'TAP::Object';
-@ISA = 'TAP::Object';
-$VERSION = '3.26';
+our $VERSION = '3.30';
# TODO:
# Handle blessed object syntax
@@ -270,7 +269,7 @@ TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
=head1 VERSION
-Version 3.26
+Version 3.30
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
index 9f20fb2c31b..811c190d124 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
@@ -1,12 +1,11 @@
package TAP::Parser::YAMLish::Writer;
use strict;
-use vars qw($VERSION @ISA);
+use warnings;
-use TAP::Object ();
+use base 'TAP::Object';
-@ISA = 'TAP::Object';
-$VERSION = '3.26';
+our $VERSION = '3.30';
my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
my $ESCAPE_KEY = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
@@ -147,7 +146,7 @@ TAP::Parser::YAMLish::Writer - Write YAMLish data
=head1 VERSION
-Version 3.26
+Version 3.30
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/Term/Cap.pm b/Master/tlpkg/tlperl/lib/Term/Cap.pm
index 5430091efda..9a70251270d 100644
--- a/Master/tlpkg/tlperl/lib/Term/Cap.pm
+++ b/Master/tlpkg/tlperl/lib/Term/Cap.pm
@@ -19,7 +19,7 @@ use strict;
use vars qw($VERSION $VMS_TERMCAP);
use vars qw($termpat $state $first $entry);
-$VERSION = '1.13';
+$VERSION = '1.15';
# Version undef: Thu Dec 14 20:02:42 CST 1995 by sanders@bsdi.com
# Version 1.00: Thu Nov 30 23:34:29 EST 2000 by schwern@pobox.com
@@ -59,7 +59,11 @@ $VERSION = '1.13';
# QNX test fix from Matt Kraai <kraai@ftbfs.org>
# Version 1.13: Thu Dec 22 22:21:09 GMT 2011
# POD error fix from Domin Hargreaves <dom@earth.li>
-#
+# Version 1.14 Sat Oct 26 19:16:38 BST 2013
+# Applied all patches from RT and updated contact details
+# Version 1.15 Sat Oct 26 21:32:24 BST 2013
+# Metadata change from David Steinbrunner
+# Forgot to update the email somewhere
# TODO:
# support Berkeley DB termcaps
# force $FH into callers package?
@@ -185,7 +189,7 @@ It takes a hash reference as an argument with two optional keys:
The terminal output bit rate (often mistakenly called the baud rate)
for this terminal - if not set a warning will be generated
-and it will be defaulted to 9600. I<OSPEED> can be be specified as
+and it will be defaulted to 9600. I<OSPEED> can be specified as
either a POSIX termios/SYSV termio speeds (where 9600 equals 9600) or
an old DSD-style speed ( where 13 equals 9600).
@@ -245,7 +249,7 @@ sub Tgetent
}
else
{
- if ( $^O eq 'Win32' )
+ if ( $^O eq 'MSWin32' )
{
$self->{TERM} = 'dumb';
}
@@ -298,6 +302,7 @@ sub Tgetent
$entry = $tmp;
}
};
+ warn "Can't run infocmp to get a termcap entry: $@" if $@;
}
else
{
@@ -478,7 +483,7 @@ It takes three arguments:
The literal string to be output. If it starts with a number and an optional
'*' then the padding will be increased by an amount relative to this number,
-if the '*' is present then this amount will me multiplied by $cnt. This part
+if the '*' is present then this amount will be multiplied by $cnt. This part
of $string is removed before output/
=item B<$cnt>
@@ -681,9 +686,9 @@ sub Tgoto
elsif ( $code eq '>' )
{
( $code, $tmp, $string ) = unpack( "CCa99", $string );
- if ( $tmp[$[] > $code )
+ if ( $tmp[0] > $code )
{
- $tmp[$[] += $tmp;
+ $tmp[0] += $tmp;
}
}
elsif ( $code eq '2' )
@@ -770,7 +775,10 @@ Please see the README file in distribution.
=head1 AUTHOR
This module is part of the core Perl distribution and is also maintained
-for CPAN by Jonathan Stowe <jns@gellyfish.com>.
+for CPAN by Jonathan Stowe <jns@gellyfish.co.uk>.
+
+The code is hosted on Github: https://github.com/jonathanstowe/Term-Cap
+please feel free to fork, submit patches etc, etc there.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
index 1aa19d397ec..80a0d4bac88 100644
--- a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
+++ b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
@@ -203,7 +203,7 @@ use strict;
package Term::ReadLine::Stub;
our @ISA = qw'Term::ReadLine::Tk Term::ReadLine::TermCap';
-$DB::emacs = $DB::emacs; # To peacify -w
+$DB::emacs = $DB::emacs; # To pacify -w
our @rl_term_set;
*rl_term_set = \@Term::ReadLine::TermCap::rl_term_set;
@@ -223,7 +223,7 @@ sub readline {
if (${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}) &&
utf8::valid($str);
print $out $rl_term_set[3];
- # bug in 5.000: chomping empty string creats length -1:
+ # bug in 5.000: chomping empty string creates length -1:
chomp $str if defined $str;
$str;
}
@@ -320,7 +320,7 @@ sub Features { \%features }
package Term::ReadLine; # So late to allow the above code be defined?
-our $VERSION = '1.12';
+our $VERSION = '1.14';
my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef;
if ($which) {
@@ -337,7 +337,7 @@ if ($which) {
} elsif (defined $which and $which ne '') { # Defined but false
# Do nothing fancy
} else {
- eval "use Term::ReadLine::Gnu; 1" or eval "use Term::ReadLine::Perl; 1";
+ eval "use Term::ReadLine::Gnu; 1" or eval "use Term::ReadLine::EditLine; 1" or eval "use Term::ReadLine::Perl; 1";
}
#require FileHandle;
@@ -347,6 +347,8 @@ if ($which) {
our @ISA;
if (defined &Term::ReadLine::Gnu::readline) {
@ISA = qw(Term::ReadLine::Gnu Term::ReadLine::Stub);
+} elsif (defined &Term::ReadLine::EditLine::readline) {
+ @ISA = qw(Term::ReadLine::EditLine Term::ReadLine::Stub);
} elsif (defined &Term::ReadLine::Perl::readline) {
@ISA = qw(Term::ReadLine::Perl Term::ReadLine::Stub);
} elsif (defined $which && defined &{"Term::ReadLine::$which\::readline"}) {
@@ -469,7 +471,7 @@ sub get_line {
if (${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}) &&
utf8::valid($str);
print $out $rl_term_set[3];
- # bug in 5.000: chomping empty string creats length -1:
+ # bug in 5.000: chomping empty string creates length -1:
chomp $str if defined $str;
$str;
diff --git a/Master/tlpkg/tlperl/lib/Term/UI.pm b/Master/tlpkg/tlperl/lib/Term/UI.pm
deleted file mode 100644
index fb335272c07..00000000000
--- a/Master/tlpkg/tlperl/lib/Term/UI.pm
+++ /dev/null
@@ -1,627 +0,0 @@
-package Term::UI;
-
-use if $] > 5.017, 'deprecate';
-
-use Carp;
-use Params::Check qw[check allow];
-use Term::ReadLine;
-use Locale::Maketext::Simple Style => 'gettext';
-use Term::UI::History;
-
-use strict;
-
-BEGIN {
- use vars qw[$VERSION $AUTOREPLY $VERBOSE $INVALID];
- $VERBOSE = 1;
- $VERSION = '0.34';
- $INVALID = loc('Invalid selection, please try again: ');
-}
-
-push @Term::ReadLine::Stub::ISA, __PACKAGE__
- unless grep { $_ eq __PACKAGE__ } @Term::ReadLine::Stub::ISA;
-
-
-=pod
-
-=head1 NAME
-
-Term::UI - Term::ReadLine UI made easy
-
-=head1 SYNOPSIS
-
- use Term::UI;
- use Term::ReadLine;
-
- my $term = Term::ReadLine->new('brand');
-
- my $reply = $term->get_reply(
- prompt => 'What is your favourite colour?',
- choices => [qw|blue red green|],
- default => 'blue',
- );
-
- my $bool = $term->ask_yn(
- prompt => 'Do you like cookies?',
- default => 'y',
- );
-
-
- my $string = q[some_command -option --no-foo --quux='this thing'];
-
- my ($options,$munged_input) = $term->parse_options($string);
-
-
- ### don't have Term::UI issue warnings -- default is '1'
- $Term::UI::VERBOSE = 0;
-
- ### always pick the default (good for non-interactive terms)
- ### -- default is '0'
- $Term::UI::AUTOREPLY = 1;
-
- ### Retrieve the entire session as a printable string:
- $hist = Term::UI::History->history_as_string;
- $hist = $term->history_as_string;
-
-=head1 DESCRIPTION
-
-C<Term::UI> is a transparent way of eliminating the overhead of having
-to format a question and then validate the reply, informing the user
-if the answer was not proper and re-issuing the question.
-
-Simply give it the question you want to ask, optionally with choices
-the user can pick from and a default and C<Term::UI> will DWYM.
-
-For asking a yes or no question, there's even a shortcut.
-
-=head1 HOW IT WORKS
-
-C<Term::UI> places itself at the back of the C<Term::ReadLine>
-C<@ISA> array, so you can call its functions through your term object.
-
-C<Term::UI> uses C<Term::UI::History> to record all interactions
-with the commandline. You can retrieve this history, or alter
-the filehandle the interaction is printed to. See the
-C<Term::UI::History> manpage or the C<SYNOPSIS> for details.
-
-=head1 METHODS
-
-=head2 $reply = $term->get_reply( prompt => 'question?', [choices => \@list, default => $list[0], multi => BOOL, print_me => "extra text to print & record", allow => $ref] );
-
-C<get_reply> asks a user a question, and then returns the reply to the
-caller. If the answer is invalid (more on that below), the question will
-be reposed, until a satisfactory answer has been entered.
-
-You have the option of providing a list of choices the user can pick from
-using the C<choices> argument. If the answer is not in the list of choices
-presented, the question will be reposed.
-
-If you provide a C<default> answer, this will be returned when either
-C<$AUTOREPLY> is set to true, (see the C<GLOBAL VARIABLES> section further
-below), or when the user just hits C<enter>.
-
-You can indicate that the user is allowed to enter multiple answers by
-toggling the C<multi> flag. Note that a list of answers will then be
-returned to you, rather than a simple string.
-
-By specifying an C<allow> hander, you can yourself validate the answer
-a user gives. This can be any of the types that the Params::Check C<allow>
-function allows, so please refer to that manpage for details.
-
-Finally, you have the option of adding a C<print_me> argument, which is
-simply printed before the prompt. It's printed to the same file handle
-as the rest of the questions, so you can use this to keep track of a
-full session of Q&A with the user, and retrieve it later using the
-C<< Term::UI->history_as_string >> function.
-
-See the C<EXAMPLES> section for samples of how to use this function.
-
-=cut
-
-sub get_reply {
- my $term = shift;
- my %hash = @_;
-
- my $tmpl = {
- default => { default => undef, strict_type => 1 },
- prompt => { default => '', strict_type => 1, required => 1 },
- choices => { default => [], strict_type => 1 },
- multi => { default => 0, allow => [0, 1] },
- allow => { default => qr/.*/ },
- print_me => { default => '', strict_type => 1 },
- };
-
- my $args = check( $tmpl, \%hash, $VERBOSE )
- or ( carp( loc(q[Could not parse arguments]) ), return );
-
-
- ### add this to the prompt to indicate the default
- ### answer to the question if there is one.
- my $prompt_add;
-
- ### if you supplied several choices to pick from,
- ### we'll print them separately before the prompt
- if( @{$args->{choices}} ) {
- my $i;
-
- for my $choice ( @{$args->{choices}} ) {
- $i++; # the answer counter -- but humans start counting
- # at 1 :D
-
- ### so this choice is the default? add it to 'prompt_add'
- ### so we can construct a "foo? [DIGIT]" type prompt
- $prompt_add = $i if (defined $args->{default} and $choice eq $args->{default});
-
- ### create a "DIGIT> choice" type line
- $args->{print_me} .= sprintf "\n%3s> %-s", $i, $choice;
- }
-
- ### we listed some choices -- add another newline for
- ### pretty printing
- $args->{print_me} .= "\n" if $i;
-
- ### allowable answers are now equal to the choices listed
- $args->{allow} = $args->{choices};
-
- ### no choices, but a default? set 'prompt_add' to the default
- ### to construct a 'foo? [DEFAULT]' type prompt
- } elsif ( defined $args->{default} ) {
- $prompt_add = $args->{default};
- }
-
- ### we set up the defaults, prompts etc, dispatch to the readline call
- return $term->_tt_readline( %$args, prompt_add => $prompt_add );
-
-}
-
-=head2 $bool = $term->ask_yn( prompt => "your question", [default => (y|1,n|0), print_me => "extra text to print & record"] )
-
-Asks a simple C<yes> or C<no> question to the user, returning a boolean
-indicating C<true> or C<false> to the caller.
-
-The C<default> answer will automatically returned, if the user hits
-C<enter> or if C<$AUTOREPLY> is set to true. See the C<GLOBAL VARIABLES>
-section further below.
-
-Also, you have the option of adding a C<print_me> argument, which is
-simply printed before the prompt. It's printed to the same file handle
-as the rest of the questions, so you can use this to keep track of a
-full session of Q&A with the user, and retrieve it later using the
-C<< Term::UI->history_as_string >> function.
-
-
-See the C<EXAMPLES> section for samples of how to use this function.
-
-=cut
-
-sub ask_yn {
- my $term = shift;
- my %hash = @_;
-
- my $tmpl = {
- default => { default => undef, allow => [qw|0 1 y n|],
- strict_type => 1 },
- prompt => { default => '', required => 1, strict_type => 1 },
- print_me => { default => '', strict_type => 1 },
- multi => { default => 0, no_override => 1 },
- choices => { default => [qw|y n|], no_override => 1 },
- allow => { default => [qr/^y(?:es)?$/i, qr/^n(?:o)?$/i],
- no_override => 1
- },
- };
-
- my $args = check( $tmpl, \%hash, $VERBOSE ) or return undef;
-
- ### uppercase the default choice, if there is one, to be added
- ### to the prompt in a 'foo? [Y/n]' type style.
- my $prompt_add;
- { my @list = @{$args->{choices}};
- if( defined $args->{default} ) {
-
- ### if you supplied the default as a boolean, rather than y/n
- ### transform it to a y/n now
- $args->{default} = $args->{default} =~ /\d/
- ? { 0 => 'n', 1 => 'y' }->{ $args->{default} }
- : $args->{default};
-
- @list = map { lc $args->{default} eq lc $_
- ? uc $args->{default}
- : $_
- } @list;
- }
-
- $prompt_add .= join("/", @list);
- }
-
- my $rv = $term->_tt_readline( %$args, prompt_add => $prompt_add );
-
- return $rv =~ /^y/i ? 1 : 0;
-}
-
-
-
-sub _tt_readline {
- my $term = shift;
- my %hash = @_;
-
- local $Params::Check::VERBOSE = 0; # why is this?
- local $| = 1; # print ASAP
-
-
- my ($default, $prompt, $choices, $multi, $allow, $prompt_add, $print_me);
- my $tmpl = {
- default => { default => undef, strict_type => 1,
- store => \$default },
- prompt => { default => '', strict_type => 1, required => 1,
- store => \$prompt },
- choices => { default => [], strict_type => 1,
- store => \$choices },
- multi => { default => 0, allow => [0, 1], store => \$multi },
- allow => { default => qr/.*/, store => \$allow, },
- prompt_add => { default => '', store => \$prompt_add },
- print_me => { default => '', store => \$print_me },
- };
-
- check( $tmpl, \%hash, $VERBOSE ) or return;
-
- ### prompts for Term::ReadLine can't be longer than one line, or
- ### it can display wonky on some terminals.
- history( $print_me ) if $print_me;
-
-
- if ($prompt_add) {
- ### we might have to add a default value to the prompt, to
- ### show the user what will be picked by default:
- $prompt .= " [$prompt_add]: " ;
- }
- else {
- $prompt .= " : ";
- }
-
-
- ### are we in autoreply mode?
- if ($AUTOREPLY) {
-
- ### you used autoreply, but didnt provide a default!
- carp loc(
- q[You have '%1' set to true, but did not provide a default!],
- '$AUTOREPLY'
- ) if( !defined $default && $VERBOSE);
-
- ### print it out for visual feedback
- history( join ' ', grep { defined } $prompt, $default );
-
- ### and return the default
- return $default;
- }
-
-
- ### so, no AUTOREPLY, let's see what the user will answer
- LOOP: {
-
- ### annoying bug in T::R::Perl that mucks up lines with a \n
- ### in them; So split by \n, save the last line as the prompt
- ### and just print the rest
- { my @lines = split "\n", $prompt;
- $prompt = pop @lines;
-
- history( "$_\n" ) for @lines;
- }
-
- ### pose the question
- my $answer = $term->readline($prompt);
- $answer = $default unless length $answer;
-
- $term->addhistory( $answer ) if length $answer;
-
- ### add both prompt and answer to the history
- history( "$prompt $answer", 0 );
-
- ### if we're allowed to give multiple answers, split
- ### the answer on whitespace
- my @answers = $multi ? split(/\s+/, $answer) : $answer;
-
- ### the return value list
- my @rv;
-
- if( @$choices ) {
-
- for my $answer (@answers) {
-
- ### a digit implies a multiple choice question,
- ### a non-digit is an open answer
- if( $answer =~ /\D/ ) {
- push @rv, $answer if allow( $answer, $allow );
- } else {
-
- ### remember, the answer digits are +1 compared to
- ### the choices, because humans want to start counting
- ### at 1, not at 0
- push @rv, $choices->[ $answer - 1 ]
- if $answer > 0 && defined $choices->[ $answer - 1];
- }
- }
-
- ### no fixed list of choices.. just check if the answers
- ### (or otherwise the default!) pass the allow handler
- } else {
- push @rv, grep { allow( $_, $allow ) }
- scalar @answers ? @answers : ($default);
- }
-
- ### if not all the answers made it to the return value list,
- ### at least one of them was an invalid answer -- make the
- ### user do it again
- if( (@rv != @answers) or
- (scalar(@$choices) and not scalar(@answers))
- ) {
- $prompt = $INVALID;
- $prompt .= "[$prompt_add] " if $prompt_add;
- redo LOOP;
-
- ### otherwise just return the answer, or answers, depending
- ### on the multi setting
- } else {
- return $multi ? @rv : $rv[0];
- }
- }
-}
-
-=head2 ($opts, $munged) = $term->parse_options( STRING );
-
-C<parse_options> will convert all options given from an input string
-to a hash reference. If called in list context it will also return
-the part of the input string that it found no options in.
-
-Consider this example:
-
- my $str = q[command --no-foo --baz --bar=0 --quux=bleh ] .
- q[--option="some'thing" -one-dash -single=blah' arg];
-
- my ($options,$munged) = $term->parse_options($str);
-
- ### $options would contain: ###
- $options = {
- 'foo' => 0,
- 'bar' => 0,
- 'one-dash' => 1,
- 'baz' => 1,
- 'quux' => 'bleh',
- 'single' => 'blah\'',
- 'option' => 'some\'thing'
- };
-
- ### and this is the munged version of the input string,
- ### ie what's left of the input minus the options
- $munged = 'command arg';
-
-As you can see, you can either use a single or a double C<-> to
-indicate an option.
-If you prefix an option with C<no-> and do not give it a value, it
-will be set to 0.
-If it has no prefix and no value, it will be set to 1.
-Otherwise, it will be set to its value. Note also that it can deal
-fine with single/double quoting issues.
-
-=cut
-
-sub parse_options {
- my $term = shift;
- my $input = shift;
-
- my $return = {};
-
- ### there's probably a more elegant way to do this... ###
- while ( $input =~ s/(?:^|\s+)--?([-\w]+=("|').+?\2)(?=\Z|\s+)// or
- $input =~ s/(?:^|\s+)--?([-\w]+=\S+)(?=\Z|\s+)// or
- $input =~ s/(?:^|\s+)--?([-\w]+)(?=\Z|\s+)//
- ) {
- my $match = $1;
-
- if( $match =~ /^([-\w]+)=("|')(.+?)\2$/ ) {
- $return->{$1} = $3;
-
- } elsif( $match =~ /^([-\w]+)=(\S+)$/ ) {
- $return->{$1} = $2;
-
- } elsif( $match =~ /^no-?([-\w]+)$/i ) {
- $return->{$1} = 0;
-
- } elsif ( $match =~ /^([-\w]+)$/ ) {
- $return->{$1} = 1;
-
- } else {
- carp(loc(q[I do not understand option "%1"\n], $match)) if $VERBOSE;
- }
- }
-
- return wantarray ? ($return,$input) : $return;
-}
-
-=head2 $str = $term->history_as_string
-
-Convenience wrapper around C<< Term::UI::History->history_as_string >>.
-
-Consult the C<Term::UI::History> man page for details.
-
-=cut
-
-sub history_as_string { return Term::UI::History->history_as_string };
-
-1;
-
-=head1 GLOBAL VARIABLES
-
-The behaviour of Term::UI can be altered by changing the following
-global variables:
-
-=head2 $Term::UI::VERBOSE
-
-This controls whether Term::UI will issue warnings and explanations
-as to why certain things may have failed. If you set it to 0,
-Term::UI will not output any warnings.
-The default is 1;
-
-=head2 $Term::UI::AUTOREPLY
-
-This will make every question be answered by the default, and warn if
-there was no default provided. This is particularly useful if your
-program is run in non-interactive mode.
-The default is 0;
-
-=head2 $Term::UI::INVALID
-
-This holds the string that will be printed when the user makes an
-invalid choice.
-You can override this string from your program if you, for example,
-wish to do localization.
-The default is C<Invalid selection, please try again: >
-
-=head2 $Term::UI::History::HISTORY_FH
-
-This is the filehandle all the print statements from this module
-are being sent to. Please consult the C<Term::UI::History> manpage
-for details.
-
-This defaults to C<*STDOUT>.
-
-=head1 EXAMPLES
-
-=head2 Basic get_reply sample
-
- ### 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?
-
-and C<$reply> would hold the text the user typed.
-
-=head2 get_reply with choices
-
- ### now provide a list of choices, so the user has to pick one
- $reply = $term->get_reply(
- prompt => 'Your favourite colour?',
- choices => [qw|red green blue|] );
-
-which would look like:
-
- 1> red
- 2> green
- 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>
-variable (see the C<GLOBAL VARIABLES> section for details.
-
-=head2 get_reply with choices and default
-
- ### provide a sensible default option -- everyone loves blue!
- $reply = $term->get_reply(
- prompt => 'Your favourite colour?',
- choices => [qw|red green blue|],
- default => 'blue' );
-
-which would look like:
-
- 1> red
- 2> green
- 3> blue
-
- Your favourite colour? [3]:
-
-Note the default answer after the prompt. A user can now just hit C<enter>
-(or set C<$Term::UI::AUTOREPLY> -- see the C<GLOBAL VARIABLES> section) and
-the sensible answer 'blue' will be returned.
-
-=head2 get_reply using print_me & multi
-
- ### allow the user to pick more than one colour and add an
- ### introduction text
- @reply = $term->get_reply(
- print_me => 'Tell us what colours you like',
- prompt => 'Your favourite colours?',
- choices => [qw|red green blue|],
- multi => 1 );
-
-which would look like:
-
- Tell us what colours you like
- 1> red
- 2> green
- 3> blue
-
- Your favourite colours?
-
-An answer of C<3 2 1> would fill C<@reply> with C<blue green red>
-
-=head2 get_reply & allow
-
- ### pose an open question, but do a custom verification on
- ### the answer, which will only exit the question loop, if
- ### the answer matches the allow handler.
- $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
-C<Params::Check>'s C<allow> function. Check its manpage for details.
-
-=head2 an elaborate ask_yn sample
-
- ### ask a user if he likes cookies. Default to a sensible 'yes'
- ### and inform him first what cookies are.
- $bool = $term->ask_yn( prompt => 'Do you like cookies?',
- default => 'y',
- print_me => 'Cookies are LOVELY!!!' );
-
-would print:
-
- Cookies are LOVELY!!!
- Do you like cookies? [Y/n]:
-
-If a user then simply hits C<enter>, agreeing with the default,
-C<$bool> would be set to C<true>. (Simply hitting 'y' would also
-return C<true>. Hitting 'n' would return C<false>)
-
-We could later retrieve this interaction by printing out the Q&A
-history as follows:
-
- print $term->history_as_string;
-
-which would then print:
-
- Cookies are LOVELY!!!
- Do you like cookies? [Y/n]: y
-
-There's a chance we're doing this non-interactively, because a console
-is missing, the user indicated he just wanted the defaults, etc.
-
-In this case, simply setting C<$Term::UI::AUTOREPLY> to true, will
-return from every question with the default answer set for the question.
-Do note that if C<AUTOREPLY> is true, and no default is set, C<Term::UI>
-will warn about this and return C<undef>.
-
-=head1 See Also
-
-C<Params::Check>, C<Term::ReadLine>, C<Term::UI::History>
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-term-ui@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-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/Term/UI/History.pm b/Master/tlpkg/tlperl/lib/Term/UI/History.pm
deleted file mode 100644
index 6da99ed5aaf..00000000000
--- a/Master/tlpkg/tlperl/lib/Term/UI/History.pm
+++ /dev/null
@@ -1,139 +0,0 @@
-package Term::UI::History;
-
-use strict;
-use base 'Exporter';
-use base 'Log::Message::Simple';
-
-=pod
-
-=head1 NAME
-
-Term::UI::History - history function
-
-=head1 SYNOPSIS
-
- use Term::UI::History qw[history];
-
- history("Some message");
-
- ### retrieve the history in printable form
- $hist = Term::UI::History->history_as_string;
-
- ### redirect output
- local $Term::UI::History::HISTORY_FH = \*STDERR;
-
-=head1 DESCRIPTION
-
-This module provides the C<history> function for C<Term::UI>,
-printing and saving all the C<UI> interaction.
-
-Refer to the C<Term::UI> manpage for details on usage from
-C<Term::UI>.
-
-This module subclasses C<Log::Message::Simple>. Refer to its
-manpage for additional functionality available via this package.
-
-=head1 FUNCTIONS
-
-=head2 history("message string" [,VERBOSE])
-
-Records a message on the stack, and prints it to C<STDOUT>
-(or actually C<$HISTORY_FH>, see the C<GLOBAL VARIABLES> section
-below), if the C<VERBOSE> option is true.
-
-The C<VERBOSE> option defaults to true.
-
-=cut
-
-BEGIN {
- use Log::Message private => 0;
-
- use vars qw[ @EXPORT $HISTORY_FH ];
- @EXPORT = qw[ history ];
- my $log = new Log::Message;
- $HISTORY_FH = \*STDOUT;
-
- for my $func ( @EXPORT ) {
- no strict 'refs';
-
- *$func = sub { my $msg = shift;
- $log->store(
- message => $msg,
- tag => uc $func,
- level => $func,
- extra => [@_]
- );
- };
- }
-
- sub history_as_string {
- my $class = shift;
-
- return join $/, map { $_->message } __PACKAGE__->stack;
- }
-}
-
-
-{
- package # hide this from PAUSE
- Log::Message::Handlers;
-
- sub history {
- my $self = shift;
- my $verbose = shift;
- $verbose = 1 unless defined $verbose; # default to true
-
- ### so you don't want us to print the msg? ###
- return if defined $verbose && $verbose == 0;
-
- local $| = 1;
- my $old_fh = select $Term::UI::History::HISTORY_FH;
-
- print $self->message . "\n";
- select $old_fh;
-
- return;
- }
-}
-
-
-=head1 GLOBAL VARIABLES
-
-=over 4
-
-=item $HISTORY_FH
-
-This is the filehandle all the messages sent to C<history()> are being
-printed. This defaults to C<*STDOUT>.
-
-=back
-
-=head1 See Also
-
-C<Log::Message::Simple>, C<Term::UI>
-
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-This module is
-copyright (c) 2005 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.
-
-=cut
-
-1;
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder.pm b/Master/tlpkg/tlperl/lib/Test/Builder.pm
index cb4335f5ceb..061b0fc5a63 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.98';
+our $VERSION = '1.001002';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
BEGIN {
@@ -147,6 +147,20 @@ sub create {
return $self;
}
+
+# Copy an object, currently a shallow.
+# This does *not* bless the destination. This keeps the destructor from
+# firing when we're just storing a copy of the object to restore later.
+sub _copy {
+ my($src, $dest) = @_;
+
+ %$dest = %$src;
+ _share_keys($dest);
+
+ return;
+}
+
+
=item B<child>
my $child = $builder->child($name_of_child);
@@ -179,15 +193,20 @@ sub child {
# Clear $TODO for the child.
my $orig_TODO = $self->find_TODO(undef, 1, undef);
- my $child = bless {}, ref $self;
- $child->reset;
+ my $class = ref $self;
+ my $child = $class->create;
# 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};
+
+ # Make the child use the same outputs as the parent
+ for my $method (qw(output failure_output todo_output)) {
+ $child->$method( $self->$method );
+ }
+
+ # Ensure the child understands if they're inside a TODO
+ if( $parent_in_todo ) {
+ $child->failure_output( $self->todo_output );
}
# This will be reset in finalize. We do this here lest one child failure
@@ -220,17 +239,22 @@ 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($error, $child, %parent);
+ my $error;
+ my $child;
+ my $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;
+ # Store the guts of $self as $parent and turn $child into $self.
$child = $self->child($name);
- %parent = %$self;
- %$self = %$child;
+ _copy($self, $parent);
+ _copy($child, $self);
my $run_the_subtests = sub {
+ # Add subtest name for clarification of starting point
+ $self->note("Subtest: $name");
$subtests->();
$self->done_testing unless $self->_plan_handled;
1;
@@ -242,8 +266,8 @@ sub subtest {
}
# Restore the parent and the copied child.
- %$child = %$self;
- %$self = %parent;
+ _copy($self, $child);
+ _copy($parent, $self);
# Restore the parent's $TODO
$self->find_TODO(undef, 1, $child->{Parent_TODO});
@@ -252,7 +276,11 @@ sub subtest {
die $error if $error and !eval { $error->isa('Test::Builder::Exception') };
local $Test::Builder::Level = $Test::Builder::Level + 1;
- return $child->finalize;
+ my $finalize = $child->finalize;
+
+ $self->BAIL_OUT($child->{Bailed_Out_Reason}) if $child->{Bailed_Out};
+
+ return $finalize;
}
=begin _private
@@ -322,14 +350,16 @@ sub finalize {
local $Test::Builder::Level = $Test::Builder::Level + 1;
my $ok = 1;
$self->parent->{Child_Name} = undef;
- if ( $self->{Skip_All} ) {
- $self->parent->skip($self->{Skip_All});
- }
- elsif ( not @{ $self->{Test_Results} } ) {
- $self->parent->ok( 0, sprintf q[No tests run for subtest "%s"], $self->name );
- }
- else {
- $self->parent->ok( $self->is_passing, $self->name );
+ unless ($self->{Bailed_Out}) {
+ if ( $self->{Skip_All} ) {
+ $self->parent->skip($self->{Skip_All});
+ }
+ elsif ( not @{ $self->{Test_Results} } ) {
+ $self->parent->ok( 0, sprintf q[No tests run for subtest "%s"], $self->name );
+ }
+ else {
+ $self->parent->ok( $self->is_passing, $self->name );
+ }
}
$? = $self->{Child_Error};
delete $self->{Parent};
@@ -415,7 +445,6 @@ sub reset { ## no critic (Subroutines::ProhibitBuiltinHomonyms)
$self->{Child_Name} = undef;
$self->{Indent} ||= '';
- share( $self->{Curr_Test} );
$self->{Curr_Test} = 0;
$self->{Test_Results} = &share( [] );
@@ -434,11 +463,25 @@ sub reset { ## no critic (Subroutines::ProhibitBuiltinHomonyms)
$self->{Start_Todo} = 0;
$self->{Opened_Testhandles} = 0;
+ $self->_share_keys;
$self->_dup_stdhandles;
return;
}
+
+# Shared scalar values are lost when a hash is copied, so we have
+# a separate method to restore them.
+# Shared references are retained across copies.
+sub _share_keys {
+ my $self = shift;
+
+ share( $self->{Curr_Test} );
+
+ return;
+}
+
+
=back
=head2 Setting up tests
@@ -633,7 +676,7 @@ Or to plan a variable number of tests:
for my $test (@tests) {
$Test->ok($test);
}
- $Test->done_testing(@tests);
+ $Test->done_testing(scalar @tests);
=cut
@@ -915,7 +958,7 @@ sub _is_dualvar {
no warnings 'numeric';
my $numval = $val + 0;
- return $numval != 0 and $numval ne $val ? 1 : 0;
+ return ($numval != 0 and $numval ne $val ? 1 : 0);
}
=item B<is_eq>
@@ -1065,38 +1108,38 @@ sub isnt_num {
=item B<like>
- $Test->like($this, qr/$regex/, $name);
- $Test->like($this, '/$regex/', $name);
+ $Test->like($thing, qr/$regex/, $name);
+ $Test->like($thing, '/$regex/', $name);
-Like Test::More's C<like()>. Checks if $this matches the given C<$regex>.
+Like Test::More's C<like()>. Checks if $thing matches the given C<$regex>.
=item B<unlike>
- $Test->unlike($this, qr/$regex/, $name);
- $Test->unlike($this, '/$regex/', $name);
+ $Test->unlike($thing, qr/$regex/, $name);
+ $Test->unlike($thing, '/$regex/', $name);
-Like Test::More's C<unlike()>. Checks if $this B<does not match> the
+Like Test::More's C<unlike()>. Checks if $thing B<does not match> the
given C<$regex>.
=cut
sub like {
- my( $self, $this, $regex, $name ) = @_;
+ my( $self, $thing, $regex, $name ) = @_;
local $Level = $Level + 1;
- return $self->_regex_ok( $this, $regex, '=~', $name );
+ return $self->_regex_ok( $thing, $regex, '=~', $name );
}
sub unlike {
- my( $self, $this, $regex, $name ) = @_;
+ my( $self, $thing, $regex, $name ) = @_;
local $Level = $Level + 1;
- return $self->_regex_ok( $this, $regex, '!~', $name );
+ return $self->_regex_ok( $thing, $regex, '!~', $name );
}
=item B<cmp_ok>
- $Test->cmp_ok($this, $type, $that, $name);
+ $Test->cmp_ok($thing, $type, $that, $name);
Works just like Test::More's C<cmp_ok()>.
@@ -1106,9 +1149,16 @@ Works just like Test::More's C<cmp_ok()>.
my %numeric_cmps = map { ( $_, 1 ) } ( "<", "<=", ">", ">=", "==", "!=", "<=>" );
+# Bad, these are not comparison operators. Should we include more?
+my %cmp_ok_bl = map { ( $_, 1 ) } ( "=", "+=", ".=", "x=", "^=", "|=", "||=", "&&=", "...");
+
sub cmp_ok {
my( $self, $got, $type, $expect, $name ) = @_;
+ if ($cmp_ok_bl{$type}) {
+ $self->croak("$type is not a valid comparison operator in cmp_ok()");
+ }
+
my $test;
my $error;
{
@@ -1208,6 +1258,13 @@ sub BAIL_OUT {
my( $self, $reason ) = @_;
$self->{Bailed_Out} = 1;
+
+ if ($self->parent) {
+ $self->{Bailed_Out_Reason} = $reason;
+ $self->no_ending(1);
+ die bless {} => 'Test::Builder::Exception';
+ }
+
$self->_print("Bail out! $reason");
exit 255;
}
@@ -1343,11 +1400,11 @@ For example, a version of C<like()>, sans the useful diagnostic messages,
could be written as:
sub laconic_like {
- my ($self, $this, $regex, $name) = @_;
+ my ($self, $thing, $regex, $name) = @_;
my $usable_regex = $self->maybe_regex($regex);
die "expecting regex, found '$regex'\n"
unless $usable_regex;
- $self->ok($this =~ m/$usable_regex/, $name);
+ $self->ok($thing =~ m/$usable_regex/, $name);
}
=cut
@@ -1385,7 +1442,7 @@ sub _is_qr {
}
sub _regex_ok {
- my( $self, $this, $regex, $cmp, $name ) = @_;
+ my( $self, $thing, $regex, $cmp, $name ) = @_;
my $ok = 0;
my $usable_regex = $self->maybe_regex($regex);
@@ -1397,14 +1454,19 @@ sub _regex_ok {
}
{
- ## no critic (BuiltinFunctions::ProhibitStringyEval)
-
my $test;
my $context = $self->_caller_context;
- local( $@, $!, $SIG{__DIE__} ); # isolate eval
+ {
+ ## no critic (BuiltinFunctions::ProhibitStringyEval)
+
+ local( $@, $!, $SIG{__DIE__} ); # isolate eval
+
+ # No point in issuing an uninit warning, they'll see it in the diagnostics
+ no warnings 'uninitialized';
- $test = eval $context . q{$test = $this =~ /$usable_regex/ ? 1 : 0};
+ $test = eval $context . q{$test = $thing =~ /$usable_regex/ ? 1 : 0};
+ }
$test = !$test if $cmp eq '!~';
@@ -1413,11 +1475,11 @@ sub _regex_ok {
}
unless($ok) {
- $this = defined $this ? "'$this'" : 'undef';
+ $thing = defined $thing ? "'$thing'" : 'undef';
my $match = $cmp eq '=~' ? "doesn't match" : "matches";
local $Level = $Level + 1;
- $self->diag( sprintf <<'DIAGNOSTIC', $this, $match, $regex );
+ $self->diag( sprintf <<'DIAGNOSTIC', $thing, $match, $regex );
%s
%13s '%s'
DIAGNOSTIC
@@ -2402,6 +2464,26 @@ sub _ending {
if( !$self->{Have_Plan} and $self->{Curr_Test} ) {
$self->is_passing(0);
$self->diag("Tests were run but no plan was declared and done_testing() was not seen.");
+
+ if($real_exit_code) {
+ $self->diag(<<"FAIL");
+Looks like your test exited with $real_exit_code just after $self->{Curr_Test}.
+FAIL
+ $self->is_passing(0);
+ _my_exit($real_exit_code) && return;
+ }
+
+ # But if the tests ran, handle exit code.
+ my $test_results = $self->{Test_Results};
+ if(@$test_results) {
+ my $num_failed = grep !$_->{'ok'}, @{$test_results}[ 0 .. $self->{Curr_Test} - 1 ];
+ if ($num_failed > 0) {
+
+ my $exit_code = $num_failed <= 254 ? $num_failed : 254;
+ _my_exit($exit_code) && return;
+ }
+ }
+ _my_exit(254) && return;
}
# Exit if plan() was never called. This is so "require Test::Simple"
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
index 12a1e61bc2e..48e9ea8f748 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
@@ -2,12 +2,12 @@ package Test::Builder::Module;
use strict;
-use Test::Builder;
+use Test::Builder 0.99;
require Exporter;
our @ISA = qw(Exporter);
-our $VERSION = '0.98';
+our $VERSION = '1.001002';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
index 793139f795f..49a42cead16 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
@@ -1,9 +1,9 @@
package Test::Builder::Tester;
use strict;
-our $VERSION = "1.22";
+our $VERSION = "1.23_002";
-use Test::Builder;
+use Test::Builder 0.98;
use Symbol;
use Carp;
@@ -98,15 +98,13 @@ my $err = tie *$error_handle, "Test::Builder::Tester::Tie", "STDERR";
# for remembering that we're testing and where we're testing at
my $testing = 0;
my $testing_num;
+my $original_is_passing;
# remembering where the file handles were originally connected
my $original_output_handle;
my $original_failure_handle;
my $original_todo_handle;
-my $original_test_number;
-my $original_harness_state;
-
my $original_harness_env;
# function that starts testing and redirects the filehandles for now
@@ -134,6 +132,8 @@ sub _start_testing {
$testing = 1;
$testing_num = $t->current_test;
$t->current_test(0);
+ $original_is_passing = $t->is_passing;
+ $t->is_passing(1);
# look, we shouldn't do the ending stuff
$t->no_ending(1);
@@ -222,7 +222,7 @@ sub test_fail {
$line = $line + ( shift() || 0 ); # prevent warnings
# expect that on stderr
- $err->expect("# Failed test ($0 at line $line)");
+ $err->expect("# Failed test ($filename at line $line)");
}
=item test_diag
@@ -268,7 +268,7 @@ sub test_diag {
Actually performs the output check testing the tests, comparing the
data (with C<eq>) that we have captured from B<Test::Builder> against
-that that was declared with C<test_out> and C<test_err>.
+what was declared with C<test_out> and C<test_err>.
This takes name/value pairs that effect how the test is run.
@@ -329,6 +329,7 @@ sub test_test {
# restore the test no, etc, back to the original point
$t->current_test($testing_num);
$testing = 0;
+ $t->is_passing($original_is_passing);
# re-enable the original setting of the harness
$ENV{HARNESS_ACTIVE} = $original_harness_env;
@@ -435,7 +436,7 @@ L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Builder-Tester>
Copyright Mark Fowler E<lt>mark@twoshortplanks.comE<gt> 2002, 2004.
-Some code taken from B<Test::More> and B<Test::Catch>, written by by
+Some code taken from B<Test::More> and B<Test::Catch>, written by
Michael G Schwern E<lt>schwern@pobox.comE<gt>. Hence, those parts
Copyright Micheal G Schwern 2001. Used and distributed with
permission.
@@ -469,11 +470,19 @@ sub expect {
my @checks = @_;
foreach my $check (@checks) {
+ $check = $self->_account_for_subtest($check);
$check = $self->_translate_Failed_check($check);
push @{ $self->{wanted} }, ref $check ? $check : "$check\n";
}
}
+sub _account_for_subtest {
+ my( $self, $check ) = @_;
+
+ # Since we ship with Test::Builder, calling a private method is safe...ish.
+ return ref($check) ? $check : $t->_indent . $check;
+}
+
sub _translate_Failed_check {
my( $self, $check ) = @_;
@@ -511,7 +520,7 @@ sub complaint {
my $self = shift;
my $type = $self->type;
my $got = $self->got;
- my $wanted = join "\n", @{ $self->wanted };
+ my $wanted = join '', @{ $self->wanted };
# are we running in colour mode?
if(Test::Builder::Tester::color) {
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm
index 9fb6cf15a8d..b269a2783d8 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.22";
+our $VERSION = "1.23_002";
require Test::Builder::Tester;
diff --git a/Master/tlpkg/tlperl/lib/Test/Harness.pm b/Master/tlpkg/tlperl/lib/Test/Harness.pm
index fe11d1432ad..aa54574b44c 100644
--- a/Master/tlpkg/tlperl/lib/Test/Harness.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Harness.pm
@@ -1,8 +1,9 @@
package Test::Harness;
-require 5.00405;
+use 5.006;
use strict;
+use warnings;
use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
use constant IS_VMS => ( $^O eq 'VMS' );
@@ -12,32 +13,16 @@ use TAP::Parser::Aggregator ();
use TAP::Parser::Source ();
use TAP::Parser::SourceHandler::Perl ();
-use TAP::Parser::Utils qw( split_shell );
+use Text::ParseWords qw(shellwords);
use Config;
-use Exporter;
-
-# TODO: Emulate at least some of these
-use vars qw(
- $VERSION
- @ISA @EXPORT @EXPORT_OK
- $Verbose $Switches $Debug
- $verbose $switches $debug
- $Columns
- $Color
- $Directives
- $Timer
- $Strap
- $HarnessSubclass
- $has_time_hires
- $IgnoreExit
-);
+use base 'Exporter';
# $ML $Last_ML_Print
BEGIN {
eval q{use Time::HiRes 'time'};
- $has_time_hires = !$@;
+ our $has_time_hires = !$@;
}
=head1 NAME
@@ -46,11 +31,11 @@ Test::Harness - Run Perl standard test scripts with statistics
=head1 VERSION
-Version 3.26
+Version 3.30
=cut
-$VERSION = '3.26';
+our $VERSION = '3.30';
# Backwards compatibility for exportable variable names.
*verbose = *Verbose;
@@ -67,18 +52,17 @@ END {
delete $ENV{HARNESS_VERSION};
}
-@ISA = ('Exporter');
-@EXPORT = qw(&runtests);
-@EXPORT_OK = qw(&execute_tests $verbose $switches);
+our @EXPORT = qw(&runtests);
+our @EXPORT_OK = qw(&execute_tests $verbose $switches);
-$Verbose = $ENV{HARNESS_VERBOSE} || 0;
-$Debug = $ENV{HARNESS_DEBUG} || 0;
-$Switches = '';
-$Columns = $ENV{HARNESS_COLUMNS} || $ENV{COLUMNS} || 80;
+our $Verbose = $ENV{HARNESS_VERBOSE} || 0;
+our $Debug = $ENV{HARNESS_DEBUG} || 0;
+our $Switches = '-w';
+our $Columns = $ENV{HARNESS_COLUMNS} || $ENV{COLUMNS} || 80;
$Columns--; # Some shells have trouble with a full line of text.
-$Timer = $ENV{HARNESS_TIMER} || 0;
-$Color = $ENV{HARNESS_COLOR} || 0;
-$IgnoreExit = $ENV{HARNESS_IGNORE_EXIT} || 0;
+our $Timer = $ENV{HARNESS_TIMER} || 0;
+our $Color = $ENV{HARNESS_COLOR} || 0;
+our $IgnoreExit = $ENV{HARNESS_IGNORE_EXIT} || 0;
=head1 SYNOPSIS
@@ -209,7 +193,7 @@ sub _new_harness {
my $sub_args = shift || {};
my ( @lib, @switches );
- my @opt = split_shell( $Switches, $ENV{HARNESS_PERL_SWITCHES} );
+ my @opt = map { shellwords($_) } grep { defined } $Switches, $ENV{HARNESS_PERL_SWITCHES};
while ( my $opt = shift @opt ) {
if ( $opt =~ /^ -I (.*) $ /x ) {
push @lib, length($1) ? $1 : shift @opt;
@@ -227,7 +211,7 @@ sub _new_harness {
my $args = {
timer => $Timer,
- directives => $Directives,
+ directives => our $Directives,
lib => \@lib,
switches => \@switches,
color => $Color,
@@ -519,6 +503,17 @@ This is the version of C<Test::Harness>.
=over 4
+=item C<HARNESS_PERL_SWITCHES>
+
+Setting this adds perl command line switches to each test file run.
+
+For example, C<HARNESS_PERL_SWITCHES=-T> will turn on taint mode.
+C<HARNESS_PERL_SWITCHES=-MDevel::Cover> will run C<Devel::Cover> for
+each test.
+
+C<-w> is always set. You can turn this off in the test with C<BEGIN {
+$^W = 0 }>.
+
=item C<HARNESS_TIMER>
Setting this to true will make the harness display the number of
@@ -565,6 +560,16 @@ Multiple options may be separated by colons:
Specifies a TAP::Harness subclass to be used in place of TAP::Harness.
+=item C<HARNESS_SUMMARY_COLOR_SUCCESS>
+
+Determines the L<Term::ANSIColor> for the summary in case it is successful.
+This color defaults to C<'green'>.
+
+=item C<HARNESS_SUMMARY_COLOR_FAIL>
+
+Determines the L<Term::ANSIColor> for the failure in case it is successful.
+This color defaults to C<'red'>.
+
=back
=head1 Taint Mode
diff --git a/Master/tlpkg/tlperl/lib/Test/More.pm b/Master/tlpkg/tlperl/lib/Test/More.pm
index c1f5bf1d151..50f3e39b0ea 100644
--- a/Master/tlpkg/tlperl/lib/Test/More.pm
+++ b/Master/tlpkg/tlperl/lib/Test/More.pm
@@ -17,10 +17,10 @@ sub _carp {
return warn @_, " at $file line $line\n";
}
-our $VERSION = '0.98';
+our $VERSION = '1.001002';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
-use Test::Builder::Module;
+use Test::Builder::Module 0.99;
our @ISA = qw(Test::Builder::Module);
our @EXPORT = qw(ok use_ok require_ok
is isnt like unlike is_deeply
@@ -49,7 +49,6 @@ Test::More - yet another framework for writing test scripts
# or
use Test::More; # see done_testing()
- BEGIN { use_ok( 'Some::Module' ); }
require_ok( 'Some::Module' );
# Various ways to say "ok"
@@ -269,7 +268,7 @@ For example:
ok( $exp{9} == 81, 'simple exponential' );
ok( Film->can('db_Main'), 'set_db()' );
ok( $p->tests == 4, 'saw tests' );
- ok( !grep !defined $_, @items, 'items populated' );
+ ok( !grep(!defined $_, @items), 'all items defined' );
(Mnemonic: "This is ok.")
@@ -318,7 +317,7 @@ are similar to these:
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:
+against C<undef> like this:
is($not_defined, undef, "undefined as expected");
@@ -397,7 +396,7 @@ So this:
is similar to:
- ok( $got =~ /expected/, 'this is like that');
+ ok( $got =~ m/expected/, 'this is like that');
(Mnemonic "This is like that".)
@@ -440,8 +439,9 @@ sub unlike ($$;$) {
cmp_ok( $got, $op, $expected, $test_name );
-Halfway between ok() and is() lies cmp_ok(). This allows you to
-compare two arguments using any binary perl operator.
+Halfway between C<ok()> and C<is()> lies C<cmp_ok()>. This allows you
+to compare two arguments using any binary perl operator. The test
+passes if the comparison is true and fails otherwise.
# ok( $got eq $expected );
cmp_ok( $got, 'eq', $expected, 'this eq that' );
@@ -577,59 +577,81 @@ you'd like them to be more specific, you can supply an $object_name
=cut
sub isa_ok ($$;$) {
- my( $object, $class, $obj_name ) = @_;
+ my( $thing, $class, $thing_name ) = @_;
my $tb = Test::More->builder;
- my $diag;
+ my $whatami;
+ if( !defined $thing ) {
+ $whatami = 'undef';
+ }
+ elsif( ref $thing ) {
+ $whatami = 'reference';
- if( !defined $object ) {
- $obj_name = 'The thing' unless defined $obj_name;
- $diag = "$obj_name isn't defined";
+ local($@,$!);
+ require Scalar::Util;
+ if( Scalar::Util::blessed($thing) ) {
+ $whatami = 'object';
+ }
}
else {
- my $whatami = ref $object ? 'object' : 'class';
- # We can't use UNIVERSAL::isa because we want to honor isa() overrides
- my( $rslt, $error ) = $tb->_try( sub { $object->isa($class) } );
- if($error) {
- if( $error =~ /^Can't call method "isa" on unblessed reference/ ) {
- # Its an unblessed reference
- $obj_name = 'The reference' unless defined $obj_name;
- if( !UNIVERSAL::isa( $object, $class ) ) {
- my $ref = ref $object;
- $diag = "$obj_name isn't a '$class' it's a '$ref'";
- }
- }
- elsif( $error =~ /Can't call method "isa" without a package/ ) {
- # It's something that can't even be a class
- $obj_name = 'The thing' unless defined $obj_name;
- $diag = "$obj_name isn't a class or reference";
- }
- else {
- die <<WHOA;
+ $whatami = 'class';
+ }
+
+ # We can't use UNIVERSAL::isa because we want to honor isa() overrides
+ my( $rslt, $error ) = $tb->_try( sub { $thing->isa($class) } );
+
+ if($error) {
+ die <<WHOA unless $error =~ /^Can't (locate|call) method "isa"/;
WHOA! I tried to call ->isa on your $whatami and got some weird error.
Here's the error.
$error
WHOA
- }
- }
- else {
- $obj_name = "The $whatami" unless defined $obj_name;
- if( !$rslt ) {
- my $ref = ref $object;
- $diag = "$obj_name isn't a '$class' it's a '$ref'";
- }
- }
}
- my $name = "$obj_name isa $class";
- my $ok;
- if($diag) {
- $ok = $tb->ok( 0, $name );
- $tb->diag(" $diag\n");
+ # Special case for isa_ok( [], "ARRAY" ) and like
+ if( $whatami eq 'reference' ) {
+ $rslt = UNIVERSAL::isa($thing, $class);
+ }
+
+ my($diag, $name);
+ if( defined $thing_name ) {
+ $name = "'$thing_name' isa '$class'";
+ $diag = defined $thing ? "'$thing_name' isn't a '$class'" : "'$thing_name' isn't defined";
+ }
+ elsif( $whatami eq 'object' ) {
+ my $my_class = ref $thing;
+ $thing_name = qq[An object of class '$my_class'];
+ $name = "$thing_name isa '$class'";
+ $diag = "The object of class '$my_class' isn't a '$class'";
+ }
+ elsif( $whatami eq 'reference' ) {
+ my $type = ref $thing;
+ $thing_name = qq[A reference of type '$type'];
+ $name = "$thing_name isa '$class'";
+ $diag = "The reference of type '$type' isn't a '$class'";
+ }
+ elsif( $whatami eq 'undef' ) {
+ $thing_name = 'undef';
+ $name = "$thing_name isa '$class'";
+ $diag = "$thing_name isn't defined";
+ }
+ elsif( $whatami eq 'class' ) {
+ $thing_name = qq[The class (or class-like) '$thing'];
+ $name = "$thing_name isa '$class'";
+ $diag = "$thing_name isn't a '$class'";
}
else {
+ die;
+ }
+
+ my $ok;
+ if($rslt) {
$ok = $tb->ok( 1, $name );
}
+ else {
+ $ok = $tb->ok( 0, $name );
+ $tb->diag(" $diag\n");
+ }
return $ok;
}
@@ -662,7 +684,6 @@ sub new_ok {
my( $class, $args, $object_name ) = @_;
$args ||= [];
- $object_name = "The object" unless defined $object_name;
my $obj;
my( $success, $error ) = $tb->_try( sub { $obj = $class->new(@$args); 1 } );
@@ -671,7 +692,8 @@ sub new_ok {
isa_ok $obj, $class, $object_name;
}
else {
- $tb->ok( 0, "new() died" );
+ $class = 'undef' if !defined $class;
+ $tb->ok( 0, "$class->new() died" );
$tb->diag(" Error was: $error");
}
@@ -705,6 +727,7 @@ This would produce.
1..3
ok 1 - First test
+ # Subtest: An example subtest
1..2
ok 1 - This is a subtest
ok 2 - So is this
@@ -781,21 +804,101 @@ sub fail (;$) {
=head2 Module tests
-You usually want to test if the module you're testing loads ok, rather
-than just vomiting if its load fails. For such purposes we have
-C<use_ok> and C<require_ok>.
+Sometimes you want to test if a module, or a list of modules, can
+successfully load. For example, you'll often want a first test which
+simply loads all the modules in the distribution to make sure they
+work before going on to do more complicated testing.
+
+For such purposes we have C<use_ok> and C<require_ok>.
=over 4
+=item B<require_ok>
+
+ require_ok($module);
+ require_ok($file);
+
+Tries to C<require> the given $module or $file. If it loads
+successfully, the test will pass. Otherwise it fails and displays the
+load error.
+
+C<require_ok> will guess whether the input is a module name or a
+filename.
+
+No exception will be thrown if the load fails.
+
+ # require Some::Module
+ require_ok "Some::Module";
+
+ # require "Some/File.pl";
+ require_ok "Some/File.pl";
+
+ # stop testing if any of your modules will not load
+ for my $module (@module) {
+ require_ok $module or BAIL_OUT "Can't load $module";
+ }
+
+=cut
+
+sub require_ok ($) {
+ my($module) = shift;
+ my $tb = Test::More->builder;
+
+ my $pack = caller;
+
+ # 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);
+
+ my $code = <<REQUIRE;
+package $pack;
+require $module;
+1;
+REQUIRE
+
+ my( $eval_result, $eval_error ) = _eval($code);
+ my $ok = $tb->ok( $eval_result, "require $module;" );
+
+ unless($ok) {
+ chomp $eval_error;
+ $tb->diag(<<DIAGNOSTIC);
+ Tried to require '$module'.
+ Error: $eval_error
+DIAGNOSTIC
+
+ }
+
+ return $ok;
+}
+
+sub _is_module_name {
+ my $module = shift;
+
+ # Module names start with a letter.
+ # End with an alphanumeric.
+ # The rest is an alphanumeric or ::
+ $module =~ s/\b::\b//g;
+
+ return $module =~ /^[a-zA-Z]\w*$/ ? 1 : 0;
+}
+
+
=item B<use_ok>
BEGIN { use_ok($module); }
BEGIN { use_ok($module, @imports); }
-These simply use the given $module and test to make sure the load
-happened ok. It's recommended that you run use_ok() inside a BEGIN
-block so its functions are exported at compile-time and prototypes are
-properly honored.
+Like C<require_ok>, but it will C<use> the $module in question and
+only loads modules, not files.
+
+If you just want to test a module can be loaded, use C<require_ok>.
+
+If you just want to load a module in a test, we recommend simply using
+C<use> directly. It will cause the test to stop.
+
+It's recommended that you run use_ok() inside a BEGIN block so its
+functions are exported at compile-time and prototypes are properly
+honored.
If @imports are given, they are passed through to the use. So this:
@@ -829,7 +932,6 @@ import anything, use C<require_ok>.
BEGIN { require_ok "Foo" }
-
=cut
sub use_ok ($;@) {
@@ -838,6 +940,7 @@ sub use_ok ($;@) {
my $tb = Test::More->builder;
my( $pack, $filename, $line ) = caller;
+ $filename =~ y/\n\r/_/; # so it doesn't run off the "#line $line $f" line
my $code;
if( @imports == 1 and $imports[0] =~ /^\d+(?:\.\d+)?$/ ) {
@@ -845,6 +948,8 @@ sub use_ok ($;@) {
# for it to work with non-Exporter based modules.
$code = <<USE;
package $pack;
+
+#line $line $filename
use $module $imports[0];
1;
USE
@@ -852,6 +957,8 @@ USE
else {
$code = <<USE;
package $pack;
+
+#line $line $filename
use $module \@{\$args[0]};
1;
USE
@@ -892,56 +999,6 @@ sub _eval {
return( $eval_result, $eval_error );
}
-=item B<require_ok>
-
- require_ok($module);
- require_ok($file);
-
-Like use_ok(), except it requires the $module or $file.
-
-=cut
-
-sub require_ok ($) {
- my($module) = shift;
- my $tb = Test::More->builder;
-
- my $pack = caller;
-
- # 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);
-
- my $code = <<REQUIRE;
-package $pack;
-require $module;
-1;
-REQUIRE
-
- my( $eval_result, $eval_error ) = _eval($code);
- my $ok = $tb->ok( $eval_result, "require $module;" );
-
- unless($ok) {
- chomp $eval_error;
- $tb->diag(<<DIAGNOSTIC);
- Tried to require '$module'.
- Error: $eval_error
-DIAGNOSTIC
-
- }
-
- return $ok;
-}
-
-sub _is_module_name {
- my $module = shift;
-
- # Module names start with a letter.
- # End with an alphanumeric.
- # The rest is an alphanumeric or ::
- $module =~ s/\b::\b//g;
-
- return $module =~ /^[a-zA-Z]\w*$/ ? 1 : 0;
-}
=back
@@ -1121,7 +1178,7 @@ You might remember C<ok() or diag()> with the mnemonic C<open() or
die()>.
B<NOTE> The exact formatting of the diagnostic output is still
-changing, but it is guaranteed that whatever you throw at it it won't
+changing, but it is guaranteed that whatever you throw at it won't
interfere with the test.
=item B<note>
@@ -1685,14 +1742,45 @@ If you fail more than 254 tests, it will be reported as 254.
B<NOTE> This behavior may go away in future versions.
-=head1 CAVEATS and NOTES
+=head1 COMPATIBILITY
+
+Test::More works with Perls as old as 5.8.1.
+
+Thread support is not very reliable before 5.10.1, but that's
+because threads are not very reliable before 5.10.1.
+
+Although Test::More has been a core module in versions of Perl since 5.6.2, Test::More has evolved since then, and not all of the features you're used to will be present in the shipped version of Test::More. If you are writing a module, don't forget to indicate in your package metadata the minimum version of Test::More that you require. For instance, if you want to use C<done_testing()> but want your test script to run on Perl 5.10.0, you will need to explicitly require Test::More > 0.88.
+
+Key feature milestones include:
=over 4
-=item Backwards compatibility
+=item subtests
+
+Subtests were released in Test::More 0.94, which came with Perl 5.12.0. Subtests did not implicitly call C<done_testing()> until 0.96; the first Perl with that fix was Perl 5.14.0 with 0.98.
+
+=item C<done_testing()>
+
+This was released in Test::More 0.88 and first shipped with Perl in 5.10.1 as part of Test::More 0.92.
+
+=item C<cmp_ok()>
+
+Although C<cmp_ok()> was introduced in 0.40, 0.86 fixed an important bug to make it safe for overloaded objects; the fixed first shipped with Perl in 5.10.1 as part of Test::More 0.92.
+
+=item C<new_ok()> C<note()> and C<explain()>
+
+These were was released in Test::More 0.82, and first shipped with Perl in 5.10.1 as part of Test::More 0.92.
-Test::More works with Perls as old as 5.6.0.
+=back
+
+There is a full version history in the Changes file, and the Test::More versions included as core can be found using L<Module::CoreList>:
+
+ $ corelist -a Test::More
+
+
+=head1 CAVEATS and NOTES
+=over 4
=item utf8 / "Wide character in print"
@@ -1703,13 +1791,19 @@ Test::More) duplicates STDOUT and STDERR. So any changes to them,
including changing their output disciplines, will not be seem by
Test::More.
-The work around is to change the filehandles used by Test::Builder
-directly.
+One work around is to apply encodings to STDOUT and STDERR as early
+as possible and before Test::More (or any other Test module) loads.
+
+ use open ':std', ':encoding(utf8)';
+ use Test::More;
+
+A more direct work around is to change the filehandles used by
+Test::Builder.
my $builder = Test::More->builder;
- binmode $builder->output, ":utf8";
- binmode $builder->failure_output, ":utf8";
- binmode $builder->todo_output, ":utf8";
+ binmode $builder->output, ":encoding(utf8)";
+ binmode $builder->failure_output, ":encoding(utf8)";
+ binmode $builder->todo_output, ":encoding(utf8)";
=item Overloaded objects
diff --git a/Master/tlpkg/tlperl/lib/Test/Simple.pm b/Master/tlpkg/tlperl/lib/Test/Simple.pm
index 1a85d36e3e7..86143d63208 100644
--- a/Master/tlpkg/tlperl/lib/Test/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Simple.pm
@@ -4,10 +4,10 @@ use 5.006;
use strict;
-our $VERSION = '0.98';
+our $VERSION = '1.001002';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
-use Test::Builder::Module;
+use Test::Builder::Module 0.99;
our @ISA = qw(Test::Builder::Module);
our @EXPORT = qw(ok);
diff --git a/Master/tlpkg/tlperl/lib/Test/Tutorial.pod b/Master/tlpkg/tlperl/lib/Test/Tutorial.pod
new file mode 100644
index 00000000000..b89fd07ca5d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Test/Tutorial.pod
@@ -0,0 +1,610 @@
+=head1 NAME
+
+Test::Tutorial - A tutorial about writing really basic tests
+
+=head1 DESCRIPTION
+
+
+I<AHHHHHHH!!!! NOT TESTING! Anything but testing!
+Beat me, whip me, send me to Detroit, but don't make
+me write tests!>
+
+I<*sob*>
+
+I<Besides, I don't know how to write the damned things.>
+
+
+Is this you? Is writing tests right up there with writing
+documentation and having your fingernails pulled out? Did you open up
+a test and read
+
+ ######## We start with some black magic
+
+and decide that's quite enough for you?
+
+It's ok. That's all gone now. We've done all the black magic for
+you. And here are the tricks...
+
+
+=head2 Nuts and bolts of testing.
+
+Here's the most basic test program.
+
+ #!/usr/bin/perl -w
+
+ print "1..1\n";
+
+ print 1 + 1 == 2 ? "ok 1\n" : "not ok 1\n";
+
+Because 1 + 1 is 2, it prints:
+
+ 1..1
+ ok 1
+
+What this says is: C<1..1> "I'm going to run one test." [1] C<ok 1>
+"The first test passed". And that's about all magic there is to
+testing. Your basic unit of testing is the I<ok>. For each thing you
+test, an C<ok> is printed. Simple. L<Test::Harness> interprets your test
+results to determine if you succeeded or failed (more on that later).
+
+Writing all these print statements rapidly gets tedious. Fortunately,
+there's L<Test::Simple>. It has one function, C<ok()>.
+
+ #!/usr/bin/perl -w
+
+ use Test::Simple tests => 1;
+
+ ok( 1 + 1 == 2 );
+
+That does the same thing as the previous code. C<ok()> is the backbone
+of Perl testing, and we'll be using it instead of roll-your-own from
+here on. If C<ok()> gets a true value, the test passes. False, it
+fails.
+
+ #!/usr/bin/perl -w
+
+ use Test::Simple tests => 2;
+ ok( 1 + 1 == 2 );
+ ok( 2 + 2 == 5 );
+
+From that comes:
+
+ 1..2
+ ok 1
+ not ok 2
+ # Failed test (test.pl at line 5)
+ # Looks like you failed 1 tests of 2.
+
+C<1..2> "I'm going to run two tests." This number is a I<plan>. It helps to
+ensure your test program ran all the way through and didn't die or skip some
+tests. C<ok 1> "The first test passed." C<not ok 2> "The second test failed".
+Test::Simple helpfully prints out some extra commentary about your tests.
+
+It's not scary. Come, hold my hand. We're going to give an example
+of testing a module. For our example, we'll be testing a date
+library, L<Date::ICal>. It's on CPAN, so download a copy and follow
+along. [2]
+
+
+=head2 Where to start?
+
+This is the hardest part of testing, where do you start? People often get
+overwhelmed at the apparent enormity of the task of testing a whole module.
+The best place to start is at the beginning. C<Date::ICal> is an
+object-oriented module, and that means you start by making an object. Test
+C<new()>.
+
+ #!/usr/bin/perl -w
+
+ # assume these two lines are in all subsequent examples
+ use strict;
+ use warnings;
+
+ use Test::Simple tests => 2;
+
+ use Date::ICal;
+
+ my $ical = Date::ICal->new; # create an object
+ ok( defined $ical ); # check that we got something
+ ok( $ical->isa('Date::ICal') ); # and it's the right class
+
+Run that and you should get:
+
+ 1..2
+ ok 1
+ ok 2
+
+Congratulations! You've written your first useful test.
+
+
+=head2 Names
+
+That output isn't terribly descriptive, is it? When you have two tests you can
+figure out which one is #2, but what if you have 102 tests?
+
+Each test can be given a little descriptive name as the second
+argument to C<ok()>.
+
+ use Test::Simple tests => 2;
+
+ ok( defined $ical, 'new() returned something' );
+ ok( $ical->isa('Date::ICal'), " and it's the right class" );
+
+Now you'll see:
+
+ 1..2
+ ok 1 - new() returned something
+ ok 2 - and it's the right class
+
+
+=head2 Test the manual
+
+The simplest way to build up a decent testing suite is to just test what
+the manual says it does. [3] Let's pull something out of the
+L<Date::ICal/SYNOPSIS> and test that all its bits work.
+
+ #!/usr/bin/perl -w
+
+ use Test::Simple tests => 8;
+
+ use Date::ICal;
+
+ $ical = Date::ICal->new( year => 1964, month => 10, day => 16,
+ hour => 16, min => 12, sec => 47,
+ tz => '0530' );
+
+ ok( defined $ical, 'new() returned something' );
+ ok( $ical->isa('Date::ICal'), " and it's the right class" );
+ ok( $ical->sec == 47, ' sec()' );
+ ok( $ical->min == 12, ' min()' );
+ ok( $ical->hour == 16, ' hour()' );
+ ok( $ical->day == 17, ' day()' );
+ ok( $ical->month == 10, ' month()' );
+ ok( $ical->year == 1964, ' year()' );
+
+Run that and you get:
+
+ 1..8
+ ok 1 - new() returned something
+ ok 2 - and it's the right class
+ ok 3 - sec()
+ ok 4 - min()
+ ok 5 - hour()
+ not ok 6 - day()
+ # Failed test (- at line 16)
+ ok 7 - month()
+ ok 8 - year()
+ # Looks like you failed 1 tests of 8.
+
+Whoops, a failure! [4] C<Test::Simple> helpfully lets us know on what line the
+failure occurred, but not much else. We were supposed to get 17, but we
+didn't. What did we get?? Dunno. You could re-run the test in the debugger
+or throw in some print statements to find out.
+
+Instead, switch from L<Test::Simple> to L<Test::More>. C<Test::More>
+does everything C<Test::Simple> does, and more! In fact, C<Test::More> does
+things I<exactly> the way C<Test::Simple> does. You can literally swap
+C<Test::Simple> out and put C<Test::More> in its place. That's just what
+we're going to do.
+
+C<Test::More> does more than C<Test::Simple>. The most important difference at
+this point is it provides more informative ways to say "ok". Although you can
+write almost any test with a generic C<ok()>, it can't tell you what went
+wrong. The C<is()> function lets us declare that something is supposed to be
+the same as something else:
+
+ use Test::More tests => 8;
+
+ use Date::ICal;
+
+ $ical = Date::ICal->new( year => 1964, month => 10, day => 16,
+ hour => 16, min => 12, sec => 47,
+ tz => '0530' );
+
+ ok( defined $ical, 'new() returned something' );
+ ok( $ical->isa('Date::ICal'), " and it's the right class" );
+ is( $ical->sec, 47, ' sec()' );
+ is( $ical->min, 12, ' min()' );
+ is( $ical->hour, 16, ' hour()' );
+ is( $ical->day, 17, ' day()' );
+ is( $ical->month, 10, ' month()' );
+ is( $ical->year, 1964, ' year()' );
+
+"Is C<$ical-E<gt>sec> 47?" "Is C<$ical-E<gt>min> 12?" With C<is()> in place,
+you get more information:
+
+ 1..8
+ ok 1 - new() returned something
+ ok 2 - and it's the right class
+ ok 3 - sec()
+ ok 4 - min()
+ ok 5 - hour()
+ not ok 6 - day()
+ # Failed test (- at line 16)
+ # got: '16'
+ # expected: '17'
+ ok 7 - month()
+ ok 8 - year()
+ # Looks like you failed 1 tests of 8.
+
+Aha. C<$ical-E<gt>day> returned 16, but we expected 17. A
+quick check shows that the code is working fine, we made a mistake
+when writing the tests. Change it to:
+
+ is( $ical->day, 16, ' day()' );
+
+... and everything works.
+
+Any time you're doing a "this equals that" sort of test, use C<is()>.
+It even works on arrays. The test is always in scalar context, so you
+can test how many elements are in an array this way. [5]
+
+ is( @foo, 5, 'foo has 5 elements' );
+
+
+=head2 Sometimes the tests are wrong
+
+This brings up a very important lesson. Code has bugs. Tests are
+code. Ergo, tests have bugs. A failing test could mean a bug in the
+code, but don't discount the possibility that the test is wrong.
+
+On the flip side, don't be tempted to prematurely declare a test
+incorrect just because you're having trouble finding the bug.
+Invalidating a test isn't something to be taken lightly, and don't use
+it as a cop out to avoid work.
+
+
+=head2 Testing lots of values
+
+We're going to be wanting to test a lot of dates here, trying to trick
+the code with lots of different edge cases. Does it work before 1970?
+After 2038? Before 1904? Do years after 10,000 give it trouble?
+Does it get leap years right? We could keep repeating the code above,
+or we could set up a little try/expect loop.
+
+ use Test::More tests => 32;
+ use Date::ICal;
+
+ my %ICal_Dates = (
+ # An ICal string And the year, month, day
+ # hour, minute and second we expect.
+ '19971024T120000' => # from the docs.
+ [ 1997, 10, 24, 12, 0, 0 ],
+ '20390123T232832' => # after the Unix epoch
+ [ 2039, 1, 23, 23, 28, 32 ],
+ '19671225T000000' => # before the Unix epoch
+ [ 1967, 12, 25, 0, 0, 0 ],
+ '18990505T232323' => # before the MacOS epoch
+ [ 1899, 5, 5, 23, 23, 23 ],
+ );
+
+
+ while( my($ical_str, $expect) = each %ICal_Dates ) {
+ my $ical = Date::ICal->new( ical => $ical_str );
+
+ ok( defined $ical, "new(ical => '$ical_str')" );
+ ok( $ical->isa('Date::ICal'), " and it's the right class" );
+
+ is( $ical->year, $expect->[0], ' year()' );
+ is( $ical->month, $expect->[1], ' month()' );
+ is( $ical->day, $expect->[2], ' day()' );
+ is( $ical->hour, $expect->[3], ' hour()' );
+ is( $ical->min, $expect->[4], ' min()' );
+ is( $ical->sec, $expect->[5], ' sec()' );
+ }
+
+Now we can test bunches of dates by just adding them to
+C<%ICal_Dates>. Now that it's less work to test with more dates, you'll
+be inclined to just throw more in as you think of them.
+Only problem is, every time we add to that we have to keep adjusting
+the C<use Test::More tests =E<gt> ##> line. That can rapidly get
+annoying. There are ways to make this work better.
+
+First, we can calculate the plan dynamically using the C<plan()>
+function.
+
+ use Test::More;
+ use Date::ICal;
+
+ my %ICal_Dates = (
+ ...same as before...
+ );
+
+ # For each key in the hash we're running 8 tests.
+ plan tests => keys(%ICal_Dates) * 8;
+
+ ...and then your tests...
+
+To be even more flexible, use C<done_testing>. This means we're just
+running some tests, don't know how many. [6]
+
+ use Test::More; # instead of tests => 32
+
+ ... # tests here
+
+ done_testing(); # reached the end safely
+
+If you don't specify a plan, C<Test::More> expects to see C<done_testing()>
+before your program exits. It will warn you if you forget it. You can give
+C<done_testing()> an optional number of tests you expected to run, and if the
+number ran differs, C<Test::More> will give you another kind of warning.
+
+
+=head2 Informative names
+
+Take a look at the line:
+
+ ok( defined $ical, "new(ical => '$ical_str')" );
+
+We've added more detail about what we're testing and the ICal string
+itself we're trying out to the name. So you get results like:
+
+ ok 25 - new(ical => '19971024T120000')
+ ok 26 - and it's the right class
+ ok 27 - year()
+ ok 28 - month()
+ ok 29 - day()
+ ok 30 - hour()
+ ok 31 - min()
+ ok 32 - sec()
+
+If something in there fails, you'll know which one it was and that
+will make tracking down the problem easier. Try to put a bit of
+debugging information into the test names.
+
+Describe what the tests test, to make debugging a failed test easier
+for you or for the next person who runs your test.
+
+
+=head2 Skipping tests
+
+Poking around in the existing Date::ICal tests, I found this in
+F<t/01sanity.t> [7]
+
+ #!/usr/bin/perl -w
+
+ use Test::More tests => 7;
+ use Date::ICal;
+
+ # Make sure epoch time is being handled sanely.
+ my $t1 = Date::ICal->new( epoch => 0 );
+ is( $t1->epoch, 0, "Epoch time of 0" );
+
+ # XXX This will only work on unix systems.
+ is( $t1->ical, '19700101Z', " epoch to ical" );
+
+ is( $t1->year, 1970, " year()" );
+ is( $t1->month, 1, " month()" );
+ is( $t1->day, 1, " day()" );
+
+ # like the tests above, but starting with ical instead of epoch
+ my $t2 = Date::ICal->new( ical => '19700101Z' );
+ is( $t2->ical, '19700101Z', "Start of epoch in ICal notation" );
+
+ is( $t2->epoch, 0, " and back to ICal" );
+
+The beginning of the epoch is different on most non-Unix operating systems [8].
+Even though Perl smooths out the differences for the most part, certain ports
+do it differently. MacPerl is one off the top of my head. [9] Rather than
+putting a comment in the test and hoping someone will read the test while
+debugging the failure, we can explicitly say it's never going to work and skip
+the test.
+
+ use Test::More tests => 7;
+ use Date::ICal;
+
+ # Make sure epoch time is being handled sanely.
+ my $t1 = Date::ICal->new( epoch => 0 );
+ is( $t1->epoch, 0, "Epoch time of 0" );
+
+ SKIP: {
+ skip('epoch to ICal not working on Mac OS', 6)
+ if $^O eq 'MacOS';
+
+ is( $t1->ical, '19700101Z', " epoch to ical" );
+
+ is( $t1->year, 1970, " year()" );
+ is( $t1->month, 1, " month()" );
+ is( $t1->day, 1, " day()" );
+
+ # like the tests above, but starting with ical instead of epoch
+ my $t2 = Date::ICal->new( ical => '19700101Z' );
+ is( $t2->ical, '19700101Z', "Start of epoch in ICal notation" );
+
+ is( $t2->epoch, 0, " and back to ICal" );
+ }
+
+A little bit of magic happens here. When running on anything but MacOS, all
+the tests run normally. But when on MacOS, C<skip()> causes the entire
+contents of the SKIP block to be jumped over. It never runs. Instead,
+C<skip()> prints special output that tells C<Test::Harness> that the tests have
+been skipped.
+
+ 1..7
+ ok 1 - Epoch time of 0
+ ok 2 # skip epoch to ICal not working on MacOS
+ ok 3 # skip epoch to ICal not working on MacOS
+ ok 4 # skip epoch to ICal not working on MacOS
+ ok 5 # skip epoch to ICal not working on MacOS
+ ok 6 # skip epoch to ICal not working on MacOS
+ ok 7 # skip epoch to ICal not working on MacOS
+
+This means your tests won't fail on MacOS. This means fewer emails
+from MacPerl users telling you about failing tests that you know will
+never work. You've got to be careful with skip tests. These are for
+tests which don't work and I<never will>. It is not for skipping
+genuine bugs (we'll get to that in a moment).
+
+The tests are wholly and completely skipped. [10] This will work.
+
+ SKIP: {
+ skip("I don't wanna die!");
+
+ die, die, die, die, die;
+ }
+
+
+=head2 Todo tests
+
+While thumbing through the C<Date::ICal> man page, I came across this:
+
+ ical
+
+ $ical_string = $ical->ical;
+
+ Retrieves, or sets, the date on the object, using any
+ valid ICal date/time string.
+
+"Retrieves or sets". Hmmm. I didn't see a test for using C<ical()> to set
+the date in the Date::ICal test suite. So I wrote one:
+
+ use Test::More tests => 1;
+ use Date::ICal;
+
+ my $ical = Date::ICal->new;
+ $ical->ical('20201231Z');
+ is( $ical->ical, '20201231Z', 'Setting via ical()' );
+
+Run that. I saw:
+
+ 1..1
+ not ok 1 - Setting via ical()
+ # Failed test (- at line 6)
+ # got: '20010814T233649Z'
+ # expected: '20201231Z'
+ # Looks like you failed 1 tests of 1.
+
+Whoops! Looks like it's unimplemented. Assume you don't have the time to fix
+this. [11] Normally, you'd just comment out the test and put a note in a todo
+list somewhere. Instead, explicitly state "this test will fail" by wrapping it
+in a C<TODO> block:
+
+ use Test::More tests => 1;
+
+ TODO: {
+ local $TODO = 'ical($ical) not yet implemented';
+
+ my $ical = Date::ICal->new;
+ $ical->ical('20201231Z');
+
+ is( $ical->ical, '20201231Z', 'Setting via ical()' );
+ }
+
+Now when you run, it's a little different:
+
+ 1..1
+ not ok 1 - Setting via ical() # TODO ical($ical) not yet implemented
+ # got: '20010822T201551Z'
+ # expected: '20201231Z'
+
+C<Test::More> doesn't say "Looks like you failed 1 tests of 1". That '#
+TODO' tells C<Test::Harness> "this is supposed to fail" and it treats a
+failure as a successful test. You can write tests even before
+you've fixed the underlying code.
+
+If a TODO test passes, C<Test::Harness> will report it "UNEXPECTEDLY
+SUCCEEDED". When that happens, remove the TODO block with C<local $TODO> and
+turn it into a real test.
+
+
+=head2 Testing with taint mode.
+
+Taint mode is a funny thing. It's the globalest of all global
+features. Once you turn it on, it affects I<all> code in your program
+and I<all> modules used (and all the modules they use). If a single
+piece of code isn't taint clean, the whole thing explodes. With that
+in mind, it's very important to ensure your module works under taint
+mode.
+
+It's very simple to have your tests run under taint mode. Just throw
+a C<-T> into the C<#!> line. C<Test::Harness> will read the switches
+in C<#!> and use them to run your tests.
+
+ #!/usr/bin/perl -Tw
+
+ ...test normally here...
+
+When you say C<make test> it will run with taint mode on.
+
+
+=head1 FOOTNOTES
+
+=over 4
+
+=item 1
+
+The first number doesn't really mean anything, but it has to be 1.
+It's the second number that's important.
+
+=item 2
+
+For those following along at home, I'm using version 1.31. It has
+some bugs, which is good -- we'll uncover them with our tests.
+
+=item 3
+
+You can actually take this one step further and test the manual
+itself. Have a look at L<Test::Inline> (formerly L<Pod::Tests>).
+
+=item 4
+
+Yes, there's a mistake in the test suite. What! Me, contrived?
+
+=item 5
+
+We'll get to testing the contents of lists later.
+
+=item 6
+
+But what happens if your test program dies halfway through?! Since we
+didn't say how many tests we're going to run, how can we know it
+failed? No problem, C<Test::More> employs some magic to catch that death
+and turn the test into a failure, even if every test passed up to that
+point.
+
+=item 7
+
+I cleaned it up a little.
+
+=item 8
+
+Most Operating Systems record time as the number of seconds since a
+certain date. This date is the beginning of the epoch. Unix's starts
+at midnight January 1st, 1970 GMT.
+
+=item 9
+
+MacOS's epoch is midnight January 1st, 1904. VMS's is midnight,
+November 17th, 1858, but vmsperl emulates the Unix epoch so it's not a
+problem.
+
+=item 10
+
+As long as the code inside the SKIP block at least compiles. Please
+don't ask how. No, it's not a filter.
+
+=item 11
+
+Do NOT be tempted to use TODO tests as a way to avoid fixing simple
+bugs!
+
+=back
+
+=head1 AUTHORS
+
+Michael G Schwern E<lt>schwern@pobox.comE<gt> and the perl-qa dancers!
+
+=head1 COPYRIGHT
+
+Copyright 2001 by Michael G Schwern E<lt>schwern@pobox.comE<gt>.
+
+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 these files
+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
+credit would be courteous but is not required.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Text/ParseWords.pm b/Master/tlpkg/tlperl/lib/Text/ParseWords.pm
index e8de4b6ab3f..8771d436479 100644
--- a/Master/tlpkg/tlperl/lib/Text/ParseWords.pm
+++ b/Master/tlpkg/tlperl/lib/Text/ParseWords.pm
@@ -2,7 +2,7 @@ package Text::ParseWords;
use strict;
require 5.006;
-our $VERSION = "3.28";
+our $VERSION = "3.29";
use Exporter;
diff --git a/Master/tlpkg/tlperl/lib/Text/Soundex.pm b/Master/tlpkg/tlperl/lib/Text/Soundex.pm
deleted file mode 100644
index 83a55af43ec..00000000000
--- a/Master/tlpkg/tlperl/lib/Text/Soundex.pm
+++ /dev/null
@@ -1,262 +0,0 @@
-# -*- perl -*-
-
-# (c) Copyright 1998-2007 by Mark Mielke
-#
-# Freedom to use these sources for whatever you want, as long as credit
-# is given where credit is due, is hereby granted. You may make modifications
-# where you see fit but leave this copyright somewhere visible. As well, try
-# to initial any changes you make so that if I like the changes I can
-# incorporate them into later versions.
-#
-# - Mark Mielke <mark@mielke.cc>
-#
-
-package Text::Soundex;
-require 5.006;
-
-use Exporter ();
-use XSLoader ();
-
-use strict;
-
-use if $] > 5.016, 'deprecate';
-
-our $VERSION = '3.04';
-our @EXPORT_OK = qw(soundex soundex_unicode soundex_nara soundex_nara_unicode
- $soundex_nocode);
-our @EXPORT = qw(soundex soundex_nara $soundex_nocode);
-our @ISA = qw(Exporter);
-
-our $nocode;
-
-# Previous releases of Text::Soundex made $nocode available as $soundex_nocode.
-# For now, this part of the interface is exported and maintained.
-# In the feature, $soundex_nocode will be deprecated.
-*Text::Soundex::soundex_nocode = \$nocode;
-
-sub soundex_noxs
-{
- # Original Soundex algorithm
-
- my @results = map {
- my $code = uc($_);
- $code =~ tr/AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr//cd;
-
- if (length($code)) {
- my $firstchar = substr($code, 0, 1);
- $code =~ tr[AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr]
- [0000000000000000111111112222222222222222333344555566]s;
- ($code = substr($code, 1)) =~ tr/0//d;
- substr($firstchar . $code . '000', 0, 4);
- } else {
- $nocode;
- }
- } @_;
-
- wantarray ? @results : $results[0];
-}
-
-sub soundex_nara
-{
- # US census (NARA) algorithm.
-
- my @results = map {
- my $code = uc($_);
- $code =~ tr/AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr//cd;
-
- if (length($code)) {
- my $firstchar = substr($code, 0, 1);
- $code =~ tr[AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr]
- [0000990000009900111111112222222222222222333344555566]s;
- $code =~ s/(.)9\1/$1/gs;
- ($code = substr($code, 1)) =~ tr/09//d;
- substr($firstchar . $code . '000', 0, 4);
- } else {
- $nocode
- }
- } @_;
-
- wantarray ? @results : $results[0];
-}
-
-sub soundex_unicode
-{
- require Text::Unidecode unless defined &Text::Unidecode::unidecode;
- soundex(Text::Unidecode::unidecode(@_));
-}
-
-sub soundex_nara_unicode
-{
- require Text::Unidecode unless defined &Text::Unidecode::unidecode;
- soundex_nara(Text::Unidecode::unidecode(@_));
-}
-
-eval { XSLoader::load(__PACKAGE__, $VERSION) };
-
-if (defined(&soundex_xs)) {
- *soundex = \&soundex_xs;
-} else {
- *soundex = \&soundex_noxs;
- *soundex_xs = sub {
- require Carp;
- Carp::croak("XS implementation of Text::Soundex::soundex_xs() ".
- "could not be loaded");
- };
-}
-
-1;
-
-__END__
-
-# Implementation of the soundex algorithm.
-#
-# Some of this documention was written by Mike Stok.
-#
-# Examples:
-#
-# Euler, Ellery -> E460
-# Gauss, Ghosh -> G200
-# Hilbert, Heilbronn -> H416
-# Knuth, Kant -> K530
-# Lloyd, Ladd -> L300
-# Lukasiewicz, Lissajous -> L222
-#
-
-=head1 NAME
-
-Text::Soundex - Implementation of the soundex algorithm.
-
-=head1 SYNOPSIS
-
- use Text::Soundex;
-
- # Original algorithm.
- $code = soundex($name); # Get the soundex code for a name.
- @codes = soundex(@names); # Get the list of codes for a list of names.
-
- # American Soundex variant (NARA) - Used for US census data.
- $code = soundex_nara($name); # Get the soundex code for a name.
- @codes = soundex_nara(@names); # Get the list of codes for a list of names.
-
- # Redefine the value that soundex() will return if the input string
- # contains no identifiable sounds within it.
- $Text::Soundex::nocode = 'Z000';
-
-=head1 DESCRIPTION
-
-Soundex is a phonetic algorithm for indexing names by sound, as
-pronounced in English. The goal is for names with the same
-pronunciation to be encoded to the same representation so that they
-can be matched despite minor differences in spelling. Soundex is the
-most widely known of all phonetic algorithms and is often used
-(incorrectly) as a synonym for "phonetic algorithm". Improvements to
-Soundex are the basis for many modern phonetic algorithms. (Wikipedia,
-2007)
-
-This module implements the original soundex algorithm developed by
-Robert Russell and Margaret Odell, patented in 1918 and 1922, as well
-as a variation called "American Soundex" used for US census data, and
-current maintained by the National Archives and Records Administration
-(NARA).
-
-The soundex algorithm may be recognized from Donald Knuth's
-B<The Art of Computer Programming>. The algorithm described by
-Knuth is the NARA algorithm.
-
-The value returned for strings which have no soundex encoding is
-defined using C<$Text::Soundex::nocode>. The default value is C<undef>,
-however values such as C<'Z000'> are commonly used alternatives.
-
-For backward compatibility with older versions of this module the
-C<$Text::Soundex::nocode> is exported into the caller's namespace as
-C<$soundex_nocode>.
-
-In scalar context, C<soundex()> returns the soundex code of its first
-argument. In list context, a list is returned in which each element is the
-soundex code for the corresponding argument passed to C<soundex()>. For
-example, the following code assigns @codes the value C<('M200', 'S320')>:
-
- @codes = soundex qw(Mike Stok);
-
-To use C<Text::Soundex> to generate codes that can be used to search one
-of the publically available US Censuses, a variant of the soundex
-algorithm must be used:
-
- use Text::Soundex;
- $code = soundex_nara($name);
-
-An example of where these algorithm differ follows:
-
- use Text::Soundex;
- print soundex("Ashcraft"), "\n"; # prints: A226
- print soundex_nara("Ashcraft"), "\n"; # prints: A261
-
-=head1 EXAMPLES
-
-Donald Knuth's examples of names and the soundex codes they map to
-are listed below:
-
- Euler, Ellery -> E460
- Gauss, Ghosh -> G200
- Hilbert, Heilbronn -> H416
- Knuth, Kant -> K530
- Lloyd, Ladd -> L300
- Lukasiewicz, Lissajous -> L222
-
-so:
-
- $code = soundex 'Knuth'; # $code contains 'K530'
- @list = soundex qw(Lloyd Gauss); # @list contains 'L300', 'G200'
-
-=head1 LIMITATIONS
-
-As the soundex algorithm was originally used a B<long> time ago in the US
-it considers only the English alphabet and pronunciation. In particular,
-non-ASCII characters will be ignored. The recommended method of dealing
-with characters that have accents, or other unicode characters, is to use
-the Text::Unidecode module available from CPAN. Either use the module
-explicitly:
-
- use Text::Soundex;
- use Text::Unidecode;
-
- print soundex(unidecode("Fran\xE7ais")), "\n"; # Prints "F652\n"
-
-Or use the convenient wrapper routine:
-
- use Text::Soundex 'soundex_unicode';
-
- print soundex_unicode("Fran\xE7ais"), "\n"; # Prints "F652\n"
-
-Since the soundex algorithm maps a large space (strings of arbitrary
-length) onto a small space (single letter plus 3 digits) no inference
-can be made about the similarity of two strings which end up with the
-same soundex code. For example, both C<Hilbert> and C<Heilbronn> end
-up with a soundex code of C<H416>.
-
-=head1 MAINTAINER
-
-This module is currently maintain by Mark Mielke (C<mark@mielke.cc>).
-
-=head1 HISTORY
-
-Version 3 is a significant update to provide support for versions of
-Perl later than Perl 5.004. Specifically, the XS version of the
-soundex() subroutine understands strings that are encoded using UTF-8
-(unicode strings).
-
-Version 2 of this module was a re-write by Mark Mielke (C<mark@mielke.cc>)
-to improve the speed of the subroutines. The XS version of the soundex()
-subroutine was introduced in 2.00.
-
-Version 1 of this module was written by Mike Stok (C<mike@stok.co.uk>)
-and was included into the Perl core library set.
-
-Dave Carlsen (C<dcarlsen@csranet.com>) made the request for the NARA
-algorithm to be included. The NARA soundex page can be viewed at:
-C<http://www.nara.gov/genealogy/soundex/soundex.html>
-
-Ian Phillips (C<ian@pipex.net>) and Rich Pinder (C<rpinder@hsc.usc.edu>)
-supplied ideas and spotted mistakes for v1.x.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Text/Tabs.pm b/Master/tlpkg/tlperl/lib/Text/Tabs.pm
index 34d81ab8b7f..07fe2b8b021 100644
--- a/Master/tlpkg/tlperl/lib/Text/Tabs.pm
+++ b/Master/tlpkg/tlperl/lib/Text/Tabs.pm
@@ -1,4 +1,3 @@
-
package Text::Tabs;
require Exporter;
@@ -7,7 +6,7 @@ require Exporter;
@EXPORT = qw(expand unexpand $tabstop);
use vars qw($VERSION $SUBVERSION $tabstop $debug);
-$VERSION = 2012.0818;
+$VERSION = 2013.0523;
$SUBVERSION = 'modern';
use strict;
@@ -157,7 +156,7 @@ C<local($Text::Tabs::tabstop)>.
print unexpand $_;
}
-Instead of the shell's C<expand> comand, use:
+Instead of the shell's C<expand> command, use:
perl -MText::Tabs -n -e 'print expand $_'
@@ -186,7 +185,8 @@ or otherwise deal with any other zero-, half-, and full-width characters.
Copyright (C) 1996-2002,2005,2006 David Muir Sharnoff.
Copyright (C) 2005 Aristotle Pagaltzis
-Copyright (C) 2012 Google, Inc.
+Copyright (C) 2012-2013 Google, Inc.
This module may be modified, used, copied, and redistributed at your own risk.
-Publicly redistributed modified versions must use a different name.
-
+Although allowed by the preceding license, please do not publicly
+redistribute modified versions of this code with the name "Text::Tabs"
+unless it passes the unmodified Text::Tabs test suite.
diff --git a/Master/tlpkg/tlperl/lib/Text/Wrap.pm b/Master/tlpkg/tlperl/lib/Text/Wrap.pm
index 1b40ab4f2bd..db0d15f6106 100644
--- a/Master/tlpkg/tlperl/lib/Text/Wrap.pm
+++ b/Master/tlpkg/tlperl/lib/Text/Wrap.pm
@@ -7,7 +7,7 @@ require Exporter;
@EXPORT = qw(wrap fill);
@EXPORT_OK = qw($columns $break $huge);
-$VERSION = 2012.0818;
+$VERSION = 2013.0523;
$SUBVERSION = 'modern';
use 5.010_000;
@@ -64,7 +64,7 @@ sub wrap
? unexpand($nl . $lead . $1)
: $nl . $lead . $1;
$remainder = $2;
- } elsif ($huge eq 'wrap' && $t =~ /\G((?:(?!=[^\n])\X){$ll})/gc) {
+ } elsif ($huge eq 'wrap' && $t =~ /\G((?:(?=[^\n])\X){$ll})/gc) {
$r .= $unexpand
? unexpand($nl . $lead . $1)
: $nl . $lead . $1;
@@ -293,7 +293,8 @@ many many others.
=head1 LICENSE
Copyright (C) 1996-2009 David Muir Sharnoff.
-Copyright (C) 2012 Google, Inc.
+Copyright (C) 2012-2013 Google, Inc.
This module may be modified, used, copied, and redistributed at your own risk.
-Publicly redistributed modified versions must use a different name.
-
+Although allowed by the preceding license, please do not publicly
+redistribute modified versions of this code with the name "Text::Wrap"
+unless it passes the unmodified Text::Wrap test suite.
diff --git a/Master/tlpkg/tlperl/lib/Thread.pm b/Master/tlpkg/tlperl/lib/Thread.pm
index 247f90ccc9e..dbe0719bf5a 100644
--- a/Master/tlpkg/tlperl/lib/Thread.pm
+++ b/Master/tlpkg/tlperl/lib/Thread.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = '3.02';
+our $VERSION = '3.04';
$VERSION = eval $VERSION;
BEGIN {
@@ -168,7 +168,7 @@ does a C<cond_signal> or C<cond_broadcast> for that same locked
variable. The variable that C<cond_wait> blocked on is relocked
after the C<cond_wait> is satisfied. If there are multiple threads
C<cond_wait>ing on the same variable, all but one will reblock waiting
-to reaquire the lock on the variable. (So if you're only using
+to re-acquire the lock on the variable. (So if you're only using
C<cond_wait> for synchronization, give up the lock as soon as
possible.)
diff --git a/Master/tlpkg/tlperl/lib/Thread/Queue.pm b/Master/tlpkg/tlperl/lib/Thread/Queue.pm
index 027dd56c8a5..316644a64f3 100644
--- a/Master/tlpkg/tlperl/lib/Thread/Queue.pm
+++ b/Master/tlpkg/tlperl/lib/Thread/Queue.pm
@@ -3,7 +3,7 @@ package Thread::Queue;
use strict;
use warnings;
-our $VERSION = '3.02';
+our $VERSION = '3.05';
$VERSION = eval $VERSION;
use threads::shared 1.21;
@@ -12,9 +12,6 @@ use Scalar::Util 1.10 qw(looks_like_number blessed reftype refaddr);
# Carp errors from threads::shared calls should complain about caller
our @CARP_NOT = ("threads::shared");
-# Predeclarations for internal functions
-my ($validate_count, $validate_index, $validate_timeout);
-
# Create a new queue possibly pre-populated with items
sub new
{
@@ -64,7 +61,7 @@ sub dequeue
lock(%$self);
my $queue = $$self{'queue'};
- my $count = @_ ? $validate_count->(shift) : 1;
+ my $count = @_ ? $self->_validate_count(shift) : 1;
# Wait for requisite number of items
cond_wait(%$self) while ((@$queue < $count) && ! $$self{'ENDED'});
@@ -89,7 +86,7 @@ sub dequeue_nb
lock(%$self);
my $queue = $$self{'queue'};
- my $count = @_ ? $validate_count->(shift) : 1;
+ my $count = @_ ? $self->_validate_count(shift) : 1;
# Return single item
return shift(@$queue) if ($count == 1);
@@ -111,13 +108,13 @@ sub dequeue_timed
my $queue = $$self{'queue'};
# Timeout may be relative or absolute
- my $timeout = @_ ? $validate_timeout->(shift) : -1;
+ my $timeout = @_ ? $self->_validate_timeout(shift) : -1;
# Convert to an absolute time for use with cond_timedwait()
if ($timeout < 32000000) { # More than one year
$timeout += time();
}
- my $count = @_ ? $validate_count->(shift) : 1;
+ my $count = @_ ? $self->_validate_count(shift) : 1;
# Wait for requisite number of items, or until timeout
while ((@$queue < $count) && ! $$self{'ENDED'}) {
@@ -134,7 +131,7 @@ sub peek
{
my $self = shift;
lock(%$self);
- my $index = @_ ? $validate_index->(shift) : 0;
+ my $index = @_ ? $self->_validate_index(shift) : 0;
return $$self{'queue'}[$index];
}
@@ -151,7 +148,7 @@ sub insert
my $queue = $$self{'queue'};
- my $index = $validate_index->(shift);
+ my $index = $self->_validate_index(shift);
return if (! @_); # Nothing to insert
@@ -186,8 +183,8 @@ sub extract
lock(%$self);
my $queue = $$self{'queue'};
- my $index = @_ ? $validate_index->(shift) : 0;
- my $count = @_ ? $validate_count->(shift) : 1;
+ my $index = @_ ? $self->_validate_index(shift) : 0;
+ my $count = @_ ? $self->_validate_count(shift) : 1;
# Support negative indices
if ($index < 0) {
@@ -219,10 +216,12 @@ sub extract
return @items;
}
-### Internal Functions ###
+### Internal Methods ###
# Check value of the requested index
-$validate_index = sub {
+sub _validate_index
+{
+ my $self = shift;
my $index = shift;
if (! defined($index) ||
@@ -231,7 +230,8 @@ $validate_index = sub {
{
require Carp;
my ($method) = (caller(1))[3];
- $method =~ s/Thread::Queue:://;
+ my $class_name = ref($self);
+ $method =~ s/$class_name\:://;
$index = 'undef' if (! defined($index));
Carp::croak("Invalid 'index' argument ($index) to '$method' method");
}
@@ -240,7 +240,9 @@ $validate_index = sub {
};
# Check value of the requested count
-$validate_count = sub {
+sub _validate_count
+{
+ my $self = shift;
my $count = shift;
if (! defined($count) ||
@@ -250,7 +252,8 @@ $validate_count = sub {
{
require Carp;
my ($method) = (caller(1))[3];
- $method =~ s/Thread::Queue:://;
+ my $class_name = ref($self);
+ $method =~ s/$class_name\:://;
$count = 'undef' if (! defined($count));
Carp::croak("Invalid 'count' argument ($count) to '$method' method");
}
@@ -259,7 +262,9 @@ $validate_count = sub {
};
# Check value of the requested timeout
-$validate_timeout = sub {
+sub _validate_timeout
+{
+ my $self = shift;
my $timeout = shift;
if (! defined($timeout) ||
@@ -267,7 +272,8 @@ $validate_timeout = sub {
{
require Carp;
my ($method) = (caller(1))[3];
- $method =~ s/Thread::Queue:://;
+ my $class_name = ref($self);
+ $method =~ s/$class_name\:://;
$timeout = 'undef' if (! defined($timeout));
Carp::croak("Invalid 'timeout' argument ($timeout) to '$method' method");
}
@@ -283,7 +289,7 @@ Thread::Queue - Thread-safe queues
=head1 VERSION
-This document describes Thread::Queue version 3.02
+This document describes Thread::Queue version 3.05
=head1 SYNOPSIS
@@ -447,7 +453,7 @@ L<cond_timedwait()|threads::shared/"cond_timedwait VARIABLE, ABS_TIMEOUT">.
Fractional seconds (e.g., 2.5 seconds) are also supported (to the extent of
the underlying implementation).
-If C<TIMEOUT> is missing, c<undef>, or less than or equal to 0, then this call
+If C<TIMEOUT> is missing, C<undef>, or less than or equal to 0, then this call
behaves the same as C<dequeue_nb>.
=item ->pending()
diff --git a/Master/tlpkg/tlperl/lib/Tie/Array.pm b/Master/tlpkg/tlperl/lib/Tie/Array.pm
index 767cfdd77af..e0516a2f301 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.05';
+our $VERSION = '1.06';
# Pod documentation after __END__ below.
@@ -128,10 +128,10 @@ Tie::Array - base class for tied arrays
sub FETCH { ... }
sub FETCHSIZE { ... }
- sub STORE { ... } # mandatory if elements writeable
- sub STORESIZE { ... } # mandatory if elements can be added/deleted
- sub EXISTS { ... } # mandatory if exists() expected to work
- sub DELETE { ... } # mandatory if delete() expected to work
+ sub STORE { ... } # mandatory if elements writeable
+ sub STORESIZE { ... } # mandatory if elements can be added/deleted
+ sub EXISTS { ... } # mandatory if exists() expected to work
+ sub DELETE { ... } # mandatory if delete() expected to work
# optional methods - for efficiency
sub CLEAR { ... }
diff --git a/Master/tlpkg/tlperl/lib/Tie/File.pm b/Master/tlpkg/tlperl/lib/Tie/File.pm
index a288218a819..16426c0d49e 100644
--- a/Master/tlpkg/tlperl/lib/Tie/File.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/File.pm
@@ -7,7 +7,7 @@ use Fcntl 'O_CREAT', 'O_RDWR', 'LOCK_EX', 'LOCK_SH', 'O_WRONLY', 'O_RDONLY';
sub O_ACCMODE () { O_RDONLY | O_RDWR | O_WRONLY }
-$VERSION = "0.99";
+$VERSION = "1.00";
my $DEFAULT_MEMORY_SIZE = 1<<21; # 2 megabytes
my $DEFAULT_AUTODEFER_THRESHHOLD = 3; # 3 records
my $DEFAULT_AUTODEFER_FILELEN_THRESHHOLD = 65536; # 16 disk blocksful
@@ -656,7 +656,7 @@ sub _mtwrite {
if (@_) {
$unwritten = $self->_downcopy($data, $end, $_[1] - $end);
} else {
- # Make the file longer to accommodate the last segment that doesn'
+ # Make the file longer to accommodate the last segment that doesn't
$unwritten = $self->_downcopy($data, $end);
}
}
@@ -1921,7 +1921,7 @@ sub set_val {
return $oval;
}
-# The hask key has changed for an item;
+# The hash key has changed for an item;
# alter the heap's record of the hash key
sub rekey {
my ($self, $n, $new_key) = @_;
diff --git a/Master/tlpkg/tlperl/lib/Tie/Hash.pm b/Master/tlpkg/tlperl/lib/Tie/Hash.pm
index 1acd829c347..89a6181a335 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.04';
+our $VERSION = '1.05';
=head1 NAME
@@ -22,7 +22,8 @@ Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes
@ISA = qw(Tie::StdHash);
- # All methods provided by default, define only those needing overrides
+ # All methods provided by default, define
+ # only those needing overrides
# Accessors access the storage in %{$_[0]};
# TIEHASH should return a reference to the actual storage
sub DELETE { ... }
@@ -32,10 +33,11 @@ Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes
@ISA = qw(Tie::ExtraHash);
- # All methods provided by default, define only those needing overrides
+ # All methods provided by default, define
+ # only those needing overrides
# Accessors access the storage in %{$_[0][0]};
- # TIEHASH should return an array reference with the first element being
- # the reference to the actual storage
+ # TIEHASH should return an array reference with the first element
+ # being the reference to the actual storage
sub DELETE {
$_[0][1]->('del', $_[0][0], $_[1]); # Call the report writer
delete $_[0][0]->{$_[1]}; # $_[0]->SUPER::DELETE($_[1])
diff --git a/Master/tlpkg/tlperl/lib/Tie/Scalar.pm b/Master/tlpkg/tlperl/lib/Tie/Scalar.pm
index 24e4ae79c3c..b56ac9abd88 100644
--- a/Master/tlpkg/tlperl/lib/Tie/Scalar.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/Scalar.pm
@@ -1,6 +1,6 @@
package Tie::Scalar;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
=head1 NAME
@@ -22,7 +22,8 @@ Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars
@ISA = qw(Tie::StdScalar);
- # All methods provided by default, so define only what needs be overridden
+ # All methods provided by default, so define
+ # only what needs be overridden
sub FETCH { ... }
diff --git a/Master/tlpkg/tlperl/lib/Tie/StdHandle.pm b/Master/tlpkg/tlperl/lib/Tie/StdHandle.pm
index 9192b2e5ee3..0c58b706e40 100644
--- a/Master/tlpkg/tlperl/lib/Tie/StdHandle.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/StdHandle.pm
@@ -5,7 +5,7 @@ use strict;
use Tie::Handle;
use vars qw(@ISA $VERSION);
@ISA = 'Tie::Handle';
-$VERSION = '4.3';
+$VERSION = '4.4';
=head1 NAME
@@ -64,7 +64,8 @@ sub GETC { getc($_[0]) }
sub WRITE
{
my $fh = $_[0];
- print $fh substr($_[1],0,$_[2])
+ local $\; # don't print any line terminator
+ print $fh substr($_[1], $_[3], $_[2]);
}
diff --git a/Master/tlpkg/tlperl/lib/Time/HiRes.pm b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
index 5223ba99e96..cf64bc1fbba 100644
--- a/Master/tlpkg/tlperl/lib/Time/HiRes.pm
+++ b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
@@ -20,10 +20,10 @@ our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
d_nanosleep d_clock_gettime d_clock_getres
d_clock d_clock_nanosleep
- stat
+ stat lstat
);
-our $VERSION = '1.9725';
+our $VERSION = '1.9726';
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -87,7 +87,7 @@ Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers
use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep
clock_gettime clock_getres clock_nanosleep clock
- stat );
+ stat lstat );
usleep ($microseconds);
nanosleep ($nanoseconds);
@@ -125,10 +125,11 @@ Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers
my $ticktock = clock();
- use Time::HiRes qw( stat );
+ use Time::HiRes qw( stat lstat );
my @stat = stat("file");
my @stat = stat(FH);
+ my @stat = lstat("file");
=head1 DESCRIPTION
@@ -168,7 +169,7 @@ any clocks and timers will be imprecise, especially so if you are working
in a pre-emptive multiuser system. Understand the difference between
I<wallclock time> and process time (in UNIX-like systems the sum of
I<user> and I<system> times). Any attempt to sleep for X seconds will
-most probably end up sleeping B<more> than that, but don't be surpised
+most probably end up sleeping B<more> than that, but don't be surprised
if you end up sleeping slightly B<less>.
The following functions can be imported from this module.
@@ -302,7 +303,7 @@ C<$which> can be C<ITIMER_REAL>, C<ITIMER_VIRTUAL>, C<ITIMER_PROF>, or
C<ITIMER_REALPROF>. Note that which ones are available depends: true
UNIX platforms usually have the first three, but only Solaris seems to
have C<ITIMER_REALPROF> (which is used to profile multithreaded programs).
-Win32 unfortunately does not haveinterval timers.
+Win32 unfortunately does not have interval timers.
C<ITIMER_REAL> results in C<alarm()>-like behaviour. Time is counted in
I<real time>; that is, wallclock time. C<SIGALRM> is delivered when
@@ -392,7 +393,14 @@ compatibility limitations the returned value may wrap around at about
=item stat EXPR
-As L<perlfunc/stat> but with the access/modify/change file timestamps
+=item lstat
+
+=item lstat FH
+
+=item lstat EXPR
+
+As L<perlfunc/stat> or L<perlfunc/lstat>
+but with the access/modify/change file timestamps
in subsecond resolution, if the operating system and the filesystem
both support such timestamps. To override the standard stat():
@@ -406,7 +414,8 @@ UNIX filesystems often do; NTFS does; FAT doesn't (FAT timestamp
granularity is B<two> seconds).
A zero return value of &Time::HiRes::d_hires_stat means that
-Time::HiRes::stat is a no-op passthrough for CORE::stat(),
+Time::HiRes::stat is a no-op passthrough for CORE::stat()
+(and likewise for lstat),
and therefore the timestamps will stay integers. The same
thing will happen if the filesystem does not do subsecond timestamps,
even if the &Time::HiRes::d_hires_stat is non-zero.
@@ -476,7 +485,7 @@ time stamp from t1: it may be equal or I<less>.
use Time::HiRes qw( clock_gettime clock_getres CLOCK_REALTIME );
# Read the POSIX high resolution timer.
- my $high = clock_getres(CLOCK_REALTIME);
+ my $high = clock_gettime(CLOCK_REALTIME);
# But how accurate we can be, really?
my $reso = clock_getres(CLOCK_REALTIME);
@@ -586,7 +595,7 @@ Copyright (c) 1996-2002 Douglas E. Wegscheid. All rights reserved.
Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi.
All rights reserved.
-Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
+Copyright (C) 2011, 2012, 2013 Andrew Main (Zefram) <zefram@fysh.org>
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/Time/Piece.pm b/Master/tlpkg/tlperl/lib/Time/Piece.pm
index a3f7fb660b0..f913db99be9 100644
--- a/Master/tlpkg/tlperl/lib/Time/Piece.pm
+++ b/Master/tlpkg/tlperl/lib/Time/Piece.pm
@@ -19,7 +19,7 @@ our %EXPORT_TAGS = (
':override' => 'internal',
);
-our $VERSION = '1.20_01';
+our $VERSION = '1.27';
bootstrap Time::Piece $VERSION;
@@ -415,7 +415,7 @@ sub week {
# Now that we have the Julian day including fractions
# convert it to an integer Julian Day Number using nearest
- # int (since the day changes at midday we oconvert all Julian
+ # int (since the day changes at midday we convert all Julian
# dates to following midnight).
$J = int($J+0.5);
@@ -639,7 +639,7 @@ Time::Piece - Object Oriented time objects
=head1 DESCRIPTION
-This module replaces the standard localtime and gmtime functions with
+This module replaces the standard C<localtime> and C<gmtime> functions with
implementations that return objects. It does so in a backwards
compatible manner, so that using localtime/gmtime in the way documented
in perlfunc will still return what you expect.
@@ -717,6 +717,11 @@ following methods are available on the object:
# see strptime man page. Creates a new
# Time::Piece object
+Note that C<localtime> and C<gmtime> are not listed above. If called as
+methods on a Time::Piece object, they act as constructors, returning a new
+Time::Piece object for the current time. In other words: they're not useful as
+methods.
+
=head2 Local Locales
Both wdayname (day) and monname (month) allow passing in a list to use
@@ -728,7 +733,7 @@ using locales.
my $french_day = localtime->day(@days);
-These settings can be overriden globally too:
+These settings can be overridden globally too:
Time::Piece::day_list(@days);
@@ -860,7 +865,9 @@ well into the future and past.
Matt Sergeant, matt@sergeant.org
Jarkko Hietaniemi, jhi@iki.fi (while creating Time::Piece for core perl)
-=head1 License
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2001, Larry Wall.
This module is free software, you may distribute it under the same terms
as Perl.
diff --git a/Master/tlpkg/tlperl/lib/Time/Seconds.pm b/Master/tlpkg/tlperl/lib/Time/Seconds.pm
index 1ecefa16abb..b001f20402e 100644
--- a/Master/tlpkg/tlperl/lib/Time/Seconds.pm
+++ b/Master/tlpkg/tlperl/lib/Time/Seconds.pm
@@ -1,8 +1,10 @@
package Time::Seconds;
use strict;
-use vars qw/@EXPORT @EXPORT_OK @ISA/;
+use vars qw/@EXPORT @EXPORT_OK/;
-@ISA = 'Exporter';
+our $VERSION = '1.27';
+
+use Exporter 5.57 'import';
@EXPORT = qw(
ONE_MINUTE
@@ -176,6 +178,8 @@ sub pretty {
1;
__END__
+=encoding utf8
+
=head1 NAME
Time::Seconds - a simple API to convert seconds to other date values
@@ -242,11 +246,14 @@ Matt Sergeant, matt@sergeant.org
Tobias Brox, tobiasb@tobiasb.funcom.com
-Bal�zs Szab� (dLux), dlux@kapu.hu
+Balázs Szabó (dLux), dlux@kapu.hu
+
+=head1 COPYRIGHT AND LICENSE
-=head1 LICENSE
+Copyright 2001, Larry Wall.
-Please see Time::Piece for the license.
+This module is free software, you may distribute it under the same terms
+as Perl.
=head1 Bugs
diff --git a/Master/tlpkg/tlperl/lib/Time/Zone.pm b/Master/tlpkg/tlperl/lib/Time/Zone.pm
new file mode 100644
index 00000000000..8a40f9158c8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Time/Zone.pm
@@ -0,0 +1,291 @@
+
+package Time::Zone;
+
+=head1 NAME
+
+Time::Zone -- miscellaneous timezone manipulations routines
+
+=head1 SYNOPSIS
+
+ use Time::Zone;
+ print tz2zone();
+ print tz2zone($ENV{'TZ'});
+ print tz2zone($ENV{'TZ'}, time());
+ print tz2zone($ENV{'TZ'}, undef, $isdst);
+ $offset = tz_local_offset();
+ $offset = tz_offset($TZ);
+
+=head1 DESCRIPTION
+
+This is a collection of miscellaneous timezone manipulation routines.
+
+C<tz2zone()> parses the TZ environment variable and returns a timezone
+string suitable for inclusion in L<date(1)>-like output. It opionally takes
+a timezone string, a time, and a is-dst flag.
+
+C<tz_local_offset()> determins the offset from GMT time in seconds. It
+only does the calculation once.
+
+C<tz_offset()> determines the offset from GMT in seconds of a specified
+timezone.
+
+C<tz_name()> determines the name of the timezone based on its offset
+
+=head1 AUTHORS
+
+Graham Barr <gbarr@pobox.com>
+David Muir Sharnoff <muir@idiom.com>
+Paul Foley <paul@ascent.com>
+
+=cut
+
+require 5.002;
+
+require Exporter;
+use Carp;
+use strict;
+use vars qw(@ISA @EXPORT $VERSION @tz_local);
+
+@ISA = qw(Exporter);
+@EXPORT = qw(tz2zone tz_local_offset tz_offset tz_name);
+$VERSION = "2.24";
+
+# Parts stolen from code by Paul Foley <paul@ascent.com>
+
+sub tz2zone (;$$$)
+{
+ my($TZ, $time, $isdst) = @_;
+
+ use vars qw(%tzn_cache);
+
+ $TZ = defined($ENV{'TZ'}) ? ( $ENV{'TZ'} ? $ENV{'TZ'} : 'GMT' ) : ''
+ unless $TZ;
+
+ # Hack to deal with 'PST8PDT' format of TZ
+ # Note that this can't deal with all the esoteric forms, but it
+ # does recognize the most common: [:]STDoff[DST[off][,rule]]
+
+ if (! defined $isdst) {
+ my $j;
+ $time = time() unless $time;
+ ($j, $j, $j, $j, $j, $j, $j, $j, $isdst) = localtime($time);
+ }
+
+ if (defined $tzn_cache{$TZ}->[$isdst]) {
+ return $tzn_cache{$TZ}->[$isdst];
+ }
+
+ if ($TZ =~ /^
+ ( [^:\d+\-,] {3,} )
+ ( [+-] ?
+ \d {1,2}
+ ( : \d {1,2} ) {0,2}
+ )
+ ( [^\d+\-,] {3,} )?
+ /x
+ ) {
+ my $dsttz = defined($4) ? $4 : $1;
+ $TZ = $isdst ? $dsttz : $1;
+ $tzn_cache{$TZ} = [ $1, $dsttz ];
+ } else {
+ $tzn_cache{$TZ} = [ $TZ, $TZ ];
+ }
+ return $TZ;
+}
+
+sub tz_local_offset (;$)
+{
+ my ($time) = @_;
+
+ $time = time() unless $time;
+ my (@l) = localtime($time);
+ my $isdst = $l[8];
+
+ if (defined($tz_local[$isdst])) {
+ return $tz_local[$isdst];
+ }
+
+ $tz_local[$isdst] = &calc_off($time);
+
+ return $tz_local[$isdst];
+}
+
+sub calc_off
+{
+ my ($time) = @_;
+
+ my (@l) = localtime($time);
+ my (@g) = gmtime($time);
+
+ my $off;
+
+ $off = $l[0] - $g[0]
+ + ($l[1] - $g[1]) * 60
+ + ($l[2] - $g[2]) * 3600;
+
+ # subscript 7 is yday.
+
+ if ($l[7] == $g[7]) {
+ # done
+ } elsif ($l[7] == $g[7] + 1) {
+ $off += 86400;
+ } elsif ($l[7] == $g[7] - 1) {
+ $off -= 86400;
+ } elsif ($l[7] < $g[7]) {
+ # crossed over a year boundry!
+ # localtime is beginning of year, gmt is end
+ # therefore local is ahead
+ $off += 86400;
+ } else {
+ $off -= 86400;
+ }
+
+ return $off;
+}
+
+# constants
+
+CONFIG: {
+ use vars qw(%dstZone %zoneOff %dstZoneOff %Zone);
+
+ my @dstZone = (
+ # "ndt" => -2*3600-1800, # Newfoundland Daylight
+ "brst" => -2*3600, # Brazil Summer Time (East Daylight)
+ "adt" => -3*3600, # Atlantic Daylight
+ "edt" => -4*3600, # Eastern Daylight
+ "cdt" => -5*3600, # Central Daylight
+ "mdt" => -6*3600, # Mountain Daylight
+ "pdt" => -7*3600, # Pacific Daylight
+ "akdt" => -8*3600, # Alaska Daylight
+ "ydt" => -8*3600, # Yukon Daylight
+ "hdt" => -9*3600, # Hawaii Daylight
+ "bst" => +1*3600, # British Summer
+ "mest" => +2*3600, # Middle European Summer
+ "metdst" => +2*3600, # Middle European DST
+ "sst" => +2*3600, # Swedish Summer
+ "fst" => +2*3600, # French Summer
+ "cest" => +2*3600, # Central European Daylight
+ "eest" => +3*3600, # Eastern European Summer
+ "msd" => +4*3600, # Moscow Daylight
+ "wadt" => +8*3600, # West Australian Daylight
+ "kdt" => +10*3600, # Korean Daylight
+ # "cadt" => +10*3600+1800, # Central Australian Daylight
+ "aedt" => +11*3600, # Eastern Australian Daylight
+ "eadt" => +11*3600, # Eastern Australian Daylight
+ "nzd" => +13*3600, # New Zealand Daylight
+ "nzdt" => +13*3600, # New Zealand Daylight
+ );
+
+ my @Zone = (
+ "gmt" => 0, # Greenwich Mean
+ "ut" => 0, # Universal (Coordinated)
+ "utc" => 0,
+ "wet" => 0, # Western European
+ "wat" => -1*3600, # West Africa
+ "at" => -2*3600, # Azores
+ "fnt" => -2*3600, # Brazil Time (Extreme East - Fernando Noronha)
+ "brt" => -3*3600, # Brazil Time (East Standard - Brasilia)
+ # For completeness. BST is also British Summer, and GST is also Guam Standard.
+ # "bst" => -3*3600, # Brazil Standard
+ # "gst" => -3*3600, # Greenland Standard
+ # "nft" => -3*3600-1800,# Newfoundland
+ # "nst" => -3*3600-1800,# Newfoundland Standard
+ "mnt" => -4*3600, # Brazil Time (West Standard - Manaus)
+ "ewt" => -4*3600, # U.S. Eastern War Time
+ "ast" => -4*3600, # Atlantic Standard
+ "est" => -5*3600, # Eastern Standard
+ "act" => -5*3600, # Brazil Time (Extreme West - Acre)
+ "cst" => -6*3600, # Central Standard
+ "mst" => -7*3600, # Mountain Standard
+ "pst" => -8*3600, # Pacific Standard
+ "akst" => -9*3600, # Alaska Standard
+ "yst" => -9*3600, # Yukon Standard
+ "hst" => -10*3600, # Hawaii Standard
+ "cat" => -10*3600, # Central Alaska
+ "ahst" => -10*3600, # Alaska-Hawaii Standard
+ "nt" => -11*3600, # Nome
+ "idlw" => -12*3600, # International Date Line West
+ "cet" => +1*3600, # Central European
+ "mez" => +1*3600, # Central European (German)
+ "ect" => +1*3600, # Central European (French)
+ "met" => +1*3600, # Middle European
+ "mewt" => +1*3600, # Middle European Winter
+ "swt" => +1*3600, # Swedish Winter
+ "set" => +1*3600, # Seychelles
+ "fwt" => +1*3600, # French Winter
+ "eet" => +2*3600, # Eastern Europe, USSR Zone 1
+ "ukr" => +2*3600, # Ukraine
+ "bt" => +3*3600, # Baghdad, USSR Zone 2
+ "msk" => +3*3600, # Moscow
+ # "it" => +3*3600+1800,# Iran
+ "zp4" => +4*3600, # USSR Zone 3
+ "zp5" => +5*3600, # USSR Zone 4
+ # "ist" => +5*3600+1800,# Indian Standard
+ "zp6" => +6*3600, # USSR Zone 5
+ # For completeness. NST is also Newfoundland Stanard, and SST is also Swedish Summer.
+ # "nst" => +6*3600+1800,# North Sumatra
+ # "sst" => +7*3600, # South Sumatra, USSR Zone 6
+ # "jt" => +7*3600+1800,# Java (3pm in Cronusland!)
+ "wst" => +8*3600, # West Australian Standard
+ "hkt" => +8*3600, # Hong Kong
+ "cct" => +8*3600, # China Coast, USSR Zone 7
+ "jst" => +9*3600, # Japan Standard, USSR Zone 8
+ "kst" => +9*3600, # Korean Standard
+ # "cast" => +9*3600+1800,# Central Australian Standard
+ "aest" => +10*3600, # Eastern Australian Standard
+ "east" => +10*3600, # Eastern Australian Standard
+ "gst" => +10*3600, # Guam Standard, USSR Zone 9
+ "nzt" => +12*3600, # New Zealand
+ "nzst" => +12*3600, # New Zealand Standard
+ "idle" => +12*3600, # International Date Line East
+ );
+
+ %Zone = @Zone;
+ %dstZone = @dstZone;
+ %zoneOff = reverse(@Zone);
+ %dstZoneOff = reverse(@dstZone);
+
+}
+
+sub tz_offset (;$$)
+{
+ my ($zone, $time) = @_;
+
+ return &tz_local_offset($time) unless($zone);
+
+ $time = time() unless $time;
+ my(@l) = localtime($time);
+ my $dst = $l[8];
+
+ $zone = lc $zone;
+
+ if($zone =~ /^(([\-\+])\d\d?)(\d\d)$/) {
+ my $v = $2 . $3;
+ return $1 * 3600 + $v * 60;
+ } elsif (exists $dstZone{$zone} && ($dst || !exists $Zone{$zone})) {
+ return $dstZone{$zone};
+ } elsif(exists $Zone{$zone}) {
+ return $Zone{$zone};
+ }
+ undef;
+}
+
+sub tz_name (;$$)
+{
+ my ($off, $dst) = @_;
+
+ $off = tz_offset()
+ unless(defined $off);
+
+ $dst = (localtime(time))[8]
+ unless(defined $dst);
+
+ if (exists $dstZoneOff{$off} && ($dst || !exists $zoneOff{$off})) {
+ return $dstZoneOff{$off};
+ } elsif (exists $zoneOff{$off}) {
+ return $zoneOff{$off};
+ }
+ sprintf("%+05d", int($off / 60) * 100 + $off % 60);
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Tk.pm b/Master/tlpkg/tlperl/lib/Tk.pm
index 8a860b7389b..831eef8e3fc 100644
--- a/Master/tlpkg/tlperl/lib/Tk.pm
+++ b/Master/tlpkg/tlperl/lib/Tk.pm
@@ -71,7 +71,7 @@ $Tk::CHANGE = 'git-controlled';
# is created, $VERSION is checked by bootstrap
$Tk::version = '8.4';
$Tk::patchLevel = '8.4';
-$Tk::VERSION = '804.032';
+$Tk::VERSION = '804.033';
$Tk::VERSION =~ s{_}{};
$Tk::XS_VERSION = $Tk::VERSION;
$Tk::strictMotif = 0;
diff --git a/Master/tlpkg/tlperl/lib/Tk.pod b/Master/tlpkg/tlperl/lib/Tk.pod
new file mode 100644
index 00000000000..4cdf3a0df19
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk.pod
@@ -0,0 +1,865 @@
+=head1 NAME
+
+Tk - a graphical user interface toolkit for Perl
+
+=head1 SYNOPSIS
+
+ use Tk;
+ $top = new MainWindow;
+ MainLoop;
+
+=head1 DESCRIPTION
+
+The Perl/Tk manual is split up into a number of sections:
+
+=head2 Introduction
+
+=over 4
+
+=item *
+
+L<Tk::overview|Tk::overview>
+
+=item *
+
+L<Tk::UserGuide|Tk::UserGuide>
+
+=back
+
+=head2 Tk Geometry Management
+
+=over 4
+
+=item *
+
+L<Tk::Adjuster|Tk::Adjuster>
+
+=item *
+
+L<Tk::form|Tk::form>
+
+=item *
+
+L<Tk::grid|Tk::grid>
+
+=item *
+
+L<Tk::pack|Tk::pack>
+
+=item *
+
+L<Tk::place|Tk::place>
+
+=item *
+
+L<Tk::Table|Tk::Table>
+
+=item *
+
+L<Tk::Tiler|Tk::Tiler>
+
+=item *
+
+L<Tk::Wm|Tk::Wm>
+
+=back
+
+=head2 Binding Events and Callbacks
+
+=over 4
+
+=item *
+
+L<Tk::after|Tk::after>
+
+=item *
+
+L<Tk::bind|Tk::bind>
+
+=item *
+
+L<Tk::bindtags|Tk::bindtags>
+
+=item *
+
+L<Tk::callbacks|Tk::callbacks>
+
+=item *
+
+L<Tk::Error|Tk::Error>
+
+=item *
+
+L<Tk::event|Tk::event>
+
+=item *
+
+L<Tk::exit|Tk::exit>
+
+=item *
+
+L<Tk::fileevent|Tk::fileevent>
+
+=item *
+
+L<Tk::IO|Tk::IO>
+
+=back
+
+=head2 Tk Image Classes
+
+=over 4
+
+=item *
+
+L<Tk::Animation|Tk::Animation>
+
+=item *
+
+L<Tk::Bitmap|Tk::Bitmap>
+
+=item *
+
+L<Tk::Compound|Tk::Compound>
+
+=item *
+
+L<Tk::Image|Tk::Image>
+
+=item *
+
+L<Tk::JPEG|Tk::JPEG>
+
+=item *
+
+L<Tk::Photo|Tk::Photo>
+
+=item *
+
+L<Tk::Pixmap|Tk::Pixmap>
+
+=item *
+
+L<Tk::PNG|Tk::PNG>
+
+=back
+
+=head2 Tk Widget Classes
+
+=over 4
+
+=item *
+
+L<Tk::Button|Tk::Button>
+
+=item *
+
+L<Tk::Canvas|Tk::Canvas>
+
+=item *
+
+L<Tk::Checkbutton|Tk::Checkbutton>
+
+=item *
+
+L<Tk::Entry|Tk::Entry>
+
+=item *
+
+L<Tk::Frame|Tk::Frame>
+
+=item *
+
+L<Tk::HList|Tk::HList>
+
+=item *
+
+L<Tk::Label|Tk::Label>
+
+=item *
+
+L<Tk::Listbox|Tk::Listbox>
+
+=item *
+
+L<Tk::Menu|Tk::Menu>
+
+=item *
+
+L<Tk::Menubutton|Tk::Menubutton>
+
+=item *
+
+L<Tk::Message|Tk::Message>
+
+=item *
+
+L<Tk::Optionmenu|Tk::Optionmenu>
+
+=item *
+
+L<Tk::Radiobutton|Tk::Radiobutton>
+
+=item *
+
+L<Tk::Scale|Tk::Scale>
+
+=item *
+
+L<Tk::Scrollbar|Tk::Scrollbar>
+
+=item *
+
+L<Tk::Text|Tk::Text>
+
+=item *
+
+L<Tk::Toplevel|Tk::Toplevel>
+
+=back
+
+=head2 Tix Extensions
+
+=over 4
+
+=item *
+
+L<Tk::Balloon|Tk::Balloon>
+
+=item *
+
+L<Tk::BrowseEntry|Tk::BrowseEntry>
+
+=item *
+
+L<Tk::DialogBox|Tk::DialogBox>
+
+=item *
+
+L<Tk::DirTree|Tk::DirTree>
+
+=item *
+
+L<Tk::DItem|Tk::DItem>
+
+=item *
+
+L<Tk::InputO|Tk::InputO>
+
+=item *
+
+L<Tk::LabFrame|Tk::LabFrame>
+
+=item *
+
+L<Tk::Mwm|Tk::Mwm>
+
+=item *
+
+L<Tk::NoteBook|Tk::NoteBook>
+
+=item *
+
+L<Tk::TixGrid|Tk::TixGrid>
+
+=item *
+
+L<Tk::tixWm|Tk::tixWm>
+
+=item *
+
+L<Tk::TList|Tk::TList>
+
+=item *
+
+L<Tk::Tree|Tk::Tree>
+
+=back
+
+=head2 Tk Generic Methods
+
+=over 4
+
+=item *
+
+L<Tk::Font|Tk::Font>
+
+=item *
+
+L<Tk::send|Tk::send>
+
+=item *
+
+L<Tk::tkvars|Tk::tkvars>
+
+=item *
+
+L<Tk::Widget|Tk::Widget>
+
+=item *
+
+L<Tk::X11Font|Tk::X11Font>
+
+=back
+
+=head2 User Interaction
+
+=over 4
+
+=item *
+
+L<Tk::DropSite|Tk::DropSite>
+
+=item *
+
+L<Tk::Clipboard|Tk::Clipboard>
+
+=item *
+
+L<Tk::focus|Tk::focus>
+
+=item *
+
+L<Tk::grab|Tk::grab>
+
+=item *
+
+L<Tk::selection|Tk::selection>
+
+=back
+
+=head2 Creating and Configuring Widgets
+
+=over 4
+
+=item *
+
+L<Tk::CmdLine|Tk::CmdLine>
+
+=item *
+
+L<Tk::MainWindow|Tk::MainWindow>
+
+=item *
+
+L<Tk::option|Tk::option>
+
+=item *
+
+L<Tk::options|Tk::options>
+
+=item *
+
+L<Tk::palette|Tk::palette>
+
+=item *
+
+L<Tk::Xrm|Tk::Xrm>
+
+=back
+
+=head2 Popups and Dialogs
+
+=over 4
+
+=item *
+
+L<Tk::chooseColor|Tk::chooseColor>
+
+=item *
+
+L<Tk::chooseDirectory|Tk::chooseDirectory>
+
+=item *
+
+L<Tk::ColorEditor|Tk::ColorEditor>
+
+=item *
+
+L<Tk::Dialog|Tk::Dialog>
+
+=item *
+
+L<Tk::DialogBox|Tk::DialogBox>
+
+=item *
+
+L<Tk::FBox|Tk::FBox>
+
+=item *
+
+L<Tk::FileSelect|Tk::FileSelect>
+
+=item *
+
+L<Tk::getOpenFile|Tk::getOpenFile>
+
+=item *
+
+L<Tk::messageBox|Tk::messageBox>
+
+=item *
+
+L<Tk::MsgBox|Tk::MsgBox>
+
+=back
+
+=head2 Derived Widgets
+
+=over 4
+
+=item *
+
+L<Tk::composite|Tk::composite>
+
+=item *
+
+L<Tk::configspec|Tk::configspec>
+
+=item *
+
+L<Tk::Derived|Tk::Derived>
+
+=item *
+
+L<Tk::mega|Tk::mega>
+
+=item *
+
+L<Tk::ROText|Tk::ROText>
+
+=item *
+
+L<Tk::Scrolled|Tk::Scrolled>
+
+=item *
+
+L<Tk::TextUndo|Tk::TextUndo>
+
+=item *
+
+L<Tk::Reindex|Tk::Reindex>
+
+=item *
+
+L<Tk::Pane|Tk::Pane>
+
+=item *
+
+L<Tk::ProgressBar|Tk::ProgressBar>
+
+=back
+
+=head2 C Programming
+
+=over 4
+
+=item *
+
+Internals
+
+=item *
+
+pTk
+
+=item *
+
+3DBorder
+
+=item *
+
+BackgdErr
+
+=item *
+
+BindTable
+
+=item *
+
+CanvPsY
+
+=item *
+
+CanvTkwin
+
+=item *
+
+CanvTxtInfo
+
+=item *
+
+Clipboard
+
+=item *
+
+ClrSelect
+
+=item *
+
+ConfigWidg
+
+=item *
+
+ConfigWind
+
+=item *
+
+CoordToWin
+
+=item *
+
+CrtErrHdlr
+
+=item *
+
+CrtGenHdlr
+
+=item *
+
+CrtImgType
+
+=item *
+
+CrtItemType
+
+=item *
+
+CrtMainWin
+
+=item *
+
+CrtPhImgFmt
+
+=item *
+
+CrtSelHdlr
+
+=item *
+
+CrtWindow
+
+=item *
+
+DeleteImg
+
+=item *
+
+DoOneEvent
+
+=item *
+
+DoWhenIdle
+
+=item *
+
+DrawFocHlt
+
+=item *
+
+EventHndlr
+
+=item *
+
+EventInit
+
+=item *
+
+FileHndlr
+
+=item *
+
+FindPhoto
+
+=item *
+
+FontId
+
+=item *
+
+FreeXId
+
+=item *
+
+GeomReq
+
+=item *
+
+GetAnchor
+
+=item *
+
+GetBitmap
+
+=item *
+
+GetCapStyl
+
+=item *
+
+GetClrmap
+
+=item *
+
+GetColor
+
+=item *
+
+GetCursor
+
+=item *
+
+GetFont
+
+=item *
+
+GetFontStr
+
+=item *
+
+GetGC
+
+=item *
+
+GetImage
+
+=item *
+
+GetJoinStl
+
+=item *
+
+GetJustify
+
+=item *
+
+GetOption
+
+=item *
+
+GetPixels
+
+=item *
+
+GetPixmap
+
+=item *
+
+GetRelief
+
+=item *
+
+GetRootCrd
+
+=item *
+
+GetScroll
+
+=item *
+
+GetSelect
+
+=item *
+
+GetUid
+
+=item *
+
+GetVisual
+
+=item *
+
+GetVRoot
+
+=item *
+
+HandleEvent
+
+=item *
+
+IdToWindow
+
+=item *
+
+ImgChanged
+
+=item *
+
+InternAtom
+
+=item *
+
+MainLoop
+
+=item *
+
+MaintGeom
+
+=item *
+
+MainWin
+
+=item *
+
+ManageGeom
+
+=item *
+
+MapWindow
+
+=item *
+
+MeasureChar
+
+=item *
+
+MoveToplev
+
+=item *
+
+Name
+
+=item *
+
+NameOfImg
+
+=item *
+
+OwnSelect
+
+=item *
+
+ParseArgv
+
+=item *
+
+Preserve
+
+=item *
+
+QWinEvent
+
+=item *
+
+Restack
+
+=item *
+
+RestrictEv
+
+=item *
+
+SetAppName
+
+=item *
+
+SetClass
+
+=item *
+
+SetGrid
+
+=item *
+
+SetVisual
+
+=item *
+
+Sleep
+
+=item *
+
+StrictMotif
+
+=item *
+
+TextLayout
+
+=item *
+
+TimerHndlr
+
+=item *
+
+Tk_Init
+
+=item *
+
+WindowId
+
+=back
+
+=head2 Implementation
+
+=over 4
+
+=item *
+
+L<Tk::Eventloop|Tk::Eventloop>
+
+=item *
+
+L<Tk::Menu::Item|Tk::Menu::Item>
+
+=item *
+
+L<Tk::Submethods|Tk::Submethods>
+
+=item *
+
+L<Tk::WidgetDemo|Tk::WidgetDemo>
+
+=item *
+
+L<Tk::widgets|Tk::widgets>
+
+=back
+
+=head2 Experimental Modules
+
+=over 4
+
+=item *
+
+L<Tk::Common|Tk::Common>
+
+=item *
+
+L<Tk::SunConst|Tk::SunConst>
+
+=item *
+
+L<Tk::WinPhoto|Tk::WinPhoto>
+
+=back
+
+=head2 Other Modules and Languages
+
+=over 4
+
+=item *
+
+Tk::Compile
+
+=item *
+
+L<Tk::Tcl-perl|Tk::Tcl-perl>
+
+=item *
+
+L<Tk::X|Tk::X>
+
+=back
+
+
+=head1 AUTHOR
+
+Nick Ing-Simmons
+
+=head1 SEE ALSO
+
+L<perl>, L<wish(1)>.
+
+Alternative Perl modules implementing the Tk toolkit: L<Tkx>,
+L<Tcl::Tk>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/804delta.pod b/Master/tlpkg/tlperl/lib/Tk/804delta.pod
new file mode 100644
index 00000000000..1472f38c86b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/804delta.pod
@@ -0,0 +1,110 @@
+=head1 NAME
+
+Tk::804delta - what is new for perl/Tk 804
+
+=head1 DESCRIPTION
+
+This document describes differences between the Tk800 series and the
+Tk804 series.
+
+=head1 Incompatible Changes
+
+In Tk804.028, there are some additional incompatible changes:
+
+Return values of some B<Tk::Wm> methods (e.g. B<aspect>, B<wmGrid>,
+B<iconposition>, B<resizable> ...) were changed from returning tclish
+lists (e.g. "1 2 3 4") to perlish lists (1,2,3,4).
+
+B<Tk::Wm::wmTracing> needs argument for setting on/off, without argument
+just return the current value.
+
+All Tk804 releases have the following incompatible changes:
+
+Tk804 will only work with perl 5.8.0 and above. For older perl
+versions look for Tk800.025.
+
+B<curselection> of B<Tk::Listbox> now returns an array reference in
+scalar context. This means you have to write
+
+ my(@selected) = $listbox->curselection
+
+or
+
+ my(@selected) = @{ $listbox->curselection }
+
+now.
+
+The B<fontActual> method now returns the pixel value instead of the
+point value for B<-size>. Pixel values are expressed as negative
+numbers.
+
+Some enhancements from the E<quot>dashE<quot> patches are lost for now
+(i.e. B<-tile>, B<-troughtile> ...).
+
+The B<-state> option is not available anymore for B<Tk::Text> tags.
+Use B<-elide> instead.
+
+=head1 Enhancements
+
+Tk804 is Unicode-aware.
+
+It is possible to build Tk with Xft support on X11. This is strongly
+recommened if you are planning to make use of Unicode rendering
+capabilities of Tk. It also gives anti-aliased fonts for regular text
+(if you have TrueType or Type1 fonts and they are in your fontconfig
+config file).
+
+The new method B<chooseDirectory> is available as a standard directory
+selector.
+
+B<Tk::PNG> and B<Tk::JPEG> are bundled now with the perl/Tk
+distribution, providing support for the image formats B<png> and
+B<jpeg>.
+
+Improvements to B<Tk::Listbox>: new option B<-activestyle>, new
+methods B<itemconfigure> and B<itemcget>, new virtual event B<<<
+<<ListboxSelect>> >>>.
+
+More tests.
+
+=head1 New Widgets
+
+=over
+
+=item Tk::Labelframe
+
+An alternative to B<Tk::LabFrame>.
+
+=item Tk::Panedwindow
+
+An alternative to B<Tk::Adjuster>.
+
+=item Tk::Spinbox
+
+An alternative to the CPAN module B<Tk::NumEntry>.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=head1 Changed Internals
+
+=head1 Platform Specific Problems
+
+=head1 Future Directions
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.tk newsgroup.
+
+If you believe you have an unreported bug, please send a mail to <ptk@lists.stanford.edu> and/or <nick@ing-simmons.net>. Be sure to trim your bug down
+to a tiny but sufficient test case.
+
+=head1 SEE ALSO
+
+L<Tk>, C<Changes> file in the Perl/Tk distribution.
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Adjuster.pod b/Master/tlpkg/tlperl/lib/Tk/Adjuster.pod
new file mode 100644
index 00000000000..7d094f4e262
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Adjuster.pod
@@ -0,0 +1,223 @@
+
+=head1 NAME
+
+Tk::Adjuster - Allow size of packed widgets to be adjusted by user
+
+=for pm Tk/Adjuster.pm
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+use Tk::Adjuster;
+
+I<$adjuster> = I<$widget>->B<Adjuster>I<(?options?)>;
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<restore>
+
+=item Class: B<Restore>
+
+=item Switch: B<-restore>
+
+Specifies a boolean value that determines whether the Adjuster
+should forcibly attempt to make room
+for itself (by reducing the size of its managed widget) when it is
+unmapped (for example, due to a size change in a top level window).
+The default value is 1.
+
+=item Name: B<side>
+
+=item Class: B<Side>
+
+=item Switch: B<-side>
+
+Specifies the side on which the managed widget lies relative to the
+Adjuster. In conjunction with the pack geometry manager, this relates to
+the side of the master against which the managed widget and the Adjuster
+are packed.
+Must be B<left>, B<right>, B<top>, or B<bottom>. Defaults to B<top>.
+
+=item Name: B<widget>
+
+=item Class: B<Widget>
+
+=item Switch: B<-widget>
+
+Specifies the widget which is to be managed by the Adjuster.
+
+=back
+
+=head1 DESCRIPTION
+
+B<Tk::Adjuster> is a Frame containing a "line" and a "blob".
+
+Dragging with Mouse Button-1 results in a line being dragged
+to indicate new size. Releasing Button-1 submits GeometryRequests
+on behalf of the managed widget which will cause the packer to change the
+widget's size.
+
+If Drag is done with Shift button down, then GeometryRequests are made
+in "real time" so that text-flow effects can be seen, but as a lot more
+work is done behaviour may be sluggish.
+
+If widget is packed with -side => left or -side => right then width is
+adjusted. If packed -side => top or -side => bottom then height is adjusted.
+
+B<packPropagate> is turned off for the master window to prevent adjustment
+changing overall window size. Similarly B<packPropagate> is turned off
+for the managed widget if it has things packed inside it. This is so that
+the GeometryRequests made by B<Tk::Adjuster> are not overridden by pack.
+
+In addition, the managed widget is made non-expandable
+to prevent the geometry manager reallocating freed space in the master
+back to the managed widget.
+Note however that expansion is turned off only after the Adjuster is mapped,
+which allows the managed widget to expand naturally on window creation.
+
+The Tk::Widget method, B<packAdjust>, calls pack on the widget, then
+creates an instance of B<Tk::Adjuster>,
+and packs that "after" the widget. Its use has two disadvantages however: the
+Adjuster widget is not made available to the caller, and
+options cannot be set on the Adjuster. For these reasons, the Tk::Adjuster
+method, B<packAfter> is preferred, but B<packAdjust> is retained
+for backwards compatibility.
+
+=head1 WIDGET METHODS
+
+=over 4
+
+=item I<$adjuster>->B<packAfter>(I<managed_widget, ?pack_options?>)
+
+This command configures the Adjuster's B<-widget> and B<-side> options
+respectively to I<managed_widget> and the B<-side> value specified in
+I<pack_options> (B<top> if not specified). It then packs the Adjuster
+after I<managed_widget>, with B<-fill> set to B<x> or B<y> as appropriate.
+
+=item I<$adjuster>->B<packForget>I<?(boolean)?>
+
+This command calls B<Tk::Widget::packForget> on the Adjuster.
+If a parameter is provided and it has a true boolean value, then
+B<packForget> is also called on the managed widget.
+
+=item I<$adjuster>->B<slave>
+
+This command returns the value I<$adjuster>->I<cget('-widget')>, ie. the
+reference to the managed widget.
+
+=back
+
+=head1 EXAMPLES
+
+B<Using an Adjuster to separate two widgets, whereby the left widget
+is managed, and right widget expands to fill space on a window resize>
+
+a) Using packAfter (preferred interface)
+
+ use Tk;
+ use Tk::Adjuster;
+
+ my $f = MainWindow->new;
+ my $lst1 = $f->Listbox();
+ my $adj1 = $f->Adjuster();
+ my $lst2 = $f->Listbox();
+
+ my $side = 'left';
+ $lst1->pack(-side => $side, -fill => 'both', -expand => 1);
+ $adj1->packAfter($lst1, -side => $side);
+ $lst2->pack(-side => $side, -fill => 'both', -expand => 1);
+ MainLoop;
+
+b) Using packAdjust
+
+ use Tk;
+ use Tk::Adjuster;
+
+ my $f = MainWindow->new;
+ my $lst1 = $f->Listbox();
+ my $lst2 = $f->Listbox();
+
+ my $side = 'left';
+ $lst1->packAdjust(-side => $side, -fill => 'both');
+ $lst2->pack (-side => $side, -fill => 'both', -expand => 1);
+ MainLoop;
+
+c) Using the standard Tk::Widget::pack
+
+ use Tk;
+ use Tk::Adjuster;
+
+ my $f = MainWindow->new;
+ my $side = 'left';
+ my $lst1 = $f->Listbox();
+ my $adj = $f->Adjuster(-widget => $lst1, -side => $side);
+ my $lst2 = $f->Listbox();
+
+ $lst1->pack(-side => $side, -fill => 'both', -expand => 1);
+ $adj->pack (-side => $side, -fill => 'y');
+ $lst2->pack(-side => $side, -fill => 'both', -expand => 1);
+
+ MainLoop;
+
+Changing the above examples so that $side has the value 'right' means the
+left widget expands to fill space on a window resize.
+
+Changing the above examples so that $side has the value 'top'
+produces a testcase with a horizontal Adjuster.
+Here the bottom widget expands to fill space on a window resize.
+Packing to the 'bottom' makes the top widget expand to fill space on window
+resize.
+
+B<Using -restore =E<gt> 0 for multiple columns>
+
+In the case of multiple columns (or rows) the "restore" functionality of the
+Adjuster can be inconvenient. When the user adjusts the width of one column
+and thereby pushes the Adjuster of another column off the window, this
+adjuster tries to restore itself by reducing the size of its managed widget.
+This has the effect that column widths shrink; and the original size
+is not restored when
+the user reverses the originating change. The B<-restore> option can be
+used to turn off this functionality. (It makes some sense, however, to
+leave B<-restore>
+turned on for the first-packed Adjuster, so that at least one Adjuster
+always remains visible.)
+
+ use Tk;
+ use Tk::Adjuster;
+ my $f = MainWindow->new;
+ my $lst1 = $f->Listbox();
+ my $adj1 = $f->Adjuster();
+ my $lst2 = $f->Listbox();
+ my $adj2 = $f->Adjuster(-restore => 0);
+ my $lst3 = $f->Listbox();
+
+ my $side = 'left';
+ $lst1->pack(-side => $side, -fill => 'both', -expand => 1);
+ $adj1->packAfter($lst1, -side => $side);
+ $lst2->pack(-side => $side, -fill => 'both', -expand => 1);
+ $adj2->packAfter($lst2, -side => $side);
+ $lst3->pack(-side => $side, -fill => 'both', -expand => 1);
+
+ MainLoop;
+
+=head1 BUGS
+
+It is currently not possible to configure the appearance of the Adjuster.
+It would be nice to be able to set the width and relief of the Adjuster "line"
+and the presence/absence of the "blob" on the Adjuster.
+
+Tk::Adjuster works theoretically with the grid geometry manager but there
+are currently some problems which seem to be due to bugs in grid:
+
+ a) There's never an Unmap event for the adjuster, so the "restore"
+ functionality has no effect.
+ b) After adjusting, widgets protrude into the border of the master.
+ c) grid('Propagate', 0) on MainWindow has no effect - window shrinks/grows
+ when widgets are adjusted.
+ d) Widgets shuffle to correct position on startup
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Animation.pod b/Master/tlpkg/tlperl/lib/Tk/Animation.pod
new file mode 100644
index 00000000000..996b035b1c5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Animation.pod
@@ -0,0 +1,92 @@
+
+=head1 NAME
+
+Tk::Animation - Display sequence of Tk::Photo images
+
+=for pm Tk/Animation.pm
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+ use Tk::Animation
+ my $img = $widget->Animation('-format' => 'gif', -file => 'somefile.gif');
+
+ $img->add_frame(@images);
+
+ $img->start_animation;
+ $img->start_animation( $period );
+
+ $img->next_image;
+ $img->prev_image;
+ $img->set_image( 0 .. $#frames );
+
+ $img->pause_animation;
+ $img->resume_animation( $period );
+
+ $img->fast_forward( $multiplier );
+ $img->fast_reverse( $multiplier );
+
+ $img->stop_animation;
+
+ $img->set_disposal_method( $boolean );
+
+=head1 DESCRIPTION
+
+In the simple case when C<Animation> is passed a GIF89 style GIF with
+multiple 'frames', it will build an internal array of C<Photo> images.
+
+The C<add_frame> method adds images to the sequence. It is provided
+to allow animations to be constructed from separate images.
+All images must be C<Photo>s and should all be the same size.
+
+C<start_animation($period)> then initiates a C<repeat> with specified
+I<$period> to sequence through these images. As for raw C<repeat>
+I<$period> is in milliseconds, for a 50Hz monitor it should be at
+least 20ms. If I<$period> is omitted it is determined from the GIF
+metadata (see below), or if this is not possible it defaults to 100
+milliseconds.
+
+C<stop_animation> cancels the C<repeat> and resets the image to the first
+image in the sequence.
+
+For fine-grained control C<next_image> and C<prev_image> move one frame forward
+or backward. C<set_image> randomly positions the animation to a particular frame.
+
+C<pause_animation> pauses the movie and C<resume_animation> continues from the
+pause point.
+
+C<fast_forward> and C<fast_reverse> speed through the movie either
+forwards or backwards. $multiplier specifies how much faster the
+animation moves.
+
+If L<Image::Info> is installed, then the repeat period time and
+disposal method of GIF animations are determined from the GIF metadata
+directly. Otherwise the disposal method must be set manually by using
+C<set_disposal_method> (1 for blanking the previous images, 0 for
+leaving the previous images as is). The repeat period time may be
+given in the C<start_animation> method.
+
+=head1 NOTES
+
+C<set_disposal_method> was formerly known as C<blank> method, but the
+naming of this method was a mistake.
+
+If the disposal method is not set correctly, either by
+C<set_disposal_method> or by determining from the GIF metadata, then
+the following may happen: By default Animation leaves the previous
+movie frame in the animation photo. Many times overlaying subsequent
+frames produces a composite that looks blurred.
+
+=head1 BUGS
+
+This module should not depend on a module which is not declared as a
+dependency (Image::Info).
+
+The delays between images may vary in a GIF animation. This cannot be
+handled by this module yet.
+
+The handling of the various disposal methods is not correct.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Balloon.pod b/Master/tlpkg/tlperl/lib/Tk/Balloon.pod
new file mode 100644
index 00000000000..9188a9e25a4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Balloon.pod
@@ -0,0 +1,293 @@
+
+=head1 NAME
+
+Tk::Balloon - pop up help balloons.
+
+=for pm Tixish/Balloon.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+ use Tk::Balloon;
+ ...
+ $b = $top->Balloon(-statusbar => $status_bar_widget);
+
+ # Normal Balloon:
+ $b->attach($widget,
+ -balloonmsg => "Balloon help message",
+ -statusmsg => "Status bar message");
+
+ # Balloon attached to entries in a menu widget:
+ $b->attach($menu, -state => 'status',
+ -msg => ['first menu entry',
+ 'second menu entry',
+ ...
+ ],
+ );
+
+ # Balloon attached to individual items in a canvas widget:
+ $b->attach($canvas, -balloonposition => 'mouse',
+ -msg => {'item1' => 'msg1',
+ 'tag2' => 'msg2',
+ ...
+ },
+ );
+
+ # Balloon attached to items in a listbox widget:
+ $b->attach($listbox, -balloonposition => 'mouse',
+ -msg => ['first listbox element',
+ '2nd listbox element',
+ ...
+ ],
+ );
+
+=head1 DESCRIPTION
+
+B<Balloon> provides the framework to create and attach help
+balloons to various widgets so that when the mouse pauses over the
+widget for more than a specified amount of time, a help balloon is
+popped up.
+
+=head2 Balloons and Menus or Listboxes
+
+If the balloon is attached to a B<Menu> or B<Listbox> widget and the
+message arguments are array references, then each element in the array
+will be the message corresponding to a menu entry or listbox element.
+The balloon message will then be shown for the entry which the mouse
+pauses over. Otherwise it is assumed that the balloon is to be
+attached to the B<Menu> or B<Listbox> as a whole. You can have
+separate status and balloon messages just like normal balloons.
+
+=head2 Balloons and Canvases
+
+If the balloon is attached to a B<Canvas> widget and the message
+arguments are hash references, then each hash key should correspond to
+a canvas item ID or tag and the associated value will correspond to the
+message for that canvas 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<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.
+If it would extend outside the lower screen border, its positioned at the
+upper right side. If it would extend outside the right screen border
+it's shown on the lower left side of the client. If it would extend
+outside both the lower and the right screen border, it's positioned
+at the upper left side of the client. Thus, the little arrow always
+points to the attached client.
+
+=head1 OPTIONS
+
+B<Balloon> accepts all of the options that the B<Frame> widget
+accepts. In addition, the following options are also recognized.
+
+=over 4
+
+=item B<-initwait>
+
+Specifies the amount of time to wait without activity before
+popping up a help balloon. Specified in milliseconds. Defaults to
+350 milliseconds. This applies to both the popped up balloon and
+the status bar message.
+
+=item B<-state>
+
+Can be one of B<'balloon'>, B<'status'>, B<'both'> or B<'none'>
+indicating that the help balloon, status bar help, both or none
+respectively should be activated when the mouse pauses over the
+client widget. Default is B<'both'>.
+
+=item B<-statusbar>
+
+Specifies the widget used to display the status message. This
+widget should accept the B<-text> option and is typically a
+B<Label>. If the widget accepts the B<-textvariable> option and
+that option is defined then it is used instead of the B<-text>
+option.
+
+=item B<-balloonposition>
+
+Can be one of B<'widget'> or B<'mouse'>. It controls where the balloon
+will popup. B<'widget'> makes the balloon appear at the lower right
+corner of the widget it is attached to (default), and B<'mouse'> makes
+the balloon appear below and to the right of the current mouse position.
+
+=item B<-postcommand>
+
+This option takes a B<CODE> reference which will be executed before the
+balloon and statusbar messages are displayed and should return a true
+or false value to indicate whether you want the balloon to be displayed
+or not. This also lets you control where the balloon is positioned by
+returning a true value that looks like I<X,Y> (matches this regular
+expression: C</^(\d+),(\d+)$/>). If the postcommand returns a value that
+matches that re then those coordinates will be used as the position to
+post the balloon. I<Warning:> this subroutine should return quickly or
+the balloon response will appear slow.
+
+=item B<-cancelcommand>
+
+This option takes a B<CODE> reference which will be executed before the
+balloon and statusbar messages are canceled and should return a true
+or false value to indicate whether you want the balloon to be canceled
+or not. I<Warning:> this subroutine should return quickly or the balloon
+response will appear slow.
+
+=item B<-motioncommand>
+
+This option takes a B<CODE> reference which will be executed for any
+motion event and should return a true or false value to indicate
+whether the currently displayed balloon should be canceled (deactivated).
+If it returns true then the balloon will definitely be canceled, if it
+returns false then it may still be canceled depending the internal rules.
+I<Note:> a new balloon may be posted after the B<-initwait> time
+interval, use the B<-postcommand> option to control that behavior.
+I<Warning:> the subroutine should be extremely fast or the balloon
+response will appear slow and consume a lot of CPU time (it is executed
+every time the mouse moves over the widgets the balloon is attached to).
+
+=item B<-numscreens>
+
+This option accepts an integer 1 or greater. This option should be used
+to avoid disjointed balloons across multiple screens in single logical
+sceen (SLS) mode. This only currently works in the horizontal direction.
+Example: If you are running dual screens in SLS mode then you would set
+this value to 2. Default value is 1.
+
+=back
+
+=head1 METHODS
+
+The B<Balloon> widget supports only three non-standard methods:
+
+=head2 B<attach(>I<widget>, I<options>B<)>
+
+Attaches the widget indicated by I<widget> to the help system. The
+allowed options are:
+
+=over 4
+
+=item B<-statusmsg>
+
+The argument is the message to be shown on the status bar when the
+mouse pauses over this client. If this is not specified, but
+B<-msg> is specified then the message displayed on the status bar
+is the same as the argument for B<-msg>. If you give it a scalar
+reference then it is dereferenced before being displayed. Useful
+if the postcommand is used to change the message.
+
+=item B<-balloonmsg>
+
+The argument is the message to be displayed in the balloon that
+will be popped up when the mouse pauses over this client. As with
+B<-statusmsg> if this is not specified, then it takes its value
+from the B<-msg> specification if any. If neither B<-balloonmsg>
+nor B<-msg> are specified, or they are the empty string then
+no balloon is popped up instead of an empty balloon. If you
+give it a scalar reference then it is dereferenced before being
+displayed. Useful if the postcommand is used to change the message.
+
+=item B<-msg>
+
+The catch-all for B<-statusmsg> and B<-balloonmsg>. This is a
+convenient way of specifying the same message to be displayed in
+both the balloon and the status bar for the client.
+
+=item B<-initwait>
+
+=item B<-state>
+
+=item B<-statusbar>
+
+=item B<-balloonposition>
+
+=item B<-postcommand>
+
+=item B<-cancelcommand>
+
+=item B<-motioncommand>
+
+These options allow you to override the balloon's default value for
+those option for some of the widgets it is attached to. It accepts the
+same values as above and will default to the B<Balloon>'s value.
+
+=back
+
+=head2 B<detach(>I<widget>B<)>
+
+Detaches the specified I<widget> from the help system.
+
+=head2 B<destroy>
+
+Destroys the specified balloon.
+
+=head1 ADVERTISED SUBWIDGETS
+
+The balloon label is advertised as C<message>.
+
+=head1 EXAMPLES
+
+See the balloon demo included with the widget demo script that came with
+the distribution for examples on various ways to use balloons.
+
+=head1 NOTES
+
+Because of the overhead associated with each balloon you create (from
+tracking the mouse movement to know when to activate and deactivate
+them) you will see the best performance (low CPU consumption) if you
+create as few balloons as possible and attach them to as many widgets
+as you can. In other words, don't create a balloon for each widget
+you want to attach one to.
+
+=head1 CAVEATS
+
+Pressing any button will deactivate (cancel) the current balloon,
+if one exists. You can usually make the balloon reappear by moving
+the mouse a little. Creative use of the 3 command options can help
+you out also. If the mouse is over the balloon when a menu is unposted
+then the balloon will remain until you move off of it.
+
+=head1 BUGS
+
+If using balloons attached to listbox entries or canvas items in a
+scrolled widget, then the subwidget have to be used:
+
+ $balloon->attach($w->Subwidget("scrolled"), -msg => ...);
+
+=head1 AUTHORS
+
+B<Rajappa Iyer> <rsi@earthling.net> did the original coding.
+
+B<Jason A. Smith> <smithj4@rpi.edu> added support for menus and made some
+other enhancements.
+
+B<Slaven Rezic> <srezic@cpan.org> added support for canvas items.
+
+B<Gerhard Petrowitsch> <gerhard@petrowitsch.de> added intelligent positioning
+
+B<Jack Dunnigan> <dunniganj@cpan.org> Made positioning I<more> intelligent and
+added support for multiple monitors under single logical screen.
+
+=head1 HISTORY
+
+The code and documentation was derived from Balloon.tcl from the
+Tix4.0 distribution by Ioi Lam and modified by the above mentioned
+authors. This code may be redistributed under the same terms as Perl.
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Bitmap.pod b/Master/tlpkg/tlperl/lib/Tk/Bitmap.pod
new file mode 100644
index 00000000000..49bf20ce4b4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Bitmap.pod
@@ -0,0 +1,103 @@
+# Copyright (c) 1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Bitmap - Images that display two colors
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+S< >I<$image> = I<$widget>-E<gt>B<Bitmap>?(I<name>??,I<options>?)
+
+=head1 DESCRIPTION
+
+A bitmap is an image whose pixels can display either of two colors
+or be transparent.
+A bitmap image is defined by four things: a background color,
+a foreground color, and two bitmaps, called the I<source>
+and the I<mask>.
+Each of the bitmaps specifies 0/1 values for a rectangular
+array of pixels, and the two bitmaps must have the same
+dimensions.
+For pixels where the mask is zero, the image displays nothing,
+producing a transparent effect.
+For other pixels, the image displays the foreground color if
+the source data is one and the background color if the source
+data is zero.
+
+=head1 CREATING BITMAPS
+
+Bitmaps are created using I<$widget>-E<gt>B<Bitmap>.
+Bitmaps support the following I<options>:
+
+=over 4
+
+=item B<-background> =E<gt> I<color>
+
+Specifies a background color for the image in any of the standard
+ways accepted by Tk. If this option is set to an empty string
+then the background pixels will be transparent. This effect
+is achieved by using the source bitmap as the mask bitmap, ignoring
+any B<-maskdata> or B<-maskfile> options.
+
+=item B<-data> =E<gt> I<string>
+
+Specifies the contents of the source bitmap as a string.
+The string must adhere to X11 bitmap format (e.g., as generated
+by the B<bitmap> program).
+If both the B<-data> and B<-file> options are specified,
+the B<-data> option takes precedence.
+
+=item B<-file> =E<gt> I<name>
+
+I<name> gives the name of a file whose contents define the
+source bitmap.
+The file must adhere to X11 bitmap format (e.g., as generated
+by the B<bitmap> program).
+
+=item B<-foreground> =E<gt> I<color>
+
+Specifies a foreground color for the image in any of the standard
+ways accepted by Tk.
+
+=item B<-maskdata> =E<gt> I<string>
+
+Specifies the contents of the mask as a string.
+The string must adhere to X11 bitmap format (e.g., as generated
+by the B<bitmap> program).
+If both the B<-maskdata> and B<-maskfile> options are specified,
+the B<-maskdata> option takes precedence.
+
+=item B<-maskfile> =E<gt> I<name>
+
+I<name> gives the name of a file whose contents define the
+mask.
+The file must adhere to X11 bitmap format (e.g., as generated
+by the B<bitmap> program).
+
+=back
+
+=head1 IMAGE METHODS
+
+When a bitmap image is created, Tk also creates a new object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+
+=head1 SEE ALSO
+
+L<Tk::Image|Tk::Image>
+L<Tk::Pixmap|Tk::Pixmap>
+L<Tk::Photo|Tk::Photo>
+
+=head1 KEYWORDS
+
+bitmap, image
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod b/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod
new file mode 100644
index 00000000000..98a547c4084
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod
@@ -0,0 +1,210 @@
+
+=head1 NAME
+
+Tk::BrowseEntry - entry widget with popup choices.
+
+=for pm Tixish/BrowseEntry.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+ use Tk::BrowseEntry;
+
+ $b = $frame->BrowseEntry(-label => "Label", -variable => \$var);
+ $b->insert("end", "opt1");
+ $b->insert("end", "opt2");
+ $b->insert("end", "opt3");
+ ...
+ $b->pack;
+
+=head1 SUPER-CLASS
+
+The C<BrowseEntry> class is derived from the C<Frame> class and
+inherits all the methods, options and subwidgets of its super-class.
+By default, options and methods are delegated to the entry subwidget.
+
+=head1 DESCRIPTION
+
+BrowseEntry is a poor man's ComboBox. It may be considered an
+enhanced version of LabEntry which provides a button to popup the
+choices of the possible values that the Entry may
+take. BrowseEntry supports all the options LabEntry supports
+except B<-textvariable>. This is replaced by B<-variable>. Other
+options that BrowseEntry supports:
+
+=over 4
+
+=item B<-arrowimage>
+
+Specifies the image to be used in the arrow button beside the entry
+widget. The default is an downward arrow image in the file cbxarrow.xbm
+
+=item B<-autolimitheight>
+
+If set to a true value, then the height of the listbox will be at most
+the number of entries in the list. The overall maximum of
+C<-listheight> still applies.
+
+=item B<-autolistwidth>
+
+If set to a true value, then the width of the listbox will match the
+width of the largest entry.
+
+=item B<-browsecmd>
+
+Specifies a function to call when a selection is made in the
+popped up listbox. It is passed the widget and the text of the
+entry selected. This function is called after the entry variable
+has been assigned the value.
+
+=item B<-browse2cmd>
+
+Like C<-browsecmd>, but the callback is called with the listbox index
+instead of the selected value.
+
+=item B<-buttontakefocus>
+
+Set the C<-takefocus> option of the button subwidget.
+
+=item B<-choices>
+
+Specifies the list of choices to pop up. This is a reference to an
+array of strings specifying the choices.
+
+=item B<-colorstate>
+
+The state of the widget is reflected by color. A non-editable entry
+widget will get a light gray background, while an editable entry will
+be almost white. [This may change]
+
+=item B<-listcmd>
+
+Specifies the function to call when the button next to the entry
+is pressed to popup the choices in the listbox. This is called before
+popping up the listbox, so can be used to populate the entries in
+the listbox.
+
+=item B<-listheight>
+
+Set the height of the listbox. See also C<-autolimitheight>.
+
+=item B<-listwidth>
+
+Specifies the width of the popup listbox.
+
+=item B<-state>
+
+Specifies one of three states for the widget: normal, readonly, or
+disabled. If the widget is disabled then the value may not be changed
+and the arrow button won't activate. If the widget is readonly, the
+entry may not be edited, but it may be changed by choosing a value
+from the popup listbox. normal is the default.
+
+=item B<-style>
+
+Set the "style" of the widget. Permitted values are C<MSWin32> and
+C<unix>. By default C<-style> is set to the current platform. Widgets
+with the C<unix> style will look like a normal C<BrowseEntry> widget,
+whereas with the C<MSWin32> style the arrow will look close to the
+Windows' standard combobox widget, while moving the mouse the entries
+will be highlighted, and probably includes other changes.
+
+=item B<-variable>
+
+Specifies the variable in which the entered value is to be stored.
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item B<insert(>I<index>, I<string>B<)>
+
+Inserts the text of I<string> at the specified I<index>. This string
+then becomes available as one of the choices.
+
+=item B<delete(>I<index1>, I<index2>B<)>
+
+Deletes items from I<index1> to I<index2>.
+
+=item B<get>
+
+The get method is delegated to the choices listbox.
+
+=back
+
+=head1 ADVERTISED WIDGETS
+
+The following widgets are advertised:
+
+=over
+
+=item entry
+
+The entry widget.
+
+=item arrow
+
+The button with the arrow image.
+
+=item choices
+
+The toplevel widget containing the choice listbox.
+
+=item slistbox
+
+The scrolled listbox with the choices.
+
+=back
+
+=head1 SUBCLASSING
+
+To make subclassing easier, the following methods may be overridden to
+use other standard widgets in composing the mega widget:
+
+=over
+
+=item LabEntryWidget
+
+A widget class compatible with Tk::LabEntry used for the entry.
+
+=item ButtonWidget
+
+A widget class compatible with Tk::Button used for the arrow button.
+
+=item ListboxWidget
+
+A widget class compatible with Tk::Listbox used for the choices
+listbox.
+
+=back
+
+For example to use a C<NumEntry> widget (from the Tk-GBARR CPAN
+distribution) instead of the normal C<Entry> widget:
+
+ package Tk::NumBrowseEntry;
+ use base qw(Tk::BrowseEntry);
+ use Tk::NumEntry;
+ Construct Tk::Widget 'NumBrowseEntry';
+ sub LabEntryWidget { "NumEntry" }
+
+=head1 BUGS
+
+BrowseEntry should really provide more of the ComboBox options.
+
+=head1 AUTHOR
+
+B<Rajappa Iyer> rsi@earthling.net
+
+B<Chris Dean> ctdean@cogit.com made additions.
+
+More additions by B<Slaven Rezic> slaven@rezic.de
+
+This code was inspired by ComboBox.tcl in Tix4.0 by Ioi Lam and
+bears more than a passing resemblance to ComboBox code. This may
+be distributed under the same conditions as Perl.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Button.pod b/Master/tlpkg/tlperl/lib/Tk/Button.pod
new file mode 100644
index 00000000000..6c3eb5ffa72
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Button.pod
@@ -0,0 +1,255 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Button - Create and manipulate Button widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$button> = I<$parent>-E<gt>B<Button>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground>
+B<-activeforeground>
+B<-anchor>
+B<-background>
+B<-bitmap>
+B<-borderwidth>
+B<-compound>
+B<-cursor>
+B<-disabledforeground>
+B<-font>
+B<-foreground>
+B<-highlightbackground>
+B<-highlightcolor>
+B<-highlightthickness>
+B<-image>
+B<-justify>
+B<-padx>
+B<-pady>
+B<-relief>
+B<-repeatdelay>
+B<-repeatinterval>
+B<-takefocus>
+B<-text>
+B<-textvariable>
+B<-underline>
+B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies a L<PerlE<sol>Tk callback|Tk::callbacks> to associate with the
+button. This command is typically invoked when mouse button 1 is
+released over the button window.
+
+=item Command-Line Name: B<-compound>
+
+=item Database Name: B<compound>
+
+=item Database Class: B<Compound>
+
+Specifies whether the button should display both an image and text,
+and if so, where the image should be placed relative to the text.
+Valid values for this option are B<bottom>, B<center>, B<left>,
+B<none>, B<right> and B<top>. The default value is B<none>, meaning
+that the button will display either an image or text, depending on the
+values of the -image and -bitmap options.
+
+=item Name: B<default>
+
+=item Class: B<Default>
+
+=item Switch: B<-default>
+
+Specifies one of three states for the default ring: B<normal>,
+B<active>, or B<disabled>. In active state, the button is drawn
+with the platform specific appearance for a default button. In normal
+state, the button is drawn with the platform specific appearance for a
+non-default button, leaving enough space to draw the default button
+appearance. The normal and active states will result in buttons of
+the same size. In disabled state, the button is drawn with the
+non-default button appearance without leaving space for the default
+appearance. The disabled state may result in a smaller button than
+the active state.
+ring.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired height for the button.
+If an image or bitmap is being displayed in the button then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in lines of text.
+If this option isn't specified, the button's desired height is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=item Command-Line Name: B<-overrelief>
+
+=item Database Name: B<overRelief>
+
+=item Database Class: B<OverRelief>
+
+Specifies an alternative relief for the button, to be used when
+the mouse cursor is over the widget. This option can be used to
+make toolbar buttons, by configuring B<-relief flat -overrelief
+raised>. If the value of this option is the empty string, then
+no alternative relief is used when the mouse cursor is over the
+button. The empty string is the default value.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the button: B<normal>, B<active>,
+or B<disabled>. In normal state the button is displayed using the
+B<foreground> and B<background> options. The active state is
+typically used when the pointer is over the button. In active state
+the button is displayed using the B<activeForeground> and
+B<activeBackground> options. Disabled state means that the button
+should be insensitive: the default bindings will refuse to activate
+the widget and will ignore mouse button presses.
+In this state the B<disabledForeground> and
+B<background> options determine how the button is displayed.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies a desired width for the button.
+If an image or bitmap is being displayed in the button then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in characters.
+If this option isn't specified, the button's desired width is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Button> method creates a new window (given by the
+$widget argument) and makes it into a button widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the button such as its colors, font,
+text, and initial relief. The B<button> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A button is a widget that displays a textual string, bitmap or image.
+If text is displayed, it must all be in a single font, but it
+can occupy multiple lines on the screen (if it contains newlines
+or if wrapping occurs because of the B<-wraplength> option) and
+one of the characters may optionally be underlined using the
+B<-underline> option.
+It can display itself in either of three different ways, according
+to
+the B<-state> option;
+it can be made to appear raised, sunken, or flat;
+and it can be made to flash. When a user invokes the
+button (by pressing mouse button 1 with the cursor over the
+button), then the L<perlE<sol>Tk callback|Tk::callbacks> specified in the B<-command>
+option is invoked.
+
+=head1 WIDGET METHODS
+
+The B<Button> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for button widgets:
+
+=over 4
+
+=item I<$button>-E<gt>B<flash>
+
+Flash the button. This is accomplished by redisplaying the button
+several times, alternating between active and normal colors. At
+the end of the flash the button is left in the same normal/active
+state as when the command was invoked.
+This command is ignored if the button's state is B<disabled>.
+
+=item I<$button>-E<gt>B<invoke>
+
+Invoke the L<callback|Tk::callbacks> associated with the buttons
+B<-command> option, if there is one.
+The return value is the return value from the callback, or the
+undefined value if there is no callback associated with the button.
+This command is ignored if the button's state is B<disabled>.
+
+=back
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for buttons that give them
+default behavior:
+
+=over 4
+
+=item [1]
+
+A button activates whenever the mouse passes over it and deactivates
+whenever the mouse leaves the button.
+Under Windows, this binding is only active when mouse button 1 has
+been pressed over the button.
+
+=item [2]
+
+A button's relief is changed to sunken whenever mouse button 1 is
+pressed over the button, and the relief is restored to its original
+value when button 1 is later released.
+
+=item [3]
+
+If mouse button 1 is pressed over a button and later released over
+the button, the button is invoked. However, if the mouse is not
+over the button when button 1 is released, then no invocation occurs.
+
+=item [4]
+
+When a button has the input focus, the space key causes the button
+to be invoked.
+
+If the button's state is B<disabled> then none of the above
+actions occur: the button is completely non-responsive.
+
+The behavior of buttons can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+button, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Canvas.pod b/Master/tlpkg/tlperl/lib/Tk/Canvas.pod
new file mode 100644
index 00000000000..daf4cf7f32e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Canvas.pod
@@ -0,0 +1,2394 @@
+# Copyright (c) 1992-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+
+=head1 NAME
+
+Tk::Canvas - Create and manipulate Canvas widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$canvas> = I<$parent>-E<gt>B<Canvas>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-background> B<-highlightthickness> B<-insertwidth> B<-state>
+B<-borderwidth> B<-insertbackground> B<-relief> B<-tile>
+B<-cursor> B<-insertborderwidth> B<-selectbackground> B<-takefocus>
+B<-highlightbackground> B<-insertofftime> B<-selectborderwidth> B<-xscrollcommand>
+B<-highlightcolor> B<-insertontime> B<-selectforeground> B<-yscrollcommand>
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<closeEnough>
+
+=item Class: B<CloseEnough>
+
+=item Switch: B<-closeenough>
+
+Specifies a floating-point value indicating how close the mouse cursor
+must be to an item before it is considered to be ``inside'' the item.
+Defaults to 1.0.
+
+=item Name: B<confine>
+
+=item Class: B<Confine>
+
+=item Switch: B<-confine>
+
+Specifies a boolean value that indicates whether or not it should be
+allowable to set the canvas's view outside the region defined by the
+B<scrollRegion> argument.
+Defaults to true, which means that the view will
+be constrained within the scroll region.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired window height that the canvas widget should request from
+its geometry manager. The value may be specified in any
+of the forms described in the L<"COORDINATES"> section below.
+
+=item Name: B<scrollRegion>
+
+=item Class: B<ScrollRegion>
+
+=item Switch: B<-scrollregion>
+
+Specifies a list with four coordinates describing the left, top, right, and
+bottom coordinates of a rectangular region.
+This region is used for scrolling purposes and is considered to be
+the boundary of the information in the canvas.
+Each of the coordinates may be specified
+in any of the forms given in the L<"COORDINATES"> section below.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Modifies the default state of the canvas where I<state> may be set to one of:
+normal, disabled, or hidden. Individual canvas objects all have their own
+state option, which overrides the default state. Many options can take
+separate specifications such that the appearance of the item can be different
+in different situations. The options that start with "active" control the
+appearence when the mouse pointer is over it, while the option starting
+with "disabled" controls the appearence when the state is disabled.
+
+=item Name: B<width>
+
+=item Class: B<width>
+
+=item Switch: B<-width>
+
+Specifies a desired window width that the canvas widget should request from
+its geometry manager. The value may be specified in any
+of the forms described in the L<"COORDINATES"> section below.
+
+=item Name: B<xScrollIncrement>
+
+=item Class: B<ScrollIncrement>
+
+=item Switch: B<-xscrollincrement>
+
+Specifies an increment for horizontal scrolling, in any of the usual forms
+permitted for screen distances. If the value of this option is greater
+than zero, the horizontal view in the window will be constrained so that
+the canvas x coordinate at the left edge of the window is always an even
+multiple of B<xScrollIncrement>; furthermore, the units for scrolling
+(e.g., the change in view when the left and right arrows of a scrollbar
+are selected) will also be B<xScrollIncrement>. If the value of
+this option is less than or equal to zero, then horizontal scrolling
+is unconstrained.
+
+=item Name: B<yScrollIncrement>
+
+=item Class: B<ScrollIncrement>
+
+=item Switch: B<-yscrollincrement>
+
+Specifies an increment for vertical scrolling, in any of the usual forms
+permitted for screen distances. If the value of this option is greater
+than zero, the vertical view in the window will be constrained so that
+the canvas y coordinate at the top edge of the window is always an even
+multiple of B<yScrollIncrement>; furthermore, the units for scrolling
+(e.g., the change in view when the top and bottom arrows of a scrollbar
+are selected) will also be B<yScrollIncrement>. If the value of
+this option is less than or equal to zero, then vertical scrolling
+is unconstrained.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Canvas> method creates a new window (given
+by the $canvas argument) and makes it into a canvas widget.
+Additional options, described above, may be specified on the
+command line or in the option database
+to configure aspects of the canvas such as its colors and 3-D relief.
+The B<canvas> command returns its
+$canvas argument. At the time this command is invoked,
+there must not exist a window named $canvas, but
+$canvas's parent must exist.
+
+Canvas widgets implement structured graphics.
+A canvas displays any number of I<items>, which may be things like
+rectangles, circles, lines, and text.
+Items may be manipulated (e.g. moved or re-colored) and
+L<callbacks|Tk::callbacks> may
+be associated with items in much the same way that the L<bind|Tk::bind>
+method allows callbacks to be bound to widgets. For example,
+a particular callback may be associated with the B<E<lt>Button-1E<gt>> event
+so that the callback is invoked whenever button 1 is pressed with
+the mouse cursor over an item.
+This means that items in a canvas can have behaviors defined by
+the Callbacks bound to them.
+
+=head1 DISPLAY LIST
+
+The items in a canvas are ordered for purposes of display,
+with the first item in the display list being displayed
+first, followed by the next item in the list, and so on.
+Items later in the display list obscure those that are
+earlier in the display list and are sometimes referred to
+as being I<``on top''> of earlier items.
+When a new item is created it is placed at the end of the
+display list, on top of everything else.
+Widget methods may be used to re-arrange the order of the
+display list.
+
+Window items are an exception to the above rules. The underlying
+window systems require them always to be drawn on top of other items.
+In addition, the stacking order of window items
+is not affected by any of the canvas methods; you must use
+the L<raise|Tk::Widget> and L<lower|Tk::Widget> Tk widget methods instead.
+
+=head1 ITEM IDS AND TAGS
+
+Items in a canvas widget may be named in either of two ways:
+by id or by tag.
+Each item has a unique identifying number which is assigned to
+that item when it is created. The id of an item never changes
+and id numbers are never re-used within the lifetime of a
+canvas widget.
+
+Each item may also have any number of I<tags> associated
+with it. A tag is just a string of characters, and it may
+take any form except that of an integer.
+For example, ``x123'' is OK but ``123'' isn't.
+The same tag may be associated with many different items.
+This is commonly done to group items in various interesting
+ways; for example, all selected items might be given the
+tag ``selected''.
+
+The tag B<all> is implicitly associated with every item
+in the canvas; it may be used to invoke operations on
+all the items in the canvas.
+
+The tag B<current> is managed automatically by Tk;
+it applies to the I<current item>, which is the
+topmost item whose drawn area covers the position of
+the mouse cursor.
+If the mouse is not in the canvas widget or is not over
+an item, then no item has the B<current> tag.
+
+When specifying items in canvas methods, if the
+specifier is an integer then it is assumed to refer to
+the single item with that id.
+If the specifier is not an integer, then it is assumed to
+refer to all of the items in the canvas that have a tag
+matching the specifier.
+The symbol I<tagOrId> is used below to indicate that
+an argument specifies either an id that selects a single
+item or a tag that selects zero or more items.
+
+I<tagOrId> may contain a logical expressions of
+tags by using operators: 'E<amp>E<amp>', '||', '^' '!', and parenthezised
+subexpressions. For example:
+
+$c-E<gt>find('withtag', '(aE<amp>E<amp>!b)|(!aE<amp>E<amp>b)');
+
+or equivalently:
+
+$c-E<gt>find('withtag', 'a^b');
+
+will find only those items with either "a" or "b" tags, but not both.
+
+Some methods only operate on a single item at a
+time; if I<tagOrId> is specified in a way that
+names multiple items, then the normal behavior is for
+the methods is to use the first (lowest) of these items in
+the display list that is suitable for the method.
+Exceptions are noted in the method descriptions
+below.
+
+=head1 COORDINATES
+
+All coordinates related to canvases are stored as floating-point
+numbers.
+Coordinates and distances are specified in screen units,
+which are floating-point numbers optionally followed
+by one of several letters.
+If no letter is supplied then the distance is in pixels.
+If the letter is B<m> then the distance is in millimeters on
+the screen; if it is B<c> then the distance is in centimeters;
+B<i> means inches, and B<p> means printers points (1/72 inch).
+Larger y-coordinates refer to points lower on the screen; larger
+x-coordinates refer to points farther to the right.
+
+=head1 TRANSFORMATIONS
+
+Normally the origin of the canvas coordinate system is at the
+upper-left corner of the window containing the canvas.
+It is possible to adjust the origin of the canvas
+coordinate system relative to the origin of the window using the
+B<xview> and B<yview> methods; this is typically used
+for scrolling.
+Canvases do not support scaling or rotation of the canvas coordinate
+system relative to the window coordinate system.
+
+Individual items may be moved or scaled using methods
+described below, but they may not be rotated.
+
+=head1 INDICES
+
+Text items support the notion of an I<index> for identifying
+particular positions within the item.
+
+Indices are used for methods such as inserting text, deleting
+a range of characters, and setting the insertion cursor position.
+An index may be specified in any of a number of ways, and
+different types of items may support different forms for
+specifying indices.
+
+In a similar fashion, line and polygon items support I<index> for
+identifying, inserting and deleting subsets of their coordinates.
+Indices are used for commands such as inserting or deleting
+a range of characters or coordinates, and setting the insertion
+cursor position. An index may be specified in any of a number
+of ways, and different types of items may support different forms
+for specifying indices.
+
+Text items support the following forms for an index; if you
+define new types of text-like items, it would be advisable to
+support as many of these forms as practical.
+Note that it is possible to refer to the character just after
+the last one in the text item; this is necessary for such
+tasks as inserting new text at the end of the item.
+Lines and Polygons don't support the insertion cursor
+and the selection. Their indices are supposed to be even
+always, because coordinates always appear in pairs.
+
+=over 4
+
+=item I<number>
+
+A decimal number giving the position of the desired character
+within the text item.
+0 refers to the first character, 1 to the next character, and
+so on. If indexes are odd for lines and polygons, they will be
+automatically decremented by one.
+A number less than 0 is treated as if it were zero, and a
+number greater than the length of the text item is treated
+as if it were equal to the length of the text item. For
+polygons, numbers less than 0 or greater then the length
+of the coordinate list will be adjusted by adding or substracting
+the length until the result is between zero and the length,
+inclusive.
+
+=item B<end>
+
+Refers to the character or coordinate just after the last one
+in the item (same as the number of characters or coordinates
+in the item).
+
+=item B<insert>
+
+Refers to the character just before which the insertion cursor
+is drawn in this item. Not valid for lines and polygons.
+
+=item B<sel.first>
+
+Refers to the first selected character in the item.
+If the selection isn't in this item then this form is illegal.
+
+=item B<sel.last>
+
+Refers to the last selected character in the item.
+If the selection isn't in this item then this form is illegal.
+
+=item B<[>I<x,y>B<]>
+
+Refers to the character or coordinate at the point given by I<x> and
+I<y>, where I<x> and I<y> are specified in the coordinate
+system of the canvas.
+If I<x> and I<y> lie outside the coordinates covered by the
+text item, then they refer to the first or last character in the
+line that is closest to the given point.
+The Tcl string form "@x,y" is also allowed.
+
+=back
+
+=head1 DASH PATTERNS
+
+Many items support the notion of an dash pattern for outlines.
+
+The first possible syntax is a list of integers. Each element
+represents the number of pixels of a line segment. Only the odd
+segments are drawn using the "outline" color. The other segments
+are drawn transparent.
+
+The second possible syntax is a character list containing only
+5 possible characters B<[.,-_ ]>, with the first 4 characters
+producing a segment of length 1 to 4, respectively, followed
+by a transparent segment of length 2. The space can be used
+repeatedly to enlarge the space between other line elements
+by 1, and can not occur as the first position in the string.
+The main difference of this syntax with the previous one is
+that it it shape-conserving. This means that all values in the dash
+list will be multiplied by the line width before display. This
+assures that "." will always be displayed as a dot and "-"
+always as a dash regardless of the line width.
+
+Some examples, for a line width of 2:
+
+ -dash . = -dash [2,4]
+ -dash - = -dash [6,4]
+ -dash -. = -dash [6,4,2,4]
+ -dash -.. = -dash [6,4,2,4,2,4]
+ -dash '. ' = -dash [2,8]
+ -dash ',' = -dash [4,4]
+
+On systems where only a limited set of dash patterns is available,
+the dash pattern will be displayed as the closest available dash
+pattern. For example, on Windows only the first 4 of the
+above examples are available. The last 2 examples will be
+displayed identically as the first one.
+
+=head1 WIDGET METHODS
+
+The B<Canvas> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for canvas widgets:
+
+=over 4
+
+=item I<$canvas>-E<gt>B<addtag>(I<tag, searchSpec, >?I<arg, arg, ...>?)
+
+For each item that meets the constraints specified by
+I<searchSpec> and the I<arg>s, add
+I<tag> to the list of tags associated with the item if it
+isn't already present on that list.
+It is possible that no items will satisfy the constraints
+given by I<searchSpec> and I<arg>s, in which case the
+method has no effect.
+This command returns an empty string as result.
+I<SearchSpec> and I<arg>'s may take any of the following
+forms:
+
+=over 8
+
+=item B<above >I<tagOrId>
+
+Selects the item just after (above) the one given by I<tagOrId>
+in the display list.
+If I<tagOrId> denotes more than one item, then the last (topmost)
+of these items in the display list is used.
+
+=item B<all>
+
+Selects all the items in the canvas.
+
+=item B<below >I<tagOrId>
+
+Selects the item just before (below) the one given by I<tagOrId>
+in the display list.
+If I<tagOrId> denotes more than one item, then the first (lowest)
+of these items in the display list is used.
+
+=item B<closest >I<x y >?I<halo>? ?I<start>?
+
+Selects the item closest to the point given by I<x> and I<y>.
+If more than one item is at the same closest distance (e.g. two
+items overlap the point), then the top-most of these items (the
+last one in the display list) is used.
+If I<halo> is specified, then it must be a non-negative
+value.
+Any item closer than I<halo> to the point is considered to
+overlap it.
+The I<start> argument may be used to step circularly through
+all the closest items.
+If I<start> is specified, it names an item using a tag or id
+(if by tag, it selects the first item in the display list with
+the given tag).
+Instead of selecting the topmost closest item, this form will
+select the topmost closest item that is below I<start> in
+the display list; if no such item exists, then the selection
+behaves as if the I<start> argument had not been specified.
+
+=item B<enclosed> I<x1> I<y1> I<x2> I<y2>
+
+Selects all the items completely enclosed within the rectangular
+region given by I<x1>, I<y1>, I<x2>, and I<y2>.
+I<X1> must be no greater then I<x2> and I<y1> must be
+no greater than I<y2>.
+
+=item B<overlapping> I<x1> I<y1> I<x2> I<y2>
+
+Selects all the items that overlap or are enclosed within the
+rectangular region given by I<x1>, I<y1>, I<x2>,
+and I<y2>.
+I<X1> must be no greater then I<x2> and I<y1> must be
+no greater than I<y2>.
+
+=item B<withtag >I<tagOrId>
+
+Selects all the items given by I<tagOrId>.
+
+=back
+
+=item I<$canvas>-E<gt>B<bbox>(I<tagOrId, >?I<tagOrId, tagOrId, ...>?)
+
+Returns a list with four elements giving an approximate bounding box
+for all the items named by the I<tagOrId> arguments.
+The list has the form ``I<x1 y1 x2 y2>'' such that the drawn
+areas of all the named elements are within the region bounded by
+I<x1> on the left, I<x2> on the right, I<y1> on the top,
+and I<y2> on the bottom.
+The return value may overestimate the actual bounding box by
+a few pixels.
+If no items match any of the I<tagOrId> arguments or if the
+matching items have empty bounding boxes (i.e. they have nothing
+to display)
+then an empty string is returned.
+
+=item I<$canvas>-E<gt>B<bind>(I<tagOrId>?, I<sequence>? ?,I<callback>?)
+
+This method associates I<callback> with all the items given by
+I<tagOrId> such that whenever the event sequence given by
+I<sequence> occurs for one of the items the callback will
+be invoked.
+This method is similar to the B<bind> method except that
+it operates on items in a canvas rather than entire widgets.
+See L<Tk::bind> for complete details
+on the syntax of I<sequence> and the substitutions performed
+on I<callback> before invoking it.
+If all arguments are specified then a new binding is created, replacing
+any existing binding for the same I<sequence> and I<tagOrId>
+(if the first character of I<command> is ``+'' then I<command>
+augments an existing binding rather than replacing it).
+In this case the return value is an empty string.
+If I<callback> is omitted then the method returns the I<callback>
+associated with I<tagOrId> and I<sequence> (an error occurs
+if there is no such binding).
+If both I<callback> and I<sequence> are omitted then the method
+returns a list of all the sequences for which bindings have been
+defined for I<tagOrId>.
+
+=over 8
+
+The only events for which bindings may be specified are those related to
+the mouse and keyboard (such as B<Enter>, B<Leave>,
+B<ButtonPress>, B<Motion>, and B<KeyPress>) or virtual events.
+The handling of events in canvases uses the current item defined
+in L<"ITEM IDS AND TAGS"> above. B<Enter> and B<Leave> events trigger for an
+item when it becomes the current item or ceases to be the current item;
+note that these events are different than B<Enter> and B<Leave>
+events for windows. Mouse-related events are directed to the current
+item, if any. Keyboard-related events are directed to the focus item, if
+any (see the L<focus|/focus> method below for more on this). If a
+virtual event is used in a binding, that binding can trigger only if the
+virtual event is defined by an underlying mouse-related or
+keyboard-related event.
+
+It is possible for multiple bindings to match a particular event.
+This could occur, for example, if one binding is associated with the
+item's id and another is associated with one of the item's tags.
+When this occurs, all of the matching bindings are invoked.
+A binding associated with the B<all> tag is invoked first,
+followed by one binding for each of the item's tags (in order),
+followed by a binding associated with the item's id.
+If there are multiple matching bindings for a single tag,
+then only the most specific binding is invoked.
+A B<continue> in a callback terminates that
+subroutine, and a B<break> method terminates that subroutine
+and skips any remaining callbacks for the event, just as for the
+B<bind> method.
+
+If bindings have been created for a canvas window using the B<CanvasBind>
+method, then they are invoked in addition to bindings created for
+the canvas's items using the B<bind> method.
+The bindings for items will be invoked before any of the bindings
+for the window as a whole.
+
+=back
+
+=item I<$canvas>-E<gt>B<canvasx>(I<screenx>?, I<gridspacing>?)
+
+Given a window x-coordinate in the canvas I<screenx>, this method returns
+the canvas x-coordinate that is displayed at that location.
+If I<gridspacing> is specified, then the canvas coordinate is
+rounded to the nearest multiple of I<gridspacing> units.
+
+=item I<$canvas>-E<gt>B<canvasy>(I<screeny, >?I<gridspacing>?)
+
+Given a window y-coordinate in the canvas I<screeny> this method returns
+the canvas y-coordinate that is displayed at that location.
+If I<gridspacing> is specified, then the canvas coordinate is
+rounded to the nearest multiple of I<gridspacing> units.
+
+=item I<$canvas>-E<gt>B<coords>(I<tagOrId >?I<x0,y0 ...>?)
+
+Query or modify the coordinates that define an item.
+If no coordinates are specified, this method returns a list
+whose elements are the coordinates of the item named by
+I<tagOrId>.
+If coordinates are specified, then they replace the current
+coordinates for the named item.
+If I<tagOrId> refers to multiple items, then
+the first one in the display list is used.
+
+=item I<$canvas>-E<gt>B<create>(I<type, x, y, >?I<x, y, ...>?, ?I<option, value, ...>?)
+
+Create a new item in I<$canvas> of type I<type>.
+The exact format of the arguments after B<type> depends
+on B<type>, but usually they consist of the coordinates for
+one or more points, followed by specifications for zero or
+more item options.
+See the subsections on individual item types below for more
+on the syntax of this method.
+This method returns the id for the new item.
+
+=item I<$canvas>-E<gt>B<dchars>(I<tagOrId, first, >?I<last>?)
+
+For each item given by I<tagOrId>, delete the characters, or coordinates,
+in the range given by I<first> and I<last>, inclusive.
+If some of the items given by I<tagOrId> don't support
+Text items interpret I<first> and I<last> as indices to a character,
+line and polygon items interpret them indices to a coordinate (an x,y pair).
+within the item(s) as described in L<"INDICES"> above.
+If I<last> is omitted, it defaults to I<first>.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<delete>(?I<tagOrId, tagOrId, ...>?)
+
+Delete each of the items given by each I<tagOrId>, and return
+an empty string.
+
+=item I<$canvas>-E<gt>B<dtag>(I<tagOrId, >?I<tagToDelete>?)
+
+For each of the items given by I<tagOrId>, delete the
+tag given by I<tagToDelete> from the list of those
+associated with the item.
+If an item doesn't have the tag I<tagToDelete> then
+the item is unaffected by the method.
+If I<tagToDelete> is omitted then it defaults to I<tagOrId>.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<find>(I<searchCommand, >?I<arg, arg, ...>?)
+
+This method returns a list consisting of all the items that
+meet the constraints specified by I<searchCommand> and
+I<arg>'s.
+I<SearchCommand> and I<args> have any of the forms
+accepted by the B<addtag> method.
+The items are returned in stacking order, with the lowest item first.
+
+=item focus
+
+=item I<$canvas>-E<gt>B<focus>(?I<tagOrId>?)
+
+Set the keyboard focus for the canvas widget to the item given by
+I<tagOrId>.
+If I<tagOrId> refers to several items, then the focus is set
+to the first such item in the display list that supports the
+insertion cursor.
+If I<tagOrId> doesn't refer to any items, or if none of them
+support the insertion cursor, then the focus isn't changed.
+If I<tagOrId> is an empty
+string, then the focus item is reset so that no item has the focus.
+If I<tagOrId> is not specified then the method returns the
+id for the item that currently has the focus, or an empty string
+if no item has the focus.
+
+=over 8
+
+Once the focus has been set to an item, the item will display
+the insertion cursor and all keyboard events will be directed
+to that item.
+The focus item within a canvas and the focus window on the
+screen (set with the B<focus> method) are totally independent:
+a given item doesn't actually have the input focus unless (a)
+its canvas is the focus window and (b) the item is the focus item
+within the canvas.
+In most cases it is advisable to follow the B<focus> widget
+method with the B<CanvasFocus> method to set the focus window to
+the canvas (if it wasn't there already).
+
+=back
+
+=item I<$canvas>-E<gt>B<gettags>(I<tagOrId>)
+
+Return a list whose elements are the tags associated with the
+item given by I<tagOrId>.
+If I<tagOrId> refers to more than one item, then the tags
+are returned from the first such item in the display list.
+If I<tagOrId> doesn't refer to any items, or if the item
+contains no tags, then an empty string is returned.
+
+=item I<$canvas>-E<gt>B<icursor>(I<tagOrId, index>)
+
+Set the position of the insertion cursor for the item(s) given by I<tagOrId>
+to just before the character whose position is given by I<index>.
+If some or all of the items given by I<tagOrId> don't support
+an insertion cursor then this method has no effect on them.
+See L<"INDICES"> above for a description of the
+legal forms for I<index>.
+Note: the insertion cursor is only displayed in an item if
+that item currently has the keyboard focus (see the widget
+method B<focus>, below), but the cursor position may
+be set even when the item doesn't have the focus.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<index>(I<tagOrId, index>)
+
+This method returns a decimal string giving the numerical index
+within I<tagOrId> corresponding to I<index>.
+I<Index> gives a textual description of the desired position
+as described in L<"INDICES"> above.
+Text items interpret I<index> as an index to a character,
+line and polygon items interpret it as an index to a coordinate (an x,y pair).
+The return value is guaranteed to lie between 0 and the number
+of characters, or coordinates, within the item, inclusive.
+If I<tagOrId> refers to multiple items, then the index
+is processed in the first of these items that supports indexing
+operations (in display list order).
+
+=item I<$canvas>-E<gt>B<insert>(I<tagOrId, beforeThis, string>)
+
+For each of the items given by I<tagOrId>, if the item supports
+text or coordinate, insertion then I<string> is inserted into the item's
+text just before the character, or coordinate, whose index is I<beforeThis>.
+Text items interpret I<beforethis> as an index to a character,
+line and polygon items interpret it as an index to a coordinate (an x,y pair).
+For lines and polygons the I<string> must be a valid coordinate
+sequence.
+See L<"INDICES"> above for information about the forms allowed
+for I<beforeThis>.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<itemcget>(I<tagOrId, >I<option>)
+
+Returns the current value of the configuration option for the
+item given by I<tagOrId> whose name is I<option>.
+This method is similar to the L<cget|Tk::option> method except that
+it applies to a particular item rather than the widget as a whole.
+I<Option> may have any of the values accepted by the B<create>
+method when the item was created.
+If I<tagOrId> is a tag that refers to more than one item,
+the first (lowest) such item is used.
+
+=item I<$canvas>-E<gt>B<itemconfigure>(I<tagOrId, >?I<option>?, ?I<value>?, ?I<option, value, ...>?)
+
+This method is similar to the L<configure|Tk::option> method except
+that it modifies item-specific options for the items given by
+I<tagOrId> instead of modifying options for the overall
+canvas widget.
+If no I<option> is specified, returns a list describing all of
+the available options for the first item given by I<tagOrId>
+(see L<Tk::options> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the method returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the method
+modifies the given widget option(s) to have the given value(s) in
+each of the items given by I<tagOrId>; in
+this case the method returns an empty string.
+The I<option>s and I<value>s are the same as those permissible
+in the B<create> method when the item(s) were created;
+see the sections describing individual item types below for details
+on the legal options.
+
+=item I<$canvas>-E<gt>B<lower>(I<tagOrId, >?I<belowThis>?)
+
+Move all of the items given by I<tagOrId> to a new position
+in the display list just before the item given by I<belowThis>.
+If I<tagOrId> refers to more than one item then all are moved
+but the relative order of the moved items will not be changed.
+I<BelowThis> is a tag or id; if it refers to more than one
+item then the first (lowest) of these items in the display list is used
+as the destination location for the moved items.
+Note: this method has no effect on window items. Window items always
+obscure other item types, and the stacking order of window items is
+determined by the B<raise> and B<lower> methods of the widget, not the
+B<raise> and B<lower> methods for canvases.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<move>(I<tagOrId, xAmount, yAmount>)
+
+Move each of the items given by I<tagOrId> in the canvas coordinate
+space by adding I<xAmount> to the x-coordinate of each point
+associated with the item and I<yAmount> to the y-coordinate of
+each point associated with the item.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<postscript>(?I<option, value, option, value, ...>?)
+
+Generate a Postscript representation for part or all of the canvas.
+If the B<-file> option is specified then the Postscript is written
+to a file and an empty string is returned; otherwise the Postscript
+is returned as the result of the method.
+If the interpreter that owns the canvas is marked as safe, the operation
+will fail because safe interpreters are not allowed to write files.
+If the B<-channel> option is specified, the argument denotes the name
+of a channel already opened for writing. The Postscript is written to
+that channel, and the channel is left open for further writing at the end
+of the operation.
+The Postscript is created in Encapsulated Postscript form using
+version 3.0 of the Document Structuring Conventions.
+Note: by default Postscript is only generated for information that
+appears in the canvas's window on the screen. If the canvas is
+freshly created it may still have its initial size of 1x1 pixel
+so nothing will appear in the Postscript. To get around this problem
+either invoke the B<update> method to wait for the canvas window
+to reach its final size, or else use the B<-width> and B<-height>
+options to specify the area of the canvas to print.
+The I<option>-I<value> argument pairs provide additional
+information to control the generation of Postscript. The following
+options are supported:
+
+=over 8
+
+=item B<-colormap> =E<gt> I<hashRef>
+
+I<HashRef> must be a reference to a hash variable or an anonymous hash
+that specifies a color mapping to use in the Postscript.
+Each value of the hash must consist of Postscript
+code to set a particular color value (e.g. ``B<1.0 1.0 0.0 setrgbcolor>'').
+When outputting color information in the Postscript, Tk checks
+to see if there is a key in the hash with the same
+name as the color.
+If so, Tk uses the value of the element as the Postscript method
+to set the color.
+If this option hasn't been specified, or if there isn't a key
+in I<hashRef> for a given color, then Tk uses the red, green,
+and blue intensities from the X color.
+
+=item B<-colormode> =E<gt> I<mode>
+
+Specifies how to output color information. I<Mode> must be either
+B<color> (for full color output), B<gray> (convert all colors
+to their gray-scale equivalents) or B<mono> (convert all colors
+to black or white).
+
+=item B<-file> =E<gt> I<fileName>
+
+Specifies the name of the file in which to write the Postscript.
+If this option isn't specified then the Postscript is returned as the
+result of the method instead of being written to a file.
+
+=item B<-fontmap> =E<gt> I<hashRef>
+
+I<HashRef> must be a reference to a hash variable or an anonymous hash
+that specifies a font mapping to use in the Postscript.
+Each value of the hash must consist of an array reference with
+two elements, which are the name and point size of a Postscript font.
+When outputting Postscript commands for a particular font, Tk
+checks to see if I<hashRef> contains a value with the same
+name as the font.
+If there is such an element, then the font information contained in
+that element is used in the Postscript.
+Otherwise Tk attempts to guess what Postscript font to use.
+Tk's guesses generally only work for well-known fonts such as
+Times and Helvetica and Courier, and only if the X font name does not
+omit any dashes up through the point size.
+For example, B<-*-Courier-Bold-R-Normal--*-120-*> will work but
+B<*Courier-Bold-R-Normal*120*> will not; Tk needs the dashes to
+parse the font name).
+
+=item B<-height> =E<gt> I<size>
+
+Specifies the height of the area of the canvas to print.
+Defaults to the height of the canvas window.
+
+=item B<-pageanchor> =E<gt> I<anchor>
+
+Specifies which point of the printed area of the canvas should appear over
+the positioning point on the page (which is given by the B<-pagex>
+and B<-pagey> options).
+For example, B<-pageanchor>=>B<n> means that the top center of the
+area of the canvas being printed (as it appears in the canvas window)
+should be over the positioning point. Defaults to B<center>.
+
+=item B<-pageheight> =E<gt> I<size>
+
+Specifies that the Postscript should be scaled in both x and y so
+that the printed area is I<size> high on the Postscript page.
+I<Size> consists of a floating-point number followed by
+B<c> for centimeters, B<i> for inches, B<m> for millimeters,
+or B<p> or nothing for printer's points (1/72 inch).
+Defaults to the height of the printed area on the screen.
+If both B<-pageheight> and B<-pagewidth> are specified then
+the scale factor from B<-pagewidth> is used (non-uniform scaling
+is not implemented).
+
+=item B<-pagewidth> =E<gt> I<size>
+
+Specifies that the Postscript should be scaled in both x and y so
+that the printed area is I<size> wide on the Postscript page.
+I<Size> has the same form as for B<-pageheight>.
+Defaults to the width of the printed area on the screen.
+If both B<-pageheight> and B<-pagewidth> are specified then
+the scale factor from B<-pagewidth> is used (non-uniform scaling
+is not implemented).
+
+=item B<-pagex> =E<gt> I<position>
+
+I<Position> gives the x-coordinate of the positioning point on
+the Postscript page, using any of the forms allowed for B<-pageheight>.
+Used in conjunction with the B<-pagey> and B<-pageanchor> options
+to determine where the printed area appears on the Postscript page.
+Defaults to the center of the page.
+
+=item B<-pagey> =E<gt> I<position>
+
+I<Position> gives the y-coordinate of the positioning point on
+the Postscript page, using any of the forms allowed for B<-pageheight>.
+Used in conjunction with the B<-pagex> and B<-pageanchor> options
+to determine where the printed area appears on the Postscript page.
+Defaults to the center of the page.
+
+=item B<-rotate> =E<gt> I<boolean>
+
+I<Boolean> specifies whether the printed area is to be rotated 90
+degrees.
+In non-rotated output the x-axis of the printed area runs along
+the short dimension of the page (``portrait'' orientation);
+in rotated output the x-axis runs along the long dimension of the
+page (``landscape'' orientation).
+Defaults to non-rotated.
+
+=item B<-width> =E<gt> I<size>
+
+Specifies the width of the area of the canvas to print.
+Defaults to the width of the canvas window.
+
+=item B<-x> => I<position>
+
+Specifies the x-coordinate of the left edge of the area of the
+canvas that is to be printed, in canvas coordinates, not window
+coordinates.
+Defaults to the coordinate of the left edge of the window.
+
+=item B<-y> => I<position>
+
+Specifies the y-coordinate of the top edge of the area of the
+canvas that is to be printed, in canvas coordinates, not window
+coordinates.
+Defaults to the coordinate of the top edge of the window.
+
+=back
+
+=item I<$canvas>-E<gt>B<raise>(I<tagOrId, >?I<aboveThis>?)
+
+Move all of the items given by I<tagOrId> to a new position
+in the display list just after the item given by I<aboveThis>.
+If I<tagOrId> refers to more than one item then all are moved
+but the relative order of the moved items will not be changed.
+I<AboveThis> is a tag or id; if it refers to more than one
+item then the last (topmost) of these items in the display list is used
+as the destination location for the moved items.
+Note: this method has no effect on window items. Window items always
+obscure other item types, and the stacking order of window items is
+determined by the B<raise> and B<lower> widget commands, not the
+B<raise> and B<lower> methods for canvases.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<scale>(I<tagOrId, xOrigin, yOrigin, xScale, yScale>)
+
+Rescale all of the items given by I<tagOrId> in canvas coordinate
+space.
+I<XOrigin> and I<yOrigin> identify the origin for the scaling
+operation and I<xScale> and I<yScale> identify the scale
+factors for x- and y-coordinates, respectively (a scale factor of
+1.0 implies no change to that coordinate).
+For each of the points defining each item, the x-coordinate is
+adjusted to change the distance from I<xOrigin> by a factor
+of I<xScale>.
+Similarly, each y-coordinate is adjusted to change the distance
+from I<yOrigin> by a factor of I<yScale>.
+This method returns an empty string.
+
+=item I<$canvas>-E<gt>B<scan>(I<option, args>)
+
+This method is used to implement scanning on canvases. It has
+two forms, depending on I<option>:
+
+=over 8
+
+=item I<$canvas>-E<gt>B<scanMark>(I<x, y>)
+
+Records I<x> and I<y> and the canvas's current view; used
+in conjunction with later B<scanDragto> method.
+Typically this method is associated with a mouse button press in
+the widget and I<x> and I<y> are the coordinates of the
+mouse. It returns an empty string.
+
+=item I<$canvas>-E<gt>B<scanDragto>(I<x, y, ?gain?>.)
+
+This method computes the difference between its I<x> and I<y>
+arguments (which are typically mouse coordinates) and the I<x> and
+I<y> arguments to the last B<scanMark> method for the widget.
+It then adjusts the view by 10 times the
+difference in coordinates. This method is typically associated
+It then adjusts the view by I<gain> times the
+difference in coordinates, where I<gain> defaults to 10.
+This command is typically associated
+with mouse motion events in the widget, to produce the effect of
+dragging the canvas at high speed through its window. The return
+value is an empty string.
+
+=back
+
+=item I<$canvas>-E<gt>B<select>(I<option, >?I<tagOrId, arg>?)
+
+Manipulates the selection in one of several ways, depending on
+I<option>.
+The method may take any of the forms described below.
+In all of the descriptions below, I<tagOrId> must refer to
+an item that supports indexing and selection; if it refers to
+multiple items then the first of
+these that supports indexing and the selection is used.
+I<Index> gives a textual description of a position
+within I<tagOrId>, as described in L<"INDICES"> above.
+
+=over 8
+
+=item I<$canvas>-E<gt>B<selectAdjust>(I<tagOrId, index>)
+
+Locate the end of the selection in I<tagOrId> nearest
+to the character given by I<index>, and adjust that
+end of the selection to be at I<index> (i.e. including
+but not going beyond I<index>).
+The other end of the selection is made the anchor point
+for future B<selectTo> method calls.
+If the selection isn't currently in I<tagOrId> then
+this method behaves the same as the B<selectTo> widget
+method.
+Returns an empty string.
+
+=item I<$canvas>-E<gt>B<selectClear>
+
+Clear the selection if it is in this widget.
+If the selection isn't in this widget then the method
+has no effect.
+Returns an empty string.
+
+=item I<$canvas>-E<gt>B<selectFrom>(I<tagOrId, index>)
+
+Set the selection anchor point for the widget to be just
+before the character
+given by I<index> in the item given by I<tagOrId>.
+This method doesn't change the selection; it just sets
+the fixed end of the selection for future B<selectTo>
+method calls.
+Returns an empty string.
+
+=item I<$canvas>-E<gt>B<selectItem>
+
+Returns the id of the selected item, if the selection is in an
+item in this canvas.
+If the selection is not in this canvas then an empty string
+is returned.
+
+=item I<$canvas>-E<gt>B<selectTo>(I<tagOrId, index>)
+
+Set the selection to consist of those characters of I<tagOrId>
+between the selection anchor point and
+I<index>.
+The new selection will include the character given by I<index>;
+it will include the character given by the anchor point only if
+I<index> is greater than or equal to the anchor point.
+The anchor point is determined by the most recent B<selectAdjust>
+or B<selectFrom> method calls for this widget.
+If the selection anchor point for the widget isn't currently in
+I<tagOrId>, then it is set to the same character given
+by I<index>.
+Returns an empty string.
+
+=back
+
+=item I<$canvas>-E<gt>B<type>(I<tagOrId>)
+
+Returns the type of the item given by I<tagOrId>, such as
+B<rectangle> or B<text>.
+If I<tagOrId> refers to more than one item, then the type
+of the first item in the display list is returned.
+If I<tagOrId> doesn't refer to any items at all then
+an empty string is returned.
+
+=item I<$canvas>-E<gt>B<xview>(?I<args>?)
+
+This method is used to query and change the horizontal position of the
+information displayed in the canvas's window.
+It can take any of the following forms:
+
+=over 8
+
+=item I<$canvas>-E<gt>B<xview>
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the horizontal span that is visible in the window.
+For example, if the first element is .2 and the second element is .6,
+20% of the canvas's area (as defined by the B<-scrollregion> option)
+is off-screen to the left, the middle 40% is visible
+in the window, and 40% of the canvas is off-screen to the right.
+These are the same values passed to scrollbars via the B<-xscrollcommand>
+option.
+
+=item I<$canvas>-E<gt>B<xviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that I<fraction> of the
+total width of the canvas is off-screen to the left.
+I<Fraction> must be a fraction between 0 and 1.
+
+=item I<$canvas>-E<gt>B<xviewScroll>(I<number, what>)
+
+This method shifts the view in the window left or right according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an abbreviation
+of one of these.
+If I<what> is B<units>, the view adjusts left or right in units
+of the B<xScrollIncrement> option, if it is greater than zero,
+or in units of one-tenth the window's width otherwise.
+If I<what is >B<pages> then the view
+adjusts in units of nine-tenths the window's width.
+If I<number> is negative then information farther to the left
+becomes visible; if it is positive then information farther to the right
+becomes visible.
+
+=back
+
+=item I<$canvas>-E<gt>B<yview>(I<?args>?)
+
+This method is used to query and change the vertical position of the
+information displayed in the canvas's window.
+It can take any of the following forms:
+
+=over 8
+
+=item I<$canvas>-E<gt>B<yview>
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the vertical span that is visible in the window.
+For example, if the first element is .6 and the second element is 1.0,
+the lowest 40% of the canvas's area (as defined by the B<-scrollregion>
+option) is visible in the window.
+These are the same values passed to scrollbars via the B<-yscrollcommand>
+option.
+
+=item I<$canvas>-E<gt>B<yviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that I<fraction> of the canvas's
+area is off-screen to the top.
+I<Fraction> is a fraction between 0 and 1.
+
+=item I<$canvas>-E<gt>B<yviewScroll>(I<number, what>)
+
+This method adjusts the view in the window up or down according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages>.
+If I<what> is B<units>, the view adjusts up or down in units
+of the B<yScrollIncrement> option, if it is greater than zero,
+or in units of one-tenth the window's height otherwise.
+If I<what> is B<pages> then
+the view adjusts in units of nine-tenths the window's height.
+If I<number> is negative then higher information becomes
+visible; if it is positive then lower information
+becomes visible.
+
+=back
+
+=back
+
+=head1 OVERVIEW OF ITEM TYPES
+
+The sections below describe the various types of items supported
+by canvas widgets. Each item type is characterized by two things:
+first, the form of the B<create> method used to create
+instances of the type; and second, a set of configuration options
+for items of that type, which may be used in the
+B<create> and B<itemconfigure> methods.
+Most items don't support indexing or selection or the methods
+related to them, such as B<index> and B<insert>.
+Where items do support these facilities, it is noted explicitly
+in the descriptions below.
+At present, text, line and polygon items provide this support.
+For lines and polygons the indexing facility is used to manipulate
+the coordinates of the item.
+
+=head1 ARC ITEMS
+
+Items of type B<arc> appear on the display as arc-shaped regions.
+An arc is a section of an oval delimited by two angles (specified
+by the B<-start> and B<-extent> options) and displayed in
+one of several ways (specified by the B<-style> option).
+Arcs are created with methods of the following form:
+
+ $canvas->createArc(x1, y1, x2, y2, ?option, value, option, value, ...?)
+
+The arguments I<x1>, I<y1>, I<x2>, and I<y2> give
+the coordinates of two diagonally opposite corners of a
+rectangular region enclosing the oval that defines the arc.
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for arcs:
+
+=over 4
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-activedash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state, the active
+state, and the disabled state of an arc item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-extent> =E<gt> I<degrees>
+
+Specifies the size of the angular range occupied by the arc.
+The arc's range extends for I<degrees> degrees counter-clockwise
+from the starting angle given by the B<-start> option.
+I<Degrees> may be negative.
+If it is greater than 360 or less than -360, then I<degrees>
+modulo 360 is used as the extent.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the arc region in its normal, active, and
+disabled states,
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+If I<color> is an empty string (the default), then
+then the arc will not be filled.
+
+=item B<-outline> =E<gt> I<color>
+
+=item B<-activeoutline> =E<gt> I<color>
+
+=item B<-disabledoutline> =E<gt> I<color>
+
+This option specifies the color that should be used to draw the
+outline of the arc in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+This option defaults to B<black>. If I<color> is specified
+as undef then no outline is drawn for the arc.
+
+=item B<-outlinestipple> =E<gt> I<bitmap>
+
+=item B<-activeoutlinestipple> =E<gt> I<bitmap>
+
+=item B<-disabledoutlinestipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to draw the
+outline of the arc in its normal, active and disabled states.
+Indicates that the outline for the arc should be drawn with a stipple pattern;
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then the outline is drawn
+in a solid fashion.
+
+=item B<-start> =E<gt> I<degrees>
+
+Specifies the beginning of the angular range occupied by the
+arc.
+I<Degrees> is given in units of degrees measured counter-clockwise
+from the 3-o'clock position; it may be either positive or negative.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the arc item where I<state> may be set to one of:
+normal, disabled, hidden or "". If set to empty, the state of the canvas
+itself is used. An arc item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the arc in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-fill> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then filling is done
+in a solid fashion.
+
+=item B<-style> =E<gt> I<type>
+
+Specifies how to draw the arc. If I<type> is B<pieslice>
+(the default) then the arc's region is defined by a section
+of the oval's perimeter plus two line segments, one between the center
+of the oval and each end of the perimeter section.
+If I<type> is B<chord> then the arc's region is defined
+by a section of the oval's perimeter plus a single line segment
+connecting the two end points of the perimeter section.
+If I<type> is B<arc> then the arc's region consists of
+a section of the perimeter alone.
+In this last case the B<-fill> option is ignored.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the arc item is updated on the screen.
+
+=item B<-width> =E<gt> I<outlineWidth>
+
+=item B<-activewidth> =E<gt> I<outlineWidth>
+
+=item B<-disabledwidth> =E<gt> I<outlineWidth>
+
+Specifies the width of the outline to be drawn around
+the arc's region, in its normal, active and disabled states.
+I<outlineWidth> may be in any of the forms described in
+the L<"COORDINATES"> section above.
+If the B<-outline> option has been specified as undef
+then this option has no effect.
+Wide outlines will be drawn centered on the edges of the arc's region.
+This option defaults to 1.0.
+
+=back
+
+=head1 BITMAP ITEMS
+
+Items of type B<bitmap> appear on the display as images with
+two colors, foreground and background.
+Bitmaps are created with methods of the following form:
+
+ $canvas->createBitmap(x, y, ?option, value, option, value, ...?)
+
+The arguments I<x> and I<y> specify the coordinates of a
+point used to position the bitmap on the display (see the B<-anchor>
+option below for more information on how bitmaps are displayed).
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for bitmaps:
+
+=over 4
+
+=item B<-anchor> =E<gt> I<anchorPos>
+
+I<AnchorPos> tells how to position the bitmap relative to the
+positioning point for the item; it may have any of the forms
+accepted by B<Tk_GetAnchor>. For example, if I<anchorPos>
+is B<center> then the bitmap is centered on the point; if
+I<anchorPos> is B<n> then the bitmap will be drawn so that
+its top center point is at the positioning point.
+This option defaults to B<center>.
+
+=item B<-background> =E<gt> I<color>
+
+=item B<-activebackground> =E<gt> I<color>
+
+=item B<-disabledbackground> =E<gt> I<color>
+
+Specifies the color to use for each of the bitmap's '0' valued pixels
+in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+If this option isn't specified, or if it is specified as undef,
+then nothing is displayed where the bitmap pixels are 0; this
+produces a transparent effect.
+
+=item B<-bitmap> =E<gt> I<bitmap>
+
+=item B<-activebitmap> =E<gt> I<bitmap>
+
+=item B<-disabledbitmap> =E<gt> I<bitmap>
+
+Specifies the bitmaps to display in the item in its normal, active and
+disabled states. All bitmaps must have the same width and height.
+I<Bitmap> may have any of the forms accepted by B<Tk_GetBitmap>.
+
+=item B<-foreground> =E<gt> I<color>
+
+=item B<-activeforeground> =E<gt> I<color>
+
+=item B<-disabledforeground> =E<gt> I<color>
+
+Specifies the color to use for each of the bitmap's '1' valued pixels
+in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor> and
+defaults to B<black>.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the bitmap item where I<state> may be set to one of:
+normal, disabled, or hidden. An bitmap item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the bitmap item is updated on the screen.
+
+=back
+
+=head1 GRID ITEMS
+
+Items of type B<grid> are intended for producing a visual reference for
+interpreting other items. They can be drawn as either lines (with dash
+style) or as rectangular "dots" at each grid point.
+
+Items of type B<grid> are unlike other items they always cover the
+whole of the canvas, but are never enclosed by nor overlap any area
+and are not near any point. That is they are intended to be always visible
+but not "pickable", as such they do support the "active" state.
+They are like other items in that: multiple
+grids are permitted, they can be raised and lowered relative to other
+items, they can be moved and scaled. As yet grids do not appear in
+PostScript output.
+
+Grids have outline like configure options. Grids are created with methods of the
+following form:
+
+ $canvas->createGrid(x1, y1, x2, y2, ?option, value, option, value, ...?)
+
+The arguments I<x1>, I<y1> give the origin of the grid. I<x2>, and I<y2> give
+the coordinates of the next grid point in their respective directions.
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+
+The following options are supported for grids:
+
+=over 4
+
+=item B<-lines> =E<gt> I<boolean>
+
+If B<-lines> is set to a true value then lines are drawn for both X and Y
+grids in the style determined by B<-dash>. Otherwise retangular "dots"
+are drawn at each grid point.
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state,
+and the disabled state of a grid item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-color> =E<gt> I<color>
+
+=item B<-disabledcolor> =E<gt> I<color>
+
+This option specifies the color that should be used to draw the
+outline of the grid in its normal and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+This option defaults to B<black>.
+If I<color> is undef then no grid will be drawn.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to draw the
+outline of the rectangle in its normal and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> is an empty string (the default), then the outline is drawn
+in a solid fashion.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the rectangle item where I<state> may be set to one of:
+normal, disabled, or hidden. Many options can take
+separate specifications in normal and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the grid item is updated on the screen.
+
+=item B<-width> =E<gt> I<outlineWidth>
+
+=item B<-disabledwidth> =E<gt> I<outlineWidth>
+
+Specifies the width of the lines drawn by the grid or the size (in both X and Y)
+of the dots, in its normal and disabled states.
+This option defaults to 1.0.
+
+=back
+
+=head1 IMAGE ITEMS
+
+Items of type B<image> are used to display images on a
+canvas.
+Images are created with methods of the following form:
+
+ $canvas->createImage(x, y, ?option, value, option, value, ...?)
+
+The arguments I<x> and I<y> specify the coordinates of a
+point used to position the image on the display (see the B<-anchor>
+option below for more information).
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for images:
+
+=over 4
+
+=item B<-anchor> =E<gt> I<anchorPos>
+
+I<AnchorPos> tells how to position the image relative to the
+positioning point for the item; it may have any of the forms
+accepted by B<Tk_GetAnchor>. For example, if I<anchorPos>
+is B<center> then the image is centered on the point; if
+I<anchorPos> is B<n> then the image will be drawn so that
+its top center point is at the positioning point.
+This option defaults to B<center>.
+
+=item B<-image> =E<gt> I<name>
+
+=item B<-activeimage> =E<gt> I<name>
+
+=item B<-disabledimage> =E<gt> I<name>
+
+Specifies the name of the images to display in the item in is normal,
+active and disabled states. This image must have been created
+previously, see L<Tk::Image>.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the image item where I<state> may be set to one of:
+normal, disabled, or hidden. An image item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item; it may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the image item is updated on the screen.
+
+=back
+
+=head1 LINE ITEMS
+
+Items of type B<line> appear on the display as one or more connected
+line segments or curves.
+Line items support coordinate indexing operations using the canvas
+methods: B<dchars, index, insert.>
+Lines are created with methods of the following form:
+
+ $canvas->createLine(x1, y1..., xn, yn, ?option, value, option, value, ...?)
+
+The arguments I<x1> through I<yn> give
+the coordinates for a series of two or more points that describe
+a series of connected line segments.
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for lines:
+
+=over 4
+
+=item B<-arrow> =E<gt> I<where>
+
+Indicates whether or not arrowheads are to be drawn at one or both
+ends of the line.
+I<Where> must have one of the values B<none> (for no arrowheads),
+B<first> (for an arrowhead at the first point of the line),
+B<last> (for an arrowhead at the last point of the line), or
+B<both> (for arrowheads at both ends).
+This option defaults to B<none>.
+
+=item B<-arrowshape> =E<gt> I<shape>
+
+This option indicates how to draw arrowheads.
+The I<shape> argument must be a list with three elements, each
+specifying a distance in any of the forms described in
+the L<"COORDINATES"> section above.
+The first element of the list gives the distance along the line
+from the neck of the arrowhead to its tip.
+The second element gives the distance along the line from the
+trailing points of the arrowhead to the tip, and the third
+element gives the distance from the outside edge of the line to the
+trailing points.
+If this option isn't specified then Tk picks a ``reasonable'' shape.
+
+=item B<-capstyle> =E<gt> I<style>
+
+Specifies the ways in which caps are to be drawn at the endpoints
+of the line.
+I<Style> may have any of the forms accepted by B<Tk_GetCapStyle>
+(B<butt>, B<projecting>, or B<round>).
+If this option isn't specified then it defaults to B<butt>.
+Where arrowheads are drawn the cap style is ignored.
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-activedash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state, the active
+state, and the disabled state of a line item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the line in its normal, active, and
+disabled states.
+I<Color> may have
+any of the forms acceptable to B<Tk_GetColor>. It may also be undef,
+in which case the line will be transparent.
+This option defaults to B<black>.
+
+=item B<-joinstyle> =E<gt> I<style>
+
+Specifies the ways in which joints are to be drawn at the vertices
+of the line.
+I<Style> may have any of the forms accepted by B<Tk_GetCapStyle>
+(B<bevel>, B<miter>, or B<round>).
+If this option isn't specified then it defaults to B<miter>.
+If the line only contains two points then this option is
+irrelevant.
+
+=item B<-smooth> =E<gt> I<boolean>
+
+I<Boolean> must have one of the forms accepted by B<Tk_GetBoolean>.
+It indicates whether or not the line should be drawn as a curve.
+If so, the line is rendered as a set of parabolic splines: one spline
+is drawn for the first and second line segments, one for the second
+and third, and so on. Straight-line segments can be generated within
+a curve by duplicating the end-points of the desired line segment.
+
+=item B<-splinesteps> =E<gt> I<number>
+
+Specifies the degree of smoothness desired for curves: each spline
+will be approximated with I<number> line segments. This
+option is ignored unless the B<-smooth> option is true.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the line item where I<state> may be set to one of:
+normal, disabled, or hidden. A line item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the line in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> is an empty string (the default), then filling is
+done in a solid fashion.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the line item is updated on the screen.
+
+=item B<-width> =E<gt> I<lineWidth>
+
+=item B<-activewidth> =E<gt> I<lineWidth>
+
+=item B<-disabledwidth> =E<gt> I<lineWidth>
+
+Specifies the width of the line
+in its normal, active and disabled states.
+I<lineWidth> may be in any of the forms
+described in the L<"COORDINATES"> section above.
+
+Wide lines will be drawn centered on the path specified by the
+points.
+If this option isn't specified then it defaults to 1.0.
+
+=back
+
+=head1 OVAL ITEMS
+
+Items of type B<oval> appear as circular or oval regions on
+the display. Each oval may have an outline, a fill, or
+both. Ovals are created with methods of the
+following form:
+
+ $canvas->createOval(x1, y1, x2, y2, ?option, value, option, value, ...?)
+
+The arguments I<x1>, I<y1>, I<x2>, and I<y2> give
+the coordinates of two diagonally opposite corners of a
+rectangular region enclosing the oval.
+The oval will include the top and left edges of the rectangle
+not the lower or right edges.
+If the region is square then the resulting oval is circular;
+otherwise it is elongated in shape.
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for ovals:
+
+=over 4
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-activedash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state, the active
+state, and the disabled state of an oval item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the oval in its normal, active, and
+disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+If I<color> is undef (the default), then
+then the oval will not be filled.
+
+=item B<-outline> =E<gt> I<color>
+
+=item B<-activeoutline> =E<gt> I<color>
+
+=item B<-disabledoutline> =E<gt> I<color>
+
+This option specifies the color that should be used to draw the
+outline of the oval in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+This option defaults to B<black>.
+If I<color> is undef then no outline will be
+drawn for the oval.
+
+=item B<-outlinestipple> =E<gt> I<bitmap>
+
+=item B<-activeoutlinestipple> =E<gt> I<bitmap>
+
+=item B<-disabledoutlinestipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to draw the
+outline of the oval in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then the outline is drawn
+in a solid fashion.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the oval item where I<state> may be set to one of:
+normal, disabled, or hidden. An oval item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the oval in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-fill> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then filling is done
+in a solid fashion.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the oval item is updated on the screen.
+
+=item B<-width> =E<gt> I<outlineWidth>
+
+=item B<-activewidth> =E<gt> I<outlineWidth>
+
+=item B<-disabledwidth> =E<gt> I<outlineWidth>
+
+Specifies the width of the outline to be drawn around
+the oval, in its normal, active and disabled states.
+I<outlineWidth> specifies the width of the outline to be drawn around
+the oval, in any of the forms described in the L<"COORDINATES"> section above.
+
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+Wide outlines are drawn centered on the oval path defined by
+I<x1>, I<y1>, I<x2>, and I<y2>.
+This option defaults to 1.0.
+
+=back
+
+=head1 POLYGON ITEMS
+
+Items of type B<polygon> appear as polygonal or curved filled regions
+on the display.
+Polygon items support coordinate indexing operations using the canvas
+methods: B<dchars, index, insert.>
+Polygons are created with methods of the following form:
+
+ $canvas->createPolygon(x1, y1, ..., xn, yn, ?option, value, option, value, ...?)
+
+The arguments I<x1> through I<yn> specify the coordinates for
+three or more points that define a closed polygon.
+The first and last points may be the same; whether they are or not,
+Tk will draw the polygon as a closed polygon.
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for polygons:
+
+=over 4
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-activedash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state, the active
+state, and the disabled state of an polygon item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the polygon in its normal, active, and
+disabled states.
+I<Color>
+may have any of the forms acceptable to B<Tk_GetColor>.
+If I<color> is undef then the polygon will be
+transparent.
+This option defaults to B<black>.
+
+=item B<-joinstyle> =E<gt> I<style>
+
+Specifies the ways in which joints are to be drawn at the vertices
+of the outline.
+I<Style> may have any of the forms accepted by B<Tk_GetCapStyle>
+(B<bevel>, B<miter>, or B<round>).
+If this option isn't specified then it defaults to B<miter>.
+
+=item B<-outline> =E<gt> I<color>
+
+=item B<-activeoutline> =E<gt> I<color>
+
+=item B<-disabledoutline> =E<gt> I<color>
+
+This option specifies the color that should be used to draw the
+outline of the polygon in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+If I<color> is undef then no outline will be
+drawn for the polygon.
+This option defaults to undef (no outline).
+
+=item B<-outlinestipple> =E<gt> I<bitmap>
+
+=item B<-activeoutlinestipple> =E<gt> I<bitmap>
+
+=item B<-disabledoutlinestipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to draw the
+outline of the polygon in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then the outline is drawn
+in a solid fashion.
+
+=item B<-smooth> =E<gt> I<boolean>
+
+I<Boolean> must have one of the forms accepted by B<Tk_GetBoolean>
+It indicates whether or not the polygon should be drawn with a
+curved perimeter.
+If so, the outline of the polygon becomes a set of parabolic splines,
+one spline for the first and second line segments, one for the second
+and third, and so on. Straight-line segments can be generated in a
+smoothed polygon by duplicating the end-points of the desired line segment.
+
+=item B<-splinesteps> =E<gt> I<number>
+
+Specifies the degree of smoothness desired for curves: each spline
+will be approximated with I<number> line segments. This
+option is ignored unless the B<-smooth> option is true.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the polygon item where I<state> may be set to one of:
+normal, disabled, or hidden. A polygon item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the polygon in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> is an empty string (the default), then filling is
+done in a solid fashion.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the polygon item is updated on the screen.
+
+=item B<-width> =E<gt> I<outlineWidth>
+
+=item B<-activewidth> =E<gt> I<outlineWidth>
+
+=item B<-disabledwidth> =E<gt> I<outlineWidth>
+
+=item Specifies the width of the outline to be drawn around
+
+the polygon, in its normal, active and disabled states.
+I<outlineWidth> may be in any of the forms described in the COORDINATES
+section above.
+I<OutlineWidth> specifies the width of the outline to be drawn around
+the polygon, in any of the forms described in the L<"COORDINATES"> section above.
+If the B<-outline> option hasn't been specified then this option
+has no effect. This option defaults to 1.0.
+
+Polygon items are different from other items such as rectangles, ovals
+and arcs in that interior points are considered to be ``inside'' a
+polygon (e.g. for purposes of the B<find closest> and
+B<find overlapping> methods) even if it is not filled.
+For most other item types, an
+interior point is considered to be inside the item only if the item
+is filled or if it has neither a fill nor an outline. If you would
+like an unfilled polygon whose interior points are not considered
+to be inside the polygon, use a line item instead.
+
+=back
+
+=head1 RECTANGLE ITEMS
+
+Items of type B<rectangle> appear as rectangular regions on
+the display. Each rectangle may have an outline, a fill, or
+both. Rectangles are created with methods of the
+following form:
+
+ $canvas->createRectangle(x1, y1, x2, y2, ?option, value, option, value, ...?)
+
+The arguments I<x1>, I<y1>, I<x2>, and I<y2> give
+the coordinates of two diagonally opposite corners of the rectangle
+(the rectangle will include its upper and left edges but not
+its lower or right edges).
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for rectangles:
+
+=over 4
+
+=item B<-dash> =E<gt> I<pattern>
+
+=item B<-activedash> =E<gt> I<pattern>
+
+=item B<-disableddash> =E<gt> I<pattern>
+
+This option specifies dash patterns for the normal state, the active
+state, and the disabled state of a rectangle item.
+I<pattern> may have any of the forms accepted by B<Tk_GetDash>.
+If the dash options are omitted then the default is a solid outline.
+
+=item B<-dashoffset> =E<gt> I<offset>
+
+The starting I<offset> into the pattern provided by the
+B<-dash> option.
+B<-dashoffset> is ignored if there is no B<-dash> pattern.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the rectangle in its normal, active, and
+disabled states.
+I<Color>
+may be specified in any of the forms accepted by B<Tk_GetColor>.
+If I<color> is undef (the default),
+then the rectangle will not be filled.
+
+=item B<-outline> =E<gt> I<color>
+
+=item B<-activeoutline> =E<gt> I<color>
+
+=item B<-disabledoutline> =E<gt> I<color>
+
+This option specifies the color that should be used to draw the
+outline of the rectangle in its normal, active and disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+This option defaults to B<black>.
+If I<color> is undef then no outline will be
+drawn for the rectangle.
+
+=item B<-outlinestipple> =E<gt> I<bitmap>
+
+=item B<-activeoutlinestipple> =E<gt> I<bitmap>
+
+=item B<-disabledoutlinestipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to draw the
+outline of the rectangle in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then the outline is drawn
+in a solid fashion.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the rectangle item where I<state> may be set to one of:
+normal, disabled, or hidden. A rectangle item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the rectangle in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If the B<-fill> option hasn't been specified then this option
+has no effect.
+If I<bitmap> is an empty string (the default), then filling
+is done in a solid fashion.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the rectangle item is updated on the screen.
+
+=item B<-width> =E<gt> I<outlineWidth>
+
+=item B<-activewidth> =E<gt> I<outlineWidth>
+
+=item B<-disabledwidth> =E<gt> I<outlineWidth>
+
+Specifies the width of the outline to be drawn around
+the rectangle, in its normal, active and disabled states.
+I<OutlineWidth> specifies the width of the outline to be drawn around
+the rectangle, in any of the forms described in the L<"COORDINATES"> section above.
+
+If the B<-outline> option hasn't been specified then this option
+has no effect.
+Wide outlines are drawn centered on the rectangular path
+defined by I<x1>, I<y1>, I<x2>, and I<y2>.
+This option defaults to 1.0.
+
+=back
+
+=head1 TEXT ITEMS
+
+A text item displays a string of characters on the screen in one
+or more lines.
+Text items support indexing and selection, along with the
+following text-related canvas methods: B<dchars>,
+B<focus>, B<icursor>, B<index>, B<insert>,
+B<select>.
+Text items are created with methods of the following
+form:
+
+ $canvas->createText(x, y, ?option, value, option, value, ...?)
+
+The arguments I<x> and I<y> specify the coordinates of a
+point used to position the text on the display (see the options
+below for more information on how text is displayed).
+After the coordinates there may be any number of I<option>-I<value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> methods to change the item's
+configuration.
+The following options are supported for text items:
+
+=over 4
+
+=item B<-anchor> =E<gt> I<anchorPos>
+
+I<AnchorPos> tells how to position the text relative to the
+positioning point for the text; it may have any of the forms
+accepted by B<Tk_GetAnchor>. For example, if I<anchorPos>
+is B<center> then the text is centered on the point; if
+I<anchorPos> is B<n> then the text will be drawn such that
+the top center point of the rectangular region occupied by the
+text will be at the positioning point.
+This option defaults to B<center>.
+
+=item B<-fill> =E<gt> I<color>
+
+=item B<-activefill> =E<gt> I<color>
+
+=item B<-disabledfill> =E<gt> I<color>
+
+Specifies the color to be used to fill the text in its normal, active, and
+disabled states.
+I<Color> may have any of the forms accepted by B<Tk_GetColor>.
+If I<color> is undef then the text will be transparent.
+If this option isn't specified then it defaults to B<black>.
+
+=item B<-font> =E<gt> I<fontName>
+
+Specifies the font to use for the text item.
+I<FontName> may be any string acceptable to B<Tk_GetFontStruct>.
+If this option isn't specified, it defaults to a system-dependent
+font.
+
+=item B<-justify> =E<gt> I<how>
+
+Specifies how to justify the text within its bounding region.
+I<How> must be one of the values B<left>, B<right>,
+or B<center>.
+This option will only matter if the text is displayed as multiple
+lines.
+If the option is omitted, it defaults to B<left>.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the text item where I<state> may be set to one of:
+normal, disabled, or hidden. A text item may also be in the "active"
+state if the mouse is currently over it. Many options can take
+separate specifications in normal, active and disabled states such that the
+appearance of the item can be different in each state.
+
+=item B<-stipple> =E<gt> I<bitmap>
+
+=item B<-activestipple> =E<gt> I<bitmap>
+
+=item B<-disabledstipple> =E<gt> I<bitmap>
+
+This option specifies stipple patterns that should be used to fill the
+the text in its normal, active and disabled states.
+I<bitmap> specifies the stipple pattern to use, in any of the
+forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> is an empty string (the default) then the text
+is drawn in a solid fashion.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-text> =E<gt> I<string>
+
+I<String> specifies the characters to be displayed in the text item.
+Newline characters cause line breaks.
+The characters in the item may also be changed with the
+B<insert> and B<delete> methods.
+This option defaults to an empty string.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the text item is updated on the screen.
+
+=item B<-width> =E<gt> I<lineLength>
+
+Specifies a maximum line length for the text, in any of the forms
+described in the L<"COORDINATES"> section above.
+If this option is zero (the default) the text is broken into
+lines only at newline characters.
+However, if this option is non-zero then any line that would
+be longer than I<lineLength> is broken just before a space
+character to make the line shorter than I<lineLength>; the
+space character is treated as if it were a newline
+character.
+
+=back
+
+=head1 WINDOW ITEMS
+
+Items of type B<window> cause a particular window to be displayed
+at a given position on the canvas.
+Window items are created with methods of the following form:
+
+S< >I<$canvas>->B<createWindow>(I<x, y>?, I<-option>=>I<value>, I<-option>=>I<value>, ...?)
+
+The arguments I<x> and I<y> specify the coordinates of a
+point used to position the window on the display (see the B<-anchor>
+option below for more information on how bitmaps are displayed).
+After the coordinates there may be any number of I<option-value>
+pairs, each of which sets one of the configuration options
+for the item. These same I<option>-I<value> pairs may be
+used in B<itemconfigure> method to change the item's
+configuration.
+The following options are supported for window items:
+
+=over 4
+
+=item B<-anchor> =E<gt> I<anchorPos>
+
+I<AnchorPos> tells how to position the window relative to the
+positioning point for the item; it may have any of the forms
+accepted by B<Tk_GetAnchor>. For example, if I<anchorPos>
+is B<center> then the window is centered on the point; if
+I<anchorPos> is B<n> then the window will be drawn so that
+its top center point is at the positioning point.
+This option defaults to B<center>.
+
+=item B<-height> =E<gt> I<pixels>
+
+Specifies the height to assign to the item's window.
+I<Pixels> may have any of the
+forms described in the L<"COORDINATES"> section above.
+If this option isn't specified, or if it is specified as an empty
+string, then the window is given whatever height it requests internally.
+
+=item B<-state> =E<gt> I<state>
+
+Modifies the state of the window item where I<state> may be set to one of:
+normal, disabled, or hidden.
+
+=item B<-tags> =E<gt> I<tagList>
+
+Specifies a set of tags to apply to the item.
+I<TagList> consists of a list of tag names, which replace any
+existing tags for the item.
+I<TagList> may be an empty list.
+
+=item B<-updatecommand> =E<gt> I<command>
+
+Specifies a callback that is to be executed every time
+the window item is updated on the screen.
+
+=item B<-width> =E<gt> I<pixels>
+
+Specifies the width to assign to the item's window.
+I<Pixels> may have any of the
+forms described in the L<"COORDINATES"> section above.
+If this option isn't specified, or if it is specified as an empty
+string, then the window is given whatever width it requests internally.
+
+=item B<-window> =E<gt> I<$widget>
+
+Specifies the window to associate with this item.
+The window specified by $widget must either be a child of
+the canvas widget or a child of some ancestor of the canvas widget.
+I<PathName> may not refer to a top-level window.
+
+Note: due to restrictions in the ways that windows are managed, it is not
+possible to draw other graphical items (such as lines and images) on top
+of window items. A window item always obscures any graphics that
+overlap it, regardless of their order in the display list.
+
+=back
+
+=head1 APPLICATION-DEFINED ITEM TYPES
+
+It is possible for individual applications to define new item
+types for canvas widgets using C code.
+See the documentation for B<Tk_CreateItemType>.
+
+=head1 BINDINGS
+
+Canvas has default bindings to allow scrolling if necessary:
+<Up>, <Down>, <Left> and <Right> (and their <Control-*> counter
+parts). Further <Proir>, <Next>, <Home> and <End>. These
+bindings allow you to navigate the same way as in other
+widgets that can scroll.
+
+=head1 Perl/Tk Methods
+
+The following methods are added as perl code:
+
+=over 4
+
+=item $canvas->get_corners
+
+Returns the bounding box in Canvas coordinates of the visible portion
+of the Canvas. (Written by Slaven Rezic.)
+
+=back
+
+=head1 CREDITS
+
+Tk's canvas widget is a blatant ripoff of ideas from Joel Bartlett's
+I<ezd> program. I<Ezd> provides structured graphics in a Scheme
+environment and preceded canvases by a year or two. Its simple
+mechanisms for placing and animating graphical objects inspired the
+functions of canvases.
+
+=head1 KEYWORDS
+
+canvas, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Checkbutton.pod b/Master/tlpkg/tlperl/lib/Tk/Checkbutton.pod
new file mode 100644
index 00000000000..710e1192055
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Checkbutton.pod
@@ -0,0 +1,347 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Checkbutton - Create and manipulate Checkbutton widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$checkbutton> = I<$parent>-E<gt>B<Checkbutton>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground>
+B<-activeforeground>
+B<-anchor>
+B<-background>
+B<-bitmap>
+B<-borderwidth>
+B<-compound>
+B<-cursor>
+B<-disabledforeground>
+B<-font>
+B<-foreground>
+B<-highlightbackground>
+B<-highlightcolor>
+B<-highlightthickness>
+B<-image>
+B<-justify>
+B<-padx>
+B<-pady>
+B<-relief>
+B<-takefocus>
+B<-text>
+B<-textvariable>
+B<-underline>
+B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies a L<perlE<sol>Tk callback|Tk::callbacks> to associate with the button. This command
+is typically invoked when mouse button 1 is released over the button
+window. The button's global variable (B<-variable> option) will
+be updated before the command is invoked.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired height for the button.
+If an image or bitmap is being displayed in the button then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in lines of text.
+If this option isn't specified, the button's desired height is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=item Name: B<indicatorOn>
+
+=item Class: B<IndicatorOn>
+
+=item Switch: B<-indicatoron>
+
+Specifies whether or not the indicator should be drawn. Must be a
+proper boolean value. If false, the B<relief> option is
+ignored and the widget's relief is always sunken if the widget is
+selected and raised otherwise.
+
+=item Command-Line Name: B<-offrelief>
+
+=item Database Name: B<offRelief>
+
+=item Database Class: B<OffRelief>
+
+Specifies the relief for the checkbutton when the indicator is not
+drawn and the checkbutton is off. The default value is B<raised>. By
+setting this option to B<flat> and setting
+B<-indicatoron false -overrelief raised>, the effect is achieved of
+having a flat button
+that raises on mouse-over and which is depressed when activated. This
+is the behavior typically exhibited by the Bold, Italic, and
+Underline checkbuttons on the toolbar of a word-processor, for
+example.
+
+=item Name: B<offValue>
+
+=item Class: B<Value>
+
+=item Switch: B<-offvalue>
+
+Specifies value to store in the button's associated variable whenever
+this button is deselected. Defaults to ``0''.
+
+=item Name: B<onValue>
+
+=item Class: B<Value>
+
+=item Switch: B<-onvalue>
+
+Specifies value to store in the button's associated variable whenever
+this button is selected. Defaults to ``1''.
+
+=item Command-Line Name: B<-overrelief>
+
+=item Database Name: B<overRelief>
+
+=item Database Class: B<OverRelief>
+
+Specifies an alternative relief for the button, to be used when
+the mouse cursor is over the widget. This option can be used to
+make toolbar buttons, by configuring B<-relief flat -overrelief
+raised>. If the value of this option is the empty string, then
+no alternative relief is used when the mouse cursor is over the
+button. The empty string is the default value.
+
+=item Name: B<selectColor>
+
+=item Class: B<Background>
+
+=item Switch: B<-selectcolor>
+
+Specifies a background color to use when the button is selected.
+If B<indicatorOn> is true then the color applies to the indicator.
+Under Windows, this color is used as the background for the indicator
+regardless of the select state.
+If B<indicatorOn> is false, this color is used as the background
+for the entire widget, in place of B<background> or B<activeBackground>,
+whenever the widget is selected.
+If specified as an empty string then no special color is used for
+displaying when the widget is selected.
+
+=item Name: B<selectImage>
+
+=item Class: B<SelectImage>
+
+=item Switch: B<-selectimage>
+
+Specifies an image to display (in place of the B<image> option)
+when the checkbutton is selected.
+This option is ignored unless the B<image> option has been
+specified.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the checkbutton: B<normal>, B<active>,
+or B<disabled>. In normal state the checkbutton is displayed using the
+B<foreground> and B<background> options. The active state is
+typically used when the pointer is over the checkbutton. In active state
+the checkbutton is displayed using the B<activeForeground> and
+B<activeBackground> options. Disabled state means that the checkbutton
+should be insensitive: the default bindings will refuse to activate
+the widget and will ignore mouse button presses.
+In this state the B<disabledForeground> and
+B<background> options determine how the checkbutton is displayed.
+
+=item Name: B<variable>
+
+=item Class: B<Variable>
+
+=item Switch: B<-variable>
+
+Specifies reference to a variable to set to indicate whether
+or not this button is selected. Defaults to C<\$widget-E<gt>{'Value'}>
+member of the widget's hash. In general perl variables are C<undef> unless
+specifically initialized which will not match either default B<-onvalue> or
+default B<-offvalue>.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies a desired width for the button.
+If an image or bitmap is being displayed in the button then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in characters.
+If this option isn't specified, the button's desired width is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Checkbutton> method creates a new window (given by the
+$widget argument) and makes it into a checkbutton widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the checkbutton such as its colors, font,
+text, and initial relief. The B<checkbutton> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A checkbutton is a widget
+that displays a textual string, bitmap or image
+and a square called an I<indicator>.
+If text is displayed, it must all be in a single font, but it
+can occupy multiple lines on the screen (if it contains newlines
+or if wrapping occurs because of the B<wrapLength> option) and
+one of the characters may optionally be underlined using the
+B<underline> option.
+A checkbutton has
+all of the behavior of a simple button, including the
+following: it can display itself in either of three different
+ways, according to the B<state> option;
+it can be made to appear
+raised, sunken, or flat; it can be made to flash; and it invokes
+a L<perlE<sol>Tk callback|Tk::callbacks> whenever mouse button 1 is clicked over the
+checkbutton.
+
+In addition, checkbuttons can be I<selected>.
+If a checkbutton is selected then the indicator is normally
+drawn with a selected appearance, and
+a Tcl variable associated with the checkbutton is set to a particular
+value (normally 1).
+Under Unix, the indicator is drawn with a sunken relief and a special
+color. Under Windows, the indicator is drawn with a check mark inside.
+If the checkbutton is not selected, then the indicator is drawn with a
+deselected appearance, and the associated variable is
+set to a different value (typically 0).
+Under Unix, the indicator is drawn with a raised relief and no special
+color. Under Windows, the indicator is drawn without a check mark inside.
+By default, the name of the variable associated with a checkbutton is the
+same as the I<name> used to create the checkbutton.
+The variable name, and the ``on'' and ``off'' values stored in it,
+may be modified with options on the command line or in the option
+database.
+Configuration options may also be used to modify the way the
+indicator is displayed (or whether it is displayed at all).
+By default a checkbutton is configured to select and deselect
+itself on alternate button clicks.
+In addition, each checkbutton monitors its associated variable and
+automatically selects and deselects itself when the variables value
+changes to and from the button's ``on'' value.
+
+=head1 WIDGET METHODS
+
+The B<Checkbutton> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for checkbutton widgets:
+
+=over 4
+
+=item I<$checkbutton>-E<gt>B<deselect>
+
+Deselects the checkbutton and sets the associated variable to its ``off''
+value.
+
+=item I<$checkbutton>-E<gt>B<flash>
+
+Flashes the checkbutton. This is accomplished by redisplaying the checkbutton
+several times, alternating between active and normal colors. At
+the end of the flash the checkbutton is left in the same normal/active
+state as when the command was invoked.
+This command is ignored if the checkbutton's state is B<disabled>.
+
+=item I<$checkbutton>-E<gt>B<invoke>
+
+Does just what would have happened if the user invoked the checkbutton
+with the mouse: toggle the selection state of the button and invoke
+the L<perlE<sol>Tk callback|Tk::callbacks> associated with the checkbutton, if there is one.
+The return value is the return value from the L<perlE<sol>Tk callback|Tk::callbacks>, or an
+empty string if there is no command associated with the checkbutton.
+This command is ignored if the checkbutton's state is B<disabled>.
+
+=item I<$checkbutton>-E<gt>B<select>
+
+Selects the checkbutton and sets the associated variable to its ``on''
+value.
+
+=item I<$checkbutton>-E<gt>B<toggle>
+
+Toggles the selection state of the button, redisplaying it and
+modifying its associated variable to reflect the new state.
+
+=back
+
+=head1 BINDINGS
+
+Tk automatically creates class bindings for checkbuttons that give them
+the following default behavior:
+
+=over 4
+
+=item [1]
+
+On Unix systems, a checkbutton activates whenever the mouse passes
+over it and deactivates whenever the mouse leaves the checkbutton. On
+Mac and Windows systems, when mouse button 1 is pressed over a
+checkbutton, the button activates whenever the mouse pointer is inside
+the button, and deactivates whenever the mouse pointer leaves the
+button.
+
+=item [2]
+
+When mouse button 1 is pressed over a checkbutton, it is invoked (its
+selection state toggles and the command associated with the button is
+invoked, if there is one).
+
+=item [3]
+
+When a checkbutton has the input focus, the space key causes the checkbutton
+to be invoked. Under Windows, there are additional key bindings; plus
+(+) and equal (=) select the button, and minus (-) deselects the button.
+
+If the checkbutton's state is B<disabled> then none of the above
+actions occur: the checkbutton is completely non-responsive.
+
+The behavior of checkbuttons can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+checkbutton, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Clipboard.pod b/Master/tlpkg/tlperl/lib/Tk/Clipboard.pod
new file mode 100644
index 00000000000..a65eb37a870
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Clipboard.pod
@@ -0,0 +1,89 @@
+# Copyright (c) 1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::clipboard - Manipulate Tk clipboard
+
+=for category User Interaction
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<clipboard>I<Option>?(I<args>)?
+
+=head1 DESCRIPTION
+
+This command provides an interface to the Tk clipboard,
+which stores data for later retrieval using the selection mechanism.
+In order to copy data into the clipboard, B<clipboardClear> must
+be called, followed by a sequence of one or more calls to
+B<clipboardAppend>. To ensure that the clipboard is updated atomically, all
+appends should be completed before returning to the event loop.
+
+The following methods are currently supported:
+
+=over 4
+
+=item I<$widget>-E<gt>B<clipboardClear>
+
+Claims ownership of the clipboard on I<$widget>'s display and removes
+any previous contents. Returns an empty string.
+
+=item I<$widget>-E<gt>B<clipboardAppend>(?B<-format>=E<gt>I<format>?,?B<-type>=E<gt>I<type>?,?B<-->?,I<data>)
+
+Appends I<data> to the clipboard on $widget's
+display in the form given by I<type> with the representation given
+by I<format> and claims ownership of the clipboard on $widget's
+display.
+
+=over 4
+
+I<Type> specifies the form in which the selection is to be returned
+(the desired ``target'' for conversion, in ICCCM terminology), and
+should be an atom name such as STRING or FILE_NAME; see the
+Inter-Client Communication Conventions Manual for complete details.
+I<Type> defaults to STRING.
+
+The I<format> argument specifies the representation that should be
+used to transmit the selection to the requester (the second column of
+Table 2 of the ICCCM), and defaults to STRING. If I<format> is
+STRING, the selection is transmitted as 8-bit ASCII characters.
+See the L<Tk::Selection> documentation for explanation of what happens
+if I<format> is not STRING.
+Note that arguments passed to
+B<clipboardAppend> are concatenated before conversion, so the
+caller must take care to ensure appropriate spacing across string
+boundaries. All items appended to the clipboard with the same
+I<type> must have the same I<format>.
+
+A B<--> argument may be specified to mark the end of options: the
+next argument will always be used as I<data>.
+This feature may be convenient if, for example, I<data> starts
+with a B<->.
+
+=back
+
+=back
+
+=over 4
+
+=item I<$widget>-E<gt>B<clipboardGet>( ?-type? );
+
+Retrieve data from the clipboard on I<widget>'s display.
+I<-type> specifies the form in which the data is
+to be returned and should be an atom name such as STRING or
+FILE_NAME. Type defaults to STRING. This command is equivalent
+to C<SelectionGet( -selection =E<gt> 'CLIPBOARD' )>.
+
+=back
+
+=head1 KEYWORDS
+
+clear, format, clipboard, append, selection, type
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/CmdLine.pod b/Master/tlpkg/tlperl/lib/Tk/CmdLine.pod
new file mode 100644
index 00000000000..58b69fded17
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/CmdLine.pod
@@ -0,0 +1,454 @@
+=head1 NAME
+
+Tk::CmdLine - Process standard X11 command line options and set initial resources
+
+=for pm Tk/CmdLine.pm
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+ Tk::CmdLine::SetArguments([@argument]);
+
+ my $value = Tk::CmdLine::cget([$option]);
+
+ Tk::CmdLine::SetResources((\@resource | $resource) [, $priority]);
+
+ Tk::CmdLine::LoadResources(
+ [ -symbol => $symbol ]
+ [ -file => $fileSpec ]
+ [ -priority => $priority ]
+ [ -echo => $fileHandle ] );
+
+=head1 DESCRIPTION
+
+Process standard X11 command line options and set initial resources.
+
+The X11R5 man page for X11 says: "Most X programs attempt to use the same names
+for command line options and arguments. All applications written with the
+X Toolkit Intrinsics automatically accept the following options: ...".
+This module processes these command line options for perl/Tk applications
+using the C<SetArguments>() function.
+
+This module can optionally be used to load initial resources explicitly via
+function C<SetResources>(), or from specified files (default: the standard X11
+application-specific resource files) via function C<LoadResources>().
+
+=head2 Command Line Options
+
+=over 4
+
+=item B<-background> I<Color> | B<-bg> I<Color>
+
+Specifies the color to be used for the window background.
+
+=item B<-class> I<Class>
+
+Specifies the class under which resources for the application should be found.
+This option is useful in shell aliases to distinguish between invocations
+of an application, without resorting to creating links to alter the executable
+file name.
+
+=item B<-display> I<Display> | B<-screen> I<Display>
+
+Specifies the name of the X server to be used.
+
+=item B<-font> I<Font> | B<-fn> I<Font>
+
+Specifies the font to be used for displaying text.
+
+=item B<-foreground> I<Color> | B<-fg> I<Color>
+
+Specifies the color to be used for text or graphics.
+
+=item B<-geometry> I<Geometry>
+
+Specifies the initial size and location of the I<first>
+L<MainWindow|Tk::MainWindow>.
+
+=item B<-iconic>
+
+Indicates that the user would prefer that the application's windows initially
+not be visible as if the windows had been immediately iconified by the user.
+Window managers may choose not to honor the application's request.
+
+=item B<-motif>
+
+Specifies that the application should adhere as closely as possible to Motif
+look-and-feel standards. For example, active elements such as buttons and
+scrollbar sliders will not change color when the pointer passes over them.
+
+=item B<-name> I<Name>
+
+Specifies the name under which resources for the application should be found.
+This option is useful in shell aliases to distinguish between invocations
+of an application, without resorting to creating links to alter the executable
+file name.
+
+=item B<-synchronous>
+
+Indicates that requests to the X server should be sent synchronously, instead of
+asynchronously. Since Xlib normally buffers requests to the server, errors do
+do not necessarily get reported immediately after they occur. This option turns
+off the buffering so that the application can be debugged. It should never
+be used with a working program.
+
+=item B<-title> I<TitleString>
+
+This option specifies the title to be used for this window. This information is
+sometimes used by a window manager to provide some sort of header identifying
+the window.
+
+=item B<-xrm> I<ResourceString>
+
+Specifies a resource pattern and value to override any defaults. It is also
+very useful for setting resources that do not have explicit command line
+arguments.
+
+The I<ResourceString> is of the form E<lt>I<pattern>E<gt>:E<lt>I<value>E<gt>,
+that is (the first) ':' is used to determine which part is pattern and which
+part is value. The (E<lt>I<pattern>E<gt>, E<lt>I<value>E<gt>) pair is entered
+into the options database with B<optionAdd> (for each
+L<MainWindow|Tk::MainWindow> configured), with I<interactive> priority.
+
+=back
+
+=head2 Initial Resources
+
+There are several mechanism for initializing the resource database to be used
+by an X11 application. Resources may be defined in a $C<HOME>/.Xdefaults file,
+a system application defaults file (e.g.
+/usr/lib/X11/app-defaults/E<lt>B<CLASS>E<gt>),
+or a user application defaults file (e.g. $C<HOME>/E<lt>B<CLASS>E<gt>).
+The Tk::CmdLine functionality for setting initial resources concerns itself
+with the latter two.
+
+Resource files contain data lines of the form
+E<lt>I<pattern>E<gt>:E<lt>I<value>E<gt>.
+They may also contain blank lines and comment lines (denoted
+by a ! character as the first non-blank character). Refer to L<option|Tk::option>
+for a description of E<lt>I<pattern>E<gt>:E<lt>I<value>E<gt>.
+
+=over 4
+
+=item System Application Defaults Files
+
+System application defaults files may be specified via environment variable
+$C<XFILESEARCHPATH> which, if set, contains a list of file patterns
+(joined using the OS-dependent path delimiter, e.g. colon on B<UNIX>).
+
+=item User Application Defaults Files
+
+User application defaults files may be specified via environment variables
+$C<XUSERFILESEARCHPATH>, $C<XAPPLRESDIR> or $C<HOME>.
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item B<SetArguments> - Tk::CmdLine::SetArguments([@argument])
+
+Extract the X11 options contained in a specified array (@ARGV by default).
+
+ Tk::CmdLine::SetArguments([@argument])
+
+The X11 options may be specified using a single dash I<-> as per the X11
+convention, or using two dashes I<--> as per the POSIX standard (e.g.
+B<-geometry> I<100x100>, B<-geometry> I<100x100> or B<-geometry=>I<100x100>).
+The options may be interspersed with other options or arguments.
+A I<--> by itself terminates option processing.
+
+By default, command line options are extracted from @ARGV the first time
+a MainWindow is created. The Tk::MainWindow constructor indirectly invokes
+C<SetArguments>() to do this.
+
+=item B<GetArguments> - Tk::CmdLine::GetArguments()
+
+Get a list of the X11 options that have been processed by C<SetArguments>().
+(C<GetArguments>() first invokes C<SetArguments>() if it has not already been invoked.)
+
+=item B<cget> - Tk::CmdLine::cget([$option])
+
+Get the value of a configuration option specified via C<SetArguments>().
+(C<cget>() first invokes C<SetArguments>() if it has not already been invoked.)
+
+ Tk::CmdLine::cget([$option])
+
+The valid options are: B<-class>, B<-name>, B<-screen> and B<-title>.
+If no option is specified, B<-class> is implied.
+
+A typical use of C<cget>() might be to obtain the application class in order
+to define the name of a resource file to be loaded in via C<LoadResources>().
+
+ my $class = Tk::CmdLine::cget(); # process command line and return class
+
+=item B<SetResources> - Tk::CmdLine::SetResources((\@resource | $resource) [, $priority])
+
+Set the initial resources.
+
+ Tk::CmdLine::SetResources((\@resource | $resource) [, $priority])
+
+A single resource may be specified using a string of the form
+'E<lt>I<pattern>E<gt>:E<lt>I<value>E<gt>'. Multiple resources may be specified
+by passing an array reference whose elements are either strings of the above
+form, and/or anonymous arrays of the form [ E<lt>I<pattern>E<gt>,
+E<lt>I<value>E<gt> ]. The optional second argument specifies the priority,
+as defined in L<option|Tk::option>, to be associated with the resources
+(default: I<userDefault>).
+
+Note that C<SetResources>() first invokes C<SetArguments>() if it has not already
+been invoked.
+
+=item B<LoadResources> - Tk::CmdLine::LoadResources([%options])
+
+Load initial resources from one or more files.
+
+ Tk::CmdLine::LoadResources(
+ [ -symbol => $symbol ]
+ [ -file => $fileSpec ]
+ [ -priority => $priority ]
+ [ -echo => $fileHandle ] );
+
+[ B<-symbol> =E<gt> $symbol ] specifies the name of an environment variable
+that, if set, defines a list of one or more directories and/or file patterns
+(joined using the OS-dependent path delimiter, e.g. colon on B<UNIX>).
+$C<XUSERFILESEARCHPATH> is a special case.
+If $C<XUSERFILESEARCHPATH> is not set, $C<XAPPLRESDIR> is checked instead.
+If $C<XAPPLRESDIR> is not set, $C<HOME> is checked instead.
+
+An item is identified as a file pattern if it contains one or more /%[A-Za-z]/
+patterns. Only patterns B<%L>, B<%T> and B<%N> are currently recognized. All
+others are replaced with the null string. Pattern B<%L> is translated into
+$C<LANG>. Pattern B<%T> is translated into I<app-defaults>. Pattern B<%N> is
+translated into the application class name.
+
+Each file pattern, after substitutions are applied, is assumed to define a
+FileSpec to be examined.
+
+When a directory is specified, FileSpecs
+E<lt>B<DIRECTORY>E<gt>/E<lt>B<LANG>E<gt>/E<lt>B<CLASS>E<gt>
+and E<lt>B<DIRECTORY>E<gt>/E<lt>B<CLASS>E<gt> are defined, in that order.
+
+[ B<-file> =E<gt> $fileSpec ] specifies a resource file to be loaded in.
+The file is silently skipped if if does not exist, or if it is not readable.
+
+[ B<-priority> =E<gt> $priority ] specifies the priority, as defined in
+L<option|Tk::option>, to be associated with the resources
+(default: I<userDefault>).
+
+[ B<-echo> =E<gt> $fileHandle ] may be used to specify that a line should be
+printed to the corresponding FileHandle (default: \*STDOUT) everytime a file
+is examined / loaded.
+
+If no B<-symbol> or B<-file> options are specified, C<LoadResources>()
+processes symbol $C<XFILESEARCHPATH> with priority I<startupFile> and
+$C<XUSERFILESEARCHPATH> with priority I<userDefault>.
+(Note that $C<XFILESEARCHPATH> and $C<XUSERFILESEARCHPATH> are supposed to
+contain only patterns. $C<XAPPLRESDIR> and $C<HOME> are supposed to be a single
+directory. C<LoadResources>() does not check/care whether this is the case.)
+
+For each set of FileSpecs, C<LoadResources>() examines each FileSpec to
+determine if the file exists and is readable. The first file that meets this
+criteria is read in and C<SetResources>() is invoked.
+
+Note that C<LoadResources>() first invokes C<SetArguments>() if it has not already
+been invoked.
+
+=back
+
+=head1 NOTES
+
+This module is an object-oriented module whose methods can be invoked as object
+methods, class methods or regular functions. This is accomplished via an
+internally-maintained object reference which is created as necessary, and which
+always points to the last object used. C<SetArguments>(), C<SetResources>() and
+C<LoadResources>() return the object reference.
+
+=head1 EXAMPLES
+
+=over
+
+=item 1
+
+@ARGV is processed by Tk::CmdLine at MainWindow creation.
+
+ use Tk;
+
+ # <Process @ARGV - ignoring all X11-specific options>
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=item 2
+
+@ARGV is processed by Tk::CmdLine before MainWindow creation.
+An @ARGV of (--geometry=100x100 -opt1 a b c -bg red)
+is equal to (-opt1 a b c) after C<SetArguments>() is invoked.
+
+ use Tk;
+
+ Tk::CmdLine::SetArguments(); # Tk::CmdLine->SetArguments() works too
+
+ # <Process @ARGV - not worrying about X11-specific options>
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=item 3
+
+Just like 2) except that default arguments are loaded first.
+
+ use Tk;
+
+ Tk::CmdLine::SetArguments(qw(-name test -iconic));
+ Tk::CmdLine::SetArguments();
+
+ # <Process @ARGV - not worrying about X11-specific options>
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=item 4
+
+@ARGV is processed by Tk::CmdLine before MainWindow creation.
+Standard resource files are loaded in before MainWindow creation.
+
+ use Tk;
+
+ Tk::CmdLine::SetArguments();
+
+ # <Process @ARGV - not worrying about X11-specific options>
+
+ Tk::CmdLine::LoadResources();
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=item 5
+
+@ARGV is processed by Tk::CmdLine before MainWindow creation.
+Standard resource files are loaded in before MainWindow creation
+using non-default priorities.
+
+ use Tk;
+
+ Tk::CmdLine::SetArguments();
+
+ # <Process @ARGV - not worrying about X11-specific options>
+
+ Tk::CmdLine::LoadResources(-echo => \*STDOUT,
+ -priority => 65, -symbol => 'XFILESEARCHPATH' );
+ Tk::CmdLine::LoadResources(-echo => \*STDOUT,
+ -priority => 75, -symbol => 'XUSERFILESEARCHPATH' );
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=item 6
+
+@ARGV is processed by Tk::CmdLine before MainWindow creation.
+Standard resource files are loaded in before MainWindow creation.
+Individual resources are also loaded in before MainWindow creation.
+
+ use Tk;
+
+ Tk::CmdLine::SetArguments();
+
+ # <Process @ARGV - not worrying about X11-specific options>
+
+ Tk::CmdLine::LoadResources();
+
+ Tk::CmdLine::SetResources( # set a single resource
+ '*Button*background: red',
+ 'widgetDefault' );
+
+ Tk::CmdLine::SetResources( # set multiple resources
+ [ '*Button*background: red', '*Button*foreground: blue' ],
+ 'widgetDefault' );
+
+ my $mw = MainWindow->new();
+
+ MainLoop();
+
+=back
+
+=head1 ENVIRONMENT
+
+=over 4
+
+=item B<HOME> (optional)
+
+Home directory which may contain user application defaults files as
+$C<HOME>/$C<LANG>/E<lt>B<CLASS>E<gt> or $C<HOME>/E<lt>B<CLASS>E<gt>.
+
+=item B<LANG> (optional)
+
+The current language (default: I<C>).
+
+=item B<XFILESEARCHPATH> (optional)
+
+List of FileSpec patterns
+(joined using the OS-dependent path delimiter, e.g. colon on B<UNIX>)
+used in defining system application defaults files.
+
+=item B<XUSERFILESEARCHPATH> (optional)
+
+List of FileSpec patterns
+(joined using the OS-dependent path delimiter, e.g. colon on B<UNIX>)
+used in defining user application defaults files.
+
+=item B<XAPPLRESDIR> (optional)
+
+Directory containing user application defaults files as
+$C<XAPPLRESDIR>/$C<LANG>/E<lt>B<CLASS>E<gt> or
+$C<XAPPLRESDIR>/E<lt>B<CLASS>E<gt>.
+
+=back
+
+=head1 SEE ALSO
+
+L<MainWindow|Tk::MainWindow>
+L<option|Tk::option>
+
+=head1 HISTORY
+
+=over 4
+
+=item *
+
+1999.03.04 Ben Pavon E<lt>ben.pavon@hsc.hac.comE<gt>
+
+Rewritten as an object-oriented module.
+
+Allow one to process command line options in a specified array (@ARGV by default).
+Eliminate restrictions on the format and location of the options within the array
+(previously the X11 options could not be specified in POSIX format and had to be
+at the beginning of the array).
+
+Added the C<SetResources>() and C<LoadResources>() functions to allow the definition
+of resources prior to MainWindow creation.
+
+=item *
+
+2000.08.31 Ben Pavon E<lt>ben.pavon@hsc.hac.comE<gt>
+
+Added the C<GetArguments>() method which returns the list of arguments that
+have been processed by C<SetArguments>().
+
+Modified C<LoadResources>() to split the symbols using the OS-dependent
+path delimiter defined in the B<Config> module.
+
+Modified C<LoadResources>() to eliminate a warning message when processing
+patterns B<%l>, B<%C>, B<%S>.
+
+=back
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/ColorEditor.pod b/Master/tlpkg/tlperl/lib/Tk/ColorEditor.pod
new file mode 100644
index 00000000000..48e6477f3ef
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/ColorEditor.pod
@@ -0,0 +1,120 @@
+
+=head1 NAME
+
+Tk::ColorEditor - a general purpose Tk widget Color Editor
+
+=for pm Tk/ColorEditor.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+ use Tk::ColorEditor;
+
+ $cref = $mw->ColorEditor(-title => $title, -cursor => @cursor);
+
+ $cref->Show;
+
+=head1 DESCRIPTION
+
+ColorEditor is implemented as an object with various methods, described
+below. First, create your ColorEditor object during program initialization
+(one should be sufficient), and then configure it by specifying a list of Tk
+widgets to colorize. When it's time to use the editor, invoke the Show()
+method.
+
+ColorEditor allows some customization: you may alter the color attribute
+menu by adding and/or deleting menu items and/or separators, turn the status
+window on or off, alter the configurator's list of color widgets, or even
+supply your own custom color configurator callback.
+
+=over 4
+
+=item 1.
+
+Call the constructor to create the editor object, which in turn returns a
+blessed reference to the new object:
+
+ use Tk::ColorEditor;
+
+ $cref = $mw->ColorEditor(
+ -title => $title,
+ -cursor => @cursor,
+ );
+
+ mw - a window reference, usually the result of a MainWindow->new
+ call. As the default root of a widget tree, $mw and all
+ descendant widgets at object-creation-time are configured
+ by the default color configurator procedure. (You probably
+ want to change this though or you might end up colorizing
+ ColorEditor!)
+ title - Toplevel title, default = ' '.
+ cursor - a valid Tk '-cursor' specification (default is
+ 'top_left_arrow'). This cursor is used over all ColorEditor
+ "hot spots".
+
+=item 2.
+
+Invoke the configure() method to change editor characteristics:
+
+ $cref->configure(-option => value, ..., -option-n => value-n);
+
+ options:
+ -command : a callback to a `set_colors' replacement.
+ -widgets : a reference to a list of widget references
+ for the color configurator.
+ -display_status : TRUE IFF display the ColorEditor status
+ window when applying colors.
+ -add_menu_item : 'SEP', or a color attribute menu item.
+ -delete_menu_item : 'SEP', a color attribute menu item, or color
+ attribute menu ordinal.
+
+ For example:
+
+ $cref->configure(-delete_menu_item => 3,
+ -delete_menu_item => 'disabledforeground',
+ -add_menu_item => 'SEP',
+ -add_menu_item => 'New color attribute',
+ -widgets => [$ce, $qu, $f2b2],
+ -widgets => [$f2->Descendants],
+ -command => [\&my_special_configurator, some, args ]
+ );
+
+=item 3.
+
+Invoke the Show() method on the editor object, say, by a button or menu press:
+
+ $cref->Show;
+
+=item 4.
+
+The cget(-widgets) method returns a reference to a list of widgets that
+are colorized by the configurator. Typically, you add new widgets to
+this list and then use it in a subsequent configure() call to expand your
+color list.
+
+ $cref->configure(
+ -widgets => [
+ @{$Filesystem_ref->cget(-widgets)}, @{$cref->cget(-widgets)},
+ ]
+ );
+
+=item 5.
+
+The delete_widgets() method expects a reference to a list of widgets which are
+then removed from the current color list.
+
+ $cref->delete_widgets($OBJTABLE{$objname}->{'-widgets'})
+
+=back
+
+=head1 AUTHORS
+
+Stephen O. Lidie, Lehigh University Computing Center. 95/03/05
+lusol@Lehigh.EDU
+
+Many thanks to Guy Decoux (decoux@moulon.inra.fr) for doing the initial
+translation of tcolor.tcl to TkPerl, from which this code has been derived.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Compound.pod b/Master/tlpkg/tlperl/lib/Tk/Compound.pod
new file mode 100644
index 00000000000..01f6e5f2639
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Compound.pod
@@ -0,0 +1,298 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distrobution are in the file
+# license.tcl.
+
+=head1 NAME
+
+Tk::Compound - Create multi-line compound images.
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+ use Tk::Compound;
+ $image = $widget->Compound(name,options);
+ $image->Line(options);
+ $image->Text(options);
+ $image->Bitmap(options);
+ $image->Image(options);
+ $image->Space(options);
+
+=for comment
+This paragraph used to be written different, but perldoc 3.14 cannot
+display this paragraph.
+S< >use Tk::Compound;
+S< >I<$image> = I<$widget>-E<gt>B<Compound>?(I<name>??,I<options>?)
+S< >I<$image>-E<gt>B<Line>?(I<options>?)
+S< >I<$image>-E<gt>B<Text>?(I<options>?)
+S< >I<$image>-E<gt>B<Bitmap>?(I<options>?)
+S< >I<$image>-E<gt>B<Image>?(I<options>?)
+S< >I<$image>-E<gt>B<Space>?(I<options>?)
+
+=head1 DESCRIPTION
+
+Compound image types can be used to create images that consists of
+multiple horizontal lines; each line is composed of a series of items
+(texts, bitmaps, images or spaces) arranged from left to
+right. Compound images are mainly used to embed complex drawings into
+widgets that support the B<-image> option. As shown in the EXAMPLE
+section below, a compound image can be used to display a bitmap and a
+text string simutaneously in a Tk B<Button> widget.
+
+Compound images can only be used on windows on the same display as, and
+with the same pixel depth and visual as the I<$widget> used to create them.
+
+=head1 CREATING COMPOUND IMAGES
+
+Compounds are created using I<$widget>-E<gt>B<Compound>.
+Compounds support the following I<options>:
+
+=over 4
+
+=item B<-background> =E<gt> I<color>
+
+Specifies the background color of the compound image. This color is
+also used as the default background color for the bitmap items in the
+compound image.
+
+=item B<-borderwidth> =E<gt> I<pixels>
+
+Specifies a non-negative value indicating the width of the 3-D border
+drawn around the compound image.
+
+=item B<-font> =E<gt> I<font>
+
+Specifies the default font for the text items in the compound image.
+
+=item B<-foreground> =E<gt> I<color>
+
+Specifies the default foreground color for the bitmap and text items
+in the compound image.
+
+=item B<-padx> =E<gt> I<value>
+
+Specifies a non-negative value indicating how much extra space to
+request for the compound image in the X-direction. The I<value> may
+have any of the forms acceptable to B<Tk_GetPixels(3)>.
+
+=item B<-pady> =E<gt> I<value>
+
+Specifies a non-negative value indicating how much extra space to
+request for the compound image in the Y-direction.
+
+=item B<-relief> =E<gt> I<value>
+
+Specifies the 3-D effect desired for the background of the compound
+image. Acceptable values are B<raised>, B<sunken>, B<flat>,
+B<ridge>, and B<groove>.
+
+=item B<-showbackground> =E<gt> I<value>
+
+Specifies whether the background and the 3D borders should be drawn.
+Must be a valid boolean value. By default the background is not drawn
+and the compound image appears to have a transparent background.
+
+
+=back
+
+=head1 IMAGE COMMAND
+
+When a compound image is created, Tk also creates a new object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+
+The object also supports the following methods:
+
+=over 4
+
+=item I<$compound>-E<gt>B<Line>?(I<option => value ...>)?
+
+Creates a new line at the bottom of the compound image. Lines support
+the following I<options>:
+
+=over 4
+
+=item B<-anchor> value
+
+Specifies how the line should be aligned along the horizontal axis.
+When the values are B<w>, B<sw> or B<nw>, the line is aligned
+to the left. When the values are B<c>, B<s> or B<n>, the line
+is aligned to the middle. When the values are B<e>, B<se> or
+B<ne>, the line is aligned to the right.
+
+=item B<-padx> =E<gt> I<value>
+
+Specifies a non-negative value indicating how much extra space to
+request for this line in the X-direction.
+
+=back
+
+=item I<$compound>-E<gt>I<Itemtype>?(I<option => value ...>)?
+
+Creates a new item of the type I<Itemtype> at the end of the last
+line of the compound image. All types of items support
+these following common I<options>:
+
+=over 4
+
+=item B<-anchor> value
+
+Specifies how the item should be aligned along the vertical axis. When
+the values are B<n>, B<nw> or B<ne>, the item is aligned to
+the top of the line. When the values are B<c>, B<w> or B<e>,
+the item is aligned to the middle of the line. When the values are
+B<s>, B<se> or B<sw>, the item is aligned to the bottom of
+the line.
+
+=item B<-padx> =E<gt> I<value>
+
+Specifies a non-negative value indicating how much extra space to
+request for this item in the X-direction.
+
+=item B<-pady> =E<gt> I<value>
+
+Specifies a non-negative value indicating how much extra space to
+request for this item in the Y-direction.
+
+=item I<item-type> can be any of the following:
+
+=back
+
+=item I<$compound>-E<gt>B<Bitmap>?(I<option => value ...>)?
+
+Creates a new bitmap item of at the end of the last
+line of the compound image. Additional I<options> accepted by the
+bitmap type are:
+
+=over 4
+
+=item B<-background> =E<gt> I<color>
+
+Specifies the background color of the bitmap item.
+
+=item B<-bitmap> =E<gt> I<name>
+
+Specifies a bitmap to display in this item, in any of the forms
+acceptable to B<Tk_GetBitmap(3)>.
+
+=item B<-foreground> =E<gt> I<color>
+
+Specifies the foreground color of the bitmap item.
+
+=back
+
+=item I<$compound>-E<gt>B<Image>?(I<option => value ...>)?
+
+Creates a new image item of at the end of the last
+line of the compound image. Additional I<options> accepted by the
+image type are:
+
+=over 4
+
+=item B<-image> =E<gt> I<name>
+
+Specifies an image to display in this item. I<name>
+must have been created with the B<image create> command.
+
+=back
+
+=item I<$compound>-E<gt>B<Space>?(I<option => value ...>)?
+
+Creates a new space item of at the end of the last line of the
+compound image. Space items do not display anything. They just acts as
+space holders that add additional spaces between items inside a
+compound image. Additional I<options> accepted by the image type
+are:
+
+=over 4
+
+=item B<-width> =E<gt> I<value>
+
+Specifies the width of this space. The I<value> may have any of the
+forms acceptable to B<Tk_GetPixels(3)>.
+
+=item B<-height> =E<gt> I<value>
+
+Specifies the height of this space. The I<value> may have any of
+the forms acceptable to B<Tk_GetPixels(3)>.
+
+=back
+
+=item I<$compound>-E<gt>B<Text>?(I<option => value ...>)?
+
+Creates a new text item of at the end of the last line of the compound
+image. Additional I<options> accepted by the text type are:
+
+=over 4
+
+=item B<-background> =E<gt> I<color>
+
+Specifies the background color of the text item.
+
+=item B<-font> =E<gt> I<name>
+
+Specifies the font to be used for this text item.
+
+=item B<-foreground> =E<gt> I<color>
+
+Specifies the foreground color of the text item.
+
+=item B<-justify> I<value>
+
+When there are multiple lines of text displayed in a text item, this
+option determines how the lines line up with each other. I<value>
+must be one of B<left>, B<center>, or B<right>. B<Left>
+means that the lines' left edges all line up, B<center> means that
+the lines' centers are aligned, and B<right> means that the lines'
+right edges line up.
+
+=item B<-text> =E<gt> I<string>
+
+Specifies a text string to display in this text item.
+
+=item B<-underline> I<value>
+
+Specifies the integer index of a character to underline in the text
+item. 0 corresponds to the first character of the text displayed in
+the text item, 1 to the next character, and so on.
+
+=item B<-wraplength> I<value>
+
+This option specifies the maximum line length of the label string on
+this text item. If the line length of the label string exceeds this
+length, it is wrapped onto the next line, so that no line is longer
+than the specified length. The value may be specified in any of the
+standard forms for screen distances. If this value is less than or
+equal to 0 then no wrapping is done: lines will break only at newline
+characters in the text.
+
+=back
+
+=back
+
+=head1 EXAMPLE
+
+The following example creates a compound image with a bitmap and a
+text string and places this image into a B<Button(n)>
+widget. Notice that the image must be created using the widget
+that it resides in.
+
+ my $b = $parent->Button;
+ my $c = $b->Compound;
+ $b->configure(-image => $c);
+ $c->Line;
+ $c->Bitmap(-bitmap => 'warning');
+ $c->Space(-width => 8);
+ $c->Text(-text => "Warning", -underline => 0);
+ $b->pack;
+
+=head1 KEYWORDS
+
+image(n), Tix(n)
diff --git a/Master/tlpkg/tlperl/lib/Tk/Config.pm b/Master/tlpkg/tlperl/lib/Tk/Config.pm
index fcb413bce3d..c8eaa5e795e 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.032';
+$VERSION = '804.033';
$inc = '-I$(TKDIR) -I$(TKDIR)/pTk/mTk/xlib';
$define = '';
$xlib = '';
diff --git a/Master/tlpkg/tlperl/lib/Tk/ConfigSpecs.pod b/Master/tlpkg/tlperl/lib/Tk/ConfigSpecs.pod
new file mode 100644
index 00000000000..5f90c2716bb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/ConfigSpecs.pod
@@ -0,0 +1,262 @@
+# $Id: configspec.pod 1.2 Wed, 12 Nov 1997 00:30:45 +0100 ach $
+
+=head1 NAME
+
+Tk::ConfigSpecs - Defining behaviour of 'configure' for composite widgets.
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+ sub Populate
+ {
+ my ($composite,$args) = @_;
+ ...
+ $composite->ConfigSpecs('-attribute' => [ where,dbName,dbClass,default ]);
+ $composite->ConfigSpecs('-alias' => '-otherattribute');
+ $composite->ConfigSpecs('DEFAULT' => [ where ]);
+ $composite->ConfigSpecs($subwidget->ConfigSpecs);
+ ...
+ }
+
+ $composite->configure(-attribute => value);
+
+=head1 DESCRIPTION
+
+The aim is to make the composite widget configure method look as much like
+a regular Tk widget's configure as possible.
+(See L<Tk::options> for a description of this behaviour.)
+To enable this the attributes that the composite as a whole accepts
+needs to be defined.
+
+=head2 Defining the ConfigSpecs for a class.
+
+Typically a widget will have one or more calls like the following
+
+ $composite->ConfigSpecs(-attribute => [where,dbName,dbClass,default]);
+
+in its B<Populate> method. When B<ConfigSpecs> is called this way
+(with arguments) the arguments are used to construct or augment/replace
+a hash table for the widget. (More than one I<-option>=E<gt>I<value>
+pair can be specified to a single call.)
+
+B<dbName>, B<dbClass> and default are only used by B<ConfigDefault> described
+below, or to respond to 'inquiry' configure commands.
+
+It may be either one of the values below, or a list of such values
+enclosed in B<[]>.
+
+The currently permitted values of B<where> are:
+
+=over 4
+
+=item B<'ADVERTISED'>
+
+Apply B<configure> to I<advertised> subwidgets.
+
+=item B<'DESCENDANTS'>
+
+Apply B<configure> recursively to all descendants.
+
+=item B<'CALLBACK'>
+
+Setting the attribute does C<Tk::Callback-E<gt>new($value)> before storing
+in C<$composite-E<gt>{Configure}{-attribute}>. This is appropriate for
+C<-command =E<gt> ...> attributes that are handled by the composite and not
+forwarded to a subwidget. (E.g. B<Tk::Tiler> has C<-yscrollcommand> to
+allow it to have scrollbar attached.)
+
+This may be the first of several 'validating' keywords (e.g. font, cursor,
+anchor etc.) that core Tk makes special for C code.
+
+=item B<'CHILDREN'>
+
+Apply B<configure> to all children. (Children are the immediate
+descendants of a widget.)
+
+=item B<'METHOD'>
+
+Call C<$cw-E<gt>attribute(value)>
+
+This is the most general case. Simply have a method of the composite
+class with the same name as the attribute. The method may do any
+validation and have whatever side-effects you like. (It is probably
+worth 'queueing' using B<afterIdle> for more complex side-effects.)
+
+=item B<'PASSIVE'>
+
+Simply store value in C<$composite-E<gt>{Configure}{-attribute}>.
+
+This form is also a useful placeholder for attributes which you
+currently only handle at create time.
+
+=item B<'SELF'>
+
+Apply B<configure> to the core widget (e.g. B<Frame>) that is the basis of
+the composite. (This is the default behaviour for most attributes which
+makes a simple Frame behave the way you would expect.) Note that once
+you have specified B<ConfigSpecs> for an attribute you must explicitly
+include C<'SELF'> in the list if you want the attribute to apply to the
+composite itself (this avoids nasty infinite recursion problems).
+
+=item B<$reference> (blessed)
+
+Call B<$reference>->configure(-attribute => value)
+
+A common case is where B<$reference> is a subwidget.
+
+$reference may also be result of
+
+ Tk::Config->new(setmethod,getmethod,args,...);
+
+B<Tk::Config> class is used to implement all the above keyword types. The
+class has C<configure> and C<cget> methods so allows higher level code to
+I<always> just call one of those methods on an I<object> of some kind.
+
+=item B<hash reference>
+
+Defining:
+
+ $cw->ConfigSpecs(
+ ...
+ -option => [ { -optionX=>$w1, -optionY=>[$w2, $w3] },
+ dbname dbclass default ],
+ ...
+ );
+
+So C<$cw-E<gt>configure(-option =E<gt> value)> actually does
+
+ $w1->configure(-optionX => value);
+ $w2->configure(-optionY => value);
+ $w3->configure(-optionY => value);
+
+=item B<'otherstring'>
+
+Call
+
+ $composite->Subwidget('otherstring')->configure( -attribute => value );
+
+While this is here for backward compatibility with Tk-b5, it is probably
+better just to use the subwidget reference directly. The only
+case for retaining this form is to allow an additional layer of
+abstraction - perhaps having a 'current' subwidget - this is unproven.
+
+=item B<Aliases>
+
+C<ConfigSpecs( -alias =E<gt> '-otherattribute' )> is used to make C<-alias>
+equivalent to C<-otherattribute>. For example the aliases
+
+ -fg => '-foreground',
+ -bg => '-background'
+
+are provided automatically (if not already specified).
+
+=back
+
+=head2 Delegating all options of a widget class to a subwidget
+
+ $composite->ConfigSpecs($subwidget->ConfigSpecs);
+
+The above generates a list of I<composite> ConfigSpecs arguments, one
+for each valid option in $subwidget's class, and delegates said option
+to $subwidget. See L<Tk::Widget> and the I<widget> method
+ConfigSpecs. Duplicating I<composite> ConfigSpecs and I<widget>
+ConfigSpecs keys will yield undefined results.
+
+
+=head2 Default values
+
+When the B<Populate> method returns B<ConfigDefault> is called. This calls
+
+ $composite->ConfigSpecs;
+
+(with no arguments) to return a reference to a hash. Entries in the hash
+take the form:
+
+ '-attribute' => [ where, dbName, dbClass, default ]
+
+B<ConfigDefault> ignores 'where' completely (and also the DEFAULT entry) and
+checks the 'options' database on the widget's behalf, and if an entry is
+present matching dbName/dbClass
+
+ -attribute => value
+
+is added to the list of options that B<new> will eventually apply to the
+widget. Likewise if there is not a match and default is defined this
+default value will be added.
+
+Alias entries in the hash are used to convert user-specified values for the
+alias into values for the real attribute.
+
+=head2 B<New()-time configure>
+
+Once control returns to B<new>, the list of user-supplied options
+augmented by those from B<ConfigDefault> are applied to the widget using the
+B<configure> method below.
+
+Widgets are most flexible and most Tk-like if they handle the majority of
+their attributes this way.
+
+=head2 Configuring composites
+
+Once the above have occurred calls of the form:
+
+ $composite->configure( -attribute => value );
+
+should behave like any other widget as far as end-user code is concerned.
+B<configure> will be handled by B<Tk::Derived::configure> as follows:
+
+ $composite->ConfigSpecs;
+
+is called (with no arguments) to return a reference to a hash B<-attribute> is
+looked up in this hash, if B<-attribute> is not present in the hash then
+B<'DEFAULT'> is looked for instead. (Aliases are tried as well and cause
+redirection to the aliased attribute). The result should be a reference to a
+list like:
+
+ [ where, dbName, dbClass, default ]
+
+at this stage only I<where> is of interest, it maps to a list of object
+references (maybe only one) foreach one
+
+ $object->configure( -attribute => value );
+
+is B<eval>ed.
+
+=head2 Inquiring attributes of composites
+
+ $composite->cget( '-attribute' );
+
+This is handled by B<Tk::Derived::cget> in a similar manner to configure. At
+present if I<where> is a list of more than one object it is ignored completely
+and the "cached" value in
+
+ $composite->{Configure}{-attribute}.
+
+is returned.
+
+=head1 CAVEATS
+
+The C<-background> and C<-foreground> option values are automatically
+propagated down to all composite widget's children. This may be
+sometimes not desirable, especially if some subwidgets should use own
+color schemes, either by using explicit options or by option database
+definitions. If this is the case, then just add
+
+ -foreground => 'SELF',
+ -background => 'SELF',
+
+to C<ConfigSpecs>.
+
+It is the author's intention to port as many of the "Tix" composite widgets
+as make sense. The mechanism described above may have to evolve in order to
+make this possible, although now aliases are handled I think the above is
+sufficient.
+
+=head1 SEE ALSO
+
+L<Tk::composite|Tk::composite>,
+L<Tk::options|Tk::options>,
+L<Tk::Widget>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/DItem.pod b/Master/tlpkg/tlperl/lib/Tk/DItem.pod
new file mode 100644
index 00000000000..27db79744df
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DItem.pod
@@ -0,0 +1,439 @@
+=head1 NAME
+
+Tk::DItem - Tix Display Items
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+The Tix B<Display Items> and B<Display Types> are devised to
+solve a general problem: many Tix widgets (both existing and planned
+ones) display many items of many types simultaneously.
+
+For example, a hierarchical listbox widget (see L<Tk::HList>) can display
+items
+of images, plain text and subwindows in the form of a
+hierarchy. Another widget, the tabular listbox widget (see L<Tk::TList>)
+also displays items of the
+same types, although it arranges the items in a tabular form. Yet
+another widget, the spreadsheet widget (see L<Tk::TixGrid>),
+also displays similar types
+items, but in yet another format.
+
+In these examples, the display items in different widgets are only
+different in how they are arranged by the B<host widget>. In Tix,
+display items are clearly separated from the host widgets. The
+advantage is two-fold: first, the creation and configuration of
+display items become uniform across different host widgets. Second,
+new display item types can be added without the need to modify the
+existing host widgets.
+
+In a way, Tix display items are similar to the items inside Tk
+the canvas widget. However, unlike the Tix display items, the canvas
+items are not independent of the canvas widget; this makes it
+impossible to use the canvas items inside other types of TK widgets.
+
+The appearance of a display item is controlled by a set of
+I<attributes>. It is observed that each the attributes usually fall
+into one of two categroies: ``I<individual>'' or
+``I<collective>''. For example, the text items inside a HList widget
+may all display a different text string; however, in most cases, the
+text items share the same color, font and spacing. Instead of keeping
+a duplicated version of the same attributes inside each display item,
+it will be advantageous to put the collective attributes in a
+special object called a B<display style>. First, there is the space
+concern: a host widget may have many thousands of items; keeping
+dupilcated attributes will be very wasteful. Second, when it becomes
+necessary to change a collective attribute, such as changing all the
+text items' foreground color to red, it will be more efficient to
+change only the display style object than to modify all the text
+items one by one.
+
+The attributes of the a display item are thus stored in two places: it
+has a set of B<item options> to store its individual attributes. Each
+display item is also associated with a I<display style>, which specifies
+the collective attributes of all items associated with itself.
+
+The division between the individual and collective attributes are
+fixed and cannot be changed. Thus, when it becomes necessary for some
+items to differ in their collective attributes, two or more B<display styles>
+can be used. For example, suppose you want to display two
+columns of text items inside an HList widget, one column in red and
+the other in blue. You can create a TextStyle object called ``$red''
+which defines a red foreground, and another called ``$blue'', which
+defines a blue foreground. You can then associate all text items of
+the first column to ``$red'' and the second column to ``$blue''
+
+=head1 DISPLAY ITEM TYPES AND OPTIONS
+
+Currently there are three types of display items: B<text>,
+B<imagetext> and I<window>.
+
+=head1 IMAGETEXT ITEMS
+
+Display items of the type B<imagetext> are used to display an image
+together with a text string. Imagetext items support the following options:
+
+=head2 Imagetext Item Options
+
+=over 4
+
+=item Name: B<bitmap>
+
+=item Class: B<Bitmap>
+
+=item Switch: B<-bitmap>
+
+Specifies the bitmap to display in the item.
+
+=item Name: B<image>
+
+=item Class: B<Image>
+
+=item Switch: B<-image>
+
+Specifies the image to display in the item. When both the
+B<-bitmap> and B<-image> options are specified, only the image
+will be displayed.
+
+=item Name: B<imageTextStyle>
+
+=item Class: B<ImageTextStyle>
+
+=item Switch: B<-style>
+
+Specifies the display style to use for this item. Must be the
+name of a B<imagetext> display style that has already be created with
+B<ItemStyle>.
+
+=item Name: B<showImage>
+
+=item Class: B<ShowImage>
+
+=item Switch: B<-showimage>
+
+A Boolean value that specifies whether the image/bitmap should be
+displayed.
+
+=item Name: B<showText>
+
+=item Class: B<ShowText>
+
+=item Switch: B<-showtext>
+
+A Boolean value that specifies whether the text string should be
+displayed.
+
+=item Name: B<text>
+
+=item Class: B<Text>
+
+=item Switch: B<-text>
+
+Specifies the text string to display in the item.
+
+=item Name: B<underline>
+
+=item Class: B<Underline>
+
+=item Switch: B<-underline>
+
+Specifies the integer index of a character to underline in the text
+string in the item. 0 corresponds to the first character of the text
+displayed in the widget, 1 to the next character, and so on.
+
+=back
+
+=head2 Imagetext Style Options
+
+The style information of B<imagetext> items are stored in the
+B<imagetext> display style. The following options are supported:
+
+B<STANDARD OPTIONS>
+
+B<-activebackground> B<-activeforeground>
+B<-anchor> B<-background>
+B<-disabledbackground> B<-disabledforeground>
+B<-foreground> B<-font>
+B<-justify> B<-padx>
+B<-pady> B<-selectbackground>
+B<-selectforeground> B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+B<STYLE-SPECIFIC OPTIONS>
+
+=over 4
+
+=item Name: B<gap>
+
+=item Class: B<Gap>
+
+=item Switch: B<-gap>
+
+Specifies the distance between the bitmap/image and the text string,
+in number of pixels.
+
+=item Name: B<textAnchor>
+
+=item Class: B<TextAnchor>
+
+=item Switch: B<-textanchor>
+
+The anchor position on the image to which text part is attached.
+This is a perl/Tk addition. Defaults to B<e> for compatibility with standard
+Tix. The interesting cases are
+
+=over 8
+
+=item B<n>
+
+Text is centred above the image.
+
+=item B<s>
+
+Text is centred below the image
+
+=item B<e>
+
+Text is centred to right of the image.
+
+=item B<w>
+
+Text is centred to left of the image.
+
+=item B<c>
+
+Text is centred over the image.
+
+=back
+
+The B<sw>, B<se>, B<ne>, and b<nw> cases look rather odd.
+
+To get items to line up correctly it will usually be necessary
+to specify B<-anchor> as well. e.g. with default B<e> then anchoring
+item as a whole B<w> lines images up down left with text stuck to right side.
+
+=back
+
+=head1 TEXT ITEMS
+
+Display items of the type B<text> are used to display a text string
+in a widget. Text items support the following options:
+
+=head2 Text Item Options
+
+=over 4
+
+=item Name: B<textStyle>
+
+=item Class: B<TextStyle>
+
+=item Switch: B<-style>
+
+Specifies the display style to use for this text item. Must be the
+name of a B<text> display style that has already be created with
+B<ItemStyle>.
+
+=item Name: B<text>
+
+=item Class: B<Text>
+
+=item Switch: B<-text>
+
+Specifies the text string to display in the item.
+
+=item Name: B<underline>
+
+=item Class: B<Underline>
+
+=item Switch: B<-underline>
+
+Specifies the integer index of a character to underline in the item.
+0 corresponds to the first character of the text displayed in the
+widget, 1 to the next character, and so on.
+
+=back
+
+=head2 Text Style Options
+
+B<STANDARD OPTIONS>
+
+B<-activebackground> B<-activeforeground>
+B<-anchor> B<-background>
+B<-disabledbackground> B<-disabledforeground>
+B<-foreground> B<-font>
+B<-justify> B<-padx>
+B<-pady> B<-selectbackground>
+B<-selectforeground> B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WINDOW ITEMS
+
+Display items of the type I<window> are used to display a
+sub-window in a widget. B<Window> items support the following
+options:
+
+=head2 Window Item Options
+
+=over 4
+
+=item Name: B<windowStyle>
+
+=item Class: B<WindowStyle>
+
+=item Switch: B<-style>
+
+Specifies the display style to use for this window item. Must be the
+name of a I<window> display style that has already be created with
+the B<ItemStyle> method.
+
+=item Name: B<window>
+
+=item Class: B<Window>
+
+=item Switch: B<-window>
+
+=item Alias: B<-widget>
+
+Specifies the sub-window to display in the item.
+
+=back
+
+=head2 Window Style Options
+
+B<STYLE STANDARD OPTIONS>
+
+B<-anchor> B<-padx> B<-pady>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 CREATING DISPLAY ITEMS
+
+Display items do not exist on their and thus they cannot be created
+independently of the widgets they reside in. As a rule, display items
+are created by special methods of their ``host'' widgets. For
+example, the HList widgets has a method B<item> which can be used
+to create new display items. The following code creates a new text
+item at the third column of the entry foo inside an HList widget:
+
+ my $hlist = $parent->HList(-columns=>3);
+ $hlist->add('foo');
+ $hlist->itemCreate('foo', 2, -itemtype=>'text', -text=>'Hello');
+
+The B<itemCreate> method of the HList widget accepts a variable
+number of arguments. The special argument B<-itemtype> specifies
+which type of display item to create. Options that are valid for this
+type of display items can then be specified by one or more
+I<option-value> pairs.
+
+After the display item is created, they can then be configured or
+destroyed using the methods provided by the host widget. For example,
+the HList widget has the methods B<itemConfigure>, B<itemCget>
+and B<itemDelete> for accessing the display items.
+
+=head1 CREATING AND MANIPULATING ITEM STYLES
+
+Item styles are created with B<ItemStyle>:
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<ItemStyle>(I<itemType> ?,B<-stylename>=E<gt>I<name>? ?,B<-refwindow>=E<gt>I<pathName>? ?,I<option>=E<gt>I<value>, ...>?);
+
+I<itemType> must be one of the existing display items types such as
+B<text>, B<imagetext>, B<window> or any new types added by
+the user. Additional arguments can be given in one or more
+I<option-value> pairs. I<option> can be any of the valid option
+for this display style or any of the following:
+
+=over 4
+
+=item B<-stylename> =E<gt> I<name>
+
+Specifies a name for this style. If unspecified, then a default name
+will be chosen for this style.
+
+=item B<-refwindow> =E<gt> I<$otherwidget>
+
+Specifies a window to use for determine the default values of the
+display type. If unspecified, the I<$widget> will be used. Default
+values for the display types can be set via the options database. The
+following example sets the B<-disablebackground> and
+B<-disabledforeground> options of a B<text> display style via
+the option database:
+
+ $widget->optionAdd('*table.list*disabledForeground' => 'blue');
+ $widget->optionAdd('*table.list*disabledBackground' => 'darkgray');
+ $widget->ItemStyle('text', -refwindow => $table_list, -fg => 'red');
+
+By using the option database to set the options of the display styles,
+we can advoid hard-coding the option values and give the user more
+flexibility in customization. See L<Tk::option> for a detailed description
+of the option database.
+
+=back
+
+=head1 STYLE METHODS
+
+The B<ItemStyle> method creates an object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+
+The following additional methods are available for item styles:
+
+=over 4
+
+=item I<$style>-E<gt>B<delete>
+
+Destroy this display style object.
+
+=back
+
+=head1 EXAMPLE
+
+The following example creates two columns of data in a HList
+widget. The first column is in red and the second column in blue. The
+colors of the columns are controlled by two different B<text>
+styles. Also, the anchor and font of the second column is chosen so
+that the income data is aligned properly.
+
+ use strict;
+ use Tk;
+ use Tk::HList;
+ use Tk::ItemStyle;
+
+ my $mw = MainWindow->new();
+
+ my $hlist = $mw->HList(-columns=>2)->pack;
+
+ my $red = $hlist->ItemStyle('text', -foreground=>'#800000');
+ my $blue = $hlist->ItemStyle('text', -foreground=>'#000080', -anchor=>'e');
+
+ my $e;
+ foreach ([Joe => '$10,000'], [Peter => '$20,000'],
+ [Raj => '$90,000'], [Zinh => '$0']) {
+ $e = $hlist->addchild("");
+ $hlist->itemCreate($e, 0, -itemtype=>'text',
+ -text=>$_->[0], -style=>$red );
+ $hlist->itemCreate($e, 1, -itemtype=>'text',
+ -text=>$_->[1], -style=>$blue);
+ }
+
+ Tk::MainLoop;
+
+=head1 SEE ALSO
+
+L<Tk::HList|Tk::HList>
+L<Tk::TixGrid|Tk::TixGrid>
+L<Tk::TList|Tk::TList>
+
+=head1 KEYWORDS
+
+display item, display style, item style
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Derived.pod b/Master/tlpkg/tlperl/lib/Tk/Derived.pod
new file mode 100644
index 00000000000..4b99934d5bd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Derived.pod
@@ -0,0 +1,89 @@
+
+=head1 NAME
+
+Tk::Derived - Base class for widgets derived from others
+
+=for pm Tk/Derived.pm
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+ package Tk::MyNewWidget;
+
+ use Tk::widgets qw/ BaseWidget, list of Tk widgets /;
+ use base qw/ Tk::Derived Tk::BaseWidget /;
+
+ Construct Tk::Widget 'MyNewWidget';
+
+ sub ClassInit {
+ my( $class, $mw ) = @_;
+ #... e.g., class bindings here ...
+ $class->SUPER::ClassInit( $mw );
+ }
+
+ sub Populate {
+ my( $self, $args ) = @_;
+
+ my $flag = delete $args->{-flag};
+ if( defined $flag ) {
+ # handle -flag => xxx which can only be done at create
+ # time the delete above ensures that new() does not try
+ # and do $self->configure( -flag => xxx );
+ }
+
+ $self->SUPER::Populate( $args );
+
+ $self = $self->Component( ... );
+
+ $self->Delegates( ... );
+
+ $self->ConfigSpecs(
+ '-cursor' => [ SELF, 'cursor', 'Cursor', undef ],
+ '-something' => [ METHOD, dbName, dbClass, default ],
+ '-text' => [ $label, dbName, dbClass, default ],
+ '-heading' => [ {-text => $head},
+ heading, Heading, 'My Heading' ],
+ );
+ }
+
+ sub something {
+ my( $self, $value) = @_;
+ if ( @_ > 1 ) {
+ # set it
+ }
+ return # current value
+ }
+
+=head1 DESCRIPTION
+
+Tk::Derived is used with Perl's multiple inheritance to override some
+methods normally inherited from Tk::Widget.
+
+Tk::Derived should precede any Tk widgets in the class's base class
+definition.
+
+Tk::Derived's main purpose is to apply wrappers to C<configure> and C<cget>
+methods of widgets to allow the derived widget to add to or modify behaviour
+of the configure options supported by the base widget.
+
+The derived class should normally override the C<Populate> method provided
+by Tk::Derived and call C<ConfigSpecs> to declare configure options.
+
+The public methods provided by Tk::Derived are as follows:
+
+=over 4
+
+=item -E<gt>ConfigSpecs(-I<key> =E<gt> [I<kind>, I<name>, I<Class>, I<default>], ...)
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::ConfigSpecs|Tk::ConfigSpecs>
+L<Tk::mega|Tk::mega>
+L<Tk::composite|Tk::composite>
+
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Dialog.pod b/Master/tlpkg/tlperl/lib/Tk/Dialog.pod
new file mode 100644
index 00000000000..871206d504c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Dialog.pod
@@ -0,0 +1,107 @@
+# Copyright (c) 1992 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Dialog - Create modal dialog and wait for a response.
+
+=for pm Tk/Dialog.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+S< >I<$dialog> = I<$parent>-E<gt>B<Dialog>(I<-option> =E<gt> I<value>, ... );
+
+=head1 DESCRIPTION
+
+This procedure is part of the Tk script library - its arguments
+describe a dialog box. After creating a dialog box, B<Dialog> waits
+for the user to select one of the Buttons either by clicking on the
+Button with the mouse or by typing return to invoke the default Button
+(if any). Then it returns the text string of the selected Button.
+
+While waiting for the user to respond, B<Dialog> sets a local
+grab. This prevents the user from interacting with the application
+in any way except to invoke the dialog box. See the B<Show()> method.
+
+=head1 OPTIONS
+
+The following option/value pairs are supported:
+
+=over 4
+
+=item B<-title>
+
+Text to appear in the window manager's title bar for the dialog.
+
+=item B<-text>
+
+Message to appear in the top portion of the Dialog.
+
+=item B<-bitmap>
+
+If non-empty, specifies a bitmap to display in the top portion of the
+Dialog, to the left of the text. If this is an empty string then no
+bitmap is displayed in the Dialog.
+
+=item B<-default_button>
+
+Text label string of the Button that displays the default ring.
+
+=item B<-buttons>
+
+A reference to a list of Button label strings. Each I<string>
+specifies text to display in a Button, in order from left to right.
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item I<$answer> = $dialog-E<gt>B<Show(>?-global?B<)>;
+
+This method displays the Dialog, waits for the user's response, and stores
+the text string of the selected Button in I<$answer>. If I<-global> is
+specified a global (rather than local) grab is performed.
+
+The actual Dialog is shown using the B<Popup> method. Any other
+options supplied to B<Show> are passed to B<Popup>, and can be used to
+position the Dialog on the screen. Please read Tk::Popup for details.
+
+=back
+
+=head1 ADVERTISED WIDGETS
+
+Because Tk::Dialog is a subclass of Tk::DialogBox it inherits all the
+advertised subwidgets of its superclass: e.g. "B_button-text", where
+'button-text' is a Button's -text value. Additionally, Tk::Dialog
+advertises:
+
+=over 4
+
+=item B<message>
+
+The dialog's Label widget containing the message text.
+
+=item B<bitmap>
+
+The dialog's Label widget containing the bitmap image.
+
+=back
+
+=head1 EXAMPLE
+
+I<$dialog> = I<$mw>-E<gt>B<Dialog>(-text =E<gt> 'Save File?', -bitmap =E<gt> 'question', -title =E<gt> 'Save File Dialog', -default_button =E<gt> 'Yes', -buttons =E<gt> [qw/Yes No Cancel/);
+
+=head1 KEYWORDS
+
+bitmap, dialog, modal, messageBox
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/DialogBox.pod b/Master/tlpkg/tlperl/lib/Tk/DialogBox.pod
new file mode 100644
index 00000000000..a091cd98427
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DialogBox.pod
@@ -0,0 +1,156 @@
+
+=head1 NAME
+
+Tk::DialogBox - create and manipulate a dialog screen.
+
+=for pm Tixish/DialogBox.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+ use Tk::DialogBox
+ ...
+ $d = $top->DialogBox(-title => "Title", -buttons => ["OK", "Cancel"]);
+ $w = $d->add(Widget, args)->pack;
+ ...
+ $button = $d->Show;
+
+=head1 DESCRIPTION
+
+B<DialogBox> is very similar to B<Dialog> except that it allows
+any widget in the top Frame. B<DialogBox> creates two
+Frames, I<top> and I<bottom>. The bottom Frame shows all the
+specified Buttons, lined up from left to right. The top Frame acts
+as a container for all other widgets that can be added with the
+B<add()> method.
+
+=head1 OPTIONS
+
+The options recognized by B<DialogBox> are as follows:
+
+=over 4
+
+=item B<-title>
+
+Specify the title of the DialogBox. If this is not set, then the
+name of the program is used.
+
+=item B<-buttons>
+
+The button names to display in the bottom Frame. This is a reference
+to an array of strings containing the text to put on each
+Button. There is no default value for this. If you do not specify any
+button names, no Buttons are displayed.
+
+=item B<-default_button>
+
+Specifies the default Button that is considered invoked when user
+presses <Return> on the DialogBox. This Button is highlighted. If
+no default Button is specified, then the first element of the
+array whose reference is passed to the B<-buttons> option is used
+as the default.
+
+=item B<-cancel_button>
+
+Specifies the Button that is considered invoked when the user closes
+the DialogBox using the window manager's close button. If the
+B<-cancel_button> option is not given, and if there's only one button
+configured, then this button is also used as the cancel button.
+Otherwise no button is considered as the cancel button; in such a case
+B<Show> just returns C<undef> when the user closes the DialogBox.
+
+=item B<-command>
+
+A callback which is executed after invoking an action to close the
+DialogBox, but before restoring focus and grab information. The
+selected button is passed as the first argument.
+
+=item B<-focus>
+
+Specify the widget to receive the initial focus after popping up the
+DialogBox. By default the B<-default_button> widget receives the
+initial focus.
+
+=item B<-showcommand>
+
+A callback which is executed before displaying the DialogBox and
+waiting for user input. The DialogBox itself is passed as the first
+argument.
+
+=back
+
+=head1 METHODS
+
+B<DialogBox> supports only two methods as of now:
+
+=over 4
+
+=item B<add(>I<widget>, I<options>B<)>
+
+Add the widget indicated by I<widget>. I<Widget> can be the name
+of any Tk widget (standard or contributed). I<options> are the
+options that the widget accepts. The widget is advertized as a
+subwidget of B<DialogBox>. The name of I<widget> is
+lower-cased and used as the advertised name. If multiple instances of
+I<widget> are created in the B<DialogBox>, then only the last one gets
+the advertised name. B<add()> does not automatically B<pack()> or
+B<grid()> I<widget> into the B<DialogBox>.
+
+=item B<Show(>I<?-global?>B<)>
+
+Displays the Dialog until the user invokes one of the Buttons in the
+bottom Frame. If the grab type I<-global> is specified, then B<Show>
+uses that grab; otherwise it defaults to a local grab. Returns the
+name of the Button invoked.
+
+The actual Dialog is shown using the B<Popup> method. Any other
+options supplied to B<Show> are passed to B<Popup>, and can be used to
+position the Dialog on the screen. Please read Tk::Popup for details.
+
+=item B<Exit()>
+
+Close the dialogbox, by emulating a click on the default button.
+
+=back
+
+=head1 ADVERTISED WIDGETS
+
+=over 4
+
+=item B<top>
+
+The subwidget reference to the top half of the DialogBox widget, the Frame
+containing widgets added by the B<add> method.
+
+=item B<bottom>
+
+The subwidget reference to the bottom half of the DialogBox widget, the Frame
+containing the Button widgets.
+
+=item B<B_"button-text">
+
+Individual subwidget references to the Buttons in the DialogBox widget. The
+subwidget name is the string I<B_> concatenated with the Button's -text
+value.
+
+=back
+
+=head1 BUGS
+
+There is no way of removing a widget once it has been added to the
+top Frame, unless you access the I<top> subwidget and go through the
+child widgets.
+
+There is no control over the appearance of the Buttons in the
+bottom Frame nor is there any way to control the placement of the
+two Frames with respect to each other.
+
+=head1 AUTHOR
+
+B<Rajappa Iyer> rsi@earthling.net
+
+This code is distributed under the same terms as Perl.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/DirTree.pm b/Master/tlpkg/tlperl/lib/Tk/DirTree.pm
index 46d05fa3ab5..abdfbdb547d 100644
--- a/Master/tlpkg/tlperl/lib/Tk/DirTree.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/DirTree.pm
@@ -7,7 +7,7 @@ package Tk::DirTree;
use strict;
use vars qw($VERSION);
-$VERSION = '4.021';
+$VERSION = '4.022';
use Tk;
use Tk::Derived;
@@ -181,7 +181,7 @@ sub dirnames {
$w->{curr_dir} = delete $args->{-initialdir};
if (!defined $w->{curr_dir}) {
require Cwd;
- $w->{curr_dir} = Cwd::cwd();
+ $w->{curr_dir} = Cwd::getcwd();
}
if (defined $args->{-mustexist}) {
die "-mustexist is not yet implemented";
diff --git a/Master/tlpkg/tlperl/lib/Tk/DirTree.pod b/Master/tlpkg/tlperl/lib/Tk/DirTree.pod
new file mode 100644
index 00000000000..d8ded2f41b7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DirTree.pod
@@ -0,0 +1,172 @@
+
+=head1 NAME
+
+Tk::DirTree - Create and manipulate DirTree widgets
+
+=for pm Tixish/DirTree.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >B<use Tk::DirTree;>
+
+S< >I<$dirtree> = I<$parent>-E<gt>B<DirTree>(?I<options>?);
+
+=head1 SUPER-CLASS
+
+The B<DirTree> class is derived from the L<Tree|Tk::Tree> class and inherits
+all the methods, options and subwidgets of its super-class.
+
+=head1 STANDARD OPTIONS
+
+B<Tree> supports all the standard options of a Tree widget. See
+L<Tk::options> for details on the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<browseCmd>
+
+=item Class: B<BrowseCmd>
+
+=item Switch: B<-browsecmd>
+
+Specifies a L<callback|Tk::callbacks> to call whenever the user browses on a directory
+(usually by single-clicking on the name of the directory). The callback
+is called with one argument, the complete pathname of the directory.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies the L<callback|Tk::callbacks> to be called when the user activates on a directory
+(usually by double-clicking on the name of the directory). The callback
+is called with one argument, the complete pathname of the directory.
+
+=item Name: B<dircmd>
+
+=item Class: B<DirCmd>
+
+=item Switch: B<-dircmd>
+
+Specifies the L<callback|Tk::callbacks> to be called when a directory listing is needed
+for a particular directory. If this option is not specified, by
+default the DirTree widget will attempt to read the directory as a
+Unix directory. On special occasions, the application programmer may
+want to supply a special method for reading directories: for example,
+when he needs to list remote directories. In this case, the B<-dircmd>
+option can be used. The specified callback accepts two arguments: the
+first is the name of the directory to be listed; the second is a
+Boolean value indicating whether hidden sub-directories should be
+listed. This callback returns a list of names of the sub-directories of
+this directory. For example:
+
+ sub read_dir {
+ my( $dir, $showhidden ) = @_;
+ return( qw/DOS NORTON WINDOWS/ ) if $dir eq "C:\\";
+ return();
+ }
+
+=item Name: B<showHidden>
+
+=item Class: B<ShowHidden>
+
+=item Switch: B<-showhidden>
+
+Specifies whether hidden directories should be shown. By default, a
+directory name starting with a period "." is considered as a hidden
+directory. This rule can be overridden by supplying an alternative
+B<-dircmd> option.
+
+=item Name: B<directory>
+
+=item Class: B<Directory>
+
+=item Switch: B<-directory>
+
+=item Alias: B<-value>
+
+Specifies the name of the current directory to be displayed in the
+DirTree widget.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<DirTree> constructor method creates a new window (given by the $dirtree
+argument) and makes it into a DirTree widget. Additional options,
+described above, may be specified on the command line or in the
+option database to configure aspects of the DirTree such as its
+cursor and relief. The DirTree widget displays a list view of a
+directory, its previous directories and its sub-directories. The
+user can choose one of the directories displayed in the list or
+change to another directory.
+
+=head1 WIDGET METHODS
+
+The B<DirTree> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for DirTree widgets:
+
+=over 4
+
+=item I<$dirtree>-E<gt>B<chdir>(I<dir>)
+
+Change the current directory to I<dir>.
+
+=back
+
+=head1 OTHER METHODS
+
+These methods have to be documented or made private:
+
+=over 4
+
+=item OpenCmd
+
+=item Populate
+
+=item add_to_tree
+
+=item dirnames
+
+=item fullpath
+
+=item has_subdir
+
+=item opencmd
+
+=item set_dir
+
+=back
+
+=head1 BINDINGS
+
+The mouse and keyboard bindings of the DirTree widget are the same as
+the bindings of the L<Tree|Tk::Tree> widget.
+
+=head1 KEYWORDS
+
+directory, tree, tix
+
+=head1 SEE ALSO
+
+L<Tk::Tree|Tk::Tree>
+L<Tk::HList|Tk::HList>
+
+=head1 AUTHOR
+
+Perl/TK version by Chris Dean <ctdean@cogit.com>. Original Tcl/Tix
+version by Ioi Kim Lam.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/DragDrop/Common.pod b/Master/tlpkg/tlperl/lib/Tk/DragDrop/Common.pod
new file mode 100644
index 00000000000..cd53ab79a99
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DragDrop/Common.pod
@@ -0,0 +1,16 @@
+
+=head1 NAME
+
+Tk::DragDrop::Common - private class used by Drag&Drop
+
+=for pm DragDrop/DragDrop/Common.pm
+
+=for category Experimental Modules
+
+=head1 DESCRIPTION
+
+This class provides methods to automate the the loading and declaring
+of Drop and Site 'types'.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/DragDrop/SunConst.pod b/Master/tlpkg/tlperl/lib/Tk/DragDrop/SunConst.pod
new file mode 100644
index 00000000000..eb5d892871b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DragDrop/SunConst.pod
@@ -0,0 +1,18 @@
+
+=head1 NAME
+
+Tk::DragDrop::SunConst - Constants for Sun's Drag&Drop protocol
+
+=for pm DragDrop/DragDrop/SunConst.pm
+
+=for category Experimental Modules
+
+=head1 DESCRIPTION
+
+This module defines symbolic name subs for the numeric constants that
+make up Sun's Drag&Drop protocol. They are in this module with Exporter
+as they are shared between the two halves (Dropper and Receiver) of
+the protocol.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/DropSite.pod b/Master/tlpkg/tlperl/lib/Tk/DropSite.pod
new file mode 100644
index 00000000000..8ae5a199fe3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/DropSite.pod
@@ -0,0 +1,33 @@
+=head1 NAME
+
+Tk::DropSite - Receive side of Drag & Drop abstraction
+
+=for category User Interaction
+
+=head1 SYNOPSIS
+
+ use Tk::DropSite qw(...);
+ $widget->DropSite(-entercommand => ...,
+ -dropcommand => ...,
+ -motioncommand => ...,
+ -dropcommand => ...,
+ );
+
+=head1 DESCRIPTION
+
+C<DropSite> creates an object which represents a site on which things
+may be "Dropped".
+
+A DropSite provides the following methods:
+
+=over 4
+
+=item $site->Enter($token,$event)
+
+=item $site->Leave($token,$event)
+
+=item $site->Motion($token,$event)
+
+=item $site->Drop($token,$event)
+
+=back
diff --git a/Master/tlpkg/tlperl/lib/Tk/Entry.pod b/Master/tlpkg/tlperl/lib/Tk/Entry.pod
new file mode 100644
index 00000000000..1b6dbf15482
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Entry.pod
@@ -0,0 +1,693 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Entry - Create and manipulate Entry widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+S< >I<$entry> = I<$parent>-E<gt>B<Entry>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-background> B<-highlightbackground> B<-insertontime> B<-selectforeground>
+B<-borderwidth> B<-highlightcolor> B<-insertwidth> B<-takefocus>
+B<-cursor> B<-highlightthickness> B<-justify> B<-textvariable>
+B<-exportselection> B<-insertbackground> B<-relief> B<-xscrollcommand>
+B<-font> B<-insertborderwidth> B<-selectbackground>
+B<-foreground> B<-insertofftime> B<-selectborderwidth>
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Command-Line Name: B<-disabledbackground>
+
+=item Database Name: B<disabledBackground>
+
+=item Database Class: B<DisabledBackground>
+
+Specifies the background color to use when the entry is disabled. If
+this option is the empty string, the normal background color is used.
+
+=item Command-Line Name: B<-disabledforeground>
+
+=item Database Name: B<disabledForeground>
+
+=item Database Class: B<DisabledForeground>
+
+Specifies the foreground color to use when the entry is disabled. If
+this option is the empty string, the normal foreground color is used.
+
+=item Name: B<invalidCommand>
+
+=item Class: B<InvalidCommand>
+
+=item Switch: B<-invalidcommand>
+
+=item Alias: B<-invcmd>
+
+Specifies a script to eval when B<validateCommand> returns 0.
+Setting it to <undef> disables this feature (the default). The best use
+of this option is to set it to I<bell>. See B<Validation>
+below for more information.
+
+=item Command-Line Name: B<-readonlybackground>
+
+=item Database Name: B<readonlyBackground>
+
+=item Database Class: B<ReadonlyBackground>
+
+Specifies the background color to use when the entry is read-only. If
+this option is the empty string, the normal background color is used.
+
+=item Name: B<show>
+
+=item Class: B<Show>
+
+=item Switch: B<-show>
+
+If this option is specified, then the true contents of the entry
+are not displayed in the window.
+Instead, each character in the entry's value will be displayed as
+the first character in the value of this option, such as ``*''.
+This is useful, for example, if the entry is to be used to enter
+a password.
+If characters in the entry are selected and copied elsewhere, the
+information copied will be what is displayed, not the true contents
+of the entry.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the entry: B<normal>, B<disabled>, or
+B<readonly>. If the entry is B<readonly>, then the value may not be changed
+using widget commands and no insertion cursor will be displayed, even
+if the input focus is in the widget; the contents of the widget may
+still be selected. If the entry is B<disabled>, the value may not be
+changed, no insertion cursor will be displayed, the contents will not
+be selectable, and the entry may be displayed in a different color,
+depending on the values of the B<-disabledforeground> and
+B<-disabledbackground> options.
+
+=item Name: B<validate>
+
+=item Class: B<Validate>
+
+=item Switch: B<-validate>
+
+Specifies the mode in which validation should operate: B<none>,
+B<focus>, B<focusin>, B<focusout>, B<key>, or B<all>.
+It defaults to B<none>. When you want validation, you must explicitly
+state which mode you wish to use. See B<Validation> below for more.
+
+=item Name: B<validateCommand>
+
+=item Class: B<ValidateCommand>
+
+=item Switch: B<-validatecommand>
+
+=item Alias: B<-vcmd>
+
+Specifies a script to eval when you want to validate the input into
+the entry widget. Setting it to C<undef> disables this feature (the default).
+This command must return a valid boolean value. If it returns 0 (or
+the valid boolean equivalent) then it means you reject the new edition
+and it will not occur and the B<invalidCommand> will be evaluated if it
+is set. If it returns 1, then the new edition occurs.
+See B<Validation> below for more information.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies an integer value indicating the desired width of the entry window,
+in average-size characters of the widget's font.
+If the value is less than or equal to zero, the widget picks a
+size just large enough to hold its current text.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Entry> method creates a new window (given by the
+$entry argument) and makes it into an entry widget.
+Additional options, described above, may be specified on the
+command line or in the option database
+to configure aspects of the entry such as its colors, font,
+and relief. The B<entry> command returns its
+$entry argument. At the time this command is invoked,
+there must not exist a window named $entry, but
+$entry's parent must exist.
+
+An entry is a widget that displays a one-line text string and
+allows that string to be edited using methods described below, which
+are typically bound to keystrokes and mouse actions.
+When first created, an entry's string is empty.
+A portion of the entry may be selected as described below.
+If an entry is exporting its selection (see the B<exportSelection>
+option), then it will observe the standard X11 protocols for handling the
+selection; entry selections are available as type B<STRING>.
+Entries also observe the standard Tk rules for dealing with the
+input focus. When an entry has the input focus it displays an
+I<insertion cursor> to indicate where new characters will be
+inserted.
+
+Entries are capable of displaying strings that are too long to
+fit entirely within the widget's window. In this case, only a
+portion of the string will be displayed; methods described below
+may be used to change the view in the window. Entries use
+the standard B<xScrollCommand> mechanism for interacting with
+scrollbars (see the description of the B<-xscrollcommand> option
+for details). They also support scanning, as described below.
+
+=head1 VALIDATION
+
+Validation of entry widgets is derived from part of the patch written by
+jhobbs@cs.uoregon.edu. This works by setting the B<validateCommand>
+option to a callback which will be evaluated according to the B<validate>
+option as follows:
+
+=over 4
+
+=item B<none>
+
+Default. This means no validation will occur.
+
+=item B<focus>
+
+B<validateCommand> will be called when the entry receives or
+loses focus.
+
+=item B<focusin>
+
+B<validateCommand> will be called when the entry receives focus.
+
+=item B<focusout>
+
+B<validateCommand> will be called when the entry loses focus.
+
+=item B<key>
+
+B<validateCommand> will be called when the entry is edited.
+
+=item B<all>
+
+B<validateCommand> will be called for all above conditions.
+
+=back
+
+The B<validateCommand> and B<invalidCommand> are called with the following
+arguments:
+
+=over 4
+
+=item * The proposed value of the entry. If you are configuring the
+entry widget to have a new textvariable, this will be the value of that
+textvariable.
+
+=item * The characters to be added (or deleted). This will be C<undef>
+if validation is due to focus, explcit call to validate or if change
+is due to C<-textvariable> changing.
+
+=item * The current value of entry i.e. before the proposed change.
+
+=item * index of char string to be added/deleted, if any. -1 otherwise
+
+=item * type of action. 1 == INSERT, 0 == DELETE,
+-1 if it's a forced validation or textvariable validation
+
+=back
+
+In general, the B<textVariable> and B<validateCommand> can be
+dangerous to mix. If you try set the B<textVariable>
+to something that the B<validateCommand> will not accept it will
+be set back to the value of the entry widget.
+Using the B<textVariable> for read-only purposes will never cause problems.
+
+The B<validateCommand> will turn itself off by setting
+B<validate> to B<none> when an error occurs, for example
+when the B<validateCommand> or B<invalidCommand> encounters
+an error in its script while evaluating, or
+B<validateCommand> does not return a valid boolean value.
+
+With the perl/Tk version B<validate> option is supposed to be
+"suspended" while executing the B<validateCommand> or the B<invalidCommand>.
+This is experimental but in theory either callback can "correct" the
+value of the widget, and override the proposed change. (B<validateCommand>
+should still return false to inhibit the change from happening when
+it returns.)
+
+=head1 WIDGET METHODS
+
+The B<Entry> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+Many of the additional methods for entries take one or more indices as
+arguments. An index specifies a particular character in the entry's
+string, in any of the following ways:
+
+=over 4
+
+=item I<number>
+
+Specifies the character as a numerical index, where 0 corresponds
+to the first character in the string.
+
+=item B<anchor>
+
+Indicates the anchor point for the selection, which is set with the
+B<selectionFrom> and B<selectionAdjust> methods.
+
+=item B<end>
+
+Indicates the character just after the last one in the entry's string.
+This is equivalent to specifying a numerical index equal to the length
+of the entry's string.
+
+=item B<insert>
+
+Indicates the character adjacent to and immediately following the
+insertion cursor.
+
+=item B<sel.first>
+
+Indicates the first character in the selection. It is an error to
+use this form if the selection isn't in the entry window.
+
+=item B<sel.last>
+
+Indicates the character just after the last one in the selection.
+It is an error to use this form if the selection isn't in the
+entry window.
+
+=item B<@>I<number>
+
+In this form, I<number> is treated as an x-coordinate in the
+entry's window; the character spanning that x-coordinate is used.
+For example, ``B<@0>'' indicates the left-most character in the
+window.
+
+=back
+
+Abbreviations may be used for any of the forms above, e.g. ``B<e>''
+or ``B<sel.f>''. In general, out-of-range indices are automatically
+rounded to the nearest legal value.
+
+The following additional methods are available for entry widgets:
+
+=over 4
+
+=item I<$entry>-E<gt>B<bbox>(I<index>)
+
+Returns a list of four numbers describing the bounding box of the
+character given by I<index>.
+The first two elements of the list give the x and y coordinates of
+the upper-left corner of the screen area covered by the character
+(in pixels relative to the widget) and the last two elements give
+the width and height of the character, in pixels.
+The bounding box may refer to a region outside the visible area
+of the window.
+
+=item I<$entry>-E<gt>B<cget>(?I<option>?)
+
+Returns the current value of the configuration option given
+by I<option>.
+I<Option> may have any of the values accepted by the B<entry>
+command.
+
+=item I<$entry>-E<gt>B<configure>(?I<option>?, ?I<value, option, value, ...>?)
+
+Query or modify the configuration options of the widget.
+If no I<option> is specified, returns a list describing all of
+the available options for $entry (see L<Tk::configure> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+I<Option> may have any of the values accepted by the B<entry>
+command.
+
+=item I<$entry>-E<gt>B<delete>(I<first, >?I<last>?)
+
+Delete one or more elements of the entry.
+I<First> is the index of the first character to delete, and
+I<last> is the index of the character just after the last
+one to delete.
+If I<last> isn't specified it defaults to I<first>+1,
+i.e. a single character is deleted.
+This method returns an empty string.
+
+=item I<$entry>-E<gt>B<get>
+
+Returns the entry's string.
+
+=item I<$entry>-E<gt>B<icursor>(I<index>)
+
+Arrange for the insertion cursor to be displayed just before the character
+given by I<index>. Returns an empty string.
+
+=item I<$entry>-E<gt>B<index>(I<index>)
+
+Returns the numerical index corresponding to I<index>.
+
+=item I<$entry>-E<gt>B<insert>(I<index, string>)
+
+Insert the characters of I<string> just before the character
+indicated by I<index>. Returns an empty string.
+
+=item I<$entry>->B<scan>(I<option, args>)
+
+=item I<$entry>->B<scan>I<Option>(I<args>)
+
+This method is used to implement scanning on entries. It has
+two forms, depending on I<Option>:
+
+=over 8
+
+=item I<$entry>->B<scanMark>(I<x>)
+
+Records I<x> and the current view in the entry widget; used in
+conjunction with later B<scanDragto> methods. Typically this
+method is associated with a mouse button press in the widget. It
+returns an empty string.
+
+=item I<$entry>->B<scanDragto>(I<x>)
+
+This method computes the difference between its I<x> argument
+and the I<x> argument to the last B<scanMark> method for
+the widget. It then adjusts the view left or right by 10 times the
+difference in x-coordinates. This method is typically associated
+with mouse motion events in the widget, to produce the effect of
+dragging the entry at high speed through the widget. The return
+value is an empty string.
+
+=back
+
+=item I<$entry>->B<selection>(I<option, arg>)
+
+=item I<$entry>->B<selection>I<Option>(I<arg>)
+
+This method is used to adjust the selection within an entry. It
+has several forms, depending on I<Option>:
+
+=over 8
+
+=item I<$entry>-E<gt>B<selectionAdjust>(I<index>)
+
+Locate the end of the selection nearest to the character given by
+I<index>, and adjust that end of the selection to be at I<index>
+(i.e including but not going beyond I<index>). The other
+end of the selection is made the anchor point for future
+B<selectionTo> methods. If the selection
+isn't currently in the entry, then a new selection is created to
+include the characters between I<index> and the most recent
+selection anchor point, inclusive.
+Returns an empty string.
+
+=item I<$entry>-E<gt>B<selectionClear>
+
+Clear the selection if it is currently in this widget. If the
+selection isn't in this widget then the method has no effect.
+Returns an empty string.
+
+=item I<$entry>-E<gt>B<selectionFrom>(I<index>)
+
+Set the selection anchor point to just before the character
+given by I<index>. Doesn't change the selection.
+Returns an empty string.
+
+=item I<$entry>-E<gt>B<selectionPresent>
+
+Returns 1 if there is are characters selected in the entry,
+0 if nothing is selected.
+
+=item I<$entry>-E<gt>B<selectionRange>(I<start, >I<end>)
+
+Sets the selection to include the characters starting with
+the one indexed by I<start> and ending with the one just
+before I<end>.
+If I<end> refers to the same character as I<start> or an
+earlier one, then the entry's selection is cleared.
+
+=item I<$entry>-E<gt>B<selectionTo>(I<index>)
+
+If I<index> is before the anchor point, set the selection
+to the characters from I<index> up to but not including
+the anchor point.
+If I<index> is the same as the anchor point, do nothing.
+If I<index> is after the anchor point, set the selection
+to the characters from the anchor point up to but not including
+I<index>.
+The anchor point is determined by the most recent B<selectionFrom>
+or B<selectionAdjust> method in this widget.
+If the selection isn't in this widget then a new selection is
+created using the most recent anchor point specified for the widget.
+Returns an empty string.
+
+=back
+
+=item I<$entry>-E<gt>B<validate>
+
+This command is used to force an evaluation of the B<validateCommand>
+independent of the conditions specified by the B<validate> option. It
+returns 0 or 1.
+
+=item I<$entry>-E<gt>B<xview>(I<args>)
+
+This command is used to query and change the horizontal position of the
+text in the widget's window. It can take any of the following
+forms:
+
+=over 8
+
+=item I<$entry>-E<gt>B<xview>
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the horizontal span that is visible in the window.
+For example, if the first element is .2 and the second element is .7,
+20% of the entry's text is off-screen to the left, the middle 50% is visible
+in the window, and 30% of the text is off-screen to the right.
+These are the same values passed to scrollbars via the B<-xscrollcommand>
+option.
+
+=item I<$entry>-E<gt>B<xview>(I<index>)
+
+Adjusts the view in the window so that the character given by I<index>
+is displayed at the left edge of the window.
+
+=item I<$entry>-E<gt>B<xviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that the character I<fraction> of the
+way through the text appears at the left edge of the window.
+I<Fraction> must be a fraction between 0 and 1.
+
+=item I<$entry>-E<gt>B<xviewScroll>(I<number, what>)
+
+This method shifts the view in the window left or right according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an abbreviation
+of one of these.
+If I<what> is B<units>, the view adjusts left or right by
+I<number> average-width characters on the display; if it is
+B<pages> then the view adjusts by I<number> screenfuls.
+If I<number> is negative then characters farther to the left
+become visible; if it is positive then characters farther to the right
+become visible.
+
+=back
+
+=back
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for entries that give them
+the following default behavior.
+In the descriptions below, ``word'' refers to a contiguous group
+of letters, digits, or ``_'' characters, or any single character
+other than these.
+
+=over 4
+
+=item [1]
+
+Clicking mouse button 1 positions the insertion cursor
+just before the character underneath the mouse cursor, sets the
+input focus to this widget, and clears any selection in the widget.
+Dragging with mouse button 1 strokes out a selection between
+the insertion cursor and the character under the mouse.
+
+=item [2]
+
+Double-clicking with mouse button 1 selects the word under the mouse
+and positions the insertion cursor at the beginning of the word.
+Dragging after a double click will stroke out a selection consisting
+of whole words.
+
+=item [3]
+
+Triple-clicking with mouse button 1 selects all of the text in the
+entry and positions the insertion cursor before the first character.
+
+=item [4]
+
+The ends of the selection can be adjusted by dragging with mouse
+button 1 while the Shift key is down; this will adjust the end
+of the selection that was nearest to the mouse cursor when button
+1 was pressed.
+If the button is double-clicked before dragging then the selection
+will be adjusted in units of whole words.
+
+=item [5]
+
+Clicking mouse button 1 with the Control key down will position the
+insertion cursor in the entry without affecting the selection.
+
+=item [6]
+
+If any normal printing characters are typed in an entry, they are
+inserted at the point of the insertion cursor.
+
+=item [7]
+
+The view in the entry can be adjusted by dragging with mouse button 2.
+If mouse button 2 is clicked without moving the mouse, the selection
+is copied into the entry at the position of the mouse cursor.
+
+=item [8]
+
+If the mouse is dragged out of the entry on the left or right sides
+while button 1 is pressed, the entry will automatically scroll to
+make more text visible (if there is more text off-screen on the side
+where the mouse left the window).
+
+=item [9]
+
+The Left and Right keys move the insertion cursor one character to the
+left or right; they also clear any selection in the entry and set
+the selection anchor.
+If Left or Right is typed with the Shift key down, then the insertion
+cursor moves and the selection is extended to include the new character.
+Control-Left and Control-Right move the insertion cursor by words, and
+Control-Shift-Left and Control-Shift-Right move the insertion cursor
+by words and also extend the selection.
+Control-b and Control-f behave the same as Left and Right, respectively.
+Meta-b and Meta-f behave the same as Control-Left and Control-Right,
+respectively.
+
+=item [10]
+
+The Home key, or Control-a, will move the insertion cursor to the
+beginning of the entry and clear any selection in the entry.
+Shift-Home moves the insertion cursor to the beginning of the entry
+and also extends the selection to that point.
+
+=item [11]
+
+The End key, or Control-e, will move the insertion cursor to the
+end of the entry and clear any selection in the entry.
+Shift-End moves the cursor to the end and extends the selection
+to that point.
+
+=item [12]
+
+The Select key and Control-Space set the selection anchor to the position
+of the insertion cursor. They don't affect the current selection.
+Shift-Select and Control-Shift-Space adjust the selection to the
+current position of the insertion cursor, selecting from the anchor
+to the insertion cursor if there was not any selection previously.
+
+=item [13]
+
+Control-/ selects all the text in the entry.
+
+=item [14]
+
+Control-\ clears any selection in the entry.
+
+=item [15]
+
+The F16 key (labelled Copy on many Sun workstations) or Meta-w
+copies the selection in the widget to the clipboard, if there is a selection.
+
+=item [16]
+
+The F20 key (labelled Cut on many Sun workstations) or Control-w
+copies the selection in the widget to the clipboard and deletes
+the selection.
+If there is no selection in the widget then these keys have no effect.
+
+=item [17]
+
+The F18 key (labelled Paste on many Sun workstations) or Control-y
+inserts the contents of the clipboard at the position of the
+insertion cursor.
+
+=item [18]
+
+The Delete key deletes the selection, if there is one in the entry.
+If there is no selection, it deletes the character to the right of
+the insertion cursor.
+
+=item [19]
+
+The BackSpace key and Control-h delete the selection, if there is one
+in the entry.
+If there is no selection, it deletes the character to the left of
+the insertion cursor.
+
+=item [20]
+
+Control-d deletes the character to the right of the insertion cursor.
+
+=item [21]
+
+Meta-d deletes the word to the right of the insertion cursor.
+
+=item [22]
+
+Control-k deletes all the characters to the right of the insertion
+cursor.
+
+=item [23]
+
+Control-t reverses the order of the two characters to the right of
+the insertion cursor.
+
+If the entry is disabled using the B<-state> option, then the entry's
+view can still be adjusted and text in the entry can still be selected,
+but no insertion cursor will be displayed and no text modifications will
+take place.
+
+The behavior of entries can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+entry, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Error.pod b/Master/tlpkg/tlperl/lib/Tk/Error.pod
new file mode 100644
index 00000000000..9c38f0b7d74
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Error.pod
@@ -0,0 +1,145 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Error - Method invoked to process background errors
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+Customization:
+
+ require Tk::ErrorDialog;
+
+or
+
+ sub Tk::Error
+ {
+ my ($widget,$error,@locations) = @_;
+ ...
+
+ }
+
+=head1 DESCRIPTION
+
+The B<Tk::Error> method is invoked by perl/Tk when a background
+error occurs. Two possible implementations are provided in the
+distribution and individual applications or users can (re)define a B<Tk::Error>
+method (e.g. as a perl sub) if they wish to handle background
+errors in some other manner.
+
+A background error is one that occurs in a command that didn't
+originate with the application. For example, if an error occurs
+while executing a L<callback|Tk::callbacks> specified with a
+L<bind|Tk::bind> or a L<after|Tk::after>
+command, then it is a background error. For a non-background error,
+the error can simply be returned up through nested subroutines
+until it reaches the top-level code in the application;
+then the application can report the error in whatever way it
+wishes. When a background error occurs, the unwinding ends in
+the Tk library and there is no obvious way for Tk to report
+the error.
+
+When Tk detects a background error, it saves information about the
+error and invokes the B<Tk::Error> method later when Tk is idle.
+
+B<Tk::Error> is invoked by perl/Tk as if by the perl code:
+
+S< >I<$mainwindow>-E<gt>B<Tk::Error>(I<"error message">, I<location ...>);
+
+I<$mainwindow> is the B<MainWindow> associated with widget which
+detected the error, I<"error message"> is a string describing the error
+that has been detected, I<location> is a list of one or more "locations"
+which describe the call sequence at the point the error was detected.
+
+The locations are a typically a mixture of perl location reports giving
+script name and line number, and simple strings describing locations in
+core Tk or perl/Tk C code.
+
+Tk will ignore any result returned by the B<Tk::Error> method.
+If another error occurs within the B<Tk::Error> method
+(for example if it calls B<die>) then Tk reports this error
+itself by writing a message to stderr (this is to avoid infinite loops
+due to any bugs in B<Tk::Error>).
+
+If several background errors accumulate before B<Tk::Error>
+is invoked to process them, B<Tk::Error> will be invoked once
+for each error, in the order they occurred.
+However, if B<Tk::Error> calls B<Tk-E<gt>break>, then
+any remaining errors are skipped without calling B<Tk::Error>.
+
+The B<Tk> module includes a default B<Tk::Error> subroutine
+that simply reports the error on stderr.
+
+=head1 Tk::ErrorDialog
+
+An alternate definition is provided via:
+
+S< >C<require Tk::ErrorDialog;>
+
+that posts a dialog box containing the error message and offers
+the user a chance to see a stack trace showing where the
+error occurred.
+
+This is an OO implementation of the Tcl/Tk command B<bgerror>, with a
+twist: since there is only one B<ErrorDialog> widget, you aren't required
+to invoke the constructor to create it; it will be created
+automatically when the first background error occurs. However, in
+order to configure the I<-cleanupcode> and I<-appendtraceback>
+B<ErrorDialog> options you must call the constructor and create it
+manually.
+
+The B<ErrorDialog> object essentially consists of two subwidgets: a
+B<Dialog> widget to display the background error and a B<Text> widget
+for the traceback information. If required, you can invoke various
+widget methods to customize these subwidgets - their advertised names
+are described below.
+
+S< >I<$mw>-E<gt>B<ErrorDialog>(-cleanupcode => I<code>, -appendtraceback => I<bool>);
+
+$mw is a window reference.
+
+I<code> is a CODE reference if special post-background error
+processing is required (default is undefined). The callback subroutine
+is called with @_ having the same arguments that B<Tk::Error> was
+invoked with.
+
+I<bool> is a boolean indicating whether or not to append successive
+tracebacks (default is 1, do append).
+
+=head2 Advertised ErrorDialog widgets
+
+I<error_dialog> is the Dialog widget reference.
+
+I<text> is the Text widget reference containing the traceback information.
+
+=head1 BUGS
+
+If B<after> or B<fileevent> are not invoked as methods of a widget
+then perl/Tk is unable to provide a I<$mainwindow> argument.
+To support such code from earlier versions of perl/Tk
+perl/Tk therefore calls B<Tk::Error> with string 'Tk' instead:
+B<Tk-E<gt>Tk::Error\(...\)>.
+In this case the B<Tk::Error> in B<Tk::ErrorDialog> and similar
+implementations cannot "popup" a window as they don't know which display
+to use. A mechanism to supply I<the> B<MainWindow> in applications
+which only have one (a very common case) should be provided.
+
+=head1 SEE ALSO
+
+L<Tk::bind|Tk::bind>
+L<Tk::after|Tk::after>
+L<Tk::fileevent|Tk::fileevent>
+
+=head1 KEYWORDS
+
+background error, reporting
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/ErrorDialog.pod b/Master/tlpkg/tlperl/lib/Tk/ErrorDialog.pod
new file mode 100644
index 00000000000..6e13550967f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/ErrorDialog.pod
@@ -0,0 +1,36 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::ErrorDialog - Method invoked to process background errors
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+Customization:
+
+ require Tk::ErrorDialog;
+
+=head1 DESCRIPTION
+
+C<Tk::ErrorDialog> is a possibility to handle background errors. For a full descriptionm, see L<Tk::Error>.
+
+=head1 SEE ALSO
+
+L<Tk::Error>
+L<Tk::bind|Tk::bind>
+L<Tk::after|Tk::after>
+L<Tk::fileevent|Tk::fileevent>
+
+=head1 KEYWORDS
+
+background error, reporting, error dialog
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Event.pm b/Master/tlpkg/tlperl/lib/Tk/Event.pm
index e9253bef602..f00a0b5bdbe 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Event.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Event.pm
@@ -1,8 +1,8 @@
package Tk::Event;
use vars qw($VERSION $XS_VERSION @EXPORT_OK);
END { CleanupGlue() }
-$VERSION = '4.030';
-$XS_VERSION = '804.032';
+$VERSION = '4.033';
+$XS_VERSION = '804.033';
$XS_VERSION =~ s{_}{};
use base qw(Exporter);
use XSLoader;
diff --git a/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod b/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod
new file mode 100644
index 00000000000..a4c99e7988e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod
@@ -0,0 +1,62 @@
+
+=head1 NAME
+
+Tk::Event - ToolKit for Events
+
+=for category Implementation
+
+=head1 SYNOPSIS
+
+ use Tk::Event;
+
+ Tk::Event->fileevent(\*FH, 'readable' => callback);
+
+ Tk::Event->lineavail(\*FH, callback);
+
+ use Tk::Event::Signal qw(INT);
+
+ $SIG{'INT'} = callback;
+
+ use Tk::Event::process;
+
+ Tk::Event->proc($pid, callback);
+
+ QueueEvent(callback [, position])
+
+
+=head1 DESCRIPTION
+
+
+That is better than nothing but still hard to use. Most scripts want higher
+level result (a line, a "block" of data etc.)
+
+So it has occured to me that we could use new-ish TIEHANDLE thus:
+
+ my $obj = tie SOMEHANDLE,Tk::Event::IO;
+
+ while (<SOMEHANDLE>)
+ {
+ }
+
+Then the READLINE routine registers a callback and looks something like:
+
+ sub READLINE
+ {
+ my $obj = shift;
+ Event->io(*$obj,'readable',sub { sysread(*$obj,${*$obj},1,length(${*$obj}) });
+ my $pos;
+ while (($pos = index(${*$obj},$/) < 0)
+ {
+ DoOneEvent();
+ }
+ Event->io(*$obj,'readable',''); # unregister
+ $pos += length($/);
+ my $result = substr(${*$obj},0,$pos);
+ substr(${*$obj},0,$pos) = '';
+ return $result;
+ }
+
+This is using the scalar part of the glob representing the _inner_ IO
+as a buffer in which to accumulate chars.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/FBox.pod b/Master/tlpkg/tlperl/lib/Tk/FBox.pod
new file mode 100644
index 00000000000..dada482a761
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/FBox.pod
@@ -0,0 +1,67 @@
+=head1 NAME
+
+Tk::FBox - a file dialog
+
+=for pm Tk/FBox.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+ use Tk::FBox;
+ $file = $mw->FBox(...)->Show;
+
+=head1 DESCRIPTION
+
+C<Tk::FBox> is the dialog implementation behind the C<getOpenFile>,
+C<getSaveFile>, and C<chooseDirectory> method calls in the Unix/X11
+world. As such, it supports all options for these methods and
+additionally:
+
+=over
+
+=item -sortcmd => sub { $_[0] cmp $_[1] }
+
+Specified a callback for changing the sorting of the icons in the
+C<IconList> widget. By default, perl's C<cmp> operator will be used.
+
+From the source code:
+
+ # Using -sortcmd is really strange :-(
+ # $top->getOpenFile(-sortcmd => sub { package Tk::FBox; uc $b cmp uc $a});
+ # or, un-perlish, but useable (now activated in code):
+ # $top->getOpenFile(-sortcmd => sub { uc $_[1] cmp uc $_[0]});
+
+This is an experimental option!
+
+=item -type => $type
+
+Type should be "open" for choosing existing files to open (default),
+"save" for choosing existing or non-existing files to save, or "dir"
+for choosing directories.
+
+=item -filter => $glob
+
+A file glob to restrict displayed files. This is only active if no
+B<-filetypes> are defined.
+
+=item -force => $bool
+
+If true, then there will be no dialog if a file already exists.
+
+=back
+
+=head1 COPYRIGHT
+
+The original tkfbox.tcl from Tcl/Tk is:
+
+Copyright (c) 1994-1996 Sun Microsystems, Inc.
+
+See the file "license.terms" for information on usage and redistribution
+of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+
+Translated to Perl/Tk by Slaven Rezic <srezic@cpan.org>.
+
+=head1 SEE ALSO
+
+L<Tk::getOpenFile>, L<Tk::IconList>.
diff --git a/Master/tlpkg/tlperl/lib/Tk/FileSelect.pod b/Master/tlpkg/tlperl/lib/Tk/FileSelect.pod
new file mode 100644
index 00000000000..2ea633de674
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/FileSelect.pod
@@ -0,0 +1,150 @@
+
+=head1 NAME
+
+Tk::FileSelect - a widget for choosing files
+
+=for pm Tk/FileSelect.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+ use Tk::FileSelect;
+
+ $FSref = $top->FileSelect(-directory => $start_dir);
+ $top - a window reference, e.g. MainWindow->new
+ $start_dir - the starting point for the FileSelect
+ $file = $FSref->Show;
+ Executes the fileselector until either a filename is
+ accepted or the user hits Cancel. Returns the filename
+ or the empty string, respectively, and unmaps the
+ FileSelect.
+ $FSref->configure(option => value[, ...])
+ Please see the Populate subroutine as the configuration
+ list changes rapidly.
+
+=head1 DESCRIPTION
+
+This Module pops up a Fileselector box, with a directory entry on
+top, a list of directories in the current directory, a list of
+files in the current directory, an entry for entering/modifying a
+file name, an accept button and a cancel button.
+
+You can enter a starting directory in the directory entry. After
+hitting Return, the listboxes get updated. Double clicking on any
+directory shows you the respective contents. Single clicking on a
+file brings it into the file entry for further consideration,
+double clocking on a file pops down the file selector and calls
+the optional command with the complete path for the selected file.
+Hitting return in the file selector box or pressing the accept
+button will also work. *NOTE* the file selector box will only then
+get destroyed if the file name is not zero length. If you want
+yourself take care of it, change the if(length(.. in sub
+accept_file.
+
+=head1 AUTHORS
+
+Based on original FileSelect by
+Klaus Lichtenwalder, Lichtenwalder@ACM.org, Datapat GmbH, Munich,
+April 22, 1995 adapted by
+Frederick L. Wagner, derf@ti.com, Texas Instruments Incorporated, Dallas,
+21Jun95
+
+=head1 HISTORY
+
+=head2 950621 -- The following changes were made:
+
+=over 4
+
+=item *
+
+Rewrote Tk stuff to take advantage of new Compound widget module, so
+FileSelect is now composed of 2 LabEntry and 2 ScrlListbox2
+subwidgets.
+
+=item *
+
+Moved entry labels (from to the left of) to above the entry fields.
+
+=item *
+
+Caller is now able to control these aspects of widget, in both
+FileSelect (new) and configure :
+
+(Please see subroutine Populate for details, as these options
+change rapidly!)
+
+=item *
+
+I changed from Double-Button-1 to Button-1 in the Files listbox,
+to work with multiple mode in addition to browse mode. I also
+made some name changes (LastPath --> saved_path, ...).
+
+=item *
+
+The show method is not yet updated.
+
+=item *
+
+The topLevel stuff is not done yet. I took it out while I toy with
+the idea of FileSelect as a subwidget. Then the 'normal' topLevel
+thing with Buttons along the bottom could be build on top of it.
+
+=item *
+
+By request of Henry Katz <katz@fs09.webo.dg.com>, I added the functionality
+of using the Directory entry as a filter. So, if you want to only see the
+*.c files, you add a .c (the *'s already there :) and hit return.
+
+=back
+
+=head2 95/10/17, SOL, LUCC. lusol@Lehigh.EDU
+
+=over 4
+
+=item *
+
+ Allow either file or directory names to be accepted.
+
+=item *
+
+Require double click to move into a new directory rather than a single
+click. This allows a single click to select a directory name so it can
+be accepted.
+
+=item *
+
+Add -verify list option so that standard Perl file test operators (like
+-d and -x) can be specified for further name validation. The default
+value is the special value '!-d' (not a directory), so any name can be
+selected as long as it's not a directory - after all, this IS FileSelect!
+
+For example:
+
+ $fs->configure(-verify => ['-d', [\&verify_code, $P1, $P2, ... $Pn]]);
+
+ensures that the selected name is a directory. Further, if an element of
+the list is an array reference, the first element is a code reference to a
+subroutine and the remaining optional elements are it's parameters. The
+subroutine is called like this:
+
+ &verify_code($cd, $leaf, $P1, $P2, ... $Pn);
+
+where $cd is the current directory, $leaf is a directory or file name, and
+$P1 .. $Pn are your optional parameters. The subroutine should return TRUE
+if success or FALSE if failure.
+
+=back
+
+=head2 961008 -- derf@ti.com :
+
+By request of Jim Stern <js@world.northgrum.com> and Brad Vance
+<bvance@ti.com>, I updated the Accept and Show functions to support
+selection of multiple files. I also corrected a typo in the -verify code.
+
+=head1 SEE ALSO
+
+L<Tk::getOpenFile>, L<Tk::FBox>.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Font.pod b/Master/tlpkg/tlperl/lib/Tk/Font.pod
new file mode 100644
index 00000000000..be85105e475
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Font.pod
@@ -0,0 +1,407 @@
+# Copyright (c) 1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Font - Create and inspect fonts.
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+S< >I<$widget>->B<Font>(I<option>?, I<arg, arg, ...>?)
+
+S< >I<$font>->I<Option>?(I<arg, arg, ...>)?
+
+=head1 DESCRIPTION
+
+The B<Font> method provides several facilities for dealing with
+fonts, such as defining named fonts and inspecting the actual attributes of
+a font. The command has several different forms, determined by the
+first argument. The following forms are currently supported:
+
+=over 4
+
+=item I<$font>-E<gt>B<actual>(I<-option>?)
+
+=item I<$widget>-E<gt>B<fontActual>(I<font>?, I<-option>?)
+
+Returns information about the actual attributes that are obtained when
+I<font> is used on I<$font>'s display; the actual attributes obtained
+may differ from the attributes requested due to platform-dependant
+limitations, such as the availability of font families and pointsizes.
+I<font> is a font description; see L<"FONT DESCRIPTION"> below. If
+I<option> is specified, returns the value of that attribute; if it is
+omitted, the return value is a list of all the attributes and their values.
+See L<"FONT OPTIONS"> below for a list of the possible attributes.
+
+=item I<$font>-E<gt>B<configure>(I<-option>??=>I<value>, I<-option>=>I<value>, ...?)
+
+Query or modify the desired attributes for I<$font>.
+If no I<-option> is specified, returns a list describing
+all the options and their values for I<fontname>. If a single I<-option>
+is specified with no I<value>, then returns the current value of that
+attribute. If one or more I<option-value> pairs are specified,
+then the method modifies the given named font to have the given values; in
+this case, all widgets using that font will redisplay themselves using the
+new attributes for the font. See L<"FONT OPTIONS"> below for a list of the
+possible attributes.
+
+Note: the above behaviour differs in detail to B<configure> on widgets,
+images etc.
+
+=item I<$font> = I<$widget>-E<gt>B<Font>(I<-option>=>I<value>, ...>?)
+
+=item I<$font> = I<$widget>-E<gt>B<fontCreate>(?I<fontname>??, I<-option>=>I<value>, ...>?)
+
+Creates a new font object and returns a reference to it.
+I<fontname> specifies the name for the font; if it is omitted, then Tk generates
+a new name of the form B<font>I<x>, where I<x> is an integer. There may be any
+number of I<option-value> pairs, which provide the desired attributes for
+the new named font. See L<"FONT OPTIONS"> below for a list of the possible
+attributes.
+
+Note: the created font is I<not> shared between widgets of different
+L<MainWindow|Tk::MainWindow>s.
+
+=item I<$font>-E<gt>B<delete>
+
+=item I<$widget>-E<gt>B<fontDelete>(I<fontname>?, I<fontname>, ...?)
+
+Delete the specified named fonts. If there are widgets using the named font,
+the named font won't actually be deleted until all the instances are
+released. Those widgets will continue to display using the last known values
+for the named font. If a deleted named font is subsequently recreated with
+another call to B<fontCreate>, the widgets will use the new named font
+and redisplay themselves using the new attributes of that font.
+
+=item I<$widget>-E<gt>B<fontFamilies>
+
+The return value is a list of the case-insensitive names of all font families
+that exist on I<$widget>'s display.
+
+=item I<$font>-E<gt>B<measure>(I<text>)
+
+=item I<$widget>-E<gt>B<fontMeasure>(I<font>, I<text>)
+
+Measures the amount of space the string I<text> would use in the given
+I<font> when displayed in I<$widget>. I<font> is a font description;
+see L<"FONT DESCRIPTION"> below.
+The return value is the total width in pixels
+of I<text>, not including the extra pixels used by highly exagerrated
+characters such as cursive ``I<f>''. If the string contains newlines or tabs,
+those characters are not expanded or treated specially when measuring the
+string.
+
+=item I<$font>-E<gt>B<metrics>(I<-option>?)
+
+=item I<$widget>-E<gt>B<fontMetrics>(I<font>?, I<-option>?)
+
+Returns information about the metrics (the font-specific data), for
+I<font> when it is used on I<$widget>'s display. I<font> is a font
+description; see L<"FONT DESCRIPTION"> below.
+If I<option> is specified,
+returns the value of that metric; if it is omitted, the return value is a
+list of all the metrics and their values. See L<"FONT METRICS"> below for a list
+of the possible metrics.
+
+=item I<$widget>-E<gt>B<fontNames>
+
+The return value is a list of all font objects that are currently defined for
+I<$widget>'s MainWindow.
+
+=back
+
+=head1 FONT DESCRIPTION
+
+The following formats are accepted as a font description anywhere
+I<font> is specified as an argument above; these same forms are also
+permitted when specifying the B<-font> option for widgets.
+
+=over 4
+
+=item [1] I<fontname>
+
+The name of a named font, created using the B<fontCreate> method. When
+a widget uses a named font, it is guaranteed that this will never cause an
+error, as long as the named font exists, no matter what potentially invalid
+or meaningless set of attributes the named font has. If the named font
+cannot be displayed with exactly the specified attributes, some other close
+font will be substituted automatically.
+
+=item [1a] I<$font>
+
+A font object created using the B<Font> method. This is essentially the same
+as using a named font. The object is a reference to the name, and carries
+additional information e.g. which MainWindow it relates to in an manner peculiar
+to perl/Tk.
+
+=item [2] I<systemfont>
+
+The platform-specific name of a font, interpreted by the graphics server.
+This also includes, under X, an XLFD (see L<[4]|/[4]>) for which a single ``B<*>''
+character was used to elide more than one field in the middle of the
+name. See L<"PLATFORM-SPECIFIC ISSUES"> for a list of the system fonts.
+
+=item [3] [I<family>,?I<size>,??I<style>,??I<style ...>?]
+
+A properly formed list whose first element is the desired font
+I<family> and whose optional second element is the desired I<size>.
+The interpretation of the I<size> attribute follows the same rules
+described for L<-size|/-size> in L<"FONT OPTIONS"> below. Any additional optional
+arguments following the I<size> are font I<style>s. Possible values
+for the I<style> arguments are as follows:
+
+ normal bold roman italic
+ underline overstrike
+
+=item [4] X-font names (XLFD)
+
+A Unix-centric font name of the form
+I<-foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-resy-spacing-width-charset-encoding>.
+The ``B<*>'' character may be used to skip individual fields that the
+user does not care about. There must be exactly one ``B<*>'' for each
+field skipped, except that a ``B<*>'' at the end of the XLFD skips any
+remaining fields; the shortest valid XLFD is simply ``B<*>'', signifying
+all fields as defaults. Any fields that were skipped are given default
+values. For compatibility, an XLFD always chooses a font of the specified
+pixel size (not point size); although this interpretation is not strictly
+correct, all existing applications using XLFDs assumed that one ``point''
+was in fact one pixel and would display incorrectly (generally larger) if
+the correct size font were actually used.
+
+=item [5] I<option value >?I<option value ...>?
+
+A properly formed list of I<option-value> pairs that specify
+the desired attributes of the font, in the same format used when defining
+a named font; see L<"FONT OPTIONS"> below.
+
+=back
+
+When font description I<font> is used, the system attempts to parse the
+description according to each of the above five rules, in the order specified.
+Cases [1] and [2] must match the name of an existing named font or of a
+system font. Cases [3], [4], and [5] are accepted on all
+platforms and the closest available font will be used. In some situations
+it may not be possible to find any close font (e.g., the font family was
+a garbage value); in that case, some system-dependant default font is
+chosen. If the font description does not match any of the above patterns,
+an error is generated.
+
+=head1 FONT METRICS
+
+The following options are used by the B<metrics>/B<fontMetrics> method to query
+font-specific data determined when the font was created. These properties are
+for the whole font itself and not for individual characters drawn in that
+font. In the following definitions, the ``baseline'' of a font is the
+horizontal line where the bottom of most letters line up; certain letters,
+such as lower-case ``g'' stick below the baseline.
+
+=over 4
+
+=item B<-ascent>
+
+The amount in pixels that the tallest letter sticks up above the baseline of
+the font, plus any extra blank space added by the designer of the font.
+(I<$font>-E<gt>B<ascent> is provided for compatibility.)
+
+=item B<-descent>
+
+The largest amount in pixels that any letter sticks down below the baseline
+of the font, plus any extra blank space added by the designer of the font.
+(I<$font>-E<gt>B<descent> is provided for compatibility.)
+
+=item B<-linespace>
+
+Returns how far apart vertically in pixels two lines of text using the same
+font should be placed so that none of the characters in one line overlap any
+of the characters in the other line. This is generally the sum of the ascent
+above the baseline line plus the descent below the baseline.
+
+=item B<-fixed>
+
+Returns a boolean flag that is ``B<1>'' if this is a fixed-width font,
+where each normal character is the the same width as all the other
+characters, or is ``B<0>'' if this is a proportionally-spaced font, where
+individual characters have different widths. The widths of control
+characters, tab characters, and other non-printing characters are not
+included when calculating this value.
+
+=back
+
+=head1 FONT OPTIONS
+
+The following options are supported on all platforms, and are used when
+constructing a named font or when specifying a font using style [5] as
+above:
+
+=over 4
+
+=item B<-family> => I<name>
+
+The case-insensitive font family name. Tk guarantees to support the font
+families named B<Courier> (a monospaced ``typewriter'' font), B<Times>
+(a serifed ``newspaper'' font), and B<Helvetica> (a sans-serif
+``European'' font). The most closely matching native font family will
+automatically be substituted when one of the above font families is used.
+The I<name> may also be the name of a native, platform-specific font
+family; in that case it will work as desired on one platform but may not
+display correctly on other platforms. If the family is unspecified or
+unrecognized, a platform-specific default font will be chosen.
+
+=item B<-size> => I<size>
+
+The desired size of the font. If the I<size> argument is a positive
+number, it is interpreted as a size in points. If I<size> is a negative
+number, its absolute value is interpreted as a size in pixels. If a
+font cannot be displayed at the specified size, a nearby size will be
+chosen. If I<size> is unspecified or zero, a platform-dependent default
+size will be chosen.
+
+The original Tcl/Tk authors believe sizes should normally be specified in points
+so the application will remain the same ruler size on the screen, even when
+changing screen resolutions or moving scripts across platforms. While this is an
+admirable goal it does not work as well in practice as they hoped.
+The mapping between points and pixels is set when the application starts, based
+on alleged properties of the installed monitor, but it can be overridden by
+calling the L<scaling|Tk::Widget/scaling> command. However this can be
+problematic when system has no way of telling if (say) an 11" or 22" monitor is
+attached, also if it I<can> tell then some monitor sizes may result in poorer
+quality scaled fonts being used rather than a "tuned" bitmap font.
+In addition specifying pixels is useful in certain circumstances such as when a piece of text
+must line up with respect to a fixed-size bitmap.
+
+At present the Tcl/Tk scheme is used unchanged, with "point" size being returned
+by I<actual> (as an integer), and used internally. Suggestions for work-rounds
+to undesirable behaviour welcome.
+
+=item B<-weight> => I<weight>
+
+The nominal thickness of the characters in the font. The value
+B<normal> specifies a normal weight font, while B<bold> specifies a
+bold font. The closest available weight to the one specified will
+be chosen. The default weight is B<normal>.
+
+=item B<-slant> => I<slant>
+
+The amount the characters in the font are slanted away from the
+vertical. Valid values for slant are B<roman> and B<italic>.
+A roman font is the normal, upright appearance of a font, while
+an italic font is one that is tilted some number of degrees from upright.
+The closest available slant to the one specified will be chosen.
+The default slant is B<roman>.
+
+=item B<-underline> => I<boolean>
+
+The value is a boolean flag that specifies whether characters in this
+font should be underlined. The default value for underline is B<false>.
+
+=item B<-overstrike> => I<boolean>
+
+The value is a boolean flag that specifies whether a horizontal line should
+be drawn through the middle of characters in this font. The default value
+for overstrike is B<false>.
+
+=back
+
+=head1 PLATFORM-SPECIFIC ISSUES
+
+The following named system fonts are supported:
+
+=over 4
+
+=item X Windows:
+
+All valid X font names, including those listed by xlsfonts(1), are available.
+
+=item MS Windows:
+
+ system ansi device
+ systemfixed ansifixed oemfixed
+
+=item Macintosh:
+
+ system application
+
+=back
+
+=head1 COMPATIBILITY WITH PREVIOUS VERSIONS
+
+In prior versions of perl/Tk the I<$widget>-E<gt>B<Font> method was a perl
+wrapper on the original "[4] X-font names (XLFD)" style as described above
+(which was the only form supported by versions of core tk prior to version
+tk8.0).
+This module is provided in its original form (it has just been renamed)
+via:
+
+ use Tk::X11Font;
+ I<$widget>-E<gt>B<X11Font>(...)
+
+However the methods of the old scheme have been mimiced as closely as possible
+with the new scheme. It is intended that code should work without modification,
+except for the case of using :
+
+ @names = $font->Name;
+
+i.e. the I<Name> method in an array/list context. This now returns one element
+on all platforms (as it did on Win32), while previously on X systems it returned
+a list of fonts that matched an under-specified pattern.
+
+Briefly the methods supported for compatibilty are as follows:
+
+=over 4
+
+=item $newfont = I<$font>-E<gt>B<Clone>(I<-option>=>I<value>, ...>?)
+
+Returns a new font object I<$newfont> related to the original I<$font> by
+changing the values of the specified I<-option>s.
+
+=item I<$font>-E<gt>Family - maps to -family
+
+=item I<$font>-E<gt>Weight - maps to -weight
+
+=item I<$font>-E<gt>Slant - maps to -slant
+
+=item I<$font>-E<gt>Pixel and Point - map to -size
+
+=back
+
+New code should use I<$font>-E<gt>B<configure> to achieve same effect as last
+four items above.
+
+=over 4
+
+=item Foundry, Swidth, Adstyle, Xres, Yres, Space, Avgwidth, Registry, Encoding
+
+Are all ignored if set, and return '*' if queried.
+
+=item I<$font>-E<gt>B<Name>
+
+Returns the name of a named font, or a string representation of an unnamed
+font. Using I<$font> in a scalar context does the same. Note this is distinctly
+different from behaviour of L<X11Font's Name|Tk::X11Font/Name( [ $max ] )> in
+a list context.
+
+=item I<$font>-E<gt>B<Pattern>
+
+Returns a XLFD string for the font based on I<actual> values, and some heuristics
+to map Tk's forms to the "standard" X conventions.
+
+=back
+
+
+=head1 SEE ALSO
+
+L<Tk::options|Tk::options>
+
+L<Tk::X11Font|Tk::X11Font>
+
+=head1 KEYWORDS
+
+font
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Frame.pod b/Master/tlpkg/tlperl/lib/Tk/Frame.pod
new file mode 100644
index 00000000000..6570b6a18c7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Frame.pod
@@ -0,0 +1,146 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Frame - Create and manipulate Frame widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+S< >I<$frame> = I<$parent>-E<gt>B<Frame>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-borderwidth> B<-highlightbackground> B<-highlightthickness> B<-takefocus>
+B<-class> B<-highlightcolor> B<-relief>
+B<-cursor>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<background>
+
+=item Class: B<Background>
+
+=item Switch: B<-background>
+
+This option is the same as the standard B<background> option
+except that its value may also be specified as an undefined value.
+In this case, the widget will display no background or border, and
+no colors will be consumed from its colormap for its background
+and border.
+
+=item Name: B<colormap>
+
+=item Class: B<Colormap>
+
+=item Switch: B<-colormap>
+
+Specifies a colormap to use for the window.
+The value may be either B<new>, in which case a new colormap is
+created for the window and its children, or the name of another
+window (which must be on the same screen and have the same visual
+as $widget), in which case the new window will use the colormap
+from the specified window.
+If the B<colormap> option is not specified, the new window
+uses the same colormap as its parent.
+This option may not be changed with the B<configure>
+method.
+
+=item Name: B<container>
+
+=item Class: B<Container>
+
+=item Switch: B<-container>
+
+The value must be a boolean. If true, it means that this window will
+be used as a container in which some other application will be embedded
+(for example, a Tk toplevel can be embedded using the B<-use> option).
+The window will support the appropriate window manager protocols for
+things like geometry requests. The window should not have any
+children of its own in this application.
+This option may not be changed with the B<configure>
+method.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=item Name: B<visual>
+
+=item Class: B<Visual>
+
+=item Switch: B<-visual>
+
+Specifies visual information for the new window in any of the
+forms accepted by B<Tk_GetVisual>.
+If this option is not specified, the new window will use the same
+visual as its parent.
+The B<visual> option may not be modified with the B<configure>
+method.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Frame> method creates a new window (given by the
+$widget argument) and makes it into a frame widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the frame such as its background color
+and relief. The B<frame> command returns the
+path name of the new window.
+
+A frame is a simple widget. Its primary purpose is to act as a
+spacer or container for complex window layouts. The only features
+of a frame are its background color and an optional 3-D border to make the
+frame appear raised or sunken.
+
+=head1 WIDGET METHODS
+
+The B<Frame> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+=head1 BINDINGS
+
+When a new frame is created, it has no default event bindings:
+frames are not intended to be interactive.
+
+=head1 KEYWORDS
+
+frame, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/HList.pod b/Master/tlpkg/tlperl/lib/Tk/HList.pod
new file mode 100644
index 00000000000..0843e689843
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/HList.pod
@@ -0,0 +1,1050 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distribution are in the file
+# license.tcl.
+
+=head1 NAME
+
+Tk::HList - Create and manipulate Tix Hierarchial List widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$hlist> = I<$parent>-E<gt>B<HList>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-background> B<-borderwidth> B<-cursor> B<-exportselection>
+B<-foreground> B<-font> B<-height> B<-highlightcolor>
+B<-highlightthickness> B<-relief> B<-selectbackground>
+B<-selectforeground> B<-xscrollcommand> B<-yscrollcommand>
+B<-width>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<browsecmd>
+
+=item Class: B<BrowseCmd>
+
+=item Switch: B<-browsecmd>
+
+Specifies a perl/Tk L<callback|Tk::callbacks> to be executed when the user browses through the
+entries in the HList widget.
+
+=item Name: B<columns>
+
+=item Class: B<Columns>
+
+=item Switch: B<-columns>
+
+Specifies the number of columns in this HList widget. This option can
+only be set during the creation of the HList widget and cannot be
+changed subsequently.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies the perl/Tk L<callback|Tk::callbacks> to be executed when the user invokes a list
+entry in the HList widget. Normally the user invokes a list
+entry by double-clicking it or pressing the Return key.
+
+=item Name: B<drawBranch>
+
+=item Class: B<DrawBranch>
+
+=item Switch: B<-drawbranch>
+
+A Boolean value to specify whether branch line should be drawn to
+connect list entries to their parents.
+
+=item Name: B<foreground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-foreground>
+
+=item Alias: B<-fg>
+
+B<[OBSOLETE]> Specifies the default foreground color for the list entries.
+
+=item Name: B<gap>
+
+=item Class: B<Gap>
+
+=item Switch: B<-gap>
+
+B<[OBSOLETE]> The default distance between the bitmap/image and the
+text in list entries.
+
+=item Name: B<header>
+
+=item Class: B<Header>
+
+=item Switch: B<-header>
+
+A Boolean value specifying whether headers should be displayed for
+this HList widget (see the B<header> method below).
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window in number of characters.
+
+=item Name: B<indent>
+
+=item Class: B<Indent>
+
+=item Switch: B<-indent>
+
+Specifies the amount of horizontal indentation between a list entry
+and its children. Must be a valid screen distance value.
+
+=item Name: B<indicator>
+
+=item Class: B<Indicator>
+
+=item Switch: B<-indicator>
+
+Specifies whether the indicators should be displayed inside the HList
+widget. See the B<indicator> method below.
+
+=item Name: B<indicatorCmd>
+
+=item Class: B<IndicatorCmd>
+
+=item Switch: B<-indicatorcmd>
+
+Specifies a perl/Tk L<callback|Tk::callbacks> to be executed when the user manipulates the
+indicator of an HList entry. The B<-indicatorcmd> is triggered
+when the user press or releases the mouse button over the indicator in
+an HList entry. By default the perl/Tk B<callback> specified by
+B<-indicatorcmd> is executed with two additional arguments, the
+entryPath of the entry whose indicator has been triggered and additional
+information about the event. The additional information is one of the
+following strings: B<E<lt>ArmE<gt>>, B<E<lt>DisarmE<gt>>,
+and B<E<lt>ActivateE<gt>>.
+
+=item Name: B<itemType>
+
+=item Class: B<ItemType>
+
+=item Switch: B<-itemtype>
+
+Specifies the default type of display item for this HList widget. When
+you call the B<itemCreate>, B<add> and B<addchild> methods, display
+items of this
+type will be created if the B<-itemtype> option is not specified .
+
+=item Name: B<padX>
+
+=item Class: B<Pad>
+
+=item Switch: B<-padx>
+
+B<[OBSOLETE]> The default horizontal padding for list entries.
+
+=item Name: B<padY>
+
+=item Class: B<Pad>
+
+=item Switch: B<-padx>
+
+B<[OBSOLETE]> The default vertical padding for list entries.
+
+=item Name: B<selectBackground>
+
+=item Class: B<SelectBackground>
+
+=item Switch: B<-selectbackground>
+
+Specifies the background color for the selected list entries.
+
+=item Name: B<selectBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-selectborderwidth>
+
+Specifies a non-negative value indicating the width of the 3-D border
+to draw around selected items. The value may have any of the forms
+acceptable to B<Tk_GetPixels>.
+
+=item Name: B<selectForeground>
+
+=item Class: B<SelectForeground>
+
+=item Switch: B<-selectforeground>
+
+Specifies the foreground color for the selected list entries.
+
+=item Name: B<selectMode>
+
+=item Class: B<SelectMode>
+
+=item Switch: B<-selectmode>
+
+Specifies one of several styles for manipulating the selection. The
+value of the option may be arbitrary, but the default bindings expect
+it to be either B<single>, B<browse>, B<multiple>, or
+B<extended>; the default value is B<single>.
+
+=item Name: B<sizeCmd>
+
+=item Class: B<SizeCmd>
+
+=item Switch: B<-sizecmd>
+
+Specifies a perl/Tk L<callback|Tk::callbacks> to be called whenever the HList widget
+changes its size. This method can be useful to implement ``I<user scroll
+bars when needed>'' features.
+
+=item Name: B<separator>
+
+=item Class: B<Separator>
+
+=item Switch: B<-separator>
+
+Specifies the character to used as the separator character when
+intepreting the path-names of list entries. By default the character
+"." is used.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in characters.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<HList> method creates a new window (given by the
+$widget argument) and makes it into a HList widget.
+Additional options, described above, may be specified on the command
+line or in the option database to configure aspects of the
+HList widget such as its cursor and relief.
+
+The HList widget can be used to display any data that have a
+hierarchical structure, for example, file system directory trees. The
+list entries are indented and connected by branch lines according to
+their places in the hierachy.
+
+Each list entry is identified by an B<entryPath>. The entryPath is a
+sequence of B<entry names> separated by the separator charactor
+(specified by the B<-separator> option). An B<entry name> can be
+any string that does not contain the separator charactor, or it can be
+the a string that contains only one separator charactor.
+
+For example, when "." is used as the separator charactor,
+"one.two.three" is the entryPath for a list entry whose parent is
+"one.two", whose parent is "one", which is a toplevel entry (has no
+parents).
+
+Another examples: ".two.three" is the entryPath for a list entry whose
+parent is ".two", whose parent is ".", which is a toplevel entry.
+
+=head1 DISPLAY ITEMS
+
+Each list entry in an HList widget is associated with a B<display>
+item. The display item determines what visual information should
+be displayed for this list entry. Please see L<Tk::DItem>
+for a list of all display items.
+When a list entry is created by the B<itemCreate>, B<add> or
+B<addchild> widget
+methods, the type of its display item is determined by the
+B<-itemtype> option passed to these methods. If the
+B<-itemtype> is omitted, then by default the type specified by
+this HList widget's B<-itemtype> option is used.
+
+=head1 WIDGET METHODS
+
+The B<HList> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available HList widgets:
+
+=over 4
+
+=item I<$hlist>-E<gt>B<add>(I<$entryPath> ?,I<option>=E<gt>I<value>, ...?)
+
+Creates a new list entry with the pathname I<$entryPath>. A list
+entry must be created after its parent is created (unless this entry
+is a top-level entry, which has no parent). See also L<"BUGS"> below.
+This method returns the
+entryPath of the newly created list entry. The following
+configuration options can be given to configure the list entry:
+
+=over 8
+
+=item B<-at> =E<gt> I<position>
+
+Insert the new list at the position given by I<position>.
+I<position> must be a valid integer. The position B<0> indicates
+the first position, B<1> indicates the second position, and so on.
+
+=item B<-after> =E<gt> I<afterWhich>
+
+Insert the new list entry after the entry identified by
+I<afterWhich>. I<afterWhich> must be a valid list entry and it
+mush have the same parent as the new list entry
+
+=item B<-before> =E<gt> I<beforeWhich>
+
+Insert the new list entry before the entry identified by
+I<beforeWhich>. I<beforeWhich> must be a valid list entry and it
+mush have the same parent as the new list entry
+
+=item B<-data> =E<gt> I<string>
+
+Specifies a string to associate with this list entry. This string can
+be queried by the B<info> method. The application
+programmer can use the B<-data> option to associate the list entry
+with the data it represents.
+
+=item B<-itemtype> =E<gt> I<type>
+
+Specifies the type of display item to be display for the new list
+entry. B<type> must be a valid display item type. Currently the
+available display item types are B<imagetext>, B<text>, and
+$widget. If this option is not specified, then by default the
+type specified by this HList widget's B<-itemtype> option is used.
+
+=item B<-state> =E<gt> I<state>
+
+Specifies whether this entry can be selected or invoked by the user.
+Must be either B<normal> or B<disabled>.
+
+=back
+
+The B<add> method accepts additional configuration options
+to configure the display item associated with this list entry. The set
+of additional configuration options depends on the type of the display
+item given by the B<-itemtype> option. Please see
+L<Tk::DItem> for a list of the configuration options for
+each of the display item types.
+
+=item I<$hlist>-E<gt>B<addchild>(I<$parentPath, >?I<option, value, ..., >?)
+
+Adds a new child entry to the children list of the list entry
+identified by I<$parentPath>. Or, if I<$parentPath> is set to be
+the empty string, then creates a new toplevel entry. The name of the
+new list entry will be a unique name automatically generated by the
+HList widget. Usually if I<$parentPath> is B<foo>, then the
+entryPath of the new entry will be B<foo.0>, B<foo.1>, ... etc.
+This method returns the entryPath of the newly created list entry.
+I<option> can be any option for the B<add> method.
+See also L<"BUGS"> below.
+
+=item I<$hlist>-E<gt>B<anchorSet>(I<$entryPath>)
+
+Sets the anchor to the list entry identified by I<$entryPath>. The
+anchor is the end of the selection that is fixed while the user is
+dragging out a selection with the mouse.
+
+=item I<$hlist>-E<gt>B<anchorClear>
+
+Removes the anchor, if any, from this HList widget. This only
+removes the surrounding highlights of the anchor entry and does not
+affect its selection status.
+
+=item I<$hlist>-E<gt>B<columnWidth>(I<$col>?, I<-char>?, ?I<width>?)
+
+Querys or sets the width of a the column I<$col> in the HList
+widget. The value of I<$col> is zero-based: 0 stands for the first
+column, 1 stands for the second, and so on. If no further parameters
+are given, returns the current width of this column (in number of
+pixels). Additional parameters can be given to set the width of this
+column:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<columnWidth>(I<$col>, B<''>)
+
+An empty string indicates that the width of the column should be just
+wide enough to display the widest element in this column. In this
+case, the width of this column may change as a result of the elements
+in this column changing their sizes.
+
+=item I<$hlist>-E<gt>B<columnWidth>(I<$col, >I<width>)
+
+I<width> must be in a form accepted by B<Tk_GetPixels>.
+
+=item I<$hlist>-E<gt>B<columnWidth>(I<$col, >B<-char, >I<nChars>)
+
+The width is set to be the average width occupied by I<nChars>
+number of characters of the font specified by the B<-font> option
+of this HList widget.
+
+=back
+
+=item I<$hlist>-E<gt>B<delete>(I<option>, I<$entryPath>)
+
+Delete one or more list entries. I<option> may be one of the
+following:
+
+=over 8
+
+=item B<all>
+
+Delete all entries in the HList. In this case the I<$entryPath>
+does not need to be specified.
+
+=item B<entry>
+
+Delete the entry specified by I<$entryPath> and all its offsprings,
+if any.
+
+=item B<offsprings>
+
+Delete all the offsprings, if any, of the entry specified by
+I<$entryPath>. However, I<$entryPath> itself is not deleted.
+
+=item B<siblings>
+
+Delete all the list entries that share the same parent with the entry
+specified by I<$entryPath>. However, I<$entryPath> itself is not
+deleted.
+
+=back
+
+=item I<$hlist>-E<gt>B<dragsiteSet>(I<$entryPath>)
+
+Sets the dragsite to the list entry identified by
+I<$entryPath>. The dragsite is used to indicate the source of a
+drag-and-drop action. Currently drag-and-drop functionality has not
+been implemented in Tix yet.
+
+=item I<$hlist>-E<gt>B<dragsiteClear>
+
+Remove the dragsite, if any, from the this HList widget. This only
+removes the surrounding highlights of the dragsite entry and does not
+affect its selection status.
+
+=item I<$hlist>-E<gt>B<dropsiteSet>(I<$entryPath>)
+
+Sets the dropsite to the list entry identified by I<$entryPath>. The
+dropsite is used to indicate the target of a drag-and-drop
+action. Currently drag-and-drop functionality has not been implemented
+in Tix yet.
+
+=item I<$hlist>-E<gt>B<dropsiteClear>
+
+Remove the dropsite, if any, from the this HList widget. This only
+removes the surrounding highlights of the dropsite entry and does not
+affect its selection status.
+
+=item I<$hlist>-E<gt>B<entrycget>(I<$entryPath>, I<option>)
+
+Returns the current value of the configuration option given by
+I<option> for the entry indentfied by I<$entryPath>. I<Option>
+may have any of the values accepted by the B<add> method.
+
+=item I<$hlist>-E<gt>B<entryconfigure>(I<$entryPath> ?,I<option>?, ?I<value>=E<gt>I<option>, ...?)
+
+Query or modify the configuration options of the list entry indentfied
+by I<$entryPath>. If no I<option> is specified, returns a list
+describing all of the available options for I<$entryPath> (see
+L<Tk::options> for information on the format of this list.) If
+I<option> is specified with no I<value>, then the method
+returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no
+I<option> is specified). If one or more I<option-value> pairs
+are specified, then the method modifies the given option(s) to have
+the given value(s); in this case the method returns an empty string.
+I<Option> may have any of the values accepted by the B<add> or
+B<addchild> method. The exact set of options depends on the
+value of the B<-itemtype> option passed to the the B<add> or
+B<addchild> method when this list entry is created.
+
+=item I<$hlist>-E<gt>B<header>(I<option>, I<$col> ?,I<args>, ...?)
+
+Manipulates the header items of this HList widget. If the
+B<-header> option of this HList widget is set to true, then a
+header item is displayed at the top of each column. The I<$col>
+argument for this method must be a valid integer. 0 indicates the
+first column, 1 the second column, ... and so on. This method
+supports the following options:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<header>(B<cget>, I<$col>, I<option>)
+
+If the I<$col>-th column has a header display item, returns the
+value of the specified I<option> of the header item. If the header
+doesn't exist, returns an error.
+
+=item I<$hlist>-E<gt>B<header>(B<configure, >I<$col, >?I<option>?, I<?value, option, value, ...>?)
+
+Query or modify the configuration options of the header display item
+of the I<$col>-th column. The header item must exist, or an error
+will result. If no I<option> is specified, returns a list
+describing all of the available options for the header display item
+(see L<Tk::options> for information on the format of this
+list.) If I<option> is specified with no I<value>, then the
+method returns a list describing the one named option (this list will
+be identical to the corresponding sublist of the value returned if no
+I<option> is specified). If one or more I<option-value> pairs
+are specified, then the method modifies the given option(s) to have
+the given value(s); in this case the method returns an empty
+string. I<Option> may have any of the values accepted by the
+B<header create> method. The exact set of options depends
+on the value of the B<-itemtype> option passed to the the B<header>
+create method when this display item was created.
+
+=item I<$hlist>-E<gt>B<header>(B<create, >I<$col, >?I<-itemtype type>? ?I<option value ...>?
+
+Creates a new display item as the header for the I<$col>-th
+column. See also L<"BUGS"> below.
+If an header display item already exists for this column, it
+will be replaced by the new item. An optional parameter
+I<-itemtype> can be used to specify what type of display item
+should be created. If the I<-itemtype> is not given, then by
+default the type specified by this HList widget's B<-itemtype>
+option is used. Additional parameters, in I<option-value> pairs,
+can be passed to configure the appearance of the display item. Each
+I<option-value> pair must be a valid option for this type of
+display item or one of the following:
+
+=over 12
+
+=item B<-borderwidth> =E<gt> I<color>
+
+Specifies the border width of this header item.
+
+=item B<-headerbackground> =E<gt> I<color>
+
+Specifies the background color of this header item.
+
+=item B<-relief> =E<gt> I<type>
+
+Specifies the relief type of the border of this header item.
+
+=back
+
+=item I<$hlist>-E<gt>B<header>(B<delete, >I<$col>)
+
+Deletes the header display item for the I<$col>-th column.
+
+=item I<$hlist>-E<gt>B<header>(B<exists, >I<$col>)
+
+Return true if an header display item exists for the I<$col>-th
+column; return false otherwise.
+
+=item I<$hlist>-E<gt>B<header>(B<size>, I<$col>)
+
+If an header display item exists for the I<$col>-th column , returns
+its size in pixels in a two element list I<(width, height)>;
+returns an error if the header display item does not exist.
+
+=back
+
+=item I<$hlist>-E<gt>B<hide>(I<option> ?,I<$entryPath>?)
+
+Makes some of entries invisible without deleting them.
+I<Option> can be one of the following:
+
+=over 8
+
+=item B<entry>
+
+Hides the list entry identified by I<$entryPath>.
+
+=back
+
+Currently only the B<entry> option is supported. Other options will
+be added in the next release.
+
+=item I<$hlist>-E<gt>B<indicator>(I<option>, I<$entryPath>, ?I<args, ...>?)
+
+Manipulates the indicator on the list entries. An indicator is usually
+a small display item (such as an image) that is displayed to the left
+to an entry to indicate the status of the entry. For example, it may
+be used to indicate whether a directory is opened or
+closed. I<Option> can be one of the following:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<indicator>(B<cget>, I<$entryPath>, I<option>)
+
+If the list entry given by I<$entryPath> has an indicator, returns
+the value of the specified I<option> of the indicator. If the
+indicator doesn't exist, returns an error.
+
+=item I<$hlist>-E<gt>B<indicator>(B<configure>, I<$entryPath>, ?I<option>?, I<?value, option, value, ...>?)
+
+Query or modify the configuration options of the indicator display
+item of the entry specified by I<$entryPath>. The indicator item
+must exist, or an error will result. If no I<option> is specified,
+returns a list describing all of the available options for the
+indicator display item (see L<Tk::options> for information
+on the format of this list). If I<option> is specified with no
+I<value>, then the method returns a list describing the one named
+option (this list will be identical to the corresponding sublist of
+the value returned if no I<option> is specified). If one or more
+I<option-value> pairs are specified, then the method modifies the
+given option(s) to have the given value(s); in this case the method
+returns an empty string. I<Option> may have any of the values
+accepted by the B<indicator create> method. The exact set
+of options depends on the value of the B<-itemtype> option passed
+to the the B<indicator create> method when this display item
+was created.
+
+=item I<$hlist>-E<gt>B<indicator>(B<create, >I<$entryPath, >?, I<-itemtype type>? ?I<option value ...>?)
+
+Creates a new display item as the indicator for the entry specified by
+I<$entryPath>. If an indicator display item already exists for this
+entry, it will be replaced by the new item. An optional parameter
+I<-itemtype> can be used to specify what type of display item
+should be created. If the I<-itemtype> is not given, then by
+default the type specified by this HList widget's B<-itemtype>
+option is used. Additional parameters, in I<option-value> pairs,
+can be passed to configure the appearance of the display item. Each
+I<option-value> pair must be a valid option for this type of
+display item.
+
+=item I<$hlist>-E<gt>B<indicator>(B<delete>, I<$entryPath>)
+
+Deletes the indicator display item for the entry given by I<$entryPath>.
+
+=item I<$hlist>-E<gt>B<indicator>(B<exists>, I<$entryPath>)
+
+Return true if an indicator display item exists for the entry given by
+I<$entryPath>; return false otherwise.
+
+=item I<$hlist>-E<gt>B<indicator>(B<size>, I<$entryPath>)
+
+If an indicator display item exists for the entry given by
+I<$entryPath>, returns its size in a two element list of the form
+{I<width height>}; returns an error if the indicator display item
+does not exist.
+
+=back
+
+=item I<$hlist>-E<gt>B<info>(I<option>, I<arg, ...>)
+
+Query information about the HList widget. I<option> can be one
+of the following:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<info>(B<anchor>)
+
+Returns the entryPath of the current anchor, if any, of the HList
+widget. If the anchor is not set, returns the empty string.
+
+=item I<$hlist>-E<gt>B<infoBbox>(I<$entryPath>)
+
+Returns a list of four numbers describing the visible bounding box of
+the entry given I<$entryPath>. The first two elements of the list
+give the x and y coordinates of the upper-left corner of the screen
+area covered by the entry (specified in pixels relative to the widget)
+and the last two elements give the lower-right corner of the area, in
+pixels. If no part of the entry given by index is visible on the
+screen then the result is an empty string; if the entry is partially
+visible, the result gives the only the visible area of the entry.
+
+=item I<$hlist>-E<gt>B<info>(B<children> ?,I<$entryPath>?)
+
+If I<$entryPath> is given, returns a list of the entryPath's of its
+children entries. Otherwise returns a list of the toplevel
+entryPath's.
+
+=item I<$hlist>-E<gt>B<info>(B<data> ?,I<$entryPath>?)
+
+Returns the data associated with I<$entryPath>.
+
+=item I<$hlist>-E<gt>B<info>(B<dragsite>)
+
+Returns the entryPath of the current dragsite, if any, of the HList
+widget. If the dragsite is not set, returns the empty string.
+
+=item I<$hlist>-E<gt>B<info>(B<dropsite>)
+
+Returns the entryPath of the current dropsite, if any, of the HList
+widget. If the dropsite is not set, returns the empty string.
+
+=item I<$hlist>-E<gt>B<info>(B<exists>, I<$entryPath>)
+
+Returns a boolean value indicating whether the list entry
+I<$entryPath> exists.
+
+=item I<$hlist>-E<gt>B<info>(B<hidden>, I<$entryPath>)
+
+Returns a boolean value indicating whether the list entry
+B<$entryPath> is hidden or not.
+
+=item I<$hlist>-E<gt>B<info>(B<next>, I<$entryPath>)
+
+Returns the entryPath of the list entry, if any, immediately below
+this list entry. If this entry is already at the bottom of the HList
+widget, returns an empty string.
+
+=item I<$hlist>-E<gt>B<info>(B<parent>, I<$entryPath>)
+
+Returns the name of the parent of the list entry identified by
+I<$entryPath>. If I<entryPath> is a toplevel list entry,
+returns the empty string.
+
+=item I<$hlist>-E<gt>B<info>(B<prev>, I<$entryPath>)
+
+Returns the entryPath of the list entry, if any, immediately above
+this list entry. If this entry is already at the top of the HList
+widget, returns an empty string.
+
+=item I<$hlist>-E<gt>B<info>(B<selection>)
+
+Returns a list of selected entries in the HList widget. In scalar
+context, returns an anonymous list of the selected entries.
+If no entries are selected, undef is returned in scalar context, and
+an empty list otherwise.
+
+=back
+
+=item I<$hlist>-E<gt>B<item>(I<option, >?I<args, ...>?)
+
+Creates and configures the display items at individual columns the
+entries. The form of additional of arguments depends on the choice of
+I<option>:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<itemCget>(I<$entryPath>, I<$col>, I<option>)
+
+Returns the current value of the configure I<option> of the display
+item at the column designated by I<$col> of the entry specified by
+I<$entryPath>.
+
+=item I<$hlist>-E<gt>B<itemConfigure>(I<$entryPath>, I<$col> ?,I<option>?, I<?value, option, value, ...>?)
+
+Query or modify the configuration options of the display item at the
+column designated by I<$col> of the entry specified by
+I<$entryPath>. If no I<option> is specified, returns a list
+describing all of the available options for I<$entryPath> (see
+L<Tk::options> for information on the format of this
+list). If I<option> is specified with no I<value>, then the
+method returns a list describing the one named option (this list will
+be identical to the corresponding sublist of the value returned if no
+I<option> is specified). If one or more I<option-value> pairs
+are specified, then the method modifies the given option(s) to have
+the given value(s); in this case the method returns an empty string.
+I<Option> may have any of the values accepted by the B<item>
+create method. The exact set of options depends on the
+value of the B<-itemtype> option passed to the the B<item>
+create method when this display item was created.
+
+=item I<$hlist>-E<gt>B<itemCreate>(I<$entryPath>, I<$col> ?,I<-itemtype>=E<gt>I<type>? ?,I<option value ...>?)
+
+Creates a new display item at the column designated by I<$col> of
+the entry specified by I<$entryPath>. An optional parameter
+I<-itemtype> can be used to specify what type of display items
+should be created. If the I<-itemtype> is not specified, then by
+default the type specified by this HList widget's B<-itemtype>
+option is used. Additional parameters, in I<option-value> pairs,
+can be passed to configure the appearance of the display item. Each
+I<option- value> pair must be a valid option for this type of
+display item.
+
+=item I<$hlist>-E<gt>B<itemDelete>(I<$entryPath>, I<$col>)
+
+Deletes the display item at the column designated by I<$col> of
+the entry specified by I<$entryPath>.
+
+=item I<$hlist>-E<gt>B<itemExists>(I<$entryPath>, I<$col>)
+
+Returns true if there is a display item at the column designated by
+I<$col> of the entry specified by I<$entryPath>; returns false
+otherwise.
+
+=back
+
+=item I<$hlist>-E<gt>B<nearest>(I<y>)
+
+I<$hlist>-E<gt>B<nearest>(I<y>)
+Given a y-coordinate within the HList window, this method returns
+the entryPath of the (visible) HList element nearest to that
+y-coordinate.
+
+=item I<$hlist>-E<gt>B<see>(I<$entryPath>)
+
+Adjust the view in the HList so that the entry given by I<$entryPath> is
+visible. If the entry is already visible then the method has no
+effect; if the entry is near one edge of the window then the HList
+scrolls to bring the element into view at the edge; otherwise the
+HList widget scrolls to center the entry.
+
+=item I<$hlist>-E<gt>B<selection>(I<option>, I<arg>, ...)
+
+=item I<$hlist>-E<gt>B<selection>I<Option>(I<arg>, ...)
+
+This method is used to adjust the selection within a HList widget. It
+has several forms, depending on I<option>:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<selectionClear>(?I<from>?, ?I<to>?)
+
+When no extra arguments are given, deselects all of the list entrie(s)
+in this HList widget. When only I<from> is given, only the list
+entry identified by I<from> is deselected. When both I<from> and
+I<to> are given, deselects all of the list entrie(s) between
+between I<from> and I<to>, inclusive, without affecting the
+selection state of elements outside that range.
+
+=item I<$hlist>-E<gt>B<selectionGet>
+
+This is an alias for the B<infoSelection> method.
+
+=item I<$hlist>-E<gt>B<selectionIncludes>(I<$entryPath>)
+
+Returns 1 if the list entry indicated by I<$entryPath> is currently
+selected; returns 0 otherwise.
+
+=item I<$hlist>-E<gt>B<selectionSet>(I<from>?, I<to>?)
+
+Selects all of the list entrie(s) between between I<from> and
+I<to>, inclusive, without affecting the selection state of entries
+outside that range. When only I<from> is given, only the list entry
+identified by I<from> is selected.
+
+=back
+
+=item I<$hlist>-E<gt>B<show>(I<option> ?,I<$entryPath>?)
+
+Show the entries that are hidden by the B<hide> method,
+I<option> can be one of the following:
+
+=over 8
+
+=item B<entry>
+
+Shows the list entry identified by I<$entryPath>.
+
+=back
+
+Currently only the B<entry> option is supported. Other options will
+be added in future releases.
+
+=item I<$hlist>-E<gt>B<xview>(I<args>)
+
+This method is used to query and change the horizontal position of the
+information in the widget's window. It can take any of the following
+forms:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<xview>
+
+Returns a list containing two elements. Each element is a real
+fraction between 0 and 1; together they describe the horizontal span
+that is visible in the window. For example, if the first element is
+.2 and the second element is .6, 20% of the HList entry is
+off-screen to the left, the middle 40% is visible in the window, and
+40% of the entry is off-screen to the right. These are the same values
+passed to scrollbars via the B<-xscrollcommand> option.
+
+=item I<$hlist>-E<gt>B<xview>(I<$entryPath>)
+
+Adjusts the view in the window so that the list entry identified by
+I<$entryPath> is aligned to the left edge of the window.
+
+=item I<$hlist>-E<gt>B<xview>(B<moveto> =E<gt> I<fraction>)
+
+Adjusts the view in the window so that I<fraction> of the total
+width of the HList is off-screen to the left. I<fraction> must be
+a fraction between 0 and 1.
+
+=item I<$hlist>-E<gt>B<xview>(B<scroll> =E<gt> I<number, what>)
+
+This method shifts the view in the window left or right according to
+I<number> and I<what>. I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an
+abbreviation of one of these. If I<what> is B<units>, the view
+adjusts left or right by I<number> character units (the width of
+the B<0> character) on the display; if it is B<pages> then the
+view adjusts by I<number> screenfuls. If I<number> is negative
+then characters farther to the left become visible; if it is positive
+then characters farther to the right become visible.
+
+=back
+
+=item I<$hlist>-E<gt>B<yview>(I<?args>?)
+
+This method is used to query and change the vertical position of the
+entries in the widget's window. It can take any of the following forms:
+
+=over 8
+
+=item I<$hlist>-E<gt>B<yview>
+
+Returns a list containing two elements, both of which are real
+fractions between 0 and 1. The first element gives the position of
+the list element at the top of the window, relative to the HList as a
+whole (0.5 means it is halfway through the HList, for example). The
+second element gives the position of the list entry just after the
+last one in the window, relative to the HList as a whole. These are
+the same values passed to scrollbars via the B<-yscrollcommand>
+option.
+
+=item I<$hlist>-E<gt>B<yview>(I<$entryPath>)
+
+Adjusts the view in the window so that the list entry given by
+I<$entryPath> is displayed at the top of the window.
+
+=item I<$hlist>-E<gt>B<yview>(B<moveto> =E<gt> I<fraction>)
+
+Adjusts the view in the window so that the list entry given by
+I<fraction> appears at the top of the window. I<Fraction> is a
+fraction between 0 and 1; 0 indicates the first entry in the
+HList, 0.33 indicates the entry one-third the way through the
+HList, and so on.
+
+=item I<$hlist>-E<gt>B<yview>(B<scroll> =E<gt> I<number, what>)
+
+This method adjust the view in the window up or down according to
+I<number> and I<what>. I<Number> must be an integer.
+I<What> must be either B<units> or B<pages>. If I<what>
+is B<units>, the view adjusts up or down by I<number> lines; if
+it is B<pages> then the view adjusts by I<number> screenfuls.
+If I<number> is negative then earlier entries become visible; if
+it is positive then later entries become visible.
+
+=back
+
+=back
+
+=head1 BINDINGS
+
+=over 4
+
+=item [1]
+
+If the B<-selectmode> is "browse", when the user drags the mouse
+pointer over the list entries, the entry under the pointer will be
+highlighted and the B<-browsecmd> callback will be called with
+one parameter, the entryPath of the highlighted entry. Only one entry
+can be highlighted at a time. The B<-command> callback will be
+called when the user double-clicks on a list entry.
+
+=item [2]
+
+If the B<-selectmode> is "single", the entries will only be
+highlighted by mouse E<lt>ButtonRelease-1E<gt> events. When a new list entry
+is highlighted, the B<-browsecmd> callback will be called with
+one parameter indicating the highlighted list entry. The
+B<-command> callback will be called when the user double-clicks
+on a list entry.
+
+=item [3]
+
+If the B<-selectmode> is "multiple", when the user drags the mouse
+pointer over the list entries, all the entries under the pointer will
+be highlighted. However, only a contiguous region of list entries can
+be selected. When the highlighted area is changed, the
+B<-browsecmd> callback will be called with an undefined
+parameter. It is the responsibility of the B<-browsecmd> callback
+to find out the exact highlighted selection in the HList. The
+B<-command> callback will be called when the user double-clicks
+on a list entry.
+
+=item [4]
+
+If the B<-selectmode> is "extended", when the user drags the mouse
+pointer over the list entries, all the entries under the pointer will
+be highlighted. The user can also make disjointed selections using
+E<lt>Control-ButtonPress-1E<gt>. When the highlighted area is changed, the
+B<-browsecmd> callback will be called with an undefined
+parameter. It is the responsibility of the B<-browsecmd> callback
+to find out the exact highlighted selection in the HList. The
+B<-command> callback will be called when the user double-clicks
+on a list entry.
+
+=item [5]
+
+B<Arrow key bindings:> E<lt>UpE<gt> arrow key moves the anchor point to the
+item right on top of the current anchor item. E<lt>DownE<gt> arrow key moves
+the anchor point to the item right below the current anchor item.
+E<lt>LeftE<gt> arrow key moves the anchor to the parent item of the current
+anchor item. E<lt>RightE<gt> moves the anchor to the first child of the
+current anchor item. If the current anchor item does not have any
+children, moves the anchor to the item right below the current anchor
+item.
+
+=back
+
+=head1 EXAMPLE
+
+This example demonstrates how to use an HList to store a file
+directory structure and respond to the user's browse events:
+
+ use strict;
+ use Tk;
+ use Tk::Label;
+ use Tk::HList;
+
+ my $mw = MainWindow->new();
+ my $label = $mw->Label(-width=>15);
+ my $hlist = $mw->HList(
+ -itemtype => 'text',
+ -separator => '/',
+ -selectmode => 'single',
+ -browsecmd => sub {
+ my $file = shift;
+ $label->configure(-text=>$file);
+ }
+ );
+
+ foreach ( qw(/ /home /home/ioi /home/foo /usr /usr/lib) ) {
+ $hlist->add($_, -text=>$_);
+ }
+
+ $hlist->pack;
+ $label->pack;
+
+ MainLoop;
+
+=head1 BUGS
+
+The fact that the display item at column 0 is implicitly associated
+with the whole entry is probably a design bug. This was done for
+backward compatibility purposes. The result is that there is a large
+overlap between the B<item> method and the B<add>,
+B<addchild>, B<entrycget> and B<entryconfigure>
+methods. Whenever multiple columns exist, the programmer should use
+ONLY the B<item> method to create and configure the display items
+in each column; the B<add>, B<addchild>, B<entrycget> and
+B<entryconfigure> should be used ONLY to create and configure
+entries.
+
+=head1 KEYWORDS
+
+Hierarchical Listbox
+
+=head1 SEE ALSO
+
+L<Tk::DItem|Tk::DItem>
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/IO.pod b/Master/tlpkg/tlperl/lib/Tk/IO.pod
new file mode 100644
index 00000000000..2781d2e17e6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/IO.pod
@@ -0,0 +1,51 @@
+
+=head1 NAME
+
+Tk::IO - high level interface to Tk's 'fileevent' mechanism
+
+=for pm IO/IO.pm
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+ my $fh = Tk::IO->new(-linecommand => callback, -childcommand => callback);
+ $fh->exec("command")
+ $fh->wait
+ $fh->kill
+
+=head1 WARNING
+
+INTERFACES TO THIS MODULE MAY CHANGE AS PERL'S IO EVOLVES
+AND WITH PORT OF TK4.1
+
+=head1 DESCRIPTION
+
+Tk::IO is now layered on perl's IO::Handle class. Interfaces
+have changed, and are still evolving.
+
+In theory C methods which enable non-blocking IO as in earlier Tk-b*
+release(s) are still there. I have not changed them to use perl's
+additional Configure information, or tested them much.
+
+Assumption is that B<exec> is
+used to fork a child process and a callback is called each time a
+complete line arrives up the implied pipe.
+
+"line" should probably be defined in terms of perl's input record
+separator but is not yet.
+
+The -childcommand callback is called when end-of-file occurs.
+
+$fh->B<wait> can be used to wait for child process while processing
+other Tk events.
+
+$fh->B<kill> can be used to send signal to child process.
+
+=head1 BUGS
+
+Still not finished.
+Idea is to use "exec" to emulate "system" in a non-blocking manner.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/IconList.pod b/Master/tlpkg/tlperl/lib/Tk/IconList.pod
new file mode 100644
index 00000000000..e68324ce4b6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/IconList.pod
@@ -0,0 +1,82 @@
+=head1 NAME
+
+Tk::IconList - an icon list widget
+
+=for pm Tk/IconList.pm
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+ use Tk::IconList;
+ $il = $mw->IconList(-browsecmd => sub { ... },
+ -command => sub { ... })->pack;
+ $il->Add($icon1, $text1);
+ $il->Add($icon2, $text2);
+ $il->Arrange;
+ ...
+ $il->DeleteAll;
+
+=head1 DESCRIPTION
+
+=head2 OPTIONS
+
+=over
+
+=item -browsecmd
+
+=item -command
+
+=item -font
+
+-item -foreground|-fg
+
+=back
+
+=head2 METHODS
+
+=over 4
+
+=item DeleteAll
+
+Deletes all the items inside the canvas subwidget and reset the IconList's
+state.
+
+=item Add($image, $text)
+
+Adds an icon into the IconList with the designated image and text.
+
+=item Arrange
+
+Places the icons in a column-major arrangement.
+
+=item Get
+
+Return the selected item.
+
+=item Invoke
+
+Gets called when the user invokes the IconList (usually by double-clicking
+or pressing the Return key) (internal method).
+
+=item See($tag)
+
+If the item is not (completely) visible, scroll the canvas so that it
+becomes visible (internal method).
+
+=back
+
+=head1 COPYRIGHT
+
+The original tkfbox.tcl from Tcl/Tk is:
+
+Copyright (c) 1994-1996 Sun Microsystems, Inc.
+
+See the file "license.terms" for information on usage and redistribution
+of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+
+Translated to Perl/Tk by Slaven Rezic <srezic@cpan.org>.
+
+=head1 SEE ALSO
+
+L<Tk::FBox>.
diff --git a/Master/tlpkg/tlperl/lib/Tk/Image.pod b/Master/tlpkg/tlperl/lib/Tk/Image.pod
new file mode 100644
index 00000000000..797ecc23cbf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Image.pod
@@ -0,0 +1,145 @@
+# Copyright (c) 1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Image - Create and manipulate images
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+I<$image> = I<$widget>-E<gt>I<type>(?I<arg arg ...>?)
+
+I<$image>-E<gt>I<method>(?I<arg arg ...>?)
+
+=head1 DESCRIPTION
+
+The B<image> constructors and methods are used to create, delete, and query images.
+It can take several different forms, depending on the
+I<type>.
+
+The constructors require a I<$widget> to invoke them, this is used
+to locate a B<MainWindow>. (This is because the underlying Tk code
+registers the images in the data structure for the B<MainWindow>.)
+
+The legal forms are:
+
+=over 4
+
+=item I<$widget>-E<gt>I<type>?(?I<name>?,?I<option>=E<gt>I<value ...>)?
+
+Creates a new image and returns an object.
+I<type> specifies the type of the image, which must be one of
+the types currently defined (e.g., B<Bitmap>).
+I<name> specifies the name for the image; if it is omitted then
+Tk picks a name of the form B<image>I<x>, where I<x> is
+an integer.
+There may be any number of I<option>=E<gt>I<value> pairs,
+which provide configuration options for the new image.
+The legal set of options is defined separately for each image
+type; see below for details on the options for built-in image types.
+If an image already exists by the given name then it is replaced
+with the new image and any instances of that image will redisplay
+with the new contents.
+
+=item I<$image>-E<gt>B<delete>
+
+Deletes the image I<$image> and returns an empty string.
+If there are instances of the image displayed in widgets,
+the image won't actually be deleted until all of the instances
+are released.
+However, the association between the instances and the image
+manager will be dropped.
+Existing instances will retain their sizes but redisplay as
+empty areas.
+If a deleted image is recreated (with the same I<name>)
+the existing instances will use the new image.
+
+=item I<$image>-E<gt>B<height>
+
+Returns a decimal string giving the height of image I<name>
+in pixels.
+
+=item I<$image>-E<gt>B<inuse>
+
+Returns a boolean value indicating whether or not the image is in use
+by any widgets.
+
+=item I<$widget>-E<gt>B<imageNames>
+
+Returns a list containing all existing images for I<$widget>'s
+B<MainWindow>.
+
+=item I<$image>-E<gt>B<type>
+
+Returns the type of I<$image> (the value of the I<type>
+method when the image was created).
+
+=item I<$widget>-E<gt>B<imageTypes>
+
+Returns a list whose elements are all of the valid image types
+(i.e., all of the values that may be supplied for the I<type>
+to create an image).
+
+=item I<$image>-E<gt>B<width>
+
+Returns a decimal string giving the width of image I<name>
+in pixels.
+
+=back
+
+=head1 BUILT-IN IMAGE TYPES
+
+The following image types are defined by Tk so they will be available
+in any Tk application.
+Individual applications or extensions may define additional types.
+
+=over 4
+
+=item B<Bitmap>
+
+Each pixel in the image displays a foreground color, a background
+color, or nothing.
+See L<Tk::Bitmap> for more information.
+
+=item B<Pixmap>
+
+B<Pixmap> is slightly more general than B<Bitmap>, each pixel can
+be any available color or "transparent" (rendered as background color of the
+widget image is displayed in). B<Pixmap> is best used for icons and other
+simple graphics with only a few colors.
+
+B<Pixmap> is derived from Tix. See L<Tk::Pixmap> for more information.
+
+=item B<Photo>
+
+Displays a variety of full-color images, using dithering to
+approximate colors on displays with limited color capabilities.
+See L<Tk::Photo> documentation for more information.
+
+=back
+
+=head1 CAVEATS
+
+It's necessary to use the L</delete> method to delete an image object
+and free memory associated with it. Just using a lexical variable for
+storing the image object and letting the variable to go out of scope
+or setting to C<undef> is not sufficient.
+
+=head1 SEE ALSO
+
+L<Tk::Bitmap|Tk::Bitmap>
+L<Tk::Pixmap|Tk::Pixmap>
+L<Tk::Photo|Tk::Photo>
+
+=head1 KEYWORDS
+
+height, image, types of images, width
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/InputO.pod b/Master/tlpkg/tlperl/lib/Tk/InputO.pod
new file mode 100644
index 00000000000..03a43b29ed7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/InputO.pod
@@ -0,0 +1,50 @@
+=head1 NAME
+
+Tk::InputO - Create and manipulate TIX InputO widgets
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+I<$inputonly> = I<$parent>-E<gt>B<InputO>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+Only the following three standard options are supported by
+B<InputO>:
+
+B<cursor> B<width> B<height>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+B<InputO> does not have any widget specific options.
+
+=head1 DESCRIPTION
+
+The B<InputO> method creates a new window (given by the
+$widget argument) and makes it into a B<InputO>
+widget. Additional options, described above, may be specified on the
+command line or in the option database to configure aspects of the
+B<InputO> such as its cursor or width.
+
+B<InputO> widgets are not visible to the user. The only
+purpose of B<InputO> widgets are to accept inputs from the
+user, which can be done with the B<bind> method.
+
+=head1 WIDGET METHODS
+
+The B<InputO> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+=head1 BINDINGS
+
+B<InputO> widgets have no default bindings.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Internals.pod b/Master/tlpkg/tlperl/lib/Tk/Internals.pod
new file mode 100644
index 00000000000..572abdf0f4f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Internals.pod
@@ -0,0 +1,142 @@
+=head1 NAME
+
+Tk::Internals - what is Perl Tk interface doing when you call Tk functions.
+
+=for category C Programming
+
+This information is worse than useless for C<perlTk> users, but can of
+some help for people interested in using modified Tk source with
+C<perlTk>.
+
+I<This document is under construction. The information is believed to
+be pertinent to the version of> C<portableTk> I<available when it was
+created. All the details are subject to change.>
+
+=head1 DESCRIPTION
+
+=over 4
+
+=item PreCompiling
+
+Before the actual compilation stage a script scans the source
+and extracts the subcommands of different commands. This information
+resides in the file C<pTk/Methods.def>.
+
+=item Compilation
+
+During compilation the above file is included in the source of booting
+routine of dynamic (or static) library. More precisely, the booting
+code of module C<Tk> calls the subroutine Boot_Glue() from the module
+C<tkGlue.c>, and this subroutine includes the file (with appropriate
+macro definitions).
+
+=item Inside C<use Tk;>
+
+The module bootstraps the C code, then loads the Perl libraries. The
+heart of the Perl code is contained in the C<Tk::Widget> library, all the
+widgets inherit from this module. Code for toplevels is loaded from
+C<Tk::MainWindow>.
+
+During bootstrap of the C glue code the C<Xevent::?> codes and a
+handful of C<Tk::Widget> and C<Tk::Image> routines are defined. (Much
+more XSUBs are created from C<Tk.xs> code.) The widget subcommands are
+glued to Perl basing on the list included from C<pTk/Methods.def>. In
+fact all the subcommands are glued to XSUBs that are related to the
+same C subroutine XStoWidget(), but have different data parts.
+
+During the Perl code bootstrap the method C<Tk::Widget::import> is
+called. This call requires all the code from particular widget
+packages.
+
+Code from the widget packages calls an obscure command like
+
+ (bless \"Text")->WidgetClass;
+
+This command (actually Tk::Widget::WidgetClass()) creates three
+routines: Tk::Widget::Text(), Tk::Widget::isText(), and
+Tk::Text::isText(). The first one is basically C<new> of C<Tk::Text>,
+the other two return constants. It also puts the class into
+depository.
+
+=item Inside C<$top = MainWindow-E<gt>new;>
+
+This is quite intuitive. This call goes direct to
+C<Tk::MainWindow::new>, that calls XSUB
+C<Tk::MainWindow::CreateMainWindow>, that calls C subroutine
+Tk_CreateMainWindow(). It is a C<Tk> subroutine, so here black magic
+ends (almost).
+
+The only remaining black magic is that the C<Tk> initialization
+routine creates a lot of commands, but the subroutine for creation is
+usurped by B<portableTk> and the commands are created in the package
+C<Tk>. They are associated to XSUBs that are related to one of three C
+subroutines XStoSubCmd(), XStoBind(), or XStoTk(), but have different
+data parts.
+
+The result of the call is blessed into C<Tk::MainWindow>, as it should.
+
+=item Inside C<$top-E<gt>title('Text demo');>
+
+The package C<Tk::Toplevel> defines a lot of subroutines on the fly on
+some list. All the commands from the list are converted to the
+corresponding subcommands of C<wm> method of the widget. Here
+subcommand is a command with some particular second argument (in this
+case C<"title">). Recall that the first argument is $self.
+
+Now C<Tk::Toplevel> @ISA C<Tk::Widget>, that in turn @ISA C<Tk>. So a
+call to C<$top-E<gt>wm('title','Text demo')> calls C<Tk::wm>, that is
+defined during call to Tk_CreateMainWindow(). As it is described
+above, the XSUB associated to XStoSubCmd() is called.
+
+This C routine is defined in C<tkGlue.c>. It gets the data part of
+XSUB, creates a C<SV> with the name of the command, and calls
+Call_Tk() with the XSUB data as the first argument, and with the name
+of XSUB stuffed into the Perl stack in the place there C<tk> expects
+it. (In fact it can also reorder the arguments if it thinks it is
+what you want).
+
+The latter procedure extracts name of C<tk> procedure and
+C<clientData> from the first argument and makes a call, using Perl
+stack as C<argv> for the procedure. A lot of black magic is performed
+afterwards to convert result of the procedure to a Perl array return.
+
+=item Inside C<$text = $top-E<gt>Text(background =E<gt> $txtBg);>
+
+Above we discussed how the command C<Tk::Widget::Text> is created. The
+above command calls it via inheritance. It is translated to
+
+ Tk::Text::new($top, background => $txtBg);
+
+The package C<Tk::Text> has no method C<new>, so the
+C<Tk::Widget::new> is called. In turn it calls
+C<Tk::Text-E<gt>DoInit($top)>, that is
+C<Tk::Widget::DoInit(Tk::Text,$top)>, that initializes the bindings if
+necessary. Then it creates the name for the widget of the form
+C<.text0>, and calls C<Tk::text('.text0', background =E<gt> $txtBg)>
+(note lowercase). The result of the call is blessed into C<Tk::Text>,
+and the method C<bindtags> for this object is called.
+
+Now the only thing to discuss is who defines the methods C<text> and
+C<bindtags>. The answer is that they are defined in C<tkWindow.c>,
+and these commands are created in the package C<Tk> in the same sweep
+that created the command C<Tk::wm> discussed above.
+
+So the the same C code that corresponds to the processing of
+corresponding TCL commands is called here as well (this time via
+C<XStoTk> interface).
+
+=item Inside C<$text-E<gt>insert('insert','Hello, world!');>
+
+As we discussed above, the subcommands of widget procedures correspond
+to XSUB C<XStoWidget>. This XSUB substitutes the first argument $text
+(that is a hash reference) to an appropriate value from this hash,
+adds the additional argument after the first one that contains the
+name of the subcommand extracted from the data part of XSUB, and calls
+the corresponding Tk C subroutine via C<Call_Tk>.
+
+=back
+
+Ilya Zakharevich <ilya@math.ohio-state.edu>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/LabFrame.pod b/Master/tlpkg/tlperl/lib/Tk/LabFrame.pod
new file mode 100644
index 00000000000..cf5cebf754a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/LabFrame.pod
@@ -0,0 +1,110 @@
+=head1 NAME
+
+Tk::LabFrame - labeled frame.
+
+=for pm Tixish/LabFrame.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >B<use Tk::LabFrame;>
+
+S< >I<$f> = I<$parent>-E<gt>B<LabFrame>(?B<-label>=E<gt>I<text>,
+B<-labelside>=E<gt>I<where>, ...?);
+
+=head1 DESCRIPTION
+
+B<LabFrame> is exactly like B<Frame> and additionaly allows to
+add a label to the frame.
+
+=head1 WIDGET-OPTIONS
+
+B<LabFrame> supports the same options as the
+L<Frame|Tk::Frame/"STANDARD OPTIONS"> widget.
+
+Additional options of B<LabFrame> are:
+
+=over 4
+
+=item B<-font> =E<gt> I<font>
+
+Specifies the label's font
+
+=item B<-foreground> =E<gt> I<color>
+
+Specifies the label's foreground color
+
+=item B<-label> =E<gt> I<text>
+
+The text of the label to be placed with the Frame.
+
+=item B<-labelside> =E<gt> I<where>
+
+I<Where> can be one of B<left>, B<right>, B<top>, B<bottom> or B<acrosstop>.
+The first four work as might be expected and place the label to the
+left, right, above or below the frame respectively. The B<acrosstop>
+creates a grooved frame around the central frame and puts the label
+near the northwest corner such that it appears to "overwrite" the
+groove.
+
+=item B<-labelvariable> =E<gt> I<scalar_ref>
+
+Specifies a reference to a variable and used as an
+alternative to -label. If the value of the variable changes,
+then the widget will be updated automatically to reflect the
+change. Used like -textvariable.
+
+=back
+
+=head1 ADVERTISED SUBWIDGETS
+
+See L<Tk::mega/"Subwidget"> how to use advertised widgets.
+
+=over 4
+
+=item I<border>
+
+ Frame used to display the border
+
+=item I<frame>
+
+ Frame used to create new LabFrame children.
+
+=item I<label>
+
+ Label used for displaying text
+
+=back
+
+=head1 EXAMPLE
+
+Run the following test program to see this in action:
+
+ use strict;
+ use Tk;
+ require Tk::LabFrame;
+ require Tk::LabEntry;
+
+ my $test = 'Test this';
+ my $mw = Tk::MainWindow->new;
+ my $f = $mw->LabFrame(-label => "This is a label",
+ -labelside => "acrosstop");
+ $f->LabEntry(-label => "Testing", -textvariable => \$test)->pack;
+ $f->pack;
+ Tk::MainLoop;
+
+=head1 BUGS
+
+Perhaps B<LabFrame> should be subsumed within the generic pTk
+labeled widget mechanism.
+
+=head1 AUTHOR
+
+B<Rajappa Iyer> rsi@earthling.net
+
+This code is derived from LabFrame.tcl and LabWidg.tcl in the Tix4.0
+distribution by Ioi Lam. The code may be redistributed under the same
+terms as Perl.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/Label.pod b/Master/tlpkg/tlperl/lib/Tk/Label.pod
new file mode 100644
index 00000000000..96386b09b5c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Label.pod
@@ -0,0 +1,133 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Label - Create and manipulate Label widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$label> = I<$parent>-E<gt>B<Label>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground>
+B<-activeforeground>
+B<-anchor>
+B<-background>
+B<-bitmap>
+B<-borderwidth>
+B<-compound>
+B<-cursor>
+B<-disabledforeground>
+B<-font>
+B<-foreground>
+B<-highlightbackground>
+B<-highlightcolor>
+B<-highlightthickness>
+B<-image>
+B<-justify>
+B<-padx>
+B<-pady>
+B<-relief>
+B<-takefocus>
+B<-text>
+B<-textvariable>
+B<-underline>
+B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired height for the label.
+If an image or bitmap is being displayed in the label then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in lines of text.
+If this option isn't specified, the label's desired height is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the label: B<normal>, B<active>, or
+B<disabled>. In normal state the label is displayed using the
+B<foreground> and B<background> options. In active state the label is
+displayed using the B<activeForeground> and B<activeBackground>
+options. In the disabled state the B<disabledForeground> and
+B<background> options determine how the button is displayed.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies a desired width for the label.
+If an image or bitmap is being displayed in the label then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in characters.
+If this option isn't specified, the label's desired width is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Label> method creates a new window (given by the
+$widget argument) and makes it into a label widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the label such as its colors, font,
+text, and initial relief. The B<label> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A label is a widget that displays a textual string, bitmap or image.
+If text is displayed, it must all be in a single font, but it
+can occupy multiple lines on the screen (if it contains newlines
+or if wrapping occurs because of the B<wrapLength> option) and
+one of the characters may optionally be underlined using the
+B<underline> option.
+The label can be manipulated in a few simple ways, such as
+changing its relief or text, using the commands described below.
+
+=head1 WIDGET METHODS
+
+The B<Label> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+=head1 BINDINGS
+
+When a new label is created, it has no default event bindings:
+labels are not intended to be interactive.
+
+=head1 KEYWORDS
+
+label, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Labelframe.pod b/Master/tlpkg/tlperl/lib/Tk/Labelframe.pod
new file mode 100644
index 00000000000..b904ad7775b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Labelframe.pod
@@ -0,0 +1,206 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# RCS: @(#) $Id: labelframe.n,v 1.1 2001/09/26 21:36:19 pspjuth Exp $
+
+=head1 NAME
+
+Tk::Labelframe - Create and manipulate Labelframe widgets
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+I<$labelframe> = I<$parent>-E<gt>B<Labelframe>(?I<options>?);
+
+ -borderwidth -highlightbackground -pady
+ -cursor -highlightcolor -relief
+ -font -highlightthickness -takefocus
+ -foreground -padx -text
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Option: B<-background>
+
+=item Name: B<background>
+
+=item Class: B<Background>
+
+This option is the same as the standard B<background> option
+except that its value may also be specified as an empty string.
+In this case, the widget will display no background or border, and
+no colors will be consumed from its colormap for its background
+and border.
+
+=item Option: B<-class>
+
+=item Name: B<class>
+
+=item Class: B<Class>
+
+Specifies a class for the window.
+This class will be used when querying the option database for
+the window's other options, and it will also be used later for
+other purposes such as bindings.
+The B<class> option may not be changed with the B<configure>
+method.
+
+=item Option: B<-colormap>
+
+=item Name: B<colormap>
+
+=item Class: B<Colormap>
+
+Specifies a colormap to use for the window.
+The value may be either B<new>, in which case a new colormap is
+created for the window and its children, or the name of another
+window (which must be on the same screen and have the same visual
+as $widget), in which case the new window will use the colormap
+from the specified window.
+If the B<colormap> option is not specified, the new window
+uses the same colormap as its parent.
+This option may not be changed with the B<configure>
+method.
+
+=item Option: B<-container>
+
+=item Name: B<container>
+
+=item Class: B<Container>
+
+The value must be a boolean. If true, it means that this window will
+be used as a container in which some other application will be embedded
+(for example, a Tk toplevel can be embedded using the B<-use> option).
+The window will support the appropriate window manager protocols for
+things like geometry requests. The window should not have any
+children of its own in this application.
+This option may not be changed with the B<configure>
+method.
+
+=item Option: B<-height>
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+Specifies the desired height for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=item Option: B<-labelanchor>
+
+=item Name: B<labelAnchor>
+
+=item Class: B<LabelAnchor>
+
+Specifies where to place the label. A label is only displayed if the
+B<-text> option is not the empty string.
+Valid values for this option are (listing them clockwise)
+B<nw>, B<n>, B<ne>, B<en>, B<e>, B<es>,
+B<se>, B<s>,B<sw>, B<ws>, B<w> and B<wn>.
+The default value is B<nw>.
+
+=item Option: B<-labelwidget>
+
+=item Name: B<labelWidget>
+
+=item Class: B<LabelWidget>
+
+Specifies a widget to use as label. This overrides any B<-text>
+option. The widget must exist before being used as B<-labelwidget>
+and if it is not a descendant of this window, it will be raised
+above it in the stacking order.
+
+=item Option: B<-visual>
+
+=item Name: B<visual>
+
+=item Class: B<Visual>
+
+Specifies visual information for the new window in any of the
+forms accepted by B<Tk_GetVisual>.
+If this option is not specified, the new window will use the same
+visual as its parent.
+The B<visual> option may not be modified with the B<configure>
+method.
+
+=item Option: B<-width>
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+Specifies the desired width for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Labelframe> method creates a new window (given by the
+$labelframe argument) and makes it into a Labelframe widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the Labelframe such as its background color
+and relief.
+
+A Labelframe is a simple widget. Its primary purpose is to act as a
+spacer or container for complex window layouts. It has the features
+of a B<Frame> plus the ability to display a label.
+
+=head1 WIDGET METHODS
+
+The B<Labelframe> method
+may be used to invoke various operations on the widget. It has the
+following general form:
+
+ $widget->method(?arg arg ...?);
+
+The following
+methods are possible for Labelframe widgets:
+
+=over 4
+
+=item I<$widget>-E<gt>B<cget>(I<option>);
+
+Returns the current value of the configuration option given
+by I<option>.
+I<Option> may have any of the values accepted by the B<Labelframe>
+command.
+
+=item I<$widget>-E<gt>B<configure>(?I<option>?, I<?value, option, value, ...>?);
+
+Query or modify the configuration options of the widget.
+If no I<option> is specified, returns a list describing all of
+the available options for $widget (see L<Tk::configure> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+I<Option> may have any of the values accepted by the B<Labelframe>
+command.
+
+=back
+
+=head1 BINDINGS
+
+When a new Labelframe is created, it has no default event bindings:
+Labelframes are not intended to be interactive.
+
+=head1 SEE ALSO
+
+L<Tk::Frame>, L<Tk::Label>
+
+=head1 KEYWORDS
+
+Labelframe, widget
diff --git a/Master/tlpkg/tlperl/lib/Tk/Listbox.pod b/Master/tlpkg/tlperl/lib/Tk/Listbox.pod
new file mode 100644
index 00000000000..ba00afe3ed9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Listbox.pod
@@ -0,0 +1,794 @@
+# Copyright (c) 1990 The Regents of the University of California.
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Listbox - Create and manipulate Listbox widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$listbox> = I<$parent>-E<gt>B<Listbox>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-background> B<-borderwidth> B<-cursor> B<-disabledforeground>
+B<-exportselection> B<-font> B<-foreground> B<-height>
+B<-highlightbackground> B<-highlightcolor> B<-highlightthickness>
+B<-offset> B<-relief> B<-selectbackground> B<-selectborderwidth>
+B<-selectforeground> B<-setgrid> B<-state> B<-takefocus> B<-tile>
+B<-width> B<-xscrollcommand> B<-yscrollcommand>
+
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<activeStyle>
+
+=item Class: B<ActiveStyle>
+
+=item Switch: B<-activestyle>
+
+Specifies the style in which to draw the active element. This must be
+one of B<dotbox> (show a focus ring around the active element), B<none>
+(no special indication of active element) or B<underline> (underline the
+active element). The default is B<underline>.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window, in lines.
+If zero or less, then the desired height for the window is made just
+large enough to hold all the elements in the listbox.
+
+=item Name: B<listVariable>
+
+=item Class: B<Variable>
+
+=item Switch: B<-listvariable>
+
+I<The following is only partially implemented in Perl/Tk:>
+
+Specifies the reference of a variable. The value of the variable is an array
+to be displayed inside the widget; if the variable value changes
+then the widget will automatically update itself to reflect the new
+value. Attempts to assign a variable with an invalid list value to
+B<-listvariable> will cause an error. Attempts to unset a variable in use
+as a B<-listvariable> will fail but will not generate an error.
+
+=item Name: B<selectMode>
+
+=item Class: B<SelectMode>
+
+=item Switch: B<-selectmode>
+
+Specifies one of several styles for manipulating the selection.
+The value of the option may be arbitrary, but the default bindings
+expect it to be either B<single>, B<browse>, B<multiple>,
+or B<extended>; the default value is B<browse>.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of two states for the listbox: B<normal> or B<disabled>.
+If the listbox is disabled then items may not be inserted or deleted,
+items are drawn in the B<-disabledforeground> color, and selection
+cannot be modified and is not shown (though selection information is
+retained).
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in characters.
+If the font doesn't have a uniform width then the width of the
+character ``0'' is used in translating from character units to
+screen units.
+If zero or less, then the desired width for the window is made just
+large enough to hold all the elements in the listbox.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Listbox> method creates a new window (given by the
+$widget argument) and makes it into a listbox widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the listbox such as its colors, font,
+text, and relief. The B<listbox> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A listbox is a widget that displays a list of strings, one per line.
+When first created, a new listbox has no elements.
+Elements may be added or deleted using methods described
+below. In addition, one or more elements may be selected as described
+below.
+If a listbox is exporting its selection (see B<exportSelection>
+option), then it will observe the standard X11 protocols
+for handling the selection.
+Listbox selections are available as type B<STRING>;
+the value of the selection will be the text of the selected elements, with
+newlines separating the elements.
+
+It is not necessary for all the elements to be
+displayed in the listbox window at once; commands described below
+may be used to change the view in the window. Listboxes allow
+scrolling in both directions using the standard B<xScrollCommand>
+and B<yScrollCommand> options.
+They also support scanning, as described below.
+
+=head1 INDICES
+
+Many of the methods for listboxes take one or more indices
+as arguments.
+An index specifies a particular element of the listbox, in any of
+the following ways:
+
+=over 4
+
+=item I<number>
+
+Specifies the element as a numerical index, where 0 corresponds
+to the first element in the listbox.
+
+=item B<active>
+
+Indicates the element that has the location cursor. This element
+will be displayed with an underline when the listbox has the
+keyboard focus, and it is specified with the B<activate>
+method.
+
+=item B<anchor>
+
+Indicates the anchor point for the selection, which is set with the
+B<selection anchor> method.
+
+=item B<end>
+
+Indicates the end of the listbox.
+For most commands this refers to the last element in the listbox,
+but for a few commands such as B<index> and B<insert>
+it refers to the element just after the last one.
+
+=item B<@>I<x>B<,>I<y>
+
+Indicates the element that covers the point in the listbox window
+specified by I<x> and I<y> (in pixel coordinates). If no
+element covers that point, then the closest element to that
+point is used.
+
+=back
+
+In the method descriptions below, arguments named I<index>,
+I<first>, and I<last> always contain text indices in one of
+the above forms.
+
+=head1 WIDGET METHODS
+
+The B<Listbox> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for listbox widgets:
+
+=over 4
+
+=item I<$listbox>-E<gt>B<activate>(I<index>)
+
+Sets the active element to the one indicated by I<index>.
+If I<index> is outside the range of elements in the listbox
+then the closest element is activated.
+The active element is drawn with an underline when the widget
+has the input focus, and its index may be retrieved with the
+index B<active>.
+
+=item I<$listbox>-E<gt>B<bbox>(I<index>)
+
+Returns a list of four numbers describing the bounding box of
+the text in the element given by I<index>.
+The first two elements of the list give the x and y coordinates
+of the upper-left corner of the screen area covered by the text
+(specified in pixels relative to the widget) and the last two
+elements give the width and height of the area, in pixels.
+If no part of the element given by I<index> is visible on the
+screen,
+or if I<index> refers to a non-existent element,
+then the result is an empty string; if the element is
+partially visible, the result gives the full area of the element,
+including any parts that are not visible.
+
+=item I<$listbox>-E<gt>B<curselection>
+
+Returns a list containing the numerical indices of
+all of the elements in the listbox that are currently selected.
+If there are no elements selected in the listbox then an empty
+string is returned.
+
+=item I<$listbox>-E<gt>B<delete>(I<first, >?I<last>?)
+
+Deletes one or more elements of the listbox. I<First> and I<last>
+are indices specifying the first and last elements in the range
+to delete. If I<last> isn't specified it defaults to
+I<first>, i.e. a single element is deleted.
+
+=item I<$listbox>-E<gt>B<get>(I<first, >?I<last>?)
+
+If I<last> is omitted, returns the contents of the listbox
+element indicated by I<first>,
+or an empty string if I<first> refers to a non-existent element.
+If I<last> is specified, the command returns a list whose elements
+are all of the listbox elements between I<first> and I<last>,
+inclusive.
+Both I<first> and I<last> may have any of the standard
+forms for indices.
+
+=item I<$listbox>-E<gt>B<index>(I<index>)
+
+Returns the integer index value that corresponds to I<index>.
+If I<index> is B<end> the return value is a count of the number
+of elements in the listbox (not the index of the last element).
+
+=item I<$listbox>-E<gt>B<insert>(I<index, >?I<element, element, ...>?)
+
+Inserts zero or more new elements in the list just before the
+element given by I<index>. If I<index> is specified as
+B<end> then the new elements are added to the end of the
+list. Returns an empty string.
+
+=item I<$listbox>-E<gt>B<itemcget>(I<index>, I<option>)
+
+Returns the current value of the item configuration option given by
+I<option>. Option may have any of the values accepted by the listbox
+B<itemconfigure> command.
+
+=item I<$listbox>-E<gt>B<itemconfigure>(I<index, >?I<option, value,
+option, value, ...>?)
+
+Query or modify the configuration options of an item in the listbox.
+If no option is specified, returns a list describing all of the
+available options for the item (see Tk_ConfigureInfo for information
+on the format of this list). If option is specified with no value,
+then the command returns a list describing the one named option (this
+list will be identical to the corresponding sublist of the value
+returned if no option is specified). If one or more option-value pairs
+are specified, then the command modifies the given widget option(s) to
+have the given value(s); in this case the command returns an empty
+string. The following options are currently supported for items:
+
+=over
+
+=item B<-background> =E<gt> I<color>
+
+I<Color> specifies the background color to use when displaying the
+item. It may have any of the forms accepted by Tk_GetColor.
+
+=item B<-foreground> =E<gt> I<color>
+
+I<Color> specifies the foreground color to use when displaying the
+item. It may have any of the forms accepted by Tk_GetColor.
+
+=item B<-selectbackground> =E<gt> I<color>
+
+I<Color> specifies the background color to use when displaying the
+item while it is selected. It may have any of the forms accepted by
+Tk_GetColor.
+
+=item B<-selectforeground> =E<gt> I<color>
+
+I<Color> specifies the foreground color to use when displaying the
+item while it is selected. It may have any of the forms accepted by
+Tk_GetColor.
+
+=back
+
+=item I<$listbox>-E<gt>B<nearest>(I<y>)
+
+Given a y-coordinate within the listbox window, this command returns
+the index of the (visible) listbox element nearest to that y-coordinate.
+
+=item I<$listbox>-E<gt>B<scan>(I<option, args>)
+
+This command is used to implement scanning on listboxes. It has
+two forms, depending on I<option>:
+
+=over 8
+
+=item I<$listbox>-E<gt>B<scanMark>(I<x, y>)
+
+Records I<x> and I<y> and the current view in the listbox
+window; used in conjunction with later B<scan dragto> commands.
+Typically this command is associated with a mouse button press in
+the widget. It returns an empty string.
+
+=item I<$listbox>-E<gt>B<scanDragto>(I<x, y>.)
+
+This command computes the difference between its I<x> and I<y>
+arguments and the I<x> and I<y> arguments to the last
+B<scan mark> command for the widget.
+It then adjusts the view by 10 times the
+difference in coordinates. This command is typically associated
+with mouse motion events in the widget, to produce the effect of
+dragging the list at high speed through the window. The return
+value is an empty string.
+
+=back
+
+=item I<$listbox>-E<gt>B<see>(I<index>)
+
+Adjust the view in the listbox so that the element given by I<index>
+is visible.
+If the element is already visible then the command has no effect;
+if the element is near one edge of the window then the listbox
+scrolls to bring the element into view at the edge; otherwise
+the listbox scrolls to center the element.
+
+=item I<$listbox>-E<gt>B<selection>(I<option, arg>)
+
+This command is used to adjust the selection within a listbox. It
+has several forms, depending on I<option>:
+
+=over 8
+
+=item I<$listbox>-E<gt>B<selectionAnchor>(I<index>)
+
+Sets the selection anchor to the element given by I<index>.
+If I<index> refers to a non-existent element, then the closest
+element is used.
+The selection anchor is the end of the selection that is fixed
+while dragging out a selection with the mouse.
+The index B<anchor> may be used to refer to the anchor
+element.
+
+=item I<$listbox>-E<gt>B<selectionClear>(I<first, >?I<last>?)
+
+If any of the elements between I<first> and I<last>
+(inclusive) are selected, they are deselected.
+The selection state is not changed for elements outside
+this range.
+
+=item I<$listbox>-E<gt>B<selectionIncludes>(I<index>)
+
+Returns 1 if the element indicated by I<index> is currently
+selected, 0 if it isn't.
+
+=item I<$listbox>-E<gt>B<selectionSet>(I<first, >?I<last>?)
+
+Selects all of the elements in the range between
+I<first> and I<last>, inclusive, without affecting
+the selection state of elements outside that range.
+
+=back
+
+=item I<$listbox>-E<gt>B<size>
+
+Returns a decimal string indicating the total number of elements
+in the listbox.
+
+=item I<$listbox>-E<gt>B<xview>(I<args>)
+
+This command is used to query and change the horizontal position of the
+information in the widget's window. It can take any of the following
+forms:
+
+=over 8
+
+=item I<$listbox>-E<gt>B<xview>
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the horizontal span that is visible in the window.
+For example, if the first element is .2 and the second element is .6,
+20% of the listbox's text is off-screen to the left, the middle 40% is visible
+in the window, and 40% of the text is off-screen to the right.
+These are the same values passed to scrollbars via the B<-xscrollcommand>
+option.
+
+=item I<$listbox>-E<gt>B<xview>(I<index>)
+
+Adjusts the view in the window so that the character position given by
+I<index> is displayed at the left edge of the window.
+Character positions are defined by the width of the character B<0>.
+
+=item I<$listbox>-E<gt>B<xviewMoveto>( I<fraction> );
+
+Adjusts the view in the window so that I<fraction> of the
+total width of the listbox text is off-screen to the left.
+I<fraction> must be a fraction between 0 and 1.
+
+=item I<$listbox>-E<gt>B<xviewScroll>( I<number, what> );
+
+This command shifts the view in the window left or right according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an abbreviation
+of one of these.
+If I<what> is B<units>, the view adjusts left or right by
+I<number> character units (the width of the B<0> character)
+on the display; if it is B<pages> then the view adjusts by
+I<number> screenfuls.
+If I<number> is negative then characters farther to the left
+become visible; if it is positive then characters farther to the right
+become visible.
+
+=back
+
+=item I<$listbox>-E<gt>B<yview>(I<?args>?)
+
+This command is used to query and change the vertical position of the
+text in the widget's window.
+It can take any of the following forms:
+
+=over 8
+
+=item I<$listbox>-E<gt>B<yview>
+
+Returns a list containing two elements, both of which are real fractions
+between 0 and 1.
+The first element gives the position of the listbox element at the
+top of the window, relative to the listbox as a whole (0.5 means
+it is halfway through the listbox, for example).
+The second element gives the position of the listbox element just after
+the last one in the window, relative to the listbox as a whole.
+These are the same values passed to scrollbars via the B<-yscrollcommand>
+option.
+
+=item I<$listbox>-E<gt>B<yview>(I<index>)
+
+Adjusts the view in the window so that the element given by
+I<index> is displayed at the top of the window.
+
+=item I<$listbox>-E<gt>B<yviewMoveto>( I<fraction> );
+
+Adjusts the view in the window so that the element given by I<fraction>
+appears at the top of the window.
+I<Fraction> is a fraction between 0 and 1; 0 indicates the first
+element in the listbox, 0.33 indicates the element one-third the
+way through the listbox, and so on.
+
+=item I<$listbox>-E<gt>B<yviewScroll>( I<number, what> );
+
+This command adjusts the view in the window up or down according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages>.
+If I<what> is B<units>, the view adjusts up or down by
+I<number> lines; if it is B<pages> then
+the view adjusts by I<number> screenfuls.
+If I<number> is negative then earlier elements
+become visible; if it is positive then later elements
+become visible.
+
+=back
+
+=back
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for listboxes that give them
+Motif-like behavior. Much of the behavior of a listbox is determined
+by its B<selectMode> option, which selects one of four ways
+of dealing with the selection.
+
+If the selection mode is B<single> or B<browse>, at most one
+element can be selected in the listbox at once.
+In both modes, clicking button 1 on an element selects
+it and deselects any other selected item.
+In B<browse> mode it is also possible to drag the selection
+with button 1.
+
+If the selection mode is B<multiple> or B<extended>,
+any number of elements may be selected at once, including discontiguous
+ranges. In B<multiple> mode, clicking button 1 on an element
+toggles its selection state without affecting any other elements.
+In B<extended> mode, pressing button 1 on an element selects
+it, deselects everything else, and sets the anchor to the element
+under the mouse; dragging the mouse with button 1
+down extends the selection to include all the elements between
+the anchor and the element under the mouse, inclusive.
+
+Most people will probably want to use B<browse> mode for
+single selections and B<extended> mode for multiple selections;
+the other modes appear to be useful only in special situations.
+
+Any time the selection changes in the listbox, the virtual event
+B<<< <<ListboxSelect>> >>> will be generated. It is easiest to bind to this
+event to be made aware of any changes to listbox selection.
+
+
+In addition to the above behavior, the following additional behavior
+is defined by the default bindings:
+
+=over 4
+
+=item [1]
+
+In B<extended> mode, the selected range can be adjusted by pressing
+button 1 with the Shift key down: this modifies the selection to
+consist of the elements between the anchor and the element under
+the mouse, inclusive.
+The un-anchored end of this new selection can also be dragged with
+the button down.
+
+=item [2]
+
+In B<extended> mode, pressing button 1 with the Control key down
+starts a toggle operation: the anchor is set to the element under
+the mouse, and its selection state is reversed. The selection state
+of other elements isn't changed.
+If the mouse is dragged with button 1 down, then the selection state
+of all elements between the anchor and the element under the mouse
+is set to match that of the anchor element; the selection state of
+all other elements remains what it was before the toggle operation
+began.
+
+=item [3]
+
+If the mouse leaves the listbox window with button 1 down, the window
+scrolls away from the mouse, making information visible that used
+to be off-screen on the side of the mouse.
+The scrolling continues until the mouse re-enters the window, the
+button is released, or the end of the listbox is reached.
+
+=item [4]
+
+Mouse button 2 may be used for scanning.
+If it is pressed and dragged over the listbox, the contents of
+the listbox drag at high speed in the direction the mouse moves.
+
+=item [5]
+
+If the Up or Down key is pressed, the location cursor (active
+element) moves up or down one element.
+If the selection mode is B<browse> or B<extended> then the
+new active element is also selected and all other elements are
+deselected.
+In B<extended> mode the new active element becomes the
+selection anchor.
+
+=item [6]
+
+In B<extended> mode, Shift-Up and Shift-Down move the location
+cursor (active element) up or down one element and also extend
+the selection to that element in a fashion similar to dragging
+with mouse button 1.
+
+=item [7]
+
+The Left and Right keys scroll the listbox view left and right
+by the width of the character B<0>.
+Control-Left and Control-Right scroll the listbox view left and
+right by the width of the window.
+Control-Prior and Control-Next also scroll left and right by
+the width of the window.
+
+=item [8]
+
+The Prior and Next keys scroll the listbox view up and down
+by one page (the height of the window).
+
+=item [9]
+
+The Home and End keys scroll the listbox horizontally to
+the left and right edges, respectively.
+
+=item [10]
+
+Control-Home sets the location cursor to the the first element in
+the listbox, selects that element, and deselects everything else
+in the listbox.
+
+=item [11]
+
+Control-End sets the location cursor to the the last element in
+the listbox, selects that element, and deselects everything else
+in the listbox.
+
+=item [12]
+
+In B<extended> mode, Control-Shift-Home extends the selection
+to the first element in the listbox and Control-Shift-End extends
+the selection to the last element.
+
+=item [13]
+
+In B<multiple> mode, Control-Shift-Home moves the location cursor
+to the first element in the listbox and Control-Shift-End moves
+the location cursor to the last element.
+
+=item [14]
+
+The space and Select keys make a selection at the location cursor
+(active element) just as if mouse button 1 had been pressed over
+this element.
+
+=item [15]
+
+In B<extended> mode, Control-Shift-space and Shift-Select
+extend the selection to the active element just as if button 1
+had been pressed with the Shift key down.
+
+=item [16]
+
+In B<extended> mode, the Escape key cancels the most recent
+selection and restores all the elements in the selected range
+to their previous selection state.
+
+=item [17]
+
+Control-slash selects everything in the widget, except in
+B<single> and B<browse> modes, in which case it selects
+the active element and deselects everything else.
+
+=item [18]
+
+Control-backslash deselects everything in the widget, except in
+B<browse> mode where it has no effect.
+
+=item [19]
+
+The F16 key (labelled Copy on many Sun workstations) or Meta-w
+copies the selection in the widget to the clipboard, if there is
+a selection.
+
+The behavior of listboxes can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 TIED INTERFACE
+
+The Tk::Listbox widget can also be tied to a scalar or array variable, with
+different behaviour depending on the variable type, with the following
+tie commands:
+
+ use Tk;
+
+ my ( @array, $scalar, $other );
+ my %options = ( ReturnType => "index" );
+
+ my $MW = MainWindow->new();
+ my $lbox = $MW->Listbox()->pack();
+
+ my @list = ( "a", "b", "c", "d", "e", "f" );
+ $lbox->insert('end', @list );
+
+ tie @array, "Tk::Listbox", $lbox
+ tie $scalar, "Tk::Listbox", $lbox;
+ tie $other, "Tk::Listbox", $lbox, %options;
+
+currently only one modifier is implemented, a 3 way flag for tied scalars
+"ReturnType" which can have values "element", "index" or "both". The default
+is "element".
+
+=over 4
+
+=item Tied Arrays
+
+If you tie an array to the Listbox you can manipulate the items currently
+contained by the box in the same manner as a normal array, e.g.
+
+ print @array;
+ push(@array, @list);
+ my $popped = pop(@array);
+ my $shifted = shift(@array);
+ unshift(@array, @list);
+ delete $array[$index];
+ print $string if exists $array[$i];
+ @array = ();
+ splice @array, $offset, $length, @list
+
+The delete function is implemented slightly differently from the standard
+array implementation. Instead of setting the element at that index to undef
+it instead physically removes it from the Listbox. This has the effect of
+changing the array indices, so for instance if you had a list on non-continuous
+indices you wish to remove from the Listbox you should reverse sort the list
+and then apply the delete function, e.g.
+
+ my @list = ( 1, 2, 4, 12, 20 );
+ my @remove = reverse sort { $a <=> $b } @list;
+ delete @array[@remove];
+
+would safely remove indices 20, 12, 4, 2 and 1 from the Listbox without
+problems. It should also be noted that a similar warning applies to the
+splice function (which would normally be used in this context to perform
+the same job).
+
+
+=item Tied Scalars
+
+Unlike tied arrays, if you tie a scalar to the Listbox you can retrieve the
+currently selected elements in the box as an array referenced by the scalar,
+for instance
+
+ my @list = ( "a", "b", "c", "d", "e", "f" );
+ $lbox->insert('end', sort @list );
+ $lbox->selectionSet(1);
+
+inserts @list as elements in an already existing listbox and selects the
+element at index 1, which is "b". If we then
+
+ print @$selected;
+
+this will return the currently selected elements, in this case "b".
+
+However, if the "ReturnType" arguement is passed when tying the Listbox to the
+scalar with value "index" then the indices of the selected elements will be
+returned instead of the elements themselves, ie in this case "1". This can be
+useful when manipulating both contents and selected elements in the Listbox at
+the same time.
+
+Importantly, if a value "both" is given the scalar will not be tied to an
+array, but instead to a hash, with keys being the indices and values being
+the elements at those indices
+
+You can also manipulate the selected items using the scalar. Equating the
+scalar to an array reference will select any elements that match elements
+in the Listbox, non-matching array items are ignored, e.g.
+
+ my @list = ( "a", "b", "c", "d", "e", "f" );
+ $lbox->insert('end', sort @list );
+ $lbox->selectionSet(1);
+
+would insert the array @list into an already existing Listbox and select
+element at index 1, i.e. "b"
+
+ @array = ( "a", "b", "f" );
+ $selected = \@array;
+
+would select elements "a", "b" and "f" in the Listbox.
+
+Again, if the "index" we indicate we want to use indices in the options hash
+then the indices are use instead of elements, e.g.
+
+ @array = ( 0, 1, 5 );
+ $selected = \@array;
+
+would have the same effect, selecting elements "a", "b" and "f" if the
+$selected variable was tied with %options = ( ReturnType => "index" ).
+
+If we are returning "both", i.e. the tied scalar points to a hash, both key and
+value must match, e.g.
+
+ %hash = ( 0 => "a", 1 => "b", 5 => "f" );
+ $selected = \%hash;
+
+would have the same effect as the previous examples.
+
+It should be noted that, despite being a reference to an array (or possibly a has), you still can not copy the tied variable without it being untied, instead
+you must pass a reference to the tied scalar between subroutines.
+
+=back
+
+=head1 KEYWORDS
+
+listbox, widget, tied
+
+=head1 SEE ALSO
+
+L<Tk::HList>, L<Tk::TextList>.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/MMutil.pm b/Master/tlpkg/tlperl/lib/Tk/MMutil.pm
index 7a78c1b7ebe..df5e9a26644 100644
--- a/Master/tlpkg/tlperl/lib/Tk/MMutil.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/MMutil.pm
@@ -9,7 +9,7 @@ use Carp;
use File::Basename;
use vars qw($VERSION);
-$VERSION = '4.025';
+$VERSION = '4.026';
# warn __FILE__." $VERSION\n";
@@ -115,19 +115,15 @@ sub mTk_CHO
$self->{O_FILES} = [grep s/\.c(pp|xx|c)?$/$self->{OBJ_EXT}/i, @o_files] ;
$self->{'MTK'} = $mTk;
my $tk = installed_tk();
- my $perl = $self->{'PERL'};
- if ($IsWin32 && !-f $perl && -f "$perl.exe")
- {
- print "perl=$perl X=$^X\n";
- $perl = "$perl.exe";
- $self->{'PERL'} = $perl;
- }
+ my $perl = $^X;
foreach my $file (sort keys %$mTk)
{
unless (-f $file && -M $file < -M $mTk->{$file})
{
warn "Extracting $file\n";
- system($perl,"$tk/pTk/Tcl-pTk",$mTk->{$file},$file);
+ my @cmd = ($perl,"$tk/pTk/Tcl-pTk",$mTk->{$file},$file);
+ system @cmd;
+ die "The command '@cmd' failed with $?" if $? != 0;
}
}
}
diff --git a/Master/tlpkg/tlperl/lib/Tk/MainWindow.pod b/Master/tlpkg/tlperl/lib/Tk/MainWindow.pod
new file mode 100644
index 00000000000..565658adc1d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/MainWindow.pod
@@ -0,0 +1,85 @@
+
+=head1 NAME
+
+Tk::MainWindow - Root widget of a widget tree
+
+=for pm Tk/MainWindow.pm
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+ use Tk;
+
+ my $mw = MainWindow->new( ... options ... );
+
+ my $this = $mw->ThisWidget -> pack ;
+ my $that = $mw->ThatWidget;
+ ...
+
+ MainLoop;
+
+=head1 DESCRIPTION
+
+Perl/Tk applications (which have windows associated with them) create
+one or more B<MainWindow>s which act as the containers and parents
+of the other widgets.
+
+B<Tk::MainWindow> is a special kind of L<Toplevel|Tk::Toplevel> widget. It is
+the root of a widget tree. Therefore C<$mw-E<gt>Parent> returns
+C<undef>.
+
+The default title of a MainWindow is the basename of the script
+(actually the Class name used for options lookup, i.e. with basename
+with inital caps) or 'Ptk' as the fallback value. If more than one MainWindow is created
+or several instances of the script are running at the same time the
+string C<" #n"> is appended where the number C<n> is set to get
+a unique value.
+
+Unlike the standard Tcl/Tk's wish, perl/Tk allows you to create
+several MainWindows. When the I<last> B<MainWindow> is destroyed
+the Tk eventloop exits (the eventloop is entered with the call of
+C<MainLoop>). Various resources (bindings, fonts, images, colors) are
+maintained or cached for each MainWindow, so each MainWindow consumes more
+resources than a Toplevel. However multiple MainWindows can make sense when
+the user can destroy them independently.
+
+=head1 METHODS
+
+You can apply all methods that a L<Toplevel|Tk::Toplevel> widget accepts.
+
+The method I<$w>-E<gt>B<MainWindow> applied to any widget will return the
+B<MainWindow> to which the widget belongs (the MainWindow belongs to itself).
+
+=head1 MISSING
+
+Documentation is incomplete.
+Here are I<some> missing items that should be explained in
+more detail:
+
+=over 4
+
+=item *
+
+The new mechanism for MainWindows is slightly different to
+other widgets.
+
+=item *
+
+There no explanation about what resources are bound
+to a MainWindow (e.g., ClassInit done per MainWindow)
+
+=item *
+
+Passing of command line options to override or augment
+arguments of the C<new> method (see L<Tk::CmdLine>).
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::Toplevel|Tk::Toplevel>
+L<Tk::CmdLine|Tk::CmdLine>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Menu.pod b/Master/tlpkg/tlperl/lib/Tk/Menu.pod
new file mode 100644
index 00000000000..d76e7ef4b82
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Menu.pod
@@ -0,0 +1,876 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Menu - Create and manipulate Menu widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+S< >I<$menu> = I<$parent>-E<gt>B<Menu>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground> B<-background> B<-disabledforeground> B<-relief>
+B<-activeborderwidth> B<-borderwidth> B<-font> B<-takefocus>
+B<-activeforeground> B<-cursor> B<-foreground>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<postCommand>
+
+=item Class: B<Command>
+
+=item Switch: B<-postcommand>
+
+If this option is specified then it provides a L<callback|Tk::callbacks> to execute
+each time the menu is posted. The callback is invoked by the B<post>
+method before posting the menu. Note that in 8.0 on Macintosh
+and Windows, all commands in a menu systems are executed before any
+are posted. This is due to the limitations in the individual platforms'
+menu managers.
+
+=item Name: B<selectColor>
+
+=item Class: B<Background>
+
+=item Switch: B<-selectcolor>
+
+For menu entries that are check buttons or radio buttons, this option
+specifies the color to display in the indicator when the check button
+or radio button is selected.
+
+=item Name: B<tearOff>
+
+=item Class: B<TearOff>
+
+=item Switch: B<-tearoff>
+
+This option must have a proper boolean value, which specifies
+whether or not the menu should include a tear-off entry at the
+top. If so, it will exist as entry 0 of the menu and the other
+entries will number starting at 1. The default
+menu bindings arrange for the menu to be torn off when the tear-off
+entry is invoked.
+
+=item Name: B<tearOffCommand>
+
+=item Class: B<TearOffCommand>
+
+=item Switch: B<-tearoffcommand>
+
+If this option has a non-empty value, then it specifies a L<perlE<sol>Tk callback|Tk::callbacks>
+to invoke whenever the menu is torn off. The actual command will
+consist of the value of this option, followed by a space, followed
+by the name of the menu window, followed by a space, followed by
+the name of the name of the torn off menu window. For example, if
+the option's is ``B<a b>'' and menu B<.x.y> is torn off to
+create a new menu B<.x.tearoff1>, then the command
+``B<a b .x.y .x.tearoff1>'' will be invoked.
+
+=item Name: B<title>
+
+=item Class: B<Title>
+
+=item Switch: B<-title>
+
+The string will be used to title the window created when this menu is
+torn off. If the title is NULL, then the window will have the title
+of the menubutton or the text of the cascade item from which this menu
+was invoked.
+
+=item Name: B<type>
+
+=item Class: B<Type>
+
+=item Switch: B<-type>
+
+This option can be one of B<menubar>, B<tearoff>, or
+B<normal>, and is set when the menu is created. While the string
+returned by the configuration database will change if this option is
+changed, this does not affect the menu widget's behavior. This is used
+by the cloning mechanism and is not normally set outside of the Tk
+library.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Menu> method creates a new top-level window (given
+by the $widget argument) and makes it into a menu widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the menu such as its colors and font.
+The B<menu> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A menu is a widget that displays a collection of one-line entries arranged
+in one or more columns. There exist several different types of entries,
+each with different properties. Entries of different types may be
+combined in a single menu. Menu entries are not the same as
+entry widgets. In fact, menu entries are not even distinct widgets;
+the entire menu is one widget.
+
+Menu entries are displayed with up to three separate fields.
+The main field is a label in the form of a text string,
+a bitmap, or an image, controlled by the B<-label>,
+B<-bitmap>, and B<-image> options for the entry.
+If the B<-accelerator> option is specified for an entry then a second
+textual field is displayed to the right of the label. The accelerator
+typically describes a keystroke sequence that may be typed in the
+application to cause the same result as invoking the menu entry.
+The third field is an I<indicator>. The indicator is present only for
+checkbutton or radiobutton entries. It indicates whether the entry
+is selected or not, and is displayed to the left of the entry's
+string.
+
+In normal use, an entry becomes active (displays itself differently)
+whenever the mouse pointer is over the entry. If a mouse
+button is released over the entry then the entry is I<invoked>.
+The effect of invocation is different for each type of entry;
+these effects are described below in the sections on individual
+entries.
+
+Entries may be I<disabled>, which causes their labels
+and accelerators to be displayed
+with dimmer colors.
+The default menu bindings will not allow
+a disabled entry to be activated or invoked.
+Disabled entries may be re-enabled, at which point it becomes
+possible to activate and invoke them again.
+
+Whenever a menu's active entry is changed, a E<lt>E<lt>MenuSelectE<gt>E<gt> virtual
+event is sent to the menu. The active item can then be queried from
+the menu, and an action can be taken, such as setting
+context-sensitive help text for the entry.
+
+=head2 COMMAND ENTRIES
+
+The most common kind of menu entry is a command entry, which
+behaves much like a button widget. When a command entry is
+invoked, a callback is executed. The callback
+is specified with the B<-command> option.
+
+=head2 SEPARATOR ENTRIES
+
+A separator is an entry that is displayed as a horizontal dividing
+line. A separator may not be activated or invoked, and it has
+no behavior other than its display appearance.
+
+=head2 CHECKBUTTON ENTRIES
+
+A checkbutton menu entry behaves much like a checkbutton widget.
+When it is invoked it toggles back and forth between the selected
+and deselected states. When the entry is selected, a particular
+value is stored in a particular global variable (as determined by
+the B<-onvalue> and B<-variable> options for the entry); when
+the entry is deselected another value (determined by the
+B<-offvalue> option) is stored in the global variable.
+An indicator box is displayed to the left of the label in a checkbutton
+entry. If the entry is selected then the indicator's center is displayed
+in the color given by the B<-selectcolor> option for the entry;
+otherwise the indicator's center is displayed in the background color for
+the menu. If a B<-command> option is specified for a checkbutton
+entry, then its value is evaluated each time the entry
+is invoked; this happens after toggling the entry's
+selected state.
+
+=head2 RADIOBUTTON ENTRIES
+
+A radiobutton menu entry behaves much like a radiobutton widget.
+Radiobutton entries are organized in groups of which only one
+entry may be selected at a time. Whenever a particular entry
+becomes selected it stores a particular value into a particular
+global variable (as determined by the B<-value> and
+B<-variable> options for the entry). This action
+causes any previously-selected entry in the same group
+to deselect itself.
+Once an entry has become selected, any change to the entry's
+associated variable will cause the entry to deselect itself.
+Grouping of radiobutton entries is determined by their
+associated variables: if two entries have the same associated
+variable then they are in the same group.
+An indicator diamond is displayed to the left of the label in each
+radiobutton entry. If the entry is selected then the indicator's
+center is displayed in the color given by the B<-selectcolor> option
+for the entry;
+otherwise the indicator's center is displayed in the background color for
+the menu. If a B<-command> option is specified for a radiobutton
+entry, then its value is evaluated each time the entry
+is invoked; this happens after selecting the entry.
+
+=head2 CASCADE ENTRIES
+
+A cascade entry is one with an associated menu (determined
+by the B<-menu> option). Cascade entries allow the construction
+of cascading menus.
+The B<postcascade> method can be used to post and unpost
+the associated menu just next to of the cascade entry.
+The associated menu must be a child of the menu containing
+the cascade entry (this is needed in order for menu traversal to
+work correctly).
+
+A cascade entry posts its associated menu by invoking
+
+=over 4
+
+I<$menu>-E<gt>B<post>(I<x,y>)
+
+=back
+
+where I<menu> is the path name of the associated menu, and I<x>
+and I<y> are the root-window coordinates of the upper-right
+corner of the cascade entry.
+On Unix, the lower-level menu is unposted by executing
+
+=over 4
+
+I<$menu>-E<gt>B<unpost>
+
+=back
+
+where I<menu> is the name of the associated menu.
+On other platforms, the platform's native code takes care of unposting the
+menu.
+
+If a B<-command> option is specified for a cascade entry then it is
+evaluated whenever the entry is invoked. This is not supported on Windows.
+
+=head2 TEAR-OFF ENTRIES
+
+A tear-off entry appears at the top of the menu if enabled with the
+B<tearOff> option. It is not like other menu entries in that
+it cannot be created with the B<add> method and
+cannot be deleted with the B<delete> method.
+When a tear-off entry is created it appears as a dashed line at
+the top of the menu. Under the default bindings, invoking the
+tear-off entry causes a torn-off copy to be made of the menu and
+all of its submenus.
+
+=head2 MENUBARS
+
+Any menu can be set as a menubar for a toplevel window (see the
+L<Toplevel|Tk::Toplevel> constructor for syntax). On the Macintosh, whenever the
+toplevel is in front, this menu's cascade items will appear in the
+menubar across the top of the main monitor. On Windows and Unix, this
+menu's items will be displayed in a menubar accross the top of the
+window. These menus will behave according to the interface guidelines
+of their platforms. For every menu set as a menubar, a clone menu is
+made. See L<"CLONES"> for more information.
+
+As noted, menubars may behave differently on different platforms. One
+example of this concerns the handling of checkbuttons and radiobuttons
+within the menu. While it is permitted to put these menu elements on
+menubars, they may not be drawn with indicators on some platforms, due
+to system restrictions.
+
+=head2 SPECIAL MENUS IN MENUBARS
+
+Certain menus in a menubar will be treated specially. On the Macintosh,
+access to the special Apple and Help menus is provided. On Windows,
+access to the Windows System menu in each window is provided. On X Windows,
+a special right-justified help menu is provided. In all cases, these
+menus must be created with the command name of the menubar menu concatenated
+with the special name. So for a menubar named .menubar, on the Macintosh,
+the special menus would be .menubar.apple and .menubar.help; on Windows,
+the special menu would be .menubar.system; on X Windows, the help
+menu would be .menubar.help.
+
+When Tk sees an Apple menu on the Macintosh, that menu's contents make
+up the first items of the Apple menu on the screen whenever the window
+containing the menubar is in front. The menu is the
+first one that the user sees and has a title which is an Apple logo.
+After all of the Tk-defined items, the menu will have a separator,
+followed by all of the items in the user's Apple Menu Items folder.
+Since the System uses a different menu definition procedure for
+the Apple menu than Tk uses for its menus, and the system APIs do
+not fully support everything Tk tries to do, the menu item will only
+have its text displayed. No font attributes, images, bitmaps, or colors
+will be displayed. In addition, a menu with a tearoff item will have
+the tearoff item displayed as "(TearOff)".
+
+When Tk see a Help menu on the Macintosh, the menu's contents are
+appended to the standard help menu on the right of the user's menubar
+whenever the user's menubar is in front. The first items in the menu
+are provided by Apple. Similar to the Apple Menu, cusomization in this
+menu is limited to what the system provides.
+
+When Tk sees a System menu on Windows, its items are appended to the
+system menu that the menubar is attached to. This menu has an icon
+representing a spacebar, and can be invoked with the mouse or by typing
+Alt+Spacebar. Due to limitations in the Windows API, any font changes,
+colors, images, bitmaps, or tearoff images will not appear in the
+system menu.
+
+When Tk see a Help menu on X Windows, the menu is moved to be last in
+the menubar and is right justified.
+
+=head2 CLONES
+
+When a menu is set as a menubar for a toplevel window, or when a menu
+is torn off, a clone of the menu is made. This clone is a menu widget
+in its own right, but it is a child of the original. Changes in the
+configuration of the original are reflected in the
+clone. Additionally, any cascades that are pointed to are also cloned
+so that menu traversal will work right. Clones are destroyed when
+either the tearoff or menubar goes away, or when the original menu is
+destroyed.
+
+=head2 WIDGET METHODS
+
+The B<Menu> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class, and the L<Tk::Wm|Tk::Wm> class.
+
+Many of the methods for a menu take as one argument an
+indicator of which entry of the menu to operate on. These
+indicators are called I<index>es and may be specified in
+any of the following forms:
+
+=over 4
+
+=item I<number>
+
+Specifies the entry numerically, where 0 corresponds
+to the top-most entry of the menu, 1 to the entry below it, and
+so on.
+
+=item B<active>
+
+Indicates the entry that is currently active. If no entry is
+active then this form is equivalent to B<none>. This form may
+not be abbreviated.
+
+=item B<end>
+
+Indicates the bottommost entry in the menu. If there are no
+entries in the menu then this form is equivalent to B<none>.
+This form may not be abbreviated.
+
+=item B<last>
+
+Same as B<end>.
+
+=item B<none>
+
+Indicates ``no entry at all''; this is used most commonly with
+the B<activate> option to deactivate all the entries in the
+menu. In most cases the specification of B<none> causes
+nothing to happen in the method.
+This form may not be abbreviated.
+
+=item B<@>I<number>
+
+In this form, I<number> is treated as a y-coordinate in the
+menu's window; the entry closest to that y-coordinate is used.
+For example, ``B<@0>'' indicates the top-most entry in the
+window.
+
+=item I<pattern>
+
+If the index doesn't satisfy one of the above forms then this
+form is used. I<Pattern> is pattern-matched against the label of
+each entry in the menu, in order from the top down, until a
+matching entry is found.
+(In perl/Tk the matching is under review, but exact match
+should work.)
+
+=back
+
+The following methods are possible for menu widgets:
+
+=over 4
+
+=item I<$menu>-E<gt>B<activate>(I<index>)
+
+Change the state of the entry indicated by I<index> to B<active>
+and redisplay it using its active colors.
+Any previously-active entry is deactivated. If I<index>
+is specified as B<none>, or if the specified entry is
+disabled, then the menu ends up with no active entry.
+Returns an empty string.
+
+=item I<$menu>-E<gt>B<add>(I<type, >?I<option, value, option, value, ...>?)
+
+Add a new entry to the bottom of the menu. The new entry's type
+is given by I<type> and must be one of B<cascade>,
+B<checkbutton>, B<command>, B<radiobutton>, or B<separator>,
+or a unique abbreviation of one of the above. If additional arguments
+are present, they specify any of the following options:
+
+=over 8
+
+=item B<-activebackground> =E<gt> I<value>
+
+Specifies a background color to use for displaying this entry when it
+is active.
+If this option is specified as an empty string (the default), then the
+B<activeBackground> option for the overall menu is used.
+If the B<$Tk::strictMotif> variable has been set to request strict
+Motif compliance, then this option is ignored and the B<-background>
+option is used in its place.
+This option is not available for separator or tear-off entries.
+
+=item B<-activeforeground> =E<gt> I<value>
+
+Specifies a foreground color to use for displaying this entry when it
+is active.
+If this option is specified as an empty string (the default), then the
+B<activeForeground> option for the overall menu is used.
+This option is not available for separator or tear-off entries.
+
+=item B<-accelerator> =E<gt> I<value>
+
+Specifies a string to display at the right side of the menu entry.
+Normally describes an accelerator keystroke sequence that may be
+typed to invoke the same function as the menu entry. This option
+is not available for separator or tear-off entries.
+
+=item B<-background> =E<gt> I<value>
+
+Specifies a background color to use for displaying this entry when it
+is in the normal state (neither active nor disabled).
+If this option is specified as an empty string (the default), then the
+B<background> option for the overall menu is used.
+This option is not available for separator or tear-off entries.
+
+=item B<-bitmap> =E<gt> I<value>
+
+Specifies a bitmap to display in the menu instead of a textual
+label, in any of the forms accepted by B<Tk_GetBitmap>.
+This option overrides the B<-label> option but may be reset
+to an empty string to enable a textual label to be displayed.
+If a B<-image> option has been specified, it overrides
+B<-bitmap>.
+This option is not available for separator or tear-off entries.
+
+=item B<-columnbreak> =E<gt> I<value>
+
+When this option is zero, the appears below the previous entry. When
+this option is one, the menu appears at the top of a new column in the
+menu.
+
+=item B<-compound> =E<gt> I<value>
+
+Specifies whether the button should display both an image and text,
+and if so, where the image should be placed relative to the text.
+Valid values for this option are B<bottom>, B<center>, B<left>,
+B<none>, B<right> and B<top>. The default value is B<none>, meaning
+that the button will display either an image or text, depending on the
+values of the -image and -bitmap options.
+
+=item B<-command> =E<gt> I<value>
+
+For command, checkbutton, and radiobutton entries, specifies a
+callback to execute when the menu entry is invoked.
+For cascade entries, specifies a callback to execute
+when the entry is activated (i.e. just before its submenu is
+posted).
+Not available for separator or tear-off entries.
+
+=item B<-font> =E<gt> I<value>
+
+Specifies the font to use when drawing the label or accelerator
+string in this entry.
+If this option is specified as an empty string (the default) then
+the B<font> option for the overall menu is used.
+This option is not available for separator or tear-off entries.
+
+=item B<-foreground> =E<gt> I<value>
+
+Specifies a foreground color to use for displaying this entry when it
+is in the normal state (neither active nor disabled).
+If this option is specified as an empty string (the default), then the
+B<foreground> option for the overall menu is used.
+This option is not available for separator or tear-off entries.
+
+=item B<-hidemargin> =E<gt> I<value>
+
+Specifies whether the standard margins should be drawn for this menu
+entry. This is useful when creating palette with images in them, i.e.,
+color palettes, pattern palettes, etc. 1 indicates that the margin for
+the entry is hidden; 0 means that the margin is used.
+
+=item B<-image> =E<gt> I<value>
+
+Specifies an image to display in the menu instead of a text string
+or bitmap
+The image must have been created by some previous invocation of
+B<image create>.
+This option overrides the B<-label> and B<-bitmap> options
+but may be reset to an empty string to enable a textual or
+bitmap label to be displayed.
+This option is not available for separator or tear-off entries.
+
+=item B<-indicatoron> =E<gt> I<value>
+
+Available only for checkbutton and radiobutton entries.
+I<Value> is a boolean that determines whether or not the
+indicator should be displayed.
+
+=item B<-label> =E<gt> I<value>
+
+Specifies a string to display as an identifying label in the menu
+entry. Not available for separator or tear-off entries.
+
+=item B<-menu> =E<gt> I<value>
+
+Available only for cascade entries. Specifies the path name of
+the submenu associated with this entry.
+The submenu must be a child of the menu.
+
+=item B<-offvalue> =E<gt> I<value>
+
+Available only for checkbutton entries. Specifies the value to
+store in the entry's associated variable when the entry is
+deselected.
+
+=item B<-onvalue> =E<gt> I<value>
+
+Available only for checkbutton entries. Specifies the value to
+store in the entry's associated variable when the entry is selected.
+
+=item B<-selectcolor> =E<gt> I<value>
+
+Available only for checkbutton and radiobutton entries.
+Specifies the color to display in the indicator when the entry is
+selected.
+If the value is an empty string (the default) then the B<selectColor>
+option for the menu determines the indicator color.
+
+=item B<-selectimage> =E<gt> I<value>
+
+Available only for checkbutton and radiobutton entries.
+Specifies an image to display in the entry (in place of
+the B<-image> option) when it is selected.
+I<Value> is the name of an image, which must have been created
+by some previous invocation of B<image create>.
+This option is ignored unless the B<-image> option has
+been specified.
+
+=item B<-state> =E<gt> I<value>
+
+Specifies one of three states for the entry: B<normal>, B<active>,
+or B<disabled>. In normal state the entry is displayed using the
+B<foreground> option for the menu and the B<background>
+option from the entry or the menu.
+The active state is typically used when the pointer is over the entry.
+In active state the entry is displayed using the B<activeForeground>
+option for the menu along with the B<activebackground> option from
+the entry. Disabled state means that the entry
+should be insensitive: the default bindings will refuse to activate
+or invoke the entry.
+In this state the entry is displayed according to the
+B<disabledForeground> option for the menu and the
+B<background> option from the entry.
+This option is not available for separator entries.
+
+=item B<-underline> =E<gt> I<value>
+
+Specifies the integer index of a character to underline in the entry.
+This option is also queried by the default bindings and used to
+implement keyboard traversal.
+0 corresponds to the first character of the text displayed in the entry,
+1 to the next character, and so on.
+If a bitmap or image is displayed in the entry then this option is ignored.
+This option is not available for separator or tear-off entries.
+
+=item B<-value> =E<gt> I<value>
+
+Available only for radiobutton entries. Specifies the value to
+store in the entry's associated variable when the entry is selected.
+If an empty string is specified, then the B<-label> option
+for the entry as the value to store in the variable.
+
+=item B<-variable> =E<gt> I<value>
+
+Available only for checkbutton and radiobutton entries. Specifies
+the name of a global value to set when the entry is selected.
+For checkbutton entries the variable is also set when the entry
+is deselected. For radiobutton entries, changing the variable
+causes the currently-selected entry to deselect itself.
+
+=back
+
+The B<add> method returns an empty string.
+
+=item I<$menu>-E<gt>B<clone>(I<$parent> ?, I<cloneType?>)
+
+Makes a clone of the current menu as a child of I<$parent>. This clone
+is a menu in its own right, but any changes to the clone are
+propogated to the original menu and vice versa. I<cloneType> can be
+B<normal>, B<menubar>, or B<tearoff>. Should not normally be
+called outside of the Tk library. See L<"CLONES"> for
+more information.
+
+=item I<$menu>-E<gt>B<delete>(I<index1>?, I<index2>?)
+
+Delete all of the menu entries between I<index1> and
+I<index2> inclusive.
+If I<index2> is omitted then it defaults to I<index1>.
+Attempts to delete a tear-off menu entry are ignored (instead, you
+should change the B<tearOff> option to remove the tear-off entry).
+
+=item I<$menu>-E<gt>B<entrycget>(I<index, option>)
+
+Returns the current value of a configuration option for
+the entry given by I<index>.
+I<Option> may have any of the values accepted by the B<add>
+method.
+
+=item I<$menu>-E<gt>B<entryconfigure>(I<index> ?,I<options>?)
+
+This method is similar to the B<configure> method, except that
+it applies to the options for an individual entry, whereas B<configure>
+applies to the options for the menu as a whole.
+I<Options> may have any of the values accepted by the B<add>
+method. If I<options> are specified, options are modified
+as indicated
+in the method call and the method returns an empty string.
+If no I<options> are specified, returns a list describing
+the current options for entry I<index> (see L<Tk::options> for
+information on the format of this list).
+
+=item I<$menu>-E<gt>B<index>(I<index>)
+
+Returns the numerical index corresponding to I<index>, or
+B<none> if I<index> was specified as B<none>.
+
+=item I<$menu>-E<gt>B<insert>(I<index, type>?, I<-option>=E<gt>I<value>, ...?)
+
+Same as the B<add> method except that it inserts the new
+entry just before the entry given by I<index>, instead of appending
+to the end of the menu. The I<type>, I<-option>, and I<value>
+arguments have the same interpretation as for the B<add> widget
+method. It is not possible to insert new menu entries before the
+tear-off entry, if the menu has one.
+
+=item I<$menu>-E<gt>B<invoke>(I<index>)
+
+Invoke the action of the menu entry. See the sections on the
+individual entries above for details on what happens. If the
+menu entry is disabled then nothing happens. If the
+entry has a callback associated with it then the result of that
+callback is returned as the result of the B<invoke> widget
+method. Otherwise the result is an empty string. Note: invoking
+a menu entry does not automatically unpost the menu; the default
+bindings normally take care of this before invoking the B<invoke>
+method.
+
+=item I<$menu>-E<gt>B<post>(I<x, y>)
+
+Arrange for the menu to be displayed on the screen at the root-window
+coordinates given by I<x> and I<y>. These coordinates are
+adjusted if necessary to guarantee that the entire menu is visible on
+the screen. This method normally returns an empty string.
+If the B<postCommand> option has been specified, then its value is
+executed before posting the menu and the result of
+that callback is returned as the result of the B<post> widget
+method.
+If an error returns while executing the method, then the error is
+returned without posting the menu.
+
+=item I<$menu>-E<gt>B<postcascade>(I<index>)
+
+Posts the submenu associated with the cascade entry given by
+I<index>, and unposts any previously posted submenu.
+If I<index> doesn't correspond to a cascade entry,
+or if I<$menu> isn't posted,
+the method has no effect except to unpost any currently posted
+submenu.
+
+=item I<$menu>-E<gt>B<type>(I<index>)
+
+Returns the type of the menu entry given by I<index>.
+This is the I<type> argument passed to the B<add> widget
+method when the entry was created, such as B<command>
+or B<separator>, or B<tearoff> for a tear-off entry.
+
+=item I<$menu>-E<gt>B<unpost>
+
+Unmap the window so that it is no longer displayed. If a
+lower-level cascaded menu is posted, unpost that menu. Returns an
+empty string. This method does not work on Windows and the
+Macintosh, as those platforms have their own way of unposting menus.
+
+=item I<$menu>-E<gt>B<yposition>(I<index>)
+
+Returns a decimal string giving the y-coordinate within the menu
+window of the topmost pixel in the entry specified by I<index>.
+
+=back
+
+=head1 MENU CONFIGURATIONS
+
+The default bindings support four different ways of using menus:
+
+=over 4
+
+=item B<Pulldown Menus in Menubar>
+
+This is the most command case. You create a menu widget that will become the
+menu bar. You then add cascade entries to this menu, specifying the
+pull down menus you wish to use in your menu bar. You then create all
+of the pulldowns. Once you have done this, specify the menu using the
+B<-menu> option of the toplevel's method. See the
+B<toplevel> manual entry for details.
+
+=item B<Pulldown Menus in Menu Buttons>
+
+This is the compatable way to do menu bars. You create one menubutton
+widget for each top-level menu, and typically you arrange a series of
+menubuttons in a row in a menubar window. You also create the top-level menus
+and any cascaded submenus, and tie them together with B<-menu>
+options in menubuttons and cascade menu entries. The top-level menu must
+be a child of the menubutton, and each submenu must be a child of the
+menu that refers to it. Once you have done this, the default bindings
+will allow users to traverse and invoke the tree of menus via its
+menubutton; see the B<menubutton> documentation for details.
+
+=item B<Popup Menus>
+
+Popup menus typically post in response to a mouse button press or
+keystroke. You create the popup menus and any cascaded submenus,
+then you call the B<Post> method at the appropriate time
+to post the top-level menu.
+
+I<$menu>-E<gt>B<Post>(I<$x>,I<$y>?,I<$entry>?)
+
+I<$x> and I<$y> are the root window coordinates at which the I<$menu>
+will be displayed. If I<$entry> is specified then that entry is centred
+on that point, otherwise the top-left corner of the I<$menu> is placed
+at that point.
+
+B<Menu> also inherits methods from L<Tk::Wm> and so the method
+B<Popup> can be used to position menu relative to other windows, the
+mouse cursor or the screen.
+
+=item B<Option Menus>
+
+An option menu consists of a menubutton with an associated menu
+that allows you to select one of several values. The current value
+is displayed in the menubutton and is also stored in a global
+variable. Use the L<Tk::Optionmenu> class to create option
+menubuttons and their menus.
+
+=item B<Torn-off Menus>
+
+You create a torn-off menu by invoking the tear-off entry at
+the top of an existing menu. The default bindings will create a new menu
+that is a copy of the original menu and leave it permanently
+posted as a top-level window. The torn-off menu behaves just
+the same as the original menu.
+
+=back
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for menus that give them
+the following default behavior:
+
+=over 4
+
+=item [1]
+
+When the mouse enters a menu, the entry underneath the mouse
+cursor activates; as the mouse moves around the menu, the active
+entry changes to track the mouse.
+
+=item [2]
+
+When the mouse leaves a menu all of the entries in the menu
+deactivate, except in the special case where the mouse moves from
+a menu to a cascaded submenu.
+
+=item [3]
+
+When a button is released over a menu, the active entry (if any) is invoked.
+The menu also unposts unless it is a torn-off menu.
+
+=item [4]
+
+The Space and Return keys invoke the active entry and
+unpost the menu.
+
+=item [5]
+
+If any of the entries in a menu have letters underlined with
+with B<-underline> option, then pressing one of the underlined
+letters (or its upper-case or lower-case equivalent) invokes that
+entry and unposts the menu.
+
+=item [6]
+
+The Escape key aborts a menu selection in progress without invoking any
+entry. It also unposts the menu unless it is a torn-off menu.
+
+=item [7]
+
+The Up and Down keys activate the next higher or lower entry
+in the menu. When one end of the menu is reached, the active
+entry wraps around to the other end.
+
+=item [8]
+
+The Left key moves to the next menu to the left.
+If the current menu is a cascaded submenu, then the submenu is
+unposted and the current menu entry becomes the cascade entry
+in the parent.
+If the current menu is a top-level menu posted from a
+menubutton, then the current menubutton is unposted and the
+next menubutton to the left is posted.
+Otherwise the key has no effect.
+The left-right order of menubuttons is determined by their stacking
+order: Tk assumes that the lowest menubutton (which by default
+is the first one created) is on the left.
+
+=item [9]
+
+The Right key moves to the next menu to the right.
+If the current entry is a cascade entry, then the submenu is
+posted and the current menu entry becomes the first entry
+in the submenu.
+Otherwise, if the current menu was posted from a
+menubutton, then the current menubutton is unposted and the
+next menubutton to the right is posted.
+
+Disabled menu entries are non-responsive: they don't activate and
+they ignore mouse button presses and releases.
+
+The behavior of menus can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 BUGS
+
+At present it isn't possible to use the
+option database to specify values for the options to individual
+entries.
+
+=head1 SEE ALSO
+
+L<Tk::callbacks|Tk::callbacks>
+
+=head1 KEYWORDS
+
+menu, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Menu/Item.pod b/Master/tlpkg/tlperl/lib/Tk/Menu/Item.pod
new file mode 100644
index 00000000000..dabaadb8a58
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Menu/Item.pod
@@ -0,0 +1,96 @@
+
+=head1 NAME
+
+Tk::Menu::Item - Base class for Menu items
+
+=for pm Tk/Menu/Item.pm
+
+=for category Implementation
+
+=head1 SYNOPSIS
+
+ require Tk::Menu::Item;
+
+ my $but = $menu->Button(...);
+ $but->configure(...);
+ my $what = $but->cget();
+
+ package Whatever;
+ require Tk::Menu::Item;
+ @ISA = qw(Tk::Menu::Item);
+
+ sub PreInit
+ {
+ my ($class,$menu,$info) = @_;
+ $info->{'-xxxxx'} = ...
+ my $y = delete $info->{'-yyyy'};
+ }
+
+=head1 DESCRIPTION
+
+Tk::Menu::Item is the base class from which Tk::Menu::Button,
+Tk::Menu::Cascade, Tk::Menu::Radiobutton and Tk::Menu::Checkbutton are derived.
+There is also a Tk::Menu::Separator.
+
+Constructors are declared so that $menu-E<gt>Button(...) etc. do what you would
+expect.
+
+The C<-label> option is pre-processed allowing ~ to be prefixed to the character
+to derive a C<-underline> value. Thus
+
+ $menu->Button(-label => 'Goto ~Home',...)
+
+ is equivalent to
+
+ $menu->Button(-label => 'Goto Home', -underline => 6, ...)
+
+The C<Cascade> menu item creates a sub-menu and accepts
+these options:
+
+=over 4
+
+=item B<-menuitems>
+
+A list of items for the sub-menu.
+Within this list (which is also accepted by Menu and Menubutton) the first
+two elements of each item should be the "constructor" name and the label:
+
+ -menuitems => [
+ [Button => '~Quit', -command => [destroy => $mw]],
+ [Checkbutton => '~Oil', -variable => \$oil],
+ ]
+
+=item B<-postcommand>
+
+A callback to be invoked before posting the menu.
+
+=item B<-tearoff>
+
+Specifies whether sub-menu can be torn-off or not.
+
+=item B<-menuvar>
+
+Scalar reference that will be set to the newly-created sub-menu.
+
+=back
+
+The returned object is currently a blessed reference to an array of two items:
+the containing Menu and the 'label'.
+Methods C<configure> and C<cget> are mapped onto underlying C<entryconfigure>
+and C<entrycget>.
+
+The main purpose of the OO interface is to allow derived item classes to
+be defined which pre-set the options used to create a more basic item.
+
+=head1 BUGS
+
+This OO interface is very new. Using the label as the "key" is a problem
+for separaror items which don't have one. The alternative would be to
+use an index into the menu but that is a problem if items are deleted
+(or inserted other than at the end).
+
+There should probably be a PostInit entry point too, or a more widget like
+defered 'configure'.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Menubutton.pod b/Master/tlpkg/tlperl/lib/Tk/Menubutton.pod
new file mode 100644
index 00000000000..fcda3e958aa
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Menubutton.pod
@@ -0,0 +1,249 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Menubutton - Create and manipulate Menubutton widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$menubutton> = I<$parent>-E<gt>B<Menubutton>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground> B<-cursor> B<-highlightthickness> B<-takefocus>
+B<-activeforeground> B<-disabledforeground> B<-image> B<-text>
+B<-anchor> B<-font> B<-justify> B<-textvariable>
+B<-background> B<-foreground> B<-padx> B<-underline>
+B<-bitmap> B<-highlightbackground> B<-pady> B<-wraplength>
+B<-borderwidth> B<-highlightcolor> B<-relief>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Command-Line Name: B<-compound>
+
+=item Database Name: B<compound>
+
+=item Database Class: B<Compound>
+
+Specifies whether the button should display both an image and text,
+and if so, where the image should be placed relative to the text.
+Valid values for this option are B<bottom>, B<center>, B<left>,
+B<none>, B<right> and B<top>. The default value is B<none>, meaning
+that the button will display either an image or text, depending on the
+values of the -image and -bitmap options.
+
+=item Name: B<direction>
+
+=item Class: B<Height>
+
+=item Switch: B<-direction>
+
+Specifies where the menu is going to be popup up. B<above> tries to
+pop the menu above the menubutton. B<below> tries to pop the menu
+below the menubutton. B<left> tries to pop the menu to the left of
+the menubutton. B<right> tries to pop the menu to the right of the
+menu button. B<flush> pops the menu directly over the menubutton.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired height for the menubutton.
+If an image or bitmap is being displayed in the menubutton then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in lines of text.
+If this option isn't specified, the menubutton's desired height is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=item Name: B<indicatorOn>
+
+=item Class: B<IndicatorOn>
+
+=item Switch: B<-indicatoron>
+
+The value must be a proper boolean value. If it is true then
+a small indicator rectangle will be displayed on the right side
+of the menubutton and the default menu bindings will treat this
+as an option menubutton. If false then no indicator will be
+displayed.
+
+=item Name: B<menu>
+
+=item Class: B<MenuName>
+
+=item Switch: B<-menu>
+
+Specifies the path name of the menu associated with this menubutton.
+The menu must be a child of the menubutton.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the menubutton: B<normal>, B<active>,
+or B<disabled>. In normal state the menubutton is displayed using the
+B<foreground> and B<background> options. The active state is
+typically used when the pointer is over the menubutton. In active state
+the menubutton is displayed using the B<activeForeground> and
+B<activeBackground> options. Disabled state means that the menubutton
+should be insensitive: the default bindings will refuse to activate
+the widget and will ignore mouse button presses.
+In this state the B<disabledForeground> and
+B<background> options determine how the button is displayed.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies a desired width for the menubutton.
+If an image or bitmap is being displayed in the menubutton then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in characters.
+If this option isn't specified, the menubutton's desired width is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Menubutton> method creates a new window (given by the
+$widget argument) and makes it into a menubutton widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the menubutton such as its colors, font,
+text, and initial relief. The B<menubutton> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A menubutton is a widget that displays a textual string, bitmap, or image
+and is associated with a menu widget.
+If text is displayed, it must all be in a single font, but it
+can occupy multiple lines on the screen (if it contains newlines
+or if wrapping occurs because of the B<wrapLength> option) and
+one of the characters may optionally be underlined using the
+B<underline> option. In normal usage, pressing
+mouse button 1 over the menubutton causes the associated menu to
+be posted just underneath the menubutton. If the mouse is moved over
+the menu before releasing the mouse button, the button release
+causes the underlying menu entry to be invoked. When the button
+is released, the menu is unposted.
+
+Menubuttons are typically organized into groups called menu bars
+that allow scanning:
+if the mouse button is pressed over one menubutton (causing it
+to post its menu) and the mouse is moved over another menubutton
+in the same menu bar without releasing the mouse button, then the
+menu of the first menubutton is unposted and the menu of the
+new menubutton is posted instead.
+
+There are several interactions between menubuttons and menus; see
+the B<menu> manual entry for information on various menu configurations,
+such as pulldown menus and option menus.
+
+=head1 WIDGET METHODS
+
+The B<Menubutton> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The B<menu> method returns the menu associated with the widget.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for menubuttons that give them
+the following default behavior:
+
+=over 4
+
+=item [1]
+
+A menubutton activates whenever the mouse passes over it and deactivates
+whenever the mouse leaves it.
+
+=item [2]
+
+Pressing mouse button 1 over a menubutton posts the menubutton:
+its relief changes to raised and its associated menu is posted
+under the menubutton. If the mouse is dragged down into the menu
+with the button still down, and if the mouse button is then
+released over an entry in the menu, the menubutton is unposted
+and the menu entry is invoked.
+
+=item [3]
+
+If button 1 is pressed over a menubutton and then released over that
+menubutton, the menubutton stays posted: you can still move the mouse
+over the menu and click button 1 on an entry to invoke it.
+Once a menu entry has been invoked, the menubutton unposts itself.
+
+=item [4]
+
+If button 1 is pressed over a menubutton and then dragged over some
+other menubutton, the original menubutton unposts itself and the
+new menubutton posts.
+
+=item [5]
+
+If button 1 is pressed over a menubutton and released outside
+any menubutton or menu, the menubutton unposts without invoking
+any menu entry.
+
+=item [6]
+
+When a menubutton is posted, its associated menu claims the input
+focus to allow keyboard traversal of the menu and its submenus.
+See the B<menu> documentation for details on these bindings.
+
+=item [7]
+
+If the B<underline> option has been specified for a menubutton
+then keyboard traversal may be used to post the menubutton:
+Alt+I<x>, where I<x> is the underlined character (or its
+lower-case or upper-case equivalent), may be typed in any window
+under the menubutton's toplevel to post the menubutton.
+
+=item [8]
+
+The F10 key may be typed in any window to post the first menubutton
+under its toplevel window that isn't disabled.
+
+=item [9]
+
+If a menubutton has the input focus, the space and return keys
+post the menubutton.
+
+If the menubutton's state is B<disabled> then none of the above
+actions occur: the menubutton is completely non-responsive.
+
+The behavior of menubuttons can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+menubutton, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Message.pod b/Master/tlpkg/tlperl/lib/Tk/Message.pod
new file mode 100644
index 00000000000..9b0d67f3118
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Message.pod
@@ -0,0 +1,151 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Message - Create and manipulate Message widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$message> = I<$parent>-E<gt>B<Message>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-anchor> B<-font> B<-highlightthickness> B<-takefocus>
+B<-background> B<-foreground> B<-padx> B<-text>
+B<-borderwidth> B<-highlightbackground> B<-pady> B<-textvariable>
+B<-cursor> B<-highlightcolor> B<-relief> B<-width>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<aspect>
+
+=item Class: B<Aspect>
+
+=item Switch: B<-aspect>
+
+Specifies a non-negative integer value indicating desired
+aspect ratio for the text. The aspect ratio is specified as
+100*width/height. 100 means the text should
+be as wide as it is tall, 200 means the text should
+be twice as wide as it is tall, 50 means the text should
+be twice as tall as it is wide, and so on.
+Used to choose line length for text if B<width> option
+isn't specified.
+Defaults to 150.
+
+=item Name: B<justify>
+
+=item Class: B<Justify>
+
+=item Switch: B<-justify>
+
+Specifies how to justify lines of text.
+Must be one of B<left>, B<center>, or B<right>. Defaults
+to B<left>.
+This option works together with the B<anchor>, B<aspect>,
+B<padX>, B<padY>, and B<width> options to provide a variety
+of arrangements of the text within the window.
+The B<aspect> and B<width> options determine the amount of
+screen space needed to display the text.
+The B<anchor>, B<padX>, and B<padY> options determine where this
+rectangular area is displayed within the widget's window, and the
+B<justify> option determines how each line is displayed within that
+rectangular region.
+For example, suppose B<anchor> is B<e> and B<justify> is
+B<left>, and that the message window is much larger than needed
+for the text.
+The the text will displayed so that the left edges of all the lines
+line up and the right edge of the longest line is B<padX> from
+the right side of the window; the entire text block will be centered
+in the vertical span of the window.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the length of lines in the window.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+If this option has a value greater than zero then the B<aspect>
+option is ignored and the B<width> option determines the line
+length.
+If this option has a value less than or equal to zero, then
+the B<aspect> option determines the line length.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Message> method creates a new window (given by the
+$widget argument) and makes it into a message widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the message such as its colors, font,
+text, and initial relief. The B<message> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A message is a widget that displays a textual string. A message
+widget has three special features. First, it breaks up
+its string into lines in order to produce a given aspect ratio
+for the window. The line breaks are chosen at word boundaries
+wherever possible (if not even a single word would fit on a
+line, then the word will be split across lines). Newline characters
+in the string will force line breaks; they can be used, for example,
+to leave blank lines in the display.
+
+The second feature of a message widget is justification. The text
+may be displayed left-justified (each line starts at the left side of
+the window), centered on a line-by-line basis, or right-justified
+(each line ends at the right side of the window).
+
+The third feature of a message widget is that it handles control
+characters and non-printing characters specially. Tab characters
+are replaced with enough blank space to line up on the next
+8-character boundary. Newlines cause line breaks. Other control
+characters (ASCII code less than 0x20) and characters not defined
+in the font are displayed as a four-character sequence B<\x>I<hh> where
+I<hh> is the two-digit hexadecimal number corresponding to
+the character. In the unusual case where the font doesn't contain
+all of the characters in ``0123456789abcdef\x'' then control
+characters and undefined characters are not displayed at all.
+
+=head1 WIDGET METHODS
+
+The B<Message> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+=head1 DEFAULT BINDINGS
+
+When a new message is created, it has no default event bindings:
+messages are intended for output purposes only.
+
+=head1 BUGS
+
+Tabs don't work very well with text that is centered or right-justified.
+The most common result is that the line is justified wrong.
+
+=head1 KEYWORDS
+
+message, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/MsgBox.pod b/Master/tlpkg/tlperl/lib/Tk/MsgBox.pod
new file mode 100644
index 00000000000..6f5536cf89c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/MsgBox.pod
@@ -0,0 +1,83 @@
+
+=head1 NAME
+
+Tk::MsgBox - create and manipulate a message dialog
+
+=for pm Tk/MsgBox.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+ use Tk::MsgBox
+ ...
+ $d = $top->MsgBox(-title => "Title", -type => "okcancel");
+ ...
+ $button = $d->Show;
+
+=head1 DESCRIPTION
+
+B<MsgBox> is a simple dialog with predefined buttons.
+
+=head1 OPTIONS
+
+The options recognized by B<MsgBox> are as follows:
+
+=over 4
+
+=item B<-icon>
+
+Specify the icon of the MsgBox. Valid values are B<error>, B<info>,
+B<question>, or B<warning>.
+
+=item B<-type>
+
+Specify the type of the MsgBox. Valid values are B<abortretryignore>,
+B<ok>, B<okcancel>, B<retrycancel>, B<yesno>, or B<yesnocancel>. The
+type determines the buttons to be shown.
+
+=item B<-default>
+
+Specify the default button. This must be one of B<abort>, B<retry>,
+B<ignore>, B<ok>, B<cancel>, B<yes>, or B<no>, depending on the type
+of the MsgBox previously specified.
+
+=item B<-detail>
+
+Specify text for the detail region of the MsgBox.
+
+=item B<-message>
+
+Specify the message text of the MsgBox.
+
+=item B<-title>
+
+Specify the title of the MsgBox.
+
+=back
+
+=head1 METHODS
+
+B<MsgBox> supports only one method as of now:
+
+=over 4
+
+=item B<Show()>
+
+Displays the MsgBox until the user invokes one of the buttons. Returns
+the name of the button invoked.
+
+=back
+
+=head1 AUTHOR
+
+Translated from Tcl/Tk by B<Slaven Rezic> srezic@cpan.org
+
+This code is distributed under the same terms as Perl.
+
+=head1 SEE ALSO
+
+L<Tk::messageBox>, L<Tk::DialogBox>, L<Tk::Dialog>.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Mwm.pod b/Master/tlpkg/tlperl/lib/Tk/Mwm.pod
new file mode 100644
index 00000000000..e9c09cd0358
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Mwm.pod
@@ -0,0 +1,109 @@
+
+=head1 NAME
+
+Tk::Mwm - Communicate with the Motif(tm) window manager.
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >B<use Tk::Mwm;>
+
+S< >I<$toplevel>-E<gt>B<mwm>I<Option>?(I<args>)?
+
+S< >I<$toplevel>-E<gt>B<mwm>(I<option> ?,I<args>?)
+
+=head1 DESCRIPTION
+
+Interface to special extentions supported by mwm.
+
+=head1 METHODS
+
+=over 4
+
+=item I<$toplevel>-E<gt>B<mwmDecoration>?(?option??=E<gt>value? ?,...?)?
+
+When no options are given, this method returns the values of all the
+decorations options for the toplevel window with the I<$toplevel>.
+When only one option is given without specifying the value, the
+current value of that option is returned.
+When more than one "option-value" pairs are passed to this method,
+the specified values will be assigned to the corresponding options. As
+a result, the appearance of the Motif decorations around the toplevel
+window will be changed.
+Possible options are: B<-border>, B<-menu>, B<-maximize>,
+B<-minimize>, B<-resizeh> and B<-title>. The value must be a
+Boolean value. The values returned by this command are undefined when
+the window is not managed by mwm.
+
+=item I<$toplevel>-E<gt>B<mwmIsmwmrunning>
+
+This returns value is true if mwm is running on the screen where the specified
+window is located, false otherwise.
+
+=item I<$toplevel>-E<gt>B<mwmProtocol>
+
+When no additional options are given, this method returns all
+protocols associated with this toplevel window.
+
+=item I<$toplevel>-E<gt>B<mwmProtocol>(B<activate> =E<gt> I<protocol_name>)
+
+Activate the mwm protocol message in mwm's menu.
+
+=item I<$toplevel>-E<gt>B<MwmProtocol>(B<add> =E<gt> I<protocol_name>, I<menu_message>)
+
+Add a new mwm protocol message for this toplevel window. The
+message is identified by the string name specified in
+I<protocol_name>. A menu item will be added into mwm's menu as
+specified by I<menu_message>. Once a new mwm protocol message is
+added to a toplevel, it can be caught by the TK B<protocol>
+method. Here is an example:
+
+S< >I<$toplevel>-E<gt>B<mwmProtocol>(B<'add'> =E<gt> 'MY_PRINT_HELLO', '"Print Hello" _H CtrlE<lt>KeyE<gt>H');
+
+S< >I<$toplevel>-E<gt>B<protocol>(B<'MY_PRINT_HELLO'> =E<gt> sub {print "Hello"});
+
+=item I<$toplevel>-E<gt>B<mwmProtocol>(B<'deactivate'> =E<gt> I<protocol_name>)
+
+Deactivate the mwm protocol message in mwm's menu.
+
+=item I<$toplevel>-E<gt>B<mwmProtocol>(B<'delete'> =E<gt> I<protocol_name>)
+
+Delete the mwm protocol message from mwm's menu. Please note that the
+window manager protocol handler associated with this protocol (by the
+B<protocol> method) is not deleted automatically. You have to
+delete the protocol handle explicitly. E.g.:
+
+S< >I<$mw>-E<gt>B<mwmProtocol>(B<'delete'> =E<gt> 'MY_PRINT_HELLO');
+
+S< >I<$mw>-E<gt>B<protocol>(B<'MY_PRINT_HELLO'> =E<gt> '');
+
+=back
+
+=head1 BUGS
+
+This is a Tix extension which perl/Tk has adopted. It has not been
+tested as perl/Tk's author has not got round to installing a Motif Window
+Manager.
+
+On some versions of mwm, the B<-border> will not disappear unless
+B<-resizeh> is turned off. Also, the B<-title> will not disappear
+unless all of B<-title>, B<-menu>, B<-maximize> and
+B<-minimize> are turned off.
+
+=head1 SEE ALSO
+
+L<Tk::Wm|Tk::Wm>
+L<Tk::tixWm|Tk::tixWm>
+L<Tk::Toplevel|Tk::Toplevel>
+
+=head1 KEYWORDS
+
+window manager, mwm, TIX
+
+=head1 AUTHOR
+
+Ioi Kim Lam - ioi@graphics.cis.upenn.edu
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/NoteBook.pod b/Master/tlpkg/tlperl/lib/Tk/NoteBook.pod
new file mode 100644
index 00000000000..2cc84bb3fad
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/NoteBook.pod
@@ -0,0 +1,235 @@
+
+=head1 NAME
+
+Tk::NoteBook - display several windows in limited space with notebook metaphor.
+
+=for pm Tixish/NoteBook.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+ use Tk::NoteBook;
+ ...
+ $w = $frame->NoteBook();
+ $page1 = $w->add("page1", options);
+ $page2 = $w->add("page2", options);
+ ...
+ $page2 = $w->add("page2", options);
+
+=head1 DESCRIPTION
+
+The NoteBook widget provides a notebook metaphor to display several
+windows in limited space. The notebook is divided into a stack of pages
+of which only one is displayed at any time. The other pages can be
+selected by means of choosing the visual "tabs" at the top of the
+widget. Additionally, the <Tab> key may be used to traverse the pages.
+If B<-underline> is used, Alt- bindings will also work.
+
+The widget takes all the options that a Frame does. In addition,
+it supports the following options:
+
+=over 4
+
+=item B<-dynamicgeometry>
+
+If set to false (default and recommended), the size of the NoteBook
+will match the size of the largest page. Otherwise the size will
+match the size of the current page causing the NoteBook to change
+size when different pages of different sizes are selected.
+
+=item B<-ipadx>
+
+The amount of internal horizontal padding around the pages.
+
+=item B<-ipady>
+
+The amount of internal vertical padding around the pages.
+
+=item B<-backpagecolor>
+
+The background color of the tabs and back page.
+
+=item B<-disabledforeground>
+
+XXX
+
+=item B<-focuscolor>
+
+The color of the focus border around the tabs.
+
+=item B<-font>
+
+The font of the tab labels.
+
+=item B<-inactivebackground>
+
+XXX
+
+=item B<-tabpadx>
+
+Horizonzal padding around the tab label.
+
+=item B<-tabpady>
+
+Vertical padding around the tab label.
+
+=back
+
+=head1 METHODS
+
+The following methods may be used with a NoteBook object in addition
+to standard methods.
+
+=over 4
+
+=item B<add(>I<pageName>, I<options>B<)>
+
+Adds a page with name I<pageName> to the notebook. Returns an object
+of type B<Frame>. The recognized I<options> are:
+
+=over 4
+
+=item B<-anchor>
+
+Specifies how the information in a tab is to be displayed. Must be
+one of B<n>, B<ne>, B<e>, B<se>, B<s>, B<sw>, B<w>, B<nw> or
+B<center>.
+
+=item B<-bitmap>
+
+Specifies a bitmap to display on the tab of this page. The bitmap
+is displayed only if none of the B<-label> or B<-image> options
+are specified.
+
+=item B<-image>
+
+Specifies an image to display on the tab of this page. The image
+is displayed only if the B<-label> option is not specified.
+
+=item B<-label>
+
+Specifies the text string to display on the tab of this page.
+
+=item B<-justify>
+
+When there are multiple lines of text displayed in a tab, this
+option determines the justification of the lines.
+
+=item B<-createcmd>
+
+Specifies a L<callback|Tk::callbacks> to be called the first time the page is
+shown on the screen. This option can be used to delay the creation
+of the contents of a page until necessary. It can be useful in
+situations where there are a large number of pages in a NoteBook
+widget; with B<-createcmd> you do not have to make the user wait
+until all pages are constructed before displaying the first page.
+
+=item B<-raisecmd>
+
+Specifies a L<callback|Tk::callbacks> to be called whenever this page is raised
+by the user.
+
+=item B<-state>
+
+Specifies whether this page can be raised by the user. Must be
+either B<normal> or B<disabled>.
+
+=item B<-underline>
+
+Specifies the integer index of a character to underline in the
+tab. This option is used by the default bindings to implement
+keyboard traversal for menu buttons and menu entries. 0
+corresponds to the first character of text displayed on the
+widget, 1 to the next character and so on.
+
+=item B<-wraplength>
+
+This option specifies the maximum line length of the label string
+on this tab. If the line length of the label string exceeds this
+length, then it is wrapped onto the next line so that no line is
+longer than the specified length. The value may be specified in
+any standard forms for screen distances. If this value is less
+than or equal to 0, then no wrapping is done: lines will break
+only at newline characters in the text.
+
+=back
+
+=item B<delete(>I<pageName>B<)>
+
+Deletes the page identified by I<pageName>.
+
+=item B<pagecget(>I<pageName>, I<-option>B<)>
+
+Returns the current value of the configuration option given by
+I<-option> in the page given by I<pageName>. I<Option> may have any of
+the values accepted in the B<add> method.
+
+=item B<pageconfigure(>I<pageName>, I<options>B<)>
+
+Like configure for the page indicated by I<pageName>. I<Options> may
+be any of the options accepted by the B<add> method.
+
+=item B<pages>
+
+Returns a list consisting of the names of all currently defined
+pages, i.e., those created with the B<add> method.
+
+=item B<page_widget(>I<pageName>B<)>
+
+Returns the page with name I<pageName>.
+
+=item B<raise(>I<pageName>B<)>
+
+Raise the page identified by I<pageName>.
+
+=item B<raised()>
+
+Returns the name of the currently raised page.
+
+=item B<geometryinfo>
+
+Return the dimensions of the tab area.
+
+=item B<identify(>I<x>,I<y>B<)>
+
+Identify the tab's page name under the specified coordinates. Return
+an empty string if there's no tab.
+
+=item B<info(E<quot>pagesE<quot>)>
+
+Return a list of all pages.
+
+=item B<info(E<quot>focusE<quot>)>
+
+Return the page name of the tab with the current focus.
+
+=item B<info(E<quot>focusnextE<quot>)>
+
+Return the page name of the tab which would receive the next focus.
+
+=item B<info(E<quot>focusprevE<quot>)>
+
+Return the page name of the tab which had the previous focus.
+
+=item B<info(E<quot>activeE<quot>)>
+
+Return the page name of the active tab.
+
+=back
+
+=head1 BUGS
+
+The options C<-width> and C<-height> do not work.
+
+=head1 AUTHORS
+
+B<Rajappa Iyer> <rsi@earthling.net>
+Nick Ing-Simmons <nick@ni-s.u-net.com>
+
+This code and documentation was derived from NoteBook.tcl in
+Tix4.0 written by Ioi Lam. It may be distributed under the same
+conditions as Perl itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Optionmenu.pod b/Master/tlpkg/tlperl/lib/Tk/Optionmenu.pod
new file mode 100644
index 00000000000..f5e514c63b3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Optionmenu.pod
@@ -0,0 +1,100 @@
+
+=head1 NAME
+
+Tk::Optionmenu - Let the user select one of some predefined options values
+
+=for pm Tk/Optionmenu.pm
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+ use Tk::Optionmenu;
+
+ $opt = $w->Optionmenu(
+ -options => REFERENCE_to_OPTIONLIST,
+ -command => CALLBACK,
+ -variable => SCALAR_REF,
+ );
+
+ $opt->addOptions( OPTIONLIST );
+
+ # OPTION LIST is
+ # a) $val1, $val2, $val3,...
+ # b) [ $lab1=>$val1], [$lab2=>val2], ... ]
+ # c) combination of a) and b), e.g.,
+ # val1, [$lab2=>val2], val3, val4, [...], ...
+
+=head1 DESCRIPTION
+
+The B<Optionmenu> widget allows the user chose between a given set
+of options.
+
+If the user should be able to change the available option have a look
+at L<Tk::BrowseEntry>.
+
+=head1 OPTIONS
+
+=over 4
+
+=item -options
+
+(Re)sets the list of options presented.
+
+=item -command
+
+Defines the L<callback|Tk::callbacks> that is invokes when a new option
+is selected.
+
+=item -variable
+
+Reference to a scalar that contains the current value of the
+selected option.
+
+=item -textvariable
+
+Reference to a scalar that contains the text label of the current value of the
+selected option.
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item addOptions
+
+Adds OPTION_LIST to the already available options.
+
+=back
+
+=head1 EXAMPLE
+
+ use Tk;
+ my $mw = MainWindow->new();
+
+ my ($var, $tvar);
+ my $opt = $mw->Optionmenu(
+ -options => [[jan=>1], [feb=>2], [mar=>3], [apr=>4]],
+ -command => sub { print "got: ", shift, "\n" },
+ -variable => \$var,
+ -textvariable => \$tvar
+ )->pack;
+
+ $opt->addOptions([may=>5],[jun=>6],[jul=>7],[aug=>8]);
+
+ my $f = $mw->Frame(-relief=>'groove', -borderwidth => 2)->pack;
+ $f->Label(-textvariable=>\$tvar)->pack(-side => 'left');
+ $f->Label(-text => " -> ")->pack(-side => 'left');
+ $f->Label(-textvariable=>\$var)->pack(-side => 'left');
+
+ $mw->Button(-text=>'Exit', -command=>sub{$mw->destroy})->pack;
+
+ MainLoop;
+
+=head1 SEE ALSO
+
+L<Tk::Menubutton>, L<Tk::BrowseEntry>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Panedwindow.pod b/Master/tlpkg/tlperl/lib/Tk/Panedwindow.pod
new file mode 100644
index 00000000000..673938d55e5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Panedwindow.pod
@@ -0,0 +1,326 @@
+# Copyright (c) 1992 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# RCS: @(#) $Id: panedwindow.n,v 1.2.2.1 2003/07/17 20:49:00 dkf Exp $
+
+=head1 NAME
+
+Tk::Panedwindow - Create and manipulate Panedwindow widgets
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+I<$panedwindow> = I<$parent>-E<gt>B<Panedwindow>(?I<options>?);
+
+ -background -height -width
+ -borderwidth -orient
+ -cursor -relief
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Option: B<-handlepad>
+
+=item Name: B<handlePad>
+
+=item Class: B<HandlePad>
+
+When sash handles are drawn, specifies the distance from the top or
+left end of the sash (depending on the orientation of the widget) at
+which to draw the handle. May be any value accepted by B<Tk_GetPixels>.
+
+=item Option: B<-handlesize>
+
+=item Name: B<handleSize>
+
+=item Class: B<HandleSize>
+
+Specifies the side length of a sash handle. Handles are always
+drawn as squares. May be any value accepted by B<Tk_GetPixels>.
+
+=item Option: B<-opaqueresize>
+
+=item Name: B<opaqueResize>
+
+=item Class: B<OpaqueResize>
+
+Specifies whether panes should be resized as a sash is moved (true),
+or if resizing should be deferred until the sash is placed (false).
+
+=item Option: B<-sashcursor>
+
+=item Name: B<sashCursor>
+
+=item Class: B<SashCursor>
+
+Mouse cursor to use when over a sash. If null,
+B<sb_h_double_arrow> will be used for horizontal Panedwindows, and
+B<sb_v_double_arrow> will be used for vertical Panedwindows.
+
+=item Option: B<-sashpad>
+
+=item Name: B<sashPad>
+
+=item Class: B<SashPad>
+
+Specifies the amount of padding to leave of each side of a sash. May
+be any value accepted by B<Tk_GetPixels>.
+
+=item Option: B<-sashrelief>
+
+=item Name: B<sashRelief>
+
+=item Class: B<SashRelief>
+
+Relief to use when drawing a sash. May be any of the standard Tk
+relief values.
+
+=item Option: B<-sashwidth>
+
+=item Name: B<sashWidth>
+
+=item Class: B<SashWidth>
+
+Specifies the width of each sash. May be any value accepted by
+B<Tk_GetPixels>.
+
+=item Option: B<-showhandle>
+
+=item Name: B<showHandle>
+
+=item Class: B<ShowHandle>
+
+Specifies whether sash handles should be shown. May be any valid
+boolean value.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Panedwindow> method creates a new window (given by the
+$panedwindow argument) and makes it into a Panedwindow widget.
+Additional options, described above, may be specified on the command
+line or in the option database to configure aspects of the Panedwindow
+such as its default background color and relief.
+
+A Panedwindow widget contains any number of panes, arranged
+horizontally or vertically, according to the value of the
+B<-orient> option. Each pane contains one widget, and each pair of
+panes is separated by a moveable (via mouse movements) sash. Moving a
+sash causes the widgets on either side of the sash to be resized.
+
+=head1 WIDGET METHODS
+
+The B<Panedwindow> method
+may be used to invoke various operations on the widget. It has the
+following general form:
+
+ $widget->method(?arg arg ...?);
+
+The following
+commands are possible for Panedwindow widgets:
+
+=over 4
+
+=item I<$widget>-E<gt>B<add>(?window ...? ?option value ...?);
+
+Add one or more windows to the Panedwindow, each in a separate pane.
+The arguments consist of the names of one or more windows
+followed by pairs of arguments that specify how to manage the windows.
+I<Option> may have any of the values accepted by the
+B<configure> subcommand.
+
+=item I<$widget>-E<gt>B<cget>(I<option>);
+
+Returns the current value of the configuration option given by
+I<option>. I<Option> may have any of the values accepted by the
+B<Panedwindow> command.
+
+=item I<$widget>-E<gt>B<configure>(I<?option?, ?value, option, value, ...?>);
+
+Query or modify the configuration options of the widget. If no
+I<option> is specified, returns a list describing all of the
+available options for $widget (see L<Tk::configure> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string. I<Option> may have
+any of the values accepted by the B<Panedwindow> command.
+
+=item I<$widget>-E<gt>B<forget>(?window ...?);
+
+Remove the pane containing $widget from the Panedwindow. All
+geometry management options for $widget will be forgotten.
+
+=item I<$widget>-E<gt>B<identify>(I<x, y>);
+
+Identify the Panedwindow component underneath the point given by
+I<x> and I<y>, in window coordinates. If the point is over a
+sash or a sash handle, the result is a two element list containing the
+index of the sash or handle, and a word indicating whether it is over
+a sash or a handle, such as [0, 'sash'] or [2, 'handle']. If the point is
+over any other part of the Panedwindow, the result is an empty list.
+
+=item I<$widget>-E<gt>B<proxy>(I<?args?>);
+
+This command is used to query and change the position of the sash
+proxy, used for rubberband-style pane resizing. It can take any of
+the following forms:
+
+=over 4
+
+=item I<$widget>-E<gt>B<proxyCoord>;
+
+Return a list containing the x and y coordinates of the most recent
+proxy location.
+
+=item I<$widget>-E<gt>B<proxyForget>;
+
+Remove the proxy from the display.
+
+=item I<$widget>-E<gt>B<proxyPlace>(I<x, y>);
+
+Place the proxy at the given I<x> and I<y> coordinates.
+
+=back
+
+=item I<$widget>-E<gt>B<sash>(I<?args?>);
+
+This command is used to query and change the position of sashes in the
+Panedwindow. It can take any of the following forms:
+
+=over 4
+
+=item I<$widget>-E<gt>B<sashCoord>(I<index>);
+
+Return the current x and y coordinate pair for the sash given by
+I<index>. I<Index> must be an integer between 0 and 1 less than
+the number of panes in the Panedwindow. The coordinates given are
+those of the top left corner of the region containing the sash.
+I<$widget>-E<gt>B<sashDragto>(I<index, x, y>)
+This command computes the difference between the given coordinates and the
+coordinates given to the last B<sash coord> command for the given
+sash. It then moves that sash the computed difference. The return
+value is the empty string.
+
+=item I<$widget>-E<gt>B<sashMark>(I<index, x, y>);
+
+Records I<x> and I<y> for the sash given by I<index>; used in
+conjunction with later dragto commands to move the sash.
+
+=item I<$widget>-E<gt>B<sashPlace>(I<index, x, y>);
+
+Place the sash given by I<index> at the given coordinates.
+
+=back
+
+=item $widget I<$widget>-E<gt>B<panecget>(option);
+
+Query a management option for $widget. I<Option> may be any
+value allowed by the B<paneconfigure> subcommand.
+
+=item $widget I<$widget>-E<gt>B<paneconfigure>(?option? ?value option value ...?);
+
+Query or modify the management options for $widget. If no
+I<option> is specified, returns a list describing all of the
+available options for $widget (see L<Tk::configure> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string. The following options
+are supported:
+
+=over 4
+
+=item B<-after> =E<gt> $widget
+
+Insert the window after the window specified. $widget should be the
+name of a window already managed by $widget.
+
+=item B<-before> =E<gt> $widget
+
+Insert the window before the window specified. $widget should be
+the name of a window already managed by $widget.
+
+=item B<-height> =E<gt> I<size>
+
+Specify a height for the window. The height will be the outer
+dimension of the window including its border, if any. If I<size>
+is an empty string, or if B<-height> is not specified, then the
+height requested internally by the window will be used initially; the
+height may later be adjusted by the movement of sashes in the
+Panedwindow. I<Size> may be any value accepted by B<Tk_GetPixels>.
+
+=item B<-minsize> =E<gt> I<n>
+
+Specifies that the size of the window cannot be made less than
+I<n>. This constraint only affects the size of the widget in the
+paned dimension -- the x dimension for horizontal Panedwindows, the y
+dimension for vertical Panedwindows. May be any value accepted by
+B<Tk_GetPixels>.
+
+=item B<-padx> =E<gt> I<n>
+
+Specifies a non-negative value indicating how much extra space to
+leave on each side of the window in the X-direction. The value may
+have any of the forms accepted by B<Tk_GetPixels>.
+
+=item B<-pady> =E<gt> I<n>
+
+Specifies a non-negative value indicating how much extra space to
+leave on each side of the window in the Y-direction. The value may
+have any of the forms accepted by B<Tk_GetPixels>.
+
+=item B<-sticky> =E<gt> I<style>
+
+If a window's pane is larger than the requested dimensions of the
+window, this option may be used to position (or stretch) the window
+within its pane. I<Style> is a string that contains zero or more
+of the characters B<n>, B<s>, B<e> or B<w>. The string
+can optionally contains spaces or commas, but they are ignored. Each
+letter refers to a side (north, south, east, or west) that the window
+will "stick" to. If both B<n> and B<s> (or B<e> and B<w>)
+are specified, the window will be stretched to fill the entire height
+(or width) of its cavity.
+
+=item B<-width> =E<gt> I<size>
+
+Specify a width for the window. The width will be the outer
+dimension of the window including its border, if any. If I<size>
+is an empty string, or if B<-width> is not specified, then the
+width requested internally by the window will be used initially; the
+width may later be adjusted by the movement of sashes in the
+Panedwindow. I<Size> may be any value accepted by B<Tk_GetPixels>.
+
+=back
+
+=item I<$widget>-E<gt>B<panes>;
+
+Returns an ordered list of the widgets managed by $widget.
+
+=back
+
+=head1 RESIZING PANES
+
+A pane is resized by grabbing the sash (or sash handle if present) and
+dragging with the mouse. This is accomplished via mouse motion
+bindings on the widget. When a sash is moved, the sizes of the panes
+on each side of the sash, and thus the widgets in those panes, are
+adjusted.
+
+When a pane is resized from outside (eg, it is packed to expand and
+fill, and the containing toplevel is resized), space is added to the final
+(rightmost or bottommost) pane in the window.
+
+=head1 KEYWORDS
+
+Panedwindow, widget, geometry management
diff --git a/Master/tlpkg/tlperl/lib/Tk/Photo.pod b/Master/tlpkg/tlperl/lib/Tk/Photo.pod
new file mode 100644
index 00000000000..02a691d6261
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Photo.pod
@@ -0,0 +1,475 @@
+# Copyright (c) 1994 The Australian National University
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# Author: Paul Mackerras (paulus@cs.anu.edu.au),
+# Department of Computer Science,
+# Australian National University.
+# RCS: @(#) $Id: photo.n,v 1.2 1998/09/14 18:22:59 stanton Exp $
+#
+
+=head1 NAME
+
+Tk::Photo - Full-color images
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<Photo>(?I<name>??, I<options>?)
+
+=head1 DESCRIPTION
+
+A photo is an L<image|Tk::Image> whose pixels can display any color or be
+transparent. A photo image is stored internally in full color (32
+bits per pixel), and is displayed using dithering if necessary. Image
+data for a photo image can be obtained from a file or a string, or it
+can be supplied from
+C code through a procedural interface. At present, only GIF,
+XBM, XPM, BMP, JPEG, PNG and PPM/PGM
+formats are supported, but an interface exists to allow additional
+image file formats to be added easily. A photo image is transparent
+in regions where no image data has been supplied
+or where it has been set transparent by the B<transparencySet>
+subcommand.
+
+=head1 CREATING PHOTOS
+
+Photos are created using the B<Photo> method.
+B<Photo> supports the following I<options>:
+
+=over 4
+
+=item B<-data> =E<gt> I<string>
+
+Specifies the contents of the image as a string.
+The string can
+contain base64 encoded data or binary data.
+The format of the
+string must be one of those for which there is an image file format
+handler that will accept string data. If both the B<-data>
+and B<-file> options are specified, the B<-file> option takes
+precedence.
+
+=item B<-format> =E<gt> I<format-name>
+
+Specifies the name of the file format for the data specified with the
+B<-data> or B<-file> option.
+
+=item B<-file> =E<gt> I<name>
+
+I<name> gives the name of a file that is to be read to supply data
+for the photo image. The file format must be one of those for which
+there is an image file format handler that can read data.
+
+=item B<-gamma> =E<gt> I<value>
+
+Specifies that the colors allocated for displaying this image in a
+window should be corrected for a non-linear display with the specified
+gamma exponent value. (The intensity produced by most
+CRT displays is a power function of the input value, to a good
+approximation; gamma is the exponent and is typically around 2).
+The value specified must be greater than zero. The default
+value is one (no correction). In general, values greater than one
+will make the image lighter, and values less than one will make it
+darker.
+
+=item B<-height> =E<gt> I<number>
+
+Specifies the height of the image, in pixels. This option is useful
+primarily in situations where the user wishes to build up the contents
+of the image piece by piece. A value of zero (the default) allows the
+image to expand or shrink vertically to fit the data stored in it.
+
+=item B<-palette> =E<gt> I<palette-spec>
+
+Specifies the resolution of the color cube to be allocated for
+displaying this image, and thus the number of colors used from the
+colormaps of the windows where it is displayed. The
+I<palette-spec> string may be either a single decimal number,
+specifying the number of shades of gray to use, or three decimal
+numbers separated by slashes (/), specifying the number of shades of
+red, green and blue to use, respectively. If the first form (a single
+number) is used, the image will be displayed in monochrome (i.e.,
+grayscale).
+
+=item B<-width> =E<gt> I<number>
+
+Specifies the width of the image, in pixels. This option is useful
+primarily in situations where the user wishes to build up the contents
+of the image piece by piece. A value of zero (the default) allows the
+image to expand or shrink horizontally to fit the data stored in it.
+
+=back
+
+=head1 IMAGE METHODS
+
+When a photo image is created, Tk also creates a new object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+
+Those options that write data to the image generally expand the size
+of the image, if necessary, to accommodate the data written to the
+image, unless the user has specified non-zero values for the
+B<-width> and/or B<-height> configuration options, in which
+case the width and/or height, respectively, of the image will not be
+changed.
+
+The following addition methods are available for photo images:
+
+=over 4
+
+=item I<$image>-E<gt>B<blank>
+
+Blank the image; that is, set the entire image to have no data, so it
+will be displayed as transparent, and the background of whatever
+window it is displayed in will show through.
+
+=item I<$image>-E<gt>B<copy>(I<sourceImage> ?,I<option value(s) ...>?)
+
+Copies a region from the image called I<$sourceImage> (which must
+be a photo image) to the image called I<$image>, possibly with
+pixel zooming and/or subsampling. If no options are specified, this
+method copies the whole of I<$sourceImage> into I<$image>,
+starting at coordinates (0,0) in I<$image>. The following
+options may be specified:
+
+=over 8
+
+=item B<-from> =E<gt> I<x1, y1, ? ,x2, y2?>
+
+Specifies a rectangular sub-region of the source image to be copied.
+(I<x1,y1>) and (I<x2,y2>) specify diagonally opposite corners of
+the rectangle. If I<x2> and I<y2> are not specified, the
+default value is the bottom-right corner of the source image. The
+pixels copied will include the left and top edges of the specified
+rectangle but not the bottom or right edges. If the B<-from>
+option is not given, the default is the whole source image.
+
+=item B<-to> =E<gt> I<x1, y1, ?, x2, y2?>
+
+Specifies a rectangular sub-region of the destination image to be
+affected. (I<x1,y1>) and (I<x2,y2>) specify diagonally opposite
+corners of the rectangle. If I<x2> and I<y2> are not specified,
+the default value is (I<x1,y1>) plus the size of the source
+region (after subsampling and zooming, if specified). If I<x2> and
+I<y2> are specified, the source region will be replicated if
+necessary to fill the destination region in a tiled fashion.
+
+=item B<-shrink>
+
+Specifies that the size of the destination image should be reduced, if
+necessary, so that the region being copied into is at the bottom-right
+corner of the image. This option will not affect the width or height
+of the image if the user has specified a non-zero value for the
+B<-width> or B<-height> configuration option, respectively.
+
+=item B<-zoom> =E<gt> I<x, y>
+
+Specifies that the source region should be magnified by a factor of
+I<x> in the X direction and I<y> in the Y direction. If I<y>
+is not given, the default value is the same as I<x>. With this
+option, each pixel in the source image will be expanded into a block
+of I<x> x I<y> pixels in the destination image, all the same
+color. I<x> and I<y> must be greater than 0.
+
+=item B<-subsample> =E<gt> I<x, y>
+
+Specifies that the source image should be reduced in size by using
+only every I<x>th pixel in the X direction and I<y>th pixel in
+the Y direction. Negative values will cause the image to be flipped
+about the Y or X axes, respectively. If I<y> is not given, the
+default value is the same as I<x>.
+
+=item B<-compositingrule> =E<gt> I<rule>
+
+Specifies how transparent pixels in the source image are combined with
+the destination image. When a compositing rule of I<overlay> is
+set, the old contents of the destination image are visible, as if the
+source image were printed on a piece of transparent film and placed
+over the top of the destination. When a compositing rule of I<set>
+is set, the old contents of the destination image are discarded and
+the source image is used as-is. The default compositing rule is
+I<overlay>.
+
+=back
+
+=item I<$image>-E<gt>B<data>(?I<option value(s), ...>?)
+
+Returns image data in the form of a string.
+The following options may be specified:
+
+=over 8
+
+=item B<-background> =E<gt> I< color>
+
+If the color is specified, the data will not contain any transparency
+information. In all transparent pixels the color will be replaced by
+the specified color.
+
+=item B<-format> =E<gt> I<format-name>
+
+Specifies the name of the image file format handler to be used.
+Specifically, this method searches
+for the first handler whose name matches a initial substring of
+I<format-name> and which has the capability to read this image data.
+If this option is not given, this method uses the first
+handler that has the capability to read the image data.
+
+=item B<-from> =E<gt> I<x1, y1, ?, x2, y2?>
+
+Specifies a rectangular region of I<$image> to be
+returned. If only I<x1> and I<y1> are specified, the region
+extends from I<(x1,y1)> to the bottom-right corner of
+I<$image>. If all four coordinates are given, they specify
+diagonally opposite corners of the rectangular region, including x1,y1
+and excluding x2,y2. The default,
+if this option is not given, is the whole image.
+
+=item B<-grayscale>
+
+If this options is specified, the data will not contain color
+information. All pixel data will be transformed into grayscale.
+
+=back
+
+=item I<$image>-E<gt>B<get>(I<x, y>)
+
+Returns the color of the pixel at coordinates (I<x>,I<y>) in the
+image as a list of three integers between 0 and 255, representing the
+red, green and blue components respectively.
+
+=item I<$image>-E<gt>B<put>(I<data> ?,B<-format>=E<gt>I<format-name>? ?,B<-to>=E<gt>I< x1 y1 ?x2 y2?>?)
+
+Sets pixels in I<$image> to the data specified in I<data>.
+This command first searches the list of image file format handlers for
+a handler that can interpret the data in I<data>, and then reads
+the image encoded within into I<$image> (the destination image).
+If I<data> does not match any known format, an attempt to interpret
+it as a (top-to-bottom) list of scan-lines is made, with each
+scan-line being a (left-to-right) list of pixel colors (see
+B<Tk_GetColor> for a description of valid colors.) Every scan-line
+must be of the same length. Note that when I<data> is a single
+color name, you are instructing Tk to fill a rectangular region with
+that color. The following options may be specified:
+
+=over 4
+
+=item B<-format> =E<gt>I<format-name>
+
+Specifies the format of the image data in I<data>.
+Specifically, only image file format handlers whose names begin with
+I<format-name> will be used while searching for an image data
+format handler to read the data.
+
+=item B<-to> =E<gt>I<x, y> ?I<, x2, y2>?
+
+Specifies the coordinates of the top-left corner (I<x1>,I<y1>)
+of the region of I<$image> into which data from I<filename>
+are to be read. The default is (0,0). If I<x2>,I<y2> is given
+and I<data> is not large enough to cover the rectangle specified by
+this option, the image data extracted will be tiled so it covers the
+entire destination rectangle. Note that if I<data> specifies a
+single color value, then a region extending to the bottom-right corner
+represented by (I<x2>,I<y2>) will be filled with that color.
+
+=back
+
+=item I<$image>-E<gt>B<read>(I<filename> ?,I<option value(s), ...>?)
+
+Reads image data from the file named I<filename> into the image.
+This method first searches the list of
+image file format handlers for a handler that can interpret the data
+in I<filename>, and then reads the image in I<filename> into
+I<$image> (the destination image). The following options may be
+specified:
+
+=over 8
+
+=item B<-format> =E<gt> I<format-name>
+
+Specifies the format of the image data in I<filename>.
+Specifically, only image file format handlers whose names begin with
+I<format-name> will be used while searching for an image data
+format handler to read the data.
+
+=item B<-from> =E<gt> I<x1, y1, x2, y2>
+
+Specifies a rectangular sub-region of the image file data to be copied
+to the destination image. If only I<x1> and I<y1> are
+specified, the region extends from (I<x1,y1>) to the bottom-right
+corner of the image in the image file. If all four coordinates are
+specified, they specify diagonally opposite corners or the region.
+The default, if this option is not specified, is the whole of the
+image in the image file.
+
+=item B<-shrink>
+
+If this option is specified, the size of I<$image> will be reduced, if
+necessary, so that the region into which the image file data are read
+is at the bottom-right corner of the I<$image>. This option
+will not affect the width or height of the image if the user has
+specified a non-zero value for the B<-width> or B<-height>
+configuration option, respectively.
+
+=item B<-to> =E<gt> I<x, y>
+
+Specifies the coordinates of the top-left corner of the region of
+I<$image> into which data from I<filename> are to be read.
+The default is (0,0).
+
+=back
+
+=item I<$image>-E<gt>B<redither>
+
+The dithering algorithm used in displaying photo images propagates
+quantization errors from one pixel to its neighbors.
+If the image data for I<$image> is supplied in pieces, the
+dithered image may not be exactly correct. Normally the difference is
+not noticeable, but if it is a problem, this method can be used to
+recalculate the dithered image in each window where the image is
+displayed.
+
+=item I<$image>-E<gt>B<transparency>(I<subcommand, ?arg, arg ...?>);
+
+Allows examination and manipulation of the transparency information in
+the photo image. Several subcommands are available:
+
+=over 4
+
+=item I<$image>-E<gt>B<transparencyGet>(I<x, y>);
+
+Returns a boolean indicating if the pixel at (I<x>,I<y>) is
+transparent.
+
+=item I<$image>-E<gt>B<transparencySet>(I<x, y, boolean>);
+
+Makes the pixel at (I<x>,I<y>) transparent if I<boolean> is
+true, and makes that pixel opaque otherwise.
+
+=back
+
+=item I<$image>-E<gt>B<write>(I<filename> ?,I<option value(s), ...>?)
+
+Writes image data from I<$image> to a file named I<filename>.
+The following options may be specified:
+
+=over 8
+
+=item B<-background> =E<gt> I< color>
+
+If the color is specified, the data will not contain any transparency
+information. In all transparent pixels the color will be replaced by
+the specified color.
+
+=item B<-format> =E<gt> I<format-name>
+
+Specifies the name of the image file format handler to be used to
+write the data to the file. Specifically, this subcommand searches
+for the first handler whose name matches a initial substring of
+I<format-name> and which has the capability to write an image
+file. If this option is not given, this subcommand uses the first
+handler that has the capability to write an image file.
+
+=item B<-from> =E<gt> I<x1, y1, ?, x2, y2?>
+
+Specifies a rectangular region of I<$image> to be written to the
+image file. If only I<x1> and I<y1> are specified, the region
+extends from I<(x1,y1)> to the bottom-right corner of
+I<$image>. If all four coordinates are given, they specify
+diagonally opposite corners of the rectangular region. The default,
+if this option is not given, is the whole image.
+
+
+=item B<-grayscale>
+
+If this options is specified, the data will not contain color
+information. All pixel data will be transformed into grayscale.
+
+=back
+
+=back
+
+=head1 IMAGE FORMATS
+
+The photo image code is structured to allow handlers for additional
+image file formats to be added easily. The photo image code maintains
+a list of these handlers. Handlers are added to the list by
+registering them with a call to B<Tk_CreatePhotoImageFormat>. The
+standard Tk distribution comes with handlers for XBM, XPM, BMP, JPEG,
+PNG and PPM/PGM formats, which are automatically registered on
+initialization.
+
+When reading an image file or processing
+string data specified with the B<-data> configuration option, the
+photo image code invokes each handler in turn until one is
+found that claims to be able to read the data in the file or string.
+Usually this will find the correct handler, but if it doesn't, the
+user may give a format name with the B<-format> option to specify
+which handler to use. In fact the photo image code will try those
+handlers whose names begin with the string specified for the
+B<-format> option (the comparison is case-insensitive). For
+example, if the user specifies B<-format> B<=E<gt>> B<gif>, then a handler
+named GIF87 or GIF89 may be invoked, but a handler
+named JPEG may not (assuming that such handlers had been
+registered).
+
+When writing image data to a file, the processing of the
+B<-format> option is slightly different: the string value given
+for the B<-format> option must begin with the complete name of the
+requested handler, and may contain additional information following
+that, which the handler can use, for example, to specify which variant
+to use of the formats supported by the handler.
+Note that not all image handlers may support writing transparency data
+to a file, even where the target image format does.
+
+=head1 COLOR ALLOCATION
+
+When a photo image is displayed in a window, the photo image code
+allocates colors to use to display the image and dithers the image, if
+necessary, to display a reasonable approximation to the image using
+the colors that are available. The colors are allocated as a color
+cube, that is, the number of colors allocated is the product of the
+number of shades of red, green and blue.
+
+Normally, the number of
+colors allocated is chosen based on the depth of the window. For
+example, in an 8-bit PseudoColor window, the photo image code will
+attempt to allocate seven shades of red, seven shades of green and
+four shades of blue, for a total of 198 colors. In a 1-bit StaticGray
+(monochrome) window, it will allocate two colors, black and white. In
+a 24-bit DirectColor or TrueColor window, it will allocate 256 shades
+each of red, green and blue. Fortunately, because of the way that
+pixel values can be combined in DirectColor and TrueColor windows,
+this only requires 256 colors to be allocated. If not all of the
+colors can be allocated, the photo image code reduces the number of
+shades of each primary color and tries again.
+
+The user can exercise some control over the number of colors that a
+photo image uses with the B<-palette> configuration option. If
+this option is used, it specifies the maximum number of shades of
+each primary color to try to allocate. It can also be used to force
+the image to be displayed in shades of gray, even on a color display,
+by giving a single number rather than three numbers separated by
+slashes.
+
+=head1 CREDITS
+
+The photo image type was designed and implemented by Paul Mackerras,
+based on his earlier photo widget and some suggestions from
+John Ousterhout.
+
+=head1 SEE ALSO
+
+L<Tk::Bitmap|Tk::Bitmap>
+L<Tk::Image|Tk::Image>
+L<Tk::Pixmap|Tk::Pixmap>
+
+=head1 KEYWORDS
+
+photo, image, color
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Pixmap.pod b/Master/tlpkg/tlperl/lib/Tk/Pixmap.pod
new file mode 100644
index 00000000000..d0f36b00e65
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Pixmap.pod
@@ -0,0 +1,64 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distribution are in the file
+# license.tcl.
+
+=head1 NAME
+
+Tk::Pixmap - Create color images from XPM files.
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<Pixmap>?(I<name>?,I<options>?)?
+
+=head1 DESCRIPTION
+
+XPM is a popular X Window image file format for storing color icons.
+The B<Pixmap> image type can be used to create color images using XPM files.
+
+Pixmaps support the following I<options>:
+
+=over 4
+
+=item B<-data> =E<gt> I<string>
+
+Specifies the contents of the source pixmap as a string. The string
+must adhere to the XPM file format (e.g., as generated by the
+B<pixmap(1)> program). If both the B<-data> and B<-file>
+options are specified, the B<-data> option takes precedence.
+Please note that the XPM file parsing code in the xpm library is
+somewhat fragile. The first line of the string must be "B</* XPM>
+*/" or otherwise a segmatation fault will be caused.
+
+=item B<-file> =E<gt> I<name>
+
+I<name> gives the name of a file whose contents define the source
+pixmap. The file must adhere to the XPM file format (e.g., as
+generated by the B<pixmap(1)> program).
+
+=back
+
+=head1 IMAGE METHODS
+
+When a pixmap image is created, Tk also creates a new object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+
+=head1 SEE ALSO
+
+L<Tk::Image|Tk::Image>
+
+=head1 KEYWORDS
+
+pixmap, image, tix
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Popup.pod b/Master/tlpkg/tlperl/lib/Tk/Popup.pod
new file mode 100644
index 00000000000..8d40a4ed275
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Popup.pod
@@ -0,0 +1,89 @@
+
+=head1 NAME
+
+Tk::Wm::Popup - popup dialog windows.
+
+=for pm Tk/Wm.pm
+
+=for category Tk Toplevel widgets
+
+=head1 SYNOPSIS
+
+ $dialog->Popup(qw/
+ -popover => 'cursor' | $widget | undef,
+ -overanchor => c | n | ne | e | se | s | sw | w | nw,
+ -popanchor => c | n | ne | e | se | s | sw | w | nw,
+ /);
+
+=head1 DESCRIPTION
+
+You've probably had occasion to use a Dialog (or DialogBox)
+widget. These widgets are derived from a Toplevel (which is a subclass
+of Tk::Wm, the window manager) and spend most of their time in a
+withdrawn state. It's also common to use Toplevels as containers for
+custom built popup windows. Menus, too, are dialogs derived from the
+window manager class. For this discussion, we'll use the simple term
+I<dialog> to refer any widget that pops up and awaits user
+interaction, whether it be a Menu, a special purpose Toplevel, or any
+of the dialog-type widgets, including, but not limited to, ColorEditor,
+Dialog, DialogBox, ErrorDialog, FileSelect, FBox, getOpenFile and
+getSaveFile.
+
+When it's time to display these dialogs, we call the Perl/Tk
+window manager B<Popup> method. B<Popup> accepts three special purpose
+options that specify placement information in high-level terms rather
+than numerical coordinates. It is B<Popup>'s responsibility to take
+our human specifications and turn them into actual screen
+coordinates before displaying the dialog.
+
+We can direct the dialog to appear in two general locations, either
+over another window (e.g. the root window (screen) or a particular
+widget), or over the cursor. This is called the I<popover
+location>. Once we've made this decision we can further refine the
+exact placement of the dialog relative to the popover location by
+specifying the intersection of two I<anchor points>. The I<popanchor
+point> is associated with the dialog and the I<overanchor point> is
+associated with the popover location (whether it be a window or the
+cursor). The point where the two anchor points coincide is the I<popup
+locus>. Anchor points are string values and can be I<c> (for center),
+or any of the eight cardinal compass points: I<n>, I<ne>, I<e>, I<se>,
+I<s>, I<sw>, I<w> or I<nw>.
+
+For example, if I<-popover> specifies a widget, I<-popanchor> is I<sw>,
+and I<-overanchor> is I<ne>, the the dialog's southwest corner pops up
+at the widget's northeast corner.
+
+=head1 OPTIONS
+
+The options recognized by B<Popup> are as follows:
+
+=over 4
+
+=item B<-popover>
+
+Specifies whether the dialog "pops over" a window or the cursor.
+It may be the string I<cursor>, a widget reference, or undef for the
+root window.
+
+=item B<-popanchor>
+
+Specifies the anchor point of the dialog. For instance, if I<e> is
+specified, the right side of the dialog is the anchor.
+
+=item B<-overanchor>
+
+Specifies where the dialog should anchor relative to the popover
+location. For instance, if I<e> is specified the dialog appears over
+the right side of the popover location and if it's I<ne> the the
+dialog is positioned at the upper-right corner of the popover location.
+
+=back
+
+=head1 AUTHOR
+
+Nick Ing-Simmons, Steve Lidie
+
+This code is distributed under the same terms as Perl.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/ROText.pod b/Master/tlpkg/tlperl/lib/Tk/ROText.pod
new file mode 100644
index 00000000000..b442164ae72
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/ROText.pod
@@ -0,0 +1,48 @@
+
+=head1 NAME
+
+Tk::ROText - 'readonly' perl/Tk Text widget
+
+=for pm Tk/ROText.pm
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+ use Tk::ROText;
+ ...
+ $ro = $mw->ROText(?options,...?);
+
+=head1 DESCRIPTION
+
+This "I<IS A>" text widget with all bindings removed that would alter
+the contents of the text widget. The contents can still be modified
+via method calls.
+
+=head2 BINDINGS
+
+Only read-only bindings from L<Tk::Text> are available in
+B<Tk::ROText>. Additionally the following bindings are defined:
+
+=over
+
+=item <space>
+
+Move the cursor forward by one screenful.
+
+=item <BackSpace>
+
+Move the cursor backward by one screenful.
+
+=back
+
+=head1 KEYWORDS
+
+widget, text, readonly
+
+=head1 SEE ALSO
+
+L<Tk::Text>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Radiobutton.pod b/Master/tlpkg/tlperl/lib/Tk/Radiobutton.pod
new file mode 100644
index 00000000000..4a1cee57d20
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Radiobutton.pod
@@ -0,0 +1,333 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Radiobutton - Create and manipulate Radiobutton widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$radiobutton> = I<$parent>-E<gt>B<Radiobutton>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground>
+B<-activeforeground>
+B<-anchor>
+B<-background>
+B<-bitmap>
+B<-borderwidth>
+B<-compound>
+B<-cursor>
+B<-disabledforeground>
+B<-font>
+B<-foreground>
+B<-highlightbackground>
+B<-highlightcolor>
+B<-highlightthickness>
+B<-image>
+B<-justify>
+B<-padx>
+B<-pady>
+B<-relief>
+B<-takefocus>
+B<-text>
+B<-textvariable>
+B<-underline>
+B<-wraplength>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies a L<perlE<sol>Tk callback|Tk::callbacks> to associate with the button. This command
+is typically invoked when mouse button 1 is released over the button
+window. The button's global variable (B<-variable> option) will
+be updated before the command is invoked.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies a desired height for the button.
+If an image or bitmap is being displayed in the button then the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in lines of text.
+If this option isn't specified, the button's desired height is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=item Name: B<indicatorOn>
+
+=item Class: B<IndicatorOn>
+
+=item Switch: B<-indicatoron>
+
+Specifies whether or not the indicator should be drawn. Must be a
+proper boolean value. If false, the B<relief> option is
+ignored and the widget's relief is always sunken if the widget is
+selected and raised otherwise.
+
+=item Command-Line Name: B<-offrelief>
+
+=item Database Name: B<offRelief>
+
+=item Database Class: B<OffRelief>
+
+Specifies the relief for the checkbutton when the indicator is not
+drawn and the checkbutton is off. The default value is B<raised>. By
+setting this option to B<flat> and setting
+B<-indicatoron false -overrelief raised>, the effect is achieved of
+having a flat button
+that raises on mouse-over and which is depressed when activated. This
+is the behavior typically exhibited by the Bold, Italic, and
+Underline checkbuttons on the toolbar of a word-processor, for
+example.
+
+=item Command-Line Name: B<-overrelief>
+
+=item Database Name: B<overRelief>
+
+=item Database Class: B<OverRelief>
+
+Specifies an alternative relief for the button, to be used when
+the mouse cursor is over the widget. This option can be used to
+make toolbar buttons, by configuring B<-relief flat -overrelief
+raised>. If the value of this option is the empty string, then
+no alternative relief is used when the mouse cursor is over the
+button. The empty string is the default value.
+
+=item Name: B<selectColor>
+
+=item Class: B<Background>
+
+=item Switch: B<-selectcolor>
+
+Specifies a background color to use when the button is selected.
+If B<indicatorOn> is true then the color applies to the indicator.
+Under Windows, this color is used as the background for the indicator
+regardless of the select state.
+If B<indicatorOn> is false, this color is used as the background
+for the entire widget, in place of B<background> or B<activeBackground>,
+whenever the widget is selected.
+If specified as an empty string then no special color is used for
+displaying when the widget is selected.
+
+=item Name: B<selectImage>
+
+=item Class: B<SelectImage>
+
+=item Switch: B<-selectimage>
+
+Specifies an image to display (in place of the B<image> option)
+when the radiobutton is selected.
+This option is ignored unless the B<image> option has been
+specified.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the radiobutton: B<normal>, B<active>,
+or B<disabled>. In normal state the radiobutton is displayed using the
+B<foreground> and B<background> options. The active state is
+typically used when the pointer is over the radiobutton. In active state
+the radiobutton is displayed using the B<activeForeground> and
+B<activeBackground> options. Disabled state means that the radiobutton
+should be insensitive: the default bindings will refuse to activate
+the widget and will ignore mouse button presses.
+In this state the B<disabledForeground> and
+B<background> options determine how the radiobutton is displayed.
+
+=item Name: B<value>
+
+=item Class: B<Value>
+
+=item Switch: B<-value>
+
+Specifies value to store in the button's associated variable whenever
+this button is selected.
+
+=item Name: B<variable>
+
+=item Class: B<Variable>
+
+=item Switch: B<-variable>
+
+Specifies reference to a variable to set whenever this button is
+selected. Changes in this variable also cause the button to select
+or deselect itself. Defaults to the value C<\$Tk::selectedButton>.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies a desired width for the button.
+If an image or bitmap is being displayed in the button, the value is in
+screen units (i.e. any of the forms acceptable to B<Tk_GetPixels>);
+for text it is in characters.
+If this option isn't specified, the button's desired width is computed
+from the size of the image or bitmap or text being displayed in it.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Radiobutton> method creates a new window (given by the
+$widget argument) and makes it into a radiobutton widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the radiobutton such as its colors, font,
+text, and initial relief. The B<radiobutton> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A radiobutton is a widget that displays a textual string, bitmap or image
+and a diamond or circle called an I<indicator>.
+If text is displayed, it must all be in a single font, but it
+can occupy multiple lines on the screen (if it contains newlines
+or if wrapping occurs because of the B<wrapLength> option) and
+one of the characters may optionally be underlined using the
+B<underline> option. A radiobutton has
+all of the behavior of a simple button: it can display itself in either
+of three different ways, according to the B<state> option;
+it can be made to appear
+raised, sunken, or flat; it can be made to flash; and it invokes
+a L<perlE<sol>Tk callback|Tk::callbacks> whenever mouse button 1 is clicked over the
+check button.
+
+In addition, radiobuttons can be I<selected>.
+If a radiobutton is selected, the indicator is normally
+drawn with a selected appearance, and
+a Tcl variable associated with the radiobutton is set to a particular
+value (normally 1).
+Under Unix, the indicator is drawn with a sunken relief and a special
+color. Under Windows, the indicator is drawn with a round mark inside.
+If the radiobutton is not selected, then the indicator is drawn with a
+deselected appearance, and the associated variable is
+set to a different value (typically 0).
+Under Unix, the indicator is drawn with a raised relief and no special
+color. Under Windows, the indicator is drawn without a round mark inside.
+Typically, several radiobuttons share a single variable and the
+value of the variable indicates which radiobutton is to be selected.
+When a radiobutton is selected it sets the value of the variable to
+indicate that fact; each radiobutton also monitors the value of
+the variable and automatically selects and deselects itself when the
+variable's value changes.
+By default the variable B<selectedButton>
+is used; its contents give the name of the button that is
+selected, or the empty string if no button associated with that
+variable is selected.
+The name of the variable for a radiobutton,
+plus the variable to be stored into it, may be modified with options
+on the command line or in the option database.
+Configuration options may also be used to modify the way the
+indicator is displayed (or whether it is displayed at all).
+By default a radiobutton is configured to select itself on button clicks.
+
+=head1 WIDGET METHODS
+
+The B<Radiobutton> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for radiobutton widgets:
+
+=over 4
+
+=item I<$radiobutton>-E<gt>B<deselect>
+
+Deselects the radiobutton and sets the associated variable to an
+empty string.
+If this radiobutton was not currently selected, the command has
+no effect.
+
+=item I<$radiobutton>-E<gt>B<flash>
+
+Flashes the radiobutton. This is accomplished by redisplaying the radiobutton
+several times, alternating between active and normal colors. At
+the end of the flash the radiobutton is left in the same normal/active
+state as when the command was invoked.
+This command is ignored if the radiobutton's state is B<disabled>.
+
+=item I<$radiobutton>-E<gt>B<invoke>
+
+Does just what would have happened if the user invoked the radiobutton
+with the mouse: selects the button and invokes
+its associated Tcl command, if there is one.
+The return value is the return value from the Tcl command, or an
+empty string if there is no command associated with the radiobutton.
+This command is ignored if the radiobutton's state is B<disabled>.
+
+=item I<$radiobutton>-E<gt>B<select>
+
+Selects the radiobutton and sets the associated variable to the
+value corresponding to this widget.
+
+=back
+
+=head1 BINDINGS
+
+Tk automatically creates class bindings for radiobuttons that give them
+the following default behavior:
+
+=over 4
+
+=item [1]
+
+On Unix systems, a radiobutton activates whenever the mouse passes
+over it and deactivates whenever the mouse leaves the radiobutton. On
+Mac and Windows systems, when mouse button 1 is pressed over a
+radiobutton, the button activates whenever the mouse pointer is inside
+the button, and deactivates whenever the mouse pointer leaves the
+button.
+
+=item [2]
+
+When mouse button 1 is pressed over a radiobutton it is invoked (it
+becomes selected and the command associated with the button is
+invoked, if there is one).
+
+=item [3]
+
+When a radiobutton has the input focus, the space key causes the radiobutton
+to be invoked.
+
+If the radiobutton's state is B<disabled> then none of the above
+actions occur: the radiobutton is completely non-responsive.
+
+The behavior of radiobuttons can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+radiobutton, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Scale.pod b/Master/tlpkg/tlperl/lib/Tk/Scale.pod
new file mode 100644
index 00000000000..72f6f8c7b5e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Scale.pod
@@ -0,0 +1,356 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Scale - Create and manipulate Scale widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$scale> = I<$parent>-E<gt>B<Scale>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground> B<-font> B<-highlightthickness> B<-repeatinterval>
+B<-background> B<-foreground> B<-orient> B<-takefocus>
+B<-borderwidth> B<-highlightbackground> B<-relief> B<-troughcolor>
+B<-cursor> B<-highlightcolor> B<-repeatdelay>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<bigIncrement>
+
+=item Class: B<BigIncrement>
+
+=item Switch: B<-bigincrement>
+
+Some interactions with the scale cause its value to change by
+``large'' increments; this option specifies the size of the
+large increments. If specified as 0, the large increments default
+to 1/10 the range of the scale.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies the prefix of a L<perlE<sol>Tk callback|Tk::callbacks> to invoke whenever the scale's
+value is changed via a method.
+The actual command consists
+of this option followed by a space and a real number indicating the
+new value of the scale.
+
+=item Name: B<digits>
+
+=item Class: B<Digits>
+
+=item Switch: B<-digits>
+
+An integer specifying how many significant digits should be retained
+when converting the value of the scale to a string.
+If the number is less than or equal to zero, then the scale picks
+the smallest value that guarantees that every possible slider
+position prints as a different string.
+
+=item Name: B<from>
+
+=item Class: B<From>
+
+=item Switch: B<-from>
+
+A real value corresponding to the left or top end of the scale.
+
+=item Name: B<label>
+
+=item Class: B<Label>
+
+=item Switch: B<-label>
+
+A string to display as a label for the scale. For
+vertical scales the label is displayed just to the right of the
+top end of the scale. For horizontal scales the label is displayed
+just above the left end of the scale. If the option is specified
+as an empty string, no label is displayed.
+
+=item Name: B<length>
+
+=item Class: B<Length>
+
+=item Switch: B<-length>
+
+Specifies the desired long dimension of the scale in screen units
+(i.e. any of the forms acceptable to B<Tk_GetPixels>).
+For vertical scales this is the scale's height; for horizontal scales
+it is the scale's width.
+
+=item Name: B<resolution>
+
+=item Class: B<Resolution>
+
+=item Switch: B<-resolution>
+
+A real value specifying the resolution for the scale.
+If this value is greater than zero then the scale's value will always be
+rounded to an even multiple of this value, as will tick marks and
+the endpoints of the scale. If the value is less than zero then no
+rounding occurs. Defaults to 1 (i.e., the value will be integral).
+
+=item Name: B<showValue>
+
+=item Class: B<ShowValue>
+
+=item Switch: B<-showvalue>
+
+Specifies a boolean value indicating whether or not the current
+value of the scale is to be displayed.
+
+=item Name: B<sliderLength>
+
+=item Class: B<SliderLength>
+
+=item Switch: B<-sliderlength>
+
+Specfies the size of the slider, measured in screen units along the slider's
+long dimension. The value may be specified in any of the forms acceptable
+to B<Tk_GetPixels>.
+
+=item Name: B<sliderRelief>
+
+=item Class: B<SliderRelief>
+
+=item Switch: B<-sliderrelief>
+
+Specifies the relief to use when drawing the slider, such as B<raised>
+or B<sunken>.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of three states for the scale: B<normal>,
+B<active>, or B<disabled>.
+If the scale is disabled then the value may not be changed and the scale
+won't activate.
+If the scale is active, the slider is displayed using the color
+specified by the B<activeBackground> option.
+
+=item Name: B<tickInterval>
+
+=item Class: B<TickInterval>
+
+=item Switch: B<-tickinterval>
+
+Must be a real value.
+Determines the spacing between numerical
+tick marks displayed below or to the left of the slider.
+If 0, no tick marks will be displayed.
+
+=item Name: B<to>
+
+=item Class: B<To>
+
+=item Switch: B<-to>
+
+Specifies a real value corresponding
+to the right or bottom end of the scale.
+This value may be either less than or greater than the B<from> option.
+
+=item Name: B<variable>
+
+=item Class: B<Variable>
+
+=item Switch: B<-variable>
+
+Specifies the name of a global variable to link to the scale. Whenever the
+value of the variable changes, the scale will update to reflect this
+value.
+Whenever the scale is manipulated interactively, the variable
+will be modified to reflect the scale's new value.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired narrow dimension of the trough in screen units
+(i.e. any of the forms acceptable to B<Tk_GetPixels>).
+For vertical scales this is the trough's width; for horizontal scales
+this is the trough's height.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Scale> method creates a new window (given by the
+$widget argument) and makes it into a scale widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the scale such as its colors, orientation,
+and relief. The B<scale> command returns its
+$widget argument. At the time this command is invoked,
+there must not exist a window named $widget, but
+$widget's parent must exist.
+
+A scale is a widget that displays a rectangular I<trough> and a
+small I<slider>. The trough corresponds to a range
+of real values (determined by the B<from>, B<to>, and
+B<resolution> options),
+and the position of the slider selects a particular real value.
+The slider's position (and hence the scale's value) may be adjusted
+with the mouse or keyboard as described in
+the L<"BINDINGS"> section below. Whenever the scale's value is changed, a Tcl
+command is invoked (using the B<command> option) to notify
+other interested widgets of the change.
+In addition, the value
+of the scale can be linked to a Tcl variable (using the B<variable>
+option), so that changes in either are reflected in the other.
+
+Three annotations may be displayed in a scale widget: a label
+appearing at the top right of the widget (top left for horizontal
+scales), a number displayed just to the left of the slider
+(just above the slider for horizontal scales), and a collection
+of numerical tick marks just to the left of the current value
+(just below the trough for horizontal scales). Each of these three
+annotations may be enabled or disabled using the
+configuration options.
+
+=head1 WIDGET METHODS
+
+The B<Scale> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for scale widgets:
+
+=over 4
+
+=item I<$scale>-E<gt>B<coords>(?I<value>?)
+
+Returns a list whose elements are the x and y coordinates of
+the point along the centerline of the trough that corresponds
+to I<value>.
+If I<value> is omitted then the scale's current value is used.
+
+=item I<$scale>-E<gt>B<get>(?I<x, y>?)
+
+If I<x> and I<y> are omitted, returns the current value
+of the scale. If I<x> and I<y> are specified, they give
+pixel coordinates within the widget; the command returns
+the scale value corresponding to the given pixel.
+Only one of I<x> or I<y> is used: for horizontal scales
+I<y> is ignored, and for vertical scales I<x> is ignored.
+
+=item I<$scale>-E<gt>B<identify>(I<x, y>)
+
+Returns a string indicating what part of the scale lies under
+the coordinates given by I<x> and I<y>.
+A return value of B<slider> means that the point is over
+the slider; B<trough1> means that the point is over the
+portion of the slider above or to the left of the slider;
+and B<trough2> means that the point is over the portion
+of the slider below or to the right of the slider.
+If the point isn't over one of these elements, an empty string
+is returned.
+
+=item I<$scale>-E<gt>B<set>(I<value>)
+
+This command is invoked to change the current value of the scale,
+and hence the position at which the slider is displayed. I<Value>
+gives the new value for the scale.
+The command has no effect if the scale is disabled.
+
+=back
+
+=head1 BINDINGS
+
+Tk automatically creates class bindings for scales that give them
+the following default behavior.
+Where the behavior is different for vertical and horizontal scales,
+the horizontal behavior is described in parentheses.
+
+=over 4
+
+=item [1]
+
+If button 1 is pressed in the trough, the scale's value will
+be incremented or decremented by the value of the B<resolution>
+option so that the slider moves in the direction of the cursor.
+If the button is held down, the action auto-repeats.
+
+=item [2]
+
+If button 1 is pressed over the slider, the slider can be dragged
+with the mouse.
+
+=item [3]
+
+If button 1 is pressed in the trough with the Control key down,
+the slider moves all the way to the end of its range, in the
+direction towards the mouse cursor.
+
+=item [4]
+
+If button 2 is pressed, the scale's value is set to the mouse
+position. If the mouse is dragged with button 2 down, the scale's
+value changes with the drag.
+
+=item [5]
+
+The Up and Left keys move the slider up (left) by the value
+of the B<resolution> option.
+
+=item [6]
+
+The Down and Right keys move the slider down (right) by the value
+of the B<resolution> option.
+
+=item [7]
+
+Control-Up and Control-Left move the slider up (left) by the
+value of the B<bigIncrement> option.
+
+=item [8]
+
+Control-Down and Control-Right move the slider down (right) by the
+value of the B<bigIncrement> option.
+
+=item [9]
+
+Home moves the slider to the top (left) end of its range.
+
+=item [10]
+
+End moves the slider to the bottom (right) end of its range.
+
+If the scale is disabled using the B<state> option then
+none of the above bindings have any effect.
+
+The behavior of scales can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+scale, slider, trough, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Scrollbar.pod b/Master/tlpkg/tlperl/lib/Tk/Scrollbar.pod
new file mode 100644
index 00000000000..838eb97e666
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Scrollbar.pod
@@ -0,0 +1,429 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Scrollbar - Create and manipulate Scrollbar widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+I<$scrollbar> = I<$parent>-E<gt>B<Scrollbar>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-activebackground> B<-highlightbackground> B<-orient> B<-takefocus>
+B<-background> B<-highlightcolor> B<-relief> B<-troughcolor>
+B<-borderwidth> B<-highlightthickness> B<-repeatdelay>
+B<-cursor> B<-jump> B<-repeatinterval>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<activeRelief>
+
+=item Class: B<ActiveRelief>
+
+=item Switch: B<-activerelief>
+
+Specifies the relief to use when displaying the element that is
+active, if any.
+Elements other than the active element are always displayed with
+a raised relief.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies a callback to invoke to change the view
+in the widget associated with the scrollbar. When a user requests
+a view change by manipulating the scrollbar, the callback is
+invoked. The callback is passed
+additional arguments as described later. This option almost always has
+a value such as B<[xview =E<gt> $widget]> or B<[yview =E<gt> $widget]>, consisting of the
+a widget object and either B<xview> (if the scrollbar is for
+horizontal scrolling) or B<yview> (for vertical scrolling).
+All scrollable widgets have B<xview> and B<yview> methods
+that take exactly the additional arguments appended by the scrollbar
+as described in L<"SCROLLING COMMANDS"> below.
+
+=item Name: B<elementBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-elementborderwidth>
+
+Specifies the width of borders drawn around the internal elements
+of the scrollbar (the two arrows and the slider). The value may
+have any of the forms acceptable to B<Tk_GetPixels>.
+If this value is less than zero, the value of the B<borderWidth>
+option is used in its place.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired narrow dimension of the scrollbar window,
+not including 3-D border, if any. For vertical
+scrollbars this will be the width and for horizontal scrollbars
+this will be the height.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Scrollbar> method creates a new window (given by the
+$widget argument) and makes it into a scrollbar widget.
+Additional options, described above, may be specified on the command
+line or in the option database to configure aspects of the scrollbar
+such as its colors, orientation, and relief.
+The B<scrollbar> command returns its $widget argument.
+At the time this command is invoked, there must not exist a window
+named $widget, but $widget's parent must exist.
+
+A scrollbar is a widget that displays two arrows, one at each end of
+the scrollbar, and a I<slider> in the middle portion of the
+scrollbar.
+It provides information about what is visible in an I<associated window>
+that displays an document of some sort (such as a file being edited or
+a drawing).
+The position and size of the slider indicate which portion of the
+document is visible in the associated window. For example, if the
+slider in a vertical scrollbar covers the top third of the area
+between the two arrows, it means that the associated window displays
+the top third of its document.
+
+Scrollbars can be used to adjust the view in the associated window
+by clicking or dragging with the mouse.
+See L<"BINDINGS"> below for details.
+
+=head1 ELEMENTS
+
+A scrollbar displays five elements, which are referred to in the
+methods for the scrollbar:
+
+=over 4
+
+=item B<arrow1>
+
+The top or left arrow in the scrollbar.
+
+=item B<trough1>
+
+The region between the slider and B<arrow1>.
+
+=item B<slider>
+
+The rectangle that indicates what is visible in the associated widget.
+
+=item B<trough2>
+
+The region between the slider and B<arrow2>.
+
+=item B<arrow2>
+
+The bottom or right arrow in the scrollbar.
+
+=back
+
+=head1 WIDGET METHODS
+
+The B<Scrollbar> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for scrollbar widgets:
+
+=over 4
+
+=item I<$scrollbar>-E<gt>B<activate>(?I<element>?)
+
+Marks the element indicated by I<element> as active, which
+causes it to be displayed as specified by the B<activeBackground>
+and B<activeRelief> options.
+The only element values understood by this command are B<arrow1>,
+B<slider>, or B<arrow2>.
+If any other value is specified then no element of the scrollbar
+will be active.
+If I<element> is not specified, the command returns
+the name of the element that is currently active, or an empty string
+if no element is active.
+
+=item I<$scrollbar>-E<gt>B<delta>(I<deltaX, deltaY>)
+
+Returns a real number indicating the fractional change in
+the scrollbar setting that corresponds to a given change
+in slider position. For example, if the scrollbar is horizontal,
+the result indicates how much the scrollbar setting must change
+to move the slider I<deltaX> pixels to the right (I<deltaY> is
+ignored in this case).
+If the scrollbar is vertical, the result indicates how much the
+scrollbar setting must change to move the slider I<deltaY> pixels
+down. The arguments and the result may be zero or negative.
+
+=item I<$scrollbar>-E<gt>B<fraction>(I<x, y>)
+
+Returns a real number between 0 and 1 indicating where the point
+given by I<x> and I<y> lies in the trough area of the scrollbar.
+The value 0 corresponds to the top or left of the trough, the
+value 1 corresponds to the bottom or right, 0.5 corresponds to
+the middle, and so on.
+I<X> and I<y> must be pixel coordinates relative to the scrollbar
+widget.
+If I<x> and I<y> refer to a point outside the trough, the closest
+point in the trough is used.
+
+=item I<$scrollbar>-E<gt>B<get>
+
+Returns the scrollbar settings in the form of a list whose
+elements are the arguments to the most recent B<set> method.
+
+=item I<$scrollbar>-E<gt>B<identify>(I<x, y>)
+
+Returns the name of the element under the point given by I<x> and
+I<y> (such as B<arrow1>), or an empty string if the point does
+not lie in any element of the scrollbar.
+I<X> and I<y> must be pixel coordinates relative to the scrollbar
+widget.
+
+=item I<$scrollbar>-E<gt>B<set>(I<first, last>)
+
+This command is invoked by the scrollbar's associated widget to
+tell the scrollbar about the current view in the widget.
+The command takes two arguments, each of which is a real fraction
+between 0 and 1.
+The fractions describe the range of the document that is visible in
+the associated widget.
+For example, if I<first> is 0.2 and I<last> is 0.4, it means
+that the first part of the document visible in the window is 20%
+of the way through the document, and the last visible part is 40%
+of the way through.
+
+=back
+
+=head1 SCROLLING COMMANDS
+
+When the user interacts with the scrollbar, for example by dragging
+the slider, the scrollbar notifies the associated widget that it
+must change its view.
+The scrollbar makes the notification by evaluating a callback
+specified as the scrollbar's B<-command> option.
+The callback may take several forms.
+In each case, the intial arguments passed are those
+specified in the B<-command> callback itself,
+which usually has a form like [B<yview> =E<gt> I<$widget>].
+(Which will invoke I<$widget>-E<gt>B<yview>(...) where
+the ... part is as below. See L<Tk::callbacks> for details.)
+The callback is passed additional arguments as follows:
+
+=over 4
+
+=item B<moveto>,I<fraction>
+
+I<Fraction> is a real number between 0 and 1.
+The widget should adjust its view so that the point given
+by I<fraction> appears at the beginning of the widget.
+If I<fraction> is 0 it refers to the beginning of the
+document. 1.0 refers to the end of the document, 0.333
+refers to a point one-third of the way through the document,
+and so on.
+
+=item B<scroll,>I<number,>B<units>
+
+The widget should adjust its view by I<number> units.
+The units are defined in whatever way makes sense for the widget,
+such as characters or lines in a text widget.
+I<Number> is either 1, which means one unit should scroll off
+the top or left of the window, or -1, which means that one unit
+should scroll off the bottom or right of the window.
+
+=item B<scroll>,I<number>,B<page>
+
+The widget should adjust its view by I<number> pages.
+It is up to the widget to define the meaning of a page; typically
+it is slightly less than what fits in the window, so that there
+is a slight overlap between the old and new views.
+I<Number> is either 1, which means the next page should
+become visible, or -1, which means that the previous page should
+become visible.
+
+=back
+
+=head1 OLD COMMAND SYNTAX
+
+In versions of Tk before 4.0, the B<set> and B<get> widget
+commands used a different form.
+This form is still supported for backward compatibility, but it
+is deprecated.
+In the old command syntax, the B<set> method has the
+following form:
+
+=over 4
+
+=item I<$scrollbar>-E<gt>B<set>(I<totalUnits, windowUnits, firstUnit, lastUnit>)
+
+In this form the arguments are all integers.
+I<TotalUnits> gives the total size of the object being displayed in the
+associated widget. The meaning of one unit depends on the associated
+widget; for example, in a text editor widget units might
+correspond to lines of
+text. I<WindowUnits> indicates the total number of units that
+can fit in the associated window at one time. I<FirstUnit>
+and I<lastUnit> give the indices of the first and last units
+currently visible in the associated window (zero corresponds to the
+first unit of the object).
+
+=back
+
+Under the old syntax the B<get> method returns a list
+of four integers, consisting of the I<totalUnits>, I<windowUnits>,
+I<firstUnit>, and I<lastUnit> values from the last B<set>
+method.
+
+The callbacks generated by scrollbars also have a different form
+when the old syntax is being used, the callback is passed a single argument:
+
+=over 4
+
+=item I<unit>
+
+I<Unit> is an integer that indicates what should appear at
+the top or left of the associated widget's window.
+It has the same meaning as the I<firstUnit> and I<lastUnit>
+arguments to the B<set> method.
+
+=back
+
+The most recent B<set> method determines whether or not
+to use the old syntax.
+If it is given two real arguments then the new syntax will be
+used in the future, and if it is given four integer arguments then
+the old syntax will be used.
+
+=head1 BINDINGS
+
+Tk automatically creates class bindings for scrollbars that give them
+the following default behavior.
+If the behavior is different for vertical and horizontal scrollbars,
+the horizontal behavior is described in parentheses.
+
+=over 4
+
+=item [1]
+
+Pressing button 1 over B<arrow1> causes the view in the
+associated widget to shift up (left) by one unit so that the
+document appears to move down (right) one unit.
+If the button is held down, the action auto-repeats.
+
+=item [2]
+
+Pressing button 1 over B<trough1> causes the view in the
+associated widget to shift up (left) by one screenful so that the
+document appears to move down (right) one screenful.
+If the button is held down, the action auto-repeats.
+
+=item [3]
+
+Pressing button 1 over the slider and dragging causes the view
+to drag with the slider.
+If the B<jump> option is true, then the view doesn't drag along
+with the slider; it changes only when the mouse button is released.
+
+=item [4]
+
+Pressing button 1 over B<trough2> causes the view in the
+associated widget to shift down (right) by one screenful so that the
+document appears to move up (left) one screenful.
+If the button is held down, the action auto-repeats.
+
+=item [5]
+
+Pressing button 1 over B<arrow2> causes the view in the
+associated widget to shift down (right) by one unit so that the
+document appears to move up (left) one unit.
+If the button is held down, the action auto-repeats.
+
+=item [6]
+
+If button 2 is pressed over the trough or the slider, it sets
+the view to correspond to the mouse position; dragging the
+mouse with button 2 down causes the view to drag with the mouse.
+If button 2 is pressed over one of the arrows, it causes the
+same behavior as pressing button 1.
+
+=item [7]
+
+If button 1 is pressed with the Control key down, then if the
+mouse is over B<arrow1> or B<trough1> the view changes
+to the very top (left) of the document; if the mouse is over
+B<arrow2> or B<trough2> the view changes
+to the very bottom (right) of the document; if the mouse is
+anywhere else then the button press has no effect.
+
+=item [8]
+
+In vertical scrollbars the Up and Down keys have the same behavior
+as mouse clicks over B<arrow1> and B<arrow2>, respectively.
+In horizontal scrollbars these keys have no effect.
+
+=item [9]
+
+In vertical scrollbars Control-Up and Control-Down have the same
+behavior as mouse clicks over B<trough1> and B<trough2>, respectively.
+In horizontal scrollbars these keys have no effect.
+
+=item [10]
+
+In horizontal scrollbars the Up and Down keys have the same behavior
+as mouse clicks over B<arrow1> and B<arrow2>, respectively.
+In vertical scrollbars these keys have no effect.
+
+=item [11]
+
+In horizontal scrollbars Control-Up and Control-Down have the same
+behavior as mouse clicks over B<trough1> and B<trough2>, respectively.
+In vertical scrollbars these keys have no effect.
+
+=item [12]
+
+The Prior and Next keys have the same behavior
+as mouse clicks over B<trough1> and B<trough2>, respectively.
+
+=item [13]
+
+The Home key adjusts the view to the top (left edge) of the document.
+
+=item [14]
+
+The End key adjusts the view to the bottom (right edge) of the document.
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::callbacks|Tk::callbacks>
+L<Tk::Scrolled|Tk::Scrolled>
+
+=head1 KEYWORDS
+
+scrollbar, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Scrolled.pod b/Master/tlpkg/tlperl/lib/Tk/Scrolled.pod
new file mode 100644
index 00000000000..cd6c648ef5e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Scrolled.pod
@@ -0,0 +1,86 @@
+=head1 NAME
+
+Tk::Scrolled - Create a widget with attached scrollbar(s)
+
+=for category Derived Widgets
+
+=for index_group Perl/Tk Constructs
+
+=head1 SYNOPSIS
+
+S< >I<$whatever> = I<$parent>-E<gt>B<Scrolled>(I<Whatever> ?,B<-scrollbars>=E<gt>I<where>? ?,...?);
+
+=head1 DESCRIPTION
+
+To stop a flood of B<ScrlWhatever> widgets Perl/Tk introcuded the special
+constructor B<Scrolled>. B<Scrolled> creates a widget of the given Class
+I<Whatever> with attached L<scrollbar(s)|Tk::Scrollbar>.
+
+=head1 OPTIONS
+
+All options beside B<-scrollbars> explained below are passed to
+the I<Whatever> widget constructor.
+
+=over 4
+
+=item -scrollbars
+
+Expects as argument the position where the scrollbars should be
+created: B<w>, B<e> or B<n>, B<s> or a combination of
+them. If the one or both positions are prefixed with B<o> the
+scrollbar will only show up if there is a 'real' need to scroll.
+
+=back
+
+=head1 ADVERTISED SUBWIDGETS
+
+See L<Tk::mega/"Subwidget"> how to use advertised widgets.
+
+=over 4
+
+=item scrolled
+
+the scrolled widget
+
+=item I<widget>
+
+same as B<scrolled> above. I<widget> is the kind of widget passed
+to scrolled as first argument in all lowercase.
+
+=item xscrollbar
+
+the B<Scrollbar> widget used for horizontal scrolling (if it exists)
+
+=item yscrollbar
+
+the B<Scrollbar> widget used for vertical scrolling (if it exists)
+
+=item corner
+
+a frame in the corner between the vertical and horizontal scrolbar
+
+=back
+
+=head1 BUGS
+
+If a widget does not support I<-{x,y}scrollcommand> options,
+B<Scrolled> does not complain if the specified widget class does
+not support them. E.g.,
+
+S< >I<$parent>->B<Scrolled>(B<'Button'>, ...)
+
+One does not get an error message or warning when one tries to
+configure scrollbars after the widget construction:
+
+S< >I<$ascrolled>->B<configure>(B<-scrollbars> => B<'e'>);
+
+=head1 SEE ALSO
+
+L<Tk::Scrollbar|Tk::Scrollbar>
+
+=head1 KEYWORDS
+
+scrolled, scrollbar
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Spinbox.pod b/Master/tlpkg/tlperl/lib/Tk/Spinbox.pod
new file mode 100644
index 00000000000..b18b7e1b9ae
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Spinbox.pod
@@ -0,0 +1,819 @@
+# Copyright (c) 2000 Jeffrey Hobbs.
+# Copyright (c) 2000 Ajuba Solutions.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# RCS: @(#) $Id: spinbox.n,v 1.3 2001/12/18 23:02:35 hobbs Exp $
+
+=head1 NAME
+
+Tk::Spinbox - Create and manipulate Spinbox widgets
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+I<$spinbox> = I<$parent>-E<gt>Spinbox(?I<options>?);
+
+ -activebackground -highlightthickness -repeatinterval
+ -background -insertbackground -selectbackground
+ -borderwidth -insertborderwidth -selectborderwidth
+ -cursor -insertontime -selectforeground
+ -exportselection -insertwidth -takefocus
+ -font -insertofftime -textvariable
+ -foreground -justify -xscrollcommand
+ -highlightbackground -relief
+ -highlightcolor -repeatdelay
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Option: B<-buttonbackground>
+
+=item Name: B<buttonBackground>
+
+=item Class: B<Background>
+
+The background color to be used for the spin buttons.
+
+=item Option: B<-buttoncursor>
+
+=item Name: B<buttonCursor>
+
+=item Class: B<Cursor>
+
+The cursor to be used when over the spin buttons. If this is empty
+(the default), a default cursor will be used.
+
+=item Option: B<-buttondownrelief>
+
+=item Name: B<buttonDownRelief>
+
+=item Class: B<Relief>
+
+The relief to be used for the upper spin button.
+
+=item Option: B<-buttonuprelief>
+
+=item Name: B<buttonUpRelief>
+
+=item Class: B<Relief>
+
+The relief to be used for the lower spin button.
+
+=item Option: B<-command>
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+Specifies a Perl/Tk callback to invoke whenever a Spinbutton is invoked.
+The callback has these two arguments I<appended> to any existing callback
+arguments: the current value of the widget and the direction of the button
+press (B<up> or B<down>).
+
+=item Option: B<-disabledbackground>
+
+=item Name: B<disabledBackground>
+
+=item Class: B<DisabledBackground>
+
+Specifies the background color to use when the Spinbox is disabled. If
+this option is the empty string, the normal background color is used.
+
+=item Option: B<-disabledforeground>
+
+=item Name: B<disabledForeground>
+
+=item Class: B<DisabledForeground>
+
+Specifies the foreground color to use when the Spinbox is disabled. If
+this option is the empty string, the normal foreground color is used.
+
+=item Option: B<-format>
+
+=item Name: B<format>
+
+=item Class: B<Format>
+
+Specifies an alternate format to use when setting the string value
+when using the B<-from> and B<-to> range.
+This must be a format specifier of the form B<%E<lt>padE<gt>.E<lt>padE<gt>f>,
+as it will format a floating-point number.
+
+=item Option: B<-from>
+
+=item Name: B<from>
+
+=item Class: B<From>
+
+A floating-point value corresponding to the lowest value for a Spinbox, to
+be used in conjunction with B<-to> and B<-increment>. When all
+are specified correctly, the Spinbox will use these values to control its
+contents. This value must be less than the B<-to> option.
+If B<-values> is specified, it supercedes this option.
+
+=item Option: B<-invalidcommand>
+
+=item Alias: B<-invcmd>
+
+=item Name: B<invalidCommand>
+
+=item Class: B<InvalidCommand>
+
+Specifies a script to eval when B<validateCommand> returns 0. Setting
+it to an empty string disables this feature (the default). The best use of
+this option is to set it to I<bell>. See B<Validation> below for
+more information.
+
+=item Option: B<-increment>
+
+=item Name: B<increment>
+
+=item Class: B<Increment>
+
+A floating-point value specifying the increment. When used with
+B<-from> and B<-to>, the value in the widget will be adjusted by
+B<-increment> when a spin button is pressed (up adds the value,
+down subtracts the value).
+
+=item Option: B<-readonlybackground>
+
+=item Name: B<readonlyBackground>
+
+=item Class: B<ReadonlyBackground>
+
+Specifies the background color to use when the Spinbox is readonly. If
+this option is the empty string, the normal background color is used.
+
+=item Option: B<-state>
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+Specifies one of three states for the Spinbox: B<normal>,
+B<disabled>, or B<readonly>. If the Spinbox is readonly, then the
+value may not be changed using methods and no insertion cursor
+will be displayed, even if the input focus is in the widget; the
+contents of the widget may still be selected. If the Spinbox is
+disabled, the value may not be changed, no insertion cursor will be
+displayed, the contents will not be selectable, and the Spinbox may
+be displayed in a different color, depending on the values of the
+B<-disabledforeground> and B<-disabledbackground> options.
+
+=item Option: B<-to>
+
+=item Name: B<to>
+
+=item Class: B<To>
+
+A floating-point value corresponding to the highest value for the Spinbox,
+to be used in conjunction with B<-from> and B<-increment>. When
+all are specified correctly, the Spinbox will use these values to control
+its contents. This value must be greater than the B<-from> option.
+If B<-values> is specified, it supercedes this option.
+
+=item Option: B<-validate>
+
+=item Name: B<validate>
+
+=item Class: B<Validate>
+
+Specifies the mode in which validation should operate: B<none>,
+B<focus>, B<focusin>, B<focusout>, B<key>, or B<all>.
+It defaults to B<none>. When you want validation, you must explicitly
+state which mode you wish to use. See B<Validation> below for more.
+
+=item Option: B<-validatecommand>
+
+=item Alias: B<-vcmd>
+
+=item Name: B<validateCommand>
+
+=item Class: B<ValidateCommand>
+
+Specifies a script to evaluate when you want to validate the input in the
+widget. Setting it to an empty string disables this feature (the default).
+Validation occurs according to the value of B<-validate>.
+This command must return a valid boolean value. If it returns 0 (or
+the valid boolean equivalent) then the value of the widget will not
+change and the B<invalidCommand> will be evaluated if it is set. If it
+returns 1, then value will be changed.
+See B<Validation> below for more information.
+
+=item Option: B<-values>
+
+=item Name: B<values>
+
+=item Class: B<Values>
+
+Must be a proper list value. If specified, the Spinbox will use these
+values as to control its contents, starting with the first value. This
+option has precedence over the B<-from> and B<-to> range.
+
+=item Option: B<-width>
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+Specifies an integer value indicating the desired width of the Spinbox window,
+in average-size characters of the widget's font.
+If the value is less than or equal to zero, the widget picks a
+size just large enough to hold its current text.
+
+=item Option: B<-wrap>
+
+=item Name: B<wrap>
+
+=item Class: B<Wrap>
+
+Must be a proper boolean value. If on, the Spinbox will wrap around the
+values of data in the widget.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Spinbox> method creates a new window (given by the
+$spinbox argument) and makes it into a Spinbox widget.
+Additional options, described above, may be specified on the
+command line or in the option database
+to configure aspects of the Spinbox such as its colors, font,
+and relief.
+
+A B<Spinbox> is an extended B<Entry> widget that allows he user
+to move, or spin, through a fixed set of ascending or descending values
+such as times or dates in addition to editing the value as in an
+B<entry>. When first created, a Spinbox's string is empty.
+A portion of the Spinbox may be selected as described below.
+If a Spinbox is exporting its selection (see the B<exportSelection>
+option), then it will observe the standard protocols for handling the
+selection; Spinbox selections are available as type B<STRING>.
+Spinboxes also observe the standard Tk rules for dealing with the
+input focus. When a Spinbox has the input focus it displays an
+I<insertion cursor> to indicate where new characters will be
+inserted.
+
+Spinboxes are capable of displaying strings that are too long to
+fit entirely within the widget's window. In this case, only a
+portion of the string will be displayed; commands described below
+may be used to change the view in the window. Spinboxes use
+the standard B<-xscrollcommand> mechanism for interacting with
+scrollbars (see the description of the B<-xscrollcommand> option
+for details). They also support scanning, as described below.
+
+=head1 VALIDATION
+
+Validation works by setting the B<validateCommand>
+option to a callback which will be evaluated according to the B<validate>
+option as follows:
+
+=over 4
+
+=item B<none>
+
+Default. This means no validation will occur.
+
+=item B<focus>
+
+B<validateCommand> will be called when the Spinbox receives or
+loses focus.
+
+=item B<focusin>
+
+B<validateCommand> will be called when the Spinbox receives focus.
+
+=item B<focusout>
+
+B<validateCommand> will be called when the Spinbox loses focus.
+
+=item B<key>
+
+B<validateCommand> will be called when the Spinbox is edited.
+
+=item B<all>
+
+B<validateCommand> will be called for all above conditions.
+
+
+The B<validateCommand> and B<invalidCommand> callbacks are invoked
+with at least 5 positional arguments, which are I<appended> to any already
+existing callback arguments:
+
+=over 4
+
+=item * 1
+
+The proposed value of the entry. If you are configuring the
+entry widget to have a new textVariable, this will be the value of that
+textVariable.
+
+=item * 2
+
+The characters to be added (or deleted). This will be C<undef>
+if validation is due to focus, explcit call to validate or if change
+is due to C<-textvariable> changing.
+
+=item * 3
+
+The current value of entry i.e. before the proposed change.
+
+=item * 4
+
+The index of character string to be added/deleted, if any. Otherwise -1.
+
+=item * 5
+
+Type of action. 1 == INSERT, 0 == DELETE,
+-1 if it's a forced validation or textVariable validation.
+
+=back
+
+In general, the B<textVariable> and B<validateCommand> can be
+dangerous to mix. Any problems have been overcome so that using the
+B<validateCommand> will not interfere with the traditional behavior of
+the Spinbox widget. Using the B<textVariable> for read-only purposes will
+never cause problems. The danger comes when you try set the
+B<textVariable> to something that the B<validateCommand> would not
+accept, which causes B<validate> to become I<none> (the
+B<invalidCommand> will not be triggered). The same happens
+when an error occurs evaluating the B<validateCommand>.
+
+Primarily, an error will occur when the B<validateCommand> or
+B<invalidCommand> encounters an error in its script while evaluating or
+B<validateCommand> does not return a valid boolean value. The
+B<validate> option will also set itself to B<none> when you edit the
+Spinbox widget from within either the B<validateCommand> or the
+B<invalidCommand>. Such editions will override the one that was being
+validated. If you wish to edit the value of the widget
+during validation and still have the B<validate> option set, you should
+include the command
+
+ my $val = $spinbox->cget(-validate);
+ $spinbox->configure(-validate => $val);
+
+in the B<validateCommand> or B<invalidCommand> (whichever one you
+were editing the Spinbox widget from). It is also recommended to not set an
+associated B<textVariable> during validation, as that can cause the
+Spinbox widget to become out of sync with the B<textVariable>.
+
+=back
+
+=head1 WIDGET METHODS
+
+The B<Spinbox> command creates a widget object whose
+name is $widget. This command may be used to invoke various
+operations on the widget. It has the following general form:
+
+ $widget->method(?arg arg ...?);
+
+Many of the methods for Spinboxes take one or more indices as
+arguments. An index specifies a particular character in the Spinbox's
+string, in any of the following ways:
+
+=over 4
+
+=item I<number>
+
+Specifies the character as a numerical index, where 0 corresponds
+to the first character in the string.
+
+=item B<anchor>
+
+Indicates the anchor point for the selection, which is set with the
+B<select from> and B<select adjust> methods.
+
+=item B<end>
+
+Indicates the character just after the last one in the Spinbox's string.
+This is equivalent to specifying a numerical index equal to the length
+of the Spinbox's string.
+
+=item B<insert>
+
+Indicates the character adjacent to and immediately following the
+insertion cursor.
+
+=item B<sel.first>
+
+Indicates the first character in the selection. It is an error to
+use this form if the selection isn't in the Spinbox window.
+
+=item B<sel.last>
+
+Indicates the character just after the last one in the selection.
+It is an error to use this form if the selection isn't in the
+Spinbox window.
+
+=item B<@>I<number>
+
+In this form, I<number> is treated as an x-coordinate in the
+Spinbox's window; the character spanning that x-coordinate is used.
+For example, ``B<@0>'' indicates the left-most character in the
+window.
+
+=back
+
+Abbreviations may be used for any of the forms above, e.g. ``B<e>''
+or ``B<sel.f>''. In general, out-of-range indices are automatically
+rounded to the nearest legal value.
+
+The following commands are possible for Spinbox widgets:
+
+=over 4
+
+=item I<$widget>-E<gt>B<bbox>(I<index>);
+
+Returns a list of four numbers describing the bounding box of the
+character given by I<index>.
+The first two elements of the list give the x and y coordinates of
+the upper-left corner of the screen area covered by the character
+(in pixels relative to the widget) and the last two elements give
+the width and height of the character, in pixels.
+The bounding box may refer to a region outside the visible area
+of the window.
+
+=item I<$widget>-E<gt>B<cget>(I<option>);
+
+Returns the current value of the configuration option given
+by I<option>.
+I<Option> may have any of the values accepted by the B<Spinbox>
+command.
+
+=item I<$widget>-E<gt>B<configure>(?I<option>?, ?I<value, option, value, ...>?);
+
+Query or modify the configuration options of the widget.
+If no I<option> is specified, returns a list describing all of
+the available options for $widget (see L<Tk::configure> for
+information on the format of this list). If I<option> is specified
+with no I<value>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no I<option> is specified). If
+one or more I<option-value> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s); in
+this case the command returns an empty string.
+I<Option> may have any of the values accepted by the B<Spinbox>
+command.
+
+=item I<$widget>-E<gt>B<delete>(I<first, >?I<last>?);
+
+Delete one or more elements of the Spinbox.
+I<First> is the index of the first character to delete, and
+I<last> is the index of the character just after the last
+one to delete.
+If I<last> isn't specified it defaults to I<first>+1,
+i.e. a single character is deleted.
+This command returns an empty string.
+
+=item I<$widget>-E<gt>B<get>;
+
+Returns the Spinbox's string.
+
+=item I<$widget>-E<gt>B<icursor>(I<index>);
+
+Arrange for the insertion cursor to be displayed just before the character
+given by I<index>. Returns an empty string.
+
+=item I<$widget>-E<gt>B<identify>(I<x, y>);
+
+Returns the name of the window element corresponding to coordinates
+I<x> and I<y> in the Spinbox. Return value is one of:
+B<none>, B<buttondown>, B<buttonup>, B<entry>.
+
+=item I<$widget>-E<gt>B<index>(I<index>);
+
+Returns the numerical index corresponding to I<index>.
+
+=item I<$widget>-E<gt>B<insert>(I<index, string>);
+
+Insert the characters of I<string> just before the character
+indicated by I<index>. Returns an empty string.
+
+=item I<$widget>-E<gt>B<invoke>(I<element>);
+
+Causes the specified element, either B<buttondown> or B<buttonup>,
+to be invoked, triggering the action associated with it.
+
+=item I<$widget>-E<gt>B<scan>(I<option, args>);
+
+This command is used to implement scanning on Spinboxes. It has
+two forms, depending on I<option>:
+
+=over 4
+
+=item I<$widget>-E<gt>B<scanMark>(I<x>);
+
+Records I<x> and the current view in the Spinbox window; used in
+conjunction with later B<scan dragto> commands. Typically this
+command is associated with a mouse button press in the widget. It
+returns an empty string.
+
+=item I<$widget>-E<gt>B<scanDragto>(I<x>);
+
+This command computes the difference between its I<x> argument
+and the I<x> argument to the last B<scan mark> command for
+the widget. It then adjusts the view left or right by 10 times the
+difference in x-coordinates. This command is typically associated
+with mouse motion events in the widget, to produce the effect of
+dragging the Spinbox at high speed through the window. The return
+value is an empty string.
+
+=back
+
+=item I<$widget>-E<gt>B<selection>(I<option, arg>);
+
+This command is used to adjust the selection within a Spinbox. It
+has several forms, depending on I<option>:
+
+=over 4
+
+=item I<$widget>-E<gt>B<selectionAdjust>(I<index>);
+
+Locate the end of the selection nearest to the character given by
+I<index>, and adjust that end of the selection to be at I<index>
+(i.e including but not going beyond I<index>). The other
+end of the selection is made the anchor point for future
+B<select to> commands. If the selection
+isn't currently in the Spinbox, then a new selection is created to
+include the characters between I<index> and the most recent
+selection anchor point, inclusive.
+Returns an empty string.
+
+=item I<$widget>-E<gt>B<selectionClear>;
+
+Clear the selection if it is currently in this widget. If the
+selection isn't in this widget then the command has no effect.
+Returns an empty string.
+
+=item I<$widget>-E<gt>B<selectionElement>(?I<element>?);
+
+Sets or gets the currently selected element. If a spinbutton element
+is specified, it will be displayed depressed.
+
+=item I<$widget>-E<gt>B<selectionFrom>(I<index>);
+
+Set the selection anchor point to just before the character
+given by I<index>. Doesn't change the selection.
+Returns an empty string.
+
+=item I<$widget>-E<gt>B<selectionPresent>;
+
+Returns 1 if there is are characters selected in the Spinbox,
+0 if nothing is selected.
+
+=item I<$widget>-E<gt>B<selectionRange>(I<start, >I<end>);
+
+Sets the selection to include the characters starting with
+the one indexed by I<start> and ending with the one just
+before I<end>.
+If I<end> refers to the same character as I<start> or an
+earlier one, then the Spinbox's selection is cleared.
+
+=item I<$widget>-E<gt>B<selectionTo>(I<index>);
+
+If I<index> is before the anchor point, set the selection
+to the characters from I<index> up to but not including
+the anchor point.
+If I<index> is the same as the anchor point, do nothing.
+If I<index> is after the anchor point, set the selection
+to the characters from the anchor point up to but not including
+I<index>.
+The anchor point is determined by the most recent B<select from>
+or B<select adjust> command in this widget.
+If the selection isn't in this widget then a new selection is
+created using the most recent anchor point specified for the widget.
+Returns an empty string.
+
+=back
+
+=item I<$widget>-E<gt>B<set>(?I<string>?);
+
+If I<string> is specified, the Spinbox will try and set it to this
+value, otherwise it just returns the Spinbox's string.
+If validation is on, it will occur when setting the string.
+
+=item I<$widget>-E<gt>B<validate>;
+
+This command is used to force an evaluation of the B<validateCommand>
+independent of the conditions specified by the B<validate> option.
+This is done by temporarily setting the B<validate> option to B<all>.
+It returns 0 or 1.
+
+=item I<$widget>-E<gt>B<xview>(I<args>);
+
+This command is used to query and change the horizontal position of the
+text in the widget's window. It can take any of the following
+forms:
+
+=over 4
+
+=item I<$widget>-E<gt>B<xview>;
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the horizontal span that is visible in the window.
+For example, if the first element is .2 and the second element is .6,
+20% of the Spinbox's text is off-screen to the left, the middle 40% is visible
+in the window, and 40% of the text is off-screen to the right.
+These are the same values passed to scrollbars via the B<-xscrollcommand>
+option.
+
+=item I<$widget>-E<gt>B<xview>(I<index>);
+
+Adjusts the view in the window so that the character given by I<index>
+is displayed at the left edge of the window.
+
+=item I<$widget>-E<gt>B<xviewMoveto>(I<fraction>);
+
+Adjusts the view in the window so that the character I<fraction> of the
+way through the text appears at the left edge of the window.
+I<Fraction> must be a fraction between 0 and 1.
+
+=item I<$widget>-E<gt>B<xviewScroll>(I<number, what>);
+
+This command shifts the view in the window left or right according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an abbreviation
+of one of these.
+If I<what> is B<units>, the view adjusts left or right by
+I<number> average-width characters on the display; if it is
+B<pages> then the view adjusts by I<number> screenfuls.
+If I<number> is negative then characters farther to the left
+become visible; if it is positive then characters farther to the right
+become visible.
+
+=back
+
+=back
+
+=head1 DEFAULT BINDINGS
+
+Tk automatically creates class bindings for Spinboxes that give them
+the following default behavior.
+In the descriptions below, ``word'' refers to a contiguous group
+of letters, digits, or ``_'' characters, or any single character
+other than these.
+
+=over 4
+
+=item [1]
+
+Clicking mouse button 1 positions the insertion cursor
+just before the character underneath the mouse cursor, sets the
+input focus to this widget, and clears any selection in the widget.
+Dragging with mouse button 1 strokes out a selection between
+the insertion cursor and the character under the mouse.
+
+=item [2]
+
+Double-clicking with mouse button 1 selects the word under the mouse
+and positions the insertion cursor at the beginning of the word.
+Dragging after a double click will stroke out a selection consisting
+of whole words.
+
+=item [3]
+
+Triple-clicking with mouse button 1 selects all of the text in the
+Spinbox and positions the insertion cursor before the first character.
+
+=item [4]
+
+The ends of the selection can be adjusted by dragging with mouse
+button 1 while the Shift key is down; this will adjust the end
+of the selection that was nearest to the mouse cursor when button
+1 was pressed.
+If the button is double-clicked before dragging then the selection
+will be adjusted in units of whole words.
+
+=item [5]
+
+Clicking mouse button 1 with the Control key down will position the
+insertion cursor in the Spinbox without affecting the selection.
+
+=item [6]
+
+If any normal printing characters are typed in a Spinbox, they are
+inserted at the point of the insertion cursor.
+
+=item [7]
+
+The view in the Spinbox can be adjusted by dragging with mouse button 2.
+If mouse button 2 is clicked without moving the mouse, the selection
+is copied into the Spinbox at the position of the mouse cursor.
+
+=item [8]
+
+If the mouse is dragged out of the Spinbox on the left or right sides
+while button 1 is pressed, the Spinbox will automatically scroll to
+make more text visible (if there is more text off-screen on the side
+where the mouse left the window).
+
+=item [9]
+
+The Left and Right keys move the insertion cursor one character to the
+left or right; they also clear any selection in the Spinbox and set
+the selection anchor.
+If Left or Right is typed with the Shift key down, then the insertion
+cursor moves and the selection is extended to include the new character.
+Control-Left and Control-Right move the insertion cursor by words, and
+Control-Shift-Left and Control-Shift-Right move the insertion cursor
+by words and also extend the selection.
+Control-b and Control-f behave the same as Left and Right, respectively.
+Meta-b and Meta-f behave the same as Control-Left and Control-Right,
+respectively.
+
+=item [10]
+
+The Home key, or Control-a, will move the insertion cursor to the
+beginning of the Spinbox and clear any selection in the Spinbox.
+Shift-Home moves the insertion cursor to the beginning of the Spinbox
+and also extends the selection to that point.
+
+=item [11]
+
+The End key, or Control-e, will move the insertion cursor to the
+end of the Spinbox and clear any selection in the Spinbox.
+Shift-End moves the cursor to the end and extends the selection
+to that point.
+
+=item [12]
+
+The Select key and Control-Space set the selection anchor to the position
+of the insertion cursor. They don't affect the current selection.
+Shift-Select and Control-Shift-Space adjust the selection to the
+current position of the insertion cursor, selecting from the anchor
+to the insertion cursor if there was not any selection previously.
+
+=item [13]
+
+Control-/ selects all the text in the Spinbox.
+
+=item [14]
+
+Control-\ clears any selection in the Spinbox.
+
+=item [15]
+
+The F16 key (labelled Copy on many Sun workstations) or Meta-w
+copies the selection in the widget to the clipboard, if there is a selection.
+
+=item [16]
+
+The F20 key (labelled Cut on many Sun workstations) or Control-w
+copies the selection in the widget to the clipboard and deletes
+the selection.
+If there is no selection in the widget then these keys have no effect.
+
+=item [17]
+
+The F18 key (labelled Paste on many Sun workstations) or Control-y
+inserts the contents of the clipboard at the position of the
+insertion cursor.
+
+=item [18]
+
+The Delete key deletes the selection, if there is one in the Spinbox.
+If there is no selection, it deletes the character to the right of
+the insertion cursor.
+
+=item [19]
+
+The BackSpace key and Control-h delete the selection, if there is one
+in the Spinbox.
+If there is no selection, it deletes the character to the left of
+the insertion cursor.
+
+=item [20]
+
+Control-d deletes the character to the right of the insertion cursor.
+
+=item [21]
+
+Meta-d deletes the word to the right of the insertion cursor.
+
+=item [22]
+
+Control-k deletes all the characters to the right of the insertion
+cursor.
+
+=item [23]
+
+Control-t reverses the order of the two characters to the right of
+the insertion cursor.
+
+If the Spinbox is disabled using the B<-state> option, then the Spinbox's
+view can still be adjusted and text in the Spinbox can still be selected,
+but no insertion cursor will be displayed and no text modifications will
+take place.
+
+The behavior of Spinboxes can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+=back
+
+=head1 KEYWORDS
+
+Spinbox, Entry, widget
diff --git a/Master/tlpkg/tlperl/lib/Tk/Submethods.pod b/Master/tlpkg/tlperl/lib/Tk/Submethods.pod
new file mode 100644
index 00000000000..2a83334f8b2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Submethods.pod
@@ -0,0 +1,27 @@
+
+=head1 NAME
+
+Tk::Submethods - add aliases for tk sub-commands
+
+=for pm Tk/Submethods.pm
+
+=for category Implementation
+
+=head1 SYNOPSIS
+
+ use Tk::Submethods ( 'command1' => [qw(sub1 sub2 sub3)],
+ 'command2' => [qw(sub1 sub2 sub3)]);
+
+=head1 DESCRIPTION
+
+Creates C<-E<gt>commandSub(...)> as an alias for C<-E<gt>command('sub',...)>
+e.g. C<-E<gt>grabRelease> for C<-E<gt>grab('release')>.
+
+For each command/subcommand pair this creates a closure with command
+and subcommand as bound lexical variables and assigns a reference to this
+to a 'glob' in the callers package.
+
+Someday the sub-commands may be created directly in the C code.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/TList.pod b/Master/tlpkg/tlperl/lib/Tk/TList.pod
new file mode 100644
index 00000000000..b8937fa8ef0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/TList.pod
@@ -0,0 +1,597 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distribution are in the file
+# license.tcl.
+
+=head1 NAME
+
+Tk::TList - Create and manipulate Tix Tabular List widgets
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >I<$tlist> = I<$parent>-E<gt>B<TList>(?I<options>?);
+
+=head1 SUPER-CLASS
+
+None.
+
+=head1 STANDARD OPTIONS
+
+B<-background> B<-borderwidth> B<-class> B<-cursor> B<-foreground>
+B<-font> B<-height> B<-highlightcolor> B<-highlightthickness>
+B<-relief> B<-selectbackground> B<-selectforeground>
+B<-xscrollcommand> B<-yscrollcommand> B<-width>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<browsecmd>
+
+=item Class: B<BrowseCmd>
+
+=item Switch: B<-browsecmd>
+
+Specifies a perl/Tk B<callback> to be executed when the user browses through the
+entries in the TList widget.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies the perl/Tk B<callback> to be executed when the user invokes a list
+entry in the TList widget. Normally the user invokes a list
+entry by double-clicking it or pressing the Return key.
+
+=item Name: B<foreground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-foreground>
+
+=item Alias: B<-fg>
+
+Specifies the default foreground color for the list entries.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window in number of characters.
+
+=item Name: B<itemType>
+
+=item Class: B<ItemType>
+
+=item Switch: B<-itemtype>
+
+Specifies the default type of display item for this TList widget. When
+you call the B<insert> methods, display items of this
+type will be created if the B<-itemtype> option is not specified.
+
+=item Name: B<orient>
+
+=item Class: B<Orient>
+
+=item Switch: B<-orient>
+
+Specifies the order of tabularizing the list entries. When set to
+"B<vertical>", the entries are arranged in a column, from top to
+bottom. If the entries cannot be contained in one column, the
+remaining entries will go to the next column, and so on. When set to
+"B<horizontal>", the entries are arranged in a row, from left to
+right. If the entries cannot be contained in one row, the remaining
+entries will go to the next row, and so on.
+
+=item Name: B<padX>
+
+=item Class: B<Pad>
+
+=item Switch: B<-padx>
+
+The default horizontal padding for list entries.
+
+=item Name: B<padY>
+
+=item Class: B<Pad>
+
+=item Switch: B<-padx>
+
+The default vertical padding for list entries.
+
+=item Name: B<selectBackground>
+
+=item Class: B<SelectBackground>
+
+=item Switch: B<-selectbackground>
+
+Specifies the background color for the selected list entries.
+
+=item Name: B<selectBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-selectborderwidth>
+
+Specifies a non-negative value indicating the width of the 3-D border
+to draw around selected items. The value may have any of the forms
+acceptable to B<Tk_GetPixels>.
+
+=item Name: B<selectForeground>
+
+=item Class: B<SelectForeground>
+
+=item Switch: B<-selectforeground>
+
+Specifies the foreground color for the selected list entries.
+
+=item Name: B<selectMode>
+
+=item Class: B<SelectMode>
+
+=item Switch: B<-selectmode>
+
+Specifies one of several styles for manipulating the selection. The
+value of the option may be arbitrary, but the default bindings expect
+it to be either B<single>, B<browse>, B<multiple>, or
+B<extended>; the default value is B<single>.
+
+=item Name: B<sizeCmd>
+
+=item Class: B<SizeCmd>
+
+=item Switch: B<-sizecmd>
+
+Specifies a perl/Tk B<callback> to be called whenever the TList widget
+changes its size. This command can be useful to implement "user scroll
+bars when needed" features.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies whether the TList command should react to user actions. When
+set to "B<normal>", the TList reacts to user actions in the normal
+way. When set to "B<disabled>", the TList can only be scrolled, but
+its entries cannot be selected or activated.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in characters.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<TList> method creates a new window (given by the
+$widget argument) and makes it into a TList widget.
+Additional options, described above, may be specified on the command
+line or in the option database to configure aspects of the
+TList widget such as its cursor and relief.
+
+The TList widget can be used to display data in a tabular format. The
+list entries of a TList widget are similar to the entries in the Tk
+listbox widget. The main differences are (1) the TList widget can
+display the list entries in a two dimensional format and (2) you can
+use graphical images as well as multiple colors and fonts for
+the list entries.
+
+Each list entry is identified by an B<index>, which can be in the
+following forms:
+
+=over 4
+
+=item I<number>
+
+An integer that indicates the position of the entry in the list. 0
+means the first position, 1 means the second position, and so on.
+
+=item B<end>
+
+Indicates the end of the listbox. For some commands this means just
+after the last entry; for other commands it means the last entry.
+
+=item B<@>I<x>,I<y>
+
+Indicates the element that covers the point in the listbox window
+specified by x and y (in pixel coordinates). If no element covers that
+point, then the closest element to that point is used.
+
+=back
+
+=head1 DISPLAY ITEMS
+
+Each list entry in an TList widget is associated with a B<display>
+item. The display item determines what visual information should
+be displayed for this list entry. Please see L<Tk::DItem>
+for a list of all display items.
+
+When a list entry is created by the B<insert> command, the type of
+its display item is determined by the B<-itemtype> option passed
+to these commands. If the B<-itemtype> is omitted, then by default
+the type specified by this TList widget's B<-itemtype> option is
+used.
+
+=head1 WIDGET METHODS
+
+The B<TList> method creates a widget object.
+
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for TList widgets:
+
+=over 4
+
+=item I<$tlist>-E<gt>B<anchorSet>(I<index>)
+
+Sets the anchor to the list entry identified by I<index>. The
+anchor is the end of the selection that is fixed while dragging out a
+selection with the mouse.
+
+=item I<$tlist>-E<gt>B<anchorClear>
+
+Removes the anchor, if any, from this TList widget. This only removes
+the surrounding highlights of the anchor entry and does not affect its
+selection status.
+
+=item I<$tlist>-E<gt>B<delete>(I<from, >?I<to>?)
+
+Deletes one or more list entries between the two entries specified by
+the indices I<from> and I<to>. If I<to> is not specified, deletes
+the single entry specified by I<from>.
+
+=item I<$tlist>-E<gt>B<dragsiteSet>(I<index>)
+
+Sets the dragsite to the list entry identified by
+I<index>. The dragsite is used to indicate the source of a
+drag-and-drop action. Currently drag-and-drop functionality has not
+been implemented in Tix yet.
+
+=item I<$tlist>-E<gt>B<dragsiteClear>
+
+Remove the dragsite, if any, from the this TList widget. This only
+removes the surrounding highlights of the dragsite entry and does not
+affect its selection status.
+
+=item I<$tlist>-E<gt>B<dropsiteSet>(I<index>)
+
+Sets the dropsite to the list entry identified by I<index>. The
+dropsite is used to indicate the target of a drag-and-drop
+action. Currently drag-and-drop functionality has not been implemented
+in Tix yet.
+
+=item I<$tlist>-E<gt>B<dropsiteClear>
+
+Remove the dropsite, if any, from the this TList widget. This only
+removes the surrounding highlights of the dropsite entry and does not
+affect its selection status.
+
+=item I<$tlist>-E<gt>B<entrycget>(I<index, option>)
+
+Returns the current value of the configuration option given by
+I<option> for the entry indentfied by I<index>. I<Option> may
+have any of the values accepted by the B<insert> method.
+
+=item I<$tlist>-E<gt>B<entryconfigure>(I<index, >?I<option>?, I<?value, option, value, ...>?)
+
+Query or modify the configuration options of the list entry identified
+by I<index>. If no I<option> is specified, returns a list
+describing all of the available options for I<index> (see
+B<Tk_ConfigureInfo> for information on the format of this list). If
+I<option> is specified with no I<value>, then the method
+returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no
+I<option> is specified). If one or more I<option-value> pairs
+are specified, then the command modifies the given option(s) to have
+the given value(s); in this case the method returns an empty string.
+I<Option> may have any of the values accepted by the B<insert>
+method. The exact set of options depends on the
+value of the B<-itemtype> option passed to the the B<insert>
+method when this list entry is created.
+
+=item I<$tlist>-E<gt>B<insert>(I<index, >?I<option, value, ...>?)
+
+Creates a new list entry at the position indicated by I<index>. The
+following configuration options can be given to configure the list
+entry:
+
+=over 8
+
+=item B<-itemtype> => I<type>
+
+Specifies the type of display item to be display for the new list
+entry. I<type> must be a valid display item type. Currently the
+available display item types are B<image>, B<imagetext>,
+B<text>, and I<$widget>. If this option is not specified, then by
+default the type specified by this TList widget's B<-itemtype>
+option is used.
+
+=item B<-state> => I<state>
+
+Specifies whether this entry can be selected or invoked by the user.
+Must be either B<normal> or B<disabled>.
+
+=item B<-data> => I<data>
+
+Arbitrary data to be associated with the entry (a perl scalar value).
+
+=back
+
+The B<insert> method accepts additional configuration options
+to configure the display item associated with this list entry. The set
+of additional configuration options depends on the type of the display
+item given by the B<-itemtype> option. Please see
+L<Tk::DItem> for a list of the configuration options for
+each of the display item types.
+
+=item I<$tlist>-E<gt>B<info>(I<option, >I<arg, ...>)
+
+Query information about the TList widget. I<option> can be one
+of the following:
+
+=over 8
+
+=item I<$tlist>-E<gt>B<info>(B<anchor, >I<index>)
+
+Returns the index of the current anchor, if any, of the TList
+widget. If the anchor is not set, returns the empty string.
+
+=item I<$tlist>-E<gt>B<info>(B<dragsite, >I<index>)
+
+Returns the index of the current dragsite, if any, of the TList
+widget. If the dragsite is not set, returns the empty string.
+
+=item I<$tlist>-E<gt>B<info>(B<dropsite, >I<index>)
+
+Returns the index of the current dropsite, if any, of the TList
+widget. If the dropsite is not set, returns the empty string.
+
+=item I<$tlist>-E<gt>B<info>(B<selection>)
+
+Returns a list of selected elements in the TList widget. If no entries
+are selected, returns an empty string.
+
+=back
+
+=item I<$tlist>-E<gt>B<nearest>(I<x, y>)
+
+Given an I<(x,y)> coordinate within the TList window, this command
+returns the index of the TList element nearest to that coordinate.
+
+=item I<$tlist>-E<gt>B<see>(I<index>)
+
+Adjust the view in the TList so that the entry given by I<index> is
+visible. If the entry is already visible then the command has no
+effect; otherwise TList scrolls to bring the element into view at the edge
+to which it is nearest.
+
+=item I<$tlist>-E<gt>B<selection>(I<option, >I<arg, ...>)
+
+This command is used to adjust the selection within a TList widget. It
+has several forms, depending on I<option>:
+
+=over 8
+
+=item I<$tlist>-E<gt>B<selectionClear>(?I<from>?, ?I<to>?)
+
+When no extra arguments are given, deselects all of the list entrie(s)
+in this TList widget. When only I<from> is given, only the list
+entry identified by I<from> is deselected. When both I<from> and
+I<to> are given, deselects all of the list entrie(s) between
+between I<from> and I<to>, inclusive, without affecting the
+selection state of entries outside that range.
+
+=item I<$tlist>-E<gt>B<selectionIncludes>(I<index>)
+
+Returns 1 if the list entry indicated by I<index> is currently
+selected; returns 0 otherwise.
+
+=item I<$tlist>-E<gt>B<selectionSet>(I<from, >?I<to>?)
+
+Selects all of the list entrie(s) between between I<from> and
+I<to>, inclusive, without affecting the selection state of entries
+outside that range. When only I<from> is given, only the list entry
+identified by I<from> is selected.
+
+=back
+
+=item I<$tlist>-E<gt>B<xview>(I<args>)
+
+This command is used to query and change the horizontal position of the
+information in the widget's window. It can take any of the following
+forms:
+
+=over 8
+
+=item I<$tlist>-E<gt>B<xview>
+
+Returns a list containing two elements. Each element is a real
+fraction between 0 and 1; together they describe the horizontal span
+that is visible in the window. For example, if the first element is
+0.2 and the second element is 0.6, 20% of the TList entry is
+off-screen to the left, the middle 40% is visible in the window, and
+40% of the entry is off-screen to the right. These are the same values
+passed to scrollbars via the B<-xscrollcommand> option.
+
+=item I<$tlist>-E<gt>B<xview>(I<index>)
+
+Adjusts the view in the window so that the list entry identified by
+I<index> is aligned to the left edge of the window.
+
+=item I<$tlist>-E<gt>B<xviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that I<fraction> of the total
+width of the TList is off-screen to the left. I<fraction> must be
+a fraction between 0 and 1.
+
+=item I<$tlist>-E<gt>B<xviewScroll>(I<number, what>)
+
+This command shifts the view in the window left or right according to
+I<number> and I<what>. I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an
+abbreviation of one of these. If I<what> is B<units>, the view
+adjusts left or right by I<number> character units (the width of
+the B<0> character) on the display; if it is B<pages> then the
+view adjusts by I<number> screenfuls. If I<number> is negative
+then characters farther to the left become visible; if it is positive
+then characters farther to the right become visible.
+
+=back
+
+=item I<$tlist>-E<gt>B<yview>(I<?args>?)
+
+This command is used to query and change the vertical position of the
+entries in the widget's window. It can take any of the following forms:
+
+=over 8
+
+=item I<$tlist>-E<gt>B<yview>
+
+Returns a list containing two elements, both of which are real
+fractions between 0 and 1. The first element gives the position of
+the list element at the top of the window, relative to the TList as a
+whole (0.5 means it is halfway through the TList, for example). The
+second element gives the position of the list entry just after the
+last one in the window, relative to the TList as a whole. These are
+the same values passed to scrollbars via the B<-yscrollcommand>
+option.
+
+=item I<$tlist>-E<gt>B<yview>(I<index>)
+
+Adjusts the view in the window so that the list entry given by
+I<index> is displayed at the top of the window.
+
+=item I<$tlist>-E<gt>B<yviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that the list entry given by
+I<fraction> appears at the top of the window. I<Fraction> is a
+fraction between 0 and 1; 0 indicates the first entry in the TList,
+0.33 indicates the entry one-third the way through the TList, and so
+on.
+
+=item I<$tlist>-E<gt>B<yviewScroll>(I<number, what>)
+
+This command adjust the view in the window up or down according to
+I<number> and I<what>. I<Number> must be an integer.
+I<What> must be either B<units> or B<pages>. If I<what>
+is B<units>, the view adjusts up or down by I<number> lines; if
+it is B<pages> then the view adjusts by I<number> screenfuls.
+If I<number> is negative then earlier entries become visible; if
+it is positive then later entries become visible.
+
+=back
+
+=back
+
+=head1 BINDINGS
+
+=over 4
+
+=item [1]
+
+If the B<-selectmode> is "browse", when the user drags the mouse
+pointer over the list entries, the entry under the pointer will be
+highlighted and the B<-browsecmd> procedure will be called with
+one parameter, the index of the highlighted entry. Only one entry
+can be highlighted at a time. The B<-command> procedure will be
+called when the user double-clicks on a list entry.
+
+=item [2]
+
+If the B<-selectmode> is "single", the entries will only be
+highlighted by mouse E<lt>ButtonRelease-1E<gt> events. When a new list entry
+is highlighted, the B<-browsecmd> procedure will be called with
+one parameter indicating the highlighted list entry. The
+B<-command> procedure will be called when the user double-clicks
+on a list entry.
+
+=item [3]
+
+If the B<-selectmode> is "multiple", when the user drags the mouse
+pointer over the list entries, all the entries under the pointer will
+be highlighted. However, only a contiguous region of list entries can
+be selected. When the highlighted area is changed, the
+B<-browsecmd> procedure will be called with an undefined
+parameter. It is the responsibility of the B<-browsecmd> procedure
+to find out the exact highlighted selection in the TList. The
+B<-command> procedure will be called when the user double-clicks
+on a list entry.
+
+=item [4]
+
+If the B<-selectmode> is "extended", when the user drags the mouse
+pointer over the list entries, all the entries under the pointer will
+be highlighted. The user can also make disjointed selections using
+E<lt>Control-ButtonPress-1E<gt>. When the highlighted area is changed, the
+B<-browsecmd> procedure will be called with an undefined
+parameter. It is the responsibility of the B<-browsecmd> procedure
+to find out the exact highlighted selection in the TList. The
+B<-command> procedure will be called when the user double-clicks
+on a list entry.
+
+=back
+
+=cut
+
+# BUG:
+# click on 'one' in example below does not make
+# it 'active' item (didn't GBARR reported this before!?)
+
+=head1 EXAMPLE
+
+This example demonstrates how to use an TList to store a list of
+numbers:
+
+ use strict;
+ use Tk ();
+ use Tk::TList;
+
+ my $mw = Tk::MainWindow->new();
+ my $image = $mw->Getimage('folder');
+ my $tlist = $mw->TList(-orient => 'vertical');
+ for my $text ( qw/one two three four five six seven eight nine/ ) {
+ $tlist->insert('end',
+ -itemtype=>'imagetext', -image=>$image, -text=>$text);
+ }
+
+ $tlist->pack(-expand=>'yes', -fill=>'both');
+
+ Tk::MainLoop;
+
+=head1 SEE ALSO
+
+L<Tk::options|Tk::options>
+L<Tk::Widget|Tk::Widget>
+L<Tk::DItem|Tk::DItem>
+L<Tk::HList|Tk::HList>
+L<Tk::TixGrid|Tk::TixGrid>
+
+=head1 KEYWORDS
+
+Tix(n), Tabular Listbox, Display Items
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Table.pod b/Master/tlpkg/tlperl/lib/Tk/Table.pod
new file mode 100644
index 00000000000..02b6690b869
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Table.pod
@@ -0,0 +1,102 @@
+
+=head1 NAME
+
+Tk::Table - Scrollable 2 dimensional table of Tk widgets
+
+=for pm Tk/Table.pm
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+ use Tk::Table;
+
+ $table = $parent->Table(-rows => number,
+ -columns => number,
+ -scrollbars => anchor,
+ -fixedrows => number,
+ -fixedcolumns => number,
+ -takefocus => boolean);
+
+ $widget = $table->Button(...);
+
+ $old = $table->put($row,$col,$widget);
+ $old = $table->put($row,$col,"Text"); # simple Label
+ $widget = $table->get($row,$col);
+
+ $cols = $table->totalColumns;
+ $rows = $table->totalRows;
+
+ $table->see($widget);
+ $table->see($row,$col);
+
+ ($row,$col) = $table->Posn($widget);
+
+=head1 DESCRIPTION
+
+Tk::Table is an all-perl widget/geometry manager which allows a two dimensional
+table of arbitary perl/Tk widgets to be displayed.
+
+Entries in the Table are simply ordinary perl/Tk widgets. They should
+be created with the Table as their parent. Widgets are positioned in the
+table using:
+
+ $table->put($row,$col,$widget)
+
+If I<$widget> is not a reference it is treated as a string, and
+a Lable widget is created with the string as its text.
+
+All the widgets in each column are set to the same width - the requested
+width of the widest widget in the column.
+Likewise, all the widgets in each row are set to the same height - the requested
+height of the tallest widget in the column.
+
+A number of rows and/or columns can be marked as 'fixed' - and so can serve
+as 'headings' for the remainder the rows which are scrollable.
+
+The requested size of the table as a whole is such that the number of rows
+specified by -rows (default 10), and number of columns specified by -columns
+(default 10) can be displayed.
+
+If the Table is told it can take the keyboard focus then cursor and scroll
+keys scroll the displayed widgets.
+
+The Table will create and manage its own scrollbars if requested via
+-scrollbars.
+
+The table can be emptied using
+
+ $table->clear
+
+the widgets which were in the table are destroyed.
+
+
+The Tk::Table widget is derived from a Tk::Frame, so inherits all its
+configure options.
+
+The default focus traversal is giving the focus only to the table
+widget as a whole. To enable focus traversal into table cells (e.g. if
+there are embedded entry widgets), then the option C<-takefocus> has
+to be set to C<0>.
+
+=head1 BUGS / Snags / Possible enhancements
+
+=over 4
+
+=item *
+
+Very large Tables consume a lot of X windows.
+
+=item *
+
+No equivalent of pack's -anchor/-pad etc. options
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::grid>, L<Tk::HList>, L<Tk::TableMatrix>, L<Tk::MListbox>,
+L<Tk::Columns>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Tcl-perl.pod b/Master/tlpkg/tlperl/lib/Tk/Tcl-perl.pod
new file mode 100644
index 00000000000..2310e0738e4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Tcl-perl.pod
@@ -0,0 +1,200 @@
+=head1 NAME
+
+Tcl vs perl - very old suspect documentation on porting.
+
+=for category Other Modules and Languages
+
+=head1 DESCRIPTION
+
+This isn't really a .pod yet, nor is it Tcl vs perl
+it is a copy of John's comparison of Malcolm's original perl/Tk
+port with the current one. It is also out-of-date in places.
+
+ From: john@WPI.EDU (John Stoffel )
+
+ Here are some thoughts on the new Tk extension and how I think the
+ organization of the commands looks. Mostly, I'm happy with it, it
+ makes some things more organized and more consistent with tcl/tk, but
+ since the overlying language is so different, I don't think we need to
+ follow exactly the tcl/tk model for how to call the language.
+
+ The basic structure of the Tk program is:
+
+ require Tk;
+
+ $top = MainWindow->new();
+
+ #
+ # create widgets
+ #
+
+ Tk::MainLoop;
+
+ sub method1 {
+ }
+
+ sub methodN {
+ }
+
+ This is pretty much the same as tkperl5a5, with some cosmetic naming
+ changes, and some more useful command name and usage changes. A quick
+ comparison in no particular order follows:
+
+ tkperl5a5 Tk
+ ------------------------------- -----------------------------------
+ $top=tkinit(name,display,sync); $top=MainWindow->new();
+
+ tkpack $w, ... ; $w->pack(...)
+
+ $w = Class::new($top, ...); $w = $top->Class(...);
+
+ tkmainloop; Tk::MainLoop;
+
+ tkbind($w,"<key>",sub); $w->bind("<key>",sub);
+
+ tkdelete($w, ...); $w->delete(...);
+
+ $w->scanmark(...); $w->scan("mark", ...);
+
+ $w->scandragto(...); $w->scan("dragto", ...);
+
+ $w->tkselect(); $w->Select();
+
+ $w->selectadjust(...); $w->selection("adjust", ...);
+
+ $w->selectto(...); $w->selection("to", ...);
+
+ $w->selectfrom(...); $w->selection("from", ...);
+
+ $w->tkindex(...); $w->index(...);
+
+ tclcmd("xxx",...); &Tk::xxx(...) # all Tk commands, but no Tcl at all
+
+ tclcmd("winfo", xxx, $w, ...); $w->xxx(...);
+
+ $w->mark(...);
+
+ $w->tag(...);
+
+ $w->grabstatus(); $w->grab("status");
+
+ $w->grabrelease(...); $w->grab("release", ...);
+
+ focus($w); $w->focus;
+
+ update(); Tk->update();
+
+ idletasks(); Tk->update("idletasks");
+
+ wm("cmd",$w, ...); $w->cmd(...);
+
+ destroy($w); $w->destroy();
+
+ Tk::option(...);
+ $w->OptionGet(name,Class)
+
+ $w->place(...)
+
+ Tk::property(...);
+
+ $w = Entry::new($parent,...)
+
+ is now
+
+ $w = $parent->Entry(...)
+
+ As this allows new to be inherited from a Window class.
+
+ -method=>x,-slave=>y
+
+ is now
+
+ -command => [x,y]
+
+ 1st element of list is treated as "method" if y is an object reference.
+ (You can have -command => [a,b,c,d,e] too; b..e get passed as args).
+
+ Object references are now hashes rather than scalars and there
+ is only ever one such per window. The Tcl_CmdInfo and PathName
+ are entries in the hash.
+
+ (This allows derived classes to
+ re-bless the hash and keep their on stuff in it too.)
+
+ Tk's "Tcl_Interp" is in fact a ref to "." window.
+ You can find all the Tk windows descended from it as their object
+ references get added (by PathName) into this hash.
+ $w->MainWindow returns this hash from any window.
+
+ I think that it should extend to multiple tkinits / Tk->news
+ with different Display's - if Tk code does.
+
+ Finally "bind" passes window as "extra" (or only)
+ argument. Thus
+
+ Tk::Button->bind(<Any-Enter>,"Enter");
+
+ Binds Enter events to Tk::Button::Enter by default
+ but gets called as $w->Enter so derived class of Button can just
+ define its own Enter method. &EvWref and associated globals and race
+ conditions are no longer needed.
+
+ One thing to beware of : commands bound to events with $widget->bind
+ follow same pattern, but get passed extra args :
+
+ $widget->bind(<Any-1>,[sub {print shift}, $one, $two ]);
+
+ When sub gets called it has :
+
+ $widget $one $two
+
+ passed.
+
+ 1st extra arg is reference to the per-widget hash that serves as the
+ perl object for the widget.
+
+ Every time an XEvent a reference to a special class is placed
+ in the widget hash. It can be retrieved by $w->XEvent method.
+
+ The methods of the XEvent class are the
+ Tcl/Tk % special characters.
+
+ Thus:
+
+ $widget->bind(<Any-KeyPress>,
+ sub {
+ my $w = shift;
+ my $e = $w->XEvent;
+ print $w->PathName," ",$e->A," pressed ,$e->xy,"\n");
+ });
+
+ XEvent->xy is a special case which returns "@" . $e->x . "," . $e->y
+ which is common in Text package.
+
+ Because of passing a blessed widget hash to "bound" subs they can be
+ bound to (possibly inherited) methods of the widget's class:
+
+ Class->bind(<Any-Down>,Down);
+
+ sub Class::Down
+ {
+ my $w = shift;
+ # handle down arrow
+ }
+
+ Also:
+
+ -command and friends can take a list the 1st element can be a ref to
+ as sub or a method name. Remaining elements are passed as args to the
+ sub at "invoke" time. Thus :
+
+ $b= $w->Button(blah blah, '-command' => [sub{print shift} , $fred ]);
+
+ Should do the trick, provided $fred is defined at time of button creation.
+
+ Thus 1st element of list is equivalent to Malcolm's -method and second
+ would be his -slave. Any further elements are a bonus and avoid
+ having to pass ref to an array/hash as a slave.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Text.pm b/Master/tlpkg/tlperl/lib/Tk/Text.pm
index 2d87bbff49d..bef423c0afb 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Text.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Text.pm
@@ -21,7 +21,7 @@ use Text::Tabs;
use vars qw($VERSION);
#$VERSION = sprintf '4.%03d', q$Revision: #24 $ =~ /\D(\d+)\s*$/;
-$VERSION = '4.029';
+$VERSION = '4.030';
use Tk qw(Ev $XS_VERSION);
use base qw(Tk::Clipboard Tk::Widget);
@@ -61,6 +61,8 @@ sub bindRdOnly
$mw->bind($class,'<Meta-B1-Motion>','NoOp');
$mw->bind($class,'<Meta-1>','NoOp');
$mw->bind($class,'<Alt-KeyPress>','NoOp');
+ $mw->bind($class,'<Meta-KeyPress>','NoOp');
+ $mw->bind($class,'<Control-KeyPress>','NoOp');
$mw->bind($class,'<Escape>','unselectAll');
$mw->bind($class,'<1>',['Button1',Ev('x'),Ev('y')]);
diff --git a/Master/tlpkg/tlperl/lib/Tk/Text.pod b/Master/tlpkg/tlperl/lib/Tk/Text.pod
new file mode 100644
index 00000000000..a069ee889a2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Text.pod
@@ -0,0 +1,2224 @@
+# Copyright (c) 1992 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# Copyright (c) 2002 O'Reilly & Associates Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Text - Create and manipulate Text widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+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>
+B<-cursor> B<-highlightthickness> B<-padx> B<-setgrid>
+B<-exportselection> B<-insertbackground> B<-pady> B<-takefocus>
+B<-font> B<-insertborderwidth> B<-relief> B<-xscrollcommand>
+B<-foreground> B<-insertofftime> B<-selectbackground> B<-yscrollcommand>
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window, in units of characters
+in the font given by the B<-font> option.
+Must be at least one.
+
+=item Name: B<spacing1>
+
+=item Class: B<Spacing1>
+
+=item Switch: B<-spacing1>
+
+Requests additional space above each text line in the widget,
+using any of the standard forms for screen distances.
+If a line wraps, this option only applies to the first line
+on the display.
+This option may be overriden with B<-spacing1> options in
+tags.
+
+=item Name: B<spacing2>
+
+=item Class: B<Spacing2>
+
+=item Switch: B<-spacing2>
+
+For lines that wrap (so that they cover more than one line on the
+display) this option specifies additional space to provide between
+the display lines that represent a single line of text.
+The value may have any of the standard forms for screen distances.
+This option may be overriden with B<-spacing2> options in
+tags.
+
+=item Name: B<spacing3>
+
+=item Class: B<Spacing3>
+
+=item Switch: B<-spacing3>
+
+Requests additional space below each text line in the widget,
+using any of the standard forms for screen distances.
+If a line wraps, this option only applies to the last line
+on the display.
+This option may be overriden with B<-spacing3> options in
+tags.
+
+=item Name: B<state>
+
+=item Class: B<State>
+
+=item Switch: B<-state>
+
+Specifies one of two states for the text: B<normal> or B<disabled>.
+If the text is disabled then characters may not be inserted or deleted
+and no insertion cursor will be displayed, even if the input focus is
+in the widget.
+
+=item Name: B<tabs>
+
+=item Class: B<Tabs>
+
+=item Switch: B<-tabs>
+
+Specifies a set of tab stops for the window. The option's value consists
+of a list of screen distances giving the positions of the tab stops. Each
+position may optionally be followed in the next list element
+by one of the keywords B<left>, B<right>, B<center>,
+or B<numeric>, which specifies how to justify
+text relative to the tab stop. B<Left> is the default; it causes
+the text following the tab character to be positioned with its left edge
+at the tab position. B<Right> means that the right edge of the text
+following the tab character is positioned at the tab position, and
+B<center> means that the text is centered at the tab position.
+B<Numeric> means that the decimal point in the text is positioned
+at the tab position; if there is no decimal point then the least
+significant digit of the number is positioned just to the left of the
+tab position; if there is no number in the text then the text is
+right-justified at the tab position.
+For example, B<-tabs =E<gt> [qw/2c left 4c 6c center/]> creates three
+tab stops at two-centimeter intervals; the first two use left
+justification and the third uses center justification.
+If the list of tab stops does not have enough elements to cover all
+of the tabs in a text line, then Tk extrapolates new tab stops using
+the spacing and alignment from the last tab stop in the list.
+The value of the B<tabs> option may be overridden by B<-tabs>
+options in tags.
+If no B<-tabs> option is specified, or if it is specified as
+an empty list, then Tk uses default tabs spaced every eight
+(average size) characters.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in units of characters
+in the font given by the B<-font> option.
+If the font doesn't have a uniform width then the width of the
+character ``0'' is used in translating from character units to
+screen units.
+
+=item Name: B<wrap>
+
+=item Class: B<Wrap>
+
+=item Switch: B<-wrap>
+
+Specifies how to handle lines in the text that are too long to be
+displayed in a single line of the text's window.
+The value must be B<none> or B<char> or B<word>.
+A wrap mode of B<none> means that each line of text appears as
+exactly one line on the screen; extra characters that don't fit
+on the screen are not displayed.
+In the other modes each line of text will be broken up into several
+screen lines if necessary to keep all the characters visible.
+In B<char> mode a screen line break may occur after any character;
+in B<word> mode a line break will only be made at word boundaries.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Text> method creates a new window (given by the
+$text argument) and makes it into a text widget.
+Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the text such as its default background color
+and relief. The B<text> command returns the
+path name of the new window.
+
+A text widget displays one or more lines of text and allows that
+text to be edited.
+Text widgets support four different kinds of annotations on the
+text, called tags, marks, embedded windows or embedded images.
+Tags allow different portions of the text
+to be displayed with different fonts and colors.
+In addition, L<perlE<sol>Tk callbacks|Tk::callbacks> can be associated with tags so
+that scripts are invoked when particular actions such as keystrokes
+and mouse button presses occur in particular ranges of the text.
+See L<"TAGS"> below for more details.
+
+The second form of annotation consists of marks, which are floating
+markers in the text.
+Marks are used to keep track of various interesting positions in the
+text as it is edited.
+See L<"MARKS"> below for more details.
+
+The third form of annotation allows arbitrary windows to be
+embedded in a text widget.
+See L<"EMBEDDED WINDOWS"> below for more details.
+
+The fourth form of annotation allows Tk images to be embedded in a text
+widget.
+See L<"EMBEDDED IMAGES"> below for more details.
+
+The Perl/Tk B<Text> widget does not support undo/redo, use the B<TextUndo>
+widget instead.
+
+=head1 INDICES
+
+Many of the methods for texts take one or more indices
+as arguments.
+An index is a string used to indicate a particular place within
+a text, such as a place to insert characters or one endpoint of a
+range of characters to delete.
+Indices have the syntax
+
+ base modifier modifier modifier ...
+
+Where I<base> gives a starting point and the I<modifier>s
+adjust the index from the starting point (e.g. move forward or
+backward one character). Every index must contain a I<base>,
+but the I<modifier>s are optional.
+
+The I<base> for an index must have one of the following forms:
+
+=over 4
+
+=item I<line>B<.>I<char>
+
+Indicates I<char>'th character on line I<line>.
+Lines are numbered from 1 for consistency with other UNIX programs
+that use this numbering scheme.
+Within a line, characters are numbered from 0.
+If I<char> is B<end> then it refers to the newline character
+that ends the line.
+
+=item B<@>I<x>B<,>I<y>
+
+Indicates the character that covers the pixel whose x and y coordinates
+within the text's window are I<x> and I<y>.
+
+=item B<end>
+
+Indicates the end of the text (the character just after the last
+newline).
+
+=item I<mark>
+
+Indicates the character just after the mark whose name is I<mark>.
+
+=item I<tag>B<.first>
+
+Indicates the first character in the text that has been tagged with
+I<tag>.
+This form generates an error if no characters are currently tagged
+with I<tag>.
+
+=item I<tag>B<.last>
+
+Indicates the character just after the last one in the text that has
+been tagged with I<tag>.
+This form generates an error if no characters are currently tagged
+with I<tag>.
+
+=item I<$widget>
+
+Indicates the position of the embedded window referenced by I<$widget>.
+This form generates an error if I<$widget> does not reference to an
+embedded window.
+
+=item I<imageName>
+
+Indicates the position of the embedded image whose name is
+I<imageName>.
+This form generates an error if there is no embedded image
+by the given name.
+
+=back
+
+If the I<base> could match more than one of the above forms, such
+as a I<mark> and I<imageName> both having the same value, then
+the form earlier in the above list takes precedence.
+If modifiers follow the base index, each one of them must have one
+of the forms listed below. Keywords such as B<chars> and B<wordend>
+may be abbreviated as long as the abbreviation is unambiguous.
+
+=over 4
+
+=item B<+ >I<count>B< chars>
+
+Adjust the index forward by I<count> characters, moving to later
+lines in the text if necessary. If there are fewer than I<count>
+characters in the text after the current index, then set the index
+to the last character in the text.
+Spaces on either side of I<count> are optional.
+
+=item B<- >I<count>B< chars>
+
+Adjust the index backward by I<count> characters, moving to earlier
+lines in the text if necessary. If there are fewer than I<count>
+characters in the text before the current index, then set the index
+to the first character in the text.
+Spaces on either side of I<count> are optional.
+
+=item B<+ >I<count>B< lines>
+
+Adjust the index forward by I<count> lines, retaining the same
+character position within the line. If there are fewer than I<count>
+lines after the line containing the current index, then set the index
+to refer to the same character position on the last line of the text.
+Then, if the line is not long enough to contain a character at the indicated
+character position, adjust the character position to refer to the last
+character of the line (the newline).
+Spaces on either side of I<count> are optional.
+
+=item B<- >I<count>B< lines>
+
+Adjust the index backward by I<count> lines, retaining the same
+character position within the line. If there are fewer than I<count>
+lines before the line containing the current index, then set the index
+to refer to the same character position on the first line of the text.
+Then, if the line is not long enough to contain a character at the indicated
+character position, adjust the character position to refer to the last
+character of the line (the newline).
+Spaces on either side of I<count> are optional.
+
+=item B<linestart>
+
+Adjust the index to refer to the first character on the line.
+
+=item B<lineend>
+
+Adjust the index to refer to the last character on the line (the newline).
+
+=item B<wordstart>
+
+Adjust the index to refer to the first character of the word containing
+the current index. A word consists of any number of adjacent characters
+that are letters, digits, or underscores, or a single character that
+is not one of these.
+
+=item B<wordend>
+
+Adjust the index to refer to the character just after the last one of the
+word containing the current index. If the current index refers to the last
+character of the text then it is not modified.
+
+=back
+
+If more than one modifier is present then they are applied in
+left-to-right order. For example, the index ``B<end - 1 chars>''
+refers to the next-to-last character in the text and
+``B<insert wordstart - 1 c>'' refers to the character just before
+the first one in the word containing the insertion cursor.
+
+=head1 TAGS
+
+The first form of annotation in text widgets is a tag.
+A tag is a textual string that is associated with some of the characters
+in a text.
+Tags may contain arbitrary characters, but it is probably best to
+avoid using the the characters `` '' (space), B<+>, or B<->:
+these characters have special meaning in indices, so tags containing
+them can't be used as indices.
+There may be any number of tags associated with characters in a
+text.
+Each tag may refer to a single character, a range of characters, or
+several ranges of characters.
+An individual character may have any number of tags associated with it.
+
+A priority order is defined among tags, and this order is used in
+implementing some of the tag-related functions described below.
+When a tag is defined (by associating it with characters or setting
+its display options or binding callbacks to it), it is given
+a priority higher than any existing tag.
+The priority order of tags may be redefined using the
+``I<$text>-E<gt>B<tagRaise>'' and ``I<$text>-E<gt>B<tagLower>''
+methods.
+
+Tags serve three purposes in text widgets.
+First, they control the way information is displayed on the screen.
+By default, characters are displayed as determined by the
+B<background>, B<font>, and B<foreground> options for the
+text widget.
+However, display options may be associated with individual tags
+using the ``I<$text>-E<gt>B<tagConfigure>'' method.
+If a character has been tagged, then the display options associated
+with the tag override the default display style.
+The following options are currently supported for tags:
+
+=over 4
+
+=item B<-background> =E<gt> I<color>
+
+I<Color> specifies the background color to use for characters
+associated with the tag.
+It may have any of the forms accepted by B<Tk_GetColor>.
+
+=item B<-bgstipple> =E<gt> I<bitmap>
+
+I<Bitmap> specifies a bitmap that is used as a stipple pattern
+for the background.
+It may have any of the forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> hasn't been specified, or if it is specified
+as an empty string, then a solid fill will be used for the
+background.
+
+=item B<-borderwidth> =E<gt> I<pixels>
+
+I<Pixels> specifies the width of a 3-D border to draw around
+the background.
+It may have any of the forms accepted by B<Tk_GetPixels>.
+This option is used in conjunction with the B<-relief>
+option to give a 3-D appearance to the background for characters;
+it is ignored unless the B<-background> option
+has been set for the tag.
+
+=item B<-elide> =E<gt> boolean
+
+Elide specifies whether the data should be elided. Elided data
+is not displayed and takes no space on screen, but further on
+behaves just as normal data.
+
+=item B<-data> =E<gt> I<value>
+
+Allows an arbitrary perl scalar I<value> to be associated with the tag.
+
+=item B<-fgstipple> =E<gt> I<bitmap>
+
+I<Bitmap> specifies a bitmap that is used as a stipple pattern
+when drawing text and other foreground information such as
+underlines.
+It may have any of the forms accepted by B<Tk_GetBitmap>.
+If I<bitmap> hasn't been specified, or if it is specified
+as an empty string, then a solid fill will be used.
+
+=item B<-font> =E<gt> I<fontName>
+
+I<FontName> is the name of a font to use for drawing characters.
+It may have any of the forms accepted by B<Tk_GetFontStruct>.
+
+=item B<-foreground> =E<gt> I<color>
+
+I<Color> specifies the color to use when drawing text and other
+foreground information such as underlines.
+It may have any of the forms accepted by B<Tk_GetColor>.
+
+=item B<-justify> =E<gt> I<justify>
+
+If the first character of a display line has a tag for which this
+option has been specified, then I<justify> determines how to
+justify the line.
+It must be one of B<left>, B<right>, or B<center>.
+If a line wraps, then the justification for each line on the
+display is determined by the first character of that display line.
+
+=item B<-lmargin1> =E<gt> I<pixels>
+
+If the first character of a text line has a tag for which this
+option has been specified, then I<pixels> specifies how
+much the line should be indented from the left edge of the
+window.
+I<Pixels> may have any of the standard forms for screen
+distances.
+If a line of text wraps, this option only applies to the
+first line on the display; the B<-lmargin2> option controls
+the indentation for subsequent lines.
+
+=item B<-lmargin2> =E<gt> I<pixels>
+
+If the first character of a display line has a tag for which this
+option has been specified, and if the display line is not the
+first for its text line (i.e., the text line has wrapped), then
+I<pixels> specifies how much the line should be indented from
+the left edge of the window.
+I<Pixels> may have any of the standard forms for screen
+distances.
+This option is only used when wrapping is enabled, and it only
+applies to the second and later display lines for a text line.
+
+=item B<-offset> =E<gt> I<pixels>
+
+I<Pixels> specifies an amount by which the text's baseline
+should be offset vertically from the baseline of the overall
+line, in pixels.
+For example, a positive offset can be used for superscripts
+and a negative offset can be used for subscripts.
+I<Pixels> may have any of the standard forms for screen
+distances.
+
+=item B<-overstrike> =E<gt> I<boolean>
+
+Specifies whether or not to draw a horizontal rule through
+the middle of characters.
+I<Boolean> may have any of the forms accepted by B<Tk_GetBoolean>.
+
+=item B<-relief> =E<gt> I<relief>
+
+I<Relief> specifies the 3-D relief to use for drawing backgrounds,
+in any of the forms accepted by B<Tk_GetRelief>.
+This option is used in conjunction with the B<-borderwidth>
+option to give a 3-D appearance to the background for characters;
+it is ignored unless the B<-background> option
+has been set for the tag.
+
+=item B<-rmargin> =E<gt> I<pixels>
+
+If the first character of a display line has a tag for which this
+option has been specified, then I<pixels> specifies how wide
+a margin to leave between the end of the line and the right
+edge of the window.
+I<Pixels> may have any of the standard forms for screen
+distances.
+This option is only used when wrapping is enabled.
+If a text line wraps, the right margin for each line on the
+display is determined by the first character of that display
+line.
+
+=item B<-spacing1> =E<gt> I<pixels>
+
+I<Pixels> specifies how much additional space should be
+left above each text line, using any of the standard forms for
+screen distances.
+If a line wraps, this option only applies to the first
+line on the display.
+
+=item B<-spacing2> =E<gt> I<pixels>
+
+For lines that wrap, this option specifies how much additional
+space to leave between the display lines for a single text line.
+I<Pixels> may have any of the standard forms for screen
+distances.
+
+=item B<-spacing3> =E<gt> I<pixels>
+
+I<Pixels> specifies how much additional space should be
+left below each text line, using any of the standard forms for
+screen distances.
+If a line wraps, this option only applies to the last
+line on the display.
+
+=item B<-tabs> =E<gt> I<tabList>
+
+I<TabList> specifies a set of tab stops in the same form
+as for the B<-tabs> option for the text widget. This
+option only applies to a display line if it applies to the
+first character on that display line.
+If this option is specified as an empty string, it cancels
+the option, leaving it unspecified for the tag (the default).
+If the option is specified as a non-empty string that is
+an empty list, such as B<-tabs => " ">, then it requests
+default 8-character tabs as described for the B<tabs>
+widget option.
+
+=item B<-underline> =E<gt> I<boolean>
+
+I<Boolean> specifies whether or not to draw an underline underneath
+characters.
+It may have any of the forms accepted by B<Tk_GetBoolean>.
+
+=item B<-wrap> =E<gt> I<mode>
+
+I<Mode> specifies how to handle lines that are wider than the
+text's window.
+It has the same legal values as the B<-wrap> option
+for the text widget: B<none>, B<char>, or B<word>.
+If this tag option is specified, it overrides the B<-wrap> option
+for the text widget.
+
+=back
+
+If a character has several tags associated with it, and if their
+display options conflict, then the options of the highest priority
+tag are used.
+If a particular display option hasn't been specified for a
+particular tag, or if it is specified as an empty string, then
+that option will never be used; the next-highest-priority
+tag's option will used instead.
+If no tag specifies a particular display option, then the default
+style for the widget will be used.
+
+The second purpose for tags is event bindings.
+You can associate bindings with a tag in much the same way you can
+associate bindings with a widget class: whenever particular X
+events occur on characters with the given tag, a given
+<perl/Tk callback|Tk::callbacks> will be executed.
+Tag bindings can be used to give behaviors to ranges of characters;
+among other things, this allows hypertext-like
+features to be implemented.
+For details, see the description of the B<tagBind> widget
+method below.
+
+The third use for tags is in managing the selection.
+See L<"THE SELECTION"> below.
+
+=head1 MARKS
+
+The second form of annotation in text widgets is a mark.
+Marks are used for remembering particular places in a text.
+They are something like tags, in that they have names and
+they refer to places in the file, but a mark isn't associated
+with particular characters.
+Instead, a mark is associated with the gap between two characters.
+Only a single position may be associated with a mark at any given
+time.
+If the characters around a mark are deleted the mark will still
+remain; it will just have new neighbor characters.
+In contrast, if the characters containing a tag are deleted then
+the tag will no longer have an association with characters in
+the file.
+Marks may be manipulated with the ``I<$text>-E<gt>B<mark>'' text widget
+method, and their current locations may be determined by using the
+mark name as an index in methods.
+
+Each mark also has a I<gravity>, which is either B<left> or
+B<right>.
+The gravity for a mark specifies what happens to the mark when
+text is inserted at the point of the mark.
+If a mark has left gravity, then the mark is treated as if it
+were attached to the character on its left, so the mark will
+remain to the left of any text inserted at the mark position.
+If the mark has right gravity, new text inserted at the mark
+position will appear to the right of the mark. The gravity
+for a mark defaults to B<right>.
+
+The name space for marks is different from that for tags: the
+same name may be used for both a mark and a tag, but they will refer
+to different things.
+
+Two marks have special significance.
+First, the mark B<insert> is associated with the insertion cursor,
+as described under L<"THE INSERTION CURSOR"> below.
+Second, the mark B<current> is associated with the character
+closest to the mouse and is adjusted automatically to track the
+mouse position and any changes to the text in the widget (one
+exception: B<current> is not updated in response to mouse
+motions if a mouse button is down; the update will be deferred
+until all mouse buttons have been released).
+Neither of these special marks may be deleted.
+
+=head1 EMBEDDED WINDOWS
+
+The third form of annotation in text widgets is an embedded window.
+Each embedded window annotation causes a window to be displayed
+at a particular point in the text.
+There may be any number of embedded windows in a text widget,
+and any widget may be used as an embedded window (subject to the
+usual rules for geometry management, which require the text window
+to be the parent of the embedded window or a descendant of its
+parent).
+The embedded window's position on the screen will be updated as the
+text is modified or scrolled, and it will be mapped and unmapped as
+it moves into and out of the visible area of the text widget.
+Each embedded window occupies one character's worth of index space
+in the text widget, and it may be referred to either by the name
+of its embedded window or by its position in the widget's
+index space.
+If the range of text containing the embedded window is deleted then
+the window is destroyed.
+
+When an embedded window is added to a text widget with the
+B<widgetCreate> method, several configuration
+options may be associated with it.
+These options may be modified later with the B<widgetConfigure>
+method.
+The following options are currently supported:
+
+=over 4
+
+=item B<-align> =E<gt> I<where>
+
+If the window is not as tall as the line in which it is displayed,
+this option determines where the window is displayed in the line.
+I<Where> must have one of the values B<top> (align the top of the window
+with the top of the line), B<center> (center the window
+within the range of the line), B<bottom> (align the bottom of the
+window with the bottom of the line's area),
+or B<baseline> (align the bottom of the window with the baseline
+of the line).
+
+=item B<-create> =E<gt> I<callback>
+
+Specifies a L<callback|Tk::callbacks> that may be evaluated to create the window
+for the annotation.
+If no B<-window> option has been specified for the annotation
+this I<callback> will be evaluated when the annotation is about to
+be displayed on the screen.
+I<Callback> must create a window for the annotation and return
+the name of that window as its result.
+If the annotation's window should ever be deleted, I<callback>
+will be evaluated again the next time the annotation is displayed.
+
+=item B<-padx> =E<gt> I<pixels>
+
+I<Pixels> specifies the amount of extra space to leave on
+each side of the embedded window.
+It may have any of the usual forms defined for a screen distance
+(see B<Tk_GetPixels>).
+
+=item B<-pady> =E<gt> I<pixels>
+
+I<Pixels> specifies the amount of extra space to leave on
+the top and on the bottom of the embedded window.
+It may have any of the usual forms defined for a screen distance
+(see B<Tk_GetPixels>).
+
+=item B<-stretch> =E<gt> I<boolean>
+
+If the requested height of the embedded window is less than the
+height of the line in which it is displayed, this option can be
+used to specify whether the window should be stretched vertically
+to fill its line.
+If the B<-pady> option has been specified as well, then the
+requested padding will be retained even if the window is
+stretched.
+
+=item B<-window> =E<gt> I<$widget>
+
+Specifies the name of a window to display in the annotation.
+
+=back
+
+=head1 EMBEDDED IMAGES
+
+The final form of annotation in text widgets is an embedded image.
+Each embedded image annotation causes an image to be displayed
+at a particular point in the text.
+There may be any number of embedded images in a text widget,
+and a particular image may be embedded in multiple places in the same
+text widget.
+The embedded image's position on the screen will be updated as the
+text is modified or scrolled.
+Each embedded image occupies one character's worth of index space
+in the text widget, and it may be referred to either by
+its position in the widget's index space, or the name it is assigned
+when the image is inserted into the text widget with B<imageCreate>.
+If the range of text containing the embedded image is deleted then
+that copy of the image is removed from the screen.
+
+When an embedded image is added to a text widget with the B<image>
+create method, a name unique to this instance of the image
+is returned. This name may then be used to refer to this image
+instance. The name is taken to be the value of the B<-name> option
+(described below). If the B<-name> option is not provided, the
+B<-image> name is used instead. If the I<imageName> is already
+in use in the text widget, then B<#>I<nn> is added to the end of the
+I<imageName>, where I<nn> is an arbitrary integer. This insures
+the I<imageName> is unique.
+Once this name is assigned to this instance of the image, it does not
+change, even though the B<-image> or B<-name> values can be changed
+with B<image configure>.
+
+When an embedded image is added to a text widget with the
+B<imageCreate> method, several configuration
+options may be associated with it.
+These options may be modified later with the B<image configure>
+method.
+The following options are currently supported:
+
+=over 4
+
+=item B<-align> =E<gt> I<where>
+
+If the image is not as tall as the line in which it is displayed,
+this option determines where the image is displayed in the line.
+I<Where> must have one of the values B<top> (align the top of the image
+with the top of the line), B<center> (center the image
+within the range of the line), B<bottom> (align the bottom of the
+image with the bottom of the line's area),
+or B<baseline> (align the bottom of the image with the baseline
+of the line).
+
+=item B<-image> =E<gt> I<image>
+
+Specifies the name of the Tk image to display in the annotation.
+If I<image> is not a valid Tk image, then an error is returned.
+
+=item B<-name> =E<gt> I<ImageName>
+
+Specifies the name by which this image instance may be referenced in
+the text widget. If I<ImageName> is not supplied, then the
+name of the Tk image is used instead.
+If the I<imageName> is already in use, I<#nn> is appended to
+the end of the name as described above.
+
+=item B<-padx> =E<gt> I<pixels>
+
+I<Pixels> specifies the amount of extra space to leave on
+each side of the embedded image.
+It may have any of the usual forms defined for a screen distance.
+
+=item B<-pady> =E<gt> I<pixels>
+
+I<Pixels> specifies the amount of extra space to leave on
+the top and on the bottom of the embedded image.
+It may have any of the usual forms defined for a screen distance.
+
+=back
+
+=head1 THE SELECTION
+
+Selection support is implemented via tags.
+If the B<exportSelection> option for the text widget is true
+then the B<sel> tag will be associated with the selection:
+
+=over 4
+
+=item [1]
+
+Whenever characters are tagged with B<sel> the text widget
+will claim ownership of the selection.
+
+=item [2]
+
+Attempts to retrieve the
+selection will be serviced by the text widget, returning all the
+characters with the B<sel> tag.
+
+=item [3]
+
+If the selection is claimed away by another application or by another
+window within this application, then the B<sel> tag will be removed
+from all characters in the text.
+
+=item [4]
+
+Whenever the sel tag range changes a virtual event B<<<Selection>>>
+is generated.
+
+The B<sel> tag is automatically defined when a text widget is
+created, and it may not be deleted with the ``I<$text>-E<gt>B<tagDelete>''
+method. Furthermore, the B<selectBackground>,
+B<selectBorderWidth>, and B<selectForeground> options for
+the text widget are tied to the B<-background>,
+B<-borderwidth>, and B<-foreground> options for the B<sel>
+tag: changes in either will automatically be reflected in the
+other.
+
+=back
+
+=head1 THE INSERTION CURSOR
+
+The mark named B<insert> has special significance in text widgets.
+It is defined automatically when a text widget is created and it
+may not be unset with the ``I<$text>-E<gt>B<markUnset>'' widget
+command.
+The B<insert> mark represents the position of the insertion
+cursor, and the insertion cursor will automatically be drawn at
+this point whenever the text widget has the input focus.
+
+=head1 THE MODIFIED FLAG
+
+The text widget can keep track of changes to the content of the widget
+by means of the modified flag. Inserting or deleting text will set this
+flag. The flag can be queried, set and cleared programatically as well.
+Whenever the flag changes state a B<<<Modified>>> virtual event is gener-
+ated. See the edit modified widget command for more details.
+
+
+=head1 WIDGET METHODS
+
+The B<Text> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for text widgets.
+In addition, the extended text widget methods as documented
+in I<"Mastering Perl/Tk"> are included in this pod (with
+permission from the publisher, B<O'Reilly and Associates Inc.>).
+
+=over 4
+
+=item I<$text>-E<gt>B<adjustSelect>
+
+Moves the end point of the selection and anchor point to the
+mouse pointer location.
+
+=item I<$text>-E<gt>B<bbox>(I<index>)
+
+Returns a list of four elements describing the screen area
+of the character given by I<index>.
+The first two elements of the list give the x and y coordinates
+of the upper-left corner of the area occupied by the
+character, and the last two elements give the width and height
+of the area.
+If the character is only partially visible on the screen, then
+the return value reflects just the visible part.
+If the character is not visible on the screen then the return
+value is an empty list.
+
+=item I<$text>-E<gt>B<clipboardColumnCopy>
+
+Performs a rectangular copy of the currently selected text with
+basic compensation for tab characters.
+
+=item I<$text>-E<gt>B<clipboardColumnCut>
+
+Performs a rectangular cut of the currently selected text with
+basic compensation for tab characters.
+
+=item I<$text>-E<gt>B<clipboardColumnPaste>
+
+Performs a rectangular paste of the text in the clipboard. The
+upper-left corner is specified by the current position of the
+insert mark with basic compensation for tab characters.
+
+=item I<$text>-E<gt>B<compare>(I<index1, op, index2>)
+
+Compares the indices given by I<index1> and I<index2> according
+to the relational operator given by I<op>, and returns 1 if
+the relationship is satisfied and 0 if it isn't.
+I<Op> must be one of the operators E<lt>, E<lt>=, ==, E<gt>=, E<gt>, or !=.
+If I<op> is == then 1 is returned if the two indices refer to
+the same character, if I<op> is E<lt> then 1 is returned if I<index1>
+refers to an earlier character in the text than I<index2>, and
+so on.
+
+=item I<$text>-E<gt>B<Contents>(I<?args>?)
+
+Query or change the entire contents of the text widget. If no
+arguments are given, the entire contents of the text widget are
+returned. If any arguments are given, the entire contents of the
+text widget are deleted and replaced by the argument list.
+
+=item I<$text>-E<gt>B<debug>(?I<boolean>?)
+
+If I<boolean> is specified, then it must have one of the true or
+false values accepted by Tcl_GetBoolean.
+If the value is a true one then internal consistency checks will be
+turned on in the B-tree code associated with text widgets.
+If I<boolean> has a false value then the debugging checks will
+be turned off.
+In either case the command returns an empty string.
+If I<boolean> is not specified then the command returns B<on>
+or B<off> to indicate whether or not debugging is turned on.
+There is a single debugging switch shared by all text widgets: turning
+debugging on or off in any widget turns it on or off for all widgets.
+For widgets with large amounts of text, the consistency checks may
+cause a noticeable slow-down.
+
+=item I<$text>-E<gt>B<delete>(I<index1, >?I<index2>?)
+
+Delete a range of characters from the text.
+If both I<index1> and I<index2> are specified, then delete
+all the characters starting with the one given by I<index1>
+and stopping just before I<index2> (i.e. the character at
+I<index2> is not deleted).
+If I<index2> doesn't specify a position later in the text
+than I<index1> then no characters are deleted.
+If I<index2> isn't specified then the single character at
+I<index1> is deleted.
+It is not allowable to delete characters in a way that would leave
+the text without a newline as the last character.
+The command returns an empty string.
+If more indices are given, multiple ranges of text will
+be deleted. All indices are first checked for validity before
+any deletions are made. They are sorted and the text is removed
+from the last range to the first range to deleted text does not
+cause a undesired index shifting side-effects. If multiple
+ranges with the same start index are given, then the longest
+range is used. If overlapping ranges are given, then they will
+be merged into spans that do not cause deletion of text outside
+the given ranges due to text shifted during deletion.
+
+=item I<$text>-E<gt>B<deleteSelected>
+
+Delete the currently selected text.
+
+=item I<$text>-E<gt>B<deleteTextTaggedWith>(I<tag>)
+
+Delete the text tagged with the I<tag> parameter.
+
+=item I<$text>-E<gt>B<deleteToEndofLine>
+
+Delete from the insert mark location to the end of line.
+
+=item I<$text>-E<gt>B<dlineinfo>(I<index>)
+
+Returns a list with five elements describing the area occupied
+by the display line containing I<index>.
+The first two elements of the list give the x and y coordinates
+of the upper-left corner of the area occupied by the
+line, the third and fourth elements give the width and height
+of the area, and the fifth element gives the position of the baseline
+for the line, measured down from the top of the area.
+All of this information is measured in pixels.
+If the current wrap mode is B<none> and the line extends beyond
+the boundaries of the window,
+the area returned reflects the entire area of the line, including the
+portions that are out of the window.
+If the line is shorter than the full width of the window then the
+area returned reflects just the portion of the line that is occupied
+by characters and embedded windows.
+If the display line containing I<index> is not visible on
+the screen then the return value is an empty list.
+
+=item I<$text>-E<gt>B<dump>(?I<switches>?, I<index1, >?I<index2>?)
+
+Return the contents of the text widget from I<index1> up to,
+but not including I<index2>,
+including the text and
+information about marks, tags, and embedded windows.
+If I<index2> is not specified, then it defaults to
+one character past I<index1>. The information is returned
+in the following format:
+
+I<key1 value1 index1 key2 value2 index2> ...
+
+The possible I<key> values are B<text>, B<mark>,
+B<tagon>, B<tagoff>, and I<$text>. The corresponding
+I<value> is the text, mark name, tag name, or window name.
+The I<index> information is the index of the
+start of the text, the mark, the tag transition, or the window.
+One or more of the following switches (or abbreviations thereof)
+may be specified to control the dump:
+
+=over 4
+
+=item B<-all>
+
+Return information about all elements: text, marks, tags, and windows.
+This is the default.
+
+=item B<-command> =E<gt> I<callback>
+
+Instead of returning the information as the result of the dump operation,
+invoke the I<callback> on each element of the text widget within the range.
+The callback has three arguments appended to it before it is evaluated:
+the I<key>, I<value>, and I<index>.
+
+=item B<-mark>
+
+Include information about marks in the dump results.
+
+=item B<-tag>
+
+Include information about tag transitions in the dump results. Tag information is
+returned as B<tagon> and B<tagoff> elements that indicate the
+begin and end of each range of each tag, respectively.
+
+=item B<-text>
+
+Include information about text in the dump results. The value is the
+text up to the next element or the end of range indicated by I<index2>.
+A text element does not span newlines. A multi-line block of text that
+contains no marks or tag transitions will still be dumped as a set
+of text seqments that each end with a newline. The newline is part
+of the value.
+
+=item B<-window>
+
+=back
+
+Include information about embedded windows in the dump results.
+The value of a window is its Tk pathname, unless the window
+has not been created yet. (It must have a create script.)
+In this case an empty string is returned, and you must query the
+window by its index position to get more information.
+
+=item I<$text>-E<gt>B<edit>( I< option, ?arg, arg ...?> );
+
+This command controls the undo mechanism and the modified flag.
+The exact behavior of the command depends on the option argument
+that follows the edit argument. The following forms of the command
+are currently supported:
+
+=over 4
+
+=item I<$text>-E<gt>B<editModified>( ?boolean? );
+
+If boolean is not specified, returns the modified flag of
+the widget. The insert, delete, edit undo and edit redo
+commands or the user can set or clear the modified flag.
+If boolean is specified, sets the modified flag of the
+widget to boolean.
+
+=item I<$text>-E<gt>B<editRedo>;
+
+(Not implemented, use B<TextUndo>.) When the B<-undo> option is true,
+reapplies the last undone edits provided no other edits were done
+since then. Generates an error when the redo stack is empty. Does
+nothing when the B<-undo> option is false.
+
+=item I<$text>-E<gt>B<editReset>;
+
+(Not implemented, use B<TextUndo>.) Clears the undo and redo stacks.
+
+=item I<$text>-E<gt>B<editSeparator>;
+
+(Not implemented, use B<TextUndo>.) Inserts a separator (boundary) on
+the undo stack. Does nothing when the -undo option is false.
+
+=item I<$text>-E<gt>B<editUndo>;
+
+(Not implemented, use B<TextUndo>.) Undoes the last edit action when
+the -undo option is true. An edit action is defined as all the insert
+and delete commands that are recorded on the undo stack in between two
+separators. Generates an error when the undo stack is empty. Does
+nothing when the -undo option is false.
+
+=back
+
+=item I<$text>-E<gt>B<FindAll>(I<mode, case, pattern>)
+
+Removes any current selections and then performs a global text
+search. All matches are tagged with the B<sel> tag.
+
+I<mode> can be be B<-exact> or B<-regexp>. See the B<search> command
+for more information
+
+I<case> can be B<-nocase> or B<-case>. See the B<search> command
+for more information
+
+I<pattern> is an exact string to match if I<mode> is B<-exact> or a
+regular expression if the match I<mode> is B<-regexp>.
+
+
+=item I<$text>-E<gt>B<FindAndReplaceAll>(I<mode, case, find, replace>)
+
+Same as the B<FindAll> method, however additionally substitutes the
+matched text with the characters I<replace>.
+
+=item I<$text>-E<gt>B<FindAndReplacePopUp>
+
+Creates a find-and-replace popup window if one does not already exist.
+If there is currently selected text, then the 'find' field will be
+'pre-filled' with the selection.
+
+=item I<$text>-E<gt>B<FindNext>(I<direction, mode, case, pattern>)
+
+Removes any current selections and then performs a forward or reverse
+text search. All matches are tagged with the B<sel> tag. I<direction>
+can be B<-forwards> or B<-backwards>. I<mode, case> and I<pattern> are
+as for the B<FindAll> method.
+
+=item I<$text>-E<gt>B<FindPopUp>
+
+Creates a find popup, if one does not yet exist. If there is currently
+selected text, then the 'find' field will be 'pre-filled' with the
+selection.
+
+=item I<$text>-E<gt>B<FindSelectionNext>
+
+Gets the currently selected text and removes all selections. It then
+finds the next exact, case-sensitive string that matches in a forward
+direction and selects the text and makes the new selection visible.
+
+=item I<$text>-E<gt>B<FindSelectionPrevious>
+
+Gets the currently selected text and removes all selections. It then
+finds the next exact, case-sensitive string that matches in a reverse
+direction and selects the text and makes the new selection visible.
+
+=item I<$text>-E<gt>B<get>(I<index1, >?I<index2>?)
+
+Return a range of characters from the text. The return value will be
+all the characters in the text starting with the one whose index is
+I<index1> and ending just before the one whose index is I<index2> (the
+character at I<index2> will not be returned). If I<index2> is omitted
+then the single character at I<index1> is returned. If there are no
+characters in the specified range (e.g. I<index1> is past the end of
+the file or I<index2> is less than or equal to I<index1>) then an
+empty string is returned. If the specified range contains embedded
+windows, no information about them is included in the returned string.
+If multiple index pairs are given, multiple ranges of text will be
+returned in a list. Invalid ranges will not be represented with empty
+strings in the list. The ranges are returned in the order passed to
+B<get>.
+
+=item I<$text>-E<gt>B<getSelected>
+
+Return the currently selected text.
+
+=item I<$text>-E<gt>B<GetTextTaggedWith>(I<tag>)
+
+Return the text tagged with the I<tag> parameter.
+
+=item I<$text>-E<gt>B<GotoLineNumber>(I<line_number>)
+
+Set the insert mark to I<line_number> and ensures the line is
+visible.
+
+=item I<$text>-E<gt>B<GotoLineNumberPopUp>(I<line_number>)
+
+Displays a popup, pre-filling it with selected numeric text
+(if any), or the line number from B<GotoLineNumber> (if any).
+
+=item I<$text>-E<gt>B<image>(I<option>, ?I<arg, arg, ...>?)
+
+=item I<$text>-E<gt>B<image>I<Option>(?I<arg, arg, ...>?)
+
+This method is used to manipulate embedded images.
+The behavior of the method depends on the I<option> argument
+that follows the B<image> prefix.
+The following forms of the methods are currently supported:
+
+=over 8
+
+=item I<$text>-E<gt>B<imageCget>(I<index, option>)
+
+Returns the value of a configuration option for an embedded image.
+I<Index> identifies the embedded image, and I<option>
+specifies a particular configuration option, which must be one of
+the ones listed in L<"EMBEDDED IMAGES">.
+
+=item I<$text>-E<gt>B<imageConfigure>(I<index, >?I<option, value, ...>?)
+
+Query or modify the configuration options for an embedded image.
+If no I<option> is specified, returns a list describing all of
+the available options for the embedded image at I<index>
+(see L<Tk::options> for information on the format of this list).
+If I<option> is specified with no I<value>, then the command
+returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no
+I<option> is specified).
+If one or more I<option-value> pairs are specified, then the command
+modifies the given option(s) to have the given value(s); in
+this case the command returns an empty string.
+See L<"EMBEDDED IMAGES"> for information on the options that
+are supported.
+
+=item I<$text>-E<gt>B<imageCreate>(I<index, >?I<option, value, ...>?)
+
+This command creates a new image annotation, which will appear
+in the text at the position given by I<index>.
+Any number of I<option-value> pairs may be specified to
+configure the annotation.
+Returns a unique identifier that may be used as an index to refer to
+this image.
+See L<"EMBEDDED IMAGES"> for information on the options that
+are supported, and a description of the identifier returned.
+
+=item I<$text>-E<gt>B<imageNames>
+
+Returns a list whose elements are the names of all image instances currently
+embedded in $text.
+
+=back
+
+=item I<$text>-E<gt>B<index>(I<index>)
+
+Returns the position corresponding to I<index> in the form
+I<line.char> where I<line> is the line number and I<char>
+is the character number.
+I<Index> may have any of the forms described under L<"INDICES"> above.
+
+=item I<$text>-E<gt>B<insert>(I<index, chars, >?I<tagList, chars, tagList, ...>?)
+
+Inserts all of the I<chars> arguments just before the character at
+I<index>.
+If I<index> refers to the end of the text (the character after
+the last newline) then the new text is inserted just before the
+last newline instead.
+If there is a single I<chars> argument and no I<tagList>, then
+the new text will receive any tags that are present on both the
+character before and the character after the insertion point; if a tag
+is present on only one of these characters then it will not be
+applied to the new text.
+If I<tagList> is specified then it consists of a list of
+tag names; the new characters will receive all of the tags in
+this list and no others, regardless of the tags present around
+the insertion point.
+If multiple I<chars>-I<tagList> argument pairs are present,
+they produce the same effect as if a separate B<insert> widget
+command had been issued for each pair, in order.
+The last I<tagList> argument may be omitted.
+
+=item I<$text>-E<gt>B<Insert>(I<string>)
+
+Do NOT confuse this with the lower-case B<insert> method.
+Insert I<string> at the point of the insertion cursor. If there is
+a selection in the text, and it covers the point of the insertion
+cursor, then it deletes the selection before inserting.
+
+=item I<$text>-E<gt>B<InsertKeypress>(I<character>)
+
+Inserts I<character> at the B<insert> mark. If in overstrike mode,
+it firsts deletes the character at the B<insert> mark.
+
+=item I<$text>-E<gt>B<InsertSelection>
+
+Inserts the current selection at the B<insert> mark.
+
+=item I<$text>-E<gt>B<insertTab>
+
+Inserts a tab (\t) character at the B<insert> mark.
+
+=item I<$text>-E<gt>B<mark>(I<option, >?I<arg, arg, ...>?)
+
+This command is used to manipulate marks. The exact behavior of
+the command depends on the I<option> argument that follows
+the B<mark> argument. The following forms of the command
+are currently supported:
+
+=over 8
+
+=item I<$text>-E<gt>B<markGravity>(I<markName, >?I<direction>?)
+
+If I<direction> is not specified, returns B<left> or B<right>
+to indicate which of its adjacent characters I<markName> is attached
+to.
+If I<direction> is specified, it must be B<left> or B<right>;
+the gravity of I<markName> is set to the given value.
+
+=item I<$text>-E<gt>B<markNames>
+
+Returns a list whose elements are the names of all the marks that
+are currently set.
+
+=item I<$text>-E<gt>B<markNext>(I<index>)
+
+Returns the name of the next mark at or after I<index>.
+If I<index> is specified in numerical form, then the search for
+the next mark begins at that index.
+If I<index> is the name of a mark, then the search for
+the next mark begins immediately after that mark.
+This can still return a mark at the same position if
+there are multiple marks at the same index.
+These semantics mean that the B<mark next> operation can be used to
+step through all the marks in a text widget in the same order
+as the mark information returned by the B<dump> operation.
+If a mark has been set to the special B<end> index,
+then it appears to be I<after> B<end> with respect to the B<mark next> operation.
+An empty string is returned if there are no marks after I<index>.
+
+=item I<$text>-E<gt>B<markPrevious>(I<index>)
+
+Returns the name of the mark at or before I<index>.
+If I<index> is specified in numerical form, then the search for
+the previous mark begins with the character just before that index.
+If I<index> is the name of a mark, then the search for
+the next mark begins immediately before that mark.
+This can still return a mark at the same position if
+there are multiple marks at the same index.
+These semantics mean that the B<mark previous> operation can be used to
+step through all the marks in a text widget in the reverse order
+as the mark information returned by the B<dump> operation.
+An empty string is returned if there are no marks before I<index>.
+
+=item I<$text>-E<gt>B<markSet>(I<markName, index>)
+
+Sets the mark named I<markName> to a position just before the
+character at I<index>.
+If I<markName> already exists, it is moved from its old position;
+if it doesn't exist, a new mark is created.
+This command returns an empty string.
+
+=item I<$text>-E<gt>B<markUnset>(I<markName>?, I<markName, markName, ...>?)
+
+Remove the mark corresponding to each of the I<markName> arguments.
+The removed marks will not be usable in indices and will not be
+returned by future calls to ``I<$text>-E<gt>B<markNames>''.
+This command returns an empty string.
+
+=back
+
+=item I<$text>-E<gt>B<markExists>(I<markname>)
+
+Returns true if I<markname> exists - false otherwise.
+
+=item I<$text>-E<gt>B<menu>(I<?menu?>)
+
+If I<menu> reference is given as an argument, then the text widget
+menu is adjusted to use this new I<menu>. If the I<menu> argument
+is B<undef>, then this command disables the current text widget menu.
+If the I<menu> argument is omitted altogether, then the current text
+widget menu reference is returned.
+
+=item I<$text>-E<gt>B<openLine>
+
+Inserts a newline (\n) at the insert mark.
+
+=item I<$text>-E<gt>B<OverstrikeMode>(I<?boolean?>)
+
+Returns the overstrike mode if I<boolean> is omitted or sets the
+overstrike mode to I<boolean>. True means overstrike mode is enabled.
+
+=item I<$text>-E<gt>B<PostPopupMenu>(I<x,y>)
+
+Creates a popup menu at the specified (I<x,y>) pixel coordinates. The
+default menu has File, Edit, Search and View menu items which cascade
+to sub-menus for further commands. There is an implicit E<lt>Button-3E<gt>
+binding to this method that posts the menu over the cursor.
+
+=item I<$text>-E<gt>B<ResetAnchor>
+
+Sets the selection anchor to whichever end is farthest from the index
+argument.
+
+=item I<$text>-E<gt>B<scan>(I<option>, I<args>) or
+
+=item I<$text>-E<gt>B<scan>I<option>(I<args>)
+
+This method is used to implement scanning on texts. It has
+two forms, depending on I<option>:
+
+=over 8
+
+=item I<$text>-E<gt>B<scanMark>(I<x, y>)
+
+Records I<x> and I<y> and the current view in the text window,
+for use in conjunction with later B<scanDragto> method.
+Typically this method is associated with a mouse button press in
+the widget. It returns an empty string.
+
+=item I<$text>-E<gt>B<scanDragto>(I<x, y>)
+
+This command computes the difference between its I<x> and I<y>
+arguments and the I<x> and I<y> arguments to the last
+B<scanMark> method for the widget.
+It then adjusts the view by 10 times the difference in coordinates.
+This command is typically associated
+with mouse motion events in the widget, to produce the effect of
+dragging the text at high speed through the window. The return
+value is an empty string.
+
+=back
+
+=item I<$text>-E<gt>B<search>(?I<switches>,? I<pattern, index, >?I<stopIndex>?)
+
+Searches the text in I<$text> starting at I<index> for a range
+of characters that matches I<pattern>.
+If a match is found, the index of the first character in the match is
+returned as result; otherwise an empty string is returned.
+One or more of the following switches (or abbreviations thereof)
+may be specified to control the search:
+
+=over 8
+
+=item B<-forwards>
+
+The search will proceed forward through the text, finding the first
+matching range starting at or after the position given by I<index>.
+This is the default.
+
+=item B<-backwards>
+
+The search will proceed backward through the text, finding the
+matching range closest to I<index> whose first character
+is before I<index>.
+
+=item B<-exact>
+
+Use exact matching: the characters in the matching range must be
+identical to those in I<pattern>.
+This is the default.
+
+=item B<-regexp>
+
+Treat I<pattern> as a regular expression and match it against
+the text using the rules for regular expressions (see the B<regexp>
+command for details).
+
+=item B<-nocase>
+
+Ignore case differences between the pattern and the text.
+
+=item B<-count>I< varName>
+
+The argument following B<-count> gives the name of a variable;
+if a match is found, the number of characters in the matching
+range will be stored in the variable.
+
+=item B<-hidden>
+
+Find hidden text as well. By default only displayed text is found.
+
+=item B<-->
+
+This switch has no effect except to terminate the list of switches:
+the next argument will be treated as I<pattern> even if it starts
+with B<->.
+
+=back
+
+=back
+
+The matching range must be entirely within a single line of text.
+For regular expression matching the newlines are removed from the ends
+of the lines before matching: use the B<$> feature in regular
+expressions to match the end of a line.
+For exact matching the newlines are retained.
+If I<stopIndex> is specified, the search stops at that index:
+for forward searches, no match at or after I<stopIndex> will
+be considered; for backward searches, no match earlier in the
+text than I<stopIndex> will be considered.
+If I<stopIndex> is omitted, the entire text will be searched:
+when the beginning or end of the text is reached, the search
+continues at the other end until the starting location is reached
+again; if I<stopIndex> is specified, no wrap-around will occur.
+
+=over 4
+
+=item I<$text>-E<gt>B<see>(I<index>)
+
+Adjusts the view in the window so that the character given by I<index>
+is completely visible.
+If I<index> is already visible then the command does nothing.
+If I<index> is a short distance out of view, the command
+adjusts the view just enough to make I<index> visible at the
+edge of the window.
+If I<index> is far out of view, then the command centers
+I<index> in the window.
+
+=item I<$text>-E<gt>B<selectAll>
+
+Selects all the text in the widget.
+
+=item I<$text>-E<gt>B<selectLine>
+
+Selects the line with the insert mark.
+
+=item I<$text>-E<gt>B<selectWord>
+
+Selects the word with the insert mark.
+
+=item I<$text>-E<gt>B<SetCursor>(I<position>)
+
+Moves the insert mark to I<position>.
+
+=item I<$text>-E<gt>B<tag>(I<option, >?I<arg, arg, ...>?)
+
+This command is used to manipulate tags. The exact behavior of the
+command depends on the I<option> argument that follows the
+B<tag> argument. The following forms of the command are currently
+supported:
+
+=over 8
+
+=item I<$text>-E<gt>B<tagAdd>(I<tagName, index1, >?I<index2, index1, index2, ...>?)
+
+Associate the tag I<tagName> with all of the characters starting
+with I<index1> and ending just before
+I<index2> (the character at I<index2> isn't tagged).
+A single command may contain any number of I<index1>-I<index2>
+pairs.
+If the last I<index2> is omitted then the single character at
+I<index1> is tagged.
+If there are no characters in the specified range (e.g. I<index1>
+is past the end of the file or I<index2> is less than or equal
+to I<index1>) then the command has no effect.
+
+=item I<$text>-E<gt>B<tagBind>(I<tagName, >?I<sequence>?, ?I<script>?)
+
+This command associates I<script> with the tag given by
+I<tagName>.
+Whenever the event sequence given by I<sequence> occurs for a
+character that has been tagged with I<tagName>,
+the script will be invoked.
+This method is similar to the B<bind> command except that
+it operates on characters in a text rather than entire widgets.
+See the L<Tk::bind> documentation for complete details
+on the syntax of I<sequence> and the substitutions performed
+on I<script> before invoking it.
+If all arguments are specified then a new binding is created, replacing
+any existing binding for the same I<sequence> and I<tagName>
+(if the first character of I<script> is ``+'' then I<script>
+augments an existing binding rather than replacing it).
+In this case the return value is an empty string.
+If I<script> is omitted then the command returns the I<script>
+associated with I<tagName> and I<sequence> (an error occurs
+if there is no such binding).
+If both I<script> and I<sequence> are omitted then the command
+returns a list of all the sequences for which bindings have been
+defined for I<tagName>.
+
+The only events for which bindings may be specified are those related
+to the mouse and keyboard (such as B<Enter>, B<Leave>,
+B<ButtonPress>, B<Motion>, and B<KeyPress>) or virtual events.
+Event bindings for a text widget use the B<current> mark described
+under L<"MARKS"> above. An B<Enter> event triggers for a tag when the tag
+first becomes present on the current character, and a B<Leave> event
+triggers for a tag when it ceases to be present on the current character.
+B<Enter> and B<Leave> events can happen either because the
+B<current> mark moved or because the character at that position
+changed. Note that these events are different than B<Enter> and
+B<Leave> events for windows. Mouse and keyboard events are directed
+to the current character. If a virtual event is used in a binding, that
+binding can trigger only if the virtual event is defined by an underlying
+mouse-related or keyboard-related event.
+
+It is possible for the current character to have multiple tags,
+and for each of them to have a binding for a particular event
+sequence.
+When this occurs, one binding is invoked for each tag, in order
+from lowest-priority to highest priority.
+If there are multiple matching bindings for a single tag, then
+the most specific binding is chosen (see the the documentation for
+the B<bind> command for details).
+B<continue> and B<break> commands within binding scripts
+are processed in the same way as for bindings created with
+the B<bind> command.
+
+If bindings are created for the widget as a whole using the
+B<bind> command, then those bindings will supplement the
+tag bindings.
+The tag bindings will be invoked first, followed by bindings
+for the window as a whole.
+
+=item I<$text>-E<gt>B<tagCget>(I<tagName, option>)
+
+This command returns the current value of the option named I<option>
+associated with the tag given by I<tagName>.
+I<Option> may have any of the values accepted by the B<tag configure>
+method.
+
+=item I<$text>-E<gt>B<tagConfigure>(I<tagName, >?I<option>?, ?I<value>?, ?I<option, value, ...>?)
+
+This command is similar to the B<configure> method except
+that it modifies options associated with the tag given by I<tagName>
+instead of modifying options for the overall text widget.
+If no I<option> is specified, the command returns a list describing
+all of the available options for I<tagName>
+(see L<Tk::options> for information on the format of this list).
+If I<option> is specified with no I<value>, then the command returns
+a list describing the one named option (this list will be identical to
+the corresponding sublist of the value returned if no I<option>
+is specified).
+If one or more I<option-value> pairs are specified, then the command
+modifies the given option(s) to have the given value(s) in I<tagName>;
+in this case the command returns an empty string.
+See L<"TAGS"> above for details on the options available for tags.
+
+=item I<$text>-E<gt>B<tagDelete>(I<tagName, >?I<tagName, ...>?)
+
+Deletes all tag information for each of the I<tagName>
+arguments.
+The command removes the tags from all characters in the file
+and also deletes any other information associated with the tags,
+such as bindings and display information.
+The command returns an empty string.
+
+=item I<$text>-E<gt>B<tagLower>(I<tagName>?, I<belowThis>?)
+
+Changes the priority of tag I<tagName> so that it is just lower
+in priority than the tag whose name is I<belowThis>.
+If I<belowThis> is omitted, then I<tagName>'s priority
+is changed to make it lowest priority of all tags.
+
+=item I<$text>-E<gt>B<tagNames>(?I<index>?)
+
+Returns a list whose elements are the names of all the tags that
+are active at the character position given by I<index>.
+If I<index> is omitted, then the return value will describe
+all of the tags that exist for the text (this includes all tags
+that have been named in a ``I<$text>-E<gt>B<tag>'' widget
+command but haven't been deleted by a ``I<$text>-E<gt>B<tagDelete>''
+method, even if no characters are currently marked with
+the tag).
+The list will be sorted in order from lowest priority to highest
+priority.
+
+=item I<$text>-E<gt>B<tagNextrange>(I<tagName, index1, >?I<index2>?)
+
+This command searches the text for a range of characters tagged
+with I<tagName> where the first character of the range is
+no earlier than the character at I<index1> and no later than
+the character just before I<index2> (a range starting at
+I<index2> will not be considered).
+If several matching ranges exist, the first one is chosen.
+The command's return value is a list containing
+two elements, which are the index of the first character of the
+range and the index of the character just after the last one in
+the range.
+If no matching range is found then the return value is an
+empty string.
+If I<index2> is not given then it defaults to the end of the text.
+
+=item I<$text>-E<gt>B<tagPrevrange>(I<tagName, index1, >?I<index2>?)
+
+This command searches the text for a range of characters tagged
+with I<tagName> where the first character of the range is
+before the character at I<index1> and no earlier than
+the character at I<index2> (a range starting at
+I<index2> will be considered).
+If several matching ranges exist, the one closest to I<index1> is chosen.
+The command's return value is a list containing
+two elements, which are the index of the first character of the
+range and the index of the character just after the last one in
+the range.
+If no matching range is found then the return value is an
+empty string.
+If I<index2> is not given then it defaults to the beginning of the text.
+
+=item I<$text>-E<gt>B<tagRaise>(I<tagName, >?I<aboveThis>?)
+
+Changes the priority of tag I<tagName> so that it is just higher
+in priority than the tag whose name is I<aboveThis>.
+If I<aboveThis> is omitted, then I<tagName>'s priority
+is changed to make it highest priority of all tags.
+
+=item I<$text>-E<gt>B<tagRanges>(I<tagName>)
+
+Returns a list describing all of the ranges of text that have been
+tagged with I<tagName>.
+The first two elements of the list describe the first tagged range
+in the text, the next two elements describe the second range, and
+so on.
+The first element of each pair contains the index of the first
+character of the range, and the second element of the pair contains
+the index of the character just after the last one in the
+range.
+If there are no characters tagged with I<tag> then an
+empty string is returned.
+
+=item I<$text>-E<gt>B<tagRemove>(I<tagName, index1, >?I<index2, index1, index2, ...>?)
+
+Remove the tag I<tagName> from all of the characters starting
+at I<index1> and ending just before
+I<index2> (the character at I<index2> isn't affected).
+A single command may contain any number of I<index1>-I<index2>
+pairs.
+If the last I<index2> is omitted then the single character at
+I<index1> is tagged.
+If there are no characters in the specified range (e.g. I<index1>
+is past the end of the file or I<index2> is less than or equal
+to I<index1>) then the command has no effect.
+This command returns an empty string.
+
+=back
+
+=item I<$text>-E<gt>B<ToggleInsertMode>
+
+Toggles the current overstrike mode.
+
+=item I<$text>-E<gt>B<unselectAll>
+
+Unselects all the text in the widget.
+
+=item I<$text>-E<gt>B<WhatLineNumberPopup>
+
+Creates a popup that displays the current line number of the
+insert mark.
+
+=item I<$text>->B<widget>(I<option?, arg, arg, ...>?)
+
+=item I<$text>->B<widget>I<Option>(?I<arg, arg, ...>?)
+
+This method is used to manipulate embedded windows.
+The behavior of the method depends on the I<option> argument
+that follows the B<window> argument.
+The following forms of the method are currently supported:
+
+=over 8
+
+=item I<$text>->B<windowCget>(I<index, option>)
+
+Returns the value of a configuration option for an embedded window.
+I<Index> identifies the embedded window, and I<option>
+specifies a particular configuration option, which must be one of
+the ones listed in L<"EMBEDDED WINDOWS"> above.
+
+=item I<$text>->B<windowConfigure>(I<index>?, I<option, value, ...>?)
+
+Query or modify the configuration options for an embedded window.
+If no I<option> is specified, returns a list describing all of
+the available options for the embedded window at I<index>
+(see L<Tk::options> for information on the format of this list).
+If I<option> is specified with no I<value>, then the command
+returns a list describing the one named option (this list will be
+identical to the corresponding sublist of the value returned if no
+I<option> is specified).
+If one or more I<option-value> pairs are specified, then the command
+modifies the given option(s) to have the given value(s); in
+this case the command returns an empty string.
+See L<"EMBEDDED WINDOWS"> above for information on the options that
+are supported.
+
+=item I<$text>->B<windowCreate>(I<index>?, I<option, value, ...>?)
+
+This command creates a new window annotation, which will appear
+in the text at the position given by I<index>.
+Any number of I<option-value> pairs may be specified to
+configure the annotation.
+See L<"EMBEDDED WINDOWS"> above for information on the options that
+are supported.
+Returns an empty string.
+
+=item I<$text>->B<windowNames>
+
+Returns a list whose elements are the names of all windows currently
+embedded in $text.
+
+=back
+
+=item I<$text>->B<xview>(I<option, args>)
+
+This command is used to query and change the horizontal position of the
+text in the widget's window. It can take any of the following
+forms:
+
+=over 8
+
+=item I<$text>->B<xview>
+
+Returns a list containing two elements.
+Each element is a real fraction between 0 and 1; together they describe
+the portion of the document's horizontal span that is visible in
+the window.
+For example, if the first element is .2 and the second element is .6,
+20% of the text is off-screen to the left, the middle 40% is visible
+in the window, and 40% of the text is off-screen to the right.
+The fractions refer only to the lines that are actually visible in the
+window: if the lines in the window are all very short, so that they
+are entirely visible, the returned fractions will be 0 and 1,
+even if there are other lines in the text that are
+much wider than the window.
+These are the same values passed to scrollbars via the B<-xscrollcommand>
+option.
+
+=item I<$text>-E<gt>B<xviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that I<fraction> of the horizontal
+span of the text is off-screen to the left.
+I<Fraction> is a fraction between 0 and 1.
+
+=item I<$text>-E<gt>B<xviewScroll>(I<number, what>)
+
+This command shifts the view in the window left or right according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages> or an abbreviation
+of one of these.
+If I<what> is B<units>, the view adjusts left or right by
+I<number> average-width characters on the display; if it is
+B<pages> then the view adjusts by I<number> screenfuls.
+If I<number> is negative then characters farther to the left
+become visible; if it is positive then characters farther to the right
+become visible.
+
+=back
+
+=item I<$text>-E<gt>B<yview>(I<?args>?)
+
+This command is used to query and change the vertical position of the
+text in the widget's window.
+It can take any of the following forms:
+
+=over 8
+
+=item I<$text>-E<gt>B<yview>
+
+Returns a list containing two elements, both of which are real fractions
+between 0 and 1.
+The first element gives the position of the first character in the
+top line in the window, relative to the text as a whole (0.5 means
+it is halfway through the text, for example).
+The second element gives the position of the character just after
+the last one in the bottom line of the window,
+relative to the text as a whole.
+These are the same values passed to scrollbars via the B<-yscrollcommand>
+option.
+
+=item I<$text>-E<gt>B<yviewMoveto>(I<fraction>)
+
+Adjusts the view in the window so that the character given by I<fraction>
+appears on the top line of the window.
+I<Fraction> is a fraction between 0 and 1; 0 indicates the first
+character in the text, 0.33 indicates the character one-third the
+way through the text, and so on.
+
+=item I<$text>-E<gt>B<yviewScroll>(I<number, what>)
+
+This command adjust the view in the window up or down according to
+I<number> and I<what>.
+I<Number> must be an integer.
+I<What> must be either B<units> or B<pages>.
+If I<what> is B<units>, the view adjusts up or down by
+I<number> lines on the display; if it is B<pages> then
+the view adjusts by I<number> screenfuls.
+If I<number> is negative then earlier positions in the text
+become visible; if it is positive then later positions in the text
+become visible.
+
+=item I<$text>->B<yview>(?B<-pickplace>,? I<index>)
+
+Changes the view in the I<$text>'s window to make I<index> visible.
+If the B<-pickplace> option isn't specified then I<index> will
+appear at the top of the window.
+If B<-pickplace> is specified then the widget chooses where
+I<index> appears in the window:
+
+=over 12
+
+=item [1]
+
+If I<index> is already visible somewhere in the window then the
+command does nothing.
+
+=item [2]
+
+If I<index> is only a few lines off-screen above the window then
+it will be positioned at the top of the window.
+
+=item [3]
+
+If I<index> is only a few lines off-screen below the window then
+it will be positioned at the bottom of the window.
+
+=item [4]
+
+Otherwise, I<index> will be centered in the window.
+
+=back
+
+=back
+
+=back
+
+The B<-pickplace> option has been obsoleted by the B<see> widget
+command (B<see> handles both x- and y-motion to make a location
+visible, whereas B<-pickplace> only handles motion in y).
+
+=over 4
+
+=item I<$text>-E<gt>B<yview>(I<number>)
+
+This command makes the first character on the line after
+the one given by I<number> visible at the top of the window.
+I<Number> must be an integer.
+This command used to be used for scrolling, but now it is obsolete.
+
+=back
+
+=head1 BINDINGS
+
+Tk automatically creates class bindings for texts that give them
+the following default behavior.
+In the descriptions below, ``word'' refers to a contiguous group
+of letters, digits, or ``_'' characters, or any single character
+other than these.
+
+=over 4
+
+=item [1]
+
+Clicking mouse button 1 positions the insertion cursor
+just before the character underneath the mouse cursor, sets the
+input focus to this widget, and clears any selection in the widget.
+Dragging with mouse button 1 strokes out a selection between
+the insertion cursor and the character under the mouse.
+
+=item [2]
+
+Double-clicking with mouse button 1 selects the word under the mouse
+and positions the insertion cursor at the beginning of the word.
+Dragging after a double click will stroke out a selection consisting
+of whole words.
+
+=item [3]
+
+Triple-clicking with mouse button 1 selects the line under the mouse
+and positions the insertion cursor at the beginning of the line.
+Dragging after a triple click will stroke out a selection consisting
+of whole lines.
+
+=item [4]
+
+The ends of the selection can be adjusted by dragging with mouse
+button 1 while the Shift key is down; this will adjust the end
+of the selection that was nearest to the mouse cursor when button
+1 was pressed.
+If the button is double-clicked before dragging then the selection
+will be adjusted in units of whole words; if it is triple-clicked
+then the selection will be adjusted in units of whole lines.
+
+=item [5]
+
+Clicking mouse button 1 with the Control key down will reposition the
+insertion cursor without affecting the selection.
+
+=item [6]
+
+If any normal printing characters are typed, they are
+inserted at the point of the insertion cursor.
+
+=item [7]
+
+The view in the widget can be adjusted by dragging with mouse button 2.
+If mouse button 2 is clicked without moving the mouse, the selection
+is copied into the text at the position of the mouse cursor.
+The Insert key also inserts the selection, but at the position of
+the insertion cursor.
+
+=item [8]
+
+If the mouse is dragged out of the widget
+while button 1 is pressed, the entry will automatically scroll to
+make more text visible (if there is more text off-screen on the side
+where the mouse left the window).
+
+=item [9]
+
+The Left and Right keys move the insertion cursor one character to the
+left or right; they also clear any selection in the text.
+If Left or Right is typed with the Shift key down, then the insertion
+cursor moves and the selection is extended to include the new character.
+Control-Left and Control-Right move the insertion cursor by words, and
+Control-Shift-Left and Control-Shift-Right move the insertion cursor
+by words and also extend the selection.
+Control-b and Control-f behave the same as Left and Right, respectively.
+Meta-b and Meta-f behave the same as Control-Left and Control-Right,
+respectively.
+
+=item [10]
+
+The Up and Down keys move the insertion cursor one line up or
+down and clear any selection in the text.
+If Up or Right is typed with the Shift key down, then the insertion
+cursor moves and the selection is extended to include the new character.
+Control-Up and Control-Down move the insertion cursor by paragraphs (groups
+of lines separated by blank lines), and
+Control-Shift-Up and Control-Shift-Down move the insertion cursor
+by paragraphs and also extend the selection.
+Control-p and Control-n behave the same as Up and Down, respectively.
+
+=item [11]
+
+The Next and Prior keys move the insertion cursor forward or backwards
+by one screenful and clear any selection in the text.
+If the Shift key is held down while Next or Prior is typed, then
+the selection is extended to include the new character.
+Control-v moves the view down one screenful without moving the
+insertion cursor or adjusting the selection.
+
+=item [12]
+
+Control-Next and Control-Prior scroll the view right or left by one page
+without moving the insertion cursor or affecting the selection.
+
+=item [13]
+
+Home and Control-a move the insertion cursor to the
+beginning of its line and clear any selection in the widget.
+Shift-Home moves the insertion cursor to the beginning of the line
+and also extends the selection to that point.
+
+=item [14]
+
+End and Control-e move the insertion cursor to the
+end of the line and clear any selection in the widget.
+Shift-End moves the cursor to the end of the line and extends the selection
+to that point.
+
+=item [15]
+
+Control-Home and Meta-E<lt> move the insertion cursor to the beginning of
+the text and clear any selection in the widget.
+Control-Shift-Home moves the insertion cursor to the beginning of the text
+and also extends the selection to that point.
+
+=item [16]
+
+Control-End and Meta-E<gt> move the insertion cursor to the end of the
+text and clear any selection in the widget.
+Control-Shift-End moves the cursor to the end of the text and extends
+the selection to that point.
+
+=item [17]
+
+The Select key and Control-Space set the selection anchor to the position
+of the insertion cursor. They don't affect the current selection.
+Shift-Select and Control-Shift-Space adjust the selection to the
+current position of the insertion cursor, selecting from the anchor
+to the insertion cursor if there was not any selection previously.
+
+=item [18]
+
+Control-/ selects the entire contents of the widget.
+
+=item [19]
+
+Control-\ clears any selection in the widget.
+
+=item [20]
+
+The F16 key (labelled Copy on many Sun workstations) or Meta-w
+copies the selection in the widget to the clipboard, if there is a selection.
+
+=item [21]
+
+The F20 key (labelled Cut on many Sun workstations) or Control-w
+copies the selection in the widget to the clipboard and deletes
+the selection.
+If there is no selection in the widget then these keys have no effect.
+
+=item [22]
+
+The F18 key (labelled Paste on many Sun workstations) or Control-y
+inserts the contents of the clipboard at the position of the
+insertion cursor.
+
+=item [23]
+
+The Delete key deletes the selection, if there is one in the widget.
+If there is no selection, it deletes the character to the right of
+the insertion cursor.
+
+=item [24]
+
+Backspace and Control-h delete the selection, if there is one
+in the widget.
+If there is no selection, they delete the character to the left of
+the insertion cursor.
+
+=item [25]
+
+Control-d deletes the character to the right of the insertion cursor.
+
+=item [26]
+
+Meta-d deletes the word to the right of the insertion cursor.
+
+=item [27]
+
+Control-k deletes from the insertion cursor to the end of its line;
+if the insertion cursor is already at the end of a line, then
+Control-k deletes the newline character.
+
+=item [28]
+
+Control-o opens a new line by inserting a newline character in
+front of the insertion cursor without moving the insertion cursor.
+
+=item [29]
+
+Meta-backspace and Meta-Delete delete the word to the left of the
+insertion cursor.
+
+=item [30]
+
+Control-x deletes whatever is selected in the text widget.
+
+=item [31]
+
+Control-t reverses the order of the two characters to the right of
+the insertion cursor.
+
+=item [32]
+
+Control-z (and Control-underscore on UNIX when tk_strictMotif is
+true) undoes the last edit action if the -undo option is true.
+Does nothing otherwise.
+
+=item [33]
+
+Control-Z (or Control-y on Windows) reapplies the last undone edit
+action if the -undo option is true. Does nothing otherwise.
+
+=back
+
+If the widget is disabled using the B<-state> option, then its
+view can still be adjusted and text can still be selected,
+but no insertion cursor will be displayed and no text modifications will
+take place.
+
+The behavior of texts can be changed by defining new bindings for
+individual widgets or by redefining the class bindings.
+
+
+=head1 TIED INTERFACE
+
+The Perl/Tk Text widget also has built-in TIEHANDLE methods for
+B<print> and B<printf> statements. This means you can print to file
+handles tied to a Text widget, and the tied methods automatically
+insert the print statement's arguments into the Text widget.
+
+For example:
+
+ #!/usr/local/bin/perl -w
+ use POSIX 'acos';
+ use Tk;
+ use strict;
+
+ my $mw = MainWindow->new;
+ my $text = $mw->Text(qw/-width 40 -height 10/)->pack;
+
+ tie *STDOUT, ref $text, $text;
+
+ print "Hello Text World!\n";
+ printf "pi ~= %1.5f", acos(-1.0);
+
+ MainLoop;
+
+To tie a scrolled Text widget, use the Subwidget method to get to the
+E<quot>realE<quot> widget:
+
+ my $text = $mw->Scrolled('Text')->pack;
+ tie *STDOUT, 'Tk::Text', $text->Subwidget('scrolled');
+
+=head1 PERFORMANCE ISSUES
+
+Text widgets should run efficiently under a variety
+of conditions. The text widget uses about 2-3 bytes of
+main memory for each byte of text, so texts containing a megabyte
+or more should be practical on most workstations.
+Text is represented internally with a modified B-tree structure
+that makes operations relatively efficient even with large texts.
+Tags are included in the B-tree structure in a way that allows
+tags to span large ranges or have many disjoint smaller ranges
+without loss of efficiency.
+Marks are also implemented in a way that allows large numbers of
+marks.
+In most cases it is fine to have large numbers of unique tags,
+or a tag that has many distinct ranges.
+
+One performance problem can arise if you have hundreds or thousands
+of different tags that all have the following characteristics:
+the first and last ranges of each tag are near the beginning and
+end of the text, respectively,
+or a single tag range covers most of the text widget.
+The cost of adding and deleting tags like this is proportional
+to the number of other tags with the same properties.
+In contrast, there is no problem with having thousands of distinct
+tags if their overall ranges are localized and spread uniformly throughout
+the text.
+
+Very long text lines can be expensive,
+especially if they have many marks and tags within them.
+
+The display line with the insert cursor is redrawn each time the
+cursor blinks, which causes a steady stream of graphics traffic.
+Set the B<-insertofftime> option to 0 avoid this.
+
+=head1 SEE ALSO
+
+L<Tk::ROText|Tk::ROText>
+L<Tk::TextUndo|Tk::TextUndo>
+
+=head1 KEYWORDS
+
+text, widget
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/TextUndo.pod b/Master/tlpkg/tlperl/lib/Tk/TextUndo.pod
new file mode 100644
index 00000000000..2b9d98a3c4a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/TextUndo.pod
@@ -0,0 +1,73 @@
+
+=head1 NAME
+
+Tk::TextUndo - perl/tk text widget with bindings to undo changes.
+
+=for pm Tk/TextUndo.pm
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+S< >B<use Tk::TextUndo;>
+
+S< >I<$testundo> = I<$parent>-E<gt>B<TextUndo>(?I<-option>=E<gt>I<value>, ...?);
+
+=head1 DESCRIPTION
+
+This IS-A text widget with an unlimited 'undo' history but without
+a re'undo' capability.
+
+=head2 Bindings
+
+The C<TextUndo> widget has the same bindings as the L<Text|Tk::Text> widget.
+In addition there are the following bindings:
+
+=over 4
+
+=item Event <L4> <<Undo>>
+
+undo the last change. Pressing <L4> several times undo
+step by step the changes made to the text widget.
+
+=back
+
+=head2 Methods
+
+The C<TextUndo> widget has the same methods as C<Text> widget.
+Additional methods for the C<TextUndo> widget are:
+
+=over 4
+
+=item $text->Load($filename);
+
+Loads the contents of the $filename into the text widget. Load()
+delete the previous contents of the text widget as well as it's
+undo history of the previous file.
+
+=item $text->Save(?$otherfilename?)
+
+Save contents of the text widget to a file. If the
+$otherfilename is not specified, the text widget contents
+writes the file of $filename used in the last Load()
+call. If no file was previously Load()'ed an error message
+pops up. The default filename of the last Load() call
+is not overwriten by $otherfilename.
+
+=item $text->FileName(?$otherfilename?)
+
+If passed an argument sets the file name associated with the loaded
+document. Returns the current file name associated with the document.
+
+=back
+
+=head1 KEYS
+
+widget, text, undo
+
+=head1 SEE ALSO
+
+L<Tk::Text>, L<Tk::ROText>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Tiler.pod b/Master/tlpkg/tlperl/lib/Tk/Tiler.pod
new file mode 100644
index 00000000000..2db172ebaf1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Tiler.pod
@@ -0,0 +1,32 @@
+
+=head1 NAME
+
+Tk::Tiler - Scrollable frame with sub-widgets arranged into rows
+
+=for pm Tk/Tiler.pm
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+ use Tk::Tiler;
+
+ my $tl = $parent->Scrolled('Tiler', -columns => n, -rows => n);
+
+ my $a = $tl->Xxxxx(...);
+ my $b = $tl->Xxxxx(...);
+ my $c = $tl->Xxxxx(...);
+
+ $tl->Manage($a,$b,$c);
+
+=head1 DESCRIPTION
+
+Tiler is derived form Tk::Frame. It is a geometry managing widget which
+accepts widgets to manage. It places the widgets in a grid with as many
+widgets as possible in a row. All the "slots" in the grid are the same size,
+which is determined by the largest managed widget.
+
+The grid may be scrolled vertically.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod b/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod
new file mode 100644
index 00000000000..93484db0076
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod
@@ -0,0 +1,539 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and
+# redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distribution are in the file
+# license.tcl.
+
+## TO CHECK:
+##
+## callback: checked for defined of code ref (compare -edit*cmd)
+##
+## option
+## formatcmd mentions format method but there is no format
+## method documented
+##
+## methods:
+## bdtype: what is it? no description given
+## see: not documented? Not implemented??
+##
+## todo: missing peaces marked by ????
+
+=head1 NAME
+
+Tk::TixGrid - Create and manipulate Tix Grid widgets
+
+=for pm TixGrid/TixGrid.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >I<$tixgrid> = I<$parent>->B<TixGrid>?(I<options>)?;
+
+=head1 DESCRIPTION
+
+This widget is intended as the basis of "spread sheet" like interfaces.
+The widget displays its contents in a two dimensional "grid" of cells.
+Each cell may contain one Tix display item, which may be in text,
+graphics or other formats. See L<Tk::DItem> for more information
+about Tix display items. Because these "items" need not be "windows" large
+grids can be handled without consuming excessive display system resources.
+
+Individual cells, or groups of cells, can be formatted with a wide range of
+attributes, such as its color, relief and border. However because the
+widget is intended to handle large grids the mechanisms to achieve these
+are lower level, and more callback oriented than for other widgets. The
+assumption is that to avoid storing display details of a large number
+of cells, the data will be re-computed as needed.
+
+The port of Tix C code and some of the bindings to perl/Tk is done but still
+need further work. In several places the intent of the Tix code is not
+yet understood. For example the 'edit' interface is clearly intended
+for spread-sheet like cell content editing in an auxillary "entry" widget
+or similar, but how that should work is not yet clear.
+
+The B<TixGrid> method creates a new TixGrid window and returns a
+blessed reference of this TixGrid widget. Additional options,
+described below, may be specified on the command line or in the
+option database to configure aspects of the B<TixGrid> widget.
+
+=head1 STANDARD OPTIONS
+
+B<-background>
+ B<-borderwidth>
+ B<-cursor>
+ B<-font>
+ B<-foreground>
+ B<-height>
+ B<-highlightbackground>
+ B<-highlightcolor>
+ B<-highlightthickness>
+ B<-padx>
+ B<-pady>
+ B<-relief>
+ B<-selectbackground>
+ B<-selectborderwidth>
+ B<-selectforeground>
+ B<-state>
+ B<-takefocus>
+ B<-width>
+ B<-xscrollcommand>
+ B<-yscrollcommand>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<browseCmd>
+
+=item Class: B<BrowseCmd>
+
+=item Switch: B<-browsecmd>
+
+If defined, gives a perl/Tk L<callback|Tk::callbacks> to be executed when the
+user browses a grid cell (This is normally the case when the user clicks on an
+entry). When this callback is called, it is passed with two additional
+parameters: I<x> I<y>, where (I<x>,I<y>) is the location of the cell that has
+just been clicked.
+
+=item Name: B<Command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+If defined, gives a perl/Tk L<callback|Tk::callbacks> to be executed when the
+user double-clicks a grid cell. When this callback is called, it is passed
+with two additional parameters: I<x> I<y>, where (I<x>,I<y>) is the location of
+the cell that has just been clicked.
+
+=item Name: B<editDoneCmd>
+
+=item Class: B<EditDoneCmd>
+
+=item Switch: B<-editdonecmd>
+
+If defined, gives a perl/Tk L<callback|Tk::callbacks>
+to be executed when the
+user has edited grid cell. When this callback is called, it is
+passed with two additional parameters: I<x> I<y>, where (I<x>,I<y>)
+is the location of the cell that has just been edited.
+
+=item Name: B<editNotifyCmd>
+
+=item Class: B<EditNotifyCmd>
+
+=item Switch: B<-editnotifycmd>
+
+If defined gives a perl/Tk L<callback|Tk::callbacks>
+to be executed when the user tries to edit a grid cell.
+When this callback is called, it is passed with two additional
+parameters: I<x> I<y>, where (I<x>,I<y>,) is the location
+of the cell. This callback should return a boolean value: B<true>
+indicates that the cell is editable and B<false> otherwise.
+
+=item Name: B<FloatingCols>
+
+=item Class: B<floatingCols>
+
+=item Switch: B<-floatingcols>
+
+Defines the number of extra columns beyond the existing grid
+that can be brought into view by scrolling.
+
+=item Name: B<FloatingRows>
+
+=item Class: B<floatingRows>
+
+=item Switch: B<-floatingrows>
+
+Defines the number of extra rows beyond the the existing grid
+that can be brought into view by scrolling.
+
+=item Name: B<formatCmd>
+
+=item Class: B<FormatCmd>
+
+=item Switch: B<-formatcmd>
+
+If defined, gives a perl/Tk L<callback|Tk::callbacks> to be
+executed when the grid cells need to be displayed on the screen.
+Its primary purpose is to draw the background of the region
+before the cells are rendered on top. This is normally
+achieved by calling B<formatGrid> or B<formatBorder> (see below).
+However other uses can be made of this low-level callback. For example it can be used
+to "lazily" populate the grid by calling the B<set> method only as cells come
+into view.
+
+When this callback is called, it is passed with five additional
+parameters: I<type> I<x1> I<y1> I<x2> I<y2>.
+
+I<x1> I<y1> I<x2> I<y2> gives the extent of the region that needs
+formatting.
+
+I<type> gives the logical type of the region in the grid. It may be one of the
+following.
+
+=over 8
+
+=item B<x_margin>
+
+The horizontal margin.
+
+=item B<y_margin>
+
+The vertical margin.
+
+=item B<s_margin>
+
+The area in the top left corner where the horizontal and vertical margins
+are joined.
+
+=item B<main>
+
+The main body i.e. all the cells that do not fall into the above three types.
+
+=back
+
+=item Name: B<leftMargin>
+
+=item Class: B<LeftMargin>
+
+=item Switch: B<-leftmargin>
+
+Gives the width of vertical margin in cells (columns).
+A zero indicates that no vertical margin exists. A positive value I<N>
+indicates that first I<N> columns are "labels" and are always displayed
+and not scrolled.
+
+=item Name: B<itemType>
+
+=item Class: B<ItemType>
+
+=item Switch: B<-itemtype>
+
+Default item type for cells.
+
+=item Name: B<selectMode>
+
+=item Class: B<SelectMode>
+
+=item Switch: B<-selectmode>
+
+Specifies one of several styles for manipulating the selection.
+The value of the option may be arbitrary, but the default bindings
+expect it to be either B<single>, B<browse>, B<multiple>, or B<extended>;
+the default value is B<single>.
+
+=item Name: B<selectUnit>
+
+=item Class: B<SelectUnit>
+
+=item Switch: B<-selectunit>
+
+Specifies the selection unit. Valid values are B<cell>, B<column> or B<row>.
+
+=item Name: B<sizeCmd>
+
+=item Class: B<SizeCmd>
+
+=item Switch: B<-sizecmd>
+
+Callback is called (with no extra arguments) when grid sizes are
+re-computed. For example if window changes size, a different font
+is specified etc.
+
+It is called just after scrollbars (if present) are updated.
+
+=item Name: B<topMargin>
+
+=item Class: B<TopMargin>
+
+=item Switch: B<-topmargin>
+
+Gives the width of horizontal margin in cells (rows).
+A zero indicates that no horizontal margin exists. A positive value
+I<N> indicates that first I<N> rows are "labels" and are always
+displayed and not scrolled.
+
+=back
+
+=head1 WIDGET METHODS
+
+The B<TixGrid> method creates a TixGrid widget and returns a blessed
+reference of this TixGrid widget. This reference may be used to
+invoke various operations on the widget. It has the following general
+form:
+
+S< >I<$tixgrid>->B<method>?(I<arg, arg, ...>)?
+
+I<arg>s determine the exact behavior of the method.
+
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are possible for B<TixGrid> widgets:
+
+=over 4
+
+=item I<$tixgrid>->B<anchorGet>(I<x>, I<y>)
+
+=item I<$tixgrid>->B<anchorSet>(I<x>, I<y>)
+
+=item I<$tixgrid>->B<anchorClear>
+
+Manipulates the B<anchor cell> of the B<TixGrid> widget.
+The anchor cell is the end of the selection that is fixed
+while the user is dragging out a selection with the mouse.
+
+=item ($bd,$col,$row) = I<$tixgrid>->B<bdtype>(I<x,y> ?,I<xDelta>,I<yDelta>?)
+
+Determines if the the screen (pixel) position I<x,y> is in a border.
+This is useful for changing the mouse cursor when the user points at a
+border - e.g. to indicate that the border can be adjusted
+interactively.
+
+If in a border returns a list of three elements. First element
+is 'xy', 'x' or 'y', second two elements are integers.
+(Value of these are not understood, seem to indicate which
+column and row of the border the screen position corresponds to?)
+
+If not in a border returns an empty list.
+
+=item I<$tixgrid>->B<delete>(I<dim>, I<from>?, I<to>?)
+
+=item I<$tixgrid>->B<deleteColumn>(I<from>?, I<to>?)
+
+=item I<$tixgrid>->B<deleteRow>(I<from>?, I<to>?)
+
+I<Dim> may be B<row> or B<column>. If I<to> is not given,
+deletes a single row (or column) at the position I<from>.
+If I<to> is given, deletes the range of rows (or columns)
+from position I<from> through I<to>.
+
+=item I<$tixgrid>->B<dragsite>(I<option>, I<x>, I<y>)
+
+=item I<$tixgrid>->B<dropsite>(I<option>, I<x>, I<y>)
+
+Tcl/Tix has (or was going to have) Drag&Drop support.
+Meaning for perl/Tk is not clear yet.
+
+=item I<$tixgrid>->B<editApply>
+
+If any cell is being edited, de-highlight the cell and
+applies the changes.
+
+=item I<$tixgrid>->B<editSet>(I<x>, I<y>)
+
+Highlights the cell at (I<x>,I<y>) for editing,
+if the B<-editnotify> callback returns true for this cell.
+
+=item I<$tixgrid>->B<entrycget>(I<x>, I<y>, 'I<-option>')
+
+=item I<$tixgrid>->B<entryconfigure>(I<x>, I<y>?, I<-option>??=>I<value>, I<-option>=>I<value>, I<...>?)
+
+Provide a configue interface to cells in the grid.
+The I<-option>s depend on the item type of the cell.
+
+=item I<$tixgrid>->B<formatBorder>(I<x1,y1>, I<x2,y2>, I<options>);
+
+=item I<$tixgrid>->B<formatGrid>(I<x1,y1>, I<x2,y2>, I<options>);
+
+The B<formatBorder> and B<formatBorder> methods can only be called by the
+B<-formatcmd> callback of the tixGrid widget. They draw the background of
+the region described by I<x1,y1>, I<x2,y2> according the the supplied
+I<options>. One call to B<-formatcmd> callback can make multiple
+calls to B<formatBorder> and/or B<formatBorder> for different
+sub-regions.
+
+B<formatBorder> draws the background using Tk relief style,
+B<formatGrid> also draws grid lines between the cells.
+It only makes sense to call one or the other for a particular
+sub-region as one will over-write the other.
+
+The options allowed are:
+
+=over 8
+
+=item -background / -bg
+
+=item -borderwidth / -bd
+
+=item -filled
+
+=item -relief
+
+=item -selectbackground
+
+=item -xoff
+
+=item -xon
+
+=item -yoff
+
+=item -yon
+
+=back
+
+The B<-xon/-xoff and -yon/-yoff> options are obscure. If anyone
+can figure out how to do something interesting given what
+F<pTk/tixGrFmt.c> is doing with them please let Nick know!.
+
+=item I<$tixgrid>->B<geometryinfo>(?I<width>, I<height>?)
+
+Returns list of four values - two sets of two floating point numbers.
+First set is the scrollbar fractions for x direction, second set
+is scrollbar fractions for y direction. If I<width> and I<height>
+are specified then fractions are based on as if window size was of
+specified size (in pixels, but not allowing normal GetPixels units).
+Otherwise fractions are based on current size of the window.
+
+Usage obscure.
+
+=item I<$tixgrid>->B<index>(I<xcoord>, I<ycoord>)
+
+Retuns I<(x, y)> of entry at position (I<$coordx>, I<$coordy>).
+Either coordinate may be B<'max'> which is largest existing entry
+in that direction, B<'end'> which is one I<beyond> largest existing
+entry, or a number. (This is how you find out how big the grid is.)
+
+=item I<$tixgrid>->B<infoBbox>(I<x>,I<y>)
+
+Return the pixel bounding box of the cell at I<x,y>.
+
+=item I<$tixgrid>->B<infoExists>(I<x>,I<y>)
+
+Returns true if there is an item in the cell at I<x,y>.
+Throws an exception (dies) if I<x,y> is outside the
+grid - this may change (Nick doesn't like it).
+
+=item I<$tixgrid>->B<move>(I<dim>, I<from>, I<to>, I<offset>)
+
+=item I<$tixgrid>->B<moveColumn>(I<from>, I<to>, I<offset>)
+
+=item I<$tixgrid>->B<moveRow>(I<from>, I<to>, I<offset>)
+
+I<Dim> may be B<row> or B<column>. Moves the range of rows
+(or columns) from position I<from> through I<to> by the distance
+indicated by I<offset>. For example,
+I<$tixgrid>->B<moveRow>(B<2>, B<4>, B<1>) moves the rows 2,3,4
+to rows 3,4,5.
+
+=item I<$tixgrid>->B<nearest>(I<x>, I<y>)
+
+Screen pos (pixels) to entry (nx,ny) translation.
+
+=item I<$tixgrid>->B<selectionAdjust>(I<x1>, I<y1> ?,I<x2>, I<y2>?)
+
+=item I<$tixgrid>->B<selectionClear>(I<x1>, I<y1> ?,I<x2>, I<y2>?)
+
+=item I<$tixgrid>->B<selectionIncludes>(I<x1>, I<y1> ?,I<x2>, I<y2>?)
+
+=item I<$tixgrid>->B<selectionSet>(I<x1>, I<y1> ?,I<x2>, I<y2>?)
+
+=item I<$tixgrid>->B<selectionToggle>(I<x1>, I<y1> ?,I<x2>, I<y2>?)
+
+Selection support methods - probably buggy.
+
+x1 (y1) has not to be greater than x2 (y2), but only x2 and y2 can be 'max'.
+
+BUG: I<selectionIncludes>: has no visible effect (as in Tix). Eh???
+
+BUG: I<selectionClear>: only works for 0, 0, max, max (as in Tix). Eh???
+
+When I<x2, y2> are not given they default to I<x1, y1>, respectively.
+
+=item I<$tixgrid>->B<set>(I<x>, I<y>?, B<-itemtype>=>I<type>??, I<-option>=>I<value>, I<...>?)
+
+Creates a new display item at the cell at (I<x>,I<y>). The optional
+B<-itemtype> parameter gives the type of the display item.
+An additional list of I<option-value> pairs specify options
+of the display item. If a display item already exists at this cell,
+the old item will be deleted automatically.
+
+=item I<$tixgrid>->B<size>(I<dim>, I<index>?, I<-option>??=>I<value>, I<...>?)
+
+=item I<$tixgrid>->B<sizeColumn>(I<index>?, I<-option>??=>I<value>, I<...>?)
+
+=item I<$tixgrid>->B<sizeRow>(I<index>?, I<-option>??=>I<value>, I<...>?)
+
+Queries or sets the size of the row or column given by I<dim> and
+I<index>. I<Dim> may be B<row> or B<column>. I<Index> may be any
+non-negative integer that gives the position of a given row (or column).
+I<Index> can also be the string B<default>; in this case, this method
+queries or sets the default size of all rows (or columns).
+When no I<option-value> pair is given, this method returns
+a list containing the current size setting of the given row (or column).
+When I<option-value> pairs are given, the corresponding options
+of the size setting of the given row are changed. I<-option> may be
+one of the following:
+
+=over 8
+
+=item B<-pad0> => I<pixels>
+
+Specifies the paddings to the left of a column or the top of a row.
+
+=item B<-pad1> => I<pixels>
+
+Specifies the paddings to the right of a column or the bottom of a row.
+
+=item B<-size> => I<val>
+
+Specifies the width of a column or the height of a row.
+I<Val> may be: B<auto> -- the width of the column is set
+the widest cell in the column; a valid Tk screen distance
+unit (see B<Tk_GetPixels>); or a real number following by the
+word B<chars> (e.g. B<3.4chars>) that sets the width of the
+column to the given number of characters.
+
+=back
+
+=item I<$tixgrid>->B<sort>(I<dimension>, I<start>, I<end>, ?I<args ...>?)
+
+?docu here? (not supported on Win* OSs up to now)
+
+=item I<$tixgrid>->B<unset>(I<x>, I<y>)
+
+Clears the cell at (I<x>,I<y>) by removing its display item.
+
+=item I<$tixgrid>->B<xview>
+
+Normal horizontal scrollbar method.
+
+=item I<$tixgrid>->B<yview>
+
+Normal vertical scrollbar method.
+
+=back
+
+=head1 BINDINGS
+
+To be done - only most obvious basic bindings work. The Tcl/Tix code
+was coded as a "state machine" which is not easy to follow.
+
+=head1 SEE ALSO
+
+L<Tk::DItem|Tk::DItem>
+L<Tk::callbacks|Tk::callbacks>
+L<Tk::FloatEntry|Tk::FloatEntry>
+
+=head1 BUGS
+
+Tcl/Tix was/is not finished and both C code and bindings of TixGrid
+have some bugs.
+
+=head1 KEYWORDS
+
+tix, tixgrid, table, display item, spreadsheet
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Tk.def b/Master/tlpkg/tlperl/lib/Tk/Tk.def
deleted file mode 100755
index 4668be8d5c1..00000000000
--- a/Master/tlpkg/tlperl/lib/Tk/Tk.def
+++ /dev/null
@@ -1,4 +0,0 @@
-EXPORTS
- boot_Tk
- _boot_Tk = boot_Tk
-
diff --git a/Master/tlpkg/tlperl/lib/Tk/Toplevel.pod b/Master/tlpkg/tlperl/lib/Tk/Toplevel.pod
new file mode 100644
index 00000000000..e3bbf579c0b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Toplevel.pod
@@ -0,0 +1,199 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Toplevel - Create and manipulate Toplevel widgets
+
+=for category Tk Widget Classes
+
+=head1 SYNOPSIS
+
+S< >I<$toplevel> = I<$parent>-E<gt>B<Toplevel>(?I<options>?);
+
+=head1 STANDARD OPTIONS
+
+B<-borderwidth> B<-highlightbackground> B<-highlightthickness> B<-takefocus>
+B<-class> B<-highlightcolor> B<-relief>
+B<-cursor>
+
+See L<Tk::options> for details of the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<background>
+
+=item Class: B<Background>
+
+=item Switch: B<-background>
+
+This option is the same as the standard B<background> option
+except that its value may also be specified as an undefined value.
+In this case, the widget will display no background or border, and
+no colors will be consumed from its colormap for its background
+and border.
+
+=item Name: B<colormap>
+
+=item Class: B<Colormap>
+
+=item Switch: B<-colormap>
+
+Specifies a colormap to use for the window.
+The value may be either B<new>, in which case a new colormap is
+created for the window and its children, or the name of another
+window (which must be on the same screen and have the same visual
+as $widget), in which case the new window will use the colormap
+from the specified window.
+If the B<colormap> option is not specified, the new window
+uses the default colormap of its screen.
+This option may not be changed with the B<configure>
+method.
+
+=item Name: B<container>
+
+=item Class: B<Container>
+
+=item Switch: B<-container>
+
+The value must be a boolean. If true, it means that this window will
+be used as a container in which some other application will be embedded
+(for example, a Tk toplevel can be embedded using the B<-use> option).
+The window will support the appropriate window manager protocols for
+things like geometry requests. The window should not have any
+children of its own in this application.
+This option may not be changed with the B<configure>
+method.
+
+=item Name: B<height>
+
+=item Class: B<Height>
+
+=item Switch: B<-height>
+
+Specifies the desired height for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=item Name: B<menu>
+
+=item Class: B<Menu>
+
+=item Switch: B<-menu>
+
+Specifies a menu widget to be used as a menubar. On the Macintosh, the
+menubar will be displayed accross the top of the main monitor. On
+Microsoft Windows and all UNIX platforms, the menu will appear accross
+the toplevel window as part of the window dressing maintained by the
+window manager.
+
+=item Name: B<"">
+
+=item Class: B<"">
+
+=item Switch: B<-screen>
+
+Specifies the screen on which to place the new window.
+Any valid screen name may be used, even one associated with a
+different display.
+Defaults to the same screen as its parent.
+This option is special in that it may not be specified via the option
+database, and it may not be modified with the B<configure>
+method.
+
+=item Switch: B<-title>
+
+Specifies the title of the toplevel window.
+
+=item Name: B<use>
+
+=item Class: B<Use>
+
+=item Switch: B<-use>
+
+This option is used for embedding. If the value isn't an empty string,
+it must be the the window identifier of a container window, specified as
+a hexadecimal string like the ones returned by the B<winfo id>
+command. The toplevel widget will be created as a child of the given
+container instead of the root window for the screen. If the container
+window is in a Tk application, it must be a frame or toplevel widget for
+which the B<-container> option was specified.
+This option may not be changed with the B<configure>
+method.
+
+=item Name: B<visual>
+
+=item Class: B<Visual>
+
+=item Switch: B<-visual>
+
+Specifies visual information for the new window in any of the
+forms accepted by B<Tk_GetVisual>.
+If this option is not specified, the new window will use the default
+visual for its screen.
+The B<visual> option may not be modified with the B<configure>
+method.
+
+=item Name: B<width>
+
+=item Class: B<Width>
+
+=item Switch: B<-width>
+
+Specifies the desired width for the window in any of the forms
+acceptable to B<Tk_GetPixels>.
+If this option is less than or equal to zero then the window will
+not request any size at all.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Toplevel> method creates a new toplevel widget (given
+by the $widget argument). Additional
+options, described above, may be specified on the command line
+or in the option database
+to configure aspects of the toplevel such as its background color
+and relief. The B<toplevel> command returns the
+path name of the new window.
+
+A toplevel is similar to a frame except that it is created as a
+top-level window: its X parent is the root window of a screen
+rather than the logical parent from its path name. The primary
+purpose of a toplevel is to serve as a container for dialog boxes
+and other collections of widgets. The only visible features
+of a toplevel are its background color and an optional 3-D border
+to make the toplevel appear raised or sunken.
+
+=head1 WIDGET METHODS
+
+The B<Toplevel> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class, and the L<Tk::Wm|Tk::Wm> class.
+
+=head1 BINDINGS
+
+When a new toplevel is created, it has no default event bindings:
+toplevels are not intended to be interactive.
+
+=head1 SEE ALSO
+
+L<Tk::Widget|Tk::Widget>
+L<Tk::Wm|Tk::Wm>
+
+=head1 KEYWORDS
+
+toplevel, widget
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/Tree.pod b/Master/tlpkg/tlperl/lib/Tk/Tree.pod
new file mode 100644
index 00000000000..bbb14665008
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Tree.pod
@@ -0,0 +1,274 @@
+
+=head1 NAME
+
+Tk::Tree - Create and manipulate Tree widgets
+
+=for pm Tixish/Tree.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >B<use Tk::Tree;>
+
+S< >I<$tree> = I<$parent>-E<gt>B<Tree>(?I<options>?);
+
+=head1 SUPER-CLASS
+
+The B<Tree> class is derived from the L<HList|Tk::HList> class and inherits all
+the methods, options and subwidgets of its super-class. A B<Tree> widget is
+not scrolled by default.
+
+=head1 STANDARD OPTIONS
+
+B<Tree> supports all the standard options of an HList widget.
+See L<Tk::options> for details on the standard options.
+
+=head1 WIDGET-SPECIFIC OPTIONS
+
+=over 4
+
+=item Name: B<browseCmd>
+
+=item Class: B<BrowseCmd>
+
+=item Switch: B<-browsecmd>
+
+Specifies a L<callback|Tk::callbacks> to call whenever the user browses on an entry
+(usually by single-clicking on the entry). The callback is called with
+one argument, the pathname of the entry.
+
+=item Name: B<closeCmd>
+
+=item Class: B<CloseCmd>
+
+=item Switch: B<-closecmd>
+
+Specifies a L<callback|Tk::callbacks> to call whenever an entry needs to be closed (See
+L<"BINDINGS"> below). This method is called with one argument,
+the pathname of the entry. This method should perform appropriate
+actions to close the specified entry. If the B<-closecmd> option
+is not specified, the default closing action is to hide all child
+entries of the specified entry.
+
+=item Name: B<command>
+
+=item Class: B<Command>
+
+=item Switch: B<-command>
+
+Specifies a L<callback|Tk::callbacks> to call whenever the user activates an entry
+(usually by double-clicking on the entry). The callback
+is called with one argument, the pathname of the entry.
+
+=item Name: B<ignoreInvoke>
+
+=item Class: B<IgnoreInvoke>
+
+=item Switch: B<-ignoreinvoke>
+
+A Boolean value that specifies when a branch should be opened or
+closed. A branch will always be opened or closed when the user presses
+the (+) and (-) indicators. However, when the user invokes a branch
+(by doublc-clicking or pressing E<lt>ReturnE<gt>), the branch will be opened
+or closed only if B<-ignoreinvoke> is set to false (the default
+setting).
+
+=item Name: B<openCmd>
+
+=item Class: B<OpenCmd>
+
+=item Switch: B<-opencmd>
+
+Specifies a L<callback|Tk::callbacks> to call whenever an entry needs to be opened (See
+L<"BINDINGS"> below). This method is called with one argument,
+the pathname of the entry. This method should perform appropriate
+actions to open the specified entry. If the B<-opencmd> option
+is not specified, the default opening action is to show all the child
+entries of the specified entry.
+
+=back
+
+=head1 DESCRIPTION
+
+The B<Tree> method creates a new window and makes it into a Tree widget
+and return a reference to it. Additional options, described above, may
+be specified on the command line or in the option database to configure
+aspects of the Tree widget such as its cursor and relief.
+
+The Tree widget can be used to display hierarchical data in a tree
+form. The user can adjust the view of the tree by opening or closing
+parts of the tree.
+
+To display a static tree structure, you can add the entries into the
+Tree widget and hide any entries as desired. Then you can call
+the B<autosetmode> method. This will set up the Tree widget so that it
+handles all the I<open> and I<close> events automatically.
+the demonstration program F<Tixish/examples/perl-tix-tree>).
+
+The above method is not applicable if you want to maintain a dynamic tree
+structure, i.e, you do not know all the entries in the tree and you need
+to add or delete entries subsequently. To do this, you should first create
+the entries in the Tree widget. Then, use the B<setmode> method to
+indicate the entries that can be opened or closed, and use the B<-opencmd>
+and B<-closecmd> options to handle the opening and closing events. (Please
+see the demonstration program F<Tixish/examples/perl-tix-dyntree>).
+
+Use either
+
+S< >I<$parent>-E<gt>B<Scrolled>(B<'Tree'>, ... );
+
+or
+
+S< >I<$parent>-E<gt>B<ScrlTree>( ... );
+
+to create a scrolled B<Tree>. See L<Tk::Scrolled> for details.
+
+=head1 WIDGET METHODS
+
+The B<Tree> method creates a widget object.
+This object supports the B<configure> and B<cget> methods
+described in L<Tk::options> which can be used to enquire and
+modify the options described above.
+The widget also inherits all the methods provided by the generic
+L<Tk::Widget|Tk::Widget> class.
+
+The following additional methods are available for Tree widgets:
+
+=over 4
+
+=item I<$tree-E<gt>>B<add_pathimage>(I<treeRegExp [, openImg, closeImg]>)
+
+This method defines images for a given path (images must be in xpm
+format). The path can be determined by a simplified regular
+expression. There are just three metasymbols:
+
+=over
+
+=item ^
+
+at the beginning of the C<treeRegExp> same as in Perl regular
+expressions
+
+=item Z<>*
+
+anything
+
+=item $
+
+at the end of the C<TreeRegExp>, the same as in Perl regular
+expressions
+
+=back
+
+Examples:
+
+ $tree->add_pathimage('^root','openfolder','folder');
+
+matches C<root>, C<root.foo>, C<root.bar>, but not C<foo.root>
+
+ $tree->add_pathimage('root.*.class','openfolder','folder');
+
+matches all paths containing C<< root.<anything>.class >>, but not
+C<< root.<anything>.<anything>.class >> C<*> is one part of the path. If
+you want to use a wildcard for two steps, you have to use C<*.*>.
+
+ $tree->add_pathimage('class$','openfolder','folder');
+
+This matches all path with C<class> at the end.
+
+=item I<$tree>-E<gt>B<autosetmode>
+
+This method calls the B<setmode> method for all the entries in
+this Tree widget: if an entry has no child entries, its mode is set to
+B<none>. Otherwise, if the entry has any hidden child entries, its
+mode is set to B<open>; otherwise its mode is set to B<close>.
+
+=item I<$tree-E<gt>>B<child_entries>([$path][,$depth])
+
+This method returns in list context an array that contains all
+pathnames of subentries within the given path. In scalar context it
+returns the number of subentries in the given path.
+
+ Example:
+ root
+ | foo
+ | bar
+ | | bar1
+ | | bar2
+
+ my @childentries = $tree->child_entries('root.bar');
+ # returns (root.bar.bar1, root.bar.bar2)
+
+ my $nr_of_subentries = $tree->child_entries('root',2);
+ # returns 4
+
+If C<$path> is omitted, all it is assumed, that the entry above
+'root' is meant. C<$depth> defines the numbers of levels.
+
+=item I<$tree>-E<gt>B<close>(I<entryPath>)
+
+Close the entry given by I<entryPath> if its I<mode> is B<close>.
+
+=item I<$tree>-E<gt>B<getmode>(I<entryPath>)
+
+Returns the current I<mode> of the entry given by I<entryPath>.
+
+=item I<$tree>-E<gt>B<open>(I<entryPath>)
+
+Open the entry given by I<entryPath> if its I<mode> is B<open>.
+
+=item I<$tree>-E<gt>B<setmode>(I<entryPath, mode>)
+
+This method is used to indicate whether the entry given by
+I<entryPath> has children entries and whether the children are
+visible. I<mode> must be one of B<open>,
+B<close> or B<none>. If I<mode> is set to B<open>, a (+)
+indicator is drawn next to the entry. If I<mode> is set to
+B<close>, a (-) indicator is drawn next to the entry. If
+I<mode> is set to B<none>, no indicators will be drawn for this
+entry. The default I<mode> is none. The B<open> mode indicates
+the entry has hidden children and this entry can be opened by the
+user. The B<close> mode indicates that all the children of the entry
+are now visible and the entry can be closed by the user.
+
+=back
+
+=head1 BINDINGS
+
+The basic mouse and keyboard bindings of the Tree widget are the same
+as the L<bindings of the HList|Tk::HList/"BINDINGS"> widget.
+In addition, the entries can be opened or closed under the following
+conditions:
+
+=over 4
+
+=item [1]
+
+If the I<mode> of the entry is B<open>, it can be opened by clicking
+on its (+) indicator.
+
+=item [2]
+
+If the I<mode> of the entry is B<close>, it can be closed by clicking
+on its (-) indicator.
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::HList|Tk::HList>
+
+=head1 AUTHOR
+
+Perl/TK version by Chris Dean <ctdean@cogit.com>. Original Tcl/Tix
+version by Ioi Kim Lam.
+
+Additions by Renee Baecker <module@renee-baecker.de>
+
+=head1 ACKNOWLEDGEMENTS
+
+Thanks to Achim Bohnet <ach@mpe.mpg.de> for all his help.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/UserGuide.pod b/Master/tlpkg/tlperl/lib/Tk/UserGuide.pod
new file mode 100644
index 00000000000..caf34ece8d7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/UserGuide.pod
@@ -0,0 +1,586 @@
+=head1 NAME
+
+Tk::UserGuide - Writing Tk applications in Perl 5
+
+=for category Introduction
+
+=head1 DESCRIPTION
+
+This document is for beginners. It assumes you know some B<Perl>, and
+have it and Tk running. If you are I<not> currently reading this
+document courtesy of the B<widget> demonstration program, please be
+sure to run B<widget>, as it will show you the various widget types
+supported by Tk and how to use them. B<widget> should be installed in
+your default path, so type I<widget> at a command prompt.
+
+Here are links to other novice tutorials:
+
+L<http://www.lehigh.edu/~sol0/ptk/tpj1.html>
+L<http://www.lehigh.edu/~sol0/ptk/perlmonth01/pm1.html>
+
+I<Mastering Perl/Tk> is the definitive book on Perl/Tk:
+
+L<http://www.oreilly.com/catalog/mastperltk>
+
+=head1 Some Background
+
+Tk GUI programming is event-driven. (This may already be familiar to
+you.) In event-driven programs, the main GUI loop is outside of the
+user program and inside the GUI library. This loop - initiated by
+calling B<MainLoop> - watches all events of interest and activates
+the correct handler procedures to handle these events. Some of these
+handler procedures may be user-supplied; others will be part of the
+library.
+
+For a programmer, this means that you're not watching what is happening;
+instead, you are requested by the toolkit to perform actions whenever
+necessary.
+So, you're not watching for 'raise window / close window / redraw window'
+requests, but you tell the toolkit which routine will handle such cases,
+and the toolkit will call the procedures when required. These procedures
+are known as I<callbacks>, and some of them you write yourself.
+
+=head1 First Requirements
+
+B<Perl> programs that use Tk need to include C<use Tk>.
+A program should also use C<use strict> and the B<-w> switch to ensure
+the program is working without common errors.
+
+Any Perl/Tk application starts by creating the Tk B<L<MainWindow|Tk::MainWindow>>. You
+then create items inside the B<MainWindow>, and/or create new windows
+called B<L<Toplevel|Tk::Toplevel>>s that also contain child items, before starting the
+B<MainLoop>, which is the last logical statment in your program. You
+can also create more items and windows while you're running, using
+callbacks. Items are only shown on the display after they have been
+arranged by a I<geometry manager> like B<L<pack|Tk::pack>>; more information on
+this later. B<MainLoop> starts the GUI and handle all events. That's
+all there is to it! A trivial one-window example is shown below:
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ my $mw = MainWindow->new;
+ $mw->Label(-text => 'Hello, world!')->pack;
+ $mw->Button(
+ -text => 'Quit',
+ -command => sub { exit },
+ )->pack;
+ MainLoop;
+
+Please run this example. It shows you two widget types, a B<L<Label|Tk::Label>>
+and a B<L<Button|Tk::Button>>, and how they are packed. When clicked, the B<Button>
+widget invokes the callback specified by the C<-command> option. Finally,
+note the typical Tk style using C<-option> =E<gt> C<value> pairs.
+
+=head1 Widget creation
+
+Tk windows and widgets are hierarchical, S<i.e. one> window includes
+one or more other windows. You create the first Tk window using
+C<MainWindow-E<gt>new>. This returns a window handle, assigned to
+C<$mw> in the example above. Keep track of the main handle, commonly
+called a I<widget reference>.
+
+You can use any Tk handle to create child widgets within the window (or
+widget). This is done by calling the Tk constructor method on the
+variable. In the example above, the C<Label> method called from
+C<$mw> creates a B<Label> widget inside the B<MainWindow>. In the
+constructor call, you can specify various options; you can later add
+or change options for any widget using the B<configure> method, which
+takes the same parameters as the constructor. The one exception to
+the hierarchical structure is the B<Toplevel> constructor, which
+creates a new outermost window.
+
+After you create any widget (other than the B<MainWindow> or
+B<Toplevel>s, you must render it by calling B<pack>. (This is not
+entirely true; more later)). If you do not need to refer to the widget
+after construction and packing, call B<pack> off the constructor
+results, as shown for the B<Label> and B<Button> in the example above. Note
+that the result of the compound call is the result of B<pack>, which
+is a valid Tk handle.
+
+Windows and widgets are deleted by calling B<destroy> on them;
+this will delete and un-draw the widget and all its children.
+
+=head1 Standard Tk widgets
+
+Here is an itemize of the standard Tk widget set.
+
+=over 4
+
+=item L<Button|Tk::Button>
+
+=item L<Canvas|Tk::Canvas>
+
+=item L<Checkbutton|Tk::Checkbutton>
+
+=item L<Entry|Tk::Entry>
+
+=item L<Frame|Tk::Frame>
+
+=item L<Label|Tk::Label>
+
+=item L<Labelframe|Tk::Labelframe>
+
+=item L<Listbox|Tk::Listbox>
+
+=item L<Menu|Tk::Menu>
+
+=item L<Menubutton|Tk::Menubutton>
+
+=item L<Message|Tk::Message>
+
+=item L<Panedwindow|Tk::Panedwindow>
+
+=item L<Radiobutton|Tk::Radiobutton>
+
+=item L<Scale|Tk::Scale>
+
+=item L<Scrollbar|Tk::Scrollbar>
+
+=item L<Spinbox|Tk::Spinbox>
+
+=item L<Text|Tk::Text>
+
+=item L<Toplevel|Tk::Toplevel>
+
+=back
+
+Perl/Tk provides an equal number of new widgets, above and beyond this
+core set.
+
+=over 4
+
+=item L<Adjuster|Tk::Adjuster>
+
+=item L<Balloon|Tk::Balloon>
+
+=item L<BrowseEntry|Tk::BrowseEntry>
+
+=item L<ColorEditor|Tk::ColorEditor>
+
+=item L<Dialog|Tk::Dialog>
+
+=item L<DialogBox|Tk::DialogBox>
+
+=item L<DirTree|Tk::DirTree>
+
+=item ErrorDialog
+
+=item L<FBox|Tk::FBox>
+
+=item L<FileSelect|Tk::FileSelect>
+
+=item L<HList|Tk::HList>
+
+=item LabEntry
+
+=item L<LabFrame|Tk::LabFrame>
+
+=item L<NoteBook|Tk::NoteBook>
+
+=item L<Optionmenu|Tk::Optionmenu>
+
+=item L<Pane|Tk::Pane>
+
+=item L<ProgressBar|Tk::ProgressBar>
+
+=item L<ROText|Tk::ROText>
+
+=item L<Table|Tk::Table>
+
+=item L<TextUndo|Tk::TextUndo>
+
+=item L<Tiler|Tk::Tiler>
+
+=item L<TList|Tk::TList>
+
+=item L<Tree|Tk::Tree>
+
+=back
+
+=head1 Variables and callback routines
+
+Most graphical interfaces are used to set up a set of values and conditions,
+and then perform the appropriate action. The Tk toolkit is different
+from your average text-based prompting or menu driven system in that you do
+not collect settings yourself, and decide on an action based on an
+input code; instead, you leave these
+values to your toolkit and only get them when the action is performed.
+
+So, where a traditional text-based system would look like this:
+
+ #!/usr/bin/perl -w
+ use strict;
+
+ print "Please type a font name\n";
+ my $font = <>; chomp $font;
+ # Validate font
+
+ print "Please type a file name\n";
+ my $filename = <>; chomp $filename;
+ # Validate filename
+
+ print "Type <1> to fax, <2> to print\n";
+ my $option = <>; chomp $option;
+ if ($option eq 1) {
+ print "Faxing $filename in font $font\n";
+ } elsif ($option eq 2) {
+ print "Now sending $filename to printer in font $font\n";
+ }
+
+The slightly larger example below shows how to do this in Tk.
+Note the use of callbacks. Note, also, that Tk handles the values, and
+the subroutine uses the method B<get> to get at the values.
+If a user changes his mind and wants to change the font again,
+the application never notices; it's all handled by Tk.
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ my $mw = MainWindow->new;
+
+ $mw->Label(-text => 'File Name')->pack;
+ my $filename = $mw->Entry(-width => 20);
+ $filename->pack;
+
+ $mw->Label(-text => 'Font Name')->pack;
+ my $font = $mw->Entry(-width => 10);
+ $font->pack;
+
+ $mw->Button(
+ -text => 'Fax',
+ -command => sub{do_fax($filename, $font)}
+ )->pack;
+
+ $mw->Button(
+ -text => 'Print',
+ -command => sub{do_print($filename, $font)}
+ )->pack;
+
+ MainLoop;
+
+ sub do_fax {
+ my ($file, $font) = @_;
+ my $file_val = $file->get;
+ my $font_val = $font->get;
+ print "Now faxing $file_val in font $font_val\n";
+ }
+
+ sub do_print {
+ my ($file, $font) = @_;
+ my $file_val = $file->get;
+ my $font_val = $font->get;
+ print "Sending file $file_val to printer in font $font_val\n";
+ }
+
+=head1 The packer - grouping with Frame widgets
+
+In the examples above, you must have noticed the B<pack> calls. This
+is one of the more complicated parts of Tk. The basic idea is that
+any window or widget should be subject to a Tk geometry manager; the
+I<packer> is one of the placement managers, and B<L<grid|Tk::grid>> is another.
+
+The actions of the packer are rather simple: when applied
+to a widget, the packer positions that widget on the indicated position
+within the remaining space in its parent. By default, the position is
+on top; this means the next items will be put below. You can also
+specify the left, right, or bottom positions. Specify position
+using B<-side =E<gt> 'right'>.
+
+Additional packing parameters specify the behavior of the widget when
+there is some space left in the B<L<Frame|Tk::Frame>> or when the window size is
+increased. If widgets should maintain a fixed size, specify nothing;
+this is the default. For widgets that you want to fill up the current
+horizontal and/or vertical space, specify B<-fill =E<gt> 'x'>, B<'y'>,
+or B<'both'>; for widgets that should grow, specify B<-expand =E<gt> 1>.
+These parameters are not shown in the example below; see the B<widget>
+demonstration.
+
+If you want to group some items within a window that have a different
+packing order than others, you can include them in a Frame. This is a
+do-nothing window type that is meant for packing or filling (and to
+play games with borders and colors).
+
+The example below shows the use of pack and Frames:
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ # Take top and the bottom - now implicit top is in the middle
+ my $mw = MainWindow->new;
+ $mw->title( 'The MainWindow' );
+ $mw->Label(-text => 'At the top (default)')->pack;
+ $mw->Label(-text => 'At the bottom')->pack(-side => 'bottom');
+ $mw->Label(-text => 'The middle remains')->pack;
+
+ # Since left and right are taken, bottom will not work...
+ my $top1 = $mw->Toplevel;
+ $top1->title( 'Toplevel 1' );
+ $top1->Label(-text => 'Left')->pack(-side => 'left');
+ $top1->Label(-text => 'Right')->pack(-side => 'right');
+ $top1->Label(-text => '?Bottom?')->pack(-side => 'bottom');
+
+ # But when you use Frames, things work quite alright
+ my $top2 = $mw->Toplevel;
+ $top2->title( 'Toplevel 2' );
+ my $frame = $top2->Frame;
+ $frame->pack;
+ $frame->Label(-text => 'Left2')->pack(-side => 'left');
+ $frame->Label(-text => 'Right2')->pack(-side => 'right');
+ $top2->Label(-text => 'Bottom2')->pack(-side => 'bottom');
+
+ MainLoop;
+
+=head1 More than one window
+
+Most real applications require more than one window. As you just saw,
+you can create more outermost windows by using a B<Toplevel> widget.
+Each window is independent; destroying a B<Toplevel> window does not
+affect the others as long as they are not a child of the closed
+B<Toplevel>. However, exiting the B<MainWindow> will destroy all remaining
+B<Toplevel> widgets and end the application. The
+example below shows a trivial three-window application:
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ my $mw = MainWindow->new;
+ fill_window($mw, 'Main');
+ my $top1 = $mw->Toplevel;
+ fill_window($top1, 'First top-level');
+ my $top2 = $mw->Toplevel;
+ fill_window($top2, 'Second top-level');
+ MainLoop;
+
+ sub fill_window {
+ my ($window, $header) = @_;
+ $window->Label(-text => $header)->pack;
+ $window->Button(
+ -text => 'close',
+ -command => [$window => 'destroy']
+ )->pack(-side => 'left');
+ $window->Button(
+ -text => 'exit',
+ -command => [$mw => 'destroy']
+ )->pack(-side => 'right');
+ }
+
+=head1 More callbacks
+
+So far, all callback routines shown called a user procedure.
+You can also have a callback routine call another Tk routine.
+This is the way that scroll bars are implemented: scroll-bars
+can call a Tk item or a user procedure, whenever their position
+has changed. The Tk item that has a scrollbar attached calls the
+scrollbar when its size or offset has changed. In this way,
+the items are linked. You can still ask a scrollbar's position,
+or set it by hand - but the defaults will be taken care of.
+
+The example below shows a B<L<Listbox|Tk::Listbox>> with a scroll bar. Moving
+the scrollbar moves the B<Listbox>. Scanning a B<Listbox> (dragging
+an item with the left mouse button) moves the scrollbar.
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ my $mw = MainWindow->new;
+ my $box = $mw->Listbox(
+ -relief => 'sunken',
+ -height => 5,
+ -setgrid => 1,
+ );
+ my @items = qw(One Two Three Four Five Six Seven
+ Eight Nine Ten Eleven Twelve);
+ foreach (@items) {
+ $box->insert('end', $_);
+ }
+ my $scroll = $mw->Scrollbar(-command => ['yview', $box]);
+ $box->configure(-yscrollcommand => ['set', $scroll]);
+ $box->pack(-side => 'left', -fill => 'both', -expand => 1);
+ $scroll->pack(-side => 'right', -fill => 'y');
+
+ MainLoop;
+
+Note that there's a convenience method B<L<Scrolled|Tk::Scrolled>>
+which helps constructing widgets with automatically managed
+scrollbars.
+
+=head1 Canvases and tags
+
+One of the most powerful widgets in Tk is the B<L<Canvas|Tk::Canvas>> window.
+In a B<Canvas> window, you can draw simple graphics and include
+other widgets. The B<Canvas> area may be larger than the visible window,
+and may then be scrolled. Any item you draw on the canvas has its own id,
+and may optionally have one or more I<tags>. You may refer to any
+item by its id, and may refer to any group of items by a common tag;
+you can move, delete, or change groups of items using these tags,
+and you can I<bind> actions to tags. For a properly designed (often
+structured) B<Canvas>, you can specify powerful actions quite simply.
+
+In the example below, actions are bound to circles (single click)
+and blue items (double-click); obviously, this can be extended to any
+tag or group of tags.
+
+ #!/usr/bin/perl -w
+ use Tk;
+ use strict;
+
+ # Create B<MainWindow> and canvas
+ my $mw = MainWindow->new;
+ my $canvas = $mw->Canvas;
+ $canvas->pack(-expand => 1, -fill => 'both');
+
+ # Create various items
+ create_item($canvas, 1, 1, 'circle', 'blue', 'Jane');
+ create_item($canvas, 4, 4, 'circle', 'red', 'Peter');
+ create_item($canvas, 4, 1, 'square', 'blue', 'James');
+ create_item($canvas, 1, 4, 'square', 'red', 'Patricia');
+
+ # Single-clicking with left on a 'circle' item invokes a procedure
+ $canvas->bind('circle', '<1>' => sub {handle_circle($canvas)});
+ # Double-clicking with left on a 'blue' item invokes a procedure
+ $canvas->bind('blue', '<Double-1>' => sub {handle_blue($canvas)});
+ MainLoop;
+
+ # Create an item; use parameters as tags (this is not a default!)
+ sub create_item {
+ my ($can, $x, $y, $form, $color, $name) = @_;
+
+ my $x2 = $x + 1;
+ my $y2 = $y + 1;
+ my $kind;
+ $kind = 'oval' if ($form eq 'circle');
+ $kind = 'rectangle' if ($form eq 'square');
+ $can->create(
+ ($kind, "$x" . 'c', "$y" . 'c',
+ "$x2" . 'c', "$y2" . 'c'),
+ -tags => [$form, $color, $name],
+ -fill => $color);
+ }
+
+ # This gets the real name (not current, blue/red, square/circle)
+ # Note: you'll want to return a list in realistic situations...
+ sub get_name {
+ my ($can) = @_;
+ my $item = $can->find('withtag', 'current');
+ my @taglist = $can->gettags($item);
+ my $name;
+ foreach (@taglist) {
+ next if ($_ eq 'current');
+ next if ($_ eq 'red' or $_ eq 'blue');
+ next if ($_ eq 'square' or $_ eq 'circle');
+ $name = $_;
+ last;
+ }
+ return $name;
+ }
+
+ sub handle_circle {
+ my ($can) = @_;
+ my $name = get_name($can);
+ print "Action on circle $name...\n";
+ }
+
+ sub handle_blue {
+ my ($can) = @_;
+ my $name = get_name($can);
+ print "Action on blue item $name...\n";
+ }
+
+=head1 Perl/Tk and Unicode
+
+Perl/Tk follows Perl's model of handling Unicode. That is, if a string
+is correctly flagged as a E<quot>characterE<quot> string in the sense
+like described in L<Encode/TERMINOLOGY>, then Perl/Tk will very
+probably display and handle this string correctly.
+
+Note that every variable which is passed somehow into a Perl/Tk method
+will be implicitely changed into an internally utf8-flagged variable.
+Semantically nothing changes, as the series of codepoints stays the
+same, but things will change when variables with high-bit iso-8859-1
+characters will be passed to the "outer" world. In this case you have
+to explicitely mark the encoding of your output stream if using IO, or
+encode the variables using L<Encode> for other style of communication.
+
+This is the theory, now some examples.
+
+If you use non-iso-8859-1 characters in the source code, then use
+either the C<use utf8;> or C<use encoding 'I<encodingname>'> pragma:
+
+ use utf8;
+ use Tk;
+ my $x = "some characters using utf8 encoding";
+ tkinit->Label(-text => $x)->pack;
+ MainLoop;
+
+For data that comes from a file you have to specify the encoding
+unless it's encoded as ascii or iso-8559-1:
+
+ use Tk;
+ open my $FH, "<:encoding(utf-8)", "filename" or die $!;
+ # or for utf-16 data: open my $FH, "<:encoding(utf-16)", "filename" or die $!;
+ my $data = <$FH>;
+ tkinit->Label(-text => $data)->pack;
+ MainLoop;
+
+Likewise, the encoding must be specified for all data which is read
+from Tk widgets and that shall be output into a file. For the output,
+the encoding should be always specified, even if it is iso-8859-1:
+
+ use Tk;
+ $mw = tkinit;
+ $mw->Entry(-textvariable => \$input)->pack;
+ $mw->Button(
+ -text => "Write to file",
+ -command => sub {
+ open my $FH, ">:encoding(iso-8859-1)", "filename" or die $!;
+ print $FH $input;
+ },
+ )->pack;
+ MainLoop;
+
+Note that Tk is Unicode-capable. So you need to be prepared that the
+user has the appropriate input methods activated to enter non-ascii
+characters. If an output encoding is used which does not cover the
+whole of Unicode codepoints then a warning will be issued when writing
+the file, like this:
+
+ "\x{20ac}" does not map to iso-8859-1 at /usr/local/lib/perl5/site_perl/5.8.8/mach/Tk.pm line 250.
+
+Also, the same hexadecimal notation will be used as replacements for
+the unhandled characters.
+
+Handling encoding in I/O is pretty simple using the C<encoding> PerlIO
+layer, as described above. In other cases, such as when dealing with
+databases, encoding the data usually has to be done manually, unless
+the database driver has some means for automatically do this for you.
+So when working with a MySQL database, one could use:
+
+ use Tk;
+ use DBI;
+ use Encode qw(encode);
+ $mw = tkinit;
+ $mw->Entry(-textvariable => \$input)->pack;
+ $mw->Button(
+ -text => "Write to database",
+ -command => sub {
+ my $dbh = DBI->connect("dbi:mysql:test", "root", "") or die;
+ my $encoded_input = encode("iso-8859-1", $input);
+ $dbh->do("INSERT INTO testtable VALUES (?)", undef, $encoded_input) or die;
+ },
+ )->pack;
+ MainLoop;
+
+Unfortunately, there are still places in Perl ignorant of Unicode. One
+of these places are filenames. Consequently, the file selectors in
+Perl/Tk do not handle encoding of filenames properly. Currently they
+suppose that filenames are in iso-8859-1 encoding, at least on Unix
+systems. As soon as Perl has a concept of filename encodings, then
+Perl/Tk will also implement such schemes.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/Widget.pm b/Master/tlpkg/tlperl/lib/Tk/Widget.pm
index 96cd136b245..62cb5c44afb 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Widget.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Widget.pm
@@ -3,7 +3,7 @@
# modify it under the same terms as Perl itself.
package Tk::Widget;
use vars qw($VERSION @DefaultMenuLabels);
-$VERSION = '4.035'; # was: sprintf '4.%03d', q$Revision: #30 $ =~ /\D(\d+)\s*$/;
+$VERSION = '4.036'; # was: sprintf '4.%03d', q$Revision: #30 $ =~ /\D(\d+)\s*$/;
require Tk;
use AutoLoader;
@@ -1475,9 +1475,9 @@ sub bindDump {
}
} elsif ($callback =~ /ARRAY/) {
if (ref $callback->[0]) {
- push @out, sprintf( "%s %s\n", ' ' x $spc1, $callback->[0], "\n" );
+ push @out, sprintf( "%s %s\n", ' ' x $spc1, $callback->[0] );
} else {
- push @out, sprintf( "%s '%s'\n", ' ' x $spc1, $callback->[0], "\n" );
+ push @out, sprintf( "%s '%s'\n", ' ' x $spc1, $callback->[0] );
}
foreach my $arg (@$callback[1 .. $#$callback]) {
if (ref $arg) {
diff --git a/Master/tlpkg/tlperl/lib/Tk/Widget.pod b/Master/tlpkg/tlperl/lib/Tk/Widget.pod
new file mode 100644
index 00000000000..696bbab22b7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Widget.pod
@@ -0,0 +1,678 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Widget - Base class of all widgets
+
+=for pm Tk/Widget.pm
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+ package Tk::Whatever;
+ require Tk::Widget;
+ @ISA = qw(Tk::Widget);
+ Construct Tk::Widget 'Whatever';
+
+ sub Tk_cmd { \&Tk::whatever }
+
+S< >I<$widget>-E<gt>I<method>(?I<arg, arg, ...>?)
+
+=head1 DESCRIPTION
+
+The B<Tk::Widget> is an abstract base class for all Tk widgets.
+
+Generic methods available to all widgets include the methods based on core
+C<winfo> mechanism and are used to retrieve information about windows managed by
+Tk. They can take any of a number of different forms, depending on the I<method>.
+The legal forms are:
+
+=over 4
+
+=item I<$widget>-E<gt>B<appname>?(I<newName>)?
+
+If I<newName> isn't specified, this method returns the name
+of the application (the name that may be used in B<send>
+commands to communicate with the application).
+If I<newName> is specified, then the name of the application
+is changed to I<newName>.
+If the given name is already in use, then a suffix of the form
+``B< #2>'' or ``B< #3>'' is appended in order to make the name unique.
+The method's result is the name actually chosen.
+I<newName> should not start with a capital letter.
+This will interfere with L<option|Tk::option> processing, since names starting with
+capitals are assumed to be classes; as a result, Tk may not
+be able to find some options for the application.
+If sends have been disabled by deleting the B<send> command,
+this command will reenable them and recreate the B<send>
+command.
+
+=item I<$widget>-E<gt>B<atom>(I<name>)
+
+Returns a decimal string giving the integer identifier for the
+atom whose name is I<name>. If no atom exists with the name
+I<name> then a new one is created.
+
+=item I<$widget>-E<gt>B<atomname>(I<id>)
+
+Returns the textual name for the atom whose integer identifier is
+I<id>.
+This command is the inverse of the I<$widget>-E<gt>B<atom> command.
+It generates an error if no such atom exists.
+
+=item I<$widget>-E<gt>B<bell>( ?-nice? );
+
+This command rings the bell on the display for I<$widget> and
+returns an empty string.
+The command uses the current bell-related settings for the display, which
+may be modified with programs such as B<xset>.
+
+If I<-nice> is not specified, this command also resets the screen saver
+for the screen. Some screen savers will ignore this, but others will
+reset so that the screen becomes visible again.
+
+=item I<$widget>-E<gt>B<bindDump>
+
+This command returns a list of strings suitable for printing detailing
+binding information for a widget. It prints a widget's
+bindtags. For each binding tag it prints all the bindings, comprised
+of the event descriptor and the callback. Callback arguments are
+printed, and B<Tk::Ev> objects are expanded.
+
+=item I<$widget>-E<gt>B<Busy>?(?-recurse => 1?,I<-option> => I<value>?)?
+
+This method B<configure>s a B<-cursor> option for I<$widget> and
+(if B<-recurse => 1> is specified) all its descendants. The cursor to
+be set may be passed as S<B<-cursor> => I<cursor>> or defaults to 'watch'.
+Additional B<configure> options are applied to I<$widget> only.
+It also adds a special tag B<'Busy'> to the B<bindtags> of the widgets so
+configured so that B<KeyPress>, B<KeyRelease>, B<ButtonPress> and
+B<ButtonRelease> events are ignored (with press events generating a call to
+B<bell>). It then acquires a local B<grab> for I<$widget>.
+The state of the widgets and the grab is restored by a call to
+I<$widget>-E<gt>B<Unbusy>.
+
+=item I<$widget>-E<gt>B<caret>( ?-x => I<x>?, ?-y => I<y>?, ?-height
+=> I<height>? );
+
+Sets and queries the caret location for the display of the specified
+Tk window window. The caret is the per-display cursor location used
+for indicating global focus (e.g. to comply with Microsoft
+Accessibility guidelines), as well as for location of the
+over-the-spot XIM (X Input Methods) or Windows IME windows. If no
+options are specified, the last values used for setting the caret are
+return in option-value pair format. -x and -y represent
+window-relative coordinates, and -height is the height of the current
+cursor location, or the height of the specified window if none is
+given.
+
+=item I<$widget>-E<gt>B<cells>
+
+Returns a decimal string giving the number of cells in the
+color map for I<$widget>.
+
+=item I<$widget>-E<gt>B<children>
+
+I<$widget->>B<children>
+Returns a list containing all the children
+of $widget. The list is in stacking order, with the lowest
+window first. Top-level windows are returned as children
+of their logical parents.
+
+=item I<$widget>-E<gt>B<class>
+
+Returns the class name for I<$widget>.
+
+=item I<$widget>-E<gt>B<colormapfull>
+
+Returns 1 if the colormap for I<$widget> is known to be full, 0
+otherwise. The colormap for a window is ``known'' to be full if the last
+attempt to allocate a new color on that window failed and this
+application hasn't freed any colors in the colormap since the
+failed allocation.
+
+=item I<$widget>-E<gt>B<ConfigSpecs>
+
+Used to perform delegated option configuration for a mega-widget.
+Returns, in Tk::Derived::ConfigSpecs notation (see L<Tk::ConfigSpecs>),
+all possible options for a widget. For example,
+
+ $s = $self->Scale;
+ $self->ConfigSpecs(
+ $s->ConfigSpecs,
+ .... more ConfigSpecs specifications
+ );
+
+returns a hash of all Tk::Scale options, delegated to $s - e.g. some
+representative examples:
+
+ -bigincrement => [$s, bigIncrement, BigIncrement, 0, 0]
+ -digits => [$s, digits, Digits, 0, 0]
+ -sliderlength => [$s, sliderLength, SliderLength, 10m, 30]
+ -troughcolor => [$s, troughColor, Background, #c3c3c3, #c3c3c3]
+
+This provides an easy means of populating a mega-widget's ConfigSpecs
+with initializers.
+
+=item I<$widget>-E<gt>B<containing>(I<rootX,rootY>)
+
+Returns the window containing the point given
+by I<rootX> and I<rootY>.
+I<RootX> and I<rootY> are specified in screen units (i.e.
+any form acceptable to B<Tk_GetPixels>) in the coordinate
+system of the root window (if a virtual-root window manager is in
+use then the coordinate system of the virtual root window is used).
+If no window in this application contains the point then an empty
+string is returned.
+In selecting the containing window, children are given higher priority
+than parents and among siblings the highest one in the stacking order is
+chosen.
+
+=item I<$widget>-E<gt>B<depth>
+
+Returns a decimal string giving the depth of I<$widget> (number
+of bits per pixel).
+
+=item I<$widget>-E<gt>B<destroy>
+
+This command deletes the window related to
+I<$widget>, plus all its descendants.
+If all the B<MainWindows> are deleted then the entire application
+will be destroyed.
+
+The perl object I<$widget> continues to exist while references
+to it still exist, e.g. until variable goes out of scope.
+However any attempt to use Tk methods on the object will fail.
+B<Exists>(I<$widget>) will return false on such objects.
+
+Note however that while a window exists for I<$widget> the
+perl object is maintained (due to "references" in perl/Tk internals)
+even though original variables may have gone out of scope.
+(Normally this is intuitive.)
+
+=item B<Exists>(I<$widget>)
+
+Returns 1 if there exists a window for I<$widget>, 0 if no such
+window exists.
+
+=item I<$widget>-E<gt>B<font>(I<option>?, I<arg, arg, ...>?)
+
+Create and inspect fonts. See L<Tk::Font> for further details.
+
+=item I<$widget>-E<gt>B<fpixels>(I<number>)
+
+Returns a floating-point value giving the number of pixels
+in I<$widget> corresponding to the distance given by I<number>.
+I<Number> may be specified in any of the forms acceptable
+to B<Tk_GetScreenMM>, such as ``2.0c'' or ``1i''.
+The return value may be fractional; for an integer value, use
+I<$widget>-E<gt>B<pixels>.
+
+=item I<$widget>-E<gt>B<Getimage>(I<name>)
+
+Given I<name>, look for an image file with that base name and return
+a L<Tk::Image>. File extensions are tried in this order: F<xpm>,
+F<gif>, F<ppm>, F<xbm> until a valid iamge is found. If no image is
+found, try a builtin image with that name.
+
+=item I<$widget>-E<gt>B<geometry>
+
+Returns the geometry for I<$widget>, in the form
+I<width>B<x>I<height>B<+>I<x>B<+>I<y>. All dimensions are
+in pixels.
+
+=item I<$widget>-E<gt>B<height>
+
+Returns a decimal string giving I<$widget>'s height in pixels.
+When a window is first created its height will be 1 pixel; the
+height will eventually be changed by a geometry manager to fulfill
+the window's needs.
+If you need the true height immediately after creating a widget,
+invoke B<update> to force the geometry manager to arrange it,
+or use I<$widget>-E<gt>B<reqheight> to get the window's requested height
+instead of its actual height.
+
+=item I<$widget>-E<gt>B<id>
+
+Returns a hexadecimal string giving a low-level platform-specific
+identifier for $widget. On Unix platforms, this is the X
+window identifier. Under Windows, this is the Windows
+HWND. On the Macintosh the value has no meaning outside Tk.
+
+=item I<$widget>-E<gt>B<idletasks>
+
+One of two methods which are used to bring the application ``up to date''
+by entering the event loop repeated until all pending events
+(including idle callbacks) have been processed.
+
+If the B<idletasks> method is specified, then no new events or errors
+are processed; only idle callbacks are invoked. This causes operations
+that are normally deferred, such as display updates and window layout
+calculations, to be performed immediately.
+
+The B<idletasks> command is useful in scripts where changes have been
+made to the application's state and you want those changes to appear
+on the display immediately, rather than waiting for the script to
+complete. Most display updates are performed as idle callbacks, so
+B<idletasks> will cause them to run. However, there are some kinds of
+updates that only happen in response to events, such as those
+triggered by window size changes; these updates will not occur in
+B<idletasks>.
+
+=item I<$widget>-E<gt>B<interps>
+
+Returns a list whose members are the names of all Tcl interpreters
+(e.g. all Tk-based applications) currently registered for
+a particular display.
+The return value refers
+to the display of I<$widget>.
+
+=item I<$widget>-E<gt>B<ismapped>
+
+Returns B<1> if I<$widget> is currently mapped, B<0> otherwise.
+
+=item I<$widget->>B<lower>(?I<belowThis>?)
+
+If the I<belowThis> argument is omitted then the command lowers
+$widget so that it is below all of its siblings in the stacking
+order (it will be obscured by any siblings that overlap it and
+will not obscure any siblings).
+If I<belowThis> is specified then it must be the path name of
+a window that is either a sibling of $widget or the descendant
+of a sibling of $widget.
+In this case the B<lower> command will insert
+$widget into the stacking order just below I<belowThis>
+(or the ancestor of I<belowThis> that is a sibling of $widget);
+this could end up either raising or lowering $widget.
+
+=item I<$widget>-E<gt>B<MapWindow>
+
+Cause I<$widget> to be "mapped" i.e. made visible on the display.
+May confuse the geometry manager (pack, grid, place, ...)
+that thinks it is managing the widget.
+
+=item I<$widget>-E<gt>B<manager>
+
+Returns the name of the geometry manager currently
+responsible for I<$widget>, or an empty string if I<$widget>
+isn't managed by any geometry manager.
+The name is usually the name of the method for the geometry
+manager, such as B<pack> or B<place>.
+If the geometry manager is a widget, such as canvases or text, the
+name is the widget's class command, such as B<canvas>.
+
+=item I<$widget>-E<gt>B<name>
+
+Returns I<$widget>'s name (i.e. its name within its parent, as opposed
+to its full path name).
+The command I<$mainwin>-E<gt>B<name> will return the name of the application.
+
+=item I<$widget>-E<gt>B<OnDestroy>(I<callback>);
+
+OnDestroy accepts a standard perl/Tk I<callback>.
+When the window associated with I<$widget> is destroyed then
+the callback is invoked. Unlike I<$widget->>bind('E<lt>DestroyE<gt>',...)
+the widgets methods are still available when I<callback> is executed,
+so (for example) a B<Text> widget can save its contents to a file.
+
+OnDestroy was required for new B<after> mechanism.
+
+=item I<$widget>-E<gt>B<parent>
+
+Returns I<$widget>'s parent, or an empty string
+if I<$widget> is the main window of the application.
+
+=item I<$widget>-E<gt>B<PathName>
+
+Returns the Tk path name of I<$widget>. This is the inverse of the
+L</Widget> method. (This is an import from the C interface.)
+
+=item I<$widget>-E<gt>B<pathname>(I<id>)
+
+Returns an object whose X identifier is I<id>.
+The identifier is looked up on the display of I<$widget>.
+I<Id> must be a decimal, hexadecimal, or octal integer and must
+correspond to a window in the invoking application, or an error
+occurs which can be trapped with C<eval { }> or C<Tk::catch { }>.
+If the window belongs to the application, but is not an object
+(for example wrapper windows, HList header, etc.) then C<undef>
+is returned.
+
+=item I<$widget>-E<gt>B<pixels>(I<number>)
+
+Returns the number of pixels in I<$widget> corresponding
+to the distance given by I<number>.
+I<Number> may be specified in any of the forms acceptable
+to B<Tk_GetPixels>, such as ``2.0c'' or ``1i''.
+The result is rounded to the nearest integer value; for a
+fractional result, use I<$widget>-E<gt>B<fpixels>.
+
+=item I<$widget>-E<gt>B<pointerx>
+
+If the mouse pointer is on the same screen as I<$widget>, returns the
+pointer's x coordinate, measured in pixels in the screen's root window.
+If a virtual root window is in use on the screen, the position is
+measured in the virtual root.
+If the mouse pointer isn't on the same screen as I<$widget> then
+-1 is returned.
+
+=item I<$widget>-E<gt>B<pointerxy>
+
+If the mouse pointer is on the same screen as I<$widget>, returns a list
+with two elements, which are the pointer's x and y coordinates measured
+in pixels in the screen's root window.
+If a virtual root window is in use on the screen, the position
+is computed in the virtual root.
+If the mouse pointer isn't on the same screen as I<$widget> then
+both of the returned coordinates are -1.
+
+=item I<$widget>-E<gt>B<pointery>
+
+If the mouse pointer is on the same screen as I<$widget>, returns the
+pointer's y coordinate, measured in pixels in the screen's root window.
+If a virtual root window is in use on the screen, the position
+is computed in the virtual root.
+If the mouse pointer isn't on the same screen as I<$widget> then
+-1 is returned.
+
+=item I<$widget>-E<gt>B<raise>(?I<aboveThis>?)
+
+If the I<aboveThis> argument is omitted then the command raises
+$widget so that it is above all of its siblings in the stacking
+order (it will not be obscured by any siblings and will obscure
+any siblings that overlap it).
+If I<aboveThis> is specified then it must be the path name of
+a window that is either a sibling of $widget or the descendant
+of a sibling of $widget.
+In this case the B<raise> command will insert
+$widget into the stacking order just above I<aboveThis>
+(or the ancestor of I<aboveThis> that is a sibling of $widget);
+this could end up either raising or lowering $widget.
+
+=item I<$widget>-E<gt>B<reqheight>
+
+Returns a decimal string giving I<$widget>'s requested height,
+in pixels. This is the value used by I<$widget>'s geometry
+manager to compute its geometry.
+
+=item I<$widget>-E<gt>B<reqwidth>
+
+Returns a decimal string giving I<$widget>'s requested width,
+in pixels. This is the value used by I<$widget>'s geometry
+manager to compute its geometry.
+
+=item I<$widget>-E<gt>B<rgb>(I<color>)
+
+Returns a list containing three decimal values, which are the
+red, green, and blue intensities that correspond to I<color> in
+the window given by I<$widget>. I<Color>
+may be specified in any of the forms acceptable for a color
+option.
+
+=item I<$widget>-E<gt>B<rootx>
+
+Returns a decimal string giving the x-coordinate, in the root
+window of the screen, of the
+upper-left corner of I<$widget>'s border (or I<$widget> if it
+has no border).
+
+=item I<$widget>-E<gt>B<rooty>
+
+Returns a decimal string giving the y-coordinate, in the root
+window of the screen, of the
+upper-left corner of I<$widget>'s border (or I<$widget> if it
+has no border).
+
+=item I<$widget>-E<gt>B<scaling>?(I<number>)?
+
+Sets and queries the current scaling factor used by Tk to convert between
+physical units (for example, points, inches, or millimeters) and pixels. The
+I<number> argument is a floating point number that specifies the number of
+pixels per point on $widget's display. If the I<number> argument is
+omitted, the current value of the scaling factor is returned.
+
+A ``point'' is a unit of measurement equal to 1/72 inch. A scaling factor
+of 1.0 corresponds to 1 pixel per point, which is equivalent to a standard
+72 dpi monitor. A scaling factor of 1.25 would mean 1.25 pixels per point,
+which is the setting for a 90 dpi monitor; setting the scaling factor to
+1.25 on a 72 dpi monitor would cause everything in the application to be
+displayed 1.25 times as large as normal. The initial value for the scaling
+factor is set when the application starts, based on properties of the
+installed monitor (as reported via the window system),
+but it can be changed at any time. Measurements made
+after the scaling factor is changed will use the new scaling factor, but it
+is undefined whether existing widgets will resize themselves dynamically to
+accomodate the new scaling factor.
+
+=item I<$widget>-E<gt>B<screen>
+
+Returns the name of the screen associated with I<$widget>, in
+the form I<displayName>.I<screenIndex>.
+
+=item I<$widget>-E<gt>B<screencells>
+
+Returns a decimal string giving the number of cells in the default
+color map for I<$widget>'s screen.
+
+=item I<$widget>-E<gt>B<screendepth>
+
+Returns a decimal string giving the depth of the root window
+of I<$widget>'s screen (number of bits per pixel).
+
+=item I<$widget>-E<gt>B<screenheight>
+
+Returns a decimal string giving the height of I<$widget>'s screen,
+in pixels.
+
+=item I<$widget>-E<gt>B<screenmmheight>
+
+Returns a decimal string giving the height of I<$widget>'s screen,
+in millimeters.
+
+=item I<$widget>-E<gt>B<screenmmwidth>
+
+Returns a decimal string giving the width of I<$widget>'s screen,
+in millimeters.
+
+=item I<$widget>-E<gt>B<screenvisual>
+
+Returns one of the following strings to indicate the default visual
+class for I<$widget>'s screen: B<directcolor>, B<grayscale>,
+B<pseudocolor>, B<staticcolor>, B<staticgray>, or
+B<truecolor>.
+
+=item I<$widget>-E<gt>B<screenwidth>
+
+Returns a decimal string giving the width of I<$widget>'s screen,
+in pixels.
+
+=item I<$widget>-E<gt>B<server>
+
+Returns a string containing information about the server for
+I<$widget>'s display. The exact format of this string may vary
+from platform to platform. For X servers the string
+has the form ``B<X>I<major>B<R>I<minor vendor vendorVersion>''
+where I<major> and I<minor> are the version and revision
+numbers provided by the server (e.g., B<X11R5>), I<vendor>
+is the name of the vendor for the server, and I<vendorRelease>
+is an integer release number provided by the server.
+
+=item I<$widget>-E<gt>B<toplevel>
+
+Returns the reference of the top-level window containing I<$widget>.
+
+=item I<$widget>-E<gt>B<Unbusy>
+
+Restores widget state after a call to I<$widget>-E<gt>B<Busy>.
+
+=item I<$widget>-E<gt>B<UnmapWindow>
+
+Cause I<$widget> to be "unmapped" i.e. removed from the display.
+This does for any widget what I<$widget>-E<gt>withdraw does for
+toplevel widgets. May confuse the geometry manager (pack, grid, place, ...)
+that thinks it is managing the widget.
+
+=item I<$widget>-E<gt>B<update>
+
+One of two methods which are used to bring the application ``up to date''
+by entering the event loop repeated until all pending events
+(including idle callbacks) have been processed.
+
+The B<update> method is useful in scripts where you are performing a
+long-running computation but you still want the application to respond
+to events such as user interactions; if you occasionally call
+B<update> then user input will be processed during the next call to
+B<update>.
+
+=item I<$widget>-E<gt>B<useinputmethods>( ?I<boolean>? )
+
+Sets and queries the state of whether Tk should use XIM (X Input
+Methods) for filtering events. The resulting state is returned.
+XIM is used in some locales (ie: Japanese, Korean), to handle
+special input devices. This feature is only significant on X.
+If XIM support is not available, this will always return 0.
+If the boolean argument is omitted, the current state is
+returned. This is turned on by default for the main display.
+
+=item I<$widget>-E<gt>B<viewable>
+
+Returns 1 if I<$widget> and all of its ancestors up through the
+nearest toplevel window are mapped. Returns 0 if any of these
+windows are not mapped.
+
+=item I<$widget>-E<gt>B<visual>
+
+Returns one of the following strings to indicate the visual
+class for I<$widget>: B<directcolor>, B<grayscale>,
+B<pseudocolor>, B<staticcolor>, B<staticgray>, or
+B<truecolor>.
+
+=item I<$widget>-E<gt>B<visualid>
+
+Returns the X identifier for the visual for $widget.
+
+=item I<$widget>-E<gt>B<visualsavailable>(?B<includeids>?)
+
+Returns a list whose elements describe the visuals available for
+I<$widget>'s screen.
+Each element consists of a visual class followed by an integer depth.
+The class has the same form as returned by I<$widget>-E<gt>B<visual>.
+The depth gives the number of bits per pixel in the visual.
+In addition, if the B<includeids> argument is provided, then the
+depth is followed by the X identifier for the visual.
+
+=item I<$widget>-E<gt>B<vrootheight>
+
+Returns the height of the virtual root window associated with I<$widget>
+if there is one; otherwise returns the height of I<$widget>'s screen.
+
+=item I<$widget>-E<gt>B<vrootwidth>
+
+Returns the width of the virtual root window associated with I<$widget>
+if there is one; otherwise returns the width of I<$widget>'s screen.
+
+=item I<$widget>-E<gt>B<vrootx>
+
+Returns the x-offset of the virtual root window associated with I<$widget>,
+relative to the root window of its screen.
+This is normally either zero or negative.
+Returns 0 if there is no virtual root window for I<$widget>.
+
+=item I<$widget>-E<gt>B<vrooty>
+
+Returns the y-offset of the virtual root window associated with I<$widget>,
+relative to the root window of its screen.
+This is normally either zero or negative.
+Returns 0 if there is no virtual root window for I<$widget>.
+
+=item I<$widget->>B<waitVariable>(\$I<name>)
+
+=item I<$widget->>B<waitVisibility>
+
+=item I<$widget->>B<waitWindow>
+
+The B<tk wait> methods wait for one of several things to happen,
+then it returns without taking any other actions.
+The return value is always an empty string.
+B<waitVariable> expects a reference to a perl
+variable and the command waits for that variable to be modified.
+This form is typically used to wait for a user to finish interacting
+with a dialog which sets the variable as part (possibly final)
+part of the interaction.
+B<waitVisibility> waits for a change in I<$widget>'s
+visibility state (as indicated by the arrival of a VisibilityNotify
+event). This form is typically used to wait for a newly-created
+window to appear on the screen before taking some action.
+B<waitWindow> waits for I<$widget> to be destroyed.
+This form is typically used to wait for a user to finish interacting
+with a dialog box before using the result of that interaction.
+Note that creating and destroying the window each time a dialog is required
+makes code modular but imposes overhead which can be avoided by B<withdrawing>
+the window instead and using B<waitVisibility>.
+
+While the B<tk wait> methods are waiting they processes events in
+the normal fashion, so the application will continue to respond
+to user interactions.
+If an event handler invokes B<tkwait> again, the nested call
+to B<tkwait> must complete before the outer call can complete.
+
+=item I<$widget>-E<gt>B<Walk>(I<proc>?, I<arg, ...>?)
+
+Traverse a widget hierarchy starting at I<$widget> while executing the
+subroutine I<proc> to every visited widget. The arguments I<arg, ...>
+are supplied to the subroutine.
+
+=item I<$widget>-E<gt>B<Widget>(I<pathname>)
+
+Returns the widget reference for the given Tk path name, or C<undef>
+if the path name does not match a Tk widget. This is the inverse of
+the L</PathName> method. (This is an import from the C interface.)
+
+=item I<$widget>-E<gt>B<width>
+
+Returns a decimal string giving I<$widget>'s width in pixels.
+When a window is first created its width will be 1 pixel; the
+width will eventually be changed by a geometry manager to fulfill
+the window's needs.
+If you need the true width immediately after creating a widget,
+invoke B<update> to force the geometry manager to arrange it,
+or use I<$widget>-E<gt>B<reqwidth> to get the window's requested width
+instead of its actual width.
+
+=item I<$widget>-E<gt>B<windowingsystem>
+
+Returns the current Tk windowing system, one of B<x11> (X11-based),
+B<win32> (MS Windows), B<classic> (Mac OS Classic), or B<aqua> (Mac OS X Aqua).
+
+=item I<$widget>-E<gt>B<x>
+
+Returns a decimal string giving the x-coordinate, in I<$widget>'s
+parent, of the upper-left corner of I<$widget>'s border (or I<$widget>
+if it has no border).
+
+=item I<$widget>-E<gt>B<y>
+
+Returns a decimal string giving the y-coordinate, in I<$widget>'s
+parent, of the
+upper-left corner of I<$widget>'s border (or I<$widget> if it
+has no border).
+
+=back
+
+=head1 CAVEATS
+
+The above documentaion on generic methods is incomplete.
+
+=head1 KEYWORDS
+
+atom, children, class, geometry, height, identifier, information, interpreters,
+mapped, parent, path name, screen, virtual root, width, window
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/WidgetDemo.pod b/Master/tlpkg/tlperl/lib/Tk/WidgetDemo.pod
new file mode 100644
index 00000000000..edc00001a23
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/WidgetDemo.pod
@@ -0,0 +1,59 @@
+
+=head1 NAME
+
+Tk::WidgetDemo - create a standard widget demonstration window.
+
+=for pm demos/demos/widget_lib/WidgetDemo.pm
+
+=for category Implementation
+
+=head1 SYNOPSIS
+
+ use WidgetDemo;
+ my $TOP = $MW->WidgetDemo(
+ -name => $demo,
+ -text => 'Learn how to write a widget demonstration!',
+ -title => 'WidgetDemo Demonstration',
+ -iconname => 'WidgetDemo',
+ -geometry_manager => 'grid',
+ -font => $FONT,
+ );
+
+=head1 DESCRIPTION
+
+This constructor builds a standard widget demonstration window, composed of
+three frames. The top frame contains descriptive demonstration text. The
+bottom frame contains the "Dismiss" and "See Code" buttons. The middle frame
+is demonstration container, which came be managed by either the pack or grid
+geometry manager.
+
+The -text attribute is supplied to a Label widget, which is left-adjusted
+with -wraplength set to 4 inches. If you require different specifications
+then pass an array to -text; the first element is the text string and
+the remaining array elements are standard Label widget attributes - WidgetDemo
+will rearrange things as required..
+
+ -text => ['Hello World!', qw/-wraplength 6i/],
+
+=head1 AUTHOR
+
+Steve Lidie <Stephen.O.Lidie@Lehigh.EDU>
+
+=head1 HISTORY
+
+lusol@Lehigh.EDU, LUCC, 97/02/11
+lusol@Lehigh.EDU, LUCC, 97/06/07
+Stephen.O.Lidie@Lehigh.EDU, LUCC, 97/06/07
+ . Add Delegates() call that obviates the need for Top(). Many thanks to
+ Achim Bohnet for this patch.
+ . Fix -title so that it works.
+
+=head1 COPYRIGHT
+
+Copyright (C) 1997 - 1998 Stephen O. Lidie. All rights reserved.
+
+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/Tk/Wm.pod b/Master/tlpkg/tlperl/lib/Tk/Wm.pod
new file mode 100644
index 00000000000..0cbb7f1b695
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Wm.pod
@@ -0,0 +1,669 @@
+# Copyright (c) 1991-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Wm - Communicate with window manager
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+S< >I<$toplevel>-E<gt>I<method>(?I<args>?)
+
+=head1 DESCRIPTION
+
+The B<wm> methods are used to interact with window managers in
+order to control such things as the title for a window, its geometry,
+or the increments in terms of which it may be resized.
+The B<wm> methods can take any of a number of different forms, depending on
+the particular I<method> argument.
+All of the forms expect I<$toplevel>, which must be a
+top-level window object.
+
+The legal forms for the B<wm> methods are:
+
+=over 4
+
+=item I<$toplevel>-E<gt>B<aspect>(?I<minNumer minDenom maxNumer maxDenom>?)
+
+If I<minNumer>, I<minDenom>, I<maxNumer>, and I<maxDenom>
+are all specified, then they will be passed to the window manager
+and the window manager should use them to enforce a range of
+acceptable aspect ratios for I<$toplevel>. The aspect ratio of
+I<$toplevel> (width/length) will be constrained to lie
+between I<minNumer>/I<minDenom> and I<maxNumer>/I<maxDenom>.
+If I<minNumer> etc. are all specified as empty strings, then
+any existing aspect ratio restrictions are removed.
+If I<minNumer> etc. are specified, then the method returns an
+empty string. Otherwise, it returns
+a array containing four elements, which are the current values
+of I<minNumer>, I<minDenom>, I<maxNumer>, and I<maxDenom>
+(if no aspect restrictions are in effect, then an empty string is
+returned).
+
+=item I<$widget>-E<gt>B<attributes>( I<?args?> );
+
+This subcommand returns or sets platform specific attributes
+associated with a window.
+
+=over 4
+
+=item I<$widget>-E<gt>B<attributes>;
+
+Returns a list of the platform specific flags and their values.
+
+=item I<$widget>-E<gt>B<attributes>( I<?option?> );
+
+Returns the value for the specific option.
+
+=item I<$widget>-E<gt>B<attributes>( I<?option value option value...?> );
+
+Sets one or more of the values. The values are as follows:
+
+On Windows, B<-disabled> gets or sets whether the window is in a
+disabled state. B<-toolwindow> gets or sets the style of the window
+to toolwindow (as defined in the MSDN). B<-topmost> gets or sets
+whether this is a topmost window (displays above all other windows).
+
+On Macintosh, there are currently no special attribute values.
+
+On Unix, there are currently no special attribute values.
+
+=back
+
+=item I<$toplevel>-E<gt>B<client>(?I<name>?)
+
+If I<name> is specified, this method stores I<name> (which
+should be the name of
+the host on which the application is executing) in I<$toplevel>'s
+B<WM_CLIENT_MACHINE> property for use by the window manager or
+session manager.
+The method returns an empty string in this case.
+If I<name> isn't specified, the method returns the last name
+set in a B<client> method for I<$toplevel>.
+If I<name> is specified as an empty string, the method deletes the
+B<WM_CLIENT_MACHINE> property from I<$toplevel>.
+
+=item I<$toplevel>-E<gt>B<colormapwindows>(?I<windowList>?)
+
+This method is used to manipulate the B<WM_COLORMAP_WINDOWS>
+property, which provides information to the window managers about
+windows that have private colormaps.
+If I<windowList> isn't specified, the method returns a list
+whose elements are the names of the windows in the B<WM_COLORMAP_WINDOWS>
+property.
+If I<windowList> is specified, it consists of a list of widgets;
+the method overwrites the B<WM_COLORMAP_WINDOWS>
+property with the given windows and returns an empty string.
+The B<WM_COLORMAP_WINDOWS> property should normally contain a
+list of the internal windows within I<$toplevel> whose colormaps differ
+from their parents.
+The order of the windows in the property indicates a priority order:
+the window manager will attempt to install as many colormaps as possible
+from the head of this list when I<$widget> gets the colormap focus.
+If I<$widget> is not included among the windows in I<windowList>,
+Tk implicitly adds it at the end of the B<WM_COLORMAP_WINDOWS>
+property, so that its colormap is lowest in priority.
+If I<$widget>-E<gt>colormapwindows is not invoked, Tk will automatically set
+the property for each top-level window to all the internal windows
+whose colormaps differ from their parents, followed by the top-level
+itself; the order of the internal windows is undefined.
+See the ICCCM documentation for more information on the
+B<WM_COLORMAP_WINDOWS> property.
+
+=item I<$toplevel>-E<gt>B<command>(?I<value>?)
+
+If I<value> is specified, this method stores I<value> in I<$toplevel>'s
+B<WM_COMMAND> property for use by the window manager or
+session manager and returns an empty string.
+I<Value> must have proper list structure; the elements should
+contain the words of the command used to invoke the application.
+If I<value> isn't specified then the method returns the last value
+set in a B<command> method for I<$toplevel>.
+If I<value> is specified as an empty string, the method
+deletes the B<WM_COMMAND> property from I<$toplevel>.
+
+=item I<$toplevel>-E<gt>B<deiconify>
+
+Arrange for I<$toplevel> to be displayed in normal (non-iconified) form.
+This is done by mapping the window. If the window has never been
+mapped then this method will not map the window, but it will ensure
+that when the window is first mapped it will be displayed
+in de-iconified form. Returns an empty string.
+
+=item I<$toplevel>-E<gt>B<focusmodel>(?B<active>|B<passive>?)
+
+If B<active> or B<passive> is supplied as an optional argument
+to the method, then it specifies the focus model for I<$toplevel>.
+In this case the method returns an empty string. If no additional
+argument is supplied, then the method returns the current focus
+model for I<$toplevel>.
+An B<active> focus model means that I<$toplevel> will claim the
+input focus for itself or its descendants, even at times when
+the focus is currently in some other application. B<Passive> means that
+I<$toplevel> will never claim the focus for itself: the window manager
+should give the focus to I<$toplevel> at appropriate times. However,
+once the focus has been given to I<$toplevel> or one of its descendants,
+the application may re-assign the focus among I<$toplevel>'s descendants.
+The focus model defaults to B<passive>, and Tk's B<focus> method
+assumes a passive model of focusing.
+
+=item I<$toplevel>-E<gt>B<frame>
+
+If I<$widget> has been reparented by the window manager into a
+decorative frame, the method returns the platform specific window
+identifier for the outermost frame that contains I<$toplevel> (the
+window whose parent is the root or virtual root). If I<$toplevel>
+hasn't been reparented by the window manager then the method returns
+the platform specific window identifier for I<$toplevel>.
+
+=item I<$toplevel>-E<gt>B<geometry>(?I<newGeometry>?)
+
+If I<newGeometry> is specified, then the geometry of I<$toplevel>
+is changed and an empty string is returned. Otherwise the current
+geometry for I<$toplevel> is returned (this is the most recent
+geometry specified either by manual resizing or
+in a B<geometry> method). I<NewGeometry> has
+the form B<=>I<width>B<x>I<height>B<+->I<x>B<+->I<y>, where
+any of B<=>, I<width>B<x>I<height>, or B<+->I<x>B<+->I<y>
+may be omitted. I<Width> and I<height> are positive integers
+specifying the desired dimensions of I<$toplevel>. If I<$toplevel>
+is gridded (see L<"GRIDDED GEOMETRY MANAGEMENT"> below) then the dimensions
+are specified in grid units; otherwise they are specified in pixel
+units. I<X> and I<y> specify the desired location of
+I<$toplevel> on the screen, in pixels.
+If I<x> is preceded by B<+>, it specifies
+the number of pixels between the left edge of the screen and the left
+edge of I<$toplevel>'s border; if preceded by B<-> then
+I<x> specifies the number of pixels
+between the right edge of the screen and the right edge of I<$toplevel>'s
+border. If I<y> is preceded by B<+> then it specifies the
+number of pixels between the top of the screen and the top
+of I<$toplevel>'s border; if I<y> is preceded by B<-> then
+it specifies the number of pixels between the bottom of I<$toplevel>'s
+border and the bottom of the screen.
+If I<newGeometry> is specified as an empty string then any
+existing user-specified geometry for I<$toplevel> is cancelled, and
+the window will revert to the size requested internally by its
+widgets.
+
+=item I<$toplevel>-E<gt>B<wmGrid>(?I<baseWidth,baseHeight,widthInc,heightInc>?)
+
+This method indicates that I<$toplevel> is to be managed as a
+gridded window.
+It also specifies the relationship between grid units and pixel units.
+I<BaseWidth> and I<baseHeight> specify the number of grid
+units corresponding to the pixel dimensions requested internally
+by I<$toplevel> using B<Tk_GeometryRequest>. I<WidthInc>
+and I<heightInc> specify the number of pixels in each horizontal
+and vertical grid unit.
+These four values determine a range of acceptable sizes for
+I<$toplevel>, corresponding to grid-based widths and heights
+that are non-negative integers.
+Tk will pass this information to the window manager; during
+manual resizing, the window manager will restrict the window's size
+to one of these acceptable sizes.
+Furthermore, during manual resizing the window manager will display
+the window's current size in terms of grid units rather than pixels.
+If I<baseWidth> etc. are all specified as empty strings, then
+I<$toplevel> will no longer be managed as a gridded window. If
+I<baseWidth> etc. are specified then the return value is an
+empty string.
+Otherwise the return value is a array containing
+four elements corresponding to the current I<baseWidth>,
+I<baseHeight>, I<widthInc>, and I<heightInc>; if
+I<$toplevel> is not currently gridded, then an empty string
+is returned.
+Note: this command should not be needed very often, since the
+B<Tk_SetGrid> library procedure and the B<-setgrid> option
+provide easier access to the same functionality.
+
+=item I<$toplevel>-E<gt>B<group>(?I<$widget>?)
+
+If I<$widget> is specified, it is the the leader of
+a group of related windows. The window manager may use this information,
+for example, to unmap all of the windows in a group when the group's
+leader is iconified. I<$widget> may be specified as an empty string to
+remove I<$toplevel> from any group association. If I<$widget> is
+specified then the method returns an empty string; otherwise it
+returns the I<$toplevel>'s current group leader, or an empty
+string if I<$toplevel> isn't part of any group.
+
+=item I<$toplevel>-E<gt>B<iconbitmap>(?I<bitmap>?)
+
+If I<bitmap> is specified, then it names a bitmap in the standard
+forms accepted by Tk (see the B<Tk_GetBitmap> documentation for details).
+This I<black and white> bitmap is passed to the window manager to be displayed
+in I<$toplevel>'s icon, and the method returns an empty string. If
+an empty string is specified for I<bitmap>, then any current icon
+bitmap or image is cancelled for I<$toplevel>.
+If I<bitmap> is specified then the method returns an empty string.
+Otherwise it returns the name of
+the current icon bitmap associated with I<$toplevel>, or an empty
+string if I<$toplevel> has no icon bitmap.
+
+=item I<$toplevel>-E<gt>B<iconify>
+
+Arrange for I<$toplevel> to be iconified. It I<$toplevel> hasn't
+yet been mapped for the first time, this method will arrange for
+it to appear in the iconified state when it is eventually mapped.
+
+=item I<$toplevel>-E<gt>B<iconimage>(?I<image>?)
+
+If I<image> is specified, then it names a normal Tk image.
+This image is rendered into a private I<coloured> bitmap which is passed to
+the window manager to be displayed in I<$toplevel>'s icon, and the method returns
+an empty string. If an empty string is specified for I<image>, then any current
+icon bitmap or image is cancelled for I<$toplevel>.
+If I<image> is specified then the method returns an empty string.
+Otherwise it returns the name of
+the current icon image associated with I<$toplevel>, or an empty
+string if I<$toplevel> has no icon image.
+The private pixmap is not pre-cleared so images which are partly "transparent"
+display rubbish in their transparent parts.
+
+The sizes of images that can be used as icons in this manner are platform
+dependant. On Win32 this sets the "large" icon, which should be 32x32, it
+will automatically be scaled down to 16x16 for use as a small icon.
+
+=item I<$toplevel>-E<gt>B<iconmask>(?I<bitmap>?)
+
+If I<bitmap> is specified, then it names a bitmap in the standard
+forms accepted by Tk (see the B<Tk_GetBitmap> documentation for details).
+This bitmap is passed to the window manager to be used as a mask
+in conjunction with the B<iconbitmap> option: where the mask
+has zeroes no icon will be displayed; where it has ones, the bits
+from the icon bitmap will be displayed. If
+an empty string is specified for I<bitmap> then any current icon
+mask is cancelled for I<$toplevel> (this is equivalent to specifying
+a bitmap of all ones). If I<bitmap> is specified
+then the method returns an empty string. Otherwise it
+returns the name of the current icon mask associated with
+I<$toplevel>, or an empty string if no mask is in effect.
+
+=item I<$toplevel>-E<gt>B<iconname>(?I<newName>?)
+
+If I<newName> is specified, then it is passed to the window
+manager; the window manager should display I<newName> inside
+the icon associated with I<$toplevel>. In this case an empty
+string is returned as result. If I<newName> isn't specified
+then the method returns the current icon name for I<$toplevel>,
+or an empty string if no icon name has been specified (in this
+case the window manager will normally display the window's title,
+as specified with the B<title> method).
+
+=item I<$toplevel>-E<gt>B<iconphoto>(?-default? I<image1> ?I<image2>
+...?)
+
+Sets the titlebar icon for window based on the named photo
+images. If -default is specified, this is applied to all future
+created toplevels as well. The data in the images is taken as a
+snapshot at the time of invocation. If the images are later
+changed, this is not reflected to the titlebar icons. Multiple
+images are accepted to allow different images sizes (eg, 16x16
+and 32x32) to be provided. The window manager may scale pro-
+vided icons to an appropriate size.
+
+On Windows, the images are packed into a Windows icon structure.
+This will override an ico specified to wm iconbitmap, and vice
+versa. [NOTE: This is not implemented yet!]
+
+On X, the images are arranged into the _NET_WM_ICON X property,
+which most modern window managers support. A wm iconbitmap may
+exist simultaneously. It is recommended to use not more than 2
+icons, placing the larger icon first.
+
+On Macintosh, this is currently does nothing.
+
+=item I<$toplevel>-E<gt>B<iconposition>(?I<x y>?)
+
+If I<x> and I<y> are specified, they are passed to the window
+manager as a hint about where to position the icon for I<$toplevel>.
+In this case an empty string is returned. If I<x> and I<y> are
+specified as empty strings then any existing icon position hint is cancelled.
+If neither I<x> nor I<y> is specified, then the method returns
+a array containing two values, which are the current icon position
+hints (if no hints are in effect then an empty string is returned).
+
+=item I<$toplevel>-E<gt>B<iconwindow>(?I<$widget>?)
+
+If I<$widget> is specified, it is a window to
+use as icon for I<$toplevel>: when I<$toplevel> is iconified then
+I<$widget> will be mapped to serve as icon, and when I<$toplevel>
+is de-iconified then I<$widget> will be unmapped again. If
+I<$widget> is specified as an empty string then any existing
+icon window association for I<$toplevel> will be cancelled. If
+the I<$widget> argument is specified then an empty string is
+returned. Otherwise the method returns the
+current icon window for I<$toplevel>, or an empty string if there
+is no icon window currently specified for I<$toplevel>.
+Button press events are disabled for I<$toplevel> as long as it is
+an icon window; this is needed in order to allow window managers
+to ``own'' those events.
+Note: not all window managers support the notion of an icon window.
+
+=item I<$toplevel>-E<gt>B<maxsize>(?I<width,height>?)
+
+If I<width> and I<height> are specified, they give
+the maximum permissible dimensions for I<$toplevel>.
+For gridded windows the dimensions are specified in
+grid units; otherwise they are specified in pixel units.
+The window manager will restrict the window's dimensions to be
+less than or equal to I<width> and I<height>.
+If I<width> and I<height> are
+specified, then the method returns an empty string. Otherwise
+it returns a array with two elements, which are the
+maximum width and height currently in effect.
+The maximum size defaults to the size of the screen.
+If resizing has been disabled with the B<resizable> method,
+then this method has no effect.
+See the sections on geometry management below for more information.
+
+=item I<$toplevel>-E<gt>B<minsize>(?I<width,height>?)
+
+If I<width> and I<height> are specified, they give the
+minimum permissible dimensions for I<$toplevel>.
+For gridded windows the dimensions are specified in
+grid units; otherwise they are specified in pixel units.
+The window manager will restrict the window's dimensions to be
+greater than or equal to I<width> and I<height>.
+If I<width> and I<height> are
+specified, then the method returns an empty string. Otherwise
+it returns a array with two elements, which are the
+minimum width and height currently in effect.
+The minimum size defaults to one pixel in each dimension.
+If resizing has been disabled with the B<resizable> method,
+then this method has no effect.
+See the sections on geometry management below for more information.
+
+=item I<$toplevel>-E<gt>B<overrideredirect(?>I<boolean>?)
+
+If I<boolean> is specified, it must have a proper boolean form and
+the override-redirect flag for I<$toplevel> is set to that value.
+If I<boolean> is not specified then B<1> or B<0> is
+returned to indicate whether or not the override-redirect flag
+is currently set for I<$toplevel>.
+Setting the override-redirect flag for a window causes
+it to be ignored by the window manager; among other things, this means
+that the window will not be reparented from the root window into a
+decorative frame and the user will not be able to manipulate the
+window using the normal window manager mechanisms.
+
+=item I<$toplevel>-E<gt>B<positionfrom>(?I<who>?)
+
+If I<who> is specified, it must be either B<program> or
+B<user>, or an abbreviation of one of these two. It indicates
+whether I<$toplevel>'s current position was requested by the
+program or by the user. Many window managers ignore program-requested
+initial positions and ask the user to manually position the window; if
+B<user> is specified then the window manager should position the
+window at the given place without asking the user for assistance.
+If I<who> is specified as an empty string, then the current position
+source is cancelled.
+If I<who> is specified, then the method returns an empty string.
+Otherwise it returns B<user> or $widget to indicate the
+source of the window's current position, or an empty string if
+no source has been specified yet. Most window managers interpret
+``no source'' as equivalent to B<program>.
+Tk will automatically set the position source to B<user>
+when a B<geometry> method is invoked, unless the source has
+been set explicitly to B<program>.
+
+=item I<$toplevel>-E<gt>B<protocol>(?I<name>?,?I<callback>?)
+
+This method is used to manage window manager protocols such as
+B<WM_DELETE_WINDOW>.
+I<Name> is the name of an atom corresponding to a window manager
+protocol, such as B<WM_DELETE_WINDOW> or B<WM_SAVE_YOURSELF>
+or B<WM_TAKE_FOCUS>.
+If both I<name> and I<callback> are specified, then I<callback>
+is associated with the protocol specified by I<name>.
+I<Name> will be added to I<$toplevel>'s B<WM_PROTOCOLS>
+property to tell the window manager that the application has a
+protocol handler for I<name>, and I<callback> will
+be invoked in the future whenever the window manager sends a
+message to the client for that protocol.
+In this case the method returns an empty string.
+If I<name> is specified but I<callback> isn't, then the current
+callback for I<name> is returned, or an empty string if there
+is no handler defined for I<name>.
+If I<callback> is specified as an empty string then the current
+handler for I<name> is deleted and it is removed from the
+B<WM_PROTOCOLS> property on I<$toplevel>; an empty string is
+returned.
+Lastly, if neither I<name> nor I<callback> is specified, the
+method returns a list of all the protocols for which handlers
+are currently defined for I<$toplevel>.
+
+=over 8
+
+Tk always defines a protocol handler for B<WM_DELETE_WINDOW>, even if
+you haven't asked for one with B<protocol>.
+If a B<WM_DELETE_WINDOW> message arrives when you haven't defined
+a handler, then Tk handles the message by destroying the window for
+which it was received.
+
+=back
+
+=item I<$toplevel>-E<gt>B<resizable>(?I<width,height>?)
+
+This method controls whether or not the user may interactively
+resize a top-level window. If I<width> and I<height> are
+specified, they are boolean values that determine whether the
+width and height of I<$toplevel> may be modified by the user.
+In this case the method returns an empty string.
+If I<width> and I<height> are omitted then the method
+returns a list with two 0/1 elements that indicate whether the
+width and height of I<$toplevel> are currently resizable.
+By default, windows are resizable in both dimensions.
+If resizing is disabled, then the window's size will be the size
+from the most recent interactive resize or B<geometry>
+method. If there has been no such operation then
+the window's natural size will be used.
+
+=item I<$toplevel>-E<gt>B<sizefrom>(?I<who>?)
+
+If I<who> is specified, it must be either B<program> or
+B<user>, or an abbreviation of one of these two. It indicates
+whether I<$toplevel>'s current size was requested by the
+program or by the user. Some window managers ignore program-requested
+sizes and ask the user to manually size the window; if
+B<user> is specified then the window manager should give the
+window its specified size without asking the user for assistance.
+If I<who> is specified as an empty string, then the current size
+source is cancelled.
+If I<who> is specified, then the method returns an empty string.
+Otherwise it returns B<user> or $widget to indicate the
+source of the window's current size, or an empty string if
+no source has been specified yet. Most window managers interpret
+``no source'' as equivalent to B<program>.
+
+=item I<$toplevel>-E<gt>B<stackorder>( I<?isabove|isbelow $toplevel?> );
+
+The stackorder command returns a list of toplevel windows in
+stacking order, from lowest to highest. When a single toplevel
+window is passed, the returned list recursively includes all of
+the window's children that are toplevels. Only those toplevels
+that are currently mapped to the screen are returned. The
+stackorder command can also be used to determine if one toplevel
+is positioned above or below a second toplevel. When two window
+arguments separated by either isabove or isbelow are passed, a
+boolean result indicates whether or not the first window is
+currently above or below the second window in the stacking order.
+
+
+=item I<$toplevel>-E<gt>B<state>(?I<newstate>?)
+
+If I<newstate> is specified, the window will be set to
+the new state, otherwise it returns the current state of
+I<$toplevel>: either B<normal>, B<iconic>, B<withdrawn>, B<icon>, or
+(Windows only) B<zoomed>. The
+difference between B<iconic> and B<icon> is that B<iconic> refers to a
+window that has been iconified (e.g., with the B<iconify> method)
+while B<icon> refers to a window whose only purpose is to serve as the
+icon for some other window (via the B<iconwindow> method). The
+B<icon> state cannot be set.
+
+
+=item I<$toplevel>-E<gt>B<title>(?I<string>?)
+
+If I<string> is specified, then it will be passed to the window
+manager for use as the title for I<$toplevel> (the window manager
+should display this string in I<$toplevel>'s title bar). In this
+case the method returns an empty string. If I<string> isn't
+specified then the method returns the current title for the
+I<$toplevel>. The title for a window defaults to its name.
+
+=item I<$toplevel>-E<gt>B<transient>(?I<master>?)
+
+If I<master> is specified, then the window manager is informed
+that I<$toplevel> is a transient window (e.g. pull-down menu) working
+on behalf of I<master> (where I<master> is
+a top-level window). Some window managers will use
+this information to manage I<$toplevel> specially. If I<master>
+is specified as an empty string then I<$toplevel> is marked as not
+being a transient window any more. If I<master> is specified,
+then the method returns an empty string. Otherwise the method
+returns the path name of I<$toplevel>'s current master, or an
+empty string if I<$toplevel> isn't currently a transient window.
+
+=item I<$toplevel>-E<gt>B<withdraw>
+
+Arranges for I<$toplevel> to be withdrawn from the screen. This
+causes the window to be unmapped and forgotten about by the window
+manager. If the window
+has never been mapped, then this method
+causes the window to be mapped in the withdrawn state. Not all
+window managers appear to know how to handle windows that are
+mapped in the withdrawn state.
+Note: it sometimes seems to be necessary to withdraw a
+window and then re-map it (e.g. with B<deiconify>) to get some
+window managers to pay attention to changes in window attributes
+such as group.
+
+=item I<$toplevel>-E<gt>B<wrapper>
+
+Returns a list of two elements: the window id of the wrapper window in
+which Tk has placed I<$toplevel>, and the height of the menu bar. The
+id is the one by which window manager will know I<$toplevel>, and so
+is appropriate place to add X properties. The menu height is only
+returned on X. On Windows, this value is always zero.
+
+=back
+
+=head1 ICON SIZES
+
+The sizes of bitmaps/images that can be used as icons in this manner are platform
+and window manager dependant. Unix window managers are typically more tolerant
+than Win32. It is possible that coloured C<iconimage> icons may cause problems
+on some X window managers.
+
+=over 4
+
+=item * Win32
+
+C<iconimage> and C<iconbitmap> set the "large" icon, which should be
+32x32, it will automatically be scaled down to 16x16 for use as a small icon.
+Win32 ignores C<iconwin> requests.
+
+=item * KDE's "kwm"
+
+Accepts coloured C<iconimage> and black and white C<iconbitmap> but
+will scale either to a small (14x14?) icon. Kwm ignores C<iconwin>.
+
+=item * Sun's "olwm" or "olvwm"
+
+Honours C<iconwin> which will override C<iconimage> or C<iconbitmap>.
+Coloured images work.
+
+=item * Sun's CDE window manager
+
+Coloured images work. ...
+
+=back
+
+=head1 GEOMETRY MANAGEMENT
+
+By default a top-level window appears on the screen in its
+I<natural size>, which is the one determined internally by its
+widgets and geometry managers.
+If the natural size of a top-level window changes, then the window's size
+changes to match.
+A top-level window can be given a size other than its natural size in two ways.
+First, the user can resize the window manually using the facilities
+of the window manager, such as resize handles.
+Second, the application can request a particular size for a
+top-level window using the B<geometry> method.
+These two cases are handled identically by Tk; in either case,
+the requested size overrides the natural size.
+You can return the window to its natural by invoking B<geometry>
+with an empty I<geometry> string.
+
+Normally a top-level window can have any size from one pixel in each
+dimension up to the size of its screen.
+However, you can use the B<minsize> and B<maxsize> methods
+to limit the range of allowable sizes.
+The range set by B<minsize> and B<maxsize> applies to
+all forms of resizing, including the window's natural size as
+well as manual resizes and the B<geometry> method.
+You can also use the method B<resizable> to completely
+disable interactive resizing in one or both dimensions.
+
+=head1 GRIDDED GEOMETRY MANAGEMENT
+
+Gridded geometry management occurs when one of the widgets of an
+application supports a range of useful sizes.
+This occurs, for example, in a text editor where the scrollbars,
+menus, and other adornments are fixed in size but the edit widget
+can support any number of lines of text or characters per line.
+In this case, it is usually desirable to let the user specify the
+number of lines or characters-per-line, either with the
+B<geometry> method or by interactively resizing the window.
+In the case of text, and in other interesting cases also, only
+discrete sizes of the window make sense, such as integral numbers
+of lines and characters-per-line; arbitrary pixel sizes are not useful.
+
+Gridded geometry management provides support for this kind of
+application.
+Tk (and the window manager) assume that there is a grid of some
+sort within the application and that the application should be
+resized in terms of I<grid units> rather than pixels.
+Gridded geometry management is typically invoked by turning on
+the B<setGrid> option for a widget; it can also be invoked
+with the B<wmGrid> method or by calling B<Tk_SetGrid>.
+In each of these approaches the particular widget (or sometimes
+code in the application as a whole) specifies the relationship between
+integral grid sizes for the window and pixel sizes.
+To return to non-gridded geometry management, invoke
+B<grid> with empty argument strings.
+
+When gridded geometry management is enabled then all the dimensions specified
+in B<minsize>, B<maxsize>, and B<geometry> methods
+are treated as grid units rather than pixel units.
+Interactive resizing is also carried out in even numbers of grid units
+rather than pixels.
+
+=head1 BUGS
+
+Most existing window managers appear to have bugs that affect the
+operation of the B<wm> methods. For example, some changes won't
+take effect if the window is already active: the window will have
+to be withdrawn and de-iconified in order to make the change happen.
+
+=head1 SEE ALSO
+
+L<Tk::Widget|Tk::Widget>
+L<Tk::tixWm|Tk::tixWm>
+L<Tk::Mwm|Tk::Mwm>
+
+=head1 KEYWORDS
+
+aspect ratio, deiconify, focus model, geometry, grid, group, icon, iconify, increments, position, size, title, top-level window, units, window manager
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/X.pod b/Master/tlpkg/tlperl/lib/Tk/X.pod
new file mode 100644
index 00000000000..e6c7614a72c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/X.pod
@@ -0,0 +1,373 @@
+
+=head1 NAME
+
+Tk::X - Perl extension for Xlib constants.
+
+=for pm Xlib/X/X.pm
+
+=for category Other Modules and Languages
+
+=head1 SYNOPSIS
+
+ use Tk::X;
+
+=head1 DESCRIPTION
+
+A module generated by h2xs. It exists to export Xlib #define type
+constants for possible use with Tk::Xlib.
+
+=head1 Exported constants
+
+ Above
+ AllTemporary
+ AllocAll
+ AllocNone
+ AllowExposures
+ AlreadyGrabbed
+ Always
+ AnyButton
+ AnyKey
+ AnyModifier
+ AnyPropertyType
+ ArcChord
+ ArcPieSlice
+ AsyncBoth
+ AsyncKeyboard
+ AsyncPointer
+ AutoRepeatModeDefault
+ AutoRepeatModeOff
+ AutoRepeatModeOn
+ BadAccess
+ BadAlloc
+ BadAtom
+ BadColor
+ BadCursor
+ BadDrawable
+ BadFont
+ BadGC
+ BadIDChoice
+ BadImplementation
+ BadLength
+ BadMatch
+ BadName
+ BadPixmap
+ BadRequest
+ BadValue
+ BadWindow
+ Below
+ BottomIf
+ Button1
+ Button1Mask
+ Button1MotionMask
+ Button2
+ Button2Mask
+ Button2MotionMask
+ Button3
+ Button3Mask
+ Button3MotionMask
+ Button4
+ Button4Mask
+ Button4MotionMask
+ Button5
+ Button5Mask
+ Button5MotionMask
+ ButtonMotionMask
+ ButtonPress
+ ButtonPressMask
+ ButtonRelease
+ ButtonReleaseMask
+ CWBackPixel
+ CWBackPixmap
+ CWBackingPixel
+ CWBackingPlanes
+ CWBackingStore
+ CWBitGravity
+ CWBorderPixel
+ CWBorderPixmap
+ CWBorderWidth
+ CWColormap
+ CWCursor
+ CWDontPropagate
+ CWEventMask
+ CWHeight
+ CWOverrideRedirect
+ CWSaveUnder
+ CWSibling
+ CWStackMode
+ CWWidth
+ CWWinGravity
+ CWX
+ CWY
+ CapButt
+ CapNotLast
+ CapProjecting
+ CapRound
+ CenterGravity
+ CirculateNotify
+ CirculateRequest
+ ClientMessage
+ ClipByChildren
+ ColormapChangeMask
+ ColormapInstalled
+ ColormapNotify
+ ColormapUninstalled
+ Complex
+ ConfigureNotify
+ ConfigureRequest
+ ControlMapIndex
+ ControlMask
+ Convex
+ CoordModeOrigin
+ CoordModePrevious
+ CopyFromParent
+ CreateNotify
+ CurrentTime
+ CursorShape
+ DefaultBlanking
+ DefaultExposures
+ DestroyAll
+ DestroyNotify
+ DirectColor
+ DisableAccess
+ DisableScreenInterval
+ DisableScreenSaver
+ DoBlue
+ DoGreen
+ DoRed
+ DontAllowExposures
+ DontPreferBlanking
+ EastGravity
+ EnableAccess
+ EnterNotify
+ EnterWindowMask
+ EvenOddRule
+ Expose
+ ExposureMask
+ FamilyChaos
+ FamilyDECnet
+ FamilyInternet
+ FillOpaqueStippled
+ FillSolid
+ FillStippled
+ FillTiled
+ FirstExtensionError
+ FocusChangeMask
+ FocusIn
+ FocusOut
+ FontChange
+ FontLeftToRight
+ FontRightToLeft
+ ForgetGravity
+ GCArcMode
+ GCBackground
+ GCCapStyle
+ GCClipMask
+ GCClipXOrigin
+ GCClipYOrigin
+ GCDashList
+ GCDashOffset
+ GCFillRule
+ GCFillStyle
+ GCFont
+ GCForeground
+ GCFunction
+ GCGraphicsExposures
+ GCJoinStyle
+ GCLastBit
+ GCLineStyle
+ GCLineWidth
+ GCPlaneMask
+ GCStipple
+ GCSubwindowMode
+ GCTile
+ GCTileStipXOrigin
+ GCTileStipYOrigin
+ GXand
+ GXandInverted
+ GXandReverse
+ GXclear
+ GXcopy
+ GXcopyInverted
+ GXequiv
+ GXinvert
+ GXnand
+ GXnoop
+ GXnor
+ GXor
+ GXorInverted
+ GXorReverse
+ GXset
+ GXxor
+ GrabFrozen
+ GrabInvalidTime
+ GrabModeAsync
+ GrabModeSync
+ GrabNotViewable
+ GrabSuccess
+ GraphicsExpose
+ GravityNotify
+ GrayScale
+ HostDelete
+ HostInsert
+ IncludeInferiors
+ InputFocus
+ InputOnly
+ InputOutput
+ IsUnmapped
+ IsUnviewable
+ IsViewable
+ JoinBevel
+ JoinMiter
+ JoinRound
+ KBAutoRepeatMode
+ KBBellDuration
+ KBBellPercent
+ KBBellPitch
+ KBKey
+ KBKeyClickPercent
+ KBLed
+ KBLedMode
+ KeyPress
+ KeyPressMask
+ KeyRelease
+ KeyReleaseMask
+ KeymapNotify
+ KeymapStateMask
+ LASTEvent
+ LSBFirst
+ LastExtensionError
+ LeaveNotify
+ LeaveWindowMask
+ LedModeOff
+ LedModeOn
+ LineDoubleDash
+ LineOnOffDash
+ LineSolid
+ LockMapIndex
+ LockMask
+ LowerHighest
+ MSBFirst
+ MapNotify
+ MapRequest
+ MappingBusy
+ MappingFailed
+ MappingKeyboard
+ MappingModifier
+ MappingNotify
+ MappingPointer
+ MappingSuccess
+ Mod1MapIndex
+ Mod1Mask
+ Mod2MapIndex
+ Mod2Mask
+ Mod3MapIndex
+ Mod3Mask
+ Mod4MapIndex
+ Mod4Mask
+ Mod5MapIndex
+ Mod5Mask
+ MotionNotify
+ NoEventMask
+ NoExpose
+ NoSymbol
+ Nonconvex
+ None
+ NorthEastGravity
+ NorthGravity
+ NorthWestGravity
+ NotUseful
+ NotifyAncestor
+ NotifyDetailNone
+ NotifyGrab
+ NotifyHint
+ NotifyInferior
+ NotifyNonlinear
+ NotifyNonlinearVirtual
+ NotifyNormal
+ NotifyPointer
+ NotifyPointerRoot
+ NotifyUngrab
+ NotifyVirtual
+ NotifyWhileGrabbed
+ Opposite
+ OwnerGrabButtonMask
+ ParentRelative
+ PlaceOnBottom
+ PlaceOnTop
+ PointerMotionHintMask
+ PointerMotionMask
+ PointerRoot
+ PointerWindow
+ PreferBlanking
+ PropModeAppend
+ PropModePrepend
+ PropModeReplace
+ PropertyChangeMask
+ PropertyDelete
+ PropertyNewValue
+ PropertyNotify
+ PseudoColor
+ RaiseLowest
+ ReparentNotify
+ ReplayKeyboard
+ ReplayPointer
+ ResizeRedirectMask
+ ResizeRequest
+ RetainPermanent
+ RetainTemporary
+ RevertToNone
+ RevertToParent
+ RevertToPointerRoot
+ ScreenSaverActive
+ ScreenSaverReset
+ SelectionClear
+ SelectionNotify
+ SelectionRequest
+ SetModeDelete
+ SetModeInsert
+ ShiftMapIndex
+ ShiftMask
+ SouthEastGravity
+ SouthGravity
+ SouthWestGravity
+ StaticColor
+ StaticGravity
+ StaticGray
+ StippleShape
+ StructureNotifyMask
+ SubstructureNotifyMask
+ SubstructureRedirectMask
+ Success
+ SyncBoth
+ SyncKeyboard
+ SyncPointer
+ TileShape
+ TopIf
+ TrueColor
+ UnmapGravity
+ UnmapNotify
+ Unsorted
+ VisibilityChangeMask
+ VisibilityFullyObscured
+ VisibilityNotify
+ VisibilityPartiallyObscured
+ VisibilityUnobscured
+ WestGravity
+ WhenMapped
+ WindingRule
+ XYBitmap
+ XYPixmap
+ X_H
+ X_PROTOCOL
+ X_PROTOCOL_REVISION
+ YSorted
+ YXBanded
+ YXSorted
+ ZPixmap
+
+=head1 AUTHOR
+
+Nick Ing-Simmons ran h2xs ...
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/X11Font.pod b/Master/tlpkg/tlperl/lib/Tk/X11Font.pod
new file mode 100644
index 00000000000..bd5b353abe0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/X11Font.pod
@@ -0,0 +1,88 @@
+
+=head1 NAME
+
+Tk::Font - a class for finding X Fonts
+
+=for pm Tk/X11Font.pm
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+ use Tk::X11Font;
+
+ $font = $widget->X11Font(foundry => 'adobe',
+ family => 'times',
+ point => 120
+ );
+
+ $font = $widget->X11Font('*-courier-medium-r-normal-*-*');
+
+=head1 DESCRIPTION
+
+ This module can be use to interrogate the X server what fonts are
+ avaliable.
+
+=head1 METHODS
+
+=head2 Foundry( [ $val ] )
+
+=head2 Family( [ $val ] )
+
+=head2 Weight( [ $val ] )
+
+=head2 Slant( [ $val ] )
+
+=head2 Swidth( [ $val ] )
+
+=head2 Adstyle( [ $val ] )
+
+=head2 Pixel( [ $val ] )
+
+=head2 Point( [ $val ] )
+
+=head2 Xres( [ $val ] )
+
+=head2 Yres( [ $val ] )
+
+=head2 Space( [ $val ] )
+
+=head2 Avgwidth( [ $val ] )
+
+=head2 Registry( [ $val ] )
+
+=head2 Encoding( [ $val ] )
+
+Set the given field in the font name to C<$val> if given and return the current
+or previous value
+
+=head2 Name( [ $max ] )
+
+In a list context it returns a list of all font names that match the
+fields given. It will return a maximum of C<$max> names, or 128 if
+$max is not given.
+
+In a scalar contex it returns the first matching name or undef
+
+=head2 Clone( [ key => value, [ ...]] )
+
+Create a duplicate of the curent font object and modify the given fields
+
+=head1 AUTHOR
+
+Graham Barr <Graham.Barr@tiuk.ti.com>
+
+=head1 HISTORY
+
+11-Jan-96 Initial version
+
+08-Nov-98 Renamed for Tk800.012
+
+=head1 COPYRIGHT
+
+Copyright (c) 1995-1996 Graham Barr. All rights reserved. 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/Tk/Xrm.pod b/Master/tlpkg/tlperl/lib/Tk/Xrm.pod
new file mode 100644
index 00000000000..55f885bc849
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Xrm.pod
@@ -0,0 +1,45 @@
+
+=head1 NAME
+
+Tk::Xrm - X Resource/Defaults/Options routines that obey the rules.
+
+=for pm Tk/Xrm.pm
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+ use Tk;
+ use Tk::Xrm;
+
+=head1 DESCRIPTION
+
+Using this modules causes Tk's Option code to be replaced by versions
+which use routines from <X11/Xresource.h> - i.e. same ones every other
+X toolkit uses.
+
+Result is that "matching" of name/Class with the options database follows
+the same rules as other X toolkits. This makes it more predictable,
+and makes it easier to have a single ~/.Xdefaults file which gives sensible
+results for both Tk and (say) Motif applications.
+
+=head1 BUGS
+
+Currently B<optionAdd>(I<key> =E<gt> I<value>?, I<priority>?) ignores optional
+priority completely and just does XrmPutStringResource().
+Perhaps it should be more subtle and do XrmMergeDatabases() or
+XrmCombineDatabase().
+
+This version is a little slower than Tk's re-invention but there is
+more optimization that can be done.
+
+=head1 SEE ALSO
+
+L<Tk::option|Tk::option>
+
+=head1 KEYWORDS
+
+database, option, priority, retrieve
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/after.pod b/Master/tlpkg/tlperl/lib/Tk/after.pod
new file mode 100644
index 00000000000..97c61ba380b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/after.pod
@@ -0,0 +1,168 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::after - Execute a command after a time delay
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<after>(I<ms>)
+
+S< >I<$id> = I<$widget>-E<gt>B<after>(I<ms>?,I<callback>?)
+
+S< >I<$id> = I<$widget>-E<gt>B<repeat>(I<ms>?,I<callback>?)
+
+S< >I<$widget>-E<gt>B<afterCancel>(I<$id>)
+
+S< >I<$id> = I<$widget>-E<gt>B<afterIdle>(I<callback>)
+
+S< >I<$widget>-E<gt>B<afterInfo>?(I<$id>)?
+
+S< >I<$id>-E<gt>B<time>(?I<delay>?)
+
+=head1 DESCRIPTION
+
+This method is used to delay execution of the program or to execute
+a callback in background sometime in the future.
+
+In perl/Tk I<$widget>-E<gt>B<after> is implemented via the class C<Tk::After>,
+and callbacks are associated with I<$widget>, and are automatically cancelled
+when the widget is destroyed. An almost identical interface, but without
+automatic cancel, and without repeat is provided via Tk::after method.
+
+=head2 Internal Details
+
+The internal Tk::After class has the following synopsis:
+
+ $id = Tk::After->new($widget, tid, $time, 'once', callback);
+ $id = Tk::After->new($widget, tid, $time, 'repeat', callback);
+ $id->cancel;
+ $id->time(?delay?);
+
+$id is a Tk::After object, an array of 5 elements:
+
+I<$widget> is the parent widget reference.
+
+I<tid> is the internal timer id, a unique string.
+
+I<$time> is the string 'idle', representing an idle queue timer, or a
+integer millisecond value.
+
+I<once> or I<repeat> specifies whether the timer is a one-time B<after>
+event, or a repeating B<repeat> event.
+
+I<callback> specifies a Perl/Tk Tk::Callback object.
+
+=head1 Changing a B<repeat> timer interval
+
+It's posible to change a B<repeat> timer's delay value, or even cancel
+any timer, using the B<time> method. If I<delay> is specified and
+non-zero, a new timer delay is established. If I<delay> is zero the
+timer event is canceled just as if I<$id>-E<gt>B<cancel> were invoked.
+In all cases the current millisecond timer delay is returned.
+
+Note: the new timer delay will take effect on the I<subsequent> timer
+event - this command will not cancel the pending timer event and
+re-issue it with the new delay time.
+
+=head1 The after() method has several forms as follows:
+
+=over 4
+
+=item I<$widget>-E<gt>B<after>(I<ms>)
+
+The value I<ms> must be an integer giving a time in milliseconds.
+The command sleeps for I<ms> milliseconds and then returns.
+While the command is sleeping the application does not respond to
+events.
+
+=item I<$widget>-E<gt>B<after>(I<ms>,I<callback>)
+
+In this form the command returns immediately, but it arranges
+for I<callback> be executed I<ms> milliseconds later as an
+event handler.
+The callback will be executed exactly once, at the given time.
+The command will be executed in context of I<$widget>.
+If an error occurs while executing the delayed command then the
+L<Tk::Error|Tk::Error> mechanism is used to report the error.
+The B<after> command returns an identifier (an object in the perl/Tk
+case) that can be used to cancel the delayed command using B<afterCancel>.
+
+=item I<$widget>-E<gt>B<repeat>(I<ms>,I<callback>)
+
+In this form the command returns immediately, but it arranges
+for I<callback> be executed I<ms> milliseconds later as an
+event handler. After I<callback> has executed it is re-scheduled,
+to be executed in a futher I<ms>, and so on until it is cancelled.
+
+=item I<$widget>-E<gt>B<afterCancel>(I<$id>)
+
+=item I<$id>-E<gt>B<cancel>
+
+Cancels the execution of a delayed command that
+was previously scheduled.
+I<$id> indicates which command should be canceled; it must have
+been the return value from a previous B<after> command.
+If the command given by I<$id> has already been executed (and
+is not scheduled to be executed again) then B<afterCancel>
+has no effect.
+
+=item I<$widget>-E<gt>B<afterCancel>(I<callback>)
+
+I<This form is not robust in perl/Tk - its use is deprecated.>
+This command should also cancel the execution of a delayed command.
+The I<callback> argument is compared with pending callbacks,
+if a match is found, that callback is
+cancelled and will never be executed; if no such callback is
+currently pending then the B<afterCancel> has no effect.
+
+=item I<$widget>-E<gt>B<afterIdle>(I<callback>)
+
+Arranges for I<callback> to be evaluated later as an idle callback.
+The script will be run exactly once, the next time the event
+loop is entered and there are no events to process.
+The command returns an identifier that can be used
+to cancel the delayed command using B<afterCancel>.
+If an error occurs while executing the script then the
+L<Tk::Error|Tk::Error> mechanism is used to report the error.
+
+=item I<$widget>-E<gt>B<afterInfo>?(I<$id>)?
+
+This command returns information about existing event handlers. If no
+I<$id> argument is supplied, the command returns a list of the
+identifiers for all existing event handlers created by the B<after>
+and B<repeat> commands for I<$widget>. If I<$id> is supplied, it
+specifies an existing handler; I<$id> must have been the return value
+from some previous call to B<after> or B<repeat> and it must not have
+triggered yet or been cancelled. In this case the command returns a
+list with three elements. The first element of the list is the
+callback associated with I<$id>, the second element is either B<idle>
+or the I<integer> timer millisecond value to indicate what kind of
+event handler it is, and the third is a string I<once> or I<repeat> to
+differentiate an B<after> from a B<repeat> event.
+
+=back
+
+The B<after>(I<ms>) and B<afterIdle> forms of the command
+assume that the application is event driven: the delayed commands
+will not be executed unless the application enters the event loop.
+In applications that are not normally event-driven,
+the event loop can be entered with the B<vwait> and B<update> commands.
+
+=head1 SEE ALSO
+
+L<Tk::Error|Tk::Error>
+L<Tk::callbacks|Tk::callbacks>
+
+=head1 KEYWORDS
+
+cancel, delay, idle callback, sleep, time
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/bind.pod b/Master/tlpkg/tlperl/lib/Tk/bind.pod
new file mode 100644
index 00000000000..f595a48e318
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/bind.pod
@@ -0,0 +1,583 @@
+# Copyright (c) 1990 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::bind - Arrange for X events to invoke callbacks
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+Retrieve bindings:
+
+S< >I<$widget>-E<gt>B<bind>
+
+S< >I<$widget>-E<gt>B<bind>(I<tag>)
+
+S< >I<$widget>-E<gt>B<bind>(I<sequence>)
+
+S< >I<$widget>-E<gt>B<bind>(I<tag>,I<sequence>)
+
+Associate and destroy bindings:
+
+S< >I<$widget>-E<gt>B<bind>(I<sequence>,I<callback>)
+
+S< >I<$widget>-E<gt>B<bind>(I<tag>,I<sequence>,I<callback>)
+
+=head1 DESCRIPTION
+
+The B<bind> method associates callbacks with X events.
+If I<callback> is specified, B<bind> will
+arrange for I<callback> to be evaluated whenever
+the event(s) given by I<sequence> occur in the window(s)
+identified by I<$widget> or I<tag>.
+If I<callback> is an empty string then the current binding for
+I<sequence> is destroyed, leaving I<sequence> unbound.
+In all of the cases where a I<callback> argument is provided,
+B<bind> returns an empty string.
+
+If I<sequence> is specified without a I<callback>, then the
+callback currently bound to I<sequence> is returned, or
+B<undef> is returned if there is no binding for I<sequence>.
+If neither I<sequence> nor I<callback> is specified, then the
+return value is a list whose elements are all the sequences
+for which there exist bindings for I<tag>.
+
+If no I<tag> is specified then the B<bind> refers to I<$widget>.
+If I<tag> is specified then it is typically a class name and the B<bind>
+refers to all instances of the class on the B<MainWindow> associated
+with I<$widget>. (It is possible for I<tag> to be another "widget object"
+but this practice is deprecated.) Perl's B<ref>(I<$object>) can be used
+to get the class name of any object.
+Each window has an associated list of tags, and a binding applies
+to a particular window if its tag is among those specified for
+the window.
+Although the B<bindtags> method may be used to assign an
+arbitrary set of binding tags to a window, the default binding
+tags provide the following behavior:
+
+If a tag is the name of an internal window the binding applies
+to that window.
+
+If the tag is the name of a toplevel window the binding applies
+to the toplevel window and all its internal windows.
+
+If the tag is the name of a class of widgets, such as B<Tk::Button>,
+the binding applies to all widgets in that class;
+
+If I<tag> has the value B<all>,
+the binding applies to all windows descended from the MainWindow
+of the application.
+
+=head1 EVENT PATTERNS
+
+The I<sequence> argument specifies a sequence of one or more event
+patterns, with optional white space between the patterns. Each event
+pat may take one of three forms. In the simplest case it is a single
+printing ASCII character, such as B<a> or B<[>. The character may not
+be a space character or the character <. This form of pattern matches
+a B<KeyPress> event for the particular character. The second form of
+pattern is longer but more general. It has the following syntax:
+
+S< >'<modifier-modifier-type-detail>'
+
+The entire event pattern is surrounded by angle brackets, and normally
+needs to be quoted, as angle brackets are special to perl.
+Inside the angle brackets are zero or more modifiers, an event
+type, and an extra piece of information (I<detail>) identifying
+a particular button or keysym. Any of the fields may be omitted,
+as long as at least one of I<type> and I<detail> is present.
+The fields must be separated by white space or dashes.
+
+The third form of pattern is used to specify a user-defined, named virtual
+event; see L<Tk::event> for details. It has the following syntax:
+
+S< >'<<name>>'
+
+The entire virtual event pattern is surrounded by double angle brackets.
+Inside the angle brackets is the user-defined name of the virtual event.
+Modifiers, such as B<Shift> or B<Control>, may not be combined with a
+virtual event to modify it. Bindings on a virtual event may be created
+before the virtual event is defined, and if the definition of a virtual
+event changes dynamically, all windows bound to that virtual event will
+respond immediately to the new definition.
+
+=head1 MODIFIERS
+
+Modifiers consist of any of the following values:
+
+ Control Mod2, M2
+ Shift Mod3, M3
+ Lock Mod4, M4
+ Button1, B1 Mod5, M5
+ Button2, B2 Meta, M
+ Button3, B3 Alt
+ Button4, B4 Double
+ Button5, B5 Triple
+ Mod1, M1 Quadruple
+
+Where more than one value is listed, separated by commas, the values
+are equivalent.
+Most of the modifiers have the obvious X meanings.
+For example, B<Button1> requires that
+button 1 be depressed when the event occurs.
+For a binding to match a given event, the modifiers in the event
+must include all of those specified in the event pattern.
+An event may also contain additional modifiers not specified in
+the binding.
+For example, if button 1 is pressed while the shift and control keys
+are down, the pattern B<E<lt>Control-Button-1E<gt>> will match
+the event, but B<E<lt>Mod1-Button-1E<gt>> will not.
+If no modifiers are specified, then any combination of modifiers may
+be present in the event.
+
+B<Meta> and B<M> refer to whichever of the
+B<M1> through B<M5> modifiers is associated with the meta
+key(s) on the keyboard (keysyms B<Meta_R> and B<Meta_L>).
+If there are no meta keys, or if they are not associated with any
+modifiers, then B<Meta> and B<M> will not match any events.
+Similarly, the B<Alt> modifier refers to whichever modifier
+is associated with the alt key(s) on the keyboard (keysyms
+B<Alt_L> and B<Alt_R>).
+
+The B<Double>, B<Triple> and B<Quadruple> modifiers are a convenience
+for specifying double mouse clicks and other repeated events. They
+cause a particular event pattern to be repeated 2, 3 or 4 times, and
+also place a time and space requirement on the sequence: for a
+sequence of events to match a B<Double>, B<Triple> or B<Quadruple>
+pattern, all of the events must occur close together in time and
+without substantial mouse motion in between. For example,
+B<E<lt>Double-Button-1E<gt>> is equivalent to
+B<E<lt>Button-1E<gt>E<lt>Button-1E<gt>> with the extra time and space
+requirement.
+
+=head1 EVENT TYPES
+
+The I<type> field may be any of the standard X event types, with a
+few extra abbreviations. Below is a list of all the valid types;
+where two names appear together, they are synonyms.
+
+
+ Activate Destroy Map
+ ButtonPress, Button Enter MapRequest
+ ButtonRelease Expose Motion
+ Circulate FocusIn MouseWheel
+ CirculateRequest FocusOut Property
+ Colormap Gravity Reparent
+ Configure KeyPress, Key ResizeRequest
+ ConfigureRequest KeyRelease Unmap
+ Create Leave Visibility
+ Deactivate
+
+Most of the above events have the same fields and behaviors as events
+in the X Windowing system. You can find more detailed descriptions of
+these events in any X window programming book. A couple of the events
+are extensions to the X event system to support features unique to the
+Macintosh and Windows platforms. We provide a little more detail on
+these events here. These include:
+
+ Activate
+ Deactivate
+
+These two events are sent to every sub-window of a toplevel when they
+change state. In addition to the focus Window, the Macintosh platform
+and Windows platforms have a notion of an active window (which often
+has but is not required to have the focus). On the Macintosh, widgets
+in the active window have a different appearance than widgets in
+deactive windows. The Activate event is sent to all the sub-windows
+in a toplevel when it changes from being deactive to active.
+Likewise, the Deactive event is sent when the window's state changes
+from active to deactive. There are no use- ful percent substitutions
+you would make when binding to these events.
+
+ MouseWheel
+
+Some mice on the Windows platform support a mouse wheel which is
+used for scrolling documents without using the scrollbars. By
+rolling the wheel, the system will generate MouseWheel events that
+the application can use to scroll. Like Key events the event is
+always routed to the window that currently has focus. When the
+event is received you can use the %D substitution to get the delta
+field for the event which is a integer value of motion that the
+mouse wheel has moved. The smallest value for which the system
+will report is defined by the OS. On Windows 95 & 98 machines
+this value is at least 120 before it is reported. However, higher
+resolution devices may be available in the future. The sign of
+the value determines which direction your widget should scroll.
+Positive values should scroll up and negative values should scroll
+down.
+
+The last part of a long event specification is I<detail>. In the
+case of a B<ButtonPress> or B<ButtonRelease> event, it is the
+number of a button (1-5). If a button number is given, then only an
+event on that particular button will match; if no button number is
+given, then an event on any button will match. Note: giving a
+specific button number is different than specifying a button modifier;
+in the first case, it refers to a button being pressed or released,
+while in the second it refers to some other button that is already
+depressed when the matching event occurs. If a button
+number is given then I<type> may be omitted: if will default
+to B<ButtonPress>. For example, the specifier B<E<lt>1E<gt>>
+is equivalent to B<E<lt>ButtonPress-1E<gt>>.
+
+If the event type is B<KeyPress> or B<KeyRelease>, then
+I<detail> may be specified in the form of an X keysym. Keysyms
+are textual specifications for particular keys on the keyboard;
+they include all the alphanumeric ASCII characters (e.g. ``a'' is
+the keysym for the ASCII character ``a''), plus descriptions for
+non-alphanumeric characters (``comma'' is the keysym for the comma
+character), plus descriptions for all the non-ASCII keys on the
+keyboard (``Shift_L'' is the keysm for the left shift key, and
+``F1'' is the keysym for the F1 function key, if it exists). The
+complete list of keysyms is not presented here; it is
+available in other X documentation and may vary from system to
+system.
+If necessary, you can use the B<'K'> notation described below
+to print out the keysym name for a particular key.
+If a keysym I<detail> is given, then the
+I<type> field may be omitted; it will default to B<KeyPress>.
+For example, B<E<lt>Control-commaE<gt>> is equivalent to
+B<E<lt>Control-KeyPress-commaE<gt>>.
+
+=head1 BINDING CALLBACKS AND SUBSTITUTIONS
+
+The I<callback> argument to B<bind> is a perl/Tk callback.
+which will be executed whenever the given event sequence occurs.
+(See L<Tk::callbacks> for description of the possible forms.)
+I<Callback> will be associated with the same B<MainWindow>
+that is associated with the I<$widget> that was used to invoke
+the B<bind> method, and it will run as though called from B<MainLoop>.
+If I<callback> contains
+any B<Ev>(I<%>) calls, then each "nested" B<Ev>(I<%>)
+"callback" will be evaluated when the event occurs to form arguments
+to be passed to the main I<callback>.
+The replacement
+depends on the character I<%>, as defined in the
+list below. Unless otherwise indicated, the
+replacement string is the numeric (decimal) value of the given field from
+the current event. Perl/Tk has enhanced this mechanism slightly compared
+to the comparable Tcl/Tk mechanism. The enhancements are not yet all
+reflected in the list below.
+Some of the substitutions are only valid for
+certain types of events; if they are used for other types of events
+the value substituted is undefined (not the same as B<undef>!).
+
+=over 4
+
+=item B<'#'>
+
+The number of the last client request processed by the server
+(the I<serial> field from the event). Valid for all event
+types.
+
+=item B<'a'>
+
+The I<above> field from the event,
+formatted as a hexadecimal number.
+Valid only for B<Configure> events.
+
+=item B<'b'>
+
+The number of the button that was pressed or released. Valid only
+for B<ButtonPress> and B<ButtonRelease> events.
+
+=item B<'c'>
+
+The I<count> field from the event. Valid only for B<Expose> events.
+
+=item B<'d'>
+
+The I<detail> field from the event. The B<'d'> is replaced by
+a string identifying the detail. For B<Enter>,
+B<Leave>, B<FocusIn>, and B<FocusOut> events,
+the string will be one of the following:
+
+ NotifyAncestor NotifyNonlinearVirtual
+ NotifyDetailNone NotifyPointer
+ NotifyInferior NotifyPointerRoot
+ NotifyNonlinear NotifyVirtual
+
+For B<ConfigureRequest> events, the string will be one of:
+
+ Above Opposite
+ Below None
+ BottomIf TopIf
+
+For events other than these, the substituted string is undefined.
+(Note that this is I<not> the same as Detail part of sequence
+use to specify the event.)
+
+=item B<'f'>
+
+The I<focus> field from the event (B<0> or B<1>). Valid only
+for B<Enter> and B<Leave> events.
+
+=item B<'h'>
+
+The I<height> field from the event. Valid only for B<Configure>,
+B<ConfigureRequest>, B<Create>, B<Expose>, and B<ResizeRequest> events.
+
+=item B<'i'>
+
+The window field from the event, represented as a hexadecimal integer.
+
+=item B<'k'>
+
+The I<keycode> field from the event. Valid only for B<KeyPress>
+and B<KeyRelease> events.
+
+=item B<'m'>
+
+The I<mode> field from the event. The substituted string is one of
+B<NotifyNormal>, B<NotifyGrab>, B<NotifyUngrab>, or
+B<NotifyWhileGrabbed>. Valid only for B<Enter>,
+B<FocusIn>, B<FocusOut>, and B<Leave> events.
+
+=item B<'o'>
+
+The I<override_redirect> field from the event. Valid only for
+B<Map>, B<Reparent>, and B<Configure> events.
+
+=item B<'p'>
+
+The I<place> field from the event, substituted as one of the
+strings B<PlaceOnTop> or B<PlaceOnBottom>. Valid only
+for B<Circulate> and B<CirculateRequest> events.
+
+=item B<'s'>
+
+The I<state> field from the event. For B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<KeyPress>, B<KeyRelease>,
+B<Leave>, and B<Motion> events, a decimal string
+is substituted. For B<Visibility>, one of the strings
+B<VisibilityUnobscured>, B<VisibilityPartiallyObscured>,
+and B<VisibilityFullyObscured> is substituted.
+
+=item B<'t'>
+
+The I<time> field from the event. Valid only for events that
+contain a I<time> field.
+
+=item B<'w'>
+
+The I<width> field from the event. Valid only for B<Configure>,
+B<ConfigueRequest>, B<Create>, B<Expose>, and B<ResizeREquest> events.
+
+=item B<'x'>
+
+The I<x> field from the event. Valid only for events containing
+an I<x> field.
+
+=item B<'y'>
+
+The I<y> field from the event. Valid only for events containing
+a I<y> field.
+
+=item B<'@'>
+
+The string "@I<x,y>" where I<x> and I<y> are as above.
+Valid only for events containing I<x> and I<y> fields.
+This format is used my methods of B<Tk::Text> and similar widgets.
+
+=item B<'A'>
+
+Substitutes the UNICODE character corresponding to the event, or
+the empty string if the event doesn't correspond to a UNICODE character
+(e.g. the shift key was pressed). B<XmbLookupString> does all the
+work of translating from the event to a UNICODE character.
+Valid only for B<KeyPress> and B<KeyRelease> events.
+
+=item B<'B'>
+
+The I<border_width> field from the event. Valid only for
+B<Configure>, B<ConfigureRequest> and B<Create> events.
+
+=item B<'D'>
+
+This reports the delta value of a B<MouseWheel> event. The delta
+value represents the rotation units the mouse wheel has been
+moved. On Windows 95 & 98 systems the smallest value for the
+delta is 120. Future systems may support higher resolution values
+for the delta. The sign of the value represents the direction the
+mouse wheel was scrolled.
+
+=item B<'E'>
+
+The I<send_event> field from the event. Valid for all event types.
+
+=item B<'K'>
+
+The keysym corresponding to the event, substituted as a textual
+string. Valid only for B<KeyPress> and B<KeyRelease> events.
+
+=item B<'N'>
+
+The keysym corresponding to the event, substituted as
+a decimal
+number. Valid only for B<KeyPress> and B<KeyRelease> events.
+
+=item B<'R'>
+
+The I<root> window identifier from the event. Valid only for
+events containing a I<root> field.
+
+=item B<'S'>
+
+The I<subwindow> window identifier from the event,
+as an object if it is one otherwise as a hexadecimal number.
+Valid only for events containing a I<subwindow> field.
+
+=item B<'T'>
+
+The I<type> field from the event. Valid for all event types.
+
+=item B<'W'>
+
+The window to which the event was reported (the
+$widget field from the event) - as an perl/Tk object.
+Valid for all event types.
+
+=item B<'X'>
+
+The I<x_root> field from the event.
+If a virtual-root window manager is being used then the substituted
+value is the corresponding x-coordinate in the virtual root.
+Valid only for
+B<ButtonPress>, B<ButtonRelease>, B<KeyPress>, B<KeyRelease>,
+and B<Motion> events.
+
+=item B<'Y'>
+
+The I<y_root> field from the event.
+If a virtual-root window manager is being used then the substituted
+value is the corresponding y-coordinate in the virtual root.
+Valid only for
+B<ButtonPress>, B<ButtonRelease>, B<KeyPress>, B<KeyRelease>,
+and B<Motion> events.
+
+=back
+
+=head1 MULTIPLE MATCHES
+
+It is possible for several bindings to match a given X event.
+If the bindings are associated with different I<tag>'s,
+then each of the bindings will be executed, in order.
+By default, a class binding will be executed first, followed
+by a binding for the widget, a binding for its toplevel, and
+an B<all> binding.
+The B<bindtags> method may be used to change this order for
+a particular window or to associate additional binding tags with
+the window.
+
+B<return> and B<Tk-E<gt>break> may be used inside a
+callback to control the processing of matching callbacks.
+If B<return> is invoked, then the current callback
+is terminated but Tk will continue processing callbacks
+associated with other I<tag>'s.
+If B<Tk-E<gt>break> is invoked within a callback,
+then that callback terminates and no other callbacks will be invoked
+for the event.
+(B<Tk-E<gt>break> is implemented via perl's B<die> with a special value
+which is "caught" by the perl/Tk "glue" code.)
+
+If more than one binding matches a particular event and they
+have the same I<tag>, then the most specific binding
+is chosen and its callback is evaluated.
+The following tests are applied, in order, to determine which of
+several matching sequences is more specific:
+(a) an event pattern that specifies a specific button or key is more specific
+than one that doesn't;
+(b) a longer sequence (in terms of number
+of events matched) is more specific than a shorter sequence;
+(c) if the modifiers specified in one pattern are a subset of the
+modifiers in another pattern, then the pattern with more modifiers
+is more specific.
+(d) a virtual event whose physical pattern matches the sequence is less
+specific than the same physical pattern that is not associated with a
+virtual event.
+(e) given a sequence that matches two or more virtual events, one
+of the virtual events will be chosen, but the order is undefined.
+
+If the matching sequences contain more than one event, then tests
+(c)-(e) are applied in order from the most recent event to the least recent
+event in the sequences. If these tests fail to determine a winner, then the
+most recently registered sequence is the winner.
+
+If there are two (or more) virtual events that are both triggered by the
+same sequence, and both of those virtual events are bound to the same window
+tag, then only one of the virtual events will be triggered, and it will
+be picked at random:
+
+ $widget->eventAdd('<<Paste>>' => '<Control-y>');
+ $widget->eventAdd('<<Paste>>' => '<Button-2>');
+ $widget->eventAdd <<Scroll>>' => '<Button-2>');
+ $widget->bind('Tk::Entry','<<Paste>>',sub { print 'Paste'});
+ $widget->bind('Tk::Entry','<<Scroll>>', sub {print 'Scroll'});
+
+If the user types Control-y, the B<E<lt>E<lt>PasteE<gt>E<gt>> binding
+will be invoked, but if the user presses button 2 then one of
+either the B<E<lt>E<lt>PasteE<gt>E<gt>> or the B<E<lt>E<lt>ScrollE<gt>E<gt>> bindings will
+be invoked, but exactly which one gets invoked is undefined.
+
+If an X event does not match any of the existing bindings, then the
+event is ignored.
+An unbound event is not considered to be an error.
+
+=head1 MULTI-EVENT SEQUENCES AND IGNORED EVENTS
+
+When a I<sequence> specified in a B<bind> method contains
+more than one event pattern, then its callback is executed whenever
+the recent events (leading up to and including the current event)
+match the given sequence. This means, for example, that if button 1 is
+clicked repeatedly the sequence B<E<lt>Double-ButtonPress-1E<gt>> will match
+each button press but the first.
+If extraneous events that would prevent a match occur in the middle
+of an event sequence then the extraneous events are
+ignored unless they are B<KeyPress> or B<ButtonPress> events.
+For example, B<E<lt>Double-ButtonPress-1E<gt>> will match a sequence of
+presses of button 1, even though there will be B<ButtonRelease>
+events (and possibly B<Motion> events) between the
+B<ButtonPress> events.
+Furthermore, a B<KeyPress> event may be preceded by any number
+of other B<KeyPress> events for modifier keys without the
+modifier keys preventing a match.
+For example, the event sequence B<aB> will match a press of the
+B<a> key, a release of the B<a> key, a press of the B<Shift>
+key, and a press of the B<b> key: the press of B<Shift> is
+ignored because it is a modifier key.
+Finally, if several B<Motion> events occur in a row, only
+the last one is used for purposes of matching binding sequences.
+
+=head1 ERRORS
+
+If an error occurs in executing the callback for a binding then the
+B<Tk::Error> mechanism is used to report the error.
+The B<Tk::Error> mechanism will be executed at same call level,
+and associated with the same B<MainWindow> as
+as the callback was invoked.
+
+=head1 CAVEATS
+
+Note that for the B<Canvas> widget, the call to B<bind> has to be
+fully qualified. This is because there is already a bind method for
+the B<Canvas> widget, which binds individual canvas tags.
+
+S< >I<$canvas>-E<gt>B<Tk::bind>
+
+=head1 SEE ALSO
+
+L<Tk::Error|Tk::Error>
+L<Tk::callbacks|Tk::callbacks>
+L<Tk::bindtags|Tk::bindtags>
+
+=head1 KEYWORDS
+
+Event, binding
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/bindtags.pod b/Master/tlpkg/tlperl/lib/Tk/bindtags.pod
new file mode 100644
index 00000000000..3ee6ddb9473
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/bindtags.pod
@@ -0,0 +1,107 @@
+# Copyright (c) 1990 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::bindtags - Determine which bindings apply to a window, and order of evaluation
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<bindtags>([I<tagList>]);
+
+I<@tags> = I<$widget>-E<gt>B<bindtags>;
+
+=head1 DESCRIPTION
+
+When a binding is created with the B<bind> command, it is
+associated either with a particular window such as I<$widget>,
+a class name such as B<Tk::Button>, the keyword B<all>, or any
+other string.
+All of these forms are called I<binding tags>.
+Each window has a list of binding tags that determine how
+events are processed for the window.
+When an event occurs in a window, it is applied to each of the
+window's tags in order: for each tag, the most specific binding
+that matches the given tag and event is executed.
+See the L<Tk::bind> documentation for more information on the matching
+process.
+
+By default, each window has four binding tags consisting of the
+the window's class name, name of the window, the name of the window's
+nearest toplevel ancestor, and B<all>, in that order.
+Toplevel windows have only three tags by default, since the toplevel
+name is the same as that of the window.
+
+Note that this order is I<different> from order used by Tcl/Tk.
+Tcl/Tk has the window ahead of the class name in the binding order.
+This is because Tcl is procedural rather than object oriented and
+the normal way for Tcl/Tk applications to override class bindings
+is with an instance binding. However, with perl/Tk the normal way
+to override a class binding is to derive a class. The perl/Tk order
+causes instance bindings to execute after the class binding, and
+so instance bind callbacks can make use of state changes (e.g. changes
+to the selection) than the class bindings have made.
+
+The B<bindtags> command allows the binding tags for a window to be
+read and modified.
+
+If I<$widget>-E<gt>B<bindtags> is invoked without an argument, then the
+current set of binding tags for $widget is returned as a list.
+If the I<tagList> argument is specified to B<bindtags>,
+then it must be a reference to and array; the tags for $widget are changed
+to the elements of the array. (A reference to an anonymous array can
+be created by enclosin the elements in B<[ ]>.)
+The elements of I<tagList> may be arbitrary strings or widget objects,
+if no window exists for an object at the time an event is processed,
+then the tag is ignored for that event.
+The order of the elements in I<tagList> determines the order in
+which binding callbacks are executed in response to events.
+For example, the command
+
+ $b->bindtags([$b,ref($b),$b->toplevel,'all'])
+
+applies the Tcl/Tk binding order which binding callbacks will be
+evaluated for a button (say) B<$b> so that B<$b>'s instance bindings
+are invoked first, following by bindings for B<$b>'s class, followed by
+bindings for B<$b>'s toplevel, followed by 'B<all>' bindings.
+
+If I<tagList> is an empty list i.e. B<[]>, then the binding
+tags for $widget are returned to the perl/Tk default state described above.
+
+The B<bindtags> command may be used to introduce arbitrary
+additional binding tags for a window, or to remove standard tags.
+For example, the command
+
+ $b->bindtags(['TrickyButton',$b->toplevel,'all'])
+
+replaces the (say) B<Tk::Button> tag for B<$b> with B<TrickyButton>.
+This means that the default widget bindings for buttons, which are
+associated with the B<Tk::Button> tag, will no longer apply to B<$b>,
+but any bindings associated with B<TrickyButton> (perhaps some
+new button behavior) will apply.
+
+=head1 BUGS
+
+The current mapping of the 'native' Tk behaviour of this method
+i.e. returning a list but only accepting a reference to an array is
+counter intuitive. The perl/Tk interface may be tidied up, returning
+a list is sensible so, most likely fix will be to allow a list to be
+passed to I<set> the bindtags.
+
+=head1 SEE ALSO
+
+L<Tk::bind|Tk::bind>
+L<Tk::callbacks|Tk::callbacks>
+
+=head1 KEYWORDS
+
+binding, event, tag
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/callbacks.pod b/Master/tlpkg/tlperl/lib/Tk/callbacks.pod
new file mode 100644
index 00000000000..5b62cb7c12c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/callbacks.pod
@@ -0,0 +1,104 @@
+# $Id: callbacks.pod 1.3 Thu, 27 Nov 1997 00:26:00 +0100 ach $
+
+=head1 NAME
+
+Tk::callbacks - Specifying code for Tk to call.
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+One can specify a callback in one of the following ways:
+
+Without arguments:
+
+ ... => \&subname, ...
+ ... => sub { ... }, ...
+ ... => 'methodname', ...
+
+or with arguments:
+
+ ... => [ \&subname, args ... ], ...
+ ... => [ sub { ... }, args... ], ...
+ ... => [ 'methodname', args... ], ...
+
+=head1 DESCRIPTION
+
+Perl/Tk has a callback, where Tcl/Tk has a command string (i.e. a fragment of
+Tcl to be executed). A perl/Tk callback can take one of the following
+basic forms:
+
+=over 4
+
+=item * Reference to a subroutine C<\E<amp>subname>
+
+=item * Anonymous subroutine (closure) C<sub { ... }>
+
+=item * A method name C<'methodname'>
+
+=back
+
+Any of these can be provided with arguments by enclosing them and the
+arguments in B<[]>. Here are some examples:
+
+I<$mw>->B<bind>(I<$class,> B<"E<lt>DeleteE<gt>" =E<gt> 'Delete'>);
+
+This will call I<$widget>->B<Delete>, the I<$widget> being provided (by bind) as
+the one where the Delete key was pressed.
+
+While having bind provide a widget object for you is ideal in many cases
+it can be irritating in others. Using the list form this behaviour
+can be modified:
+
+I<$a>-E<gt>B<bind>(B<"E<lt>DeleteE<gt>">,[I<$b> =E<gt> 'Delete']);
+
+because the first element I<$b> is an object bind
+will call I<$b>-E<gt>B<Delete>.
+
+Note that method/object ordering only matters for C<bind> callbacks,
+the auto-quoting in perl5.001 makes the first of these a little more readable:
+
+ $w->configure(-yscrollcommand => [ set => $ysb]);
+ $w->configure(-yscrollcommand => [ $ysb => 'set' ]);
+
+but both will call C<$ysb>-E<gt>set(args provided by Tk)
+
+Another use of arguments allows you to write generalized methods which are
+easier to re-use:
+
+ $a->bind("<Next>",['Next','Page']);
+ $a->bind("<Down>",['Next','Line']);
+
+This will call C<$a>-E<gt>I<Next>('Page') or C<$a>-E<gt>I<Next>('Line') respectively.
+
+Note that the contents of the C<[]> are evaluated by perl when the
+callback is created. It is often desirable for the arguments provided
+to the callback to depend on the details of the event which caused
+it to be executed. To allow for this callbacks can be nested using the
+C<Ev(...)> "constructor".
+C<Ev(...)> inserts callback objects into the
+argument list. When perl/Tk glue code is preparing the argument list for
+the callback it is about to call it spots these special objects and
+recursively applies the callback process to them.
+
+=head1 EXAMPLES
+
+ $entry->bind('<Return>' => [$w , 'validate', Ev(['get'])]);
+
+ $toplevel->bind('all', '<Visibility>', [\&unobscure, Ev('s')]);
+
+ $mw->bind($class, '<Down>', ['SetCursor', Ev('UpDownLine',1)]);
+
+=head1 SEE ALSO
+
+L<Tk::bind|Tk::bind>
+L<Tk::after|Tk::after>
+L<Tk::options|Tk::options>
+L<Tk::fileevent|Tk::fileevent>
+
+=head1 KEYWORDS
+
+callback, closure, anonymous subroutine, bind
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/chooseColor.pod b/Master/tlpkg/tlperl/lib/Tk/chooseColor.pod
new file mode 100644
index 00000000000..62c2906e77a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/chooseColor.pod
@@ -0,0 +1,64 @@
+# Copyright (c) 1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::chooseColor - pops up a dialog box for the user to select a color.
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+S< >I<$color> = I<$widget>-E<gt>B<chooseColor>?(I<-option>=E<gt>I<value>, ...)?;
+
+=head1 DESCRIPTION
+
+The method B<chooseColor> is implemented as a perl wrapper
+on the core tk "command" B<tk_chooseColor>, and I<$widget>
+is passed as the argument to the hidden B<-parent> option.
+The implementation of internal B<tk_chooseColor> is platform
+specific, on Win32 it is a native dialog, and on UNIX/X11 it is implemented
+in terms of L<Tk::ColorEditor|Tk::ColorEditor>.
+
+The B<chooseColor> method pops up a dialog box for the
+user to select a color. The following I<option-value> pairs are
+possible as command line arguments:
+
+=over 4
+
+=item B<-initialcolor>=E<gt>I<color>
+
+Specifies the color to display in the color dialog when it pops
+up. I<color> must be in a form acceptable to the B<Tk_GetColor>
+function.
+
+=item B<-parent>=E<gt>$widget
+
+Makes $widget the logical parent of the color dialog. The color
+dialog is displayed on top of its parent window.
+
+=item B<-title>=E<gt>I<titleString>
+
+Specifies a string to display as the title of the dialog box. If this
+option is not specified, then a default title will be displayed.
+
+=back
+
+If the user selects a color, B<tk_chooseColor> will return the
+name of the color in a form acceptable to B<Tk_GetColor>. If the
+user cancels the operation, the command will return B<undef>.
+
+=head1 EXAMPLE
+
+ $widget->configure(-fg => $parent->chooseColor(-initialcolor => 'gray',
+ -title => "Choose color"));
+
+=head1 KEYWORDS
+
+color selection dialog
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/chooseDirectory.pod b/Master/tlpkg/tlperl/lib/Tk/chooseDirectory.pod
new file mode 100644
index 00000000000..71dc7233902
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/chooseDirectory.pod
@@ -0,0 +1,95 @@
+# Copyright (c) 1998-2000 by Scriptics Corporation.
+# All rights reserved.
+#
+# RCS: @(#) $Id: chooseDirectory.n,v 1.1 2000/01/27 00:23:10 ericm Exp $
+#
+
+=head1 NAME
+
+Tk::chooseDirectory - pops up a dialog box for the user to select a directory.
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<chooseDirectory>( ?I<option value ...>? );
+
+=head1 DESCRIPTION
+
+The method B<chooseDirectory> is implemented as a perl wrapper on the
+core tk "command" B<tk_chooseDirectory>, and I<$widget> is passed as
+the argument to the hidden B<-parent> option.
+
+The B<chooseDirectory>
+method pops up a dialog box for the user to select a directory. The
+following I<option-value> pairs are possible as command line
+arguments:
+
+=over 4
+
+=item B<-initialdir> I<dirname>
+
+Specifies that the directories in I<directory> should be displayed
+when the dialog pops up. If this parameter is not specified, then
+the directories in the current working directory are displayed. If the
+parameter specifies a relative path, the return value will convert the
+relative path to an absolute path. This option may not always work on
+the Macintosh. This is not a bug. Rather, the I<General Controls>
+control panel on the Mac allows the end user to override the
+application default directory.
+
+=item B<-parent> $widget
+
+Makes $widget the logical parent of the dialog. The dialog
+is displayed on top of its parent window.
+
+=item B<-title> I<titleString>
+
+Specifies a string to display as the title of the dialog box. If this
+option is not specified, then a default title will be displayed.
+
+=item B<-mustexist> I<boolean>
+
+Specifies whether the user may specify non-existant directories. If
+this parameter is true, then the user may only select directories that
+already exist. The default value is I<false>.
+
+=back
+
+=head1 CAVEATS
+
+Perl does not have a concept of encoded filesystems yet. This means
+that operations on filenames like C<opendir> and C<open> still use
+byte semantics. Tk however uses character semantics internally, which
+means that you can get filenames with the UTF-8 flag set in functions
+like C<chooseDirectory>, C<getOpenFile> and similar. It's the user's
+responsibility to determine the encoding of the underlying filesystem
+and convert the result into bytes, e.g.
+
+ use Encode;
+ ...
+ my $dir = $mw->chooseDirectory;
+ $dir = encode("windows-1252", $dir);
+ opendir DIR, $dir or die $!;
+ ...
+
+See also L<perlunicode/When Unicode Does Not Happen> and
+L<perltodo/Unicode in Filenames>.
+
+=head1 EXAMPLE
+
+ my $dir = $mw->chooseDirectory(-initialdir => '~',
+ -title => 'Choose a directory');
+ if (!defined $dir) {
+ warn 'No directory selected';
+ } else {
+ warn "Selected $dir";
+ }
+
+=head1 SEE ALSO
+
+L<Tk::getOpenFile>, L<Tk::getOpenFile>
+
+=head1 KEYWORDS
+
+directory selection dialog
diff --git a/Master/tlpkg/tlperl/lib/Tk/composite.pod b/Master/tlpkg/tlperl/lib/Tk/composite.pod
new file mode 100644
index 00000000000..c1dda4dbd19
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/composite.pod
@@ -0,0 +1,171 @@
+# $Id: composite.pod 1.2 Wed, 12 Nov 1997 00:30:45 +0100 ach $
+
+=head1 NAME
+
+Tk::composite - Defining a new composite widget class
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+ package Tk::MyNewWidget;
+
+ use Tk::widgets qw/ list of Tk widgets /;
+ use base qw/ Tk::Frame /; # or Tk::Toplevel
+
+ Construct Tk::Widget 'MyNewWidget';
+
+ sub ClassInit {
+ my( $class, $mw ) = @_;
+ #... e.g., class bindings here ...
+ $class->SUPER::ClassInit( $mw );
+ }
+
+ sub Populate {
+ my( $self, $args ) = @_;
+
+ my $flag = delete $args->{-flag};
+ if( defined $flag ) {
+ # handle -flag => xxx which can only be done at create
+ # time the delete above ensures that new() does not try
+ # and do $self->configure( -flag => xxx );
+ }
+
+ $self->SUPER::Populate( $args );
+
+ $self = $self->Component( ... );
+
+ $self->Delegates( ... );
+
+ $self->ConfigSpecs(
+ '-cursor' => [ SELF, 'cursor', 'Cursor', undef ],
+ '-something' => [ METHOD, dbName, dbClass, default ],
+ '-text' => [ $label, dbName, dbClass, default ],
+ '-heading' => [ {-text => $head},
+ heading, Heading, 'My Heading' ],
+ );
+ }
+
+ sub something {
+ my( $self, $value) = @_;
+ if ( @_ > 1 ) {
+ # set it
+ }
+ return # current value
+ }
+
+ 1;
+
+ __END__
+
+
+ =head1 NAME
+
+ Tk::Whatever - a whatever widget
+
+ =head1 SYNOPSIS
+
+ use Tk::Whatever;
+
+ $widget = $parent->Whatever(...);
+
+ =head1 DESCRIPTION
+
+ ...
+
+=head1 DESCRIPTION
+
+The intention behind a composite is to create a higher-level widget,
+sometimes called a "super-widget" or "mega-widget". Most often,
+a composite will be
+built upon other widgets by B<using> them, as opposed to specializing on them.
+For example, the supplied composite widget B<LabEntry> is I<made of> an
+B<Entry> and a B<Label>; it is neither a I<kind-of> B<Label>
+nor is it a I<kind-of> B<Entry>.
+
+Most of the work of a composite widget consistd in creating subwidgets,
+arranging to dispatch configure options to the proper subwidgets and manage
+composite-specific configure options.
+
+=head1 GLORY DETAILS
+
+Depending on your Perl/Tk knowledge this section may be enlighting
+or confusing.
+
+=head2 Composite Widget
+
+Since Perl/Tk is heavilly using an object-oriented approach, it is no
+suprise that creating a composite goes through a B<new()> method.
+However, the composite does not normally define a B<new()> method
+itself: it is usually sufficient to simply inherit it from
+B<Tk::Widget>.
+
+This is what happens when the composite uses
+
+ use base qw/ Tk::Frame /; # or Tk::Toplevel
+
+to specify its inheritance chain. To complete the initialisation of the
+widget, it must call the B<Construct> method from class B<Widget>. That
+method accepts the name of the new class to create, i.e. the package name
+of your composite widget:
+
+ Construct Tk::Widget 'MyNewWidget';
+
+Here, B<MyNewWidget> is the package name (aka the widget's B<class>). This
+will define a constructor method for B<MyNewWidget>, normally named after the
+widget's class. Instanciating that composite in client code would
+the look like:
+
+ $mw = MainWindow->new; # creates a top-level MainWindow
+
+ $self = $mw->MyNewWidget(); # creates an instance of the
+ # composite widget MyNewWidget
+
+Whenever a composite is instanciated in client code,
+C<Tk::Widget::new()> will be invoked via the widget's class
+constructor. That B<new> method will call
+
+ $self->Populate(\%args);
+
+where I<%args> is the arguments passed to the widget's constructor. Note
+that B<Populate> receives a B<reference> to the hash array
+containing all arguments.
+
+B<Populate> is typically defined in the composite class (package),
+which creates the characteristic subwidgets of the class.
+
+=head2 Creating Subwidgets
+
+Subwidget creation happens usually in B<Populate()>.
+The composite usually calls the
+subwidget's constructor method either directly, for "private" subwidgets,
+or indirectly through the B<Component> method for subwidgets that should
+be advertised to clients.
+
+B<Populate> may call B<Delegates> to direct calls to methods
+of chosen subwidgets. For simple composites, typically most if not all
+methods are directed
+to a single subwidget - e.g. B<ScrListbox> directs all methods to the core
+B<Listbox> so that I<$composite>-E<gt>B<get>(...) calls
+I<$listbox>-E<gt>B<get>(...).
+
+=head2 Defining mega-widget options
+
+B<Populate> should also call B<ConfigSpecs()> to specify the
+way that configure-like options should be handled in the composite.
+Once B<Populate> returns, method B<Tk::Frame::ConfigDefault>
+walks through the B<ConfigSpecs> entries and populates
+%$args hash with defaults for options from X resources (F<.Xdefaults>, etc).
+
+When B<Populate> returns to B<Tk::Widget::new()>,
+a call to B<$self>-E<gt>I<configure>(%$args) is made which sets *all*
+the options.
+
+=head1 SEE ALSO
+
+L<Tk::ConfigSpecs|Tk::ConfigSpecs>
+L<Tk::mega|Tk::mega>
+L<Tk::Derived|Tk::Derived>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/HList.pl b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/HList.pl
index 62d683b2dbb..64330be358a 100644
--- a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/HList.pl
+++ b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/HList.pl
@@ -25,7 +25,7 @@ sub HList {
$FOLDIMG = $TOP->Bitmap(-file => Tk->findINC('folder.xbm'));
my $root = Tk->findINC('demos');
- my $olddir = cwd;
+ my $olddir = getcwd;
chdir $root;
show_dir '.', $root, $h;
chdir $olddir;
diff --git a/Master/tlpkg/tlperl/lib/Tk/event.pod b/Master/tlpkg/tlperl/lib/Tk/event.pod
new file mode 100644
index 00000000000..9012a596267
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/event.pod
@@ -0,0 +1,417 @@
+# Copyright (c) 1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::event - Miscellaneous event facilities: define virtual events and generate events
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<event>I<Action>(?I<arg, arg, ...>?);
+
+=head1 DESCRIPTION
+
+The B<event>I<Action> methods provides several facilities for dealing with
+window system events, such as defining virtual events and synthesizing
+events. Virtual events are shared by all widgets of the same
+B<MainWindow>. Different L<MainWindow|Tk::MainWindow>s can have different
+virtual event.
+
+The following methods are currently supported:
+
+=over 4
+
+=item I<$widget>-E<gt>B<eventAdd>(B<'E<lt>E<lt>>I<virtual>B<E<gt>E<gt>'>I<, sequence >?,I<sequence, ...>?)
+
+Associates the virtual event I<virtual> with the physical
+event sequence(s) given by the I<sequence> arguments, so that
+the virtual event will trigger whenever any one of the I<sequence>s
+occurs.
+I<Virtual> may be any string value and I<sequence> may have
+any of the values allowed for the I<sequence> argument to the
+L<bind|Tk::bind> method.
+If I<virtual> is already defined, the new physical event sequences
+add to the existing sequences for the event.
+
+=item I<$widget>-E<gt>B<eventDelete>(B<'E<lt>E<lt>>I<virtual>B<E<gt>E<gt>'> ?,I<sequence,> I<sequence, ...>?)
+
+Deletes each of the I<sequence>s from those associated with
+the virtual event given by I<virtual>.
+I<Virtual> may be any string value and I<sequence> may have
+any of the values allowed for the I<sequence> argument to the
+L<bind|Tk::bind> method.
+Any I<sequence>s not currently associated with I<virtual>
+are ignored.
+If no I<sequence> argument is provided, all physical event sequences
+are removed for I<virtual>, so that the virtual event will not
+trigger anymore.
+
+=item I<$widget>-E<gt>B<eventGenerate>(I<event> ?,I<option =E<gt> value, option =E<gt> value, ...>?)
+
+Generates a window event and arranges for it to be processed just as if
+it had come from the window system.
+I<$window> is a reference to the window for which the event
+will be generated.
+I<Event> provides a basic description of
+the event, such as B<E<lt>Shift-Button-2E<gt>> or B<E<lt>E<lt>PasteE<gt>E<gt>>.
+If I<Window> is empty the whole screen is meant, and coordinates
+are relative to the screen.
+I<Event> may have any of the forms allowed for the I<sequence>
+argument of the L<bind|Tk::bind> method except that it must consist
+of a single event pattern, not a sequence.
+I<Option-value> pairs may be used to specify additional
+attributes of the event, such as the x and y mouse position;
+see L<"EVENT FIELDS"> below. If the B<-when> option is not specified, the
+event is processed immediately: all of the handlers for the event
+will complete before the B<eventGenerate> method returns.
+If the B<-when> option is specified then it determines when the
+event is processed.
+
+=item I<$widget>-E<gt>B<eventInfo>(?'B<E<lt>E<lt>>I<virtual>B<E<gt>E<gt>'>?)
+
+Returns information about virtual events.
+If the B<E<lt>E<lt>>I<virtual>B<E<gt>E<gt>> argument is omitted, the return value
+is a list of all the virtual events that are currently defined.
+If B<E<lt>E<lt>>I<virtual>B<E<gt>E<gt>> is specified then the return value is
+a list whose elements are the physical event sequences currently
+defined for the given virtual event; if the virtual event is
+not defined then B<undef> is returned.
+
+=back
+
+=head1 EVENT FIELDS
+
+The following options are supported for the B<eventGenerate>
+method. These correspond to the ``%'' expansions
+allowed in binding callback for the L<bind|Tk::bind> method.
+
+=over 4
+
+=item B<-above> => I<window>
+
+I<Window> specifies the I<above> field for the event,
+either as a window path name or as an integer window id.
+Valid for B<Configure> events.
+Corresponds to the L<%a|Tk::bind/'a'> substitution for binding scripts.
+
+=item B<-borderwidth> => I<size>
+
+I<Size> must be a screen distance; it specifies the
+I<border_width> field for the event.
+Valid for B<Configure> events.
+Corresponds to the L<%B|Tk::bind/'B'> substitution for binding scripts.
+
+=item B<-button> => I<number>
+
+I<Number> must be an integer; it specifies the I<detail> field
+for a B<ButtonPress> or B<ButtonRelease> event, overriding
+any button number provided in the base I<event> argument.
+Corresponds to the L<%b|Tk::bind/'b'> substitution for binding scripts.
+
+=item B<-count> => I<number>
+
+I<Number> must be an integer; it specifies the I<count> field
+for the event. Valid for B<Expose> events.
+Corresponds to the L<%c|Tk::bind/'c'> substitution for binding scripts.
+
+=item B<-delta> =E<gt> I<number>
+
+B<number> must be an integer; it specifies the B<delta> field for the
+B<MouseWheel> event. The delta refers to the direction and magnitude the
+mouse wheel was rotated. Note the value is not a screen distance but
+are units of motion in the mouse wheel. Typically these values are
+multiples of 120. For example, 120 should scroll the text widget up 4
+lines and -240 would scroll the text widget down 8 lines. Of course,
+other widgets may define different behaviors for mouse wheel motion.
+This field corresponds to the %D substitution for binding scripts.
+
+=item B<-detail> => I<detail>
+
+I<Detail> specifies the I<detail> field for the event
+and must be one of the following:
+
+=over 8
+
+ NotifyAncestor NotifyNonlinearVirtual
+ NotifyDetailNone NotifyPointer
+ NotifyInferior NotifyPointerRoot
+ NotifyNonlinear NotifyVirtual
+
+=back
+
+Valid for B<Enter>, B<Leave>, B<FocusIn> and
+B<FocusOut> events.
+Corresponds to the L<%d|Tk::bind/'d'> substitution for binding scripts.
+
+=item B<-focus>I< boolean>
+
+I<Boolean> must be a boolean value; it specifies the I<focus>
+field for the event.
+Valid for B<Enter> and B<Leave> events.
+Corresponds to the L<%f|Tk::bind/'f'> substitution for binding scripts.
+
+=item B<-height>I< size>
+
+I<Size> must be a screen distance; it specifies the I<height>
+field for the event. Valid for B<Configure> events.
+Corresponds to the L<%h|Tk::bind/'h'> substitution for binding scripts.
+
+=item B<-keycode>I< number>
+
+I<Number> must be an integer; it specifies the I<keycode>
+field for the event.
+Valid for B<KeyPress> and B<KeyRelease> events.
+Corresponds to the L<%k|Tk::bind/'k'> substitution for binding scripts.
+
+=item B<-keysym>I< name>
+
+I<Name> must be the name of a valid keysym, such as B<g>,
+B<space>, or B<Return>; its corresponding
+keycode value is used as the I<keycode> field for event, overriding
+any detail specified in the base I<event> argument.
+Valid for B<KeyPress> and B<KeyRelease> events.
+Corresponds to the L<%K|Tk::bind/'K'> substitution for binding scripts.
+
+=item B<-mode>I< notify>
+
+I<Notify> specifies the I<mode> field for the event and must be
+one of B<NotifyNormal>, B<NotifyGrab>, B<NotifyUngrab>, or
+B<NotifyWhileGrabbed>.
+Valid for B<Enter>, B<Leave>, B<FocusIn>, and
+B<FocusOut> events.
+Corresponds to the L<%m|Tk::bind/'m'> substitution for binding scripts.
+
+=item B<-override>I< boolean>
+
+I<Boolean> must be a boolean value; it specifies the
+I<override_redirect> field for the event.
+Valid for B<Map>, B<Reparent>, and B<Configure> events.
+Corresponds to the L<%o|Tk::bind/'o'> substitution for binding scripts.
+
+=item B<-place>I< where>
+
+I<Where> specifies the I<place> field for the event; it must be
+either B<PlaceOnTop> or B<PlaceOnBottom>.
+Valid for B<Circulate> events.
+Corresponds to the L<%p|Tk::bind/'p'> substitution for binding scripts.
+
+=item B<-root>I< window>
+
+I<Window> must be either a window path name or an integer window
+identifier; it specifies the I<root> field for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, and B<Motion>
+events.
+Corresponds to the L<%R|Tk::bind/'R'> substitution for binding scripts.
+
+=item B<-rootx>I< coord>
+
+I<Coord> must be a screen distance; it specifies the I<x_root>
+field for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, and B<Motion>
+events. Corresponds to the L<%X|Tk::bind/'X'> substitution for binding scripts.
+
+=item B<-rooty>I< coord>
+
+I<Coord> must be a screen distance; it specifies the I<y_root>
+field for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, and B<Motion>
+events.
+Corresponds to the L<%Y|Tk::bind/'Y'> substitution for binding scripts.
+
+=item B<-sendevent>I< boolean>
+
+B<Boolean> must be a boolean value; it specifies the I<send_event>
+field for the event. Valid for all events. Corresponds to the
+L<%E|Tk::bind/'E'> substitution for binding scripts.
+
+=item B<-serial>I< number>
+
+I<Number> must be an integer; it specifies the I<serial> field
+for the event. Valid for all events.
+Corresponds to the L<%#|Tk::bind/'#'> substitution for binding scripts.
+
+=item B<-state>I< state>
+
+I<State> specifies the I<state> field for the event.
+For B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, and B<Motion> events
+it must be an integer value.
+For B<Visibility> events it must be one of B<VisibilityUnobscured>,
+B<VisibilityPartiallyObscured>, or B<VisibilityFullyObscured>.
+This option overrides any modifiers such as B<Meta> or B<Control>
+specified in the base I<event>.
+Corresponds to the L<%s|Tk::bind/'s'> substitution for binding scripts.
+
+=item B<-subwindow>I< window>
+
+I<Window> specifies the I<subwindow> field for the event, either
+as a path name for a Tk widget or as an integer window identifier.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, and B<Motion> events.
+Similar to L<%S|Tk::bind/'S'> substitution for binding scripts.
+
+=item B<-time>I< integer>
+
+I<Integer> must be an integer value; it specifies the I<time> field
+for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Enter>, B<Leave>, B<Motion>,
+and B<Property> events.
+Corresponds to the L<%t|Tk::bind/'t'> substitution for binding scripts.
+
+
+=item B<-warp>I< boolean>
+
+I<boolean> must be a boolean value; it specifies whether
+the screen pointer should be warped as well.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, and B<Motion> events.
+
+=item B<-width>I< size>
+
+I<Size> must be a screen distance; it specifies the I<width> field
+for the event.
+Valid for B<Configure> events.
+Corresponds to the L<%w|Tk::bind/'w'> substitution for binding scripts.
+
+=item B<-when>I< when>
+
+I<When> determines when the event will be processed; it must have one
+of the following values:
+
+=over 8
+
+=item B<now>
+
+Process the event immediately, before the command returns.
+This also happens if the B<-when> option is omitted.
+
+=item B<tail>
+
+Place the event on perl/Tk's event queue behind any events already
+queued for this application.
+
+=item B<head>
+
+Place the event at the front of perl/Tk's event queue, so that it
+will be handled before any other events already queued.
+
+=item B<mark>
+
+Place the event at the front of perl/Tk's event queue but behind any
+other events already queued with B<-when mark>.
+This option is useful when generating a series of events that should
+be processed in order but at the front of the queue.
+
+=back
+
+=item B<-x>I< coord>
+
+I<Coord> must be a screen distance; it specifies the I<x> field
+for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Motion>, B<Enter>, B<Leave>,
+B<Expose>, B<Configure>, B<Gravity>, and B<Reparent>
+events.
+Corresponds to the the L<%x|Tk::bind/'x'> substitution for binding scripts.
+If I<Window> is empty the coordinate is relative to the
+screen, and this option corresponds to the L<%X|Tk::bind/'X'> substitution
+for binding scripts.
+
+=item B<-y>I< coord>
+
+I<Coord> must be a screen distance; it specifies the I<y>
+field for the event.
+Valid for B<KeyPress>, B<KeyRelease>, B<ButtonPress>,
+B<ButtonRelease>, B<Motion>, B<Enter>, B<Leave>,
+B<Expose>, B<Configure>, B<Gravity>, and B<Reparent>
+events.
+Corresponds to the the L<%y|Tk::bind/'y'> substitution for binding scripts.
+If I<Window> is empty the coordinate is relative to the
+screen, and this option corresponds to the L<%Y|Tk::bind/'Y'> substitution
+for binding scripts.
+
+Any options that are not specified when generating an event are filled
+with the value 0, except for I<serial>, which is filled with the
+next X event serial number.
+
+=back
+
+=head1 VIRTUAL EVENT EXAMPLES
+
+In order for a virtual event binding to trigger, two things must
+happen. First, the virtual event must be defined with the
+B<eventAdd> method. Second, a binding must be created for
+the virtual event with the B<bind> method.
+Consider the following virtual event definitions:
+
+ $widget->eventAdd('<<Paste>>' => '<Control-y>');
+ $widget->eventAdd('<<Paste>>' => '<Button-2>');
+ $widget->eventAdd('<<Save>>' => '<Control-X><Control-S>');
+ $widget->eventAdd('<<Save>>' => '<Shift-F12>');
+
+In the B<bind> method, a virtual event can be bound like any other
+builtin event type as follows:
+
+ $entry->bind('Tk::Entry', '<<Paste>>' => sub {
+ $entry->Insert($entry->selectionGet) });
+
+The double angle brackets are used to specify that a virtual event is being
+bound. If the user types Control-y or presses button 2, or if
+a B<E<lt>E<lt>PasteE<gt>E<gt>> virtual event is synthesized with B<eventGenerate>,
+then the B<E<lt>E<lt>PasteE<gt>E<gt>> binding will be invoked.
+
+If a virtual binding has the exact same sequence as a separate
+physical binding, then the physical binding will take precedence.
+Consider the following example:
+
+ $mw->eventAdd('<<Paste>>' => '<Control-y>','<Meta-Control-y>');
+ $mw->bind('Tk::Entry', '<Control-y>' => sub{print 'Control-y'});
+ $mw->bind('Tk::Entry', '<<Paste>>' => sub{print 'Paste'});
+
+When the user types Control-y the B<E<lt>Control-yE<gt>> binding
+will be invoked, because a physical event is considered
+more specific than a virtual event, all other things being equal.
+However, when the user types Meta-Control-y the
+B<E<lt>E<lt>PasteE<gt>E<gt>> binding will be invoked, because the
+B<Meta> modifier in the physical pattern associated with the
+virtual binding is more specific than the B<E<lt>Control-y>E<gt> sequence for
+the physical event.
+
+Bindings on a virtual event may be created before the virtual event exists.
+Indeed, the virtual event never actually needs to be defined, for instance,
+on platforms where the specific virtual event would meaningless or
+ungeneratable.
+
+When a definition of a virtual event changes at run time, all windows
+will respond immediately to the new definition.
+Starting from the preceding example, if the following code is executed:
+
+ $entry->bind(ref($entry), '<Control-y>' => undef);
+ $entry->eventAdd('<<Paste>>' => '<Key-F6>');
+
+the behavior will change such in two ways. First, the shadowed
+B<E<lt>E<lt>PasteE<gt>E<gt>> binding will emerge.
+Typing Control-y will no longer invoke the B<E<lt>Control-yE<gt>> binding,
+but instead invoke the virtual event B<E<lt>E<lt>PasteE<gt>E<gt>>. Second,
+pressing the F6 key will now also invoke the B<E<lt>E<lt>PasteE<gt>E<gt>> binding.
+
+=head1 SEE ALSO
+
+L<Tk::bind|Tk::bind>
+L<Tk::callbacks|Tk::callbacks>
+
+=head1 KEYWORDS
+
+event, binding, define, handle, virtual event
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/exit.pod b/Master/tlpkg/tlperl/lib/Tk/exit.pod
new file mode 100644
index 00000000000..bb564cd0b82
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/exit.pod
@@ -0,0 +1,42 @@
+# Copyright (c) 1993 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::exit - End the application
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+ use Tk qw(exit);
+ ...
+ B<exit>?(I<returnCode>)?;
+
+=head1 DESCRIPTION
+
+Terminate the process, returning I<returnCode> to the
+system as the exit status.
+If I<returnCode> isn't specified then it defaults
+to 0.
+
+If calling C<exit> from code invoked via a Tk callback then
+this Tk version of C<exit> cleans up more reliably than using
+the perl C<exit>.
+
+=head1 CAVEATS
+
+Using C<exit> from a forked process will terminate both the child
+process B<and> the parent process. As C<Tk::exit> is imported by
+default one should use C<CORE::exit> in the forked process instead.
+
+=head1 KEYWORDS
+
+exit, process
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/fileevent.pod b/Master/tlpkg/tlperl/lib/Tk/fileevent.pod
new file mode 100644
index 00000000000..1a98cfd6b71
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/fileevent.pod
@@ -0,0 +1,112 @@
+# Copyright (c) 1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::fileevent - Execute a callback when a filehandle becomes readable or writable
+
+=for category Binding Events and Callbacks
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<fileevent>(I<fileHandle>,B<readable>?,I<callback>?)
+
+I<$widget>-E<gt>B<fileevent>(I<fileHandle>,B<writable>?,I<callback>?)
+
+=head1 DESCRIPTION
+
+This command is used to create I<file event handlers>. A file event
+handler is a binding between a filehandle and a callback, such that the callback
+is evaluated whenever the filehandle becomes readable or writable. File event
+handlers are most commonly used to allow data to be received from another
+process on an event-driven basis, so that the receiver can continue to
+interact with the user while waiting for the data to arrive. If an
+application invokes C<E<lt>E<gt>>, C<sysread> or C<read> on a blocking filehandle when
+there is no input data available, the process will block; until the input
+data arrives, it will not be able to service other events, so it will
+appear to the user to ``freeze up''. With B<fileevent>, the process can
+tell when data is present and only invoke B<gets> or B<read> when
+they won't block.
+
+The I<fileHandle> argument to B<fileevent> refers to an open filehandle,
+such as the return value from a previous B<open> or B<socket>
+command.
+If the I<callback> argument is specified, then B<fileevent>
+creates a new event handler: I<callback> will be evaluated
+whenever the filehandle becomes readable or writable (depending on the
+argument to B<fileevent>).
+In this case B<fileevent> returns an empty string.
+The B<readable> and B<writable> event handlers for a file
+are independent, and may be created and deleted separately.
+However, there may be at most one B<readable> and one B<writable>
+handler for a file at a given time in a given interpreter.
+If B<fileevent> is called when the specified handler already
+exists in the invoking interpreter, the new callback replaces the old one.
+
+If the I<callback> argument is not specified, B<fileevent>
+returns the current callback for I<fileHandle>, or an empty string
+if there is none.
+If the I<callback> argument is specified as an empty string
+then the event handler is deleted, so that no callback will be invoked.
+A file event handler is also deleted automatically whenever
+its filehandle is closed or its interpreter is deleted.
+
+A filehandle is considered to be readable if there is unread data
+available on the underlying device.
+A filehandle is also considered to be readable if an end of file or
+error condition is present on the underlying file or device.
+It is important for I<callback> to check for these conditions
+and handle them appropriately; for example, if there is no special
+check for end of file, an infinite loop may occur where I<callback>
+reads no data, returns, and is immediately invoked again.
+
+A filehandle is considered to be writable if at least one byte of data
+can be written to the underlying file or device without blocking,
+or if an error condition is present on the underlying file or device.
+
+Event-driven I/O works best for filehandles that have been
+placed into nonblocking mode.
+In blocking mode, a C<print> command may block if you give it
+more data than the underlying file or device can accept, and a
+C<E<lt>E<gt>>, C<sysread> or C<read> command will block if you attempt to read
+more data than is ready; no events will be processed while the
+commands block.
+In nonblocking mode C<print>, C<E<lt>E<gt>>, C<sysread> and C<read> never block.
+See the documentation for the individual commands for information
+on how they handle blocking and nonblocking filehandles.
+
+The callback for a file event is executed in the context of I<$widget>
+with which B<fileevent> was invoked.
+If an error occurs while executing the callback then the
+L<Tk::Error> mechanism is used to report the error.
+In addition, the file event handler is deleted if it ever returns
+an error; this is done in order to prevent infinite loops due to
+buggy handlers.
+
+=head1 BUGS
+
+On windows platforms B<fileevent> is limited in the types of filehandles
+that behave correctly. Making filefhandles non-blocking is only implemented
+on a subset of UNIX platforms (see L<Tk::IO>).
+
+=head1 CREDITS
+
+B<fileevent> is based on the B<addinput> command created
+by Mark Diekhans.
+
+=head1 SEE ALSO
+
+L<Tk::IO|Tk::IO>
+L<Tk::callbacks|Tk::callbacks>
+
+=head1 KEYWORDS
+
+asynchronous I/O, blocking, filehandle, event handler, nonblocking, readable,
+callback, writable.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/focus.pod b/Master/tlpkg/tlperl/lib/Tk/focus.pod
new file mode 100644
index 00000000000..d7e610d5d20
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/focus.pod
@@ -0,0 +1,166 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::focus - Manage the input focus
+
+=for category User Interaction
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<focus>
+
+S< >I<$widget>-E<gt>B<focus>I<Option>
+
+S< >I<$widget>-E<gt>B<focusNext>
+
+S< >I<$widget>-E<gt>B<focusPrev>
+
+S< >I<$widget>-E<gt>B<focusFollowsMouse>
+
+=head1 DESCRIPTION
+
+The B<focus> methods are used to manage the Tk input focus.
+At any given time, one window on each display is designated as
+the I<focus window>; any key press or key release events for the
+display are sent to that window.
+It is normally up to the window manager to redirect the focus among the
+top-level windows of a display. For example, some window managers
+automatically set the input focus to a top-level window whenever
+the mouse enters it; others redirect the input focus only when
+the user clicks on a window.
+Usually the window manager will set the focus
+only to top-level windows, leaving it up to the application to
+redirect the focus among the children of the top-level.
+
+Tk remembers one focus window for each top-level (the most recent
+descendant of that top-level to receive the focus); when the window
+manager gives the focus
+to a top-level, Tk automatically redirects it to the remembered
+window. Within a top-level Tk uses an I<explicit> focus model
+by default. Moving the mouse within a top-level does not normally
+change the focus; the focus changes only when a widget
+decides explicitly to claim the focus (e.g., because of a button
+click), or when the user types a key such as Tab that moves the
+focus.
+
+The method B<focusFollowsMouse> may be invoked to
+create an I<implicit> focus model: it reconfigures Tk so that
+the focus is set to a window whenever the mouse enters it.
+The methods B<focusNext> and B<focusPrev>
+implement a focus order among the windows of a top-level; they
+are used in the default bindings for Tab and Shift-Tab, among other
+things.
+
+The B<focus> methods can take any of the following forms:
+
+=over 4
+
+=item I<$widget>-E<gt>B<focusCurrent>
+
+Returns the focus window on the display containing
+the I<$widget>, or an empty string if no window in
+this application has the focus on that display.
+
+=item I<$widget>-E<gt>B<focus>
+
+If the application currently has the input focus on I<$widget>'s
+display, this command resets the input focus for I<$widget>'s display
+to I<$widget> and returns an empty string.
+If the application doesn't currently have the input focus on
+I<$widget>'s display, I<$widget> will be remembered as the focus
+for its top-level; the next time the focus arrives at the top-level,
+Tk will redirect it to I<$widget>.
+
+=item I<$widget>-E<gt>B<focusForce>
+
+Sets the focus of I<$widget>'s display to I<$widget>, even if
+the application doesn't currently have the input focus for the display.
+This command should be used sparingly, if at all.
+In normal usage, an application should not claim the focus for
+itself; instead, it should wait for the window manager to give it
+the focus.
+
+=item I<$widget>-E<gt>B<focusLastfor>
+
+Returns the name of the most recent window to have the input focus
+among all the windows in the same top-level as I<$widget>.
+If no window in that top-level has ever had the input focus, or
+if the most recent focus window has been deleted, then
+the top-level is returned. The return value is the window that
+will receive the input focus the next time the window manager gives
+the focus to the top-level.
+
+=item I<$widget>-E<gt>B<focusNext>
+
+=item I<$widget>-E<gt>B<focusPrev>
+
+B<focusNext> is a utility method used for keyboard traversal, but can be
+useful in other contexts.
+It sets the focus to the ``next'' window after I<$widget> in focus order.
+The focus order is determined by
+the stacking order of windows and the structure of the window hierarchy.
+Among siblings, the focus order is the same as the stacking order, with the
+lowest window being first.
+If a window has children, the window is visited first, followed by
+its children (recursively), followed by its next sibling.
+Top-level windows other than I<$widget> are skipped, so that
+B<focusNext> never returns a window in a different top-level
+from I<$widget>.
+
+After computing the next window, B<focusNext> examines the
+window's B<-takefocus> option to see whether it should be skipped.
+If so, B<focusNext> continues on to the next window in the focus
+order, until it eventually finds a window that will accept the focus
+or returns back to I<$widget>.
+
+B<focusPrev> is similar to B<focusNext> except that it
+sets the focus to the window just before I<$widget> in the focus order.
+
+=item I<$widget>-E<gt>B<focusFollowsMouse>
+
+B<focusFollowsMouse> changes the focus model for the application
+to an implicit one where the window under the mouse gets the focus.
+After this procedure is called, whenever the mouse enters a window
+Tk will automatically give it the input focus.
+The B<focus> command may be used to move the focus to a window
+other than the one under the mouse, but as soon as the mouse moves
+into a new window the focus will jump to that window.
+Note: at present there is no built-in support for returning the
+application to an explicit focus model; to do this you'll have
+to write a script that deletes the bindings created by
+B<focusFollowsMouse>.
+
+=back
+
+=head1 QUIRKS
+
+When an internal window receives the input focus, Tk doesn't actually
+set the X focus to that window; as far as X is concerned, the focus
+will stay on the top-level window containing the window with the focus.
+However, Tk generates FocusIn and FocusOut events just as if the X
+focus were on the internal window. This approach gets around a
+number of problems that would occur if the X focus were actually moved;
+the fact that the X focus is on the top-level is invisible unless
+you use C code to query the X server directly.
+
+=head1 CAVEATS
+
+Note that for the B<Canvas> widget, the call to B<focus> has to be
+fully qualified. This is because there is already a focus method for
+the B<Canvas> widget, which sets the focus on individual canvas tags.
+
+S< >I<$canvas>-E<gt>B<Tk::focus>
+
+
+=head1 KEYWORDS
+
+events, focus, keyboard, top-level, window manager
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/form.pod b/Master/tlpkg/tlperl/lib/Tk/form.pod
new file mode 100644
index 00000000000..64208c8e26e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/form.pod
@@ -0,0 +1,397 @@
+# Copyright (c) 1996, Expert Interface Technologies
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# The file man.macros and some of the macros used by this file are
+# copyrighted: (c) 1990 The Regents of the University of California.
+# (c) 1994-1995 Sun Microsystems, Inc.
+# The license terms of the Tcl/Tk distribution are in the file
+# license.tcl.
+
+=head1 NAME
+
+Tk::form - Geometry manager based on attachment rules
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+S< >I<$widget>->B<form>?(I<args>)?
+
+S< >I<$widget>->B<form>I<Option>?(I<args>)?
+
+=head1 DESCRIPTION
+
+The B<form> method is used to communicate with the
+B<form> Geometry Manager, a geometry manager that arranges the
+geometry of the children in a parent window according to attachment
+rules. The B<form> geometry manager is very flexible and
+powerful; it can be used to emulate all the existing features of the
+Tk packer and placer geometry managers (see L<pack|Tk::pack>,
+L<place|Tk::place>).
+The B<form> method can have any of several forms,
+depending on I<Option>:
+
+=over 4
+
+=item I<$slave>->B<form>?(I<options>)?
+
+Sets or adjusts the attachment values of the slave window
+according to the I<-option>=>I<value> argument pairs.
+
+=over 8
+
+=item B<-b> => I<attachment>
+
+Abbreviation for the B<-bottom> option.
+
+=item B<-bottom> => I<attachment>
+
+Specifies an attachment for the bottom edge of the slave window. The
+attachment must specified according to L<"SPECIFYING ATTACHMENTS"> below.
+
+=item B<-bottomspring> => I<weight>
+
+Specifies the weight of the spring at the bottom edge of the slave
+window. See L<"USING SPRINGS"> below.
+
+=item B<-bp> => I<value>
+
+Abbreviation for the B<-padbottom> option.
+
+=item B<-bs> => I<weight>
+
+Abbreviation for the B<-bottomspring> option.
+
+=item B<-fill> => I<style>
+
+Specifies the fillings when springs are used for this widget. The
+value must be B<x>, B<y>, B<both> or B<none>.
+
+=item B<-in> => I<$master>
+
+Places the slave window into the specified I<$master> window. If the slave
+was originally in another master window, all attachment values with
+respect to the original master window are discarded. Even if the
+attachment values are the same as in the original master window, they
+need to be specified again. The B<-in> flag, when needed, must appear
+as the first flag of I<options>. Otherwise an error is
+generated.
+
+=item B<-l> => I<attachment>
+
+Abbreviation for the B<-left> option.
+
+=item B<-left> => I<attachment>
+
+Specifies an attachment for the left edge of the slave window. The
+attachment must specified according to L<"SPECIFYING ATTACHMENTS"> below.
+
+=item B<-leftspring> => I<weight>
+
+Specifies the weight of the spring at the left edge of the slave
+window. See L<"USING SPRINGS"> below.
+
+=item B<-lp> => I<value>
+
+Abbreviation for the B<-padleft> option.
+
+=item B<-ls> => I<weight>
+
+Abbreviation for the B<-leftspring> option.
+
+=item B<-padbottom> => I<value>
+
+Specifies the amount of external padding to leave on the bottom side
+of the slave. The I<value> may have any of the forms acceptable to
+B<Tk_GetPixels>.
+
+=item B<-padleft> => I<value>
+
+Specifies the amount of external padding to leave on the left side of
+the slave.
+
+=item B<-padright> => I<value>
+
+Specifies the amount of external padding to leave on the right side of
+the slave.
+
+=item B<-padtop> => I<value>
+
+Specifies the amount of external padding to leave on the top side of
+the slave.
+
+=item B<-padx> => I<value>
+
+Specifies the amount of external padding to leave on both the left and
+the right sides of the slave.
+
+=item B<-pady> => I<value>
+
+Specifies the amount of external padding to leave on both the top and
+the bottom sides of the slave.
+
+=item B<-r> => I<attachment>
+
+Abbreviation for the B<-right> option.
+
+=item B<-right> => I<attachment>
+
+Specifies an attachment for the right edge of the slave window. The
+attachment must specified according to L<"SPECIFYING ATTACHMENTS"> below.
+
+=item B<-rightspring> => I<weight>
+
+Specifies the weight of the spring at the right edge of the slave
+window. See L<"USING SPRINGS"> below.
+
+=item B<-rp> => I<value>
+
+Abbreviation for the B<-padright> option.
+
+=item B<-rs> => I<weight>
+
+Abbreviation for the B<-rightspring> option.
+
+=item B<-t> => I<attachment>
+
+Abbreviation for the B<-top> option.
+
+=item B<-top> => I<attachment>
+
+Specifies an attachment for the top edge of the slave window. The
+attachment must specified according to L<"SPECIFYING ATTACHMENTS"> below.
+
+=item B<-topspring> => I<weight>
+
+Specifies the weight of the spring at the top edge of the slave
+window. See L<"USING SPRINGS"> below.
+
+=item B<-tp> => I<value>
+
+Abbreviation for the B<-padtop> option.
+
+=item B<-ts> => I<weight>
+
+Abbreviation for the B<-topspring> option.
+
+=back
+
+=item I<$master>->B<formCheck>
+
+This method checks whether there is circular dependency in the
+attachments of the master's slaves (see L<"CIRCULAR DEPENDENCY"> below).
+It returns the Boolean value B<TRUE> if it
+discover circular dependency and B<FALSE> otherwise.
+
+=item I<$slave>->B<formForget>
+
+Removes the slave from its master and unmaps its window.
+The slave will no longer be managed by form. All attachment values
+with respect to its master window are discarded. If another slave
+is attached to this slave, then the attachment of the other slave will
+be changed to grid attachment based on its geometry.
+
+=item I<$master>->B<formGrid>?(I<x_size, y_size>)?
+
+When I<x_size> and I<y_size> are given, this method returns the
+number of grids of the I<$master> window in a pair of integers of the form
+(I<x_size, y_size>). When both I<x_size> and I<y_size> are
+given, this method changes the number of horizontal and vertical
+grids on the master window.
+
+=item I<$slave>->B<formInfo>?(I<-option)>?
+
+Queries the attachment options of a slave window. I<-option> can be
+any of the options accepted by the B<form> method. If
+I<-option> is given, only the value of that option is returned.
+Otherwise, this method returns a list whose elements are the current
+configuration state of the slave given in the same I<option-value> form
+that might be specified to B<form>. The first two
+elements in this list list are "B<-in>=>I<$master>" where
+I<$master> is the slave's master window.
+
+=item I<$master>->B<formSlaves>
+
+Returns a list of all of the slaves for the master window. The order
+of the slaves in the list is the same as their order in the packing
+order. If master has no slaves then an empty string is returned.
+
+=back
+
+=head1 SPECIFYING ATTACHMENTS
+
+One can specify an attachment for each side of a slave window managed
+by form. An attachment is specified in the the form "-I<side> =>
+[I<anchor_point>, I<offset>]". -I<side> can be one of
+B<-top>, B<-bottom>, B<-left> or B<-right>.
+
+I<Offset> is given in screen units (i.e. any of the forms
+acceptable to B<Tk_GetPixels>). A positive offset indicates
+shifting to a position to the right or bottom of an anchor point. A
+negative offset indicates shifting to a position to the left or top of
+an anchor point.
+
+I<Anchor_point> can be given in one of the
+following forms:
+
+=over 4
+
+=item B<Grid Attachment>
+
+The master window is divided into a number of horizontal and vertical
+grids. By default the master window is divided into 100x100 grids; the
+number of grids can be adjusted by the B<formGrid> method. A
+grid attachment anchor point is given by a B<%> sign followed by an
+integer value. For example, B<'%0'> specifies the first grid
+line (the top or left edge of the master window). B<'%100'> specifies
+the last grid line (the bottom or right edge of the master window).
+
+=item B<Opposite Side Attachment>
+
+Opposite attachment specifies an anchor point located on the
+B<opposite> side of another slave widget, which must be managed by
+form in the same master window. An opposite attachment anchor point
+is given by the name of another widget. For example,
+"I<$b>->B<form>(B<-top>=>[I<$a>,0])" attaches the top side of the widget I<$b> to the
+bottom of the widget I<$a>.
+
+=item B<Parallel Side Attachment>
+
+Opposite attachment specifies an anchor point located on the
+B<same> side of another slave widget, which must be managed by
+form in the same master window. An parallel attachment anchor point
+is given by the sign B<E<amp>> follwed by the name of another widget.
+For example, "I<$b>->B<form>(B<-top>=>['&',I<$a>,0])" attaches the top side of
+the widget I<$b> to the top of the widget I<$a>, making
+the top sides of these two widgets at the same vertical position
+in their parent window.
+
+=item B<No Attachment>
+
+Specifies a side of the slave to be attached to nothing, indicated by
+the keyword B<none>. When the B<none> anchor point is given, the
+offset must be zero (or not present).
+When a side of a slave is attached to B<['none', 0]>, the position
+of this side is calculated by the position of the other side and the
+natural size of the slave. For example, if a the left side of a
+widget is attached to B<['%0', 100]>, its right side attached to
+B<['none', 0]>, and the natural size of the widget is B<50> pixels,
+the right side of the widget will be positioned at pixel
+B<['%0', 149]>.
+When both B<-top> and B<-bottom> are attached to B<none>,
+then by default B<-top> will be attached to B<['%0', 0]>. When both
+B<-left> and B<-right> are attached to none, then by default
+B<-left> will be attached to B<['%0', 0]>.
+
+=back
+
+Shifting effects can be achieved by specifying a non-zero offset with
+an anchor point. In the following example, the top side of
+widget I<\$b> is attached to the bottom of
+I<\$a>; hence I<\$b>
+always appears below I<\$a>. Also, the left edge of I<\$b>
+is attached to the left side of I<\$a> with a 10
+pixel offest. Therefore, the left edge of I<\$b> is always
+shifted 10 pixels to the right of I<\$a>'s left edge:
+
+S< >I<$b>->B<form>(B<-left>=>[I<$a>,10], B<-top>=>[I<$a>,0]);
+
+=head2 ABBREVIATIONS:
+
+Certain abbreviations can be made on the
+attachment specifications: First an offset of zero can be omitted.
+Thus, the following two lines are equivalent:
+
+S< >I<$b>->B<form>(B<-top>=>[I<$a>,0], B<-right>=>['%100',0]);
+
+S< >I<$b>->B<form>(B<-top>=>[I<$a>], B<-right>=>'%100');
+
+In the second case, when the anchor point is omitted, the offset must
+be given. A default anchor point is chosen according to the value of
+the offset. If the anchor point is B<0> or positive, the default
+anchor point %0 is used; thus, "I<$b>->B<form>(B<-top>=>15)" attaches the top
+edge of I<$b> to a position 15 pixels below the top edge of the
+master window. If the anchor point is "B<-0>" or negative, the
+default anchor point B<%100> is used; thus, "I<$a>->B<form>(B<-right>=>-2)"
+attaches the right edge of I<\$a> to a position 2 pixels to
+the left of the master window's right edge. An further example
+below shows a method with its equivalent abbreviation.
+
+S< >I<$b>->B<form>(B<-top>=>['%0',10], B<-bottom>=>['%100',0]);
+
+S< >I<$b>->B<form>(B<-top>=>10, B<-bottom>=>-0);
+
+=head1 USING SPRINGS
+
+To be written.
+
+=head1 ALGORITHM OF FORM
+
+B<form> starts with any slave in the list of slaves of the master
+window. Then it tries to determine the position of each side of the
+slave.
+
+If the attachment of a side of the slave is grid attachment, the
+position of the side is readily determined.
+
+If the attachment of this side is B<none>, then form tries to
+determine the position of the opposite side first, and then use the
+position of the opposite side and the natural size of the slave to
+determine the position of this side.
+
+If the attachment is opposite or parallel widget attachments, then
+form tries to determine the positions of the other widget first,
+and then use the positions of the other widget and the natural size of
+the slave determine the position of this side. This recursive
+algorithmis carried on until the positions of all slaves are
+determined.
+
+=head1 CIRCULAR DEPENDENCY
+
+The algorithm of form will fail if a circular dependency exists in
+the attachments of the slaves. For example:
+
+S< >I<$c>->B<form>(B<-left>=>I<$b>);
+
+S< >I<$b>->B<form>(B<-right>=>I<$c>);
+
+In this example, the position of the left side of I<$b> depends on
+the right side of I<$c>, which in turn depends on the left side of I<$b>.
+
+When a circular dependency is discovered during the execution of the
+form algorithm, form will generate a background error and the
+geometry of the slaves are undefined (and will be arbitrary). Notice
+that form only executes the algorithm when the specification of the
+slaves' attachments is complete. Therefore, it allows intermediate
+states of circular dependency during the specification of the slaves'
+attachments. Also, unlike the Motif Form manager widget, form
+defines circular dependency as
+``I<dependency in the same dimension>''.
+Therefore, the following code fragment will does not
+have circular dependency because the two widgets do not depend on each
+other in the same dimension (I<$b> depends I<$c> in the
+horizontal dimension and I<$c> depends on I<$b> in the vertical
+dimension):
+
+S< >I<$b>->B<form>(B<-left>=>I<$c>);
+
+S< >I<$c>->B<form>(B<-top>=>I<$b>);
+
+=head1 BUGS
+
+Springs have not been fully implemented yet.
+
+=head1 SEE ALSO
+
+L<Tk::grid|Tk::grid>
+L<Tk::pack|Tk::pack>
+L<Tk::place|Tk::place>
+
+=head1 KEYWORDS
+
+geometry manager, form, attachment, spring, propagation, size, pack,
+tix, master, slave
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/getOpenFile.pod b/Master/tlpkg/tlperl/lib/Tk/getOpenFile.pod
new file mode 100644
index 00000000000..828634bdf34
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/getOpenFile.pod
@@ -0,0 +1,182 @@
+# Copyright (c) 1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+
+=head1 NAME
+
+Tk::getOpenFile, Tk::getSaveFile - pop up a dialog box for the user to select a file to open or save.
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<getOpenFile>(?I<-option>=E<gt>value, ...>?)
+
+S< >I<$widget>-E<gt>B<getSaveFile>(?I<-option>=E<gt>value, ...>?)
+
+=head1 DESCRIPTION
+
+The methods B<getOpenFile> and B<getSaveFile> pop up a
+dialog box for the user to select a file to open or save.
+
+The B<getOpenFile> method is usually associated with the B<Open>
+command in the B<File> menu. Its purpose is for the user to select an
+existing file I<only>. If the user enters an non-existent file, the
+dialog box gives the user an error prompt and requires the user to give
+an alternative selection. If an application allows the user to create
+new files, it should do so by providing a separate B<New> menu command.
+
+The B<getSaveFile> method is usually associated with the B<Save>
+as command in the B<File> menu. If the user enters a file that
+already exists, the dialog box prompts the user for confirmation
+whether the existing file should be overwritten or not.
+
+If the user selects a file, both B<getOpenFile> and
+B<getSaveFile> return the full pathname of this file. If the
+user cancels the operation, both commands return an undefined value.
+
+The following I<option-value> pairs are possible as command line
+arguments to these two commands:
+
+=over 4
+
+=item B<-defaultextension> =E<gt> I<extension>
+
+Specifies a string that will be appended to the filename if the user
+enters a filename without an extension. The default value is the empty
+string, which means no extension will be appended to the filename in
+any case. This option is ignored on the Macintosh platform, which
+does not require extensions to filenames, and the UNIX implementation
+guesses reasonable values for this from the B<-filetypes>
+option when this is not supplied.
+
+=item B<-filetypes> =E<gt> [I<filePattern> ?, ...?]
+
+If a B<File types> listbox exists in the file dialog on the particular
+platform, this option gives the I<filetype>s in this listbox. When
+the user choose a filetype in the listbox, only the files of that type
+are listed. If this option is unspecified, or if it is set to the
+empty list, or if the B<File types> listbox is not supported by the
+particular platform then all files are listed regardless of their
+types. See L<"SPECIFYING FILE PATTERNS"> below for a
+discussion on the contents of I<filePattern>s.
+
+=item B<-initialdir> =E<gt> I<directory>
+
+Specifies that the files in I<directory> should be displayed
+when the dialog pops up. If this parameter is not specified, then
+the files in the current working directory are displayed. This
+option may not always work on the Macintosh. This is not a bug.
+Rather, the I<General Controls> control panel on the Mac allows the
+end user to override the application default directory.
+
+=item B<-initialfile> =E<gt> I<filename>
+
+Specifies a filename to be displayed in the dialog when it pops
+up. This option is ignored by the B<getOpenFile> method.
+
+=item B<-multiple>
+
+Allows the user to choose multiple files from the Open dialog. On the
+Macintosh, this is only available when Navigation Services are
+installed.
+
+=item B<-message> =E<gt> I<string>
+
+Specifies a message to include in the client area of the dialog. This
+is only available on the Macintosh, and only when Navigation Services
+are installed.
+
+=item B<-title> =E<gt> I<titleString>
+
+Specifies a string to display as the title of the dialog box. If this
+option is not specified, then a default title is displayed. This
+option is ignored on the Macintosh platform.
+
+=back
+
+=head1 SPECIFYING FILE PATTERNS
+
+The I<filePattern>s given by the B<-filetypes> option
+are a list of file patterns. Each file pattern is a list of the
+form
+
+ typeName [extension ?extension ...?] ?[macType ?macType ...?]?
+
+I<typeName> is the name of the file type described by this
+file pattern and is the text string that appears in the B<File types>
+listbox. I<extension> is a file extension for this file pattern.
+I<macType> is a four-character Macintosh file type. The list of
+I<macType>s is optional and may be omitted for applications that do
+not need to execute on the Macintosh platform.
+
+Several file patterns may have the same I<typeName,> in which case
+they refer to the same file type and share the same entry in the
+listbox. When the user selects an entry in the listbox, all the files
+that match at least one of the file patterns corresponding
+to that entry are listed. Usually, each file pattern corresponds to a
+distinct type of file. The use of more than one file patterns for one
+type of file is necessary on the Macintosh platform only.
+
+On the Macintosh platform, a file matches a file pattern if its
+name matches at least one of the I<extension>(s) AND it
+belongs to at least one of the I<macType>(s) of the
+file pattern. For example, the B<C Source Files> file pattern in the
+sample code matches with files that have a B<\.c> extension AND
+belong to the I<macType> B<TEXT>. To use the OR rule instead,
+you can use two file patterns, one with the I<extensions> only and
+the other with the I<macType> only. The B<GIF Files> file type
+in the sample code matches files that EITHER have a B<\.gif>
+extension OR belong to the I<macType> B<GIFF>.
+
+On the Unix and Windows platforms, a file matches a file pattern
+if its name matches at at least one of the I<extension>(s) of
+the file pattern. The I<macType>s are ignored.
+
+=head1 SPECIFYING EXTENSIONS
+
+On the Unix and Macintosh platforms, extensions are matched using
+glob-style pattern matching. On the Windows platforms, extensions are
+matched by the underlying operating system. The types of possible
+extensions are: (1) the special extension * matches any
+file; (2) the special extension "" matches any files that
+do not have an extension (i.e., the filename contains no full stop
+character); (3) any character string that does not contain any wild
+card characters (* and ?).
+
+Due to the different pattern matching rules on the various platforms,
+to ensure portability, wild card characters are not allowed in the
+extensions, except as in the special extension *. Extensions
+without a full stop character (e.g, ~) are allowed but may not
+work on all platforms.
+
+=head1 CAVEATS
+
+See L<Tk::chooseDirectory/CAVEATS>.
+
+=head1 EXAMPLE
+
+ my $types = [
+ ['Text Files', ['.txt', '.text']],
+ ['TCL Scripts', '.tcl' ],
+ ['C Source Files', '.c', 'TEXT'],
+ ['GIF Files', '.gif', ],
+ ['GIF Files', '', 'GIFF'],
+ ['All Files', '*', ],
+ ];
+ my $filename = $widget->getOpenFile(-filetypes=>$types);
+
+ if ($filename ne "") {
+ # Open the file ...
+ }
+
+=head1 SEE ALSO
+
+L<Tk::FBox|Tk::FBox>, L<Tk::FileSelect|Tk::FileSelect>
+
+=head1 KEYWORDS
+
+file selection dialog
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/grab.pod b/Master/tlpkg/tlperl/lib/Tk/grab.pod
new file mode 100644
index 00000000000..d74ee7da502
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/grab.pod
@@ -0,0 +1,140 @@
+# Copyright (c) 1992 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::grab - Confine pointer and keyboard events to a window sub-tree
+
+=for category User Interaction
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<grab>
+
+I<$widget>-E<gt>B<grab>I<Option>
+
+=head1 DESCRIPTION
+
+This set of methods implement simple pointer and keyboard grabs for Tk.
+Tk's grabs are different than the grabs
+described in the Xlib documentation.
+When a grab is set for a particular window, Tk restricts all pointer
+events to the grab window and its descendants in Tk's window hierarchy.
+Whenever the pointer is within the grab window's subtree, the pointer
+will behave exactly the same as if there had been no grab at all
+and all events will be reported in the normal fashion.
+When the pointer is outside I<$widget>'s tree, button presses and
+releases and
+mouse motion events are reported to I<$widget>, and window entry
+and window exit events are ignored.
+The grab subtree ``owns'' the pointer:
+windows outside the grab subtree will be visible on the screen
+but they will be insensitive until the grab is released.
+The tree of windows underneath the grab window can include top-level
+windows, in which case all of those top-level windows
+and their descendants will continue to receive mouse events
+during the grab.
+
+Two forms of grabs are possible: local and global.
+A local grab affects only the grabbing application: events will
+be reported to other applications as if the grab had never occurred.
+Grabs are local by default.
+A global grab locks out all applications on the screen,
+so that only the given subtree of the grabbing application will be
+sensitive to pointer events (mouse button presses, mouse button releases,
+pointer motions, window entries, and window exits).
+During global grabs the window manager will not receive pointer
+events either.
+
+During local grabs, keyboard events (key presses and key releases)
+are delivered as usual: the window
+manager controls which application receives keyboard events, and
+if they are sent to any window in the grabbing application then they are
+redirected to the focus window.
+During a global grab Tk grabs the keyboard so that all keyboard events
+are always sent to the grabbing application.
+The B<focus> method is still used to determine which window in the
+application receives the keyboard events.
+The keyboard grab is released when the grab is released.
+
+Grabs apply to particular displays. If an application has windows
+on multiple displays then it can establish a separate grab on each
+display.
+The grab on a particular display affects only the windows on
+that display.
+It is possible for different applications on a single display to have
+simultaneous local grabs, but only one application can have a global
+grab on a given display at once.
+
+The B<grab> methods take any of the following forms:
+
+=over 4
+
+=item I<$widget>-E<gt>B<grabCurrent>
+
+Returns the current grab
+window in this application for I<$widget>'s display, or an empty
+string if there is no such window.
+
+=item I<$widget>-E<gt>B<grabs>
+
+Returns a list whose elements
+are all of the windows grabbed by this application for all displays,
+or an empty string if the application has no grabs.
+
+I<Not implemented yet!>
+
+=item I<$widget>-E<gt>B<grabRelease>
+
+Releases the grab on I<$widget> if there is one, otherwise does
+nothing. Returns an empty string.
+
+=item I<$widget>-E<gt>B<grab>
+
+Sets a local grab on I<$widget>.
+If a grab was already in effect for this application on
+I<$widget>'s display then it is automatically released.
+If there is already a local grab on I<$widget>, then the command
+does nothing. Returns an empty string.
+
+=item I<$widget>-E<gt>B<grabGlobal>
+
+Sets a global grab on I<$widget>.
+If a grab was already in effect for this application on
+I<$widget>'s display then it is automatically released.
+If there is already a global grab on I<$widget>,
+then the command does nothing. Returns an empty string.
+
+=item I<$widget>-E<gt>B<grabStatus>
+
+Returns B<none> if no grab is currently set on I<$widget>,
+B<local> if a local grab is set on I<$widget>, and
+B<global> if a global grab is set.
+
+=back
+
+=head1 BUGS
+
+It took an incredibly complex and gross implementation to produce
+the simple grab effect described above.
+Given the current implementation, it isn't safe for applications
+to use the Xlib grab facilities at all except through the Tk grab
+procedures.
+If applications try to manipulate X's grab mechanisms directly,
+things will probably break.
+
+If a single process is managing several different Tk applications,
+only one of those applications can have a local grab for a given
+display at any given time. If the applications are in different
+processes, this restriction doesn't exist.
+
+=head1 KEYWORDS
+
+grab, keyboard events, pointer events, window
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/grid.pod b/Master/tlpkg/tlperl/lib/Tk/grid.pod
new file mode 100644
index 00000000000..8db89587a62
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/grid.pod
@@ -0,0 +1,409 @@
+# Copyright (c) 1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::grid - Geometry manager that arranges widgets in a grid
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<grid>?(?I<widget> ...,? ?I<arg> ?...>?)?
+
+S< >I<$widget>-E<gt>B<grid>I<Option>?(I<arg> ?,I<arg> ...?)?
+
+=head1 DESCRIPTION
+
+The B<grid> method is used to communicate with the grid
+geometry manager that arranges widgets in rows and columns inside
+of another window, called the geometry master (or master window).
+The B<grid> method can have any of several forms, depending
+on the I<option> argument:
+
+=over 4
+
+=item I<$slave>-E<gt>B<grid>(?I<$slave, ...>??, I<options>?)
+
+The arguments consist of the optional references to more slave windows
+followed by pairs of arguments that specify how to manage the slaves.
+The characters B<->, B<x> and B<^>,
+can be specified instead of a window reference to alter the default
+location of a I<$slave>, as described in L<"RELATIVE PLACEMENT">, below.
+
+If any of the slaves are already managed by the geometry manager
+then any unspecified options for them retain their previous values rather
+than receiving default values.
+
+The following options are supported:
+
+=over 8
+
+=item B<-column> => I<n>
+
+Insert the I<$slave> so that it occupies the I<n>th column in the grid.
+Column numbers start with 0. If this option is not supplied, then the
+I<$slave> is arranged just to the right of previous slave specified on this
+call to B<grid>, or column "0" if it is the first slave. For each
+B<x> that immediately precedes the I<$slave>, the column position
+is incremented by one. Thus the B<x> represents a blank column
+for this row in the grid.
+
+=item B<-columnspan> => I<n>
+
+Insert the slave so that it occupies I<n> columns in the grid.
+The default is one column, unless the window name is followed by a
+B<->, in which case the columnspan is incremented once for each immediately
+following B<->.
+
+=item B<-in> => I<$other>
+
+Insert the slave(s) in the master
+window given by I<$other>. The default is the first slave's
+parent window.
+
+=item B<-ipadx> => I<amount>
+
+The I<amount> specifies how much horizontal internal padding to
+leave on each side of the slave(s). This is space is added
+inside the slave(s) border.
+The I<amount> must be a valid screen distance, such as B<2> or B<'.5c'>.
+It defaults to 0.
+
+=item B<-ipady> => I<amount>
+
+The I<amount> specifies how much vertical internal padding to
+leave on on the top and bottom of the slave(s).
+This space is added inside the slave(s) border.
+The I<amount> defaults to 0.
+
+=item B<-padx> => I<amount>
+
+The I<amount> specifies how much horizontal external padding to
+leave on each side of the slave(s), in screen units.
+The I<amount> defaults to 0.
+This space is added outside the slave(s) border.
+
+=item B<-pady> => I<amount>
+
+The I<amount> specifies how much vertical external padding to
+leave on the top and bottom of the slave(s), in screen units.
+The I<amount> defaults to 0.
+This space is added outside the slave(s) border.
+
+=item B<-row> => I<n>
+
+Insert the slave so that it occupies the I<n>th row in the grid.
+Row numbers start with 0. If this option is not supplied, then the
+slave is arranged on the same row as the previous slave specified on this
+call to B<grid>, or the first unoccupied row if this is the first slave.
+
+=item B<-rowspan> => I<n>
+
+Insert the slave so that it occupies I<n> rows in the grid.
+The default is one row. If the next B<grid> method contains
+B<^> characters instead of I<$slave>s that line up with the columns
+of this I<$slave>, then the B<rowspan> of this I<$slave> is
+extended by one.
+
+=item B<-sticky> => I<style>
+
+If a slave's cell is larger than its requested dimensions, this
+option may be used to position (or stretch) the slave within its cell.
+I<Style> is a string that contains zero or more of the characters
+B<n>, B<s>, B<e> or B<w>.
+The string can optionally contain spaces or
+commas, but they are ignored. Each letter refers to a side (north, south,
+east, or west) that the slave will "stick" to. If both B<n> and B<s> (or
+B<e> and B<w>) are specified, the slave will be stretched to fill the entire
+height (or width) of its cavity. The B<sticky> option subsumes the
+combination of B<-anchor> and B<-fill> that is used by L<pack|Tk::pack>.
+The default is B<''>, which causes the slave to be centered in its cavity,
+at its requested size.
+
+=back
+
+=item I<$master>-E<gt>B<gridBbox>(?I<column, row>,? ?I<column2, row2>?)
+
+With no arguments,
+the bounding box (in pixels) of the grid is returned.
+The return value consists of 4 integers. The first two are the pixel
+offset from the master window (x then y) of the top-left corner of the
+grid, and the second two integers are the width and height of the grid,
+also in pixels. If a single I<column> and I<row> is specified on
+the command line, then the bounding box for that cell is returned, where the
+top left cell is numbered from zero. If both I<column> and I<row>
+arguments are specified, then the bounding box spanning the rows and columns
+indicated is returned.
+
+=item I<$master>-E<gt>B<gridColumnconfigure>(I<index>?, I<-option>=>I<value, ...>?)
+
+Query or set the column properties of the I<index> column of the
+geometry master, I<$master>.
+The valid options are B<-minsize>, B<-weight> and B<-pad>.
+If one or more options are provided, then I<index> may be given as
+a list of column indices to which the configuration options will operate on.
+The B<-minsize> option sets the minimum size, in screen units,
+that will be permitted for this column.
+The B<-weight> option (an integer value)
+sets the relative weight for apportioning
+any extra spaces among
+columns.
+A weight of zero (0) indicates the column will not deviate from its requested
+size. A column whose weight is two will grow at twice the rate as a column
+of weight one when extra space is allocated to the layout.
+The B<-uniform> option, when a
+non-empty value is supplied, places the column in a I<uniform
+group> with other columns that have the same value for B<-uniform>.
+The space for columns belonging to a uniform group is allocated
+so that their sizes are always in strict proportion to their
+B<-weight> values. See I<THE GRID ALGORITHM> below for further
+details.
+The B<-pad> option specifies the number of screen units that will be
+added to the largest window contained completely in that column when the
+grid geometry manager requests a size from the containing window.
+If only an option is specified, with no value,
+the current value of that option is returned.
+If only the master window and index is specified, all the current settings
+are returned in an list of "-option value" pairs.
+
+=item I<$slave>-E<gt>B<gridConfigure>(?I<$slave, ...>?, I<options>?)
+
+The same as B<grid> method.
+
+=item I<$slave>-E<gt>B<gridForget>?(I<$slave, ...>)?
+
+Removes each of the I<$slave>s from grid for its
+master and unmaps their windows.
+The slaves will no longer be managed by the grid geometry manager.
+The configuration options for that window are forgotten, so that if the
+slave is managed once more by the grid geometry manager, the initial
+default settings are used.
+
+=item I<$slave>-E<gt>B<gridInfo>
+
+Returns a list whose elements are the current configuration state of
+the slave given by I<$slave> in the same option-value form that
+might be specified to B<gridConfigure>.
+The first two elements of the list are ``B<-in>=>I<$master>'' where
+I<$master> is the slave's master.
+
+=item I<$master>-E<gt>B<gridLocation>(I<x, y>)
+
+Given I<x> and I<y> values in screen units relative to the master window,
+the column and row number at that I<x> and I<y> location is returned.
+For locations that are above or to the left of the grid, B<-1> is returned.
+
+=item I<$master>-E<gt>B<gridPropagate>?(I<boolean>)?
+
+If I<boolean> has a true boolean value such as B<1> or B<on>
+then propagation is enabled for I<$master>, which must be a window
+name (see L<"GEOMETRY PROPAGATION"> below).
+If I<boolean> has a false boolean value then propagation is
+disabled for I<$master>.
+In either of these cases an empty string is returned.
+If I<boolean> is omitted then the method returns B<0> or
+B<1> to indicate whether propagation is currently enabled
+for I<$master>.
+Propagation is enabled by default.
+
+=item I<$master>-E<gt>B<gridRowconfigure>(I<index>?, I<-option>=>I<value, ...>?)
+
+Query or set the row properties of the I<index> row of the
+geometry master, I<$master>.
+The valid options are B<-minsize>, B<-weight> and B<-pad>.
+If one or more options are provided, then I<index> may be given as
+a list of row indeces to which the configuration options will operate on.
+The B<-minsize> option sets the minimum size, in screen units,
+that will be permitted for this row.
+The B<-weight> option (an integer value)
+sets the relative weight for apportioning
+any extra spaces among
+rows.
+A weight of zero (0) indicates the row will not deviate from its requested
+size. A row whose weight is two will grow at twice the rate as a row
+of weight one when extra space is allocated to the layout.
+The B<-uniform> option, when a non-empty value is supplied, places the
+row in a I<uniform group> with other rows that have the same value
+for B<-uniform>. The space for rows belonging to a uniform group
+is allocated so that their sizes are always in strict proportion
+to their B<-weight> values. See I<THE GRID ALGORITHM> below for
+further details.
+The B<-pad> option specifies the number of screen units that will be
+added to the largest window contained completely in that row when the
+grid geometry manager requests a size from the containing window.
+If only an option is specified, with no value,
+the current value of that option is returned.
+If only the master window and index is specified, all the current settings
+are returned in an list of "option-value" pairs.
+
+=item I<$slave>-E<gt>B<gridRemove>?(I<$slave, ...>)?
+
+Removes each of the I<$slave>s from grid for its
+master and unmaps their windows.
+The slaves will no longer be managed by the grid geometry manager.
+However, the configuration options for that window are remembered,
+so that if the
+slave is managed once more by the grid geometry manager, the previous
+values are retained.
+
+=item I<$master>-E<gt>B<gridSize>
+
+Returns the size of the grid (in columns then rows) for I<$master>.
+The size is determined either by the I<$slave> occupying the largest
+row or column, or the largest column or row with a B<-minsize>,
+B<-weight>, or B<-pad> that is non-zero.
+
+=item I<$master>-E<gt>B<gridSlaves>?(I<-option>=>I<value>)?
+
+If no options are supplied, a list of all of the slaves in I<$master>
+are returned, most recently manages first.
+I<-option> can be either B<-row> or B<-column> which
+causes only the slaves in the row (or column) specified by I<value>
+to be returned.
+
+=back
+
+=head1 RELATIVE PLACEMENT
+
+The B<grid> method contains a limited set of capabilities that
+permit layouts to be created without specifying the row and column
+information for each slave. This permits slaves to be rearranged,
+added, or removed without the need to explicitly specify row and
+column information.
+When no column or row information is specified for a I<$slave>,
+default values are chosen for
+B<-column>, B<-row>, B<-columnspan> and B<-rowspan>
+at the time the I<$slave> is managed. The values are chosen
+based upon the current layout of the grid, the position of the I<$slave>
+relative to other I<$slave>s in the same grid method, and the presence
+of the characters B<->, B<^>, and B<^> in B<grid>
+method where I<$slave> names are normally expected.
+
+=over 4
+
+=item B<->
+
+This increases the columnspan of the I<$slave> to the left. Several
+B<->'s in a row will successively increase the columnspan. A B<->
+may not follow a B<^> or a B<x>.
+
+=item B<x>
+
+This leaves an empty column between the I<$slave> on the left and
+the I<$slave> on the right.
+
+=item B<^>
+
+This extends the B<-rowspan> of the I<$slave> above the B<^>'s
+in the grid. The number of B<^>'s in a row must match the number of
+columns spanned by the I<$slave> above it.
+
+=back
+
+=head1 THE GRID ALGORITHM
+
+The grid geometry manager lays out its slaves in three steps.
+In the first step, the minimum size needed to fit all of the slaves
+is computed, then (if propagation is turned on), a request is made
+of the master window to become that size.
+In the second step, the requested size is compared against the actual size
+of the master. If the sizes are different, then space is added to or taken
+away from the layout as needed.
+For the final step, each slave is positioned in its row(s) and column(s)
+based on the setting of its I<sticky> flag.
+
+To compute the minimum size of a layout, the grid geometry manager
+first looks at all slaves whose columnspan and rowspan values are one,
+and computes the nominal size of each row or column to be either the
+I<minsize> for that row or column, or the sum of the I<pad>ding
+plus the size of the largest slave, whichever is greater. Then the
+slaves whose rowspans or columnspans are greater than one are
+examined. If a group of rows or columns need to be increased in size
+in order to accommodate these slaves, then extra space is added to each
+row or column in the group according to its I<weight>. For each
+group whose weights are all zero, the additional space is apportioned
+equally.
+
+When multiple rows or columns belong to a uniform group, the space
+allocated to them is always in proportion to their weights. (A weight
+of zero is considered to be 1.) In other words, a row or column
+configured with B<-weight 1 -uniform> a will have exactly the same size
+as any other row or column configured with B<-weight 1 -uniform a>. A
+row or column configured with B<-weight 2 -uniform b> will be exactly
+twice as large as one that is configured with B<-weight 1 -uniform b>.
+
+More technically, each row or column in the group will have a size
+equal to I<k*weight> for some constant k. The constant k is chosen so
+that no row or column becomes smaller than its minimum size. For
+example, if all rows or columns in a group have the same weight, then
+each row or column will have the same size as the largest row or
+column in the group.
+
+
+For masters whose size is larger than the requested layout, the additional
+space is apportioned according to the row and column weights. If all of
+the weights are zero, the layout is centered within its master.
+For masters whose size is smaller than the requested layout, space is taken
+away from columns and rows according to their weights. However, once a
+column or row shrinks to its minsize, its weight is taken to be zero.
+If more space needs to be removed from a layout than would be permitted, as
+when all the rows or columns are at there minimum sizes, the layout is
+clipped on the bottom and right.
+
+=head1 GEOMETRY PROPAGATION
+
+The grid geometry manager normally computes how large a master must be to
+just exactly meet the needs of its slaves, and it sets the
+requested width and height of the master to these dimensions.
+This causes geometry information to propagate up through a
+window hierarchy to a top-level window so that the entire
+sub-tree sizes itself to fit the needs of the leaf windows.
+However, the B<gridPropagate> method may be used to
+turn off propagation for one or more masters.
+If propagation is disabled then grid will not set
+the requested width and height of the master window.
+This may be useful if, for example, you wish for a master
+window to have a fixed size that you specify.
+
+=head1 RESTRICTIONS ON MASTER WINDOWS
+
+The master for each slave must either be the slave's parent
+(the default) or a descendant of the slave's parent.
+This restriction is necessary to guarantee that the
+slave can be placed over any part of its master that is
+visible without danger of the slave being clipped by its parent.
+In addition, all slaves in one call to B<grid> must have the same master.
+
+=head1 STACKING ORDER
+
+If the master for a slave is not its parent then you must make sure
+that the slave is higher in the stacking order than the master.
+Otherwise the master will obscure the slave and it will appear as
+if the slave hasn't been managed correctly.
+The easiest way to make sure the slave is higher than the master is
+to create the master window first: the most recently created window
+will be highest in the stacking order.
+
+=head1 CREDITS
+
+The B<grid> method is based on ideas taken from the I<GridBag>
+geometry manager written by Doug. Stein, and the B<blt_table> geometry
+manager, written by George Howlett.
+
+=head1 SEE ALSO
+
+L<Tk::form|Tk::form>
+L<Tk::pack|Tk::pack>
+L<Tk::place|Tk::place>
+
+=head1 KEYWORDS
+
+geometry manager, location, grid, cell, propagation, size, pack,
+master, slave
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/mega.pod b/Master/tlpkg/tlperl/lib/Tk/mega.pod
new file mode 100644
index 00000000000..76e40e7891f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/mega.pod
@@ -0,0 +1,423 @@
+
+## Author: Achim Bohnet <ach@mpe.mpg.de>
+##
+## Copyright (c) 1997-1998 Achim Bohnet. All rights reserved.
+## You can redistribute this document and/or modify it under the
+## same terms as Perl itself.
+##
+## Update for Tk804.025, Steve Lidie, 2004/01/11.
+
+=head1 NAME
+
+Tk::mega - Perl/Tk support for writing widgets in pure Perl
+
+=for category Derived Widgets
+
+=head1 SYNOPSIS
+
+Define the widget's new class name:
+
+S< >B<package Tk::>I<MyNewWidget>;
+
+For composite widget classes:
+
+S< >B<use base qw/ Tk::container />; # where B<container> is I<Frame> or I<Toplevel>
+
+For derived widget classes:
+
+S< >B<use base qw/ Tk::Derived Tk::DerivedWidget /;>
+
+Install the new widget in Tk's namespace and establish class and instance
+constructors.
+
+S< >B<Construct Tk::>I<Widget> I<'MyNewWidget'>;
+
+S< >B<sub ClassInit> { I<my ($self, $args) = @_; ...> }
+
+S< >B<sub Populate> { I<my ($self, $args) = @_; ...> }
+
+=head1 DESCRIPTION
+
+The goal of the mega-widget support of Perl/Tk is to make it
+easy to write mega-widgets that obey the same protocol and
+interface that the Tk core widgets support.
+I<For mega-widget sample code please run the B<widget> demonstration program and go to the section B<Sample Perl Mega-Widgets>.>
+
+There are two kinds of mega-widgets:
+
+=over 4
+
+=item * Composite Widgets
+
+A composite widget is composed with one or more existing widgets.
+The composite widget looks to the user like a simple single widget.
+A well known example is the file selection box.
+
+=item * Derived Widgets
+
+A derived widget adds/modifies/removes properties and methods
+from a single widget (this widget may itself be a mega-widget).
+
+=back
+
+=head1 MEGA-WIDGET SUPPORT
+
+=head2 Advertise
+
+Give a subwidget a symbolic name.
+
+Usage:
+
+S< >I<$self>-E<gt>B<Advertise>(B<name>=E<gt>I<$widget>);
+
+Gives a subwidget I<$widget> of the mega-widget I<$self> the
+name B<name>. One can retrieve the reference of an advertised subwidget
+with the L<Subwidget|"Subwidget"> method.
+
+B<Comment:> Mega-Widget Writers: Please make sure to document the
+advertised widgets that are intended for I<public> use.
+If there are none, document this fact, e.g.:
+
+ =head1 ADVERTISED WIDGETS
+
+ None.
+
+=head2 Callback
+
+Invoke a callback specified with an option.
+
+Usage:
+
+S< >I<$self>-E<gt>B<Callback>(I<-option> ?,I<args> ...?);
+
+B<Callback> executes the L<callback|Tk::callbacks> defined with
+I<$self>-E<gt>B<ConfigSpecs>(I<-option>, [B<CALLBACK>, ...]);
+If I<args> are given they are passed to the callback. If
+I<-option> is not defined it does nothing.
+
+=head2 ClassInit
+
+Initialization of the mega-widget class.
+
+Usage:
+
+S< >B<sub ClassInit> { I<my ($class, $mw) = @_;> ... }
+
+B<ClassInit> is called once for I<each> L<MainWindow|Tk::MainWindow>
+just before the first widget instance of a class is created in
+the widget tree of B<MainWindow>.
+
+B<ClassInit> is often used to define bindings and/or other
+resources shared by all instances, e.g., images.
+
+Examples:
+
+ $mw->bind($class,"<Tab>", sub { my $w = shift; $w->Insert("\t"); $w->focus; $w->break});
+ $mw->bind($class,"<Return>", ['Insert',"\n"]);
+ $mw->bind($class,"<Delete>",'Delete');
+
+Notice that I<$class> is the class name (e.g. B<Tk::MyText>) and I<$mw> is the mainwindow.
+
+Don't forget to call I<$class>-E<gt>B<SUPER::ClassInit($mw)> in
+B<ClassInit>.
+
+=head2 Component
+
+Convenience function to create subwidgets.
+
+Usage:
+
+ $cw->Component('Whatever', 'AdvertisedName',
+ -delegate => ['method1', 'method2', ...],
+ ... more widget options ...,
+ );
+
+B<Component> does several things for you with one call:
+
+=over 4
+
+o Creates the widget
+
+o Advertises it with a given name (overridden by 'Name' option)
+
+o Delegates a set of methods to this widget (optional)
+
+=back
+
+Example:
+
+ $cw->Component('Button', 'quitButton', -command => sub{$mw->'destroy'});
+
+=head2 ConfigSpecs
+
+Defines options and their treatment
+
+Usage:
+
+ $cw->ConfigSpecs(
+ -option => [ where, dbname, dbclass, default],
+ ...,
+ DEFAULT => [where],
+ );
+
+Defines the options of a mega-widget and what actions
+are triggered by configure/cget of an option
+(see L<Tk::ConfigSpecs> and L<Tk::Derived> for details).
+
+=head2 Construct
+
+Make the new mega-widget known to B<Tk>.
+
+Usage:
+
+S< >B<Construct> I<baseclass> B<'Name'>;
+
+B<Construct> declares the new widget class so that your mega-widget
+works like normal Perl/Tk widgets.
+
+Examples:
+
+S< >B<Construct Tk::Widget> I<'Whatever'>;
+S< >B<Construct Tk::Menu> I<'MyItem'>;
+
+First example lets one use I<$widget>-E<gt>B<Whatever> to create
+new B<Whatever> widget.
+
+The second example restricts the usage of the B<MyItem> constructor
+method to widgets that are derived from B<Menu>:
+I<$isamenu>-E<gt>I<MyItem>.
+
+=head2 CreateArgs
+
+Process options before any widget is created:
+
+S< >B<sub CreateArgs> { I<my ($package, $parent, $args) = @_; ...; return @newargs;> }
+
+I<$package> is the package of the mega-widget (e.g., B<Tk::MyText>,
+I<$parent> the parent of the widget to be created and $args the hash
+reference to the options specified in the widget constructor call.
+
+Don't forget to call I<$package>-E<gt>B<SUPER::CreateArgs>(I<$parent>, I<$args>) in
+B<CreateArgs>.
+
+=head2 Delegates
+
+Redirect a method of the mega-widget to a subwidget of
+the composite widget
+
+Usage:
+
+ $cw->Delegates(
+ 'method1' => $subwidget1,
+ 'method2' => 'advertived_name',
+ ...,
+ 'Construct' => $subwidget2,
+ 'DEFAULT' => $subwidget3,
+ );
+
+The B<'Construct'> delegation has a special meaning. After
+'Construct' is delegated all Widget constructors are redirected.
+E.g. after
+
+S< >I<$self>-E<gt>B<Delegates>(B<'Construct'>=E<gt>I<$subframe>);
+
+a I<$self>-E<gt>B<Button> does really a I<$subframe>-E<gt>B<Button>
+so the created button is a child of I<$subframe> and not I<$self>.
+
+B<Comment:> Delegates works only with methods that I<$cw> does
+not have itself.
+
+=head2 InitObject
+
+I<Note: this method should not, in general, be used, as it has been
+superceeded by B<Populate> and specifying B<Tk::Derived> as one of the base
+classes.>
+
+Defines construction and interface of derived widgets.
+
+Usage:
+
+ sub InitObject {
+ my ($derived, $args) = @_;
+ ...
+ }
+
+where I<$derived> is the widget reference of the already created
+baseclass widget and I<$args> is the reference to a hash of
+I<-option-value> pairs.
+
+B<InitObject> is almost identical to L<Populate|"Populate"> method.
+B<Populate> does some more 'magic' things useful for mega-widgets
+with several widgets.
+
+Don't forget to call I<$derived>-E<gt>B<SUPER::InitObject>(I<$args>) in
+B<InitObject>.
+
+=head2 OnDestroy
+
+Define a callback invoked when the mega-widget is destroyed.
+
+Usage:
+
+S< >I<$widget>-E<gt>B<OnDestroy>(I<callback>);
+
+B<OnDestroy> installs a L<callback|Tk::callbacks> that's called
+when a widget is going to to be destroyed. Useful
+for special cleanup actions. It differs from a normal B<destroy>
+in that all the widget's data structures are still intact.
+
+B<Comment:> This method could be used with any widgets not just
+for mega-widgets. It's listed here because of it's usefulness.
+
+=head2 Populate
+
+Defines construction and interface of the composite
+widget.
+
+Usage:
+
+ sub Populate {
+ my ($self, $args) = @_;
+ ...
+ }
+
+where I<$self> is the widget reference of the already created baseclass
+widget and I<$args> is the
+reference to a hash of I<-option-value> pairs.
+
+Most the other support function are normally used inside the B<Populate>
+subroutine.
+
+Don't forget to call I<$cw>-E<gt>B<SUPER::Populate>(I<$args>) in
+B<Populate>.
+
+=head2 privateData
+
+Set/get a private hash of a widget to storage
+composite internal data
+
+Usage:
+
+S< >I<$hashref> = I<$self>-E<gt>B<privateData>();
+
+S< >I<$another> = I<$self>-E<gt>B<privateData>(I<unique_key>|I<package>);
+
+=head2 Subwidget
+
+Get the widget reference of an advertised subwidget.
+
+S< >I<@subwidget> = I<$cw>-E<gt>B<Subwidget>();
+
+S< >I<$subwidget> = I<$cw>-E<gt>B<Subwidget>(I<name>);
+
+S< >I<@subwidget> = I<$cw>-E<gt>B<Subwidget>(I<name> ?,...?);
+
+Returns the widget reference(s) of the subwidget known under the given
+name(s). Without arguments, return all known subwidgets of I<$cw>. See
+L<Advertise|"Advertise"> method how to define I<name> for a subwidget.
+
+B<Comment:> Mega-Widget Users: Use B<Subwidget> to get I<only>
+documented subwidgets.
+
+=head1 PITFALLS
+
+=over 4
+
+=item * Resource DB class name
+
+Some of the standard options use a resource date base class
+that is not equal to the resource database name. E.g.,
+
+ Switch: Name: Class:
+
+ -padx padX Pad
+ -activerelief activeRelief Relief
+ -activebackground activeBackground Foreground
+ -status undef undef
+
+One should do the same when one defines one of these
+options via B<ConfigSpecs>.
+
+=item * Method delegation
+
+Redirecting methods to a subwidget with B<Delegate>
+can only work if the base widget itself does have a
+method with this name. Therefore one can't ``I<delegate>''
+any of the methods listed in L<Tk::Widget|Tk::Widget>.
+A common problematic method is B<bind>. In this case
+one as to explicitely redirect the method.
+
+ sub bind {
+ my $self = shift;
+ my $to = $self->privateData->{'my_bind_target'};
+ $to->bind(@_);
+ }
+
+=item * privateData
+
+Graham Barr wrote: ... It is probably
+more private than most people think. Not all calls to privateData will
+return that same HASH reference. The HASH reference that is returned
+depends on the package it was called from, a different HASH is returned
+for each package. This allows a widget to hold private data, but then
+if it is sub-classed the sub-class will get a different HASH and so not
+cause duplicate name clashes.
+
+But privateData does take an optional argument if you want to
+force which HASH is returned.
+
+=item * Scrolled and Composite
+
+B<Scrolled>(I<Kind>,...) constructor can not be used with B<Composite>.
+One has to use $cw->B<Composite>(B<Scrl>I<Kind> =E<gt> B<'name'>, ...);
+
+=back
+
+=head1 MISSING
+
+Of course Perl/Tk does not define support function for
+all necessities. Here's a short list of things you have to
+handle yourself:
+
+=over 4
+
+=item *
+
+No support to define construction-time only options.
+
+=item *
+
+No support to remove an option that is known to the
+base widget.
+
+=item *
+
+It's hard to define B<undef> as fallback for an widget
+option that is not already B<undef>.
+
+=item *
+
+Frame in Perl/Tk carries magic and overhead not needed
+for composite widget class definition.
+
+=item *
+
+No support methods for bindings that are shared between all
+widgets of a composite widget (makes sense at all?)
+
+=back
+
+=head1 KEYWORDS
+
+mega, composite, derived, widget
+
+=head1 SEE ALSO
+
+L<Tk::composite|Tk::composite>
+L<Tk::ConfigSpecs|Tk::ConfigSpecs>
+L<Tk::option|Tk::option>
+L<Tk::callbacks|Tk::callbacks>
+L<Tk::bind|Tk::bind>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/messageBox.pod b/Master/tlpkg/tlperl/lib/Tk/messageBox.pod
new file mode 100644
index 00000000000..36c147b1180
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/messageBox.pod
@@ -0,0 +1,67 @@
+=head1 NAME
+
+Tk::messageBox - pop up a message window and wait for user response.
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+S< >I<$response> = I<$widget>-E<gt>B<messageBox>(I<-option> =E<gt> I<value>, ... );
+
+=head1 DESCRIPTION
+
+This method uses L<Tk::Dialog|Tk::Dialog> to quickly create several
+common dialog boxes. A dialog widget consists of a message, an icon
+and a set of buttons (see the I<-type> option). After the message
+window is popped up, B<messageBox> waits for the user to select one of
+the buttons and return the button text (note that it's best to check the
+returned value in a case insensitive manner). NOTE: unlike
+B<Tk::Dialog> which creates its widget once and can be used many
+times, the B<messageBox> window is created every time it's used.
+
+The following option/value pairs are supported:
+
+=over 4
+
+=item B<-default>
+
+The case-sensitive symbolic name of the default button
+for this message window ('Ok', 'Cancel' and so
+on). See B<-type> for a list of the symbolic names.
+If the message box has just one button it will
+automatically be made the default, otherwise if
+this option is not specified, there won't be any
+default button.
+
+=item B<-icon>
+
+Specifies an icon to display. On X11 any of the builtin Tk bitmaps can
+specified. On Windows only B<error>, B<info>, B<question> or
+B<warning> are supported.
+
+=item B<-message>
+
+Specifies the message to display.
+
+=item B<-title>
+
+Specifies a string to display as the title.
+
+=item B<-type>
+
+Specifies a predefined set of buttons to be displayed. The following
+values are possible: 'AbortRetryIgnore', 'Ok', 'OkCancel',
+'RetryCancel', 'YesNo' or 'YesNoCancel'.
+
+=back
+
+=head1 EXAMPLE
+
+I<$response> = I<$mw>-E<gt>B<messageBox>(-icon =E<gt> 'question', -message =E<gt> 'Hello World!', -title =E<gt> 'My title', -type =E<gt> 'AbortRetryIgnore', -default =E<gt> 'Retry');
+
+=head1 AUTHOR
+
+Stephen.O.Lidie@Lehigh.EDU. 98/05/25
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/option.pod b/Master/tlpkg/tlperl/lib/Tk/option.pod
new file mode 100644
index 00000000000..9ee206bf9ed
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/option.pod
@@ -0,0 +1,217 @@
+# Copyright (c) 1990 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::option - Using the option database in Perl/Tk
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<widgetClass>(B<Name>=E<gt>I<name>, B<-class>=E<gt>I<class>);
+
+S< >I<$widget>-E<gt>B<PathName>;
+
+S< >I<$widget>-E<gt>B<optionAdd>(I<pattern>=E<gt>I<value > ?,I<priority>?);
+
+S< >I<$widget>-E<gt>B<optionClear>;
+
+S< >I<$widget>-E<gt>B<optionGet>(I<name, class>);
+
+S< >I<$widget>-E<gt>B<optionReadfile>(I<fileName> ?,I<priority>?);
+
+=head1 DESCRIPTION
+
+The option database (also known as the I<resource database> or the
+I<application defaults database>) is a set of rules for applying
+default options to widgets. Users and system administrators can
+set up these rules to customize the appearance of applications
+without changing any application code; for example, a user might
+set up personal foreground and background colors, or a site
+might use fonts associated with visual or language preferences.
+Different window managers (and implementations of them) have implemented
+the database differently, but most Xt-based window managers use the
+I<.Xdefaults> file or the I<xrdb> utility to manage user preferences;
+some use both, and/or implement a more complex set of site, user and
+application databases. Check your site documentation for these topics
+or your window manager's B<RESOURCE_MANAGER> property.
+
+=head2 Being a good citizen
+
+For most applications, the option database "just works." The B<option...>
+methods are for applications that need to do something unusual, such as
+add new rules or test an option's default. Even in such cases, the
+application should provide for user preferences.
+Do not hardcode widget options without a B<very> good reason.
+All users have their own tastes and they are all different.
+They choose a special font in a special size and have often spend a
+lot of time working out a color scheme that they will love until death.
+When you respect their choices they will enjoy working with your
+applications much more. Don't destroy the common look and feel of a
+personal desktop.
+
+=head2 Option rules and widget identification
+
+All widgets in an application are identified hierarchically by I<pathname>,
+starting from the B<MainWindow> and passing through each widget used to create
+the endpoint. The path elements are I<widget names>, much like the elements
+of a file path from the root directory to a file. The rules in the option
+database are patterns that are matched against a widget's I<pathname> to
+determine which defaults apply.
+When a widget is created, the B<Name> option can be
+used to assign the widget's name and thus create a distinctive path
+for widgets in an application. If the B<Name> option isn't given,
+Perl/Tk assigns a default name based on the type of widget; a
+B<MainWindow>'s default name is the B<appname>. These defaults are fine
+for most widgets, so don't feel you need to find a meaningful name for
+every widget you create.
+A widget must have a distinctive name to allow users to tailor its
+options independently of other widgets in an application. For instance,
+to create a B<Text> widget that will
+have special options assigned to it, give it a name such as:
+
+ $text = $mw->Text(Name => 'importantText');
+
+You can then tailor the widget's attributes with a rule in the option
+database such as:
+
+ *importantText*foreground: red
+
+The I<class> attribute identifies groups of widgets, usually within an
+application but also to group similar widgets among different applications.
+One typically assigns a class to a B<TopLevel> or B<Frame> so that the
+class will apply to all of that widget's children. To extend the example,
+we could be more specific about the importantText widget
+by giving its frame a class:
+
+ $frame = $mw->Frame(-class => 'Urgent');
+ $text = $frame->Text(Name => 'importantText');
+
+Then the resource pattern can be specified as so:
+
+ *Urgent*importantText*foreground: red
+
+Similarly, the pattern C<*Urgent*background: cyan> would apply to all
+widgets in the frame.
+
+=head1 METHODS
+
+=over 4
+
+=item I<$widget>-E<gt>B<widgetClass>(B<Name>=E<gt>I<name>, B<-class>=E<gt>I<class>);
+
+Identify a new widget with I<name> and/or I<class>.
+B<Name> specifies the path element for the widget; names generally begin with a
+lowercase letter. B<-class> specifies the class for the widget and its
+children; classes generally begin with an uppercase letter.
+If not specified, Perl/Tk will assign a unique default name to each widget.
+Only B<MainWindow> widgets have a default class, made by uppercasing the
+first letter of the application name.
+
+=item I<$widget>-E<gt>B<PathName>;
+
+The B<PathName> method returns the widget's I<pathname>, which uniquely
+identifies the widget within the application.
+
+=item I<$widget>-E<gt>B<optionAdd>(I<pattern>=E<gt>I<value >?, I<priority>?);
+
+The B<optionAdd> method adds a new option to the database.
+I<Pattern> contains the option being specified, and consists of
+names and/or classes separated by asterisks or dots, in the usual
+X format. I<Value> contains a text string to associate with
+I<pattern>; this is the value that will be returned in calls to
+the B<optionGet> method. If I<priority> is specified, it indicates
+the priority level for this option (see below for legal values);
+it defaults to B<interactive>. This method always returns an empty
+string.
+
+=item I<$widget>-E<gt>B<optionClear>;
+
+The B<optionClear> method clears the option database. Default
+options (from the B<RESOURCE_MANAGER> property or the B<.Xdefaults>
+file) will be reloaded automatically the next time an option is
+added to the database or removed from it. This method always returns
+an empty string.
+
+=item I<$widget>-E<gt>B<optionGet>(I<name,class>);
+
+The B<optionGet> method returns the value of the option specified for
+I<$widget> under I<name> and I<class>. To look up the option,
+B<optionGet> matches the patterns in the resource database against
+I<$widget>'s I<pathname> along with the class of I<$widget>
+(or its parent if I<$widget> has no class specified). The widget's
+class and name are options set when the widget is created (not
+related to class in the sense of L<bless>); the B<MainWindow>'s name
+is the B<appname> and its class is (by default) derived from the name
+of the script.
+
+If several entries in the option database match I<$widget>'s I<pathname>,
+I<name>, and I<class>, then the method returns whichever was created with
+highest I<priority> level. If there are several matching
+entries at the same priority level, then it returns whichever entry
+was I<most recently entered> into the option database. If there are
+no matching entries, then the empty string is returned.
+
+=item I<$widget>-E<gt>B<optionReadfile>(I<fileName>?,I<priority>?);
+
+The B<optionReadfile> method reads I<fileName>, which should have the
+standard format for an X resource database such as B<.Xdefaults>, and
+adds all the options specified in that file to the option database.
+If I<priority> is specified, it indicates the priority level at which
+to enter the options; I<priority> defaults to B<interactive>.
+
+The I<priority> arguments to the B<option> methods are
+normally specified symbolically using one of the following values:
+
+=over 8
+
+=item B<widgetDefault>
+
+Level 20. Used for default values hard-coded into widgets.
+
+=item B<startupFile>
+
+Level 40. Used for options specified in application-specific
+startup files.
+
+=item B<userDefault>
+
+Level 60. Used for options specified in user-specific defaults
+files, such as B<.Xdefaults>, resource databases loaded into
+the X server, or user-specific startup files.
+
+=item B<interactive>
+
+Level 80. Used for options specified interactively after the application
+starts running. If I<priority> isn't specified, it defaults to
+this level.
+
+=back
+
+Any of the above keywords may be abbreviated. In addition, priorities
+may be specified numerically using integers between 0 and 100,
+inclusive. The numeric form is probably a bad idea except for new priority
+levels other than the ones given above.
+
+=back
+
+=head1 BUGS
+
+The priority scheme used by core Tk is not the same as used by normal Xlib
+routines. In particular is assumes that the order of the entries is defined,
+but user commands like B<xrdb -merge> can change the order.
+
+=head1 SEE ALSO
+
+L<Tk::Xrm|Tk::Xrm>
+
+=head1 KEYWORDS
+
+database, option, priority, retrieve
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Tk/options.pod b/Master/tlpkg/tlperl/lib/Tk/options.pod
new file mode 100644
index 00000000000..49d81ddd2b4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/options.pod
@@ -0,0 +1,787 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::options - Standard options supported by widgets and their manipulation
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+S< >I<$value> = I<$widget>-E<gt>B<cget>('I<-option>');
+
+S< >I<$widget>-E<gt>B<configure>(I<-option>=E<gt>I<value> ?,I<-option>=E<gt>I<value> ...?);
+
+S< >I<@list> = I<$widget>-E<gt>B<configure>('I<-option>');
+
+S< >I<@lol> = I<$widget>-E<gt>B<configure>;
+
+=head1 DESCRIPTION
+
+All widgets, and images have a standard mechanism for setting and querying
+attibutes or options. The mechanism is based on two methods B<configure>
+and B<cget>. The behaviour of these methods is as follows:
+
+=over 4
+
+=item I<$widget>-E<gt>B<configure>(I<-option>=E<gt>I<value> ?,I<-option>=E<gt>I<value> ...?);
+
+Sets the values of I<-option> to I<value> for each I<-option>=E<gt>I<value>
+pair. The internal B<new> method does an implicit B<configure> in this
+form with options passed in at widget create time.
+
+=item I<$widget>-E<gt>B<configure>('I<-option>')
+
+In array context returns a list of five or two elements. If I<-option>
+is an alias for another options it return a list consisting of the
+alias option and the name for the option is is an alias for, e.g.,
+C<('-bg', 'background')>. If I<-option> is not an alias the returned
+list has the following five elements:
+
+=over 8
+
+=item I<Option Name>
+
+The value of I<-option>, e.g., B<-background>.
+
+=item I<Name>
+
+The option's name in the option database, e.g., C<background>.
+
+=item I<Class>
+
+The option's class value in the option database, e.g., C<Background>.
+
+=item I<Default>
+
+The default value for the option if not specified or in the option database,
+e.g., C<grey>.
+
+=item I<Value>
+
+The current value (as returned by B<cget>), e.g., C<white>.
+
+=back
+
+=item I<$widget>-E<gt>B<configure>
+
+Returns a list of lists for all the options supported by I<$widget>.
+Each sub-list is in the form returned by B<configure>('I<-option>').
+(This mechanism is used by the B<Tk::Derived> class to determine
+the options available from base class.)
+
+=item I<$widget>-E<gt>B<cget>('I<-option>')
+
+Returns the current value of I<-option> for I<$widget>.
+
+B<cget>('I<-option>') is clumsy with the need for B<''> due to perl's
+parsing rules. Something more subtle using L<tie|perlfunc/tie> might look better.
+
+=back
+
+The following paragraphs describe the common configuration options supported by
+widgets in the Tk toolkit. Every widget does not necessarily support every option
+(see the the documentation entries for individual widgets for a list of the
+standard options supported by that widget), but if a widget does support an option
+with one of the names listed below, then the option has exactly the effect
+described below.
+
+In the descriptions below, ``Name'' refers to the option's name in the option
+database. ``Class'' refers to the option's class value
+in the option database. ``Switch'' refers to the switch used in widget-creation
+and B<configure> widget methods to set this value. For example, if an option's
+configure option is B<-foreground> and there exists a widget I<$widget>, then the
+call:
+
+S< >I<$widget>-E<gt>B<configure>(B<-foreground>=E<gt>B<'black'>)
+
+may be used to specify the value B<black> for the option in the widget I<$widget>.
+Configure options may be abbreviated, as long as the abbreviation is unambiguous
+(abbreviation is deprecated in perl/Tk).
+
+=head2 Creation options: Widget Name and Class
+
+The B<Name> and B<-class> options can only be specified when a widget is
+created, and cannot be changed with B<configure>. These options determine
+the widget's identity and how Tk applies resource values from the
+option database (see L<Tk::option>) and so they
+cannot be assigned by the options database.
+
+=over 4
+
+=item Name: I<name>
+
+=item Switch: B<Name>
+
+Specifies the path element for the widget. Names generally begin with a
+lowercase letter.
+
+Each widget has a unique I<pathname> that follows the hierarchy from the
+B<MainWindow> to the widget itself. Since the widget's B<PathName> is
+used to assign options from the options database, it is important to
+specify a distinctive B<Name> for any widget that will have non-default
+options. See L<Tk::option> for details.
+
+=item Name: I<class>
+
+=item Switch: B<-class>
+
+Specifies a class for the window. Classes generally begin with an
+uppercase letter.
+
+This class will be used when querying the option database for
+the window's other options (see Tk::options), and it will also be used
+later for other purposes such as bindings. One typically assigns a class
+to a B<TopLevel> or B<Frame> so that the class will apply to all of
+that widget's children.
+
+=back
+
+=head2 Reconfigurable options
+
+These options can be set at widget creation or changed later via B<configure>.
+
+=over 4
+
+=item Name: B<activeBackground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-activebackground>
+
+Specifies background color to use when drawing active elements.
+An element (a widget or portion of a widget) is active if the
+mouse cursor is positioned over the element and pressing a mouse button
+will cause some action to occur.
+If strict Motif compliance has been requested by setting the
+B<$Tk::strictMotif> variable, this option will normally be
+ignored; the normal background color will be used instead.
+For some elements on Windows and Macintosh systems, the active color
+will only be used while mouse button 1 is pressed over the element.
+
+=item Name: B<activeBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-activeborderwidth>
+
+Specifies a non-negative value indicating
+the width of the 3-D border drawn around active elements.
+See above for definition of active elements.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+This option is typically only available in widgets displaying more
+than one element at a time (e.g. menus but not buttons).
+
+=item Name: B<activeForeground>
+
+=item Class: B<Background>
+
+=item Switch: B<-activeforeground>
+
+Specifies foreground color to use when drawing active elements.
+See above for definition of active elements.
+
+=item Name: B<activetile>
+
+=item Class: B<Tile>
+
+=item Switch: B<-activetile>
+
+Specifies image used to display inside active elements of the widget.
+See above for definition of active elements.
+
+=item Name: B<anchor>
+
+=item Class: B<Anchor>
+
+=item Switch: B<-anchor>
+
+Specifies how the information in a widget (e.g. text or a bitmap)
+is to be displayed in the widget.
+Must be one of the values B<n>, B<ne>, B<e>, B<se>,
+B<s>, B<sw>, B<w>, B<nw>, or B<center>.
+For example, B<nw> means display the information such that its
+top-left corner is at the top-left corner of the widget.
+
+=item Name: B<background>
+
+=item Class: B<Background>
+
+=item Switch: B<-background>
+
+=item Alias: B<-bg>
+
+Specifies the normal background color to use when displaying the
+widget.
+
+=item Name: B<bitmap>
+
+=item Class: B<Bitmap>
+
+=item Switch: B<-bitmap>
+
+Specifies a bitmap to display in the widget, in any of the forms
+acceptable to B<Tk_GetBitmap>.
+The exact way in which the bitmap is displayed may be affected by
+other options such as B<-anchor> or B<-justify>.
+Typically, if this option is specified then it overrides other
+options that specify a textual value to display in the widget;
+the B<-bitmap> option may be reset to an empty string to re-enable
+a text display.
+In widgets that support both B<-bitmap> and B<-image> options,
+B<-image> will usually override B<-bitmap>.
+
+=item Name: B<borderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-borderwidth>
+
+=item Alias: B<-bd>
+
+Specifies a non-negative value indicating the width
+of the 3-D border to draw around the outside of the widget (if such a
+border is being drawn; the B<relief> option typically determines
+this). The value may also be used when drawing 3-D effects in the
+interior of the widget.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+
+=item Name: B<compound>
+
+=item Class: B<Compound>
+
+=item Switch: B<-compound>
+
+Specifies if the widget should display text and bitmaps/images at the
+same time, and if so, where the bitmap/image should be placed relative
+to the text. Must be one of the values B<none>, B<bottom>, B<top>,
+B<left>, B<right>, or B<center>. For example, the (default) value
+B<none> specifies that the bitmap or image should (if defined) be
+displayed instead of the text, the value B<left> specifies that the
+bitmap or image should be displayed to the left of the text, and the
+value B<center> specifies that the bitmap or image should be displayed on
+top of the text.
+
+=item Name: B<cursor>
+
+=item Class: B<Cursor>
+
+=item Switch: B<-cursor>
+
+Specifies the mouse cursor to be used for the widget.
+The value may have any of the forms acceptable to B<Tk_GetCursor>.
+
+=item Name: B<dash>
+
+=item Class: B<Dash>
+
+=item Switch: B<-dash>
+
+The value may have any of the forms accepted by B<Tk_GetDash>,
+such as B<4>, B<[6,4]>, B<.>, B<->, B<-.>, or B<-..>.
+
+=item Name: B<dashoffset>
+
+=item Class: B<Dashoffset>
+
+=item Switch: B<-dashoffset>
+
+Specifies the offset in the dash list where the drawing starts.
+
+=item Name: B<disabledForeground>
+
+=item Class: B<DisabledForeground>
+
+=item Switch: B<-disabledforeground>
+
+Specifies foreground color to use when drawing a disabled element.
+If the option is specified as an empty string (which is typically the
+case on monochrome displays), disabled elements are drawn with the
+normal foreground color but they are dimmed by drawing them
+with a stippled fill pattern.
+
+=item Name: B<disabledtile>
+
+=item Class: B<Tile>
+
+=item Switch: B<-disabledtile>
+
+Specifies image to use when drawing a disabled element.
+
+=item Name: B<exportSelection>
+
+=item Class: B<ExportSelection>
+
+=item Switch: B<-exportselection>
+
+Specifies whether or not a selection in the widget should also be
+the X selection.
+The value may have any of the forms accepted by B<Tcl_GetBoolean>,
+such as B<true>, B<false>, B<0>, B<1>, B<yes>, or B<no>.
+If the selection is exported, then selecting in the widget deselects
+the current X selection, selecting outside the widget deselects any
+widget selection, and the widget will respond to selection retrieval
+requests when it has a selection. The default is usually for widgets
+to export selections.
+
+=item Name: B<font>
+
+=item Class: B<Font>
+
+=item Switch: B<-font>
+
+Specifies the font to use when drawing text inside the widget.
+
+=item Name: B<foreground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-foreground>
+
+=item Alias: B<-fg>
+
+Specifies the normal foreground color to use when displaying the widget.
+
+=item Name: B<highlightBackground>
+
+=item Class: B<HighlightBackground>
+
+=item Switch: B<-highlightbackground>
+
+Specifies the color to display in the traversal highlight region when
+the widget does not have the input focus.
+
+=item Name: B<highlightColor>
+
+=item Class: B<HighlightColor>
+
+=item Switch: B<-highlightcolor>
+
+Specifies the color to use for the traversal highlight rectangle that is
+drawn around the widget when it has the input focus.
+
+=item Name: B<highlightThickness>
+
+=item Class: B<HighlightThickness>
+
+=item Switch: B<-highlightthickness>
+
+Specifies a non-negative value indicating the width of the highlight
+rectangle to draw around the outside of the widget when it has the
+input focus.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+If the value is zero, no focus highlight is drawn around the widget.
+
+=item Name: B<image>
+
+=item Class: B<Image>
+
+=item Switch: B<-image>
+
+Specifies an image to display in the widget, which must have been
+created with an image create. (See L<Tk::Image> for details of image creation.)
+Typically, if the B<-image> option is specified then it overrides other
+options that specify a bitmap or textual value to display in the widget;
+the B<-image> option may be reset to an empty string to re-enable
+a bitmap or text display.
+
+=item Name: B<insertBackground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-insertbackground>
+
+Specifies the color to use as background in the area covered by the
+insertion cursor. This color will normally override either the normal
+background for the widget (or the selection background if the insertion
+cursor happens to fall in the selection).
+
+=item Name: B<insertBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-insertborderwidth>
+
+Specifies a non-negative value indicating the width
+of the 3-D border to draw around the insertion cursor.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+
+=item Name: B<insertOffTime>
+
+=item Class: B<OffTime>
+
+=item Switch: B<-insertofftime>
+
+Specifies a non-negative integer value indicating the number of
+milliseconds the insertion cursor should remain ``off'' in each blink cycle.
+If this option is zero then the cursor doesn't blink: it is on
+all the time.
+
+=item Name: B<insertOnTime>
+
+=item Class: B<OnTime>
+
+=item Switch: B<-insertontime>
+
+Specifies a non-negative integer value indicating the number of
+milliseconds the insertion cursor should remain ``on'' in each blink cycle.
+
+=item Name: B<insertWidth>
+
+=item Class: B<InsertWidth>
+
+=item Switch: B<-insertwidth>
+
+Specifies a value indicating the total width of the insertion cursor.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+If a border has been specified for the insertion
+cursor (using the B<insertBorderWidth> option), the border
+will be drawn inside the width specified by the B<insertWidth>
+option.
+
+=item Name: B<jump>
+
+=item Class: B<Jump>
+
+=item Switch: B<-jump>
+
+For widgets with a slider that can be dragged to adjust a value,
+such as scrollbars, this option determines when
+notifications are made about changes in the value.
+The option's value must be a boolean of the form accepted by
+B<Tcl_GetBoolean>.
+If the value is false, updates are made continuously as the
+slider is dragged.
+If the value is true, updates are delayed until the mouse button
+is released to end the drag; at that point a single notification
+is made (the value ``jumps'' rather than changing smoothly).
+
+=item Name: B<justify>
+
+=item Class: B<Justify>
+
+=item Switch: B<-justify>
+
+When there are multiple lines of text displayed in a widget, this
+option determines how the lines line up with each other.
+Must be one of B<left>, B<center>, or B<right>.
+B<Left> means that the lines' left edges all line up, B<center>
+means that the lines' centers are aligned, and B<right> means
+that the lines' right edges line up.
+
+=item Name: B<offset>
+
+=item Class: B<Offset>
+
+=item Switch: B<-offset>
+
+Specifies the offset of tiles (see also B<-tile> option). It can
+have two different formats B<-offset x,y> or B<-offset side>,
+where side can be B<n>, B<ne>, B<e>, B<se>, B<s>,
+B<sw>, B<w>, B<nw>, or B<center>. In the first case
+the origin is the origin of the toplevel of the current window.
+For the canvas itself and canvas objects the origin is the canvas
+origin, but putting B<#> in front of the coordinate pair
+indicates using the toplevel origin in stead. For canvas objects,
+the B<-offset> option is used for stippling as well.
+For the line and polygon canvas items you can also specify
+an index as argument, which connects the stipple or tile
+origin to one of the coordinate points of the line/polygon.
+
+=item Name: B<orient>
+
+=item Class: B<Orient>
+
+=item Switch: B<-orient>
+
+For widgets that can lay themselves out with either a horizontal
+or vertical orientation, such as scrollbars, this option specifies
+which orientation should be used. Must be either B<horizontal>
+or B<vertical> or an abbreviation of one of these.
+
+=item Name: B<padX>
+
+=item Class: B<Pad>
+
+=item Switch: B<-padx>
+
+Specifies a non-negative value indicating how much extra space
+to request for the widget in the X-direction.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+When computing how large a window it needs, the widget will
+add this amount to the width it would normally need (as determined
+by the width of the things displayed in the widget); if the geometry
+manager can satisfy this request, the widget will end up with extra
+internal space to the left and/or right of what it displays inside.
+Most widgets only use this option for padding text: if they are
+displaying a bitmap or image, then they usually ignore padding
+options.
+
+=item Name: B<padY>
+
+=item Class: B<Pad>
+
+=item Switch: B<-pady>
+
+Specifies a non-negative value indicating how much extra space
+to request for the widget in the Y-direction.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+When computing how large a window it needs, the widget will add
+this amount to the height it would normally need (as determined by
+the height of the things displayed in the widget); if the geometry
+manager can satisfy this request, the widget will end up with extra
+internal space above and/or below what it displays inside.
+Most widgets only use this option for padding text: if they are
+displaying a bitmap or image, then they usually ignore padding
+options.
+
+=item Name: B<relief>
+
+=item Class: B<Relief>
+
+=item Switch: B<-relief>
+
+Specifies the 3-D effect desired for the widget. Acceptable
+values are B<raised>, B<sunken>, B<flat>, B<ridge>,
+B<solid>, and B<groove>.
+The value
+indicates how the interior of the widget should appear relative
+to its exterior; for example, B<raised> means the interior of
+the widget should appear to protrude from the screen, relative to
+the exterior of the widget.
+
+=item Name: B<repeatDelay>
+
+=item Class: B<RepeatDelay>
+
+=item Switch: B<-repeatdelay>
+
+Specifies the number of milliseconds a button or key must be held
+down before it begins to auto-repeat. Used, for example, on the
+up- and down-arrows in scrollbars.
+
+=item Name: B<repeatInterval>
+
+=item Class: B<RepeatInterval>
+
+=item Switch: B<-repeatinterval>
+
+Used in conjunction with B<repeatDelay>: once auto-repeat
+begins, this option determines the number of milliseconds between
+auto-repeats.
+
+=item Name: B<selectBackground>
+
+=item Class: B<Foreground>
+
+=item Switch: B<-selectbackground>
+
+Specifies the background color to use when displaying selected
+items.
+
+=item Name: B<selectBorderWidth>
+
+=item Class: B<BorderWidth>
+
+=item Switch: B<-selectborderwidth>
+
+Specifies a non-negative value indicating the width
+of the 3-D border to draw around selected items.
+The value may have any of the forms acceptable to B<Tk_GetPixels>.
+
+=item Name: B<selectForeground>
+
+=item Class: B<Background>
+
+=item Switch: B<-selectforeground>
+
+Specifies the foreground color to use when displaying selected
+items.
+
+=item Name: B<setGrid>
+
+=item Class: B<SetGrid>
+
+=item Switch: B<-setgrid>
+
+Specifies a boolean value that determines whether this widget controls the
+resizing grid for its top-level window.
+This option is typically used in text widgets, where the information
+in the widget has a natural size (the size of a character) and it makes
+sense for the window's dimensions to be integral numbers of these units.
+These natural window sizes form a grid.
+If the B<setGrid> option is set to true then the widget will
+communicate with the window manager so that when the user interactively
+resizes the top-level window that contains the widget, the dimensions of
+the window will be displayed to the user in grid units and the window
+size will be constrained to integral numbers of grid units.
+See L<Tk::Wm/"GRIDDED GEOMETRY MANAGEMENT">
+for more details.
+
+=item Name: B<takeFocus>
+
+=item Class: B<TakeFocus>
+
+=item Switch: B<-takefocus>
+
+Determines whether the window accepts the focus during keyboard
+traversal (e.g., Tab and Shift-Tab).
+Before setting the focus to a window, the traversal scripts
+consult the value of the B<takeFocus> option.
+A value of B<0> means that the window should be skipped entirely
+during keyboard traversal.
+B<1> means that the window should receive the input
+focus as long as it is viewable (it and all of its ancestors are mapped).
+An empty value for the option means that the traversal scripts make
+the decision about whether or not to focus on the window: the current
+algorithm is to skip the window if it is
+disabled, if it has no key bindings, or if it is not viewable.
+If the value has any other form, then the traversal scripts take
+the value, append the name of the window to it (with a separator space),
+and evaluate the resulting string as a Callback.
+The script must return B<0>, B<1>, or an empty string: a
+B<0> or B<1> value specifies whether the window will receive
+the input focus, and an empty string results in the default decision
+described above.
+Note: this interpretation of the option is defined entirely by
+the Callbacks that implement traversal: the widget implementations
+ignore the option entirely, so you can change its meaning if you
+redefine the keyboard traversal scripts.
+
+=item Name: B<text>
+
+=item Class: B<Text>
+
+=item Switch: B<-text>
+
+Specifies a string to be displayed inside the widget. The way in which
+the string is displayed depends on the particular widget and may be
+determined by other options, such as B<anchor> or B<justify>.
+
+=item Name: B<textVariable>
+
+=item Class: B<Variable>
+
+=item Switch: B<-textvariable>
+
+Specifies the name of a variable. The value of the variable is a text
+string to be displayed inside the widget; if the variable value changes
+then the widget will automatically update itself to reflect the new value.
+The way in which the string is displayed in the widget depends on the
+particular widget and may be determined by other options, such as
+B<anchor> or B<justify>.
+
+=item Name: B<tile>
+
+=item Class: B<Tile>
+
+=item Switch: B<-tile>
+
+Specifies image used to display the widget. If image is the empty
+string, then the normal background color is displayed.
+
+=item Name: B<troughColor>
+
+=item Class: B<Background>
+
+=item Switch: B<-troughcolor>
+
+Specifies the color to use for the rectangular trough areas
+in widgets such as scrollbars and scales.
+
+=item Name: B<troughTile>
+
+=item Class: B<Tile>
+
+=item Switch: B<-troughtile>
+
+Specifies image used to display in the rectangular trough areas
+in widgets such as scrollbars and scales.
+
+=item Name: B<underline>
+
+=item Class: B<Underline>
+
+=item Switch: B<-underline>
+
+Specifies the integer index of a character to underline in the widget.
+This option is used by the default bindings to implement keyboard
+traversal for menu buttons and menu entries.
+0 corresponds to the first character of the text displayed in the
+widget, 1 to the next character, and so on.
+
+=item Name: B<wrapLength>
+
+=item Class: B<WrapLength>
+
+=item Switch: B<-wraplength>
+
+For widgets that can perform word-wrapping, this option specifies
+the maximum line length.
+Lines that would exceed this length are wrapped onto the next line,
+so that no line is longer than the specified length.
+The value may be specified in any of the standard forms for
+screen distances.
+If this value is less than or equal to 0 then no wrapping is done: lines
+will break only at newline characters in the text.
+
+=item Name: B<xScrollCommand>
+
+=item Class: B<ScrollCommand>
+
+=item Switch: B<-xscrollcommand>
+
+Specifies a callback used to communicate with horizontal
+scrollbars.
+When the view in the widget's window changes (or
+whenever anything else occurs that could change the display in a
+scrollbar, such as a change in the total size of the widget's
+contents), the widget will
+make a callback passing two numeric arguments in addition to
+any specified in the callback.
+Each of the numbers is a fraction between 0 and 1, which indicates
+a position in the document. 0 indicates the beginning of the document,
+1 indicates the end, .333 indicates a position one third the way through
+the document, and so on.
+The first fraction indicates the first information in the document
+that is visible in the window, and the second fraction indicates
+the information just after the last portion that is visible.
+Typically the
+B<xScrollCommand> option consists of the scrollbar widget object
+and the method ``set'' i.e. [B<set> =E<gt> I<$sb>]:
+this will cause the scrollbar to be updated whenever the view in the window changes.
+If this option is not specified, then no command will be executed.
+
+=item Name: B<yScrollCommand>
+
+=item Class: B<ScrollCommand>
+
+=item Switch: B<-yscrollcommand>
+
+Specifies a calback used to communicate with vertical
+scrollbars. This option is treated in the same way as the
+B<xScrollCommand> option, except that it is used for vertical
+scrollbars and is provided by widgets that support vertical scrolling.
+See the description of B<xScrollCommand> for details
+on how this option is used.
+
+=back
+
+=head1 SEE ALSO
+
+L<Tk::option>
+L<Tk::callbacks>
+L<Tk::ConfigSpecs>
+L<Tk_GetPixels|Tk::pTk::GetPixels>
+
+=head1 KEYWORDS
+
+class, name, standard option, switch
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/overview.pod b/Master/tlpkg/tlperl/lib/Tk/overview.pod
new file mode 100644
index 00000000000..62e6b193a31
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/overview.pod
@@ -0,0 +1,138 @@
+
+=head1 NAME
+
+Tk::overview - An overview of an Object Oriented Tk8 extension for perl5
+
+=for category Introduction
+
+=head1 SYNOPSIS
+
+C<< use Tk; >>
+
+C<< $main = MainWindow-E<gt>new(); >>
+
+C<< $widget = $main-E<gt>I<Widget>(...); >>
+
+C<< $widget-E<gt>pack(...); >>
+
+...
+
+C<< MainLoop; >>
+
+=head1 DESCRIPTION
+
+In writing the perl Tk extension, the goals were to provide a complete
+interface to the latest production version of John Ousterhout's Tk, while providing
+an Object Oriented interface to perl code.
+
+=head1 CONTENTS
+
+The package is composed of three loosely connected parts:
+
+=over 4
+
+=item I<pTk> - Converted Tk source
+
+The I<pTk> sub-directory is a copy of the C code of Tk8.x, modified
+to allow use by languages other than the original Tcl.
+(The pTk can be read as 'perl' Tk or 'portable' Tk, depending on
+your sensibilities.)
+
+=item B<Tk> to Perl 'Glue'
+
+The top level directory provides I<Tk.xs> and I<tkGlue.c>
+which provide the perl-callable interfaces to pTk
+
+=item Perl code for 'Widget' Classes
+
+The I<Tk> sub-directory contains the various perl modules that comprise
+the "Classes" that are visible to Tk applications.
+
+The "major" widgets such as B<Tk::Text> are actually in separate directories
+at the top level (e.g. I<Text/*> for B<Tk::Text>) and are dynamically
+loaded as needed on platforms which support perl5's B<DynaLoader>.
+
+=back
+
+=head1 CLASS HIERARCHY
+
+=over 4
+
+=item B<package Tk;> - the 'base class'
+
+All the "command names" documented in Tcl/Tk are made to look like perl
+sub's and reside in the Tk package. Their names are all lower case.
+Typically there are very few commands at this level which are called
+directly by applications.
+
+=item B<package Tk::Widget;> - the 'Widget class'
+
+There are no actual objects of the B<Tk::Widget> class; however all
+the various Tk window "widgets" inherit from it, and it in turn
+inherits all the core Tk functions from Tk.
+
+B<Tk::Widget> provides various functions and interfaces which are
+common to all Widgets.
+
+A widget is represented to perl as a blessed reference to a hash. There are some
+members of the hash which are private to Tk and its tkGlue code. Keys
+starting with B<'.'> and of the form B</_[A-Z][A-Za-z_]+_/>
+(i.e. starting and ending in _ and with first char after _ being upper case) should be
+considered reserved to B<Tk>.
+
+=item B<Tk::Button>, B<Tk::Entry>, B<Tk::Text> ...
+
+There is one class for each of the "Tk" widget item types.
+Some of them like B<Tk::Frame> do very little indeed, and really
+only exist so that they can be derived from or so that focus or menu
+traversal can discover the "kind" of window being processed.
+
+Other classes, B<Tk::Text> for example, provide a lot of methods
+used with Tk's "bind" to provide a rich keyboard/mouse interface
+to the widgets' data.
+
+These widget classes also include conversions of the Tcl code for
+event bindings, keyboard focus traversal, menu bars, and menu keyboard
+traversal. All the Tcl functions have been converted, but the names have
+changed (systematically) and they have been split up between the various
+classes in what I hope is an appropriate manner.
+Name changes are normally: dropping initial tk_ as the Tk-ness is implicit
+in the B<Tk::> prefix, and similarly dropping say Menu from the name if it
+has been moved the Tk::Menu class.
+Thus 'proc tkMenuNextEntry' becomes 'sub NextEntry' in the Tk::Menu package.
+
+=item B<Tk::Image>
+
+This does for Tk8.x's "images" what B<Tk::Widget> does for widgets.
+Images are new to Tk8.x and the class structure is not mature either.
+
+There are three sub-classes B<Tk::Bitmap>, B<Tk::Pixmap> and B<Tk::Photo>.
+
+It is possible to create dynamic or auto-loaded image types inherited
+from B<Tk::Image> for other image types or photo formats (e.g. support
+for TIFF format).
+
+=item Composite Widgets
+
+A composite is some kind of 'frame' with subwidgets which give it useful behaviour.
+B<Tk::Dialog> is an example of
+a composite widget classes built from the basic B<Tk> ones.
+It is intended that user code should not need to be aware that a particular
+class is a composite, and create and configure such widgets in the same manner
+as any other kind. The B<configure> mechanism and the methods of the
+class manipulate the subwidgets as required.
+
+Composite widgets are implemented via B<Tk::Frame> and multiple inheritance.
+The two 'frame' base classes B<Tk::Frame> and
+B<Tk::Toplevel> include the additional class B<Tk::Derived>
+in their inheritance. B<Tk::Derived> provides methods to allow additional
+B<configure> options to be defined for a widget.
+
+A Composite widget is typically defined as derived
+from B<Tk::Frame> or B<Tk::Toplevel>
+(e.g. B<Tk::Dialog>).
+
+=back
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk.pod b/Master/tlpkg/tlperl/lib/Tk/pTk.pod
new file mode 100644
index 00000000000..6e1a2a04022
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk.pod
@@ -0,0 +1,550 @@
+=head1 NAME
+
+Tk2portableTk - how to make your B<Tk> source portable to other
+interpreted languages.
+
+=for category C Programming
+
+=head1 Author
+
+Ilya Zakharevich <ilya@math.ohio-state.edu> has contributed most of
+this document. Many thanks.
+
+=head1 DESCRIPTION
+
+B<PortableTk> is an attempt to make B<Tk> useful from other
+languages. Currently tk4.0 runs under Perl using this
+approach. Below, I<Lang> is the notation for an external language to
+which B<PortableTk> glues B<Tk> code.
+
+The main problem with using the code developed for B<TCL> with
+different languages is the absence of data types: almost anything is
+C<char*>. It makes automatic translation hopeless. However, if you
+C<typedef> several new symbols to be C<char*>, you can still use your
+code in B<TCL>, I<and> it will make the automatic translation
+possible.
+
+Another problem with the approach that "everything is a string" is
+impossibility to have a result that says "NotApplicable" without
+setting an error. Thus different B<Tk> command return different string
+values that mean "error happened", like C<"">, C<" "> or
+C<"??">. Other languages can be more flexible, so in B<portableTk> you
+should inform the compiler that what you want to return means "error"
+(see L<Setting variables>).
+
+Currently B<PortableTk> uses several different approachs
+to simplify translation: several B<TCL> functions that are especially
+dangerous to use are undefined, so you can easily find places that
+need to be updated to use Language-independent functions based on
+compiler warnings. Eventually a way to use these Language-independent
+functions under proper B<TCL> will be also provided. The end of this
+document provides a starting point for such a project.
+
+=head1 Structure of B<pTk>, porting your code
+
+B<pTk>, that is a port of B<Tk>, is very special with respect to porting
+of other code to B<portableTk>. The problem is that currently there is
+very little hope to merge the modifications back into B<Tk>, so a
+special strategy is needed to maintain this port. Do not use this
+strategy to port your own code.
+
+B<pTk> is produced from B<Tk> via a two-step process: first, some
+manual editing (the result is in the subdirectory C<mTk>), and second,
+automatic conversion by the C<munge> script (written in Perl). Thus the
+subdirectory C<pTk/mTk> contains code with minimal possible difference
+from the virgin B<Tk> code, so it is easier to merge(1) the
+differences between B<Tk> versions into modified code.
+
+It looks like the strategy for a portable code should be exactly
+opposite: starting from B<TCL>-based code, apply C<munge>, and then
+hand-edit the resulting code. Probably it is also possible to target
+your code to B<portableTk> from scratch, since this will make it
+possible to run it under a lot of I<Lang>uages.
+
+The only reason anyone would like to look into contents of C<pTk/mTk>
+directory is to find out which constructs are not supported by
+C<munge>. On the other hand, C<pTk> directory contains code that is
+conformant to B<portableTk>, so you can look there to find example code.
+
+C<munge> is the script that converts most common B<Tk> constructs to
+their C<portableTk> equivalent. For your code to qualify, you should
+follow B<Tk> conventions on indentation and names of variables, in
+particular, the array of arguments for the C<...CmdProc> should be
+called C<argv>.
+
+For details on what C<munge> can do, see
+L<Translation of some TCL functions>.
+
+=head1 B<PortableTk> API
+
+=head2 Checking what you are running under
+
+B<PortableTk> provides a symbol C<????>. If this symbol is defined,
+your source is compiled with it.
+
+=head2 New types of configuration options
+
+B<PortableTk> defines several new types of configuration options:
+
+ TK_CONFIG_CALLBACK
+ TK_CONFIG_LANGARG
+ TK_CONFIG_SCALARVAR
+ TK_CONFIG_HASHVAR
+ TK_CONFIG_ARRAYVAR
+ TK_CONFIG_IMAGE
+
+You should use them instead of TK_CONFIG_STRING whenever
+appropriate. This allows your application to receive a direct
+representation of the corresponding resource instead of the string
+representation, if this is possible under given language.
+
+???? It looks like C<TK_CONFIG_IMAGE> and C<TK_CONFIG_SCALARVAR> set
+variables of type C<char*>.
+
+=head2 Language data
+
+The following data types are defined:
+
+=over 4
+
+=item C<Tcl_Obj *>
+
+is the main datatype of the language. This is a type that your C
+function gets pointers to for arguments when the corresponding I<Lang>
+function is called. The corresponding config type is
+C<TK_CONFIG_LANGARG>.
+
+This is also a type that keeps information about contents of I<Lang>
+variable.
+
+=item C<Var>
+
+Is a substitute for a C<char *> that contains name of variable. In
+I<Lang> it is an object that contains reference to another I<Lang>
+variable.
+
+=item C<LangResultSave>
+
+????
+
+=item C<LangCallback>
+
+C<LangCallback*> a substitute for a C<char *> that contains command to
+call. The corresponding config type is C<TK_CONFIG_CALLBACK>.
+
+=item C<LangFreeProc>
+
+It is the type that the C<Lang_SplitList> sets. Before you call it,
+declare
+
+ Args *args;
+ LangFreeProc *freeProc = NULL;
+ ...
+ code = Lang_SplitList(interp, value,
+ &argc, &args, &freeProc);
+
+After you use the split values, call
+
+ if (args != NULL && freeProc) (*freeProc)(argc,args);
+
+It is not guaranteed that the C<args> can survive deletion of C<value>.
+
+=back
+
+=head2 Conversion
+
+The following macros and functions are used for conversion between
+strings and the additional types:
+
+ LangCallback * LangMakeCallback(Tcl_Obj *)
+ Tcl_Obj * LangCallbackArg(LangCallback *)
+ char * LangString(Tcl_Obj *)
+
+After you use the result of LangCallbackArg(), you should free it with
+C<freeProc> C<LANG_DYNAMIC> (it is not guaranteed that any change of
+C<Tcl_Obj *> will not be reflected in <LangCallback>, so you cannot do
+LangSet...() in between, and you should reset it to C<NULL> if you
+want to do any further assignments to this C<Tcl_Obj *>).
+
+The following function returns the C<Tcl_Obj *> that is a reference to C<Var>:
+
+ Tcl_Obj * LangVarArg(Var)
+
+???? It is very anti-intuitive, I hope the name is changed.
+
+ int LangCmpCallback(LangCallback *a,Tcl_Obj * b)
+
+(currently only a stub), and, at last,
+
+ LangCallback * LangCopyCallback(LangCallback *)
+
+=head2 Callbacks
+
+Above we have seen the new datatype C<LangCallback> and the
+corresponding I<Config option> C<TK_CONFIG_CALLBACK>. The following
+functions are provided for manipulation of C<LangCallback>s:
+
+ void LangFreeCallback(LangCallback *)
+ int LangDoCallback(Tcl_Interp *,LangCallback *,
+ int result,int argc, char *format,...)
+
+The argument C<format> of C<LangDoCallback> should contain a string that is
+suitable for C<sprintf> with optional arguments of C<LangDoCallback>.
+C<result> should be false if result of callback is not needed.
+
+ int LangMethodCall(Tcl_Interp *,Tcl_Obj *,char *method,
+ int result,int argc,...)
+
+????
+
+Conceptually, C<LangCallback*> is a substitute for ubiquitous C<char *>
+in B<TCL>. So you should use C<LangFreeCallback> instead of C<ckfree>
+or C<free> if appropriate.
+
+=head2 Setting variables
+
+ void LangFreeArg (Tcl_Obj *, Tcl_FreeProc *freeProc)
+ Tcl_Obj * LangCopyArg (Tcl_Obj *);
+ void Tcl_AppendArg (Tcl_Interp *interp, Tcl_Obj *)
+ void LangSetString(Tcl_Obj * *, char *s)
+ void LangSetDefault(Tcl_Obj * *, char *s)
+
+These two are equivalent unless s is an empty string. In this case
+C<LangSetDefault> behaves like C<LangSetString> with C<s==NULL>, i.e.,
+it sets the current value of the I<Lang> variable to be false.
+
+ void LangSetInt(Tcl_Obj * *,int)
+ void LangSetDouble(Tcl_Obj * *,double)
+
+The I<Lang> functions separate uninitialized and initialized data
+comparing data with C<NULL>. So the declaration for an C<Tcl_Obj *> should
+look like
+
+ Tcl_Obj * arg = NULL;
+
+if you want to use this C<arg> with the above functions. After you are
+done, you should use C<LangFreeArg> with C<TCL_DYNAMIC> as C<freeProc>.
+
+=head2 Language functions
+
+Use
+
+=over 4
+
+=item C<int LangNull(Tcl_Obj *)>
+
+to check that an object is false;
+
+=item C<int LangStringMatch(char *string, Tcl_Obj * match)>
+
+????
+
+=item C<void LangExit(int)>
+
+to make a proper shutdown;
+
+=item C<int LangEval(Tcl_Interp *interp, char *cmd, int global)>
+
+to call I<Lang> C<eval>;
+
+=item C<void Lang_SetErrorCode(Tcl_Interp *interp,char *code)>
+
+=item C<char *Lang_GetErrorCode(Tcl_Interp *interp)>
+
+=item C<char *Lang_GetErrorInfo(Tcl_Interp *interp)>
+
+=item C<void LangCloseHandler(Tcl_Interp *interp,Tcl_Obj * arg,FILE *f,Lang_FileCloseProc *proc)>
+
+currently stubs only;
+
+=item C<int LangSaveVar(Tcl_Interp *,Tcl_Obj * arg,Var *varPtr,int type)>
+
+to save the structure C<arg> into I<Lang> variable C<*varPtr>;
+
+=item C<void LangFreeVar(Var var)>
+
+to free the result;
+
+=item C<int LangEventCallback(Tcl_Interp *,LangCallback *,XEvent *,KeySym)>
+
+????
+
+=item C<int LangEventHook(int flags)>
+
+=item C<void LangBadFile(int fd)>
+
+=item C<int LangCmpConfig(char *spec, char *arg, size_t length)>
+
+unsupported????;
+
+=item C<void Tcl_AppendArg (Tcl_Interp *interp, Tcl_Obj *)>
+
+=back
+
+Another useful construction is
+
+ Tcl_Obj * variable = LangFindVar(interp, Tk_Window tkwin, char *name);
+
+After using the above function, you should call
+
+ LangFreeVar(Var variable);
+
+???? Note discrepancy in types!
+
+If you want to find the value of a variable (of type C<Tcl_Obj *>) given the
+variable name, use C<Tcl_GetVar(interp, varName, flags)>. If you are
+interested in the string value of this variable, use
+C<LangString(Tcl_GetVar(...))>.
+
+To get a B<C> array of C<Tcl_Obj *> of length C<n>, use
+
+ Tcl_Obj * *args = LangAllocVec(n);
+ ...
+ LangFreeVec(n,args);
+
+You can set the values of the C<Tcl_Obj *>s using C<LangSet...> functions,
+and get string value using C<LangString>.
+
+If you want to merge an array of C<Tcl_Obj *>s into one C<Tcl_Obj *> (that will
+be an array variable), use
+
+ result = Tcl_Merge(listLength, list);
+
+=head2 Translation of some TCL functions
+
+We mark items that can be dealt with by C<munge> by I<Autoconverted>.
+
+=over 4
+
+=item C<Tcl_AppendResult>
+
+does not take C<(char*)NULL>, but C<NULL> as delimiter. I<Autoconverted>.
+
+=item C<Tcl_CreateCommand>, C<Tcl_DeleteCommand>
+
+C<Tk_CreateWidget>, C<Tk_DeleteWidget>, the second argument is the
+window itself, not the pathname. I<Autoconverted>.
+
+=item C<sprintf(interp-E<gt>result, "%d %d %d %d",...)>
+
+C<Tcl_IntResults(interp,4,0,...)>. I<Autoconverted>.
+
+=item C<interp-E<gt>result = "1";>
+
+C<Tcl_SetResult(interp,"1", TCL_STATIC)>. I<Autoconverted>.
+
+=item Reading C<interp-E<gt>result>
+
+C<Tcl_GetResult(interp)>. I<Autoconverted>.
+
+=item C<interp-E<gt>result = Tk_PathName(textPtr-E<gt>tkwin);>
+
+C<Tk_WidgetResult(interp,textPtr-E<gt>tkwin)>. I<Autoconverted>.
+
+=item Sequence C<Tcl_PrintDouble, Tcl_PrintDouble, ..., Tcl_AppendResult>
+
+Use a single command
+
+ void Tcl_DoubleResults(Tcl_Interp *interp, int append,
+ int argc,...);
+
+C<append> governs whether it is required to clear the result first.
+
+A similar command for C<int> arguments is C<Tcl_IntResults>.
+
+=item C<Tcl_SplitList>
+
+Use C<Lang_SplitList> (see the description above).
+
+=back
+
+=head1 Translation back to TCL
+
+To use your B<portableTk> program with B<TCL>, put
+
+ #include "ptcl.h"
+
+I<before> inclusion of C<tk.h>, and link the resulting code with
+C<ptclGlue.c>.
+
+These files currently implement the following:
+
+=over 4
+
+=item Additional config types:
+
+ TK_CONFIG_CALLBACK
+ TK_CONFIG_LANGARG
+ TK_CONFIG_SCALARVAR
+ TK_CONFIG_HASHVAR
+ TK_CONFIG_ARRAYVAR
+ TK_CONFIG_IMAGE
+
+=item Types:
+
+ Var, Tcl_Obj *, LangCallback, LangFreeProc.
+
+=item Functions and macros:
+
+ Lang_SplitList, LangString, LangSetString, LangSetDefault,
+ LangSetInt, LangSetDouble Tcl_ArgResult, LangCallbackArg,
+ LangSaveVar, LangFreeVar,
+ LangFreeSplitProc, LangFreeArg, Tcl_DoubleResults, Tcl_IntResults,
+ LangDoCallback, Tk_WidgetResult, Tcl_CreateCommand,
+ Tcl_DeleteCommand, Tcl_GetResult.
+
+=back
+
+Current implementation contains enough to make it possible to compile
+C<mTk/tkText*.[ch]> with the virgin B<Tk>.
+
+=head2 New types of events ????
+
+PortableTk defines following new types of events:
+
+ TK_EVENTTYPE_NONE
+ TK_EVENTTYPE_STRING
+ TK_EVENTTYPE_NUMBER
+ TK_EVENTTYPE_WINDOW
+ TK_EVENTTYPE_ATOM
+ TK_EVENTTYPE_DISPLAY
+ TK_EVENTTYPE_DATA
+
+and a function
+
+ char * Tk_EventInfo(int letter,
+ Tk_Window tkwin, XEvent *eventPtr,
+ KeySym keySym, int *numPtr, int *isNum, int *type,
+ int num_size, char *numStorage)
+
+=head1 Checking for trouble
+
+If you start with working TCL code, you can start convertion using
+the above hints. Good indication that you are doing is OK is absence
+of C<sprintf> and C<sscanf> in your code (at least in the part that is
+working with interpreter).
+
+=head1 Additional API
+
+What is described here is not included into base B<portableTk>
+distribution. Currently it is coded in B<TCL> and as Perl macros (core
+is coded as functions, so theoretically you can use the same object
+files with different interpreted languages).
+
+=head2 C<ListFactory>
+
+Dynamic arrays in B<TCL> are used for two different purposes: to
+construct strings, and to construct lists. These two usages will have
+separate interfaces in other languages (since list is a different type
+from a string), so you should use a different interface in your code.
+
+The type for construction of dynamic lists is C<ListFactory>. The API
+below is a counterpart of the API for construction of dynamic lists
+in B<TCL>:
+
+ void ListFactoryInit(ListFactory *)
+ void ListFactoryFinish(ListFactory *)
+ void ListFactoryFree(ListFactory *)
+ Tcl_Obj * * ListFactoryArg(ListFactory *)
+ void ListFactoryAppend(ListFactory *, Tcl_Obj * *arg)
+ void ListFactoryAppendCopy(ListFactory *, Tcl_Obj * *arg)
+ ListFactory * ListFactoryNewLevel(ListFactory *)
+ ListFactory * ListFactoryEndLevel(ListFactory *)
+ void ListFactoryResult(Tcl_Interp *, ListFactory *)
+
+The difference is that a call to C<ListFactoryFinish> should precede the
+actual usage of the value of C<ListFactory>, and there are two
+different ways to append an C<Tcl_Obj *> to a C<ListFactory>:
+ListFactoryAppendCopy() guarantees that the value of C<arg> is copied
+to the list, but ListFactoryAppend() may append to the list a
+reference to the current value of C<arg>. If you are not going to change
+the value of C<arg> after appending, the call to ListFactoryAppend may
+be quicker.
+
+As in B<TCL>, the call to ListFactoryFree() does not free the
+C<ListFactory>, only the objects it references.
+
+The functions ListFactoryNewLevel() and ListFactoryEndLevel() return a
+pointer to a C<ListFactory> to fill. The argument of
+ListFactoryEndLevel() cannot be used after a call to this function.
+
+=head2 DStrings
+
+Production of strings are still supported in B<portableTk>.
+
+=head2 Accessing C<Tcl_Obj *>s
+
+The following functions for getting a value of an C<Tcl_Obj *> I<may> be
+provided:
+
+ double LangDouble(Tcl_Obj *)
+ int LangInt(Tcl_Obj *)
+ long LangLong(Tcl_Obj *)
+ int LangIsList(Tcl_Obj * arg)
+
+The function LangIsList() is supported only partially under B<TCL>,
+since there is no data types. It checks whether there is a space
+inside the string C<arg>.
+
+=head2 Assigning numbers to C<Tcl_Obj *>s
+
+While LangSetDouble() and LangSetInt() are supported ways to assign
+numbers to assign an integer value to a variable, for the sake of
+efficiency under B<TCL> it is supposed that the destination of these
+commands was massaged before the call so it contains a long enough
+string to sprintf() the numbers inside it. If you are going to
+immediately use the resulting C<Tcl_Obj *>, the best way to do this is to
+declare a buffer in the beginning of a block by
+
+ dArgBuffer;
+
+and assign this buffer to the C<Tcl_Obj *> by
+
+ void LangSetDefaultBuffer(Tcl_Obj * *)
+
+You can also create the buffer(s) manually and assign them using
+
+ void LangSetBuffer(Tcl_Obj * *, char *)
+
+This is the only choice if you need to assign numeric values to
+several C<Tcl_Obj *>s simultaneously. The advantage of the first approach is
+that the above declarations can be made C<nop>s in different languages.
+
+Note that if you apply C<LangSetDefaultBuffer> to an C<Tcl_Obj *> that
+contains some value, you can create a leak if you do not free that
+C<Tcl_Obj *> first. This is a non-problem in real languages, but can be a
+trouble in C<TCL>, unless you use only the above API.
+
+=head2 Creating new C<Tcl_Obj *>s
+
+The API for creating a new C<Tcl_Obj *> is
+
+ void LangNewArg(Tcl_Obj * *, LangFreeProc *)
+
+The API for creating a new C<Tcl_Obj *> is absent. Just initialize C<Tcl_Obj *> to
+be C<NULL>, and apply one of C<LangSet...> methods.
+
+After you use this C<Tcl_Obj *>, it should be freed thusly:
+
+C<LangFreeArg(arg, freeProc)>.
+
+=head2 Evaluating a list
+
+Use
+
+ int LangArgEval(Tcl_Interp *, Tcl_Obj * arg)
+
+Here C<arg> should be a list to evaluate, in particular, the first
+element should be a C<LangCallback> massaged to be an C<Tcl_Obj *>. The
+arguments can be send to the subroutine by reference or by value in
+different languages.
+
+=head2 Getting result as C<Tcl_Obj *>
+
+Use C<Tcl_ArgResult>. It is not guaranteed that result survives this
+operation, so the C<Tcl_Obj *> you get should be the only mean to access the
+data from this moment on. After you use this C<Tcl_Obj *>, you should free
+it with C<freeProc> C<LANG_DYNAMIC> (you can do LangSet...() in between).
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/pack.pod b/Master/tlpkg/tlperl/lib/Tk/pack.pod
new file mode 100644
index 00000000000..0449556265c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/pack.pod
@@ -0,0 +1,324 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::pack - Geometry manager that packs around edges of cavity
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<pack>?(I<args>)?
+
+S< >I<$widget>-E<gt>B<pack>I<Option>?(I<args>)?
+
+=head1 DESCRIPTION
+
+The B<pack> method is used to communicate with the packer,
+a geometry manager that arranges the children of a parent by
+packing them in order around the edges of the parent.
+
+In this B<perl> port of Tk it is normal to pack widgets one-at-a-time
+using the widget object to be packed to invoke a method call.
+This is a slight distortion of underlying Tk interface (which
+can handle lists of windows to one pack method call) but has proven
+effective in practice.
+
+The B<pack> method can have any of several forms, depending
+on I<Option>:
+
+=over 4
+
+=item I<$slave>-E<gt>B<pack>?(I<options>)?
+
+The options consist of pairs of arguments that specify how
+to manage the slave.
+See L<"THE PACKER ALGORITHM"> below for details on how the options
+are used by the packer.
+The following options are supported:
+
+=over 8
+
+=item B<-after> =E<gt> I<$other>
+
+I<$other> must be another window.
+Use its master as the master for the slave, and insert
+the slave just after I<$other> in the packing order.
+
+=item B<-anchor> =E<gt> I<anchor>
+
+I<Anchor> must be a valid anchor position such as B<n>
+or B<sw>; it specifies where to position each slave in its
+parcel.
+Defaults to B<center>.
+
+=item B<-before> =E<gt> I<$other>
+
+I<$other> must be another window.
+Use its master as the master for the slave, and insert
+the slave just before I<$other> in the packing order.
+
+=item B<-expand> =E<gt> I<boolean>
+
+Specifies whether the slave should be expanded to consume
+extra space in their master.
+I<Boolean> may have any proper boolean value, such as B<1>
+or B<no>.
+Defaults to 0.
+
+=item B<-fill> =E<gt> I<style>
+
+If a slave's parcel is larger than its requested dimensions, this
+option may be used to stretch the slave.
+I<Style> must have one of the following values:
+
+=over 12
+
+=item B<none>
+
+Give the slave its requested dimensions plus any internal padding
+requested with B<-ipadx> or B<-ipady>. This is the default.
+
+=item B<x>
+
+Stretch the slave horizontally to fill the entire width of its
+parcel (except leave external padding as specified by B<-padx>).
+
+=item B<y>
+
+Stretch the slave vertically to fill the entire height of its
+parcel (except leave external padding as specified by B<-pady>).
+
+=item B<both>
+
+Stretch the slave both horizontally and vertically.
+
+=back
+
+=item B<-in> =E<gt> I<$master>
+
+Insert the slave(s) at the end of the packing order for the master
+window given by I<$master>.
+
+=item B<-ipadx> =E<gt> I<amount>
+
+I<Amount> specifies how much horizontal internal padding to
+leave on each side of the slave(s).
+I<Amount> must be a valid screen distance, such as B<2> or B<.5c>.
+It defaults to 0.
+
+=item B<-ipady> =E<gt> I<amount>
+
+I<Amount> specifies how much vertical internal padding to
+leave on each side of the slave(s).
+I<Amount> defaults to 0.
+
+=item B<-padx> =E<gt> I<amount>
+
+I<Amount> specifies how much horizontal external padding to
+leave on each side of the slave(s).
+I<Amount> defaults to 0.
+
+=item B<-pady> =E<gt> I<amount>
+
+I<Amount> specifies how much vertical external padding to
+leave on each side of the slave(s).
+I<Amount> defaults to 0.
+
+=item B<-side> =E<gt> I<side>
+
+Specifies which side of the master the slave(s) will be packed against.
+Must be B<left>, B<right>, B<top>, or B<bottom>.
+Defaults to B<top>.
+
+=back
+
+=back
+
+If no B<-in>, B<-after> or B<-before> option is specified
+then slave will be inserted at the end of the packing list
+for its parent unless it is already managed by the packer (in which
+case it will be left where it is).
+If one of these options is specified then slave will be
+inserted at the specified point.
+If the slave are already managed by the geometry manager
+then any unspecified options for them retain their previous values rather
+than receiving default values.
+
+=over 4
+
+=item I<$slave>-E<gt>B<packConfigure>?(I<options>)?
+
+Same as B<pack>.
+
+=item I<$slave>-E<gt>B<packForget>
+
+Removes I<slave> from the packing order for its
+master and unmaps its window.
+The slave will no longer be managed by the packer.
+
+=item I<$slave>-E<gt>B<packInfo>
+
+Returns a list whose elements are the current configuration state of
+the slave given by I<$slave> in the same option-value form that
+might be specified to B<packConfigure>.
+The first two elements of the list are ``B<-in>=E<gt>I<$master>'' where
+I<$master> is the slave's master.
+
+=item I<$master>-E<gt>B<packPropagate>?(I<boolean>)?
+
+If I<boolean> has a true boolean value such as B<1> or B<on>
+then propagation is enabled for I<$master>,
+(see L<"GEOMETRY PROPAGATION"> below).
+If I<boolean> has a false boolean value then propagation is
+disabled for I<$master>.
+In either of these cases an empty string is returned.
+If I<boolean> is omitted then the method returns B<0> or
+B<1> to indicate whether propagation is currently enabled
+for I<$master>.
+Propagation is enabled by default.
+
+=item I<$master>-E<gt>B<packSlaves>
+
+Returns a list of all of the slaves in the packing order for I<$master>.
+The order of the slaves in the list is the same as their order in
+the packing order.
+If I<$master> has no slaves then an empty list/string is returned in
+array/scalar context, respectively
+
+=back
+
+=head1 THE PACKER ALGORITHM
+
+For each master the packer maintains an ordered list of slaves
+called the I<packing list>.
+The B<-in>, B<-after>, and B<-before> configuration
+options are used to specify the master for each slave and the slave's
+position in the packing list.
+If none of these options is given for a slave then the slave
+is added to the end of the packing list for its parent.
+
+The packer arranges the slaves for a master by scanning the
+packing list in order.
+At the time it processes each slave, a rectangular area within
+the master is still unallocated.
+This area is called the I<cavity>; for the first slave it
+is the entire area of the master.
+
+For each slave the packer carries out the following steps:
+
+=over 4
+
+=item [1]
+
+The packer allocates a rectangular I<parcel> for the slave
+along the side of the cavity given by the slave's B<-side> option.
+If the side is top or bottom then the width of the parcel is
+the width of the cavity and its height is the requested height
+of the slave plus the B<-ipady> and B<-pady> options.
+For the left or right side the height of the parcel is
+the height of the cavity and the width is the requested width
+of the slave plus the B<-ipadx> and B<-padx> options.
+The parcel may be enlarged further because of the B<-expand>
+option (see L<"EXPANSION"> below)
+
+=item [2]
+
+The packer chooses the dimensions of the slave.
+The width will normally be the slave's requested width plus
+twice its B<-ipadx> option and the height will normally be
+the slave's requested height plus twice its B<-ipady>
+option.
+However, if the B<-fill> option is B<x> or B<both>
+then the width of the slave is expanded to fill the width of the parcel,
+minus twice the B<-padx> option.
+If the B<-fill> option is B<y> or B<both>
+then the height of the slave is expanded to fill the width of the parcel,
+minus twice the B<-pady> option.
+
+=item [3]
+
+The packer positions the slave over its parcel.
+If the slave is smaller than the parcel then the B<-anchor>
+option determines where in the parcel the slave will be placed.
+If B<-padx> or B<-pady> is non-zero, then the given
+amount of external padding will always be left between the
+slave and the edges of the parcel.
+
+Once a given slave has been packed, the area of its parcel
+is subtracted from the cavity, leaving a smaller rectangular
+cavity for the next slave.
+If a slave doesn't use all of its parcel, the unused space
+in the parcel will not be used by subsequent slaves.
+If the cavity should become too small to meet the needs of
+a slave then the slave will be given whatever space is
+left in the cavity.
+If the cavity shrinks to zero size, then all remaining slaves
+on the packing list will be unmapped from the screen until
+the master window becomes large enough to hold them again.
+
+=back
+
+=head1 EXPANSION
+
+If a master window is so large that there will be extra space
+left over after all of its slaves have been packed, then the
+extra space is distributed uniformly among all of the slaves
+for which the B<-expand> option is set.
+Extra horizontal space is distributed among the expandable
+slaves whose B<-side> is B<left> or B<right>,
+and extra vertical space is distributed among the expandable
+slaves whose B<-side> is B<top> or B<bottom>.
+
+=head1 GEOMETRY PROPAGATION
+
+The packer normally computes how large a master must be to
+just exactly meet the needs of its slaves, and it sets the
+requested width and height of the master to these dimensions.
+This causes geometry information to propagate up through a
+window hierarchy to a top-level window so that the entire
+sub-tree sizes itself to fit the needs of the leaf windows.
+However, the B<packPropagate> method may be used to
+turn off propagation for one or more masters.
+If propagation is disabled then the packer will not set
+the requested width and height of the packer.
+This may be useful if, for example, you wish for a master
+window to have a fixed size that you specify.
+
+=head1 RESTRICTIONS ON MASTER WINDOWS
+
+The master for each slave must either be the slave's parent
+(the default) or a descendant of the slave's parent.
+This restriction is necessary to guarantee that the
+slave can be placed over any part of its master that is
+visible without danger of the slave being clipped by its parent.
+
+=head1 PACKING ORDER
+
+If the master for a slave is not its parent then you must make sure
+that the slave is higher in the stacking order than the master.
+Otherwise the master will obscure the slave and it will appear as
+if the slave hasn't been packed correctly.
+The easiest way to make sure the slave is higher than the master is
+to create the master window first: the most recently created window
+will be highest in the stacking order.
+Or, you can use the B<raise> and B<lower> methods to change
+the stacking order of either the master or the slave.
+
+=head1 SEE ALSO
+
+L<Tk::form|Tk::form>
+L<Tk::grid|Tk::grid>
+L<Tk::place|Tk::place>
+
+=head1 KEYWORDS
+
+geometry manager, location, packer, parcel, propagation, size
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/palette.pod b/Master/tlpkg/tlperl/lib/Tk/palette.pod
new file mode 100644
index 00000000000..35a6ca0a40b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/palette.pod
@@ -0,0 +1,89 @@
+# Copyright (c) 1995-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::palette - Modify the Tk color palette
+
+=for category Creating and Configuring Widgets
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<setPalette>(I<background>)
+
+I<$widget>-E<gt>B<setPalette(>I<name>=E<gt>I<value>?,I<name>=E<gt>I<value ...>?)
+
+I<$widget>-E<gt>B<bisque>
+
+=head1 DESCRIPTION
+
+The B<setPalette> method changes the color scheme for Tk.
+It does this by modifying the colors of existing widgets and by changing
+the option database so that future widgets will use the new color scheme.
+If B<setPalette> is invoked with a single argument, the
+argument is the name of a color to use as the normal background
+color; B<setPalette> will compute a complete color palette
+from this background color.
+Alternatively, the arguments to B<setPalette> may consist of any number
+of I<name>-I<value> pairs, where the first argument of the pair
+is the name of an option in the Tk option database and the second
+argument is the new value to use for that option. The following
+database names are currently supported:
+
+ activeBackground foreground selectColor
+ activeForeground highlightBackground selectBackground
+ background highlightColor selectForeground
+ disabledForeground insertBackground troughColor
+
+B<setPalette> tries to compute reasonable defaults for any
+options that you don't specify. You can specify options other
+than the above ones and Tk will change those options on widgets as
+well. This feature may be useful if you are using custom widgets with
+additional color options.
+
+Once it has computed the new value to use for each of the color options,
+B<setPalette> scans the widget hierarchy to modify the options
+of all existing widgets. For each widget, it checks to see if any
+of the above options is defined for the widget. If so, and if the
+option's current value is the default, then the value is changed; if
+the option has a value other than the default, B<setPalette>
+will not change it. The default for an option is the one provided by
+the widget (B<($w-E<gt>configure('option'))[3]>) unless
+B<setPalette> has been run previously, in which case it is the
+value specified in the previous invocation of B<setPalette>.
+
+After modifying all the widgets in the application, B<setPalette>
+adds options to the option database to change the defaults for
+widgets created in the future. The new options are added at
+priority B<widgetDefault>, so they will be overridden by options
+from the .Xdefaults file or options specified on the command-line
+that creates a widget.
+
+The method B<bisque> is provided for backward compatibility:
+it restores the application's colors to the light brown (``bisque'')
+color scheme used in Tk 3.6 and earlier versions.
+
+=head1 BUGS
+
+The use of option database names rather than the configure names is
+understandable given the mechanism (copied from Tcl/Tk), but
+is potentially confusing.
+
+The interpolation of different 'shades' of color used for 3D effects
+in 'RGB' space can lead to undesirable changes in 'hue'.
+Interpolation in 'HSV' (as used in B<Tk::ColorEditor>) would be more
+robust and X11R5's color support probably even more so.
+
+=head1 SEE ALSO
+
+L<Tk::options|Tk::options>
+
+=head1 KEYWORDS
+
+bisque, color, palette
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/place.pod b/Master/tlpkg/tlperl/lib/Tk/place.pod
new file mode 100644
index 00000000000..9f7e74f210f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/place.pod
@@ -0,0 +1,283 @@
+# Copyright (c) 1992 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::place - Geometry manager for fixed or rubber-sheet placement
+
+=for category Tk Geometry Management
+
+=head1 SYNOPSIS
+
+S< >I<$widget>->B<place>?(I<-option>=>I<value>?, I<-option>=>I<value>, ...)?
+
+S< >I<$widget>->B<placeForget>
+
+S< >I<$widget>->B<placeInfo>
+
+S< >I<$master>->B<placeSlaves>
+
+=head1 DESCRIPTION
+
+The placer is a geometry manager for Tk.
+It provides simple fixed placement of windows, where you specify
+the exact size and location of one window, called the I<slave>,
+within another window, called the I<master>.
+The placer also provides rubber-sheet placement, where you specify the
+size and location of the slave in terms of the dimensions of
+the master, so that the slave changes size and location
+in response to changes in the size of the master.
+Lastly, the placer allows you to mix these styles of placement so
+that, for example, the slave has a fixed width and height but is
+centered inside the master.
+
+=over 4
+
+=item I<$slave>->B<place>?(I<-option>=>I<value>?, I<-option>=>I<value>, ...?)?
+
+The B<place> method arranges for the placer
+to manage the geometry of I<$slave>.
+The remaining arguments consist of one or more I<-option>=>I<value>
+pairs that specify the way in which I<$slave>'s
+geometry is managed. I<-option> may have any of the values accepted
+by the L<< placeConfigure|/$slave->placeConfigure >> method.
+
+The B<place> method returns I<$slave>.
+
+=item I<$slave>->B<placeConfigure>?(I<-option>=>I<value>?, I<-option>=>I<value>, ...?)?
+
+Query or modify the geometry options of the I<$slave>. If no option is
+specified, this method returns a list describing the available
+options (see Tk_ConfigureInfo for information on the format of this
+list). If option is specified with no value, then the command returns
+a list describing the one named option (this list will be identical to
+the corresponding sublist of the value returned if no option is
+specified). If one or more option-value pairs are specified, then the
+method modifies the given option(s) to have the given value(s); in
+this case the command returns C<undef>.
+
+The following I<-option>=>I<value> pairs are supported:
+
+=over 8
+
+=item B<-anchor> => I<where>
+
+I<Where> specifies which point of I<$slave> is to be positioned
+at the (x,y) location selected by the B<-x>, B<-y>,
+B<-relx>, and B<-rely> options.
+The anchor point is in terms of the outer area of I<$slave>
+including its border, if any.
+Thus if I<where> is B<se> then the lower-right corner of
+I<$slave>'s border will appear at the given (x,y) location
+in the master.
+The anchor position defaults to B<nw>.
+
+=item B<-bordermode> => I<mode>
+
+I<Mode> determines the degree to which borders within the
+master are used in determining the placement of the slave.
+The default and most common value is B<inside>.
+In this case the placer considers the area of the master to
+be the innermost area of the master, inside any border:
+an option of B<-x>=>B<0> corresponds to an x-coordinate just
+inside the border and an option of B<-relwidth>=>1.0
+means I<$slave> will fill the area inside the master's
+border.
+If I<mode> is B<outside> then the placer considers
+the area of the master to include its border;
+this mode is typically used when placing I<$slave>
+outside its master, as with the options
+B<-x>=>B<0>, B<-y>=>B<0>, B<-anchor>=>B<ne>.
+Lastly, I<mode> may be specified as B<ignore>, in which
+case borders are ignored: the area of the master is considered
+to be its official X area, which includes any internal border but
+no external border. A bordermode of B<ignore> is probably
+not very useful.
+
+=item B<-height> => I<size>
+
+I<Size> specifies the height for I<$slave> in screen units
+(i.e. any of the forms accepted by B<Tk_GetPixels>).
+The height will be the outer dimension of I<$slave> including its
+border, if any.
+If I<size> is an empty string, or if no B<-height> or
+B<-relheight> option is specified, then the height requested
+internally by the window will be used.
+
+=item B<-in> => I<$master>
+
+I<$master> is the reference to the window relative
+to which I<$slave> is to be placed.
+I<$master> must either be I<$slave>'s parent or a descendant
+of I<$slave>'s parent.
+In addition, I<$master> and I<$slave> must both be descendants
+of the same top-level window.
+These restrictions are necessary to guarantee
+that I<$slave> is visible whenever I<$master> is visible.
+If this option isn't specified then the master defaults to
+I<$slave>'s parent.
+
+=item B<-relheight> => I<size>
+
+I<Size> specifies the height for I<$slave>.
+In this case the height is specified as a floating-point number
+relative to the height of the master: 0.5 means I<$slave> will
+be half as high as the master, 1.0 means I<$slave> will have
+the same height as the master, and so on.
+If both B<-height> and B<-relheight> are specified for a slave,
+their values are summed. For example, B<-relheight>=>1.0, B<-height>=>-2
+makes the slave 2 pixels shorter than the master.
+
+=item B<-relwidth> => I<size>
+
+I<Size> specifies the width for I<$slave>.
+In this case the width is specified as a floating-point number
+relative to the width of the master: 0.5 means I<$slave> will
+be half as wide as the master, 1.0 means I<$slave> will have
+the same width as the master, and so on.
+If both B<-width> and B<-relwidth> are specified for a slave,
+their values are summed. For example, B<-relwidth>=>1.0, B<-width>=>5
+makes the slave 5 pixels wider than the master.
+
+=item B<-relx> => I<location>
+
+I<Location> specifies the x-coordinate within the master window
+of the anchor point for I<$slave> widget.
+In this case the location is specified in a relative fashion
+as a floating-point number: 0.0 corresponds to the left edge
+of the master and 1.0 corresponds to the right edge of the master.
+I<Location> need not be in the range 0.0-1.0.
+If both B<-x> and B<-relx> are specified for a slave
+then their values are summed. For example, "B<-relx>=>0.5, B<-x>=-2"
+positions the left edge of the slave 2 pixels to the left of the
+center of its master.
+
+=item B<-rely> => I<location>
+
+I<Location> specifies the y-coordinate within the master window
+of the anchor point for I<$slave> widget.
+In this case the value is specified in a relative fashion
+as a floating-point number: 0.0 corresponds to the top edge
+of the master and 1.0 corresponds to the bottom edge of the master.
+I<Location> need not be in the range 0.0-1.0.
+If both B<-y> and B<-rely> are specified for a slave
+then their values are summed. For example, B<-rely>=>0.5, B<-x>=>3
+positions the top edge of the slave 3 pixels below the
+center of its master.
+
+=item B<-width> => I<size>
+
+I<Size> specifies the width for I<$slave> in screen units
+(i.e. any of the forms accepted by B<Tk_GetPixels>).
+The width will be the outer width of I<$slave> including its
+border, if any.
+If I<size> is an empty string, or if no B<-width>
+or B<-relwidth> option is specified, then the width requested
+internally by the window will be used.
+
+=item B<-x> => I<location>
+
+I<Location> specifies the x-coordinate within the master window
+of the anchor point for I<$slave> widget.
+The location is specified in screen units (i.e. any of the forms
+accepted by B<Tk_GetPixels>) and need not lie within the bounds
+of the master window.
+
+=item B<-y> => I<location>
+
+I<Location> specifies the y-coordinate within the master window
+of the anchor point for I<$slave> widget.
+The location is specified in screen units (i.e. any of the forms
+accepted by B<Tk_GetPixels>) and need not lie within the bounds
+of the master window.
+
+=back
+
+If the same value is specified separately with
+two different options, such as B<-x> and B<-relx>, then
+the most recent option is used and the older one is ignored.
+
+=item I<$slave>->B<placeForget>
+
+The B<placeForget> method causes the placer to stop managing
+the geometry of I<$slave>. As a side effect of this method call
+I<$slave> will be unmapped so that it doesn't appear on the
+screen.
+If I<$slave> isn't currently managed by the placer then the
+method call has no effect.
+B<placeForget> returns an empty string as result.
+
+=item I<$slave>->B<placeInfo>
+
+The B<placeInfo> method returns a list giving the current
+configuration of I<$slave>.
+The list consists of I<-option>=>I<value> pairs in exactly the
+same form as might be specified to the B<place>
+method.
+
+=item I<$slave>->B<placeSlaves>
+
+The B<placeSlaves> method returns a list of all the slave
+windows for which I<$master> is the master.
+If there are no slaves for I<$master> then an empty list is
+returned.
+
+=back
+
+If the configuration of a window has been retrieved with
+B<placeInfo>, that configuration can be restored later by
+first using B<placeForget> to erase any existing information
+for the window and then invoking B<place> with
+the saved information.
+
+=head1 FINE POINTS
+
+It is not necessary for the master window to be the parent
+of the slave window.
+This feature is useful in at least two situations.
+First, for complex window layouts it means you can create a
+hierarchy of subwindows whose only purpose
+is to assist in the layout of the parent.
+The ``I<real children>'' of the parent (i.e. the windows that
+are significant for the application's user interface) can be
+children of the parent yet be placed inside the windows
+of the geometry-management hierarchy.
+This means that the path names of the ``I<real children>''
+don't reflect the geometry-management hierarchy and users
+can specify options for the real children
+without being aware of the structure of the geometry-management
+hierarchy.
+
+A second reason for having a master different than the slave's
+parent is to tie two siblings together.
+For example, the placer can be used to force a window always to
+be positioned centered just below one of its
+siblings by specifying the configuration
+
+S< >B<-in>=>I<$sibling>, B<-relx>=>0.5, B<-rely>=>1.0,
+B<-anchor>=>'n', B<-bordermode>=>'outside'
+
+Whenever the I<$sibling> widget is repositioned in the future, the slave
+will be repositioned as well.
+
+Unlike many other geometry managers (such as the packer)
+the placer does not make any attempt to manipulate the geometry of
+the master windows or the parents of slave windows (i.e. it doesn't
+set their requested sizes).
+To control the sizes of these windows, make them windows like
+frames and canvases that provide configuration options for this purpose.
+
+=head1 SEE ALSO
+
+L<Tk::form>, L<Tk::grid>, L<Tk::pack>
+
+=head1 KEYWORDS
+
+geometry manager, height, location, master, place, rubber sheet, slave, width
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/selection.pod b/Master/tlpkg/tlperl/lib/Tk/selection.pod
new file mode 100644
index 00000000000..f8a3ce54856
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/selection.pod
@@ -0,0 +1,159 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::Selection - Manipulate the X selection
+
+=for category User Interaction
+
+=head1 SYNOPSIS
+
+I<$widget>-E<gt>B<Selection>I<Option>?(I<args>)?
+
+=head1 DESCRIPTION
+
+This command provides an interface to the X selection mechanism and
+implements the full selection functionality described in the
+X Inter-Client Communication Conventions Manual (ICCCM).
+
+The widget object used to invoke the methods below determines which
+display is used to access the selection.
+In order to avoid conflicts with B<selection> methods of widget classes
+(e.g. B<Text>) this set of methods uses the prefix B<Selection>.
+The following methods are currently supported:
+
+=over 4
+
+=item I<$widget>-E<gt>B<SelectionClear>?(B<-selection>=E<gt>I<selection>)?
+
+If I<selection> exists anywhere on I<$widget>'s display, clear it
+so that no window owns the selection anymore. I<Selection>
+specifies the X selection that should be cleared, and should be an
+atom name such as PRIMARY or CLIPBOARD; see the Inter-Client
+Communication Conventions Manual for complete details.
+I<Selection> defaults to PRIMARY.
+Returns an empty string.
+
+=item I<$widget>-E<gt>B<SelectionGet>?(?B<-selection>=E<gt>I<selection>?,?B<-type>=E<gt>I<type>?)?
+
+Retrieves the value of I<selection> from I<$widget>'s display and
+returns it as a result. I<Selection> defaults to PRIMARY.
+
+I<Type> specifies the form in which the selection is to be returned
+(the desired ``target'' for conversion, in ICCCM terminology), and
+should be an atom name such as STRING or FILE_NAME; see the
+Inter-Client Communication Conventions Manual for complete details.
+I<Type> defaults to STRING. The selection owner may choose to
+return the selection in any of several different representation
+formats, such as STRING, ATOM, INTEGER, etc. (this format is different
+than the selection type; see the ICCCM for all the confusing details).
+
+If I<format> is not STRING then things get messy, the following
+description is from the Tcl/Tk man page as yet incompetely translated for
+the perl version - it is misleading at best.
+
+If the selection is returned in a non-string format, such as INTEGER
+or ATOM, the B<SelectionGet> converts it to a list of perl
+values: atoms are converted to their
+textual names, and anything else is converted integers.
+
+A goal of the perl port is to provide better handling of different
+formats than Tcl/Tk does, which should be possible given perl's
+wider range of ``types''. Although some thought went into this
+in very early days of perl/Tk what exactly happens is still
+"not quite right" and subject to change.
+
+=item I<$widget>-E<gt>B<SelectionHandle>(?B<-selection>=E<gt>I<selection>?,?B<-type>=E<gt>I<type>?,?B<-format>=E<gt>I<format>? I<callback>)
+
+Creates a handler for selection requests, such that I<callback> will
+be executed whenever I<selection> is owned by I<$widget> and
+someone attempts to retrieve it in the form given by I<type>
+(e.g. I<type> is specified in the B<selection get> command).
+I<Selection> defaults to PRIMARY, I<type> defaults to STRING, and
+I<format> defaults to STRING. If I<callback> is an empty string
+then any existing handler for I<$widget>, I<type>, and
+I<selection> is removed.
+
+When I<selection> is requested, I<$widget> is the selection owner,
+and I<type> is the requested type, I<callback> will be executed
+with two additional arguments.
+The two additional arguments
+are I<offset> and I<maxBytes>: I<offset> specifies a starting
+character position in the selection and I<maxBytes> gives the maximum
+number of bytes to retrieve. The command should return a value consisting
+of at most I<maxBytes> of the selection, starting at position
+I<offset>. For very large selections (larger than I<maxBytes>)
+the selection will be retrieved using several invocations of I<callback>
+with increasing I<offset> values. If I<callback> returns a string
+whose length is less than I<maxBytes>, the return value is assumed to
+include all of the remainder of the selection; if the length of
+I<callback>'s result is equal to I<maxBytes> then
+I<callback> will be invoked again, until it eventually
+returns a result shorter than I<maxBytes>. The value of I<maxBytes>
+will always be relatively large (thousands of bytes).
+
+If I<callback> returns an error (e.g. via B<die>)
+then the selection retrieval is rejected
+just as if the selection didn't exist at all.
+
+The I<format> argument specifies the representation that should be
+used to transmit the selection to the requester (the second column of
+Table 2 of the ICCCM), and defaults to STRING. If I<format> is
+STRING, the selection is transmitted as 8-bit ASCII characters (i.e.
+just in the form returned by I<command>).
+
+If I<format> is not STRING then things get messy, the following
+description is from the Tcl/Tk man page as yet untranslated for
+the perl version - it is misleading at best.
+
+If I<format> is
+ATOM, then the return value from I<command> is divided into fields
+separated by white space; each field is converted to its atom value,
+and the 32-bit atom value is transmitted instead of the atom name.
+For any other I<format>, the return value from I<command> is
+divided into fields separated by white space and each field is
+converted to a 32-bit integer; an array of integers is transmitted
+to the selection requester.
+
+The I<format> argument is needed only for compatibility with
+many selection requesters, except Tcl/Tk. If Tcl/Tk is being
+used to retrieve the selection then the value is converted back to
+a string at the requesting end, so I<format> is
+irrelevant.
+
+A goal of the perl port is to provide better handling of different
+formats than Tcl/Tk does, which should be possible given perl's
+wider range of ``types''. Although some thought went into this
+in very early days of perl/Tk what exactly happens is still
+"not quite right" and subject to change.
+
+=item I<$widget>-E<gt>B<SelectionOwner>?(B<-selection>=E<gt>I<selection>)?
+
+B<SelectionOwner> returns the
+window in this application that owns I<selection> on the display
+containing I<$widget>, or an empty string if no window in this
+application owns the selection. I<Selection> defaults to PRIMARY.
+
+=item I<$widget>-E<gt>B<SelectionOwn>?(?B<-command>=E<gt>I<callback>?,?B<-selection>=E<gt>I<selection>?)?
+
+B<SelectionOwn> causes I<$widget> to become
+the new owner of I<selection> on I<$widget>'s display, returning
+an empty string as result. The existing owner, if any, is notified
+that it has lost the selection.
+If I<callback> is specified, it will be executed when
+some other window claims ownership of the selection away from
+I<$widget>. I<Selection> defaults to PRIMARY.
+
+=back
+
+=head1 KEYWORDS
+
+clear, format, handler, ICCCM, own, selection, target, type
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/send.pod b/Master/tlpkg/tlperl/lib/Tk/send.pod
new file mode 100644
index 00000000000..4a6e41e4c1e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/send.pod
@@ -0,0 +1,118 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::send - Execute a command in a different application
+
+=for category Tk Generic Methods
+
+=head1 SYNOPSIS
+
+S< >I<$result> = I<$widget>-E<gt>B<send>(?I<options>,?I<app>=E<gt>I<cmd>?I<arg arg ...>?)
+
+=head1 DESCRIPTION
+
+This method arranges for I<cmd> (and I<arg>s) to be 'sent' to the
+application named by I<app>. It returns the result or
+an error (hence above should probably be 'wrapped' in B<eval{}> and $@ tested).
+I<App> may be the name of any application whose main window is
+on the display containing the sender's main window; it need not
+be within the same process.
+If no I<arg> arguments are present, then the string to be sent
+is contained entirely within the I<cmd> argument. If one or
+more I<arg>s are present, they are concatenated separated by white space to
+form the string to be sent.
+
+If the initial arguments of the call begin with ``-''
+they are treated as options. The following options are
+currently defined:
+
+=over 4
+
+=item B<-async>
+
+Requests asynchronous invocation. In this case the B<send>
+command will complete immediately without waiting for I<cmd>
+to complete in the target application; no result will be available
+and errors in the sent command will be ignored.
+If the target application is in the same process as the sending
+application then the B<-async> option is ignored.
+
+=item B<-->
+
+Serves no purpose except to terminate the list of options. This
+option is needed only if I<app> could contain a leading ``-''
+character.
+
+=back
+
+=head1 APPLICATION NAMES
+
+The name of an application is set initially from the name of the
+program or script that created the application.
+You can query and change the name of an application with the
+B<appname> method.
+
+=head1 WHAT IS A SEND
+
+The B<send> mechanism was designed to allow Tcl/Tk applications
+to send Tcl Scripts to each other. This does not map very well onto perl/Tk.
+Perl/Tk "sends" a string to I<app>, what happens as a result of this
+depends on the receiving application. If the other application is a Tcl/Tk4.*
+application it will be treated as a Tcl Script. If the "other" application is
+perl/Tk application (including sends to self) then the string is
+passed as an argument to a method call of the following form:
+
+I<$mainwindow>-E<gt>B<Receive(>I<string>);
+
+There is a default (AutoLoaded) B<Tk::Receive> which returns an error to the
+sending application. A particular application may define its own
+B<Receive> method in any class in B<MainWindow>'s inheritance tree
+to do whatever it sees fit. For example it could B<eval> the string,
+possibly in a B<Safe> "compartment".
+
+If a Tcl/Tk application "sends" anything to a perl/Tk application
+then the perl/Tk application would have to attempt to interpret the
+incoming string as a Tcl Script. Simple cases are should not be too hard to
+emulate (split on white space and treat first element as "command" and other
+elements as arguments).
+
+=head1 SECURITY
+
+The B<send> command is potentially a serious security loophole,
+since any application that can connect to your X server can send
+scripts to your applications. Hence the default behaviour outlined above.
+(With the availability of B<Safe> it may make sense to relax default behaviour
+a little.)
+
+Unmonitored B<eval>'ing of these incoming "scripts" can cause perl to
+read and write files and invoke subprocesses under your name.
+Host-based access control such as that provided by B<xhost>
+is particularly insecure, since it allows anyone with an account
+on particular hosts to connect to your server, and if disabled it
+allows anyone anywhere to connect to your server.
+In order to provide at least a small amount of
+security, core Tk checks the access control being used by the server
+and rejects incoming sends unless (a) B<xhost>-style access control
+is enabled (i.e. only certain hosts can establish connections) and (b) the
+list of enabled hosts is empty.
+This means that applications cannot connect to your server unless
+they use some other form of authorization
+such as that provide by B<xauth>.
+
+=head1 SEE ALSO
+
+L<perlfunc/eval>, L<Safe>,
+system's administrator/corporate security guidelines etc.
+
+=head1 KEYWORDS
+
+application, name, remote execution, security, send
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/tixWm.pod b/Master/tlpkg/tlperl/lib/Tk/tixWm.pod
new file mode 100644
index 00000000000..9bdd02d461c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/tixWm.pod
@@ -0,0 +1,73 @@
+
+
+=head1 NAME
+
+Tk::tixWm - Tix's addition to the standard TK wm command.
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+S< >I<$widget>-E<gt>B<wmCapture>
+
+S< >I<$widget>-E<gt>B<wmRelease>
+
+=head1 DESCRIPTION
+
+The B<wmCapture> and the B<wmRelease> methods change the
+toplevel attribute of Tk widgets.
+
+=head1 METHODS
+
+=over 4
+
+=item I<$widget>-E<gt>B<wmCapture>
+
+Converts the toplevel window specified by I<$widget> into a non-toplevel
+widget. Normally this command is called to convert a L<Toplevel|Tk::Toplevel> widget
+into a L<Frame|Tk::Frame> widget. The newly-converted frame widget is
+un-mapped from the screen. To make it appear inside its parent, you
+must call a geometry manager (e.g. grid or pack) explictly.
+
+=item I<$widget>-E<gt>B<wmRelease>
+
+Makes the non-toplevel window specified by I<$widget> into a toplevel
+widget. Normally this command is called to convert a L<Frame|Tk::Frame> widget
+into a L<Toplevel|Tk::Toplevel> widget, but it can also be used on any
+non-toplevel widget (e.g, label). The newly-converted toplevel window
+is in a B<withdrawn> state. To make it appear on the screen, you must call
+B<deiconify> after calling B<wmRelease>.
+
+Any data associated with I<$widget> via B<wm> methods (icon, protocol,
+command etc.) are released, and must be re-established if window is later
+re-captured.
+
+=back
+
+=head1 BUGS
+
+B<wmCapture> does not exist in the Win32 window manager code.
+
+How these methods interact with perl/Tk's class hierarchy is not yet clear.
+In particular a B<wmRelease>d window will not automatically ``I<inherit>''
+the B<Tk::Wm> methods, however a B<wmCapture>d window still will.
+(A B<release>d B<Label> might make a good candidate for an B<Icon>.)
+
+=head1 AUTHORS
+
+Ioi Kim Lam - ioi@graphics.cis.upenn.edu wrote original Tix version.
+Updated for tk8.0, Win32 and perl by Nick Ing-Simmons.
+
+=head1 SEE ALSO
+
+L<Tk::Wm|Tk::Wm>
+L<Tk::Mwm|Tk::Mwm>
+L<Tk::Frame|Tk::Frame>
+L<Tk::Toplevel|Tk::Toplevel>
+
+=head1 KEYWORDS
+
+window manager, wm, TIX
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/tkvars.pod b/Master/tlpkg/tlperl/lib/Tk/tkvars.pod
new file mode 100644
index 00000000000..534fd3cd933
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/tkvars.pod
@@ -0,0 +1,107 @@
+# Copyright (c) 1990-1994 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+#
+
+=head1 NAME
+
+Tk::tkvars - Variables used or set by Tk
+
+=for category Tk Generic Methods
+
+=head1 DESCRIPTION
+
+The following perl variables are either set or used by Tk at various times
+in its execution. (For a list of variables used by perl see L<perlvar>.)
+
+=over 4
+
+=item B<$Tk::library>
+
+This variable holds the file name for a directory containing the modules
+related to Tk. These modules include an initialization
+file that is normally processed whenever a Tk application starts up,
+plus other files containing procedures that implement default behaviors
+for widgets.
+The initial value of B<$Tk::library> is set when Tk is added to
+an interpreter; this is done by searching searching for a directory
+named Tk in the directory where the file F<Tk.pm>, or the first
+directory F<Tk> in C<@INC>.
+
+The B<TK_LIBRARY> environment variable used by Tcl/Tk is not
+supported by perl/Tk. Please use L<@INC|perlvar/@INC> to change where modules
+are searched.
+
+B<Note:> This is Tcl remnant. With perl it makes more sense to
+use C<@INC> and C<%INC>).
+
+=item B<$Tk::patchLevel>
+
+Contains a decimal integer giving the current patch level for Tk.
+The patch level is incremented for each new release or patch, and
+it uniquely identifies an official version of Tk.
+
+B<Note:> this is Tcl remnant. With perl it makes more sense to
+use B<$Tk::VERSION> described below.
+
+=item B<$Tk::strictMotif>
+
+This variable is set to zero by default.
+If an application sets it to one, then Tk attempts to adhere as
+closely as possible to Motif look-and-feel standards.
+For example, active elements such as buttons and scrollbar
+sliders will not change color when the pointer passes over them.
+
+=item B<$Tk::VERSION>
+
+The variable holds the current version number of the perl/Tk
+release in the form I<major>.I<minor>. I<Major> and
+I<minor> are integers.
+
+The I<major> version number shows on which
+Tcl/Tk release perl/Tk is based. E.g., B<402> means based on
+Tcls Tk 4.2. (Patchlevel of Tcls Tk are not incorporated because
+perl/Tk tended to be ``I<ahead>'' of them on some fixes and behind on
+others. The first digest of the major version number increases in
+any Tk release that includes changes that are not backward compatible
+(i.e. whenever existing perl/Tk applications and scripts may have to change to
+work with the new release).
+
+The I<minor> version depends on perl/Tk only. It uses the
+'even'='stable', 'odd'='experimental' scheme that linux uses:
+
+ .0xx - inherently 'alpha'
+ .1xx - experimental 'beta'
+ .2xx - stable
+ .3xx - experimental
+ .4xx - stable
+ ...
+
+The minor version number increases with
+each new release of Tk, except that it resets to zero whenever the
+major version number changes.
+
+=item B<$Tk::version>
+
+The variable holds the current version number of the Tk
+library in the form I<major>.I<minor>. I<Major> and
+I<minor> are integers. The major version number increases in
+any Tk release that includes changes that are not backward compatible
+(i.e. whenever existing Tk applications and scripts may have to change to
+work with the new release). The minor version number increases with
+each new release of Tk, except that it resets to zero whenever the
+major version number changes.
+
+B<Note:> this is Tcl remnant. With perl it makes more sense to
+use B<$Tk::VERSION> described above.
+
+=back
+
+=head1 KEYWORDS
+
+variables, version
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Tk/widgets.pod b/Master/tlpkg/tlperl/lib/Tk/widgets.pod
new file mode 100644
index 00000000000..114f52505d7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/widgets.pod
@@ -0,0 +1,20 @@
+
+=head1 NAME
+
+Tk::widgets - preload widget classes
+
+=for pm Tk/widgets.pm
+
+=for category Implementation
+
+=head1 SYNOPSIS
+
+ use Tk::widgets qw(Button Label Frame);
+
+=head1 DESCRIPTION
+
+Does a 'require Tk::Foo' for each 'Foo' in the list.
+May speed startup by avoiding AUTOLOADs.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/URI.pm b/Master/tlpkg/tlperl/lib/URI.pm
index eb1970eab99..de118e7e2fb 100644
--- a/Master/tlpkg/tlperl/lib/URI.pm
+++ b/Master/tlpkg/tlperl/lib/URI.pm
@@ -1,22 +1,22 @@
package URI;
use strict;
-use vars qw($VERSION);
-$VERSION = "1.60";
+use warnings;
-use vars qw($ABS_REMOTE_LEADING_DOTS $ABS_ALLOW_RELATIVE_SCHEME $DEFAULT_QUERY_FORM_DELIMITER);
+our $VERSION = "1.67";
+
+our ($ABS_REMOTE_LEADING_DOTS, $ABS_ALLOW_RELATIVE_SCHEME, $DEFAULT_QUERY_FORM_DELIMITER);
my %implements; # mapping from scheme to implementor class
# Some "official" character classes
-use vars qw($reserved $mark $unreserved $uric $scheme_re);
-$reserved = q(;/?:@&=+$,[]);
-$mark = q(-_.!~*'()); #'; emacs
-$unreserved = "A-Za-z0-9\Q$mark\E";
-$uric = quotemeta($reserved) . $unreserved . "%";
+our $reserved = q(;/?:@&=+$,[]);
+our $mark = q(-_.!~*'()); #'; emacs
+our $unreserved = "A-Za-z0-9\Q$mark\E";
+our $uric = quotemeta($reserved) . $unreserved . "%";
-$scheme_re = '[a-zA-Z][a-zA-Z0-9.+\-]*';
+our $scheme_re = '[a-zA-Z][a-zA-Z0-9.+\-]*';
use Carp ();
use URI::Escape ();
@@ -131,7 +131,7 @@ sub implementor
# Try to load it
eval "require $ic";
die $@ if $@ && $@ !~ /Can\'t locate.*in \@INC/;
- return unless @{"${ic}::ISA"};
+ return undef unless @{"${ic}::ISA"};
}
$ic->_init_implementor($scheme);
@@ -155,6 +155,7 @@ sub clone
bless \$other, ref $self;
}
+sub TO_JSON { ${$_[0]} }
sub _no_scheme_ok { 0 }
@@ -163,7 +164,7 @@ sub _scheme
my $self = shift;
unless (@_) {
- return unless $$self =~ /^($scheme_re):/o;
+ return undef unless $$self =~ /^($scheme_re):/o;
return $1;
}
@@ -193,10 +194,14 @@ sub _scheme
sub scheme
{
my $scheme = shift->_scheme(@_);
- return unless defined $scheme;
+ return undef unless defined $scheme;
lc($scheme);
}
+sub has_recognized_scheme {
+ my $self = shift;
+ return ref($self) !~ /^URI::_(?:foreign|generic)\z/;
+}
sub opaque
{
@@ -228,14 +233,14 @@ sub opaque
$old_opaque;
}
-*path = \&opaque; # alias
+sub path { goto &opaque } # alias
sub fragment
{
my $self = shift;
unless (@_) {
- return unless $$self =~ /\#(.*)/s;
+ return undef unless $$self =~ /\#(.*)/s;
return $1;
}
@@ -417,6 +422,11 @@ the $str argument before it is processed further.
The constructor determines the scheme, maps this to an appropriate
URI subclass, constructs a new object of that class and returns it.
+If the scheme isn't one of those that URI recognizes, you still get
+an URI object back that you can access the generic methods on. The
+C<< $uri->has_recognized_scheme >> method can be used to test for
+this.
+
The $scheme argument is only used when $str is a
relative URI. It can be either a simple string that
denotes the scheme, a string containing an absolute URI reference, or
@@ -500,6 +510,14 @@ returned by $uri->scheme is always lowercase. If you want the scheme
just as it was written in the URI in its original case,
you can use the $uri->_scheme method instead.
+=item $uri->has_recognized_scheme
+
+Returns TRUE if the URI scheme is one that URI recognizes.
+
+It will also be TRUE for relative URLs where a recognized
+scheme was provided to the constructor, even if C<< $uri->scheme >>
+returns C<undef> for these.
+
=item $uri->opaque
=item $uri->opaque( $new_opaque )
@@ -585,7 +603,7 @@ a secure channel, such as an SSL or TLS encrypted one.
The following methods are available to schemes that use the
common/generic syntax for hierarchical namespaces. The descriptions of
-schemes below indicate which these are. Unknown schemes are
+schemes below indicate which these are. Unrecognized schemes are
assumed to support the generic syntax, and therefore the following
methods:
diff --git a/Master/tlpkg/tlperl/lib/URI/Escape.pm b/Master/tlpkg/tlperl/lib/URI/Escape.pm
index e09d76acc48..547535ea801 100644
--- a/Master/tlpkg/tlperl/lib/URI/Escape.pm
+++ b/Master/tlpkg/tlperl/lib/URI/Escape.pm
@@ -1,5 +1,7 @@
package URI::Escape;
+
use strict;
+use warnings;
=head1 NAME
@@ -135,8 +137,7 @@ it under the same terms as Perl itself.
=cut
-require Exporter;
-our @ISA = qw(Exporter);
+use Exporter 'import';
our %escapes;
our @EXPORT = qw(uri_escape uri_unescape uri_escape_utf8);
our @EXPORT_OK = qw(%escapes);
@@ -201,8 +202,19 @@ sub uri_unescape {
$str;
}
+# XXX FIXME escape_char is buggy as it assigns meaning to the string's storage format.
sub escape_char {
- return join '', @URI::Escape::escapes{$_[0] =~ /(\C)/g};
+ # Old versions of utf8::is_utf8() didn't properly handle magical vars (e.g. $1).
+ # The following forces a fetch to occur beforehand.
+ my $dummy = substr($_[0], 0, 0);
+
+ if (utf8::is_utf8($_[0])) {
+ my $s = shift;
+ utf8::encode($s);
+ unshift(@_, $s);
+ }
+
+ return join '', @URI::Escape::escapes{split //, $_[0]};
}
1;
diff --git a/Master/tlpkg/tlperl/lib/URI/Heuristic.pm b/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
index 71ad8dab8ff..89ec7bd5c33 100644
--- a/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
+++ b/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
@@ -87,13 +87,13 @@ modify it under the same terms as Perl itself.
=cut
use strict;
+use warnings;
-use vars qw(@EXPORT_OK $VERSION $MY_COUNTRY %LOCAL_GUESSING $DEBUG);
+use Exporter 'import';
+our @EXPORT_OK = qw(uf_uri uf_uristr uf_url uf_urlstr);
+our $VERSION = "4.20";
-require Exporter;
-*import = \&Exporter::import;
-@EXPORT_OK = qw(uf_uri uf_uristr uf_url uf_urlstr);
-$VERSION = "4.20";
+our ($MY_COUNTRY, $DEBUG);
sub MY_COUNTRY() {
for ($MY_COUNTRY) {
@@ -131,7 +131,7 @@ sub MY_COUNTRY() {
}
}
-%LOCAL_GUESSING =
+our %LOCAL_GUESSING =
(
'us' => [qw(www.ACME.gov www.ACME.mil)],
'gb' => [qw(www.ACME.co.uk www.ACME.org.uk www.ACME.ac.uk)],
diff --git a/Master/tlpkg/tlperl/lib/URI/IRI.pm b/Master/tlpkg/tlperl/lib/URI/IRI.pm
index 39336fce5ac..8ce51912cc8 100644
--- a/Master/tlpkg/tlperl/lib/URI/IRI.pm
+++ b/Master/tlpkg/tlperl/lib/URI/IRI.pm
@@ -3,6 +3,7 @@ package URI::IRI;
# Experimental
use strict;
+use warnings;
use URI ();
use overload '""' => sub { shift->as_string };
@@ -27,9 +28,9 @@ sub as_string {
return $self->{uri}->as_iri;
}
+our $AUTOLOAD;
sub AUTOLOAD
{
- use vars qw($AUTOLOAD);
my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::')+2);
# We create the function here so that it will not need to be
diff --git a/Master/tlpkg/tlperl/lib/URI/QueryParam.pm b/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
index c202feabfab..187cd2c6396 100644
--- a/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
+++ b/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
@@ -1,6 +1,7 @@
package URI::QueryParam;
use strict;
+use warnings;
sub URI::_query::query_param {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/URI/Split.pm b/Master/tlpkg/tlperl/lib/URI/Split.pm
index ad430b93277..70ff17ae620 100644
--- a/Master/tlpkg/tlperl/lib/URI/Split.pm
+++ b/Master/tlpkg/tlperl/lib/URI/Split.pm
@@ -1,11 +1,10 @@
package URI::Split;
use strict;
+use warnings;
-use vars qw(@ISA @EXPORT_OK);
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(uri_split uri_join);
+use Exporter 'import';
+our @EXPORT_OK = qw(uri_split uri_join);
use URI::Escape ();
diff --git a/Master/tlpkg/tlperl/lib/URI/URL.pm b/Master/tlpkg/tlperl/lib/URI/URL.pm
index 81bf47d3af1..867ac6a9d5d 100644
--- a/Master/tlpkg/tlperl/lib/URI/URL.pm
+++ b/Master/tlpkg/tlperl/lib/URI/URL.pm
@@ -1,19 +1,17 @@
package URI::URL;
-require URI::WithBase;
-@ISA=qw(URI::WithBase);
-
use strict;
-use vars qw(@EXPORT $VERSION);
+use warnings;
+
+use parent 'URI::WithBase';
-$VERSION = "5.04";
+our $VERSION = "5.04";
# Provide as much as possible of the old URI::URL interface for backwards
# compatibility...
-require Exporter;
-*import = \&Exporter::import;
-@EXPORT = qw(url);
+use Exporter 'import';
+our @EXPORT = qw(url);
# Easy to use constructor
sub url ($;$) { URI::URL->new(@_); }
@@ -105,7 +103,7 @@ sub eparams
{
my $self = shift;
my @p = $self->path_segments;
- return unless ref($p[-1]);
+ return undef unless ref($p[-1]);
@p = @{$p[-1]};
shift @p;
join(";", @p);
@@ -144,7 +142,7 @@ sub query {
Carp::croak("$mess (you must call equery)");
}
}
- # Now it should be safe to unescape the string without loosing
+ # Now it should be safe to unescape the string without losing
# information
return uri_unescape($old);
}
diff --git a/Master/tlpkg/tlperl/lib/URI/WithBase.pm b/Master/tlpkg/tlperl/lib/URI/WithBase.pm
index 4300a2a60ae..943b7b533a7 100644
--- a/Master/tlpkg/tlperl/lib/URI/WithBase.pm
+++ b/Master/tlpkg/tlperl/lib/URI/WithBase.pm
@@ -1,10 +1,12 @@
package URI::WithBase;
use strict;
-use vars qw($AUTOLOAD $VERSION);
+use warnings;
+
use URI;
+use Scalar::Util 'blessed';
-$VERSION = "2.20";
+our $VERSION = "2.20";
use overload '""' => "as_string", fallback => 1;
@@ -14,7 +16,7 @@ sub new
{
my($class, $uri, $base) = @_;
my $ibase = $base;
- if ($base && ref($base) && UNIVERSAL::isa($base, __PACKAGE__)) {
+ if ($base && blessed($base) && $base->isa(__PACKAGE__)) {
$base = $base->abs;
$ibase = $base->[0];
}
@@ -38,10 +40,11 @@ sub _init
sub eq
{
my($self, $other) = @_;
- $other = $other->[0] if UNIVERSAL::isa($other, __PACKAGE__);
+ $other = $other->[0] if blessed($other) and $other->isa(__PACKAGE__);
$self->[0]->eq($other);
}
+our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/URI/_foreign.pm b/Master/tlpkg/tlperl/lib/URI/_foreign.pm
index 075f0fd3417..0132efeb8f5 100644
--- a/Master/tlpkg/tlperl/lib/URI/_foreign.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_foreign.pm
@@ -1,6 +1,8 @@
package URI::_foreign;
-require URI::_generic;
-@ISA=qw(URI::_generic);
+use strict;
+use warnings;
+
+use parent 'URI::_generic';
1;
diff --git a/Master/tlpkg/tlperl/lib/URI/_generic.pm b/Master/tlpkg/tlperl/lib/URI/_generic.pm
index 979087b6301..ce1e03d882d 100644
--- a/Master/tlpkg/tlperl/lib/URI/_generic.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_generic.pm
@@ -1,9 +1,10 @@
package URI::_generic;
-require URI;
-require URI::_query;
-@ISA=qw(URI URI::_query);
use strict;
+use warnings;
+
+use parent qw(URI URI::_query);
+
use URI::Escape qw(uri_unescape);
use Carp ();
@@ -148,7 +149,8 @@ sub abs
my $abs = $base->clone;
my $query = $self->query;
$abs->query($query) if defined $query;
- $abs->fragment($self->fragment);
+ my $fragment = $self->fragment;
+ $abs->fragment($fragment) if defined $fragment;
return $abs;
}
diff --git a/Master/tlpkg/tlperl/lib/URI/_idna.pm b/Master/tlpkg/tlperl/lib/URI/_idna.pm
index 8b9eab7cb11..be0cccf16b3 100644
--- a/Master/tlpkg/tlperl/lib/URI/_idna.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_idna.pm
@@ -4,6 +4,8 @@ package URI::_idna;
# based on Python-2.6.4/Lib/encodings/idna.py
use strict;
+use warnings;
+
use URI::_punycode qw(encode_punycode decode_punycode);
use Carp qw(croak);
diff --git a/Master/tlpkg/tlperl/lib/URI/_ldap.pm b/Master/tlpkg/tlperl/lib/URI/_ldap.pm
index d76736471d4..d273f32d6f3 100644
--- a/Master/tlpkg/tlperl/lib/URI/_ldap.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_ldap.pm
@@ -5,9 +5,9 @@
package URI::_ldap;
use strict;
+use warnings;
-use vars qw($VERSION);
-$VERSION = "1.12";
+our $VERSION = "1.67";
use URI::Escape qw(uri_unescape);
@@ -47,7 +47,7 @@ sub attributes {
sub _scope {
my $self = shift;
my $old = _ldap_elem($self,1, @_);
- return unless defined wantarray && defined $old;
+ return undef unless defined wantarray && defined $old;
uri_unescape($old);
}
@@ -60,7 +60,7 @@ sub scope {
sub _filter {
my $self = shift;
my $old = _ldap_elem($self,2, @_);
- return unless defined wantarray && defined $old;
+ return undef unless defined wantarray && defined $old;
uri_unescape($old); # || "(objectClass=*)";
}
diff --git a/Master/tlpkg/tlperl/lib/URI/_login.pm b/Master/tlpkg/tlperl/lib/URI/_login.pm
index 4583f20a9a6..83855a835ac 100644
--- a/Master/tlpkg/tlperl/lib/URI/_login.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_login.pm
@@ -1,8 +1,9 @@
package URI::_login;
-require URI::_server;
-require URI::_userpass;
-@ISA = qw(URI::_server URI::_userpass);
+use strict;
+use warnings;
+
+use parent qw(URI::_server URI::_userpass);
# Generic terminal logins. This is used as a base class for 'telnet',
# 'tn3270', and 'rlogin' URL schemes.
diff --git a/Master/tlpkg/tlperl/lib/URI/_punycode.pm b/Master/tlpkg/tlperl/lib/URI/_punycode.pm
index db400914268..bd69fe7377a 100644
--- a/Master/tlpkg/tlperl/lib/URI/_punycode.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_punycode.pm
@@ -1,10 +1,11 @@
package URI::_punycode;
use strict;
-our $VERSION = "0.04";
+use warnings;
-require Exporter;
-our @ISA = qw(Exporter);
+our $VERSION = "1.67";
+
+use Exporter 'import';
our @EXPORT = qw(encode_punycode decode_punycode);
use integer;
diff --git a/Master/tlpkg/tlperl/lib/URI/_query.pm b/Master/tlpkg/tlperl/lib/URI/_query.pm
index a6038a3717a..93288ca770c 100644
--- a/Master/tlpkg/tlperl/lib/URI/_query.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_query.pm
@@ -1,6 +1,8 @@
package URI::_query;
use strict;
+use warnings;
+
use URI ();
use URI::Escape qw(uri_unescape);
@@ -88,6 +90,6 @@ sub query_keywords
}
# Some URI::URL compatibility stuff
-*equery = \&query;
+sub equery { goto &query }
1;
diff --git a/Master/tlpkg/tlperl/lib/URI/_segment.pm b/Master/tlpkg/tlperl/lib/URI/_segment.pm
index c91b69608e3..2c42fc15925 100644
--- a/Master/tlpkg/tlperl/lib/URI/_segment.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_segment.pm
@@ -4,6 +4,8 @@ package URI::_segment;
# a string too.
use strict;
+use warnings;
+
use URI::Escape qw(uri_unescape);
use overload '""' => sub { $_[0]->[0] },
diff --git a/Master/tlpkg/tlperl/lib/URI/_server.pm b/Master/tlpkg/tlperl/lib/URI/_server.pm
index f72ec22657b..643d13e1bc9 100644
--- a/Master/tlpkg/tlperl/lib/URI/_server.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_server.pm
@@ -1,8 +1,10 @@
package URI::_server;
-require URI::_generic;
-@ISA=qw(URI::_generic);
use strict;
+use warnings;
+
+use parent 'URI::_generic';
+
use URI::Escape qw(uri_unescape);
sub _uric_escape {
@@ -19,7 +21,7 @@ sub _uric_escape {
}
sub _host_escape {
- return unless $_[0] =~ /[^URI::uric]/;
+ return unless $_[0] =~ /[^$URI::uric]/;
eval {
require URI::_idna;
$_[0] = URI::_idna::encode($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/URI/_userpass.pm b/Master/tlpkg/tlperl/lib/URI/_userpass.pm
index a0361ae0dd7..db8b53b5262 100644
--- a/Master/tlpkg/tlperl/lib/URI/_userpass.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_userpass.pm
@@ -1,6 +1,8 @@
package URI::_userpass;
use strict;
+use warnings;
+
use URI::Escape qw(uri_unescape);
sub user
@@ -21,7 +23,7 @@ sub user
$self->userinfo("$new$pass");
}
}
- return unless defined $info;
+ return undef unless defined $info;
$info =~ s/:.*//;
uri_unescape($info);
}
@@ -43,8 +45,8 @@ sub password
$self->userinfo("$user:$new");
}
}
- return unless defined $info;
- return unless $info =~ s/^[^:]*://;
+ return undef unless defined $info;
+ return undef unless $info =~ s/^[^:]*://;
uri_unescape($info);
}
diff --git a/Master/tlpkg/tlperl/lib/URI/data.pm b/Master/tlpkg/tlperl/lib/URI/data.pm
index dccd8181289..19c390ec03c 100644
--- a/Master/tlpkg/tlperl/lib/URI/data.pm
+++ b/Master/tlpkg/tlperl/lib/URI/data.pm
@@ -1,9 +1,11 @@
package URI::data; # RFC 2397
-require URI;
-@ISA=qw(URI);
-
use strict;
+use warnings;
+
+use parent 'URI';
+
+our $VERSION = '1.67';
use MIME::Base64 qw(encode_base64 decode_base64);
use URI::Escape qw(uri_unescape);
diff --git a/Master/tlpkg/tlperl/lib/URI/file.pm b/Master/tlpkg/tlperl/lib/URI/file.pm
index 5a1e2b530be..d76ddf2b5e2 100644
--- a/Master/tlpkg/tlperl/lib/URI/file.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file.pm
@@ -1,19 +1,18 @@
package URI::file;
use strict;
-use vars qw(@ISA $VERSION $DEFAULT_AUTHORITY %OS_CLASS);
+use warnings;
-require URI::_generic;
-@ISA = qw(URI::_generic);
-$VERSION = "4.21";
+use parent 'URI::_generic';
+our $VERSION = "4.21";
use URI::Escape qw(uri_unescape);
-$DEFAULT_AUTHORITY = "";
+our $DEFAULT_AUTHORITY = "";
# Map from $^O values to implementation classes. The Unix
# class is the default.
-%OS_CLASS = (
+our %OS_CLASS = (
os2 => "OS2",
mac => "Mac",
MacOS => "Mac",
diff --git a/Master/tlpkg/tlperl/lib/URI/file/Base.pm b/Master/tlpkg/tlperl/lib/URI/file/Base.pm
index 941793b0f93..bba1c9dbf6a 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/Base.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/Base.pm
@@ -1,6 +1,8 @@
package URI::file::Base;
use strict;
+use warnings;
+
use URI::Escape qw();
sub new
diff --git a/Master/tlpkg/tlperl/lib/URI/file/FAT.pm b/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
index 328169bd0bf..212d1abd1a2 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
@@ -1,7 +1,9 @@
package URI::file::FAT;
-require URI::file::Win32;
-@ISA=qw(URI::file::Win32);
+use strict;
+use warnings;
+
+use parent 'URI::file::Win32';
sub fix_path
{
diff --git a/Master/tlpkg/tlperl/lib/URI/file/Mac.pm b/Master/tlpkg/tlperl/lib/URI/file/Mac.pm
index 6cfa78192e0..1cf08f5d4ad 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/Mac.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/Mac.pm
@@ -1,9 +1,10 @@
package URI::file::Mac;
-require URI::file::Base;
-@ISA=qw(URI::file::Base);
-
use strict;
+use warnings;
+
+use parent 'URI::file::Base';
+
use URI::Escape qw(uri_unescape);
diff --git a/Master/tlpkg/tlperl/lib/URI/file/OS2.pm b/Master/tlpkg/tlperl/lib/URI/file/OS2.pm
index ad0a78ede52..a301468a68f 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/OS2.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/OS2.pm
@@ -1,7 +1,9 @@
package URI::file::OS2;
-require URI::file::Win32;
-@ISA=qw(URI::file::Win32);
+use strict;
+use warnings;
+
+use parent 'URI::file::Win32';
# The Win32 version translates k:/foo to file://k:/foo (?!)
# We add an empty host
diff --git a/Master/tlpkg/tlperl/lib/URI/file/QNX.pm b/Master/tlpkg/tlperl/lib/URI/file/QNX.pm
index 93a4983d2bb..ccdb1813598 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/QNX.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/QNX.pm
@@ -1,9 +1,9 @@
package URI::file::QNX;
-require URI::file::Unix;
-@ISA=qw(URI::file::Unix);
-
use strict;
+use warnings;
+
+use parent 'URI::file::Unix';
sub _file_extract_path
{
diff --git a/Master/tlpkg/tlperl/lib/URI/file/Unix.pm b/Master/tlpkg/tlperl/lib/URI/file/Unix.pm
index 5f8aaae9050..4315c3ea8b8 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/Unix.pm
@@ -1,9 +1,10 @@
package URI::file::Unix;
-require URI::file::Base;
-@ISA=qw(URI::file::Base);
-
use strict;
+use warnings;
+
+use parent 'URI::file::Base';
+
use URI::Escape qw(uri_unescape);
sub _file_extract_path
diff --git a/Master/tlpkg/tlperl/lib/URI/file/Win32.pm b/Master/tlpkg/tlperl/lib/URI/file/Win32.pm
index 04593863a92..7762d2a910b 100644
--- a/Master/tlpkg/tlperl/lib/URI/file/Win32.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file/Win32.pm
@@ -1,9 +1,10 @@
package URI::file::Win32;
-require URI::file::Base;
-@ISA=qw(URI::file::Base);
-
use strict;
+use warnings;
+
+use parent 'URI::file::Base';
+
use URI::Escape qw(uri_unescape);
sub _file_extract_authority
diff --git a/Master/tlpkg/tlperl/lib/URI/ftp.pm b/Master/tlpkg/tlperl/lib/URI/ftp.pm
index 89aeb07cdc9..7a3c8ca79e2 100644
--- a/Master/tlpkg/tlperl/lib/URI/ftp.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ftp.pm
@@ -1,10 +1,9 @@
package URI::ftp;
-require URI::_server;
-require URI::_userpass;
-@ISA=qw(URI::_server URI::_userpass);
-
use strict;
+use warnings;
+
+use parent qw(URI::_server URI::_userpass);
sub default_port { 21 }
diff --git a/Master/tlpkg/tlperl/lib/URI/gopher.pm b/Master/tlpkg/tlperl/lib/URI/gopher.pm
index ae6690423bc..1da0b11f7ee 100644
--- a/Master/tlpkg/tlperl/lib/URI/gopher.pm
+++ b/Master/tlpkg/tlperl/lib/URI/gopher.pm
@@ -1,9 +1,10 @@
package URI::gopher; # <draft-murali-url-gopher>, Dec 4, 1996
-require URI::_server;
-@ISA=qw(URI::_server);
-
use strict;
+use warnings;
+
+use parent 'URI::_server';
+
use URI::Escape qw(uri_unescape);
# A Gopher URL follows the common internet scheme syntax as defined in
@@ -58,7 +59,7 @@ sub gopher_type
$gtype;
}
-*gtype = \&gopher_type; # URI::URL compatibility
+sub gtype { goto &gopher_type } # URI::URL compatibility
sub selector { shift->_gfield(0, @_) }
sub search { shift->_gfield(1, @_) }
diff --git a/Master/tlpkg/tlperl/lib/URI/http.pm b/Master/tlpkg/tlperl/lib/URI/http.pm
index cb698224060..57eb01b21a0 100644
--- a/Master/tlpkg/tlperl/lib/URI/http.pm
+++ b/Master/tlpkg/tlperl/lib/URI/http.pm
@@ -1,9 +1,9 @@
package URI::http;
-require URI::_server;
-@ISA=qw(URI::_server);
-
use strict;
+use warnings;
+
+use parent 'URI::_server';
sub default_port { 80 }
diff --git a/Master/tlpkg/tlperl/lib/URI/https.pm b/Master/tlpkg/tlperl/lib/URI/https.pm
index 94f9bb19eb4..0937018797b 100644
--- a/Master/tlpkg/tlperl/lib/URI/https.pm
+++ b/Master/tlpkg/tlperl/lib/URI/https.pm
@@ -1,6 +1,9 @@
package URI::https;
-require URI::http;
-@ISA=qw(URI::http);
+
+use strict;
+use warnings;
+
+use parent 'URI::http';
sub default_port { 443 }
diff --git a/Master/tlpkg/tlperl/lib/URI/ldap.pm b/Master/tlpkg/tlperl/lib/URI/ldap.pm
index 378a9421440..b2cf9777511 100644
--- a/Master/tlpkg/tlperl/lib/URI/ldap.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ldap.pm
@@ -5,13 +5,11 @@
package URI::ldap;
use strict;
+use warnings;
-use vars qw(@ISA $VERSION);
-$VERSION = "1.12";
+our $VERSION = "1.67";
-require URI::_server;
-require URI::_ldap;
-@ISA=qw(URI::_ldap URI::_server);
+use parent qw(URI::_ldap URI::_server);
sub default_port { 389 }
diff --git a/Master/tlpkg/tlperl/lib/URI/ldapi.pm b/Master/tlpkg/tlperl/lib/URI/ldapi.pm
index d92b13f3a49..d717506f037 100644
--- a/Master/tlpkg/tlperl/lib/URI/ldapi.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ldapi.pm
@@ -1,12 +1,9 @@
package URI::ldapi;
use strict;
+use warnings;
-use vars qw(@ISA);
-
-require URI::_generic;
-require URI::_ldap;
-@ISA=qw(URI::_ldap URI::_generic);
+use parent qw(URI::_ldap URI::_generic);
require URI::Escape;
diff --git a/Master/tlpkg/tlperl/lib/URI/ldaps.pm b/Master/tlpkg/tlperl/lib/URI/ldaps.pm
index cbf901b11ca..a43d79d6b0c 100644
--- a/Master/tlpkg/tlperl/lib/URI/ldaps.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ldaps.pm
@@ -1,6 +1,9 @@
package URI::ldaps;
-require URI::ldap;
-@ISA=qw(URI::ldap);
+
+use strict;
+use warnings;
+
+use parent 'URI::ldap';
sub default_port { 636 }
diff --git a/Master/tlpkg/tlperl/lib/URI/mailto.pm b/Master/tlpkg/tlperl/lib/URI/mailto.pm
index 88761c40333..56bbaf8a132 100644
--- a/Master/tlpkg/tlperl/lib/URI/mailto.pm
+++ b/Master/tlpkg/tlperl/lib/URI/mailto.pm
@@ -1,10 +1,9 @@
package URI::mailto; # RFC 2368
-require URI;
-require URI::_query;
-@ISA=qw(URI URI::_query);
-
use strict;
+use warnings;
+
+use parent qw(URI URI::_query);
sub to
{
diff --git a/Master/tlpkg/tlperl/lib/URI/mms.pm b/Master/tlpkg/tlperl/lib/URI/mms.pm
index 2f1015b61d9..3c74a39bb8c 100644
--- a/Master/tlpkg/tlperl/lib/URI/mms.pm
+++ b/Master/tlpkg/tlperl/lib/URI/mms.pm
@@ -1,7 +1,9 @@
package URI::mms;
-require URI::http;
-@ISA=qw(URI::http);
+use strict;
+use warnings;
+
+use parent 'URI::http';
sub default_port { 1755 }
diff --git a/Master/tlpkg/tlperl/lib/URI/news.pm b/Master/tlpkg/tlperl/lib/URI/news.pm
index 1ffb419f673..fcecba2c53b 100644
--- a/Master/tlpkg/tlperl/lib/URI/news.pm
+++ b/Master/tlpkg/tlperl/lib/URI/news.pm
@@ -1,9 +1,10 @@
package URI::news; # draft-gilman-news-url-01
-require URI::_server;
-@ISA=qw(URI::_server);
-
use strict;
+use warnings;
+
+use parent 'URI::_server';
+
use URI::Escape qw(uri_unescape);
use Carp ();
@@ -61,7 +62,7 @@ sub message
Carp::croak("Message must contain '\@'") unless $_[0] =~ /\@/;
}
my $old = $self->_group(@_);
- return unless $old =~ /\@/;
+ return undef unless $old =~ /\@/;
return $old;
}
diff --git a/Master/tlpkg/tlperl/lib/URI/nntp.pm b/Master/tlpkg/tlperl/lib/URI/nntp.pm
index af61e036cc7..b4fe5d3470b 100644
--- a/Master/tlpkg/tlperl/lib/URI/nntp.pm
+++ b/Master/tlpkg/tlperl/lib/URI/nntp.pm
@@ -1,6 +1,8 @@
package URI::nntp; # draft-gilman-news-url-01
-require URI::news;
-@ISA=qw(URI::news);
+use strict;
+use warnings;
+
+use parent 'URI::news';
1;
diff --git a/Master/tlpkg/tlperl/lib/URI/pop.pm b/Master/tlpkg/tlperl/lib/URI/pop.pm
index 50b8d6dd511..daac9acd8eb 100644
--- a/Master/tlpkg/tlperl/lib/URI/pop.pm
+++ b/Master/tlpkg/tlperl/lib/URI/pop.pm
@@ -1,9 +1,10 @@
package URI::pop; # RFC 2384
-require URI::_server;
-@ISA=qw(URI::_server);
-
use strict;
+use warnings;
+
+use parent 'URI::_server';
+
use URI::Escape qw(uri_unescape);
sub default_port { 110 }
@@ -31,7 +32,7 @@ sub user
}
}
- return unless defined $old;
+ return undef unless defined $old;
$old =~ s/;.*//;
return uri_unescape($old);
}
@@ -59,7 +60,7 @@ sub auth
}
- return unless defined $old;
+ return undef unless defined $old;
$old =~ s/^[^;]*//;
return uri_unescape($1) if $old =~ /;auth=(.*)/i;
return;
diff --git a/Master/tlpkg/tlperl/lib/URI/rlogin.pm b/Master/tlpkg/tlperl/lib/URI/rlogin.pm
index 18bb76272a4..b5664e9408c 100644
--- a/Master/tlpkg/tlperl/lib/URI/rlogin.pm
+++ b/Master/tlpkg/tlperl/lib/URI/rlogin.pm
@@ -1,6 +1,9 @@
package URI::rlogin;
-require URI::_login;
-@ISA = qw(URI::_login);
+
+use strict;
+use warnings;
+
+use parent 'URI::_login';
sub default_port { 513 }
diff --git a/Master/tlpkg/tlperl/lib/URI/rsync.pm b/Master/tlpkg/tlperl/lib/URI/rsync.pm
index 160d9d0c065..bde19072fc6 100644
--- a/Master/tlpkg/tlperl/lib/URI/rsync.pm
+++ b/Master/tlpkg/tlperl/lib/URI/rsync.pm
@@ -2,10 +2,10 @@ package URI::rsync; # http://rsync.samba.org/
# rsync://[USER@]HOST[:PORT]/SRC
-require URI::_server;
-require URI::_userpass;
+use strict;
+use warnings;
-@ISA=qw(URI::_server URI::_userpass);
+use parent qw(URI::_server URI::_userpass);
sub default_port { 873 }
diff --git a/Master/tlpkg/tlperl/lib/URI/rtsp.pm b/Master/tlpkg/tlperl/lib/URI/rtsp.pm
index 982ca5ebf1e..6b336f4e5ff 100644
--- a/Master/tlpkg/tlperl/lib/URI/rtsp.pm
+++ b/Master/tlpkg/tlperl/lib/URI/rtsp.pm
@@ -1,7 +1,9 @@
package URI::rtsp;
-require URI::http;
-@ISA=qw(URI::http);
+use strict;
+use warnings;
+
+use parent 'URI::http';
sub default_port { 554 }
diff --git a/Master/tlpkg/tlperl/lib/URI/rtspu.pm b/Master/tlpkg/tlperl/lib/URI/rtspu.pm
index dbcf12bb2f4..b37454cb63d 100644
--- a/Master/tlpkg/tlperl/lib/URI/rtspu.pm
+++ b/Master/tlpkg/tlperl/lib/URI/rtspu.pm
@@ -1,7 +1,9 @@
package URI::rtspu;
-require URI::rtsp;
-@ISA=qw(URI::rtsp);
+use strict;
+use warnings;
+
+use parent 'URI::rtsp';
sub default_port { 554 }
diff --git a/Master/tlpkg/tlperl/lib/URI/sip.pm b/Master/tlpkg/tlperl/lib/URI/sip.pm
index 97bf8630a3d..cee4ea1b953 100644
--- a/Master/tlpkg/tlperl/lib/URI/sip.pm
+++ b/Master/tlpkg/tlperl/lib/URI/sip.pm
@@ -7,15 +7,14 @@
package URI::sip;
-require URI::_server;
-require URI::_userpass;
-@ISA=qw(URI::_server URI::_userpass);
-
use strict;
-use vars qw(@ISA $VERSION);
+use warnings;
+
+use parent qw(URI::_server URI::_userpass);
+
use URI::Escape qw(uri_unescape);
-$VERSION = "0.11";
+our $VERSION = "1.67";
sub default_port { 5060 }
diff --git a/Master/tlpkg/tlperl/lib/URI/sips.pm b/Master/tlpkg/tlperl/lib/URI/sips.pm
index 8d184a3d83b..3048e182893 100644
--- a/Master/tlpkg/tlperl/lib/URI/sips.pm
+++ b/Master/tlpkg/tlperl/lib/URI/sips.pm
@@ -1,6 +1,9 @@
package URI::sips;
-require URI::sip;
-@ISA=qw(URI::sip);
+
+use strict;
+use warnings;
+
+use parent 'URI::sip';
sub default_port { 5061 }
diff --git a/Master/tlpkg/tlperl/lib/URI/snews.pm b/Master/tlpkg/tlperl/lib/URI/snews.pm
index 4310f8111a4..ccf67b41fc1 100644
--- a/Master/tlpkg/tlperl/lib/URI/snews.pm
+++ b/Master/tlpkg/tlperl/lib/URI/snews.pm
@@ -1,7 +1,9 @@
package URI::snews; # draft-gilman-news-url-01
-require URI::news;
-@ISA=qw(URI::news);
+use strict;
+use warnings;
+
+use parent 'URI::news';
sub default_port { 563 }
diff --git a/Master/tlpkg/tlperl/lib/URI/ssh.pm b/Master/tlpkg/tlperl/lib/URI/ssh.pm
index 1d47e4148f6..122cdcb9828 100644
--- a/Master/tlpkg/tlperl/lib/URI/ssh.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ssh.pm
@@ -1,6 +1,9 @@
package URI::ssh;
-require URI::_login;
-@ISA=qw(URI::_login);
+
+use strict;
+use warnings;
+
+use parent 'URI::_login';
# ssh://[USER@]HOST[:PORT]/SRC
diff --git a/Master/tlpkg/tlperl/lib/URI/telnet.pm b/Master/tlpkg/tlperl/lib/URI/telnet.pm
index 5f842d35787..8431a95ac7c 100644
--- a/Master/tlpkg/tlperl/lib/URI/telnet.pm
+++ b/Master/tlpkg/tlperl/lib/URI/telnet.pm
@@ -1,6 +1,9 @@
package URI::telnet;
-require URI::_login;
-@ISA = qw(URI::_login);
+
+use strict;
+use warnings;
+
+use parent 'URI::_login';
sub default_port { 23 }
diff --git a/Master/tlpkg/tlperl/lib/URI/tn3270.pm b/Master/tlpkg/tlperl/lib/URI/tn3270.pm
index dd1e648e713..b0f6dc8bf96 100644
--- a/Master/tlpkg/tlperl/lib/URI/tn3270.pm
+++ b/Master/tlpkg/tlperl/lib/URI/tn3270.pm
@@ -1,6 +1,9 @@
package URI::tn3270;
-require URI::_login;
-@ISA = qw(URI::_login);
+
+use strict;
+use warnings;
+
+use parent 'URI::_login';
sub default_port { 23 }
diff --git a/Master/tlpkg/tlperl/lib/URI/urn.pm b/Master/tlpkg/tlperl/lib/URI/urn.pm
index 12d40b265bc..4c594f5b5da 100644
--- a/Master/tlpkg/tlperl/lib/URI/urn.pm
+++ b/Master/tlpkg/tlperl/lib/URI/urn.pm
@@ -1,12 +1,13 @@
package URI::urn; # RFC 2141
-require URI;
-@ISA=qw(URI);
-
use strict;
+use warnings;
+
+use parent 'URI';
+
use Carp qw(carp);
-use vars qw(%implementor);
+my %implementor;
sub _init {
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/URI/urn/isbn.pm b/Master/tlpkg/tlperl/lib/URI/urn/isbn.pm
index 0da931bfb69..b335044b885 100644
--- a/Master/tlpkg/tlperl/lib/URI/urn/isbn.pm
+++ b/Master/tlpkg/tlperl/lib/URI/urn/isbn.pm
@@ -1,9 +1,10 @@
package URI::urn::isbn; # RFC 3187
-require URI::urn;
-@ISA=qw(URI::urn);
-
use strict;
+use warnings;
+
+use parent 'URI::urn';
+
use Carp qw(carp);
BEGIN {
diff --git a/Master/tlpkg/tlperl/lib/URI/urn/oid.pm b/Master/tlpkg/tlperl/lib/URI/urn/oid.pm
index 301b2bcd834..cfe7248a315 100644
--- a/Master/tlpkg/tlperl/lib/URI/urn/oid.pm
+++ b/Master/tlpkg/tlperl/lib/URI/urn/oid.pm
@@ -1,9 +1,9 @@
package URI::urn::oid; # RFC 2061
-require URI::urn;
-@ISA=qw(URI::urn);
-
use strict;
+use warnings;
+
+use parent 'URI::urn';
sub oid {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
index 4a1c837ab6e..0fd29517265 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
@@ -4,6 +4,9 @@ BEGIN {
unless ("A" eq pack('U', 0x41)) {
die "Unicode::Collate cannot stringify a Unicode code point\n";
}
+ unless (0x41 == unpack('U', 'A')) {
+ die "Unicode::Collate cannot get a Unicode code point\n";
+ }
}
use 5.006;
@@ -14,7 +17,7 @@ use File::Spec;
no warnings 'utf8';
-our $VERSION = '0.97';
+our $VERSION = '1.04';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
@@ -86,9 +89,9 @@ my $DefaultRearrange = [ 0x0E40..0x0E44, 0x0EC0..0x0EC4 ];
my $HighestVCE = pack(VCE_TEMPLATE, 0, 0xFFFE, 0x20, 0x5, 0xFFFF);
my $minimalVCE = pack(VCE_TEMPLATE, 0, 1, 0x20, 0x5, 0xFFFE);
-sub UCA_Version { "26" }
+sub UCA_Version { "28" }
-sub Base_Unicode_Version { "6.2.0" }
+sub Base_Unicode_Version { "6.3.0" }
######
@@ -96,6 +99,12 @@ sub pack_U {
return pack('U*', @_);
}
+### begin XS only ###
+*unpack_U = exists &Unicode::Collate::bootstrap &&
+ $] < 5.008 && \&unpackUfor56 && 0x41 == unpackUfor56('A')
+ ? \&unpackUfor56 : sub { return unpack('U*', shift(@_).pack('U*')) };
+### end XS only ###
+
######
my (%VariableOK);
@@ -106,7 +115,7 @@ my (%VariableOK);
our @ChangeOK = qw/
alternate backwards level normalization rearrange
katakana_before_hiragana upper_before_lower ignore_level2
- overrideHangul overrideCJK preprocess UCA_Version
+ overrideCJK overrideHangul overrideOut preprocess UCA_Version
hangul_terminator variable identical highestFFFF minimalFFFE
/;
@@ -118,11 +127,11 @@ our @ChangeNG = qw/
derivCode normCode rearrangeHash backwardsFlag
suppress suppressHash
__useXS /; ### XS only
-# The hash key 'ignored' is deleted at v 0.21.
-# The hash key 'isShift' is deleted at v 0.23.
-# The hash key 'combining' is deleted at v 0.24.
-# The hash key 'entries' is deleted at v 0.30.
-# The hash key 'L3_ignorable' is deleted at v 0.40.
+# The hash key 'ignored' was deleted at v 0.21.
+# The hash key 'isShift' was deleted at v 0.23.
+# The hash key 'combining' was deleted at v 0.24.
+# The hash key 'entries' was deleted at v 0.30.
+# The hash key 'L3_ignorable' was deleted at v 0.40.
sub version {
my $self = shift;
@@ -179,6 +188,7 @@ my %DerivCode = (
22 => \&_derivCE_22,
24 => \&_derivCE_24,
26 => \&_derivCE_24, # 26 == 24
+ 28 => \&_derivCE_24, # 28 == 24
);
sub checkCollator {
@@ -311,7 +321,7 @@ sub parseAtmark {
elsif ($line =~ /^backwards\s+(\S*)/) {
push @{ $self->{backwardsTable} }, $1;
}
- elsif ($line =~ /^forwards\s+(\S*)/) { # parhaps no use
+ elsif ($line =~ /^forwards\s+(\S*)/) { # perhaps no use
push @{ $self->{forwardsTable} }, $1;
}
elsif ($line =~ /^rearrange\s+(.*)/) { # (\S*) is NG
@@ -397,7 +407,7 @@ sub parseEntry
if (defined $self->{undefChar} || defined $self->{ignoreChar}) {
my $ele = pack_U(@uv);
- # regarded as if it were not entried in the table
+ # regarded as if it were not stored in the table
return
if defined $self->{undefChar} && $ele =~ /$self->{undefChar}/;
@@ -497,7 +507,7 @@ sub splitEnt
# remove a code point marked as a completely ignorable.
for (my $i = 0; $i < @src; $i++) {
- if (_isIllegal($src[$i]) || $vers <= 20 && _isNonchar($src[$i])) {
+ if ($vers <= 20 && _isIllegal($src[$i])) {
$src[$i] = undef;
} elsif ($ver9) {
$src[$i] = undef if $map->{ $src[$i] }
@@ -608,6 +618,7 @@ sub _pack_override ($$$) {
} elsif (defined $r) {
return pack(VCE_TEMPLATE, NON_VAR, $r, Min2Wt, Min3Wt, $u);
} else {
+ $u = 0xFFFD if 0x10FFFF < $u;
return $der->($u);
}
}
@@ -621,25 +632,27 @@ sub getWt
my $u = shift;
my $map = $self->{mapping};
my $der = $self->{derivCode};
+ my $out = $self->{overrideOut};
my $uXS = $self->{__useXS}; ### XS only
return if !defined $u;
return $self->varCE($HighestVCE) if $u eq 0xFFFF && $self->{highestFFFF};
return $self->varCE($minimalVCE) if $u eq 0xFFFE && $self->{minimalFFFE};
- return map($self->varCE($_), @{ $map->{$u} }) if $map->{$u};
+ $u = 0xFFFD if $u !~ /;/ && 0x10FFFF < $u && !$out;
+
+ my @ce;
+ if ($map->{$u}) {
+ @ce = @{ $map->{$u} }; # $u may be a contraction
### begin XS only ###
- return map($self->varCE($_), _fetch_simple($u))
- if $uXS && _exists_simple($u);
+ } elsif ($uXS && _exists_simple($u)) {
+ @ce = _fetch_simple($u);
### end XS only ###
-
- # JCPS must not be a contraction, then it's a code point.
- if (Hangul_SIni <= $u && $u <= Hangul_SFin) {
+ } elsif (Hangul_SIni <= $u && $u <= Hangul_SFin) {
my $hang = $self->{overrideHangul};
- my @hangulCE;
if ($hang) {
- @hangulCE = map _pack_override($_, $u, $der), $hang->($u);
+ @ce = map _pack_override($_, $u, $der), $hang->($u);
} elsif (!defined $hang) {
- @hangulCE = $der->($u);
+ @ce = $der->($u);
} else {
my $max = $self->{maxlength};
my @decH = _decompHangul($u);
@@ -665,25 +678,26 @@ sub getWt
}
}
- @hangulCE = map({
+ @ce = map({
$map->{$_} ? @{ $map->{$_} } :
$uXS && _exists_simple($_) ? _fetch_simple($_) : ### XS only
$der->($_);
} @decH);
}
- return map $self->varCE($_), @hangulCE;
+ } elsif ($out && 0x10FFFF < $u) {
+ @ce = map _pack_override($_, $u, $der), $out->($u);
} else {
my $cjk = $self->{overrideCJK};
my $vers = $self->{UCA_Version};
if ($cjk && _isUIdeo($u, $vers)) {
- my @cjkCE = map _pack_override($_, $u, $der), $cjk->($u);
- return map $self->varCE($_), @cjkCE;
- }
- if ($vers == 8 && defined $cjk && _isUIdeo($u, 0)) {
- return map $self->varCE($_), _uideoCE_8($u);
+ @ce = map _pack_override($_, $u, $der), $cjk->($u);
+ } elsif ($vers == 8 && defined $cjk && _isUIdeo($u, 0)) {
+ @ce = _uideoCE_8($u);
+ } else {
+ @ce = $der->($u);
}
- return map $self->varCE($_), $der->($u);
}
+ return map $self->varCE($_), @ce;
}
@@ -1077,7 +1091,7 @@ 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.
-The following revisions are supported. The default is 26.
+The following revisions are supported. The default is 28.
UCA Unicode Standard DUCET (@version)
-------------------------------------------------------
@@ -1091,10 +1105,14 @@ The following revisions are supported. The default is 26.
22 6.0.0 6.0.0 (6.0.0)
24 6.1.0 6.1.0 (6.1.0)
26 6.2.0 6.2.0 (6.2.0)
+ 28 6.3.0 6.3.0 (6.3.0)
* Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
since C<UCA_Version> 22.
+* Out-of-range codepoints (greater than U+10FFFF) 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.
@@ -1212,11 +1230,12 @@ C<$str> may be C<"abcd">, C<"abc012">, but should not include C<U+FFFF>
such as C<"abc\x{FFFF}xyz">.
C<$coll-E<gt>le($str, "abc\x{FFFF}")> works like C<$coll-E<gt>lt($str, "abd")>
-almostly, but the latter has a problem that you should know which letter is
+almost, but the latter has a problem that you should know which letter is
next to C<c>. For a certain language where C<ch> as the next letter,
-C<"abch"> is greater than C<"abc\x{FFFF}">, but lesser than C<"abd">.
+C<"abch"> is greater than C<"abc\x{FFFF}">, but less than C<"abd">.
-Note: This is equivalent to C<entry =E<gt> 'FFFF ; [.FFFE.0020.0005.FFFF]'>.
+Note:
+This is equivalent to C<(entry =E<gt> 'FFFF ; [.FFFE.0020.0005.FFFF]')>.
Any other character than C<U+FFFF> can be tailored by C<entry>.
=item identical
@@ -1231,7 +1250,7 @@ If the parameter is made true, a final, tie-breaking level is used.
If no difference of weights is found after the comparison through
all the level specified by C<level>, the comparison with code points
will be performed.
-For the tie-breaking comparision, the sort key has code points
+For the tie-breaking comparison, the sort key has code points
of the original string appended.
Completely ignorable characters are not ignored.
@@ -1325,7 +1344,8 @@ then C<$a2> and C<$b2> at level 1, as followed.
"b\x{FFFE}aaa"
"bbb\x{FFFE}a"
-Note: This is equivalent to C<entry =E<gt> 'FFFE ; [.0001.0020.0005.FFFE]'>.
+Note:
+This is equivalent to C<(entry =E<gt> 'FFFE ; [.0001.0020.0005.FFFE]')>.
Any other character than C<U+FFFE> can be tailored by C<entry>.
=item normalization
@@ -1374,7 +1394,7 @@ 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 those in the CJK Unified Ideographs block are lesser than
+order, but those in the CJK Unified Ideographs block are less than
those in the CJK Unified Ideographs Extension A etc.
In the CJK Unified Ideographs block:
@@ -1382,12 +1402,12 @@ those in the CJK Unified Ideographs Extension A etc.
U+4E00..U+9FBB if UCA_Version is 14 or 16.
U+4E00..U+9FC3 if UCA_Version is 18.
U+4E00..U+9FCB if UCA_Version is 20 or 22.
- U+4E00..U+9FCC if UCA_Version is 24 or 26.
+ U+4E00..U+9FCC if UCA_Version is 24 or later.
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.
+ Ext.C (U+2A700..U+2B734) if UCA_Version is 20 or later.
+ Ext.D (U+2B740..U+2B81D) if UCA_Version is 22 or later.
Through C<overrideCJK>, ordering of CJK unified ideographs (including
extensions) can be overridden.
@@ -1425,10 +1445,16 @@ ex. ignores all CJK unified ideographs.
# where ->eq("Pe\x{4E00}rl", "Perl") is true
# 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.
+If a false value (including C<undef>) is passed, C<overrideCJK>
+has no effect.
+C<$Collator-E<gt>change(overrideCJK =E<gt> 0)> resets the old one.
+
But assignment of weight for CJK unified ideographs
in C<table> or C<entry> is still valid.
+If C<undef> is passed explicitly as the value for this key,
+weights for CJK unified ideographs are treated as undefined.
+However when C<UCA_Version> E<gt> 8, C<(overrideCJK =E<gt> undef)>
+has no special meaning.
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>,
@@ -1452,12 +1478,56 @@ 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 a false value (but not C<undef>) is passed, C<overrideHangul>
+has no effect.
+C<$Collator-E<gt>change(overrideHangul =E<gt> 0)> resets the old one.
+
If C<undef> is passed explicitly as the value for this key,
weight for Hangul syllables is treated as undefined
without decomposition into Hangul Jamo.
But definition of weight for Hangul syllables
in C<table> or C<entry> is still valid.
+=item overrideOut
+
+-- see 7.1.1 Handling Ill-Formed Code Unit Sequences, UTS #10.
+
+Perl seems to allow out-of-range values (greater than 0x10FFFF).
+By default, out-of-range values are replaced with C<U+FFFD>
+(REPLACEMENT CHARACTER) when C<UCA_Version> E<gt>= 22,
+or ignored when C<UCA_Version> E<lt>= 20.
+
+When C<UCA_Version> E<gt>= 22, the weights of out-of-range values
+can be overridden. Though C<table> or C<entry> are available for them,
+out-of-range values are too many.
+
+C<overrideOut> can perform it algorithmically.
+This parameter works like C<overrideCJK>, so see there for examples.
+
+ex. ignores all out-of-range values.
+
+ overrideOut => sub {()}, # CODEREF returning empty list
+
+If a false value (including C<undef>) is passed, C<overrideOut>
+has no effect.
+C<$Collator-E<gt>change(overrideOut =E<gt> 0)> resets the old one.
+
+B<NOTE ABOUT U+FFFD:>
+
+UCA recommends that out-of-range values should not be ignored for security
+reasons. Say, C<"pe\x{110000}rl"> should not be equal to C<"perl">.
+However, C<U+FFFD> is wrongly mapped to a variable collation element
+in DUCET for Unicode 6.0.0 to 6.2.0, that means out-of-range values will be
+ignored when C<variable> isn't C<Non-ignorable>.
+
+The mapping of C<U+FFFD> is corrected in Unicode 6.3.0.
+see L<http://www.unicode.org/reports/tr10/tr10-28.html#Trailing_Weights>
+(7.1.4 Trailing Weights). Such a correction is reproduced by this.
+
+ overrideOut => sub { 0xFFFD }, # CODEREF returning a very large integer
+
+This workaround is unnecessary since Unicode 6.3.0.
+
=item preprocess
-- see 5.4 Preprocessing, UTS #10.
@@ -1492,7 +1562,7 @@ L<perluniintro>, L<perlunitut>, L<perlunifaq>, L<utf8>.
-- see 3.5 Rearrangement, UTS #10.
Characters that are not coded in logical order and to be rearranged.
-If C<UCA_Version> is equal to or lesser than 11, default is:
+If C<UCA_Version> is equal to or less than 11, default is:
rearrange => [ 0x0E40..0x0E44, 0x0EC0..0x0EC4 ],
@@ -1559,7 +1629,7 @@ 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),
+Explicit saying C<(table =E<gt> 'allkeys.txt')>, or using another table,
or using C<ignoreChar>, C<ignoreName>, C<undefChar>, C<undefName> or
C<rewrite> will prevent this module from using the compiled DUCET.
@@ -1661,7 +1731,7 @@ Sorts a list of strings.
Returns 1 (when C<$a> is greater than C<$b>)
or 0 (when C<$a> is equal to C<$b>)
-or -1 (when C<$a> is lesser than C<$b>).
+or -1 (when C<$a> is less than C<$b>).
=item C<$result = $Collator-E<gt>eq($a, $b)>
@@ -1679,8 +1749,8 @@ They works like the same name operators as theirs.
eq : whether $a is equal to $b.
ne : whether $a is not equal to $b.
- lt : whether $a is lesser than $b.
- le : whether $a is lesser than $b or equal to $b.
+ lt : whether $a is less than $b.
+ le : whether $a is less than $b or equal to $b.
gt : whether $a is greater than $b.
ge : whether $a is greater than $b or equal to $b.
@@ -1727,7 +1797,7 @@ differ from those on the specified string.
C<rearrange> and C<hangul_terminator> parameters are neglected.
C<katakana_before_hiragana> and C<upper_before_lower> don't affect
-matching and searching, as it doesn't matter whether greater or lesser.
+matching and searching, as it doesn't matter whether greater or less.
=over 4
@@ -1744,19 +1814,18 @@ If C<$substring> does not match any part of C<$string>,
returns C<-1> in scalar context and
an empty list in list context.
-e.g. you say
+e.g. when the content of C<$str> is C<"Ich mu>E<szlig>C< studieren Perl.">,
+you say the following where C<$sub> is C<"M>E<uuml>C<SS">,
my $Collator = Unicode::Collate->new( normalization => undef, level => 1 );
# (normalization => undef) is REQUIRED.
- my $str = "Ich muß studieren Perl.";
- my $sub = "MÜSS";
my $match;
if (my($pos,$len) = $Collator->index($str, $sub)) {
$match = substr($str, $pos, $len);
}
-and get C<"muß"> in C<$match> since C<"muß">
-is primary equal to C<"MÜSS">.
+and get C<"mu>E<szlig>C<"> in C<$match>, since C<"mu>E<szlig>C<">
+is primary equal to C<"M>E<uuml>C<SS">.
=item C<$match_ref = $Collator-E<gt>match($string, $substring)>
@@ -1934,7 +2003,7 @@ module (see L<Unicode::Normalize>).
If you need not it (say, in the case when you need not
handle any combining characters),
-assign C<normalization =E<gt> undef> explicitly.
+assign C<(normalization =E<gt> undef)> explicitly.
-- see 6.5 Avoiding Normalization, UTS #10.
@@ -1960,14 +2029,14 @@ 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-2012,
+<SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2013,
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 verbatim
-from L<http://www.unicode.org/Public/UCA/6.2.0/allkeys.txt>.
+from L<http://www.unicode.org/Public/UCA/6.3.0/allkeys.txt>.
For this file, Copyright (c) 2001-2012 Unicode, Inc.
Distributed under the Terms of Use in L<http://www.unicode.org/copyright.html>.
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
index 1d67f1392b4..9d8e4db61e0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
@@ -4,21 +4,21 @@ use 5.006;
use strict;
use Unicode::Collate;
-our $VERSION = '0.93';
+our $VERSION = '1.02';
my %jamo2prim = (
- 0x1100, 0x3156, 0x1101, 0x3157, 0x1102, 0x3158, 0x1103, 0x3159,
- 0x1105, 0x315B, 0x1106, 0x315C, 0x1107, 0x315D, 0x1109, 0x315F,
- 0x110A, 0x3160, 0x110B, 0x3161, 0x110C, 0x3162, 0x110E, 0x3164,
- 0x110F, 0x3165, 0x1110, 0x3166, 0x1111, 0x3167, 0x1112, 0x3168,
- 0x1161, 0x31D4, 0x1162, 0x31D5, 0x1163, 0x31D6, 0x1165, 0x31D8,
- 0x1166, 0x31D9, 0x1167, 0x31DA, 0x1168, 0x31DB, 0x1169, 0x31DC,
- 0x116A, 0x31DD, 0x116B, 0x31DE, 0x116C, 0x31DF, 0x116D, 0x31E0,
- 0x116E, 0x31E1, 0x116F, 0x31E2, 0x1170, 0x31E3, 0x1171, 0x31E4,
- 0x1172, 0x31E5, 0x1173, 0x31E6, 0x1174, 0x31E7, 0x1175, 0x31E8,
- 0x11A8, 0x3232, 0x11AB, 0x3235, 0x11AF, 0x3239, 0x11B7, 0x3241,
- 0x11B8, 0x3242, 0x11BC, 0x3246, 0x11BD, 0x3247,
-); # for DUCET v6.2.0
+ 0x1100, 0x3152, 0x1101, 0x3153, 0x1102, 0x3154, 0x1103, 0x3155,
+ 0x1105, 0x3157, 0x1106, 0x3158, 0x1107, 0x3159, 0x1109, 0x315B,
+ 0x110A, 0x315C, 0x110B, 0x315D, 0x110C, 0x315E, 0x110E, 0x3160,
+ 0x110F, 0x3161, 0x1110, 0x3162, 0x1111, 0x3163, 0x1112, 0x3164,
+ 0x1161, 0x31D0, 0x1162, 0x31D1, 0x1163, 0x31D2, 0x1165, 0x31D4,
+ 0x1166, 0x31D5, 0x1167, 0x31D6, 0x1168, 0x31D7, 0x1169, 0x31D8,
+ 0x116A, 0x31D9, 0x116B, 0x31DA, 0x116C, 0x31DB, 0x116D, 0x31DC,
+ 0x116E, 0x31DD, 0x116F, 0x31DE, 0x1170, 0x31DF, 0x1171, 0x31E0,
+ 0x1172, 0x31E1, 0x1173, 0x31E2, 0x1174, 0x31E3, 0x1175, 0x31E4,
+ 0x11A8, 0x322E, 0x11AB, 0x3231, 0x11AF, 0x3235, 0x11B7, 0x323D,
+ 0x11B8, 0x323E, 0x11BC, 0x3242, 0x11BD, 0x3243,
+); # for DUCET v6.3.0
my(%u2e, $prim, $wt);
while (<DATA>) {
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
index fcabc9e2fa1..a9d043aba38 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
@@ -4,7 +4,7 @@ use strict;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '0.96';
+our $VERSION = '1.02';
my $PL_EXT = '.pl';
@@ -480,7 +480,7 @@ Thus C<(normalization =E<gt> undef)> is less preferred.
The Unicode::Collate::Locale module for perl was written
by SADAHIRO Tomoyuki, <SADAHIRO@cpan.org>.
-This module is Copyright(C) 2004-2012, SADAHIRO Tomoyuki. Japan.
+This module is Copyright(C) 2004-2013, SADAHIRO Tomoyuki. Japan.
All rights reserved.
This module is free software; you can redistribute it and/or
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
index 875ef54765e..5d75631db3d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
@@ -1,6 +1,6 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0149 ; [.174F.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0149 ; [.174B.0020.0009] # 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
index da20dffb8ea..2aeedf73211 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
@@ -1,15 +1,15 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0629 ; [.1CAB.0021.0002.0629] # ARABIC LETTER TEH MARBUTA
-FE94 ; [.1CAB.0021.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE93 ; [.1CAB.0021.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-0649 ; [.1D48.0021.0002.0649] # ARABIC LETTER ALEF MAKSURA
-FBE8 ; [.1D48.0021.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9 ; [.1D48.0021.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FEF0 ; [.1D48.0021.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEEF ; [.1D48.0021.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FC90 ; [.1D48.0021.001B.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC5D ; [.1D48.0021.001C.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0629 ; [.1CA7.0021.0002] # ARABIC LETTER TEH MARBUTA
+FE94 ; [.1CA7.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93 ; [.1CA7.0021.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0649 ; [.1D44.0021.0002] # ARABIC LETTER ALEF MAKSURA
+FBE8 ; [.1D44.0021.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9 ; [.1D44.0021.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0 ; [.1D44.0021.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF ; [.1D44.0021.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90 ; [.1D44.0021.001B] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D ; [.1D44.0021.001C] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl
index 1aeca849fda..fa69f99fdcb 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl
@@ -1,13 +1,13 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0982 ; [.204B.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
-0981 ; [.204B.0020.0002.0981][.FFF2.0000.0000.0000] # BENGALI SIGN CANDRABINDU
-0983 ; [.204B.0020.0002.0983][.FFF3.0000.0000.0000] # BENGALI SIGN VISARGA
-0994 ; [.204B.0020.0002.0994][.FFF0.0000.0000.0000] # BENGALI LETTER AU
-09A4 09CD 200D ; [.205A.0020.0002.09A4][.FFF1.0000.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
-09A3 ; [.205A.0020.0002.09A3][.FFF0.0000.0000.0000] # BENGALI LETTER NNA
-0995 09CD 09B7 ; [.206D.0020.0002.0995][.FFF1.0000.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
-09B9 ; [.206D.0020.0002.09B9][.FFF0.0000.0000.0000] # BENGALI LETTER HA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0982 ; [.2047.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
+0981 ; [.2047.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
+0983 ; [.2047.0020.0002][.FFF3.0000.0000] # BENGALI SIGN VISARGA
+0994 ; [.2047.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
+09A4 09CD 200D ; [.2056.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
+09A3 ; [.2056.0020.0002][.FFF0.0000.0000] # BENGALI LETTER NNA
+0995 09CD 09B7 ; [.2069.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
+09B9 ; [.2069.0020.0002][.FFF0.0000.0000] # BENGALI LETTER HA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
index 478b5810f73..1ff085fac17 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
@@ -1,51 +1,51 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# schwa doesn't require tailoring
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E7 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131 ; [.16CC.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049 ; [.16CC.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC ; [.16CC.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD ; [.16CC.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE ; [.16CC.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF ; [.16CC.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A ; [.16CC.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C ; [.16CC.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E ; [.16CC.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0071 ; [.1700.0020.0002.0071] # LATIN SMALL LETTER Q
-0051 ; [.1700.0020.0008.0051] # LATIN CAPITAL LETTER Q
-0078 ; [.16B5.0020.0002.0078] # LATIN SMALL LETTER X
-0058 ; [.16B5.0020.0008.0058] # LATIN CAPITAL LETTER X
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E7 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.16C8.0020.0002] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.16C8.0020.0008] # LATIN CAPITAL LETTER I
+00CC ; [.16C8.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.16C8.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.16C8.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.16C8.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.16C8.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.16C8.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.16C8.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.16C9.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16C9.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.176E.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.176E.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071 ; [.16FC.0020.0002] # LATIN SMALL LETTER Q
+0051 ; [.16FC.0020.0008] # LATIN CAPITAL LETTER Q
+0078 ; [.16B1.0020.0002] # LATIN SMALL LETTER X
+0058 ; [.16B1.0020.0008] # LATIN CAPITAL LETTER X
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl
index 00100758535..40477b724d0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl
@@ -1,43 +1,43 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0427, 0x0447, 0x042B, 0x044B,
0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-0451 ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
-0435 0308 ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
-0401 ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
-0415 0308 ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457 ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0451 ; [.19D6.0020.0002] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.19D6.0020.0002] # CYRILLIC SMALL LETTER IO
+0401 ; [.19D6.0020.0008] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.19D6.0020.0008] # CYRILLIC CAPITAL LETTER IO
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.1A12.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1A12.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl
index 79d3cb100e5..20160941ea4 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl
@@ -1,45 +1,45 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457 ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.1A12.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1A12.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl
index b64452ab73a..cd787241952 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0982 ; [.204B.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
-0983 ; [.204B.0020.0002.0983][.FFF2.0000.0000.0000] # BENGALI SIGN VISARGA
-0981 ; [.204B.0020.0002.0981][.FFF3.0000.0000.0000] # BENGALI SIGN CANDRABINDU
-0994 ; [.204B.0020.0002.0994][.FFF0.0000.0000.0000] # BENGALI LETTER AU
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0982 ; [.2047.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
+0983 ; [.2047.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
+0981 ; [.2047.0020.0002][.FFF3.0000.0000] # BENGALI SIGN CANDRABINDU
+0994 ; [.2047.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
index 5bb9b87230e..62ae06c4b91 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
@@ -1,18 +1,18 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
backwards => 2,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.1712.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 00B7 006C ; [.1712.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-006C 004C ; [.1712.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-006C 00B7 004C ; [.1712.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
-004C 006C ; [.1712.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 00B7 006C ; [.1712.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-004C 004C ; [.1712.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-004C 00B7 004C ; [.1712.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0068 ; [.161A.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.161A.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.161A.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161A.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.170E.0020.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 00B7 006C ; [.170E.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+006C 004C ; [.170E.0020.0007][.0000.0000.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+006C 00B7 004C ; [.170E.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+004C 006C ; [.170E.0020.0007][.0000.0000.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 00B7 006C ; [.170E.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+004C 004C ; [.170E.0020.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+004C 00B7 004C ; [.170E.0020.0008][.0000.0000.0007] # <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
index 12eb7589668..ea6ae02514c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
@@ -1,25 +1,25 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-010D ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.16B5.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.16B5.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.16B5.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.16B5.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0159 ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0158 ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+010D ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.16B1.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.16B1.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.16B1.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.16B1.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0159 ; [.17BA.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17BA.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17BA.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17BA.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1892.0020.0008] # 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
index dfb20c9c51a..c96dc1d4fff 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
@@ -1,29 +1,29 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.161E.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0064 ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
-0044 0064 ; [.1632.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
-0044 0044 ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
-0066 0066 ; [.1685.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
-0046 0066 ; [.1685.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
-0046 0046 ; [.1685.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
-006E 0067 ; [.1692.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1692.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1692.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-006C 006C ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.1712.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-0070 0068 ; [.1797.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.1797.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.1797.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0072 0068 ; [.17BE.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
-0052 0068 ; [.17BE.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
-0052 0048 ; [.17BE.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
-0074 0068 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0054 0068 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0068 ; [.161A.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.161A.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161A.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0064 ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
+0044 0064 ; [.162E.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
+0044 0044 ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
+0066 0066 ; [.1681.0020.0002] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
+0046 0066 ; [.1681.0020.0007] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
+0046 0046 ; [.1681.0020.0008] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
+006E 0067 ; [.168E.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.168E.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+006C 006C ; [.170E.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.170E.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.170E.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+0070 0068 ; [.1793.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1793.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1793.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0072 0068 ; [.17BA.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
+0052 0068 ; [.17BA.0020.0007] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
+0052 0048 ; [.17BA.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.1813.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1813.0020.0008] # <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
index d814036a9de..d6c5da82f59 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
@@ -1,76 +1,78 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
upper_before_lower => 1,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1908.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1908.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1908.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1908.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0041 ; [.1908.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1903.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1903.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1904.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008][.0000.0000.0001] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0000.0001][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0000.0001][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1904.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1904.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1904.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0041 ; [.1904.0020.0008][.0000.0000.0007] # <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
index 247ec4163c5..0bd202b4e8e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
@@ -1,29 +1,29 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E4 ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E4 ; [.15EB.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15EB.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15EB.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15EB.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15EB.0021.0002][.1648.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15EB.0021.0008][.1648.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.176D.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.176D.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.176D.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.176D.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.176D.0021.0002][.1648.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.176D.0021.0008][.1648.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.1832.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0021.0002][.1648.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0021.0008][.1648.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1832.0021.0002][.1648.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0021.0008][.1648.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1832.0021.0002][.1648.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0021.0008][.1648.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1832.0021.0002][.1648.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008][.1648.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1832.0021.0002][.1648.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0021.0008][.1648.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ee.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ee.pl
index c593a2679e5..ed2e548e679 100755
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ee.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ee.pl
@@ -1,36 +1,36 @@
+{
- locale_version => 0.95,
+ locale_version => 1.01,
# d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.2.0
-0302 ; [.0000.0042.0002.0302] # COMBINING CIRCUMFLEX ACCENT
-00E2 ; [.15EF.0020.0002.0061][.0000.0042.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15EF.0020.0008.0041][.0000.0042.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00EA ; [.164C.0020.0002.0065][.0000.0042.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0020.0008.0045][.0000.0042.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00EE ; [.16CD.0020.0002.0069][.0000.0042.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE ; [.16CD.0020.0008.0049][.0000.0042.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00F4 ; [.1771.0020.0002.006F][.0000.0042.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1771.0020.0008.004F][.0000.0042.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00FB ; [.1836.0020.0002.0075][.0000.0042.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00DB ; [.1836.0020.0008.0055][.0000.0042.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0177 ; [.1880.0020.0002.0079][.0000.0042.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0176 ; [.1880.0020.0008.0059][.0000.0042.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0064 007A ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 007A ; [.1632.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0078 ; [.16B5.0020.0002.0078] # LATIN SMALL LETTER X
-0058 ; [.16B5.0020.0008.0058] # LATIN CAPITAL LETTER X
-006B 0070 ; [.1700.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.1700.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.1700.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006E 0079 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0074 0073 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0302 ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
+00E2 ; [.15EB.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15EB.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+00EA ; [.1648.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+00EE ; [.16C9.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16C9.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00F4 ; [.176D.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176D.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+00FB ; [.1832.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB ; [.1832.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0177 ; [.187C.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176 ; [.187C.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0064 007A ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 007A ; [.162E.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0067 0062 ; [.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.168E.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0078 ; [.16B1.0020.0002] # LATIN SMALL LETTER X
+0058 ; [.16B1.0020.0008] # LATIN CAPITAL LETTER X
+006B 0070 ; [.16FC.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.16FC.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.16FC.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006E 0079 ; [.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.174C.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0074 0073 ; [.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1813.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1813.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
index f8feeb3c644..857480c7599 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
@@ -1,29 +1,29 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0109 ; [.161E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0063 0302 ; [.161E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108 ; [.161E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0043 0302 ; [.161E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-011D ; [.1692.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-0067 0302 ; [.1692.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C ; [.1692.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0047 0302 ; [.1692.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0125 ; [.16B5.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0068 0302 ; [.16B5.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124 ; [.16B5.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0048 0302 ; [.16B5.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0135 ; [.16E7.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-006A 0302 ; [.16E7.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134 ; [.16E7.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-004A 0302 ; [.16E7.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-015D ; [.17F4.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0073 0302 ; [.17F4.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C ; [.17F4.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0053 0302 ; [.17F4.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-016D ; [.1837.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-0075 0306 ; [.1837.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-016C ; [.1837.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
-0055 0306 ; [.1837.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0109 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125 ; [.16B1.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.16B1.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124 ; [.16B1.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.16B1.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135 ; [.16E3.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.16E3.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134 ; [.16E3.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.16E3.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.1833.0020.0008] # 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
index 7368111be31..0d1e1d460a9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00F1 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00F1 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.174C.0020.0008] # 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
index 5bbc740490b..8c035aa3685 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
@@ -1,15 +1,15 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.161E.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.1712.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-00F1 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0068 ; [.161A.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.161A.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161A.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.170E.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.170E.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.170E.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+00F1 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.174C.0020.0008] # 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
index 02d26bea005..5814e273612 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
@@ -1,53 +1,53 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0161 ; [.1813.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1813.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.1813.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1813.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-007A ; [.1814.0020.0002.007A] # LATIN SMALL LETTER Z
-005A ; [.1814.0020.0008.005A] # LATIN CAPITAL LETTER Z
-017E ; [.1815.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1815.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1815.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1815.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-0077 ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
-00F5 ; [.1877.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.1877.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.1877.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.1877.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D ; [.1877.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C ; [.1877.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D ; [.1877.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C ; [.1877.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F ; [.1877.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E ; [.1877.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1 ; [.1877.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.1877.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00E4 ; [.1878.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1878.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1878.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1878.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1878.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1878.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.1879.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1879.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1879.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1879.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1879.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1879.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC ; [.187A.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.187A.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.187A.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.187A.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.187A.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.187A.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.187A.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.187A.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.187A.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.187A.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.187A.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.187A.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0161 ; [.180F.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.180F.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.180F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.180F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+007A ; [.1810.0020.0002] # LATIN SMALL LETTER Z
+005A ; [.1810.0020.0008] # LATIN CAPITAL LETTER Z
+017E ; [.1811.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1811.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1811.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1811.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+0077 ; [.185B.0021.0002] # LATIN SMALL LETTER W
+0057 ; [.185B.0021.0008] # LATIN CAPITAL LETTER W
+00F5 ; [.1873.0020.0002] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1873.0020.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1873.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1873.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.1873.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.1873.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.1873.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.1873.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.1873.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.1873.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.1873.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1873.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00E4 ; [.1874.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1874.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1874.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1874.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1874.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1874.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.1875.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1875.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1875.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1875.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1875.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1875.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.1876.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1876.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1876.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1876.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1876.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1876.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1876.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1876.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1876.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1876.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1876.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1876.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl
index 415d3e540ad..335848f725b 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl
@@ -1,51 +1,51 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0650 ; [.0000.00AE.0002.0650] # ARABIC KASRA
-064B ; [.0000.00B3.0002.064B] # ARABIC FATHATAN
-064D ; [.0000.00B4.0002.064D] # ARABIC KASRATAN
-064C ; [.0000.00B5.0002.064C] # ARABIC DAMMATAN
-0622 ; [.1C9B.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.1C9B.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-08AC ; [.1C9B.0020.0002.08AC][.FFF0.0000.0000.0000] # ARABIC LETTER ROHINGYA YEH
-0671 ; [.1C9C.0021.0002.0671] # ARABIC LETTER ALEF WASLA
-0621 ; [.1C9D.0020.0002.0621][.FFF0.0000.0000.0000] # ARABIC LETTER HAMZA
-0623 ; [.1C9D.0021.0002.0623][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.1C9D.0021.0002.0623][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0672 ; [.1C9D.0022.0002.0672][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0625 ; [.1C9D.0023.0002.0625][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.1C9D.0023.0002.0625][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0673 ; [.1C9D.0024.0002.0673][.FFF0.0000.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0624 ; [.1C9D.0025.0002.0624][.FFF0.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.1C9D.0025.0002.0624][.FFF0.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-06CC 0654 ; [.1C9D.0026.0002.06CC][.FFF0.0000.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC HAMZA ABOVE>
-0649 0654 ; [.1C9D.0026.0003.0649][.FFF0.0000.0000.0000] # <ARABIC LETTER ALEF MAKSURA, ARABIC HAMZA ABOVE>
-0626 ; [.1C9D.0026.0004.0626][.FFF0.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.1C9D.0026.0004.0626][.FFF0.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-066E ; [.1C9D.0020.0002.066E][.FFF1.0000.0000.0000] # ARABIC LETTER DOTLESS BEH
-06AA ; [.1D0E.0021.0002.06AA] # ARABIC LETTER SWASH KAF
-06AB ; [.1D0E.0022.0002.06AB] # ARABIC LETTER KAF WITH RING
-0643 ; [.1D0E.0023.0002.0643] # ARABIC LETTER KAF
-06AC ; [.1D0E.0024.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
-06AD ; [.1D0E.0025.0002.06AD] # ARABIC LETTER NG
-06AE ; [.1D0E.0026.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-0647 ; [.1D43.0020.0002.0647][.FFF1.0000.0000.0000] # ARABIC LETTER HEH
-06D5 ; [.1D43.0021.0002.06D5][.FFF1.0000.0000.0000] # ARABIC LETTER AE
-06C1 ; [.1D43.0022.0002.06C1][.FFF1.0000.0000.0000] # ARABIC LETTER HEH GOAL
-06C2 ; [.1D43.0022.0002.06C1][.FFF1.0000.0000.0000][.0000.00BE.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-0629 ; [.1D43.0023.0002.0629][.FFF1.0000.0000.0000] # ARABIC LETTER TEH MARBUTA
-06C3 ; [.1D43.0024.0002.06C3][.FFF1.0000.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
-06C0 ; [.1D43.0025.0002.06C0][.FFF1.0000.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
-06D5 0654 ; [.1D43.0025.0002.06C0][.FFF1.0000.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
-06BE ; [.1D43.0026.0002.06BE][.FFF1.0000.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
-06CF ; [.1D43.0020.0002.06CF][.FFF0.0000.0000.0000] # ARABIC LETTER WAW WITH DOT ABOVE
-0649 ; [.1D49.0021.0002.0649] # ARABIC LETTER ALEF MAKSURA
-06D2 ; [.1D49.0022.0002.06D2] # ARABIC LETTER YEH BARREE
-06D3 ; [.1D49.0022.0002.06D2][.0000.00BE.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-064A ; [.1D49.0023.0002.064A] # ARABIC LETTER YEH
-06D0 ; [.1D49.0024.0002.06D0] # ARABIC LETTER E
-06D1 ; [.1D49.0025.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-06CD ; [.1D49.0026.0002.06CD] # ARABIC LETTER YEH WITH TAIL
-06CE ; [.1D49.0027.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0650 ; [.0000.0077.0002] # ARABIC KASRA
+064B ; [.0000.007B.0002] # ARABIC FATHATAN
+064D ; [.0000.007C.0002] # ARABIC KASRATAN
+064C ; [.0000.007D.0002] # ARABIC DAMMATAN
+0622 ; [.1C97.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C97.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+08AC ; [.1C97.0020.0002][.FFF0.0000.0000] # ARABIC LETTER ROHINGYA YEH
+0671 ; [.1C98.0021.0002] # ARABIC LETTER ALEF WASLA
+0621 ; [.1C99.0020.0002][.FFF0.0000.0000] # ARABIC LETTER HAMZA
+0623 ; [.1C99.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C99.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0672 ; [.1C99.0022.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0625 ; [.1C99.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C99.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0673 ; [.1C99.0024.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0624 ; [.1C99.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C99.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+06CC 0654 ; [.1C99.0026.0002][.FFF0.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC HAMZA ABOVE>
+0649 0654 ; [.1C99.0026.0003][.FFF0.0000.0000] # <ARABIC LETTER ALEF MAKSURA, ARABIC HAMZA ABOVE>
+0626 ; [.1C99.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C99.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+066E ; [.1C99.0020.0002][.FFF1.0000.0000] # ARABIC LETTER DOTLESS BEH
+06AA ; [.1D0A.0021.0002] # ARABIC LETTER SWASH KAF
+06AB ; [.1D0A.0022.0002] # ARABIC LETTER KAF WITH RING
+0643 ; [.1D0A.0023.0002] # ARABIC LETTER KAF
+06AC ; [.1D0A.0024.0002] # ARABIC LETTER KAF WITH DOT ABOVE
+06AD ; [.1D0A.0025.0002] # ARABIC LETTER NG
+06AE ; [.1D0A.0026.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+0647 ; [.1D3F.0020.0002][.FFF1.0000.0000] # ARABIC LETTER HEH
+06D5 ; [.1D3F.0021.0002][.FFF1.0000.0000] # ARABIC LETTER AE
+06C1 ; [.1D3F.0022.0002][.FFF1.0000.0000] # ARABIC LETTER HEH GOAL
+06C2 ; [.1D3F.0022.0002][.FFF1.0000.0000][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+0629 ; [.1D3F.0023.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA
+06C3 ; [.1D3F.0024.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+06C0 ; [.1D3F.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06D5 0654 ; [.1D3F.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06BE ; [.1D3F.0026.0002][.FFF1.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+06CF ; [.1D3F.0020.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH DOT ABOVE
+0649 ; [.1D45.0021.0002] # ARABIC LETTER ALEF MAKSURA
+06D2 ; [.1D45.0022.0002] # ARABIC LETTER YEH BARREE
+06D3 ; [.1D45.0022.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+064A ; [.1D45.0023.0002] # ARABIC LETTER YEH
+06D0 ; [.1D45.0024.0002] # ARABIC LETTER E
+06D1 ; [.1D45.0025.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+06CD ; [.1D45.0026.0002] # ARABIC LETTER YEH WITH TAIL
+06CE ; [.1D45.0027.0002] # ARABIC LETTER YEH WITH SMALL V
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
index 111bea49bf2..8d1a3f6f819 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
@@ -1,64 +1,65 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
-01E5 ; [.1691.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.1691.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
-014B ; [.174F.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
-014A ; [.174F.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
-0167 ; [.1816.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.1816.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
-0077 ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292 ; [.1895.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
-01B7 ; [.1895.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
-01EF ; [.1895.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.1895.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5 ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+01E5 ; [.168D.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.168D.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
+014B ; [.174B.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
+014A ; [.174B.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
+0167 ; [.1812.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.1812.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
+0077 ; [.185B.0021.0002] # LATIN SMALL LETTER W
+0057 ; [.185B.0021.0008] # LATIN CAPITAL LETTER W
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292 ; [.1891.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
+01B7 ; [.1891.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
+01EF ; [.1891.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.1891.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5 ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1902.0020.0008] # ANGSTROM SIGN
+01FB ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1903.0021.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1903.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1903.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1903.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1903.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1904.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1904.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1904.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1904.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl
index fd33cf71b95..738d95aadb8 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl
@@ -1,62 +1,63 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
-01E5 ; [.1691.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.1691.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
-014B ; [.174F.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
-014A ; [.174F.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
-0167 ; [.1816.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.1816.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292 ; [.1895.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
-01B7 ; [.1895.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
-01EF ; [.1895.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.1895.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5 ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+01E5 ; [.168D.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.168D.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
+014B ; [.174B.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
+014A ; [.174B.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
+0167 ; [.1812.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.1812.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292 ; [.1891.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
+01B7 ; [.1891.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
+01EF ; [.1891.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.1891.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5 ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1902.0020.0008] # ANGSTROM SIGN
+01FB ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1903.0021.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1903.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1903.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1903.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1903.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1904.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1904.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1904.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1904.0021.0008][.0000.0024.0002] # 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
index 2d62538c962..11991c9f311 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
@@ -1,12 +1,12 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00F1 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-006E 0067 ; [.1751.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1751.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1751.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00F1 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.174D.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.174D.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.174D.0020.0008] # <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
index efc5fbb8158..38f398c2b0d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
@@ -1,75 +1,77 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1908.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1908.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0061 ; [.1908.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1908.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1903.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1903.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1904.0020.001C][.0000.0000.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1904.0020.001C][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0061 ; [.1904.0020.001D][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1904.0020.001D][.0000.0000.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl
index b009f638f99..63d6eb55ade 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0A82 ; [.20B7.0020.0002.0A82][.FFF1.0000.0000.0000] # GUJARATI SIGN ANUSVARA
-0A81 ; [.20B7.0021.0002.0A81][.FFF1.0000.0000.0A81] # GUJARATI SIGN CANDRABINDU
-0A83 ; [.20B7.0020.0002.0A83][.FFF2.0000.0000.0000] # GUJARATI SIGN VISARGA
-0AD0 ; [.20B7.0020.0002.0AD0][.FFF0.0000.0000.0000] # GUJARATI OM
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0A82 ; [.20B3.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
+0A81 ; [.20B3.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
+0A83 ; [.20B3.0020.0002][.FFF2.0000.0000] # GUJARATI SIGN VISARGA
+0AD0 ; [.20B3.0020.0002][.FFF0.0000.0000] # GUJARATI OM
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
index 10edfd69f2b..5adccf413f2 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
@@ -1,16 +1,16 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# b-hook, d-hook, k-hook, y-hook don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.2.0
-0073 0068 ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17F4.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0073 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
-02BC 0079 ; [.188C.0020.0003.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
-02BC 0059 ; [.188C.0020.0009.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
-0027 0079 ; [.188C.0020.0004.0027] # <APOSTROPHE, LATIN SMALL LETTER Y>
-0027 0059 ; [.188C.0020.000A.0027] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0073 0068 ; [.17F0.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17F0.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17F0.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1813.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1813.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+02BC 0079 ; [.1888.0020.0003] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
+02BC 0059 ; [.1888.0020.0009] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
+0027 0079 ; [.1888.0020.0004] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.1888.0020.000A] # <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
index 12e9bc688f0..c2913e96e3c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
@@ -1,36 +1,37 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0065 ; [.15F0.0020.0002.0065] # LATIN SMALL LETTER E
-0045 ; [.15F0.0020.0008.0045] # LATIN CAPITAL LETTER E
-0069 ; [.15F1.0020.0002.0069] # LATIN SMALL LETTER I
-0049 ; [.15F1.0020.0008.0049] # LATIN CAPITAL LETTER I
-006F ; [.15F2.0020.0002.006F] # LATIN SMALL LETTER O
-004F ; [.15F2.0020.0008.004F] # LATIN CAPITAL LETTER O
-0075 ; [.15F3.0020.0002.0075] # LATIN SMALL LETTER U
-0055 ; [.15F3.0020.0008.0055] # LATIN CAPITAL LETTER U
-0068 ; [.15F4.0020.0002.0068] # LATIN SMALL LETTER H
-0048 ; [.15F4.0020.0008.0048] # LATIN CAPITAL LETTER H
-006B ; [.15F5.0020.0002.006B] # LATIN SMALL LETTER K
-004B ; [.15F5.0020.0008.004B] # LATIN CAPITAL LETTER K
-006C ; [.15F6.0020.0002.006C] # LATIN SMALL LETTER L
-004C ; [.15F6.0020.0008.004C] # LATIN CAPITAL LETTER L
-006D ; [.15F7.0020.0002.006D] # LATIN SMALL LETTER M
-004D ; [.15F7.0020.0008.004D] # LATIN CAPITAL LETTER M
-006E ; [.15F8.0020.0002.006E] # LATIN SMALL LETTER N
-004E ; [.15F8.0020.0008.004E] # LATIN CAPITAL LETTER N
-0070 ; [.15F9.0020.0002.0070] # LATIN SMALL LETTER P
-0050 ; [.15F9.0020.0008.0050] # LATIN CAPITAL LETTER P
-0077 ; [.15FA.0020.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.15FA.0020.0008.0057] # LATIN CAPITAL LETTER W
-02BB ; [.15FB.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-0113 ; [.15F0.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15F0.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
-012B ; [.15F1.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.15F1.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-014D ; [.15F2.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.15F2.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
-016B ; [.15F3.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.15F3.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0065 ; [.15EC.0020.0002] # LATIN SMALL LETTER E
+0045 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER E
+0069 ; [.15ED.0020.0002] # LATIN SMALL LETTER I
+0049 ; [.15ED.0020.0008] # LATIN CAPITAL LETTER I
+006F ; [.15EE.0020.0002] # LATIN SMALL LETTER O
+004F ; [.15EE.0020.0008] # LATIN CAPITAL LETTER O
+0075 ; [.15EF.0020.0002] # LATIN SMALL LETTER U
+0055 ; [.15EF.0020.0008] # LATIN CAPITAL LETTER U
+0068 ; [.15F0.0020.0002] # LATIN SMALL LETTER H
+0048 ; [.15F0.0020.0008] # LATIN CAPITAL LETTER H
+006B ; [.15F1.0020.0002] # LATIN SMALL LETTER K
+004B ; [.15F1.0020.0008] # LATIN CAPITAL LETTER K
+212A ; [.15F1.0020.0008] # KELVIN SIGN
+006C ; [.15F2.0020.0002] # LATIN SMALL LETTER L
+004C ; [.15F2.0020.0008] # LATIN CAPITAL LETTER L
+006D ; [.15F3.0020.0002] # LATIN SMALL LETTER M
+004D ; [.15F3.0020.0008] # LATIN CAPITAL LETTER M
+006E ; [.15F4.0020.0002] # LATIN SMALL LETTER N
+004E ; [.15F4.0020.0008] # LATIN CAPITAL LETTER N
+0070 ; [.15F5.0020.0002] # LATIN SMALL LETTER P
+0050 ; [.15F5.0020.0008] # LATIN CAPITAL LETTER P
+0077 ; [.15F6.0020.0002] # LATIN SMALL LETTER W
+0057 ; [.15F6.0020.0008] # LATIN CAPITAL LETTER W
+02BB ; [.15F7.0020.0002] # MODIFIER LETTER TURNED COMMA
+0113 ; [.15EC.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15EC.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
+012B ; [.15ED.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.15ED.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+014D ; [.15EE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.15EE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
+016B ; [.15EF.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.15EF.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl
index c58fdfb7703..bb5ec06e182 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0902 ; [.1FDC.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901 ; [.1FDC.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
-0903 ; [.1FDC.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
-0950 ; [.1FDC.0020.0002.0950][.FFF0.0000.0000.0000] # DEVANAGARI OM
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0902 ; [.1FD8.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FD8.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FD8.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950 ; [.1FD8.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
index 3bf3bc639b8..8c00e2368b9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
@@ -1,48 +1,48 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-010D ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0107 ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106 ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0064 017E ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-01C6 ; [.1632.0020.0003.01C6] # LATIN SMALL LETTER DZ WITH CARON
-0044 017E ; [.1632.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-01C5 ; [.1632.0020.0007.01C5][.0000.0000.0007.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-0044 017D ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-01C4 ; [.1632.0020.0009.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
-0064 007A 030C ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 007A 030C ; [.1632.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 005A 030C ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0111 ; [.1633.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1633.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1633.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1633.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-006C 006A ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
-01C9 ; [.1712.0020.0003.01C9] # LATIN SMALL LETTER LJ
-004C 006A ; [.1712.0020.0007.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
-01C8 ; [.1712.0020.0007.01C8][.0000.0000.0007.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-004C 004A ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
-01C7 ; [.1712.0020.0009.01C7] # LATIN CAPITAL LETTER LJ
-006E 006A ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-01CC ; [.1750.0020.0003.01CC] # LATIN SMALL LETTER NJ
-004E 006A ; [.1750.0020.0007.004E][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-01CB ; [.1750.0020.0007.01CB][.0000.0000.0007.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-004E 004A ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-01CA ; [.1750.0020.0009.01CA] # LATIN CAPITAL LETTER NJ
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+010D ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0107 ; [.161B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.161B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.161B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.161B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.161B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.161B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0064 017E ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C6 ; [.162E.0020.0003] # LATIN SMALL LETTER DZ WITH CARON
+0044 017E ; [.162E.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C5 ; [.162E.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+0044 017D ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+01C4 ; [.162E.0020.0009] # LATIN CAPITAL LETTER DZ WITH CARON
+0064 007A 030C ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 007A 030C ; [.162E.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 005A 030C ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0111 ; [.162F.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162F.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162F.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162F.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+006C 006A ; [.170E.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
+01C9 ; [.170E.0020.0003] # LATIN SMALL LETTER LJ
+004C 006A ; [.170E.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
+01C8 ; [.170E.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+004C 004A ; [.170E.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
+01C7 ; [.170E.0020.0009] # LATIN CAPITAL LETTER LJ
+006E 006A ; [.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+01CC ; [.174C.0020.0003] # LATIN SMALL LETTER NJ
+004E 006A ; [.174C.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+01CB ; [.174C.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+004E 004A ; [.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+01CA ; [.174C.0020.0009] # LATIN CAPITAL LETTER NJ
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1892.0020.0008] # 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
index 1146a7626c3..085af563560 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
@@ -1,151 +1,151 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0073 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0053 ; [.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0073 ; [.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0053 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 007A ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 005A ; [.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 007A ; [.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 007A 0073 ; [.1633.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 007A 0053 ; [.1633.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 ; [.1633.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 ; [.1633.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 ; [.1633.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 ; [.1633.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 ; [.1633.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 ; [.1633.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0079 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0059 ; [.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0079 ; [.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0059 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 0079 ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 0059 ; [.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 0079 ; [.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 0059 ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 0079 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 0059 ; [.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 0079 ; [.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 007A ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 005A ; [.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 007A ; [.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 005A ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0079 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0059 ; [.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0079 ; [.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0059 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 0073 ; [.1896.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 0053 ; [.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 0073 ; [.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 0053 ; [.1896.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-00F6 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1772.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1772.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1772.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1772.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00FC ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1837.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1837.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1837.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1837.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0063 0063 0073 ; [.161E.0020.0002.0063][.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0063 0053 ; [.161E.0020.0002.0063][.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0063 0043 0073 ; [.161E.0020.0002.0063][.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0063 0043 0053 ; [.161E.0020.0002.0063][.161E.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0043 0063 0073 ; [.161E.0020.0008.0043][.161E.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0043 0063 0053 ; [.161E.0020.0008.0043][.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0043 0073 ; [.161E.0020.0008.0043][.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0043 0053 ; [.161E.0020.0008.0043][.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 0064 007A ; [.1632.0020.0002.0064][.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 0064 005A ; [.1632.0020.0002.0064][.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0044 007A ; [.1632.0020.0002.0064][.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0064 0044 005A ; [.1632.0020.0002.0064][.1632.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0064 007A ; [.1632.0020.0008.0044][.1632.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 0064 005A ; [.1632.0020.0008.0044][.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0044 007A ; [.1632.0020.0008.0044][.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 0044 005A ; [.1632.0020.0008.0044][.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0064 007A 0073 ; [.1633.0020.0002.0064][.1633.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 007A 0053 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.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 ; [.1633.0020.0002.0064][.1633.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 007A 0073 ; [.1633.0020.0008.0044][.1633.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 007A 0053 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.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 ; [.1633.0020.0008.0044][.1633.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0067 0079 ; [.1692.0020.0002.0067][.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0067 0059 ; [.1692.0020.0002.0067][.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0067 0047 0079 ; [.1692.0020.0002.0067][.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0067 0047 0059 ; [.1692.0020.0002.0067][.1692.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0067 0079 ; [.1692.0020.0008.0047][.1692.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0047 0067 0059 ; [.1692.0020.0008.0047][.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0047 0079 ; [.1692.0020.0008.0047][.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0047 0059 ; [.1692.0020.0008.0047][.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 006C 0079 ; [.1712.0020.0002.006C][.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 006C 0059 ; [.1712.0020.0002.006C][.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-006C 004C 0079 ; [.1712.0020.0002.006C][.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-006C 004C 0059 ; [.1712.0020.0002.006C][.1712.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-004C 006C 0079 ; [.1712.0020.0008.004C][.1712.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-004C 006C 0059 ; [.1712.0020.0008.004C][.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 004C 0079 ; [.1712.0020.0008.004C][.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 004C 0059 ; [.1712.0020.0008.004C][.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 006E 0079 ; [.1750.0020.0002.006E][.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 006E 0059 ; [.1750.0020.0002.006E][.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-006E 004E 0079 ; [.1750.0020.0002.006E][.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-006E 004E 0059 ; [.1750.0020.0002.006E][.1750.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-004E 006E 0079 ; [.1750.0020.0008.004E][.1750.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 006E 0059 ; [.1750.0020.0008.004E][.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 004E 0079 ; [.1750.0020.0008.004E][.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 004E 0059 ; [.1750.0020.0008.004E][.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 0073 007A ; [.17F4.0020.0002.0073][.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 0073 005A ; [.17F4.0020.0002.0073][.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0073 0053 007A ; [.17F4.0020.0002.0073][.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0073 0053 005A ; [.17F4.0020.0002.0073][.17F4.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0073 007A ; [.17F4.0020.0008.0053][.17F4.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0053 0073 005A ; [.17F4.0020.0008.0053][.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0053 007A ; [.17F4.0020.0008.0053][.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 0053 005A ; [.17F4.0020.0008.0053][.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0074 0079 ; [.1817.0020.0002.0074][.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0074 0059 ; [.1817.0020.0002.0074][.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0074 0054 0079 ; [.1817.0020.0002.0074][.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0074 0054 0059 ; [.1817.0020.0002.0074][.1817.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0074 0079 ; [.1817.0020.0008.0054][.1817.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0054 0074 0059 ; [.1817.0020.0008.0054][.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0054 0079 ; [.1817.0020.0008.0054][.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0054 0059 ; [.1817.0020.0008.0054][.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 007A 0073 ; [.1896.0020.0002.007A][.1896.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 007A 0053 ; [.1896.0020.0002.007A][.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-007A 005A 0073 ; [.1896.0020.0002.007A][.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-007A 005A 0053 ; [.1896.0020.0002.007A][.1896.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-005A 007A 0073 ; [.1896.0020.0008.005A][.1896.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-005A 007A 0053 ; [.1896.0020.0008.005A][.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 005A 0073 ; [.1896.0020.0008.005A][.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 005A 0053 ; [.1896.0020.0008.005A][.1896.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0073 ; [.161A.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.161A.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.161A.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.161A.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.162E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.162E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.162F.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.162F.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.162F.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.162F.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.162F.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.162F.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.162F.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.162F.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.168E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.168E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.170E.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.170E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.170E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.170E.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.174C.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.174C.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.17F0.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.17F0.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.17F0.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.17F0.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.1813.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.1813.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.1813.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.1892.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.1892.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.1892.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.1892.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+00F6 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.176E.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.176E.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.176E.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.176E.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.176E.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.176E.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00FC ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.161A.0020.0002][.161A.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.161A.0020.0002][.161A.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.161A.0020.0002][.161A.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.161A.0020.0002][.161A.0020.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.161A.0020.0008][.161A.0020.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.161A.0020.0008][.161A.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.161A.0020.0008][.161A.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.161A.0020.0008][.161A.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.162E.0020.0002][.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.162E.0020.0002][.162E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.162E.0020.0002][.162E.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.162E.0020.0002][.162E.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.162E.0020.0008][.162E.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.162E.0020.0008][.162E.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.162E.0020.0008][.162E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.162E.0020.0008][.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.162F.0020.0002][.162F.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.162F.0020.0002][.162F.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.162F.0020.0002][.162F.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.162F.0020.0008][.162F.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.162F.0020.0008][.162F.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.162F.0020.0008][.162F.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.168E.0020.0002][.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.168E.0020.0002][.168E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.168E.0020.0002][.168E.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.168E.0020.0002][.168E.0020.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.168E.0020.0008][.168E.0020.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.168E.0020.0008][.168E.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.168E.0020.0008][.168E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.168E.0020.0008][.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.170E.0020.0002][.170E.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.170E.0020.0002][.170E.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.170E.0020.0002][.170E.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.170E.0020.0002][.170E.0020.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.170E.0020.0008][.170E.0020.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.170E.0020.0008][.170E.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.170E.0020.0008][.170E.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.170E.0020.0008][.170E.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.174C.0020.0002][.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.174C.0020.0002][.174C.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.174C.0020.0002][.174C.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.174C.0020.0002][.174C.0020.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.174C.0020.0008][.174C.0020.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.174C.0020.0008][.174C.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.174C.0020.0008][.174C.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.174C.0020.0008][.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.17F0.0020.0002][.17F0.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.17F0.0020.0002][.17F0.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.17F0.0020.0002][.17F0.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.17F0.0020.0002][.17F0.0020.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.17F0.0020.0008][.17F0.0020.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.17F0.0020.0008][.17F0.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.17F0.0020.0008][.17F0.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.17F0.0020.0008][.17F0.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.1813.0020.0002][.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.1813.0020.0002][.1813.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.1813.0020.0002][.1813.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.1813.0020.0002][.1813.0020.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.1813.0020.0008][.1813.0020.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.1813.0020.0008][.1813.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.1813.0020.0008][.1813.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.1813.0020.0008][.1813.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.1892.0020.0002][.1892.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.1892.0020.0002][.1892.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.1892.0020.0002][.1892.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.1892.0020.0002][.1892.0020.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.1892.0020.0008][.1892.0020.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.1892.0020.0008][.1892.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.1892.0020.0008][.1892.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.1892.0020.0008][.1892.0020.0008] # <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
index 31255769115..d0ead3336f5 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0587 ; [.1C44.0020.0002.0587][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
-0584 ; [.1C44.0020.0002.0584][.FFF0.0000.0000.0000] # ARMENIAN SMALL LETTER KEH
-0535 0582 ; [.1C44.0020.0008.0535][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
-0554 ; [.1C44.0020.0008.0554][.FFF0.0000.0000.0000] # ARMENIAN CAPITAL LETTER KEH
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0587 ; [.1C40.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0584 ; [.1C40.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
+0535 0582 ; [.1C40.0020.0008][.FFF1.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+0554 ; [.1C40.0020.0008][.FFF0.0000.0000] # ARMENIAN CAPITAL LETTER KEH
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
index f0697241cec..21b534c981d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
@@ -1,54 +1,54 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0068 ; [.1606.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1606.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1606.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0067 0068 ; [.1693.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
-0047 0068 ; [.1693.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
-0047 0048 ; [.1693.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
-0067 0077 ; [.1694.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
-0047 0077 ; [.1694.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
-0047 0057 ; [.1694.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
-1ECB ; [.16CE.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-0069 0323 ; [.16CE.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA ; [.16CE.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-0049 0323 ; [.16CE.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-006B 0070 ; [.1700.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.1700.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.1700.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006B 0077 ; [.1701.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
-004B 0077 ; [.1701.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
-004B 0057 ; [.1701.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
-1E45 ; [.1750.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-006E 0307 ; [.1750.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44 ; [.1750.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-004E 0307 ; [.1750.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-006E 0077 ; [.1751.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
-004E 0077 ; [.1751.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
-004E 0057 ; [.1751.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
-006E 0079 ; [.1752.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1752.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1752.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-1ECD ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9 ; [.1772.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3 ; [.1772.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1772.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-0073 0068 ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17F4.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-1EE5 ; [.1837.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-0075 0323 ; [.1837.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4 ; [.1837.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-0055 0323 ; [.1837.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF1 ; [.1837.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0 ; [.1837.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0068 ; [.1602.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1602.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1602.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0067 0062 ; [.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.168E.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0067 0068 ; [.168F.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.168F.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.168F.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+0067 0077 ; [.1690.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
+0047 0077 ; [.1690.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
+0047 0057 ; [.1690.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
+1ECB ; [.16CA.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+0069 0323 ; [.16CA.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16CA.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
+0049 0323 ; [.16CA.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
+006B 0070 ; [.16FC.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.16FC.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.16FC.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006B 0077 ; [.16FD.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
+004B 0077 ; [.16FD.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
+004B 0057 ; [.16FD.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
+1E45 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+006E 0307 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+004E 0307 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+006E 0077 ; [.174D.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
+004E 0077 ; [.174D.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
+004E 0057 ; [.174D.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
+006E 0079 ; [.174E.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.174E.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.174E.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+1ECD ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.176E.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.176E.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.176E.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0073 0068 ; [.17F0.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17F0.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17F0.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+1EE5 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+0075 0323 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
+0055 0323 ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF1 ; [.1833.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.1833.0020.0008][.0000.003F.0002] # 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
index e315806e36a..9571afa3c0f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
@@ -1,79 +1,81 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E1 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1632.0020.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1632.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
-00E9 ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3 ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0301 ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0341 ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-00DD ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0301 ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0341 ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.1907.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1907.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00E5 ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E1 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162E.0020.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162E.0020.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162E.0020.0008] # LATIN CAPITAL LETTER ETH
+00E9 ; [.167F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.167F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.167F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.167F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.167F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.167F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.16E1.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16E1.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16E1.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16E1.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16E1.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16E1.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.1791.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1791.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1791.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1791.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1791.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1791.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.185A.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.185A.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.185A.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.185A.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.185A.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.185A.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.1890.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0301 ; [.1890.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0341 ; [.1890.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1890.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0301 ; [.1890.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0341 ; [.1890.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00E5 ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0024.0002] # 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
index a327ebde706..c3f022f07c9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
@@ -1,1846 +1,1938 @@
use Unicode::Collate::CJK::JISX0208;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
- entry => <<'ENTRY', # for DUCET v6.2.0
-3041 ; [.32BB.0020.000F.3041] # HIRAGANA LETTER SMALL A
-3042 ; [.32BB.0020.0011.3042] # HIRAGANA LETTER A
-3043 ; [.32BC.0020.000F.3043] # HIRAGANA LETTER SMALL I
-3044 ; [.32BC.0020.0011.3044] # HIRAGANA LETTER I
-3045 ; [.32BD.0020.000F.3045] # HIRAGANA LETTER SMALL U
-3046 ; [.32BD.0020.0011.3046] # HIRAGANA LETTER U
-3047 ; [.32BF.0020.000F.3047] # HIRAGANA LETTER SMALL E
-3048 ; [.32BF.0020.0011.3048] # HIRAGANA LETTER E
-3049 ; [.32C0.0020.000F.3049] # HIRAGANA LETTER SMALL O
-304A ; [.32C0.0020.0011.304A] # HIRAGANA LETTER O
-304B ; [.32C1.0020.0011.304B] # HIRAGANA LETTER KA
-304C ; [.32C1.0020.0011.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
-304D ; [.32C2.0020.0011.304D] # HIRAGANA LETTER KI
-304E ; [.32C2.0020.0011.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
-304F ; [.32C3.0020.0011.304F] # HIRAGANA LETTER KU
-3050 ; [.32C3.0020.0011.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
-3051 ; [.32C4.0020.0011.3051] # HIRAGANA LETTER KE
-3052 ; [.32C4.0020.0011.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
-3053 ; [.32C5.0020.0011.3053] # HIRAGANA LETTER KO
-3054 ; [.32C5.0020.0011.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
-3055 ; [.32C6.0020.0011.3055] # HIRAGANA LETTER SA
-3056 ; [.32C6.0020.0011.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
-3057 ; [.32C7.0020.0011.3057] # HIRAGANA LETTER SI
-3058 ; [.32C7.0020.0011.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
-3059 ; [.32C8.0020.0011.3059] # HIRAGANA LETTER SU
-305A ; [.32C8.0020.0011.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
-305B ; [.32C9.0020.0011.305B] # HIRAGANA LETTER SE
-305C ; [.32C9.0020.0011.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
-305D ; [.32CA.0020.0011.305D] # HIRAGANA LETTER SO
-305E ; [.32CA.0020.0011.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
-305F ; [.32CB.0020.0011.305F] # HIRAGANA LETTER TA
-3060 ; [.32CB.0020.0011.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
-3061 ; [.32CC.0020.0011.3061] # HIRAGANA LETTER TI
-3062 ; [.32CC.0020.0011.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
-3063 ; [.32CD.0020.000F.3063] # HIRAGANA LETTER SMALL TU
-3064 ; [.32CD.0020.0011.3064] # HIRAGANA LETTER TU
-3065 ; [.32CD.0020.0011.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
-3066 ; [.32CE.0020.0011.3066] # HIRAGANA LETTER TE
-3067 ; [.32CE.0020.0011.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
-3068 ; [.32CF.0020.0011.3068] # HIRAGANA LETTER TO
-3069 ; [.32CF.0020.0011.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
-306A ; [.32D0.0020.0011.306A] # HIRAGANA LETTER NA
-306B ; [.32D1.0020.0011.306B] # HIRAGANA LETTER NI
-306C ; [.32D2.0020.0011.306C] # HIRAGANA LETTER NU
-306D ; [.32D3.0020.0011.306D] # HIRAGANA LETTER NE
-306E ; [.32D4.0020.0011.306E] # HIRAGANA LETTER NO
-306F ; [.32D5.0020.0011.306F] # HIRAGANA LETTER HA
-3070 ; [.32D5.0020.0011.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
-3071 ; [.32D5.0020.0011.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
-3072 ; [.32D6.0020.0011.3072] # HIRAGANA LETTER HI
-3073 ; [.32D6.0020.0011.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
-3074 ; [.32D6.0020.0011.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
-3075 ; [.32D7.0020.0011.3075] # HIRAGANA LETTER HU
-3076 ; [.32D7.0020.0011.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
-3077 ; [.32D7.0020.0011.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
-3078 ; [.32D8.0020.0011.3078] # HIRAGANA LETTER HE
-3079 ; [.32D8.0020.0011.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
-307A ; [.32D8.0020.0011.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
-307B ; [.32D9.0020.0011.307B] # HIRAGANA LETTER HO
-307C ; [.32D9.0020.0011.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
-307D ; [.32D9.0020.0011.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
-307E ; [.32DA.0020.0011.307E] # HIRAGANA LETTER MA
-307F ; [.32DB.0020.0011.307F] # HIRAGANA LETTER MI
-3080 ; [.32DC.0020.0011.3080] # HIRAGANA LETTER MU
-3081 ; [.32DD.0020.0011.3081] # HIRAGANA LETTER ME
-3082 ; [.32DE.0020.0011.3082] # HIRAGANA LETTER MO
-3083 ; [.32DF.0020.000F.3083] # HIRAGANA LETTER SMALL YA
-3084 ; [.32DF.0020.0011.3084] # HIRAGANA LETTER YA
-3085 ; [.32E0.0020.000F.3085] # HIRAGANA LETTER SMALL YU
-3086 ; [.32E0.0020.0011.3086] # HIRAGANA LETTER YU
-3087 ; [.32E2.0020.000F.3087] # HIRAGANA LETTER SMALL YO
-3088 ; [.32E2.0020.0011.3088] # HIRAGANA LETTER YO
-3089 ; [.32E3.0020.0011.3089] # HIRAGANA LETTER RA
-308A ; [.32E4.0020.0011.308A] # HIRAGANA LETTER RI
-308B ; [.32E5.0020.0011.308B] # HIRAGANA LETTER RU
-308C ; [.32E6.0020.0011.308C] # HIRAGANA LETTER RE
-308D ; [.32E7.0020.0011.308D] # HIRAGANA LETTER RO
-308E ; [.32E8.0020.000F.308E] # HIRAGANA LETTER SMALL WA
-308F ; [.32E8.0020.0011.308F] # HIRAGANA LETTER WA
-3090 ; [.32E9.0020.0011.3090] # HIRAGANA LETTER WI
-3091 ; [.32EA.0020.0011.3091] # HIRAGANA LETTER WE
-3092 ; [.32EB.0020.0011.3092] # HIRAGANA LETTER WO
-3093 ; [.32EC.0020.0011.3093] # HIRAGANA LETTER N
-3094 ; [.32BD.0020.0011.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
-3095 ; [.32C1.0020.000F.3095] # HIRAGANA LETTER SMALL KA
-3096 ; [.32C4.0020.000F.3096] # HIRAGANA LETTER SMALL KE
-309D ; [.15BB.0020.0002.309D] # HIRAGANA ITERATION MARK
-309E ; [.15BB.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
-3000 ; [*020A.0020.0002.0020] # IDEOGRAPHIC SPACE
-FF01 ; [*025E.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
-FF02 ; [*02F1.0020.0002.0022] # FULLWIDTH QUOTATION MARK
-FF03 ; [*0376.0020.0002.0023] # FULLWIDTH NUMBER SIGN
-FF04 ; [.15BE.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
-FF05 ; [*0377.0020.0002.0025] # FULLWIDTH PERCENT SIGN
-FF06 ; [*0374.0020.0002.0026] # FULLWIDTH AMPERSAND
-FF07 ; [*02EA.0020.0002.0027] # FULLWIDTH APOSTROPHE
-FF08 ; [*02FB.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
-FF09 ; [*02FC.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
-FF0A ; [*036D.0020.0002.002A] # FULLWIDTH ASTERISK
-FF0B ; [*059C.0020.0002.002B] # FULLWIDTH PLUS SIGN
-FF0C ; [*0221.0020.0002.002C] # FULLWIDTH COMMA
-FF0D ; [*020E.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
-FF0E ; [*0273.0020.0002.002E] # FULLWIDTH FULL STOP
-FF0F ; [*0372.0020.0002.002F] # FULLWIDTH SOLIDUS
-FF10 ; [.15E5.0020.0002.0030] # FULLWIDTH DIGIT ZERO
-FF11 ; [.15E6.0020.0002.0031] # FULLWIDTH DIGIT ONE
-FF12 ; [.15E7.0020.0002.0032] # FULLWIDTH DIGIT TWO
-FF13 ; [.15E8.0020.0002.0033] # FULLWIDTH DIGIT THREE
-FF14 ; [.15E9.0020.0002.0034] # FULLWIDTH DIGIT FOUR
-FF15 ; [.15EA.0020.0002.0035] # FULLWIDTH DIGIT FIVE
-FF16 ; [.15EB.0020.0002.0036] # FULLWIDTH DIGIT SIX
-FF17 ; [.15EC.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
-FF18 ; [.15ED.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
-FF19 ; [.15EE.0020.0002.0039] # FULLWIDTH DIGIT NINE
-FF1A ; [*0237.0020.0002.003A] # FULLWIDTH COLON
-FF1B ; [*0232.0020.0002.003B] # FULLWIDTH SEMICOLON
-FF1C ; [*05A0.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
-FF1D ; [*05A1.0020.0002.003D] # FULLWIDTH EQUALS SIGN
-FF1E ; [*05A2.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
-FF1F ; [*0263.0020.0002.003F] # FULLWIDTH QUESTION MARK
-FF20 ; [*036C.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
-FF21 ; [.15EF.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
-FF22 ; [.1605.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
-FF23 ; [.161D.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
-FF24 ; [.1631.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
-FF25 ; [.164C.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
-FF26 ; [.1684.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
-FF27 ; [.1691.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
-FF28 ; [.16B4.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
-FF29 ; [.16CD.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A ; [.16E6.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B ; [.16FF.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C ; [.1711.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D ; [.1741.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E ; [.174F.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F ; [.1771.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
-FF30 ; [.1796.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
-FF31 ; [.17AB.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32 ; [.17BD.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
-FF33 ; [.17F3.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
-FF34 ; [.1816.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
-FF35 ; [.1836.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
-FF36 ; [.185F.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
-FF37 ; [.1871.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
-FF38 ; [.187B.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
-FF39 ; [.1880.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A ; [.1895.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; [*02FD.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; [*02EA.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
-FF3D ; [*02FE.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; [*0412.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; [*020C.0020.0002.005F] # FULLWIDTH LOW LINE
-FF40 ; [*040F.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
-FF41 ; [.15EF.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
-FF42 ; [.1605.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
-FF43 ; [.161D.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
-FF44 ; [.1631.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
-FF45 ; [.164C.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
-FF46 ; [.1684.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
-FF47 ; [.1691.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
-FF48 ; [.16B4.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
-FF49 ; [.16CD.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
-FF4A ; [.16E6.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
-FF4B ; [.16FF.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
-FF4C ; [.1711.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
-FF4D ; [.1741.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
-FF4E ; [.174F.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
-FF4F ; [.1771.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
-FF50 ; [.1796.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
-FF51 ; [.17AB.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
-FF52 ; [.17BD.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
-FF53 ; [.17F3.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
-FF54 ; [.1816.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
-FF55 ; [.1836.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
-FF56 ; [.185F.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
-FF57 ; [.1871.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
-FF58 ; [.187B.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
-FF59 ; [.1880.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
-FF5A ; [.1895.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; [*02FF.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
-FF5C ; [*05A4.0020.0002.007C] # FULLWIDTH VERTICAL LINE
-FF5D ; [*0300.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; [*05A6.0020.0002.007E] # FULLWIDTH TILDE
-FF5F ; [*030D.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; [*030E.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; [*0283.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; [*0353.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
-FF63 ; [*0354.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
-FF64 ; [*022F.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65 ; [*0220.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
-FF66 ; [.32EB.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
-FF67 ; [.32BB.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
-FF68 ; [.32BC.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
-FF69 ; [.32BD.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A ; [.32BF.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B ; [.32C0.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C ; [.32DF.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D ; [.32E0.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E ; [.32E2.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F ; [.32CD.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; [.15BA.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71 ; [.32BB.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
-FF72 ; [.32BC.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
-FF73 ; [.32BD.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
-FF74 ; [.32BF.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
-FF75 ; [.32C0.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
-FF76 ; [.32C1.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
-FF77 ; [.32C2.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
-FF78 ; [.32C3.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
-FF79 ; [.32C4.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
-FF7A ; [.32C5.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
-FF7B ; [.32C6.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
-FF7C ; [.32C7.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
-FF7D ; [.32C8.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
-FF7E ; [.32C9.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
-FF7F ; [.32CA.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
-FF80 ; [.32CB.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
-FF81 ; [.32CC.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
-FF82 ; [.32CD.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
-FF83 ; [.32CE.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
-FF84 ; [.32CF.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
-FF85 ; [.32D0.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
-FF86 ; [.32D1.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
-FF87 ; [.32D2.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
-FF88 ; [.32D3.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
-FF89 ; [.32D4.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
-FF8A ; [.32D5.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
-FF8B ; [.32D6.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
-FF8C ; [.32D7.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
-FF8D ; [.32D8.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
-FF8E ; [.32D9.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
-FF8F ; [.32DA.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
-FF90 ; [.32DB.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
-FF91 ; [.32DC.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
-FF92 ; [.32DD.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
-FF93 ; [.32DE.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
-FF94 ; [.32DF.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
-FF95 ; [.32E0.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
-FF96 ; [.32E2.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
-FF97 ; [.32E3.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
-FF98 ; [.32E4.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
-FF99 ; [.32E5.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
-FF9A ; [.32E6.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
-FF9B ; [.32E7.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
-FF9C ; [.32E8.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
-FF9D ; [.32EC.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
-FF9E ; [.0000.0128.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F ; [.0000.0129.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE0 ; [.15BD.0020.0002.00A2] # FULLWIDTH CENT SIGN
-FFE1 ; [.15BF.0020.0002.00A3] # FULLWIDTH POUND SIGN
-FFE2 ; [*05A3.0020.0002.00AC] # FULLWIDTH NOT SIGN
-FFE3 ; [*020A.0020.0002.0020] # FULLWIDTH MACRON
-FFE4 ; [*05A5.0020.0002.00A6] # FULLWIDTH BROKEN BAR
-FFE5 ; [.15C0.0020.0002.00A5] # FULLWIDTH YEN SIGN
-FFE6 ; [.15D3.0020.0002.20A9] # FULLWIDTH WON SIGN
-FFE8 ; [*0799.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9 ; [*0522.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
-FFEA ; [*0524.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
-FFEB ; [*0523.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
-FFEC ; [*0525.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
-FFED ; [*0837.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
-FFEE ; [*0862.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
-30A1 30FC ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 30FC ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 FF70 ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3041 30FC ; [.32BB.0020.000F.3041][.32BB.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A2 30FC ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 30FC ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 FF70 ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3042 30FC ; [.32BB.0020.0011.3042][.32BB.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 30FC ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 30FC ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF70 ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 30FC ; [.32C1.0020.0011.304B][.32BB.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AC 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 3099 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E FF70 ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304C 30FC ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32BB.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 3099 30FC ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32BB.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 30FC ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B 30FC ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF70 ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 30FC ; [.32C6.0020.0011.3055][.32BB.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B6 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 3099 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E FF70 ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3056 30FC ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32BB.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 3099 30FC ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32BB.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 30FC ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 30FC ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF70 ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 30FC ; [.32CB.0020.0011.305F][.32BB.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C0 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 3099 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E FF70 ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3060 30FC ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32BB.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 3099 30FC ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32BB.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CA 30FC ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 30FC ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 FF70 ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306A 30FC ; [.32D0.0020.0011.306A][.32BB.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 30FC ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A 30FC ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF70 ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 30FC ; [.32D5.0020.0011.306F][.32BB.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D0 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 3099 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E FF70 ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3070 30FC ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32BB.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 3099 30FC ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32BB.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D1 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 309A 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F FF70 ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3071 30FC ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32BB.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 309A 30FC ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32BB.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DE 30FC ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F 30FC ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F FF70 ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307E 30FC ; [.32DA.0020.0011.307E][.32BB.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E3 30FC ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C 30FC ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C FF70 ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3083 30FC ; [.32DF.0020.000F.3083][.32BB.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E4 30FC ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 30FC ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 FF70 ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3084 30FC ; [.32DF.0020.0011.3084][.32BB.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E9 30FC ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 30FC ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 FF70 ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3089 30FC ; [.32E3.0020.0011.3089][.32BB.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EE 30FC ; [.32E8.0020.000F.30EE][.32BB.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308E 30FC ; [.32E8.0020.000F.308E][.32BB.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 30FC ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C 30FC ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF70 ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308F 30FC ; [.32E8.0020.0011.308F][.32BB.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F7 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 3099 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E FF70 ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F5 30FC ; [.32C1.0020.000F.30F5][.32BB.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3095 30FC ; [.32C1.0020.000F.3095][.32BB.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F5 30FC ; [.32D5.0020.000F.31F5][.32BB.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FB 30FC ; [.32E3.0020.000F.31FB][.32BB.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A3 30FC ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 30FC ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 FF70 ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3043 30FC ; [.32BC.0020.000F.3043][.32BC.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A4 30FC ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 30FC ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 FF70 ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3044 30FC ; [.32BC.0020.0011.3044][.32BC.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 30FC ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 30FC ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF70 ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 30FC ; [.32C2.0020.0011.304D][.32BC.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AE 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 3099 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E FF70 ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304E 30FC ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32BC.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 3099 30FC ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32BC.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 30FC ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C 30FC ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF70 ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 30FC ; [.32C7.0020.0011.3057][.32BC.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B8 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 3099 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E FF70 ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3058 30FC ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32BC.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 3099 30FC ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32BC.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 30FC ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 30FC ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF70 ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 30FC ; [.32CC.0020.0011.3061][.32BC.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C2 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 3099 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E FF70 ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3062 30FC ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32BC.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 3099 30FC ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32BC.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CB 30FC ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 30FC ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 FF70 ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306B 30FC ; [.32D1.0020.0011.306B][.32BC.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 30FC ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B 30FC ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF70 ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 30FC ; [.32D6.0020.0011.3072][.32BC.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D3 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 3099 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E FF70 ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3073 30FC ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32BC.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 3099 30FC ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32BC.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D4 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 309A 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F FF70 ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3074 30FC ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32BC.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 309A 30FC ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32BC.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DF 30FC ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 30FC ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 FF70 ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307F 30FC ; [.32DB.0020.0011.307F][.32BC.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EA 30FC ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 30FC ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 FF70 ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308A 30FC ; [.32E4.0020.0011.308A][.32BC.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 30FC ; [.32E9.0020.0011.30F0][.32BC.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3090 30FC ; [.32E9.0020.0011.3090][.32BC.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F8 30FC ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32BC.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 3099 30FC ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32BC.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F1 30FC ; [.32C7.0020.000F.31F1][.32BC.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F6 30FC ; [.32D6.0020.000F.31F6][.32BC.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FC 30FC ; [.32E4.0020.000F.31FC][.32BC.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A5 30FC ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 30FC ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 FF70 ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3045 30FC ; [.32BD.0020.000F.3045][.32BD.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 30FC ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 30FC ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF70 ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 30FC ; [.32BD.0020.0011.3046][.32BD.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 30FC ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 30FC ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF70 ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 30FC ; [.32C3.0020.0011.304F][.32BD.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B0 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 3099 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E FF70 ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3050 30FC ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32BD.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 3099 30FC ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32BD.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 30FC ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D 30FC ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF70 ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 30FC ; [.32C8.0020.0011.3059][.32BD.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BA 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 3099 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E FF70 ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305A 30FC ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32BD.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 3099 30FC ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32BD.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C3 30FC ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F 30FC ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F FF70 ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3063 30FC ; [.32CD.0020.000F.3063][.32BD.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 30FC ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 30FC ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF70 ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 30FC ; [.32CD.0020.0011.3064][.32BD.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C5 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 3099 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E FF70 ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3065 30FC ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32BD.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 3099 30FC ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32BD.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CC 30FC ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 30FC ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 FF70 ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306C 30FC ; [.32D2.0020.0011.306C][.32BD.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 30FC ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C 30FC ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF70 ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 30FC ; [.32D7.0020.0011.3075][.32BD.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D6 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 3099 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E FF70 ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3076 30FC ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32BD.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 3099 30FC ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32BD.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D7 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 309A 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F FF70 ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3077 30FC ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32BD.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 309A 30FC ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32BD.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E0 30FC ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 30FC ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 FF70 ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3080 30FC ; [.32DC.0020.0011.3080][.32BD.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E5 30FC ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D 30FC ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D FF70 ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3085 30FC ; [.32E0.0020.000F.3085][.32BD.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E6 30FC ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 30FC ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 FF70 ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3086 30FC ; [.32E0.0020.0011.3086][.32BD.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EB 30FC ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 30FC ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 FF70 ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308B 30FC ; [.32E5.0020.0011.308B][.32BD.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F4 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 3099 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E FF70 ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3094 30FC ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 3099 30FC ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F0 30FC ; [.32C3.0020.000F.31F0][.32BD.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F2 30FC ; [.32C8.0020.000F.31F2][.32BD.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F4 30FC ; [.32D2.0020.000F.31F4][.32BD.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F7 30FC ; [.32D7.0020.000F.31F7][.32BD.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FA 30FC ; [.32DC.0020.000F.31FA][.32BD.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FD 30FC ; [.32E5.0020.000F.31FD][.32BD.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A7 30FC ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A 30FC ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A FF70 ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3047 30FC ; [.32BF.0020.000F.3047][.32BF.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A8 30FC ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 30FC ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 FF70 ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3048 30FC ; [.32BF.0020.0011.3048][.32BF.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 30FC ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 30FC ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF70 ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 30FC ; [.32C4.0020.0011.3051][.32BF.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B2 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 3099 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E FF70 ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3052 30FC ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32BF.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 3099 30FC ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32BF.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 30FC ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E 30FC ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF70 ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 30FC ; [.32C9.0020.0011.305B][.32BF.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BC 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 3099 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E FF70 ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305C 30FC ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32BF.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 3099 30FC ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32BF.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 30FC ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 30FC ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF70 ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 30FC ; [.32CE.0020.0011.3066][.32BF.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C7 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 3099 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E FF70 ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3067 30FC ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32BF.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 3099 30FC ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32BF.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CD 30FC ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 30FC ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 FF70 ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306D 30FC ; [.32D3.0020.0011.306D][.32BF.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 30FC ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D 30FC ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF70 ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 30FC ; [.32D8.0020.0011.3078][.32BF.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D9 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 3099 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E FF70 ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3079 30FC ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32BF.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 3099 30FC ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32BF.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DA 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 309A 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F FF70 ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307A 30FC ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32BF.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 309A 30FC ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32BF.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E1 30FC ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 30FC ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 FF70 ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3081 30FC ; [.32DD.0020.0011.3081][.32BF.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EC 30FC ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A 30FC ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A FF70 ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308C 30FC ; [.32E6.0020.0011.308C][.32BF.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 30FC ; [.32EA.0020.0011.30F1][.32BF.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3091 30FC ; [.32EA.0020.0011.3091][.32BF.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F9 30FC ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32BF.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 3099 30FC ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32BF.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F6 30FC ; [.32C4.0020.000F.30F6][.32BF.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3096 30FC ; [.32C4.0020.000F.3096][.32BF.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F8 30FC ; [.32D8.0020.000F.31F8][.32BF.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FE 30FC ; [.32E6.0020.000F.31FE][.32BF.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A9 30FC ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B 30FC ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B FF70 ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3049 30FC ; [.32C0.0020.000F.3049][.32C0.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AA 30FC ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 30FC ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 FF70 ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304A 30FC ; [.32C0.0020.0011.304A][.32C0.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 30FC ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A 30FC ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF70 ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 30FC ; [.32C5.0020.0011.3053][.32C0.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B4 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 3099 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E FF70 ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3054 30FC ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C0.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 3099 30FC ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C0.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 30FC ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F 30FC ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF70 ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 30FC ; [.32CA.0020.0011.305D][.32C0.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BE 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 3099 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E FF70 ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305E 30FC ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32C0.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 3099 30FC ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32C0.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 30FC ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 30FC ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF70 ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 30FC ; [.32CF.0020.0011.3068][.32C0.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C9 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 3099 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E FF70 ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3069 30FC ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32C0.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 3099 30FC ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32C0.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CE 30FC ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 30FC ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 FF70 ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306E 30FC ; [.32D4.0020.0011.306E][.32C0.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 30FC ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E 30FC ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF70 ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 30FC ; [.32D9.0020.0011.307B][.32C0.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DC 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 3099 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E FF70 ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307C 30FC ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32C0.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 3099 30FC ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32C0.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DD 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 309A 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F FF70 ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307D 30FC ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32C0.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 309A 30FC ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32C0.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E2 30FC ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 30FC ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 FF70 ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3082 30FC ; [.32DE.0020.0011.3082][.32C0.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E7 30FC ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E 30FC ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E FF70 ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3087 30FC ; [.32E2.0020.000F.3087][.32C0.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E8 30FC ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 30FC ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 FF70 ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3088 30FC ; [.32E2.0020.0011.3088][.32C0.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30ED 30FC ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B 30FC ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B FF70 ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308D 30FC ; [.32E7.0020.0011.308D][.32C0.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 30FC ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 30FC ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF70 ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3092 30FC ; [.32EB.0020.0011.3092][.32C0.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30FA 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 3099 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E FF70 ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F3 30FC ; [.32CF.0020.000F.31F3][.32C0.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F9 30FC ; [.32D9.0020.000F.31F9][.32C0.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FF 30FC ; [.32E7.0020.000F.31FF][.32C0.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A1 30FD ; [.32BB.0020.000F.30A1][.32BB.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-FF67 30FD ; [.32BB.0020.000F.30A1][.32BB.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-3041 309D ; [.32BB.0020.000F.3041][.32BB.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
-30A2 30FD ; [.32BB.0020.0011.30A2][.32BB.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
-FF71 30FD ; [.32BB.0020.0011.30A2][.32BB.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
-3042 309D ; [.32BB.0020.0011.3042][.32BB.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
-30A3 30FD ; [.32BC.0020.000F.30A3][.32BC.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-FF68 30FD ; [.32BC.0020.000F.30A3][.32BC.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-3043 309D ; [.32BC.0020.000F.3043][.32BC.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
-30A4 30FD ; [.32BC.0020.0011.30A4][.32BC.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
-FF72 30FD ; [.32BC.0020.0011.30A4][.32BC.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
-3044 309D ; [.32BC.0020.0011.3044][.32BC.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
-30A5 30FD ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-FF69 30FD ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-3045 309D ; [.32BD.0020.000F.3045][.32BD.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
-30A5 30FE ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-FF69 30FE ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-3045 309E ; [.32BD.0020.000F.3045][.32BD.0020.0010.3045][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
-30A6 30FD ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
-FF73 30FD ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
-3046 309D ; [.32BD.0020.0011.3046][.32BD.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
-30A6 30FE ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6][.0000.0128.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-FF73 30FE ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-3046 309E ; [.32BD.0020.0011.3046][.32BD.0020.0010.3046][.0000.0128.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
-30A7 30FD ; [.32BF.0020.000F.30A7][.32BF.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-FF6A 30FD ; [.32BF.0020.000F.30A7][.32BF.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-3047 309D ; [.32BF.0020.000F.3047][.32BF.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
-30A8 30FD ; [.32BF.0020.0011.30A8][.32BF.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
-FF74 30FD ; [.32BF.0020.0011.30A8][.32BF.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
-3048 309D ; [.32BF.0020.0011.3048][.32BF.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
-30A9 30FD ; [.32C0.0020.000F.30A9][.32C0.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-FF6B 30FD ; [.32C0.0020.000F.30A9][.32C0.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-3049 309D ; [.32C0.0020.000F.3049][.32C0.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
-30AA 30FD ; [.32C0.0020.0011.30AA][.32C0.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
-FF75 30FD ; [.32C0.0020.0011.30AA][.32C0.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
-304A 309D ; [.32C0.0020.0011.304A][.32C0.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
-30AB 30FD ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-FF76 30FD ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-304B 309D ; [.32C1.0020.0011.304B][.32C1.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
-30AB 30FE ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB][.0000.0128.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-FF76 30FE ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-304B 309E ; [.32C1.0020.0011.304B][.32C1.0020.0010.304B][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
-30AC 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
-30AB 3099 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF76 FF9E 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304C 309D ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
-304B 3099 309D ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AC 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
-30AB 3099 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF76 FF9E 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304C 309E ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
-304B 3099 309E ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AD 30FD ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-FF77 30FD ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-304D 309D ; [.32C2.0020.0011.304D][.32C2.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
-30AD 30FE ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD][.0000.0128.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-FF77 30FE ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-304D 309E ; [.32C2.0020.0011.304D][.32C2.0020.0010.304D][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
-30AE 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
-30AD 3099 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF77 FF9E 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304E 309D ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
-304D 3099 309D ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AE 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
-30AD 3099 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF77 FF9E 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304E 309E ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
-304D 3099 309E ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AF 30FD ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-FF78 30FD ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-304F 309D ; [.32C3.0020.0011.304F][.32C3.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
-30AF 30FE ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF][.0000.0128.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-FF78 30FE ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-304F 309E ; [.32C3.0020.0011.304F][.32C3.0020.0010.304F][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
-30B0 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
-30AF 3099 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF78 FF9E 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3050 309D ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
-304F 3099 309D ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B0 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
-30AF 3099 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF78 FF9E 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3050 309E ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
-304F 3099 309E ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B1 30FD ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-FF79 30FD ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-3051 309D ; [.32C4.0020.0011.3051][.32C4.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
-30B1 30FE ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1][.0000.0128.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-FF79 30FE ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-3051 309E ; [.32C4.0020.0011.3051][.32C4.0020.0010.3051][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
-30B2 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
-30B1 3099 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF79 FF9E 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3052 309D ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
-3051 3099 309D ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B2 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
-30B1 3099 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF79 FF9E 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3052 309E ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
-3051 3099 309E ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B3 30FD ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-FF7A 30FD ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-3053 309D ; [.32C5.0020.0011.3053][.32C5.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
-30B3 30FE ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3][.0000.0128.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-FF7A 30FE ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-3053 309E ; [.32C5.0020.0011.3053][.32C5.0020.0010.3053][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
-30B4 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
-30B3 3099 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7A FF9E 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3054 309D ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
-3053 3099 309D ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B4 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
-30B3 3099 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7A FF9E 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3054 309E ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
-3053 3099 309E ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B5 30FD ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-FF7B 30FD ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-3055 309D ; [.32C6.0020.0011.3055][.32C6.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
-30B5 30FE ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5][.0000.0128.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-FF7B 30FE ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-3055 309E ; [.32C6.0020.0011.3055][.32C6.0020.0010.3055][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
-30B6 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
-30B5 3099 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7B FF9E 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3056 309D ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
-3055 3099 309D ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B6 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
-30B5 3099 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7B FF9E 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3056 309E ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
-3055 3099 309E ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B7 30FD ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-FF7C 30FD ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-3057 309D ; [.32C7.0020.0011.3057][.32C7.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
-30B7 30FE ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7][.0000.0128.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-FF7C 30FE ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-3057 309E ; [.32C7.0020.0011.3057][.32C7.0020.0010.3057][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
-30B8 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
-30B7 3099 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7C FF9E 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3058 309D ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
-3057 3099 309D ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B8 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
-30B7 3099 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7C FF9E 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3058 309E ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
-3057 3099 309E ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B9 30FD ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-FF7D 30FD ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-3059 309D ; [.32C8.0020.0011.3059][.32C8.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
-30B9 30FE ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9][.0000.0128.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-FF7D 30FE ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-3059 309E ; [.32C8.0020.0011.3059][.32C8.0020.0010.3059][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
-30BA 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
-30B9 3099 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7D FF9E 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305A 309D ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
-3059 3099 309D ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BA 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
-30B9 3099 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7D FF9E 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305A 309E ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
-3059 3099 309E ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BB 30FD ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-FF7E 30FD ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-305B 309D ; [.32C9.0020.0011.305B][.32C9.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
-30BB 30FE ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB][.0000.0128.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-FF7E 30FE ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-305B 309E ; [.32C9.0020.0011.305B][.32C9.0020.0010.305B][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
-30BC 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
-30BB 3099 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7E FF9E 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305C 309D ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
-305B 3099 309D ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BC 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
-30BB 3099 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7E FF9E 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305C 309E ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
-305B 3099 309E ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BD 30FD ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-FF7F 30FD ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-305D 309D ; [.32CA.0020.0011.305D][.32CA.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
-30BD 30FE ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD][.0000.0128.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-FF7F 30FE ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-305D 309E ; [.32CA.0020.0011.305D][.32CA.0020.0010.305D][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
-30BE 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
-30BD 3099 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7F FF9E 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305E 309D ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
-305D 3099 309D ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BE 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
-30BD 3099 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7F FF9E 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305E 309E ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
-305D 3099 309E ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BF 30FD ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-FF80 30FD ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-305F 309D ; [.32CB.0020.0011.305F][.32CB.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
-30BF 30FE ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF][.0000.0128.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-FF80 30FE ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-305F 309E ; [.32CB.0020.0011.305F][.32CB.0020.0010.305F][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
-30C0 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
-30BF 3099 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF80 FF9E 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3060 309D ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
-305F 3099 309D ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C0 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
-30BF 3099 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF80 FF9E 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3060 309E ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
-305F 3099 309E ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C1 30FD ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-FF81 30FD ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-3061 309D ; [.32CC.0020.0011.3061][.32CC.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
-30C1 30FE ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1][.0000.0128.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-FF81 30FE ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-3061 309E ; [.32CC.0020.0011.3061][.32CC.0020.0010.3061][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
-30C2 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
-30C1 3099 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF81 FF9E 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3062 309D ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
-3061 3099 309D ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C2 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
-30C1 3099 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF81 FF9E 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3062 309E ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
-3061 3099 309E ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C3 30FD ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-FF6F 30FD ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-3063 309D ; [.32CD.0020.000F.3063][.32CD.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
-30C3 30FE ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-FF6F 30FE ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-3063 309E ; [.32CD.0020.000F.3063][.32CD.0020.0010.3063][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
-30C4 30FD ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-FF82 30FD ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-3064 309D ; [.32CD.0020.0011.3064][.32CD.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
-30C4 30FE ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4][.0000.0128.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-FF82 30FE ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-3064 309E ; [.32CD.0020.0011.3064][.32CD.0020.0010.3064][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
-30C5 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
-30C4 3099 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF82 FF9E 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3065 309D ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
-3064 3099 309D ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C5 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
-30C4 3099 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF82 FF9E 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3065 309E ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
-3064 3099 309E ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C6 30FD ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-FF83 30FD ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-3066 309D ; [.32CE.0020.0011.3066][.32CE.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
-30C6 30FE ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6][.0000.0128.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-FF83 30FE ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-3066 309E ; [.32CE.0020.0011.3066][.32CE.0020.0010.3066][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
-30C7 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
-30C6 3099 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF83 FF9E 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3067 309D ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
-3066 3099 309D ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C7 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
-30C6 3099 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF83 FF9E 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3067 309E ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
-3066 3099 309E ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C8 30FD ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-FF84 30FD ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-3068 309D ; [.32CF.0020.0011.3068][.32CF.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
-30C8 30FE ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8][.0000.0128.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-FF84 30FE ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-3068 309E ; [.32CF.0020.0011.3068][.32CF.0020.0010.3068][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
-30C9 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
-30C8 3099 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF84 FF9E 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3069 309D ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
-3068 3099 309D ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C9 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
-30C8 3099 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF84 FF9E 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3069 309E ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
-3068 3099 309E ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30CA 30FD ; [.32D0.0020.0011.30CA][.32D0.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-FF85 30FD ; [.32D0.0020.0011.30CA][.32D0.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-306A 309D ; [.32D0.0020.0011.306A][.32D0.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
-30CB 30FD ; [.32D1.0020.0011.30CB][.32D1.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-FF86 30FD ; [.32D1.0020.0011.30CB][.32D1.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-306B 309D ; [.32D1.0020.0011.306B][.32D1.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
-30CC 30FD ; [.32D2.0020.0011.30CC][.32D2.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-FF87 30FD ; [.32D2.0020.0011.30CC][.32D2.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-306C 309D ; [.32D2.0020.0011.306C][.32D2.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
-30CD 30FD ; [.32D3.0020.0011.30CD][.32D3.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-FF88 30FD ; [.32D3.0020.0011.30CD][.32D3.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-306D 309D ; [.32D3.0020.0011.306D][.32D3.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
-30CE 30FD ; [.32D4.0020.0011.30CE][.32D4.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-FF89 30FD ; [.32D4.0020.0011.30CE][.32D4.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-306E 309D ; [.32D4.0020.0011.306E][.32D4.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
-30CF 30FD ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-FF8A 30FD ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-306F 309D ; [.32D5.0020.0011.306F][.32D5.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
-30CF 30FE ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF][.0000.0128.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-FF8A 30FE ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-306F 309E ; [.32D5.0020.0011.306F][.32D5.0020.0010.306F][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
-30D0 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
-30CF 3099 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9E 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3070 309D ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
-306F 3099 309D ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D0 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
-30CF 3099 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9E 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3070 309E ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
-306F 3099 309E ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D1 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
-30CF 309A 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9F 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3071 309D ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
-306F 309A 309D ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D1 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
-30CF 309A 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9F 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3071 309E ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
-306F 309A 309E ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D2 30FD ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-FF8B 30FD ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-3072 309D ; [.32D6.0020.0011.3072][.32D6.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
-30D2 30FE ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2][.0000.0128.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-FF8B 30FE ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-3072 309E ; [.32D6.0020.0011.3072][.32D6.0020.0010.3072][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
-30D3 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
-30D2 3099 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9E 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3073 309D ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
-3072 3099 309D ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D3 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
-30D2 3099 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9E 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3073 309E ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
-3072 3099 309E ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D4 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
-30D2 309A 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9F 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3074 309D ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
-3072 309A 309D ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D4 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
-30D2 309A 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9F 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3074 309E ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
-3072 309A 309E ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D5 30FD ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-FF8C 30FD ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-3075 309D ; [.32D7.0020.0011.3075][.32D7.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
-30D5 30FE ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5][.0000.0128.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-FF8C 30FE ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-3075 309E ; [.32D7.0020.0011.3075][.32D7.0020.0010.3075][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
-30D6 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
-30D5 3099 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9E 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3076 309D ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
-3075 3099 309D ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D6 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
-30D5 3099 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9E 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3076 309E ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
-3075 3099 309E ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D7 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
-30D5 309A 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9F 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3077 309D ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
-3075 309A 309D ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D7 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
-30D5 309A 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9F 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3077 309E ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
-3075 309A 309E ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D8 30FD ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-FF8D 30FD ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-3078 309D ; [.32D8.0020.0011.3078][.32D8.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
-30D8 30FE ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8][.0000.0128.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-FF8D 30FE ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-3078 309E ; [.32D8.0020.0011.3078][.32D8.0020.0010.3078][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
-30D9 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
-30D8 3099 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9E 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3079 309D ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
-3078 3099 309D ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D9 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
-30D8 3099 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9E 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3079 309E ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
-3078 3099 309E ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DA 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
-30D8 309A 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9F 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307A 309D ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
-3078 309A 309D ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DA 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
-30D8 309A 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9F 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307A 309E ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
-3078 309A 309E ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DB 30FD ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-FF8E 30FD ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-307B 309D ; [.32D9.0020.0011.307B][.32D9.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
-30DB 30FE ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB][.0000.0128.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-FF8E 30FE ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-307B 309E ; [.32D9.0020.0011.307B][.32D9.0020.0010.307B][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
-30DC 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
-30DB 3099 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9E 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307C 309D ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
-307B 3099 309D ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DC 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
-30DB 3099 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9E 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307C 309E ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
-307B 3099 309E ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DD 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
-30DB 309A 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9F 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307D 309D ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
-307B 309A 309D ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DD 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
-30DB 309A 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9F 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307D 309E ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
-307B 309A 309E ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DE 30FD ; [.32DA.0020.0011.30DE][.32DA.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-FF8F 30FD ; [.32DA.0020.0011.30DE][.32DA.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-307E 309D ; [.32DA.0020.0011.307E][.32DA.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
-30DF 30FD ; [.32DB.0020.0011.30DF][.32DB.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-FF90 30FD ; [.32DB.0020.0011.30DF][.32DB.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-307F 309D ; [.32DB.0020.0011.307F][.32DB.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
-30E0 30FD ; [.32DC.0020.0011.30E0][.32DC.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-FF91 30FD ; [.32DC.0020.0011.30E0][.32DC.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-3080 309D ; [.32DC.0020.0011.3080][.32DC.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
-30E1 30FD ; [.32DD.0020.0011.30E1][.32DD.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-FF92 30FD ; [.32DD.0020.0011.30E1][.32DD.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-3081 309D ; [.32DD.0020.0011.3081][.32DD.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
-30E2 30FD ; [.32DE.0020.0011.30E2][.32DE.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-FF93 30FD ; [.32DE.0020.0011.30E2][.32DE.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-3082 309D ; [.32DE.0020.0011.3082][.32DE.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
-30E3 30FD ; [.32DF.0020.000F.30E3][.32DF.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-FF6C 30FD ; [.32DF.0020.000F.30E3][.32DF.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-3083 309D ; [.32DF.0020.000F.3083][.32DF.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
-30E4 30FD ; [.32DF.0020.0011.30E4][.32DF.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-FF94 30FD ; [.32DF.0020.0011.30E4][.32DF.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-3084 309D ; [.32DF.0020.0011.3084][.32DF.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
-30E5 30FD ; [.32E0.0020.000F.30E5][.32E0.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-FF6D 30FD ; [.32E0.0020.000F.30E5][.32E0.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-3085 309D ; [.32E0.0020.000F.3085][.32E0.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
-30E6 30FD ; [.32E0.0020.0011.30E6][.32E0.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-FF95 30FD ; [.32E0.0020.0011.30E6][.32E0.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-3086 309D ; [.32E0.0020.0011.3086][.32E0.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
-30E7 30FD ; [.32E2.0020.000F.30E7][.32E2.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-FF6E 30FD ; [.32E2.0020.000F.30E7][.32E2.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-3087 309D ; [.32E2.0020.000F.3087][.32E2.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
-30E8 30FD ; [.32E2.0020.0011.30E8][.32E2.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-FF96 30FD ; [.32E2.0020.0011.30E8][.32E2.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-3088 309D ; [.32E2.0020.0011.3088][.32E2.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
-30E9 30FD ; [.32E3.0020.0011.30E9][.32E3.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-FF97 30FD ; [.32E3.0020.0011.30E9][.32E3.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-3089 309D ; [.32E3.0020.0011.3089][.32E3.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
-30EA 30FD ; [.32E4.0020.0011.30EA][.32E4.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-FF98 30FD ; [.32E4.0020.0011.30EA][.32E4.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-308A 309D ; [.32E4.0020.0011.308A][.32E4.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
-30EB 30FD ; [.32E5.0020.0011.30EB][.32E5.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-FF99 30FD ; [.32E5.0020.0011.30EB][.32E5.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-308B 309D ; [.32E5.0020.0011.308B][.32E5.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
-30EC 30FD ; [.32E6.0020.0011.30EC][.32E6.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-FF9A 30FD ; [.32E6.0020.0011.30EC][.32E6.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-308C 309D ; [.32E6.0020.0011.308C][.32E6.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
-30ED 30FD ; [.32E7.0020.0011.30ED][.32E7.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-FF9B 30FD ; [.32E7.0020.0011.30ED][.32E7.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-308D 309D ; [.32E7.0020.0011.308D][.32E7.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
-30EE 30FD ; [.32E8.0020.000F.30EE][.32E8.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
-308E 309D ; [.32E8.0020.000F.308E][.32E8.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
-30EE 30FE ; [.32E8.0020.000F.30EE][.32E8.0020.0010.30EE][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
-308E 309E ; [.32E8.0020.000F.308E][.32E8.0020.0010.308E][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
-30EF 30FD ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-FF9C 30FD ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-308F 309D ; [.32E8.0020.0011.308F][.32E8.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
-30EF 30FE ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF][.0000.0128.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-FF9C 30FE ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-308F 309E ; [.32E8.0020.0011.308F][.32E8.0020.0010.308F][.0000.0128.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
-30F0 30FD ; [.32E9.0020.0011.30F0][.32E9.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
-3090 309D ; [.32E9.0020.0011.3090][.32E9.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
-30F0 30FE ; [.32E9.0020.0011.30F0][.32E9.0020.0010.30F0][.0000.0128.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
-3090 309E ; [.32E9.0020.0011.3090][.32E9.0020.0010.3090][.0000.0128.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
-30F1 30FD ; [.32EA.0020.0011.30F1][.32EA.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
-3091 309D ; [.32EA.0020.0011.3091][.32EA.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
-30F1 30FE ; [.32EA.0020.0011.30F1][.32EA.0020.0010.30F1][.0000.0128.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
-3091 309E ; [.32EA.0020.0011.3091][.32EA.0020.0010.3091][.0000.0128.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
-30F2 30FD ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-FF66 30FD ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-3092 309D ; [.32EB.0020.0011.3092][.32EB.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
-30F2 30FE ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2][.0000.0128.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-FF66 30FE ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-3092 309E ; [.32EB.0020.0011.3092][.32EB.0020.0010.3092][.0000.0128.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
-30F3 30FD ; [.32EC.0020.0011.30F3][.32EC.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
-FF9D 30FD ; [.32EC.0020.0011.30F3][.32EC.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
-3093 309D ; [.32EC.0020.0011.3093][.32EC.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
-30F4 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
-30A6 3099 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF73 FF9E 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3094 309D ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
-3046 3099 309D ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30F4 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
-30A6 3099 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF73 FF9E 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3094 309E ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
-3046 3099 309E ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30F5 30FD ; [.32C1.0020.000F.30F5][.32C1.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
-3095 309D ; [.32C1.0020.000F.3095][.32C1.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
-30F5 30FE ; [.32C1.0020.000F.30F5][.32C1.0020.0010.30F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
-3095 309E ; [.32C1.0020.000F.3095][.32C1.0020.0010.3095][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
-30F6 30FD ; [.32C4.0020.000F.30F6][.32C4.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
-3096 309D ; [.32C4.0020.000F.3096][.32C4.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
-30F6 30FE ; [.32C4.0020.000F.30F6][.32C4.0020.0010.30F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
-3096 309E ; [.32C4.0020.000F.3096][.32C4.0020.0010.3096][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
-30F7 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
-30EF 3099 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF9C FF9E 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F7 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
-30EF 3099 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF9C FF9E 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F8 30FD ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
-30F0 3099 30FD ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F8 30FE ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
-30F0 3099 30FE ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F9 30FD ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
-30F1 3099 30FD ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F9 30FE ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
-30F1 3099 30FE ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30FA 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
-30F2 3099 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF66 FF9E 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30FA 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
-30F2 3099 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF66 FF9E 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-31F0 30FD ; [.32C3.0020.000F.31F0][.32C3.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
-31F0 30FE ; [.32C3.0020.000F.31F0][.32C3.0020.0010.31F0][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
-31F1 30FD ; [.32C7.0020.000F.31F1][.32C7.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
-31F1 30FE ; [.32C7.0020.000F.31F1][.32C7.0020.0010.31F1][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
-31F2 30FD ; [.32C8.0020.000F.31F2][.32C8.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
-31F2 30FE ; [.32C8.0020.000F.31F2][.32C8.0020.0010.31F2][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
-31F3 30FD ; [.32CF.0020.000F.31F3][.32CF.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
-31F3 30FE ; [.32CF.0020.000F.31F3][.32CF.0020.0010.31F3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
-31F4 30FD ; [.32D2.0020.000F.31F4][.32D2.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
-31F5 30FD ; [.32D5.0020.000F.31F5][.32D5.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
-31F5 30FE ; [.32D5.0020.000F.31F5][.32D5.0020.0010.31F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
-31F6 30FD ; [.32D6.0020.000F.31F6][.32D6.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
-31F6 30FE ; [.32D6.0020.000F.31F6][.32D6.0020.0010.31F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
-31F7 30FD ; [.32D7.0020.000F.31F7][.32D7.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
-31F7 30FE ; [.32D7.0020.000F.31F7][.32D7.0020.0010.31F7][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
-31F8 30FD ; [.32D8.0020.000F.31F8][.32D8.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
-31F8 30FE ; [.32D8.0020.000F.31F8][.32D8.0020.0010.31F8][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
-31F9 30FD ; [.32D9.0020.000F.31F9][.32D9.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
-31F9 30FE ; [.32D9.0020.000F.31F9][.32D9.0020.0010.31F9][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
-31FA 30FD ; [.32DC.0020.000F.31FA][.32DC.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
-31FB 30FD ; [.32E3.0020.000F.31FB][.32E3.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
-31FC 30FD ; [.32E4.0020.000F.31FC][.32E4.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
-31FD 30FD ; [.32E5.0020.000F.31FD][.32E5.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
-31FE 30FD ; [.32E6.0020.000F.31FE][.32E6.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
-31FF 30FD ; [.32E7.0020.000F.31FF][.32E7.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
-F967 ; [.8961.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.89AD.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.828D.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.81B4.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.8709.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-F91B ; [.8BA0.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.8B1E.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.8B1F.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.84DF.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9A8 ; [.8B44.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-F92D ; [.8BC8.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.8B46.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-F965 ; [.89C3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-F9D4 ; [.8B34.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F809 ; [.8926.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.8699.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.8B20.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.8C0C.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.84E1.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.8C0F.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-FA72 ; [.8651.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.8C12.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.8B7C.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.8284.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.8C15.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.83D1.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.8A0A.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.8C1D.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.856C.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.8C1F.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.87F4.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.8B47.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.8C2C.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.8B22.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.98D1.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-2F81D ; [.8C33.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.85B0.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.8B56.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.8AFD.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.8432.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.839C.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F822 ; [.815D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-F9C7 ; [.8B10.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.8B32.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.8B57.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-FA76 ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.9789.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.8C59.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.8C5F.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.89DC.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.8C62.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.8832.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.8C73.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.88BF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.86A3.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.8AF6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F831 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.8C84.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.820F.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.8C87.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.827A.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.823E.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.847F.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-F9DE ; [.8AFE.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.8C97.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.8210.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.8B65.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.879F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.84C5.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840 ; [.8CA8.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.8055.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F842 ; [.87F7.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.82AD.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844 ; [.8CC0.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.8CD7.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.81FF.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-FA37 ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-FA38 ; [.81C6.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.8999.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.8D08.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.8D12.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F855 ; [.82B0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.856E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.8580.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F857 ; [.89DE.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-FA39 ; [.89A8.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.83D4.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.8A18.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA7D ; [.899A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.8D4A.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.8D4E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F851 ; [.8671.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85A ; [.88B5.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.8792.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85D ; [.86BA.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.8A5B.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.809F.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.8853.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.82B1.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.8A24.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.8D66.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.851C.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-FA80 ; [.8D83.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.8965.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F86A ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.86EB.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.8DAD.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-F95F ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.8B23.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.8DBA.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F872 ; [.84BE.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.8530.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.8DC1.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.8873.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.87E0.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-FA3B ; [.8675.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.8AFF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-F9D5 ; [.8DEE.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-F921 ; [.8AF7.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-F9AB ; [.8B49.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.8509.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F884 ; [.8700.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F886 ; [.8A02.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-F98E ; [.8880.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.87EE.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88D ; [.8513.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.8B5A.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA0B ; [.8140.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-F982 ; [.8E30.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.8E36.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.8B6F.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F874 ; [.880B.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.82B2.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.83D7.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.875D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.8B0A.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F966 ; [.8989.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.8E5A.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.8877.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.843F.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.8881.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F960 ; [.87F1.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.8B4A.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.82B4.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.8E80.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.884A.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.8E95.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.8E8C.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.8AA3.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.8EAF.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.8465.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA3E ; [.812D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.8B5C.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.899B.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AC ; [.82EC.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-FA40 ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.8EDC.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.85ED.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.8EE2.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.8EE6.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.86D2.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B5 ; [.89E5.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.8F09.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.8EFE.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.86EE.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.8EF8.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-F973 ; [.84CB.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.8903.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.8F12.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.8495.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.8882.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.867A.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.8B0E.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.80A3.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.8F2B.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E ; [.8F15.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8C3 ; [.8A29.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-F991 ; [.8883.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-FA41 ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.8F64.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.82BA.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.8F6B.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.8B24.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.8B1C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.81D2.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-F9E0 ; [.8036.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.8F89.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.8F94.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-FA06 ; [.8A06.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F901 ; [.8366.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.8516.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.83D2.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-F9E1 ; [.8B00.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.84A4.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.8576.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.8FB7.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-2F8E0 ; [.8FC5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.8B36.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.8A9F.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9DA ; [.829B.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F97A ; [.8B25.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-F9E2 ; [.8B01.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-F914 ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.9048.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-F931 ; [.8B67.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.828E.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.8AF8.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.8468.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.907B.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-FA95 ; [.9080.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-F970 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.8145.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8FA ; [.88F5.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-F972 ; [.8777.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.80A5.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.8916.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-F9E3 ; [.87BA.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F915 ; [.8AF1.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.8829.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F900 ; [.889A.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.836D.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.8B73.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.859C.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.90D2.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.8B37.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F9D6 ; [.90E5.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.90D3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.8512.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.836E.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.90E8.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.8B12.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.87C3.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-FA99 ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.8163.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-F94E ; [.8B74.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.8B5D.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.8763.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.912F.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.8AF9.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.913F.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.9140.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F835 ; [.811E.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F918 ; [.83DD.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.914B.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.8713.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.8B58.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.9156.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-F993 ; [.8B5E.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-F9C0 ; [.916F.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.8B38.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.9178.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.9179.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.917A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA9E ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-F946 ; [.8B75.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.83DF.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-FA9F ; [.88F7.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F92B ; [.8B76.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.91AE.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.91B0.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.80C1.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-F9AD ; [.8B4B.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.91B8.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.8B02.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.8B13.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.86F1.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92F ; [.91C5.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.91C6.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-2F932 ; [.91CF.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-FAA3 ; [.8103.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-F9CD ; [.8B14.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.8B0F.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.8B04.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-FAA5 ; [.921B.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.8B28.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.922C.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.85F8.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.924A.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.854D.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.9253.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.873E.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-2F94A ; [.9263.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-F9CE ; [.8B15.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.8919.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.928D.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-F985 ; [.927A.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA18 ; [.8B4C.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.8499.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.81DC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.844C.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.8AB9.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.84F0.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.85A1.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.8550.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.92A1.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.80ED.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.87AE.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.92A7.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F956 ; [.8B2A.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95B ; [.80D5.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-FA55 ; [.8840.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-F9F7 ; [.8B0C.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8 ; [.8157.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.930B.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.8734.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.8B5F.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.9312.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-F9F9 ; [.8B16.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.85F9.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.9341.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.8811.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-F97B ; [.8B2B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F96A ; [.81DF.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.8940.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.8402.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.8B42.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.9360.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.935D.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F957 ; [.801C.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.9368.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FA58 ; [.9380.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.9389.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.88FA.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A ; [.8515.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.8ED1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F90F ; [.8AEA.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-F9AF ; [.93C1.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.8066.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-F934 ; [.8B78.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.93E1.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F997 ; [.8B61.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.93EA.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.8B79.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.8B7F.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.93F5.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.8048.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F985 ; [.9409.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.942A.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.8B3A.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.84D2.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-FA6D ; [.81B3.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-F97C ; [.8B2C.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-2F990 ; [.8051.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991 ; [.848E.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.80F1.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.89F0.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.8105.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.827F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F99C ; [.9478.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.873C.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.8380.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F99D ; [.9493.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F9A1 ; [.81FB.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.8270.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.83E5.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-FAB4 ; [.80F5.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.8936.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.8AF3.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.8ADA.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.8B62.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-F9C2 ; [.94BE.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-F923 ; [.8AFA.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.94E4.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.94E5.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-F91F ; [.8AFB.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.94E9.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.8209.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.94EE.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B7 ; [.94F2.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-F911 ; [.8AEB.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-FA08 ; [.8381.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C4 ; [.8040.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.8B59.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.8B05.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8 ; [.8B06.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.8AEC.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-FA60 ; [.8165.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.9576.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.9580.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.898F.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.82FA.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.85FE.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-FAB9 ; [.876B.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.8600.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.8B2D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.8B81.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.8478.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.95E2.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.95ED.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.95F1.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.81AA.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.9608.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.8B69.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.9607.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.895D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D7 ; [.81E4.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DA ; [.9629.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.8B6A.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-F902 ; [.849D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-F998 ; [.966D.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.8B3B.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.966F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.967A.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2F98D ; [.8474.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.86FD.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-F99A ; [.8B63.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.96A7.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.8B2E.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.96AE.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-F92C ; [.8B7B.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA26 ; [.87E9.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-F919 ; [.8AF4.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-F9B7 ; [.96CC.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.8B07.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.8B2F.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.8275.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.8B4E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9EE ; [.8124.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.9739.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-F9C6 ; [.974C.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.9751.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.838C.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.8B30.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.8B09.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9DC ; [.8B17.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.8B3C.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.8B4F.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.9765.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9EA ; [.8B08.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.8B50.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.8AF0.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-F938 ; [.8B6B.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.9781.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FA69 ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-F9B4 ; [.8B31.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-FA6A ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.8B43.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.81E7.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.8902.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.845D.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.81B2.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-F91A ; [.97E3.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-F987 ; [.97FD.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-F939 ; [.8B66.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-F9F2 ; [.8B3D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-FA2D ; [.8798.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.83F8.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.9890.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.8476.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.8B52.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.8B3E.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.8A2C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.98A3.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.98B1.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA1C ; [.892E.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-F9C4 ; [.8B19.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-F907 ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+30A1 ; [.32B7.0020.000F.0002] # KATAKANA LETTER SMALL A
+30A2 ; [.32B7.0020.0011.0002] # KATAKANA LETTER A
+30A3 ; [.32B8.0020.000F.0002] # KATAKANA LETTER SMALL I
+30A4 ; [.32B8.0020.0011.0002] # KATAKANA LETTER I
+30A5 ; [.32B9.0020.000F.0002] # KATAKANA LETTER SMALL U
+30A6 ; [.32B9.0020.0011.0002] # KATAKANA LETTER U
+30A7 ; [.32BB.0020.000F.0002] # KATAKANA LETTER SMALL E
+30A8 ; [.32BB.0020.0011.0002] # KATAKANA LETTER E
+30A9 ; [.32BC.0020.000F.0002] # KATAKANA LETTER SMALL O
+30AA ; [.32BC.0020.0011.0002] # KATAKANA LETTER O
+30AB ; [.32BD.0020.0011.0002] # KATAKANA LETTER KA
+30AC ; [.32BD.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GA
+30AD ; [.32BE.0020.0011.0002] # KATAKANA LETTER KI
+30AE ; [.32BE.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GI
+30AF ; [.32BF.0020.0011.0002] # KATAKANA LETTER KU
+30B0 ; [.32BF.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GU
+30B1 ; [.32C0.0020.0011.0002] # KATAKANA LETTER KE
+30B2 ; [.32C0.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GE
+30B3 ; [.32C1.0020.0011.0002] # KATAKANA LETTER KO
+30B4 ; [.32C1.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GO
+30B5 ; [.32C2.0020.0011.0002] # KATAKANA LETTER SA
+30B6 ; [.32C2.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZA
+30B7 ; [.32C3.0020.0011.0002] # KATAKANA LETTER SI
+30B8 ; [.32C3.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZI
+30B9 ; [.32C4.0020.0011.0002] # KATAKANA LETTER SU
+30BA ; [.32C4.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZU
+30BB ; [.32C5.0020.0011.0002] # KATAKANA LETTER SE
+30BC ; [.32C5.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZE
+30BD ; [.32C6.0020.0011.0002] # KATAKANA LETTER SO
+30BE ; [.32C6.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZO
+30BF ; [.32C7.0020.0011.0002] # KATAKANA LETTER TA
+30C0 ; [.32C7.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DA
+30C1 ; [.32C8.0020.0011.0002] # KATAKANA LETTER TI
+30C2 ; [.32C8.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DI
+30C3 ; [.32C9.0020.000F.0002] # KATAKANA LETTER SMALL TU
+30C4 ; [.32C9.0020.0011.0002] # KATAKANA LETTER TU
+30C5 ; [.32C9.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DU
+30C6 ; [.32CA.0020.0011.0002] # KATAKANA LETTER TE
+30C7 ; [.32CA.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DE
+30C8 ; [.32CB.0020.0011.0002] # KATAKANA LETTER TO
+30C9 ; [.32CB.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DO
+30CA ; [.32CC.0020.0011.0002] # KATAKANA LETTER NA
+30CB ; [.32CD.0020.0011.0002] # KATAKANA LETTER NI
+30CC ; [.32CE.0020.0011.0002] # KATAKANA LETTER NU
+30CD ; [.32CF.0020.0011.0002] # KATAKANA LETTER NE
+30CE ; [.32D0.0020.0011.0002] # KATAKANA LETTER NO
+30CF ; [.32D1.0020.0011.0002] # KATAKANA LETTER HA
+30D0 ; [.32D1.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BA
+30D1 ; [.32D1.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PA
+30D2 ; [.32D2.0020.0011.0002] # KATAKANA LETTER HI
+30D3 ; [.32D2.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BI
+30D4 ; [.32D2.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PI
+30D5 ; [.32D3.0020.0011.0002] # KATAKANA LETTER HU
+30D6 ; [.32D3.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BU
+30D7 ; [.32D3.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PU
+30D8 ; [.32D4.0020.0011.0002] # KATAKANA LETTER HE
+30D9 ; [.32D4.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BE
+30DA ; [.32D4.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PE
+30DB ; [.32D5.0020.0011.0002] # KATAKANA LETTER HO
+30DC ; [.32D5.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BO
+30DD ; [.32D5.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PO
+30DE ; [.32D6.0020.0011.0002] # KATAKANA LETTER MA
+30DF ; [.32D7.0020.0011.0002] # KATAKANA LETTER MI
+30E0 ; [.32D8.0020.0011.0002] # KATAKANA LETTER MU
+30E1 ; [.32D9.0020.0011.0002] # KATAKANA LETTER ME
+30E2 ; [.32DA.0020.0011.0002] # KATAKANA LETTER MO
+30E3 ; [.32DB.0020.000F.0002] # KATAKANA LETTER SMALL YA
+30E4 ; [.32DB.0020.0011.0002] # KATAKANA LETTER YA
+30E5 ; [.32DC.0020.000F.0002] # KATAKANA LETTER SMALL YU
+30E6 ; [.32DC.0020.0011.0002] # KATAKANA LETTER YU
+30E7 ; [.32DE.0020.000F.0002] # KATAKANA LETTER SMALL YO
+30E8 ; [.32DE.0020.0011.0002] # KATAKANA LETTER YO
+30E9 ; [.32DF.0020.0011.0002] # KATAKANA LETTER RA
+30EA ; [.32E0.0020.0011.0002] # KATAKANA LETTER RI
+30EB ; [.32E1.0020.0011.0002] # KATAKANA LETTER RU
+30EC ; [.32E2.0020.0011.0002] # KATAKANA LETTER RE
+30ED ; [.32E3.0020.0011.0002] # KATAKANA LETTER RO
+30EE ; [.32E4.0020.000F.0002] # KATAKANA LETTER SMALL WA
+30EF ; [.32E4.0020.0011.0002] # KATAKANA LETTER WA
+30F0 ; [.32E5.0020.0011.0002] # KATAKANA LETTER WI
+30F1 ; [.32E6.0020.0011.0002] # KATAKANA LETTER WE
+30F2 ; [.32E7.0020.0011.0002] # KATAKANA LETTER WO
+30F3 ; [.32E8.0020.0011.0002] # KATAKANA LETTER N
+30F4 ; [.32B9.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VU
+30F5 ; [.32BD.0020.000F.0002] # KATAKANA LETTER SMALL KA
+30F6 ; [.32C0.0020.000F.0002] # KATAKANA LETTER SMALL KE
+30F7 ; [.32E4.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VA
+30F8 ; [.32E5.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VI
+30F9 ; [.32E6.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VE
+30FA ; [.32E7.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VO
+30FD ; [.15B7.0020.0002.0002] # KATAKANA ITERATION MARK
+30FE ; [.15B7.0020.0002.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
+3041 ; [.32B7.0020.000F.0001] # HIRAGANA LETTER SMALL A
+3042 ; [.32B7.0020.0011.0001] # HIRAGANA LETTER A
+3043 ; [.32B8.0020.000F.0001] # HIRAGANA LETTER SMALL I
+3044 ; [.32B8.0020.0011.0001] # HIRAGANA LETTER I
+3045 ; [.32B9.0020.000F.0001] # HIRAGANA LETTER SMALL U
+3046 ; [.32B9.0020.0011.0001] # HIRAGANA LETTER U
+3047 ; [.32BB.0020.000F.0001] # HIRAGANA LETTER SMALL E
+3048 ; [.32BB.0020.0011.0001] # HIRAGANA LETTER E
+3049 ; [.32BC.0020.000F.0001] # HIRAGANA LETTER SMALL O
+304A ; [.32BC.0020.0011.0001] # HIRAGANA LETTER O
+304B ; [.32BD.0020.0011.0001] # HIRAGANA LETTER KA
+304C ; [.32BD.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GA
+304D ; [.32BE.0020.0011.0001] # HIRAGANA LETTER KI
+304E ; [.32BE.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GI
+304F ; [.32BF.0020.0011.0001] # HIRAGANA LETTER KU
+3050 ; [.32BF.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GU
+3051 ; [.32C0.0020.0011.0001] # HIRAGANA LETTER KE
+3052 ; [.32C0.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GE
+3053 ; [.32C1.0020.0011.0001] # HIRAGANA LETTER KO
+3054 ; [.32C1.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GO
+3055 ; [.32C2.0020.0011.0001] # HIRAGANA LETTER SA
+3056 ; [.32C2.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZA
+3057 ; [.32C3.0020.0011.0001] # HIRAGANA LETTER SI
+3058 ; [.32C3.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZI
+3059 ; [.32C4.0020.0011.0001] # HIRAGANA LETTER SU
+305A ; [.32C4.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZU
+305B ; [.32C5.0020.0011.0001] # HIRAGANA LETTER SE
+305C ; [.32C5.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZE
+305D ; [.32C6.0020.0011.0001] # HIRAGANA LETTER SO
+305E ; [.32C6.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZO
+305F ; [.32C7.0020.0011.0001] # HIRAGANA LETTER TA
+3060 ; [.32C7.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DA
+3061 ; [.32C8.0020.0011.0001] # HIRAGANA LETTER TI
+3062 ; [.32C8.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DI
+3063 ; [.32C9.0020.000F.0001] # HIRAGANA LETTER SMALL TU
+3064 ; [.32C9.0020.0011.0001] # HIRAGANA LETTER TU
+3065 ; [.32C9.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DU
+3066 ; [.32CA.0020.0011.0001] # HIRAGANA LETTER TE
+3067 ; [.32CA.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DE
+3068 ; [.32CB.0020.0011.0001] # HIRAGANA LETTER TO
+3069 ; [.32CB.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DO
+306A ; [.32CC.0020.0011.0001] # HIRAGANA LETTER NA
+306B ; [.32CD.0020.0011.0001] # HIRAGANA LETTER NI
+306C ; [.32CE.0020.0011.0001] # HIRAGANA LETTER NU
+306D ; [.32CF.0020.0011.0001] # HIRAGANA LETTER NE
+306E ; [.32D0.0020.0011.0001] # HIRAGANA LETTER NO
+306F ; [.32D1.0020.0011.0001] # HIRAGANA LETTER HA
+3070 ; [.32D1.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BA
+3071 ; [.32D1.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PA
+3072 ; [.32D2.0020.0011.0001] # HIRAGANA LETTER HI
+3073 ; [.32D2.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BI
+3074 ; [.32D2.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PI
+3075 ; [.32D3.0020.0011.0001] # HIRAGANA LETTER HU
+3076 ; [.32D3.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BU
+3077 ; [.32D3.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PU
+3078 ; [.32D4.0020.0011.0001] # HIRAGANA LETTER HE
+3079 ; [.32D4.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BE
+307A ; [.32D4.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PE
+307B ; [.32D5.0020.0011.0001] # HIRAGANA LETTER HO
+307C ; [.32D5.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BO
+307D ; [.32D5.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PO
+307E ; [.32D6.0020.0011.0001] # HIRAGANA LETTER MA
+307F ; [.32D7.0020.0011.0001] # HIRAGANA LETTER MI
+3080 ; [.32D8.0020.0011.0001] # HIRAGANA LETTER MU
+3081 ; [.32D9.0020.0011.0001] # HIRAGANA LETTER ME
+3082 ; [.32DA.0020.0011.0001] # HIRAGANA LETTER MO
+3083 ; [.32DB.0020.000F.0001] # HIRAGANA LETTER SMALL YA
+3084 ; [.32DB.0020.0011.0001] # HIRAGANA LETTER YA
+3085 ; [.32DC.0020.000F.0001] # HIRAGANA LETTER SMALL YU
+3086 ; [.32DC.0020.0011.0001] # HIRAGANA LETTER YU
+3087 ; [.32DE.0020.000F.0001] # HIRAGANA LETTER SMALL YO
+3088 ; [.32DE.0020.0011.0001] # HIRAGANA LETTER YO
+3089 ; [.32DF.0020.0011.0001] # HIRAGANA LETTER RA
+308A ; [.32E0.0020.0011.0001] # HIRAGANA LETTER RI
+308B ; [.32E1.0020.0011.0001] # HIRAGANA LETTER RU
+308C ; [.32E2.0020.0011.0001] # HIRAGANA LETTER RE
+308D ; [.32E3.0020.0011.0001] # HIRAGANA LETTER RO
+308E ; [.32E4.0020.000F.0001] # HIRAGANA LETTER SMALL WA
+308F ; [.32E4.0020.0011.0001] # HIRAGANA LETTER WA
+3090 ; [.32E5.0020.0011.0001] # HIRAGANA LETTER WI
+3091 ; [.32E6.0020.0011.0001] # HIRAGANA LETTER WE
+3092 ; [.32E7.0020.0011.0001] # HIRAGANA LETTER WO
+3093 ; [.32E8.0020.0011.0001] # HIRAGANA LETTER N
+3094 ; [.32B9.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER VU
+3095 ; [.32BD.0020.000F.0001] # HIRAGANA LETTER SMALL KA
+3096 ; [.32C0.0020.000F.0001] # HIRAGANA LETTER SMALL KE
+309D ; [.15B7.0020.0002.0001] # HIRAGANA ITERATION MARK
+309E ; [.15B7.0020.0002.0001][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
+3000 ; [*0209.0020.0002] # IDEOGRAPHIC SPACE
+FF01 ; [*025D.0020.0002] # FULLWIDTH EXCLAMATION MARK
+FF02 ; [*02F0.0020.0002] # FULLWIDTH QUOTATION MARK
+FF03 ; [*0379.0020.0002] # FULLWIDTH NUMBER SIGN
+FF04 ; [.15BA.0020.0002] # FULLWIDTH DOLLAR SIGN
+FF05 ; [*037A.0020.0002] # FULLWIDTH PERCENT SIGN
+FF06 ; [*0377.0020.0002] # FULLWIDTH AMPERSAND
+FF07 ; [*02E9.0020.0002] # FULLWIDTH APOSTROPHE
+FF08 ; [*02FA.0020.0002] # FULLWIDTH LEFT PARENTHESIS
+FF09 ; [*02FB.0020.0002] # FULLWIDTH RIGHT PARENTHESIS
+FF0A ; [*0370.0020.0002] # FULLWIDTH ASTERISK
+FF0B ; [*059F.0020.0002] # FULLWIDTH PLUS SIGN
+FF0C ; [*0220.0020.0002] # FULLWIDTH COMMA
+FF0D ; [*020D.0020.0002] # FULLWIDTH HYPHEN-MINUS
+FF0E ; [*0272.0020.0002] # FULLWIDTH FULL STOP
+FF0F ; [*0375.0020.0002] # FULLWIDTH SOLIDUS
+FF10 ; [.15E1.0020.0002] # FULLWIDTH DIGIT ZERO
+FF11 ; [.15E2.0020.0002] # FULLWIDTH DIGIT ONE
+FF12 ; [.15E3.0020.0002] # FULLWIDTH DIGIT TWO
+FF13 ; [.15E4.0020.0002] # FULLWIDTH DIGIT THREE
+FF14 ; [.15E5.0020.0002] # FULLWIDTH DIGIT FOUR
+FF15 ; [.15E6.0020.0002] # FULLWIDTH DIGIT FIVE
+FF16 ; [.15E7.0020.0002] # FULLWIDTH DIGIT SIX
+FF17 ; [.15E8.0020.0002] # FULLWIDTH DIGIT SEVEN
+FF18 ; [.15E9.0020.0002] # FULLWIDTH DIGIT EIGHT
+FF19 ; [.15EA.0020.0002] # FULLWIDTH DIGIT NINE
+FF1A ; [*0236.0020.0002] # FULLWIDTH COLON
+FF1B ; [*0231.0020.0002] # FULLWIDTH SEMICOLON
+FF1C ; [*05A3.0020.0002] # FULLWIDTH LESS-THAN SIGN
+FF1D ; [*05A4.0020.0002] # FULLWIDTH EQUALS SIGN
+FF1E ; [*05A5.0020.0002] # FULLWIDTH GREATER-THAN SIGN
+FF1F ; [*0262.0020.0002] # FULLWIDTH QUESTION MARK
+FF20 ; [*036F.0020.0002] # FULLWIDTH COMMERCIAL AT
+FF21 ; [.15EB.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER A
+FF22 ; [.1601.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER B
+FF23 ; [.1619.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER C
+FF24 ; [.162D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER D
+FF25 ; [.1648.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER E
+FF26 ; [.1680.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER F
+FF27 ; [.168D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER G
+FF28 ; [.16B0.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER H
+FF29 ; [.16C9.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER I
+FF2A ; [.16E2.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER J
+FF2B ; [.16FB.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER K
+FF2C ; [.170D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER L
+FF2D ; [.173D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER M
+FF2E ; [.174B.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER N
+FF2F ; [.176D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER O
+FF30 ; [.1792.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER P
+FF31 ; [.17A7.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Q
+FF32 ; [.17B9.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER R
+FF33 ; [.17EF.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER S
+FF34 ; [.1812.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER T
+FF35 ; [.1832.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER U
+FF36 ; [.185B.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER V
+FF37 ; [.186D.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER W
+FF38 ; [.1877.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER X
+FF39 ; [.187C.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Y
+FF3A ; [.1891.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B ; [*02FC.0020.0002] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C ; [*02E9.0020.0002] # FULLWIDTH REVERSE SOLIDUS
+FF3D ; [*02FD.0020.0002] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E ; [*0415.0020.0002] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F ; [*020B.0020.0002] # FULLWIDTH LOW LINE
+FF40 ; [*0412.0020.0002] # FULLWIDTH GRAVE ACCENT
+FF41 ; [.15EB.0020.0002] # FULLWIDTH LATIN SMALL LETTER A
+FF42 ; [.1601.0020.0002] # FULLWIDTH LATIN SMALL LETTER B
+FF43 ; [.1619.0020.0002] # FULLWIDTH LATIN SMALL LETTER C
+FF44 ; [.162D.0020.0002] # FULLWIDTH LATIN SMALL LETTER D
+FF45 ; [.1648.0020.0002] # FULLWIDTH LATIN SMALL LETTER E
+FF46 ; [.1680.0020.0002] # FULLWIDTH LATIN SMALL LETTER F
+FF47 ; [.168D.0020.0002] # FULLWIDTH LATIN SMALL LETTER G
+FF48 ; [.16B0.0020.0002] # FULLWIDTH LATIN SMALL LETTER H
+FF49 ; [.16C9.0020.0002] # FULLWIDTH LATIN SMALL LETTER I
+FF4A ; [.16E2.0020.0002] # FULLWIDTH LATIN SMALL LETTER J
+FF4B ; [.16FB.0020.0002] # FULLWIDTH LATIN SMALL LETTER K
+FF4C ; [.170D.0020.0002] # FULLWIDTH LATIN SMALL LETTER L
+FF4D ; [.173D.0020.0002] # FULLWIDTH LATIN SMALL LETTER M
+FF4E ; [.174B.0020.0002] # FULLWIDTH LATIN SMALL LETTER N
+FF4F ; [.176D.0020.0002] # FULLWIDTH LATIN SMALL LETTER O
+FF50 ; [.1792.0020.0002] # FULLWIDTH LATIN SMALL LETTER P
+FF51 ; [.17A7.0020.0002] # FULLWIDTH LATIN SMALL LETTER Q
+FF52 ; [.17B9.0020.0002] # FULLWIDTH LATIN SMALL LETTER R
+FF53 ; [.17EF.0020.0002] # FULLWIDTH LATIN SMALL LETTER S
+FF54 ; [.1812.0020.0002] # FULLWIDTH LATIN SMALL LETTER T
+FF55 ; [.1832.0020.0002] # FULLWIDTH LATIN SMALL LETTER U
+FF56 ; [.185B.0020.0002] # FULLWIDTH LATIN SMALL LETTER V
+FF57 ; [.186D.0020.0002] # FULLWIDTH LATIN SMALL LETTER W
+FF58 ; [.1877.0020.0002] # FULLWIDTH LATIN SMALL LETTER X
+FF59 ; [.187C.0020.0002] # FULLWIDTH LATIN SMALL LETTER Y
+FF5A ; [.1891.0020.0002] # FULLWIDTH LATIN SMALL LETTER Z
+FF5B ; [*02FE.0020.0002] # FULLWIDTH LEFT CURLY BRACKET
+FF5C ; [*05A7.0020.0002] # FULLWIDTH VERTICAL LINE
+FF5D ; [*02FF.0020.0002] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E ; [*05A9.0020.0002] # FULLWIDTH TILDE
+FF5F ; [*0310.0020.0002] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60 ; [*0311.0020.0002] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61 ; [*0282.0020.0002] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62 ; [*0356.0020.0002] # HALFWIDTH LEFT CORNER BRACKET
+FF63 ; [*0357.0020.0002] # HALFWIDTH RIGHT CORNER BRACKET
+FF64 ; [*022E.0020.0002] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65 ; [*021F.0020.0002] # HALFWIDTH KATAKANA MIDDLE DOT
+FF66 ; [.32E7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WO
+FF67 ; [.32B7.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL A
+FF68 ; [.32B8.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL I
+FF69 ; [.32B9.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A ; [.32BB.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B ; [.32BC.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C ; [.32DB.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D ; [.32DC.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E ; [.32DE.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F ; [.32C9.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 ; [.15B6.0020.0002] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71 ; [.32B7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER A
+FF72 ; [.32B8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER I
+FF73 ; [.32B9.0020.0011.0002] # HALFWIDTH KATAKANA LETTER U
+FF74 ; [.32BB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER E
+FF75 ; [.32BC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER O
+FF76 ; [.32BD.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KA
+FF77 ; [.32BE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KI
+FF78 ; [.32BF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KU
+FF79 ; [.32C0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KE
+FF7A ; [.32C1.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KO
+FF7B ; [.32C2.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SA
+FF7C ; [.32C3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SI
+FF7D ; [.32C4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SU
+FF7E ; [.32C5.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SE
+FF7F ; [.32C6.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SO
+FF80 ; [.32C7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TA
+FF81 ; [.32C8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TI
+FF82 ; [.32C9.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TU
+FF83 ; [.32CA.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TE
+FF84 ; [.32CB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TO
+FF85 ; [.32CC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NA
+FF86 ; [.32CD.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NI
+FF87 ; [.32CE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NU
+FF88 ; [.32CF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NE
+FF89 ; [.32D0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NO
+FF8A ; [.32D1.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HA
+FF8B ; [.32D2.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HI
+FF8C ; [.32D3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HU
+FF8D ; [.32D4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HE
+FF8E ; [.32D5.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HO
+FF8F ; [.32D6.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MA
+FF90 ; [.32D7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MI
+FF91 ; [.32D8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MU
+FF92 ; [.32D9.0020.0011.0002] # HALFWIDTH KATAKANA LETTER ME
+FF93 ; [.32DA.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MO
+FF94 ; [.32DB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YA
+FF95 ; [.32DC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YU
+FF96 ; [.32DE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YO
+FF97 ; [.32DF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RA
+FF98 ; [.32E0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RI
+FF99 ; [.32E1.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RU
+FF9A ; [.32E2.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RE
+FF9B ; [.32E3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RO
+FF9C ; [.32E4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WA
+FF9D ; [.32E8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER N
+FF9E ; [.0000.0037.0002] # HALFWIDTH KATAKANA VOICED SOUND MARK
+FF9F ; [.0000.0038.0002] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFE0 ; [.15B9.0020.0002] # FULLWIDTH CENT SIGN
+FFE1 ; [.15BB.0020.0002] # FULLWIDTH POUND SIGN
+FFE2 ; [*05A6.0020.0002] # FULLWIDTH NOT SIGN
+FFE3 ; [*0209.0020.0002] # FULLWIDTH MACRON
+FFE4 ; [*05A8.0020.0002] # FULLWIDTH BROKEN BAR
+FFE5 ; [.15BC.0020.0002] # FULLWIDTH YEN SIGN
+FFE6 ; [.15CF.0020.0002] # FULLWIDTH WON SIGN
+FFE8 ; [*0798.0020.0002] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9 ; [*0525.0020.0002] # HALFWIDTH LEFTWARDS ARROW
+FFEA ; [*0527.0020.0002] # HALFWIDTH UPWARDS ARROW
+FFEB ; [*0526.0020.0002] # HALFWIDTH RIGHTWARDS ARROW
+FFEC ; [*0528.0020.0002] # HALFWIDTH DOWNWARDS ARROW
+FFED ; [*0836.0020.0002] # HALFWIDTH BLACK SQUARE
+FFEE ; [*0861.0020.0002] # HALFWIDTH WHITE CIRCLE
+30A1 30FC ; [.32B7.0020.000F.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 30FC ; [.32B7.0020.000F.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 FF70 ; [.32B7.0020.000F.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3041 30FC ; [.32B7.0020.000F.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A2 30FC ; [.32B7.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 30FC ; [.32B7.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 FF70 ; [.32B7.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3042 30FC ; [.32B7.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 30FC ; [.32BD.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 30FC ; [.32BD.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF70 ; [.32BD.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 30FC ; [.32BD.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AC 30FC ; [.32BD.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 3099 30FC ; [.32BD.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E 30FC ; [.32BD.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E FF70 ; [.32BD.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304C 30FC ; [.32BD.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 3099 30FC ; [.32BD.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 30FC ; [.32C2.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B 30FC ; [.32C2.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF70 ; [.32C2.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 30FC ; [.32C2.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B6 30FC ; [.32C2.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 3099 30FC ; [.32C2.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E 30FC ; [.32C2.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E FF70 ; [.32C2.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3056 30FC ; [.32C2.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 3099 30FC ; [.32C2.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 30FC ; [.32C7.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 30FC ; [.32C7.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF70 ; [.32C7.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 30FC ; [.32C7.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C0 30FC ; [.32C7.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 3099 30FC ; [.32C7.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E 30FC ; [.32C7.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E FF70 ; [.32C7.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3060 30FC ; [.32C7.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 3099 30FC ; [.32C7.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CA 30FC ; [.32CC.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 30FC ; [.32CC.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 FF70 ; [.32CC.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306A 30FC ; [.32CC.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 30FC ; [.32D1.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A 30FC ; [.32D1.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF70 ; [.32D1.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 30FC ; [.32D1.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D0 30FC ; [.32D1.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 3099 30FC ; [.32D1.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E 30FC ; [.32D1.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E FF70 ; [.32D1.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3070 30FC ; [.32D1.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 3099 30FC ; [.32D1.0020.0011.0001][.0000.0037.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D1 30FC ; [.32D1.0020.0011.0002][.0000.0038.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 309A 30FC ; [.32D1.0020.0011.0002][.0000.0038.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F 30FC ; [.32D1.0020.0011.0002][.0000.0038.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F FF70 ; [.32D1.0020.0011.0002][.0000.0038.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3071 30FC ; [.32D1.0020.0011.0001][.0000.0038.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 309A 30FC ; [.32D1.0020.0011.0001][.0000.0038.0002][.32B7.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DE 30FC ; [.32D6.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F 30FC ; [.32D6.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F FF70 ; [.32D6.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307E 30FC ; [.32D6.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E3 30FC ; [.32DB.0020.000F.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C 30FC ; [.32DB.0020.000F.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C FF70 ; [.32DB.0020.000F.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3083 30FC ; [.32DB.0020.000F.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E4 30FC ; [.32DB.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 30FC ; [.32DB.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 FF70 ; [.32DB.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3084 30FC ; [.32DB.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E9 30FC ; [.32DF.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 30FC ; [.32DF.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 FF70 ; [.32DF.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3089 30FC ; [.32DF.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EE 30FC ; [.32E4.0020.000F.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308E 30FC ; [.32E4.0020.000F.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 30FC ; [.32E4.0020.0011.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C 30FC ; [.32E4.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF70 ; [.32E4.0020.0011.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308F 30FC ; [.32E4.0020.0011.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F7 30FC ; [.32E4.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 3099 30FC ; [.32E4.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E 30FC ; [.32E4.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E FF70 ; [.32E4.0020.0011.0002][.0000.0037.0002][.32B7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F5 30FC ; [.32BD.0020.000F.0002][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3095 30FC ; [.32BD.0020.000F.0001][.32B7.0020.0007.0002] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F5 30FC ; [.32D1.0020.000F][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FB 30FC ; [.32DF.0020.000F][.32B7.0020.0007.0002] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A3 30FC ; [.32B8.0020.000F.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 30FC ; [.32B8.0020.000F.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 FF70 ; [.32B8.0020.000F.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3043 30FC ; [.32B8.0020.000F.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A4 30FC ; [.32B8.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 30FC ; [.32B8.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 FF70 ; [.32B8.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3044 30FC ; [.32B8.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 30FC ; [.32BE.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 30FC ; [.32BE.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF70 ; [.32BE.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 30FC ; [.32BE.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AE 30FC ; [.32BE.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 3099 30FC ; [.32BE.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E 30FC ; [.32BE.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E FF70 ; [.32BE.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304E 30FC ; [.32BE.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 3099 30FC ; [.32BE.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 30FC ; [.32C3.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C 30FC ; [.32C3.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF70 ; [.32C3.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 30FC ; [.32C3.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B8 30FC ; [.32C3.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 3099 30FC ; [.32C3.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E 30FC ; [.32C3.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E FF70 ; [.32C3.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3058 30FC ; [.32C3.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 3099 30FC ; [.32C3.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 30FC ; [.32C8.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 30FC ; [.32C8.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF70 ; [.32C8.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 30FC ; [.32C8.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C2 30FC ; [.32C8.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 3099 30FC ; [.32C8.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E 30FC ; [.32C8.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E FF70 ; [.32C8.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3062 30FC ; [.32C8.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 3099 30FC ; [.32C8.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CB 30FC ; [.32CD.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 30FC ; [.32CD.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 FF70 ; [.32CD.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306B 30FC ; [.32CD.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 30FC ; [.32D2.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B 30FC ; [.32D2.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF70 ; [.32D2.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 30FC ; [.32D2.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D3 30FC ; [.32D2.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 3099 30FC ; [.32D2.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E 30FC ; [.32D2.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E FF70 ; [.32D2.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3073 30FC ; [.32D2.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 3099 30FC ; [.32D2.0020.0011.0001][.0000.0037.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D4 30FC ; [.32D2.0020.0011.0002][.0000.0038.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 309A 30FC ; [.32D2.0020.0011.0002][.0000.0038.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F 30FC ; [.32D2.0020.0011.0002][.0000.0038.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F FF70 ; [.32D2.0020.0011.0002][.0000.0038.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3074 30FC ; [.32D2.0020.0011.0001][.0000.0038.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 309A 30FC ; [.32D2.0020.0011.0001][.0000.0038.0002][.32B8.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DF 30FC ; [.32D7.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 30FC ; [.32D7.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 FF70 ; [.32D7.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307F 30FC ; [.32D7.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EA 30FC ; [.32E0.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 30FC ; [.32E0.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 FF70 ; [.32E0.0020.0011.0002][.32B8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308A 30FC ; [.32E0.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 30FC ; [.32E5.0020.0011.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3090 30FC ; [.32E5.0020.0011.0001][.32B8.0020.0007.0002] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F8 30FC ; [.32E5.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 3099 30FC ; [.32E5.0020.0011.0002][.0000.0037.0002][.32B8.0020.0007.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F1 30FC ; [.32C3.0020.000F][.32B8.0020.0007.0002] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F6 30FC ; [.32D2.0020.000F][.32B8.0020.0007.0002] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FC 30FC ; [.32E0.0020.000F][.32B8.0020.0007.0002] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A5 30FC ; [.32B9.0020.000F.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 30FC ; [.32B9.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 FF70 ; [.32B9.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3045 30FC ; [.32B9.0020.000F.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 30FC ; [.32B9.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 30FC ; [.32B9.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF70 ; [.32B9.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 30FC ; [.32B9.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 30FC ; [.32BF.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 30FC ; [.32BF.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF70 ; [.32BF.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 30FC ; [.32BF.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B0 30FC ; [.32BF.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 3099 30FC ; [.32BF.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E 30FC ; [.32BF.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E FF70 ; [.32BF.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3050 30FC ; [.32BF.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 3099 30FC ; [.32BF.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 30FC ; [.32C4.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D 30FC ; [.32C4.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF70 ; [.32C4.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 30FC ; [.32C4.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BA 30FC ; [.32C4.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 3099 30FC ; [.32C4.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E 30FC ; [.32C4.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E FF70 ; [.32C4.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305A 30FC ; [.32C4.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 3099 30FC ; [.32C4.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C3 30FC ; [.32C9.0020.000F.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F 30FC ; [.32C9.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F FF70 ; [.32C9.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3063 30FC ; [.32C9.0020.000F.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 30FC ; [.32C9.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 30FC ; [.32C9.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF70 ; [.32C9.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 30FC ; [.32C9.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C5 30FC ; [.32C9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 3099 30FC ; [.32C9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E 30FC ; [.32C9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E FF70 ; [.32C9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3065 30FC ; [.32C9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 3099 30FC ; [.32C9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CC 30FC ; [.32CE.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 30FC ; [.32CE.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 FF70 ; [.32CE.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306C 30FC ; [.32CE.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 30FC ; [.32D3.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C 30FC ; [.32D3.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF70 ; [.32D3.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 30FC ; [.32D3.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D6 30FC ; [.32D3.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 3099 30FC ; [.32D3.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E 30FC ; [.32D3.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E FF70 ; [.32D3.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3076 30FC ; [.32D3.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 3099 30FC ; [.32D3.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D7 30FC ; [.32D3.0020.0011.0002][.0000.0038.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 309A 30FC ; [.32D3.0020.0011.0002][.0000.0038.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F 30FC ; [.32D3.0020.0011.0002][.0000.0038.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F FF70 ; [.32D3.0020.0011.0002][.0000.0038.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3077 30FC ; [.32D3.0020.0011.0001][.0000.0038.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 309A 30FC ; [.32D3.0020.0011.0001][.0000.0038.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E0 30FC ; [.32D8.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 30FC ; [.32D8.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 FF70 ; [.32D8.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3080 30FC ; [.32D8.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E5 30FC ; [.32DC.0020.000F.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D 30FC ; [.32DC.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D FF70 ; [.32DC.0020.000F.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3085 30FC ; [.32DC.0020.000F.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E6 30FC ; [.32DC.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 30FC ; [.32DC.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 FF70 ; [.32DC.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3086 30FC ; [.32DC.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EB 30FC ; [.32E1.0020.0011.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 30FC ; [.32E1.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 FF70 ; [.32E1.0020.0011.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308B 30FC ; [.32E1.0020.0011.0001][.32B9.0020.0007.0002] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F4 30FC ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 3099 30FC ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E 30FC ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E FF70 ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3094 30FC ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 3099 30FC ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0007.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F0 30FC ; [.32BF.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F2 30FC ; [.32C4.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F4 30FC ; [.32CE.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F7 30FC ; [.32D3.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FA 30FC ; [.32D8.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FD 30FC ; [.32E1.0020.000F][.32B9.0020.0007.0002] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A7 30FC ; [.32BB.0020.000F.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A 30FC ; [.32BB.0020.000F.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A FF70 ; [.32BB.0020.000F.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3047 30FC ; [.32BB.0020.000F.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A8 30FC ; [.32BB.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 30FC ; [.32BB.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 FF70 ; [.32BB.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3048 30FC ; [.32BB.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 30FC ; [.32C0.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 30FC ; [.32C0.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF70 ; [.32C0.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 30FC ; [.32C0.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B2 30FC ; [.32C0.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 3099 30FC ; [.32C0.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E 30FC ; [.32C0.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E FF70 ; [.32C0.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3052 30FC ; [.32C0.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 3099 30FC ; [.32C0.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 30FC ; [.32C5.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E 30FC ; [.32C5.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF70 ; [.32C5.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 30FC ; [.32C5.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BC 30FC ; [.32C5.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 3099 30FC ; [.32C5.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E 30FC ; [.32C5.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E FF70 ; [.32C5.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305C 30FC ; [.32C5.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 3099 30FC ; [.32C5.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 30FC ; [.32CA.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 30FC ; [.32CA.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF70 ; [.32CA.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 30FC ; [.32CA.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C7 30FC ; [.32CA.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 3099 30FC ; [.32CA.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E 30FC ; [.32CA.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E FF70 ; [.32CA.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3067 30FC ; [.32CA.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 3099 30FC ; [.32CA.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CD 30FC ; [.32CF.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 30FC ; [.32CF.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 FF70 ; [.32CF.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306D 30FC ; [.32CF.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 30FC ; [.32D4.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D 30FC ; [.32D4.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF70 ; [.32D4.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 30FC ; [.32D4.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D9 30FC ; [.32D4.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 3099 30FC ; [.32D4.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E 30FC ; [.32D4.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E FF70 ; [.32D4.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3079 30FC ; [.32D4.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 3099 30FC ; [.32D4.0020.0011.0001][.0000.0037.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DA 30FC ; [.32D4.0020.0011.0002][.0000.0038.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 309A 30FC ; [.32D4.0020.0011.0002][.0000.0038.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F 30FC ; [.32D4.0020.0011.0002][.0000.0038.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F FF70 ; [.32D4.0020.0011.0002][.0000.0038.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307A 30FC ; [.32D4.0020.0011.0001][.0000.0038.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 309A 30FC ; [.32D4.0020.0011.0001][.0000.0038.0002][.32BB.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E1 30FC ; [.32D9.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 30FC ; [.32D9.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 FF70 ; [.32D9.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3081 30FC ; [.32D9.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EC 30FC ; [.32E2.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A 30FC ; [.32E2.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A FF70 ; [.32E2.0020.0011.0002][.32BB.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308C 30FC ; [.32E2.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 30FC ; [.32E6.0020.0011.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3091 30FC ; [.32E6.0020.0011.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F9 30FC ; [.32E6.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 3099 30FC ; [.32E6.0020.0011.0002][.0000.0037.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F6 30FC ; [.32C0.0020.000F.0002][.32BB.0020.0007.0002] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3096 30FC ; [.32C0.0020.000F.0001][.32BB.0020.0007.0002] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F8 30FC ; [.32D4.0020.000F][.32BB.0020.0007.0002] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FE 30FC ; [.32E2.0020.000F][.32BB.0020.0007.0002] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A9 30FC ; [.32BC.0020.000F.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B 30FC ; [.32BC.0020.000F.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B FF70 ; [.32BC.0020.000F.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3049 30FC ; [.32BC.0020.000F.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AA 30FC ; [.32BC.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 30FC ; [.32BC.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 FF70 ; [.32BC.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304A 30FC ; [.32BC.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 30FC ; [.32C1.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A 30FC ; [.32C1.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF70 ; [.32C1.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 30FC ; [.32C1.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B4 30FC ; [.32C1.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 3099 30FC ; [.32C1.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E 30FC ; [.32C1.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E FF70 ; [.32C1.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3054 30FC ; [.32C1.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 3099 30FC ; [.32C1.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 30FC ; [.32C6.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F 30FC ; [.32C6.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF70 ; [.32C6.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 30FC ; [.32C6.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BE 30FC ; [.32C6.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 3099 30FC ; [.32C6.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E 30FC ; [.32C6.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E FF70 ; [.32C6.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305E 30FC ; [.32C6.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 3099 30FC ; [.32C6.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 30FC ; [.32CB.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 30FC ; [.32CB.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF70 ; [.32CB.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 30FC ; [.32CB.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C9 30FC ; [.32CB.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 3099 30FC ; [.32CB.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E 30FC ; [.32CB.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E FF70 ; [.32CB.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3069 30FC ; [.32CB.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 3099 30FC ; [.32CB.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CE 30FC ; [.32D0.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 30FC ; [.32D0.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 FF70 ; [.32D0.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306E 30FC ; [.32D0.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 30FC ; [.32D5.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E 30FC ; [.32D5.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF70 ; [.32D5.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 30FC ; [.32D5.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DC 30FC ; [.32D5.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 3099 30FC ; [.32D5.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E 30FC ; [.32D5.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E FF70 ; [.32D5.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307C 30FC ; [.32D5.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 3099 30FC ; [.32D5.0020.0011.0001][.0000.0037.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DD 30FC ; [.32D5.0020.0011.0002][.0000.0038.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 309A 30FC ; [.32D5.0020.0011.0002][.0000.0038.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F 30FC ; [.32D5.0020.0011.0002][.0000.0038.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F FF70 ; [.32D5.0020.0011.0002][.0000.0038.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307D 30FC ; [.32D5.0020.0011.0001][.0000.0038.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 309A 30FC ; [.32D5.0020.0011.0001][.0000.0038.0002][.32BC.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E2 30FC ; [.32DA.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 30FC ; [.32DA.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 FF70 ; [.32DA.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3082 30FC ; [.32DA.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E7 30FC ; [.32DE.0020.000F.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E 30FC ; [.32DE.0020.000F.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E FF70 ; [.32DE.0020.000F.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3087 30FC ; [.32DE.0020.000F.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E8 30FC ; [.32DE.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 30FC ; [.32DE.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 FF70 ; [.32DE.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3088 30FC ; [.32DE.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30ED 30FC ; [.32E3.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B 30FC ; [.32E3.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B FF70 ; [.32E3.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308D 30FC ; [.32E3.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 30FC ; [.32E7.0020.0011.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 30FC ; [.32E7.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF70 ; [.32E7.0020.0011.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3092 30FC ; [.32E7.0020.0011.0001][.32BC.0020.0007.0002] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30FA 30FC ; [.32E7.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 3099 30FC ; [.32E7.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E 30FC ; [.32E7.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E FF70 ; [.32E7.0020.0011.0002][.0000.0037.0002][.32BC.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F3 30FC ; [.32CB.0020.000F][.32BC.0020.0007.0002] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F9 30FC ; [.32D5.0020.000F][.32BC.0020.0007.0002] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FF 30FC ; [.32E3.0020.000F][.32BC.0020.0007.0002] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A1 30FD ; [.32B7.0020.000F.0002][.32B7.0020.0010.0002] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+FF67 30FD ; [.32B7.0020.000F.0002][.32B7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+3041 309D ; [.32B7.0020.000F.0001][.32B7.0020.0010.0002] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
+30A2 30FD ; [.32B7.0020.0011.0002][.32B7.0020.0010.0002] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
+FF71 30FD ; [.32B7.0020.0011.0002][.32B7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
+3042 309D ; [.32B7.0020.0011.0001][.32B7.0020.0010.0002] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
+30A3 30FD ; [.32B8.0020.000F.0002][.32B8.0020.0010.0002] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+FF68 30FD ; [.32B8.0020.000F.0002][.32B8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+3043 309D ; [.32B8.0020.000F.0001][.32B8.0020.0010.0002] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
+30A4 30FD ; [.32B8.0020.0011.0002][.32B8.0020.0010.0002] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
+FF72 30FD ; [.32B8.0020.0011.0002][.32B8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
+3044 309D ; [.32B8.0020.0011.0001][.32B8.0020.0010.0002] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
+30A5 30FD ; [.32B9.0020.000F.0002][.32B9.0020.0010.0002] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+FF69 30FD ; [.32B9.0020.000F.0002][.32B9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+3045 309D ; [.32B9.0020.000F.0001][.32B9.0020.0010.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
+30A5 30FE ; [.32B9.0020.000F.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+FF69 30FE ; [.32B9.0020.000F.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+3045 309E ; [.32B9.0020.000F.0001][.32B9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
+30A6 30FD ; [.32B9.0020.0011.0002][.32B9.0020.0010.0002] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
+FF73 30FD ; [.32B9.0020.0011.0002][.32B9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
+3046 309D ; [.32B9.0020.0011.0001][.32B9.0020.0010.0002] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
+30A6 30FE ; [.32B9.0020.0011.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+FF73 30FE ; [.32B9.0020.0011.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+3046 309E ; [.32B9.0020.0011.0001][.32B9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
+30A7 30FD ; [.32BB.0020.000F.0002][.32BB.0020.0010.0002] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+FF6A 30FD ; [.32BB.0020.000F.0002][.32BB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+3047 309D ; [.32BB.0020.000F.0001][.32BB.0020.0010.0002] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
+30A8 30FD ; [.32BB.0020.0011.0002][.32BB.0020.0010.0002] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
+FF74 30FD ; [.32BB.0020.0011.0002][.32BB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
+3048 309D ; [.32BB.0020.0011.0001][.32BB.0020.0010.0002] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
+30A9 30FD ; [.32BC.0020.000F.0002][.32BC.0020.0010.0002] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+FF6B 30FD ; [.32BC.0020.000F.0002][.32BC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+3049 309D ; [.32BC.0020.000F.0001][.32BC.0020.0010.0002] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
+30AA 30FD ; [.32BC.0020.0011.0002][.32BC.0020.0010.0002] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
+FF75 30FD ; [.32BC.0020.0011.0002][.32BC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
+304A 309D ; [.32BC.0020.0011.0001][.32BC.0020.0010.0002] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
+30AB 30FD ; [.32BD.0020.0011.0002][.32BD.0020.0010.0002] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+FF76 30FD ; [.32BD.0020.0011.0002][.32BD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+304B 309D ; [.32BD.0020.0011.0001][.32BD.0020.0010.0002] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
+30AB 30FE ; [.32BD.0020.0011.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+FF76 30FE ; [.32BD.0020.0011.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+304B 309E ; [.32BD.0020.0011.0001][.32BD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
+30AC 30FD ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
+30AB 3099 30FD ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF76 FF9E 30FD ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304C 309D ; [.32BD.0020.0011.0001][.0000.0037.0002][.32BD.0020.0010.0002] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
+304B 3099 309D ; [.32BD.0020.0011.0001][.0000.0037.0002][.32BD.0020.0010.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AC 30FE ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
+30AB 3099 30FE ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF76 FF9E 30FE ; [.32BD.0020.0011.0002][.0000.0037.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304C 309E ; [.32BD.0020.0011.0001][.0000.0037.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
+304B 3099 309E ; [.32BD.0020.0011.0001][.0000.0037.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AD 30FD ; [.32BE.0020.0011.0002][.32BE.0020.0010.0002] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+FF77 30FD ; [.32BE.0020.0011.0002][.32BE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+304D 309D ; [.32BE.0020.0011.0001][.32BE.0020.0010.0002] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
+30AD 30FE ; [.32BE.0020.0011.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+FF77 30FE ; [.32BE.0020.0011.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+304D 309E ; [.32BE.0020.0011.0001][.32BE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
+30AE 30FD ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
+30AD 3099 30FD ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF77 FF9E 30FD ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304E 309D ; [.32BE.0020.0011.0001][.0000.0037.0002][.32BE.0020.0010.0002] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
+304D 3099 309D ; [.32BE.0020.0011.0001][.0000.0037.0002][.32BE.0020.0010.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AE 30FE ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
+30AD 3099 30FE ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF77 FF9E 30FE ; [.32BE.0020.0011.0002][.0000.0037.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304E 309E ; [.32BE.0020.0011.0001][.0000.0037.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
+304D 3099 309E ; [.32BE.0020.0011.0001][.0000.0037.0002][.32BE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AF 30FD ; [.32BF.0020.0011.0002][.32BF.0020.0010.0002] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+FF78 30FD ; [.32BF.0020.0011.0002][.32BF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+304F 309D ; [.32BF.0020.0011.0001][.32BF.0020.0010.0002] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
+30AF 30FE ; [.32BF.0020.0011.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+FF78 30FE ; [.32BF.0020.0011.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+304F 309E ; [.32BF.0020.0011.0001][.32BF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
+30B0 30FD ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
+30AF 3099 30FD ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF78 FF9E 30FD ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3050 309D ; [.32BF.0020.0011.0001][.0000.0037.0002][.32BF.0020.0010.0002] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
+304F 3099 309D ; [.32BF.0020.0011.0001][.0000.0037.0002][.32BF.0020.0010.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B0 30FE ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
+30AF 3099 30FE ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF78 FF9E 30FE ; [.32BF.0020.0011.0002][.0000.0037.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3050 309E ; [.32BF.0020.0011.0001][.0000.0037.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
+304F 3099 309E ; [.32BF.0020.0011.0001][.0000.0037.0002][.32BF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B1 30FD ; [.32C0.0020.0011.0002][.32C0.0020.0010.0002] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+FF79 30FD ; [.32C0.0020.0011.0002][.32C0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+3051 309D ; [.32C0.0020.0011.0001][.32C0.0020.0010.0002] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
+30B1 30FE ; [.32C0.0020.0011.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+FF79 30FE ; [.32C0.0020.0011.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+3051 309E ; [.32C0.0020.0011.0001][.32C0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
+30B2 30FD ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
+30B1 3099 30FD ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF79 FF9E 30FD ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3052 309D ; [.32C0.0020.0011.0001][.0000.0037.0002][.32C0.0020.0010.0002] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
+3051 3099 309D ; [.32C0.0020.0011.0001][.0000.0037.0002][.32C0.0020.0010.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B2 30FE ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
+30B1 3099 30FE ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF79 FF9E 30FE ; [.32C0.0020.0011.0002][.0000.0037.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3052 309E ; [.32C0.0020.0011.0001][.0000.0037.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
+3051 3099 309E ; [.32C0.0020.0011.0001][.0000.0037.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B3 30FD ; [.32C1.0020.0011.0002][.32C1.0020.0010.0002] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+FF7A 30FD ; [.32C1.0020.0011.0002][.32C1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+3053 309D ; [.32C1.0020.0011.0001][.32C1.0020.0010.0002] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
+30B3 30FE ; [.32C1.0020.0011.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+FF7A 30FE ; [.32C1.0020.0011.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+3053 309E ; [.32C1.0020.0011.0001][.32C1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
+30B4 30FD ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
+30B3 3099 30FD ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7A FF9E 30FD ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3054 309D ; [.32C1.0020.0011.0001][.0000.0037.0002][.32C1.0020.0010.0002] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
+3053 3099 309D ; [.32C1.0020.0011.0001][.0000.0037.0002][.32C1.0020.0010.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B4 30FE ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
+30B3 3099 30FE ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7A FF9E 30FE ; [.32C1.0020.0011.0002][.0000.0037.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3054 309E ; [.32C1.0020.0011.0001][.0000.0037.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
+3053 3099 309E ; [.32C1.0020.0011.0001][.0000.0037.0002][.32C1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B5 30FD ; [.32C2.0020.0011.0002][.32C2.0020.0010.0002] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+FF7B 30FD ; [.32C2.0020.0011.0002][.32C2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+3055 309D ; [.32C2.0020.0011.0001][.32C2.0020.0010.0002] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
+30B5 30FE ; [.32C2.0020.0011.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+FF7B 30FE ; [.32C2.0020.0011.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+3055 309E ; [.32C2.0020.0011.0001][.32C2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
+30B6 30FD ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
+30B5 3099 30FD ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7B FF9E 30FD ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3056 309D ; [.32C2.0020.0011.0001][.0000.0037.0002][.32C2.0020.0010.0002] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
+3055 3099 309D ; [.32C2.0020.0011.0001][.0000.0037.0002][.32C2.0020.0010.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B6 30FE ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
+30B5 3099 30FE ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7B FF9E 30FE ; [.32C2.0020.0011.0002][.0000.0037.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3056 309E ; [.32C2.0020.0011.0001][.0000.0037.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
+3055 3099 309E ; [.32C2.0020.0011.0001][.0000.0037.0002][.32C2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B7 30FD ; [.32C3.0020.0011.0002][.32C3.0020.0010.0002] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+FF7C 30FD ; [.32C3.0020.0011.0002][.32C3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+3057 309D ; [.32C3.0020.0011.0001][.32C3.0020.0010.0002] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
+30B7 30FE ; [.32C3.0020.0011.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+FF7C 30FE ; [.32C3.0020.0011.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+3057 309E ; [.32C3.0020.0011.0001][.32C3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
+30B8 30FD ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
+30B7 3099 30FD ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7C FF9E 30FD ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3058 309D ; [.32C3.0020.0011.0001][.0000.0037.0002][.32C3.0020.0010.0002] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
+3057 3099 309D ; [.32C3.0020.0011.0001][.0000.0037.0002][.32C3.0020.0010.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B8 30FE ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
+30B7 3099 30FE ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7C FF9E 30FE ; [.32C3.0020.0011.0002][.0000.0037.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3058 309E ; [.32C3.0020.0011.0001][.0000.0037.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
+3057 3099 309E ; [.32C3.0020.0011.0001][.0000.0037.0002][.32C3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B9 30FD ; [.32C4.0020.0011.0002][.32C4.0020.0010.0002] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+FF7D 30FD ; [.32C4.0020.0011.0002][.32C4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+3059 309D ; [.32C4.0020.0011.0001][.32C4.0020.0010.0002] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
+30B9 30FE ; [.32C4.0020.0011.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+FF7D 30FE ; [.32C4.0020.0011.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+3059 309E ; [.32C4.0020.0011.0001][.32C4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
+30BA 30FD ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
+30B9 3099 30FD ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7D FF9E 30FD ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305A 309D ; [.32C4.0020.0011.0001][.0000.0037.0002][.32C4.0020.0010.0002] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
+3059 3099 309D ; [.32C4.0020.0011.0001][.0000.0037.0002][.32C4.0020.0010.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BA 30FE ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
+30B9 3099 30FE ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7D FF9E 30FE ; [.32C4.0020.0011.0002][.0000.0037.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305A 309E ; [.32C4.0020.0011.0001][.0000.0037.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
+3059 3099 309E ; [.32C4.0020.0011.0001][.0000.0037.0002][.32C4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BB 30FD ; [.32C5.0020.0011.0002][.32C5.0020.0010.0002] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+FF7E 30FD ; [.32C5.0020.0011.0002][.32C5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+305B 309D ; [.32C5.0020.0011.0001][.32C5.0020.0010.0002] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
+30BB 30FE ; [.32C5.0020.0011.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+FF7E 30FE ; [.32C5.0020.0011.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+305B 309E ; [.32C5.0020.0011.0001][.32C5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
+30BC 30FD ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
+30BB 3099 30FD ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7E FF9E 30FD ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305C 309D ; [.32C5.0020.0011.0001][.0000.0037.0002][.32C5.0020.0010.0002] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
+305B 3099 309D ; [.32C5.0020.0011.0001][.0000.0037.0002][.32C5.0020.0010.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BC 30FE ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
+30BB 3099 30FE ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7E FF9E 30FE ; [.32C5.0020.0011.0002][.0000.0037.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305C 309E ; [.32C5.0020.0011.0001][.0000.0037.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
+305B 3099 309E ; [.32C5.0020.0011.0001][.0000.0037.0002][.32C5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BD 30FD ; [.32C6.0020.0011.0002][.32C6.0020.0010.0002] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+FF7F 30FD ; [.32C6.0020.0011.0002][.32C6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+305D 309D ; [.32C6.0020.0011.0001][.32C6.0020.0010.0002] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
+30BD 30FE ; [.32C6.0020.0011.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+FF7F 30FE ; [.32C6.0020.0011.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+305D 309E ; [.32C6.0020.0011.0001][.32C6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
+30BE 30FD ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
+30BD 3099 30FD ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7F FF9E 30FD ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305E 309D ; [.32C6.0020.0011.0001][.0000.0037.0002][.32C6.0020.0010.0002] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
+305D 3099 309D ; [.32C6.0020.0011.0001][.0000.0037.0002][.32C6.0020.0010.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BE 30FE ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
+30BD 3099 30FE ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7F FF9E 30FE ; [.32C6.0020.0011.0002][.0000.0037.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305E 309E ; [.32C6.0020.0011.0001][.0000.0037.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
+305D 3099 309E ; [.32C6.0020.0011.0001][.0000.0037.0002][.32C6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BF 30FD ; [.32C7.0020.0011.0002][.32C7.0020.0010.0002] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+FF80 30FD ; [.32C7.0020.0011.0002][.32C7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+305F 309D ; [.32C7.0020.0011.0001][.32C7.0020.0010.0002] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
+30BF 30FE ; [.32C7.0020.0011.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+FF80 30FE ; [.32C7.0020.0011.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+305F 309E ; [.32C7.0020.0011.0001][.32C7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
+30C0 30FD ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
+30BF 3099 30FD ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF80 FF9E 30FD ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3060 309D ; [.32C7.0020.0011.0001][.0000.0037.0002][.32C7.0020.0010.0002] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
+305F 3099 309D ; [.32C7.0020.0011.0001][.0000.0037.0002][.32C7.0020.0010.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C0 30FE ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
+30BF 3099 30FE ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF80 FF9E 30FE ; [.32C7.0020.0011.0002][.0000.0037.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3060 309E ; [.32C7.0020.0011.0001][.0000.0037.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
+305F 3099 309E ; [.32C7.0020.0011.0001][.0000.0037.0002][.32C7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C1 30FD ; [.32C8.0020.0011.0002][.32C8.0020.0010.0002] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+FF81 30FD ; [.32C8.0020.0011.0002][.32C8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+3061 309D ; [.32C8.0020.0011.0001][.32C8.0020.0010.0002] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
+30C1 30FE ; [.32C8.0020.0011.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+FF81 30FE ; [.32C8.0020.0011.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+3061 309E ; [.32C8.0020.0011.0001][.32C8.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
+30C2 30FD ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
+30C1 3099 30FD ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF81 FF9E 30FD ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3062 309D ; [.32C8.0020.0011.0001][.0000.0037.0002][.32C8.0020.0010.0002] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
+3061 3099 309D ; [.32C8.0020.0011.0001][.0000.0037.0002][.32C8.0020.0010.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C2 30FE ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
+30C1 3099 30FE ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF81 FF9E 30FE ; [.32C8.0020.0011.0002][.0000.0037.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3062 309E ; [.32C8.0020.0011.0001][.0000.0037.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
+3061 3099 309E ; [.32C8.0020.0011.0001][.0000.0037.0002][.32C8.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C3 30FD ; [.32C9.0020.000F.0002][.32C9.0020.0010.0002] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+FF6F 30FD ; [.32C9.0020.000F.0002][.32C9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+3063 309D ; [.32C9.0020.000F.0001][.32C9.0020.0010.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
+30C3 30FE ; [.32C9.0020.000F.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+FF6F 30FE ; [.32C9.0020.000F.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+3063 309E ; [.32C9.0020.000F.0001][.32C9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
+30C4 30FD ; [.32C9.0020.0011.0002][.32C9.0020.0010.0002] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+FF82 30FD ; [.32C9.0020.0011.0002][.32C9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+3064 309D ; [.32C9.0020.0011.0001][.32C9.0020.0010.0002] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
+30C4 30FE ; [.32C9.0020.0011.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+FF82 30FE ; [.32C9.0020.0011.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+3064 309E ; [.32C9.0020.0011.0001][.32C9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
+30C5 30FD ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
+30C4 3099 30FD ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF82 FF9E 30FD ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3065 309D ; [.32C9.0020.0011.0001][.0000.0037.0002][.32C9.0020.0010.0002] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
+3064 3099 309D ; [.32C9.0020.0011.0001][.0000.0037.0002][.32C9.0020.0010.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C5 30FE ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
+30C4 3099 30FE ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF82 FF9E 30FE ; [.32C9.0020.0011.0002][.0000.0037.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3065 309E ; [.32C9.0020.0011.0001][.0000.0037.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
+3064 3099 309E ; [.32C9.0020.0011.0001][.0000.0037.0002][.32C9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C6 30FD ; [.32CA.0020.0011.0002][.32CA.0020.0010.0002] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+FF83 30FD ; [.32CA.0020.0011.0002][.32CA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+3066 309D ; [.32CA.0020.0011.0001][.32CA.0020.0010.0002] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
+30C6 30FE ; [.32CA.0020.0011.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+FF83 30FE ; [.32CA.0020.0011.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+3066 309E ; [.32CA.0020.0011.0001][.32CA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
+30C7 30FD ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
+30C6 3099 30FD ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF83 FF9E 30FD ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3067 309D ; [.32CA.0020.0011.0001][.0000.0037.0002][.32CA.0020.0010.0002] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
+3066 3099 309D ; [.32CA.0020.0011.0001][.0000.0037.0002][.32CA.0020.0010.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C7 30FE ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
+30C6 3099 30FE ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF83 FF9E 30FE ; [.32CA.0020.0011.0002][.0000.0037.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3067 309E ; [.32CA.0020.0011.0001][.0000.0037.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
+3066 3099 309E ; [.32CA.0020.0011.0001][.0000.0037.0002][.32CA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C8 30FD ; [.32CB.0020.0011.0002][.32CB.0020.0010.0002] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+FF84 30FD ; [.32CB.0020.0011.0002][.32CB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+3068 309D ; [.32CB.0020.0011.0001][.32CB.0020.0010.0002] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
+30C8 30FE ; [.32CB.0020.0011.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+FF84 30FE ; [.32CB.0020.0011.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+3068 309E ; [.32CB.0020.0011.0001][.32CB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
+30C9 30FD ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
+30C8 3099 30FD ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF84 FF9E 30FD ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3069 309D ; [.32CB.0020.0011.0001][.0000.0037.0002][.32CB.0020.0010.0002] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
+3068 3099 309D ; [.32CB.0020.0011.0001][.0000.0037.0002][.32CB.0020.0010.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C9 30FE ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
+30C8 3099 30FE ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF84 FF9E 30FE ; [.32CB.0020.0011.0002][.0000.0037.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3069 309E ; [.32CB.0020.0011.0001][.0000.0037.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
+3068 3099 309E ; [.32CB.0020.0011.0001][.0000.0037.0002][.32CB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30CA 30FD ; [.32CC.0020.0011.0002][.32CC.0020.0010.0002] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+FF85 30FD ; [.32CC.0020.0011.0002][.32CC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+306A 309D ; [.32CC.0020.0011.0001][.32CC.0020.0010.0002] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
+30CB 30FD ; [.32CD.0020.0011.0002][.32CD.0020.0010.0002] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+FF86 30FD ; [.32CD.0020.0011.0002][.32CD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+306B 309D ; [.32CD.0020.0011.0001][.32CD.0020.0010.0002] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
+30CC 30FD ; [.32CE.0020.0011.0002][.32CE.0020.0010.0002] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+FF87 30FD ; [.32CE.0020.0011.0002][.32CE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+306C 309D ; [.32CE.0020.0011.0001][.32CE.0020.0010.0002] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
+30CD 30FD ; [.32CF.0020.0011.0002][.32CF.0020.0010.0002] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+FF88 30FD ; [.32CF.0020.0011.0002][.32CF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+306D 309D ; [.32CF.0020.0011.0001][.32CF.0020.0010.0002] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
+30CE 30FD ; [.32D0.0020.0011.0002][.32D0.0020.0010.0002] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+FF89 30FD ; [.32D0.0020.0011.0002][.32D0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+306E 309D ; [.32D0.0020.0011.0001][.32D0.0020.0010.0002] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
+30CF 30FD ; [.32D1.0020.0011.0002][.32D1.0020.0010.0002] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+FF8A 30FD ; [.32D1.0020.0011.0002][.32D1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+306F 309D ; [.32D1.0020.0011.0001][.32D1.0020.0010.0002] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
+30CF 30FE ; [.32D1.0020.0011.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+FF8A 30FE ; [.32D1.0020.0011.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+306F 309E ; [.32D1.0020.0011.0001][.32D1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
+30D0 30FD ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
+30CF 3099 30FD ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9E 30FD ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3070 309D ; [.32D1.0020.0011.0001][.0000.0037.0002][.32D1.0020.0010.0002] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
+306F 3099 309D ; [.32D1.0020.0011.0001][.0000.0037.0002][.32D1.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D0 30FE ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
+30CF 3099 30FE ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9E 30FE ; [.32D1.0020.0011.0002][.0000.0037.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3070 309E ; [.32D1.0020.0011.0001][.0000.0037.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
+306F 3099 309E ; [.32D1.0020.0011.0001][.0000.0037.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D1 30FD ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
+30CF 309A 30FD ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9F 30FD ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3071 309D ; [.32D1.0020.0011.0001][.0000.0038.0002][.32D1.0020.0010.0002] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
+306F 309A 309D ; [.32D1.0020.0011.0001][.0000.0038.0002][.32D1.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D1 30FE ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
+30CF 309A 30FE ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9F 30FE ; [.32D1.0020.0011.0002][.0000.0038.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3071 309E ; [.32D1.0020.0011.0001][.0000.0038.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
+306F 309A 309E ; [.32D1.0020.0011.0001][.0000.0038.0002][.32D1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D2 30FD ; [.32D2.0020.0011.0002][.32D2.0020.0010.0002] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+FF8B 30FD ; [.32D2.0020.0011.0002][.32D2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+3072 309D ; [.32D2.0020.0011.0001][.32D2.0020.0010.0002] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
+30D2 30FE ; [.32D2.0020.0011.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+FF8B 30FE ; [.32D2.0020.0011.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+3072 309E ; [.32D2.0020.0011.0001][.32D2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
+30D3 30FD ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
+30D2 3099 30FD ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9E 30FD ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3073 309D ; [.32D2.0020.0011.0001][.0000.0037.0002][.32D2.0020.0010.0002] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
+3072 3099 309D ; [.32D2.0020.0011.0001][.0000.0037.0002][.32D2.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D3 30FE ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
+30D2 3099 30FE ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9E 30FE ; [.32D2.0020.0011.0002][.0000.0037.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3073 309E ; [.32D2.0020.0011.0001][.0000.0037.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
+3072 3099 309E ; [.32D2.0020.0011.0001][.0000.0037.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D4 30FD ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
+30D2 309A 30FD ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9F 30FD ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3074 309D ; [.32D2.0020.0011.0001][.0000.0038.0002][.32D2.0020.0010.0002] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
+3072 309A 309D ; [.32D2.0020.0011.0001][.0000.0038.0002][.32D2.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D4 30FE ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
+30D2 309A 30FE ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9F 30FE ; [.32D2.0020.0011.0002][.0000.0038.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3074 309E ; [.32D2.0020.0011.0001][.0000.0038.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
+3072 309A 309E ; [.32D2.0020.0011.0001][.0000.0038.0002][.32D2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D5 30FD ; [.32D3.0020.0011.0002][.32D3.0020.0010.0002] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+FF8C 30FD ; [.32D3.0020.0011.0002][.32D3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+3075 309D ; [.32D3.0020.0011.0001][.32D3.0020.0010.0002] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
+30D5 30FE ; [.32D3.0020.0011.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+FF8C 30FE ; [.32D3.0020.0011.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+3075 309E ; [.32D3.0020.0011.0001][.32D3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
+30D6 30FD ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
+30D5 3099 30FD ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9E 30FD ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3076 309D ; [.32D3.0020.0011.0001][.0000.0037.0002][.32D3.0020.0010.0002] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
+3075 3099 309D ; [.32D3.0020.0011.0001][.0000.0037.0002][.32D3.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D6 30FE ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
+30D5 3099 30FE ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9E 30FE ; [.32D3.0020.0011.0002][.0000.0037.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3076 309E ; [.32D3.0020.0011.0001][.0000.0037.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
+3075 3099 309E ; [.32D3.0020.0011.0001][.0000.0037.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D7 30FD ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
+30D5 309A 30FD ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9F 30FD ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3077 309D ; [.32D3.0020.0011.0001][.0000.0038.0002][.32D3.0020.0010.0002] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
+3075 309A 309D ; [.32D3.0020.0011.0001][.0000.0038.0002][.32D3.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D7 30FE ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
+30D5 309A 30FE ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9F 30FE ; [.32D3.0020.0011.0002][.0000.0038.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3077 309E ; [.32D3.0020.0011.0001][.0000.0038.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
+3075 309A 309E ; [.32D3.0020.0011.0001][.0000.0038.0002][.32D3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D8 30FD ; [.32D4.0020.0011.0002][.32D4.0020.0010.0002] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+FF8D 30FD ; [.32D4.0020.0011.0002][.32D4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+3078 309D ; [.32D4.0020.0011.0001][.32D4.0020.0010.0002] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
+30D8 30FE ; [.32D4.0020.0011.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+FF8D 30FE ; [.32D4.0020.0011.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+3078 309E ; [.32D4.0020.0011.0001][.32D4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
+30D9 30FD ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
+30D8 3099 30FD ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9E 30FD ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3079 309D ; [.32D4.0020.0011.0001][.0000.0037.0002][.32D4.0020.0010.0002] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
+3078 3099 309D ; [.32D4.0020.0011.0001][.0000.0037.0002][.32D4.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D9 30FE ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
+30D8 3099 30FE ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9E 30FE ; [.32D4.0020.0011.0002][.0000.0037.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3079 309E ; [.32D4.0020.0011.0001][.0000.0037.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
+3078 3099 309E ; [.32D4.0020.0011.0001][.0000.0037.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DA 30FD ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
+30D8 309A 30FD ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9F 30FD ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307A 309D ; [.32D4.0020.0011.0001][.0000.0038.0002][.32D4.0020.0010.0002] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
+3078 309A 309D ; [.32D4.0020.0011.0001][.0000.0038.0002][.32D4.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DA 30FE ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
+30D8 309A 30FE ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9F 30FE ; [.32D4.0020.0011.0002][.0000.0038.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307A 309E ; [.32D4.0020.0011.0001][.0000.0038.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
+3078 309A 309E ; [.32D4.0020.0011.0001][.0000.0038.0002][.32D4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DB 30FD ; [.32D5.0020.0011.0002][.32D5.0020.0010.0002] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+FF8E 30FD ; [.32D5.0020.0011.0002][.32D5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+307B 309D ; [.32D5.0020.0011.0001][.32D5.0020.0010.0002] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
+30DB 30FE ; [.32D5.0020.0011.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+FF8E 30FE ; [.32D5.0020.0011.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+307B 309E ; [.32D5.0020.0011.0001][.32D5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
+30DC 30FD ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
+30DB 3099 30FD ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9E 30FD ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307C 309D ; [.32D5.0020.0011.0001][.0000.0037.0002][.32D5.0020.0010.0002] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
+307B 3099 309D ; [.32D5.0020.0011.0001][.0000.0037.0002][.32D5.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DC 30FE ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
+30DB 3099 30FE ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9E 30FE ; [.32D5.0020.0011.0002][.0000.0037.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307C 309E ; [.32D5.0020.0011.0001][.0000.0037.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
+307B 3099 309E ; [.32D5.0020.0011.0001][.0000.0037.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DD 30FD ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
+30DB 309A 30FD ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9F 30FD ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307D 309D ; [.32D5.0020.0011.0001][.0000.0038.0002][.32D5.0020.0010.0002] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
+307B 309A 309D ; [.32D5.0020.0011.0001][.0000.0038.0002][.32D5.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DD 30FE ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
+30DB 309A 30FE ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9F 30FE ; [.32D5.0020.0011.0002][.0000.0038.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307D 309E ; [.32D5.0020.0011.0001][.0000.0038.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
+307B 309A 309E ; [.32D5.0020.0011.0001][.0000.0038.0002][.32D5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DE 30FD ; [.32D6.0020.0011.0002][.32D6.0020.0010.0002] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+FF8F 30FD ; [.32D6.0020.0011.0002][.32D6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+307E 309D ; [.32D6.0020.0011.0001][.32D6.0020.0010.0002] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
+30DF 30FD ; [.32D7.0020.0011.0002][.32D7.0020.0010.0002] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+FF90 30FD ; [.32D7.0020.0011.0002][.32D7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+307F 309D ; [.32D7.0020.0011.0001][.32D7.0020.0010.0002] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
+30E0 30FD ; [.32D8.0020.0011.0002][.32D8.0020.0010.0002] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+FF91 30FD ; [.32D8.0020.0011.0002][.32D8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+3080 309D ; [.32D8.0020.0011.0001][.32D8.0020.0010.0002] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
+30E1 30FD ; [.32D9.0020.0011.0002][.32D9.0020.0010.0002] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+FF92 30FD ; [.32D9.0020.0011.0002][.32D9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+3081 309D ; [.32D9.0020.0011.0001][.32D9.0020.0010.0002] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
+30E2 30FD ; [.32DA.0020.0011.0002][.32DA.0020.0010.0002] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+FF93 30FD ; [.32DA.0020.0011.0002][.32DA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+3082 309D ; [.32DA.0020.0011.0001][.32DA.0020.0010.0002] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
+30E3 30FD ; [.32DB.0020.000F.0002][.32DB.0020.0010.0002] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+FF6C 30FD ; [.32DB.0020.000F.0002][.32DB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+3083 309D ; [.32DB.0020.000F.0001][.32DB.0020.0010.0002] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
+30E4 30FD ; [.32DB.0020.0011.0002][.32DB.0020.0010.0002] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+FF94 30FD ; [.32DB.0020.0011.0002][.32DB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+3084 309D ; [.32DB.0020.0011.0001][.32DB.0020.0010.0002] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
+30E5 30FD ; [.32DC.0020.000F.0002][.32DC.0020.0010.0002] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+FF6D 30FD ; [.32DC.0020.000F.0002][.32DC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+3085 309D ; [.32DC.0020.000F.0001][.32DC.0020.0010.0002] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
+30E6 30FD ; [.32DC.0020.0011.0002][.32DC.0020.0010.0002] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+FF95 30FD ; [.32DC.0020.0011.0002][.32DC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+3086 309D ; [.32DC.0020.0011.0001][.32DC.0020.0010.0002] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
+30E7 30FD ; [.32DE.0020.000F.0002][.32DE.0020.0010.0002] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+FF6E 30FD ; [.32DE.0020.000F.0002][.32DE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+3087 309D ; [.32DE.0020.000F.0001][.32DE.0020.0010.0002] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
+30E8 30FD ; [.32DE.0020.0011.0002][.32DE.0020.0010.0002] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+FF96 30FD ; [.32DE.0020.0011.0002][.32DE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+3088 309D ; [.32DE.0020.0011.0001][.32DE.0020.0010.0002] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
+30E9 30FD ; [.32DF.0020.0011.0002][.32DF.0020.0010.0002] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+FF97 30FD ; [.32DF.0020.0011.0002][.32DF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+3089 309D ; [.32DF.0020.0011.0001][.32DF.0020.0010.0002] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
+30EA 30FD ; [.32E0.0020.0011.0002][.32E0.0020.0010.0002] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+FF98 30FD ; [.32E0.0020.0011.0002][.32E0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+308A 309D ; [.32E0.0020.0011.0001][.32E0.0020.0010.0002] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
+30EB 30FD ; [.32E1.0020.0011.0002][.32E1.0020.0010.0002] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+FF99 30FD ; [.32E1.0020.0011.0002][.32E1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+308B 309D ; [.32E1.0020.0011.0001][.32E1.0020.0010.0002] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
+30EC 30FD ; [.32E2.0020.0011.0002][.32E2.0020.0010.0002] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+FF9A 30FD ; [.32E2.0020.0011.0002][.32E2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+308C 309D ; [.32E2.0020.0011.0001][.32E2.0020.0010.0002] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
+30ED 30FD ; [.32E3.0020.0011.0002][.32E3.0020.0010.0002] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+FF9B 30FD ; [.32E3.0020.0011.0002][.32E3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+308D 309D ; [.32E3.0020.0011.0001][.32E3.0020.0010.0002] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
+30EE 30FD ; [.32E4.0020.000F.0002][.32E4.0020.0010.0002] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
+308E 309D ; [.32E4.0020.000F.0001][.32E4.0020.0010.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
+30EE 30FE ; [.32E4.0020.000F.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
+308E 309E ; [.32E4.0020.000F.0001][.32E4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
+30EF 30FD ; [.32E4.0020.0011.0002][.32E4.0020.0010.0002] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+FF9C 30FD ; [.32E4.0020.0011.0002][.32E4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+308F 309D ; [.32E4.0020.0011.0001][.32E4.0020.0010.0002] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
+30EF 30FE ; [.32E4.0020.0011.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+FF9C 30FE ; [.32E4.0020.0011.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+308F 309E ; [.32E4.0020.0011.0001][.32E4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
+30F0 30FD ; [.32E5.0020.0011.0002][.32E5.0020.0010.0002] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
+3090 309D ; [.32E5.0020.0011.0001][.32E5.0020.0010.0002] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
+30F0 30FE ; [.32E5.0020.0011.0002][.32E5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
+3090 309E ; [.32E5.0020.0011.0001][.32E5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
+30F1 30FD ; [.32E6.0020.0011.0002][.32E6.0020.0010.0002] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
+3091 309D ; [.32E6.0020.0011.0001][.32E6.0020.0010.0002] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
+30F1 30FE ; [.32E6.0020.0011.0002][.32E6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
+3091 309E ; [.32E6.0020.0011.0001][.32E6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
+30F2 30FD ; [.32E7.0020.0011.0002][.32E7.0020.0010.0002] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+FF66 30FD ; [.32E7.0020.0011.0002][.32E7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+3092 309D ; [.32E7.0020.0011.0001][.32E7.0020.0010.0002] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
+30F2 30FE ; [.32E7.0020.0011.0002][.32E7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+FF66 30FE ; [.32E7.0020.0011.0002][.32E7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+3092 309E ; [.32E7.0020.0011.0001][.32E7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
+30F3 30FD ; [.32E8.0020.0011.0002][.32E8.0020.0010.0002] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
+FF9D 30FD ; [.32E8.0020.0011.0002][.32E8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
+3093 309D ; [.32E8.0020.0011.0001][.32E8.0020.0010.0002] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
+30F4 30FD ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
+30A6 3099 30FD ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF73 FF9E 30FD ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3094 309D ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0010.0002] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
+3046 3099 309D ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0010.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30F4 30FE ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
+30A6 3099 30FE ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF73 FF9E 30FE ; [.32B9.0020.0011.0002][.0000.0037.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3094 309E ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
+3046 3099 309E ; [.32B9.0020.0011.0001][.0000.0037.0002][.32B9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30F5 30FD ; [.32BD.0020.000F.0002][.32BD.0020.0010.0002] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
+3095 309D ; [.32BD.0020.000F.0001][.32BD.0020.0010.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
+30F5 30FE ; [.32BD.0020.000F.0002][.32BD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
+3095 309E ; [.32BD.0020.000F.0001][.32BD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
+30F6 30FD ; [.32C0.0020.000F.0002][.32C0.0020.0010.0002] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
+3096 309D ; [.32C0.0020.000F.0001][.32C0.0020.0010.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
+30F6 30FE ; [.32C0.0020.000F.0002][.32C0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
+3096 309E ; [.32C0.0020.000F.0001][.32C0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
+30F7 30FD ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
+30EF 3099 30FD ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF9C FF9E 30FD ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F7 30FE ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
+30EF 3099 30FE ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF9C FF9E 30FE ; [.32E4.0020.0011.0002][.0000.0037.0002][.32E4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F8 30FD ; [.32E5.0020.0011.0002][.0000.0037.0002][.32E5.0020.0010.0002] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
+30F0 3099 30FD ; [.32E5.0020.0011.0002][.0000.0037.0002][.32E5.0020.0010.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F8 30FE ; [.32E5.0020.0011.0002][.0000.0037.0002][.32E5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
+30F0 3099 30FE ; [.32E5.0020.0011.0002][.0000.0037.0002][.32E5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F9 30FD ; [.32E6.0020.0011.0002][.0000.0037.0002][.32E6.0020.0010.0002] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
+30F1 3099 30FD ; [.32E6.0020.0011.0002][.0000.0037.0002][.32E6.0020.0010.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F9 30FE ; [.32E6.0020.0011.0002][.0000.0037.0002][.32E6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
+30F1 3099 30FE ; [.32E6.0020.0011.0002][.0000.0037.0002][.32E6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30FA 30FD ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
+30F2 3099 30FD ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF66 FF9E 30FD ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30FA 30FE ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
+30F2 3099 30FE ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF66 FF9E 30FE ; [.32E7.0020.0011.0002][.0000.0037.0002][.32E7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+31F0 30FD ; [.32BF.0020.000F][.32BF.0020.0010.0002] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
+31F0 30FE ; [.32BF.0020.000F][.32BF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
+31F1 30FD ; [.32C3.0020.000F][.32C3.0020.0010.0002] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
+31F1 30FE ; [.32C3.0020.000F][.32C3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
+31F2 30FD ; [.32C4.0020.000F][.32C4.0020.0010.0002] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
+31F2 30FE ; [.32C4.0020.000F][.32C4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
+31F3 30FD ; [.32CB.0020.000F][.32CB.0020.0010.0002] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
+31F3 30FE ; [.32CB.0020.000F][.32CB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
+31F4 30FD ; [.32CE.0020.000F][.32CE.0020.0010.0002] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
+31F5 30FD ; [.32D1.0020.000F][.32D1.0020.0010.0002] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
+31F5 30FE ; [.32D1.0020.000F][.32D1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
+31F6 30FD ; [.32D2.0020.000F][.32D2.0020.0010.0002] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
+31F6 30FE ; [.32D2.0020.000F][.32D2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
+31F7 30FD ; [.32D3.0020.000F][.32D3.0020.0010.0002] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
+31F7 30FE ; [.32D3.0020.000F][.32D3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
+31F8 30FD ; [.32D4.0020.000F][.32D4.0020.0010.0002] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
+31F8 30FE ; [.32D4.0020.000F][.32D4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
+31F9 30FD ; [.32D5.0020.000F][.32D5.0020.0010.0002] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
+31F9 30FE ; [.32D5.0020.000F][.32D5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
+31FA 30FD ; [.32D8.0020.000F][.32D8.0020.0010.0002] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
+31FB 30FD ; [.32DF.0020.000F][.32DF.0020.0010.0002] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
+31FC 30FD ; [.32E0.0020.000F][.32E0.0020.0010.0002] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
+31FD 30FD ; [.32E1.0020.000F][.32E1.0020.0010.0002] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
+31FE 30FD ; [.32E2.0020.000F][.32E2.0020.0010.0002] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
+31FF 30FD ; [.32E3.0020.000F][.32E3.0020.0010.0002] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+F967 ; [.8961.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.89AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.828D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.81B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.8709.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.8BA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.8B1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.8B1F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.84DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.8B44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D ; [.8BC8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.8B46.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.897B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.897B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965 ; [.89C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4 ; [.8B34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809 ; [.8926.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.8699.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8B20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.866B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.866B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8C0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.84E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.8A6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.8A6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.8C0F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72 ; [.8651.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.8C12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.8B7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8284.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.8C15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.83D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8A0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.8C1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.856C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.8C1F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.87F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.8C29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.8C29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8B47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.8C2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.8B22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.98D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+2F81D ; [.8C33.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.85B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.8B56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.8AFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.8432.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.839C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.815D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F9C7 ; [.8B10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.8B32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8B57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.8AAB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8AAB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.89C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.89C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.9789.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.8C59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.8263.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.8263.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.8C5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.84A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.84A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.89DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.8C62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.8A15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.8A15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.8832.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.8C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.890B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.890B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.88BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.86A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.8AF6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.823D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.823D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.823D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.8C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.820F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.8C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.827A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.823E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.847F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE ; [.8AFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.8C97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.8210.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.8B65.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.879F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.84C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.8CA8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8055.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.87F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.82AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844 ; [.8CC0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.864E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.864E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.8CD7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.8CCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.8CCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.815E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.815E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.81FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA37 ; [.870B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.870B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.81C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.8999.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.8D08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.8D12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.82B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.856E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.8580.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857 ; [.89DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39 ; [.89A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.8784.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.8784.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.83D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.8A18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D ; [.899A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.8D4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.8D4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.8671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.88B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.8792.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85D ; [.86BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.8A5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.809F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8853.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.82B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8A24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.8D66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.851C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+FA80 ; [.8D83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.8965.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F86A ; [.8D99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.8D99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.86EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.8DAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+F95F ; [.887C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.887C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.887C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.8B23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.8DBA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.84BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.8530.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.8DC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.8873.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.87E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+FA3B ; [.8675.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.8AFF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.8DCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.8DCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+F9D5 ; [.8DEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921 ; [.8AF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB ; [.8B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.8509.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F884 ; [.8700.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886 ; [.8A02.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.8880.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.87EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88D ; [.8513.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.8B5A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.8B6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.8B6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B ; [.8140.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982 ; [.8E30.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.8E36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.8B6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874 ; [.880B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.82B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.83D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.875D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.8B0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.8989.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.8E5A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.8877.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.843F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8881.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.87F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.8B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.82B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.8E80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.8114.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8114.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.884A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.8E95.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.8E8C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.8AA3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.8EAF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8465.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.835F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.835F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8596.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8596.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.812D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F ; [.869B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.869B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.869B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.8B5C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.899B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AC ; [.82EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+FA40 ; [.875F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.875F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.875F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.8ED5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.8ED5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.8EDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.85ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.8EE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.8EE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.86D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.89E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.8F09.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.8EFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.86EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8EF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973 ; [.84CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8903.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.8F12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.8495.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.8882.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.867A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8B0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.80A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.8F2B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.8F15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8C3 ; [.8A29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991 ; [.8883.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+FA41 ; [.895F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.895F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.8F64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.82BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.8F6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.8B24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.8B1C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.81D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.8036.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.8F89.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.85F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.85F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.8F94.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.8510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.8510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8A06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901 ; [.8366.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.8516.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.83D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.8B70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.8B70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.8B70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8A07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8A07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.8B00.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.84A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8576.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.8FB7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+2F8E0 ; [.8FC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.8B36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8A9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.829B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.8B25.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.88B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.88B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8B01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+F914 ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.9048.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931 ; [.8B67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.828E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.8AF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.8468.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.907B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+FA95 ; [.9080.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F970 ; [.840F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.840F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.840F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.8145.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.88F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972 ; [.8777.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.80A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8916.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.87BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.8AF1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8829.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.889A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.8B11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.8B11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.8B11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.836D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.8B73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.811D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.811D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.859C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.90D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.8B37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F9D6 ; [.90E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.90D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.8512.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.836E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.90E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.8B12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.87C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99 ; [.8469.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8469.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8163.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.8B74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.8198.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.8198.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.8B5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.8763.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.912F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.8AF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.913F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.9140.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.8847.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.8847.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835 ; [.811E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.83DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.914B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8713.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.8B58.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.9156.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.8B5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.8498.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8498.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.916F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.8B38.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.9178.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9179.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.917A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.84A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.84A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.8B75.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.83DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.88F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B ; [.8B76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.874F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.874F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.91AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.91B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.8B0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.8B0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.80C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.8B4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.91B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.8B02.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.8B13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.86F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.91C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.91C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+2F932 ; [.91CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA3 ; [.8103.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+F9CD ; [.8B14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.8B0F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.803A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.803A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.8B04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+FAA5 ; [.921B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.8B28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.922C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.8094.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.8094.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.85F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.924A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.854D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.9253.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.85A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.85A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.873E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A ; [.9263.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE ; [.8B15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.9281.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.9281.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.8919.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.928D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+F985 ; [.927A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.8B4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8499.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.81DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.844C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.8AB9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.8661.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8661.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.84F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.85A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.8550.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.92A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.80ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.87AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.898C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.898C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.92A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F956 ; [.8B2A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.839F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.839F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95B ; [.80D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.8840.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.8B0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.8157.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.8620.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.8620.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.930B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.8734.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.8B5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9312.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.8B16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.85F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.9341.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.8811.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.8B2B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A ; [.81DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.8940.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.8402.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.8B42.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.9360.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.935D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F957 ; [.801C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.9368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.8B60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.8B60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.8B60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.9380.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.9389.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.88FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A ; [.8515.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.8ED1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F ; [.8AEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF ; [.93C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.8066.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.8B78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.849B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.849B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.849B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.93E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.8B61.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.93EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.8B79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.8B7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.93F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8048.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.9409.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.942A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.8B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.84D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9433.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9433.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+FA6D ; [.81B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.8B2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.8051.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991 ; [.848E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.80F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.89F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8105.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.84AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.84AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.827F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F99C ; [.9478.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.873C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.8380.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D ; [.9493.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1 ; [.81FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.8270.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.83E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4 ; [.80F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.8936.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.8AF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.8ADA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.8751.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8751.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.8B62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+F9C2 ; [.94BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+F923 ; [.8AFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.94E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.94E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.8AFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.94E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.8209.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.8B1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.8B1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.94EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7 ; [.94F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911 ; [.8AEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08 ; [.8381.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.8040.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.8B59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.8B05.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8 ; [.8B06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.8AEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.8165.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.9576.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.9580.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.898F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.82FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.8454.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.8454.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.85FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+FAB9 ; [.876B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.8600.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.8B2D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.8B81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.8AA6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.8AA6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.8519.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.8519.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.86F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.86F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.8097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.8097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.8273.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.8273.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.8478.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.95E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.8F6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.8F6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.95ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.95F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.81AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.9608.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.8B69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.9607.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.895D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.869E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.869E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D7 ; [.81E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA ; [.9629.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.8B6A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902 ; [.849D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998 ; [.966D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.8B3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.8AA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.8AA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.966F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.967A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.8474.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.86FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.8B63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.804E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.804E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.96A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.8B2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.96AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+F92C ; [.8B7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26 ; [.87E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.8AF4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.96CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.8B07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.8B2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8275.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.8B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9EE ; [.8124.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9739.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6 ; [.974C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.9751.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.838C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8B30.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.8B09.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+F9DC ; [.8B17.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.8B3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.8B4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.9765.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA ; [.8B08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.8864.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.8864.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.8B50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938 ; [.8B6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.9781.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.8A9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.8A9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69 ; [.8254.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.8254.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.8B31.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A ; [.895E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.895E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.8B43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.81E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8902.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.845D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.81B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A ; [.97E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987 ; [.97FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+F939 ; [.8B66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2 ; [.8B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D ; [.8798.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.83F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9890.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.8476.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.8B52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.8B3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.8A2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.98A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.98B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1C ; [.892E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4 ; [.8B19.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907 ; [.98CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.98CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.98CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
index 234b9cde667..3473102b220 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
@@ -1,53 +1,53 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-0451 ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
-0435 0308 ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
-0401 ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
-0415 0308 ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
-04AF ; [.1ACE.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE ; [.1ACE.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
-0456 ; [.1B46.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406 ; [.1B46.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457 ; [.1B46.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1B46.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0451 ; [.19D6.0020.0002] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.19D6.0020.0002] # CYRILLIC SMALL LETTER IO
+0401 ; [.19D6.0020.0008] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.19D6.0020.0008] # CYRILLIC CAPITAL LETTER IO
+04AF ; [.1ACA.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE ; [.1ACA.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
+0456 ; [.1B42.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.1B42.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.1B42.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1B42.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
index bf0f293c089..08ac60efdcf 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
@@ -1,73 +1,75 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-0138 ; [.17AB.0021.0002.0138] # LATIN SMALL LETTER KRA
-004B 0027 ; [.17AB.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+0138 ; [.17A7.0021.0002] # LATIN SMALL LETTER KRA
+004B 0027 ; [.17A7.0021.0008] # <LATIN CAPITAL LETTER K, APOSTROPHE>
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1903.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1903.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl
index 3527fb2e7d1..00b0841b2f7 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl
@@ -1,10 +1,10 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0C82 ; [.21C7.0020.0002.0C82][.FFF1.0000.0000.0000] # KANNADA SIGN ANUSVARA
-0C83 ; [.21C7.0020.0002.0C83][.FFF2.0000.0000.0000] # KANNADA SIGN VISARGA
-0CF1 ; [.21C7.0020.0002.0CF1][.FFF3.0000.0000.0000] # KANNADA SIGN JIHVAMULIYA
-0CF2 ; [.21C7.0020.0002.0CF2][.FFF4.0000.0000.0000] # KANNADA SIGN UPADHMANIYA
-0C94 ; [.21C7.0020.0002.0C94][.FFF0.0000.0000.0000] # KANNADA LETTER AU
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0C82 ; [.21C3.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
+0C83 ; [.21C3.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
+0CF1 ; [.21C3.0020.0002][.FFF3.0000.0000] # KANNADA SIGN JIHVAMULIYA
+0CF2 ; [.21C3.0020.0002][.FFF4.0000.0000] # KANNADA SIGN UPADHMANIYA
+0C94 ; [.21C3.0020.0002][.FFF0.0000.0000] # KANNADA LETTER AU
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
index 5fd467f806f..7e0e5679cb0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
@@ -1,647 +1,647 @@
use Unicode::Collate::CJK::Korean;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
- entry => <<'ENTRY', # for DUCET v6.2.0
-F967 ; [.315D.0021.0002.4E0D][.31E1.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.315D.0032.0002.4E26][.31DA.0020.0002.4E26][.3246.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.3156.0021.0002.4E32][.31DC.0020.0002.4E32][.3247.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.3168.0021.0002.4E38][.31DD.0020.0002.4E38][.3235.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.3159.0021.0002.4E39][.31D4.0020.0002.4E39][.3235.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-F91B ; [.315B.0021.0002.4E82][.31D4.0020.0002.4E82][.3235.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.315B.0021.0002.4E86][.31E0.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.315B.0021.0002.4EAE][.31D6.0020.0002.4EAE][.3246.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.315F.0021.0002.4EC0][.31E8.0020.0002.4EC0][.3242.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9A8 ; [.315B.0021.0002.4EE4][.31DA.0020.0002.4EE4][.3246.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-F92D ; [.315B.0021.0002.4F86][.31D5.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.315B.0021.0002.4F8B][.31DB.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.315C.0021.0002.4FAE][.31DC.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.315C.0021.0002.4FAE][.31DC.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.3166.0023.0002.4FBB][.31D4.0020.0002.4FBB][.3239.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.3167.0021.0002.4FBF][.31DA.0020.0002.4FBF][.3235.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.315D.0022.0002.5002][.31DA.0020.0002.5002][.3246.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.315B.0022.0002.502B][.31E5.0020.0002.502B][.3235.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F809 ; [.315D.0022.0002.5099][.31E8.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.315F.0023.0002.50CF][.31D4.0020.0002.50CF][.3246.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.315B.0022.0002.50DA][.31E0.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.315F.0023.0002.50E7][.31E6.0020.0002.50E7][.3246.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.315F.0023.0002.50E7][.31E6.0020.0002.50E7][.3246.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.3161.0021.0002.5140][.31DC.0020.0002.5140][.3239.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.3164.0021.0002.5145][.31E1.0020.0002.5145][.3246.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.315C.0021.0002.514D][.31DA.0020.0002.514D][.3235.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.315C.0021.0002.514D][.31DA.0020.0002.514D][.3235.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F814 ; [.3158.0022.0002.5167][.31D5.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.3162.0024.0002.5168][.31D8.0020.0002.5168][.3235.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.315B.0023.0002.5169][.31D6.0020.0002.5169][.3246.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.315B.0021.0002.516D][.31E5.0020.0002.516D][.3232.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.3156.0026.0002.5177][.31E1.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.3156.0024.0002.5180][.31E8.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.3162.0021.0002.518D][.31D5.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.315C.0022.0002.5192][.31DC.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.315C.0022.0002.5195][.31DA.0020.0002.5195][.3235.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.3161.0023.0002.5197][.31E0.0020.0002.5197][.3246.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.3161.003B.0002.51A4][.31E2.0020.0002.51A4][.3235.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.3159.0022.0002.51AC][.31DC.0020.0002.51AC][.3246.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-F92E ; [.315B.0021.0002.51B7][.31D5.0020.0002.51B7][.3246.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.315B.0024.0002.51C9][.31D6.0020.0002.51C9][.3246.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.315B.0021.0002.51CC][.31E6.0020.0002.51CC][.3246.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.315B.0021.0002.51DC][.31E6.0020.0002.51DC][.3241.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.3168.0022.0002.51DE][.31E7.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81E ; [.3161.0023.0002.5203][.31E8.0020.0002.5203][.3235.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.3162.0021.0002.5207][.31D8.0020.0002.5207][.3239.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.3162.0021.0002.5207][.31D8.0020.0002.5207][.3239.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.315B.0022.0002.5217][.31DA.0020.0002.5217][.3239.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.315B.0022.0002.5229][.31E8.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.3162.0022.0002.523A][.31D4.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.3156.0021.0002.523B][.31D4.0020.0002.523B][.3232.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F822 ; [.3168.0021.0002.5272][.31D4.0020.0002.5272][.3239.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.315F.002D.0002.5277][.31D4.0020.0002.5277][.3235.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.315B.0021.0002.5289][.31E5.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.315B.0021.0002.529B][.31DA.0020.0002.529B][.3232.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.315B.0023.0002.52A3][.31DA.0020.0002.52A3][.3239.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-FA76 ; [.3161.0024.0002.52C7][.31E0.0020.0002.52C7][.3246.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.3161.0024.0002.52C7][.31E0.0020.0002.52C7][.3246.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.315C.0023.0002.52C9][.31DA.0020.0002.52C9][.3235.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.315C.0023.0002.52C9][.31DA.0020.0002.52C9][.3235.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.315B.0021.0002.52D2][.31E6.0020.0002.52D2][.3232.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.315B.0021.0002.52DE][.31DC.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.3156.0023.0002.52E4][.31E6.0020.0002.52E4][.3235.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.3156.0023.0002.52E4][.31E6.0020.0002.52E4][.3235.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.315B.0023.0002.52F5][.31DA.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.3162.0022.0002.52FA][.31D4.0020.0002.52FA][.3232.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.3162.0022.0002.52FA][.31D4.0020.0002.52FA][.3232.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.3167.0022.0002.5305][.31DC.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-F963 ; [.315D.0021.0002.5317][.31E1.0020.0002.5317][.3232.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.315D.0021.0002.5317][.31E1.0020.0002.5317][.3232.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.3158.0021.0002.533F][.31E8.0020.0002.533F][.3232.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.3168.0021.0002.5349][.31E3.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.315D.0025.0002.5351][.31E8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.315D.0025.0002.5351][.31E8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.315D.0022.0002.535A][.31D4.0020.0002.535A][.3232.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.3162.0022.0002.5373][.31E6.0020.0002.5373][.3232.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.315B.0022.0002.5375][.31D4.0020.0002.5375][.3235.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.3162.0021.0002.537D][.31E6.0020.0002.537D][.3232.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.3164.0022.0002.53C3][.31D4.0020.0002.53C3][.3241.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.3156.0022.0002.53CA][.31E6.0020.0002.53CA][.3242.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.315F.005E.0002.53DF][.31E1.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.3156.002A.0002.53E5][.31E1.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.3156.0021.0002.53EB][.31E5.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.3162.0022.0002.53F1][.31E8.0020.0002.53F1][.3239.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-F9DE ; [.315B.0024.0002.540F][.31E8.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.315B.0021.0002.541D][.31E8.0020.0002.541D][.3235.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.3168.0021.0002.5438][.31E6.0020.0002.5438][.3242.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.315B.0024.0002.5442][.31DA.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.3162.0026.0002.5448][.31D8.0020.0002.5448][.3246.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.3162.0028.0002.5468][.31E1.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840 ; [.3161.0031.0002.54A2][.31D4.0020.0002.54A2][.3232.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.3161.0025.0002.54BD][.31E8.0020.0002.54BD][.3235.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F842 ; [.3159.0021.0002.5510][.31D4.0020.0002.5510][.3246.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.3156.0022.0002.5553][.31DB.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844 ; [.3168.0024.0002.5563][.31D4.0020.0002.5563][.3241.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.315F.0024.0002.5584][.31D8.0020.0002.5584][.3235.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.315F.0024.0002.5584][.31D8.0020.0002.5584][.3235.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.315B.0021.0002.5587][.31D4.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.3168.0022.0002.5599][.31E3.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.3168.0022.0002.5599][.31E3.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.3156.0022.0002.559D][.31D4.0020.0002.559D][.3239.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.3156.0022.0002.559D][.31D4.0020.0002.559D][.3239.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.3157.0021.0002.55AB][.31E8.0020.0002.55AB][.3232.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-FA7B ; [.3161.0022.0002.55E2][.31DC.0020.0002.55E2][.3239.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.3166.0022.0002.5606][.31D4.0020.0002.5606][.3235.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.3166.0022.0002.5606][.31D4.0020.0002.5606][.3235.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-FA38 ; [.3156.0026.0002.5668][.31E8.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.315D.0023.0002.5674][.31E1.0020.0002.5674][.3235.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.315B.0023.0002.56F9][.31DA.0020.0002.56F9][.3246.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.3159.0024.0002.5716][.31DC.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F855 ; [.3168.0024.0002.578B][.31DA.0020.0002.578B][.3246.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.315F.0021.0002.57CE][.31D8.0020.0002.57CE][.3246.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.315F.0021.0002.57F4][.31E8.0020.0002.57F4][.3232.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F857 ; [.315D.0023.0002.5831][.31DC.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-FA39 ; [.315D.0033.0002.5840][.31DA.0020.0002.5840][.3246.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.3164.0022.0002.585A][.31DC.0020.0002.585A][.3246.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.3164.0022.0002.585A][.31DC.0020.0002.585A][.3246.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.315F.0021.0002.585E][.31D5.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.315C.0021.0002.58A8][.31E1.0020.0002.58A8][.3232.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA7D ; [.315D.0024.0002.58B3][.31E1.0020.0002.58B3][.3235.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.315B.0021.0002.58D8][.31E1.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.315B.0021.0002.58DF][.31DC.0020.0002.58DF][.3246.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F85C ; [.315D.0032.0002.5906][.31DC.0020.0002.5906][.3246.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.3159.0021.0002.591A][.31D4.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.315C.0021.0002.5922][.31DC.0020.0002.5922][.3246.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.3161.0024.0002.5944][.31D8.0020.0002.5944][.3241.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.3158.0023.0002.5948][.31D5.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.3156.0024.0002.5951][.31DB.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.315D.0025.0002.5954][.31E1.0020.0002.5954][.3235.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.315F.0030.0002.5962][.31D4.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.3158.0021.0002.5973][.31DA.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F862 ; [.3168.0026.0002.59EC][.31E7.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.3161.002C.0002.5A1B][.31DC.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.3166.0030.0002.5A27][.31D5.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.315D.0027.0002.5A62][.31E8.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.315D.002B.0002.5A66][.31E1.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.3161.0025.0002.5AB5][.31E8.0020.0002.5AB5][.3246.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.3161.0041.0002.5B08][.31E0.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.3162.003C.0002.5B28][.31D4.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.315B.0029.0002.5B3E][.31D4.0020.0002.5B3E][.3235.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.315B.0029.0002.5B3E][.31D4.0020.0002.5B3E][.3235.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.3159.0021.0002.5B85][.31D5.0020.0002.5B85][.3232.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.3161.0029.0002.5BC3][.31E2.0020.0002.5BC3][.3235.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.3164.003B.0002.5BD8][.31E8.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.315B.0023.0002.5BEE][.31E0.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD ; [.3158.0021.0002.5C3F][.31E0.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.3159.0028.0002.5C60][.31DC.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.315B.0023.0002.5C62][.31E1.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.3164.0021.0002.5C64][.31E6.0020.0002.5C64][.3246.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.315B.0026.0002.5C65][.31E8.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-2F879 ; [.315F.002A.0002.5CC0][.31E1.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.315B.0023.0002.5D19][.31E5.0020.0002.5D19][.3235.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-F921 ; [.315B.0021.0002.5D50][.31D4.0020.0002.5D50][.3241.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-F9AB ; [.315B.0025.0002.5DBA][.31DA.0020.0002.5DBA][.3246.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.315F.0021.0002.5DE1][.31E1.0020.0002.5DE1][.3235.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.315F.0027.0002.5DE2][.31DC.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.315F.0022.0002.5DFD][.31DC.0020.0002.5DFD][.3235.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.315F.0029.0002.5E28][.31D9.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.315C.0025.0002.5E3D][.31DC.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-F98E ; [.3158.0021.0002.5E74][.31DA.0020.0002.5E74][.3235.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.3159.002B.0002.5EA6][.31DC.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88C ; [.315D.0052.0002.5EB3][.31E8.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.315F.0025.0002.5EB6][.31D8.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.315B.0021.0002.5EC9][.31DA.0020.0002.5EC9][.3241.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.315B.0021.0002.5ECA][.31D4.0020.0002.5ECA][.3246.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.315B.0021.0002.5ECA][.31D4.0020.0002.5ECA][.3246.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA0B ; [.3156.0021.0002.5ED3][.31DD.0020.0002.5ED3][.3232.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-F982 ; [.315B.0025.0002.5EEC][.31DA.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-F943 ; [.315B.0022.0002.5F04][.31DC.0020.0002.5F04][.3246.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.3159.004B.0002.5F22][.31DC.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.3159.004B.0002.5F22][.31DC.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F899 ; [.3168.0025.0002.5F62][.31DA.0020.0002.5F62][.3246.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.3164.0025.0002.5F69][.31D5.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.3162.0027.0002.5F6B][.31DC.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.315B.0021.0002.5F8B][.31E5.0020.0002.5F8B][.3239.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F966 ; [.315D.0026.0002.5FA9][.31DC.0020.0002.5FA9][.3232.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.3161.0043.0002.5FAD][.31E0.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.3161.002A.0002.5FCD][.31E8.0020.0002.5FCD][.3235.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.3162.0026.0002.5FD7][.31E8.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.3158.0021.0002.5FF5][.31DA.0020.0002.5FF5][.3241.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F960 ; [.3158.0024.0002.6012][.31DC.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.315B.0026.0002.601C][.31DA.0020.0002.601C][.3246.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-2F8A0 ; [.3161.0042.0002.6081][.31DA.0020.0002.6081][.3235.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.3168.0026.0002.6094][.31DF.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.3168.0026.0002.6094][.31DF.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.3159.0022.0002.60C7][.31DC.0020.0002.60C7][.3235.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.315C.002D.0002.60D8][.31D4.0020.0002.60D8][.3246.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.3161.0025.0002.60E1][.31D4.0020.0002.60E1][.3232.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.3161.002E.0002.6108][.31E5.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.315B.0022.0002.6144][.31E5.0020.0002.6144][.3239.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.3162.002A.0002.6148][.31D4.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.3168.0027.0002.614C][.31DD.0020.0002.614C][.3246.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.3168.0027.0002.614C][.31DD.0020.0002.614C][.3246.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA8A ; [.3161.0047.0002.6160][.31DC.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.3156.0028.0002.6168][.31D5.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.315B.0031.0002.617A][.31E1.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.315B.0021.0002.6190][.31DA.0020.0002.6190][.3235.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.315D.0028.0002.61A4][.31E1.0020.0002.61A4][.3235.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.3164.0030.0002.61AF][.31D4.0020.0002.61AF][.3241.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.3168.0021.0002.61B2][.31D8.0020.0002.61B2][.3235.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.315C.0025.0002.61DE][.31DC.0020.0002.61DE][.3246.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.315B.0022.0002.61F6][.31D4.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.315B.0022.0002.61F6][.31D4.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.315B.0022.0002.6200][.31DA.0020.0002.6200][.3235.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.315F.0026.0002.6210][.31D8.0020.0002.6210][.3246.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-F9D2 ; [.315B.0022.0002.622E][.31E5.0020.0002.622E][.3232.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.3159.0029.0002.6234][.31D5.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B5 ; [.3167.002B.0002.62B1][.31DC.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.315B.0021.0002.62C9][.31D4.0020.0002.62C9][.3242.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.3158.0024.0002.62CF][.31D4.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.3164.0026.0002.62D3][.31D8.0020.0002.62D3][.3232.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.315D.0022.0002.62D4][.31D4.0020.0002.62D4][.3239.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-F973 ; [.315F.0022.0002.62FE][.31E6.0020.0002.62FE][.3242.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.315C.0027.0002.633D][.31D4.0020.0002.633D][.3235.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.3161.0027.0002.6350][.31DA.0020.0002.6350][.3235.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.315F.0039.0002.6368][.31D4.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.3158.0024.0002.637B][.31DA.0020.0002.637B][.3241.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.315F.0029.0002.6383][.31DC.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.315B.0021.0002.63A0][.31D6.0020.0002.63A0][.3232.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.3161.0025.0002.63A9][.31D8.0020.0002.63A9][.3241.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.3161.0030.0002.63C4][.31E5.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E ; [.315F.0030.0002.641C][.31E1.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.3162.0025.0002.6422][.31E8.0020.0002.6422][.3235.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C3 ; [.315C.0021.0002.6469][.31D4.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-F991 ; [.3158.0022.0002.649A][.31DA.0020.0002.649A][.3235.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.3168.0029.0002.649D][.31E4.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.315B.0023.0002.64C4][.31DC.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.315C.0025.0002.654F][.31E8.0020.0002.654F][.3235.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.315C.0025.0002.654F][.31E8.0020.0002.654F][.3235.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.3161.0030.0002.6556][.31DC.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.3156.0030.0002.656C][.31DA.0020.0002.656C][.3246.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.315F.0032.0002.6578][.31E1.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.315B.0025.0002.6599][.31E0.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.315B.0028.0002.65C5][.31DA.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-2F8CB ; [.3156.0035.0002.65E3][.31E8.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0 ; [.3161.0024.0002.6613][.31DA.0020.0002.6613][.3232.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.3162.0026.0002.6649][.31E8.0020.0002.6649][.3235.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.3164.0022.0002.6674][.31D8.0020.0002.6674][.3246.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.3164.0022.0002.6674][.31D8.0020.0002.6674][.3246.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.3168.002A.0002.6688][.31E1.0020.0002.6688][.3235.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.315F.002B.0002.6691][.31D8.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.315F.002B.0002.6691][.31D8.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-FA06 ; [.3167.0022.0002.66B4][.31DC.0020.0002.66B4][.3232.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.315B.0022.0002.66C6][.31DA.0020.0002.66C6][.3232.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.3156.0033.0002.66F4][.31DA.0020.0002.66F4][.3246.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.315F.002D.0002.66F8][.31D8.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.3164.0023.0002.6700][.31DF.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.315C.0025.0002.671B][.31D4.0020.0002.671B][.3246.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.315C.0025.0002.671B][.31D4.0020.0002.671B][.3246.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-F9E1 ; [.315B.0028.0002.674E][.31E8.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.3167.0025.0002.6753][.31E0.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.3162.002E.0002.6756][.31D4.0020.0002.6756][.3246.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.3156.0038.0002.675E][.31E8.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.3158.0021.0002.677B][.31E5.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9F4 ; [.315B.0021.0002.6797][.31E8.0020.0002.6797][.3241.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.315B.0023.0002.67F3][.31E5.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9DA ; [.315B.0023.0002.6817][.31E5.0020.0002.6817][.3239.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F97A ; [.315B.0025.0002.6881][.31D6.0020.0002.6881][.3246.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.315C.0027.0002.6885][.31D5.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.315C.0027.0002.6885][.31D5.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-F9E2 ; [.315B.0029.0002.68A8][.31E8.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E8 ; [.315F.0062.0002.6942][.31D4.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8EA ; [.3156.002A.0002.69EA][.31D5.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.315B.0024.0002.6A13][.31E1.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-F931 ; [.315B.0024.0002.6AD3][.31DC.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.3162.0021.0002.6ADB][.31E6.0020.0002.6ADB][.3239.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.315B.0023.0002.6B04][.31D4.0020.0002.6B04][.3235.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.3164.0028.0002.6B21][.31D4.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.3168.0025.0002.6B54][.31D8.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.315F.0023.0002.6B72][.31D9.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.315B.0023.0002.6B77][.31DA.0020.0002.6B77][.3232.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-F9A5 ; [.315B.0023.0002.6BAE][.31DA.0020.0002.6BAE][.3241.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8FA ; [.315D.0025.0002.6C4E][.31D8.0020.0002.6C4E][.3241.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-F972 ; [.3164.0024.0002.6C88][.31E8.0020.0002.6C88][.3241.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.3161.002B.0002.6CBF][.31DA.0020.0002.6CBF][.3235.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.3167.0024.0002.6CCC][.31E8.0020.0002.6CCC][.3239.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-F9E3 ; [.3158.0022.0002.6CE5][.31E8.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F915 ; [.315B.0021.0002.6D1B][.31D4.0020.0002.6D1B][.3232.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.3159.002A.0002.6D1E][.31DC.0020.0002.6D1E][.3246.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F900 ; [.3167.0029.0002.6D3E][.31D4.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.3168.002E.0002.6D69][.31DC.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.315B.0023.0002.6D6A][.31D4.0020.0002.6D6A][.3246.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.3168.002A.0002.6D77][.31D5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.3168.002A.0002.6D77][.31D5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.3164.0025.0002.6D78][.31E8.0020.0002.6D78][.3241.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.3161.0022.0002.6D85][.31DA.0020.0002.6D85][.3239.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.315B.0022.0002.6DCB][.31E8.0020.0002.6DCB][.3241.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.315B.0025.0002.6DDA][.31E1.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.315B.0024.0002.6DEA][.31E5.0020.0002.6DEA][.3235.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.3161.0026.0002.6DF9][.31D8.0020.0002.6DF9][.3241.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.3162.002C.0002.6E1A][.31D8.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.3168.002B.0002.6E2F][.31D4.0020.0002.6E2F][.3246.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.3161.002B.0002.6E6E][.31E8.0020.0002.6E6E][.3235.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.315B.0026.0002.6E9C][.31E5.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.3158.0022.0002.6EBA][.31E8.0020.0002.6EBA][.3232.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-FA99 ; [.3162.002B.0002.6ECB][.31D4.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.3162.002B.0002.6ECB][.31D4.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.3168.0022.0002.6ED1][.31DD.0020.0002.6ED1][.3239.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-F94E ; [.315B.0026.0002.6F0F][.31E1.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.3168.0026.0002.6F22][.31D4.0020.0002.6F22][.3235.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.3168.0026.0002.6F22][.31D4.0020.0002.6F22][.3235.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.315B.0024.0002.6F23][.31DA.0020.0002.6F23][.3235.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.3162.0033.0002.6F6E][.31DC.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.315D.003C.0002.6FC6][.31E1.0020.0002.6FC6][.3235.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.315B.0025.0002.6FEB][.31D4.0020.0002.6FEB][.3241.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.315B.002A.0002.6FFE][.31DA.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.3161.002D.0002.701B][.31DA.0020.0002.701B][.3246.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.3162.003D.0002.701E][.31D8.0020.0002.701E][.3246.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.3162.003D.0002.701E][.31D8.0020.0002.701E][.3246.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F835 ; [.3168.002D.0002.7070][.31DF.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F918 ; [.3162.002B.0002.707D][.31D5.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.3162.002C.0002.7099][.31D4.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.3166.0028.0002.70AD][.31D4.0020.0002.70AD][.3235.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.315B.0025.0002.70C8][.31DA.0020.0002.70C8][.3239.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.315B.0022.0002.70D9][.31D4.0020.0002.70D9][.3232.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-F993 ; [.315B.0025.0002.7149][.31DA.0020.0002.7149][.3235.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.3162.002D.0002.716E][.31D4.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.3162.002D.0002.716E][.31D4.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-F9C0 ; [.315B.0026.0002.71CE][.31E0.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.315B.0023.0002.71D0][.31E8.0020.0002.71D0][.3235.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.315B.0027.0002.7210][.31DC.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.315B.0026.0002.721B][.31D4.0020.0002.721B][.3235.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.3164.0036.0002.7228][.31D4.0020.0002.7228][.3235.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA9E ; [.3162.0028.0002.7235][.31D4.0020.0002.7235][.3232.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.3162.0028.0002.7235][.31D4.0020.0002.7235][.3232.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-F946 ; [.315B.0023.0002.7262][.31DF.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.315F.0030.0002.7280][.31D8.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-FA9F ; [.315D.0027.0002.72AF][.31D8.0020.0002.72AF][.3241.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.315F.0035.0002.72C0][.31D4.0020.0002.72C0][.3246.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.315B.0024.0002.72FC][.31D4.0020.0002.72FC][.3246.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.3162.002E.0002.732A][.31D8.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.3162.002E.0002.732A][.31D8.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.315B.0021.0002.7375][.31DA.0020.0002.7375][.3242.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.3159.0023.0002.737A][.31D4.0020.0002.737A][.3239.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.315F.0021.0002.7387][.31DC.0020.0002.7387][.3239.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.315F.0021.0002.7387][.31DC.0020.0002.7387][.3239.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.3161.0025.0002.738B][.31DD.0020.0002.738B][.3246.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-F9AD ; [.315B.0027.0002.73B2][.31DA.0020.0002.73B2][.3246.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.315B.0023.0002.73DE][.31D4.0020.0002.73DE][.3232.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.315B.002D.0002.7406][.31E8.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.315B.0028.0002.7409][.31E5.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.3166.002B.0002.7422][.31D4.0020.0002.7422][.3232.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92F ; [.3161.003D.0002.745C][.31E5.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.3168.002D.0002.7469][.31DA.0020.0002.7469][.3246.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.3162.0057.0002.7471][.31D8.0020.0002.7471][.3235.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.3162.0057.0002.7471][.31D8.0020.0002.7471][.3235.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-F994 ; [.315B.0026.0002.7489][.31DA.0020.0002.7489][.3235.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.315B.0024.0002.7498][.31E8.0020.0002.7498][.3235.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.3156.003A.0002.74CA][.31DA.0020.0002.74CA][.3246.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-F9CD ; [.315B.002A.0002.7559][.31E5.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.315B.0022.0002.7565][.31D6.0020.0002.7565][.3232.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.3161.002C.0002.7570][.31E8.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.3161.002C.0002.7570][.31E8.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.315B.002F.0002.75E2][.31E8.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.3161.0059.0002.7610][.31E5.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA5 ; [.3161.0023.0002.761F][.31DC.0020.0002.761F][.3235.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.315B.0027.0002.7642][.31E0.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.315B.0023.0002.7669][.31D4.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.3161.0022.0002.76CA][.31E8.0020.0002.76CA][.3232.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.3161.0022.0002.76CA][.31E8.0020.0002.76CA][.3232.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.315F.002B.0002.76DB][.31D8.0020.0002.76DB][.3246.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.315B.0028.0002.76E7][.31DC.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.3162.0021.0002.76F4][.31E8.0020.0002.76F4][.3232.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.3162.0021.0002.76F4][.31E8.0020.0002.76F4][.3232.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.315F.002C.0002.7701][.31D8.0020.0002.7701][.3246.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.3162.0033.0002.771E][.31E8.0020.0002.771E][.3235.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-FAAA ; [.3164.0023.0002.7740][.31D4.0020.0002.7740][.3232.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-2F94A ; [.3162.0034.0002.778B][.31E8.0020.0002.778B][.3235.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-F9CE ; [.315B.002C.0002.786B][.31E5.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.315B.0021.0002.788C][.31DC.0020.0002.788C][.3232.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.315B.0021.0002.788C][.31DC.0020.0002.788C][.3232.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.315D.0038.0002.7891][.31E8.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.315B.0024.0002.78CA][.31DF.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-F964 ; [.315D.0032.0002.78FB][.31D4.0020.0002.78FB][.3235.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.315B.002B.0002.792A][.31DA.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA4C ; [.315F.0046.0002.793E][.31D4.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.3156.004C.0002.7948][.31E8.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.3162.0035.0002.7949][.31E8.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.3161.0032.0002.7950][.31E1.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.3162.0039.0002.7956][.31DC.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.3162.0039.0002.7956][.31DC.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.3164.0023.0002.795D][.31E1.0020.0002.795D][.3232.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.315F.002C.0002.795E][.31E8.0020.0002.795E][.3235.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.315F.0037.0002.7965][.31D4.0020.0002.7965][.3246.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.315B.0022.0002.797F][.31DC.0020.0002.797F][.3232.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.3168.0027.0002.798D][.31DD.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.3162.0044.0002.798E][.31D8.0020.0002.798E][.3246.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.315D.0028.0002.798F][.31DC.0020.0002.798F][.3232.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.315D.0028.0002.798F][.31DC.0020.0002.798F][.3232.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.315B.0023.0002.79AE][.31DB.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995 ; [.3158.0023.0002.79CA][.31DA.0020.0002.79CA][.3235.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957 ; [.3164.0024.0002.79EB][.31E1.0020.0002.79EB][.3239.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.315B.0023.0002.7A1C][.31E6.0020.0002.7A1C][.3246.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.3156.0025.0002.7A40][.31DC.0020.0002.7A40][.3232.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.3156.0025.0002.7A40][.31DC.0020.0002.7A40][.3232.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-FA55 ; [.3159.0022.0002.7A81][.31DC.0020.0002.7A81][.3239.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-F9F7 ; [.315B.0022.0002.7ACB][.31E8.0020.0002.7ACB][.3242.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8 ; [.315B.0023.0002.7B20][.31E8.0020.0002.7B20][.3242.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.3162.0027.0002.7BC0][.31D8.0020.0002.7BC0][.3239.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.3162.0027.0002.7BC0][.31D8.0020.0002.7BC0][.3239.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.3162.003D.0002.7BC6][.31D8.0020.0002.7BC6][.3235.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.3164.0026.0002.7BC9][.31E1.0020.0002.7BC9][.3232.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.315B.0025.0002.7C3E][.31DA.0020.0002.7C3E][.3241.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.315B.0026.0002.7C60][.31DC.0020.0002.7C60][.3246.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-F9F9 ; [.315B.0024.0002.7C92][.31E8.0020.0002.7C92][.3242.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.3162.0047.0002.7CBE][.31D8.0020.0002.7CBE][.3246.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA03 ; [.3159.0029.0002.7CD6][.31D4.0020.0002.7CD6][.3246.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-F97B ; [.315B.0029.0002.7CE7][.31D6.0020.0002.7CE7][.3246.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F96A ; [.3156.004F.0002.7D00][.31E8.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.3158.0022.0002.7D10][.31E5.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.315F.0023.0002.7D22][.31D5.0020.0002.7D22][.3232.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.315B.0028.0002.7D2F][.31E1.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.3162.0063.0002.7D5B][.31DC.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.315D.0034.0002.7D63][.31DA.0020.0002.7D63][.3246.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.315B.0023.0002.7DA0][.31DC.0020.0002.7DA0][.3232.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.315B.0024.0002.7DBE][.31E6.0020.0002.7DBE][.3246.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.3164.0030.0002.7DC7][.31E8.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FA58 ; [.3162.0036.0002.7E09][.31E8.0020.0002.7E09][.3235.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.315B.0029.0002.7E37][.31E1.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.315D.0026.0002.7E41][.31D8.0020.0002.7E41][.3235.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.315F.0052.0002.7E45][.31DC.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.315D.0035.0002.7F3E][.31DA.0020.0002.7F3E][.3246.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.315F.0035.0002.7F72][.31D8.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.315B.0031.0002.7F79][.31E8.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F90F ; [.315B.0024.0002.7F85][.31D4.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-F9AF ; [.315B.0029.0002.7F9A][.31DA.0020.0002.7F9A][.3246.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.3161.0036.0002.7FBD][.31E1.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979 ; [.3156.005A.0002.7FFA][.31DC.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.315B.0029.0002.8001][.31DC.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.315B.002B.0002.8046][.31DA.0020.0002.8046][.3246.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F997 ; [.315B.0028.0002.806F][.31DA.0020.0002.806F][.3235.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.3164.0028.0002.8070][.31DC.0020.0002.8070][.3246.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.315B.0027.0002.807E][.31DC.0020.0002.807E][.3246.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.315B.0022.0002.808B][.31E6.0020.0002.808B][.3232.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.3158.0023.0002.80AD][.31E1.0020.0002.80AD][.3239.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.3161.0024.0002.80B2][.31E5.0020.0002.80B2][.3232.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F985 ; [.315D.003F.0002.813E][.31E8.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.315B.0022.0002.81D8][.31D4.0020.0002.81D8][.3242.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.315B.0024.0002.81E8][.31E8.0020.0002.81E8][.3241.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.3164.002A.0002.81ED][.31E4.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.3161.002E.0002.8201][.31DA.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.3161.002E.0002.8201][.31DA.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-F97C ; [.315B.002A.0002.826F][.31D6.0020.0002.826F][.3246.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-2F990 ; [.3161.0037.0002.828B][.31E1.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991 ; [.3162.003B.0002.829D][.31E8.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.3168.0029.0002.82B1][.31DD.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.315D.0035.0002.82B3][.31D4.0020.0002.82B3][.3246.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.3161.0029.0002.82BD][.31D4.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.3161.0023.0002.82E5][.31D6.0020.0002.82E5][.3232.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.3161.0023.0002.82E5][.31D6.0020.0002.82E5][.3232.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.3156.003A.0002.82E6][.31DC.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.3164.002E.0002.831D][.31D5.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.3161.004C.0002.8323][.31DC.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.3159.0022.0002.8336][.31D4.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.3168.0034.0002.8352][.31DD.0020.0002.8352][.3246.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F99D ; [.315C.002A.0002.83BD][.31D4.0020.0002.83BD][.3246.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.315B.0024.0002.83C9][.31DC.0020.0002.83C9][.3232.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.3156.0023.0002.83CA][.31E1.0020.0002.83CA][.3232.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.3156.0025.0002.83CC][.31E5.0020.0002.83CC][.3235.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.3164.0029.0002.83DC][.31D5.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-FAB4 ; [.3168.002A.0002.83EF][.31DD.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.315B.0025.0002.83F1][.31E6.0020.0002.83F1][.3246.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.315B.0025.0002.843D][.31D4.0020.0002.843D][.3232.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.3161.0023.0002.8449][.31DA.0020.0002.8449][.3242.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.3162.0034.0002.8457][.31D8.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.3162.0034.0002.8457][.31D8.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.315B.0029.0002.84EE][.31DA.0020.0002.84EE][.3235.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.3167.002A.0002.84F1][.31DA.0020.0002.84F1][.3246.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-F9C2 ; [.315B.002A.0002.84FC][.31E0.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AC ; [.3161.0062.0002.8564][.31E5.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.315B.0028.0002.85CD][.31D4.0020.0002.85CD][.3241.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.315B.0025.0002.85FA][.31E8.0020.0002.85FA][.3235.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.315B.002A.0002.8606][.31DC.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-F91F ; [.315B.0027.0002.862D][.31D4.0020.0002.862D][.3235.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.315B.0025.0002.863F][.31D4.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.3168.0023.0002.8650][.31D4.0020.0002.8650][.3232.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.315B.002B.0002.865C][.31DC.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.315B.002B.0002.865C][.31DC.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.3168.0025.0002.8667][.31E5.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B7 ; [.3164.0034.0002.86A9][.31E8.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BC ; [.3162.0026.0002.8728][.31D8.0020.0002.8728][.3242.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-F911 ; [.315B.0026.0002.87BA][.31D4.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-F927 ; [.315B.0023.0002.881F][.31D4.0020.0002.881F][.3242.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.3168.0025.0002.884C][.31D5.0020.0002.884C][.3246.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C4 ; [.3161.0030.0002.8863][.31E7.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.315B.0026.0002.88C2][.31DA.0020.0002.88C2][.3239.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.315B.0034.0002.88CF][.31E8.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8 ; [.315B.0035.0002.88E1][.31E8.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.315B.0027.0002.88F8][.31D4.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-FA60 ; [.3156.0028.0002.8910][.31D4.0020.0002.8910][.3239.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.3156.0034.0002.8941][.31D4.0020.0002.8941][.3246.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.315B.0029.0002.8964][.31D4.0020.0002.8964][.3241.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.315D.002D.0002.8986][.31DC.0020.0002.8986][.3232.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.3156.0028.0002.898B][.31DA.0020.0002.898B][.3235.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.315F.0037.0002.8996][.31E8.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.315F.0037.0002.8996][.31E8.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.315F.0031.0002.8AA0][.31D8.0020.0002.8AA0][.3246.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.315F.002B.0002.8AAA][.31D8.0020.0002.8AAA][.3239.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.315F.002B.0002.8AAA][.31D8.0020.0002.8AAA][.3239.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.3162.0046.0002.8ABF][.31DC.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.3164.0026.0002.8ACB][.31D8.0020.0002.8ACB][.3246.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.315B.002B.0002.8AD2][.31D6.0020.0002.8AD2][.3246.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.315B.0021.0002.8AD6][.31DC.0020.0002.8AD6][.3235.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.3161.0046.0002.8AED][.31E5.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.3161.0046.0002.8AED][.31E5.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.3162.0030.0002.8AF8][.31D9.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.3162.0030.0002.8AF8][.31D9.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.3158.0021.0002.8AFE][.31D4.0020.0002.8AFE][.3232.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.3158.0021.0002.8AFE][.31D4.0020.0002.8AFE][.3232.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.3161.0022.0002.8B01][.31D4.0020.0002.8B01][.3239.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.3161.0022.0002.8B01][.31D4.0020.0002.8B01][.3239.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.3156.002D.0002.8B39][.31E6.0020.0002.8B39][.3235.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.3156.002D.0002.8B39][.31E6.0020.0002.8B39][.3235.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.315F.002C.0002.8B58][.31E8.0020.0002.8B58][.3232.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.3159.002A.0002.8B80][.31DC.0020.0002.8B80][.3232.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.315D.0023.0002.8B8A][.31DA.0020.0002.8B8A][.3235.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.315D.0023.0002.8B8A][.31DA.0020.0002.8B8A][.3235.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.3156.0057.0002.8C48][.31E8.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.315F.003B.0002.8C55][.31E8.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.3156.002E.0002.8CAB][.31DD.0020.0002.8CAB][.3235.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.315D.0032.0002.8CC1][.31E1.0020.0002.8CC1][.3235.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.315B.0025.0002.8CC2][.31DF.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.3156.0039.0002.8CC8][.31D4.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.315D.002D.0002.8CD3][.31E8.0020.0002.8CD3][.3235.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.3162.002B.0002.8D08][.31E6.0020.0002.8D08][.3246.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.3162.002B.0002.8D08][.31E6.0020.0002.8D08][.3246.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.3156.0039.0002.8D1B][.31DC.0020.0002.8D1B][.3246.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.3156.0058.0002.8D77][.31E8.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DA ; [.315D.0027.0002.8DCB][.31D4.0020.0002.8DCB][.3239.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.315B.002C.0002.8DEF][.31DC.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-F902 ; [.3164.002D.0002.8ECA][.31D4.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-F998 ; [.315B.002A.0002.8F26][.31DA.0020.0002.8F26][.3235.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.315B.0026.0002.8F2A][.31E5.0020.0002.8F2A][.3235.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.315F.004F.0002.8F38][.31E1.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.315F.004F.0002.8F38][.31E1.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.315D.002F.0002.8F3B][.31DC.0020.0002.8F3B][.3232.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.315B.0026.0002.8F62][.31DA.0020.0002.8F62][.3232.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-F971 ; [.3162.003E.0002.8FB0][.31E8.0020.0002.8FB0][.3235.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-F99A ; [.315B.002B.0002.9023][.31DA.0020.0002.9023][.3235.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.3161.0027.0002.9038][.31E8.0020.0002.9038][.3239.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.3161.0027.0002.9038][.31E8.0020.0002.9038][.3239.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.3162.0041.0002.9072][.31E8.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.315B.002B.0002.907C][.31E0.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.315B.0028.0002.908F][.31D4.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-FA2E ; [.315B.0028.0002.90DE][.31D4.0020.0002.90DE][.3246.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-FA26 ; [.3159.0045.0002.90FD][.31DC.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-F919 ; [.315B.0026.0002.916A][.31D4.0020.0002.916A][.3232.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-F9B7 ; [.315B.0024.0002.91B4][.31DB.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.315B.0036.0002.91CC][.31E8.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.315B.002D.0002.91CF][.31D6.0020.0002.91CF][.3246.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.3156.0021.0002.91D1][.31E8.0020.0002.91D1][.3241.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.315B.002D.0002.9234][.31DA.0020.0002.9234][.3246.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.315D.002F.0002.9238][.31D4.0020.0002.9238][.3239.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9EA ; [.315D.0039.0002.927C][.31DA.0020.0002.927C][.3246.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.3168.003F.0002.92D7][.31DA.0020.0002.92D7][.3235.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-F93F ; [.315B.0025.0002.9304][.31DC.0020.0002.9304][.3232.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.315B.002C.0002.934A][.31DA.0020.0002.934A][.3235.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EE ; [.3156.0033.0002.958B][.31D5.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.315B.002E.0002.95AD][.31DA.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-F9C6 ; [.3161.0031.0002.962E][.31DD.0020.0002.962E][.3235.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.315B.002D.0002.964B][.31E1.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.3156.0037.0002.964D][.31D4.0020.0002.964D][.3246.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.315B.0026.0002.9675][.31E6.0020.0002.9675][.3246.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.315B.0023.0002.9678][.31E5.0020.0002.9678][.3232.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.3162.004E.0002.967C][.31D8.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.315B.0021.0002.9686][.31E5.0020.0002.9686][.3246.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.315B.0027.0002.96A3][.31E8.0020.0002.96A3][.3235.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.315B.0025.0002.96B7][.31DB.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.315B.0026.0002.96B8][.31DB.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9EA ; [.315B.0038.0002.96E2][.31E8.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.3158.0023.0002.96E3][.31D4.0020.0002.96E3][.3235.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.3158.0023.0002.96E3][.31D4.0020.0002.96E3][.3235.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.315B.002E.0002.96F6][.31DA.0020.0002.96F6][.3246.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.315B.0028.0002.96F7][.31DF.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.3161.0031.0002.9723][.31E1.0020.0002.9723][.3235.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.315B.002E.0002.9732][.31DC.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.315B.002F.0002.9748][.31DA.0020.0002.9748][.3246.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.3162.0054.0002.9756][.31D8.0020.0002.9756][.3246.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.3162.0054.0002.9756][.31D8.0020.0002.9756][.3246.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-2F9FA ; [.3167.0034.0002.97E0][.31E8.0020.0002.97E0][.3239.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69 ; [.3168.0026.0002.97FF][.31D6.0020.0002.97FF][.3246.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.3168.0026.0002.97FF][.31D6.0020.0002.97FF][.3246.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-F9B4 ; [.315B.0030.0002.9818][.31DA.0020.0002.9818][.3246.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-FA6A ; [.315D.002E.0002.983B][.31E8.0020.0002.983B][.3235.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.315D.002E.0002.983B][.31E8.0020.0002.983B][.3235.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.315B.002E.0002.985E][.31E5.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.3156.005B.0002.98E2][.31E8.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.315D.0039.0002.98EF][.31D4.0020.0002.98EF][.3235.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.315F.005A.0002.98FC][.31D4.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.3156.0030.0002.9928][.31DD.0020.0002.9928][.3235.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-F91A ; [.315B.0027.0002.99F1][.31D4.0020.0002.99F1][.3232.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-F987 ; [.315B.0030.0002.9A6A][.31DA.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.3162.004C.0002.9B12][.31E8.0020.0002.9B12][.3235.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.3162.004C.0002.9B12][.31E8.0020.0002.9B12][.3235.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.315B.002F.0002.9B6F][.31DC.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-F9F2 ; [.315B.0028.0002.9C57][.31E8.0020.0002.9C57][.3235.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-FA2D ; [.3168.0025.0002.9DB4][.31D4.0020.0002.9DB4][.3232.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.315B.0030.0002.9DFA][.31DC.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.315B.0028.0002.9E1E][.31D4.0020.0002.9E1E][.3235.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.315B.0026.0002.9E7F][.31DC.0020.0002.9E7F][.3232.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.315B.0031.0002.9E97][.31DA.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.315B.0029.0002.9E9F][.31E8.0020.0002.9E9F][.3235.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.315C.0028.0002.9EBB][.31D4.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.315B.0032.0002.9ECE][.31DA.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA1C ; [.315D.004A.0002.9F3B][.31E8.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-F9C4 ; [.315B.0021.0002.9F8D][.31E0.0020.0002.9F8D][.3246.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9 ; [.315B.002E.0002.9F8E][.31DC.0020.0002.9F8E][.3246.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907 ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+F967 ; [.3159.0021.0002.4E0D][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.3159.0032.0002.4E26][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.3152.0021.0002.4E32][.31D8.0020.0002][.3243.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.3164.0021.0002.4E38][.31D9.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.3155.0021.0002.4E39][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.3157.0021.0002.4E82][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.3157.0021.0002.4E86][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.3157.0021.0002.4EAE][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.315B.0021.0002.4EC0][.31E4.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.3157.0021.0002.4EE4][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D ; [.3157.0021.0002.4F86][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.3157.0021.0002.4F8B][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.3158.0021.0002.4FAE][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.3158.0021.0002.4FAE][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.3162.0023.0002.4FBB][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.3163.0021.0002.4FBF][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.3159.0022.0002.5002][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.3157.0022.0002.502B][.31E1.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809 ; [.3159.0022.0002.5099][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.315B.0023.0002.50CF][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.3157.0022.0002.50DA][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.315B.0023.0002.50E7][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.315B.0023.0002.50E7][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.315D.0021.0002.5140][.31D8.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.3160.0021.0002.5145][.31DD.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.3158.0021.0002.514D][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.3158.0021.0002.514D][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F814 ; [.3154.0022.0002.5167][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.315E.0024.0002.5168][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.3157.0023.0002.5169][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.3157.0021.0002.516D][.31E1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.3152.0026.0002.5177][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.3152.0024.0002.5180][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.315E.0021.0002.518D][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.3158.0022.0002.5192][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.3158.0022.0002.5195][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.315D.0023.0002.5197][.31DC.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.315D.003B.0002.51A4][.31DE.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.3155.0022.0002.51AC][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E ; [.3157.0021.0002.51B7][.31D1.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.3157.0024.0002.51C9][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.3157.0021.0002.51CC][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.3157.0021.0002.51DC][.31E2.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.3164.0022.0002.51DE][.31E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81E ; [.315D.0023.0002.5203][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.315E.0021.0002.5207][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.315E.0021.0002.5207][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.3157.0022.0002.5217][.31D6.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.3157.0022.0002.5229][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.315E.0022.0002.523A][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.3152.0021.0002.523B][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.3164.0021.0002.5272][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.315B.002D.0002.5277][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.3157.0021.0002.5289][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.3157.0021.0002.529B][.31D6.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.3157.0023.0002.52A3][.31D6.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.315D.0024.0002.52C7][.31DC.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.315D.0024.0002.52C7][.31DC.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.3158.0023.0002.52C9][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.3158.0023.0002.52C9][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.3157.0021.0002.52D2][.31E2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.3157.0021.0002.52DE][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.3152.0023.0002.52E4][.31E2.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.3152.0023.0002.52E4][.31E2.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.3157.0023.0002.52F5][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.315E.0022.0002.52FA][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.315E.0022.0002.52FA][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.3163.0022.0002.5305][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+F963 ; [.3159.0021.0002.5317][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.3159.0021.0002.5317][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.3154.0021.0002.533F][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.3164.0021.0002.5349][.31DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.3159.0025.0002.5351][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.3159.0025.0002.5351][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.3159.0022.0002.535A][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.315E.0022.0002.5373][.31E2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.3157.0022.0002.5375][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.315E.0021.0002.537D][.31E2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.3152.0028.0002.537F][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.3152.0028.0002.537F][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.3152.0028.0002.537F][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.3160.0022.0002.53C3][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.3152.0022.0002.53CA][.31E2.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.315B.005E.0002.53DF][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.3152.002A.0002.53E5][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.3152.0021.0002.53EB][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.315E.0022.0002.53F1][.31E4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE ; [.3157.0024.0002.540F][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.3157.0021.0002.541D][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.3164.0021.0002.5438][.31E2.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.3157.0024.0002.5442][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.315E.0026.0002.5448][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.315E.0028.0002.5468][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.315D.0031.0002.54A2][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.315D.0025.0002.54BD][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.3155.0021.0002.5510][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.3152.0022.0002.5553][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844 ; [.3164.0024.0002.5563][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.315B.0024.0002.5584][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.315B.0024.0002.5584][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.3157.0021.0002.5587][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.3164.0022.0002.5599][.31DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.3164.0022.0002.5599][.31DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.3152.0022.0002.559D][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.3152.0022.0002.559D][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.3153.0021.0002.55AB][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA7B ; [.315D.0022.0002.55E2][.31D8.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.3162.0022.0002.5606][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.3162.0022.0002.5606][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.3152.0026.0002.5668][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.3159.0023.0002.5674][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.3157.0023.0002.56F9][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.3155.0024.0002.5716][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.3164.0024.0002.578B][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.315B.0021.0002.57CE][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.315B.0021.0002.57F4][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857 ; [.3159.0023.0002.5831][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39 ; [.3159.0033.0002.5840][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.3160.0022.0002.585A][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.3160.0022.0002.585A][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.315B.0021.0002.585E][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.3158.0021.0002.58A8][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D ; [.3159.0024.0002.58B3][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.3157.0021.0002.58D8][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.3157.0021.0002.58DF][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C ; [.3159.0032.0002.5906][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.3155.0021.0002.591A][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.3158.0021.0002.5922][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.315D.0024.0002.5944][.31D4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.3154.0023.0002.5948][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.3152.0024.0002.5951][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.3159.0025.0002.5954][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.315B.0030.0002.5962][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.3154.0021.0002.5973][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F862 ; [.3164.0026.0002.59EC][.31E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.315D.002C.0002.5A1B][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.3162.0030.0002.5A27][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.3159.0027.0002.5A62][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.3159.002B.0002.5A66][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.315D.0025.0002.5AB5][.31E4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.315D.0041.0002.5B08][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.315E.003C.0002.5B28][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.3157.0029.0002.5B3E][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.3157.0029.0002.5B3E][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.3155.0021.0002.5B85][.31D1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.315D.0029.0002.5BC3][.31DE.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.3160.003B.0002.5BD8][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.3154.0021.0002.5BE7][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.3154.0021.0002.5BE7][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.3154.0021.0002.5BE7][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.3157.0023.0002.5BEE][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+F9BD ; [.3154.0021.0002.5C3F][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.3155.0028.0002.5C60][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.3157.0023.0002.5C62][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.3160.0021.0002.5C64][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.3157.0026.0002.5C65][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+2F879 ; [.315B.002A.0002.5CC0][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.3157.0023.0002.5D19][.31E1.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921 ; [.3157.0021.0002.5D50][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB ; [.3157.0025.0002.5DBA][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.315B.0021.0002.5DE1][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.315B.0027.0002.5DE2][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.315B.0022.0002.5DFD][.31D8.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.315B.0029.0002.5E28][.31D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.3158.0025.0002.5E3D][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.3154.0021.0002.5E74][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.3155.002B.0002.5EA6][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C ; [.3159.0052.0002.5EB3][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.315B.0025.0002.5EB6][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.3157.0021.0002.5EC9][.31D6.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.3157.0021.0002.5ECA][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.3157.0021.0002.5ECA][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B ; [.3152.0021.0002.5ED3][.31D9.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982 ; [.3157.0025.0002.5EEC][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+F943 ; [.3157.0022.0002.5F04][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.3155.004B.0002.5F22][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.3155.004B.0002.5F22][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899 ; [.3164.0025.0002.5F62][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.3160.0025.0002.5F69][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.315E.0027.0002.5F6B][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.3157.0021.0002.5F8B][.31E1.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.3159.0026.0002.5FA9][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.315D.0043.0002.5FAD][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.315D.002A.0002.5FCD][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.315E.0026.0002.5FD7][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.3154.0021.0002.5FF5][.31D6.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.3154.0024.0002.6012][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.3157.0026.0002.601C][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0 ; [.315D.0042.0002.6081][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.3164.0026.0002.6094][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.3164.0026.0002.6094][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.3155.0022.0002.60C7][.31D8.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.3158.002D.0002.60D8][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.315D.0025.0002.60E1][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.315D.002E.0002.6108][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.3157.0022.0002.6144][.31E1.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.315E.002A.0002.6148][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.3164.0027.0002.614C][.31D9.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.3164.0027.0002.614C][.31D9.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA8A ; [.315D.0047.0002.6160][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.3152.0028.0002.6168][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.3157.0031.0002.617A][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.315E.0022.0002.618E][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.315E.0022.0002.618E][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.315E.0022.0002.618E][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.3157.0021.0002.6190][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.3159.0028.0002.61A4][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.3160.0030.0002.61AF][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.3164.0021.0002.61B2][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.3158.0025.0002.61DE][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.315E.0022.0002.61F2][.31E4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.315E.0022.0002.61F2][.31E4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.315E.0022.0002.61F2][.31E4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.3157.0022.0002.61F6][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.3157.0022.0002.61F6][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.3157.0022.0002.6200][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.315B.0026.0002.6210][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+F9D2 ; [.3157.0022.0002.622E][.31E1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.3155.0029.0002.6234][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.3163.002B.0002.62B1][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.3157.0021.0002.62C9][.31D0.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.3154.0024.0002.62CF][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.3160.0026.0002.62D3][.31D4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.3159.0022.0002.62D4][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973 ; [.315B.0022.0002.62FE][.31E2.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.3158.0027.0002.633D][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.315D.0027.0002.6350][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.315B.0039.0002.6368][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.3154.0024.0002.637B][.31D6.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.315B.0029.0002.6383][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.3157.0021.0002.63A0][.31D2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.315D.0025.0002.63A9][.31D4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.315D.0030.0002.63C4][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.315B.0030.0002.641C][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.315E.0025.0002.6422][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+2F8C3 ; [.3158.0021.0002.6469][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991 ; [.3154.0022.0002.649A][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.3164.0029.0002.649D][.31E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.3157.0023.0002.64C4][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.3158.0025.0002.654F][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.3158.0025.0002.654F][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.315D.0030.0002.6556][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.3152.0030.0002.656C][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.315B.0032.0002.6578][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.3157.0025.0002.6599][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.3157.0028.0002.65C5][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F8CB ; [.3152.0035.0002.65E3][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.315D.0024.0002.6613][.31D6.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.315E.0026.0002.6649][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.3160.0022.0002.6674][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.3160.0022.0002.6674][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.3164.002A.0002.6688][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.315B.002B.0002.6691][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.315B.002B.0002.6691][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.3163.0022.0002.66B4][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.3157.0022.0002.66C6][.31D6.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.3152.0033.0002.66F4][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.315B.002D.0002.66F8][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.3160.0023.0002.6700][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.3157.0022.0002.6717][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.3157.0022.0002.6717][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.3157.0022.0002.6717][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.3158.0025.0002.671B][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.3158.0025.0002.671B][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.3157.0028.0002.674E][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.3163.0025.0002.6753][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.315E.002E.0002.6756][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.3152.0038.0002.675E][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.3154.0021.0002.677B][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+F9F4 ; [.3157.0021.0002.6797][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.3157.0023.0002.67F3][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.3157.0023.0002.6817][.31E1.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.3157.0025.0002.6881][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.3158.0027.0002.6885][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.3158.0027.0002.6885][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.3157.0029.0002.68A8][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8 ; [.315B.0062.0002.6942][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EA ; [.3152.002A.0002.69EA][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.315D.0028.0002.6A02][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.315D.0028.0002.6A02][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.315D.0028.0002.6A02][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.3157.0024.0002.6A13][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931 ; [.3157.0024.0002.6AD3][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.315E.0021.0002.6ADB][.31E2.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.3157.0023.0002.6B04][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.3160.0028.0002.6B21][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.3164.0025.0002.6B54][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.315B.0023.0002.6B72][.31D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.3157.0023.0002.6B77][.31D6.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+F9A5 ; [.3157.0023.0002.6BAE][.31D6.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.315B.0023.0002.6BBA][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.315B.0023.0002.6BBA][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.315B.0023.0002.6BBA][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA ; [.3159.0025.0002.6C4E][.31D4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972 ; [.3160.0024.0002.6C88][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.315D.002B.0002.6CBF][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.3163.0024.0002.6CCC][.31E4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.3154.0022.0002.6CE5][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.3157.0021.0002.6D1B][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.3155.002A.0002.6D1E][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.3163.0029.0002.6D3E][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.3157.0025.0002.6D41][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.3157.0025.0002.6D41][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.3157.0025.0002.6D41][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.3164.002E.0002.6D69][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.3157.0023.0002.6D6A][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.3164.002A.0002.6D77][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.3164.002A.0002.6D77][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.3160.0025.0002.6D78][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.315D.0022.0002.6D85][.31D6.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.3157.0022.0002.6DCB][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.3157.0025.0002.6DDA][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.3157.0024.0002.6DEA][.31E1.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.315D.0026.0002.6DF9][.31D4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.315E.002C.0002.6E1A][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.3164.002B.0002.6E2F][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.315D.002B.0002.6E6E][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.3157.0026.0002.6E9C][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.3154.0022.0002.6EBA][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99 ; [.315E.002B.0002.6ECB][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.315E.002B.0002.6ECB][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.3164.0022.0002.6ED1][.31D9.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.3157.0026.0002.6F0F][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.3164.0026.0002.6F22][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.3164.0026.0002.6F22][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.3157.0024.0002.6F23][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.315E.0033.0002.6F6E][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.3159.003C.0002.6FC6][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.3157.0025.0002.6FEB][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.3157.002A.0002.6FFE][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.315D.002D.0002.701B][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.315E.003D.0002.701E][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.315E.003D.0002.701E][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835 ; [.3164.002D.0002.7070][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.315E.002B.0002.707D][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.315E.002C.0002.7099][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.3162.0028.0002.70AD][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.3157.0025.0002.70C8][.31D6.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.3157.0022.0002.70D9][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.3157.0025.0002.7149][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.315E.002D.0002.716E][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.315E.002D.0002.716E][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.3157.0026.0002.71CE][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.3157.0023.0002.71D0][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.3157.0027.0002.7210][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.3157.0026.0002.721B][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.3160.0036.0002.7228][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.315E.0028.0002.7235][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.315E.0028.0002.7235][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.3157.0023.0002.7262][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.315B.0030.0002.7280][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.3159.0027.0002.72AF][.31D4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.315B.0035.0002.72C0][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.3157.0024.0002.72FC][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.315E.002E.0002.732A][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.315E.002E.0002.732A][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.3157.0021.0002.7375][.31D6.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.3155.0023.0002.737A][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.315B.0021.0002.7387][.31D8.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.315B.0021.0002.7387][.31D8.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.315D.0025.0002.738B][.31D9.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.3157.0027.0002.73B2][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.3157.0023.0002.73DE][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.3157.002D.0002.7406][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.3157.0028.0002.7409][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.3162.002B.0002.7422][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.315D.003D.0002.745C][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.3164.002D.0002.7469][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.315E.0057.0002.7471][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.315E.0057.0002.7471][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+F994 ; [.3157.0026.0002.7489][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.3157.0024.0002.7498][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.3152.003A.0002.74CA][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+F9CD ; [.3157.002A.0002.7559][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.3157.0022.0002.7565][.31D2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.315D.002C.0002.7570][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.315D.002C.0002.7570][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.3157.002F.0002.75E2][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.315D.0059.0002.7610][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5 ; [.315D.0023.0002.761F][.31D8.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.3157.0027.0002.7642][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.3157.0023.0002.7669][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.315D.0022.0002.76CA][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.315D.0022.0002.76CA][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.315B.002B.0002.76DB][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.3157.0028.0002.76E7][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.315E.0021.0002.76F4][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.315E.0021.0002.76F4][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.315B.002C.0002.7701][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.315E.0033.0002.771E][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+FAAA ; [.3160.0023.0002.7740][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A ; [.315E.0034.0002.778B][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE ; [.3157.002C.0002.786B][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.3157.0021.0002.788C][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.3157.0021.0002.788C][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.3159.0038.0002.7891][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.3157.0024.0002.78CA][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+F964 ; [.3159.0032.0002.78FB][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.3157.002B.0002.792A][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C ; [.315B.0046.0002.793E][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.3152.004C.0002.7948][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.315E.0035.0002.7949][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.315D.0032.0002.7950][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.315E.0039.0002.7956][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.315E.0039.0002.7956][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.3160.0023.0002.795D][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.315B.002C.0002.795E][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.315B.0037.0002.7965][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.3157.0022.0002.797F][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.3164.0027.0002.798D][.31D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.315E.0044.0002.798E][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.3159.0028.0002.798F][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.3159.0028.0002.798F][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.3157.0023.0002.79AE][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.3154.0023.0002.79CA][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.3160.0024.0002.79EB][.31DD.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.3157.0023.0002.7A1C][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.3152.0025.0002.7A40][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.3152.0025.0002.7A40][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+FA55 ; [.3155.0022.0002.7A81][.31D8.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.3157.0022.0002.7ACB][.31E4.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.3157.0023.0002.7B20][.31E4.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.315E.0027.0002.7BC0][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.315E.0027.0002.7BC0][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.315E.003D.0002.7BC6][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.3160.0026.0002.7BC9][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.3157.0025.0002.7C3E][.31D6.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.3157.0026.0002.7C60][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.3157.0024.0002.7C92][.31E4.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.315E.0047.0002.7CBE][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03 ; [.3155.0029.0002.7CD6][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.3157.0029.0002.7CE7][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A ; [.3152.004F.0002.7D00][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.3154.0022.0002.7D10][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.315B.0023.0002.7D22][.31D1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.3157.0028.0002.7D2F][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.315E.0063.0002.7D5B][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.3159.0034.0002.7D63][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.3157.0023.0002.7DA0][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.3157.0024.0002.7DBE][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.3160.0030.0002.7DC7][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.3157.0027.0002.7DF4][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.3157.0027.0002.7DF4][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.3157.0027.0002.7DF4][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.315E.0036.0002.7E09][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.3157.0029.0002.7E37][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.3159.0026.0002.7E41][.31D4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.315B.0052.0002.7E45][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.3159.0035.0002.7F3E][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.315B.0035.0002.7F72][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.3157.0031.0002.7F79][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F ; [.3157.0024.0002.7F85][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF ; [.3157.0029.0002.7F9A][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.315D.0036.0002.7FBD][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.3152.005A.0002.7FFA][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.3157.0029.0002.8001][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.315E.0033.0002.8005][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.315E.0033.0002.8005][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.315E.0033.0002.8005][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.3157.002B.0002.8046][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.3157.0028.0002.806F][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.3160.0028.0002.8070][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.3157.0027.0002.807E][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.3157.0022.0002.808B][.31E2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.3154.0023.0002.80AD][.31DD.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.315D.0024.0002.80B2][.31E1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.3159.003F.0002.813E][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.3157.0022.0002.81D8][.31D0.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.3157.0024.0002.81E8][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.3160.002A.0002.81ED][.31E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.315D.002E.0002.8201][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.315D.002E.0002.8201][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+F97C ; [.3157.002A.0002.826F][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.315D.0037.0002.828B][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991 ; [.315E.003B.0002.829D][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.3164.0029.0002.82B1][.31D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.3159.0035.0002.82B3][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.315D.0029.0002.82BD][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.315D.0023.0002.82E5][.31D2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.315D.0023.0002.82E5][.31D2.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.3152.003A.0002.82E6][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.3160.002E.0002.831D][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.315D.004C.0002.8323][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.3155.0022.0002.8336][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.3164.0034.0002.8352][.31D9.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D ; [.3158.002A.0002.83BD][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.3157.0024.0002.83C9][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.3152.0023.0002.83CA][.31DD.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.3152.0025.0002.83CC][.31E1.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.3160.0029.0002.83DC][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4 ; [.3164.002A.0002.83EF][.31D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.3157.0025.0002.83F1][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.3157.0025.0002.843D][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.315D.0023.0002.8449][.31D6.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.315E.0034.0002.8457][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.315E.0034.0002.8457][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.3157.0029.0002.84EE][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.3163.002A.0002.84F1][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+F9C2 ; [.3157.002A.0002.84FC][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC ; [.315D.0062.0002.8564][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.3157.0028.0002.85CD][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.3157.0025.0002.85FA][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.3157.002A.0002.8606][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.3157.0027.0002.862D][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.3157.0025.0002.863F][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.3164.0023.0002.8650][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.3157.002B.0002.865C][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.3157.002B.0002.865C][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.3164.0025.0002.8667][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7 ; [.3160.0034.0002.86A9][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BC ; [.315E.0026.0002.8728][.31D4.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+F911 ; [.3157.0026.0002.87BA][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+F927 ; [.3157.0023.0002.881F][.31D0.0020.0002][.323E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.3164.0025.0002.884C][.31D1.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.315D.0030.0002.8863][.31E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.3157.0026.0002.88C2][.31D6.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.3157.0034.0002.88CF][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8 ; [.3157.0035.0002.88E1][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.3157.0027.0002.88F8][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.3152.0028.0002.8910][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.3152.0034.0002.8941][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.3157.0029.0002.8964][.31D0.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.3159.002D.0002.8986][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.3152.0028.0002.898B][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.315B.0037.0002.8996][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.315B.0037.0002.8996][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.315B.0031.0002.8AA0][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.315B.002B.0002.8AAA][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.315B.002B.0002.8AAA][.31D4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.315E.0046.0002.8ABF][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.3160.0026.0002.8ACB][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.3157.002B.0002.8AD2][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.3157.0021.0002.8AD6][.31D8.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.315D.0046.0002.8AED][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.315D.0046.0002.8AED][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.315E.0030.0002.8AF8][.31D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.315E.0030.0002.8AF8][.31D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.3154.0021.0002.8AFE][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.3154.0021.0002.8AFE][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.315D.0022.0002.8B01][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.315D.0022.0002.8B01][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.3152.002D.0002.8B39][.31E2.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.3152.002D.0002.8B39][.31E2.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.315B.002C.0002.8B58][.31E4.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.3155.002A.0002.8B80][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.3159.0023.0002.8B8A][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.3159.0023.0002.8B8A][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.3152.0057.0002.8C48][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.315B.003B.0002.8C55][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.3152.002E.0002.8CAB][.31D9.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.3159.0032.0002.8CC1][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.3157.0025.0002.8CC2][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.3152.0039.0002.8CC8][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.3159.002D.0002.8CD3][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.315E.002B.0002.8D08][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.315E.002B.0002.8D08][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.3152.0039.0002.8D1B][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.3152.0058.0002.8D77][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA ; [.3159.0027.0002.8DCB][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.3157.002C.0002.8DEF][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902 ; [.3160.002D.0002.8ECA][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998 ; [.3157.002A.0002.8F26][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.3157.0026.0002.8F2A][.31E1.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.315B.004F.0002.8F38][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.315B.004F.0002.8F38][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.3159.002F.0002.8F3B][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.3157.0026.0002.8F62][.31D6.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971 ; [.315E.003E.0002.8FB0][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.3157.002B.0002.9023][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.315D.0027.0002.9038][.31E4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.315D.0027.0002.9038][.31E4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.315E.0041.0002.9072][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.3157.002B.0002.907C][.31DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.3157.0028.0002.908F][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+FA2E ; [.3157.0028.0002.90DE][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA26 ; [.3155.0045.0002.90FD][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.3157.0026.0002.916A][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.3157.0024.0002.91B4][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.3157.0036.0002.91CC][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.3157.002D.0002.91CF][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.3152.0021.0002.91D1][.31E4.0020.0002][.323D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.3157.002D.0002.9234][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.3159.002F.0002.9238][.31D0.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+2F9EA ; [.3159.0039.0002.927C][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.3164.003F.0002.92D7][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+F93F ; [.3157.0025.0002.9304][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.3157.002C.0002.934A][.31D6.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EE ; [.3152.0033.0002.958B][.31D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.3157.002E.0002.95AD][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6 ; [.315D.0031.0002.962E][.31D9.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.3157.002D.0002.964B][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.3152.0037.0002.964D][.31D0.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.3157.0026.0002.9675][.31E2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.3157.0023.0002.9678][.31E1.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.315E.004E.0002.967C][.31D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.3157.0021.0002.9686][.31E1.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.3157.0027.0002.96A3][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.3157.0025.0002.96B7][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.3157.0026.0002.96B8][.31D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA ; [.3157.0038.0002.96E2][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.3154.0023.0002.96E3][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.3154.0023.0002.96E3][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.3157.002E.0002.96F6][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.3157.0028.0002.96F7][.31DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.315D.0031.0002.9723][.31DD.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.3157.002E.0002.9732][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.3157.002F.0002.9748][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.315E.0054.0002.9756][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.315E.0054.0002.9756][.31D4.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2F9FA ; [.3163.0034.0002.97E0][.31E4.0020.0002][.3235.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.3164.0026.0002.97FF][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.3164.0026.0002.97FF][.31D2.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.3157.0030.0002.9818][.31D6.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A ; [.3159.002E.0002.983B][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.3159.002E.0002.983B][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.3157.002E.0002.985E][.31E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.3152.005B.0002.98E2][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.3159.0039.0002.98EF][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.315B.005A.0002.98FC][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.3152.0030.0002.9928][.31D9.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A ; [.3157.0027.0002.99F1][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987 ; [.3157.0030.0002.9A6A][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.315E.004C.0002.9B12][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.315E.004C.0002.9B12][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.3157.002F.0002.9B6F][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2 ; [.3157.0028.0002.9C57][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D ; [.3164.0025.0002.9DB4][.31D0.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.3157.0030.0002.9DFA][.31D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.3157.0028.0002.9E1E][.31D0.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.3157.0026.0002.9E7F][.31D8.0020.0002][.322E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.3157.0031.0002.9E97][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.3157.0029.0002.9E9F][.31E4.0020.0002][.3231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.3158.0028.0002.9EBB][.31D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.3157.0032.0002.9ECE][.31D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA1C ; [.3159.004A.0002.9F3B][.31E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4 ; [.3157.0021.0002.9F8D][.31DC.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.3157.002E.0002.9F8E][.31D8.0020.0002][.3242.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.3152.0056.0002.9F9C][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.3152.0056.0002.9F9C][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.3152.0056.0002.9F9C][.31DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl
index e9218a427a8..ca826bb78ba 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl
@@ -1,13 +1,13 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0902 ; [.1FDC.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901 ; [.1FDC.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
-0903 ; [.1FDC.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
-0950 ; [.1FDC.0020.0002.0950][.FFF0.0000.0000.0000] # DEVANAGARI OM
-0933 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
-0934 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.201D.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-0939 ; [.201D.0020.0002.0939][.FFF0.0000.0000.0000] # DEVANAGARI LETTER HA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0902 ; [.1FD8.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FD8.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FD8.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950 ; [.1FD8.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933 ; [.2019.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2019.0020.0002][.FFF1.0000.0000][.0000.00B6.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2019.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+0939 ; [.2019.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl
index ede03b8cf71..0938116ab1a 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl
@@ -1,12 +1,12 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-025B ; [.164D.0020.0002.025B] # LATIN SMALL LETTER OPEN E
-0190 ; [.164D.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
-2107 ; [.164D.0020.000A.2107] # EULER CONSTANT
-1D4B ; [.164D.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E
-0254 ; [.1771.0021.0002.0254] # LATIN SMALL LETTER OPEN O
-0186 ; [.1771.0021.0008.0186] # LATIN CAPITAL LETTER OPEN O
-1D53 ; [.1771.0021.0014.1D53] # MODIFIER LETTER SMALL OPEN O
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+025B ; [.1649.0020.0002] # LATIN SMALL LETTER OPEN E
+0190 ; [.1649.0020.0008] # LATIN CAPITAL LETTER OPEN E
+2107 ; [.1649.0020.000A] # EULER CONSTANT
+1D4B ; [.1649.0020.0014] # MODIFIER LETTER SMALL OPEN E
+0254 ; [.176D.0021.0002] # LATIN SMALL LETTER OPEN O
+0186 ; [.176D.0021.0008] # LATIN CAPITAL LETTER OPEN O
+1D53 ; [.176D.0021.0014] # MODIFIER LETTER SMALL OPEN O
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
index ee488695c23..a310d947cff 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
@@ -1,48 +1,48 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
- entry => <<'ENTRY', # for DUCET v6.2.0
-0049 0307 ; [.16CD.0020.0008.0049][.0000.0052.0002.0307] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
-0307 0300 ; [.0000.0035.0002.0300] # <COMBINING DOT ABOVE, COMBINING GRAVE ACCENT>
-0307 0301 ; [.0000.0032.0002.0301] # <COMBINING DOT ABOVE, COMBINING ACUTE ACCENT>
-0307 0303 ; [.0000.004E.0002.0303] # <COMBINING DOT ABOVE, COMBINING TILDE>
-0105 ; [.15EF.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.15EF.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0104 ; [.15EF.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.15EF.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-010D ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0119 ; [.164C.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.164C.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.164C.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.164C.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0117 ; [.164C.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
-0065 0307 ; [.164C.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116 ; [.164C.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0045 0307 ; [.164C.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-012F ; [.16CD.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
-0069 0328 ; [.16CD.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
-012E ; [.16CD.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
-0049 0328 ; [.16CD.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
-0079 ; [.16CD.0022.0002.0079] # LATIN SMALL LETTER Y
-0059 ; [.16CD.0022.0008.0059] # LATIN CAPITAL LETTER Y
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0173 ; [.1836.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
-0075 0328 ; [.1836.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
-0172 ; [.1836.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
-0055 0328 ; [.1836.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
-016B ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0049 0307 ; [.16C9.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+0307 0300 ; [.0000.0025.0002] # <COMBINING DOT ABOVE, COMBINING GRAVE ACCENT>
+0307 0301 ; [.0000.0024.0002] # <COMBINING DOT ABOVE, COMBINING ACUTE ACCENT>
+0307 0303 ; [.0000.002D.0002] # <COMBINING DOT ABOVE, COMBINING TILDE>
+0105 ; [.15EB.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15EB.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15EB.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15EB.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+010D ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0119 ; [.1648.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1648.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1648.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1648.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0117 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0065 0307 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0045 0307 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+012F ; [.16C9.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
+0069 0328 ; [.16C9.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
+012E ; [.16C9.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
+0049 0328 ; [.16C9.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
+0079 ; [.16C9.0022.0002] # LATIN SMALL LETTER Y
+0059 ; [.16C9.0022.0008] # LATIN CAPITAL LETTER Y
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0173 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
+0075 0328 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
+0172 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
+0055 0328 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
+016B ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+017E ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
index 80d858625df..9ca6704cc41 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
@@ -1,37 +1,37 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-010D ; [.1630.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1630.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.1630.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1630.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0123 ; [.16B3.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0067 0327 ; [.16B3.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0122 ; [.16B3.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0047 0327 ; [.16B3.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0137 ; [.1710.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-006B 0327 ; [.1710.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-0136 ; [.1710.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-004B 0327 ; [.1710.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-013C ; [.1740.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-006C 0327 ; [.1740.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-013B ; [.1740.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-004C 0327 ; [.1740.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-0146 ; [.1770.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-006E 0327 ; [.1770.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-0145 ; [.1770.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-004E 0327 ; [.1770.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-0157 ; [.17F2.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0072 0327 ; [.17F2.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0156 ; [.17F2.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0052 0327 ; [.17F2.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0161 ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.18B1.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.18B1.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.18B1.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.18B1.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+010D ; [.162C.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.162C.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.162C.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.162C.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0123 ; [.16AF.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0067 0327 ; [.16AF.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0122 ; [.16AF.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
+0047 0327 ; [.16AF.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
+0137 ; [.170C.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
+006B 0327 ; [.170C.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
+0136 ; [.170C.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
+004B 0327 ; [.170C.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
+013C ; [.173C.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
+006C 0327 ; [.173C.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
+013B ; [.173C.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
+004C 0327 ; [.173C.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
+0146 ; [.176C.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
+006E 0327 ; [.176C.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
+0145 ; [.176C.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
+004E 0327 ; [.176C.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
+0157 ; [.17EE.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0072 0327 ; [.17EE.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0156 ; [.17EE.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
+0052 0327 ; [.17EE.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
+0161 ; [.1811.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1811.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.1811.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1811.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.18AD.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.18AD.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.18AD.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.18AD.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl
index a5a1de149b8..0b42047a6bf 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl
@@ -1,45 +1,45 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0415, 0x0435, 0x0416, 0x0436,
0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E5 ; [.1A0A.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.1A0A.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0457 ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.1A0A.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.1A0A.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.1A06.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.1A06.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.1A12.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1A12.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.1A06.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.1A06.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl
index 415f3ed2ba4..92446b45931 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl
@@ -1,23 +1,23 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0D3D ; [.0000.00F5.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
-0D57 ; [.2246.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
-0D4C ; [.2246.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.2246.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
-0D15 0D4D 200D ; [.2211.0020.0002.0D15][.2248.0021.0002.0D15] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7F ; [.2211.0020.0003.0D7F][.2248.0021.0002.0D7F] # MALAYALAM LETTER CHILLU K
-0D23 0D4D 200D ; [.221F.0020.0002.0D23][.2248.0021.0002.0D23] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7A ; [.221F.0020.0003.0D7A][.2248.0021.0002.0D7A] # MALAYALAM LETTER CHILLU NN
-0D28 0D4D 200D ; [.2224.0020.0002.0D28][.2248.0021.0002.0D28] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7B ; [.2224.0020.0003.0D7B][.2248.0021.0002.0D7B] # MALAYALAM LETTER CHILLU N
-0D30 0D4D 200D ; [.222C.0020.0002.0D30][.2248.0021.0002.0D30] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7C ; [.222C.0020.0003.0D7C][.2248.0021.0002.0D7C] # MALAYALAM LETTER CHILLU RR
-0D32 0D4D 200D ; [.222D.0020.0002.0D32][.2248.0021.0002.0D32] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7D ; [.222D.0020.0003.0D7D][.2248.0021.0002.0D7D] # MALAYALAM LETTER CHILLU L
-0D33 0D4D 200D ; [.2233.0020.0002.0D33][.2248.0021.0002.0D33] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7E ; [.2233.0020.0003.0D7E][.2248.0021.0002.0D7E] # MALAYALAM LETTER CHILLU LL
-0D02 ; [.222A.0020.0002.0D2E][.2248.0021.0002.0D02] # MALAYALAM SIGN ANUSVARA
-0D7B 0D4D ; [.2224.0020.0002.0D28][.2248.0020.0003.0D7B] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0D3D ; [.0000.00BA.0002] # MALAYALAM SIGN AVAGRAHA
+0D57 ; [.2242.0020.0002] # MALAYALAM AU LENGTH MARK
+0D4C ; [.2242.0020.0003] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.2242.0020.0003] # MALAYALAM VOWEL SIGN AU
+0D15 0D4D 200D ; [.220D.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7F ; [.220D.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU K
+0D23 0D4D 200D ; [.221B.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7A ; [.221B.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU NN
+0D28 0D4D 200D ; [.2220.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7B ; [.2220.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU N
+0D30 0D4D 200D ; [.2228.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7C ; [.2228.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU RR
+0D32 0D4D 200D ; [.2229.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7D ; [.2229.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU L
+0D33 0D4D 200D ; [.222F.0020.0002][.2244.0021.0002] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7E ; [.222F.0020.0003][.2244.0021.0002] # MALAYALAM LETTER CHILLU LL
+0D02 ; [.2226.0020.0002][.2244.0021.0002] # MALAYALAM SIGN ANUSVARA
+0D7B 0D4D ; [.2220.0020.0002][.2244.0020.0003] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl
index 7e72266bd2d..b9a9b9d2a6e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl
@@ -1,14 +1,14 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0902 ; [.1FDC.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901 ; [.1FDC.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
-0903 ; [.1FDC.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
-0950 ; [.1FDC.0020.0002.0950][.FFF0.0000.0000.0000] # DEVANAGARI OM
-0933 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
-0934 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.201D.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-091C 094D 091E ; [.201D.0020.0002.091C][.FFF3.0000.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
-0939 ; [.201D.0020.0002.0939][.FFF0.0000.0000.0000] # DEVANAGARI LETTER HA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0902 ; [.1FD8.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FD8.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FD8.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950 ; [.1FD8.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933 ; [.2019.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2019.0020.0002][.FFF1.0000.0000][.0000.00B6.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2019.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.2019.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+0939 ; [.2019.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
index ccc6225fcd8..1c41e5dadf6 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
@@ -1,30 +1,31 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
upper_before_lower => 1,
- entry => <<'ENTRY', # for DUCET v6.2.0
-010B ; [.161C.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-0063 0307 ; [.161C.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A ; [.161C.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0043 0307 ; [.161C.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0121 ; [.1690.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0067 0307 ; [.1690.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120 ; [.1690.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0047 0307 ; [.1690.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0067 0127 ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0067 0126 ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0047 0127 ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0047 0126 ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0067 0068 0335 ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0067 0048 0335 ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0068 0335 ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0048 0335 ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0127 ; [.16CC.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0068 0335 ; [.16CC.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0126 ; [.16CC.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-0048 0335 ; [.16CC.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-017C ; [.1894.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1894.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1894.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1894.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+010B ; [.1618.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.1618.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.1618.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.1618.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121 ; [.168C.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.168C.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.168C.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.168C.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.16AF.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.16AF.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.16AF.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.16AF.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.16AF.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.16AF.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.16AF.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.16AF.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127 ; [.16C8.0020.0002] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.16C8.0020.0002] # LATIN SMALL LETTER H WITH STROKE
+210F ; [.16C8.0020.0002] # PLANCK CONSTANT OVER TWO PI
+0126 ; [.16C8.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.16C8.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
+017C ; [.1890.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1890.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1890.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1890.0020.0008] # 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
index 9fa11d5519d..4cbe9efe88f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
@@ -1,74 +1,76 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1908.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1908.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1908.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1903.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1903.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1904.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1904.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1904.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
index 9fa11d5519d..4cbe9efe88f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
@@ -1,74 +1,76 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1908.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1908.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1908.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1902.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1902.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1902.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1902.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1902.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1902.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1902.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1902.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1902.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1902.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1903.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1903.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1903.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1903.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1903.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1903.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1903.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1903.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1904.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1904.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1904.0020.0008] # ANGSTROM SIGN
+01FB ; [.1904.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1904.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1904.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1904.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1904.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
index 8b0d74fc274..2cd7e54b78e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
@@ -1,37 +1,37 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00EA ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.164D.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164D.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.164D.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164D.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164D.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164D.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164D.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164D.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00EA ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1649.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1649.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1649.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1649.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1649.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1649.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1649.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1649.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1649.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1649.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.176E.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.176E.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.176E.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.176E.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.176E.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.176E.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.176E.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.176E.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.176E.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # 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
index 20506924fae..46bae724b19 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
@@ -1,22 +1,22 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0063 0068 ; [.1896.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1896.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1896.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0068 ; [.1897.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0044 0068 ; [.1897.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.1897.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-006B 0068 ; [.1898.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
-004B 0068 ; [.1898.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
-004B 0048 ; [.1898.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
-006E 0079 ; [.1899.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1899.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1899.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0070 0068 ; [.189A.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.189A.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.189A.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0073 0068 ; [.189B.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.189B.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0063 0068 ; [.1892.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1892.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1892.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.1893.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.1893.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1893.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+006B 0068 ; [.1894.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.1894.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.1894.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0079 ; [.1895.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1895.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1895.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0070 0068 ; [.1896.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1896.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1896.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0073 0068 ; [.1897.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1897.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl
index 774613e1653..49cb789d606 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl
@@ -1,12 +1,12 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0B01 ; [.2108.0020.0002.0B01][.FFF1.0000.0000.0000] # ORIYA SIGN CANDRABINDU
-0B02 ; [.2108.0020.0002.0B02][.FFF2.0000.0000.0000] # ORIYA SIGN ANUSVARA
-0B03 ; [.2108.0020.0002.0B03][.FFF3.0000.0000.0000] # ORIYA SIGN VISARGA
-0B14 ; [.2108.0020.0002.0B14][.FFF0.0000.0000.0000] # ORIYA LETTER AU
-0B15 0B4D 0B37 ; [.212C.0020.0002.0B15][.FFF1.0000.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
-0B39 ; [.212C.0020.0002.0B39][.FFF0.0000.0000.0000] # ORIYA LETTER HA
-0B5F ; [.2122.0021.0002.0B5F] # ORIYA LETTER YYA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0B01 ; [.2104.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
+0B02 ; [.2104.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
+0B03 ; [.2104.0020.0002][.FFF3.0000.0000] # ORIYA SIGN VISARGA
+0B14 ; [.2104.0020.0002][.FFF0.0000.0000] # ORIYA LETTER AU
+0B15 0B4D 0B37 ; [.2128.0020.0002][.FFF1.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
+0B39 ; [.2128.0020.0002][.FFF0.0000.0000] # ORIYA LETTER HA
+0B5F ; [.211E.0021.0002] # ORIYA LETTER YYA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl
index 9b14e18f11d..c261deaefdc 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl
@@ -1,27 +1,27 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0A71 ; [.0000.00F2.0002.0A71] # GURMUKHI ADDAK
-0A03 ; [.0000.00F1.0002.0A03] # GURMUKHI SIGN VISARGA
-0A70 ; [.0000.00F3.0002.0A70] # GURMUKHI TIPPI
-0A02 ; [.0000.00F4.0002.0A02] # GURMUKHI SIGN BINDI
-0A01 ; [.0000.00F5.0002.0A01] # GURMUKHI SIGN ADAK BINDI
-0A3C ; [.0000.00F6.0002.0A3C] # GURMUKHI SIGN NUKTA
-0A33 ; [.20AA.0020.0002.0A32][.0000.00F6.0002.0A3C] # GURMUKHI LETTER LLA
-0A36 ; [.208B.0020.0002.0A38][.0000.00F6.0002.0A3C] # GURMUKHI LETTER SHA
-0A59 ; [.208F.0020.0002.0A16][.0000.00F6.0002.0A3C] # GURMUKHI LETTER KHHA
-0A5A ; [.2090.0020.0002.0A17][.0000.00F6.0002.0A3C] # GURMUKHI LETTER GHHA
-0A5B ; [.2095.0020.0002.0A1C][.0000.00F6.0002.0A3C] # GURMUKHI LETTER ZA
-0A5E ; [.20A3.0020.0002.0A2B][.0000.00F6.0002.0A3C] # GURMUKHI LETTER FA
-0A4D ; [.20AD.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
-0A3E ; [.20AE.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
-0A3F ; [.20AF.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
-0A40 ; [.20B0.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
-0A41 ; [.20B1.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
-0A42 ; [.20B2.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
-0A47 ; [.20B3.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
-0A48 ; [.20B4.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
-0A4B ; [.20B5.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
-0A4C ; [.20B6.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0A71 ; [.0000.00B7.0002] # GURMUKHI ADDAK
+0A03 ; [.0000.00B6.0002] # GURMUKHI SIGN VISARGA
+0A70 ; [.0000.00B8.0002] # GURMUKHI TIPPI
+0A02 ; [.0000.00B9.0002] # GURMUKHI SIGN BINDI
+0A01 ; [.0000.00BA.0002] # GURMUKHI SIGN ADAK BINDI
+0A3C ; [.0000.00BB.0002] # GURMUKHI SIGN NUKTA
+0A33 ; [.20A6.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER LLA
+0A36 ; [.2087.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER SHA
+0A59 ; [.208B.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER KHHA
+0A5A ; [.208C.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER GHHA
+0A5B ; [.2091.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER ZA
+0A5E ; [.209F.0020.0002][.0000.00BB.0002] # GURMUKHI LETTER FA
+0A4D ; [.20A9.0020.0002] # GURMUKHI SIGN VIRAMA
+0A3E ; [.20AA.0020.0002] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.20AB.0020.0002] # GURMUKHI VOWEL SIGN I
+0A40 ; [.20AC.0020.0002] # GURMUKHI VOWEL SIGN II
+0A41 ; [.20AD.0020.0002] # GURMUKHI VOWEL SIGN U
+0A42 ; [.20AE.0020.0002] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.20AF.0020.0002] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.20B0.0020.0002] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.20B1.0020.0002] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.20B2.0020.0002] # GURMUKHI VOWEL SIGN AU
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
index 9f5397e4298..297acdc16f5 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
@@ -1,51 +1,51 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0105 ; [.15F0.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.15F0.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0104 ; [.15F0.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.15F0.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0107 ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106 ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0119 ; [.164D.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.164D.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.164D.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.164D.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0142 ; [.1712.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-006C 0335 ; [.1712.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-0141 ; [.1712.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-004C 0335 ; [.1712.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-0144 ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F3 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-015B ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0301 ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0341 ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-015A ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0301 ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0341 ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-017A ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0301 ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0341 ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-0179 ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0301 ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0341 ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-017C ; [.1897.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1897.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1897.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1897.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0105 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0107 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0119 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0142 ; [.170E.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.170E.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+0141 ; [.170E.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.170E.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+0144 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+00F3 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+015B ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+015A ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+017A ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+0179 ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+017C ; [.1893.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1893.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1893.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1893.0020.0008] # 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
index f903102d3d0..bddd3f25bf0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
@@ -1,53 +1,53 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0103 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1 ; [.15F0.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0 ; [.15F0.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF ; [.15F0.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE ; [.15F0.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5 ; [.15F0.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4 ; [.15F0.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3 ; [.15F0.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2 ; [.15F0.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7 ; [.15F0.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6 ; [.15F0.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7 ; [.15F1.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6 ; [.15F1.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5 ; [.15F1.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4 ; [.15F1.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB ; [.15F1.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA ; [.15F1.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9 ; [.15F1.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8 ; [.15F1.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD ; [.15F1.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC ; [.15F1.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-00EE ; [.16CE.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0069 0302 ; [.16CE.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE ; [.16CE.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0049 0302 ; [.16CE.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-015F ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0219 ; [.17F4.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-0073 0326 ; [.17F4.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-015E ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0218 ; [.17F4.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0053 0326 ; [.17F4.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0163 ; [.1817.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-0074 0327 ; [.1817.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-021B ; [.1817.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0074 0326 ; [.1817.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0162 ; [.1817.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-0054 0327 ; [.1817.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-021A ; [.1817.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-0054 0326 ; [.1817.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0103 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15EC.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15EC.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15EC.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15EC.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15EC.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15EC.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15EC.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15EC.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15EC.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15EC.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15ED.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15ED.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15ED.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15ED.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15ED.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15ED.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15ED.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15ED.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15ED.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15ED.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15ED.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15ED.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15ED.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15ED.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+00EE ; [.16CA.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.16CA.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16CA.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.16CA.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0219 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163 ; [.1813.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.1813.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
+021B ; [.1813.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.1813.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162 ; [.1813.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.1813.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A ; [.1813.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.1813.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
index 79d3cb100e5..20160941ea4 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
@@ -1,45 +1,45 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457 ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.1A12.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1A12.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl
index 7e72266bd2d..b9a9b9d2a6e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl
@@ -1,14 +1,14 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0902 ; [.1FDC.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901 ; [.1FDC.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
-0903 ; [.1FDC.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
-0950 ; [.1FDC.0020.0002.0950][.FFF0.0000.0000.0000] # DEVANAGARI OM
-0933 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
-0934 ; [.201D.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.201D.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-091C 094D 091E ; [.201D.0020.0002.091C][.FFF3.0000.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
-0939 ; [.201D.0020.0002.0939][.FFF0.0000.0000.0000] # DEVANAGARI LETTER HA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0902 ; [.1FD8.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FD8.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FD8.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950 ; [.1FD8.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933 ; [.2019.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2019.0020.0002][.FFF1.0000.0000][.0000.00B6.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2019.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.2019.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+0939 ; [.2019.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
index 12dfd8414f8..e6e91281e0d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
@@ -1,148 +1,150 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# eng, g-stroke, t-stroke don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E1 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-010D ; [.162E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.162E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.162E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.162E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0292 ; [.162F.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7 ; [.162F.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-01EF ; [.1630.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-0292 030C ; [.1630.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.1630.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-01B7 030C ; [.1630.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-0111 ; [.164B.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.164B.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.164B.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.164B.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.164B.0021.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.164B.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
-01E7 ; [.169C.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-0067 030C ; [.169C.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-01E6 ; [.169C.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-0047 030C ; [.169C.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-01E9 ; [.1710.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-006B 030C ; [.1710.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-01E8 ; [.1710.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-004B 030C ; [.1710.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-0144 ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F1 ; [.176D.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.176D.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.176D.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.176D.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-0161 ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-00FE ; [.181B.0021.0002.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.181B.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-017E ; [.1902.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1902.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1902.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1902.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-00F8 ; [.1903.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1903.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1903.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1903.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1903.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1903.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0153 ; [.1903.0021.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1903.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E6 ; [.1904.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1904.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1904.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1904.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1904.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1904.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1904.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E5 ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0227 ; [.1906.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0061 0307 ; [.1906.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226 ; [.1906.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0041 0307 ; [.1906.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-00E4 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3 ; [.1907.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-0061 0303 ; [.1907.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-00C3 ; [.1907.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-0041 0303 ; [.1907.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-00F6 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1908.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1908.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1908.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1908.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5 ; [.1908.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.1908.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.1908.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.1908.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D ; [.1908.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C ; [.1908.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D ; [.1908.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C ; [.1908.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F ; [.1908.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E ; [.1908.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1 ; [.1908.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.1908.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00F4 ; [.1908.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1908.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1908.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1908.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1908.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1908.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1908.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1908.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1908.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1908.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1908.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1908.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1908.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1908.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01EB ; [.1908.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-006F 0328 ; [.1908.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-01EA ; [.1908.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
-004F 0328 ; [.1908.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E1 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1600.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1600.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+010D ; [.162A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.162A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.162A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.162A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0292 ; [.162B.0020.0002] # LATIN SMALL LETTER EZH
+01B7 ; [.162B.0020.0008] # LATIN CAPITAL LETTER EZH
+01EF ; [.162C.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.162C.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.162C.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.162C.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
+0111 ; [.1647.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1647.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1647.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1647.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1647.0021.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.1647.0021.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.1647.0021.0008] # LATIN CAPITAL LETTER ETH
+01E7 ; [.1698.0020.0002] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.1698.0020.0002] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.1698.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.1698.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+01E9 ; [.170C.0020.0002] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.170C.0020.0002] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.170C.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.170C.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
+0144 ; [.1769.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1769.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1769.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1769.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1769.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1769.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1 ; [.1769.0022.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1769.0022.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1769.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1769.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
+0161 ; [.1811.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1811.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.1811.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1811.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+00FE ; [.1817.0021.0002] # LATIN SMALL LETTER THORN
+00DE ; [.1817.0021.0008] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E ; [.18FE.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.18FE.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.18FE.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.18FE.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+00F8 ; [.18FF.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18FF.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18FF.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18FF.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18FF.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18FF.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153 ; [.18FF.0021.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.18FF.0021.0008] # LATIN CAPITAL LIGATURE OE
+00E6 ; [.1900.0020.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1900.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1900.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1900.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1900.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1900.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1900.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1900.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5 ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1902.0020.0008] # ANGSTROM SIGN
+01FB ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.1902.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.1902.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.1903.0021.0002] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.1903.0021.0002] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.1903.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.1903.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
+00F6 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1904.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1904.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.1904.0022.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.1904.0022.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.1904.0022.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.1904.0022.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.1904.0022.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.1904.0022.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.1904.0022.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1904.0022.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4 ; [.1904.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1904.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1904.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1904.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1904.0023.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1904.0023.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1904.0023.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1904.0023.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1904.0023.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1904.0023.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1904.0023.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1904.0023.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1904.0023.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1904.0023.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl
index 80f06273f48..c31b5492cf9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl
@@ -1,10 +1,10 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0D82 ; [.225A.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
-0D83 ; [.225A.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
-0D96 ; [.225A.0020.0002.0D96][.FFF0.0000.0000.0000] # SINHALA LETTER AUYANNA
-0DA5 ; [.2265.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA4 ; [.2266.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0D82 ; [.2256.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83 ; [.2256.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+0D96 ; [.2256.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
+0DA5 ; [.2261.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA4 ; [.2262.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl
index a76d0b2bef2..36f82eb69da 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0D82 ; [.225A.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
-0D83 ; [.225A.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
-0D96 ; [.225A.0020.0002.0D96][.FFF0.0000.0000.0000] # SINHALA LETTER AUYANNA
-0DA5 ; [.2263.0020.0002.0DA2][.2295.0020.0002.0DCA][.2265.0021.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0D82 ; [.2256.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83 ; [.2256.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+0D96 ; [.2256.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
+0DA5 ; [.225F.0020.0002][.2291.0020.0002][.2261.0021.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
index ef9ba9fd0a1..34186fd8277 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
@@ -1,45 +1,45 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E4 ; [.15F0.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15F0.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.15F0.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15F0.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.15F0.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.15F0.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-010D ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.16B5.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.16B5.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.16B5.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.16B5.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-00F4 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0159 ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0158 ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E4 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15EC.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15EC.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+010D ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.16B1.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.16B1.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.16B1.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.16B1.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+00F4 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.176E.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.176E.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.176E.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.176E.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.176E.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.176E.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.176E.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.176E.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.176E.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0159 ; [.17BA.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17BA.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17BA.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17BA.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1892.0020.0008] # 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
index 6fdf3cf69eb..a6657bc3c10 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
@@ -1,17 +1,17 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-010D ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+010D ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1892.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1892.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1892.0020.0008] # 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
index ccc6af55203..73a212a901b 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
@@ -1,49 +1,49 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E7 ; [.1630.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.1630.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.1630.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.1630.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0064 0068 ; [.164B.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0064 0048 ; [.164B.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
-0044 0068 ; [.164B.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.164B.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-00EB ; [.1683.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1683.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB ; [.1683.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1683.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0067 006A ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
-0067 004A ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
-0047 006A ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
-0047 004A ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
-006C 006C ; [.1740.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 004C ; [.1740.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-004C 006C ; [.1740.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1740.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-006E 006A ; [.1770.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1770.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-004E 006A ; [.1770.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-004E 004A ; [.1770.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0072 0072 ; [.17F2.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
-0072 0052 ; [.17F2.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
-0052 0072 ; [.17F2.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
-0052 0052 ; [.17F2.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
-0073 0068 ; [.1815.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0073 0048 ; [.1815.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
-0053 0068 ; [.1815.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.1815.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0068 ; [.1835.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0074 0048 ; [.1835.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
-0054 0068 ; [.1835.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.1835.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
-0078 0068 ; [.187F.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
-0078 0048 ; [.187F.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
-0058 0068 ; [.187F.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
-0058 0048 ; [.187F.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
-007A 0068 ; [.18B1.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
-007A 0048 ; [.18B1.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
-005A 0068 ; [.18B1.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
-005A 0048 ; [.18B1.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E7 ; [.162C.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.162C.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.162C.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.162C.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0064 0068 ; [.1647.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0064 0048 ; [.1647.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
+0044 0068 ; [.1647.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1647.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+00EB ; [.167F.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.167F.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.167F.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.167F.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0067 006A ; [.16AF.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
+0067 004A ; [.16AF.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
+0047 006A ; [.16AF.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
+0047 004A ; [.16AF.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
+006C 006C ; [.173C.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 004C ; [.173C.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+004C 006C ; [.173C.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.173C.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+006E 006A ; [.176C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.176C.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+004E 006A ; [.176C.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+004E 004A ; [.176C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0072 0072 ; [.17EE.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
+0072 0052 ; [.17EE.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
+0052 0072 ; [.17EE.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
+0052 0052 ; [.17EE.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
+0073 0068 ; [.1811.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0073 0048 ; [.1811.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
+0053 0068 ; [.1811.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1811.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1831.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0074 0048 ; [.1831.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
+0054 0068 ; [.1831.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1831.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+0078 0068 ; [.187B.0020.0002] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
+0078 0048 ; [.187B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
+0058 0068 ; [.187B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
+0058 0048 ; [.187B.0020.0008] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
+007A 0068 ; [.18AD.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
+007A 0048 ; [.18AD.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
+005A 0068 ; [.18AD.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
+005A 0048 ; [.18AD.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl
index d0bb83d1ed3..325531de202 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl
@@ -1,49 +1,49 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456,
0x041E, 0x043E, 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443,
0x0427, 0x0447, 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E5 ; [.1A0A.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.1A0A.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0457 ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.1A0A.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.1A0A.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.1A06.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.1A06.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.1A12.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+0407 ; [.1A12.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.1A06.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.1A06.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
index 4cb3a4cd357..a0cd151bd72 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
@@ -1,87 +1,89 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-0077 ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5 ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-0119 ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151 ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1908.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1908.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00F4 ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1908.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1908.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1908.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1908.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1908.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1908.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1908.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1908.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1908.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1908.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+0077 ; [.185B.0021.0002] # LATIN SMALL LETTER W
+0057 ; [.185B.0021.0008] # LATIN CAPITAL LETTER W
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5 ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1902.0020.0008] # ANGSTROM SIGN
+01FB ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1903.0021.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1903.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1903.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1903.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1903.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+0119 ; [.1903.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1903.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1903.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1903.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1904.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1904.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1904.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1904.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151 ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1904.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1904.0023.0008] # LATIN CAPITAL LIGATURE OE
+00F4 ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1904.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1904.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1904.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1904.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1904.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1904.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1904.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1904.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1904.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1904.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl
index 6e6564bb569..0dd8eb007b2 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl
@@ -1,85 +1,87 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0111 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5 ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-0119 ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151 ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1908.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1908.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00F4 ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1908.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1908.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1908.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1908.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1908.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1908.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1908.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1908.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1908.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1908.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0111 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162D.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162D.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.162D.0022.0002] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE ; [.1812.0020.0003][.16B0.0020.0003] # LATIN SMALL LETTER THORN
+00DE ; [.1812.0020.0009][.16B0.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187C.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187C.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.187C.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.187C.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.187C.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.187C.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.187C.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.187C.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.187C.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.187C.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.187C.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.187C.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5 ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1902.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1902.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1902.0020.0008] # ANGSTROM SIGN
+01FB ; [.1902.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1902.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1903.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1903.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1903.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1903.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1903.0021.0002] # LATIN SMALL LETTER AE
+1DD4 ; [.1903.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.1903.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D ; [.1903.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1903.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1903.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1903.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1903.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+0119 ; [.1903.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1903.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1903.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1903.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1904.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1904.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1904.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1904.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1904.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1904.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1904.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1904.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151 ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1904.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1904.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1904.0023.0002] # LATIN SMALL LIGATURE OE
+0152 ; [.1904.0023.0008] # LATIN CAPITAL LIGATURE OE
+00F4 ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1904.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1904.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1904.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1904.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1904.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1904.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1904.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1904.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1904.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1904.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1904.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1904.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl
index 4dae5f1d328..3ada7ca4a5f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl
@@ -1,55 +1,55 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0B82 ; [.214B.0020.0002.0B82][.FFF0.0000.0000.0000] # TAMIL SIGN ANUSVARA
-0B83 ; [.214B.0020.0002.0B83][.FFF1.0000.0000.0000] # TAMIL SIGN VISARGA
-0B95 0BCD 0BB7 0BCD ; [.2162.0020.0002.0B95][.FFF2.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
-0B95 0BCD 0BB7 ; [.2162.0020.0002.0B95][.FFF3.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA>
-0B95 0BCD ; [.214C.0020.0002.0B95][.FFF0.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
-0B95 ; [.214C.0020.0002.0B95][.FFF1.0000.0000.0000] # TAMIL LETTER KA
-0B99 0BCD ; [.214D.0020.0002.0B99][.FFF0.0000.0000.0000] # <TAMIL LETTER NGA, TAMIL SIGN VIRAMA>
-0B99 ; [.214D.0020.0002.0B99][.FFF1.0000.0000.0000] # TAMIL LETTER NGA
-0B9A 0BCD ; [.214E.0020.0002.0B9A][.FFF0.0000.0000.0000] # <TAMIL LETTER CA, TAMIL SIGN VIRAMA>
-0B9A ; [.214E.0020.0002.0B9A][.FFF1.0000.0000.0000] # TAMIL LETTER CA
-0B9E 0BCD ; [.214F.0020.0002.0B9E][.FFF0.0000.0000.0000] # <TAMIL LETTER NYA, TAMIL SIGN VIRAMA>
-0B9E ; [.214F.0020.0002.0B9E][.FFF1.0000.0000.0000] # TAMIL LETTER NYA
-0B9F 0BCD ; [.2150.0020.0002.0B9F][.FFF0.0000.0000.0000] # <TAMIL LETTER TTA, TAMIL SIGN VIRAMA>
-0B9F ; [.2150.0020.0002.0B9F][.FFF1.0000.0000.0000] # TAMIL LETTER TTA
-0BA3 0BCD ; [.2151.0020.0002.0BA3][.FFF0.0000.0000.0000] # <TAMIL LETTER NNA, TAMIL SIGN VIRAMA>
-0BA3 ; [.2151.0020.0002.0BA3][.FFF1.0000.0000.0000] # TAMIL LETTER NNA
-0BA4 0BCD ; [.2152.0020.0002.0BA4][.FFF0.0000.0000.0000] # <TAMIL LETTER TA, TAMIL SIGN VIRAMA>
-0BA4 ; [.2152.0020.0002.0BA4][.FFF1.0000.0000.0000] # TAMIL LETTER TA
-0BA8 0BCD ; [.2153.0020.0002.0BA8][.FFF0.0000.0000.0000] # <TAMIL LETTER NA, TAMIL SIGN VIRAMA>
-0BA8 ; [.2153.0020.0002.0BA8][.FFF1.0000.0000.0000] # TAMIL LETTER NA
-0BAA 0BCD ; [.2154.0020.0002.0BAA][.FFF0.0000.0000.0000] # <TAMIL LETTER PA, TAMIL SIGN VIRAMA>
-0BAA ; [.2154.0020.0002.0BAA][.FFF1.0000.0000.0000] # TAMIL LETTER PA
-0BAE 0BCD ; [.2155.0020.0002.0BAE][.FFF0.0000.0000.0000] # <TAMIL LETTER MA, TAMIL SIGN VIRAMA>
-0BAE ; [.2155.0020.0002.0BAE][.FFF1.0000.0000.0000] # TAMIL LETTER MA
-0BAF 0BCD ; [.2156.0020.0002.0BAF][.FFF0.0000.0000.0000] # <TAMIL LETTER YA, TAMIL SIGN VIRAMA>
-0BAF ; [.2156.0020.0002.0BAF][.FFF1.0000.0000.0000] # TAMIL LETTER YA
-0BB0 0BCD ; [.2157.0020.0002.0BB0][.FFF0.0000.0000.0000] # <TAMIL LETTER RA, TAMIL SIGN VIRAMA>
-0BB0 ; [.2157.0020.0002.0BB0][.FFF1.0000.0000.0000] # TAMIL LETTER RA
-0BB2 0BCD ; [.2158.0020.0002.0BB2][.FFF0.0000.0000.0000] # <TAMIL LETTER LA, TAMIL SIGN VIRAMA>
-0BB2 ; [.2158.0020.0002.0BB2][.FFF1.0000.0000.0000] # TAMIL LETTER LA
-0BB5 0BCD ; [.2159.0020.0002.0BB5][.FFF0.0000.0000.0000] # <TAMIL LETTER VA, TAMIL SIGN VIRAMA>
-0BB5 ; [.2159.0020.0002.0BB5][.FFF1.0000.0000.0000] # TAMIL LETTER VA
-0BB4 0BCD ; [.215A.0020.0002.0BB4][.FFF0.0000.0000.0000] # <TAMIL LETTER LLLA, TAMIL SIGN VIRAMA>
-0BB4 ; [.215A.0020.0002.0BB4][.FFF1.0000.0000.0000] # TAMIL LETTER LLLA
-0BB3 0BCD ; [.215B.0020.0002.0BB3][.FFF0.0000.0000.0000] # <TAMIL LETTER LLA, TAMIL SIGN VIRAMA>
-0BB3 ; [.215B.0020.0002.0BB3][.FFF1.0000.0000.0000] # TAMIL LETTER LLA
-0BB1 0BCD ; [.215C.0020.0002.0BB1][.FFF0.0000.0000.0000] # <TAMIL LETTER RRA, TAMIL SIGN VIRAMA>
-0BB1 ; [.215C.0020.0002.0BB1][.FFF1.0000.0000.0000] # TAMIL LETTER RRA
-0BA9 0BCD ; [.215D.0020.0002.0BA9][.FFF0.0000.0000.0000] # <TAMIL LETTER NNNA, TAMIL SIGN VIRAMA>
-0BA9 ; [.215D.0020.0002.0BA9][.FFF1.0000.0000.0000] # TAMIL LETTER NNNA
-0B9C 0BCD ; [.215E.0020.0002.0B9C][.FFF0.0000.0000.0000] # <TAMIL LETTER JA, TAMIL SIGN VIRAMA>
-0B9C ; [.215E.0020.0002.0B9C][.FFF1.0000.0000.0000] # TAMIL LETTER JA
-0BB6 0BCD ; [.215F.0020.0002.0BB6][.FFF0.0000.0000.0000] # <TAMIL LETTER SHA, TAMIL SIGN VIRAMA>
-0BB6 ; [.215F.0020.0002.0BB6][.FFF1.0000.0000.0000] # TAMIL LETTER SHA
-0BB7 0BCD ; [.2160.0020.0002.0BB7][.FFF0.0000.0000.0000] # <TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
-0BB7 ; [.2160.0020.0002.0BB7][.FFF1.0000.0000.0000] # TAMIL LETTER SSA
-0BB8 0BCD ; [.2161.0020.0002.0BB8][.FFF0.0000.0000.0000] # <TAMIL LETTER SA, TAMIL SIGN VIRAMA>
-0BB8 ; [.2161.0020.0002.0BB8][.FFF1.0000.0000.0000] # TAMIL LETTER SA
-0BB9 0BCD ; [.2162.0020.0002.0BB9][.FFF0.0000.0000.0000] # <TAMIL LETTER HA, TAMIL SIGN VIRAMA>
-0BB9 ; [.2162.0020.0002.0BB9][.FFF1.0000.0000.0000] # TAMIL LETTER HA
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0B82 ; [.2147.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
+0B83 ; [.2147.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
+0B95 0BCD 0BB7 0BCD ; [.215E.0020.0002][.FFF2.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0B95 0BCD 0BB7 ; [.215E.0020.0002][.FFF3.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA>
+0B95 0BCD ; [.2148.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
+0B95 ; [.2148.0020.0002][.FFF1.0000.0000] # TAMIL LETTER KA
+0B99 0BCD ; [.2149.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NGA, TAMIL SIGN VIRAMA>
+0B99 ; [.2149.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NGA
+0B9A 0BCD ; [.214A.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER CA, TAMIL SIGN VIRAMA>
+0B9A ; [.214A.0020.0002][.FFF1.0000.0000] # TAMIL LETTER CA
+0B9E 0BCD ; [.214B.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NYA, TAMIL SIGN VIRAMA>
+0B9E ; [.214B.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NYA
+0B9F 0BCD ; [.214C.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TTA, TAMIL SIGN VIRAMA>
+0B9F ; [.214C.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TTA
+0BA3 0BCD ; [.214D.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNA, TAMIL SIGN VIRAMA>
+0BA3 ; [.214D.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNA
+0BA4 0BCD ; [.214E.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TA, TAMIL SIGN VIRAMA>
+0BA4 ; [.214E.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TA
+0BA8 0BCD ; [.214F.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NA, TAMIL SIGN VIRAMA>
+0BA8 ; [.214F.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NA
+0BAA 0BCD ; [.2150.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER PA, TAMIL SIGN VIRAMA>
+0BAA ; [.2150.0020.0002][.FFF1.0000.0000] # TAMIL LETTER PA
+0BAE 0BCD ; [.2151.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER MA, TAMIL SIGN VIRAMA>
+0BAE ; [.2151.0020.0002][.FFF1.0000.0000] # TAMIL LETTER MA
+0BAF 0BCD ; [.2152.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER YA, TAMIL SIGN VIRAMA>
+0BAF ; [.2152.0020.0002][.FFF1.0000.0000] # TAMIL LETTER YA
+0BB0 0BCD ; [.2153.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RA, TAMIL SIGN VIRAMA>
+0BB0 ; [.2153.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RA
+0BB2 0BCD ; [.2154.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LA, TAMIL SIGN VIRAMA>
+0BB2 ; [.2154.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LA
+0BB5 0BCD ; [.2155.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER VA, TAMIL SIGN VIRAMA>
+0BB5 ; [.2155.0020.0002][.FFF1.0000.0000] # TAMIL LETTER VA
+0BB4 0BCD ; [.2156.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLLA, TAMIL SIGN VIRAMA>
+0BB4 ; [.2156.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLLA
+0BB3 0BCD ; [.2157.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLA, TAMIL SIGN VIRAMA>
+0BB3 ; [.2157.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLA
+0BB1 0BCD ; [.2158.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RRA, TAMIL SIGN VIRAMA>
+0BB1 ; [.2158.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RRA
+0BA9 0BCD ; [.2159.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNNA, TAMIL SIGN VIRAMA>
+0BA9 ; [.2159.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNNA
+0B9C 0BCD ; [.215A.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER JA, TAMIL SIGN VIRAMA>
+0B9C ; [.215A.0020.0002][.FFF1.0000.0000] # TAMIL LETTER JA
+0BB6 0BCD ; [.215B.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SHA, TAMIL SIGN VIRAMA>
+0BB6 ; [.215B.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SHA
+0BB7 0BCD ; [.215C.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0BB7 ; [.215C.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SSA
+0BB8 0BCD ; [.215D.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SA, TAMIL SIGN VIRAMA>
+0BB8 ; [.215D.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SA
+0BB9 0BCD ; [.215E.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER HA, TAMIL SIGN VIRAMA>
+0BB9 ; [.215E.0020.0002][.FFF1.0000.0000] # TAMIL LETTER HA
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl
index eb63a7ffbcd..fc8ea205721 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl
@@ -1,9 +1,9 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0C01 ; [.217F.0020.0002.0C01][.FFF1.0000.0000.0000] # TELUGU SIGN CANDRABINDU
-0C02 ; [.217F.0020.0002.0C02][.FFF2.0000.0000.0000] # TELUGU SIGN ANUSVARA
-0C03 ; [.217F.0020.0002.0C03][.FFF3.0000.0000.0000] # TELUGU SIGN VISARGA
-0C14 ; [.217F.0020.0002.0C14][.FFF0.0000.0000.0000] # TELUGU LETTER AU
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0C01 ; [.217B.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
+0C02 ; [.217B.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
+0C03 ; [.217B.0020.0002][.FFF3.0000.0000] # TELUGU SIGN VISARGA
+0C14 ; [.217B.0020.0002][.FFF0.0000.0000] # TELUGU LETTER AU
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl
index 27f266fc5db..6b0230ce4e0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl
@@ -1,23 +1,23 @@
+{
- locale_version => 0.96,
+ locale_version => 1.01,
variable => 'shifted',
alternate => 'shifted',
- entry => <<'ENTRY', # for DUCET v6.2.0
-0E2F ; [*03BE.0020.0002.0E2F][*FFF0.0000.0000.0000] # THAI CHARACTER PAIYANNOI
-0E5A ; [*03BE.0020.0002.0E5A][*FFF1.0000.0000.0000] # THAI CHARACTER ANGKHANKHU
-0E46 ; [*03BF.0020.0002.0E46][*FFF1.0000.0000.0000] # THAI CHARACTER MAIYAMOK
-0E5B ; [*03BF.0020.0002.0E5B][*FFF0.0000.0000.0000] # THAI CHARACTER KHOMUT
-0E4C ; [.0000.00FF.0002.0E4C] # THAI CHARACTER THANTHAKHAT
-0E47 ; [.0000.0100.0002.0E47] # THAI CHARACTER MAITAIKHU
-0E48 ; [.0000.0101.0002.0E48] # THAI CHARACTER MAI EK
-0E49 ; [.0000.0102.0002.0E49] # THAI CHARACTER MAI THO
-0E4A ; [.0000.0103.0002.0E4A] # THAI CHARACTER MAI TRI
-0E4B ; [.0000.0104.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
-0E4D ; [.24B6.0020.0002.0E4D] # THAI CHARACTER NIKHAHIT
-0E45 ; [.24B9.0020.0003.0E45] # THAI CHARACTER LAKKHANGYAO
-0E4D 0E32 ; [.24B9.0020.0002.0E32][.24B6.0020.0003.0E4D] # THAI CHARACTER SARA AM
-0E33 ; [.24B9.0020.0002.0E32][.24B6.0020.0004.0E33] # THAI CHARACTER SARA AM
-0E45 0E4D ; [.24B6.0020.0002.0E4D][.24B9.0020.0004.0E45] # <THAI CHARACTER LAKKHANGYAO, THAI CHARACTER NIKHAHIT>
-0E3A ; [.24C7.0020.0002.0E3A] # THAI CHARACTER PHINTHU
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0E2F ; [*03C1.0020.0002][*FFF0.0000.0000] # THAI CHARACTER PAIYANNOI
+0E5A ; [*03C1.0020.0002][*FFF1.0000.0000] # THAI CHARACTER ANGKHANKHU
+0E46 ; [*03C2.0020.0002][*FFF1.0000.0000] # THAI CHARACTER MAIYAMOK
+0E5B ; [*03C2.0020.0002][*FFF0.0000.0000] # THAI CHARACTER KHOMUT
+0E4C ; [.0000.00C4.0002] # THAI CHARACTER THANTHAKHAT
+0E47 ; [.0000.00C5.0002] # THAI CHARACTER MAITAIKHU
+0E48 ; [.0000.00C6.0002] # THAI CHARACTER MAI EK
+0E49 ; [.0000.00C7.0002] # THAI CHARACTER MAI THO
+0E4A ; [.0000.00C8.0002] # THAI CHARACTER MAI TRI
+0E4B ; [.0000.00C9.0002] # THAI CHARACTER MAI CHATTAWA
+0E4D ; [.24B2.0020.0002] # THAI CHARACTER NIKHAHIT
+0E45 ; [.24B5.0020.0003] # THAI CHARACTER LAKKHANGYAO
+0E4D 0E32 ; [.24B5.0020.0002][.24B2.0020.0003] # THAI CHARACTER SARA AM
+0E33 ; [.24B5.0020.0002][.24B2.0020.0004] # THAI CHARACTER SARA AM
+0E45 0E4D ; [.24B2.0020.0002][.24B5.0020.0004] # <THAI CHARACTER LAKKHANGYAO, THAI CHARACTER NIKHAHIT>
+0E3A ; [.24C3.0020.0002] # THAI CHARACTER PHINTHU
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
index 8b0d74fc274..2cd7e54b78e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
@@ -1,37 +1,37 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00EA ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.164D.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164D.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.164D.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164D.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164D.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164D.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164D.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164D.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161 ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00EA ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1649.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1649.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1649.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1649.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1649.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1649.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1649.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1649.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1649.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1649.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.176E.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.176E.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.176E.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.176E.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.176E.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.176E.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.176E.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.176E.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.176E.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F0.0020.0008] # 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
index df42141f035..0e50e4234ea 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
@@ -1,62 +1,62 @@
+{
- locale_version => 0.95,
- entry => <<'ENTRY', # for DUCET v6.2.0
-006E 0067 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-014B ; [.1750.0020.001C.014B] # LATIN SMALL LETTER ENG
-014A ; [.1750.0020.001D.014A] # LATIN CAPITAL LETTER ENG
-02BB ; [.1896.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD ; [.1896.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
-00E1 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0101 ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E9 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0113 ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00ED ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-012B ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00F3 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-014D ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00FA ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-016B ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+006E 0067 ; [.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.174C.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B ; [.174C.0020.001C] # LATIN SMALL LETTER ENG
+014A ; [.174C.0020.001D] # LATIN CAPITAL LETTER ENG
+02BB ; [.1892.0020.0002] # MODIFIER LETTER TURNED COMMA
+02BD ; [.1892.0020.0003] # MODIFIER LETTER REVERSED COMMA
+00E1 ; [.15EB.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0101 ; [.15EB.0022.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.0022.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E9 ; [.1648.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0113 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00ED ; [.16C9.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+012B ; [.16C9.0022.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.0022.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00F3 ; [.176D.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+014D ; [.176D.0022.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.0022.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00FA ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+016B ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
index bbaaccc9d10..d33496c8994 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
@@ -1,46 +1,46 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E7 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131 ; [.16CC.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049 ; [.16CC.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC ; [.16CC.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD ; [.16CC.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE ; [.16CC.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF ; [.16CC.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A ; [.16CC.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C ; [.16CC.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E ; [.16CC.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E7 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.161A.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.161A.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.168E.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.168E.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.16C8.0020.0002] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.16C8.0020.0008] # LATIN CAPITAL LETTER I
+00CC ; [.16C8.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.16C8.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.16C8.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.16C8.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.16C8.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.16C8.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.16C8.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.16C9.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16C9.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.176E.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.176E.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0020.0008][.0000.0028.0002] # 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
index e3bd16f365d..15a21968f77 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
@@ -1,45 +1,45 @@
+{
- locale_version => 0.95,
+ locale_version => 1.01,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
0x042D, 0x044D, 0x0474, 0x0475],
- entry => <<'ENTRY', # for DUCET v6.2.0
-0491 ; [.19B2.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490 ; [.19B2.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04DB ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-0453 ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E7 ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04EB ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-045C ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-0477 ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0491 ; [.19AE.0020.0002] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.19AE.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+04D1 ; [.198D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.198D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.198D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.198D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1999.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1999.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.19AD.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19AD.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19D5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19E1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19EE.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19EE.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E7 ; [.1A73.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A73.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A7B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A24.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A24.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1AB5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AB5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AB5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AB5.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AB5.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1B08.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B08.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B3B.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3B.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B50.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B50.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B86.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B86.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl
index 560df6bc7e8..b981ac0ede3 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl
@@ -1,89 +1,89 @@
+{
- locale_version => 0.96,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0623 ; [.1C9C.0021.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.1C9C.0021.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0622 ; [.1C9D.0020.0002.0622][.FFC0.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.1C9D.0020.0002.0622][.FFC0.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0628 ; [.1C9D.0020.0002.0628][.FFC1.0000.0000.0000] # ARABIC LETTER BEH
-0628 06BE ; [.1C9D.0020.0002.0628][.FFC2.0000.0000.0000] # <ARABIC LETTER BEH, ARABIC LETTER HEH DOACHASHMEE>
-067E ; [.1C9D.0020.0002.067E][.FFC3.0000.0000.0000] # ARABIC LETTER PEH
-067E 06BE ; [.1C9D.0020.0002.067E][.FFC4.0000.0000.0000] # <ARABIC LETTER PEH, ARABIC LETTER HEH DOACHASHMEE>
-062A ; [.1C9D.0020.0002.062A][.FFC5.0000.0000.0000] # ARABIC LETTER TEH
-062A 06BE ; [.1C9D.0020.0002.062A][.FFC6.0000.0000.0000] # <ARABIC LETTER TEH, ARABIC LETTER HEH DOACHASHMEE>
-0679 ; [.1C9D.0020.0002.0679][.FFC7.0000.0000.0000] # ARABIC LETTER TTEH
-0679 06BE ; [.1C9D.0020.0002.0679][.FFC8.0000.0000.0000] # <ARABIC LETTER TTEH, ARABIC LETTER HEH DOACHASHMEE>
-062B ; [.1C9D.0020.0002.062B][.FFC9.0000.0000.0000] # ARABIC LETTER THEH
-062C ; [.1C9D.0020.0002.062C][.FFCA.0000.0000.0000] # ARABIC LETTER JEEM
-062C 06BE ; [.1C9D.0020.0002.062C][.FFCB.0000.0000.0000] # <ARABIC LETTER JEEM, ARABIC LETTER HEH DOACHASHMEE>
-0686 ; [.1C9D.0020.0002.0686][.FFCC.0000.0000.0000] # ARABIC LETTER TCHEH
-0686 06BE ; [.1C9D.0020.0002.0686][.FFCD.0000.0000.0000] # <ARABIC LETTER TCHEH, ARABIC LETTER HEH DOACHASHMEE>
-062D ; [.1C9D.0020.0002.062D][.FFCE.0000.0000.0000] # ARABIC LETTER HAH
-062E ; [.1C9D.0020.0002.062E][.FFCF.0000.0000.0000] # ARABIC LETTER KHAH
-062F ; [.1C9D.0020.0002.062F][.FFD0.0000.0000.0000] # ARABIC LETTER DAL
-062F 06BE ; [.1C9D.0020.0002.062F][.FFD1.0000.0000.0000] # <ARABIC LETTER DAL, ARABIC LETTER HEH DOACHASHMEE>
-0688 ; [.1C9D.0020.0002.0688][.FFD2.0000.0000.0000] # ARABIC LETTER DDAL
-0688 06BE ; [.1C9D.0020.0002.0688][.FFD3.0000.0000.0000] # <ARABIC LETTER DDAL, ARABIC LETTER HEH DOACHASHMEE>
-0630 ; [.1C9D.0020.0002.0630][.FFD4.0000.0000.0000] # ARABIC LETTER THAL
-0631 ; [.1C9D.0020.0002.0631][.FFD5.0000.0000.0000] # ARABIC LETTER REH
-0631 06BE ; [.1C9D.0020.0002.0631][.FFD6.0000.0000.0000] # <ARABIC LETTER REH, ARABIC LETTER HEH DOACHASHMEE>
-0691 ; [.1C9D.0020.0002.0691][.FFD7.0000.0000.0000] # ARABIC LETTER RREH
-0691 06BE ; [.1C9D.0020.0002.0691][.FFD8.0000.0000.0000] # <ARABIC LETTER RREH, ARABIC LETTER HEH DOACHASHMEE>
-0632 ; [.1C9D.0020.0002.0632][.FFD9.0000.0000.0000] # ARABIC LETTER ZAIN
-0698 ; [.1C9D.0020.0002.0698][.FFDA.0000.0000.0000] # ARABIC LETTER JEH
-0633 ; [.1C9D.0020.0002.0633][.FFDB.0000.0000.0000] # ARABIC LETTER SEEN
-0634 ; [.1C9D.0020.0002.0634][.FFDC.0000.0000.0000] # ARABIC LETTER SHEEN
-0635 ; [.1C9D.0020.0002.0635][.FFDD.0000.0000.0000] # ARABIC LETTER SAD
-0636 ; [.1C9D.0020.0002.0636][.FFDE.0000.0000.0000] # ARABIC LETTER DAD
-0637 ; [.1C9D.0020.0002.0637][.FFDF.0000.0000.0000] # ARABIC LETTER TAH
-0638 ; [.1C9D.0020.0002.0638][.FFE0.0000.0000.0000] # ARABIC LETTER ZAH
-0639 ; [.1C9D.0020.0002.0639][.FFE1.0000.0000.0000] # ARABIC LETTER AIN
-063A ; [.1C9D.0020.0002.063A][.FFE2.0000.0000.0000] # ARABIC LETTER GHAIN
-0641 ; [.1C9D.0020.0002.0641][.FFE3.0000.0000.0000] # ARABIC LETTER FEH
-0642 ; [.1C9D.0020.0002.0642][.FFE4.0000.0000.0000] # ARABIC LETTER QAF
-06A9 ; [.1C9D.0020.0002.06A9][.FFE5.0000.0000.0000] # ARABIC LETTER KEHEH
-06A9 06BE ; [.1C9D.0020.0002.06A9][.FFE6.0000.0000.0000] # <ARABIC LETTER KEHEH, ARABIC LETTER HEH DOACHASHMEE>
-06AF ; [.1C9D.0020.0002.06AF][.FFE7.0000.0000.0000] # ARABIC LETTER GAF
-06AF 06BE ; [.1C9D.0020.0002.06AF][.FFE8.0000.0000.0000] # <ARABIC LETTER GAF, ARABIC LETTER HEH DOACHASHMEE>
-0644 ; [.1C9D.0020.0002.0644][.FFE9.0000.0000.0000] # ARABIC LETTER LAM
-0644 06BE ; [.1C9D.0020.0002.0644][.FFEA.0000.0000.0000] # <ARABIC LETTER LAM, ARABIC LETTER HEH DOACHASHMEE>
-0645 ; [.1C9D.0020.0002.0645][.FFEB.0000.0000.0000] # ARABIC LETTER MEEM
-0645 06BE ; [.1C9D.0020.0002.0645][.FFEC.0000.0000.0000] # <ARABIC LETTER MEEM, ARABIC LETTER HEH DOACHASHMEE>
-0646 ; [.1C9D.0020.0002.0646][.FFED.0000.0000.0000] # ARABIC LETTER NOON
-0646 06BE ; [.1C9D.0020.0002.0646][.FFEE.0000.0000.0000] # <ARABIC LETTER NOON, ARABIC LETTER HEH DOACHASHMEE>
-06BA ; [.1C9D.0020.0002.06BA][.FFEF.0000.0000.0000] # ARABIC LETTER NOON GHUNNA
-06BA 06BE ; [.1C9D.0020.0002.06BA][.FFF0.0000.0000.0000] # <ARABIC LETTER NOON GHUNNA, ARABIC LETTER HEH DOACHASHMEE>
-0648 ; [.1C9D.0020.0002.0648][.FFF1.0000.0000.0000] # ARABIC LETTER WAW
-0624 ; [.1C9D.0021.0002.0624][.FFF1.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.1C9D.0021.0002.0624][.FFF1.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 06BE ; [.1C9D.0020.0002.0648][.FFF2.0000.0000.0000] # <ARABIC LETTER WAW, ARABIC LETTER HEH DOACHASHMEE>
-06C1 ; [.1C9D.0020.0002.06C1][.FFF3.0000.0000.0000] # ARABIC LETTER HEH GOAL
-06C2 ; [.1C9D.0021.0002.06C2][.FFF3.0000.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C1 0654 ; [.1C9D.0021.0002.06C2][.FFF3.0000.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06BE ; [.1C9D.0020.0002.06BE][.FFF4.0000.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
-06C3 ; [.1C9D.0020.0002.06C3][.FFF5.0000.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
-0621 ; [.1C9D.0020.0002.0621][.FFF6.0000.0000.0000] # ARABIC LETTER HAMZA
-06CC ; [.1C9D.0020.0002.06CC][.FFF7.0000.0000.0000] # ARABIC LETTER FARSI YEH
-0626 ; [.1C9D.0021.0002.0626][.FFF7.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.1C9D.0021.0002.0626][.FFF7.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-06CC 06BE ; [.1C9D.0020.0002.06CC][.FFF8.0000.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC LETTER HEH DOACHASHMEE>
-06D2 ; [.1C9D.0020.0002.06D2][.FFF9.0000.0000.0000] # ARABIC LETTER YEH BARREE
-06D3 ; [.1C9D.0021.0002.06D3][.FFF9.0000.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D2 0654 ; [.1C9D.0021.0002.06D3][.FFF9.0000.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-066E ; [.1C9D.0020.0002.066E][.FFFA.0000.0000.0000] # ARABIC LETTER DOTLESS BEH
-0652 ; [.0000.00AF.0002.0652] # ARABIC SUKUN
-064E ; [.0000.00B0.0002.064E] # ARABIC FATHA
-0650 ; [.0000.00B1.0002.0650] # ARABIC KASRA
-064F ; [.0000.00B2.0002.064F] # ARABIC DAMMA
-0670 ; [.0000.00B3.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
-0656 ; [.0000.00B4.0002.0656] # ARABIC SUBSCRIPT ALEF
-0657 ; [.0000.00B5.0002.0657] # ARABIC INVERTED DAMMA
-064B ; [.0000.00B6.0002.064B] # ARABIC FATHATAN
-064D ; [.0000.00B7.0002.064D] # ARABIC KASRATAN
-064C ; [.0000.00B8.0002.064C] # ARABIC DAMMATAN
-0654 ; [.0000.00B9.0002.0654] # ARABIC HAMZA ABOVE
-0651 ; [.0000.00BA.0002.0651] # ARABIC SHADDA
-0658 ; [.0000.00BB.0002.0658] # ARABIC MARK NOON GHUNNA
-0653 ; [.0000.00BC.0002.0653] # ARABIC MADDAH ABOVE
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0623 ; [.1C98.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C98.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0622 ; [.1C99.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C99.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0628 ; [.1C99.0020.0002][.FFC1.0000.0000] # ARABIC LETTER BEH
+0628 06BE ; [.1C99.0020.0002][.FFC2.0000.0000] # <ARABIC LETTER BEH, ARABIC LETTER HEH DOACHASHMEE>
+067E ; [.1C99.0020.0002][.FFC3.0000.0000] # ARABIC LETTER PEH
+067E 06BE ; [.1C99.0020.0002][.FFC4.0000.0000] # <ARABIC LETTER PEH, ARABIC LETTER HEH DOACHASHMEE>
+062A ; [.1C99.0020.0002][.FFC5.0000.0000] # ARABIC LETTER TEH
+062A 06BE ; [.1C99.0020.0002][.FFC6.0000.0000] # <ARABIC LETTER TEH, ARABIC LETTER HEH DOACHASHMEE>
+0679 ; [.1C99.0020.0002][.FFC7.0000.0000] # ARABIC LETTER TTEH
+0679 06BE ; [.1C99.0020.0002][.FFC8.0000.0000] # <ARABIC LETTER TTEH, ARABIC LETTER HEH DOACHASHMEE>
+062B ; [.1C99.0020.0002][.FFC9.0000.0000] # ARABIC LETTER THEH
+062C ; [.1C99.0020.0002][.FFCA.0000.0000] # ARABIC LETTER JEEM
+062C 06BE ; [.1C99.0020.0002][.FFCB.0000.0000] # <ARABIC LETTER JEEM, ARABIC LETTER HEH DOACHASHMEE>
+0686 ; [.1C99.0020.0002][.FFCC.0000.0000] # ARABIC LETTER TCHEH
+0686 06BE ; [.1C99.0020.0002][.FFCD.0000.0000] # <ARABIC LETTER TCHEH, ARABIC LETTER HEH DOACHASHMEE>
+062D ; [.1C99.0020.0002][.FFCE.0000.0000] # ARABIC LETTER HAH
+062E ; [.1C99.0020.0002][.FFCF.0000.0000] # ARABIC LETTER KHAH
+062F ; [.1C99.0020.0002][.FFD0.0000.0000] # ARABIC LETTER DAL
+062F 06BE ; [.1C99.0020.0002][.FFD1.0000.0000] # <ARABIC LETTER DAL, ARABIC LETTER HEH DOACHASHMEE>
+0688 ; [.1C99.0020.0002][.FFD2.0000.0000] # ARABIC LETTER DDAL
+0688 06BE ; [.1C99.0020.0002][.FFD3.0000.0000] # <ARABIC LETTER DDAL, ARABIC LETTER HEH DOACHASHMEE>
+0630 ; [.1C99.0020.0002][.FFD4.0000.0000] # ARABIC LETTER THAL
+0631 ; [.1C99.0020.0002][.FFD5.0000.0000] # ARABIC LETTER REH
+0631 06BE ; [.1C99.0020.0002][.FFD6.0000.0000] # <ARABIC LETTER REH, ARABIC LETTER HEH DOACHASHMEE>
+0691 ; [.1C99.0020.0002][.FFD7.0000.0000] # ARABIC LETTER RREH
+0691 06BE ; [.1C99.0020.0002][.FFD8.0000.0000] # <ARABIC LETTER RREH, ARABIC LETTER HEH DOACHASHMEE>
+0632 ; [.1C99.0020.0002][.FFD9.0000.0000] # ARABIC LETTER ZAIN
+0698 ; [.1C99.0020.0002][.FFDA.0000.0000] # ARABIC LETTER JEH
+0633 ; [.1C99.0020.0002][.FFDB.0000.0000] # ARABIC LETTER SEEN
+0634 ; [.1C99.0020.0002][.FFDC.0000.0000] # ARABIC LETTER SHEEN
+0635 ; [.1C99.0020.0002][.FFDD.0000.0000] # ARABIC LETTER SAD
+0636 ; [.1C99.0020.0002][.FFDE.0000.0000] # ARABIC LETTER DAD
+0637 ; [.1C99.0020.0002][.FFDF.0000.0000] # ARABIC LETTER TAH
+0638 ; [.1C99.0020.0002][.FFE0.0000.0000] # ARABIC LETTER ZAH
+0639 ; [.1C99.0020.0002][.FFE1.0000.0000] # ARABIC LETTER AIN
+063A ; [.1C99.0020.0002][.FFE2.0000.0000] # ARABIC LETTER GHAIN
+0641 ; [.1C99.0020.0002][.FFE3.0000.0000] # ARABIC LETTER FEH
+0642 ; [.1C99.0020.0002][.FFE4.0000.0000] # ARABIC LETTER QAF
+06A9 ; [.1C99.0020.0002][.FFE5.0000.0000] # ARABIC LETTER KEHEH
+06A9 06BE ; [.1C99.0020.0002][.FFE6.0000.0000] # <ARABIC LETTER KEHEH, ARABIC LETTER HEH DOACHASHMEE>
+06AF ; [.1C99.0020.0002][.FFE7.0000.0000] # ARABIC LETTER GAF
+06AF 06BE ; [.1C99.0020.0002][.FFE8.0000.0000] # <ARABIC LETTER GAF, ARABIC LETTER HEH DOACHASHMEE>
+0644 ; [.1C99.0020.0002][.FFE9.0000.0000] # ARABIC LETTER LAM
+0644 06BE ; [.1C99.0020.0002][.FFEA.0000.0000] # <ARABIC LETTER LAM, ARABIC LETTER HEH DOACHASHMEE>
+0645 ; [.1C99.0020.0002][.FFEB.0000.0000] # ARABIC LETTER MEEM
+0645 06BE ; [.1C99.0020.0002][.FFEC.0000.0000] # <ARABIC LETTER MEEM, ARABIC LETTER HEH DOACHASHMEE>
+0646 ; [.1C99.0020.0002][.FFED.0000.0000] # ARABIC LETTER NOON
+0646 06BE ; [.1C99.0020.0002][.FFEE.0000.0000] # <ARABIC LETTER NOON, ARABIC LETTER HEH DOACHASHMEE>
+06BA ; [.1C99.0020.0002][.FFEF.0000.0000] # ARABIC LETTER NOON GHUNNA
+06BA 06BE ; [.1C99.0020.0002][.FFF0.0000.0000] # <ARABIC LETTER NOON GHUNNA, ARABIC LETTER HEH DOACHASHMEE>
+0648 ; [.1C99.0020.0002][.FFF1.0000.0000] # ARABIC LETTER WAW
+0624 ; [.1C99.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C99.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 06BE ; [.1C99.0020.0002][.FFF2.0000.0000] # <ARABIC LETTER WAW, ARABIC LETTER HEH DOACHASHMEE>
+06C1 ; [.1C99.0020.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL
+06C2 ; [.1C99.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C1 0654 ; [.1C99.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06BE ; [.1C99.0020.0002][.FFF4.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+06C3 ; [.1C99.0020.0002][.FFF5.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+0621 ; [.1C99.0020.0002][.FFF6.0000.0000] # ARABIC LETTER HAMZA
+06CC ; [.1C99.0020.0002][.FFF7.0000.0000] # ARABIC LETTER FARSI YEH
+0626 ; [.1C99.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C99.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+06CC 06BE ; [.1C99.0020.0002][.FFF8.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC LETTER HEH DOACHASHMEE>
+06D2 ; [.1C99.0020.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE
+06D3 ; [.1C99.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06D2 0654 ; [.1C99.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+066E ; [.1C99.0020.0002][.FFFA.0000.0000] # ARABIC LETTER DOTLESS BEH
+0652 ; [.0000.0074.0002] # ARABIC SUKUN
+064E ; [.0000.0075.0002] # ARABIC FATHA
+0650 ; [.0000.0076.0002] # ARABIC KASRA
+064F ; [.0000.0077.0002] # ARABIC DAMMA
+0670 ; [.0000.0078.0002] # ARABIC LETTER SUPERSCRIPT ALEF
+0656 ; [.0000.0079.0002] # ARABIC SUBSCRIPT ALEF
+0657 ; [.0000.007A.0002] # ARABIC INVERTED DAMMA
+064B ; [.0000.007B.0002] # ARABIC FATHATAN
+064D ; [.0000.007C.0002] # ARABIC KASRATAN
+064C ; [.0000.007D.0002] # ARABIC DAMMATAN
+0654 ; [.0000.007E.0002] # ARABIC HAMZA ABOVE
+0651 ; [.0000.007F.0002] # ARABIC SHADDA
+0658 ; [.0000.0080.0002] # ARABIC MARK NOON GHUNNA
+0653 ; [.0000.0081.0002] # ARABIC MADDAH ABOVE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
index 23baeedde9f..b0aabcaac4f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
@@ -1,220 +1,220 @@
+{
- locale_version => 0.93,
-# 0306 is not a Vietnamese tone, just to avoid \x{303} eq \x{306}.
- entry => <<'ENTRY', # for DUCET v6.2.0
-0309 ; [.0000.0036.0002.0309] # COMBINING HOOK ABOVE
-1EA3 ; [.15EF.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2 ; [.15EF.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EBB ; [.164C.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA ; [.164C.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EC9 ; [.16CD.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8 ; [.16CD.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECF ; [.1771.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE ; [.1771.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1EE7 ; [.1836.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6 ; [.1836.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EF7 ; [.1880.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6 ; [.1880.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-0303 ; [.0000.0037.0002.0303] # COMBINING TILDE
-00E3 ; [.15EF.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
-00C3 ; [.15EF.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
-1EBD ; [.164C.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
-1EBC ; [.164C.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
-0129 ; [.16CD.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
-0128 ; [.16CD.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
-00F5 ; [.1771.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.1771.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
-0169 ; [.1836.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
-0168 ; [.1836.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
-1EF9 ; [.1880.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
-1EF8 ; [.1880.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
-0301 ; [.0000.0038.0002.0301] # COMBINING ACUTE ACCENT
-00E1 ; [.15EF.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
-00E9 ; [.164C.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED ; [.16CD.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3 ; [.1771.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA ; [.1836.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD ; [.1880.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
-00DD ; [.1880.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 ; [.15EF.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0 ; [.15EF.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB9 ; [.164C.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8 ; [.164C.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1ECB ; [.16CD.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA ; [.16CD.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECD ; [.1771.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1771.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1EE5 ; [.1836.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4 ; [.1836.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF5 ; [.1880.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4 ; [.1880.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
-0306 ; [.0000.003A.0002.0306] # COMBINING BREVE
-0115 ; [.164C.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
-0114 ; [.164C.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
-012D ; [.16CD.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
-012C ; [.16CD.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-014F ; [.1771.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
-014E ; [.1771.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
-016D ; [.1836.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
-016C ; [.1836.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
-0103 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1 ; [.15F0.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0 ; [.15F0.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF ; [.15F0.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE ; [.15F0.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5 ; [.15F0.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4 ; [.15F0.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3 ; [.15F0.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2 ; [.15F0.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7 ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6 ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7 ; [.15F1.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6 ; [.15F1.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5 ; [.15F1.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4 ; [.15F1.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB ; [.15F1.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA ; [.15F1.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9 ; [.15F1.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8 ; [.15F1.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111 ; [.1632.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1632.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1632.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1632.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00EA ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.164D.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164D.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.164D.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164D.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164D.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164D.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1772.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1772.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1772.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1772.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1772.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1772.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01A1 ; [.1773.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-006F 031B ; [.1773.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-01A0 ; [.1773.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-004F 031B ; [.1773.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-1EDD ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDB ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EE1 ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3 ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-01B0 ; [.1837.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-0075 031B ; [.1837.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-01AF ; [.1837.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-0055 031B ; [.1837.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-1EEB ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EE9 ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8 ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEF ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1 ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0 ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EA1 0306 ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA0 0306 ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA1 0302 ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EA0 0302 ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB9 0302 ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB8 0302 ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECD 0302 ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECC 0302 ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-00F2 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
-1ECF 031B ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00F5 031B ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
-00F3 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
-1ECD 031B ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
-00D2 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
-1ECE 031B ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00D5 031B ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
-00D3 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
-1ECC 031B ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
-00F9 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
-1EE7 031B ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0169 031B ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
-00FA 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
-1EE5 031B ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
-00D9 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
-1EE6 031B ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0168 031B ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
-00DA 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
-1EE4 031B ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
-0061 0323 0306 ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0041 0323 0306 ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0061 0323 0302 ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0041 0323 0302 ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0065 0323 0302 ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0045 0323 0302 ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0323 0302 ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-004F 0323 0302 ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0300 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-006F 0340 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-006F 0309 031B ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-006F 0303 031B ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
-006F 0301 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-006F 0341 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-006F 0323 031B ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-004F 0300 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-004F 0340 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-004F 0309 031B ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-004F 0303 031B ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
-004F 0301 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-004F 0341 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-004F 0323 031B ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-0075 0300 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0075 0340 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0075 0309 031B ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0075 0303 031B ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
-0075 0301 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0075 0341 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0075 0323 031B ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
-0055 0300 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0055 0340 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0055 0309 031B ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0055 0303 031B ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
-0055 0301 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0055 0341 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0055 0323 031B ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+ locale_version => 1.01,
+# 0306 is not a Vietnamese tone, just to avoid \x{306} eq. to something.
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0309 ; [.0000.0026.0002][.0000.00F0.0000] # COMBINING HOOK ABOVE
+1EA3 ; [.15EB.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2 ; [.15EB.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EBB ; [.1648.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA ; [.1648.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EC9 ; [.16C9.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8 ; [.16C9.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECF ; [.176D.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE ; [.176D.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1EE7 ; [.1832.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6 ; [.1832.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EF7 ; [.187C.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6 ; [.187C.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+0303 ; [.0000.0026.0002][.0000.00F1.0000] # COMBINING TILDE
+00E3 ; [.15EB.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.15EB.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH TILDE
+1EBD ; [.1648.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH TILDE
+1EBC ; [.1648.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH TILDE
+0129 ; [.16C9.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER I WITH TILDE
+0128 ; [.16C9.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER I WITH TILDE
+00F5 ; [.176D.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.176D.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH TILDE
+0169 ; [.1832.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH TILDE
+0168 ; [.1832.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH TILDE
+1EF9 ; [.187C.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER Y WITH TILDE
+1EF8 ; [.187C.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER Y WITH TILDE
+0301 ; [.0000.0026.0002][.0000.00F2.0000] # COMBINING ACUTE ACCENT
+00E1 ; [.15EB.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH ACUTE
+00E9 ; [.1648.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.16C9.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.176D.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.1832.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.187C.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.187C.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER Y WITH ACUTE
+0341 ; [.0000.0026.0002][.0000.00F2.0000] # COMBINING ACUTE TONE MARK
+0323 ; [.0000.0026.0002][.0000.00F3.0000] # COMBINING DOT BELOW
+1EA1 ; [.15EB.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0 ; [.15EB.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB9 ; [.1648.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1648.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1ECB ; [.16C9.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16C9.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECD ; [.176D.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.176D.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1EE5 ; [.1832.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.1832.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF5 ; [.187C.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4 ; [.187C.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+0306 ; [.0000.0026.0002][.0000.00F4.0000] # COMBINING BREVE
+0115 ; [.1648.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER E WITH BREVE
+0114 ; [.1648.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER E WITH BREVE
+012D ; [.16C9.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER I WITH BREVE
+012C ; [.16C9.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER I WITH BREVE
+014F ; [.176D.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER O WITH BREVE
+014E ; [.176D.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER O WITH BREVE
+016D ; [.1832.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.1832.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER U WITH BREVE
+0103 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15EC.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15EC.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15ED.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15ED.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15ED.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15ED.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15ED.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15ED.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111 ; [.162E.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.162E.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162E.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.162E.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00EA ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1649.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1649.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1649.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1649.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1649.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1649.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1649.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1649.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1649.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1649.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.176E.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.176E.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01A1 ; [.176F.0020.0002] # LATIN SMALL LETTER O WITH HORN
+006F 031B ; [.176F.0020.0002] # LATIN SMALL LETTER O WITH HORN
+01A0 ; [.176F.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
+004F 031B ; [.176F.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
+1EDD ; [.176F.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC ; [.176F.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDB ; [.176F.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA ; [.176F.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EE1 ; [.176F.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.176F.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF ; [.176F.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE ; [.176F.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3 ; [.176F.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.176F.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01B0 ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH HORN
+0075 031B ; [.1833.0020.0002] # LATIN SMALL LETTER U WITH HORN
+01AF ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
+0055 031B ; [.1833.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
+1EEB ; [.1833.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA ; [.1833.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EE9 ; [.1833.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8 ; [.1833.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEF ; [.1833.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE ; [.1833.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED ; [.1833.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC ; [.1833.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1 ; [.1833.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.1833.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EA1 0306 ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA0 0306 ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA1 0302 ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EA0 0302 ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB9 0302 ; [.1649.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB8 0302 ; [.1649.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECD 0302 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECC 0302 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+00F2 031B ; [.176F.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
+1ECF 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00F5 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
+00F3 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
+1ECD 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
+00D2 031B ; [.176F.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
+1ECE 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00D5 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
+00D3 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
+1ECC 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
+00F9 031B ; [.1833.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
+1EE7 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0169 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
+00FA 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
+1EE5 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
+00D9 031B ; [.1833.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
+1EE6 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0168 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
+00DA 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
+1EE4 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
+0061 0323 0306 ; [.15EC.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0041 0323 0306 ; [.15EC.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0061 0323 0302 ; [.15ED.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0041 0323 0302 ; [.15ED.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0065 0323 0302 ; [.1649.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0045 0323 0302 ; [.1649.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0323 0302 ; [.176E.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+004F 0323 0302 ; [.176E.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0300 031B ; [.176F.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.176F.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+006F 0309 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+006F 0303 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
+006F 0301 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+006F 0323 031B ; [.176F.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+004F 0300 031B ; [.176F.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.176F.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+004F 0309 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+004F 0303 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
+004F 0301 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+004F 0323 031B ; [.176F.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+0075 0300 031B ; [.1833.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.1833.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0075 0309 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0075 0303 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
+0075 0301 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0075 0323 031B ; [.1833.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0055 0300 031B ; [.1833.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.1833.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0055 0309 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0055 0303 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
+0055 0301 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0055 0323 031B ; [.1833.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl
index fa0b5e6ad5a..306efe44774 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl
@@ -1,24 +1,24 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0061 0061 ; [.15EF.0020.0002.0061][.0000.0032.0002.0301] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-00E4 00E4 ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
-00E4 0061 0308 ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
-0061 0308 00E4 ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
-0061 0308 0061 0308 ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
-0065 0065 ; [.164C.0020.0002.0065][.0000.0032.0002.0301] # <LATIN SMALL LETTER E, LATIN SMALL LETTER E>
-0069 0069 ; [.16CD.0020.0002.0069][.0000.0032.0002.0301] # <LATIN SMALL LETTER I, LATIN SMALL LETTER I>
-006F 006F ; [.1771.0020.0002.006F][.0000.0032.0002.0301] # <LATIN SMALL LETTER O, LATIN SMALL LETTER O>
-00F6 00F6 ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
-00F6 006F 0308 ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
-006F 0308 00F6 ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
-006F 0308 006F 0308 ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
-0063 0068 ; [.161D.0020.0002.0063][.0000.0041.0002.030C] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0073 0063 0068 ; [.17F3.0020.0002.0073][.0000.0041.0002.030C] # <LATIN SMALL LETTER S, LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0075 0075 ; [.1836.0020.0002.0075][.0000.0032.0002.0301] # <LATIN SMALL LETTER U, LATIN SMALL LETTER U>
-00FC 00FC ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
-00FC 0075 0308 ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
-0075 0308 00FC ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
-0075 0308 0075 0308 ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0061 0061 ; [.15EB.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+00E4 00E4 ; [.15EB.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+00E4 0061 0308 ; [.15EB.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0061 0308 00E4 ; [.15EB.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+0061 0308 0061 0308 ; [.15EB.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0065 0065 ; [.1648.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER E, LATIN SMALL LETTER E>
+0069 0069 ; [.16C9.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER I, LATIN SMALL LETTER I>
+006F 006F ; [.176D.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER O, LATIN SMALL LETTER O>
+00F6 00F6 ; [.176D.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+00F6 006F 0308 ; [.176D.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+006F 0308 00F6 ; [.176D.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+006F 0308 006F 0308 ; [.176D.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+0063 0068 ; [.1619.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0073 0063 0068 ; [.17EF.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0075 0075 ; [.1832.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER U, LATIN SMALL LETTER U>
+00FC 00FC ; [.1832.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+00FC 0075 0308 ; [.1832.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+0075 0308 00FC ; [.1832.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+0075 0308 0075 0308 ; [.1832.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
index 9c768fc5413..f0aee187e98 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
@@ -1,32 +1,32 @@
+{
- locale_version => 0.93,
+ locale_version => 1.01,
# eng doesn't require tailoring
- entry => <<'ENTRY', # for DUCET v6.2.0
-00E0 ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-00E9 ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00EB ; [.164E.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.164E.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB ; [.164E.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.164E.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-00F1 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-00F3 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+00E0 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EC.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EC.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB ; [.164A.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.164A.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.164A.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.164A.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.174C.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.174C.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+00F3 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176E.0020.0008] # 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
index b629005f918..f74bbda279d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
@@ -1,26 +1,26 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-1EB9 ; [.164D.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-0065 0323 ; [.164D.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8 ; [.164D.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-0045 0323 ; [.164D.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7 ; [.164D.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164D.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-1ECD ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9 ; [.1772.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1772.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3 ; [.1772.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1772.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1E63 ; [.17F4.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-0073 0323 ; [.17F4.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62 ; [.17F4.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
-0053 0323 ; [.17F4.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+1EB9 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.1649.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.1649.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7 ; [.1649.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1649.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0067 0062 ; [.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.168E.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.176E.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.176E.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.176E.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176E.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.176E.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.176E.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1E63 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.17F0.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.17F0.0020.0008] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.17F0.0020.0008] # 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
index 96ec342cd04..f5380682d65 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
@@ -1,211 +1,211 @@
+{
- locale_version => 0.93,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ locale_version => 1.01,
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # 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
index f443e8f87d8..fbc462ca2b1 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
@@ -1,945 +1,945 @@
use Unicode::Collate::CJK::Big5;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-F967 ; [.804A.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.82DE.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.81CB.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.8022.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.804D.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-F91B ; [.8B74.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.800F.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.845B.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.8057.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9A8 ; [.80B5.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.81E1.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.96AF.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.82EE.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.82ED.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.981A.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.845F.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-F9D4 ; [.8607.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.87B2.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.89A0.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.8D3B.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.8D39.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.802A.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.80B8.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.82FA.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F814 ; [.8061.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.8142.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.82FD.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.8062.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.82FE.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.9045.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.8144.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.8473.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.87C6.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.8065.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.860A.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.80BC.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-F92E ; [.81EE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F955 ; [.860E.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.8EC0.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.A8BA.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81D ; [.9524.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.802B.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.8146.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.81F1.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.8306.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.8303.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.96CC.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; [.89A8.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.8B81.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.8EC3.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.8018.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.814B.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-FA76 ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.87CA.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.89AC.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.916E.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.80C3.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.80C4.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.87D1.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.80C9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.89AF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.81F9.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.81FA.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F831 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.87D4.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.8075.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.861A.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.80DF.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.80D9.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.80DD.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.815E.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.8152.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.81FB.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.820C.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.8206.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.8205.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.832A.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840 ; [.983D.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.8490.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F842 ; [.861C.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-FA79 ; [.87E1.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.87E8.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.89BC.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.89CA.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.89BF.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA0D ; [.A137.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.A146.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.A140.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-FA38 ; [.9052.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.8ED2.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.96EA.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.8D57.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F855 ; [.849E.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.84A2.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.9C30.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.9C49.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.89D2.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.9A14.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA10 ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.8B9C.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.903E.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.A65C.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.8ED9.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.9282.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.932E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F85C ; [.960C.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.816B.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.8D62.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.833B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.833A.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.84A6.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.833C.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.87FB.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.8034.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.84AB.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.8641.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.863F.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-FA80 ; [.8803.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.87FF.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.A15F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.8EE4.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.A8D9.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.8179.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86E ; [.A16E.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.8EE5.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F875 ; [.803A.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.823D.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.8811.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.8D78.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.8EE9.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.8EEA.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.961C.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-F9D5 ; [.881D.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.9ECC.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.89E9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.9ECD.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F880 ; [.A424.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.A8E7.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.9180.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.82D0.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.8821.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.89EC.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.9A3D.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.89EE.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.A67A.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
-F98E ; [.8181.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.84C9.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.9885.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.9C88.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.8828.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.8BB7.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.A432.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.8D80.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.A431.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.9332.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.8044.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.8249.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F899 ; [.824C.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.882F.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.8830.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.84D1.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F966 ; [.89F8.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.A189.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.8252.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.8251.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.8378.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F960 ; [.84D5.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.9746.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-2F8A0 ; [.9A4D.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.884C.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.8846.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.89FC.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.8BC5.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.8BC8.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.8BBF.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA3E ; [.8A07.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.A445.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.8F05.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.8F0A.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.A68D.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.9064.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.AB1C.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.94AE.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.8189.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.884E.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.8F0D.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.918C.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B5 ; [.83A2.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.838C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.98A4.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.8395.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.8396.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.84E9.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.84F3.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.8687.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.8686.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.886B.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.8869.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.885D.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.8850.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.885B.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.9F18.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.A19C.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.9A60.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.8BDA.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.A1AB.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.8A23.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.8F0E.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.A469.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-F991 ; [.8F1E.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.9F0B.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.9074.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.886E.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.8BE1.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.8F25.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.868F.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.8691.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.84FB.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-F9E0 ; [.83AE.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.8693.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.8BE7.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-FA06 ; [.8F28.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.907D.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.8271.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.869A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.89A6.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.A2D8.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-F9E1 ; [.8273.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.827D.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.8278.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.8279.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.976E.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.9769.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.83C3.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.8519.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.98ED.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.86A8.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.9A80.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-F97A ; [.8887.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-F9E2 ; [.8899.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.9F53.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.A1D6.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.8DB6.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-F914 ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.8F32.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.AB36.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.933E.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.91A0.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.942D.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.8199.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.A93D.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.8C01.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.9093.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.8096.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F8F4 ; [.A49C.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.91A7.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8FA ; [.81A7.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.9667.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.8285.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.83EC.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.83DA.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.979E.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.83DB.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-2F8FF ; [.9ACA.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.8534.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.852E.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.98FD.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.8532.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.86CD.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.86BF.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.86C4.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.86D1.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.88AE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.88BB.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.88BE.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.88B3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.88B9.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.8A5B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.8A6A.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.8C16.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.8C12.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.8C0D.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.8C14.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-F94E ; [.8DC3.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.8DCC.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.8F48.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.A6E7.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.91B0.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.929E.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.933F.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-2F913 ; [.AFA4.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.B08F.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F835 ; [.81A8.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F918 ; [.829E.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.83FA.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.8543.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.86D8.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.86D7.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-F993 ; [.8C20.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.A719.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.90AA.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.90A5.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.93D5.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.9431.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.951C.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA9E ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-F946 ; [.82A0.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.8A88.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.A4DB.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
-FA9F ; [.810B.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.8401.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.86DC.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-F9A7 ; [.92A8.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.934B.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.80A4.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92B ; [.840A.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.8551.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.86E7.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.88D9.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.86E3.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.8A90.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92F ; [.8C3A.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.8F5B.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.A72F.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.A72A.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.90B2.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.934D.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-2F936 ; [.97C7.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.86EC.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.88E1.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.8A9D.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.A26E.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.A739.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.8F63.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.91CB.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.9435.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.88EE.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.90BB.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.8568.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F946 ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAA9 ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.8F6F.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.91D2.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.88F7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.88F5.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.8C5C.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.8F73.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.AB7A.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.93DB.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA4C ; [.8415.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.8577.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.8576.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.870D.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.8712.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.8711.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.88F8.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.8C60.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.8DFC.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.8DFA.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.92B4.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-2F957 ; [.9B31.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.8C64.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.A517.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-FA55 ; [.857F.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.A9B0.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.8123.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F95F ; [.A51F.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-F9F8 ; [.88FE.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.8F84.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.90CE.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.9358.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.9486.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-F9F9 ; [.8906.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.8E10.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.A9C2.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.90D5.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-F97B ; [.92C0.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.ABA1.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F96A ; [.8585.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.8729.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.8727.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.8913.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.8C79.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.A019.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.8E16.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.8E15.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.8E22.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FA58 ; [.90DD.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.91EE.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.91F5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.91F4.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.A028.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.8C7D.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.90DF.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.A9DD.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.9363.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F978 ; [.9DAA.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.8919.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.81B1.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-F934 ; [.81B2.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.891F.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F997 ; [.9202.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.9201.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.9488.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.81B9.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.97E3.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.82B9.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F985 ; [.8ADE.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.9368.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.920D.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.874A.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.A042.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-F97C ; [.82BA.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-2F990 ; [.82BC.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.9698.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.8430.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.8436.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.842F.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.8433.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.85A5.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-F9FE ; [.875F.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.8754.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.9B92.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99D ; [.8932.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.A062.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.8AF6.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.8AF3.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.8AFA.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.A04E.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.8AEC.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.8AED.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.8C93.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.8C98.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.8FA8.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.A2E5.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.A7A9.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.A7AA.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.A7AE.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.A9FC.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.92D2.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.93F0.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.93F1.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-F91F ; [.943C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.94BE.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.85B6.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.921B.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.AD63.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B7 ; [.876A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.A07B.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.A327.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.A587.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.A588.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-F911 ; [.9223.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.A7C9.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.AD77.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.9441.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.81C7.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C4 ; [.81C8.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.8B09.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-2F9C6 ; [.A08D.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.A331.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.8CB7.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.8E56.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.A5A9.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.8FC1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.AC06.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.93F7.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.92DD.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.82BE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.8CC6.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.8FD1.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.8FCC.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.8FC8.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.8FD3.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.937B.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.948E.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.877F.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.82C3.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.8961.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.8B21.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.8CDA.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.8CD6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.8E6D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.94E5.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.8784.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.9E2B.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.8B2E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.8CDF.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.A362.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-F902 ; [.82C9.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9DE ; [.8787.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.8FF7.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.8FF8.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.911D.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.B17B.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-F971 ; [.82CB.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-F99A ; [.896F.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.9126.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.9127.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.94C2.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-2F9E2 ; [.95D3.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.85D2.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-2F9E3 ; [.99C1.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.897D.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.A380.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.A5E0.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-F919 ; [.8CFE.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.AC37.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.9406.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.82D8.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.8B44.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.844C.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.8D0B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.8D03.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.A5E7.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.8E92.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.A850.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.A84E.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.9133.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.9255.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.AF08.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.B00B.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9EE ; [.8B50.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.9016.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.AC62.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-F9C6 ; [.82DA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.85DA.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.85DC.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.8988.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.898A.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.9E5B.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.8B5A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9B8 ; [.9265.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2F9F3 ; [.A10C.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.9304.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.8D1D.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.8D1A.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.ADDE.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.9459.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.94E9.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FA69 ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-F9B4 ; [.8EA4.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.A87A.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.93A8.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.87AA.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.8B6B.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.8D27.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.9152.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.AAB6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; [.AF33.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; [.A624.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.9159.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.AC8F.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.951D.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.9037.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.B04C.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.94D0.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2FA0C ; [.A8A7.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.ACA6.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.9468.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.94F2.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.9520.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.899A.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.93BB.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.94D3.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.899C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.903D.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.A116.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA1A ; [.A8B3.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; [.AE29.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; [.8EB5.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-FAD8 ; [.B230.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-F9C4 ; [.9168.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-F907 ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+F967 ; [.804A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.82DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.81CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.8022.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.804D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.8B74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.800F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.845B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.8057.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.80B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.81E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.96AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.82EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.82ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.846A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.846A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.981A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.845F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4 ; [.8607.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.87B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.89A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.8D3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8D39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.8D34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.8D34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.802A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.80B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.81EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.81EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.82FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F814 ; [.8061.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.8142.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.82FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.8062.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.82FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.9045.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8144.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8473.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.87C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.8065.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.860A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.80BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E ; [.81EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F955 ; [.860E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.8EC0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.A8BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.9524.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.802B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8068.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8068.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.8146.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.81F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.8306.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.8303.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.96CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.89A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.8B81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.8EC3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.8018.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.814B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.847D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.847D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.847E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.847E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.87CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.89AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.8B85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.8B85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.916E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.802C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.802C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.80C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.80C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.80C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.80C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.87D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.80C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.8310.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.8310.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.89AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.81F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.81FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.8617.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.8617.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.8617.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.87D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.8075.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.861A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.80DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.80D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.80DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.815E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.8152.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.81FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.820C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.8206.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.8205.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.832A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.983D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8490.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.861C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79 ; [.87E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.87E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.8AD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.8AD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.89BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.89CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.89CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.89B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.89B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.89CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.89BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.A137.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.A146.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.A140.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.8D4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.8D4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.9052.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.8ED2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.96EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.8D57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.849E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.84A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9C30.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9C49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.89D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.9A14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA10 ; [.8BA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.8BA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.8B9C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.903E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.A65C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8ED9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.9282.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.932E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C ; [.960C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.816B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.8D62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.833B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.833A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.84A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.833C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.87FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.8034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.84AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.8641.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.863F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+FA80 ; [.8803.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.87FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.A15F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.8EE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.A8D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.AE41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.AE41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.8179.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86E ; [.A16E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.8D6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.8D6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.8D6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.8EE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F875 ; [.803A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.823D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.8811.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.8D78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.8EE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.8EEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.952C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.952C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.961C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+F9D5 ; [.881D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.9ECC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.89E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.9ECD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F880 ; [.A424.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.A8E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.9180.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.82D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.8821.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.89EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.9A3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.89EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.A67A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.8181.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.84C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.9885.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.9C88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.8828.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.8BB7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.89F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.89F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.A432.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.8D80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.A431.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.9332.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.8044.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.8249.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.9729.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.9729.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899 ; [.824C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.882F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8830.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.84D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.89F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.A189.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.8252.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.8251.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8378.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.84D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.9746.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0 ; [.9A4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.8675.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8675.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.884C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.8846.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.89FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.8BC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.8BC8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8BBF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.8BC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.8BC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8BC6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8BC6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.8A07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.A445.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.8F07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.8F07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.8F07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.8F05.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8F0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.A68D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.9064.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.AB1C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.9333.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.9333.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.9333.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.9335.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.9335.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.94AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.8189.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.884E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.8F0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.918C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.83A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.838C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.98A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.8395.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8396.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.84E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.84F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8687.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.8686.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.886B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.8869.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.885D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8850.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.885B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.9F18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.A19C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9A60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.8BDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.A1AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8A23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.8F0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.A469.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+F991 ; [.8F1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.9F0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.9074.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.8873.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.8873.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.886E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.8BE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.8F25.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.868F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.8691.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.84FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.83AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.8693.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.8A2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.8A2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.8BE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.8A32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.8A32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8F28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.907D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.8271.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.869A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.89A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.869D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.869D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.869D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8886.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8886.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.A2D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.8273.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.827D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8278.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.8279.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.976E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.9769.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.83C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8519.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.98ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.86A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.9A80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+F97A ; [.8887.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.8896.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.8896.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8899.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.9F53.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.A1D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.8DB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+F914 ; [.8F35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.8F35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.8F35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.8F32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.AB36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.933E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.91A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.942D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.8199.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.A93D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.8C01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.9093.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.A49C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.91A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.889E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.889E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.889E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA ; [.81A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.9667.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.8285.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.83EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.83DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.979E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.83DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.9ACA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.8534.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.852E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.98FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.8532.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.852A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.852A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.852A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.86CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.86BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.86C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.86C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.86C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.86D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.88AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.88BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.88BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.88B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.88B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.8A5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.8A6A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.8C16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.8C12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8C0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.8A75.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8A75.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8C14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.8DC3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.8DC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.8DC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.8DCC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.8F48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.A6E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.91B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.929E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.933F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913 ; [.AFA4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.B08F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.81A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.829E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.83FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8543.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.86D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.86D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.8C20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.8A84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8A84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.A719.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.90AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.90A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.93D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9431.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.951C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.91C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.91C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.82A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.8A88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.A4DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.810B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.8401.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.86DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+F9A7 ; [.92A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.934B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.80A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.840A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.8551.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.86E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.88D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.86E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.8A90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.8C3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.8F5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.A4E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.A4E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.A72F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.A72A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.90B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.934D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F936 ; [.97C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.86EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.88E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.88E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.88E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.8A9D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.A26E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.A739.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.8F63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.91CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.9435.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.86F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.86F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.88EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.90BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8412.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8412.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.8568.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946 ; [.86FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.86FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAA9 ; [.9FEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.9FEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.8F6F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.91D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.88F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.88F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.8C59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.8C59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.8C5C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.8F73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.A74A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.A74A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.AB7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.93DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C ; [.8415.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.8577.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.8576.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.870D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.8710.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8710.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.8712.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.8711.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.88F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.8C60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.8DFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.8DFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.8DFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.8DFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.92B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F957 ; [.9B31.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.8C64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.8F7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.8F7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.A517.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+FA55 ; [.857F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.A9B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.8123.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.A51F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.88FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.8C6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.8C6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.8F84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.90CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.9358.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9486.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.8906.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.8E10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.A9C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.90D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.92C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.ABA1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.8585.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.8729.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.8727.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.8913.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.8C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.A019.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.8E16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.8E15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.8E22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.8F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.8F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.8F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.90DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.91EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.91F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.91F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.A028.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.8C7D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.90DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.A9DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.9363.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.9DAA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.8919.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.81B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.81B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8421.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8421.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8421.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.891F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.9202.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.9201.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.9488.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.81B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.97E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.82B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.8ADE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.9368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.920D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.874A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9B73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9B73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.A042.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C ; [.82BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.82BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.9698.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8430.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8436.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.842F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8433.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.85A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.85A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.85A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE ; [.875F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.8754.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.9B92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99D ; [.8932.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A062.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.8AF6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.8AF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.8AFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.A04E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.8AEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.8AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.8C93.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.8C98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.8AEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8AEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.8FA8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.A2E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.A7A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.A7AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.A7AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.A9FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.92D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.93F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.93F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.943C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.94BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.85B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.8CA3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.8CA3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.921B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.AD63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B7 ; [.876A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.A07B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.A327.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.A587.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.A588.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.AA1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.AA1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+F911 ; [.9223.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.A7C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.AD77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.9441.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.81C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.81C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.8B09.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+2F9C6 ; [.A08D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.A331.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.8CB7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.8E56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.A5A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.8FC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.AC06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.93F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.92DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.82BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.8B0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.8B0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.8CC6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.8E63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.8E63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8FD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.8FCC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.8FC8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.8FD3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.910F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.910F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.8FCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.8FCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.910B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.910B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.910C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.910C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.92E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.92E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.937B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.948E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.94C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.94C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.877F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.82C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.8961.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.8B21.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.8CDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.8CD6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.8E6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.9382.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.9382.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.94E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.8784.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.9E2B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.8B2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.8CDF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.A362.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.82C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.8787.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.8FF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.8FF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.911F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.911F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.911D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.B17B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971 ; [.82CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.896F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.8B3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.8B3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.9126.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.9127.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.94C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.95D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.85D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+2F9E3 ; [.99C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.897D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.A380.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.A5E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.8CFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.AC37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.9406.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.82D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.8B44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.844C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.8D0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.8D03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.A5E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8E92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.A850.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.A84E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.9133.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.9255.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.AF08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.B00B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.8B50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9016.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.AC62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.82DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.85DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.85DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8988.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.898A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.9E5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.8B5A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B8 ; [.9265.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.A10C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.9304.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.93A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.93A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.8D1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8D1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.ADDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.9459.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.94E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.8D1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.8D1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69 ; [.945A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.945A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.8EA4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.A87A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.914C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.914C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.93A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.87AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8B6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.8D27.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.9152.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.AAB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.AF33.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.A624.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.9159.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.AC8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.951D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.B044.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.B044.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.B04C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.94D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.A8A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.ACA6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.9468.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.94F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9520.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.899A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.93BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.94D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.899C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.903D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.A116.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1A ; [.A8B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.AE29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.8EB5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.B230.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.9168.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907 ; [.9169.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9169.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9169.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
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
index 57c120d6f00..e39c2e089b0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
@@ -1,627 +1,627 @@
use Unicode::Collate::CJK::GB2312;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.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>
-F967 ; [.80D6.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-F905 ; [.8185.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.8AED.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.81D9.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.8635.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
-F9BA ; [.8668.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.865E.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.899D.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9A8 ; [.868B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.879A.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-F9B5 ; [.863C.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-F965 ; [.80A0.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F80B ; [.8BB2.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.8662.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.8EB2.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.815D.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.8AC8.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-FA72 ; [.88DA.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F9D1 ; [.8696.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.8562.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.8484.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.8D70.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.8709.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.873A.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.890E.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.8D40.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.823F.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.8623.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.8656.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.8685.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-2F81D ; [.8FF2.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.88FF.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.866D.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.863A.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.81A3.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.85AD.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F822 ; [.833D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-F98A ; [.8643.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.8670.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.860C.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
-FA76 ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.8614.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-FA34 ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-FA77 ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.805B.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.81A9.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.879B.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.8445.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.80C4.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.847B.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.86CC.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F831 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-2F836 ; [.8477.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.8FEE.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.8567.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.84F5.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.9154.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.915B.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.8633.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.867C.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.8B5F.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-2F83E ; [.8143.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.8E2F.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-F99E ; [.8C47.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F842 ; [.8A6D.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-FA79 ; [.919C.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F845 ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.85ED.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F849 ; [.8D92.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA38 ; [.886A.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-F9A9 ; [.91F1.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F855 ; [.8BEC.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.8140.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.9023.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.9029.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-F96C ; [.892A.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.8762.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F851 ; [.8E64.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85D ; [.8273.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-FA7E ; [.8C56.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.8785.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.8868.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.8079.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.896A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.87C3.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.93E3.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.846E.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-FA80 ; [.93F1.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F986 ; [.95FD.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-FA04 ; [.8DA1.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-F9BC ; [.9391.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F872 ; [.89C4.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.84D0.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.910F.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.87A9.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.8AC5.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F9DF ; [.86BF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.9206.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F87F ; [.922E.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F881 ; [.8C2F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.812B.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.8F50.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F886 ; [.870A.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-F98E ; [.87A1.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.825B.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88C ; [.9293.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.89E7.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.864B.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.9295.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.85E9.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-2F890 ; [.9106.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.87BF.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F874 ; [.81E6.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.8BED.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.80E5.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-F9D8 ; [.86C4.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-FA85 ; [.9243.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.88FB.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.8E11.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.87A5.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F960 ; [.87C2.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.864C.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA3D ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-FA86 ; [.92C8.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-FA88 ; [.8D33.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-2F8A6 ; [.819F.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA3E ; [.858F.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-2F8B2 ; [.8142.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.9554.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.86B9.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.81CE.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B5 ; [.8064.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.85EC.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-FA02 ; [.8ADD.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.802D.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.8827.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.899B.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.8AF1.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.856B.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-F9A4 ; [.87A4.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-F975 ; [.86CE.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.8C57.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.9130.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E ; [.8A1A.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-FA8F ; [.9133.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.875D.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-FA41 ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.801C.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.8537.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F9BE ; [.866C.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.86BE.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.848F.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-F9E0 ; [.8CB2.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-FA12 ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-FA43 ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-FA06 ; [.8066.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F901 ; [.834B.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8D4 ; [.8E9F.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-F9E1 ; [.862D.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.94AB.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.8DBD.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.94AC.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9F4 ; [.8673.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.8695.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9DA ; [.8634.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F97A ; [.8657.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-F9E2 ; [.8625.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E8 ; [.94F8.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8EF ; [.81A5.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-FA95 ; [.81CC.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-F972 ; [.897F.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.8C55.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.8733.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-F9E3 ; [.8797.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F915 ; [.86E0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.8247.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F900 ; [.87DE.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.83D1.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.860A.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.8523.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.87B0.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.8679.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-2F90E ; [.8C4A.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.9335.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.832A.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.9345.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.868C.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.879E.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.8216.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.8415.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-F94E ; [.86A4.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-2F90F ; [.812A.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F915 ; [.9382.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-2F913 ; [.9383.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F835 ; [.843B.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-F9FB ; [.8E1E.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.8A66.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.866F.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.8612.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-2F91C ; [.9638.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-FA48 ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-F9C0 ; [.8664.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-2F920 ; [.9647.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA9E ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-F946 ; [.860D.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.8B6D.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-FA9F ; [.82A9.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F92B ; [.8606.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F961 ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.8AFA.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-F9AD ; [.867E.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.9484.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.862C.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.868D.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.8E72.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92F ; [.9493.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-FAA3 ; [.8416.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.946F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.8691.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.86CF.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F9E5 ; [.863E.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.97D4.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA5 ; [.8B24.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-FA17 ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.898D.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-FAA8 ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.898C.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F946 ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.8E76.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FA9D ; [.8897.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.968F.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.868F.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.806B.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.8619.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FA18 ; [.8630.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.8974.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.8860.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.9654.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA50 ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.8E54.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.897E.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.8BAA.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-FA1B ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-2F957 ; [.9779.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-FA55 ; [.8AC0.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-F9F7 ; [.863F.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8 ; [.98CB.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-2F962 ; [.8E5E.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-FAAE ; [.861F.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.8640.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.852E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA03 ; [.8A6E.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F968 ; [.9934.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-F96A ; [.8A40.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.861A.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FA59 ; [.82A2.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A ; [.89DB.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.96E1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F9AF ; [.8684.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.8D29.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-F934 ; [.860E.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.9833.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F953 ; [.861E.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.95D0.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.8D36.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F985 ; [.8815.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-FA5C ; [.816D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.9901.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-F97C ; [.8659.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-FA5D ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2F990 ; [.8D2C.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.9042.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.8DF8.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.8411.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.82AD.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.8C3C.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.85C1.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-F9FE ; [.8103.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.842D.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F99A ; [.8908.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99D ; [.8700.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F9A1 ; [.8558.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.857D.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.80E6.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-F958 ; [.867F.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.86DF.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-FA5F ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F9C2 ; [.90E7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AC ; [.90EB.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-2F9B3 ; [.87C5.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-2F9B7 ; [.985A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-F911 ; [.86D8.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-FA08 ; [.8BEF.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C4 ; [.8C9D.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.866E.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F912 ; [.86DE.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-FA60 ; [.83E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.981C.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-FAB7 ; [.8301.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-2F9D2 ; [.996E.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D7 ; [.8863.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.9977.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.802E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.86B2.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F98D ; [.819E.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.8136.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-FA66 ; [.9396.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
-FA25 ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-F92C ; [.8608.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA26 ; [.824F.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-F919 ; [.8611.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-F9B7 ; [.996C.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.862E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.865C.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.8515.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9C6 ; [.891D.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.86A5.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.84DA.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.8687.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9DC ; [.869C.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9B2 ; [.8680.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.8616.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-F938 ; [.86B1.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-FA1C ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-F940 ; [.86B4.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F9F3 ; [.9A5C.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.86E4.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.8627.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.96AE.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; [.99CF.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA1C ; [.8084.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+E2D8 ; [.8EAB.0020.0002] # <unknown>
+E2D9 ; [.8EAC.0020.0002] # <unknown>
+E2DA ; [.8EAD.0020.0002] # <unknown>
+E2DB ; [.8EAE.0020.0002] # <unknown>
+E2DC ; [.8EAF.0020.0002] # <unknown>
+F967 ; [.80D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+F905 ; [.8185.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.8AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.81D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.8635.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F800
+F9BA ; [.8668.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.865E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.899D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.868B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.879A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
+F9B5 ; [.863C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.8B4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.8B4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965 ; [.80A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F80B ; [.8BB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8662.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.893B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.893B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8EB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.815D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.873B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.873B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.8AC8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72 ; [.88DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F9D1 ; [.8696.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8562.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.8484.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8D70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8709.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.873A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.890E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.8D40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.823F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.85D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.85D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8623.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.8656.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.8685.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+2F81D ; [.8FF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.88FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.88A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.88A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.866D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.863A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.81A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.85AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.833D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F98A ; [.8643.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8670.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.860C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.8CFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8CFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.873C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.873C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.8614.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+FA34 ; [.88AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.88AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+FA77 ; [.8964.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.8964.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.805B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.81A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.806E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.806E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.879B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.8445.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.806D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.806D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.80C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.847B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.86CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.88B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.88B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.88B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F836 ; [.8477.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.8FEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.8567.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.84F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.9154.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.915B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.8633.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.867C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.8B5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+2F83E ; [.8143.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.8E2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+F99E ; [.8C47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.8A6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79 ; [.919C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F845 ; [.8953.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.8953.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.85ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.91B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.91B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.83D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.83D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F849 ; [.8D92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA38 ; [.886A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+F9A9 ; [.91F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F855 ; [.8BEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8140.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9023.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9029.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
+F96C ; [.892A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.8762.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F851 ; [.8E64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85D ; [.8273.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+FA7E ; [.8C56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8785.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.8868.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8079.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.896A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.87C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.93E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.846E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+FA80 ; [.93F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F986 ; [.95FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+FA04 ; [.8DA1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+F9BC ; [.9391.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F872 ; [.89C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.84D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.910F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.87A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.8AC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F9DF ; [.86BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.93CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.93CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.9206.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F87F ; [.922E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F881 ; [.8C2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.812B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.8F50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886 ; [.870A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.87A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.825B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C ; [.9293.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.89E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.864B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.8607.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.8607.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.9295.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.85E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+2F890 ; [.9106.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.87BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874 ; [.81E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.8BED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.80E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+F9D8 ; [.86C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+FA85 ; [.9243.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.88FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.8E11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.87A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.87C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.864C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA3D ; [.8443.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8443.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+FA86 ; [.92C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+FA88 ; [.8D33.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+2F8A6 ; [.819F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.842E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.842E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8984.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8984.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.858F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F ; [.8D8E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.8D8E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.8D8E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+2F8B2 ; [.8142.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9554.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.86B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.81CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.8064.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.85EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+FA02 ; [.8ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.802D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.8827.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.899B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8AF1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.856B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+F9A4 ; [.87A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+F975 ; [.86CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.8C57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.9130.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.8A1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+FA8F ; [.9133.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.875D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+FA41 ; [.874D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.874D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.801C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.8537.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F9BE ; [.866C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.86BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.848F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.8CB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+FA12 ; [.88B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.88B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+FA43 ; [.89D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.89D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8066.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901 ; [.834B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8D4 ; [.8E9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.8609.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.8609.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.8609.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8B00.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8B00.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.862D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.94AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8DBD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.94AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9F4 ; [.8673.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8695.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.8634.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.8657.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.8710.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.8710.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8625.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8 ; [.94F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EF ; [.81A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+FA95 ; [.81CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F972 ; [.897F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.8C55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8733.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.8797.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.86E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8247.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.87DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.8694.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.8694.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.8694.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.83D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.860A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.83AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.83AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.8523.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.87B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.8679.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+2F90E ; [.8C4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.9335.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.832A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.9345.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.868C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.879E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8216.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.8E7D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8E7D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8415.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.86A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+2F90F ; [.812A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F915 ; [.9382.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913 ; [.9383.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F835 ; [.843B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+F9FB ; [.8E1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8A66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.866F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.8612.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.9638.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+FA48 ; [.8E46.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8E46.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.8664.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+2F920 ; [.9647.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.8577.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.8577.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.860D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.8B6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.82A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B ; [.8606.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.8E40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.8E40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F961 ; [.86C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.86C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.8AFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.867E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.9484.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.862C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.868D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.8E72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.9493.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+FAA3 ; [.8416.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.946F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.8691.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.86CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F9E5 ; [.863E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.97D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5 ; [.8B24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+FA17 ; [.8CC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.8CC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.898D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+FAA8 ; [.8E04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8E04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.898C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946 ; [.8DDB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.8DDB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.8E76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FA9D ; [.8897.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.968F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.868F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.86B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.86B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.806B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.8619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+FA18 ; [.8630.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8974.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.8860.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.9654.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA50 ; [.8E97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8E97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.8E54.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.897E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.8BAA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+FA1B ; [.82F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.82F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+2F957 ; [.9779.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+FA55 ; [.8AC0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.863F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.98CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+2F962 ; [.8E5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+FAAE ; [.861F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.8640.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.852E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03 ; [.8A6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F968 ; [.9934.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
+F96A ; [.8A40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.861A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FA59 ; [.82A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A ; [.89DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.96E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F9AF ; [.8684.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.8D29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.860E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8DD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8DD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8DD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.9833.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F953 ; [.861E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.95D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8D36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.8815.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+FA5C ; [.816D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.98FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.98FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.9901.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C ; [.8659.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.903A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.903A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.8D2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.9042.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8DF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8411.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.82AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8C3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.8923.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.8923.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.85C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE ; [.8103.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.842D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99A ; [.8908.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99D ; [.8700.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1 ; [.8558.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.857D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.80E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+F958 ; [.867F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.86DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+FA5F ; [.8E4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8E4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F9C2 ; [.90E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC ; [.90EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+2F9B3 ; [.87C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+2F9B7 ; [.985A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911 ; [.86D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08 ; [.8BEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.8C9D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.866E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F912 ; [.86DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.83E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.981C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+FAB7 ; [.8301.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+2F9D2 ; [.996E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D7 ; [.8863.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.9977.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.802E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.86B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F98D ; [.819E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.8136.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.9396.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA66
+FA25 ; [.8CB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.8CB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+F92C ; [.8608.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26 ; [.824F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.8611.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.996C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.862E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.865C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8515.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9C6 ; [.891D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.86A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.84DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8687.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9DC ; [.869C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B2 ; [.8680.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8616.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938 ; [.86B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+FA1C ; [.853B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.853B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+F940 ; [.86B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F9F3 ; [.9A5C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.86E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.8627.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.96AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.99CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA1C ; [.8084.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
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
index db98e9f99ff..013704b0366 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
@@ -1,1505 +1,1505 @@
use Unicode::Collate::CJK::Pinyin;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-FDD0 0041 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER A>
-FDD0 0042 ; [.80C5.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER B>
-FDD0 0043 ; [.8441.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER C>
-FDD0 0044 ; [.897D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER D>
-FDD0 0045 ; [.8D61.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER E>
-FDD0 0046 ; [.8E1B.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER F>
-FDD0 0047 ; [.9089.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER G>
-FDD0 0048 ; [.93C4.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER H>
-FDD0 004A ; [.97EC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER J>
-FDD0 004B ; [.9E32.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER K>
-FDD0 004C ; [.A05D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER L>
-3007 ; [.A401.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-FDD0 004D ; [.A680.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER M>
-FDD0 004E ; [.A9A9.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER N>
-FDD0 004F ; [.AB89.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER O>
-FDD0 0050 ; [.ABAC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER P>
-FDD0 0051 ; [.AE02.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Q>
-FDD0 0052 ; [.B1F1.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER R>
-FDD0 0053 ; [.B337.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER S>
-FDD0 0054 ; [.B858.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER T>
-FDD0 0057 ; [.BBD3.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER W>
-FDD0 0058 ; [.BE4A.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER X>
-FDD0 0059 ; [.C382.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Y>
-FDD0 005A ; [.CB22.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Z>
-3220 ; [*02FB.0020.0004.3220][.C5CF.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
-3226 ; [*02FB.0020.0004.3226][.AE03.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
-3222 ; [*02FB.0020.0004.3222][.B35F.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
-3228 ; [*02FB.0020.0004.3228][.9C92.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
-3221 ; [*02FB.0020.0004.3221][.8E0E.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
-3224 ; [*02FB.0020.0004.3224][.BDF1.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
-3239 ; [*02FB.0020.0004.3239][.89B6.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D ; [*02FB.0020.0004.323D][.AE82.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241 ; [*02FB.0020.0004.3241][.C1F9.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
-3227 ; [*02FB.0020.0004.3227][.80C6.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
-3225 ; [*02FB.0020.0004.3225][.A49F.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
-3238 ; [*02FB.0020.0004.3238][.A132.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
-3229 ; [*02FB.0020.0004.3229][.B57B.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
-323F ; [*02FB.0020.0004.323F][.C10A.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234 ; [*02FB.0020.0004.3234][.A8EB.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
-323A ; [*02FB.0020.0004.323A][.9589.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
-3223 ; [*02FB.0020.0004.3223][.B715.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
-322F ; [*02FB.0020.0004.322F][.BB2D.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
-323B ; [*02FB.0020.0004.323B][.C304.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
-3230 ; [*02FB.0020.0004.3230][.B272.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
-322A ; [*02FB.0020.0004.322A][.CA96.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
-3232 ; [*02FB.0020.0004.3232][.C8D2.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
-322D ; [*02FB.0020.0004.322D][.A98A.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
-3231 ; [*02FB.0020.0004.3231][.CF58.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
-322C ; [*02FB.0020.0004.322C][.B6BA.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
-322B ; [*02FB.0020.0004.322B][.97BC.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
-3235 ; [*02FB.0020.0004.3235][.B980.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C ; [*02FB.0020.0004.323C][.999B.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233 ; [*02FB.0020.0004.3233][.B4AC.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237 ; [*02FB.0020.0004.3237][.CFAD.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240 ; [*02FB.0020.0004.3240][.98D6.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242 ; [*02FB.0020.0004.3242][.D0D4.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
-3243 ; [*02FB.0020.0004.3243][.CE51.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
-3236 ; [*02FB.0020.0004.3236][.844F.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E ; [*02FB.0020.0004.323E][.D0A3.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E ; [*02FB.0020.0004.322E][.9B96.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
-3358 ; [.15E5.0020.0004.3358][.8B60.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9 ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.B272.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9 ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.CA96.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362 ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.8B60.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.B272.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.CA96.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363 ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.8B60.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.B272.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.CA96.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364 ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.8B60.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.B272.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365 ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.8B60.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.B272.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366 ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.8B60.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.B272.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367 ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.8B60.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.B272.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368 ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.8B60.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0 ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.B272.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369 ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.8B60.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1 ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.B272.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.8B60.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2 ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.B272.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.8B60.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0 ; [.15E6.0020.0004.33E0][.B272.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0 ; [.15E6.0020.0004.32C0][.CA96.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359 ; [.15E6.0020.0004.3359][.8B60.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3 ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.B272.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.8B60.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4 ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.B272.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.8B60.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5 ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.B272.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.8B60.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6 ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.B272.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.8B60.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7 ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.B272.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370 ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.8B60.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8 ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.B272.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.B272.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.B272.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.B272.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.B272.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1 ; [.15E7.0020.0004.33E1][.B272.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1 ; [.15E7.0020.0004.32C1][.CA96.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A ; [.15E7.0020.0004.335A][.8B60.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.B272.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.B272.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2 ; [.15E8.0020.0004.33E2][.B272.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2 ; [.15E8.0020.0004.32C2][.CA96.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B ; [.15E8.0020.0004.335B][.8B60.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3 ; [.15E9.0020.0004.33E3][.B272.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3 ; [.15E9.0020.0004.32C3][.CA96.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C ; [.15E9.0020.0004.335C][.8B60.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4 ; [.15EA.0020.0004.33E4][.B272.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4 ; [.15EA.0020.0004.32C4][.CA96.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D ; [.15EA.0020.0004.335D][.8B60.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5 ; [.15EB.0020.0004.33E5][.B272.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5 ; [.15EB.0020.0004.32C5][.CA96.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E ; [.15EB.0020.0004.335E][.8B60.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6 ; [.15EC.0020.0004.33E6][.B272.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6 ; [.15EC.0020.0004.32C6][.CA96.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F ; [.15EC.0020.0004.335F][.8B60.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7 ; [.15ED.0020.0004.33E7][.B272.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7 ; [.15ED.0020.0004.32C7][.CA96.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360 ; [.15ED.0020.0004.3360][.8B60.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8 ; [.15EE.0020.0004.33E8][.B272.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8 ; [.15EE.0020.0004.32C8][.CA96.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361 ; [.15EE.0020.0004.3361][.8B60.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241 ; [*0359.0020.0004.1F241][.B35F.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 ; [*0359.0020.0004.1F242][.8E0E.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247 ; [*0359.0020.0004.1F247][.B548.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243 ; [*0359.0020.0004.1F243][.8049.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245 ; [*0359.0020.0004.1F245][.89A6.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248 ; [*0359.0020.0004.1F248][.811B.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240 ; [*0359.0020.0004.1F240][.81FC.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244 ; [*0359.0020.0004.1F244][.8B60.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246 ; [*0359.0020.0004.1F246][.8A91.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-2F00 ; [.C5CF.0020.0004.2F00] # KANGXI RADICAL ONE
-3192 ; [.C5CF.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
-3280 ; [.C5CF.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
-1F229 ; [.C5CF.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-319C ; [.8BE6.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3286 ; [.AE03.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
-3194 ; [.B35F.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
-3282 ; [.B35F.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
-1F22A ; [.B35F.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-3196 ; [.B46D.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
-32A4 ; [.B46D.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
-3198 ; [.BF75.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-32A6 ; [.BF75.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
-319B ; [.8382.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
-2F01 ; [.937A.0020.0004.2F01] # KANGXI RADICAL LINE
-3197 ; [.CECC.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-32A5 ; [.CECC.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
-1F22D ; [.CECC.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-2F02 ; [.CF8B.0020.0004.2F02] # KANGXI RADICAL DOT
-2F03 ; [.AD44.0020.0004.2F03] # KANGXI RADICAL SLASH
-2F04 ; [.C643.0020.0004.2F04] # KANGXI RADICAL SECOND
-319A ; [.C643.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
-3288 ; [.9C92.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
-2F05 ; [.9D9D.0020.0004.2F05] # KANGXI RADICAL HOOK
-2F06 ; [.8E0E.0020.0004.2F06] # KANGXI RADICAL TWO
-3193 ; [.8E0E.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
-3281 ; [.8E0E.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
-1F214 ; [.8E0E.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3284 ; [.BDF1.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
-2F07 ; [.BAE9.0020.0004.2F07] # KANGXI RADICAL LID
-1F218 ; [.9A8F.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-2F08 ; [.B22F.0020.0004.2F08] # KANGXI RADICAL MAN
-319F ; [.B22F.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
-32AD ; [.AE82.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
-32A1 ; [.C1F9.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
-329D ; [.C8A5.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
-2F09 ; [.8DE5.0020.0004.2F09] # KANGXI RADICAL LEGS
-2F0A ; [.B2E8.0020.0004.2F0A] # KANGXI RADICAL ENTER
-2F0B ; [.80C6.0020.0004.2F0B] # KANGXI RADICAL EIGHT
-3287 ; [.80C6.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
-3285 ; [.A49F.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
-2F0C ; [.9C60.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
-1F21E ; [.CB49.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
-2F0D ; [.A832.0020.0004.2F0D] # KANGXI RADICAL COVER
-32A2 ; [.C132.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
-2F0E ; [.837B.0020.0004.2F0E] # KANGXI RADICAL ICE
-2F0F ; [.989A.0020.0004.2F0F] # KANGXI RADICAL TABLE
-2F10 ; [.AF3D.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
-2F11 ; [.8A71.0020.0004.2F11] # KANGXI RADICAL KNIFE
-1F220 ; [.8779.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F21C ; [.AF1F.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F239 ; [.9162.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
-2F12 ; [.A237.0020.0004.2F12] # KANGXI RADICAL POWER
-3298 ; [.A132.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
-2F13 ; [.8175.0020.0004.2F13] # KANGXI RADICAL WRAP
-2F14 ; [.8238.0020.0004.2F14] # KANGXI RADICAL SPOON
-2F15 ; [.8E8F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; [.BF01.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
-32A9 ; [.C5D4.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
-2F17 ; [.B57B.0020.0004.2F17] # KANGXI RADICAL TEN
-3038 ; [.B57B.0020.0004.3038] # HANGZHOU NUMERAL TEN
-3289 ; [.B57B.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
-3039 ; [.AAA8.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
-303A ; [.B342.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
-32AF ; [.C10A.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
-2F18 ; [.8410.0020.0004.2F18] # KANGXI RADICAL DIVINATION
-2F19 ; [.9B2A.0020.0004.2F19] # KANGXI RADICAL SEAL
-329E ; [.C7AF.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
-2F1A ; [.85AC.0020.0004.2F1A] # KANGXI RADICAL CLIFF
-2F1B ; [.B6E4.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
-2F1C ; [.C8E8.0020.0004.2F1C] # KANGXI RADICAL AGAIN
-1F212 ; [.B6A1.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-2F1D ; [.9F2E.0020.0004.2F1D] # KANGXI RADICAL MOUTH
-1F251 ; [.9ED7.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
-32A8 ; [.C8E9.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
-1F22E ; [.C8E9.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F234 ; [.9499.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3294 ; [.A8EB.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
-1F225 ; [.8816.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
-3244 ; [.BD6F.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
-1F23A ; [.C804.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
-2F1E ; [.BC8F.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
-3195 ; [.B715.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
-3283 ; [.B715.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
-2F1F ; [.BB2D.0020.0004.2F1F] # KANGXI RADICAL EARTH
-328F ; [.BB2D.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
-319E ; [.8AAF.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
-2F20 ; [.B5A9.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
-1F224 ; [.B526.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-2F21 ; [.CE2D.0020.0004.2F21] # KANGXI RADICAL GO
-2F22 ; [.B7D9.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
-2F23 ; [.BE4B.0020.0004.2F23] # KANGXI RADICAL EVENING
-1F215 ; [.8D1C.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
-32B0 ; [.C59A.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
-2F24 ; [.89A7.0020.0004.2F24] # KANGXI RADICAL BIG
-337D ; [.89A7.0020.001C.337D][.CDCB.0020.001C.337D] # SQUARE ERA NAME TAISYOU
-319D ; [.B9F9.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-1F217 ; [.B9F9.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
-2F25 ; [.AB5E.0020.0004.2F25] # KANGXI RADICAL WOMAN
-329B ; [.AB5E.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
-2F26 ; [.D0E1.0020.0004.2F26] # KANGXI RADICAL CHILD
-1F211 ; [.D0D3.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-32AB ; [.C304.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
-2F27 ; [.A858.0020.0004.2F27] # KANGXI RADICAL ROOF
-32AA ; [.D0E4.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
-2F28 ; [.8955.0020.0004.2F28] # KANGXI RADICAL INCH
-2F29 ; [.C0DE.0020.0004.2F29] # KANGXI RADICAL SMALL
-2F2A ; [.C8AC.0020.0004.2F2A] # KANGXI RADICAL LAME
-2F2B ; [.B554.0020.0004.2F2B] # KANGXI RADICAL CORPSE
-2F2C ; [.85F7.0020.0004.2F2C] # KANGXI RADICAL SPROUT
-2F2D ; [.B3FD.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
-2F2E ; [.87DC.0020.0004.2F2E] # KANGXI RADICAL RIVER
-2F2F ; [.91CB.0020.0004.2F2F] # KANGXI RADICAL WORK
-32A7 ; [.D19D.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
-1F22C ; [.D19D.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-2F30 ; [.989B.0020.0004.2F30] # KANGXI RADICAL ONESELF
-2F31 ; [.9B91.0020.0004.2F31] # KANGXI RADICAL TURBAN
-2F32 ; [.90EE.0020.0004.2F32] # KANGXI RADICAL DRY
-337B ; [.AD6D.0020.001C.337B][.866D.0020.001C.337B] # SQUARE ERA NAME HEISEI
-2F33 ; [.C50D.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
-3245 ; [.C8EA.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
-2F34 ; [.9307.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
-2F35 ; [.C792.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
-2F36 ; [.91E7.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
-2F37 ; [.C66C.0020.0004.2F37] # KANGXI RADICAL SHOOT
-2F38 ; [.91CC.0020.0004.2F38] # KANGXI RADICAL BOW
-2F39 ; [.98AF.0020.0004.2F39] # KANGXI RADICAL SNOUT
-2F3A ; [.B3FE.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
-2F3B ; [.86F1.0020.0004.2F3B] # KANGXI RADICAL STEP
-1F21D ; [.957C.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F250 ; [.8AB1.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
-2F3C ; [.C178.0020.0004.2F3C] # KANGXI RADICAL HEART
-2F3D ; [.9153.0020.0004.2F3D] # KANGXI RADICAL HALBERD
-2F3E ; [.95D9.0020.0004.2F3E] # KANGXI RADICAL DOOR
-2F3F ; [.B60C.0020.0004.2F3F] # KANGXI RADICAL HAND
-1F210 ; [.B60C.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F231 ; [.89A6.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F227 ; [.BAEB.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F22F ; [.CE40.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F228 ; [.8420.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
-2F40 ; [.CDDA.0020.0004.2F40] # KANGXI RADICAL BRANCH
-2F41 ; [.ADCC.0020.0004.2F41] # KANGXI RADICAL RAP
-2F42 ; [.BD44.0020.0004.2F42] # KANGXI RADICAL SCRIPT
-3246 ; [.BD44.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
-2F43 ; [.8C5E.0020.0004.2F43] # KANGXI RADICAL DIPPER
-1F21B ; [.A385.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
-2F44 ; [.9B93.0020.0004.2F44] # KANGXI RADICAL AXE
-1F21F ; [.C188.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-2F45 ; [.8E90.0020.0004.2F45] # KANGXI RADICAL SQUARE
-2F46 ; [.BDD2.0020.0004.2F46] # KANGXI RADICAL NOT
-2F47 ; [.B272.0020.0004.2F47] # KANGXI RADICAL SUN
-3290 ; [.B272.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
-337E ; [.A8EC.0020.001C.337E][.CE5C.0020.001C.337E] # SQUARE ERA NAME MEIZI
-1F219 ; [.C83C.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
-337C ; [.CCD5.0020.001C.337C][.949E.0020.001C.337C] # SQUARE ERA NAME SYOUWA
-2F48 ; [.CA8E.0020.0004.2F48] # KANGXI RADICAL SAY
-2F49 ; [.CA96.0020.0004.2F49] # KANGXI RADICAL MOON
-328A ; [.CA96.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
-1F237 ; [.CA96.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-3292 ; [.C8D2.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
-1F236 ; [.C8D2.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
-2F4A ; [.A98A.0020.0004.2F4A] # KANGXI RADICAL TREE
-328D ; [.A98A.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
-3291 ; [.CF58.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
-337F ; [.CF58.0020.001C.337F][.B5B3.0020.001C.337F][.9737.0020.001C.337F][.B4AC.0020.001C.337F] # SQUARE CORPORATION
-2F4B ; [.AF4C.0020.0004.2F4B] # KANGXI RADICAL LACK
-2F4C ; [.CE2E.0020.0004.2F4C] # KANGXI RADICAL STOP
-32A3 ; [.CDCB.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
-2F4D ; [.89B3.0020.0004.2F4D] # KANGXI RADICAL DEATH
-2F4E ; [.B623.0020.0004.2F4E] # KANGXI RADICAL WEAPON
-2F4F ; [.BDD3.0020.0004.2F4F] # KANGXI RADICAL DO NOT
-2E9F ; [.A97A.0020.0004.2E9F] # CJK RADICAL MOTHER
-2F50 ; [.8239.0020.0004.2F50] # KANGXI RADICAL COMPARE
-2F51 ; [.A71D.0020.0004.2F51] # KANGXI RADICAL FUR
-2F52 ; [.B5AA.0020.0004.2F52] # KANGXI RADICAL CLAN
-2F53 ; [.AE99.0020.0004.2F53] # KANGXI RADICAL STEAM
-2F54 ; [.B6BA.0020.0004.2F54] # KANGXI RADICAL WATER
-328C ; [.B6BA.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
-329F ; [.CFA5.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
-1F235 ; [.A6DD.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
-1F226 ; [.C445.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-2F55 ; [.97BC.0020.0004.2F55] # KANGXI RADICAL FIRE
-328B ; [.97BC.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
-1F21A ; [.BDE3.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
-2F56 ; [.CCDE.0020.0004.2F56] # KANGXI RADICAL CLAW
-2F57 ; [.9046.0020.0004.2F57] # KANGXI RADICAL FATHER
-2F58 ; [.C51B.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
-2F59 ; [.ABD3.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
-2F5A ; [.AD1C.0020.0004.2F5A] # KANGXI RADICAL SLICE
-2F5B ; [.C397.0020.0004.2F5B] # KANGXI RADICAL FANG
-2F5C ; [.AB21.0020.0004.2F5C] # KANGXI RADICAL COW
-3295 ; [.B980.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
-2F5D ; [.B1B4.0020.0004.2F5D] # KANGXI RADICAL DOG
-2F5E ; [.C2C8.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
-2F5F ; [.C99A.0020.0004.2F5F] # KANGXI RADICAL JADE
-2F60 ; [.928E.0020.0004.2F60] # KANGXI RADICAL MELON
-2F61 ; [.BBE5.0020.0004.2F61] # KANGXI RADICAL TILE
-2F62 ; [.90BE.0020.0004.2F62] # KANGXI RADICAL SWEET
-2F63 ; [.B523.0020.0004.2F63] # KANGXI RADICAL LIFE
-1F222 ; [.B523.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
-2F64 ; [.C894.0020.0004.2F64] # KANGXI RADICAL USE
-2F65 ; [.BA01.0020.0004.2F65] # KANGXI RADICAL FIELD
-3199 ; [.9955.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
-1F238 ; [.B4C6.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
-329A ; [.A9E0.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
-2F66 ; [.ACE2.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
-2F67 ; [.AA2F.0020.0004.2F67] # KANGXI RADICAL SICKNESS
-2F68 ; [.83AC.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
-2F69 ; [.810B.0020.0004.2F69] # KANGXI RADICAL WHITE
-2F6A ; [.ACBB.0020.0004.2F6A] # KANGXI RADICAL SKIN
-2F6B ; [.A8CF.0020.0004.2F6B] # KANGXI RADICAL DISH
-32AC ; [.999B.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
-2F6C ; [.A98D.0020.0004.2F6C] # KANGXI RADICAL EYE
-2F6D ; [.A71E.0020.0004.2F6D] # KANGXI RADICAL SPEAR
-2F6E ; [.B59D.0020.0004.2F6E] # KANGXI RADICAL ARROW
-2F6F ; [.B57D.0020.0004.2F6F] # KANGXI RADICAL STONE
-2F70 ; [.B5B0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
-3293 ; [.B4AC.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
-3297 ; [.CFAD.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
-1F232 ; [.9BD6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
-2F71 ; [.B2AC.0020.0004.2F71] # KANGXI RADICAL TRACK
-2F72 ; [.9498.0020.0004.2F72] # KANGXI RADICAL GRAIN
-3299 ; [.A83C.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
-2F73 ; [.C301.0020.0004.2F73] # KANGXI RADICAL CAVE
-1F233 ; [.9F18.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-2F74 ; [.A23B.0020.0004.2F74] # KANGXI RADICAL STAND
-2F75 ; [.CF74.0020.0004.2F75] # KANGXI RADICAL BAMBOO
-3247 ; [.CDBB.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
-2F76 ; [.A821.0020.0004.2F76] # KANGXI RADICAL RICE
-2F77 ; [.A833.0020.0004.2F77] # KANGXI RADICAL SILK
-1F221 ; [.CEDC.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-2F78 ; [.8F9E.0020.0004.2F78] # KANGXI RADICAL JAR
-2F79 ; [.BC56.0020.0004.2F79] # KANGXI RADICAL NET
-2F7A ; [.C4C4.0020.0004.2F7A] # KANGXI RADICAL SHEEP
-2F7B ; [.C975.0020.0004.2F7B] # KANGXI RADICAL FEATHER
-2F7C ; [.A149.0020.0004.2F7C] # KANGXI RADICAL OLD
-2F7D ; [.8DE6.0020.0004.2F7D] # KANGXI RADICAL AND
-2F7E ; [.A19B.0020.0004.2F7E] # KANGXI RADICAL PLOW
-2F7F ; [.8E00.0020.0004.2F7F] # KANGXI RADICAL EAR
-2F80 ; [.C99D.0020.0004.2F80] # KANGXI RADICAL BRUSH
-2F81 ; [.B2C1.0020.0004.2F81] # KANGXI RADICAL MEAT
-2F82 ; [.8612.0020.0004.2F82] # KANGXI RADICAL MINISTER
-2F83 ; [.D0D4.0020.0004.2F83] # KANGXI RADICAL SELF
-2F84 ; [.CE51.0020.0004.2F84] # KANGXI RADICAL ARRIVE
-2F85 ; [.9CA1.0020.0004.2F85] # KANGXI RADICAL MORTAR
-2F86 ; [.B4A3.0020.0004.2F86] # KANGXI RADICAL TONGUE
-2F87 ; [.87EF.0020.0004.2F87] # KANGXI RADICAL OPPOSE
-2F88 ; [.CF09.0020.0004.2F88] # KANGXI RADICAL BOAT
-2F89 ; [.91A3.0020.0004.2F89] # KANGXI RADICAL STOPPING
-2F8A ; [.B3A0.0020.0004.2F8A] # KANGXI RADICAL COLOR
-2F8B ; [.84B1.0020.0004.2F8B] # KANGXI RADICAL GRASS
-2F8C ; [.9588.0020.0004.2F8C] # KANGXI RADICAL TIGER
-2F8D ; [.872E.0020.0004.2F8D] # KANGXI RADICAL INSECT
-2F8E ; [.C317.0020.0004.2F8E] # KANGXI RADICAL BLOOD
-2F8F ; [.C1BA.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
-2F90 ; [.C5D3.0020.0004.2F90] # KANGXI RADICAL CLOTHES
-2F91 ; [.C3B8.0020.0004.2F91] # KANGXI RADICAL WEST
-2F92 ; [.99FE.0020.0004.2F92] # KANGXI RADICAL SEE
-2F93 ; [.9AB8.0020.0004.2F93] # KANGXI RADICAL HORN
-1F216 ; [.9B6C.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-2F94 ; [.C3F5.0020.0004.2F94] # KANGXI RADICAL SPEECH
-2F95 ; [.924B.0020.0004.2F95] # KANGXI RADICAL VALLEY
-2F96 ; [.8C5F.0020.0004.2F96] # KANGXI RADICAL BEAN
-2F97 ; [.B59F.0020.0004.2F97] # KANGXI RADICAL PIG
-2F98 ; [.CE56.0020.0004.2F98] # KANGXI RADICAL BADGER
-2F99 ; [.81CA.0020.0004.2F99] # KANGXI RADICAL SHELL
-3296 ; [.844F.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
-1F223 ; [.8E87.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-32AE ; [.D0A3.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
-2F9A ; [.86F6.0020.0004.2F9A] # KANGXI RADICAL RED
-2F9B ; [.D138.0020.0004.2F9B] # KANGXI RADICAL RUN
-1F230 ; [.D138.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-2F9C ; [.D141.0020.0004.2F9C] # KANGXI RADICAL FOOT
-2F9D ; [.B4CA.0020.0004.2F9D] # KANGXI RADICAL BODY
-2F9E ; [.85ED.0020.0004.2F9E] # KANGXI RADICAL CART
-2F9F ; [.C17D.0020.0004.2F9F] # KANGXI RADICAL BITTER
-2FA0 ; [.8616.0020.0004.2FA0] # KANGXI RADICAL MORNING
-2FA1 ; [.8858.0020.0004.2FA1] # KANGXI RADICAL WALK
-1F22B ; [.C8C4.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
-329C ; [.B5EC.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
-2FA2 ; [.C682.0020.0004.2FA2] # KANGXI RADICAL CITY
-2FA3 ; [.C8D6.0020.0004.2FA3] # KANGXI RADICAL WINE
-2FA4 ; [.82F0.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
-2FA5 ; [.A21E.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
-2FA6 ; [.9B96.0020.0004.2FA6] # KANGXI RADICAL GOLD
-328E ; [.9B96.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
-2FA7 ; [.CCB5.0020.0004.2FA7] # KANGXI RADICAL LONG
-2FA8 ; [.A7B4.0020.0004.2FA8] # KANGXI RADICAL GATE
-2FA9 ; [.904E.0020.0004.2FA9] # KANGXI RADICAL MOUND
-2FAA ; [.A24C.0020.0004.2FAA] # KANGXI RADICAL SLAVE
-2FAB ; [.D014.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
-2FAC ; [.C976.0020.0004.2FAC] # KANGXI RADICAL RAIN
-2FAD ; [.B063.0020.0004.2FAD] # KANGXI RADICAL BLUE
-2FAE ; [.8EB9.0020.0004.2FAE] # KANGXI RADICAL WRONG
-2FAF ; [.A882.0020.0004.2FAF] # KANGXI RADICAL FACE
-2FB0 ; [.9173.0020.0004.2FB0] # KANGXI RADICAL LEATHER
-2FB1 ; [.BC9A.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
-2FB2 ; [.9C9A.0020.0004.2FB2] # KANGXI RADICAL LEEK
-2FB3 ; [.C745.0020.0004.2FB3] # KANGXI RADICAL SOUND
-2FB4 ; [.C59E.0020.0004.2FB4] # KANGXI RADICAL LEAF
-32A0 ; [.C084.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
-2FB5 ; [.8F57.0020.0004.2FB5] # KANGXI RADICAL WIND
-2FB6 ; [.8EBA.0020.0004.2FB6] # KANGXI RADICAL FLY
-2FB7 ; [.B58A.0020.0004.2FB7] # KANGXI RADICAL EAT
-2FB8 ; [.B60F.0020.0004.2FB8] # KANGXI RADICAL HEAD
-2FB9 ; [.C044.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
-2FBA ; [.A690.0020.0004.2FBA] # KANGXI RADICAL HORSE
-2FBB ; [.924E.0020.0004.2FBB] # KANGXI RADICAL BONE
-2FBC ; [.9124.0020.0004.2FBC] # KANGXI RADICAL TALL
-2FBD ; [.830C.0020.0004.2FBD] # KANGXI RADICAL HAIR
-2FBE ; [.8C65.0020.0004.2FBE] # KANGXI RADICAL FIGHT
-2FBF ; [.85BA.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; [.9176.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
-2FC1 ; [.934D.0020.0004.2FC1] # KANGXI RADICAL GHOST
-2FC2 ; [.C936.0020.0004.2FC2] # KANGXI RADICAL FISH
-2FC3 ; [.AABB.0020.0004.2FC3] # KANGXI RADICAL BIRD
-2FC4 ; [.A552.0020.0004.2FC4] # KANGXI RADICAL SALT
-2FC5 ; [.A57C.0020.0004.2FC5] # KANGXI RADICAL DEER
-2FC6 ; [.A6C0.0020.0004.2FC6] # KANGXI RADICAL WHEAT
-2FC7 ; [.A687.0020.0004.2FC7] # KANGXI RADICAL HEMP
-2FC8 ; [.96C2.0020.0004.2FC8] # KANGXI RADICAL YELLOW
-2FC9 ; [.B656.0020.0004.2FC9] # KANGXI RADICAL MILLET
-2FCA ; [.94F2.0020.0004.2FCA] # KANGXI RADICAL BLACK
-2FCB ; [.CE4C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
-2FCC ; [.A87C.0020.0004.2FCC] # KANGXI RADICAL FROG
-2FCD ; [.8BF6.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
-2FCE ; [.9261.0020.0004.2FCE] # KANGXI RADICAL DRUM
-2FCF ; [.B659.0020.0004.2FCF] # KANGXI RADICAL RAT
-2FD0 ; [.8237.0020.0004.2FD0] # KANGXI RADICAL NOSE
-2FD1 ; [.AE64.0020.0004.2FD1] # KANGXI RADICAL EVEN
-2FD2 ; [.86F0.0020.0004.2FD2] # KANGXI RADICAL TOOTH
-2FD3 ; [.A4C6.0020.0004.2FD3] # KANGXI RADICAL DRAGON
-2FD4 ; [.9336.0020.0004.2FD4] # KANGXI RADICAL TURTLE
-2EF3 ; [.9317.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
-2FD5 ; [.CAB5.0020.0004.2FD5] # KANGXI RADICAL FLUTE
-F967 ; [.8424.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.839A.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.87F6.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.BC07.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.89E0.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.A23E.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F802 ; [.C5F5.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
-F91B ; [.A613.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.A17A.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.A342.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.B4F1.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-2F819 ; [.837C.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
-F9A8 ; [.A453.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.AA66.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.C1BE.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.A084.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.A245.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.BB64.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.82F3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.839E.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.A624.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.CB31.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.81DD.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.C085.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.A356.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.BE12.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.871C.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.BB34.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; [.96DD.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F814 ; [.AA3E.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.B186.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.A338.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.A49F.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.9D2C.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.98F1.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.CB49.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.A744.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.A872.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.B2A3.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.CA20.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.8C16.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.A1CE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.A329.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.A412.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.A3E3.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.BEA0.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81D ; [.AF3D.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.B244.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.A38C.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.A23F.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.88A0.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.9EE2.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.A65E.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; [.9162.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.8564.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.A474.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.A237.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.A38D.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.A131.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
-FA76 ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.A17D.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.A139.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.A284.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.8176.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.88AB.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.AA7F.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.9735.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.83E1.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.9856.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.A610.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.985E.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.8464.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.984E.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.B77F.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.9D21.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.9AED.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.86F2.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.C50F.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.A23C.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.A3EE.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.BE4D.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.A5C5.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.866F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.CF0C.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F83C ; [.C009.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F840 ; [.8D98.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.C468.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F841 ; [.A8A3.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; [.B912.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.AE8E.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-FA79 ; [.B968.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.BFC2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.A06A.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.86B2.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.CC0F.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA0D ; [.95EF.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.C52C.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.BBEB.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84E ; [.9460.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
-FA38 ; [.AEBB.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.AC52.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.A404.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.BB20.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84D ; [.BB21.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F855 ; [.C1C0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.8675.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.CE0E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.BB35.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.81A6.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.887F.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA39 ; [.AD95.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.B352.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.A952.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.8B3A.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.8F25.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.A1A8.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.A4EA.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F851 ; [.D00A.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85A ; [.A6BB.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.95AA.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C ; [.8F78.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.8D1C.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.A7F8.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.C42B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.A9D5.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.AEA8.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.81F5.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.B49A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.AB5E.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.AD48.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.9802.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.C92A.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.BB66.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.826B.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.905C.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.C83F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.B221.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.888D.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.CC49.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.CA24.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.CE90.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.A35E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.819A.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F872 ; [.B611.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.9A4D.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.C8AC.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.AAC3.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.BB13.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.A5D3.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.84DD.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.A5D7.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.AEE6.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F879 ; [.C218.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.A629.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.C438.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.A0B9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.D096.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F87E ; [.8B4E.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F880 ; [.8565.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.BE9B.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.A452.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.C33F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.85D2.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.C372.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.B6BB.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.A74C.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.8F26.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
-F98E ; [.AA90.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.8CB0.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.839D.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.826C.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.B673.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.A2D5.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.8093.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.A051.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.C6DC.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.A537.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.91E7.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.AB44.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F874 ; [.8A3C.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.C1BC.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.8458.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.8B8D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.A5E0.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-2F89C ; [.8C26.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
-F966 ; [.9060.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.C52E.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.B23C.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.CE53.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.AAAA.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-2F89F ; [.9F9E.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
-F960 ; [.AB5B.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.A2CC.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.9741.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.CA21.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.8CF7.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.BC5B.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.8DAF.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.C9CE.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.A276.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.8883.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA8A ; [.80BA.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.9E4D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.A500.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.A2E3.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.8F40.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.847C.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.C030.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.A7D7.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.A324.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.866D.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.9945.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.A591.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.89D5.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B4 ; [.9F3F.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 ; [.819F.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.A05F.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.A9AB.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.B86F.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.80E0.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.AD49.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.B600.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.BC1A.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.9D69.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.B4A9.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.AA99.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.B397.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.8DA6.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.C433.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.C93D.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.C40D.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.9865.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.B76C.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.9BD4.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.8391.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.A914.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.9AD1.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C4 ; [.9A82.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-F991 ; [.AA9F.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.9712.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.A55B.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.808D.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.9C49.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.B682.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.A385.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.A5CB.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.98C1.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-2F8CB ; [.98D3.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0 ; [.C689.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.9BCA.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.CAC4.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D5 ; [.9BDA.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-FA06 ; [.81AB.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.A285.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.91C6.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.B62E.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.D171.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.D0F0.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-F9E1 ; [.A2BF.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.8308.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.CCBE.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.AE88.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.876A.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.97FC.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.A3B8.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.A490.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.92B4.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.A259.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.81F8.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E1 ; [.B37D.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-F97A ; [.A32A.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E4 ; [.808A.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-F9E2 ; [.A1DC.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.D097.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.CC12.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.C536.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; [.90BC.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.A504.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.B4A2.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.A562.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.CEB6.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.A0D6.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.889D.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.C249.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.B7FD.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.A286.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.89B3.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F8F4 ; [.BD36.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.A31E.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.AFE9.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8FA ; [.8E7C.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.AEE8.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.8614.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.C3F8.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.A837.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.81F6.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.AA4A.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-2F8FF ; [.BDDC.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.A66A.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.8C3D.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.AD78.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.ABCA.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.9477.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.A129.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.9BCC.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.AACC.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.A3BE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.A1B6.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.A62B.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.C3DB.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.CF91.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.911B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.C3E0.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.A45B.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.AA85.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.8B4F.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.9618.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-FA98 ; [.C781.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
-F94E ; [.A51A.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.A2D8.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.85DA.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.8F27.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.A0FC.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.A5EF.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.C823.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F913 ; [.CAB7.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.AF3B.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F835 ; [.96F6.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F919 ; [.CFEA.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F918 ; [.CB3D.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.CE5D.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.B8F6.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.A39A.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.A157.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-2F91C ; [.8CCA.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-F993 ; [.A318.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.88BE.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.A366.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.A3CE.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.A53F.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.A0FE.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.891A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA49 ; [.CCFA.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA9E ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 ; [.CC22.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
-F946 ; [.A133.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.BE7F.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.81E7.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
-FA9F ; [.8E7A.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.D00D.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.A10A.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.A3AA.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.B86C.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.BC50.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92B ; [.CA9E.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.A410.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.A66F.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.A226.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.A465.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.D199.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92E ; [.89CF.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; [.C94D.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.C813.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.B84D.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.A303.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.A3CF.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.B0BA.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-FAA2 ; [.8884.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
-2F934 ; [.B309.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
-FAA3 ; [.9628.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.CB3F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.A463.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.8DA7.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.A26F.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.C98A.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.92C4.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.BD3A.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.A369.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.A0B0.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.B546.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.A533.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.B53E.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.CD43.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.CD35.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAA9 ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.860C.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.AFD8.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.C1C6.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.A467.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.81C0.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.A1A3.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.ABDF.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.A29F.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA18 ; [.A21D.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.B4AC.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.AE35.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.CE3D.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.C8F6.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.CFAD.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.B4F3.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.C062.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.A580.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.97D4.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.CD54.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.A22F.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995 ; [.AA91.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957 ; [.B64A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.A1CB.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.98E8.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; [.BD69.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-FA55 ; [.BAFD.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.BA57.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.A23B.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F95F ; [.AD6B.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-F9F8 ; [.A265.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.CFF3.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.CF80.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.A2F7.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.A4D9.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-FAAE ; [.A1B4.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.A266.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.9C0E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.81EF.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.B929.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F969 ; [.B36D.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
-F97B ; [.A335.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.9A87.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F96A ; [.98C4.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.AB29.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.B844.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.A1B7.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.B94E.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.8211.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.A5E8.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.A432.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.D0A7.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-2F96F ; [.D113.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
-FA58 ; [.9BE4.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.A5DC.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.8E69.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.B38F.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.AD85.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.B657.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.A1FD.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.85DC.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.A64E.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F978 ; [.C504.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.A422.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.C975.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979 ; [.80A2.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.A149.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.A424.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-2F97D ; [.AD69.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
-F997 ; [.A2F1.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.88C7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.A4DA.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.A167.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.A9B7.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.C9A3.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; [.8934.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F985 ; [.ACD1.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.A078.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.A3D4.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.8772.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.BF1A.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-FA6D ; [.92D4.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-F97C ; [.A327.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-FA5D ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2F990 ; [.C99E.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.AE85.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.CDDD.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.960B.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.8E93.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.C39B.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.9F4F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.8519.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.BDDE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.84F7.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.96AF.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.AD7B.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99A ; [.B27F.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; [.9B40.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99D ; [.A713.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.A57A.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.9CF4.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.9E06.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.845F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.8B10.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.9614.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.A426.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.A673.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.C5A8.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.A2D9.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.AD86.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.9BB8.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.A37C.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.8966.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.B30B.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.A0C7.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.A3FB.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.A53C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-FA20 ; [.B110.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
-F91F ; [.A0D4.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.A656.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.AB6D.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.9FD0.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.BF2F.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B8 ; [.AEF3.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B7 ; [.86AD.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.AD87.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.CA2E.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.8BD5.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.CF66.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BE ; [.88A9.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-F911 ; [.A64D.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.9359.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.C072.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.A07D.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.C1BA.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C3 ; [.D03A.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; [.C5D3.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.A39F.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.A229.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-2F9C6 ; [.A468.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.B6C1.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.A2C4.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.A661.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.C444.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.94E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.AFA2.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.A0CC.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.907C.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.99FE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.8692.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.8BAD.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.B08C.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.A34C.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.A63B.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.B608.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.8C98.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.AE8C.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.B59F.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.92E0.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.827C.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.A588.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.9963.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.835E.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.90FE.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.AE8D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.99CD.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.80E7.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.A589.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.AD12.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-F902 ; [.85ED.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9DE ; [.B25D.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.AAA2.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.A632.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.901F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.A2B5.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2F98D ; [.8885.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.8616.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-FA66 ; [.8857.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
-F99A ; [.A2CF.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.86DA.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.A364.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.A657.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-2F9E2 ; [.AE81.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.A107.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA2E ; [.A108.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-2F9E3 ; [.AD74.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.8C50.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.D09D.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.85D5.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-F919 ; [.A159.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.B778.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.A232.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.A21E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.A34A.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.9B96.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.A42E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.83E8.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.C1CA.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.8395.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.C2BB.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.961F.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.A59D.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.A31F.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.AFA4.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.CB58.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9EE ; [.9E42.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.A5BD.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.B3FB.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-F9C6 ; [.B2FA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.A518.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.9A78.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.A418.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.A574.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.CF90.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.A4BE.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.A3C7.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.A288.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.A28E.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2F9F3 ; [.AEFD.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.A206.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.A430.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.A17E.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.CB01.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.A5AF.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.A448.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 ; [.8121.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
-2F9FA ; [.82B7.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69 ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
-2F9FE ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-F9B4 ; [.A451.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.AD6C.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.A1BF.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.9806.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.8E89.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.B734.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.92D6.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.8DCB.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; [.CACE.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; [.8195.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.A67A.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.BB6B.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.A21A.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.A55A.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.990A.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.A3DE.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2FA0C ; [.99A3.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.ACDC.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.94EB.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.A5B3.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.A60F.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.A57C.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.A2A1.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.A3DF.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.A687.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.A1FA.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.CE4C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; [.A86D.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 ; [.CE04.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A ; [.A84E.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; [.8F2F.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; [.8237.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-FAD8 ; [.8DD6.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-F9C4 ; [.A4C6.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9 ; [.AC0A.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907 ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 0041 ; [.8000.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER A>
+FDD0 0042 ; [.80C5.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER B>
+FDD0 0043 ; [.8441.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER C>
+FDD0 0044 ; [.897D.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER D>
+FDD0 0045 ; [.8D61.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER E>
+FDD0 0046 ; [.8E1B.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER F>
+FDD0 0047 ; [.9089.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER G>
+FDD0 0048 ; [.93C4.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER H>
+FDD0 004A ; [.97EC.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER J>
+FDD0 004B ; [.9E32.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER K>
+FDD0 004C ; [.A05D.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER L>
+3007 ; [.A401.0020.0002] # IDEOGRAPHIC NUMBER ZERO
+FDD0 004D ; [.A680.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER M>
+FDD0 004E ; [.A9A9.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER N>
+FDD0 004F ; [.AB89.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER O>
+FDD0 0050 ; [.ABAC.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER P>
+FDD0 0051 ; [.AE02.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER Q>
+FDD0 0052 ; [.B1F1.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER R>
+FDD0 0053 ; [.B337.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER S>
+FDD0 0054 ; [.B858.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER T>
+FDD0 0057 ; [.BBD3.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER W>
+FDD0 0058 ; [.BE4A.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER X>
+FDD0 0059 ; [.C382.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER Y>
+FDD0 005A ; [.CB22.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER Z>
+3220 ; [*02FA.0020.0004][.C5CF.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FA.0020.0004][.AE03.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FA.0020.0004][.B35F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FA.0020.0004][.9C92.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FA.0020.0004][.8E0E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FA.0020.0004][.BDF1.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FA.0020.0004][.89B6.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FA.0020.0004][.AE82.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FA.0020.0004][.C1F9.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FA.0020.0004][.80C6.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FA.0020.0004][.A49F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FA.0020.0004][.A132.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FA.0020.0004][.B57B.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FA.0020.0004][.C10A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FA.0020.0004][.A8EB.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FA.0020.0004][.9589.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FA.0020.0004][.B715.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FA.0020.0004][.BB2D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FA.0020.0004][.C304.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FA.0020.0004][.B272.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FA.0020.0004][.CA96.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FA.0020.0004][.C8D2.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FA.0020.0004][.A98A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FA.0020.0004][.CF58.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FA.0020.0004][.B6BA.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FA.0020.0004][.97BC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FA.0020.0004][.B980.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FA.0020.0004][.999B.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FA.0020.0004][.B4AC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FA.0020.0004][.CFAD.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FA.0020.0004][.98D6.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FA.0020.0004][.D0D4.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FA.0020.0004][.CE51.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FA.0020.0004][.844F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FA.0020.0004][.D0A3.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FA.0020.0004][.9B96.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15E1.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15E2.0020.0004][.15E1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15E2.0020.0004][.15E1.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15E2.0020.0004][.15E1.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15E2.0020.0004][.15E2.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15E2.0020.0004][.15E2.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15E2.0020.0004][.15E2.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15E2.0020.0004][.15E3.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15E2.0020.0004][.15E3.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15E2.0020.0004][.15E3.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15E2.0020.0004][.15E4.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15E2.0020.0004][.15E4.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15E2.0020.0004][.15E5.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15E2.0020.0004][.15E5.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15E2.0020.0004][.15E6.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15E2.0020.0004][.15E6.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15E2.0020.0004][.15E7.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15E2.0020.0004][.15E7.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15E2.0020.0004][.15E8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15E2.0020.0004][.15E8.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15E2.0020.0004][.15E9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15E2.0020.0004][.15E9.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15E2.0020.0004][.15EA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15E2.0020.0004][.15EA.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15E2.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15E2.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15E2.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15E3.0020.0004][.15E1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15E3.0020.0004][.15E1.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15E3.0020.0004][.15E2.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15E3.0020.0004][.15E2.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15E3.0020.0004][.15E3.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15E3.0020.0004][.15E3.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15E3.0020.0004][.15E4.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15E3.0020.0004][.15E4.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15E3.0020.0004][.15E5.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15E3.0020.0004][.15E5.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15E3.0020.0004][.15E6.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15E3.0020.0004][.15E7.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15E3.0020.0004][.15E8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15E3.0020.0004][.15E9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15E3.0020.0004][.15EA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15E3.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15E3.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15E3.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15E4.0020.0004][.15E1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15E4.0020.0004][.15E2.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15E4.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15E4.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15E4.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15E5.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15E5.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15E5.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15E6.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15E6.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15E6.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15E7.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15E7.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15E7.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15E8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15E8.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15E8.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15E9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15E9.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15E9.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15EA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15EA.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15EA.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*035C.0020.0004][.B35F.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*035C.0020.0004][.8E0E.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*035C.0020.0004][.B548.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*035C.0020.0004][.8049.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*035C.0020.0004][.89A6.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*035C.0020.0004][.811B.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*035C.0020.0004][.81FC.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*035C.0020.0004][.8B60.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*035C.0020.0004][.8A91.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.C5CF.0020.0004] # KANGXI RADICAL ONE
+3192 ; [.C5CF.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.C5CF.0020.0006] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.C5CF.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8BE6.0020.0014] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.AE03.0020.0006] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.B35F.0020.0014] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.B35F.0020.0006] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.B35F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.B46D.0020.0014] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.B46D.0020.0006] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.BF75.0020.0014] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.BF75.0020.0006] # CIRCLED IDEOGRAPH LOW
+319B ; [.8382.0020.0014] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.937A.0020.0004] # KANGXI RADICAL LINE
+3197 ; [.CECC.0020.0014] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.CECC.0020.0006] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.CECC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.CF8B.0020.0004] # KANGXI RADICAL DOT
+2F03 ; [.AD44.0020.0004] # KANGXI RADICAL SLASH
+2F04 ; [.C643.0020.0004] # KANGXI RADICAL SECOND
+319A ; [.C643.0020.0014] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.9C92.0020.0006] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.9D9D.0020.0004] # KANGXI RADICAL HOOK
+2F06 ; [.8E0E.0020.0004] # KANGXI RADICAL TWO
+3193 ; [.8E0E.0020.0014] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.8E0E.0020.0006] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.8E0E.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.BDF1.0020.0006] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.BAE9.0020.0004] # KANGXI RADICAL LID
+1F218 ; [.9A8F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.B22F.0020.0004] # KANGXI RADICAL MAN
+319F ; [.B22F.0020.0014] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.AE82.0020.0006] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.C1F9.0020.0006] # CIRCLED IDEOGRAPH REST
+329D ; [.C8A5.0020.0006] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.8DE5.0020.0004] # KANGXI RADICAL LEGS
+2F0A ; [.B2E8.0020.0004] # KANGXI RADICAL ENTER
+2F0B ; [.80C6.0020.0004] # KANGXI RADICAL EIGHT
+3287 ; [.80C6.0020.0006] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.A49F.0020.0006] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.9C60.0020.0004] # KANGXI RADICAL DOWN BOX
+1F21E ; [.CB49.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.A832.0020.0004] # KANGXI RADICAL COVER
+32A2 ; [.C132.0020.0006] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.837B.0020.0004] # KANGXI RADICAL ICE
+2F0F ; [.989A.0020.0004] # KANGXI RADICAL TABLE
+2F10 ; [.AF3D.0020.0004] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8A71.0020.0004] # KANGXI RADICAL KNIFE
+1F220 ; [.8779.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.AF1F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.9162.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.A237.0020.0004] # KANGXI RADICAL POWER
+3298 ; [.A132.0020.0006] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.8175.0020.0004] # KANGXI RADICAL WRAP
+2F14 ; [.8238.0020.0004] # KANGXI RADICAL SPOON
+2F15 ; [.8E8F.0020.0004] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.BF01.0020.0004] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.C5D4.0020.0006] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.B57B.0020.0004] # KANGXI RADICAL TEN
+3038 ; [.B57B.0020.0004] # HANGZHOU NUMERAL TEN
+3289 ; [.B57B.0020.0006] # CIRCLED IDEOGRAPH TEN
+3039 ; [.AAA8.0020.0004] # HANGZHOU NUMERAL TWENTY
+303A ; [.B342.0020.0004] # HANGZHOU NUMERAL THIRTY
+32AF ; [.C10A.0020.0006] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.8410.0020.0004] # KANGXI RADICAL DIVINATION
+2F19 ; [.9B2A.0020.0004] # KANGXI RADICAL SEAL
+329E ; [.C7AF.0020.0006] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.85AC.0020.0004] # KANGXI RADICAL CLIFF
+2F1B ; [.B6E4.0020.0004] # KANGXI RADICAL PRIVATE
+2F1C ; [.C8E8.0020.0004] # KANGXI RADICAL AGAIN
+1F212 ; [.B6A1.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.9F2E.0020.0004] # KANGXI RADICAL MOUTH
+1F251 ; [.9ED7.0020.0006] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.C8E9.0020.0006] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.C8E9.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.9499.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.A8EB.0020.0006] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.8816.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.BD6F.0020.0006] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.C804.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.BC8F.0020.0004] # KANGXI RADICAL ENCLOSURE
+3195 ; [.B715.0020.0014] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.B715.0020.0006] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.BB2D.0020.0004] # KANGXI RADICAL EARTH
+328F ; [.BB2D.0020.0006] # CIRCLED IDEOGRAPH EARTH
+319E ; [.8AAF.0020.0014] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.B5A9.0020.0004] # KANGXI RADICAL SCHOLAR
+1F224 ; [.B526.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.CE2D.0020.0004] # KANGXI RADICAL GO
+2F22 ; [.B7D9.0020.0004] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.BE4B.0020.0004] # KANGXI RADICAL EVENING
+1F215 ; [.8D1C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.C59A.0020.0006] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.89A7.0020.0004] # KANGXI RADICAL BIG
+337D ; [.89A7.0020.001C][.CDCB.0020.001C] # SQUARE ERA NAME TAISYOU
+319D ; [.B9F9.0020.0014] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.B9F9.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.AB5E.0020.0004] # KANGXI RADICAL WOMAN
+329B ; [.AB5E.0020.0006] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.D0E1.0020.0004] # KANGXI RADICAL CHILD
+1F211 ; [.D0D3.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.C304.0020.0006] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.A858.0020.0004] # KANGXI RADICAL ROOF
+32AA ; [.D0E4.0020.0006] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.8955.0020.0004] # KANGXI RADICAL INCH
+2F29 ; [.C0DE.0020.0004] # KANGXI RADICAL SMALL
+2F2A ; [.C8AC.0020.0004] # KANGXI RADICAL LAME
+2F2B ; [.B554.0020.0004] # KANGXI RADICAL CORPSE
+2F2C ; [.85F7.0020.0004] # KANGXI RADICAL SPROUT
+2F2D ; [.B3FD.0020.0004] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.87DC.0020.0004] # KANGXI RADICAL RIVER
+2F2F ; [.91CB.0020.0004] # KANGXI RADICAL WORK
+32A7 ; [.D19D.0020.0006] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.D19D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.989B.0020.0004] # KANGXI RADICAL ONESELF
+2F31 ; [.9B91.0020.0004] # KANGXI RADICAL TURBAN
+2F32 ; [.90EE.0020.0004] # KANGXI RADICAL DRY
+337B ; [.AD6D.0020.001C][.866D.0020.001C] # SQUARE ERA NAME HEISEI
+2F33 ; [.C50D.0020.0004] # KANGXI RADICAL SHORT THREAD
+3245 ; [.C8EA.0020.0006] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.9307.0020.0004] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.C792.0020.0004] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.91E7.0020.0004] # KANGXI RADICAL TWO HANDS
+2F37 ; [.C66C.0020.0004] # KANGXI RADICAL SHOOT
+2F38 ; [.91CC.0020.0004] # KANGXI RADICAL BOW
+2F39 ; [.98AF.0020.0004] # KANGXI RADICAL SNOUT
+2F3A ; [.B3FE.0020.0004] # KANGXI RADICAL BRISTLE
+2F3B ; [.86F1.0020.0004] # KANGXI RADICAL STEP
+1F21D ; [.957C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.8AB1.0020.0006] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.C178.0020.0004] # KANGXI RADICAL HEART
+2F3D ; [.9153.0020.0004] # KANGXI RADICAL HALBERD
+2F3E ; [.95D9.0020.0004] # KANGXI RADICAL DOOR
+2F3F ; [.B60C.0020.0004] # KANGXI RADICAL HAND
+1F210 ; [.B60C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.89A6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.BAEB.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.CE40.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.8420.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.CDDA.0020.0004] # KANGXI RADICAL BRANCH
+2F41 ; [.ADCC.0020.0004] # KANGXI RADICAL RAP
+2F42 ; [.BD44.0020.0004] # KANGXI RADICAL SCRIPT
+3246 ; [.BD44.0020.0006] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8C5E.0020.0004] # KANGXI RADICAL DIPPER
+1F21B ; [.A385.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.9B93.0020.0004] # KANGXI RADICAL AXE
+1F21F ; [.C188.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8E90.0020.0004] # KANGXI RADICAL SQUARE
+2F46 ; [.BDD2.0020.0004] # KANGXI RADICAL NOT
+2F47 ; [.B272.0020.0004] # KANGXI RADICAL SUN
+3290 ; [.B272.0020.0006] # CIRCLED IDEOGRAPH SUN
+337E ; [.A8EC.0020.001C][.CE5C.0020.001C] # SQUARE ERA NAME MEIZI
+1F219 ; [.C83C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.CCD5.0020.001C][.949E.0020.001C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.CA8E.0020.0004] # KANGXI RADICAL SAY
+2F49 ; [.CA96.0020.0004] # KANGXI RADICAL MOON
+328A ; [.CA96.0020.0006] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.CA96.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.C8D2.0020.0006] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.C8D2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.A98A.0020.0004] # KANGXI RADICAL TREE
+328D ; [.A98A.0020.0006] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.CF58.0020.0006] # CIRCLED IDEOGRAPH STOCK
+337F ; [.CF58.0020.001C][.B5B3.0020.001C][.9737.0020.001C][.B4AC.0020.001C] # SQUARE CORPORATION
+2F4B ; [.AF4C.0020.0004] # KANGXI RADICAL LACK
+2F4C ; [.CE2E.0020.0004] # KANGXI RADICAL STOP
+32A3 ; [.CDCB.0020.0006] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.89B3.0020.0004] # KANGXI RADICAL DEATH
+2F4E ; [.B623.0020.0004] # KANGXI RADICAL WEAPON
+2F4F ; [.BDD3.0020.0004] # KANGXI RADICAL DO NOT
+2E9F ; [.A97A.0020.0004] # CJK RADICAL MOTHER
+2F50 ; [.8239.0020.0004] # KANGXI RADICAL COMPARE
+2F51 ; [.A71D.0020.0004] # KANGXI RADICAL FUR
+2F52 ; [.B5AA.0020.0004] # KANGXI RADICAL CLAN
+2F53 ; [.AE99.0020.0004] # KANGXI RADICAL STEAM
+2F54 ; [.B6BA.0020.0004] # KANGXI RADICAL WATER
+328C ; [.B6BA.0020.0006] # CIRCLED IDEOGRAPH WATER
+329F ; [.CFA5.0020.0006] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.A6DD.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.C445.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.97BC.0020.0004] # KANGXI RADICAL FIRE
+328B ; [.97BC.0020.0006] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.BDE3.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.CCDE.0020.0004] # KANGXI RADICAL CLAW
+2F57 ; [.9046.0020.0004] # KANGXI RADICAL FATHER
+2F58 ; [.C51B.0020.0004] # KANGXI RADICAL DOUBLE X
+2F59 ; [.ABD3.0020.0004] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.AD1C.0020.0004] # KANGXI RADICAL SLICE
+2F5B ; [.C397.0020.0004] # KANGXI RADICAL FANG
+2F5C ; [.AB21.0020.0004] # KANGXI RADICAL COW
+3295 ; [.B980.0020.0006] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.B1B4.0020.0004] # KANGXI RADICAL DOG
+2F5E ; [.C2C8.0020.0004] # KANGXI RADICAL PROFOUND
+2F5F ; [.C99A.0020.0004] # KANGXI RADICAL JADE
+2F60 ; [.928E.0020.0004] # KANGXI RADICAL MELON
+2F61 ; [.BBE5.0020.0004] # KANGXI RADICAL TILE
+2F62 ; [.90BE.0020.0004] # KANGXI RADICAL SWEET
+2F63 ; [.B523.0020.0004] # KANGXI RADICAL LIFE
+1F222 ; [.B523.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.C894.0020.0004] # KANGXI RADICAL USE
+2F65 ; [.BA01.0020.0004] # KANGXI RADICAL FIELD
+3199 ; [.9955.0020.0014] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.B4C6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.A9E0.0020.0006] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.ACE2.0020.0004] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.AA2F.0020.0004] # KANGXI RADICAL SICKNESS
+2F68 ; [.83AC.0020.0004] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.810B.0020.0004] # KANGXI RADICAL WHITE
+2F6A ; [.ACBB.0020.0004] # KANGXI RADICAL SKIN
+2F6B ; [.A8CF.0020.0004] # KANGXI RADICAL DISH
+32AC ; [.999B.0020.0006] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.A98D.0020.0004] # KANGXI RADICAL EYE
+2F6D ; [.A71E.0020.0004] # KANGXI RADICAL SPEAR
+2F6E ; [.B59D.0020.0004] # KANGXI RADICAL ARROW
+2F6F ; [.B57D.0020.0004] # KANGXI RADICAL STONE
+2F70 ; [.B5B0.0020.0004] # KANGXI RADICAL SPIRIT
+3293 ; [.B4AC.0020.0006] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.CFAD.0020.0006] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.9BD6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.B2AC.0020.0004] # KANGXI RADICAL TRACK
+2F72 ; [.9498.0020.0004] # KANGXI RADICAL GRAIN
+3299 ; [.A83C.0020.0006] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.C301.0020.0004] # KANGXI RADICAL CAVE
+1F233 ; [.9F18.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.A23B.0020.0004] # KANGXI RADICAL STAND
+2F75 ; [.CF74.0020.0004] # KANGXI RADICAL BAMBOO
+3247 ; [.CDBB.0020.0006] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.A821.0020.0004] # KANGXI RADICAL RICE
+2F77 ; [.A833.0020.0004] # KANGXI RADICAL SILK
+1F221 ; [.CEDC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.8F9E.0020.0004] # KANGXI RADICAL JAR
+2F79 ; [.BC56.0020.0004] # KANGXI RADICAL NET
+2F7A ; [.C4C4.0020.0004] # KANGXI RADICAL SHEEP
+2F7B ; [.C975.0020.0004] # KANGXI RADICAL FEATHER
+2F7C ; [.A149.0020.0004] # KANGXI RADICAL OLD
+2F7D ; [.8DE6.0020.0004] # KANGXI RADICAL AND
+2F7E ; [.A19B.0020.0004] # KANGXI RADICAL PLOW
+2F7F ; [.8E00.0020.0004] # KANGXI RADICAL EAR
+2F80 ; [.C99D.0020.0004] # KANGXI RADICAL BRUSH
+2F81 ; [.B2C1.0020.0004] # KANGXI RADICAL MEAT
+2F82 ; [.8612.0020.0004] # KANGXI RADICAL MINISTER
+2F83 ; [.D0D4.0020.0004] # KANGXI RADICAL SELF
+2F84 ; [.CE51.0020.0004] # KANGXI RADICAL ARRIVE
+2F85 ; [.9CA1.0020.0004] # KANGXI RADICAL MORTAR
+2F86 ; [.B4A3.0020.0004] # KANGXI RADICAL TONGUE
+2F87 ; [.87EF.0020.0004] # KANGXI RADICAL OPPOSE
+2F88 ; [.CF09.0020.0004] # KANGXI RADICAL BOAT
+2F89 ; [.91A3.0020.0004] # KANGXI RADICAL STOPPING
+2F8A ; [.B3A0.0020.0004] # KANGXI RADICAL COLOR
+2F8B ; [.84B1.0020.0004] # KANGXI RADICAL GRASS
+2F8C ; [.9588.0020.0004] # KANGXI RADICAL TIGER
+2F8D ; [.872E.0020.0004] # KANGXI RADICAL INSECT
+2F8E ; [.C317.0020.0004] # KANGXI RADICAL BLOOD
+2F8F ; [.C1BA.0020.0004] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.C5D3.0020.0004] # KANGXI RADICAL CLOTHES
+2F91 ; [.C3B8.0020.0004] # KANGXI RADICAL WEST
+2F92 ; [.99FE.0020.0004] # KANGXI RADICAL SEE
+2F93 ; [.9AB8.0020.0004] # KANGXI RADICAL HORN
+1F216 ; [.9B6C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.C3F5.0020.0004] # KANGXI RADICAL SPEECH
+2F95 ; [.924B.0020.0004] # KANGXI RADICAL VALLEY
+2F96 ; [.8C5F.0020.0004] # KANGXI RADICAL BEAN
+2F97 ; [.B59F.0020.0004] # KANGXI RADICAL PIG
+2F98 ; [.CE56.0020.0004] # KANGXI RADICAL BADGER
+2F99 ; [.81CA.0020.0004] # KANGXI RADICAL SHELL
+3296 ; [.844F.0020.0006] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.8E87.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.D0A3.0020.0006] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.86F6.0020.0004] # KANGXI RADICAL RED
+2F9B ; [.D138.0020.0004] # KANGXI RADICAL RUN
+1F230 ; [.D138.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.D141.0020.0004] # KANGXI RADICAL FOOT
+2F9D ; [.B4CA.0020.0004] # KANGXI RADICAL BODY
+2F9E ; [.85ED.0020.0004] # KANGXI RADICAL CART
+2F9F ; [.C17D.0020.0004] # KANGXI RADICAL BITTER
+2FA0 ; [.8616.0020.0004] # KANGXI RADICAL MORNING
+2FA1 ; [.8858.0020.0004] # KANGXI RADICAL WALK
+1F22B ; [.C8C4.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.B5EC.0020.0006] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.C682.0020.0004] # KANGXI RADICAL CITY
+2FA3 ; [.C8D6.0020.0004] # KANGXI RADICAL WINE
+2FA4 ; [.82F0.0020.0004] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.A21E.0020.0004] # KANGXI RADICAL VILLAGE
+2FA6 ; [.9B96.0020.0004] # KANGXI RADICAL GOLD
+328E ; [.9B96.0020.0006] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.CCB5.0020.0004] # KANGXI RADICAL LONG
+2FA8 ; [.A7B4.0020.0004] # KANGXI RADICAL GATE
+2FA9 ; [.904E.0020.0004] # KANGXI RADICAL MOUND
+2FAA ; [.A24C.0020.0004] # KANGXI RADICAL SLAVE
+2FAB ; [.D014.0020.0004] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.C976.0020.0004] # KANGXI RADICAL RAIN
+2FAD ; [.B063.0020.0004] # KANGXI RADICAL BLUE
+2FAE ; [.8EB9.0020.0004] # KANGXI RADICAL WRONG
+2FAF ; [.A882.0020.0004] # KANGXI RADICAL FACE
+2FB0 ; [.9173.0020.0004] # KANGXI RADICAL LEATHER
+2FB1 ; [.BC9A.0020.0004] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.9C9A.0020.0004] # KANGXI RADICAL LEEK
+2FB3 ; [.C745.0020.0004] # KANGXI RADICAL SOUND
+2FB4 ; [.C59E.0020.0004] # KANGXI RADICAL LEAF
+32A0 ; [.C084.0020.0006] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.8F57.0020.0004] # KANGXI RADICAL WIND
+2FB6 ; [.8EBA.0020.0004] # KANGXI RADICAL FLY
+2FB7 ; [.B58A.0020.0004] # KANGXI RADICAL EAT
+2FB8 ; [.B60F.0020.0004] # KANGXI RADICAL HEAD
+2FB9 ; [.C044.0020.0004] # KANGXI RADICAL FRAGRANT
+2FBA ; [.A690.0020.0004] # KANGXI RADICAL HORSE
+2FBB ; [.924E.0020.0004] # KANGXI RADICAL BONE
+2FBC ; [.9124.0020.0004] # KANGXI RADICAL TALL
+2FBD ; [.830C.0020.0004] # KANGXI RADICAL HAIR
+2FBE ; [.8C65.0020.0004] # KANGXI RADICAL FIGHT
+2FBF ; [.85BA.0020.0004] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9176.0020.0004] # KANGXI RADICAL CAULDRON
+2FC1 ; [.934D.0020.0004] # KANGXI RADICAL GHOST
+2FC2 ; [.C936.0020.0004] # KANGXI RADICAL FISH
+2FC3 ; [.AABB.0020.0004] # KANGXI RADICAL BIRD
+2FC4 ; [.A552.0020.0004] # KANGXI RADICAL SALT
+2FC5 ; [.A57C.0020.0004] # KANGXI RADICAL DEER
+2FC6 ; [.A6C0.0020.0004] # KANGXI RADICAL WHEAT
+2FC7 ; [.A687.0020.0004] # KANGXI RADICAL HEMP
+2FC8 ; [.96C2.0020.0004] # KANGXI RADICAL YELLOW
+2FC9 ; [.B656.0020.0004] # KANGXI RADICAL MILLET
+2FCA ; [.94F2.0020.0004] # KANGXI RADICAL BLACK
+2FCB ; [.CE4C.0020.0004] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.A87C.0020.0004] # KANGXI RADICAL FROG
+2FCD ; [.8BF6.0020.0004] # KANGXI RADICAL TRIPOD
+2FCE ; [.9261.0020.0004] # KANGXI RADICAL DRUM
+2FCF ; [.B659.0020.0004] # KANGXI RADICAL RAT
+2FD0 ; [.8237.0020.0004] # KANGXI RADICAL NOSE
+2FD1 ; [.AE64.0020.0004] # KANGXI RADICAL EVEN
+2FD2 ; [.86F0.0020.0004] # KANGXI RADICAL TOOTH
+2FD3 ; [.A4C6.0020.0004] # KANGXI RADICAL DRAGON
+2FD4 ; [.9336.0020.0004] # KANGXI RADICAL TURTLE
+2EF3 ; [.9317.0020.0004] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.CAB5.0020.0004] # KANGXI RADICAL FLUTE
+F967 ; [.8424.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.839A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.87F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.BC07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.89E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.A23E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.C5F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.A613.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.A17A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.A342.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.B4F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.837C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.A453.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.AA66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.C1BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.A084.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.A245.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.BDFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.BDFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.BB64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.82F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.839E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.A624.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.CB31.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.81DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.C085.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.A356.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.B3C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.B3C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.BE12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.871C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.A86B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.A86B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.BB34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.96DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.AA3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.B186.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.A338.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.A49F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.9D2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.98F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.CB49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.A744.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.A872.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.B2A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.CA20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.8C16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.9FAC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.9FAC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.A1CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.A329.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.A412.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.A3E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.BEA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.AF3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.B244.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.AFFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.AFFB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.A38C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.A23F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.88A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.9EE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.A65E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.9162.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.8564.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.A474.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.A237.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.A38D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.A131.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.C87B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.C87B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.A86E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.A86E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.A17D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.A139.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.B039.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.B039.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.A284.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.B486.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.B486.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.8176.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.88AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.81C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.81C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.AA7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.9735.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.81B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.81B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.83E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.9856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.A610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.985E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.B068.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.B068.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.B068.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.8464.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.984E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.B77F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.9D21.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.9AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.86F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.C50F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.A23C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.A3EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.BE4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.A5C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.866F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.CF0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.C009.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.8D98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.C468.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.A8A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.B912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.AE8E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.B968.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.BFC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.B434.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.B434.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.A06A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.9747.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.9747.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.9494.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.9494.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.86B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.CC0F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.95EF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.C52C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.BBEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.B8FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.B8FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.9460.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.AEBB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.AC52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.A404.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.BB20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.BB21.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.C1C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8675.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.CE0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.BB35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.81A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.887F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.AD95.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.CEEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.CEEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.B352.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.A952.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.8B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8F25.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.A1A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.A4EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.D00A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.A6BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.95AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.8F78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.8D1C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.A7F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.C42B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.A9D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.AEA8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.81F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.B49A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.AB5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.AD48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.9802.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.C92A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.BB66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.826B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.905C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.C83F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.B221.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.888D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.A0ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.A0ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.CC49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.CA24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.CE90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.AB0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.AB0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.AB0C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.A35E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.819A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.B611.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.9A4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.C8AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.AAC3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.BB13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.A5D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.84DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.A5D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.85F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.85F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.AEE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.C218.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.A629.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.C438.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.A0B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.D096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.8B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.8565.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.BE9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.A452.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.C33F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.85D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.C372.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.B6BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.A74C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.8F26.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.AA90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.8CB0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.839D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.826C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.B673.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.A2D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.A10D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.A10D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.8093.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.A051.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.C6DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.A537.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.91E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.AB44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.B94A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.B94A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8A3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.C1BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.8458.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8B8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.A5E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.8C26.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.9060.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.C52E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.B23C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.CE53.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.AAAA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.9F9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.AB5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.A2CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.9741.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.CA21.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.972E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.972E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.8CF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.BC5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.8DAF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.C9CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.A276.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8883.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.96B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.96B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.B516.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.B516.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.80BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.9E4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.A500.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.CBF6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.CBF6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.CBF6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.A2E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8F40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.847C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.C030.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.A7D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.869C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.869C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.869C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.A0EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.A0EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.A324.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.866D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9945.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.A591.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.89D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.9F3F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.819F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.A05F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.A9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.B86F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.80E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.AD49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.B600.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.BC1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.9D69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.B4A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.AA99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.B397.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8DA6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.C433.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.C93D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.C40D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9865.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.B76C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.9BD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8391.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.A914.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.9AD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.9A82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.AA9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.9712.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.A55B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.A8D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.A8D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.808D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.9C49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.B682.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.A385.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.A5CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.98C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.98D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.C689.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.9BCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.B07B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.B07B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.CAC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.B654.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.B654.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.9BDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.81AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.A285.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.91C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.B62E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.D171.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.A11F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.A11F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.A11F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.BC6C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.BC6C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.D0F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.A2BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.8308.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.CCBE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.AE88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.876A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.97FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.A3B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.A490.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.92B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.A259.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.81F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.B37D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.A32A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.A76C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.A76C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.808A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.A1DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.D097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.CC12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.C536.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.90BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.A176.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.A176.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.A176.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.A504.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.B4A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.A562.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.CEB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.A0D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.889D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.C249.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.B7FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.A286.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.89B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.BD36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.A31E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.B3CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.B3CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.B3CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.AFE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.8E7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.AEE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.8614.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.C3F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.A837.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.81F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.AA4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.BDDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.A66A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8C3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.AD78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.ABCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.A462.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.A462.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.A462.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.9477.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.A129.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.93D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.93D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.9BCC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.AACC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.A3BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.A1B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.A62B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.C3DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.CF91.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.911B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.C3E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.A45B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.AA85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8B4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.D099.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.D099.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.9618.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.C781.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.A51A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.942D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.942D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.A2D8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.85DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.8F27.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.A0FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.A5EF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.C823.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.9C59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.9C59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.CAB7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.AF3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.96F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.CFEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.CB3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.CE5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.B8F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.A39A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.A157.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.8CCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.A318.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.CF92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.CF92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.88BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.A366.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.A3CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.A53F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.A0FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.891A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.CCFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.9DDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.9DDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.CC22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.A133.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.BE7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.81E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.8E7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.D00D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.A10A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.CF5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.CF5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.A3AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.B86C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.A5E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.A5E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.BC50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.CA9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.A410.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.A66F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.A226.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.A465.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.D199.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.89CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.C94D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.C813.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.CD92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.CD92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.B84D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.A303.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.A3CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.B0BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.8884.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.B309.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.9628.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.CB3F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.A463.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.8DA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.C6B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.C6B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.A26F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.C98A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.92C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.BD3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.A369.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.A0B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.C6A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.C6A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.B546.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.A533.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.CE08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.CE08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.B53E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.CD43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.CD44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.CD44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.CD35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.9D8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.9D8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.860C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.AFD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.C1C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.A467.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.A586.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.A586.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.81C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.A1A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.BA14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.BA14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.ABDF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.A29F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.A21D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.B4AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.AE35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.CE3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.C8F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.D153.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.D153.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.CFAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.B4F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.C062.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.A580.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.97D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.CD54.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.900A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.900A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.A22F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.AA91.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.B64A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.A1CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.9267.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.9267.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.98E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.BD69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.BAFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.BA57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.A23B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.AD6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.A265.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.9B51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.9B51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.CFF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.CF80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.A2F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.A4D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.A1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.A266.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.9C0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.81EF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.B929.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.B36D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.A335.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.9A87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.98C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.AB29.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.B844.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.A1B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.B94E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.8211.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.A5E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.A432.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.D0A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.A31B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.A31B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.A31B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.D113.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.9BE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.A5DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.8E69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.B38F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.AD85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.B657.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.A1FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.85DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.A64E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.C504.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.A422.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.C975.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.80A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.A149.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.CD23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.CD23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.CD23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.A424.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.AD69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.A2F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.88C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.A4DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.A167.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.A9B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.C9A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.8934.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.ACD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.A078.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.A3D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.8772.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.C928.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.C928.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.BF1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.92D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.A327.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.84B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.84B9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.C99E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.AE85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.CDDD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.960B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8E93.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.C39B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.B328.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.B328.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.9F4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.8519.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.BDDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.84F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.96AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.AD7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.B27F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.9B40.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.A713.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A57A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.9CF4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.9E06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.845F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.8B10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.9614.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.A426.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.A673.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.C5A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.CD36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.CD36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.A2D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.AD86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.9BB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.A37C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.8966.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.B30B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.A0C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.A3FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.A53C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.B110.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.A0D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.A656.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.AB6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.A555.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.A555.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.9FD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.BF2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AEF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.86AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.AD87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.CA2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.8BD5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.CF66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.CACA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.CACA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.88A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.A64D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.9359.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.C072.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.A07D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.C1BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.D03A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.C5D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.A39F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.A229.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.A468.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.B6C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.A2C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.A661.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.C444.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.94E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.AFA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.A0CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.907C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.99FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.B5D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.B5D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.8692.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.B6D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.B6D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8BAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.B08C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.A34C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.A63B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.C9F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.C9F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.CF69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.CF69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.AB81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.AB81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.C5BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.C5BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.9BBE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.9BBE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.B608.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.8C98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.8304.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.8304.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.AE8C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.B59F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.92E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.827C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.A588.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.9963.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.835E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.CC04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.CC04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.90FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.AE8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.99CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.80E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.A589.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.AD12.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.85ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.B25D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.AAA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.A632.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.B644.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.B644.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.901F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.A2B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.8885.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.8616.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.8857.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.A2CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.C6BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.C6BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.86DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.A364.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.A657.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.AE81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.A107.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.A108.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.AD74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.8C50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.D09D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.85D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.A159.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.B778.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.A232.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.A21E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.A34A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.9B96.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.A42E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.83E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.C1CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8395.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.C2BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.961F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.A59D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.A31F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.AFA4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.CB58.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.9E42.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.A5BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.B3FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.B2FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.A518.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.9A78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.A418.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.A574.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.CF90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.A4BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.A3C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.A288.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.A28E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AEFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.A206.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.A9EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.A9EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.A430.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.A17E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.CB01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.A5AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.A448.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.9C4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.9C4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.8121.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.82B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.C075.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.C075.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.8D88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.8D88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.8D88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.A451.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.AD6C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.AD55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.AD55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.A1BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.9806.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8E89.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.B734.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.92D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.8DCB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.CACE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.8195.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.A67A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.BB6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.A21A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.CD7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.CD7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.A55A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.990A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.A3DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.99A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.ACDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.94EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.A5B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.A60F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.A57C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.A2A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.A3DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.A687.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.A1FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.CE4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.A86D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.CE04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.A84E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.8F2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.8237.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.8DD6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.A4C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.AC0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.9336.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9336.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9336.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
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
index 7f5d8a4f94b..3b0b099be89 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
@@ -1,1589 +1,1589 @@
use Unicode::Collate::CJK::Stroke;
+{
- locale_version => 0.93,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
- entry => <<'ENTRY', # for DUCET v6.2.0
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-FDD0 2801 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1>
-2E84 ; [.8007.0020.0002.2E84] # CJK RADICAL SECOND THREE
-3006 ; [.8012.0020.0002.3006] # IDEOGRAPHIC CLOSING MARK
-3007 ; [.8013.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-3021 ; [.8014.0020.0002.3021] # HANGZHOU NUMERAL ONE
-3025 ; [.8015.0020.0002.3025] # HANGZHOU NUMERAL FIVE
-303B ; [.8016.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
-FDD0 2802 ; [.8017.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2>
-2E86 ; [.8031.0020.0002.2E86] # CJK RADICAL BOX
-2E87 ; [.8035.0020.0002.2E87] # CJK RADICAL TABLE
-2E88 ; [.8038.0020.0002.2E88] # CJK RADICAL KNIFE ONE
-2E8A ; [.8042.0020.0002.2E8A] # CJK RADICAL DIVINATION
-2E80 ; [.8047.0020.0002.2E80] # CJK RADICAL REPEAT
-2ECF ; [.804B.0020.0002.2ECF] # CJK RADICAL CITY
-2ED6 ; [.804C.0020.0002.2ED6] # CJK RADICAL MOUND TWO
-3022 ; [.804E.0020.0002.3022] # HANGZHOU NUMERAL TWO
-3024 ; [.804F.0020.0002.3024] # HANGZHOU NUMERAL FOUR
-3026 ; [.8050.0020.0002.3026] # HANGZHOU NUMERAL SIX
-FDD0 2803 ; [.8051.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12>
-2E8C ; [.808F.0020.0002.2E8C] # CJK RADICAL SMALL ONE
-2E8D ; [.8090.0020.0002.2E8D] # CJK RADICAL SMALL TWO
-2E95 ; [.80A8.0020.0002.2E95] # CJK RADICAL SNOUT TWO
-2EBE ; [.80B3.0020.0002.2EBE] # CJK RADICAL GRASS ONE
-2ECC ; [.80B5.0020.0002.2ECC] # CJK RADICAL SIMPLIFIED WALK
-3005 ; [.80BB.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
-3023 ; [.80BC.0020.0002.3023] # HANGZHOU NUMERAL THREE
-3027 ; [.80BD.0020.0002.3027] # HANGZHOU NUMERAL SEVEN
-FDD0 2804 ; [.80BE.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-3>
-2E9C ; [.815B.0020.0002.2E9C] # CJK RADICAL SUN
-2E9D ; [.815E.0020.0002.2E9D] # CJK RADICAL MOON
-2EA5 ; [.8170.0020.0002.2EA5] # CJK RADICAL PAW TWO
-2EA7 ; [.817A.0020.0002.2EA7] # CJK RADICAL COW
-2EBC ; [.8185.0020.0002.2EBC] # CJK RADICAL MEAT
-2ECD ; [.818E.0020.0002.2ECD] # CJK RADICAL WALK ONE
-3028 ; [.8193.0020.0002.3028] # HANGZHOU NUMERAL EIGHT
-3029 ; [.8194.0020.0002.3029] # HANGZHOU NUMERAL NINE
-FDD0 2805 ; [.8195.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-13>
-2EAA ; [.82B3.0020.0002.2EAA] # CJK RADICAL BOLT OF CLOTH
-2EAC ; [.82BF.0020.0002.2EAC] # CJK RADICAL SPIRIT ONE
-FDD0 2806 ; [.82E7.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-23>
-2EAE ; [.84B2.0020.0002.2EAE] # CJK RADICAL BAMBOO
-2EB6 ; [.84C6.0020.0002.2EB6] # CJK RADICAL SHEEP
-FDD0 2807 ; [.8529.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-123>
-2EC6 ; [.887A.0020.0002.2EC6] # CJK RADICAL SIMPLIFIED HORN
-2ECA ; [.889A.0020.0002.2ECA] # CJK RADICAL FOOT
-FDD0 2808 ; [.88FA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-4>
-FA24 ; [.8E20.0020.0002.FA24] # CJK COMPATIBILITY IDEOGRAPH-FA24
-2ED7 ; [.8E5B.0020.0002.2ED7] # CJK RADICAL RAIN
-FDD0 2809 ; [.8E7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-14>
-2EDE ; [.94AC.0020.0002.2EDE] # CJK RADICAL EAT TWO
-2EE3 ; [.94C3.0020.0002.2EE3] # CJK RADICAL BONE
-FDD0 280A ; [.94CA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-24>
-FA0F ; [.95F1.0020.0002.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
-FDD0 280B ; [.9C16.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-124>
-FA21 ; [.A279.0020.0002.FA21] # CJK COMPATIBILITY IDEOGRAPH-FA21
-FA23 ; [.A312.0020.0002.FA23] # CJK COMPATIBILITY IDEOGRAPH-FA23
-FDD0 280C ; [.A41D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-34>
-FA11 ; [.A5A3.0020.0002.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
-FDD0 280D ; [.AC7F.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-134>
-FA0E ; [.ACD0.0020.0002.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
-FA13 ; [.AEF8.0020.0002.FA13] # CJK COMPATIBILITY IDEOGRAPH-FA13
-FA29 ; [.B3B4.0020.0002.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
-FDD0 280E ; [.B44A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-234>
-FA14 ; [.B690.0020.0002.FA14] # CJK COMPATIBILITY IDEOGRAPH-FA14
-FDD0 280F ; [.BB5A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1234>
-FA27 ; [.C173.0020.0002.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
-FDD0 2810 ; [.C276.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-5>
-FA28 ; [.C748.0020.0002.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
-FDD0 2811 ; [.C860.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-15>
-FDD0 2812 ; [.CD3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-25>
-FDD0 2813 ; [.D0E6.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-125>
-FA1F ; [.D23D.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
-FDD0 2814 ; [.D41B.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-35>
-FDD0 2815 ; [.D68C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-135>
-FDD0 2816 ; [.D846.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-235>
-FDD0 2817 ; [.D993.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1235>
-FDD0 2818 ; [.DA95.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-45>
-FDD0 2819 ; [.DB3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-145>
-FDD0 281A ; [.DBB4.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-245>
-FDD0 281B ; [.DBF1.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1245>
-FDD0 281C ; [.DC29.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-345>
-FDD0 281D ; [.DC4D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1345>
-FDD0 281E ; [.DC5C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2345>
-FDD0 281F ; [.DC6C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12345>
-FDD0 2820 ; [.DC71.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-6>
-FDD0 2821 ; [.DC76.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-16>
-FDD0 2823 ; [.DC7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-126>
-FDD0 2824 ; [.DC7E.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-36>
-FDD0 2827 ; [.DC80.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1236>
-FDD0 2830 ; [.DC82.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-56>
-3220 ; [*02FB.0020.0004.3220][.8001.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
-3226 ; [*02FB.0020.0004.3226][.801A.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
-3222 ; [*02FB.0020.0004.3222][.8054.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
-3228 ; [*02FB.0020.0004.3228][.8027.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
-3221 ; [*02FB.0020.0004.3221][.802A.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
-3224 ; [*02FB.0020.0004.3224][.80D7.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
-3239 ; [*02FB.0020.0004.3239][.81C2.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D ; [*02FB.0020.0004.323D][.831C.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241 ; [*02FB.0020.0004.3241][.832C.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
-3227 ; [*02FB.0020.0004.3227][.8030.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
-3225 ; [*02FB.0020.0004.3225][.80F5.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
-3238 ; [*02FB.0020.0004.3238][.85A8.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
-3229 ; [*02FB.0020.0004.3229][.8041.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
-323F ; [*02FB.0020.0004.323F][.899D.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234 ; [*02FB.0020.0004.3234][.839D.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
-323A ; [*02FB.0020.0004.323A][.89D5.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
-3223 ; [*02FB.0020.0004.3223][.822D.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
-322F ; [*02FB.0020.0004.322F][.8081.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
-323B ; [*02FB.0020.0004.323B][.8A8D.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
-3230 ; [*02FB.0020.0004.3230][.815C.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
-322A ; [*02FB.0020.0004.322A][.815F.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
-3232 ; [*02FB.0020.0004.3232][.845A.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
-322D ; [*02FB.0020.0004.322D][.8160.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
-3231 ; [*02FB.0020.0004.3231][.979F.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
-322C ; [*02FB.0020.0004.322C][.816D.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
-322B ; [*02FB.0020.0004.322B][.816E.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
-3235 ; [*02FB.0020.0004.3235][.9895.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C ; [*02FB.0020.0004.323C][.B79A.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233 ; [*02FB.0020.0004.3233][.8D2E.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237 ; [*02FB.0020.0004.3237][.9970.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240 ; [*02FB.0020.0004.3240][.A100.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242 ; [*02FB.0020.0004.3242][.84D8.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
-3243 ; [*02FB.0020.0004.3243][.84D9.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
-3236 ; [*02FB.0020.0004.3236][.9B3B.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E ; [*02FB.0020.0004.323E][.B2A5.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E ; [*02FB.0020.0004.322E][.8E33.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
-3358 ; [.15E5.0020.0004.3358][.9216.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9 ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.815C.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9 ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.815F.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362 ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.9216.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.815C.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.815F.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363 ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.9216.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.815C.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.815F.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364 ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.9216.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.815C.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365 ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.9216.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.815C.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366 ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.9216.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.815C.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367 ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.9216.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.815C.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368 ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.9216.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0 ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.815C.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369 ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.9216.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1 ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.815C.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.9216.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2 ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.815C.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.9216.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0 ; [.15E6.0020.0004.33E0][.815C.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0 ; [.15E6.0020.0004.32C0][.815F.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359 ; [.15E6.0020.0004.3359][.9216.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3 ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.815C.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.9216.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4 ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.815C.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.9216.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5 ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.815C.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.9216.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6 ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.815C.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.9216.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7 ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.815C.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370 ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.9216.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8 ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.815C.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.815C.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.815C.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.815C.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.815C.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1 ; [.15E7.0020.0004.33E1][.815C.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1 ; [.15E7.0020.0004.32C1][.815F.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A ; [.15E7.0020.0004.335A][.9216.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.815C.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.815C.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2 ; [.15E8.0020.0004.33E2][.815C.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2 ; [.15E8.0020.0004.32C2][.815F.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B ; [.15E8.0020.0004.335B][.9216.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3 ; [.15E9.0020.0004.33E3][.815C.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3 ; [.15E9.0020.0004.32C3][.815F.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C ; [.15E9.0020.0004.335C][.9216.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4 ; [.15EA.0020.0004.33E4][.815C.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4 ; [.15EA.0020.0004.32C4][.815F.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D ; [.15EA.0020.0004.335D][.9216.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5 ; [.15EB.0020.0004.33E5][.815C.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5 ; [.15EB.0020.0004.32C5][.815F.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E ; [.15EB.0020.0004.335E][.9216.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6 ; [.15EC.0020.0004.33E6][.815C.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6 ; [.15EC.0020.0004.32C6][.815F.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F ; [.15EC.0020.0004.335F][.9216.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7 ; [.15ED.0020.0004.33E7][.815C.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7 ; [.15ED.0020.0004.32C7][.815F.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360 ; [.15ED.0020.0004.3360][.9216.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8 ; [.15EE.0020.0004.33E8][.815C.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8 ; [.15EE.0020.0004.32C8][.815F.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361 ; [.15EE.0020.0004.3361][.9216.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241 ; [*0359.0020.0004.1F241][.8054.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 ; [*0359.0020.0004.1F242][.802A.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247 ; [*0359.0020.0004.1F247][.A465.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243 ; [*0359.0020.0004.1F243][.83F0.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245 ; [*0359.0020.0004.1F245][.8277.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248 ; [*0359.0020.0004.1F248][.9EDA.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240 ; [*0359.0020.0004.1F240][.8283.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244 ; [*0359.0020.0004.1F244][.9216.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246 ; [*0359.0020.0004.1F246][.A0BD.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-2F00 ; [.8001.0020.0004.2F00] # KANGXI RADICAL ONE
-3192 ; [.8001.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
-3280 ; [.8001.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
-1F229 ; [.8001.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-319C ; [.8018.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3286 ; [.801A.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
-3194 ; [.8054.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
-3282 ; [.8054.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
-1F22A ; [.8054.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-3196 ; [.8055.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
-32A4 ; [.8055.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
-3198 ; [.8056.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-32A6 ; [.8056.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
-319B ; [.819C.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
-2F01 ; [.8002.0020.0004.2F01] # KANGXI RADICAL LINE
-3197 ; [.80C6.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-32A5 ; [.80C6.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
-1F22D ; [.80C6.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-2F02 ; [.8003.0020.0004.2F02] # KANGXI RADICAL DOT
-2F03 ; [.8004.0020.0004.2F03] # KANGXI RADICAL SLASH
-2F04 ; [.8008.0020.0004.2F04] # KANGXI RADICAL SECOND
-319A ; [.8008.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
-3288 ; [.8027.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
-2F05 ; [.8010.0020.0004.2F05] # KANGXI RADICAL HOOK
-2F06 ; [.802A.0020.0004.2F06] # KANGXI RADICAL TWO
-3193 ; [.802A.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
-3281 ; [.802A.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
-1F214 ; [.802A.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3284 ; [.80D7.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
-2F07 ; [.802B.0020.0004.2F07] # KANGXI RADICAL LID
-1F218 ; [.8300.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-2F08 ; [.802C.0020.0004.2F08] # KANGXI RADICAL MAN
-319F ; [.802C.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
-32AD ; [.831C.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
-32A1 ; [.832C.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
-329D ; [.C86C.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
-2F09 ; [.802E.0020.0004.2F09] # KANGXI RADICAL LEGS
-2F0A ; [.802F.0020.0004.2F0A] # KANGXI RADICAL ENTER
-2F0B ; [.8030.0020.0004.2F0B] # KANGXI RADICAL EIGHT
-3287 ; [.8030.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
-3285 ; [.80F5.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
-2F0C ; [.8032.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
-1F21E ; [.8356.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
-2F0D ; [.8033.0020.0004.2F0D] # KANGXI RADICAL COVER
-32A2 ; [.81D8.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
-2F0E ; [.8034.0020.0004.2F0E] # KANGXI RADICAL ICE
-2F0F ; [.8036.0020.0004.2F0F] # KANGXI RADICAL TABLE
-2F10 ; [.8037.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
-2F11 ; [.8039.0020.0004.2F11] # KANGXI RADICAL KNIFE
-1F220 ; [.858C.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F21C ; [.8EE7.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F239 ; [.A45F.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
-2F12 ; [.803C.0020.0004.2F12] # KANGXI RADICAL POWER
-3298 ; [.85A8.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
-2F13 ; [.803D.0020.0004.2F13] # KANGXI RADICAL WRAP
-2F14 ; [.803E.0020.0004.2F14] # KANGXI RADICAL SPOON
-2F15 ; [.803F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; [.8040.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
-32A9 ; [.85B0.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
-2F17 ; [.8041.0020.0004.2F17] # KANGXI RADICAL TEN
-3038 ; [.8041.0020.0004.3038] # HANGZHOU NUMERAL TEN
-3289 ; [.8041.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
-3039 ; [.8059.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
-303A ; [.8118.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
-32AF ; [.899D.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
-2F18 ; [.8043.0020.0004.2F18] # KANGXI RADICAL DIVINATION
-2F19 ; [.8044.0020.0004.2F19] # KANGXI RADICAL SEAL
-329E ; [.8384.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
-2F1A ; [.8045.0020.0004.2F1A] # KANGXI RADICAL CLIFF
-2F1B ; [.8046.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
-2F1C ; [.8048.0020.0004.2F1C] # KANGXI RADICAL AGAIN
-1F212 ; [.8128.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-2F1D ; [.807F.0020.0004.2F1D] # KANGXI RADICAL MOUTH
-1F251 ; [.8218.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
-32A8 ; [.821C.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
-1F22E ; [.821C.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F234 ; [.8398.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3294 ; [.839D.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
-1F225 ; [.85E1.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
-3244 ; [.9CC0.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
-1F23A ; [.9CFD.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
-2F1E ; [.8080.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
-3195 ; [.822D.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
-3283 ; [.822D.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
-2F1F ; [.8081.0020.0004.2F1F] # KANGXI RADICAL EARTH
-328F ; [.8081.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
-319E ; [.83B9.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
-2F20 ; [.8082.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
-1F224 ; [.8649.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-2F21 ; [.8083.0020.0004.2F21] # KANGXI RADICAL GO
-2F22 ; [.8084.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
-2F23 ; [.8085.0020.0004.2F23] # KANGXI RADICAL EVENING
-1F215 ; [.83C8.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
-32B0 ; [.8A3E.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
-2F24 ; [.8086.0020.0004.2F24] # KANGXI RADICAL BIG
-337D ; [.8086.0020.001C.337D][.8288.0020.001C.337D] # SQUARE ERA NAME TAISYOU
-319D ; [.8130.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-1F217 ; [.8130.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
-2F25 ; [.8088.0020.0004.2F25] # KANGXI RADICAL WOMAN
-329B ; [.8088.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
-2F26 ; [.8089.0020.0004.2F26] # KANGXI RADICAL CHILD
-1F211 ; [.83E8.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-32AB ; [.8A8D.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
-2F27 ; [.808D.0020.0004.2F27] # KANGXI RADICAL ROOF
-32AA ; [.8A94.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
-2F28 ; [.808E.0020.0004.2F28] # KANGXI RADICAL INCH
-2F29 ; [.8091.0020.0004.2F29] # KANGXI RADICAL SMALL
-2F2A ; [.8092.0020.0004.2F2A] # KANGXI RADICAL LAME
-2F2B ; [.8095.0020.0004.2F2B] # KANGXI RADICAL CORPSE
-2F2C ; [.8096.0020.0004.2F2C] # KANGXI RADICAL SPROUT
-2F2D ; [.8097.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
-2F2E ; [.8098.0020.0004.2F2E] # KANGXI RADICAL RIVER
-2F2F ; [.809B.0020.0004.2F2F] # KANGXI RADICAL WORK
-32A7 ; [.8256.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
-1F22C ; [.8256.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-2F30 ; [.809C.0020.0004.2F30] # KANGXI RADICAL ONESELF
-2F31 ; [.809F.0020.0004.2F31] # KANGXI RADICAL TURBAN
-2F32 ; [.80A0.0020.0004.2F32] # KANGXI RADICAL DRY
-337B ; [.825F.0020.001C.337B][.8435.0020.001C.337B] # SQUARE ERA NAME HEISEI
-2F33 ; [.80A2.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
-3245 ; [.8260.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
-2F34 ; [.80A3.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
-2F35 ; [.80A4.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
-2F36 ; [.80A5.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
-2F37 ; [.80A6.0020.0004.2F37] # KANGXI RADICAL SHOOT
-2F38 ; [.80A7.0020.0004.2F38] # KANGXI RADICAL BOW
-2F39 ; [.80A9.0020.0004.2F39] # KANGXI RADICAL SNOUT
-2F3A ; [.80AB.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
-2F3B ; [.80AC.0020.0004.2F3B] # KANGXI RADICAL STEP
-1F21D ; [.9050.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F250 ; [.9E0E.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
-2F3C ; [.8149.0020.0004.2F3C] # KANGXI RADICAL HEART
-2F3D ; [.814B.0020.0004.2F3D] # KANGXI RADICAL HALBERD
-2F3E ; [.814C.0020.0004.2F3E] # KANGXI RADICAL DOOR
-2F3F ; [.814F.0020.0004.2F3F] # KANGXI RADICAL HAND
-1F210 ; [.814F.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F231 ; [.8277.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F227 ; [.873A.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F22F ; [.90B6.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F228 ; [.9724.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
-2F40 ; [.8152.0020.0004.2F40] # KANGXI RADICAL BRANCH
-2F41 ; [.8153.0020.0004.2F41] # KANGXI RADICAL RAP
-2F42 ; [.8155.0020.0004.2F42] # KANGXI RADICAL SCRIPT
-3246 ; [.8155.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
-2F43 ; [.8156.0020.0004.2F43] # KANGXI RADICAL DIPPER
-1F21B ; [.9745.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
-2F44 ; [.8157.0020.0004.2F44] # KANGXI RADICAL AXE
-1F21F ; [.AE69.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-2F45 ; [.8158.0020.0004.2F45] # KANGXI RADICAL SQUARE
-2F46 ; [.8159.0020.0004.2F46] # KANGXI RADICAL NOT
-2F47 ; [.815C.0020.0004.2F47] # KANGXI RADICAL SUN
-3290 ; [.815C.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
-337E ; [.8BBF.0020.001C.337E][.8C54.0020.001C.337E] # SQUARE ERA NAME MEIZI
-1F219 ; [.90F3.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
-337C ; [.9100.0020.001C.337C][.89E5.0020.001C.337C] # SQUARE ERA NAME SYOUWA
-2F48 ; [.815D.0020.0004.2F48] # KANGXI RADICAL SAY
-2F49 ; [.815F.0020.0004.2F49] # KANGXI RADICAL MOON
-328A ; [.815F.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
-1F237 ; [.815F.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-3292 ; [.845A.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
-1F236 ; [.845A.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
-2F4A ; [.8160.0020.0004.2F4A] # KANGXI RADICAL TREE
-328D ; [.8160.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
-3291 ; [.979F.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
-337F ; [.979F.0020.001C.337F][.841D.0020.001C.337F][.8335.0020.001C.337F][.8D2E.0020.001C.337F] # SQUARE CORPORATION
-2F4B ; [.8163.0020.0004.2F4B] # KANGXI RADICAL LACK
-2F4C ; [.8164.0020.0004.2F4C] # KANGXI RADICAL STOP
-32A3 ; [.8288.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
-2F4D ; [.8165.0020.0004.2F4D] # KANGXI RADICAL DEATH
-2F4E ; [.8166.0020.0004.2F4E] # KANGXI RADICAL WEAPON
-2F4F ; [.8167.0020.0004.2F4F] # KANGXI RADICAL DO NOT
-2E9F ; [.828A.0020.0004.2E9F] # CJK RADICAL MOTHER
-2F50 ; [.8169.0020.0004.2F50] # KANGXI RADICAL COMPARE
-2F51 ; [.816A.0020.0004.2F51] # KANGXI RADICAL FUR
-2F52 ; [.816B.0020.0004.2F52] # KANGXI RADICAL CLAN
-2F53 ; [.816C.0020.0004.2F53] # KANGXI RADICAL STEAM
-2F54 ; [.816D.0020.0004.2F54] # KANGXI RADICAL WATER
-328C ; [.816D.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
-329F ; [.8C7F.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
-1F235 ; [.A7C6.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
-1F226 ; [.B6D2.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-2F55 ; [.816E.0020.0004.2F55] # KANGXI RADICAL FIRE
-328B ; [.816E.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
-1F21A ; [.A7EB.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
-2F56 ; [.8171.0020.0004.2F56] # KANGXI RADICAL CLAW
-2F57 ; [.8173.0020.0004.2F57] # KANGXI RADICAL FATHER
-2F58 ; [.8174.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
-2F59 ; [.8176.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
-2F5A ; [.8177.0020.0004.2F5A] # KANGXI RADICAL SLICE
-2F5B ; [.8179.0020.0004.2F5B] # KANGXI RADICAL FANG
-2F5C ; [.817B.0020.0004.2F5C] # KANGXI RADICAL COW
-3295 ; [.9895.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
-2F5D ; [.817D.0020.0004.2F5D] # KANGXI RADICAL DOG
-2F5E ; [.82A2.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
-2F5F ; [.82A3.0020.0004.2F5F] # KANGXI RADICAL JADE
-2F60 ; [.82A7.0020.0004.2F60] # KANGXI RADICAL MELON
-2F61 ; [.82A8.0020.0004.2F61] # KANGXI RADICAL TILE
-2F62 ; [.82A9.0020.0004.2F62] # KANGXI RADICAL SWEET
-2F63 ; [.82AA.0020.0004.2F63] # KANGXI RADICAL LIFE
-1F222 ; [.82AA.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
-2F64 ; [.82AB.0020.0004.2F64] # KANGXI RADICAL USE
-2F65 ; [.82AD.0020.0004.2F65] # KANGXI RADICAL FIELD
-3199 ; [.82AF.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
-1F238 ; [.82B0.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
-329A ; [.8815.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
-2F66 ; [.82B4.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
-2F67 ; [.82B6.0020.0004.2F67] # KANGXI RADICAL SICKNESS
-2F68 ; [.82B7.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
-2F69 ; [.82B8.0020.0004.2F69] # KANGXI RADICAL WHITE
-2F6A ; [.82B9.0020.0004.2F6A] # KANGXI RADICAL SKIN
-2F6B ; [.82BA.0020.0004.2F6B] # KANGXI RADICAL DISH
-32AC ; [.B79A.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
-2F6C ; [.82BB.0020.0004.2F6C] # KANGXI RADICAL EYE
-2F6D ; [.82BC.0020.0004.2F6D] # KANGXI RADICAL SPEAR
-2F6E ; [.82BD.0020.0004.2F6E] # KANGXI RADICAL ARROW
-2F6F ; [.82BE.0020.0004.2F6F] # KANGXI RADICAL STONE
-2F70 ; [.82C0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
-3293 ; [.8D2E.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
-3297 ; [.9970.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
-1F232 ; [.B0A6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
-2F71 ; [.82C1.0020.0004.2F71] # KANGXI RADICAL TRACK
-2F72 ; [.82C2.0020.0004.2F72] # KANGXI RADICAL GRAIN
-3299 ; [.9977.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
-2F73 ; [.82C3.0020.0004.2F73] # KANGXI RADICAL CAVE
-1F233 ; [.8D3E.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-2F74 ; [.82C4.0020.0004.2F74] # KANGXI RADICAL STAND
-2F75 ; [.84B5.0020.0004.2F75] # KANGXI RADICAL BAMBOO
-3247 ; [.B822.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
-2F76 ; [.84B6.0020.0004.2F76] # KANGXI RADICAL RICE
-2F77 ; [.84B7.0020.0004.2F77] # KANGXI RADICAL SILK
-1F221 ; [.A172.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-2F78 ; [.84C4.0020.0004.2F78] # KANGXI RADICAL JAR
-2F79 ; [.84C5.0020.0004.2F79] # KANGXI RADICAL NET
-2F7A ; [.84C7.0020.0004.2F7A] # KANGXI RADICAL SHEEP
-2F7B ; [.84CA.0020.0004.2F7B] # KANGXI RADICAL FEATHER
-2F7C ; [.84CB.0020.0004.2F7C] # KANGXI RADICAL OLD
-2F7D ; [.84CD.0020.0004.2F7D] # KANGXI RADICAL AND
-2F7E ; [.84CE.0020.0004.2F7E] # KANGXI RADICAL PLOW
-2F7F ; [.84CF.0020.0004.2F7F] # KANGXI RADICAL EAR
-2F80 ; [.84D0.0020.0004.2F80] # KANGXI RADICAL BRUSH
-2F81 ; [.84D2.0020.0004.2F81] # KANGXI RADICAL MEAT
-2F82 ; [.84D7.0020.0004.2F82] # KANGXI RADICAL MINISTER
-2F83 ; [.84D8.0020.0004.2F83] # KANGXI RADICAL SELF
-2F84 ; [.84D9.0020.0004.2F84] # KANGXI RADICAL ARRIVE
-2F85 ; [.84DA.0020.0004.2F85] # KANGXI RADICAL MORTAR
-2F86 ; [.84DC.0020.0004.2F86] # KANGXI RADICAL TONGUE
-2F87 ; [.84DD.0020.0004.2F87] # KANGXI RADICAL OPPOSE
-2F88 ; [.84DE.0020.0004.2F88] # KANGXI RADICAL BOAT
-2F89 ; [.84DF.0020.0004.2F89] # KANGXI RADICAL STOPPING
-2F8A ; [.84E0.0020.0004.2F8A] # KANGXI RADICAL COLOR
-2F8B ; [.84E1.0020.0004.2F8B] # KANGXI RADICAL GRASS
-2F8C ; [.84EA.0020.0004.2F8C] # KANGXI RADICAL TIGER
-2F8D ; [.84EB.0020.0004.2F8D] # KANGXI RADICAL INSECT
-2F8E ; [.84EC.0020.0004.2F8E] # KANGXI RADICAL BLOOD
-2F8F ; [.84ED.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
-2F90 ; [.84EE.0020.0004.2F90] # KANGXI RADICAL CLOTHES
-2F91 ; [.84EF.0020.0004.2F91] # KANGXI RADICAL WEST
-2F92 ; [.8878.0020.0004.2F92] # KANGXI RADICAL SEE
-2F93 ; [.887B.0020.0004.2F93] # KANGXI RADICAL HORN
-1F216 ; [.B258.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-2F94 ; [.887D.0020.0004.2F94] # KANGXI RADICAL SPEECH
-2F95 ; [.8891.0020.0004.2F95] # KANGXI RADICAL VALLEY
-2F96 ; [.8892.0020.0004.2F96] # KANGXI RADICAL BEAN
-2F97 ; [.8893.0020.0004.2F97] # KANGXI RADICAL PIG
-2F98 ; [.8894.0020.0004.2F98] # KANGXI RADICAL BADGER
-2F99 ; [.8895.0020.0004.2F99] # KANGXI RADICAL SHELL
-3296 ; [.9B3B.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
-1F223 ; [.A2FD.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-32AE ; [.B2A5.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
-2F9A ; [.8898.0020.0004.2F9A] # KANGXI RADICAL RED
-2F9B ; [.8899.0020.0004.2F9B] # KANGXI RADICAL RUN
-1F230 ; [.8899.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-2F9C ; [.889B.0020.0004.2F9C] # KANGXI RADICAL FOOT
-2F9D ; [.889C.0020.0004.2F9D] # KANGXI RADICAL BODY
-2F9E ; [.889D.0020.0004.2F9E] # KANGXI RADICAL CART
-2F9F ; [.88A1.0020.0004.2F9F] # KANGXI RADICAL BITTER
-2FA0 ; [.88A2.0020.0004.2FA0] # KANGXI RADICAL MORNING
-2FA1 ; [.88A3.0020.0004.2FA1] # KANGXI RADICAL WALK
-1F22B ; [.B30B.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
-329C ; [.C10A.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
-2FA2 ; [.88B4.0020.0004.2FA2] # KANGXI RADICAL CITY
-2FA3 ; [.88C5.0020.0004.2FA3] # KANGXI RADICAL WINE
-2FA4 ; [.88C6.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
-2FA5 ; [.88C7.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
-2FA6 ; [.8E33.0020.0004.2FA6] # KANGXI RADICAL GOLD
-328E ; [.8E33.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
-2FA7 ; [.8E40.0020.0004.2FA7] # KANGXI RADICAL LONG
-2FA8 ; [.8E42.0020.0004.2FA8] # KANGXI RADICAL GATE
-2FA9 ; [.8E45.0020.0004.2FA9] # KANGXI RADICAL MOUND
-2FAA ; [.8E59.0020.0004.2FAA] # KANGXI RADICAL SLAVE
-2FAB ; [.8E5A.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
-2FAC ; [.8E5C.0020.0004.2FAC] # KANGXI RADICAL RAIN
-2FAD ; [.8E5D.0020.0004.2FAD] # KANGXI RADICAL BLUE
-2FAE ; [.8E5F.0020.0004.2FAE] # KANGXI RADICAL WRONG
-2FAF ; [.949C.0020.0004.2FAF] # KANGXI RADICAL FACE
-2FB0 ; [.949D.0020.0004.2FB0] # KANGXI RADICAL LEATHER
-2FB1 ; [.949E.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
-2FB2 ; [.94A0.0020.0004.2FB2] # KANGXI RADICAL LEEK
-2FB3 ; [.94A1.0020.0004.2FB3] # KANGXI RADICAL SOUND
-2FB4 ; [.94A2.0020.0004.2FB4] # KANGXI RADICAL LEAF
-32A0 ; [.AC44.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
-2FB5 ; [.94A7.0020.0004.2FB5] # KANGXI RADICAL WIND
-2FB6 ; [.94AB.0020.0004.2FB6] # KANGXI RADICAL FLY
-2FB7 ; [.94AD.0020.0004.2FB7] # KANGXI RADICAL EAT
-2FB8 ; [.94B7.0020.0004.2FB8] # KANGXI RADICAL HEAD
-2FB9 ; [.94B9.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
-2FBA ; [.9BF9.0020.0004.2FBA] # KANGXI RADICAL HORSE
-2FBB ; [.9C00.0020.0004.2FBB] # KANGXI RADICAL BONE
-2FBC ; [.9C01.0020.0004.2FBC] # KANGXI RADICAL TALL
-2FBD ; [.9C02.0020.0004.2FBD] # KANGXI RADICAL HAIR
-2FBE ; [.9C03.0020.0004.2FBE] # KANGXI RADICAL FIGHT
-2FBF ; [.9C04.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; [.9C05.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
-2FC1 ; [.9C06.0020.0004.2FC1] # KANGXI RADICAL GHOST
-2FC2 ; [.A408.0020.0004.2FC2] # KANGXI RADICAL FISH
-2FC3 ; [.A40A.0020.0004.2FC3] # KANGXI RADICAL BIRD
-2FC4 ; [.A414.0020.0004.2FC4] # KANGXI RADICAL SALT
-2FC5 ; [.A415.0020.0004.2FC5] # KANGXI RADICAL DEER
-2FC6 ; [.A416.0020.0004.2FC6] # KANGXI RADICAL WHEAT
-2FC7 ; [.A418.0020.0004.2FC7] # KANGXI RADICAL HEMP
-2FC8 ; [.AC78.0020.0004.2FC8] # KANGXI RADICAL YELLOW
-2FC9 ; [.AC7A.0020.0004.2FC9] # KANGXI RADICAL MILLET
-2FCA ; [.AC7B.0020.0004.2FCA] # KANGXI RADICAL BLACK
-2FCB ; [.AC7C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
-2FCC ; [.B440.0020.0004.2FCC] # KANGXI RADICAL FROG
-2FCD ; [.B442.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
-2FCE ; [.B443.0020.0004.2FCE] # KANGXI RADICAL DRUM
-2FCF ; [.B445.0020.0004.2FCF] # KANGXI RADICAL RAT
-2FD0 ; [.BB56.0020.0004.2FD0] # KANGXI RADICAL NOSE
-2FD1 ; [.BB57.0020.0004.2FD1] # KANGXI RADICAL EVEN
-2FD2 ; [.C273.0020.0004.2FD2] # KANGXI RADICAL TOOTH
-2FD3 ; [.C85E.0020.0004.2FD3] # KANGXI RADICAL DRAGON
-2FD4 ; [.C85F.0020.0004.2FD4] # KANGXI RADICAL TURTLE
-2EF3 ; [.88F9.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
-2FD5 ; [.CD3C.0020.0004.2FD5] # KANGXI RADICAL FLUTE
-F967 ; [.80BF.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.88FB.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.852F.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.805D.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.80CA.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.852D.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F802 ; [.8006.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
-F91B ; [.AC80.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.8028.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.8E86.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.80DC.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-2F819 ; [.80E8.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
-F9A8 ; [.81C3.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.856D.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.8928.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.892E.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.8933.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.8E98.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.8E9C.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.94E6.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.950F.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.9C54.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.A43E.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.B44E.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.B459.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.8070.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.81D0.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.895B.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; [.D692.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F814 ; [.80F3.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.8350.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.895F.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.80F5.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.8961.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.C28C.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.8356.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.8ED4.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.9C63.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.80FF.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.9535.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.81DA.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.8584.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.953F.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.9542.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.BB7E.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.C28F.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81D ; [.8037.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.8075.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.836E.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.8598.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.897C.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.897D.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.8986.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; [.A45F.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.ACB4.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.BB84.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.803C.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.8373.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.85A7.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
-FA76 ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.9C76.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.A466.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.C879.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.81F1.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.81F2.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.9C89.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.81F9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.A46C.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.85B4.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.85B6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.8F00.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.9C93.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.8126.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.9570.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.820E.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.8214.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.821A.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.8396.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.839F.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.85C5.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.85E0.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.85EA.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.85F0.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.89C3.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F83C ; [.8F0F.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F840 ; [.8F13.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.8F2E.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F841 ; [.9589.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; [.95A2.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.9CC4.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-FA79 ; [.9CC6.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.9CD2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.A488.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.A4AB.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.A4B3.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA0D ; [.ACD8.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.ACDA.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.ACF9.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84E ; [.B4CA.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
-FA38 ; [.C2AA.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.BBCD.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.8A04.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.B4DC.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84D ; [.B4DD.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F855 ; [.8F63.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.8F8E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.9D1E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.9D37.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.A4EB.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.95F7.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA39 ; [.A4F7.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.AD3D.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.C26D.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.BBE8.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.BBEE.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.CD66.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.D106.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F851 ; [.83C5.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85A ; [.864B.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.9D44.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C ; [.864D.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.83C8.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.B513.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.8A41.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.8A45.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.8F99.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.8A4B.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.9D4E.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.8088.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.8FA7.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.960A.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.961C.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.9628.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.9D80.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.9D84.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.AD61.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.BC16.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.C2FB.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.83EC.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.9DA6.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.AD8F.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.BC2E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.D116.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F872 ; [.868E.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.8FE9.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.8092.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.8695.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.9DB7.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.B558.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.BC33.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.BC34.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.86B2.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F879 ; [.8AD0.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.9DCB.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.A589.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.A595.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.A5A7.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F87E ; [.ADAD.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F880 ; [.B563.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.C30C.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.C8D1.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.88A4.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.9DE6.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.A5AA.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.9681.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.A5AD.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.BC5D.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
-F98E ; [.8414.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.9036.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.9038.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.9DF7.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.9DFA.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.ADC4.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.B587.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.B588.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.B58E.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.D123.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.80A5.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.86D2.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F874 ; [.8423.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.86D9.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.9E0A.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.9E0B.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.904F.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-2F89C ; [.A5CB.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
-F966 ; [.A5D0.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.ADD2.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.86E4.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.86E9.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.8B15.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-2F89F ; [.8702.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
-F960 ; [.9054.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.8B2D.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.96BA.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.96C6.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.9E43.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.9E4E.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.A5E1.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.ADDF.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.ADFC.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.B5A7.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA8A ; [.B5B4.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.A614.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.B5C3.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.BC91.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.BC9F.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.BCA7.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.C332.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.C8EF.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.D9A5.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.8435.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.9E66.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.BCAF.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.C8FA.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B4 ; [.843C.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 ; [.8B64.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.8B7C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.9096.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.8B85.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.8B86.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.90AC.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.90AE.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.970C.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.971F.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.9E77.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.9E8A.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.9E92.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.9EAD.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.9EB5.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.A62A.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.AE5E.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.9737.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.AE2E.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.AE34.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.A667.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.BCB3.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.B603.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C4 ; [.B609.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-F991 ; [.BCCE.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.BCD1.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.C35E.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.9ED9.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.AE62.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.BCF5.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.9745.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.974C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.90EA.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-2F8CB ; [.9EF0.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0 ; [.8BC4.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.9758.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.AE80.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D5 ; [.B627.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-FA06 ; [.BD0D.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.C39E.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.875D.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.976A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.A454.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.AE99.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-F9E1 ; [.876E.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.8773.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.8776.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.877E.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.8BEC.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.8BF5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.8C07.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.9164.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.9169.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.978C.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.9794.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E1 ; [.9181.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-F97A ; [.9F37.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E4 ; [.9F44.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-F9E2 ; [.9F5E.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.A716.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.AEAF.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.B650.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; [.BD23.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.BD4B.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.C959.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.D157.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.C962.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.D6D0.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.846F.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.C403.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.AF0A.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.C40A.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.8165.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F8F4 ; [.B6A0.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.C969.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.9F8C.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8FA ; [.847F.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.879D.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.87BB.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.8C58.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.8C64.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.8C65.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.8C7C.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-2F8FF ; [.980A.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.91C0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.91C2.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.91D6.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.91E0.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.981E.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.981F.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.982D.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.983A.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.9FBA.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.9FC9.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.9FD9.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.9FE8.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.A004.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.A777.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.A7B5.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.AF31.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.AF4F.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.AF5C.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.AF63.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-FA98 ; [.AF6B.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
-F94E ; [.B6CF.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.B6E1.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.BDAD.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.BDE2.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.C98A.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.CDED.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.D17C.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F913 ; [.D488.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.D6DB.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F835 ; [.8497.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F919 ; [.87E1.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F918 ; [.87E7.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.8CB0.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.920A.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.9864.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.9875.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-2F91C ; [.AF89.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-F993 ; [.AF8D.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.BDE7.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.C477.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.C479.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.D496.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.D6E6.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.DC4E.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA49 ; [.8172.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA9E ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 ; [.AFC5.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
-F946 ; [.87ED.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.A81A.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.B745.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
-FA9F ; [.82A0.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.8CCA.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.98A1.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.CE18.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.D1A8.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.817E.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92B ; [.8CEB.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.924C.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.98BB.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.A07D.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.98D0.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.A852.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92E ; [.AFF3.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; [.B008.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.BE24.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.BE35.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.BE39.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.C4A4.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.D1B4.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-FAA2 ; [.B77A.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
-2F934 ; [.A882.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
-FAA3 ; [.8D01.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.8D03.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.98E3.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.A09D.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.A8A0.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.B047.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.BE59.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.BE52.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.C9EA.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.D6F3.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.A0BF.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.C4E1.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.92B6.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.9928.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.A0D7.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAA9 ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.BE77.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.CA05.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.A0E7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.A8DD.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.B090.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.BE90.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.CA26.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.D4C9.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA18 ; [.84B3.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.8D2E.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.92EC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.92ED.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.9963.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.9970.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.9971.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.A0F9.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.B0A4.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.B7DB.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.B7DC.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.CE6D.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995 ; [.8D3A.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957 ; [.998A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.B0BA.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.B7F7.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; [.C523.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-FA55 ; [.930C.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.BEC4.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.82C4.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F95F ; [.B805.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-F9F8 ; [.A12C.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.BEEF.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.C53D.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.D1F9.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.D8B1.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-FAAE ; [.9327.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.A14C.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.B84B.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.C563.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.C567.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F969 ; [.CE97.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
-F97B ; [.CE9B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.CA8C.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F96A ; [.9332.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.99CE.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.99E0.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.A15F.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.B111.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.A95F.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.B85B.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.B879.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.B882.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-2F96F ; [.BF43.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
-FA58 ; [.C56B.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.CA9B.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.CAA5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.CAA9.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.A98D.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.B149.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.C591.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.C592.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.D220.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F978 ; [.A19D.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.A19E.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.84CA.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979 ; [.CEC9.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.84CB.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.A1BB.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-2F97D ; [.A9A9.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
-F997 ; [.CAC6.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.CAC7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.D8C0.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.84D3.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.8D78.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.8D7D.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; [.9A39.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F985 ; [.A9B8.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.D22E.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.CAE3.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.9A4D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.A9E2.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-FA6D ; [.C5C0.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-F97C ; [.885F.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-FA5D ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2F990 ; [.8868.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.886E.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.8D9B.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.8DAF.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.8DB1.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.8DBA.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.93A9.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.A1FD.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.A1FE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.9A84.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.9A9C.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.9ABD.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99A ; [.9AAB.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; [.A24D.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99D ; [.A249.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.A9FD.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.A9FE.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.AA00.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.AA0F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.AA1A.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.AA22.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.AA24.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.B1A9.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.B1B5.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.BF9A.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.B208.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.BF9E.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.BFA7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.BFC0.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.C5F0.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.CF09.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.D510.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.D51C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-FA20 ; [.D52F.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
-F91F ; [.D73C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.D9F1.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.93DD.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.CB2D.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.CF14.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B8 ; [.AA6B.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B7 ; [.9AE5.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.AA7D.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.B227.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.B95E.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.B981.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BE ; [.C617.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-F911 ; [.CB41.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.C027.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.D264.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.D748.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.84ED.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C3 ; [.C63E.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; [.84EE.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.AAAA.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.B239.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-2F9C6 ; [.AAB2.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.B247.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.B24A.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.B995.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.B997.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.C03D.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.CB6A.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.D53F.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.CF49.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.8878.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.B289.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.C06A.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.C076.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.C07D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.C081.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.D2AB.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.D8E4.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.9B36.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.8893.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.A2FF.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.AB15.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.B2A0.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.B2A6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.B9E4.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.DADB.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.9B4D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.B2C0.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.AB38.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.B2D1.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.B2D2.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-F902 ; [.889D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9DE ; [.9B5B.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.C0FB.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.C0FF.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.C6CA.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.D8FB.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2F98D ; [.B2F9.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.88A2.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-FA66 ; [.818F.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
-F99A ; [.A353.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.C6D6.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.C6DE.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.DA18.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-2F9E2 ; [.850D.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.945D.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA2E ; [.9B86.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-2F9E3 ; [.9465.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.A369.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.B321.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.BA32.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-F919 ; [.B32C.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.CBE1.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.D582.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.88C7.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.ABA9.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.8E33.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.B33B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.B33F.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.BA52.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.BA91.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.C154.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.C155.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.C705.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.CBF2.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.D330.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.D5A8.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9EE ; [.ABFD.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.C18F.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.CC4C.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-F9C6 ; [.88DE.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.948F.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.9491.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.A3DD.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.A3E0.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.A3E3.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.AC1A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.C19A.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.C776.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.CC60.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2F9F3 ; [.AC28.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.D014.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.B3BD.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.B3BE.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.D017.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.D7AA.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.DAFA.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 ; [.D5DE.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
-2F9FA ; [.D5DF.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69 ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
-2F9FE ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-F9B4 ; [.BAE3.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.C1C8.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.D369.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.9BF0.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.AC59.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.B3F7.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.C7C5.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.C7C6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; [.D37A.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; [.BB13.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.C7DC.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.CCB3.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.DC56.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.C225.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.D645.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.DA5D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2FA0C ; [.C247.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.CD1A.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.D80D.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.DB1F.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.DC69.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.A415.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.D407.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.DA80.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.A418.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.C26C.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.AC7C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; [.8E79.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 ; [.D834.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A ; [.C26F.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; [.D0DA.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; [.BB56.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-FAD8 ; [.DA8C.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-F9C4 ; [.C85E.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9 ; [.D0E5.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907 ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
-2F81F ; [.858A.0020.0002.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F888 ; [.C311.0020.0002.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F8D0 ; [.AE77.0020.0002.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8CE ; [.C38A.0020.0002.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8DE ; [.8BD3.0020.0002.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8EE ; [.D879.0020.0002.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F90A ; [.AF20.0020.0002.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F92C ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
-FAD4 ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
-2F949 ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F960 ; [.B808.0020.0002.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F96D ; [.BF14.0020.0002.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F8D7 ; [.8D6B.0020.0002.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2FA0E ; [.D64A.0020.0002.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2F8F9 ; [.B6A5.0020.0002.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
-FA6C ; [.AFBE.0020.0002.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
-2F93C ; [.D6F7.0020.0002.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
+ entry => <<'ENTRY', # for DUCET v6.3.0
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 2801 ; [.8000.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1>
+2E84 ; [.8007.0020.0002] # CJK RADICAL SECOND THREE
+3006 ; [.8012.0020.0002] # IDEOGRAPHIC CLOSING MARK
+3007 ; [.8013.0020.0002] # IDEOGRAPHIC NUMBER ZERO
+3021 ; [.8014.0020.0002] # HANGZHOU NUMERAL ONE
+3025 ; [.8015.0020.0002] # HANGZHOU NUMERAL FIVE
+303B ; [.8016.0020.0002] # VERTICAL IDEOGRAPHIC ITERATION MARK
+FDD0 2802 ; [.8017.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2>
+2E86 ; [.8031.0020.0002] # CJK RADICAL BOX
+2E87 ; [.8035.0020.0002] # CJK RADICAL TABLE
+2E88 ; [.8038.0020.0002] # CJK RADICAL KNIFE ONE
+2E8A ; [.8042.0020.0002] # CJK RADICAL DIVINATION
+2E80 ; [.8047.0020.0002] # CJK RADICAL REPEAT
+2ECF ; [.804B.0020.0002] # CJK RADICAL CITY
+2ED6 ; [.804C.0020.0002] # CJK RADICAL MOUND TWO
+3022 ; [.804E.0020.0002] # HANGZHOU NUMERAL TWO
+3024 ; [.804F.0020.0002] # HANGZHOU NUMERAL FOUR
+3026 ; [.8050.0020.0002] # HANGZHOU NUMERAL SIX
+FDD0 2803 ; [.8051.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12>
+2E8C ; [.808F.0020.0002] # CJK RADICAL SMALL ONE
+2E8D ; [.8090.0020.0002] # CJK RADICAL SMALL TWO
+2E95 ; [.80A8.0020.0002] # CJK RADICAL SNOUT TWO
+2EBE ; [.80B3.0020.0002] # CJK RADICAL GRASS ONE
+2ECC ; [.80B5.0020.0002] # CJK RADICAL SIMPLIFIED WALK
+3005 ; [.80BB.0020.0002] # IDEOGRAPHIC ITERATION MARK
+3023 ; [.80BC.0020.0002] # HANGZHOU NUMERAL THREE
+3027 ; [.80BD.0020.0002] # HANGZHOU NUMERAL SEVEN
+FDD0 2804 ; [.80BE.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-3>
+2E9C ; [.815B.0020.0002] # CJK RADICAL SUN
+2E9D ; [.815E.0020.0002] # CJK RADICAL MOON
+2EA5 ; [.8170.0020.0002] # CJK RADICAL PAW TWO
+2EA7 ; [.817A.0020.0002] # CJK RADICAL COW
+2EBC ; [.8185.0020.0002] # CJK RADICAL MEAT
+2ECD ; [.818E.0020.0002] # CJK RADICAL WALK ONE
+3028 ; [.8193.0020.0002] # HANGZHOU NUMERAL EIGHT
+3029 ; [.8194.0020.0002] # HANGZHOU NUMERAL NINE
+FDD0 2805 ; [.8195.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-13>
+2EAA ; [.82B3.0020.0002] # CJK RADICAL BOLT OF CLOTH
+2EAC ; [.82BF.0020.0002] # CJK RADICAL SPIRIT ONE
+FDD0 2806 ; [.82E7.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-23>
+2EAE ; [.84B2.0020.0002] # CJK RADICAL BAMBOO
+2EB6 ; [.84C6.0020.0002] # CJK RADICAL SHEEP
+FDD0 2807 ; [.8529.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-123>
+2EC6 ; [.887A.0020.0002] # CJK RADICAL SIMPLIFIED HORN
+2ECA ; [.889A.0020.0002] # CJK RADICAL FOOT
+FDD0 2808 ; [.88FA.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-4>
+FA24 ; [.8E20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA24
+2ED7 ; [.8E5B.0020.0002] # CJK RADICAL RAIN
+FDD0 2809 ; [.8E7C.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-14>
+2EDE ; [.94AC.0020.0002] # CJK RADICAL EAT TWO
+2EE3 ; [.94C3.0020.0002] # CJK RADICAL BONE
+FDD0 280A ; [.94CA.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-24>
+FA0F ; [.95F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0F
+FDD0 280B ; [.9C16.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-124>
+FA21 ; [.A279.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA21
+FA23 ; [.A312.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA23
+FDD0 280C ; [.A41D.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-34>
+FA11 ; [.A5A3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA11
+FDD0 280D ; [.AC7F.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-134>
+FA0E ; [.ACD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0E
+FA13 ; [.AEF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA13
+FA29 ; [.B3B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA29
+FDD0 280E ; [.B44A.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-234>
+FA14 ; [.B690.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA14
+FDD0 280F ; [.BB5A.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1234>
+FA27 ; [.C173.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA27
+FDD0 2810 ; [.C276.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-5>
+FA28 ; [.C748.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA28
+FDD0 2811 ; [.C860.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-15>
+FDD0 2812 ; [.CD3D.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-25>
+FDD0 2813 ; [.D0E6.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-125>
+FA1F ; [.D23D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1F
+FDD0 2814 ; [.D41B.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-35>
+FDD0 2815 ; [.D68C.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-135>
+FDD0 2816 ; [.D846.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-235>
+FDD0 2817 ; [.D993.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1235>
+FDD0 2818 ; [.DA95.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-45>
+FDD0 2819 ; [.DB3D.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-145>
+FDD0 281A ; [.DBB4.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-245>
+FDD0 281B ; [.DBF1.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1245>
+FDD0 281C ; [.DC29.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-345>
+FDD0 281D ; [.DC4D.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1345>
+FDD0 281E ; [.DC5C.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2345>
+FDD0 281F ; [.DC6C.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12345>
+FDD0 2820 ; [.DC71.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-6>
+FDD0 2821 ; [.DC76.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-16>
+FDD0 2823 ; [.DC7C.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-126>
+FDD0 2824 ; [.DC7E.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-36>
+FDD0 2827 ; [.DC80.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1236>
+FDD0 2830 ; [.DC82.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-56>
+3220 ; [*02FA.0020.0004][.8001.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FA.0020.0004][.801A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FA.0020.0004][.8054.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FA.0020.0004][.8027.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FA.0020.0004][.802A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FA.0020.0004][.80D7.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FA.0020.0004][.81C2.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FA.0020.0004][.831C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FA.0020.0004][.832C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FA.0020.0004][.8030.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FA.0020.0004][.80F5.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FA.0020.0004][.85A8.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FA.0020.0004][.8041.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FA.0020.0004][.899D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FA.0020.0004][.839D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FA.0020.0004][.89D5.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FA.0020.0004][.822D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FA.0020.0004][.8081.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FA.0020.0004][.8A8D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FA.0020.0004][.815C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FA.0020.0004][.815F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FA.0020.0004][.845A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FA.0020.0004][.8160.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FA.0020.0004][.979F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FA.0020.0004][.816D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FA.0020.0004][.816E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FA.0020.0004][.9895.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FA.0020.0004][.B79A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FA.0020.0004][.8D2E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FA.0020.0004][.9970.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FA.0020.0004][.A100.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FA.0020.0004][.84D8.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FA.0020.0004][.84D9.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FA.0020.0004][.9B3B.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FA.0020.0004][.B2A5.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FA.0020.0004][.8E33.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15E1.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15E2.0020.0004][.15E1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15E2.0020.0004][.15E1.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15E2.0020.0004][.15E1.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15E2.0020.0004][.15E2.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15E2.0020.0004][.15E2.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15E2.0020.0004][.15E2.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15E2.0020.0004][.15E3.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15E2.0020.0004][.15E3.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15E2.0020.0004][.15E3.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15E2.0020.0004][.15E4.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15E2.0020.0004][.15E4.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15E2.0020.0004][.15E5.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15E2.0020.0004][.15E5.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15E2.0020.0004][.15E6.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15E2.0020.0004][.15E6.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15E2.0020.0004][.15E7.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15E2.0020.0004][.15E7.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15E2.0020.0004][.15E8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15E2.0020.0004][.15E8.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15E2.0020.0004][.15E9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15E2.0020.0004][.15E9.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15E2.0020.0004][.15EA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15E2.0020.0004][.15EA.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15E2.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15E2.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15E2.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15E3.0020.0004][.15E1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15E3.0020.0004][.15E1.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15E3.0020.0004][.15E2.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15E3.0020.0004][.15E2.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15E3.0020.0004][.15E3.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15E3.0020.0004][.15E3.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15E3.0020.0004][.15E4.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15E3.0020.0004][.15E4.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15E3.0020.0004][.15E5.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15E3.0020.0004][.15E5.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15E3.0020.0004][.15E6.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15E3.0020.0004][.15E7.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15E3.0020.0004][.15E8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15E3.0020.0004][.15E9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15E3.0020.0004][.15EA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15E3.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15E3.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15E3.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15E4.0020.0004][.15E1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15E4.0020.0004][.15E2.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15E4.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15E4.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15E4.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15E5.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15E5.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15E5.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15E6.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15E6.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15E6.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15E7.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15E7.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15E7.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15E8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15E8.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15E8.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15E9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15E9.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15E9.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15EA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15EA.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15EA.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*035C.0020.0004][.8054.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*035C.0020.0004][.802A.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*035C.0020.0004][.A465.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*035C.0020.0004][.83F0.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*035C.0020.0004][.8277.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*035C.0020.0004][.9EDA.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*035C.0020.0004][.8283.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*035C.0020.0004][.9216.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*035C.0020.0004][.A0BD.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.8001.0020.0004] # KANGXI RADICAL ONE
+3192 ; [.8001.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.8001.0020.0006] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.8001.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8018.0020.0014] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.801A.0020.0006] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.8054.0020.0014] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.8054.0020.0006] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.8054.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.8055.0020.0014] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.8055.0020.0006] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.8056.0020.0014] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.8056.0020.0006] # CIRCLED IDEOGRAPH LOW
+319B ; [.819C.0020.0014] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.8002.0020.0004] # KANGXI RADICAL LINE
+3197 ; [.80C6.0020.0014] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.80C6.0020.0006] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.80C6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.8003.0020.0004] # KANGXI RADICAL DOT
+2F03 ; [.8004.0020.0004] # KANGXI RADICAL SLASH
+2F04 ; [.8008.0020.0004] # KANGXI RADICAL SECOND
+319A ; [.8008.0020.0014] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.8027.0020.0006] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.8010.0020.0004] # KANGXI RADICAL HOOK
+2F06 ; [.802A.0020.0004] # KANGXI RADICAL TWO
+3193 ; [.802A.0020.0014] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.802A.0020.0006] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.802A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.80D7.0020.0006] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.802B.0020.0004] # KANGXI RADICAL LID
+1F218 ; [.8300.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.802C.0020.0004] # KANGXI RADICAL MAN
+319F ; [.802C.0020.0014] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.831C.0020.0006] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.832C.0020.0006] # CIRCLED IDEOGRAPH REST
+329D ; [.C86C.0020.0006] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.802E.0020.0004] # KANGXI RADICAL LEGS
+2F0A ; [.802F.0020.0004] # KANGXI RADICAL ENTER
+2F0B ; [.8030.0020.0004] # KANGXI RADICAL EIGHT
+3287 ; [.8030.0020.0006] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.80F5.0020.0006] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.8032.0020.0004] # KANGXI RADICAL DOWN BOX
+1F21E ; [.8356.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.8033.0020.0004] # KANGXI RADICAL COVER
+32A2 ; [.81D8.0020.0006] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.8034.0020.0004] # KANGXI RADICAL ICE
+2F0F ; [.8036.0020.0004] # KANGXI RADICAL TABLE
+2F10 ; [.8037.0020.0004] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8039.0020.0004] # KANGXI RADICAL KNIFE
+1F220 ; [.858C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.8EE7.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.A45F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.803C.0020.0004] # KANGXI RADICAL POWER
+3298 ; [.85A8.0020.0006] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.803D.0020.0004] # KANGXI RADICAL WRAP
+2F14 ; [.803E.0020.0004] # KANGXI RADICAL SPOON
+2F15 ; [.803F.0020.0004] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.8040.0020.0004] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.85B0.0020.0006] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.8041.0020.0004] # KANGXI RADICAL TEN
+3038 ; [.8041.0020.0004] # HANGZHOU NUMERAL TEN
+3289 ; [.8041.0020.0006] # CIRCLED IDEOGRAPH TEN
+3039 ; [.8059.0020.0004] # HANGZHOU NUMERAL TWENTY
+303A ; [.8118.0020.0004] # HANGZHOU NUMERAL THIRTY
+32AF ; [.899D.0020.0006] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.8043.0020.0004] # KANGXI RADICAL DIVINATION
+2F19 ; [.8044.0020.0004] # KANGXI RADICAL SEAL
+329E ; [.8384.0020.0006] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.8045.0020.0004] # KANGXI RADICAL CLIFF
+2F1B ; [.8046.0020.0004] # KANGXI RADICAL PRIVATE
+2F1C ; [.8048.0020.0004] # KANGXI RADICAL AGAIN
+1F212 ; [.8128.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.807F.0020.0004] # KANGXI RADICAL MOUTH
+1F251 ; [.8218.0020.0006] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.821C.0020.0006] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.821C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.8398.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.839D.0020.0006] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.85E1.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.9CC0.0020.0006] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.9CFD.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.8080.0020.0004] # KANGXI RADICAL ENCLOSURE
+3195 ; [.822D.0020.0014] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.822D.0020.0006] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.8081.0020.0004] # KANGXI RADICAL EARTH
+328F ; [.8081.0020.0006] # CIRCLED IDEOGRAPH EARTH
+319E ; [.83B9.0020.0014] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.8082.0020.0004] # KANGXI RADICAL SCHOLAR
+1F224 ; [.8649.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.8083.0020.0004] # KANGXI RADICAL GO
+2F22 ; [.8084.0020.0004] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.8085.0020.0004] # KANGXI RADICAL EVENING
+1F215 ; [.83C8.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.8A3E.0020.0006] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.8086.0020.0004] # KANGXI RADICAL BIG
+337D ; [.8086.0020.001C][.8288.0020.001C] # SQUARE ERA NAME TAISYOU
+319D ; [.8130.0020.0014] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.8130.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.8088.0020.0004] # KANGXI RADICAL WOMAN
+329B ; [.8088.0020.0006] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.8089.0020.0004] # KANGXI RADICAL CHILD
+1F211 ; [.83E8.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.8A8D.0020.0006] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.808D.0020.0004] # KANGXI RADICAL ROOF
+32AA ; [.8A94.0020.0006] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.808E.0020.0004] # KANGXI RADICAL INCH
+2F29 ; [.8091.0020.0004] # KANGXI RADICAL SMALL
+2F2A ; [.8092.0020.0004] # KANGXI RADICAL LAME
+2F2B ; [.8095.0020.0004] # KANGXI RADICAL CORPSE
+2F2C ; [.8096.0020.0004] # KANGXI RADICAL SPROUT
+2F2D ; [.8097.0020.0004] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.8098.0020.0004] # KANGXI RADICAL RIVER
+2F2F ; [.809B.0020.0004] # KANGXI RADICAL WORK
+32A7 ; [.8256.0020.0006] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.8256.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.809C.0020.0004] # KANGXI RADICAL ONESELF
+2F31 ; [.809F.0020.0004] # KANGXI RADICAL TURBAN
+2F32 ; [.80A0.0020.0004] # KANGXI RADICAL DRY
+337B ; [.825F.0020.001C][.8435.0020.001C] # SQUARE ERA NAME HEISEI
+2F33 ; [.80A2.0020.0004] # KANGXI RADICAL SHORT THREAD
+3245 ; [.8260.0020.0006] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.80A3.0020.0004] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.80A4.0020.0004] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.80A5.0020.0004] # KANGXI RADICAL TWO HANDS
+2F37 ; [.80A6.0020.0004] # KANGXI RADICAL SHOOT
+2F38 ; [.80A7.0020.0004] # KANGXI RADICAL BOW
+2F39 ; [.80A9.0020.0004] # KANGXI RADICAL SNOUT
+2F3A ; [.80AB.0020.0004] # KANGXI RADICAL BRISTLE
+2F3B ; [.80AC.0020.0004] # KANGXI RADICAL STEP
+1F21D ; [.9050.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.9E0E.0020.0006] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.8149.0020.0004] # KANGXI RADICAL HEART
+2F3D ; [.814B.0020.0004] # KANGXI RADICAL HALBERD
+2F3E ; [.814C.0020.0004] # KANGXI RADICAL DOOR
+2F3F ; [.814F.0020.0004] # KANGXI RADICAL HAND
+1F210 ; [.814F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.8277.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.873A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.90B6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.9724.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.8152.0020.0004] # KANGXI RADICAL BRANCH
+2F41 ; [.8153.0020.0004] # KANGXI RADICAL RAP
+2F42 ; [.8155.0020.0004] # KANGXI RADICAL SCRIPT
+3246 ; [.8155.0020.0006] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8156.0020.0004] # KANGXI RADICAL DIPPER
+1F21B ; [.9745.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.8157.0020.0004] # KANGXI RADICAL AXE
+1F21F ; [.AE69.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8158.0020.0004] # KANGXI RADICAL SQUARE
+2F46 ; [.8159.0020.0004] # KANGXI RADICAL NOT
+2F47 ; [.815C.0020.0004] # KANGXI RADICAL SUN
+3290 ; [.815C.0020.0006] # CIRCLED IDEOGRAPH SUN
+337E ; [.8BBF.0020.001C][.8C54.0020.001C] # SQUARE ERA NAME MEIZI
+1F219 ; [.90F3.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.9100.0020.001C][.89E5.0020.001C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.815D.0020.0004] # KANGXI RADICAL SAY
+2F49 ; [.815F.0020.0004] # KANGXI RADICAL MOON
+328A ; [.815F.0020.0006] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.815F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.845A.0020.0006] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.845A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.8160.0020.0004] # KANGXI RADICAL TREE
+328D ; [.8160.0020.0006] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.979F.0020.0006] # CIRCLED IDEOGRAPH STOCK
+337F ; [.979F.0020.001C][.841D.0020.001C][.8335.0020.001C][.8D2E.0020.001C] # SQUARE CORPORATION
+2F4B ; [.8163.0020.0004] # KANGXI RADICAL LACK
+2F4C ; [.8164.0020.0004] # KANGXI RADICAL STOP
+32A3 ; [.8288.0020.0006] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.8165.0020.0004] # KANGXI RADICAL DEATH
+2F4E ; [.8166.0020.0004] # KANGXI RADICAL WEAPON
+2F4F ; [.8167.0020.0004] # KANGXI RADICAL DO NOT
+2E9F ; [.828A.0020.0004] # CJK RADICAL MOTHER
+2F50 ; [.8169.0020.0004] # KANGXI RADICAL COMPARE
+2F51 ; [.816A.0020.0004] # KANGXI RADICAL FUR
+2F52 ; [.816B.0020.0004] # KANGXI RADICAL CLAN
+2F53 ; [.816C.0020.0004] # KANGXI RADICAL STEAM
+2F54 ; [.816D.0020.0004] # KANGXI RADICAL WATER
+328C ; [.816D.0020.0006] # CIRCLED IDEOGRAPH WATER
+329F ; [.8C7F.0020.0006] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.A7C6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.B6D2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.816E.0020.0004] # KANGXI RADICAL FIRE
+328B ; [.816E.0020.0006] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.A7EB.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.8171.0020.0004] # KANGXI RADICAL CLAW
+2F57 ; [.8173.0020.0004] # KANGXI RADICAL FATHER
+2F58 ; [.8174.0020.0004] # KANGXI RADICAL DOUBLE X
+2F59 ; [.8176.0020.0004] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.8177.0020.0004] # KANGXI RADICAL SLICE
+2F5B ; [.8179.0020.0004] # KANGXI RADICAL FANG
+2F5C ; [.817B.0020.0004] # KANGXI RADICAL COW
+3295 ; [.9895.0020.0006] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.817D.0020.0004] # KANGXI RADICAL DOG
+2F5E ; [.82A2.0020.0004] # KANGXI RADICAL PROFOUND
+2F5F ; [.82A3.0020.0004] # KANGXI RADICAL JADE
+2F60 ; [.82A7.0020.0004] # KANGXI RADICAL MELON
+2F61 ; [.82A8.0020.0004] # KANGXI RADICAL TILE
+2F62 ; [.82A9.0020.0004] # KANGXI RADICAL SWEET
+2F63 ; [.82AA.0020.0004] # KANGXI RADICAL LIFE
+1F222 ; [.82AA.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.82AB.0020.0004] # KANGXI RADICAL USE
+2F65 ; [.82AD.0020.0004] # KANGXI RADICAL FIELD
+3199 ; [.82AF.0020.0014] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.82B0.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.8815.0020.0006] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.82B4.0020.0004] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.82B6.0020.0004] # KANGXI RADICAL SICKNESS
+2F68 ; [.82B7.0020.0004] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.82B8.0020.0004] # KANGXI RADICAL WHITE
+2F6A ; [.82B9.0020.0004] # KANGXI RADICAL SKIN
+2F6B ; [.82BA.0020.0004] # KANGXI RADICAL DISH
+32AC ; [.B79A.0020.0006] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.82BB.0020.0004] # KANGXI RADICAL EYE
+2F6D ; [.82BC.0020.0004] # KANGXI RADICAL SPEAR
+2F6E ; [.82BD.0020.0004] # KANGXI RADICAL ARROW
+2F6F ; [.82BE.0020.0004] # KANGXI RADICAL STONE
+2F70 ; [.82C0.0020.0004] # KANGXI RADICAL SPIRIT
+3293 ; [.8D2E.0020.0006] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.9970.0020.0006] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.B0A6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.82C1.0020.0004] # KANGXI RADICAL TRACK
+2F72 ; [.82C2.0020.0004] # KANGXI RADICAL GRAIN
+3299 ; [.9977.0020.0006] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.82C3.0020.0004] # KANGXI RADICAL CAVE
+1F233 ; [.8D3E.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.82C4.0020.0004] # KANGXI RADICAL STAND
+2F75 ; [.84B5.0020.0004] # KANGXI RADICAL BAMBOO
+3247 ; [.B822.0020.0006] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.84B6.0020.0004] # KANGXI RADICAL RICE
+2F77 ; [.84B7.0020.0004] # KANGXI RADICAL SILK
+1F221 ; [.A172.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.84C4.0020.0004] # KANGXI RADICAL JAR
+2F79 ; [.84C5.0020.0004] # KANGXI RADICAL NET
+2F7A ; [.84C7.0020.0004] # KANGXI RADICAL SHEEP
+2F7B ; [.84CA.0020.0004] # KANGXI RADICAL FEATHER
+2F7C ; [.84CB.0020.0004] # KANGXI RADICAL OLD
+2F7D ; [.84CD.0020.0004] # KANGXI RADICAL AND
+2F7E ; [.84CE.0020.0004] # KANGXI RADICAL PLOW
+2F7F ; [.84CF.0020.0004] # KANGXI RADICAL EAR
+2F80 ; [.84D0.0020.0004] # KANGXI RADICAL BRUSH
+2F81 ; [.84D2.0020.0004] # KANGXI RADICAL MEAT
+2F82 ; [.84D7.0020.0004] # KANGXI RADICAL MINISTER
+2F83 ; [.84D8.0020.0004] # KANGXI RADICAL SELF
+2F84 ; [.84D9.0020.0004] # KANGXI RADICAL ARRIVE
+2F85 ; [.84DA.0020.0004] # KANGXI RADICAL MORTAR
+2F86 ; [.84DC.0020.0004] # KANGXI RADICAL TONGUE
+2F87 ; [.84DD.0020.0004] # KANGXI RADICAL OPPOSE
+2F88 ; [.84DE.0020.0004] # KANGXI RADICAL BOAT
+2F89 ; [.84DF.0020.0004] # KANGXI RADICAL STOPPING
+2F8A ; [.84E0.0020.0004] # KANGXI RADICAL COLOR
+2F8B ; [.84E1.0020.0004] # KANGXI RADICAL GRASS
+2F8C ; [.84EA.0020.0004] # KANGXI RADICAL TIGER
+2F8D ; [.84EB.0020.0004] # KANGXI RADICAL INSECT
+2F8E ; [.84EC.0020.0004] # KANGXI RADICAL BLOOD
+2F8F ; [.84ED.0020.0004] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.84EE.0020.0004] # KANGXI RADICAL CLOTHES
+2F91 ; [.84EF.0020.0004] # KANGXI RADICAL WEST
+2F92 ; [.8878.0020.0004] # KANGXI RADICAL SEE
+2F93 ; [.887B.0020.0004] # KANGXI RADICAL HORN
+1F216 ; [.B258.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.887D.0020.0004] # KANGXI RADICAL SPEECH
+2F95 ; [.8891.0020.0004] # KANGXI RADICAL VALLEY
+2F96 ; [.8892.0020.0004] # KANGXI RADICAL BEAN
+2F97 ; [.8893.0020.0004] # KANGXI RADICAL PIG
+2F98 ; [.8894.0020.0004] # KANGXI RADICAL BADGER
+2F99 ; [.8895.0020.0004] # KANGXI RADICAL SHELL
+3296 ; [.9B3B.0020.0006] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.A2FD.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.B2A5.0020.0006] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.8898.0020.0004] # KANGXI RADICAL RED
+2F9B ; [.8899.0020.0004] # KANGXI RADICAL RUN
+1F230 ; [.8899.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.889B.0020.0004] # KANGXI RADICAL FOOT
+2F9D ; [.889C.0020.0004] # KANGXI RADICAL BODY
+2F9E ; [.889D.0020.0004] # KANGXI RADICAL CART
+2F9F ; [.88A1.0020.0004] # KANGXI RADICAL BITTER
+2FA0 ; [.88A2.0020.0004] # KANGXI RADICAL MORNING
+2FA1 ; [.88A3.0020.0004] # KANGXI RADICAL WALK
+1F22B ; [.B30B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.C10A.0020.0006] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.88B4.0020.0004] # KANGXI RADICAL CITY
+2FA3 ; [.88C5.0020.0004] # KANGXI RADICAL WINE
+2FA4 ; [.88C6.0020.0004] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.88C7.0020.0004] # KANGXI RADICAL VILLAGE
+2FA6 ; [.8E33.0020.0004] # KANGXI RADICAL GOLD
+328E ; [.8E33.0020.0006] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.8E40.0020.0004] # KANGXI RADICAL LONG
+2FA8 ; [.8E42.0020.0004] # KANGXI RADICAL GATE
+2FA9 ; [.8E45.0020.0004] # KANGXI RADICAL MOUND
+2FAA ; [.8E59.0020.0004] # KANGXI RADICAL SLAVE
+2FAB ; [.8E5A.0020.0004] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.8E5C.0020.0004] # KANGXI RADICAL RAIN
+2FAD ; [.8E5D.0020.0004] # KANGXI RADICAL BLUE
+2FAE ; [.8E5F.0020.0004] # KANGXI RADICAL WRONG
+2FAF ; [.949C.0020.0004] # KANGXI RADICAL FACE
+2FB0 ; [.949D.0020.0004] # KANGXI RADICAL LEATHER
+2FB1 ; [.949E.0020.0004] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.94A0.0020.0004] # KANGXI RADICAL LEEK
+2FB3 ; [.94A1.0020.0004] # KANGXI RADICAL SOUND
+2FB4 ; [.94A2.0020.0004] # KANGXI RADICAL LEAF
+32A0 ; [.AC44.0020.0006] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.94A7.0020.0004] # KANGXI RADICAL WIND
+2FB6 ; [.94AB.0020.0004] # KANGXI RADICAL FLY
+2FB7 ; [.94AD.0020.0004] # KANGXI RADICAL EAT
+2FB8 ; [.94B7.0020.0004] # KANGXI RADICAL HEAD
+2FB9 ; [.94B9.0020.0004] # KANGXI RADICAL FRAGRANT
+2FBA ; [.9BF9.0020.0004] # KANGXI RADICAL HORSE
+2FBB ; [.9C00.0020.0004] # KANGXI RADICAL BONE
+2FBC ; [.9C01.0020.0004] # KANGXI RADICAL TALL
+2FBD ; [.9C02.0020.0004] # KANGXI RADICAL HAIR
+2FBE ; [.9C03.0020.0004] # KANGXI RADICAL FIGHT
+2FBF ; [.9C04.0020.0004] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9C05.0020.0004] # KANGXI RADICAL CAULDRON
+2FC1 ; [.9C06.0020.0004] # KANGXI RADICAL GHOST
+2FC2 ; [.A408.0020.0004] # KANGXI RADICAL FISH
+2FC3 ; [.A40A.0020.0004] # KANGXI RADICAL BIRD
+2FC4 ; [.A414.0020.0004] # KANGXI RADICAL SALT
+2FC5 ; [.A415.0020.0004] # KANGXI RADICAL DEER
+2FC6 ; [.A416.0020.0004] # KANGXI RADICAL WHEAT
+2FC7 ; [.A418.0020.0004] # KANGXI RADICAL HEMP
+2FC8 ; [.AC78.0020.0004] # KANGXI RADICAL YELLOW
+2FC9 ; [.AC7A.0020.0004] # KANGXI RADICAL MILLET
+2FCA ; [.AC7B.0020.0004] # KANGXI RADICAL BLACK
+2FCB ; [.AC7C.0020.0004] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.B440.0020.0004] # KANGXI RADICAL FROG
+2FCD ; [.B442.0020.0004] # KANGXI RADICAL TRIPOD
+2FCE ; [.B443.0020.0004] # KANGXI RADICAL DRUM
+2FCF ; [.B445.0020.0004] # KANGXI RADICAL RAT
+2FD0 ; [.BB56.0020.0004] # KANGXI RADICAL NOSE
+2FD1 ; [.BB57.0020.0004] # KANGXI RADICAL EVEN
+2FD2 ; [.C273.0020.0004] # KANGXI RADICAL TOOTH
+2FD3 ; [.C85E.0020.0004] # KANGXI RADICAL DRAGON
+2FD4 ; [.C85F.0020.0004] # KANGXI RADICAL TURTLE
+2EF3 ; [.88F9.0020.0004] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.CD3C.0020.0004] # KANGXI RADICAL FLUTE
+F967 ; [.80BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.88FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.852F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.805D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.80CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.852D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.8006.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.AC80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.8028.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.8E86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.80DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.80E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.81C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.856D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.8928.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.892E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.8933.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.8E8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.8E8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.8E98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.8E9C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.94E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.950F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.9C54.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.A43E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.B44E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.B459.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.B466.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.B466.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8070.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.81D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.8578.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.8578.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.895B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.D692.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.80F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.8350.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.895F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.80F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8961.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.C28C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8356.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8ED4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.9C63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.80FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.9535.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.81DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.8582.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.8582.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8584.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.953F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.9542.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.BB7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.C28F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.8037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.8075.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8107.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8107.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.836E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.8598.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.897C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.897D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.8986.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.A45F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.ACB4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.BB84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.803C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8373.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.85A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.8EF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8EF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.8EF4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.8EF4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.9C76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.A466.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.ACC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.ACC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.C879.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.8078.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.8078.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.81F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.81F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.81F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.81F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.9C89.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.81F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.899A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.899A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.A46C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.85B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.85B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.8F00.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.9569.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.9569.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.9569.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.9C93.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.8126.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.820E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.8214.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.821A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.8396.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.839F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.85C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.85E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.85EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.85F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.89C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.8F0F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.8F13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8F2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.9589.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.95A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.9CC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.9CC6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.9CD2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.A485.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.A485.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.A488.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.A499.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.A499.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.A49D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.A49D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.A4AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.A4B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.ACD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.ACDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.ACF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.B4AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.B4AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.B4CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.C2AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.BBCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.8A04.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.B4DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.B4DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.8F63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8F8E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9D1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9D37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.A4EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.95F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.A4F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.AD39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.AD39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.AD3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.C26D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.BBE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.BBEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.CD66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.D106.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.83C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.864B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.9D44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.864D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.83C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.B513.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.8A41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8A45.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.8F99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8A4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.9D4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.8088.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.8FA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.960A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.961C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.9628.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.9D80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.9D84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.AD61.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.BC16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.C2FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.D110.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.D110.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.83EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.9DA6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.AD8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.B554.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.B554.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.B554.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.BC2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.D116.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.868E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.8FE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.8092.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.8695.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.9DB7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.B558.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.BC33.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.BC34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.8096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.8096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.86B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.8AD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.9DCB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.A589.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.A595.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.A5A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.ADAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.B563.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.C30C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.C8D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.88A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.9DE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.A5AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.9681.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.A5AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.BC5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.8414.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.9036.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.9038.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.9DF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.9DFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.ADC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.A5C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.A5C1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.B587.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.B588.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.B58E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.D123.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.80A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.86D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.8AF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.8AF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8423.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.86D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.9E0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.9E0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.904F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.A5CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.A5D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.ADD2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.86E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.86E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8B15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.8702.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.9054.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.8B2D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.96BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.96C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.96D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.96D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.9E43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.9E4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.A5E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.ADDF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.ADFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.B5A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.AE01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.AE01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.AE03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.AE03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.B5B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.A614.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.B5C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.BC8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.BC8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.BC8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.BC91.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.BC9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.BCA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.C332.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.C8EF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.D12A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.D12A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.D12A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.D12C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.D12C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.D9A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.8435.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9E66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.BCAF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.C8FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.843C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.8B64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.8B7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.9096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.8B85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8B86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.90AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.90AE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.970C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.971F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.9E77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.9E8A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.9E92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.9EAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.9EB5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.A62A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.AE5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9737.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.AE2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.AE34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.A667.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.BCB3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.B603.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.B609.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.BCCE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.BCD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.C35E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.9ED2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.9ED2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.9ED9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.AE62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.BCF5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.9745.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.974C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.90EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.9EF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.8BC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.9758.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.A69D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.A69D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.AE80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.A6AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.A6AC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.B627.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.BD0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.C39E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.875D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.976A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.A454.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.9773.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.9773.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.9773.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.9F11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.9F11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.AE99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.876E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.8773.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8776.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.877E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.8BEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.8BF5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.8C07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.9164.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.9169.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.978C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.9794.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.9181.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.9F37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.9F3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.9F3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.9F44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.9F5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.A716.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.AEAF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.B650.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.BD23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.BD3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.BD3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.BD3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.BD4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.C959.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.D157.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.C962.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.D6D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.846F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.C403.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.AF0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.C40A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8165.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.B6A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.C969.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.9F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.9F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.9F8B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.9F8C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.847F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.879D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.87BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.8C58.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8C64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.8C65.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.8C7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.980A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.91C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.91C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.91D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.91E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.91E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.91E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.91E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.981E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.981F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.982C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.982C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.982D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.983A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.9FBA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.9FC9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.9FD9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.9FE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.A004.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.A777.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.A7B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.AF31.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.AF4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.AF5C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.A7D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.A7D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.AF63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.AF6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.B6CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.B6E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.B6E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.B6E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.BDAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.BDE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.C98A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.CDED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.D17C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.D17F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.D17F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.D488.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.D6DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.8497.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.87E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.87E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.8CB0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.920A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.9864.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.9875.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.AF89.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.AF8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.A80B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.A80B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.BDE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.C477.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.C479.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.D496.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.D6E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.DC4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.8172.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.C9BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.C9BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.AFC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.87ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.A81A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.B745.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.82A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.8CCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.98A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.A066.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.A066.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.CE18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.D1A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.A067.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.A067.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.817E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.8CEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.924C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.98BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.A07D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.98D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.A852.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.AFF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.B008.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.BE24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.B763.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.B763.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.BE35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.BE39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.C4A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.D1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.B77A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.A882.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.8D01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.8D03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.98E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.A09D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.A0A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.A0A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.A8A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.B047.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.BE59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.BE52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.C9EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.D6F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.990E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.990E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.A0BF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.C4E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8D1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8D1E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.92B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.9928.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.9929.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.9929.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.A0D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.A8C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.A8C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.BE77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.CA05.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.A0E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.A8DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.B08B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.B08B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.B090.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.BE90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.BE92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.BE92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.CA26.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.D4C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.84B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8D2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.92EC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.92ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.9963.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.9969.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.9969.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.9970.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.9971.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.A0F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.B0A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.B7DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.B7DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.B7DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.B7DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.CE6D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.8D3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.998A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.B0BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.BEBC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.BEBC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.B7F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.C523.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.930C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.BEC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.82C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.B805.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.A12C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.B101.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.B101.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.BEEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.C53D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.D1F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.D8B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.9327.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.A14C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.B84B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.C563.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.C567.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.CE97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.CE9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.CA8C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.9332.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.99CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.99E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.A15F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.B111.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.A95F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.B85B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.B879.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.B882.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.BF35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.BF35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.BF35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.BF43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.C56B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.CA9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.CAA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.CAA9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.A98D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.B149.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.C591.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.C592.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.D220.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.A19D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.A19E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.84CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.CEC9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.84CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8D66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8D66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8D66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.A1BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.A9A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.CAC6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.CAC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.D8C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.84D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.8D78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8D7D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.9A39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.A9B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.D22E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.CAE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.9A4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9A50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9A50.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.A9E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.C5C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.885F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.80B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.80B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.8868.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.886E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8D9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8DAF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8DB1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8DBA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.93A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.93A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.93A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.A1FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.A1FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.9A84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.9A9C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.9ABD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.9AAB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.A24D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.A249.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A9FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.A9FE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.AA00.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.AA0F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.AA1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.AA22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.AA24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.B1A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.B1B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.AA5A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.AA5A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.BF9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.B208.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.BF9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.BFA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.BFC0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.C5F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.CF09.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.D510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.D51C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.D52F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.D73C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.D9F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.93DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.B20A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.B20A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.CB2D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.CF14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AA6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.9AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.AA7D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.B227.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.B95E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.B981.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.C612.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.C612.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.C617.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.CB41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.C027.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.D264.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.D748.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.84ED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.C63E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.84EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.AAAA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.B239.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.AAB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.B247.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.B24A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.B995.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.B997.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.C03D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.CB6A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.D53F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.CF49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.8878.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.A103.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.A103.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.B289.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.B9C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.B9C9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.C06A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.C076.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.C07D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.C081.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.C671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.C671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.C08B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.C08B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.C681.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.C681.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.C684.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.C684.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.CF67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.CF67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.D2AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.D8E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.DA06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.DA06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.9B36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.8893.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.A2FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.AB15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.B2A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.B2A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.B9E4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.D2BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.D2BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.DADB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.9B4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.B2C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.AB38.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.B2D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.B2D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.889D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.9B5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.C0FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.C0FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.C6C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.C6C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.C6CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.D8FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.B2F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.88A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.818F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.A353.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.AB86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.AB86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.C6D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.C6DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.DA18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.850D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.945D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.9B86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.9465.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.A369.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.B321.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.BA32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.B32C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.CBE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.D582.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.88C7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.ABA9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8E33.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.B33B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.B33F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.BA52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.BA91.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.C154.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.C155.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.C705.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.CBF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.D330.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.D5A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.ABFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.C18F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.CC4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.88DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.948F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.9491.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.A3DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.A3E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.A3E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.AC1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.C19A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.C776.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.CC60.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AC28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.D014.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.D345.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.D345.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.B3BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.B3BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.D017.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.D7AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.DAFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.B3C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.B3C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.D5DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.D5DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.D5E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.D5E2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.B3D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.B3D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.B3D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.BAE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.C1C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.C7A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.C7A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.D369.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.9BF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.AC59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.B3F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.C7C5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.C7C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.D37A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.BB13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.C7DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.CCB3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.DC56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.D619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.D619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.C225.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.D645.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.DA5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.C247.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.CD1A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.D80D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.DB1F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.DC69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.A415.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.D407.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.DA80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.A418.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.C26C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.AC7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.8E79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.D834.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.C26F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.D0DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.BB56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.DA8C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.C85E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.D0E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.C85F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.C85F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.C85F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2F81F ; [.858A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F888 ; [.C311.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F8D0 ; [.AE77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.C38A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.8BD3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+2F8EE ; [.D879.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F90A ; [.AF20.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F92C ; [.98A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.98A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+FAD4 ; [.A8B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.A8B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F960 ; [.B808.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F96D ; [.BF14.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F8D7 ; [.8D6B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2FA0E ; [.D64A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2F8F9 ; [.B6A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+FA6C ; [.AFBE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F93C ; [.D6F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93C
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_zhu.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_zhu.pl
index 31006d21cc0..f4bf5750813 100755
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_zhu.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_zhu.pl
@@ -1,1563 +1,1563 @@
use Unicode::Collate::CJK::Zhuyin;
+{
- locale_version => 0.94,
+ locale_version => 1.01,
overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
- entry => <<'ENTRY', # for DUCET v6.2.0
-02C9 ; [.0000.0199.0002.02C9] # MODIFIER LETTER MACRON
-02CA ; [.019A.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
-02C7 ; [.019B.0020.0002.02C7] # CARON
-02CB ; [.019C.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
-02D9 ; [.019D.0020.0002.02D9] # DOT ABOVE
-02EA ; [.019E.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB ; [.019F.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
-0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-FDD0 3105 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER B>
-2E8A ; [.80B5.0020.0002.2E8A] # CJK RADICAL DIVINATION
-FDD0 3106 ; [.83B1.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER P>
-FDD0 3107 ; [.8626.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER M>
-FDD0 3108 ; [.897F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER F>
-2ECF ; [.8BC0.0020.0002.2ECF] # CJK RADICAL CITY
-2ED6 ; [.8BC1.0020.0002.2ED6] # CJK RADICAL MOUND TWO
-FDD0 3109 ; [.8C0D.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER D>
-2E88 ; [.8C86.0020.0002.2E88] # CJK RADICAL KNIFE ONE
-FDD0 310A ; [.901F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER T>
-FDD0 310B ; [.93D9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER N>
-2EA7 ; [.9525.0020.0002.2EA7] # CJK RADICAL COW
-FDD0 310C ; [.95D9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER L>
-3007 ; [.9A41.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-FDD0 310D ; [.9C5F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER G>
-2EE3 ; [.9E0A.0020.0002.2EE3] # CJK RADICAL BONE
-FDD0 310E ; [.9FD2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER K>
-FDD0 310F ; [.A223.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER H>
-FDD0 3110 ; [.A697.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER J>
-2E95 ; [.A762.0020.0002.2E95] # CJK RADICAL SNOUT TWO
-2E86 ; [.AD18.0020.0002.2E86] # CJK RADICAL BOX
-FDD0 3111 ; [.AD38.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER Q>
-FDD0 3112 ; [.B164.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER X>
-2E8C ; [.B383.0020.0002.2E8C] # CJK RADICAL SMALL ONE
-2E8D ; [.B384.0020.0002.2E8D] # CJK RADICAL SMALL TWO
-FDD0 3113 ; [.B6E9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ZH>
-2EA5 ; [.B8AC.0020.0002.2EA5] # CJK RADICAL PAW TWO
-FDD0 3114 ; [.BBAC.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER CH>
-2ECC ; [.BE9D.0020.0002.2ECC] # CJK RADICAL SIMPLIFIED WALK
-2ECD ; [.BE9E.0020.0002.2ECD] # CJK RADICAL WALK ONE
-FDD0 3115 ; [.BF5A.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER SH>
-2EAC ; [.BFBC.0020.0002.2EAC] # CJK RADICAL SPIRIT ONE
-2EAE ; [.BFC1.0020.0002.2EAE] # CJK RADICAL BAMBOO
-FDD0 3116 ; [.C2A2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER R>
-2E9C ; [.C2A3.0020.0002.2E9C] # CJK RADICAL SUN
-2EBC ; [.C2D3.0020.0002.2EBC] # CJK RADICAL MEAT
-2EB6 ; [.C311.0020.0002.2EB6] # CJK RADICAL SHEEP
-FDD0 3117 ; [.C402.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER Z>
-FDD0 3118 ; [.C630.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER C>
-2EBE ; [.C6CA.0020.0002.2EBE] # CJK RADICAL GRASS ONE
-FDD0 3119 ; [.C7F6.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER S>
-FDD0 311A ; [.CA13.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER A>
-FDD0 311B ; [.CA19.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER O>
-FDD0 311C ; [.CA1E.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER E>
-FDD0 311E ; [.CAA0.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AI>
-FDD0 311F ; [.CAE8.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER EI>
-FDD0 3120 ; [.CAEB.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AU>
-FDD0 3121 ; [.CB2E.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER OU>
-FDD0 3122 ; [.CB51.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AN>
-FDD0 3123 ; [.CB8B.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER EN>
-FDD0 3124 ; [.CB94.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ANG>
-FDD0 3125 ; [.CBA0.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ENG>
-FDD0 3126 ; [.CBA2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ER>
-FDD0 3127 ; [.CBDB.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER I>
-2E84 ; [.CDB5.0020.0002.2E84] # CJK RADICAL SECOND THREE
-2E80 ; [.CEDF.0020.0002.2E80] # CJK RADICAL REPEAT
-FDD0 3128 ; [.D16F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER U>
-FDD0 3129 ; [.D403.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER IU>
-2ED7 ; [.D47E.0020.0002.2ED7] # CJK RADICAL RAIN
-2E9D ; [.D53B.0020.0002.2E9D] # CJK RADICAL MOON
-3220 ; [*02FB.0020.0004.3220][.CBDC.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
-3226 ; [*02FB.0020.0004.3226][.AD39.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
-3222 ; [*02FB.0020.0004.3222][.C8DF.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
-3228 ; [*02FB.0020.0004.3228][.A95D.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
-3221 ; [*02FB.0020.0004.3221][.CBCD.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
-3224 ; [*02FB.0020.0004.3224][.D1A9.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
-3239 ; [*02FB.0020.0004.3239][.8C57.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D ; [*02FB.0020.0004.323D][.ADC1.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241 ; [*02FB.0020.0004.3241][.B3A8.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
-3227 ; [*02FB.0020.0004.3227][.8001.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
-3225 ; [*02FB.0020.0004.3225][.9953.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
-3238 ; [*02FB.0020.0004.3238][.969E.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
-3229 ; [*02FB.0020.0004.3229][.BF85.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
-323F ; [*02FB.0020.0004.323F][.B2BC.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234 ; [*02FB.0020.0004.3234][.892A.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
-323A ; [*02FB.0020.0004.323A][.A3B5.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
-3223 ; [*02FB.0020.0004.3223][.C82E.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
-322F ; [*02FB.0020.0004.322F][.92EA.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
-323B ; [*02FB.0020.0004.323B][.B5F0.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
-3230 ; [*02FB.0020.0004.3230][.C2A4.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
-322A ; [*02FB.0020.0004.322A][.D53C.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
-3232 ; [*02FB.0020.0004.3232][.CEC7.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
-322D ; [*02FB.0020.0004.322D][.895F.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
-3231 ; [*02FB.0020.0004.3231][.BA36.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
-322C ; [*02FB.0020.0004.322C][.C26E.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
-322B ; [*02FB.0020.0004.322B][.A48C.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
-3235 ; [*02FB.0020.0004.3235][.9060.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C ; [*02FB.0020.0004.323C][.A9B3.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233 ; [*02FB.0020.0004.3233][.C05E.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237 ; [*02FB.0020.0004.3237][.BA90.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240 ; [*02FB.0020.0004.3240][.A78C.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242 ; [*02FB.0020.0004.3242][.C457.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
-3243 ; [*02FB.0020.0004.3243][.B766.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
-3236 ; [*02FB.0020.0004.3236][.C69F.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E ; [*02FB.0020.0004.323E][.C421.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E ; [*02FB.0020.0004.322E][.AA72.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
-3358 ; [.15E5.0020.0004.3358][.8E99.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9 ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.C2A4.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9 ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.D53C.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362 ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.8E99.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.C2A4.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.D53C.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363 ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.8E99.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.C2A4.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.D53C.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364 ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.8E99.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.C2A4.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365 ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.8E99.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.C2A4.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366 ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.8E99.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.C2A4.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367 ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.8E99.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.C2A4.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368 ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.8E99.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0 ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.C2A4.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369 ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.8E99.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1 ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.C2A4.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.8E99.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2 ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.C2A4.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.8E99.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0 ; [.15E6.0020.0004.33E0][.C2A4.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0 ; [.15E6.0020.0004.32C0][.D53C.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359 ; [.15E6.0020.0004.3359][.8E99.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3 ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.C2A4.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.8E99.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4 ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.C2A4.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.8E99.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5 ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.C2A4.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.8E99.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6 ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.C2A4.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.8E99.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7 ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.C2A4.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370 ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.8E99.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8 ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.C2A4.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.C2A4.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.C2A4.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.C2A4.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.C2A4.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1 ; [.15E7.0020.0004.33E1][.C2A4.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1 ; [.15E7.0020.0004.32C1][.D53C.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A ; [.15E7.0020.0004.335A][.8E99.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.C2A4.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.C2A4.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2 ; [.15E8.0020.0004.33E2][.C2A4.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2 ; [.15E8.0020.0004.32C2][.D53C.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B ; [.15E8.0020.0004.335B][.8E99.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3 ; [.15E9.0020.0004.33E3][.C2A4.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3 ; [.15E9.0020.0004.32C3][.D53C.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C ; [.15E9.0020.0004.335C][.8E99.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4 ; [.15EA.0020.0004.33E4][.C2A4.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4 ; [.15EA.0020.0004.32C4][.D53C.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D ; [.15EA.0020.0004.335D][.8E99.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5 ; [.15EB.0020.0004.33E5][.C2A4.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5 ; [.15EB.0020.0004.32C5][.D53C.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E ; [.15EB.0020.0004.335E][.8E99.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6 ; [.15EC.0020.0004.33E6][.C2A4.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6 ; [.15EC.0020.0004.32C6][.D53C.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F ; [.15EC.0020.0004.335F][.8E99.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7 ; [.15ED.0020.0004.33E7][.C2A4.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7 ; [.15ED.0020.0004.32C7][.D53C.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360 ; [.15ED.0020.0004.3360][.8E99.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8 ; [.15EE.0020.0004.33E8][.C2A4.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8 ; [.15EE.0020.0004.32C8][.D53C.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361 ; [.15EE.0020.0004.3361][.8E99.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241 ; [*0359.0020.0004.1F241][.C8DF.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 ; [*0359.0020.0004.1F242][.CBCD.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247 ; [*0359.0020.0004.1F247][.C1CC.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243 ; [*0359.0020.0004.1F243][.CB52.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245 ; [*0359.0020.0004.1F245][.8C38.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248 ; [*0359.0020.0004.1F248][.80CD.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240 ; [*0359.0020.0004.1F240][.819A.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244 ; [*0359.0020.0004.1F244][.8E99.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246 ; [*0359.0020.0004.1F246][.8CA9.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-2F00 ; [.CBDC.0020.0004.2F00] # KANGXI RADICAL ONE
-3192 ; [.CBDC.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
-3280 ; [.CBDC.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
-1F229 ; [.CBDC.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-319C ; [.8EC1.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3286 ; [.AD39.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
-3194 ; [.C8DF.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
-3282 ; [.C8DF.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
-1F22A ; [.C8DF.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-3196 ; [.C19C.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
-32A4 ; [.C19C.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
-3198 ; [.B2A0.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-32A6 ; [.B2A0.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
-319B ; [.8355.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
-2F01 ; [.9F64.0020.0004.2F01] # KANGXI RADICAL LINE
-3197 ; [.BB6D.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-32A5 ; [.BB6D.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
-1F22D ; [.BB6D.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-2F02 ; [.BA6A.0020.0004.2F02] # KANGXI RADICAL DOT
-2F03 ; [.8558.0020.0004.2F03] # KANGXI RADICAL SLASH
-2F04 ; [.CC59.0020.0004.2F04] # KANGXI RADICAL SECOND
-319A ; [.CC59.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
-3288 ; [.A95D.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
-2F05 ; [.AC3C.0020.0004.2F05] # KANGXI RADICAL HOOK
-2F06 ; [.CBCD.0020.0004.2F06] # KANGXI RADICAL TWO
-3193 ; [.CBCD.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
-3281 ; [.CBCD.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
-1F214 ; [.CBCD.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3284 ; [.D1A9.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
-2F07 ; [.90D4.0020.0004.2F07] # KANGXI RADICAL LID
-1F218 ; [.A8BE.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-2F08 ; [.C2EF.0020.0004.2F08] # KANGXI RADICAL MAN
-319F ; [.C2EF.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
-32AD ; [.ADC1.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
-32A1 ; [.B3A8.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
-329D ; [.CE97.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
-2F09 ; [.CBA3.0020.0004.2F09] # KANGXI RADICAL LEGS
-2F0A ; [.C376.0020.0004.2F0A] # KANGXI RADICAL ENTER
-2F0B ; [.8001.0020.0004.2F0B] # KANGXI RADICAL EIGHT
-3287 ; [.8001.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
-3285 ; [.9953.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
-2F0C ; [.AD19.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
-1F21E ; [.C4C2.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
-2F0D ; [.8867.0020.0004.2F0D] # KANGXI RADICAL COVER
-32A2 ; [.B2E9.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
-2F0E ; [.834E.0020.0004.2F0E] # KANGXI RADICAL ICE
-2F0F ; [.A74C.0020.0004.2F0F] # KANGXI RADICAL TABLE
-2F10 ; [.AF59.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
-2F11 ; [.8C87.0020.0004.2F11] # KANGXI RADICAL KNIFE
-1F220 ; [.BE3B.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F21C ; [.AF3B.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F239 ; [.9C7B.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
-2F12 ; [.9804.0020.0004.2F12] # KANGXI RADICAL POWER
-3298 ; [.969E.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
-2F13 ; [.811A.0020.0004.2F13] # KANGXI RADICAL WRAP
-2F14 ; [.81FC.0020.0004.2F14] # KANGXI RADICAL SPOON
-2F15 ; [.8A9F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; [.B224.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
-32A9 ; [.CBE1.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
-2F17 ; [.BF85.0020.0004.2F17] # KANGXI RADICAL TEN
-3038 ; [.BF85.0020.0004.3038] # HANGZHOU NUMERAL TEN
-3289 ; [.BF85.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
-3039 ; [.954F.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
-303A ; [.C861.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
-32AF ; [.B2BC.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
-2F18 ; [.80B6.0020.0004.2F18] # KANGXI RADICAL DIVINATION
-2F19 ; [.A84F.0020.0004.2F19] # KANGXI RADICAL SEAL
-329E ; [.D06B.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
-2F1A ; [.BDC0.0020.0004.2F1A] # KANGXI RADICAL CLIFF
-2F1B ; [.C7F7.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
-2F1C ; [.CEE0.0020.0004.2F1C] # KANGXI RADICAL AGAIN
-1F212 ; [.C28A.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-2F1D ; [.A070.0020.0004.2F1D] # KANGXI RADICAL MOUTH
-1F251 ; [.A007.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
-32A8 ; [.CEE1.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
-1F22E ; [.CEE1.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F234 ; [.A232.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3294 ; [.892A.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
-1F225 ; [.BEBE.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
-3244 ; [.D3B7.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
-1F23A ; [.D120.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
-2F1E ; [.D27D.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
-3195 ; [.C82E.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
-3283 ; [.C82E.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
-2F1F ; [.92EA.0020.0004.2F1F] # KANGXI RADICAL EARTH
-328F ; [.92EA.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
-319E ; [.8C4B.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
-2F20 ; [.BFB5.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
-1F224 ; [.C1A8.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-2F21 ; [.B740.0020.0004.2F21] # KANGXI RADICAL GO
-2F22 ; [.C986.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
-2F23 ; [.B165.0020.0004.2F23] # KANGXI RADICAL EVENING
-1F215 ; [.8F35.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
-32B0 ; [.CDD7.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
-2F24 ; [.8C39.0020.0004.2F24] # KANGXI RADICAL BIG
-337D ; [.8C39.0020.001C.337D][.BA1E.0020.001C.337D] # SQUARE ERA NAME TAISYOU
-319D ; [.923B.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-1F217 ; [.923B.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
-2F25 ; [.95CC.0020.0004.2F25] # KANGXI RADICAL WOMAN
-329B ; [.95CC.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
-2F26 ; [.C466.0020.0004.2F26] # KANGXI RADICAL CHILD
-1F211 ; [.C456.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-32AB ; [.B5F0.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
-2F27 ; [.88BF.0020.0004.2F27] # KANGXI RADICAL ROOF
-32AA ; [.C5ED.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
-2F28 ; [.C7B4.0020.0004.2F28] # KANGXI RADICAL INCH
-2F29 ; [.B385.0020.0004.2F29] # KANGXI RADICAL SMALL
-2F2A ; [.CE9E.0020.0004.2F2A] # KANGXI RADICAL LAME
-2F2B ; [.BF5B.0020.0004.2F2B] # KANGXI RADICAL CORPSE
-2F2C ; [.BC63.0020.0004.2F2C] # KANGXI RADICAL SPROUT
-2F2D ; [.C0C5.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
-2F2E ; [.BED1.0020.0004.2F2E] # KANGXI RADICAL RIVER
-2F2F ; [.9F9E.0020.0004.2F2F] # KANGXI RADICAL WORK
-32A7 ; [.C593.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
-1F22C ; [.C593.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-2F30 ; [.A74D.0020.0004.2F30] # KANGXI RADICAL ONESELF
-2F31 ; [.AA6D.0020.0004.2F31] # KANGXI RADICAL TURBAN
-2F32 ; [.9D7F.0020.0004.2F32] # KANGXI RADICAL DRY
-337B ; [.85BF.0020.001C.337B][.BDFC.0020.001C.337B] # SQUARE ERA NAME HEISEI
-2F33 ; [.CE11.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
-3245 ; [.CEE2.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
-2F34 ; [.9F8F.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
-2F35 ; [.D04E.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
-2F36 ; [.9FBB.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
-2F37 ; [.CC86.0020.0004.2F37] # KANGXI RADICAL SHOOT
-2F38 ; [.9F9F.0020.0004.2F38] # KANGXI RADICAL BOW
-2F39 ; [.A763.0020.0004.2F39] # KANGXI RADICAL SNOUT
-2F3A ; [.C0C6.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
-2F3B ; [.BBF9.0020.0004.2F3B] # KANGXI RADICAL STEP
-1F21D ; [.A30D.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F250 ; [.8C4D.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
-2F3C ; [.B4AB.0020.0004.2F3C] # KANGXI RADICAL HEART
-2F3D ; [.9C6C.0020.0004.2F3D] # KANGXI RADICAL HALBERD
-2F3E ; [.A40C.0020.0004.2F3E] # KANGXI RADICAL DOOR
-2F3F ; [.C0AE.0020.0004.2F3F] # KANGXI RADICAL HAND
-1F210 ; [.C0AE.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F231 ; [.8C38.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F227 ; [.90D6.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F22F ; [.B753.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F228 ; [.838E.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
-2F40 ; [.B6EB.0020.0004.2F40] # KANGXI RADICAL BRANCH
-2F41 ; [.85EC.0020.0004.2F41] # KANGXI RADICAL RAP
-2F42 ; [.D38D.0020.0004.2F42] # KANGXI RADICAL SCRIPT
-3246 ; [.D38D.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
-2F43 ; [.8CCF.0020.0004.2F43] # KANGXI RADICAL DIPPER
-1F21B ; [.9905.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
-2F44 ; [.AA6F.0020.0004.2F44] # KANGXI RADICAL AXE
-1F21F ; [.B4BC.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-2F45 ; [.8AA0.0020.0004.2F45] # KANGXI RADICAL SQUARE
-2F46 ; [.D18A.0020.0004.2F46] # KANGXI RADICAL NOT
-2F47 ; [.C2A4.0020.0004.2F47] # KANGXI RADICAL SUN
-3290 ; [.C2A4.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
-337E ; [.892B.0020.001C.337E][.B773.0020.001C.337E] # SQUARE ERA NAME MEIZI
-1F219 ; [.D15D.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
-337C ; [.B884.0020.001C.337C][.A237.0020.001C.337C] # SQUARE ERA NAME SYOUWA
-2F48 ; [.D533.0020.0004.2F48] # KANGXI RADICAL SAY
-2F49 ; [.D53C.0020.0004.2F49] # KANGXI RADICAL MOON
-328A ; [.D53C.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
-1F237 ; [.D53C.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-3292 ; [.CEC7.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
-1F236 ; [.CEC7.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
-2F4A ; [.895F.0020.0004.2F4A] # KANGXI RADICAL TREE
-328D ; [.895F.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
-3291 ; [.BA36.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
-337F ; [.BA36.0020.001C.337F][.BFBF.0020.001C.337F][.A51A.0020.001C.337F][.C05E.0020.001C.337F] # SQUARE CORPORATION
-2F4B ; [.AF68.0020.0004.2F4B] # KANGXI RADICAL LACK
-2F4C ; [.B741.0020.0004.2F4C] # KANGXI RADICAL STOP
-32A3 ; [.BA1E.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
-2F4D ; [.8C53.0020.0004.2F4D] # KANGXI RADICAL DEATH
-2F4E ; [.C1D9.0020.0004.2F4E] # KANGXI RADICAL WEAPON
-2F4F ; [.D18B.0020.0004.2F4F] # KANGXI RADICAL DO NOT
-2E9F ; [.894D.0020.0004.2E9F] # CJK RADICAL MOTHER
-2F50 ; [.81FD.0020.0004.2F50] # KANGXI RADICAL COMPARE
-2F51 ; [.8727.0020.0004.2F51] # KANGXI RADICAL FUR
-2F52 ; [.BFB6.0020.0004.2F52] # KANGXI RADICAL CLAN
-2F53 ; [.ADDA.0020.0004.2F53] # KANGXI RADICAL STEAM
-2F54 ; [.C26E.0020.0004.2F54] # KANGXI RADICAL WATER
-328C ; [.C26E.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
-329F ; [.BA84.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
-1F235 ; [.8793.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
-1F226 ; [.CF75.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-2F55 ; [.A48C.0020.0004.2F55] # KANGXI RADICAL FIRE
-328B ; [.A48C.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
-1F21A ; [.D19A.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
-2F56 ; [.B88D.0020.0004.2F56] # KANGXI RADICAL CLAW
-2F57 ; [.8BC3.0020.0004.2F57] # KANGXI RADICAL FATHER
-2F58 ; [.CE21.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
-2F59 ; [.8453.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
-2F5A ; [.8593.0020.0004.2F5A] # KANGXI RADICAL SLICE
-2F5B ; [.CD78.0020.0004.2F5B] # KANGXI RADICAL FANG
-2F5C ; [.9526.0020.0004.2F5C] # KANGXI RADICAL COW
-3295 ; [.9060.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
-2F5D ; [.B123.0020.0004.2F5D] # KANGXI RADICAL DOG
-2F5E ; [.B63A.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
-2F5F ; [.D4A7.0020.0004.2F5F] # KANGXI RADICAL JADE
-2F60 ; [.9E4D.0020.0004.2F60] # KANGXI RADICAL MELON
-2F61 ; [.D216.0020.0004.2F61] # KANGXI RADICAL TILE
-2F62 ; [.9D4E.0020.0004.2F62] # KANGXI RADICAL SWEET
-2F63 ; [.C1A6.0020.0004.2F63] # KANGXI RADICAL LIFE
-1F222 ; [.C1A6.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
-2F64 ; [.D68B.0020.0004.2F64] # KANGXI RADICAL USE
-2F65 ; [.9245.0020.0004.2F65] # KANGXI RADICAL FIELD
-3199 ; [.A814.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
-1F238 ; [.C125.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
-329A ; [.9459.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
-2F66 ; [.852E.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
-2F67 ; [.93F9.0020.0004.2F67] # KANGXI RADICAL SICKNESS
-2F68 ; [.8046.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
-2F69 ; [.80BD.0020.0004.2F69] # KANGXI RADICAL WHITE
-2F6A ; [.8504.0020.0004.2F6A] # KANGXI RADICAL SKIN
-2F6B ; [.890B.0020.0004.2F6B] # KANGXI RADICAL DISH
-32AC ; [.A9B3.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
-2F6C ; [.8962.0020.0004.2F6C] # KANGXI RADICAL EYE
-2F6D ; [.8728.0020.0004.2F6D] # KANGXI RADICAL SPEAR
-2F6E ; [.BFA9.0020.0004.2F6E] # KANGXI RADICAL ARROW
-2F6F ; [.BF87.0020.0004.2F6F] # KANGXI RADICAL STONE
-2F70 ; [.BFBD.0020.0004.2F70] # KANGXI RADICAL SPIRIT
-3293 ; [.C05E.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
-3297 ; [.BA90.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
-1F232 ; [.AAB2.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
-2F71 ; [.C2BD.0020.0004.2F71] # KANGXI RADICAL TRACK
-2F72 ; [.A231.0020.0004.2F72] # KANGXI RADICAL GRAIN
-3299 ; [.8871.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
-2F73 ; [.B5ED.0020.0004.2F73] # KANGXI RADICAL CAVE
-1F233 ; [.A211.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-2F74 ; [.9808.0020.0004.2F74] # KANGXI RADICAL STAND
-2F75 ; [.BA53.0020.0004.2F75] # KANGXI RADICAL BAMBOO
-3247 ; [.BA0D.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
-2F76 ; [.8856.0020.0004.2F76] # KANGXI RADICAL RICE
-2F77 ; [.8868.0020.0004.2F77] # KANGXI RADICAL SILK
-1F221 ; [.BB7F.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-2F78 ; [.89F6.0020.0004.2F78] # KANGXI RADICAL JAR
-2F79 ; [.D3D1.0020.0004.2F79] # KANGXI RADICAL NET
-2F7A ; [.D08F.0020.0004.2F7A] # KANGXI RADICAL SHEEP
-2F7B ; [.D47D.0020.0004.2F7B] # KANGXI RADICAL FEATHER
-2F7C ; [.96B7.0020.0004.2F7C] # KANGXI RADICAL OLD
-2F7D ; [.CBA4.0020.0004.2F7D] # KANGXI RADICAL AND
-2F7E ; [.966B.0020.0004.2F7E] # KANGXI RADICAL PLOW
-2F7F ; [.CBBF.0020.0004.2F7F] # KANGXI RADICAL EAR
-2F80 ; [.D4AA.0020.0004.2F80] # KANGXI RADICAL BRUSH
-2F81 ; [.C2D4.0020.0004.2F81] # KANGXI RADICAL MEAT
-2F82 ; [.BD5B.0020.0004.2F82] # KANGXI RADICAL MINISTER
-2F83 ; [.C457.0020.0004.2F83] # KANGXI RADICAL SELF
-2F84 ; [.B766.0020.0004.2F84] # KANGXI RADICAL ARRIVE
-2F85 ; [.A96D.0020.0004.2F85] # KANGXI RADICAL MORTAR
-2F86 ; [.C053.0020.0004.2F86] # KANGXI RADICAL TONGUE
-2F87 ; [.BEE4.0020.0004.2F87] # KANGXI RADICAL OPPOSE
-2F88 ; [.B8B0.0020.0004.2F88] # KANGXI RADICAL BOAT
-2F89 ; [.9D94.0020.0004.2F89] # KANGXI RADICAL STOPPING
-2F8A ; [.C870.0020.0004.2F8A] # KANGXI RADICAL COLOR
-2F8B ; [.C6C2.0020.0004.2F8B] # KANGXI RADICAL GRASS
-2F8C ; [.A3B4.0020.0004.2F8C] # KANGXI RADICAL TIGER
-2F8D ; [.BF4A.0020.0004.2F8D] # KANGXI RADICAL INSECT
-2F8E ; [.B604.0020.0004.2F8E] # KANGXI RADICAL BLOOD
-2F8F ; [.B543.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
-2F90 ; [.CBE0.0020.0004.2F90] # KANGXI RADICAL CLOTHES
-2F91 ; [.CD9C.0020.0004.2F91] # KANGXI RADICAL WEST
-2F92 ; [.AA1C.0020.0004.2F92] # KANGXI RADICAL SEE
-2F93 ; [.A8EB.0020.0004.2F93] # KANGXI RADICAL HORN
-1F216 ; [.A898.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-2F94 ; [.CF21.0020.0004.2F94] # KANGXI RADICAL SPEECH
-2F95 ; [.9E07.0020.0004.2F95] # KANGXI RADICAL VALLEY
-2F96 ; [.8CD0.0020.0004.2F96] # KANGXI RADICAL BEAN
-2F97 ; [.BFAB.0020.0004.2F97] # KANGXI RADICAL PIG
-2F98 ; [.B76C.0020.0004.2F98] # KANGXI RADICAL BADGER
-2F99 ; [.80EB.0020.0004.2F99] # KANGXI RADICAL SHELL
-3296 ; [.C69F.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
-1F223 ; [.8A4B.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-32AE ; [.C421.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
-2F9A ; [.BBFE.0020.0004.2F9A] # KANGXI RADICAL RED
-2F9B ; [.C50C.0020.0004.2F9B] # KANGXI RADICAL RUN
-1F230 ; [.C50C.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-2F9C ; [.C571.0020.0004.2F9C] # KANGXI RADICAL FOOT
-2F9D ; [.C129.0020.0004.2F9D] # KANGXI RADICAL BODY
-2F9E ; [.BC58.0020.0004.2F9E] # KANGXI RADICAL CART
-2F9F ; [.B4AE.0020.0004.2F9F] # KANGXI RADICAL BITTER
-2FA0 ; [.BD5F.0020.0004.2FA0] # KANGXI RADICAL MORNING
-2FA1 ; [.BEA0.0020.0004.2FA1] # KANGXI RADICAL WALK
-1F22B ; [.CEBC.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
-329C ; [.BFFC.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
-2FA2 ; [.CC9C.0020.0004.2FA2] # KANGXI RADICAL CITY
-2FA3 ; [.CECA.0020.0004.2FA3] # KANGXI RADICAL WINE
-2FA4 ; [.8308.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
-2FA5 ; [.97EB.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
-2FA6 ; [.AA72.0020.0004.2FA6] # KANGXI RADICAL GOLD
-328E ; [.AA72.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
-2FA7 ; [.B9D1.0020.0004.2FA7] # KANGXI RADICAL LONG
-2FA8 ; [.87B7.0020.0004.2FA8] # KANGXI RADICAL GATE
-2FA9 ; [.8BCB.0020.0004.2FA9] # KANGXI RADICAL MOUND
-2FAA ; [.9819.0020.0004.2FAA] # KANGXI RADICAL SLAVE
-2FAB ; [.BAFD.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
-2FAC ; [.D47F.0020.0004.2FAC] # KANGXI RADICAL RAIN
-2FAD ; [.B01B.0020.0004.2FAD] # KANGXI RADICAL BLUE
-2FAE ; [.89A9.0020.0004.2FAE] # KANGXI RADICAL WRONG
-2FAF ; [.88EB.0020.0004.2FAF] # KANGXI RADICAL FACE
-2FB0 ; [.9C8F.0020.0004.2FB0] # KANGXI RADICAL LEATHER
-2FB1 ; [.D288.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
-2FB2 ; [.A965.0020.0004.2FB2] # KANGXI RADICAL LEEK
-2FB3 ; [.CFF8.0020.0004.2FB3] # KANGXI RADICAL SOUND
-2FB4 ; [.CDDC.0020.0004.2FB4] # KANGXI RADICAL LEAF
-32A0 ; [.B520.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
-2FB5 ; [.8AD5.0020.0004.2FB5] # KANGXI RADICAL WIND
-2FB6 ; [.89AA.0020.0004.2FB6] # KANGXI RADICAL FLY
-2FB7 ; [.BF93.0020.0004.2FB7] # KANGXI RADICAL EAT
-2FB8 ; [.C0B1.0020.0004.2FB8] # KANGXI RADICAL HEAD
-2FB9 ; [.B4E1.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
-2FBA ; [.8637.0020.0004.2FBA] # KANGXI RADICAL HORSE
-2FBB ; [.9E10.0020.0004.2FBB] # KANGXI RADICAL BONE
-2FBC ; [.9CEC.0020.0004.2FBC] # KANGXI RADICAL TALL
-2FBD ; [.82AD.0020.0004.2FBD] # KANGXI RADICAL HAIR
-2FBE ; [.8CD4.0020.0004.2FBE] # KANGXI RADICAL FIGHT
-2FBF ; [.BDCE.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; [.9C94.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
-2FC1 ; [.9EF1.0020.0004.2FC1] # KANGXI RADICAL GHOST
-2FC2 ; [.D436.0020.0004.2FC2] # KANGXI RADICAL FISH
-2FC3 ; [.9519.0020.0004.2FC3] # KANGXI RADICAL BIRD
-2FC4 ; [.9AD5.0020.0004.2FC4] # KANGXI RADICAL SALT
-2FC5 ; [.9AFD.0020.0004.2FC5] # KANGXI RADICAL DEER
-2FC6 ; [.86CC.0020.0004.2FC6] # KANGXI RADICAL WHEAT
-2FC7 ; [.862D.0020.0004.2FC7] # KANGXI RADICAL HEMP
-2FC8 ; [.A607.0020.0004.2FC8] # KANGXI RADICAL YELLOW
-2FC9 ; [.C20C.0020.0004.2FC9] # KANGXI RADICAL MILLET
-2FCA ; [.A2AD.0020.0004.2FCA] # KANGXI RADICAL BLACK
-2FCB ; [.B762.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
-2FCC ; [.88E4.0020.0004.2FCC] # KANGXI RADICAL FROG
-2FCD ; [.8ED2.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
-2FCE ; [.9E1D.0020.0004.2FCE] # KANGXI RADICAL DRUM
-2FCF ; [.C210.0020.0004.2FCF] # KANGXI RADICAL RAT
-2FD0 ; [.81FB.0020.0004.2FD0] # KANGXI RADICAL NOSE
-2FD1 ; [.ADA1.0020.0004.2FD1] # KANGXI RADICAL EVEN
-2FD2 ; [.BBF7.0020.0004.2FD2] # KANGXI RADICAL TOOTH
-2FD3 ; [.9BE4.0020.0004.2FD3] # KANGXI RADICAL DRAGON
-2FD4 ; [.9ED7.0020.0004.2FD4] # KANGXI RADICAL TURTLE
-2EF3 ; [.9EB8.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
-2FD5 ; [.D560.0020.0004.2FD5] # KANGXI RADICAL FLUTE
-F967 ; [.8392.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.836F.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.BEEB.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.D334.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.8CEB.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.980B.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F802 ; [.CC07.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
-F91B ; [.9BA8.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.9615.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.9A32.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.C151.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-2F819 ; [.834F.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
-F9A8 ; [.9A9B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.94AF.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.B546.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.9619.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.9811.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.D1B4.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.D1B4.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.935A.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.830C.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.8373.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.9BB2.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.C477.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.80FF.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.B522.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.98D4.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.C90E.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.C90E.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.D1CB.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.BF37.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.88D2.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.88D2.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.92F0.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; [.A627.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F814 ; [.9422.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.B0F4.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.9A28.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.9953.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.ABF3.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.A7A9.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.C4C2.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.874F.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.88DA.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.C3F9.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.D571.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.8FE3.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.A1F5.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.A1F5.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.9793.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.9A18.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.9A51.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.99F8.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.B1BC.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81D ; [.AF59.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.C305.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.AE24.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.AE24.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.98A1.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.980C.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.C66A.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.A014.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.9B64.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; [.9C7B.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.BD2E.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.9926.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.9804.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.98A2.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.969D.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
-FA76 ; [.D671.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.D671.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.88D5.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.88D5.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.964C.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.96A5.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.AFAD.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.AFAD.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.985C.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.C096.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.C096.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.811B.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.C7B7.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.80E5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.80E5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.94CA.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.A518.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.80D7.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.80D7.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.807E.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.A6FF.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.9BA5.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.A70A.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.C6D2.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.A6FB.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.C8D2.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.ABEE.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.A922.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.BBFA.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.CE13.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.9809.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.9A03.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.B16A.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.9C24.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.BDFE.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.B8B3.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F83C ; [.B473.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F840 ; [.CA56.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.CF9A.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F841 ; [.8891.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; [.9144.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.ADCE.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-FA79 ; [.90B6.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.B415.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.C100.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.C100.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.95E6.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.A52B.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.A52B.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.A22D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.A22D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.BBB6.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.B7F6.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA0D ; [.A422.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.CE34.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.D21D.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.912C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.912C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84E ; [.A2BD.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
-FA38 ; [.ADFD.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.847B.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.9A44.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.92DB.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84D ; [.92DC.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F855 ; [.B548.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.BE03.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.B720.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.92F2.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.8151.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.C642.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA39 ; [.85EA.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.BB92.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.BB92.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.C892.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.86A0.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.8E0D.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.8A7A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.9679.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.9C0B.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F851 ; [.BB63.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85A ; [.86C6.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.A3DA.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C ; [.8AFA.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.8F35.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.882A.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.CF5B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.9410.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.ADE9.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.8193.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.C04A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.95CC.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.8598.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.A6AD.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.D42A.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.935B.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.8232.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.8BDA.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.D15F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.C2B1.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.C657.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.9741.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.9741.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.B874.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.D575.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.B7AB.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.98DC.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.8143.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F872 ; [.C0B3.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.AAD5.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.CE9E.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.9522.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.92CA.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.9C34.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.C71D.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.9C36.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.BC63.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.BC63.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.AEFF.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F879 ; [.B3C8.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.9BB6.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.CF66.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.970A.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.C416.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F87E ; [.8E87.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F880 ; [.BD30.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.B1BE.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.9A9A.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.B68C.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.BC98.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.B6C0.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.C26F.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.8758.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.8A7B.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
-F98E ; [.9537.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.8F28.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.8372.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.8233.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.C22B.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.996E.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.9766.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.9766.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.CAF7.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.A11E.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.CCFF.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.9AB9.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.9FBB.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.95C8.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.9097.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.9097.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F874 ; [.8D4C.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.B544.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.C6A8.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.8E55.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.9C41.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-2F89C ; [.8FF3.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
-F966 ; [.8BDF.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.CE36.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.C2FD.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.B768.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.9551.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-2F89F ; [.A1E7.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
-F960 ; [.958F.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.9965.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.A524.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.D572.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.A510.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.A510.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.8FBB.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.D3D6.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.CA70.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.D4DB.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.9846.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.C64C.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.A5FA.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.A5FA.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.C178.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.C178.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA8A ; [.CB23.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.A03D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.96E1.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.997C.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.8A96.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.C6EB.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.B498.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.8803.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.9742.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.9742.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.99C4.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.BDFC.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.A802.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.9B16.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.8C7A.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B4 ; [.A0E3.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 ; [.814B.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.95DB.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.93DB.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.9037.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.801D.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.8599.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.C00F.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.D348.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.ACA2.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.C05A.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.9540.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.C8AF.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.CA67.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.CF63.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.D43E.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.CF39.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.A70F.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.C8BD.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.AAB0.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.8365.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.865D.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.A904.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C4 ; [.AB0A.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-F991 ; [.9546.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.A4F3.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.9ADE.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.8915.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.8915.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.CAF2.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.AB74.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.C23A.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.9905.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.9C2B.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.A775.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-2F8CB ; [.A789.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0 ; [.CCA3.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.AAA5.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.B034.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.B034.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.D5E6.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.C20B.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.C20B.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D5 ; [.AAB8.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-FA06 ; [.8156.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.9855.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.9DDE.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.C1E5.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.C5BD.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.D3E7.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.D3E7.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.C5F8.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-F9E1 ; [.9897.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.82A9.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.B9DA.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.ADC7.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.BCDE.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.A6A7.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.99CA.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.9944.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.9EAD.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.9826.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.8196.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E1 ; [.C902.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-F97A ; [.9A19.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.86DF.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.86DF.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E4 ; [.CAEF.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-F9E2 ; [.979F.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.C417.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.B7F9.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.CE3D.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; [.9CE5.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.96E3.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.C052.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.9AE5.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.B7D3.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.9726.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.C667.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.B58D.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.C9AB.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.9856.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.8C53.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F8F4 ; [.D380.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.99BD.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.AE8A.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8FA ; [.8A3E.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.AF01.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.BD5D.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.CF25.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.886C.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.8194.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.9490.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-2F8FF ; [.D193.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.9B72.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.900E.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.85C8.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.83F9.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.A2D9.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.9781.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.A29A.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.A29A.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.AAA7.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.94E1.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.99D1.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.9688.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.9BB8.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.CF08.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.BA70.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.9DB6.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.CF0D.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.990C.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.94CE.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.8E88.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.C419.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.C419.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.A44F.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-FA98 ; [.D03B.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
-F94E ; [.96FC.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.A368.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.A368.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.9974.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.BCA0.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.8A7C.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.9751.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.9C51.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.D142.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.AB83.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.AB83.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F913 ; [.D563.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.AF57.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F835 ; [.A4D6.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F919 ; [.BB35.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F918 ; [.C4B5.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.B774.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.9126.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.98B0.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.96C6.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-2F91C ; [.8FAD.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-F993 ; [.99B6.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.BA72.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.BA72.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.C7CA.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.98E3.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.99E0.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.9AC1.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.9753.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.C7A8.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA49 ; [.B8AD.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA9E ; [.AC81.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.AC81.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 ; [.B809.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
-F946 ; [.969F.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.B19A.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.810B.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
-FA9F ; [.8A3C.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.BB66.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.975E.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.BA3A.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.BA3A.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.98C3.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.9034.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.9C43.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.9C43.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.D3CA.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92B ; [.D544.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.9A4F.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.9B76.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.97F2.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.9914.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.C58E.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92E ; [.8C72.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; [.D44E.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.D131.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.B9AB.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.B9AB.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.C979.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.999F.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.99E1.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.B15E.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-FAA2 ; [.C64D.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
-2F934 ; [.C397.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
-FAA3 ; [.A462.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.C4B7.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.9915.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.CA68.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.CCD0.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.CCD0.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.983F.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.D494.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.9F2F.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.D382.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.98E8.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.9649.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.CCC7.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.CCC7.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.C1CA.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.9AB5.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.B71A.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.B71A.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.C1C2.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.B959.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.B95A.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.B95A.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.B869.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAA9 ; [.ACC5.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.ACC5.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.BD55.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.AE77.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.B54F.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.9918.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.9B0A.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.9B0A.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.80DF.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.9673.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.9259.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.9259.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.845F.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.9878.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA18 ; [.97EA.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.C05E.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.AD73.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.B757.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.CEF0.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.C583.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.C583.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.BA90.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.C153.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.B4FF.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.9B0B.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.A4A7.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.B971.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.8B8D.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.8B8D.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.97FC.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995 ; [.9538.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957 ; [.C201.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.978F.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.9E24.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.9E24.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.A79C.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; [.D3B2.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-FA55 ; [.92B6.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.9231.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.9808.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F95F ; [.85BC.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-F9F8 ; [.9833.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.A87C.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.A87C.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.BB3E.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.BA5F.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.9992.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.9BF8.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-FAAE ; [.9686.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.9834.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.AB32.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.8114.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.915F.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F969 ; [.C8EE.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
-F97B ; [.9A24.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.AB10.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F96A ; [.A778.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.952E.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.C970.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.9689.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.90A1.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.81D3.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.9C4A.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.9A73.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.C427.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-2F96F ; [.C61F.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
-FA58 ; [.AAC3.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.9C3C.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.8A28.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.C8A7.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.85D7.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.C20E.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.97C3.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.BCA2.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.9B52.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F978 ; [.D0D3.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.9A62.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.D47D.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979 ; [.CB06.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.96B7.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.9A64.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-2F97D ; [.85BA.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
-F997 ; [.9989.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.C7D5.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.9BF9.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.9600.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.93E7.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.D4B0.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; [.C780.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F985 ; [.851D.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.95F4.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.99E7.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.BCE6.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.D42F.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.D42F.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.B23F.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-FA6D ; [.9F3F.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-F97C ; [.9A16.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-FA5D ; [.C6CB.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.C6CB.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2F990 ; [.D4AD.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.ADCA.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.B6F7.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.A43F.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.8AA5.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.CD7E.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.C386.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.C386.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.A0F5.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.BC82.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.D198.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.BC3C.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.A5F7.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.85CF.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99A ; [.C3D3.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; [.A86D.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99D ; [.87E9.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.9B03.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.ABC4.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.ACE3.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.C6B0.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.8DE0.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.A44D.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.9A69.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.9B7C.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.CDE9.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.B86A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.B86A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.9980.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.85DC.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.AA97.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.98FD.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.C74F.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.C399.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.971B.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.9A11.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.9AC4.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-FA20 ; [.AEF5.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
-F91F ; [.9728.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.9B5D.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.95D6.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.9AD8.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.9AD8.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.A14D.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.B256.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B8 ; [.AF15.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B7 ; [.BBB2.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.85D9.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.D57F.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.8E3B.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.BA44.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.D5EE.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.D5EE.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BE ; [.C674.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-F911 ; [.9B51.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.9EFE.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.B510.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.95F9.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.B543.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C3 ; [.BB4D.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; [.CBE0.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.98B8.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.97F6.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-2F9C6 ; [.9919.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.C276.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.989C.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.9B67.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.CF76.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.A282.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.B011.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.9724.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.8BFE.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.AA1C.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.BFE1.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.BFE1.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.BE22.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.C24F.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.C24F.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.8E75.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.B047.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.9A3C.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.9BCB.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.D502.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.D502.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.BA48.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.BA48.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.95A4.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.95A4.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.CDF9.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.CDF9.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.AA9A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.AA9A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.C017.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.8F10.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.831E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.831E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.ADCC.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.BFAB.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.9F4B.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.8245.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.9B0D.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.A822.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.8331.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.C56B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.C56B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.9D8F.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.ADCD.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.A9FA.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.8024.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.9B0E.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.8589.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-F902 ; [.BC58.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9DE ; [.C321.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.9549.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.9BC2.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.C1FB.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.C1FB.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.8B97.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.988A.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2F98D ; [.C64B.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.BD5F.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-FA66 ; [.BE9F.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
-F99A ; [.996B.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.CCEA.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.CCEA.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.BBE0.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.98E6.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.9B5E.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-2F9E2 ; [.ADC4.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.975C.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA2E ; [.975F.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-2F9E3 ; [.85CC.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.8CC2.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.C423.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.BC9D.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-F919 ; [.96C8.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.C8CB.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.97FF.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.97EB.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.9A3A.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.AA72.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.9A6E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.8086.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.B553.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.8369.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.B62C.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.A455.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.9B23.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.99BE.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.B013.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.C516.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9EE ; [.A032.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.9C1F.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.C083.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-F9C6 ; [.C3B3.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.96FA.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.AB03.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.9A68.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.9AFC.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.BA71.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.9BDC.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.99DD.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.9859.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.985F.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2F9F3 ; [.AF18.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.97D0.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.9467.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.9467.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.9A70.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.964D.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.D625.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.9B37.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.9A8D.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.AB77.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.AB77.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 ; [.80D4.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
-2F9FA ; [.8286.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69 ; [.B512.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.B512.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
-2F9FE ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-F9B4 ; [.9A99.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.85BD.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.85A6.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.85A6.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.9693.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.A6B2.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.8A4D.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.C84E.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.9F41.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.CA8F.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; [.D5F2.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; [.813C.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.9B82.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.9361.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.97E7.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.B997.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.B997.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.9ADD.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.A7C3.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.99F1.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2FA0C ; [.A9BB.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.8528.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.A28C.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.9B3A.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.9BA4.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.9AFD.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.9871.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.99F2.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.862D.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.97C2.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.B762.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; [.88D4.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 ; [.B715.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A ; [.8885.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; [.8A85.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; [.81FB.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-FAD8 ; [.CA9A.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-F9C4 ; [.9BE4.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9 ; [.8497.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907 ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
-2F81F ; [.8505.0020.0002.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F888 ; [.87AA.0020.0002.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F8D0 ; [.D37C.0020.0002.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8CE ; [.D2E0.0020.0002.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8DE ; [.A447.0020.0002.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8EE ; [.CC56.0020.0002.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F90A ; [.9C08.0020.0002.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F92C ; [.85CD.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D ; [.85CD.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
-FAD4 ; [.A871.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
-2F949 ; [.A871.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F960 ; [.85E0.0020.0002.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F96D ; [.CE1D.0020.0002.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F8D7 ; [.9118.0020.0002.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2FA0E ; [.A746.0020.0002.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+ entry => <<'ENTRY', # for DUCET v6.3.0
+02C9 ; [.0000.0199.0002] # MODIFIER LETTER MACRON
+02CA ; [.019A.0020.0002] # MODIFIER LETTER ACUTE ACCENT
+02C7 ; [.019B.0020.0002] # CARON
+02CB ; [.019C.0020.0002] # MODIFIER LETTER GRAVE ACCENT
+02D9 ; [.019D.0020.0002] # DOT ABOVE
+02EA ; [.019E.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB ; [.019F.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
+0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 3105 ; [.8000.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER B>
+2E8A ; [.80B5.0020.0002] # CJK RADICAL DIVINATION
+FDD0 3106 ; [.83B1.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER P>
+FDD0 3107 ; [.8626.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER M>
+FDD0 3108 ; [.897F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER F>
+2ECF ; [.8BC0.0020.0002] # CJK RADICAL CITY
+2ED6 ; [.8BC1.0020.0002] # CJK RADICAL MOUND TWO
+FDD0 3109 ; [.8C0D.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER D>
+2E88 ; [.8C86.0020.0002] # CJK RADICAL KNIFE ONE
+FDD0 310A ; [.901F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER T>
+FDD0 310B ; [.93D9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER N>
+2EA7 ; [.9525.0020.0002] # CJK RADICAL COW
+FDD0 310C ; [.95D9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER L>
+3007 ; [.9A41.0020.0002] # IDEOGRAPHIC NUMBER ZERO
+FDD0 310D ; [.9C5F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER G>
+2EE3 ; [.9E0A.0020.0002] # CJK RADICAL BONE
+FDD0 310E ; [.9FD2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER K>
+FDD0 310F ; [.A223.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER H>
+FDD0 3110 ; [.A697.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER J>
+2E95 ; [.A762.0020.0002] # CJK RADICAL SNOUT TWO
+2E86 ; [.AD18.0020.0002] # CJK RADICAL BOX
+FDD0 3111 ; [.AD38.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER Q>
+FDD0 3112 ; [.B164.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER X>
+2E8C ; [.B383.0020.0002] # CJK RADICAL SMALL ONE
+2E8D ; [.B384.0020.0002] # CJK RADICAL SMALL TWO
+FDD0 3113 ; [.B6E9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ZH>
+2EA5 ; [.B8AC.0020.0002] # CJK RADICAL PAW TWO
+FDD0 3114 ; [.BBAC.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER CH>
+2ECC ; [.BE9D.0020.0002] # CJK RADICAL SIMPLIFIED WALK
+2ECD ; [.BE9E.0020.0002] # CJK RADICAL WALK ONE
+FDD0 3115 ; [.BF5A.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER SH>
+2EAC ; [.BFBC.0020.0002] # CJK RADICAL SPIRIT ONE
+2EAE ; [.BFC1.0020.0002] # CJK RADICAL BAMBOO
+FDD0 3116 ; [.C2A2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER R>
+2E9C ; [.C2A3.0020.0002] # CJK RADICAL SUN
+2EBC ; [.C2D3.0020.0002] # CJK RADICAL MEAT
+2EB6 ; [.C311.0020.0002] # CJK RADICAL SHEEP
+FDD0 3117 ; [.C402.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER Z>
+FDD0 3118 ; [.C630.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER C>
+2EBE ; [.C6CA.0020.0002] # CJK RADICAL GRASS ONE
+FDD0 3119 ; [.C7F6.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER S>
+FDD0 311A ; [.CA13.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER A>
+FDD0 311B ; [.CA19.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER O>
+FDD0 311C ; [.CA1E.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER E>
+FDD0 311E ; [.CAA0.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AI>
+FDD0 311F ; [.CAE8.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER EI>
+FDD0 3120 ; [.CAEB.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AU>
+FDD0 3121 ; [.CB2E.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER OU>
+FDD0 3122 ; [.CB51.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AN>
+FDD0 3123 ; [.CB8B.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER EN>
+FDD0 3124 ; [.CB94.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ANG>
+FDD0 3125 ; [.CBA0.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ENG>
+FDD0 3126 ; [.CBA2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ER>
+FDD0 3127 ; [.CBDB.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER I>
+2E84 ; [.CDB5.0020.0002] # CJK RADICAL SECOND THREE
+2E80 ; [.CEDF.0020.0002] # CJK RADICAL REPEAT
+FDD0 3128 ; [.D16F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER U>
+FDD0 3129 ; [.D403.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER IU>
+2ED7 ; [.D47E.0020.0002] # CJK RADICAL RAIN
+2E9D ; [.D53B.0020.0002] # CJK RADICAL MOON
+3220 ; [*02FA.0020.0004][.CBDC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FA.0020.0004][.AD39.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FA.0020.0004][.C8DF.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FA.0020.0004][.A95D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FA.0020.0004][.CBCD.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FA.0020.0004][.D1A9.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FA.0020.0004][.8C57.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FA.0020.0004][.ADC1.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FA.0020.0004][.B3A8.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FA.0020.0004][.8001.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FA.0020.0004][.9953.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FA.0020.0004][.969E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FA.0020.0004][.BF85.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FA.0020.0004][.B2BC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FA.0020.0004][.892A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FA.0020.0004][.A3B5.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FA.0020.0004][.C82E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FA.0020.0004][.92EA.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FA.0020.0004][.B5F0.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FA.0020.0004][.C2A4.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FA.0020.0004][.D53C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FA.0020.0004][.CEC7.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FA.0020.0004][.895F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FA.0020.0004][.BA36.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FA.0020.0004][.C26E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FA.0020.0004][.A48C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FA.0020.0004][.9060.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FA.0020.0004][.A9B3.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FA.0020.0004][.C05E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FA.0020.0004][.BA90.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FA.0020.0004][.A78C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FA.0020.0004][.C457.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FA.0020.0004][.B766.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FA.0020.0004][.C69F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FA.0020.0004][.C421.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FA.0020.0004][.AA72.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15E2.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15E2.0020.0004][.15E1.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15E2.0020.0004][.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15E2.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15E2.0020.0004][.15E2.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15E2.0020.0004][.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15E2.0020.0004][.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15E2.0020.0004][.15E3.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15E2.0020.0004][.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15E2.0020.0004][.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15E2.0020.0004][.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15E2.0020.0004][.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15E2.0020.0004][.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15E2.0020.0004][.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15E2.0020.0004][.15E6.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15E2.0020.0004][.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15E2.0020.0004][.15E7.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15E2.0020.0004][.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15E2.0020.0004][.15E8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15E2.0020.0004][.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15E2.0020.0004][.15E9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15E2.0020.0004][.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15E2.0020.0004][.15EA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15E2.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15E3.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15E3.0020.0004][.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15E3.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15E3.0020.0004][.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15E3.0020.0004][.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15E3.0020.0004][.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15E3.0020.0004][.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15E3.0020.0004][.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15E3.0020.0004][.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15E3.0020.0004][.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15E3.0020.0004][.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15E3.0020.0004][.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15E3.0020.0004][.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15E3.0020.0004][.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15E3.0020.0004][.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15E3.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15E4.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15E4.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15E4.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15E5.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15E6.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15E6.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15E7.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15E7.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15E8.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15E8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15E9.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15E9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15EA.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15EA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*035C.0020.0004][.C8DF.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*035C.0020.0004][.CBCD.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*035C.0020.0004][.C1CC.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*035C.0020.0004][.CB52.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*035C.0020.0004][.8C38.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*035C.0020.0004][.80CD.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*035C.0020.0004][.819A.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*035C.0020.0004][.8E99.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*035C.0020.0004][.8CA9.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.CBDC.0020.0004] # KANGXI RADICAL ONE
+3192 ; [.CBDC.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.CBDC.0020.0006] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.CBDC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8EC1.0020.0014] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.AD39.0020.0006] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.C8DF.0020.0014] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.C8DF.0020.0006] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.C8DF.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.C19C.0020.0014] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.C19C.0020.0006] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.B2A0.0020.0014] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.B2A0.0020.0006] # CIRCLED IDEOGRAPH LOW
+319B ; [.8355.0020.0014] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.9F64.0020.0004] # KANGXI RADICAL LINE
+3197 ; [.BB6D.0020.0014] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.BB6D.0020.0006] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.BB6D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.BA6A.0020.0004] # KANGXI RADICAL DOT
+2F03 ; [.8558.0020.0004] # KANGXI RADICAL SLASH
+2F04 ; [.CC59.0020.0004] # KANGXI RADICAL SECOND
+319A ; [.CC59.0020.0014] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.A95D.0020.0006] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.AC3C.0020.0004] # KANGXI RADICAL HOOK
+2F06 ; [.CBCD.0020.0004] # KANGXI RADICAL TWO
+3193 ; [.CBCD.0020.0014] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.CBCD.0020.0006] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.CBCD.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.D1A9.0020.0006] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.90D4.0020.0004] # KANGXI RADICAL LID
+1F218 ; [.A8BE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.C2EF.0020.0004] # KANGXI RADICAL MAN
+319F ; [.C2EF.0020.0014] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.ADC1.0020.0006] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.B3A8.0020.0006] # CIRCLED IDEOGRAPH REST
+329D ; [.CE97.0020.0006] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.CBA3.0020.0004] # KANGXI RADICAL LEGS
+2F0A ; [.C376.0020.0004] # KANGXI RADICAL ENTER
+2F0B ; [.8001.0020.0004] # KANGXI RADICAL EIGHT
+3287 ; [.8001.0020.0006] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.9953.0020.0006] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.AD19.0020.0004] # KANGXI RADICAL DOWN BOX
+1F21E ; [.C4C2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.8867.0020.0004] # KANGXI RADICAL COVER
+32A2 ; [.B2E9.0020.0006] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.834E.0020.0004] # KANGXI RADICAL ICE
+2F0F ; [.A74C.0020.0004] # KANGXI RADICAL TABLE
+2F10 ; [.AF59.0020.0004] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8C87.0020.0004] # KANGXI RADICAL KNIFE
+1F220 ; [.BE3B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.AF3B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.9C7B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.9804.0020.0004] # KANGXI RADICAL POWER
+3298 ; [.969E.0020.0006] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.811A.0020.0004] # KANGXI RADICAL WRAP
+2F14 ; [.81FC.0020.0004] # KANGXI RADICAL SPOON
+2F15 ; [.8A9F.0020.0004] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.B224.0020.0004] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.CBE1.0020.0006] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.BF85.0020.0004] # KANGXI RADICAL TEN
+3038 ; [.BF85.0020.0004] # HANGZHOU NUMERAL TEN
+3289 ; [.BF85.0020.0006] # CIRCLED IDEOGRAPH TEN
+3039 ; [.954F.0020.0004] # HANGZHOU NUMERAL TWENTY
+303A ; [.C861.0020.0004] # HANGZHOU NUMERAL THIRTY
+32AF ; [.B2BC.0020.0006] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.80B6.0020.0004] # KANGXI RADICAL DIVINATION
+2F19 ; [.A84F.0020.0004] # KANGXI RADICAL SEAL
+329E ; [.D06B.0020.0006] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.BDC0.0020.0004] # KANGXI RADICAL CLIFF
+2F1B ; [.C7F7.0020.0004] # KANGXI RADICAL PRIVATE
+2F1C ; [.CEE0.0020.0004] # KANGXI RADICAL AGAIN
+1F212 ; [.C28A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.A070.0020.0004] # KANGXI RADICAL MOUTH
+1F251 ; [.A007.0020.0006] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.CEE1.0020.0006] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.CEE1.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.A232.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.892A.0020.0006] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.BEBE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.D3B7.0020.0006] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.D120.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.D27D.0020.0004] # KANGXI RADICAL ENCLOSURE
+3195 ; [.C82E.0020.0014] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.C82E.0020.0006] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.92EA.0020.0004] # KANGXI RADICAL EARTH
+328F ; [.92EA.0020.0006] # CIRCLED IDEOGRAPH EARTH
+319E ; [.8C4B.0020.0014] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.BFB5.0020.0004] # KANGXI RADICAL SCHOLAR
+1F224 ; [.C1A8.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.B740.0020.0004] # KANGXI RADICAL GO
+2F22 ; [.C986.0020.0004] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.B165.0020.0004] # KANGXI RADICAL EVENING
+1F215 ; [.8F35.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.CDD7.0020.0006] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.8C39.0020.0004] # KANGXI RADICAL BIG
+337D ; [.8C39.0020.001C][.BA1E.0020.001C] # SQUARE ERA NAME TAISYOU
+319D ; [.923B.0020.0014] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.923B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.95CC.0020.0004] # KANGXI RADICAL WOMAN
+329B ; [.95CC.0020.0006] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.C466.0020.0004] # KANGXI RADICAL CHILD
+1F211 ; [.C456.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.B5F0.0020.0006] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.88BF.0020.0004] # KANGXI RADICAL ROOF
+32AA ; [.C5ED.0020.0006] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.C7B4.0020.0004] # KANGXI RADICAL INCH
+2F29 ; [.B385.0020.0004] # KANGXI RADICAL SMALL
+2F2A ; [.CE9E.0020.0004] # KANGXI RADICAL LAME
+2F2B ; [.BF5B.0020.0004] # KANGXI RADICAL CORPSE
+2F2C ; [.BC63.0020.0004] # KANGXI RADICAL SPROUT
+2F2D ; [.C0C5.0020.0004] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.BED1.0020.0004] # KANGXI RADICAL RIVER
+2F2F ; [.9F9E.0020.0004] # KANGXI RADICAL WORK
+32A7 ; [.C593.0020.0006] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.C593.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.A74D.0020.0004] # KANGXI RADICAL ONESELF
+2F31 ; [.AA6D.0020.0004] # KANGXI RADICAL TURBAN
+2F32 ; [.9D7F.0020.0004] # KANGXI RADICAL DRY
+337B ; [.85BF.0020.001C][.BDFC.0020.001C] # SQUARE ERA NAME HEISEI
+2F33 ; [.CE11.0020.0004] # KANGXI RADICAL SHORT THREAD
+3245 ; [.CEE2.0020.0006] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.9F8F.0020.0004] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.D04E.0020.0004] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.9FBB.0020.0004] # KANGXI RADICAL TWO HANDS
+2F37 ; [.CC86.0020.0004] # KANGXI RADICAL SHOOT
+2F38 ; [.9F9F.0020.0004] # KANGXI RADICAL BOW
+2F39 ; [.A763.0020.0004] # KANGXI RADICAL SNOUT
+2F3A ; [.C0C6.0020.0004] # KANGXI RADICAL BRISTLE
+2F3B ; [.BBF9.0020.0004] # KANGXI RADICAL STEP
+1F21D ; [.A30D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.8C4D.0020.0006] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.B4AB.0020.0004] # KANGXI RADICAL HEART
+2F3D ; [.9C6C.0020.0004] # KANGXI RADICAL HALBERD
+2F3E ; [.A40C.0020.0004] # KANGXI RADICAL DOOR
+2F3F ; [.C0AE.0020.0004] # KANGXI RADICAL HAND
+1F210 ; [.C0AE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.8C38.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.90D6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.B753.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.838E.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.B6EB.0020.0004] # KANGXI RADICAL BRANCH
+2F41 ; [.85EC.0020.0004] # KANGXI RADICAL RAP
+2F42 ; [.D38D.0020.0004] # KANGXI RADICAL SCRIPT
+3246 ; [.D38D.0020.0006] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8CCF.0020.0004] # KANGXI RADICAL DIPPER
+1F21B ; [.9905.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.AA6F.0020.0004] # KANGXI RADICAL AXE
+1F21F ; [.B4BC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8AA0.0020.0004] # KANGXI RADICAL SQUARE
+2F46 ; [.D18A.0020.0004] # KANGXI RADICAL NOT
+2F47 ; [.C2A4.0020.0004] # KANGXI RADICAL SUN
+3290 ; [.C2A4.0020.0006] # CIRCLED IDEOGRAPH SUN
+337E ; [.892B.0020.001C][.B773.0020.001C] # SQUARE ERA NAME MEIZI
+1F219 ; [.D15D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.B884.0020.001C][.A237.0020.001C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.D533.0020.0004] # KANGXI RADICAL SAY
+2F49 ; [.D53C.0020.0004] # KANGXI RADICAL MOON
+328A ; [.D53C.0020.0006] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.D53C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.CEC7.0020.0006] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.CEC7.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.895F.0020.0004] # KANGXI RADICAL TREE
+328D ; [.895F.0020.0006] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.BA36.0020.0006] # CIRCLED IDEOGRAPH STOCK
+337F ; [.BA36.0020.001C][.BFBF.0020.001C][.A51A.0020.001C][.C05E.0020.001C] # SQUARE CORPORATION
+2F4B ; [.AF68.0020.0004] # KANGXI RADICAL LACK
+2F4C ; [.B741.0020.0004] # KANGXI RADICAL STOP
+32A3 ; [.BA1E.0020.0006] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.8C53.0020.0004] # KANGXI RADICAL DEATH
+2F4E ; [.C1D9.0020.0004] # KANGXI RADICAL WEAPON
+2F4F ; [.D18B.0020.0004] # KANGXI RADICAL DO NOT
+2E9F ; [.894D.0020.0004] # CJK RADICAL MOTHER
+2F50 ; [.81FD.0020.0004] # KANGXI RADICAL COMPARE
+2F51 ; [.8727.0020.0004] # KANGXI RADICAL FUR
+2F52 ; [.BFB6.0020.0004] # KANGXI RADICAL CLAN
+2F53 ; [.ADDA.0020.0004] # KANGXI RADICAL STEAM
+2F54 ; [.C26E.0020.0004] # KANGXI RADICAL WATER
+328C ; [.C26E.0020.0006] # CIRCLED IDEOGRAPH WATER
+329F ; [.BA84.0020.0006] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.8793.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.CF75.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.A48C.0020.0004] # KANGXI RADICAL FIRE
+328B ; [.A48C.0020.0006] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.D19A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.B88D.0020.0004] # KANGXI RADICAL CLAW
+2F57 ; [.8BC3.0020.0004] # KANGXI RADICAL FATHER
+2F58 ; [.CE21.0020.0004] # KANGXI RADICAL DOUBLE X
+2F59 ; [.8453.0020.0004] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.8593.0020.0004] # KANGXI RADICAL SLICE
+2F5B ; [.CD78.0020.0004] # KANGXI RADICAL FANG
+2F5C ; [.9526.0020.0004] # KANGXI RADICAL COW
+3295 ; [.9060.0020.0006] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.B123.0020.0004] # KANGXI RADICAL DOG
+2F5E ; [.B63A.0020.0004] # KANGXI RADICAL PROFOUND
+2F5F ; [.D4A7.0020.0004] # KANGXI RADICAL JADE
+2F60 ; [.9E4D.0020.0004] # KANGXI RADICAL MELON
+2F61 ; [.D216.0020.0004] # KANGXI RADICAL TILE
+2F62 ; [.9D4E.0020.0004] # KANGXI RADICAL SWEET
+2F63 ; [.C1A6.0020.0004] # KANGXI RADICAL LIFE
+1F222 ; [.C1A6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.D68B.0020.0004] # KANGXI RADICAL USE
+2F65 ; [.9245.0020.0004] # KANGXI RADICAL FIELD
+3199 ; [.A814.0020.0014] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.C125.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.9459.0020.0006] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.852E.0020.0004] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.93F9.0020.0004] # KANGXI RADICAL SICKNESS
+2F68 ; [.8046.0020.0004] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.80BD.0020.0004] # KANGXI RADICAL WHITE
+2F6A ; [.8504.0020.0004] # KANGXI RADICAL SKIN
+2F6B ; [.890B.0020.0004] # KANGXI RADICAL DISH
+32AC ; [.A9B3.0020.0006] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.8962.0020.0004] # KANGXI RADICAL EYE
+2F6D ; [.8728.0020.0004] # KANGXI RADICAL SPEAR
+2F6E ; [.BFA9.0020.0004] # KANGXI RADICAL ARROW
+2F6F ; [.BF87.0020.0004] # KANGXI RADICAL STONE
+2F70 ; [.BFBD.0020.0004] # KANGXI RADICAL SPIRIT
+3293 ; [.C05E.0020.0006] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.BA90.0020.0006] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.AAB2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.C2BD.0020.0004] # KANGXI RADICAL TRACK
+2F72 ; [.A231.0020.0004] # KANGXI RADICAL GRAIN
+3299 ; [.8871.0020.0006] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.B5ED.0020.0004] # KANGXI RADICAL CAVE
+1F233 ; [.A211.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.9808.0020.0004] # KANGXI RADICAL STAND
+2F75 ; [.BA53.0020.0004] # KANGXI RADICAL BAMBOO
+3247 ; [.BA0D.0020.0006] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.8856.0020.0004] # KANGXI RADICAL RICE
+2F77 ; [.8868.0020.0004] # KANGXI RADICAL SILK
+1F221 ; [.BB7F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.89F6.0020.0004] # KANGXI RADICAL JAR
+2F79 ; [.D3D1.0020.0004] # KANGXI RADICAL NET
+2F7A ; [.D08F.0020.0004] # KANGXI RADICAL SHEEP
+2F7B ; [.D47D.0020.0004] # KANGXI RADICAL FEATHER
+2F7C ; [.96B7.0020.0004] # KANGXI RADICAL OLD
+2F7D ; [.CBA4.0020.0004] # KANGXI RADICAL AND
+2F7E ; [.966B.0020.0004] # KANGXI RADICAL PLOW
+2F7F ; [.CBBF.0020.0004] # KANGXI RADICAL EAR
+2F80 ; [.D4AA.0020.0004] # KANGXI RADICAL BRUSH
+2F81 ; [.C2D4.0020.0004] # KANGXI RADICAL MEAT
+2F82 ; [.BD5B.0020.0004] # KANGXI RADICAL MINISTER
+2F83 ; [.C457.0020.0004] # KANGXI RADICAL SELF
+2F84 ; [.B766.0020.0004] # KANGXI RADICAL ARRIVE
+2F85 ; [.A96D.0020.0004] # KANGXI RADICAL MORTAR
+2F86 ; [.C053.0020.0004] # KANGXI RADICAL TONGUE
+2F87 ; [.BEE4.0020.0004] # KANGXI RADICAL OPPOSE
+2F88 ; [.B8B0.0020.0004] # KANGXI RADICAL BOAT
+2F89 ; [.9D94.0020.0004] # KANGXI RADICAL STOPPING
+2F8A ; [.C870.0020.0004] # KANGXI RADICAL COLOR
+2F8B ; [.C6C2.0020.0004] # KANGXI RADICAL GRASS
+2F8C ; [.A3B4.0020.0004] # KANGXI RADICAL TIGER
+2F8D ; [.BF4A.0020.0004] # KANGXI RADICAL INSECT
+2F8E ; [.B604.0020.0004] # KANGXI RADICAL BLOOD
+2F8F ; [.B543.0020.0004] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.CBE0.0020.0004] # KANGXI RADICAL CLOTHES
+2F91 ; [.CD9C.0020.0004] # KANGXI RADICAL WEST
+2F92 ; [.AA1C.0020.0004] # KANGXI RADICAL SEE
+2F93 ; [.A8EB.0020.0004] # KANGXI RADICAL HORN
+1F216 ; [.A898.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.CF21.0020.0004] # KANGXI RADICAL SPEECH
+2F95 ; [.9E07.0020.0004] # KANGXI RADICAL VALLEY
+2F96 ; [.8CD0.0020.0004] # KANGXI RADICAL BEAN
+2F97 ; [.BFAB.0020.0004] # KANGXI RADICAL PIG
+2F98 ; [.B76C.0020.0004] # KANGXI RADICAL BADGER
+2F99 ; [.80EB.0020.0004] # KANGXI RADICAL SHELL
+3296 ; [.C69F.0020.0006] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.8A4B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.C421.0020.0006] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.BBFE.0020.0004] # KANGXI RADICAL RED
+2F9B ; [.C50C.0020.0004] # KANGXI RADICAL RUN
+1F230 ; [.C50C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.C571.0020.0004] # KANGXI RADICAL FOOT
+2F9D ; [.C129.0020.0004] # KANGXI RADICAL BODY
+2F9E ; [.BC58.0020.0004] # KANGXI RADICAL CART
+2F9F ; [.B4AE.0020.0004] # KANGXI RADICAL BITTER
+2FA0 ; [.BD5F.0020.0004] # KANGXI RADICAL MORNING
+2FA1 ; [.BEA0.0020.0004] # KANGXI RADICAL WALK
+1F22B ; [.CEBC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.BFFC.0020.0006] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.CC9C.0020.0004] # KANGXI RADICAL CITY
+2FA3 ; [.CECA.0020.0004] # KANGXI RADICAL WINE
+2FA4 ; [.8308.0020.0004] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.97EB.0020.0004] # KANGXI RADICAL VILLAGE
+2FA6 ; [.AA72.0020.0004] # KANGXI RADICAL GOLD
+328E ; [.AA72.0020.0006] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.B9D1.0020.0004] # KANGXI RADICAL LONG
+2FA8 ; [.87B7.0020.0004] # KANGXI RADICAL GATE
+2FA9 ; [.8BCB.0020.0004] # KANGXI RADICAL MOUND
+2FAA ; [.9819.0020.0004] # KANGXI RADICAL SLAVE
+2FAB ; [.BAFD.0020.0004] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.D47F.0020.0004] # KANGXI RADICAL RAIN
+2FAD ; [.B01B.0020.0004] # KANGXI RADICAL BLUE
+2FAE ; [.89A9.0020.0004] # KANGXI RADICAL WRONG
+2FAF ; [.88EB.0020.0004] # KANGXI RADICAL FACE
+2FB0 ; [.9C8F.0020.0004] # KANGXI RADICAL LEATHER
+2FB1 ; [.D288.0020.0004] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.A965.0020.0004] # KANGXI RADICAL LEEK
+2FB3 ; [.CFF8.0020.0004] # KANGXI RADICAL SOUND
+2FB4 ; [.CDDC.0020.0004] # KANGXI RADICAL LEAF
+32A0 ; [.B520.0020.0006] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.8AD5.0020.0004] # KANGXI RADICAL WIND
+2FB6 ; [.89AA.0020.0004] # KANGXI RADICAL FLY
+2FB7 ; [.BF93.0020.0004] # KANGXI RADICAL EAT
+2FB8 ; [.C0B1.0020.0004] # KANGXI RADICAL HEAD
+2FB9 ; [.B4E1.0020.0004] # KANGXI RADICAL FRAGRANT
+2FBA ; [.8637.0020.0004] # KANGXI RADICAL HORSE
+2FBB ; [.9E10.0020.0004] # KANGXI RADICAL BONE
+2FBC ; [.9CEC.0020.0004] # KANGXI RADICAL TALL
+2FBD ; [.82AD.0020.0004] # KANGXI RADICAL HAIR
+2FBE ; [.8CD4.0020.0004] # KANGXI RADICAL FIGHT
+2FBF ; [.BDCE.0020.0004] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9C94.0020.0004] # KANGXI RADICAL CAULDRON
+2FC1 ; [.9EF1.0020.0004] # KANGXI RADICAL GHOST
+2FC2 ; [.D436.0020.0004] # KANGXI RADICAL FISH
+2FC3 ; [.9519.0020.0004] # KANGXI RADICAL BIRD
+2FC4 ; [.9AD5.0020.0004] # KANGXI RADICAL SALT
+2FC5 ; [.9AFD.0020.0004] # KANGXI RADICAL DEER
+2FC6 ; [.86CC.0020.0004] # KANGXI RADICAL WHEAT
+2FC7 ; [.862D.0020.0004] # KANGXI RADICAL HEMP
+2FC8 ; [.A607.0020.0004] # KANGXI RADICAL YELLOW
+2FC9 ; [.C20C.0020.0004] # KANGXI RADICAL MILLET
+2FCA ; [.A2AD.0020.0004] # KANGXI RADICAL BLACK
+2FCB ; [.B762.0020.0004] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.88E4.0020.0004] # KANGXI RADICAL FROG
+2FCD ; [.8ED2.0020.0004] # KANGXI RADICAL TRIPOD
+2FCE ; [.9E1D.0020.0004] # KANGXI RADICAL DRUM
+2FCF ; [.C210.0020.0004] # KANGXI RADICAL RAT
+2FD0 ; [.81FB.0020.0004] # KANGXI RADICAL NOSE
+2FD1 ; [.ADA1.0020.0004] # KANGXI RADICAL EVEN
+2FD2 ; [.BBF7.0020.0004] # KANGXI RADICAL TOOTH
+2FD3 ; [.9BE4.0020.0004] # KANGXI RADICAL DRAGON
+2FD4 ; [.9ED7.0020.0004] # KANGXI RADICAL TURTLE
+2EF3 ; [.9EB8.0020.0004] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.D560.0020.0004] # KANGXI RADICAL FLUTE
+F967 ; [.8392.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.836F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.BEEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.D334.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.8CEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.980B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.CC07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.9BA8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.9615.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.9A32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.C151.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.834F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.9A9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.94AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.B546.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.9619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.9811.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.D1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.D1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.935A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.830C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.8373.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.9BB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.C477.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.80FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.B522.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.98D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.C90E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.C90E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.D1CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.BF37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.88D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.88D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.92F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.A627.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.9422.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.B0F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.9A28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.9953.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.ABF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.A7A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.C4C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.874F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.88DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.C3F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.D571.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.8FE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.A1F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.A1F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.9793.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.9A18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.9A51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.99F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.B1BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.AF59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.C305.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.AE24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.AE24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.98A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.980C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.C66A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.A014.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.9B64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.9C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.BD2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.9926.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.9804.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.98A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.969D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.D671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.D671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.964C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.96A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.AFAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.AFAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.985C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.C096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.C096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.811B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.C7B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.80E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.80E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.94CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.A518.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.80D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.80D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.807E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.A6FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.9BA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.A70A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.C6D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.A6FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.C8D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.ABEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.A922.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.BBFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.CE13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.9809.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.9A03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.B16A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.9C24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.BDFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.B8B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.B473.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.CA56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.CF9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.8891.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.9144.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.ADCE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.90B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.B415.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.C100.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.C100.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.95E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.A52B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.A52B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.A22D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.A22D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.BBB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.B7F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.A422.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.CE34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.D21D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.912C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.912C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.A2BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.ADFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.847B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.9A44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.92DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.92DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.B548.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.BE03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.B720.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.92F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.8151.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.C642.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.85EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.BB92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.BB92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.C892.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.86A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.8E0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8A7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.9679.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.9C0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.BB63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.86C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.A3DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.8AFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.8F35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.882A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.CF5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.9410.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.ADE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8193.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.C04A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.95CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.8598.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.A6AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.D42A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.935B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.8232.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.8BDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.D15F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.C2B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.C657.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.9741.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.9741.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.B874.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.D575.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.B7AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.98DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.8143.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.C0B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.AAD5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.CE9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.9522.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.92CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.9C34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.C71D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.9C36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.BC63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.BC63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.AEFF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.B3C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.9BB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.CF66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.970A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.C416.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.8E87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.BD30.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.B1BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.9A9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.B68C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.BC98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.B6C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.C26F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.8758.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.8A7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.9537.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.8F28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.8372.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.8233.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.C22B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.996E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.9766.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.9766.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.CAF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.A11E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.CCFF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.9AB9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.9FBB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.95C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.9097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.9097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8D4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.B544.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.C6A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8E55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.9C41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.8FF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.8BDF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.CE36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.C2FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.B768.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.9551.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.A1E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.958F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.9965.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.A524.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.D572.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.A510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.A510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.8FBB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.D3D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.CA70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.D4DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.9846.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.C64C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.A5FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.A5FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.C178.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.C178.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.CB23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.A03D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.96E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.997C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8A96.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.C6EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.B498.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.8803.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.9742.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.9742.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.99C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.BDFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.A802.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.9B16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.8C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.A0E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.814B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.95DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.93DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.801D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.8599.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.C00F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.D348.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.ACA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.C05A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.9540.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.C8AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.CA67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.CF63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.D43E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.CF39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.A70F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.C8BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.AAB0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8365.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.865D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.A904.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.AB0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.9546.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.A4F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.9ADE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.8915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.8915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.CAF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.AB74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.C23A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.9905.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.9C2B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.A775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.A789.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.CCA3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.AAA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.B034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.B034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.D5E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.C20B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.C20B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.AAB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.8156.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.9855.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.9DDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.C1E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.C5BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.D3E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.D3E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.C5F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.9897.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.82A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.B9DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.ADC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.BCDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.A6A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.99CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.9944.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.9EAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.9826.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.8196.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.C902.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.9A19.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.86DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.86DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.CAEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.979F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.C417.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.B7F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.CE3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.9CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.96E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.C052.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.9AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.B7D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.9726.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.C667.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.B58D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.C9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.9856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8C53.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.D380.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.99BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.AE8A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.8A3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.AF01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.BD5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.CF25.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.886C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.8194.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.9490.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.D193.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.9B72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.900E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.85C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.83F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.A2D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.9781.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.A29A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.A29A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.AAA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.94E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.99D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.9688.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.9BB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.CF08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.BA70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.9DB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.CF0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.990C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.94CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8E88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.C419.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.C419.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.A44F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.D03B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.96FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.A368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.A368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.9974.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.BCA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.8A7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.9751.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.9C51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.D142.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.AB83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.AB83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.D563.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.AF57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.A4D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.BB35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.C4B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.B774.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.9126.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.98B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.96C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.8FAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.99B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.BA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.BA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.C7CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.98E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.99E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.9AC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9753.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.C7A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.B8AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.AC81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.AC81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.B809.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.969F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.B19A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.810B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.8A3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.BB66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.975E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.BA3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.BA3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.98C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.9034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.9C43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.9C43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.D3CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.D544.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.9A4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.9B76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.97F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.9914.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.C58E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.8C72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.D44E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.D131.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.B9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.B9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.C979.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.999F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.99E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.B15E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.C64D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.C397.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.A462.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.C4B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.9915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.CA68.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.CCD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.CCD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.983F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.D494.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.9F2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.D382.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.98E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.9649.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.CCC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.CCC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.C1CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.9AB5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.B71A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.B71A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.C1C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.B959.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.B95A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.B95A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.B869.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.ACC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.ACC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.BD55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.AE77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.B54F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.9918.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.9B0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.9B0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.80DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.9673.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.9259.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.9259.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.845F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.9878.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.97EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.C05E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.AD73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.B757.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.CEF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.C583.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.C583.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.BA90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.C153.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.B4FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.9B0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.A4A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.B971.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.8B8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.8B8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.97FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.9538.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.C201.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.978F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.9E24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.9E24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.A79C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.D3B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.92B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.9231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.9808.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.85BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.9833.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.A87C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.A87C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.BB3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.BA5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.9992.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9BF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.9686.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.9834.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.AB32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.8114.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.915F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.C8EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.9A24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.AB10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.A778.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.952E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.C970.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.9689.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.90A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.81D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.9C4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.9A73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.C427.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.C61F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.AAC3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.9C3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.8A28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.C8A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.85D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.C20E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.97C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.BCA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.9B52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.D0D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.9A62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.D47D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.CB06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.96B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.9A64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.85BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.9989.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.C7D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.9BF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.9600.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.93E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.D4B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.C780.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.851D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.95F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.99E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.BCE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.D42F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.D42F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.B23F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.9F3F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.9A16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.C6CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.C6CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.D4AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.ADCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.B6F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.A43F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8AA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.CD7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.C386.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.C386.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.A0F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.BC82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.D198.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.BC3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.A5F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.85CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.C3D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.A86D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.87E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.9B03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.ABC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.ACE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.C6B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.8DE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.A44D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.9A69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.9B7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.CDE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.B86A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.B86A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.9980.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.85DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.AA97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.98FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.C74F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.C399.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.971B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.9A11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.9AC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.AEF5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.9728.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.9B5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.95D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.9AD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.9AD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.A14D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.B256.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AF15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.BBB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.85D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.D57F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.8E3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.BA44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.D5EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.D5EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.C674.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.9B51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.9EFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.B510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.95F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.B543.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.BB4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.CBE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.98B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.97F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.9919.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.C276.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.989C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.9B67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.CF76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.A282.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.B011.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.9724.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.8BFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.AA1C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.BFE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.BFE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.BE22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.C24F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.C24F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8E75.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.B047.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.9A3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.9BCB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.D502.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.D502.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.BA48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.BA48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.95A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.95A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.CDF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.CDF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.AA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.AA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.C017.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.8F10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.831E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.831E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.ADCC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.BFAB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.9F4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.8245.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.9B0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.A822.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.8331.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.C56B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.C56B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.9D8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.ADCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.A9FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.8024.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.9B0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.8589.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.BC58.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.C321.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.9549.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.9BC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.C1FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.C1FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.8B97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.988A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.C64B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.BD5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.BE9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.996B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.CCEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.CCEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.BBE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.98E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.9B5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.ADC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.975C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.975F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.85CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.8CC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.C423.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.BC9D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.96C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.C8CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.97FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.97EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.9A3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.AA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.9A6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.8086.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.B553.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8369.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.B62C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.A455.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.9B23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.99BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.B013.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.C516.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.A032.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9C1F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.C083.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.C3B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.96FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.AB03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.9A68.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.9AFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.BA71.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.9BDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.99DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.9859.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.985F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AF18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.97D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.9467.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.9467.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.9A70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.964D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.D625.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.9B37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.9A8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.AB77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.AB77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.80D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.8286.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.B512.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.B512.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.9A99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.85BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.85A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.85A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.9693.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.A6B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8A4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.C84E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.9F41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.CA8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.D5F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.813C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.9B82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.9361.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.97E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.B997.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.B997.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.9ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.A7C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.99F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.A9BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.8528.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.A28C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.9B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9BA4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.9AFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.9871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.99F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.862D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.97C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.B762.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.88D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.B715.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.8885.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.8A85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.81FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.CA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.9BE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.8497.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2F81F ; [.8505.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F888 ; [.87AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F8D0 ; [.D37C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.D2E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.A447.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+2F8EE ; [.CC56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F90A ; [.9C08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F92C ; [.85CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.85CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+FAD4 ; [.A871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.A871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F960 ; [.85E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F96D ; [.CE1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F8D7 ; [.9118.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2FA0E ; [.A746.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
index 514c63cc37b..9ecd872fb91 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
@@ -1,5 +1,5 @@
-# unidata-6.2.0.txt
-# Date: 2012-08-14, 19:01:52 GMT [KW]
+# unidata-6.3.0.txt
+# Date: 2013-05-22, 16:45:00 GMT [KW]
#
# This file defines the Default Unicode Collation Element Table
# (DUCET) for the Unicode Collation Algorithm
@@ -10,25143 +10,25147 @@
# See UTS #10, Unicode Collation Algorithm, for more information.
#
# Diagnostic weight ranges
-# Primary weight range: 0200..432A (16683)
-# Secondary weight range: 0020..0177 (344)
-# Variant secondaries: 0139..013E (6)
-# Digit secondaries: 013F..0177 (57)
+# Primary weight range: 0200..4326 (16679)
+# Secondary weight range: 0020..0100 (225)
+# Variant secondaries: 00FC..0100 (5)
# Tertiary weight range: 0002..001F (30)
#
-@version 6.2.0
+@version 6.3.0
-0000 ; [.0000.0000.0000.0000] # [0000] NULL (in 6429)
-0001 ; [.0000.0000.0000.0000] # [0001] START OF HEADING (in 6429)
-0002 ; [.0000.0000.0000.0000] # [0002] START OF TEXT (in 6429)
-0003 ; [.0000.0000.0000.0000] # [0003] END OF TEXT (in 6429)
-0004 ; [.0000.0000.0000.0000] # [0004] END OF TRANSMISSION (in 6429)
-0005 ; [.0000.0000.0000.0000] # [0005] ENQUIRY (in 6429)
-0006 ; [.0000.0000.0000.0000] # [0006] ACKNOWLEDGE (in 6429)
-0007 ; [.0000.0000.0000.0000] # [0007] BELL (in 6429)
-0008 ; [.0000.0000.0000.0000] # [0008] BACKSPACE (in 6429)
-000E ; [.0000.0000.0000.0000] # [000E] SHIFT OUT (in 6429)
-000F ; [.0000.0000.0000.0000] # [000F] SHIFT IN (in 6429)
-0010 ; [.0000.0000.0000.0000] # [0010] DATA LINK ESCAPE (in 6429)
-0011 ; [.0000.0000.0000.0000] # [0011] DEVICE CONTROL ONE (in 6429)
-0012 ; [.0000.0000.0000.0000] # [0012] DEVICE CONTROL TWO (in 6429)
-0013 ; [.0000.0000.0000.0000] # [0013] DEVICE CONTROL THREE (in 6429)
-0014 ; [.0000.0000.0000.0000] # [0014] DEVICE CONTROL FOUR (in 6429)
-0015 ; [.0000.0000.0000.0000] # [0015] NEGATIVE ACKNOWLEDGE (in 6429)
-0016 ; [.0000.0000.0000.0000] # [0016] SYNCHRONOUS IDLE (in 6429)
-0017 ; [.0000.0000.0000.0000] # [0017] END OF TRANSMISSION BLOCK (in 6429)
-0018 ; [.0000.0000.0000.0000] # [0018] CANCEL (in 6429)
-0019 ; [.0000.0000.0000.0000] # [0019] END OF MEDIUM (in 6429)
-001A ; [.0000.0000.0000.0000] # [001A] SUBSTITUTE (in 6429)
-001B ; [.0000.0000.0000.0000] # [001B] ESCAPE (in 6429)
-001C ; [.0000.0000.0000.0000] # [001C] FILE SEPARATOR (in 6429)
-001D ; [.0000.0000.0000.0000] # [001D] GROUP SEPARATOR (in 6429)
-001E ; [.0000.0000.0000.0000] # [001E] RECORD SEPARATOR (in 6429)
-001F ; [.0000.0000.0000.0000] # [001F] UNIT SEPARATOR (in 6429)
-007F ; [.0000.0000.0000.0000] # [007F] DELETE (in 6429)
-0080 ; [.0000.0000.0000.0000] # [0080] <control>
-0081 ; [.0000.0000.0000.0000] # [0081] <control>
-0082 ; [.0000.0000.0000.0000] # [0082] BREAK PERMITTED HERE (in 6429)
-0083 ; [.0000.0000.0000.0000] # [0083] NO BREAK HERE (in 6429)
-0084 ; [.0000.0000.0000.0000] # [0084] <control>
-0086 ; [.0000.0000.0000.0000] # [0086] START OF SELECTED AREA (in 6429)
-0087 ; [.0000.0000.0000.0000] # [0087] END OF SELECTED AREA (in 6429)
-0088 ; [.0000.0000.0000.0000] # [0088] CHARACTER TABULATION SET (in 6429)
-0089 ; [.0000.0000.0000.0000] # [0089] CHARACTER TABULATION WITH JUSTIFICATION (in 6429)
-008A ; [.0000.0000.0000.0000] # [008A] LINE TABULATION SET (in 6429)
-008B ; [.0000.0000.0000.0000] # [008B] PARTIAL LINE FORWARD (in 6429)
-008C ; [.0000.0000.0000.0000] # [008C] PARTIAL LINE BACKWARD (in 6429)
-008D ; [.0000.0000.0000.0000] # [008D] PARTIAL LINE FEED (in 6429)
-008E ; [.0000.0000.0000.0000] # [008E] SINGLE SHIFT TWO (in 6429)
-008F ; [.0000.0000.0000.0000] # [008F] SINGLE SHIFT THREE (in 6429)
-0090 ; [.0000.0000.0000.0000] # [0090] DEVICE CONTROL STRING (in 6429)
-0091 ; [.0000.0000.0000.0000] # [0091] PRIVATE USE ONE (in 6429)
-0092 ; [.0000.0000.0000.0000] # [0092] PRIVATE USE TWO (in 6429)
-0093 ; [.0000.0000.0000.0000] # [0093] SET TRANSMIT STATE (in 6429)
-0094 ; [.0000.0000.0000.0000] # [0094] CANCEL CHARACTER (in 6429)
-0095 ; [.0000.0000.0000.0000] # [0095] MESSAGE WAITING (in 6429)
-0096 ; [.0000.0000.0000.0000] # [0096] START OF GUARDED AREA (in 6429)
-0097 ; [.0000.0000.0000.0000] # [0097] END OF GUARDED AREA (in 6429)
-0098 ; [.0000.0000.0000.0000] # [0098] START OF STRING (in 6429)
-0099 ; [.0000.0000.0000.0000] # [0099] <control>
-009A ; [.0000.0000.0000.0000] # [009A] SINGLE CHARACTER INTRODUCER (in 6429)
-009B ; [.0000.0000.0000.0000] # [009B] CONTROL SEQUENCE INTRODUCER (in 6429)
-009C ; [.0000.0000.0000.0000] # [009C] STRING TERMINATOR (in 6429)
-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
-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
-200E ; [.0000.0000.0000.0000] # [200E] LEFT-TO-RIGHT MARK
-200F ; [.0000.0000.0000.0000] # [200F] RIGHT-TO-LEFT MARK
-202A ; [.0000.0000.0000.0000] # [202A] LEFT-TO-RIGHT EMBEDDING
-202B ; [.0000.0000.0000.0000] # [202B] RIGHT-TO-LEFT EMBEDDING
-202C ; [.0000.0000.0000.0000] # [202C] POP DIRECTIONAL FORMATTING
-202D ; [.0000.0000.0000.0000] # [202D] LEFT-TO-RIGHT OVERRIDE
-202E ; [.0000.0000.0000.0000] # [202E] RIGHT-TO-LEFT OVERRIDE
-2060 ; [.0000.0000.0000.0000] # [2060] WORD JOINER
-206A ; [.0000.0000.0000.0000] # [206A] INHIBIT SYMMETRIC SWAPPING
-206B ; [.0000.0000.0000.0000] # [206B] ACTIVATE SYMMETRIC SWAPPING
-206C ; [.0000.0000.0000.0000] # [206C] INHIBIT ARABIC FORM SHAPING
-206D ; [.0000.0000.0000.0000] # [206D] ACTIVATE ARABIC FORM SHAPING
-206E ; [.0000.0000.0000.0000] # [206E] NATIONAL DIGIT SHAPES
-206F ; [.0000.0000.0000.0000] # [206F] NOMINAL DIGIT SHAPES
-FE00 ; [.0000.0000.0000.0000] # [FE00] VARIATION SELECTOR-1
-FE01 ; [.0000.0000.0000.0000] # [FE01] VARIATION SELECTOR-2
-FE02 ; [.0000.0000.0000.0000] # [FE02] VARIATION SELECTOR-3
-FE03 ; [.0000.0000.0000.0000] # [FE03] VARIATION SELECTOR-4
-FE04 ; [.0000.0000.0000.0000] # [FE04] VARIATION SELECTOR-5
-FE05 ; [.0000.0000.0000.0000] # [FE05] VARIATION SELECTOR-6
-FE06 ; [.0000.0000.0000.0000] # [FE06] VARIATION SELECTOR-7
-FE07 ; [.0000.0000.0000.0000] # [FE07] VARIATION SELECTOR-8
-FE08 ; [.0000.0000.0000.0000] # [FE08] VARIATION SELECTOR-9
-FE09 ; [.0000.0000.0000.0000] # [FE09] VARIATION SELECTOR-10
-FE0A ; [.0000.0000.0000.0000] # [FE0A] VARIATION SELECTOR-11
-FE0B ; [.0000.0000.0000.0000] # [FE0B] VARIATION SELECTOR-12
-FE0C ; [.0000.0000.0000.0000] # [FE0C] VARIATION SELECTOR-13
-FE0D ; [.0000.0000.0000.0000] # [FE0D] VARIATION SELECTOR-14
-FE0E ; [.0000.0000.0000.0000] # [FE0E] VARIATION SELECTOR-15
-FE0F ; [.0000.0000.0000.0000] # [FE0F] VARIATION SELECTOR-16
-FEFF ; [.0000.0000.0000.0000] # [FEFF] ZERO WIDTH NO-BREAK SPACE
-FFF9 ; [.0000.0000.0000.0000] # [FFF9] INTERLINEAR ANNOTATION ANCHOR
-FFFA ; [.0000.0000.0000.0000] # [FFFA] INTERLINEAR ANNOTATION SEPARATOR
-FFFB ; [.0000.0000.0000.0000] # [FFFB] INTERLINEAR ANNOTATION TERMINATOR
-1D173 ; [.0000.0000.0000.0000] # [1D173] MUSICAL SYMBOL BEGIN BEAM
-1D174 ; [.0000.0000.0000.0000] # [1D174] MUSICAL SYMBOL END BEAM
-1D175 ; [.0000.0000.0000.0000] # [1D175] MUSICAL SYMBOL BEGIN TIE
-1D176 ; [.0000.0000.0000.0000] # [1D176] MUSICAL SYMBOL END TIE
-1D177 ; [.0000.0000.0000.0000] # [1D177] MUSICAL SYMBOL BEGIN SLUR
-1D178 ; [.0000.0000.0000.0000] # [1D178] MUSICAL SYMBOL END SLUR
-1D179 ; [.0000.0000.0000.0000] # [1D179] MUSICAL SYMBOL BEGIN PHRASE
-1D17A ; [.0000.0000.0000.0000] # [1D17A] MUSICAL SYMBOL END PHRASE
-E0001 ; [.0000.0000.0000.0000] # [E0001] LANGUAGE TAG
-E0020 ; [.0000.0000.0000.0000] # [E0020] TAG SPACE
-E0021 ; [.0000.0000.0000.0000] # [E0021] TAG EXCLAMATION MARK
-E0022 ; [.0000.0000.0000.0000] # [E0022] TAG QUOTATION MARK
-E0023 ; [.0000.0000.0000.0000] # [E0023] TAG NUMBER SIGN
-E0024 ; [.0000.0000.0000.0000] # [E0024] TAG DOLLAR SIGN
-E0025 ; [.0000.0000.0000.0000] # [E0025] TAG PERCENT SIGN
-E0026 ; [.0000.0000.0000.0000] # [E0026] TAG AMPERSAND
-E0027 ; [.0000.0000.0000.0000] # [E0027] TAG APOSTROPHE
-E0028 ; [.0000.0000.0000.0000] # [E0028] TAG LEFT PARENTHESIS
-E0029 ; [.0000.0000.0000.0000] # [E0029] TAG RIGHT PARENTHESIS
-E002A ; [.0000.0000.0000.0000] # [E002A] TAG ASTERISK
-E002B ; [.0000.0000.0000.0000] # [E002B] TAG PLUS SIGN
-E002C ; [.0000.0000.0000.0000] # [E002C] TAG COMMA
-E002D ; [.0000.0000.0000.0000] # [E002D] TAG HYPHEN-MINUS
-E002E ; [.0000.0000.0000.0000] # [E002E] TAG FULL STOP
-E002F ; [.0000.0000.0000.0000] # [E002F] TAG SOLIDUS
-E0030 ; [.0000.0000.0000.0000] # [E0030] TAG DIGIT ZERO
-E0031 ; [.0000.0000.0000.0000] # [E0031] TAG DIGIT ONE
-E0032 ; [.0000.0000.0000.0000] # [E0032] TAG DIGIT TWO
-E0033 ; [.0000.0000.0000.0000] # [E0033] TAG DIGIT THREE
-E0034 ; [.0000.0000.0000.0000] # [E0034] TAG DIGIT FOUR
-E0035 ; [.0000.0000.0000.0000] # [E0035] TAG DIGIT FIVE
-E0036 ; [.0000.0000.0000.0000] # [E0036] TAG DIGIT SIX
-E0037 ; [.0000.0000.0000.0000] # [E0037] TAG DIGIT SEVEN
-E0038 ; [.0000.0000.0000.0000] # [E0038] TAG DIGIT EIGHT
-E0039 ; [.0000.0000.0000.0000] # [E0039] TAG DIGIT NINE
-E003A ; [.0000.0000.0000.0000] # [E003A] TAG COLON
-E003B ; [.0000.0000.0000.0000] # [E003B] TAG SEMICOLON
-E003C ; [.0000.0000.0000.0000] # [E003C] TAG LESS-THAN SIGN
-E003D ; [.0000.0000.0000.0000] # [E003D] TAG EQUALS SIGN
-E003E ; [.0000.0000.0000.0000] # [E003E] TAG GREATER-THAN SIGN
-E003F ; [.0000.0000.0000.0000] # [E003F] TAG QUESTION MARK
-E0040 ; [.0000.0000.0000.0000] # [E0040] TAG COMMERCIAL AT
-E0041 ; [.0000.0000.0000.0000] # [E0041] TAG LATIN CAPITAL LETTER A
-E0042 ; [.0000.0000.0000.0000] # [E0042] TAG LATIN CAPITAL LETTER B
-E0043 ; [.0000.0000.0000.0000] # [E0043] TAG LATIN CAPITAL LETTER C
-E0044 ; [.0000.0000.0000.0000] # [E0044] TAG LATIN CAPITAL LETTER D
-E0045 ; [.0000.0000.0000.0000] # [E0045] TAG LATIN CAPITAL LETTER E
-E0046 ; [.0000.0000.0000.0000] # [E0046] TAG LATIN CAPITAL LETTER F
-E0047 ; [.0000.0000.0000.0000] # [E0047] TAG LATIN CAPITAL LETTER G
-E0048 ; [.0000.0000.0000.0000] # [E0048] TAG LATIN CAPITAL LETTER H
-E0049 ; [.0000.0000.0000.0000] # [E0049] TAG LATIN CAPITAL LETTER I
-E004A ; [.0000.0000.0000.0000] # [E004A] TAG LATIN CAPITAL LETTER J
-E004B ; [.0000.0000.0000.0000] # [E004B] TAG LATIN CAPITAL LETTER K
-E004C ; [.0000.0000.0000.0000] # [E004C] TAG LATIN CAPITAL LETTER L
-E004D ; [.0000.0000.0000.0000] # [E004D] TAG LATIN CAPITAL LETTER M
-E004E ; [.0000.0000.0000.0000] # [E004E] TAG LATIN CAPITAL LETTER N
-E004F ; [.0000.0000.0000.0000] # [E004F] TAG LATIN CAPITAL LETTER O
-E0050 ; [.0000.0000.0000.0000] # [E0050] TAG LATIN CAPITAL LETTER P
-E0051 ; [.0000.0000.0000.0000] # [E0051] TAG LATIN CAPITAL LETTER Q
-E0052 ; [.0000.0000.0000.0000] # [E0052] TAG LATIN CAPITAL LETTER R
-E0053 ; [.0000.0000.0000.0000] # [E0053] TAG LATIN CAPITAL LETTER S
-E0054 ; [.0000.0000.0000.0000] # [E0054] TAG LATIN CAPITAL LETTER T
-E0055 ; [.0000.0000.0000.0000] # [E0055] TAG LATIN CAPITAL LETTER U
-E0056 ; [.0000.0000.0000.0000] # [E0056] TAG LATIN CAPITAL LETTER V
-E0057 ; [.0000.0000.0000.0000] # [E0057] TAG LATIN CAPITAL LETTER W
-E0058 ; [.0000.0000.0000.0000] # [E0058] TAG LATIN CAPITAL LETTER X
-E0059 ; [.0000.0000.0000.0000] # [E0059] TAG LATIN CAPITAL LETTER Y
-E005A ; [.0000.0000.0000.0000] # [E005A] TAG LATIN CAPITAL LETTER Z
-E005B ; [.0000.0000.0000.0000] # [E005B] TAG LEFT SQUARE BRACKET
-E005C ; [.0000.0000.0000.0000] # [E005C] TAG REVERSE SOLIDUS
-E005D ; [.0000.0000.0000.0000] # [E005D] TAG RIGHT SQUARE BRACKET
-E005E ; [.0000.0000.0000.0000] # [E005E] TAG CIRCUMFLEX ACCENT
-E005F ; [.0000.0000.0000.0000] # [E005F] TAG LOW LINE
-E0060 ; [.0000.0000.0000.0000] # [E0060] TAG GRAVE ACCENT
-E0061 ; [.0000.0000.0000.0000] # [E0061] TAG LATIN SMALL LETTER A
-E0062 ; [.0000.0000.0000.0000] # [E0062] TAG LATIN SMALL LETTER B
-E0063 ; [.0000.0000.0000.0000] # [E0063] TAG LATIN SMALL LETTER C
-E0064 ; [.0000.0000.0000.0000] # [E0064] TAG LATIN SMALL LETTER D
-E0065 ; [.0000.0000.0000.0000] # [E0065] TAG LATIN SMALL LETTER E
-E0066 ; [.0000.0000.0000.0000] # [E0066] TAG LATIN SMALL LETTER F
-E0067 ; [.0000.0000.0000.0000] # [E0067] TAG LATIN SMALL LETTER G
-E0068 ; [.0000.0000.0000.0000] # [E0068] TAG LATIN SMALL LETTER H
-E0069 ; [.0000.0000.0000.0000] # [E0069] TAG LATIN SMALL LETTER I
-E006A ; [.0000.0000.0000.0000] # [E006A] TAG LATIN SMALL LETTER J
-E006B ; [.0000.0000.0000.0000] # [E006B] TAG LATIN SMALL LETTER K
-E006C ; [.0000.0000.0000.0000] # [E006C] TAG LATIN SMALL LETTER L
-E006D ; [.0000.0000.0000.0000] # [E006D] TAG LATIN SMALL LETTER M
-E006E ; [.0000.0000.0000.0000] # [E006E] TAG LATIN SMALL LETTER N
-E006F ; [.0000.0000.0000.0000] # [E006F] TAG LATIN SMALL LETTER O
-E0070 ; [.0000.0000.0000.0000] # [E0070] TAG LATIN SMALL LETTER P
-E0071 ; [.0000.0000.0000.0000] # [E0071] TAG LATIN SMALL LETTER Q
-E0072 ; [.0000.0000.0000.0000] # [E0072] TAG LATIN SMALL LETTER R
-E0073 ; [.0000.0000.0000.0000] # [E0073] TAG LATIN SMALL LETTER S
-E0074 ; [.0000.0000.0000.0000] # [E0074] TAG LATIN SMALL LETTER T
-E0075 ; [.0000.0000.0000.0000] # [E0075] TAG LATIN SMALL LETTER U
-E0076 ; [.0000.0000.0000.0000] # [E0076] TAG LATIN SMALL LETTER V
-E0077 ; [.0000.0000.0000.0000] # [E0077] TAG LATIN SMALL LETTER W
-E0078 ; [.0000.0000.0000.0000] # [E0078] TAG LATIN SMALL LETTER X
-E0079 ; [.0000.0000.0000.0000] # [E0079] TAG LATIN SMALL LETTER Y
-E007A ; [.0000.0000.0000.0000] # [E007A] TAG LATIN SMALL LETTER Z
-E007B ; [.0000.0000.0000.0000] # [E007B] TAG LEFT CURLY BRACKET
-E007C ; [.0000.0000.0000.0000] # [E007C] TAG VERTICAL LINE
-E007D ; [.0000.0000.0000.0000] # [E007D] TAG RIGHT CURLY BRACKET
-E007E ; [.0000.0000.0000.0000] # [E007E] TAG TILDE
-E007F ; [.0000.0000.0000.0000] # [E007F] CANCEL TAG
-E0100 ; [.0000.0000.0000.0000] # [E0100] VARIATION SELECTOR-17
-E0101 ; [.0000.0000.0000.0000] # [E0101] VARIATION SELECTOR-18
-E0102 ; [.0000.0000.0000.0000] # [E0102] VARIATION SELECTOR-19
-E0103 ; [.0000.0000.0000.0000] # [E0103] VARIATION SELECTOR-20
-E0104 ; [.0000.0000.0000.0000] # [E0104] VARIATION SELECTOR-21
-E0105 ; [.0000.0000.0000.0000] # [E0105] VARIATION SELECTOR-22
-E0106 ; [.0000.0000.0000.0000] # [E0106] VARIATION SELECTOR-23
-E0107 ; [.0000.0000.0000.0000] # [E0107] VARIATION SELECTOR-24
-E0108 ; [.0000.0000.0000.0000] # [E0108] VARIATION SELECTOR-25
-E0109 ; [.0000.0000.0000.0000] # [E0109] VARIATION SELECTOR-26
-E010A ; [.0000.0000.0000.0000] # [E010A] VARIATION SELECTOR-27
-E010B ; [.0000.0000.0000.0000] # [E010B] VARIATION SELECTOR-28
-E010C ; [.0000.0000.0000.0000] # [E010C] VARIATION SELECTOR-29
-E010D ; [.0000.0000.0000.0000] # [E010D] VARIATION SELECTOR-30
-E010E ; [.0000.0000.0000.0000] # [E010E] VARIATION SELECTOR-31
-E010F ; [.0000.0000.0000.0000] # [E010F] VARIATION SELECTOR-32
-E0110 ; [.0000.0000.0000.0000] # [E0110] VARIATION SELECTOR-33
-E0111 ; [.0000.0000.0000.0000] # [E0111] VARIATION SELECTOR-34
-E0112 ; [.0000.0000.0000.0000] # [E0112] VARIATION SELECTOR-35
-E0113 ; [.0000.0000.0000.0000] # [E0113] VARIATION SELECTOR-36
-E0114 ; [.0000.0000.0000.0000] # [E0114] VARIATION SELECTOR-37
-E0115 ; [.0000.0000.0000.0000] # [E0115] VARIATION SELECTOR-38
-E0116 ; [.0000.0000.0000.0000] # [E0116] VARIATION SELECTOR-39
-E0117 ; [.0000.0000.0000.0000] # [E0117] VARIATION SELECTOR-40
-E0118 ; [.0000.0000.0000.0000] # [E0118] VARIATION SELECTOR-41
-E0119 ; [.0000.0000.0000.0000] # [E0119] VARIATION SELECTOR-42
-E011A ; [.0000.0000.0000.0000] # [E011A] VARIATION SELECTOR-43
-E011B ; [.0000.0000.0000.0000] # [E011B] VARIATION SELECTOR-44
-E011C ; [.0000.0000.0000.0000] # [E011C] VARIATION SELECTOR-45
-E011D ; [.0000.0000.0000.0000] # [E011D] VARIATION SELECTOR-46
-E011E ; [.0000.0000.0000.0000] # [E011E] VARIATION SELECTOR-47
-E011F ; [.0000.0000.0000.0000] # [E011F] VARIATION SELECTOR-48
-E0120 ; [.0000.0000.0000.0000] # [E0120] VARIATION SELECTOR-49
-E0121 ; [.0000.0000.0000.0000] # [E0121] VARIATION SELECTOR-50
-E0122 ; [.0000.0000.0000.0000] # [E0122] VARIATION SELECTOR-51
-E0123 ; [.0000.0000.0000.0000] # [E0123] VARIATION SELECTOR-52
-E0124 ; [.0000.0000.0000.0000] # [E0124] VARIATION SELECTOR-53
-E0125 ; [.0000.0000.0000.0000] # [E0125] VARIATION SELECTOR-54
-E0126 ; [.0000.0000.0000.0000] # [E0126] VARIATION SELECTOR-55
-E0127 ; [.0000.0000.0000.0000] # [E0127] VARIATION SELECTOR-56
-E0128 ; [.0000.0000.0000.0000] # [E0128] VARIATION SELECTOR-57
-E0129 ; [.0000.0000.0000.0000] # [E0129] VARIATION SELECTOR-58
-E012A ; [.0000.0000.0000.0000] # [E012A] VARIATION SELECTOR-59
-E012B ; [.0000.0000.0000.0000] # [E012B] VARIATION SELECTOR-60
-E012C ; [.0000.0000.0000.0000] # [E012C] VARIATION SELECTOR-61
-E012D ; [.0000.0000.0000.0000] # [E012D] VARIATION SELECTOR-62
-E012E ; [.0000.0000.0000.0000] # [E012E] VARIATION SELECTOR-63
-E012F ; [.0000.0000.0000.0000] # [E012F] VARIATION SELECTOR-64
-E0130 ; [.0000.0000.0000.0000] # [E0130] VARIATION SELECTOR-65
-E0131 ; [.0000.0000.0000.0000] # [E0131] VARIATION SELECTOR-66
-E0132 ; [.0000.0000.0000.0000] # [E0132] VARIATION SELECTOR-67
-E0133 ; [.0000.0000.0000.0000] # [E0133] VARIATION SELECTOR-68
-E0134 ; [.0000.0000.0000.0000] # [E0134] VARIATION SELECTOR-69
-E0135 ; [.0000.0000.0000.0000] # [E0135] VARIATION SELECTOR-70
-E0136 ; [.0000.0000.0000.0000] # [E0136] VARIATION SELECTOR-71
-E0137 ; [.0000.0000.0000.0000] # [E0137] VARIATION SELECTOR-72
-E0138 ; [.0000.0000.0000.0000] # [E0138] VARIATION SELECTOR-73
-E0139 ; [.0000.0000.0000.0000] # [E0139] VARIATION SELECTOR-74
-E013A ; [.0000.0000.0000.0000] # [E013A] VARIATION SELECTOR-75
-E013B ; [.0000.0000.0000.0000] # [E013B] VARIATION SELECTOR-76
-E013C ; [.0000.0000.0000.0000] # [E013C] VARIATION SELECTOR-77
-E013D ; [.0000.0000.0000.0000] # [E013D] VARIATION SELECTOR-78
-E013E ; [.0000.0000.0000.0000] # [E013E] VARIATION SELECTOR-79
-E013F ; [.0000.0000.0000.0000] # [E013F] VARIATION SELECTOR-80
-E0140 ; [.0000.0000.0000.0000] # [E0140] VARIATION SELECTOR-81
-E0141 ; [.0000.0000.0000.0000] # [E0141] VARIATION SELECTOR-82
-E0142 ; [.0000.0000.0000.0000] # [E0142] VARIATION SELECTOR-83
-E0143 ; [.0000.0000.0000.0000] # [E0143] VARIATION SELECTOR-84
-E0144 ; [.0000.0000.0000.0000] # [E0144] VARIATION SELECTOR-85
-E0145 ; [.0000.0000.0000.0000] # [E0145] VARIATION SELECTOR-86
-E0146 ; [.0000.0000.0000.0000] # [E0146] VARIATION SELECTOR-87
-E0147 ; [.0000.0000.0000.0000] # [E0147] VARIATION SELECTOR-88
-E0148 ; [.0000.0000.0000.0000] # [E0148] VARIATION SELECTOR-89
-E0149 ; [.0000.0000.0000.0000] # [E0149] VARIATION SELECTOR-90
-E014A ; [.0000.0000.0000.0000] # [E014A] VARIATION SELECTOR-91
-E014B ; [.0000.0000.0000.0000] # [E014B] VARIATION SELECTOR-92
-E014C ; [.0000.0000.0000.0000] # [E014C] VARIATION SELECTOR-93
-E014D ; [.0000.0000.0000.0000] # [E014D] VARIATION SELECTOR-94
-E014E ; [.0000.0000.0000.0000] # [E014E] VARIATION SELECTOR-95
-E014F ; [.0000.0000.0000.0000] # [E014F] VARIATION SELECTOR-96
-E0150 ; [.0000.0000.0000.0000] # [E0150] VARIATION SELECTOR-97
-E0151 ; [.0000.0000.0000.0000] # [E0151] VARIATION SELECTOR-98
-E0152 ; [.0000.0000.0000.0000] # [E0152] VARIATION SELECTOR-99
-E0153 ; [.0000.0000.0000.0000] # [E0153] VARIATION SELECTOR-100
-E0154 ; [.0000.0000.0000.0000] # [E0154] VARIATION SELECTOR-101
-E0155 ; [.0000.0000.0000.0000] # [E0155] VARIATION SELECTOR-102
-E0156 ; [.0000.0000.0000.0000] # [E0156] VARIATION SELECTOR-103
-E0157 ; [.0000.0000.0000.0000] # [E0157] VARIATION SELECTOR-104
-E0158 ; [.0000.0000.0000.0000] # [E0158] VARIATION SELECTOR-105
-E0159 ; [.0000.0000.0000.0000] # [E0159] VARIATION SELECTOR-106
-E015A ; [.0000.0000.0000.0000] # [E015A] VARIATION SELECTOR-107
-E015B ; [.0000.0000.0000.0000] # [E015B] VARIATION SELECTOR-108
-E015C ; [.0000.0000.0000.0000] # [E015C] VARIATION SELECTOR-109
-E015D ; [.0000.0000.0000.0000] # [E015D] VARIATION SELECTOR-110
-E015E ; [.0000.0000.0000.0000] # [E015E] VARIATION SELECTOR-111
-E015F ; [.0000.0000.0000.0000] # [E015F] VARIATION SELECTOR-112
-E0160 ; [.0000.0000.0000.0000] # [E0160] VARIATION SELECTOR-113
-E0161 ; [.0000.0000.0000.0000] # [E0161] VARIATION SELECTOR-114
-E0162 ; [.0000.0000.0000.0000] # [E0162] VARIATION SELECTOR-115
-E0163 ; [.0000.0000.0000.0000] # [E0163] VARIATION SELECTOR-116
-E0164 ; [.0000.0000.0000.0000] # [E0164] VARIATION SELECTOR-117
-E0165 ; [.0000.0000.0000.0000] # [E0165] VARIATION SELECTOR-118
-E0166 ; [.0000.0000.0000.0000] # [E0166] VARIATION SELECTOR-119
-E0167 ; [.0000.0000.0000.0000] # [E0167] VARIATION SELECTOR-120
-E0168 ; [.0000.0000.0000.0000] # [E0168] VARIATION SELECTOR-121
-E0169 ; [.0000.0000.0000.0000] # [E0169] VARIATION SELECTOR-122
-E016A ; [.0000.0000.0000.0000] # [E016A] VARIATION SELECTOR-123
-E016B ; [.0000.0000.0000.0000] # [E016B] VARIATION SELECTOR-124
-E016C ; [.0000.0000.0000.0000] # [E016C] VARIATION SELECTOR-125
-E016D ; [.0000.0000.0000.0000] # [E016D] VARIATION SELECTOR-126
-E016E ; [.0000.0000.0000.0000] # [E016E] VARIATION SELECTOR-127
-E016F ; [.0000.0000.0000.0000] # [E016F] VARIATION SELECTOR-128
-E0170 ; [.0000.0000.0000.0000] # [E0170] VARIATION SELECTOR-129
-E0171 ; [.0000.0000.0000.0000] # [E0171] VARIATION SELECTOR-130
-E0172 ; [.0000.0000.0000.0000] # [E0172] VARIATION SELECTOR-131
-E0173 ; [.0000.0000.0000.0000] # [E0173] VARIATION SELECTOR-132
-E0174 ; [.0000.0000.0000.0000] # [E0174] VARIATION SELECTOR-133
-E0175 ; [.0000.0000.0000.0000] # [E0175] VARIATION SELECTOR-134
-E0176 ; [.0000.0000.0000.0000] # [E0176] VARIATION SELECTOR-135
-E0177 ; [.0000.0000.0000.0000] # [E0177] VARIATION SELECTOR-136
-E0178 ; [.0000.0000.0000.0000] # [E0178] VARIATION SELECTOR-137
-E0179 ; [.0000.0000.0000.0000] # [E0179] VARIATION SELECTOR-138
-E017A ; [.0000.0000.0000.0000] # [E017A] VARIATION SELECTOR-139
-E017B ; [.0000.0000.0000.0000] # [E017B] VARIATION SELECTOR-140
-E017C ; [.0000.0000.0000.0000] # [E017C] VARIATION SELECTOR-141
-E017D ; [.0000.0000.0000.0000] # [E017D] VARIATION SELECTOR-142
-E017E ; [.0000.0000.0000.0000] # [E017E] VARIATION SELECTOR-143
-E017F ; [.0000.0000.0000.0000] # [E017F] VARIATION SELECTOR-144
-E0180 ; [.0000.0000.0000.0000] # [E0180] VARIATION SELECTOR-145
-E0181 ; [.0000.0000.0000.0000] # [E0181] VARIATION SELECTOR-146
-E0182 ; [.0000.0000.0000.0000] # [E0182] VARIATION SELECTOR-147
-E0183 ; [.0000.0000.0000.0000] # [E0183] VARIATION SELECTOR-148
-E0184 ; [.0000.0000.0000.0000] # [E0184] VARIATION SELECTOR-149
-E0185 ; [.0000.0000.0000.0000] # [E0185] VARIATION SELECTOR-150
-E0186 ; [.0000.0000.0000.0000] # [E0186] VARIATION SELECTOR-151
-E0187 ; [.0000.0000.0000.0000] # [E0187] VARIATION SELECTOR-152
-E0188 ; [.0000.0000.0000.0000] # [E0188] VARIATION SELECTOR-153
-E0189 ; [.0000.0000.0000.0000] # [E0189] VARIATION SELECTOR-154
-E018A ; [.0000.0000.0000.0000] # [E018A] VARIATION SELECTOR-155
-E018B ; [.0000.0000.0000.0000] # [E018B] VARIATION SELECTOR-156
-E018C ; [.0000.0000.0000.0000] # [E018C] VARIATION SELECTOR-157
-E018D ; [.0000.0000.0000.0000] # [E018D] VARIATION SELECTOR-158
-E018E ; [.0000.0000.0000.0000] # [E018E] VARIATION SELECTOR-159
-E018F ; [.0000.0000.0000.0000] # [E018F] VARIATION SELECTOR-160
-E0190 ; [.0000.0000.0000.0000] # [E0190] VARIATION SELECTOR-161
-E0191 ; [.0000.0000.0000.0000] # [E0191] VARIATION SELECTOR-162
-E0192 ; [.0000.0000.0000.0000] # [E0192] VARIATION SELECTOR-163
-E0193 ; [.0000.0000.0000.0000] # [E0193] VARIATION SELECTOR-164
-E0194 ; [.0000.0000.0000.0000] # [E0194] VARIATION SELECTOR-165
-E0195 ; [.0000.0000.0000.0000] # [E0195] VARIATION SELECTOR-166
-E0196 ; [.0000.0000.0000.0000] # [E0196] VARIATION SELECTOR-167
-E0197 ; [.0000.0000.0000.0000] # [E0197] VARIATION SELECTOR-168
-E0198 ; [.0000.0000.0000.0000] # [E0198] VARIATION SELECTOR-169
-E0199 ; [.0000.0000.0000.0000] # [E0199] VARIATION SELECTOR-170
-E019A ; [.0000.0000.0000.0000] # [E019A] VARIATION SELECTOR-171
-E019B ; [.0000.0000.0000.0000] # [E019B] VARIATION SELECTOR-172
-E019C ; [.0000.0000.0000.0000] # [E019C] VARIATION SELECTOR-173
-E019D ; [.0000.0000.0000.0000] # [E019D] VARIATION SELECTOR-174
-E019E ; [.0000.0000.0000.0000] # [E019E] VARIATION SELECTOR-175
-E019F ; [.0000.0000.0000.0000] # [E019F] VARIATION SELECTOR-176
-E01A0 ; [.0000.0000.0000.0000] # [E01A0] VARIATION SELECTOR-177
-E01A1 ; [.0000.0000.0000.0000] # [E01A1] VARIATION SELECTOR-178
-E01A2 ; [.0000.0000.0000.0000] # [E01A2] VARIATION SELECTOR-179
-E01A3 ; [.0000.0000.0000.0000] # [E01A3] VARIATION SELECTOR-180
-E01A4 ; [.0000.0000.0000.0000] # [E01A4] VARIATION SELECTOR-181
-E01A5 ; [.0000.0000.0000.0000] # [E01A5] VARIATION SELECTOR-182
-E01A6 ; [.0000.0000.0000.0000] # [E01A6] VARIATION SELECTOR-183
-E01A7 ; [.0000.0000.0000.0000] # [E01A7] VARIATION SELECTOR-184
-E01A8 ; [.0000.0000.0000.0000] # [E01A8] VARIATION SELECTOR-185
-E01A9 ; [.0000.0000.0000.0000] # [E01A9] VARIATION SELECTOR-186
-E01AA ; [.0000.0000.0000.0000] # [E01AA] VARIATION SELECTOR-187
-E01AB ; [.0000.0000.0000.0000] # [E01AB] VARIATION SELECTOR-188
-E01AC ; [.0000.0000.0000.0000] # [E01AC] VARIATION SELECTOR-189
-E01AD ; [.0000.0000.0000.0000] # [E01AD] VARIATION SELECTOR-190
-E01AE ; [.0000.0000.0000.0000] # [E01AE] VARIATION SELECTOR-191
-E01AF ; [.0000.0000.0000.0000] # [E01AF] VARIATION SELECTOR-192
-E01B0 ; [.0000.0000.0000.0000] # [E01B0] VARIATION SELECTOR-193
-E01B1 ; [.0000.0000.0000.0000] # [E01B1] VARIATION SELECTOR-194
-E01B2 ; [.0000.0000.0000.0000] # [E01B2] VARIATION SELECTOR-195
-E01B3 ; [.0000.0000.0000.0000] # [E01B3] VARIATION SELECTOR-196
-E01B4 ; [.0000.0000.0000.0000] # [E01B4] VARIATION SELECTOR-197
-E01B5 ; [.0000.0000.0000.0000] # [E01B5] VARIATION SELECTOR-198
-E01B6 ; [.0000.0000.0000.0000] # [E01B6] VARIATION SELECTOR-199
-E01B7 ; [.0000.0000.0000.0000] # [E01B7] VARIATION SELECTOR-200
-E01B8 ; [.0000.0000.0000.0000] # [E01B8] VARIATION SELECTOR-201
-E01B9 ; [.0000.0000.0000.0000] # [E01B9] VARIATION SELECTOR-202
-E01BA ; [.0000.0000.0000.0000] # [E01BA] VARIATION SELECTOR-203
-E01BB ; [.0000.0000.0000.0000] # [E01BB] VARIATION SELECTOR-204
-E01BC ; [.0000.0000.0000.0000] # [E01BC] VARIATION SELECTOR-205
-E01BD ; [.0000.0000.0000.0000] # [E01BD] VARIATION SELECTOR-206
-E01BE ; [.0000.0000.0000.0000] # [E01BE] VARIATION SELECTOR-207
-E01BF ; [.0000.0000.0000.0000] # [E01BF] VARIATION SELECTOR-208
-E01C0 ; [.0000.0000.0000.0000] # [E01C0] VARIATION SELECTOR-209
-E01C1 ; [.0000.0000.0000.0000] # [E01C1] VARIATION SELECTOR-210
-E01C2 ; [.0000.0000.0000.0000] # [E01C2] VARIATION SELECTOR-211
-E01C3 ; [.0000.0000.0000.0000] # [E01C3] VARIATION SELECTOR-212
-E01C4 ; [.0000.0000.0000.0000] # [E01C4] VARIATION SELECTOR-213
-E01C5 ; [.0000.0000.0000.0000] # [E01C5] VARIATION SELECTOR-214
-E01C6 ; [.0000.0000.0000.0000] # [E01C6] VARIATION SELECTOR-215
-E01C7 ; [.0000.0000.0000.0000] # [E01C7] VARIATION SELECTOR-216
-E01C8 ; [.0000.0000.0000.0000] # [E01C8] VARIATION SELECTOR-217
-E01C9 ; [.0000.0000.0000.0000] # [E01C9] VARIATION SELECTOR-218
-E01CA ; [.0000.0000.0000.0000] # [E01CA] VARIATION SELECTOR-219
-E01CB ; [.0000.0000.0000.0000] # [E01CB] VARIATION SELECTOR-220
-E01CC ; [.0000.0000.0000.0000] # [E01CC] VARIATION SELECTOR-221
-E01CD ; [.0000.0000.0000.0000] # [E01CD] VARIATION SELECTOR-222
-E01CE ; [.0000.0000.0000.0000] # [E01CE] VARIATION SELECTOR-223
-E01CF ; [.0000.0000.0000.0000] # [E01CF] VARIATION SELECTOR-224
-E01D0 ; [.0000.0000.0000.0000] # [E01D0] VARIATION SELECTOR-225
-E01D1 ; [.0000.0000.0000.0000] # [E01D1] VARIATION SELECTOR-226
-E01D2 ; [.0000.0000.0000.0000] # [E01D2] VARIATION SELECTOR-227
-E01D3 ; [.0000.0000.0000.0000] # [E01D3] VARIATION SELECTOR-228
-E01D4 ; [.0000.0000.0000.0000] # [E01D4] VARIATION SELECTOR-229
-E01D5 ; [.0000.0000.0000.0000] # [E01D5] VARIATION SELECTOR-230
-E01D6 ; [.0000.0000.0000.0000] # [E01D6] VARIATION SELECTOR-231
-E01D7 ; [.0000.0000.0000.0000] # [E01D7] VARIATION SELECTOR-232
-E01D8 ; [.0000.0000.0000.0000] # [E01D8] VARIATION SELECTOR-233
-E01D9 ; [.0000.0000.0000.0000] # [E01D9] VARIATION SELECTOR-234
-E01DA ; [.0000.0000.0000.0000] # [E01DA] VARIATION SELECTOR-235
-E01DB ; [.0000.0000.0000.0000] # [E01DB] VARIATION SELECTOR-236
-E01DC ; [.0000.0000.0000.0000] # [E01DC] VARIATION SELECTOR-237
-E01DD ; [.0000.0000.0000.0000] # [E01DD] VARIATION SELECTOR-238
-E01DE ; [.0000.0000.0000.0000] # [E01DE] VARIATION SELECTOR-239
-E01DF ; [.0000.0000.0000.0000] # [E01DF] VARIATION SELECTOR-240
-E01E0 ; [.0000.0000.0000.0000] # [E01E0] VARIATION SELECTOR-241
-E01E1 ; [.0000.0000.0000.0000] # [E01E1] VARIATION SELECTOR-242
-E01E2 ; [.0000.0000.0000.0000] # [E01E2] VARIATION SELECTOR-243
-E01E3 ; [.0000.0000.0000.0000] # [E01E3] VARIATION SELECTOR-244
-E01E4 ; [.0000.0000.0000.0000] # [E01E4] VARIATION SELECTOR-245
-E01E5 ; [.0000.0000.0000.0000] # [E01E5] VARIATION SELECTOR-246
-E01E6 ; [.0000.0000.0000.0000] # [E01E6] VARIATION SELECTOR-247
-E01E7 ; [.0000.0000.0000.0000] # [E01E7] VARIATION SELECTOR-248
-E01E8 ; [.0000.0000.0000.0000] # [E01E8] VARIATION SELECTOR-249
-E01E9 ; [.0000.0000.0000.0000] # [E01E9] VARIATION SELECTOR-250
-E01EA ; [.0000.0000.0000.0000] # [E01EA] VARIATION SELECTOR-251
-E01EB ; [.0000.0000.0000.0000] # [E01EB] VARIATION SELECTOR-252
-E01EC ; [.0000.0000.0000.0000] # [E01EC] VARIATION SELECTOR-253
-E01ED ; [.0000.0000.0000.0000] # [E01ED] VARIATION SELECTOR-254
-E01EE ; [.0000.0000.0000.0000] # [E01EE] VARIATION SELECTOR-255
-E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
-0009 ; [*0201.0020.0002.0009] # HORIZONTAL TABULATION (in 6429)
-000A ; [*0202.0020.0002.000A] # LINE FEED (in 6429)
-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 ; [*020A.0020.0002.0020] # SPACE
-0021 ; [*025E.0020.0002.0021] # EXCLAMATION MARK
-0022 ; [*02F1.0020.0002.0022] # QUOTATION MARK
-0023 ; [*0376.0020.0002.0023] # NUMBER SIGN
-0025 ; [*0377.0020.0002.0025] # PERCENT SIGN
-0026 ; [*0374.0020.0002.0026] # AMPERSAND
-0027 ; [*02EA.0020.0002.0027] # APOSTROPHE
-0028 ; [*02FB.0020.0002.0028] # LEFT PARENTHESIS
-0029 ; [*02FC.0020.0002.0029] # RIGHT PARENTHESIS
-002A ; [*036D.0020.0002.002A] # ASTERISK
-002B ; [*059C.0020.0002.002B] # PLUS SIGN
-002C ; [*0221.0020.0002.002C] # COMMA
-002D ; [*020E.0020.0002.002D] # HYPHEN-MINUS
-002E ; [*0273.0020.0002.002E] # FULL STOP
-002F ; [*0372.0020.0002.002F] # SOLIDUS
-003A ; [*0237.0020.0002.003A] # COLON
-003B ; [*0232.0020.0002.003B] # SEMICOLON
-003C ; [*05A0.0020.0002.003C] # LESS-THAN SIGN
-003D ; [*05A1.0020.0002.003D] # EQUALS SIGN
-003E ; [*05A2.0020.0002.003E] # GREATER-THAN SIGN
-003F ; [*0263.0020.0002.003F] # QUESTION MARK
-0040 ; [*036C.0020.0002.0040] # COMMERCIAL AT
-005B ; [*02FD.0020.0002.005B] # LEFT SQUARE BRACKET
-005C ; [*0373.0020.0002.005C] # REVERSE SOLIDUS
-005D ; [*02FE.0020.0002.005D] # RIGHT SQUARE BRACKET
-005E ; [*0412.0020.0002.005E] # CIRCUMFLEX ACCENT
-005F ; [*020C.0020.0002.005F] # LOW LINE
-0060 ; [*040F.0020.0002.0060] # GRAVE ACCENT
-007B ; [*02FF.0020.0002.007B] # LEFT CURLY BRACKET
-007C ; [*05A4.0020.0002.007C] # VERTICAL LINE
-007D ; [*0300.0020.0002.007D] # RIGHT CURLY BRACKET
-007E ; [*05A6.0020.0002.007E] # TILDE
-0085 ; [*0206.0020.0002.0085] # NEXT LINE (in 6429)
-00A0 ; [*020A.0020.001B.00A0] # NO-BREAK SPACE
-00A1 ; [*025F.0020.0002.00A1] # INVERTED EXCLAMATION MARK
-00A6 ; [*05A5.0020.0002.00A6] # BROKEN BAR
-00A7 ; [*0368.0020.0002.00A7] # SECTION SIGN
-00A8 ; [*0416.0020.0002.00A8] # DIAERESIS
-00A9 ; [*050C.0020.0002.00A9] # COPYRIGHT SIGN
-00AB ; [*02F9.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; [*05A3.0020.0002.00AC] # NOT SIGN
-00AE ; [*050D.0020.0002.00AE] # REGISTERED SIGN
-00AF ; [*0413.0020.0002.00AF] # MACRON
-00B0 ; [*0482.0020.0002.00B0] # DEGREE SIGN
-00B1 ; [*059D.0020.0002.00B1] # PLUS-MINUS SIGN
-00B4 ; [*0410.0020.0002.00B4] # ACUTE ACCENT
-00B6 ; [*036A.0020.0002.00B6] # PILCROW SIGN
-00B7 ; [*0284.0020.0002.00B7] # MIDDLE DOT
-00B8 ; [*0419.0020.0002.00B8] # CEDILLA
-00BB ; [*02FA.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF ; [*0264.0020.0002.00BF] # INVERTED QUESTION MARK
-00D7 ; [*059F.0020.0002.00D7] # MULTIPLICATION SIGN
-00F7 ; [*059E.0020.0002.00F7] # DIVISION SIGN
-02B9 ; [*0420.0020.0002.02B9] # MODIFIER LETTER PRIME
-02BA ; [*0422.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
-02C2 ; [*0423.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
-02C3 ; [*0424.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
-02C4 ; [*0425.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
-02C5 ; [*0426.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
-02C6 ; [*0427.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7 ; [*0428.0020.0002.02C7] # CARON
-02C8 ; [*0429.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
-02C9 ; [*042A.0020.0002.02C9] # MODIFIER LETTER MACRON
-02CA ; [*042B.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
-02CB ; [*042C.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
-02CC ; [*042D.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
-02CD ; [*042E.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
-02CE ; [*042F.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
-02CF ; [*0430.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
-02D2 ; [*0431.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3 ; [*0432.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4 ; [*0433.0020.0002.02D4] # MODIFIER LETTER UP TACK
-02D5 ; [*0434.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
-02D6 ; [*0435.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
-02D7 ; [*0436.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
-02D8 ; [*0414.0020.0002.02D8] # BREVE
-02D9 ; [*0415.0020.0002.02D9] # DOT ABOVE
-02DA ; [*0417.0020.0002.02DA] # RING ABOVE
-02DB ; [*041A.0020.0002.02DB] # OGONEK
-02DC ; [*0411.0020.0002.02DC] # SMALL TILDE
-02DD ; [*0418.0020.0002.02DD] # DOUBLE ACUTE ACCENT
-02DE ; [*0437.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
-02DF ; [*0438.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
-02E5 ; [*0439.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6 ; [*043A.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
-02E7 ; [*043B.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
-02E8 ; [*043C.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
-02E9 ; [*043D.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA ; [*043E.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB ; [*043F.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; [*0440.0020.0002.02EC] # MODIFIER LETTER VOICING
-02ED ; [*0441.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
-02EF ; [*0442.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0 ; [*0443.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
-02F1 ; [*0444.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2 ; [*0445.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3 ; [*0446.0020.0002.02F3] # MODIFIER LETTER LOW RING
-02F4 ; [*0447.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5 ; [*0448.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6 ; [*0449.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7 ; [*044A.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
-02F8 ; [*044B.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
-02F9 ; [*044C.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
-02FA ; [*044D.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
-02FB ; [*044E.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
-02FC ; [*044F.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
-02FD ; [*0450.0020.0002.02FD] # MODIFIER LETTER SHELF
-02FE ; [*0451.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
-02FF ; [*0452.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
-034F ; [.0000.0000.0000.034F] # COMBINING GRAPHEME JOINER
-0374 ; [*0420.0020.0002.0374] # GREEK NUMERAL SIGN
-0375 ; [*0421.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
-037E ; [*0232.0020.0002.037E] # GREEK QUESTION MARK
-0384 ; [*0410.0020.0002.0384] # GREEK TONOS
-0385 ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS
-0387 ; [*0284.0020.0002.0387] # GREEK ANO TELEIA
-03F6 ; [*0597.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
-0482 ; [*0483.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 ; [*03A8.0020.0002.055A] # ARMENIAN APOSTROPHE
-055B ; [*03A9.0020.0002.055B] # ARMENIAN EMPHASIS MARK
-055C ; [*0260.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
-055D ; [*0224.0020.0002.055D] # ARMENIAN COMMA
-055E ; [*0266.0020.0002.055E] # ARMENIAN QUESTION MARK
-055F ; [*03AA.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
-0589 ; [*0238.0020.0002.0589] # ARMENIAN FULL STOP
-058A ; [*020F.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
-0594 ; [.0000.0000.0000.0594] # HEBREW ACCENT ZAQEF QATAN
-0595 ; [.0000.0000.0000.0595] # HEBREW ACCENT ZAQEF GADOL
-0596 ; [.0000.0000.0000.0596] # HEBREW ACCENT TIPEHA
-0597 ; [.0000.0000.0000.0597] # HEBREW ACCENT REVIA
-0598 ; [.0000.0000.0000.0598] # HEBREW ACCENT ZARQA
-0599 ; [.0000.0000.0000.0599] # HEBREW ACCENT PASHTA
-059A ; [.0000.0000.0000.059A] # HEBREW ACCENT YETIV
-059B ; [.0000.0000.0000.059B] # HEBREW ACCENT TEVIR
-059C ; [.0000.0000.0000.059C] # HEBREW ACCENT GERESH
-059D ; [.0000.0000.0000.059D] # HEBREW ACCENT GERESH MUQDAM
-059E ; [.0000.0000.0000.059E] # HEBREW ACCENT GERSHAYIM
-059F ; [.0000.0000.0000.059F] # HEBREW ACCENT QARNEY PARA
-05A0 ; [.0000.0000.0000.05A0] # HEBREW ACCENT TELISHA GEDOLA
-05A1 ; [.0000.0000.0000.05A1] # HEBREW ACCENT PAZER
-05A2 ; [.0000.0000.0000.05A2] # HEBREW ACCENT ATNAH HAFUKH
-05A3 ; [.0000.0000.0000.05A3] # HEBREW ACCENT MUNAH
-05A4 ; [.0000.0000.0000.05A4] # HEBREW ACCENT MAHAPAKH
-05A5 ; [.0000.0000.0000.05A5] # HEBREW ACCENT MERKHA
-05A6 ; [.0000.0000.0000.05A6] # HEBREW ACCENT MERKHA KEFULA
-05A7 ; [.0000.0000.0000.05A7] # HEBREW ACCENT DARGA
-05A8 ; [.0000.0000.0000.05A8] # HEBREW ACCENT QADMA
-05A9 ; [.0000.0000.0000.05A9] # HEBREW ACCENT TELISHA QETANA
-05AA ; [.0000.0000.0000.05AA] # HEBREW ACCENT YERAH BEN YOMO
-05AB ; [.0000.0000.0000.05AB] # HEBREW ACCENT OLE
-05AC ; [.0000.0000.0000.05AC] # HEBREW ACCENT ILUY
-05AD ; [.0000.0000.0000.05AD] # HEBREW ACCENT DEHI
-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 ; [*03AB.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
-05C0 ; [*03AC.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
-05C3 ; [*03AD.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 ; [*03AE.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
-05F3 ; [*03AF.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
-05F4 ; [*03B0.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
-0604 ; [.0000.0000.0000.0604] # ARABIC SIGN SAMVAT
-0606 ; [*05B3.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
-0607 ; [*05B5.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
-0608 ; [*0484.0020.0002.0608] # ARABIC RAY
-0609 ; [*037A.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
-060A ; [*037C.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
-060C ; [*0225.0020.0002.060C] # ARABIC COMMA
-060D ; [*0226.0020.0002.060D] # ARABIC DATE SEPARATOR
-060E ; [*0487.0020.0002.060E] # ARABIC POETIC VERSE SIGN
-060F ; [*0488.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
-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 ; [*0233.0020.0002.061B] # ARABIC SEMICOLON
-061E ; [*0239.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F ; [*0267.0020.0002.061F] # ARABIC QUESTION MARK
-0640 ; [.0000.0000.0000.0640] # ARABIC TATWEEL
-066A ; [*0378.0020.0002.066A] # ARABIC PERCENT SIGN
-066B ; [*0227.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
-066C ; [*0228.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
-066D ; [*0370.0020.0002.066D] # ARABIC FIVE POINTED STAR
-06D4 ; [*0275.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
-06D9 ; [.0000.0000.0000.06D9] # ARABIC SMALL HIGH LAM ALEF
-06DA ; [.0000.0000.0000.06DA] # ARABIC SMALL HIGH JEEM
-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 ; [*0489.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
-06E2 ; [.0000.0000.0000.06E2] # ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E3 ; [.0000.0000.0000.06E3] # ARABIC SMALL LOW SEEN
-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 ; [*048A.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 ; [*02AF.0020.0002.0700] # SYRIAC END OF PARAGRAPH
-0701 ; [*0276.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
-0702 ; [*0277.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
-0703 ; [*023A.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
-0704 ; [*023B.0020.0002.0704] # SYRIAC SUBLINEAR COLON
-0705 ; [*023C.0020.0002.0705] # SYRIAC HORIZONTAL COLON
-0706 ; [*023D.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
-0707 ; [*023E.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
-0708 ; [*023F.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709 ; [*0268.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A ; [*03B1.0020.0002.070A] # SYRIAC CONTRACTION
-070B ; [*03B2.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
-070C ; [*03B3.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
-070D ; [*03B4.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 ; [*049C.0020.0002.07F6] # NKO SYMBOL OO DENNEN
-07F7 ; [*02B0.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
-07F8 ; [*0229.0020.0002.07F8] # NKO COMMA
-07F9 ; [*0261.0020.0002.07F9] # NKO EXCLAMATION MARK
-07FA ; [.0000.0000.0000.07FA] # NKO LAJANYALAN
-0830 ; [*0240.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
-0831 ; [*0241.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
-0832 ; [*0242.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
-0833 ; [*0243.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
-0834 ; [*0244.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
-0835 ; [*0245.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
-0836 ; [*0246.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
-0837 ; [*0247.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
-0838 ; [*0248.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
-0839 ; [*0249.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
-083A ; [*024A.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
-083B ; [*024B.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
-083C ; [*024C.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
-083D ; [*024D.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E ; [*024E.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
-085E ; [*03B5.0020.0002.085E] # MANDAIC PUNCTUATION
-08EA ; [.0000.0000.0000.08EA] # ARABIC TONE ONE DOT ABOVE
-08EB ; [.0000.0000.0000.08EB] # ARABIC TONE TWO DOTS ABOVE
-08EC ; [.0000.0000.0000.08EC] # ARABIC TONE LOOP ABOVE
-08ED ; [.0000.0000.0000.08ED] # ARABIC TONE ONE DOT BELOW
-08EE ; [.0000.0000.0000.08EE] # ARABIC TONE TWO DOTS BELOW
-08EF ; [.0000.0000.0000.08EF] # ARABIC TONE LOOP BELOW
-08F3 ; [.0000.0000.0000.08F3] # ARABIC SMALL HIGH WAW
-0951 ; [.0000.0000.0000.0951] # DEVANAGARI STRESS SIGN UDATTA
-0952 ; [.0000.0000.0000.0952] # DEVANAGARI STRESS SIGN ANUDATTA
-0964 ; [*0287.0020.0002.0964] # DEVANAGARI DANDA
-0965 ; [*0288.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
-0970 ; [*03B7.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
-09F4 ; [*14D9.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
-09F5 ; [*14DA.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
-09F6 ; [*14DB.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
-09F7 ; [*14DC.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
-09F8 ; [*14DD.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9 ; [*14DE.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; [*049D.0020.0002.09FA] # BENGALI ISSHAR
-0AF0 ; [*03BB.0020.0002.0AF0] # GUJARATI ABBREVIATION SIGN
-0B70 ; [*049E.0020.0002.0B70] # ORIYA ISSHAR
-0B72 ; [*14DF.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
-0B73 ; [*14E0.0020.0002.0B73] # ORIYA FRACTION ONE HALF
-0B74 ; [*14E1.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
-0B75 ; [*14E2.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
-0B76 ; [*14E3.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
-0B77 ; [*14E4.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
-0BF0 ; [*14EB.0020.0002.0BF0] # TAMIL NUMBER TEN
-0BF1 ; [*14EC.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
-0BF2 ; [*14ED.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
-0BF3 ; [*049F.0020.0002.0BF3] # TAMIL DAY SIGN
-0BF4 ; [*04A0.0020.0002.0BF4] # TAMIL MONTH SIGN
-0BF5 ; [*04A1.0020.0002.0BF5] # TAMIL YEAR SIGN
-0BF6 ; [*04A2.0020.0002.0BF6] # TAMIL DEBIT SIGN
-0BF7 ; [*04A3.0020.0002.0BF7] # TAMIL CREDIT SIGN
-0BF8 ; [*04A4.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
-0BFA ; [*04A5.0020.0002.0BFA] # TAMIL NUMBER SIGN
-0C7F ; [*04A6.0020.0002.0C7F] # TELUGU SIGN TUUMU
-0D70 ; [*14EE.0020.0002.0D70] # MALAYALAM NUMBER TEN
-0D71 ; [*14EF.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
-0D72 ; [*14F0.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
-0D73 ; [*14F1.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
-0D74 ; [*14F2.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
-0D75 ; [*14F3.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
-0D79 ; [*04A7.0020.0002.0D79] # MALAYALAM DATE MARK
-0DF4 ; [*03BC.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
-0E4F ; [*03BD.0020.0002.0E4F] # THAI CHARACTER FONGMAN
-0E5A ; [*03BE.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
-0E5B ; [*03BF.0020.0002.0E5B] # THAI CHARACTER KHOMUT
-0F01 ; [*04AF.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02 ; [*04B0.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03 ; [*04B1.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 ; [*03C2.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05 ; [*03C3.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06 ; [*03C4.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07 ; [*03C5.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08 ; [*03C6.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
-0F09 ; [*03C7.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
-0F0A ; [*03C8.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B ; [*03CB.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C ; [*03CB.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR
-0F0D ; [*03CC.0020.0002.0F0D] # TIBETAN MARK SHAD
-0F0E ; [*03CD.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
-0F0F ; [*03CE.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
-0F10 ; [*03CF.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
-0F11 ; [*03D0.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12 ; [*03D1.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
-0F13 ; [*04B2.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14 ; [*0256.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
-0F15 ; [*04B3.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16 ; [*04B4.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17 ; [*04B5.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 ; [*04B6.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
-0F1B ; [*04B7.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C ; [*04B8.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
-0F1D ; [*04B9.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
-0F1E ; [*04BA.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
-0F1F ; [*04BB.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34 ; [*04BC.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
-0F35 ; [.0000.0000.0000.0F35] # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 ; [*04BD.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37 ; [.0000.0000.0000.0F37] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 ; [*04BE.0020.0002.0F38] # TIBETAN MARK CHE MGO
-0F3A ; [*0301.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
-0F3B ; [*0302.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
-0F3C ; [*0303.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
-0F3D ; [*0304.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
-0F3E ; [.0000.0000.0000.0F3E] # TIBETAN SIGN YAR TSHES
-0F3F ; [.0000.0000.0000.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 ; [*03D2.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 ; [*04BF.0020.0002.0FBE] # TIBETAN KU RU KHA
-0FBF ; [*04C0.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0 ; [*04C1.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1 ; [*04C2.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2 ; [*04C3.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3 ; [*04C4.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4 ; [*04C5.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
-0FC5 ; [*04C6.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
-0FC6 ; [.0000.0000.0000.0FC6] # TIBETAN SYMBOL PADMA GDAN
-0FC7 ; [*04C7.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8 ; [*04C8.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
-0FC9 ; [*04C9.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
-0FCA ; [*04CA.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB ; [*04CB.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC ; [*04CC.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE ; [*04CD.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF ; [*04CE.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
-0FD0 ; [*03C9.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1 ; [*03CA.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2 ; [*03D3.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
-0FD3 ; [*03D4.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4 ; [*03D5.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5 ; [*04CF.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
-0FD6 ; [*04D0.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
-0FD7 ; [*04D1.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8 ; [*04D2.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
-0FD9 ; [*03D6.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
-0FDA ; [*03D7.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
-104A ; [*0292.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
-104B ; [*0293.0020.0002.104B] # MYANMAR SIGN SECTION
-104C ; [*03DB.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
-104D ; [*03DC.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
-104E ; [*03DD.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
-104F ; [*03DE.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
-109E ; [*04D4.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
-109F ; [*04D5.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
-10FB ; [*02B1.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
-1360 ; [*02B2.0020.0002.1360] # ETHIOPIC SECTION MARK
-1361 ; [*024F.0020.0002.1361] # ETHIOPIC WORDSPACE
-1362 ; [*0278.0020.0002.1362] # ETHIOPIC FULL STOP
-1363 ; [*0250.0020.0002.1363] # ETHIOPIC COMMA
-1364 ; [*0251.0020.0002.1364] # ETHIOPIC SEMICOLON
-1365 ; [*0252.0020.0002.1365] # ETHIOPIC COLON
-1366 ; [*0253.0020.0002.1366] # ETHIOPIC PREFACE COLON
-1367 ; [*0269.0020.0002.1367] # ETHIOPIC QUESTION MARK
-1368 ; [*02B3.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
-1372 ; [*14F4.0020.0002.1372] # ETHIOPIC NUMBER TEN
-1373 ; [*14F5.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
-1374 ; [*14F6.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
-1375 ; [*14F7.0020.0002.1375] # ETHIOPIC NUMBER FORTY
-1376 ; [*14F8.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
-1377 ; [*14F9.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
-1378 ; [*14FA.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
-1379 ; [*14FB.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
-137A ; [*14FC.0020.0002.137A] # ETHIOPIC NUMBER NINETY
-137B ; [*14FD.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
-137C ; [*14FE.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
-1390 ; [*0453.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
-1391 ; [*0454.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
-1392 ; [*0455.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
-1393 ; [*0456.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394 ; [*0457.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
-1395 ; [*0458.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
-1396 ; [*0459.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
-1397 ; [*045A.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
-1398 ; [*045B.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
-1399 ; [*045C.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
-1400 ; [*0210.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
-166D ; [*03EB.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
-166E ; [*027B.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
-1680 ; [*020A.0020.0004.1680] # OGHAM SPACE MARK
-169B ; [*0305.0020.0002.169B] # OGHAM FEATHER MARK
-169C ; [*0306.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
-16EB ; [*025A.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
-16EC ; [*025B.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
-16ED ; [*025C.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
-1735 ; [*028F.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
-1736 ; [*0290.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
-17B4 ; [.0000.0000.0000.17B4] # KHMER VOWEL INHERENT AQ
-17B5 ; [.0000.0000.0000.17B5] # KHMER VOWEL INHERENT AA
-17D3 ; [.0000.0000.0000.17D3] # KHMER SIGN BATHAMASAT
-17D4 ; [*0294.0020.0002.17D4] # KHMER SIGN KHAN
-17D5 ; [*0295.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
-17D6 ; [*0257.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
-17D8 ; [*03DF.0020.0002.17D8] # KHMER SIGN BEYYAL
-17D9 ; [*03E0.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
-17DA ; [*03E1.0020.0002.17DA] # KHMER SIGN KOOMUUT
-1800 ; [*03B6.0020.0002.1800] # MONGOLIAN BIRGA
-1801 ; [*0274.0020.0002.1801] # MONGOLIAN ELLIPSIS
-1802 ; [*022A.0020.0002.1802] # MONGOLIAN COMMA
-1803 ; [*0279.0020.0002.1803] # MONGOLIAN FULL STOP
-1804 ; [*0254.0020.0002.1804] # MONGOLIAN COLON
-1805 ; [*0255.0020.0002.1805] # MONGOLIAN FOUR DOTS
-1806 ; [*0212.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
-1807 ; [*0213.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808 ; [*022B.0020.0002.1808] # MONGOLIAN MANCHU COMMA
-1809 ; [*027A.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
-180A ; [.0000.0000.0000.180A] # MONGOLIAN NIRUGU
-180E ; [*0207.0020.0002.180E] # MONGOLIAN VOWEL SEPARATOR
-1940 ; [*04D3.0020.0002.1940] # LIMBU SIGN LOO
-1944 ; [*0262.0020.0002.1944] # LIMBU EXCLAMATION MARK
-1945 ; [*026A.0020.0002.1945] # LIMBU QUESTION MARK
-19E0 ; [*04D9.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
-19E1 ; [*04DA.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
-19E2 ; [*04DB.0020.0002.19E2] # KHMER SYMBOL PII KOET
-19E3 ; [*04DC.0020.0002.19E3] # KHMER SYMBOL BEI KOET
-19E4 ; [*04DD.0020.0002.19E4] # KHMER SYMBOL BUON KOET
-19E5 ; [*04DE.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
-19E6 ; [*04DF.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
-19E7 ; [*04E0.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
-19E8 ; [*04E1.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
-19E9 ; [*04E2.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
-19EA ; [*04E3.0020.0002.19EA] # KHMER SYMBOL DAP KOET
-19EB ; [*04E4.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
-19EC ; [*04E5.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
-19ED ; [*04E6.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
-19EE ; [*04E7.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
-19EF ; [*04E8.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
-19F0 ; [*04E9.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
-19F1 ; [*04EA.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
-19F2 ; [*04EB.0020.0002.19F2] # KHMER SYMBOL PII ROC
-19F3 ; [*04EC.0020.0002.19F3] # KHMER SYMBOL BEI ROC
-19F4 ; [*04ED.0020.0002.19F4] # KHMER SYMBOL BUON ROC
-19F5 ; [*04EE.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
-19F6 ; [*04EF.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
-19F7 ; [*04F0.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
-19F8 ; [*04F1.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
-19F9 ; [*04F2.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
-19FA ; [*04F3.0020.0002.19FA] # KHMER SYMBOL DAP ROC
-19FB ; [*04F4.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
-19FC ; [*04F5.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
-19FD ; [*04F6.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
-19FE ; [*04F7.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
-19FF ; [*04F8.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
-1A1E ; [*02B4.0020.0002.1A1E] # BUGINESE PALLAWA
-1A1F ; [*02B5.0020.0002.1A1F] # BUGINESE END OF SECTION
-1A7F ; [.0000.0000.0000.1A7F] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1AA0 ; [*03E2.0020.0002.1AA0] # TAI THAM SIGN WIANG
-1AA1 ; [*03E3.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
-1AA2 ; [*03E4.0020.0002.1AA2] # TAI THAM SIGN SAWAN
-1AA3 ; [*03E5.0020.0002.1AA3] # TAI THAM SIGN KEOW
-1AA4 ; [*03E6.0020.0002.1AA4] # TAI THAM SIGN HOY
-1AA5 ; [*03E7.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
-1AA6 ; [*03E8.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
-1AA8 ; [*0296.0020.0002.1AA8] # TAI THAM SIGN KAAN
-1AA9 ; [*0297.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
-1AAA ; [*0298.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
-1AAB ; [*0299.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
-1AAC ; [*03E9.0020.0002.1AAC] # TAI THAM SIGN HANG
-1AAD ; [*03EA.0020.0002.1AAD] # TAI THAM SIGN CAANG
-1B5A ; [*02B6.0020.0002.1B5A] # BALINESE PANTI
-1B5B ; [*02B7.0020.0002.1B5B] # BALINESE PAMADA
-1B5C ; [*027C.0020.0002.1B5C] # BALINESE WINDU
-1B5D ; [*0258.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
-1B5E ; [*029A.0020.0002.1B5E] # BALINESE CARIK SIKI
-1B5F ; [*029B.0020.0002.1B5F] # BALINESE CARIK PAREREN
-1B60 ; [*0211.0020.0002.1B60] # BALINESE PAMENENG
-1B61 ; [*04F9.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
-1B62 ; [*04FA.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
-1B63 ; [*04FB.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
-1B64 ; [*04FC.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
-1B65 ; [*04FD.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66 ; [*04FE.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
-1B67 ; [*04FF.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
-1B68 ; [*0500.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
-1B69 ; [*0501.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
-1B6A ; [*0502.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
-1B6E ; [.0000.0000.0000.1B6E] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI
-1B6F ; [.0000.0000.0000.1B6F] # BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
-1B70 ; [.0000.0000.0000.1B70] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
-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 ; [*0503.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75 ; [*0504.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76 ; [*0505.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77 ; [*0506.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78 ; [*0507.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79 ; [*0508.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A ; [*0509.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B ; [*050A.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C ; [*050B.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1BFC ; [*03F7.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
-1BFD ; [*03F8.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
-1BFE ; [*03F9.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
-1BFF ; [*03FA.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
-1C3B ; [*028B.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
-1C3C ; [*028C.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D ; [*03D8.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
-1C3E ; [*03D9.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F ; [*03DA.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
-1C7E ; [*02AD.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
-1C7F ; [*02AE.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CC0 ; [*03EC.0020.0002.1CC0] # SUNDANESE PUNCTUATION BINDU SURYA
-1CC1 ; [*03ED.0020.0002.1CC1] # SUNDANESE PUNCTUATION BINDU PANGLONG
-1CC2 ; [*03EE.0020.0002.1CC2] # SUNDANESE PUNCTUATION BINDU PURNAMA
-1CC3 ; [*03EF.0020.0002.1CC3] # SUNDANESE PUNCTUATION BINDU CAKRA
-1CC4 ; [*03F0.0020.0002.1CC4] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
-1CC5 ; [*03F1.0020.0002.1CC5] # SUNDANESE PUNCTUATION BINDU KA SATANGA
-1CC6 ; [*03F2.0020.0002.1CC6] # SUNDANESE PUNCTUATION BINDU DA SATANGA
-1CC7 ; [*03F3.0020.0002.1CC7] # SUNDANESE PUNCTUATION BINDU BA SATANGA
-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
-1CF4 ; [.0000.0000.0000.1CF4] # VEDIC TONE CANDRA ABOVE
-1FBD ; [*041B.0020.0002.1FBD] # GREEK KORONIS
-1FBF ; [*041B.0020.0002.1FBF] # GREEK PSILI
-1FC0 ; [*041D.0020.0002.1FC0] # GREEK PERISPOMENI
-1FC1 ; [*0416.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI
-1FCD ; [*041B.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA
-1FCE ; [*041B.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA
-1FCF ; [*041B.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI
-1FDD ; [*041C.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA
-1FDE ; [*041C.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA
-1FDF ; [*041C.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI
-1FED ; [*0416.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA
-1FEE ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA
-1FEF ; [*040F.0020.0002.1FEF] # GREEK VARIA
-1FFD ; [*0410.0020.0002.1FFD] # GREEK OXIA
-1FFE ; [*041C.0020.0002.1FFE] # GREEK DASIA
-2000 ; [*020A.0020.0004.2000] # EN QUAD
-2001 ; [*020A.0020.0004.2001] # EM QUAD
-2002 ; [*020A.0020.0004.2002] # EN SPACE
-2003 ; [*020A.0020.0004.2003] # EM SPACE
-2004 ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE
-2005 ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE
-2006 ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE
-2007 ; [*020A.0020.001B.2007] # FIGURE SPACE
-2008 ; [*020A.0020.0004.2008] # PUNCTUATION SPACE
-2009 ; [*020A.0020.0004.2009] # THIN SPACE
-200A ; [*020A.0020.0004.200A] # HAIR SPACE
-2010 ; [*0214.0020.0002.2010] # HYPHEN
-2011 ; [*0214.0020.001B.2011] # NON-BREAKING HYPHEN
-2012 ; [*0215.0020.0002.2012] # FIGURE DASH
-2013 ; [*0216.0020.0002.2013] # EN DASH
-2014 ; [*0217.0020.0002.2014] # EM DASH
-2015 ; [*0218.0020.0002.2015] # HORIZONTAL BAR
-2016 ; [*0363.0020.0002.2016] # DOUBLE VERTICAL LINE
-2017 ; [*020D.0020.0002.2017] # DOUBLE LOW LINE
-2018 ; [*02EB.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
-2019 ; [*02EC.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
-201A ; [*02ED.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
-201B ; [*02EE.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C ; [*02F2.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
-201D ; [*02F3.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
-201E ; [*02F4.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
-201F ; [*02F5.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020 ; [*037D.0020.0002.2020] # DAGGER
-2021 ; [*037E.0020.0002.2021] # DOUBLE DAGGER
-2022 ; [*0382.0020.0002.2022] # BULLET
-2023 ; [*0383.0020.0002.2023] # TRIANGULAR BULLET
-2024 ; [*0273.0020.0004.2024] # ONE DOT LEADER
-2025 ; [*0273.0020.0004.2025][*0273.0020.001F.2025] # TWO DOT LEADER
-2026 ; [*0273.0020.0004.2026][*0273.0020.0004.2026][*0273.0020.001F.2026] # HORIZONTAL ELLIPSIS
-2027 ; [*0384.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
-2030 ; [*0379.0020.0002.2030] # PER MILLE SIGN
-2031 ; [*037B.0020.0002.2031] # PER TEN THOUSAND SIGN
-2032 ; [*0388.0020.0002.2032] # PRIME
-2033 ; [*0388.0020.0004.2033][*0388.0020.001F.2033] # DOUBLE PRIME
-2034 ; [*0388.0020.0004.2034][*0388.0020.0004.2034][*0388.0020.001F.2034] # TRIPLE PRIME
-2035 ; [*0389.0020.0002.2035] # REVERSED PRIME
-2036 ; [*0389.0020.0004.2036][*0389.0020.001F.2036] # REVERSED DOUBLE PRIME
-2037 ; [*0389.0020.0004.2037][*0389.0020.0004.2037][*0389.0020.001F.2037] # REVERSED TRIPLE PRIME
-2038 ; [*038C.0020.0002.2038] # CARET
-2039 ; [*02EF.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; [*02F0.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B ; [*038D.0020.0002.203B] # REFERENCE MARK
-203C ; [*025E.0020.0004.203C][*025E.0020.001F.203C] # DOUBLE EXCLAMATION MARK
-203D ; [*0271.0020.0002.203D] # INTERROBANG
-203E ; [*020B.0020.0002.203E] # OVERLINE
-203F ; [*038E.0020.0002.203F] # UNDERTIE
-2040 ; [*0390.0020.0002.2040] # CHARACTER TIE
-2041 ; [*0392.0020.0002.2041] # CARET INSERTION POINT
-2042 ; [*0393.0020.0002.2042] # ASTERISM
-2043 ; [*0385.0020.0002.2043] # HYPHEN BULLET
-2044 ; [*05AC.0020.0002.2044] # FRACTION SLASH
-2045 ; [*0307.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
-2046 ; [*0308.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
-2047 ; [*0263.0020.0004.2047][*0263.0020.001F.2047] # DOUBLE QUESTION MARK
-2048 ; [*0263.0020.0004.2048][*025E.0020.001F.2048] # QUESTION EXCLAMATION MARK
-2049 ; [*025E.0020.0004.2049][*0263.0020.001F.2049] # EXCLAMATION QUESTION MARK
-204A ; [*0375.0020.0002.204A] # TIRONIAN SIGN ET
-204B ; [*036B.0020.0002.204B] # REVERSED PILCROW SIGN
-204C ; [*0386.0020.0002.204C] # BLACK LEFTWARDS BULLET
-204D ; [*0387.0020.0002.204D] # BLACK RIGHTWARDS BULLET
-204E ; [*036E.0020.0002.204E] # LOW ASTERISK
-204F ; [*0234.0020.0002.204F] # REVERSED SEMICOLON
-2050 ; [*0391.0020.0002.2050] # CLOSE UP
-2051 ; [*036F.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; [*05A8.0020.0002.2052] # COMMERCIAL MINUS SIGN
-2053 ; [*021B.0020.0002.2053] # SWUNG DASH
-2054 ; [*038F.0020.0002.2054] # INVERTED UNDERTIE
-2055 ; [*02CF.0020.0002.2055] # FLOWER PUNCTUATION MARK
-2056 ; [*02D0.0020.0002.2056] # THREE DOT PUNCTUATION
-2057 ; [*0388.0020.0004.2057][*0388.0020.0004.2057][*0388.0020.0004.2057][*0388.0020.001F.2057] # QUADRUPLE PRIME
-2058 ; [*02D1.0020.0002.2058] # FOUR DOT PUNCTUATION
-2059 ; [*02D2.0020.0002.2059] # FIVE DOT PUNCTUATION
-205A ; [*02D3.0020.0002.205A] # TWO DOT PUNCTUATION
-205B ; [*02D4.0020.0002.205B] # FOUR DOT MARK
-205C ; [*02D5.0020.0002.205C] # DOTTED CROSS
-205D ; [*02D6.0020.0002.205D] # TRICOLON
-205E ; [*02D7.0020.0002.205E] # VERTICAL FOUR DOTS
-205F ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE
-2061 ; [.0000.0000.0000.2061] # FUNCTION APPLICATION
-2062 ; [.0000.0000.0000.2062] # INVISIBLE TIMES
-2063 ; [.0000.0000.0000.2063] # INVISIBLE SEPARATOR
-2064 ; [.0000.0000.0000.2064] # INVISIBLE PLUS
-207A ; [*059C.0020.0014.207A] # SUPERSCRIPT PLUS SIGN
-207B ; [*05A7.0020.0014.207B] # SUPERSCRIPT MINUS
-207C ; [*05A1.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN
-207D ; [*02FB.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS
-207E ; [*02FC.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS
-208A ; [*059C.0020.0015.208A] # SUBSCRIPT PLUS SIGN
-208B ; [*05A7.0020.0015.208B] # SUBSCRIPT MINUS
-208C ; [*05A1.0020.0015.208C] # SUBSCRIPT EQUALS SIGN
-208D ; [*02FB.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS
-208E ; [*02FC.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS
-2104 ; [*050E.0020.0002.2104] # CENTRE LINE SYMBOL
-2108 ; [*050F.0020.0002.2108] # SCRUPLE
-2114 ; [*0510.0020.0002.2114] # L B BAR SYMBOL
-2117 ; [*0511.0020.0002.2117] # SOUND RECORDING COPYRIGHT
-2118 ; [*0512.0020.0002.2118] # SCRIPT CAPITAL P
-211E ; [*0513.0020.0002.211E] # PRESCRIPTION TAKE
-211F ; [*0514.0020.0002.211F] # RESPONSE
-2123 ; [*0515.0020.0002.2123] # VERSICLE
-2125 ; [*0516.0020.0002.2125] # OUNCE SIGN
-2127 ; [*0517.0020.0002.2127] # INVERTED OHM SIGN
-2129 ; [*0518.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
-212E ; [*0519.0020.0002.212E] # ESTIMATED SYMBOL
-213A ; [*051A.0020.0002.213A] # ROTATED CAPITAL Q
-2140 ; [*059B.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION
-2141 ; [*051B.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
-2142 ; [*051C.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
-2143 ; [*051D.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
-2144 ; [*051E.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
-214A ; [*051F.0020.0002.214A] # PROPERTY LINE
-214B ; [*0637.0020.0002.214B] # TURNED AMPERSAND
-214C ; [*0520.0020.0002.214C] # PER SIGN
-214F ; [*0521.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
-2180 ; [*14FF.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
-2181 ; [*1500.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
-2182 ; [*1501.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
-2186 ; [*1502.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
-2187 ; [*1503.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
-2188 ; [*1504.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
-2190 ; [*0522.0020.0002.2190] # LEFTWARDS ARROW
-2191 ; [*0524.0020.0002.2191] # UPWARDS ARROW
-2192 ; [*0523.0020.0002.2192] # RIGHTWARDS ARROW
-2193 ; [*0525.0020.0002.2193] # DOWNWARDS ARROW
-2194 ; [*0526.0020.0002.2194] # LEFT RIGHT ARROW
-2195 ; [*0527.0020.0002.2195] # UP DOWN ARROW
-2196 ; [*0528.0020.0002.2196] # NORTH WEST ARROW
-2197 ; [*0529.0020.0002.2197] # NORTH EAST ARROW
-2198 ; [*052A.0020.0002.2198] # SOUTH EAST ARROW
-2199 ; [*052B.0020.0002.2199] # SOUTH WEST ARROW
-219A ; [*0522.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE
-219B ; [*0523.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE
-219C ; [*052C.0020.0002.219C] # LEFTWARDS WAVE ARROW
-219D ; [*052D.0020.0002.219D] # RIGHTWARDS WAVE ARROW
-219E ; [*052E.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
-219F ; [*052F.0020.0002.219F] # UPWARDS TWO HEADED ARROW
-21A0 ; [*0530.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
-21A1 ; [*0531.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
-21A2 ; [*0532.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
-21A3 ; [*0533.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
-21A4 ; [*0534.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
-21A5 ; [*0535.0020.0002.21A5] # UPWARDS ARROW FROM BAR
-21A6 ; [*0536.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
-21A7 ; [*0537.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
-21A8 ; [*0538.0020.0002.21A8] # UP DOWN ARROW WITH BASE
-21A9 ; [*0539.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
-21AA ; [*053A.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
-21AB ; [*053B.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
-21AC ; [*053C.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
-21AD ; [*053D.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
-21AE ; [*0526.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE
-21AF ; [*053E.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
-21B0 ; [*053F.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1 ; [*0540.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2 ; [*0541.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3 ; [*0542.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4 ; [*0543.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5 ; [*0544.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6 ; [*0545.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7 ; [*0546.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8 ; [*0547.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
-21B9 ; [*0548.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA ; [*0549.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB ; [*054A.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
-21BC ; [*054B.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD ; [*054C.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE ; [*054D.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF ; [*054E.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0 ; [*054F.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1 ; [*0550.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2 ; [*0551.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3 ; [*0552.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4 ; [*0553.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5 ; [*0554.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6 ; [*0555.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7 ; [*0556.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
-21C8 ; [*0557.0020.0002.21C8] # UPWARDS PAIRED ARROWS
-21C9 ; [*0558.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
-21CA ; [*0559.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
-21CB ; [*055A.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC ; [*055B.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD ; [*055C.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE ; [*0560.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE
-21CF ; [*055E.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0 ; [*055C.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
-21D1 ; [*055D.0020.0002.21D1] # UPWARDS DOUBLE ARROW
-21D2 ; [*055E.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
-21D3 ; [*055F.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
-21D4 ; [*0560.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
-21D5 ; [*0561.0020.0002.21D5] # UP DOWN DOUBLE ARROW
-21D6 ; [*0562.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
-21D7 ; [*0563.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
-21D8 ; [*0564.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
-21D9 ; [*0565.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
-21DA ; [*0566.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
-21DB ; [*0567.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
-21DC ; [*0568.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
-21DD ; [*0569.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
-21DE ; [*056A.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
-21DF ; [*056B.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0 ; [*056C.0020.0002.21E0] # LEFTWARDS DASHED ARROW
-21E1 ; [*056D.0020.0002.21E1] # UPWARDS DASHED ARROW
-21E2 ; [*056E.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
-21E3 ; [*056F.0020.0002.21E3] # DOWNWARDS DASHED ARROW
-21E4 ; [*0570.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
-21E5 ; [*0571.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
-21E6 ; [*0572.0020.0002.21E6] # LEFTWARDS WHITE ARROW
-21E7 ; [*0573.0020.0002.21E7] # UPWARDS WHITE ARROW
-21E8 ; [*0574.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
-21E9 ; [*0575.0020.0002.21E9] # DOWNWARDS WHITE ARROW
-21EA ; [*0576.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
-21EB ; [*0577.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
-21EC ; [*0578.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED ; [*0579.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE ; [*057A.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
-21EF ; [*057B.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0 ; [*057C.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
-21F1 ; [*057D.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
-21F2 ; [*057E.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
-21F3 ; [*057F.0020.0002.21F3] # UP DOWN WHITE ARROW
-21F4 ; [*0580.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
-21F5 ; [*0581.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6 ; [*0582.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
-21F7 ; [*0583.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8 ; [*0584.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9 ; [*0585.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA ; [*0586.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB ; [*0587.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC ; [*0588.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD ; [*0589.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
-21FE ; [*058A.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
-21FF ; [*058B.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
-2200 ; [*058C.0020.0002.2200] # FOR ALL
-2201 ; [*058D.0020.0002.2201] # COMPLEMENT
-2202 ; [*058E.0020.0002.2202] # PARTIAL DIFFERENTIAL
-2203 ; [*058F.0020.0002.2203] # THERE EXISTS
-2204 ; [*058F.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST
-2205 ; [*0590.0020.0002.2205] # EMPTY SET
-2206 ; [*0591.0020.0002.2206] # INCREMENT
-2207 ; [*0592.0020.0002.2207] # NABLA
-2208 ; [*0593.0020.0002.2208] # ELEMENT OF
-2209 ; [*0593.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF
-220A ; [*0594.0020.0002.220A] # SMALL ELEMENT OF
-220B ; [*0595.0020.0002.220B] # CONTAINS AS MEMBER
-220C ; [*0595.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER
-220D ; [*0596.0020.0002.220D] # SMALL CONTAINS AS MEMBER
-220E ; [*0598.0020.0002.220E] # END OF PROOF
-220F ; [*0599.0020.0002.220F] # N-ARY PRODUCT
-2210 ; [*059A.0020.0002.2210] # N-ARY COPRODUCT
-2211 ; [*059B.0020.0002.2211] # N-ARY SUMMATION
-2212 ; [*05A7.0020.0002.2212] # MINUS SIGN
-2213 ; [*05A9.0020.0002.2213] # MINUS-OR-PLUS SIGN
-2214 ; [*05AA.0020.0002.2214] # DOT PLUS
-2215 ; [*05AB.0020.0002.2215] # DIVISION SLASH
-2216 ; [*05AD.0020.0002.2216] # SET MINUS
-2217 ; [*05AE.0020.0002.2217] # ASTERISK OPERATOR
-2218 ; [*05AF.0020.0002.2218] # RING OPERATOR
-2219 ; [*05B0.0020.0002.2219] # BULLET OPERATOR
-221A ; [*05B1.0020.0002.221A] # SQUARE ROOT
-221B ; [*05B2.0020.0002.221B] # CUBE ROOT
-221C ; [*05B4.0020.0002.221C] # FOURTH ROOT
-221D ; [*05B6.0020.0002.221D] # PROPORTIONAL TO
-221E ; [*05B7.0020.0002.221E] # INFINITY
-221F ; [*05B8.0020.0002.221F] # RIGHT ANGLE
-2220 ; [*05B9.0020.0002.2220] # ANGLE
-2221 ; [*05BA.0020.0002.2221] # MEASURED ANGLE
-2222 ; [*05BB.0020.0002.2222] # SPHERICAL ANGLE
-2223 ; [*05BC.0020.0002.2223] # DIVIDES
-2224 ; [*05BC.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE
-2225 ; [*05BD.0020.0002.2225] # PARALLEL TO
-2226 ; [*05BD.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO
-2227 ; [*05BE.0020.0002.2227] # LOGICAL AND
-2228 ; [*05BF.0020.0002.2228] # LOGICAL OR
-2229 ; [*05C0.0020.0002.2229] # INTERSECTION
-222A ; [*05C1.0020.0002.222A] # UNION
-222B ; [*05C2.0020.0002.222B] # INTEGRAL
-222C ; [*05C2.0020.0004.222C][*05C2.0020.001F.222C] # DOUBLE INTEGRAL
-222D ; [*05C2.0020.0004.222D][*05C2.0020.0004.222D][*05C2.0020.001F.222D] # TRIPLE INTEGRAL
-222E ; [*05C3.0020.0002.222E] # CONTOUR INTEGRAL
-222F ; [*05C3.0020.0004.222F][*05C3.0020.001F.222F] # SURFACE INTEGRAL
-2230 ; [*05C3.0020.0004.2230][*05C3.0020.0004.2230][*05C3.0020.001F.2230] # VOLUME INTEGRAL
-2231 ; [*05C4.0020.0002.2231] # CLOCKWISE INTEGRAL
-2232 ; [*05C5.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
-2233 ; [*05C6.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
-2234 ; [*05C7.0020.0002.2234] # THEREFORE
-2235 ; [*05C8.0020.0002.2235] # BECAUSE
-2236 ; [*05C9.0020.0002.2236] # RATIO
-2237 ; [*05CA.0020.0002.2237] # PROPORTION
-2238 ; [*05CB.0020.0002.2238] # DOT MINUS
-2239 ; [*05CC.0020.0002.2239] # EXCESS
-223A ; [*05CD.0020.0002.223A] # GEOMETRIC PROPORTION
-223B ; [*05CE.0020.0002.223B] # HOMOTHETIC
-223C ; [*05CF.0020.0002.223C] # TILDE OPERATOR
-223D ; [*05D0.0020.0002.223D] # REVERSED TILDE
-223E ; [*05D1.0020.0002.223E] # INVERTED LAZY S
-223F ; [*05D2.0020.0002.223F] # SINE WAVE
-2240 ; [*05D3.0020.0002.2240] # WREATH PRODUCT
-2241 ; [*05CF.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE
-2242 ; [*05D4.0020.0002.2242] # MINUS TILDE
-2243 ; [*05D5.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
-2244 ; [*05D5.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO
-2245 ; [*05D6.0020.0002.2245] # APPROXIMATELY EQUAL TO
-2246 ; [*05D7.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247 ; [*05D6.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2248 ; [*05D8.0020.0002.2248] # ALMOST EQUAL TO
-2249 ; [*05D8.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO
-224A ; [*05D9.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
-224B ; [*05DA.0020.0002.224B] # TRIPLE TILDE
-224C ; [*05DB.0020.0002.224C] # ALL EQUAL TO
-224D ; [*05DC.0020.0002.224D] # EQUIVALENT TO
-224E ; [*05DD.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
-224F ; [*05DE.0020.0002.224F] # DIFFERENCE BETWEEN
-2250 ; [*05DF.0020.0002.2250] # APPROACHES THE LIMIT
-2251 ; [*05E0.0020.0002.2251] # GEOMETRICALLY EQUAL TO
-2252 ; [*05E1.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253 ; [*05E2.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254 ; [*05E3.0020.0002.2254] # COLON EQUALS
-2255 ; [*05E4.0020.0002.2255] # EQUALS COLON
-2256 ; [*05E5.0020.0002.2256] # RING IN EQUAL TO
-2257 ; [*05E6.0020.0002.2257] # RING EQUAL TO
-2258 ; [*05E7.0020.0002.2258] # CORRESPONDS TO
-2259 ; [*05E8.0020.0002.2259] # ESTIMATES
-225A ; [*05E9.0020.0002.225A] # EQUIANGULAR TO
-225B ; [*05EA.0020.0002.225B] # STAR EQUALS
-225C ; [*05EB.0020.0002.225C] # DELTA EQUAL TO
-225D ; [*05EC.0020.0002.225D] # EQUAL TO BY DEFINITION
-225E ; [*05ED.0020.0002.225E] # MEASURED BY
-225F ; [*05EE.0020.0002.225F] # QUESTIONED EQUAL TO
-2260 ; [*05A1.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO
-2261 ; [*05EF.0020.0002.2261] # IDENTICAL TO
-2262 ; [*05EF.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO
-2263 ; [*05F0.0020.0002.2263] # STRICTLY EQUIVALENT TO
-2264 ; [*05F1.0020.0002.2264] # LESS-THAN OR EQUAL TO
-2265 ; [*05F2.0020.0002.2265] # GREATER-THAN OR EQUAL TO
-2266 ; [*05F3.0020.0002.2266] # LESS-THAN OVER EQUAL TO
-2267 ; [*05F4.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
-2268 ; [*05F5.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
-2269 ; [*05F6.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
-226A ; [*05F7.0020.0002.226A] # MUCH LESS-THAN
-226B ; [*05F8.0020.0002.226B] # MUCH GREATER-THAN
-226C ; [*05F9.0020.0002.226C] # BETWEEN
-226D ; [*05DC.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO
-226E ; [*05A0.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN
-226F ; [*05A2.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN
-2270 ; [*05F1.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO
-2271 ; [*05F2.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO
-2272 ; [*05FA.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
-2273 ; [*05FB.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
-2274 ; [*05FA.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO
-2275 ; [*05FB.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276 ; [*05FC.0020.0002.2276] # LESS-THAN OR GREATER-THAN
-2277 ; [*05FD.0020.0002.2277] # GREATER-THAN OR LESS-THAN
-2278 ; [*05FC.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN
-2279 ; [*05FD.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN
-227A ; [*05FE.0020.0002.227A] # PRECEDES
-227B ; [*05FF.0020.0002.227B] # SUCCEEDS
-227C ; [*0600.0020.0002.227C] # PRECEDES OR EQUAL TO
-227D ; [*0601.0020.0002.227D] # SUCCEEDS OR EQUAL TO
-227E ; [*0602.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
-227F ; [*0603.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
-2280 ; [*05FE.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE
-2281 ; [*05FF.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED
-2282 ; [*0604.0020.0002.2282] # SUBSET OF
-2283 ; [*0605.0020.0002.2283] # SUPERSET OF
-2284 ; [*0604.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF
-2285 ; [*0605.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF
-2286 ; [*0606.0020.0002.2286] # SUBSET OF OR EQUAL TO
-2287 ; [*0607.0020.0002.2287] # SUPERSET OF OR EQUAL TO
-2288 ; [*0606.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO
-2289 ; [*0607.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO
-228A ; [*0608.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
-228B ; [*0609.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
-228C ; [*060A.0020.0002.228C] # MULTISET
-228D ; [*060B.0020.0002.228D] # MULTISET MULTIPLICATION
-228E ; [*060C.0020.0002.228E] # MULTISET UNION
-228F ; [*060D.0020.0002.228F] # SQUARE IMAGE OF
-2290 ; [*060E.0020.0002.2290] # SQUARE ORIGINAL OF
-2291 ; [*060F.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
-2292 ; [*0610.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
-2293 ; [*0611.0020.0002.2293] # SQUARE CAP
-2294 ; [*0612.0020.0002.2294] # SQUARE CUP
-2295 ; [*0613.0020.0002.2295] # CIRCLED PLUS
-2296 ; [*0614.0020.0002.2296] # CIRCLED MINUS
-2297 ; [*0615.0020.0002.2297] # CIRCLED TIMES
-2298 ; [*0616.0020.0002.2298] # CIRCLED DIVISION SLASH
-2299 ; [*0617.0020.0002.2299] # CIRCLED DOT OPERATOR
-229A ; [*0618.0020.0002.229A] # CIRCLED RING OPERATOR
-229B ; [*0619.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
-229C ; [*061A.0020.0002.229C] # CIRCLED EQUALS
-229D ; [*061B.0020.0002.229D] # CIRCLED DASH
-229E ; [*061C.0020.0002.229E] # SQUARED PLUS
-229F ; [*061D.0020.0002.229F] # SQUARED MINUS
-22A0 ; [*061E.0020.0002.22A0] # SQUARED TIMES
-22A1 ; [*061F.0020.0002.22A1] # SQUARED DOT OPERATOR
-22A2 ; [*0620.0020.0002.22A2] # RIGHT TACK
-22A3 ; [*0621.0020.0002.22A3] # LEFT TACK
-22A4 ; [*0622.0020.0002.22A4] # DOWN TACK
-22A5 ; [*0623.0020.0002.22A5] # UP TACK
-22A6 ; [*0624.0020.0002.22A6] # ASSERTION
-22A7 ; [*0625.0020.0002.22A7] # MODELS
-22A8 ; [*0626.0020.0002.22A8] # TRUE
-22A9 ; [*0627.0020.0002.22A9] # FORCES
-22AA ; [*0628.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB ; [*0629.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC ; [*0620.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE
-22AD ; [*0626.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE
-22AE ; [*0627.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE
-22AF ; [*0629.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0 ; [*062A.0020.0002.22B0] # PRECEDES UNDER RELATION
-22B1 ; [*062B.0020.0002.22B1] # SUCCEEDS UNDER RELATION
-22B2 ; [*062C.0020.0002.22B2] # NORMAL SUBGROUP OF
-22B3 ; [*062D.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
-22B4 ; [*062E.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
-22B5 ; [*062F.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6 ; [*0630.0020.0002.22B6] # ORIGINAL OF
-22B7 ; [*0631.0020.0002.22B7] # IMAGE OF
-22B8 ; [*0632.0020.0002.22B8] # MULTIMAP
-22B9 ; [*0633.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
-22BA ; [*0634.0020.0002.22BA] # INTERCALATE
-22BB ; [*0635.0020.0002.22BB] # XOR
-22BC ; [*0636.0020.0002.22BC] # NAND
-22BD ; [*0638.0020.0002.22BD] # NOR
-22BE ; [*0639.0020.0002.22BE] # RIGHT ANGLE WITH ARC
-22BF ; [*063A.0020.0002.22BF] # RIGHT TRIANGLE
-22C0 ; [*063B.0020.0002.22C0] # N-ARY LOGICAL AND
-22C1 ; [*063C.0020.0002.22C1] # N-ARY LOGICAL OR
-22C2 ; [*063D.0020.0002.22C2] # N-ARY INTERSECTION
-22C3 ; [*063E.0020.0002.22C3] # N-ARY UNION
-22C4 ; [*063F.0020.0002.22C4] # DIAMOND OPERATOR
-22C5 ; [*0640.0020.0002.22C5] # DOT OPERATOR
-22C6 ; [*0641.0020.0002.22C6] # STAR OPERATOR
-22C7 ; [*0642.0020.0002.22C7] # DIVISION TIMES
-22C8 ; [*0643.0020.0002.22C8] # BOWTIE
-22C9 ; [*0644.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA ; [*0645.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB ; [*0646.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
-22CC ; [*0647.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
-22CD ; [*0648.0020.0002.22CD] # REVERSED TILDE EQUALS
-22CE ; [*0649.0020.0002.22CE] # CURLY LOGICAL OR
-22CF ; [*064A.0020.0002.22CF] # CURLY LOGICAL AND
-22D0 ; [*064B.0020.0002.22D0] # DOUBLE SUBSET
-22D1 ; [*064C.0020.0002.22D1] # DOUBLE SUPERSET
-22D2 ; [*064D.0020.0002.22D2] # DOUBLE INTERSECTION
-22D3 ; [*064E.0020.0002.22D3] # DOUBLE UNION
-22D4 ; [*064F.0020.0002.22D4] # PITCHFORK
-22D5 ; [*0650.0020.0002.22D5] # EQUAL AND PARALLEL TO
-22D6 ; [*0651.0020.0002.22D6] # LESS-THAN WITH DOT
-22D7 ; [*0652.0020.0002.22D7] # GREATER-THAN WITH DOT
-22D8 ; [*0653.0020.0002.22D8] # VERY MUCH LESS-THAN
-22D9 ; [*0654.0020.0002.22D9] # VERY MUCH GREATER-THAN
-22DA ; [*0655.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB ; [*0656.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC ; [*0657.0020.0002.22DC] # EQUAL TO OR LESS-THAN
-22DD ; [*0658.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
-22DE ; [*0659.0020.0002.22DE] # EQUAL TO OR PRECEDES
-22DF ; [*065A.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
-22E0 ; [*0600.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL
-22E1 ; [*0601.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL
-22E2 ; [*060F.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO
-22E3 ; [*0610.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4 ; [*065B.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5 ; [*065C.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6 ; [*065D.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
-22E7 ; [*065E.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8 ; [*065F.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
-22E9 ; [*0660.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA ; [*062C.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF
-22EB ; [*062D.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC ; [*062E.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED ; [*062F.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22EE ; [*0661.0020.0002.22EE] # VERTICAL ELLIPSIS
-22EF ; [*0662.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
-22F0 ; [*0663.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
-22F1 ; [*0664.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2 ; [*0665.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3 ; [*0666.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4 ; [*0667.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5 ; [*0668.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
-22F6 ; [*0669.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
-22F7 ; [*066A.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
-22F8 ; [*066B.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
-22F9 ; [*066C.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA ; [*066D.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB ; [*066E.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC ; [*066F.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD ; [*0670.0020.0002.22FD] # CONTAINS WITH OVERBAR
-22FE ; [*0671.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
-22FF ; [*0672.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
-2300 ; [*0673.0020.0002.2300] # DIAMETER SIGN
-2301 ; [*0674.0020.0002.2301] # ELECTRIC ARROW
-2302 ; [*0675.0020.0002.2302] # HOUSE
-2303 ; [*0676.0020.0002.2303] # UP ARROWHEAD
-2304 ; [*0677.0020.0002.2304] # DOWN ARROWHEAD
-2305 ; [*0678.0020.0002.2305] # PROJECTIVE
-2306 ; [*0679.0020.0002.2306] # PERSPECTIVE
-2307 ; [*067A.0020.0002.2307] # WAVY LINE
-2308 ; [*067B.0020.0002.2308] # LEFT CEILING
-2309 ; [*067C.0020.0002.2309] # RIGHT CEILING
-230A ; [*067D.0020.0002.230A] # LEFT FLOOR
-230B ; [*067E.0020.0002.230B] # RIGHT FLOOR
-230C ; [*067F.0020.0002.230C] # BOTTOM RIGHT CROP
-230D ; [*0680.0020.0002.230D] # BOTTOM LEFT CROP
-230E ; [*0681.0020.0002.230E] # TOP RIGHT CROP
-230F ; [*0682.0020.0002.230F] # TOP LEFT CROP
-2310 ; [*0683.0020.0002.2310] # REVERSED NOT SIGN
-2311 ; [*0684.0020.0002.2311] # SQUARE LOZENGE
-2312 ; [*0685.0020.0002.2312] # ARC
-2313 ; [*0686.0020.0002.2313] # SEGMENT
-2314 ; [*0687.0020.0002.2314] # SECTOR
-2315 ; [*0688.0020.0002.2315] # TELEPHONE RECORDER
-2316 ; [*0689.0020.0002.2316] # POSITION INDICATOR
-2317 ; [*068A.0020.0002.2317] # VIEWDATA SQUARE
-2318 ; [*068B.0020.0002.2318] # PLACE OF INTEREST SIGN
-2319 ; [*068C.0020.0002.2319] # TURNED NOT SIGN
-231A ; [*068D.0020.0002.231A] # WATCH
-231B ; [*068E.0020.0002.231B] # HOURGLASS
-231C ; [*068F.0020.0002.231C] # TOP LEFT CORNER
-231D ; [*0690.0020.0002.231D] # TOP RIGHT CORNER
-231E ; [*0691.0020.0002.231E] # BOTTOM LEFT CORNER
-231F ; [*0692.0020.0002.231F] # BOTTOM RIGHT CORNER
-2320 ; [*0693.0020.0002.2320] # TOP HALF INTEGRAL
-2321 ; [*0694.0020.0002.2321] # BOTTOM HALF INTEGRAL
-2322 ; [*0695.0020.0002.2322] # FROWN
-2323 ; [*0696.0020.0002.2323] # SMILE
-2324 ; [*0697.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325 ; [*0698.0020.0002.2325] # OPTION KEY
-2326 ; [*0699.0020.0002.2326] # ERASE TO THE RIGHT
-2327 ; [*069A.0020.0002.2327] # X IN A RECTANGLE BOX
-2328 ; [*069B.0020.0002.2328] # KEYBOARD
-2329 ; [*034F.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET
-232A ; [*0350.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET
-232B ; [*069C.0020.0002.232B] # ERASE TO THE LEFT
-232C ; [*069D.0020.0002.232C] # BENZENE RING
-232D ; [*069E.0020.0002.232D] # CYLINDRICITY
-232E ; [*069F.0020.0002.232E] # ALL AROUND-PROFILE
-232F ; [*06A0.0020.0002.232F] # SYMMETRY
-2330 ; [*06A1.0020.0002.2330] # TOTAL RUNOUT
-2331 ; [*06A2.0020.0002.2331] # DIMENSION ORIGIN
-2332 ; [*06A3.0020.0002.2332] # CONICAL TAPER
-2333 ; [*06A4.0020.0002.2333] # SLOPE
-2334 ; [*06A5.0020.0002.2334] # COUNTERBORE
-2335 ; [*06A6.0020.0002.2335] # COUNTERSINK
-2336 ; [*06A7.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
-2337 ; [*06A8.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338 ; [*06A9.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339 ; [*06AA.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A ; [*06AB.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B ; [*06AC.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
-233C ; [*06AD.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D ; [*06AE.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E ; [*06AF.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F ; [*06B0.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
-2340 ; [*06B1.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341 ; [*06B2.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342 ; [*06B3.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343 ; [*06B4.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344 ; [*06B5.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345 ; [*06B6.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346 ; [*06B7.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347 ; [*06B8.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348 ; [*06B9.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349 ; [*06BA.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A ; [*06BB.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B ; [*06BC.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
-234C ; [*06BD.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D ; [*06BE.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E ; [*06BF.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F ; [*06C0.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350 ; [*06C1.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351 ; [*06C2.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352 ; [*06C3.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
-2353 ; [*06C4.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354 ; [*06C5.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
-2355 ; [*06C6.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356 ; [*06C7.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357 ; [*06C8.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358 ; [*06C9.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359 ; [*06CA.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A ; [*06CB.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B ; [*06CC.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C ; [*06CD.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D ; [*06CE.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E ; [*06CF.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F ; [*06D0.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360 ; [*06D1.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
-2361 ; [*06D2.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362 ; [*06D3.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363 ; [*06D4.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364 ; [*06D5.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365 ; [*06D6.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366 ; [*06D7.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367 ; [*06D8.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368 ; [*06D9.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369 ; [*06DA.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A ; [*06DB.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
-236B ; [*06DC.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
-236C ; [*06DD.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
-236D ; [*06DE.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
-236E ; [*06DF.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F ; [*06E0.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370 ; [*06E1.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371 ; [*06E2.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372 ; [*06E3.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373 ; [*06E4.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
-2374 ; [*06E5.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
-2375 ; [*06E6.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
-2376 ; [*06E7.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377 ; [*06E8.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378 ; [*06E9.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379 ; [*06EA.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A ; [*06EB.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
-237B ; [*06EC.0020.0002.237B] # NOT CHECK MARK
-237C ; [*06ED.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D ; [*06EE.0020.0002.237D] # SHOULDERED OPEN BOX
-237E ; [*06EF.0020.0002.237E] # BELL SYMBOL
-237F ; [*06F0.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
-2380 ; [*06F1.0020.0002.2380] # INSERTION SYMBOL
-2381 ; [*06F2.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
-2382 ; [*06F3.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
-2383 ; [*06F4.0020.0002.2383] # EMPHASIS SYMBOL
-2384 ; [*06F5.0020.0002.2384] # COMPOSITION SYMBOL
-2385 ; [*06F6.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386 ; [*06F7.0020.0002.2386] # ENTER SYMBOL
-2387 ; [*06F8.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
-2388 ; [*06F9.0020.0002.2388] # HELM SYMBOL
-2389 ; [*06FA.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A ; [*06FB.0020.0002.238A] # CIRCLED TRIANGLE DOWN
-238B ; [*06FC.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C ; [*06FD.0020.0002.238C] # UNDO SYMBOL
-238D ; [*06FE.0020.0002.238D] # MONOSTABLE SYMBOL
-238E ; [*06FF.0020.0002.238E] # HYSTERESIS SYMBOL
-238F ; [*0700.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390 ; [*0701.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391 ; [*0702.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392 ; [*0703.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393 ; [*0704.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
-2394 ; [*0705.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
-2395 ; [*0706.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
-2396 ; [*0707.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
-2397 ; [*0708.0020.0002.2397] # PREVIOUS PAGE
-2398 ; [*0709.0020.0002.2398] # NEXT PAGE
-2399 ; [*070A.0020.0002.2399] # PRINT SCREEN SYMBOL
-239A ; [*070B.0020.0002.239A] # CLEAR SCREEN SYMBOL
-239B ; [*070C.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
-239C ; [*070D.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
-239D ; [*070E.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
-239E ; [*070F.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
-239F ; [*0710.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
-23A0 ; [*0711.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
-23A1 ; [*0712.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
-23A2 ; [*0713.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
-23A3 ; [*0714.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
-23A4 ; [*0715.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
-23A5 ; [*0716.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
-23A6 ; [*0717.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
-23A7 ; [*0718.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
-23A8 ; [*0719.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
-23A9 ; [*071A.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
-23AA ; [*071B.0020.0002.23AA] # CURLY BRACKET EXTENSION
-23AB ; [*071C.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
-23AC ; [*071D.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD ; [*071E.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
-23AE ; [*071F.0020.0002.23AE] # INTEGRAL EXTENSION
-23AF ; [*0720.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
-23B0 ; [*0721.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1 ; [*0722.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2 ; [*0723.0020.0002.23B2] # SUMMATION TOP
-23B3 ; [*0724.0020.0002.23B3] # SUMMATION BOTTOM
-23B4 ; [*0725.0020.0002.23B4] # TOP SQUARE BRACKET
-23B5 ; [*0726.0020.0002.23B5] # BOTTOM SQUARE BRACKET
-23B6 ; [*0727.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7 ; [*0728.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
-23B8 ; [*0729.0020.0002.23B8] # LEFT VERTICAL BOX LINE
-23B9 ; [*072A.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
-23BA ; [*072B.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
-23BB ; [*072C.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
-23BC ; [*072D.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
-23BD ; [*072E.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
-23BE ; [*072F.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF ; [*0730.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0 ; [*0731.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1 ; [*0732.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2 ; [*0733.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3 ; [*0734.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4 ; [*0735.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5 ; [*0736.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6 ; [*0737.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7 ; [*0738.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8 ; [*0739.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9 ; [*073A.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA ; [*073B.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB ; [*073C.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC ; [*073D.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD ; [*073E.0020.0002.23CD] # SQUARE FOOT
-23CE ; [*073F.0020.0002.23CE] # RETURN SYMBOL
-23CF ; [*0740.0020.0002.23CF] # EJECT SYMBOL
-23D0 ; [*0741.0020.0002.23D0] # VERTICAL LINE EXTENSION
-23D1 ; [*0742.0020.0002.23D1] # METRICAL BREVE
-23D2 ; [*0743.0020.0002.23D2] # METRICAL LONG OVER SHORT
-23D3 ; [*0744.0020.0002.23D3] # METRICAL SHORT OVER LONG
-23D4 ; [*0745.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
-23D5 ; [*0746.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
-23D6 ; [*0747.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
-23D7 ; [*0748.0020.0002.23D7] # METRICAL TRISEME
-23D8 ; [*0749.0020.0002.23D8] # METRICAL TETRASEME
-23D9 ; [*074A.0020.0002.23D9] # METRICAL PENTASEME
-23DA ; [*074B.0020.0002.23DA] # EARTH GROUND
-23DB ; [*074C.0020.0002.23DB] # FUSE
-23DC ; [*074D.0020.0002.23DC] # TOP PARENTHESIS
-23DD ; [*074E.0020.0002.23DD] # BOTTOM PARENTHESIS
-23DE ; [*074F.0020.0002.23DE] # TOP CURLY BRACKET
-23DF ; [*0750.0020.0002.23DF] # BOTTOM CURLY BRACKET
-23E0 ; [*0751.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
-23E1 ; [*0752.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
-23E2 ; [*0753.0020.0002.23E2] # WHITE TRAPEZIUM
-23E3 ; [*0754.0020.0002.23E3] # BENZENE RING WITH CIRCLE
-23E4 ; [*0755.0020.0002.23E4] # STRAIGHTNESS
-23E5 ; [*0756.0020.0002.23E5] # FLATNESS
-23E6 ; [*0757.0020.0002.23E6] # AC CURRENT
-23E7 ; [*0758.0020.0002.23E7] # ELECTRICAL INTERSECTION
-23E8 ; [*0759.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
-23E9 ; [*075A.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
-23EA ; [*075B.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
-23EB ; [*075C.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
-23EC ; [*075D.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
-23ED ; [*075E.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE ; [*075F.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EF ; [*0760.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F0 ; [*0761.0020.0002.23F0] # ALARM CLOCK
-23F1 ; [*0762.0020.0002.23F1] # STOPWATCH
-23F2 ; [*0763.0020.0002.23F2] # TIMER CLOCK
-23F3 ; [*0764.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
-2400 ; [*0765.0020.0002.2400] # SYMBOL FOR NULL
-2401 ; [*0766.0020.0002.2401] # SYMBOL FOR START OF HEADING
-2402 ; [*0767.0020.0002.2402] # SYMBOL FOR START OF TEXT
-2403 ; [*0768.0020.0002.2403] # SYMBOL FOR END OF TEXT
-2404 ; [*0769.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
-2405 ; [*076A.0020.0002.2405] # SYMBOL FOR ENQUIRY
-2406 ; [*076B.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
-2407 ; [*076C.0020.0002.2407] # SYMBOL FOR BELL
-2408 ; [*076D.0020.0002.2408] # SYMBOL FOR BACKSPACE
-2409 ; [*076E.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
-240A ; [*076F.0020.0002.240A] # SYMBOL FOR LINE FEED
-240B ; [*0770.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
-240C ; [*0771.0020.0002.240C] # SYMBOL FOR FORM FEED
-240D ; [*0772.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
-240E ; [*0773.0020.0002.240E] # SYMBOL FOR SHIFT OUT
-240F ; [*0774.0020.0002.240F] # SYMBOL FOR SHIFT IN
-2410 ; [*0775.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
-2411 ; [*0776.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
-2412 ; [*0777.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
-2413 ; [*0778.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
-2414 ; [*0779.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
-2415 ; [*077A.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416 ; [*077B.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
-2417 ; [*077C.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418 ; [*077D.0020.0002.2418] # SYMBOL FOR CANCEL
-2419 ; [*077E.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
-241A ; [*077F.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
-241B ; [*0780.0020.0002.241B] # SYMBOL FOR ESCAPE
-241C ; [*0781.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
-241D ; [*0782.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
-241E ; [*0783.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
-241F ; [*0784.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
-2420 ; [*0785.0020.0002.2420] # SYMBOL FOR SPACE
-2421 ; [*0786.0020.0002.2421] # SYMBOL FOR DELETE
-2422 ; [*0787.0020.0002.2422] # BLANK SYMBOL
-2423 ; [*0788.0020.0002.2423] # OPEN BOX
-2424 ; [*0789.0020.0002.2424] # SYMBOL FOR NEWLINE
-2425 ; [*078A.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
-2426 ; [*078B.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
-2440 ; [*078C.0020.0002.2440] # OCR HOOK
-2441 ; [*078D.0020.0002.2441] # OCR CHAIR
-2442 ; [*078E.0020.0002.2442] # OCR FORK
-2443 ; [*078F.0020.0002.2443] # OCR INVERTED FORK
-2444 ; [*0790.0020.0002.2444] # OCR BELT BUCKLE
-2445 ; [*0791.0020.0002.2445] # OCR BOW TIE
-2446 ; [*0792.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
-2447 ; [*0793.0020.0002.2447] # OCR AMOUNT OF CHECK
-2448 ; [*0794.0020.0002.2448] # OCR DASH
-2449 ; [*0795.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
-244A ; [*0796.0020.0002.244A] # OCR DOUBLE BACKSLASH
-2500 ; [*0797.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
-2501 ; [*0798.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
-2502 ; [*0799.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
-2503 ; [*079A.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
-2504 ; [*079B.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505 ; [*079C.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506 ; [*079D.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507 ; [*079E.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508 ; [*079F.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509 ; [*07A0.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A ; [*07A1.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B ; [*07A2.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C ; [*07A3.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D ; [*07A4.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E ; [*07A5.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F ; [*07A6.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510 ; [*07A7.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511 ; [*07A8.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512 ; [*07A9.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513 ; [*07AA.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514 ; [*07AB.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
-2515 ; [*07AC.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516 ; [*07AD.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517 ; [*07AE.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
-2518 ; [*07AF.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
-2519 ; [*07B0.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A ; [*07B1.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B ; [*07B2.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
-251C ; [*07B3.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D ; [*07B4.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E ; [*07B5.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F ; [*07B6.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520 ; [*07B7.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521 ; [*07B8.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522 ; [*07B9.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523 ; [*07BA.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524 ; [*07BB.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525 ; [*07BC.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526 ; [*07BD.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527 ; [*07BE.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528 ; [*07BF.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529 ; [*07C0.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A ; [*07C1.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B ; [*07C2.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C ; [*07C3.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D ; [*07C4.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E ; [*07C5.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F ; [*07C6.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530 ; [*07C7.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531 ; [*07C8.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532 ; [*07C9.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533 ; [*07CA.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534 ; [*07CB.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535 ; [*07CC.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536 ; [*07CD.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537 ; [*07CE.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538 ; [*07CF.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539 ; [*07D0.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A ; [*07D1.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B ; [*07D2.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C ; [*07D3.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D ; [*07D4.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E ; [*07D5.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F ; [*07D6.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540 ; [*07D7.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541 ; [*07D8.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542 ; [*07D9.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543 ; [*07DA.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544 ; [*07DB.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545 ; [*07DC.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546 ; [*07DD.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547 ; [*07DE.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548 ; [*07DF.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549 ; [*07E0.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A ; [*07E1.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B ; [*07E2.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C ; [*07E3.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D ; [*07E4.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E ; [*07E5.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F ; [*07E6.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550 ; [*07E7.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
-2551 ; [*07E8.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
-2552 ; [*07E9.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553 ; [*07EA.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554 ; [*07EB.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555 ; [*07EC.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556 ; [*07ED.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557 ; [*07EE.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558 ; [*07EF.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559 ; [*07F0.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A ; [*07F1.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B ; [*07F2.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C ; [*07F3.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D ; [*07F4.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
-255E ; [*07F5.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F ; [*07F6.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560 ; [*07F7.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561 ; [*07F8.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562 ; [*07F9.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563 ; [*07FA.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564 ; [*07FB.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565 ; [*07FC.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566 ; [*07FD.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567 ; [*07FE.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568 ; [*07FF.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569 ; [*0800.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A ; [*0801.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B ; [*0802.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C ; [*0803.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D ; [*0804.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E ; [*0805.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F ; [*0806.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570 ; [*0807.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571 ; [*0808.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572 ; [*0809.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573 ; [*080A.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574 ; [*080B.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
-2575 ; [*080C.0020.0002.2575] # BOX DRAWINGS LIGHT UP
-2576 ; [*080D.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
-2577 ; [*080E.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
-2578 ; [*080F.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
-2579 ; [*0810.0020.0002.2579] # BOX DRAWINGS HEAVY UP
-257A ; [*0811.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
-257B ; [*0812.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
-257C ; [*0813.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D ; [*0814.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E ; [*0815.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F ; [*0816.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580 ; [*0817.0020.0002.2580] # UPPER HALF BLOCK
-2581 ; [*0818.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
-2582 ; [*0819.0020.0002.2582] # LOWER ONE QUARTER BLOCK
-2583 ; [*081A.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
-2584 ; [*081B.0020.0002.2584] # LOWER HALF BLOCK
-2585 ; [*081C.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
-2586 ; [*081D.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
-2587 ; [*081E.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
-2588 ; [*081F.0020.0002.2588] # FULL BLOCK
-2589 ; [*0820.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
-258A ; [*0821.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
-258B ; [*0822.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
-258C ; [*0823.0020.0002.258C] # LEFT HALF BLOCK
-258D ; [*0824.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
-258E ; [*0825.0020.0002.258E] # LEFT ONE QUARTER BLOCK
-258F ; [*0826.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
-2590 ; [*0827.0020.0002.2590] # RIGHT HALF BLOCK
-2591 ; [*0828.0020.0002.2591] # LIGHT SHADE
-2592 ; [*0829.0020.0002.2592] # MEDIUM SHADE
-2593 ; [*082A.0020.0002.2593] # DARK SHADE
-2594 ; [*082B.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
-2595 ; [*082C.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
-2596 ; [*082D.0020.0002.2596] # QUADRANT LOWER LEFT
-2597 ; [*082E.0020.0002.2597] # QUADRANT LOWER RIGHT
-2598 ; [*082F.0020.0002.2598] # QUADRANT UPPER LEFT
-2599 ; [*0830.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A ; [*0831.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B ; [*0832.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C ; [*0833.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D ; [*0834.0020.0002.259D] # QUADRANT UPPER RIGHT
-259E ; [*0835.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F ; [*0836.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0 ; [*0837.0020.0002.25A0] # BLACK SQUARE
-25A1 ; [*0838.0020.0002.25A1] # WHITE SQUARE
-25A2 ; [*0839.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
-25A3 ; [*083A.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4 ; [*083B.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
-25A5 ; [*083C.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
-25A6 ; [*083D.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7 ; [*083E.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8 ; [*083F.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9 ; [*0840.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA ; [*0841.0020.0002.25AA] # BLACK SMALL SQUARE
-25AB ; [*0842.0020.0002.25AB] # WHITE SMALL SQUARE
-25AC ; [*0843.0020.0002.25AC] # BLACK RECTANGLE
-25AD ; [*0844.0020.0002.25AD] # WHITE RECTANGLE
-25AE ; [*0845.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
-25AF ; [*0846.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
-25B0 ; [*0847.0020.0002.25B0] # BLACK PARALLELOGRAM
-25B1 ; [*0848.0020.0002.25B1] # WHITE PARALLELOGRAM
-25B2 ; [*0849.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
-25B3 ; [*084A.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
-25B4 ; [*084B.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
-25B5 ; [*084C.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
-25B6 ; [*084D.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
-25B7 ; [*084E.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
-25B8 ; [*084F.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9 ; [*0850.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA ; [*0851.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
-25BB ; [*0852.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
-25BC ; [*0853.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
-25BD ; [*0854.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
-25BE ; [*0855.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF ; [*0856.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0 ; [*0857.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
-25C1 ; [*0858.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
-25C2 ; [*0859.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3 ; [*085A.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4 ; [*085B.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
-25C5 ; [*085C.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
-25C6 ; [*085D.0020.0002.25C6] # BLACK DIAMOND
-25C7 ; [*085E.0020.0002.25C7] # WHITE DIAMOND
-25C8 ; [*085F.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9 ; [*0860.0020.0002.25C9] # FISHEYE
-25CA ; [*0861.0020.0002.25CA] # LOZENGE
-25CB ; [*0862.0020.0002.25CB] # WHITE CIRCLE
-25CC ; [*0863.0020.0002.25CC] # DOTTED CIRCLE
-25CD ; [*0864.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
-25CE ; [*0865.0020.0002.25CE] # BULLSEYE
-25CF ; [*0866.0020.0002.25CF] # BLACK CIRCLE
-25D0 ; [*0867.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
-25D1 ; [*0868.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
-25D2 ; [*0869.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
-25D3 ; [*086A.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
-25D4 ; [*086B.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5 ; [*086C.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6 ; [*086D.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
-25D7 ; [*086E.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
-25D8 ; [*086F.0020.0002.25D8] # INVERSE BULLET
-25D9 ; [*0870.0020.0002.25D9] # INVERSE WHITE CIRCLE
-25DA ; [*0871.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
-25DB ; [*0872.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
-25DC ; [*0873.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD ; [*0874.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE ; [*0875.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF ; [*0876.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0 ; [*0877.0020.0002.25E0] # UPPER HALF CIRCLE
-25E1 ; [*0878.0020.0002.25E1] # LOWER HALF CIRCLE
-25E2 ; [*0879.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
-25E3 ; [*087A.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
-25E4 ; [*087B.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
-25E5 ; [*087C.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
-25E6 ; [*087D.0020.0002.25E6] # WHITE BULLET
-25E7 ; [*087E.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
-25E8 ; [*087F.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
-25E9 ; [*0880.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA ; [*0881.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB ; [*0882.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC ; [*0883.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED ; [*0884.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE ; [*0885.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF ; [*0886.0020.0002.25EF] # LARGE CIRCLE
-25F0 ; [*0887.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1 ; [*0888.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2 ; [*0889.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3 ; [*088A.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4 ; [*088B.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5 ; [*088C.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6 ; [*088D.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7 ; [*088E.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8 ; [*088F.0020.0002.25F8] # UPPER LEFT TRIANGLE
-25F9 ; [*0890.0020.0002.25F9] # UPPER RIGHT TRIANGLE
-25FA ; [*0891.0020.0002.25FA] # LOWER LEFT TRIANGLE
-25FB ; [*0892.0020.0002.25FB] # WHITE MEDIUM SQUARE
-25FC ; [*0893.0020.0002.25FC] # BLACK MEDIUM SQUARE
-25FD ; [*0894.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
-25FE ; [*0895.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
-25FF ; [*0896.0020.0002.25FF] # LOWER RIGHT TRIANGLE
-2600 ; [*0897.0020.0002.2600] # BLACK SUN WITH RAYS
-2601 ; [*0898.0020.0002.2601] # CLOUD
-2602 ; [*0899.0020.0002.2602] # UMBRELLA
-2603 ; [*089A.0020.0002.2603] # SNOWMAN
-2604 ; [*089B.0020.0002.2604] # COMET
-2605 ; [*089C.0020.0002.2605] # BLACK STAR
-2606 ; [*089D.0020.0002.2606] # WHITE STAR
-2607 ; [*089E.0020.0002.2607] # LIGHTNING
-2608 ; [*089F.0020.0002.2608] # THUNDERSTORM
-2609 ; [*08A0.0020.0002.2609] # SUN
-260A ; [*08A1.0020.0002.260A] # ASCENDING NODE
-260B ; [*08A2.0020.0002.260B] # DESCENDING NODE
-260C ; [*08A3.0020.0002.260C] # CONJUNCTION
-260D ; [*08A4.0020.0002.260D] # OPPOSITION
-260E ; [*08A5.0020.0002.260E] # BLACK TELEPHONE
-260F ; [*08A6.0020.0002.260F] # WHITE TELEPHONE
-2610 ; [*08A7.0020.0002.2610] # BALLOT BOX
-2611 ; [*08A8.0020.0002.2611] # BALLOT BOX WITH CHECK
-2612 ; [*08A9.0020.0002.2612] # BALLOT BOX WITH X
-2613 ; [*08AA.0020.0002.2613] # SALTIRE
-2614 ; [*08AB.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
-2615 ; [*08AC.0020.0002.2615] # HOT BEVERAGE
-2616 ; [*08AD.0020.0002.2616] # WHITE SHOGI PIECE
-2617 ; [*08AE.0020.0002.2617] # BLACK SHOGI PIECE
-2618 ; [*08AF.0020.0002.2618] # SHAMROCK
-2619 ; [*08B0.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
-261A ; [*08B1.0020.0002.261A] # BLACK LEFT POINTING INDEX
-261B ; [*08B2.0020.0002.261B] # BLACK RIGHT POINTING INDEX
-261C ; [*08B3.0020.0002.261C] # WHITE LEFT POINTING INDEX
-261D ; [*08B4.0020.0002.261D] # WHITE UP POINTING INDEX
-261E ; [*08B5.0020.0002.261E] # WHITE RIGHT POINTING INDEX
-261F ; [*08B6.0020.0002.261F] # WHITE DOWN POINTING INDEX
-2620 ; [*08B7.0020.0002.2620] # SKULL AND CROSSBONES
-2621 ; [*08B8.0020.0002.2621] # CAUTION SIGN
-2622 ; [*08B9.0020.0002.2622] # RADIOACTIVE SIGN
-2623 ; [*08BA.0020.0002.2623] # BIOHAZARD SIGN
-2624 ; [*08BB.0020.0002.2624] # CADUCEUS
-2625 ; [*08BC.0020.0002.2625] # ANKH
-2626 ; [*08BD.0020.0002.2626] # ORTHODOX CROSS
-2627 ; [*08BE.0020.0002.2627] # CHI RHO
-2628 ; [*08BF.0020.0002.2628] # CROSS OF LORRAINE
-2629 ; [*08C0.0020.0002.2629] # CROSS OF JERUSALEM
-262A ; [*08C1.0020.0002.262A] # STAR AND CRESCENT
-262B ; [*08C2.0020.0002.262B] # FARSI SYMBOL
-262C ; [*08C3.0020.0002.262C] # ADI SHAKTI
-262D ; [*08C4.0020.0002.262D] # HAMMER AND SICKLE
-262E ; [*08C5.0020.0002.262E] # PEACE SYMBOL
-262F ; [*08C6.0020.0002.262F] # YIN YANG
-2630 ; [*0DA9.0020.0002.2630] # TRIGRAM FOR HEAVEN
-2631 ; [*0DAA.0020.0002.2631] # TRIGRAM FOR LAKE
-2632 ; [*0DAB.0020.0002.2632] # TRIGRAM FOR FIRE
-2633 ; [*0DAC.0020.0002.2633] # TRIGRAM FOR THUNDER
-2634 ; [*0DAD.0020.0002.2634] # TRIGRAM FOR WIND
-2635 ; [*0DAE.0020.0002.2635] # TRIGRAM FOR WATER
-2636 ; [*0DAF.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
-2637 ; [*0DB0.0020.0002.2637] # TRIGRAM FOR EARTH
-2638 ; [*08C7.0020.0002.2638] # WHEEL OF DHARMA
-2639 ; [*08C8.0020.0002.2639] # WHITE FROWNING FACE
-263A ; [*08C9.0020.0002.263A] # WHITE SMILING FACE
-263B ; [*08CA.0020.0002.263B] # BLACK SMILING FACE
-263C ; [*08CB.0020.0002.263C] # WHITE SUN WITH RAYS
-263D ; [*08CC.0020.0002.263D] # FIRST QUARTER MOON
-263E ; [*08CD.0020.0002.263E] # LAST QUARTER MOON
-263F ; [*08CE.0020.0002.263F] # MERCURY
-2640 ; [*08CF.0020.0002.2640] # FEMALE SIGN
-2641 ; [*08D0.0020.0002.2641] # EARTH
-2642 ; [*08D1.0020.0002.2642] # MALE SIGN
-2643 ; [*08D2.0020.0002.2643] # JUPITER
-2644 ; [*08D3.0020.0002.2644] # SATURN
-2645 ; [*08D4.0020.0002.2645] # URANUS
-2646 ; [*08D5.0020.0002.2646] # NEPTUNE
-2647 ; [*08D6.0020.0002.2647] # PLUTO
-2648 ; [*08D7.0020.0002.2648] # ARIES
-2649 ; [*08D8.0020.0002.2649] # TAURUS
-264A ; [*08D9.0020.0002.264A] # GEMINI
-264B ; [*08DA.0020.0002.264B] # CANCER
-264C ; [*08DB.0020.0002.264C] # LEO
-264D ; [*08DC.0020.0002.264D] # VIRGO
-264E ; [*08DD.0020.0002.264E] # LIBRA
-264F ; [*08DE.0020.0002.264F] # SCORPIUS
-2650 ; [*08DF.0020.0002.2650] # SAGITTARIUS
-2651 ; [*08E0.0020.0002.2651] # CAPRICORN
-2652 ; [*08E1.0020.0002.2652] # AQUARIUS
-2653 ; [*08E2.0020.0002.2653] # PISCES
-2654 ; [*08E3.0020.0002.2654] # WHITE CHESS KING
-2655 ; [*08E4.0020.0002.2655] # WHITE CHESS QUEEN
-2656 ; [*08E5.0020.0002.2656] # WHITE CHESS ROOK
-2657 ; [*08E6.0020.0002.2657] # WHITE CHESS BISHOP
-2658 ; [*08E7.0020.0002.2658] # WHITE CHESS KNIGHT
-2659 ; [*08E8.0020.0002.2659] # WHITE CHESS PAWN
-265A ; [*08E9.0020.0002.265A] # BLACK CHESS KING
-265B ; [*08EA.0020.0002.265B] # BLACK CHESS QUEEN
-265C ; [*08EB.0020.0002.265C] # BLACK CHESS ROOK
-265D ; [*08EC.0020.0002.265D] # BLACK CHESS BISHOP
-265E ; [*08ED.0020.0002.265E] # BLACK CHESS KNIGHT
-265F ; [*08EE.0020.0002.265F] # BLACK CHESS PAWN
-2660 ; [*08EF.0020.0002.2660] # BLACK SPADE SUIT
-2661 ; [*08F0.0020.0002.2661] # WHITE HEART SUIT
-2662 ; [*08F1.0020.0002.2662] # WHITE DIAMOND SUIT
-2663 ; [*08F2.0020.0002.2663] # BLACK CLUB SUIT
-2664 ; [*08F3.0020.0002.2664] # WHITE SPADE SUIT
-2665 ; [*08F4.0020.0002.2665] # BLACK HEART SUIT
-2666 ; [*08F5.0020.0002.2666] # BLACK DIAMOND SUIT
-2667 ; [*08F6.0020.0002.2667] # WHITE CLUB SUIT
-2668 ; [*08F7.0020.0002.2668] # HOT SPRINGS
-2669 ; [*08F8.0020.0002.2669] # QUARTER NOTE
-266A ; [*08F9.0020.0002.266A] # EIGHTH NOTE
-266B ; [*08FA.0020.0002.266B] # BEAMED EIGHTH NOTES
-266C ; [*08FB.0020.0002.266C] # BEAMED SIXTEENTH NOTES
-266D ; [*0FEF.0020.0002.266D] # MUSIC FLAT SIGN
-266E ; [*0FF0.0020.0002.266E] # MUSIC NATURAL SIGN
-266F ; [*0FF1.0020.0002.266F] # MUSIC SHARP SIGN
-2670 ; [*08FC.0020.0002.2670] # WEST SYRIAC CROSS
-2671 ; [*08FD.0020.0002.2671] # EAST SYRIAC CROSS
-2672 ; [*08FE.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
-2673 ; [*08FF.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674 ; [*0900.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675 ; [*0901.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676 ; [*0902.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677 ; [*0903.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678 ; [*0904.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679 ; [*0905.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A ; [*0906.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B ; [*0907.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
-267C ; [*0908.0020.0002.267C] # RECYCLED PAPER SYMBOL
-267D ; [*0909.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
-267E ; [*090A.0020.0002.267E] # PERMANENT PAPER SIGN
-267F ; [*090B.0020.0002.267F] # WHEELCHAIR SYMBOL
-2680 ; [*090C.0020.0002.2680] # DIE FACE-1
-2681 ; [*090D.0020.0002.2681] # DIE FACE-2
-2682 ; [*090E.0020.0002.2682] # DIE FACE-3
-2683 ; [*090F.0020.0002.2683] # DIE FACE-4
-2684 ; [*0910.0020.0002.2684] # DIE FACE-5
-2685 ; [*0911.0020.0002.2685] # DIE FACE-6
-2686 ; [*0912.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
-2687 ; [*0913.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
-2688 ; [*0914.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689 ; [*0915.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
-268A ; [*0DA3.0020.0002.268A] # MONOGRAM FOR YANG
-268B ; [*0DA4.0020.0002.268B] # MONOGRAM FOR YIN
-268C ; [*0DA5.0020.0002.268C] # DIGRAM FOR GREATER YANG
-268D ; [*0DA6.0020.0002.268D] # DIGRAM FOR LESSER YIN
-268E ; [*0DA7.0020.0002.268E] # DIGRAM FOR LESSER YANG
-268F ; [*0DA8.0020.0002.268F] # DIGRAM FOR GREATER YIN
-2690 ; [*0916.0020.0002.2690] # WHITE FLAG
-2691 ; [*0917.0020.0002.2691] # BLACK FLAG
-2692 ; [*0918.0020.0002.2692] # HAMMER AND PICK
-2693 ; [*0919.0020.0002.2693] # ANCHOR
-2694 ; [*091A.0020.0002.2694] # CROSSED SWORDS
-2695 ; [*091B.0020.0002.2695] # STAFF OF AESCULAPIUS
-2696 ; [*091C.0020.0002.2696] # SCALES
-2697 ; [*091D.0020.0002.2697] # ALEMBIC
-2698 ; [*091E.0020.0002.2698] # FLOWER
-2699 ; [*091F.0020.0002.2699] # GEAR
-269A ; [*0920.0020.0002.269A] # STAFF OF HERMES
-269B ; [*0921.0020.0002.269B] # ATOM SYMBOL
-269C ; [*0922.0020.0002.269C] # FLEUR-DE-LIS
-269D ; [*0923.0020.0002.269D] # OUTLINED WHITE STAR
-269E ; [*0924.0020.0002.269E] # THREE LINES CONVERGING RIGHT
-269F ; [*0925.0020.0002.269F] # THREE LINES CONVERGING LEFT
-26A0 ; [*0926.0020.0002.26A0] # WARNING SIGN
-26A1 ; [*0927.0020.0002.26A1] # HIGH VOLTAGE SIGN
-26A2 ; [*0928.0020.0002.26A2] # DOUBLED FEMALE SIGN
-26A3 ; [*0929.0020.0002.26A3] # DOUBLED MALE SIGN
-26A4 ; [*092A.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
-26A5 ; [*092B.0020.0002.26A5] # MALE AND FEMALE SIGN
-26A6 ; [*092C.0020.0002.26A6] # MALE WITH STROKE SIGN
-26A7 ; [*092D.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8 ; [*092E.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
-26A9 ; [*092F.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
-26AA ; [*0930.0020.0002.26AA] # MEDIUM WHITE CIRCLE
-26AB ; [*0931.0020.0002.26AB] # MEDIUM BLACK CIRCLE
-26AC ; [*0932.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
-26AD ; [*0933.0020.0002.26AD] # MARRIAGE SYMBOL
-26AE ; [*0934.0020.0002.26AE] # DIVORCE SYMBOL
-26AF ; [*0935.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
-26B0 ; [*0936.0020.0002.26B0] # COFFIN
-26B1 ; [*0937.0020.0002.26B1] # FUNERAL URN
-26B2 ; [*0938.0020.0002.26B2] # NEUTER
-26B3 ; [*0939.0020.0002.26B3] # CERES
-26B4 ; [*093A.0020.0002.26B4] # PALLAS
-26B5 ; [*093B.0020.0002.26B5] # JUNO
-26B6 ; [*093C.0020.0002.26B6] # VESTA
-26B7 ; [*093D.0020.0002.26B7] # CHIRON
-26B8 ; [*093E.0020.0002.26B8] # BLACK MOON LILITH
-26B9 ; [*093F.0020.0002.26B9] # SEXTILE
-26BA ; [*0940.0020.0002.26BA] # SEMISEXTILE
-26BB ; [*0941.0020.0002.26BB] # QUINCUNX
-26BC ; [*0942.0020.0002.26BC] # SESQUIQUADRATE
-26BD ; [*0943.0020.0002.26BD] # SOCCER BALL
-26BE ; [*0944.0020.0002.26BE] # BASEBALL
-26BF ; [*0945.0020.0002.26BF] # SQUARED KEY
-26C0 ; [*0946.0020.0002.26C0] # WHITE DRAUGHTS MAN
-26C1 ; [*0947.0020.0002.26C1] # WHITE DRAUGHTS KING
-26C2 ; [*0948.0020.0002.26C2] # BLACK DRAUGHTS MAN
-26C3 ; [*0949.0020.0002.26C3] # BLACK DRAUGHTS KING
-26C4 ; [*094A.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
-26C5 ; [*094B.0020.0002.26C5] # SUN BEHIND CLOUD
-26C6 ; [*094C.0020.0002.26C6] # RAIN
-26C7 ; [*094D.0020.0002.26C7] # BLACK SNOWMAN
-26C8 ; [*094E.0020.0002.26C8] # THUNDER CLOUD AND RAIN
-26C9 ; [*094F.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
-26CA ; [*0950.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
-26CB ; [*0951.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
-26CC ; [*0952.0020.0002.26CC] # CROSSING LANES
-26CD ; [*0953.0020.0002.26CD] # DISABLED CAR
-26CE ; [*0954.0020.0002.26CE] # OPHIUCHUS
-26CF ; [*0955.0020.0002.26CF] # PICK
-26D0 ; [*0956.0020.0002.26D0] # CAR SLIDING
-26D1 ; [*0957.0020.0002.26D1] # HELMET WITH WHITE CROSS
-26D2 ; [*0958.0020.0002.26D2] # CIRCLED CROSSING LANES
-26D3 ; [*0959.0020.0002.26D3] # CHAINS
-26D4 ; [*095A.0020.0002.26D4] # NO ENTRY
-26D5 ; [*095B.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6 ; [*095C.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7 ; [*095D.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8 ; [*095E.0020.0002.26D8] # BLACK LEFT LANE MERGE
-26D9 ; [*095F.0020.0002.26D9] # WHITE LEFT LANE MERGE
-26DA ; [*0960.0020.0002.26DA] # DRIVE SLOW SIGN
-26DB ; [*0961.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC ; [*0962.0020.0002.26DC] # LEFT CLOSED ENTRY
-26DD ; [*0963.0020.0002.26DD] # SQUARED SALTIRE
-26DE ; [*0964.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF ; [*0965.0020.0002.26DF] # BLACK TRUCK
-26E0 ; [*0966.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
-26E1 ; [*0967.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
-26E2 ; [*0968.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
-26E3 ; [*0969.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E4 ; [*096A.0020.0002.26E4] # PENTAGRAM
-26E5 ; [*096B.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
-26E6 ; [*096C.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
-26E7 ; [*096D.0020.0002.26E7] # INVERTED PENTAGRAM
-26E8 ; [*096E.0020.0002.26E8] # BLACK CROSS ON SHIELD
-26E9 ; [*096F.0020.0002.26E9] # SHINTO SHRINE
-26EA ; [*0970.0020.0002.26EA] # CHURCH
-26EB ; [*0971.0020.0002.26EB] # CASTLE
-26EC ; [*0972.0020.0002.26EC] # HISTORIC SITE
-26ED ; [*0973.0020.0002.26ED] # GEAR WITHOUT HUB
-26EE ; [*0974.0020.0002.26EE] # GEAR WITH HANDLES
-26EF ; [*0975.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
-26F0 ; [*0976.0020.0002.26F0] # MOUNTAIN
-26F1 ; [*0977.0020.0002.26F1] # UMBRELLA ON GROUND
-26F2 ; [*0978.0020.0002.26F2] # FOUNTAIN
-26F3 ; [*0979.0020.0002.26F3] # FLAG IN HOLE
-26F4 ; [*097A.0020.0002.26F4] # FERRY
-26F5 ; [*097B.0020.0002.26F5] # SAILBOAT
-26F6 ; [*097C.0020.0002.26F6] # SQUARE FOUR CORNERS
-26F7 ; [*097D.0020.0002.26F7] # SKIER
-26F8 ; [*097E.0020.0002.26F8] # ICE SKATE
-26F9 ; [*097F.0020.0002.26F9] # PERSON WITH BALL
-26FA ; [*0980.0020.0002.26FA] # TENT
-26FB ; [*0981.0020.0002.26FB] # JAPANESE BANK SYMBOL
-26FC ; [*0982.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
-26FD ; [*0983.0020.0002.26FD] # FUEL PUMP
-26FE ; [*0984.0020.0002.26FE] # CUP ON BLACK SQUARE
-26FF ; [*0985.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701 ; [*09A0.0020.0002.2701] # UPPER BLADE SCISSORS
-2702 ; [*09A1.0020.0002.2702] # BLACK SCISSORS
-2703 ; [*09A2.0020.0002.2703] # LOWER BLADE SCISSORS
-2704 ; [*09A3.0020.0002.2704] # WHITE SCISSORS
-2705 ; [*09A4.0020.0002.2705] # WHITE HEAVY CHECK MARK
-2706 ; [*09A5.0020.0002.2706] # TELEPHONE LOCATION SIGN
-2707 ; [*09A6.0020.0002.2707] # TAPE DRIVE
-2708 ; [*09A7.0020.0002.2708] # AIRPLANE
-2709 ; [*09A8.0020.0002.2709] # ENVELOPE
-270A ; [*09A9.0020.0002.270A] # RAISED FIST
-270B ; [*09AA.0020.0002.270B] # RAISED HAND
-270C ; [*09AB.0020.0002.270C] # VICTORY HAND
-270D ; [*09AC.0020.0002.270D] # WRITING HAND
-270E ; [*09AD.0020.0002.270E] # LOWER RIGHT PENCIL
-270F ; [*09AE.0020.0002.270F] # PENCIL
-2710 ; [*09AF.0020.0002.2710] # UPPER RIGHT PENCIL
-2711 ; [*09B0.0020.0002.2711] # WHITE NIB
-2712 ; [*09B1.0020.0002.2712] # BLACK NIB
-2713 ; [*09B2.0020.0002.2713] # CHECK MARK
-2714 ; [*09B3.0020.0002.2714] # HEAVY CHECK MARK
-2715 ; [*09B4.0020.0002.2715] # MULTIPLICATION X
-2716 ; [*09B5.0020.0002.2716] # HEAVY MULTIPLICATION X
-2717 ; [*09B6.0020.0002.2717] # BALLOT X
-2718 ; [*09B7.0020.0002.2718] # HEAVY BALLOT X
-2719 ; [*09B8.0020.0002.2719] # OUTLINED GREEK CROSS
-271A ; [*09B9.0020.0002.271A] # HEAVY GREEK CROSS
-271B ; [*09BA.0020.0002.271B] # OPEN CENTRE CROSS
-271C ; [*09BB.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
-271D ; [*09BC.0020.0002.271D] # LATIN CROSS
-271E ; [*09BD.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
-271F ; [*09BE.0020.0002.271F] # OUTLINED LATIN CROSS
-2720 ; [*09BF.0020.0002.2720] # MALTESE CROSS
-2721 ; [*09C0.0020.0002.2721] # STAR OF DAVID
-2722 ; [*09C1.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
-2723 ; [*09C2.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
-2724 ; [*09C3.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725 ; [*09C4.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
-2726 ; [*09C5.0020.0002.2726] # BLACK FOUR POINTED STAR
-2727 ; [*09C6.0020.0002.2727] # WHITE FOUR POINTED STAR
-2728 ; [*09C7.0020.0002.2728] # SPARKLES
-2729 ; [*09C8.0020.0002.2729] # STRESS OUTLINED WHITE STAR
-272A ; [*09C9.0020.0002.272A] # CIRCLED WHITE STAR
-272B ; [*09CA.0020.0002.272B] # OPEN CENTRE BLACK STAR
-272C ; [*09CB.0020.0002.272C] # BLACK CENTRE WHITE STAR
-272D ; [*09CC.0020.0002.272D] # OUTLINED BLACK STAR
-272E ; [*09CD.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
-272F ; [*09CE.0020.0002.272F] # PINWHEEL STAR
-2730 ; [*09CF.0020.0002.2730] # SHADOWED WHITE STAR
-2731 ; [*09D0.0020.0002.2731] # HEAVY ASTERISK
-2732 ; [*09D1.0020.0002.2732] # OPEN CENTRE ASTERISK
-2733 ; [*09D2.0020.0002.2733] # EIGHT SPOKED ASTERISK
-2734 ; [*09D3.0020.0002.2734] # EIGHT POINTED BLACK STAR
-2735 ; [*09D4.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
-2736 ; [*09D5.0020.0002.2736] # SIX POINTED BLACK STAR
-2737 ; [*09D6.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
-2738 ; [*09D7.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739 ; [*09D8.0020.0002.2739] # TWELVE POINTED BLACK STAR
-273A ; [*09D9.0020.0002.273A] # SIXTEEN POINTED ASTERISK
-273B ; [*09DA.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
-273C ; [*09DB.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D ; [*09DC.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
-273E ; [*09DD.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
-273F ; [*09DE.0020.0002.273F] # BLACK FLORETTE
-2740 ; [*09DF.0020.0002.2740] # WHITE FLORETTE
-2741 ; [*09E0.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742 ; [*09E1.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743 ; [*09E2.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744 ; [*09E3.0020.0002.2744] # SNOWFLAKE
-2745 ; [*09E4.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
-2746 ; [*09E5.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
-2747 ; [*09E6.0020.0002.2747] # SPARKLE
-2748 ; [*09E7.0020.0002.2748] # HEAVY SPARKLE
-2749 ; [*09E8.0020.0002.2749] # BALLOON-SPOKED ASTERISK
-274A ; [*09E9.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B ; [*09EA.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274C ; [*09EB.0020.0002.274C] # CROSS MARK
-274D ; [*09EC.0020.0002.274D] # SHADOWED WHITE CIRCLE
-274E ; [*09ED.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
-274F ; [*09EE.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750 ; [*09EF.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751 ; [*09F0.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
-2752 ; [*09F1.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
-2753 ; [*09F2.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
-2754 ; [*09F3.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
-2755 ; [*09F4.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
-2756 ; [*09F5.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
-2757 ; [*09F6.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
-2758 ; [*09F7.0020.0002.2758] # LIGHT VERTICAL BAR
-2759 ; [*09F8.0020.0002.2759] # MEDIUM VERTICAL BAR
-275A ; [*09F9.0020.0002.275A] # HEAVY VERTICAL BAR
-275B ; [*09FA.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C ; [*09FB.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D ; [*09FC.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E ; [*09FD.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-275F ; [*09FE.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
-2760 ; [*09FF.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761 ; [*0A00.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762 ; [*0A01.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
-2763 ; [*0A02.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 ; [*0A03.0020.0002.2764] # HEAVY BLACK HEART
-2765 ; [*0A04.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
-2766 ; [*0A05.0020.0002.2766] # FLORAL HEART
-2767 ; [*0A06.0020.0002.2767] # ROTATED FLORAL HEART BULLET
-2768 ; [*032D.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; [*032E.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; [*032F.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; [*0330.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; [*0331.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; [*0332.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; [*0333.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; [*0334.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; [*0335.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; [*0336.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; [*0337.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; [*0338.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; [*0339.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; [*033A.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794 ; [*0A07.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795 ; [*0A08.0020.0002.2795] # HEAVY PLUS SIGN
-2796 ; [*0A09.0020.0002.2796] # HEAVY MINUS SIGN
-2797 ; [*0A0A.0020.0002.2797] # HEAVY DIVISION SIGN
-2798 ; [*0A0B.0020.0002.2798] # HEAVY SOUTH EAST ARROW
-2799 ; [*0A0C.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
-279A ; [*0A0D.0020.0002.279A] # HEAVY NORTH EAST ARROW
-279B ; [*0A0E.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
-279C ; [*0A0F.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D ; [*0A10.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E ; [*0A11.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F ; [*0A12.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0 ; [*0A13.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1 ; [*0A14.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
-27A2 ; [*0A15.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3 ; [*0A16.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4 ; [*0A17.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
-27A5 ; [*0A18.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6 ; [*0A19.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7 ; [*0A1A.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
-27A8 ; [*0A1B.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9 ; [*0A1C.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA ; [*0A1D.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB ; [*0A1E.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC ; [*0A1F.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD ; [*0A20.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE ; [*0A21.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF ; [*0A22.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B0 ; [*0A23.0020.0002.27B0] # CURLY LOOP
-27B1 ; [*0A24.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2 ; [*0A25.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3 ; [*0A26.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4 ; [*0A27.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
-27B5 ; [*0A28.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6 ; [*0A29.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
-27B7 ; [*0A2A.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8 ; [*0A2B.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9 ; [*0A2C.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA ; [*0A2D.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB ; [*0A2E.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC ; [*0A2F.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
-27BD ; [*0A30.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE ; [*0A31.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
-27BF ; [*0A32.0020.0002.27BF] # DOUBLE CURLY LOOP
-27C0 ; [*0A33.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
-27C1 ; [*0A34.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2 ; [*0A35.0020.0002.27C2] # PERPENDICULAR
-27C3 ; [*0A36.0020.0002.27C3] # OPEN SUBSET
-27C4 ; [*0A37.0020.0002.27C4] # OPEN SUPERSET
-27C5 ; [*0321.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
-27C6 ; [*0322.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
-27C7 ; [*0A38.0020.0002.27C7] # OR WITH DOT INSIDE
-27C8 ; [*0A39.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
-27C9 ; [*0A3A.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
-27CA ; [*0A3B.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
-27CB ; [*0A3C.0020.0002.27CB] # MATHEMATICAL RISING DIAGONAL
-27CC ; [*0A3D.0020.0002.27CC] # LONG DIVISION
-27CD ; [*0A3E.0020.0002.27CD] # MATHEMATICAL FALLING DIAGONAL
-27CE ; [*0A3F.0020.0002.27CE] # SQUARED LOGICAL AND
-27CF ; [*0A40.0020.0002.27CF] # SQUARED LOGICAL OR
-27D0 ; [*0A41.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
-27D1 ; [*0A42.0020.0002.27D1] # AND WITH DOT
-27D2 ; [*0A43.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
-27D3 ; [*0A44.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
-27D4 ; [*0A45.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
-27D5 ; [*0A46.0020.0002.27D5] # LEFT OUTER JOIN
-27D6 ; [*0A47.0020.0002.27D6] # RIGHT OUTER JOIN
-27D7 ; [*0A48.0020.0002.27D7] # FULL OUTER JOIN
-27D8 ; [*0A49.0020.0002.27D8] # LARGE UP TACK
-27D9 ; [*0A4A.0020.0002.27D9] # LARGE DOWN TACK
-27DA ; [*0A4B.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB ; [*0A4C.0020.0002.27DB] # LEFT AND RIGHT TACK
-27DC ; [*0A4D.0020.0002.27DC] # LEFT MULTIMAP
-27DD ; [*0A4E.0020.0002.27DD] # LONG RIGHT TACK
-27DE ; [*0A4F.0020.0002.27DE] # LONG LEFT TACK
-27DF ; [*0A50.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
-27E0 ; [*0A51.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1 ; [*0A52.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
-27E2 ; [*0A53.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3 ; [*0A54.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4 ; [*0A55.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
-27E5 ; [*0A56.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; [*0323.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; [*0324.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; [*0325.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; [*0326.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; [*0327.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; [*0328.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; [*0329.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; [*032A.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; [*032B.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; [*032C.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0 ; [*0A57.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
-27F1 ; [*0A58.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
-27F2 ; [*0A59.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3 ; [*0A5A.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
-27F4 ; [*0A5B.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
-27F5 ; [*0A5C.0020.0002.27F5] # LONG LEFTWARDS ARROW
-27F6 ; [*0A5D.0020.0002.27F6] # LONG RIGHTWARDS ARROW
-27F7 ; [*0A5E.0020.0002.27F7] # LONG LEFT RIGHT ARROW
-27F8 ; [*0A5F.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
-27F9 ; [*0A60.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
-27FA ; [*0A61.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
-27FB ; [*0A62.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
-27FC ; [*0A63.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
-27FD ; [*0A64.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE ; [*0A65.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF ; [*0A66.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
-2800 ; [*0CA3.0020.0002.2800] # BRAILLE PATTERN BLANK
-2801 ; [*0CA4.0020.0002.2801] # BRAILLE PATTERN DOTS-1
-2802 ; [*0CA5.0020.0002.2802] # BRAILLE PATTERN DOTS-2
-2803 ; [*0CA6.0020.0002.2803] # BRAILLE PATTERN DOTS-12
-2804 ; [*0CA7.0020.0002.2804] # BRAILLE PATTERN DOTS-3
-2805 ; [*0CA8.0020.0002.2805] # BRAILLE PATTERN DOTS-13
-2806 ; [*0CA9.0020.0002.2806] # BRAILLE PATTERN DOTS-23
-2807 ; [*0CAA.0020.0002.2807] # BRAILLE PATTERN DOTS-123
-2808 ; [*0CAB.0020.0002.2808] # BRAILLE PATTERN DOTS-4
-2809 ; [*0CAC.0020.0002.2809] # BRAILLE PATTERN DOTS-14
-280A ; [*0CAD.0020.0002.280A] # BRAILLE PATTERN DOTS-24
-280B ; [*0CAE.0020.0002.280B] # BRAILLE PATTERN DOTS-124
-280C ; [*0CAF.0020.0002.280C] # BRAILLE PATTERN DOTS-34
-280D ; [*0CB0.0020.0002.280D] # BRAILLE PATTERN DOTS-134
-280E ; [*0CB1.0020.0002.280E] # BRAILLE PATTERN DOTS-234
-280F ; [*0CB2.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
-2810 ; [*0CB3.0020.0002.2810] # BRAILLE PATTERN DOTS-5
-2811 ; [*0CB4.0020.0002.2811] # BRAILLE PATTERN DOTS-15
-2812 ; [*0CB5.0020.0002.2812] # BRAILLE PATTERN DOTS-25
-2813 ; [*0CB6.0020.0002.2813] # BRAILLE PATTERN DOTS-125
-2814 ; [*0CB7.0020.0002.2814] # BRAILLE PATTERN DOTS-35
-2815 ; [*0CB8.0020.0002.2815] # BRAILLE PATTERN DOTS-135
-2816 ; [*0CB9.0020.0002.2816] # BRAILLE PATTERN DOTS-235
-2817 ; [*0CBA.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
-2818 ; [*0CBB.0020.0002.2818] # BRAILLE PATTERN DOTS-45
-2819 ; [*0CBC.0020.0002.2819] # BRAILLE PATTERN DOTS-145
-281A ; [*0CBD.0020.0002.281A] # BRAILLE PATTERN DOTS-245
-281B ; [*0CBE.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
-281C ; [*0CBF.0020.0002.281C] # BRAILLE PATTERN DOTS-345
-281D ; [*0CC0.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
-281E ; [*0CC1.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
-281F ; [*0CC2.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
-2820 ; [*0CC3.0020.0002.2820] # BRAILLE PATTERN DOTS-6
-2821 ; [*0CC4.0020.0002.2821] # BRAILLE PATTERN DOTS-16
-2822 ; [*0CC5.0020.0002.2822] # BRAILLE PATTERN DOTS-26
-2823 ; [*0CC6.0020.0002.2823] # BRAILLE PATTERN DOTS-126
-2824 ; [*0CC7.0020.0002.2824] # BRAILLE PATTERN DOTS-36
-2825 ; [*0CC8.0020.0002.2825] # BRAILLE PATTERN DOTS-136
-2826 ; [*0CC9.0020.0002.2826] # BRAILLE PATTERN DOTS-236
-2827 ; [*0CCA.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
-2828 ; [*0CCB.0020.0002.2828] # BRAILLE PATTERN DOTS-46
-2829 ; [*0CCC.0020.0002.2829] # BRAILLE PATTERN DOTS-146
-282A ; [*0CCD.0020.0002.282A] # BRAILLE PATTERN DOTS-246
-282B ; [*0CCE.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
-282C ; [*0CCF.0020.0002.282C] # BRAILLE PATTERN DOTS-346
-282D ; [*0CD0.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
-282E ; [*0CD1.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
-282F ; [*0CD2.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
-2830 ; [*0CD3.0020.0002.2830] # BRAILLE PATTERN DOTS-56
-2831 ; [*0CD4.0020.0002.2831] # BRAILLE PATTERN DOTS-156
-2832 ; [*0CD5.0020.0002.2832] # BRAILLE PATTERN DOTS-256
-2833 ; [*0CD6.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
-2834 ; [*0CD7.0020.0002.2834] # BRAILLE PATTERN DOTS-356
-2835 ; [*0CD8.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
-2836 ; [*0CD9.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
-2837 ; [*0CDA.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
-2838 ; [*0CDB.0020.0002.2838] # BRAILLE PATTERN DOTS-456
-2839 ; [*0CDC.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
-283A ; [*0CDD.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
-283B ; [*0CDE.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
-283C ; [*0CDF.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
-283D ; [*0CE0.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
-283E ; [*0CE1.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
-283F ; [*0CE2.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
-2840 ; [*0CE3.0020.0002.2840] # BRAILLE PATTERN DOTS-7
-2841 ; [*0CE4.0020.0002.2841] # BRAILLE PATTERN DOTS-17
-2842 ; [*0CE5.0020.0002.2842] # BRAILLE PATTERN DOTS-27
-2843 ; [*0CE6.0020.0002.2843] # BRAILLE PATTERN DOTS-127
-2844 ; [*0CE7.0020.0002.2844] # BRAILLE PATTERN DOTS-37
-2845 ; [*0CE8.0020.0002.2845] # BRAILLE PATTERN DOTS-137
-2846 ; [*0CE9.0020.0002.2846] # BRAILLE PATTERN DOTS-237
-2847 ; [*0CEA.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
-2848 ; [*0CEB.0020.0002.2848] # BRAILLE PATTERN DOTS-47
-2849 ; [*0CEC.0020.0002.2849] # BRAILLE PATTERN DOTS-147
-284A ; [*0CED.0020.0002.284A] # BRAILLE PATTERN DOTS-247
-284B ; [*0CEE.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
-284C ; [*0CEF.0020.0002.284C] # BRAILLE PATTERN DOTS-347
-284D ; [*0CF0.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
-284E ; [*0CF1.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
-284F ; [*0CF2.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
-2850 ; [*0CF3.0020.0002.2850] # BRAILLE PATTERN DOTS-57
-2851 ; [*0CF4.0020.0002.2851] # BRAILLE PATTERN DOTS-157
-2852 ; [*0CF5.0020.0002.2852] # BRAILLE PATTERN DOTS-257
-2853 ; [*0CF6.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
-2854 ; [*0CF7.0020.0002.2854] # BRAILLE PATTERN DOTS-357
-2855 ; [*0CF8.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
-2856 ; [*0CF9.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
-2857 ; [*0CFA.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
-2858 ; [*0CFB.0020.0002.2858] # BRAILLE PATTERN DOTS-457
-2859 ; [*0CFC.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
-285A ; [*0CFD.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
-285B ; [*0CFE.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
-285C ; [*0CFF.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
-285D ; [*0D00.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
-285E ; [*0D01.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
-285F ; [*0D02.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
-2860 ; [*0D03.0020.0002.2860] # BRAILLE PATTERN DOTS-67
-2861 ; [*0D04.0020.0002.2861] # BRAILLE PATTERN DOTS-167
-2862 ; [*0D05.0020.0002.2862] # BRAILLE PATTERN DOTS-267
-2863 ; [*0D06.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
-2864 ; [*0D07.0020.0002.2864] # BRAILLE PATTERN DOTS-367
-2865 ; [*0D08.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
-2866 ; [*0D09.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
-2867 ; [*0D0A.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
-2868 ; [*0D0B.0020.0002.2868] # BRAILLE PATTERN DOTS-467
-2869 ; [*0D0C.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
-286A ; [*0D0D.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
-286B ; [*0D0E.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
-286C ; [*0D0F.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
-286D ; [*0D10.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
-286E ; [*0D11.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
-286F ; [*0D12.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
-2870 ; [*0D13.0020.0002.2870] # BRAILLE PATTERN DOTS-567
-2871 ; [*0D14.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
-2872 ; [*0D15.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
-2873 ; [*0D16.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
-2874 ; [*0D17.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
-2875 ; [*0D18.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
-2876 ; [*0D19.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
-2877 ; [*0D1A.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
-2878 ; [*0D1B.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
-2879 ; [*0D1C.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
-287A ; [*0D1D.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
-287B ; [*0D1E.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
-287C ; [*0D1F.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
-287D ; [*0D20.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
-287E ; [*0D21.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
-287F ; [*0D22.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
-2880 ; [*0D23.0020.0002.2880] # BRAILLE PATTERN DOTS-8
-2881 ; [*0D24.0020.0002.2881] # BRAILLE PATTERN DOTS-18
-2882 ; [*0D25.0020.0002.2882] # BRAILLE PATTERN DOTS-28
-2883 ; [*0D26.0020.0002.2883] # BRAILLE PATTERN DOTS-128
-2884 ; [*0D27.0020.0002.2884] # BRAILLE PATTERN DOTS-38
-2885 ; [*0D28.0020.0002.2885] # BRAILLE PATTERN DOTS-138
-2886 ; [*0D29.0020.0002.2886] # BRAILLE PATTERN DOTS-238
-2887 ; [*0D2A.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
-2888 ; [*0D2B.0020.0002.2888] # BRAILLE PATTERN DOTS-48
-2889 ; [*0D2C.0020.0002.2889] # BRAILLE PATTERN DOTS-148
-288A ; [*0D2D.0020.0002.288A] # BRAILLE PATTERN DOTS-248
-288B ; [*0D2E.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
-288C ; [*0D2F.0020.0002.288C] # BRAILLE PATTERN DOTS-348
-288D ; [*0D30.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
-288E ; [*0D31.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
-288F ; [*0D32.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
-2890 ; [*0D33.0020.0002.2890] # BRAILLE PATTERN DOTS-58
-2891 ; [*0D34.0020.0002.2891] # BRAILLE PATTERN DOTS-158
-2892 ; [*0D35.0020.0002.2892] # BRAILLE PATTERN DOTS-258
-2893 ; [*0D36.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
-2894 ; [*0D37.0020.0002.2894] # BRAILLE PATTERN DOTS-358
-2895 ; [*0D38.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
-2896 ; [*0D39.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
-2897 ; [*0D3A.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
-2898 ; [*0D3B.0020.0002.2898] # BRAILLE PATTERN DOTS-458
-2899 ; [*0D3C.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
-289A ; [*0D3D.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
-289B ; [*0D3E.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
-289C ; [*0D3F.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
-289D ; [*0D40.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
-289E ; [*0D41.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
-289F ; [*0D42.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
-28A0 ; [*0D43.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
-28A1 ; [*0D44.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
-28A2 ; [*0D45.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
-28A3 ; [*0D46.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
-28A4 ; [*0D47.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
-28A5 ; [*0D48.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
-28A6 ; [*0D49.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
-28A7 ; [*0D4A.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
-28A8 ; [*0D4B.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
-28A9 ; [*0D4C.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
-28AA ; [*0D4D.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
-28AB ; [*0D4E.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
-28AC ; [*0D4F.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
-28AD ; [*0D50.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
-28AE ; [*0D51.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
-28AF ; [*0D52.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
-28B0 ; [*0D53.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
-28B1 ; [*0D54.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
-28B2 ; [*0D55.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
-28B3 ; [*0D56.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
-28B4 ; [*0D57.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
-28B5 ; [*0D58.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
-28B6 ; [*0D59.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
-28B7 ; [*0D5A.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
-28B8 ; [*0D5B.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
-28B9 ; [*0D5C.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
-28BA ; [*0D5D.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
-28BB ; [*0D5E.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
-28BC ; [*0D5F.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
-28BD ; [*0D60.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
-28BE ; [*0D61.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
-28BF ; [*0D62.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
-28C0 ; [*0D63.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
-28C1 ; [*0D64.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
-28C2 ; [*0D65.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
-28C3 ; [*0D66.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
-28C4 ; [*0D67.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
-28C5 ; [*0D68.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
-28C6 ; [*0D69.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
-28C7 ; [*0D6A.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
-28C8 ; [*0D6B.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
-28C9 ; [*0D6C.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
-28CA ; [*0D6D.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
-28CB ; [*0D6E.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
-28CC ; [*0D6F.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
-28CD ; [*0D70.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
-28CE ; [*0D71.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
-28CF ; [*0D72.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
-28D0 ; [*0D73.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
-28D1 ; [*0D74.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
-28D2 ; [*0D75.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
-28D3 ; [*0D76.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
-28D4 ; [*0D77.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
-28D5 ; [*0D78.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
-28D6 ; [*0D79.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
-28D7 ; [*0D7A.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
-28D8 ; [*0D7B.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
-28D9 ; [*0D7C.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
-28DA ; [*0D7D.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
-28DB ; [*0D7E.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
-28DC ; [*0D7F.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
-28DD ; [*0D80.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
-28DE ; [*0D81.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
-28DF ; [*0D82.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
-28E0 ; [*0D83.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
-28E1 ; [*0D84.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
-28E2 ; [*0D85.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
-28E3 ; [*0D86.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
-28E4 ; [*0D87.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
-28E5 ; [*0D88.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
-28E6 ; [*0D89.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
-28E7 ; [*0D8A.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
-28E8 ; [*0D8B.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
-28E9 ; [*0D8C.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
-28EA ; [*0D8D.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
-28EB ; [*0D8E.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
-28EC ; [*0D8F.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
-28ED ; [*0D90.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
-28EE ; [*0D91.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
-28EF ; [*0D92.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
-28F0 ; [*0D93.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
-28F1 ; [*0D94.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
-28F2 ; [*0D95.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
-28F3 ; [*0D96.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
-28F4 ; [*0D97.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
-28F5 ; [*0D98.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
-28F6 ; [*0D99.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
-28F7 ; [*0D9A.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
-28F8 ; [*0D9B.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
-28F9 ; [*0D9C.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
-28FA ; [*0D9D.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
-28FB ; [*0D9E.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
-28FC ; [*0D9F.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
-28FD ; [*0DA0.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
-28FE ; [*0DA1.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
-28FF ; [*0DA2.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
-2900 ; [*0A67.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901 ; [*0A68.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902 ; [*0A69.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903 ; [*0A6A.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904 ; [*0A6B.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905 ; [*0A6C.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906 ; [*0A6D.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
-2907 ; [*0A6E.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908 ; [*0A6F.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909 ; [*0A70.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A ; [*0A71.0020.0002.290A] # UPWARDS TRIPLE ARROW
-290B ; [*0A72.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
-290C ; [*0A73.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
-290D ; [*0A74.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
-290E ; [*0A75.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
-290F ; [*0A76.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
-2910 ; [*0A77.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911 ; [*0A78.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
-2912 ; [*0A79.0020.0002.2912] # UPWARDS ARROW TO BAR
-2913 ; [*0A7A.0020.0002.2913] # DOWNWARDS ARROW TO BAR
-2914 ; [*0A7B.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915 ; [*0A7C.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916 ; [*0A7D.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917 ; [*0A7E.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918 ; [*0A7F.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919 ; [*0A80.0020.0002.2919] # LEFTWARDS ARROW-TAIL
-291A ; [*0A81.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
-291B ; [*0A82.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
-291C ; [*0A83.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
-291D ; [*0A84.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
-291E ; [*0A85.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F ; [*0A86.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920 ; [*0A87.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921 ; [*0A88.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
-2922 ; [*0A89.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
-2923 ; [*0A8A.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
-2924 ; [*0A8B.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
-2925 ; [*0A8C.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
-2926 ; [*0A8D.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
-2927 ; [*0A8E.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
-2928 ; [*0A8F.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929 ; [*0A90.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A ; [*0A91.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B ; [*0A92.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C ; [*0A93.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D ; [*0A94.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E ; [*0A95.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F ; [*0A96.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930 ; [*0A97.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931 ; [*0A98.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932 ; [*0A99.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933 ; [*0A9A.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
-2934 ; [*0A9B.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 ; [*0A9C.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936 ; [*0A9D.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937 ; [*0A9E.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938 ; [*0A9F.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939 ; [*0AA0.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A ; [*0AA1.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
-293B ; [*0AA2.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
-293C ; [*0AA3.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D ; [*0AA4.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E ; [*0AA5.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F ; [*0AA6.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940 ; [*0AA7.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941 ; [*0AA8.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
-2942 ; [*0AA9.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943 ; [*0AAA.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944 ; [*0AAB.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945 ; [*0AAC.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
-2946 ; [*0AAD.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
-2947 ; [*0AAE.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
-2948 ; [*0AAF.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949 ; [*0AB0.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A ; [*0AB1.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B ; [*0AB2.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C ; [*0AB3.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D ; [*0AB4.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E ; [*0AB5.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
-294F ; [*0AB6.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950 ; [*0AB7.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951 ; [*0AB8.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952 ; [*0AB9.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953 ; [*0ABA.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954 ; [*0ABB.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955 ; [*0ABC.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956 ; [*0ABD.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957 ; [*0ABE.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958 ; [*0ABF.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959 ; [*0AC0.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A ; [*0AC1.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B ; [*0AC2.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C ; [*0AC3.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D ; [*0AC4.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E ; [*0AC5.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F ; [*0AC6.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960 ; [*0AC7.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961 ; [*0AC8.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962 ; [*0AC9.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963 ; [*0ACA.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964 ; [*0ACB.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965 ; [*0ACC.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966 ; [*0ACD.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967 ; [*0ACE.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968 ; [*0ACF.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969 ; [*0AD0.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A ; [*0AD1.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B ; [*0AD2.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C ; [*0AD3.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D ; [*0AD4.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E ; [*0AD5.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F ; [*0AD6.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970 ; [*0AD7.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971 ; [*0AD8.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972 ; [*0AD9.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973 ; [*0ADA.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974 ; [*0ADB.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975 ; [*0ADC.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976 ; [*0ADD.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
-2977 ; [*0ADE.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
-2978 ; [*0ADF.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979 ; [*0AE0.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
-297A ; [*0AE1.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
-297B ; [*0AE2.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
-297C ; [*0AE3.0020.0002.297C] # LEFT FISH TAIL
-297D ; [*0AE4.0020.0002.297D] # RIGHT FISH TAIL
-297E ; [*0AE5.0020.0002.297E] # UP FISH TAIL
-297F ; [*0AE6.0020.0002.297F] # DOWN FISH TAIL
-2980 ; [*0AE7.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
-2981 ; [*0AE8.0020.0002.2981] # Z NOTATION SPOT
-2982 ; [*0AE9.0020.0002.2982] # Z NOTATION TYPE COLON
-2983 ; [*030B.0020.0002.2983] # LEFT WHITE CURLY BRACKET
-2984 ; [*030C.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
-2985 ; [*030D.0020.0002.2985] # LEFT WHITE PARENTHESIS
-2986 ; [*030E.0020.0002.2986] # RIGHT WHITE PARENTHESIS
-2987 ; [*030F.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
-2988 ; [*0310.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
-2989 ; [*0311.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
-298A ; [*0312.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
-298B ; [*0313.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; [*0314.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; [*0315.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; [*0316.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; [*0317.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; [*0318.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; [*0319.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
-2992 ; [*031A.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
-2993 ; [*031B.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
-2994 ; [*031C.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
-2995 ; [*031D.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; [*031E.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; [*031F.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; [*0320.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
-2999 ; [*0AEA.0020.0002.2999] # DOTTED FENCE
-299A ; [*0AEB.0020.0002.299A] # VERTICAL ZIGZAG LINE
-299B ; [*0AEC.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
-299C ; [*0AED.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
-299D ; [*0AEE.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
-299E ; [*0AEF.0020.0002.299E] # ANGLE WITH S INSIDE
-299F ; [*0AF0.0020.0002.299F] # ACUTE ANGLE
-29A0 ; [*0AF1.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
-29A1 ; [*0AF2.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
-29A2 ; [*0AF3.0020.0002.29A2] # TURNED ANGLE
-29A3 ; [*0AF4.0020.0002.29A3] # REVERSED ANGLE
-29A4 ; [*0AF5.0020.0002.29A4] # ANGLE WITH UNDERBAR
-29A5 ; [*0AF6.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
-29A6 ; [*0AF7.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
-29A7 ; [*0AF8.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
-29A8 ; [*0AF9.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9 ; [*0AFA.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA ; [*0AFB.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB ; [*0AFC.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC ; [*0AFD.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD ; [*0AFE.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE ; [*0AFF.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF ; [*0B00.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0 ; [*0B01.0020.0002.29B0] # REVERSED EMPTY SET
-29B1 ; [*0B02.0020.0002.29B1] # EMPTY SET WITH OVERBAR
-29B2 ; [*0B03.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3 ; [*0B04.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4 ; [*0B05.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
-29B5 ; [*0B06.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
-29B6 ; [*0B07.0020.0002.29B6] # CIRCLED VERTICAL BAR
-29B7 ; [*0B08.0020.0002.29B7] # CIRCLED PARALLEL
-29B8 ; [*0B09.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
-29B9 ; [*0B0A.0020.0002.29B9] # CIRCLED PERPENDICULAR
-29BA ; [*0B0B.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB ; [*0B0C.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
-29BC ; [*0B0D.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD ; [*0B0E.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
-29BE ; [*0B0F.0020.0002.29BE] # CIRCLED WHITE BULLET
-29BF ; [*0B10.0020.0002.29BF] # CIRCLED BULLET
-29C0 ; [*0B11.0020.0002.29C0] # CIRCLED LESS-THAN
-29C1 ; [*0B12.0020.0002.29C1] # CIRCLED GREATER-THAN
-29C2 ; [*0B13.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3 ; [*0B14.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4 ; [*0B15.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
-29C5 ; [*0B16.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
-29C6 ; [*0B17.0020.0002.29C6] # SQUARED ASTERISK
-29C7 ; [*0B18.0020.0002.29C7] # SQUARED SMALL CIRCLE
-29C8 ; [*0B19.0020.0002.29C8] # SQUARED SQUARE
-29C9 ; [*0B1A.0020.0002.29C9] # TWO JOINED SQUARES
-29CA ; [*0B1B.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
-29CB ; [*0B1C.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
-29CC ; [*0B1D.0020.0002.29CC] # S IN TRIANGLE
-29CD ; [*0B1E.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
-29CE ; [*0B1F.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF ; [*0B20.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0 ; [*0B21.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1 ; [*0B22.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
-29D2 ; [*0B23.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
-29D3 ; [*0B24.0020.0002.29D3] # BLACK BOWTIE
-29D4 ; [*0B25.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
-29D5 ; [*0B26.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
-29D6 ; [*0B27.0020.0002.29D6] # WHITE HOURGLASS
-29D7 ; [*0B28.0020.0002.29D7] # BLACK HOURGLASS
-29D8 ; [*0364.0020.0002.29D8] # LEFT WIGGLY FENCE
-29D9 ; [*0365.0020.0002.29D9] # RIGHT WIGGLY FENCE
-29DA ; [*0366.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
-29DB ; [*0367.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
-29DC ; [*0B29.0020.0002.29DC] # INCOMPLETE INFINITY
-29DD ; [*0B2A.0020.0002.29DD] # TIE OVER INFINITY
-29DE ; [*0B2B.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
-29DF ; [*0B2C.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
-29E0 ; [*0B2D.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
-29E1 ; [*0B2E.0020.0002.29E1] # INCREASES AS
-29E2 ; [*0B2F.0020.0002.29E2] # SHUFFLE PRODUCT
-29E3 ; [*0B30.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
-29E4 ; [*0B31.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5 ; [*0B32.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
-29E6 ; [*0B33.0020.0002.29E6] # GLEICH STARK
-29E7 ; [*0B34.0020.0002.29E7] # THERMODYNAMIC
-29E8 ; [*0B35.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9 ; [*0B36.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA ; [*0B37.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
-29EB ; [*0B38.0020.0002.29EB] # BLACK LOZENGE
-29EC ; [*0B39.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
-29ED ; [*0B3A.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
-29EE ; [*0B3B.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
-29EF ; [*0B3C.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
-29F0 ; [*0B3D.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
-29F1 ; [*0B3E.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
-29F2 ; [*0B3F.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
-29F3 ; [*0B40.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
-29F4 ; [*0B41.0020.0002.29F4] # RULE-DELAYED
-29F5 ; [*0B42.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
-29F6 ; [*0B43.0020.0002.29F6] # SOLIDUS WITH OVERBAR
-29F7 ; [*0B44.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8 ; [*0B45.0020.0002.29F8] # BIG SOLIDUS
-29F9 ; [*0B46.0020.0002.29F9] # BIG REVERSE SOLIDUS
-29FA ; [*0B47.0020.0002.29FA] # DOUBLE PLUS
-29FB ; [*0B48.0020.0002.29FB] # TRIPLE PLUS
-29FC ; [*0309.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; [*030A.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE ; [*0B49.0020.0002.29FE] # TINY
-29FF ; [*0B4A.0020.0002.29FF] # MINY
-2A00 ; [*0B4B.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
-2A01 ; [*0B4C.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
-2A02 ; [*0B4D.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
-2A03 ; [*0B4E.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
-2A04 ; [*0B4F.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
-2A05 ; [*0B50.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
-2A06 ; [*0B51.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
-2A07 ; [*0B52.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
-2A08 ; [*0B53.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
-2A09 ; [*0B54.0020.0002.2A09] # N-ARY TIMES OPERATOR
-2A0A ; [*0B55.0020.0002.2A0A] # MODULO TWO SUM
-2A0B ; [*0B56.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
-2A0C ; [*05C2.0020.0004.2A0C][*05C2.0020.0004.2A0C][*05C2.0020.0004.2A0C][*05C2.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR
-2A0D ; [*0B57.0020.0002.2A0D] # FINITE PART INTEGRAL
-2A0E ; [*0B58.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
-2A0F ; [*0B59.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
-2A10 ; [*0B5A.0020.0002.2A10] # CIRCULATION FUNCTION
-2A11 ; [*0B5B.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
-2A12 ; [*0B5C.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13 ; [*0B5D.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14 ; [*0B5E.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15 ; [*0B5F.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
-2A16 ; [*0B60.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
-2A17 ; [*0B61.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18 ; [*0B62.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
-2A19 ; [*0B63.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
-2A1A ; [*0B64.0020.0002.2A1A] # INTEGRAL WITH UNION
-2A1B ; [*0B65.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
-2A1C ; [*0B66.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
-2A1D ; [*0B67.0020.0002.2A1D] # JOIN
-2A1E ; [*0B68.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
-2A1F ; [*0B69.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
-2A20 ; [*0B6A.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
-2A21 ; [*0B6B.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
-2A22 ; [*0B6C.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23 ; [*0B6D.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24 ; [*0B6E.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
-2A25 ; [*0B6F.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
-2A26 ; [*0B70.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
-2A27 ; [*0B71.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
-2A28 ; [*0B72.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
-2A29 ; [*0B73.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
-2A2A ; [*0B74.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
-2A2B ; [*0B75.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
-2A2C ; [*0B76.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
-2A2D ; [*0B77.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E ; [*0B78.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F ; [*0B79.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
-2A30 ; [*0B7A.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31 ; [*0B7B.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
-2A32 ; [*0B7C.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33 ; [*0B7D.0020.0002.2A33] # SMASH PRODUCT
-2A34 ; [*0B7E.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35 ; [*0B7F.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36 ; [*0B80.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37 ; [*0B81.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38 ; [*0B82.0020.0002.2A38] # CIRCLED DIVISION SIGN
-2A39 ; [*0B83.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
-2A3A ; [*0B84.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
-2A3B ; [*0B85.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
-2A3C ; [*0B86.0020.0002.2A3C] # INTERIOR PRODUCT
-2A3D ; [*0B87.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
-2A3E ; [*0B88.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
-2A3F ; [*0B89.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
-2A40 ; [*0B8A.0020.0002.2A40] # INTERSECTION WITH DOT
-2A41 ; [*0B8B.0020.0002.2A41] # UNION WITH MINUS SIGN
-2A42 ; [*0B8C.0020.0002.2A42] # UNION WITH OVERBAR
-2A43 ; [*0B8D.0020.0002.2A43] # INTERSECTION WITH OVERBAR
-2A44 ; [*0B8E.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
-2A45 ; [*0B8F.0020.0002.2A45] # UNION WITH LOGICAL OR
-2A46 ; [*0B90.0020.0002.2A46] # UNION ABOVE INTERSECTION
-2A47 ; [*0B91.0020.0002.2A47] # INTERSECTION ABOVE UNION
-2A48 ; [*0B92.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
-2A49 ; [*0B93.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A ; [*0B94.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
-2A4B ; [*0B95.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C ; [*0B96.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
-2A4D ; [*0B97.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
-2A4E ; [*0B98.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
-2A4F ; [*0B99.0020.0002.2A4F] # DOUBLE SQUARE UNION
-2A50 ; [*0B9A.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51 ; [*0B9B.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
-2A52 ; [*0B9C.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
-2A53 ; [*0B9D.0020.0002.2A53] # DOUBLE LOGICAL AND
-2A54 ; [*0B9E.0020.0002.2A54] # DOUBLE LOGICAL OR
-2A55 ; [*0B9F.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
-2A56 ; [*0BA0.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
-2A57 ; [*0BA1.0020.0002.2A57] # SLOPING LARGE OR
-2A58 ; [*0BA2.0020.0002.2A58] # SLOPING LARGE AND
-2A59 ; [*0BA3.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A ; [*0BA4.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
-2A5B ; [*0BA5.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
-2A5C ; [*0BA6.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
-2A5D ; [*0BA7.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
-2A5E ; [*0BA8.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F ; [*0BA9.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
-2A60 ; [*0BAA.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61 ; [*0BAB.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
-2A62 ; [*0BAC.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
-2A63 ; [*0BAD.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64 ; [*0BAE.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65 ; [*0BAF.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
-2A66 ; [*0BB0.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
-2A67 ; [*0BB1.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
-2A68 ; [*0BB2.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69 ; [*0BB3.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A ; [*0BB4.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
-2A6B ; [*0BB5.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
-2A6C ; [*0BB6.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
-2A6D ; [*0BB7.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
-2A6E ; [*0BB8.0020.0002.2A6E] # EQUALS WITH ASTERISK
-2A6F ; [*0BB9.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70 ; [*0BBA.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
-2A71 ; [*0BBB.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
-2A72 ; [*0BBC.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
-2A73 ; [*0BBD.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74 ; [*0237.0020.0004.2A74][*0237.0020.0004.2A74][*05A1.0020.001F.2A74] # DOUBLE COLON EQUAL
-2A75 ; [*05A1.0020.0004.2A75][*05A1.0020.001F.2A75] # TWO CONSECUTIVE EQUALS SIGNS
-2A76 ; [*05A1.0020.0004.2A76][*05A1.0020.0004.2A76][*05A1.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS
-2A77 ; [*0BBE.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78 ; [*0BBF.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79 ; [*0BC0.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
-2A7A ; [*0BC1.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
-2A7B ; [*0BC2.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C ; [*0BC3.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D ; [*0BC4.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
-2A7E ; [*0BC5.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
-2A7F ; [*0BC6.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80 ; [*0BC7.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81 ; [*0BC8.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82 ; [*0BC9.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83 ; [*0BCA.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84 ; [*0BCB.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85 ; [*0BCC.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
-2A86 ; [*0BCD.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
-2A87 ; [*0BCE.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88 ; [*0BCF.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89 ; [*0BD0.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
-2A8A ; [*0BD1.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
-2A8B ; [*0BD2.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C ; [*0BD3.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D ; [*0BD4.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E ; [*0BD5.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F ; [*0BD6.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90 ; [*0BD7.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91 ; [*0BD8.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92 ; [*0BD9.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93 ; [*0BDA.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94 ; [*0BDB.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95 ; [*0BDC.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
-2A96 ; [*0BDD.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
-2A97 ; [*0BDE.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98 ; [*0BDF.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99 ; [*0BE0.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A ; [*0BE1.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B ; [*0BE2.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C ; [*0BE3.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D ; [*0BE4.0020.0002.2A9D] # SIMILAR OR LESS-THAN
-2A9E ; [*0BE5.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
-2A9F ; [*0BE6.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0 ; [*0BE7.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1 ; [*0BE8.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
-2AA2 ; [*0BE9.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
-2AA3 ; [*0BEA.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4 ; [*0BEB.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5 ; [*0BEC.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
-2AA6 ; [*0BED.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
-2AA7 ; [*0BEE.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
-2AA8 ; [*0BEF.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9 ; [*0BF0.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA ; [*0BF1.0020.0002.2AAA] # SMALLER THAN
-2AAB ; [*0BF2.0020.0002.2AAB] # LARGER THAN
-2AAC ; [*0BF3.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
-2AAD ; [*0BF4.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
-2AAE ; [*0BF5.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
-2AAF ; [*0BF6.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0 ; [*0BF7.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1 ; [*0BF8.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2 ; [*0BF9.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3 ; [*0BFA.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
-2AB4 ; [*0BFB.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
-2AB5 ; [*0BFC.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
-2AB6 ; [*0BFD.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7 ; [*0BFE.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8 ; [*0BFF.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9 ; [*0C00.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA ; [*0C01.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB ; [*0C02.0020.0002.2ABB] # DOUBLE PRECEDES
-2ABC ; [*0C03.0020.0002.2ABC] # DOUBLE SUCCEEDS
-2ABD ; [*0C04.0020.0002.2ABD] # SUBSET WITH DOT
-2ABE ; [*0C05.0020.0002.2ABE] # SUPERSET WITH DOT
-2ABF ; [*0C06.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
-2AC0 ; [*0C07.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
-2AC1 ; [*0C08.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2 ; [*0C09.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3 ; [*0C0A.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4 ; [*0C0B.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5 ; [*0C0C.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
-2AC6 ; [*0C0D.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
-2AC7 ; [*0C0E.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
-2AC8 ; [*0C0F.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9 ; [*0C10.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA ; [*0C11.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB ; [*0C12.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
-2ACC ; [*0C13.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD ; [*0C14.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
-2ACE ; [*0C15.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF ; [*0C16.0020.0002.2ACF] # CLOSED SUBSET
-2AD0 ; [*0C17.0020.0002.2AD0] # CLOSED SUPERSET
-2AD1 ; [*0C18.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
-2AD2 ; [*0C19.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
-2AD3 ; [*0C1A.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
-2AD4 ; [*0C1B.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
-2AD5 ; [*0C1C.0020.0002.2AD5] # SUBSET ABOVE SUBSET
-2AD6 ; [*0C1D.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
-2AD7 ; [*0C1E.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
-2AD8 ; [*0C1F.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9 ; [*0C20.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
-2ADA ; [*0C21.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
-2ADB ; [*0C22.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
-2ADC ; [*0C23.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING
-2ADD ; [*0C23.0020.0002.2ADD] # NONFORKING
-2ADE ; [*0C24.0020.0002.2ADE] # SHORT LEFT TACK
-2ADF ; [*0C25.0020.0002.2ADF] # SHORT DOWN TACK
-2AE0 ; [*0C26.0020.0002.2AE0] # SHORT UP TACK
-2AE1 ; [*0C27.0020.0002.2AE1] # PERPENDICULAR WITH S
-2AE2 ; [*0C28.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3 ; [*0C29.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4 ; [*0C2A.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5 ; [*0C2B.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6 ; [*0C2C.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7 ; [*0C2D.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
-2AE8 ; [*0C2E.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
-2AE9 ; [*0C2F.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA ; [*0C30.0020.0002.2AEA] # DOUBLE DOWN TACK
-2AEB ; [*0C31.0020.0002.2AEB] # DOUBLE UP TACK
-2AEC ; [*0C32.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
-2AED ; [*0C33.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
-2AEE ; [*0C34.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF ; [*0C35.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0 ; [*0C36.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
-2AF1 ; [*0C37.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
-2AF2 ; [*0C38.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
-2AF3 ; [*0C39.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
-2AF4 ; [*0C3A.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5 ; [*0C3B.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6 ; [*0C3C.0020.0002.2AF6] # TRIPLE COLON OPERATOR
-2AF7 ; [*0C3D.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
-2AF8 ; [*0C3E.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
-2AF9 ; [*0C3F.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA ; [*0C40.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB ; [*0C41.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
-2AFC ; [*0C42.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD ; [*0C43.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
-2AFE ; [*0C44.0020.0002.2AFE] # WHITE VERTICAL BAR
-2AFF ; [*0C45.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
-2B00 ; [*0C46.0020.0002.2B00] # NORTH EAST WHITE ARROW
-2B01 ; [*0C47.0020.0002.2B01] # NORTH WEST WHITE ARROW
-2B02 ; [*0C48.0020.0002.2B02] # SOUTH EAST WHITE ARROW
-2B03 ; [*0C49.0020.0002.2B03] # SOUTH WEST WHITE ARROW
-2B04 ; [*0C4A.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
-2B05 ; [*0C4B.0020.0002.2B05] # LEFTWARDS BLACK ARROW
-2B06 ; [*0C4C.0020.0002.2B06] # UPWARDS BLACK ARROW
-2B07 ; [*0C4D.0020.0002.2B07] # DOWNWARDS BLACK ARROW
-2B08 ; [*0C4E.0020.0002.2B08] # NORTH EAST BLACK ARROW
-2B09 ; [*0C4F.0020.0002.2B09] # NORTH WEST BLACK ARROW
-2B0A ; [*0C50.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
-2B0B ; [*0C51.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
-2B0C ; [*0C52.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
-2B0D ; [*0C53.0020.0002.2B0D] # UP DOWN BLACK ARROW
-2B0E ; [*0C54.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F ; [*0C55.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10 ; [*0C56.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11 ; [*0C57.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12 ; [*0C58.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
-2B13 ; [*0C59.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
-2B14 ; [*0C5A.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15 ; [*0C5B.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16 ; [*0C5C.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
-2B17 ; [*0C5D.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
-2B18 ; [*0C5E.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
-2B19 ; [*0C5F.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
-2B1A ; [*0C60.0020.0002.2B1A] # DOTTED SQUARE
-2B1B ; [*0C61.0020.0002.2B1B] # BLACK LARGE SQUARE
-2B1C ; [*0C62.0020.0002.2B1C] # WHITE LARGE SQUARE
-2B1D ; [*0C63.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
-2B1E ; [*0C64.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
-2B1F ; [*0C65.0020.0002.2B1F] # BLACK PENTAGON
-2B20 ; [*0C66.0020.0002.2B20] # WHITE PENTAGON
-2B21 ; [*0C67.0020.0002.2B21] # WHITE HEXAGON
-2B22 ; [*0C68.0020.0002.2B22] # BLACK HEXAGON
-2B23 ; [*0C69.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
-2B24 ; [*0C6A.0020.0002.2B24] # BLACK LARGE CIRCLE
-2B25 ; [*0C6B.0020.0002.2B25] # BLACK MEDIUM DIAMOND
-2B26 ; [*0C6C.0020.0002.2B26] # WHITE MEDIUM DIAMOND
-2B27 ; [*0C6D.0020.0002.2B27] # BLACK MEDIUM LOZENGE
-2B28 ; [*0C6E.0020.0002.2B28] # WHITE MEDIUM LOZENGE
-2B29 ; [*0C6F.0020.0002.2B29] # BLACK SMALL DIAMOND
-2B2A ; [*0C70.0020.0002.2B2A] # BLACK SMALL LOZENGE
-2B2B ; [*0C71.0020.0002.2B2B] # WHITE SMALL LOZENGE
-2B2C ; [*0C72.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
-2B2D ; [*0C73.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
-2B2E ; [*0C74.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
-2B2F ; [*0C75.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
-2B30 ; [*0C76.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
-2B31 ; [*0C77.0020.0002.2B31] # THREE LEFTWARDS ARROWS
-2B32 ; [*0C78.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
-2B33 ; [*0C79.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
-2B34 ; [*0C7A.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35 ; [*0C7B.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36 ; [*0C7C.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37 ; [*0C7D.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38 ; [*0C7E.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
-2B39 ; [*0C7F.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A ; [*0C80.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B ; [*0C81.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C ; [*0C82.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D ; [*0C83.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E ; [*0C84.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
-2B3F ; [*0C85.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
-2B40 ; [*0C86.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41 ; [*0C87.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42 ; [*0C88.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43 ; [*0C89.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44 ; [*0C8A.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45 ; [*0C8B.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
-2B46 ; [*0C8C.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
-2B47 ; [*0C8D.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48 ; [*0C8E.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49 ; [*0C8F.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A ; [*0C90.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B ; [*0C91.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C ; [*0C92.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50 ; [*0C93.0020.0002.2B50] # WHITE MEDIUM STAR
-2B51 ; [*0C94.0020.0002.2B51] # BLACK SMALL STAR
-2B52 ; [*0C95.0020.0002.2B52] # WHITE SMALL STAR
-2B53 ; [*0C96.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
-2B54 ; [*0C97.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
-2B55 ; [*0C98.0020.0002.2B55] # HEAVY LARGE CIRCLE
-2B56 ; [*0C99.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
-2B57 ; [*0C9A.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58 ; [*0C9B.0020.0002.2B58] # HEAVY CIRCLE
-2B59 ; [*0C9C.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
-2CE5 ; [*0C9D.0020.0002.2CE5] # COPTIC SYMBOL MI RO
-2CE6 ; [*0C9E.0020.0002.2CE6] # COPTIC SYMBOL PI RO
-2CE7 ; [*0C9F.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
-2CE8 ; [*0CA0.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
-2CE9 ; [*0CA1.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
-2CEA ; [*0CA2.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
-2CF9 ; [*027D.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
-2CFA ; [*026B.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB ; [*026C.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC ; [*02DC.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; [*151B.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
-2CFE ; [*027E.0020.0002.2CFE] # COPTIC FULL STOP
-2CFF ; [*02DD.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
-2D70 ; [*03F4.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
-2D7F ; [.0000.0000.0000.2D7F] # TIFINAGH CONSONANT JOINER
-2E00 ; [*0394.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
-2E01 ; [*0395.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; [*033B.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
-2E03 ; [*033C.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
-2E04 ; [*033D.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; [*033E.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06 ; [*0396.0020.0002.2E06] # RAISED INTERPOLATION MARKER
-2E07 ; [*0397.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
-2E08 ; [*0398.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
-2E09 ; [*033F.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
-2E0A ; [*0340.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
-2E0B ; [*0399.0020.0002.2E0B] # RAISED SQUARE
-2E0C ; [*0341.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
-2E0D ; [*0342.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
-2E0E ; [*039A.0020.0002.2E0E] # EDITORIAL CORONIS
-2E0F ; [*039B.0020.0002.2E0F] # PARAGRAPHOS
-2E10 ; [*039C.0020.0002.2E10] # FORKED PARAGRAPHOS
-2E11 ; [*039D.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
-2E12 ; [*039E.0020.0002.2E12] # HYPODIASTOLE
-2E13 ; [*039F.0020.0002.2E13] # DOTTED OBELOS
-2E14 ; [*03A0.0020.0002.2E14] # DOWNWARDS ANCORA
-2E15 ; [*03A1.0020.0002.2E15] # UPWARDS ANCORA
-2E16 ; [*03A2.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
-2E17 ; [*021C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
-2E18 ; [*0272.0020.0002.2E18] # INVERTED INTERROBANG
-2E19 ; [*02DE.0020.0002.2E19] # PALM BRANCH
-2E1A ; [*03A3.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
-2E1B ; [*03A4.0020.0002.2E1B] # TILDE WITH RING ABOVE
-2E1C ; [*0343.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
-2E1D ; [*0344.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
-2E1E ; [*03A5.0020.0002.2E1E] # TILDE WITH DOT ABOVE
-2E1F ; [*03A6.0020.0002.2E1F] # TILDE WITH DOT BELOW
-2E20 ; [*0345.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
-2E21 ; [*0346.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
-2E22 ; [*0347.0020.0002.2E22] # TOP LEFT HALF BRACKET
-2E23 ; [*0348.0020.0002.2E23] # TOP RIGHT HALF BRACKET
-2E24 ; [*0349.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
-2E25 ; [*034A.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
-2E26 ; [*034B.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
-2E27 ; [*034C.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
-2E28 ; [*034D.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
-2E29 ; [*034E.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
-2E2A ; [*02D8.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B ; [*02D9.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C ; [*02DA.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
-2E2D ; [*02DB.0020.0002.2E2D] # FIVE DOT MARK
-2E2E ; [*0265.0020.0002.2E2E] # REVERSED QUESTION MARK
-2E30 ; [*027F.0020.0002.2E30] # RING POINT
-2E31 ; [*0285.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
-2E32 ; [*0223.0020.0002.2E32] # TURNED COMMA
-2E33 ; [*0286.0020.0002.2E33] # RAISED DOT
-2E34 ; [*0222.0020.0002.2E34] # RAISED COMMA
-2E35 ; [*0235.0020.0002.2E35] # TURNED SEMICOLON
-2E36 ; [*037F.0020.0002.2E36] # DAGGER WITH LEFT GUARD
-2E37 ; [*0380.0020.0002.2E37] # DAGGER WITH RIGHT GUARD
-2E38 ; [*0381.0020.0002.2E38] # TURNED DAGGER
-2E39 ; [*0369.0020.0002.2E39] # TOP HALF SECTION SIGN
-2E3A ; [*0219.0020.0002.2E3A] # TWO-EM DASH
-2E3B ; [*021A.0020.0002.2E3B] # THREE-EM DASH
-2FF0 ; [*149D.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1 ; [*149E.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2 ; [*149F.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3 ; [*14A0.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4 ; [*14A1.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5 ; [*14A2.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6 ; [*14A3.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7 ; [*14A4.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8 ; [*14A5.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9 ; [*14A6.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA ; [*14A7.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB ; [*14A8.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE
-3001 ; [*022F.0020.0002.3001] # IDEOGRAPHIC COMMA
-3002 ; [*0283.0020.0002.3002] # IDEOGRAPHIC FULL STOP
-3003 ; [*038A.0020.0002.3003] # DITTO MARK
-3004 ; [*14CD.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008 ; [*034F.0020.0002.3008] # LEFT ANGLE BRACKET
-3009 ; [*0350.0020.0002.3009] # RIGHT ANGLE BRACKET
-300A ; [*0351.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
-300B ; [*0352.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
-300C ; [*0353.0020.0002.300C] # LEFT CORNER BRACKET
-300D ; [*0354.0020.0002.300D] # RIGHT CORNER BRACKET
-300E ; [*0355.0020.0002.300E] # LEFT WHITE CORNER BRACKET
-300F ; [*0356.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
-3010 ; [*0357.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
-3011 ; [*0358.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
-3012 ; [*14CE.0020.0002.3012] # POSTAL MARK
-3013 ; [*14CF.0020.0002.3013] # GETA MARK
-3014 ; [*0359.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
-3015 ; [*035A.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
-3016 ; [*035B.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
-3017 ; [*035C.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
-3018 ; [*035D.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; [*035E.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; [*035F.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
-301B ; [*0360.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
-301C ; [*021D.0020.0002.301C] # WAVE DASH
-301D ; [*02F6.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
-301E ; [*02F7.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
-301F ; [*02F8.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
-3020 ; [*14D0.0020.0002.3020] # POSTAL MARK FACE
-3030 ; [*021E.0020.0002.3030] # WAVY DASH
-3036 ; [*14CE.0020.0004.3036] # CIRCLED POSTAL MARK
-3037 ; [*14D1.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D ; [*038B.0020.0002.303D] # PART ALTERNATION MARK
-303E ; [*14D2.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
-303F ; [*14D3.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
-309B ; [*041E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C ; [*041F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; [*021F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB ; [*0220.0020.0002.30FB] # KATAKANA MIDDLE DOT
-3190 ; [*14D4.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191 ; [*14D5.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
-31C0 ; [*14A9.0020.0002.31C0] # CJK STROKE T
-31C1 ; [*14AA.0020.0002.31C1] # CJK STROKE WG
-31C2 ; [*14AB.0020.0002.31C2] # CJK STROKE XG
-31C3 ; [*14AC.0020.0002.31C3] # CJK STROKE BXG
-31C4 ; [*14AD.0020.0002.31C4] # CJK STROKE SW
-31C5 ; [*14AE.0020.0002.31C5] # CJK STROKE HZZ
-31C6 ; [*14AF.0020.0002.31C6] # CJK STROKE HZG
-31C7 ; [*14B0.0020.0002.31C7] # CJK STROKE HP
-31C8 ; [*14B1.0020.0002.31C8] # CJK STROKE HZWG
-31C9 ; [*14B2.0020.0002.31C9] # CJK STROKE SZWG
-31CA ; [*14B3.0020.0002.31CA] # CJK STROKE HZT
-31CB ; [*14B4.0020.0002.31CB] # CJK STROKE HZZP
-31CC ; [*14B5.0020.0002.31CC] # CJK STROKE HPWG
-31CD ; [*14B6.0020.0002.31CD] # CJK STROKE HZW
-31CE ; [*14B7.0020.0002.31CE] # CJK STROKE HZZZ
-31CF ; [*14B8.0020.0002.31CF] # CJK STROKE N
-31D0 ; [*14B9.0020.0002.31D0] # CJK STROKE H
-31D1 ; [*14BA.0020.0002.31D1] # CJK STROKE S
-31D2 ; [*14BB.0020.0002.31D2] # CJK STROKE P
-31D3 ; [*14BC.0020.0002.31D3] # CJK STROKE SP
-31D4 ; [*14BD.0020.0002.31D4] # CJK STROKE D
-31D5 ; [*14BE.0020.0002.31D5] # CJK STROKE HZ
-31D6 ; [*14BF.0020.0002.31D6] # CJK STROKE HG
-31D7 ; [*14C0.0020.0002.31D7] # CJK STROKE SZ
-31D8 ; [*14C1.0020.0002.31D8] # CJK STROKE SWZ
-31D9 ; [*14C2.0020.0002.31D9] # CJK STROKE ST
-31DA ; [*14C3.0020.0002.31DA] # CJK STROKE SG
-31DB ; [*14C4.0020.0002.31DB] # CJK STROKE PD
-31DC ; [*14C5.0020.0002.31DC] # CJK STROKE PZ
-31DD ; [*14C6.0020.0002.31DD] # CJK STROKE TN
-31DE ; [*14C7.0020.0002.31DE] # CJK STROKE SZZ
-31DF ; [*14C8.0020.0002.31DF] # CJK STROKE SWG
-31E0 ; [*14C9.0020.0002.31E0] # CJK STROKE HXWG
-31E1 ; [*14CA.0020.0002.31E1] # CJK STROKE HZZZG
-31E2 ; [*14CB.0020.0002.31E2] # CJK STROKE PG
-31E3 ; [*14CC.0020.0002.31E3] # CJK STROKE Q
-327F ; [*14D6.0020.0002.327F] # KOREAN STANDARD SYMBOL
-4DC0 ; [*0DB1.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1 ; [*0DB2.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2 ; [*0DB3.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3 ; [*0DB4.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4 ; [*0DB5.0020.0002.4DC4] # HEXAGRAM FOR WAITING
-4DC5 ; [*0DB6.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
-4DC6 ; [*0DB7.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
-4DC7 ; [*0DB8.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
-4DC8 ; [*0DB9.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
-4DC9 ; [*0DBA.0020.0002.4DC9] # HEXAGRAM FOR TREADING
-4DCA ; [*0DBB.0020.0002.4DCA] # HEXAGRAM FOR PEACE
-4DCB ; [*0DBC.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
-4DCC ; [*0DBD.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
-4DCD ; [*0DBE.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
-4DCE ; [*0DBF.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
-4DCF ; [*0DC0.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
-4DD0 ; [*0DC1.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
-4DD1 ; [*0DC2.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2 ; [*0DC3.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
-4DD3 ; [*0DC4.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
-4DD4 ; [*0DC5.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
-4DD5 ; [*0DC6.0020.0002.4DD5] # HEXAGRAM FOR GRACE
-4DD6 ; [*0DC7.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
-4DD7 ; [*0DC8.0020.0002.4DD7] # HEXAGRAM FOR RETURN
-4DD8 ; [*0DC9.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
-4DD9 ; [*0DCA.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
-4DDA ; [*0DCB.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
-4DDB ; [*0DCC.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC ; [*0DCD.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD ; [*0DCE.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
-4DDE ; [*0DCF.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
-4DDF ; [*0DD0.0020.0002.4DDF] # HEXAGRAM FOR DURATION
-4DE0 ; [*0DD1.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
-4DE1 ; [*0DD2.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
-4DE2 ; [*0DD3.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
-4DE3 ; [*0DD4.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4 ; [*0DD5.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
-4DE5 ; [*0DD6.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
-4DE6 ; [*0DD7.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
-4DE7 ; [*0DD8.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
-4DE8 ; [*0DD9.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
-4DE9 ; [*0DDA.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
-4DEA ; [*0DDB.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
-4DEB ; [*0DDC.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
-4DEC ; [*0DDD.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
-4DED ; [*0DDE.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
-4DEE ; [*0DDF.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
-4DEF ; [*0DE0.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
-4DF0 ; [*0DE1.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
-4DF1 ; [*0DE2.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
-4DF2 ; [*0DE3.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3 ; [*0DE4.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4 ; [*0DE5.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
-4DF5 ; [*0DE6.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6 ; [*0DE7.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
-4DF7 ; [*0DE8.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
-4DF8 ; [*0DE9.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
-4DF9 ; [*0DEA.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA ; [*0DEB.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
-4DFB ; [*0DEC.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
-4DFC ; [*0DED.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
-4DFD ; [*0DEE.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE ; [*0DEF.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
-4DFF ; [*0DF0.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
-A490 ; [*0E48.0020.0002.A490] # YI RADICAL QOT
-A491 ; [*0E49.0020.0002.A491] # YI RADICAL LI
-A492 ; [*0E4A.0020.0002.A492] # YI RADICAL KIT
-A493 ; [*0E4B.0020.0002.A493] # YI RADICAL NYIP
-A494 ; [*0E4C.0020.0002.A494] # YI RADICAL CYP
-A495 ; [*0E4D.0020.0002.A495] # YI RADICAL SSI
-A496 ; [*0E4E.0020.0002.A496] # YI RADICAL GGOP
-A497 ; [*0E4F.0020.0002.A497] # YI RADICAL GEP
-A498 ; [*0E50.0020.0002.A498] # YI RADICAL MI
-A499 ; [*0E51.0020.0002.A499] # YI RADICAL HXIT
-A49A ; [*0E52.0020.0002.A49A] # YI RADICAL LYR
-A49B ; [*0E53.0020.0002.A49B] # YI RADICAL BBUT
-A49C ; [*0E54.0020.0002.A49C] # YI RADICAL MOP
-A49D ; [*0E55.0020.0002.A49D] # YI RADICAL YO
-A49E ; [*0E56.0020.0002.A49E] # YI RADICAL PUT
-A49F ; [*0E57.0020.0002.A49F] # YI RADICAL HXUO
-A4A0 ; [*0E58.0020.0002.A4A0] # YI RADICAL TAT
-A4A1 ; [*0E59.0020.0002.A4A1] # YI RADICAL GA
-A4A2 ; [*0E5A.0020.0002.A4A2] # YI RADICAL ZUP
-A4A3 ; [*0E5B.0020.0002.A4A3] # YI RADICAL CYT
-A4A4 ; [*0E5C.0020.0002.A4A4] # YI RADICAL DDUR
-A4A5 ; [*0E5D.0020.0002.A4A5] # YI RADICAL BUR
-A4A6 ; [*0E5E.0020.0002.A4A6] # YI RADICAL GGUO
-A4A7 ; [*0E5F.0020.0002.A4A7] # YI RADICAL NYOP
-A4A8 ; [*0E60.0020.0002.A4A8] # YI RADICAL TU
-A4A9 ; [*0E61.0020.0002.A4A9] # YI RADICAL OP
-A4AA ; [*0E62.0020.0002.A4AA] # YI RADICAL JJUT
-A4AB ; [*0E63.0020.0002.A4AB] # YI RADICAL ZOT
-A4AC ; [*0E64.0020.0002.A4AC] # YI RADICAL PYT
-A4AD ; [*0E65.0020.0002.A4AD] # YI RADICAL HMO
-A4AE ; [*0E66.0020.0002.A4AE] # YI RADICAL YIT
-A4AF ; [*0E67.0020.0002.A4AF] # YI RADICAL VUR
-A4B0 ; [*0E68.0020.0002.A4B0] # YI RADICAL SHY
-A4B1 ; [*0E69.0020.0002.A4B1] # YI RADICAL VEP
-A4B2 ; [*0E6A.0020.0002.A4B2] # YI RADICAL ZA
-A4B3 ; [*0E6B.0020.0002.A4B3] # YI RADICAL JO
-A4B4 ; [*0E6C.0020.0002.A4B4] # YI RADICAL NZUP
-A4B5 ; [*0E6D.0020.0002.A4B5] # YI RADICAL JJY
-A4B6 ; [*0E6E.0020.0002.A4B6] # YI RADICAL GOT
-A4B7 ; [*0E6F.0020.0002.A4B7] # YI RADICAL JJIE
-A4B8 ; [*0E70.0020.0002.A4B8] # YI RADICAL WO
-A4B9 ; [*0E71.0020.0002.A4B9] # YI RADICAL DU
-A4BA ; [*0E72.0020.0002.A4BA] # YI RADICAL SHUR
-A4BB ; [*0E73.0020.0002.A4BB] # YI RADICAL LIE
-A4BC ; [*0E74.0020.0002.A4BC] # YI RADICAL CY
-A4BD ; [*0E75.0020.0002.A4BD] # YI RADICAL CUOP
-A4BE ; [*0E76.0020.0002.A4BE] # YI RADICAL CIP
-A4BF ; [*0E77.0020.0002.A4BF] # YI RADICAL HXOP
-A4C0 ; [*0E78.0020.0002.A4C0] # YI RADICAL SHAT
-A4C1 ; [*0E79.0020.0002.A4C1] # YI RADICAL ZUR
-A4C2 ; [*0E7A.0020.0002.A4C2] # YI RADICAL SHOP
-A4C3 ; [*0E7B.0020.0002.A4C3] # YI RADICAL CHE
-A4C4 ; [*0E7C.0020.0002.A4C4] # YI RADICAL ZZIET
-A4C5 ; [*0E7D.0020.0002.A4C5] # YI RADICAL NBIE
-A4C6 ; [*0E7E.0020.0002.A4C6] # YI RADICAL KE
-A4FE ; [*022C.0020.0002.A4FE] # LISU PUNCTUATION COMMA
-A4FF ; [*0280.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
-A60D ; [*022D.0020.0002.A60D] # VAI COMMA
-A60E ; [*0281.0020.0002.A60E] # VAI FULL STOP
-A60F ; [*026D.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 ; [*0371.0020.0002.A673] # SLAVONIC ASTERISK
-A67E ; [*03A7.0020.0002.A67E] # CYRILLIC KAVYKA
-A6F2 ; [*02C2.0020.0002.A6F2] # BAMUM NJAEMLI
-A6F3 ; [*0282.0020.0002.A6F3] # BAMUM FULL STOP
-A6F4 ; [*025D.0020.0002.A6F4] # BAMUM COLON
-A6F5 ; [*022E.0020.0002.A6F5] # BAMUM COMMA
-A6F6 ; [*0236.0020.0002.A6F6] # BAMUM SEMICOLON
-A6F7 ; [*026E.0020.0002.A6F7] # BAMUM QUESTION MARK
-A700 ; [*045D.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
-A701 ; [*045E.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
-A702 ; [*045F.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703 ; [*0460.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704 ; [*0461.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
-A705 ; [*0462.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
-A706 ; [*0463.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
-A707 ; [*0464.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
-A708 ; [*0465.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709 ; [*0466.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A ; [*0467.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
-A70B ; [*0468.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C ; [*0469.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D ; [*046A.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E ; [*046B.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F ; [*046C.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710 ; [*046D.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711 ; [*046E.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712 ; [*046F.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713 ; [*0470.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714 ; [*0471.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715 ; [*0472.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716 ; [*0473.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717 ; [*0474.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
-A718 ; [*0475.0020.0002.A718] # MODIFIER LETTER DOT SLASH
-A719 ; [*0476.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A ; [*0477.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B ; [*0478.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
-A71C ; [*0479.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
-A71D ; [*047A.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E ; [*047B.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F ; [*047C.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720 ; [*047D.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
-A721 ; [*047E.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
-A788 ; [*047F.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789 ; [*0480.0020.0002.A789] # MODIFIER LETTER COLON
-A78A ; [*0481.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
-A828 ; [*04A8.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
-A829 ; [*04A9.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
-A82A ; [*04AA.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
-A82B ; [*04AB.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
-A830 ; [*14E5.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
-A831 ; [*14E6.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
-A832 ; [*14E7.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
-A833 ; [*14E8.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
-A834 ; [*14E9.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
-A835 ; [*14EA.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836 ; [*04AC.0020.0002.A836] # NORTH INDIC QUARTER MARK
-A837 ; [*04AD.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
-A839 ; [*04AE.0020.0002.A839] # NORTH INDIC QUANTITY MARK
-A874 ; [*03F5.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
-A875 ; [*03F6.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
-A876 ; [*028D.0020.0002.A876] # PHAGS-PA MARK SHAD
-A877 ; [*028E.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
-A8CE ; [*0289.0020.0002.A8CE] # SAURASHTRA DANDA
-A8CF ; [*028A.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 ; [*03B8.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
-A8F9 ; [*03B9.0020.0002.A8F9] # DEVANAGARI GAP FILLER
-A8FA ; [*03BA.0020.0002.A8FA] # DEVANAGARI CARET
-A92E ; [*03FB.0020.0002.A92E] # KAYAH LI SIGN CWI
-A92F ; [*0291.0020.0002.A92F] # KAYAH LI SIGN SHYA
-A95F ; [*02C3.0020.0002.A95F] # REJANG SECTION MARK
-A9C1 ; [*02B8.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
-A9C2 ; [*02B9.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
-A9C3 ; [*02BA.0020.0002.A9C3] # JAVANESE PADA ANDAP
-A9C4 ; [*02BB.0020.0002.A9C4] # JAVANESE PADA MADYA
-A9C5 ; [*02BC.0020.0002.A9C5] # JAVANESE PADA LUHUR
-A9C6 ; [*02BD.0020.0002.A9C6] # JAVANESE PADA WINDU
-A9C7 ; [*0259.0020.0002.A9C7] # JAVANESE PADA PANGKAT
-A9C8 ; [*029C.0020.0002.A9C8] # JAVANESE PADA LINGSA
-A9C9 ; [*029D.0020.0002.A9C9] # JAVANESE PADA LUNGSI
-A9CA ; [*02BE.0020.0002.A9CA] # JAVANESE PADA ADEG
-A9CB ; [*02BF.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
-A9CC ; [*02C0.0020.0002.A9CC] # JAVANESE PADA PISELEH
-A9CD ; [*02C1.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
-A9DE ; [*03FC.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
-A9DF ; [*03FD.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
-AA5C ; [*03FE.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
-AA5D ; [*029E.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
-AA5E ; [*029F.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
-AA5F ; [*02A0.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
-AA77 ; [*04D6.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
-AA78 ; [*04D7.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
-AA79 ; [*04D8.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
-AADE ; [*03C0.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
-AADF ; [*03C1.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
-AAF0 ; [*02A1.0020.0002.AAF0] # MEETEI MAYEK CHEIKHAN
-AAF1 ; [*026F.0020.0002.AAF1] # MEETEI MAYEK AHANG KHUDAM
-ABEB ; [*02A2.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
-FB29 ; [*059C.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FBB2 ; [*048C.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
-FBB3 ; [*048D.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
-FBB4 ; [*048E.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
-FBB5 ; [*048F.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
-FBB6 ; [*0490.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
-FBB7 ; [*0491.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
-FBB8 ; [*0492.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
-FBB9 ; [*0493.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
-FBBA ; [*0494.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
-FBBB ; [*0495.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
-FBBC ; [*0496.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
-FBBD ; [*0497.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
-FBBE ; [*0498.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
-FBBF ; [*0499.0020.0002.FBBF] # ARABIC SYMBOL RING
-FBC0 ; [*049A.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
-FBC1 ; [*049B.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
-FD3E ; [*0361.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
-FD3F ; [*0362.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
-FDFD ; [*048B.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10 ; [*0221.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA
-FE11 ; [*022F.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12 ; [*0283.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13 ; [*0237.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON
-FE14 ; [*0232.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15 ; [*025E.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16 ; [*0263.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; [*035B.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; [*035C.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; [*0273.0020.0016.FE19][*0273.0020.0016.FE19][*0273.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE21 ; [.0000.0000.0000.FE21] # COMBINING LIGATURE RIGHT HALF
-FE23 ; [.0000.0000.0000.FE23] # COMBINING DOUBLE TILDE RIGHT HALF
-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 ; [*0273.0020.0016.FE30][*0273.0020.001F.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31 ; [*0217.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH
-FE32 ; [*0216.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH
-FE33 ; [*020C.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE
-FE34 ; [*020C.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; [*02FB.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; [*02FC.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; [*02FF.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; [*0300.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; [*0359.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; [*035A.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; [*0357.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; [*0358.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; [*0351.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; [*0352.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; [*034F.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; [*0350.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; [*0353.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; [*0354.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; [*0355.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; [*0356.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45 ; [*0230.0020.0002.FE45] # SESAME DOT
-FE46 ; [*0231.0020.0002.FE46] # WHITE SESAME DOT
-FE47 ; [*02FD.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; [*02FE.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49 ; [*020B.0020.0004.FE49] # DASHED OVERLINE
-FE4A ; [*020B.0020.0004.FE4A] # CENTRELINE OVERLINE
-FE4B ; [*020B.0020.0004.FE4B] # WAVY OVERLINE
-FE4C ; [*020B.0020.0004.FE4C] # DOUBLE WAVY OVERLINE
-FE4D ; [*020C.0020.0004.FE4D] # DASHED LOW LINE
-FE4E ; [*020C.0020.0004.FE4E] # CENTRELINE LOW LINE
-FE4F ; [*020C.0020.0004.FE4F] # WAVY LOW LINE
-FE50 ; [*0221.0020.000F.FE50] # SMALL COMMA
-FE51 ; [*022F.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA
-FE52 ; [*0273.0020.000F.FE52] # SMALL FULL STOP
-FE54 ; [*0232.0020.000F.FE54] # SMALL SEMICOLON
-FE55 ; [*0237.0020.000F.FE55] # SMALL COLON
-FE56 ; [*0263.0020.000F.FE56] # SMALL QUESTION MARK
-FE57 ; [*025E.0020.000F.FE57] # SMALL EXCLAMATION MARK
-FE58 ; [*0217.0020.000F.FE58] # SMALL EM DASH
-FE59 ; [*02FB.0020.000F.FE59] # SMALL LEFT PARENTHESIS
-FE5A ; [*02FC.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS
-FE5B ; [*02FF.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET
-FE5C ; [*0300.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET
-FE5D ; [*0359.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; [*035A.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F ; [*0376.0020.000F.FE5F] # SMALL NUMBER SIGN
-FE60 ; [*0374.0020.000F.FE60] # SMALL AMPERSAND
-FE61 ; [*036D.0020.000F.FE61] # SMALL ASTERISK
-FE62 ; [*059C.0020.000F.FE62] # SMALL PLUS SIGN
-FE63 ; [*020E.0020.000F.FE63] # SMALL HYPHEN-MINUS
-FE64 ; [*05A0.0020.000F.FE64] # SMALL LESS-THAN SIGN
-FE65 ; [*05A2.0020.000F.FE65] # SMALL GREATER-THAN SIGN
-FE66 ; [*05A1.0020.000F.FE66] # SMALL EQUALS SIGN
-FE68 ; [*0373.0020.000F.FE68] # SMALL REVERSE SOLIDUS
-FE6A ; [*0377.0020.000F.FE6A] # SMALL PERCENT SIGN
-FE6B ; [*036C.0020.000F.FE6B] # SMALL COMMERCIAL AT
-FE73 ; [.0000.0000.0000.FE73] # ARABIC TAIL FRAGMENT
-FF01 ; [*025E.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK
-FF02 ; [*02F1.0020.0003.FF02] # FULLWIDTH QUOTATION MARK
-FF03 ; [*0376.0020.0003.FF03] # FULLWIDTH NUMBER SIGN
-FF05 ; [*0377.0020.0003.FF05] # FULLWIDTH PERCENT SIGN
-FF06 ; [*0374.0020.0003.FF06] # FULLWIDTH AMPERSAND
-FF07 ; [*02EA.0020.0003.FF07] # FULLWIDTH APOSTROPHE
-FF08 ; [*02FB.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS
-FF09 ; [*02FC.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS
-FF0A ; [*036D.0020.0003.FF0A] # FULLWIDTH ASTERISK
-FF0B ; [*059C.0020.0003.FF0B] # FULLWIDTH PLUS SIGN
-FF0C ; [*0221.0020.0003.FF0C] # FULLWIDTH COMMA
-FF0D ; [*020E.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS
-FF0E ; [*0273.0020.0003.FF0E] # FULLWIDTH FULL STOP
-FF0F ; [*0372.0020.0003.FF0F] # FULLWIDTH SOLIDUS
-FF1A ; [*0237.0020.0003.FF1A] # FULLWIDTH COLON
-FF1B ; [*0232.0020.0003.FF1B] # FULLWIDTH SEMICOLON
-FF1C ; [*05A0.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN
-FF1D ; [*05A1.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN
-FF1E ; [*05A2.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN
-FF1F ; [*0263.0020.0003.FF1F] # FULLWIDTH QUESTION MARK
-FF20 ; [*036C.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT
-FF3B ; [*02FD.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; [*0373.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS
-FF3D ; [*02FE.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; [*0412.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; [*020C.0020.0003.FF3F] # FULLWIDTH LOW LINE
-FF40 ; [*040F.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT
-FF5B ; [*02FF.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET
-FF5C ; [*05A4.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE
-FF5D ; [*0300.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; [*05A6.0020.0003.FF5E] # FULLWIDTH TILDE
-FF5F ; [*030D.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; [*030E.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; [*0283.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; [*0353.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET
-FF63 ; [*0354.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET
-FF64 ; [*022F.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65 ; [*0220.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT
-FFE2 ; [*05A3.0020.0003.FFE2] # FULLWIDTH NOT SIGN
-FFE3 ; [*0413.0020.0003.FFE3] # FULLWIDTH MACRON
-FFE4 ; [*05A5.0020.0003.FFE4] # FULLWIDTH BROKEN BAR
-FFE8 ; [*0799.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9 ; [*0522.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW
-FFEA ; [*0524.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW
-FFEB ; [*0523.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW
-FFEC ; [*0525.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW
-FFED ; [*0837.0020.0012.FFED] # HALFWIDTH BLACK SQUARE
-FFEE ; [*0862.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE
-FFFC ; [*14D7.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
-FFFD ; [*14D8.0020.0002.FFFD] # REPLACEMENT CHARACTER
-10100 ; [*02E0.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
-10101 ; [*02E1.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
-10102 ; [*02E2.0020.0002.10102] # AEGEAN CHECK MARK
-10110 ; [*151E.0020.0002.10110] # AEGEAN NUMBER TEN
-10111 ; [*151F.0020.0002.10111] # AEGEAN NUMBER TWENTY
-10112 ; [*1520.0020.0002.10112] # AEGEAN NUMBER THIRTY
-10113 ; [*1521.0020.0002.10113] # AEGEAN NUMBER FORTY
-10114 ; [*1522.0020.0002.10114] # AEGEAN NUMBER FIFTY
-10115 ; [*1523.0020.0002.10115] # AEGEAN NUMBER SIXTY
-10116 ; [*1524.0020.0002.10116] # AEGEAN NUMBER SEVENTY
-10117 ; [*1525.0020.0002.10117] # AEGEAN NUMBER EIGHTY
-10118 ; [*1526.0020.0002.10118] # AEGEAN NUMBER NINETY
-10119 ; [*1527.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
-1011A ; [*1528.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
-1011B ; [*1529.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
-1011C ; [*152A.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
-1011D ; [*152B.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
-1011E ; [*152C.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
-1011F ; [*152D.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
-10120 ; [*152E.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
-10121 ; [*152F.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
-10122 ; [*1530.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
-10123 ; [*1531.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
-10124 ; [*1532.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
-10125 ; [*1533.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
-10126 ; [*1534.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
-10127 ; [*1535.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
-10128 ; [*1536.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
-10129 ; [*1537.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
-1012A ; [*1538.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
-1012B ; [*1539.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
-1012C ; [*153A.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
-1012D ; [*153B.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
-1012E ; [*153C.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
-1012F ; [*153D.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
-10130 ; [*153E.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
-10131 ; [*153F.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
-10132 ; [*1540.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
-10133 ; [*1541.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
-10137 ; [*0E7F.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
-10138 ; [*0E80.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
-10139 ; [*0E81.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
-1013A ; [*0E82.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
-1013B ; [*0E83.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C ; [*0E84.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D ; [*0E85.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E ; [*0E86.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
-1013F ; [*0E87.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
-10140 ; [*1542.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 ; [*1543.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
-10144 ; [*1544.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
-10145 ; [*1545.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 ; [*1546.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 ; [*1547.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10149 ; [*1548.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A ; [*1549.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B ; [*154A.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C ; [*154B.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D ; [*154C.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E ; [*154D.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10150 ; [*154E.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
-10151 ; [*154F.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 ; [*1550.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 ; [*1551.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 ; [*1552.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 ; [*1553.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 ; [*1554.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 ; [*1555.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
-10160 ; [*1556.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
-10161 ; [*1557.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 ; [*1558.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
-10163 ; [*1559.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
-10164 ; [*155A.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
-10165 ; [*155B.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
-10166 ; [*155C.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 ; [*155D.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 ; [*155E.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 ; [*155F.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
-1016A ; [*1560.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B ; [*1561.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C ; [*1562.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D ; [*1563.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E ; [*1564.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F ; [*1565.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 ; [*1566.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 ; [*1567.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 ; [*1568.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10174 ; [*1569.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 ; [*156A.0020.0002.10175] # GREEK ONE HALF SIGN
-10176 ; [*156B.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
-10177 ; [*156C.0020.0002.10177] # GREEK TWO THIRDS SIGN
-10178 ; [*156D.0020.0002.10178] # GREEK THREE QUARTERS SIGN
-10179 ; [*0E88.0020.0002.10179] # GREEK YEAR SIGN
-1017A ; [*0E89.0020.0002.1017A] # GREEK TALENT SIGN
-1017B ; [*0E8A.0020.0002.1017B] # GREEK DRACHMA SIGN
-1017C ; [*0E8B.0020.0002.1017C] # GREEK OBOL SIGN
-1017D ; [*0E8C.0020.0002.1017D] # GREEK TWO OBOLS SIGN
-1017E ; [*0E8D.0020.0002.1017E] # GREEK THREE OBOLS SIGN
-1017F ; [*0E8E.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
-10180 ; [*0E8F.0020.0002.10180] # GREEK FIVE OBOLS SIGN
-10181 ; [*0E90.0020.0002.10181] # GREEK METRETES SIGN
-10182 ; [*0E91.0020.0002.10182] # GREEK KYATHOS BASE SIGN
-10183 ; [*0E92.0020.0002.10183] # GREEK LITRA SIGN
-10184 ; [*0E93.0020.0002.10184] # GREEK OUNKIA SIGN
-10185 ; [*0E94.0020.0002.10185] # GREEK XESTES SIGN
-10186 ; [*0E95.0020.0002.10186] # GREEK ARTABE SIGN
-10187 ; [*0E96.0020.0002.10187] # GREEK AROURA SIGN
-10188 ; [*0E97.0020.0002.10188] # GREEK GRAMMA SIGN
-10189 ; [*0E98.0020.0002.10189] # GREEK TRYBLION BASE SIGN
-10190 ; [*0E99.0020.0002.10190] # ROMAN SEXTANS SIGN
-10191 ; [*0E9A.0020.0002.10191] # ROMAN UNCIA SIGN
-10192 ; [*0E9B.0020.0002.10192] # ROMAN SEMUNCIA SIGN
-10193 ; [*0E9C.0020.0002.10193] # ROMAN SEXTULA SIGN
-10194 ; [*0E9D.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
-10195 ; [*0E9E.0020.0002.10195] # ROMAN SILIQUA SIGN
-10196 ; [*0E9F.0020.0002.10196] # ROMAN DENARIUS SIGN
-10197 ; [*0EA0.0020.0002.10197] # ROMAN QUINARIUS SIGN
-10198 ; [*0EA1.0020.0002.10198] # ROMAN SESTERTIUS SIGN
-10199 ; [*0EA2.0020.0002.10199] # ROMAN DUPONDIUS SIGN
-1019A ; [*0EA3.0020.0002.1019A] # ROMAN AS SIGN
-1019B ; [*0EA4.0020.0002.1019B] # ROMAN CENTURIAL SIGN
-101D0 ; [*0EA5.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
-101D1 ; [*0EA6.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
-101D2 ; [*0EA7.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 ; [*0EA8.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
-101D4 ; [*0EA9.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
-101D5 ; [*0EAA.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
-101D6 ; [*0EAB.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
-101D7 ; [*0EAC.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
-101D8 ; [*0EAD.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
-101D9 ; [*0EAE.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
-101DA ; [*0EAF.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
-101DB ; [*0EB0.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
-101DC ; [*0EB1.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
-101DD ; [*0EB2.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
-101DE ; [*0EB3.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
-101DF ; [*0EB4.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
-101E0 ; [*0EB5.0020.0002.101E0] # PHAISTOS DISC SIGN LID
-101E1 ; [*0EB6.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
-101E2 ; [*0EB7.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 ; [*0EB8.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
-101E4 ; [*0EB9.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
-101E5 ; [*0EBA.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
-101E6 ; [*0EBB.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
-101E7 ; [*0EBC.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
-101E8 ; [*0EBD.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
-101E9 ; [*0EBE.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
-101EA ; [*0EBF.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
-101EB ; [*0EC0.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
-101EC ; [*0EC1.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
-101ED ; [*0EC2.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
-101EE ; [*0EC3.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
-101EF ; [*0EC4.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
-101F0 ; [*0EC5.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
-101F1 ; [*0EC6.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
-101F2 ; [*0EC7.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
-101F3 ; [*0EC8.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
-101F4 ; [*0EC9.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
-101F5 ; [*0ECA.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
-101F6 ; [*0ECB.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
-101F7 ; [*0ECC.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
-101F8 ; [*0ECD.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
-101F9 ; [*0ECE.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
-101FA ; [*0ECF.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
-101FB ; [*0ED0.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
-101FC ; [*0ED1.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
-10322 ; [*151C.0020.0002.10322] # OLD ITALIC NUMERAL TEN
-10323 ; [*151D.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
-1039F ; [*02E3.0020.0002.1039F] # UGARITIC WORD DIVIDER
-103D0 ; [*02E4.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
-103D3 ; [*156E.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
-103D4 ; [*156F.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
-103D5 ; [*1570.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
-10857 ; [*02C4.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
-1085B ; [*1576.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
-1085C ; [*1577.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D ; [*1578.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E ; [*1579.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F ; [*157A.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10917 ; [*1573.0020.0002.10917] # PHOENICIAN NUMBER TEN
-10918 ; [*1574.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
-10919 ; [*1575.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
-1091F ; [*02E5.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
-1093F ; [*02DF.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
-10A44 ; [*158E.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
-10A45 ; [*158F.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
-10A46 ; [*1590.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
-10A47 ; [*1591.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
-10A50 ; [*0404.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
-10A51 ; [*0405.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 ; [*0406.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
-10A53 ; [*0407.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 ; [*0408.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
-10A55 ; [*0409.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
-10A56 ; [*02A3.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
-10A57 ; [*02A4.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 ; [*040A.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
-10A7E ; [*1571.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; [*1572.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B39 ; [*040B.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
-10B3A ; [*02C5.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B ; [*02C6.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C ; [*02C7.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D ; [*02C8.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E ; [*02C9.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F ; [*02CA.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B5C ; [*157B.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D ; [*157C.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E ; [*157D.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F ; [*157E.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B7C ; [*157F.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D ; [*1580.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E ; [*1581.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F ; [*1582.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10E69 ; [*1505.0020.0002.10E69] # RUMI NUMBER TEN
-10E6A ; [*1506.0020.0002.10E6A] # RUMI NUMBER TWENTY
-10E6B ; [*1507.0020.0002.10E6B] # RUMI NUMBER THIRTY
-10E6C ; [*1508.0020.0002.10E6C] # RUMI NUMBER FORTY
-10E6D ; [*1509.0020.0002.10E6D] # RUMI NUMBER FIFTY
-10E6E ; [*150A.0020.0002.10E6E] # RUMI NUMBER SIXTY
-10E6F ; [*150B.0020.0002.10E6F] # RUMI NUMBER SEVENTY
-10E70 ; [*150C.0020.0002.10E70] # RUMI NUMBER EIGHTY
-10E71 ; [*150D.0020.0002.10E71] # RUMI NUMBER NINETY
-10E72 ; [*150E.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
-10E73 ; [*150F.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
-10E74 ; [*1510.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
-10E75 ; [*1511.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
-10E76 ; [*1512.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
-10E77 ; [*1513.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
-10E78 ; [*1514.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
-10E79 ; [*1515.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
-10E7A ; [*1516.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
-10E7B ; [*1517.0020.0002.10E7B] # RUMI FRACTION ONE HALF
-10E7C ; [*1518.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
-10E7D ; [*1519.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
-10E7E ; [*151A.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
-11047 ; [*02A5.0020.0002.11047] # BRAHMI DANDA
-11048 ; [*02A6.0020.0002.11048] # BRAHMI DOUBLE DANDA
-11049 ; [*03FF.0020.0002.11049] # BRAHMI PUNCTUATION DOT
-1104A ; [*0400.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
-1104B ; [*0401.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
-1104C ; [*0402.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
-1104D ; [*0403.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
-1105B ; [*1583.0020.0002.1105B] # BRAHMI NUMBER TEN
-1105C ; [*1584.0020.0002.1105C] # BRAHMI NUMBER TWENTY
-1105D ; [*1585.0020.0002.1105D] # BRAHMI NUMBER THIRTY
-1105E ; [*1586.0020.0002.1105E] # BRAHMI NUMBER FORTY
-1105F ; [*1587.0020.0002.1105F] # BRAHMI NUMBER FIFTY
-11060 ; [*1588.0020.0002.11060] # BRAHMI NUMBER SIXTY
-11061 ; [*1589.0020.0002.11061] # BRAHMI NUMBER SEVENTY
-11062 ; [*158A.0020.0002.11062] # BRAHMI NUMBER EIGHTY
-11063 ; [*158B.0020.0002.11063] # BRAHMI NUMBER NINETY
-11064 ; [*158C.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
-11065 ; [*158D.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
-110BB ; [*040C.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
-110BC ; [*040D.0020.0002.110BC] # KAITHI ENUMERATION SIGN
-110BD ; [.0000.0000.0000.110BD] # KAITHI NUMBER SIGN
-110BE ; [*02CB.0020.0002.110BE] # KAITHI SECTION MARK
-110BF ; [*02CC.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
-110C0 ; [*02A7.0020.0002.110C0] # KAITHI DANDA
-110C1 ; [*02A8.0020.0002.110C1] # KAITHI DOUBLE DANDA
-11140 ; [*02CD.0020.0002.11140] # CHAKMA SECTION MARK
-11141 ; [*02A9.0020.0002.11141] # CHAKMA DANDA
-11142 ; [*02AA.0020.0002.11142] # CHAKMA DOUBLE DANDA
-11143 ; [*0270.0020.0002.11143] # CHAKMA QUESTION MARK
-111C5 ; [*02AB.0020.0002.111C5] # SHARADA DANDA
-111C6 ; [*02AC.0020.0002.111C6] # SHARADA DOUBLE DANDA
-111C7 ; [*040E.0020.0002.111C7] # SHARADA ABBREVIATION SIGN
-111C8 ; [*02CE.0020.0002.111C8] # SHARADA SEPARATOR
-12432 ; [*1592.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 ; [*1593.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12456 ; [*1594.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 ; [*1595.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
-1245A ; [*1596.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B ; [*1597.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C ; [*1598.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D ; [*1599.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E ; [*159A.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F ; [*159B.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 ; [*159C.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 ; [*159D.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 ; [*159E.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470 ; [*02E6.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 ; [*02E7.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 ; [*02E8.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 ; [*02E9.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-1D000 ; [*0ED2.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
-1D001 ; [*0ED3.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 ; [*0ED4.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 ; [*0ED5.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 ; [*0ED6.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 ; [*0ED7.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 ; [*0ED8.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 ; [*0ED9.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 ; [*0EDA.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 ; [*0EDB.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A ; [*0EDC.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B ; [*0EDD.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C ; [*0EDE.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D ; [*0EDF.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E ; [*0EE0.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F ; [*0EE1.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 ; [*0EE2.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 ; [*0EE3.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 ; [*0EE4.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 ; [*0EE5.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 ; [*0EE6.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
-1D015 ; [*0EE7.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 ; [*0EE8.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 ; [*0EE9.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
-1D018 ; [*0EEA.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 ; [*0EEB.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A ; [*0EEC.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B ; [*0EED.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C ; [*0EEE.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D ; [*0EEF.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E ; [*0EF0.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F ; [*0EF1.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 ; [*0EF2.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 ; [*0EF3.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 ; [*0EF4.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 ; [*0EF5.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 ; [*0EF6.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 ; [*0EF7.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
-1D026 ; [*0EF8.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 ; [*0EF9.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 ; [*0EFA.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 ; [*0EFB.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A ; [*0EFC.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B ; [*0EFD.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C ; [*0EFE.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D ; [*0EFF.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E ; [*0F00.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F ; [*0F01.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
-1D030 ; [*0F02.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
-1D031 ; [*0F03.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 ; [*0F04.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 ; [*0F05.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 ; [*0F06.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 ; [*0F07.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 ; [*0F08.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 ; [*0F09.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 ; [*0F0A.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 ; [*0F0B.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A ; [*0F0C.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B ; [*0F0D.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C ; [*0F0E.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D ; [*0F0F.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E ; [*0F10.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F ; [*0F11.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 ; [*0F12.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
-1D041 ; [*0F13.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 ; [*0F14.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 ; [*0F15.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 ; [*0F16.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 ; [*0F17.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 ; [*0F18.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 ; [*0F19.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 ; [*0F1A.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 ; [*0F1B.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A ; [*0F1C.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B ; [*0F1D.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C ; [*0F1E.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D ; [*0F1F.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E ; [*0F20.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F ; [*0F21.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 ; [*0F22.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 ; [*0F23.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 ; [*0F24.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 ; [*0F25.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 ; [*0F26.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 ; [*0F27.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 ; [*0F28.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 ; [*0F29.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 ; [*0F2A.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 ; [*0F2B.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A ; [*0F2C.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B ; [*0F2D.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C ; [*0F2E.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D ; [*0F2F.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E ; [*0F30.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F ; [*0F31.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 ; [*0F32.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 ; [*0F33.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 ; [*0F34.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 ; [*0F35.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 ; [*0F36.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 ; [*0F37.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 ; [*0F38.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 ; [*0F39.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 ; [*0F3A.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 ; [*0F3B.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A ; [*0F3C.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B ; [*0F3D.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C ; [*0F3E.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D ; [*0F3F.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E ; [*0F40.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F ; [*0F41.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 ; [*0F42.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 ; [*0F43.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 ; [*0F44.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 ; [*0F45.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 ; [*0F46.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 ; [*0F47.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 ; [*0F48.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 ; [*0F49.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 ; [*0F4A.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 ; [*0F4B.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A ; [*0F4C.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B ; [*0F4D.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C ; [*0F4E.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D ; [*0F4F.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E ; [*0F50.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F ; [*0F51.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 ; [*0F52.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 ; [*0F53.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 ; [*0F54.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 ; [*0F55.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 ; [*0F56.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 ; [*0F57.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
-1D086 ; [*0F58.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 ; [*0F59.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 ; [*0F5A.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 ; [*0F5B.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A ; [*0F5C.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B ; [*0F5D.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C ; [*0F5E.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D ; [*0F5F.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E ; [*0F60.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F ; [*0F61.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 ; [*0F62.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 ; [*0F63.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 ; [*0F64.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 ; [*0F65.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 ; [*0F66.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 ; [*0F67.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 ; [*0F68.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 ; [*0F69.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
-1D098 ; [*0F6A.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 ; [*0F6B.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A ; [*0F6C.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B ; [*0F6D.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C ; [*0F6E.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D ; [*0F6F.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E ; [*0F70.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F ; [*0F71.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 ; [*0F72.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 ; [*0F73.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 ; [*0F74.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 ; [*0F75.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 ; [*0F76.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 ; [*0F77.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 ; [*0F78.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 ; [*0F79.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 ; [*0F7A.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 ; [*0F7B.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA ; [*0F7C.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB ; [*0F7D.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC ; [*0F7E.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD ; [*0F7F.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE ; [*0F80.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF ; [*0F81.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 ; [*0F82.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 ; [*0F83.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 ; [*0F84.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 ; [*0F85.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 ; [*0F86.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 ; [*0F87.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 ; [*0F88.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 ; [*0F89.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 ; [*0F8A.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 ; [*0F8B.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA ; [*0F8C.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB ; [*0F8D.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC ; [*0F8E.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD ; [*0F8F.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE ; [*0F90.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF ; [*0F91.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 ; [*0F92.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 ; [*0F93.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 ; [*0F94.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 ; [*0F95.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 ; [*0F96.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 ; [*0F97.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6 ; [*0F98.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 ; [*0F99.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 ; [*0F9A.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 ; [*0F9B.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA ; [*0F9C.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB ; [*0F9D.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC ; [*0F9E.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD ; [*0F9F.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE ; [*0FA0.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF ; [*0FA1.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 ; [*0FA2.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 ; [*0FA3.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 ; [*0FA4.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 ; [*0FA5.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 ; [*0FA6.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 ; [*0FA7.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 ; [*0FA8.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 ; [*0FA9.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 ; [*0FAA.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 ; [*0FAB.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA ; [*0FAC.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB ; [*0FAD.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC ; [*0FAE.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD ; [*0FAF.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE ; [*0FB0.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF ; [*0FB1.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 ; [*0FB2.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 ; [*0FB3.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 ; [*0FB4.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 ; [*0FB5.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 ; [*0FB6.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 ; [*0FB7.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 ; [*0FB8.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 ; [*0FB9.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 ; [*0FBA.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 ; [*0FBB.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA ; [*0FBC.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB ; [*0FBD.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC ; [*0FBE.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED ; [*0FBF.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE ; [*0FC0.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF ; [*0FC1.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 ; [*0FC2.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 ; [*0FC3.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 ; [*0FC4.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 ; [*0FC5.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 ; [*0FC6.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 ; [*0FC7.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 ; [*0FC8.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
-1D101 ; [*0FC9.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
-1D102 ; [*0FCA.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
-1D103 ; [*0FCB.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 ; [*0FCC.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
-1D105 ; [*0FCD.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
-1D106 ; [*0FCE.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 ; [*0FCF.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 ; [*0FD0.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
-1D109 ; [*0FD1.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
-1D10A ; [*0FD2.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
-1D10B ; [*0FD3.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
-1D10C ; [*0FD4.0020.0002.1D10C] # MUSICAL SYMBOL CODA
-1D10D ; [*0FD5.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E ; [*0FD6.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F ; [*0FD7.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 ; [*0FD8.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
-1D111 ; [*0FD9.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
-1D112 ; [*0FDA.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
-1D113 ; [*0FDB.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
-1D114 ; [*0FDC.0020.0002.1D114] # MUSICAL SYMBOL BRACE
-1D115 ; [*0FDD.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
-1D116 ; [*0FDE.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
-1D117 ; [*0FDF.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
-1D118 ; [*0FE0.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
-1D119 ; [*0FE1.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A ; [*0FE2.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B ; [*0FE3.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C ; [*0FE4.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D ; [*0FE5.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E ; [*0FE6.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
-1D11F ; [*0FE7.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 ; [*0FE8.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 ; [*0FE9.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
-1D122 ; [*0FEA.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
-1D123 ; [*0FEB.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 ; [*0FEC.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 ; [*0FED.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
-1D126 ; [*0FEE.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
-1D129 ; [*1002.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A ; [*0FF2.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
-1D12B ; [*0FF3.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
-1D12C ; [*0FF4.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
-1D12D ; [*0FF5.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
-1D12E ; [*0FF6.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
-1D12F ; [*0FF7.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
-1D130 ; [*0FF8.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
-1D131 ; [*0FF9.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
-1D132 ; [*0FFA.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 ; [*0FFB.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 ; [*0FFC.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
-1D135 ; [*0FFD.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
-1D136 ; [*0FFE.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
-1D137 ; [*0FFF.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
-1D138 ; [*1000.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 ; [*1001.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A ; [*1003.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
-1D13B ; [*1004.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
-1D13C ; [*1005.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
-1D13D ; [*1006.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
-1D13E ; [*1007.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
-1D13F ; [*1008.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
-1D140 ; [*1009.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 ; [*100A.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 ; [*100B.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 ; [*100C.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
-1D144 ; [*100D.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 ; [*100E.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 ; [*100F.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 ; [*1010.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 ; [*1011.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 ; [*1012.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A ; [*1013.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B ; [*1014.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C ; [*1015.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D ; [*1016.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E ; [*1017.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F ; [*1018.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 ; [*1019.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 ; [*101A.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 ; [*101B.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 ; [*101C.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 ; [*101D.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 ; [*101E.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 ; [*101F.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 ; [*1020.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
-1D158 ; [*1021.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 ; [*1022.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A ; [*1023.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B ; [*1024.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C ; [*1025.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
-1D15D ; [*1026.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
-1D15E ; [*1020.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE
-1D15F ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE
-1D160 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE
-1D161 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-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 ; [*1027.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B ; [*1028.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C ; [*1029.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
-1D170 ; [.0000.0000.0000.1D170] # MUSICAL SYMBOL COMBINING FLAG-3
-1D171 ; [.0000.0000.0000.1D171] # MUSICAL SYMBOL COMBINING FLAG-4
-1D172 ; [.0000.0000.0000.1D172] # MUSICAL SYMBOL COMBINING FLAG-5
-1D17B ; [.0000.0000.0000.1D17B] # MUSICAL SYMBOL COMBINING ACCENT
-1D17C ; [.0000.0000.0000.1D17C] # MUSICAL SYMBOL COMBINING STACCATO
-1D17D ; [.0000.0000.0000.1D17D] # MUSICAL SYMBOL COMBINING TENUTO
-1D17E ; [.0000.0000.0000.1D17E] # MUSICAL SYMBOL COMBINING STACCATISSIMO
-1D17F ; [.0000.0000.0000.1D17F] # MUSICAL SYMBOL COMBINING MARCATO
-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 ; [*102A.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
-1D184 ; [*102B.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
-1D188 ; [.0000.0000.0000.1D188] # MUSICAL SYMBOL COMBINING SMEAR
-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 ; [*102C.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
-1D18D ; [*102D.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
-1D18E ; [*102E.0020.0002.1D18E] # MUSICAL SYMBOL Z
-1D18F ; [*102F.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
-1D190 ; [*1030.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
-1D191 ; [*1031.0020.0002.1D191] # MUSICAL SYMBOL FORTE
-1D192 ; [*1032.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
-1D193 ; [*1033.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
-1D194 ; [*1034.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 ; [*1035.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 ; [*1036.0020.0002.1D196] # MUSICAL SYMBOL TR
-1D197 ; [*1037.0020.0002.1D197] # MUSICAL SYMBOL TURN
-1D198 ; [*1038.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
-1D199 ; [*1039.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
-1D19A ; [*103A.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
-1D19B ; [*103B.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C ; [*103C.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D ; [*103D.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E ; [*103E.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F ; [*103F.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 ; [*1040.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 ; [*1041.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 ; [*1042.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 ; [*1043.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 ; [*1044.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 ; [*1045.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 ; [*1046.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 ; [*1047.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
-1D1A8 ; [*1048.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
-1D1A9 ; [*1049.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 ; [*104A.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
-1D1AF ; [*104B.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 ; [*104C.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 ; [*104D.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
-1D1B2 ; [*104E.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 ; [*104F.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 ; [*1050.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
-1D1B5 ; [*1051.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
-1D1B6 ; [*1052.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
-1D1B7 ; [*1053.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
-1D1B8 ; [*1054.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
-1D1B9 ; [*1055.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA ; [*1056.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA
-1D1BC ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK
-1D1BD ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE
-1D1C0 ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK
-1D1C1 ; [*1057.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 ; [*1058.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 ; [*1059.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
-1D1C4 ; [*105A.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 ; [*105B.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
-1D1C6 ; [*105C.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 ; [*105D.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 ; [*105E.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 ; [*105F.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA ; [*1060.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB ; [*1061.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC ; [*1062.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD ; [*1063.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE ; [*1064.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF ; [*1065.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
-1D1D0 ; [*1066.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 ; [*1067.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 ; [*1068.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
-1D1D3 ; [*1069.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
-1D1D4 ; [*106A.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
-1D1D5 ; [*106B.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
-1D1D6 ; [*106C.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
-1D1D7 ; [*106D.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
-1D1D8 ; [*106E.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
-1D1D9 ; [*106F.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
-1D1DA ; [*1070.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB ; [*1071.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC ; [*1072.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD ; [*1073.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200 ; [*1074.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
-1D201 ; [*1075.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
-1D202 ; [*1076.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
-1D203 ; [*1077.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
-1D204 ; [*1078.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
-1D205 ; [*1079.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
-1D206 ; [*107A.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
-1D207 ; [*107B.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
-1D208 ; [*107C.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
-1D209 ; [*107D.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
-1D20A ; [*107E.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
-1D20B ; [*107F.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
-1D20C ; [*1080.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
-1D20D ; [*1081.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
-1D20E ; [*1082.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
-1D20F ; [*1083.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
-1D210 ; [*1084.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
-1D211 ; [*1085.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
-1D212 ; [*1086.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
-1D213 ; [*1087.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
-1D214 ; [*1088.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
-1D215 ; [*1089.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
-1D216 ; [*108A.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
-1D217 ; [*108B.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
-1D218 ; [*108C.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
-1D219 ; [*108D.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
-1D21A ; [*108E.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
-1D21B ; [*108F.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
-1D21C ; [*1090.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
-1D21D ; [*1091.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E ; [*1092.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F ; [*1093.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 ; [*1094.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 ; [*1095.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 ; [*1096.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 ; [*1097.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 ; [*1098.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 ; [*1099.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 ; [*109A.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 ; [*109B.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 ; [*109C.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 ; [*109D.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A ; [*109E.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B ; [*109F.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C ; [*10A0.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D ; [*10A1.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E ; [*10A2.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F ; [*10A3.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 ; [*10A4.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 ; [*10A5.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 ; [*10A6.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 ; [*10A7.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 ; [*10A8.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 ; [*10A9.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 ; [*10AA.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 ; [*10AB.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 ; [*10AC.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 ; [*10AD.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A ; [*10AE.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B ; [*10AF.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C ; [*10B0.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D ; [*10B1.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E ; [*10B2.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F ; [*10B3.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 ; [*10B4.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 ; [*10B5.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 ; [*10B6.0020.0002.1D245] # GREEK MUSICAL LEIMMA
-1D300 ; [*0DF1.0020.0002.1D300] # MONOGRAM FOR EARTH
-1D301 ; [*0DF2.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
-1D302 ; [*0DF3.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
-1D303 ; [*0DF4.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
-1D304 ; [*0DF5.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
-1D305 ; [*0DF6.0020.0002.1D305] # DIGRAM FOR EARTH
-1D306 ; [*0DF7.0020.0002.1D306] # TETRAGRAM FOR CENTRE
-1D307 ; [*0DF8.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
-1D308 ; [*0DF9.0020.0002.1D308] # TETRAGRAM FOR MIRED
-1D309 ; [*0DFA.0020.0002.1D309] # TETRAGRAM FOR BARRIER
-1D30A ; [*0DFB.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
-1D30B ; [*0DFC.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
-1D30C ; [*0DFD.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
-1D30D ; [*0DFE.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
-1D30E ; [*0DFF.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
-1D30F ; [*0E00.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 ; [*0E01.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
-1D311 ; [*0E02.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
-1D312 ; [*0E03.0020.0002.1D312] # TETRAGRAM FOR INCREASE
-1D313 ; [*0E04.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
-1D314 ; [*0E05.0020.0002.1D314] # TETRAGRAM FOR REACH
-1D315 ; [*0E06.0020.0002.1D315] # TETRAGRAM FOR CONTACT
-1D316 ; [*0E07.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
-1D317 ; [*0E08.0020.0002.1D317] # TETRAGRAM FOR WAITING
-1D318 ; [*0E09.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
-1D319 ; [*0E0A.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
-1D31A ; [*0E0B.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
-1D31B ; [*0E0C.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
-1D31C ; [*0E0D.0020.0002.1D31C] # TETRAGRAM FOR EASE
-1D31D ; [*0E0E.0020.0002.1D31D] # TETRAGRAM FOR JOY
-1D31E ; [*0E0F.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
-1D31F ; [*0E10.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
-1D320 ; [*0E11.0020.0002.1D320] # TETRAGRAM FOR DUTIES
-1D321 ; [*0E12.0020.0002.1D321] # TETRAGRAM FOR CHANGE
-1D322 ; [*0E13.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
-1D323 ; [*0E14.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
-1D324 ; [*0E15.0020.0002.1D324] # TETRAGRAM FOR PACKING
-1D325 ; [*0E16.0020.0002.1D325] # TETRAGRAM FOR LEGION
-1D326 ; [*0E17.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
-1D327 ; [*0E18.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
-1D328 ; [*0E19.0020.0002.1D328] # TETRAGRAM FOR GATHERING
-1D329 ; [*0E1A.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
-1D32A ; [*0E1B.0020.0002.1D32A] # TETRAGRAM FOR PURITY
-1D32B ; [*0E1C.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
-1D32C ; [*0E1D.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
-1D32D ; [*0E1E.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
-1D32E ; [*0E1F.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
-1D32F ; [*0E20.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
-1D330 ; [*0E21.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
-1D331 ; [*0E22.0020.0002.1D331] # TETRAGRAM FOR STOVE
-1D332 ; [*0E23.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
-1D333 ; [*0E24.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
-1D334 ; [*0E25.0020.0002.1D334] # TETRAGRAM FOR PATTERN
-1D335 ; [*0E26.0020.0002.1D335] # TETRAGRAM FOR RITUAL
-1D336 ; [*0E27.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
-1D337 ; [*0E28.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
-1D338 ; [*0E29.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
-1D339 ; [*0E2A.0020.0002.1D339] # TETRAGRAM FOR MEASURE
-1D33A ; [*0E2B.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
-1D33B ; [*0E2C.0020.0002.1D33B] # TETRAGRAM FOR UNITY
-1D33C ; [*0E2D.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
-1D33D ; [*0E2E.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
-1D33E ; [*0E2F.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
-1D33F ; [*0E30.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
-1D340 ; [*0E31.0020.0002.1D340] # TETRAGRAM FOR MASSING
-1D341 ; [*0E32.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
-1D342 ; [*0E33.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
-1D343 ; [*0E34.0020.0002.1D343] # TETRAGRAM FOR DOUBT
-1D344 ; [*0E35.0020.0002.1D344] # TETRAGRAM FOR WATCH
-1D345 ; [*0E36.0020.0002.1D345] # TETRAGRAM FOR SINKING
-1D346 ; [*0E37.0020.0002.1D346] # TETRAGRAM FOR INNER
-1D347 ; [*0E38.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
-1D348 ; [*0E39.0020.0002.1D348] # TETRAGRAM FOR DARKENING
-1D349 ; [*0E3A.0020.0002.1D349] # TETRAGRAM FOR DIMMING
-1D34A ; [*0E3B.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
-1D34B ; [*0E3C.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
-1D34C ; [*0E3D.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
-1D34D ; [*0E3E.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
-1D34E ; [*0E3F.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
-1D34F ; [*0E40.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
-1D350 ; [*0E41.0020.0002.1D350] # TETRAGRAM FOR FAILURE
-1D351 ; [*0E42.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
-1D352 ; [*0E43.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
-1D353 ; [*0E44.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
-1D354 ; [*0E45.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
-1D355 ; [*0E46.0020.0002.1D355] # TETRAGRAM FOR LABOURING
-1D356 ; [*0E47.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
-1D369 ; [*159F.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
-1D36A ; [*15A0.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
-1D36B ; [*15A1.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
-1D36C ; [*15A2.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
-1D36D ; [*15A3.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
-1D36E ; [*15A4.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
-1D36F ; [*15A5.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
-1D370 ; [*15A6.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
-1D371 ; [*15A7.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
-1D6C1 ; [*0592.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA
-1D6DB ; [*058E.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6FB ; [*0592.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA
-1D715 ; [*058E.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D735 ; [*0592.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA
-1D74F ; [*058E.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D76F ; [*0592.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA
-1D789 ; [*058E.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D7A9 ; [*0592.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7C3 ; [*058E.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1EEF0 ; [*0485.0020.0002.1EEF0] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
-1EEF1 ; [*0486.0020.0002.1EEF1] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
-1F000 ; [*10B7.0020.0002.1F000] # MAHJONG TILE EAST WIND
-1F001 ; [*10B8.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
-1F002 ; [*10B9.0020.0002.1F002] # MAHJONG TILE WEST WIND
-1F003 ; [*10BA.0020.0002.1F003] # MAHJONG TILE NORTH WIND
-1F004 ; [*10BB.0020.0002.1F004] # MAHJONG TILE RED DRAGON
-1F005 ; [*10BC.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
-1F006 ; [*10BD.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
-1F007 ; [*10BE.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
-1F008 ; [*10BF.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
-1F009 ; [*10C0.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
-1F00A ; [*10C1.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
-1F00B ; [*10C2.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
-1F00C ; [*10C3.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
-1F00D ; [*10C4.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E ; [*10C5.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F ; [*10C6.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
-1F010 ; [*10C7.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
-1F011 ; [*10C8.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
-1F012 ; [*10C9.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
-1F013 ; [*10CA.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
-1F014 ; [*10CB.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
-1F015 ; [*10CC.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
-1F016 ; [*10CD.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
-1F017 ; [*10CE.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
-1F018 ; [*10CF.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
-1F019 ; [*10D0.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
-1F01A ; [*10D1.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
-1F01B ; [*10D2.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
-1F01C ; [*10D3.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
-1F01D ; [*10D4.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
-1F01E ; [*10D5.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
-1F01F ; [*10D6.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
-1F020 ; [*10D7.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
-1F021 ; [*10D8.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
-1F022 ; [*10D9.0020.0002.1F022] # MAHJONG TILE PLUM
-1F023 ; [*10DA.0020.0002.1F023] # MAHJONG TILE ORCHID
-1F024 ; [*10DB.0020.0002.1F024] # MAHJONG TILE BAMBOO
-1F025 ; [*10DC.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
-1F026 ; [*10DD.0020.0002.1F026] # MAHJONG TILE SPRING
-1F027 ; [*10DE.0020.0002.1F027] # MAHJONG TILE SUMMER
-1F028 ; [*10DF.0020.0002.1F028] # MAHJONG TILE AUTUMN
-1F029 ; [*10E0.0020.0002.1F029] # MAHJONG TILE WINTER
-1F02A ; [*10E1.0020.0002.1F02A] # MAHJONG TILE JOKER
-1F02B ; [*10E2.0020.0002.1F02B] # MAHJONG TILE BACK
-1F030 ; [*10E3.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
-1F031 ; [*10E4.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
-1F032 ; [*10E5.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
-1F033 ; [*10E6.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
-1F034 ; [*10E7.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
-1F035 ; [*10E8.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
-1F036 ; [*10E9.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
-1F037 ; [*10EA.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
-1F038 ; [*10EB.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
-1F039 ; [*10EC.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
-1F03A ; [*10ED.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
-1F03B ; [*10EE.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
-1F03C ; [*10EF.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
-1F03D ; [*10F0.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
-1F03E ; [*10F1.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
-1F03F ; [*10F2.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
-1F040 ; [*10F3.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
-1F041 ; [*10F4.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
-1F042 ; [*10F5.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
-1F043 ; [*10F6.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
-1F044 ; [*10F7.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
-1F045 ; [*10F8.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
-1F046 ; [*10F9.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
-1F047 ; [*10FA.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
-1F048 ; [*10FB.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
-1F049 ; [*10FC.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
-1F04A ; [*10FD.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
-1F04B ; [*10FE.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
-1F04C ; [*10FF.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
-1F04D ; [*1100.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
-1F04E ; [*1101.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
-1F04F ; [*1102.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
-1F050 ; [*1103.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
-1F051 ; [*1104.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
-1F052 ; [*1105.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
-1F053 ; [*1106.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
-1F054 ; [*1107.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
-1F055 ; [*1108.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
-1F056 ; [*1109.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
-1F057 ; [*110A.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
-1F058 ; [*110B.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
-1F059 ; [*110C.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
-1F05A ; [*110D.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
-1F05B ; [*110E.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
-1F05C ; [*110F.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
-1F05D ; [*1110.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
-1F05E ; [*1111.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
-1F05F ; [*1112.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
-1F060 ; [*1113.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
-1F061 ; [*1114.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
-1F062 ; [*1115.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
-1F063 ; [*1116.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
-1F064 ; [*1117.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
-1F065 ; [*1118.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
-1F066 ; [*1119.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
-1F067 ; [*111A.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
-1F068 ; [*111B.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
-1F069 ; [*111C.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
-1F06A ; [*111D.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
-1F06B ; [*111E.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
-1F06C ; [*111F.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
-1F06D ; [*1120.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
-1F06E ; [*1121.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
-1F06F ; [*1122.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
-1F070 ; [*1123.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
-1F071 ; [*1124.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
-1F072 ; [*1125.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
-1F073 ; [*1126.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
-1F074 ; [*1127.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
-1F075 ; [*1128.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
-1F076 ; [*1129.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
-1F077 ; [*112A.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
-1F078 ; [*112B.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
-1F079 ; [*112C.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
-1F07A ; [*112D.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
-1F07B ; [*112E.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
-1F07C ; [*112F.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
-1F07D ; [*1130.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
-1F07E ; [*1131.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
-1F07F ; [*1132.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
-1F080 ; [*1133.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
-1F081 ; [*1134.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
-1F082 ; [*1135.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
-1F083 ; [*1136.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
-1F084 ; [*1137.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
-1F085 ; [*1138.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
-1F086 ; [*1139.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
-1F087 ; [*113A.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
-1F088 ; [*113B.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
-1F089 ; [*113C.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
-1F08A ; [*113D.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
-1F08B ; [*113E.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
-1F08C ; [*113F.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
-1F08D ; [*1140.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
-1F08E ; [*1141.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
-1F08F ; [*1142.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
-1F090 ; [*1143.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
-1F091 ; [*1144.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
-1F092 ; [*1145.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
-1F093 ; [*1146.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
-1F0A0 ; [*1147.0020.0002.1F0A0] # PLAYING CARD BACK
-1F0A1 ; [*1148.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
-1F0A2 ; [*1149.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
-1F0A3 ; [*114A.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
-1F0A4 ; [*114B.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
-1F0A5 ; [*114C.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
-1F0A6 ; [*114D.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
-1F0A7 ; [*114E.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
-1F0A8 ; [*114F.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
-1F0A9 ; [*1150.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
-1F0AA ; [*1151.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
-1F0AB ; [*1152.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
-1F0AC ; [*1153.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
-1F0AD ; [*1154.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
-1F0AE ; [*1155.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
-1F0B1 ; [*1156.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
-1F0B2 ; [*1157.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
-1F0B3 ; [*1158.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
-1F0B4 ; [*1159.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
-1F0B5 ; [*115A.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
-1F0B6 ; [*115B.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
-1F0B7 ; [*115C.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
-1F0B8 ; [*115D.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
-1F0B9 ; [*115E.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
-1F0BA ; [*115F.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
-1F0BB ; [*1160.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
-1F0BC ; [*1161.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
-1F0BD ; [*1162.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
-1F0BE ; [*1163.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
-1F0C1 ; [*1164.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
-1F0C2 ; [*1165.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
-1F0C3 ; [*1166.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
-1F0C4 ; [*1167.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
-1F0C5 ; [*1168.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
-1F0C6 ; [*1169.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
-1F0C7 ; [*116A.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
-1F0C8 ; [*116B.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
-1F0C9 ; [*116C.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
-1F0CA ; [*116D.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
-1F0CB ; [*116E.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
-1F0CC ; [*116F.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
-1F0CD ; [*1170.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
-1F0CE ; [*1171.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
-1F0CF ; [*1172.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
-1F0D1 ; [*1173.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
-1F0D2 ; [*1174.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
-1F0D3 ; [*1175.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
-1F0D4 ; [*1176.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
-1F0D5 ; [*1177.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
-1F0D6 ; [*1178.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
-1F0D7 ; [*1179.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
-1F0D8 ; [*117A.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
-1F0D9 ; [*117B.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
-1F0DA ; [*117C.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
-1F0DB ; [*117D.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
-1F0DC ; [*117E.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
-1F0DD ; [*117F.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
-1F0DE ; [*1180.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
-1F0DF ; [*1181.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
-1F1E6 ; [*0986.0020.0002.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A
-1F1E7 ; [*0987.0020.0002.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B
-1F1E8 ; [*0988.0020.0002.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C
-1F1E9 ; [*0989.0020.0002.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D
-1F1EA ; [*098A.0020.0002.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E
-1F1EB ; [*098B.0020.0002.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F
-1F1EC ; [*098C.0020.0002.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G
-1F1ED ; [*098D.0020.0002.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H
-1F1EE ; [*098E.0020.0002.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I
-1F1EF ; [*098F.0020.0002.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J
-1F1F0 ; [*0990.0020.0002.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K
-1F1F1 ; [*0991.0020.0002.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L
-1F1F2 ; [*0992.0020.0002.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M
-1F1F3 ; [*0993.0020.0002.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N
-1F1F4 ; [*0994.0020.0002.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O
-1F1F5 ; [*0995.0020.0002.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P
-1F1F6 ; [*0996.0020.0002.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q
-1F1F7 ; [*0997.0020.0002.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R
-1F1F8 ; [*0998.0020.0002.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S
-1F1F9 ; [*0999.0020.0002.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T
-1F1FA ; [*099A.0020.0002.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U
-1F1FB ; [*099B.0020.0002.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V
-1F1FC ; [*099C.0020.0002.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W
-1F1FD ; [*099D.0020.0002.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X
-1F1FE ; [*099E.0020.0002.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y
-1F1FF ; [*099F.0020.0002.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z
-1F300 ; [*1182.0020.0002.1F300] # CYCLONE
-1F301 ; [*1183.0020.0002.1F301] # FOGGY
-1F302 ; [*1184.0020.0002.1F302] # CLOSED UMBRELLA
-1F303 ; [*1185.0020.0002.1F303] # NIGHT WITH STARS
-1F304 ; [*1186.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
-1F305 ; [*1187.0020.0002.1F305] # SUNRISE
-1F306 ; [*1188.0020.0002.1F306] # CITYSCAPE AT DUSK
-1F307 ; [*1189.0020.0002.1F307] # SUNSET OVER BUILDINGS
-1F308 ; [*118A.0020.0002.1F308] # RAINBOW
-1F309 ; [*118B.0020.0002.1F309] # BRIDGE AT NIGHT
-1F30A ; [*118C.0020.0002.1F30A] # WATER WAVE
-1F30B ; [*118D.0020.0002.1F30B] # VOLCANO
-1F30C ; [*118E.0020.0002.1F30C] # MILKY WAY
-1F30D ; [*118F.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
-1F30E ; [*1190.0020.0002.1F30E] # EARTH GLOBE AMERICAS
-1F30F ; [*1191.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
-1F310 ; [*1192.0020.0002.1F310] # GLOBE WITH MERIDIANS
-1F311 ; [*1193.0020.0002.1F311] # NEW MOON SYMBOL
-1F312 ; [*1194.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
-1F313 ; [*1195.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
-1F314 ; [*1196.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
-1F315 ; [*1197.0020.0002.1F315] # FULL MOON SYMBOL
-1F316 ; [*1198.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
-1F317 ; [*1199.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
-1F318 ; [*119A.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
-1F319 ; [*119B.0020.0002.1F319] # CRESCENT MOON
-1F31A ; [*119C.0020.0002.1F31A] # NEW MOON WITH FACE
-1F31B ; [*119D.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
-1F31C ; [*119E.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
-1F31D ; [*119F.0020.0002.1F31D] # FULL MOON WITH FACE
-1F31E ; [*11A0.0020.0002.1F31E] # SUN WITH FACE
-1F31F ; [*11A1.0020.0002.1F31F] # GLOWING STAR
-1F320 ; [*11A2.0020.0002.1F320] # SHOOTING STAR
-1F330 ; [*11A3.0020.0002.1F330] # CHESTNUT
-1F331 ; [*11A4.0020.0002.1F331] # SEEDLING
-1F332 ; [*11A5.0020.0002.1F332] # EVERGREEN TREE
-1F333 ; [*11A6.0020.0002.1F333] # DECIDUOUS TREE
-1F334 ; [*11A7.0020.0002.1F334] # PALM TREE
-1F335 ; [*11A8.0020.0002.1F335] # CACTUS
-1F337 ; [*11A9.0020.0002.1F337] # TULIP
-1F338 ; [*11AA.0020.0002.1F338] # CHERRY BLOSSOM
-1F339 ; [*11AB.0020.0002.1F339] # ROSE
-1F33A ; [*11AC.0020.0002.1F33A] # HIBISCUS
-1F33B ; [*11AD.0020.0002.1F33B] # SUNFLOWER
-1F33C ; [*11AE.0020.0002.1F33C] # BLOSSOM
-1F33D ; [*11AF.0020.0002.1F33D] # EAR OF MAIZE
-1F33E ; [*11B0.0020.0002.1F33E] # EAR OF RICE
-1F33F ; [*11B1.0020.0002.1F33F] # HERB
-1F340 ; [*11B2.0020.0002.1F340] # FOUR LEAF CLOVER
-1F341 ; [*11B3.0020.0002.1F341] # MAPLE LEAF
-1F342 ; [*11B4.0020.0002.1F342] # FALLEN LEAF
-1F343 ; [*11B5.0020.0002.1F343] # LEAF FLUTTERING IN WIND
-1F344 ; [*11B6.0020.0002.1F344] # MUSHROOM
-1F345 ; [*11B7.0020.0002.1F345] # TOMATO
-1F346 ; [*11B8.0020.0002.1F346] # AUBERGINE
-1F347 ; [*11B9.0020.0002.1F347] # GRAPES
-1F348 ; [*11BA.0020.0002.1F348] # MELON
-1F349 ; [*11BB.0020.0002.1F349] # WATERMELON
-1F34A ; [*11BC.0020.0002.1F34A] # TANGERINE
-1F34B ; [*11BD.0020.0002.1F34B] # LEMON
-1F34C ; [*11BE.0020.0002.1F34C] # BANANA
-1F34D ; [*11BF.0020.0002.1F34D] # PINEAPPLE
-1F34E ; [*11C0.0020.0002.1F34E] # RED APPLE
-1F34F ; [*11C1.0020.0002.1F34F] # GREEN APPLE
-1F350 ; [*11C2.0020.0002.1F350] # PEAR
-1F351 ; [*11C3.0020.0002.1F351] # PEACH
-1F352 ; [*11C4.0020.0002.1F352] # CHERRIES
-1F353 ; [*11C5.0020.0002.1F353] # STRAWBERRY
-1F354 ; [*11C6.0020.0002.1F354] # HAMBURGER
-1F355 ; [*11C7.0020.0002.1F355] # SLICE OF PIZZA
-1F356 ; [*11C8.0020.0002.1F356] # MEAT ON BONE
-1F357 ; [*11C9.0020.0002.1F357] # POULTRY LEG
-1F358 ; [*11CA.0020.0002.1F358] # RICE CRACKER
-1F359 ; [*11CB.0020.0002.1F359] # RICE BALL
-1F35A ; [*11CC.0020.0002.1F35A] # COOKED RICE
-1F35B ; [*11CD.0020.0002.1F35B] # CURRY AND RICE
-1F35C ; [*11CE.0020.0002.1F35C] # STEAMING BOWL
-1F35D ; [*11CF.0020.0002.1F35D] # SPAGHETTI
-1F35E ; [*11D0.0020.0002.1F35E] # BREAD
-1F35F ; [*11D1.0020.0002.1F35F] # FRENCH FRIES
-1F360 ; [*11D2.0020.0002.1F360] # ROASTED SWEET POTATO
-1F361 ; [*11D3.0020.0002.1F361] # DANGO
-1F362 ; [*11D4.0020.0002.1F362] # ODEN
-1F363 ; [*11D5.0020.0002.1F363] # SUSHI
-1F364 ; [*11D6.0020.0002.1F364] # FRIED SHRIMP
-1F365 ; [*11D7.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
-1F366 ; [*11D8.0020.0002.1F366] # SOFT ICE CREAM
-1F367 ; [*11D9.0020.0002.1F367] # SHAVED ICE
-1F368 ; [*11DA.0020.0002.1F368] # ICE CREAM
-1F369 ; [*11DB.0020.0002.1F369] # DOUGHNUT
-1F36A ; [*11DC.0020.0002.1F36A] # COOKIE
-1F36B ; [*11DD.0020.0002.1F36B] # CHOCOLATE BAR
-1F36C ; [*11DE.0020.0002.1F36C] # CANDY
-1F36D ; [*11DF.0020.0002.1F36D] # LOLLIPOP
-1F36E ; [*11E0.0020.0002.1F36E] # CUSTARD
-1F36F ; [*11E1.0020.0002.1F36F] # HONEY POT
-1F370 ; [*11E2.0020.0002.1F370] # SHORTCAKE
-1F371 ; [*11E3.0020.0002.1F371] # BENTO BOX
-1F372 ; [*11E4.0020.0002.1F372] # POT OF FOOD
-1F373 ; [*11E5.0020.0002.1F373] # COOKING
-1F374 ; [*11E6.0020.0002.1F374] # FORK AND KNIFE
-1F375 ; [*11E7.0020.0002.1F375] # TEACUP WITHOUT HANDLE
-1F376 ; [*11E8.0020.0002.1F376] # SAKE BOTTLE AND CUP
-1F377 ; [*11E9.0020.0002.1F377] # WINE GLASS
-1F378 ; [*11EA.0020.0002.1F378] # COCKTAIL GLASS
-1F379 ; [*11EB.0020.0002.1F379] # TROPICAL DRINK
-1F37A ; [*11EC.0020.0002.1F37A] # BEER MUG
-1F37B ; [*11ED.0020.0002.1F37B] # CLINKING BEER MUGS
-1F37C ; [*11EE.0020.0002.1F37C] # BABY BOTTLE
-1F380 ; [*11EF.0020.0002.1F380] # RIBBON
-1F381 ; [*11F0.0020.0002.1F381] # WRAPPED PRESENT
-1F382 ; [*11F1.0020.0002.1F382] # BIRTHDAY CAKE
-1F383 ; [*11F2.0020.0002.1F383] # JACK-O-LANTERN
-1F384 ; [*11F3.0020.0002.1F384] # CHRISTMAS TREE
-1F385 ; [*11F4.0020.0002.1F385] # FATHER CHRISTMAS
-1F386 ; [*11F5.0020.0002.1F386] # FIREWORKS
-1F387 ; [*11F6.0020.0002.1F387] # FIREWORK SPARKLER
-1F388 ; [*11F7.0020.0002.1F388] # BALLOON
-1F389 ; [*11F8.0020.0002.1F389] # PARTY POPPER
-1F38A ; [*11F9.0020.0002.1F38A] # CONFETTI BALL
-1F38B ; [*11FA.0020.0002.1F38B] # TANABATA TREE
-1F38C ; [*11FB.0020.0002.1F38C] # CROSSED FLAGS
-1F38D ; [*11FC.0020.0002.1F38D] # PINE DECORATION
-1F38E ; [*11FD.0020.0002.1F38E] # JAPANESE DOLLS
-1F38F ; [*11FE.0020.0002.1F38F] # CARP STREAMER
-1F390 ; [*11FF.0020.0002.1F390] # WIND CHIME
-1F391 ; [*1200.0020.0002.1F391] # MOON VIEWING CEREMONY
-1F392 ; [*1201.0020.0002.1F392] # SCHOOL SATCHEL
-1F393 ; [*1202.0020.0002.1F393] # GRADUATION CAP
-1F3A0 ; [*1203.0020.0002.1F3A0] # CAROUSEL HORSE
-1F3A1 ; [*1204.0020.0002.1F3A1] # FERRIS WHEEL
-1F3A2 ; [*1205.0020.0002.1F3A2] # ROLLER COASTER
-1F3A3 ; [*1206.0020.0002.1F3A3] # FISHING POLE AND FISH
-1F3A4 ; [*1207.0020.0002.1F3A4] # MICROPHONE
-1F3A5 ; [*1208.0020.0002.1F3A5] # MOVIE CAMERA
-1F3A6 ; [*1209.0020.0002.1F3A6] # CINEMA
-1F3A7 ; [*120A.0020.0002.1F3A7] # HEADPHONE
-1F3A8 ; [*120B.0020.0002.1F3A8] # ARTIST PALETTE
-1F3A9 ; [*120C.0020.0002.1F3A9] # TOP HAT
-1F3AA ; [*120D.0020.0002.1F3AA] # CIRCUS TENT
-1F3AB ; [*120E.0020.0002.1F3AB] # TICKET
-1F3AC ; [*120F.0020.0002.1F3AC] # CLAPPER BOARD
-1F3AD ; [*1210.0020.0002.1F3AD] # PERFORMING ARTS
-1F3AE ; [*1211.0020.0002.1F3AE] # VIDEO GAME
-1F3AF ; [*1212.0020.0002.1F3AF] # DIRECT HIT
-1F3B0 ; [*1213.0020.0002.1F3B0] # SLOT MACHINE
-1F3B1 ; [*1214.0020.0002.1F3B1] # BILLIARDS
-1F3B2 ; [*1215.0020.0002.1F3B2] # GAME DIE
-1F3B3 ; [*1216.0020.0002.1F3B3] # BOWLING
-1F3B4 ; [*1217.0020.0002.1F3B4] # FLOWER PLAYING CARDS
-1F3B5 ; [*1218.0020.0002.1F3B5] # MUSICAL NOTE
-1F3B6 ; [*1219.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
-1F3B7 ; [*121A.0020.0002.1F3B7] # SAXOPHONE
-1F3B8 ; [*121B.0020.0002.1F3B8] # GUITAR
-1F3B9 ; [*121C.0020.0002.1F3B9] # MUSICAL KEYBOARD
-1F3BA ; [*121D.0020.0002.1F3BA] # TRUMPET
-1F3BB ; [*121E.0020.0002.1F3BB] # VIOLIN
-1F3BC ; [*121F.0020.0002.1F3BC] # MUSICAL SCORE
-1F3BD ; [*1220.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
-1F3BE ; [*1221.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
-1F3BF ; [*1222.0020.0002.1F3BF] # SKI AND SKI BOOT
-1F3C0 ; [*1223.0020.0002.1F3C0] # BASKETBALL AND HOOP
-1F3C1 ; [*1224.0020.0002.1F3C1] # CHEQUERED FLAG
-1F3C2 ; [*1225.0020.0002.1F3C2] # SNOWBOARDER
-1F3C3 ; [*1226.0020.0002.1F3C3] # RUNNER
-1F3C4 ; [*1227.0020.0002.1F3C4] # SURFER
-1F3C6 ; [*1228.0020.0002.1F3C6] # TROPHY
-1F3C7 ; [*1229.0020.0002.1F3C7] # HORSE RACING
-1F3C8 ; [*122A.0020.0002.1F3C8] # AMERICAN FOOTBALL
-1F3C9 ; [*122B.0020.0002.1F3C9] # RUGBY FOOTBALL
-1F3CA ; [*122C.0020.0002.1F3CA] # SWIMMER
-1F3E0 ; [*122D.0020.0002.1F3E0] # HOUSE BUILDING
-1F3E1 ; [*122E.0020.0002.1F3E1] # HOUSE WITH GARDEN
-1F3E2 ; [*122F.0020.0002.1F3E2] # OFFICE BUILDING
-1F3E3 ; [*1230.0020.0002.1F3E3] # JAPANESE POST OFFICE
-1F3E4 ; [*1231.0020.0002.1F3E4] # EUROPEAN POST OFFICE
-1F3E5 ; [*1232.0020.0002.1F3E5] # HOSPITAL
-1F3E6 ; [*1233.0020.0002.1F3E6] # BANK
-1F3E7 ; [*1234.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
-1F3E8 ; [*1235.0020.0002.1F3E8] # HOTEL
-1F3E9 ; [*1236.0020.0002.1F3E9] # LOVE HOTEL
-1F3EA ; [*1237.0020.0002.1F3EA] # CONVENIENCE STORE
-1F3EB ; [*1238.0020.0002.1F3EB] # SCHOOL
-1F3EC ; [*1239.0020.0002.1F3EC] # DEPARTMENT STORE
-1F3ED ; [*123A.0020.0002.1F3ED] # FACTORY
-1F3EE ; [*123B.0020.0002.1F3EE] # IZAKAYA LANTERN
-1F3EF ; [*123C.0020.0002.1F3EF] # JAPANESE CASTLE
-1F3F0 ; [*123D.0020.0002.1F3F0] # EUROPEAN CASTLE
-1F400 ; [*123E.0020.0002.1F400] # RAT
-1F401 ; [*123F.0020.0002.1F401] # MOUSE
-1F402 ; [*1240.0020.0002.1F402] # OX
-1F403 ; [*1241.0020.0002.1F403] # WATER BUFFALO
-1F404 ; [*1242.0020.0002.1F404] # COW
-1F405 ; [*1243.0020.0002.1F405] # TIGER
-1F406 ; [*1244.0020.0002.1F406] # LEOPARD
-1F407 ; [*1245.0020.0002.1F407] # RABBIT
-1F408 ; [*1246.0020.0002.1F408] # CAT
-1F409 ; [*1247.0020.0002.1F409] # DRAGON
-1F40A ; [*1248.0020.0002.1F40A] # CROCODILE
-1F40B ; [*1249.0020.0002.1F40B] # WHALE
-1F40C ; [*124A.0020.0002.1F40C] # SNAIL
-1F40D ; [*124B.0020.0002.1F40D] # SNAKE
-1F40E ; [*124C.0020.0002.1F40E] # HORSE
-1F40F ; [*124D.0020.0002.1F40F] # RAM
-1F410 ; [*124E.0020.0002.1F410] # GOAT
-1F411 ; [*124F.0020.0002.1F411] # SHEEP
-1F412 ; [*1250.0020.0002.1F412] # MONKEY
-1F413 ; [*1251.0020.0002.1F413] # ROOSTER
-1F414 ; [*1252.0020.0002.1F414] # CHICKEN
-1F415 ; [*1253.0020.0002.1F415] # DOG
-1F416 ; [*1254.0020.0002.1F416] # PIG
-1F417 ; [*1255.0020.0002.1F417] # BOAR
-1F418 ; [*1256.0020.0002.1F418] # ELEPHANT
-1F419 ; [*1257.0020.0002.1F419] # OCTOPUS
-1F41A ; [*1258.0020.0002.1F41A] # SPIRAL SHELL
-1F41B ; [*1259.0020.0002.1F41B] # BUG
-1F41C ; [*125A.0020.0002.1F41C] # ANT
-1F41D ; [*125B.0020.0002.1F41D] # HONEYBEE
-1F41E ; [*125C.0020.0002.1F41E] # LADY BEETLE
-1F41F ; [*125D.0020.0002.1F41F] # FISH
-1F420 ; [*125E.0020.0002.1F420] # TROPICAL FISH
-1F421 ; [*125F.0020.0002.1F421] # BLOWFISH
-1F422 ; [*1260.0020.0002.1F422] # TURTLE
-1F423 ; [*1261.0020.0002.1F423] # HATCHING CHICK
-1F424 ; [*1262.0020.0002.1F424] # BABY CHICK
-1F425 ; [*1263.0020.0002.1F425] # FRONT-FACING BABY CHICK
-1F426 ; [*1264.0020.0002.1F426] # BIRD
-1F427 ; [*1265.0020.0002.1F427] # PENGUIN
-1F428 ; [*1266.0020.0002.1F428] # KOALA
-1F429 ; [*1267.0020.0002.1F429] # POODLE
-1F42A ; [*1268.0020.0002.1F42A] # DROMEDARY CAMEL
-1F42B ; [*1269.0020.0002.1F42B] # BACTRIAN CAMEL
-1F42C ; [*126A.0020.0002.1F42C] # DOLPHIN
-1F42D ; [*126B.0020.0002.1F42D] # MOUSE FACE
-1F42E ; [*126C.0020.0002.1F42E] # COW FACE
-1F42F ; [*126D.0020.0002.1F42F] # TIGER FACE
-1F430 ; [*126E.0020.0002.1F430] # RABBIT FACE
-1F431 ; [*126F.0020.0002.1F431] # CAT FACE
-1F432 ; [*1270.0020.0002.1F432] # DRAGON FACE
-1F433 ; [*1271.0020.0002.1F433] # SPOUTING WHALE
-1F434 ; [*1272.0020.0002.1F434] # HORSE FACE
-1F435 ; [*1273.0020.0002.1F435] # MONKEY FACE
-1F436 ; [*1274.0020.0002.1F436] # DOG FACE
-1F437 ; [*1275.0020.0002.1F437] # PIG FACE
-1F438 ; [*1276.0020.0002.1F438] # FROG FACE
-1F439 ; [*1277.0020.0002.1F439] # HAMSTER FACE
-1F43A ; [*1278.0020.0002.1F43A] # WOLF FACE
-1F43B ; [*1279.0020.0002.1F43B] # BEAR FACE
-1F43C ; [*127A.0020.0002.1F43C] # PANDA FACE
-1F43D ; [*127B.0020.0002.1F43D] # PIG NOSE
-1F43E ; [*127C.0020.0002.1F43E] # PAW PRINTS
-1F440 ; [*127D.0020.0002.1F440] # EYES
-1F442 ; [*127E.0020.0002.1F442] # EAR
-1F443 ; [*127F.0020.0002.1F443] # NOSE
-1F444 ; [*1280.0020.0002.1F444] # MOUTH
-1F445 ; [*1281.0020.0002.1F445] # TONGUE
-1F446 ; [*1282.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
-1F447 ; [*1283.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
-1F448 ; [*1284.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
-1F449 ; [*1285.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
-1F44A ; [*1286.0020.0002.1F44A] # FISTED HAND SIGN
-1F44B ; [*1287.0020.0002.1F44B] # WAVING HAND SIGN
-1F44C ; [*1288.0020.0002.1F44C] # OK HAND SIGN
-1F44D ; [*1289.0020.0002.1F44D] # THUMBS UP SIGN
-1F44E ; [*128A.0020.0002.1F44E] # THUMBS DOWN SIGN
-1F44F ; [*128B.0020.0002.1F44F] # CLAPPING HANDS SIGN
-1F450 ; [*128C.0020.0002.1F450] # OPEN HANDS SIGN
-1F451 ; [*128D.0020.0002.1F451] # CROWN
-1F452 ; [*128E.0020.0002.1F452] # WOMANS HAT
-1F453 ; [*128F.0020.0002.1F453] # EYEGLASSES
-1F454 ; [*1290.0020.0002.1F454] # NECKTIE
-1F455 ; [*1291.0020.0002.1F455] # T-SHIRT
-1F456 ; [*1292.0020.0002.1F456] # JEANS
-1F457 ; [*1293.0020.0002.1F457] # DRESS
-1F458 ; [*1294.0020.0002.1F458] # KIMONO
-1F459 ; [*1295.0020.0002.1F459] # BIKINI
-1F45A ; [*1296.0020.0002.1F45A] # WOMANS CLOTHES
-1F45B ; [*1297.0020.0002.1F45B] # PURSE
-1F45C ; [*1298.0020.0002.1F45C] # HANDBAG
-1F45D ; [*1299.0020.0002.1F45D] # POUCH
-1F45E ; [*129A.0020.0002.1F45E] # MANS SHOE
-1F45F ; [*129B.0020.0002.1F45F] # ATHLETIC SHOE
-1F460 ; [*129C.0020.0002.1F460] # HIGH-HEELED SHOE
-1F461 ; [*129D.0020.0002.1F461] # WOMANS SANDAL
-1F462 ; [*129E.0020.0002.1F462] # WOMANS BOOTS
-1F463 ; [*129F.0020.0002.1F463] # FOOTPRINTS
-1F464 ; [*12A0.0020.0002.1F464] # BUST IN SILHOUETTE
-1F465 ; [*12A1.0020.0002.1F465] # BUSTS IN SILHOUETTE
-1F466 ; [*12A2.0020.0002.1F466] # BOY
-1F467 ; [*12A3.0020.0002.1F467] # GIRL
-1F468 ; [*12A4.0020.0002.1F468] # MAN
-1F469 ; [*12A5.0020.0002.1F469] # WOMAN
-1F46A ; [*12A6.0020.0002.1F46A] # FAMILY
-1F46B ; [*12A7.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
-1F46C ; [*12A8.0020.0002.1F46C] # TWO MEN HOLDING HANDS
-1F46D ; [*12A9.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
-1F46E ; [*12AA.0020.0002.1F46E] # POLICE OFFICER
-1F46F ; [*12AB.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
-1F470 ; [*12AC.0020.0002.1F470] # BRIDE WITH VEIL
-1F471 ; [*12AD.0020.0002.1F471] # PERSON WITH BLOND HAIR
-1F472 ; [*12AE.0020.0002.1F472] # MAN WITH GUA PI MAO
-1F473 ; [*12AF.0020.0002.1F473] # MAN WITH TURBAN
-1F474 ; [*12B0.0020.0002.1F474] # OLDER MAN
-1F475 ; [*12B1.0020.0002.1F475] # OLDER WOMAN
-1F476 ; [*12B2.0020.0002.1F476] # BABY
-1F477 ; [*12B3.0020.0002.1F477] # CONSTRUCTION WORKER
-1F478 ; [*12B4.0020.0002.1F478] # PRINCESS
-1F479 ; [*12B5.0020.0002.1F479] # JAPANESE OGRE
-1F47A ; [*12B6.0020.0002.1F47A] # JAPANESE GOBLIN
-1F47B ; [*12B7.0020.0002.1F47B] # GHOST
-1F47C ; [*12B8.0020.0002.1F47C] # BABY ANGEL
-1F47D ; [*12B9.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
-1F47E ; [*12BA.0020.0002.1F47E] # ALIEN MONSTER
-1F47F ; [*12BB.0020.0002.1F47F] # IMP
-1F480 ; [*12BC.0020.0002.1F480] # SKULL
-1F481 ; [*12BD.0020.0002.1F481] # INFORMATION DESK PERSON
-1F482 ; [*12BE.0020.0002.1F482] # GUARDSMAN
-1F483 ; [*12BF.0020.0002.1F483] # DANCER
-1F484 ; [*12C0.0020.0002.1F484] # LIPSTICK
-1F485 ; [*12C1.0020.0002.1F485] # NAIL POLISH
-1F486 ; [*12C2.0020.0002.1F486] # FACE MASSAGE
-1F487 ; [*12C3.0020.0002.1F487] # HAIRCUT
-1F488 ; [*12C4.0020.0002.1F488] # BARBER POLE
-1F489 ; [*12C5.0020.0002.1F489] # SYRINGE
-1F48A ; [*12C6.0020.0002.1F48A] # PILL
-1F48B ; [*12C7.0020.0002.1F48B] # KISS MARK
-1F48C ; [*12C8.0020.0002.1F48C] # LOVE LETTER
-1F48D ; [*12C9.0020.0002.1F48D] # RING
-1F48E ; [*12CA.0020.0002.1F48E] # GEM STONE
-1F48F ; [*12CB.0020.0002.1F48F] # KISS
-1F490 ; [*12CC.0020.0002.1F490] # BOUQUET
-1F491 ; [*12CD.0020.0002.1F491] # COUPLE WITH HEART
-1F492 ; [*12CE.0020.0002.1F492] # WEDDING
-1F493 ; [*12CF.0020.0002.1F493] # BEATING HEART
-1F494 ; [*12D0.0020.0002.1F494] # BROKEN HEART
-1F495 ; [*12D1.0020.0002.1F495] # TWO HEARTS
-1F496 ; [*12D2.0020.0002.1F496] # SPARKLING HEART
-1F497 ; [*12D3.0020.0002.1F497] # GROWING HEART
-1F498 ; [*12D4.0020.0002.1F498] # HEART WITH ARROW
-1F499 ; [*12D5.0020.0002.1F499] # BLUE HEART
-1F49A ; [*12D6.0020.0002.1F49A] # GREEN HEART
-1F49B ; [*12D7.0020.0002.1F49B] # YELLOW HEART
-1F49C ; [*12D8.0020.0002.1F49C] # PURPLE HEART
-1F49D ; [*12D9.0020.0002.1F49D] # HEART WITH RIBBON
-1F49E ; [*12DA.0020.0002.1F49E] # REVOLVING HEARTS
-1F49F ; [*12DB.0020.0002.1F49F] # HEART DECORATION
-1F4A0 ; [*12DC.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
-1F4A1 ; [*12DD.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
-1F4A2 ; [*12DE.0020.0002.1F4A2] # ANGER SYMBOL
-1F4A3 ; [*12DF.0020.0002.1F4A3] # BOMB
-1F4A4 ; [*12E0.0020.0002.1F4A4] # SLEEPING SYMBOL
-1F4A5 ; [*12E1.0020.0002.1F4A5] # COLLISION SYMBOL
-1F4A6 ; [*12E2.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
-1F4A7 ; [*12E3.0020.0002.1F4A7] # DROPLET
-1F4A8 ; [*12E4.0020.0002.1F4A8] # DASH SYMBOL
-1F4A9 ; [*12E5.0020.0002.1F4A9] # PILE OF POO
-1F4AA ; [*12E6.0020.0002.1F4AA] # FLEXED BICEPS
-1F4AB ; [*12E7.0020.0002.1F4AB] # DIZZY SYMBOL
-1F4AC ; [*12E8.0020.0002.1F4AC] # SPEECH BALLOON
-1F4AD ; [*12E9.0020.0002.1F4AD] # THOUGHT BALLOON
-1F4AE ; [*12EA.0020.0002.1F4AE] # WHITE FLOWER
-1F4AF ; [*12EB.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
-1F4B0 ; [*12EC.0020.0002.1F4B0] # MONEY BAG
-1F4B1 ; [*12ED.0020.0002.1F4B1] # CURRENCY EXCHANGE
-1F4B2 ; [*12EE.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
-1F4B3 ; [*12EF.0020.0002.1F4B3] # CREDIT CARD
-1F4B4 ; [*12F0.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
-1F4B5 ; [*12F1.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
-1F4B6 ; [*12F2.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
-1F4B7 ; [*12F3.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
-1F4B8 ; [*12F4.0020.0002.1F4B8] # MONEY WITH WINGS
-1F4B9 ; [*12F5.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
-1F4BA ; [*12F6.0020.0002.1F4BA] # SEAT
-1F4BB ; [*12F7.0020.0002.1F4BB] # PERSONAL COMPUTER
-1F4BC ; [*12F8.0020.0002.1F4BC] # BRIEFCASE
-1F4BD ; [*12F9.0020.0002.1F4BD] # MINIDISC
-1F4BE ; [*12FA.0020.0002.1F4BE] # FLOPPY DISK
-1F4BF ; [*12FB.0020.0002.1F4BF] # OPTICAL DISC
-1F4C0 ; [*12FC.0020.0002.1F4C0] # DVD
-1F4C1 ; [*12FD.0020.0002.1F4C1] # FILE FOLDER
-1F4C2 ; [*12FE.0020.0002.1F4C2] # OPEN FILE FOLDER
-1F4C3 ; [*12FF.0020.0002.1F4C3] # PAGE WITH CURL
-1F4C4 ; [*1300.0020.0002.1F4C4] # PAGE FACING UP
-1F4C5 ; [*1301.0020.0002.1F4C5] # CALENDAR
-1F4C6 ; [*1302.0020.0002.1F4C6] # TEAR-OFF CALENDAR
-1F4C7 ; [*1303.0020.0002.1F4C7] # CARD INDEX
-1F4C8 ; [*1304.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
-1F4C9 ; [*1305.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
-1F4CA ; [*1306.0020.0002.1F4CA] # BAR CHART
-1F4CB ; [*1307.0020.0002.1F4CB] # CLIPBOARD
-1F4CC ; [*1308.0020.0002.1F4CC] # PUSHPIN
-1F4CD ; [*1309.0020.0002.1F4CD] # ROUND PUSHPIN
-1F4CE ; [*130A.0020.0002.1F4CE] # PAPERCLIP
-1F4CF ; [*130B.0020.0002.1F4CF] # STRAIGHT RULER
-1F4D0 ; [*130C.0020.0002.1F4D0] # TRIANGULAR RULER
-1F4D1 ; [*130D.0020.0002.1F4D1] # BOOKMARK TABS
-1F4D2 ; [*130E.0020.0002.1F4D2] # LEDGER
-1F4D3 ; [*130F.0020.0002.1F4D3] # NOTEBOOK
-1F4D4 ; [*1310.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
-1F4D5 ; [*1311.0020.0002.1F4D5] # CLOSED BOOK
-1F4D6 ; [*1312.0020.0002.1F4D6] # OPEN BOOK
-1F4D7 ; [*1313.0020.0002.1F4D7] # GREEN BOOK
-1F4D8 ; [*1314.0020.0002.1F4D8] # BLUE BOOK
-1F4D9 ; [*1315.0020.0002.1F4D9] # ORANGE BOOK
-1F4DA ; [*1316.0020.0002.1F4DA] # BOOKS
-1F4DB ; [*1317.0020.0002.1F4DB] # NAME BADGE
-1F4DC ; [*1318.0020.0002.1F4DC] # SCROLL
-1F4DD ; [*1319.0020.0002.1F4DD] # MEMO
-1F4DE ; [*131A.0020.0002.1F4DE] # TELEPHONE RECEIVER
-1F4DF ; [*131B.0020.0002.1F4DF] # PAGER
-1F4E0 ; [*131C.0020.0002.1F4E0] # FAX MACHINE
-1F4E1 ; [*131D.0020.0002.1F4E1] # SATELLITE ANTENNA
-1F4E2 ; [*131E.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
-1F4E3 ; [*131F.0020.0002.1F4E3] # CHEERING MEGAPHONE
-1F4E4 ; [*1320.0020.0002.1F4E4] # OUTBOX TRAY
-1F4E5 ; [*1321.0020.0002.1F4E5] # INBOX TRAY
-1F4E6 ; [*1322.0020.0002.1F4E6] # PACKAGE
-1F4E7 ; [*1323.0020.0002.1F4E7] # E-MAIL SYMBOL
-1F4E8 ; [*1324.0020.0002.1F4E8] # INCOMING ENVELOPE
-1F4E9 ; [*1325.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
-1F4EA ; [*1326.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
-1F4EB ; [*1327.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
-1F4EC ; [*1328.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
-1F4ED ; [*1329.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
-1F4EE ; [*132A.0020.0002.1F4EE] # POSTBOX
-1F4EF ; [*132B.0020.0002.1F4EF] # POSTAL HORN
-1F4F0 ; [*132C.0020.0002.1F4F0] # NEWSPAPER
-1F4F1 ; [*132D.0020.0002.1F4F1] # MOBILE PHONE
-1F4F2 ; [*132E.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-1F4F3 ; [*132F.0020.0002.1F4F3] # VIBRATION MODE
-1F4F4 ; [*1330.0020.0002.1F4F4] # MOBILE PHONE OFF
-1F4F5 ; [*1331.0020.0002.1F4F5] # NO MOBILE PHONES
-1F4F6 ; [*1332.0020.0002.1F4F6] # ANTENNA WITH BARS
-1F4F7 ; [*1333.0020.0002.1F4F7] # CAMERA
-1F4F9 ; [*1334.0020.0002.1F4F9] # VIDEO CAMERA
-1F4FA ; [*1335.0020.0002.1F4FA] # TELEVISION
-1F4FB ; [*1336.0020.0002.1F4FB] # RADIO
-1F4FC ; [*1337.0020.0002.1F4FC] # VIDEOCASSETTE
-1F500 ; [*1338.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
-1F501 ; [*1339.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
-1F502 ; [*133A.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
-1F503 ; [*133B.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F504 ; [*133C.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F505 ; [*133D.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
-1F506 ; [*133E.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
-1F507 ; [*133F.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
-1F508 ; [*1340.0020.0002.1F508] # SPEAKER
-1F509 ; [*1341.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
-1F50A ; [*1342.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
-1F50B ; [*1343.0020.0002.1F50B] # BATTERY
-1F50C ; [*1344.0020.0002.1F50C] # ELECTRIC PLUG
-1F50D ; [*1345.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
-1F50E ; [*1346.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
-1F50F ; [*1347.0020.0002.1F50F] # LOCK WITH INK PEN
-1F510 ; [*1348.0020.0002.1F510] # CLOSED LOCK WITH KEY
-1F511 ; [*1349.0020.0002.1F511] # KEY
-1F512 ; [*134A.0020.0002.1F512] # LOCK
-1F513 ; [*134B.0020.0002.1F513] # OPEN LOCK
-1F514 ; [*134C.0020.0002.1F514] # BELL
-1F515 ; [*134D.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
-1F516 ; [*134E.0020.0002.1F516] # BOOKMARK
-1F517 ; [*134F.0020.0002.1F517] # LINK SYMBOL
-1F518 ; [*1350.0020.0002.1F518] # RADIO BUTTON
-1F519 ; [*1351.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
-1F51A ; [*1352.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
-1F51B ; [*1353.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
-1F51C ; [*1354.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
-1F51D ; [*1355.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
-1F51E ; [*1356.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
-1F51F ; [*1357.0020.0002.1F51F] # KEYCAP TEN
-1F520 ; [*1358.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
-1F521 ; [*1359.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
-1F522 ; [*135A.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
-1F523 ; [*135B.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
-1F524 ; [*135C.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
-1F525 ; [*135D.0020.0002.1F525] # FIRE
-1F526 ; [*135E.0020.0002.1F526] # ELECTRIC TORCH
-1F527 ; [*135F.0020.0002.1F527] # WRENCH
-1F528 ; [*1360.0020.0002.1F528] # HAMMER
-1F529 ; [*1361.0020.0002.1F529] # NUT AND BOLT
-1F52A ; [*1362.0020.0002.1F52A] # HOCHO
-1F52B ; [*1363.0020.0002.1F52B] # PISTOL
-1F52C ; [*1364.0020.0002.1F52C] # MICROSCOPE
-1F52D ; [*1365.0020.0002.1F52D] # TELESCOPE
-1F52E ; [*1366.0020.0002.1F52E] # CRYSTAL BALL
-1F52F ; [*1367.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
-1F530 ; [*1368.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
-1F531 ; [*1369.0020.0002.1F531] # TRIDENT EMBLEM
-1F532 ; [*136A.0020.0002.1F532] # BLACK SQUARE BUTTON
-1F533 ; [*136B.0020.0002.1F533] # WHITE SQUARE BUTTON
-1F534 ; [*136C.0020.0002.1F534] # LARGE RED CIRCLE
-1F535 ; [*136D.0020.0002.1F535] # LARGE BLUE CIRCLE
-1F536 ; [*136E.0020.0002.1F536] # LARGE ORANGE DIAMOND
-1F537 ; [*136F.0020.0002.1F537] # LARGE BLUE DIAMOND
-1F538 ; [*1370.0020.0002.1F538] # SMALL ORANGE DIAMOND
-1F539 ; [*1371.0020.0002.1F539] # SMALL BLUE DIAMOND
-1F53A ; [*1372.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
-1F53B ; [*1373.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
-1F53C ; [*1374.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
-1F53D ; [*1375.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
-1F540 ; [*1376.0020.0002.1F540] # CIRCLED CROSS POMMEE
-1F541 ; [*1377.0020.0002.1F541] # CROSS POMMEE WITH HALF-CIRCLE BELOW
-1F542 ; [*1378.0020.0002.1F542] # CROSS POMMEE
-1F543 ; [*1379.0020.0002.1F543] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
-1F550 ; [*137A.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
-1F551 ; [*137B.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
-1F552 ; [*137C.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
-1F553 ; [*137D.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
-1F554 ; [*137E.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
-1F555 ; [*137F.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
-1F556 ; [*1380.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
-1F557 ; [*1381.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
-1F558 ; [*1382.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
-1F559 ; [*1383.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
-1F55A ; [*1384.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
-1F55B ; [*1385.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
-1F55C ; [*1386.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
-1F55D ; [*1387.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
-1F55E ; [*1388.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
-1F55F ; [*1389.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
-1F560 ; [*138A.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
-1F561 ; [*138B.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
-1F562 ; [*138C.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
-1F563 ; [*138D.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
-1F564 ; [*138E.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
-1F565 ; [*138F.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
-1F566 ; [*1390.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
-1F567 ; [*1391.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
-1F5FB ; [*1392.0020.0002.1F5FB] # MOUNT FUJI
-1F5FC ; [*1393.0020.0002.1F5FC] # TOKYO TOWER
-1F5FD ; [*1394.0020.0002.1F5FD] # STATUE OF LIBERTY
-1F5FE ; [*1395.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
-1F5FF ; [*1396.0020.0002.1F5FF] # MOYAI
-1F600 ; [*1397.0020.0002.1F600] # GRINNING FACE
-1F601 ; [*1398.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
-1F602 ; [*1399.0020.0002.1F602] # FACE WITH TEARS OF JOY
-1F603 ; [*139A.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
-1F604 ; [*139B.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-1F605 ; [*139C.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-1F606 ; [*139D.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-1F607 ; [*139E.0020.0002.1F607] # SMILING FACE WITH HALO
-1F608 ; [*139F.0020.0002.1F608] # SMILING FACE WITH HORNS
-1F609 ; [*13A0.0020.0002.1F609] # WINKING FACE
-1F60A ; [*13A1.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
-1F60B ; [*13A2.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
-1F60C ; [*13A3.0020.0002.1F60C] # RELIEVED FACE
-1F60D ; [*13A4.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
-1F60E ; [*13A5.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
-1F60F ; [*13A6.0020.0002.1F60F] # SMIRKING FACE
-1F610 ; [*13A7.0020.0002.1F610] # NEUTRAL FACE
-1F611 ; [*13A8.0020.0002.1F611] # EXPRESSIONLESS FACE
-1F612 ; [*13A9.0020.0002.1F612] # UNAMUSED FACE
-1F613 ; [*13AA.0020.0002.1F613] # FACE WITH COLD SWEAT
-1F614 ; [*13AB.0020.0002.1F614] # PENSIVE FACE
-1F615 ; [*13AC.0020.0002.1F615] # CONFUSED FACE
-1F616 ; [*13AD.0020.0002.1F616] # CONFOUNDED FACE
-1F617 ; [*13AE.0020.0002.1F617] # KISSING FACE
-1F618 ; [*13AF.0020.0002.1F618] # FACE THROWING A KISS
-1F619 ; [*13B0.0020.0002.1F619] # KISSING FACE WITH SMILING EYES
-1F61A ; [*13B1.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
-1F61B ; [*13B2.0020.0002.1F61B] # FACE WITH STUCK-OUT TONGUE
-1F61C ; [*13B3.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-1F61D ; [*13B4.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-1F61E ; [*13B5.0020.0002.1F61E] # DISAPPOINTED FACE
-1F61F ; [*13B6.0020.0002.1F61F] # WORRIED FACE
-1F620 ; [*13B7.0020.0002.1F620] # ANGRY FACE
-1F621 ; [*13B8.0020.0002.1F621] # POUTING FACE
-1F622 ; [*13B9.0020.0002.1F622] # CRYING FACE
-1F623 ; [*13BA.0020.0002.1F623] # PERSEVERING FACE
-1F624 ; [*13BB.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
-1F625 ; [*13BC.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
-1F626 ; [*13BD.0020.0002.1F626] # FROWNING FACE WITH OPEN MOUTH
-1F627 ; [*13BE.0020.0002.1F627] # ANGUISHED FACE
-1F628 ; [*13BF.0020.0002.1F628] # FEARFUL FACE
-1F629 ; [*13C0.0020.0002.1F629] # WEARY FACE
-1F62A ; [*13C1.0020.0002.1F62A] # SLEEPY FACE
-1F62B ; [*13C2.0020.0002.1F62B] # TIRED FACE
-1F62C ; [*13C3.0020.0002.1F62C] # GRIMACING FACE
-1F62D ; [*13C4.0020.0002.1F62D] # LOUDLY CRYING FACE
-1F62E ; [*13C5.0020.0002.1F62E] # FACE WITH OPEN MOUTH
-1F62F ; [*13C6.0020.0002.1F62F] # HUSHED FACE
-1F630 ; [*13C7.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
-1F631 ; [*13C8.0020.0002.1F631] # FACE SCREAMING IN FEAR
-1F632 ; [*13C9.0020.0002.1F632] # ASTONISHED FACE
-1F633 ; [*13CA.0020.0002.1F633] # FLUSHED FACE
-1F634 ; [*13CB.0020.0002.1F634] # SLEEPING FACE
-1F635 ; [*13CC.0020.0002.1F635] # DIZZY FACE
-1F636 ; [*13CD.0020.0002.1F636] # FACE WITHOUT MOUTH
-1F637 ; [*13CE.0020.0002.1F637] # FACE WITH MEDICAL MASK
-1F638 ; [*13CF.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
-1F639 ; [*13D0.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
-1F63A ; [*13D1.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
-1F63B ; [*13D2.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
-1F63C ; [*13D3.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
-1F63D ; [*13D4.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
-1F63E ; [*13D5.0020.0002.1F63E] # POUTING CAT FACE
-1F63F ; [*13D6.0020.0002.1F63F] # CRYING CAT FACE
-1F640 ; [*13D7.0020.0002.1F640] # WEARY CAT FACE
-1F645 ; [*13D8.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
-1F646 ; [*13D9.0020.0002.1F646] # FACE WITH OK GESTURE
-1F647 ; [*13DA.0020.0002.1F647] # PERSON BOWING DEEPLY
-1F648 ; [*13DB.0020.0002.1F648] # SEE-NO-EVIL MONKEY
-1F649 ; [*13DC.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
-1F64A ; [*13DD.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
-1F64B ; [*13DE.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
-1F64C ; [*13DF.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
-1F64D ; [*13E0.0020.0002.1F64D] # PERSON FROWNING
-1F64E ; [*13E1.0020.0002.1F64E] # PERSON WITH POUTING FACE
-1F64F ; [*13E2.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
-1F680 ; [*13E3.0020.0002.1F680] # ROCKET
-1F681 ; [*13E4.0020.0002.1F681] # HELICOPTER
-1F682 ; [*13E5.0020.0002.1F682] # STEAM LOCOMOTIVE
-1F683 ; [*13E6.0020.0002.1F683] # RAILWAY CAR
-1F684 ; [*13E7.0020.0002.1F684] # HIGH-SPEED TRAIN
-1F685 ; [*13E8.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
-1F686 ; [*13E9.0020.0002.1F686] # TRAIN
-1F687 ; [*13EA.0020.0002.1F687] # METRO
-1F688 ; [*13EB.0020.0002.1F688] # LIGHT RAIL
-1F689 ; [*13EC.0020.0002.1F689] # STATION
-1F68A ; [*13ED.0020.0002.1F68A] # TRAM
-1F68B ; [*13EE.0020.0002.1F68B] # TRAM CAR
-1F68C ; [*13EF.0020.0002.1F68C] # BUS
-1F68D ; [*13F0.0020.0002.1F68D] # ONCOMING BUS
-1F68E ; [*13F1.0020.0002.1F68E] # TROLLEYBUS
-1F68F ; [*13F2.0020.0002.1F68F] # BUS STOP
-1F690 ; [*13F3.0020.0002.1F690] # MINIBUS
-1F691 ; [*13F4.0020.0002.1F691] # AMBULANCE
-1F692 ; [*13F5.0020.0002.1F692] # FIRE ENGINE
-1F693 ; [*13F6.0020.0002.1F693] # POLICE CAR
-1F694 ; [*13F7.0020.0002.1F694] # ONCOMING POLICE CAR
-1F695 ; [*13F8.0020.0002.1F695] # TAXI
-1F696 ; [*13F9.0020.0002.1F696] # ONCOMING TAXI
-1F697 ; [*13FA.0020.0002.1F697] # AUTOMOBILE
-1F698 ; [*13FB.0020.0002.1F698] # ONCOMING AUTOMOBILE
-1F699 ; [*13FC.0020.0002.1F699] # RECREATIONAL VEHICLE
-1F69A ; [*13FD.0020.0002.1F69A] # DELIVERY TRUCK
-1F69B ; [*13FE.0020.0002.1F69B] # ARTICULATED LORRY
-1F69C ; [*13FF.0020.0002.1F69C] # TRACTOR
-1F69D ; [*1400.0020.0002.1F69D] # MONORAIL
-1F69E ; [*1401.0020.0002.1F69E] # MOUNTAIN RAILWAY
-1F69F ; [*1402.0020.0002.1F69F] # SUSPENSION RAILWAY
-1F6A0 ; [*1403.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
-1F6A1 ; [*1404.0020.0002.1F6A1] # AERIAL TRAMWAY
-1F6A2 ; [*1405.0020.0002.1F6A2] # SHIP
-1F6A3 ; [*1406.0020.0002.1F6A3] # ROWBOAT
-1F6A4 ; [*1407.0020.0002.1F6A4] # SPEEDBOAT
-1F6A5 ; [*1408.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
-1F6A6 ; [*1409.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
-1F6A7 ; [*140A.0020.0002.1F6A7] # CONSTRUCTION SIGN
-1F6A8 ; [*140B.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
-1F6A9 ; [*140C.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
-1F6AA ; [*140D.0020.0002.1F6AA] # DOOR
-1F6AB ; [*140E.0020.0002.1F6AB] # NO ENTRY SIGN
-1F6AC ; [*140F.0020.0002.1F6AC] # SMOKING SYMBOL
-1F6AD ; [*1410.0020.0002.1F6AD] # NO SMOKING SYMBOL
-1F6AE ; [*1411.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
-1F6AF ; [*1412.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
-1F6B0 ; [*1413.0020.0002.1F6B0] # POTABLE WATER SYMBOL
-1F6B1 ; [*1414.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
-1F6B2 ; [*1415.0020.0002.1F6B2] # BICYCLE
-1F6B3 ; [*1416.0020.0002.1F6B3] # NO BICYCLES
-1F6B4 ; [*1417.0020.0002.1F6B4] # BICYCLIST
-1F6B5 ; [*1418.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
-1F6B6 ; [*1419.0020.0002.1F6B6] # PEDESTRIAN
-1F6B7 ; [*141A.0020.0002.1F6B7] # NO PEDESTRIANS
-1F6B8 ; [*141B.0020.0002.1F6B8] # CHILDREN CROSSING
-1F6B9 ; [*141C.0020.0002.1F6B9] # MENS SYMBOL
-1F6BA ; [*141D.0020.0002.1F6BA] # WOMENS SYMBOL
-1F6BB ; [*141E.0020.0002.1F6BB] # RESTROOM
-1F6BC ; [*141F.0020.0002.1F6BC] # BABY SYMBOL
-1F6BD ; [*1420.0020.0002.1F6BD] # TOILET
-1F6BE ; [*1421.0020.0002.1F6BE] # WATER CLOSET
-1F6BF ; [*1422.0020.0002.1F6BF] # SHOWER
-1F6C0 ; [*1423.0020.0002.1F6C0] # BATH
-1F6C1 ; [*1424.0020.0002.1F6C1] # BATHTUB
-1F6C2 ; [*1425.0020.0002.1F6C2] # PASSPORT CONTROL
-1F6C3 ; [*1426.0020.0002.1F6C3] # CUSTOMS
-1F6C4 ; [*1427.0020.0002.1F6C4] # BAGGAGE CLAIM
-1F6C5 ; [*1428.0020.0002.1F6C5] # LEFT LUGGAGE
-1F700 ; [*1429.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
-1F701 ; [*142A.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
-1F702 ; [*142B.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
-1F703 ; [*142C.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
-1F704 ; [*142D.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
-1F705 ; [*142E.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
-1F706 ; [*142F.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
-1F707 ; [*1430.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
-1F708 ; [*1431.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
-1F709 ; [*1432.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
-1F70A ; [*1433.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
-1F70B ; [*1434.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
-1F70C ; [*1435.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
-1F70D ; [*1436.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
-1F70E ; [*1437.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
-1F70F ; [*1438.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
-1F710 ; [*1439.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
-1F711 ; [*143A.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
-1F712 ; [*143B.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
-1F713 ; [*143C.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
-1F714 ; [*143D.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
-1F715 ; [*143E.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
-1F716 ; [*143F.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
-1F717 ; [*1440.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
-1F718 ; [*1441.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
-1F719 ; [*1442.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
-1F71A ; [*1443.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
-1F71B ; [*1444.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
-1F71C ; [*1445.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
-1F71D ; [*1446.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
-1F71E ; [*1447.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
-1F71F ; [*1448.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
-1F720 ; [*1449.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
-1F721 ; [*144A.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
-1F722 ; [*144B.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
-1F723 ; [*144C.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
-1F724 ; [*144D.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
-1F725 ; [*144E.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
-1F726 ; [*144F.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
-1F727 ; [*1450.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
-1F728 ; [*1451.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
-1F729 ; [*1452.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
-1F72A ; [*1453.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
-1F72B ; [*1454.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
-1F72C ; [*1455.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
-1F72D ; [*1456.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
-1F72E ; [*1457.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
-1F72F ; [*1458.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
-1F730 ; [*1459.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
-1F731 ; [*145A.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
-1F732 ; [*145B.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
-1F733 ; [*145C.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
-1F734 ; [*145D.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
-1F735 ; [*145E.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
-1F736 ; [*145F.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
-1F737 ; [*1460.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
-1F738 ; [*1461.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
-1F739 ; [*1462.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-1F73A ; [*1463.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
-1F73B ; [*1464.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
-1F73C ; [*1465.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
-1F73D ; [*1466.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
-1F73E ; [*1467.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
-1F73F ; [*1468.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
-1F740 ; [*1469.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
-1F741 ; [*146A.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
-1F742 ; [*146B.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
-1F743 ; [*146C.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
-1F744 ; [*146D.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
-1F745 ; [*146E.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
-1F746 ; [*146F.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
-1F747 ; [*1470.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
-1F748 ; [*1471.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
-1F749 ; [*1472.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
-1F74A ; [*1473.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
-1F74B ; [*1474.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
-1F74C ; [*1475.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
-1F74D ; [*1476.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
-1F74E ; [*1477.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
-1F74F ; [*1478.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
-1F750 ; [*1479.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
-1F751 ; [*147A.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
-1F752 ; [*147B.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
-1F753 ; [*147C.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
-1F754 ; [*147D.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
-1F755 ; [*147E.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
-1F756 ; [*147F.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
-1F757 ; [*1480.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
-1F758 ; [*1481.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
-1F759 ; [*1482.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
-1F75A ; [*1483.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
-1F75B ; [*1484.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
-1F75C ; [*1485.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
-1F75D ; [*1486.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
-1F75E ; [*1487.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
-1F75F ; [*1488.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
-1F760 ; [*1489.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
-1F761 ; [*148A.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
-1F762 ; [*148B.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
-1F763 ; [*148C.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
-1F764 ; [*148D.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
-1F765 ; [*148E.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
-1F766 ; [*148F.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
-1F767 ; [*1490.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
-1F768 ; [*1491.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
-1F769 ; [*1492.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
-1F76A ; [*1493.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
-1F76B ; [*1494.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
-1F76C ; [*1495.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
-1F76D ; [*1496.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
-1F76E ; [*1497.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
-1F76F ; [*1498.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
-1F770 ; [*1499.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
-1F771 ; [*149A.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
-1F772 ; [*149B.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
-1F773 ; [*149C.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
-0486 ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA
-2CF1 ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS
-0314 ; [.0000.002A.0002.0314] # COMBINING REVERSED COMMA ABOVE
-0485 ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA
-2CF0 ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER
-0301 ; [.0000.0032.0002.0301] # COMBINING ACUTE ACCENT
-0341 ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK
-0954 ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT
-0300 ; [.0000.0035.0002.0300] # COMBINING GRAVE ACCENT
-0340 ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK
-0953 ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT
-0306 ; [.0000.0037.0002.0306] # COMBINING BREVE
-0302 ; [.0000.003C.0002.0302] # COMBINING CIRCUMFLEX ACCENT
-030C ; [.0000.0041.0002.030C] # COMBINING CARON
-030A ; [.0000.0043.0002.030A] # COMBINING RING ABOVE
-0342 ; [.0000.0045.0002.0342] # COMBINING GREEK PERISPOMENI
-0308 ; [.0000.0047.0002.0308] # COMBINING DIAERESIS
-0344 ; [.0000.0047.0002.0308][.0000.0032.0002.0301] # COMBINING GREEK DIALYTIKA TONOS
-030B ; [.0000.004D.0002.030B] # COMBINING DOUBLE ACUTE ACCENT
-0303 ; [.0000.004E.0002.0303] # COMBINING TILDE
-0307 ; [.0000.0052.0002.0307] # COMBINING DOT ABOVE
-0338 ; [.0000.0054.0002.0338] # COMBINING LONG SOLIDUS OVERLAY
-0327 ; [.0000.0056.0002.0327] # COMBINING CEDILLA
-0328 ; [.0000.0059.0002.0328] # COMBINING OGONEK
-0304 ; [.0000.005B.0002.0304] # COMBINING MACRON
-030D ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE
-030E ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE
-0312 ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE
-0315 ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT
-031A ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE
-033D ; [.0000.005F.0002.033D] # COMBINING X ABOVE
-033E ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE
-033F ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE
-0346 ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE
-034A ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE
-034B ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE
-034C ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE
-0350 ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE
-0351 ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE
-0352 ; [.0000.005F.0002.0352] # COMBINING FERMATA
-0357 ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE
-035B ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE
-035D ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE
-035E ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON
-0484 ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION
-0487 ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE
-0741 ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA
-0745 ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE
-17CB ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC
-17CC ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT
-17CD ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT
-17CE ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT
-17CF ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA
-17D0 ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA
-17D1 ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM
-17DD ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN
-1DC0 ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT
-1DC1 ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT
-1DC3 ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK
-1DC4 ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE
-1DC5 ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON
-1DC6 ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE
-1DC7 ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON
-1DC8 ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE
-1DC9 ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE
-1DCB ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON
-1DCC ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE
-1DCD ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE
-1DCE ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE
-1DD1 ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE
-1DFE ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE
-20F0 ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE
-2CEF ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE
-A67C ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA
-A67D ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK
-0316 ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW
-0317 ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW
-0318 ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW
-0319 ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW
-031C ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW
-031D ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW
-031E ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW
-031F ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW
-0320 ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW
-0329 ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW
-032A ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW
-032B ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW
-032C ; [.0000.0060.0002.032C] # COMBINING CARON BELOW
-032F ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW
-0333 ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE
-033A ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW
-033B ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW
-033C ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW
-0347 ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW
-0348 ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW
-0349 ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW
-034D ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW
-034E ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW
-0353 ; [.0000.0060.0002.0353] # COMBINING X BELOW
-0354 ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW
-0355 ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW
-0356 ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0359 ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW
-035A ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW
-035C ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW
-035F ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW
-0362 ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0742 ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA
-0746 ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW
-0859 ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK
-085A ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK
-085B ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK
-1DC2 ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW
-1DCF ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW
-1DD0 ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW
-1DFC ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW
-1DFD ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW
-1DFF ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-20EC ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW
-20EF ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW
-10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW
-0336 ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY
-0337 ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY
-20D8 ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY
-20D9 ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY
-20DA ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY
-20E5 ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY
-20EA ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY
-20EB ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY
-20DD ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE
-20DE ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE
-20DF ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND
-20E0 ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH
-20E2 ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN
-20E3 ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP
-20E4 ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-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
-0361 ; [.0000.0082.0002.0361] # COMBINING DOUBLE INVERTED BREVE
-FE20 ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF
-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
-05B9 ; [.0000.008E.0002.05B9] # HEBREW POINT HOLAM
-05BA ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV
-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
-081D ; [.0000.0097.0002.081D] # SAMARITAN VOWEL SIGN E
-081E ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA
-081F ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA
-0820 ; [.0000.0098.0002.0820] # SAMARITAN VOWEL SIGN AA
-0821 ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A
-0822 ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A
-0823 ; [.0000.0099.0002.0823] # SAMARITAN VOWEL SIGN A
-0824 ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A
-0825 ; [.0000.009A.0002.0825] # SAMARITAN VOWEL SIGN SHORT A
-0826 ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U
-0827 ; [.0000.009B.0002.0827] # SAMARITAN VOWEL SIGN U
-0828 ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I
-0829 ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I
-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 OCCLUSION
-0819 ; [.0000.00A0.0002.0819] # SAMARITAN MARK DAGESH
-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
-FE70 ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM
-08F0 ; [.0000.00A3.0002.08F0] # ARABIC OPEN FATHATAN
-08E7 ; [.0000.00A4.0002.08E7] # ARABIC CURLY FATHATAN
-064C ; [.0000.00A5.0002.064C] # ARABIC DAMMATAN
-FE72 ; [.0000.00A5.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM
-FC5E ; [.0000.00A5.001A.FC5E][.0000.00BA.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
-08F1 ; [.0000.00A7.0002.08F1] # ARABIC OPEN DAMMATAN
-08E8 ; [.0000.00A8.0002.08E8] # ARABIC CURLY DAMMATAN
-064D ; [.0000.00A9.0002.064D] # ARABIC KASRATAN
-FE74 ; [.0000.00A9.001A.FE74] # ARABIC KASRATAN ISOLATED FORM
-FC5F ; [.0000.00A9.001A.FC5F][.0000.00BA.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
-08F2 ; [.0000.00AB.0002.08F2] # ARABIC OPEN KASRATAN
-08E9 ; [.0000.00AC.0002.08E9] # ARABIC CURLY KASRATAN
-064E ; [.0000.00AD.0002.064E] # ARABIC FATHA
-FE77 ; [.0000.00AD.0018.FE77] # ARABIC FATHA MEDIAL FORM
-FE76 ; [.0000.00AD.001A.FE76] # ARABIC FATHA ISOLATED FORM
-FCF2 ; [.0000.00AD.0018.FCF2][.0000.00BA.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
-FC60 ; [.0000.00AD.001A.FC60][.0000.00BA.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
-08E4 ; [.0000.00AF.0002.08E4] # ARABIC CURLY FATHA
-08F4 ; [.0000.00B0.0002.08F4] # ARABIC FATHA WITH RING
-08F5 ; [.0000.00B1.0002.08F5] # ARABIC FATHA WITH DOT ABOVE
-064F ; [.0000.00B2.0002.064F] # ARABIC DAMMA
-FE79 ; [.0000.00B2.0018.FE79] # ARABIC DAMMA MEDIAL FORM
-FE78 ; [.0000.00B2.001A.FE78] # ARABIC DAMMA ISOLATED FORM
-FCF3 ; [.0000.00B2.0018.FCF3][.0000.00BA.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
-FC61 ; [.0000.00B2.001A.FC61][.0000.00BA.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
-08E5 ; [.0000.00B4.0002.08E5] # ARABIC CURLY DAMMA
-08FE ; [.0000.00B5.0002.08FE] # ARABIC DAMMA WITH DOT
-0650 ; [.0000.00B6.0002.0650] # ARABIC KASRA
-FE7B ; [.0000.00B6.0018.FE7B] # ARABIC KASRA MEDIAL FORM
-FE7A ; [.0000.00B6.001A.FE7A] # ARABIC KASRA ISOLATED FORM
-FCF4 ; [.0000.00B6.0018.FCF4][.0000.00BA.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FC62 ; [.0000.00B6.001A.FC62][.0000.00BA.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
-08E6 ; [.0000.00B8.0002.08E6] # ARABIC CURLY KASRA
-08F6 ; [.0000.00B9.0002.08F6] # ARABIC KASRA WITH DOT BELOW
-0651 ; [.0000.00BA.0002.0651] # ARABIC SHADDA
-FE7D ; [.0000.00BA.0018.FE7D] # ARABIC SHADDA MEDIAL FORM
-FE7C ; [.0000.00BA.001A.FE7C] # ARABIC SHADDA ISOLATED FORM
-FC63 ; [.0000.00BA.001A.FC63][.0000.00D1.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-0652 ; [.0000.00BC.0002.0652] # ARABIC SUKUN
-FE7F ; [.0000.00BC.0018.FE7F] # ARABIC SUKUN MEDIAL FORM
-FE7E ; [.0000.00BC.001A.FE7E] # ARABIC SUKUN ISOLATED FORM
-0653 ; [.0000.00BD.0002.0653] # ARABIC MADDAH ABOVE
-0654 ; [.0000.00BE.0002.0654] # ARABIC HAMZA ABOVE
-0655 ; [.0000.00BF.0002.0655] # ARABIC HAMZA BELOW
-065F ; [.0000.00C0.0002.065F] # ARABIC WAVY HAMZA BELOW
-0656 ; [.0000.00C1.0002.0656] # ARABIC SUBSCRIPT ALEF
-0657 ; [.0000.00C2.0002.0657] # ARABIC INVERTED DAMMA
-0658 ; [.0000.00C3.0002.0658] # ARABIC MARK NOON GHUNNA
-0659 ; [.0000.00C4.0002.0659] # ARABIC ZWARAKAY
-065A ; [.0000.00C5.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
-065B ; [.0000.00C6.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C ; [.0000.00C7.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
-065D ; [.0000.00C8.0002.065D] # ARABIC REVERSED DAMMA
-065E ; [.0000.00C9.0002.065E] # ARABIC FATHA WITH TWO DOTS
-08F7 ; [.0000.00CA.0002.08F7] # ARABIC LEFT ARROWHEAD ABOVE
-08F8 ; [.0000.00CB.0002.08F8] # ARABIC RIGHT ARROWHEAD ABOVE
-08FD ; [.0000.00CC.0002.08FD] # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
-08FB ; [.0000.00CD.0002.08FB] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
-08FC ; [.0000.00CE.0002.08FC] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
-08F9 ; [.0000.00CF.0002.08F9] # ARABIC LEFT ARROWHEAD BELOW
-08FA ; [.0000.00D0.0002.08FA] # ARABIC RIGHT ARROWHEAD BELOW
-0670 ; [.0000.00D1.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
-0711 ; [.0000.00D2.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
-0730 ; [.0000.00D3.0002.0730] # SYRIAC PTHAHA ABOVE
-0731 ; [.0000.00D4.0002.0731] # SYRIAC PTHAHA BELOW
-0732 ; [.0000.00D5.0002.0732] # SYRIAC PTHAHA DOTTED
-0733 ; [.0000.00D6.0002.0733] # SYRIAC ZQAPHA ABOVE
-0734 ; [.0000.00D7.0002.0734] # SYRIAC ZQAPHA BELOW
-0735 ; [.0000.00D8.0002.0735] # SYRIAC ZQAPHA DOTTED
-0736 ; [.0000.00D9.0002.0736] # SYRIAC RBASA ABOVE
-0737 ; [.0000.00DA.0002.0737] # SYRIAC RBASA BELOW
-0738 ; [.0000.00DB.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739 ; [.0000.00DC.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
-073A ; [.0000.00DD.0002.073A] # SYRIAC HBASA ABOVE
-073B ; [.0000.00DE.0002.073B] # SYRIAC HBASA BELOW
-073C ; [.0000.00DF.0002.073C] # SYRIAC HBASA-ESASA DOTTED
-073D ; [.0000.00E0.0002.073D] # SYRIAC ESASA ABOVE
-073E ; [.0000.00E1.0002.073E] # SYRIAC ESASA BELOW
-073F ; [.0000.00E2.0002.073F] # SYRIAC RWAHA
-07EB ; [.0000.00E3.0002.07EB] # NKO COMBINING SHORT HIGH TONE
-07EC ; [.0000.00E4.0002.07EC] # NKO COMBINING SHORT LOW TONE
-07ED ; [.0000.00E5.0002.07ED] # NKO COMBINING SHORT RISING TONE
-07EE ; [.0000.00E6.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
-07EF ; [.0000.00E7.0002.07EF] # NKO COMBINING LONG HIGH TONE
-07F0 ; [.0000.00E8.0002.07F0] # NKO COMBINING LONG LOW TONE
-07F1 ; [.0000.00E9.0002.07F1] # NKO COMBINING LONG RISING TONE
-07F2 ; [.0000.00EA.0002.07F2] # NKO COMBINING NASALIZATION MARK
-07F3 ; [.0000.00EB.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
-135F ; [.0000.00EC.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
-135E ; [.0000.00ED.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
-135D ; [.0000.00EE.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
-A6F0 ; [.0000.00EF.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
-A6F1 ; [.0000.00F0.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
-093C ; [.0000.00F1.0002.093C] # DEVANAGARI SIGN NUKTA
-09BC ; [.0000.00F1.0002.09BC] # BENGALI SIGN NUKTA
-0A3C ; [.0000.00F1.0002.0A3C] # GURMUKHI SIGN NUKTA
-0ABC ; [.0000.00F1.0002.0ABC] # GUJARATI SIGN NUKTA
-0B3C ; [.0000.00F1.0002.0B3C] # ORIYA SIGN NUKTA
-0CBC ; [.0000.00F1.0002.0CBC] # KANNADA SIGN NUKTA
-1B34 ; [.0000.00F1.0002.1B34] # BALINESE SIGN REREKAN
-1BE6 ; [.0000.00F1.0002.1BE6] # BATAK SIGN TOMPI
-1C37 ; [.0000.00F1.0002.1C37] # LEPCHA SIGN NUKTA
-A9B3 ; [.0000.00F1.0002.A9B3] # JAVANESE SIGN CECAK TELU
-110BA ; [.0000.00F1.0002.110BA] # KAITHI SIGN NUKTA
-116B7 ; [.0000.00F1.0002.116B7] # TAKRI SIGN NUKTA
-0900 ; [.0000.00F2.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU
-0901 ; [.0000.00F2.0002.0901] # DEVANAGARI SIGN CANDRABINDU
-0981 ; [.0000.00F2.0002.0981] # BENGALI SIGN CANDRABINDU
-0A01 ; [.0000.00F2.0002.0A01] # GURMUKHI SIGN ADAK BINDI
-0A81 ; [.0000.00F2.0002.0A81] # GUJARATI SIGN CANDRABINDU
-0B01 ; [.0000.00F2.0002.0B01] # ORIYA SIGN CANDRABINDU
-0C01 ; [.0000.00F2.0002.0C01] # TELUGU SIGN CANDRABINDU
-1B00 ; [.0000.00F2.0002.1B00] # BALINESE SIGN ULU RICEM
-1B01 ; [.0000.00F2.0002.1B01] # BALINESE SIGN ULU CANDRA
-A980 ; [.0000.00F2.0002.A980] # JAVANESE SIGN PANYANGGA
-11000 ; [.0000.00F2.0002.11000] # BRAHMI SIGN CANDRABINDU
-11080 ; [.0000.00F2.0002.11080] # KAITHI SIGN CANDRABINDU
-11100 ; [.0000.00F2.0002.11100] # CHAKMA SIGN CANDRABINDU
-11180 ; [.0000.00F2.0002.11180] # SHARADA SIGN CANDRABINDU
-0902 ; [.0000.00F3.0002.0902] # DEVANAGARI SIGN ANUSVARA
-0982 ; [.0000.00F3.0002.0982] # BENGALI SIGN ANUSVARA
-0A02 ; [.0000.00F3.0002.0A02] # GURMUKHI SIGN BINDI
-0A82 ; [.0000.00F3.0002.0A82] # GUJARATI SIGN ANUSVARA
-0B02 ; [.0000.00F3.0002.0B02] # ORIYA SIGN ANUSVARA
-0B82 ; [.0000.00F3.0002.0B82] # TAMIL SIGN ANUSVARA
-0C02 ; [.0000.00F3.0002.0C02] # TELUGU SIGN ANUSVARA
-0C82 ; [.0000.00F3.0002.0C82] # KANNADA SIGN ANUSVARA
-0D02 ; [.0000.00F3.0002.0D02] # MALAYALAM SIGN ANUSVARA
-0D82 ; [.0000.00F3.0002.0D82] # SINHALA SIGN ANUSVARAYA
-0F7E ; [.0000.00F3.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
-1036 ; [.0000.00F3.0002.1036] # MYANMAR SIGN ANUSVARA
-17C6 ; [.0000.00F3.0002.17C6] # KHMER SIGN NIKAHIT
-1A74 ; [.0000.00F3.0002.1A74] # TAI THAM SIGN MAI KANG
-1B02 ; [.0000.00F3.0002.1B02] # BALINESE SIGN CECEK
-1B80 ; [.0000.00F3.0002.1B80] # SUNDANESE SIGN PANYECEK
-1CED ; [.0000.00F3.0002.1CED] # VEDIC SIGN TIRYAK
-A80B ; [.0000.00F3.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
-A880 ; [.0000.00F3.0002.A880] # SAURASHTRA SIGN ANUSVARA
-A981 ; [.0000.00F3.0002.A981] # JAVANESE SIGN CECAK
-10A0E ; [.0000.00F3.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
-11001 ; [.0000.00F3.0002.11001] # BRAHMI SIGN ANUSVARA
-11081 ; [.0000.00F3.0002.11081] # KAITHI SIGN ANUSVARA
-11101 ; [.0000.00F3.0002.11101] # CHAKMA SIGN ANUSVARA
-11181 ; [.0000.00F3.0002.11181] # SHARADA SIGN ANUSVARA
-116AB ; [.0000.00F3.0002.116AB] # TAKRI SIGN ANUSVARA
-0903 ; [.0000.00F4.0002.0903] # DEVANAGARI SIGN VISARGA
-0983 ; [.0000.00F4.0002.0983] # BENGALI SIGN VISARGA
-0A03 ; [.0000.00F4.0002.0A03] # GURMUKHI SIGN VISARGA
-0A83 ; [.0000.00F4.0002.0A83] # GUJARATI SIGN VISARGA
-0B03 ; [.0000.00F4.0002.0B03] # ORIYA SIGN VISARGA
-0C03 ; [.0000.00F4.0002.0C03] # TELUGU SIGN VISARGA
-0C83 ; [.0000.00F4.0002.0C83] # KANNADA SIGN VISARGA
-0D03 ; [.0000.00F4.0002.0D03] # MALAYALAM SIGN VISARGA
-0D83 ; [.0000.00F4.0002.0D83] # SINHALA SIGN VISARGAYA
-0F7F ; [.0000.00F4.0002.0F7F] # TIBETAN SIGN RNAM BCAD
-1038 ; [.0000.00F4.0002.1038] # MYANMAR SIGN VISARGA
-17C7 ; [.0000.00F4.0002.17C7] # KHMER SIGN REAHMUK
-1B04 ; [.0000.00F4.0002.1B04] # BALINESE SIGN BISAH
-1B82 ; [.0000.00F4.0002.1B82] # SUNDANESE SIGN PANGWISAD
-1CF2 ; [.0000.00F4.0002.1CF2] # VEDIC SIGN ARDHAVISARGA
-1CF3 ; [.0000.00F4.0002.1CF3] # VEDIC SIGN ROTATED ARDHAVISARGA
-A881 ; [.0000.00F4.0002.A881] # SAURASHTRA SIGN VISARGA
-A983 ; [.0000.00F4.0002.A983] # JAVANESE SIGN WIGNYAN
-10A0F ; [.0000.00F4.0002.10A0F] # KHAROSHTHI SIGN VISARGA
-11002 ; [.0000.00F4.0002.11002] # BRAHMI SIGN VISARGA
-11082 ; [.0000.00F4.0002.11082] # KAITHI SIGN VISARGA
-11102 ; [.0000.00F4.0002.11102] # CHAKMA SIGN VISARGA
-11182 ; [.0000.00F4.0002.11182] # SHARADA SIGN VISARGA
-116AC ; [.0000.00F4.0002.116AC] # TAKRI SIGN VISARGA
-0A70 ; [.0000.00F5.0002.0A70] # GURMUKHI TIPPI
-0A71 ; [.0000.00F6.0002.0A71] # GURMUKHI ADDAK
-1B03 ; [.0000.00F7.0002.1B03] # BALINESE SIGN SURANG
-A982 ; [.0000.00F8.0002.A982] # JAVANESE SIGN LAYAR
-1B81 ; [.0000.00F9.0002.1B81] # SUNDANESE SIGN PANGLAYAR
-ABEC ; [.0000.00FA.0002.ABEC] # MEETEI MAYEK LUM IYEK
-10A38 ; [.0000.00FB.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
-10A39 ; [.0000.00FC.0002.10A39] # KHAROSHTHI SIGN CAUDA
-10A3A ; [.0000.00FD.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
-0E4E ; [.0000.00FE.0002.0E4E] # THAI CHARACTER YAMAKKAN
-0E47 ; [.0000.00FF.0002.0E47] # THAI CHARACTER MAITAIKHU
-0E48 ; [.0000.0100.0002.0E48] # THAI CHARACTER MAI EK
-0E49 ; [.0000.0101.0002.0E49] # THAI CHARACTER MAI THO
-0E4A ; [.0000.0102.0002.0E4A] # THAI CHARACTER MAI TRI
-0E4B ; [.0000.0103.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
-0E4C ; [.0000.0104.0002.0E4C] # THAI CHARACTER THANTHAKHAT
-0E4D ; [.0000.0105.0002.0E4D] # THAI CHARACTER NIKHAHIT
-0EC8 ; [.0000.0106.0002.0EC8] # LAO TONE MAI EK
-0EC9 ; [.0000.0107.0002.0EC9] # LAO TONE MAI THO
-0ECA ; [.0000.0108.0002.0ECA] # LAO TONE MAI TI
-0ECB ; [.0000.0109.0002.0ECB] # LAO TONE MAI CATAWA
-0ECC ; [.0000.010A.0002.0ECC] # LAO CANCELLATION MARK
-0ECD ; [.0000.010B.0002.0ECD] # LAO NIGGAHITA
-AABF ; [.0000.010C.0002.AABF] # TAI VIET TONE MAI EK
-AAC1 ; [.0000.010D.0002.AAC1] # TAI VIET TONE MAI THO
-0F39 ; [.0000.010E.0002.0F39] # TIBETAN MARK TSA -PHRU
-A92B ; [.0000.010F.0002.A92B] # KAYAH LI TONE PLOPHU
-A92C ; [.0000.0110.0002.A92C] # KAYAH LI TONE CALYA
-A92D ; [.0000.0111.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
-1037 ; [.0000.0112.0002.1037] # MYANMAR SIGN DOT BELOW
-108D ; [.0000.0113.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-17C8 ; [.0000.0114.0002.17C8] # KHMER SIGN YUUKALEAPINTU
-17C9 ; [.0000.0115.0002.17C9] # KHMER SIGN MUUSIKATOAN
-17CA ; [.0000.0116.0002.17CA] # KHMER SIGN TRIISAP
-1A75 ; [.0000.0117.0002.1A75] # TAI THAM SIGN TONE-1
-1A76 ; [.0000.0118.0002.1A76] # TAI THAM SIGN TONE-2
-1A77 ; [.0000.0119.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
-1A78 ; [.0000.011A.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
-1A79 ; [.0000.011B.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
-1A7A ; [.0000.011C.0002.1A7A] # TAI THAM SIGN RA HAAM
-1A7B ; [.0000.011D.0002.1A7B] # TAI THAM SIGN MAI SAM
-1A7C ; [.0000.011E.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
-1939 ; [.0000.011F.0002.1939] # LIMBU SIGN MUKPHRENG
-193A ; [.0000.0120.0002.193A] # LIMBU SIGN KEMPHRENG
-193B ; [.0000.0121.0002.193B] # LIMBU SIGN SA-I
-302A ; [.0000.0122.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
-302B ; [.0000.0123.0002.302B] # IDEOGRAPHIC RISING TONE MARK
-302C ; [.0000.0124.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
-302D ; [.0000.0125.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
-302E ; [.0000.0126.0002.302E] # HANGUL SINGLE DOT TONE MARK
-302F ; [.0000.0127.0002.302F] # HANGUL DOUBLE DOT TONE MARK
-3099 ; [.0000.0128.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-FF9E ; [.0000.0128.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK
-309A ; [.0000.0129.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-FF9F ; [.0000.0129.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-20D0 ; [.0000.012A.0002.20D0] # COMBINING LEFT HARPOON ABOVE
-20D1 ; [.0000.012B.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
-20D2 ; [.0000.012C.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
-20D3 ; [.0000.012C.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY
-20D4 ; [.0000.012D.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5 ; [.0000.012E.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
-20D6 ; [.0000.012F.0002.20D6] # COMBINING LEFT ARROW ABOVE
-20D7 ; [.0000.0130.0002.20D7] # COMBINING RIGHT ARROW ABOVE
-20DB ; [.0000.0131.0002.20DB] # COMBINING THREE DOTS ABOVE
-20DC ; [.0000.0132.0002.20DC] # COMBINING FOUR DOTS ABOVE
-20E1 ; [.0000.0133.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
-20E6 ; [.0000.0134.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7 ; [.0000.0135.0002.20E7] # COMBINING ANNUITY SYMBOL
-20E8 ; [.0000.0136.0002.20E8] # COMBINING TRIPLE UNDERDOT
-20E9 ; [.0000.0137.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
-101FD ; [.0000.0138.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-02D0 ; [.15A8.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
-02D1 ; [.15A9.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
-0971 ; [.15AA.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
-0E46 ; [.15AB.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
-0EC6 ; [.15AC.0020.0002.0EC6] # LAO KO LA
-17D7 ; [.15AD.0020.0002.17D7] # KHMER SIGN LEK TOO
-1AA7 ; [.15AE.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
-A9CF ; [.15AF.0020.0002.A9CF] # JAVANESE PANGRANGKEP
-AA70 ; [.15B0.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD ; [.15B1.0020.0002.AADD] # TAI VIET SYMBOL SAM
-AAF3 ; [.15B2.0020.0002.AAF3] # MEETEI MAYEK SYLLABLE REPETITION MARK
-AAF4 ; [.15B3.0020.0002.AAF4] # MEETEI MAYEK WORD REPETITION MARK
-3005 ; [.15B4.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
-303B ; [.15B5.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
-3031 ; [.15B6.0020.0002.3031] # VERTICAL KANA REPEAT MARK
-3032 ; [.15B6.0020.0002.3031][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-3033 ; [.15B7.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
-3034 ; [.15B7.0020.0002.3033][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-3035 ; [.15B8.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
-309D ; [.15B9.0020.0002.309D] # HIRAGANA ITERATION MARK
-309E ; [.15B9.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
-30FC ; [.15BA.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF70 ; [.15BA.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-30FD ; [.15BB.0020.0002.30FD] # KATAKANA ITERATION MARK
-30FE ; [.15BB.0020.0002.30FD][.0000.0128.0002.3099] # KATAKANA VOICED ITERATION MARK
-00A4 ; [.15BC.0020.0002.00A4] # CURRENCY SIGN
-00A2 ; [.15BD.0020.0002.00A2] # CENT SIGN
-FFE0 ; [.15BD.0020.0003.FFE0] # FULLWIDTH CENT SIGN
-0024 ; [.15BE.0020.0002.0024] # DOLLAR SIGN
-FF04 ; [.15BE.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN
-FE69 ; [.15BE.0020.000F.FE69] # SMALL DOLLAR SIGN
-00A3 ; [.15BF.0020.0002.00A3] # POUND SIGN
-FFE1 ; [.15BF.0020.0003.FFE1] # FULLWIDTH POUND SIGN
-00A5 ; [.15C0.0020.0002.00A5] # YEN SIGN
-FFE5 ; [.15C0.0020.0003.FFE5] # FULLWIDTH YEN SIGN
-058F ; [.15C1.0020.0002.058F] # ARMENIAN DRAM SIGN
-060B ; [.15C2.0020.0002.060B] # AFGHANI SIGN
-09F2 ; [.15C3.0020.0002.09F2] # BENGALI RUPEE MARK
-09F3 ; [.15C4.0020.0002.09F3] # BENGALI RUPEE SIGN
-09FB ; [.15C5.0020.0002.09FB] # BENGALI GANDA MARK
-0AF1 ; [.15C6.0020.0002.0AF1] # GUJARATI RUPEE SIGN
-A838 ; [.15C7.0020.0002.A838] # NORTH INDIC RUPEE MARK
-0BF9 ; [.15C8.0020.0002.0BF9] # TAMIL RUPEE SIGN
-0E3F ; [.15C9.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
-17DB ; [.15CA.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
-20A0 ; [.15CB.0020.0002.20A0] # EURO-CURRENCY SIGN
-20A1 ; [.15CC.0020.0002.20A1] # COLON SIGN
-20A2 ; [.15CD.0020.0002.20A2] # CRUZEIRO SIGN
-20A3 ; [.15CE.0020.0002.20A3] # FRENCH FRANC SIGN
-20A4 ; [.15CF.0020.0002.20A4] # LIRA SIGN
-20A5 ; [.15D0.0020.0002.20A5] # MILL SIGN
-20A6 ; [.15D1.0020.0002.20A6] # NAIRA SIGN
-20A7 ; [.15D2.0020.0002.20A7] # PESETA SIGN
-20A9 ; [.15D3.0020.0002.20A9] # WON SIGN
-FFE6 ; [.15D3.0020.0003.FFE6] # FULLWIDTH WON SIGN
-20AA ; [.15D4.0020.0002.20AA] # NEW SHEQEL SIGN
-20AB ; [.15D5.0020.0002.20AB] # DONG SIGN
-20AC ; [.15D6.0020.0002.20AC] # EURO SIGN
-20AD ; [.15D7.0020.0002.20AD] # KIP SIGN
-20AE ; [.15D8.0020.0002.20AE] # TUGRIK SIGN
-20AF ; [.15D9.0020.0002.20AF] # DRACHMA SIGN
-20B0 ; [.15DA.0020.0002.20B0] # GERMAN PENNY SIGN
-20B1 ; [.15DB.0020.0002.20B1] # PESO SIGN
-20B2 ; [.15DC.0020.0002.20B2] # GUARANI SIGN
-20B3 ; [.15DD.0020.0002.20B3] # AUSTRAL SIGN
-20B4 ; [.15DE.0020.0002.20B4] # HRYVNIA SIGN
-20B5 ; [.15DF.0020.0002.20B5] # CEDI SIGN
-20B6 ; [.15E0.0020.0002.20B6] # LIVRE TOURNOIS SIGN
-20B7 ; [.15E1.0020.0002.20B7] # SPESMILO SIGN
-20B8 ; [.15E2.0020.0002.20B8] # TENGE SIGN
-20B9 ; [.15E3.0020.0002.20B9] # INDIAN RUPEE SIGN
-20BA ; [.15E4.0020.0002.20BA] # TURKISH LIRA SIGN
-0030 ; [.15E5.0020.0002.0030] # DIGIT ZERO
-FF10 ; [.15E5.0020.0003.FF10] # FULLWIDTH DIGIT ZERO
-1F100 ; [.15E5.0020.0004.1F100][*0273.0020.001F.1F100] # DIGIT ZERO FULL STOP
-1F101 ; [.15E5.0020.0004.1F101][*0221.0020.001F.1F101] # DIGIT ZERO COMMA
-1D7CE ; [.15E5.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO
-1D7D8 ; [.15E5.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7E2 ; [.15E5.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7EC ; [.15E5.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7F6 ; [.15E5.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO
-24EA ; [.15E5.0020.0006.24EA] # CIRCLED DIGIT ZERO
-24FF ; [.15E5.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO
-2070 ; [.15E5.0020.0014.2070] # SUPERSCRIPT ZERO
-2080 ; [.15E5.0020.0015.2080] # SUBSCRIPT ZERO
-0660 ; [.15E5.0020.0002.0660][.0000.013F.0002.0660] # ARABIC-INDIC DIGIT ZERO
-06F0 ; [.15E5.0020.0002.06F0][.0000.0140.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0 ; [.15E5.0020.0002.07C0][.0000.0142.0002.07C0] # NKO DIGIT ZERO
-104A0 ; [.15E5.0020.0002.104A0][.0000.0144.0002.104A0] # OSMANYA DIGIT ZERO
-0966 ; [.15E5.0020.0002.0966][.0000.0145.0002.0966] # DEVANAGARI DIGIT ZERO
-09E6 ; [.15E5.0020.0002.09E6][.0000.0146.0002.09E6] # BENGALI DIGIT ZERO
-0A66 ; [.15E5.0020.0002.0A66][.0000.0147.0002.0A66] # GURMUKHI DIGIT ZERO
-0AE6 ; [.15E5.0020.0002.0AE6][.0000.0148.0002.0AE6] # GUJARATI DIGIT ZERO
-0B66 ; [.15E5.0020.0002.0B66][.0000.0149.0002.0B66] # ORIYA DIGIT ZERO
-0BE6 ; [.15E5.0020.0002.0BE6][.0000.014A.0002.0BE6] # TAMIL DIGIT ZERO
-0C66 ; [.15E5.0020.0002.0C66][.0000.014B.0002.0C66] # TELUGU DIGIT ZERO
-0C78 ; [.15E5.0020.0002.0C78][.0000.014B.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0CE6 ; [.15E5.0020.0002.0CE6][.0000.014C.0002.0CE6] # KANNADA DIGIT ZERO
-0D66 ; [.15E5.0020.0002.0D66][.0000.014D.0002.0D66] # MALAYALAM DIGIT ZERO
-ABF0 ; [.15E5.0020.0002.ABF0][.0000.014E.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
-A8D0 ; [.15E5.0020.0002.A8D0][.0000.014F.0002.A8D0] # SAURASHTRA DIGIT ZERO
-1946 ; [.15E5.0020.0002.1946][.0000.0150.0002.1946] # LIMBU DIGIT ZERO
-19D0 ; [.15E5.0020.0002.19D0][.0000.0151.0002.19D0] # NEW TAI LUE DIGIT ZERO
-1A80 ; [.15E5.0020.0002.1A80][.0000.0152.0002.1A80] # TAI THAM HORA DIGIT ZERO
-1A90 ; [.15E5.0020.0002.1A90][.0000.0153.0002.1A90] # TAI THAM THAM DIGIT ZERO
-0E50 ; [.15E5.0020.0002.0E50][.0000.0154.0002.0E50] # THAI DIGIT ZERO
-0ED0 ; [.15E5.0020.0002.0ED0][.0000.0155.0002.0ED0] # LAO DIGIT ZERO
-0F20 ; [.15E5.0020.0002.0F20][.0000.0156.0002.0F20] # TIBETAN DIGIT ZERO
-0F33 ; [.15E5.0020.0004.0F33][.0000.0156.0004.0F33] # TIBETAN DIGIT HALF ZERO
-1C40 ; [.15E5.0020.0002.1C40][.0000.0157.0002.1C40] # LEPCHA DIGIT ZERO
-A900 ; [.15E5.0020.0002.A900][.0000.0158.0002.A900] # KAYAH LI DIGIT ZERO
-1040 ; [.15E5.0020.0002.1040][.0000.0159.0002.1040] # MYANMAR DIGIT ZERO
-1090 ; [.15E5.0020.0002.1090][.0000.015A.0002.1090] # MYANMAR SHAN DIGIT ZERO
-11136 ; [.15E5.0020.0002.11136][.0000.015B.0002.11136] # CHAKMA DIGIT ZERO
-17E0 ; [.15E5.0020.0002.17E0][.0000.015C.0002.17E0] # KHMER DIGIT ZERO
-17F0 ; [.15E5.0020.0002.17F0][.0000.015D.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
-AA50 ; [.15E5.0020.0002.AA50][.0000.015E.0002.AA50] # CHAM DIGIT ZERO
-1B50 ; [.15E5.0020.0002.1B50][.0000.015F.0002.1B50] # BALINESE DIGIT ZERO
-A9D0 ; [.15E5.0020.0002.A9D0][.0000.0160.0002.A9D0] # JAVANESE DIGIT ZERO
-1BB0 ; [.15E5.0020.0002.1BB0][.0000.0161.0002.1BB0] # SUNDANESE DIGIT ZERO
-1810 ; [.15E5.0020.0002.1810][.0000.0162.0002.1810] # MONGOLIAN DIGIT ZERO
-1C50 ; [.15E5.0020.0002.1C50][.0000.0163.0002.1C50] # OL CHIKI DIGIT ZERO
-A620 ; [.15E5.0020.0002.A620][.0000.0164.0002.A620] # VAI DIGIT ZERO
-110F0 ; [.15E5.0020.0002.110F0][.0000.0165.0002.110F0] # SORA SOMPENG DIGIT ZERO
-3007 ; [.15E5.0020.0002.3007][.0000.0166.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-1018A ; [.15E5.0020.0002.1018A][.0000.0168.0002.1018A] # GREEK ZERO SIGN
-111D0 ; [.15E5.0020.0002.111D0][.0000.0172.0002.111D0] # SHARADA DIGIT ZERO
-116C0 ; [.15E5.0020.0002.116C0][.0000.0173.0002.116C0] # TAKRI DIGIT ZERO
-11066 ; [.15E5.0020.0002.11066][.0000.0174.0002.11066] # BRAHMI DIGIT ZERO
-2189 ; [.15E5.0020.001E.2189][*05AC.0020.001E.2189][.15E8.0020.001E.2189] # VULGAR FRACTION ZERO THIRDS
-3358 ; [.15E5.0020.0004.3358][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-0031 ; [.15E6.0020.0002.0031] # DIGIT ONE
-FF11 ; [.15E6.0020.0003.FF11] # FULLWIDTH DIGIT ONE
-2474 ; [*02FB.0020.0004.2474][.15E6.0020.0004.2474][*02FC.0020.001F.2474] # PARENTHESIZED DIGIT ONE
-2488 ; [.15E6.0020.0004.2488][*0273.0020.001F.2488] # DIGIT ONE FULL STOP
-1F102 ; [.15E6.0020.0004.1F102][*0221.0020.001F.1F102] # DIGIT ONE COMMA
-1D7CF ; [.15E6.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE
-1D7D9 ; [.15E6.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7E3 ; [.15E6.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7ED ; [.15E6.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7F7 ; [.15E6.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE
-2460 ; [.15E6.0020.0006.2460] # CIRCLED DIGIT ONE
-24F5 ; [.15E6.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE
-2776 ; [.15E6.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2780 ; [.15E6.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-278A ; [.15E6.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-00B9 ; [.15E6.0020.0014.00B9] # SUPERSCRIPT ONE
-2081 ; [.15E6.0020.0015.2081] # SUBSCRIPT ONE
-215F ; [.15E6.0020.001E.215F][*05AC.0020.001E.215F] # FRACTION NUMERATOR ONE
-0661 ; [.15E6.0020.0002.0661][.0000.013F.0002.0661] # ARABIC-INDIC DIGIT ONE
-06F1 ; [.15E6.0020.0002.06F1][.0000.0140.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
-10E60 ; [.15E6.0020.0002.10E60][.0000.0141.0002.10E60] # RUMI DIGIT ONE
-07C1 ; [.15E6.0020.0002.07C1][.0000.0142.0002.07C1] # NKO DIGIT ONE
-1369 ; [.15E6.0020.0002.1369][.0000.0143.0002.1369] # ETHIOPIC DIGIT ONE
-104A1 ; [.15E6.0020.0002.104A1][.0000.0144.0002.104A1] # OSMANYA DIGIT ONE
-0967 ; [.15E6.0020.0002.0967][.0000.0145.0002.0967] # DEVANAGARI DIGIT ONE
-09E7 ; [.15E6.0020.0002.09E7][.0000.0146.0002.09E7] # BENGALI DIGIT ONE
-0A67 ; [.15E6.0020.0002.0A67][.0000.0147.0002.0A67] # GURMUKHI DIGIT ONE
-0AE7 ; [.15E6.0020.0002.0AE7][.0000.0148.0002.0AE7] # GUJARATI DIGIT ONE
-0B67 ; [.15E6.0020.0002.0B67][.0000.0149.0002.0B67] # ORIYA DIGIT ONE
-0BE7 ; [.15E6.0020.0002.0BE7][.0000.014A.0002.0BE7] # TAMIL DIGIT ONE
-0C67 ; [.15E6.0020.0002.0C67][.0000.014B.0002.0C67] # TELUGU DIGIT ONE
-0C79 ; [.15E6.0020.0002.0C79][.0000.014B.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7C ; [.15E6.0020.0002.0C7C][.0000.014B.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0CE7 ; [.15E6.0020.0002.0CE7][.0000.014C.0002.0CE7] # KANNADA DIGIT ONE
-0D67 ; [.15E6.0020.0002.0D67][.0000.014D.0002.0D67] # MALAYALAM DIGIT ONE
-ABF1 ; [.15E6.0020.0002.ABF1][.0000.014E.0002.ABF1] # MEETEI MAYEK DIGIT ONE
-A8D1 ; [.15E6.0020.0002.A8D1][.0000.014F.0002.A8D1] # SAURASHTRA DIGIT ONE
-1947 ; [.15E6.0020.0002.1947][.0000.0150.0002.1947] # LIMBU DIGIT ONE
-19D1 ; [.15E6.0020.0002.19D1][.0000.0151.0002.19D1] # NEW TAI LUE DIGIT ONE
-19DA ; [.15E6.0020.0002.19DA][.0000.0151.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
-1A81 ; [.15E6.0020.0002.1A81][.0000.0152.0002.1A81] # TAI THAM HORA DIGIT ONE
-1A91 ; [.15E6.0020.0002.1A91][.0000.0153.0002.1A91] # TAI THAM THAM DIGIT ONE
-0E51 ; [.15E6.0020.0002.0E51][.0000.0154.0002.0E51] # THAI DIGIT ONE
-0ED1 ; [.15E6.0020.0002.0ED1][.0000.0155.0002.0ED1] # LAO DIGIT ONE
-0F21 ; [.15E6.0020.0002.0F21][.0000.0156.0002.0F21] # TIBETAN DIGIT ONE
-0F2A ; [.15E6.0020.0004.0F2A][.0000.0156.0004.0F2A] # TIBETAN DIGIT HALF ONE
-1C41 ; [.15E6.0020.0002.1C41][.0000.0157.0002.1C41] # LEPCHA DIGIT ONE
-A901 ; [.15E6.0020.0002.A901][.0000.0158.0002.A901] # KAYAH LI DIGIT ONE
-1041 ; [.15E6.0020.0002.1041][.0000.0159.0002.1041] # MYANMAR DIGIT ONE
-1091 ; [.15E6.0020.0002.1091][.0000.015A.0002.1091] # MYANMAR SHAN DIGIT ONE
-11137 ; [.15E6.0020.0002.11137][.0000.015B.0002.11137] # CHAKMA DIGIT ONE
-17E1 ; [.15E6.0020.0002.17E1][.0000.015C.0002.17E1] # KHMER DIGIT ONE
-17F1 ; [.15E6.0020.0002.17F1][.0000.015D.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
-AA51 ; [.15E6.0020.0002.AA51][.0000.015E.0002.AA51] # CHAM DIGIT ONE
-1B51 ; [.15E6.0020.0002.1B51][.0000.015F.0002.1B51] # BALINESE DIGIT ONE
-A9D1 ; [.15E6.0020.0002.A9D1][.0000.0160.0002.A9D1] # JAVANESE DIGIT ONE
-1BB1 ; [.15E6.0020.0002.1BB1][.0000.0161.0002.1BB1] # SUNDANESE DIGIT ONE
-1811 ; [.15E6.0020.0002.1811][.0000.0162.0002.1811] # MONGOLIAN DIGIT ONE
-1C51 ; [.15E6.0020.0002.1C51][.0000.0163.0002.1C51] # OL CHIKI DIGIT ONE
-A621 ; [.15E6.0020.0002.A621][.0000.0164.0002.A621] # VAI DIGIT ONE
-110F1 ; [.15E6.0020.0002.110F1][.0000.0165.0002.110F1] # SORA SOMPENG DIGIT ONE
-3021 ; [.15E6.0020.0002.3021][.0000.0166.0002.3021] # HANGZHOU NUMERAL ONE
-10107 ; [.15E6.0020.0002.10107][.0000.0167.0002.10107] # AEGEAN NUMBER ONE
-10142 ; [.15E6.0020.0002.10142][.0000.0168.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158 ; [.15E6.0020.0002.10158][.0000.0168.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 ; [.15E6.0020.0002.10159][.0000.0168.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
-1015A ; [.15E6.0020.0002.1015A][.0000.0168.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
-10320 ; [.15E6.0020.0002.10320][.0000.016A.0002.10320] # OLD ITALIC NUMERAL ONE
-103D1 ; [.15E6.0020.0002.103D1][.0000.016B.0002.103D1] # OLD PERSIAN NUMBER ONE
-12415 ; [.15E6.0020.0002.12415][.0000.016C.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; [.15E6.0020.0002.1241E][.0000.016C.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; [.15E6.0020.0002.1242C][.0000.016C.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; [.15E6.0020.0002.12434][.0000.016C.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; [.15E6.0020.0002.1244F][.0000.016C.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; [.15E6.0020.0002.12458][.0000.016C.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
-10A7D ; [.15E6.0020.0002.10A7D][.0000.016D.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
-10916 ; [.15E6.0020.0002.10916][.0000.016E.0002.10916] # PHOENICIAN NUMBER ONE
-10858 ; [.15E6.0020.0002.10858][.0000.016F.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
-10B58 ; [.15E6.0020.0002.10B58][.0000.0170.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B78 ; [.15E6.0020.0002.10B78][.0000.0171.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
-111D1 ; [.15E6.0020.0002.111D1][.0000.0172.0002.111D1] # SHARADA DIGIT ONE
-116C1 ; [.15E6.0020.0002.116C1][.0000.0173.0002.116C1] # TAKRI DIGIT ONE
-11067 ; [.15E6.0020.0002.11067][.0000.0174.0002.11067] # BRAHMI DIGIT ONE
-11052 ; [.15E6.0020.0002.11052][.0000.0175.0002.11052] # BRAHMI NUMBER ONE
-10A40 ; [.15E6.0020.0002.10A40][.0000.0176.0002.10A40] # KHAROSHTHI DIGIT ONE
-1D360 ; [.15E6.0020.0002.1D360][.0000.0177.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
-247D ; [*02FB.0020.0004.247D][.15E6.0020.0004.247D][.15E5.0020.0004.247D][*02FC.0020.001F.247D] # PARENTHESIZED NUMBER TEN
-2491 ; [.15E6.0020.0004.2491][.15E5.0020.0004.2491][*0273.0020.001F.2491] # NUMBER TEN FULL STOP
-2469 ; [.15E6.0020.0006.2469][.15E5.0020.0006.2469] # CIRCLED NUMBER TEN
-24FE ; [.15E6.0020.0006.24FE][.15E5.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN
-277F ; [.15E6.0020.0006.277F][.15E5.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2789 ; [.15E6.0020.0006.2789][.15E5.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-2793 ; [.15E6.0020.0006.2793][.15E5.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-3248 ; [.15E6.0020.0006.3248][.15E5.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE
-33E9 ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9 ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362 ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-247E ; [*02FB.0020.0004.247E][.15E6.0020.0004.247E][.15E6.0020.0004.247E][*02FC.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN
-2492 ; [.15E6.0020.0004.2492][.15E6.0020.0004.2492][*0273.0020.001F.2492] # NUMBER ELEVEN FULL STOP
-246A ; [.15E6.0020.0006.246A][.15E6.0020.0006.246A] # CIRCLED NUMBER ELEVEN
-24EB ; [.15E6.0020.0006.24EB][.15E6.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN
-2152 ; [.15E6.0020.001E.2152][*05AC.0020.001E.2152][.15E6.0020.001E.2152][.15E5.0020.001E.2152] # VULGAR FRACTION ONE TENTH
-33EA ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363 ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-247F ; [*02FB.0020.0004.247F][.15E6.0020.0004.247F][.15E7.0020.0004.247F][*02FC.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE
-2493 ; [.15E6.0020.0004.2493][.15E7.0020.0004.2493][*0273.0020.001F.2493] # NUMBER TWELVE FULL STOP
-246B ; [.15E6.0020.0006.246B][.15E7.0020.0006.246B] # CIRCLED NUMBER TWELVE
-24EC ; [.15E6.0020.0006.24EC][.15E7.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE
-00BD ; [.15E6.0020.001E.00BD][*05AC.0020.001E.00BD][.15E7.0020.001E.00BD] # VULGAR FRACTION ONE HALF
-33EB ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364 ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-2480 ; [*02FB.0020.0004.2480][.15E6.0020.0004.2480][.15E8.0020.0004.2480][*02FC.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN
-2494 ; [.15E6.0020.0004.2494][.15E8.0020.0004.2494][*0273.0020.001F.2494] # NUMBER THIRTEEN FULL STOP
-246C ; [.15E6.0020.0006.246C][.15E8.0020.0006.246C] # CIRCLED NUMBER THIRTEEN
-24ED ; [.15E6.0020.0006.24ED][.15E8.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN
-2153 ; [.15E6.0020.001E.2153][*05AC.0020.001E.2153][.15E8.0020.001E.2153] # VULGAR FRACTION ONE THIRD
-33EC ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365 ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-2481 ; [*02FB.0020.0004.2481][.15E6.0020.0004.2481][.15E9.0020.0004.2481][*02FC.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN
-2495 ; [.15E6.0020.0004.2495][.15E9.0020.0004.2495][*0273.0020.001F.2495] # NUMBER FOURTEEN FULL STOP
-246D ; [.15E6.0020.0006.246D][.15E9.0020.0006.246D] # CIRCLED NUMBER FOURTEEN
-24EE ; [.15E6.0020.0006.24EE][.15E9.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN
-00BC ; [.15E6.0020.001E.00BC][*05AC.0020.001E.00BC][.15E9.0020.001E.00BC] # VULGAR FRACTION ONE QUARTER
-33ED ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366 ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-2482 ; [*02FB.0020.0004.2482][.15E6.0020.0004.2482][.15EA.0020.0004.2482][*02FC.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN
-2496 ; [.15E6.0020.0004.2496][.15EA.0020.0004.2496][*0273.0020.001F.2496] # NUMBER FIFTEEN FULL STOP
-246E ; [.15E6.0020.0006.246E][.15EA.0020.0006.246E] # CIRCLED NUMBER FIFTEEN
-24EF ; [.15E6.0020.0006.24EF][.15EA.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN
-2155 ; [.15E6.0020.001E.2155][*05AC.0020.001E.2155][.15EA.0020.001E.2155] # VULGAR FRACTION ONE FIFTH
-33EE ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367 ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-2483 ; [*02FB.0020.0004.2483][.15E6.0020.0004.2483][.15EB.0020.0004.2483][*02FC.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN
-2497 ; [.15E6.0020.0004.2497][.15EB.0020.0004.2497][*0273.0020.001F.2497] # NUMBER SIXTEEN FULL STOP
-246F ; [.15E6.0020.0006.246F][.15EB.0020.0006.246F] # CIRCLED NUMBER SIXTEEN
-24F0 ; [.15E6.0020.0006.24F0][.15EB.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN
-2159 ; [.15E6.0020.001E.2159][*05AC.0020.001E.2159][.15EB.0020.001E.2159] # VULGAR FRACTION ONE SIXTH
-33EF ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368 ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-2484 ; [*02FB.0020.0004.2484][.15E6.0020.0004.2484][.15EC.0020.0004.2484][*02FC.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN
-2498 ; [.15E6.0020.0004.2498][.15EC.0020.0004.2498][*0273.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP
-2470 ; [.15E6.0020.0006.2470][.15EC.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN
-24F1 ; [.15E6.0020.0006.24F1][.15EC.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN
-2150 ; [.15E6.0020.001E.2150][*05AC.0020.001E.2150][.15EC.0020.001E.2150] # VULGAR FRACTION ONE SEVENTH
-33F0 ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369 ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-2485 ; [*02FB.0020.0004.2485][.15E6.0020.0004.2485][.15ED.0020.0004.2485][*02FC.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN
-2499 ; [.15E6.0020.0004.2499][.15ED.0020.0004.2499][*0273.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP
-2471 ; [.15E6.0020.0006.2471][.15ED.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN
-24F2 ; [.15E6.0020.0006.24F2][.15ED.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN
-215B ; [.15E6.0020.001E.215B][*05AC.0020.001E.215B][.15ED.0020.001E.215B] # VULGAR FRACTION ONE EIGHTH
-33F1 ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-2486 ; [*02FB.0020.0004.2486][.15E6.0020.0004.2486][.15EE.0020.0004.2486][*02FC.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN
-249A ; [.15E6.0020.0004.249A][.15EE.0020.0004.249A][*0273.0020.001F.249A] # NUMBER NINETEEN FULL STOP
-2472 ; [.15E6.0020.0006.2472][.15EE.0020.0006.2472] # CIRCLED NUMBER NINETEEN
-24F3 ; [.15E6.0020.0006.24F3][.15EE.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN
-2151 ; [.15E6.0020.001E.2151][*05AC.0020.001E.2151][.15EE.0020.001E.2151] # VULGAR FRACTION ONE NINTH
-33F2 ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0 ; [.15E6.0020.0004.33E0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0 ; [.15E6.0020.0004.32C0][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359 ; [.15E6.0020.0004.3359][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-0032 ; [.15E7.0020.0002.0032] # DIGIT TWO
-FF12 ; [.15E7.0020.0003.FF12] # FULLWIDTH DIGIT TWO
-2475 ; [*02FB.0020.0004.2475][.15E7.0020.0004.2475][*02FC.0020.001F.2475] # PARENTHESIZED DIGIT TWO
-2489 ; [.15E7.0020.0004.2489][*0273.0020.001F.2489] # DIGIT TWO FULL STOP
-1F103 ; [.15E7.0020.0004.1F103][*0221.0020.001F.1F103] # DIGIT TWO COMMA
-1D7D0 ; [.15E7.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO
-1D7DA ; [.15E7.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7E4 ; [.15E7.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7EE ; [.15E7.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7F8 ; [.15E7.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO
-2461 ; [.15E7.0020.0006.2461] # CIRCLED DIGIT TWO
-24F6 ; [.15E7.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO
-2777 ; [.15E7.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2781 ; [.15E7.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-278B ; [.15E7.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-00B2 ; [.15E7.0020.0014.00B2] # SUPERSCRIPT TWO
-2082 ; [.15E7.0020.0015.2082] # SUBSCRIPT TWO
-0662 ; [.15E7.0020.0002.0662][.0000.013F.0002.0662] # ARABIC-INDIC DIGIT TWO
-06F2 ; [.15E7.0020.0002.06F2][.0000.0140.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
-10E61 ; [.15E7.0020.0002.10E61][.0000.0141.0002.10E61] # RUMI DIGIT TWO
-07C2 ; [.15E7.0020.0002.07C2][.0000.0142.0002.07C2] # NKO DIGIT TWO
-136A ; [.15E7.0020.0002.136A][.0000.0143.0002.136A] # ETHIOPIC DIGIT TWO
-104A2 ; [.15E7.0020.0002.104A2][.0000.0144.0002.104A2] # OSMANYA DIGIT TWO
-0968 ; [.15E7.0020.0002.0968][.0000.0145.0002.0968] # DEVANAGARI DIGIT TWO
-09E8 ; [.15E7.0020.0002.09E8][.0000.0146.0002.09E8] # BENGALI DIGIT TWO
-0A68 ; [.15E7.0020.0002.0A68][.0000.0147.0002.0A68] # GURMUKHI DIGIT TWO
-0AE8 ; [.15E7.0020.0002.0AE8][.0000.0148.0002.0AE8] # GUJARATI DIGIT TWO
-0B68 ; [.15E7.0020.0002.0B68][.0000.0149.0002.0B68] # ORIYA DIGIT TWO
-0BE8 ; [.15E7.0020.0002.0BE8][.0000.014A.0002.0BE8] # TAMIL DIGIT TWO
-0C68 ; [.15E7.0020.0002.0C68][.0000.014B.0002.0C68] # TELUGU DIGIT TWO
-0C7A ; [.15E7.0020.0002.0C7A][.0000.014B.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7D ; [.15E7.0020.0002.0C7D][.0000.014B.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0CE8 ; [.15E7.0020.0002.0CE8][.0000.014C.0002.0CE8] # KANNADA DIGIT TWO
-0D68 ; [.15E7.0020.0002.0D68][.0000.014D.0002.0D68] # MALAYALAM DIGIT TWO
-ABF2 ; [.15E7.0020.0002.ABF2][.0000.014E.0002.ABF2] # MEETEI MAYEK DIGIT TWO
-A8D2 ; [.15E7.0020.0002.A8D2][.0000.014F.0002.A8D2] # SAURASHTRA DIGIT TWO
-1948 ; [.15E7.0020.0002.1948][.0000.0150.0002.1948] # LIMBU DIGIT TWO
-19D2 ; [.15E7.0020.0002.19D2][.0000.0151.0002.19D2] # NEW TAI LUE DIGIT TWO
-1A82 ; [.15E7.0020.0002.1A82][.0000.0152.0002.1A82] # TAI THAM HORA DIGIT TWO
-1A92 ; [.15E7.0020.0002.1A92][.0000.0153.0002.1A92] # TAI THAM THAM DIGIT TWO
-0E52 ; [.15E7.0020.0002.0E52][.0000.0154.0002.0E52] # THAI DIGIT TWO
-0ED2 ; [.15E7.0020.0002.0ED2][.0000.0155.0002.0ED2] # LAO DIGIT TWO
-0F22 ; [.15E7.0020.0002.0F22][.0000.0156.0002.0F22] # TIBETAN DIGIT TWO
-0F2B ; [.15E7.0020.0004.0F2B][.0000.0156.0004.0F2B] # TIBETAN DIGIT HALF TWO
-1C42 ; [.15E7.0020.0002.1C42][.0000.0157.0002.1C42] # LEPCHA DIGIT TWO
-A902 ; [.15E7.0020.0002.A902][.0000.0158.0002.A902] # KAYAH LI DIGIT TWO
-1042 ; [.15E7.0020.0002.1042][.0000.0159.0002.1042] # MYANMAR DIGIT TWO
-1092 ; [.15E7.0020.0002.1092][.0000.015A.0002.1092] # MYANMAR SHAN DIGIT TWO
-11138 ; [.15E7.0020.0002.11138][.0000.015B.0002.11138] # CHAKMA DIGIT TWO
-17E2 ; [.15E7.0020.0002.17E2][.0000.015C.0002.17E2] # KHMER DIGIT TWO
-17F2 ; [.15E7.0020.0002.17F2][.0000.015D.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
-AA52 ; [.15E7.0020.0002.AA52][.0000.015E.0002.AA52] # CHAM DIGIT TWO
-1B52 ; [.15E7.0020.0002.1B52][.0000.015F.0002.1B52] # BALINESE DIGIT TWO
-A9D2 ; [.15E7.0020.0002.A9D2][.0000.0160.0002.A9D2] # JAVANESE DIGIT TWO
-1BB2 ; [.15E7.0020.0002.1BB2][.0000.0161.0002.1BB2] # SUNDANESE DIGIT TWO
-1812 ; [.15E7.0020.0002.1812][.0000.0162.0002.1812] # MONGOLIAN DIGIT TWO
-1C52 ; [.15E7.0020.0002.1C52][.0000.0163.0002.1C52] # OL CHIKI DIGIT TWO
-A622 ; [.15E7.0020.0002.A622][.0000.0164.0002.A622] # VAI DIGIT TWO
-110F2 ; [.15E7.0020.0002.110F2][.0000.0165.0002.110F2] # SORA SOMPENG DIGIT TWO
-3022 ; [.15E7.0020.0002.3022][.0000.0166.0002.3022] # HANGZHOU NUMERAL TWO
-10108 ; [.15E7.0020.0002.10108][.0000.0167.0002.10108] # AEGEAN NUMBER TWO
-1015B ; [.15E7.0020.0002.1015B][.0000.0168.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C ; [.15E7.0020.0002.1015C][.0000.0168.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
-1015D ; [.15E7.0020.0002.1015D][.0000.0168.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E ; [.15E7.0020.0002.1015E][.0000.0168.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-103D2 ; [.15E7.0020.0002.103D2][.0000.016B.0002.103D2] # OLD PERSIAN NUMBER TWO
-12400 ; [.15E7.0020.0002.12400][.0000.016C.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; [.15E7.0020.0002.12416][.0000.016C.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; [.15E7.0020.0002.1241F][.0000.016C.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; [.15E7.0020.0002.12423][.0000.016C.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; [.15E7.0020.0002.1242D][.0000.016C.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; [.15E7.0020.0002.12435][.0000.016C.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; [.15E7.0020.0002.1244A][.0000.016C.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; [.15E7.0020.0002.12450][.0000.016C.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
-12459 ; [.15E7.0020.0002.12459][.0000.016C.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
-1091A ; [.15E7.0020.0002.1091A][.0000.016E.0002.1091A] # PHOENICIAN NUMBER TWO
-10859 ; [.15E7.0020.0002.10859][.0000.016F.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
-10B59 ; [.15E7.0020.0002.10B59][.0000.0170.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B79 ; [.15E7.0020.0002.10B79][.0000.0171.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
-111D2 ; [.15E7.0020.0002.111D2][.0000.0172.0002.111D2] # SHARADA DIGIT TWO
-116C2 ; [.15E7.0020.0002.116C2][.0000.0173.0002.116C2] # TAKRI DIGIT TWO
-11068 ; [.15E7.0020.0002.11068][.0000.0174.0002.11068] # BRAHMI DIGIT TWO
-11053 ; [.15E7.0020.0002.11053][.0000.0175.0002.11053] # BRAHMI NUMBER TWO
-10A41 ; [.15E7.0020.0002.10A41][.0000.0176.0002.10A41] # KHAROSHTHI DIGIT TWO
-1D361 ; [.15E7.0020.0002.1D361][.0000.0177.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
-2487 ; [*02FB.0020.0004.2487][.15E7.0020.0004.2487][.15E5.0020.0004.2487][*02FC.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY
-249B ; [.15E7.0020.0004.249B][.15E5.0020.0004.249B][*0273.0020.001F.249B] # NUMBER TWENTY FULL STOP
-2473 ; [.15E7.0020.0006.2473][.15E5.0020.0006.2473] # CIRCLED NUMBER TWENTY
-24F4 ; [.15E7.0020.0006.24F4][.15E5.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY
-3249 ; [.15E7.0020.0006.3249][.15E5.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
-33F3 ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-3251 ; [.15E7.0020.0006.3251][.15E6.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE
-33F4 ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-3252 ; [.15E7.0020.0006.3252][.15E7.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO
-33F5 ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-3253 ; [.15E7.0020.0006.3253][.15E8.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE
-2154 ; [.15E7.0020.001E.2154][*05AC.0020.001E.2154][.15E8.0020.001E.2154] # VULGAR FRACTION TWO THIRDS
-33F6 ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3254 ; [.15E7.0020.0006.3254][.15E9.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR
-33F7 ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370 ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3255 ; [.15E7.0020.0006.3255][.15EA.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE
-2156 ; [.15E7.0020.001E.2156][*05AC.0020.001E.2156][.15EA.0020.001E.2156] # VULGAR FRACTION TWO FIFTHS
-33F8 ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-3256 ; [.15E7.0020.0006.3256][.15EB.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX
-33F9 ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-3257 ; [.15E7.0020.0006.3257][.15EC.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN
-33FA ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-3258 ; [.15E7.0020.0006.3258][.15ED.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT
-33FB ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-3259 ; [.15E7.0020.0006.3259][.15EE.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE
-33FC ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1 ; [.15E7.0020.0004.33E1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1 ; [.15E7.0020.0004.32C1][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A ; [.15E7.0020.0004.335A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-0033 ; [.15E8.0020.0002.0033] # DIGIT THREE
-FF13 ; [.15E8.0020.0003.FF13] # FULLWIDTH DIGIT THREE
-2476 ; [*02FB.0020.0004.2476][.15E8.0020.0004.2476][*02FC.0020.001F.2476] # PARENTHESIZED DIGIT THREE
-248A ; [.15E8.0020.0004.248A][*0273.0020.001F.248A] # DIGIT THREE FULL STOP
-1F104 ; [.15E8.0020.0004.1F104][*0221.0020.001F.1F104] # DIGIT THREE COMMA
-1D7D1 ; [.15E8.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE
-1D7DB ; [.15E8.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7E5 ; [.15E8.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7EF ; [.15E8.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F9 ; [.15E8.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE
-2462 ; [.15E8.0020.0006.2462] # CIRCLED DIGIT THREE
-24F7 ; [.15E8.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE
-2778 ; [.15E8.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2782 ; [.15E8.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-278C ; [.15E8.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-00B3 ; [.15E8.0020.0014.00B3] # SUPERSCRIPT THREE
-2083 ; [.15E8.0020.0015.2083] # SUBSCRIPT THREE
-0663 ; [.15E8.0020.0002.0663][.0000.013F.0002.0663] # ARABIC-INDIC DIGIT THREE
-06F3 ; [.15E8.0020.0002.06F3][.0000.0140.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
-10E62 ; [.15E8.0020.0002.10E62][.0000.0141.0002.10E62] # RUMI DIGIT THREE
-07C3 ; [.15E8.0020.0002.07C3][.0000.0142.0002.07C3] # NKO DIGIT THREE
-136B ; [.15E8.0020.0002.136B][.0000.0143.0002.136B] # ETHIOPIC DIGIT THREE
-104A3 ; [.15E8.0020.0002.104A3][.0000.0144.0002.104A3] # OSMANYA DIGIT THREE
-0969 ; [.15E8.0020.0002.0969][.0000.0145.0002.0969] # DEVANAGARI DIGIT THREE
-09E9 ; [.15E8.0020.0002.09E9][.0000.0146.0002.09E9] # BENGALI DIGIT THREE
-0A69 ; [.15E8.0020.0002.0A69][.0000.0147.0002.0A69] # GURMUKHI DIGIT THREE
-0AE9 ; [.15E8.0020.0002.0AE9][.0000.0148.0002.0AE9] # GUJARATI DIGIT THREE
-0B69 ; [.15E8.0020.0002.0B69][.0000.0149.0002.0B69] # ORIYA DIGIT THREE
-0BE9 ; [.15E8.0020.0002.0BE9][.0000.014A.0002.0BE9] # TAMIL DIGIT THREE
-0C69 ; [.15E8.0020.0002.0C69][.0000.014B.0002.0C69] # TELUGU DIGIT THREE
-0C7B ; [.15E8.0020.0002.0C7B][.0000.014B.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7E ; [.15E8.0020.0002.0C7E][.0000.014B.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CE9 ; [.15E8.0020.0002.0CE9][.0000.014C.0002.0CE9] # KANNADA DIGIT THREE
-0D69 ; [.15E8.0020.0002.0D69][.0000.014D.0002.0D69] # MALAYALAM DIGIT THREE
-ABF3 ; [.15E8.0020.0002.ABF3][.0000.014E.0002.ABF3] # MEETEI MAYEK DIGIT THREE
-A8D3 ; [.15E8.0020.0002.A8D3][.0000.014F.0002.A8D3] # SAURASHTRA DIGIT THREE
-1949 ; [.15E8.0020.0002.1949][.0000.0150.0002.1949] # LIMBU DIGIT THREE
-19D3 ; [.15E8.0020.0002.19D3][.0000.0151.0002.19D3] # NEW TAI LUE DIGIT THREE
-1A83 ; [.15E8.0020.0002.1A83][.0000.0152.0002.1A83] # TAI THAM HORA DIGIT THREE
-1A93 ; [.15E8.0020.0002.1A93][.0000.0153.0002.1A93] # TAI THAM THAM DIGIT THREE
-0E53 ; [.15E8.0020.0002.0E53][.0000.0154.0002.0E53] # THAI DIGIT THREE
-0ED3 ; [.15E8.0020.0002.0ED3][.0000.0155.0002.0ED3] # LAO DIGIT THREE
-0F23 ; [.15E8.0020.0002.0F23][.0000.0156.0002.0F23] # TIBETAN DIGIT THREE
-0F2C ; [.15E8.0020.0004.0F2C][.0000.0156.0004.0F2C] # TIBETAN DIGIT HALF THREE
-1C43 ; [.15E8.0020.0002.1C43][.0000.0157.0002.1C43] # LEPCHA DIGIT THREE
-A903 ; [.15E8.0020.0002.A903][.0000.0158.0002.A903] # KAYAH LI DIGIT THREE
-1043 ; [.15E8.0020.0002.1043][.0000.0159.0002.1043] # MYANMAR DIGIT THREE
-1093 ; [.15E8.0020.0002.1093][.0000.015A.0002.1093] # MYANMAR SHAN DIGIT THREE
-11139 ; [.15E8.0020.0002.11139][.0000.015B.0002.11139] # CHAKMA DIGIT THREE
-17E3 ; [.15E8.0020.0002.17E3][.0000.015C.0002.17E3] # KHMER DIGIT THREE
-17F3 ; [.15E8.0020.0002.17F3][.0000.015D.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
-AA53 ; [.15E8.0020.0002.AA53][.0000.015E.0002.AA53] # CHAM DIGIT THREE
-1B53 ; [.15E8.0020.0002.1B53][.0000.015F.0002.1B53] # BALINESE DIGIT THREE
-A9D3 ; [.15E8.0020.0002.A9D3][.0000.0160.0002.A9D3] # JAVANESE DIGIT THREE
-1BB3 ; [.15E8.0020.0002.1BB3][.0000.0161.0002.1BB3] # SUNDANESE DIGIT THREE
-1813 ; [.15E8.0020.0002.1813][.0000.0162.0002.1813] # MONGOLIAN DIGIT THREE
-1C53 ; [.15E8.0020.0002.1C53][.0000.0163.0002.1C53] # OL CHIKI DIGIT THREE
-A623 ; [.15E8.0020.0002.A623][.0000.0164.0002.A623] # VAI DIGIT THREE
-110F3 ; [.15E8.0020.0002.110F3][.0000.0165.0002.110F3] # SORA SOMPENG DIGIT THREE
-3023 ; [.15E8.0020.0002.3023][.0000.0166.0002.3023] # HANGZHOU NUMERAL THREE
-10109 ; [.15E8.0020.0002.10109][.0000.0167.0002.10109] # AEGEAN NUMBER THREE
-12401 ; [.15E8.0020.0002.12401][.0000.016C.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; [.15E8.0020.0002.12408][.0000.016C.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; [.15E8.0020.0002.12417][.0000.016C.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; [.15E8.0020.0002.12420][.0000.016C.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
-12424 ; [.15E8.0020.0002.12424][.0000.016C.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 ; [.15E8.0020.0002.12425][.0000.016C.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E ; [.15E8.0020.0002.1242E][.0000.016C.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F ; [.15E8.0020.0002.1242F][.0000.016C.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436 ; [.15E8.0020.0002.12436][.0000.016C.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
-12437 ; [.15E8.0020.0002.12437][.0000.016C.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A ; [.15E8.0020.0002.1243A][.0000.016C.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B ; [.15E8.0020.0002.1243B][.0000.016C.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; [.15E8.0020.0002.1244B][.0000.016C.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; [.15E8.0020.0002.12451][.0000.016C.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
-1091B ; [.15E8.0020.0002.1091B][.0000.016E.0002.1091B] # PHOENICIAN NUMBER THREE
-1085A ; [.15E8.0020.0002.1085A][.0000.016F.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
-10B5A ; [.15E8.0020.0002.10B5A][.0000.0170.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B7A ; [.15E8.0020.0002.10B7A][.0000.0171.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
-111D3 ; [.15E8.0020.0002.111D3][.0000.0172.0002.111D3] # SHARADA DIGIT THREE
-116C3 ; [.15E8.0020.0002.116C3][.0000.0173.0002.116C3] # TAKRI DIGIT THREE
-11069 ; [.15E8.0020.0002.11069][.0000.0174.0002.11069] # BRAHMI DIGIT THREE
-11054 ; [.15E8.0020.0002.11054][.0000.0175.0002.11054] # BRAHMI NUMBER THREE
-10A42 ; [.15E8.0020.0002.10A42][.0000.0176.0002.10A42] # KHAROSHTHI DIGIT THREE
-1D362 ; [.15E8.0020.0002.1D362][.0000.0177.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
-324A ; [.15E8.0020.0006.324A][.15E5.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
-325A ; [.15E8.0020.0006.325A][.15E5.0020.0006.325A] # CIRCLED NUMBER THIRTY
-33FD ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-325B ; [.15E8.0020.0006.325B][.15E6.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE
-33FE ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-325C ; [.15E8.0020.0006.325C][.15E7.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO
-325D ; [.15E8.0020.0006.325D][.15E8.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE
-325E ; [.15E8.0020.0006.325E][.15E9.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR
-00BE ; [.15E8.0020.001E.00BE][*05AC.0020.001E.00BE][.15E9.0020.001E.00BE] # VULGAR FRACTION THREE QUARTERS
-325F ; [.15E8.0020.0006.325F][.15EA.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE
-2157 ; [.15E8.0020.001E.2157][*05AC.0020.001E.2157][.15EA.0020.001E.2157] # VULGAR FRACTION THREE FIFTHS
-32B1 ; [.15E8.0020.0006.32B1][.15EB.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX
-32B2 ; [.15E8.0020.0006.32B2][.15EC.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN
-32B3 ; [.15E8.0020.0006.32B3][.15ED.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT
-215C ; [.15E8.0020.001E.215C][*05AC.0020.001E.215C][.15ED.0020.001E.215C] # VULGAR FRACTION THREE EIGHTHS
-32B4 ; [.15E8.0020.0006.32B4][.15EE.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE
-33E2 ; [.15E8.0020.0004.33E2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2 ; [.15E8.0020.0004.32C2][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B ; [.15E8.0020.0004.335B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-0034 ; [.15E9.0020.0002.0034] # DIGIT FOUR
-FF14 ; [.15E9.0020.0003.FF14] # FULLWIDTH DIGIT FOUR
-2477 ; [*02FB.0020.0004.2477][.15E9.0020.0004.2477][*02FC.0020.001F.2477] # PARENTHESIZED DIGIT FOUR
-248B ; [.15E9.0020.0004.248B][*0273.0020.001F.248B] # DIGIT FOUR FULL STOP
-1F105 ; [.15E9.0020.0004.1F105][*0221.0020.001F.1F105] # DIGIT FOUR COMMA
-1D7D2 ; [.15E9.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR
-1D7DC ; [.15E9.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7E6 ; [.15E9.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7F0 ; [.15E9.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7FA ; [.15E9.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR
-2463 ; [.15E9.0020.0006.2463] # CIRCLED DIGIT FOUR
-24F8 ; [.15E9.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR
-2779 ; [.15E9.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-2783 ; [.15E9.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-278D ; [.15E9.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-2074 ; [.15E9.0020.0014.2074] # SUPERSCRIPT FOUR
-2084 ; [.15E9.0020.0015.2084] # SUBSCRIPT FOUR
-0664 ; [.15E9.0020.0002.0664][.0000.013F.0002.0664] # ARABIC-INDIC DIGIT FOUR
-06F4 ; [.15E9.0020.0002.06F4][.0000.0140.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
-10E63 ; [.15E9.0020.0002.10E63][.0000.0141.0002.10E63] # RUMI DIGIT FOUR
-07C4 ; [.15E9.0020.0002.07C4][.0000.0142.0002.07C4] # NKO DIGIT FOUR
-136C ; [.15E9.0020.0002.136C][.0000.0143.0002.136C] # ETHIOPIC DIGIT FOUR
-104A4 ; [.15E9.0020.0002.104A4][.0000.0144.0002.104A4] # OSMANYA DIGIT FOUR
-096A ; [.15E9.0020.0002.096A][.0000.0145.0002.096A] # DEVANAGARI DIGIT FOUR
-09EA ; [.15E9.0020.0002.09EA][.0000.0146.0002.09EA] # BENGALI DIGIT FOUR
-0A6A ; [.15E9.0020.0002.0A6A][.0000.0147.0002.0A6A] # GURMUKHI DIGIT FOUR
-0AEA ; [.15E9.0020.0002.0AEA][.0000.0148.0002.0AEA] # GUJARATI DIGIT FOUR
-0B6A ; [.15E9.0020.0002.0B6A][.0000.0149.0002.0B6A] # ORIYA DIGIT FOUR
-0BEA ; [.15E9.0020.0002.0BEA][.0000.014A.0002.0BEA] # TAMIL DIGIT FOUR
-0C6A ; [.15E9.0020.0002.0C6A][.0000.014B.0002.0C6A] # TELUGU DIGIT FOUR
-0CEA ; [.15E9.0020.0002.0CEA][.0000.014C.0002.0CEA] # KANNADA DIGIT FOUR
-0D6A ; [.15E9.0020.0002.0D6A][.0000.014D.0002.0D6A] # MALAYALAM DIGIT FOUR
-ABF4 ; [.15E9.0020.0002.ABF4][.0000.014E.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
-A8D4 ; [.15E9.0020.0002.A8D4][.0000.014F.0002.A8D4] # SAURASHTRA DIGIT FOUR
-194A ; [.15E9.0020.0002.194A][.0000.0150.0002.194A] # LIMBU DIGIT FOUR
-19D4 ; [.15E9.0020.0002.19D4][.0000.0151.0002.19D4] # NEW TAI LUE DIGIT FOUR
-1A84 ; [.15E9.0020.0002.1A84][.0000.0152.0002.1A84] # TAI THAM HORA DIGIT FOUR
-1A94 ; [.15E9.0020.0002.1A94][.0000.0153.0002.1A94] # TAI THAM THAM DIGIT FOUR
-0E54 ; [.15E9.0020.0002.0E54][.0000.0154.0002.0E54] # THAI DIGIT FOUR
-0ED4 ; [.15E9.0020.0002.0ED4][.0000.0155.0002.0ED4] # LAO DIGIT FOUR
-0F24 ; [.15E9.0020.0002.0F24][.0000.0156.0002.0F24] # TIBETAN DIGIT FOUR
-0F2D ; [.15E9.0020.0004.0F2D][.0000.0156.0004.0F2D] # TIBETAN DIGIT HALF FOUR
-1C44 ; [.15E9.0020.0002.1C44][.0000.0157.0002.1C44] # LEPCHA DIGIT FOUR
-A904 ; [.15E9.0020.0002.A904][.0000.0158.0002.A904] # KAYAH LI DIGIT FOUR
-1044 ; [.15E9.0020.0002.1044][.0000.0159.0002.1044] # MYANMAR DIGIT FOUR
-1094 ; [.15E9.0020.0002.1094][.0000.015A.0002.1094] # MYANMAR SHAN DIGIT FOUR
-1113A ; [.15E9.0020.0002.1113A][.0000.015B.0002.1113A] # CHAKMA DIGIT FOUR
-17E4 ; [.15E9.0020.0002.17E4][.0000.015C.0002.17E4] # KHMER DIGIT FOUR
-17F4 ; [.15E9.0020.0002.17F4][.0000.015D.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
-AA54 ; [.15E9.0020.0002.AA54][.0000.015E.0002.AA54] # CHAM DIGIT FOUR
-1B54 ; [.15E9.0020.0002.1B54][.0000.015F.0002.1B54] # BALINESE DIGIT FOUR
-A9D4 ; [.15E9.0020.0002.A9D4][.0000.0160.0002.A9D4] # JAVANESE DIGIT FOUR
-1BB4 ; [.15E9.0020.0002.1BB4][.0000.0161.0002.1BB4] # SUNDANESE DIGIT FOUR
-1814 ; [.15E9.0020.0002.1814][.0000.0162.0002.1814] # MONGOLIAN DIGIT FOUR
-1C54 ; [.15E9.0020.0002.1C54][.0000.0163.0002.1C54] # OL CHIKI DIGIT FOUR
-A624 ; [.15E9.0020.0002.A624][.0000.0164.0002.A624] # VAI DIGIT FOUR
-110F4 ; [.15E9.0020.0002.110F4][.0000.0165.0002.110F4] # SORA SOMPENG DIGIT FOUR
-3024 ; [.15E9.0020.0002.3024][.0000.0166.0002.3024] # HANGZHOU NUMERAL FOUR
-1010A ; [.15E9.0020.0002.1010A][.0000.0167.0002.1010A] # AEGEAN NUMBER FOUR
-12402 ; [.15E9.0020.0002.12402][.0000.016C.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; [.15E9.0020.0002.12409][.0000.016C.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; [.15E9.0020.0002.1240F][.0000.016C.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; [.15E9.0020.0002.12418][.0000.016C.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; [.15E9.0020.0002.12421][.0000.016C.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; [.15E9.0020.0002.12426][.0000.016C.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; [.15E9.0020.0002.12430][.0000.016C.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; [.15E9.0020.0002.12438][.0000.016C.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C ; [.15E9.0020.0002.1243C][.0000.016C.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D ; [.15E9.0020.0002.1243D][.0000.016C.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E ; [.15E9.0020.0002.1243E][.0000.016C.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F ; [.15E9.0020.0002.1243F][.0000.016C.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; [.15E9.0020.0002.1244C][.0000.016C.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452 ; [.15E9.0020.0002.12452][.0000.016C.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 ; [.15E9.0020.0002.12453][.0000.016C.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-10B5B ; [.15E9.0020.0002.10B5B][.0000.0170.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B7B ; [.15E9.0020.0002.10B7B][.0000.0171.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-111D4 ; [.15E9.0020.0002.111D4][.0000.0172.0002.111D4] # SHARADA DIGIT FOUR
-116C4 ; [.15E9.0020.0002.116C4][.0000.0173.0002.116C4] # TAKRI DIGIT FOUR
-1106A ; [.15E9.0020.0002.1106A][.0000.0174.0002.1106A] # BRAHMI DIGIT FOUR
-11055 ; [.15E9.0020.0002.11055][.0000.0175.0002.11055] # BRAHMI NUMBER FOUR
-10A43 ; [.15E9.0020.0002.10A43][.0000.0176.0002.10A43] # KHAROSHTHI DIGIT FOUR
-1D363 ; [.15E9.0020.0002.1D363][.0000.0177.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
-324B ; [.15E9.0020.0006.324B][.15E5.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE
-32B5 ; [.15E9.0020.0006.32B5][.15E5.0020.0006.32B5] # CIRCLED NUMBER FORTY
-32B6 ; [.15E9.0020.0006.32B6][.15E6.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE
-32B7 ; [.15E9.0020.0006.32B7][.15E7.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO
-32B8 ; [.15E9.0020.0006.32B8][.15E8.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE
-32B9 ; [.15E9.0020.0006.32B9][.15E9.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR
-32BA ; [.15E9.0020.0006.32BA][.15EA.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE
-2158 ; [.15E9.0020.001E.2158][*05AC.0020.001E.2158][.15EA.0020.001E.2158] # VULGAR FRACTION FOUR FIFTHS
-32BB ; [.15E9.0020.0006.32BB][.15EB.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX
-32BC ; [.15E9.0020.0006.32BC][.15EC.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN
-32BD ; [.15E9.0020.0006.32BD][.15ED.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT
-32BE ; [.15E9.0020.0006.32BE][.15EE.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE
-33E3 ; [.15E9.0020.0004.33E3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3 ; [.15E9.0020.0004.32C3][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C ; [.15E9.0020.0004.335C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-0035 ; [.15EA.0020.0002.0035] # DIGIT FIVE
-FF15 ; [.15EA.0020.0003.FF15] # FULLWIDTH DIGIT FIVE
-2478 ; [*02FB.0020.0004.2478][.15EA.0020.0004.2478][*02FC.0020.001F.2478] # PARENTHESIZED DIGIT FIVE
-248C ; [.15EA.0020.0004.248C][*0273.0020.001F.248C] # DIGIT FIVE FULL STOP
-1F106 ; [.15EA.0020.0004.1F106][*0221.0020.001F.1F106] # DIGIT FIVE COMMA
-1D7D3 ; [.15EA.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE
-1D7DD ; [.15EA.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7E7 ; [.15EA.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7F1 ; [.15EA.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7FB ; [.15EA.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE
-2464 ; [.15EA.0020.0006.2464] # CIRCLED DIGIT FIVE
-24F9 ; [.15EA.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE
-277A ; [.15EA.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-2784 ; [.15EA.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-278E ; [.15EA.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-2075 ; [.15EA.0020.0014.2075] # SUPERSCRIPT FIVE
-2085 ; [.15EA.0020.0015.2085] # SUBSCRIPT FIVE
-0665 ; [.15EA.0020.0002.0665][.0000.013F.0002.0665] # ARABIC-INDIC DIGIT FIVE
-06F5 ; [.15EA.0020.0002.06F5][.0000.0140.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
-10E64 ; [.15EA.0020.0002.10E64][.0000.0141.0002.10E64] # RUMI DIGIT FIVE
-07C5 ; [.15EA.0020.0002.07C5][.0000.0142.0002.07C5] # NKO DIGIT FIVE
-136D ; [.15EA.0020.0002.136D][.0000.0143.0002.136D] # ETHIOPIC DIGIT FIVE
-104A5 ; [.15EA.0020.0002.104A5][.0000.0144.0002.104A5] # OSMANYA DIGIT FIVE
-096B ; [.15EA.0020.0002.096B][.0000.0145.0002.096B] # DEVANAGARI DIGIT FIVE
-09EB ; [.15EA.0020.0002.09EB][.0000.0146.0002.09EB] # BENGALI DIGIT FIVE
-0A6B ; [.15EA.0020.0002.0A6B][.0000.0147.0002.0A6B] # GURMUKHI DIGIT FIVE
-0AEB ; [.15EA.0020.0002.0AEB][.0000.0148.0002.0AEB] # GUJARATI DIGIT FIVE
-0B6B ; [.15EA.0020.0002.0B6B][.0000.0149.0002.0B6B] # ORIYA DIGIT FIVE
-0BEB ; [.15EA.0020.0002.0BEB][.0000.014A.0002.0BEB] # TAMIL DIGIT FIVE
-0C6B ; [.15EA.0020.0002.0C6B][.0000.014B.0002.0C6B] # TELUGU DIGIT FIVE
-0CEB ; [.15EA.0020.0002.0CEB][.0000.014C.0002.0CEB] # KANNADA DIGIT FIVE
-0D6B ; [.15EA.0020.0002.0D6B][.0000.014D.0002.0D6B] # MALAYALAM DIGIT FIVE
-ABF5 ; [.15EA.0020.0002.ABF5][.0000.014E.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
-A8D5 ; [.15EA.0020.0002.A8D5][.0000.014F.0002.A8D5] # SAURASHTRA DIGIT FIVE
-194B ; [.15EA.0020.0002.194B][.0000.0150.0002.194B] # LIMBU DIGIT FIVE
-19D5 ; [.15EA.0020.0002.19D5][.0000.0151.0002.19D5] # NEW TAI LUE DIGIT FIVE
-1A85 ; [.15EA.0020.0002.1A85][.0000.0152.0002.1A85] # TAI THAM HORA DIGIT FIVE
-1A95 ; [.15EA.0020.0002.1A95][.0000.0153.0002.1A95] # TAI THAM THAM DIGIT FIVE
-0E55 ; [.15EA.0020.0002.0E55][.0000.0154.0002.0E55] # THAI DIGIT FIVE
-0ED5 ; [.15EA.0020.0002.0ED5][.0000.0155.0002.0ED5] # LAO DIGIT FIVE
-0F25 ; [.15EA.0020.0002.0F25][.0000.0156.0002.0F25] # TIBETAN DIGIT FIVE
-0F2E ; [.15EA.0020.0004.0F2E][.0000.0156.0004.0F2E] # TIBETAN DIGIT HALF FIVE
-1C45 ; [.15EA.0020.0002.1C45][.0000.0157.0002.1C45] # LEPCHA DIGIT FIVE
-A905 ; [.15EA.0020.0002.A905][.0000.0158.0002.A905] # KAYAH LI DIGIT FIVE
-1045 ; [.15EA.0020.0002.1045][.0000.0159.0002.1045] # MYANMAR DIGIT FIVE
-1095 ; [.15EA.0020.0002.1095][.0000.015A.0002.1095] # MYANMAR SHAN DIGIT FIVE
-1113B ; [.15EA.0020.0002.1113B][.0000.015B.0002.1113B] # CHAKMA DIGIT FIVE
-17E5 ; [.15EA.0020.0002.17E5][.0000.015C.0002.17E5] # KHMER DIGIT FIVE
-17F5 ; [.15EA.0020.0002.17F5][.0000.015D.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
-AA55 ; [.15EA.0020.0002.AA55][.0000.015E.0002.AA55] # CHAM DIGIT FIVE
-1B55 ; [.15EA.0020.0002.1B55][.0000.015F.0002.1B55] # BALINESE DIGIT FIVE
-A9D5 ; [.15EA.0020.0002.A9D5][.0000.0160.0002.A9D5] # JAVANESE DIGIT FIVE
-1BB5 ; [.15EA.0020.0002.1BB5][.0000.0161.0002.1BB5] # SUNDANESE DIGIT FIVE
-1815 ; [.15EA.0020.0002.1815][.0000.0162.0002.1815] # MONGOLIAN DIGIT FIVE
-1C55 ; [.15EA.0020.0002.1C55][.0000.0163.0002.1C55] # OL CHIKI DIGIT FIVE
-A625 ; [.15EA.0020.0002.A625][.0000.0164.0002.A625] # VAI DIGIT FIVE
-110F5 ; [.15EA.0020.0002.110F5][.0000.0165.0002.110F5] # SORA SOMPENG DIGIT FIVE
-3025 ; [.15EA.0020.0002.3025][.0000.0166.0002.3025] # HANGZHOU NUMERAL FIVE
-1010B ; [.15EA.0020.0002.1010B][.0000.0167.0002.1010B] # AEGEAN NUMBER FIVE
-10143 ; [.15EA.0020.0002.10143][.0000.0168.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
-10148 ; [.15EA.0020.0002.10148][.0000.0168.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; [.15EA.0020.0002.1014F][.0000.0168.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; [.15EA.0020.0002.1015F][.0000.0168.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; [.15EA.0020.0002.10173][.0000.0168.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10321 ; [.15EA.0020.0002.10321][.0000.016A.0002.10321] # OLD ITALIC NUMERAL FIVE
-12403 ; [.15EA.0020.0002.12403][.0000.016C.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; [.15EA.0020.0002.1240A][.0000.016C.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; [.15EA.0020.0002.12410][.0000.016C.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; [.15EA.0020.0002.12419][.0000.016C.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; [.15EA.0020.0002.12422][.0000.016C.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; [.15EA.0020.0002.12427][.0000.016C.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; [.15EA.0020.0002.12431][.0000.016C.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; [.15EA.0020.0002.12439][.0000.016C.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; [.15EA.0020.0002.1244D][.0000.016C.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454 ; [.15EA.0020.0002.12454][.0000.016C.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 ; [.15EA.0020.0002.12455][.0000.016C.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-111D5 ; [.15EA.0020.0002.111D5][.0000.0172.0002.111D5] # SHARADA DIGIT FIVE
-116C5 ; [.15EA.0020.0002.116C5][.0000.0173.0002.116C5] # TAKRI DIGIT FIVE
-1106B ; [.15EA.0020.0002.1106B][.0000.0174.0002.1106B] # BRAHMI DIGIT FIVE
-11056 ; [.15EA.0020.0002.11056][.0000.0175.0002.11056] # BRAHMI NUMBER FIVE
-1D364 ; [.15EA.0020.0002.1D364][.0000.0177.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
-324C ; [.15EA.0020.0006.324C][.15E5.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
-32BF ; [.15EA.0020.0006.32BF][.15E5.0020.0006.32BF] # CIRCLED NUMBER FIFTY
-215A ; [.15EA.0020.001E.215A][*05AC.0020.001E.215A][.15EB.0020.001E.215A] # VULGAR FRACTION FIVE SIXTHS
-215D ; [.15EA.0020.001E.215D][*05AC.0020.001E.215D][.15ED.0020.001E.215D] # VULGAR FRACTION FIVE EIGHTHS
-33E4 ; [.15EA.0020.0004.33E4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4 ; [.15EA.0020.0004.32C4][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D ; [.15EA.0020.0004.335D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-0036 ; [.15EB.0020.0002.0036] # DIGIT SIX
-FF16 ; [.15EB.0020.0003.FF16] # FULLWIDTH DIGIT SIX
-2479 ; [*02FB.0020.0004.2479][.15EB.0020.0004.2479][*02FC.0020.001F.2479] # PARENTHESIZED DIGIT SIX
-248D ; [.15EB.0020.0004.248D][*0273.0020.001F.248D] # DIGIT SIX FULL STOP
-1F107 ; [.15EB.0020.0004.1F107][*0221.0020.001F.1F107] # DIGIT SIX COMMA
-1D7D4 ; [.15EB.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX
-1D7DE ; [.15EB.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7E8 ; [.15EB.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7F2 ; [.15EB.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7FC ; [.15EB.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX
-2465 ; [.15EB.0020.0006.2465] # CIRCLED DIGIT SIX
-24FA ; [.15EB.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX
-277B ; [.15EB.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
-2785 ; [.15EB.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-278F ; [.15EB.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2076 ; [.15EB.0020.0014.2076] # SUPERSCRIPT SIX
-2086 ; [.15EB.0020.0015.2086] # SUBSCRIPT SIX
-0666 ; [.15EB.0020.0002.0666][.0000.013F.0002.0666] # ARABIC-INDIC DIGIT SIX
-06F6 ; [.15EB.0020.0002.06F6][.0000.0140.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
-10E65 ; [.15EB.0020.0002.10E65][.0000.0141.0002.10E65] # RUMI DIGIT SIX
-07C6 ; [.15EB.0020.0002.07C6][.0000.0142.0002.07C6] # NKO DIGIT SIX
-136E ; [.15EB.0020.0002.136E][.0000.0143.0002.136E] # ETHIOPIC DIGIT SIX
-104A6 ; [.15EB.0020.0002.104A6][.0000.0144.0002.104A6] # OSMANYA DIGIT SIX
-096C ; [.15EB.0020.0002.096C][.0000.0145.0002.096C] # DEVANAGARI DIGIT SIX
-09EC ; [.15EB.0020.0002.09EC][.0000.0146.0002.09EC] # BENGALI DIGIT SIX
-0A6C ; [.15EB.0020.0002.0A6C][.0000.0147.0002.0A6C] # GURMUKHI DIGIT SIX
-0AEC ; [.15EB.0020.0002.0AEC][.0000.0148.0002.0AEC] # GUJARATI DIGIT SIX
-0B6C ; [.15EB.0020.0002.0B6C][.0000.0149.0002.0B6C] # ORIYA DIGIT SIX
-0BEC ; [.15EB.0020.0002.0BEC][.0000.014A.0002.0BEC] # TAMIL DIGIT SIX
-0C6C ; [.15EB.0020.0002.0C6C][.0000.014B.0002.0C6C] # TELUGU DIGIT SIX
-0CEC ; [.15EB.0020.0002.0CEC][.0000.014C.0002.0CEC] # KANNADA DIGIT SIX
-0D6C ; [.15EB.0020.0002.0D6C][.0000.014D.0002.0D6C] # MALAYALAM DIGIT SIX
-ABF6 ; [.15EB.0020.0002.ABF6][.0000.014E.0002.ABF6] # MEETEI MAYEK DIGIT SIX
-A8D6 ; [.15EB.0020.0002.A8D6][.0000.014F.0002.A8D6] # SAURASHTRA DIGIT SIX
-194C ; [.15EB.0020.0002.194C][.0000.0150.0002.194C] # LIMBU DIGIT SIX
-19D6 ; [.15EB.0020.0002.19D6][.0000.0151.0002.19D6] # NEW TAI LUE DIGIT SIX
-1A86 ; [.15EB.0020.0002.1A86][.0000.0152.0002.1A86] # TAI THAM HORA DIGIT SIX
-1A96 ; [.15EB.0020.0002.1A96][.0000.0153.0002.1A96] # TAI THAM THAM DIGIT SIX
-0E56 ; [.15EB.0020.0002.0E56][.0000.0154.0002.0E56] # THAI DIGIT SIX
-0ED6 ; [.15EB.0020.0002.0ED6][.0000.0155.0002.0ED6] # LAO DIGIT SIX
-0F26 ; [.15EB.0020.0002.0F26][.0000.0156.0002.0F26] # TIBETAN DIGIT SIX
-0F2F ; [.15EB.0020.0004.0F2F][.0000.0156.0004.0F2F] # TIBETAN DIGIT HALF SIX
-1C46 ; [.15EB.0020.0002.1C46][.0000.0157.0002.1C46] # LEPCHA DIGIT SIX
-A906 ; [.15EB.0020.0002.A906][.0000.0158.0002.A906] # KAYAH LI DIGIT SIX
-1046 ; [.15EB.0020.0002.1046][.0000.0159.0002.1046] # MYANMAR DIGIT SIX
-1096 ; [.15EB.0020.0002.1096][.0000.015A.0002.1096] # MYANMAR SHAN DIGIT SIX
-1113C ; [.15EB.0020.0002.1113C][.0000.015B.0002.1113C] # CHAKMA DIGIT SIX
-17E6 ; [.15EB.0020.0002.17E6][.0000.015C.0002.17E6] # KHMER DIGIT SIX
-17F6 ; [.15EB.0020.0002.17F6][.0000.015D.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-AA56 ; [.15EB.0020.0002.AA56][.0000.015E.0002.AA56] # CHAM DIGIT SIX
-1B56 ; [.15EB.0020.0002.1B56][.0000.015F.0002.1B56] # BALINESE DIGIT SIX
-A9D6 ; [.15EB.0020.0002.A9D6][.0000.0160.0002.A9D6] # JAVANESE DIGIT SIX
-1BB6 ; [.15EB.0020.0002.1BB6][.0000.0161.0002.1BB6] # SUNDANESE DIGIT SIX
-1816 ; [.15EB.0020.0002.1816][.0000.0162.0002.1816] # MONGOLIAN DIGIT SIX
-1C56 ; [.15EB.0020.0002.1C56][.0000.0163.0002.1C56] # OL CHIKI DIGIT SIX
-A626 ; [.15EB.0020.0002.A626][.0000.0164.0002.A626] # VAI DIGIT SIX
-110F6 ; [.15EB.0020.0002.110F6][.0000.0165.0002.110F6] # SORA SOMPENG DIGIT SIX
-3026 ; [.15EB.0020.0002.3026][.0000.0166.0002.3026] # HANGZHOU NUMERAL SIX
-1010C ; [.15EB.0020.0002.1010C][.0000.0167.0002.1010C] # AEGEAN NUMBER SIX
-2185 ; [.15EB.0020.0002.2185][.0000.0169.0002.2185] # ROMAN NUMERAL SIX LATE FORM
-12404 ; [.15EB.0020.0002.12404][.0000.016C.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; [.15EB.0020.0002.1240B][.0000.016C.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; [.15EB.0020.0002.12411][.0000.016C.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
-1241A ; [.15EB.0020.0002.1241A][.0000.016C.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; [.15EB.0020.0002.12428][.0000.016C.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; [.15EB.0020.0002.12440][.0000.016C.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; [.15EB.0020.0002.1244E][.0000.016C.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-111D6 ; [.15EB.0020.0002.111D6][.0000.0172.0002.111D6] # SHARADA DIGIT SIX
-116C6 ; [.15EB.0020.0002.116C6][.0000.0173.0002.116C6] # TAKRI DIGIT SIX
-1106C ; [.15EB.0020.0002.1106C][.0000.0174.0002.1106C] # BRAHMI DIGIT SIX
-11057 ; [.15EB.0020.0002.11057][.0000.0175.0002.11057] # BRAHMI NUMBER SIX
-1D365 ; [.15EB.0020.0002.1D365][.0000.0177.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
-324D ; [.15EB.0020.0006.324D][.15E5.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
-33E5 ; [.15EB.0020.0004.33E5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5 ; [.15EB.0020.0004.32C5][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E ; [.15EB.0020.0004.335E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-0037 ; [.15EC.0020.0002.0037] # DIGIT SEVEN
-FF17 ; [.15EC.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN
-247A ; [*02FB.0020.0004.247A][.15EC.0020.0004.247A][*02FC.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN
-248E ; [.15EC.0020.0004.248E][*0273.0020.001F.248E] # DIGIT SEVEN FULL STOP
-1F108 ; [.15EC.0020.0004.1F108][*0221.0020.001F.1F108] # DIGIT SEVEN COMMA
-1D7D5 ; [.15EC.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN
-1D7DF ; [.15EC.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E9 ; [.15EC.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7F3 ; [.15EC.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7FD ; [.15EC.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN
-2466 ; [.15EC.0020.0006.2466] # CIRCLED DIGIT SEVEN
-24FB ; [.15EC.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN
-277C ; [.15EC.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-2786 ; [.15EC.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2790 ; [.15EC.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2077 ; [.15EC.0020.0014.2077] # SUPERSCRIPT SEVEN
-2087 ; [.15EC.0020.0015.2087] # SUBSCRIPT SEVEN
-0667 ; [.15EC.0020.0002.0667][.0000.013F.0002.0667] # ARABIC-INDIC DIGIT SEVEN
-06F7 ; [.15EC.0020.0002.06F7][.0000.0140.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
-10E66 ; [.15EC.0020.0002.10E66][.0000.0141.0002.10E66] # RUMI DIGIT SEVEN
-07C7 ; [.15EC.0020.0002.07C7][.0000.0142.0002.07C7] # NKO DIGIT SEVEN
-136F ; [.15EC.0020.0002.136F][.0000.0143.0002.136F] # ETHIOPIC DIGIT SEVEN
-104A7 ; [.15EC.0020.0002.104A7][.0000.0144.0002.104A7] # OSMANYA DIGIT SEVEN
-096D ; [.15EC.0020.0002.096D][.0000.0145.0002.096D] # DEVANAGARI DIGIT SEVEN
-09ED ; [.15EC.0020.0002.09ED][.0000.0146.0002.09ED] # BENGALI DIGIT SEVEN
-0A6D ; [.15EC.0020.0002.0A6D][.0000.0147.0002.0A6D] # GURMUKHI DIGIT SEVEN
-0AED ; [.15EC.0020.0002.0AED][.0000.0148.0002.0AED] # GUJARATI DIGIT SEVEN
-0B6D ; [.15EC.0020.0002.0B6D][.0000.0149.0002.0B6D] # ORIYA DIGIT SEVEN
-0BED ; [.15EC.0020.0002.0BED][.0000.014A.0002.0BED] # TAMIL DIGIT SEVEN
-0C6D ; [.15EC.0020.0002.0C6D][.0000.014B.0002.0C6D] # TELUGU DIGIT SEVEN
-0CED ; [.15EC.0020.0002.0CED][.0000.014C.0002.0CED] # KANNADA DIGIT SEVEN
-0D6D ; [.15EC.0020.0002.0D6D][.0000.014D.0002.0D6D] # MALAYALAM DIGIT SEVEN
-ABF7 ; [.15EC.0020.0002.ABF7][.0000.014E.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
-A8D7 ; [.15EC.0020.0002.A8D7][.0000.014F.0002.A8D7] # SAURASHTRA DIGIT SEVEN
-194D ; [.15EC.0020.0002.194D][.0000.0150.0002.194D] # LIMBU DIGIT SEVEN
-19D7 ; [.15EC.0020.0002.19D7][.0000.0151.0002.19D7] # NEW TAI LUE DIGIT SEVEN
-1A87 ; [.15EC.0020.0002.1A87][.0000.0152.0002.1A87] # TAI THAM HORA DIGIT SEVEN
-1A97 ; [.15EC.0020.0002.1A97][.0000.0153.0002.1A97] # TAI THAM THAM DIGIT SEVEN
-0E57 ; [.15EC.0020.0002.0E57][.0000.0154.0002.0E57] # THAI DIGIT SEVEN
-0ED7 ; [.15EC.0020.0002.0ED7][.0000.0155.0002.0ED7] # LAO DIGIT SEVEN
-0F27 ; [.15EC.0020.0002.0F27][.0000.0156.0002.0F27] # TIBETAN DIGIT SEVEN
-0F30 ; [.15EC.0020.0004.0F30][.0000.0156.0004.0F30] # TIBETAN DIGIT HALF SEVEN
-1C47 ; [.15EC.0020.0002.1C47][.0000.0157.0002.1C47] # LEPCHA DIGIT SEVEN
-A907 ; [.15EC.0020.0002.A907][.0000.0158.0002.A907] # KAYAH LI DIGIT SEVEN
-1047 ; [.15EC.0020.0002.1047][.0000.0159.0002.1047] # MYANMAR DIGIT SEVEN
-1097 ; [.15EC.0020.0002.1097][.0000.015A.0002.1097] # MYANMAR SHAN DIGIT SEVEN
-1113D ; [.15EC.0020.0002.1113D][.0000.015B.0002.1113D] # CHAKMA DIGIT SEVEN
-17E7 ; [.15EC.0020.0002.17E7][.0000.015C.0002.17E7] # KHMER DIGIT SEVEN
-17F7 ; [.15EC.0020.0002.17F7][.0000.015D.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
-AA57 ; [.15EC.0020.0002.AA57][.0000.015E.0002.AA57] # CHAM DIGIT SEVEN
-1B57 ; [.15EC.0020.0002.1B57][.0000.015F.0002.1B57] # BALINESE DIGIT SEVEN
-A9D7 ; [.15EC.0020.0002.A9D7][.0000.0160.0002.A9D7] # JAVANESE DIGIT SEVEN
-1BB7 ; [.15EC.0020.0002.1BB7][.0000.0161.0002.1BB7] # SUNDANESE DIGIT SEVEN
-1817 ; [.15EC.0020.0002.1817][.0000.0162.0002.1817] # MONGOLIAN DIGIT SEVEN
-1C57 ; [.15EC.0020.0002.1C57][.0000.0163.0002.1C57] # OL CHIKI DIGIT SEVEN
-A627 ; [.15EC.0020.0002.A627][.0000.0164.0002.A627] # VAI DIGIT SEVEN
-110F7 ; [.15EC.0020.0002.110F7][.0000.0165.0002.110F7] # SORA SOMPENG DIGIT SEVEN
-3027 ; [.15EC.0020.0002.3027][.0000.0166.0002.3027] # HANGZHOU NUMERAL SEVEN
-1010D ; [.15EC.0020.0002.1010D][.0000.0167.0002.1010D] # AEGEAN NUMBER SEVEN
-12405 ; [.15EC.0020.0002.12405][.0000.016C.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; [.15EC.0020.0002.1240C][.0000.016C.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; [.15EC.0020.0002.12412][.0000.016C.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; [.15EC.0020.0002.1241B][.0000.016C.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; [.15EC.0020.0002.12429][.0000.016C.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441 ; [.15EC.0020.0002.12441][.0000.016C.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 ; [.15EC.0020.0002.12442][.0000.016C.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 ; [.15EC.0020.0002.12443][.0000.016C.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-111D7 ; [.15EC.0020.0002.111D7][.0000.0172.0002.111D7] # SHARADA DIGIT SEVEN
-116C7 ; [.15EC.0020.0002.116C7][.0000.0173.0002.116C7] # TAKRI DIGIT SEVEN
-1106D ; [.15EC.0020.0002.1106D][.0000.0174.0002.1106D] # BRAHMI DIGIT SEVEN
-11058 ; [.15EC.0020.0002.11058][.0000.0175.0002.11058] # BRAHMI NUMBER SEVEN
-1D366 ; [.15EC.0020.0002.1D366][.0000.0177.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
-324E ; [.15EC.0020.0006.324E][.15E5.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-215E ; [.15EC.0020.001E.215E][*05AC.0020.001E.215E][.15ED.0020.001E.215E] # VULGAR FRACTION SEVEN EIGHTHS
-33E6 ; [.15EC.0020.0004.33E6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6 ; [.15EC.0020.0004.32C6][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F ; [.15EC.0020.0004.335F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-0038 ; [.15ED.0020.0002.0038] # DIGIT EIGHT
-FF18 ; [.15ED.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT
-247B ; [*02FB.0020.0004.247B][.15ED.0020.0004.247B][*02FC.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT
-248F ; [.15ED.0020.0004.248F][*0273.0020.001F.248F] # DIGIT EIGHT FULL STOP
-1F109 ; [.15ED.0020.0004.1F109][*0221.0020.001F.1F109] # DIGIT EIGHT COMMA
-1D7D6 ; [.15ED.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT
-1D7E0 ; [.15ED.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7EA ; [.15ED.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7F4 ; [.15ED.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7FE ; [.15ED.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT
-2467 ; [.15ED.0020.0006.2467] # CIRCLED DIGIT EIGHT
-24FC ; [.15ED.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT
-277D ; [.15ED.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-2787 ; [.15ED.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2791 ; [.15ED.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2078 ; [.15ED.0020.0014.2078] # SUPERSCRIPT EIGHT
-2088 ; [.15ED.0020.0015.2088] # SUBSCRIPT EIGHT
-0668 ; [.15ED.0020.0002.0668][.0000.013F.0002.0668] # ARABIC-INDIC DIGIT EIGHT
-06F8 ; [.15ED.0020.0002.06F8][.0000.0140.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
-10E67 ; [.15ED.0020.0002.10E67][.0000.0141.0002.10E67] # RUMI DIGIT EIGHT
-07C8 ; [.15ED.0020.0002.07C8][.0000.0142.0002.07C8] # NKO DIGIT EIGHT
-1370 ; [.15ED.0020.0002.1370][.0000.0143.0002.1370] # ETHIOPIC DIGIT EIGHT
-104A8 ; [.15ED.0020.0002.104A8][.0000.0144.0002.104A8] # OSMANYA DIGIT EIGHT
-096E ; [.15ED.0020.0002.096E][.0000.0145.0002.096E] # DEVANAGARI DIGIT EIGHT
-09EE ; [.15ED.0020.0002.09EE][.0000.0146.0002.09EE] # BENGALI DIGIT EIGHT
-0A6E ; [.15ED.0020.0002.0A6E][.0000.0147.0002.0A6E] # GURMUKHI DIGIT EIGHT
-0AEE ; [.15ED.0020.0002.0AEE][.0000.0148.0002.0AEE] # GUJARATI DIGIT EIGHT
-0B6E ; [.15ED.0020.0002.0B6E][.0000.0149.0002.0B6E] # ORIYA DIGIT EIGHT
-0BEE ; [.15ED.0020.0002.0BEE][.0000.014A.0002.0BEE] # TAMIL DIGIT EIGHT
-0C6E ; [.15ED.0020.0002.0C6E][.0000.014B.0002.0C6E] # TELUGU DIGIT EIGHT
-0CEE ; [.15ED.0020.0002.0CEE][.0000.014C.0002.0CEE] # KANNADA DIGIT EIGHT
-0D6E ; [.15ED.0020.0002.0D6E][.0000.014D.0002.0D6E] # MALAYALAM DIGIT EIGHT
-ABF8 ; [.15ED.0020.0002.ABF8][.0000.014E.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
-A8D8 ; [.15ED.0020.0002.A8D8][.0000.014F.0002.A8D8] # SAURASHTRA DIGIT EIGHT
-194E ; [.15ED.0020.0002.194E][.0000.0150.0002.194E] # LIMBU DIGIT EIGHT
-19D8 ; [.15ED.0020.0002.19D8][.0000.0151.0002.19D8] # NEW TAI LUE DIGIT EIGHT
-1A88 ; [.15ED.0020.0002.1A88][.0000.0152.0002.1A88] # TAI THAM HORA DIGIT EIGHT
-1A98 ; [.15ED.0020.0002.1A98][.0000.0153.0002.1A98] # TAI THAM THAM DIGIT EIGHT
-0E58 ; [.15ED.0020.0002.0E58][.0000.0154.0002.0E58] # THAI DIGIT EIGHT
-0ED8 ; [.15ED.0020.0002.0ED8][.0000.0155.0002.0ED8] # LAO DIGIT EIGHT
-0F28 ; [.15ED.0020.0002.0F28][.0000.0156.0002.0F28] # TIBETAN DIGIT EIGHT
-0F31 ; [.15ED.0020.0004.0F31][.0000.0156.0004.0F31] # TIBETAN DIGIT HALF EIGHT
-1C48 ; [.15ED.0020.0002.1C48][.0000.0157.0002.1C48] # LEPCHA DIGIT EIGHT
-A908 ; [.15ED.0020.0002.A908][.0000.0158.0002.A908] # KAYAH LI DIGIT EIGHT
-1048 ; [.15ED.0020.0002.1048][.0000.0159.0002.1048] # MYANMAR DIGIT EIGHT
-1098 ; [.15ED.0020.0002.1098][.0000.015A.0002.1098] # MYANMAR SHAN DIGIT EIGHT
-1113E ; [.15ED.0020.0002.1113E][.0000.015B.0002.1113E] # CHAKMA DIGIT EIGHT
-17E8 ; [.15ED.0020.0002.17E8][.0000.015C.0002.17E8] # KHMER DIGIT EIGHT
-17F8 ; [.15ED.0020.0002.17F8][.0000.015D.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
-AA58 ; [.15ED.0020.0002.AA58][.0000.015E.0002.AA58] # CHAM DIGIT EIGHT
-1B58 ; [.15ED.0020.0002.1B58][.0000.015F.0002.1B58] # BALINESE DIGIT EIGHT
-A9D8 ; [.15ED.0020.0002.A9D8][.0000.0160.0002.A9D8] # JAVANESE DIGIT EIGHT
-1BB8 ; [.15ED.0020.0002.1BB8][.0000.0161.0002.1BB8] # SUNDANESE DIGIT EIGHT
-1818 ; [.15ED.0020.0002.1818][.0000.0162.0002.1818] # MONGOLIAN DIGIT EIGHT
-1C58 ; [.15ED.0020.0002.1C58][.0000.0163.0002.1C58] # OL CHIKI DIGIT EIGHT
-A628 ; [.15ED.0020.0002.A628][.0000.0164.0002.A628] # VAI DIGIT EIGHT
-110F8 ; [.15ED.0020.0002.110F8][.0000.0165.0002.110F8] # SORA SOMPENG DIGIT EIGHT
-3028 ; [.15ED.0020.0002.3028][.0000.0166.0002.3028] # HANGZHOU NUMERAL EIGHT
-1010E ; [.15ED.0020.0002.1010E][.0000.0167.0002.1010E] # AEGEAN NUMBER EIGHT
-12406 ; [.15ED.0020.0002.12406][.0000.016C.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; [.15ED.0020.0002.1240D][.0000.016C.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; [.15ED.0020.0002.12413][.0000.016C.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; [.15ED.0020.0002.1241C][.0000.016C.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; [.15ED.0020.0002.1242A][.0000.016C.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444 ; [.15ED.0020.0002.12444][.0000.016C.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 ; [.15ED.0020.0002.12445][.0000.016C.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-111D8 ; [.15ED.0020.0002.111D8][.0000.0172.0002.111D8] # SHARADA DIGIT EIGHT
-116C8 ; [.15ED.0020.0002.116C8][.0000.0173.0002.116C8] # TAKRI DIGIT EIGHT
-1106E ; [.15ED.0020.0002.1106E][.0000.0174.0002.1106E] # BRAHMI DIGIT EIGHT
-11059 ; [.15ED.0020.0002.11059][.0000.0175.0002.11059] # BRAHMI NUMBER EIGHT
-1D367 ; [.15ED.0020.0002.1D367][.0000.0177.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
-324F ; [.15ED.0020.0006.324F][.15E5.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-33E7 ; [.15ED.0020.0004.33E7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7 ; [.15ED.0020.0004.32C7][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360 ; [.15ED.0020.0004.3360][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-0039 ; [.15EE.0020.0002.0039] # DIGIT NINE
-FF19 ; [.15EE.0020.0003.FF19] # FULLWIDTH DIGIT NINE
-247C ; [*02FB.0020.0004.247C][.15EE.0020.0004.247C][*02FC.0020.001F.247C] # PARENTHESIZED DIGIT NINE
-2490 ; [.15EE.0020.0004.2490][*0273.0020.001F.2490] # DIGIT NINE FULL STOP
-1F10A ; [.15EE.0020.0004.1F10A][*0221.0020.001F.1F10A] # DIGIT NINE COMMA
-1D7D7 ; [.15EE.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE
-1D7E1 ; [.15EE.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7EB ; [.15EE.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7F5 ; [.15EE.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7FF ; [.15EE.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE
-2468 ; [.15EE.0020.0006.2468] # CIRCLED DIGIT NINE
-24FD ; [.15EE.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE
-277E ; [.15EE.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
-2788 ; [.15EE.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2792 ; [.15EE.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2079 ; [.15EE.0020.0014.2079] # SUPERSCRIPT NINE
-2089 ; [.15EE.0020.0015.2089] # SUBSCRIPT NINE
-0669 ; [.15EE.0020.0002.0669][.0000.013F.0002.0669] # ARABIC-INDIC DIGIT NINE
-06F9 ; [.15EE.0020.0002.06F9][.0000.0140.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
-10E68 ; [.15EE.0020.0002.10E68][.0000.0141.0002.10E68] # RUMI DIGIT NINE
-07C9 ; [.15EE.0020.0002.07C9][.0000.0142.0002.07C9] # NKO DIGIT NINE
-1371 ; [.15EE.0020.0002.1371][.0000.0143.0002.1371] # ETHIOPIC DIGIT NINE
-104A9 ; [.15EE.0020.0002.104A9][.0000.0144.0002.104A9] # OSMANYA DIGIT NINE
-096F ; [.15EE.0020.0002.096F][.0000.0145.0002.096F] # DEVANAGARI DIGIT NINE
-09EF ; [.15EE.0020.0002.09EF][.0000.0146.0002.09EF] # BENGALI DIGIT NINE
-0A6F ; [.15EE.0020.0002.0A6F][.0000.0147.0002.0A6F] # GURMUKHI DIGIT NINE
-0AEF ; [.15EE.0020.0002.0AEF][.0000.0148.0002.0AEF] # GUJARATI DIGIT NINE
-0B6F ; [.15EE.0020.0002.0B6F][.0000.0149.0002.0B6F] # ORIYA DIGIT NINE
-0BEF ; [.15EE.0020.0002.0BEF][.0000.014A.0002.0BEF] # TAMIL DIGIT NINE
-0C6F ; [.15EE.0020.0002.0C6F][.0000.014B.0002.0C6F] # TELUGU DIGIT NINE
-0CEF ; [.15EE.0020.0002.0CEF][.0000.014C.0002.0CEF] # KANNADA DIGIT NINE
-0D6F ; [.15EE.0020.0002.0D6F][.0000.014D.0002.0D6F] # MALAYALAM DIGIT NINE
-ABF9 ; [.15EE.0020.0002.ABF9][.0000.014E.0002.ABF9] # MEETEI MAYEK DIGIT NINE
-A8D9 ; [.15EE.0020.0002.A8D9][.0000.014F.0002.A8D9] # SAURASHTRA DIGIT NINE
-194F ; [.15EE.0020.0002.194F][.0000.0150.0002.194F] # LIMBU DIGIT NINE
-19D9 ; [.15EE.0020.0002.19D9][.0000.0151.0002.19D9] # NEW TAI LUE DIGIT NINE
-1A89 ; [.15EE.0020.0002.1A89][.0000.0152.0002.1A89] # TAI THAM HORA DIGIT NINE
-1A99 ; [.15EE.0020.0002.1A99][.0000.0153.0002.1A99] # TAI THAM THAM DIGIT NINE
-0E59 ; [.15EE.0020.0002.0E59][.0000.0154.0002.0E59] # THAI DIGIT NINE
-0ED9 ; [.15EE.0020.0002.0ED9][.0000.0155.0002.0ED9] # LAO DIGIT NINE
-0F29 ; [.15EE.0020.0002.0F29][.0000.0156.0002.0F29] # TIBETAN DIGIT NINE
-0F32 ; [.15EE.0020.0004.0F32][.0000.0156.0004.0F32] # TIBETAN DIGIT HALF NINE
-1C49 ; [.15EE.0020.0002.1C49][.0000.0157.0002.1C49] # LEPCHA DIGIT NINE
-A909 ; [.15EE.0020.0002.A909][.0000.0158.0002.A909] # KAYAH LI DIGIT NINE
-1049 ; [.15EE.0020.0002.1049][.0000.0159.0002.1049] # MYANMAR DIGIT NINE
-1099 ; [.15EE.0020.0002.1099][.0000.015A.0002.1099] # MYANMAR SHAN DIGIT NINE
-1113F ; [.15EE.0020.0002.1113F][.0000.015B.0002.1113F] # CHAKMA DIGIT NINE
-17E9 ; [.15EE.0020.0002.17E9][.0000.015C.0002.17E9] # KHMER DIGIT NINE
-17F9 ; [.15EE.0020.0002.17F9][.0000.015D.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
-AA59 ; [.15EE.0020.0002.AA59][.0000.015E.0002.AA59] # CHAM DIGIT NINE
-1B59 ; [.15EE.0020.0002.1B59][.0000.015F.0002.1B59] # BALINESE DIGIT NINE
-A9D9 ; [.15EE.0020.0002.A9D9][.0000.0160.0002.A9D9] # JAVANESE DIGIT NINE
-1BB9 ; [.15EE.0020.0002.1BB9][.0000.0161.0002.1BB9] # SUNDANESE DIGIT NINE
-1819 ; [.15EE.0020.0002.1819][.0000.0162.0002.1819] # MONGOLIAN DIGIT NINE
-1C59 ; [.15EE.0020.0002.1C59][.0000.0163.0002.1C59] # OL CHIKI DIGIT NINE
-A629 ; [.15EE.0020.0002.A629][.0000.0164.0002.A629] # VAI DIGIT NINE
-110F9 ; [.15EE.0020.0002.110F9][.0000.0165.0002.110F9] # SORA SOMPENG DIGIT NINE
-3029 ; [.15EE.0020.0002.3029][.0000.0166.0002.3029] # HANGZHOU NUMERAL NINE
-1010F ; [.15EE.0020.0002.1010F][.0000.0167.0002.1010F] # AEGEAN NUMBER NINE
-12407 ; [.15EE.0020.0002.12407][.0000.016C.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; [.15EE.0020.0002.1240E][.0000.016C.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; [.15EE.0020.0002.12414][.0000.016C.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
-1241D ; [.15EE.0020.0002.1241D][.0000.016C.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; [.15EE.0020.0002.1242B][.0000.016C.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446 ; [.15EE.0020.0002.12446][.0000.016C.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 ; [.15EE.0020.0002.12447][.0000.016C.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 ; [.15EE.0020.0002.12448][.0000.016C.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 ; [.15EE.0020.0002.12449][.0000.016C.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-111D9 ; [.15EE.0020.0002.111D9][.0000.0172.0002.111D9] # SHARADA DIGIT NINE
-116C9 ; [.15EE.0020.0002.116C9][.0000.0173.0002.116C9] # TAKRI DIGIT NINE
-1106F ; [.15EE.0020.0002.1106F][.0000.0174.0002.1106F] # BRAHMI DIGIT NINE
-1105A ; [.15EE.0020.0002.1105A][.0000.0175.0002.1105A] # BRAHMI NUMBER NINE
-1D368 ; [.15EE.0020.0002.1D368][.0000.0177.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
-33E8 ; [.15EE.0020.0004.33E8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8 ; [.15EE.0020.0004.32C8][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361 ; [.15EE.0020.0004.3361][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-0061 ; [.15EF.0020.0002.0061] # LATIN SMALL LETTER A
-FF41 ; [.15EF.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A
-0363 ; [.15EF.0020.0004.0363] # COMBINING LATIN SMALL LETTER A
-249C ; [*02FB.0020.0004.249C][.15EF.0020.0004.249C][*02FC.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A
-1D41A ; [.15EF.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A
-1D44E ; [.15EF.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A
-1D482 ; [.15EF.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A
-1D4B6 ; [.15EF.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A
-1D4EA ; [.15EF.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A
-1D51E ; [.15EF.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A
-1D552 ; [.15EF.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D586 ; [.15EF.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A
-1D5BA ; [.15EF.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A
-1D5EE ; [.15EF.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D622 ; [.15EF.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D656 ; [.15EF.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D68A ; [.15EF.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A
-24D0 ; [.15EF.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A
-0041 ; [.15EF.0020.0008.0041] # LATIN CAPITAL LETTER A
-FF21 ; [.15EF.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A
-1F110 ; [*02FB.0020.0004.1F110][.15EF.0020.000A.1F110][*02FC.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A
-1D400 ; [.15EF.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A
-1D434 ; [.15EF.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A
-1D468 ; [.15EF.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A
-1D49C ; [.15EF.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A
-1D4D0 ; [.15EF.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D504 ; [.15EF.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A
-1D538 ; [.15EF.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D56C ; [.15EF.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D5A0 ; [.15EF.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A
-1D5D4 ; [.15EF.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D608 ; [.15EF.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D63C ; [.15EF.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D670 ; [.15EF.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A
-24B6 ; [.15EF.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A
-1F150 ; [.15EF.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
-00AA ; [.15EF.0020.0014.00AA] # FEMININE ORDINAL INDICATOR
-1D43 ; [.15EF.0020.0014.1D43] # MODIFIER LETTER SMALL A
-2090 ; [.15EF.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A
-1D2C ; [.15EF.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A
-1F130 ; [.15EF.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A
-1F170 ; [.15EF.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
-00E1 ; [.15EF.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EF.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
-00E0 ; [.15EF.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EF.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE
-0103 ; [.15EF.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE
-0102 ; [.15EF.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE
-1EAF ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB1 ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0 ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB5 ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4 ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3 ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2 ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-00E2 ; [.15EF.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15EF.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA5 ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4 ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6 ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EAB ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9 ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8 ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-01CE ; [.15EF.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EF.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON
-00E5 ; [.15EF.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.15EF.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.15EF.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN
-01FB ; [.15EF.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.15EF.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.15EF.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.15EF.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.15EF.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.15EF.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3 ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE
-00C3 ; [.15EF.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
-0227 ; [.15EF.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226 ; [.15EF.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-01E1 ; [.15EF.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E0 ; [.15EF.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-0105 ; [.15EF.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK
-0104 ; [.15EF.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK
-0101 ; [.15EF.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EF.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON
-1EA3 ; [.15EF.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2 ; [.15EF.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-0201 ; [.15EF.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0200 ; [.15EF.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0203 ; [.15EF.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE
-0202 ; [.15EF.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-1EA1 ; [.15EF.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0 ; [.15EF.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB7 ; [.15EF.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6 ; [.15EF.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EAD ; [.15EF.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC ; [.15EF.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1E01 ; [.15EF.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW
-1E00 ; [.15EF.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW
-1DD3 ; [.15EF.0020.0004.1DD3][.0000.0139.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-A733 ; [.15EF.0020.0004.A733][.15EF.0020.0004.A733] # LATIN SMALL LETTER AA
-A732 ; [.15EF.0020.000A.A732][.15EF.0020.000A.A732] # LATIN CAPITAL LETTER AA
-1F18E ; [.15EF.0020.001D.1F18E][.1605.0020.001D.1F18E] # NEGATIVE SQUARED AB
-2100 ; [.15EF.0020.0004.2100][*0372.0020.0004.2100][.161D.0020.0004.2100] # ACCOUNT OF
-00E6 ; [.15EF.0020.0004.00E6][.0000.0139.0004.00E6][.164C.0020.0004.00E6] # LATIN SMALL LETTER AE
-1DD4 ; [.15EF.0020.0004.1DD4][.0000.0139.0004.1DD4][.164C.0020.0004.1DD4] # COMBINING LATIN SMALL LETTER AE
-00C6 ; [.15EF.0020.000A.00C6][.0000.0139.0004.00C6][.164C.0020.000A.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.15EF.0020.0014.1D2D][.0000.0139.0014.1D2D][.164C.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.15EF.0020.0004.01FD][.0000.0139.0004.01FD][.164C.0020.0004.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.15EF.0020.000A.01FC][.0000.0139.0004.01FC][.164C.0020.000A.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.15EF.0020.0004.01E3][.0000.0139.0004.01E3][.164C.0020.0004.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.15EF.0020.000A.01E2][.0000.0139.0004.01E2][.164C.0020.000A.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON
-33C2 ; [.15EF.0020.001C.33C2][*0273.0020.001C.33C2][.1741.0020.001C.33C2][*0273.0020.001C.33C2] # SQUARE AM
-33DF ; [.15EF.0020.001D.33DF][*05AB.0020.001C.33DF][.1741.0020.001C.33DF] # SQUARE A OVER M
-1DD5 ; [.15EF.0020.0004.1DD5][.1771.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO
-A735 ; [.15EF.0020.0004.A735][.1771.0020.0004.A735] # LATIN SMALL LETTER AO
-A734 ; [.15EF.0020.000A.A734][.1771.0020.000A.A734] # LATIN CAPITAL LETTER AO
-2101 ; [.15EF.0020.0004.2101][*0372.0020.0004.2101][.17F3.0020.0004.2101] # ADDRESSED TO THE SUBJECT
-214D ; [.15EF.0020.000A.214D][*0372.0020.0004.214D][.17F3.0020.000A.214D] # AKTIESELSKAB
-A737 ; [.15EF.0020.0004.A737][.1836.0020.0004.A737] # LATIN SMALL LETTER AU
-A736 ; [.15EF.0020.000A.A736][.1836.0020.000A.A736] # LATIN CAPITAL LETTER AU
-3373 ; [.15EF.0020.001D.3373][.1836.0020.001D.3373] # SQUARE AU
-1DD6 ; [.15EF.0020.0004.1DD6][.185F.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV
-A739 ; [.15EF.0020.0004.A739][.185F.0020.0004.A739] # LATIN SMALL LETTER AV
-A738 ; [.15EF.0020.000A.A738][.185F.0020.000A.A738] # LATIN CAPITAL LETTER AV
-A73B ; [.15EF.0020.0004.A73B][.0000.0139.0004.A73B][.185F.0020.0004.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73A ; [.15EF.0020.000A.A73A][.0000.0139.0004.A73A][.185F.0020.000A.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73D ; [.15EF.0020.0004.A73D][.1880.0020.0004.A73D] # LATIN SMALL LETTER AY
-A73C ; [.15EF.0020.000A.A73C][.1880.0020.000A.A73C] # LATIN CAPITAL LETTER AY
-1E9A ; [.15EF.0020.0004.1E9A][.18F1.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING
-1D00 ; [.15F3.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
-2C65 ; [.15F4.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
-023A ; [.15F4.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
-1D8F ; [.15F5.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D01 ; [.15F6.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
-1D02 ; [.15F7.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
-1D46 ; [.15F7.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE
-0250 ; [.15F8.0020.0002.0250] # LATIN SMALL LETTER TURNED A
-2C6F ; [.15F8.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
-1D44 ; [.15F8.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A
-0251 ; [.15FC.0020.0002.0251] # LATIN SMALL LETTER ALPHA
-2C6D ; [.15FC.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
-1D45 ; [.15FC.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA
-1D90 ; [.1600.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-0252 ; [.1601.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
-2C70 ; [.1601.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
-1D9B ; [.1601.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA
-0062 ; [.1605.0020.0002.0062] # LATIN SMALL LETTER B
-FF42 ; [.1605.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B
-249D ; [*02FB.0020.0004.249D][.1605.0020.0004.249D][*02FC.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B
-1D41B ; [.1605.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B
-1D44F ; [.1605.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B
-1D483 ; [.1605.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B
-1D4B7 ; [.1605.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B
-1D4EB ; [.1605.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B
-1D51F ; [.1605.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B
-1D553 ; [.1605.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D587 ; [.1605.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B
-1D5BB ; [.1605.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B
-1D5EF ; [.1605.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D623 ; [.1605.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D657 ; [.1605.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D68B ; [.1605.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B
-24D1 ; [.1605.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B
-0042 ; [.1605.0020.0008.0042] # LATIN CAPITAL LETTER B
-FF22 ; [.1605.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B
-1F111 ; [*02FB.0020.0004.1F111][.1605.0020.000A.1F111][*02FC.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B
-212C ; [.1605.0020.000B.212C] # SCRIPT CAPITAL B
-1D401 ; [.1605.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B
-1D435 ; [.1605.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B
-1D469 ; [.1605.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B
-1D4D1 ; [.1605.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D505 ; [.1605.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B
-1D539 ; [.1605.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D56D ; [.1605.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D5A1 ; [.1605.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B
-1D5D5 ; [.1605.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D609 ; [.1605.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D63D ; [.1605.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D671 ; [.1605.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B
-24B7 ; [.1605.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B
-1F151 ; [.1605.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
-1D47 ; [.1605.0020.0014.1D47] # MODIFIER LETTER SMALL B
-1D2E ; [.1605.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B
-1F131 ; [.1605.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B
-1F171 ; [.1605.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
-1E03 ; [.1605.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE
-1E02 ; [.1605.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E05 ; [.1605.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW
-1E04 ; [.1605.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW
-1E07 ; [.1605.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW
-1E06 ; [.1605.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW
-3374 ; [.1605.0020.001C.3374][.15EF.0020.001C.3374][.17BD.0020.001C.3374] # SQUARE BAR
-33C3 ; [.1605.0020.001D.33C3][.17AB.0020.001C.33C3] # SQUARE BQ
-0299 ; [.1609.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
-0180 ; [.160D.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
-0243 ; [.160D.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
-1D2F ; [.1611.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
-1D03 ; [.1612.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
-1D6C ; [.1613.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D80 ; [.1614.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
-0253 ; [.1615.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
-0181 ; [.1615.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
-0183 ; [.1619.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
-0182 ; [.1619.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
-0063 ; [.161D.0020.0002.0063] # LATIN SMALL LETTER C
-FF43 ; [.161D.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C
-0368 ; [.161D.0020.0004.0368] # COMBINING LATIN SMALL LETTER C
-217D ; [.161D.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED
-249E ; [*02FB.0020.0004.249E][.161D.0020.0004.249E][*02FC.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C
-1D41C ; [.161D.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C
-1D450 ; [.161D.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C
-1D484 ; [.161D.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C
-1D4B8 ; [.161D.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C
-1D4EC ; [.161D.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C
-1D520 ; [.161D.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C
-1D554 ; [.161D.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D588 ; [.161D.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C
-1D5BC ; [.161D.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C
-1D5F0 ; [.161D.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D624 ; [.161D.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D658 ; [.161D.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D68C ; [.161D.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C
-24D2 ; [.161D.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C
-0043 ; [.161D.0020.0008.0043] # LATIN CAPITAL LETTER C
-FF23 ; [.161D.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C
-2103 ; [*0482.0020.0004.2103][.161D.0020.000A.2103] # DEGREE CELSIUS
-216D ; [.161D.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED
-1F112 ; [*02FB.0020.0004.1F112][.161D.0020.000A.1F112][*02FC.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C
-2102 ; [.161D.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C
-212D ; [.161D.0020.000B.212D] # BLACK-LETTER CAPITAL C
-1D402 ; [.161D.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C
-1D436 ; [.161D.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C
-1D46A ; [.161D.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C
-1D49E ; [.161D.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C
-1D4D2 ; [.161D.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D56E ; [.161D.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D5A2 ; [.161D.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C
-1D5D6 ; [.161D.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D60A ; [.161D.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D63E ; [.161D.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D672 ; [.161D.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C
-24B8 ; [.161D.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C
-1F12B ; [.161D.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F152 ; [.161D.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
-1D9C ; [.161D.0020.0014.1D9C] # MODIFIER LETTER SMALL C
-1F132 ; [.161D.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C
-1F172 ; [.161D.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
-0107 ; [.161D.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE
-0106 ; [.161D.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE
-0109 ; [.161D.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108 ; [.161D.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010D ; [.161D.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON
-010C ; [.161D.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON
-010B ; [.161D.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A ; [.161D.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-00E7 ; [.161D.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA
-1DD7 ; [.161D.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA
-00C7 ; [.161D.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA
-1E09 ; [.161D.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E08 ; [.161D.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-3388 ; [.161D.0020.001C.3388][.15EF.0020.001C.3388][.1711.0020.001C.3388] # SQUARE CAL
-33C4 ; [.161D.0020.001C.33C4][.161D.0020.001C.33C4] # SQUARE CC
-1F12D ; [.161D.0020.000C.1F12D][.1631.0020.000C.1F12D] # CIRCLED CD
-33C5 ; [.161D.0020.001C.33C5][.1631.0020.001C.33C5] # SQUARE CD
-33C6 ; [.161D.0020.001D.33C6][*05AB.0020.001C.33C6][.16FF.0020.001C.33C6][.1691.0020.001C.33C6] # SQUARE C OVER KG
-1F191 ; [.161D.0020.001D.1F191][.1711.0020.001D.1F191] # SQUARED CL
-339D ; [.161D.0020.001C.339D][.1741.0020.001C.339D] # SQUARE CM
-33A0 ; [.161D.0020.001C.33A0][.1741.0020.001C.33A0][.15E7.0020.001C.33A0] # SQUARE CM SQUARED
-33A4 ; [.161D.0020.001C.33A4][.1741.0020.001C.33A4][.15E8.0020.001C.33A4] # SQUARE CM CUBED
-2105 ; [.161D.0020.0004.2105][*0372.0020.0004.2105][.1771.0020.0004.2105] # CARE OF
-33C7 ; [.161D.0020.001D.33C7][.1771.0020.001C.33C7][*0273.0020.001C.33C7] # SQUARE CO
-1F192 ; [.161D.0020.001D.1F192][.1771.0020.001D.1F192][.1771.0020.001D.1F192][.1711.0020.001D.1F192] # SQUARED COOL
-2106 ; [.161D.0020.0004.2106][*0372.0020.0004.2106][.1836.0020.0004.2106] # CADA UNA
-1D04 ; [.1621.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
-023C ; [.1622.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
-023B ; [.1622.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
-A793 ; [.1626.0020.0002.A793] # LATIN SMALL LETTER C WITH BAR
-A792 ; [.1626.0020.0008.A792] # LATIN CAPITAL LETTER C WITH BAR
-0188 ; [.1627.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
-0187 ; [.1627.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
-0255 ; [.162B.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
-1D9D ; [.162B.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL
-2184 ; [.162F.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
-2183 ; [.162F.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
-A73F ; [.1630.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
-A73E ; [.1630.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
-0064 ; [.1631.0020.0002.0064] # LATIN SMALL LETTER D
-FF44 ; [.1631.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D
-0369 ; [.1631.0020.0004.0369] # COMBINING LATIN SMALL LETTER D
-217E ; [.1631.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED
-249F ; [*02FB.0020.0004.249F][.1631.0020.0004.249F][*02FC.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D
-2146 ; [.1631.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D
-1D41D ; [.1631.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D
-1D451 ; [.1631.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D
-1D485 ; [.1631.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D
-1D4B9 ; [.1631.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D
-1D4ED ; [.1631.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D
-1D521 ; [.1631.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D
-1D555 ; [.1631.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D589 ; [.1631.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D
-1D5BD ; [.1631.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D
-1D5F1 ; [.1631.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D625 ; [.1631.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D659 ; [.1631.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D68D ; [.1631.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D
-24D3 ; [.1631.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D
-0044 ; [.1631.0020.0008.0044] # LATIN CAPITAL LETTER D
-FF24 ; [.1631.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D
-216E ; [.1631.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED
-1F113 ; [*02FB.0020.0004.1F113][.1631.0020.000A.1F113][*02FC.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D
-2145 ; [.1631.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D
-1D403 ; [.1631.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D
-1D437 ; [.1631.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D
-1D46B ; [.1631.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D
-1D49F ; [.1631.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D
-1D4D3 ; [.1631.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D507 ; [.1631.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D
-1D53B ; [.1631.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D56F ; [.1631.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D5A3 ; [.1631.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D
-1D5D7 ; [.1631.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D60B ; [.1631.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D63F ; [.1631.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D673 ; [.1631.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D
-24B9 ; [.1631.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D
-1F153 ; [.1631.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
-1D48 ; [.1631.0020.0014.1D48] # MODIFIER LETTER SMALL D
-1D30 ; [.1631.0020.001D.1D30] # MODIFIER LETTER CAPITAL D
-1F133 ; [.1631.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D
-1F173 ; [.1631.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
-010F ; [.1631.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON
-010E ; [.1631.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON
-1E0B ; [.1631.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE
-1E0A ; [.1631.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E11 ; [.1631.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA
-1E10 ; [.1631.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA
-1E0D ; [.1631.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW
-1E0C ; [.1631.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW
-1E13 ; [.1631.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E12 ; [.1631.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E0F ; [.1631.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW
-1E0E ; [.1631.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW
-0111 ; [.1631.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.1631.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.1631.0020.0004.00F0][.0000.0139.0004.00F0] # LATIN SMALL LETTER ETH
-1DD9 ; [.1631.0020.0004.1DD9][.0000.0139.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH
-00D0 ; [.1631.0020.000A.00D0][.0000.0139.0004.00D0] # LATIN CAPITAL LETTER ETH
-1D9E ; [.1631.0020.0014.1D9E][.0000.0139.0014.1D9E] # MODIFIER LETTER SMALL ETH
-1DD8 ; [.1631.0020.0004.1DD8][.0000.013A.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D
-A77A ; [.1631.0020.0004.A77A][.0000.013A.0004.A77A] # LATIN SMALL LETTER INSULAR D
-A779 ; [.1631.0020.000A.A779][.0000.013A.0004.A779] # LATIN CAPITAL LETTER INSULAR D
-3372 ; [.1631.0020.001C.3372][.15EF.0020.001C.3372] # SQUARE DA
-0238 ; [.1631.0020.0004.0238][.1605.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH
-33C8 ; [.1631.0020.001C.33C8][.1605.0020.001D.33C8] # SQUARE DB
-1F190 ; [.1631.0020.001D.1F190][.16E6.0020.001D.1F190] # SQUARE DJ
-3397 ; [.1631.0020.001C.3397][.1711.0020.001C.3397] # SQUARE DL
-3377 ; [.1631.0020.001C.3377][.1741.0020.001C.3377] # SQUARE DM
-3378 ; [.1631.0020.001C.3378][.1741.0020.001C.3378][.15E7.0020.001C.3378] # SQUARE DM SQUARED
-3379 ; [.1631.0020.001C.3379][.1741.0020.001C.3379][.15E8.0020.001C.3379] # SQUARE DM CUBED
-01F3 ; [.1631.0020.0004.01F3][.1895.0020.0004.01F3] # LATIN SMALL LETTER DZ
-02A3 ; [.1631.0020.0004.02A3][.1895.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH
-01F2 ; [.1631.0020.000A.01F2][.1895.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F1 ; [.1631.0020.000A.01F1][.1895.0020.000A.01F1] # LATIN CAPITAL LETTER DZ
-01C6 ; [.1631.0020.0004.01C6][.1895.0020.0004.01C6][.0000.0041.0004.01C6] # LATIN SMALL LETTER DZ WITH CARON
-01C5 ; [.1631.0020.000A.01C5][.1895.0020.0004.01C5][.0000.0041.0004.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C4 ; [.1631.0020.000A.01C4][.1895.0020.000A.01C4][.0000.0041.0004.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
-02A5 ; [.1631.0020.0004.02A5][.18A8.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
-02A4 ; [.1631.0020.0004.02A4][.18B2.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH
-1D05 ; [.1635.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
-1D06 ; [.1636.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
-1D6D ; [.1637.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D81 ; [.1638.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
-0256 ; [.1639.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
-0189 ; [.1639.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
-0257 ; [.163D.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
-018A ; [.163D.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
-1D91 ; [.1641.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
-018C ; [.1642.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
-018B ; [.1642.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
-0221 ; [.1646.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
-A771 ; [.164A.0020.0002.A771] # LATIN SMALL LETTER DUM
-1E9F ; [.164B.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
-0065 ; [.164C.0020.0002.0065] # LATIN SMALL LETTER E
-FF45 ; [.164C.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E
-0364 ; [.164C.0020.0004.0364] # COMBINING LATIN SMALL LETTER E
-24A0 ; [*02FB.0020.0004.24A0][.164C.0020.0004.24A0][*02FC.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E
-212F ; [.164C.0020.0005.212F] # SCRIPT SMALL E
-2147 ; [.164C.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E
-1D41E ; [.164C.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E
-1D452 ; [.164C.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E
-1D486 ; [.164C.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E
-1D4EE ; [.164C.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E
-1D522 ; [.164C.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E
-1D556 ; [.164C.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D58A ; [.164C.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E
-1D5BE ; [.164C.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E
-1D5F2 ; [.164C.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D626 ; [.164C.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D65A ; [.164C.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D68E ; [.164C.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E
-24D4 ; [.164C.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E
-0045 ; [.164C.0020.0008.0045] # LATIN CAPITAL LETTER E
-FF25 ; [.164C.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E
-1F114 ; [*02FB.0020.0004.1F114][.164C.0020.000A.1F114][*02FC.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E
-2130 ; [.164C.0020.000B.2130] # SCRIPT CAPITAL E
-1D404 ; [.164C.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E
-1D438 ; [.164C.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E
-1D46C ; [.164C.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E
-1D4D4 ; [.164C.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D508 ; [.164C.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E
-1D53C ; [.164C.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D570 ; [.164C.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D5A4 ; [.164C.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E
-1D5D8 ; [.164C.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D60C ; [.164C.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D640 ; [.164C.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D674 ; [.164C.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E
-24BA ; [.164C.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E
-1F154 ; [.164C.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
-1D49 ; [.164C.0020.0014.1D49] # MODIFIER LETTER SMALL E
-2091 ; [.164C.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E
-1D31 ; [.164C.0020.001D.1D31] # MODIFIER LETTER CAPITAL E
-1F134 ; [.164C.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E
-1F174 ; [.164C.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
-00E9 ; [.164C.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.164C.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
-00E8 ; [.164C.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.164C.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE
-0115 ; [.164C.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE
-0114 ; [.164C.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
-00EA ; [.164C.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.164C.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EBF ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC5 ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-011B ; [.164C.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON
-011A ; [.164C.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON
-00EB ; [.164C.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB ; [.164C.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS
-1EBD ; [.164C.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE
-1EBC ; [.164C.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
-0117 ; [.164C.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116 ; [.164C.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0229 ; [.164C.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA
-0228 ; [.164C.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA
-1E1D ; [.164C.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1C ; [.164C.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-0119 ; [.164C.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.164C.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK
-0113 ; [.164C.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.164C.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
-1E17 ; [.164C.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E16 ; [.164C.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E15 ; [.164C.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E14 ; [.164C.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1EBB ; [.164C.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA ; [.164C.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-0205 ; [.164C.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0204 ; [.164C.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0207 ; [.164C.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE
-0206 ; [.164C.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-1EB9 ; [.164C.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8 ; [.164C.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7 ; [.164C.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.164C.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1E19 ; [.164C.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E18 ; [.164C.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; [.164C.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW
-1E1A ; [.164C.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW
-32CD ; [.164C.0020.001C.32CD][.17BD.0020.001C.32CD][.1691.0020.001C.32CD] # SQUARE ERG
-32CE ; [.164C.0020.001C.32CE][.185F.0020.001D.32CE] # SQUARE EV
-1D07 ; [.1650.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
-0247 ; [.1651.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
-0246 ; [.1651.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
-1D92 ; [.1655.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-2C78 ; [.1656.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
-01DD ; [.1657.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
-018E ; [.1657.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
-1D32 ; [.1657.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E
-2C7B ; [.165B.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
-0259 ; [.165C.0020.0002.0259] # LATIN SMALL LETTER SCHWA
-018F ; [.165C.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
-1D4A ; [.165C.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA
-2094 ; [.165C.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA
-1D95 ; [.1660.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-025B ; [.1661.0020.0002.025B] # LATIN SMALL LETTER OPEN E
-0190 ; [.1661.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
-2107 ; [.1661.0020.000A.2107] # EULER CONSTANT
-1D4B ; [.1661.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E
-1D93 ; [.1665.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-0258 ; [.1666.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
-025A ; [.166A.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
-025C ; [.166E.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
-1D9F ; [.166E.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E
-1D94 ; [.1672.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D08 ; [.1673.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
-1D4C ; [.1673.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E
-025D ; [.1674.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E ; [.1678.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-029A ; [.167C.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
-0264 ; [.1680.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
-0066 ; [.1684.0020.0002.0066] # LATIN SMALL LETTER F
-FF46 ; [.1684.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F
-24A1 ; [*02FB.0020.0004.24A1][.1684.0020.0004.24A1][*02FC.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F
-1D41F ; [.1684.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F
-1D453 ; [.1684.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F
-1D487 ; [.1684.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F
-1D4BB ; [.1684.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F
-1D4EF ; [.1684.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F
-1D523 ; [.1684.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F
-1D557 ; [.1684.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D58B ; [.1684.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F
-1D5BF ; [.1684.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F
-1D5F3 ; [.1684.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D627 ; [.1684.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D65B ; [.1684.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D68F ; [.1684.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F
-24D5 ; [.1684.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F
-0046 ; [.1684.0020.0008.0046] # LATIN CAPITAL LETTER F
-FF26 ; [.1684.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F
-2109 ; [*0482.0020.0004.2109][.1684.0020.000A.2109] # DEGREE FAHRENHEIT
-1F115 ; [*02FB.0020.0004.1F115][.1684.0020.000A.1F115][*02FC.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F
-2131 ; [.1684.0020.000B.2131] # SCRIPT CAPITAL F
-1D405 ; [.1684.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F
-1D439 ; [.1684.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F
-1D46D ; [.1684.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F
-1D4D5 ; [.1684.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D509 ; [.1684.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F
-1D53D ; [.1684.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D571 ; [.1684.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D5A5 ; [.1684.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F
-1D5D9 ; [.1684.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D60D ; [.1684.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D641 ; [.1684.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D675 ; [.1684.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F
-24BB ; [.1684.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F
-1F155 ; [.1684.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
-1DA0 ; [.1684.0020.0014.1DA0] # MODIFIER LETTER SMALL F
-1F135 ; [.1684.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F
-1F175 ; [.1684.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
-1E1F ; [.1684.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE
-1E1E ; [.1684.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE
-A77C ; [.1684.0020.0004.A77C][.0000.013A.0004.A77C] # LATIN SMALL LETTER INSULAR F
-A77B ; [.1684.0020.000A.A77B][.0000.013A.0004.A77B] # LATIN CAPITAL LETTER INSULAR F
-213B ; [.1684.0020.000A.213B][.15EF.0020.000A.213B][.187B.0020.000A.213B] # FACSIMILE SIGN
-FB00 ; [.1684.0020.0004.FB00][.1684.0020.0004.FB00] # LATIN SMALL LIGATURE FF
-FB03 ; [.1684.0020.0004.FB03][.1684.0020.0004.FB03][.16CD.0020.0004.FB03] # LATIN SMALL LIGATURE FFI
-FB04 ; [.1684.0020.0004.FB04][.1684.0020.0004.FB04][.1711.0020.0004.FB04] # LATIN SMALL LIGATURE FFL
-FB01 ; [.1684.0020.0004.FB01][.16CD.0020.0004.FB01] # LATIN SMALL LIGATURE FI
-FB02 ; [.1684.0020.0004.FB02][.1711.0020.0004.FB02] # LATIN SMALL LIGATURE FL
-3399 ; [.1684.0020.001C.3399][.1741.0020.001C.3399] # SQUARE FM
-02A9 ; [.1684.0020.0004.02A9][.176D.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH
-1F193 ; [.1684.0020.001D.1F193][.17BD.0020.001D.1F193][.164C.0020.001D.1F193][.164C.0020.001D.1F193] # SQUARED FREE
-A730 ; [.1688.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
-1D6E ; [.1689.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D82 ; [.168A.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
-0192 ; [.168B.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
-0191 ; [.168B.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
-214E ; [.168F.0020.0002.214E] # TURNED SMALL F
-2132 ; [.168F.0020.0008.2132] # TURNED CAPITAL F
-A7FB ; [.1690.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
-0067 ; [.1691.0020.0002.0067] # LATIN SMALL LETTER G
-FF47 ; [.1691.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G
-1DDA ; [.1691.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G
-24A2 ; [*02FB.0020.0004.24A2][.1691.0020.0004.24A2][*02FC.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G
-210A ; [.1691.0020.0005.210A] # SCRIPT SMALL G
-1D420 ; [.1691.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G
-1D454 ; [.1691.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G
-1D488 ; [.1691.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G
-1D4F0 ; [.1691.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G
-1D524 ; [.1691.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G
-1D558 ; [.1691.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D58C ; [.1691.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G
-1D5C0 ; [.1691.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G
-1D5F4 ; [.1691.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D628 ; [.1691.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D65C ; [.1691.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D690 ; [.1691.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G
-24D6 ; [.1691.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G
-0047 ; [.1691.0020.0008.0047] # LATIN CAPITAL LETTER G
-FF27 ; [.1691.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G
-1F116 ; [*02FB.0020.0004.1F116][.1691.0020.000A.1F116][*02FC.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G
-1D406 ; [.1691.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G
-1D43A ; [.1691.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G
-1D46E ; [.1691.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G
-1D4A2 ; [.1691.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G
-1D4D6 ; [.1691.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D50A ; [.1691.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G
-1D53E ; [.1691.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D572 ; [.1691.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D5A6 ; [.1691.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G
-1D5DA ; [.1691.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D60E ; [.1691.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D642 ; [.1691.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D676 ; [.1691.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G
-24BC ; [.1691.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G
-1F156 ; [.1691.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
-1D4D ; [.1691.0020.0014.1D4D] # MODIFIER LETTER SMALL G
-1D33 ; [.1691.0020.001D.1D33] # MODIFIER LETTER CAPITAL G
-1F136 ; [.1691.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G
-1F176 ; [.1691.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
-01F5 ; [.1691.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE
-01F4 ; [.1691.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE
-011F ; [.1691.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE
-011E ; [.1691.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE
-011D ; [.1691.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C ; [.1691.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-01E7 ; [.1691.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON
-01E6 ; [.1691.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON
-0121 ; [.1691.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120 ; [.1691.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0123 ; [.1691.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA
-0122 ; [.1691.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA
-1E21 ; [.1691.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON
-1E20 ; [.1691.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON
-A7A1 ; [.1691.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
-A7A0 ; [.1691.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
-1D79 ; [.1691.0020.0004.1D79][.0000.013A.0004.1D79] # LATIN SMALL LETTER INSULAR G
-A77D ; [.1691.0020.000A.A77D][.0000.013A.0004.A77D] # LATIN CAPITAL LETTER INSULAR G
-33FF ; [.1691.0020.001C.33FF][.15EF.0020.001C.33FF][.1711.0020.001C.33FF] # SQUARE GAL
-3387 ; [.1691.0020.001D.3387][.1605.0020.001D.3387] # SQUARE GB
-3393 ; [.1691.0020.001D.3393][.16B4.0020.001D.3393][.1895.0020.001C.3393] # SQUARE GHZ
-33AC ; [.1691.0020.001D.33AC][.1796.0020.001D.33AC][.15EF.0020.001C.33AC] # SQUARE GPA
-33C9 ; [.1691.0020.001D.33C9][.1880.0020.001C.33C9] # SQUARE GY
-0261 ; [.1695.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
-1DA2 ; [.1695.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G
-0262 ; [.1699.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
-1DDB ; [.1699.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G
-01E5 ; [.169D.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.169D.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
-1D83 ; [.16A1.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
-0260 ; [.16A2.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
-0193 ; [.16A2.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
-029B ; [.16A6.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
-1D77 ; [.16AA.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
-A77F ; [.16AB.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
-A77E ; [.16AB.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
-0263 ; [.16AC.0020.0002.0263] # LATIN SMALL LETTER GAMMA
-0194 ; [.16AC.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
-02E0 ; [.16AC.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA
-01A3 ; [.16B0.0020.0002.01A3] # LATIN SMALL LETTER OI
-01A2 ; [.16B0.0020.0008.01A2] # LATIN CAPITAL LETTER OI
-0068 ; [.16B4.0020.0002.0068] # LATIN SMALL LETTER H
-FF48 ; [.16B4.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H
-036A ; [.16B4.0020.0004.036A] # COMBINING LATIN SMALL LETTER H
-24A3 ; [*02FB.0020.0004.24A3][.16B4.0020.0004.24A3][*02FC.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H
-210E ; [.16B4.0020.0005.210E] # PLANCK CONSTANT
-1D421 ; [.16B4.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H
-1D489 ; [.16B4.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H
-1D4BD ; [.16B4.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H
-1D4F1 ; [.16B4.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H
-1D525 ; [.16B4.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H
-1D559 ; [.16B4.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D58D ; [.16B4.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H
-1D5C1 ; [.16B4.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H
-1D5F5 ; [.16B4.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D629 ; [.16B4.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D65D ; [.16B4.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D691 ; [.16B4.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H
-24D7 ; [.16B4.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H
-0048 ; [.16B4.0020.0008.0048] # LATIN CAPITAL LETTER H
-FF28 ; [.16B4.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H
-1F117 ; [*02FB.0020.0004.1F117][.16B4.0020.000A.1F117][*02FC.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H
-210B ; [.16B4.0020.000B.210B] # SCRIPT CAPITAL H
-210C ; [.16B4.0020.000B.210C] # BLACK-LETTER CAPITAL H
-210D ; [.16B4.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H
-1D407 ; [.16B4.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H
-1D43B ; [.16B4.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H
-1D46F ; [.16B4.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H
-1D4D7 ; [.16B4.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D573 ; [.16B4.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D5A7 ; [.16B4.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H
-1D5DB ; [.16B4.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D60F ; [.16B4.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D643 ; [.16B4.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D677 ; [.16B4.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H
-24BD ; [.16B4.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H
-1F157 ; [.16B4.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-02B0 ; [.16B4.0020.0014.02B0] # MODIFIER LETTER SMALL H
-2095 ; [.16B4.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H
-1D34 ; [.16B4.0020.001D.1D34] # MODIFIER LETTER CAPITAL H
-1F137 ; [.16B4.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H
-1F177 ; [.16B4.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
-0125 ; [.16B4.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124 ; [.16B4.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-021F ; [.16B4.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON
-021E ; [.16B4.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON
-1E27 ; [.16B4.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS
-1E26 ; [.16B4.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS
-1E23 ; [.16B4.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE
-1E22 ; [.16B4.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E29 ; [.16B4.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA
-1E28 ; [.16B4.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA
-1E25 ; [.16B4.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW
-1E24 ; [.16B4.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW
-1E2B ; [.16B4.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW
-1E2A ; [.16B4.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E96 ; [.16B4.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW
-0127 ; [.16B4.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE
-210F ; [.16B4.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI
-0126 ; [.16B4.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE
-A7F8 ; [.16B4.0020.0014.A7F8][.0000.007D.0014.A7F8] # MODIFIER LETTER CAPITAL H WITH STROKE
-33CA ; [.16B4.0020.001C.33CA][.15EF.0020.001C.33CA] # SQUARE HA
-32CC ; [.16B4.0020.001D.32CC][.1691.0020.001C.32CC] # SQUARE HG
-33CB ; [.16B4.0020.001D.33CB][.1796.0020.001D.33CB] # SQUARE HP
-3371 ; [.16B4.0020.001C.3371][.1796.0020.001D.3371][.15EF.0020.001C.3371] # SQUARE HPA
-1F14A ; [.16B4.0020.001D.1F14A][.185F.0020.001D.1F14A] # SQUARED HV
-3390 ; [.16B4.0020.001D.3390][.1895.0020.001C.3390] # SQUARE HZ
-029C ; [.16B8.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
-0195 ; [.16BC.0020.0002.0195] # LATIN SMALL LETTER HV
-01F6 ; [.16BC.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
-0266 ; [.16C0.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
-A7AA ; [.16C0.0020.0008.A7AA] # LATIN CAPITAL LETTER H WITH HOOK
-02B1 ; [.16C0.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK
-2C68 ; [.16C4.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
-2C67 ; [.16C4.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
-2C76 ; [.16C5.0020.0002.2C76] # LATIN SMALL LETTER HALF H
-2C75 ; [.16C5.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
-A727 ; [.16C6.0020.0002.A727] # LATIN SMALL LETTER HENG
-A726 ; [.16C6.0020.0008.A726] # LATIN CAPITAL LETTER HENG
-0267 ; [.16C7.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
-02BB ; [.16CB.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD ; [.16CC.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
-0069 ; [.16CD.0020.0002.0069] # LATIN SMALL LETTER I
-FF49 ; [.16CD.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I
-0365 ; [.16CD.0020.0004.0365] # COMBINING LATIN SMALL LETTER I
-2170 ; [.16CD.0020.0004.2170] # SMALL ROMAN NUMERAL ONE
-24A4 ; [*02FB.0020.0004.24A4][.16CD.0020.0004.24A4][*02FC.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I
-2139 ; [.16CD.0020.0005.2139] # INFORMATION SOURCE
-2148 ; [.16CD.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I
-1D422 ; [.16CD.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I
-1D456 ; [.16CD.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I
-1D48A ; [.16CD.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I
-1D4BE ; [.16CD.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I
-1D4F2 ; [.16CD.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I
-1D526 ; [.16CD.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I
-1D55A ; [.16CD.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D58E ; [.16CD.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I
-1D5C2 ; [.16CD.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I
-1D5F6 ; [.16CD.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D62A ; [.16CD.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D65E ; [.16CD.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D692 ; [.16CD.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I
-24D8 ; [.16CD.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I
-0049 ; [.16CD.0020.0008.0049] # LATIN CAPITAL LETTER I
-FF29 ; [.16CD.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I
-2160 ; [.16CD.0020.000A.2160] # ROMAN NUMERAL ONE
-1F118 ; [*02FB.0020.0004.1F118][.16CD.0020.000A.1F118][*02FC.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I
-2110 ; [.16CD.0020.000B.2110] # SCRIPT CAPITAL I
-2111 ; [.16CD.0020.000B.2111] # BLACK-LETTER CAPITAL I
-1D408 ; [.16CD.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I
-1D43C ; [.16CD.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I
-1D470 ; [.16CD.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I
-1D4D8 ; [.16CD.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D540 ; [.16CD.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D574 ; [.16CD.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D5A8 ; [.16CD.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I
-1D5DC ; [.16CD.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D610 ; [.16CD.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D644 ; [.16CD.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D678 ; [.16CD.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I
-24BE ; [.16CD.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I
-1F158 ; [.16CD.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
-2071 ; [.16CD.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I
-1D62 ; [.16CD.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I
-1D35 ; [.16CD.0020.001D.1D35] # MODIFIER LETTER CAPITAL I
-1F138 ; [.16CD.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I
-1F178 ; [.16CD.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
-00ED ; [.16CD.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16CD.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00EC ; [.16CD.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16CD.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-012D ; [.16CD.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE
-012C ; [.16CD.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-00EE ; [.16CD.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE ; [.16CD.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-01D0 ; [.16CD.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16CD.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON
-00EF ; [.16CD.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS
-00CF ; [.16CD.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-1E2F ; [.16CD.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E2E ; [.16CD.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-0129 ; [.16CD.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE
-0128 ; [.16CD.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
-0130 ; [.16CD.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-012F ; [.16CD.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK
-012E ; [.16CD.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-012B ; [.16CD.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16CD.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-1EC9 ; [.16CD.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8 ; [.16CD.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-0209 ; [.16CD.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-0208 ; [.16CD.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020B ; [.16CD.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE
-020A ; [.16CD.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-1ECB ; [.16CD.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA ; [.16CD.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1E2D ; [.16CD.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW
-1E2C ; [.16CD.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW
-1F18B ; [.16CD.0020.001D.1F18B][.161D.0020.001D.1F18B] # NEGATIVE SQUARED IC
-1F194 ; [.16CD.0020.001D.1F194][.1631.0020.001D.1F194] # SQUARED ID
-2171 ; [.16CD.0020.0004.2171][.16CD.0020.001F.2171] # SMALL ROMAN NUMERAL TWO
-2161 ; [.16CD.0020.000A.2161][.16CD.0020.001F.2161] # ROMAN NUMERAL TWO
-2172 ; [.16CD.0020.0004.2172][.16CD.0020.0004.2172][.16CD.0020.001F.2172] # SMALL ROMAN NUMERAL THREE
-2162 ; [.16CD.0020.000A.2162][.16CD.0020.000A.2162][.16CD.0020.001F.2162] # ROMAN NUMERAL THREE
-0133 ; [.16CD.0020.0004.0133][.16E6.0020.0004.0133] # LATIN SMALL LIGATURE IJ
-0132 ; [.16CD.0020.000A.0132][.16E6.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ
-33CC ; [.16CD.0020.001C.33CC][.174F.0020.001C.33CC] # SQUARE IN
-337A ; [.16CD.0020.001D.337A][.1836.0020.001D.337A] # SQUARE IU
-2173 ; [.16CD.0020.0004.2173][.185F.0020.001F.2173] # SMALL ROMAN NUMERAL FOUR
-2163 ; [.16CD.0020.000A.2163][.185F.0020.001F.2163] # ROMAN NUMERAL FOUR
-2178 ; [.16CD.0020.0004.2178][.187B.0020.001F.2178] # SMALL ROMAN NUMERAL NINE
-2168 ; [.16CD.0020.000A.2168][.187B.0020.001F.2168] # ROMAN NUMERAL NINE
-0131 ; [.16D1.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-1D6A4 ; [.16D1.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I
-026A ; [.16D5.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
-1DA6 ; [.16D5.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I
-A7FE ; [.16D9.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
-1D09 ; [.16DA.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
-1D4E ; [.16DA.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I
-0268 ; [.16DB.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
-0197 ; [.16DB.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
-1DA4 ; [.16DB.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE
-1D7B ; [.16DF.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1DA7 ; [.16DF.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1D96 ; [.16E0.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-0269 ; [.16E1.0020.0002.0269] # LATIN SMALL LETTER IOTA
-0196 ; [.16E1.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
-1DA5 ; [.16E1.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA
-1D7C ; [.16E5.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
-006A ; [.16E6.0020.0002.006A] # LATIN SMALL LETTER J
-FF4A ; [.16E6.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J
-24A5 ; [*02FB.0020.0004.24A5][.16E6.0020.0004.24A5][*02FC.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J
-2149 ; [.16E6.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J
-1D423 ; [.16E6.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J
-1D457 ; [.16E6.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J
-1D48B ; [.16E6.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J
-1D4BF ; [.16E6.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J
-1D4F3 ; [.16E6.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J
-1D527 ; [.16E6.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J
-1D55B ; [.16E6.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D58F ; [.16E6.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J
-1D5C3 ; [.16E6.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J
-1D5F7 ; [.16E6.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D62B ; [.16E6.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D65F ; [.16E6.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D693 ; [.16E6.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J
-24D9 ; [.16E6.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J
-004A ; [.16E6.0020.0008.004A] # LATIN CAPITAL LETTER J
-FF2A ; [.16E6.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J
-1F119 ; [*02FB.0020.0004.1F119][.16E6.0020.000A.1F119][*02FC.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J
-1D409 ; [.16E6.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J
-1D43D ; [.16E6.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J
-1D471 ; [.16E6.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J
-1D4A5 ; [.16E6.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J
-1D4D9 ; [.16E6.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D50D ; [.16E6.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J
-1D541 ; [.16E6.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D575 ; [.16E6.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D5A9 ; [.16E6.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J
-1D5DD ; [.16E6.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D611 ; [.16E6.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D645 ; [.16E6.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D679 ; [.16E6.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J
-24BF ; [.16E6.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J
-1F159 ; [.16E6.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
-02B2 ; [.16E6.0020.0014.02B2] # MODIFIER LETTER SMALL J
-2C7C ; [.16E6.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J
-1D36 ; [.16E6.0020.001D.1D36] # MODIFIER LETTER CAPITAL J
-1F139 ; [.16E6.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J
-1F179 ; [.16E6.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-0135 ; [.16E6.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134 ; [.16E6.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-01F0 ; [.16E6.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON
-0237 ; [.16EA.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
-1D6A5 ; [.16EA.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J
-1D0A ; [.16EE.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
-0249 ; [.16EF.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
-0248 ; [.16EF.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
-029D ; [.16F3.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
-1DA8 ; [.16F3.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-025F ; [.16F7.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
-1DA1 ; [.16F7.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-0284 ; [.16FB.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-006B ; [.16FF.0020.0002.006B] # LATIN SMALL LETTER K
-FF4B ; [.16FF.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K
-1DDC ; [.16FF.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K
-24A6 ; [*02FB.0020.0004.24A6][.16FF.0020.0004.24A6][*02FC.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K
-1D424 ; [.16FF.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K
-1D458 ; [.16FF.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K
-1D48C ; [.16FF.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K
-1D4C0 ; [.16FF.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K
-1D4F4 ; [.16FF.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K
-1D528 ; [.16FF.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K
-1D55C ; [.16FF.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D590 ; [.16FF.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K
-1D5C4 ; [.16FF.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K
-1D5F8 ; [.16FF.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D62C ; [.16FF.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D660 ; [.16FF.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D694 ; [.16FF.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K
-24DA ; [.16FF.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K
-004B ; [.16FF.0020.0008.004B] # LATIN CAPITAL LETTER K
-212A ; [.16FF.0020.0008.212A] # KELVIN SIGN
-FF2B ; [.16FF.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K
-1F11A ; [*02FB.0020.0004.1F11A][.16FF.0020.000A.1F11A][*02FC.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K
-1D40A ; [.16FF.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K
-1D43E ; [.16FF.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K
-1D472 ; [.16FF.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K
-1D4A6 ; [.16FF.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K
-1D4DA ; [.16FF.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D50E ; [.16FF.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K
-1D542 ; [.16FF.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D576 ; [.16FF.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D5AA ; [.16FF.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K
-1D5DE ; [.16FF.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D612 ; [.16FF.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D646 ; [.16FF.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D67A ; [.16FF.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K
-24C0 ; [.16FF.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K
-1F15A ; [.16FF.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
-1D4F ; [.16FF.0020.0014.1D4F] # MODIFIER LETTER SMALL K
-2096 ; [.16FF.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K
-1D37 ; [.16FF.0020.001D.1D37] # MODIFIER LETTER CAPITAL K
-1F13A ; [.16FF.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K
-1F17A ; [.16FF.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
-1E31 ; [.16FF.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE
-1E30 ; [.16FF.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE
-01E9 ; [.16FF.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON
-01E8 ; [.16FF.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON
-0137 ; [.16FF.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA
-0136 ; [.16FF.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA
-A7A3 ; [.16FF.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
-A7A2 ; [.16FF.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
-1E33 ; [.16FF.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW
-1E32 ; [.16FF.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW
-1E35 ; [.16FF.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW
-1E34 ; [.16FF.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW
-3384 ; [.16FF.0020.001C.3384][.15EF.0020.001D.3384] # SQUARE KA
-3385 ; [.16FF.0020.001D.3385][.1605.0020.001D.3385] # SQUARE KB
-3389 ; [.16FF.0020.001C.3389][.161D.0020.001C.3389][.15EF.0020.001C.3389][.1711.0020.001C.3389] # SQUARE KCAL
-338F ; [.16FF.0020.001C.338F][.1691.0020.001C.338F] # SQUARE KG
-3391 ; [.16FF.0020.001C.3391][.16B4.0020.001D.3391][.1895.0020.001C.3391] # SQUARE KHZ
-33CD ; [.16FF.0020.001D.33CD][.16FF.0020.001D.33CD] # SQUARE KK
-3398 ; [.16FF.0020.001C.3398][.1711.0020.001C.3398] # SQUARE KL
-339E ; [.16FF.0020.001C.339E][.1741.0020.001C.339E] # SQUARE KM
-33CE ; [.16FF.0020.001D.33CE][.1741.0020.001D.33CE] # SQUARE KM CAPITAL
-33A2 ; [.16FF.0020.001C.33A2][.1741.0020.001C.33A2][.15E7.0020.001C.33A2] # SQUARE KM SQUARED
-33A6 ; [.16FF.0020.001C.33A6][.1741.0020.001C.33A6][.15E8.0020.001C.33A6] # SQUARE KM CUBED
-33AA ; [.16FF.0020.001C.33AA][.1796.0020.001D.33AA][.15EF.0020.001C.33AA] # SQUARE KPA
-33CF ; [.16FF.0020.001C.33CF][.1816.0020.001C.33CF] # SQUARE KT
-33B8 ; [.16FF.0020.001C.33B8][.185F.0020.001D.33B8] # SQUARE KV
-33BE ; [.16FF.0020.001C.33BE][.1871.0020.001D.33BE] # SQUARE KW
-33C0 ; [.16FF.0020.001C.33C0][.1951.0020.001D.33C0] # SQUARE K OHM
-1D0B ; [.1703.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
-1D84 ; [.1704.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
-0199 ; [.1705.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
-0198 ; [.1705.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
-2C6A ; [.1709.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
-2C69 ; [.1709.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
-A741 ; [.170A.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
-A740 ; [.170A.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
-A743 ; [.170B.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A742 ; [.170B.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A745 ; [.170C.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A744 ; [.170C.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-029E ; [.170D.0020.0002.029E] # LATIN SMALL LETTER TURNED K
-006C ; [.1711.0020.0002.006C] # LATIN SMALL LETTER L
-FF4C ; [.1711.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L
-1DDD ; [.1711.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L
-217C ; [.1711.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY
-24A7 ; [*02FB.0020.0004.24A7][.1711.0020.0004.24A7][*02FC.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L
-2113 ; [.1711.0020.0005.2113] # SCRIPT SMALL L
-1D425 ; [.1711.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L
-1D459 ; [.1711.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L
-1D48D ; [.1711.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L
-1D4C1 ; [.1711.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L
-1D4F5 ; [.1711.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L
-1D529 ; [.1711.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L
-1D55D ; [.1711.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D591 ; [.1711.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L
-1D5C5 ; [.1711.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L
-1D5F9 ; [.1711.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D62D ; [.1711.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D661 ; [.1711.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D695 ; [.1711.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L
-24DB ; [.1711.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L
-004C ; [.1711.0020.0008.004C] # LATIN CAPITAL LETTER L
-FF2C ; [.1711.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L
-216C ; [.1711.0020.000A.216C] # ROMAN NUMERAL FIFTY
-1F11B ; [*02FB.0020.0004.1F11B][.1711.0020.000A.1F11B][*02FC.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L
-2112 ; [.1711.0020.000B.2112] # SCRIPT CAPITAL L
-1D40B ; [.1711.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L
-1D43F ; [.1711.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L
-1D473 ; [.1711.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L
-1D4DB ; [.1711.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D50F ; [.1711.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L
-1D543 ; [.1711.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D577 ; [.1711.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D5AB ; [.1711.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L
-1D5DF ; [.1711.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D613 ; [.1711.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D647 ; [.1711.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D67B ; [.1711.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L
-24C1 ; [.1711.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L
-1F15B ; [.1711.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
-02E1 ; [.1711.0020.0014.02E1] # MODIFIER LETTER SMALL L
-2097 ; [.1711.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L
-1D38 ; [.1711.0020.001D.1D38] # MODIFIER LETTER CAPITAL L
-1F13B ; [.1711.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L
-1F17B ; [.1711.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
-013A ; [.1711.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE
-0139 ; [.1711.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE
-013E ; [.1711.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON
-013D ; [.1711.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON
-013C ; [.1711.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA
-013B ; [.1711.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA
-1E37 ; [.1711.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW
-1E36 ; [.1711.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW
-1E39 ; [.1711.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E38 ; [.1711.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3D ; [.1711.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3C ; [.1711.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3B ; [.1711.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW
-1E3A ; [.1711.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW
-0142 ; [.1711.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE
-0141 ; [.1711.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE
-0140 ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 00B7 ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 0387 ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-013F ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 00B7 ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 0387 ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-01C9 ; [.1711.0020.0004.01C9][.16E6.0020.0004.01C9] # LATIN SMALL LETTER LJ
-01C8 ; [.1711.0020.000A.01C8][.16E6.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01C7 ; [.1711.0020.000A.01C7][.16E6.0020.000A.01C7] # LATIN CAPITAL LETTER LJ
-1EFB ; [.1711.0020.0004.1EFB][.1711.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFA ; [.1711.0020.000A.1EFA][.1711.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
-33D0 ; [.1711.0020.001C.33D0][.1741.0020.001C.33D0] # SQUARE LM
-33D1 ; [.1711.0020.001C.33D1][.174F.0020.001C.33D1] # SQUARE LN
-33D2 ; [.1711.0020.001C.33D2][.1771.0020.001C.33D2][.1691.0020.001C.33D2] # SQUARE LOG
-02AA ; [.1711.0020.0004.02AA][.17F3.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH
-32CF ; [.1711.0020.001D.32CF][.1816.0020.001D.32CF][.1631.0020.001D.32CF] # LIMITED LIABILITY SIGN
-33D3 ; [.1711.0020.001C.33D3][.187B.0020.001C.33D3] # SQUARE LX
-02AB ; [.1711.0020.0004.02AB][.1895.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH
-029F ; [.1715.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
-1DDE ; [.1715.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L
-1DAB ; [.1715.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L
-A747 ; [.1719.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
-A746 ; [.1719.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
-1D0C ; [.171A.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
-A749 ; [.171B.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
-A748 ; [.171B.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
-019A ; [.171C.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
-023D ; [.171C.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
-2C61 ; [.1720.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C60 ; [.1720.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-026B ; [.1721.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
-2C62 ; [.1721.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-026C ; [.1725.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
-1D85 ; [.1729.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
-1DAA ; [.1729.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
-026D ; [.172A.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-1DA9 ; [.172A.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-A78E ; [.172E.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-0234 ; [.172F.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
-A772 ; [.1733.0020.0002.A772] # LATIN SMALL LETTER LUM
-026E ; [.1734.0020.0002.026E] # LATIN SMALL LETTER LEZH
-A781 ; [.1738.0020.0002.A781] # LATIN SMALL LETTER TURNED L
-A780 ; [.1738.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
-019B ; [.1739.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
-028E ; [.173D.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
-006D ; [.1741.0020.0002.006D] # LATIN SMALL LETTER M
-FF4D ; [.1741.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M
-036B ; [.1741.0020.0004.036B] # COMBINING LATIN SMALL LETTER M
-217F ; [.1741.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND
-24A8 ; [*02FB.0020.0004.24A8][.1741.0020.0004.24A8][*02FC.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M
-1D426 ; [.1741.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M
-1D45A ; [.1741.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M
-1D48E ; [.1741.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M
-1D4C2 ; [.1741.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M
-1D4F6 ; [.1741.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M
-1D52A ; [.1741.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M
-1D55E ; [.1741.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D592 ; [.1741.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M
-1D5C6 ; [.1741.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M
-1D5FA ; [.1741.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D62E ; [.1741.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D662 ; [.1741.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D696 ; [.1741.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M
-24DC ; [.1741.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M
-004D ; [.1741.0020.0008.004D] # LATIN CAPITAL LETTER M
-FF2D ; [.1741.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M
-216F ; [.1741.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND
-1F11C ; [*02FB.0020.0004.1F11C][.1741.0020.000A.1F11C][*02FC.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M
-2133 ; [.1741.0020.000B.2133] # SCRIPT CAPITAL M
-1D40C ; [.1741.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M
-1D440 ; [.1741.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M
-1D474 ; [.1741.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M
-1D4DC ; [.1741.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D510 ; [.1741.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M
-1D544 ; [.1741.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D578 ; [.1741.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D5AC ; [.1741.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M
-1D5E0 ; [.1741.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D614 ; [.1741.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D648 ; [.1741.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D67C ; [.1741.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M
-24C2 ; [.1741.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M
-1F15C ; [.1741.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
-1D50 ; [.1741.0020.0014.1D50] # MODIFIER LETTER SMALL M
-2098 ; [.1741.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M
-1D39 ; [.1741.0020.001D.1D39] # MODIFIER LETTER CAPITAL M
-1F13C ; [.1741.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M
-1F17C ; [.1741.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1E3F ; [.1741.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.1741.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE
-1E41 ; [.1741.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE
-1E40 ; [.1741.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E43 ; [.1741.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW
-1E42 ; [.1741.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW
-33A1 ; [.1741.0020.001C.33A1][.15E7.0020.001C.33A1] # SQUARE M SQUARED
-33A5 ; [.1741.0020.001C.33A5][.15E8.0020.001C.33A5] # SQUARE M CUBED
-3383 ; [.1741.0020.001C.3383][.15EF.0020.001D.3383] # SQUARE MA
-33D4 ; [.1741.0020.001C.33D4][.1605.0020.001C.33D4] # SQUARE MB SMALL
-3386 ; [.1741.0020.001D.3386][.1605.0020.001D.3386] # SQUARE MB
-1F16A ; [.1741.0020.0014.1F16A][.161D.0020.0014.1F16A] # RAISED MC SIGN
-1F16B ; [.1741.0020.0014.1F16B][.1631.0020.0014.1F16B] # RAISED MD SIGN
-338E ; [.1741.0020.001C.338E][.1691.0020.001C.338E] # SQUARE MG
-3392 ; [.1741.0020.001D.3392][.16B4.0020.001D.3392][.1895.0020.001C.3392] # SQUARE MHZ
-33D5 ; [.1741.0020.001C.33D5][.16CD.0020.001C.33D5][.1711.0020.001C.33D5] # SQUARE MIL
-3396 ; [.1741.0020.001C.3396][.1711.0020.001C.3396] # SQUARE ML
-339C ; [.1741.0020.001C.339C][.1741.0020.001C.339C] # SQUARE MM
-339F ; [.1741.0020.001C.339F][.1741.0020.001C.339F][.15E7.0020.001C.339F] # SQUARE MM SQUARED
-33A3 ; [.1741.0020.001C.33A3][.1741.0020.001C.33A3][.15E8.0020.001C.33A3] # SQUARE MM CUBED
-33D6 ; [.1741.0020.001C.33D6][.1771.0020.001C.33D6][.1711.0020.001C.33D6] # SQUARE MOL
-33AB ; [.1741.0020.001D.33AB][.1796.0020.001D.33AB][.15EF.0020.001C.33AB] # SQUARE MPA
-33A7 ; [.1741.0020.001C.33A7][*05AB.0020.001C.33A7][.17F3.0020.001C.33A7] # SQUARE M OVER S
-33B3 ; [.1741.0020.001C.33B3][.17F3.0020.001C.33B3] # SQUARE MS
-33A8 ; [.1741.0020.001C.33A8][*05AB.0020.001C.33A8][.17F3.0020.001C.33A8][.15E7.0020.001C.33A8] # SQUARE M OVER S SQUARED
-33B7 ; [.1741.0020.001C.33B7][.185F.0020.001D.33B7] # SQUARE MV
-33B9 ; [.1741.0020.001D.33B9][.185F.0020.001D.33B9] # SQUARE MV MEGA
-1F14B ; [.1741.0020.001D.1F14B][.185F.0020.001D.1F14B] # SQUARED MV
-33BD ; [.1741.0020.001C.33BD][.1871.0020.001D.33BD] # SQUARE MW
-33BF ; [.1741.0020.001D.33BF][.1871.0020.001D.33BF] # SQUARE MW MEGA
-33C1 ; [.1741.0020.001D.33C1][.1951.0020.001D.33C1] # SQUARE M OHM
-1D0D ; [.1745.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
-1DDF ; [.1745.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M
-1D6F ; [.1746.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D86 ; [.1747.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
-0271 ; [.1748.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
-2C6E ; [.1748.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
-1DAC ; [.1748.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK
-A7FD ; [.174C.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FF ; [.174D.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A773 ; [.174E.0020.0002.A773] # LATIN SMALL LETTER MUM
-006E ; [.174F.0020.0002.006E] # LATIN SMALL LETTER N
-FF4E ; [.174F.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N
-1DE0 ; [.174F.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N
-24A9 ; [*02FB.0020.0004.24A9][.174F.0020.0004.24A9][*02FC.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N
-1D427 ; [.174F.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N
-1D45B ; [.174F.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N
-1D48F ; [.174F.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N
-1D4C3 ; [.174F.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N
-1D4F7 ; [.174F.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N
-1D52B ; [.174F.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N
-1D55F ; [.174F.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D593 ; [.174F.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N
-1D5C7 ; [.174F.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N
-1D5FB ; [.174F.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D62F ; [.174F.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D663 ; [.174F.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D697 ; [.174F.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N
-24DD ; [.174F.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N
-004E ; [.174F.0020.0008.004E] # LATIN CAPITAL LETTER N
-FF2E ; [.174F.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N
-1F11D ; [*02FB.0020.0004.1F11D][.174F.0020.000A.1F11D][*02FC.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N
-2115 ; [.174F.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N
-1D40D ; [.174F.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N
-1D441 ; [.174F.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N
-1D475 ; [.174F.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N
-1D4A9 ; [.174F.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N
-1D4DD ; [.174F.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D511 ; [.174F.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N
-1D579 ; [.174F.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D5AD ; [.174F.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N
-1D5E1 ; [.174F.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D615 ; [.174F.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D649 ; [.174F.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D67D ; [.174F.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N
-24C3 ; [.174F.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N
-1F15D ; [.174F.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
-207F ; [.174F.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N
-2099 ; [.174F.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N
-1D3A ; [.174F.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N
-1F13D ; [.174F.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N
-1F17D ; [.174F.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
-0144 ; [.174F.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174F.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE
-01F9 ; [.174F.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174F.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE
-0148 ; [.174F.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174F.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON
-00F1 ; [.174F.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.174F.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE
-1E45 ; [.174F.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44 ; [.174F.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-0146 ; [.174F.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA
-0145 ; [.174F.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA
-A7A5 ; [.174F.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
-A7A4 ; [.174F.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
-1E47 ; [.174F.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW
-1E46 ; [.174F.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW
-1E4B ; [.174F.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4A ; [.174F.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E49 ; [.174F.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW
-1E48 ; [.174F.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW
-3381 ; [.174F.0020.001C.3381][.15EF.0020.001D.3381] # SQUARE NA
-1F195 ; [.174F.0020.001D.1F195][.164C.0020.001D.1F195][.1871.0020.001D.1F195] # SQUARED NEW
-338B ; [.174F.0020.001C.338B][.1684.0020.001D.338B] # SQUARE NF
-1F196 ; [.174F.0020.001D.1F196][.1691.0020.001D.1F196] # SQUARED NG
-01CC ; [.174F.0020.0004.01CC][.16E6.0020.0004.01CC] # LATIN SMALL LETTER NJ
-01CB ; [.174F.0020.000A.01CB][.16E6.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CA ; [.174F.0020.000A.01CA][.16E6.0020.000A.01CA] # LATIN CAPITAL LETTER NJ
-339A ; [.174F.0020.001C.339A][.1741.0020.001C.339A] # SQUARE NM
-2116 ; [.174F.0020.000A.2116][.1771.0020.0004.2116] # NUMERO SIGN
-33B1 ; [.174F.0020.001C.33B1][.17F3.0020.001C.33B1] # SQUARE NS
-33B5 ; [.174F.0020.001C.33B5][.185F.0020.001D.33B5] # SQUARE NV
-33BB ; [.174F.0020.001C.33BB][.1871.0020.001D.33BB] # SQUARE NW
-0274 ; [.1753.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
-1DE1 ; [.1753.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N
-1DB0 ; [.1753.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N
-1D3B ; [.1757.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
-1D0E ; [.1758.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
-1D70 ; [.1759.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
-0272 ; [.175A.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
-019D ; [.175A.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
-1DAE ; [.175A.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK
-019E ; [.175E.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-0220 ; [.175E.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-A791 ; [.1762.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
-A790 ; [.1762.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
-1D87 ; [.1763.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
-0273 ; [.1764.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-1DAF ; [.1764.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-0235 ; [.1768.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
-A774 ; [.176C.0020.0002.A774] # LATIN SMALL LETTER NUM
-014B ; [.176D.0020.0002.014B] # LATIN SMALL LETTER ENG
-014A ; [.176D.0020.0008.014A] # LATIN CAPITAL LETTER ENG
-1D51 ; [.176D.0020.0014.1D51] # MODIFIER LETTER SMALL ENG
-006F ; [.1771.0020.0002.006F] # LATIN SMALL LETTER O
-FF4F ; [.1771.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O
-0366 ; [.1771.0020.0004.0366] # COMBINING LATIN SMALL LETTER O
-24AA ; [*02FB.0020.0004.24AA][.1771.0020.0004.24AA][*02FC.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O
-2134 ; [.1771.0020.0005.2134] # SCRIPT SMALL O
-1D428 ; [.1771.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O
-1D45C ; [.1771.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O
-1D490 ; [.1771.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O
-1D4F8 ; [.1771.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O
-1D52C ; [.1771.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O
-1D560 ; [.1771.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D594 ; [.1771.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O
-1D5C8 ; [.1771.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O
-1D5FC ; [.1771.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D630 ; [.1771.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D664 ; [.1771.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D698 ; [.1771.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O
-24DE ; [.1771.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O
-004F ; [.1771.0020.0008.004F] # LATIN CAPITAL LETTER O
-FF2F ; [.1771.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O
-1F11E ; [*02FB.0020.0004.1F11E][.1771.0020.000A.1F11E][*02FC.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O
-1D40E ; [.1771.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O
-1D442 ; [.1771.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O
-1D476 ; [.1771.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O
-1D4AA ; [.1771.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O
-1D4DE ; [.1771.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D512 ; [.1771.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O
-1D546 ; [.1771.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D57A ; [.1771.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D5AE ; [.1771.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O
-1D5E2 ; [.1771.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D616 ; [.1771.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D64A ; [.1771.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D67E ; [.1771.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O
-24C4 ; [.1771.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O
-1F15E ; [.1771.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
-00BA ; [.1771.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR
-1D52 ; [.1771.0020.0014.1D52] # MODIFIER LETTER SMALL O
-2092 ; [.1771.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O
-1D3C ; [.1771.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O
-1F13E ; [.1771.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O
-1F17E ; [.1771.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
-00F3 ; [.1771.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1771.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
-00F2 ; [.1771.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1771.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE
-014F ; [.1771.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE
-014E ; [.1771.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
-00F4 ; [.1771.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1771.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED1 ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED7 ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-01D2 ; [.1771.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1771.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON
-00F6 ; [.1771.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1771.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1771.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1771.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1771.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1771.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5 ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.1771.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4F ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-022D ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022F ; [.1771.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE
-022E ; [.1771.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE
-0231 ; [.1771.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0230 ; [.1771.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-00F8 ; [.1771.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1771.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1771.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1771.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-01EB ; [.1771.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK
-01EA ; [.1771.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK
-01ED ; [.1771.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EC ; [.1771.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-014D ; [.1771.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1771.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
-1E53 ; [.1771.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E52 ; [.1771.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E51 ; [.1771.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E50 ; [.1771.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1ECF ; [.1771.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE ; [.1771.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-020D ; [.1771.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020C ; [.1771.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020F ; [.1771.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE
-020E ; [.1771.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-01A1 ; [.1771.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN
-01A0 ; [.1771.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN
-1EDB ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDD ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EE1 ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3 ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1ECD ; [.1771.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1771.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9 ; [.1771.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1771.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0153 ; [.1771.0020.0004.0153][.0000.0139.0004.0153][.164C.0020.0004.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1771.0020.000A.0152][.0000.0139.0004.0152][.164C.0020.000A.0152] # LATIN CAPITAL LIGATURE OE
-A7F9 ; [.1771.0020.0014.A7F9][.0000.0139.0014.A7F9][.164C.0020.0014.A7F9] # MODIFIER LETTER SMALL LIGATURE OE
-1F197 ; [.1771.0020.001D.1F197][.16FF.0020.001D.1F197] # SQUARED OK
-A74F ; [.1771.0020.0004.A74F][.1771.0020.0004.A74F] # LATIN SMALL LETTER OO
-A74E ; [.1771.0020.000A.A74E][.1771.0020.000A.A74E] # LATIN CAPITAL LETTER OO
-3375 ; [.1771.0020.001C.3375][.185F.0020.001D.3375] # SQUARE OV
-1D0F ; [.1775.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
-1D11 ; [.1776.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
-0276 ; [.1777.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
-1D14 ; [.177B.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
-1D13 ; [.177C.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-0254 ; [.177D.0020.0002.0254] # LATIN SMALL LETTER OPEN O
-0186 ; [.177D.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
-1D53 ; [.177D.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O
-1D10 ; [.1781.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
-1D12 ; [.1782.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D97 ; [.1783.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-A74D ; [.1784.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
-A74C ; [.1784.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
-1D16 ; [.1785.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
-1D54 ; [.1785.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O
-1D17 ; [.1786.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
-1D55 ; [.1786.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O
-2C7A ; [.1787.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
-0275 ; [.1788.0020.0002.0275] # LATIN SMALL LETTER BARRED O
-019F ; [.1788.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-1DB1 ; [.1788.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O
-A74B ; [.178C.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74A ; [.178C.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-0277 ; [.178D.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
-0223 ; [.1791.0020.0002.0223] # LATIN SMALL LETTER OU
-0222 ; [.1791.0020.0008.0222] # LATIN CAPITAL LETTER OU
-1D3D ; [.1791.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU
-1D15 ; [.1795.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
-0070 ; [.1796.0020.0002.0070] # LATIN SMALL LETTER P
-FF50 ; [.1796.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P
-24AB ; [*02FB.0020.0004.24AB][.1796.0020.0004.24AB][*02FC.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P
-1D429 ; [.1796.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P
-1D45D ; [.1796.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P
-1D491 ; [.1796.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P
-1D4C5 ; [.1796.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P
-1D4F9 ; [.1796.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P
-1D52D ; [.1796.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P
-1D561 ; [.1796.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D595 ; [.1796.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P
-1D5C9 ; [.1796.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P
-1D5FD ; [.1796.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D631 ; [.1796.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D665 ; [.1796.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D699 ; [.1796.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P
-24DF ; [.1796.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P
-0050 ; [.1796.0020.0008.0050] # LATIN CAPITAL LETTER P
-FF30 ; [.1796.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P
-1F11F ; [*02FB.0020.0004.1F11F][.1796.0020.000A.1F11F][*02FC.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P
-2119 ; [.1796.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P
-1D40F ; [.1796.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P
-1D443 ; [.1796.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P
-1D477 ; [.1796.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P
-1D4AB ; [.1796.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P
-1D4DF ; [.1796.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D513 ; [.1796.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P
-1D57B ; [.1796.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D5AF ; [.1796.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P
-1D5E3 ; [.1796.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D617 ; [.1796.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D64B ; [.1796.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D67F ; [.1796.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P
-24C5 ; [.1796.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P
-1F15F ; [.1796.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1D56 ; [.1796.0020.0014.1D56] # MODIFIER LETTER SMALL P
-209A ; [.1796.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P
-1D3E ; [.1796.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P
-1F13F ; [.1796.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P
-1F17F ; [.1796.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A ; [.1796.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1E55 ; [.1796.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE
-1E54 ; [.1796.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE
-1E57 ; [.1796.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE
-1E56 ; [.1796.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE
-3380 ; [.1796.0020.001C.3380][.15EF.0020.001D.3380] # SQUARE PA AMPS
-33A9 ; [.1796.0020.001D.33A9][.15EF.0020.001C.33A9] # SQUARE PA
-1F18C ; [.1796.0020.001D.1F18C][.15EF.0020.001D.1F18C] # NEGATIVE SQUARED PA
-3376 ; [.1796.0020.001C.3376][.161D.0020.001C.3376] # SQUARE PC
-338A ; [.1796.0020.001C.338A][.1684.0020.001D.338A] # SQUARE PF
-33D7 ; [.1796.0020.001D.33D7][.16B4.0020.001D.33D7] # SQUARE PH
-33D8 ; [.1796.0020.001C.33D8][*0273.0020.001C.33D8][.1741.0020.001C.33D8][*0273.0020.001C.33D8] # SQUARE PM
-33D9 ; [.1796.0020.001D.33D9][.1796.0020.001D.33D9][.1741.0020.001D.33D9] # SQUARE PPM
-1F14E ; [.1796.0020.001D.1F14E][.1796.0020.001D.1F14E][.185F.0020.001D.1F14E] # SQUARED PPV
-33DA ; [.1796.0020.001D.33DA][.17BD.0020.001D.33DA] # SQUARE PR
-33B0 ; [.1796.0020.001C.33B0][.17F3.0020.001C.33B0] # SQUARE PS
-3250 ; [.1796.0020.001D.3250][.1816.0020.001D.3250][.164C.0020.001D.3250] # PARTNERSHIP SIGN
-33B4 ; [.1796.0020.001C.33B4][.185F.0020.001D.33B4] # SQUARE PV
-33BA ; [.1796.0020.001C.33BA][.1871.0020.001D.33BA] # SQUARE PW
-1D18 ; [.179A.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
-1D7D ; [.179B.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
-2C63 ; [.179B.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
-A751 ; [.179C.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A750 ; [.179C.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-1D71 ; [.179D.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D88 ; [.179E.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
-01A5 ; [.179F.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
-01A4 ; [.179F.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
-A753 ; [.17A3.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
-A752 ; [.17A3.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
-A755 ; [.17A4.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A754 ; [.17A4.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A7FC ; [.17A5.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
-0278 ; [.17A6.0020.0002.0278] # LATIN SMALL LETTER PHI
-1DB2 ; [.17A6.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI
-2C77 ; [.17AA.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
-0071 ; [.17AB.0020.0002.0071] # LATIN SMALL LETTER Q
-FF51 ; [.17AB.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q
-24AC ; [*02FB.0020.0004.24AC][.17AB.0020.0004.24AC][*02FC.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q
-1D42A ; [.17AB.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q
-1D45E ; [.17AB.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q
-1D492 ; [.17AB.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q
-1D4C6 ; [.17AB.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q
-1D4FA ; [.17AB.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q
-1D52E ; [.17AB.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q
-1D562 ; [.17AB.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D596 ; [.17AB.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D5CA ; [.17AB.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q
-1D5FE ; [.17AB.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D632 ; [.17AB.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D666 ; [.17AB.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D69A ; [.17AB.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q
-24E0 ; [.17AB.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q
-0051 ; [.17AB.0020.0008.0051] # LATIN CAPITAL LETTER Q
-FF31 ; [.17AB.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q
-1F120 ; [*02FB.0020.0004.1F120][.17AB.0020.000A.1F120][*02FC.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q
-211A ; [.17AB.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q
-1D410 ; [.17AB.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q
-1D444 ; [.17AB.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q
-1D478 ; [.17AB.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D4AC ; [.17AB.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q
-1D4E0 ; [.17AB.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D514 ; [.17AB.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q
-1D57C ; [.17AB.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D5B0 ; [.17AB.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5E4 ; [.17AB.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D618 ; [.17AB.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D64C ; [.17AB.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D680 ; [.17AB.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q
-24C6 ; [.17AB.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q
-1F160 ; [.17AB.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
-1F140 ; [.17AB.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q
-1F180 ; [.17AB.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
-0239 ; [.17AB.0020.0004.0239][.1796.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH
-A757 ; [.17AF.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A756 ; [.17AF.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; [.17B0.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A758 ; [.17B0.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-02A0 ; [.17B1.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
-024B ; [.17B5.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
-024A ; [.17B5.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-0138 ; [.17B9.0020.0002.0138] # LATIN SMALL LETTER KRA
-0072 ; [.17BD.0020.0002.0072] # LATIN SMALL LETTER R
-FF52 ; [.17BD.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R
-036C ; [.17BD.0020.0004.036C] # COMBINING LATIN SMALL LETTER R
-1DCA ; [.17BD.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW
-24AD ; [*02FB.0020.0004.24AD][.17BD.0020.0004.24AD][*02FC.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R
-1D42B ; [.17BD.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R
-1D45F ; [.17BD.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R
-1D493 ; [.17BD.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R
-1D4C7 ; [.17BD.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R
-1D4FB ; [.17BD.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R
-1D52F ; [.17BD.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R
-1D563 ; [.17BD.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D597 ; [.17BD.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R
-1D5CB ; [.17BD.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R
-1D5FF ; [.17BD.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D633 ; [.17BD.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D667 ; [.17BD.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D69B ; [.17BD.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R
-24E1 ; [.17BD.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R
-0052 ; [.17BD.0020.0008.0052] # LATIN CAPITAL LETTER R
-FF32 ; [.17BD.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R
-1F121 ; [*02FB.0020.0004.1F121][.17BD.0020.000A.1F121][*02FC.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R
-211B ; [.17BD.0020.000B.211B] # SCRIPT CAPITAL R
-211C ; [.17BD.0020.000B.211C] # BLACK-LETTER CAPITAL R
-211D ; [.17BD.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R
-1D411 ; [.17BD.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R
-1D445 ; [.17BD.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R
-1D479 ; [.17BD.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R
-1D4E1 ; [.17BD.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D57D ; [.17BD.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D5B1 ; [.17BD.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R
-1D5E5 ; [.17BD.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D619 ; [.17BD.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D64D ; [.17BD.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D681 ; [.17BD.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R
-24C7 ; [.17BD.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R
-1F12C ; [.17BD.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F161 ; [.17BD.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
-02B3 ; [.17BD.0020.0014.02B3] # MODIFIER LETTER SMALL R
-1D63 ; [.17BD.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R
-1D3F ; [.17BD.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R
-1F141 ; [.17BD.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R
-1F181 ; [.17BD.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
-0155 ; [.17BD.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE
-0154 ; [.17BD.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE
-0159 ; [.17BD.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON
-0158 ; [.17BD.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON
-1E59 ; [.17BD.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE
-1E58 ; [.17BD.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE
-0157 ; [.17BD.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA
-0156 ; [.17BD.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA
-A7A7 ; [.17BD.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
-A7A6 ; [.17BD.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
-0211 ; [.17BD.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0210 ; [.17BD.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0213 ; [.17BD.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE
-0212 ; [.17BD.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-1E5B ; [.17BD.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW
-1E5A ; [.17BD.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5D ; [.17BD.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5C ; [.17BD.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; [.17BD.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW
-1E5E ; [.17BD.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW
-A783 ; [.17BD.0020.0004.A783][.0000.013A.0004.A783] # LATIN SMALL LETTER INSULAR R
-A782 ; [.17BD.0020.000A.A782][.0000.013A.0004.A782] # LATIN CAPITAL LETTER INSULAR R
-33AD ; [.17BD.0020.001C.33AD][.15EF.0020.001C.33AD][.1631.0020.001C.33AD] # SQUARE RAD
-33AE ; [.17BD.0020.001C.33AE][.15EF.0020.001C.33AE][.1631.0020.001C.33AE][*05AB.0020.001C.33AE][.17F3.0020.001C.33AE] # SQUARE RAD OVER S
-33AF ; [.17BD.0020.001C.33AF][.15EF.0020.001C.33AF][.1631.0020.001C.33AF][*05AB.0020.001C.33AF][.17F3.0020.001C.33AF][.15E7.0020.001C.33AF] # SQUARE RAD OVER S SQUARED
-20A8 ; [.17BD.0020.000A.20A8][.17F3.0020.0004.20A8] # RUPEE SIGN
-0280 ; [.17C1.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
-1DE2 ; [.17C1.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R
-01A6 ; [.17C1.0020.0008.01A6] # LATIN LETTER YR
-A75B ; [.17C5.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
-1DE3 ; [.17C5.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA
-A75A ; [.17C5.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
-1D19 ; [.17C6.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
-024D ; [.17C7.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
-024C ; [.17C7.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
-1D72 ; [.17CB.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
-0279 ; [.17CC.0020.0002.0279] # LATIN SMALL LETTER TURNED R
-02B4 ; [.17CC.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R
-1D1A ; [.17D0.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
-027A ; [.17D1.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
-1D89 ; [.17D5.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
-027B ; [.17D6.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
-02B5 ; [.17D6.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK
-2C79 ; [.17DA.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
-027C ; [.17DB.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
-027D ; [.17DF.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
-2C64 ; [.17DF.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
-027E ; [.17E3.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
-1D73 ; [.17E7.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-027F ; [.17E8.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0281 ; [.17EC.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
-02B6 ; [.17EC.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R
-A775 ; [.17F0.0020.0002.A775] # LATIN SMALL LETTER RUM
-A776 ; [.17F1.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
-A75D ; [.17F2.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
-A75C ; [.17F2.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
-0073 ; [.17F3.0020.0002.0073] # LATIN SMALL LETTER S
-FF53 ; [.17F3.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S
-1DE4 ; [.17F3.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S
-24AE ; [*02FB.0020.0004.24AE][.17F3.0020.0004.24AE][*02FC.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S
-1D42C ; [.17F3.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S
-1D460 ; [.17F3.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S
-1D494 ; [.17F3.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S
-1D4C8 ; [.17F3.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S
-1D4FC ; [.17F3.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S
-1D530 ; [.17F3.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S
-1D564 ; [.17F3.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D598 ; [.17F3.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S
-1D5CC ; [.17F3.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S
-1D600 ; [.17F3.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D634 ; [.17F3.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D668 ; [.17F3.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D69C ; [.17F3.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S
-24E2 ; [.17F3.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S
-0053 ; [.17F3.0020.0008.0053] # LATIN CAPITAL LETTER S
-FF33 ; [.17F3.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S
-1F122 ; [*02FB.0020.0004.1F122][.17F3.0020.000A.1F122][*02FC.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S
-1F12A ; [*0359.0020.0004.1F12A][.17F3.0020.000A.1F12A][*035A.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1D412 ; [.17F3.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S
-1D446 ; [.17F3.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S
-1D47A ; [.17F3.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S
-1D4AE ; [.17F3.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S
-1D4E2 ; [.17F3.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D516 ; [.17F3.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S
-1D54A ; [.17F3.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D57E ; [.17F3.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D5B2 ; [.17F3.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S
-1D5E6 ; [.17F3.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D61A ; [.17F3.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D64E ; [.17F3.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D682 ; [.17F3.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S
-24C8 ; [.17F3.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S
-1F162 ; [.17F3.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
-02E2 ; [.17F3.0020.0014.02E2] # MODIFIER LETTER SMALL S
-209B ; [.17F3.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S
-1F142 ; [.17F3.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S
-1F182 ; [.17F3.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
-015B ; [.17F3.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE
-015A ; [.17F3.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE
-1E65 ; [.17F3.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E64 ; [.17F3.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-015D ; [.17F3.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C ; [.17F3.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0161 ; [.17F3.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17F3.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON
-1E67 ; [.17F3.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E66 ; [.17F3.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E61 ; [.17F3.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE
-1E60 ; [.17F3.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE
-015F ; [.17F3.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA
-015E ; [.17F3.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA
-A7A9 ; [.17F3.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
-A7A8 ; [.17F3.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
-1E63 ; [.17F3.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62 ; [.17F3.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW
-1E69 ; [.17F3.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E68 ; [.17F3.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-0219 ; [.17F3.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW
-0218 ; [.17F3.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-017F ; [.17F3.0020.0004.017F][.0000.013A.0004.017F] # LATIN SMALL LETTER LONG S
-1DE5 ; [.17F3.0020.0004.1DE5][.0000.013A.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S
-A785 ; [.17F3.0020.0004.A785][.0000.013A.0004.A785] # LATIN SMALL LETTER INSULAR S
-A784 ; [.17F3.0020.000A.A784][.0000.013A.0004.A784] # LATIN CAPITAL LETTER INSULAR S
-1E9B ; [.17F3.0020.0004.1E9B][.0000.013A.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1F18D ; [.17F3.0020.001D.1F18D][.15EF.0020.001D.1F18D] # NEGATIVE SQUARED SA
-1F14C ; [.17F3.0020.001D.1F14C][.1631.0020.001D.1F14C] # SQUARED SD
-2120 ; [.17F3.0020.0014.2120][.1741.0020.0014.2120] # SERVICE MARK
-1F198 ; [.17F3.0020.001D.1F198][.1771.0020.001D.1F198][.17F3.0020.001D.1F198] # SQUARED SOS
-33DB ; [.17F3.0020.001C.33DB][.17BD.0020.001C.33DB] # SQUARE SR
-1F14D ; [.17F3.0020.001D.1F14D][.17F3.0020.001D.1F14D] # SQUARED SS
-00DF ; [.17F3.0020.0004.00DF][.0000.0139.0004.00DF][.17F3.0020.0004.00DF] # LATIN SMALL LETTER SHARP S
-1E9E ; [.17F3.0020.000A.1E9E][.0000.0139.0004.1E9E][.17F3.0020.000A.1E9E] # LATIN CAPITAL LETTER SHARP S
-FB06 ; [.17F3.0020.0004.FB06][.1816.0020.0004.FB06] # LATIN SMALL LIGATURE ST
-FB05 ; [.17F3.0020.0004.FB05][.0000.013A.0004.FB05][.1816.0020.0004.FB05] # LATIN SMALL LIGATURE LONG S T
-33DC ; [.17F3.0020.001D.33DC][.185F.0020.001C.33DC] # SQUARE SV
-A731 ; [.17F7.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
-1D74 ; [.17F8.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D8A ; [.17F9.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
-0282 ; [.17FA.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
-1DB3 ; [.17FA.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK
-023F ; [.17FE.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
-2C7E ; [.17FE.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
-1E9C ; [.1802.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D ; [.1803.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-0283 ; [.1804.0020.0002.0283] # LATIN SMALL LETTER ESH
-01A9 ; [.1804.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
-1DB4 ; [.1804.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH
-1D8B ; [.1808.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-01AA ; [.1809.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
-0285 ; [.180D.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
-1D98 ; [.1811.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-0286 ; [.1812.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
-0074 ; [.1816.0020.0002.0074] # LATIN SMALL LETTER T
-FF54 ; [.1816.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T
-036D ; [.1816.0020.0004.036D] # COMBINING LATIN SMALL LETTER T
-24AF ; [*02FB.0020.0004.24AF][.1816.0020.0004.24AF][*02FC.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T
-1D42D ; [.1816.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T
-1D461 ; [.1816.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T
-1D495 ; [.1816.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T
-1D4C9 ; [.1816.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T
-1D4FD ; [.1816.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T
-1D531 ; [.1816.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T
-1D565 ; [.1816.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D599 ; [.1816.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T
-1D5CD ; [.1816.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T
-1D601 ; [.1816.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D635 ; [.1816.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D669 ; [.1816.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D69D ; [.1816.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T
-24E3 ; [.1816.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T
-0054 ; [.1816.0020.0008.0054] # LATIN CAPITAL LETTER T
-FF34 ; [.1816.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T
-1F123 ; [*02FB.0020.0004.1F123][.1816.0020.000A.1F123][*02FC.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T
-1D413 ; [.1816.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T
-1D447 ; [.1816.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T
-1D47B ; [.1816.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T
-1D4AF ; [.1816.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T
-1D4E3 ; [.1816.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D517 ; [.1816.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T
-1D54B ; [.1816.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D57F ; [.1816.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D5B3 ; [.1816.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T
-1D5E7 ; [.1816.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D61B ; [.1816.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D64F ; [.1816.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D683 ; [.1816.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T
-24C9 ; [.1816.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T
-1F163 ; [.1816.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
-1D57 ; [.1816.0020.0014.1D57] # MODIFIER LETTER SMALL T
-209C ; [.1816.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T
-1D40 ; [.1816.0020.001D.1D40] # MODIFIER LETTER CAPITAL T
-1F143 ; [.1816.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T
-1F183 ; [.1816.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
-0165 ; [.1816.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON
-0164 ; [.1816.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON
-1E97 ; [.1816.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS
-1E6B ; [.1816.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE
-1E6A ; [.1816.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE
-0163 ; [.1816.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA
-0162 ; [.1816.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA
-1E6D ; [.1816.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW
-1E6C ; [.1816.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW
-021B ; [.1816.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW
-021A ; [.1816.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-1E71 ; [.1816.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E70 ; [.1816.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E6F ; [.1816.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW
-1E6E ; [.1816.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW
-A787 ; [.1816.0020.0004.A787][.0000.013A.0004.A787] # LATIN SMALL LETTER INSULAR T
-A786 ; [.1816.0020.000A.A786][.0000.013A.0004.A786] # LATIN CAPITAL LETTER INSULAR T
-02A8 ; [.1816.0020.0004.02A8][.162B.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
-2121 ; [.1816.0020.000A.2121][.164C.0020.000A.2121][.1711.0020.000A.2121] # TELEPHONE SIGN
-1D7A ; [.1816.0020.0004.1D7A][.0000.0139.0004.1D7A][.16B4.0020.0004.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
-3394 ; [.1816.0020.001D.3394][.16B4.0020.001D.3394][.1895.0020.001C.3394] # SQUARE THZ
-2122 ; [.1816.0020.0014.2122][.1741.0020.0014.2122] # TRADE MARK SIGN
-01BE ; [.1816.0020.0004.01BE][.17F3.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
-02A6 ; [.1816.0020.0004.02A6][.17F3.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH
-02A7 ; [.1816.0020.0004.02A7][.1804.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH
-A729 ; [.1816.0020.0004.A729][.1895.0020.0004.A729] # LATIN SMALL LETTER TZ
-A728 ; [.1816.0020.000A.A728][.1895.0020.0004.A728] # LATIN CAPITAL LETTER TZ
-1D1B ; [.181A.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
-0167 ; [.181B.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.181B.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
-2C66 ; [.181F.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-023E ; [.181F.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-1D75 ; [.1820.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
-01AB ; [.1821.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
-1DB5 ; [.1821.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
-01AD ; [.1825.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
-01AC ; [.1825.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
-0288 ; [.1829.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-01AE ; [.1829.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-0236 ; [.182D.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
-A777 ; [.1831.0020.0002.A777] # LATIN SMALL LETTER TUM
-0287 ; [.1832.0020.0002.0287] # LATIN SMALL LETTER TURNED T
-0075 ; [.1836.0020.0002.0075] # LATIN SMALL LETTER U
-FF55 ; [.1836.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U
-0367 ; [.1836.0020.0004.0367] # COMBINING LATIN SMALL LETTER U
-24B0 ; [*02FB.0020.0004.24B0][.1836.0020.0004.24B0][*02FC.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U
-1D42E ; [.1836.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U
-1D462 ; [.1836.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U
-1D496 ; [.1836.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U
-1D4CA ; [.1836.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U
-1D4FE ; [.1836.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U
-1D532 ; [.1836.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U
-1D566 ; [.1836.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D59A ; [.1836.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U
-1D5CE ; [.1836.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U
-1D602 ; [.1836.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D636 ; [.1836.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D66A ; [.1836.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D69E ; [.1836.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U
-24E4 ; [.1836.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U
-0055 ; [.1836.0020.0008.0055] # LATIN CAPITAL LETTER U
-FF35 ; [.1836.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U
-1F124 ; [*02FB.0020.0004.1F124][.1836.0020.000A.1F124][*02FC.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U
-1D414 ; [.1836.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U
-1D448 ; [.1836.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U
-1D47C ; [.1836.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U
-1D4B0 ; [.1836.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U
-1D4E4 ; [.1836.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D518 ; [.1836.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U
-1D54C ; [.1836.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D580 ; [.1836.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D5B4 ; [.1836.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U
-1D5E8 ; [.1836.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D61C ; [.1836.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D650 ; [.1836.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D684 ; [.1836.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U
-24CA ; [.1836.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U
-1F164 ; [.1836.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
-1D58 ; [.1836.0020.0014.1D58] # MODIFIER LETTER SMALL U
-1D64 ; [.1836.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U
-1D41 ; [.1836.0020.001D.1D41] # MODIFIER LETTER CAPITAL U
-1F144 ; [.1836.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U
-1F184 ; [.1836.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
-00FA ; [.1836.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1836.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
-00F9 ; [.1836.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1836.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE
-016D ; [.1836.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE
-016C ; [.1836.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
-00FB ; [.1836.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00DB ; [.1836.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-01D4 ; [.1836.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1836.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON
-016F ; [.1836.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE
-016E ; [.1836.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE
-00FC ; [.1836.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1836.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01D8 ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01DC ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DA ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01D6 ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0171 ; [.1836.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1836.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0169 ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE
-0168 ; [.1836.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
-1E79 ; [.1836.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E78 ; [.1836.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-0173 ; [.1836.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK
-0172 ; [.1836.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK
-016B ; [.1836.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1836.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
-1E7B ; [.1836.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7A ; [.1836.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1EE7 ; [.1836.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6 ; [.1836.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-0215 ; [.1836.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0214 ; [.1836.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0217 ; [.1836.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE
-0216 ; [.1836.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-01B0 ; [.1836.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN
-01AF ; [.1836.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN
-1EE9 ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8 ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEB ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEF ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1 ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0 ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EE5 ; [.1836.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4 ; [.1836.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1E73 ; [.1836.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E72 ; [.1836.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E77 ; [.1836.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E76 ; [.1836.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E75 ; [.1836.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW
-1E74 ; [.1836.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW
-1F199 ; [.1836.0020.001D.1F199][.1796.0020.001D.1F199][*025E.0020.001C.1F199] # SQUARED UP WITH EXCLAMATION MARK
-1D1C ; [.183A.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
-1DB8 ; [.183A.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U
-1D1D ; [.183B.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
-1D59 ; [.183B.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U
-1D1E ; [.183C.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D6B ; [.183D.0020.0002.1D6B] # LATIN SMALL LETTER UE
-0289 ; [.183E.0020.0002.0289] # LATIN SMALL LETTER U BAR
-0244 ; [.183E.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
-1DB6 ; [.183E.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR
-1D7E ; [.1842.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D99 ; [.1843.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-0265 ; [.1844.0020.0002.0265] # LATIN SMALL LETTER TURNED H
-A78D ; [.1844.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
-1DA3 ; [.1844.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H
-02AE ; [.1848.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF ; [.184C.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-026F ; [.1850.0020.0002.026F] # LATIN SMALL LETTER TURNED M
-019C ; [.1850.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
-1D5A ; [.1850.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M
-A7FA ; [.1854.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
-1D1F ; [.1855.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
-0270 ; [.1856.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
-1DAD ; [.1856.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-028A ; [.185A.0020.0002.028A] # LATIN SMALL LETTER UPSILON
-01B1 ; [.185A.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
-1DB7 ; [.185A.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON
-1D7F ; [.185E.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
-0076 ; [.185F.0020.0002.0076] # LATIN SMALL LETTER V
-FF56 ; [.185F.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V
-036E ; [.185F.0020.0004.036E] # COMBINING LATIN SMALL LETTER V
-2174 ; [.185F.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE
-24B1 ; [*02FB.0020.0004.24B1][.185F.0020.0004.24B1][*02FC.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V
-1D42F ; [.185F.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V
-1D463 ; [.185F.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V
-1D497 ; [.185F.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V
-1D4CB ; [.185F.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V
-1D4FF ; [.185F.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V
-1D533 ; [.185F.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V
-1D567 ; [.185F.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D59B ; [.185F.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V
-1D5CF ; [.185F.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V
-1D603 ; [.185F.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D637 ; [.185F.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D66B ; [.185F.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D69F ; [.185F.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V
-24E5 ; [.185F.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V
-0056 ; [.185F.0020.0008.0056] # LATIN CAPITAL LETTER V
-FF36 ; [.185F.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V
-2164 ; [.185F.0020.000A.2164] # ROMAN NUMERAL FIVE
-1F125 ; [*02FB.0020.0004.1F125][.185F.0020.000A.1F125][*02FC.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V
-1D415 ; [.185F.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V
-1D449 ; [.185F.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V
-1D47D ; [.185F.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V
-1D4B1 ; [.185F.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V
-1D4E5 ; [.185F.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D519 ; [.185F.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V
-1D54D ; [.185F.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D581 ; [.185F.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D5B5 ; [.185F.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V
-1D5E9 ; [.185F.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D61D ; [.185F.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D651 ; [.185F.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D685 ; [.185F.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V
-24CB ; [.185F.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V
-1F165 ; [.185F.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
-1D5B ; [.185F.0020.0014.1D5B] # MODIFIER LETTER SMALL V
-1D65 ; [.185F.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V
-2C7D ; [.185F.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V
-1F145 ; [.185F.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V
-1F185 ; [.185F.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
-1E7D ; [.185F.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE
-1E7C ; [.185F.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE
-1E7F ; [.185F.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW
-1E7E ; [.185F.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW
-2175 ; [.185F.0020.0004.2175][.16CD.0020.001F.2175] # SMALL ROMAN NUMERAL SIX
-2165 ; [.185F.0020.000A.2165][.16CD.0020.001F.2165] # ROMAN NUMERAL SIX
-2176 ; [.185F.0020.0004.2176][.16CD.0020.0004.2176][.16CD.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN
-2166 ; [.185F.0020.000A.2166][.16CD.0020.000A.2166][.16CD.0020.001F.2166] # ROMAN NUMERAL SEVEN
-2177 ; [.185F.0020.0004.2177][.16CD.0020.0004.2177][.16CD.0020.0004.2177][.16CD.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT
-2167 ; [.185F.0020.000A.2167][.16CD.0020.000A.2167][.16CD.0020.000A.2167][.16CD.0020.001F.2167] # ROMAN NUMERAL EIGHT
-33DE ; [.185F.0020.001D.33DE][*05AB.0020.001C.33DE][.1741.0020.001C.33DE] # SQUARE V OVER M
-1F19A ; [.185F.0020.001D.1F19A][.17F3.0020.001D.1F19A] # SQUARED VS
-A761 ; [.185F.0020.0004.A761][.1880.0020.0004.A761] # LATIN SMALL LETTER VY
-A760 ; [.185F.0020.000A.A760][.1880.0020.000A.A760] # LATIN CAPITAL LETTER VY
-1D20 ; [.1863.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
-A75F ; [.1864.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A75E ; [.1864.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-1D8C ; [.1865.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
-028B ; [.1866.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
-01B2 ; [.1866.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
-1DB9 ; [.1866.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK
-2C71 ; [.186A.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C74 ; [.186B.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
-1EFD ; [.186C.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFC ; [.186C.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
-028C ; [.186D.0020.0002.028C] # LATIN SMALL LETTER TURNED V
-0245 ; [.186D.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
-1DBA ; [.186D.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V
-0077 ; [.1871.0020.0002.0077] # LATIN SMALL LETTER W
-FF57 ; [.1871.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W
-24B2 ; [*02FB.0020.0004.24B2][.1871.0020.0004.24B2][*02FC.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W
-1D430 ; [.1871.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W
-1D464 ; [.1871.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W
-1D498 ; [.1871.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W
-1D4CC ; [.1871.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W
-1D500 ; [.1871.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W
-1D534 ; [.1871.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W
-1D568 ; [.1871.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D59C ; [.1871.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W
-1D5D0 ; [.1871.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W
-1D604 ; [.1871.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D638 ; [.1871.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D66C ; [.1871.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D6A0 ; [.1871.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W
-24E6 ; [.1871.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W
-0057 ; [.1871.0020.0008.0057] # LATIN CAPITAL LETTER W
-FF37 ; [.1871.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W
-1F126 ; [*02FB.0020.0004.1F126][.1871.0020.000A.1F126][*02FC.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W
-1D416 ; [.1871.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W
-1D44A ; [.1871.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W
-1D47E ; [.1871.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W
-1D4B2 ; [.1871.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W
-1D4E6 ; [.1871.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D51A ; [.1871.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W
-1D54E ; [.1871.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D582 ; [.1871.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D5B6 ; [.1871.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W
-1D5EA ; [.1871.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D61E ; [.1871.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D652 ; [.1871.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D686 ; [.1871.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W
-24CC ; [.1871.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W
-1F166 ; [.1871.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
-02B7 ; [.1871.0020.0014.02B7] # MODIFIER LETTER SMALL W
-1D42 ; [.1871.0020.001D.1D42] # MODIFIER LETTER CAPITAL W
-1F146 ; [.1871.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W
-1F186 ; [.1871.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
-1E83 ; [.1871.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE
-1E82 ; [.1871.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE
-1E81 ; [.1871.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE
-1E80 ; [.1871.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE
-0175 ; [.1871.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0174 ; [.1871.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-1E98 ; [.1871.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE
-1E85 ; [.1871.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS
-1E84 ; [.1871.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS
-1E87 ; [.1871.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE
-1E86 ; [.1871.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E89 ; [.1871.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW
-1E88 ; [.1871.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW
-33DD ; [.1871.0020.001D.33DD][.1605.0020.001C.33DD] # SQUARE WB
-1F14F ; [.1871.0020.001D.1F14F][.161D.0020.001D.1F14F] # SQUARED WC
-1F18F ; [.1871.0020.001D.1F18F][.161D.0020.001D.1F18F] # NEGATIVE SQUARED WC
-1F12E ; [.1871.0020.000C.1F12E][.1895.0020.000C.1F12E] # CIRCLED WZ
-1D21 ; [.1875.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
-2C73 ; [.1876.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
-2C72 ; [.1876.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
-028D ; [.1877.0020.0002.028D] # LATIN SMALL LETTER TURNED W
-0078 ; [.187B.0020.0002.0078] # LATIN SMALL LETTER X
-FF58 ; [.187B.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X
-036F ; [.187B.0020.0004.036F] # COMBINING LATIN SMALL LETTER X
-2179 ; [.187B.0020.0004.2179] # SMALL ROMAN NUMERAL TEN
-24B3 ; [*02FB.0020.0004.24B3][.187B.0020.0004.24B3][*02FC.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X
-1D431 ; [.187B.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X
-1D465 ; [.187B.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X
-1D499 ; [.187B.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X
-1D4CD ; [.187B.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X
-1D501 ; [.187B.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X
-1D535 ; [.187B.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X
-1D569 ; [.187B.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D59D ; [.187B.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X
-1D5D1 ; [.187B.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X
-1D605 ; [.187B.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D639 ; [.187B.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D66D ; [.187B.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D6A1 ; [.187B.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X
-24E7 ; [.187B.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X
-0058 ; [.187B.0020.0008.0058] # LATIN CAPITAL LETTER X
-FF38 ; [.187B.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X
-2169 ; [.187B.0020.000A.2169] # ROMAN NUMERAL TEN
-1F127 ; [*02FB.0020.0004.1F127][.187B.0020.000A.1F127][*02FC.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X
-1D417 ; [.187B.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X
-1D44B ; [.187B.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X
-1D47F ; [.187B.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X
-1D4B3 ; [.187B.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X
-1D4E7 ; [.187B.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D51B ; [.187B.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X
-1D54F ; [.187B.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D583 ; [.187B.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D5B7 ; [.187B.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X
-1D5EB ; [.187B.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D61F ; [.187B.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D653 ; [.187B.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D687 ; [.187B.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X
-24CD ; [.187B.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X
-1F167 ; [.187B.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
-02E3 ; [.187B.0020.0014.02E3] # MODIFIER LETTER SMALL X
-2093 ; [.187B.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X
-1F147 ; [.187B.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X
-1F187 ; [.187B.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
-1E8D ; [.187B.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS
-1E8C ; [.187B.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8B ; [.187B.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE
-1E8A ; [.187B.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE
-217A ; [.187B.0020.0004.217A][.16CD.0020.001F.217A] # SMALL ROMAN NUMERAL ELEVEN
-216A ; [.187B.0020.000A.216A][.16CD.0020.001F.216A] # ROMAN NUMERAL ELEVEN
-217B ; [.187B.0020.0004.217B][.16CD.0020.0004.217B][.16CD.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE
-216B ; [.187B.0020.000A.216B][.16CD.0020.000A.216B][.16CD.0020.001F.216B] # ROMAN NUMERAL TWELVE
-1D8D ; [.187F.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
-0079 ; [.1880.0020.0002.0079] # LATIN SMALL LETTER Y
-FF59 ; [.1880.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y
-24B4 ; [*02FB.0020.0004.24B4][.1880.0020.0004.24B4][*02FC.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y
-1D432 ; [.1880.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y
-1D466 ; [.1880.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y
-1D49A ; [.1880.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y
-1D4CE ; [.1880.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y
-1D502 ; [.1880.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y
-1D536 ; [.1880.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y
-1D56A ; [.1880.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D59E ; [.1880.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D5D2 ; [.1880.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y
-1D606 ; [.1880.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D63A ; [.1880.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D66E ; [.1880.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D6A2 ; [.1880.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y
-24E8 ; [.1880.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y
-0059 ; [.1880.0020.0008.0059] # LATIN CAPITAL LETTER Y
-FF39 ; [.1880.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y
-1F128 ; [*02FB.0020.0004.1F128][.1880.0020.000A.1F128][*02FC.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y
-1D418 ; [.1880.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y
-1D44C ; [.1880.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y
-1D480 ; [.1880.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D4B4 ; [.1880.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y
-1D4E8 ; [.1880.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D51C ; [.1880.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y
-1D550 ; [.1880.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D584 ; [.1880.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D5B8 ; [.1880.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5EC ; [.1880.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D620 ; [.1880.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D654 ; [.1880.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D688 ; [.1880.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y
-24CE ; [.1880.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y
-1F168 ; [.1880.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
-02B8 ; [.1880.0020.0014.02B8] # MODIFIER LETTER SMALL Y
-1F148 ; [.1880.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y
-1F188 ; [.1880.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
-00FD ; [.1880.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
-00DD ; [.1880.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
-1EF3 ; [.1880.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE
-1EF2 ; [.1880.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE
-0177 ; [.1880.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0176 ; [.1880.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-1E99 ; [.1880.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE
-00FF ; [.1880.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS
-0178 ; [.1880.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS
-1EF9 ; [.1880.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
-1EF8 ; [.1880.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
-1E8F ; [.1880.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE
-1E8E ; [.1880.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-0233 ; [.1880.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON
-0232 ; [.1880.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON
-1EF7 ; [.1880.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6 ; [.1880.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF5 ; [.1880.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4 ; [.1880.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
-028F ; [.1884.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
-024F ; [.1888.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
-024E ; [.1888.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
-01B4 ; [.188C.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
-01B3 ; [.188C.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
-1EFF ; [.1890.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
-1EFE ; [.1890.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
-021D ; [.1891.0020.0002.021D] # LATIN SMALL LETTER YOGH
-021C ; [.1891.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
-007A ; [.1895.0020.0002.007A] # LATIN SMALL LETTER Z
-FF5A ; [.1895.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z
-1DE6 ; [.1895.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z
-24B5 ; [*02FB.0020.0004.24B5][.1895.0020.0004.24B5][*02FC.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z
-1D433 ; [.1895.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z
-1D467 ; [.1895.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z
-1D49B ; [.1895.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z
-1D4CF ; [.1895.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z
-1D503 ; [.1895.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z
-1D537 ; [.1895.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z
-1D56B ; [.1895.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D59F ; [.1895.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5D3 ; [.1895.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z
-1D607 ; [.1895.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D63B ; [.1895.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D66F ; [.1895.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D6A3 ; [.1895.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z
-24E9 ; [.1895.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z
-005A ; [.1895.0020.0008.005A] # LATIN CAPITAL LETTER Z
-FF3A ; [.1895.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z
-1F129 ; [*02FB.0020.0004.1F129][.1895.0020.000A.1F129][*02FC.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z
-2124 ; [.1895.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z
-2128 ; [.1895.0020.000B.2128] # BLACK-LETTER CAPITAL Z
-1D419 ; [.1895.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z
-1D44D ; [.1895.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z
-1D481 ; [.1895.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D4B5 ; [.1895.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z
-1D4E9 ; [.1895.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D585 ; [.1895.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5B9 ; [.1895.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5ED ; [.1895.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D621 ; [.1895.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D655 ; [.1895.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D689 ; [.1895.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z
-24CF ; [.1895.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z
-1F169 ; [.1895.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
-1DBB ; [.1895.0020.0014.1DBB] # MODIFIER LETTER SMALL Z
-1F149 ; [.1895.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z
-1F189 ; [.1895.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
-017A ; [.1895.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE
-0179 ; [.1895.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE
-1E91 ; [.1895.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E90 ; [.1895.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-017E ; [.1895.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1895.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON
-017C ; [.1895.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1895.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-1E93 ; [.1895.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW
-1E92 ; [.1895.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E95 ; [.1895.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW
-1E94 ; [.1895.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW
-018D ; [.1895.0020.0004.018D][.1871.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA
-1D22 ; [.1899.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
-01B6 ; [.189A.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
-01B5 ; [.189A.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
-1D76 ; [.189E.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D8E ; [.189F.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
-0225 ; [.18A0.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
-0224 ; [.18A0.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
-0290 ; [.18A4.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-1DBC ; [.18A4.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-0291 ; [.18A8.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
-1DBD ; [.18A8.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL
-0240 ; [.18AC.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
-2C7F ; [.18AC.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C6C ; [.18B0.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
-2C6B ; [.18B0.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
-A763 ; [.18B1.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
-A762 ; [.18B1.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
-0292 ; [.18B2.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7 ; [.18B2.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-1DBE ; [.18B2.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH
-01EF ; [.18B2.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.18B2.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
-1D23 ; [.18B6.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
-01B9 ; [.18B7.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
-01B8 ; [.18B7.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
-1D9A ; [.18BB.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-01BA ; [.18BC.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
-0293 ; [.18C0.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
-00FE ; [.18C4.0020.0002.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.18C4.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
-A765 ; [.18C8.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
-A764 ; [.18C8.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
-A767 ; [.18C9.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A766 ; [.18C9.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-01BF ; [.18CA.0020.0002.01BF] # LATIN LETTER WYNN
-01F7 ; [.18CA.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
-A769 ; [.18CE.0020.0002.A769] # LATIN SMALL LETTER VEND
-A768 ; [.18CE.0020.0008.A768] # LATIN CAPITAL LETTER VEND
-A76B ; [.18CF.0020.0002.A76B] # LATIN SMALL LETTER ET
-A76A ; [.18CF.0020.0008.A76A] # LATIN CAPITAL LETTER ET
-A76D ; [.18D0.0020.0002.A76D] # LATIN SMALL LETTER IS
-A76C ; [.18D0.0020.0008.A76C] # LATIN CAPITAL LETTER IS
-A76F ; [.18D1.0020.0002.A76F] # LATIN SMALL LETTER CON
-1DD2 ; [.18D1.0020.0004.1DD2] # COMBINING US ABOVE
-A76E ; [.18D1.0020.0008.A76E] # LATIN CAPITAL LETTER CON
-A770 ; [.18D1.0020.0014.A770] # MODIFIER LETTER US
-A778 ; [.18D2.0020.0002.A778] # LATIN SMALL LETTER UM
-01BB ; [.18D3.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
-A72B ; [.18D7.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
-A72A ; [.18D7.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
-A72D ; [.18D8.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
-A72C ; [.18D8.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
-A72F ; [.18D9.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A72E ; [.18D9.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-01A8 ; [.18DA.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
-01A7 ; [.18DA.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
-01BD ; [.18DE.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
-01BC ; [.18DE.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
-0185 ; [.18E2.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
-0184 ; [.18E2.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
-0294 ; [.18E6.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
-0242 ; [.18EA.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
-0241 ; [.18EA.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
-02C0 ; [.18EE.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
-02BC ; [.18EF.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
-0149 ; [.18EF.0020.0004.0149][.174F.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-02EE ; [.18F0.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
-02BE ; [.18F1.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
-A723 ; [.18F2.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A722 ; [.18F2.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A78C ; [.18F3.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
-A78B ; [.18F3.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
-0295 ; [.18F4.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-02E4 ; [.18F4.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02BF ; [.18F8.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
-02C1 ; [.18F9.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
-1D24 ; [.18FA.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25 ; [.18FB.0020.0002.1D25] # LATIN LETTER AIN
-1D5C ; [.18FB.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN
-A725 ; [.18FC.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A724 ; [.18FC.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-02A1 ; [.18FD.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2 ; [.1901.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-0296 ; [.1905.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
-01C0 ; [.1909.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
-01C1 ; [.190D.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
-01C2 ; [.1911.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
-01C3 ; [.1915.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
-0297 ; [.1919.0020.0002.0297] # LATIN LETTER STRETCHED C
-0298 ; [.191D.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
-02AC ; [.1921.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
-02AD ; [.1925.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
-03B1 ; [.1929.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
-1D6C2 ; [.1929.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA
-1D6FC ; [.1929.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA
-1D736 ; [.1929.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D770 ; [.1929.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D7AA ; [.1929.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-0391 ; [.1929.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
-1D6A8 ; [.1929.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA
-1D6E2 ; [.1929.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA
-1D71C ; [.1929.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D756 ; [.1929.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D790 ; [.1929.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1F00 ; [.1929.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI
-1F08 ; [.1929.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F04 ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
-1F0C ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F84 ; [.1929.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
-1F8C ; [.1929.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
-1F02 ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
-1F0A ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F82 ; [.1929.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
-1F8A ; [.1929.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
-1F06 ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0E ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F86 ; [.1929.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
-1F8E ; [.1929.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
-1F80 ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F88 ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F01 ; [.1929.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA
-1F09 ; [.1929.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F05 ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
-1F0D ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F85 ; [.1929.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
-1F8D ; [.1929.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
-1F03 ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
-1F0B ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F83 ; [.1929.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
-1F8B ; [.1929.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
-1F07 ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F0F ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F87 ; [.1929.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
-1F8F ; [.1929.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
-1F81 ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F89 ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-03AC ; [.1929.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS
-1F71 ; [.1929.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA
-0386 ; [.1929.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS
-1FBB ; [.1929.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FB4 ; [.1929.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1F70 ; [.1929.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA
-1FBA ; [.1929.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FB2 ; [.1929.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB0 ; [.1929.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY
-1FB8 ; [.1929.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB6 ; [.1929.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
-1FB7 ; [.1929.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB1 ; [.1929.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON
-1FB9 ; [.1929.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FB3 ; [.1929.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FBC ; [.1929.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-03B2 ; [.192A.0020.0002.03B2] # GREEK SMALL LETTER BETA
-03D0 ; [.192A.0020.0004.03D0] # GREEK BETA SYMBOL
-1D6C3 ; [.192A.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA
-1D6FD ; [.192A.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA
-1D737 ; [.192A.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA
-1D771 ; [.192A.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D7AB ; [.192A.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-0392 ; [.192A.0020.0008.0392] # GREEK CAPITAL LETTER BETA
-1D6A9 ; [.192A.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA
-1D6E3 ; [.192A.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA
-1D71D ; [.192A.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D757 ; [.192A.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D791 ; [.192A.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D5D ; [.192A.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA
-1D66 ; [.192A.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA
-03B3 ; [.192B.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
-213D ; [.192B.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA
-1D6C4 ; [.192B.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA
-1D6FE ; [.192B.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA
-1D738 ; [.192B.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D772 ; [.192B.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D7AC ; [.192B.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-0393 ; [.192B.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
-213E ; [.192B.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA
-1D6AA ; [.192B.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA
-1D6E4 ; [.192B.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA
-1D71E ; [.192B.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D758 ; [.192B.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D792 ; [.192B.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D5E ; [.192B.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA
-1D67 ; [.192B.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D26 ; [.192C.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
-03B4 ; [.192D.0020.0002.03B4] # GREEK SMALL LETTER DELTA
-1D6C5 ; [.192D.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA
-1D6FF ; [.192D.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA
-1D739 ; [.192D.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D773 ; [.192D.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D7AD ; [.192D.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-0394 ; [.192D.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
-1D6AB ; [.192D.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA
-1D6E5 ; [.192D.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA
-1D71F ; [.192D.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D759 ; [.192D.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D793 ; [.192D.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D5F ; [.192D.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA
-03B5 ; [.192E.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
-03F5 ; [.192E.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL
-1D6C6 ; [.192E.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON
-1D6DC ; [.192E.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL
-1D700 ; [.192E.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON
-1D716 ; [.192E.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL
-1D73A ; [.192E.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D750 ; [.192E.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D774 ; [.192E.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D78A ; [.192E.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D7AE ; [.192E.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7C4 ; [.192E.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-0395 ; [.192E.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
-1D6AC ; [.192E.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON
-1D6E6 ; [.192E.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON
-1D720 ; [.192E.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D75A ; [.192E.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D794 ; [.192E.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1F10 ; [.192E.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI
-1F18 ; [.192E.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F14 ; [.192E.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
-1F1C ; [.192E.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F12 ; [.192E.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
-1F1A ; [.192E.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F11 ; [.192E.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA
-1F19 ; [.192E.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F15 ; [.192E.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F1D ; [.192E.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F13 ; [.192E.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
-1F1B ; [.192E.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-03AD ; [.192E.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS
-1F73 ; [.192E.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA
-0388 ; [.192E.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS
-1FC9 ; [.192E.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA
-1F72 ; [.192E.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA
-1FC8 ; [.192E.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA
-03DD ; [.192F.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
-1D7CB ; [.192F.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA
-03DC ; [.192F.0020.0008.03DC] # GREEK LETTER DIGAMMA
-1D7CA ; [.192F.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA
-0377 ; [.1930.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-0376 ; [.1930.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-03DB ; [.1931.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
-03DA ; [.1931.0020.0008.03DA] # GREEK LETTER STIGMA
-03B6 ; [.1932.0020.0002.03B6] # GREEK SMALL LETTER ZETA
-1D6C7 ; [.1932.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA
-1D701 ; [.1932.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA
-1D73B ; [.1932.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D775 ; [.1932.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D7AF ; [.1932.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-0396 ; [.1932.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
-1D6AD ; [.1932.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA
-1D6E7 ; [.1932.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA
-1D721 ; [.1932.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D75B ; [.1932.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D795 ; [.1932.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-0371 ; [.1933.0020.0002.0371] # GREEK SMALL LETTER HETA
-0370 ; [.1933.0020.0008.0370] # GREEK CAPITAL LETTER HETA
-03B7 ; [.1934.0020.0002.03B7] # GREEK SMALL LETTER ETA
-1D6C8 ; [.1934.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA
-1D702 ; [.1934.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA
-1D73C ; [.1934.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA
-1D776 ; [.1934.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D7B0 ; [.1934.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-0397 ; [.1934.0020.0008.0397] # GREEK CAPITAL LETTER ETA
-1D6AE ; [.1934.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA
-1D6E8 ; [.1934.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA
-1D722 ; [.1934.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D75C ; [.1934.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D796 ; [.1934.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1F20 ; [.1934.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI
-1F28 ; [.1934.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI
-1F24 ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
-1F2C ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F94 ; [.1934.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
-1F9C ; [.1934.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
-1F22 ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
-1F2A ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F92 ; [.1934.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
-1F9A ; [.1934.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
-1F26 ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2E ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F96 ; [.1934.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
-1F9E ; [.1934.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
-1F90 ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F98 ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F21 ; [.1934.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA
-1F29 ; [.1934.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA
-1F25 ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
-1F2D ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F95 ; [.1934.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
-1F9D ; [.1934.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
-1F23 ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
-1F2B ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F93 ; [.1934.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
-1F9B ; [.1934.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
-1F27 ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F2F ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F97 ; [.1934.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
-1F9F ; [.1934.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
-1F91 ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F99 ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-03AE ; [.1934.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS
-1F75 ; [.1934.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA
-0389 ; [.1934.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS
-1FCB ; [.1934.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA
-1FC4 ; [.1934.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1F74 ; [.1934.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA
-1FCA ; [.1934.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA
-1FC2 ; [.1934.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC6 ; [.1934.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI
-1FC7 ; [.1934.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC3 ; [.1934.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FCC ; [.1934.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-03B8 ; [.1935.0020.0002.03B8] # GREEK SMALL LETTER THETA
-03D1 ; [.1935.0020.0004.03D1] # GREEK THETA SYMBOL
-1D6C9 ; [.1935.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA
-1D6DD ; [.1935.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL
-1D703 ; [.1935.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA
-1D717 ; [.1935.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL
-1D73D ; [.1935.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA
-1D751 ; [.1935.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D777 ; [.1935.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D78B ; [.1935.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D7B1 ; [.1935.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7C5 ; [.1935.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-0398 ; [.1935.0020.0008.0398] # GREEK CAPITAL LETTER THETA
-03F4 ; [.1935.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL
-1D6AF ; [.1935.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA
-1D6B9 ; [.1935.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6E9 ; [.1935.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA
-1D6F3 ; [.1935.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D723 ; [.1935.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D72D ; [.1935.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D75D ; [.1935.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D767 ; [.1935.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D797 ; [.1935.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D7A1 ; [.1935.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1DBF ; [.1935.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA
-03B9 ; [.1936.0020.0002.03B9] # GREEK SMALL LETTER IOTA
-1FBE ; [.1936.0020.0002.1FBE] # GREEK PROSGEGRAMMENI
-037A ; [.1936.0020.0004.037A] # GREEK YPOGEGRAMMENI
-1D6CA ; [.1936.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA
-1D704 ; [.1936.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA
-1D73E ; [.1936.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D778 ; [.1936.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D7B2 ; [.1936.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-0399 ; [.1936.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
-1D6B0 ; [.1936.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA
-1D6EA ; [.1936.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA
-1D724 ; [.1936.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D75E ; [.1936.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D798 ; [.1936.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1F30 ; [.1936.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI
-1F38 ; [.1936.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI
-1F34 ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
-1F3C ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F32 ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
-1F3A ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F36 ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3E ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F31 ; [.1936.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA
-1F39 ; [.1936.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA
-1F35 ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
-1F3D ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F33 ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
-1F3B ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F37 ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F3F ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-03AF ; [.1936.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS
-1F77 ; [.1936.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA
-038A ; [.1936.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS
-1FDB ; [.1936.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA
-1F76 ; [.1936.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA
-1FDA ; [.1936.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA
-1FD0 ; [.1936.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY
-1FD8 ; [.1936.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD6 ; [.1936.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
-03CA ; [.1936.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
-03AA ; [.1936.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-0390 ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-1FD3 ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD2 ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-1FD7 ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FD1 ; [.1936.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON
-1FD9 ; [.1936.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON
-03F3 ; [.1937.0020.0002.03F3] # GREEK LETTER YOT
-03BA ; [.1938.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
-03F0 ; [.1938.0020.0004.03F0] # GREEK KAPPA SYMBOL
-1D6CB ; [.1938.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA
-1D6DE ; [.1938.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL
-1D705 ; [.1938.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA
-1D718 ; [.1938.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL
-1D73F ; [.1938.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D752 ; [.1938.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D779 ; [.1938.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D78C ; [.1938.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D7B3 ; [.1938.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7C6 ; [.1938.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-039A ; [.1938.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
-1D6B1 ; [.1938.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA
-1D6EB ; [.1938.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA
-1D725 ; [.1938.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D75F ; [.1938.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D799 ; [.1938.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-03D7 ; [.1938.0020.0004.03D7][.1929.0020.0004.03D7][.1936.0020.0004.03D7] # GREEK KAI SYMBOL
-03CF ; [.1938.0020.000A.03CF][.1929.0020.0004.03CF][.1936.0020.0004.03CF] # GREEK CAPITAL KAI SYMBOL
-03BB ; [.1939.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
-1D6CC ; [.1939.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA
-1D706 ; [.1939.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA
-1D740 ; [.1939.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D77A ; [.1939.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D7B4 ; [.1939.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-039B ; [.1939.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
-1D6B2 ; [.1939.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA
-1D6EC ; [.1939.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA
-1D726 ; [.1939.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D760 ; [.1939.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D79A ; [.1939.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D27 ; [.193A.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
-03BC ; [.193B.0020.0002.03BC] # GREEK SMALL LETTER MU
-00B5 ; [.193B.0020.0004.00B5] # MICRO SIGN
-1D6CD ; [.193B.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU
-1D707 ; [.193B.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU
-1D741 ; [.193B.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU
-1D77B ; [.193B.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D7B5 ; [.193B.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-039C ; [.193B.0020.0008.039C] # GREEK CAPITAL LETTER MU
-1D6B3 ; [.193B.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU
-1D6ED ; [.193B.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU
-1D727 ; [.193B.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D761 ; [.193B.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D79B ; [.193B.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-3382 ; [.193B.0020.001C.3382][.15EF.0020.001D.3382] # SQUARE MU A
-338C ; [.193B.0020.001C.338C][.1684.0020.001D.338C] # SQUARE MU F
-338D ; [.193B.0020.001C.338D][.1691.0020.001C.338D] # SQUARE MU G
-3395 ; [.193B.0020.001C.3395][.1711.0020.001C.3395] # SQUARE MU L
-339B ; [.193B.0020.001C.339B][.1741.0020.001C.339B] # SQUARE MU M
-33B2 ; [.193B.0020.001C.33B2][.17F3.0020.001C.33B2] # SQUARE MU S
-33B6 ; [.193B.0020.001C.33B6][.185F.0020.001D.33B6] # SQUARE MU V
-33BC ; [.193B.0020.001C.33BC][.1871.0020.001D.33BC] # SQUARE MU W
-03BD ; [.193C.0020.0002.03BD] # GREEK SMALL LETTER NU
-1D6CE ; [.193C.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU
-1D708 ; [.193C.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU
-1D742 ; [.193C.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU
-1D77C ; [.193C.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D7B6 ; [.193C.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-039D ; [.193C.0020.0008.039D] # GREEK CAPITAL LETTER NU
-1D6B4 ; [.193C.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU
-1D6EE ; [.193C.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU
-1D728 ; [.193C.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D762 ; [.193C.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D79C ; [.193C.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-03BE ; [.193D.0020.0002.03BE] # GREEK SMALL LETTER XI
-1D6CF ; [.193D.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI
-1D709 ; [.193D.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI
-1D743 ; [.193D.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI
-1D77D ; [.193D.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D7B7 ; [.193D.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-039E ; [.193D.0020.0008.039E] # GREEK CAPITAL LETTER XI
-1D6B5 ; [.193D.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI
-1D6EF ; [.193D.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI
-1D729 ; [.193D.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D763 ; [.193D.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D79D ; [.193D.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-03BF ; [.193E.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
-1D6D0 ; [.193E.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON
-1D70A ; [.193E.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON
-1D744 ; [.193E.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D77E ; [.193E.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D7B8 ; [.193E.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-039F ; [.193E.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
-1D6B6 ; [.193E.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON
-1D6F0 ; [.193E.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON
-1D72A ; [.193E.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D764 ; [.193E.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D79E ; [.193E.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1F40 ; [.193E.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI
-1F48 ; [.193E.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F44 ; [.193E.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
-1F4C ; [.193E.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F42 ; [.193E.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
-1F4A ; [.193E.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F41 ; [.193E.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA
-1F49 ; [.193E.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F45 ; [.193E.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F4D ; [.193E.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F43 ; [.193E.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
-1F4B ; [.193E.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-03CC ; [.193E.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS
-1F79 ; [.193E.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA
-038C ; [.193E.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS
-1FF9 ; [.193E.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA
-1F78 ; [.193E.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA
-1FF8 ; [.193E.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA
-03C0 ; [.193F.0020.0002.03C0] # GREEK SMALL LETTER PI
-03D6 ; [.193F.0020.0004.03D6] # GREEK PI SYMBOL
-213C ; [.193F.0020.0005.213C] # DOUBLE-STRUCK SMALL PI
-1D6D1 ; [.193F.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI
-1D6E1 ; [.193F.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL
-1D70B ; [.193F.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI
-1D71B ; [.193F.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL
-1D745 ; [.193F.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI
-1D755 ; [.193F.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D77F ; [.193F.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D78F ; [.193F.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D7B9 ; [.193F.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7C9 ; [.193F.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-03A0 ; [.193F.0020.0008.03A0] # GREEK CAPITAL LETTER PI
-213F ; [.193F.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI
-1D6B7 ; [.193F.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI
-1D6F1 ; [.193F.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI
-1D72B ; [.193F.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D765 ; [.193F.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D79F ; [.193F.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D28 ; [.1940.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
-03FB ; [.1941.0020.0002.03FB] # GREEK SMALL LETTER SAN
-03FA ; [.1941.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
-03DF ; [.1942.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
-03DE ; [.1942.0020.0008.03DE] # GREEK LETTER KOPPA
-03D9 ; [.1943.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
-03D8 ; [.1943.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
-03C1 ; [.1944.0020.0002.03C1] # GREEK SMALL LETTER RHO
-03F1 ; [.1944.0020.0004.03F1] # GREEK RHO SYMBOL
-1D6D2 ; [.1944.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO
-1D6E0 ; [.1944.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL
-1D70C ; [.1944.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO
-1D71A ; [.1944.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL
-1D746 ; [.1944.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO
-1D754 ; [.1944.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D780 ; [.1944.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D78E ; [.1944.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D7BA ; [.1944.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7C8 ; [.1944.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-03A1 ; [.1944.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
-1D6B8 ; [.1944.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO
-1D6F2 ; [.1944.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO
-1D72C ; [.1944.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D766 ; [.1944.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D7A0 ; [.1944.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D68 ; [.1944.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO
-1FE4 ; [.1944.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI
-1FE5 ; [.1944.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA
-1FEC ; [.1944.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA
-1D29 ; [.1945.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
-03FC ; [.1946.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
-03C3 ; [.1947.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
-03F2 ; [.1947.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL
-1D6D3 ; [.1947.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6D4 ; [.1947.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA
-1D70D ; [.1947.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D70E ; [.1947.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA
-1D747 ; [.1947.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D748 ; [.1947.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D781 ; [.1947.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D782 ; [.1947.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D7BB ; [.1947.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7BC ; [.1947.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-03A3 ; [.1947.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
-03F9 ; [.1947.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL
-1D6BA ; [.1947.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA
-1D6F4 ; [.1947.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA
-1D72E ; [.1947.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D768 ; [.1947.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D7A2 ; [.1947.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-03C2 ; [.1947.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA
-037C ; [.1948.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-03FE ; [.1948.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-037B ; [.1949.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-03FD ; [.1949.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-037D ; [.194A.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03FF ; [.194A.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03C4 ; [.194B.0020.0002.03C4] # GREEK SMALL LETTER TAU
-1D6D5 ; [.194B.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU
-1D70F ; [.194B.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU
-1D749 ; [.194B.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU
-1D783 ; [.194B.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D7BD ; [.194B.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-03A4 ; [.194B.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
-1D6BB ; [.194B.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU
-1D6F5 ; [.194B.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU
-1D72F ; [.194B.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D769 ; [.194B.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D7A3 ; [.194B.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-03C5 ; [.194C.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
-1D6D6 ; [.194C.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON
-1D710 ; [.194C.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON
-1D74A ; [.194C.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D784 ; [.194C.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D7BE ; [.194C.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-03A5 ; [.194C.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
-03D2 ; [.194C.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL
-1D6BC ; [.194C.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON
-1D6F6 ; [.194C.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON
-1D730 ; [.194C.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D76A ; [.194C.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D7A4 ; [.194C.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1F50 ; [.194C.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI
-1F54 ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
-1F52 ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
-1F56 ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
-1F51 ; [.194C.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA
-1F59 ; [.194C.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F55 ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
-1F5D ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F53 ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
-1F5B ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F57 ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F5F ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-03CD ; [.194C.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS
-1F7B ; [.194C.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA
-038E ; [.194C.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS
-1FEB ; [.194C.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA
-03D3 ; [.194C.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-1F7A ; [.194C.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA
-1FEA ; [.194C.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FE0 ; [.194C.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY
-1FE8 ; [.194C.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE6 ; [.194C.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
-03CB ; [.194C.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-03AB ; [.194C.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03D4 ; [.194C.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03B0 ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-1FE3 ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE2 ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-1FE7 ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FE1 ; [.194C.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON
-1FE9 ; [.194C.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON
-03C6 ; [.194D.0020.0002.03C6] # GREEK SMALL LETTER PHI
-03D5 ; [.194D.0020.0004.03D5] # GREEK PHI SYMBOL
-1D6D7 ; [.194D.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI
-1D6DF ; [.194D.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL
-1D711 ; [.194D.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI
-1D719 ; [.194D.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL
-1D74B ; [.194D.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI
-1D753 ; [.194D.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D785 ; [.194D.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D78D ; [.194D.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D7BF ; [.194D.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C7 ; [.194D.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-03A6 ; [.194D.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
-1D6BD ; [.194D.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI
-1D6F7 ; [.194D.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI
-1D731 ; [.194D.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D76B ; [.194D.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D7A5 ; [.194D.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D60 ; [.194D.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI
-1D69 ; [.194D.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI
-03C7 ; [.194E.0020.0002.03C7] # GREEK SMALL LETTER CHI
-1D6D8 ; [.194E.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI
-1D712 ; [.194E.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI
-1D74C ; [.194E.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI
-1D786 ; [.194E.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D7C0 ; [.194E.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-03A7 ; [.194E.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
-1D6BE ; [.194E.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI
-1D6F8 ; [.194E.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI
-1D732 ; [.194E.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D76C ; [.194E.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D7A6 ; [.194E.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D61 ; [.194E.0020.0014.1D61] # MODIFIER LETTER SMALL CHI
-1D6A ; [.194E.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI
-03C8 ; [.194F.0020.0002.03C8] # GREEK SMALL LETTER PSI
-1D6D9 ; [.194F.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI
-1D713 ; [.194F.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI
-1D74D ; [.194F.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI
-1D787 ; [.194F.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D7C1 ; [.194F.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-03A8 ; [.194F.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
-1D6BF ; [.194F.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI
-1D6F9 ; [.194F.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI
-1D733 ; [.194F.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D76D ; [.194F.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D7A7 ; [.194F.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D2A ; [.1950.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
-03C9 ; [.1951.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
-1D6DA ; [.1951.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA
-1D714 ; [.1951.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA
-1D74E ; [.1951.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D788 ; [.1951.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D7C2 ; [.1951.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-03A9 ; [.1951.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
-2126 ; [.1951.0020.0008.2126] # OHM SIGN
-1D6C0 ; [.1951.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA
-1D6FA ; [.1951.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA
-1D734 ; [.1951.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D76E ; [.1951.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D7A8 ; [.1951.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1F60 ; [.1951.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI
-1F68 ; [.1951.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F64 ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
-1F6C ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1FA4 ; [.1951.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
-1FAC ; [.1951.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
-1F62 ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
-1F6A ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1FA2 ; [.1951.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
-1FAA ; [.1951.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
-1F66 ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6E ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1FA6 ; [.1951.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
-1FAE ; [.1951.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
-1FA0 ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA8 ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1F61 ; [.1951.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA
-1F69 ; [.1951.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F65 ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
-1F6D ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1FA5 ; [.1951.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
-1FAD ; [.1951.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
-1F63 ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
-1F6B ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1FA3 ; [.1951.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
-1FAB ; [.1951.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
-1F67 ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F6F ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1FA7 ; [.1951.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
-1FAF ; [.1951.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
-1FA1 ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA9 ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-03CE ; [.1951.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS
-1F7D ; [.1951.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA
-038F ; [.1951.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS
-1FFB ; [.1951.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FF4 ; [.1951.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1F7C ; [.1951.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA
-1FFA ; [.1951.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FF2 ; [.1951.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF6 ; [.1951.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
-1FF7 ; [.1951.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF3 ; [.1951.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FFC ; [.1951.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-03E1 ; [.1952.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
-03E0 ; [.1952.0020.0008.03E0] # GREEK LETTER SAMPI
-0373 ; [.1953.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
-0372 ; [.1953.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
-03F8 ; [.1954.0020.0002.03F8] # GREEK SMALL LETTER SHO
-03F7 ; [.1954.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
-2C81 ; [.1955.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
-2C80 ; [.1955.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
-2C83 ; [.1956.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
-2C82 ; [.1956.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
-2C85 ; [.1957.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
-2C84 ; [.1957.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
-2C87 ; [.1958.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
-2C86 ; [.1958.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
-2C89 ; [.1959.0020.0002.2C89] # COPTIC SMALL LETTER EIE
-2C88 ; [.1959.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
-2CB7 ; [.195A.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB6 ; [.195A.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2C8B ; [.195B.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
-2C8A ; [.195B.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
-2C8D ; [.195C.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
-2C8C ; [.195C.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
-2C8F ; [.195D.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
-2C8E ; [.195D.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
-2C91 ; [.195E.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
-2C90 ; [.195E.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
-2C93 ; [.195F.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
-2C92 ; [.195F.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
-2C95 ; [.1960.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
-2C94 ; [.1960.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
-2CE4 ; [.1960.0020.0004.2CE4][.1955.0020.0004.2CE4][.195F.0020.0004.2CE4] # COPTIC SYMBOL KAI
-2CB9 ; [.1961.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
-2CB8 ; [.1961.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2C97 ; [.1962.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
-2C96 ; [.1962.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
-2C99 ; [.1963.0020.0002.2C99] # COPTIC SMALL LETTER MI
-2C98 ; [.1963.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
-2C9B ; [.1964.0020.0002.2C9B] # COPTIC SMALL LETTER NI
-2C9A ; [.1964.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
-2CBB ; [.1965.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
-2CBA ; [.1965.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBD ; [.1966.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBC ; [.1966.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2C9D ; [.1967.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
-2C9C ; [.1967.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
-2C9F ; [.1968.0020.0002.2C9F] # COPTIC SMALL LETTER O
-2C9E ; [.1968.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
-2CA1 ; [.1969.0020.0002.2CA1] # COPTIC SMALL LETTER PI
-2CA0 ; [.1969.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
-2CA3 ; [.196A.0020.0002.2CA3] # COPTIC SMALL LETTER RO
-2CA2 ; [.196A.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
-2CA5 ; [.196B.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
-2CA4 ; [.196B.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
-2CA7 ; [.196C.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
-2CA6 ; [.196C.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
-2CA9 ; [.196D.0020.0002.2CA9] # COPTIC SMALL LETTER UA
-2CA8 ; [.196D.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
-2CAB ; [.196E.0020.0002.2CAB] # COPTIC SMALL LETTER FI
-2CAA ; [.196E.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
-2CAD ; [.196F.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
-2CAC ; [.196F.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
-2CAF ; [.1970.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
-2CAE ; [.1970.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
-2CB1 ; [.1971.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
-2CB0 ; [.1971.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
-2CBF ; [.1972.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
-2CBE ; [.1972.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC1 ; [.1973.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
-2CC0 ; [.1973.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
-03E3 ; [.1974.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
-03E2 ; [.1974.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
-2CEC ; [.1975.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEB ; [.1975.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CC3 ; [.1976.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
-2CC2 ; [.1976.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC5 ; [.1977.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC4 ; [.1977.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC7 ; [.1978.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC6 ; [.1978.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
-03E5 ; [.1979.0020.0002.03E5] # COPTIC SMALL LETTER FEI
-03E4 ; [.1979.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
-03E7 ; [.197A.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
-03E6 ; [.197A.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
-2CF3 ; [.197B.0020.0002.2CF3] # COPTIC SMALL LETTER BOHAIRIC KHEI
-2CF2 ; [.197B.0020.0008.2CF2] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
-2CC9 ; [.197C.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CC8 ; [.197C.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-03E9 ; [.197D.0020.0002.03E9] # COPTIC SMALL LETTER HORI
-03E8 ; [.197D.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
-2CCB ; [.197E.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
-2CCA ; [.197E.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCD ; [.197F.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCC ; [.197F.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCF ; [.1980.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
-2CCE ; [.1980.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD1 ; [.1981.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
-2CD0 ; [.1981.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD3 ; [.1982.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD2 ; [.1982.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD5 ; [.1983.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD4 ; [.1983.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
-03EB ; [.1984.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
-03EA ; [.1984.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
-2CEE ; [.1985.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CED ; [.1985.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CD7 ; [.1986.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD6 ; [.1986.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-03ED ; [.1987.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
-03EC ; [.1987.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
-2CD9 ; [.1988.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
-2CD8 ; [.1988.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDB ; [.1989.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDA ; [.1989.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDD ; [.198A.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDC ; [.198A.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-03EF ; [.198B.0020.0002.03EF] # COPTIC SMALL LETTER DEI
-03EE ; [.198B.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
-2CB3 ; [.198C.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB2 ; [.198C.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB5 ; [.198D.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB4 ; [.198D.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CDF ; [.198E.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CDE ; [.198E.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE1 ; [.198F.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE0 ; [.198F.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE3 ; [.1990.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE2 ; [.1990.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-0430 ; [.1991.0020.0002.0430] # CYRILLIC SMALL LETTER A
-2DF6 ; [.1991.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A
-0410 ; [.1991.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
-04D1 ; [.1995.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-0430 0306 ; [.1995.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1995.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-0410 0306 ; [.1995.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1999.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-0430 0308 ; [.1999.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1999.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0410 0308 ; [.1999.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D9 ; [.199D.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
-04D8 ; [.199D.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
-04DB ; [.19A1.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04D9 0308 ; [.19A1.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.19A1.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D8 0308 ; [.19A1.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D5 ; [.19A5.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
-04D4 ; [.19A5.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
-0431 ; [.19A9.0020.0002.0431] # CYRILLIC SMALL LETTER BE
-2DE0 ; [.19A9.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE
-0411 ; [.19A9.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
-0432 ; [.19AD.0020.0002.0432] # CYRILLIC SMALL LETTER VE
-2DE1 ; [.19AD.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE
-0412 ; [.19AD.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
-0433 ; [.19B1.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
-2DE2 ; [.19B1.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE
-0413 ; [.19B1.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
-0491 ; [.19B1.0020.0004.0491][.0000.013A.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490 ; [.19B1.0020.000A.0490][.0000.013A.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0493 ; [.19B5.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
-0492 ; [.19B5.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-04FB ; [.19B9.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FA ; [.19B9.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-0495 ; [.19BD.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0494 ; [.19BD.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-04F7 ; [.19C1.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F6 ; [.19C1.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-0434 ; [.19C5.0020.0002.0434] # CYRILLIC SMALL LETTER DE
-2DE3 ; [.19C5.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE
-0414 ; [.19C5.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
-0501 ; [.19C9.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
-0500 ; [.19C9.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
-A681 ; [.19CA.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
-A680 ; [.19CA.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
-0452 ; [.19CB.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
-0402 ; [.19CB.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
-A663 ; [.19CF.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
-A662 ; [.19CF.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
-0503 ; [.19D0.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
-0502 ; [.19D0.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
-0453 ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0301 ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0341 ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0403 ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0301 ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0341 ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0499 ; [.19D5.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-0498 ; [.19D5.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0435 ; [.19D9.0020.0002.0435] # CYRILLIC SMALL LETTER IE
-2DF7 ; [.19D9.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE
-0415 ; [.19D9.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
-0450 ; [.19D9.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE
-0400 ; [.19D9.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0451 ; [.19D9.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO
-0401 ; [.19D9.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO
-04D7 ; [.19DD.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-0435 0306 ; [.19DD.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.19DD.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0415 0306 ; [.19DD.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0454 ; [.19E1.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
-A674 ; [.19E1.0020.0004.A674] # COMBINING CYRILLIC LETTER UKRAINIAN IE
-0404 ; [.19E1.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0436 ; [.19E5.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
-2DE4 ; [.19E5.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE
-0416 ; [.19E5.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
-04C2 ; [.19E5.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C1 ; [.19E5.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-A685 ; [.19E9.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
-A684 ; [.19E9.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
-04DD ; [.19EA.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-0436 0308 ; [.19EA.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.19EA.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0416 0308 ; [.19EA.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0497 ; [.19EE.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0496 ; [.19EE.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0437 ; [.19F2.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
-2DE5 ; [.19F2.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE
-0417 ; [.19F2.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
-A641 ; [.19F6.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
-A640 ; [.19F6.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
-0505 ; [.19F7.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
-0504 ; [.19F7.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
-0511 ; [.19F8.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
-0510 ; [.19F8.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
-04DF ; [.19F9.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-0437 0308 ; [.19F9.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19F9.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0417 0308 ; [.19F9.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-A643 ; [.19FD.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
-A642 ; [.19FD.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
-0455 ; [.19FE.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
-0405 ; [.19FE.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
-A645 ; [.1A02.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
-A644 ; [.1A02.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
-04E1 ; [.1A03.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E0 ; [.1A03.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-A689 ; [.1A07.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
-A688 ; [.1A07.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
-0507 ; [.1A08.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
-0506 ; [.1A08.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
-A683 ; [.1A09.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
-A682 ; [.1A09.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
-0438 ; [.1A0A.0020.0002.0438] # CYRILLIC SMALL LETTER I
-A675 ; [.1A0A.0020.0004.A675] # COMBINING CYRILLIC LETTER I
-0418 ; [.1A0A.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
-045D ; [.1A0A.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE
-040D ; [.1A0A.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE
-04E3 ; [.1A0A.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON
-04E2 ; [.1A0A.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON
-048B ; [.1A0E.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048A ; [.1A0E.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-04E5 ; [.1A12.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-0438 0308 ; [.1A12.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.1A12.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0418 0308 ; [.1A12.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0456 ; [.1A16.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406 ; [.1A16.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-A647 ; [.1A1A.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
-A646 ; [.1A1A.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
-0457 ; [.1A1B.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0456 0308 ; [.1A1B.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-A676 ; [.1A1B.0020.0004.A676] # COMBINING CYRILLIC LETTER YI
-0407 ; [.1A1B.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0406 0308 ; [.1A1B.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.1A1F.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0438 0306 ; [.1A1F.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.1A1F.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0418 0306 ; [.1A1F.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0458 ; [.1A23.0020.0002.0458] # CYRILLIC SMALL LETTER JE
-0408 ; [.1A23.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
-A649 ; [.1A27.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
-2DF8 ; [.1A27.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV
-A648 ; [.1A27.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
-043A ; [.1A28.0020.0002.043A] # CYRILLIC SMALL LETTER KA
-2DE6 ; [.1A28.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA
-041A ; [.1A28.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
-049B ; [.1A2C.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049A ; [.1A2C.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-04C4 ; [.1A30.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
-04C3 ; [.1A30.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04A1 ; [.1A34.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
-04A0 ; [.1A34.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
-049F ; [.1A38.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
-049E ; [.1A38.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049D ; [.1A3C.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049C ; [.1A3C.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-051F ; [.1A40.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
-051E ; [.1A40.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
-051B ; [.1A41.0020.0002.051B] # CYRILLIC SMALL LETTER QA
-051A ; [.1A41.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
-043B ; [.1A42.0020.0002.043B] # CYRILLIC SMALL LETTER EL
-2DE7 ; [.1A42.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL
-041B ; [.1A42.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
-1D2B ; [.1A46.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
-04C6 ; [.1A47.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
-04C5 ; [.1A47.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
-0513 ; [.1A4B.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
-0512 ; [.1A4B.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0521 ; [.1A4C.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0520 ; [.1A4C.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0459 ; [.1A4D.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
-0409 ; [.1A4D.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
-A665 ; [.1A51.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
-A664 ; [.1A51.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
-0509 ; [.1A52.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
-0508 ; [.1A52.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
-0515 ; [.1A53.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
-0514 ; [.1A53.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
-043C ; [.1A54.0020.0002.043C] # CYRILLIC SMALL LETTER EM
-2DE8 ; [.1A54.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM
-041C ; [.1A54.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
-04CE ; [.1A58.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
-04CD ; [.1A58.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
-A667 ; [.1A5C.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
-A666 ; [.1A5C.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
-043D ; [.1A5D.0020.0002.043D] # CYRILLIC SMALL LETTER EN
-2DE9 ; [.1A5D.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN
-041D ; [.1A5D.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
-1D78 ; [.1A5D.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN
-04CA ; [.1A61.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
-04C9 ; [.1A61.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04A3 ; [.1A65.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A2 ; [.1A65.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04C8 ; [.1A69.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
-04C7 ; [.1A69.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
-0523 ; [.1A6D.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0522 ; [.1A6D.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-04A5 ; [.1A6E.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
-04A4 ; [.1A6E.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
-045A ; [.1A72.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
-040A ; [.1A72.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
-050B ; [.1A76.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
-050A ; [.1A76.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
-043E ; [.1A77.0020.0002.043E] # CYRILLIC SMALL LETTER O
-2DEA ; [.1A77.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O
-A669 ; [.1A77.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; [.1A77.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; [.1A77.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; [.1A77.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O
-041E ; [.1A77.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
-A668 ; [.1A77.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; [.1A77.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; [.1A77.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-04E7 ; [.1A7B.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-043E 0308 ; [.1A7B.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A7B.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-041E 0308 ; [.1A7B.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E9 ; [.1A7F.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
-04E8 ; [.1A7F.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
-04EB ; [.1A83.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04E9 0308 ; [.1A83.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A83.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04E8 0308 ; [.1A83.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-043F ; [.1A87.0020.0002.043F] # CYRILLIC SMALL LETTER PE
-2DEB ; [.1A87.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE
-041F ; [.1A87.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
-0525 ; [.1A8B.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0524 ; [.1A8B.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-04A7 ; [.1A8C.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A6 ; [.1A8C.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-0481 ; [.1A90.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
-0480 ; [.1A90.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
-0440 ; [.1A94.0020.0002.0440] # CYRILLIC SMALL LETTER ER
-2DEC ; [.1A94.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER
-0420 ; [.1A94.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
-048F ; [.1A98.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
-048E ; [.1A98.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
-0517 ; [.1A9C.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
-0516 ; [.1A9C.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
-0441 ; [.1A9D.0020.0002.0441] # CYRILLIC SMALL LETTER ES
-2DED ; [.1A9D.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES
-0421 ; [.1A9D.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
-2DF5 ; [.1A9D.0020.0004.2DF5][.1AA6.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE
-050D ; [.1AA1.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
-050C ; [.1AA1.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
-04AB ; [.1AA2.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AA ; [.1AA2.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-0442 ; [.1AA6.0020.0002.0442] # CYRILLIC SMALL LETTER TE
-2DEE ; [.1AA6.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE
-0422 ; [.1AA6.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
-A68D ; [.1AAA.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
-A68C ; [.1AAA.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
-050F ; [.1AAB.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
-050E ; [.1AAB.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
-04AD ; [.1AAC.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AC ; [.1AAC.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-A68B ; [.1AB0.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68A ; [.1AB0.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-045B ; [.1AB1.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
-040B ; [.1AB1.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
-045C ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0301 ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0341 ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-040C ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0301 ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0341 ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-0443 ; [.1AB9.0020.0002.0443] # CYRILLIC SMALL LETTER U
-A677 ; [.1AB9.0020.0004.A677] # COMBINING CYRILLIC LETTER U
-0423 ; [.1AB9.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
-04EF ; [.1AB9.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON
-04EE ; [.1AB9.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON
-045E ; [.1ABD.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-0443 0306 ; [.1ABD.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1ABD.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-0423 0306 ; [.1ABD.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1AC1.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-0443 0308 ; [.1AC1.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1AC1.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-0423 0308 ; [.1AC1.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1AC5.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-0443 030B ; [.1AC5.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1AC5.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-0423 030B ; [.1AC5.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04AF ; [.1AC9.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE ; [.1AC9.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B1 ; [.1ACD.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0 ; [.1ACD.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-A64B ; [.1AD1.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
-2DF9 ; [.1AD1.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK
-A64A ; [.1AD1.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-0479 ; [.1AD2.0020.0002.0479] # CYRILLIC SMALL LETTER UK
-0478 ; [.1AD2.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
-0444 ; [.1AD6.0020.0002.0444] # CYRILLIC SMALL LETTER EF
-0424 ; [.1AD6.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
-0445 ; [.1ADA.0020.0002.0445] # CYRILLIC SMALL LETTER HA
-2DEF ; [.1ADA.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA
-0425 ; [.1ADA.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
-04FD ; [.1ADE.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
-04FC ; [.1ADE.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FF ; [.1AE2.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
-04FE ; [.1AE2.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04B3 ; [.1AE6.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B2 ; [.1AE6.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04BB ; [.1AEA.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
-04BA ; [.1AEA.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
-0527 ; [.1AEE.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
-0526 ; [.1AEE.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
-A695 ; [.1AEF.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
-A694 ; [.1AEF.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
-0461 ; [.1AF0.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
-A67B ; [.1AF0.0020.0004.A67B] # COMBINING CYRILLIC LETTER OMEGA
-0460 ; [.1AF0.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
-047F ; [.1AF4.0020.0002.047F] # CYRILLIC SMALL LETTER OT
-047E ; [.1AF4.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
-A64D ; [.1AF8.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
-A64C ; [.1AF8.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
-047D ; [.1AF9.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047C ; [.1AF9.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047B ; [.1AFD.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
-047A ; [.1AFD.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
-0446 ; [.1B01.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
-2DF0 ; [.1B01.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE
-0426 ; [.1B01.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
-A661 ; [.1B05.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
-A660 ; [.1B05.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
-A68F ; [.1B06.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
-A68E ; [.1B06.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
-04B5 ; [.1B07.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
-04B4 ; [.1B07.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
-A691 ; [.1B0B.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
-A690 ; [.1B0B.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
-0447 ; [.1B0C.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
-2DF1 ; [.1B0C.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE
-0427 ; [.1B0C.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
-A693 ; [.1B10.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
-A692 ; [.1B10.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
-04F5 ; [.1B11.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-0447 0308 ; [.1B11.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1B11.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-0427 0308 ; [.1B11.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04B7 ; [.1B15.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B6 ; [.1B15.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04CC ; [.1B19.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CB ; [.1B19.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04B9 ; [.1B1D.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04B8 ; [.1B1D.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-A687 ; [.1B21.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
-A686 ; [.1B21.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
-04BD ; [.1B22.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BC ; [.1B22.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BF ; [.1B26.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04BE ; [.1B26.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-045F ; [.1B2A.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
-040F ; [.1B2A.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
-0448 ; [.1B2E.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
-2DF2 ; [.1B2E.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA
-0428 ; [.1B2E.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
-A697 ; [.1B32.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
-A696 ; [.1B32.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
-0449 ; [.1B33.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
-2DF3 ; [.1B33.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA
-0429 ; [.1B33.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
-A64F ; [.1B37.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
-A64E ; [.1B37.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
-2E2F ; [.1B38.0020.0002.2E2F] # VERTICAL TILDE
-A67F ; [.1B39.0020.0002.A67F] # CYRILLIC PAYEROK
-044A ; [.1B3A.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
-A678 ; [.1B3A.0020.0004.A678] # COMBINING CYRILLIC LETTER HARD SIGN
-042A ; [.1B3A.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
-A651 ; [.1B3E.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A650 ; [.1B3E.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-044B ; [.1B3F.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
-A679 ; [.1B3F.0020.0004.A679] # COMBINING CYRILLIC LETTER YERU
-042B ; [.1B3F.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
-04F9 ; [.1B43.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-044B 0308 ; [.1B43.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1B43.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-042B 0308 ; [.1B43.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-044C ; [.1B47.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
-A67A ; [.1B47.0020.0004.A67A] # COMBINING CYRILLIC LETTER SOFT SIGN
-042C ; [.1B47.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
-048D ; [.1B4B.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048C ; [.1B4B.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-0463 ; [.1B4F.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
-2DFA ; [.1B4F.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT
-0462 ; [.1B4F.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
-A653 ; [.1B53.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
-A652 ; [.1B53.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-044D ; [.1B54.0020.0002.044D] # CYRILLIC SMALL LETTER E
-042D ; [.1B54.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
-04ED ; [.1B58.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-044D 0308 ; [.1B58.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B58.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-042D 0308 ; [.1B58.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-044E ; [.1B5C.0020.0002.044E] # CYRILLIC SMALL LETTER YU
-2DFB ; [.1B5C.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU
-042E ; [.1B5C.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
-A655 ; [.1B60.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
-A654 ; [.1B60.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
-A657 ; [.1B61.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
-2DFC ; [.1B61.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A
-A656 ; [.1B61.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
-044F ; [.1B62.0020.0002.044F] # CYRILLIC SMALL LETTER YA
-042F ; [.1B62.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
-0519 ; [.1B66.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
-0518 ; [.1B66.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
-0465 ; [.1B67.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
-A69F ; [.1B67.0020.0004.A69F] # COMBINING CYRILLIC LETTER IOTIFIED E
-0464 ; [.1B67.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
-0467 ; [.1B6B.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
-2DFD ; [.1B6B.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS
-0466 ; [.1B6B.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
-A659 ; [.1B6F.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A658 ; [.1B6F.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-046B ; [.1B70.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
-2DFE ; [.1B70.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS
-046A ; [.1B70.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
-A65B ; [.1B74.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
-A65A ; [.1B74.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
-0469 ; [.1B75.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-0468 ; [.1B75.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-A65D ; [.1B79.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65C ; [.1B79.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-046D ; [.1B7A.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-2DFF ; [.1B7A.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-046C ; [.1B7A.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046F ; [.1B7E.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
-046E ; [.1B7E.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
-0471 ; [.1B82.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
-0470 ; [.1B82.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
-0473 ; [.1B86.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
-2DF4 ; [.1B86.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA
-0472 ; [.1B86.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
-0475 ; [.1B8A.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
-0474 ; [.1B8A.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
-0477 ; [.1B8E.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0475 030F ; [.1B8E.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B8E.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0474 030F ; [.1B8E.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-A65F ; [.1B92.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
-A65E ; [.1B92.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
-04A9 ; [.1B93.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
-04A8 ; [.1B93.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-051D ; [.1B97.0020.0002.051D] # CYRILLIC SMALL LETTER WE
-051C ; [.1B97.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
-04CF ; [.1B98.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
-04C0 ; [.1B98.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
-2C30 ; [.1B9C.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
-2C00 ; [.1B9C.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
-2C31 ; [.1B9D.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
-2C01 ; [.1B9D.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
-2C32 ; [.1B9E.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
-2C02 ; [.1B9E.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
-2C33 ; [.1B9F.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
-2C03 ; [.1B9F.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C34 ; [.1BA0.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
-2C04 ; [.1BA0.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
-2C35 ; [.1BA1.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
-2C05 ; [.1BA1.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
-2C36 ; [.1BA2.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
-2C06 ; [.1BA2.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C37 ; [.1BA3.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
-2C07 ; [.1BA3.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
-2C38 ; [.1BA4.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
-2C08 ; [.1BA4.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C39 ; [.1BA5.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
-2C09 ; [.1BA5.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
-2C3A ; [.1BA6.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C0A ; [.1BA6.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C3B ; [.1BA7.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
-2C0B ; [.1BA7.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
-2C3C ; [.1BA8.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
-2C0C ; [.1BA8.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
-2C3D ; [.1BA9.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
-2C0D ; [.1BA9.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
-2C3E ; [.1BAA.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
-2C0E ; [.1BAA.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C3F ; [.1BAB.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
-2C0F ; [.1BAB.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C40 ; [.1BAC.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
-2C10 ; [.1BAC.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
-2C41 ; [.1BAD.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
-2C11 ; [.1BAD.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
-2C42 ; [.1BAE.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
-2C12 ; [.1BAE.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
-2C43 ; [.1BAF.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
-2C13 ; [.1BAF.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
-2C44 ; [.1BB0.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
-2C14 ; [.1BB0.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
-2C45 ; [.1BB1.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
-2C15 ; [.1BB1.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C46 ; [.1BB2.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
-2C16 ; [.1BB2.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
-2C47 ; [.1BB3.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
-2C17 ; [.1BB3.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
-2C48 ; [.1BB4.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
-2C18 ; [.1BB4.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
-2C49 ; [.1BB5.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
-2C19 ; [.1BB5.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
-2C4A ; [.1BB6.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
-2C1A ; [.1BB6.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
-2C4B ; [.1BB7.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
-2C1B ; [.1BB7.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
-2C4C ; [.1BB8.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
-2C1C ; [.1BB8.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
-2C4D ; [.1BB9.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
-2C1D ; [.1BB9.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C4E ; [.1BBA.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
-2C1E ; [.1BBA.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
-2C4F ; [.1BBB.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
-2C1F ; [.1BBB.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
-2C50 ; [.1BBC.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
-2C20 ; [.1BBC.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
-2C51 ; [.1BBD.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
-2C21 ; [.1BBD.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
-2C52 ; [.1BBE.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C22 ; [.1BBE.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C53 ; [.1BBF.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
-2C23 ; [.1BBF.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
-2C54 ; [.1BC0.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
-2C24 ; [.1BC0.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C55 ; [.1BC1.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C25 ; [.1BC1.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C56 ; [.1BC2.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
-2C26 ; [.1BC2.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
-2C57 ; [.1BC3.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C27 ; [.1BC3.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C58 ; [.1BC4.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
-2C28 ; [.1BC4.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C59 ; [.1BC5.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C29 ; [.1BC5.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C5A ; [.1BC6.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
-2C2A ; [.1BC6.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
-2C5B ; [.1BC7.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
-2C2B ; [.1BC7.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C5C ; [.1BC8.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
-2C2C ; [.1BC8.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C5D ; [.1BC9.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C2D ; [.1BC9.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C5E ; [.1BCA.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C2E ; [.1BCA.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-10D0 ; [.1BCB.0020.0002.10D0] # GEORGIAN LETTER AN
-2D00 ; [.1BCC.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
-10A0 ; [.1BCC.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
-10D1 ; [.1BCD.0020.0002.10D1] # GEORGIAN LETTER BAN
-2D01 ; [.1BCE.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
-10A1 ; [.1BCE.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
-10D2 ; [.1BCF.0020.0002.10D2] # GEORGIAN LETTER GAN
-2D02 ; [.1BD0.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
-10A2 ; [.1BD0.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
-10D3 ; [.1BD1.0020.0002.10D3] # GEORGIAN LETTER DON
-2D03 ; [.1BD2.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
-10A3 ; [.1BD2.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
-10D4 ; [.1BD3.0020.0002.10D4] # GEORGIAN LETTER EN
-2D04 ; [.1BD4.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
-10A4 ; [.1BD4.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
-10D5 ; [.1BD5.0020.0002.10D5] # GEORGIAN LETTER VIN
-2D05 ; [.1BD6.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
-10A5 ; [.1BD6.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
-10D6 ; [.1BD7.0020.0002.10D6] # GEORGIAN LETTER ZEN
-2D06 ; [.1BD8.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
-10A6 ; [.1BD8.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
-10F1 ; [.1BD9.0020.0002.10F1] # GEORGIAN LETTER HE
-2D21 ; [.1BDA.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
-10C1 ; [.1BDA.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
-10D7 ; [.1BDB.0020.0002.10D7] # GEORGIAN LETTER TAN
-2D07 ; [.1BDC.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
-10A7 ; [.1BDC.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
-10D8 ; [.1BDD.0020.0002.10D8] # GEORGIAN LETTER IN
-2D08 ; [.1BDE.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
-10A8 ; [.1BDE.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
-10D9 ; [.1BDF.0020.0002.10D9] # GEORGIAN LETTER KAN
-2D09 ; [.1BE0.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
-10A9 ; [.1BE0.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
-10DA ; [.1BE1.0020.0002.10DA] # GEORGIAN LETTER LAS
-2D0A ; [.1BE2.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
-10AA ; [.1BE2.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
-10DB ; [.1BE3.0020.0002.10DB] # GEORGIAN LETTER MAN
-2D0B ; [.1BE4.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
-10AB ; [.1BE4.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
-10DC ; [.1BE5.0020.0002.10DC] # GEORGIAN LETTER NAR
-10FC ; [.1BE5.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR
-2D0C ; [.1BE6.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
-10AC ; [.1BE6.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
-10F2 ; [.1BE7.0020.0002.10F2] # GEORGIAN LETTER HIE
-2D22 ; [.1BE8.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
-10C2 ; [.1BE8.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
-10DD ; [.1BE9.0020.0002.10DD] # GEORGIAN LETTER ON
-2D0D ; [.1BEA.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
-10AD ; [.1BEA.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
-10DE ; [.1BEB.0020.0002.10DE] # GEORGIAN LETTER PAR
-2D0E ; [.1BEC.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
-10AE ; [.1BEC.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
-10DF ; [.1BED.0020.0002.10DF] # GEORGIAN LETTER ZHAR
-2D0F ; [.1BEE.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
-10AF ; [.1BEE.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
-10E0 ; [.1BEF.0020.0002.10E0] # GEORGIAN LETTER RAE
-2D10 ; [.1BF0.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
-10B0 ; [.1BF0.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
-10E1 ; [.1BF1.0020.0002.10E1] # GEORGIAN LETTER SAN
-2D11 ; [.1BF2.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
-10B1 ; [.1BF2.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
-10E2 ; [.1BF3.0020.0002.10E2] # GEORGIAN LETTER TAR
-2D12 ; [.1BF4.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
-10B2 ; [.1BF4.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
-10F3 ; [.1BF5.0020.0002.10F3] # GEORGIAN LETTER WE
-2D23 ; [.1BF6.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
-10C3 ; [.1BF6.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
-10E3 ; [.1BF7.0020.0002.10E3] # GEORGIAN LETTER UN
-2D13 ; [.1BF8.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
-10B3 ; [.1BF8.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
-10E4 ; [.1BF9.0020.0002.10E4] # GEORGIAN LETTER PHAR
-2D14 ; [.1BFA.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
-10B4 ; [.1BFA.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
-10E5 ; [.1BFB.0020.0002.10E5] # GEORGIAN LETTER KHAR
-2D15 ; [.1BFC.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
-10B5 ; [.1BFC.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
-10E6 ; [.1BFD.0020.0002.10E6] # GEORGIAN LETTER GHAN
-2D16 ; [.1BFE.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
-10B6 ; [.1BFE.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
-10E7 ; [.1BFF.0020.0002.10E7] # GEORGIAN LETTER QAR
-2D17 ; [.1C00.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
-10B7 ; [.1C00.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
-10E8 ; [.1C01.0020.0002.10E8] # GEORGIAN LETTER SHIN
-2D18 ; [.1C02.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
-10B8 ; [.1C02.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
-10E9 ; [.1C03.0020.0002.10E9] # GEORGIAN LETTER CHIN
-2D19 ; [.1C04.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
-10B9 ; [.1C04.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
-10EA ; [.1C05.0020.0002.10EA] # GEORGIAN LETTER CAN
-2D1A ; [.1C06.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
-10BA ; [.1C06.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
-10EB ; [.1C07.0020.0002.10EB] # GEORGIAN LETTER JIL
-2D1B ; [.1C08.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
-10BB ; [.1C08.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
-10EC ; [.1C09.0020.0002.10EC] # GEORGIAN LETTER CIL
-2D1C ; [.1C0A.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
-10BC ; [.1C0A.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
-10ED ; [.1C0B.0020.0002.10ED] # GEORGIAN LETTER CHAR
-2D1D ; [.1C0C.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
-10BD ; [.1C0C.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
-10EE ; [.1C0D.0020.0002.10EE] # GEORGIAN LETTER XAN
-2D1E ; [.1C0E.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
-10BE ; [.1C0E.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
-10F4 ; [.1C0F.0020.0002.10F4] # GEORGIAN LETTER HAR
-2D24 ; [.1C10.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
-10C4 ; [.1C10.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
-10EF ; [.1C11.0020.0002.10EF] # GEORGIAN LETTER JHAN
-2D1F ; [.1C12.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
-10BF ; [.1C12.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
-10F0 ; [.1C13.0020.0002.10F0] # GEORGIAN LETTER HAE
-2D20 ; [.1C14.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
-10C0 ; [.1C14.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
-10F5 ; [.1C15.0020.0002.10F5] # GEORGIAN LETTER HOE
-2D25 ; [.1C16.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
-10C5 ; [.1C16.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
-10F6 ; [.1C17.0020.0002.10F6] # GEORGIAN LETTER FI
-10F7 ; [.1C18.0020.0002.10F7] # GEORGIAN LETTER YN
-2D27 ; [.1C19.0020.0002.2D27] # GEORGIAN SMALL LETTER YN
-10C7 ; [.1C19.0020.0008.10C7] # GEORGIAN CAPITAL LETTER YN
-10F8 ; [.1C1A.0020.0002.10F8] # GEORGIAN LETTER ELIFI
-10F9 ; [.1C1B.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
-10FA ; [.1C1C.0020.0002.10FA] # GEORGIAN LETTER AIN
-10FD ; [.1C1D.0020.0002.10FD] # GEORGIAN LETTER AEN
-2D2D ; [.1C1E.0020.0002.2D2D] # GEORGIAN SMALL LETTER AEN
-10CD ; [.1C1E.0020.0008.10CD] # GEORGIAN CAPITAL LETTER AEN
-10FE ; [.1C1F.0020.0002.10FE] # GEORGIAN LETTER HARD SIGN
-10FF ; [.1C20.0020.0002.10FF] # GEORGIAN LETTER LABIAL SIGN
-0561 ; [.1C21.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
-0531 ; [.1C21.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
-0562 ; [.1C22.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
-0532 ; [.1C22.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
-0563 ; [.1C23.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
-0533 ; [.1C23.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
-0564 ; [.1C24.0020.0002.0564] # ARMENIAN SMALL LETTER DA
-0534 ; [.1C24.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
-0565 ; [.1C25.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
-0535 ; [.1C25.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
-0587 ; [.1C25.0020.0004.0587][.1C42.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN
-0566 ; [.1C26.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
-0536 ; [.1C26.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
-0567 ; [.1C27.0020.0002.0567] # ARMENIAN SMALL LETTER EH
-0537 ; [.1C27.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
-0568 ; [.1C28.0020.0002.0568] # ARMENIAN SMALL LETTER ET
-0538 ; [.1C28.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
-0569 ; [.1C29.0020.0002.0569] # ARMENIAN SMALL LETTER TO
-0539 ; [.1C29.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
-056A ; [.1C2A.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
-053A ; [.1C2A.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
-056B ; [.1C2B.0020.0002.056B] # ARMENIAN SMALL LETTER INI
-053B ; [.1C2B.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
-056C ; [.1C2C.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
-053C ; [.1C2C.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
-056D ; [.1C2D.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
-053D ; [.1C2D.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
-056E ; [.1C2E.0020.0002.056E] # ARMENIAN SMALL LETTER CA
-053E ; [.1C2E.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
-056F ; [.1C2F.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
-053F ; [.1C2F.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
-0570 ; [.1C30.0020.0002.0570] # ARMENIAN SMALL LETTER HO
-0540 ; [.1C30.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
-0571 ; [.1C31.0020.0002.0571] # ARMENIAN SMALL LETTER JA
-0541 ; [.1C31.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
-0572 ; [.1C32.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
-0542 ; [.1C32.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
-0573 ; [.1C33.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
-0543 ; [.1C33.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
-0574 ; [.1C34.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
-0544 ; [.1C34.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
-FB14 ; [.1C34.0020.0004.FB14][.1C25.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH
-FB15 ; [.1C34.0020.0004.FB15][.1C2B.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI
-FB17 ; [.1C34.0020.0004.FB17][.1C2D.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH
-FB13 ; [.1C34.0020.0004.FB13][.1C36.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW
-0575 ; [.1C35.0020.0002.0575] # ARMENIAN SMALL LETTER YI
-0545 ; [.1C35.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
-0576 ; [.1C36.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
-0546 ; [.1C36.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
-0577 ; [.1C37.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
-0547 ; [.1C37.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
-0578 ; [.1C38.0020.0002.0578] # ARMENIAN SMALL LETTER VO
-0548 ; [.1C38.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
-0579 ; [.1C39.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
-0549 ; [.1C39.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
-057A ; [.1C3A.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
-054A ; [.1C3A.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
-057B ; [.1C3B.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
-054B ; [.1C3B.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
-057C ; [.1C3C.0020.0002.057C] # ARMENIAN SMALL LETTER RA
-054C ; [.1C3C.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
-057D ; [.1C3D.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
-054D ; [.1C3D.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
-057E ; [.1C3E.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
-054E ; [.1C3E.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
-FB16 ; [.1C3E.0020.0004.FB16][.1C36.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW
-057F ; [.1C3F.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
-054F ; [.1C3F.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
-0580 ; [.1C40.0020.0002.0580] # ARMENIAN SMALL LETTER REH
-0550 ; [.1C40.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
-0581 ; [.1C41.0020.0002.0581] # ARMENIAN SMALL LETTER CO
-0551 ; [.1C41.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
-0582 ; [.1C42.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
-0552 ; [.1C42.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
-0583 ; [.1C43.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
-0553 ; [.1C43.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
-0584 ; [.1C44.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
-0554 ; [.1C44.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
-0585 ; [.1C45.0020.0002.0585] # ARMENIAN SMALL LETTER OH
-0555 ; [.1C45.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
-0586 ; [.1C46.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
-0556 ; [.1C46.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
-0559 ; [.1C47.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0 ; [.1C48.0020.0002.05D0] # HEBREW LETTER ALEF
-2135 ; [.1C48.0020.0004.2135] # ALEF SYMBOL
-FB21 ; [.1C48.0020.0005.FB21] # HEBREW LETTER WIDE ALEF
-FB2E ; [.1C48.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH
-FB2F ; [.1C48.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS
-FB30 ; [.1C48.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ
-FB4F ; [.1C48.0020.0004.FB4F][.1C53.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED
-05D1 ; [.1C49.0020.0002.05D1] # HEBREW LETTER BET
-2136 ; [.1C49.0020.0004.2136] # BET SYMBOL
-FB31 ; [.1C49.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH
-FB4C ; [.1C49.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE
-05D2 ; [.1C4A.0020.0002.05D2] # HEBREW LETTER GIMEL
-2137 ; [.1C4A.0020.0004.2137] # GIMEL SYMBOL
-FB32 ; [.1C4A.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH
-05D3 ; [.1C4B.0020.0002.05D3] # HEBREW LETTER DALET
-2138 ; [.1C4B.0020.0004.2138] # DALET SYMBOL
-FB22 ; [.1C4B.0020.0005.FB22] # HEBREW LETTER WIDE DALET
-FB33 ; [.1C4B.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH
-05D4 ; [.1C4C.0020.0002.05D4] # HEBREW LETTER HE
-FB23 ; [.1C4C.0020.0005.FB23] # HEBREW LETTER WIDE HE
-FB34 ; [.1C4C.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ
-05D5 ; [.1C4D.0020.0002.05D5] # HEBREW LETTER VAV
-FB4B ; [.1C4D.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM
-FB35 ; [.1C4D.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH
-05F0 ; [.1C4D.0020.0004.05F0][.1C4D.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1 ; [.1C4D.0020.0004.05F1][.1C51.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD
-05D6 ; [.1C4E.0020.0002.05D6] # HEBREW LETTER ZAYIN
-FB36 ; [.1C4E.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH
-05D7 ; [.1C4F.0020.0002.05D7] # HEBREW LETTER HET
-05D8 ; [.1C50.0020.0002.05D8] # HEBREW LETTER TET
-FB38 ; [.1C50.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH
-05D9 ; [.1C51.0020.0002.05D9] # HEBREW LETTER YOD
-FB1D ; [.1C51.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ
-FB39 ; [.1C51.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH
-05F2 ; [.1C51.0020.0004.05F2][.1C51.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD
-FB1F ; [.1C51.0020.0004.FB1F][.1C51.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-05DB ; [.1C52.0020.0002.05DB] # HEBREW LETTER KAF
-FB24 ; [.1C52.0020.0005.FB24] # HEBREW LETTER WIDE KAF
-05DA ; [.1C52.0020.0019.05DA] # HEBREW LETTER FINAL KAF
-FB3B ; [.1C52.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH
-FB3A ; [.1C52.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH
-FB4D ; [.1C52.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE
-05DC ; [.1C53.0020.0002.05DC] # HEBREW LETTER LAMED
-FB25 ; [.1C53.0020.0005.FB25] # HEBREW LETTER WIDE LAMED
-FB3C ; [.1C53.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH
-05DE ; [.1C54.0020.0002.05DE] # HEBREW LETTER MEM
-FB26 ; [.1C54.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM
-05DD ; [.1C54.0020.0019.05DD] # HEBREW LETTER FINAL MEM
-FB3E ; [.1C54.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH
-05E0 ; [.1C55.0020.0002.05E0] # HEBREW LETTER NUN
-05DF ; [.1C55.0020.0019.05DF] # HEBREW LETTER FINAL NUN
-FB40 ; [.1C55.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH
-05E1 ; [.1C56.0020.0002.05E1] # HEBREW LETTER SAMEKH
-FB41 ; [.1C56.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH
-05E2 ; [.1C57.0020.0002.05E2] # HEBREW LETTER AYIN
-FB20 ; [.1C57.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN
-05E4 ; [.1C58.0020.0002.05E4] # HEBREW LETTER PE
-05E3 ; [.1C58.0020.0019.05E3] # HEBREW LETTER FINAL PE
-FB44 ; [.1C58.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH
-FB43 ; [.1C58.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH
-FB4E ; [.1C58.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE
-05E6 ; [.1C59.0020.0002.05E6] # HEBREW LETTER TSADI
-05E5 ; [.1C59.0020.0019.05E5] # HEBREW LETTER FINAL TSADI
-FB46 ; [.1C59.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH
-05E7 ; [.1C5A.0020.0002.05E7] # HEBREW LETTER QOF
-FB47 ; [.1C5A.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH
-05E8 ; [.1C5B.0020.0002.05E8] # HEBREW LETTER RESH
-FB27 ; [.1C5B.0020.0005.FB27] # HEBREW LETTER WIDE RESH
-FB48 ; [.1C5B.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH
-05E9 ; [.1C5C.0020.0002.05E9] # HEBREW LETTER SHIN
-FB2B ; [.1C5C.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT
-FB2A ; [.1C5C.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT
-FB49 ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH
-FB2D ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2C ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-05EA ; [.1C5D.0020.0002.05EA] # HEBREW LETTER TAV
-FB28 ; [.1C5D.0020.0005.FB28] # HEBREW LETTER WIDE TAV
-FB4A ; [.1C5D.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH
-10900 ; [.1C5E.0020.0002.10900] # PHOENICIAN LETTER ALF
-10901 ; [.1C5F.0020.0002.10901] # PHOENICIAN LETTER BET
-10902 ; [.1C60.0020.0002.10902] # PHOENICIAN LETTER GAML
-10903 ; [.1C61.0020.0002.10903] # PHOENICIAN LETTER DELT
-10904 ; [.1C62.0020.0002.10904] # PHOENICIAN LETTER HE
-10905 ; [.1C63.0020.0002.10905] # PHOENICIAN LETTER WAU
-10906 ; [.1C64.0020.0002.10906] # PHOENICIAN LETTER ZAI
-10907 ; [.1C65.0020.0002.10907] # PHOENICIAN LETTER HET
-10908 ; [.1C66.0020.0002.10908] # PHOENICIAN LETTER TET
-10909 ; [.1C67.0020.0002.10909] # PHOENICIAN LETTER YOD
-1090A ; [.1C68.0020.0002.1090A] # PHOENICIAN LETTER KAF
-1090B ; [.1C69.0020.0002.1090B] # PHOENICIAN LETTER LAMD
-1090C ; [.1C6A.0020.0002.1090C] # PHOENICIAN LETTER MEM
-1090D ; [.1C6B.0020.0002.1090D] # PHOENICIAN LETTER NUN
-1090E ; [.1C6C.0020.0002.1090E] # PHOENICIAN LETTER SEMK
-1090F ; [.1C6D.0020.0002.1090F] # PHOENICIAN LETTER AIN
-10910 ; [.1C6E.0020.0002.10910] # PHOENICIAN LETTER PE
-10911 ; [.1C6F.0020.0002.10911] # PHOENICIAN LETTER SADE
-10912 ; [.1C70.0020.0002.10912] # PHOENICIAN LETTER QOF
-10913 ; [.1C71.0020.0002.10913] # PHOENICIAN LETTER ROSH
-10914 ; [.1C72.0020.0002.10914] # PHOENICIAN LETTER SHIN
-10915 ; [.1C73.0020.0002.10915] # PHOENICIAN LETTER TAU
-0800 ; [.1C74.0020.0002.0800] # SAMARITAN LETTER ALAF
-0801 ; [.1C75.0020.0002.0801] # SAMARITAN LETTER BIT
-0802 ; [.1C76.0020.0002.0802] # SAMARITAN LETTER GAMAN
-0803 ; [.1C77.0020.0002.0803] # SAMARITAN LETTER DALAT
-0804 ; [.1C78.0020.0002.0804] # SAMARITAN LETTER IY
-0805 ; [.1C79.0020.0002.0805] # SAMARITAN LETTER BAA
-0806 ; [.1C7A.0020.0002.0806] # SAMARITAN LETTER ZEN
-0807 ; [.1C7B.0020.0002.0807] # SAMARITAN LETTER IT
-0808 ; [.1C7C.0020.0002.0808] # SAMARITAN LETTER TIT
-0809 ; [.1C7D.0020.0002.0809] # SAMARITAN LETTER YUT
-080A ; [.1C7E.0020.0002.080A] # SAMARITAN LETTER KAAF
-080B ; [.1C7F.0020.0002.080B] # SAMARITAN LETTER LABAT
-080C ; [.1C80.0020.0002.080C] # SAMARITAN LETTER MIM
-080D ; [.1C81.0020.0002.080D] # SAMARITAN LETTER NUN
-080E ; [.1C82.0020.0002.080E] # SAMARITAN LETTER SINGAAT
-080F ; [.1C83.0020.0002.080F] # SAMARITAN LETTER IN
-0810 ; [.1C84.0020.0002.0810] # SAMARITAN LETTER FI
-0811 ; [.1C85.0020.0002.0811] # SAMARITAN LETTER TSAADIY
-0812 ; [.1C86.0020.0002.0812] # SAMARITAN LETTER QUF
-0813 ; [.1C87.0020.0002.0813] # SAMARITAN LETTER RISH
-0814 ; [.1C88.0020.0002.0814] # SAMARITAN LETTER SHAN
-0815 ; [.1C89.0020.0002.0815] # SAMARITAN LETTER TAAF
-0816 ; [.1C8A.0020.0002.0816] # SAMARITAN MARK IN
-0817 ; [.1C8B.0020.0002.0817] # SAMARITAN MARK IN-ALAF
-081A ; [.1C8C.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B ; [.1C8D.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
-0621 ; [.1C8E.0020.0002.0621] # ARABIC LETTER HAMZA
-0674 ; [.1C8E.0020.0004.0674] # ARABIC LETTER HIGH HAMZA
-FE80 ; [.1C8E.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM
-06FD ; [.1C8E.0020.0004.06FD][.0000.013A.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND
-0622 ; [.1C8F.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.1C8F.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-FE82 ; [.1C8F.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE81 ; [.1C8F.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-0623 ; [.1C90.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.1C90.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-FE84 ; [.1C90.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE83 ; [.1C90.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-0672 ; [.1C91.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0671 ; [.1C92.0020.0002.0671] # ARABIC LETTER ALEF WASLA
-FB51 ; [.1C92.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM
-FB50 ; [.1C92.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM
-0624 ; [.1C93.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.1C93.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-FE86 ; [.1C93.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE85 ; [.1C93.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-0625 ; [.1C94.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.1C94.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-FE88 ; [.1C94.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE87 ; [.1C94.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-0673 ; [.1C95.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0773 ; [.1C96.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774 ; [.1C97.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0626 ; [.1C98.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.1C98.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-FE8B ; [.1C98.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE8C ; [.1C98.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8A ; [.1C98.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE89 ; [.1C98.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FBEB ; [.1C98.0020.0019.FBEB][.1C9C.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEA ; [.1C98.0020.001A.FBEA][.1C9C.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FC97 ; [.1C98.0020.0017.FC97][.1CB2.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC00 ; [.1C98.0020.001A.FC00][.1CB2.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC98 ; [.1C98.0020.0017.FC98][.1CB9.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC01 ; [.1C98.0020.001A.FC01][.1CB9.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC99 ; [.1C98.0020.0017.FC99][.1CBA.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC64 ; [.1C98.0020.0019.FC64][.1CD2.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65 ; [.1C98.0020.0019.FC65][.1CD3.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC9A ; [.1C98.0020.0017.FC9A][.1D27.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FCDF ; [.1C98.0020.0018.FCDF][.1D27.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FC66 ; [.1C98.0020.0019.FC66][.1D27.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC02 ; [.1C98.0020.001A.FC02][.1D27.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC67 ; [.1C98.0020.0019.FC67][.1D2B.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC9B ; [.1C98.0020.0017.FC9B][.1D34.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FCE0 ; [.1C98.0020.0018.FCE0][.1D34.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FBED ; [.1C98.0020.0019.FBED][.1D39.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEC ; [.1C98.0020.001A.FBEC][.1D39.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBEF ; [.1C98.0020.0019.FBEF][.1D3A.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBEE ; [.1C98.0020.001A.FBEE][.1D3A.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBF3 ; [.1C98.0020.0019.FBF3][.1D3D.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF2 ; [.1C98.0020.001A.FBF2][.1D3D.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF1 ; [.1C98.0020.0019.FBF1][.1D3E.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF0 ; [.1C98.0020.001A.FBF0][.1D3E.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF5 ; [.1C98.0020.0019.FBF5][.1D3F.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF4 ; [.1C98.0020.001A.FBF4][.1D3F.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBFB ; [.1C98.0020.0017.FBFB][.1D47.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFA ; [.1C98.0020.0019.FBFA][.1D47.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC68 ; [.1C98.0020.0019.FC68][.1D47.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBF9 ; [.1C98.0020.001A.FBF9][.1D47.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC03 ; [.1C98.0020.001A.FC03][.1D47.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC69 ; [.1C98.0020.0019.FC69][.1D48.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC04 ; [.1C98.0020.001A.FC04][.1D48.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FBF8 ; [.1C98.0020.0017.FBF8][.1D4C.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF7 ; [.1C98.0020.0019.FBF7][.1D4C.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBF6 ; [.1C98.0020.001A.FBF6][.1D4C.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-08A8 ; [.1C99.0020.0002.08A8] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
-08A9 ; [.1C9A.0020.0002.08A9] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
-08AC ; [.1C9B.0020.0002.08AC] # ARABIC LETTER ROHINGYA YEH
-0627 ; [.1C9C.0020.0002.0627] # ARABIC LETTER ALEF
-1EE00 ; [.1C9C.0020.0005.1EE00] # ARABIC MATHEMATICAL ALEF
-1EE80 ; [.1C9C.0020.0005.1EE80] # ARABIC MATHEMATICAL LOOPED ALEF
-FE8E ; [.1C9C.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM
-FE8D ; [.1C9C.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM
-FD3C ; [.1C9C.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD3D ; [.1C9C.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-0675 ; [.1C9C.0020.0004.0675][.1C8E.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF
-FDF3 ; [.1C9C.0020.001A.FDF3][.1D0D.0020.001A.FDF3][.1C9E.0020.001A.FDF3][.1CD2.0020.001A.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF2 ; [.1C9C.0020.001A.FDF2][.1D20.0020.001A.FDF2][.1D20.0020.001A.FDF2][.1D34.0020.001A.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM
-066E ; [.1C9D.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
-1EE1C ; [.1C9D.0020.0005.1EE1C] # ARABIC MATHEMATICAL DOTLESS BEH
-1EE7C ; [.1C9D.0020.0005.1EE7C] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
-0628 ; [.1C9E.0020.0002.0628] # ARABIC LETTER BEH
-1EE01 ; [.1C9E.0020.0005.1EE01] # ARABIC MATHEMATICAL BEH
-1EE21 ; [.1C9E.0020.0005.1EE21] # ARABIC MATHEMATICAL INITIAL BEH
-1EE61 ; [.1C9E.0020.0005.1EE61] # ARABIC MATHEMATICAL STRETCHED BEH
-1EE81 ; [.1C9E.0020.0005.1EE81] # ARABIC MATHEMATICAL LOOPED BEH
-1EEA1 ; [.1C9E.0020.0005.1EEA1] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
-FE91 ; [.1C9E.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM
-FE92 ; [.1C9E.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM
-FE90 ; [.1C9E.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM
-FE8F ; [.1C9E.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM
-FC9C ; [.1C9E.0020.0017.FC9C][.1CB2.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC05 ; [.1C9E.0020.001A.FC05][.1CB2.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC9D ; [.1C9E.0020.0017.FC9D][.1CB9.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC06 ; [.1C9E.0020.001A.FC06][.1CB9.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FDC2 ; [.1C9E.0020.0019.FDC2][.1CB9.0020.0019.FDC2][.1D48.0020.0019.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FC9E ; [.1C9E.0020.0017.FC9E][.1CBA.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC07 ; [.1C9E.0020.001A.FC07][.1CBA.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FD9E ; [.1C9E.0020.0019.FD9E][.1CBA.0020.0019.FD9E][.1D48.0020.0019.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FC6A ; [.1C9E.0020.0019.FC6A][.1CD2.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B ; [.1C9E.0020.0019.FC6B][.1CD3.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC9F ; [.1C9E.0020.0017.FC9F][.1D27.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCE1 ; [.1C9E.0020.0018.FCE1][.1D27.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FC6C ; [.1C9E.0020.0019.FC6C][.1D27.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC08 ; [.1C9E.0020.001A.FC08][.1D27.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC6D ; [.1C9E.0020.0019.FC6D][.1D2B.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FCA0 ; [.1C9E.0020.0017.FCA0][.1D34.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCE2 ; [.1C9E.0020.0018.FCE2][.1D34.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FC6E ; [.1C9E.0020.0019.FC6E][.1D47.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC09 ; [.1C9E.0020.001A.FC09][.1D47.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC6F ; [.1C9E.0020.0019.FC6F][.1D48.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC0A ; [.1C9E.0020.001A.FC0A][.1D48.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-067B ; [.1C9F.0020.0002.067B] # ARABIC LETTER BEEH
-FB54 ; [.1C9F.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM
-FB55 ; [.1C9F.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM
-FB53 ; [.1C9F.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM
-FB52 ; [.1C9F.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM
-067E ; [.1CA0.0020.0002.067E] # ARABIC LETTER PEH
-FB58 ; [.1CA0.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM
-FB59 ; [.1CA0.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM
-FB57 ; [.1CA0.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM
-FB56 ; [.1CA0.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM
-0680 ; [.1CA1.0020.0002.0680] # ARABIC LETTER BEHEH
-FB5C ; [.1CA1.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM
-FB5D ; [.1CA1.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM
-FB5B ; [.1CA1.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM
-FB5A ; [.1CA1.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM
-0750 ; [.1CA2.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751 ; [.1CA3.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752 ; [.1CA4.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753 ; [.1CA5.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754 ; [.1CA6.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755 ; [.1CA7.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-08A0 ; [.1CA8.0020.0002.08A0] # ARABIC LETTER BEH WITH SMALL V BELOW
-0756 ; [.1CA9.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
-0629 ; [.1CAA.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
-FE94 ; [.1CAA.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE93 ; [.1CAA.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-062A ; [.1CAB.0020.0002.062A] # ARABIC LETTER TEH
-1EE15 ; [.1CAB.0020.0005.1EE15] # ARABIC MATHEMATICAL TEH
-1EE35 ; [.1CAB.0020.0005.1EE35] # ARABIC MATHEMATICAL INITIAL TEH
-1EE75 ; [.1CAB.0020.0005.1EE75] # ARABIC MATHEMATICAL STRETCHED TEH
-1EE95 ; [.1CAB.0020.0005.1EE95] # ARABIC MATHEMATICAL LOOPED TEH
-1EEB5 ; [.1CAB.0020.0005.1EEB5] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
-FE97 ; [.1CAB.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM
-FE98 ; [.1CAB.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM
-FE96 ; [.1CAB.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM
-FE95 ; [.1CAB.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM
-FCA1 ; [.1CAB.0020.0017.FCA1][.1CB2.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FC0B ; [.1CAB.0020.001A.FC0B][.1CB2.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FD50 ; [.1CAB.0020.0017.FD50][.1CB2.0020.0017.FD50][.1D27.0020.0017.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FDA0 ; [.1CAB.0020.0019.FDA0][.1CB2.0020.0019.FDA0][.1D47.0020.0019.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9F ; [.1CAB.0020.0019.FD9F][.1CB2.0020.0019.FD9F][.1D48.0020.0019.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FCA2 ; [.1CAB.0020.0017.FCA2][.1CB9.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FC0C ; [.1CAB.0020.001A.FC0C][.1CB9.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FD52 ; [.1CAB.0020.0017.FD52][.1CB9.0020.0017.FD52][.1CB2.0020.0017.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD51 ; [.1CAB.0020.0019.FD51][.1CB9.0020.0019.FD51][.1CB2.0020.0019.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD53 ; [.1CAB.0020.0017.FD53][.1CB9.0020.0017.FD53][.1D27.0020.0017.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FCA3 ; [.1CAB.0020.0017.FCA3][.1CBA.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FC0D ; [.1CAB.0020.001A.FC0D][.1CBA.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FD54 ; [.1CAB.0020.0017.FD54][.1CBA.0020.0017.FD54][.1D27.0020.0017.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FDA2 ; [.1CAB.0020.0019.FDA2][.1CBA.0020.0019.FDA2][.1D47.0020.0019.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA1 ; [.1CAB.0020.0019.FDA1][.1CBA.0020.0019.FDA1][.1D48.0020.0019.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FC70 ; [.1CAB.0020.0019.FC70][.1CD2.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71 ; [.1CAB.0020.0019.FC71][.1CD3.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FCA4 ; [.1CAB.0020.0017.FCA4][.1D27.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCE3 ; [.1CAB.0020.0018.FCE3][.1D27.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FC72 ; [.1CAB.0020.0019.FC72][.1D27.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC0E ; [.1CAB.0020.001A.FC0E][.1D27.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FD55 ; [.1CAB.0020.0017.FD55][.1D27.0020.0017.FD55][.1CB2.0020.0017.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56 ; [.1CAB.0020.0017.FD56][.1D27.0020.0017.FD56][.1CB9.0020.0017.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57 ; [.1CAB.0020.0017.FD57][.1D27.0020.0017.FD57][.1CBA.0020.0017.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FDA4 ; [.1CAB.0020.0019.FDA4][.1D27.0020.0019.FDA4][.1D47.0020.0019.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA3 ; [.1CAB.0020.0019.FDA3][.1D27.0020.0019.FDA3][.1D48.0020.0019.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FC73 ; [.1CAB.0020.0019.FC73][.1D2B.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FCA5 ; [.1CAB.0020.0017.FCA5][.1D34.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCE4 ; [.1CAB.0020.0018.FCE4][.1D34.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FC74 ; [.1CAB.0020.0019.FC74][.1D47.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC0F ; [.1CAB.0020.001A.FC0F][.1D47.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC75 ; [.1CAB.0020.0019.FC75][.1D48.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC10 ; [.1CAB.0020.001A.FC10][.1D48.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-062B ; [.1CAC.0020.0002.062B] # ARABIC LETTER THEH
-1EE16 ; [.1CAC.0020.0005.1EE16] # ARABIC MATHEMATICAL THEH
-1EE36 ; [.1CAC.0020.0005.1EE36] # ARABIC MATHEMATICAL INITIAL THEH
-1EE76 ; [.1CAC.0020.0005.1EE76] # ARABIC MATHEMATICAL STRETCHED THEH
-1EE96 ; [.1CAC.0020.0005.1EE96] # ARABIC MATHEMATICAL LOOPED THEH
-1EEB6 ; [.1CAC.0020.0005.1EEB6] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
-FE9B ; [.1CAC.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM
-FE9C ; [.1CAC.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM
-FE9A ; [.1CAC.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM
-FE99 ; [.1CAC.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM
-FC11 ; [.1CAC.0020.001A.FC11][.1CB2.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC76 ; [.1CAC.0020.0019.FC76][.1CD2.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77 ; [.1CAC.0020.0019.FC77][.1CD3.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FCA6 ; [.1CAC.0020.0017.FCA6][.1D27.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCE5 ; [.1CAC.0020.0018.FCE5][.1D27.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FC78 ; [.1CAC.0020.0019.FC78][.1D27.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC12 ; [.1CAC.0020.001A.FC12][.1D27.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC79 ; [.1CAC.0020.0019.FC79][.1D2B.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FCE6 ; [.1CAC.0020.0018.FCE6][.1D34.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FC7A ; [.1CAC.0020.0019.FC7A][.1D47.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC13 ; [.1CAC.0020.001A.FC13][.1D47.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC7B ; [.1CAC.0020.0019.FC7B][.1D48.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC14 ; [.1CAC.0020.001A.FC14][.1D48.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-0679 ; [.1CAD.0020.0002.0679] # ARABIC LETTER TTEH
-FB68 ; [.1CAD.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM
-FB69 ; [.1CAD.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM
-FB67 ; [.1CAD.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM
-FB66 ; [.1CAD.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM
-067A ; [.1CAE.0020.0002.067A] # ARABIC LETTER TTEHEH
-FB60 ; [.1CAE.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM
-FB61 ; [.1CAE.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM
-FB5F ; [.1CAE.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM
-FB5E ; [.1CAE.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM
-067C ; [.1CAF.0020.0002.067C] # ARABIC LETTER TEH WITH RING
-067D ; [.1CB0.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067F ; [.1CB1.0020.0002.067F] # ARABIC LETTER TEHEH
-FB64 ; [.1CB1.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM
-FB65 ; [.1CB1.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM
-FB63 ; [.1CB1.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM
-FB62 ; [.1CB1.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM
-062C ; [.1CB2.0020.0002.062C] # ARABIC LETTER JEEM
-1EE02 ; [.1CB2.0020.0005.1EE02] # ARABIC MATHEMATICAL JEEM
-1EE22 ; [.1CB2.0020.0005.1EE22] # ARABIC MATHEMATICAL INITIAL JEEM
-1EE42 ; [.1CB2.0020.0005.1EE42] # ARABIC MATHEMATICAL TAILED JEEM
-1EE62 ; [.1CB2.0020.0005.1EE62] # ARABIC MATHEMATICAL STRETCHED JEEM
-1EE82 ; [.1CB2.0020.0005.1EE82] # ARABIC MATHEMATICAL LOOPED JEEM
-1EEA2 ; [.1CB2.0020.0005.1EEA2] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
-FE9F ; [.1CB2.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM
-FEA0 ; [.1CB2.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM
-FE9E ; [.1CB2.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM
-FE9D ; [.1CB2.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM
-FCA7 ; [.1CB2.0020.0017.FCA7][.1CB9.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FC15 ; [.1CB2.0020.001A.FC15][.1CB9.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FDA6 ; [.1CB2.0020.0019.FDA6][.1CB9.0020.0019.FDA6][.1D47.0020.0019.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDBE ; [.1CB2.0020.0019.FDBE][.1CB9.0020.0019.FDBE][.1D48.0020.0019.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDFB ; [.1CB2.0020.001A.FDFB][.1D20.0020.001A.FDFB][*020A.0020.001A.FDFB][.1CB2.0020.001A.FDFB][.1D20.0020.001A.FDFB][.1C9C.0020.001A.FDFB][.1D20.0020.001A.FDFB][.1D34.0020.001A.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU
-FCA8 ; [.1CB2.0020.0017.FCA8][.1D27.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FC16 ; [.1CB2.0020.001A.FC16][.1D27.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FD59 ; [.1CB2.0020.0017.FD59][.1D27.0020.0017.FD59][.1CB9.0020.0017.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD58 ; [.1CB2.0020.0019.FD58][.1D27.0020.0019.FD58][.1CB9.0020.0019.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FDA7 ; [.1CB2.0020.0019.FDA7][.1D27.0020.0019.FDA7][.1D47.0020.0019.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5 ; [.1CB2.0020.0019.FDA5][.1D27.0020.0019.FDA5][.1D48.0020.0019.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FD1D ; [.1CB2.0020.0019.FD1D][.1D47.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD01 ; [.1CB2.0020.001A.FD01][.1D47.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD1E ; [.1CB2.0020.0019.FD1E][.1D48.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD02 ; [.1CB2.0020.001A.FD02][.1D48.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-0683 ; [.1CB3.0020.0002.0683] # ARABIC LETTER NYEH
-FB78 ; [.1CB3.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM
-FB79 ; [.1CB3.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM
-FB77 ; [.1CB3.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM
-FB76 ; [.1CB3.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM
-0684 ; [.1CB4.0020.0002.0684] # ARABIC LETTER DYEH
-FB74 ; [.1CB4.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM
-FB75 ; [.1CB4.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM
-FB73 ; [.1CB4.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM
-FB72 ; [.1CB4.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM
-0686 ; [.1CB5.0020.0002.0686] # ARABIC LETTER TCHEH
-FB7C ; [.1CB5.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM
-FB7D ; [.1CB5.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM
-FB7B ; [.1CB5.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM
-FB7A ; [.1CB5.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM
-06BF ; [.1CB6.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
-0687 ; [.1CB7.0020.0002.0687] # ARABIC LETTER TCHEHEH
-FB80 ; [.1CB7.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM
-FB81 ; [.1CB7.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM
-FB7F ; [.1CB7.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM
-FB7E ; [.1CB7.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM
-08A2 ; [.1CB8.0020.0002.08A2] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
-062D ; [.1CB9.0020.0002.062D] # ARABIC LETTER HAH
-1EE07 ; [.1CB9.0020.0005.1EE07] # ARABIC MATHEMATICAL HAH
-1EE27 ; [.1CB9.0020.0005.1EE27] # ARABIC MATHEMATICAL INITIAL HAH
-1EE47 ; [.1CB9.0020.0005.1EE47] # ARABIC MATHEMATICAL TAILED HAH
-1EE67 ; [.1CB9.0020.0005.1EE67] # ARABIC MATHEMATICAL STRETCHED HAH
-1EE87 ; [.1CB9.0020.0005.1EE87] # ARABIC MATHEMATICAL LOOPED HAH
-1EEA7 ; [.1CB9.0020.0005.1EEA7] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
-FEA3 ; [.1CB9.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM
-FEA4 ; [.1CB9.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM
-FEA2 ; [.1CB9.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM
-FEA1 ; [.1CB9.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM
-FCA9 ; [.1CB9.0020.0017.FCA9][.1CB2.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FC17 ; [.1CB9.0020.001A.FC17][.1CB2.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FDBF ; [.1CB9.0020.0019.FDBF][.1CB2.0020.0019.FDBF][.1D48.0020.0019.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FCAA ; [.1CB9.0020.0017.FCAA][.1D27.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FC18 ; [.1CB9.0020.001A.FC18][.1D27.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FD5B ; [.1CB9.0020.0019.FD5B][.1D27.0020.0019.FD5B][.1D47.0020.0019.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5A ; [.1CB9.0020.0019.FD5A][.1D27.0020.0019.FD5A][.1D48.0020.0019.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD1B ; [.1CB9.0020.0019.FD1B][.1D47.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FCFF ; [.1CB9.0020.001A.FCFF][.1D47.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD1C ; [.1CB9.0020.0019.FD1C][.1D48.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD00 ; [.1CB9.0020.001A.FD00][.1D48.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-062E ; [.1CBA.0020.0002.062E] # ARABIC LETTER KHAH
-1EE17 ; [.1CBA.0020.0005.1EE17] # ARABIC MATHEMATICAL KHAH
-1EE37 ; [.1CBA.0020.0005.1EE37] # ARABIC MATHEMATICAL INITIAL KHAH
-1EE57 ; [.1CBA.0020.0005.1EE57] # ARABIC MATHEMATICAL TAILED KHAH
-1EE77 ; [.1CBA.0020.0005.1EE77] # ARABIC MATHEMATICAL STRETCHED KHAH
-1EE97 ; [.1CBA.0020.0005.1EE97] # ARABIC MATHEMATICAL LOOPED KHAH
-1EEB7 ; [.1CBA.0020.0005.1EEB7] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
-FEA7 ; [.1CBA.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM
-FEA8 ; [.1CBA.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM
-FEA6 ; [.1CBA.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM
-FEA5 ; [.1CBA.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM
-FCAB ; [.1CBA.0020.0017.FCAB][.1CB2.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FC19 ; [.1CBA.0020.001A.FC19][.1CB2.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A ; [.1CBA.0020.001A.FC1A][.1CB9.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FCAC ; [.1CBA.0020.0017.FCAC][.1D27.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FC1B ; [.1CBA.0020.001A.FC1B][.1D27.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FD1F ; [.1CBA.0020.0019.FD1F][.1D47.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD03 ; [.1CBA.0020.001A.FD03][.1D47.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD20 ; [.1CBA.0020.0019.FD20][.1D48.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD04 ; [.1CBA.0020.001A.FD04][.1D48.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-0681 ; [.1CBB.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682 ; [.1CBC.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0685 ; [.1CBD.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0757 ; [.1CBE.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758 ; [.1CBF.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-076E ; [.1CC0.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F ; [.1CC1.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772 ; [.1CC2.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-077C ; [.1CC3.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-062F ; [.1CC4.0020.0002.062F] # ARABIC LETTER DAL
-1EE03 ; [.1CC4.0020.0005.1EE03] # ARABIC MATHEMATICAL DAL
-1EE83 ; [.1CC4.0020.0005.1EE83] # ARABIC MATHEMATICAL LOOPED DAL
-1EEA3 ; [.1CC4.0020.0005.1EEA3] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
-FEAA ; [.1CC4.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM
-FEA9 ; [.1CC4.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM
-0630 ; [.1CC5.0020.0002.0630] # ARABIC LETTER THAL
-1EE18 ; [.1CC5.0020.0005.1EE18] # ARABIC MATHEMATICAL THAL
-1EE98 ; [.1CC5.0020.0005.1EE98] # ARABIC MATHEMATICAL LOOPED THAL
-1EEB8 ; [.1CC5.0020.0005.1EEB8] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
-FEAC ; [.1CC5.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM
-FEAB ; [.1CC5.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM
-FC5B ; [.1CC5.0020.001A.FC5B][.0000.00D1.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-0688 ; [.1CC6.0020.0002.0688] # ARABIC LETTER DDAL
-FB89 ; [.1CC6.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM
-FB88 ; [.1CC6.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM
-0689 ; [.1CC7.0020.0002.0689] # ARABIC LETTER DAL WITH RING
-068A ; [.1CC8.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
-068B ; [.1CC9.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C ; [.1CCA.0020.0002.068C] # ARABIC LETTER DAHAL
-FB85 ; [.1CCA.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM
-FB84 ; [.1CCA.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM
-068D ; [.1CCB.0020.0002.068D] # ARABIC LETTER DDAHAL
-FB83 ; [.1CCB.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM
-FB82 ; [.1CCB.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM
-068E ; [.1CCC.0020.0002.068E] # ARABIC LETTER DUL
-FB87 ; [.1CCC.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM
-FB86 ; [.1CCC.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM
-068F ; [.1CCD.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690 ; [.1CCE.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE ; [.1CCF.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
-0759 ; [.1CD0.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A ; [.1CD1.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-0631 ; [.1CD2.0020.0002.0631] # ARABIC LETTER REH
-1EE13 ; [.1CD2.0020.0005.1EE13] # ARABIC MATHEMATICAL REH
-1EE93 ; [.1CD2.0020.0005.1EE93] # ARABIC MATHEMATICAL LOOPED REH
-1EEB3 ; [.1CD2.0020.0005.1EEB3] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
-FEAE ; [.1CD2.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM
-FEAD ; [.1CD2.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM
-FC5C ; [.1CD2.0020.001A.FC5C][.0000.00D1.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FDF6 ; [.1CD2.0020.001A.FDF6][.1CE3.0020.001A.FDF6][.1D3A.0020.001A.FDF6][.1D20.0020.001A.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM
-FDFC ; [.1CD2.0020.001A.FDFC][.1D49.0020.001A.FDFC][.1C9C.0020.001A.FDFC][.1D20.0020.001A.FDFC] # RIAL SIGN
-0632 ; [.1CD3.0020.0002.0632] # ARABIC LETTER ZAIN
-1EE06 ; [.1CD3.0020.0005.1EE06] # ARABIC MATHEMATICAL ZAIN
-1EE86 ; [.1CD3.0020.0005.1EE86] # ARABIC MATHEMATICAL LOOPED ZAIN
-1EEA6 ; [.1CD3.0020.0005.1EEA6] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
-FEB0 ; [.1CD3.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM
-FEAF ; [.1CD3.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM
-0691 ; [.1CD4.0020.0002.0691] # ARABIC LETTER RREH
-FB8D ; [.1CD4.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM
-FB8C ; [.1CD4.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM
-0692 ; [.1CD5.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
-0693 ; [.1CD6.0020.0002.0693] # ARABIC LETTER REH WITH RING
-0694 ; [.1CD7.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
-0695 ; [.1CD8.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
-0696 ; [.1CD9.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697 ; [.1CDA.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698 ; [.1CDB.0020.0002.0698] # ARABIC LETTER JEH
-FB8B ; [.1CDB.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM
-FB8A ; [.1CDB.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM
-0699 ; [.1CDC.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF ; [.1CDD.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
-075B ; [.1CDE.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
-076B ; [.1CDF.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C ; [.1CE0.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
-0771 ; [.1CE1.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-08AA ; [.1CE2.0020.0002.08AA] # ARABIC LETTER REH WITH LOOP
-0633 ; [.1CE3.0020.0002.0633] # ARABIC LETTER SEEN
-1EE0E ; [.1CE3.0020.0005.1EE0E] # ARABIC MATHEMATICAL SEEN
-1EE2E ; [.1CE3.0020.0005.1EE2E] # ARABIC MATHEMATICAL INITIAL SEEN
-1EE4E ; [.1CE3.0020.0005.1EE4E] # ARABIC MATHEMATICAL TAILED SEEN
-1EE6E ; [.1CE3.0020.0005.1EE6E] # ARABIC MATHEMATICAL STRETCHED SEEN
-1EE8E ; [.1CE3.0020.0005.1EE8E] # ARABIC MATHEMATICAL LOOPED SEEN
-1EEAE ; [.1CE3.0020.0005.1EEAE] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
-FEB3 ; [.1CE3.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM
-FEB4 ; [.1CE3.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM
-FEB2 ; [.1CE3.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM
-FEB1 ; [.1CE3.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM
-FCAD ; [.1CE3.0020.0017.FCAD][.1CB2.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FD34 ; [.1CE3.0020.0018.FD34][.1CB2.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FC1C ; [.1CE3.0020.001A.FC1C][.1CB2.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FD5D ; [.1CE3.0020.0017.FD5D][.1CB2.0020.0017.FD5D][.1CB9.0020.0017.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E ; [.1CE3.0020.0019.FD5E][.1CB2.0020.0019.FD5E][.1D47.0020.0019.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FCAE ; [.1CE3.0020.0017.FCAE][.1CB9.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FD35 ; [.1CE3.0020.0018.FD35][.1CB9.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FC1D ; [.1CE3.0020.001A.FC1D][.1CB9.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FD5C ; [.1CE3.0020.0017.FD5C][.1CB9.0020.0017.FD5C][.1CB2.0020.0017.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FCAF ; [.1CE3.0020.0017.FCAF][.1CBA.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FD36 ; [.1CE3.0020.0018.FD36][.1CBA.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FC1E ; [.1CE3.0020.001A.FC1E][.1CBA.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FDA8 ; [.1CE3.0020.0019.FDA8][.1CBA.0020.0019.FDA8][.1D47.0020.0019.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDC6 ; [.1CE3.0020.0019.FDC6][.1CBA.0020.0019.FDC6][.1D48.0020.0019.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FD2A ; [.1CE3.0020.0019.FD2A][.1CD2.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD0E ; [.1CE3.0020.001A.FD0E][.1CD2.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FCB0 ; [.1CE3.0020.0017.FCB0][.1D27.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCE7 ; [.1CE3.0020.0018.FCE7][.1D27.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FC1F ; [.1CE3.0020.001A.FC1F][.1D27.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FD61 ; [.1CE3.0020.0017.FD61][.1D27.0020.0017.FD61][.1CB2.0020.0017.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD60 ; [.1CE3.0020.0017.FD60][.1D27.0020.0017.FD60][.1CB9.0020.0017.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD5F ; [.1CE3.0020.0019.FD5F][.1D27.0020.0019.FD5F][.1CB9.0020.0019.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD63 ; [.1CE3.0020.0017.FD63][.1D27.0020.0017.FD63][.1D27.0020.0017.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD62 ; [.1CE3.0020.0019.FD62][.1D27.0020.0019.FD62][.1D27.0020.0019.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD31 ; [.1CE3.0020.0017.FD31][.1D34.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FCE8 ; [.1CE3.0020.0018.FCE8][.1D34.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FD17 ; [.1CE3.0020.0019.FD17][.1D47.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FCFB ; [.1CE3.0020.001A.FCFB][.1D47.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FD18 ; [.1CE3.0020.0019.FD18][.1D48.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FCFC ; [.1CE3.0020.001A.FCFC][.1D48.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-0634 ; [.1CE4.0020.0002.0634] # ARABIC LETTER SHEEN
-1EE14 ; [.1CE4.0020.0005.1EE14] # ARABIC MATHEMATICAL SHEEN
-1EE34 ; [.1CE4.0020.0005.1EE34] # ARABIC MATHEMATICAL INITIAL SHEEN
-1EE54 ; [.1CE4.0020.0005.1EE54] # ARABIC MATHEMATICAL TAILED SHEEN
-1EE74 ; [.1CE4.0020.0005.1EE74] # ARABIC MATHEMATICAL STRETCHED SHEEN
-1EE94 ; [.1CE4.0020.0005.1EE94] # ARABIC MATHEMATICAL LOOPED SHEEN
-1EEB4 ; [.1CE4.0020.0005.1EEB4] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
-FEB7 ; [.1CE4.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM
-FEB8 ; [.1CE4.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM
-FEB6 ; [.1CE4.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM
-FEB5 ; [.1CE4.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM
-FD2D ; [.1CE4.0020.0017.FD2D][.1CB2.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD37 ; [.1CE4.0020.0018.FD37][.1CB2.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD25 ; [.1CE4.0020.0019.FD25][.1CB2.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD09 ; [.1CE4.0020.001A.FD09][.1CB2.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD69 ; [.1CE4.0020.0019.FD69][.1CB2.0020.0019.FD69][.1D48.0020.0019.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD2E ; [.1CE4.0020.0017.FD2E][.1CB9.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD38 ; [.1CE4.0020.0018.FD38][.1CB9.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD26 ; [.1CE4.0020.0019.FD26][.1CB9.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD0A ; [.1CE4.0020.001A.FD0A][.1CB9.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD68 ; [.1CE4.0020.0017.FD68][.1CB9.0020.0017.FD68][.1D27.0020.0017.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD67 ; [.1CE4.0020.0019.FD67][.1CB9.0020.0019.FD67][.1D27.0020.0019.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FDAA ; [.1CE4.0020.0019.FDAA][.1CB9.0020.0019.FDAA][.1D48.0020.0019.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FD2F ; [.1CE4.0020.0017.FD2F][.1CBA.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD39 ; [.1CE4.0020.0018.FD39][.1CBA.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD27 ; [.1CE4.0020.0019.FD27][.1CBA.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD0B ; [.1CE4.0020.001A.FD0B][.1CBA.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD29 ; [.1CE4.0020.0019.FD29][.1CD2.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD0D ; [.1CE4.0020.001A.FD0D][.1CD2.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD30 ; [.1CE4.0020.0017.FD30][.1D27.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FCE9 ; [.1CE4.0020.0018.FCE9][.1D27.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FD28 ; [.1CE4.0020.0019.FD28][.1D27.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD0C ; [.1CE4.0020.001A.FD0C][.1D27.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD6B ; [.1CE4.0020.0017.FD6B][.1D27.0020.0017.FD6B][.1CBA.0020.0017.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6A ; [.1CE4.0020.0019.FD6A][.1D27.0020.0019.FD6A][.1CBA.0020.0019.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6D ; [.1CE4.0020.0017.FD6D][.1D27.0020.0017.FD6D][.1D27.0020.0017.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6C ; [.1CE4.0020.0019.FD6C][.1D27.0020.0019.FD6C][.1D27.0020.0019.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD32 ; [.1CE4.0020.0017.FD32][.1D34.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FCEA ; [.1CE4.0020.0018.FCEA][.1D34.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FD19 ; [.1CE4.0020.0019.FD19][.1D47.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FCFD ; [.1CE4.0020.001A.FCFD][.1D47.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FD1A ; [.1CE4.0020.0019.FD1A][.1D48.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FCFE ; [.1CE4.0020.001A.FCFE][.1D48.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-069A ; [.1CE5.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B ; [.1CE6.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C ; [.1CE7.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA ; [.1CE8.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
-075C ; [.1CE9.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D ; [.1CEA.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0770 ; [.1CEB.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-077D ; [.1CEC.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E ; [.1CED.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
-0635 ; [.1CEE.0020.0002.0635] # ARABIC LETTER SAD
-1EE11 ; [.1CEE.0020.0005.1EE11] # ARABIC MATHEMATICAL SAD
-1EE31 ; [.1CEE.0020.0005.1EE31] # ARABIC MATHEMATICAL INITIAL SAD
-1EE51 ; [.1CEE.0020.0005.1EE51] # ARABIC MATHEMATICAL TAILED SAD
-1EE71 ; [.1CEE.0020.0005.1EE71] # ARABIC MATHEMATICAL STRETCHED SAD
-1EE91 ; [.1CEE.0020.0005.1EE91] # ARABIC MATHEMATICAL LOOPED SAD
-1EEB1 ; [.1CEE.0020.0005.1EEB1] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
-FEBB ; [.1CEE.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM
-FEBC ; [.1CEE.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM
-FEBA ; [.1CEE.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM
-FEB9 ; [.1CEE.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM
-FCB1 ; [.1CEE.0020.0017.FCB1][.1CB9.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FC20 ; [.1CEE.0020.001A.FC20][.1CB9.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FD65 ; [.1CEE.0020.0017.FD65][.1CB9.0020.0017.FD65][.1CB9.0020.0017.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD64 ; [.1CEE.0020.0019.FD64][.1CB9.0020.0019.FD64][.1CB9.0020.0019.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FDA9 ; [.1CEE.0020.0019.FDA9][.1CB9.0020.0019.FDA9][.1D48.0020.0019.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FCB2 ; [.1CEE.0020.0017.FCB2][.1CBA.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FD2B ; [.1CEE.0020.0019.FD2B][.1CD2.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD0F ; [.1CEE.0020.001A.FD0F][.1CD2.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FDF5 ; [.1CEE.0020.001A.FDF5][.1D20.0020.001A.FDF5][.1CF7.0020.001A.FDF5][.1D27.0020.001A.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM
-FDF9 ; [.1CEE.0020.001A.FDF9][.1D20.0020.001A.FDF9][.1D47.0020.001A.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA ; [.1CEE.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D47.0020.001A.FDFA][*020A.0020.001A.FDFA][.1C9C.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D34.0020.001A.FDFA][*020A.0020.001A.FDFA][.1CF7.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D48.0020.001A.FDFA][.1D34.0020.001A.FDFA][*020A.0020.001A.FDFA][.1D3A.0020.001A.FDFA][.1CE3.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D27.0020.001A.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDF0 ; [.1CEE.0020.001A.FDF0][.1D20.0020.001A.FDF0][.1D55.0020.001A.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FCB3 ; [.1CEE.0020.0017.FCB3][.1D27.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FC21 ; [.1CEE.0020.001A.FC21][.1D27.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FDC5 ; [.1CEE.0020.0017.FDC5][.1D27.0020.0017.FDC5][.1D27.0020.0017.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FD66 ; [.1CEE.0020.0019.FD66][.1D27.0020.0019.FD66][.1D27.0020.0019.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD21 ; [.1CEE.0020.0019.FD21][.1D47.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD05 ; [.1CEE.0020.001A.FD05][.1D47.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD22 ; [.1CEE.0020.0019.FD22][.1D48.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD06 ; [.1CEE.0020.001A.FD06][.1D48.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-0636 ; [.1CEF.0020.0002.0636] # ARABIC LETTER DAD
-1EE19 ; [.1CEF.0020.0005.1EE19] # ARABIC MATHEMATICAL DAD
-1EE39 ; [.1CEF.0020.0005.1EE39] # ARABIC MATHEMATICAL INITIAL DAD
-1EE59 ; [.1CEF.0020.0005.1EE59] # ARABIC MATHEMATICAL TAILED DAD
-1EE79 ; [.1CEF.0020.0005.1EE79] # ARABIC MATHEMATICAL STRETCHED DAD
-1EE99 ; [.1CEF.0020.0005.1EE99] # ARABIC MATHEMATICAL LOOPED DAD
-1EEB9 ; [.1CEF.0020.0005.1EEB9] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
-FEBF ; [.1CEF.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM
-FEC0 ; [.1CEF.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM
-FEBE ; [.1CEF.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM
-FEBD ; [.1CEF.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM
-FCB4 ; [.1CEF.0020.0017.FCB4][.1CB2.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FC22 ; [.1CEF.0020.001A.FC22][.1CB2.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FCB5 ; [.1CEF.0020.0017.FCB5][.1CB9.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FC23 ; [.1CEF.0020.001A.FC23][.1CB9.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FD6E ; [.1CEF.0020.0019.FD6E][.1CB9.0020.0019.FD6E][.1D47.0020.0019.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDAB ; [.1CEF.0020.0019.FDAB][.1CB9.0020.0019.FDAB][.1D48.0020.0019.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FCB6 ; [.1CEF.0020.0017.FCB6][.1CBA.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FC24 ; [.1CEF.0020.001A.FC24][.1CBA.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FD70 ; [.1CEF.0020.0017.FD70][.1CBA.0020.0017.FD70][.1D27.0020.0017.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD6F ; [.1CEF.0020.0019.FD6F][.1CBA.0020.0019.FD6F][.1D27.0020.0019.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD2C ; [.1CEF.0020.0019.FD2C][.1CD2.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD10 ; [.1CEF.0020.001A.FD10][.1CD2.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FCB7 ; [.1CEF.0020.0017.FCB7][.1D27.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FC25 ; [.1CEF.0020.001A.FC25][.1D27.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FD23 ; [.1CEF.0020.0019.FD23][.1D47.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD07 ; [.1CEF.0020.001A.FD07][.1D47.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD24 ; [.1CEF.0020.0019.FD24][.1D48.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD08 ; [.1CEF.0020.001A.FD08][.1D48.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-069D ; [.1CF0.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E ; [.1CF1.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB ; [.1CF2.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
-0637 ; [.1CF3.0020.0002.0637] # ARABIC LETTER TAH
-1EE08 ; [.1CF3.0020.0005.1EE08] # ARABIC MATHEMATICAL TAH
-1EE68 ; [.1CF3.0020.0005.1EE68] # ARABIC MATHEMATICAL STRETCHED TAH
-1EE88 ; [.1CF3.0020.0005.1EE88] # ARABIC MATHEMATICAL LOOPED TAH
-1EEA8 ; [.1CF3.0020.0005.1EEA8] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
-FEC3 ; [.1CF3.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM
-FEC4 ; [.1CF3.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM
-FEC2 ; [.1CF3.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM
-FEC1 ; [.1CF3.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM
-FCB8 ; [.1CF3.0020.0017.FCB8][.1CB9.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FC26 ; [.1CF3.0020.001A.FC26][.1CB9.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FD33 ; [.1CF3.0020.0017.FD33][.1D27.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD3A ; [.1CF3.0020.0018.FD3A][.1D27.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FC27 ; [.1CF3.0020.001A.FC27][.1D27.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FD72 ; [.1CF3.0020.0017.FD72][.1D27.0020.0017.FD72][.1CB9.0020.0017.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD71 ; [.1CF3.0020.0019.FD71][.1D27.0020.0019.FD71][.1CB9.0020.0019.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD73 ; [.1CF3.0020.0017.FD73][.1D27.0020.0017.FD73][.1D27.0020.0017.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74 ; [.1CF3.0020.0019.FD74][.1D27.0020.0019.FD74][.1D48.0020.0019.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD11 ; [.1CF3.0020.0019.FD11][.1D47.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FCF5 ; [.1CF3.0020.001A.FCF5][.1D47.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FD12 ; [.1CF3.0020.0019.FD12][.1D48.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FCF6 ; [.1CF3.0020.001A.FCF6][.1D48.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-0638 ; [.1CF4.0020.0002.0638] # ARABIC LETTER ZAH
-1EE1A ; [.1CF4.0020.0005.1EE1A] # ARABIC MATHEMATICAL ZAH
-1EE7A ; [.1CF4.0020.0005.1EE7A] # ARABIC MATHEMATICAL STRETCHED ZAH
-1EE9A ; [.1CF4.0020.0005.1EE9A] # ARABIC MATHEMATICAL LOOPED ZAH
-1EEBA ; [.1CF4.0020.0005.1EEBA] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
-FEC7 ; [.1CF4.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM
-FEC8 ; [.1CF4.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM
-FEC6 ; [.1CF4.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM
-FEC5 ; [.1CF4.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM
-FCB9 ; [.1CF4.0020.0017.FCB9][.1D27.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FD3B ; [.1CF4.0020.0018.FD3B][.1D27.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FC28 ; [.1CF4.0020.001A.FC28][.1D27.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-069F ; [.1CF5.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-08A3 ; [.1CF6.0020.0002.08A3] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
-0639 ; [.1CF7.0020.0002.0639] # ARABIC LETTER AIN
-1EE0F ; [.1CF7.0020.0005.1EE0F] # ARABIC MATHEMATICAL AIN
-1EE2F ; [.1CF7.0020.0005.1EE2F] # ARABIC MATHEMATICAL INITIAL AIN
-1EE4F ; [.1CF7.0020.0005.1EE4F] # ARABIC MATHEMATICAL TAILED AIN
-1EE6F ; [.1CF7.0020.0005.1EE6F] # ARABIC MATHEMATICAL STRETCHED AIN
-1EE8F ; [.1CF7.0020.0005.1EE8F] # ARABIC MATHEMATICAL LOOPED AIN
-1EEAF ; [.1CF7.0020.0005.1EEAF] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
-FECB ; [.1CF7.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM
-FECC ; [.1CF7.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM
-FECA ; [.1CF7.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM
-FEC9 ; [.1CF7.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM
-FCBA ; [.1CF7.0020.0017.FCBA][.1CB2.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FC29 ; [.1CF7.0020.001A.FC29][.1CB2.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FDC4 ; [.1CF7.0020.0017.FDC4][.1CB2.0020.0017.FDC4][.1D27.0020.0017.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FD75 ; [.1CF7.0020.0019.FD75][.1CB2.0020.0019.FD75][.1D27.0020.0019.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FDF7 ; [.1CF7.0020.001A.FDF7][.1D20.0020.001A.FDF7][.1D48.0020.001A.FDF7][.1D34.0020.001A.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM
-FCBB ; [.1CF7.0020.0017.FCBB][.1D27.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FC2A ; [.1CF7.0020.001A.FC2A][.1D27.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FD77 ; [.1CF7.0020.0017.FD77][.1D27.0020.0017.FD77][.1D27.0020.0017.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD76 ; [.1CF7.0020.0019.FD76][.1D27.0020.0019.FD76][.1D27.0020.0019.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD78 ; [.1CF7.0020.0019.FD78][.1D27.0020.0019.FD78][.1D47.0020.0019.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDB6 ; [.1CF7.0020.0019.FDB6][.1D27.0020.0019.FDB6][.1D48.0020.0019.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FD13 ; [.1CF7.0020.0019.FD13][.1D47.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FCF7 ; [.1CF7.0020.001A.FCF7][.1D47.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FD14 ; [.1CF7.0020.0019.FD14][.1D48.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FCF8 ; [.1CF7.0020.001A.FCF8][.1D48.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-063A ; [.1CF8.0020.0002.063A] # ARABIC LETTER GHAIN
-1EE1B ; [.1CF8.0020.0005.1EE1B] # ARABIC MATHEMATICAL GHAIN
-1EE3B ; [.1CF8.0020.0005.1EE3B] # ARABIC MATHEMATICAL INITIAL GHAIN
-1EE5B ; [.1CF8.0020.0005.1EE5B] # ARABIC MATHEMATICAL TAILED GHAIN
-1EE7B ; [.1CF8.0020.0005.1EE7B] # ARABIC MATHEMATICAL STRETCHED GHAIN
-1EE9B ; [.1CF8.0020.0005.1EE9B] # ARABIC MATHEMATICAL LOOPED GHAIN
-1EEBB ; [.1CF8.0020.0005.1EEBB] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
-FECF ; [.1CF8.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM
-FED0 ; [.1CF8.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM
-FECE ; [.1CF8.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM
-FECD ; [.1CF8.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM
-FCBC ; [.1CF8.0020.0017.FCBC][.1CB2.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FC2B ; [.1CF8.0020.001A.FC2B][.1CB2.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FCBD ; [.1CF8.0020.0017.FCBD][.1D27.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FC2C ; [.1CF8.0020.001A.FC2C][.1D27.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FD79 ; [.1CF8.0020.0019.FD79][.1D27.0020.0019.FD79][.1D27.0020.0019.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7B ; [.1CF8.0020.0019.FD7B][.1D27.0020.0019.FD7B][.1D47.0020.0019.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7A ; [.1CF8.0020.0019.FD7A][.1D27.0020.0019.FD7A][.1D48.0020.0019.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD15 ; [.1CF8.0020.0019.FD15][.1D47.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FCF9 ; [.1CF8.0020.001A.FCF9][.1D47.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FD16 ; [.1CF8.0020.0019.FD16][.1D48.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FCFA ; [.1CF8.0020.001A.FCFA][.1D48.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-06A0 ; [.1CF9.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC ; [.1CFA.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
-075D ; [.1CFB.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E ; [.1CFC.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F ; [.1CFD.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0641 ; [.1CFE.0020.0002.0641] # ARABIC LETTER FEH
-1EE10 ; [.1CFE.0020.0005.1EE10] # ARABIC MATHEMATICAL FEH
-1EE30 ; [.1CFE.0020.0005.1EE30] # ARABIC MATHEMATICAL INITIAL FEH
-1EE70 ; [.1CFE.0020.0005.1EE70] # ARABIC MATHEMATICAL STRETCHED FEH
-1EE90 ; [.1CFE.0020.0005.1EE90] # ARABIC MATHEMATICAL LOOPED FEH
-1EEB0 ; [.1CFE.0020.0005.1EEB0] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
-FED3 ; [.1CFE.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM
-FED4 ; [.1CFE.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM
-FED2 ; [.1CFE.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM
-FED1 ; [.1CFE.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM
-FCBE ; [.1CFE.0020.0017.FCBE][.1CB2.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FC2D ; [.1CFE.0020.001A.FC2D][.1CB2.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FCBF ; [.1CFE.0020.0017.FCBF][.1CB9.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FC2E ; [.1CFE.0020.001A.FC2E][.1CB9.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FCC0 ; [.1CFE.0020.0017.FCC0][.1CBA.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FC2F ; [.1CFE.0020.001A.FC2F][.1CBA.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FD7D ; [.1CFE.0020.0017.FD7D][.1CBA.0020.0017.FD7D][.1D27.0020.0017.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7C ; [.1CFE.0020.0019.FD7C][.1CBA.0020.0019.FD7C][.1D27.0020.0019.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FCC1 ; [.1CFE.0020.0017.FCC1][.1D27.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FC30 ; [.1CFE.0020.001A.FC30][.1D27.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FDC1 ; [.1CFE.0020.0019.FDC1][.1D27.0020.0019.FDC1][.1D48.0020.0019.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FC7C ; [.1CFE.0020.0019.FC7C][.1D47.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC31 ; [.1CFE.0020.001A.FC31][.1D47.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC7D ; [.1CFE.0020.0019.FC7D][.1D48.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC32 ; [.1CFE.0020.001A.FC32][.1D48.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-06A1 ; [.1CFF.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
-1EE1E ; [.1CFF.0020.0005.1EE1E] # ARABIC MATHEMATICAL DOTLESS FEH
-1EE7E ; [.1CFF.0020.0005.1EE7E] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
-06A2 ; [.1D00.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3 ; [.1D01.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
-06A4 ; [.1D02.0020.0002.06A4] # ARABIC LETTER VEH
-FB6C ; [.1D02.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM
-FB6D ; [.1D02.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM
-FB6B ; [.1D02.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM
-FB6A ; [.1D02.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM
-08A4 ; [.1D03.0020.0002.08A4] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
-06A5 ; [.1D04.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6 ; [.1D05.0020.0002.06A6] # ARABIC LETTER PEHEH
-FB70 ; [.1D05.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM
-FB71 ; [.1D05.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM
-FB6F ; [.1D05.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM
-FB6E ; [.1D05.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM
-0760 ; [.1D06.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761 ; [.1D07.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-066F ; [.1D08.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
-1EE1F ; [.1D08.0020.0005.1EE1F] # ARABIC MATHEMATICAL DOTLESS QAF
-1EE5F ; [.1D08.0020.0005.1EE5F] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
-0642 ; [.1D09.0020.0002.0642] # ARABIC LETTER QAF
-1EE12 ; [.1D09.0020.0005.1EE12] # ARABIC MATHEMATICAL QAF
-1EE32 ; [.1D09.0020.0005.1EE32] # ARABIC MATHEMATICAL INITIAL QAF
-1EE52 ; [.1D09.0020.0005.1EE52] # ARABIC MATHEMATICAL TAILED QAF
-1EE72 ; [.1D09.0020.0005.1EE72] # ARABIC MATHEMATICAL STRETCHED QAF
-1EE92 ; [.1D09.0020.0005.1EE92] # ARABIC MATHEMATICAL LOOPED QAF
-1EEB2 ; [.1D09.0020.0005.1EEB2] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
-FED7 ; [.1D09.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM
-FED8 ; [.1D09.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM
-FED6 ; [.1D09.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM
-FED5 ; [.1D09.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM
-FCC2 ; [.1D09.0020.0017.FCC2][.1CB9.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FC33 ; [.1D09.0020.001A.FC33][.1CB9.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FDF1 ; [.1D09.0020.001A.FDF1][.1D20.0020.001A.FDF1][.1D55.0020.001A.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FCC3 ; [.1D09.0020.0017.FCC3][.1D27.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FC34 ; [.1D09.0020.001A.FC34][.1D27.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FDB4 ; [.1D09.0020.0017.FDB4][.1D27.0020.0017.FDB4][.1CB9.0020.0017.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FD7E ; [.1D09.0020.0019.FD7E][.1D27.0020.0019.FD7E][.1CB9.0020.0019.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F ; [.1D09.0020.0019.FD7F][.1D27.0020.0019.FD7F][.1D27.0020.0019.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FDB2 ; [.1D09.0020.0019.FDB2][.1D27.0020.0019.FDB2][.1D48.0020.0019.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FC7E ; [.1D09.0020.0019.FC7E][.1D47.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC35 ; [.1D09.0020.001A.FC35][.1D47.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC7F ; [.1D09.0020.0019.FC7F][.1D48.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC36 ; [.1D09.0020.001A.FC36][.1D48.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-06A7 ; [.1D0A.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
-06A8 ; [.1D0B.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-08A5 ; [.1D0C.0020.0002.08A5] # ARABIC LETTER QAF WITH DOT BELOW
-0643 ; [.1D0D.0020.0002.0643] # ARABIC LETTER KAF
-1EE0A ; [.1D0D.0020.0005.1EE0A] # ARABIC MATHEMATICAL KAF
-1EE2A ; [.1D0D.0020.0005.1EE2A] # ARABIC MATHEMATICAL INITIAL KAF
-1EE6A ; [.1D0D.0020.0005.1EE6A] # ARABIC MATHEMATICAL STRETCHED KAF
-FEDB ; [.1D0D.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM
-FEDC ; [.1D0D.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM
-FEDA ; [.1D0D.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM
-FED9 ; [.1D0D.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM
-FC80 ; [.1D0D.0020.0019.FC80][.1C9C.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC37 ; [.1D0D.0020.001A.FC37][.1C9C.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FCC4 ; [.1D0D.0020.0017.FCC4][.1CB2.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FC38 ; [.1D0D.0020.001A.FC38][.1CB2.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FCC5 ; [.1D0D.0020.0017.FCC5][.1CB9.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FC39 ; [.1D0D.0020.001A.FC39][.1CB9.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FCC6 ; [.1D0D.0020.0017.FCC6][.1CBA.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FC3A ; [.1D0D.0020.001A.FC3A][.1CBA.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FCC7 ; [.1D0D.0020.0017.FCC7][.1D20.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCEB ; [.1D0D.0020.0018.FCEB][.1D20.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FC81 ; [.1D0D.0020.0019.FC81][.1D20.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC3B ; [.1D0D.0020.001A.FC3B][.1D20.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FCC8 ; [.1D0D.0020.0017.FCC8][.1D27.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCEC ; [.1D0D.0020.0018.FCEC][.1D27.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FC82 ; [.1D0D.0020.0019.FC82][.1D27.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC3C ; [.1D0D.0020.001A.FC3C][.1D27.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FDC3 ; [.1D0D.0020.0017.FDC3][.1D27.0020.0017.FDC3][.1D27.0020.0017.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDBB ; [.1D0D.0020.0019.FDBB][.1D27.0020.0019.FDBB][.1D27.0020.0019.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDB7 ; [.1D0D.0020.0019.FDB7][.1D27.0020.0019.FDB7][.1D48.0020.0019.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FC83 ; [.1D0D.0020.0019.FC83][.1D47.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC3D ; [.1D0D.0020.001A.FC3D][.1D47.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC84 ; [.1D0D.0020.0019.FC84][.1D48.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC3E ; [.1D0D.0020.001A.FC3E][.1D48.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-06A9 ; [.1D0E.0020.0002.06A9] # ARABIC LETTER KEHEH
-FB90 ; [.1D0E.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM
-FB91 ; [.1D0E.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM
-FB8F ; [.1D0E.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM
-FB8E ; [.1D0E.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM
-06AA ; [.1D0F.0020.0002.06AA] # ARABIC LETTER SWASH KAF
-06AB ; [.1D10.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
-06AC ; [.1D11.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
-077F ; [.1D12.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-06AD ; [.1D13.0020.0002.06AD] # ARABIC LETTER NG
-FBD5 ; [.1D13.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM
-FBD6 ; [.1D13.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM
-FBD4 ; [.1D13.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM
-FBD3 ; [.1D13.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM
-06AE ; [.1D14.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF ; [.1D15.0020.0002.06AF] # ARABIC LETTER GAF
-FB94 ; [.1D15.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM
-FB95 ; [.1D15.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM
-FB93 ; [.1D15.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM
-FB92 ; [.1D15.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM
-06B0 ; [.1D16.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
-06B1 ; [.1D17.0020.0002.06B1] # ARABIC LETTER NGOEH
-FB9C ; [.1D17.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM
-FB9D ; [.1D17.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM
-FB9B ; [.1D17.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM
-FB9A ; [.1D17.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM
-06B2 ; [.1D18.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3 ; [.1D19.0020.0002.06B3] # ARABIC LETTER GUEH
-FB98 ; [.1D19.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM
-FB99 ; [.1D19.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM
-FB97 ; [.1D19.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM
-FB96 ; [.1D19.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM
-06B4 ; [.1D1A.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762 ; [.1D1B.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
-063B ; [.1D1C.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C ; [.1D1D.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-0763 ; [.1D1E.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764 ; [.1D1F.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0644 ; [.1D20.0020.0002.0644] # ARABIC LETTER LAM
-1EE0B ; [.1D20.0020.0005.1EE0B] # ARABIC MATHEMATICAL LAM
-1EE2B ; [.1D20.0020.0005.1EE2B] # ARABIC MATHEMATICAL INITIAL LAM
-1EE4B ; [.1D20.0020.0005.1EE4B] # ARABIC MATHEMATICAL TAILED LAM
-1EE8B ; [.1D20.0020.0005.1EE8B] # ARABIC MATHEMATICAL LOOPED LAM
-1EEAB ; [.1D20.0020.0005.1EEAB] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
-FEDF ; [.1D20.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM
-FEE0 ; [.1D20.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM
-FEDE ; [.1D20.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM
-FEDD ; [.1D20.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM
-FEF6 ; [.1D20.0020.0019.FEF6][.1C8F.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF5 ; [.1D20.0020.001A.FEF5][.1C8F.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF8 ; [.1D20.0020.0019.FEF8][.1C90.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF7 ; [.1D20.0020.001A.FEF7][.1C90.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEFA ; [.1D20.0020.0019.FEFA][.1C94.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEF9 ; [.1D20.0020.001A.FEF9][.1C94.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFC ; [.1D20.0020.0019.FEFC][.1C9C.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFB ; [.1D20.0020.001A.FEFB][.1C9C.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-FCC9 ; [.1D20.0020.0017.FCC9][.1CB2.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FC3F ; [.1D20.0020.001A.FC3F][.1CB2.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FD83 ; [.1D20.0020.0017.FD83][.1CB2.0020.0017.FD83][.1CB2.0020.0017.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD84 ; [.1D20.0020.0019.FD84][.1CB2.0020.0019.FD84][.1CB2.0020.0019.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FDBA ; [.1D20.0020.0017.FDBA][.1CB2.0020.0017.FDBA][.1D27.0020.0017.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBC ; [.1D20.0020.0019.FDBC][.1CB2.0020.0019.FDBC][.1D27.0020.0019.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDAC ; [.1D20.0020.0019.FDAC][.1CB2.0020.0019.FDAC][.1D48.0020.0019.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FCCA ; [.1D20.0020.0017.FCCA][.1CB9.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FC40 ; [.1D20.0020.001A.FC40][.1CB9.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FDB5 ; [.1D20.0020.0017.FDB5][.1CB9.0020.0017.FDB5][.1D27.0020.0017.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FD80 ; [.1D20.0020.0019.FD80][.1CB9.0020.0019.FD80][.1D27.0020.0019.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD82 ; [.1D20.0020.0019.FD82][.1CB9.0020.0019.FD82][.1D47.0020.0019.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD81 ; [.1D20.0020.0019.FD81][.1CB9.0020.0019.FD81][.1D48.0020.0019.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FCCB ; [.1D20.0020.0017.FCCB][.1CBA.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FC41 ; [.1D20.0020.001A.FC41][.1CBA.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FD86 ; [.1D20.0020.0017.FD86][.1CBA.0020.0017.FD86][.1D27.0020.0017.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD85 ; [.1D20.0020.0019.FD85][.1CBA.0020.0019.FD85][.1D27.0020.0019.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FCCC ; [.1D20.0020.0017.FCCC][.1D27.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCED ; [.1D20.0020.0018.FCED][.1D27.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FC85 ; [.1D20.0020.0019.FC85][.1D27.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC42 ; [.1D20.0020.001A.FC42][.1D27.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FD88 ; [.1D20.0020.0017.FD88][.1D27.0020.0017.FD88][.1CB9.0020.0017.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD87 ; [.1D20.0020.0019.FD87][.1D27.0020.0019.FD87][.1CB9.0020.0019.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FDAD ; [.1D20.0020.0019.FDAD][.1D27.0020.0019.FDAD][.1D48.0020.0019.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FCCD ; [.1D20.0020.0017.FCCD][.1D34.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FC86 ; [.1D20.0020.0019.FC86][.1D47.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC43 ; [.1D20.0020.001A.FC43][.1D47.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC87 ; [.1D20.0020.0019.FC87][.1D48.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC44 ; [.1D20.0020.001A.FC44][.1D48.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-06B5 ; [.1D21.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
-06B6 ; [.1D22.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
-06B7 ; [.1D23.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8 ; [.1D24.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A ; [.1D25.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
-08A6 ; [.1D26.0020.0002.08A6] # ARABIC LETTER LAM WITH DOUBLE BAR
-0645 ; [.1D27.0020.0002.0645] # ARABIC LETTER MEEM
-1EE0C ; [.1D27.0020.0005.1EE0C] # ARABIC MATHEMATICAL MEEM
-1EE2C ; [.1D27.0020.0005.1EE2C] # ARABIC MATHEMATICAL INITIAL MEEM
-1EE6C ; [.1D27.0020.0005.1EE6C] # ARABIC MATHEMATICAL STRETCHED MEEM
-1EE8C ; [.1D27.0020.0005.1EE8C] # ARABIC MATHEMATICAL LOOPED MEEM
-1EEAC ; [.1D27.0020.0005.1EEAC] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
-FEE3 ; [.1D27.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM
-FEE4 ; [.1D27.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM
-FEE2 ; [.1D27.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM
-FEE1 ; [.1D27.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM
-06FE ; [.1D27.0020.0004.06FE][.0000.013A.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN
-FC88 ; [.1D27.0020.0019.FC88][.1C9C.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FCCE ; [.1D27.0020.0017.FCCE][.1CB2.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FC45 ; [.1D27.0020.001A.FC45][.1CB2.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FD8C ; [.1D27.0020.0017.FD8C][.1CB2.0020.0017.FD8C][.1CB9.0020.0017.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD92 ; [.1D27.0020.0017.FD92][.1CB2.0020.0017.FD92][.1CBA.0020.0017.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD8D ; [.1D27.0020.0017.FD8D][.1CB2.0020.0017.FD8D][.1D27.0020.0017.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FDC0 ; [.1D27.0020.0019.FDC0][.1CB2.0020.0019.FDC0][.1D48.0020.0019.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FCCF ; [.1D27.0020.0017.FCCF][.1CB9.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FC46 ; [.1D27.0020.001A.FC46][.1CB9.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FD89 ; [.1D27.0020.0017.FD89][.1CB9.0020.0017.FD89][.1CB2.0020.0017.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A ; [.1D27.0020.0017.FD8A][.1CB9.0020.0017.FD8A][.1D27.0020.0017.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FDF4 ; [.1D27.0020.001A.FDF4][.1CB9.0020.001A.FDF4][.1D27.0020.001A.FDF4][.1CC4.0020.001A.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FD8B ; [.1D27.0020.0019.FD8B][.1CB9.0020.0019.FD8B][.1D48.0020.0019.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FCD0 ; [.1D27.0020.0017.FCD0][.1CBA.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FC47 ; [.1D27.0020.001A.FC47][.1CBA.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FD8E ; [.1D27.0020.0017.FD8E][.1CBA.0020.0017.FD8E][.1CB2.0020.0017.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F ; [.1D27.0020.0017.FD8F][.1CBA.0020.0017.FD8F][.1D27.0020.0017.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FDB9 ; [.1D27.0020.0019.FDB9][.1CBA.0020.0019.FDB9][.1D48.0020.0019.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FCD1 ; [.1D27.0020.0017.FCD1][.1D27.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FC89 ; [.1D27.0020.0019.FC89][.1D27.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC48 ; [.1D27.0020.001A.FC48][.1D27.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FDB1 ; [.1D27.0020.0019.FDB1][.1D27.0020.0019.FDB1][.1D48.0020.0019.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FC49 ; [.1D27.0020.001A.FC49][.1D47.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A ; [.1D27.0020.001A.FC4A][.1D48.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-0765 ; [.1D28.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
-0766 ; [.1D29.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
-08A7 ; [.1D2A.0020.0002.08A7] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
-0646 ; [.1D2B.0020.0002.0646] # ARABIC LETTER NOON
-1EE0D ; [.1D2B.0020.0005.1EE0D] # ARABIC MATHEMATICAL NOON
-1EE2D ; [.1D2B.0020.0005.1EE2D] # ARABIC MATHEMATICAL INITIAL NOON
-1EE4D ; [.1D2B.0020.0005.1EE4D] # ARABIC MATHEMATICAL TAILED NOON
-1EE6D ; [.1D2B.0020.0005.1EE6D] # ARABIC MATHEMATICAL STRETCHED NOON
-1EE8D ; [.1D2B.0020.0005.1EE8D] # ARABIC MATHEMATICAL LOOPED NOON
-1EEAD ; [.1D2B.0020.0005.1EEAD] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
-FEE7 ; [.1D2B.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM
-FEE8 ; [.1D2B.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM
-FEE6 ; [.1D2B.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM
-FEE5 ; [.1D2B.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM
-FCD2 ; [.1D2B.0020.0017.FCD2][.1CB2.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FC4B ; [.1D2B.0020.001A.FC4B][.1CB2.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FDB8 ; [.1D2B.0020.0017.FDB8][.1CB2.0020.0017.FDB8][.1CB9.0020.0017.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDBD ; [.1D2B.0020.0019.FDBD][.1CB2.0020.0019.FDBD][.1CB9.0020.0019.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FD98 ; [.1D2B.0020.0017.FD98][.1CB2.0020.0017.FD98][.1D27.0020.0017.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD97 ; [.1D2B.0020.0019.FD97][.1CB2.0020.0019.FD97][.1D27.0020.0019.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD99 ; [.1D2B.0020.0019.FD99][.1CB2.0020.0019.FD99][.1D47.0020.0019.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDC7 ; [.1D2B.0020.0019.FDC7][.1CB2.0020.0019.FDC7][.1D48.0020.0019.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FCD3 ; [.1D2B.0020.0017.FCD3][.1CB9.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FC4C ; [.1D2B.0020.001A.FC4C][.1CB9.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FD95 ; [.1D2B.0020.0017.FD95][.1CB9.0020.0017.FD95][.1D27.0020.0017.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96 ; [.1D2B.0020.0019.FD96][.1CB9.0020.0019.FD96][.1D47.0020.0019.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDB3 ; [.1D2B.0020.0019.FDB3][.1CB9.0020.0019.FDB3][.1D48.0020.0019.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FCD4 ; [.1D2B.0020.0017.FCD4][.1CBA.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FC4D ; [.1D2B.0020.001A.FC4D][.1CBA.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC8A ; [.1D2B.0020.0019.FC8A][.1CD2.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B ; [.1D2B.0020.0019.FC8B][.1CD3.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FCD5 ; [.1D2B.0020.0017.FCD5][.1D27.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCEE ; [.1D2B.0020.0018.FCEE][.1D27.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FC8C ; [.1D2B.0020.0019.FC8C][.1D27.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC4E ; [.1D2B.0020.001A.FC4E][.1D27.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FD9B ; [.1D2B.0020.0019.FD9B][.1D27.0020.0019.FD9B][.1D47.0020.0019.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9A ; [.1D2B.0020.0019.FD9A][.1D27.0020.0019.FD9A][.1D48.0020.0019.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FC8D ; [.1D2B.0020.0019.FC8D][.1D2B.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FCD6 ; [.1D2B.0020.0017.FCD6][.1D34.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCEF ; [.1D2B.0020.0018.FCEF][.1D34.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FC8E ; [.1D2B.0020.0019.FC8E][.1D47.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC4F ; [.1D2B.0020.001A.FC4F][.1D47.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC8F ; [.1D2B.0020.0019.FC8F][.1D48.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC50 ; [.1D2B.0020.001A.FC50][.1D48.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-06BA ; [.1D2C.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
-1EE1D ; [.1D2C.0020.0005.1EE1D] # ARABIC MATHEMATICAL DOTLESS NOON
-1EE5D ; [.1D2C.0020.0005.1EE5D] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
-FB9F ; [.1D2C.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM
-FB9E ; [.1D2C.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
-06BB ; [.1D2D.0020.0002.06BB] # ARABIC LETTER RNOON
-FBA2 ; [.1D2D.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM
-FBA3 ; [.1D2D.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM
-FBA1 ; [.1D2D.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM
-FBA0 ; [.1D2D.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM
-06BC ; [.1D2E.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
-06BD ; [.1D2F.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06B9 ; [.1D30.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
-0767 ; [.1D31.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768 ; [.1D32.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
-0769 ; [.1D33.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
-0647 ; [.1D34.0020.0002.0647] # ARABIC LETTER HEH
-1EE24 ; [.1D34.0020.0005.1EE24] # ARABIC MATHEMATICAL INITIAL HEH
-1EE64 ; [.1D34.0020.0005.1EE64] # ARABIC MATHEMATICAL STRETCHED HEH
-1EE84 ; [.1D34.0020.0005.1EE84] # ARABIC MATHEMATICAL LOOPED HEH
-FEEB ; [.1D34.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM
-FEEC ; [.1D34.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM
-FEEA ; [.1D34.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM
-FEE9 ; [.1D34.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM
-FCD9 ; [.1D34.0020.0017.FCD9][.0000.00D1.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCD7 ; [.1D34.0020.0017.FCD7][.1CB2.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FC51 ; [.1D34.0020.001A.FC51][.1CB2.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FCD8 ; [.1D34.0020.0017.FCD8][.1D27.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FC52 ; [.1D34.0020.001A.FC52][.1D27.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FD93 ; [.1D34.0020.0017.FD93][.1D27.0020.0017.FD93][.1CB2.0020.0017.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94 ; [.1D34.0020.0017.FD94][.1D27.0020.0017.FD94][.1D27.0020.0017.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FC53 ; [.1D34.0020.001A.FC53][.1D47.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54 ; [.1D34.0020.001A.FC54][.1D48.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-06BE ; [.1D35.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
-FBAC ; [.1D35.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBAD ; [.1D35.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAB ; [.1D35.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAA ; [.1D35.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-06C1 ; [.1D36.0020.0002.06C1] # ARABIC LETTER HEH GOAL
-FBA8 ; [.1D36.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM
-FBA9 ; [.1D36.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM
-FBA7 ; [.1D36.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM
-FBA6 ; [.1D36.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM
-06C2 ; [.1D36.0020.0002.06C1][.0000.00BE.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C3 ; [.1D37.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
-06FF ; [.1D38.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
-06D5 ; [.1D39.0020.0002.06D5] # ARABIC LETTER AE
-06C0 ; [.1D39.0020.0002.06D5][.0000.00BE.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE
-FBA5 ; [.1D39.0020.0019.FBA5][.0000.00BE.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA4 ; [.1D39.0020.001A.FBA4][.0000.00BE.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-0648 ; [.1D3A.0020.0002.0648] # ARABIC LETTER WAW
-06E5 ; [.1D3A.0020.0004.06E5] # ARABIC SMALL WAW
-1EE05 ; [.1D3A.0020.0005.1EE05] # ARABIC MATHEMATICAL WAW
-1EE85 ; [.1D3A.0020.0005.1EE85] # ARABIC MATHEMATICAL LOOPED WAW
-1EEA5 ; [.1D3A.0020.0005.1EEA5] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
-FEEE ; [.1D3A.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM
-FEED ; [.1D3A.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM
-0676 ; [.1D3A.0020.0004.0676][.1C8E.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW
-FDF8 ; [.1D3A.0020.001A.FDF8][.1CE3.0020.001A.FDF8][.1D20.0020.001A.FDF8][.1D27.0020.001A.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM
-06C4 ; [.1D3B.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
-06C5 ; [.1D3C.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
-FBE1 ; [.1D3C.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE0 ; [.1D3C.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-06C6 ; [.1D3D.0020.0002.06C6] # ARABIC LETTER OE
-FBDA ; [.1D3D.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM
-FBD9 ; [.1D3D.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM
-06C7 ; [.1D3E.0020.0002.06C7] # ARABIC LETTER U
-FBD8 ; [.1D3E.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM
-FBD7 ; [.1D3E.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM
-0677 ; [.1D3E.0020.0004.0677][.1C8E.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE
-FBDD ; [.1D3E.0020.001A.FBDD][.1C8E.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-06C8 ; [.1D3F.0020.0002.06C8] # ARABIC LETTER YU
-FBDC ; [.1D3F.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM
-FBDB ; [.1D3F.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM
-06C9 ; [.1D40.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
-FBE3 ; [.1D40.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE2 ; [.1D40.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-06CA ; [.1D41.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB ; [.1D42.0020.0002.06CB] # ARABIC LETTER VE
-FBDF ; [.1D42.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM
-FBDE ; [.1D42.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM
-06CF ; [.1D43.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
-0778 ; [.1D44.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779 ; [.1D45.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-08AB ; [.1D46.0020.0002.08AB] # ARABIC LETTER WAW WITH DOT WITHIN
-0649 ; [.1D47.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
-FBE8 ; [.1D47.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9 ; [.1D47.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FEF0 ; [.1D47.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEEF ; [.1D47.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FC90 ; [.1D47.0020.0019.FC90][.0000.00D1.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC5D ; [.1D47.0020.001A.FC5D][.0000.00D1.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-064A ; [.1D48.0020.0002.064A] # ARABIC LETTER YEH
-06E6 ; [.1D48.0020.0004.06E6] # ARABIC SMALL YEH
-1EE09 ; [.1D48.0020.0005.1EE09] # ARABIC MATHEMATICAL YEH
-1EE29 ; [.1D48.0020.0005.1EE29] # ARABIC MATHEMATICAL INITIAL YEH
-1EE49 ; [.1D48.0020.0005.1EE49] # ARABIC MATHEMATICAL TAILED YEH
-1EE69 ; [.1D48.0020.0005.1EE69] # ARABIC MATHEMATICAL STRETCHED YEH
-1EE89 ; [.1D48.0020.0005.1EE89] # ARABIC MATHEMATICAL LOOPED YEH
-1EEA9 ; [.1D48.0020.0005.1EEA9] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
-FEF3 ; [.1D48.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM
-FEF4 ; [.1D48.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM
-FEF2 ; [.1D48.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM
-FEF1 ; [.1D48.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM
-0678 ; [.1D48.0020.0004.0678][.1C8E.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH
-FCDA ; [.1D48.0020.0017.FCDA][.1CB2.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FC55 ; [.1D48.0020.001A.FC55][.1CB2.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FDAF ; [.1D48.0020.0019.FDAF][.1CB2.0020.0019.FDAF][.1D48.0020.0019.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FCDB ; [.1D48.0020.0017.FCDB][.1CB9.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FC56 ; [.1D48.0020.001A.FC56][.1CB9.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FDAE ; [.1D48.0020.0019.FDAE][.1CB9.0020.0019.FDAE][.1D48.0020.0019.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FCDC ; [.1D48.0020.0017.FCDC][.1CBA.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FC57 ; [.1D48.0020.001A.FC57][.1CBA.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC91 ; [.1D48.0020.0019.FC91][.1CD2.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92 ; [.1D48.0020.0019.FC92][.1CD3.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FCDD ; [.1D48.0020.0017.FCDD][.1D27.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCF0 ; [.1D48.0020.0018.FCF0][.1D27.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FC93 ; [.1D48.0020.0019.FC93][.1D27.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC58 ; [.1D48.0020.001A.FC58][.1D27.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FD9D ; [.1D48.0020.0017.FD9D][.1D27.0020.0017.FD9D][.1D27.0020.0017.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9C ; [.1D48.0020.0019.FD9C][.1D27.0020.0019.FD9C][.1D27.0020.0019.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FDB0 ; [.1D48.0020.0019.FDB0][.1D27.0020.0019.FDB0][.1D48.0020.0019.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FC94 ; [.1D48.0020.0019.FC94][.1D2B.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FCDE ; [.1D48.0020.0017.FCDE][.1D34.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCF1 ; [.1D48.0020.0018.FCF1][.1D34.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FC95 ; [.1D48.0020.0019.FC95][.1D47.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC59 ; [.1D48.0020.001A.FC59][.1D47.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC96 ; [.1D48.0020.0019.FC96][.1D48.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC5A ; [.1D48.0020.001A.FC5A][.1D48.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-06CC ; [.1D49.0020.0002.06CC] # ARABIC LETTER FARSI YEH
-FBFE ; [.1D49.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM
-FBFF ; [.1D49.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM
-FBFD ; [.1D49.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM
-FBFC ; [.1D49.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM
-06CD ; [.1D4A.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
-06CE ; [.1D4B.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
-06D0 ; [.1D4C.0020.0002.06D0] # ARABIC LETTER E
-FBE6 ; [.1D4C.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM
-FBE7 ; [.1D4C.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM
-FBE5 ; [.1D4C.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM
-FBE4 ; [.1D4C.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM
-06D1 ; [.1D4D.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-063D ; [.1D4E.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E ; [.1D4F.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F ; [.1D50.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0620 ; [.1D51.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
-0775 ; [.1D52.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776 ; [.1D53.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777 ; [.1D54.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-06D2 ; [.1D55.0020.0002.06D2] # ARABIC LETTER YEH BARREE
-FBAF ; [.1D55.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM
-FBAE ; [.1D55.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM
-06D3 ; [.1D55.0020.0002.06D2][.0000.00BE.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-FBB1 ; [.1D55.0020.0019.FBB1][.0000.00BE.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBB0 ; [.1D55.0020.001A.FBB0][.0000.00BE.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-077A ; [.1D56.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B ; [.1D57.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0710 ; [.1D58.0020.0002.0710] # SYRIAC LETTER ALAPH
-0712 ; [.1D59.0020.0002.0712] # SYRIAC LETTER BETH
-072D ; [.1D59.0020.0004.072D][.0000.013C.0004.072D] # SYRIAC LETTER PERSIAN BHETH
-0713 ; [.1D5A.0020.0002.0713] # SYRIAC LETTER GAMAL
-0714 ; [.1D5A.0020.0004.0714][.0000.013A.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI
-072E ; [.1D5A.0020.0004.072E][.0000.013C.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL
-0716 ; [.1D5B.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
-0715 ; [.1D5C.0020.0002.0715] # SYRIAC LETTER DALATH
-072F ; [.1D5C.0020.0004.072F][.0000.013C.0004.072F] # SYRIAC LETTER PERSIAN DHALATH
-0717 ; [.1D5D.0020.0002.0717] # SYRIAC LETTER HE
-0718 ; [.1D5E.0020.0002.0718] # SYRIAC LETTER WAW
-0719 ; [.1D5F.0020.0002.0719] # SYRIAC LETTER ZAIN
-074D ; [.1D60.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
-071A ; [.1D61.0020.0002.071A] # SYRIAC LETTER HETH
-071B ; [.1D62.0020.0002.071B] # SYRIAC LETTER TETH
-071C ; [.1D62.0020.0004.071C][.0000.013A.0004.071C] # SYRIAC LETTER TETH GARSHUNI
-071D ; [.1D63.0020.0002.071D] # SYRIAC LETTER YUDH
-071E ; [.1D64.0020.0002.071E] # SYRIAC LETTER YUDH HE
-071F ; [.1D65.0020.0002.071F] # SYRIAC LETTER KAPH
-074E ; [.1D66.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
-0720 ; [.1D67.0020.0002.0720] # SYRIAC LETTER LAMADH
-0721 ; [.1D68.0020.0002.0721] # SYRIAC LETTER MIM
-0722 ; [.1D69.0020.0002.0722] # SYRIAC LETTER NUN
-0723 ; [.1D6A.0020.0002.0723] # SYRIAC LETTER SEMKATH
-0724 ; [.1D6A.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH
-0725 ; [.1D6B.0020.0002.0725] # SYRIAC LETTER E
-0726 ; [.1D6C.0020.0002.0726] # SYRIAC LETTER PE
-0727 ; [.1D6C.0020.0004.0727][.0000.013A.0004.0727] # SYRIAC LETTER REVERSED PE
-074F ; [.1D6D.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
-0728 ; [.1D6E.0020.0002.0728] # SYRIAC LETTER SADHE
-0729 ; [.1D6F.0020.0002.0729] # SYRIAC LETTER QAPH
-072A ; [.1D70.0020.0002.072A] # SYRIAC LETTER RISH
-072B ; [.1D71.0020.0002.072B] # SYRIAC LETTER SHIN
-072C ; [.1D72.0020.0002.072C] # SYRIAC LETTER TAW
-0840 ; [.1D73.0020.0002.0840] # MANDAIC LETTER HALQA
-0841 ; [.1D74.0020.0002.0841] # MANDAIC LETTER AB
-0842 ; [.1D75.0020.0002.0842] # MANDAIC LETTER AG
-0843 ; [.1D76.0020.0002.0843] # MANDAIC LETTER AD
-0844 ; [.1D77.0020.0002.0844] # MANDAIC LETTER AH
-0845 ; [.1D78.0020.0002.0845] # MANDAIC LETTER USHENNA
-0846 ; [.1D79.0020.0002.0846] # MANDAIC LETTER AZ
-0847 ; [.1D7A.0020.0002.0847] # MANDAIC LETTER IT
-0848 ; [.1D7B.0020.0002.0848] # MANDAIC LETTER ATT
-0849 ; [.1D7C.0020.0002.0849] # MANDAIC LETTER AKSA
-084A ; [.1D7D.0020.0002.084A] # MANDAIC LETTER AK
-084B ; [.1D7E.0020.0002.084B] # MANDAIC LETTER AL
-084C ; [.1D7F.0020.0002.084C] # MANDAIC LETTER AM
-084D ; [.1D80.0020.0002.084D] # MANDAIC LETTER AN
-084E ; [.1D81.0020.0002.084E] # MANDAIC LETTER AS
-084F ; [.1D82.0020.0002.084F] # MANDAIC LETTER IN
-0850 ; [.1D83.0020.0002.0850] # MANDAIC LETTER AP
-0851 ; [.1D84.0020.0002.0851] # MANDAIC LETTER ASZ
-0852 ; [.1D85.0020.0002.0852] # MANDAIC LETTER AQ
-0853 ; [.1D86.0020.0002.0853] # MANDAIC LETTER AR
-0854 ; [.1D87.0020.0002.0854] # MANDAIC LETTER ASH
-0855 ; [.1D88.0020.0002.0855] # MANDAIC LETTER AT
-0856 ; [.1D89.0020.0002.0856] # MANDAIC LETTER DUSHENNA
-0857 ; [.1D8A.0020.0002.0857] # MANDAIC LETTER KAD
-0858 ; [.1D8B.0020.0002.0858] # MANDAIC LETTER AIN
-0780 ; [.1D8C.0020.0002.0780] # THAANA LETTER HAA
-0799 ; [.1D8D.0020.0002.0799] # THAANA LETTER HHAA
-079A ; [.1D8E.0020.0002.079A] # THAANA LETTER KHAA
-0781 ; [.1D8F.0020.0002.0781] # THAANA LETTER SHAVIYANI
-0782 ; [.1D90.0020.0002.0782] # THAANA LETTER NOONU
-0783 ; [.1D91.0020.0002.0783] # THAANA LETTER RAA
-079C ; [.1D92.0020.0002.079C] # THAANA LETTER ZAA
-0784 ; [.1D93.0020.0002.0784] # THAANA LETTER BAA
-0785 ; [.1D94.0020.0002.0785] # THAANA LETTER LHAVIYANI
-0786 ; [.1D95.0020.0002.0786] # THAANA LETTER KAAFU
-0787 ; [.1D96.0020.0002.0787] # THAANA LETTER ALIFU
-07A2 ; [.1D97.0020.0002.07A2] # THAANA LETTER AINU
-07A3 ; [.1D98.0020.0002.07A3] # THAANA LETTER GHAINU
-0788 ; [.1D99.0020.0002.0788] # THAANA LETTER VAAVU
-07A5 ; [.1D9A.0020.0002.07A5] # THAANA LETTER WAAVU
-0789 ; [.1D9B.0020.0002.0789] # THAANA LETTER MEEMU
-078A ; [.1D9C.0020.0002.078A] # THAANA LETTER FAAFU
-078B ; [.1D9D.0020.0002.078B] # THAANA LETTER DHAALU
-079B ; [.1D9E.0020.0002.079B] # THAANA LETTER THAALU
-078C ; [.1D9F.0020.0002.078C] # THAANA LETTER THAA
-0798 ; [.1DA0.0020.0002.0798] # THAANA LETTER TTAA
-07A0 ; [.1DA1.0020.0002.07A0] # THAANA LETTER TO
-07A1 ; [.1DA2.0020.0002.07A1] # THAANA LETTER ZO
-078D ; [.1DA3.0020.0002.078D] # THAANA LETTER LAAMU
-078E ; [.1DA4.0020.0002.078E] # THAANA LETTER GAAFU
-07A4 ; [.1DA5.0020.0002.07A4] # THAANA LETTER QAAFU
-078F ; [.1DA6.0020.0002.078F] # THAANA LETTER GNAVIYANI
-0790 ; [.1DA7.0020.0002.0790] # THAANA LETTER SEENU
-079D ; [.1DA8.0020.0002.079D] # THAANA LETTER SHEENU
-079E ; [.1DA9.0020.0002.079E] # THAANA LETTER SAADHU
-079F ; [.1DAA.0020.0002.079F] # THAANA LETTER DAADHU
-0791 ; [.1DAB.0020.0002.0791] # THAANA LETTER DAVIYANI
-0792 ; [.1DAC.0020.0002.0792] # THAANA LETTER ZAVIYANI
-0793 ; [.1DAD.0020.0002.0793] # THAANA LETTER TAVIYANI
-0794 ; [.1DAE.0020.0002.0794] # THAANA LETTER YAA
-0795 ; [.1DAF.0020.0002.0795] # THAANA LETTER PAVIYANI
-0796 ; [.1DB0.0020.0002.0796] # THAANA LETTER JAVIYANI
-0797 ; [.1DB1.0020.0002.0797] # THAANA LETTER CHAVIYANI
-07B1 ; [.1DB2.0020.0002.07B1] # THAANA LETTER NAA
-07A6 ; [.1DB3.0020.0002.07A6] # THAANA ABAFILI
-07A7 ; [.1DB4.0020.0002.07A7] # THAANA AABAAFILI
-07A8 ; [.1DB5.0020.0002.07A8] # THAANA IBIFILI
-07A9 ; [.1DB6.0020.0002.07A9] # THAANA EEBEEFILI
-07AA ; [.1DB7.0020.0002.07AA] # THAANA UBUFILI
-07AB ; [.1DB8.0020.0002.07AB] # THAANA OOBOOFILI
-07AC ; [.1DB9.0020.0002.07AC] # THAANA EBEFILI
-07AD ; [.1DBA.0020.0002.07AD] # THAANA EYBEYFILI
-07AE ; [.1DBB.0020.0002.07AE] # THAANA OBOFILI
-07AF ; [.1DBC.0020.0002.07AF] # THAANA OABOAFILI
-07B0 ; [.1DBD.0020.0002.07B0] # THAANA SUKUN
-07CA ; [.1DBE.0020.0002.07CA] # NKO LETTER A
-07CB ; [.1DBF.0020.0002.07CB] # NKO LETTER EE
-07CC ; [.1DC0.0020.0002.07CC] # NKO LETTER I
-07CD ; [.1DC1.0020.0002.07CD] # NKO LETTER E
-07CE ; [.1DC2.0020.0002.07CE] # NKO LETTER U
-07CF ; [.1DC3.0020.0002.07CF] # NKO LETTER OO
-07D0 ; [.1DC4.0020.0002.07D0] # NKO LETTER O
-07D1 ; [.1DC5.0020.0002.07D1] # NKO LETTER DAGBASINNA
-07D2 ; [.1DC6.0020.0002.07D2] # NKO LETTER N
-07D3 ; [.1DC7.0020.0002.07D3] # NKO LETTER BA
-07D4 ; [.1DC8.0020.0002.07D4] # NKO LETTER PA
-07D5 ; [.1DC9.0020.0002.07D5] # NKO LETTER TA
-07D6 ; [.1DCA.0020.0002.07D6] # NKO LETTER JA
-07E8 ; [.1DCA.0020.0004.07E8][.0000.0139.0004.07E8] # NKO LETTER JONA JA
-07D7 ; [.1DCB.0020.0002.07D7] # NKO LETTER CHA
-07E9 ; [.1DCB.0020.0004.07E9][.0000.0139.0004.07E9] # NKO LETTER JONA CHA
-07D8 ; [.1DCC.0020.0002.07D8] # NKO LETTER DA
-07D9 ; [.1DCD.0020.0002.07D9] # NKO LETTER RA
-07EA ; [.1DCD.0020.0004.07EA][.0000.0139.0004.07EA] # NKO LETTER JONA RA
-07DA ; [.1DCE.0020.0002.07DA] # NKO LETTER RRA
-07DB ; [.1DCF.0020.0002.07DB] # NKO LETTER SA
-07DC ; [.1DD0.0020.0002.07DC] # NKO LETTER GBA
-07DD ; [.1DD1.0020.0002.07DD] # NKO LETTER FA
-07DE ; [.1DD2.0020.0002.07DE] # NKO LETTER KA
-07DF ; [.1DD3.0020.0002.07DF] # NKO LETTER LA
-07E0 ; [.1DD4.0020.0002.07E0] # NKO LETTER NA WOLOSO
-07E1 ; [.1DD5.0020.0002.07E1] # NKO LETTER MA
-07E2 ; [.1DD6.0020.0002.07E2] # NKO LETTER NYA
-07E3 ; [.1DD7.0020.0002.07E3] # NKO LETTER NA
-07E4 ; [.1DD8.0020.0002.07E4] # NKO LETTER HA
-07E5 ; [.1DD9.0020.0002.07E5] # NKO LETTER WA
-07E6 ; [.1DDA.0020.0002.07E6] # NKO LETTER YA
-07E7 ; [.1DDB.0020.0002.07E7] # NKO LETTER NYA WOLOSO
-07F4 ; [.1DDC.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
-07F5 ; [.1DDD.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
-2D30 ; [.1DDE.0020.0002.2D30] # TIFINAGH LETTER YA
-2D31 ; [.1DDF.0020.0002.2D31] # TIFINAGH LETTER YAB
-2D32 ; [.1DE0.0020.0002.2D32] # TIFINAGH LETTER YABH
-2D33 ; [.1DE1.0020.0002.2D33] # TIFINAGH LETTER YAG
-2D34 ; [.1DE2.0020.0002.2D34] # TIFINAGH LETTER YAGHH
-2D35 ; [.1DE3.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36 ; [.1DE4.0020.0002.2D36] # TIFINAGH LETTER YAJ
-2D37 ; [.1DE5.0020.0002.2D37] # TIFINAGH LETTER YAD
-2D38 ; [.1DE6.0020.0002.2D38] # TIFINAGH LETTER YADH
-2D39 ; [.1DE7.0020.0002.2D39] # TIFINAGH LETTER YADD
-2D3A ; [.1DE8.0020.0002.2D3A] # TIFINAGH LETTER YADDH
-2D3B ; [.1DE9.0020.0002.2D3B] # TIFINAGH LETTER YEY
-2D66 ; [.1DEA.0020.0002.2D66] # TIFINAGH LETTER YE
-2D3C ; [.1DEB.0020.0002.2D3C] # TIFINAGH LETTER YAF
-2D3D ; [.1DEC.0020.0002.2D3D] # TIFINAGH LETTER YAK
-2D3E ; [.1DED.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
-2D3F ; [.1DEE.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
-2D40 ; [.1DEF.0020.0002.2D40] # TIFINAGH LETTER YAH
-2D41 ; [.1DF0.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42 ; [.1DF1.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
-2D43 ; [.1DF2.0020.0002.2D43] # TIFINAGH LETTER YAHH
-2D44 ; [.1DF3.0020.0002.2D44] # TIFINAGH LETTER YAA
-2D45 ; [.1DF4.0020.0002.2D45] # TIFINAGH LETTER YAKH
-2D46 ; [.1DF5.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
-2D47 ; [.1DF6.0020.0002.2D47] # TIFINAGH LETTER YAQ
-2D48 ; [.1DF7.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
-2D49 ; [.1DF8.0020.0002.2D49] # TIFINAGH LETTER YI
-2D4A ; [.1DF9.0020.0002.2D4A] # TIFINAGH LETTER YAZH
-2D4B ; [.1DFA.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
-2D4C ; [.1DFB.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
-2D4D ; [.1DFC.0020.0002.2D4D] # TIFINAGH LETTER YAL
-2D4E ; [.1DFD.0020.0002.2D4E] # TIFINAGH LETTER YAM
-2D4F ; [.1DFE.0020.0002.2D4F] # TIFINAGH LETTER YAN
-2D50 ; [.1DFF.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
-2D51 ; [.1E00.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
-2D52 ; [.1E01.0020.0002.2D52] # TIFINAGH LETTER YAP
-2D53 ; [.1E02.0020.0002.2D53] # TIFINAGH LETTER YU
-2D67 ; [.1E03.0020.0002.2D67] # TIFINAGH LETTER YO
-2D54 ; [.1E04.0020.0002.2D54] # TIFINAGH LETTER YAR
-2D55 ; [.1E05.0020.0002.2D55] # TIFINAGH LETTER YARR
-2D56 ; [.1E06.0020.0002.2D56] # TIFINAGH LETTER YAGH
-2D57 ; [.1E07.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
-2D58 ; [.1E08.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
-2D59 ; [.1E09.0020.0002.2D59] # TIFINAGH LETTER YAS
-2D5A ; [.1E0A.0020.0002.2D5A] # TIFINAGH LETTER YASS
-2D5B ; [.1E0B.0020.0002.2D5B] # TIFINAGH LETTER YASH
-2D5C ; [.1E0C.0020.0002.2D5C] # TIFINAGH LETTER YAT
-2D5D ; [.1E0D.0020.0002.2D5D] # TIFINAGH LETTER YATH
-2D5E ; [.1E0E.0020.0002.2D5E] # TIFINAGH LETTER YACH
-2D5F ; [.1E0F.0020.0002.2D5F] # TIFINAGH LETTER YATT
-2D60 ; [.1E10.0020.0002.2D60] # TIFINAGH LETTER YAV
-2D61 ; [.1E11.0020.0002.2D61] # TIFINAGH LETTER YAW
-2D62 ; [.1E12.0020.0002.2D62] # TIFINAGH LETTER YAY
-2D63 ; [.1E13.0020.0002.2D63] # TIFINAGH LETTER YAZ
-2D64 ; [.1E14.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
-2D65 ; [.1E15.0020.0002.2D65] # TIFINAGH LETTER YAZZ
-2D6F ; [.1E16.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-1200 ; [.1E17.0020.0002.1200] # ETHIOPIC SYLLABLE HA
-1201 ; [.1E18.0020.0002.1201] # ETHIOPIC SYLLABLE HU
-1202 ; [.1E19.0020.0002.1202] # ETHIOPIC SYLLABLE HI
-1203 ; [.1E1A.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
-1204 ; [.1E1B.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
-1205 ; [.1E1C.0020.0002.1205] # ETHIOPIC SYLLABLE HE
-1206 ; [.1E1D.0020.0002.1206] # ETHIOPIC SYLLABLE HO
-1207 ; [.1E1E.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
-1208 ; [.1E1F.0020.0002.1208] # ETHIOPIC SYLLABLE LA
-1209 ; [.1E20.0020.0002.1209] # ETHIOPIC SYLLABLE LU
-120A ; [.1E21.0020.0002.120A] # ETHIOPIC SYLLABLE LI
-120B ; [.1E22.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
-120C ; [.1E23.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
-120D ; [.1E24.0020.0002.120D] # ETHIOPIC SYLLABLE LE
-120E ; [.1E25.0020.0002.120E] # ETHIOPIC SYLLABLE LO
-120F ; [.1E26.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
-2D80 ; [.1E27.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
-1210 ; [.1E28.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
-1211 ; [.1E29.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
-1212 ; [.1E2A.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
-1213 ; [.1E2B.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
-1214 ; [.1E2C.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
-1215 ; [.1E2D.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
-1216 ; [.1E2E.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
-1217 ; [.1E2F.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
-1218 ; [.1E30.0020.0002.1218] # ETHIOPIC SYLLABLE MA
-1219 ; [.1E31.0020.0002.1219] # ETHIOPIC SYLLABLE MU
-121A ; [.1E32.0020.0002.121A] # ETHIOPIC SYLLABLE MI
-121B ; [.1E33.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
-121C ; [.1E34.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
-121D ; [.1E35.0020.0002.121D] # ETHIOPIC SYLLABLE ME
-121E ; [.1E36.0020.0002.121E] # ETHIOPIC SYLLABLE MO
-121F ; [.1E37.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
-1380 ; [.1E38.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381 ; [.1E39.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
-1382 ; [.1E3A.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
-1383 ; [.1E3B.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
-2D81 ; [.1E3C.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
-1220 ; [.1E3D.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
-1221 ; [.1E3E.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
-1222 ; [.1E3F.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
-1223 ; [.1E40.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
-1224 ; [.1E41.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
-1225 ; [.1E42.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
-1226 ; [.1E43.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
-1227 ; [.1E44.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
-1228 ; [.1E45.0020.0002.1228] # ETHIOPIC SYLLABLE RA
-1229 ; [.1E46.0020.0002.1229] # ETHIOPIC SYLLABLE RU
-122A ; [.1E47.0020.0002.122A] # ETHIOPIC SYLLABLE RI
-122B ; [.1E48.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
-122C ; [.1E49.0020.0002.122C] # ETHIOPIC SYLLABLE REE
-122D ; [.1E4A.0020.0002.122D] # ETHIOPIC SYLLABLE RE
-122E ; [.1E4B.0020.0002.122E] # ETHIOPIC SYLLABLE RO
-122F ; [.1E4C.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
-2D82 ; [.1E4D.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
-1230 ; [.1E4E.0020.0002.1230] # ETHIOPIC SYLLABLE SA
-1231 ; [.1E4F.0020.0002.1231] # ETHIOPIC SYLLABLE SU
-1232 ; [.1E50.0020.0002.1232] # ETHIOPIC SYLLABLE SI
-1233 ; [.1E51.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
-1234 ; [.1E52.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
-1235 ; [.1E53.0020.0002.1235] # ETHIOPIC SYLLABLE SE
-1236 ; [.1E54.0020.0002.1236] # ETHIOPIC SYLLABLE SO
-1237 ; [.1E55.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
-2D83 ; [.1E56.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
-AB01 ; [.1E57.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
-AB02 ; [.1E58.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
-AB03 ; [.1E59.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
-AB04 ; [.1E5A.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
-AB05 ; [.1E5B.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
-AB06 ; [.1E5C.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
-1238 ; [.1E5D.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
-1239 ; [.1E5E.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
-123A ; [.1E5F.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
-123B ; [.1E60.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
-123C ; [.1E61.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
-123D ; [.1E62.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
-123E ; [.1E63.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
-123F ; [.1E64.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
-2D84 ; [.1E65.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
-1240 ; [.1E66.0020.0002.1240] # ETHIOPIC SYLLABLE QA
-1241 ; [.1E67.0020.0002.1241] # ETHIOPIC SYLLABLE QU
-1242 ; [.1E68.0020.0002.1242] # ETHIOPIC SYLLABLE QI
-1243 ; [.1E69.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
-1244 ; [.1E6A.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
-1245 ; [.1E6B.0020.0002.1245] # ETHIOPIC SYLLABLE QE
-1246 ; [.1E6C.0020.0002.1246] # ETHIOPIC SYLLABLE QO
-1247 ; [.1E6D.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
-1248 ; [.1E6E.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
-124A ; [.1E6F.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
-124B ; [.1E70.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
-124C ; [.1E71.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
-124D ; [.1E72.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
-1250 ; [.1E73.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
-1251 ; [.1E74.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
-1252 ; [.1E75.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
-1253 ; [.1E76.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
-1254 ; [.1E77.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
-1255 ; [.1E78.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
-1256 ; [.1E79.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
-1258 ; [.1E7A.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
-125A ; [.1E7B.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
-125B ; [.1E7C.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
-125C ; [.1E7D.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
-125D ; [.1E7E.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
-1260 ; [.1E7F.0020.0002.1260] # ETHIOPIC SYLLABLE BA
-1261 ; [.1E80.0020.0002.1261] # ETHIOPIC SYLLABLE BU
-1262 ; [.1E81.0020.0002.1262] # ETHIOPIC SYLLABLE BI
-1263 ; [.1E82.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
-1264 ; [.1E83.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
-1265 ; [.1E84.0020.0002.1265] # ETHIOPIC SYLLABLE BE
-1266 ; [.1E85.0020.0002.1266] # ETHIOPIC SYLLABLE BO
-1267 ; [.1E86.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
-1384 ; [.1E87.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385 ; [.1E88.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
-1386 ; [.1E89.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
-1387 ; [.1E8A.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
-2D85 ; [.1E8B.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
-1268 ; [.1E8C.0020.0002.1268] # ETHIOPIC SYLLABLE VA
-1269 ; [.1E8D.0020.0002.1269] # ETHIOPIC SYLLABLE VU
-126A ; [.1E8E.0020.0002.126A] # ETHIOPIC SYLLABLE VI
-126B ; [.1E8F.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
-126C ; [.1E90.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
-126D ; [.1E91.0020.0002.126D] # ETHIOPIC SYLLABLE VE
-126E ; [.1E92.0020.0002.126E] # ETHIOPIC SYLLABLE VO
-126F ; [.1E93.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
-1270 ; [.1E94.0020.0002.1270] # ETHIOPIC SYLLABLE TA
-1271 ; [.1E95.0020.0002.1271] # ETHIOPIC SYLLABLE TU
-1272 ; [.1E96.0020.0002.1272] # ETHIOPIC SYLLABLE TI
-1273 ; [.1E97.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
-1274 ; [.1E98.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
-1275 ; [.1E99.0020.0002.1275] # ETHIOPIC SYLLABLE TE
-1276 ; [.1E9A.0020.0002.1276] # ETHIOPIC SYLLABLE TO
-1277 ; [.1E9B.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
-2D86 ; [.1E9C.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
-1278 ; [.1E9D.0020.0002.1278] # ETHIOPIC SYLLABLE CA
-1279 ; [.1E9E.0020.0002.1279] # ETHIOPIC SYLLABLE CU
-127A ; [.1E9F.0020.0002.127A] # ETHIOPIC SYLLABLE CI
-127B ; [.1EA0.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
-127C ; [.1EA1.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
-127D ; [.1EA2.0020.0002.127D] # ETHIOPIC SYLLABLE CE
-127E ; [.1EA3.0020.0002.127E] # ETHIOPIC SYLLABLE CO
-127F ; [.1EA4.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
-2D87 ; [.1EA5.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
-1280 ; [.1EA6.0020.0002.1280] # ETHIOPIC SYLLABLE XA
-1281 ; [.1EA7.0020.0002.1281] # ETHIOPIC SYLLABLE XU
-1282 ; [.1EA8.0020.0002.1282] # ETHIOPIC SYLLABLE XI
-1283 ; [.1EA9.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
-1284 ; [.1EAA.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
-1285 ; [.1EAB.0020.0002.1285] # ETHIOPIC SYLLABLE XE
-1286 ; [.1EAC.0020.0002.1286] # ETHIOPIC SYLLABLE XO
-1287 ; [.1EAD.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
-1288 ; [.1EAE.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
-128A ; [.1EAF.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
-128B ; [.1EB0.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
-128C ; [.1EB1.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
-128D ; [.1EB2.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
-1290 ; [.1EB3.0020.0002.1290] # ETHIOPIC SYLLABLE NA
-1291 ; [.1EB4.0020.0002.1291] # ETHIOPIC SYLLABLE NU
-1292 ; [.1EB5.0020.0002.1292] # ETHIOPIC SYLLABLE NI
-1293 ; [.1EB6.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
-1294 ; [.1EB7.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
-1295 ; [.1EB8.0020.0002.1295] # ETHIOPIC SYLLABLE NE
-1296 ; [.1EB9.0020.0002.1296] # ETHIOPIC SYLLABLE NO
-1297 ; [.1EBA.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
-2D88 ; [.1EBB.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
-1298 ; [.1EBC.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
-1299 ; [.1EBD.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
-129A ; [.1EBE.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
-129B ; [.1EBF.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
-129C ; [.1EC0.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
-129D ; [.1EC1.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
-129E ; [.1EC2.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
-129F ; [.1EC3.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
-2D89 ; [.1EC4.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
-12A0 ; [.1EC5.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
-12A1 ; [.1EC6.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
-12A2 ; [.1EC7.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
-12A3 ; [.1EC8.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4 ; [.1EC9.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5 ; [.1ECA.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
-12A6 ; [.1ECB.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
-12A7 ; [.1ECC.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
-2D8A ; [.1ECD.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
-12A8 ; [.1ECE.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
-12A9 ; [.1ECF.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
-12AA ; [.1ED0.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
-12AB ; [.1ED1.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
-12AC ; [.1ED2.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
-12AD ; [.1ED3.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
-12AE ; [.1ED4.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
-12AF ; [.1ED5.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
-12B0 ; [.1ED6.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
-12B2 ; [.1ED7.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
-12B3 ; [.1ED8.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
-12B4 ; [.1ED9.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
-12B5 ; [.1EDA.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
-12B8 ; [.1EDB.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
-12B9 ; [.1EDC.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
-12BA ; [.1EDD.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
-12BB ; [.1EDE.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
-12BC ; [.1EDF.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
-12BD ; [.1EE0.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
-12BE ; [.1EE1.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
-12C0 ; [.1EE2.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
-12C2 ; [.1EE3.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
-12C3 ; [.1EE4.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
-12C4 ; [.1EE5.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
-12C5 ; [.1EE6.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
-12C8 ; [.1EE7.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
-12C9 ; [.1EE8.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
-12CA ; [.1EE9.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
-12CB ; [.1EEA.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
-12CC ; [.1EEB.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
-12CD ; [.1EEC.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
-12CE ; [.1EED.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
-12CF ; [.1EEE.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
-12D0 ; [.1EEF.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1 ; [.1EF0.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2 ; [.1EF1.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3 ; [.1EF2.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4 ; [.1EF3.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5 ; [.1EF4.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6 ; [.1EF5.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8 ; [.1EF6.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
-12D9 ; [.1EF7.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
-12DA ; [.1EF8.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
-12DB ; [.1EF9.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
-12DC ; [.1EFA.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
-12DD ; [.1EFB.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
-12DE ; [.1EFC.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
-12DF ; [.1EFD.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
-2D8B ; [.1EFE.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
-AB11 ; [.1EFF.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
-AB12 ; [.1F00.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
-AB13 ; [.1F01.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
-AB14 ; [.1F02.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
-AB15 ; [.1F03.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
-AB16 ; [.1F04.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
-12E0 ; [.1F05.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
-12E1 ; [.1F06.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
-12E2 ; [.1F07.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
-12E3 ; [.1F08.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
-12E4 ; [.1F09.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
-12E5 ; [.1F0A.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
-12E6 ; [.1F0B.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
-12E7 ; [.1F0C.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
-12E8 ; [.1F0D.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
-12E9 ; [.1F0E.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
-12EA ; [.1F0F.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
-12EB ; [.1F10.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
-12EC ; [.1F11.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
-12ED ; [.1F12.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
-12EE ; [.1F13.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
-12EF ; [.1F14.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
-12F0 ; [.1F15.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
-12F1 ; [.1F16.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
-12F2 ; [.1F17.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
-12F3 ; [.1F18.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
-12F4 ; [.1F19.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
-12F5 ; [.1F1A.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
-12F6 ; [.1F1B.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
-12F7 ; [.1F1C.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
-2D8C ; [.1F1D.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
-AB09 ; [.1F1E.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
-AB0A ; [.1F1F.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
-AB0B ; [.1F20.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
-AB0C ; [.1F21.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
-AB0D ; [.1F22.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
-AB0E ; [.1F23.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
-12F8 ; [.1F24.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
-12F9 ; [.1F25.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
-12FA ; [.1F26.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
-12FB ; [.1F27.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
-12FC ; [.1F28.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
-12FD ; [.1F29.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
-12FE ; [.1F2A.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
-12FF ; [.1F2B.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
-2D8D ; [.1F2C.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
-1300 ; [.1F2D.0020.0002.1300] # ETHIOPIC SYLLABLE JA
-1301 ; [.1F2E.0020.0002.1301] # ETHIOPIC SYLLABLE JU
-1302 ; [.1F2F.0020.0002.1302] # ETHIOPIC SYLLABLE JI
-1303 ; [.1F30.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
-1304 ; [.1F31.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
-1305 ; [.1F32.0020.0002.1305] # ETHIOPIC SYLLABLE JE
-1306 ; [.1F33.0020.0002.1306] # ETHIOPIC SYLLABLE JO
-1307 ; [.1F34.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
-2D8E ; [.1F35.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
-1308 ; [.1F36.0020.0002.1308] # ETHIOPIC SYLLABLE GA
-1309 ; [.1F37.0020.0002.1309] # ETHIOPIC SYLLABLE GU
-130A ; [.1F38.0020.0002.130A] # ETHIOPIC SYLLABLE GI
-130B ; [.1F39.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
-130C ; [.1F3A.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
-130D ; [.1F3B.0020.0002.130D] # ETHIOPIC SYLLABLE GE
-130E ; [.1F3C.0020.0002.130E] # ETHIOPIC SYLLABLE GO
-130F ; [.1F3D.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
-1310 ; [.1F3E.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
-1312 ; [.1F3F.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
-1313 ; [.1F40.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
-1314 ; [.1F41.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
-1315 ; [.1F42.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
-1318 ; [.1F43.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
-1319 ; [.1F44.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
-131A ; [.1F45.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
-131B ; [.1F46.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
-131C ; [.1F47.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
-131D ; [.1F48.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
-131E ; [.1F49.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
-131F ; [.1F4A.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
-2D93 ; [.1F4B.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
-2D94 ; [.1F4C.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
-2D95 ; [.1F4D.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
-2D96 ; [.1F4E.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
-1320 ; [.1F4F.0020.0002.1320] # ETHIOPIC SYLLABLE THA
-1321 ; [.1F50.0020.0002.1321] # ETHIOPIC SYLLABLE THU
-1322 ; [.1F51.0020.0002.1322] # ETHIOPIC SYLLABLE THI
-1323 ; [.1F52.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
-1324 ; [.1F53.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
-1325 ; [.1F54.0020.0002.1325] # ETHIOPIC SYLLABLE THE
-1326 ; [.1F55.0020.0002.1326] # ETHIOPIC SYLLABLE THO
-1327 ; [.1F56.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
-2D8F ; [.1F57.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
-1328 ; [.1F58.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
-1329 ; [.1F59.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
-132A ; [.1F5A.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
-132B ; [.1F5B.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
-132C ; [.1F5C.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
-132D ; [.1F5D.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
-132E ; [.1F5E.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
-132F ; [.1F5F.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
-2D90 ; [.1F60.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
-AB20 ; [.1F61.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
-AB21 ; [.1F62.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
-AB22 ; [.1F63.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
-AB23 ; [.1F64.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
-AB24 ; [.1F65.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
-AB25 ; [.1F66.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
-AB26 ; [.1F67.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
-1330 ; [.1F68.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
-1331 ; [.1F69.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
-1332 ; [.1F6A.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
-1333 ; [.1F6B.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
-1334 ; [.1F6C.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
-1335 ; [.1F6D.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
-1336 ; [.1F6E.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
-1337 ; [.1F6F.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
-2D91 ; [.1F70.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
-1338 ; [.1F71.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
-1339 ; [.1F72.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
-133A ; [.1F73.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
-133B ; [.1F74.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
-133C ; [.1F75.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
-133D ; [.1F76.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
-133E ; [.1F77.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
-133F ; [.1F78.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
-AB28 ; [.1F79.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
-AB29 ; [.1F7A.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
-AB2A ; [.1F7B.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
-AB2B ; [.1F7C.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
-AB2C ; [.1F7D.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
-AB2D ; [.1F7E.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
-AB2E ; [.1F7F.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
-1340 ; [.1F80.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
-1341 ; [.1F81.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
-1342 ; [.1F82.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
-1343 ; [.1F83.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
-1344 ; [.1F84.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
-1345 ; [.1F85.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
-1346 ; [.1F86.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
-1347 ; [.1F87.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
-1348 ; [.1F88.0020.0002.1348] # ETHIOPIC SYLLABLE FA
-1349 ; [.1F89.0020.0002.1349] # ETHIOPIC SYLLABLE FU
-134A ; [.1F8A.0020.0002.134A] # ETHIOPIC SYLLABLE FI
-134B ; [.1F8B.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
-134C ; [.1F8C.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
-134D ; [.1F8D.0020.0002.134D] # ETHIOPIC SYLLABLE FE
-134E ; [.1F8E.0020.0002.134E] # ETHIOPIC SYLLABLE FO
-134F ; [.1F8F.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
-1388 ; [.1F90.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389 ; [.1F91.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
-138A ; [.1F92.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
-138B ; [.1F93.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
-1350 ; [.1F94.0020.0002.1350] # ETHIOPIC SYLLABLE PA
-1351 ; [.1F95.0020.0002.1351] # ETHIOPIC SYLLABLE PU
-1352 ; [.1F96.0020.0002.1352] # ETHIOPIC SYLLABLE PI
-1353 ; [.1F97.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
-1354 ; [.1F98.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
-1355 ; [.1F99.0020.0002.1355] # ETHIOPIC SYLLABLE PE
-1356 ; [.1F9A.0020.0002.1356] # ETHIOPIC SYLLABLE PO
-1357 ; [.1F9B.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
-138C ; [.1F9C.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D ; [.1F9D.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
-138E ; [.1F9E.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
-138F ; [.1F9F.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
-2D92 ; [.1FA0.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
-1358 ; [.1FA1.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
-1359 ; [.1FA2.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
-135A ; [.1FA3.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
-2DA0 ; [.1FA4.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
-2DA1 ; [.1FA5.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
-2DA2 ; [.1FA6.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
-2DA3 ; [.1FA7.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
-2DA4 ; [.1FA8.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
-2DA5 ; [.1FA9.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
-2DA6 ; [.1FAA.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
-2DA8 ; [.1FAB.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
-2DA9 ; [.1FAC.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
-2DAA ; [.1FAD.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
-2DAB ; [.1FAE.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
-2DAC ; [.1FAF.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
-2DAD ; [.1FB0.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
-2DAE ; [.1FB1.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
-2DB0 ; [.1FB2.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
-2DB1 ; [.1FB3.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
-2DB2 ; [.1FB4.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
-2DB3 ; [.1FB5.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
-2DB4 ; [.1FB6.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
-2DB5 ; [.1FB7.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
-2DB6 ; [.1FB8.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
-2DB8 ; [.1FB9.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
-2DB9 ; [.1FBA.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
-2DBA ; [.1FBB.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
-2DBB ; [.1FBC.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
-2DBC ; [.1FBD.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
-2DBD ; [.1FBE.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
-2DBE ; [.1FBF.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
-2DC0 ; [.1FC0.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
-2DC1 ; [.1FC1.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
-2DC2 ; [.1FC2.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
-2DC3 ; [.1FC3.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
-2DC4 ; [.1FC4.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
-2DC5 ; [.1FC5.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
-2DC6 ; [.1FC6.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
-2DC8 ; [.1FC7.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
-2DC9 ; [.1FC8.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
-2DCA ; [.1FC9.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
-2DCB ; [.1FCA.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
-2DCC ; [.1FCB.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
-2DCD ; [.1FCC.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
-2DCE ; [.1FCD.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
-2DD0 ; [.1FCE.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
-2DD1 ; [.1FCF.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
-2DD2 ; [.1FD0.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
-2DD3 ; [.1FD1.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
-2DD4 ; [.1FD2.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
-2DD5 ; [.1FD3.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
-2DD6 ; [.1FD4.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
-2DD8 ; [.1FD5.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
-2DD9 ; [.1FD6.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
-2DDA ; [.1FD7.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
-2DDB ; [.1FD8.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
-2DDC ; [.1FD9.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
-2DDD ; [.1FDA.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
-2DDE ; [.1FDB.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
-0950 ; [.1FDC.0020.0002.0950] # DEVANAGARI OM
-0972 ; [.1FDD.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
-0904 ; [.1FDE.0020.0002.0904] # DEVANAGARI LETTER SHORT A
-0905 ; [.1FDF.0020.0002.0905] # DEVANAGARI LETTER A
-0906 ; [.1FE0.0020.0002.0906] # DEVANAGARI LETTER AA
-0973 ; [.1FE1.0020.0002.0973] # DEVANAGARI LETTER OE
-0974 ; [.1FE2.0020.0002.0974] # DEVANAGARI LETTER OOE
-0975 ; [.1FE3.0020.0002.0975] # DEVANAGARI LETTER AW
-0976 ; [.1FE4.0020.0002.0976] # DEVANAGARI LETTER UE
-0977 ; [.1FE5.0020.0002.0977] # DEVANAGARI LETTER UUE
-0907 ; [.1FE6.0020.0002.0907] # DEVANAGARI LETTER I
-0908 ; [.1FE7.0020.0002.0908] # DEVANAGARI LETTER II
-0909 ; [.1FE8.0020.0002.0909] # DEVANAGARI LETTER U
-090A ; [.1FE9.0020.0002.090A] # DEVANAGARI LETTER UU
-090B ; [.1FEA.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
-0960 ; [.1FEB.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
-090C ; [.1FEC.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
-0961 ; [.1FED.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
-090D ; [.1FEE.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
-090E ; [.1FEF.0020.0002.090E] # DEVANAGARI LETTER SHORT E
-090F ; [.1FF0.0020.0002.090F] # DEVANAGARI LETTER E
-0910 ; [.1FF1.0020.0002.0910] # DEVANAGARI LETTER AI
-0911 ; [.1FF2.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
-0912 ; [.1FF3.0020.0002.0912] # DEVANAGARI LETTER SHORT O
-0913 ; [.1FF4.0020.0002.0913] # DEVANAGARI LETTER O
-0914 ; [.1FF5.0020.0002.0914] # DEVANAGARI LETTER AU
-0915 ; [.1FF6.0020.0002.0915] # DEVANAGARI LETTER KA
-0958 ; [.1FF6.0020.0002.0915][.0000.00F1.0002.093C] # DEVANAGARI LETTER QA
-0916 ; [.1FF7.0020.0002.0916] # DEVANAGARI LETTER KHA
-0959 ; [.1FF7.0020.0002.0916][.0000.00F1.0002.093C] # DEVANAGARI LETTER KHHA
-0917 ; [.1FF8.0020.0002.0917] # DEVANAGARI LETTER GA
-095A ; [.1FF8.0020.0002.0917][.0000.00F1.0002.093C] # DEVANAGARI LETTER GHHA
-097B ; [.1FF9.0020.0002.097B] # DEVANAGARI LETTER GGA
-0918 ; [.1FFA.0020.0002.0918] # DEVANAGARI LETTER GHA
-0919 ; [.1FFB.0020.0002.0919] # DEVANAGARI LETTER NGA
-091A ; [.1FFC.0020.0002.091A] # DEVANAGARI LETTER CA
-091B ; [.1FFD.0020.0002.091B] # DEVANAGARI LETTER CHA
-091C ; [.1FFE.0020.0002.091C] # DEVANAGARI LETTER JA
-095B ; [.1FFE.0020.0002.091C][.0000.00F1.0002.093C] # DEVANAGARI LETTER ZA
-0979 ; [.1FFF.0020.0002.0979] # DEVANAGARI LETTER ZHA
-097C ; [.2000.0020.0002.097C] # DEVANAGARI LETTER JJA
-091D ; [.2001.0020.0002.091D] # DEVANAGARI LETTER JHA
-091E ; [.2002.0020.0002.091E] # DEVANAGARI LETTER NYA
-091F ; [.2003.0020.0002.091F] # DEVANAGARI LETTER TTA
-0920 ; [.2004.0020.0002.0920] # DEVANAGARI LETTER TTHA
-0921 ; [.2005.0020.0002.0921] # DEVANAGARI LETTER DDA
-095C ; [.2005.0020.0002.0921][.0000.00F1.0002.093C] # DEVANAGARI LETTER DDDHA
-097E ; [.2006.0020.0002.097E] # DEVANAGARI LETTER DDDA
-0922 ; [.2007.0020.0002.0922] # DEVANAGARI LETTER DDHA
-095D ; [.2007.0020.0002.0922][.0000.00F1.0002.093C] # DEVANAGARI LETTER RHA
-0923 ; [.2008.0020.0002.0923] # DEVANAGARI LETTER NNA
-0924 ; [.2009.0020.0002.0924] # DEVANAGARI LETTER TA
-0925 ; [.200A.0020.0002.0925] # DEVANAGARI LETTER THA
-0926 ; [.200B.0020.0002.0926] # DEVANAGARI LETTER DA
-0927 ; [.200C.0020.0002.0927] # DEVANAGARI LETTER DHA
-0928 ; [.200D.0020.0002.0928] # DEVANAGARI LETTER NA
-0929 ; [.200D.0020.0002.0928][.0000.00F1.0002.093C] # DEVANAGARI LETTER NNNA
-092A ; [.200E.0020.0002.092A] # DEVANAGARI LETTER PA
-092B ; [.200F.0020.0002.092B] # DEVANAGARI LETTER PHA
-095E ; [.200F.0020.0002.092B][.0000.00F1.0002.093C] # DEVANAGARI LETTER FA
-092C ; [.2010.0020.0002.092C] # DEVANAGARI LETTER BA
-097F ; [.2011.0020.0002.097F] # DEVANAGARI LETTER BBA
-092D ; [.2012.0020.0002.092D] # DEVANAGARI LETTER BHA
-092E ; [.2013.0020.0002.092E] # DEVANAGARI LETTER MA
-092F ; [.2014.0020.0002.092F] # DEVANAGARI LETTER YA
-095F ; [.2014.0020.0002.092F][.0000.00F1.0002.093C] # DEVANAGARI LETTER YYA
-097A ; [.2015.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
-0930 ; [.2016.0020.0002.0930] # DEVANAGARI LETTER RA
-0931 ; [.2016.0020.0002.0930][.0000.00F1.0002.093C] # DEVANAGARI LETTER RRA
-0932 ; [.2017.0020.0002.0932] # DEVANAGARI LETTER LA
-0933 ; [.2018.0020.0002.0933] # DEVANAGARI LETTER LLA
-0934 ; [.2018.0020.0002.0933][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
-0935 ; [.2019.0020.0002.0935] # DEVANAGARI LETTER VA
-0936 ; [.201A.0020.0002.0936] # DEVANAGARI LETTER SHA
-0937 ; [.201B.0020.0002.0937] # DEVANAGARI LETTER SSA
-0938 ; [.201C.0020.0002.0938] # DEVANAGARI LETTER SA
-0939 ; [.201D.0020.0002.0939] # DEVANAGARI LETTER HA
-093D ; [.201E.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
-097D ; [.201F.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
-1CE9 ; [.2020.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA ; [.2020.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-1CEB ; [.2020.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
-1CEC ; [.2020.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE ; [.2020.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA
-1CEF ; [.2020.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA
-1CF0 ; [.2020.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA
-1CF1 ; [.2020.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF5 ; [.2021.0020.0002.1CF5] # VEDIC SIGN JIHVAMULIYA
-1CF6 ; [.2022.0020.0002.1CF6] # VEDIC SIGN UPADHMANIYA
-A8F2 ; [.2023.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3 ; [.2023.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA
-A8F4 ; [.2023.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-A8F5 ; [.2023.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO
-A8F6 ; [.2023.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE
-A8F7 ; [.2023.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; [.2024.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
-093E ; [.2025.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
-093A ; [.2026.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
-093B ; [.2027.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
-094F ; [.2028.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
-0956 ; [.2029.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
-0957 ; [.202A.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
-093F ; [.202B.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
-0940 ; [.202C.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
-0941 ; [.202D.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
-0942 ; [.202E.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
-0943 ; [.202F.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
-0944 ; [.2030.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
-0962 ; [.2031.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
-0963 ; [.2032.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
-0945 ; [.2033.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
-0955 ; [.2034.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0946 ; [.2035.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
-0947 ; [.2036.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
-094E ; [.2037.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0948 ; [.2038.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
-0949 ; [.2039.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
-094A ; [.203A.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
-094B ; [.203B.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
-094C ; [.203C.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
-094D ; [.203D.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
-0985 ; [.203E.0020.0002.0985] # BENGALI LETTER A
-0986 ; [.203F.0020.0002.0986] # BENGALI LETTER AA
-0987 ; [.2040.0020.0002.0987] # BENGALI LETTER I
-0988 ; [.2041.0020.0002.0988] # BENGALI LETTER II
-0989 ; [.2042.0020.0002.0989] # BENGALI LETTER U
-098A ; [.2043.0020.0002.098A] # BENGALI LETTER UU
-098B ; [.2044.0020.0002.098B] # BENGALI LETTER VOCALIC R
-09E0 ; [.2045.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
-098C ; [.2046.0020.0002.098C] # BENGALI LETTER VOCALIC L
-09E1 ; [.2047.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
-098F ; [.2048.0020.0002.098F] # BENGALI LETTER E
-0990 ; [.2049.0020.0002.0990] # BENGALI LETTER AI
-0993 ; [.204A.0020.0002.0993] # BENGALI LETTER O
-0994 ; [.204B.0020.0002.0994] # BENGALI LETTER AU
-0995 ; [.204C.0020.0002.0995] # BENGALI LETTER KA
-0996 ; [.204D.0020.0002.0996] # BENGALI LETTER KHA
-0997 ; [.204E.0020.0002.0997] # BENGALI LETTER GA
-0998 ; [.204F.0020.0002.0998] # BENGALI LETTER GHA
-0999 ; [.2050.0020.0002.0999] # BENGALI LETTER NGA
-099A ; [.2051.0020.0002.099A] # BENGALI LETTER CA
-099B ; [.2052.0020.0002.099B] # BENGALI LETTER CHA
-099C ; [.2053.0020.0002.099C] # BENGALI LETTER JA
-099D ; [.2054.0020.0002.099D] # BENGALI LETTER JHA
-099E ; [.2055.0020.0002.099E] # BENGALI LETTER NYA
-099F ; [.2056.0020.0002.099F] # BENGALI LETTER TTA
-09A0 ; [.2057.0020.0002.09A0] # BENGALI LETTER TTHA
-09A1 ; [.2058.0020.0002.09A1] # BENGALI LETTER DDA
-09DC ; [.2058.0020.0002.09A1][.0000.00F1.0002.093C] # BENGALI LETTER RRA
-09A2 ; [.2059.0020.0002.09A2] # BENGALI LETTER DDHA
-09DD ; [.2059.0020.0002.09A2][.0000.00F1.0002.093C] # BENGALI LETTER RHA
-09A3 ; [.205A.0020.0002.09A3] # BENGALI LETTER NNA
-09A4 ; [.205B.0020.0002.09A4] # BENGALI LETTER TA
-09CE ; [.205B.0020.0004.09CE][.207C.0020.0004.09CE] # BENGALI LETTER KHANDA TA
-09A5 ; [.205C.0020.0002.09A5] # BENGALI LETTER THA
-09A6 ; [.205D.0020.0002.09A6] # BENGALI LETTER DA
-09A7 ; [.205E.0020.0002.09A7] # BENGALI LETTER DHA
-09A8 ; [.205F.0020.0002.09A8] # BENGALI LETTER NA
-09AA ; [.2060.0020.0002.09AA] # BENGALI LETTER PA
-09AB ; [.2061.0020.0002.09AB] # BENGALI LETTER PHA
-09AC ; [.2062.0020.0002.09AC] # BENGALI LETTER BA
-09AD ; [.2063.0020.0002.09AD] # BENGALI LETTER BHA
-09AE ; [.2064.0020.0002.09AE] # BENGALI LETTER MA
-09AF ; [.2065.0020.0002.09AF] # BENGALI LETTER YA
-09DF ; [.2065.0020.0002.09AF][.0000.00F1.0002.093C] # BENGALI LETTER YYA
-09B0 ; [.2066.0020.0002.09B0] # BENGALI LETTER RA
-09F0 ; [.2067.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09B2 ; [.2068.0020.0002.09B2] # BENGALI LETTER LA
-09F1 ; [.2069.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
-09B6 ; [.206A.0020.0002.09B6] # BENGALI LETTER SHA
-09B7 ; [.206B.0020.0002.09B7] # BENGALI LETTER SSA
-09B8 ; [.206C.0020.0002.09B8] # BENGALI LETTER SA
-09B9 ; [.206D.0020.0002.09B9] # BENGALI LETTER HA
-09BD ; [.206E.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
-09BE ; [.206F.0020.0002.09BE] # BENGALI VOWEL SIGN AA
-09BF ; [.2070.0020.0002.09BF] # BENGALI VOWEL SIGN I
-09C0 ; [.2071.0020.0002.09C0] # BENGALI VOWEL SIGN II
-09C1 ; [.2072.0020.0002.09C1] # BENGALI VOWEL SIGN U
-09C2 ; [.2073.0020.0002.09C2] # BENGALI VOWEL SIGN UU
-09C3 ; [.2074.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
-09C4 ; [.2075.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
-09E2 ; [.2076.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
-09E3 ; [.2077.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
-09C7 ; [.2078.0020.0002.09C7] # BENGALI VOWEL SIGN E
-09C8 ; [.2079.0020.0002.09C8] # BENGALI VOWEL SIGN AI
-09CB ; [.207A.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09C7 09BE ; [.207A.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09CC ; [.207B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09C7 09D7 ; [.207B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09CD ; [.207C.0020.0002.09CD] # BENGALI SIGN VIRAMA
-09D7 ; [.207D.0020.0002.09D7] # BENGALI AU LENGTH MARK
-0A74 ; [.207E.0020.0002.0A74] # GURMUKHI EK ONKAR
-0A73 ; [.207F.0020.0002.0A73] # GURMUKHI URA
-0A09 ; [.2080.0020.0002.0A09] # GURMUKHI LETTER U
-0A0A ; [.2081.0020.0002.0A0A] # GURMUKHI LETTER UU
-0A13 ; [.2082.0020.0002.0A13] # GURMUKHI LETTER OO
-0A05 ; [.2083.0020.0002.0A05] # GURMUKHI LETTER A
-0A06 ; [.2084.0020.0002.0A06] # GURMUKHI LETTER AA
-0A10 ; [.2085.0020.0002.0A10] # GURMUKHI LETTER AI
-0A14 ; [.2086.0020.0002.0A14] # GURMUKHI LETTER AU
-0A72 ; [.2087.0020.0002.0A72] # GURMUKHI IRI
-0A07 ; [.2088.0020.0002.0A07] # GURMUKHI LETTER I
-0A08 ; [.2089.0020.0002.0A08] # GURMUKHI LETTER II
-0A0F ; [.208A.0020.0002.0A0F] # GURMUKHI LETTER EE
-0A38 ; [.208B.0020.0002.0A38] # GURMUKHI LETTER SA
-0A36 ; [.208B.0020.0002.0A38][.0000.00F1.0002.093C] # GURMUKHI LETTER SHA
-0A39 ; [.208C.0020.0002.0A39] # GURMUKHI LETTER HA
-0A51 ; [.208D.0020.0002.0A51] # GURMUKHI SIGN UDAAT
-0A15 ; [.208E.0020.0002.0A15] # GURMUKHI LETTER KA
-0A16 ; [.208F.0020.0002.0A16] # GURMUKHI LETTER KHA
-0A59 ; [.208F.0020.0002.0A16][.0000.00F1.0002.093C] # GURMUKHI LETTER KHHA
-0A17 ; [.2090.0020.0002.0A17] # GURMUKHI LETTER GA
-0A5A ; [.2090.0020.0002.0A17][.0000.00F1.0002.093C] # GURMUKHI LETTER GHHA
-0A18 ; [.2091.0020.0002.0A18] # GURMUKHI LETTER GHA
-0A19 ; [.2092.0020.0002.0A19] # GURMUKHI LETTER NGA
-0A1A ; [.2093.0020.0002.0A1A] # GURMUKHI LETTER CA
-0A1B ; [.2094.0020.0002.0A1B] # GURMUKHI LETTER CHA
-0A1C ; [.2095.0020.0002.0A1C] # GURMUKHI LETTER JA
-0A5B ; [.2095.0020.0002.0A1C][.0000.00F1.0002.093C] # GURMUKHI LETTER ZA
-0A1D ; [.2096.0020.0002.0A1D] # GURMUKHI LETTER JHA
-0A1E ; [.2097.0020.0002.0A1E] # GURMUKHI LETTER NYA
-0A1F ; [.2098.0020.0002.0A1F] # GURMUKHI LETTER TTA
-0A20 ; [.2099.0020.0002.0A20] # GURMUKHI LETTER TTHA
-0A21 ; [.209A.0020.0002.0A21] # GURMUKHI LETTER DDA
-0A22 ; [.209B.0020.0002.0A22] # GURMUKHI LETTER DDHA
-0A23 ; [.209C.0020.0002.0A23] # GURMUKHI LETTER NNA
-0A24 ; [.209D.0020.0002.0A24] # GURMUKHI LETTER TA
-0A25 ; [.209E.0020.0002.0A25] # GURMUKHI LETTER THA
-0A26 ; [.209F.0020.0002.0A26] # GURMUKHI LETTER DA
-0A27 ; [.20A0.0020.0002.0A27] # GURMUKHI LETTER DHA
-0A28 ; [.20A1.0020.0002.0A28] # GURMUKHI LETTER NA
-0A2A ; [.20A2.0020.0002.0A2A] # GURMUKHI LETTER PA
-0A2B ; [.20A3.0020.0002.0A2B] # GURMUKHI LETTER PHA
-0A5E ; [.20A3.0020.0002.0A2B][.0000.00F1.0002.093C] # GURMUKHI LETTER FA
-0A2C ; [.20A4.0020.0002.0A2C] # GURMUKHI LETTER BA
-0A2D ; [.20A5.0020.0002.0A2D] # GURMUKHI LETTER BHA
-0A2E ; [.20A6.0020.0002.0A2E] # GURMUKHI LETTER MA
-0A2F ; [.20A7.0020.0002.0A2F] # GURMUKHI LETTER YA
-0A75 ; [.20A8.0020.0002.0A75] # GURMUKHI SIGN YAKASH
-0A30 ; [.20A9.0020.0002.0A30] # GURMUKHI LETTER RA
-0A32 ; [.20AA.0020.0002.0A32] # GURMUKHI LETTER LA
-0A33 ; [.20AA.0020.0002.0A32][.0000.00F1.0002.093C] # GURMUKHI LETTER LLA
-0A35 ; [.20AB.0020.0002.0A35] # GURMUKHI LETTER VA
-0A5C ; [.20AC.0020.0002.0A5C] # GURMUKHI LETTER RRA
-0A3E ; [.20AD.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
-0A3F ; [.20AE.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
-0A40 ; [.20AF.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
-0A41 ; [.20B0.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
-0A42 ; [.20B1.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
-0A47 ; [.20B2.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
-0A48 ; [.20B3.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
-0A4B ; [.20B4.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
-0A4C ; [.20B5.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
-0A4D ; [.20B6.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
-0AD0 ; [.20B7.0020.0002.0AD0] # GUJARATI OM
-0A85 ; [.20B8.0020.0002.0A85] # GUJARATI LETTER A
-0A86 ; [.20B9.0020.0002.0A86] # GUJARATI LETTER AA
-0A87 ; [.20BA.0020.0002.0A87] # GUJARATI LETTER I
-0A88 ; [.20BB.0020.0002.0A88] # GUJARATI LETTER II
-0A89 ; [.20BC.0020.0002.0A89] # GUJARATI LETTER U
-0A8A ; [.20BD.0020.0002.0A8A] # GUJARATI LETTER UU
-0A8B ; [.20BE.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
-0AE0 ; [.20BF.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
-0A8C ; [.20C0.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
-0AE1 ; [.20C1.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
-0A8D ; [.20C2.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
-0A8F ; [.20C3.0020.0002.0A8F] # GUJARATI LETTER E
-0A90 ; [.20C4.0020.0002.0A90] # GUJARATI LETTER AI
-0A91 ; [.20C5.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
-0A93 ; [.20C6.0020.0002.0A93] # GUJARATI LETTER O
-0A94 ; [.20C7.0020.0002.0A94] # GUJARATI LETTER AU
-0A95 ; [.20C8.0020.0002.0A95] # GUJARATI LETTER KA
-0A96 ; [.20C9.0020.0002.0A96] # GUJARATI LETTER KHA
-0A97 ; [.20CA.0020.0002.0A97] # GUJARATI LETTER GA
-0A98 ; [.20CB.0020.0002.0A98] # GUJARATI LETTER GHA
-0A99 ; [.20CC.0020.0002.0A99] # GUJARATI LETTER NGA
-0A9A ; [.20CD.0020.0002.0A9A] # GUJARATI LETTER CA
-0A9B ; [.20CE.0020.0002.0A9B] # GUJARATI LETTER CHA
-0A9C ; [.20CF.0020.0002.0A9C] # GUJARATI LETTER JA
-0A9D ; [.20D0.0020.0002.0A9D] # GUJARATI LETTER JHA
-0A9E ; [.20D1.0020.0002.0A9E] # GUJARATI LETTER NYA
-0A9F ; [.20D2.0020.0002.0A9F] # GUJARATI LETTER TTA
-0AA0 ; [.20D3.0020.0002.0AA0] # GUJARATI LETTER TTHA
-0AA1 ; [.20D4.0020.0002.0AA1] # GUJARATI LETTER DDA
-0AA2 ; [.20D5.0020.0002.0AA2] # GUJARATI LETTER DDHA
-0AA3 ; [.20D6.0020.0002.0AA3] # GUJARATI LETTER NNA
-0AA4 ; [.20D7.0020.0002.0AA4] # GUJARATI LETTER TA
-0AA5 ; [.20D8.0020.0002.0AA5] # GUJARATI LETTER THA
-0AA6 ; [.20D9.0020.0002.0AA6] # GUJARATI LETTER DA
-0AA7 ; [.20DA.0020.0002.0AA7] # GUJARATI LETTER DHA
-0AA8 ; [.20DB.0020.0002.0AA8] # GUJARATI LETTER NA
-0AAA ; [.20DC.0020.0002.0AAA] # GUJARATI LETTER PA
-0AAB ; [.20DD.0020.0002.0AAB] # GUJARATI LETTER PHA
-0AAC ; [.20DE.0020.0002.0AAC] # GUJARATI LETTER BA
-0AAD ; [.20DF.0020.0002.0AAD] # GUJARATI LETTER BHA
-0AAE ; [.20E0.0020.0002.0AAE] # GUJARATI LETTER MA
-0AAF ; [.20E1.0020.0002.0AAF] # GUJARATI LETTER YA
-0AB0 ; [.20E2.0020.0002.0AB0] # GUJARATI LETTER RA
-0AB2 ; [.20E3.0020.0002.0AB2] # GUJARATI LETTER LA
-0AB5 ; [.20E4.0020.0002.0AB5] # GUJARATI LETTER VA
-0AB6 ; [.20E5.0020.0002.0AB6] # GUJARATI LETTER SHA
-0AB7 ; [.20E6.0020.0002.0AB7] # GUJARATI LETTER SSA
-0AB8 ; [.20E7.0020.0002.0AB8] # GUJARATI LETTER SA
-0AB9 ; [.20E8.0020.0002.0AB9] # GUJARATI LETTER HA
-0AB3 ; [.20E9.0020.0002.0AB3] # GUJARATI LETTER LLA
-0ABD ; [.20EA.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
-0ABE ; [.20EB.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
-0ABF ; [.20EC.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
-0AC0 ; [.20ED.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
-0AC1 ; [.20EE.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
-0AC2 ; [.20EF.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
-0AC3 ; [.20F0.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
-0AC4 ; [.20F1.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
-0AE2 ; [.20F2.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
-0AE3 ; [.20F3.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
-0AC5 ; [.20F4.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
-0AC7 ; [.20F5.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
-0AC8 ; [.20F6.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
-0AC9 ; [.20F7.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
-0ACB ; [.20F8.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
-0ACC ; [.20F9.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
-0ACD ; [.20FA.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
-0B05 ; [.20FB.0020.0002.0B05] # ORIYA LETTER A
-0B06 ; [.20FC.0020.0002.0B06] # ORIYA LETTER AA
-0B07 ; [.20FD.0020.0002.0B07] # ORIYA LETTER I
-0B08 ; [.20FE.0020.0002.0B08] # ORIYA LETTER II
-0B09 ; [.20FF.0020.0002.0B09] # ORIYA LETTER U
-0B0A ; [.2100.0020.0002.0B0A] # ORIYA LETTER UU
-0B0B ; [.2101.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
-0B60 ; [.2102.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
-0B0C ; [.2103.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
-0B61 ; [.2104.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
-0B0F ; [.2105.0020.0002.0B0F] # ORIYA LETTER E
-0B10 ; [.2106.0020.0002.0B10] # ORIYA LETTER AI
-0B13 ; [.2107.0020.0002.0B13] # ORIYA LETTER O
-0B14 ; [.2108.0020.0002.0B14] # ORIYA LETTER AU
-0B15 ; [.2109.0020.0002.0B15] # ORIYA LETTER KA
-0B16 ; [.210A.0020.0002.0B16] # ORIYA LETTER KHA
-0B17 ; [.210B.0020.0002.0B17] # ORIYA LETTER GA
-0B18 ; [.210C.0020.0002.0B18] # ORIYA LETTER GHA
-0B19 ; [.210D.0020.0002.0B19] # ORIYA LETTER NGA
-0B1A ; [.210E.0020.0002.0B1A] # ORIYA LETTER CA
-0B1B ; [.210F.0020.0002.0B1B] # ORIYA LETTER CHA
-0B1C ; [.2110.0020.0002.0B1C] # ORIYA LETTER JA
-0B1D ; [.2111.0020.0002.0B1D] # ORIYA LETTER JHA
-0B1E ; [.2112.0020.0002.0B1E] # ORIYA LETTER NYA
-0B1F ; [.2113.0020.0002.0B1F] # ORIYA LETTER TTA
-0B20 ; [.2114.0020.0002.0B20] # ORIYA LETTER TTHA
-0B21 ; [.2115.0020.0002.0B21] # ORIYA LETTER DDA
-0B5C ; [.2115.0020.0002.0B21][.0000.00F1.0002.093C] # ORIYA LETTER RRA
-0B22 ; [.2116.0020.0002.0B22] # ORIYA LETTER DDHA
-0B5D ; [.2116.0020.0002.0B22][.0000.00F1.0002.093C] # ORIYA LETTER RHA
-0B23 ; [.2117.0020.0002.0B23] # ORIYA LETTER NNA
-0B24 ; [.2118.0020.0002.0B24] # ORIYA LETTER TA
-0B25 ; [.2119.0020.0002.0B25] # ORIYA LETTER THA
-0B26 ; [.211A.0020.0002.0B26] # ORIYA LETTER DA
-0B27 ; [.211B.0020.0002.0B27] # ORIYA LETTER DHA
-0B28 ; [.211C.0020.0002.0B28] # ORIYA LETTER NA
-0B2A ; [.211D.0020.0002.0B2A] # ORIYA LETTER PA
-0B2B ; [.211E.0020.0002.0B2B] # ORIYA LETTER PHA
-0B2C ; [.211F.0020.0002.0B2C] # ORIYA LETTER BA
-0B2D ; [.2120.0020.0002.0B2D] # ORIYA LETTER BHA
-0B2E ; [.2121.0020.0002.0B2E] # ORIYA LETTER MA
-0B2F ; [.2122.0020.0002.0B2F] # ORIYA LETTER YA
-0B5F ; [.2123.0020.0002.0B5F] # ORIYA LETTER YYA
-0B30 ; [.2124.0020.0002.0B30] # ORIYA LETTER RA
-0B32 ; [.2125.0020.0002.0B32] # ORIYA LETTER LA
-0B33 ; [.2126.0020.0002.0B33] # ORIYA LETTER LLA
-0B35 ; [.2127.0020.0002.0B35] # ORIYA LETTER VA
-0B71 ; [.2128.0020.0002.0B71] # ORIYA LETTER WA
-0B36 ; [.2129.0020.0002.0B36] # ORIYA LETTER SHA
-0B37 ; [.212A.0020.0002.0B37] # ORIYA LETTER SSA
-0B38 ; [.212B.0020.0002.0B38] # ORIYA LETTER SA
-0B39 ; [.212C.0020.0002.0B39] # ORIYA LETTER HA
-0B3D ; [.212D.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
-0B3E ; [.212E.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
-0B3F ; [.212F.0020.0002.0B3F] # ORIYA VOWEL SIGN I
-0B40 ; [.2130.0020.0002.0B40] # ORIYA VOWEL SIGN II
-0B41 ; [.2131.0020.0002.0B41] # ORIYA VOWEL SIGN U
-0B42 ; [.2132.0020.0002.0B42] # ORIYA VOWEL SIGN UU
-0B43 ; [.2133.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
-0B44 ; [.2134.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
-0B62 ; [.2135.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
-0B63 ; [.2136.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
-0B47 ; [.2137.0020.0002.0B47] # ORIYA VOWEL SIGN E
-0B48 ; [.2138.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B47 0B56 ; [.2138.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B4B ; [.2139.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B47 0B3E ; [.2139.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B4C ; [.213A.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B47 0B57 ; [.213A.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B4D ; [.213B.0020.0002.0B4D] # ORIYA SIGN VIRAMA
-0B56 ; [.213C.0020.0002.0B56] # ORIYA AI LENGTH MARK
-0B57 ; [.213D.0020.0002.0B57] # ORIYA AU LENGTH MARK
-0BD0 ; [.213E.0020.0002.0BD0] # TAMIL OM
-0B85 ; [.213F.0020.0002.0B85] # TAMIL LETTER A
-0B86 ; [.2140.0020.0002.0B86] # TAMIL LETTER AA
-0B87 ; [.2141.0020.0002.0B87] # TAMIL LETTER I
-0B88 ; [.2142.0020.0002.0B88] # TAMIL LETTER II
-0B89 ; [.2143.0020.0002.0B89] # TAMIL LETTER U
-0B8A ; [.2144.0020.0002.0B8A] # TAMIL LETTER UU
-0B8E ; [.2145.0020.0002.0B8E] # TAMIL LETTER E
-0B8F ; [.2146.0020.0002.0B8F] # TAMIL LETTER EE
-0B90 ; [.2147.0020.0002.0B90] # TAMIL LETTER AI
-0B92 ; [.2148.0020.0002.0B92] # TAMIL LETTER O
-0B93 ; [.2149.0020.0002.0B93] # TAMIL LETTER OO
-0B94 ; [.214A.0020.0002.0B94] # TAMIL LETTER AU
-0B92 0BD7 ; [.214A.0020.0002.0B94] # TAMIL LETTER AU
-0B83 ; [.214B.0020.0002.0B83] # TAMIL SIGN VISARGA
-0B95 ; [.214C.0020.0002.0B95] # TAMIL LETTER KA
-0B99 ; [.214D.0020.0002.0B99] # TAMIL LETTER NGA
-0B9A ; [.214E.0020.0002.0B9A] # TAMIL LETTER CA
-0B9E ; [.214F.0020.0002.0B9E] # TAMIL LETTER NYA
-0B9F ; [.2150.0020.0002.0B9F] # TAMIL LETTER TTA
-0BA3 ; [.2151.0020.0002.0BA3] # TAMIL LETTER NNA
-0BA4 ; [.2152.0020.0002.0BA4] # TAMIL LETTER TA
-0BA8 ; [.2153.0020.0002.0BA8] # TAMIL LETTER NA
-0BAA ; [.2154.0020.0002.0BAA] # TAMIL LETTER PA
-0BAE ; [.2155.0020.0002.0BAE] # TAMIL LETTER MA
-0BAF ; [.2156.0020.0002.0BAF] # TAMIL LETTER YA
-0BB0 ; [.2157.0020.0002.0BB0] # TAMIL LETTER RA
-0BB2 ; [.2158.0020.0002.0BB2] # TAMIL LETTER LA
-0BB5 ; [.2159.0020.0002.0BB5] # TAMIL LETTER VA
-0BB4 ; [.215A.0020.0002.0BB4] # TAMIL LETTER LLLA
-0BB3 ; [.215B.0020.0002.0BB3] # TAMIL LETTER LLA
-0BB1 ; [.215C.0020.0002.0BB1] # TAMIL LETTER RRA
-0BA9 ; [.215D.0020.0002.0BA9] # TAMIL LETTER NNNA
-0B9C ; [.215E.0020.0002.0B9C] # TAMIL LETTER JA
-0BB6 ; [.215F.0020.0002.0BB6] # TAMIL LETTER SHA
-0BB7 ; [.2160.0020.0002.0BB7] # TAMIL LETTER SSA
-0BB8 ; [.2161.0020.0002.0BB8] # TAMIL LETTER SA
-0BB9 ; [.2162.0020.0002.0BB9] # TAMIL LETTER HA
-0BBE ; [.2163.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
-0BBF ; [.2164.0020.0002.0BBF] # TAMIL VOWEL SIGN I
-0BC0 ; [.2165.0020.0002.0BC0] # TAMIL VOWEL SIGN II
-0BC1 ; [.2166.0020.0002.0BC1] # TAMIL VOWEL SIGN U
-0BC2 ; [.2167.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
-0BC6 ; [.2168.0020.0002.0BC6] # TAMIL VOWEL SIGN E
-0BC7 ; [.2169.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
-0BC8 ; [.216A.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
-0BCA ; [.216B.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BC6 0BBE ; [.216B.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BCB ; [.216C.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BC7 0BBE ; [.216C.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BCC ; [.216D.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BC6 0BD7 ; [.216D.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BCD ; [.216E.0020.0002.0BCD] # TAMIL SIGN VIRAMA
-0BD7 ; [.216F.0020.0002.0BD7] # TAMIL AU LENGTH MARK
-0C05 ; [.2170.0020.0002.0C05] # TELUGU LETTER A
-0C06 ; [.2171.0020.0002.0C06] # TELUGU LETTER AA
-0C07 ; [.2172.0020.0002.0C07] # TELUGU LETTER I
-0C08 ; [.2173.0020.0002.0C08] # TELUGU LETTER II
-0C09 ; [.2174.0020.0002.0C09] # TELUGU LETTER U
-0C0A ; [.2175.0020.0002.0C0A] # TELUGU LETTER UU
-0C0B ; [.2176.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
-0C60 ; [.2177.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
-0C0C ; [.2178.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
-0C61 ; [.2179.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
-0C0E ; [.217A.0020.0002.0C0E] # TELUGU LETTER E
-0C0F ; [.217B.0020.0002.0C0F] # TELUGU LETTER EE
-0C10 ; [.217C.0020.0002.0C10] # TELUGU LETTER AI
-0C12 ; [.217D.0020.0002.0C12] # TELUGU LETTER O
-0C13 ; [.217E.0020.0002.0C13] # TELUGU LETTER OO
-0C14 ; [.217F.0020.0002.0C14] # TELUGU LETTER AU
-0C15 ; [.2180.0020.0002.0C15] # TELUGU LETTER KA
-0C16 ; [.2181.0020.0002.0C16] # TELUGU LETTER KHA
-0C17 ; [.2182.0020.0002.0C17] # TELUGU LETTER GA
-0C18 ; [.2183.0020.0002.0C18] # TELUGU LETTER GHA
-0C19 ; [.2184.0020.0002.0C19] # TELUGU LETTER NGA
-0C1A ; [.2185.0020.0002.0C1A] # TELUGU LETTER CA
-0C58 ; [.2186.0020.0002.0C58] # TELUGU LETTER TSA
-0C1B ; [.2187.0020.0002.0C1B] # TELUGU LETTER CHA
-0C1C ; [.2188.0020.0002.0C1C] # TELUGU LETTER JA
-0C59 ; [.2189.0020.0002.0C59] # TELUGU LETTER DZA
-0C1D ; [.218A.0020.0002.0C1D] # TELUGU LETTER JHA
-0C1E ; [.218B.0020.0002.0C1E] # TELUGU LETTER NYA
-0C1F ; [.218C.0020.0002.0C1F] # TELUGU LETTER TTA
-0C20 ; [.218D.0020.0002.0C20] # TELUGU LETTER TTHA
-0C21 ; [.218E.0020.0002.0C21] # TELUGU LETTER DDA
-0C22 ; [.218F.0020.0002.0C22] # TELUGU LETTER DDHA
-0C23 ; [.2190.0020.0002.0C23] # TELUGU LETTER NNA
-0C24 ; [.2191.0020.0002.0C24] # TELUGU LETTER TA
-0C25 ; [.2192.0020.0002.0C25] # TELUGU LETTER THA
-0C26 ; [.2193.0020.0002.0C26] # TELUGU LETTER DA
-0C27 ; [.2194.0020.0002.0C27] # TELUGU LETTER DHA
-0C28 ; [.2195.0020.0002.0C28] # TELUGU LETTER NA
-0C2A ; [.2196.0020.0002.0C2A] # TELUGU LETTER PA
-0C2B ; [.2197.0020.0002.0C2B] # TELUGU LETTER PHA
-0C2C ; [.2198.0020.0002.0C2C] # TELUGU LETTER BA
-0C2D ; [.2199.0020.0002.0C2D] # TELUGU LETTER BHA
-0C2E ; [.219A.0020.0002.0C2E] # TELUGU LETTER MA
-0C2F ; [.219B.0020.0002.0C2F] # TELUGU LETTER YA
-0C30 ; [.219C.0020.0002.0C30] # TELUGU LETTER RA
-0C31 ; [.219D.0020.0002.0C31] # TELUGU LETTER RRA
-0C32 ; [.219E.0020.0002.0C32] # TELUGU LETTER LA
-0C35 ; [.219F.0020.0002.0C35] # TELUGU LETTER VA
-0C36 ; [.21A0.0020.0002.0C36] # TELUGU LETTER SHA
-0C37 ; [.21A1.0020.0002.0C37] # TELUGU LETTER SSA
-0C38 ; [.21A2.0020.0002.0C38] # TELUGU LETTER SA
-0C39 ; [.21A3.0020.0002.0C39] # TELUGU LETTER HA
-0C33 ; [.21A4.0020.0002.0C33] # TELUGU LETTER LLA
-0C3D ; [.21A5.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
-0C3E ; [.21A6.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
-0C3F ; [.21A7.0020.0002.0C3F] # TELUGU VOWEL SIGN I
-0C40 ; [.21A8.0020.0002.0C40] # TELUGU VOWEL SIGN II
-0C41 ; [.21A9.0020.0002.0C41] # TELUGU VOWEL SIGN U
-0C42 ; [.21AA.0020.0002.0C42] # TELUGU VOWEL SIGN UU
-0C43 ; [.21AB.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
-0C44 ; [.21AC.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
-0C62 ; [.21AD.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
-0C63 ; [.21AE.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
-0C46 ; [.21AF.0020.0002.0C46] # TELUGU VOWEL SIGN E
-0C47 ; [.21B0.0020.0002.0C47] # TELUGU VOWEL SIGN EE
-0C48 ; [.21B1.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C46 0C56 ; [.21B1.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C4A ; [.21B2.0020.0002.0C4A] # TELUGU VOWEL SIGN O
-0C4B ; [.21B3.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
-0C4C ; [.21B4.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
-0C4D ; [.21B5.0020.0002.0C4D] # TELUGU SIGN VIRAMA
-0C55 ; [.21B6.0020.0002.0C55] # TELUGU LENGTH MARK
-0C56 ; [.21B7.0020.0002.0C56] # TELUGU AI LENGTH MARK
-0C85 ; [.21B8.0020.0002.0C85] # KANNADA LETTER A
-0C86 ; [.21B9.0020.0002.0C86] # KANNADA LETTER AA
-0C87 ; [.21BA.0020.0002.0C87] # KANNADA LETTER I
-0C88 ; [.21BB.0020.0002.0C88] # KANNADA LETTER II
-0C89 ; [.21BC.0020.0002.0C89] # KANNADA LETTER U
-0C8A ; [.21BD.0020.0002.0C8A] # KANNADA LETTER UU
-0C8B ; [.21BE.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
-0CE0 ; [.21BF.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
-0C8C ; [.21C0.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
-0CE1 ; [.21C1.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
-0C8E ; [.21C2.0020.0002.0C8E] # KANNADA LETTER E
-0C8F ; [.21C3.0020.0002.0C8F] # KANNADA LETTER EE
-0C90 ; [.21C4.0020.0002.0C90] # KANNADA LETTER AI
-0C92 ; [.21C5.0020.0002.0C92] # KANNADA LETTER O
-0C93 ; [.21C6.0020.0002.0C93] # KANNADA LETTER OO
-0C94 ; [.21C7.0020.0002.0C94] # KANNADA LETTER AU
-0C95 ; [.21C8.0020.0002.0C95] # KANNADA LETTER KA
-0C96 ; [.21C9.0020.0002.0C96] # KANNADA LETTER KHA
-0C97 ; [.21CA.0020.0002.0C97] # KANNADA LETTER GA
-0C98 ; [.21CB.0020.0002.0C98] # KANNADA LETTER GHA
-0C99 ; [.21CC.0020.0002.0C99] # KANNADA LETTER NGA
-0C9A ; [.21CD.0020.0002.0C9A] # KANNADA LETTER CA
-0C9B ; [.21CE.0020.0002.0C9B] # KANNADA LETTER CHA
-0C9C ; [.21CF.0020.0002.0C9C] # KANNADA LETTER JA
-0C9D ; [.21D0.0020.0002.0C9D] # KANNADA LETTER JHA
-0C9E ; [.21D1.0020.0002.0C9E] # KANNADA LETTER NYA
-0C9F ; [.21D2.0020.0002.0C9F] # KANNADA LETTER TTA
-0CA0 ; [.21D3.0020.0002.0CA0] # KANNADA LETTER TTHA
-0CA1 ; [.21D4.0020.0002.0CA1] # KANNADA LETTER DDA
-0CA2 ; [.21D5.0020.0002.0CA2] # KANNADA LETTER DDHA
-0CA3 ; [.21D6.0020.0002.0CA3] # KANNADA LETTER NNA
-0CA4 ; [.21D7.0020.0002.0CA4] # KANNADA LETTER TA
-0CA5 ; [.21D8.0020.0002.0CA5] # KANNADA LETTER THA
-0CA6 ; [.21D9.0020.0002.0CA6] # KANNADA LETTER DA
-0CA7 ; [.21DA.0020.0002.0CA7] # KANNADA LETTER DHA
-0CA8 ; [.21DB.0020.0002.0CA8] # KANNADA LETTER NA
-0CAA ; [.21DC.0020.0002.0CAA] # KANNADA LETTER PA
-0CAB ; [.21DD.0020.0002.0CAB] # KANNADA LETTER PHA
-0CAC ; [.21DE.0020.0002.0CAC] # KANNADA LETTER BA
-0CAD ; [.21DF.0020.0002.0CAD] # KANNADA LETTER BHA
-0CAE ; [.21E0.0020.0002.0CAE] # KANNADA LETTER MA
-0CAF ; [.21E1.0020.0002.0CAF] # KANNADA LETTER YA
-0CB0 ; [.21E2.0020.0002.0CB0] # KANNADA LETTER RA
-0CB1 ; [.21E3.0020.0002.0CB1] # KANNADA LETTER RRA
-0CB2 ; [.21E4.0020.0002.0CB2] # KANNADA LETTER LA
-0CB5 ; [.21E5.0020.0002.0CB5] # KANNADA LETTER VA
-0CB6 ; [.21E6.0020.0002.0CB6] # KANNADA LETTER SHA
-0CB7 ; [.21E7.0020.0002.0CB7] # KANNADA LETTER SSA
-0CB8 ; [.21E8.0020.0002.0CB8] # KANNADA LETTER SA
-0CB9 ; [.21E9.0020.0002.0CB9] # KANNADA LETTER HA
-0CB3 ; [.21EA.0020.0002.0CB3] # KANNADA LETTER LLA
-0CDE ; [.21EB.0020.0002.0CDE] # KANNADA LETTER FA
-0CBD ; [.21EC.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
-0CF1 ; [.21ED.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
-0CF2 ; [.21EE.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
-0CBE ; [.21EF.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
-0CBF ; [.21F0.0020.0002.0CBF] # KANNADA VOWEL SIGN I
-0CC0 ; [.21F1.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CBF 0CD5 ; [.21F1.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CC1 ; [.21F2.0020.0002.0CC1] # KANNADA VOWEL SIGN U
-0CC2 ; [.21F3.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
-0CC3 ; [.21F4.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
-0CC4 ; [.21F5.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
-0CE2 ; [.21F6.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
-0CE3 ; [.21F7.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
-0CC6 ; [.21F8.0020.0002.0CC6] # KANNADA VOWEL SIGN E
-0CC7 ; [.21F9.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC6 0CD5 ; [.21F9.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC8 ; [.21FA.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CC6 0CD6 ; [.21FA.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CCA ; [.21FB.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CC6 0CC2 ; [.21FB.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CCB ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CC6 0CC2 0CD5 ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCA 0CD5 ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCC ; [.21FD.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
-0CCD ; [.21FE.0020.0002.0CCD] # KANNADA SIGN VIRAMA
-0CD5 ; [.21FF.0020.0002.0CD5] # KANNADA LENGTH MARK
-0CD6 ; [.2200.0020.0002.0CD6] # KANNADA AI LENGTH MARK
-0D05 ; [.2201.0020.0002.0D05] # MALAYALAM LETTER A
-0D06 ; [.2202.0020.0002.0D06] # MALAYALAM LETTER AA
-0D07 ; [.2203.0020.0002.0D07] # MALAYALAM LETTER I
-0D08 ; [.2204.0020.0002.0D08] # MALAYALAM LETTER II
-0D09 ; [.2205.0020.0002.0D09] # MALAYALAM LETTER U
-0D0A ; [.2206.0020.0002.0D0A] # MALAYALAM LETTER UU
-0D0B ; [.2207.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
-0D60 ; [.2208.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
-0D0C ; [.2209.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
-0D61 ; [.220A.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
-0D0E ; [.220B.0020.0002.0D0E] # MALAYALAM LETTER E
-0D0F ; [.220C.0020.0002.0D0F] # MALAYALAM LETTER EE
-0D10 ; [.220D.0020.0002.0D10] # MALAYALAM LETTER AI
-0D12 ; [.220E.0020.0002.0D12] # MALAYALAM LETTER O
-0D13 ; [.220F.0020.0002.0D13] # MALAYALAM LETTER OO
-0D14 ; [.2210.0020.0002.0D14] # MALAYALAM LETTER AU
-0D15 ; [.2211.0020.0002.0D15] # MALAYALAM LETTER KA
-0D7F ; [.2211.0020.0004.0D7F][.2248.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K
-0D16 ; [.2212.0020.0002.0D16] # MALAYALAM LETTER KHA
-0D17 ; [.2213.0020.0002.0D17] # MALAYALAM LETTER GA
-0D18 ; [.2214.0020.0002.0D18] # MALAYALAM LETTER GHA
-0D19 ; [.2215.0020.0002.0D19] # MALAYALAM LETTER NGA
-0D1A ; [.2216.0020.0002.0D1A] # MALAYALAM LETTER CA
-0D1B ; [.2217.0020.0002.0D1B] # MALAYALAM LETTER CHA
-0D1C ; [.2218.0020.0002.0D1C] # MALAYALAM LETTER JA
-0D1D ; [.2219.0020.0002.0D1D] # MALAYALAM LETTER JHA
-0D1E ; [.221A.0020.0002.0D1E] # MALAYALAM LETTER NYA
-0D1F ; [.221B.0020.0002.0D1F] # MALAYALAM LETTER TTA
-0D20 ; [.221C.0020.0002.0D20] # MALAYALAM LETTER TTHA
-0D21 ; [.221D.0020.0002.0D21] # MALAYALAM LETTER DDA
-0D22 ; [.221E.0020.0002.0D22] # MALAYALAM LETTER DDHA
-0D23 ; [.221F.0020.0002.0D23] # MALAYALAM LETTER NNA
-0D7A ; [.221F.0020.0004.0D7A][.2248.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN
-0D24 ; [.2220.0020.0002.0D24] # MALAYALAM LETTER TA
-0D25 ; [.2221.0020.0002.0D25] # MALAYALAM LETTER THA
-0D26 ; [.2222.0020.0002.0D26] # MALAYALAM LETTER DA
-0D27 ; [.2223.0020.0002.0D27] # MALAYALAM LETTER DHA
-0D28 ; [.2224.0020.0002.0D28] # MALAYALAM LETTER NA
-0D7B ; [.2224.0020.0004.0D7B][.2248.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N
-0D29 ; [.2225.0020.0002.0D29] # MALAYALAM LETTER NNNA
-0D2A ; [.2226.0020.0002.0D2A] # MALAYALAM LETTER PA
-0D2B ; [.2227.0020.0002.0D2B] # MALAYALAM LETTER PHA
-0D2C ; [.2228.0020.0002.0D2C] # MALAYALAM LETTER BA
-0D2D ; [.2229.0020.0002.0D2D] # MALAYALAM LETTER BHA
-0D2E ; [.222A.0020.0002.0D2E] # MALAYALAM LETTER MA
-0D2F ; [.222B.0020.0002.0D2F] # MALAYALAM LETTER YA
-0D30 ; [.222C.0020.0002.0D30] # MALAYALAM LETTER RA
-0D4E ; [.222C.0020.0004.0D4E][.2248.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH
-0D7C ; [.222C.0020.0004.0D7C][.2248.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR
-0D32 ; [.222D.0020.0002.0D32] # MALAYALAM LETTER LA
-0D7D ; [.222D.0020.0004.0D7D][.2248.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L
-0D35 ; [.222E.0020.0002.0D35] # MALAYALAM LETTER VA
-0D36 ; [.222F.0020.0002.0D36] # MALAYALAM LETTER SHA
-0D37 ; [.2230.0020.0002.0D37] # MALAYALAM LETTER SSA
-0D38 ; [.2231.0020.0002.0D38] # MALAYALAM LETTER SA
-0D39 ; [.2232.0020.0002.0D39] # MALAYALAM LETTER HA
-0D33 ; [.2233.0020.0002.0D33] # MALAYALAM LETTER LLA
-0D7E ; [.2233.0020.0004.0D7E][.2248.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL
-0D34 ; [.2234.0020.0002.0D34] # MALAYALAM LETTER LLLA
-0D31 ; [.2235.0020.0002.0D31] # MALAYALAM LETTER RRA
-0D3A ; [.2236.0020.0002.0D3A] # MALAYALAM LETTER TTTA
-0D3D ; [.2237.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
-0D3E ; [.2238.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
-0D3F ; [.2239.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
-0D40 ; [.223A.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
-0D41 ; [.223B.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
-0D42 ; [.223C.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
-0D43 ; [.223D.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
-0D44 ; [.223E.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
-0D62 ; [.223F.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
-0D63 ; [.2240.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
-0D46 ; [.2241.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
-0D47 ; [.2242.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
-0D48 ; [.2243.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
-0D4A ; [.2244.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D46 0D3E ; [.2244.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D4B ; [.2245.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D47 0D3E ; [.2245.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D4C ; [.2246.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.2246.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D57 ; [.2247.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
-0D4D ; [.2248.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
-0D85 ; [.2249.0020.0002.0D85] # SINHALA LETTER AYANNA
-0D86 ; [.224A.0020.0002.0D86] # SINHALA LETTER AAYANNA
-0D87 ; [.224B.0020.0002.0D87] # SINHALA LETTER AEYANNA
-0D88 ; [.224C.0020.0002.0D88] # SINHALA LETTER AEEYANNA
-0D89 ; [.224D.0020.0002.0D89] # SINHALA LETTER IYANNA
-0D8A ; [.224E.0020.0002.0D8A] # SINHALA LETTER IIYANNA
-0D8B ; [.224F.0020.0002.0D8B] # SINHALA LETTER UYANNA
-0D8C ; [.2250.0020.0002.0D8C] # SINHALA LETTER UUYANNA
-0D8D ; [.2251.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
-0D8E ; [.2252.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
-0D8F ; [.2253.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
-0D90 ; [.2254.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
-0D91 ; [.2255.0020.0002.0D91] # SINHALA LETTER EYANNA
-0D92 ; [.2256.0020.0002.0D92] # SINHALA LETTER EEYANNA
-0D93 ; [.2257.0020.0002.0D93] # SINHALA LETTER AIYANNA
-0D94 ; [.2258.0020.0002.0D94] # SINHALA LETTER OYANNA
-0D95 ; [.2259.0020.0002.0D95] # SINHALA LETTER OOYANNA
-0D96 ; [.225A.0020.0002.0D96] # SINHALA LETTER AUYANNA
-0D9A ; [.225B.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B ; [.225C.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C ; [.225D.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D ; [.225E.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E ; [.225F.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F ; [.2260.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
-0DA0 ; [.2261.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1 ; [.2262.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2 ; [.2263.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3 ; [.2264.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4 ; [.2265.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5 ; [.2266.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6 ; [.2267.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
-0DA7 ; [.2268.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8 ; [.2269.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9 ; [.226A.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA ; [.226B.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB ; [.226C.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC ; [.226D.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
-0DAD ; [.226E.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE ; [.226F.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF ; [.2270.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0 ; [.2271.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1 ; [.2272.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
-0DB3 ; [.2273.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
-0DB4 ; [.2274.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5 ; [.2275.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6 ; [.2276.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7 ; [.2277.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8 ; [.2278.0020.0002.0DB8] # SINHALA LETTER MAYANNA
-0DB9 ; [.2279.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
-0DBA ; [.227A.0020.0002.0DBA] # SINHALA LETTER YAYANNA
-0DBB ; [.227B.0020.0002.0DBB] # SINHALA LETTER RAYANNA
-0DBD ; [.227C.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
-0DC0 ; [.227D.0020.0002.0DC0] # SINHALA LETTER VAYANNA
-0DC1 ; [.227E.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
-0DC2 ; [.227F.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3 ; [.2280.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
-0DC4 ; [.2281.0020.0002.0DC4] # SINHALA LETTER HAYANNA
-0DC5 ; [.2282.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6 ; [.2283.0020.0002.0DC6] # SINHALA LETTER FAYANNA
-0DCF ; [.2284.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
-0DD0 ; [.2285.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1 ; [.2286.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2 ; [.2287.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3 ; [.2288.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4 ; [.2289.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; [.228A.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8 ; [.228B.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
-0DF2 ; [.228C.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DDF ; [.228D.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
-0DF3 ; [.228E.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DD9 ; [.228F.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
-0DDA ; [.2290.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DD9 0DCA ; [.2290.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB ; [.2291.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC ; [.2292.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DD9 0DCF ; [.2292.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DD9 0DCF 0DCA ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDC 0DCA ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE ; [.2294.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DD9 0DDF ; [.2294.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DCA ; [.2295.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
-AAF2 ; [.2296.0020.0002.AAF2] # MEETEI MAYEK ANJI
-ABC0 ; [.2297.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
-ABC1 ; [.2298.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
-ABC2 ; [.2299.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
-ABC3 ; [.229A.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
-ABC4 ; [.229B.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
-ABC5 ; [.229C.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
-ABC6 ; [.229D.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
-ABC7 ; [.229E.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
-ABC8 ; [.229F.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
-ABC9 ; [.22A0.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
-ABCA ; [.22A1.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
-ABCB ; [.22A2.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
-ABCC ; [.22A3.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
-ABCD ; [.22A4.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
-ABCE ; [.22A5.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
-ABCF ; [.22A6.0020.0002.ABCF] # MEETEI MAYEK LETTER I
-ABD0 ; [.22A7.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
-ABD1 ; [.22A8.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
-ABD2 ; [.22A9.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
-ABD3 ; [.22AA.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
-ABD4 ; [.22AB.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
-ABD5 ; [.22AC.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
-ABD6 ; [.22AD.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
-ABD7 ; [.22AE.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
-ABD8 ; [.22AF.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
-ABD9 ; [.22B0.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
-ABDA ; [.22B1.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
-AAE0 ; [.22B2.0020.0002.AAE0] # MEETEI MAYEK LETTER E
-AAE1 ; [.22B3.0020.0002.AAE1] # MEETEI MAYEK LETTER O
-AAE2 ; [.22B4.0020.0002.AAE2] # MEETEI MAYEK LETTER CHA
-AAE3 ; [.22B5.0020.0002.AAE3] # MEETEI MAYEK LETTER NYA
-AAE4 ; [.22B6.0020.0002.AAE4] # MEETEI MAYEK LETTER TTA
-AAE5 ; [.22B7.0020.0002.AAE5] # MEETEI MAYEK LETTER TTHA
-AAE6 ; [.22B8.0020.0002.AAE6] # MEETEI MAYEK LETTER DDA
-AAE7 ; [.22B9.0020.0002.AAE7] # MEETEI MAYEK LETTER DDHA
-AAE8 ; [.22BA.0020.0002.AAE8] # MEETEI MAYEK LETTER NNA
-AAE9 ; [.22BB.0020.0002.AAE9] # MEETEI MAYEK LETTER SHA
-AAEA ; [.22BC.0020.0002.AAEA] # MEETEI MAYEK LETTER SSA
-ABE3 ; [.22BD.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4 ; [.22BE.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; [.22BF.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6 ; [.22C0.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7 ; [.22C1.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; [.22C2.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9 ; [.22C3.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA ; [.22C4.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
-AAEB ; [.22C5.0020.0002.AAEB] # MEETEI MAYEK VOWEL SIGN II
-AAEC ; [.22C6.0020.0002.AAEC] # MEETEI MAYEK VOWEL SIGN UU
-AAED ; [.22C7.0020.0002.AAED] # MEETEI MAYEK VOWEL SIGN AAI
-AAEE ; [.22C8.0020.0002.AAEE] # MEETEI MAYEK VOWEL SIGN AU
-AAEF ; [.22C9.0020.0002.AAEF] # MEETEI MAYEK VOWEL SIGN AAU
-AAF5 ; [.22CA.0020.0002.AAF5] # MEETEI MAYEK VOWEL SIGN VISARGA
-ABDB ; [.22CB.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
-ABDC ; [.22CC.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
-ABDD ; [.22CD.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
-ABDE ; [.22CE.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
-ABDF ; [.22CF.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
-ABE0 ; [.22D0.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
-ABE1 ; [.22D1.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2 ; [.22D2.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
-ABED ; [.22D3.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
-AAF6 ; [.22D4.0020.0002.AAF6] # MEETEI MAYEK VIRAMA
-A800 ; [.22D5.0020.0002.A800] # SYLOTI NAGRI LETTER A
-A801 ; [.22D6.0020.0002.A801] # SYLOTI NAGRI LETTER I
-A802 ; [.22D7.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
-A803 ; [.22D8.0020.0002.A803] # SYLOTI NAGRI LETTER U
-A804 ; [.22D9.0020.0002.A804] # SYLOTI NAGRI LETTER E
-A805 ; [.22DA.0020.0002.A805] # SYLOTI NAGRI LETTER O
-A806 ; [.22DB.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
-A807 ; [.22DC.0020.0002.A807] # SYLOTI NAGRI LETTER KO
-A808 ; [.22DD.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
-A809 ; [.22DE.0020.0002.A809] # SYLOTI NAGRI LETTER GO
-A80A ; [.22DF.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
-A80C ; [.22E0.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
-A80D ; [.22E1.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
-A80E ; [.22E2.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
-A80F ; [.22E3.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
-A810 ; [.22E4.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
-A811 ; [.22E5.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
-A812 ; [.22E6.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
-A813 ; [.22E7.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
-A814 ; [.22E8.0020.0002.A814] # SYLOTI NAGRI LETTER TO
-A815 ; [.22E9.0020.0002.A815] # SYLOTI NAGRI LETTER THO
-A816 ; [.22EA.0020.0002.A816] # SYLOTI NAGRI LETTER DO
-A817 ; [.22EB.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
-A818 ; [.22EC.0020.0002.A818] # SYLOTI NAGRI LETTER NO
-A819 ; [.22ED.0020.0002.A819] # SYLOTI NAGRI LETTER PO
-A81A ; [.22EE.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
-A81B ; [.22EF.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
-A81C ; [.22F0.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
-A81D ; [.22F1.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
-A81E ; [.22F2.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
-A81F ; [.22F3.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
-A820 ; [.22F4.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
-A821 ; [.22F5.0020.0002.A821] # SYLOTI NAGRI LETTER SO
-A822 ; [.22F6.0020.0002.A822] # SYLOTI NAGRI LETTER HO
-A823 ; [.22F7.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
-A824 ; [.22F8.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
-A825 ; [.22F9.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
-A826 ; [.22FA.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
-A827 ; [.22FB.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
-A882 ; [.22FC.0020.0002.A882] # SAURASHTRA LETTER A
-A883 ; [.22FD.0020.0002.A883] # SAURASHTRA LETTER AA
-A884 ; [.22FE.0020.0002.A884] # SAURASHTRA LETTER I
-A885 ; [.22FF.0020.0002.A885] # SAURASHTRA LETTER II
-A886 ; [.2300.0020.0002.A886] # SAURASHTRA LETTER U
-A887 ; [.2301.0020.0002.A887] # SAURASHTRA LETTER UU
-A888 ; [.2302.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
-A889 ; [.2303.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
-A88A ; [.2304.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
-A88B ; [.2305.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
-A88C ; [.2306.0020.0002.A88C] # SAURASHTRA LETTER E
-A88D ; [.2307.0020.0002.A88D] # SAURASHTRA LETTER EE
-A88E ; [.2308.0020.0002.A88E] # SAURASHTRA LETTER AI
-A88F ; [.2309.0020.0002.A88F] # SAURASHTRA LETTER O
-A890 ; [.230A.0020.0002.A890] # SAURASHTRA LETTER OO
-A891 ; [.230B.0020.0002.A891] # SAURASHTRA LETTER AU
-A892 ; [.230C.0020.0002.A892] # SAURASHTRA LETTER KA
-A893 ; [.230D.0020.0002.A893] # SAURASHTRA LETTER KHA
-A894 ; [.230E.0020.0002.A894] # SAURASHTRA LETTER GA
-A895 ; [.230F.0020.0002.A895] # SAURASHTRA LETTER GHA
-A896 ; [.2310.0020.0002.A896] # SAURASHTRA LETTER NGA
-A897 ; [.2311.0020.0002.A897] # SAURASHTRA LETTER CA
-A898 ; [.2312.0020.0002.A898] # SAURASHTRA LETTER CHA
-A899 ; [.2313.0020.0002.A899] # SAURASHTRA LETTER JA
-A89A ; [.2314.0020.0002.A89A] # SAURASHTRA LETTER JHA
-A89B ; [.2315.0020.0002.A89B] # SAURASHTRA LETTER NYA
-A89C ; [.2316.0020.0002.A89C] # SAURASHTRA LETTER TTA
-A89D ; [.2317.0020.0002.A89D] # SAURASHTRA LETTER TTHA
-A89E ; [.2318.0020.0002.A89E] # SAURASHTRA LETTER DDA
-A89F ; [.2319.0020.0002.A89F] # SAURASHTRA LETTER DDHA
-A8A0 ; [.231A.0020.0002.A8A0] # SAURASHTRA LETTER NNA
-A8A1 ; [.231B.0020.0002.A8A1] # SAURASHTRA LETTER TA
-A8A2 ; [.231C.0020.0002.A8A2] # SAURASHTRA LETTER THA
-A8A3 ; [.231D.0020.0002.A8A3] # SAURASHTRA LETTER DA
-A8A4 ; [.231E.0020.0002.A8A4] # SAURASHTRA LETTER DHA
-A8A5 ; [.231F.0020.0002.A8A5] # SAURASHTRA LETTER NA
-A8A6 ; [.2320.0020.0002.A8A6] # SAURASHTRA LETTER PA
-A8A7 ; [.2321.0020.0002.A8A7] # SAURASHTRA LETTER PHA
-A8A8 ; [.2322.0020.0002.A8A8] # SAURASHTRA LETTER BA
-A8A9 ; [.2323.0020.0002.A8A9] # SAURASHTRA LETTER BHA
-A8AA ; [.2324.0020.0002.A8AA] # SAURASHTRA LETTER MA
-A8AB ; [.2325.0020.0002.A8AB] # SAURASHTRA LETTER YA
-A8AC ; [.2326.0020.0002.A8AC] # SAURASHTRA LETTER RA
-A8AD ; [.2327.0020.0002.A8AD] # SAURASHTRA LETTER LA
-A8AE ; [.2328.0020.0002.A8AE] # SAURASHTRA LETTER VA
-A8AF ; [.2329.0020.0002.A8AF] # SAURASHTRA LETTER SHA
-A8B0 ; [.232A.0020.0002.A8B0] # SAURASHTRA LETTER SSA
-A8B1 ; [.232B.0020.0002.A8B1] # SAURASHTRA LETTER SA
-A8B2 ; [.232C.0020.0002.A8B2] # SAURASHTRA LETTER HA
-A8B3 ; [.232D.0020.0002.A8B3] # SAURASHTRA LETTER LLA
-A8B4 ; [.232E.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
-A8B5 ; [.232F.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
-A8B6 ; [.2330.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
-A8B7 ; [.2331.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
-A8B8 ; [.2332.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
-A8B9 ; [.2333.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
-A8BA ; [.2334.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB ; [.2335.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC ; [.2336.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD ; [.2337.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE ; [.2338.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
-A8BF ; [.2339.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
-A8C0 ; [.233A.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
-A8C1 ; [.233B.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
-A8C2 ; [.233C.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
-A8C3 ; [.233D.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
-A8C4 ; [.233E.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
-11083 ; [.233F.0020.0002.11083] # KAITHI LETTER A
-11084 ; [.2340.0020.0002.11084] # KAITHI LETTER AA
-11085 ; [.2341.0020.0002.11085] # KAITHI LETTER I
-11086 ; [.2342.0020.0002.11086] # KAITHI LETTER II
-11087 ; [.2343.0020.0002.11087] # KAITHI LETTER U
-11088 ; [.2344.0020.0002.11088] # KAITHI LETTER UU
-11089 ; [.2345.0020.0002.11089] # KAITHI LETTER E
-1108A ; [.2346.0020.0002.1108A] # KAITHI LETTER AI
-1108B ; [.2347.0020.0002.1108B] # KAITHI LETTER O
-1108C ; [.2348.0020.0002.1108C] # KAITHI LETTER AU
-1108D ; [.2349.0020.0002.1108D] # KAITHI LETTER KA
-1108E ; [.234A.0020.0002.1108E] # KAITHI LETTER KHA
-1108F ; [.234B.0020.0002.1108F] # KAITHI LETTER GA
-11090 ; [.234C.0020.0002.11090] # KAITHI LETTER GHA
-11091 ; [.234D.0020.0002.11091] # KAITHI LETTER NGA
-11092 ; [.234E.0020.0002.11092] # KAITHI LETTER CA
-11093 ; [.234F.0020.0002.11093] # KAITHI LETTER CHA
-11094 ; [.2350.0020.0002.11094] # KAITHI LETTER JA
-11095 ; [.2351.0020.0002.11095] # KAITHI LETTER JHA
-11096 ; [.2352.0020.0002.11096] # KAITHI LETTER NYA
-11097 ; [.2353.0020.0002.11097] # KAITHI LETTER TTA
-11098 ; [.2354.0020.0002.11098] # KAITHI LETTER TTHA
-11099 ; [.2355.0020.0002.11099] # KAITHI LETTER DDA
-1109A ; [.2355.0020.0002.11099][.0000.00F1.0002.093C] # KAITHI LETTER DDDHA
-1109B ; [.2356.0020.0002.1109B] # KAITHI LETTER DDHA
-1109C ; [.2356.0020.0002.1109B][.0000.00F1.0002.093C] # KAITHI LETTER RHA
-1109D ; [.2357.0020.0002.1109D] # KAITHI LETTER NNA
-1109E ; [.2358.0020.0002.1109E] # KAITHI LETTER TA
-1109F ; [.2359.0020.0002.1109F] # KAITHI LETTER THA
-110A0 ; [.235A.0020.0002.110A0] # KAITHI LETTER DA
-110A1 ; [.235B.0020.0002.110A1] # KAITHI LETTER DHA
-110A2 ; [.235C.0020.0002.110A2] # KAITHI LETTER NA
-110A3 ; [.235D.0020.0002.110A3] # KAITHI LETTER PA
-110A4 ; [.235E.0020.0002.110A4] # KAITHI LETTER PHA
-110A5 ; [.235F.0020.0002.110A5] # KAITHI LETTER BA
-110AB ; [.235F.0020.0002.110A5][.0000.00F1.0002.093C] # KAITHI LETTER VA
-110A6 ; [.2360.0020.0002.110A6] # KAITHI LETTER BHA
-110A7 ; [.2361.0020.0002.110A7] # KAITHI LETTER MA
-110A8 ; [.2362.0020.0002.110A8] # KAITHI LETTER YA
-110A9 ; [.2363.0020.0002.110A9] # KAITHI LETTER RA
-110AA ; [.2364.0020.0002.110AA] # KAITHI LETTER LA
-110AC ; [.2365.0020.0002.110AC] # KAITHI LETTER SHA
-110AD ; [.2366.0020.0002.110AD] # KAITHI LETTER SSA
-110AE ; [.2367.0020.0002.110AE] # KAITHI LETTER SA
-110AF ; [.2368.0020.0002.110AF] # KAITHI LETTER HA
-110B0 ; [.2369.0020.0002.110B0] # KAITHI VOWEL SIGN AA
-110B1 ; [.236A.0020.0002.110B1] # KAITHI VOWEL SIGN I
-110B2 ; [.236B.0020.0002.110B2] # KAITHI VOWEL SIGN II
-110B3 ; [.236C.0020.0002.110B3] # KAITHI VOWEL SIGN U
-110B4 ; [.236D.0020.0002.110B4] # KAITHI VOWEL SIGN UU
-110B5 ; [.236E.0020.0002.110B5] # KAITHI VOWEL SIGN E
-110B6 ; [.236F.0020.0002.110B6] # KAITHI VOWEL SIGN AI
-110B7 ; [.2370.0020.0002.110B7] # KAITHI VOWEL SIGN O
-110B8 ; [.2371.0020.0002.110B8] # KAITHI VOWEL SIGN AU
-110B9 ; [.2372.0020.0002.110B9] # KAITHI SIGN VIRAMA
-111C4 ; [.2373.0020.0002.111C4] # SHARADA OM
-11183 ; [.2374.0020.0002.11183] # SHARADA LETTER A
-11184 ; [.2375.0020.0002.11184] # SHARADA LETTER AA
-11185 ; [.2376.0020.0002.11185] # SHARADA LETTER I
-11186 ; [.2377.0020.0002.11186] # SHARADA LETTER II
-11187 ; [.2378.0020.0002.11187] # SHARADA LETTER U
-11188 ; [.2379.0020.0002.11188] # SHARADA LETTER UU
-11189 ; [.237A.0020.0002.11189] # SHARADA LETTER VOCALIC R
-1118A ; [.237B.0020.0002.1118A] # SHARADA LETTER VOCALIC RR
-1118B ; [.237C.0020.0002.1118B] # SHARADA LETTER VOCALIC L
-1118C ; [.237D.0020.0002.1118C] # SHARADA LETTER VOCALIC LL
-1118D ; [.237E.0020.0002.1118D] # SHARADA LETTER E
-1118E ; [.237F.0020.0002.1118E] # SHARADA LETTER AI
-1118F ; [.2380.0020.0002.1118F] # SHARADA LETTER O
-11190 ; [.2381.0020.0002.11190] # SHARADA LETTER AU
-11191 ; [.2382.0020.0002.11191] # SHARADA LETTER KA
-11192 ; [.2383.0020.0002.11192] # SHARADA LETTER KHA
-11193 ; [.2384.0020.0002.11193] # SHARADA LETTER GA
-11194 ; [.2385.0020.0002.11194] # SHARADA LETTER GHA
-11195 ; [.2386.0020.0002.11195] # SHARADA LETTER NGA
-11196 ; [.2387.0020.0002.11196] # SHARADA LETTER CA
-11197 ; [.2388.0020.0002.11197] # SHARADA LETTER CHA
-11198 ; [.2389.0020.0002.11198] # SHARADA LETTER JA
-11199 ; [.238A.0020.0002.11199] # SHARADA LETTER JHA
-1119A ; [.238B.0020.0002.1119A] # SHARADA LETTER NYA
-1119B ; [.238C.0020.0002.1119B] # SHARADA LETTER TTA
-1119C ; [.238D.0020.0002.1119C] # SHARADA LETTER TTHA
-1119D ; [.238E.0020.0002.1119D] # SHARADA LETTER DDA
-1119E ; [.238F.0020.0002.1119E] # SHARADA LETTER DDHA
-1119F ; [.2390.0020.0002.1119F] # SHARADA LETTER NNA
-111A0 ; [.2391.0020.0002.111A0] # SHARADA LETTER TA
-111A1 ; [.2392.0020.0002.111A1] # SHARADA LETTER THA
-111A2 ; [.2393.0020.0002.111A2] # SHARADA LETTER DA
-111A3 ; [.2394.0020.0002.111A3] # SHARADA LETTER DHA
-111A4 ; [.2395.0020.0002.111A4] # SHARADA LETTER NA
-111A5 ; [.2396.0020.0002.111A5] # SHARADA LETTER PA
-111A6 ; [.2397.0020.0002.111A6] # SHARADA LETTER PHA
-111A7 ; [.2398.0020.0002.111A7] # SHARADA LETTER BA
-111A8 ; [.2399.0020.0002.111A8] # SHARADA LETTER BHA
-111A9 ; [.239A.0020.0002.111A9] # SHARADA LETTER MA
-111AA ; [.239B.0020.0002.111AA] # SHARADA LETTER YA
-111AB ; [.239C.0020.0002.111AB] # SHARADA LETTER RA
-111AC ; [.239D.0020.0002.111AC] # SHARADA LETTER LA
-111AD ; [.239E.0020.0002.111AD] # SHARADA LETTER LLA
-111AE ; [.239F.0020.0002.111AE] # SHARADA LETTER VA
-111AF ; [.23A0.0020.0002.111AF] # SHARADA LETTER SHA
-111B0 ; [.23A1.0020.0002.111B0] # SHARADA LETTER SSA
-111B1 ; [.23A2.0020.0002.111B1] # SHARADA LETTER SA
-111B2 ; [.23A3.0020.0002.111B2] # SHARADA LETTER HA
-111B3 ; [.23A4.0020.0002.111B3] # SHARADA VOWEL SIGN AA
-111B4 ; [.23A5.0020.0002.111B4] # SHARADA VOWEL SIGN I
-111B5 ; [.23A6.0020.0002.111B5] # SHARADA VOWEL SIGN II
-111B6 ; [.23A7.0020.0002.111B6] # SHARADA VOWEL SIGN U
-111B7 ; [.23A8.0020.0002.111B7] # SHARADA VOWEL SIGN UU
-111B8 ; [.23A9.0020.0002.111B8] # SHARADA VOWEL SIGN VOCALIC R
-111B9 ; [.23AA.0020.0002.111B9] # SHARADA VOWEL SIGN VOCALIC RR
-111BA ; [.23AB.0020.0002.111BA] # SHARADA VOWEL SIGN VOCALIC L
-111BB ; [.23AC.0020.0002.111BB] # SHARADA VOWEL SIGN VOCALIC LL
-111BC ; [.23AD.0020.0002.111BC] # SHARADA VOWEL SIGN E
-111BD ; [.23AE.0020.0002.111BD] # SHARADA VOWEL SIGN AI
-111BE ; [.23AF.0020.0002.111BE] # SHARADA VOWEL SIGN O
-111BF ; [.23B0.0020.0002.111BF] # SHARADA VOWEL SIGN AU
-111C0 ; [.23B1.0020.0002.111C0] # SHARADA SIGN VIRAMA
-111C1 ; [.23B2.0020.0002.111C1] # SHARADA SIGN AVAGRAHA
-111C2 ; [.23B3.0020.0002.111C2] # SHARADA SIGN JIHVAMULIYA
-111C3 ; [.23B4.0020.0002.111C3] # SHARADA SIGN UPADHMANIYA
-11680 ; [.23B5.0020.0002.11680] # TAKRI LETTER A
-11681 ; [.23B6.0020.0002.11681] # TAKRI LETTER AA
-11682 ; [.23B7.0020.0002.11682] # TAKRI LETTER I
-11683 ; [.23B8.0020.0002.11683] # TAKRI LETTER II
-11684 ; [.23B9.0020.0002.11684] # TAKRI LETTER U
-11685 ; [.23BA.0020.0002.11685] # TAKRI LETTER UU
-11686 ; [.23BB.0020.0002.11686] # TAKRI LETTER E
-11687 ; [.23BC.0020.0002.11687] # TAKRI LETTER AI
-11688 ; [.23BD.0020.0002.11688] # TAKRI LETTER O
-11689 ; [.23BE.0020.0002.11689] # TAKRI LETTER AU
-116A8 ; [.23BF.0020.0002.116A8] # TAKRI LETTER SA
-116A7 ; [.23C0.0020.0002.116A7] # TAKRI LETTER SHA
-116A9 ; [.23C1.0020.0002.116A9] # TAKRI LETTER HA
-1168A ; [.23C2.0020.0002.1168A] # TAKRI LETTER KA
-1168B ; [.23C3.0020.0002.1168B] # TAKRI LETTER KHA
-1168C ; [.23C4.0020.0002.1168C] # TAKRI LETTER GA
-1168D ; [.23C5.0020.0002.1168D] # TAKRI LETTER GHA
-1168E ; [.23C6.0020.0002.1168E] # TAKRI LETTER NGA
-1168F ; [.23C7.0020.0002.1168F] # TAKRI LETTER CA
-11690 ; [.23C8.0020.0002.11690] # TAKRI LETTER CHA
-11691 ; [.23C9.0020.0002.11691] # TAKRI LETTER JA
-11692 ; [.23CA.0020.0002.11692] # TAKRI LETTER JHA
-11693 ; [.23CB.0020.0002.11693] # TAKRI LETTER NYA
-11694 ; [.23CC.0020.0002.11694] # TAKRI LETTER TTA
-11695 ; [.23CD.0020.0002.11695] # TAKRI LETTER TTHA
-11696 ; [.23CE.0020.0002.11696] # TAKRI LETTER DDA
-11697 ; [.23CF.0020.0002.11697] # TAKRI LETTER DDHA
-11698 ; [.23D0.0020.0002.11698] # TAKRI LETTER NNA
-11699 ; [.23D1.0020.0002.11699] # TAKRI LETTER TA
-1169A ; [.23D2.0020.0002.1169A] # TAKRI LETTER THA
-1169B ; [.23D3.0020.0002.1169B] # TAKRI LETTER DA
-1169C ; [.23D4.0020.0002.1169C] # TAKRI LETTER DHA
-1169D ; [.23D5.0020.0002.1169D] # TAKRI LETTER NA
-1169E ; [.23D6.0020.0002.1169E] # TAKRI LETTER PA
-1169F ; [.23D7.0020.0002.1169F] # TAKRI LETTER PHA
-116A0 ; [.23D8.0020.0002.116A0] # TAKRI LETTER BA
-116A1 ; [.23D9.0020.0002.116A1] # TAKRI LETTER BHA
-116A2 ; [.23DA.0020.0002.116A2] # TAKRI LETTER MA
-116A3 ; [.23DB.0020.0002.116A3] # TAKRI LETTER YA
-116A4 ; [.23DC.0020.0002.116A4] # TAKRI LETTER RA
-116A5 ; [.23DD.0020.0002.116A5] # TAKRI LETTER LA
-116A6 ; [.23DE.0020.0002.116A6] # TAKRI LETTER VA
-116AA ; [.23DF.0020.0002.116AA] # TAKRI LETTER RRA
-116AD ; [.23E0.0020.0002.116AD] # TAKRI VOWEL SIGN AA
-116AE ; [.23E1.0020.0002.116AE] # TAKRI VOWEL SIGN I
-116AF ; [.23E2.0020.0002.116AF] # TAKRI VOWEL SIGN II
-116B0 ; [.23E3.0020.0002.116B0] # TAKRI VOWEL SIGN U
-116B1 ; [.23E4.0020.0002.116B1] # TAKRI VOWEL SIGN UU
-116B2 ; [.23E5.0020.0002.116B2] # TAKRI VOWEL SIGN E
-116B3 ; [.23E6.0020.0002.116B3] # TAKRI VOWEL SIGN AI
-116B4 ; [.23E7.0020.0002.116B4] # TAKRI VOWEL SIGN O
-116B5 ; [.23E8.0020.0002.116B5] # TAKRI VOWEL SIGN AU
-116B6 ; [.23E9.0020.0002.116B6] # TAKRI SIGN VIRAMA
-1B83 ; [.23EA.0020.0002.1B83] # SUNDANESE LETTER A
-1BBA ; [.23EA.0020.0004.1BBA] # SUNDANESE AVAGRAHA
-1B84 ; [.23EB.0020.0002.1B84] # SUNDANESE LETTER I
-1B85 ; [.23EC.0020.0002.1B85] # SUNDANESE LETTER U
-1B86 ; [.23ED.0020.0002.1B86] # SUNDANESE LETTER AE
-1B87 ; [.23EE.0020.0002.1B87] # SUNDANESE LETTER O
-1B88 ; [.23EF.0020.0002.1B88] # SUNDANESE LETTER E
-1B89 ; [.23F0.0020.0002.1B89] # SUNDANESE LETTER EU
-1B8A ; [.23F1.0020.0002.1B8A] # SUNDANESE LETTER KA
-1BBE ; [.23F1.0020.0019.1BBE] # SUNDANESE LETTER FINAL K
-1BAE ; [.23F2.0020.0002.1BAE] # SUNDANESE LETTER KHA
-1B8B ; [.23F3.0020.0002.1B8B] # SUNDANESE LETTER QA
-1B8C ; [.23F4.0020.0002.1B8C] # SUNDANESE LETTER GA
-1B8D ; [.23F5.0020.0002.1B8D] # SUNDANESE LETTER NGA
-1B8E ; [.23F6.0020.0002.1B8E] # SUNDANESE LETTER CA
-1B8F ; [.23F7.0020.0002.1B8F] # SUNDANESE LETTER JA
-1B90 ; [.23F8.0020.0002.1B90] # SUNDANESE LETTER ZA
-1B91 ; [.23F9.0020.0002.1B91] # SUNDANESE LETTER NYA
-1B92 ; [.23FA.0020.0002.1B92] # SUNDANESE LETTER TA
-1B93 ; [.23FB.0020.0002.1B93] # SUNDANESE LETTER DA
-1B94 ; [.23FC.0020.0002.1B94] # SUNDANESE LETTER NA
-1B95 ; [.23FD.0020.0002.1B95] # SUNDANESE LETTER PA
-1B96 ; [.23FE.0020.0002.1B96] # SUNDANESE LETTER FA
-1B97 ; [.23FF.0020.0002.1B97] # SUNDANESE LETTER VA
-1B98 ; [.2400.0020.0002.1B98] # SUNDANESE LETTER BA
-1BBD ; [.2401.0020.0002.1BBD] # SUNDANESE LETTER BHA
-1B99 ; [.2402.0020.0002.1B99] # SUNDANESE LETTER MA
-1BBF ; [.2402.0020.0019.1BBF] # SUNDANESE LETTER FINAL M
-1BAC ; [.2403.0020.0002.1BAC] # SUNDANESE CONSONANT SIGN PASANGAN MA
-1B9A ; [.2404.0020.0002.1B9A] # SUNDANESE LETTER YA
-1BA1 ; [.2405.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
-1B9B ; [.2406.0020.0002.1B9B] # SUNDANESE LETTER RA
-1BA2 ; [.2407.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
-1BBB ; [.2408.0020.0002.1BBB] # SUNDANESE LETTER REU
-1B9C ; [.2409.0020.0002.1B9C] # SUNDANESE LETTER LA
-1BA3 ; [.240A.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
-1BBC ; [.240B.0020.0002.1BBC] # SUNDANESE LETTER LEU
-1B9D ; [.240C.0020.0002.1B9D] # SUNDANESE LETTER WA
-1BAD ; [.240D.0020.0002.1BAD] # SUNDANESE CONSONANT SIGN PASANGAN WA
-1B9E ; [.240E.0020.0002.1B9E] # SUNDANESE LETTER SA
-1B9F ; [.240F.0020.0002.1B9F] # SUNDANESE LETTER XA
-1BAF ; [.2410.0020.0002.1BAF] # SUNDANESE LETTER SYA
-1BA0 ; [.2411.0020.0002.1BA0] # SUNDANESE LETTER HA
-1BA4 ; [.2412.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
-1BA5 ; [.2413.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
-1BA6 ; [.2414.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7 ; [.2415.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
-1BA8 ; [.2416.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
-1BA9 ; [.2417.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; [.2418.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
-1BAB ; [.2419.0020.0002.1BAB] # SUNDANESE SIGN VIRAMA
-11005 ; [.241A.0020.0002.11005] # BRAHMI LETTER A
-11006 ; [.241B.0020.0002.11006] # BRAHMI LETTER AA
-11007 ; [.241C.0020.0002.11007] # BRAHMI LETTER I
-11008 ; [.241D.0020.0002.11008] # BRAHMI LETTER II
-11009 ; [.241E.0020.0002.11009] # BRAHMI LETTER U
-1100A ; [.241F.0020.0002.1100A] # BRAHMI LETTER UU
-1100B ; [.2420.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
-1100C ; [.2421.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
-1100D ; [.2422.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
-1100E ; [.2423.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
-1100F ; [.2424.0020.0002.1100F] # BRAHMI LETTER E
-11010 ; [.2425.0020.0002.11010] # BRAHMI LETTER AI
-11011 ; [.2426.0020.0002.11011] # BRAHMI LETTER O
-11012 ; [.2427.0020.0002.11012] # BRAHMI LETTER AU
-11013 ; [.2428.0020.0002.11013] # BRAHMI LETTER KA
-11014 ; [.2429.0020.0002.11014] # BRAHMI LETTER KHA
-11015 ; [.242A.0020.0002.11015] # BRAHMI LETTER GA
-11016 ; [.242B.0020.0002.11016] # BRAHMI LETTER GHA
-11017 ; [.242C.0020.0002.11017] # BRAHMI LETTER NGA
-11018 ; [.242D.0020.0002.11018] # BRAHMI LETTER CA
-11019 ; [.242E.0020.0002.11019] # BRAHMI LETTER CHA
-1101A ; [.242F.0020.0002.1101A] # BRAHMI LETTER JA
-1101B ; [.2430.0020.0002.1101B] # BRAHMI LETTER JHA
-1101C ; [.2431.0020.0002.1101C] # BRAHMI LETTER NYA
-1101D ; [.2432.0020.0002.1101D] # BRAHMI LETTER TTA
-1101E ; [.2433.0020.0002.1101E] # BRAHMI LETTER TTHA
-1101F ; [.2434.0020.0002.1101F] # BRAHMI LETTER DDA
-11020 ; [.2435.0020.0002.11020] # BRAHMI LETTER DDHA
-11021 ; [.2436.0020.0002.11021] # BRAHMI LETTER NNA
-11022 ; [.2437.0020.0002.11022] # BRAHMI LETTER TA
-11023 ; [.2438.0020.0002.11023] # BRAHMI LETTER THA
-11024 ; [.2439.0020.0002.11024] # BRAHMI LETTER DA
-11025 ; [.243A.0020.0002.11025] # BRAHMI LETTER DHA
-11026 ; [.243B.0020.0002.11026] # BRAHMI LETTER NA
-11027 ; [.243C.0020.0002.11027] # BRAHMI LETTER PA
-11028 ; [.243D.0020.0002.11028] # BRAHMI LETTER PHA
-11029 ; [.243E.0020.0002.11029] # BRAHMI LETTER BA
-1102A ; [.243F.0020.0002.1102A] # BRAHMI LETTER BHA
-1102B ; [.2440.0020.0002.1102B] # BRAHMI LETTER MA
-1102C ; [.2441.0020.0002.1102C] # BRAHMI LETTER YA
-1102D ; [.2442.0020.0002.1102D] # BRAHMI LETTER RA
-1102E ; [.2443.0020.0002.1102E] # BRAHMI LETTER LA
-1102F ; [.2444.0020.0002.1102F] # BRAHMI LETTER VA
-11030 ; [.2445.0020.0002.11030] # BRAHMI LETTER SHA
-11031 ; [.2446.0020.0002.11031] # BRAHMI LETTER SSA
-11032 ; [.2447.0020.0002.11032] # BRAHMI LETTER SA
-11033 ; [.2448.0020.0002.11033] # BRAHMI LETTER HA
-11003 ; [.2449.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
-11004 ; [.244A.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
-11034 ; [.244B.0020.0002.11034] # BRAHMI LETTER LLA
-11035 ; [.244C.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
-11036 ; [.244D.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
-11037 ; [.244E.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
-11038 ; [.244F.0020.0002.11038] # BRAHMI VOWEL SIGN AA
-11039 ; [.2450.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
-1103A ; [.2451.0020.0002.1103A] # BRAHMI VOWEL SIGN I
-1103B ; [.2452.0020.0002.1103B] # BRAHMI VOWEL SIGN II
-1103C ; [.2453.0020.0002.1103C] # BRAHMI VOWEL SIGN U
-1103D ; [.2454.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
-1103E ; [.2455.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
-1103F ; [.2456.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
-11040 ; [.2457.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
-11041 ; [.2458.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
-11042 ; [.2459.0020.0002.11042] # BRAHMI VOWEL SIGN E
-11043 ; [.245A.0020.0002.11043] # BRAHMI VOWEL SIGN AI
-11044 ; [.245B.0020.0002.11044] # BRAHMI VOWEL SIGN O
-11045 ; [.245C.0020.0002.11045] # BRAHMI VOWEL SIGN AU
-11046 ; [.245D.0020.0002.11046] # BRAHMI VIRAMA
-10A00 ; [.245E.0020.0002.10A00] # KHAROSHTHI LETTER A
-10A01 ; [.245F.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
-10A02 ; [.2460.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
-10A03 ; [.2461.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 ; [.2462.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
-10A06 ; [.2463.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
-10A0C ; [.2464.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
-10A10 ; [.2465.0020.0002.10A10] # KHAROSHTHI LETTER KA
-10A11 ; [.2466.0020.0002.10A11] # KHAROSHTHI LETTER KHA
-10A12 ; [.2467.0020.0002.10A12] # KHAROSHTHI LETTER GA
-10A13 ; [.2468.0020.0002.10A13] # KHAROSHTHI LETTER GHA
-10A15 ; [.2469.0020.0002.10A15] # KHAROSHTHI LETTER CA
-10A16 ; [.246A.0020.0002.10A16] # KHAROSHTHI LETTER CHA
-10A17 ; [.246B.0020.0002.10A17] # KHAROSHTHI LETTER JA
-10A19 ; [.246C.0020.0002.10A19] # KHAROSHTHI LETTER NYA
-10A1A ; [.246D.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
-10A1B ; [.246E.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
-10A1C ; [.246F.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
-10A1D ; [.2470.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
-10A1E ; [.2471.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
-10A1F ; [.2472.0020.0002.10A1F] # KHAROSHTHI LETTER TA
-10A20 ; [.2473.0020.0002.10A20] # KHAROSHTHI LETTER THA
-10A21 ; [.2474.0020.0002.10A21] # KHAROSHTHI LETTER DA
-10A22 ; [.2475.0020.0002.10A22] # KHAROSHTHI LETTER DHA
-10A23 ; [.2476.0020.0002.10A23] # KHAROSHTHI LETTER NA
-10A24 ; [.2477.0020.0002.10A24] # KHAROSHTHI LETTER PA
-10A25 ; [.2478.0020.0002.10A25] # KHAROSHTHI LETTER PHA
-10A26 ; [.2479.0020.0002.10A26] # KHAROSHTHI LETTER BA
-10A27 ; [.247A.0020.0002.10A27] # KHAROSHTHI LETTER BHA
-10A28 ; [.247B.0020.0002.10A28] # KHAROSHTHI LETTER MA
-10A29 ; [.247C.0020.0002.10A29] # KHAROSHTHI LETTER YA
-10A2A ; [.247D.0020.0002.10A2A] # KHAROSHTHI LETTER RA
-10A2B ; [.247E.0020.0002.10A2B] # KHAROSHTHI LETTER LA
-10A2C ; [.247F.0020.0002.10A2C] # KHAROSHTHI LETTER VA
-10A2D ; [.2480.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
-10A2E ; [.2481.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
-10A2F ; [.2482.0020.0002.10A2F] # KHAROSHTHI LETTER SA
-10A30 ; [.2483.0020.0002.10A30] # KHAROSHTHI LETTER ZA
-10A31 ; [.2484.0020.0002.10A31] # KHAROSHTHI LETTER HA
-10A32 ; [.2485.0020.0002.10A32] # KHAROSHTHI LETTER KKA
-10A33 ; [.2486.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
-10A3F ; [.2487.0020.0002.10A3F] # KHAROSHTHI VIRAMA
-0E01 ; [.2488.0020.0002.0E01] # THAI CHARACTER KO KAI
-0E40 0E01 ; [.2488.0020.0002.0E01][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
-0E41 0E01 ; [.2488.0020.0002.0E01][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
-0E42 0E01 ; [.2488.0020.0002.0E01][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
-0E43 0E01 ; [.2488.0020.0002.0E01][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
-0E44 0E01 ; [.2488.0020.0002.0E01][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
-0E02 ; [.2489.0020.0002.0E02] # THAI CHARACTER KHO KHAI
-0E40 0E02 ; [.2489.0020.0002.0E02][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
-0E41 0E02 ; [.2489.0020.0002.0E02][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
-0E42 0E02 ; [.2489.0020.0002.0E02][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
-0E43 0E02 ; [.2489.0020.0002.0E02][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
-0E44 0E02 ; [.2489.0020.0002.0E02][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
-0E03 ; [.248A.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
-0E40 0E03 ; [.248A.0020.0002.0E03][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
-0E41 0E03 ; [.248A.0020.0002.0E03][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
-0E42 0E03 ; [.248A.0020.0002.0E03][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
-0E43 0E03 ; [.248A.0020.0002.0E03][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
-0E44 0E03 ; [.248A.0020.0002.0E03][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
-0E04 ; [.248B.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
-0E40 0E04 ; [.248B.0020.0002.0E04][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
-0E41 0E04 ; [.248B.0020.0002.0E04][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
-0E42 0E04 ; [.248B.0020.0002.0E04][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
-0E43 0E04 ; [.248B.0020.0002.0E04][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
-0E44 0E04 ; [.248B.0020.0002.0E04][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
-0E05 ; [.248C.0020.0002.0E05] # THAI CHARACTER KHO KHON
-0E40 0E05 ; [.248C.0020.0002.0E05][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
-0E41 0E05 ; [.248C.0020.0002.0E05][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
-0E42 0E05 ; [.248C.0020.0002.0E05][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
-0E43 0E05 ; [.248C.0020.0002.0E05][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
-0E44 0E05 ; [.248C.0020.0002.0E05][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
-0E06 ; [.248D.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
-0E40 0E06 ; [.248D.0020.0002.0E06][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
-0E41 0E06 ; [.248D.0020.0002.0E06][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
-0E42 0E06 ; [.248D.0020.0002.0E06][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
-0E43 0E06 ; [.248D.0020.0002.0E06][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
-0E44 0E06 ; [.248D.0020.0002.0E06][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
-0E07 ; [.248E.0020.0002.0E07] # THAI CHARACTER NGO NGU
-0E40 0E07 ; [.248E.0020.0002.0E07][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
-0E41 0E07 ; [.248E.0020.0002.0E07][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
-0E42 0E07 ; [.248E.0020.0002.0E07][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
-0E43 0E07 ; [.248E.0020.0002.0E07][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
-0E44 0E07 ; [.248E.0020.0002.0E07][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
-0E08 ; [.248F.0020.0002.0E08] # THAI CHARACTER CHO CHAN
-0E40 0E08 ; [.248F.0020.0002.0E08][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
-0E41 0E08 ; [.248F.0020.0002.0E08][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
-0E42 0E08 ; [.248F.0020.0002.0E08][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
-0E43 0E08 ; [.248F.0020.0002.0E08][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
-0E44 0E08 ; [.248F.0020.0002.0E08][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
-0E09 ; [.2490.0020.0002.0E09] # THAI CHARACTER CHO CHING
-0E40 0E09 ; [.2490.0020.0002.0E09][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
-0E41 0E09 ; [.2490.0020.0002.0E09][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
-0E42 0E09 ; [.2490.0020.0002.0E09][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
-0E43 0E09 ; [.2490.0020.0002.0E09][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
-0E44 0E09 ; [.2490.0020.0002.0E09][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
-0E0A ; [.2491.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
-0E40 0E0A ; [.2491.0020.0002.0E0A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
-0E41 0E0A ; [.2491.0020.0002.0E0A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
-0E42 0E0A ; [.2491.0020.0002.0E0A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
-0E43 0E0A ; [.2491.0020.0002.0E0A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
-0E44 0E0A ; [.2491.0020.0002.0E0A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
-0E0B ; [.2492.0020.0002.0E0B] # THAI CHARACTER SO SO
-0E40 0E0B ; [.2492.0020.0002.0E0B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
-0E41 0E0B ; [.2492.0020.0002.0E0B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
-0E42 0E0B ; [.2492.0020.0002.0E0B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
-0E43 0E0B ; [.2492.0020.0002.0E0B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
-0E44 0E0B ; [.2492.0020.0002.0E0B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
-0E0C ; [.2493.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
-0E40 0E0C ; [.2493.0020.0002.0E0C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
-0E41 0E0C ; [.2493.0020.0002.0E0C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
-0E42 0E0C ; [.2493.0020.0002.0E0C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
-0E43 0E0C ; [.2493.0020.0002.0E0C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
-0E44 0E0C ; [.2493.0020.0002.0E0C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
-0E0D ; [.2494.0020.0002.0E0D] # THAI CHARACTER YO YING
-0E40 0E0D ; [.2494.0020.0002.0E0D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
-0E41 0E0D ; [.2494.0020.0002.0E0D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
-0E42 0E0D ; [.2494.0020.0002.0E0D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
-0E43 0E0D ; [.2494.0020.0002.0E0D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
-0E44 0E0D ; [.2494.0020.0002.0E0D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
-0E0E ; [.2495.0020.0002.0E0E] # THAI CHARACTER DO CHADA
-0E40 0E0E ; [.2495.0020.0002.0E0E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
-0E41 0E0E ; [.2495.0020.0002.0E0E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
-0E42 0E0E ; [.2495.0020.0002.0E0E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
-0E43 0E0E ; [.2495.0020.0002.0E0E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
-0E44 0E0E ; [.2495.0020.0002.0E0E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
-0E0F ; [.2496.0020.0002.0E0F] # THAI CHARACTER TO PATAK
-0E40 0E0F ; [.2496.0020.0002.0E0F][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
-0E41 0E0F ; [.2496.0020.0002.0E0F][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
-0E42 0E0F ; [.2496.0020.0002.0E0F][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
-0E43 0E0F ; [.2496.0020.0002.0E0F][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
-0E44 0E0F ; [.2496.0020.0002.0E0F][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
-0E10 ; [.2497.0020.0002.0E10] # THAI CHARACTER THO THAN
-0E40 0E10 ; [.2497.0020.0002.0E10][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
-0E41 0E10 ; [.2497.0020.0002.0E10][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
-0E42 0E10 ; [.2497.0020.0002.0E10][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
-0E43 0E10 ; [.2497.0020.0002.0E10][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
-0E44 0E10 ; [.2497.0020.0002.0E10][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
-0E11 ; [.2498.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
-0E40 0E11 ; [.2498.0020.0002.0E11][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
-0E41 0E11 ; [.2498.0020.0002.0E11][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
-0E42 0E11 ; [.2498.0020.0002.0E11][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
-0E43 0E11 ; [.2498.0020.0002.0E11][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
-0E44 0E11 ; [.2498.0020.0002.0E11][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
-0E12 ; [.2499.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
-0E40 0E12 ; [.2499.0020.0002.0E12][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
-0E41 0E12 ; [.2499.0020.0002.0E12][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
-0E42 0E12 ; [.2499.0020.0002.0E12][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
-0E43 0E12 ; [.2499.0020.0002.0E12][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
-0E44 0E12 ; [.2499.0020.0002.0E12][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
-0E13 ; [.249A.0020.0002.0E13] # THAI CHARACTER NO NEN
-0E40 0E13 ; [.249A.0020.0002.0E13][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
-0E41 0E13 ; [.249A.0020.0002.0E13][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
-0E42 0E13 ; [.249A.0020.0002.0E13][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
-0E43 0E13 ; [.249A.0020.0002.0E13][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
-0E44 0E13 ; [.249A.0020.0002.0E13][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
-0E14 ; [.249B.0020.0002.0E14] # THAI CHARACTER DO DEK
-0E40 0E14 ; [.249B.0020.0002.0E14][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
-0E41 0E14 ; [.249B.0020.0002.0E14][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
-0E42 0E14 ; [.249B.0020.0002.0E14][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
-0E43 0E14 ; [.249B.0020.0002.0E14][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
-0E44 0E14 ; [.249B.0020.0002.0E14][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
-0E15 ; [.249C.0020.0002.0E15] # THAI CHARACTER TO TAO
-0E40 0E15 ; [.249C.0020.0002.0E15][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
-0E41 0E15 ; [.249C.0020.0002.0E15][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
-0E42 0E15 ; [.249C.0020.0002.0E15][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
-0E43 0E15 ; [.249C.0020.0002.0E15][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
-0E44 0E15 ; [.249C.0020.0002.0E15][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
-0E16 ; [.249D.0020.0002.0E16] # THAI CHARACTER THO THUNG
-0E40 0E16 ; [.249D.0020.0002.0E16][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
-0E41 0E16 ; [.249D.0020.0002.0E16][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
-0E42 0E16 ; [.249D.0020.0002.0E16][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
-0E43 0E16 ; [.249D.0020.0002.0E16][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
-0E44 0E16 ; [.249D.0020.0002.0E16][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
-0E17 ; [.249E.0020.0002.0E17] # THAI CHARACTER THO THAHAN
-0E40 0E17 ; [.249E.0020.0002.0E17][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
-0E41 0E17 ; [.249E.0020.0002.0E17][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
-0E42 0E17 ; [.249E.0020.0002.0E17][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
-0E43 0E17 ; [.249E.0020.0002.0E17][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
-0E44 0E17 ; [.249E.0020.0002.0E17][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
-0E18 ; [.249F.0020.0002.0E18] # THAI CHARACTER THO THONG
-0E40 0E18 ; [.249F.0020.0002.0E18][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
-0E41 0E18 ; [.249F.0020.0002.0E18][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
-0E42 0E18 ; [.249F.0020.0002.0E18][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
-0E43 0E18 ; [.249F.0020.0002.0E18][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
-0E44 0E18 ; [.249F.0020.0002.0E18][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
-0E19 ; [.24A0.0020.0002.0E19] # THAI CHARACTER NO NU
-0E40 0E19 ; [.24A0.0020.0002.0E19][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
-0E41 0E19 ; [.24A0.0020.0002.0E19][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
-0E42 0E19 ; [.24A0.0020.0002.0E19][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
-0E43 0E19 ; [.24A0.0020.0002.0E19][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
-0E44 0E19 ; [.24A0.0020.0002.0E19][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
-0E1A ; [.24A1.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
-0E40 0E1A ; [.24A1.0020.0002.0E1A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
-0E41 0E1A ; [.24A1.0020.0002.0E1A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
-0E42 0E1A ; [.24A1.0020.0002.0E1A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
-0E43 0E1A ; [.24A1.0020.0002.0E1A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
-0E44 0E1A ; [.24A1.0020.0002.0E1A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
-0E1B ; [.24A2.0020.0002.0E1B] # THAI CHARACTER PO PLA
-0E40 0E1B ; [.24A2.0020.0002.0E1B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
-0E41 0E1B ; [.24A2.0020.0002.0E1B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
-0E42 0E1B ; [.24A2.0020.0002.0E1B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
-0E43 0E1B ; [.24A2.0020.0002.0E1B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
-0E44 0E1B ; [.24A2.0020.0002.0E1B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
-0E1C ; [.24A3.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
-0E40 0E1C ; [.24A3.0020.0002.0E1C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
-0E41 0E1C ; [.24A3.0020.0002.0E1C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
-0E42 0E1C ; [.24A3.0020.0002.0E1C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
-0E43 0E1C ; [.24A3.0020.0002.0E1C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
-0E44 0E1C ; [.24A3.0020.0002.0E1C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
-0E1D ; [.24A4.0020.0002.0E1D] # THAI CHARACTER FO FA
-0E40 0E1D ; [.24A4.0020.0002.0E1D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
-0E41 0E1D ; [.24A4.0020.0002.0E1D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
-0E42 0E1D ; [.24A4.0020.0002.0E1D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
-0E43 0E1D ; [.24A4.0020.0002.0E1D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
-0E44 0E1D ; [.24A4.0020.0002.0E1D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
-0E1E ; [.24A5.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
-0E40 0E1E ; [.24A5.0020.0002.0E1E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
-0E41 0E1E ; [.24A5.0020.0002.0E1E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
-0E42 0E1E ; [.24A5.0020.0002.0E1E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
-0E43 0E1E ; [.24A5.0020.0002.0E1E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
-0E44 0E1E ; [.24A5.0020.0002.0E1E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
-0E1F ; [.24A6.0020.0002.0E1F] # THAI CHARACTER FO FAN
-0E40 0E1F ; [.24A6.0020.0002.0E1F][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
-0E41 0E1F ; [.24A6.0020.0002.0E1F][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
-0E42 0E1F ; [.24A6.0020.0002.0E1F][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
-0E43 0E1F ; [.24A6.0020.0002.0E1F][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
-0E44 0E1F ; [.24A6.0020.0002.0E1F][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
-0E20 ; [.24A7.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
-0E40 0E20 ; [.24A7.0020.0002.0E20][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
-0E41 0E20 ; [.24A7.0020.0002.0E20][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
-0E42 0E20 ; [.24A7.0020.0002.0E20][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
-0E43 0E20 ; [.24A7.0020.0002.0E20][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
-0E44 0E20 ; [.24A7.0020.0002.0E20][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
-0E21 ; [.24A8.0020.0002.0E21] # THAI CHARACTER MO MA
-0E40 0E21 ; [.24A8.0020.0002.0E21][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
-0E41 0E21 ; [.24A8.0020.0002.0E21][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
-0E42 0E21 ; [.24A8.0020.0002.0E21][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
-0E43 0E21 ; [.24A8.0020.0002.0E21][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
-0E44 0E21 ; [.24A8.0020.0002.0E21][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
-0E22 ; [.24A9.0020.0002.0E22] # THAI CHARACTER YO YAK
-0E40 0E22 ; [.24A9.0020.0002.0E22][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
-0E41 0E22 ; [.24A9.0020.0002.0E22][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
-0E42 0E22 ; [.24A9.0020.0002.0E22][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
-0E43 0E22 ; [.24A9.0020.0002.0E22][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
-0E44 0E22 ; [.24A9.0020.0002.0E22][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
-0E23 ; [.24AA.0020.0002.0E23] # THAI CHARACTER RO RUA
-0E40 0E23 ; [.24AA.0020.0002.0E23][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
-0E41 0E23 ; [.24AA.0020.0002.0E23][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
-0E42 0E23 ; [.24AA.0020.0002.0E23][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
-0E43 0E23 ; [.24AA.0020.0002.0E23][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
-0E44 0E23 ; [.24AA.0020.0002.0E23][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
-0E24 ; [.24AB.0020.0002.0E24] # THAI CHARACTER RU
-0E40 0E24 ; [.24AB.0020.0002.0E24][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
-0E41 0E24 ; [.24AB.0020.0002.0E24][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
-0E42 0E24 ; [.24AB.0020.0002.0E24][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
-0E43 0E24 ; [.24AB.0020.0002.0E24][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
-0E44 0E24 ; [.24AB.0020.0002.0E24][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
-0E25 ; [.24AC.0020.0002.0E25] # THAI CHARACTER LO LING
-0E40 0E25 ; [.24AC.0020.0002.0E25][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
-0E41 0E25 ; [.24AC.0020.0002.0E25][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
-0E42 0E25 ; [.24AC.0020.0002.0E25][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
-0E43 0E25 ; [.24AC.0020.0002.0E25][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
-0E44 0E25 ; [.24AC.0020.0002.0E25][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
-0E26 ; [.24AD.0020.0002.0E26] # THAI CHARACTER LU
-0E40 0E26 ; [.24AD.0020.0002.0E26][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
-0E41 0E26 ; [.24AD.0020.0002.0E26][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
-0E42 0E26 ; [.24AD.0020.0002.0E26][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
-0E43 0E26 ; [.24AD.0020.0002.0E26][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
-0E44 0E26 ; [.24AD.0020.0002.0E26][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
-0E27 ; [.24AE.0020.0002.0E27] # THAI CHARACTER WO WAEN
-0E40 0E27 ; [.24AE.0020.0002.0E27][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
-0E41 0E27 ; [.24AE.0020.0002.0E27][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
-0E42 0E27 ; [.24AE.0020.0002.0E27][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
-0E43 0E27 ; [.24AE.0020.0002.0E27][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
-0E44 0E27 ; [.24AE.0020.0002.0E27][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
-0E28 ; [.24AF.0020.0002.0E28] # THAI CHARACTER SO SALA
-0E40 0E28 ; [.24AF.0020.0002.0E28][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
-0E41 0E28 ; [.24AF.0020.0002.0E28][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
-0E42 0E28 ; [.24AF.0020.0002.0E28][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
-0E43 0E28 ; [.24AF.0020.0002.0E28][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
-0E44 0E28 ; [.24AF.0020.0002.0E28][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
-0E29 ; [.24B0.0020.0002.0E29] # THAI CHARACTER SO RUSI
-0E40 0E29 ; [.24B0.0020.0002.0E29][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
-0E41 0E29 ; [.24B0.0020.0002.0E29][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
-0E42 0E29 ; [.24B0.0020.0002.0E29][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
-0E43 0E29 ; [.24B0.0020.0002.0E29][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
-0E44 0E29 ; [.24B0.0020.0002.0E29][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
-0E2A ; [.24B1.0020.0002.0E2A] # THAI CHARACTER SO SUA
-0E40 0E2A ; [.24B1.0020.0002.0E2A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
-0E41 0E2A ; [.24B1.0020.0002.0E2A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
-0E42 0E2A ; [.24B1.0020.0002.0E2A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
-0E43 0E2A ; [.24B1.0020.0002.0E2A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
-0E44 0E2A ; [.24B1.0020.0002.0E2A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
-0E2B ; [.24B2.0020.0002.0E2B] # THAI CHARACTER HO HIP
-0E40 0E2B ; [.24B2.0020.0002.0E2B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
-0E41 0E2B ; [.24B2.0020.0002.0E2B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
-0E42 0E2B ; [.24B2.0020.0002.0E2B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
-0E43 0E2B ; [.24B2.0020.0002.0E2B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
-0E44 0E2B ; [.24B2.0020.0002.0E2B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
-0E2C ; [.24B3.0020.0002.0E2C] # THAI CHARACTER LO CHULA
-0E40 0E2C ; [.24B3.0020.0002.0E2C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
-0E41 0E2C ; [.24B3.0020.0002.0E2C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
-0E42 0E2C ; [.24B3.0020.0002.0E2C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
-0E43 0E2C ; [.24B3.0020.0002.0E2C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
-0E44 0E2C ; [.24B3.0020.0002.0E2C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
-0E2D ; [.24B4.0020.0002.0E2D] # THAI CHARACTER O ANG
-0E40 0E2D ; [.24B4.0020.0002.0E2D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
-0E41 0E2D ; [.24B4.0020.0002.0E2D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
-0E42 0E2D ; [.24B4.0020.0002.0E2D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
-0E43 0E2D ; [.24B4.0020.0002.0E2D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
-0E44 0E2D ; [.24B4.0020.0002.0E2D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
-0E2E ; [.24B5.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
-0E40 0E2E ; [.24B5.0020.0002.0E2E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
-0E41 0E2E ; [.24B5.0020.0002.0E2E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
-0E42 0E2E ; [.24B5.0020.0002.0E2E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
-0E43 0E2E ; [.24B5.0020.0002.0E2E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
-0E44 0E2E ; [.24B5.0020.0002.0E2E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
-0E2F ; [.24B6.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
-0E30 ; [.24B7.0020.0002.0E30] # THAI CHARACTER SARA A
-0E31 ; [.24B8.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
-0E32 ; [.24B9.0020.0002.0E32] # THAI CHARACTER SARA AA
-0E33 ; [.24BA.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E4D 0E32 ; [.24BA.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E34 ; [.24BB.0020.0002.0E34] # THAI CHARACTER SARA I
-0E35 ; [.24BC.0020.0002.0E35] # THAI CHARACTER SARA II
-0E36 ; [.24BD.0020.0002.0E36] # THAI CHARACTER SARA UE
-0E37 ; [.24BE.0020.0002.0E37] # THAI CHARACTER SARA UEE
-0E38 ; [.24BF.0020.0002.0E38] # THAI CHARACTER SARA U
-0E39 ; [.24C0.0020.0002.0E39] # THAI CHARACTER SARA UU
-0E3A ; [.24C1.0020.0002.0E3A] # THAI CHARACTER PHINTHU
-0E40 ; [.24C2.0020.0002.0E40] # THAI CHARACTER SARA E
-0E41 ; [.24C3.0020.0002.0E41] # THAI CHARACTER SARA AE
-0E42 ; [.24C4.0020.0002.0E42] # THAI CHARACTER SARA O
-0E43 ; [.24C5.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
-0E44 ; [.24C6.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
-0E45 ; [.24C7.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
-0EDE ; [.24C8.0020.0002.0EDE] # LAO LETTER KHMU GO
-0EC0 0EDE ; [.24C8.0020.0002.0EDE][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHMU GO>
-0EC1 0EDE ; [.24C8.0020.0002.0EDE][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHMU GO>
-0EC2 0EDE ; [.24C8.0020.0002.0EDE][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHMU GO>
-0EC3 0EDE ; [.24C8.0020.0002.0EDE][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHMU GO>
-0EC4 0EDE ; [.24C8.0020.0002.0EDE][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHMU GO>
-0E81 ; [.24C9.0020.0002.0E81] # LAO LETTER KO
-0EC0 0E81 ; [.24C9.0020.0002.0E81][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
-0EC1 0E81 ; [.24C9.0020.0002.0E81][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
-0EC2 0E81 ; [.24C9.0020.0002.0E81][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
-0EC3 0E81 ; [.24C9.0020.0002.0E81][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
-0EC4 0E81 ; [.24C9.0020.0002.0E81][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
-0E82 ; [.24CA.0020.0002.0E82] # LAO LETTER KHO SUNG
-0EC0 0E82 ; [.24CA.0020.0002.0E82][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
-0EC1 0E82 ; [.24CA.0020.0002.0E82][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
-0EC2 0E82 ; [.24CA.0020.0002.0E82][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
-0EC3 0E82 ; [.24CA.0020.0002.0E82][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
-0EC4 0E82 ; [.24CA.0020.0002.0E82][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
-0E84 ; [.24CB.0020.0002.0E84] # LAO LETTER KHO TAM
-0EC0 0E84 ; [.24CB.0020.0002.0E84][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
-0EC1 0E84 ; [.24CB.0020.0002.0E84][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
-0EC2 0E84 ; [.24CB.0020.0002.0E84][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
-0EC3 0E84 ; [.24CB.0020.0002.0E84][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
-0EC4 0E84 ; [.24CB.0020.0002.0E84][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
-0E87 ; [.24CC.0020.0002.0E87] # LAO LETTER NGO
-0EC0 0E87 ; [.24CC.0020.0002.0E87][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
-0EC1 0E87 ; [.24CC.0020.0002.0E87][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
-0EC2 0E87 ; [.24CC.0020.0002.0E87][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
-0EC3 0E87 ; [.24CC.0020.0002.0E87][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
-0EC4 0E87 ; [.24CC.0020.0002.0E87][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
-0E88 ; [.24CD.0020.0002.0E88] # LAO LETTER CO
-0EC0 0E88 ; [.24CD.0020.0002.0E88][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
-0EC1 0E88 ; [.24CD.0020.0002.0E88][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
-0EC2 0E88 ; [.24CD.0020.0002.0E88][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
-0EC3 0E88 ; [.24CD.0020.0002.0E88][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
-0EC4 0E88 ; [.24CD.0020.0002.0E88][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
-0EAA ; [.24CE.0020.0002.0EAA] # LAO LETTER SO SUNG
-0EC0 0EAA ; [.24CE.0020.0002.0EAA][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
-0EC1 0EAA ; [.24CE.0020.0002.0EAA][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
-0EC2 0EAA ; [.24CE.0020.0002.0EAA][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
-0EC3 0EAA ; [.24CE.0020.0002.0EAA][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
-0EC4 0EAA ; [.24CE.0020.0002.0EAA][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
-0E8A ; [.24CF.0020.0002.0E8A] # LAO LETTER SO TAM
-0EC0 0E8A ; [.24CF.0020.0002.0E8A][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
-0EC1 0E8A ; [.24CF.0020.0002.0E8A][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
-0EC2 0E8A ; [.24CF.0020.0002.0E8A][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
-0EC3 0E8A ; [.24CF.0020.0002.0E8A][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
-0EC4 0E8A ; [.24CF.0020.0002.0E8A][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
-0EDF ; [.24D0.0020.0002.0EDF] # LAO LETTER KHMU NYO
-0EC0 0EDF ; [.24D0.0020.0002.0EDF][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHMU NYO>
-0EC1 0EDF ; [.24D0.0020.0002.0EDF][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHMU NYO>
-0EC2 0EDF ; [.24D0.0020.0002.0EDF][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHMU NYO>
-0EC3 0EDF ; [.24D0.0020.0002.0EDF][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHMU NYO>
-0EC4 0EDF ; [.24D0.0020.0002.0EDF][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHMU NYO>
-0E8D ; [.24D1.0020.0002.0E8D] # LAO LETTER NYO
-0EC0 0E8D ; [.24D1.0020.0002.0E8D][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
-0EC1 0E8D ; [.24D1.0020.0002.0E8D][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
-0EC2 0E8D ; [.24D1.0020.0002.0E8D][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
-0EC3 0E8D ; [.24D1.0020.0002.0E8D][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
-0EC4 0E8D ; [.24D1.0020.0002.0E8D][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
-0E94 ; [.24D2.0020.0002.0E94] # LAO LETTER DO
-0EC0 0E94 ; [.24D2.0020.0002.0E94][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
-0EC1 0E94 ; [.24D2.0020.0002.0E94][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
-0EC2 0E94 ; [.24D2.0020.0002.0E94][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
-0EC3 0E94 ; [.24D2.0020.0002.0E94][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
-0EC4 0E94 ; [.24D2.0020.0002.0E94][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
-0E95 ; [.24D3.0020.0002.0E95] # LAO LETTER TO
-0EC0 0E95 ; [.24D3.0020.0002.0E95][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
-0EC1 0E95 ; [.24D3.0020.0002.0E95][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
-0EC2 0E95 ; [.24D3.0020.0002.0E95][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
-0EC3 0E95 ; [.24D3.0020.0002.0E95][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
-0EC4 0E95 ; [.24D3.0020.0002.0E95][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
-0E96 ; [.24D4.0020.0002.0E96] # LAO LETTER THO SUNG
-0EC0 0E96 ; [.24D4.0020.0002.0E96][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
-0EC1 0E96 ; [.24D4.0020.0002.0E96][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
-0EC2 0E96 ; [.24D4.0020.0002.0E96][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
-0EC3 0E96 ; [.24D4.0020.0002.0E96][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
-0EC4 0E96 ; [.24D4.0020.0002.0E96][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
-0E97 ; [.24D5.0020.0002.0E97] # LAO LETTER THO TAM
-0EC0 0E97 ; [.24D5.0020.0002.0E97][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
-0EC1 0E97 ; [.24D5.0020.0002.0E97][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
-0EC2 0E97 ; [.24D5.0020.0002.0E97][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
-0EC3 0E97 ; [.24D5.0020.0002.0E97][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
-0EC4 0E97 ; [.24D5.0020.0002.0E97][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
-0E99 ; [.24D6.0020.0002.0E99] # LAO LETTER NO
-0EC0 0E99 ; [.24D6.0020.0002.0E99][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
-0EC1 0E99 ; [.24D6.0020.0002.0E99][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
-0EC2 0E99 ; [.24D6.0020.0002.0E99][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
-0EC3 0E99 ; [.24D6.0020.0002.0E99][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
-0EC4 0E99 ; [.24D6.0020.0002.0E99][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
-0E9A ; [.24D7.0020.0002.0E9A] # LAO LETTER BO
-0EC0 0E9A ; [.24D7.0020.0002.0E9A][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
-0EC1 0E9A ; [.24D7.0020.0002.0E9A][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
-0EC2 0E9A ; [.24D7.0020.0002.0E9A][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
-0EC3 0E9A ; [.24D7.0020.0002.0E9A][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
-0EC4 0E9A ; [.24D7.0020.0002.0E9A][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
-0E9B ; [.24D8.0020.0002.0E9B] # LAO LETTER PO
-0EC0 0E9B ; [.24D8.0020.0002.0E9B][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
-0EC1 0E9B ; [.24D8.0020.0002.0E9B][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
-0EC2 0E9B ; [.24D8.0020.0002.0E9B][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
-0EC3 0E9B ; [.24D8.0020.0002.0E9B][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
-0EC4 0E9B ; [.24D8.0020.0002.0E9B][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
-0E9C ; [.24D9.0020.0002.0E9C] # LAO LETTER PHO SUNG
-0EC0 0E9C ; [.24D9.0020.0002.0E9C][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
-0EC1 0E9C ; [.24D9.0020.0002.0E9C][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
-0EC2 0E9C ; [.24D9.0020.0002.0E9C][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
-0EC3 0E9C ; [.24D9.0020.0002.0E9C][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
-0EC4 0E9C ; [.24D9.0020.0002.0E9C][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
-0E9D ; [.24DA.0020.0002.0E9D] # LAO LETTER FO TAM
-0EC0 0E9D ; [.24DA.0020.0002.0E9D][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
-0EC1 0E9D ; [.24DA.0020.0002.0E9D][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
-0EC2 0E9D ; [.24DA.0020.0002.0E9D][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
-0EC3 0E9D ; [.24DA.0020.0002.0E9D][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
-0EC4 0E9D ; [.24DA.0020.0002.0E9D][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
-0E9E ; [.24DB.0020.0002.0E9E] # LAO LETTER PHO TAM
-0EC0 0E9E ; [.24DB.0020.0002.0E9E][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
-0EC1 0E9E ; [.24DB.0020.0002.0E9E][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
-0EC2 0E9E ; [.24DB.0020.0002.0E9E][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
-0EC3 0E9E ; [.24DB.0020.0002.0E9E][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
-0EC4 0E9E ; [.24DB.0020.0002.0E9E][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
-0E9F ; [.24DC.0020.0002.0E9F] # LAO LETTER FO SUNG
-0EC0 0E9F ; [.24DC.0020.0002.0E9F][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
-0EC1 0E9F ; [.24DC.0020.0002.0E9F][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
-0EC2 0E9F ; [.24DC.0020.0002.0E9F][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
-0EC3 0E9F ; [.24DC.0020.0002.0E9F][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
-0EC4 0E9F ; [.24DC.0020.0002.0E9F][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
-0EA1 ; [.24DD.0020.0002.0EA1] # LAO LETTER MO
-0EC0 0EA1 ; [.24DD.0020.0002.0EA1][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
-0EC1 0EA1 ; [.24DD.0020.0002.0EA1][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
-0EC2 0EA1 ; [.24DD.0020.0002.0EA1][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
-0EC3 0EA1 ; [.24DD.0020.0002.0EA1][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
-0EC4 0EA1 ; [.24DD.0020.0002.0EA1][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
-0EA2 ; [.24DE.0020.0002.0EA2] # LAO LETTER YO
-0EC0 0EA2 ; [.24DE.0020.0002.0EA2][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
-0EC1 0EA2 ; [.24DE.0020.0002.0EA2][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
-0EC2 0EA2 ; [.24DE.0020.0002.0EA2][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
-0EC3 0EA2 ; [.24DE.0020.0002.0EA2][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
-0EC4 0EA2 ; [.24DE.0020.0002.0EA2][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
-0EA3 ; [.24DF.0020.0002.0EA3] # LAO LETTER LO LING
-0EC0 0EA3 ; [.24DF.0020.0002.0EA3][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
-0EC1 0EA3 ; [.24DF.0020.0002.0EA3][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
-0EC2 0EA3 ; [.24DF.0020.0002.0EA3][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
-0EC3 0EA3 ; [.24DF.0020.0002.0EA3][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
-0EC4 0EA3 ; [.24DF.0020.0002.0EA3][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
-0EA5 ; [.24E0.0020.0002.0EA5] # LAO LETTER LO LOOT
-0EC0 0EA5 ; [.24E0.0020.0002.0EA5][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
-0EC1 0EA5 ; [.24E0.0020.0002.0EA5][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
-0EC2 0EA5 ; [.24E0.0020.0002.0EA5][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
-0EC3 0EA5 ; [.24E0.0020.0002.0EA5][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
-0EC4 0EA5 ; [.24E0.0020.0002.0EA5][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
-0EA7 ; [.24E1.0020.0002.0EA7] # LAO LETTER WO
-0EC0 0EA7 ; [.24E1.0020.0002.0EA7][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
-0EC1 0EA7 ; [.24E1.0020.0002.0EA7][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
-0EC2 0EA7 ; [.24E1.0020.0002.0EA7][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
-0EC3 0EA7 ; [.24E1.0020.0002.0EA7][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
-0EC4 0EA7 ; [.24E1.0020.0002.0EA7][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
-0EAB ; [.24E2.0020.0002.0EAB] # LAO LETTER HO SUNG
-0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC] # LAO HO NO
-0EC0 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
-0EC1 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
-0EC2 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
-0EC3 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
-0EC4 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
-0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD] # LAO HO MO
-0EC0 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
-0EC1 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
-0EC2 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
-0EC3 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
-0EC4 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
-0EC0 0EAB ; [.24E2.0020.0002.0EAB][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
-0EC1 0EAB ; [.24E2.0020.0002.0EAB][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
-0EC2 0EAB ; [.24E2.0020.0002.0EAB][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
-0EC3 0EAB ; [.24E2.0020.0002.0EAB][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
-0EC4 0EAB ; [.24E2.0020.0002.0EAB][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
-0EAD ; [.24E3.0020.0002.0EAD] # LAO LETTER O
-0EC0 0EAD ; [.24E3.0020.0002.0EAD][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
-0EC1 0EAD ; [.24E3.0020.0002.0EAD][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
-0EC2 0EAD ; [.24E3.0020.0002.0EAD][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
-0EC3 0EAD ; [.24E3.0020.0002.0EAD][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
-0EC4 0EAD ; [.24E3.0020.0002.0EAD][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
-0EAE ; [.24E4.0020.0002.0EAE] # LAO LETTER HO TAM
-0EC0 0EAE ; [.24E4.0020.0002.0EAE][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
-0EC1 0EAE ; [.24E4.0020.0002.0EAE][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
-0EC2 0EAE ; [.24E4.0020.0002.0EAE][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
-0EC3 0EAE ; [.24E4.0020.0002.0EAE][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
-0EC4 0EAE ; [.24E4.0020.0002.0EAE][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
-0EAF ; [.24E5.0020.0002.0EAF] # LAO ELLIPSIS
-0EB0 ; [.24E6.0020.0002.0EB0] # LAO VOWEL SIGN A
-0EB1 ; [.24E7.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
-0EB2 ; [.24E8.0020.0002.0EB2] # LAO VOWEL SIGN AA
-0EB3 ; [.24E9.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0ECD 0EB2 ; [.24E9.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0EB4 ; [.24EA.0020.0002.0EB4] # LAO VOWEL SIGN I
-0EB5 ; [.24EB.0020.0002.0EB5] # LAO VOWEL SIGN II
-0EB6 ; [.24EC.0020.0002.0EB6] # LAO VOWEL SIGN Y
-0EB7 ; [.24ED.0020.0002.0EB7] # LAO VOWEL SIGN YY
-0EB8 ; [.24EE.0020.0002.0EB8] # LAO VOWEL SIGN U
-0EB9 ; [.24EF.0020.0002.0EB9] # LAO VOWEL SIGN UU
-0EBB ; [.24F0.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
-0EBC ; [.24F1.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
-0EBD ; [.24F2.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
-0EC0 ; [.24F3.0020.0002.0EC0] # LAO VOWEL SIGN E
-0EC1 ; [.24F4.0020.0002.0EC1] # LAO VOWEL SIGN EI
-0EC2 ; [.24F5.0020.0002.0EC2] # LAO VOWEL SIGN O
-0EC3 ; [.24F6.0020.0002.0EC3] # LAO VOWEL SIGN AY
-0EC4 ; [.24F7.0020.0002.0EC4] # LAO VOWEL SIGN AI
-AA80 ; [.24F8.0020.0002.AA80] # TAI VIET LETTER LOW KO
-AAB5 AA80 ; [.24F8.0020.0002.AA80][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
-AAB6 AA80 ; [.24F8.0020.0002.AA80][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
-AAB9 AA80 ; [.24F8.0020.0002.AA80][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
-AABB AA80 ; [.24F8.0020.0002.AA80][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
-AABC AA80 ; [.24F8.0020.0002.AA80][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
-AA81 ; [.24F9.0020.0002.AA81] # TAI VIET LETTER HIGH KO
-AAB5 AA81 ; [.24F9.0020.0002.AA81][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
-AAB6 AA81 ; [.24F9.0020.0002.AA81][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
-AAB9 AA81 ; [.24F9.0020.0002.AA81][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
-AABB AA81 ; [.24F9.0020.0002.AA81][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
-AABC AA81 ; [.24F9.0020.0002.AA81][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
-AA82 ; [.24FA.0020.0002.AA82] # TAI VIET LETTER LOW KHO
-AAB5 AA82 ; [.24FA.0020.0002.AA82][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
-AAB6 AA82 ; [.24FA.0020.0002.AA82][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
-AAB9 AA82 ; [.24FA.0020.0002.AA82][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
-AABB AA82 ; [.24FA.0020.0002.AA82][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
-AABC AA82 ; [.24FA.0020.0002.AA82][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
-AA83 ; [.24FB.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
-AAB5 AA83 ; [.24FB.0020.0002.AA83][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
-AAB6 AA83 ; [.24FB.0020.0002.AA83][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
-AAB9 AA83 ; [.24FB.0020.0002.AA83][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
-AABB AA83 ; [.24FB.0020.0002.AA83][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
-AABC AA83 ; [.24FB.0020.0002.AA83][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
-AA84 ; [.24FC.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
-AAB5 AA84 ; [.24FC.0020.0002.AA84][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
-AAB6 AA84 ; [.24FC.0020.0002.AA84][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
-AAB9 AA84 ; [.24FC.0020.0002.AA84][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
-AABB AA84 ; [.24FC.0020.0002.AA84][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
-AABC AA84 ; [.24FC.0020.0002.AA84][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
-AA85 ; [.24FD.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
-AAB5 AA85 ; [.24FD.0020.0002.AA85][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
-AAB6 AA85 ; [.24FD.0020.0002.AA85][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
-AAB9 AA85 ; [.24FD.0020.0002.AA85][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
-AABB AA85 ; [.24FD.0020.0002.AA85][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
-AABC AA85 ; [.24FD.0020.0002.AA85][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
-AA86 ; [.24FE.0020.0002.AA86] # TAI VIET LETTER LOW GO
-AAB5 AA86 ; [.24FE.0020.0002.AA86][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
-AAB6 AA86 ; [.24FE.0020.0002.AA86][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
-AAB9 AA86 ; [.24FE.0020.0002.AA86][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
-AABB AA86 ; [.24FE.0020.0002.AA86][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
-AABC AA86 ; [.24FE.0020.0002.AA86][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
-AA87 ; [.24FF.0020.0002.AA87] # TAI VIET LETTER HIGH GO
-AAB5 AA87 ; [.24FF.0020.0002.AA87][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
-AAB6 AA87 ; [.24FF.0020.0002.AA87][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
-AAB9 AA87 ; [.24FF.0020.0002.AA87][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
-AABB AA87 ; [.24FF.0020.0002.AA87][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
-AABC AA87 ; [.24FF.0020.0002.AA87][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
-AA88 ; [.2500.0020.0002.AA88] # TAI VIET LETTER LOW NGO
-AAB5 AA88 ; [.2500.0020.0002.AA88][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
-AAB6 AA88 ; [.2500.0020.0002.AA88][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
-AAB9 AA88 ; [.2500.0020.0002.AA88][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
-AABB AA88 ; [.2500.0020.0002.AA88][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
-AABC AA88 ; [.2500.0020.0002.AA88][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
-AA89 ; [.2501.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
-AAB5 AA89 ; [.2501.0020.0002.AA89][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
-AAB6 AA89 ; [.2501.0020.0002.AA89][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
-AAB9 AA89 ; [.2501.0020.0002.AA89][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
-AABB AA89 ; [.2501.0020.0002.AA89][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
-AABC AA89 ; [.2501.0020.0002.AA89][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
-AA8A ; [.2502.0020.0002.AA8A] # TAI VIET LETTER LOW CO
-AAB5 AA8A ; [.2502.0020.0002.AA8A][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
-AAB6 AA8A ; [.2502.0020.0002.AA8A][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
-AAB9 AA8A ; [.2502.0020.0002.AA8A][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
-AABB AA8A ; [.2502.0020.0002.AA8A][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
-AABC AA8A ; [.2502.0020.0002.AA8A][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
-AA8B ; [.2503.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
-AAB5 AA8B ; [.2503.0020.0002.AA8B][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
-AAB6 AA8B ; [.2503.0020.0002.AA8B][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
-AAB9 AA8B ; [.2503.0020.0002.AA8B][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
-AABB AA8B ; [.2503.0020.0002.AA8B][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
-AABC AA8B ; [.2503.0020.0002.AA8B][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
-AA8C ; [.2504.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
-AAB5 AA8C ; [.2504.0020.0002.AA8C][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
-AAB6 AA8C ; [.2504.0020.0002.AA8C][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
-AAB9 AA8C ; [.2504.0020.0002.AA8C][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
-AABB AA8C ; [.2504.0020.0002.AA8C][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
-AABC AA8C ; [.2504.0020.0002.AA8C][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
-AA8D ; [.2505.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
-AAB5 AA8D ; [.2505.0020.0002.AA8D][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
-AAB6 AA8D ; [.2505.0020.0002.AA8D][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
-AAB9 AA8D ; [.2505.0020.0002.AA8D][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
-AABB AA8D ; [.2505.0020.0002.AA8D][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
-AABC AA8D ; [.2505.0020.0002.AA8D][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
-AA8E ; [.2506.0020.0002.AA8E] # TAI VIET LETTER LOW SO
-AAB5 AA8E ; [.2506.0020.0002.AA8E][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
-AAB6 AA8E ; [.2506.0020.0002.AA8E][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
-AAB9 AA8E ; [.2506.0020.0002.AA8E][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
-AABB AA8E ; [.2506.0020.0002.AA8E][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
-AABC AA8E ; [.2506.0020.0002.AA8E][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
-AA8F ; [.2507.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
-AAB5 AA8F ; [.2507.0020.0002.AA8F][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
-AAB6 AA8F ; [.2507.0020.0002.AA8F][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
-AAB9 AA8F ; [.2507.0020.0002.AA8F][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
-AABB AA8F ; [.2507.0020.0002.AA8F][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
-AABC AA8F ; [.2507.0020.0002.AA8F][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
-AA90 ; [.2508.0020.0002.AA90] # TAI VIET LETTER LOW NYO
-AAB5 AA90 ; [.2508.0020.0002.AA90][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
-AAB6 AA90 ; [.2508.0020.0002.AA90][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
-AAB9 AA90 ; [.2508.0020.0002.AA90][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
-AABB AA90 ; [.2508.0020.0002.AA90][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
-AABC AA90 ; [.2508.0020.0002.AA90][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
-AA91 ; [.2509.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
-AAB5 AA91 ; [.2509.0020.0002.AA91][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
-AAB6 AA91 ; [.2509.0020.0002.AA91][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
-AAB9 AA91 ; [.2509.0020.0002.AA91][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
-AABB AA91 ; [.2509.0020.0002.AA91][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
-AABC AA91 ; [.2509.0020.0002.AA91][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
-AA92 ; [.250A.0020.0002.AA92] # TAI VIET LETTER LOW DO
-AAB5 AA92 ; [.250A.0020.0002.AA92][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
-AAB6 AA92 ; [.250A.0020.0002.AA92][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
-AAB9 AA92 ; [.250A.0020.0002.AA92][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
-AABB AA92 ; [.250A.0020.0002.AA92][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
-AABC AA92 ; [.250A.0020.0002.AA92][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
-AA93 ; [.250B.0020.0002.AA93] # TAI VIET LETTER HIGH DO
-AAB5 AA93 ; [.250B.0020.0002.AA93][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
-AAB6 AA93 ; [.250B.0020.0002.AA93][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
-AAB9 AA93 ; [.250B.0020.0002.AA93][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
-AABB AA93 ; [.250B.0020.0002.AA93][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
-AABC AA93 ; [.250B.0020.0002.AA93][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
-AA94 ; [.250C.0020.0002.AA94] # TAI VIET LETTER LOW TO
-AAB5 AA94 ; [.250C.0020.0002.AA94][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
-AAB6 AA94 ; [.250C.0020.0002.AA94][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
-AAB9 AA94 ; [.250C.0020.0002.AA94][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
-AABB AA94 ; [.250C.0020.0002.AA94][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
-AABC AA94 ; [.250C.0020.0002.AA94][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
-AA95 ; [.250D.0020.0002.AA95] # TAI VIET LETTER HIGH TO
-AAB5 AA95 ; [.250D.0020.0002.AA95][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
-AAB6 AA95 ; [.250D.0020.0002.AA95][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
-AAB9 AA95 ; [.250D.0020.0002.AA95][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
-AABB AA95 ; [.250D.0020.0002.AA95][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
-AABC AA95 ; [.250D.0020.0002.AA95][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
-AA96 ; [.250E.0020.0002.AA96] # TAI VIET LETTER LOW THO
-AAB5 AA96 ; [.250E.0020.0002.AA96][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
-AAB6 AA96 ; [.250E.0020.0002.AA96][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
-AAB9 AA96 ; [.250E.0020.0002.AA96][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
-AABB AA96 ; [.250E.0020.0002.AA96][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
-AABC AA96 ; [.250E.0020.0002.AA96][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
-AA97 ; [.250F.0020.0002.AA97] # TAI VIET LETTER HIGH THO
-AAB5 AA97 ; [.250F.0020.0002.AA97][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
-AAB6 AA97 ; [.250F.0020.0002.AA97][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
-AAB9 AA97 ; [.250F.0020.0002.AA97][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
-AABB AA97 ; [.250F.0020.0002.AA97][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
-AABC AA97 ; [.250F.0020.0002.AA97][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
-AA98 ; [.2510.0020.0002.AA98] # TAI VIET LETTER LOW NO
-AAB5 AA98 ; [.2510.0020.0002.AA98][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
-AAB6 AA98 ; [.2510.0020.0002.AA98][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
-AAB9 AA98 ; [.2510.0020.0002.AA98][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
-AABB AA98 ; [.2510.0020.0002.AA98][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
-AABC AA98 ; [.2510.0020.0002.AA98][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
-AA99 ; [.2511.0020.0002.AA99] # TAI VIET LETTER HIGH NO
-AAB5 AA99 ; [.2511.0020.0002.AA99][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
-AAB6 AA99 ; [.2511.0020.0002.AA99][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
-AAB9 AA99 ; [.2511.0020.0002.AA99][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
-AABB AA99 ; [.2511.0020.0002.AA99][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
-AABC AA99 ; [.2511.0020.0002.AA99][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
-AA9A ; [.2512.0020.0002.AA9A] # TAI VIET LETTER LOW BO
-AAB5 AA9A ; [.2512.0020.0002.AA9A][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
-AAB6 AA9A ; [.2512.0020.0002.AA9A][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
-AAB9 AA9A ; [.2512.0020.0002.AA9A][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
-AABB AA9A ; [.2512.0020.0002.AA9A][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
-AABC AA9A ; [.2512.0020.0002.AA9A][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
-AA9B ; [.2513.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
-AAB5 AA9B ; [.2513.0020.0002.AA9B][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
-AAB6 AA9B ; [.2513.0020.0002.AA9B][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
-AAB9 AA9B ; [.2513.0020.0002.AA9B][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
-AABB AA9B ; [.2513.0020.0002.AA9B][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
-AABC AA9B ; [.2513.0020.0002.AA9B][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
-AA9C ; [.2514.0020.0002.AA9C] # TAI VIET LETTER LOW PO
-AAB5 AA9C ; [.2514.0020.0002.AA9C][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
-AAB6 AA9C ; [.2514.0020.0002.AA9C][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
-AAB9 AA9C ; [.2514.0020.0002.AA9C][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
-AABB AA9C ; [.2514.0020.0002.AA9C][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
-AABC AA9C ; [.2514.0020.0002.AA9C][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
-AA9D ; [.2515.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
-AAB5 AA9D ; [.2515.0020.0002.AA9D][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
-AAB6 AA9D ; [.2515.0020.0002.AA9D][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
-AAB9 AA9D ; [.2515.0020.0002.AA9D][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
-AABB AA9D ; [.2515.0020.0002.AA9D][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
-AABC AA9D ; [.2515.0020.0002.AA9D][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
-AA9E ; [.2516.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
-AAB5 AA9E ; [.2516.0020.0002.AA9E][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
-AAB6 AA9E ; [.2516.0020.0002.AA9E][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
-AAB9 AA9E ; [.2516.0020.0002.AA9E][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
-AABB AA9E ; [.2516.0020.0002.AA9E][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
-AABC AA9E ; [.2516.0020.0002.AA9E][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
-AA9F ; [.2517.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
-AAB5 AA9F ; [.2517.0020.0002.AA9F][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
-AAB6 AA9F ; [.2517.0020.0002.AA9F][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
-AAB9 AA9F ; [.2517.0020.0002.AA9F][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
-AABB AA9F ; [.2517.0020.0002.AA9F][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
-AABC AA9F ; [.2517.0020.0002.AA9F][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
-AAA0 ; [.2518.0020.0002.AAA0] # TAI VIET LETTER LOW FO
-AAB5 AAA0 ; [.2518.0020.0002.AAA0][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
-AAB6 AAA0 ; [.2518.0020.0002.AAA0][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
-AAB9 AAA0 ; [.2518.0020.0002.AAA0][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
-AABB AAA0 ; [.2518.0020.0002.AAA0][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
-AABC AAA0 ; [.2518.0020.0002.AAA0][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
-AAA1 ; [.2519.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
-AAB5 AAA1 ; [.2519.0020.0002.AAA1][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
-AAB6 AAA1 ; [.2519.0020.0002.AAA1][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
-AAB9 AAA1 ; [.2519.0020.0002.AAA1][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
-AABB AAA1 ; [.2519.0020.0002.AAA1][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
-AABC AAA1 ; [.2519.0020.0002.AAA1][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
-AAA2 ; [.251A.0020.0002.AAA2] # TAI VIET LETTER LOW MO
-AAB5 AAA2 ; [.251A.0020.0002.AAA2][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
-AAB6 AAA2 ; [.251A.0020.0002.AAA2][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
-AAB9 AAA2 ; [.251A.0020.0002.AAA2][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
-AABB AAA2 ; [.251A.0020.0002.AAA2][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
-AABC AAA2 ; [.251A.0020.0002.AAA2][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
-AAA3 ; [.251B.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
-AAB5 AAA3 ; [.251B.0020.0002.AAA3][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
-AAB6 AAA3 ; [.251B.0020.0002.AAA3][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
-AAB9 AAA3 ; [.251B.0020.0002.AAA3][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
-AABB AAA3 ; [.251B.0020.0002.AAA3][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
-AABC AAA3 ; [.251B.0020.0002.AAA3][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
-AAA4 ; [.251C.0020.0002.AAA4] # TAI VIET LETTER LOW YO
-AAB5 AAA4 ; [.251C.0020.0002.AAA4][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
-AAB6 AAA4 ; [.251C.0020.0002.AAA4][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
-AAB9 AAA4 ; [.251C.0020.0002.AAA4][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
-AABB AAA4 ; [.251C.0020.0002.AAA4][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
-AABC AAA4 ; [.251C.0020.0002.AAA4][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
-AAA5 ; [.251D.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
-AAB5 AAA5 ; [.251D.0020.0002.AAA5][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
-AAB6 AAA5 ; [.251D.0020.0002.AAA5][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
-AAB9 AAA5 ; [.251D.0020.0002.AAA5][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
-AABB AAA5 ; [.251D.0020.0002.AAA5][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
-AABC AAA5 ; [.251D.0020.0002.AAA5][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
-AAA6 ; [.251E.0020.0002.AAA6] # TAI VIET LETTER LOW RO
-AAB5 AAA6 ; [.251E.0020.0002.AAA6][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
-AAB6 AAA6 ; [.251E.0020.0002.AAA6][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
-AAB9 AAA6 ; [.251E.0020.0002.AAA6][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
-AABB AAA6 ; [.251E.0020.0002.AAA6][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
-AABC AAA6 ; [.251E.0020.0002.AAA6][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
-AAA7 ; [.251F.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
-AAB5 AAA7 ; [.251F.0020.0002.AAA7][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
-AAB6 AAA7 ; [.251F.0020.0002.AAA7][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
-AAB9 AAA7 ; [.251F.0020.0002.AAA7][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
-AABB AAA7 ; [.251F.0020.0002.AAA7][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
-AABC AAA7 ; [.251F.0020.0002.AAA7][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
-AAA8 ; [.2520.0020.0002.AAA8] # TAI VIET LETTER LOW LO
-AAB5 AAA8 ; [.2520.0020.0002.AAA8][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
-AAB6 AAA8 ; [.2520.0020.0002.AAA8][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
-AAB9 AAA8 ; [.2520.0020.0002.AAA8][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
-AABB AAA8 ; [.2520.0020.0002.AAA8][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
-AABC AAA8 ; [.2520.0020.0002.AAA8][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
-AAA9 ; [.2521.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
-AAB5 AAA9 ; [.2521.0020.0002.AAA9][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
-AAB6 AAA9 ; [.2521.0020.0002.AAA9][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
-AAB9 AAA9 ; [.2521.0020.0002.AAA9][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
-AABB AAA9 ; [.2521.0020.0002.AAA9][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
-AABC AAA9 ; [.2521.0020.0002.AAA9][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
-AAAA ; [.2522.0020.0002.AAAA] # TAI VIET LETTER LOW VO
-AAB5 AAAA ; [.2522.0020.0002.AAAA][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
-AAB6 AAAA ; [.2522.0020.0002.AAAA][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
-AAB9 AAAA ; [.2522.0020.0002.AAAA][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
-AABB AAAA ; [.2522.0020.0002.AAAA][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
-AABC AAAA ; [.2522.0020.0002.AAAA][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
-AAAB ; [.2523.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
-AAB5 AAAB ; [.2523.0020.0002.AAAB][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
-AAB6 AAAB ; [.2523.0020.0002.AAAB][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
-AAB9 AAAB ; [.2523.0020.0002.AAAB][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
-AABB AAAB ; [.2523.0020.0002.AAAB][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
-AABC AAAB ; [.2523.0020.0002.AAAB][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
-AAAC ; [.2524.0020.0002.AAAC] # TAI VIET LETTER LOW HO
-AAB5 AAAC ; [.2524.0020.0002.AAAC][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
-AAB6 AAAC ; [.2524.0020.0002.AAAC][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
-AAB9 AAAC ; [.2524.0020.0002.AAAC][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
-AABB AAAC ; [.2524.0020.0002.AAAC][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
-AABC AAAC ; [.2524.0020.0002.AAAC][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
-AAAD ; [.2525.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
-AAB5 AAAD ; [.2525.0020.0002.AAAD][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
-AAB6 AAAD ; [.2525.0020.0002.AAAD][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
-AAB9 AAAD ; [.2525.0020.0002.AAAD][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
-AABB AAAD ; [.2525.0020.0002.AAAD][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
-AABC AAAD ; [.2525.0020.0002.AAAD][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
-AAAE ; [.2526.0020.0002.AAAE] # TAI VIET LETTER LOW O
-AAB5 AAAE ; [.2526.0020.0002.AAAE][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
-AAB6 AAAE ; [.2526.0020.0002.AAAE][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
-AAB9 AAAE ; [.2526.0020.0002.AAAE][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
-AABB AAAE ; [.2526.0020.0002.AAAE][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
-AABC AAAE ; [.2526.0020.0002.AAAE][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
-AAAF ; [.2527.0020.0002.AAAF] # TAI VIET LETTER HIGH O
-AAB5 AAAF ; [.2527.0020.0002.AAAF][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
-AAB6 AAAF ; [.2527.0020.0002.AAAF][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
-AAB9 AAAF ; [.2527.0020.0002.AAAF][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
-AABB AAAF ; [.2527.0020.0002.AAAF][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
-AABC AAAF ; [.2527.0020.0002.AAAF][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
-AAB0 ; [.2528.0020.0002.AAB0] # TAI VIET MAI KANG
-AAB1 ; [.2529.0020.0002.AAB1] # TAI VIET VOWEL AA
-AAB2 ; [.252A.0020.0002.AAB2] # TAI VIET VOWEL I
-AAB3 ; [.252B.0020.0002.AAB3] # TAI VIET VOWEL UE
-AAB4 ; [.252C.0020.0002.AAB4] # TAI VIET VOWEL U
-AAB5 ; [.252D.0020.0002.AAB5] # TAI VIET VOWEL E
-AAB6 ; [.252E.0020.0002.AAB6] # TAI VIET VOWEL O
-AAB7 ; [.252F.0020.0002.AAB7] # TAI VIET MAY KHIT
-AAB8 ; [.2530.0020.0002.AAB8] # TAI VIET VOWEL IA
-AAB9 ; [.2531.0020.0002.AAB9] # TAI VIET VOWEL UEA
-AABA ; [.2532.0020.0002.AABA] # TAI VIET VOWEL UA
-AABB ; [.2533.0020.0002.AABB] # TAI VIET VOWEL AUE
-AABC ; [.2534.0020.0002.AABC] # TAI VIET VOWEL AY
-AABD ; [.2535.0020.0002.AABD] # TAI VIET VOWEL AN
-AABE ; [.2536.0020.0002.AABE] # TAI VIET VOWEL AM
-AAC0 ; [.2537.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
-AAC2 ; [.2538.0020.0002.AAC2] # TAI VIET TONE MAI SONG
-AADB ; [.2539.0020.0002.AADB] # TAI VIET SYMBOL KON
-AADC ; [.253A.0020.0002.AADC] # TAI VIET SYMBOL NUENG
-0F40 ; [.253B.0020.0002.0F40] # TIBETAN LETTER KA
-0F69 ; [.253B.0020.0002.0F40][.257C.0020.0002.0FB5] # TIBETAN LETTER KSSA
-0F90 ; [.253C.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
-0FB9 ; [.253C.0020.0002.0F90][.257C.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA
-0F6B ; [.253D.0020.0002.0F6B] # TIBETAN LETTER KKA
-0F41 ; [.253E.0020.0002.0F41] # TIBETAN LETTER KHA
-0F91 ; [.253F.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
-0F42 ; [.2540.0020.0002.0F42] # TIBETAN LETTER GA
-0F43 ; [.2540.0020.0002.0F42][.2580.0020.0002.0FB7] # TIBETAN LETTER GHA
-0F92 ; [.2541.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
-0F93 ; [.2541.0020.0002.0F92][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA
-0F44 ; [.2542.0020.0002.0F44] # TIBETAN LETTER NGA
-0F94 ; [.2543.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
-0F45 ; [.2544.0020.0002.0F45] # TIBETAN LETTER CA
-0F95 ; [.2545.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
-0F46 ; [.2546.0020.0002.0F46] # TIBETAN LETTER CHA
-0F96 ; [.2547.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
-0F47 ; [.2548.0020.0002.0F47] # TIBETAN LETTER JA
-0F97 ; [.2549.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
-0F49 ; [.254A.0020.0002.0F49] # TIBETAN LETTER NYA
-0F99 ; [.254B.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
-0F4A ; [.254C.0020.0002.0F4A] # TIBETAN LETTER TTA
-0F9A ; [.254D.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
-0F4B ; [.254E.0020.0002.0F4B] # TIBETAN LETTER TTHA
-0F9B ; [.254F.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
-0F4C ; [.2550.0020.0002.0F4C] # TIBETAN LETTER DDA
-0F4D ; [.2550.0020.0002.0F4C][.2580.0020.0002.0FB7] # TIBETAN LETTER DDHA
-0F9C ; [.2551.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
-0F9D ; [.2551.0020.0002.0F9C][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA
-0F4E ; [.2552.0020.0002.0F4E] # TIBETAN LETTER NNA
-0F9E ; [.2553.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
-0F4F ; [.2554.0020.0002.0F4F] # TIBETAN LETTER TA
-0F9F ; [.2555.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
-0F50 ; [.2556.0020.0002.0F50] # TIBETAN LETTER THA
-0FA0 ; [.2557.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
-0F51 ; [.2558.0020.0002.0F51] # TIBETAN LETTER DA
-0F52 ; [.2558.0020.0002.0F51][.2580.0020.0002.0FB7] # TIBETAN LETTER DHA
-0FA1 ; [.2559.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
-0FA2 ; [.2559.0020.0002.0FA1][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA
-0F53 ; [.255A.0020.0002.0F53] # TIBETAN LETTER NA
-0FA3 ; [.255B.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
-0F54 ; [.255C.0020.0002.0F54] # TIBETAN LETTER PA
-0FA4 ; [.255D.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
-0F55 ; [.255E.0020.0002.0F55] # TIBETAN LETTER PHA
-0FA5 ; [.255F.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
-0F56 ; [.2560.0020.0002.0F56] # TIBETAN LETTER BA
-0F57 ; [.2560.0020.0002.0F56][.2580.0020.0002.0FB7] # TIBETAN LETTER BHA
-0FA6 ; [.2561.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
-0FA7 ; [.2561.0020.0002.0FA6][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA
-0F58 ; [.2562.0020.0002.0F58] # TIBETAN LETTER MA
-0FA8 ; [.2563.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
-0F59 ; [.2564.0020.0002.0F59] # TIBETAN LETTER TSA
-0FA9 ; [.2565.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
-0F5A ; [.2566.0020.0002.0F5A] # TIBETAN LETTER TSHA
-0FAA ; [.2567.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
-0F5B ; [.2568.0020.0002.0F5B] # TIBETAN LETTER DZA
-0F5C ; [.2568.0020.0002.0F5B][.2580.0020.0002.0FB7] # TIBETAN LETTER DZHA
-0FAB ; [.2569.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
-0FAC ; [.2569.0020.0002.0FAB][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA
-0F5D ; [.256A.0020.0002.0F5D] # TIBETAN LETTER WA
-0FAD ; [.256B.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
-0FBA ; [.256B.0020.0004.0FBA][.0000.013A.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0F5E ; [.256C.0020.0002.0F5E] # TIBETAN LETTER ZHA
-0FAE ; [.256D.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
-0F5F ; [.256E.0020.0002.0F5F] # TIBETAN LETTER ZA
-0FAF ; [.256F.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
-0F60 ; [.2570.0020.0002.0F60] # TIBETAN LETTER -A
-0FB0 ; [.2571.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
-0F61 ; [.2572.0020.0002.0F61] # TIBETAN LETTER YA
-0FB1 ; [.2573.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
-0FBB ; [.2573.0020.0004.0FBB][.0000.013A.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0F62 ; [.2574.0020.0002.0F62] # TIBETAN LETTER RA
-0F6A ; [.2574.0020.0004.0F6A][.0000.013A.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA
-0FB2 ; [.2575.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
-0FBC ; [.2575.0020.0004.0FBC][.0000.013A.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0F6C ; [.2576.0020.0002.0F6C] # TIBETAN LETTER RRA
-0F63 ; [.2577.0020.0002.0F63] # TIBETAN LETTER LA
-0FB3 ; [.2578.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
-0F64 ; [.2579.0020.0002.0F64] # TIBETAN LETTER SHA
-0FB4 ; [.257A.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
-0F65 ; [.257B.0020.0002.0F65] # TIBETAN LETTER SSA
-0FB5 ; [.257C.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
-0F66 ; [.257D.0020.0002.0F66] # TIBETAN LETTER SA
-0FB6 ; [.257E.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
-0F67 ; [.257F.0020.0002.0F67] # TIBETAN LETTER HA
-0FB7 ; [.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
-0F68 ; [.2581.0020.0002.0F68] # TIBETAN LETTER A
-0F00 ; [.2581.0020.0004.0F00][.2598.0020.0004.0F00][.0000.00F3.0004.0F00] # TIBETAN SYLLABLE OM
-0FB8 ; [.2582.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
-0F88 ; [.2583.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
-0F8D ; [.2584.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
-0F89 ; [.2585.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
-0F8E ; [.2586.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
-0F8C ; [.2587.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
-0F8F ; [.2588.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
-0F8A ; [.2589.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
-0F8B ; [.258A.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
-0F71 ; [.258B.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
-0F72 ; [.258C.0020.0002.0F72] # TIBETAN VOWEL SIGN I
-0F73 ; [.258D.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F71 0F72 ; [.258D.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F80 ; [.258E.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
-0F81 ; [.258F.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F71 0F80 ; [.258F.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F74 ; [.2590.0020.0002.0F74] # TIBETAN VOWEL SIGN U
-0F75 ; [.2591.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F71 0F74 ; [.2591.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F76 ; [.2592.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0FB2 0F80 ; [.2592.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0F77 ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F71 0F80 ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F81 ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0F78 ; [.2594.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0FB3 0F80 ; [.2594.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0F79 ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F71 0F80 ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F81 ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A ; [.2596.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
-0F7B ; [.2597.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
-0F7C ; [.2598.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
-0F7D ; [.2599.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
-0F84 ; [.259A.0020.0002.0F84] # TIBETAN MARK HALANTA
-1C00 ; [.259B.0020.0002.1C00] # LEPCHA LETTER KA
-1C01 ; [.259C.0020.0002.1C01] # LEPCHA LETTER KLA
-1C02 ; [.259D.0020.0002.1C02] # LEPCHA LETTER KHA
-1C03 ; [.259E.0020.0002.1C03] # LEPCHA LETTER GA
-1C04 ; [.259F.0020.0002.1C04] # LEPCHA LETTER GLA
-1C05 ; [.25A0.0020.0002.1C05] # LEPCHA LETTER NGA
-1C06 ; [.25A1.0020.0002.1C06] # LEPCHA LETTER CA
-1C07 ; [.25A2.0020.0002.1C07] # LEPCHA LETTER CHA
-1C08 ; [.25A3.0020.0002.1C08] # LEPCHA LETTER JA
-1C09 ; [.25A4.0020.0002.1C09] # LEPCHA LETTER NYA
-1C4D ; [.25A5.0020.0002.1C4D] # LEPCHA LETTER TTA
-1C4E ; [.25A6.0020.0002.1C4E] # LEPCHA LETTER TTHA
-1C4F ; [.25A7.0020.0002.1C4F] # LEPCHA LETTER DDA
-1C0A ; [.25A8.0020.0002.1C0A] # LEPCHA LETTER TA
-1C0B ; [.25A9.0020.0002.1C0B] # LEPCHA LETTER THA
-1C0C ; [.25AA.0020.0002.1C0C] # LEPCHA LETTER DA
-1C0D ; [.25AB.0020.0002.1C0D] # LEPCHA LETTER NA
-1C0E ; [.25AC.0020.0002.1C0E] # LEPCHA LETTER PA
-1C0F ; [.25AD.0020.0002.1C0F] # LEPCHA LETTER PLA
-1C10 ; [.25AE.0020.0002.1C10] # LEPCHA LETTER PHA
-1C11 ; [.25AF.0020.0002.1C11] # LEPCHA LETTER FA
-1C12 ; [.25B0.0020.0002.1C12] # LEPCHA LETTER FLA
-1C13 ; [.25B1.0020.0002.1C13] # LEPCHA LETTER BA
-1C14 ; [.25B2.0020.0002.1C14] # LEPCHA LETTER BLA
-1C15 ; [.25B3.0020.0002.1C15] # LEPCHA LETTER MA
-1C16 ; [.25B4.0020.0002.1C16] # LEPCHA LETTER MLA
-1C17 ; [.25B5.0020.0002.1C17] # LEPCHA LETTER TSA
-1C18 ; [.25B6.0020.0002.1C18] # LEPCHA LETTER TSHA
-1C19 ; [.25B7.0020.0002.1C19] # LEPCHA LETTER DZA
-1C1A ; [.25B8.0020.0002.1C1A] # LEPCHA LETTER YA
-1C24 ; [.25B9.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
-1C1B ; [.25BA.0020.0002.1C1B] # LEPCHA LETTER RA
-1C25 ; [.25BB.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
-1C1C ; [.25BC.0020.0002.1C1C] # LEPCHA LETTER LA
-1C1D ; [.25BD.0020.0002.1C1D] # LEPCHA LETTER HA
-1C1E ; [.25BE.0020.0002.1C1E] # LEPCHA LETTER HLA
-1C1F ; [.25BF.0020.0002.1C1F] # LEPCHA LETTER VA
-1C20 ; [.25C0.0020.0002.1C20] # LEPCHA LETTER SA
-1C21 ; [.25C1.0020.0002.1C21] # LEPCHA LETTER SHA
-1C22 ; [.25C2.0020.0002.1C22] # LEPCHA LETTER WA
-1C23 ; [.25C3.0020.0002.1C23] # LEPCHA LETTER A
-1C36 ; [.25C4.0020.0002.1C36] # LEPCHA SIGN RAN
-1C26 ; [.25C5.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
-1C27 ; [.25C6.0020.0002.1C27] # LEPCHA VOWEL SIGN I
-1C28 ; [.25C7.0020.0002.1C28] # LEPCHA VOWEL SIGN O
-1C29 ; [.25C8.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
-1C2A ; [.25C9.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
-1C2B ; [.25CA.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
-1C2C ; [.25CB.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
-1C2D ; [.25CC.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
-1C2E ; [.25CD.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
-1C2F ; [.25CE.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
-1C30 ; [.25CF.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
-1C31 ; [.25D0.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
-1C32 ; [.25D1.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
-1C33 ; [.25D2.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
-1C34 ; [.25D3.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
-1C35 ; [.25D4.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
-A840 ; [.25D5.0020.0002.A840] # PHAGS-PA LETTER KA
-A841 ; [.25D6.0020.0002.A841] # PHAGS-PA LETTER KHA
-A842 ; [.25D7.0020.0002.A842] # PHAGS-PA LETTER GA
-A843 ; [.25D8.0020.0002.A843] # PHAGS-PA LETTER NGA
-A844 ; [.25D9.0020.0002.A844] # PHAGS-PA LETTER CA
-A845 ; [.25DA.0020.0002.A845] # PHAGS-PA LETTER CHA
-A846 ; [.25DB.0020.0002.A846] # PHAGS-PA LETTER JA
-A847 ; [.25DC.0020.0002.A847] # PHAGS-PA LETTER NYA
-A869 ; [.25DD.0020.0002.A869] # PHAGS-PA LETTER TTA
-A86A ; [.25DE.0020.0002.A86A] # PHAGS-PA LETTER TTHA
-A86B ; [.25DF.0020.0002.A86B] # PHAGS-PA LETTER DDA
-A86C ; [.25E0.0020.0002.A86C] # PHAGS-PA LETTER NNA
-A848 ; [.25E1.0020.0002.A848] # PHAGS-PA LETTER TA
-A849 ; [.25E2.0020.0002.A849] # PHAGS-PA LETTER THA
-A84A ; [.25E3.0020.0002.A84A] # PHAGS-PA LETTER DA
-A84B ; [.25E4.0020.0002.A84B] # PHAGS-PA LETTER NA
-A84C ; [.25E5.0020.0002.A84C] # PHAGS-PA LETTER PA
-A84D ; [.25E6.0020.0002.A84D] # PHAGS-PA LETTER PHA
-A84E ; [.25E7.0020.0002.A84E] # PHAGS-PA LETTER BA
-A84F ; [.25E8.0020.0002.A84F] # PHAGS-PA LETTER MA
-A850 ; [.25E9.0020.0002.A850] # PHAGS-PA LETTER TSA
-A851 ; [.25EA.0020.0002.A851] # PHAGS-PA LETTER TSHA
-A852 ; [.25EB.0020.0002.A852] # PHAGS-PA LETTER DZA
-A853 ; [.25EC.0020.0002.A853] # PHAGS-PA LETTER WA
-A867 ; [.25ED.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
-A854 ; [.25EE.0020.0002.A854] # PHAGS-PA LETTER ZHA
-A855 ; [.25EF.0020.0002.A855] # PHAGS-PA LETTER ZA
-A856 ; [.25F0.0020.0002.A856] # PHAGS-PA LETTER SMALL A
-A857 ; [.25F1.0020.0002.A857] # PHAGS-PA LETTER YA
-A868 ; [.25F2.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
-A86D ; [.25F3.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
-A858 ; [.25F4.0020.0002.A858] # PHAGS-PA LETTER RA
-A871 ; [.25F5.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
-A872 ; [.25F6.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
-A859 ; [.25F7.0020.0002.A859] # PHAGS-PA LETTER LA
-A85A ; [.25F8.0020.0002.A85A] # PHAGS-PA LETTER SHA
-A86E ; [.25F9.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
-A85B ; [.25FA.0020.0002.A85B] # PHAGS-PA LETTER SA
-A85C ; [.25FB.0020.0002.A85C] # PHAGS-PA LETTER HA
-A86F ; [.25FC.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
-A870 ; [.25FD.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
-A85D ; [.25FE.0020.0002.A85D] # PHAGS-PA LETTER A
-A862 ; [.25FF.0020.0002.A862] # PHAGS-PA LETTER QA
-A863 ; [.2600.0020.0002.A863] # PHAGS-PA LETTER XA
-A864 ; [.2601.0020.0002.A864] # PHAGS-PA LETTER FA
-A865 ; [.2602.0020.0002.A865] # PHAGS-PA LETTER GGA
-A85E ; [.2603.0020.0002.A85E] # PHAGS-PA LETTER I
-A85F ; [.2604.0020.0002.A85F] # PHAGS-PA LETTER U
-A860 ; [.2605.0020.0002.A860] # PHAGS-PA LETTER E
-A861 ; [.2606.0020.0002.A861] # PHAGS-PA LETTER O
-A866 ; [.2607.0020.0002.A866] # PHAGS-PA LETTER EE
-A873 ; [.2608.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
-1900 ; [.2609.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
-1901 ; [.260A.0020.0002.1901] # LIMBU LETTER KA
-1902 ; [.260B.0020.0002.1902] # LIMBU LETTER KHA
-1903 ; [.260C.0020.0002.1903] # LIMBU LETTER GA
-1904 ; [.260D.0020.0002.1904] # LIMBU LETTER GHA
-1905 ; [.260E.0020.0002.1905] # LIMBU LETTER NGA
-1906 ; [.260F.0020.0002.1906] # LIMBU LETTER CA
-1907 ; [.2610.0020.0002.1907] # LIMBU LETTER CHA
-1908 ; [.2611.0020.0002.1908] # LIMBU LETTER JA
-1909 ; [.2612.0020.0002.1909] # LIMBU LETTER JHA
-190A ; [.2613.0020.0002.190A] # LIMBU LETTER YAN
-190B ; [.2614.0020.0002.190B] # LIMBU LETTER TA
-190C ; [.2615.0020.0002.190C] # LIMBU LETTER THA
-190D ; [.2616.0020.0002.190D] # LIMBU LETTER DA
-190E ; [.2617.0020.0002.190E] # LIMBU LETTER DHA
-190F ; [.2618.0020.0002.190F] # LIMBU LETTER NA
-1910 ; [.2619.0020.0002.1910] # LIMBU LETTER PA
-1911 ; [.261A.0020.0002.1911] # LIMBU LETTER PHA
-1912 ; [.261B.0020.0002.1912] # LIMBU LETTER BA
-1913 ; [.261C.0020.0002.1913] # LIMBU LETTER BHA
-1914 ; [.261D.0020.0002.1914] # LIMBU LETTER MA
-1915 ; [.261E.0020.0002.1915] # LIMBU LETTER YA
-1916 ; [.261F.0020.0002.1916] # LIMBU LETTER RA
-1917 ; [.2620.0020.0002.1917] # LIMBU LETTER LA
-1918 ; [.2621.0020.0002.1918] # LIMBU LETTER WA
-1919 ; [.2622.0020.0002.1919] # LIMBU LETTER SHA
-191A ; [.2623.0020.0002.191A] # LIMBU LETTER SSA
-191B ; [.2624.0020.0002.191B] # LIMBU LETTER SA
-191C ; [.2625.0020.0002.191C] # LIMBU LETTER HA
-1920 ; [.2626.0020.0002.1920] # LIMBU VOWEL SIGN A
-1921 ; [.2627.0020.0002.1921] # LIMBU VOWEL SIGN I
-1922 ; [.2628.0020.0002.1922] # LIMBU VOWEL SIGN U
-1923 ; [.2629.0020.0002.1923] # LIMBU VOWEL SIGN EE
-1924 ; [.262A.0020.0002.1924] # LIMBU VOWEL SIGN AI
-1925 ; [.262B.0020.0002.1925] # LIMBU VOWEL SIGN OO
-1926 ; [.262C.0020.0002.1926] # LIMBU VOWEL SIGN AU
-1927 ; [.262D.0020.0002.1927] # LIMBU VOWEL SIGN E
-1928 ; [.262E.0020.0002.1928] # LIMBU VOWEL SIGN O
-1929 ; [.262F.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
-192A ; [.2630.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
-192B ; [.2631.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
-1930 ; [.2632.0020.0002.1930] # LIMBU SMALL LETTER KA
-1931 ; [.2633.0020.0002.1931] # LIMBU SMALL LETTER NGA
-1932 ; [.2634.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
-1933 ; [.2635.0020.0002.1933] # LIMBU SMALL LETTER TA
-1934 ; [.2636.0020.0002.1934] # LIMBU SMALL LETTER NA
-1935 ; [.2637.0020.0002.1935] # LIMBU SMALL LETTER PA
-1936 ; [.2638.0020.0002.1936] # LIMBU SMALL LETTER MA
-1937 ; [.2639.0020.0002.1937] # LIMBU SMALL LETTER RA
-1938 ; [.263A.0020.0002.1938] # LIMBU SMALL LETTER LA
-1700 ; [.263B.0020.0002.1700] # TAGALOG LETTER A
-1701 ; [.263C.0020.0002.1701] # TAGALOG LETTER I
-1702 ; [.263D.0020.0002.1702] # TAGALOG LETTER U
-1703 ; [.263E.0020.0002.1703] # TAGALOG LETTER KA
-1704 ; [.263F.0020.0002.1704] # TAGALOG LETTER GA
-1705 ; [.2640.0020.0002.1705] # TAGALOG LETTER NGA
-1706 ; [.2641.0020.0002.1706] # TAGALOG LETTER TA
-1707 ; [.2642.0020.0002.1707] # TAGALOG LETTER DA
-1708 ; [.2643.0020.0002.1708] # TAGALOG LETTER NA
-1709 ; [.2644.0020.0002.1709] # TAGALOG LETTER PA
-170A ; [.2645.0020.0002.170A] # TAGALOG LETTER BA
-170B ; [.2646.0020.0002.170B] # TAGALOG LETTER MA
-170C ; [.2647.0020.0002.170C] # TAGALOG LETTER YA
-170E ; [.2648.0020.0002.170E] # TAGALOG LETTER LA
-170F ; [.2649.0020.0002.170F] # TAGALOG LETTER WA
-1710 ; [.264A.0020.0002.1710] # TAGALOG LETTER SA
-1711 ; [.264B.0020.0002.1711] # TAGALOG LETTER HA
-1712 ; [.264C.0020.0002.1712] # TAGALOG VOWEL SIGN I
-1713 ; [.264D.0020.0002.1713] # TAGALOG VOWEL SIGN U
-1714 ; [.264E.0020.0002.1714] # TAGALOG SIGN VIRAMA
-1720 ; [.264F.0020.0002.1720] # HANUNOO LETTER A
-1721 ; [.2650.0020.0002.1721] # HANUNOO LETTER I
-1722 ; [.2651.0020.0002.1722] # HANUNOO LETTER U
-1723 ; [.2652.0020.0002.1723] # HANUNOO LETTER KA
-1724 ; [.2653.0020.0002.1724] # HANUNOO LETTER GA
-1725 ; [.2654.0020.0002.1725] # HANUNOO LETTER NGA
-1726 ; [.2655.0020.0002.1726] # HANUNOO LETTER TA
-1727 ; [.2656.0020.0002.1727] # HANUNOO LETTER DA
-1728 ; [.2657.0020.0002.1728] # HANUNOO LETTER NA
-1729 ; [.2658.0020.0002.1729] # HANUNOO LETTER PA
-172A ; [.2659.0020.0002.172A] # HANUNOO LETTER BA
-172B ; [.265A.0020.0002.172B] # HANUNOO LETTER MA
-172C ; [.265B.0020.0002.172C] # HANUNOO LETTER YA
-172D ; [.265C.0020.0002.172D] # HANUNOO LETTER RA
-172E ; [.265D.0020.0002.172E] # HANUNOO LETTER LA
-172F ; [.265E.0020.0002.172F] # HANUNOO LETTER WA
-1730 ; [.265F.0020.0002.1730] # HANUNOO LETTER SA
-1731 ; [.2660.0020.0002.1731] # HANUNOO LETTER HA
-1732 ; [.2661.0020.0002.1732] # HANUNOO VOWEL SIGN I
-1733 ; [.2662.0020.0002.1733] # HANUNOO VOWEL SIGN U
-1734 ; [.2663.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
-1740 ; [.2664.0020.0002.1740] # BUHID LETTER A
-1741 ; [.2665.0020.0002.1741] # BUHID LETTER I
-1742 ; [.2666.0020.0002.1742] # BUHID LETTER U
-1743 ; [.2667.0020.0002.1743] # BUHID LETTER KA
-1744 ; [.2668.0020.0002.1744] # BUHID LETTER GA
-1745 ; [.2669.0020.0002.1745] # BUHID LETTER NGA
-1746 ; [.266A.0020.0002.1746] # BUHID LETTER TA
-1747 ; [.266B.0020.0002.1747] # BUHID LETTER DA
-1748 ; [.266C.0020.0002.1748] # BUHID LETTER NA
-1749 ; [.266D.0020.0002.1749] # BUHID LETTER PA
-174A ; [.266E.0020.0002.174A] # BUHID LETTER BA
-174B ; [.266F.0020.0002.174B] # BUHID LETTER MA
-174C ; [.2670.0020.0002.174C] # BUHID LETTER YA
-174D ; [.2671.0020.0002.174D] # BUHID LETTER RA
-174E ; [.2672.0020.0002.174E] # BUHID LETTER LA
-174F ; [.2673.0020.0002.174F] # BUHID LETTER WA
-1750 ; [.2674.0020.0002.1750] # BUHID LETTER SA
-1751 ; [.2675.0020.0002.1751] # BUHID LETTER HA
-1752 ; [.2676.0020.0002.1752] # BUHID VOWEL SIGN I
-1753 ; [.2677.0020.0002.1753] # BUHID VOWEL SIGN U
-1760 ; [.2678.0020.0002.1760] # TAGBANWA LETTER A
-1761 ; [.2679.0020.0002.1761] # TAGBANWA LETTER I
-1762 ; [.267A.0020.0002.1762] # TAGBANWA LETTER U
-1763 ; [.267B.0020.0002.1763] # TAGBANWA LETTER KA
-1764 ; [.267C.0020.0002.1764] # TAGBANWA LETTER GA
-1765 ; [.267D.0020.0002.1765] # TAGBANWA LETTER NGA
-1766 ; [.267E.0020.0002.1766] # TAGBANWA LETTER TA
-1767 ; [.267F.0020.0002.1767] # TAGBANWA LETTER DA
-1768 ; [.2680.0020.0002.1768] # TAGBANWA LETTER NA
-1769 ; [.2681.0020.0002.1769] # TAGBANWA LETTER PA
-176A ; [.2682.0020.0002.176A] # TAGBANWA LETTER BA
-176B ; [.2683.0020.0002.176B] # TAGBANWA LETTER MA
-176C ; [.2684.0020.0002.176C] # TAGBANWA LETTER YA
-176E ; [.2685.0020.0002.176E] # TAGBANWA LETTER LA
-176F ; [.2686.0020.0002.176F] # TAGBANWA LETTER WA
-1770 ; [.2687.0020.0002.1770] # TAGBANWA LETTER SA
-1772 ; [.2688.0020.0002.1772] # TAGBANWA VOWEL SIGN I
-1773 ; [.2689.0020.0002.1773] # TAGBANWA VOWEL SIGN U
-1A00 ; [.268A.0020.0002.1A00] # BUGINESE LETTER KA
-1A01 ; [.268B.0020.0002.1A01] # BUGINESE LETTER GA
-1A02 ; [.268C.0020.0002.1A02] # BUGINESE LETTER NGA
-1A03 ; [.268D.0020.0002.1A03] # BUGINESE LETTER NGKA
-1A04 ; [.268E.0020.0002.1A04] # BUGINESE LETTER PA
-1A05 ; [.268F.0020.0002.1A05] # BUGINESE LETTER BA
-1A06 ; [.2690.0020.0002.1A06] # BUGINESE LETTER MA
-1A07 ; [.2691.0020.0002.1A07] # BUGINESE LETTER MPA
-1A08 ; [.2692.0020.0002.1A08] # BUGINESE LETTER TA
-1A09 ; [.2693.0020.0002.1A09] # BUGINESE LETTER DA
-1A0A ; [.2694.0020.0002.1A0A] # BUGINESE LETTER NA
-1A0B ; [.2695.0020.0002.1A0B] # BUGINESE LETTER NRA
-1A0C ; [.2696.0020.0002.1A0C] # BUGINESE LETTER CA
-1A0D ; [.2697.0020.0002.1A0D] # BUGINESE LETTER JA
-1A0E ; [.2698.0020.0002.1A0E] # BUGINESE LETTER NYA
-1A0F ; [.2699.0020.0002.1A0F] # BUGINESE LETTER NYCA
-1A10 ; [.269A.0020.0002.1A10] # BUGINESE LETTER YA
-1A11 ; [.269B.0020.0002.1A11] # BUGINESE LETTER RA
-1A12 ; [.269C.0020.0002.1A12] # BUGINESE LETTER LA
-1A13 ; [.269D.0020.0002.1A13] # BUGINESE LETTER VA
-1A14 ; [.269E.0020.0002.1A14] # BUGINESE LETTER SA
-1A15 ; [.269F.0020.0002.1A15] # BUGINESE LETTER A
-1A16 ; [.26A0.0020.0002.1A16] # BUGINESE LETTER HA
-1A17 ; [.26A1.0020.0002.1A17] # BUGINESE VOWEL SIGN I
-1A18 ; [.26A2.0020.0002.1A18] # BUGINESE VOWEL SIGN U
-1A19 ; [.26A3.0020.0002.1A19] # BUGINESE VOWEL SIGN E
-1A1A ; [.26A4.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
-1A1B ; [.26A5.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
-1BC0 ; [.26A6.0020.0002.1BC0] # BATAK LETTER A
-1BC1 ; [.26A6.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A
-1BC2 ; [.26A7.0020.0002.1BC2] # BATAK LETTER HA
-1BC3 ; [.26A7.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA
-1BC4 ; [.26A7.0020.0004.1BC4] # BATAK LETTER MANDAILING HA
-1BC5 ; [.26A8.0020.0002.1BC5] # BATAK LETTER BA
-1BC6 ; [.26A8.0020.0004.1BC6] # BATAK LETTER KARO BA
-1BC7 ; [.26A9.0020.0002.1BC7] # BATAK LETTER PA
-1BC8 ; [.26A9.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA
-1BC9 ; [.26AA.0020.0002.1BC9] # BATAK LETTER NA
-1BCA ; [.26AA.0020.0004.1BCA] # BATAK LETTER MANDAILING NA
-1BCB ; [.26AB.0020.0002.1BCB] # BATAK LETTER WA
-1BCC ; [.26AB.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA
-1BCD ; [.26AB.0020.0004.1BCD] # BATAK LETTER PAKPAK WA
-1BCE ; [.26AC.0020.0002.1BCE] # BATAK LETTER GA
-1BCF ; [.26AC.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA
-1BD0 ; [.26AD.0020.0002.1BD0] # BATAK LETTER JA
-1BD1 ; [.26AE.0020.0002.1BD1] # BATAK LETTER DA
-1BD2 ; [.26AF.0020.0002.1BD2] # BATAK LETTER RA
-1BD3 ; [.26AF.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA
-1BD4 ; [.26B0.0020.0002.1BD4] # BATAK LETTER MA
-1BD5 ; [.26B0.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA
-1BD6 ; [.26B1.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
-1BD7 ; [.26B1.0020.0004.1BD7] # BATAK LETTER NORTHERN TA
-1BD8 ; [.26B2.0020.0002.1BD8] # BATAK LETTER SA
-1BD9 ; [.26B2.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA
-1BDA ; [.26B2.0020.0004.1BDA] # BATAK LETTER MANDAILING SA
-1BDB ; [.26B3.0020.0002.1BDB] # BATAK LETTER YA
-1BDC ; [.26B3.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA
-1BDD ; [.26B4.0020.0002.1BDD] # BATAK LETTER NGA
-1BDE ; [.26B5.0020.0002.1BDE] # BATAK LETTER LA
-1BDF ; [.26B5.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA
-1BE0 ; [.26B6.0020.0002.1BE0] # BATAK LETTER NYA
-1BE1 ; [.26B7.0020.0002.1BE1] # BATAK LETTER CA
-1BE2 ; [.26B8.0020.0002.1BE2] # BATAK LETTER NDA
-1BE3 ; [.26B9.0020.0002.1BE3] # BATAK LETTER MBA
-1BE4 ; [.26BA.0020.0002.1BE4] # BATAK LETTER I
-1BE5 ; [.26BB.0020.0002.1BE5] # BATAK LETTER U
-1BE7 ; [.26BC.0020.0002.1BE7] # BATAK VOWEL SIGN E
-1BE8 ; [.26BC.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E
-1BE9 ; [.26BD.0020.0002.1BE9] # BATAK VOWEL SIGN EE
-1BEA ; [.26BE.0020.0002.1BEA] # BATAK VOWEL SIGN I
-1BEB ; [.26BE.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I
-1BEC ; [.26BF.0020.0002.1BEC] # BATAK VOWEL SIGN O
-1BED ; [.26BF.0020.0004.1BED] # BATAK VOWEL SIGN KARO O
-1BEE ; [.26C0.0020.0002.1BEE] # BATAK VOWEL SIGN U
-1BEF ; [.26C0.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
-1BF0 ; [.26C1.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
-1BF1 ; [.26C2.0020.0002.1BF1] # BATAK CONSONANT SIGN H
-1BF2 ; [.26C3.0020.0002.1BF2] # BATAK PANGOLAT
-1BF3 ; [.26C4.0020.0002.1BF3] # BATAK PANONGONAN
-A930 ; [.26C5.0020.0002.A930] # REJANG LETTER KA
-A931 ; [.26C6.0020.0002.A931] # REJANG LETTER GA
-A932 ; [.26C7.0020.0002.A932] # REJANG LETTER NGA
-A933 ; [.26C8.0020.0002.A933] # REJANG LETTER TA
-A934 ; [.26C9.0020.0002.A934] # REJANG LETTER DA
-A935 ; [.26CA.0020.0002.A935] # REJANG LETTER NA
-A936 ; [.26CB.0020.0002.A936] # REJANG LETTER PA
-A937 ; [.26CC.0020.0002.A937] # REJANG LETTER BA
-A938 ; [.26CD.0020.0002.A938] # REJANG LETTER MA
-A939 ; [.26CE.0020.0002.A939] # REJANG LETTER CA
-A93A ; [.26CF.0020.0002.A93A] # REJANG LETTER JA
-A93B ; [.26D0.0020.0002.A93B] # REJANG LETTER NYA
-A93C ; [.26D1.0020.0002.A93C] # REJANG LETTER SA
-A93D ; [.26D2.0020.0002.A93D] # REJANG LETTER RA
-A93E ; [.26D3.0020.0002.A93E] # REJANG LETTER LA
-A93F ; [.26D4.0020.0002.A93F] # REJANG LETTER YA
-A940 ; [.26D5.0020.0002.A940] # REJANG LETTER WA
-A941 ; [.26D6.0020.0002.A941] # REJANG LETTER HA
-A942 ; [.26D7.0020.0002.A942] # REJANG LETTER MBA
-A943 ; [.26D8.0020.0002.A943] # REJANG LETTER NGGA
-A944 ; [.26D9.0020.0002.A944] # REJANG LETTER NDA
-A945 ; [.26DA.0020.0002.A945] # REJANG LETTER NYJA
-A946 ; [.26DB.0020.0002.A946] # REJANG LETTER A
-A947 ; [.26DC.0020.0002.A947] # REJANG VOWEL SIGN I
-A948 ; [.26DD.0020.0002.A948] # REJANG VOWEL SIGN U
-A949 ; [.26DE.0020.0002.A949] # REJANG VOWEL SIGN E
-A94A ; [.26DF.0020.0002.A94A] # REJANG VOWEL SIGN AI
-A94B ; [.26E0.0020.0002.A94B] # REJANG VOWEL SIGN O
-A94C ; [.26E1.0020.0002.A94C] # REJANG VOWEL SIGN AU
-A94D ; [.26E2.0020.0002.A94D] # REJANG VOWEL SIGN EU
-A94E ; [.26E3.0020.0002.A94E] # REJANG VOWEL SIGN EA
-A94F ; [.26E4.0020.0002.A94F] # REJANG CONSONANT SIGN NG
-A950 ; [.26E5.0020.0002.A950] # REJANG CONSONANT SIGN N
-A951 ; [.26E6.0020.0002.A951] # REJANG CONSONANT SIGN R
-A952 ; [.26E7.0020.0002.A952] # REJANG CONSONANT SIGN H
-A953 ; [.26E8.0020.0002.A953] # REJANG VIRAMA
-A90A ; [.26E9.0020.0002.A90A] # KAYAH LI LETTER KA
-A90B ; [.26EA.0020.0002.A90B] # KAYAH LI LETTER KHA
-A90C ; [.26EB.0020.0002.A90C] # KAYAH LI LETTER GA
-A90D ; [.26EC.0020.0002.A90D] # KAYAH LI LETTER NGA
-A90E ; [.26ED.0020.0002.A90E] # KAYAH LI LETTER SA
-A90F ; [.26EE.0020.0002.A90F] # KAYAH LI LETTER SHA
-A910 ; [.26EF.0020.0002.A910] # KAYAH LI LETTER ZA
-A911 ; [.26F0.0020.0002.A911] # KAYAH LI LETTER NYA
-A912 ; [.26F1.0020.0002.A912] # KAYAH LI LETTER TA
-A913 ; [.26F2.0020.0002.A913] # KAYAH LI LETTER HTA
-A914 ; [.26F3.0020.0002.A914] # KAYAH LI LETTER NA
-A915 ; [.26F4.0020.0002.A915] # KAYAH LI LETTER PA
-A916 ; [.26F5.0020.0002.A916] # KAYAH LI LETTER PHA
-A917 ; [.26F6.0020.0002.A917] # KAYAH LI LETTER MA
-A918 ; [.26F7.0020.0002.A918] # KAYAH LI LETTER DA
-A919 ; [.26F8.0020.0002.A919] # KAYAH LI LETTER BA
-A91A ; [.26F9.0020.0002.A91A] # KAYAH LI LETTER RA
-A91B ; [.26FA.0020.0002.A91B] # KAYAH LI LETTER YA
-A91C ; [.26FB.0020.0002.A91C] # KAYAH LI LETTER LA
-A91D ; [.26FC.0020.0002.A91D] # KAYAH LI LETTER WA
-A91E ; [.26FD.0020.0002.A91E] # KAYAH LI LETTER THA
-A91F ; [.26FE.0020.0002.A91F] # KAYAH LI LETTER HA
-A920 ; [.26FF.0020.0002.A920] # KAYAH LI LETTER VA
-A921 ; [.2700.0020.0002.A921] # KAYAH LI LETTER CA
-A922 ; [.2701.0020.0002.A922] # KAYAH LI LETTER A
-A923 ; [.2702.0020.0002.A923] # KAYAH LI LETTER OE
-A924 ; [.2703.0020.0002.A924] # KAYAH LI LETTER I
-A925 ; [.2704.0020.0002.A925] # KAYAH LI LETTER OO
-A926 ; [.2705.0020.0002.A926] # KAYAH LI VOWEL UE
-A927 ; [.2706.0020.0002.A927] # KAYAH LI VOWEL E
-A928 ; [.2707.0020.0002.A928] # KAYAH LI VOWEL U
-A929 ; [.2708.0020.0002.A929] # KAYAH LI VOWEL EE
-A92A ; [.2709.0020.0002.A92A] # KAYAH LI VOWEL O
-1000 ; [.270A.0020.0002.1000] # MYANMAR LETTER KA
-1075 ; [.270B.0020.0002.1075] # MYANMAR LETTER SHAN KA
-1001 ; [.270C.0020.0002.1001] # MYANMAR LETTER KHA
-1076 ; [.270D.0020.0002.1076] # MYANMAR LETTER SHAN KHA
-1002 ; [.270E.0020.0002.1002] # MYANMAR LETTER GA
-1077 ; [.270F.0020.0002.1077] # MYANMAR LETTER SHAN GA
-AA60 ; [.2710.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
-1003 ; [.2711.0020.0002.1003] # MYANMAR LETTER GHA
-1004 ; [.2712.0020.0002.1004] # MYANMAR LETTER NGA
-105A ; [.2713.0020.0002.105A] # MYANMAR LETTER MON NGA
-1005 ; [.2714.0020.0002.1005] # MYANMAR LETTER CA
-1078 ; [.2715.0020.0002.1078] # MYANMAR LETTER SHAN CA
-AA61 ; [.2716.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
-1006 ; [.2717.0020.0002.1006] # MYANMAR LETTER CHA
-AA62 ; [.2718.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
-1007 ; [.2719.0020.0002.1007] # MYANMAR LETTER JA
-AA63 ; [.271A.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
-1079 ; [.271B.0020.0002.1079] # MYANMAR LETTER SHAN ZA
-AA72 ; [.271C.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
-1008 ; [.271D.0020.0002.1008] # MYANMAR LETTER JHA
-105B ; [.271E.0020.0002.105B] # MYANMAR LETTER MON JHA
-AA64 ; [.271F.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
-1061 ; [.2720.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
-1009 ; [.2721.0020.0002.1009] # MYANMAR LETTER NYA
-107A ; [.2722.0020.0002.107A] # MYANMAR LETTER SHAN NYA
-AA65 ; [.2723.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
-100A ; [.2724.0020.0002.100A] # MYANMAR LETTER NNYA
-100B ; [.2725.0020.0002.100B] # MYANMAR LETTER TTA
-AA66 ; [.2726.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
-100C ; [.2727.0020.0002.100C] # MYANMAR LETTER TTHA
-AA67 ; [.2728.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
-100D ; [.2729.0020.0002.100D] # MYANMAR LETTER DDA
-AA68 ; [.272A.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
-100E ; [.272B.0020.0002.100E] # MYANMAR LETTER DDHA
-AA69 ; [.272C.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
-100F ; [.272D.0020.0002.100F] # MYANMAR LETTER NNA
-106E ; [.272E.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
-1010 ; [.272F.0020.0002.1010] # MYANMAR LETTER TA
-1011 ; [.2730.0020.0002.1011] # MYANMAR LETTER THA
-1012 ; [.2731.0020.0002.1012] # MYANMAR LETTER DA
-107B ; [.2732.0020.0002.107B] # MYANMAR LETTER SHAN DA
-1013 ; [.2733.0020.0002.1013] # MYANMAR LETTER DHA
-AA6A ; [.2734.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
-1014 ; [.2735.0020.0002.1014] # MYANMAR LETTER NA
-107C ; [.2736.0020.0002.107C] # MYANMAR LETTER SHAN NA
-AA6B ; [.2737.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
-105E ; [.2738.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
-1015 ; [.2739.0020.0002.1015] # MYANMAR LETTER PA
-1016 ; [.273A.0020.0002.1016] # MYANMAR LETTER PHA
-107D ; [.273B.0020.0002.107D] # MYANMAR LETTER SHAN PHA
-107E ; [.273C.0020.0002.107E] # MYANMAR LETTER SHAN FA
-AA6F ; [.273D.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
-108E ; [.273E.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
-1017 ; [.273F.0020.0002.1017] # MYANMAR LETTER BA
-107F ; [.2740.0020.0002.107F] # MYANMAR LETTER SHAN BA
-1018 ; [.2741.0020.0002.1018] # MYANMAR LETTER BHA
-1019 ; [.2742.0020.0002.1019] # MYANMAR LETTER MA
-105F ; [.2743.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
-101A ; [.2744.0020.0002.101A] # MYANMAR LETTER YA
-103B ; [.2745.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
-101B ; [.2746.0020.0002.101B] # MYANMAR LETTER RA
-AA73 ; [.2747.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
-AA7A ; [.2748.0020.0002.AA7A] # MYANMAR LETTER AITON RA
-103C ; [.2749.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
-101C ; [.274A.0020.0002.101C] # MYANMAR LETTER LA
-1060 ; [.274B.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
-101D ; [.274C.0020.0002.101D] # MYANMAR LETTER WA
-103D ; [.274D.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
-1082 ; [.274E.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1080 ; [.274F.0020.0002.1080] # MYANMAR LETTER SHAN THA
-1050 ; [.2750.0020.0002.1050] # MYANMAR LETTER SHA
-1051 ; [.2751.0020.0002.1051] # MYANMAR LETTER SSA
-1065 ; [.2752.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
-101E ; [.2753.0020.0002.101E] # MYANMAR LETTER SA
-103F ; [.2753.0020.0004.103F][.278A.0020.0004.103F][.2753.0020.0004.103F] # MYANMAR LETTER GREAT SA
-AA6C ; [.2754.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
-101F ; [.2755.0020.0002.101F] # MYANMAR LETTER HA
-1081 ; [.2756.0020.0002.1081] # MYANMAR LETTER SHAN HA
-AA6D ; [.2757.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
-103E ; [.2758.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
-AA6E ; [.2759.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
-AA71 ; [.275A.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
-1020 ; [.275B.0020.0002.1020] # MYANMAR LETTER LLA
-105C ; [.275C.0020.0002.105C] # MYANMAR LETTER MON BBA
-105D ; [.275D.0020.0002.105D] # MYANMAR LETTER MON BBE
-106F ; [.275E.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070 ; [.275F.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1066 ; [.2760.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
-1021 ; [.2761.0020.0002.1021] # MYANMAR LETTER A
-1022 ; [.2762.0020.0002.1022] # MYANMAR LETTER SHAN A
-1023 ; [.2763.0020.0002.1023] # MYANMAR LETTER I
-1024 ; [.2764.0020.0002.1024] # MYANMAR LETTER II
-1025 ; [.2765.0020.0002.1025] # MYANMAR LETTER U
-1026 ; [.2766.0020.0002.1026] # MYANMAR LETTER UU
-1025 102E ; [.2766.0020.0002.1026] # MYANMAR LETTER UU
-1052 ; [.2767.0020.0002.1052] # MYANMAR LETTER VOCALIC R
-1053 ; [.2768.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
-1054 ; [.2769.0020.0002.1054] # MYANMAR LETTER VOCALIC L
-1055 ; [.276A.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
-1027 ; [.276B.0020.0002.1027] # MYANMAR LETTER E
-1028 ; [.276C.0020.0002.1028] # MYANMAR LETTER MON E
-1029 ; [.276D.0020.0002.1029] # MYANMAR LETTER O
-102A ; [.276E.0020.0002.102A] # MYANMAR LETTER AU
-102C ; [.276F.0020.0002.102C] # MYANMAR VOWEL SIGN AA
-102B ; [.276F.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA
-1083 ; [.2770.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
-1072 ; [.2771.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
-109C ; [.2772.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
-102D ; [.2773.0020.0002.102D] # MYANMAR VOWEL SIGN I
-1071 ; [.2774.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
-102E ; [.2775.0020.0002.102E] # MYANMAR VOWEL SIGN II
-1033 ; [.2776.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
-102F ; [.2777.0020.0002.102F] # MYANMAR VOWEL SIGN U
-1073 ; [.2778.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
-1074 ; [.2779.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
-1030 ; [.277A.0020.0002.1030] # MYANMAR VOWEL SIGN UU
-1056 ; [.277B.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
-1057 ; [.277C.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
-1058 ; [.277D.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
-1059 ; [.277E.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
-1031 ; [.277F.0020.0002.1031] # MYANMAR VOWEL SIGN E
-1084 ; [.2780.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
-1035 ; [.2781.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
-1085 ; [.2782.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
-1032 ; [.2783.0020.0002.1032] # MYANMAR VOWEL SIGN AI
-109D ; [.2784.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
-1034 ; [.2785.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
-1062 ; [.2786.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
-1067 ; [.2787.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068 ; [.2788.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1086 ; [.2789.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
-1039 ; [.278A.0020.0002.1039] # MYANMAR SIGN VIRAMA
-103A ; [.278B.0020.0002.103A] # MYANMAR SIGN ASAT
-1063 ; [.278C.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
-1064 ; [.278D.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
-1069 ; [.278E.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A ; [.278F.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B ; [.2790.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C ; [.2791.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D ; [.2792.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1087 ; [.2793.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
-108B ; [.2794.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
-1088 ; [.2795.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
-108C ; [.2796.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
-1089 ; [.2797.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
-108A ; [.2798.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
-108F ; [.2799.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A ; [.279A.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
-109B ; [.279B.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
-AA7B ; [.279C.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
-AA74 ; [.279D.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
-AA75 ; [.279E.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
-AA76 ; [.279F.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
-11103 ; [.27A0.0020.0002.11103] # CHAKMA LETTER AA
-11104 ; [.27A1.0020.0002.11104] # CHAKMA LETTER I
-11105 ; [.27A2.0020.0002.11105] # CHAKMA LETTER U
-11106 ; [.27A3.0020.0002.11106] # CHAKMA LETTER E
-11107 ; [.27A4.0020.0002.11107] # CHAKMA LETTER KAA
-11108 ; [.27A5.0020.0002.11108] # CHAKMA LETTER KHAA
-11109 ; [.27A6.0020.0002.11109] # CHAKMA LETTER GAA
-1110A ; [.27A7.0020.0002.1110A] # CHAKMA LETTER GHAA
-1110B ; [.27A8.0020.0002.1110B] # CHAKMA LETTER NGAA
-1110C ; [.27A9.0020.0002.1110C] # CHAKMA LETTER CAA
-1110D ; [.27AA.0020.0002.1110D] # CHAKMA LETTER CHAA
-1110E ; [.27AB.0020.0002.1110E] # CHAKMA LETTER JAA
-1110F ; [.27AC.0020.0002.1110F] # CHAKMA LETTER JHAA
-11110 ; [.27AD.0020.0002.11110] # CHAKMA LETTER NYAA
-11111 ; [.27AE.0020.0002.11111] # CHAKMA LETTER TTAA
-11112 ; [.27AF.0020.0002.11112] # CHAKMA LETTER TTHAA
-11113 ; [.27B0.0020.0002.11113] # CHAKMA LETTER DDAA
-11114 ; [.27B1.0020.0002.11114] # CHAKMA LETTER DDHAA
-11115 ; [.27B2.0020.0002.11115] # CHAKMA LETTER NNAA
-11116 ; [.27B3.0020.0002.11116] # CHAKMA LETTER TAA
-11117 ; [.27B4.0020.0002.11117] # CHAKMA LETTER THAA
-11118 ; [.27B5.0020.0002.11118] # CHAKMA LETTER DAA
-11119 ; [.27B6.0020.0002.11119] # CHAKMA LETTER DHAA
-1111A ; [.27B7.0020.0002.1111A] # CHAKMA LETTER NAA
-1111B ; [.27B8.0020.0002.1111B] # CHAKMA LETTER PAA
-1111C ; [.27B9.0020.0002.1111C] # CHAKMA LETTER PHAA
-1111D ; [.27BA.0020.0002.1111D] # CHAKMA LETTER BAA
-1111E ; [.27BB.0020.0002.1111E] # CHAKMA LETTER BHAA
-1111F ; [.27BC.0020.0002.1111F] # CHAKMA LETTER MAA
-11120 ; [.27BD.0020.0002.11120] # CHAKMA LETTER YYAA
-11121 ; [.27BE.0020.0002.11121] # CHAKMA LETTER YAA
-11122 ; [.27BF.0020.0002.11122] # CHAKMA LETTER RAA
-11123 ; [.27C0.0020.0002.11123] # CHAKMA LETTER LAA
-11124 ; [.27C1.0020.0002.11124] # CHAKMA LETTER WAA
-11125 ; [.27C2.0020.0002.11125] # CHAKMA LETTER SAA
-11126 ; [.27C3.0020.0002.11126] # CHAKMA LETTER HAA
-11127 ; [.27C4.0020.0002.11127] # CHAKMA VOWEL SIGN A
-11128 ; [.27C5.0020.0002.11128] # CHAKMA VOWEL SIGN I
-11129 ; [.27C6.0020.0002.11129] # CHAKMA VOWEL SIGN II
-1112A ; [.27C7.0020.0002.1112A] # CHAKMA VOWEL SIGN U
-1112B ; [.27C8.0020.0002.1112B] # CHAKMA VOWEL SIGN UU
-1112C ; [.27C9.0020.0002.1112C] # CHAKMA VOWEL SIGN E
-1112D ; [.27CA.0020.0002.1112D] # CHAKMA VOWEL SIGN AI
-1112E ; [.27CB.0020.0002.1112E] # CHAKMA VOWEL SIGN O
-11131 11127 ; [.27CB.0020.0002.1112E] # CHAKMA VOWEL SIGN O
-1112F ; [.27CC.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
-11132 11127 ; [.27CC.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
-11130 ; [.27CD.0020.0002.11130] # CHAKMA VOWEL SIGN OI
-11131 ; [.27CE.0020.0002.11131] # CHAKMA O MARK
-11132 ; [.27CF.0020.0002.11132] # CHAKMA AU MARK
-11133 ; [.27D0.0020.0002.11133] # CHAKMA VIRAMA
-11134 ; [.27D1.0020.0002.11134] # CHAKMA MAAYYAA
-1780 ; [.27D2.0020.0002.1780] # KHMER LETTER KA
-1781 ; [.27D3.0020.0002.1781] # KHMER LETTER KHA
-1782 ; [.27D4.0020.0002.1782] # KHMER LETTER KO
-1783 ; [.27D5.0020.0002.1783] # KHMER LETTER KHO
-1784 ; [.27D6.0020.0002.1784] # KHMER LETTER NGO
-1785 ; [.27D7.0020.0002.1785] # KHMER LETTER CA
-1786 ; [.27D8.0020.0002.1786] # KHMER LETTER CHA
-1787 ; [.27D9.0020.0002.1787] # KHMER LETTER CO
-1788 ; [.27DA.0020.0002.1788] # KHMER LETTER CHO
-1789 ; [.27DB.0020.0002.1789] # KHMER LETTER NYO
-178A ; [.27DC.0020.0002.178A] # KHMER LETTER DA
-178B ; [.27DD.0020.0002.178B] # KHMER LETTER TTHA
-178C ; [.27DE.0020.0002.178C] # KHMER LETTER DO
-178D ; [.27DF.0020.0002.178D] # KHMER LETTER TTHO
-178E ; [.27E0.0020.0002.178E] # KHMER LETTER NNO
-178F ; [.27E1.0020.0002.178F] # KHMER LETTER TA
-1790 ; [.27E2.0020.0002.1790] # KHMER LETTER THA
-1791 ; [.27E3.0020.0002.1791] # KHMER LETTER TO
-1792 ; [.27E4.0020.0002.1792] # KHMER LETTER THO
-1793 ; [.27E5.0020.0002.1793] # KHMER LETTER NO
-1794 ; [.27E6.0020.0002.1794] # KHMER LETTER BA
-1795 ; [.27E7.0020.0002.1795] # KHMER LETTER PHA
-1796 ; [.27E8.0020.0002.1796] # KHMER LETTER PO
-1797 ; [.27E9.0020.0002.1797] # KHMER LETTER PHO
-1798 ; [.27EA.0020.0002.1798] # KHMER LETTER MO
-1799 ; [.27EB.0020.0002.1799] # KHMER LETTER YO
-179A ; [.27EC.0020.0002.179A] # KHMER LETTER RO
-179B ; [.27ED.0020.0002.179B] # KHMER LETTER LO
-179C ; [.27EE.0020.0002.179C] # KHMER LETTER VO
-179D ; [.27EF.0020.0002.179D] # KHMER LETTER SHA
-179E ; [.27F0.0020.0002.179E] # KHMER LETTER SSO
-179F ; [.27F1.0020.0002.179F] # KHMER LETTER SA
-17A0 ; [.27F2.0020.0002.17A0] # KHMER LETTER HA
-17A1 ; [.27F3.0020.0002.17A1] # KHMER LETTER LA
-17A2 ; [.27F4.0020.0002.17A2] # KHMER LETTER QA
-17DC ; [.27F5.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
-17A3 ; [.27F6.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
-17A4 ; [.27F7.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
-17A5 ; [.27F8.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
-17A6 ; [.27F9.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
-17A7 ; [.27FA.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
-17A8 ; [.27FB.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
-17A9 ; [.27FC.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
-17AA ; [.27FD.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
-17AB ; [.27FE.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
-17AC ; [.27FF.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
-17AD ; [.2800.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
-17AE ; [.2801.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
-17AF ; [.2802.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
-17B0 ; [.2803.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
-17B1 ; [.2804.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2 ; [.2805.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3 ; [.2806.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
-17B6 ; [.2807.0020.0002.17B6] # KHMER VOWEL SIGN AA
-17B7 ; [.2808.0020.0002.17B7] # KHMER VOWEL SIGN I
-17B8 ; [.2809.0020.0002.17B8] # KHMER VOWEL SIGN II
-17B9 ; [.280A.0020.0002.17B9] # KHMER VOWEL SIGN Y
-17BA ; [.280B.0020.0002.17BA] # KHMER VOWEL SIGN YY
-17BB ; [.280C.0020.0002.17BB] # KHMER VOWEL SIGN U
-17BC ; [.280D.0020.0002.17BC] # KHMER VOWEL SIGN UU
-17BD ; [.280E.0020.0002.17BD] # KHMER VOWEL SIGN UA
-17BE ; [.280F.0020.0002.17BE] # KHMER VOWEL SIGN OE
-17BF ; [.2810.0020.0002.17BF] # KHMER VOWEL SIGN YA
-17C0 ; [.2811.0020.0002.17C0] # KHMER VOWEL SIGN IE
-17C1 ; [.2812.0020.0002.17C1] # KHMER VOWEL SIGN E
-17C2 ; [.2813.0020.0002.17C2] # KHMER VOWEL SIGN AE
-17C3 ; [.2814.0020.0002.17C3] # KHMER VOWEL SIGN AI
-17C4 ; [.2815.0020.0002.17C4] # KHMER VOWEL SIGN OO
-17C5 ; [.2816.0020.0002.17C5] # KHMER VOWEL SIGN AU
-17D2 ; [.2817.0020.0002.17D2] # KHMER SIGN COENG
-1950 ; [.2818.0020.0002.1950] # TAI LE LETTER KA
-1951 ; [.2819.0020.0002.1951] # TAI LE LETTER XA
-1952 ; [.281A.0020.0002.1952] # TAI LE LETTER NGA
-1953 ; [.281B.0020.0002.1953] # TAI LE LETTER TSA
-1954 ; [.281C.0020.0002.1954] # TAI LE LETTER SA
-1955 ; [.281D.0020.0002.1955] # TAI LE LETTER YA
-1956 ; [.281E.0020.0002.1956] # TAI LE LETTER TA
-1957 ; [.281F.0020.0002.1957] # TAI LE LETTER THA
-1958 ; [.2820.0020.0002.1958] # TAI LE LETTER LA
-1959 ; [.2821.0020.0002.1959] # TAI LE LETTER PA
-195A ; [.2822.0020.0002.195A] # TAI LE LETTER PHA
-195B ; [.2823.0020.0002.195B] # TAI LE LETTER MA
-195C ; [.2824.0020.0002.195C] # TAI LE LETTER FA
-195D ; [.2825.0020.0002.195D] # TAI LE LETTER VA
-195E ; [.2826.0020.0002.195E] # TAI LE LETTER HA
-195F ; [.2827.0020.0002.195F] # TAI LE LETTER QA
-1960 ; [.2828.0020.0002.1960] # TAI LE LETTER KHA
-1961 ; [.2829.0020.0002.1961] # TAI LE LETTER TSHA
-1962 ; [.282A.0020.0002.1962] # TAI LE LETTER NA
-1963 ; [.282B.0020.0002.1963] # TAI LE LETTER A
-1964 ; [.282C.0020.0002.1964] # TAI LE LETTER I
-1965 ; [.282D.0020.0002.1965] # TAI LE LETTER EE
-1966 ; [.282E.0020.0002.1966] # TAI LE LETTER EH
-1967 ; [.282F.0020.0002.1967] # TAI LE LETTER U
-1968 ; [.2830.0020.0002.1968] # TAI LE LETTER OO
-1969 ; [.2831.0020.0002.1969] # TAI LE LETTER O
-196A ; [.2832.0020.0002.196A] # TAI LE LETTER UE
-196B ; [.2833.0020.0002.196B] # TAI LE LETTER E
-196C ; [.2834.0020.0002.196C] # TAI LE LETTER AUE
-196D ; [.2835.0020.0002.196D] # TAI LE LETTER AI
-1970 ; [.2836.0020.0002.1970] # TAI LE LETTER TONE-2
-1971 ; [.2837.0020.0002.1971] # TAI LE LETTER TONE-3
-1972 ; [.2838.0020.0002.1972] # TAI LE LETTER TONE-4
-1973 ; [.2839.0020.0002.1973] # TAI LE LETTER TONE-5
-1974 ; [.283A.0020.0002.1974] # TAI LE LETTER TONE-6
-1980 ; [.283B.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
-1981 ; [.283C.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
-1982 ; [.283D.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
-1983 ; [.283E.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
-1984 ; [.283F.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
-1985 ; [.2840.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
-1986 ; [.2841.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
-1987 ; [.2842.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
-1988 ; [.2843.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
-1989 ; [.2844.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
-198A ; [.2845.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
-198B ; [.2846.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
-198C ; [.2847.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
-198D ; [.2848.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
-198E ; [.2849.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
-198F ; [.284A.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
-1990 ; [.284B.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
-1991 ; [.284C.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
-1992 ; [.284D.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
-1993 ; [.284E.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
-1994 ; [.284F.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
-1995 ; [.2850.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
-1996 ; [.2851.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
-1997 ; [.2852.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
-1998 ; [.2853.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
-1999 ; [.2854.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
-199A ; [.2855.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
-199B ; [.2856.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
-199C ; [.2857.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
-19DE ; [.2857.0020.0004.19DE][.286D.0020.0004.19DE] # NEW TAI LUE SIGN LAE
-19DF ; [.2857.0020.0004.19DF][.286D.0020.0004.19DF][.2878.0020.0004.19DF] # NEW TAI LUE SIGN LAEV
-199D ; [.2858.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
-199E ; [.2859.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
-199F ; [.285A.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
-19A0 ; [.285B.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
-19A1 ; [.285C.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
-19A2 ; [.285D.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
-19A3 ; [.285E.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
-19A4 ; [.285F.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
-19A5 ; [.2860.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
-19A6 ; [.2861.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
-19A7 ; [.2862.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
-19A8 ; [.2863.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
-19A9 ; [.2864.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
-19AA ; [.2865.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
-19AB ; [.2866.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
-19B0 ; [.2867.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1 ; [.2868.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
-19B2 ; [.2869.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
-19B3 ; [.286A.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
-19B4 ; [.286B.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
-19B5 ; [.286C.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
-19B6 ; [.286D.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
-19B7 ; [.286E.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
-19B8 ; [.286F.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
-19B9 ; [.2870.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
-19BA ; [.2871.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
-19BB ; [.2872.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
-19BC ; [.2873.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
-19BD ; [.2874.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
-19BE ; [.2875.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
-19BF ; [.2876.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
-19C0 ; [.2877.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
-19C1 ; [.2878.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
-19C2 ; [.2879.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
-19C3 ; [.287A.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
-19C4 ; [.287B.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
-19C5 ; [.287C.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
-19C6 ; [.287D.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
-19C7 ; [.287E.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
-19C8 ; [.287F.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
-19C9 ; [.2880.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
-1A20 ; [.2881.0020.0002.1A20] # TAI THAM LETTER HIGH KA
-1A21 ; [.2882.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
-1A22 ; [.2883.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
-1A23 ; [.2884.0020.0002.1A23] # TAI THAM LETTER LOW KA
-1A24 ; [.2885.0020.0002.1A24] # TAI THAM LETTER LOW KXA
-1A25 ; [.2886.0020.0002.1A25] # TAI THAM LETTER LOW KHA
-1A26 ; [.2887.0020.0002.1A26] # TAI THAM LETTER NGA
-1A58 ; [.2887.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI
-1A59 ; [.2887.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA
-1A27 ; [.2888.0020.0002.1A27] # TAI THAM LETTER HIGH CA
-1A28 ; [.2889.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
-1A29 ; [.288A.0020.0002.1A29] # TAI THAM LETTER LOW CA
-1A2A ; [.288B.0020.0002.1A2A] # TAI THAM LETTER LOW SA
-1A2B ; [.288C.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
-1A2C ; [.288D.0020.0002.1A2C] # TAI THAM LETTER NYA
-1A2D ; [.288E.0020.0002.1A2D] # TAI THAM LETTER RATA
-1A2E ; [.288F.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
-1A2F ; [.2890.0020.0002.1A2F] # TAI THAM LETTER DA
-1A30 ; [.2891.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
-1A31 ; [.2892.0020.0002.1A31] # TAI THAM LETTER RANA
-1A32 ; [.2893.0020.0002.1A32] # TAI THAM LETTER HIGH TA
-1A33 ; [.2894.0020.0002.1A33] # TAI THAM LETTER HIGH THA
-1A34 ; [.2895.0020.0002.1A34] # TAI THAM LETTER LOW TA
-1A35 ; [.2896.0020.0002.1A35] # TAI THAM LETTER LOW THA
-1A36 ; [.2897.0020.0002.1A36] # TAI THAM LETTER NA
-1A37 ; [.2898.0020.0002.1A37] # TAI THAM LETTER BA
-1A38 ; [.2899.0020.0002.1A38] # TAI THAM LETTER HIGH PA
-1A39 ; [.289A.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
-1A3A ; [.289B.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
-1A3B ; [.289C.0020.0002.1A3B] # TAI THAM LETTER LOW PA
-1A5A ; [.289C.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA
-1A5B ; [.289C.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A3C ; [.289D.0020.0002.1A3C] # TAI THAM LETTER LOW FA
-1A3D ; [.289E.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
-1A3E ; [.289F.0020.0002.1A3E] # TAI THAM LETTER MA
-1A3F ; [.28A0.0020.0002.1A3F] # TAI THAM LETTER LOW YA
-1A40 ; [.28A1.0020.0002.1A40] # TAI THAM LETTER HIGH YA
-1A41 ; [.28A2.0020.0002.1A41] # TAI THAM LETTER RA
-1A42 ; [.28A3.0020.0002.1A42] # TAI THAM LETTER RUE
-1A43 ; [.28A4.0020.0002.1A43] # TAI THAM LETTER LA
-1A44 ; [.28A5.0020.0002.1A44] # TAI THAM LETTER LUE
-1A45 ; [.28A6.0020.0002.1A45] # TAI THAM LETTER WA
-1A46 ; [.28A7.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
-1A54 ; [.28A7.0020.0004.1A54][.28CD.0020.0004.1A54][.28A7.0020.0004.1A54] # TAI THAM LETTER GREAT SA
-1A47 ; [.28A8.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
-1A48 ; [.28A9.0020.0002.1A48] # TAI THAM LETTER HIGH SA
-1A49 ; [.28AA.0020.0002.1A49] # TAI THAM LETTER HIGH HA
-1A4A ; [.28AB.0020.0002.1A4A] # TAI THAM LETTER LLA
-1A4B ; [.28AC.0020.0002.1A4B] # TAI THAM LETTER A
-1A4C ; [.28AD.0020.0002.1A4C] # TAI THAM LETTER LOW HA
-1A53 ; [.28AE.0020.0002.1A53] # TAI THAM LETTER LAE
-1A6B ; [.28AF.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
-1A55 ; [.28B0.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; [.28B1.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; [.28B2.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
-1A5C ; [.28B3.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
-1A5D ; [.28B4.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
-1A5E ; [.28B5.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
-1A4D ; [.28B6.0020.0002.1A4D] # TAI THAM LETTER I
-1A4E ; [.28B7.0020.0002.1A4E] # TAI THAM LETTER II
-1A4F ; [.28B8.0020.0002.1A4F] # TAI THAM LETTER U
-1A50 ; [.28B9.0020.0002.1A50] # TAI THAM LETTER UU
-1A51 ; [.28BA.0020.0002.1A51] # TAI THAM LETTER EE
-1A52 ; [.28BB.0020.0002.1A52] # TAI THAM LETTER OO
-1A61 ; [.28BC.0020.0002.1A61] # TAI THAM VOWEL SIGN A
-1A6C ; [.28BD.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
-1A62 ; [.28BE.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
-1A63 ; [.28BF.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
-1A64 ; [.28BF.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA
-1A65 ; [.28C0.0020.0002.1A65] # TAI THAM VOWEL SIGN I
-1A66 ; [.28C1.0020.0002.1A66] # TAI THAM VOWEL SIGN II
-1A67 ; [.28C2.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
-1A68 ; [.28C3.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
-1A69 ; [.28C4.0020.0002.1A69] # TAI THAM VOWEL SIGN U
-1A6A ; [.28C5.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
-1A6E ; [.28C6.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
-1A6F ; [.28C7.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
-1A73 ; [.28C8.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
-1A70 ; [.28C9.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
-1A71 ; [.28CA.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
-1A72 ; [.28CB.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
-1A6D ; [.28CC.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
-1A60 ; [.28CD.0020.0002.1A60] # TAI THAM SIGN SAKOT
-AA00 ; [.28CE.0020.0002.AA00] # CHAM LETTER A
-AA01 ; [.28CF.0020.0002.AA01] # CHAM LETTER I
-AA02 ; [.28D0.0020.0002.AA02] # CHAM LETTER U
-AA03 ; [.28D1.0020.0002.AA03] # CHAM LETTER E
-AA04 ; [.28D2.0020.0002.AA04] # CHAM LETTER AI
-AA05 ; [.28D3.0020.0002.AA05] # CHAM LETTER O
-AA06 ; [.28D4.0020.0002.AA06] # CHAM LETTER KA
-AA07 ; [.28D5.0020.0002.AA07] # CHAM LETTER KHA
-AA08 ; [.28D6.0020.0002.AA08] # CHAM LETTER GA
-AA09 ; [.28D7.0020.0002.AA09] # CHAM LETTER GHA
-AA0A ; [.28D8.0020.0002.AA0A] # CHAM LETTER NGUE
-AA0B ; [.28D9.0020.0002.AA0B] # CHAM LETTER NGA
-AA0C ; [.28DA.0020.0002.AA0C] # CHAM LETTER CHA
-AA0D ; [.28DB.0020.0002.AA0D] # CHAM LETTER CHHA
-AA0E ; [.28DC.0020.0002.AA0E] # CHAM LETTER JA
-AA0F ; [.28DD.0020.0002.AA0F] # CHAM LETTER JHA
-AA10 ; [.28DE.0020.0002.AA10] # CHAM LETTER NHUE
-AA11 ; [.28DF.0020.0002.AA11] # CHAM LETTER NHA
-AA12 ; [.28E0.0020.0002.AA12] # CHAM LETTER NHJA
-AA13 ; [.28E1.0020.0002.AA13] # CHAM LETTER TA
-AA14 ; [.28E2.0020.0002.AA14] # CHAM LETTER THA
-AA15 ; [.28E3.0020.0002.AA15] # CHAM LETTER DA
-AA16 ; [.28E4.0020.0002.AA16] # CHAM LETTER DHA
-AA17 ; [.28E5.0020.0002.AA17] # CHAM LETTER NUE
-AA18 ; [.28E6.0020.0002.AA18] # CHAM LETTER NA
-AA19 ; [.28E7.0020.0002.AA19] # CHAM LETTER DDA
-AA1A ; [.28E8.0020.0002.AA1A] # CHAM LETTER PA
-AA1B ; [.28E9.0020.0002.AA1B] # CHAM LETTER PPA
-AA1C ; [.28EA.0020.0002.AA1C] # CHAM LETTER PHA
-AA1D ; [.28EB.0020.0002.AA1D] # CHAM LETTER BA
-AA1E ; [.28EC.0020.0002.AA1E] # CHAM LETTER BHA
-AA1F ; [.28ED.0020.0002.AA1F] # CHAM LETTER MUE
-AA20 ; [.28EE.0020.0002.AA20] # CHAM LETTER MA
-AA21 ; [.28EF.0020.0002.AA21] # CHAM LETTER BBA
-AA22 ; [.28F0.0020.0002.AA22] # CHAM LETTER YA
-AA23 ; [.28F1.0020.0002.AA23] # CHAM LETTER RA
-AA24 ; [.28F2.0020.0002.AA24] # CHAM LETTER LA
-AA25 ; [.28F3.0020.0002.AA25] # CHAM LETTER VA
-AA26 ; [.28F4.0020.0002.AA26] # CHAM LETTER SSA
-AA27 ; [.28F5.0020.0002.AA27] # CHAM LETTER SA
-AA28 ; [.28F6.0020.0002.AA28] # CHAM LETTER HA
-AA33 ; [.28F7.0020.0002.AA33] # CHAM CONSONANT SIGN YA
-AA34 ; [.28F8.0020.0002.AA34] # CHAM CONSONANT SIGN RA
-AA35 ; [.28F9.0020.0002.AA35] # CHAM CONSONANT SIGN LA
-AA36 ; [.28FA.0020.0002.AA36] # CHAM CONSONANT SIGN WA
-AA29 ; [.28FB.0020.0002.AA29] # CHAM VOWEL SIGN AA
-AA2A ; [.28FC.0020.0002.AA2A] # CHAM VOWEL SIGN I
-AA2B ; [.28FD.0020.0002.AA2B] # CHAM VOWEL SIGN II
-AA2C ; [.28FE.0020.0002.AA2C] # CHAM VOWEL SIGN EI
-AA2D ; [.28FF.0020.0002.AA2D] # CHAM VOWEL SIGN U
-AA2E ; [.2900.0020.0002.AA2E] # CHAM VOWEL SIGN OE
-AA2F ; [.2901.0020.0002.AA2F] # CHAM VOWEL SIGN O
-AA30 ; [.2902.0020.0002.AA30] # CHAM VOWEL SIGN AI
-AA31 ; [.2903.0020.0002.AA31] # CHAM VOWEL SIGN AU
-AA32 ; [.2904.0020.0002.AA32] # CHAM VOWEL SIGN UE
-AA40 ; [.2905.0020.0002.AA40] # CHAM LETTER FINAL K
-AA41 ; [.2906.0020.0002.AA41] # CHAM LETTER FINAL G
-AA42 ; [.2907.0020.0002.AA42] # CHAM LETTER FINAL NG
-AA43 ; [.2908.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
-AA44 ; [.2909.0020.0002.AA44] # CHAM LETTER FINAL CH
-AA45 ; [.290A.0020.0002.AA45] # CHAM LETTER FINAL T
-AA46 ; [.290B.0020.0002.AA46] # CHAM LETTER FINAL N
-AA47 ; [.290C.0020.0002.AA47] # CHAM LETTER FINAL P
-AA48 ; [.290D.0020.0002.AA48] # CHAM LETTER FINAL Y
-AA49 ; [.290E.0020.0002.AA49] # CHAM LETTER FINAL R
-AA4A ; [.290F.0020.0002.AA4A] # CHAM LETTER FINAL L
-AA4B ; [.2910.0020.0002.AA4B] # CHAM LETTER FINAL SS
-AA4C ; [.2911.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
-AA4D ; [.2912.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
-1B05 ; [.2913.0020.0002.1B05] # BALINESE LETTER AKARA
-1B06 ; [.2914.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B05 1B35 ; [.2914.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B07 ; [.2915.0020.0002.1B07] # BALINESE LETTER IKARA
-1B08 ; [.2916.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B07 1B35 ; [.2916.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B09 ; [.2917.0020.0002.1B09] # BALINESE LETTER UKARA
-1B0A ; [.2918.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B09 1B35 ; [.2918.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B0B ; [.2919.0020.0002.1B0B] # BALINESE LETTER RA REPA
-1B0C ; [.291A.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0B 1B35 ; [.291A.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0D ; [.291B.0020.0002.1B0D] # BALINESE LETTER LA LENGA
-1B0E ; [.291C.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0D 1B35 ; [.291C.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0F ; [.291D.0020.0002.1B0F] # BALINESE LETTER EKARA
-1B10 ; [.291E.0020.0002.1B10] # BALINESE LETTER AIKARA
-1B11 ; [.291F.0020.0002.1B11] # BALINESE LETTER OKARA
-1B12 ; [.2920.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B11 1B35 ; [.2920.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B13 ; [.2921.0020.0002.1B13] # BALINESE LETTER KA
-1B45 ; [.2922.0020.0002.1B45] # BALINESE LETTER KAF SASAK
-1B46 ; [.2923.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
-1B14 ; [.2924.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
-1B15 ; [.2925.0020.0002.1B15] # BALINESE LETTER GA
-1B16 ; [.2926.0020.0002.1B16] # BALINESE LETTER GA GORA
-1B17 ; [.2927.0020.0002.1B17] # BALINESE LETTER NGA
-1B18 ; [.2928.0020.0002.1B18] # BALINESE LETTER CA
-1B19 ; [.2929.0020.0002.1B19] # BALINESE LETTER CA LACA
-1B1A ; [.292A.0020.0002.1B1A] # BALINESE LETTER JA
-1B1B ; [.292B.0020.0002.1B1B] # BALINESE LETTER JA JERA
-1B1C ; [.292C.0020.0002.1B1C] # BALINESE LETTER NYA
-1B1D ; [.292D.0020.0002.1B1D] # BALINESE LETTER TA LATIK
-1B1E ; [.292E.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F ; [.292F.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
-1B20 ; [.2930.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
-1B21 ; [.2931.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
-1B22 ; [.2932.0020.0002.1B22] # BALINESE LETTER TA
-1B47 ; [.2933.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
-1B23 ; [.2934.0020.0002.1B23] # BALINESE LETTER TA TAWA
-1B24 ; [.2935.0020.0002.1B24] # BALINESE LETTER DA
-1B25 ; [.2936.0020.0002.1B25] # BALINESE LETTER DA MADU
-1B26 ; [.2937.0020.0002.1B26] # BALINESE LETTER NA
-1B27 ; [.2938.0020.0002.1B27] # BALINESE LETTER PA
-1B48 ; [.2939.0020.0002.1B48] # BALINESE LETTER EF SASAK
-1B28 ; [.293A.0020.0002.1B28] # BALINESE LETTER PA KAPAL
-1B29 ; [.293B.0020.0002.1B29] # BALINESE LETTER BA
-1B2A ; [.293C.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
-1B2B ; [.293D.0020.0002.1B2B] # BALINESE LETTER MA
-1B2C ; [.293E.0020.0002.1B2C] # BALINESE LETTER YA
-1B2D ; [.293F.0020.0002.1B2D] # BALINESE LETTER RA
-1B2E ; [.2940.0020.0002.1B2E] # BALINESE LETTER LA
-1B2F ; [.2941.0020.0002.1B2F] # BALINESE LETTER WA
-1B49 ; [.2942.0020.0002.1B49] # BALINESE LETTER VE SASAK
-1B30 ; [.2943.0020.0002.1B30] # BALINESE LETTER SA SAGA
-1B31 ; [.2944.0020.0002.1B31] # BALINESE LETTER SA SAPA
-1B32 ; [.2945.0020.0002.1B32] # BALINESE LETTER SA
-1B4A ; [.2946.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
-1B4B ; [.2947.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
-1B33 ; [.2948.0020.0002.1B33] # BALINESE LETTER HA
-1B35 ; [.2949.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
-1B36 ; [.294A.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
-1B37 ; [.294B.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
-1B38 ; [.294C.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
-1B39 ; [.294D.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
-1B3A ; [.294E.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
-1B3B ; [.294F.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3A 1B35 ; [.294F.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; [.2950.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
-1B3D ; [.2951.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3C 1B35 ; [.2951.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E ; [.2952.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
-1B3F ; [.2953.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
-1B40 ; [.2954.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B3E 1B35 ; [.2954.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B41 ; [.2955.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B3F 1B35 ; [.2955.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; [.2956.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
-1B43 ; [.2957.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B42 1B35 ; [.2957.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44 ; [.2958.0020.0002.1B44] # BALINESE ADEG ADEG
-A984 ; [.2959.0020.0002.A984] # JAVANESE LETTER A
-A985 ; [.295A.0020.0002.A985] # JAVANESE LETTER I KAWI
-A986 ; [.295B.0020.0002.A986] # JAVANESE LETTER I
-A987 ; [.295C.0020.0002.A987] # JAVANESE LETTER II
-A988 ; [.295D.0020.0002.A988] # JAVANESE LETTER U
-A989 ; [.295E.0020.0002.A989] # JAVANESE LETTER PA CEREK
-A98A ; [.295F.0020.0002.A98A] # JAVANESE LETTER NGA LELET
-A98B ; [.2960.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
-A98C ; [.2961.0020.0002.A98C] # JAVANESE LETTER E
-A98D ; [.2962.0020.0002.A98D] # JAVANESE LETTER AI
-A98E ; [.2963.0020.0002.A98E] # JAVANESE LETTER O
-A98F ; [.2964.0020.0002.A98F] # JAVANESE LETTER KA
-A990 ; [.2965.0020.0002.A990] # JAVANESE LETTER KA SASAK
-A991 ; [.2966.0020.0002.A991] # JAVANESE LETTER KA MURDA
-A992 ; [.2967.0020.0002.A992] # JAVANESE LETTER GA
-A993 ; [.2968.0020.0002.A993] # JAVANESE LETTER GA MURDA
-A994 ; [.2969.0020.0002.A994] # JAVANESE LETTER NGA
-A995 ; [.296A.0020.0002.A995] # JAVANESE LETTER CA
-A996 ; [.296B.0020.0002.A996] # JAVANESE LETTER CA MURDA
-A997 ; [.296C.0020.0002.A997] # JAVANESE LETTER JA
-A998 ; [.296D.0020.0002.A998] # JAVANESE LETTER NYA MURDA
-A999 ; [.296E.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
-A99A ; [.296F.0020.0002.A99A] # JAVANESE LETTER NYA
-A99B ; [.2970.0020.0002.A99B] # JAVANESE LETTER TTA
-A99C ; [.2971.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
-A99D ; [.2972.0020.0002.A99D] # JAVANESE LETTER DDA
-A99E ; [.2973.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
-A99F ; [.2974.0020.0002.A99F] # JAVANESE LETTER NA MURDA
-A9A0 ; [.2975.0020.0002.A9A0] # JAVANESE LETTER TA
-A9A1 ; [.2976.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
-A9A2 ; [.2977.0020.0002.A9A2] # JAVANESE LETTER DA
-A9A3 ; [.2978.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
-A9A4 ; [.2979.0020.0002.A9A4] # JAVANESE LETTER NA
-A9A5 ; [.297A.0020.0002.A9A5] # JAVANESE LETTER PA
-A9A6 ; [.297B.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
-A9A7 ; [.297C.0020.0002.A9A7] # JAVANESE LETTER BA
-A9A8 ; [.297D.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
-A9A9 ; [.297E.0020.0002.A9A9] # JAVANESE LETTER MA
-A9AA ; [.297F.0020.0002.A9AA] # JAVANESE LETTER YA
-A9BE ; [.2980.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
-A9AB ; [.2981.0020.0002.A9AB] # JAVANESE LETTER RA
-A9AC ; [.2981.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG
-A9BF ; [.2982.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
-A9AD ; [.2983.0020.0002.A9AD] # JAVANESE LETTER LA
-A9AE ; [.2984.0020.0002.A9AE] # JAVANESE LETTER WA
-A9AF ; [.2985.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
-A9B0 ; [.2986.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
-A9B1 ; [.2987.0020.0002.A9B1] # JAVANESE LETTER SA
-A9B2 ; [.2988.0020.0002.A9B2] # JAVANESE LETTER HA
-A9B4 ; [.2989.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
-A9BC ; [.298A.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
-A9B6 ; [.298B.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
-A9B7 ; [.298C.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
-A9B8 ; [.298D.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
-A9B9 ; [.298E.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BD ; [.298F.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
-A9BA ; [.2990.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
-A9BB ; [.2991.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
-A9B5 ; [.2992.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
-A9C0 ; [.2993.0020.0002.A9C0] # JAVANESE PANGKON
-1880 ; [.2994.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881 ; [.2995.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882 ; [.2996.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
-1883 ; [.2997.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
-1884 ; [.2998.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885 ; [.2999.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
-1886 ; [.299A.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1843 ; [.299B.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1820 ; [.299C.0020.0002.1820] # MONGOLIAN LETTER A
-1887 ; [.299D.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
-1821 ; [.299E.0020.0002.1821] # MONGOLIAN LETTER E
-1844 ; [.299F.0020.0002.1844] # MONGOLIAN LETTER TODO E
-185D ; [.29A0.0020.0002.185D] # MONGOLIAN LETTER SIBE E
-1822 ; [.29A1.0020.0002.1822] # MONGOLIAN LETTER I
-1845 ; [.29A2.0020.0002.1845] # MONGOLIAN LETTER TODO I
-185E ; [.29A3.0020.0002.185E] # MONGOLIAN LETTER SIBE I
-1873 ; [.29A4.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
-1888 ; [.29A5.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
-185F ; [.29A6.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
-1823 ; [.29A7.0020.0002.1823] # MONGOLIAN LETTER O
-1846 ; [.29A8.0020.0002.1846] # MONGOLIAN LETTER TODO O
-1824 ; [.29A9.0020.0002.1824] # MONGOLIAN LETTER U
-1847 ; [.29AA.0020.0002.1847] # MONGOLIAN LETTER TODO U
-1861 ; [.29AB.0020.0002.1861] # MONGOLIAN LETTER SIBE U
-1825 ; [.29AC.0020.0002.1825] # MONGOLIAN LETTER OE
-1848 ; [.29AD.0020.0002.1848] # MONGOLIAN LETTER TODO OE
-1826 ; [.29AE.0020.0002.1826] # MONGOLIAN LETTER UE
-1849 ; [.29AF.0020.0002.1849] # MONGOLIAN LETTER TODO UE
-1860 ; [.29B0.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
-1827 ; [.29B1.0020.0002.1827] # MONGOLIAN LETTER EE
-1828 ; [.29B2.0020.0002.1828] # MONGOLIAN LETTER NA
-1829 ; [.29B3.0020.0002.1829] # MONGOLIAN LETTER ANG
-184A ; [.29B4.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
-1862 ; [.29B5.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
-188A ; [.29B6.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
-189B ; [.29B7.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
-182A ; [.29B8.0020.0002.182A] # MONGOLIAN LETTER BA
-184B ; [.29B9.0020.0002.184B] # MONGOLIAN LETTER TODO BA
-182B ; [.29BA.0020.0002.182B] # MONGOLIAN LETTER PA
-184C ; [.29BB.0020.0002.184C] # MONGOLIAN LETTER TODO PA
-1866 ; [.29BC.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
-182C ; [.29BD.0020.0002.182C] # MONGOLIAN LETTER QA
-184D ; [.29BE.0020.0002.184D] # MONGOLIAN LETTER TODO QA
-182D ; [.29BF.0020.0002.182D] # MONGOLIAN LETTER GA
-184E ; [.29C0.0020.0002.184E] # MONGOLIAN LETTER TODO GA
-1864 ; [.29C1.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
-189A ; [.29C2.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
-1865 ; [.29C3.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
-182E ; [.29C4.0020.0002.182E] # MONGOLIAN LETTER MA
-184F ; [.29C5.0020.0002.184F] # MONGOLIAN LETTER TODO MA
-182F ; [.29C6.0020.0002.182F] # MONGOLIAN LETTER LA
-1830 ; [.29C7.0020.0002.1830] # MONGOLIAN LETTER SA
-1831 ; [.29C8.0020.0002.1831] # MONGOLIAN LETTER SHA
-1867 ; [.29C9.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
-189C ; [.29CA.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D ; [.29CB.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
-18A2 ; [.29CC.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A4 ; [.29CD.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5 ; [.29CE.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
-1832 ; [.29CF.0020.0002.1832] # MONGOLIAN LETTER TA
-1850 ; [.29D0.0020.0002.1850] # MONGOLIAN LETTER TODO TA
-1868 ; [.29D1.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
-1833 ; [.29D2.0020.0002.1833] # MONGOLIAN LETTER DA
-1851 ; [.29D3.0020.0002.1851] # MONGOLIAN LETTER TODO DA
-1869 ; [.29D4.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
-1834 ; [.29D5.0020.0002.1834] # MONGOLIAN LETTER CHA
-1852 ; [.29D6.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
-1871 ; [.29D7.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
-185C ; [.29D8.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
-188B ; [.29D9.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
-1835 ; [.29DA.0020.0002.1835] # MONGOLIAN LETTER JA
-1853 ; [.29DB.0020.0002.1853] # MONGOLIAN LETTER TODO JA
-186A ; [.29DC.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
-1877 ; [.29DD.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
-1836 ; [.29DE.0020.0002.1836] # MONGOLIAN LETTER YA
-1855 ; [.29DF.0020.0002.1855] # MONGOLIAN LETTER TODO YA
-1872 ; [.29E0.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
-1837 ; [.29E1.0020.0002.1837] # MONGOLIAN LETTER RA
-1875 ; [.29E2.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
-1838 ; [.29E3.0020.0002.1838] # MONGOLIAN LETTER WA
-1856 ; [.29E4.0020.0002.1856] # MONGOLIAN LETTER TODO WA
-1839 ; [.29E5.0020.0002.1839] # MONGOLIAN LETTER FA
-186B ; [.29E6.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
-1876 ; [.29E7.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
-183A ; [.29E8.0020.0002.183A] # MONGOLIAN LETTER KA
-1857 ; [.29E9.0020.0002.1857] # MONGOLIAN LETTER TODO KA
-1863 ; [.29EA.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
-1874 ; [.29EB.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
-1889 ; [.29EC.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
-183B ; [.29ED.0020.0002.183B] # MONGOLIAN LETTER KHA
-183C ; [.29EE.0020.0002.183C] # MONGOLIAN LETTER TSA
-1854 ; [.29EF.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
-186E ; [.29F0.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
-183D ; [.29F1.0020.0002.183D] # MONGOLIAN LETTER ZA
-186F ; [.29F2.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
-1858 ; [.29F3.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
-186C ; [.29F4.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
-183E ; [.29F5.0020.0002.183E] # MONGOLIAN LETTER HAA
-1859 ; [.29F6.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
-186D ; [.29F7.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
-183F ; [.29F8.0020.0002.183F] # MONGOLIAN LETTER ZRA
-1840 ; [.29F9.0020.0002.1840] # MONGOLIAN LETTER LHA
-1841 ; [.29FA.0020.0002.1841] # MONGOLIAN LETTER ZHI
-1842 ; [.29FB.0020.0002.1842] # MONGOLIAN LETTER CHI
-185A ; [.29FC.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
-185B ; [.29FD.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
-1870 ; [.29FE.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
-188C ; [.29FF.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
-189E ; [.2A00.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
-188D ; [.2A01.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
-188E ; [.2A02.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
-189F ; [.2A03.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-188F ; [.2A04.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
-1890 ; [.2A05.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
-1898 ; [.2A06.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
-18A0 ; [.2A07.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
-1891 ; [.2A08.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
-18A1 ; [.2A09.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
-1892 ; [.2A0A.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
-1893 ; [.2A0B.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
-18A8 ; [.2A0C.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
-1894 ; [.2A0D.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
-18A3 ; [.2A0E.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
-1895 ; [.2A0F.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
-1899 ; [.2A10.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
-1896 ; [.2A11.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
-1897 ; [.2A12.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
-18A6 ; [.2A13.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
-18A7 ; [.2A14.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
-18AA ; [.2A15.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18A9 ; [.2A16.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
-1C5A ; [.2A17.0020.0002.1C5A] # OL CHIKI LETTER LA
-1C5B ; [.2A18.0020.0002.1C5B] # OL CHIKI LETTER AT
-1C5C ; [.2A19.0020.0002.1C5C] # OL CHIKI LETTER AG
-1C5D ; [.2A1A.0020.0002.1C5D] # OL CHIKI LETTER ANG
-1C5E ; [.2A1B.0020.0002.1C5E] # OL CHIKI LETTER AL
-1C5F ; [.2A1C.0020.0002.1C5F] # OL CHIKI LETTER LAA
-1C60 ; [.2A1D.0020.0002.1C60] # OL CHIKI LETTER AAK
-1C61 ; [.2A1E.0020.0002.1C61] # OL CHIKI LETTER AAJ
-1C62 ; [.2A1F.0020.0002.1C62] # OL CHIKI LETTER AAM
-1C63 ; [.2A20.0020.0002.1C63] # OL CHIKI LETTER AAW
-1C64 ; [.2A21.0020.0002.1C64] # OL CHIKI LETTER LI
-1C65 ; [.2A22.0020.0002.1C65] # OL CHIKI LETTER IS
-1C66 ; [.2A23.0020.0002.1C66] # OL CHIKI LETTER IH
-1C67 ; [.2A24.0020.0002.1C67] # OL CHIKI LETTER INY
-1C68 ; [.2A25.0020.0002.1C68] # OL CHIKI LETTER IR
-1C69 ; [.2A26.0020.0002.1C69] # OL CHIKI LETTER LU
-1C6A ; [.2A27.0020.0002.1C6A] # OL CHIKI LETTER UC
-1C6B ; [.2A28.0020.0002.1C6B] # OL CHIKI LETTER UD
-1C6C ; [.2A29.0020.0002.1C6C] # OL CHIKI LETTER UNN
-1C6D ; [.2A2A.0020.0002.1C6D] # OL CHIKI LETTER UY
-1C6E ; [.2A2B.0020.0002.1C6E] # OL CHIKI LETTER LE
-1C6F ; [.2A2C.0020.0002.1C6F] # OL CHIKI LETTER EP
-1C70 ; [.2A2D.0020.0002.1C70] # OL CHIKI LETTER EDD
-1C71 ; [.2A2E.0020.0002.1C71] # OL CHIKI LETTER EN
-1C72 ; [.2A2F.0020.0002.1C72] # OL CHIKI LETTER ERR
-1C73 ; [.2A30.0020.0002.1C73] # OL CHIKI LETTER LO
-1C74 ; [.2A31.0020.0002.1C74] # OL CHIKI LETTER OTT
-1C75 ; [.2A32.0020.0002.1C75] # OL CHIKI LETTER OB
-1C76 ; [.2A33.0020.0002.1C76] # OL CHIKI LETTER OV
-1C77 ; [.2A34.0020.0002.1C77] # OL CHIKI LETTER OH
-1C78 ; [.2A35.0020.0002.1C78] # OL CHIKI MU TTUDDAG
-1C79 ; [.2A36.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
-1C7A ; [.2A37.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B ; [.2A38.0020.0002.1C7B] # OL CHIKI RELAA
-1C7C ; [.2A39.0020.0002.1C7C] # OL CHIKI PHAARKAA
-1C7D ; [.2A3A.0020.0002.1C7D] # OL CHIKI AHAD
-13A0 ; [.2A3B.0020.0002.13A0] # CHEROKEE LETTER A
-13A1 ; [.2A3C.0020.0002.13A1] # CHEROKEE LETTER E
-13A2 ; [.2A3D.0020.0002.13A2] # CHEROKEE LETTER I
-13A3 ; [.2A3E.0020.0002.13A3] # CHEROKEE LETTER O
-13A4 ; [.2A3F.0020.0002.13A4] # CHEROKEE LETTER U
-13A5 ; [.2A40.0020.0002.13A5] # CHEROKEE LETTER V
-13A6 ; [.2A41.0020.0002.13A6] # CHEROKEE LETTER GA
-13A7 ; [.2A42.0020.0002.13A7] # CHEROKEE LETTER KA
-13A8 ; [.2A43.0020.0002.13A8] # CHEROKEE LETTER GE
-13A9 ; [.2A44.0020.0002.13A9] # CHEROKEE LETTER GI
-13AA ; [.2A45.0020.0002.13AA] # CHEROKEE LETTER GO
-13AB ; [.2A46.0020.0002.13AB] # CHEROKEE LETTER GU
-13AC ; [.2A47.0020.0002.13AC] # CHEROKEE LETTER GV
-13AD ; [.2A48.0020.0002.13AD] # CHEROKEE LETTER HA
-13AE ; [.2A49.0020.0002.13AE] # CHEROKEE LETTER HE
-13AF ; [.2A4A.0020.0002.13AF] # CHEROKEE LETTER HI
-13B0 ; [.2A4B.0020.0002.13B0] # CHEROKEE LETTER HO
-13B1 ; [.2A4C.0020.0002.13B1] # CHEROKEE LETTER HU
-13B2 ; [.2A4D.0020.0002.13B2] # CHEROKEE LETTER HV
-13B3 ; [.2A4E.0020.0002.13B3] # CHEROKEE LETTER LA
-13B4 ; [.2A4F.0020.0002.13B4] # CHEROKEE LETTER LE
-13B5 ; [.2A50.0020.0002.13B5] # CHEROKEE LETTER LI
-13B6 ; [.2A51.0020.0002.13B6] # CHEROKEE LETTER LO
-13B7 ; [.2A52.0020.0002.13B7] # CHEROKEE LETTER LU
-13B8 ; [.2A53.0020.0002.13B8] # CHEROKEE LETTER LV
-13B9 ; [.2A54.0020.0002.13B9] # CHEROKEE LETTER MA
-13BA ; [.2A55.0020.0002.13BA] # CHEROKEE LETTER ME
-13BB ; [.2A56.0020.0002.13BB] # CHEROKEE LETTER MI
-13BC ; [.2A57.0020.0002.13BC] # CHEROKEE LETTER MO
-13BD ; [.2A58.0020.0002.13BD] # CHEROKEE LETTER MU
-13BE ; [.2A59.0020.0002.13BE] # CHEROKEE LETTER NA
-13BF ; [.2A5A.0020.0002.13BF] # CHEROKEE LETTER HNA
-13C0 ; [.2A5B.0020.0002.13C0] # CHEROKEE LETTER NAH
-13C1 ; [.2A5C.0020.0002.13C1] # CHEROKEE LETTER NE
-13C2 ; [.2A5D.0020.0002.13C2] # CHEROKEE LETTER NI
-13C3 ; [.2A5E.0020.0002.13C3] # CHEROKEE LETTER NO
-13C4 ; [.2A5F.0020.0002.13C4] # CHEROKEE LETTER NU
-13C5 ; [.2A60.0020.0002.13C5] # CHEROKEE LETTER NV
-13C6 ; [.2A61.0020.0002.13C6] # CHEROKEE LETTER QUA
-13C7 ; [.2A62.0020.0002.13C7] # CHEROKEE LETTER QUE
-13C8 ; [.2A63.0020.0002.13C8] # CHEROKEE LETTER QUI
-13C9 ; [.2A64.0020.0002.13C9] # CHEROKEE LETTER QUO
-13CA ; [.2A65.0020.0002.13CA] # CHEROKEE LETTER QUU
-13CB ; [.2A66.0020.0002.13CB] # CHEROKEE LETTER QUV
-13CC ; [.2A67.0020.0002.13CC] # CHEROKEE LETTER SA
-13CD ; [.2A68.0020.0002.13CD] # CHEROKEE LETTER S
-13CE ; [.2A69.0020.0002.13CE] # CHEROKEE LETTER SE
-13CF ; [.2A6A.0020.0002.13CF] # CHEROKEE LETTER SI
-13D0 ; [.2A6B.0020.0002.13D0] # CHEROKEE LETTER SO
-13D1 ; [.2A6C.0020.0002.13D1] # CHEROKEE LETTER SU
-13D2 ; [.2A6D.0020.0002.13D2] # CHEROKEE LETTER SV
-13D3 ; [.2A6E.0020.0002.13D3] # CHEROKEE LETTER DA
-13D4 ; [.2A6F.0020.0002.13D4] # CHEROKEE LETTER TA
-13D5 ; [.2A70.0020.0002.13D5] # CHEROKEE LETTER DE
-13D6 ; [.2A71.0020.0002.13D6] # CHEROKEE LETTER TE
-13D7 ; [.2A72.0020.0002.13D7] # CHEROKEE LETTER DI
-13D8 ; [.2A73.0020.0002.13D8] # CHEROKEE LETTER TI
-13D9 ; [.2A74.0020.0002.13D9] # CHEROKEE LETTER DO
-13DA ; [.2A75.0020.0002.13DA] # CHEROKEE LETTER DU
-13DB ; [.2A76.0020.0002.13DB] # CHEROKEE LETTER DV
-13DC ; [.2A77.0020.0002.13DC] # CHEROKEE LETTER DLA
-13DD ; [.2A78.0020.0002.13DD] # CHEROKEE LETTER TLA
-13DE ; [.2A79.0020.0002.13DE] # CHEROKEE LETTER TLE
-13DF ; [.2A7A.0020.0002.13DF] # CHEROKEE LETTER TLI
-13E0 ; [.2A7B.0020.0002.13E0] # CHEROKEE LETTER TLO
-13E1 ; [.2A7C.0020.0002.13E1] # CHEROKEE LETTER TLU
-13E2 ; [.2A7D.0020.0002.13E2] # CHEROKEE LETTER TLV
-13E3 ; [.2A7E.0020.0002.13E3] # CHEROKEE LETTER TSA
-13E4 ; [.2A7F.0020.0002.13E4] # CHEROKEE LETTER TSE
-13E5 ; [.2A80.0020.0002.13E5] # CHEROKEE LETTER TSI
-13E6 ; [.2A81.0020.0002.13E6] # CHEROKEE LETTER TSO
-13E7 ; [.2A82.0020.0002.13E7] # CHEROKEE LETTER TSU
-13E8 ; [.2A83.0020.0002.13E8] # CHEROKEE LETTER TSV
-13E9 ; [.2A84.0020.0002.13E9] # CHEROKEE LETTER WA
-13EA ; [.2A85.0020.0002.13EA] # CHEROKEE LETTER WE
-13EB ; [.2A86.0020.0002.13EB] # CHEROKEE LETTER WI
-13EC ; [.2A87.0020.0002.13EC] # CHEROKEE LETTER WO
-13ED ; [.2A88.0020.0002.13ED] # CHEROKEE LETTER WU
-13EE ; [.2A89.0020.0002.13EE] # CHEROKEE LETTER WV
-13EF ; [.2A8A.0020.0002.13EF] # CHEROKEE LETTER YA
-13F0 ; [.2A8B.0020.0002.13F0] # CHEROKEE LETTER YE
-13F1 ; [.2A8C.0020.0002.13F1] # CHEROKEE LETTER YI
-13F2 ; [.2A8D.0020.0002.13F2] # CHEROKEE LETTER YO
-13F3 ; [.2A8E.0020.0002.13F3] # CHEROKEE LETTER YU
-13F4 ; [.2A8F.0020.0002.13F4] # CHEROKEE LETTER YV
-1401 ; [.2A90.0020.0002.1401] # CANADIAN SYLLABICS E
-1402 ; [.2A91.0020.0002.1402] # CANADIAN SYLLABICS AAI
-1403 ; [.2A92.0020.0002.1403] # CANADIAN SYLLABICS I
-1404 ; [.2A93.0020.0002.1404] # CANADIAN SYLLABICS II
-1405 ; [.2A94.0020.0002.1405] # CANADIAN SYLLABICS O
-1406 ; [.2A95.0020.0002.1406] # CANADIAN SYLLABICS OO
-1407 ; [.2A96.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
-1408 ; [.2A97.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
-1409 ; [.2A98.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
-140A ; [.2A99.0020.0002.140A] # CANADIAN SYLLABICS A
-140B ; [.2A9A.0020.0002.140B] # CANADIAN SYLLABICS AA
-140C ; [.2A9B.0020.0002.140C] # CANADIAN SYLLABICS WE
-140D ; [.2A9C.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
-140E ; [.2A9D.0020.0002.140E] # CANADIAN SYLLABICS WI
-140F ; [.2A9E.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
-1410 ; [.2A9F.0020.0002.1410] # CANADIAN SYLLABICS WII
-1411 ; [.2AA0.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
-1412 ; [.2AA1.0020.0002.1412] # CANADIAN SYLLABICS WO
-1413 ; [.2AA2.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
-1414 ; [.2AA3.0020.0002.1414] # CANADIAN SYLLABICS WOO
-1415 ; [.2AA4.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
-1416 ; [.2AA5.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
-1417 ; [.2AA6.0020.0002.1417] # CANADIAN SYLLABICS WA
-1418 ; [.2AA7.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
-1419 ; [.2AA8.0020.0002.1419] # CANADIAN SYLLABICS WAA
-141A ; [.2AA9.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
-141B ; [.2AAA.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
-141C ; [.2AAB.0020.0002.141C] # CANADIAN SYLLABICS AI
-141D ; [.2AAC.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
-141E ; [.2AAD.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
-141F ; [.2AAE.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
-1420 ; [.2AAF.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
-1421 ; [.2AB0.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422 ; [.2AB1.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423 ; [.2AB2.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424 ; [.2AB3.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
-1425 ; [.2AB4.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426 ; [.2AB5.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427 ; [.2AB6.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428 ; [.2AB7.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429 ; [.2AB8.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
-142A ; [.2AB9.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
-142B ; [.2ABA.0020.0002.142B] # CANADIAN SYLLABICS EN
-142C ; [.2ABB.0020.0002.142C] # CANADIAN SYLLABICS IN
-142D ; [.2ABC.0020.0002.142D] # CANADIAN SYLLABICS ON
-142E ; [.2ABD.0020.0002.142E] # CANADIAN SYLLABICS AN
-142F ; [.2ABE.0020.0002.142F] # CANADIAN SYLLABICS PE
-1430 ; [.2ABF.0020.0002.1430] # CANADIAN SYLLABICS PAAI
-1431 ; [.2AC0.0020.0002.1431] # CANADIAN SYLLABICS PI
-1432 ; [.2AC1.0020.0002.1432] # CANADIAN SYLLABICS PII
-1433 ; [.2AC2.0020.0002.1433] # CANADIAN SYLLABICS PO
-1434 ; [.2AC3.0020.0002.1434] # CANADIAN SYLLABICS POO
-1435 ; [.2AC4.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
-1436 ; [.2AC5.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
-1437 ; [.2AC6.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
-1438 ; [.2AC7.0020.0002.1438] # CANADIAN SYLLABICS PA
-1439 ; [.2AC8.0020.0002.1439] # CANADIAN SYLLABICS PAA
-143A ; [.2AC9.0020.0002.143A] # CANADIAN SYLLABICS PWE
-143B ; [.2ACA.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
-143C ; [.2ACB.0020.0002.143C] # CANADIAN SYLLABICS PWI
-143D ; [.2ACC.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
-143E ; [.2ACD.0020.0002.143E] # CANADIAN SYLLABICS PWII
-143F ; [.2ACE.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
-1440 ; [.2ACF.0020.0002.1440] # CANADIAN SYLLABICS PWO
-1441 ; [.2AD0.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
-1442 ; [.2AD1.0020.0002.1442] # CANADIAN SYLLABICS PWOO
-1443 ; [.2AD2.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
-1444 ; [.2AD3.0020.0002.1444] # CANADIAN SYLLABICS PWA
-1445 ; [.2AD4.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
-1446 ; [.2AD5.0020.0002.1446] # CANADIAN SYLLABICS PWAA
-1447 ; [.2AD6.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
-1448 ; [.2AD7.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
-1449 ; [.2AD8.0020.0002.1449] # CANADIAN SYLLABICS P
-144A ; [.2AD9.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
-144B ; [.2ADA.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
-144C ; [.2ADB.0020.0002.144C] # CANADIAN SYLLABICS TE
-144D ; [.2ADC.0020.0002.144D] # CANADIAN SYLLABICS TAAI
-144E ; [.2ADD.0020.0002.144E] # CANADIAN SYLLABICS TI
-144F ; [.2ADE.0020.0002.144F] # CANADIAN SYLLABICS TII
-1450 ; [.2ADF.0020.0002.1450] # CANADIAN SYLLABICS TO
-1451 ; [.2AE0.0020.0002.1451] # CANADIAN SYLLABICS TOO
-1452 ; [.2AE1.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
-1453 ; [.2AE2.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
-1454 ; [.2AE3.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
-1455 ; [.2AE4.0020.0002.1455] # CANADIAN SYLLABICS TA
-1456 ; [.2AE5.0020.0002.1456] # CANADIAN SYLLABICS TAA
-1457 ; [.2AE6.0020.0002.1457] # CANADIAN SYLLABICS TWE
-1458 ; [.2AE7.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
-1459 ; [.2AE8.0020.0002.1459] # CANADIAN SYLLABICS TWI
-145A ; [.2AE9.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
-145B ; [.2AEA.0020.0002.145B] # CANADIAN SYLLABICS TWII
-145C ; [.2AEB.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
-145D ; [.2AEC.0020.0002.145D] # CANADIAN SYLLABICS TWO
-145E ; [.2AED.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
-145F ; [.2AEE.0020.0002.145F] # CANADIAN SYLLABICS TWOO
-1460 ; [.2AEF.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
-1461 ; [.2AF0.0020.0002.1461] # CANADIAN SYLLABICS TWA
-1462 ; [.2AF1.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
-1463 ; [.2AF2.0020.0002.1463] # CANADIAN SYLLABICS TWAA
-1464 ; [.2AF3.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
-1465 ; [.2AF4.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
-1466 ; [.2AF5.0020.0002.1466] # CANADIAN SYLLABICS T
-1467 ; [.2AF6.0020.0002.1467] # CANADIAN SYLLABICS TTE
-1468 ; [.2AF7.0020.0002.1468] # CANADIAN SYLLABICS TTI
-1469 ; [.2AF8.0020.0002.1469] # CANADIAN SYLLABICS TTO
-146A ; [.2AF9.0020.0002.146A] # CANADIAN SYLLABICS TTA
-146B ; [.2AFA.0020.0002.146B] # CANADIAN SYLLABICS KE
-146C ; [.2AFB.0020.0002.146C] # CANADIAN SYLLABICS KAAI
-146D ; [.2AFC.0020.0002.146D] # CANADIAN SYLLABICS KI
-146E ; [.2AFD.0020.0002.146E] # CANADIAN SYLLABICS KII
-146F ; [.2AFE.0020.0002.146F] # CANADIAN SYLLABICS KO
-1470 ; [.2AFF.0020.0002.1470] # CANADIAN SYLLABICS KOO
-1471 ; [.2B00.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
-1472 ; [.2B01.0020.0002.1472] # CANADIAN SYLLABICS KA
-1473 ; [.2B02.0020.0002.1473] # CANADIAN SYLLABICS KAA
-1474 ; [.2B03.0020.0002.1474] # CANADIAN SYLLABICS KWE
-1475 ; [.2B04.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
-1476 ; [.2B05.0020.0002.1476] # CANADIAN SYLLABICS KWI
-1477 ; [.2B06.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
-1478 ; [.2B07.0020.0002.1478] # CANADIAN SYLLABICS KWII
-1479 ; [.2B08.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
-147A ; [.2B09.0020.0002.147A] # CANADIAN SYLLABICS KWO
-147B ; [.2B0A.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
-147C ; [.2B0B.0020.0002.147C] # CANADIAN SYLLABICS KWOO
-147D ; [.2B0C.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
-147E ; [.2B0D.0020.0002.147E] # CANADIAN SYLLABICS KWA
-147F ; [.2B0E.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
-1480 ; [.2B0F.0020.0002.1480] # CANADIAN SYLLABICS KWAA
-1481 ; [.2B10.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
-1482 ; [.2B11.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
-1483 ; [.2B12.0020.0002.1483] # CANADIAN SYLLABICS K
-1484 ; [.2B13.0020.0002.1484] # CANADIAN SYLLABICS KW
-1485 ; [.2B14.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486 ; [.2B15.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487 ; [.2B16.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488 ; [.2B17.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489 ; [.2B18.0020.0002.1489] # CANADIAN SYLLABICS CE
-148A ; [.2B19.0020.0002.148A] # CANADIAN SYLLABICS CAAI
-148B ; [.2B1A.0020.0002.148B] # CANADIAN SYLLABICS CI
-148C ; [.2B1B.0020.0002.148C] # CANADIAN SYLLABICS CII
-148D ; [.2B1C.0020.0002.148D] # CANADIAN SYLLABICS CO
-148E ; [.2B1D.0020.0002.148E] # CANADIAN SYLLABICS COO
-148F ; [.2B1E.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
-1490 ; [.2B1F.0020.0002.1490] # CANADIAN SYLLABICS CA
-1491 ; [.2B20.0020.0002.1491] # CANADIAN SYLLABICS CAA
-1492 ; [.2B21.0020.0002.1492] # CANADIAN SYLLABICS CWE
-1493 ; [.2B22.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
-1494 ; [.2B23.0020.0002.1494] # CANADIAN SYLLABICS CWI
-1495 ; [.2B24.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
-1496 ; [.2B25.0020.0002.1496] # CANADIAN SYLLABICS CWII
-1497 ; [.2B26.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
-1498 ; [.2B27.0020.0002.1498] # CANADIAN SYLLABICS CWO
-1499 ; [.2B28.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
-149A ; [.2B29.0020.0002.149A] # CANADIAN SYLLABICS CWOO
-149B ; [.2B2A.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
-149C ; [.2B2B.0020.0002.149C] # CANADIAN SYLLABICS CWA
-149D ; [.2B2C.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
-149E ; [.2B2D.0020.0002.149E] # CANADIAN SYLLABICS CWAA
-149F ; [.2B2E.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0 ; [.2B2F.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
-14A1 ; [.2B30.0020.0002.14A1] # CANADIAN SYLLABICS C
-14A2 ; [.2B31.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
-14A3 ; [.2B32.0020.0002.14A3] # CANADIAN SYLLABICS ME
-14A4 ; [.2B33.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
-14A5 ; [.2B34.0020.0002.14A5] # CANADIAN SYLLABICS MI
-14A6 ; [.2B35.0020.0002.14A6] # CANADIAN SYLLABICS MII
-14A7 ; [.2B36.0020.0002.14A7] # CANADIAN SYLLABICS MO
-14A8 ; [.2B37.0020.0002.14A8] # CANADIAN SYLLABICS MOO
-14A9 ; [.2B38.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
-14AA ; [.2B39.0020.0002.14AA] # CANADIAN SYLLABICS MA
-14AB ; [.2B3A.0020.0002.14AB] # CANADIAN SYLLABICS MAA
-14AC ; [.2B3B.0020.0002.14AC] # CANADIAN SYLLABICS MWE
-14AD ; [.2B3C.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
-14AE ; [.2B3D.0020.0002.14AE] # CANADIAN SYLLABICS MWI
-14AF ; [.2B3E.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
-14B0 ; [.2B3F.0020.0002.14B0] # CANADIAN SYLLABICS MWII
-14B1 ; [.2B40.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
-14B2 ; [.2B41.0020.0002.14B2] # CANADIAN SYLLABICS MWO
-14B3 ; [.2B42.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
-14B4 ; [.2B43.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
-14B5 ; [.2B44.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6 ; [.2B45.0020.0002.14B6] # CANADIAN SYLLABICS MWA
-14B7 ; [.2B46.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
-14B8 ; [.2B47.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
-14B9 ; [.2B48.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA ; [.2B49.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
-14BB ; [.2B4A.0020.0002.14BB] # CANADIAN SYLLABICS M
-14BC ; [.2B4B.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
-14BD ; [.2B4C.0020.0002.14BD] # CANADIAN SYLLABICS MH
-14BE ; [.2B4D.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
-14BF ; [.2B4E.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
-14C0 ; [.2B4F.0020.0002.14C0] # CANADIAN SYLLABICS NE
-14C1 ; [.2B50.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
-14C2 ; [.2B51.0020.0002.14C2] # CANADIAN SYLLABICS NI
-14C3 ; [.2B52.0020.0002.14C3] # CANADIAN SYLLABICS NII
-14C4 ; [.2B53.0020.0002.14C4] # CANADIAN SYLLABICS NO
-14C5 ; [.2B54.0020.0002.14C5] # CANADIAN SYLLABICS NOO
-14C6 ; [.2B55.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
-14C7 ; [.2B56.0020.0002.14C7] # CANADIAN SYLLABICS NA
-14C8 ; [.2B57.0020.0002.14C8] # CANADIAN SYLLABICS NAA
-14C9 ; [.2B58.0020.0002.14C9] # CANADIAN SYLLABICS NWE
-14CA ; [.2B59.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
-14CB ; [.2B5A.0020.0002.14CB] # CANADIAN SYLLABICS NWA
-14CC ; [.2B5B.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
-14CD ; [.2B5C.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
-14CE ; [.2B5D.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF ; [.2B5E.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
-14D0 ; [.2B5F.0020.0002.14D0] # CANADIAN SYLLABICS N
-14D1 ; [.2B60.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
-14D2 ; [.2B61.0020.0002.14D2] # CANADIAN SYLLABICS NH
-14D3 ; [.2B62.0020.0002.14D3] # CANADIAN SYLLABICS LE
-14D4 ; [.2B63.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
-14D5 ; [.2B64.0020.0002.14D5] # CANADIAN SYLLABICS LI
-14D6 ; [.2B65.0020.0002.14D6] # CANADIAN SYLLABICS LII
-14D7 ; [.2B66.0020.0002.14D7] # CANADIAN SYLLABICS LO
-14D8 ; [.2B67.0020.0002.14D8] # CANADIAN SYLLABICS LOO
-14D9 ; [.2B68.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
-14DA ; [.2B69.0020.0002.14DA] # CANADIAN SYLLABICS LA
-14DB ; [.2B6A.0020.0002.14DB] # CANADIAN SYLLABICS LAA
-14DC ; [.2B6B.0020.0002.14DC] # CANADIAN SYLLABICS LWE
-14DD ; [.2B6C.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
-14DE ; [.2B6D.0020.0002.14DE] # CANADIAN SYLLABICS LWI
-14DF ; [.2B6E.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
-14E0 ; [.2B6F.0020.0002.14E0] # CANADIAN SYLLABICS LWII
-14E1 ; [.2B70.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
-14E2 ; [.2B71.0020.0002.14E2] # CANADIAN SYLLABICS LWO
-14E3 ; [.2B72.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
-14E4 ; [.2B73.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
-14E5 ; [.2B74.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6 ; [.2B75.0020.0002.14E6] # CANADIAN SYLLABICS LWA
-14E7 ; [.2B76.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
-14E8 ; [.2B77.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
-14E9 ; [.2B78.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA ; [.2B79.0020.0002.14EA] # CANADIAN SYLLABICS L
-14EB ; [.2B7A.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
-14EC ; [.2B7B.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
-14ED ; [.2B7C.0020.0002.14ED] # CANADIAN SYLLABICS SE
-14EE ; [.2B7D.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
-14EF ; [.2B7E.0020.0002.14EF] # CANADIAN SYLLABICS SI
-14F0 ; [.2B7F.0020.0002.14F0] # CANADIAN SYLLABICS SII
-14F1 ; [.2B80.0020.0002.14F1] # CANADIAN SYLLABICS SO
-14F2 ; [.2B81.0020.0002.14F2] # CANADIAN SYLLABICS SOO
-14F3 ; [.2B82.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
-14F4 ; [.2B83.0020.0002.14F4] # CANADIAN SYLLABICS SA
-14F5 ; [.2B84.0020.0002.14F5] # CANADIAN SYLLABICS SAA
-14F6 ; [.2B85.0020.0002.14F6] # CANADIAN SYLLABICS SWE
-14F7 ; [.2B86.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
-14F8 ; [.2B87.0020.0002.14F8] # CANADIAN SYLLABICS SWI
-14F9 ; [.2B88.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
-14FA ; [.2B89.0020.0002.14FA] # CANADIAN SYLLABICS SWII
-14FB ; [.2B8A.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
-14FC ; [.2B8B.0020.0002.14FC] # CANADIAN SYLLABICS SWO
-14FD ; [.2B8C.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
-14FE ; [.2B8D.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
-14FF ; [.2B8E.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
-1500 ; [.2B8F.0020.0002.1500] # CANADIAN SYLLABICS SWA
-1501 ; [.2B90.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
-1502 ; [.2B91.0020.0002.1502] # CANADIAN SYLLABICS SWAA
-1503 ; [.2B92.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
-1504 ; [.2B93.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
-1505 ; [.2B94.0020.0002.1505] # CANADIAN SYLLABICS S
-1506 ; [.2B95.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
-1507 ; [.2B96.0020.0002.1507] # CANADIAN SYLLABICS SW
-1508 ; [.2B97.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
-1509 ; [.2B98.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
-150A ; [.2B99.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
-150B ; [.2B9A.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
-150C ; [.2B9B.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
-150D ; [.2B9C.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
-150E ; [.2B9D.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
-150F ; [.2B9E.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
-1510 ; [.2B9F.0020.0002.1510] # CANADIAN SYLLABICS SHE
-1511 ; [.2BA0.0020.0002.1511] # CANADIAN SYLLABICS SHI
-1512 ; [.2BA1.0020.0002.1512] # CANADIAN SYLLABICS SHII
-1513 ; [.2BA2.0020.0002.1513] # CANADIAN SYLLABICS SHO
-1514 ; [.2BA3.0020.0002.1514] # CANADIAN SYLLABICS SHOO
-1515 ; [.2BA4.0020.0002.1515] # CANADIAN SYLLABICS SHA
-1516 ; [.2BA5.0020.0002.1516] # CANADIAN SYLLABICS SHAA
-1517 ; [.2BA6.0020.0002.1517] # CANADIAN SYLLABICS SHWE
-1518 ; [.2BA7.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
-1519 ; [.2BA8.0020.0002.1519] # CANADIAN SYLLABICS SHWI
-151A ; [.2BA9.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
-151B ; [.2BAA.0020.0002.151B] # CANADIAN SYLLABICS SHWII
-151C ; [.2BAB.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
-151D ; [.2BAC.0020.0002.151D] # CANADIAN SYLLABICS SHWO
-151E ; [.2BAD.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
-151F ; [.2BAE.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
-1520 ; [.2BAF.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521 ; [.2BB0.0020.0002.1521] # CANADIAN SYLLABICS SHWA
-1522 ; [.2BB1.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
-1523 ; [.2BB2.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
-1524 ; [.2BB3.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525 ; [.2BB4.0020.0002.1525] # CANADIAN SYLLABICS SH
-1526 ; [.2BB5.0020.0002.1526] # CANADIAN SYLLABICS YE
-1527 ; [.2BB6.0020.0002.1527] # CANADIAN SYLLABICS YAAI
-1528 ; [.2BB7.0020.0002.1528] # CANADIAN SYLLABICS YI
-1529 ; [.2BB8.0020.0002.1529] # CANADIAN SYLLABICS YII
-152A ; [.2BB9.0020.0002.152A] # CANADIAN SYLLABICS YO
-152B ; [.2BBA.0020.0002.152B] # CANADIAN SYLLABICS YOO
-152C ; [.2BBB.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
-152D ; [.2BBC.0020.0002.152D] # CANADIAN SYLLABICS YA
-152E ; [.2BBD.0020.0002.152E] # CANADIAN SYLLABICS YAA
-152F ; [.2BBE.0020.0002.152F] # CANADIAN SYLLABICS YWE
-1530 ; [.2BBF.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
-1531 ; [.2BC0.0020.0002.1531] # CANADIAN SYLLABICS YWI
-1532 ; [.2BC1.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
-1533 ; [.2BC2.0020.0002.1533] # CANADIAN SYLLABICS YWII
-1534 ; [.2BC3.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
-1535 ; [.2BC4.0020.0002.1535] # CANADIAN SYLLABICS YWO
-1536 ; [.2BC5.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
-1537 ; [.2BC6.0020.0002.1537] # CANADIAN SYLLABICS YWOO
-1538 ; [.2BC7.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
-1539 ; [.2BC8.0020.0002.1539] # CANADIAN SYLLABICS YWA
-153A ; [.2BC9.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
-153B ; [.2BCA.0020.0002.153B] # CANADIAN SYLLABICS YWAA
-153C ; [.2BCB.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
-153D ; [.2BCC.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
-153E ; [.2BCD.0020.0002.153E] # CANADIAN SYLLABICS Y
-153F ; [.2BCE.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
-1540 ; [.2BCF.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
-1541 ; [.2BD0.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
-1542 ; [.2BD1.0020.0002.1542] # CANADIAN SYLLABICS RE
-1543 ; [.2BD2.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
-1544 ; [.2BD3.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
-1545 ; [.2BD4.0020.0002.1545] # CANADIAN SYLLABICS RAAI
-1546 ; [.2BD5.0020.0002.1546] # CANADIAN SYLLABICS RI
-1547 ; [.2BD6.0020.0002.1547] # CANADIAN SYLLABICS RII
-1548 ; [.2BD7.0020.0002.1548] # CANADIAN SYLLABICS RO
-1549 ; [.2BD8.0020.0002.1549] # CANADIAN SYLLABICS ROO
-154A ; [.2BD9.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
-154B ; [.2BDA.0020.0002.154B] # CANADIAN SYLLABICS RA
-154C ; [.2BDB.0020.0002.154C] # CANADIAN SYLLABICS RAA
-154D ; [.2BDC.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
-154E ; [.2BDD.0020.0002.154E] # CANADIAN SYLLABICS RWAA
-154F ; [.2BDE.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
-1550 ; [.2BDF.0020.0002.1550] # CANADIAN SYLLABICS R
-1551 ; [.2BE0.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
-1552 ; [.2BE1.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
-1553 ; [.2BE2.0020.0002.1553] # CANADIAN SYLLABICS FE
-1554 ; [.2BE3.0020.0002.1554] # CANADIAN SYLLABICS FAAI
-1555 ; [.2BE4.0020.0002.1555] # CANADIAN SYLLABICS FI
-1556 ; [.2BE5.0020.0002.1556] # CANADIAN SYLLABICS FII
-1557 ; [.2BE6.0020.0002.1557] # CANADIAN SYLLABICS FO
-1558 ; [.2BE7.0020.0002.1558] # CANADIAN SYLLABICS FOO
-1559 ; [.2BE8.0020.0002.1559] # CANADIAN SYLLABICS FA
-155A ; [.2BE9.0020.0002.155A] # CANADIAN SYLLABICS FAA
-155B ; [.2BEA.0020.0002.155B] # CANADIAN SYLLABICS FWAA
-155C ; [.2BEB.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
-155D ; [.2BEC.0020.0002.155D] # CANADIAN SYLLABICS F
-155E ; [.2BED.0020.0002.155E] # CANADIAN SYLLABICS THE
-155F ; [.2BEE.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
-1560 ; [.2BEF.0020.0002.1560] # CANADIAN SYLLABICS THI
-1561 ; [.2BF0.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
-1562 ; [.2BF1.0020.0002.1562] # CANADIAN SYLLABICS THII
-1563 ; [.2BF2.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
-1564 ; [.2BF3.0020.0002.1564] # CANADIAN SYLLABICS THO
-1565 ; [.2BF4.0020.0002.1565] # CANADIAN SYLLABICS THOO
-1566 ; [.2BF5.0020.0002.1566] # CANADIAN SYLLABICS THA
-1567 ; [.2BF6.0020.0002.1567] # CANADIAN SYLLABICS THAA
-1568 ; [.2BF7.0020.0002.1568] # CANADIAN SYLLABICS THWAA
-1569 ; [.2BF8.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
-156A ; [.2BF9.0020.0002.156A] # CANADIAN SYLLABICS TH
-156B ; [.2BFA.0020.0002.156B] # CANADIAN SYLLABICS TTHE
-156C ; [.2BFB.0020.0002.156C] # CANADIAN SYLLABICS TTHI
-156D ; [.2BFC.0020.0002.156D] # CANADIAN SYLLABICS TTHO
-156E ; [.2BFD.0020.0002.156E] # CANADIAN SYLLABICS TTHA
-156F ; [.2BFE.0020.0002.156F] # CANADIAN SYLLABICS TTH
-1570 ; [.2BFF.0020.0002.1570] # CANADIAN SYLLABICS TYE
-1571 ; [.2C00.0020.0002.1571] # CANADIAN SYLLABICS TYI
-1572 ; [.2C01.0020.0002.1572] # CANADIAN SYLLABICS TYO
-1573 ; [.2C02.0020.0002.1573] # CANADIAN SYLLABICS TYA
-1574 ; [.2C03.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
-1575 ; [.2C04.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
-1576 ; [.2C05.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
-1577 ; [.2C06.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
-1578 ; [.2C07.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
-1579 ; [.2C08.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
-157A ; [.2C09.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
-157B ; [.2C0A.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
-157D ; [.2C0B.0020.0002.157D] # CANADIAN SYLLABICS HK
-166F ; [.2C0C.0020.0002.166F] # CANADIAN SYLLABICS QAI
-157E ; [.2C0D.0020.0002.157E] # CANADIAN SYLLABICS QAAI
-157F ; [.2C0E.0020.0002.157F] # CANADIAN SYLLABICS QI
-1580 ; [.2C0F.0020.0002.1580] # CANADIAN SYLLABICS QII
-1581 ; [.2C10.0020.0002.1581] # CANADIAN SYLLABICS QO
-1582 ; [.2C11.0020.0002.1582] # CANADIAN SYLLABICS QOO
-1583 ; [.2C12.0020.0002.1583] # CANADIAN SYLLABICS QA
-1584 ; [.2C13.0020.0002.1584] # CANADIAN SYLLABICS QAA
-1585 ; [.2C14.0020.0002.1585] # CANADIAN SYLLABICS Q
-1586 ; [.2C15.0020.0002.1586] # CANADIAN SYLLABICS TLHE
-1587 ; [.2C16.0020.0002.1587] # CANADIAN SYLLABICS TLHI
-1588 ; [.2C17.0020.0002.1588] # CANADIAN SYLLABICS TLHO
-1589 ; [.2C18.0020.0002.1589] # CANADIAN SYLLABICS TLHA
-158A ; [.2C19.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
-158B ; [.2C1A.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
-158C ; [.2C1B.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
-158D ; [.2C1C.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
-1670 ; [.2C1D.0020.0002.1670] # CANADIAN SYLLABICS NGAI
-158E ; [.2C1E.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
-158F ; [.2C1F.0020.0002.158F] # CANADIAN SYLLABICS NGI
-1590 ; [.2C20.0020.0002.1590] # CANADIAN SYLLABICS NGII
-1591 ; [.2C21.0020.0002.1591] # CANADIAN SYLLABICS NGO
-1592 ; [.2C22.0020.0002.1592] # CANADIAN SYLLABICS NGOO
-1593 ; [.2C23.0020.0002.1593] # CANADIAN SYLLABICS NGA
-1594 ; [.2C24.0020.0002.1594] # CANADIAN SYLLABICS NGAA
-1595 ; [.2C25.0020.0002.1595] # CANADIAN SYLLABICS NG
-1671 ; [.2C26.0020.0002.1671] # CANADIAN SYLLABICS NNGI
-1672 ; [.2C27.0020.0002.1672] # CANADIAN SYLLABICS NNGII
-1673 ; [.2C28.0020.0002.1673] # CANADIAN SYLLABICS NNGO
-1674 ; [.2C29.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
-1675 ; [.2C2A.0020.0002.1675] # CANADIAN SYLLABICS NNGA
-1676 ; [.2C2B.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
-1596 ; [.2C2C.0020.0002.1596] # CANADIAN SYLLABICS NNG
-1597 ; [.2C2D.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
-1598 ; [.2C2E.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
-1599 ; [.2C2F.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
-159A ; [.2C30.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
-159B ; [.2C31.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
-159C ; [.2C32.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
-159D ; [.2C33.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
-159E ; [.2C34.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
-159F ; [.2C35.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
-15A0 ; [.2C36.0020.0002.15A0] # CANADIAN SYLLABICS LHI
-15A1 ; [.2C37.0020.0002.15A1] # CANADIAN SYLLABICS LHII
-15A2 ; [.2C38.0020.0002.15A2] # CANADIAN SYLLABICS LHO
-15A3 ; [.2C39.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
-15A4 ; [.2C3A.0020.0002.15A4] # CANADIAN SYLLABICS LHA
-15A5 ; [.2C3B.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
-15A6 ; [.2C3C.0020.0002.15A6] # CANADIAN SYLLABICS LH
-157C ; [.2C3D.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
-15A7 ; [.2C3E.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
-15A8 ; [.2C3F.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
-15A9 ; [.2C40.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
-15AA ; [.2C41.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
-15AB ; [.2C42.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
-15AC ; [.2C43.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
-15AD ; [.2C44.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
-15AE ; [.2C45.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
-15AF ; [.2C46.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
-15B0 ; [.2C47.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
-15B1 ; [.2C48.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
-15B2 ; [.2C49.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
-15B3 ; [.2C4A.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
-15B4 ; [.2C4B.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
-15B5 ; [.2C4C.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
-15B6 ; [.2C4D.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
-15B7 ; [.2C4E.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
-15B8 ; [.2C4F.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
-15B9 ; [.2C50.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
-15BA ; [.2C51.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
-15BB ; [.2C52.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
-15BC ; [.2C53.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
-15BD ; [.2C54.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
-15BE ; [.2C55.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
-15BF ; [.2C56.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
-15C0 ; [.2C57.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
-15C1 ; [.2C58.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
-15C2 ; [.2C59.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
-15C3 ; [.2C5A.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
-15C4 ; [.2C5B.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
-15C5 ; [.2C5C.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
-15C6 ; [.2C5D.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
-15C7 ; [.2C5E.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
-15C8 ; [.2C5F.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
-15C9 ; [.2C60.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
-15CA ; [.2C61.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
-15CB ; [.2C62.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
-15CC ; [.2C63.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
-15CD ; [.2C64.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
-15CE ; [.2C65.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
-15CF ; [.2C66.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
-15D0 ; [.2C67.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
-15D1 ; [.2C68.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
-15D2 ; [.2C69.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
-15D3 ; [.2C6A.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
-15D4 ; [.2C6B.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
-15D5 ; [.2C6C.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
-15D6 ; [.2C6D.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
-15D7 ; [.2C6E.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
-15D8 ; [.2C6F.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
-15D9 ; [.2C70.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
-15DA ; [.2C71.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
-15DB ; [.2C72.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
-15DC ; [.2C73.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
-15DD ; [.2C74.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
-15DE ; [.2C75.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
-15DF ; [.2C76.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
-15E0 ; [.2C77.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
-15E1 ; [.2C78.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
-15E2 ; [.2C79.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
-15E3 ; [.2C7A.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
-15E4 ; [.2C7B.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
-15E5 ; [.2C7C.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
-15E6 ; [.2C7D.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
-15E7 ; [.2C7E.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
-15E8 ; [.2C7F.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
-15E9 ; [.2C80.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
-15EA ; [.2C81.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
-15EB ; [.2C82.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
-15EC ; [.2C83.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
-15ED ; [.2C84.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
-15EE ; [.2C85.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
-15EF ; [.2C86.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
-15F0 ; [.2C87.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
-15F1 ; [.2C88.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
-15F2 ; [.2C89.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
-15F3 ; [.2C8A.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
-15F4 ; [.2C8B.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
-15F5 ; [.2C8C.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
-15F6 ; [.2C8D.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
-15F7 ; [.2C8E.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
-15F8 ; [.2C8F.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
-15F9 ; [.2C90.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
-15FA ; [.2C91.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
-15FB ; [.2C92.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
-15FC ; [.2C93.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
-15FD ; [.2C94.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
-15FE ; [.2C95.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
-15FF ; [.2C96.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
-1600 ; [.2C97.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
-1601 ; [.2C98.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
-1602 ; [.2C99.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
-1603 ; [.2C9A.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
-1604 ; [.2C9B.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
-1605 ; [.2C9C.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
-1606 ; [.2C9D.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
-1607 ; [.2C9E.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
-1608 ; [.2C9F.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
-1609 ; [.2CA0.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
-160A ; [.2CA1.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
-160B ; [.2CA2.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
-160C ; [.2CA3.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
-160D ; [.2CA4.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
-160E ; [.2CA5.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
-160F ; [.2CA6.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
-1610 ; [.2CA7.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
-1611 ; [.2CA8.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
-1612 ; [.2CA9.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
-1613 ; [.2CAA.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
-1614 ; [.2CAB.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
-1615 ; [.2CAC.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
-1616 ; [.2CAD.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
-1617 ; [.2CAE.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
-1618 ; [.2CAF.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
-1619 ; [.2CB0.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
-161A ; [.2CB1.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
-161B ; [.2CB2.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
-161C ; [.2CB3.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
-161D ; [.2CB4.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
-161E ; [.2CB5.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
-161F ; [.2CB6.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
-1620 ; [.2CB7.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
-1621 ; [.2CB8.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
-1622 ; [.2CB9.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
-1623 ; [.2CBA.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
-1624 ; [.2CBB.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
-1625 ; [.2CBC.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
-1626 ; [.2CBD.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
-1627 ; [.2CBE.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
-1628 ; [.2CBF.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
-1629 ; [.2CC0.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
-162A ; [.2CC1.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
-162B ; [.2CC2.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
-162C ; [.2CC3.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
-162D ; [.2CC4.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
-162E ; [.2CC5.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
-162F ; [.2CC6.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
-1630 ; [.2CC7.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
-1631 ; [.2CC8.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
-1632 ; [.2CC9.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
-1633 ; [.2CCA.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
-1634 ; [.2CCB.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
-1635 ; [.2CCC.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
-1636 ; [.2CCD.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
-1637 ; [.2CCE.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
-1638 ; [.2CCF.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
-1639 ; [.2CD0.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
-163A ; [.2CD1.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
-163B ; [.2CD2.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
-163C ; [.2CD3.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
-163D ; [.2CD4.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
-163E ; [.2CD5.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
-163F ; [.2CD6.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
-1640 ; [.2CD7.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
-1641 ; [.2CD8.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
-1642 ; [.2CD9.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
-1643 ; [.2CDA.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
-1644 ; [.2CDB.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
-1645 ; [.2CDC.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
-1646 ; [.2CDD.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
-1647 ; [.2CDE.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648 ; [.2CDF.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
-1649 ; [.2CE0.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
-164A ; [.2CE1.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
-164B ; [.2CE2.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
-164C ; [.2CE3.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
-164D ; [.2CE4.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
-164E ; [.2CE5.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
-164F ; [.2CE6.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
-1650 ; [.2CE7.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
-1651 ; [.2CE8.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
-1652 ; [.2CE9.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
-1653 ; [.2CEA.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
-1654 ; [.2CEB.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
-1655 ; [.2CEC.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
-1656 ; [.2CED.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
-1657 ; [.2CEE.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
-1658 ; [.2CEF.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
-1659 ; [.2CF0.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
-165A ; [.2CF1.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
-165B ; [.2CF2.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
-165C ; [.2CF3.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
-165D ; [.2CF4.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
-165E ; [.2CF5.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
-165F ; [.2CF6.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
-1660 ; [.2CF7.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
-1661 ; [.2CF8.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
-1662 ; [.2CF9.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
-1663 ; [.2CFA.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
-1664 ; [.2CFB.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
-1665 ; [.2CFC.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
-1666 ; [.2CFD.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
-1667 ; [.2CFE.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
-1668 ; [.2CFF.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
-1669 ; [.2D00.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
-166A ; [.2D01.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
-166B ; [.2D02.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
-166C ; [.2D03.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
-1677 ; [.2D04.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678 ; [.2D05.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
-1679 ; [.2D06.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
-167A ; [.2D07.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
-167B ; [.2D08.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C ; [.2D09.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
-167D ; [.2D0A.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E ; [.2D0B.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F ; [.2D0C.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
-18B0 ; [.2D0D.0020.0002.18B0] # CANADIAN SYLLABICS OY
-18B1 ; [.2D0E.0020.0002.18B1] # CANADIAN SYLLABICS AY
-18B2 ; [.2D0F.0020.0002.18B2] # CANADIAN SYLLABICS AAY
-18B3 ; [.2D10.0020.0002.18B3] # CANADIAN SYLLABICS WAY
-18B4 ; [.2D11.0020.0002.18B4] # CANADIAN SYLLABICS POY
-18B5 ; [.2D12.0020.0002.18B5] # CANADIAN SYLLABICS PAY
-18B6 ; [.2D13.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
-18B7 ; [.2D14.0020.0002.18B7] # CANADIAN SYLLABICS TAY
-18B8 ; [.2D15.0020.0002.18B8] # CANADIAN SYLLABICS KAY
-18B9 ; [.2D16.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
-18BA ; [.2D17.0020.0002.18BA] # CANADIAN SYLLABICS MAY
-18BB ; [.2D18.0020.0002.18BB] # CANADIAN SYLLABICS NOY
-18BC ; [.2D19.0020.0002.18BC] # CANADIAN SYLLABICS NAY
-18BD ; [.2D1A.0020.0002.18BD] # CANADIAN SYLLABICS LAY
-18BE ; [.2D1B.0020.0002.18BE] # CANADIAN SYLLABICS SOY
-18BF ; [.2D1C.0020.0002.18BF] # CANADIAN SYLLABICS SAY
-18C0 ; [.2D1D.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
-18C1 ; [.2D1E.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
-18C2 ; [.2D1F.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
-18C3 ; [.2D20.0020.0002.18C3] # CANADIAN SYLLABICS YOY
-18C4 ; [.2D21.0020.0002.18C4] # CANADIAN SYLLABICS YAY
-18C5 ; [.2D22.0020.0002.18C5] # CANADIAN SYLLABICS RAY
-18C6 ; [.2D23.0020.0002.18C6] # CANADIAN SYLLABICS NWI
-18C7 ; [.2D24.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
-18C8 ; [.2D25.0020.0002.18C8] # CANADIAN SYLLABICS NWII
-18C9 ; [.2D26.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
-18CA ; [.2D27.0020.0002.18CA] # CANADIAN SYLLABICS NWO
-18CB ; [.2D28.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
-18CC ; [.2D29.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
-18CD ; [.2D2A.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE ; [.2D2B.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
-18CF ; [.2D2C.0020.0002.18CF] # CANADIAN SYLLABICS RWI
-18D0 ; [.2D2D.0020.0002.18D0] # CANADIAN SYLLABICS RWII
-18D1 ; [.2D2E.0020.0002.18D1] # CANADIAN SYLLABICS RWO
-18D2 ; [.2D2F.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
-18D3 ; [.2D30.0020.0002.18D3] # CANADIAN SYLLABICS RWA
-18D4 ; [.2D31.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
-18D5 ; [.2D32.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
-18D6 ; [.2D33.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
-18D7 ; [.2D34.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
-18D8 ; [.2D35.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
-18D9 ; [.2D36.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
-18DA ; [.2D37.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
-18DB ; [.2D38.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
-18DC ; [.2D39.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
-18DD ; [.2D3A.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
-18DE ; [.2D3B.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
-18DF ; [.2D3C.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0 ; [.2D3D.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
-18E1 ; [.2D3E.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
-18E2 ; [.2D3F.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
-18E3 ; [.2D40.0020.0002.18E3] # CANADIAN SYLLABICS THWE
-18E4 ; [.2D41.0020.0002.18E4] # CANADIAN SYLLABICS THWA
-18E5 ; [.2D42.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
-18E6 ; [.2D43.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
-18E7 ; [.2D44.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
-18E8 ; [.2D45.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
-18E9 ; [.2D46.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
-18EA ; [.2D47.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
-18EB ; [.2D48.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
-18EC ; [.2D49.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
-18ED ; [.2D4A.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
-18EE ; [.2D4B.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF ; [.2D4C.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
-18F0 ; [.2D4D.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
-18F1 ; [.2D4E.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
-18F2 ; [.2D4F.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
-18F3 ; [.2D50.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
-18F4 ; [.2D51.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
-18F5 ; [.2D52.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
-1681 ; [.2D53.0020.0002.1681] # OGHAM LETTER BEITH
-1682 ; [.2D54.0020.0002.1682] # OGHAM LETTER LUIS
-1683 ; [.2D55.0020.0002.1683] # OGHAM LETTER FEARN
-1684 ; [.2D56.0020.0002.1684] # OGHAM LETTER SAIL
-1685 ; [.2D57.0020.0002.1685] # OGHAM LETTER NION
-1686 ; [.2D58.0020.0002.1686] # OGHAM LETTER UATH
-1687 ; [.2D59.0020.0002.1687] # OGHAM LETTER DAIR
-1688 ; [.2D5A.0020.0002.1688] # OGHAM LETTER TINNE
-1689 ; [.2D5B.0020.0002.1689] # OGHAM LETTER COLL
-168A ; [.2D5C.0020.0002.168A] # OGHAM LETTER CEIRT
-168B ; [.2D5D.0020.0002.168B] # OGHAM LETTER MUIN
-168C ; [.2D5E.0020.0002.168C] # OGHAM LETTER GORT
-168D ; [.2D5F.0020.0002.168D] # OGHAM LETTER NGEADAL
-168E ; [.2D60.0020.0002.168E] # OGHAM LETTER STRAIF
-168F ; [.2D61.0020.0002.168F] # OGHAM LETTER RUIS
-1690 ; [.2D62.0020.0002.1690] # OGHAM LETTER AILM
-1691 ; [.2D63.0020.0002.1691] # OGHAM LETTER ONN
-1692 ; [.2D64.0020.0002.1692] # OGHAM LETTER UR
-1693 ; [.2D65.0020.0002.1693] # OGHAM LETTER EADHADH
-1694 ; [.2D66.0020.0002.1694] # OGHAM LETTER IODHADH
-1695 ; [.2D67.0020.0002.1695] # OGHAM LETTER EABHADH
-1696 ; [.2D68.0020.0002.1696] # OGHAM LETTER OR
-1697 ; [.2D69.0020.0002.1697] # OGHAM LETTER UILLEANN
-1698 ; [.2D6A.0020.0002.1698] # OGHAM LETTER IFIN
-1699 ; [.2D6B.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
-169A ; [.2D6C.0020.0002.169A] # OGHAM LETTER PEITH
-16A0 ; [.2D6D.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
-16A1 ; [.2D6D.0020.0004.16A1][.0000.0139.0004.16A1] # RUNIC LETTER V
-16A2 ; [.2D6E.0020.0002.16A2] # RUNIC LETTER URUZ UR U
-16A4 ; [.2D6E.0020.0004.16A4][.0000.0139.0004.16A4] # RUNIC LETTER Y
-16A5 ; [.2D6E.0020.0004.16A5][.0000.013A.0004.16A5] # RUNIC LETTER W
-16A6 ; [.2D6F.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
-16A7 ; [.2D6F.0020.0004.16A7][.0000.0139.0004.16A7] # RUNIC LETTER ETH
-16F0 ; [.2D6F.0020.0004.16F0][.2D6F.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL
-16A8 ; [.2D70.0020.0002.16A8] # RUNIC LETTER ANSUZ A
-16A9 ; [.2D70.0020.0004.16A9][.0000.0139.0004.16A9] # RUNIC LETTER OS O
-16AC ; [.2D70.0020.0004.16AC][.0000.013A.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O
-16AD ; [.2D70.0020.0004.16AD][.0000.013C.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O
-16AE ; [.2D70.0020.0004.16AE][.0000.013D.0004.16AE] # RUNIC LETTER O
-16AF ; [.2D71.0020.0002.16AF] # RUNIC LETTER OE
-16B0 ; [.2D72.0020.0002.16B0] # RUNIC LETTER ON
-16B1 ; [.2D73.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
-16B2 ; [.2D74.0020.0002.16B2] # RUNIC LETTER KAUNA
-16B3 ; [.2D74.0020.0004.16B3][.0000.0139.0004.16B3] # RUNIC LETTER CEN
-16B4 ; [.2D74.0020.0004.16B4][.0000.013A.0004.16B4] # RUNIC LETTER KAUN K
-16B5 ; [.2D74.0020.0004.16B5][.0000.013C.0004.16B5] # RUNIC LETTER G
-16B6 ; [.2D74.0020.0004.16B6][.0000.013D.0004.16B6] # RUNIC LETTER ENG
-16B7 ; [.2D75.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
-16B9 ; [.2D76.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
-16E9 ; [.2D76.0020.0004.16E9][.0000.0139.0004.16E9] # RUNIC LETTER Q
-16BA ; [.2D77.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
-16BB ; [.2D77.0020.0004.16BB][.0000.0139.0004.16BB] # RUNIC LETTER HAEGL H
-16BC ; [.2D77.0020.0004.16BC][.0000.013A.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD ; [.2D77.0020.0004.16BD][.0000.013C.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE ; [.2D78.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF ; [.2D78.0020.0004.16BF][.0000.0139.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N
-16C0 ; [.2D78.0020.0004.16C0][.0000.013A.0004.16C0] # RUNIC LETTER DOTTED-N
-16C1 ; [.2D79.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
-16C2 ; [.2D79.0020.0004.16C2][.0000.0139.0004.16C2] # RUNIC LETTER E
-16C3 ; [.2D7A.0020.0002.16C3] # RUNIC LETTER JERAN J
-16C4 ; [.2D7A.0020.0004.16C4][.0000.0139.0004.16C4] # RUNIC LETTER GER
-16C5 ; [.2D7B.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
-16C6 ; [.2D7B.0020.0004.16C6][.0000.0139.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A
-16EE ; [.2D7B.0020.0004.16EE][.2D84.0020.0004.16EE] # RUNIC ARLAUG SYMBOL
-16C7 ; [.2D7C.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
-16C8 ; [.2D7D.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
-16D5 ; [.2D7D.0020.0004.16D5][.0000.0139.0004.16D5] # RUNIC LETTER OPEN-P
-16C9 ; [.2D7E.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
-16CA ; [.2D7F.0020.0002.16CA] # RUNIC LETTER SOWILO S
-16CB ; [.2D7F.0020.0004.16CB][.0000.0139.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16EA ; [.2D7F.0020.0004.16EA][.0000.013A.0004.16EA] # RUNIC LETTER X
-16CC ; [.2D7F.0020.0004.16CC][.0000.013C.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S
-16CD ; [.2D7F.0020.0004.16CD][.0000.013D.0004.16CD] # RUNIC LETTER C
-16CE ; [.2D7F.0020.0004.16CE][.0000.013E.0004.16CE] # RUNIC LETTER Z
-16CF ; [.2D80.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
-16D0 ; [.2D80.0020.0004.16D0][.0000.0139.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T
-16D1 ; [.2D80.0020.0004.16D1][.0000.013A.0004.16D1] # RUNIC LETTER D
-16D2 ; [.2D81.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3 ; [.2D81.0020.0004.16D3][.0000.0139.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4 ; [.2D81.0020.0004.16D4][.0000.013A.0004.16D4] # RUNIC LETTER DOTTED-P
-16D6 ; [.2D82.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
-16D7 ; [.2D83.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
-16D8 ; [.2D83.0020.0004.16D8][.0000.0139.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M
-16D9 ; [.2D83.0020.0004.16D9][.0000.013A.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M
-16EF ; [.2D83.0020.0004.16EF][.0000.0139.0004.16EF][.2D83.0020.0004.16EF][.0000.0139.0004.16EF] # RUNIC TVIMADUR SYMBOL
-16DA ; [.2D84.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB ; [.2D84.0020.0004.16DB][.0000.0139.0004.16DB] # RUNIC LETTER DOTTED-L
-16DC ; [.2D85.0020.0002.16DC] # RUNIC LETTER INGWAZ
-16DD ; [.2D85.0020.0004.16DD][.0000.0139.0004.16DD] # RUNIC LETTER ING
-16DE ; [.2D86.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
-16DF ; [.2D87.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
-16AA ; [.2D88.0020.0002.16AA] # RUNIC LETTER AC A
-16AB ; [.2D89.0020.0002.16AB] # RUNIC LETTER AESC
-16A3 ; [.2D8A.0020.0002.16A3] # RUNIC LETTER YR
-16E0 ; [.2D8B.0020.0002.16E0] # RUNIC LETTER EAR
-16E3 ; [.2D8C.0020.0002.16E3] # RUNIC LETTER CALC
-16B8 ; [.2D8D.0020.0002.16B8] # RUNIC LETTER GAR
-16E4 ; [.2D8E.0020.0002.16E4] # RUNIC LETTER CEALC
-16E1 ; [.2D8F.0020.0002.16E1] # RUNIC LETTER IOR
-16E2 ; [.2D90.0020.0002.16E2] # RUNIC LETTER CWEORTH
-16E5 ; [.2D91.0020.0002.16E5] # RUNIC LETTER STAN
-16E6 ; [.2D92.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
-16E7 ; [.2D92.0020.0004.16E7][.0000.0139.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR
-16E8 ; [.2D92.0020.0004.16E8][.0000.013A.0004.16E8] # RUNIC LETTER ICELANDIC-YR
-10C00 ; [.2D93.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
-10C01 ; [.2D93.0020.0004.10C01][.0000.0139.0004.10C01] # OLD TURKIC LETTER YENISEI A
-10C02 ; [.2D94.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
-10C03 ; [.2D95.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
-10C04 ; [.2D95.0020.0004.10C04][.0000.0139.0004.10C04] # OLD TURKIC LETTER YENISEI I
-10C05 ; [.2D96.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
-10C06 ; [.2D97.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
-10C07 ; [.2D98.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
-10C08 ; [.2D98.0020.0004.10C08][.0000.0139.0004.10C08] # OLD TURKIC LETTER YENISEI OE
-10C09 ; [.2D99.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
-10C0A ; [.2D99.0020.0004.10C0A][.0000.0139.0004.10C0A] # OLD TURKIC LETTER YENISEI AB
-10C0B ; [.2D9A.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
-10C0C ; [.2D9A.0020.0004.10C0C][.0000.0139.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB
-10C0D ; [.2D9B.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
-10C0E ; [.2D9B.0020.0004.10C0E][.0000.0139.0004.10C0E] # OLD TURKIC LETTER YENISEI AG
-10C0F ; [.2D9C.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
-10C10 ; [.2D9C.0020.0004.10C10][.0000.0139.0004.10C10] # OLD TURKIC LETTER YENISEI AEG
-10C11 ; [.2D9D.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
-10C12 ; [.2D9D.0020.0004.10C12][.0000.0139.0004.10C12] # OLD TURKIC LETTER YENISEI AD
-10C13 ; [.2D9E.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
-10C14 ; [.2D9F.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
-10C15 ; [.2D9F.0020.0004.10C15][.0000.0139.0004.10C15] # OLD TURKIC LETTER YENISEI EZ
-10C16 ; [.2DA0.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
-10C17 ; [.2DA0.0020.0004.10C17][.0000.0139.0004.10C17] # OLD TURKIC LETTER YENISEI AY
-10C18 ; [.2DA1.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
-10C19 ; [.2DA1.0020.0004.10C19][.0000.0139.0004.10C19] # OLD TURKIC LETTER YENISEI AEY
-10C1A ; [.2DA2.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
-10C1B ; [.2DA2.0020.0004.10C1B][.0000.0139.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK
-10C1C ; [.2DA3.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
-10C1D ; [.2DA3.0020.0004.10C1D][.0000.0139.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK
-10C1E ; [.2DA4.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
-10C1F ; [.2DA4.0020.0004.10C1F][.0000.0139.0004.10C1F] # OLD TURKIC LETTER YENISEI AL
-10C20 ; [.2DA5.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
-10C21 ; [.2DA6.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
-10C22 ; [.2DA7.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
-10C23 ; [.2DA8.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
-10C24 ; [.2DA9.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
-10C25 ; [.2DA9.0020.0004.10C25][.0000.0139.0004.10C25] # OLD TURKIC LETTER YENISEI AEN
-10C26 ; [.2DAA.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
-10C27 ; [.2DAA.0020.0004.10C27][.0000.0139.0004.10C27] # OLD TURKIC LETTER YENISEI ENT
-10C28 ; [.2DAB.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
-10C29 ; [.2DAB.0020.0004.10C29][.0000.0139.0004.10C29] # OLD TURKIC LETTER YENISEI ENC
-10C2A ; [.2DAC.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
-10C2B ; [.2DAC.0020.0004.10C2B][.0000.0139.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY
-10C2C ; [.2DAD.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
-10C2D ; [.2DAE.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
-10C2E ; [.2DAE.0020.0004.10C2E][.0000.0139.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG
-10C2F ; [.2DAF.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
-10C30 ; [.2DB0.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
-10C31 ; [.2DB1.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
-10C32 ; [.2DB2.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
-10C33 ; [.2DB2.0020.0004.10C33][.0000.0139.0004.10C33] # OLD TURKIC LETTER YENISEI EC
-10C34 ; [.2DB3.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
-10C35 ; [.2DB3.0020.0004.10C35][.0000.0139.0004.10C35] # OLD TURKIC LETTER YENISEI AQ
-10C36 ; [.2DB4.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
-10C37 ; [.2DB4.0020.0004.10C37][.0000.0139.0004.10C37] # OLD TURKIC LETTER YENISEI IQ
-10C38 ; [.2DB5.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
-10C39 ; [.2DB5.0020.0004.10C39][.0000.0139.0004.10C39] # OLD TURKIC LETTER YENISEI OQ
-10C3A ; [.2DB6.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
-10C3B ; [.2DB6.0020.0004.10C3B][.0000.0139.0004.10C3B] # OLD TURKIC LETTER YENISEI AR
-10C3C ; [.2DB7.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
-10C3D ; [.2DB8.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
-10C3E ; [.2DB9.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
-10C3F ; [.2DBA.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
-10C40 ; [.2DBA.0020.0004.10C40][.0000.0139.0004.10C40] # OLD TURKIC LETTER YENISEI ASH
-10C41 ; [.2DBB.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
-10C42 ; [.2DBB.0020.0004.10C42][.0000.0139.0004.10C42] # OLD TURKIC LETTER YENISEI ESH
-10C43 ; [.2DBC.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
-10C44 ; [.2DBC.0020.0004.10C44][.0000.0139.0004.10C44] # OLD TURKIC LETTER YENISEI AT
-10C45 ; [.2DBD.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
-10C46 ; [.2DBD.0020.0004.10C46][.0000.0139.0004.10C46] # OLD TURKIC LETTER YENISEI AET
-10C47 ; [.2DBE.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
-10C48 ; [.2DBF.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
-A500 ; [.2DC0.0020.0002.A500] # VAI SYLLABLE EE
-A501 ; [.2DC1.0020.0002.A501] # VAI SYLLABLE EEN
-A502 ; [.2DC2.0020.0002.A502] # VAI SYLLABLE HEE
-A503 ; [.2DC3.0020.0002.A503] # VAI SYLLABLE WEE
-A504 ; [.2DC4.0020.0002.A504] # VAI SYLLABLE WEEN
-A505 ; [.2DC5.0020.0002.A505] # VAI SYLLABLE PEE
-A506 ; [.2DC6.0020.0002.A506] # VAI SYLLABLE BHEE
-A507 ; [.2DC7.0020.0002.A507] # VAI SYLLABLE BEE
-A508 ; [.2DC8.0020.0002.A508] # VAI SYLLABLE MBEE
-A509 ; [.2DC9.0020.0002.A509] # VAI SYLLABLE KPEE
-A50A ; [.2DCA.0020.0002.A50A] # VAI SYLLABLE MGBEE
-A50B ; [.2DCB.0020.0002.A50B] # VAI SYLLABLE GBEE
-A50C ; [.2DCC.0020.0002.A50C] # VAI SYLLABLE FEE
-A613 ; [.2DCC.0020.0004.A613][.2ECB.0020.0004.A613] # VAI SYMBOL FEENG
-A50D ; [.2DCD.0020.0002.A50D] # VAI SYLLABLE VEE
-A50E ; [.2DCE.0020.0002.A50E] # VAI SYLLABLE TEE
-A50F ; [.2DCF.0020.0002.A50F] # VAI SYLLABLE THEE
-A510 ; [.2DD0.0020.0002.A510] # VAI SYLLABLE DHEE
-A511 ; [.2DD1.0020.0002.A511] # VAI SYLLABLE DHHEE
-A512 ; [.2DD2.0020.0002.A512] # VAI SYLLABLE LEE
-A513 ; [.2DD3.0020.0002.A513] # VAI SYLLABLE REE
-A514 ; [.2DD4.0020.0002.A514] # VAI SYLLABLE DEE
-A515 ; [.2DD5.0020.0002.A515] # VAI SYLLABLE NDEE
-A516 ; [.2DD6.0020.0002.A516] # VAI SYLLABLE SEE
-A517 ; [.2DD7.0020.0002.A517] # VAI SYLLABLE SHEE
-A518 ; [.2DD8.0020.0002.A518] # VAI SYLLABLE ZEE
-A519 ; [.2DD9.0020.0002.A519] # VAI SYLLABLE ZHEE
-A51A ; [.2DDA.0020.0002.A51A] # VAI SYLLABLE CEE
-A51B ; [.2DDB.0020.0002.A51B] # VAI SYLLABLE JEE
-A51C ; [.2DDC.0020.0002.A51C] # VAI SYLLABLE NJEE
-A51D ; [.2DDD.0020.0002.A51D] # VAI SYLLABLE YEE
-A51E ; [.2DDE.0020.0002.A51E] # VAI SYLLABLE KEE
-A614 ; [.2DDE.0020.0004.A614][.2ECB.0020.0004.A614] # VAI SYMBOL KEENG
-A51F ; [.2DDF.0020.0002.A51F] # VAI SYLLABLE NGGEE
-A520 ; [.2DE0.0020.0002.A520] # VAI SYLLABLE GEE
-A521 ; [.2DE1.0020.0002.A521] # VAI SYLLABLE MEE
-A522 ; [.2DE2.0020.0002.A522] # VAI SYLLABLE NEE
-A523 ; [.2DE3.0020.0002.A523] # VAI SYLLABLE NYEE
-A524 ; [.2DE4.0020.0002.A524] # VAI SYLLABLE I
-A525 ; [.2DE5.0020.0002.A525] # VAI SYLLABLE IN
-A526 ; [.2DE6.0020.0002.A526] # VAI SYLLABLE HI
-A527 ; [.2DE7.0020.0002.A527] # VAI SYLLABLE HIN
-A528 ; [.2DE8.0020.0002.A528] # VAI SYLLABLE WI
-A529 ; [.2DE9.0020.0002.A529] # VAI SYLLABLE WIN
-A52A ; [.2DEA.0020.0002.A52A] # VAI SYLLABLE PI
-A52B ; [.2DEB.0020.0002.A52B] # VAI SYLLABLE BHI
-A52C ; [.2DEC.0020.0002.A52C] # VAI SYLLABLE BI
-A52D ; [.2DED.0020.0002.A52D] # VAI SYLLABLE MBI
-A52E ; [.2DEE.0020.0002.A52E] # VAI SYLLABLE KPI
-A52F ; [.2DEF.0020.0002.A52F] # VAI SYLLABLE MGBI
-A530 ; [.2DF0.0020.0002.A530] # VAI SYLLABLE GBI
-A531 ; [.2DF1.0020.0002.A531] # VAI SYLLABLE FI
-A532 ; [.2DF2.0020.0002.A532] # VAI SYLLABLE VI
-A533 ; [.2DF3.0020.0002.A533] # VAI SYLLABLE TI
-A615 ; [.2DF3.0020.0004.A615][.2ECB.0020.0004.A615] # VAI SYMBOL TING
-A534 ; [.2DF4.0020.0002.A534] # VAI SYLLABLE THI
-A535 ; [.2DF5.0020.0002.A535] # VAI SYLLABLE DHI
-A536 ; [.2DF6.0020.0002.A536] # VAI SYLLABLE DHHI
-A537 ; [.2DF7.0020.0002.A537] # VAI SYLLABLE LI
-A538 ; [.2DF8.0020.0002.A538] # VAI SYLLABLE RI
-A539 ; [.2DF9.0020.0002.A539] # VAI SYLLABLE DI
-A53A ; [.2DFA.0020.0002.A53A] # VAI SYLLABLE NDI
-A53B ; [.2DFB.0020.0002.A53B] # VAI SYLLABLE SI
-A53C ; [.2DFC.0020.0002.A53C] # VAI SYLLABLE SHI
-A53D ; [.2DFD.0020.0002.A53D] # VAI SYLLABLE ZI
-A53E ; [.2DFE.0020.0002.A53E] # VAI SYLLABLE ZHI
-A53F ; [.2DFF.0020.0002.A53F] # VAI SYLLABLE CI
-A540 ; [.2E00.0020.0002.A540] # VAI SYLLABLE JI
-A541 ; [.2E01.0020.0002.A541] # VAI SYLLABLE NJI
-A542 ; [.2E02.0020.0002.A542] # VAI SYLLABLE YI
-A543 ; [.2E03.0020.0002.A543] # VAI SYLLABLE KI
-A544 ; [.2E04.0020.0002.A544] # VAI SYLLABLE NGGI
-A545 ; [.2E05.0020.0002.A545] # VAI SYLLABLE GI
-A546 ; [.2E06.0020.0002.A546] # VAI SYLLABLE MI
-A547 ; [.2E07.0020.0002.A547] # VAI SYLLABLE NI
-A616 ; [.2E07.0020.0004.A616][.2ECC.0020.0004.A616] # VAI SYMBOL NII
-A548 ; [.2E08.0020.0002.A548] # VAI SYLLABLE NYI
-A549 ; [.2E09.0020.0002.A549] # VAI SYLLABLE A
-A54A ; [.2E0A.0020.0002.A54A] # VAI SYLLABLE AN
-A54B ; [.2E0B.0020.0002.A54B] # VAI SYLLABLE NGAN
-A54C ; [.2E0C.0020.0002.A54C] # VAI SYLLABLE HA
-A54D ; [.2E0D.0020.0002.A54D] # VAI SYLLABLE HAN
-A54E ; [.2E0E.0020.0002.A54E] # VAI SYLLABLE WA
-A54F ; [.2E0F.0020.0002.A54F] # VAI SYLLABLE WAN
-A550 ; [.2E10.0020.0002.A550] # VAI SYLLABLE PA
-A551 ; [.2E11.0020.0002.A551] # VAI SYLLABLE BHA
-A552 ; [.2E12.0020.0002.A552] # VAI SYLLABLE BA
-A617 ; [.2E12.0020.0004.A617][.2ECB.0020.0004.A617] # VAI SYMBOL BANG
-A553 ; [.2E13.0020.0002.A553] # VAI SYLLABLE MBA
-A554 ; [.2E14.0020.0002.A554] # VAI SYLLABLE KPA
-A555 ; [.2E15.0020.0002.A555] # VAI SYLLABLE KPAN
-A556 ; [.2E16.0020.0002.A556] # VAI SYLLABLE MGBA
-A557 ; [.2E17.0020.0002.A557] # VAI SYLLABLE GBA
-A558 ; [.2E18.0020.0002.A558] # VAI SYLLABLE FA
-A610 ; [.2E18.0020.0004.A610] # VAI SYLLABLE NDOLE FA
-A618 ; [.2E18.0020.0004.A618][.2ECC.0020.0004.A618] # VAI SYMBOL FAA
-A559 ; [.2E19.0020.0002.A559] # VAI SYLLABLE VA
-A55A ; [.2E1A.0020.0002.A55A] # VAI SYLLABLE TA
-A619 ; [.2E1A.0020.0004.A619][.2ECC.0020.0004.A619] # VAI SYMBOL TAA
-A55B ; [.2E1B.0020.0002.A55B] # VAI SYLLABLE THA
-A55C ; [.2E1C.0020.0002.A55C] # VAI SYLLABLE DHA
-A55D ; [.2E1D.0020.0002.A55D] # VAI SYLLABLE DHHA
-A55E ; [.2E1E.0020.0002.A55E] # VAI SYLLABLE LA
-A55F ; [.2E1F.0020.0002.A55F] # VAI SYLLABLE RA
-A560 ; [.2E20.0020.0002.A560] # VAI SYLLABLE DA
-A61A ; [.2E20.0020.0004.A61A][.2ECB.0020.0004.A61A] # VAI SYMBOL DANG
-A561 ; [.2E21.0020.0002.A561] # VAI SYLLABLE NDA
-A562 ; [.2E22.0020.0002.A562] # VAI SYLLABLE SA
-A563 ; [.2E23.0020.0002.A563] # VAI SYLLABLE SHA
-A564 ; [.2E24.0020.0002.A564] # VAI SYLLABLE ZA
-A565 ; [.2E25.0020.0002.A565] # VAI SYLLABLE ZHA
-A566 ; [.2E26.0020.0002.A566] # VAI SYLLABLE CA
-A567 ; [.2E27.0020.0002.A567] # VAI SYLLABLE JA
-A568 ; [.2E28.0020.0002.A568] # VAI SYLLABLE NJA
-A569 ; [.2E29.0020.0002.A569] # VAI SYLLABLE YA
-A56A ; [.2E2A.0020.0002.A56A] # VAI SYLLABLE KA
-A611 ; [.2E2A.0020.0004.A611] # VAI SYLLABLE NDOLE KA
-A56B ; [.2E2B.0020.0002.A56B] # VAI SYLLABLE KAN
-A56C ; [.2E2C.0020.0002.A56C] # VAI SYLLABLE NGGA
-A56D ; [.2E2D.0020.0002.A56D] # VAI SYLLABLE GA
-A56E ; [.2E2E.0020.0002.A56E] # VAI SYLLABLE MA
-A62A ; [.2E2E.0020.0004.A62A] # VAI SYLLABLE NDOLE MA
-A56F ; [.2E2F.0020.0002.A56F] # VAI SYLLABLE NA
-A570 ; [.2E30.0020.0002.A570] # VAI SYLLABLE NYA
-A571 ; [.2E31.0020.0002.A571] # VAI SYLLABLE OO
-A572 ; [.2E32.0020.0002.A572] # VAI SYLLABLE OON
-A573 ; [.2E33.0020.0002.A573] # VAI SYLLABLE HOO
-A574 ; [.2E34.0020.0002.A574] # VAI SYLLABLE WOO
-A575 ; [.2E35.0020.0002.A575] # VAI SYLLABLE WOON
-A576 ; [.2E36.0020.0002.A576] # VAI SYLLABLE POO
-A577 ; [.2E37.0020.0002.A577] # VAI SYLLABLE BHOO
-A578 ; [.2E38.0020.0002.A578] # VAI SYLLABLE BOO
-A579 ; [.2E39.0020.0002.A579] # VAI SYLLABLE MBOO
-A57A ; [.2E3A.0020.0002.A57A] # VAI SYLLABLE KPOO
-A57B ; [.2E3B.0020.0002.A57B] # VAI SYLLABLE MGBOO
-A57C ; [.2E3C.0020.0002.A57C] # VAI SYLLABLE GBOO
-A57D ; [.2E3D.0020.0002.A57D] # VAI SYLLABLE FOO
-A57E ; [.2E3E.0020.0002.A57E] # VAI SYLLABLE VOO
-A57F ; [.2E3F.0020.0002.A57F] # VAI SYLLABLE TOO
-A580 ; [.2E40.0020.0002.A580] # VAI SYLLABLE THOO
-A581 ; [.2E41.0020.0002.A581] # VAI SYLLABLE DHOO
-A582 ; [.2E42.0020.0002.A582] # VAI SYLLABLE DHHOO
-A583 ; [.2E43.0020.0002.A583] # VAI SYLLABLE LOO
-A584 ; [.2E44.0020.0002.A584] # VAI SYLLABLE ROO
-A585 ; [.2E45.0020.0002.A585] # VAI SYLLABLE DOO
-A61B ; [.2E45.0020.0004.A61B][.2ECB.0020.0004.A61B] # VAI SYMBOL DOONG
-A586 ; [.2E46.0020.0002.A586] # VAI SYLLABLE NDOO
-A587 ; [.2E47.0020.0002.A587] # VAI SYLLABLE SOO
-A612 ; [.2E47.0020.0004.A612] # VAI SYLLABLE NDOLE SOO
-A588 ; [.2E48.0020.0002.A588] # VAI SYLLABLE SHOO
-A589 ; [.2E49.0020.0002.A589] # VAI SYLLABLE ZOO
-A58A ; [.2E4A.0020.0002.A58A] # VAI SYLLABLE ZHOO
-A58B ; [.2E4B.0020.0002.A58B] # VAI SYLLABLE COO
-A58C ; [.2E4C.0020.0002.A58C] # VAI SYLLABLE JOO
-A58D ; [.2E4D.0020.0002.A58D] # VAI SYLLABLE NJOO
-A58E ; [.2E4E.0020.0002.A58E] # VAI SYLLABLE YOO
-A58F ; [.2E4F.0020.0002.A58F] # VAI SYLLABLE KOO
-A590 ; [.2E50.0020.0002.A590] # VAI SYLLABLE NGGOO
-A591 ; [.2E51.0020.0002.A591] # VAI SYLLABLE GOO
-A592 ; [.2E52.0020.0002.A592] # VAI SYLLABLE MOO
-A593 ; [.2E53.0020.0002.A593] # VAI SYLLABLE NOO
-A594 ; [.2E54.0020.0002.A594] # VAI SYLLABLE NYOO
-A595 ; [.2E55.0020.0002.A595] # VAI SYLLABLE U
-A596 ; [.2E56.0020.0002.A596] # VAI SYLLABLE UN
-A597 ; [.2E57.0020.0002.A597] # VAI SYLLABLE HU
-A598 ; [.2E58.0020.0002.A598] # VAI SYLLABLE HUN
-A599 ; [.2E59.0020.0002.A599] # VAI SYLLABLE WU
-A59A ; [.2E5A.0020.0002.A59A] # VAI SYLLABLE WUN
-A59B ; [.2E5B.0020.0002.A59B] # VAI SYLLABLE PU
-A59C ; [.2E5C.0020.0002.A59C] # VAI SYLLABLE BHU
-A59D ; [.2E5D.0020.0002.A59D] # VAI SYLLABLE BU
-A59E ; [.2E5E.0020.0002.A59E] # VAI SYLLABLE MBU
-A59F ; [.2E5F.0020.0002.A59F] # VAI SYLLABLE KPU
-A5A0 ; [.2E60.0020.0002.A5A0] # VAI SYLLABLE MGBU
-A5A1 ; [.2E61.0020.0002.A5A1] # VAI SYLLABLE GBU
-A5A2 ; [.2E62.0020.0002.A5A2] # VAI SYLLABLE FU
-A5A3 ; [.2E63.0020.0002.A5A3] # VAI SYLLABLE VU
-A5A4 ; [.2E64.0020.0002.A5A4] # VAI SYLLABLE TU
-A5A5 ; [.2E65.0020.0002.A5A5] # VAI SYLLABLE THU
-A5A6 ; [.2E66.0020.0002.A5A6] # VAI SYLLABLE DHU
-A5A7 ; [.2E67.0020.0002.A5A7] # VAI SYLLABLE DHHU
-A5A8 ; [.2E68.0020.0002.A5A8] # VAI SYLLABLE LU
-A5A9 ; [.2E69.0020.0002.A5A9] # VAI SYLLABLE RU
-A5AA ; [.2E6A.0020.0002.A5AA] # VAI SYLLABLE DU
-A5AB ; [.2E6B.0020.0002.A5AB] # VAI SYLLABLE NDU
-A5AC ; [.2E6C.0020.0002.A5AC] # VAI SYLLABLE SU
-A5AD ; [.2E6D.0020.0002.A5AD] # VAI SYLLABLE SHU
-A5AE ; [.2E6E.0020.0002.A5AE] # VAI SYLLABLE ZU
-A5AF ; [.2E6F.0020.0002.A5AF] # VAI SYLLABLE ZHU
-A5B0 ; [.2E70.0020.0002.A5B0] # VAI SYLLABLE CU
-A5B1 ; [.2E71.0020.0002.A5B1] # VAI SYLLABLE JU
-A5B2 ; [.2E72.0020.0002.A5B2] # VAI SYLLABLE NJU
-A5B3 ; [.2E73.0020.0002.A5B3] # VAI SYLLABLE YU
-A5B4 ; [.2E74.0020.0002.A5B4] # VAI SYLLABLE KU
-A61C ; [.2E74.0020.0004.A61C][.2ECB.0020.0004.A61C] # VAI SYMBOL KUNG
-A5B5 ; [.2E75.0020.0002.A5B5] # VAI SYLLABLE NGGU
-A5B6 ; [.2E76.0020.0002.A5B6] # VAI SYLLABLE GU
-A5B7 ; [.2E77.0020.0002.A5B7] # VAI SYLLABLE MU
-A5B8 ; [.2E78.0020.0002.A5B8] # VAI SYLLABLE NU
-A5B9 ; [.2E79.0020.0002.A5B9] # VAI SYLLABLE NYU
-A5BA ; [.2E7A.0020.0002.A5BA] # VAI SYLLABLE O
-A5BB ; [.2E7B.0020.0002.A5BB] # VAI SYLLABLE ON
-A5BC ; [.2E7C.0020.0002.A5BC] # VAI SYLLABLE NGON
-A5BD ; [.2E7D.0020.0002.A5BD] # VAI SYLLABLE HO
-A5BE ; [.2E7E.0020.0002.A5BE] # VAI SYLLABLE HON
-A5BF ; [.2E7F.0020.0002.A5BF] # VAI SYLLABLE WO
-A5C0 ; [.2E80.0020.0002.A5C0] # VAI SYLLABLE WON
-A5C1 ; [.2E81.0020.0002.A5C1] # VAI SYLLABLE PO
-A5C2 ; [.2E82.0020.0002.A5C2] # VAI SYLLABLE BHO
-A5C3 ; [.2E83.0020.0002.A5C3] # VAI SYLLABLE BO
-A5C4 ; [.2E84.0020.0002.A5C4] # VAI SYLLABLE MBO
-A5C5 ; [.2E85.0020.0002.A5C5] # VAI SYLLABLE KPO
-A5C6 ; [.2E86.0020.0002.A5C6] # VAI SYLLABLE MGBO
-A5C7 ; [.2E87.0020.0002.A5C7] # VAI SYLLABLE GBO
-A5C8 ; [.2E88.0020.0002.A5C8] # VAI SYLLABLE GBON
-A5C9 ; [.2E89.0020.0002.A5C9] # VAI SYLLABLE FO
-A5CA ; [.2E8A.0020.0002.A5CA] # VAI SYLLABLE VO
-A5CB ; [.2E8B.0020.0002.A5CB] # VAI SYLLABLE TO
-A61D ; [.2E8B.0020.0004.A61D][.2ECB.0020.0004.A61D] # VAI SYMBOL TONG
-A5CC ; [.2E8C.0020.0002.A5CC] # VAI SYLLABLE THO
-A5CD ; [.2E8D.0020.0002.A5CD] # VAI SYLLABLE DHO
-A5CE ; [.2E8E.0020.0002.A5CE] # VAI SYLLABLE DHHO
-A5CF ; [.2E8F.0020.0002.A5CF] # VAI SYLLABLE LO
-A5D0 ; [.2E90.0020.0002.A5D0] # VAI SYLLABLE RO
-A5D1 ; [.2E91.0020.0002.A5D1] # VAI SYLLABLE DO
-A62B ; [.2E91.0020.0004.A62B] # VAI SYLLABLE NDOLE DO
-A61E ; [.2E91.0020.0004.A61E][.2ECC.0020.0004.A61E] # VAI SYMBOL DO-O
-A5D2 ; [.2E92.0020.0002.A5D2] # VAI SYLLABLE NDO
-A5D3 ; [.2E93.0020.0002.A5D3] # VAI SYLLABLE SO
-A5D4 ; [.2E94.0020.0002.A5D4] # VAI SYLLABLE SHO
-A5D5 ; [.2E95.0020.0002.A5D5] # VAI SYLLABLE ZO
-A5D6 ; [.2E96.0020.0002.A5D6] # VAI SYLLABLE ZHO
-A5D7 ; [.2E97.0020.0002.A5D7] # VAI SYLLABLE CO
-A5D8 ; [.2E98.0020.0002.A5D8] # VAI SYLLABLE JO
-A61F ; [.2E98.0020.0004.A61F][.2ECB.0020.0004.A61F] # VAI SYMBOL JONG
-A5D9 ; [.2E99.0020.0002.A5D9] # VAI SYLLABLE NJO
-A5DA ; [.2E9A.0020.0002.A5DA] # VAI SYLLABLE YO
-A5DB ; [.2E9B.0020.0002.A5DB] # VAI SYLLABLE KO
-A5DC ; [.2E9C.0020.0002.A5DC] # VAI SYLLABLE NGGO
-A5DD ; [.2E9D.0020.0002.A5DD] # VAI SYLLABLE GO
-A5DE ; [.2E9E.0020.0002.A5DE] # VAI SYLLABLE MO
-A5DF ; [.2E9F.0020.0002.A5DF] # VAI SYLLABLE NO
-A5E0 ; [.2EA0.0020.0002.A5E0] # VAI SYLLABLE NYO
-A5E1 ; [.2EA1.0020.0002.A5E1] # VAI SYLLABLE E
-A5E2 ; [.2EA2.0020.0002.A5E2] # VAI SYLLABLE EN
-A5E3 ; [.2EA3.0020.0002.A5E3] # VAI SYLLABLE NGEN
-A5E4 ; [.2EA4.0020.0002.A5E4] # VAI SYLLABLE HE
-A5E5 ; [.2EA5.0020.0002.A5E5] # VAI SYLLABLE HEN
-A5E6 ; [.2EA6.0020.0002.A5E6] # VAI SYLLABLE WE
-A5E7 ; [.2EA7.0020.0002.A5E7] # VAI SYLLABLE WEN
-A5E8 ; [.2EA8.0020.0002.A5E8] # VAI SYLLABLE PE
-A5E9 ; [.2EA9.0020.0002.A5E9] # VAI SYLLABLE BHE
-A5EA ; [.2EAA.0020.0002.A5EA] # VAI SYLLABLE BE
-A5EB ; [.2EAB.0020.0002.A5EB] # VAI SYLLABLE MBE
-A5EC ; [.2EAC.0020.0002.A5EC] # VAI SYLLABLE KPE
-A5ED ; [.2EAD.0020.0002.A5ED] # VAI SYLLABLE KPEN
-A5EE ; [.2EAE.0020.0002.A5EE] # VAI SYLLABLE MGBE
-A5EF ; [.2EAF.0020.0002.A5EF] # VAI SYLLABLE GBE
-A5F0 ; [.2EB0.0020.0002.A5F0] # VAI SYLLABLE GBEN
-A5F1 ; [.2EB1.0020.0002.A5F1] # VAI SYLLABLE FE
-A5F2 ; [.2EB2.0020.0002.A5F2] # VAI SYLLABLE VE
-A5F3 ; [.2EB3.0020.0002.A5F3] # VAI SYLLABLE TE
-A5F4 ; [.2EB4.0020.0002.A5F4] # VAI SYLLABLE THE
-A5F5 ; [.2EB5.0020.0002.A5F5] # VAI SYLLABLE DHE
-A5F6 ; [.2EB6.0020.0002.A5F6] # VAI SYLLABLE DHHE
-A5F7 ; [.2EB7.0020.0002.A5F7] # VAI SYLLABLE LE
-A5F8 ; [.2EB8.0020.0002.A5F8] # VAI SYLLABLE RE
-A5F9 ; [.2EB9.0020.0002.A5F9] # VAI SYLLABLE DE
-A5FA ; [.2EBA.0020.0002.A5FA] # VAI SYLLABLE NDE
-A5FB ; [.2EBB.0020.0002.A5FB] # VAI SYLLABLE SE
-A5FC ; [.2EBC.0020.0002.A5FC] # VAI SYLLABLE SHE
-A5FD ; [.2EBD.0020.0002.A5FD] # VAI SYLLABLE ZE
-A5FE ; [.2EBE.0020.0002.A5FE] # VAI SYLLABLE ZHE
-A5FF ; [.2EBF.0020.0002.A5FF] # VAI SYLLABLE CE
-A600 ; [.2EC0.0020.0002.A600] # VAI SYLLABLE JE
-A601 ; [.2EC1.0020.0002.A601] # VAI SYLLABLE NJE
-A602 ; [.2EC2.0020.0002.A602] # VAI SYLLABLE YE
-A603 ; [.2EC3.0020.0002.A603] # VAI SYLLABLE KE
-A604 ; [.2EC4.0020.0002.A604] # VAI SYLLABLE NGGE
-A605 ; [.2EC5.0020.0002.A605] # VAI SYLLABLE NGGEN
-A606 ; [.2EC6.0020.0002.A606] # VAI SYLLABLE GE
-A607 ; [.2EC7.0020.0002.A607] # VAI SYLLABLE GEN
-A608 ; [.2EC8.0020.0002.A608] # VAI SYLLABLE ME
-A609 ; [.2EC9.0020.0002.A609] # VAI SYLLABLE NE
-A60A ; [.2ECA.0020.0002.A60A] # VAI SYLLABLE NYE
-A60B ; [.2ECB.0020.0002.A60B] # VAI SYLLABLE NG
-A60C ; [.2ECC.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
-A6A0 ; [.2ECD.0020.0002.A6A0] # BAMUM LETTER A
-A6A1 ; [.2ECE.0020.0002.A6A1] # BAMUM LETTER KA
-A6A2 ; [.2ECF.0020.0002.A6A2] # BAMUM LETTER U
-A6A3 ; [.2ED0.0020.0002.A6A3] # BAMUM LETTER KU
-A6A4 ; [.2ED1.0020.0002.A6A4] # BAMUM LETTER EE
-A6A5 ; [.2ED2.0020.0002.A6A5] # BAMUM LETTER REE
-A6A6 ; [.2ED3.0020.0002.A6A6] # BAMUM LETTER TAE
-A6A7 ; [.2ED4.0020.0002.A6A7] # BAMUM LETTER O
-A6A8 ; [.2ED5.0020.0002.A6A8] # BAMUM LETTER NYI
-A6A9 ; [.2ED6.0020.0002.A6A9] # BAMUM LETTER I
-A6AA ; [.2ED7.0020.0002.A6AA] # BAMUM LETTER LA
-A6AB ; [.2ED8.0020.0002.A6AB] # BAMUM LETTER PA
-A6AC ; [.2ED9.0020.0002.A6AC] # BAMUM LETTER RII
-A6AD ; [.2EDA.0020.0002.A6AD] # BAMUM LETTER RIEE
-A6AE ; [.2EDB.0020.0002.A6AE] # BAMUM LETTER LEEEE
-A6AF ; [.2EDC.0020.0002.A6AF] # BAMUM LETTER MEEEE
-A6B0 ; [.2EDD.0020.0002.A6B0] # BAMUM LETTER TAA
-A6B1 ; [.2EDE.0020.0002.A6B1] # BAMUM LETTER NDAA
-A6B2 ; [.2EDF.0020.0002.A6B2] # BAMUM LETTER NJAEM
-A6B3 ; [.2EE0.0020.0002.A6B3] # BAMUM LETTER M
-A6B4 ; [.2EE1.0020.0002.A6B4] # BAMUM LETTER SUU
-A6B5 ; [.2EE2.0020.0002.A6B5] # BAMUM LETTER MU
-A6B6 ; [.2EE3.0020.0002.A6B6] # BAMUM LETTER SHII
-A6B7 ; [.2EE4.0020.0002.A6B7] # BAMUM LETTER SI
-A6B8 ; [.2EE5.0020.0002.A6B8] # BAMUM LETTER SHEUX
-A6B9 ; [.2EE6.0020.0002.A6B9] # BAMUM LETTER SEUX
-A6BA ; [.2EE7.0020.0002.A6BA] # BAMUM LETTER KYEE
-A6BB ; [.2EE8.0020.0002.A6BB] # BAMUM LETTER KET
-A6BC ; [.2EE9.0020.0002.A6BC] # BAMUM LETTER NUAE
-A6BD ; [.2EEA.0020.0002.A6BD] # BAMUM LETTER NU
-A6BE ; [.2EEB.0020.0002.A6BE] # BAMUM LETTER NJUAE
-A6BF ; [.2EEC.0020.0002.A6BF] # BAMUM LETTER YOQ
-A6C0 ; [.2EED.0020.0002.A6C0] # BAMUM LETTER SHU
-A6C1 ; [.2EEE.0020.0002.A6C1] # BAMUM LETTER YUQ
-A6C2 ; [.2EEF.0020.0002.A6C2] # BAMUM LETTER YA
-A6C3 ; [.2EF0.0020.0002.A6C3] # BAMUM LETTER NSHA
-A6C4 ; [.2EF1.0020.0002.A6C4] # BAMUM LETTER KEUX
-A6C5 ; [.2EF2.0020.0002.A6C5] # BAMUM LETTER PEUX
-A6C6 ; [.2EF3.0020.0002.A6C6] # BAMUM LETTER NJEE
-A6C7 ; [.2EF4.0020.0002.A6C7] # BAMUM LETTER NTEE
-A6C8 ; [.2EF5.0020.0002.A6C8] # BAMUM LETTER PUE
-A6C9 ; [.2EF6.0020.0002.A6C9] # BAMUM LETTER WUE
-A6CA ; [.2EF7.0020.0002.A6CA] # BAMUM LETTER PEE
-A6CB ; [.2EF8.0020.0002.A6CB] # BAMUM LETTER FEE
-A6CC ; [.2EF9.0020.0002.A6CC] # BAMUM LETTER RU
-A6CD ; [.2EFA.0020.0002.A6CD] # BAMUM LETTER LU
-A6CE ; [.2EFB.0020.0002.A6CE] # BAMUM LETTER MI
-A6CF ; [.2EFC.0020.0002.A6CF] # BAMUM LETTER NI
-A6D0 ; [.2EFD.0020.0002.A6D0] # BAMUM LETTER REUX
-A6D1 ; [.2EFE.0020.0002.A6D1] # BAMUM LETTER RAE
-A6D2 ; [.2EFF.0020.0002.A6D2] # BAMUM LETTER KEN
-A6D3 ; [.2F00.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
-A6D4 ; [.2F01.0020.0002.A6D4] # BAMUM LETTER NGGA
-A6D5 ; [.2F02.0020.0002.A6D5] # BAMUM LETTER NGA
-A6D6 ; [.2F03.0020.0002.A6D6] # BAMUM LETTER SHO
-A6D7 ; [.2F04.0020.0002.A6D7] # BAMUM LETTER PUAE
-A6D8 ; [.2F05.0020.0002.A6D8] # BAMUM LETTER FU
-A6D9 ; [.2F06.0020.0002.A6D9] # BAMUM LETTER FOM
-A6DA ; [.2F07.0020.0002.A6DA] # BAMUM LETTER WA
-A6DB ; [.2F08.0020.0002.A6DB] # BAMUM LETTER NA
-A6DC ; [.2F09.0020.0002.A6DC] # BAMUM LETTER LI
-A6DD ; [.2F0A.0020.0002.A6DD] # BAMUM LETTER PI
-A6DE ; [.2F0B.0020.0002.A6DE] # BAMUM LETTER LOQ
-A6DF ; [.2F0C.0020.0002.A6DF] # BAMUM LETTER KO
-A6E0 ; [.2F0D.0020.0002.A6E0] # BAMUM LETTER MBEN
-A6E1 ; [.2F0E.0020.0002.A6E1] # BAMUM LETTER REN
-A6E2 ; [.2F0F.0020.0002.A6E2] # BAMUM LETTER MEN
-A6E3 ; [.2F10.0020.0002.A6E3] # BAMUM LETTER MA
-A6E4 ; [.2F11.0020.0002.A6E4] # BAMUM LETTER TI
-A6E5 ; [.2F12.0020.0002.A6E5] # BAMUM LETTER KI
-A6E6 ; [.2F13.0020.0002.A6E6] # BAMUM LETTER MO
-A6E7 ; [.2F14.0020.0002.A6E7] # BAMUM LETTER MBAA
-A6E8 ; [.2F15.0020.0002.A6E8] # BAMUM LETTER TET
-A6E9 ; [.2F16.0020.0002.A6E9] # BAMUM LETTER KPA
-A6EA ; [.2F17.0020.0002.A6EA] # BAMUM LETTER TEN
-A6EB ; [.2F18.0020.0002.A6EB] # BAMUM LETTER NTUU
-A6EC ; [.2F19.0020.0002.A6EC] # BAMUM LETTER SAMBA
-A6ED ; [.2F1A.0020.0002.A6ED] # BAMUM LETTER FAAMAE
-A6EE ; [.2F1B.0020.0002.A6EE] # BAMUM LETTER KOVUU
-A6EF ; [.2F1C.0020.0002.A6EF] # BAMUM LETTER KOGHOM
-16800 ; [.2F1D.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
-16801 ; [.2F1E.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
-16802 ; [.2F1F.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
-16803 ; [.2F20.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
-16804 ; [.2F21.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
-16805 ; [.2F22.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
-16806 ; [.2F23.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
-16807 ; [.2F24.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
-16808 ; [.2F25.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
-16809 ; [.2F26.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
-1680A ; [.2F27.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
-1680B ; [.2F28.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
-1680C ; [.2F29.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
-1680D ; [.2F2A.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
-1680E ; [.2F2B.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
-1680F ; [.2F2C.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
-16810 ; [.2F2D.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
-16811 ; [.2F2E.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
-16812 ; [.2F2F.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
-16813 ; [.2F30.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
-16814 ; [.2F31.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
-16815 ; [.2F32.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
-16816 ; [.2F33.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
-16817 ; [.2F34.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
-16818 ; [.2F35.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
-16819 ; [.2F36.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
-1681A ; [.2F37.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
-1681B ; [.2F38.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
-1681C ; [.2F39.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
-1681D ; [.2F3A.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
-1681E ; [.2F3B.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
-1681F ; [.2F3C.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
-16820 ; [.2F3D.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
-16821 ; [.2F3E.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
-16822 ; [.2F3F.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
-16823 ; [.2F40.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
-16824 ; [.2F41.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
-16825 ; [.2F42.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
-16826 ; [.2F43.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
-16827 ; [.2F44.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
-16828 ; [.2F45.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
-16829 ; [.2F46.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
-1682A ; [.2F47.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
-1682B ; [.2F48.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
-1682C ; [.2F49.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
-1682D ; [.2F4A.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
-1682E ; [.2F4B.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
-1682F ; [.2F4C.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
-16830 ; [.2F4D.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
-16831 ; [.2F4E.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
-16832 ; [.2F4F.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
-16833 ; [.2F50.0020.0002.16833] # BAMUM LETTER PHASE-A KET
-16834 ; [.2F51.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
-16835 ; [.2F52.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
-16836 ; [.2F53.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
-16837 ; [.2F54.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
-16838 ; [.2F55.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
-16839 ; [.2F56.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
-1683A ; [.2F57.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
-1683B ; [.2F58.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
-1683C ; [.2F59.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
-1683D ; [.2F5A.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
-1683E ; [.2F5B.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
-1683F ; [.2F5C.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
-16840 ; [.2F5D.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
-16841 ; [.2F5E.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
-16842 ; [.2F5F.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
-16843 ; [.2F60.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
-16844 ; [.2F61.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
-16845 ; [.2F62.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
-16846 ; [.2F63.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
-16847 ; [.2F64.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
-16848 ; [.2F65.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
-16849 ; [.2F66.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
-1684A ; [.2F67.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
-1684B ; [.2F68.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
-1684C ; [.2F69.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
-1684D ; [.2F6A.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
-1684E ; [.2F6B.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
-1684F ; [.2F6C.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
-16850 ; [.2F6D.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
-16851 ; [.2F6E.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
-16852 ; [.2F6F.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
-16853 ; [.2F70.0020.0002.16853] # BAMUM LETTER PHASE-A LU
-16854 ; [.2F71.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
-16855 ; [.2F72.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
-16856 ; [.2F73.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
-16857 ; [.2F74.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
-16858 ; [.2F75.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
-16859 ; [.2F76.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
-1685A ; [.2F77.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
-1685B ; [.2F78.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
-1685C ; [.2F79.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
-1685D ; [.2F7A.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
-1685E ; [.2F7B.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
-1685F ; [.2F7C.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
-16860 ; [.2F7D.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
-16861 ; [.2F7E.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
-16862 ; [.2F7F.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
-16863 ; [.2F80.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
-16864 ; [.2F81.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
-16865 ; [.2F82.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
-16866 ; [.2F83.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
-16867 ; [.2F84.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
-16868 ; [.2F85.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
-16869 ; [.2F86.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
-1686A ; [.2F87.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
-1686B ; [.2F88.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
-1686C ; [.2F89.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
-1686D ; [.2F8A.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
-1686E ; [.2F8B.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
-1686F ; [.2F8C.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
-16870 ; [.2F8D.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
-16871 ; [.2F8E.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
-16872 ; [.2F8F.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
-16873 ; [.2F90.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
-16874 ; [.2F91.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
-16875 ; [.2F92.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
-16876 ; [.2F93.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
-16877 ; [.2F94.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
-16878 ; [.2F95.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
-16879 ; [.2F96.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
-1687A ; [.2F97.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
-1687B ; [.2F98.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
-1687C ; [.2F99.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
-1687D ; [.2F9A.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
-1687E ; [.2F9B.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
-1687F ; [.2F9C.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
-16880 ; [.2F9D.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
-16881 ; [.2F9E.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
-16882 ; [.2F9F.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
-16883 ; [.2FA0.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
-16884 ; [.2FA1.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
-16885 ; [.2FA2.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
-16886 ; [.2FA3.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
-16887 ; [.2FA4.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
-16888 ; [.2FA5.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
-16889 ; [.2FA6.0020.0002.16889] # BAMUM LETTER PHASE-B LET
-1688A ; [.2FA7.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
-1688B ; [.2FA8.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
-1688C ; [.2FA9.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
-1688D ; [.2FAA.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
-1688E ; [.2FAB.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
-1688F ; [.2FAC.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
-16890 ; [.2FAD.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
-16891 ; [.2FAE.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
-16892 ; [.2FAF.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
-16893 ; [.2FB0.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
-16894 ; [.2FB1.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
-16895 ; [.2FB2.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
-16896 ; [.2FB3.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
-16897 ; [.2FB4.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
-16898 ; [.2FB5.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
-16899 ; [.2FB6.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
-1689A ; [.2FB7.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
-1689B ; [.2FB8.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
-1689C ; [.2FB9.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
-1689D ; [.2FBA.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
-1689E ; [.2FBB.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
-1689F ; [.2FBC.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
-168A0 ; [.2FBD.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
-168A1 ; [.2FBE.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
-168A2 ; [.2FBF.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
-168A3 ; [.2FC0.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
-168A4 ; [.2FC1.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
-168A5 ; [.2FC2.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
-168A6 ; [.2FC3.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
-168A7 ; [.2FC4.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
-168A8 ; [.2FC5.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
-168A9 ; [.2FC6.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
-168AA ; [.2FC7.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
-168AB ; [.2FC8.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
-168AC ; [.2FC9.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
-168AD ; [.2FCA.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
-168AE ; [.2FCB.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
-168AF ; [.2FCC.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
-168B0 ; [.2FCD.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
-168B1 ; [.2FCE.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
-168B2 ; [.2FCF.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
-168B3 ; [.2FD0.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
-168B4 ; [.2FD1.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
-168B5 ; [.2FD2.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
-168B6 ; [.2FD3.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
-168B7 ; [.2FD4.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
-168B8 ; [.2FD5.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
-168B9 ; [.2FD6.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
-168BA ; [.2FD7.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
-168BB ; [.2FD8.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
-168BC ; [.2FD9.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
-168BD ; [.2FDA.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
-168BE ; [.2FDB.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
-168BF ; [.2FDC.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
-168C0 ; [.2FDD.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
-168C1 ; [.2FDE.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
-168C2 ; [.2FDF.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
-168C3 ; [.2FE0.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
-168C4 ; [.2FE1.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
-168C5 ; [.2FE2.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
-168C6 ; [.2FE3.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
-168C7 ; [.2FE4.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
-168C8 ; [.2FE5.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
-168C9 ; [.2FE6.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
-168CA ; [.2FE7.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
-168CB ; [.2FE8.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
-168CC ; [.2FE9.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
-168CD ; [.2FEA.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
-168CE ; [.2FEB.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
-168CF ; [.2FEC.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
-168D0 ; [.2FED.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
-168D1 ; [.2FEE.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
-168D2 ; [.2FEF.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
-168D3 ; [.2FF0.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
-168D4 ; [.2FF1.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
-168D5 ; [.2FF2.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
-168D6 ; [.2FF3.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
-168D7 ; [.2FF4.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
-168D8 ; [.2FF5.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
-168D9 ; [.2FF6.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
-168DA ; [.2FF7.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
-168DB ; [.2FF8.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
-168DC ; [.2FF9.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
-168DD ; [.2FFA.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
-168DE ; [.2FFB.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
-168DF ; [.2FFC.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
-168E0 ; [.2FFD.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
-168E1 ; [.2FFE.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
-168E2 ; [.2FFF.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
-168E3 ; [.3000.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
-168E4 ; [.3001.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
-168E5 ; [.3002.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
-168E6 ; [.3003.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
-168E7 ; [.3004.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
-168E8 ; [.3005.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
-168E9 ; [.3006.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
-168EA ; [.3007.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
-168EB ; [.3008.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
-168EC ; [.3009.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
-168ED ; [.300A.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
-168EE ; [.300B.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
-168EF ; [.300C.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
-168F0 ; [.300D.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
-168F1 ; [.300E.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
-168F2 ; [.300F.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
-168F3 ; [.3010.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
-168F4 ; [.3011.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
-168F5 ; [.3012.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
-168F6 ; [.3013.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
-168F7 ; [.3014.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
-168F8 ; [.3015.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
-168F9 ; [.3016.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
-168FA ; [.3017.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
-168FB ; [.3018.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
-168FC ; [.3019.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
-168FD ; [.301A.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
-168FE ; [.301B.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
-168FF ; [.301C.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
-16900 ; [.301D.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
-16901 ; [.301E.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
-16902 ; [.301F.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
-16903 ; [.3020.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
-16904 ; [.3021.0020.0002.16904] # BAMUM LETTER PHASE-D KET
-16905 ; [.3022.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
-16906 ; [.3023.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
-16907 ; [.3024.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
-16908 ; [.3025.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
-16909 ; [.3026.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
-1690A ; [.3027.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
-1690B ; [.3028.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
-1690C ; [.3029.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
-1690D ; [.302A.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
-1690E ; [.302B.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
-1690F ; [.302C.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
-16910 ; [.302D.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
-16911 ; [.302E.0020.0002.16911] # BAMUM LETTER PHASE-D TU
-16912 ; [.302F.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
-16913 ; [.3030.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
-16914 ; [.3031.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
-16915 ; [.3032.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
-16916 ; [.3033.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
-16917 ; [.3034.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
-16918 ; [.3035.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
-16919 ; [.3036.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
-1691A ; [.3037.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
-1691B ; [.3038.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
-1691C ; [.3039.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
-1691D ; [.303A.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
-1691E ; [.303B.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
-1691F ; [.303C.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
-16920 ; [.303D.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
-16921 ; [.303E.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
-16922 ; [.303F.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
-16923 ; [.3040.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
-16924 ; [.3041.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
-16925 ; [.3042.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
-16926 ; [.3043.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
-16927 ; [.3044.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
-16928 ; [.3045.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
-16929 ; [.3046.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
-1692A ; [.3047.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
-1692B ; [.3048.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
-1692C ; [.3049.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
-1692D ; [.304A.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
-1692E ; [.304B.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
-1692F ; [.304C.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
-16930 ; [.304D.0020.0002.16930] # BAMUM LETTER PHASE-D LET
-16931 ; [.304E.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
-16932 ; [.304F.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
-16933 ; [.3050.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
-16934 ; [.3051.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
-16935 ; [.3052.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
-16936 ; [.3053.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
-16937 ; [.3054.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
-16938 ; [.3055.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
-16939 ; [.3056.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
-1693A ; [.3057.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
-1693B ; [.3058.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
-1693C ; [.3059.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
-1693D ; [.305A.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
-1693E ; [.305B.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
-1693F ; [.305C.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
-16940 ; [.305D.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
-16941 ; [.305E.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
-16942 ; [.305F.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
-16943 ; [.3060.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
-16944 ; [.3061.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
-16945 ; [.3062.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
-16946 ; [.3063.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
-16947 ; [.3064.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
-16948 ; [.3065.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
-16949 ; [.3066.0020.0002.16949] # BAMUM LETTER PHASE-D KU
-1694A ; [.3067.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
-1694B ; [.3068.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
-1694C ; [.3069.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
-1694D ; [.306A.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
-1694E ; [.306B.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
-1694F ; [.306C.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
-16950 ; [.306D.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
-16951 ; [.306E.0020.0002.16951] # BAMUM LETTER PHASE-D M
-16952 ; [.306F.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
-16953 ; [.3070.0020.0002.16953] # BAMUM LETTER PHASE-D MU
-16954 ; [.3071.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
-16955 ; [.3072.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
-16956 ; [.3073.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
-16957 ; [.3074.0020.0002.16957] # BAMUM LETTER PHASE-D NU
-16958 ; [.3075.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
-16959 ; [.3076.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
-1695A ; [.3077.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
-1695B ; [.3078.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
-1695C ; [.3079.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
-1695D ; [.307A.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
-1695E ; [.307B.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
-1695F ; [.307C.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
-16960 ; [.307D.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
-16961 ; [.307E.0020.0002.16961] # BAMUM LETTER PHASE-D TI
-16962 ; [.307F.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
-16963 ; [.3080.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
-16964 ; [.3081.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
-16965 ; [.3082.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
-16966 ; [.3083.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
-16967 ; [.3084.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
-16968 ; [.3085.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
-16969 ; [.3086.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
-1696A ; [.3087.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
-1696B ; [.3088.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
-1696C ; [.3089.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
-1696D ; [.308A.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
-1696E ; [.308B.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
-1696F ; [.308C.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
-16970 ; [.308D.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
-16971 ; [.308E.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
-16972 ; [.308F.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
-16973 ; [.3090.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
-16974 ; [.3091.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
-16975 ; [.3092.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
-16976 ; [.3093.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
-16977 ; [.3094.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
-16978 ; [.3095.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
-16979 ; [.3096.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
-1697A ; [.3097.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
-1697B ; [.3098.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
-1697C ; [.3099.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
-1697D ; [.309A.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
-1697E ; [.309B.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
-1697F ; [.309C.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
-16980 ; [.309D.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
-16981 ; [.309E.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
-16982 ; [.309F.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
-16983 ; [.30A0.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
-16984 ; [.30A1.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
-16985 ; [.30A2.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
-16986 ; [.30A3.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
-16987 ; [.30A4.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
-16988 ; [.30A5.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
-16989 ; [.30A6.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
-1698A ; [.30A7.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
-1698B ; [.30A8.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
-1698C ; [.30A9.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
-1698D ; [.30AA.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
-1698E ; [.30AB.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
-1698F ; [.30AC.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
-16990 ; [.30AD.0020.0002.16990] # BAMUM LETTER PHASE-E SET
-16991 ; [.30AE.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
-16992 ; [.30AF.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
-16993 ; [.30B0.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
-16994 ; [.30B1.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
-16995 ; [.30B2.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
-16996 ; [.30B3.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
-16997 ; [.30B4.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
-16998 ; [.30B5.0020.0002.16998] # BAMUM LETTER PHASE-E PO
-16999 ; [.30B6.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
-1699A ; [.30B7.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
-1699B ; [.30B8.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
-1699C ; [.30B9.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
-1699D ; [.30BA.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
-1699E ; [.30BB.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
-1699F ; [.30BC.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
-169A0 ; [.30BD.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
-169A1 ; [.30BE.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
-169A2 ; [.30BF.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
-169A3 ; [.30C0.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
-169A4 ; [.30C1.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
-169A5 ; [.30C2.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
-169A6 ; [.30C3.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
-169A7 ; [.30C4.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
-169A8 ; [.30C5.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
-169A9 ; [.30C6.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
-169AA ; [.30C7.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
-169AB ; [.30C8.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
-169AC ; [.30C9.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
-169AD ; [.30CA.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
-169AE ; [.30CB.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
-169AF ; [.30CC.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
-169B0 ; [.30CD.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
-169B1 ; [.30CE.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
-169B2 ; [.30CF.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
-169B3 ; [.30D0.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
-169B4 ; [.30D1.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
-169B5 ; [.30D2.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
-169B6 ; [.30D3.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
-169B7 ; [.30D4.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
-169B8 ; [.30D5.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
-169B9 ; [.30D6.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
-169BA ; [.30D7.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
-169BB ; [.30D8.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
-169BC ; [.30D9.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
-169BD ; [.30DA.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
-169BE ; [.30DB.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
-169BF ; [.30DC.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
-169C0 ; [.30DD.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
-169C1 ; [.30DE.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
-169C2 ; [.30DF.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
-169C3 ; [.30E0.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
-169C4 ; [.30E1.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
-169C5 ; [.30E2.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
-169C6 ; [.30E3.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
-169C7 ; [.30E4.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
-169C8 ; [.30E5.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
-169C9 ; [.30E6.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
-169CA ; [.30E7.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
-169CB ; [.30E8.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
-169CC ; [.30E9.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
-169CD ; [.30EA.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
-169CE ; [.30EB.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
-169CF ; [.30EC.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
-169D0 ; [.30ED.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
-169D1 ; [.30EE.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
-169D2 ; [.30EF.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
-169D3 ; [.30F0.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
-169D4 ; [.30F1.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
-169D5 ; [.30F2.0020.0002.169D5] # BAMUM LETTER PHASE-E A
-169D6 ; [.30F3.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
-169D7 ; [.30F4.0020.0002.169D7] # BAMUM LETTER PHASE-E O
-169D8 ; [.30F5.0020.0002.169D8] # BAMUM LETTER PHASE-E I
-169D9 ; [.30F6.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
-169DA ; [.30F7.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
-169DB ; [.30F8.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
-169DC ; [.30F9.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
-169DD ; [.30FA.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
-169DE ; [.30FB.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
-169DF ; [.30FC.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
-169E0 ; [.30FD.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
-169E1 ; [.30FE.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
-169E2 ; [.30FF.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
-169E3 ; [.3100.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
-169E4 ; [.3101.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
-169E5 ; [.3102.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
-169E6 ; [.3103.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
-169E7 ; [.3104.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
-169E8 ; [.3105.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
-169E9 ; [.3106.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
-169EA ; [.3107.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
-169EB ; [.3108.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
-169EC ; [.3109.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
-169ED ; [.310A.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
-169EE ; [.310B.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
-169EF ; [.310C.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
-169F0 ; [.310D.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
-169F1 ; [.310E.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
-169F2 ; [.310F.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
-169F3 ; [.3110.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
-169F4 ; [.3111.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
-169F5 ; [.3112.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
-169F6 ; [.3113.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
-169F7 ; [.3114.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
-169F8 ; [.3115.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
-169F9 ; [.3116.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
-169FA ; [.3117.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
-169FB ; [.3118.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
-169FC ; [.3119.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
-169FD ; [.311A.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
-169FE ; [.311B.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
-169FF ; [.311C.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
-16A00 ; [.311D.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
-16A01 ; [.311E.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
-16A02 ; [.311F.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
-16A03 ; [.3120.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
-16A04 ; [.3121.0020.0002.16A04] # BAMUM LETTER PHASE-F U
-16A05 ; [.3122.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
-16A06 ; [.3123.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
-16A07 ; [.3124.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
-16A08 ; [.3125.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
-16A09 ; [.3126.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
-16A0A ; [.3127.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
-16A0B ; [.3128.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
-16A0C ; [.3129.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
-16A0D ; [.312A.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
-16A0E ; [.312B.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
-16A0F ; [.312C.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
-16A10 ; [.312D.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
-16A11 ; [.312E.0020.0002.16A11] # BAMUM LETTER PHASE-F M
-16A12 ; [.312F.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
-16A13 ; [.3130.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
-16A14 ; [.3131.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
-16A15 ; [.3132.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
-16A16 ; [.3133.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
-16A17 ; [.3134.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
-16A18 ; [.3135.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
-16A19 ; [.3136.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
-16A1A ; [.3137.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
-16A1B ; [.3138.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
-16A1C ; [.3139.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
-16A1D ; [.313A.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
-16A1E ; [.313B.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
-16A1F ; [.313C.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
-16A20 ; [.313D.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
-16A21 ; [.313E.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
-16A22 ; [.313F.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
-16A23 ; [.3140.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
-16A24 ; [.3141.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
-16A25 ; [.3142.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
-16A26 ; [.3143.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
-16A27 ; [.3144.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
-16A28 ; [.3145.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
-16A29 ; [.3146.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
-16A2A ; [.3147.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
-16A2B ; [.3148.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
-16A2C ; [.3149.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
-16A2D ; [.314A.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
-16A2E ; [.314B.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
-16A2F ; [.314C.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
-16A30 ; [.314D.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
-16A31 ; [.314E.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
-16A32 ; [.314F.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
-16A33 ; [.3150.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
-16A34 ; [.3151.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
-16A35 ; [.3152.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
-16A36 ; [.3153.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
-16A37 ; [.3154.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
-16A38 ; [.3155.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
-1100 ; [.3156.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
-3131 ; [.3156.0020.0004.3131] # HANGUL LETTER KIYEOK
-3200 ; [*02FB.0020.0004.3200][.3156.0020.0004.3200][*02FC.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK
-3260 ; [.3156.0020.0006.3260] # CIRCLED HANGUL KIYEOK
-FFA1 ; [.3156.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK
-320E ; [*02FB.0020.0004.320E][.3156.0020.0004.320E][.31D4.0020.0004.320E][*02FC.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A
-326E ; [.3156.0020.0006.326E][.31D4.0020.0006.326E] # CIRCLED HANGUL KIYEOK A
-1101 ; [.3157.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
-3132 ; [.3157.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK
-FFA2 ; [.3157.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
-1102 ; [.3158.0020.0002.1102] # HANGUL CHOSEONG NIEUN
-3134 ; [.3158.0020.0004.3134] # HANGUL LETTER NIEUN
-3201 ; [*02FB.0020.0004.3201][.3158.0020.0004.3201][*02FC.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN
-3261 ; [.3158.0020.0006.3261] # CIRCLED HANGUL NIEUN
-FFA4 ; [.3158.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN
-320F ; [*02FB.0020.0004.320F][.3158.0020.0004.320F][.31D4.0020.0004.320F][*02FC.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A
-326F ; [.3158.0020.0006.326F][.31D4.0020.0006.326F] # CIRCLED HANGUL NIEUN A
-1103 ; [.3159.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
-3137 ; [.3159.0020.0004.3137] # HANGUL LETTER TIKEUT
-3202 ; [*02FB.0020.0004.3202][.3159.0020.0004.3202][*02FC.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT
-3262 ; [.3159.0020.0006.3262] # CIRCLED HANGUL TIKEUT
-FFA7 ; [.3159.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT
-3210 ; [*02FB.0020.0004.3210][.3159.0020.0004.3210][.31D4.0020.0004.3210][*02FC.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A
-3270 ; [.3159.0020.0006.3270][.31D4.0020.0006.3270] # CIRCLED HANGUL TIKEUT A
-1104 ; [.315A.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
-3138 ; [.315A.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT
-FFA8 ; [.315A.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
-1105 ; [.315B.0020.0002.1105] # HANGUL CHOSEONG RIEUL
-3139 ; [.315B.0020.0004.3139] # HANGUL LETTER RIEUL
-3203 ; [*02FB.0020.0004.3203][.315B.0020.0004.3203][*02FC.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL
-3263 ; [.315B.0020.0006.3263] # CIRCLED HANGUL RIEUL
-FFA9 ; [.315B.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL
-3211 ; [*02FB.0020.0004.3211][.315B.0020.0004.3211][.31D4.0020.0004.3211][*02FC.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A
-3271 ; [.315B.0020.0006.3271][.31D4.0020.0006.3271] # CIRCLED HANGUL RIEUL A
-1106 ; [.315C.0020.0002.1106] # HANGUL CHOSEONG MIEUM
-3141 ; [.315C.0020.0004.3141] # HANGUL LETTER MIEUM
-3204 ; [*02FB.0020.0004.3204][.315C.0020.0004.3204][*02FC.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM
-3264 ; [.315C.0020.0006.3264] # CIRCLED HANGUL MIEUM
-FFB1 ; [.315C.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM
-3212 ; [*02FB.0020.0004.3212][.315C.0020.0004.3212][.31D4.0020.0004.3212][*02FC.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A
-3272 ; [.315C.0020.0006.3272][.31D4.0020.0006.3272] # CIRCLED HANGUL MIEUM A
-1107 ; [.315D.0020.0002.1107] # HANGUL CHOSEONG PIEUP
-3142 ; [.315D.0020.0004.3142] # HANGUL LETTER PIEUP
-3205 ; [*02FB.0020.0004.3205][.315D.0020.0004.3205][*02FC.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP
-3265 ; [.315D.0020.0006.3265] # CIRCLED HANGUL PIEUP
-FFB2 ; [.315D.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP
-3213 ; [*02FB.0020.0004.3213][.315D.0020.0004.3213][.31D4.0020.0004.3213][*02FC.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A
-3273 ; [.315D.0020.0006.3273][.31D4.0020.0006.3273] # CIRCLED HANGUL PIEUP A
-1108 ; [.315E.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
-3143 ; [.315E.0020.0004.3143] # HANGUL LETTER SSANGPIEUP
-FFB3 ; [.315E.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP
-1109 ; [.315F.0020.0002.1109] # HANGUL CHOSEONG SIOS
-3145 ; [.315F.0020.0004.3145] # HANGUL LETTER SIOS
-3206 ; [*02FB.0020.0004.3206][.315F.0020.0004.3206][*02FC.0020.001F.3206] # PARENTHESIZED HANGUL SIOS
-3266 ; [.315F.0020.0006.3266] # CIRCLED HANGUL SIOS
-FFB5 ; [.315F.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS
-3214 ; [*02FB.0020.0004.3214][.315F.0020.0004.3214][.31D4.0020.0004.3214][*02FC.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A
-3274 ; [.315F.0020.0006.3274][.31D4.0020.0006.3274] # CIRCLED HANGUL SIOS A
-110A ; [.3160.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
-3146 ; [.3160.0020.0004.3146] # HANGUL LETTER SSANGSIOS
-FFB6 ; [.3160.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS
-110B ; [.3161.0020.0002.110B] # HANGUL CHOSEONG IEUNG
-3147 ; [.3161.0020.0004.3147] # HANGUL LETTER IEUNG
-3207 ; [*02FB.0020.0004.3207][.3161.0020.0004.3207][*02FC.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG
-3267 ; [.3161.0020.0006.3267] # CIRCLED HANGUL IEUNG
-FFB7 ; [.3161.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG
-3215 ; [*02FB.0020.0004.3215][.3161.0020.0004.3215][.31D4.0020.0004.3215][*02FC.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A
-3275 ; [.3161.0020.0006.3275][.31D4.0020.0006.3275] # CIRCLED HANGUL IEUNG A
-321D ; [*02FB.0020.0004.321D][.3161.0020.0004.321D][.31DC.0020.0004.321D][.3162.0020.0004.321D][.31D8.0020.0004.321D][.3235.0020.0004.321D][*02FC.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON
-321E ; [*02FB.0020.0004.321E][.3161.0020.0004.321E][.31DC.0020.0004.321E][.3168.0020.0004.321E][.31E1.0020.0004.321E][*02FC.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU
-327E ; [.3161.0020.0006.327E][.31E1.0020.0006.327E] # CIRCLED HANGUL IEUNG U
-110C ; [.3162.0020.0002.110C] # HANGUL CHOSEONG CIEUC
-3148 ; [.3162.0020.0004.3148] # HANGUL LETTER CIEUC
-3208 ; [*02FB.0020.0004.3208][.3162.0020.0004.3208][*02FC.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC
-3268 ; [.3162.0020.0006.3268] # CIRCLED HANGUL CIEUC
-FFB8 ; [.3162.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC
-3216 ; [*02FB.0020.0004.3216][.3162.0020.0004.3216][.31D4.0020.0004.3216][*02FC.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A
-3276 ; [.3162.0020.0006.3276][.31D4.0020.0006.3276] # CIRCLED HANGUL CIEUC A
-321C ; [*02FB.0020.0004.321C][.3162.0020.0004.321C][.31E1.0020.0004.321C][*02FC.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U
-327D ; [.3162.0020.0006.327D][.31E1.0020.0006.327D][.3161.0020.0006.327D][.31E7.0020.0006.327D] # CIRCLED KOREAN CHARACTER JUEUI
-110D ; [.3163.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
-3149 ; [.3163.0020.0004.3149] # HANGUL LETTER SSANGCIEUC
-FFB9 ; [.3163.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC
-110E ; [.3164.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
-314A ; [.3164.0020.0004.314A] # HANGUL LETTER CHIEUCH
-3209 ; [*02FB.0020.0004.3209][.3164.0020.0004.3209][*02FC.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH
-3269 ; [.3164.0020.0006.3269] # CIRCLED HANGUL CHIEUCH
-FFBA ; [.3164.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH
-3217 ; [*02FB.0020.0004.3217][.3164.0020.0004.3217][.31D4.0020.0004.3217][*02FC.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A
-3277 ; [.3164.0020.0006.3277][.31D4.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A
-327C ; [.3164.0020.0006.327C][.31D4.0020.0006.327C][.3241.0020.0006.327C][.3156.0020.0006.327C][.31DC.0020.0006.327C] # CIRCLED KOREAN CHARACTER CHAMKO
-110F ; [.3165.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
-314B ; [.3165.0020.0004.314B] # HANGUL LETTER KHIEUKH
-320A ; [*02FB.0020.0004.320A][.3165.0020.0004.320A][*02FC.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH
-326A ; [.3165.0020.0006.326A] # CIRCLED HANGUL KHIEUKH
-FFBB ; [.3165.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH
-3218 ; [*02FB.0020.0004.3218][.3165.0020.0004.3218][.31D4.0020.0004.3218][*02FC.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A
-3278 ; [.3165.0020.0006.3278][.31D4.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A
-1110 ; [.3166.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
-314C ; [.3166.0020.0004.314C] # HANGUL LETTER THIEUTH
-320B ; [*02FB.0020.0004.320B][.3166.0020.0004.320B][*02FC.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH
-326B ; [.3166.0020.0006.326B] # CIRCLED HANGUL THIEUTH
-FFBC ; [.3166.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH
-3219 ; [*02FB.0020.0004.3219][.3166.0020.0004.3219][.31D4.0020.0004.3219][*02FC.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A
-3279 ; [.3166.0020.0006.3279][.31D4.0020.0006.3279] # CIRCLED HANGUL THIEUTH A
-1111 ; [.3167.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
-314D ; [.3167.0020.0004.314D] # HANGUL LETTER PHIEUPH
-320C ; [*02FB.0020.0004.320C][.3167.0020.0004.320C][*02FC.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH
-326C ; [.3167.0020.0006.326C] # CIRCLED HANGUL PHIEUPH
-FFBD ; [.3167.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH
-321A ; [*02FB.0020.0004.321A][.3167.0020.0004.321A][.31D4.0020.0004.321A][*02FC.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A
-327A ; [.3167.0020.0006.327A][.31D4.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A
-1112 ; [.3168.0020.0002.1112] # HANGUL CHOSEONG HIEUH
-314E ; [.3168.0020.0004.314E] # HANGUL LETTER HIEUH
-320D ; [*02FB.0020.0004.320D][.3168.0020.0004.320D][*02FC.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH
-326D ; [.3168.0020.0006.326D] # CIRCLED HANGUL HIEUH
-FFBE ; [.3168.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH
-321B ; [*02FB.0020.0004.321B][.3168.0020.0004.321B][.31D4.0020.0004.321B][*02FC.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A
-327B ; [.3168.0020.0006.327B][.31D4.0020.0006.327B] # CIRCLED HANGUL HIEUH A
-1113 ; [.3169.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
-1114 ; [.316A.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
-3165 ; [.316A.0020.0004.3165] # HANGUL LETTER SSANGNIEUN
-1115 ; [.316B.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
-3166 ; [.316B.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT
-1116 ; [.316C.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
-1117 ; [.316D.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118 ; [.316E.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
-1119 ; [.316F.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
-111A ; [.3170.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
-3140 ; [.3170.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH
-FFB0 ; [.3170.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-111B ; [.3171.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C ; [.3172.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
-316E ; [.3172.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP
-111D ; [.3173.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
-3171 ; [.3173.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM
-111E ; [.3174.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
-3172 ; [.3174.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK
-111F ; [.3175.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
-1120 ; [.3176.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
-3173 ; [.3176.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT
-1121 ; [.3177.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
-3144 ; [.3177.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS
-FFB4 ; [.3177.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
-1122 ; [.3178.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-3174 ; [.3178.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK
-1123 ; [.3179.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-3175 ; [.3179.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT
-1124 ; [.317A.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125 ; [.317B.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126 ; [.317C.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127 ; [.317D.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
-3176 ; [.317D.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC
-1128 ; [.317E.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129 ; [.317F.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
-3177 ; [.317F.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH
-112A ; [.3180.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B ; [.3181.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
-3178 ; [.3181.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP
-112C ; [.3182.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-3179 ; [.3182.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP
-112D ; [.3183.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
-317A ; [.3183.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK
-112E ; [.3184.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
-317B ; [.3184.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN
-112F ; [.3185.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
-317C ; [.3185.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT
-1130 ; [.3186.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
-1131 ; [.3187.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
-1132 ; [.3188.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
-317D ; [.3188.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP
-1133 ; [.3189.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134 ; [.318A.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135 ; [.318B.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
-1136 ; [.318C.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
-317E ; [.318C.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC
-1137 ; [.318D.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
-1138 ; [.318E.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
-1139 ; [.318F.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
-113A ; [.3190.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
-113B ; [.3191.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
-113C ; [.3192.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
-113D ; [.3193.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E ; [.3194.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F ; [.3195.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140 ; [.3196.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
-317F ; [.3196.0020.0004.317F] # HANGUL LETTER PANSIOS
-1141 ; [.3197.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
-1142 ; [.3198.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
-1143 ; [.3199.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
-1144 ; [.319A.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
-1145 ; [.319B.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
-1146 ; [.319C.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
-1147 ; [.319D.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
-3180 ; [.319D.0020.0004.3180] # HANGUL LETTER SSANGIEUNG
-1148 ; [.319E.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
-1149 ; [.319F.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A ; [.31A0.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
-114B ; [.31A1.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C ; [.31A2.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
-3181 ; [.31A2.0020.0004.3181] # HANGUL LETTER YESIEUNG
-114D ; [.31A3.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
-114E ; [.31A4.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
-114F ; [.31A5.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150 ; [.31A6.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151 ; [.31A7.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152 ; [.31A8.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153 ; [.31A9.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154 ; [.31AA.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155 ; [.31AB.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156 ; [.31AC.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157 ; [.31AD.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-3184 ; [.31AD.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH
-1158 ; [.31AE.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
-3185 ; [.31AE.0020.0004.3185] # HANGUL LETTER SSANGHIEUH
-1159 ; [.31AF.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
-3186 ; [.31AF.0020.0004.3186] # HANGUL LETTER YEORINHIEUH
-115A ; [.31B0.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B ; [.31B1.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
-115C ; [.31B2.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
-115D ; [.31B3.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
-115E ; [.31B4.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
-A960 ; [.31B5.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
-A961 ; [.31B6.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
-A962 ; [.31B7.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
-A963 ; [.31B8.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
-A964 ; [.31B9.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
-A965 ; [.31BA.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966 ; [.31BB.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
-A967 ; [.31BC.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968 ; [.31BD.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
-A969 ; [.31BE.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
-A96A ; [.31BF.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B ; [.31C0.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C ; [.31C1.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
-A96D ; [.31C2.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
-A96E ; [.31C3.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F ; [.31C4.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
-A970 ; [.31C5.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
-A971 ; [.31C6.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
-A972 ; [.31C7.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973 ; [.31C8.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974 ; [.31C9.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
-A975 ; [.31CA.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976 ; [.31CB.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
-A977 ; [.31CC.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
-A978 ; [.31CD.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979 ; [.31CE.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
-A97A ; [.31CF.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B ; [.31D0.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
-A97C ; [.31D1.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
-115F ; [.31D2.0020.0002.115F] # HANGUL CHOSEONG FILLER
-1160 ; [.31D3.0020.0002.1160] # HANGUL JUNGSEONG FILLER
-3164 ; [.31D3.0020.0004.3164] # HANGUL FILLER
-FFA0 ; [.31D3.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER
-1161 ; [.31D4.0020.0002.1161] # HANGUL JUNGSEONG A
-314F ; [.31D4.0020.0004.314F] # HANGUL LETTER A
-FFC2 ; [.31D4.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A
-1162 ; [.31D5.0020.0002.1162] # HANGUL JUNGSEONG AE
-3150 ; [.31D5.0020.0004.3150] # HANGUL LETTER AE
-FFC3 ; [.31D5.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE
-1163 ; [.31D6.0020.0002.1163] # HANGUL JUNGSEONG YA
-3151 ; [.31D6.0020.0004.3151] # HANGUL LETTER YA
-FFC4 ; [.31D6.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA
-1164 ; [.31D7.0020.0002.1164] # HANGUL JUNGSEONG YAE
-3152 ; [.31D7.0020.0004.3152] # HANGUL LETTER YAE
-FFC5 ; [.31D7.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE
-1165 ; [.31D8.0020.0002.1165] # HANGUL JUNGSEONG EO
-3153 ; [.31D8.0020.0004.3153] # HANGUL LETTER EO
-FFC6 ; [.31D8.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO
-1166 ; [.31D9.0020.0002.1166] # HANGUL JUNGSEONG E
-3154 ; [.31D9.0020.0004.3154] # HANGUL LETTER E
-FFC7 ; [.31D9.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E
-1167 ; [.31DA.0020.0002.1167] # HANGUL JUNGSEONG YEO
-3155 ; [.31DA.0020.0004.3155] # HANGUL LETTER YEO
-FFCA ; [.31DA.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO
-1168 ; [.31DB.0020.0002.1168] # HANGUL JUNGSEONG YE
-3156 ; [.31DB.0020.0004.3156] # HANGUL LETTER YE
-FFCB ; [.31DB.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE
-1169 ; [.31DC.0020.0002.1169] # HANGUL JUNGSEONG O
-3157 ; [.31DC.0020.0004.3157] # HANGUL LETTER O
-FFCC ; [.31DC.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O
-116A ; [.31DD.0020.0002.116A] # HANGUL JUNGSEONG WA
-3158 ; [.31DD.0020.0004.3158] # HANGUL LETTER WA
-FFCD ; [.31DD.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA
-116B ; [.31DE.0020.0002.116B] # HANGUL JUNGSEONG WAE
-3159 ; [.31DE.0020.0004.3159] # HANGUL LETTER WAE
-FFCE ; [.31DE.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE
-116C ; [.31DF.0020.0002.116C] # HANGUL JUNGSEONG OE
-315A ; [.31DF.0020.0004.315A] # HANGUL LETTER OE
-FFCF ; [.31DF.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE
-116D ; [.31E0.0020.0002.116D] # HANGUL JUNGSEONG YO
-315B ; [.31E0.0020.0004.315B] # HANGUL LETTER YO
-FFD2 ; [.31E0.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO
-116E ; [.31E1.0020.0002.116E] # HANGUL JUNGSEONG U
-315C ; [.31E1.0020.0004.315C] # HANGUL LETTER U
-FFD3 ; [.31E1.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U
-116F ; [.31E2.0020.0002.116F] # HANGUL JUNGSEONG WEO
-315D ; [.31E2.0020.0004.315D] # HANGUL LETTER WEO
-FFD4 ; [.31E2.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO
-1170 ; [.31E3.0020.0002.1170] # HANGUL JUNGSEONG WE
-315E ; [.31E3.0020.0004.315E] # HANGUL LETTER WE
-FFD5 ; [.31E3.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE
-1171 ; [.31E4.0020.0002.1171] # HANGUL JUNGSEONG WI
-315F ; [.31E4.0020.0004.315F] # HANGUL LETTER WI
-FFD6 ; [.31E4.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI
-1172 ; [.31E5.0020.0002.1172] # HANGUL JUNGSEONG YU
-3160 ; [.31E5.0020.0004.3160] # HANGUL LETTER YU
-FFD7 ; [.31E5.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU
-1173 ; [.31E6.0020.0002.1173] # HANGUL JUNGSEONG EU
-3161 ; [.31E6.0020.0004.3161] # HANGUL LETTER EU
-FFDA ; [.31E6.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU
-1174 ; [.31E7.0020.0002.1174] # HANGUL JUNGSEONG YI
-3162 ; [.31E7.0020.0004.3162] # HANGUL LETTER YI
-FFDB ; [.31E7.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI
-1175 ; [.31E8.0020.0002.1175] # HANGUL JUNGSEONG I
-3163 ; [.31E8.0020.0004.3163] # HANGUL LETTER I
-FFDC ; [.31E8.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I
-1176 ; [.31E9.0020.0002.1176] # HANGUL JUNGSEONG A-O
-1177 ; [.31EA.0020.0002.1177] # HANGUL JUNGSEONG A-U
-1178 ; [.31EB.0020.0002.1178] # HANGUL JUNGSEONG YA-O
-1179 ; [.31EC.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
-117A ; [.31ED.0020.0002.117A] # HANGUL JUNGSEONG EO-O
-117B ; [.31EE.0020.0002.117B] # HANGUL JUNGSEONG EO-U
-117C ; [.31EF.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
-117D ; [.31F0.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
-117E ; [.31F1.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
-117F ; [.31F2.0020.0002.117F] # HANGUL JUNGSEONG O-EO
-1180 ; [.31F3.0020.0002.1180] # HANGUL JUNGSEONG O-E
-1181 ; [.31F4.0020.0002.1181] # HANGUL JUNGSEONG O-YE
-1182 ; [.31F5.0020.0002.1182] # HANGUL JUNGSEONG O-O
-1183 ; [.31F6.0020.0002.1183] # HANGUL JUNGSEONG O-U
-1184 ; [.31F7.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
-3187 ; [.31F7.0020.0004.3187] # HANGUL LETTER YO-YA
-1185 ; [.31F8.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
-3188 ; [.31F8.0020.0004.3188] # HANGUL LETTER YO-YAE
-1186 ; [.31F9.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
-1187 ; [.31FA.0020.0002.1187] # HANGUL JUNGSEONG YO-O
-1188 ; [.31FB.0020.0002.1188] # HANGUL JUNGSEONG YO-I
-3189 ; [.31FB.0020.0004.3189] # HANGUL LETTER YO-I
-1189 ; [.31FC.0020.0002.1189] # HANGUL JUNGSEONG U-A
-118A ; [.31FD.0020.0002.118A] # HANGUL JUNGSEONG U-AE
-118B ; [.31FE.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
-118C ; [.31FF.0020.0002.118C] # HANGUL JUNGSEONG U-YE
-118D ; [.3200.0020.0002.118D] # HANGUL JUNGSEONG U-U
-118E ; [.3201.0020.0002.118E] # HANGUL JUNGSEONG YU-A
-118F ; [.3202.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
-1190 ; [.3203.0020.0002.1190] # HANGUL JUNGSEONG YU-E
-1191 ; [.3204.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
-318A ; [.3204.0020.0004.318A] # HANGUL LETTER YU-YEO
-1192 ; [.3205.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
-318B ; [.3205.0020.0004.318B] # HANGUL LETTER YU-YE
-1193 ; [.3206.0020.0002.1193] # HANGUL JUNGSEONG YU-U
-1194 ; [.3207.0020.0002.1194] # HANGUL JUNGSEONG YU-I
-318C ; [.3207.0020.0004.318C] # HANGUL LETTER YU-I
-1195 ; [.3208.0020.0002.1195] # HANGUL JUNGSEONG EU-U
-1196 ; [.3209.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
-1197 ; [.320A.0020.0002.1197] # HANGUL JUNGSEONG YI-U
-1198 ; [.320B.0020.0002.1198] # HANGUL JUNGSEONG I-A
-1199 ; [.320C.0020.0002.1199] # HANGUL JUNGSEONG I-YA
-119A ; [.320D.0020.0002.119A] # HANGUL JUNGSEONG I-O
-119B ; [.320E.0020.0002.119B] # HANGUL JUNGSEONG I-U
-119C ; [.320F.0020.0002.119C] # HANGUL JUNGSEONG I-EU
-119D ; [.3210.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
-119E ; [.3211.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
-318D ; [.3211.0020.0004.318D] # HANGUL LETTER ARAEA
-119F ; [.3212.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
-11A0 ; [.3213.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
-11A1 ; [.3214.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
-318E ; [.3214.0020.0004.318E] # HANGUL LETTER ARAEAE
-11A2 ; [.3215.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
-11A3 ; [.3216.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
-11A4 ; [.3217.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
-11A5 ; [.3218.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
-11A6 ; [.3219.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
-11A7 ; [.321A.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
-D7B0 ; [.321B.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
-D7B1 ; [.321C.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
-D7B2 ; [.321D.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
-D7B3 ; [.321E.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
-D7B4 ; [.321F.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
-D7B5 ; [.3220.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
-D7B6 ; [.3221.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
-D7B7 ; [.3222.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
-D7B8 ; [.3223.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
-D7B9 ; [.3224.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
-D7BA ; [.3225.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
-D7BB ; [.3226.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
-D7BC ; [.3227.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
-D7BD ; [.3228.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
-D7BE ; [.3229.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
-D7BF ; [.322A.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
-D7C0 ; [.322B.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
-D7C1 ; [.322C.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
-D7C2 ; [.322D.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
-D7C3 ; [.322E.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
-D7C4 ; [.322F.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
-D7C5 ; [.3230.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
-D7C6 ; [.3231.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
-11A8 ; [.3232.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
-11A9 ; [.3233.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
-11AA ; [.3234.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
-3133 ; [.3234.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS
-FFA3 ; [.3234.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-11AB ; [.3235.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
-11AC ; [.3236.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
-3135 ; [.3236.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC
-FFA5 ; [.3236.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-11AD ; [.3237.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
-3136 ; [.3237.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH
-FFA6 ; [.3237.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-11AE ; [.3238.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
-11AF ; [.3239.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
-11B0 ; [.323A.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
-313A ; [.323A.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK
-FFAA ; [.323A.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-11B1 ; [.323B.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
-313B ; [.323B.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM
-FFAB ; [.323B.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-11B2 ; [.323C.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
-313C ; [.323C.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP
-FFAC ; [.323C.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-11B3 ; [.323D.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
-313D ; [.323D.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS
-FFAD ; [.323D.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
-11B4 ; [.323E.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
-313E ; [.323E.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH
-FFAE ; [.323E.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-11B5 ; [.323F.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
-313F ; [.323F.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH
-FFAF ; [.323F.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-11B6 ; [.3240.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
-11B7 ; [.3241.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
-11B8 ; [.3242.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
-11B9 ; [.3243.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
-11BA ; [.3244.0020.0002.11BA] # HANGUL JONGSEONG SIOS
-11BB ; [.3245.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
-11BC ; [.3246.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
-11BD ; [.3247.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
-11BE ; [.3248.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
-11BF ; [.3249.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
-11C0 ; [.324A.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
-11C1 ; [.324B.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
-11C2 ; [.324C.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
-11C3 ; [.324D.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4 ; [.324E.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5 ; [.324F.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6 ; [.3250.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7 ; [.3251.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
-3167 ; [.3251.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS
-11C8 ; [.3252.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
-3168 ; [.3252.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS
-11C9 ; [.3253.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA ; [.3254.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB ; [.3255.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC ; [.3256.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-3169 ; [.3256.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS
-11CD ; [.3257.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
-11CE ; [.3258.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
-316A ; [.3258.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT
-11CF ; [.3259.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0 ; [.325A.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
-11D1 ; [.325B.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2 ; [.325C.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3 ; [.325D.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-316B ; [.325D.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS
-11D4 ; [.325E.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5 ; [.325F.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6 ; [.3260.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7 ; [.3261.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
-316C ; [.3261.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS
-11D8 ; [.3262.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9 ; [.3263.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-316D ; [.3263.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH
-11DA ; [.3264.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB ; [.3265.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
-11DC ; [.3266.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
-11DD ; [.3267.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
-316F ; [.3267.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS
-11DE ; [.3268.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF ; [.3269.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
-3170 ; [.3269.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS
-11E0 ; [.326A.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1 ; [.326B.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
-11E2 ; [.326C.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3 ; [.326D.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
-11E4 ; [.326E.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5 ; [.326F.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
-11E6 ; [.3270.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7 ; [.3271.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
-11E8 ; [.3272.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
-11E9 ; [.3273.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
-11EA ; [.3274.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
-11EB ; [.3275.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
-11EC ; [.3276.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED ; [.3277.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE ; [.3278.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
-11EF ; [.3279.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0 ; [.327A.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
-11F1 ; [.327B.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
-3182 ; [.327B.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS
-11F2 ; [.327C.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
-3183 ; [.327C.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS
-11F3 ; [.327D.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4 ; [.327E.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5 ; [.327F.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
-11F6 ; [.3280.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
-11F7 ; [.3281.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
-11F8 ; [.3282.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
-11F9 ; [.3283.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
-11FA ; [.3284.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB ; [.3285.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC ; [.3286.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD ; [.3287.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE ; [.3288.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF ; [.3289.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
-D7CB ; [.328A.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC ; [.328B.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD ; [.328C.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
-D7CE ; [.328D.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF ; [.328E.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0 ; [.328F.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1 ; [.3290.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2 ; [.3291.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3 ; [.3292.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4 ; [.3293.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5 ; [.3294.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6 ; [.3295.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7 ; [.3296.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8 ; [.3297.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9 ; [.3298.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA ; [.3299.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB ; [.329A.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC ; [.329B.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD ; [.329C.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE ; [.329D.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF ; [.329E.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0 ; [.329F.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
-D7E1 ; [.32A0.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2 ; [.32A1.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3 ; [.32A2.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4 ; [.32A3.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5 ; [.32A4.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6 ; [.32A5.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
-D7E7 ; [.32A6.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8 ; [.32A7.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9 ; [.32A8.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA ; [.32A9.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
-D7EB ; [.32AA.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC ; [.32AB.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED ; [.32AC.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE ; [.32AD.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF ; [.32AE.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
-D7F0 ; [.32AF.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1 ; [.32B0.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2 ; [.32B1.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
-D7F3 ; [.32B2.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4 ; [.32B3.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5 ; [.32B4.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6 ; [.32B5.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7 ; [.32B6.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8 ; [.32B7.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9 ; [.32B8.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
-D7FA ; [.32B9.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB ; [.32BA.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
-3041 ; [.32BB.0020.000D.3041] # HIRAGANA LETTER SMALL A
-3042 ; [.32BB.0020.000E.3042] # HIRAGANA LETTER A
-30A1 ; [.32BB.0020.000F.30A1] # KATAKANA LETTER SMALL A
-FF67 ; [.32BB.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A
-30A2 ; [.32BB.0020.0011.30A2] # KATAKANA LETTER A
-FF71 ; [.32BB.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A
-32D0 ; [.32BB.0020.0013.32D0] # CIRCLED KATAKANA A
-3303 ; [.32BB.0020.001C.3303][.15BA.0020.001C.3303][.32E5.0020.001C.3303] # SQUARE AARU
-3300 ; [.32BB.0020.001C.3300][.32D5.0020.001C.3300][.0000.0129.001C.3300][.15BA.0020.001C.3300][.32CF.0020.001C.3300] # SQUARE APAATO
-3301 ; [.32BB.0020.001C.3301][.32E5.0020.001C.3301][.32D7.0020.001C.3301][.32BB.0020.001C.3301] # SQUARE ARUHUA
-3302 ; [.32BB.0020.001C.3302][.32EC.0020.001C.3302][.32D8.0020.001C.3302][.0000.0129.001C.3302][.32BB.0020.001C.3302] # SQUARE ANPEA
-3043 ; [.32BC.0020.000D.3043] # HIRAGANA LETTER SMALL I
-3044 ; [.32BC.0020.000E.3044] # HIRAGANA LETTER I
-30A3 ; [.32BC.0020.000F.30A3] # KATAKANA LETTER SMALL I
-FF68 ; [.32BC.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I
-30A4 ; [.32BC.0020.0011.30A4] # KATAKANA LETTER I
-FF72 ; [.32BC.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I
-32D1 ; [.32BC.0020.0013.32D1] # CIRCLED KATAKANA I
-3304 ; [.32BC.0020.001C.3304][.32D1.0020.001C.3304][.32EC.0020.001C.3304][.32C3.0020.001C.3304][.0000.0128.001C.3304] # SQUARE ININGU
-3305 ; [.32BC.0020.001C.3305][.32EC.0020.001C.3305][.32CC.0020.001C.3305] # SQUARE INTI
-3045 ; [.32BD.0020.000D.3045] # HIRAGANA LETTER SMALL U
-3046 ; [.32BD.0020.000E.3046] # HIRAGANA LETTER U
-30A5 ; [.32BD.0020.000F.30A5] # KATAKANA LETTER SMALL U
-FF69 ; [.32BD.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U
-30A6 ; [.32BD.0020.0011.30A6] # KATAKANA LETTER U
-FF73 ; [.32BD.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U
-32D2 ; [.32BD.0020.0013.32D2] # CIRCLED KATAKANA U
-3094 ; [.32BD.0020.000E.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
-30F4 ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099] # KATAKANA LETTER VU
-3306 ; [.32BD.0020.001C.3306][.32C0.0020.001C.3306][.32EC.0020.001C.3306] # SQUARE UON
-1B000 ; [.32BE.0020.0011.1B000] # KATAKANA LETTER ARCHAIC E
-3047 ; [.32BF.0020.000D.3047] # HIRAGANA LETTER SMALL E
-3048 ; [.32BF.0020.000E.3048] # HIRAGANA LETTER E
-30A7 ; [.32BF.0020.000F.30A7] # KATAKANA LETTER SMALL E
-FF6A ; [.32BF.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E
-30A8 ; [.32BF.0020.0011.30A8] # KATAKANA LETTER E
-FF74 ; [.32BF.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E
-32D3 ; [.32BF.0020.0013.32D3] # CIRCLED KATAKANA E
-3308 ; [.32BF.0020.001C.3308][.15BA.0020.001C.3308][.32C1.0020.001C.3308][.15BA.0020.001C.3308] # SQUARE EEKAA
-3307 ; [.32BF.0020.001C.3307][.32C8.0020.001C.3307][.32C3.0020.001C.3307][.15BA.0020.001C.3307][.32CF.0020.001C.3307][.0000.0128.001C.3307] # SQUARE ESUKUUDO
-3049 ; [.32C0.0020.000D.3049] # HIRAGANA LETTER SMALL O
-304A ; [.32C0.0020.000E.304A] # HIRAGANA LETTER O
-30A9 ; [.32C0.0020.000F.30A9] # KATAKANA LETTER SMALL O
-FF6B ; [.32C0.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O
-30AA ; [.32C0.0020.0011.30AA] # KATAKANA LETTER O
-FF75 ; [.32C0.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O
-32D4 ; [.32C0.0020.0013.32D4] # CIRCLED KATAKANA O
-330A ; [.32C0.0020.001C.330A][.15BA.0020.001C.330A][.32DC.0020.001C.330A] # SQUARE OOMU
-3309 ; [.32C0.0020.001C.3309][.32EC.0020.001C.3309][.32C8.0020.001C.3309] # SQUARE ONSU
-3095 ; [.32C1.0020.000D.3095] # HIRAGANA LETTER SMALL KA
-304B ; [.32C1.0020.000E.304B] # HIRAGANA LETTER KA
-30F5 ; [.32C1.0020.000F.30F5] # KATAKANA LETTER SMALL KA
-30AB ; [.32C1.0020.0011.30AB] # KATAKANA LETTER KA
-FF76 ; [.32C1.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA
-32D5 ; [.32C1.0020.0013.32D5] # CIRCLED KATAKANA KA
-304C ; [.32C1.0020.000E.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
-30AC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099] # KATAKANA LETTER GA
-330B ; [.32C1.0020.001C.330B][.32BC.0020.001C.330B][.32E4.0020.001C.330B] # SQUARE KAIRI
-330C ; [.32C1.0020.001C.330C][.32E3.0020.001C.330C][.32CD.0020.001C.330C][.32CF.0020.001C.330C] # SQUARE KARATTO
-330D ; [.32C1.0020.001C.330D][.32E7.0020.001C.330D][.32E4.0020.001C.330D][.15BA.0020.001C.330D] # SQUARE KARORII
-330E ; [.32C1.0020.001C.330E][.0000.0128.001C.330E][.32E7.0020.001C.330E][.32EC.0020.001C.330E] # SQUARE GARON
-330F ; [.32C1.0020.001C.330F][.0000.0128.001C.330F][.32EC.0020.001C.330F][.32DA.0020.001C.330F] # SQUARE GANMA
-304D ; [.32C2.0020.000E.304D] # HIRAGANA LETTER KI
-30AD ; [.32C2.0020.0011.30AD] # KATAKANA LETTER KI
-FF77 ; [.32C2.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI
-32D6 ; [.32C2.0020.0013.32D6] # CIRCLED KATAKANA KI
-304E ; [.32C2.0020.000E.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
-30AE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099] # KATAKANA LETTER GI
-3310 ; [.32C2.0020.001C.3310][.0000.0128.001C.3310][.32C1.0020.001C.3310][.0000.0128.001C.3310] # SQUARE GIGA
-3311 ; [.32C2.0020.001C.3311][.0000.0128.001C.3311][.32D1.0020.001C.3311][.15BA.0020.001C.3311] # SQUARE GINII
-3312 ; [.32C2.0020.001C.3312][.32E0.0020.001C.3312][.32E4.0020.001C.3312][.15BA.0020.001C.3312] # SQUARE KYURII
-3313 ; [.32C2.0020.001C.3313][.0000.0128.001C.3313][.32E5.0020.001C.3313][.32CB.0020.001C.3313][.0000.0128.001C.3313][.15BA.0020.001C.3313] # SQUARE GIRUDAA
-3314 ; [.32C2.0020.001C.3314][.32E7.0020.001C.3314] # SQUARE KIRO
-3315 ; [.32C2.0020.001C.3315][.32E7.0020.001C.3315][.32C3.0020.001C.3315][.0000.0128.001C.3315][.32E3.0020.001C.3315][.32DC.0020.001C.3315] # SQUARE KIROGURAMU
-3316 ; [.32C2.0020.001C.3316][.32E7.0020.001C.3316][.32DD.0020.001C.3316][.15BA.0020.001C.3316][.32CF.0020.001C.3316][.32E5.0020.001C.3316] # SQUARE KIROMEETORU
-3317 ; [.32C2.0020.001C.3317][.32E7.0020.001C.3317][.32E8.0020.001C.3317][.32CD.0020.001C.3317][.32CF.0020.001C.3317] # SQUARE KIROWATTO
-304F ; [.32C3.0020.000E.304F] # HIRAGANA LETTER KU
-31F0 ; [.32C3.0020.000F.31F0] # KATAKANA LETTER SMALL KU
-30AF ; [.32C3.0020.0011.30AF] # KATAKANA LETTER KU
-FF78 ; [.32C3.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU
-32D7 ; [.32C3.0020.0013.32D7] # CIRCLED KATAKANA KU
-3050 ; [.32C3.0020.000E.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
-30B0 ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099] # KATAKANA LETTER GU
-3318 ; [.32C3.0020.001C.3318][.0000.0128.001C.3318][.32E3.0020.001C.3318][.32DC.0020.001C.3318] # SQUARE GURAMU
-3319 ; [.32C3.0020.001C.3319][.0000.0128.001C.3319][.32E3.0020.001C.3319][.32DC.0020.001C.3319][.32CF.0020.001C.3319][.32EC.0020.001C.3319] # SQUARE GURAMUTON
-331A ; [.32C3.0020.001C.331A][.32E5.0020.001C.331A][.32C9.0020.001C.331A][.0000.0128.001C.331A][.32BC.0020.001C.331A][.32E7.0020.001C.331A] # SQUARE KURUZEIRO
-331B ; [.32C3.0020.001C.331B][.32E7.0020.001C.331B][.15BA.0020.001C.331B][.32D3.0020.001C.331B] # SQUARE KUROONE
-3096 ; [.32C4.0020.000D.3096] # HIRAGANA LETTER SMALL KE
-3051 ; [.32C4.0020.000E.3051] # HIRAGANA LETTER KE
-30F6 ; [.32C4.0020.000F.30F6] # KATAKANA LETTER SMALL KE
-30B1 ; [.32C4.0020.0011.30B1] # KATAKANA LETTER KE
-FF79 ; [.32C4.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE
-32D8 ; [.32C4.0020.0013.32D8] # CIRCLED KATAKANA KE
-3052 ; [.32C4.0020.000E.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
-30B2 ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099] # KATAKANA LETTER GE
-331C ; [.32C4.0020.001C.331C][.15BA.0020.001C.331C][.32C8.0020.001C.331C] # SQUARE KEESU
-3053 ; [.32C5.0020.000E.3053] # HIRAGANA LETTER KO
-30B3 ; [.32C5.0020.0011.30B3] # KATAKANA LETTER KO
-FF7A ; [.32C5.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO
-32D9 ; [.32C5.0020.0013.32D9] # CIRCLED KATAKANA KO
-3054 ; [.32C5.0020.000E.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
-30B4 ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099] # KATAKANA LETTER GO
-331E ; [.32C5.0020.001C.331E][.15BA.0020.001C.331E][.32D9.0020.001C.331E][.0000.0129.001C.331E] # SQUARE KOOPO
-1F201 ; [.32C5.0020.001C.1F201][.32C5.0020.001C.1F201] # SQUARED KATAKANA KOKO
-30FF ; [.32C5.0020.0016.30FF][.32CF.0020.0016.30FF] # KATAKANA DIGRAPH KOTO
-331D ; [.32C5.0020.001C.331D][.32E5.0020.001C.331D][.32D0.0020.001C.331D] # SQUARE KORUNA
-3055 ; [.32C6.0020.000E.3055] # HIRAGANA LETTER SA
-30B5 ; [.32C6.0020.0011.30B5] # KATAKANA LETTER SA
-FF7B ; [.32C6.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA
-32DA ; [.32C6.0020.0013.32DA] # CIRCLED KATAKANA SA
-1F202 ; [.32C6.0020.001C.1F202] # SQUARED KATAKANA SA
-3056 ; [.32C6.0020.000E.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
-30B6 ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099] # KATAKANA LETTER ZA
-331F ; [.32C6.0020.001C.331F][.32BC.0020.001C.331F][.32C3.0020.001C.331F][.32E5.0020.001C.331F] # SQUARE SAIKURU
-3320 ; [.32C6.0020.001C.3320][.32EC.0020.001C.3320][.32CC.0020.001C.3320][.15BA.0020.001C.3320][.32DC.0020.001C.3320] # SQUARE SANTIIMU
-3057 ; [.32C7.0020.000E.3057] # HIRAGANA LETTER SI
-31F1 ; [.32C7.0020.000F.31F1] # KATAKANA LETTER SMALL SI
-30B7 ; [.32C7.0020.0011.30B7] # KATAKANA LETTER SI
-FF7C ; [.32C7.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI
-32DB ; [.32C7.0020.0013.32DB] # CIRCLED KATAKANA SI
-3058 ; [.32C7.0020.000E.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
-30B8 ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099] # KATAKANA LETTER ZI
-3006 ; [.32C7.0020.0004.3006][.32DD.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK
-3321 ; [.32C7.0020.001C.3321][.32E4.0020.001C.3321][.32EC.0020.001C.3321][.32C3.0020.001C.3321][.0000.0128.001C.3321] # SQUARE SIRINGU
-3059 ; [.32C8.0020.000E.3059] # HIRAGANA LETTER SU
-31F2 ; [.32C8.0020.000F.31F2] # KATAKANA LETTER SMALL SU
-30B9 ; [.32C8.0020.0011.30B9] # KATAKANA LETTER SU
-FF7D ; [.32C8.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU
-32DC ; [.32C8.0020.0013.32DC] # CIRCLED KATAKANA SU
-305A ; [.32C8.0020.000E.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
-30BA ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099] # KATAKANA LETTER ZU
-305B ; [.32C9.0020.000E.305B] # HIRAGANA LETTER SE
-30BB ; [.32C9.0020.0011.30BB] # KATAKANA LETTER SE
-FF7E ; [.32C9.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE
-32DD ; [.32C9.0020.0013.32DD] # CIRCLED KATAKANA SE
-305C ; [.32C9.0020.000E.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
-30BC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099] # KATAKANA LETTER ZE
-3322 ; [.32C9.0020.001C.3322][.32EC.0020.001C.3322][.32CC.0020.001C.3322] # SQUARE SENTI
-3323 ; [.32C9.0020.001C.3323][.32EC.0020.001C.3323][.32CF.0020.001C.3323] # SQUARE SENTO
-305D ; [.32CA.0020.000E.305D] # HIRAGANA LETTER SO
-30BD ; [.32CA.0020.0011.30BD] # KATAKANA LETTER SO
-FF7F ; [.32CA.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO
-32DE ; [.32CA.0020.0013.32DE] # CIRCLED KATAKANA SO
-305E ; [.32CA.0020.000E.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
-30BE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099] # KATAKANA LETTER ZO
-305F ; [.32CB.0020.000E.305F] # HIRAGANA LETTER TA
-30BF ; [.32CB.0020.0011.30BF] # KATAKANA LETTER TA
-FF80 ; [.32CB.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA
-32DF ; [.32CB.0020.0013.32DF] # CIRCLED KATAKANA TA
-3060 ; [.32CB.0020.000E.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
-30C0 ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099] # KATAKANA LETTER DA
-3324 ; [.32CB.0020.001C.3324][.0000.0128.001C.3324][.15BA.0020.001C.3324][.32C8.0020.001C.3324] # SQUARE DAASU
-3061 ; [.32CC.0020.000E.3061] # HIRAGANA LETTER TI
-30C1 ; [.32CC.0020.0011.30C1] # KATAKANA LETTER TI
-FF81 ; [.32CC.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI
-32E0 ; [.32CC.0020.0013.32E0] # CIRCLED KATAKANA TI
-3062 ; [.32CC.0020.000E.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
-30C2 ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099] # KATAKANA LETTER DI
-3063 ; [.32CD.0020.000D.3063] # HIRAGANA LETTER SMALL TU
-3064 ; [.32CD.0020.000E.3064] # HIRAGANA LETTER TU
-30C3 ; [.32CD.0020.000F.30C3] # KATAKANA LETTER SMALL TU
-FF6F ; [.32CD.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU
-30C4 ; [.32CD.0020.0011.30C4] # KATAKANA LETTER TU
-FF82 ; [.32CD.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU
-32E1 ; [.32CD.0020.0013.32E1] # CIRCLED KATAKANA TU
-3065 ; [.32CD.0020.000E.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
-30C5 ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099] # KATAKANA LETTER DU
-3066 ; [.32CE.0020.000E.3066] # HIRAGANA LETTER TE
-30C6 ; [.32CE.0020.0011.30C6] # KATAKANA LETTER TE
-FF83 ; [.32CE.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE
-32E2 ; [.32CE.0020.0013.32E2] # CIRCLED KATAKANA TE
-3067 ; [.32CE.0020.000E.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
-30C7 ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099] # KATAKANA LETTER DE
-1F213 ; [.32CE.0020.001C.1F213][.0000.0128.001C.1F213] # SQUARED KATAKANA DE
-3325 ; [.32CE.0020.001C.3325][.0000.0128.001C.3325][.32C7.0020.001C.3325] # SQUARE DESI
-3068 ; [.32CF.0020.000E.3068] # HIRAGANA LETTER TO
-31F3 ; [.32CF.0020.000F.31F3] # KATAKANA LETTER SMALL TO
-30C8 ; [.32CF.0020.0011.30C8] # KATAKANA LETTER TO
-FF84 ; [.32CF.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO
-32E3 ; [.32CF.0020.0013.32E3] # CIRCLED KATAKANA TO
-3069 ; [.32CF.0020.000E.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
-30C9 ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099] # KATAKANA LETTER DO
-3326 ; [.32CF.0020.001C.3326][.0000.0128.001C.3326][.32E5.0020.001C.3326] # SQUARE DORU
-3327 ; [.32CF.0020.001C.3327][.32EC.0020.001C.3327] # SQUARE TON
-306A ; [.32D0.0020.000E.306A] # HIRAGANA LETTER NA
-30CA ; [.32D0.0020.0011.30CA] # KATAKANA LETTER NA
-FF85 ; [.32D0.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA
-32E4 ; [.32D0.0020.0013.32E4] # CIRCLED KATAKANA NA
-3328 ; [.32D0.0020.001C.3328][.32D4.0020.001C.3328] # SQUARE NANO
-306B ; [.32D1.0020.000E.306B] # HIRAGANA LETTER NI
-30CB ; [.32D1.0020.0011.30CB] # KATAKANA LETTER NI
-FF86 ; [.32D1.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI
-32E5 ; [.32D1.0020.0013.32E5] # CIRCLED KATAKANA NI
-306C ; [.32D2.0020.000E.306C] # HIRAGANA LETTER NU
-31F4 ; [.32D2.0020.000F.31F4] # KATAKANA LETTER SMALL NU
-30CC ; [.32D2.0020.0011.30CC] # KATAKANA LETTER NU
-FF87 ; [.32D2.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU
-32E6 ; [.32D2.0020.0013.32E6] # CIRCLED KATAKANA NU
-306D ; [.32D3.0020.000E.306D] # HIRAGANA LETTER NE
-30CD ; [.32D3.0020.0011.30CD] # KATAKANA LETTER NE
-FF88 ; [.32D3.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE
-32E7 ; [.32D3.0020.0013.32E7] # CIRCLED KATAKANA NE
-306E ; [.32D4.0020.000E.306E] # HIRAGANA LETTER NO
-30CE ; [.32D4.0020.0011.30CE] # KATAKANA LETTER NO
-FF89 ; [.32D4.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO
-32E8 ; [.32D4.0020.0013.32E8] # CIRCLED KATAKANA NO
-3329 ; [.32D4.0020.001C.3329][.32CD.0020.001C.3329][.32CF.0020.001C.3329] # SQUARE NOTTO
-306F ; [.32D5.0020.000E.306F] # HIRAGANA LETTER HA
-31F5 ; [.32D5.0020.000F.31F5] # KATAKANA LETTER SMALL HA
-30CF ; [.32D5.0020.0011.30CF] # KATAKANA LETTER HA
-FF8A ; [.32D5.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA
-32E9 ; [.32D5.0020.0013.32E9] # CIRCLED KATAKANA HA
-3070 ; [.32D5.0020.000E.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
-30D0 ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099] # KATAKANA LETTER BA
-3071 ; [.32D5.0020.000E.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
-30D1 ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A] # KATAKANA LETTER PA
-332B ; [.32D5.0020.001C.332B][.0000.0129.001C.332B][.15BA.0020.001C.332B][.32C9.0020.001C.332B][.32EC.0020.001C.332B][.32CF.0020.001C.332B] # SQUARE PAASENTO
-332C ; [.32D5.0020.001C.332C][.0000.0129.001C.332C][.15BA.0020.001C.332C][.32CD.0020.001C.332C] # SQUARE PAATU
-332D ; [.32D5.0020.001C.332D][.0000.0128.001C.332D][.15BA.0020.001C.332D][.32E6.0020.001C.332D][.32E5.0020.001C.332D] # SQUARE BAARERU
-332A ; [.32D5.0020.001C.332A][.32BC.0020.001C.332A][.32CD.0020.001C.332A] # SQUARE HAITU
-3072 ; [.32D6.0020.000E.3072] # HIRAGANA LETTER HI
-31F6 ; [.32D6.0020.000F.31F6] # KATAKANA LETTER SMALL HI
-30D2 ; [.32D6.0020.0011.30D2] # KATAKANA LETTER HI
-FF8B ; [.32D6.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI
-32EA ; [.32D6.0020.0013.32EA] # CIRCLED KATAKANA HI
-3073 ; [.32D6.0020.000E.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
-30D3 ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099] # KATAKANA LETTER BI
-3074 ; [.32D6.0020.000E.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
-30D4 ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A] # KATAKANA LETTER PI
-332E ; [.32D6.0020.001C.332E][.0000.0129.001C.332E][.32BB.0020.001C.332E][.32C8.0020.001C.332E][.32CF.0020.001C.332E][.32E5.0020.001C.332E] # SQUARE PIASUTORU
-332F ; [.32D6.0020.001C.332F][.0000.0129.001C.332F][.32C3.0020.001C.332F][.32E5.0020.001C.332F] # SQUARE PIKURU
-3330 ; [.32D6.0020.001C.3330][.0000.0129.001C.3330][.32C5.0020.001C.3330] # SQUARE PIKO
-3331 ; [.32D6.0020.001C.3331][.0000.0128.001C.3331][.32E5.0020.001C.3331] # SQUARE BIRU
-3075 ; [.32D7.0020.000E.3075] # HIRAGANA LETTER HU
-31F7 ; [.32D7.0020.000F.31F7] # KATAKANA LETTER SMALL HU
-30D5 ; [.32D7.0020.0011.30D5] # KATAKANA LETTER HU
-FF8C ; [.32D7.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU
-32EB ; [.32D7.0020.0013.32EB] # CIRCLED KATAKANA HU
-3076 ; [.32D7.0020.000E.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
-30D6 ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099] # KATAKANA LETTER BU
-3077 ; [.32D7.0020.000E.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
-30D7 ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A] # KATAKANA LETTER PU
-3332 ; [.32D7.0020.001C.3332][.32BB.0020.001C.3332][.32E3.0020.001C.3332][.32CD.0020.001C.3332][.32CF.0020.001C.3332][.0000.0128.001C.3332] # SQUARE HUARADDO
-3333 ; [.32D7.0020.001C.3333][.32BC.0020.001C.3333][.15BA.0020.001C.3333][.32CF.0020.001C.3333] # SQUARE HUIITO
-3334 ; [.32D7.0020.001C.3334][.0000.0128.001C.3334][.32CD.0020.001C.3334][.32C7.0020.001C.3334][.32BF.0020.001C.3334][.32E5.0020.001C.3334] # SQUARE BUSSYERU
-3335 ; [.32D7.0020.001C.3335][.32E3.0020.001C.3335][.32EC.0020.001C.3335] # SQUARE HURAN
-3078 ; [.32D8.0020.000E.3078] # HIRAGANA LETTER HE
-31F8 ; [.32D8.0020.000F.31F8] # KATAKANA LETTER SMALL HE
-30D8 ; [.32D8.0020.0011.30D8] # KATAKANA LETTER HE
-FF8D ; [.32D8.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE
-32EC ; [.32D8.0020.0013.32EC] # CIRCLED KATAKANA HE
-3079 ; [.32D8.0020.000E.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
-30D9 ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099] # KATAKANA LETTER BE
-307A ; [.32D8.0020.000E.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
-30DA ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A] # KATAKANA LETTER PE
-333B ; [.32D8.0020.001C.333B][.0000.0129.001C.333B][.15BA.0020.001C.333B][.32C7.0020.001C.333B][.0000.0128.001C.333B] # SQUARE PEEZI
-333C ; [.32D8.0020.001C.333C][.0000.0128.001C.333C][.15BA.0020.001C.333C][.32CB.0020.001C.333C] # SQUARE BEETA
-3336 ; [.32D8.0020.001C.3336][.32C3.0020.001C.3336][.32CB.0020.001C.3336][.15BA.0020.001C.3336][.32E5.0020.001C.3336] # SQUARE HEKUTAARU
-3337 ; [.32D8.0020.001C.3337][.0000.0129.001C.3337][.32CA.0020.001C.3337] # SQUARE PESO
-3338 ; [.32D8.0020.001C.3338][.0000.0129.001C.3338][.32D1.0020.001C.3338][.32D6.0020.001C.3338] # SQUARE PENIHI
-3339 ; [.32D8.0020.001C.3339][.32E5.0020.001C.3339][.32CD.0020.001C.3339] # SQUARE HERUTU
-333A ; [.32D8.0020.001C.333A][.0000.0129.001C.333A][.32EC.0020.001C.333A][.32C8.0020.001C.333A] # SQUARE PENSU
-307B ; [.32D9.0020.000E.307B] # HIRAGANA LETTER HO
-31F9 ; [.32D9.0020.000F.31F9] # KATAKANA LETTER SMALL HO
-30DB ; [.32D9.0020.0011.30DB] # KATAKANA LETTER HO
-FF8E ; [.32D9.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO
-32ED ; [.32D9.0020.0013.32ED] # CIRCLED KATAKANA HO
-307C ; [.32D9.0020.000E.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
-30DC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099] # KATAKANA LETTER BO
-307D ; [.32D9.0020.000E.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
-30DD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A] # KATAKANA LETTER PO
-3341 ; [.32D9.0020.001C.3341][.15BA.0020.001C.3341][.32E5.0020.001C.3341] # SQUARE HOORU
-3342 ; [.32D9.0020.001C.3342][.15BA.0020.001C.3342][.32EC.0020.001C.3342] # SQUARE HOON
-333D ; [.32D9.0020.001C.333D][.0000.0129.001C.333D][.32BC.0020.001C.333D][.32EC.0020.001C.333D][.32CF.0020.001C.333D] # SQUARE POINTO
-1F200 ; [.32D9.0020.001C.1F200][.32C1.0020.001C.1F200] # SQUARE HIRAGANA HOKA
-333E ; [.32D9.0020.001C.333E][.0000.0128.001C.333E][.32E5.0020.001C.333E][.32CF.0020.001C.333E] # SQUARE BORUTO
-333F ; [.32D9.0020.001C.333F][.32EC.0020.001C.333F] # SQUARE HON
-3340 ; [.32D9.0020.001C.3340][.0000.0129.001C.3340][.32EC.0020.001C.3340][.32CF.0020.001C.3340][.0000.0128.001C.3340] # SQUARE PONDO
-307E ; [.32DA.0020.000E.307E] # HIRAGANA LETTER MA
-30DE ; [.32DA.0020.0011.30DE] # KATAKANA LETTER MA
-FF8F ; [.32DA.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA
-32EE ; [.32DA.0020.0013.32EE] # CIRCLED KATAKANA MA
-3343 ; [.32DA.0020.001C.3343][.32BC.0020.001C.3343][.32C3.0020.001C.3343][.32E7.0020.001C.3343] # SQUARE MAIKURO
-3344 ; [.32DA.0020.001C.3344][.32BC.0020.001C.3344][.32E5.0020.001C.3344] # SQUARE MAIRU
-303C ; [.32DA.0020.0004.303C][.32C8.0020.0004.303C] # MASU MARK
-3345 ; [.32DA.0020.001C.3345][.32CD.0020.001C.3345][.32D5.0020.001C.3345] # SQUARE MAHHA
-3346 ; [.32DA.0020.001C.3346][.32E5.0020.001C.3346][.32C3.0020.001C.3346] # SQUARE MARUKU
-3347 ; [.32DA.0020.001C.3347][.32EC.0020.001C.3347][.32C7.0020.001C.3347][.32E2.0020.001C.3347][.32EC.0020.001C.3347] # SQUARE MANSYON
-307F ; [.32DB.0020.000E.307F] # HIRAGANA LETTER MI
-30DF ; [.32DB.0020.0011.30DF] # KATAKANA LETTER MI
-FF90 ; [.32DB.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI
-32EF ; [.32DB.0020.0013.32EF] # CIRCLED KATAKANA MI
-3348 ; [.32DB.0020.001C.3348][.32C3.0020.001C.3348][.32E7.0020.001C.3348][.32EC.0020.001C.3348] # SQUARE MIKURON
-3349 ; [.32DB.0020.001C.3349][.32E4.0020.001C.3349] # SQUARE MIRI
-334A ; [.32DB.0020.001C.334A][.32E4.0020.001C.334A][.32D5.0020.001C.334A][.0000.0128.001C.334A][.15BA.0020.001C.334A][.32E5.0020.001C.334A] # SQUARE MIRIBAARU
-3080 ; [.32DC.0020.000E.3080] # HIRAGANA LETTER MU
-31FA ; [.32DC.0020.000F.31FA] # KATAKANA LETTER SMALL MU
-30E0 ; [.32DC.0020.0011.30E0] # KATAKANA LETTER MU
-FF91 ; [.32DC.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU
-32F0 ; [.32DC.0020.0013.32F0] # CIRCLED KATAKANA MU
-3081 ; [.32DD.0020.000E.3081] # HIRAGANA LETTER ME
-30E1 ; [.32DD.0020.0011.30E1] # KATAKANA LETTER ME
-FF92 ; [.32DD.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME
-32F1 ; [.32DD.0020.0013.32F1] # CIRCLED KATAKANA ME
-334D ; [.32DD.0020.001C.334D][.15BA.0020.001C.334D][.32CF.0020.001C.334D][.32E5.0020.001C.334D] # SQUARE MEETORU
-334B ; [.32DD.0020.001C.334B][.32C1.0020.001C.334B][.0000.0128.001C.334B] # SQUARE MEGA
-334C ; [.32DD.0020.001C.334C][.32C1.0020.001C.334C][.0000.0128.001C.334C][.32CF.0020.001C.334C][.32EC.0020.001C.334C] # SQUARE MEGATON
-3082 ; [.32DE.0020.000E.3082] # HIRAGANA LETTER MO
-30E2 ; [.32DE.0020.0011.30E2] # KATAKANA LETTER MO
-FF93 ; [.32DE.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO
-32F2 ; [.32DE.0020.0013.32F2] # CIRCLED KATAKANA MO
-3083 ; [.32DF.0020.000D.3083] # HIRAGANA LETTER SMALL YA
-3084 ; [.32DF.0020.000E.3084] # HIRAGANA LETTER YA
-30E3 ; [.32DF.0020.000F.30E3] # KATAKANA LETTER SMALL YA
-FF6C ; [.32DF.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA
-30E4 ; [.32DF.0020.0011.30E4] # KATAKANA LETTER YA
-FF94 ; [.32DF.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA
-32F3 ; [.32DF.0020.0013.32F3] # CIRCLED KATAKANA YA
-334E ; [.32DF.0020.001C.334E][.15BA.0020.001C.334E][.32CF.0020.001C.334E][.0000.0128.001C.334E] # SQUARE YAADO
-334F ; [.32DF.0020.001C.334F][.15BA.0020.001C.334F][.32E5.0020.001C.334F] # SQUARE YAARU
-3085 ; [.32E0.0020.000D.3085] # HIRAGANA LETTER SMALL YU
-3086 ; [.32E0.0020.000E.3086] # HIRAGANA LETTER YU
-30E5 ; [.32E0.0020.000F.30E5] # KATAKANA LETTER SMALL YU
-FF6D ; [.32E0.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU
-30E6 ; [.32E0.0020.0011.30E6] # KATAKANA LETTER YU
-FF95 ; [.32E0.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU
-32F4 ; [.32E0.0020.0013.32F4] # CIRCLED KATAKANA YU
-3350 ; [.32E0.0020.001C.3350][.32BB.0020.001C.3350][.32EC.0020.001C.3350] # SQUARE YUAN
-1B001 ; [.32E1.0020.000E.1B001] # HIRAGANA LETTER ARCHAIC YE
-3087 ; [.32E2.0020.000D.3087] # HIRAGANA LETTER SMALL YO
-3088 ; [.32E2.0020.000E.3088] # HIRAGANA LETTER YO
-30E7 ; [.32E2.0020.000F.30E7] # KATAKANA LETTER SMALL YO
-FF6E ; [.32E2.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO
-30E8 ; [.32E2.0020.0011.30E8] # KATAKANA LETTER YO
-FF96 ; [.32E2.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO
-32F5 ; [.32E2.0020.0013.32F5] # CIRCLED KATAKANA YO
-309F ; [.32E2.0020.0016.309F][.32E4.0020.0016.309F] # HIRAGANA DIGRAPH YORI
-3089 ; [.32E3.0020.000E.3089] # HIRAGANA LETTER RA
-31FB ; [.32E3.0020.000F.31FB] # KATAKANA LETTER SMALL RA
-30E9 ; [.32E3.0020.0011.30E9] # KATAKANA LETTER RA
-FF97 ; [.32E3.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA
-32F6 ; [.32E3.0020.0013.32F6] # CIRCLED KATAKANA RA
-308A ; [.32E4.0020.000E.308A] # HIRAGANA LETTER RI
-31FC ; [.32E4.0020.000F.31FC] # KATAKANA LETTER SMALL RI
-30EA ; [.32E4.0020.0011.30EA] # KATAKANA LETTER RI
-FF98 ; [.32E4.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI
-32F7 ; [.32E4.0020.0013.32F7] # CIRCLED KATAKANA RI
-3351 ; [.32E4.0020.001C.3351][.32CD.0020.001C.3351][.32CF.0020.001C.3351][.32E5.0020.001C.3351] # SQUARE RITTORU
-3352 ; [.32E4.0020.001C.3352][.32E3.0020.001C.3352] # SQUARE RIRA
-308B ; [.32E5.0020.000E.308B] # HIRAGANA LETTER RU
-31FD ; [.32E5.0020.000F.31FD] # KATAKANA LETTER SMALL RU
-30EB ; [.32E5.0020.0011.30EB] # KATAKANA LETTER RU
-FF99 ; [.32E5.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU
-32F8 ; [.32E5.0020.0013.32F8] # CIRCLED KATAKANA RU
-3354 ; [.32E5.0020.001C.3354][.15BA.0020.001C.3354][.32D7.0020.001C.3354][.0000.0128.001C.3354][.32E5.0020.001C.3354] # SQUARE RUUBURU
-3353 ; [.32E5.0020.001C.3353][.32D6.0020.001C.3353][.0000.0129.001C.3353][.15BA.0020.001C.3353] # SQUARE RUPII
-308C ; [.32E6.0020.000E.308C] # HIRAGANA LETTER RE
-31FE ; [.32E6.0020.000F.31FE] # KATAKANA LETTER SMALL RE
-30EC ; [.32E6.0020.0011.30EC] # KATAKANA LETTER RE
-FF9A ; [.32E6.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE
-32F9 ; [.32E6.0020.0013.32F9] # CIRCLED KATAKANA RE
-3355 ; [.32E6.0020.001C.3355][.32DC.0020.001C.3355] # SQUARE REMU
-3356 ; [.32E6.0020.001C.3356][.32EC.0020.001C.3356][.32CF.0020.001C.3356][.32C4.0020.001C.3356][.0000.0128.001C.3356][.32EC.0020.001C.3356] # SQUARE RENTOGEN
-308D ; [.32E7.0020.000E.308D] # HIRAGANA LETTER RO
-31FF ; [.32E7.0020.000F.31FF] # KATAKANA LETTER SMALL RO
-30ED ; [.32E7.0020.0011.30ED] # KATAKANA LETTER RO
-FF9B ; [.32E7.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO
-32FA ; [.32E7.0020.0013.32FA] # CIRCLED KATAKANA RO
-308E ; [.32E8.0020.000D.308E] # HIRAGANA LETTER SMALL WA
-308F ; [.32E8.0020.000E.308F] # HIRAGANA LETTER WA
-30EE ; [.32E8.0020.000F.30EE] # KATAKANA LETTER SMALL WA
-30EF ; [.32E8.0020.0011.30EF] # KATAKANA LETTER WA
-FF9C ; [.32E8.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA
-32FB ; [.32E8.0020.0013.32FB] # CIRCLED KATAKANA WA
-30F7 ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099] # KATAKANA LETTER VA
-3357 ; [.32E8.0020.001C.3357][.32CD.0020.001C.3357][.32CF.0020.001C.3357] # SQUARE WATTO
-3090 ; [.32E9.0020.000E.3090] # HIRAGANA LETTER WI
-30F0 ; [.32E9.0020.0011.30F0] # KATAKANA LETTER WI
-32FC ; [.32E9.0020.0013.32FC] # CIRCLED KATAKANA WI
-30F8 ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099] # KATAKANA LETTER VI
-3091 ; [.32EA.0020.000E.3091] # HIRAGANA LETTER WE
-30F1 ; [.32EA.0020.0011.30F1] # KATAKANA LETTER WE
-32FD ; [.32EA.0020.0013.32FD] # CIRCLED KATAKANA WE
-30F9 ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099] # KATAKANA LETTER VE
-3092 ; [.32EB.0020.000E.3092] # HIRAGANA LETTER WO
-30F2 ; [.32EB.0020.0011.30F2] # KATAKANA LETTER WO
-FF66 ; [.32EB.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO
-32FE ; [.32EB.0020.0013.32FE] # CIRCLED KATAKANA WO
-30FA ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099] # KATAKANA LETTER VO
-3093 ; [.32EC.0020.000E.3093] # HIRAGANA LETTER N
-30F3 ; [.32EC.0020.0011.30F3] # KATAKANA LETTER N
-FF9D ; [.32EC.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N
-3105 ; [.32ED.0020.0002.3105] # BOPOMOFO LETTER B
-31A0 ; [.32ED.0020.0004.31A0][.0000.013A.0004.31A0] # BOPOMOFO LETTER BU
-3106 ; [.32EE.0020.0002.3106] # BOPOMOFO LETTER P
-31B4 ; [.32EE.0020.0019.31B4] # BOPOMOFO FINAL LETTER P
-3107 ; [.32EF.0020.0002.3107] # BOPOMOFO LETTER M
-3108 ; [.32F0.0020.0002.3108] # BOPOMOFO LETTER F
-312A ; [.32F1.0020.0002.312A] # BOPOMOFO LETTER V
-3109 ; [.32F2.0020.0002.3109] # BOPOMOFO LETTER D
-310A ; [.32F3.0020.0002.310A] # BOPOMOFO LETTER T
-31B5 ; [.32F3.0020.0019.31B5] # BOPOMOFO FINAL LETTER T
-310B ; [.32F4.0020.0002.310B] # BOPOMOFO LETTER N
-310C ; [.32F5.0020.0002.310C] # BOPOMOFO LETTER L
-310D ; [.32F6.0020.0002.310D] # BOPOMOFO LETTER G
-31A3 ; [.32F6.0020.0004.31A3][.0000.013A.0004.31A3] # BOPOMOFO LETTER GU
-310E ; [.32F7.0020.0002.310E] # BOPOMOFO LETTER K
-31B6 ; [.32F7.0020.0019.31B6] # BOPOMOFO FINAL LETTER K
-312B ; [.32F8.0020.0002.312B] # BOPOMOFO LETTER NG
-31AD ; [.32F9.0020.0002.31AD] # BOPOMOFO LETTER NGG
-310F ; [.32FA.0020.0002.310F] # BOPOMOFO LETTER H
-31B7 ; [.32FA.0020.0019.31B7] # BOPOMOFO FINAL LETTER H
-3110 ; [.32FB.0020.0002.3110] # BOPOMOFO LETTER J
-31A2 ; [.32FB.0020.0004.31A2][.0000.013A.0004.31A2] # BOPOMOFO LETTER JI
-3111 ; [.32FC.0020.0002.3111] # BOPOMOFO LETTER Q
-3112 ; [.32FD.0020.0002.3112] # BOPOMOFO LETTER X
-312C ; [.32FE.0020.0002.312C] # BOPOMOFO LETTER GN
-3113 ; [.32FF.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114 ; [.3300.0020.0002.3114] # BOPOMOFO LETTER CH
-3115 ; [.3301.0020.0002.3115] # BOPOMOFO LETTER SH
-3116 ; [.3302.0020.0002.3116] # BOPOMOFO LETTER R
-3117 ; [.3303.0020.0002.3117] # BOPOMOFO LETTER Z
-31A1 ; [.3303.0020.0004.31A1][.0000.013A.0004.31A1] # BOPOMOFO LETTER ZI
-3118 ; [.3304.0020.0002.3118] # BOPOMOFO LETTER C
-3119 ; [.3305.0020.0002.3119] # BOPOMOFO LETTER S
-31B8 ; [.3306.0020.0002.31B8] # BOPOMOFO LETTER GH
-31B9 ; [.3307.0020.0002.31B9] # BOPOMOFO LETTER LH
-31BA ; [.3308.0020.0002.31BA] # BOPOMOFO LETTER ZY
-311A ; [.3309.0020.0002.311A] # BOPOMOFO LETTER A
-31A9 ; [.3309.0020.0004.31A9][.0000.013A.0004.31A9] # BOPOMOFO LETTER ANN
-311B ; [.330A.0020.0002.311B] # BOPOMOFO LETTER O
-31A7 ; [.330A.0020.0004.31A7][.0000.013A.0004.31A7] # BOPOMOFO LETTER ONN
-31A6 ; [.330B.0020.0002.31A6] # BOPOMOFO LETTER OO
-311C ; [.330C.0020.0002.311C] # BOPOMOFO LETTER E
-311D ; [.330D.0020.0002.311D] # BOPOMOFO LETTER EH
-31A4 ; [.330E.0020.0002.31A4] # BOPOMOFO LETTER EE
-31A5 ; [.330E.0020.0004.31A5][.0000.013A.0004.31A5] # BOPOMOFO LETTER ENN
-311E ; [.330F.0020.0002.311E] # BOPOMOFO LETTER AI
-31AE ; [.330F.0020.0004.31AE][.0000.013A.0004.31AE] # BOPOMOFO LETTER AINN
-311F ; [.3310.0020.0002.311F] # BOPOMOFO LETTER EI
-3120 ; [.3311.0020.0002.3120] # BOPOMOFO LETTER AU
-31AF ; [.3311.0020.0004.31AF][.0000.013A.0004.31AF] # BOPOMOFO LETTER AUNN
-3121 ; [.3312.0020.0002.3121] # BOPOMOFO LETTER OU
-3122 ; [.3313.0020.0002.3122] # BOPOMOFO LETTER AN
-3123 ; [.3314.0020.0002.3123] # BOPOMOFO LETTER EN
-3124 ; [.3315.0020.0002.3124] # BOPOMOFO LETTER ANG
-31B2 ; [.3316.0020.0002.31B2] # BOPOMOFO LETTER ONG
-3125 ; [.3317.0020.0002.3125] # BOPOMOFO LETTER ENG
-31B0 ; [.3318.0020.0002.31B0] # BOPOMOFO LETTER AM
-31B1 ; [.3319.0020.0002.31B1] # BOPOMOFO LETTER OM
-31AC ; [.331A.0020.0002.31AC] # BOPOMOFO LETTER IM
-3126 ; [.331B.0020.0002.3126] # BOPOMOFO LETTER ER
-3127 ; [.331C.0020.0002.3127] # BOPOMOFO LETTER I
-31AA ; [.331C.0020.0004.31AA][.0000.013A.0004.31AA] # BOPOMOFO LETTER INN
-31B3 ; [.331C.0020.0016.31B3][.0000.013A.0016.31B3] # BOPOMOFO LETTER INNN
-3128 ; [.331D.0020.0002.3128] # BOPOMOFO LETTER U
-31AB ; [.331D.0020.0004.31AB][.0000.013A.0004.31AB] # BOPOMOFO LETTER UNN
-31A8 ; [.331D.0020.0004.31A8][.0000.013C.0004.31A8] # BOPOMOFO LETTER IR
-3129 ; [.331E.0020.0002.3129] # BOPOMOFO LETTER IU
-312D ; [.331F.0020.0002.312D] # BOPOMOFO LETTER IH
-A000 ; [.3320.0020.0002.A000] # YI SYLLABLE IT
-A001 ; [.3321.0020.0002.A001] # YI SYLLABLE IX
-A002 ; [.3322.0020.0002.A002] # YI SYLLABLE I
-A003 ; [.3323.0020.0002.A003] # YI SYLLABLE IP
-A004 ; [.3324.0020.0002.A004] # YI SYLLABLE IET
-A005 ; [.3325.0020.0002.A005] # YI SYLLABLE IEX
-A006 ; [.3326.0020.0002.A006] # YI SYLLABLE IE
-A007 ; [.3327.0020.0002.A007] # YI SYLLABLE IEP
-A008 ; [.3328.0020.0002.A008] # YI SYLLABLE AT
-A009 ; [.3329.0020.0002.A009] # YI SYLLABLE AX
-A00A ; [.332A.0020.0002.A00A] # YI SYLLABLE A
-A00B ; [.332B.0020.0002.A00B] # YI SYLLABLE AP
-A00C ; [.332C.0020.0002.A00C] # YI SYLLABLE UOX
-A00D ; [.332D.0020.0002.A00D] # YI SYLLABLE UO
-A00E ; [.332E.0020.0002.A00E] # YI SYLLABLE UOP
-A00F ; [.332F.0020.0002.A00F] # YI SYLLABLE OT
-A010 ; [.3330.0020.0002.A010] # YI SYLLABLE OX
-A011 ; [.3331.0020.0002.A011] # YI SYLLABLE O
-A012 ; [.3332.0020.0002.A012] # YI SYLLABLE OP
-A013 ; [.3333.0020.0002.A013] # YI SYLLABLE EX
-A014 ; [.3334.0020.0002.A014] # YI SYLLABLE E
-A015 ; [.3335.0020.0002.A015] # YI SYLLABLE WU
-A016 ; [.3336.0020.0002.A016] # YI SYLLABLE BIT
-A017 ; [.3337.0020.0002.A017] # YI SYLLABLE BIX
-A018 ; [.3338.0020.0002.A018] # YI SYLLABLE BI
-A019 ; [.3339.0020.0002.A019] # YI SYLLABLE BIP
-A01A ; [.333A.0020.0002.A01A] # YI SYLLABLE BIET
-A01B ; [.333B.0020.0002.A01B] # YI SYLLABLE BIEX
-A01C ; [.333C.0020.0002.A01C] # YI SYLLABLE BIE
-A01D ; [.333D.0020.0002.A01D] # YI SYLLABLE BIEP
-A01E ; [.333E.0020.0002.A01E] # YI SYLLABLE BAT
-A01F ; [.333F.0020.0002.A01F] # YI SYLLABLE BAX
-A020 ; [.3340.0020.0002.A020] # YI SYLLABLE BA
-A021 ; [.3341.0020.0002.A021] # YI SYLLABLE BAP
-A022 ; [.3342.0020.0002.A022] # YI SYLLABLE BUOX
-A023 ; [.3343.0020.0002.A023] # YI SYLLABLE BUO
-A024 ; [.3344.0020.0002.A024] # YI SYLLABLE BUOP
-A025 ; [.3345.0020.0002.A025] # YI SYLLABLE BOT
-A026 ; [.3346.0020.0002.A026] # YI SYLLABLE BOX
-A027 ; [.3347.0020.0002.A027] # YI SYLLABLE BO
-A028 ; [.3348.0020.0002.A028] # YI SYLLABLE BOP
-A029 ; [.3349.0020.0002.A029] # YI SYLLABLE BEX
-A02A ; [.334A.0020.0002.A02A] # YI SYLLABLE BE
-A02B ; [.334B.0020.0002.A02B] # YI SYLLABLE BEP
-A02C ; [.334C.0020.0002.A02C] # YI SYLLABLE BUT
-A02D ; [.334D.0020.0002.A02D] # YI SYLLABLE BUX
-A02E ; [.334E.0020.0002.A02E] # YI SYLLABLE BU
-A02F ; [.334F.0020.0002.A02F] # YI SYLLABLE BUP
-A030 ; [.3350.0020.0002.A030] # YI SYLLABLE BURX
-A031 ; [.3351.0020.0002.A031] # YI SYLLABLE BUR
-A032 ; [.3352.0020.0002.A032] # YI SYLLABLE BYT
-A033 ; [.3353.0020.0002.A033] # YI SYLLABLE BYX
-A034 ; [.3354.0020.0002.A034] # YI SYLLABLE BY
-A035 ; [.3355.0020.0002.A035] # YI SYLLABLE BYP
-A036 ; [.3356.0020.0002.A036] # YI SYLLABLE BYRX
-A037 ; [.3357.0020.0002.A037] # YI SYLLABLE BYR
-A038 ; [.3358.0020.0002.A038] # YI SYLLABLE PIT
-A039 ; [.3359.0020.0002.A039] # YI SYLLABLE PIX
-A03A ; [.335A.0020.0002.A03A] # YI SYLLABLE PI
-A03B ; [.335B.0020.0002.A03B] # YI SYLLABLE PIP
-A03C ; [.335C.0020.0002.A03C] # YI SYLLABLE PIEX
-A03D ; [.335D.0020.0002.A03D] # YI SYLLABLE PIE
-A03E ; [.335E.0020.0002.A03E] # YI SYLLABLE PIEP
-A03F ; [.335F.0020.0002.A03F] # YI SYLLABLE PAT
-A040 ; [.3360.0020.0002.A040] # YI SYLLABLE PAX
-A041 ; [.3361.0020.0002.A041] # YI SYLLABLE PA
-A042 ; [.3362.0020.0002.A042] # YI SYLLABLE PAP
-A043 ; [.3363.0020.0002.A043] # YI SYLLABLE PUOX
-A044 ; [.3364.0020.0002.A044] # YI SYLLABLE PUO
-A045 ; [.3365.0020.0002.A045] # YI SYLLABLE PUOP
-A046 ; [.3366.0020.0002.A046] # YI SYLLABLE POT
-A047 ; [.3367.0020.0002.A047] # YI SYLLABLE POX
-A048 ; [.3368.0020.0002.A048] # YI SYLLABLE PO
-A049 ; [.3369.0020.0002.A049] # YI SYLLABLE POP
-A04A ; [.336A.0020.0002.A04A] # YI SYLLABLE PUT
-A04B ; [.336B.0020.0002.A04B] # YI SYLLABLE PUX
-A04C ; [.336C.0020.0002.A04C] # YI SYLLABLE PU
-A04D ; [.336D.0020.0002.A04D] # YI SYLLABLE PUP
-A04E ; [.336E.0020.0002.A04E] # YI SYLLABLE PURX
-A04F ; [.336F.0020.0002.A04F] # YI SYLLABLE PUR
-A050 ; [.3370.0020.0002.A050] # YI SYLLABLE PYT
-A051 ; [.3371.0020.0002.A051] # YI SYLLABLE PYX
-A052 ; [.3372.0020.0002.A052] # YI SYLLABLE PY
-A053 ; [.3373.0020.0002.A053] # YI SYLLABLE PYP
-A054 ; [.3374.0020.0002.A054] # YI SYLLABLE PYRX
-A055 ; [.3375.0020.0002.A055] # YI SYLLABLE PYR
-A056 ; [.3376.0020.0002.A056] # YI SYLLABLE BBIT
-A057 ; [.3377.0020.0002.A057] # YI SYLLABLE BBIX
-A058 ; [.3378.0020.0002.A058] # YI SYLLABLE BBI
-A059 ; [.3379.0020.0002.A059] # YI SYLLABLE BBIP
-A05A ; [.337A.0020.0002.A05A] # YI SYLLABLE BBIET
-A05B ; [.337B.0020.0002.A05B] # YI SYLLABLE BBIEX
-A05C ; [.337C.0020.0002.A05C] # YI SYLLABLE BBIE
-A05D ; [.337D.0020.0002.A05D] # YI SYLLABLE BBIEP
-A05E ; [.337E.0020.0002.A05E] # YI SYLLABLE BBAT
-A05F ; [.337F.0020.0002.A05F] # YI SYLLABLE BBAX
-A060 ; [.3380.0020.0002.A060] # YI SYLLABLE BBA
-A061 ; [.3381.0020.0002.A061] # YI SYLLABLE BBAP
-A062 ; [.3382.0020.0002.A062] # YI SYLLABLE BBUOX
-A063 ; [.3383.0020.0002.A063] # YI SYLLABLE BBUO
-A064 ; [.3384.0020.0002.A064] # YI SYLLABLE BBUOP
-A065 ; [.3385.0020.0002.A065] # YI SYLLABLE BBOT
-A066 ; [.3386.0020.0002.A066] # YI SYLLABLE BBOX
-A067 ; [.3387.0020.0002.A067] # YI SYLLABLE BBO
-A068 ; [.3388.0020.0002.A068] # YI SYLLABLE BBOP
-A069 ; [.3389.0020.0002.A069] # YI SYLLABLE BBEX
-A06A ; [.338A.0020.0002.A06A] # YI SYLLABLE BBE
-A06B ; [.338B.0020.0002.A06B] # YI SYLLABLE BBEP
-A06C ; [.338C.0020.0002.A06C] # YI SYLLABLE BBUT
-A06D ; [.338D.0020.0002.A06D] # YI SYLLABLE BBUX
-A06E ; [.338E.0020.0002.A06E] # YI SYLLABLE BBU
-A06F ; [.338F.0020.0002.A06F] # YI SYLLABLE BBUP
-A070 ; [.3390.0020.0002.A070] # YI SYLLABLE BBURX
-A071 ; [.3391.0020.0002.A071] # YI SYLLABLE BBUR
-A072 ; [.3392.0020.0002.A072] # YI SYLLABLE BBYT
-A073 ; [.3393.0020.0002.A073] # YI SYLLABLE BBYX
-A074 ; [.3394.0020.0002.A074] # YI SYLLABLE BBY
-A075 ; [.3395.0020.0002.A075] # YI SYLLABLE BBYP
-A076 ; [.3396.0020.0002.A076] # YI SYLLABLE NBIT
-A077 ; [.3397.0020.0002.A077] # YI SYLLABLE NBIX
-A078 ; [.3398.0020.0002.A078] # YI SYLLABLE NBI
-A079 ; [.3399.0020.0002.A079] # YI SYLLABLE NBIP
-A07A ; [.339A.0020.0002.A07A] # YI SYLLABLE NBIEX
-A07B ; [.339B.0020.0002.A07B] # YI SYLLABLE NBIE
-A07C ; [.339C.0020.0002.A07C] # YI SYLLABLE NBIEP
-A07D ; [.339D.0020.0002.A07D] # YI SYLLABLE NBAT
-A07E ; [.339E.0020.0002.A07E] # YI SYLLABLE NBAX
-A07F ; [.339F.0020.0002.A07F] # YI SYLLABLE NBA
-A080 ; [.33A0.0020.0002.A080] # YI SYLLABLE NBAP
-A081 ; [.33A1.0020.0002.A081] # YI SYLLABLE NBOT
-A082 ; [.33A2.0020.0002.A082] # YI SYLLABLE NBOX
-A083 ; [.33A3.0020.0002.A083] # YI SYLLABLE NBO
-A084 ; [.33A4.0020.0002.A084] # YI SYLLABLE NBOP
-A085 ; [.33A5.0020.0002.A085] # YI SYLLABLE NBUT
-A086 ; [.33A6.0020.0002.A086] # YI SYLLABLE NBUX
-A087 ; [.33A7.0020.0002.A087] # YI SYLLABLE NBU
-A088 ; [.33A8.0020.0002.A088] # YI SYLLABLE NBUP
-A089 ; [.33A9.0020.0002.A089] # YI SYLLABLE NBURX
-A08A ; [.33AA.0020.0002.A08A] # YI SYLLABLE NBUR
-A08B ; [.33AB.0020.0002.A08B] # YI SYLLABLE NBYT
-A08C ; [.33AC.0020.0002.A08C] # YI SYLLABLE NBYX
-A08D ; [.33AD.0020.0002.A08D] # YI SYLLABLE NBY
-A08E ; [.33AE.0020.0002.A08E] # YI SYLLABLE NBYP
-A08F ; [.33AF.0020.0002.A08F] # YI SYLLABLE NBYRX
-A090 ; [.33B0.0020.0002.A090] # YI SYLLABLE NBYR
-A091 ; [.33B1.0020.0002.A091] # YI SYLLABLE HMIT
-A092 ; [.33B2.0020.0002.A092] # YI SYLLABLE HMIX
-A093 ; [.33B3.0020.0002.A093] # YI SYLLABLE HMI
-A094 ; [.33B4.0020.0002.A094] # YI SYLLABLE HMIP
-A095 ; [.33B5.0020.0002.A095] # YI SYLLABLE HMIEX
-A096 ; [.33B6.0020.0002.A096] # YI SYLLABLE HMIE
-A097 ; [.33B7.0020.0002.A097] # YI SYLLABLE HMIEP
-A098 ; [.33B8.0020.0002.A098] # YI SYLLABLE HMAT
-A099 ; [.33B9.0020.0002.A099] # YI SYLLABLE HMAX
-A09A ; [.33BA.0020.0002.A09A] # YI SYLLABLE HMA
-A09B ; [.33BB.0020.0002.A09B] # YI SYLLABLE HMAP
-A09C ; [.33BC.0020.0002.A09C] # YI SYLLABLE HMUOX
-A09D ; [.33BD.0020.0002.A09D] # YI SYLLABLE HMUO
-A09E ; [.33BE.0020.0002.A09E] # YI SYLLABLE HMUOP
-A09F ; [.33BF.0020.0002.A09F] # YI SYLLABLE HMOT
-A0A0 ; [.33C0.0020.0002.A0A0] # YI SYLLABLE HMOX
-A0A1 ; [.33C1.0020.0002.A0A1] # YI SYLLABLE HMO
-A0A2 ; [.33C2.0020.0002.A0A2] # YI SYLLABLE HMOP
-A0A3 ; [.33C3.0020.0002.A0A3] # YI SYLLABLE HMUT
-A0A4 ; [.33C4.0020.0002.A0A4] # YI SYLLABLE HMUX
-A0A5 ; [.33C5.0020.0002.A0A5] # YI SYLLABLE HMU
-A0A6 ; [.33C6.0020.0002.A0A6] # YI SYLLABLE HMUP
-A0A7 ; [.33C7.0020.0002.A0A7] # YI SYLLABLE HMURX
-A0A8 ; [.33C8.0020.0002.A0A8] # YI SYLLABLE HMUR
-A0A9 ; [.33C9.0020.0002.A0A9] # YI SYLLABLE HMYX
-A0AA ; [.33CA.0020.0002.A0AA] # YI SYLLABLE HMY
-A0AB ; [.33CB.0020.0002.A0AB] # YI SYLLABLE HMYP
-A0AC ; [.33CC.0020.0002.A0AC] # YI SYLLABLE HMYRX
-A0AD ; [.33CD.0020.0002.A0AD] # YI SYLLABLE HMYR
-A0AE ; [.33CE.0020.0002.A0AE] # YI SYLLABLE MIT
-A0AF ; [.33CF.0020.0002.A0AF] # YI SYLLABLE MIX
-A0B0 ; [.33D0.0020.0002.A0B0] # YI SYLLABLE MI
-A0B1 ; [.33D1.0020.0002.A0B1] # YI SYLLABLE MIP
-A0B2 ; [.33D2.0020.0002.A0B2] # YI SYLLABLE MIEX
-A0B3 ; [.33D3.0020.0002.A0B3] # YI SYLLABLE MIE
-A0B4 ; [.33D4.0020.0002.A0B4] # YI SYLLABLE MIEP
-A0B5 ; [.33D5.0020.0002.A0B5] # YI SYLLABLE MAT
-A0B6 ; [.33D6.0020.0002.A0B6] # YI SYLLABLE MAX
-A0B7 ; [.33D7.0020.0002.A0B7] # YI SYLLABLE MA
-A0B8 ; [.33D8.0020.0002.A0B8] # YI SYLLABLE MAP
-A0B9 ; [.33D9.0020.0002.A0B9] # YI SYLLABLE MUOT
-A0BA ; [.33DA.0020.0002.A0BA] # YI SYLLABLE MUOX
-A0BB ; [.33DB.0020.0002.A0BB] # YI SYLLABLE MUO
-A0BC ; [.33DC.0020.0002.A0BC] # YI SYLLABLE MUOP
-A0BD ; [.33DD.0020.0002.A0BD] # YI SYLLABLE MOT
-A0BE ; [.33DE.0020.0002.A0BE] # YI SYLLABLE MOX
-A0BF ; [.33DF.0020.0002.A0BF] # YI SYLLABLE MO
-A0C0 ; [.33E0.0020.0002.A0C0] # YI SYLLABLE MOP
-A0C1 ; [.33E1.0020.0002.A0C1] # YI SYLLABLE MEX
-A0C2 ; [.33E2.0020.0002.A0C2] # YI SYLLABLE ME
-A0C3 ; [.33E3.0020.0002.A0C3] # YI SYLLABLE MUT
-A0C4 ; [.33E4.0020.0002.A0C4] # YI SYLLABLE MUX
-A0C5 ; [.33E5.0020.0002.A0C5] # YI SYLLABLE MU
-A0C6 ; [.33E6.0020.0002.A0C6] # YI SYLLABLE MUP
-A0C7 ; [.33E7.0020.0002.A0C7] # YI SYLLABLE MURX
-A0C8 ; [.33E8.0020.0002.A0C8] # YI SYLLABLE MUR
-A0C9 ; [.33E9.0020.0002.A0C9] # YI SYLLABLE MYT
-A0CA ; [.33EA.0020.0002.A0CA] # YI SYLLABLE MYX
-A0CB ; [.33EB.0020.0002.A0CB] # YI SYLLABLE MY
-A0CC ; [.33EC.0020.0002.A0CC] # YI SYLLABLE MYP
-A0CD ; [.33ED.0020.0002.A0CD] # YI SYLLABLE FIT
-A0CE ; [.33EE.0020.0002.A0CE] # YI SYLLABLE FIX
-A0CF ; [.33EF.0020.0002.A0CF] # YI SYLLABLE FI
-A0D0 ; [.33F0.0020.0002.A0D0] # YI SYLLABLE FIP
-A0D1 ; [.33F1.0020.0002.A0D1] # YI SYLLABLE FAT
-A0D2 ; [.33F2.0020.0002.A0D2] # YI SYLLABLE FAX
-A0D3 ; [.33F3.0020.0002.A0D3] # YI SYLLABLE FA
-A0D4 ; [.33F4.0020.0002.A0D4] # YI SYLLABLE FAP
-A0D5 ; [.33F5.0020.0002.A0D5] # YI SYLLABLE FOX
-A0D6 ; [.33F6.0020.0002.A0D6] # YI SYLLABLE FO
-A0D7 ; [.33F7.0020.0002.A0D7] # YI SYLLABLE FOP
-A0D8 ; [.33F8.0020.0002.A0D8] # YI SYLLABLE FUT
-A0D9 ; [.33F9.0020.0002.A0D9] # YI SYLLABLE FUX
-A0DA ; [.33FA.0020.0002.A0DA] # YI SYLLABLE FU
-A0DB ; [.33FB.0020.0002.A0DB] # YI SYLLABLE FUP
-A0DC ; [.33FC.0020.0002.A0DC] # YI SYLLABLE FURX
-A0DD ; [.33FD.0020.0002.A0DD] # YI SYLLABLE FUR
-A0DE ; [.33FE.0020.0002.A0DE] # YI SYLLABLE FYT
-A0DF ; [.33FF.0020.0002.A0DF] # YI SYLLABLE FYX
-A0E0 ; [.3400.0020.0002.A0E0] # YI SYLLABLE FY
-A0E1 ; [.3401.0020.0002.A0E1] # YI SYLLABLE FYP
-A0E2 ; [.3402.0020.0002.A0E2] # YI SYLLABLE VIT
-A0E3 ; [.3403.0020.0002.A0E3] # YI SYLLABLE VIX
-A0E4 ; [.3404.0020.0002.A0E4] # YI SYLLABLE VI
-A0E5 ; [.3405.0020.0002.A0E5] # YI SYLLABLE VIP
-A0E6 ; [.3406.0020.0002.A0E6] # YI SYLLABLE VIET
-A0E7 ; [.3407.0020.0002.A0E7] # YI SYLLABLE VIEX
-A0E8 ; [.3408.0020.0002.A0E8] # YI SYLLABLE VIE
-A0E9 ; [.3409.0020.0002.A0E9] # YI SYLLABLE VIEP
-A0EA ; [.340A.0020.0002.A0EA] # YI SYLLABLE VAT
-A0EB ; [.340B.0020.0002.A0EB] # YI SYLLABLE VAX
-A0EC ; [.340C.0020.0002.A0EC] # YI SYLLABLE VA
-A0ED ; [.340D.0020.0002.A0ED] # YI SYLLABLE VAP
-A0EE ; [.340E.0020.0002.A0EE] # YI SYLLABLE VOT
-A0EF ; [.340F.0020.0002.A0EF] # YI SYLLABLE VOX
-A0F0 ; [.3410.0020.0002.A0F0] # YI SYLLABLE VO
-A0F1 ; [.3411.0020.0002.A0F1] # YI SYLLABLE VOP
-A0F2 ; [.3412.0020.0002.A0F2] # YI SYLLABLE VEX
-A0F3 ; [.3413.0020.0002.A0F3] # YI SYLLABLE VEP
-A0F4 ; [.3414.0020.0002.A0F4] # YI SYLLABLE VUT
-A0F5 ; [.3415.0020.0002.A0F5] # YI SYLLABLE VUX
-A0F6 ; [.3416.0020.0002.A0F6] # YI SYLLABLE VU
-A0F7 ; [.3417.0020.0002.A0F7] # YI SYLLABLE VUP
-A0F8 ; [.3418.0020.0002.A0F8] # YI SYLLABLE VURX
-A0F9 ; [.3419.0020.0002.A0F9] # YI SYLLABLE VUR
-A0FA ; [.341A.0020.0002.A0FA] # YI SYLLABLE VYT
-A0FB ; [.341B.0020.0002.A0FB] # YI SYLLABLE VYX
-A0FC ; [.341C.0020.0002.A0FC] # YI SYLLABLE VY
-A0FD ; [.341D.0020.0002.A0FD] # YI SYLLABLE VYP
-A0FE ; [.341E.0020.0002.A0FE] # YI SYLLABLE VYRX
-A0FF ; [.341F.0020.0002.A0FF] # YI SYLLABLE VYR
-A100 ; [.3420.0020.0002.A100] # YI SYLLABLE DIT
-A101 ; [.3421.0020.0002.A101] # YI SYLLABLE DIX
-A102 ; [.3422.0020.0002.A102] # YI SYLLABLE DI
-A103 ; [.3423.0020.0002.A103] # YI SYLLABLE DIP
-A104 ; [.3424.0020.0002.A104] # YI SYLLABLE DIEX
-A105 ; [.3425.0020.0002.A105] # YI SYLLABLE DIE
-A106 ; [.3426.0020.0002.A106] # YI SYLLABLE DIEP
-A107 ; [.3427.0020.0002.A107] # YI SYLLABLE DAT
-A108 ; [.3428.0020.0002.A108] # YI SYLLABLE DAX
-A109 ; [.3429.0020.0002.A109] # YI SYLLABLE DA
-A10A ; [.342A.0020.0002.A10A] # YI SYLLABLE DAP
-A10B ; [.342B.0020.0002.A10B] # YI SYLLABLE DUOX
-A10C ; [.342C.0020.0002.A10C] # YI SYLLABLE DUO
-A10D ; [.342D.0020.0002.A10D] # YI SYLLABLE DOT
-A10E ; [.342E.0020.0002.A10E] # YI SYLLABLE DOX
-A10F ; [.342F.0020.0002.A10F] # YI SYLLABLE DO
-A110 ; [.3430.0020.0002.A110] # YI SYLLABLE DOP
-A111 ; [.3431.0020.0002.A111] # YI SYLLABLE DEX
-A112 ; [.3432.0020.0002.A112] # YI SYLLABLE DE
-A113 ; [.3433.0020.0002.A113] # YI SYLLABLE DEP
-A114 ; [.3434.0020.0002.A114] # YI SYLLABLE DUT
-A115 ; [.3435.0020.0002.A115] # YI SYLLABLE DUX
-A116 ; [.3436.0020.0002.A116] # YI SYLLABLE DU
-A117 ; [.3437.0020.0002.A117] # YI SYLLABLE DUP
-A118 ; [.3438.0020.0002.A118] # YI SYLLABLE DURX
-A119 ; [.3439.0020.0002.A119] # YI SYLLABLE DUR
-A11A ; [.343A.0020.0002.A11A] # YI SYLLABLE TIT
-A11B ; [.343B.0020.0002.A11B] # YI SYLLABLE TIX
-A11C ; [.343C.0020.0002.A11C] # YI SYLLABLE TI
-A11D ; [.343D.0020.0002.A11D] # YI SYLLABLE TIP
-A11E ; [.343E.0020.0002.A11E] # YI SYLLABLE TIEX
-A11F ; [.343F.0020.0002.A11F] # YI SYLLABLE TIE
-A120 ; [.3440.0020.0002.A120] # YI SYLLABLE TIEP
-A121 ; [.3441.0020.0002.A121] # YI SYLLABLE TAT
-A122 ; [.3442.0020.0002.A122] # YI SYLLABLE TAX
-A123 ; [.3443.0020.0002.A123] # YI SYLLABLE TA
-A124 ; [.3444.0020.0002.A124] # YI SYLLABLE TAP
-A125 ; [.3445.0020.0002.A125] # YI SYLLABLE TUOT
-A126 ; [.3446.0020.0002.A126] # YI SYLLABLE TUOX
-A127 ; [.3447.0020.0002.A127] # YI SYLLABLE TUO
-A128 ; [.3448.0020.0002.A128] # YI SYLLABLE TUOP
-A129 ; [.3449.0020.0002.A129] # YI SYLLABLE TOT
-A12A ; [.344A.0020.0002.A12A] # YI SYLLABLE TOX
-A12B ; [.344B.0020.0002.A12B] # YI SYLLABLE TO
-A12C ; [.344C.0020.0002.A12C] # YI SYLLABLE TOP
-A12D ; [.344D.0020.0002.A12D] # YI SYLLABLE TEX
-A12E ; [.344E.0020.0002.A12E] # YI SYLLABLE TE
-A12F ; [.344F.0020.0002.A12F] # YI SYLLABLE TEP
-A130 ; [.3450.0020.0002.A130] # YI SYLLABLE TUT
-A131 ; [.3451.0020.0002.A131] # YI SYLLABLE TUX
-A132 ; [.3452.0020.0002.A132] # YI SYLLABLE TU
-A133 ; [.3453.0020.0002.A133] # YI SYLLABLE TUP
-A134 ; [.3454.0020.0002.A134] # YI SYLLABLE TURX
-A135 ; [.3455.0020.0002.A135] # YI SYLLABLE TUR
-A136 ; [.3456.0020.0002.A136] # YI SYLLABLE DDIT
-A137 ; [.3457.0020.0002.A137] # YI SYLLABLE DDIX
-A138 ; [.3458.0020.0002.A138] # YI SYLLABLE DDI
-A139 ; [.3459.0020.0002.A139] # YI SYLLABLE DDIP
-A13A ; [.345A.0020.0002.A13A] # YI SYLLABLE DDIEX
-A13B ; [.345B.0020.0002.A13B] # YI SYLLABLE DDIE
-A13C ; [.345C.0020.0002.A13C] # YI SYLLABLE DDIEP
-A13D ; [.345D.0020.0002.A13D] # YI SYLLABLE DDAT
-A13E ; [.345E.0020.0002.A13E] # YI SYLLABLE DDAX
-A13F ; [.345F.0020.0002.A13F] # YI SYLLABLE DDA
-A140 ; [.3460.0020.0002.A140] # YI SYLLABLE DDAP
-A141 ; [.3461.0020.0002.A141] # YI SYLLABLE DDUOX
-A142 ; [.3462.0020.0002.A142] # YI SYLLABLE DDUO
-A143 ; [.3463.0020.0002.A143] # YI SYLLABLE DDUOP
-A144 ; [.3464.0020.0002.A144] # YI SYLLABLE DDOT
-A145 ; [.3465.0020.0002.A145] # YI SYLLABLE DDOX
-A146 ; [.3466.0020.0002.A146] # YI SYLLABLE DDO
-A147 ; [.3467.0020.0002.A147] # YI SYLLABLE DDOP
-A148 ; [.3468.0020.0002.A148] # YI SYLLABLE DDEX
-A149 ; [.3469.0020.0002.A149] # YI SYLLABLE DDE
-A14A ; [.346A.0020.0002.A14A] # YI SYLLABLE DDEP
-A14B ; [.346B.0020.0002.A14B] # YI SYLLABLE DDUT
-A14C ; [.346C.0020.0002.A14C] # YI SYLLABLE DDUX
-A14D ; [.346D.0020.0002.A14D] # YI SYLLABLE DDU
-A14E ; [.346E.0020.0002.A14E] # YI SYLLABLE DDUP
-A14F ; [.346F.0020.0002.A14F] # YI SYLLABLE DDURX
-A150 ; [.3470.0020.0002.A150] # YI SYLLABLE DDUR
-A151 ; [.3471.0020.0002.A151] # YI SYLLABLE NDIT
-A152 ; [.3472.0020.0002.A152] # YI SYLLABLE NDIX
-A153 ; [.3473.0020.0002.A153] # YI SYLLABLE NDI
-A154 ; [.3474.0020.0002.A154] # YI SYLLABLE NDIP
-A155 ; [.3475.0020.0002.A155] # YI SYLLABLE NDIEX
-A156 ; [.3476.0020.0002.A156] # YI SYLLABLE NDIE
-A157 ; [.3477.0020.0002.A157] # YI SYLLABLE NDAT
-A158 ; [.3478.0020.0002.A158] # YI SYLLABLE NDAX
-A159 ; [.3479.0020.0002.A159] # YI SYLLABLE NDA
-A15A ; [.347A.0020.0002.A15A] # YI SYLLABLE NDAP
-A15B ; [.347B.0020.0002.A15B] # YI SYLLABLE NDOT
-A15C ; [.347C.0020.0002.A15C] # YI SYLLABLE NDOX
-A15D ; [.347D.0020.0002.A15D] # YI SYLLABLE NDO
-A15E ; [.347E.0020.0002.A15E] # YI SYLLABLE NDOP
-A15F ; [.347F.0020.0002.A15F] # YI SYLLABLE NDEX
-A160 ; [.3480.0020.0002.A160] # YI SYLLABLE NDE
-A161 ; [.3481.0020.0002.A161] # YI SYLLABLE NDEP
-A162 ; [.3482.0020.0002.A162] # YI SYLLABLE NDUT
-A163 ; [.3483.0020.0002.A163] # YI SYLLABLE NDUX
-A164 ; [.3484.0020.0002.A164] # YI SYLLABLE NDU
-A165 ; [.3485.0020.0002.A165] # YI SYLLABLE NDUP
-A166 ; [.3486.0020.0002.A166] # YI SYLLABLE NDURX
-A167 ; [.3487.0020.0002.A167] # YI SYLLABLE NDUR
-A168 ; [.3488.0020.0002.A168] # YI SYLLABLE HNIT
-A169 ; [.3489.0020.0002.A169] # YI SYLLABLE HNIX
-A16A ; [.348A.0020.0002.A16A] # YI SYLLABLE HNI
-A16B ; [.348B.0020.0002.A16B] # YI SYLLABLE HNIP
-A16C ; [.348C.0020.0002.A16C] # YI SYLLABLE HNIET
-A16D ; [.348D.0020.0002.A16D] # YI SYLLABLE HNIEX
-A16E ; [.348E.0020.0002.A16E] # YI SYLLABLE HNIE
-A16F ; [.348F.0020.0002.A16F] # YI SYLLABLE HNIEP
-A170 ; [.3490.0020.0002.A170] # YI SYLLABLE HNAT
-A171 ; [.3491.0020.0002.A171] # YI SYLLABLE HNAX
-A172 ; [.3492.0020.0002.A172] # YI SYLLABLE HNA
-A173 ; [.3493.0020.0002.A173] # YI SYLLABLE HNAP
-A174 ; [.3494.0020.0002.A174] # YI SYLLABLE HNUOX
-A175 ; [.3495.0020.0002.A175] # YI SYLLABLE HNUO
-A176 ; [.3496.0020.0002.A176] # YI SYLLABLE HNOT
-A177 ; [.3497.0020.0002.A177] # YI SYLLABLE HNOX
-A178 ; [.3498.0020.0002.A178] # YI SYLLABLE HNOP
-A179 ; [.3499.0020.0002.A179] # YI SYLLABLE HNEX
-A17A ; [.349A.0020.0002.A17A] # YI SYLLABLE HNE
-A17B ; [.349B.0020.0002.A17B] # YI SYLLABLE HNEP
-A17C ; [.349C.0020.0002.A17C] # YI SYLLABLE HNUT
-A17D ; [.349D.0020.0002.A17D] # YI SYLLABLE NIT
-A17E ; [.349E.0020.0002.A17E] # YI SYLLABLE NIX
-A17F ; [.349F.0020.0002.A17F] # YI SYLLABLE NI
-A180 ; [.34A0.0020.0002.A180] # YI SYLLABLE NIP
-A181 ; [.34A1.0020.0002.A181] # YI SYLLABLE NIEX
-A182 ; [.34A2.0020.0002.A182] # YI SYLLABLE NIE
-A183 ; [.34A3.0020.0002.A183] # YI SYLLABLE NIEP
-A184 ; [.34A4.0020.0002.A184] # YI SYLLABLE NAX
-A185 ; [.34A5.0020.0002.A185] # YI SYLLABLE NA
-A186 ; [.34A6.0020.0002.A186] # YI SYLLABLE NAP
-A187 ; [.34A7.0020.0002.A187] # YI SYLLABLE NUOX
-A188 ; [.34A8.0020.0002.A188] # YI SYLLABLE NUO
-A189 ; [.34A9.0020.0002.A189] # YI SYLLABLE NUOP
-A18A ; [.34AA.0020.0002.A18A] # YI SYLLABLE NOT
-A18B ; [.34AB.0020.0002.A18B] # YI SYLLABLE NOX
-A18C ; [.34AC.0020.0002.A18C] # YI SYLLABLE NO
-A18D ; [.34AD.0020.0002.A18D] # YI SYLLABLE NOP
-A18E ; [.34AE.0020.0002.A18E] # YI SYLLABLE NEX
-A18F ; [.34AF.0020.0002.A18F] # YI SYLLABLE NE
-A190 ; [.34B0.0020.0002.A190] # YI SYLLABLE NEP
-A191 ; [.34B1.0020.0002.A191] # YI SYLLABLE NUT
-A192 ; [.34B2.0020.0002.A192] # YI SYLLABLE NUX
-A193 ; [.34B3.0020.0002.A193] # YI SYLLABLE NU
-A194 ; [.34B4.0020.0002.A194] # YI SYLLABLE NUP
-A195 ; [.34B5.0020.0002.A195] # YI SYLLABLE NURX
-A196 ; [.34B6.0020.0002.A196] # YI SYLLABLE NUR
-A197 ; [.34B7.0020.0002.A197] # YI SYLLABLE HLIT
-A198 ; [.34B8.0020.0002.A198] # YI SYLLABLE HLIX
-A199 ; [.34B9.0020.0002.A199] # YI SYLLABLE HLI
-A19A ; [.34BA.0020.0002.A19A] # YI SYLLABLE HLIP
-A19B ; [.34BB.0020.0002.A19B] # YI SYLLABLE HLIEX
-A19C ; [.34BC.0020.0002.A19C] # YI SYLLABLE HLIE
-A19D ; [.34BD.0020.0002.A19D] # YI SYLLABLE HLIEP
-A19E ; [.34BE.0020.0002.A19E] # YI SYLLABLE HLAT
-A19F ; [.34BF.0020.0002.A19F] # YI SYLLABLE HLAX
-A1A0 ; [.34C0.0020.0002.A1A0] # YI SYLLABLE HLA
-A1A1 ; [.34C1.0020.0002.A1A1] # YI SYLLABLE HLAP
-A1A2 ; [.34C2.0020.0002.A1A2] # YI SYLLABLE HLUOX
-A1A3 ; [.34C3.0020.0002.A1A3] # YI SYLLABLE HLUO
-A1A4 ; [.34C4.0020.0002.A1A4] # YI SYLLABLE HLUOP
-A1A5 ; [.34C5.0020.0002.A1A5] # YI SYLLABLE HLOX
-A1A6 ; [.34C6.0020.0002.A1A6] # YI SYLLABLE HLO
-A1A7 ; [.34C7.0020.0002.A1A7] # YI SYLLABLE HLOP
-A1A8 ; [.34C8.0020.0002.A1A8] # YI SYLLABLE HLEX
-A1A9 ; [.34C9.0020.0002.A1A9] # YI SYLLABLE HLE
-A1AA ; [.34CA.0020.0002.A1AA] # YI SYLLABLE HLEP
-A1AB ; [.34CB.0020.0002.A1AB] # YI SYLLABLE HLUT
-A1AC ; [.34CC.0020.0002.A1AC] # YI SYLLABLE HLUX
-A1AD ; [.34CD.0020.0002.A1AD] # YI SYLLABLE HLU
-A1AE ; [.34CE.0020.0002.A1AE] # YI SYLLABLE HLUP
-A1AF ; [.34CF.0020.0002.A1AF] # YI SYLLABLE HLURX
-A1B0 ; [.34D0.0020.0002.A1B0] # YI SYLLABLE HLUR
-A1B1 ; [.34D1.0020.0002.A1B1] # YI SYLLABLE HLYT
-A1B2 ; [.34D2.0020.0002.A1B2] # YI SYLLABLE HLYX
-A1B3 ; [.34D3.0020.0002.A1B3] # YI SYLLABLE HLY
-A1B4 ; [.34D4.0020.0002.A1B4] # YI SYLLABLE HLYP
-A1B5 ; [.34D5.0020.0002.A1B5] # YI SYLLABLE HLYRX
-A1B6 ; [.34D6.0020.0002.A1B6] # YI SYLLABLE HLYR
-A1B7 ; [.34D7.0020.0002.A1B7] # YI SYLLABLE LIT
-A1B8 ; [.34D8.0020.0002.A1B8] # YI SYLLABLE LIX
-A1B9 ; [.34D9.0020.0002.A1B9] # YI SYLLABLE LI
-A1BA ; [.34DA.0020.0002.A1BA] # YI SYLLABLE LIP
-A1BB ; [.34DB.0020.0002.A1BB] # YI SYLLABLE LIET
-A1BC ; [.34DC.0020.0002.A1BC] # YI SYLLABLE LIEX
-A1BD ; [.34DD.0020.0002.A1BD] # YI SYLLABLE LIE
-A1BE ; [.34DE.0020.0002.A1BE] # YI SYLLABLE LIEP
-A1BF ; [.34DF.0020.0002.A1BF] # YI SYLLABLE LAT
-A1C0 ; [.34E0.0020.0002.A1C0] # YI SYLLABLE LAX
-A1C1 ; [.34E1.0020.0002.A1C1] # YI SYLLABLE LA
-A1C2 ; [.34E2.0020.0002.A1C2] # YI SYLLABLE LAP
-A1C3 ; [.34E3.0020.0002.A1C3] # YI SYLLABLE LUOT
-A1C4 ; [.34E4.0020.0002.A1C4] # YI SYLLABLE LUOX
-A1C5 ; [.34E5.0020.0002.A1C5] # YI SYLLABLE LUO
-A1C6 ; [.34E6.0020.0002.A1C6] # YI SYLLABLE LUOP
-A1C7 ; [.34E7.0020.0002.A1C7] # YI SYLLABLE LOT
-A1C8 ; [.34E8.0020.0002.A1C8] # YI SYLLABLE LOX
-A1C9 ; [.34E9.0020.0002.A1C9] # YI SYLLABLE LO
-A1CA ; [.34EA.0020.0002.A1CA] # YI SYLLABLE LOP
-A1CB ; [.34EB.0020.0002.A1CB] # YI SYLLABLE LEX
-A1CC ; [.34EC.0020.0002.A1CC] # YI SYLLABLE LE
-A1CD ; [.34ED.0020.0002.A1CD] # YI SYLLABLE LEP
-A1CE ; [.34EE.0020.0002.A1CE] # YI SYLLABLE LUT
-A1CF ; [.34EF.0020.0002.A1CF] # YI SYLLABLE LUX
-A1D0 ; [.34F0.0020.0002.A1D0] # YI SYLLABLE LU
-A1D1 ; [.34F1.0020.0002.A1D1] # YI SYLLABLE LUP
-A1D2 ; [.34F2.0020.0002.A1D2] # YI SYLLABLE LURX
-A1D3 ; [.34F3.0020.0002.A1D3] # YI SYLLABLE LUR
-A1D4 ; [.34F4.0020.0002.A1D4] # YI SYLLABLE LYT
-A1D5 ; [.34F5.0020.0002.A1D5] # YI SYLLABLE LYX
-A1D6 ; [.34F6.0020.0002.A1D6] # YI SYLLABLE LY
-A1D7 ; [.34F7.0020.0002.A1D7] # YI SYLLABLE LYP
-A1D8 ; [.34F8.0020.0002.A1D8] # YI SYLLABLE LYRX
-A1D9 ; [.34F9.0020.0002.A1D9] # YI SYLLABLE LYR
-A1DA ; [.34FA.0020.0002.A1DA] # YI SYLLABLE GIT
-A1DB ; [.34FB.0020.0002.A1DB] # YI SYLLABLE GIX
-A1DC ; [.34FC.0020.0002.A1DC] # YI SYLLABLE GI
-A1DD ; [.34FD.0020.0002.A1DD] # YI SYLLABLE GIP
-A1DE ; [.34FE.0020.0002.A1DE] # YI SYLLABLE GIET
-A1DF ; [.34FF.0020.0002.A1DF] # YI SYLLABLE GIEX
-A1E0 ; [.3500.0020.0002.A1E0] # YI SYLLABLE GIE
-A1E1 ; [.3501.0020.0002.A1E1] # YI SYLLABLE GIEP
-A1E2 ; [.3502.0020.0002.A1E2] # YI SYLLABLE GAT
-A1E3 ; [.3503.0020.0002.A1E3] # YI SYLLABLE GAX
-A1E4 ; [.3504.0020.0002.A1E4] # YI SYLLABLE GA
-A1E5 ; [.3505.0020.0002.A1E5] # YI SYLLABLE GAP
-A1E6 ; [.3506.0020.0002.A1E6] # YI SYLLABLE GUOT
-A1E7 ; [.3507.0020.0002.A1E7] # YI SYLLABLE GUOX
-A1E8 ; [.3508.0020.0002.A1E8] # YI SYLLABLE GUO
-A1E9 ; [.3509.0020.0002.A1E9] # YI SYLLABLE GUOP
-A1EA ; [.350A.0020.0002.A1EA] # YI SYLLABLE GOT
-A1EB ; [.350B.0020.0002.A1EB] # YI SYLLABLE GOX
-A1EC ; [.350C.0020.0002.A1EC] # YI SYLLABLE GO
-A1ED ; [.350D.0020.0002.A1ED] # YI SYLLABLE GOP
-A1EE ; [.350E.0020.0002.A1EE] # YI SYLLABLE GET
-A1EF ; [.350F.0020.0002.A1EF] # YI SYLLABLE GEX
-A1F0 ; [.3510.0020.0002.A1F0] # YI SYLLABLE GE
-A1F1 ; [.3511.0020.0002.A1F1] # YI SYLLABLE GEP
-A1F2 ; [.3512.0020.0002.A1F2] # YI SYLLABLE GUT
-A1F3 ; [.3513.0020.0002.A1F3] # YI SYLLABLE GUX
-A1F4 ; [.3514.0020.0002.A1F4] # YI SYLLABLE GU
-A1F5 ; [.3515.0020.0002.A1F5] # YI SYLLABLE GUP
-A1F6 ; [.3516.0020.0002.A1F6] # YI SYLLABLE GURX
-A1F7 ; [.3517.0020.0002.A1F7] # YI SYLLABLE GUR
-A1F8 ; [.3518.0020.0002.A1F8] # YI SYLLABLE KIT
-A1F9 ; [.3519.0020.0002.A1F9] # YI SYLLABLE KIX
-A1FA ; [.351A.0020.0002.A1FA] # YI SYLLABLE KI
-A1FB ; [.351B.0020.0002.A1FB] # YI SYLLABLE KIP
-A1FC ; [.351C.0020.0002.A1FC] # YI SYLLABLE KIEX
-A1FD ; [.351D.0020.0002.A1FD] # YI SYLLABLE KIE
-A1FE ; [.351E.0020.0002.A1FE] # YI SYLLABLE KIEP
-A1FF ; [.351F.0020.0002.A1FF] # YI SYLLABLE KAT
-A200 ; [.3520.0020.0002.A200] # YI SYLLABLE KAX
-A201 ; [.3521.0020.0002.A201] # YI SYLLABLE KA
-A202 ; [.3522.0020.0002.A202] # YI SYLLABLE KAP
-A203 ; [.3523.0020.0002.A203] # YI SYLLABLE KUOX
-A204 ; [.3524.0020.0002.A204] # YI SYLLABLE KUO
-A205 ; [.3525.0020.0002.A205] # YI SYLLABLE KUOP
-A206 ; [.3526.0020.0002.A206] # YI SYLLABLE KOT
-A207 ; [.3527.0020.0002.A207] # YI SYLLABLE KOX
-A208 ; [.3528.0020.0002.A208] # YI SYLLABLE KO
-A209 ; [.3529.0020.0002.A209] # YI SYLLABLE KOP
-A20A ; [.352A.0020.0002.A20A] # YI SYLLABLE KET
-A20B ; [.352B.0020.0002.A20B] # YI SYLLABLE KEX
-A20C ; [.352C.0020.0002.A20C] # YI SYLLABLE KE
-A20D ; [.352D.0020.0002.A20D] # YI SYLLABLE KEP
-A20E ; [.352E.0020.0002.A20E] # YI SYLLABLE KUT
-A20F ; [.352F.0020.0002.A20F] # YI SYLLABLE KUX
-A210 ; [.3530.0020.0002.A210] # YI SYLLABLE KU
-A211 ; [.3531.0020.0002.A211] # YI SYLLABLE KUP
-A212 ; [.3532.0020.0002.A212] # YI SYLLABLE KURX
-A213 ; [.3533.0020.0002.A213] # YI SYLLABLE KUR
-A214 ; [.3534.0020.0002.A214] # YI SYLLABLE GGIT
-A215 ; [.3535.0020.0002.A215] # YI SYLLABLE GGIX
-A216 ; [.3536.0020.0002.A216] # YI SYLLABLE GGI
-A217 ; [.3537.0020.0002.A217] # YI SYLLABLE GGIEX
-A218 ; [.3538.0020.0002.A218] # YI SYLLABLE GGIE
-A219 ; [.3539.0020.0002.A219] # YI SYLLABLE GGIEP
-A21A ; [.353A.0020.0002.A21A] # YI SYLLABLE GGAT
-A21B ; [.353B.0020.0002.A21B] # YI SYLLABLE GGAX
-A21C ; [.353C.0020.0002.A21C] # YI SYLLABLE GGA
-A21D ; [.353D.0020.0002.A21D] # YI SYLLABLE GGAP
-A21E ; [.353E.0020.0002.A21E] # YI SYLLABLE GGUOT
-A21F ; [.353F.0020.0002.A21F] # YI SYLLABLE GGUOX
-A220 ; [.3540.0020.0002.A220] # YI SYLLABLE GGUO
-A221 ; [.3541.0020.0002.A221] # YI SYLLABLE GGUOP
-A222 ; [.3542.0020.0002.A222] # YI SYLLABLE GGOT
-A223 ; [.3543.0020.0002.A223] # YI SYLLABLE GGOX
-A224 ; [.3544.0020.0002.A224] # YI SYLLABLE GGO
-A225 ; [.3545.0020.0002.A225] # YI SYLLABLE GGOP
-A226 ; [.3546.0020.0002.A226] # YI SYLLABLE GGET
-A227 ; [.3547.0020.0002.A227] # YI SYLLABLE GGEX
-A228 ; [.3548.0020.0002.A228] # YI SYLLABLE GGE
-A229 ; [.3549.0020.0002.A229] # YI SYLLABLE GGEP
-A22A ; [.354A.0020.0002.A22A] # YI SYLLABLE GGUT
-A22B ; [.354B.0020.0002.A22B] # YI SYLLABLE GGUX
-A22C ; [.354C.0020.0002.A22C] # YI SYLLABLE GGU
-A22D ; [.354D.0020.0002.A22D] # YI SYLLABLE GGUP
-A22E ; [.354E.0020.0002.A22E] # YI SYLLABLE GGURX
-A22F ; [.354F.0020.0002.A22F] # YI SYLLABLE GGUR
-A230 ; [.3550.0020.0002.A230] # YI SYLLABLE MGIEX
-A231 ; [.3551.0020.0002.A231] # YI SYLLABLE MGIE
-A232 ; [.3552.0020.0002.A232] # YI SYLLABLE MGAT
-A233 ; [.3553.0020.0002.A233] # YI SYLLABLE MGAX
-A234 ; [.3554.0020.0002.A234] # YI SYLLABLE MGA
-A235 ; [.3555.0020.0002.A235] # YI SYLLABLE MGAP
-A236 ; [.3556.0020.0002.A236] # YI SYLLABLE MGUOX
-A237 ; [.3557.0020.0002.A237] # YI SYLLABLE MGUO
-A238 ; [.3558.0020.0002.A238] # YI SYLLABLE MGUOP
-A239 ; [.3559.0020.0002.A239] # YI SYLLABLE MGOT
-A23A ; [.355A.0020.0002.A23A] # YI SYLLABLE MGOX
-A23B ; [.355B.0020.0002.A23B] # YI SYLLABLE MGO
-A23C ; [.355C.0020.0002.A23C] # YI SYLLABLE MGOP
-A23D ; [.355D.0020.0002.A23D] # YI SYLLABLE MGEX
-A23E ; [.355E.0020.0002.A23E] # YI SYLLABLE MGE
-A23F ; [.355F.0020.0002.A23F] # YI SYLLABLE MGEP
-A240 ; [.3560.0020.0002.A240] # YI SYLLABLE MGUT
-A241 ; [.3561.0020.0002.A241] # YI SYLLABLE MGUX
-A242 ; [.3562.0020.0002.A242] # YI SYLLABLE MGU
-A243 ; [.3563.0020.0002.A243] # YI SYLLABLE MGUP
-A244 ; [.3564.0020.0002.A244] # YI SYLLABLE MGURX
-A245 ; [.3565.0020.0002.A245] # YI SYLLABLE MGUR
-A246 ; [.3566.0020.0002.A246] # YI SYLLABLE HXIT
-A247 ; [.3567.0020.0002.A247] # YI SYLLABLE HXIX
-A248 ; [.3568.0020.0002.A248] # YI SYLLABLE HXI
-A249 ; [.3569.0020.0002.A249] # YI SYLLABLE HXIP
-A24A ; [.356A.0020.0002.A24A] # YI SYLLABLE HXIET
-A24B ; [.356B.0020.0002.A24B] # YI SYLLABLE HXIEX
-A24C ; [.356C.0020.0002.A24C] # YI SYLLABLE HXIE
-A24D ; [.356D.0020.0002.A24D] # YI SYLLABLE HXIEP
-A24E ; [.356E.0020.0002.A24E] # YI SYLLABLE HXAT
-A24F ; [.356F.0020.0002.A24F] # YI SYLLABLE HXAX
-A250 ; [.3570.0020.0002.A250] # YI SYLLABLE HXA
-A251 ; [.3571.0020.0002.A251] # YI SYLLABLE HXAP
-A252 ; [.3572.0020.0002.A252] # YI SYLLABLE HXUOT
-A253 ; [.3573.0020.0002.A253] # YI SYLLABLE HXUOX
-A254 ; [.3574.0020.0002.A254] # YI SYLLABLE HXUO
-A255 ; [.3575.0020.0002.A255] # YI SYLLABLE HXUOP
-A256 ; [.3576.0020.0002.A256] # YI SYLLABLE HXOT
-A257 ; [.3577.0020.0002.A257] # YI SYLLABLE HXOX
-A258 ; [.3578.0020.0002.A258] # YI SYLLABLE HXO
-A259 ; [.3579.0020.0002.A259] # YI SYLLABLE HXOP
-A25A ; [.357A.0020.0002.A25A] # YI SYLLABLE HXEX
-A25B ; [.357B.0020.0002.A25B] # YI SYLLABLE HXE
-A25C ; [.357C.0020.0002.A25C] # YI SYLLABLE HXEP
-A25D ; [.357D.0020.0002.A25D] # YI SYLLABLE NGIEX
-A25E ; [.357E.0020.0002.A25E] # YI SYLLABLE NGIE
-A25F ; [.357F.0020.0002.A25F] # YI SYLLABLE NGIEP
-A260 ; [.3580.0020.0002.A260] # YI SYLLABLE NGAT
-A261 ; [.3581.0020.0002.A261] # YI SYLLABLE NGAX
-A262 ; [.3582.0020.0002.A262] # YI SYLLABLE NGA
-A263 ; [.3583.0020.0002.A263] # YI SYLLABLE NGAP
-A264 ; [.3584.0020.0002.A264] # YI SYLLABLE NGUOT
-A265 ; [.3585.0020.0002.A265] # YI SYLLABLE NGUOX
-A266 ; [.3586.0020.0002.A266] # YI SYLLABLE NGUO
-A267 ; [.3587.0020.0002.A267] # YI SYLLABLE NGOT
-A268 ; [.3588.0020.0002.A268] # YI SYLLABLE NGOX
-A269 ; [.3589.0020.0002.A269] # YI SYLLABLE NGO
-A26A ; [.358A.0020.0002.A26A] # YI SYLLABLE NGOP
-A26B ; [.358B.0020.0002.A26B] # YI SYLLABLE NGEX
-A26C ; [.358C.0020.0002.A26C] # YI SYLLABLE NGE
-A26D ; [.358D.0020.0002.A26D] # YI SYLLABLE NGEP
-A26E ; [.358E.0020.0002.A26E] # YI SYLLABLE HIT
-A26F ; [.358F.0020.0002.A26F] # YI SYLLABLE HIEX
-A270 ; [.3590.0020.0002.A270] # YI SYLLABLE HIE
-A271 ; [.3591.0020.0002.A271] # YI SYLLABLE HAT
-A272 ; [.3592.0020.0002.A272] # YI SYLLABLE HAX
-A273 ; [.3593.0020.0002.A273] # YI SYLLABLE HA
-A274 ; [.3594.0020.0002.A274] # YI SYLLABLE HAP
-A275 ; [.3595.0020.0002.A275] # YI SYLLABLE HUOT
-A276 ; [.3596.0020.0002.A276] # YI SYLLABLE HUOX
-A277 ; [.3597.0020.0002.A277] # YI SYLLABLE HUO
-A278 ; [.3598.0020.0002.A278] # YI SYLLABLE HUOP
-A279 ; [.3599.0020.0002.A279] # YI SYLLABLE HOT
-A27A ; [.359A.0020.0002.A27A] # YI SYLLABLE HOX
-A27B ; [.359B.0020.0002.A27B] # YI SYLLABLE HO
-A27C ; [.359C.0020.0002.A27C] # YI SYLLABLE HOP
-A27D ; [.359D.0020.0002.A27D] # YI SYLLABLE HEX
-A27E ; [.359E.0020.0002.A27E] # YI SYLLABLE HE
-A27F ; [.359F.0020.0002.A27F] # YI SYLLABLE HEP
-A280 ; [.35A0.0020.0002.A280] # YI SYLLABLE WAT
-A281 ; [.35A1.0020.0002.A281] # YI SYLLABLE WAX
-A282 ; [.35A2.0020.0002.A282] # YI SYLLABLE WA
-A283 ; [.35A3.0020.0002.A283] # YI SYLLABLE WAP
-A284 ; [.35A4.0020.0002.A284] # YI SYLLABLE WUOX
-A285 ; [.35A5.0020.0002.A285] # YI SYLLABLE WUO
-A286 ; [.35A6.0020.0002.A286] # YI SYLLABLE WUOP
-A287 ; [.35A7.0020.0002.A287] # YI SYLLABLE WOX
-A288 ; [.35A8.0020.0002.A288] # YI SYLLABLE WO
-A289 ; [.35A9.0020.0002.A289] # YI SYLLABLE WOP
-A28A ; [.35AA.0020.0002.A28A] # YI SYLLABLE WEX
-A28B ; [.35AB.0020.0002.A28B] # YI SYLLABLE WE
-A28C ; [.35AC.0020.0002.A28C] # YI SYLLABLE WEP
-A28D ; [.35AD.0020.0002.A28D] # YI SYLLABLE ZIT
-A28E ; [.35AE.0020.0002.A28E] # YI SYLLABLE ZIX
-A28F ; [.35AF.0020.0002.A28F] # YI SYLLABLE ZI
-A290 ; [.35B0.0020.0002.A290] # YI SYLLABLE ZIP
-A291 ; [.35B1.0020.0002.A291] # YI SYLLABLE ZIEX
-A292 ; [.35B2.0020.0002.A292] # YI SYLLABLE ZIE
-A293 ; [.35B3.0020.0002.A293] # YI SYLLABLE ZIEP
-A294 ; [.35B4.0020.0002.A294] # YI SYLLABLE ZAT
-A295 ; [.35B5.0020.0002.A295] # YI SYLLABLE ZAX
-A296 ; [.35B6.0020.0002.A296] # YI SYLLABLE ZA
-A297 ; [.35B7.0020.0002.A297] # YI SYLLABLE ZAP
-A298 ; [.35B8.0020.0002.A298] # YI SYLLABLE ZUOX
-A299 ; [.35B9.0020.0002.A299] # YI SYLLABLE ZUO
-A29A ; [.35BA.0020.0002.A29A] # YI SYLLABLE ZUOP
-A29B ; [.35BB.0020.0002.A29B] # YI SYLLABLE ZOT
-A29C ; [.35BC.0020.0002.A29C] # YI SYLLABLE ZOX
-A29D ; [.35BD.0020.0002.A29D] # YI SYLLABLE ZO
-A29E ; [.35BE.0020.0002.A29E] # YI SYLLABLE ZOP
-A29F ; [.35BF.0020.0002.A29F] # YI SYLLABLE ZEX
-A2A0 ; [.35C0.0020.0002.A2A0] # YI SYLLABLE ZE
-A2A1 ; [.35C1.0020.0002.A2A1] # YI SYLLABLE ZEP
-A2A2 ; [.35C2.0020.0002.A2A2] # YI SYLLABLE ZUT
-A2A3 ; [.35C3.0020.0002.A2A3] # YI SYLLABLE ZUX
-A2A4 ; [.35C4.0020.0002.A2A4] # YI SYLLABLE ZU
-A2A5 ; [.35C5.0020.0002.A2A5] # YI SYLLABLE ZUP
-A2A6 ; [.35C6.0020.0002.A2A6] # YI SYLLABLE ZURX
-A2A7 ; [.35C7.0020.0002.A2A7] # YI SYLLABLE ZUR
-A2A8 ; [.35C8.0020.0002.A2A8] # YI SYLLABLE ZYT
-A2A9 ; [.35C9.0020.0002.A2A9] # YI SYLLABLE ZYX
-A2AA ; [.35CA.0020.0002.A2AA] # YI SYLLABLE ZY
-A2AB ; [.35CB.0020.0002.A2AB] # YI SYLLABLE ZYP
-A2AC ; [.35CC.0020.0002.A2AC] # YI SYLLABLE ZYRX
-A2AD ; [.35CD.0020.0002.A2AD] # YI SYLLABLE ZYR
-A2AE ; [.35CE.0020.0002.A2AE] # YI SYLLABLE CIT
-A2AF ; [.35CF.0020.0002.A2AF] # YI SYLLABLE CIX
-A2B0 ; [.35D0.0020.0002.A2B0] # YI SYLLABLE CI
-A2B1 ; [.35D1.0020.0002.A2B1] # YI SYLLABLE CIP
-A2B2 ; [.35D2.0020.0002.A2B2] # YI SYLLABLE CIET
-A2B3 ; [.35D3.0020.0002.A2B3] # YI SYLLABLE CIEX
-A2B4 ; [.35D4.0020.0002.A2B4] # YI SYLLABLE CIE
-A2B5 ; [.35D5.0020.0002.A2B5] # YI SYLLABLE CIEP
-A2B6 ; [.35D6.0020.0002.A2B6] # YI SYLLABLE CAT
-A2B7 ; [.35D7.0020.0002.A2B7] # YI SYLLABLE CAX
-A2B8 ; [.35D8.0020.0002.A2B8] # YI SYLLABLE CA
-A2B9 ; [.35D9.0020.0002.A2B9] # YI SYLLABLE CAP
-A2BA ; [.35DA.0020.0002.A2BA] # YI SYLLABLE CUOX
-A2BB ; [.35DB.0020.0002.A2BB] # YI SYLLABLE CUO
-A2BC ; [.35DC.0020.0002.A2BC] # YI SYLLABLE CUOP
-A2BD ; [.35DD.0020.0002.A2BD] # YI SYLLABLE COT
-A2BE ; [.35DE.0020.0002.A2BE] # YI SYLLABLE COX
-A2BF ; [.35DF.0020.0002.A2BF] # YI SYLLABLE CO
-A2C0 ; [.35E0.0020.0002.A2C0] # YI SYLLABLE COP
-A2C1 ; [.35E1.0020.0002.A2C1] # YI SYLLABLE CEX
-A2C2 ; [.35E2.0020.0002.A2C2] # YI SYLLABLE CE
-A2C3 ; [.35E3.0020.0002.A2C3] # YI SYLLABLE CEP
-A2C4 ; [.35E4.0020.0002.A2C4] # YI SYLLABLE CUT
-A2C5 ; [.35E5.0020.0002.A2C5] # YI SYLLABLE CUX
-A2C6 ; [.35E6.0020.0002.A2C6] # YI SYLLABLE CU
-A2C7 ; [.35E7.0020.0002.A2C7] # YI SYLLABLE CUP
-A2C8 ; [.35E8.0020.0002.A2C8] # YI SYLLABLE CURX
-A2C9 ; [.35E9.0020.0002.A2C9] # YI SYLLABLE CUR
-A2CA ; [.35EA.0020.0002.A2CA] # YI SYLLABLE CYT
-A2CB ; [.35EB.0020.0002.A2CB] # YI SYLLABLE CYX
-A2CC ; [.35EC.0020.0002.A2CC] # YI SYLLABLE CY
-A2CD ; [.35ED.0020.0002.A2CD] # YI SYLLABLE CYP
-A2CE ; [.35EE.0020.0002.A2CE] # YI SYLLABLE CYRX
-A2CF ; [.35EF.0020.0002.A2CF] # YI SYLLABLE CYR
-A2D0 ; [.35F0.0020.0002.A2D0] # YI SYLLABLE ZZIT
-A2D1 ; [.35F1.0020.0002.A2D1] # YI SYLLABLE ZZIX
-A2D2 ; [.35F2.0020.0002.A2D2] # YI SYLLABLE ZZI
-A2D3 ; [.35F3.0020.0002.A2D3] # YI SYLLABLE ZZIP
-A2D4 ; [.35F4.0020.0002.A2D4] # YI SYLLABLE ZZIET
-A2D5 ; [.35F5.0020.0002.A2D5] # YI SYLLABLE ZZIEX
-A2D6 ; [.35F6.0020.0002.A2D6] # YI SYLLABLE ZZIE
-A2D7 ; [.35F7.0020.0002.A2D7] # YI SYLLABLE ZZIEP
-A2D8 ; [.35F8.0020.0002.A2D8] # YI SYLLABLE ZZAT
-A2D9 ; [.35F9.0020.0002.A2D9] # YI SYLLABLE ZZAX
-A2DA ; [.35FA.0020.0002.A2DA] # YI SYLLABLE ZZA
-A2DB ; [.35FB.0020.0002.A2DB] # YI SYLLABLE ZZAP
-A2DC ; [.35FC.0020.0002.A2DC] # YI SYLLABLE ZZOX
-A2DD ; [.35FD.0020.0002.A2DD] # YI SYLLABLE ZZO
-A2DE ; [.35FE.0020.0002.A2DE] # YI SYLLABLE ZZOP
-A2DF ; [.35FF.0020.0002.A2DF] # YI SYLLABLE ZZEX
-A2E0 ; [.3600.0020.0002.A2E0] # YI SYLLABLE ZZE
-A2E1 ; [.3601.0020.0002.A2E1] # YI SYLLABLE ZZEP
-A2E2 ; [.3602.0020.0002.A2E2] # YI SYLLABLE ZZUX
-A2E3 ; [.3603.0020.0002.A2E3] # YI SYLLABLE ZZU
-A2E4 ; [.3604.0020.0002.A2E4] # YI SYLLABLE ZZUP
-A2E5 ; [.3605.0020.0002.A2E5] # YI SYLLABLE ZZURX
-A2E6 ; [.3606.0020.0002.A2E6] # YI SYLLABLE ZZUR
-A2E7 ; [.3607.0020.0002.A2E7] # YI SYLLABLE ZZYT
-A2E8 ; [.3608.0020.0002.A2E8] # YI SYLLABLE ZZYX
-A2E9 ; [.3609.0020.0002.A2E9] # YI SYLLABLE ZZY
-A2EA ; [.360A.0020.0002.A2EA] # YI SYLLABLE ZZYP
-A2EB ; [.360B.0020.0002.A2EB] # YI SYLLABLE ZZYRX
-A2EC ; [.360C.0020.0002.A2EC] # YI SYLLABLE ZZYR
-A2ED ; [.360D.0020.0002.A2ED] # YI SYLLABLE NZIT
-A2EE ; [.360E.0020.0002.A2EE] # YI SYLLABLE NZIX
-A2EF ; [.360F.0020.0002.A2EF] # YI SYLLABLE NZI
-A2F0 ; [.3610.0020.0002.A2F0] # YI SYLLABLE NZIP
-A2F1 ; [.3611.0020.0002.A2F1] # YI SYLLABLE NZIEX
-A2F2 ; [.3612.0020.0002.A2F2] # YI SYLLABLE NZIE
-A2F3 ; [.3613.0020.0002.A2F3] # YI SYLLABLE NZIEP
-A2F4 ; [.3614.0020.0002.A2F4] # YI SYLLABLE NZAT
-A2F5 ; [.3615.0020.0002.A2F5] # YI SYLLABLE NZAX
-A2F6 ; [.3616.0020.0002.A2F6] # YI SYLLABLE NZA
-A2F7 ; [.3617.0020.0002.A2F7] # YI SYLLABLE NZAP
-A2F8 ; [.3618.0020.0002.A2F8] # YI SYLLABLE NZUOX
-A2F9 ; [.3619.0020.0002.A2F9] # YI SYLLABLE NZUO
-A2FA ; [.361A.0020.0002.A2FA] # YI SYLLABLE NZOX
-A2FB ; [.361B.0020.0002.A2FB] # YI SYLLABLE NZOP
-A2FC ; [.361C.0020.0002.A2FC] # YI SYLLABLE NZEX
-A2FD ; [.361D.0020.0002.A2FD] # YI SYLLABLE NZE
-A2FE ; [.361E.0020.0002.A2FE] # YI SYLLABLE NZUX
-A2FF ; [.361F.0020.0002.A2FF] # YI SYLLABLE NZU
-A300 ; [.3620.0020.0002.A300] # YI SYLLABLE NZUP
-A301 ; [.3621.0020.0002.A301] # YI SYLLABLE NZURX
-A302 ; [.3622.0020.0002.A302] # YI SYLLABLE NZUR
-A303 ; [.3623.0020.0002.A303] # YI SYLLABLE NZYT
-A304 ; [.3624.0020.0002.A304] # YI SYLLABLE NZYX
-A305 ; [.3625.0020.0002.A305] # YI SYLLABLE NZY
-A306 ; [.3626.0020.0002.A306] # YI SYLLABLE NZYP
-A307 ; [.3627.0020.0002.A307] # YI SYLLABLE NZYRX
-A308 ; [.3628.0020.0002.A308] # YI SYLLABLE NZYR
-A309 ; [.3629.0020.0002.A309] # YI SYLLABLE SIT
-A30A ; [.362A.0020.0002.A30A] # YI SYLLABLE SIX
-A30B ; [.362B.0020.0002.A30B] # YI SYLLABLE SI
-A30C ; [.362C.0020.0002.A30C] # YI SYLLABLE SIP
-A30D ; [.362D.0020.0002.A30D] # YI SYLLABLE SIEX
-A30E ; [.362E.0020.0002.A30E] # YI SYLLABLE SIE
-A30F ; [.362F.0020.0002.A30F] # YI SYLLABLE SIEP
-A310 ; [.3630.0020.0002.A310] # YI SYLLABLE SAT
-A311 ; [.3631.0020.0002.A311] # YI SYLLABLE SAX
-A312 ; [.3632.0020.0002.A312] # YI SYLLABLE SA
-A313 ; [.3633.0020.0002.A313] # YI SYLLABLE SAP
-A314 ; [.3634.0020.0002.A314] # YI SYLLABLE SUOX
-A315 ; [.3635.0020.0002.A315] # YI SYLLABLE SUO
-A316 ; [.3636.0020.0002.A316] # YI SYLLABLE SUOP
-A317 ; [.3637.0020.0002.A317] # YI SYLLABLE SOT
-A318 ; [.3638.0020.0002.A318] # YI SYLLABLE SOX
-A319 ; [.3639.0020.0002.A319] # YI SYLLABLE SO
-A31A ; [.363A.0020.0002.A31A] # YI SYLLABLE SOP
-A31B ; [.363B.0020.0002.A31B] # YI SYLLABLE SEX
-A31C ; [.363C.0020.0002.A31C] # YI SYLLABLE SE
-A31D ; [.363D.0020.0002.A31D] # YI SYLLABLE SEP
-A31E ; [.363E.0020.0002.A31E] # YI SYLLABLE SUT
-A31F ; [.363F.0020.0002.A31F] # YI SYLLABLE SUX
-A320 ; [.3640.0020.0002.A320] # YI SYLLABLE SU
-A321 ; [.3641.0020.0002.A321] # YI SYLLABLE SUP
-A322 ; [.3642.0020.0002.A322] # YI SYLLABLE SURX
-A323 ; [.3643.0020.0002.A323] # YI SYLLABLE SUR
-A324 ; [.3644.0020.0002.A324] # YI SYLLABLE SYT
-A325 ; [.3645.0020.0002.A325] # YI SYLLABLE SYX
-A326 ; [.3646.0020.0002.A326] # YI SYLLABLE SY
-A327 ; [.3647.0020.0002.A327] # YI SYLLABLE SYP
-A328 ; [.3648.0020.0002.A328] # YI SYLLABLE SYRX
-A329 ; [.3649.0020.0002.A329] # YI SYLLABLE SYR
-A32A ; [.364A.0020.0002.A32A] # YI SYLLABLE SSIT
-A32B ; [.364B.0020.0002.A32B] # YI SYLLABLE SSIX
-A32C ; [.364C.0020.0002.A32C] # YI SYLLABLE SSI
-A32D ; [.364D.0020.0002.A32D] # YI SYLLABLE SSIP
-A32E ; [.364E.0020.0002.A32E] # YI SYLLABLE SSIEX
-A32F ; [.364F.0020.0002.A32F] # YI SYLLABLE SSIE
-A330 ; [.3650.0020.0002.A330] # YI SYLLABLE SSIEP
-A331 ; [.3651.0020.0002.A331] # YI SYLLABLE SSAT
-A332 ; [.3652.0020.0002.A332] # YI SYLLABLE SSAX
-A333 ; [.3653.0020.0002.A333] # YI SYLLABLE SSA
-A334 ; [.3654.0020.0002.A334] # YI SYLLABLE SSAP
-A335 ; [.3655.0020.0002.A335] # YI SYLLABLE SSOT
-A336 ; [.3656.0020.0002.A336] # YI SYLLABLE SSOX
-A337 ; [.3657.0020.0002.A337] # YI SYLLABLE SSO
-A338 ; [.3658.0020.0002.A338] # YI SYLLABLE SSOP
-A339 ; [.3659.0020.0002.A339] # YI SYLLABLE SSEX
-A33A ; [.365A.0020.0002.A33A] # YI SYLLABLE SSE
-A33B ; [.365B.0020.0002.A33B] # YI SYLLABLE SSEP
-A33C ; [.365C.0020.0002.A33C] # YI SYLLABLE SSUT
-A33D ; [.365D.0020.0002.A33D] # YI SYLLABLE SSUX
-A33E ; [.365E.0020.0002.A33E] # YI SYLLABLE SSU
-A33F ; [.365F.0020.0002.A33F] # YI SYLLABLE SSUP
-A340 ; [.3660.0020.0002.A340] # YI SYLLABLE SSYT
-A341 ; [.3661.0020.0002.A341] # YI SYLLABLE SSYX
-A342 ; [.3662.0020.0002.A342] # YI SYLLABLE SSY
-A343 ; [.3663.0020.0002.A343] # YI SYLLABLE SSYP
-A344 ; [.3664.0020.0002.A344] # YI SYLLABLE SSYRX
-A345 ; [.3665.0020.0002.A345] # YI SYLLABLE SSYR
-A346 ; [.3666.0020.0002.A346] # YI SYLLABLE ZHAT
-A347 ; [.3667.0020.0002.A347] # YI SYLLABLE ZHAX
-A348 ; [.3668.0020.0002.A348] # YI SYLLABLE ZHA
-A349 ; [.3669.0020.0002.A349] # YI SYLLABLE ZHAP
-A34A ; [.366A.0020.0002.A34A] # YI SYLLABLE ZHUOX
-A34B ; [.366B.0020.0002.A34B] # YI SYLLABLE ZHUO
-A34C ; [.366C.0020.0002.A34C] # YI SYLLABLE ZHUOP
-A34D ; [.366D.0020.0002.A34D] # YI SYLLABLE ZHOT
-A34E ; [.366E.0020.0002.A34E] # YI SYLLABLE ZHOX
-A34F ; [.366F.0020.0002.A34F] # YI SYLLABLE ZHO
-A350 ; [.3670.0020.0002.A350] # YI SYLLABLE ZHOP
-A351 ; [.3671.0020.0002.A351] # YI SYLLABLE ZHET
-A352 ; [.3672.0020.0002.A352] # YI SYLLABLE ZHEX
-A353 ; [.3673.0020.0002.A353] # YI SYLLABLE ZHE
-A354 ; [.3674.0020.0002.A354] # YI SYLLABLE ZHEP
-A355 ; [.3675.0020.0002.A355] # YI SYLLABLE ZHUT
-A356 ; [.3676.0020.0002.A356] # YI SYLLABLE ZHUX
-A357 ; [.3677.0020.0002.A357] # YI SYLLABLE ZHU
-A358 ; [.3678.0020.0002.A358] # YI SYLLABLE ZHUP
-A359 ; [.3679.0020.0002.A359] # YI SYLLABLE ZHURX
-A35A ; [.367A.0020.0002.A35A] # YI SYLLABLE ZHUR
-A35B ; [.367B.0020.0002.A35B] # YI SYLLABLE ZHYT
-A35C ; [.367C.0020.0002.A35C] # YI SYLLABLE ZHYX
-A35D ; [.367D.0020.0002.A35D] # YI SYLLABLE ZHY
-A35E ; [.367E.0020.0002.A35E] # YI SYLLABLE ZHYP
-A35F ; [.367F.0020.0002.A35F] # YI SYLLABLE ZHYRX
-A360 ; [.3680.0020.0002.A360] # YI SYLLABLE ZHYR
-A361 ; [.3681.0020.0002.A361] # YI SYLLABLE CHAT
-A362 ; [.3682.0020.0002.A362] # YI SYLLABLE CHAX
-A363 ; [.3683.0020.0002.A363] # YI SYLLABLE CHA
-A364 ; [.3684.0020.0002.A364] # YI SYLLABLE CHAP
-A365 ; [.3685.0020.0002.A365] # YI SYLLABLE CHUOT
-A366 ; [.3686.0020.0002.A366] # YI SYLLABLE CHUOX
-A367 ; [.3687.0020.0002.A367] # YI SYLLABLE CHUO
-A368 ; [.3688.0020.0002.A368] # YI SYLLABLE CHUOP
-A369 ; [.3689.0020.0002.A369] # YI SYLLABLE CHOT
-A36A ; [.368A.0020.0002.A36A] # YI SYLLABLE CHOX
-A36B ; [.368B.0020.0002.A36B] # YI SYLLABLE CHO
-A36C ; [.368C.0020.0002.A36C] # YI SYLLABLE CHOP
-A36D ; [.368D.0020.0002.A36D] # YI SYLLABLE CHET
-A36E ; [.368E.0020.0002.A36E] # YI SYLLABLE CHEX
-A36F ; [.368F.0020.0002.A36F] # YI SYLLABLE CHE
-A370 ; [.3690.0020.0002.A370] # YI SYLLABLE CHEP
-A371 ; [.3691.0020.0002.A371] # YI SYLLABLE CHUX
-A372 ; [.3692.0020.0002.A372] # YI SYLLABLE CHU
-A373 ; [.3693.0020.0002.A373] # YI SYLLABLE CHUP
-A374 ; [.3694.0020.0002.A374] # YI SYLLABLE CHURX
-A375 ; [.3695.0020.0002.A375] # YI SYLLABLE CHUR
-A376 ; [.3696.0020.0002.A376] # YI SYLLABLE CHYT
-A377 ; [.3697.0020.0002.A377] # YI SYLLABLE CHYX
-A378 ; [.3698.0020.0002.A378] # YI SYLLABLE CHY
-A379 ; [.3699.0020.0002.A379] # YI SYLLABLE CHYP
-A37A ; [.369A.0020.0002.A37A] # YI SYLLABLE CHYRX
-A37B ; [.369B.0020.0002.A37B] # YI SYLLABLE CHYR
-A37C ; [.369C.0020.0002.A37C] # YI SYLLABLE RRAX
-A37D ; [.369D.0020.0002.A37D] # YI SYLLABLE RRA
-A37E ; [.369E.0020.0002.A37E] # YI SYLLABLE RRUOX
-A37F ; [.369F.0020.0002.A37F] # YI SYLLABLE RRUO
-A380 ; [.36A0.0020.0002.A380] # YI SYLLABLE RROT
-A381 ; [.36A1.0020.0002.A381] # YI SYLLABLE RROX
-A382 ; [.36A2.0020.0002.A382] # YI SYLLABLE RRO
-A383 ; [.36A3.0020.0002.A383] # YI SYLLABLE RROP
-A384 ; [.36A4.0020.0002.A384] # YI SYLLABLE RRET
-A385 ; [.36A5.0020.0002.A385] # YI SYLLABLE RREX
-A386 ; [.36A6.0020.0002.A386] # YI SYLLABLE RRE
-A387 ; [.36A7.0020.0002.A387] # YI SYLLABLE RREP
-A388 ; [.36A8.0020.0002.A388] # YI SYLLABLE RRUT
-A389 ; [.36A9.0020.0002.A389] # YI SYLLABLE RRUX
-A38A ; [.36AA.0020.0002.A38A] # YI SYLLABLE RRU
-A38B ; [.36AB.0020.0002.A38B] # YI SYLLABLE RRUP
-A38C ; [.36AC.0020.0002.A38C] # YI SYLLABLE RRURX
-A38D ; [.36AD.0020.0002.A38D] # YI SYLLABLE RRUR
-A38E ; [.36AE.0020.0002.A38E] # YI SYLLABLE RRYT
-A38F ; [.36AF.0020.0002.A38F] # YI SYLLABLE RRYX
-A390 ; [.36B0.0020.0002.A390] # YI SYLLABLE RRY
-A391 ; [.36B1.0020.0002.A391] # YI SYLLABLE RRYP
-A392 ; [.36B2.0020.0002.A392] # YI SYLLABLE RRYRX
-A393 ; [.36B3.0020.0002.A393] # YI SYLLABLE RRYR
-A394 ; [.36B4.0020.0002.A394] # YI SYLLABLE NRAT
-A395 ; [.36B5.0020.0002.A395] # YI SYLLABLE NRAX
-A396 ; [.36B6.0020.0002.A396] # YI SYLLABLE NRA
-A397 ; [.36B7.0020.0002.A397] # YI SYLLABLE NRAP
-A398 ; [.36B8.0020.0002.A398] # YI SYLLABLE NROX
-A399 ; [.36B9.0020.0002.A399] # YI SYLLABLE NRO
-A39A ; [.36BA.0020.0002.A39A] # YI SYLLABLE NROP
-A39B ; [.36BB.0020.0002.A39B] # YI SYLLABLE NRET
-A39C ; [.36BC.0020.0002.A39C] # YI SYLLABLE NREX
-A39D ; [.36BD.0020.0002.A39D] # YI SYLLABLE NRE
-A39E ; [.36BE.0020.0002.A39E] # YI SYLLABLE NREP
-A39F ; [.36BF.0020.0002.A39F] # YI SYLLABLE NRUT
-A3A0 ; [.36C0.0020.0002.A3A0] # YI SYLLABLE NRUX
-A3A1 ; [.36C1.0020.0002.A3A1] # YI SYLLABLE NRU
-A3A2 ; [.36C2.0020.0002.A3A2] # YI SYLLABLE NRUP
-A3A3 ; [.36C3.0020.0002.A3A3] # YI SYLLABLE NRURX
-A3A4 ; [.36C4.0020.0002.A3A4] # YI SYLLABLE NRUR
-A3A5 ; [.36C5.0020.0002.A3A5] # YI SYLLABLE NRYT
-A3A6 ; [.36C6.0020.0002.A3A6] # YI SYLLABLE NRYX
-A3A7 ; [.36C7.0020.0002.A3A7] # YI SYLLABLE NRY
-A3A8 ; [.36C8.0020.0002.A3A8] # YI SYLLABLE NRYP
-A3A9 ; [.36C9.0020.0002.A3A9] # YI SYLLABLE NRYRX
-A3AA ; [.36CA.0020.0002.A3AA] # YI SYLLABLE NRYR
-A3AB ; [.36CB.0020.0002.A3AB] # YI SYLLABLE SHAT
-A3AC ; [.36CC.0020.0002.A3AC] # YI SYLLABLE SHAX
-A3AD ; [.36CD.0020.0002.A3AD] # YI SYLLABLE SHA
-A3AE ; [.36CE.0020.0002.A3AE] # YI SYLLABLE SHAP
-A3AF ; [.36CF.0020.0002.A3AF] # YI SYLLABLE SHUOX
-A3B0 ; [.36D0.0020.0002.A3B0] # YI SYLLABLE SHUO
-A3B1 ; [.36D1.0020.0002.A3B1] # YI SYLLABLE SHUOP
-A3B2 ; [.36D2.0020.0002.A3B2] # YI SYLLABLE SHOT
-A3B3 ; [.36D3.0020.0002.A3B3] # YI SYLLABLE SHOX
-A3B4 ; [.36D4.0020.0002.A3B4] # YI SYLLABLE SHO
-A3B5 ; [.36D5.0020.0002.A3B5] # YI SYLLABLE SHOP
-A3B6 ; [.36D6.0020.0002.A3B6] # YI SYLLABLE SHET
-A3B7 ; [.36D7.0020.0002.A3B7] # YI SYLLABLE SHEX
-A3B8 ; [.36D8.0020.0002.A3B8] # YI SYLLABLE SHE
-A3B9 ; [.36D9.0020.0002.A3B9] # YI SYLLABLE SHEP
-A3BA ; [.36DA.0020.0002.A3BA] # YI SYLLABLE SHUT
-A3BB ; [.36DB.0020.0002.A3BB] # YI SYLLABLE SHUX
-A3BC ; [.36DC.0020.0002.A3BC] # YI SYLLABLE SHU
-A3BD ; [.36DD.0020.0002.A3BD] # YI SYLLABLE SHUP
-A3BE ; [.36DE.0020.0002.A3BE] # YI SYLLABLE SHURX
-A3BF ; [.36DF.0020.0002.A3BF] # YI SYLLABLE SHUR
-A3C0 ; [.36E0.0020.0002.A3C0] # YI SYLLABLE SHYT
-A3C1 ; [.36E1.0020.0002.A3C1] # YI SYLLABLE SHYX
-A3C2 ; [.36E2.0020.0002.A3C2] # YI SYLLABLE SHY
-A3C3 ; [.36E3.0020.0002.A3C3] # YI SYLLABLE SHYP
-A3C4 ; [.36E4.0020.0002.A3C4] # YI SYLLABLE SHYRX
-A3C5 ; [.36E5.0020.0002.A3C5] # YI SYLLABLE SHYR
-A3C6 ; [.36E6.0020.0002.A3C6] # YI SYLLABLE RAT
-A3C7 ; [.36E7.0020.0002.A3C7] # YI SYLLABLE RAX
-A3C8 ; [.36E8.0020.0002.A3C8] # YI SYLLABLE RA
-A3C9 ; [.36E9.0020.0002.A3C9] # YI SYLLABLE RAP
-A3CA ; [.36EA.0020.0002.A3CA] # YI SYLLABLE RUOX
-A3CB ; [.36EB.0020.0002.A3CB] # YI SYLLABLE RUO
-A3CC ; [.36EC.0020.0002.A3CC] # YI SYLLABLE RUOP
-A3CD ; [.36ED.0020.0002.A3CD] # YI SYLLABLE ROT
-A3CE ; [.36EE.0020.0002.A3CE] # YI SYLLABLE ROX
-A3CF ; [.36EF.0020.0002.A3CF] # YI SYLLABLE RO
-A3D0 ; [.36F0.0020.0002.A3D0] # YI SYLLABLE ROP
-A3D1 ; [.36F1.0020.0002.A3D1] # YI SYLLABLE REX
-A3D2 ; [.36F2.0020.0002.A3D2] # YI SYLLABLE RE
-A3D3 ; [.36F3.0020.0002.A3D3] # YI SYLLABLE REP
-A3D4 ; [.36F4.0020.0002.A3D4] # YI SYLLABLE RUT
-A3D5 ; [.36F5.0020.0002.A3D5] # YI SYLLABLE RUX
-A3D6 ; [.36F6.0020.0002.A3D6] # YI SYLLABLE RU
-A3D7 ; [.36F7.0020.0002.A3D7] # YI SYLLABLE RUP
-A3D8 ; [.36F8.0020.0002.A3D8] # YI SYLLABLE RURX
-A3D9 ; [.36F9.0020.0002.A3D9] # YI SYLLABLE RUR
-A3DA ; [.36FA.0020.0002.A3DA] # YI SYLLABLE RYT
-A3DB ; [.36FB.0020.0002.A3DB] # YI SYLLABLE RYX
-A3DC ; [.36FC.0020.0002.A3DC] # YI SYLLABLE RY
-A3DD ; [.36FD.0020.0002.A3DD] # YI SYLLABLE RYP
-A3DE ; [.36FE.0020.0002.A3DE] # YI SYLLABLE RYRX
-A3DF ; [.36FF.0020.0002.A3DF] # YI SYLLABLE RYR
-A3E0 ; [.3700.0020.0002.A3E0] # YI SYLLABLE JIT
-A3E1 ; [.3701.0020.0002.A3E1] # YI SYLLABLE JIX
-A3E2 ; [.3702.0020.0002.A3E2] # YI SYLLABLE JI
-A3E3 ; [.3703.0020.0002.A3E3] # YI SYLLABLE JIP
-A3E4 ; [.3704.0020.0002.A3E4] # YI SYLLABLE JIET
-A3E5 ; [.3705.0020.0002.A3E5] # YI SYLLABLE JIEX
-A3E6 ; [.3706.0020.0002.A3E6] # YI SYLLABLE JIE
-A3E7 ; [.3707.0020.0002.A3E7] # YI SYLLABLE JIEP
-A3E8 ; [.3708.0020.0002.A3E8] # YI SYLLABLE JUOT
-A3E9 ; [.3709.0020.0002.A3E9] # YI SYLLABLE JUOX
-A3EA ; [.370A.0020.0002.A3EA] # YI SYLLABLE JUO
-A3EB ; [.370B.0020.0002.A3EB] # YI SYLLABLE JUOP
-A3EC ; [.370C.0020.0002.A3EC] # YI SYLLABLE JOT
-A3ED ; [.370D.0020.0002.A3ED] # YI SYLLABLE JOX
-A3EE ; [.370E.0020.0002.A3EE] # YI SYLLABLE JO
-A3EF ; [.370F.0020.0002.A3EF] # YI SYLLABLE JOP
-A3F0 ; [.3710.0020.0002.A3F0] # YI SYLLABLE JUT
-A3F1 ; [.3711.0020.0002.A3F1] # YI SYLLABLE JUX
-A3F2 ; [.3712.0020.0002.A3F2] # YI SYLLABLE JU
-A3F3 ; [.3713.0020.0002.A3F3] # YI SYLLABLE JUP
-A3F4 ; [.3714.0020.0002.A3F4] # YI SYLLABLE JURX
-A3F5 ; [.3715.0020.0002.A3F5] # YI SYLLABLE JUR
-A3F6 ; [.3716.0020.0002.A3F6] # YI SYLLABLE JYT
-A3F7 ; [.3717.0020.0002.A3F7] # YI SYLLABLE JYX
-A3F8 ; [.3718.0020.0002.A3F8] # YI SYLLABLE JY
-A3F9 ; [.3719.0020.0002.A3F9] # YI SYLLABLE JYP
-A3FA ; [.371A.0020.0002.A3FA] # YI SYLLABLE JYRX
-A3FB ; [.371B.0020.0002.A3FB] # YI SYLLABLE JYR
-A3FC ; [.371C.0020.0002.A3FC] # YI SYLLABLE QIT
-A3FD ; [.371D.0020.0002.A3FD] # YI SYLLABLE QIX
-A3FE ; [.371E.0020.0002.A3FE] # YI SYLLABLE QI
-A3FF ; [.371F.0020.0002.A3FF] # YI SYLLABLE QIP
-A400 ; [.3720.0020.0002.A400] # YI SYLLABLE QIET
-A401 ; [.3721.0020.0002.A401] # YI SYLLABLE QIEX
-A402 ; [.3722.0020.0002.A402] # YI SYLLABLE QIE
-A403 ; [.3723.0020.0002.A403] # YI SYLLABLE QIEP
-A404 ; [.3724.0020.0002.A404] # YI SYLLABLE QUOT
-A405 ; [.3725.0020.0002.A405] # YI SYLLABLE QUOX
-A406 ; [.3726.0020.0002.A406] # YI SYLLABLE QUO
-A407 ; [.3727.0020.0002.A407] # YI SYLLABLE QUOP
-A408 ; [.3728.0020.0002.A408] # YI SYLLABLE QOT
-A409 ; [.3729.0020.0002.A409] # YI SYLLABLE QOX
-A40A ; [.372A.0020.0002.A40A] # YI SYLLABLE QO
-A40B ; [.372B.0020.0002.A40B] # YI SYLLABLE QOP
-A40C ; [.372C.0020.0002.A40C] # YI SYLLABLE QUT
-A40D ; [.372D.0020.0002.A40D] # YI SYLLABLE QUX
-A40E ; [.372E.0020.0002.A40E] # YI SYLLABLE QU
-A40F ; [.372F.0020.0002.A40F] # YI SYLLABLE QUP
-A410 ; [.3730.0020.0002.A410] # YI SYLLABLE QURX
-A411 ; [.3731.0020.0002.A411] # YI SYLLABLE QUR
-A412 ; [.3732.0020.0002.A412] # YI SYLLABLE QYT
-A413 ; [.3733.0020.0002.A413] # YI SYLLABLE QYX
-A414 ; [.3734.0020.0002.A414] # YI SYLLABLE QY
-A415 ; [.3735.0020.0002.A415] # YI SYLLABLE QYP
-A416 ; [.3736.0020.0002.A416] # YI SYLLABLE QYRX
-A417 ; [.3737.0020.0002.A417] # YI SYLLABLE QYR
-A418 ; [.3738.0020.0002.A418] # YI SYLLABLE JJIT
-A419 ; [.3739.0020.0002.A419] # YI SYLLABLE JJIX
-A41A ; [.373A.0020.0002.A41A] # YI SYLLABLE JJI
-A41B ; [.373B.0020.0002.A41B] # YI SYLLABLE JJIP
-A41C ; [.373C.0020.0002.A41C] # YI SYLLABLE JJIET
-A41D ; [.373D.0020.0002.A41D] # YI SYLLABLE JJIEX
-A41E ; [.373E.0020.0002.A41E] # YI SYLLABLE JJIE
-A41F ; [.373F.0020.0002.A41F] # YI SYLLABLE JJIEP
-A420 ; [.3740.0020.0002.A420] # YI SYLLABLE JJUOX
-A421 ; [.3741.0020.0002.A421] # YI SYLLABLE JJUO
-A422 ; [.3742.0020.0002.A422] # YI SYLLABLE JJUOP
-A423 ; [.3743.0020.0002.A423] # YI SYLLABLE JJOT
-A424 ; [.3744.0020.0002.A424] # YI SYLLABLE JJOX
-A425 ; [.3745.0020.0002.A425] # YI SYLLABLE JJO
-A426 ; [.3746.0020.0002.A426] # YI SYLLABLE JJOP
-A427 ; [.3747.0020.0002.A427] # YI SYLLABLE JJUT
-A428 ; [.3748.0020.0002.A428] # YI SYLLABLE JJUX
-A429 ; [.3749.0020.0002.A429] # YI SYLLABLE JJU
-A42A ; [.374A.0020.0002.A42A] # YI SYLLABLE JJUP
-A42B ; [.374B.0020.0002.A42B] # YI SYLLABLE JJURX
-A42C ; [.374C.0020.0002.A42C] # YI SYLLABLE JJUR
-A42D ; [.374D.0020.0002.A42D] # YI SYLLABLE JJYT
-A42E ; [.374E.0020.0002.A42E] # YI SYLLABLE JJYX
-A42F ; [.374F.0020.0002.A42F] # YI SYLLABLE JJY
-A430 ; [.3750.0020.0002.A430] # YI SYLLABLE JJYP
-A431 ; [.3751.0020.0002.A431] # YI SYLLABLE NJIT
-A432 ; [.3752.0020.0002.A432] # YI SYLLABLE NJIX
-A433 ; [.3753.0020.0002.A433] # YI SYLLABLE NJI
-A434 ; [.3754.0020.0002.A434] # YI SYLLABLE NJIP
-A435 ; [.3755.0020.0002.A435] # YI SYLLABLE NJIET
-A436 ; [.3756.0020.0002.A436] # YI SYLLABLE NJIEX
-A437 ; [.3757.0020.0002.A437] # YI SYLLABLE NJIE
-A438 ; [.3758.0020.0002.A438] # YI SYLLABLE NJIEP
-A439 ; [.3759.0020.0002.A439] # YI SYLLABLE NJUOX
-A43A ; [.375A.0020.0002.A43A] # YI SYLLABLE NJUO
-A43B ; [.375B.0020.0002.A43B] # YI SYLLABLE NJOT
-A43C ; [.375C.0020.0002.A43C] # YI SYLLABLE NJOX
-A43D ; [.375D.0020.0002.A43D] # YI SYLLABLE NJO
-A43E ; [.375E.0020.0002.A43E] # YI SYLLABLE NJOP
-A43F ; [.375F.0020.0002.A43F] # YI SYLLABLE NJUX
-A440 ; [.3760.0020.0002.A440] # YI SYLLABLE NJU
-A441 ; [.3761.0020.0002.A441] # YI SYLLABLE NJUP
-A442 ; [.3762.0020.0002.A442] # YI SYLLABLE NJURX
-A443 ; [.3763.0020.0002.A443] # YI SYLLABLE NJUR
-A444 ; [.3764.0020.0002.A444] # YI SYLLABLE NJYT
-A445 ; [.3765.0020.0002.A445] # YI SYLLABLE NJYX
-A446 ; [.3766.0020.0002.A446] # YI SYLLABLE NJY
-A447 ; [.3767.0020.0002.A447] # YI SYLLABLE NJYP
-A448 ; [.3768.0020.0002.A448] # YI SYLLABLE NJYRX
-A449 ; [.3769.0020.0002.A449] # YI SYLLABLE NJYR
-A44A ; [.376A.0020.0002.A44A] # YI SYLLABLE NYIT
-A44B ; [.376B.0020.0002.A44B] # YI SYLLABLE NYIX
-A44C ; [.376C.0020.0002.A44C] # YI SYLLABLE NYI
-A44D ; [.376D.0020.0002.A44D] # YI SYLLABLE NYIP
-A44E ; [.376E.0020.0002.A44E] # YI SYLLABLE NYIET
-A44F ; [.376F.0020.0002.A44F] # YI SYLLABLE NYIEX
-A450 ; [.3770.0020.0002.A450] # YI SYLLABLE NYIE
-A451 ; [.3771.0020.0002.A451] # YI SYLLABLE NYIEP
-A452 ; [.3772.0020.0002.A452] # YI SYLLABLE NYUOX
-A453 ; [.3773.0020.0002.A453] # YI SYLLABLE NYUO
-A454 ; [.3774.0020.0002.A454] # YI SYLLABLE NYUOP
-A455 ; [.3775.0020.0002.A455] # YI SYLLABLE NYOT
-A456 ; [.3776.0020.0002.A456] # YI SYLLABLE NYOX
-A457 ; [.3777.0020.0002.A457] # YI SYLLABLE NYO
-A458 ; [.3778.0020.0002.A458] # YI SYLLABLE NYOP
-A459 ; [.3779.0020.0002.A459] # YI SYLLABLE NYUT
-A45A ; [.377A.0020.0002.A45A] # YI SYLLABLE NYUX
-A45B ; [.377B.0020.0002.A45B] # YI SYLLABLE NYU
-A45C ; [.377C.0020.0002.A45C] # YI SYLLABLE NYUP
-A45D ; [.377D.0020.0002.A45D] # YI SYLLABLE XIT
-A45E ; [.377E.0020.0002.A45E] # YI SYLLABLE XIX
-A45F ; [.377F.0020.0002.A45F] # YI SYLLABLE XI
-A460 ; [.3780.0020.0002.A460] # YI SYLLABLE XIP
-A461 ; [.3781.0020.0002.A461] # YI SYLLABLE XIET
-A462 ; [.3782.0020.0002.A462] # YI SYLLABLE XIEX
-A463 ; [.3783.0020.0002.A463] # YI SYLLABLE XIE
-A464 ; [.3784.0020.0002.A464] # YI SYLLABLE XIEP
-A465 ; [.3785.0020.0002.A465] # YI SYLLABLE XUOX
-A466 ; [.3786.0020.0002.A466] # YI SYLLABLE XUO
-A467 ; [.3787.0020.0002.A467] # YI SYLLABLE XOT
-A468 ; [.3788.0020.0002.A468] # YI SYLLABLE XOX
-A469 ; [.3789.0020.0002.A469] # YI SYLLABLE XO
-A46A ; [.378A.0020.0002.A46A] # YI SYLLABLE XOP
-A46B ; [.378B.0020.0002.A46B] # YI SYLLABLE XYT
-A46C ; [.378C.0020.0002.A46C] # YI SYLLABLE XYX
-A46D ; [.378D.0020.0002.A46D] # YI SYLLABLE XY
-A46E ; [.378E.0020.0002.A46E] # YI SYLLABLE XYP
-A46F ; [.378F.0020.0002.A46F] # YI SYLLABLE XYRX
-A470 ; [.3790.0020.0002.A470] # YI SYLLABLE XYR
-A471 ; [.3791.0020.0002.A471] # YI SYLLABLE YIT
-A472 ; [.3792.0020.0002.A472] # YI SYLLABLE YIX
-A473 ; [.3793.0020.0002.A473] # YI SYLLABLE YI
-A474 ; [.3794.0020.0002.A474] # YI SYLLABLE YIP
-A475 ; [.3795.0020.0002.A475] # YI SYLLABLE YIET
-A476 ; [.3796.0020.0002.A476] # YI SYLLABLE YIEX
-A477 ; [.3797.0020.0002.A477] # YI SYLLABLE YIE
-A478 ; [.3798.0020.0002.A478] # YI SYLLABLE YIEP
-A479 ; [.3799.0020.0002.A479] # YI SYLLABLE YUOT
-A47A ; [.379A.0020.0002.A47A] # YI SYLLABLE YUOX
-A47B ; [.379B.0020.0002.A47B] # YI SYLLABLE YUO
-A47C ; [.379C.0020.0002.A47C] # YI SYLLABLE YUOP
-A47D ; [.379D.0020.0002.A47D] # YI SYLLABLE YOT
-A47E ; [.379E.0020.0002.A47E] # YI SYLLABLE YOX
-A47F ; [.379F.0020.0002.A47F] # YI SYLLABLE YO
-A480 ; [.37A0.0020.0002.A480] # YI SYLLABLE YOP
-A481 ; [.37A1.0020.0002.A481] # YI SYLLABLE YUT
-A482 ; [.37A2.0020.0002.A482] # YI SYLLABLE YUX
-A483 ; [.37A3.0020.0002.A483] # YI SYLLABLE YU
-A484 ; [.37A4.0020.0002.A484] # YI SYLLABLE YUP
-A485 ; [.37A5.0020.0002.A485] # YI SYLLABLE YURX
-A486 ; [.37A6.0020.0002.A486] # YI SYLLABLE YUR
-A487 ; [.37A7.0020.0002.A487] # YI SYLLABLE YYT
-A488 ; [.37A8.0020.0002.A488] # YI SYLLABLE YYX
-A489 ; [.37A9.0020.0002.A489] # YI SYLLABLE YY
-A48A ; [.37AA.0020.0002.A48A] # YI SYLLABLE YYP
-A48B ; [.37AB.0020.0002.A48B] # YI SYLLABLE YYRX
-A48C ; [.37AC.0020.0002.A48C] # YI SYLLABLE YYR
-A4F8 ; [.37AD.0020.0002.A4F8] # LISU LETTER TONE MYA TI
-A4F9 ; [.37AE.0020.0002.A4F9] # LISU LETTER TONE NA PO
-A4FA ; [.37AF.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
-A4FB ; [.37B0.0020.0002.A4FB] # LISU LETTER TONE MYA BO
-A4FD ; [.37B1.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
-A4FC ; [.37B2.0020.0002.A4FC] # LISU LETTER TONE MYA NA
-A4D0 ; [.37B3.0020.0002.A4D0] # LISU LETTER BA
-A4D1 ; [.37B4.0020.0002.A4D1] # LISU LETTER PA
-A4D2 ; [.37B5.0020.0002.A4D2] # LISU LETTER PHA
-A4D3 ; [.37B6.0020.0002.A4D3] # LISU LETTER DA
-A4D4 ; [.37B7.0020.0002.A4D4] # LISU LETTER TA
-A4D5 ; [.37B8.0020.0002.A4D5] # LISU LETTER THA
-A4D6 ; [.37B9.0020.0002.A4D6] # LISU LETTER GA
-A4D7 ; [.37BA.0020.0002.A4D7] # LISU LETTER KA
-A4D8 ; [.37BB.0020.0002.A4D8] # LISU LETTER KHA
-A4D9 ; [.37BC.0020.0002.A4D9] # LISU LETTER JA
-A4DA ; [.37BD.0020.0002.A4DA] # LISU LETTER CA
-A4DB ; [.37BE.0020.0002.A4DB] # LISU LETTER CHA
-A4DC ; [.37BF.0020.0002.A4DC] # LISU LETTER DZA
-A4DD ; [.37C0.0020.0002.A4DD] # LISU LETTER TSA
-A4DE ; [.37C1.0020.0002.A4DE] # LISU LETTER TSHA
-A4DF ; [.37C2.0020.0002.A4DF] # LISU LETTER MA
-A4E0 ; [.37C3.0020.0002.A4E0] # LISU LETTER NA
-A4E1 ; [.37C4.0020.0002.A4E1] # LISU LETTER LA
-A4E2 ; [.37C5.0020.0002.A4E2] # LISU LETTER SA
-A4E3 ; [.37C6.0020.0002.A4E3] # LISU LETTER ZHA
-A4E4 ; [.37C7.0020.0002.A4E4] # LISU LETTER ZA
-A4E5 ; [.37C8.0020.0002.A4E5] # LISU LETTER NGA
-A4E6 ; [.37C9.0020.0002.A4E6] # LISU LETTER HA
-A4E7 ; [.37CA.0020.0002.A4E7] # LISU LETTER XA
-A4E8 ; [.37CB.0020.0002.A4E8] # LISU LETTER HHA
-A4E9 ; [.37CC.0020.0002.A4E9] # LISU LETTER FA
-A4EB ; [.37CD.0020.0002.A4EB] # LISU LETTER SHA
-A4ED ; [.37CE.0020.0002.A4ED] # LISU LETTER GHA
-A4EA ; [.37CF.0020.0002.A4EA] # LISU LETTER WA
-A4EC ; [.37D0.0020.0002.A4EC] # LISU LETTER YA
-A4EE ; [.37D1.0020.0002.A4EE] # LISU LETTER A
-A4EF ; [.37D2.0020.0002.A4EF] # LISU LETTER AE
-A4F0 ; [.37D3.0020.0002.A4F0] # LISU LETTER E
-A4F1 ; [.37D4.0020.0002.A4F1] # LISU LETTER EU
-A4F2 ; [.37D5.0020.0002.A4F2] # LISU LETTER I
-A4F3 ; [.37D6.0020.0002.A4F3] # LISU LETTER O
-A4F4 ; [.37D7.0020.0002.A4F4] # LISU LETTER U
-A4F5 ; [.37D8.0020.0002.A4F5] # LISU LETTER UE
-A4F6 ; [.37D9.0020.0002.A4F6] # LISU LETTER UH
-A4F7 ; [.37DA.0020.0002.A4F7] # LISU LETTER OE
-16F00 ; [.37DB.0020.0002.16F00] # MIAO LETTER PA
-16F01 ; [.37DC.0020.0002.16F01] # MIAO LETTER BA
-16F02 ; [.37DD.0020.0002.16F02] # MIAO LETTER YI PA
-16F03 ; [.37DE.0020.0002.16F03] # MIAO LETTER PLA
-16F04 ; [.37DF.0020.0002.16F04] # MIAO LETTER MA
-16F06 ; [.37DF.0020.0004.16F06] # MIAO LETTER ARCHAIC MA
-16F05 ; [.37E0.0020.0002.16F05] # MIAO LETTER MHA
-16F07 ; [.37E1.0020.0002.16F07] # MIAO LETTER FA
-16F08 ; [.37E2.0020.0002.16F08] # MIAO LETTER VA
-16F09 ; [.37E3.0020.0002.16F09] # MIAO LETTER VFA
-16F0A ; [.37E4.0020.0002.16F0A] # MIAO LETTER TA
-16F0B ; [.37E5.0020.0002.16F0B] # MIAO LETTER DA
-16F0C ; [.37E6.0020.0002.16F0C] # MIAO LETTER YI TTA
-16F0D ; [.37E7.0020.0002.16F0D] # MIAO LETTER YI TA
-16F0E ; [.37E8.0020.0002.16F0E] # MIAO LETTER TTA
-16F0F ; [.37E9.0020.0002.16F0F] # MIAO LETTER DDA
-16F10 ; [.37EA.0020.0002.16F10] # MIAO LETTER NA
-16F13 ; [.37EA.0020.0004.16F13] # MIAO LETTER ARCHAIC NA
-16F11 ; [.37EB.0020.0002.16F11] # MIAO LETTER NHA
-16F12 ; [.37EC.0020.0002.16F12] # MIAO LETTER YI NNA
-16F14 ; [.37ED.0020.0002.16F14] # MIAO LETTER NNA
-16F15 ; [.37EE.0020.0002.16F15] # MIAO LETTER NNHA
-16F16 ; [.37EF.0020.0002.16F16] # MIAO LETTER LA
-16F17 ; [.37F0.0020.0002.16F17] # MIAO LETTER LYA
-16F18 ; [.37F1.0020.0002.16F18] # MIAO LETTER LHA
-16F19 ; [.37F2.0020.0002.16F19] # MIAO LETTER LHYA
-16F1A ; [.37F3.0020.0002.16F1A] # MIAO LETTER TLHA
-16F1B ; [.37F4.0020.0002.16F1B] # MIAO LETTER DLHA
-16F1C ; [.37F5.0020.0002.16F1C] # MIAO LETTER TLHYA
-16F1D ; [.37F6.0020.0002.16F1D] # MIAO LETTER DLHYA
-16F1E ; [.37F7.0020.0002.16F1E] # MIAO LETTER KA
-16F1F ; [.37F8.0020.0002.16F1F] # MIAO LETTER GA
-16F20 ; [.37F9.0020.0002.16F20] # MIAO LETTER YI KA
-16F21 ; [.37FA.0020.0002.16F21] # MIAO LETTER QA
-16F22 ; [.37FB.0020.0002.16F22] # MIAO LETTER QGA
-16F23 ; [.37FC.0020.0002.16F23] # MIAO LETTER NGA
-16F25 ; [.37FC.0020.0004.16F25] # MIAO LETTER ARCHAIC NGA
-16F24 ; [.37FD.0020.0002.16F24] # MIAO LETTER NGHA
-16F26 ; [.37FE.0020.0002.16F26] # MIAO LETTER HA
-16F27 ; [.37FF.0020.0002.16F27] # MIAO LETTER XA
-16F28 ; [.3800.0020.0002.16F28] # MIAO LETTER GHA
-16F29 ; [.3801.0020.0002.16F29] # MIAO LETTER GHHA
-16F2A ; [.3802.0020.0002.16F2A] # MIAO LETTER TSSA
-16F2B ; [.3803.0020.0002.16F2B] # MIAO LETTER DZZA
-16F2C ; [.3804.0020.0002.16F2C] # MIAO LETTER NYA
-16F2D ; [.3805.0020.0002.16F2D] # MIAO LETTER NYHA
-16F2E ; [.3806.0020.0002.16F2E] # MIAO LETTER TSHA
-16F2F ; [.3807.0020.0002.16F2F] # MIAO LETTER DZHA
-16F30 ; [.3808.0020.0002.16F30] # MIAO LETTER YI TSHA
-16F31 ; [.3809.0020.0002.16F31] # MIAO LETTER YI DZHA
-16F32 ; [.380A.0020.0002.16F32] # MIAO LETTER REFORMED TSHA
-16F33 ; [.380B.0020.0002.16F33] # MIAO LETTER SHA
-16F34 ; [.380C.0020.0002.16F34] # MIAO LETTER SSA
-16F35 ; [.380D.0020.0002.16F35] # MIAO LETTER ZHA
-16F36 ; [.380E.0020.0002.16F36] # MIAO LETTER ZSHA
-16F37 ; [.380F.0020.0002.16F37] # MIAO LETTER TSA
-16F38 ; [.3810.0020.0002.16F38] # MIAO LETTER DZA
-16F39 ; [.3811.0020.0002.16F39] # MIAO LETTER YI TSA
-16F3A ; [.3812.0020.0002.16F3A] # MIAO LETTER SA
-16F3B ; [.3813.0020.0002.16F3B] # MIAO LETTER ZA
-16F3C ; [.3814.0020.0002.16F3C] # MIAO LETTER ZSA
-16F3D ; [.3815.0020.0002.16F3D] # MIAO LETTER ZZA
-16F3F ; [.3815.0020.0004.16F3F] # MIAO LETTER ARCHAIC ZZA
-16F3E ; [.3816.0020.0002.16F3E] # MIAO LETTER ZZSA
-16F40 ; [.3817.0020.0002.16F40] # MIAO LETTER ZZYA
-16F41 ; [.3818.0020.0002.16F41] # MIAO LETTER ZZSYA
-16F42 ; [.3819.0020.0002.16F42] # MIAO LETTER WA
-16F43 ; [.381A.0020.0002.16F43] # MIAO LETTER AH
-16F44 ; [.381B.0020.0002.16F44] # MIAO LETTER HHA
-16F50 ; [.381C.0020.0002.16F50] # MIAO LETTER NASALIZATION
-16F51 ; [.381D.0020.0002.16F51] # MIAO SIGN ASPIRATION
-16F52 ; [.381E.0020.0002.16F52] # MIAO SIGN REFORMED VOICING
-16F53 ; [.381F.0020.0002.16F53] # MIAO SIGN REFORMED ASPIRATION
-16F54 ; [.3820.0020.0002.16F54] # MIAO VOWEL SIGN A
-16F55 ; [.3821.0020.0002.16F55] # MIAO VOWEL SIGN AA
-16F56 ; [.3822.0020.0002.16F56] # MIAO VOWEL SIGN AHH
-16F57 ; [.3823.0020.0002.16F57] # MIAO VOWEL SIGN AN
-16F58 ; [.3824.0020.0002.16F58] # MIAO VOWEL SIGN ANG
-16F59 ; [.3825.0020.0002.16F59] # MIAO VOWEL SIGN O
-16F5A ; [.3826.0020.0002.16F5A] # MIAO VOWEL SIGN OO
-16F5B ; [.3827.0020.0002.16F5B] # MIAO VOWEL SIGN WO
-16F5C ; [.3828.0020.0002.16F5C] # MIAO VOWEL SIGN W
-16F5D ; [.3829.0020.0002.16F5D] # MIAO VOWEL SIGN E
-16F5E ; [.382A.0020.0002.16F5E] # MIAO VOWEL SIGN EN
-16F5F ; [.382B.0020.0002.16F5F] # MIAO VOWEL SIGN ENG
-16F60 ; [.382C.0020.0002.16F60] # MIAO VOWEL SIGN OEY
-16F61 ; [.382D.0020.0002.16F61] # MIAO VOWEL SIGN I
-16F62 ; [.382E.0020.0002.16F62] # MIAO VOWEL SIGN IA
-16F63 ; [.382F.0020.0002.16F63] # MIAO VOWEL SIGN IAN
-16F64 ; [.3830.0020.0002.16F64] # MIAO VOWEL SIGN IANG
-16F65 ; [.3831.0020.0002.16F65] # MIAO VOWEL SIGN IO
-16F66 ; [.3832.0020.0002.16F66] # MIAO VOWEL SIGN IE
-16F67 ; [.3833.0020.0002.16F67] # MIAO VOWEL SIGN II
-16F68 ; [.3834.0020.0002.16F68] # MIAO VOWEL SIGN IU
-16F69 ; [.3835.0020.0002.16F69] # MIAO VOWEL SIGN ING
-16F6A ; [.3836.0020.0002.16F6A] # MIAO VOWEL SIGN U
-16F6B ; [.3837.0020.0002.16F6B] # MIAO VOWEL SIGN UA
-16F6C ; [.3838.0020.0002.16F6C] # MIAO VOWEL SIGN UAN
-16F6D ; [.3839.0020.0002.16F6D] # MIAO VOWEL SIGN UANG
-16F6E ; [.383A.0020.0002.16F6E] # MIAO VOWEL SIGN UU
-16F6F ; [.383B.0020.0002.16F6F] # MIAO VOWEL SIGN UEI
-16F70 ; [.383C.0020.0002.16F70] # MIAO VOWEL SIGN UNG
-16F71 ; [.383D.0020.0002.16F71] # MIAO VOWEL SIGN Y
-16F72 ; [.383E.0020.0002.16F72] # MIAO VOWEL SIGN YI
-16F73 ; [.383F.0020.0002.16F73] # MIAO VOWEL SIGN AE
-16F74 ; [.3840.0020.0002.16F74] # MIAO VOWEL SIGN AEE
-16F75 ; [.3841.0020.0002.16F75] # MIAO VOWEL SIGN ERR
-16F76 ; [.3842.0020.0002.16F76] # MIAO VOWEL SIGN ROUNDED ERR
-16F77 ; [.3843.0020.0002.16F77] # MIAO VOWEL SIGN ER
-16F78 ; [.3844.0020.0002.16F78] # MIAO VOWEL SIGN ROUNDED ER
-16F79 ; [.3845.0020.0002.16F79] # MIAO VOWEL SIGN AI
-16F7A ; [.3846.0020.0002.16F7A] # MIAO VOWEL SIGN EI
-16F7B ; [.3847.0020.0002.16F7B] # MIAO VOWEL SIGN AU
-16F7C ; [.3848.0020.0002.16F7C] # MIAO VOWEL SIGN OU
-16F7D ; [.3849.0020.0002.16F7D] # MIAO VOWEL SIGN N
-16F7E ; [.384A.0020.0002.16F7E] # MIAO VOWEL SIGN NG
-16F8F ; [.384B.0020.0002.16F8F] # MIAO TONE RIGHT
-16F90 ; [.384C.0020.0002.16F90] # MIAO TONE TOP RIGHT
-16F91 ; [.384D.0020.0002.16F91] # MIAO TONE ABOVE
-16F92 ; [.384E.0020.0002.16F92] # MIAO TONE BELOW
-16F93 ; [.384F.0020.0002.16F93] # MIAO LETTER TONE-2
-16F94 ; [.3850.0020.0002.16F94] # MIAO LETTER TONE-3
-16F95 ; [.3851.0020.0002.16F95] # MIAO LETTER TONE-4
-16F96 ; [.3852.0020.0002.16F96] # MIAO LETTER TONE-5
-16F97 ; [.3853.0020.0002.16F97] # MIAO LETTER TONE-6
-16F98 ; [.3854.0020.0002.16F98] # MIAO LETTER TONE-7
-16F99 ; [.3855.0020.0002.16F99] # MIAO LETTER TONE-8
-16F9A ; [.3856.0020.0002.16F9A] # MIAO LETTER REFORMED TONE-1
-16F9B ; [.3857.0020.0002.16F9B] # MIAO LETTER REFORMED TONE-2
-16F9C ; [.3858.0020.0002.16F9C] # MIAO LETTER REFORMED TONE-4
-16F9D ; [.3859.0020.0002.16F9D] # MIAO LETTER REFORMED TONE-5
-16F9E ; [.385A.0020.0002.16F9E] # MIAO LETTER REFORMED TONE-6
-16F9F ; [.385B.0020.0002.16F9F] # MIAO LETTER REFORMED TONE-8
-10280 ; [.385C.0020.0002.10280] # LYCIAN LETTER A
-10281 ; [.385D.0020.0002.10281] # LYCIAN LETTER E
-10282 ; [.385E.0020.0002.10282] # LYCIAN LETTER B
-10283 ; [.385F.0020.0002.10283] # LYCIAN LETTER BH
-10284 ; [.3860.0020.0002.10284] # LYCIAN LETTER G
-10285 ; [.3861.0020.0002.10285] # LYCIAN LETTER D
-10286 ; [.3862.0020.0002.10286] # LYCIAN LETTER I
-10287 ; [.3863.0020.0002.10287] # LYCIAN LETTER W
-10288 ; [.3864.0020.0002.10288] # LYCIAN LETTER Z
-10289 ; [.3865.0020.0002.10289] # LYCIAN LETTER TH
-1028A ; [.3866.0020.0002.1028A] # LYCIAN LETTER J
-1028B ; [.3867.0020.0002.1028B] # LYCIAN LETTER K
-1028C ; [.3868.0020.0002.1028C] # LYCIAN LETTER Q
-1028D ; [.3869.0020.0002.1028D] # LYCIAN LETTER L
-1028E ; [.386A.0020.0002.1028E] # LYCIAN LETTER M
-1028F ; [.386B.0020.0002.1028F] # LYCIAN LETTER N
-10290 ; [.386C.0020.0002.10290] # LYCIAN LETTER MM
-10291 ; [.386D.0020.0002.10291] # LYCIAN LETTER NN
-10292 ; [.386E.0020.0002.10292] # LYCIAN LETTER U
-10293 ; [.386F.0020.0002.10293] # LYCIAN LETTER P
-10294 ; [.3870.0020.0002.10294] # LYCIAN LETTER KK
-10295 ; [.3871.0020.0002.10295] # LYCIAN LETTER R
-10296 ; [.3872.0020.0002.10296] # LYCIAN LETTER S
-10297 ; [.3873.0020.0002.10297] # LYCIAN LETTER T
-10298 ; [.3874.0020.0002.10298] # LYCIAN LETTER TT
-10299 ; [.3875.0020.0002.10299] # LYCIAN LETTER AN
-1029A ; [.3876.0020.0002.1029A] # LYCIAN LETTER EN
-1029B ; [.3877.0020.0002.1029B] # LYCIAN LETTER H
-1029C ; [.3878.0020.0002.1029C] # LYCIAN LETTER X
-102A0 ; [.3879.0020.0002.102A0] # CARIAN LETTER A
-102A1 ; [.387A.0020.0002.102A1] # CARIAN LETTER P2
-102A2 ; [.387B.0020.0002.102A2] # CARIAN LETTER D
-102A3 ; [.387C.0020.0002.102A3] # CARIAN LETTER L
-102A4 ; [.387D.0020.0002.102A4] # CARIAN LETTER UUU
-102A5 ; [.387E.0020.0002.102A5] # CARIAN LETTER R
-102A6 ; [.387F.0020.0002.102A6] # CARIAN LETTER LD
-102A7 ; [.3880.0020.0002.102A7] # CARIAN LETTER A2
-102A8 ; [.3881.0020.0002.102A8] # CARIAN LETTER Q
-102A9 ; [.3882.0020.0002.102A9] # CARIAN LETTER B
-102AA ; [.3883.0020.0002.102AA] # CARIAN LETTER M
-102AB ; [.3884.0020.0002.102AB] # CARIAN LETTER O
-102AC ; [.3885.0020.0002.102AC] # CARIAN LETTER D2
-102AD ; [.3886.0020.0002.102AD] # CARIAN LETTER T
-102AE ; [.3887.0020.0002.102AE] # CARIAN LETTER SH
-102AF ; [.3888.0020.0002.102AF] # CARIAN LETTER SH2
-102B0 ; [.3889.0020.0002.102B0] # CARIAN LETTER S
-102B1 ; [.388A.0020.0002.102B1] # CARIAN LETTER C-18
-102B2 ; [.388B.0020.0002.102B2] # CARIAN LETTER U
-102B3 ; [.388C.0020.0002.102B3] # CARIAN LETTER NN
-102B4 ; [.388D.0020.0002.102B4] # CARIAN LETTER X
-102B5 ; [.388E.0020.0002.102B5] # CARIAN LETTER N
-102B6 ; [.388F.0020.0002.102B6] # CARIAN LETTER TT2
-102B7 ; [.3890.0020.0002.102B7] # CARIAN LETTER P
-102B8 ; [.3891.0020.0002.102B8] # CARIAN LETTER SS
-102B9 ; [.3892.0020.0002.102B9] # CARIAN LETTER I
-102BA ; [.3893.0020.0002.102BA] # CARIAN LETTER E
-102BB ; [.3894.0020.0002.102BB] # CARIAN LETTER UUUU
-102BC ; [.3895.0020.0002.102BC] # CARIAN LETTER K
-102BD ; [.3896.0020.0002.102BD] # CARIAN LETTER K2
-102BE ; [.3897.0020.0002.102BE] # CARIAN LETTER ND
-102BF ; [.3898.0020.0002.102BF] # CARIAN LETTER UU
-102C0 ; [.3899.0020.0002.102C0] # CARIAN LETTER G
-102C1 ; [.389A.0020.0002.102C1] # CARIAN LETTER G2
-102C2 ; [.389B.0020.0002.102C2] # CARIAN LETTER ST
-102C3 ; [.389C.0020.0002.102C3] # CARIAN LETTER ST2
-102C4 ; [.389D.0020.0002.102C4] # CARIAN LETTER NG
-102C5 ; [.389E.0020.0002.102C5] # CARIAN LETTER II
-102C6 ; [.389F.0020.0002.102C6] # CARIAN LETTER C-39
-102C7 ; [.38A0.0020.0002.102C7] # CARIAN LETTER TT
-102C8 ; [.38A1.0020.0002.102C8] # CARIAN LETTER UUU2
-102C9 ; [.38A2.0020.0002.102C9] # CARIAN LETTER RR
-102CA ; [.38A3.0020.0002.102CA] # CARIAN LETTER MB
-102CB ; [.38A4.0020.0002.102CB] # CARIAN LETTER MB2
-102CC ; [.38A5.0020.0002.102CC] # CARIAN LETTER MB3
-102CD ; [.38A6.0020.0002.102CD] # CARIAN LETTER MB4
-102CE ; [.38A7.0020.0002.102CE] # CARIAN LETTER LD2
-102CF ; [.38A8.0020.0002.102CF] # CARIAN LETTER E2
-102D0 ; [.38A9.0020.0002.102D0] # CARIAN LETTER UUU3
-10920 ; [.38AA.0020.0002.10920] # LYDIAN LETTER A
-10921 ; [.38AB.0020.0002.10921] # LYDIAN LETTER B
-10922 ; [.38AC.0020.0002.10922] # LYDIAN LETTER G
-10923 ; [.38AD.0020.0002.10923] # LYDIAN LETTER D
-10924 ; [.38AE.0020.0002.10924] # LYDIAN LETTER E
-10925 ; [.38AF.0020.0002.10925] # LYDIAN LETTER V
-10926 ; [.38B0.0020.0002.10926] # LYDIAN LETTER I
-10927 ; [.38B1.0020.0002.10927] # LYDIAN LETTER Y
-10928 ; [.38B2.0020.0002.10928] # LYDIAN LETTER K
-10929 ; [.38B3.0020.0002.10929] # LYDIAN LETTER L
-1092A ; [.38B4.0020.0002.1092A] # LYDIAN LETTER M
-1092B ; [.38B5.0020.0002.1092B] # LYDIAN LETTER N
-1092C ; [.38B6.0020.0002.1092C] # LYDIAN LETTER O
-1092D ; [.38B7.0020.0002.1092D] # LYDIAN LETTER R
-1092E ; [.38B8.0020.0002.1092E] # LYDIAN LETTER SS
-1092F ; [.38B9.0020.0002.1092F] # LYDIAN LETTER T
-10930 ; [.38BA.0020.0002.10930] # LYDIAN LETTER U
-10931 ; [.38BB.0020.0002.10931] # LYDIAN LETTER F
-10932 ; [.38BC.0020.0002.10932] # LYDIAN LETTER Q
-10933 ; [.38BD.0020.0002.10933] # LYDIAN LETTER S
-10934 ; [.38BE.0020.0002.10934] # LYDIAN LETTER TT
-10935 ; [.38BF.0020.0002.10935] # LYDIAN LETTER AN
-10936 ; [.38C0.0020.0002.10936] # LYDIAN LETTER EN
-10937 ; [.38C1.0020.0002.10937] # LYDIAN LETTER LY
-10938 ; [.38C2.0020.0002.10938] # LYDIAN LETTER NN
-10939 ; [.38C3.0020.0002.10939] # LYDIAN LETTER C
-10300 ; [.38C4.0020.0002.10300] # OLD ITALIC LETTER A
-10301 ; [.38C5.0020.0002.10301] # OLD ITALIC LETTER BE
-10302 ; [.38C6.0020.0002.10302] # OLD ITALIC LETTER KE
-10303 ; [.38C7.0020.0002.10303] # OLD ITALIC LETTER DE
-10304 ; [.38C8.0020.0002.10304] # OLD ITALIC LETTER E
-10305 ; [.38C9.0020.0002.10305] # OLD ITALIC LETTER VE
-10306 ; [.38CA.0020.0002.10306] # OLD ITALIC LETTER ZE
-10307 ; [.38CB.0020.0002.10307] # OLD ITALIC LETTER HE
-10308 ; [.38CC.0020.0002.10308] # OLD ITALIC LETTER THE
-10309 ; [.38CD.0020.0002.10309] # OLD ITALIC LETTER I
-1030A ; [.38CE.0020.0002.1030A] # OLD ITALIC LETTER KA
-1030B ; [.38CF.0020.0002.1030B] # OLD ITALIC LETTER EL
-1030C ; [.38D0.0020.0002.1030C] # OLD ITALIC LETTER EM
-1030D ; [.38D1.0020.0002.1030D] # OLD ITALIC LETTER EN
-1030E ; [.38D2.0020.0002.1030E] # OLD ITALIC LETTER ESH
-1030F ; [.38D3.0020.0002.1030F] # OLD ITALIC LETTER O
-10310 ; [.38D4.0020.0002.10310] # OLD ITALIC LETTER PE
-10311 ; [.38D5.0020.0002.10311] # OLD ITALIC LETTER SHE
-10312 ; [.38D6.0020.0002.10312] # OLD ITALIC LETTER KU
-10313 ; [.38D7.0020.0002.10313] # OLD ITALIC LETTER ER
-10314 ; [.38D8.0020.0002.10314] # OLD ITALIC LETTER ES
-10315 ; [.38D9.0020.0002.10315] # OLD ITALIC LETTER TE
-10316 ; [.38DA.0020.0002.10316] # OLD ITALIC LETTER U
-10317 ; [.38DB.0020.0002.10317] # OLD ITALIC LETTER EKS
-10318 ; [.38DC.0020.0002.10318] # OLD ITALIC LETTER PHE
-10319 ; [.38DD.0020.0002.10319] # OLD ITALIC LETTER KHE
-1031A ; [.38DE.0020.0002.1031A] # OLD ITALIC LETTER EF
-1031B ; [.38DF.0020.0002.1031B] # OLD ITALIC LETTER ERS
-1031C ; [.38E0.0020.0002.1031C] # OLD ITALIC LETTER CHE
-1031D ; [.38E1.0020.0002.1031D] # OLD ITALIC LETTER II
-1031E ; [.38E2.0020.0002.1031E] # OLD ITALIC LETTER UU
-10330 ; [.38E3.0020.0002.10330] # GOTHIC LETTER AHSA
-10331 ; [.38E4.0020.0002.10331] # GOTHIC LETTER BAIRKAN
-10332 ; [.38E5.0020.0002.10332] # GOTHIC LETTER GIBA
-10333 ; [.38E6.0020.0002.10333] # GOTHIC LETTER DAGS
-10334 ; [.38E7.0020.0002.10334] # GOTHIC LETTER AIHVUS
-10335 ; [.38E8.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
-10336 ; [.38E9.0020.0002.10336] # GOTHIC LETTER IUJA
-10337 ; [.38EA.0020.0002.10337] # GOTHIC LETTER HAGL
-10338 ; [.38EB.0020.0002.10338] # GOTHIC LETTER THIUTH
-10339 ; [.38EC.0020.0002.10339] # GOTHIC LETTER EIS
-1033A ; [.38ED.0020.0002.1033A] # GOTHIC LETTER KUSMA
-1033B ; [.38EE.0020.0002.1033B] # GOTHIC LETTER LAGUS
-1033C ; [.38EF.0020.0002.1033C] # GOTHIC LETTER MANNA
-1033D ; [.38F0.0020.0002.1033D] # GOTHIC LETTER NAUTHS
-1033E ; [.38F1.0020.0002.1033E] # GOTHIC LETTER JER
-1033F ; [.38F2.0020.0002.1033F] # GOTHIC LETTER URUS
-10340 ; [.38F3.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
-10341 ; [.38F4.0020.0002.10341] # GOTHIC LETTER NINETY
-10342 ; [.38F5.0020.0002.10342] # GOTHIC LETTER RAIDA
-10343 ; [.38F6.0020.0002.10343] # GOTHIC LETTER SAUIL
-10344 ; [.38F7.0020.0002.10344] # GOTHIC LETTER TEIWS
-10345 ; [.38F8.0020.0002.10345] # GOTHIC LETTER WINJA
-10346 ; [.38F9.0020.0002.10346] # GOTHIC LETTER FAIHU
-10347 ; [.38FA.0020.0002.10347] # GOTHIC LETTER IGGWS
-10348 ; [.38FB.0020.0002.10348] # GOTHIC LETTER HWAIR
-10349 ; [.38FC.0020.0002.10349] # GOTHIC LETTER OTHAL
-1034A ; [.38FD.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
-10428 ; [.38FE.0020.0002.10428] # DESERET SMALL LETTER LONG I
-10400 ; [.38FE.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
-10429 ; [.38FF.0020.0002.10429] # DESERET SMALL LETTER LONG E
-10401 ; [.38FF.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
-1042A ; [.3900.0020.0002.1042A] # DESERET SMALL LETTER LONG A
-10402 ; [.3900.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
-1042B ; [.3901.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
-10403 ; [.3901.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
-1042C ; [.3902.0020.0002.1042C] # DESERET SMALL LETTER LONG O
-10404 ; [.3902.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
-1042D ; [.3903.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
-10405 ; [.3903.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
-1042E ; [.3904.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
-10406 ; [.3904.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
-1042F ; [.3905.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
-10407 ; [.3905.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
-10430 ; [.3906.0020.0002.10430] # DESERET SMALL LETTER SHORT A
-10408 ; [.3906.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
-10431 ; [.3907.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
-10409 ; [.3907.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
-10432 ; [.3908.0020.0002.10432] # DESERET SMALL LETTER SHORT O
-1040A ; [.3908.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
-10433 ; [.3909.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
-1040B ; [.3909.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
-10434 ; [.390A.0020.0002.10434] # DESERET SMALL LETTER AY
-1040C ; [.390A.0020.0008.1040C] # DESERET CAPITAL LETTER AY
-10435 ; [.390B.0020.0002.10435] # DESERET SMALL LETTER OW
-1040D ; [.390B.0020.0008.1040D] # DESERET CAPITAL LETTER OW
-10436 ; [.390C.0020.0002.10436] # DESERET SMALL LETTER WU
-1040E ; [.390C.0020.0008.1040E] # DESERET CAPITAL LETTER WU
-10437 ; [.390D.0020.0002.10437] # DESERET SMALL LETTER YEE
-1040F ; [.390D.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
-10438 ; [.390E.0020.0002.10438] # DESERET SMALL LETTER H
-10410 ; [.390E.0020.0008.10410] # DESERET CAPITAL LETTER H
-10439 ; [.390F.0020.0002.10439] # DESERET SMALL LETTER PEE
-10411 ; [.390F.0020.0008.10411] # DESERET CAPITAL LETTER PEE
-1043A ; [.3910.0020.0002.1043A] # DESERET SMALL LETTER BEE
-10412 ; [.3910.0020.0008.10412] # DESERET CAPITAL LETTER BEE
-1043B ; [.3911.0020.0002.1043B] # DESERET SMALL LETTER TEE
-10413 ; [.3911.0020.0008.10413] # DESERET CAPITAL LETTER TEE
-1043C ; [.3912.0020.0002.1043C] # DESERET SMALL LETTER DEE
-10414 ; [.3912.0020.0008.10414] # DESERET CAPITAL LETTER DEE
-1043D ; [.3913.0020.0002.1043D] # DESERET SMALL LETTER CHEE
-10415 ; [.3913.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
-1043E ; [.3914.0020.0002.1043E] # DESERET SMALL LETTER JEE
-10416 ; [.3914.0020.0008.10416] # DESERET CAPITAL LETTER JEE
-1043F ; [.3915.0020.0002.1043F] # DESERET SMALL LETTER KAY
-10417 ; [.3915.0020.0008.10417] # DESERET CAPITAL LETTER KAY
-10440 ; [.3916.0020.0002.10440] # DESERET SMALL LETTER GAY
-10418 ; [.3916.0020.0008.10418] # DESERET CAPITAL LETTER GAY
-10441 ; [.3917.0020.0002.10441] # DESERET SMALL LETTER EF
-10419 ; [.3917.0020.0008.10419] # DESERET CAPITAL LETTER EF
-10442 ; [.3918.0020.0002.10442] # DESERET SMALL LETTER VEE
-1041A ; [.3918.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
-10443 ; [.3919.0020.0002.10443] # DESERET SMALL LETTER ETH
-1041B ; [.3919.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
-10444 ; [.391A.0020.0002.10444] # DESERET SMALL LETTER THEE
-1041C ; [.391A.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
-10445 ; [.391B.0020.0002.10445] # DESERET SMALL LETTER ES
-1041D ; [.391B.0020.0008.1041D] # DESERET CAPITAL LETTER ES
-10446 ; [.391C.0020.0002.10446] # DESERET SMALL LETTER ZEE
-1041E ; [.391C.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
-10447 ; [.391D.0020.0002.10447] # DESERET SMALL LETTER ESH
-1041F ; [.391D.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
-10448 ; [.391E.0020.0002.10448] # DESERET SMALL LETTER ZHEE
-10420 ; [.391E.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
-10449 ; [.391F.0020.0002.10449] # DESERET SMALL LETTER ER
-10421 ; [.391F.0020.0008.10421] # DESERET CAPITAL LETTER ER
-1044A ; [.3920.0020.0002.1044A] # DESERET SMALL LETTER EL
-10422 ; [.3920.0020.0008.10422] # DESERET CAPITAL LETTER EL
-1044B ; [.3921.0020.0002.1044B] # DESERET SMALL LETTER EM
-10423 ; [.3921.0020.0008.10423] # DESERET CAPITAL LETTER EM
-1044C ; [.3922.0020.0002.1044C] # DESERET SMALL LETTER EN
-10424 ; [.3922.0020.0008.10424] # DESERET CAPITAL LETTER EN
-1044D ; [.3923.0020.0002.1044D] # DESERET SMALL LETTER ENG
-10425 ; [.3923.0020.0008.10425] # DESERET CAPITAL LETTER ENG
-1044E ; [.3924.0020.0002.1044E] # DESERET SMALL LETTER OI
-10426 ; [.3924.0020.0008.10426] # DESERET CAPITAL LETTER OI
-1044F ; [.3925.0020.0002.1044F] # DESERET SMALL LETTER EW
-10427 ; [.3925.0020.0008.10427] # DESERET CAPITAL LETTER EW
-10450 ; [.3926.0020.0002.10450] # SHAVIAN LETTER PEEP
-10451 ; [.3927.0020.0002.10451] # SHAVIAN LETTER TOT
-10452 ; [.3928.0020.0002.10452] # SHAVIAN LETTER KICK
-10453 ; [.3929.0020.0002.10453] # SHAVIAN LETTER FEE
-10454 ; [.392A.0020.0002.10454] # SHAVIAN LETTER THIGH
-10455 ; [.392B.0020.0002.10455] # SHAVIAN LETTER SO
-10456 ; [.392C.0020.0002.10456] # SHAVIAN LETTER SURE
-10457 ; [.392D.0020.0002.10457] # SHAVIAN LETTER CHURCH
-10458 ; [.392E.0020.0002.10458] # SHAVIAN LETTER YEA
-10459 ; [.392F.0020.0002.10459] # SHAVIAN LETTER HUNG
-1045A ; [.3930.0020.0002.1045A] # SHAVIAN LETTER BIB
-1045B ; [.3931.0020.0002.1045B] # SHAVIAN LETTER DEAD
-1045C ; [.3932.0020.0002.1045C] # SHAVIAN LETTER GAG
-1045D ; [.3933.0020.0002.1045D] # SHAVIAN LETTER VOW
-1045E ; [.3934.0020.0002.1045E] # SHAVIAN LETTER THEY
-1045F ; [.3935.0020.0002.1045F] # SHAVIAN LETTER ZOO
-10460 ; [.3936.0020.0002.10460] # SHAVIAN LETTER MEASURE
-10461 ; [.3937.0020.0002.10461] # SHAVIAN LETTER JUDGE
-10462 ; [.3938.0020.0002.10462] # SHAVIAN LETTER WOE
-10463 ; [.3939.0020.0002.10463] # SHAVIAN LETTER HA-HA
-10464 ; [.393A.0020.0002.10464] # SHAVIAN LETTER LOLL
-10465 ; [.393B.0020.0002.10465] # SHAVIAN LETTER MIME
-10466 ; [.393C.0020.0002.10466] # SHAVIAN LETTER IF
-10467 ; [.393D.0020.0002.10467] # SHAVIAN LETTER EGG
-10468 ; [.393E.0020.0002.10468] # SHAVIAN LETTER ASH
-10469 ; [.393F.0020.0002.10469] # SHAVIAN LETTER ADO
-1046A ; [.3940.0020.0002.1046A] # SHAVIAN LETTER ON
-1046B ; [.3941.0020.0002.1046B] # SHAVIAN LETTER WOOL
-1046C ; [.3942.0020.0002.1046C] # SHAVIAN LETTER OUT
-1046D ; [.3943.0020.0002.1046D] # SHAVIAN LETTER AH
-1046E ; [.3944.0020.0002.1046E] # SHAVIAN LETTER ROAR
-1046F ; [.3945.0020.0002.1046F] # SHAVIAN LETTER NUN
-10470 ; [.3946.0020.0002.10470] # SHAVIAN LETTER EAT
-10471 ; [.3947.0020.0002.10471] # SHAVIAN LETTER AGE
-10472 ; [.3948.0020.0002.10472] # SHAVIAN LETTER ICE
-10473 ; [.3949.0020.0002.10473] # SHAVIAN LETTER UP
-10474 ; [.394A.0020.0002.10474] # SHAVIAN LETTER OAK
-10475 ; [.394B.0020.0002.10475] # SHAVIAN LETTER OOZE
-10476 ; [.394C.0020.0002.10476] # SHAVIAN LETTER OIL
-10477 ; [.394D.0020.0002.10477] # SHAVIAN LETTER AWE
-10478 ; [.394E.0020.0002.10478] # SHAVIAN LETTER ARE
-10479 ; [.394F.0020.0002.10479] # SHAVIAN LETTER OR
-1047A ; [.3950.0020.0002.1047A] # SHAVIAN LETTER AIR
-1047B ; [.3951.0020.0002.1047B] # SHAVIAN LETTER ERR
-1047C ; [.3952.0020.0002.1047C] # SHAVIAN LETTER ARRAY
-1047D ; [.3953.0020.0002.1047D] # SHAVIAN LETTER EAR
-1047E ; [.3954.0020.0002.1047E] # SHAVIAN LETTER IAN
-1047F ; [.3955.0020.0002.1047F] # SHAVIAN LETTER YEW
-10480 ; [.3956.0020.0002.10480] # OSMANYA LETTER ALEF
-10481 ; [.3957.0020.0002.10481] # OSMANYA LETTER BA
-10482 ; [.3958.0020.0002.10482] # OSMANYA LETTER TA
-10483 ; [.3959.0020.0002.10483] # OSMANYA LETTER JA
-10484 ; [.395A.0020.0002.10484] # OSMANYA LETTER XA
-10485 ; [.395B.0020.0002.10485] # OSMANYA LETTER KHA
-10486 ; [.395C.0020.0002.10486] # OSMANYA LETTER DEEL
-10487 ; [.395D.0020.0002.10487] # OSMANYA LETTER RA
-10488 ; [.395E.0020.0002.10488] # OSMANYA LETTER SA
-10489 ; [.395F.0020.0002.10489] # OSMANYA LETTER SHIIN
-1048A ; [.3960.0020.0002.1048A] # OSMANYA LETTER DHA
-1048B ; [.3961.0020.0002.1048B] # OSMANYA LETTER CAYN
-1048C ; [.3962.0020.0002.1048C] # OSMANYA LETTER GA
-1048D ; [.3963.0020.0002.1048D] # OSMANYA LETTER FA
-1048E ; [.3964.0020.0002.1048E] # OSMANYA LETTER QAAF
-1048F ; [.3965.0020.0002.1048F] # OSMANYA LETTER KAAF
-10490 ; [.3966.0020.0002.10490] # OSMANYA LETTER LAAN
-10491 ; [.3967.0020.0002.10491] # OSMANYA LETTER MIIN
-10492 ; [.3968.0020.0002.10492] # OSMANYA LETTER NUUN
-10493 ; [.3969.0020.0002.10493] # OSMANYA LETTER WAW
-10494 ; [.396A.0020.0002.10494] # OSMANYA LETTER HA
-10495 ; [.396B.0020.0002.10495] # OSMANYA LETTER YA
-10496 ; [.396C.0020.0002.10496] # OSMANYA LETTER A
-10497 ; [.396D.0020.0002.10497] # OSMANYA LETTER E
-10498 ; [.396E.0020.0002.10498] # OSMANYA LETTER I
-10499 ; [.396F.0020.0002.10499] # OSMANYA LETTER O
-1049A ; [.3970.0020.0002.1049A] # OSMANYA LETTER U
-1049B ; [.3971.0020.0002.1049B] # OSMANYA LETTER AA
-1049C ; [.3972.0020.0002.1049C] # OSMANYA LETTER EE
-1049D ; [.3973.0020.0002.1049D] # OSMANYA LETTER OO
-110D0 ; [.3974.0020.0002.110D0] # SORA SOMPENG LETTER SAH
-110D1 ; [.3975.0020.0002.110D1] # SORA SOMPENG LETTER TAH
-110D2 ; [.3976.0020.0002.110D2] # SORA SOMPENG LETTER BAH
-110D3 ; [.3977.0020.0002.110D3] # SORA SOMPENG LETTER CAH
-110D4 ; [.3978.0020.0002.110D4] # SORA SOMPENG LETTER DAH
-110D5 ; [.3979.0020.0002.110D5] # SORA SOMPENG LETTER GAH
-110D6 ; [.397A.0020.0002.110D6] # SORA SOMPENG LETTER MAH
-110D7 ; [.397B.0020.0002.110D7] # SORA SOMPENG LETTER NGAH
-110D8 ; [.397C.0020.0002.110D8] # SORA SOMPENG LETTER LAH
-110D9 ; [.397D.0020.0002.110D9] # SORA SOMPENG LETTER NAH
-110DA ; [.397E.0020.0002.110DA] # SORA SOMPENG LETTER VAH
-110DB ; [.397F.0020.0002.110DB] # SORA SOMPENG LETTER PAH
-110DC ; [.3980.0020.0002.110DC] # SORA SOMPENG LETTER YAH
-110DD ; [.3981.0020.0002.110DD] # SORA SOMPENG LETTER RAH
-110DE ; [.3982.0020.0002.110DE] # SORA SOMPENG LETTER HAH
-110DF ; [.3983.0020.0002.110DF] # SORA SOMPENG LETTER KAH
-110E0 ; [.3984.0020.0002.110E0] # SORA SOMPENG LETTER JAH
-110E1 ; [.3985.0020.0002.110E1] # SORA SOMPENG LETTER NYAH
-110E2 ; [.3986.0020.0002.110E2] # SORA SOMPENG LETTER AH
-110E3 ; [.3987.0020.0002.110E3] # SORA SOMPENG LETTER EEH
-110E4 ; [.3988.0020.0002.110E4] # SORA SOMPENG LETTER IH
-110E5 ; [.3989.0020.0002.110E5] # SORA SOMPENG LETTER UH
-110E6 ; [.398A.0020.0002.110E6] # SORA SOMPENG LETTER OH
-110E7 ; [.398B.0020.0002.110E7] # SORA SOMPENG LETTER EH
-110E8 ; [.398C.0020.0002.110E8] # SORA SOMPENG LETTER MAE
-10000 ; [.398D.0020.0002.10000] # LINEAR B SYLLABLE B008 A
-10001 ; [.398E.0020.0002.10001] # LINEAR B SYLLABLE B038 E
-10002 ; [.398F.0020.0002.10002] # LINEAR B SYLLABLE B028 I
-10003 ; [.3990.0020.0002.10003] # LINEAR B SYLLABLE B061 O
-10004 ; [.3991.0020.0002.10004] # LINEAR B SYLLABLE B010 U
-10005 ; [.3992.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
-10006 ; [.3993.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
-10007 ; [.3994.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
-10008 ; [.3995.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
-10009 ; [.3996.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
-1000A ; [.3997.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
-1000B ; [.3998.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
-1000D ; [.3999.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
-1000E ; [.399A.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
-1000F ; [.399B.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
-10010 ; [.399C.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
-10011 ; [.399D.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
-10012 ; [.399E.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
-10013 ; [.399F.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
-10014 ; [.39A0.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
-10015 ; [.39A1.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
-10016 ; [.39A2.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
-10017 ; [.39A3.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
-10018 ; [.39A4.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
-10019 ; [.39A5.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
-1001A ; [.39A6.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
-1001B ; [.39A7.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
-1001C ; [.39A8.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
-1001D ; [.39A9.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
-1001E ; [.39AA.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
-1001F ; [.39AB.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
-10020 ; [.39AC.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
-10021 ; [.39AD.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
-10022 ; [.39AE.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
-10023 ; [.39AF.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
-10024 ; [.39B0.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
-10025 ; [.39B1.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
-10026 ; [.39B2.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
-10028 ; [.39B3.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
-10029 ; [.39B4.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
-1002A ; [.39B5.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
-1002B ; [.39B6.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
-1002C ; [.39B7.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
-1002D ; [.39B8.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
-1002E ; [.39B9.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
-1002F ; [.39BA.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
-10030 ; [.39BB.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
-10031 ; [.39BC.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
-10032 ; [.39BD.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
-10033 ; [.39BE.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
-10034 ; [.39BF.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
-10035 ; [.39C0.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
-10036 ; [.39C1.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
-10037 ; [.39C2.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
-10038 ; [.39C3.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
-10039 ; [.39C4.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
-1003A ; [.39C5.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
-1003C ; [.39C6.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
-1003D ; [.39C7.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
-1003F ; [.39C8.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
-10040 ; [.39C9.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
-10041 ; [.39CA.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
-10042 ; [.39CB.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
-10043 ; [.39CC.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
-10044 ; [.39CD.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
-10045 ; [.39CE.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
-10046 ; [.39CF.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
-10047 ; [.39D0.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
-10048 ; [.39D1.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
-10049 ; [.39D2.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
-1004A ; [.39D3.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
-1004B ; [.39D4.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
-1004C ; [.39D5.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
-1004D ; [.39D6.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
-10050 ; [.39D7.0020.0002.10050] # LINEAR B SYMBOL B018
-10051 ; [.39D8.0020.0002.10051] # LINEAR B SYMBOL B019
-10052 ; [.39D9.0020.0002.10052] # LINEAR B SYMBOL B022
-10053 ; [.39DA.0020.0002.10053] # LINEAR B SYMBOL B034
-10054 ; [.39DB.0020.0002.10054] # LINEAR B SYMBOL B047
-10055 ; [.39DC.0020.0002.10055] # LINEAR B SYMBOL B049
-10056 ; [.39DD.0020.0002.10056] # LINEAR B SYMBOL B056
-10057 ; [.39DE.0020.0002.10057] # LINEAR B SYMBOL B063
-10058 ; [.39DF.0020.0002.10058] # LINEAR B SYMBOL B064
-10059 ; [.39E0.0020.0002.10059] # LINEAR B SYMBOL B079
-1005A ; [.39E1.0020.0002.1005A] # LINEAR B SYMBOL B082
-1005B ; [.39E2.0020.0002.1005B] # LINEAR B SYMBOL B083
-1005C ; [.39E3.0020.0002.1005C] # LINEAR B SYMBOL B086
-1005D ; [.39E4.0020.0002.1005D] # LINEAR B SYMBOL B089
-10080 ; [.39E5.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
-10081 ; [.39E6.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
-10082 ; [.39E7.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
-10083 ; [.39E8.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
-10084 ; [.39E9.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
-10085 ; [.39EA.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
-10086 ; [.39EB.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
-10087 ; [.39EC.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
-10088 ; [.39ED.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 ; [.39EE.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A ; [.39EF.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
-1008B ; [.39F0.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
-1008C ; [.39F1.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
-1008D ; [.39F2.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
-1008E ; [.39F3.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
-1008F ; [.39F4.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
-10090 ; [.39F5.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
-10091 ; [.39F6.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
-10092 ; [.39F7.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
-10093 ; [.39F8.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
-10094 ; [.39F9.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
-10095 ; [.39FA.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
-10096 ; [.39FB.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
-10097 ; [.39FC.0020.0002.10097] # LINEAR B IDEOGRAM B132
-10098 ; [.39FD.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
-10099 ; [.39FE.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
-1009A ; [.39FF.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
-1009B ; [.3A00.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
-1009C ; [.3A01.0020.0002.1009C] # LINEAR B IDEOGRAM B142
-1009D ; [.3A02.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
-1009E ; [.3A03.0020.0002.1009E] # LINEAR B IDEOGRAM B146
-1009F ; [.3A04.0020.0002.1009F] # LINEAR B IDEOGRAM B150
-100A0 ; [.3A05.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
-100A1 ; [.3A06.0020.0002.100A1] # LINEAR B IDEOGRAM B152
-100A2 ; [.3A07.0020.0002.100A2] # LINEAR B IDEOGRAM B153
-100A3 ; [.3A08.0020.0002.100A3] # LINEAR B IDEOGRAM B154
-100A4 ; [.3A09.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
-100A5 ; [.3A0A.0020.0002.100A5] # LINEAR B IDEOGRAM B157
-100A6 ; [.3A0B.0020.0002.100A6] # LINEAR B IDEOGRAM B158
-100A7 ; [.3A0C.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
-100A8 ; [.3A0D.0020.0002.100A8] # LINEAR B IDEOGRAM B160
-100A9 ; [.3A0E.0020.0002.100A9] # LINEAR B IDEOGRAM B161
-100AA ; [.3A0F.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
-100AB ; [.3A10.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
-100AC ; [.3A11.0020.0002.100AC] # LINEAR B IDEOGRAM B164
-100AD ; [.3A12.0020.0002.100AD] # LINEAR B IDEOGRAM B165
-100AE ; [.3A13.0020.0002.100AE] # LINEAR B IDEOGRAM B166
-100AF ; [.3A14.0020.0002.100AF] # LINEAR B IDEOGRAM B167
-100B0 ; [.3A15.0020.0002.100B0] # LINEAR B IDEOGRAM B168
-100B1 ; [.3A16.0020.0002.100B1] # LINEAR B IDEOGRAM B169
-100B2 ; [.3A17.0020.0002.100B2] # LINEAR B IDEOGRAM B170
-100B3 ; [.3A18.0020.0002.100B3] # LINEAR B IDEOGRAM B171
-100B4 ; [.3A19.0020.0002.100B4] # LINEAR B IDEOGRAM B172
-100B5 ; [.3A1A.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
-100B6 ; [.3A1B.0020.0002.100B6] # LINEAR B IDEOGRAM B174
-100B7 ; [.3A1C.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
-100B8 ; [.3A1D.0020.0002.100B8] # LINEAR B IDEOGRAM B177
-100B9 ; [.3A1E.0020.0002.100B9] # LINEAR B IDEOGRAM B178
-100BA ; [.3A1F.0020.0002.100BA] # LINEAR B IDEOGRAM B179
-100BB ; [.3A20.0020.0002.100BB] # LINEAR B IDEOGRAM B180
-100BC ; [.3A21.0020.0002.100BC] # LINEAR B IDEOGRAM B181
-100BD ; [.3A22.0020.0002.100BD] # LINEAR B IDEOGRAM B182
-100BE ; [.3A23.0020.0002.100BE] # LINEAR B IDEOGRAM B183
-100BF ; [.3A24.0020.0002.100BF] # LINEAR B IDEOGRAM B184
-100C0 ; [.3A25.0020.0002.100C0] # LINEAR B IDEOGRAM B185
-100C1 ; [.3A26.0020.0002.100C1] # LINEAR B IDEOGRAM B189
-100C2 ; [.3A27.0020.0002.100C2] # LINEAR B IDEOGRAM B190
-100C3 ; [.3A28.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
-100C4 ; [.3A29.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 ; [.3A2A.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
-100C6 ; [.3A2B.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
-100C7 ; [.3A2C.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
-100C8 ; [.3A2D.0020.0002.100C8] # LINEAR B IDEOGRAM B232
-100C9 ; [.3A2E.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
-100CA ; [.3A2F.0020.0002.100CA] # LINEAR B IDEOGRAM B234
-100CB ; [.3A30.0020.0002.100CB] # LINEAR B IDEOGRAM B236
-100CC ; [.3A31.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD ; [.3A32.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
-100CE ; [.3A33.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF ; [.3A34.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
-100D0 ; [.3A35.0020.0002.100D0] # LINEAR B IDEOGRAM B245
-100D1 ; [.3A36.0020.0002.100D1] # LINEAR B IDEOGRAM B246
-100D2 ; [.3A37.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
-100D3 ; [.3A38.0020.0002.100D3] # LINEAR B IDEOGRAM B248
-100D4 ; [.3A39.0020.0002.100D4] # LINEAR B IDEOGRAM B249
-100D5 ; [.3A3A.0020.0002.100D5] # LINEAR B IDEOGRAM B251
-100D6 ; [.3A3B.0020.0002.100D6] # LINEAR B IDEOGRAM B252
-100D7 ; [.3A3C.0020.0002.100D7] # LINEAR B IDEOGRAM B253
-100D8 ; [.3A3D.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
-100D9 ; [.3A3E.0020.0002.100D9] # LINEAR B IDEOGRAM B255
-100DA ; [.3A3F.0020.0002.100DA] # LINEAR B IDEOGRAM B256
-100DB ; [.3A40.0020.0002.100DB] # LINEAR B IDEOGRAM B257
-100DC ; [.3A41.0020.0002.100DC] # LINEAR B IDEOGRAM B258
-100DD ; [.3A42.0020.0002.100DD] # LINEAR B IDEOGRAM B259
-100DE ; [.3A43.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
-100DF ; [.3A44.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
-100E0 ; [.3A45.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
-100E1 ; [.3A46.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
-100E2 ; [.3A47.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
-100E3 ; [.3A48.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
-100E4 ; [.3A49.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
-100E5 ; [.3A4A.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
-100E6 ; [.3A4B.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
-100E7 ; [.3A4C.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
-100E8 ; [.3A4D.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
-100E9 ; [.3A4E.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
-100EA ; [.3A4F.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
-100EB ; [.3A50.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
-100EC ; [.3A51.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
-100ED ; [.3A52.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
-100EE ; [.3A53.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
-100EF ; [.3A54.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
-100F0 ; [.3A55.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
-100F1 ; [.3A56.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
-100F2 ; [.3A57.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
-100F3 ; [.3A58.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
-100F4 ; [.3A59.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
-100F5 ; [.3A5A.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
-100F6 ; [.3A5B.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
-100F7 ; [.3A5C.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
-100F8 ; [.3A5D.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
-100F9 ; [.3A5E.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
-100FA ; [.3A5F.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
-10800 ; [.3A60.0020.0002.10800] # CYPRIOT SYLLABLE A
-10801 ; [.3A61.0020.0002.10801] # CYPRIOT SYLLABLE E
-10802 ; [.3A62.0020.0002.10802] # CYPRIOT SYLLABLE I
-10803 ; [.3A63.0020.0002.10803] # CYPRIOT SYLLABLE O
-10804 ; [.3A64.0020.0002.10804] # CYPRIOT SYLLABLE U
-10805 ; [.3A65.0020.0002.10805] # CYPRIOT SYLLABLE JA
-10808 ; [.3A66.0020.0002.10808] # CYPRIOT SYLLABLE JO
-1080A ; [.3A67.0020.0002.1080A] # CYPRIOT SYLLABLE KA
-1080B ; [.3A68.0020.0002.1080B] # CYPRIOT SYLLABLE KE
-1080C ; [.3A69.0020.0002.1080C] # CYPRIOT SYLLABLE KI
-1080D ; [.3A6A.0020.0002.1080D] # CYPRIOT SYLLABLE KO
-1080E ; [.3A6B.0020.0002.1080E] # CYPRIOT SYLLABLE KU
-1080F ; [.3A6C.0020.0002.1080F] # CYPRIOT SYLLABLE LA
-10810 ; [.3A6D.0020.0002.10810] # CYPRIOT SYLLABLE LE
-10811 ; [.3A6E.0020.0002.10811] # CYPRIOT SYLLABLE LI
-10812 ; [.3A6F.0020.0002.10812] # CYPRIOT SYLLABLE LO
-10813 ; [.3A70.0020.0002.10813] # CYPRIOT SYLLABLE LU
-10814 ; [.3A71.0020.0002.10814] # CYPRIOT SYLLABLE MA
-10815 ; [.3A72.0020.0002.10815] # CYPRIOT SYLLABLE ME
-10816 ; [.3A73.0020.0002.10816] # CYPRIOT SYLLABLE MI
-10817 ; [.3A74.0020.0002.10817] # CYPRIOT SYLLABLE MO
-10818 ; [.3A75.0020.0002.10818] # CYPRIOT SYLLABLE MU
-10819 ; [.3A76.0020.0002.10819] # CYPRIOT SYLLABLE NA
-1081A ; [.3A77.0020.0002.1081A] # CYPRIOT SYLLABLE NE
-1081B ; [.3A78.0020.0002.1081B] # CYPRIOT SYLLABLE NI
-1081C ; [.3A79.0020.0002.1081C] # CYPRIOT SYLLABLE NO
-1081D ; [.3A7A.0020.0002.1081D] # CYPRIOT SYLLABLE NU
-1081E ; [.3A7B.0020.0002.1081E] # CYPRIOT SYLLABLE PA
-1081F ; [.3A7C.0020.0002.1081F] # CYPRIOT SYLLABLE PE
-10820 ; [.3A7D.0020.0002.10820] # CYPRIOT SYLLABLE PI
-10821 ; [.3A7E.0020.0002.10821] # CYPRIOT SYLLABLE PO
-10822 ; [.3A7F.0020.0002.10822] # CYPRIOT SYLLABLE PU
-10823 ; [.3A80.0020.0002.10823] # CYPRIOT SYLLABLE RA
-10824 ; [.3A81.0020.0002.10824] # CYPRIOT SYLLABLE RE
-10825 ; [.3A82.0020.0002.10825] # CYPRIOT SYLLABLE RI
-10826 ; [.3A83.0020.0002.10826] # CYPRIOT SYLLABLE RO
-10827 ; [.3A84.0020.0002.10827] # CYPRIOT SYLLABLE RU
-10828 ; [.3A85.0020.0002.10828] # CYPRIOT SYLLABLE SA
-10829 ; [.3A86.0020.0002.10829] # CYPRIOT SYLLABLE SE
-1082A ; [.3A87.0020.0002.1082A] # CYPRIOT SYLLABLE SI
-1082B ; [.3A88.0020.0002.1082B] # CYPRIOT SYLLABLE SO
-1082C ; [.3A89.0020.0002.1082C] # CYPRIOT SYLLABLE SU
-1082D ; [.3A8A.0020.0002.1082D] # CYPRIOT SYLLABLE TA
-1082E ; [.3A8B.0020.0002.1082E] # CYPRIOT SYLLABLE TE
-1082F ; [.3A8C.0020.0002.1082F] # CYPRIOT SYLLABLE TI
-10830 ; [.3A8D.0020.0002.10830] # CYPRIOT SYLLABLE TO
-10831 ; [.3A8E.0020.0002.10831] # CYPRIOT SYLLABLE TU
-10832 ; [.3A8F.0020.0002.10832] # CYPRIOT SYLLABLE WA
-10833 ; [.3A90.0020.0002.10833] # CYPRIOT SYLLABLE WE
-10834 ; [.3A91.0020.0002.10834] # CYPRIOT SYLLABLE WI
-10835 ; [.3A92.0020.0002.10835] # CYPRIOT SYLLABLE WO
-10837 ; [.3A93.0020.0002.10837] # CYPRIOT SYLLABLE XA
-10838 ; [.3A94.0020.0002.10838] # CYPRIOT SYLLABLE XE
-1083C ; [.3A95.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
-1083F ; [.3A96.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
-10A60 ; [.3A97.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
-10A61 ; [.3A98.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62 ; [.3A99.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
-10A63 ; [.3A9A.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
-10A64 ; [.3A9B.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
-10A65 ; [.3A9C.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
-10A66 ; [.3A9D.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
-10A67 ; [.3A9E.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
-10A68 ; [.3A9F.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
-10A69 ; [.3AA0.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
-10A6A ; [.3AA1.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
-10A6B ; [.3AA2.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
-10A6C ; [.3AA3.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
-10A6D ; [.3AA4.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
-10A6E ; [.3AA5.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
-10A6F ; [.3AA6.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70 ; [.3AA7.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
-10A71 ; [.3AA8.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
-10A72 ; [.3AA9.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
-10A73 ; [.3AAA.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
-10A74 ; [.3AAB.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
-10A75 ; [.3AAC.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
-10A76 ; [.3AAD.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
-10A77 ; [.3AAE.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
-10A78 ; [.3AAF.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
-10A79 ; [.3AB0.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A ; [.3AB1.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
-10A7B ; [.3AB2.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
-10A7C ; [.3AB3.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
-10B00 ; [.3AB4.0020.0002.10B00] # AVESTAN LETTER A
-10B01 ; [.3AB5.0020.0002.10B01] # AVESTAN LETTER AA
-10B02 ; [.3AB6.0020.0002.10B02] # AVESTAN LETTER AO
-10B03 ; [.3AB7.0020.0002.10B03] # AVESTAN LETTER AAO
-10B04 ; [.3AB8.0020.0002.10B04] # AVESTAN LETTER AN
-10B05 ; [.3AB9.0020.0002.10B05] # AVESTAN LETTER AAN
-10B06 ; [.3ABA.0020.0002.10B06] # AVESTAN LETTER AE
-10B07 ; [.3ABB.0020.0002.10B07] # AVESTAN LETTER AEE
-10B08 ; [.3ABC.0020.0002.10B08] # AVESTAN LETTER E
-10B09 ; [.3ABD.0020.0002.10B09] # AVESTAN LETTER EE
-10B0A ; [.3ABE.0020.0002.10B0A] # AVESTAN LETTER O
-10B0B ; [.3ABF.0020.0002.10B0B] # AVESTAN LETTER OO
-10B0C ; [.3AC0.0020.0002.10B0C] # AVESTAN LETTER I
-10B0D ; [.3AC1.0020.0002.10B0D] # AVESTAN LETTER II
-10B0E ; [.3AC2.0020.0002.10B0E] # AVESTAN LETTER U
-10B0F ; [.3AC3.0020.0002.10B0F] # AVESTAN LETTER UU
-10B10 ; [.3AC4.0020.0002.10B10] # AVESTAN LETTER KE
-10B11 ; [.3AC5.0020.0002.10B11] # AVESTAN LETTER XE
-10B12 ; [.3AC6.0020.0002.10B12] # AVESTAN LETTER XYE
-10B13 ; [.3AC7.0020.0002.10B13] # AVESTAN LETTER XVE
-10B14 ; [.3AC8.0020.0002.10B14] # AVESTAN LETTER GE
-10B15 ; [.3AC9.0020.0002.10B15] # AVESTAN LETTER GGE
-10B16 ; [.3ACA.0020.0002.10B16] # AVESTAN LETTER GHE
-10B17 ; [.3ACB.0020.0002.10B17] # AVESTAN LETTER CE
-10B18 ; [.3ACC.0020.0002.10B18] # AVESTAN LETTER JE
-10B19 ; [.3ACD.0020.0002.10B19] # AVESTAN LETTER TE
-10B1A ; [.3ACE.0020.0002.10B1A] # AVESTAN LETTER THE
-10B1B ; [.3ACF.0020.0002.10B1B] # AVESTAN LETTER DE
-10B1C ; [.3AD0.0020.0002.10B1C] # AVESTAN LETTER DHE
-10B1D ; [.3AD1.0020.0002.10B1D] # AVESTAN LETTER TTE
-10B1E ; [.3AD2.0020.0002.10B1E] # AVESTAN LETTER PE
-10B1F ; [.3AD3.0020.0002.10B1F] # AVESTAN LETTER FE
-10B20 ; [.3AD4.0020.0002.10B20] # AVESTAN LETTER BE
-10B21 ; [.3AD5.0020.0002.10B21] # AVESTAN LETTER BHE
-10B22 ; [.3AD6.0020.0002.10B22] # AVESTAN LETTER NGE
-10B23 ; [.3AD7.0020.0002.10B23] # AVESTAN LETTER NGYE
-10B24 ; [.3AD8.0020.0002.10B24] # AVESTAN LETTER NGVE
-10B25 ; [.3AD9.0020.0002.10B25] # AVESTAN LETTER NE
-10B26 ; [.3ADA.0020.0002.10B26] # AVESTAN LETTER NYE
-10B27 ; [.3ADB.0020.0002.10B27] # AVESTAN LETTER NNE
-10B28 ; [.3ADC.0020.0002.10B28] # AVESTAN LETTER ME
-10B29 ; [.3ADD.0020.0002.10B29] # AVESTAN LETTER HME
-10B2A ; [.3ADE.0020.0002.10B2A] # AVESTAN LETTER YYE
-10B2B ; [.3ADF.0020.0002.10B2B] # AVESTAN LETTER YE
-10B2C ; [.3AE0.0020.0002.10B2C] # AVESTAN LETTER VE
-10B2D ; [.3AE1.0020.0002.10B2D] # AVESTAN LETTER RE
-10B2E ; [.3AE1.0020.0004.10B2E][.0000.0139.0004.10B2E] # AVESTAN LETTER LE
-10B2F ; [.3AE2.0020.0002.10B2F] # AVESTAN LETTER SE
-10B30 ; [.3AE3.0020.0002.10B30] # AVESTAN LETTER ZE
-10B31 ; [.3AE4.0020.0002.10B31] # AVESTAN LETTER SHE
-10B32 ; [.3AE5.0020.0002.10B32] # AVESTAN LETTER ZHE
-10B33 ; [.3AE6.0020.0002.10B33] # AVESTAN LETTER SHYE
-10B34 ; [.3AE7.0020.0002.10B34] # AVESTAN LETTER SSHE
-10B35 ; [.3AE8.0020.0002.10B35] # AVESTAN LETTER HE
-10840 ; [.3AE9.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
-10841 ; [.3AEA.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
-10842 ; [.3AEB.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
-10843 ; [.3AEC.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
-10844 ; [.3AED.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
-10845 ; [.3AEE.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
-10846 ; [.3AEF.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
-10847 ; [.3AF0.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
-10848 ; [.3AF1.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
-10849 ; [.3AF2.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
-1084A ; [.3AF3.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
-1084B ; [.3AF4.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C ; [.3AF5.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
-1084D ; [.3AF6.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
-1084E ; [.3AF7.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F ; [.3AF8.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
-10850 ; [.3AF9.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
-10851 ; [.3AFA.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
-10852 ; [.3AFB.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
-10853 ; [.3AFC.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
-10854 ; [.3AFD.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
-10855 ; [.3AFE.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
-10B40 ; [.3AFF.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 ; [.3B00.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 ; [.3B01.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 ; [.3B02.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 ; [.3B03.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 ; [.3B04.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 ; [.3B05.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 ; [.3B06.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 ; [.3B07.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 ; [.3B08.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A ; [.3B09.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B ; [.3B0A.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C ; [.3B0B.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D ; [.3B0C.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E ; [.3B0D.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F ; [.3B0E.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 ; [.3B0F.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 ; [.3B10.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 ; [.3B11.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 ; [.3B12.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 ; [.3B13.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 ; [.3B14.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60 ; [.3B15.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 ; [.3B16.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 ; [.3B17.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 ; [.3B18.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 ; [.3B19.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 ; [.3B1A.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 ; [.3B1B.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 ; [.3B1C.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 ; [.3B1D.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 ; [.3B1E.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A ; [.3B1F.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B ; [.3B20.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C ; [.3B21.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D ; [.3B22.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E ; [.3B23.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F ; [.3B24.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 ; [.3B25.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 ; [.3B26.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 ; [.3B27.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
-10380 ; [.3B28.0020.0002.10380] # UGARITIC LETTER ALPA
-10381 ; [.3B29.0020.0002.10381] # UGARITIC LETTER BETA
-10382 ; [.3B2A.0020.0002.10382] # UGARITIC LETTER GAMLA
-10383 ; [.3B2B.0020.0002.10383] # UGARITIC LETTER KHA
-10384 ; [.3B2C.0020.0002.10384] # UGARITIC LETTER DELTA
-10385 ; [.3B2D.0020.0002.10385] # UGARITIC LETTER HO
-10386 ; [.3B2E.0020.0002.10386] # UGARITIC LETTER WO
-10387 ; [.3B2F.0020.0002.10387] # UGARITIC LETTER ZETA
-10388 ; [.3B30.0020.0002.10388] # UGARITIC LETTER HOTA
-10389 ; [.3B31.0020.0002.10389] # UGARITIC LETTER TET
-1038A ; [.3B32.0020.0002.1038A] # UGARITIC LETTER YOD
-1038B ; [.3B33.0020.0002.1038B] # UGARITIC LETTER KAF
-1038C ; [.3B34.0020.0002.1038C] # UGARITIC LETTER SHIN
-1038D ; [.3B35.0020.0002.1038D] # UGARITIC LETTER LAMDA
-1038E ; [.3B36.0020.0002.1038E] # UGARITIC LETTER MEM
-1038F ; [.3B37.0020.0002.1038F] # UGARITIC LETTER DHAL
-10390 ; [.3B38.0020.0002.10390] # UGARITIC LETTER NUN
-10391 ; [.3B39.0020.0002.10391] # UGARITIC LETTER ZU
-10392 ; [.3B3A.0020.0002.10392] # UGARITIC LETTER SAMKA
-10393 ; [.3B3B.0020.0002.10393] # UGARITIC LETTER AIN
-10394 ; [.3B3C.0020.0002.10394] # UGARITIC LETTER PU
-10395 ; [.3B3D.0020.0002.10395] # UGARITIC LETTER SADE
-10396 ; [.3B3E.0020.0002.10396] # UGARITIC LETTER QOPA
-10397 ; [.3B3F.0020.0002.10397] # UGARITIC LETTER RASHA
-10398 ; [.3B40.0020.0002.10398] # UGARITIC LETTER THANNA
-10399 ; [.3B41.0020.0002.10399] # UGARITIC LETTER GHAIN
-1039A ; [.3B42.0020.0002.1039A] # UGARITIC LETTER TO
-1039B ; [.3B43.0020.0002.1039B] # UGARITIC LETTER I
-1039C ; [.3B44.0020.0002.1039C] # UGARITIC LETTER U
-1039D ; [.3B45.0020.0002.1039D] # UGARITIC LETTER SSU
-103A0 ; [.3B46.0020.0002.103A0] # OLD PERSIAN SIGN A
-103A1 ; [.3B47.0020.0002.103A1] # OLD PERSIAN SIGN I
-103A2 ; [.3B48.0020.0002.103A2] # OLD PERSIAN SIGN U
-103A3 ; [.3B49.0020.0002.103A3] # OLD PERSIAN SIGN KA
-103A4 ; [.3B4A.0020.0002.103A4] # OLD PERSIAN SIGN KU
-103A5 ; [.3B4B.0020.0002.103A5] # OLD PERSIAN SIGN GA
-103A6 ; [.3B4C.0020.0002.103A6] # OLD PERSIAN SIGN GU
-103A7 ; [.3B4D.0020.0002.103A7] # OLD PERSIAN SIGN XA
-103A8 ; [.3B4E.0020.0002.103A8] # OLD PERSIAN SIGN CA
-103A9 ; [.3B4F.0020.0002.103A9] # OLD PERSIAN SIGN JA
-103AA ; [.3B50.0020.0002.103AA] # OLD PERSIAN SIGN JI
-103AB ; [.3B51.0020.0002.103AB] # OLD PERSIAN SIGN TA
-103AC ; [.3B52.0020.0002.103AC] # OLD PERSIAN SIGN TU
-103AD ; [.3B53.0020.0002.103AD] # OLD PERSIAN SIGN DA
-103AE ; [.3B54.0020.0002.103AE] # OLD PERSIAN SIGN DI
-103AF ; [.3B55.0020.0002.103AF] # OLD PERSIAN SIGN DU
-103B0 ; [.3B56.0020.0002.103B0] # OLD PERSIAN SIGN THA
-103B1 ; [.3B57.0020.0002.103B1] # OLD PERSIAN SIGN PA
-103B2 ; [.3B58.0020.0002.103B2] # OLD PERSIAN SIGN BA
-103B3 ; [.3B59.0020.0002.103B3] # OLD PERSIAN SIGN FA
-103B4 ; [.3B5A.0020.0002.103B4] # OLD PERSIAN SIGN NA
-103B5 ; [.3B5B.0020.0002.103B5] # OLD PERSIAN SIGN NU
-103B6 ; [.3B5C.0020.0002.103B6] # OLD PERSIAN SIGN MA
-103B7 ; [.3B5D.0020.0002.103B7] # OLD PERSIAN SIGN MI
-103B8 ; [.3B5E.0020.0002.103B8] # OLD PERSIAN SIGN MU
-103B9 ; [.3B5F.0020.0002.103B9] # OLD PERSIAN SIGN YA
-103BA ; [.3B60.0020.0002.103BA] # OLD PERSIAN SIGN VA
-103BB ; [.3B61.0020.0002.103BB] # OLD PERSIAN SIGN VI
-103BC ; [.3B62.0020.0002.103BC] # OLD PERSIAN SIGN RA
-103BD ; [.3B63.0020.0002.103BD] # OLD PERSIAN SIGN RU
-103BE ; [.3B64.0020.0002.103BE] # OLD PERSIAN SIGN LA
-103BF ; [.3B65.0020.0002.103BF] # OLD PERSIAN SIGN SA
-103C0 ; [.3B66.0020.0002.103C0] # OLD PERSIAN SIGN ZA
-103C1 ; [.3B67.0020.0002.103C1] # OLD PERSIAN SIGN SHA
-103C2 ; [.3B68.0020.0002.103C2] # OLD PERSIAN SIGN SSA
-103C3 ; [.3B69.0020.0002.103C3] # OLD PERSIAN SIGN HA
-103C8 ; [.3B6A.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
-103C9 ; [.3B6B.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA ; [.3B6C.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB ; [.3B6D.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC ; [.3B6E.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
-103CD ; [.3B6F.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE ; [.3B70.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
-103CF ; [.3B71.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
-12000 ; [.3B72.0020.0002.12000] # CUNEIFORM SIGN A
-12001 ; [.3B73.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
-12002 ; [.3B74.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
-12003 ; [.3B75.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 ; [.3B76.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
-12005 ; [.3B77.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
-12006 ; [.3B78.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 ; [.3B79.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
-12008 ; [.3B7A.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
-12009 ; [.3B7B.0020.0002.12009] # CUNEIFORM SIGN A2
-1200A ; [.3B7C.0020.0002.1200A] # CUNEIFORM SIGN AB
-1200B ; [.3B7D.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
-1200C ; [.3B7E.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D ; [.3B7F.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
-1200E ; [.3B80.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F ; [.3B81.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
-12010 ; [.3B82.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 ; [.3B83.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
-12012 ; [.3B84.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
-12013 ; [.3B85.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
-12014 ; [.3B86.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 ; [.3B87.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
-12016 ; [.3B88.0020.0002.12016] # CUNEIFORM SIGN AB2
-12017 ; [.3B89.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
-12018 ; [.3B8A.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 ; [.3B8B.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A ; [.3B8C.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B ; [.3B8D.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C ; [.3B8E.0020.0002.1201C] # CUNEIFORM SIGN AD
-1201D ; [.3B8F.0020.0002.1201D] # CUNEIFORM SIGN AK
-1201E ; [.3B90.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
-1201F ; [.3B91.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 ; [.3B92.0020.0002.12020] # CUNEIFORM SIGN AL
-12021 ; [.3B93.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
-12022 ; [.3B94.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
-12023 ; [.3B95.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
-12024 ; [.3B96.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
-12025 ; [.3B97.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
-12026 ; [.3B98.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
-12027 ; [.3B99.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
-12028 ; [.3B9A.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
-12029 ; [.3B9B.0020.0002.12029] # CUNEIFORM SIGN ALAN
-1202A ; [.3B9C.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
-1202B ; [.3B9D.0020.0002.1202B] # CUNEIFORM SIGN AMAR
-1202C ; [.3B9E.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
-1202D ; [.3B9F.0020.0002.1202D] # CUNEIFORM SIGN AN
-1202E ; [.3BA0.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
-1202F ; [.3BA1.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
-12030 ; [.3BA2.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 ; [.3BA3.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 ; [.3BA4.0020.0002.12032] # CUNEIFORM SIGN ANSHE
-12033 ; [.3BA5.0020.0002.12033] # CUNEIFORM SIGN APIN
-12034 ; [.3BA6.0020.0002.12034] # CUNEIFORM SIGN ARAD
-12035 ; [.3BA7.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
-12036 ; [.3BA8.0020.0002.12036] # CUNEIFORM SIGN ARKAB
-12037 ; [.3BA9.0020.0002.12037] # CUNEIFORM SIGN ASAL2
-12038 ; [.3BAA.0020.0002.12038] # CUNEIFORM SIGN ASH
-12039 ; [.3BAB.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
-1203A ; [.3BAC.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
-1203B ; [.3BAD.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C ; [.3BAE.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D ; [.3BAF.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E ; [.3BB0.0020.0002.1203E] # CUNEIFORM SIGN ASH2
-1203F ; [.3BB1.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
-12040 ; [.3BB2.0020.0002.12040] # CUNEIFORM SIGN BA
-12041 ; [.3BB3.0020.0002.12041] # CUNEIFORM SIGN BAD
-12042 ; [.3BB4.0020.0002.12042] # CUNEIFORM SIGN BAG3
-12043 ; [.3BB5.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
-12044 ; [.3BB6.0020.0002.12044] # CUNEIFORM SIGN BAL
-12045 ; [.3BB7.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
-12046 ; [.3BB8.0020.0002.12046] # CUNEIFORM SIGN BALAG
-12047 ; [.3BB9.0020.0002.12047] # CUNEIFORM SIGN BAR
-12048 ; [.3BBA.0020.0002.12048] # CUNEIFORM SIGN BARA2
-12049 ; [.3BBB.0020.0002.12049] # CUNEIFORM SIGN BI
-1204A ; [.3BBC.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
-1204B ; [.3BBD.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
-1204C ; [.3BBE.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D ; [.3BBF.0020.0002.1204D] # CUNEIFORM SIGN BU
-1204E ; [.3BC0.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
-1204F ; [.3BC1.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
-12050 ; [.3BC2.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
-12051 ; [.3BC3.0020.0002.12051] # CUNEIFORM SIGN BULUG
-12052 ; [.3BC4.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
-12053 ; [.3BC5.0020.0002.12053] # CUNEIFORM SIGN BUR
-12054 ; [.3BC6.0020.0002.12054] # CUNEIFORM SIGN BUR2
-12055 ; [.3BC7.0020.0002.12055] # CUNEIFORM SIGN DA
-12056 ; [.3BC8.0020.0002.12056] # CUNEIFORM SIGN DAG
-12057 ; [.3BC9.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 ; [.3BCA.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 ; [.3BCB.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A ; [.3BCC.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B ; [.3BCD.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C ; [.3BCE.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D ; [.3BCF.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E ; [.3BD0.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F ; [.3BD1.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 ; [.3BD2.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 ; [.3BD3.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 ; [.3BD4.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 ; [.3BD5.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 ; [.3BD6.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 ; [.3BD7.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 ; [.3BD8.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 ; [.3BD9.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 ; [.3BDA.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 ; [.3BDB.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A ; [.3BDC.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B ; [.3BDD.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C ; [.3BDE.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D ; [.3BDF.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E ; [.3BE0.0020.0002.1206E] # CUNEIFORM SIGN DAM
-1206F ; [.3BE1.0020.0002.1206F] # CUNEIFORM SIGN DAR
-12070 ; [.3BE2.0020.0002.12070] # CUNEIFORM SIGN DARA3
-12071 ; [.3BE3.0020.0002.12071] # CUNEIFORM SIGN DARA4
-12072 ; [.3BE4.0020.0002.12072] # CUNEIFORM SIGN DI
-12073 ; [.3BE5.0020.0002.12073] # CUNEIFORM SIGN DIB
-12074 ; [.3BE6.0020.0002.12074] # CUNEIFORM SIGN DIM
-12075 ; [.3BE7.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
-12076 ; [.3BE8.0020.0002.12076] # CUNEIFORM SIGN DIM2
-12077 ; [.3BE9.0020.0002.12077] # CUNEIFORM SIGN DIN
-12078 ; [.3BEA.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 ; [.3BEB.0020.0002.12079] # CUNEIFORM SIGN DISH
-1207A ; [.3BEC.0020.0002.1207A] # CUNEIFORM SIGN DU
-1207B ; [.3BED.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
-1207C ; [.3BEE.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
-1207D ; [.3BEF.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
-1207E ; [.3BF0.0020.0002.1207E] # CUNEIFORM SIGN DUB
-1207F ; [.3BF1.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
-12080 ; [.3BF2.0020.0002.12080] # CUNEIFORM SIGN DUB2
-12081 ; [.3BF3.0020.0002.12081] # CUNEIFORM SIGN DUG
-12082 ; [.3BF4.0020.0002.12082] # CUNEIFORM SIGN DUGUD
-12083 ; [.3BF5.0020.0002.12083] # CUNEIFORM SIGN DUH
-12084 ; [.3BF6.0020.0002.12084] # CUNEIFORM SIGN DUN
-12085 ; [.3BF7.0020.0002.12085] # CUNEIFORM SIGN DUN3
-12086 ; [.3BF8.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
-12087 ; [.3BF9.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 ; [.3BFA.0020.0002.12088] # CUNEIFORM SIGN DUN4
-12089 ; [.3BFB.0020.0002.12089] # CUNEIFORM SIGN DUR2
-1208A ; [.3BFC.0020.0002.1208A] # CUNEIFORM SIGN E
-1208B ; [.3BFD.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
-1208C ; [.3BFE.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D ; [.3BFF.0020.0002.1208D] # CUNEIFORM SIGN E2
-1208E ; [.3C00.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F ; [.3C01.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
-12090 ; [.3C02.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
-12091 ; [.3C03.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
-12092 ; [.3C04.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
-12093 ; [.3C05.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
-12094 ; [.3C06.0020.0002.12094] # CUNEIFORM SIGN EDIN
-12095 ; [.3C07.0020.0002.12095] # CUNEIFORM SIGN EGIR
-12096 ; [.3C08.0020.0002.12096] # CUNEIFORM SIGN EL
-12097 ; [.3C09.0020.0002.12097] # CUNEIFORM SIGN EN
-12098 ; [.3C0A.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
-12099 ; [.3C0B.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A ; [.3C0C.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
-1209B ; [.3C0D.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
-1209C ; [.3C0E.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
-1209D ; [.3C0F.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
-1209E ; [.3C10.0020.0002.1209E] # CUNEIFORM SIGN EREN
-1209F ; [.3C11.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
-120A0 ; [.3C12.0020.0002.120A0] # CUNEIFORM SIGN ESH2
-120A1 ; [.3C13.0020.0002.120A1] # CUNEIFORM SIGN EZEN
-120A2 ; [.3C14.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
-120A3 ; [.3C15.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 ; [.3C16.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 ; [.3C17.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
-120A6 ; [.3C18.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
-120A7 ; [.3C19.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 ; [.3C1A.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 ; [.3C1B.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
-120AA ; [.3C1C.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB ; [.3C1D.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC ; [.3C1E.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD ; [.3C1F.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE ; [.3C20.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
-120AF ; [.3C21.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
-120B0 ; [.3C22.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 ; [.3C23.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
-120B2 ; [.3C24.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
-120B3 ; [.3C25.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
-120B4 ; [.3C26.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
-120B5 ; [.3C27.0020.0002.120B5] # CUNEIFORM SIGN GA
-120B6 ; [.3C28.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
-120B7 ; [.3C29.0020.0002.120B7] # CUNEIFORM SIGN GA2
-120B8 ; [.3C2A.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 ; [.3C2B.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA ; [.3C2C.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB ; [.3C2D.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC ; [.3C2E.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
-120BD ; [.3C2F.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
-120BE ; [.3C30.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF ; [.3C31.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
-120C0 ; [.3C32.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 ; [.3C33.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
-120C2 ; [.3C34.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 ; [.3C35.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
-120C4 ; [.3C36.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
-120C5 ; [.3C37.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 ; [.3C38.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
-120C7 ; [.3C39.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
-120C8 ; [.3C3A.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 ; [.3C3B.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
-120CA ; [.3C3C.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB ; [.3C3D.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC ; [.3C3E.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
-120CD ; [.3C3F.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
-120CE ; [.3C40.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
-120CF ; [.3C41.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 ; [.3C42.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 ; [.3C43.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 ; [.3C44.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
-120D3 ; [.3C45.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 ; [.3C46.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 ; [.3C47.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 ; [.3C48.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 ; [.3C49.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 ; [.3C4A.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
-120D9 ; [.3C4B.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA ; [.3C4C.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
-120DB ; [.3C4D.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC ; [.3C4E.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD ; [.3C4F.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
-120DE ; [.3C50.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF ; [.3C51.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
-120E0 ; [.3C52.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
-120E1 ; [.3C53.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 ; [.3C54.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
-120E3 ; [.3C55.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
-120E4 ; [.3C56.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
-120E5 ; [.3C57.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
-120E6 ; [.3C58.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 ; [.3C59.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
-120E8 ; [.3C5A.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
-120E9 ; [.3C5B.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA ; [.3C5C.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
-120EB ; [.3C5D.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
-120EC ; [.3C5E.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED ; [.3C5F.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
-120EE ; [.3C60.0020.0002.120EE] # CUNEIFORM SIGN GABA
-120EF ; [.3C61.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
-120F0 ; [.3C62.0020.0002.120F0] # CUNEIFORM SIGN GAD
-120F1 ; [.3C63.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 ; [.3C64.0020.0002.120F2] # CUNEIFORM SIGN GAL
-120F3 ; [.3C65.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 ; [.3C66.0020.0002.120F4] # CUNEIFORM SIGN GALAM
-120F5 ; [.3C67.0020.0002.120F5] # CUNEIFORM SIGN GAM
-120F6 ; [.3C68.0020.0002.120F6] # CUNEIFORM SIGN GAN
-120F7 ; [.3C69.0020.0002.120F7] # CUNEIFORM SIGN GAN2
-120F8 ; [.3C6A.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
-120F9 ; [.3C6B.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA ; [.3C6C.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB ; [.3C6D.0020.0002.120FB] # CUNEIFORM SIGN GAR
-120FC ; [.3C6E.0020.0002.120FC] # CUNEIFORM SIGN GAR3
-120FD ; [.3C6F.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
-120FE ; [.3C70.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
-120FF ; [.3C71.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 ; [.3C72.0020.0002.12100] # CUNEIFORM SIGN GI
-12101 ; [.3C73.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
-12102 ; [.3C74.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
-12103 ; [.3C75.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
-12104 ; [.3C76.0020.0002.12104] # CUNEIFORM SIGN GI4
-12105 ; [.3C77.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
-12106 ; [.3C78.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
-12107 ; [.3C79.0020.0002.12107] # CUNEIFORM SIGN GIDIM
-12108 ; [.3C7A.0020.0002.12108] # CUNEIFORM SIGN GIR2
-12109 ; [.3C7B.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
-1210A ; [.3C7C.0020.0002.1210A] # CUNEIFORM SIGN GIR3
-1210B ; [.3C7D.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C ; [.3C7E.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D ; [.3C7F.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E ; [.3C80.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F ; [.3C81.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
-12110 ; [.3C82.0020.0002.12110] # CUNEIFORM SIGN GISAL
-12111 ; [.3C83.0020.0002.12111] # CUNEIFORM SIGN GISH
-12112 ; [.3C84.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
-12113 ; [.3C85.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
-12114 ; [.3C86.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
-12115 ; [.3C87.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
-12116 ; [.3C88.0020.0002.12116] # CUNEIFORM SIGN GU
-12117 ; [.3C89.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
-12118 ; [.3C8A.0020.0002.12118] # CUNEIFORM SIGN GU2
-12119 ; [.3C8B.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
-1211A ; [.3C8C.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B ; [.3C8D.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
-1211C ; [.3C8E.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D ; [.3C8F.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
-1211E ; [.3C90.0020.0002.1211E] # CUNEIFORM SIGN GUD
-1211F ; [.3C91.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 ; [.3C92.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
-12121 ; [.3C93.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 ; [.3C94.0020.0002.12122] # CUNEIFORM SIGN GUL
-12123 ; [.3C95.0020.0002.12123] # CUNEIFORM SIGN GUM
-12124 ; [.3C96.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
-12125 ; [.3C97.0020.0002.12125] # CUNEIFORM SIGN GUR
-12126 ; [.3C98.0020.0002.12126] # CUNEIFORM SIGN GUR7
-12127 ; [.3C99.0020.0002.12127] # CUNEIFORM SIGN GURUN
-12128 ; [.3C9A.0020.0002.12128] # CUNEIFORM SIGN GURUSH
-12129 ; [.3C9B.0020.0002.12129] # CUNEIFORM SIGN HA
-1212A ; [.3C9C.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
-1212B ; [.3C9D.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
-1212C ; [.3C9E.0020.0002.1212C] # CUNEIFORM SIGN HAL
-1212D ; [.3C9F.0020.0002.1212D] # CUNEIFORM SIGN HI
-1212E ; [.3CA0.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
-1212F ; [.3CA1.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
-12130 ; [.3CA2.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
-12131 ; [.3CA3.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
-12132 ; [.3CA4.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
-12133 ; [.3CA5.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
-12134 ; [.3CA6.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
-12135 ; [.3CA7.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
-12136 ; [.3CA8.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
-12137 ; [.3CA9.0020.0002.12137] # CUNEIFORM SIGN HU
-12138 ; [.3CAA.0020.0002.12138] # CUNEIFORM SIGN HUB2
-12139 ; [.3CAB.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
-1213A ; [.3CAC.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B ; [.3CAD.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C ; [.3CAE.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D ; [.3CAF.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
-1213E ; [.3CB0.0020.0002.1213E] # CUNEIFORM SIGN HUL2
-1213F ; [.3CB1.0020.0002.1213F] # CUNEIFORM SIGN I
-12140 ; [.3CB2.0020.0002.12140] # CUNEIFORM SIGN I A
-12141 ; [.3CB3.0020.0002.12141] # CUNEIFORM SIGN IB
-12142 ; [.3CB4.0020.0002.12142] # CUNEIFORM SIGN IDIM
-12143 ; [.3CB5.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 ; [.3CB6.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 ; [.3CB7.0020.0002.12145] # CUNEIFORM SIGN IG
-12146 ; [.3CB8.0020.0002.12146] # CUNEIFORM SIGN IGI
-12147 ; [.3CB9.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
-12148 ; [.3CBA.0020.0002.12148] # CUNEIFORM SIGN IGI RI
-12149 ; [.3CBB.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A ; [.3CBC.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
-1214B ; [.3CBD.0020.0002.1214B] # CUNEIFORM SIGN IL
-1214C ; [.3CBE.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D ; [.3CBF.0020.0002.1214D] # CUNEIFORM SIGN IL2
-1214E ; [.3CC0.0020.0002.1214E] # CUNEIFORM SIGN IM
-1214F ; [.3CC1.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
-12150 ; [.3CC2.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
-12151 ; [.3CC3.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
-12152 ; [.3CC4.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
-12153 ; [.3CC5.0020.0002.12153] # CUNEIFORM SIGN IMIN
-12154 ; [.3CC6.0020.0002.12154] # CUNEIFORM SIGN IN
-12155 ; [.3CC7.0020.0002.12155] # CUNEIFORM SIGN IR
-12156 ; [.3CC8.0020.0002.12156] # CUNEIFORM SIGN ISH
-12157 ; [.3CC9.0020.0002.12157] # CUNEIFORM SIGN KA
-12158 ; [.3CCA.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
-12159 ; [.3CCB.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
-1215A ; [.3CCC.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B ; [.3CCD.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
-1215C ; [.3CCE.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
-1215D ; [.3CCF.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
-1215E ; [.3CD0.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
-1215F ; [.3CD1.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
-12160 ; [.3CD2.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
-12161 ; [.3CD3.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
-12162 ; [.3CD4.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
-12163 ; [.3CD5.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
-12164 ; [.3CD6.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 ; [.3CD7.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
-12166 ; [.3CD8.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 ; [.3CD9.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
-12168 ; [.3CDA.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
-12169 ; [.3CDB.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A ; [.3CDC.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B ; [.3CDD.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
-1216C ; [.3CDE.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
-1216D ; [.3CDF.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
-1216E ; [.3CE0.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
-1216F ; [.3CE1.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
-12170 ; [.3CE2.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
-12171 ; [.3CE3.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
-12172 ; [.3CE4.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
-12173 ; [.3CE5.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
-12174 ; [.3CE6.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
-12175 ; [.3CE7.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 ; [.3CE8.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 ; [.3CE9.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 ; [.3CEA.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
-12179 ; [.3CEB.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A ; [.3CEC.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
-1217B ; [.3CED.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
-1217C ; [.3CEE.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
-1217D ; [.3CEF.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
-1217E ; [.3CF0.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
-1217F ; [.3CF1.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
-12180 ; [.3CF2.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
-12181 ; [.3CF3.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
-12182 ; [.3CF4.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
-12183 ; [.3CF5.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
-12184 ; [.3CF6.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
-12185 ; [.3CF7.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
-12186 ; [.3CF8.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
-12187 ; [.3CF9.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
-12188 ; [.3CFA.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
-12189 ; [.3CFB.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
-1218A ; [.3CFC.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B ; [.3CFD.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
-1218C ; [.3CFE.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
-1218D ; [.3CFF.0020.0002.1218D] # CUNEIFORM SIGN KA2
-1218E ; [.3D00.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F ; [.3D01.0020.0002.1218F] # CUNEIFORM SIGN KAB
-12190 ; [.3D02.0020.0002.12190] # CUNEIFORM SIGN KAD2
-12191 ; [.3D03.0020.0002.12191] # CUNEIFORM SIGN KAD3
-12192 ; [.3D04.0020.0002.12192] # CUNEIFORM SIGN KAD4
-12193 ; [.3D05.0020.0002.12193] # CUNEIFORM SIGN KAD5
-12194 ; [.3D06.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
-12195 ; [.3D07.0020.0002.12195] # CUNEIFORM SIGN KAK
-12196 ; [.3D08.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 ; [.3D09.0020.0002.12197] # CUNEIFORM SIGN KAL
-12198 ; [.3D0A.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
-12199 ; [.3D0B.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
-1219A ; [.3D0C.0020.0002.1219A] # CUNEIFORM SIGN KAM2
-1219B ; [.3D0D.0020.0002.1219B] # CUNEIFORM SIGN KAM4
-1219C ; [.3D0E.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
-1219D ; [.3D0F.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E ; [.3D10.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F ; [.3D11.0020.0002.1219F] # CUNEIFORM SIGN KESH2
-121A0 ; [.3D12.0020.0002.121A0] # CUNEIFORM SIGN KI
-121A1 ; [.3D13.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
-121A2 ; [.3D14.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
-121A3 ; [.3D15.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
-121A4 ; [.3D16.0020.0002.121A4] # CUNEIFORM SIGN KID
-121A5 ; [.3D17.0020.0002.121A5] # CUNEIFORM SIGN KIN
-121A6 ; [.3D18.0020.0002.121A6] # CUNEIFORM SIGN KISAL
-121A7 ; [.3D19.0020.0002.121A7] # CUNEIFORM SIGN KISH
-121A8 ; [.3D1A.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
-121A9 ; [.3D1B.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA ; [.3D1C.0020.0002.121AA] # CUNEIFORM SIGN KU
-121AB ; [.3D1D.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC ; [.3D1E.0020.0002.121AC] # CUNEIFORM SIGN KU3
-121AD ; [.3D1F.0020.0002.121AD] # CUNEIFORM SIGN KU4
-121AE ; [.3D20.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF ; [.3D21.0020.0002.121AF] # CUNEIFORM SIGN KU7
-121B0 ; [.3D22.0020.0002.121B0] # CUNEIFORM SIGN KUL
-121B1 ; [.3D23.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
-121B2 ; [.3D24.0020.0002.121B2] # CUNEIFORM SIGN KUN
-121B3 ; [.3D25.0020.0002.121B3] # CUNEIFORM SIGN KUR
-121B4 ; [.3D26.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 ; [.3D27.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
-121B6 ; [.3D28.0020.0002.121B6] # CUNEIFORM SIGN KWU318
-121B7 ; [.3D29.0020.0002.121B7] # CUNEIFORM SIGN LA
-121B8 ; [.3D2A.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
-121B9 ; [.3D2B.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
-121BA ; [.3D2C.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB ; [.3D2D.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC ; [.3D2E.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD ; [.3D2F.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
-121BE ; [.3D30.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
-121BF ; [.3D31.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 ; [.3D32.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 ; [.3D33.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
-121C2 ; [.3D34.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 ; [.3D35.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
-121C4 ; [.3D36.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
-121C5 ; [.3D37.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 ; [.3D38.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 ; [.3D39.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 ; [.3D3A.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
-121C9 ; [.3D3B.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA ; [.3D3C.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB ; [.3D3D.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC ; [.3D3E.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
-121CD ; [.3D3F.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE ; [.3D40.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF ; [.3D41.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
-121D0 ; [.3D42.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 ; [.3D43.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 ; [.3D44.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 ; [.3D45.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 ; [.3D46.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 ; [.3D47.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 ; [.3D48.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
-121D7 ; [.3D49.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 ; [.3D4A.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
-121D9 ; [.3D4B.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA ; [.3D4C.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB ; [.3D4D.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
-121DC ; [.3D4E.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD ; [.3D4F.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE ; [.3D50.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF ; [.3D51.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 ; [.3D52.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 ; [.3D53.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 ; [.3D54.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 ; [.3D55.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 ; [.3D56.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 ; [.3D57.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
-121E6 ; [.3D58.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 ; [.3D59.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 ; [.3D5A.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 ; [.3D5B.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
-121EA ; [.3D5C.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
-121EB ; [.3D5D.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
-121EC ; [.3D5E.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
-121ED ; [.3D5F.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE ; [.3D60.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF ; [.3D61.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
-121F0 ; [.3D62.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 ; [.3D63.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
-121F2 ; [.3D64.0020.0002.121F2] # CUNEIFORM SIGN LAL
-121F3 ; [.3D65.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
-121F4 ; [.3D66.0020.0002.121F4] # CUNEIFORM SIGN LAM
-121F5 ; [.3D67.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
-121F6 ; [.3D68.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 ; [.3D69.0020.0002.121F7] # CUNEIFORM SIGN LI
-121F8 ; [.3D6A.0020.0002.121F8] # CUNEIFORM SIGN LIL
-121F9 ; [.3D6B.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
-121FA ; [.3D6C.0020.0002.121FA] # CUNEIFORM SIGN LISH
-121FB ; [.3D6D.0020.0002.121FB] # CUNEIFORM SIGN LU
-121FC ; [.3D6E.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
-121FD ; [.3D6F.0020.0002.121FD] # CUNEIFORM SIGN LU2
-121FE ; [.3D70.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
-121FF ; [.3D71.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
-12200 ; [.3D72.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
-12201 ; [.3D73.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 ; [.3D74.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 ; [.3D75.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 ; [.3D76.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
-12205 ; [.3D77.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
-12206 ; [.3D78.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
-12207 ; [.3D79.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 ; [.3D7A.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
-12209 ; [.3D7B.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A ; [.3D7C.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B ; [.3D7D.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C ; [.3D7E.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
-1220D ; [.3D7F.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
-1220E ; [.3D80.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F ; [.3D81.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 ; [.3D82.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
-12211 ; [.3D83.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
-12212 ; [.3D84.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
-12213 ; [.3D85.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 ; [.3D86.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
-12215 ; [.3D87.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
-12216 ; [.3D88.0020.0002.12216] # CUNEIFORM SIGN LU3
-12217 ; [.3D89.0020.0002.12217] # CUNEIFORM SIGN LUGAL
-12218 ; [.3D8A.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 ; [.3D8B.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A ; [.3D8C.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
-1221B ; [.3D8D.0020.0002.1221B] # CUNEIFORM SIGN LUH
-1221C ; [.3D8E.0020.0002.1221C] # CUNEIFORM SIGN LUL
-1221D ; [.3D8F.0020.0002.1221D] # CUNEIFORM SIGN LUM
-1221E ; [.3D90.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
-1221F ; [.3D91.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 ; [.3D92.0020.0002.12220] # CUNEIFORM SIGN MA
-12221 ; [.3D93.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
-12222 ; [.3D94.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
-12223 ; [.3D95.0020.0002.12223] # CUNEIFORM SIGN MA2
-12224 ; [.3D96.0020.0002.12224] # CUNEIFORM SIGN MAH
-12225 ; [.3D97.0020.0002.12225] # CUNEIFORM SIGN MAR
-12226 ; [.3D98.0020.0002.12226] # CUNEIFORM SIGN MASH
-12227 ; [.3D99.0020.0002.12227] # CUNEIFORM SIGN MASH2
-12228 ; [.3D9A.0020.0002.12228] # CUNEIFORM SIGN ME
-12229 ; [.3D9B.0020.0002.12229] # CUNEIFORM SIGN MES
-1222A ; [.3D9C.0020.0002.1222A] # CUNEIFORM SIGN MI
-1222B ; [.3D9D.0020.0002.1222B] # CUNEIFORM SIGN MIN
-1222C ; [.3D9E.0020.0002.1222C] # CUNEIFORM SIGN MU
-1222D ; [.3D9F.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
-1222E ; [.3DA0.0020.0002.1222E] # CUNEIFORM SIGN MUG
-1222F ; [.3DA1.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
-12230 ; [.3DA2.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
-12231 ; [.3DA3.0020.0002.12231] # CUNEIFORM SIGN MURGU2
-12232 ; [.3DA4.0020.0002.12232] # CUNEIFORM SIGN MUSH
-12233 ; [.3DA5.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
-12234 ; [.3DA6.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
-12235 ; [.3DA7.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
-12236 ; [.3DA8.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
-12237 ; [.3DA9.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 ; [.3DAA.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 ; [.3DAB.0020.0002.12239] # CUNEIFORM SIGN MUSH3
-1223A ; [.3DAC.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
-1223B ; [.3DAD.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C ; [.3DAE.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D ; [.3DAF.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
-1223E ; [.3DB0.0020.0002.1223E] # CUNEIFORM SIGN NA
-1223F ; [.3DB1.0020.0002.1223F] # CUNEIFORM SIGN NA2
-12240 ; [.3DB2.0020.0002.12240] # CUNEIFORM SIGN NAGA
-12241 ; [.3DB3.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
-12242 ; [.3DB4.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 ; [.3DB5.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 ; [.3DB6.0020.0002.12244] # CUNEIFORM SIGN NAGAR
-12245 ; [.3DB7.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
-12246 ; [.3DB8.0020.0002.12246] # CUNEIFORM SIGN NAM
-12247 ; [.3DB9.0020.0002.12247] # CUNEIFORM SIGN NAM2
-12248 ; [.3DBA.0020.0002.12248] # CUNEIFORM SIGN NE
-12249 ; [.3DBB.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
-1224A ; [.3DBC.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
-1224B ; [.3DBD.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
-1224C ; [.3DBE.0020.0002.1224C] # CUNEIFORM SIGN NI
-1224D ; [.3DBF.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
-1224E ; [.3DC0.0020.0002.1224E] # CUNEIFORM SIGN NI2
-1224F ; [.3DC1.0020.0002.1224F] # CUNEIFORM SIGN NIM
-12250 ; [.3DC2.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 ; [.3DC3.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 ; [.3DC4.0020.0002.12252] # CUNEIFORM SIGN NINDA2
-12253 ; [.3DC5.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
-12254 ; [.3DC6.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 ; [.3DC7.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 ; [.3DC8.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 ; [.3DC9.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 ; [.3DCA.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
-12259 ; [.3DCB.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A ; [.3DCC.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B ; [.3DCD.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C ; [.3DCE.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D ; [.3DCF.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E ; [.3DD0.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F ; [.3DD1.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
-12260 ; [.3DD2.0020.0002.12260] # CUNEIFORM SIGN NISAG
-12261 ; [.3DD3.0020.0002.12261] # CUNEIFORM SIGN NU
-12262 ; [.3DD4.0020.0002.12262] # CUNEIFORM SIGN NU11
-12263 ; [.3DD5.0020.0002.12263] # CUNEIFORM SIGN NUN
-12264 ; [.3DD6.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 ; [.3DD7.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 ; [.3DD8.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 ; [.3DD9.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 ; [.3DDA.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 ; [.3DDB.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
-1226A ; [.3DDC.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
-1226B ; [.3DDD.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
-1226C ; [.3DDE.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D ; [.3DDF.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
-1226E ; [.3DE0.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F ; [.3DE1.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 ; [.3DE2.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 ; [.3DE3.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 ; [.3DE4.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 ; [.3DE5.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 ; [.3DE6.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 ; [.3DE7.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 ; [.3DE8.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 ; [.3DE9.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 ; [.3DEA.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 ; [.3DEB.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A ; [.3DEC.0020.0002.1227A] # CUNEIFORM SIGN PA
-1227B ; [.3DED.0020.0002.1227B] # CUNEIFORM SIGN PAD
-1227C ; [.3DEE.0020.0002.1227C] # CUNEIFORM SIGN PAN
-1227D ; [.3DEF.0020.0002.1227D] # CUNEIFORM SIGN PAP
-1227E ; [.3DF0.0020.0002.1227E] # CUNEIFORM SIGN PESH2
-1227F ; [.3DF1.0020.0002.1227F] # CUNEIFORM SIGN PI
-12280 ; [.3DF2.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
-12281 ; [.3DF3.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
-12282 ; [.3DF4.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
-12283 ; [.3DF5.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
-12284 ; [.3DF6.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
-12285 ; [.3DF7.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
-12286 ; [.3DF8.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
-12287 ; [.3DF9.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
-12288 ; [.3DFA.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
-12289 ; [.3DFB.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
-1228A ; [.3DFC.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
-1228B ; [.3DFD.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C ; [.3DFE.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
-1228D ; [.3DFF.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E ; [.3E00.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F ; [.3E01.0020.0002.1228F] # CUNEIFORM SIGN RA
-12290 ; [.3E02.0020.0002.12290] # CUNEIFORM SIGN RAB
-12291 ; [.3E03.0020.0002.12291] # CUNEIFORM SIGN RI
-12292 ; [.3E04.0020.0002.12292] # CUNEIFORM SIGN RU
-12293 ; [.3E05.0020.0002.12293] # CUNEIFORM SIGN SA
-12294 ; [.3E06.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
-12295 ; [.3E07.0020.0002.12295] # CUNEIFORM SIGN SAG
-12296 ; [.3E08.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
-12297 ; [.3E09.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
-12298 ; [.3E0A.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
-12299 ; [.3E0B.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
-1229A ; [.3E0C.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
-1229B ; [.3E0D.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
-1229C ; [.3E0E.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
-1229D ; [.3E0F.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
-1229E ; [.3E10.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
-1229F ; [.3E11.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
-122A0 ; [.3E12.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
-122A1 ; [.3E13.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
-122A2 ; [.3E14.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
-122A3 ; [.3E15.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
-122A4 ; [.3E16.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
-122A5 ; [.3E17.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
-122A6 ; [.3E18.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
-122A7 ; [.3E19.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
-122A8 ; [.3E1A.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
-122A9 ; [.3E1B.0020.0002.122A9] # CUNEIFORM SIGN SAL
-122AA ; [.3E1C.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB ; [.3E1D.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
-122AC ; [.3E1E.0020.0002.122AC] # CUNEIFORM SIGN SAR
-122AD ; [.3E1F.0020.0002.122AD] # CUNEIFORM SIGN SHA
-122AE ; [.3E20.0020.0002.122AE] # CUNEIFORM SIGN SHA3
-122AF ; [.3E21.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
-122B0 ; [.3E22.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 ; [.3E23.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 ; [.3E24.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
-122B3 ; [.3E25.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 ; [.3E26.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 ; [.3E27.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
-122B6 ; [.3E28.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 ; [.3E29.0020.0002.122B7] # CUNEIFORM SIGN SHA6
-122B8 ; [.3E2A.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
-122B9 ; [.3E2B.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
-122BA ; [.3E2C.0020.0002.122BA] # CUNEIFORM SIGN SHE
-122BB ; [.3E2D.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
-122BC ; [.3E2E.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD ; [.3E2F.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE ; [.3E30.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
-122BF ; [.3E31.0020.0002.122BF] # CUNEIFORM SIGN SHEN
-122C0 ; [.3E32.0020.0002.122C0] # CUNEIFORM SIGN SHESH
-122C1 ; [.3E33.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
-122C2 ; [.3E34.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
-122C3 ; [.3E35.0020.0002.122C3] # CUNEIFORM SIGN SHID
-122C4 ; [.3E36.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
-122C5 ; [.3E37.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
-122C6 ; [.3E38.0020.0002.122C6] # CUNEIFORM SIGN SHIM
-122C7 ; [.3E39.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
-122C8 ; [.3E3A.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
-122C9 ; [.3E3B.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA ; [.3E3C.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
-122CB ; [.3E3D.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
-122CC ; [.3E3E.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
-122CD ; [.3E3F.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE ; [.3E40.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF ; [.3E41.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
-122D0 ; [.3E42.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
-122D1 ; [.3E43.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
-122D2 ; [.3E44.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
-122D3 ; [.3E45.0020.0002.122D3] # CUNEIFORM SIGN SHIR
-122D4 ; [.3E46.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
-122D5 ; [.3E47.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 ; [.3E48.0020.0002.122D6] # CUNEIFORM SIGN SHITA
-122D7 ; [.3E49.0020.0002.122D7] # CUNEIFORM SIGN SHU
-122D8 ; [.3E4A.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 ; [.3E4B.0020.0002.122D9] # CUNEIFORM SIGN SHU2
-122DA ; [.3E4C.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
-122DB ; [.3E4D.0020.0002.122DB] # CUNEIFORM SIGN SI
-122DC ; [.3E4E.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
-122DD ; [.3E4F.0020.0002.122DD] # CUNEIFORM SIGN SIG
-122DE ; [.3E50.0020.0002.122DE] # CUNEIFORM SIGN SIG4
-122DF ; [.3E51.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 ; [.3E52.0020.0002.122E0] # CUNEIFORM SIGN SIK2
-122E1 ; [.3E53.0020.0002.122E1] # CUNEIFORM SIGN SILA3
-122E2 ; [.3E54.0020.0002.122E2] # CUNEIFORM SIGN SU
-122E3 ; [.3E55.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
-122E4 ; [.3E56.0020.0002.122E4] # CUNEIFORM SIGN SUD
-122E5 ; [.3E57.0020.0002.122E5] # CUNEIFORM SIGN SUD2
-122E6 ; [.3E58.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
-122E7 ; [.3E59.0020.0002.122E7] # CUNEIFORM SIGN SUM
-122E8 ; [.3E5A.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
-122E9 ; [.3E5B.0020.0002.122E9] # CUNEIFORM SIGN SUR
-122EA ; [.3E5C.0020.0002.122EA] # CUNEIFORM SIGN SUR9
-122EB ; [.3E5D.0020.0002.122EB] # CUNEIFORM SIGN TA
-122EC ; [.3E5E.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
-122ED ; [.3E5F.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
-122EE ; [.3E60.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
-122EF ; [.3E61.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
-122F0 ; [.3E62.0020.0002.122F0] # CUNEIFORM SIGN TAB
-122F1 ; [.3E63.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 ; [.3E64.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
-122F3 ; [.3E65.0020.0002.122F3] # CUNEIFORM SIGN TAG
-122F4 ; [.3E66.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
-122F5 ; [.3E67.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
-122F6 ; [.3E68.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
-122F7 ; [.3E69.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
-122F8 ; [.3E6A.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
-122F9 ; [.3E6B.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
-122FA ; [.3E6C.0020.0002.122FA] # CUNEIFORM SIGN TAK4
-122FB ; [.3E6D.0020.0002.122FB] # CUNEIFORM SIGN TAR
-122FC ; [.3E6E.0020.0002.122FC] # CUNEIFORM SIGN TE
-122FD ; [.3E6F.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
-122FE ; [.3E70.0020.0002.122FE] # CUNEIFORM SIGN TI
-122FF ; [.3E71.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
-12300 ; [.3E72.0020.0002.12300] # CUNEIFORM SIGN TIL
-12301 ; [.3E73.0020.0002.12301] # CUNEIFORM SIGN TIR
-12302 ; [.3E74.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
-12303 ; [.3E75.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
-12304 ; [.3E76.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 ; [.3E77.0020.0002.12305] # CUNEIFORM SIGN TU
-12306 ; [.3E78.0020.0002.12306] # CUNEIFORM SIGN TUG2
-12307 ; [.3E79.0020.0002.12307] # CUNEIFORM SIGN TUK
-12308 ; [.3E7A.0020.0002.12308] # CUNEIFORM SIGN TUM
-12309 ; [.3E7B.0020.0002.12309] # CUNEIFORM SIGN TUR
-1230A ; [.3E7C.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B ; [.3E7D.0020.0002.1230B] # CUNEIFORM SIGN U
-1230C ; [.3E7E.0020.0002.1230C] # CUNEIFORM SIGN U GUD
-1230D ; [.3E7F.0020.0002.1230D] # CUNEIFORM SIGN U U U
-1230E ; [.3E80.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F ; [.3E81.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 ; [.3E82.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 ; [.3E83.0020.0002.12311] # CUNEIFORM SIGN U2
-12312 ; [.3E84.0020.0002.12312] # CUNEIFORM SIGN UB
-12313 ; [.3E85.0020.0002.12313] # CUNEIFORM SIGN UD
-12314 ; [.3E86.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
-12315 ; [.3E87.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
-12316 ; [.3E88.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
-12317 ; [.3E89.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 ; [.3E8A.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 ; [.3E8B.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
-1231A ; [.3E8C.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
-1231B ; [.3E8D.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C ; [.3E8E.0020.0002.1231C] # CUNEIFORM SIGN UDUG
-1231D ; [.3E8F.0020.0002.1231D] # CUNEIFORM SIGN UM
-1231E ; [.3E90.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
-1231F ; [.3E91.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 ; [.3E92.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
-12321 ; [.3E93.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
-12322 ; [.3E94.0020.0002.12322] # CUNEIFORM SIGN UMBIN
-12323 ; [.3E95.0020.0002.12323] # CUNEIFORM SIGN UMUM
-12324 ; [.3E96.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 ; [.3E97.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
-12326 ; [.3E98.0020.0002.12326] # CUNEIFORM SIGN UN
-12327 ; [.3E99.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
-12328 ; [.3E9A.0020.0002.12328] # CUNEIFORM SIGN UR
-12329 ; [.3E9B.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
-1232A ; [.3E9C.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
-1232B ; [.3E9D.0020.0002.1232B] # CUNEIFORM SIGN UR2
-1232C ; [.3E9E.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D ; [.3E9F.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E ; [.3EA0.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
-1232F ; [.3EA1.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
-12330 ; [.3EA2.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
-12331 ; [.3EA3.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
-12332 ; [.3EA4.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 ; [.3EA5.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 ; [.3EA6.0020.0002.12334] # CUNEIFORM SIGN UR4
-12335 ; [.3EA7.0020.0002.12335] # CUNEIFORM SIGN URI
-12336 ; [.3EA8.0020.0002.12336] # CUNEIFORM SIGN URI3
-12337 ; [.3EA9.0020.0002.12337] # CUNEIFORM SIGN URU
-12338 ; [.3EAA.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
-12339 ; [.3EAB.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A ; [.3EAC.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
-1233B ; [.3EAD.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
-1233C ; [.3EAE.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
-1233D ; [.3EAF.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
-1233E ; [.3EB0.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F ; [.3EB1.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
-12340 ; [.3EB2.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
-12341 ; [.3EB3.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
-12342 ; [.3EB4.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
-12343 ; [.3EB5.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
-12344 ; [.3EB6.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
-12345 ; [.3EB7.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
-12346 ; [.3EB8.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
-12347 ; [.3EB9.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
-12348 ; [.3EBA.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
-12349 ; [.3EBB.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
-1234A ; [.3EBC.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
-1234B ; [.3EBD.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
-1234C ; [.3EBE.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D ; [.3EBF.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
-1234E ; [.3EC0.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
-1234F ; [.3EC1.0020.0002.1234F] # CUNEIFORM SIGN URUDA
-12350 ; [.3EC2.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
-12351 ; [.3EC3.0020.0002.12351] # CUNEIFORM SIGN USH
-12352 ; [.3EC4.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
-12353 ; [.3EC5.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
-12354 ; [.3EC6.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
-12355 ; [.3EC7.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
-12356 ; [.3EC8.0020.0002.12356] # CUNEIFORM SIGN USHX
-12357 ; [.3EC9.0020.0002.12357] # CUNEIFORM SIGN USH2
-12358 ; [.3ECA.0020.0002.12358] # CUNEIFORM SIGN USHUMX
-12359 ; [.3ECB.0020.0002.12359] # CUNEIFORM SIGN UTUKI
-1235A ; [.3ECC.0020.0002.1235A] # CUNEIFORM SIGN UZ3
-1235B ; [.3ECD.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C ; [.3ECE.0020.0002.1235C] # CUNEIFORM SIGN UZU
-1235D ; [.3ECF.0020.0002.1235D] # CUNEIFORM SIGN ZA
-1235E ; [.3ED0.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
-1235F ; [.3ED1.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 ; [.3ED2.0020.0002.12360] # CUNEIFORM SIGN ZAG
-12361 ; [.3ED3.0020.0002.12361] # CUNEIFORM SIGN ZAMX
-12362 ; [.3ED4.0020.0002.12362] # CUNEIFORM SIGN ZE2
-12363 ; [.3ED5.0020.0002.12363] # CUNEIFORM SIGN ZI
-12364 ; [.3ED6.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
-12365 ; [.3ED7.0020.0002.12365] # CUNEIFORM SIGN ZI3
-12366 ; [.3ED8.0020.0002.12366] # CUNEIFORM SIGN ZIB
-12367 ; [.3ED9.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
-12368 ; [.3EDA.0020.0002.12368] # CUNEIFORM SIGN ZIG
-12369 ; [.3EDB.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
-1236A ; [.3EDC.0020.0002.1236A] # CUNEIFORM SIGN ZU
-1236B ; [.3EDD.0020.0002.1236B] # CUNEIFORM SIGN ZU5
-1236C ; [.3EDE.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
-1236D ; [.3EDF.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
-1236E ; [.3EE0.0020.0002.1236E] # CUNEIFORM SIGN ZUM
-13000 ; [.3EE1.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
-13001 ; [.3EE2.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
-13002 ; [.3EE3.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
-13003 ; [.3EE4.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
-13004 ; [.3EE5.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
-13005 ; [.3EE6.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
-13006 ; [.3EE7.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
-13007 ; [.3EE8.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
-13008 ; [.3EE9.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
-13009 ; [.3EEA.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
-1300A ; [.3EEB.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
-1300B ; [.3EEC.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
-1300C ; [.3EED.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
-1300D ; [.3EEE.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
-1300E ; [.3EEF.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
-1300F ; [.3EF0.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
-13010 ; [.3EF1.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
-13011 ; [.3EF2.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
-13012 ; [.3EF3.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
-13013 ; [.3EF4.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
-13014 ; [.3EF5.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
-13015 ; [.3EF6.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
-13016 ; [.3EF7.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
-13017 ; [.3EF8.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
-13018 ; [.3EF9.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
-13019 ; [.3EFA.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
-1301A ; [.3EFB.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
-1301B ; [.3EFC.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
-1301C ; [.3EFD.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
-1301D ; [.3EFE.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
-1301E ; [.3EFF.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
-1301F ; [.3F00.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
-13020 ; [.3F01.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
-13021 ; [.3F02.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
-13022 ; [.3F03.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
-13023 ; [.3F04.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
-13024 ; [.3F05.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
-13025 ; [.3F06.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
-13026 ; [.3F07.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
-13027 ; [.3F08.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
-13028 ; [.3F09.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
-13029 ; [.3F0A.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
-1302A ; [.3F0B.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
-1302B ; [.3F0C.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
-1302C ; [.3F0D.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
-1302D ; [.3F0E.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
-1302E ; [.3F0F.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
-1302F ; [.3F10.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
-13030 ; [.3F11.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
-13031 ; [.3F12.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
-13032 ; [.3F13.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
-13033 ; [.3F14.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
-13034 ; [.3F15.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
-13035 ; [.3F16.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
-13036 ; [.3F17.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
-13037 ; [.3F18.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
-13038 ; [.3F19.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
-13039 ; [.3F1A.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
-1303A ; [.3F1B.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
-1303B ; [.3F1C.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
-1303C ; [.3F1D.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
-1303D ; [.3F1E.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
-1303E ; [.3F1F.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
-1303F ; [.3F20.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
-13040 ; [.3F21.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
-13041 ; [.3F22.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
-13042 ; [.3F23.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
-13043 ; [.3F24.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
-13044 ; [.3F25.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
-13045 ; [.3F26.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
-13046 ; [.3F27.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
-13047 ; [.3F28.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
-13048 ; [.3F29.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
-13049 ; [.3F2A.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
-1304A ; [.3F2B.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
-1304B ; [.3F2C.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
-1304C ; [.3F2D.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
-1304D ; [.3F2E.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
-1304E ; [.3F2F.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
-1304F ; [.3F30.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
-13050 ; [.3F31.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
-13051 ; [.3F32.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
-13052 ; [.3F33.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
-13053 ; [.3F34.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
-13054 ; [.3F35.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
-13055 ; [.3F36.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
-13056 ; [.3F37.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
-13057 ; [.3F38.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
-13058 ; [.3F39.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
-13059 ; [.3F3A.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
-1305A ; [.3F3B.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
-1305B ; [.3F3C.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
-1305C ; [.3F3D.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
-1305D ; [.3F3E.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
-1305E ; [.3F3F.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
-1305F ; [.3F40.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
-13060 ; [.3F41.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
-13061 ; [.3F42.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
-13062 ; [.3F43.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
-13063 ; [.3F44.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
-13064 ; [.3F45.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
-13065 ; [.3F46.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
-13066 ; [.3F47.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
-13067 ; [.3F48.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
-13068 ; [.3F49.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
-13069 ; [.3F4A.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
-1306A ; [.3F4B.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
-1306B ; [.3F4C.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
-1306C ; [.3F4D.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
-1306D ; [.3F4E.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
-1306E ; [.3F4F.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
-1306F ; [.3F50.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
-13070 ; [.3F51.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
-13071 ; [.3F52.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
-13072 ; [.3F53.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
-13073 ; [.3F54.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
-13074 ; [.3F55.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
-13075 ; [.3F56.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
-13076 ; [.3F57.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
-13077 ; [.3F58.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
-13078 ; [.3F59.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
-13079 ; [.3F5A.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
-1307A ; [.3F5B.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
-1307B ; [.3F5C.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
-1307C ; [.3F5D.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
-1307D ; [.3F5E.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
-1307E ; [.3F5F.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
-1307F ; [.3F60.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
-13080 ; [.3F61.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
-13081 ; [.3F62.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
-13082 ; [.3F63.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
-13083 ; [.3F64.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
-13084 ; [.3F65.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
-13085 ; [.3F66.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
-13086 ; [.3F67.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
-13087 ; [.3F68.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
-13088 ; [.3F69.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
-13089 ; [.3F6A.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
-1308A ; [.3F6B.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
-1308B ; [.3F6C.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
-1308C ; [.3F6D.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
-1308D ; [.3F6E.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
-1308E ; [.3F6F.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
-1308F ; [.3F70.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
-13090 ; [.3F71.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
-13091 ; [.3F72.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
-13092 ; [.3F73.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
-13093 ; [.3F74.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
-13094 ; [.3F75.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
-13095 ; [.3F76.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
-13096 ; [.3F77.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
-13097 ; [.3F78.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
-13098 ; [.3F79.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
-13099 ; [.3F7A.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
-1309A ; [.3F7B.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
-1309B ; [.3F7C.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
-1309C ; [.3F7D.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
-1309D ; [.3F7E.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
-1309E ; [.3F7F.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
-1309F ; [.3F80.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
-130A0 ; [.3F81.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
-130A1 ; [.3F82.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
-130A2 ; [.3F83.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
-130A3 ; [.3F84.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
-130A4 ; [.3F85.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
-130A5 ; [.3F86.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
-130A6 ; [.3F87.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
-130A7 ; [.3F88.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
-130A8 ; [.3F89.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
-130A9 ; [.3F8A.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
-130AA ; [.3F8B.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
-130AB ; [.3F8C.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
-130AC ; [.3F8D.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
-130AD ; [.3F8E.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
-130AE ; [.3F8F.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
-130AF ; [.3F90.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
-130B0 ; [.3F91.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
-130B1 ; [.3F92.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
-130B2 ; [.3F93.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
-130B3 ; [.3F94.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
-130B4 ; [.3F95.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
-130B5 ; [.3F96.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
-130B6 ; [.3F97.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
-130B7 ; [.3F98.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
-130B8 ; [.3F99.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
-130B9 ; [.3F9A.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
-130BA ; [.3F9B.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
-130BB ; [.3F9C.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
-130BC ; [.3F9D.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
-130BD ; [.3F9E.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
-130BE ; [.3F9F.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
-130BF ; [.3FA0.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
-130C0 ; [.3FA1.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
-130C1 ; [.3FA2.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
-130C2 ; [.3FA3.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
-130C3 ; [.3FA4.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
-130C4 ; [.3FA5.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
-130C5 ; [.3FA6.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
-130C6 ; [.3FA7.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
-130C7 ; [.3FA8.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
-130C8 ; [.3FA9.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
-130C9 ; [.3FAA.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
-130CA ; [.3FAB.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
-130CB ; [.3FAC.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
-130CC ; [.3FAD.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
-130CD ; [.3FAE.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
-130CE ; [.3FAF.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
-130CF ; [.3FB0.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
-130D0 ; [.3FB1.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
-130D1 ; [.3FB2.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
-130D2 ; [.3FB3.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
-130D3 ; [.3FB4.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
-130D4 ; [.3FB5.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
-130D5 ; [.3FB6.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
-130D6 ; [.3FB7.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
-130D7 ; [.3FB8.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
-130D8 ; [.3FB9.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
-130D9 ; [.3FBA.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
-130DA ; [.3FBB.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
-130DB ; [.3FBC.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
-130DC ; [.3FBD.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
-130DD ; [.3FBE.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
-130DE ; [.3FBF.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
-130DF ; [.3FC0.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
-130E0 ; [.3FC1.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
-130E1 ; [.3FC2.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
-130E2 ; [.3FC3.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
-130E3 ; [.3FC4.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
-130E4 ; [.3FC5.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
-130E5 ; [.3FC6.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
-130E6 ; [.3FC7.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
-130E7 ; [.3FC8.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
-130E8 ; [.3FC9.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
-130E9 ; [.3FCA.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
-130EA ; [.3FCB.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
-130EB ; [.3FCC.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
-130EC ; [.3FCD.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
-130ED ; [.3FCE.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
-130EE ; [.3FCF.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
-130EF ; [.3FD0.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
-130F0 ; [.3FD1.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
-130F1 ; [.3FD2.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
-130F2 ; [.3FD3.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
-130F3 ; [.3FD4.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
-130F4 ; [.3FD5.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
-130F5 ; [.3FD6.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
-130F6 ; [.3FD7.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
-130F7 ; [.3FD8.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
-130F8 ; [.3FD9.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
-130F9 ; [.3FDA.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
-130FA ; [.3FDB.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
-130FB ; [.3FDC.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
-130FC ; [.3FDD.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
-130FD ; [.3FDE.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
-130FE ; [.3FDF.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
-130FF ; [.3FE0.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
-13100 ; [.3FE1.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
-13101 ; [.3FE2.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
-13102 ; [.3FE3.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
-13103 ; [.3FE4.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
-13104 ; [.3FE5.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
-13105 ; [.3FE6.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
-13106 ; [.3FE7.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
-13107 ; [.3FE8.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
-13108 ; [.3FE9.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
-13109 ; [.3FEA.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
-1310A ; [.3FEB.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
-1310B ; [.3FEC.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
-1310C ; [.3FED.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
-1310D ; [.3FEE.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
-1310E ; [.3FEF.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
-1310F ; [.3FF0.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
-13110 ; [.3FF1.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
-13111 ; [.3FF2.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
-13112 ; [.3FF3.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
-13113 ; [.3FF4.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
-13114 ; [.3FF5.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
-13115 ; [.3FF6.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
-13116 ; [.3FF7.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
-13117 ; [.3FF8.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
-13118 ; [.3FF9.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
-13119 ; [.3FFA.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
-1311A ; [.3FFB.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
-1311B ; [.3FFC.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
-1311C ; [.3FFD.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
-1311D ; [.3FFE.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
-1311E ; [.3FFF.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
-1311F ; [.4000.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
-13120 ; [.4001.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
-13121 ; [.4002.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
-13122 ; [.4003.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
-13123 ; [.4004.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
-13124 ; [.4005.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
-13125 ; [.4006.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
-13126 ; [.4007.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
-13127 ; [.4008.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
-13128 ; [.4009.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
-13129 ; [.400A.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
-1312A ; [.400B.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
-1312B ; [.400C.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
-1312C ; [.400D.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
-1312D ; [.400E.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
-1312E ; [.400F.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
-1312F ; [.4010.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
-13130 ; [.4011.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
-13131 ; [.4012.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
-13132 ; [.4013.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
-13133 ; [.4014.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
-13134 ; [.4015.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
-13135 ; [.4016.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
-13136 ; [.4017.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
-13137 ; [.4018.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
-13138 ; [.4019.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
-13139 ; [.401A.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
-1313A ; [.401B.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
-1313B ; [.401C.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
-1313C ; [.401D.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
-1313D ; [.401E.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
-1313E ; [.401F.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
-1313F ; [.4020.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
-13140 ; [.4021.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
-13141 ; [.4022.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
-13142 ; [.4023.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
-13143 ; [.4024.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
-13144 ; [.4025.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
-13145 ; [.4026.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
-13146 ; [.4027.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
-13147 ; [.4028.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
-13148 ; [.4029.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
-13149 ; [.402A.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
-1314A ; [.402B.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
-1314B ; [.402C.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
-1314C ; [.402D.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
-1314D ; [.402E.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
-1314E ; [.402F.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
-1314F ; [.4030.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
-13150 ; [.4031.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
-13151 ; [.4032.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
-13152 ; [.4033.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
-13153 ; [.4034.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
-13154 ; [.4035.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
-13155 ; [.4036.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
-13156 ; [.4037.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
-13157 ; [.4038.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
-13158 ; [.4039.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
-13159 ; [.403A.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
-1315A ; [.403B.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
-1315B ; [.403C.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
-1315C ; [.403D.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
-1315D ; [.403E.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
-1315E ; [.403F.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
-1315F ; [.4040.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
-13160 ; [.4041.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
-13161 ; [.4042.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
-13162 ; [.4043.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
-13163 ; [.4044.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
-13164 ; [.4045.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
-13165 ; [.4046.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
-13166 ; [.4047.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
-13167 ; [.4048.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
-13168 ; [.4049.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
-13169 ; [.404A.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
-1316A ; [.404B.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
-1316B ; [.404C.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
-1316C ; [.404D.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
-1316D ; [.404E.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
-1316E ; [.404F.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
-1316F ; [.4050.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
-13170 ; [.4051.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
-13171 ; [.4052.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
-13172 ; [.4053.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
-13173 ; [.4054.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
-13174 ; [.4055.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
-13175 ; [.4056.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
-13176 ; [.4057.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
-13177 ; [.4058.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
-13178 ; [.4059.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
-13179 ; [.405A.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
-1317A ; [.405B.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
-1317B ; [.405C.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
-1317C ; [.405D.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
-1317D ; [.405E.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
-1317E ; [.405F.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
-1317F ; [.4060.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
-13180 ; [.4061.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
-13181 ; [.4062.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
-13182 ; [.4063.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
-13183 ; [.4064.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
-13184 ; [.4065.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
-13185 ; [.4066.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
-13186 ; [.4067.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
-13187 ; [.4068.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
-13188 ; [.4069.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
-13189 ; [.406A.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
-1318A ; [.406B.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
-1318B ; [.406C.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
-1318C ; [.406D.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
-1318D ; [.406E.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
-1318E ; [.406F.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
-1318F ; [.4070.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
-13190 ; [.4071.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
-13191 ; [.4072.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
-13192 ; [.4073.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
-13193 ; [.4074.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
-13194 ; [.4075.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
-13195 ; [.4076.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
-13196 ; [.4077.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
-13197 ; [.4078.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
-13198 ; [.4079.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
-13199 ; [.407A.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
-1319A ; [.407B.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
-1319B ; [.407C.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
-1319C ; [.407D.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
-1319D ; [.407E.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
-1319E ; [.407F.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
-1319F ; [.4080.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
-131A0 ; [.4081.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
-131A1 ; [.4082.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
-131A2 ; [.4083.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
-131A3 ; [.4084.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
-131A4 ; [.4085.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
-131A5 ; [.4086.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
-131A6 ; [.4087.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
-131A7 ; [.4088.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
-131A8 ; [.4089.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
-131A9 ; [.408A.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
-131AA ; [.408B.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
-131AB ; [.408C.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
-131AC ; [.408D.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
-131AD ; [.408E.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
-131AE ; [.408F.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
-131AF ; [.4090.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
-131B0 ; [.4091.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
-131B1 ; [.4092.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
-131B2 ; [.4093.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
-131B3 ; [.4094.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
-131B4 ; [.4095.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
-131B5 ; [.4096.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
-131B6 ; [.4097.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
-131B7 ; [.4098.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
-131B8 ; [.4099.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
-131B9 ; [.409A.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
-131BA ; [.409B.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
-131BB ; [.409C.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
-131BC ; [.409D.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
-131BD ; [.409E.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
-131BE ; [.409F.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
-131BF ; [.40A0.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
-131C0 ; [.40A1.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
-131C1 ; [.40A2.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
-131C2 ; [.40A3.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
-131C3 ; [.40A4.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
-131C4 ; [.40A5.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
-131C5 ; [.40A6.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
-131C6 ; [.40A7.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
-131C7 ; [.40A8.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
-131C8 ; [.40A9.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
-131C9 ; [.40AA.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
-131CA ; [.40AB.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
-131CB ; [.40AC.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
-131CC ; [.40AD.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
-131CD ; [.40AE.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
-131CE ; [.40AF.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
-131CF ; [.40B0.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
-131D0 ; [.40B1.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
-131D1 ; [.40B2.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
-131D2 ; [.40B3.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
-131D3 ; [.40B4.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
-131D4 ; [.40B5.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
-131D5 ; [.40B6.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
-131D6 ; [.40B7.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
-131D7 ; [.40B8.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
-131D8 ; [.40B9.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
-131D9 ; [.40BA.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
-131DA ; [.40BB.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
-131DB ; [.40BC.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
-131DC ; [.40BD.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
-131DD ; [.40BE.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
-131DE ; [.40BF.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
-131DF ; [.40C0.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
-131E0 ; [.40C1.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
-131E1 ; [.40C2.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
-131E2 ; [.40C3.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
-131E3 ; [.40C4.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
-131E4 ; [.40C5.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
-131E5 ; [.40C6.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
-131E6 ; [.40C7.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
-131E7 ; [.40C8.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
-131E8 ; [.40C9.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
-131E9 ; [.40CA.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
-131EA ; [.40CB.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
-131EB ; [.40CC.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
-131EC ; [.40CD.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
-131ED ; [.40CE.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
-131EE ; [.40CF.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
-131EF ; [.40D0.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
-131F0 ; [.40D1.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
-131F1 ; [.40D2.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
-131F2 ; [.40D3.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
-131F3 ; [.40D4.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
-131F4 ; [.40D5.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
-131F5 ; [.40D6.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
-131F6 ; [.40D7.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
-131F7 ; [.40D8.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
-131F8 ; [.40D9.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
-131F9 ; [.40DA.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
-131FA ; [.40DB.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
-131FB ; [.40DC.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
-131FC ; [.40DD.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
-131FD ; [.40DE.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
-131FE ; [.40DF.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
-131FF ; [.40E0.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
-13200 ; [.40E1.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
-13201 ; [.40E2.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
-13202 ; [.40E3.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
-13203 ; [.40E4.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
-13204 ; [.40E5.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
-13205 ; [.40E6.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
-13206 ; [.40E7.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
-13207 ; [.40E8.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
-13208 ; [.40E9.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
-13209 ; [.40EA.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
-1320A ; [.40EB.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
-1320B ; [.40EC.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
-1320C ; [.40ED.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
-1320D ; [.40EE.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
-1320E ; [.40EF.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
-1320F ; [.40F0.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
-13210 ; [.40F1.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
-13211 ; [.40F2.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
-13212 ; [.40F3.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
-13213 ; [.40F4.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
-13214 ; [.40F5.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
-13215 ; [.40F6.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
-13216 ; [.40F7.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
-13217 ; [.40F8.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
-13218 ; [.40F9.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
-13219 ; [.40FA.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
-1321A ; [.40FB.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
-1321B ; [.40FC.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
-1321C ; [.40FD.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
-1321D ; [.40FE.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
-1321E ; [.40FF.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
-1321F ; [.4100.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
-13220 ; [.4101.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
-13221 ; [.4102.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
-13222 ; [.4103.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
-13223 ; [.4104.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
-13224 ; [.4105.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
-13225 ; [.4106.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
-13226 ; [.4107.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
-13227 ; [.4108.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
-13228 ; [.4109.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
-13229 ; [.410A.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
-1322A ; [.410B.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
-1322B ; [.410C.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
-1322C ; [.410D.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
-1322D ; [.410E.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
-1322E ; [.410F.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
-1322F ; [.4110.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
-13230 ; [.4111.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
-13231 ; [.4112.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
-13232 ; [.4113.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
-13233 ; [.4114.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
-13234 ; [.4115.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
-13235 ; [.4116.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
-13236 ; [.4117.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
-13237 ; [.4118.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
-13238 ; [.4119.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
-13239 ; [.411A.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
-1323A ; [.411B.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
-1323B ; [.411C.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
-1323C ; [.411D.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
-1323D ; [.411E.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
-1323E ; [.411F.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
-1323F ; [.4120.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
-13240 ; [.4121.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
-13241 ; [.4122.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
-13242 ; [.4123.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
-13243 ; [.4124.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
-13244 ; [.4125.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
-13245 ; [.4126.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
-13246 ; [.4127.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
-13247 ; [.4128.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
-13248 ; [.4129.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
-13249 ; [.412A.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
-1324A ; [.412B.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
-1324B ; [.412C.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
-1324C ; [.412D.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
-1324D ; [.412E.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
-1324E ; [.412F.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
-1324F ; [.4130.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
-13250 ; [.4131.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
-13251 ; [.4132.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
-13252 ; [.4133.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
-13253 ; [.4134.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
-13254 ; [.4135.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
-13255 ; [.4136.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
-13256 ; [.4137.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
-13257 ; [.4138.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
-13258 ; [.4139.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
-13259 ; [.413A.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
-1325A ; [.413B.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
-1325B ; [.413C.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
-1325C ; [.413D.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
-1325D ; [.413E.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
-1325E ; [.413F.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
-1325F ; [.4140.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
-13260 ; [.4141.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
-13261 ; [.4142.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
-13262 ; [.4143.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
-13263 ; [.4144.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
-13264 ; [.4145.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
-13265 ; [.4146.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
-13266 ; [.4147.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
-13267 ; [.4148.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
-13268 ; [.4149.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
-13269 ; [.414A.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
-1326A ; [.414B.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
-1326B ; [.414C.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
-1326C ; [.414D.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
-1326D ; [.414E.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
-1326E ; [.414F.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
-1326F ; [.4150.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
-13270 ; [.4151.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
-13271 ; [.4152.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
-13272 ; [.4153.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
-13273 ; [.4154.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
-13274 ; [.4155.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
-13275 ; [.4156.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
-13276 ; [.4157.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
-13277 ; [.4158.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
-13278 ; [.4159.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
-13279 ; [.415A.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
-1327A ; [.415B.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
-1327B ; [.415C.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
-1327C ; [.415D.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
-1327D ; [.415E.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
-1327E ; [.415F.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
-1327F ; [.4160.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
-13280 ; [.4161.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
-13281 ; [.4162.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
-13282 ; [.4163.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
-13283 ; [.4164.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
-13284 ; [.4165.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
-13285 ; [.4166.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
-13286 ; [.4167.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
-13287 ; [.4168.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
-13288 ; [.4169.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
-13289 ; [.416A.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
-1328A ; [.416B.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
-1328B ; [.416C.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
-1328C ; [.416D.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
-1328D ; [.416E.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
-1328E ; [.416F.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
-1328F ; [.4170.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
-13290 ; [.4171.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
-13291 ; [.4172.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
-13292 ; [.4173.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
-13293 ; [.4174.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
-13294 ; [.4175.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
-13295 ; [.4176.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
-13296 ; [.4177.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
-13297 ; [.4178.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
-13298 ; [.4179.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
-13299 ; [.417A.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
-1329A ; [.417B.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
-1329B ; [.417C.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
-1329C ; [.417D.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
-1329D ; [.417E.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
-1329E ; [.417F.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
-1329F ; [.4180.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
-132A0 ; [.4181.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
-132A1 ; [.4182.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
-132A2 ; [.4183.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
-132A3 ; [.4184.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
-132A4 ; [.4185.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
-132A5 ; [.4186.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
-132A6 ; [.4187.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
-132A7 ; [.4188.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
-132A8 ; [.4189.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
-132A9 ; [.418A.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
-132AA ; [.418B.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
-132AB ; [.418C.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
-132AC ; [.418D.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
-132AD ; [.418E.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
-132AE ; [.418F.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
-132AF ; [.4190.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
-132B0 ; [.4191.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
-132B1 ; [.4192.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
-132B2 ; [.4193.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
-132B3 ; [.4194.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
-132B4 ; [.4195.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
-132B5 ; [.4196.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
-132B6 ; [.4197.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
-132B7 ; [.4198.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
-132B8 ; [.4199.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
-132B9 ; [.419A.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
-132BA ; [.419B.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
-132BB ; [.419C.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
-132BC ; [.419D.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
-132BD ; [.419E.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
-132BE ; [.419F.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
-132BF ; [.41A0.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
-132C0 ; [.41A1.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
-132C1 ; [.41A2.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
-132C2 ; [.41A3.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
-132C3 ; [.41A4.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
-132C4 ; [.41A5.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
-132C5 ; [.41A6.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
-132C6 ; [.41A7.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
-132C7 ; [.41A8.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
-132C8 ; [.41A9.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
-132C9 ; [.41AA.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
-132CA ; [.41AB.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
-132CB ; [.41AC.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
-132CC ; [.41AD.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
-132CD ; [.41AE.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
-132CE ; [.41AF.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
-132CF ; [.41B0.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
-132D0 ; [.41B1.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
-132D1 ; [.41B2.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
-132D2 ; [.41B3.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
-132D3 ; [.41B4.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
-132D4 ; [.41B5.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
-132D5 ; [.41B6.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
-132D6 ; [.41B7.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
-132D7 ; [.41B8.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
-132D8 ; [.41B9.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
-132D9 ; [.41BA.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
-132DA ; [.41BB.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
-132DB ; [.41BC.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
-132DC ; [.41BD.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
-132DD ; [.41BE.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
-132DE ; [.41BF.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
-132DF ; [.41C0.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
-132E0 ; [.41C1.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
-132E1 ; [.41C2.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
-132E2 ; [.41C3.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
-132E3 ; [.41C4.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
-132E4 ; [.41C5.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
-132E5 ; [.41C6.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
-132E6 ; [.41C7.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
-132E7 ; [.41C8.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
-132E8 ; [.41C9.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
-132E9 ; [.41CA.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
-132EA ; [.41CB.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
-132EB ; [.41CC.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
-132EC ; [.41CD.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
-132ED ; [.41CE.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
-132EE ; [.41CF.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
-132EF ; [.41D0.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
-132F0 ; [.41D1.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
-132F1 ; [.41D2.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
-132F2 ; [.41D3.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
-132F3 ; [.41D4.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
-132F4 ; [.41D5.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
-132F5 ; [.41D6.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
-132F6 ; [.41D7.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
-132F7 ; [.41D8.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
-132F8 ; [.41D9.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
-132F9 ; [.41DA.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
-132FA ; [.41DB.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
-132FB ; [.41DC.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
-132FC ; [.41DD.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
-132FD ; [.41DE.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
-132FE ; [.41DF.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
-132FF ; [.41E0.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
-13300 ; [.41E1.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
-13301 ; [.41E2.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
-13302 ; [.41E3.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
-13303 ; [.41E4.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
-13304 ; [.41E5.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
-13305 ; [.41E6.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
-13306 ; [.41E7.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
-13307 ; [.41E8.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
-13308 ; [.41E9.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
-13309 ; [.41EA.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
-1330A ; [.41EB.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
-1330B ; [.41EC.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
-1330C ; [.41ED.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
-1330D ; [.41EE.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
-1330E ; [.41EF.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
-1330F ; [.41F0.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
-13310 ; [.41F1.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
-13311 ; [.41F2.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
-13312 ; [.41F3.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
-13313 ; [.41F4.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
-13314 ; [.41F5.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
-13315 ; [.41F6.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
-13316 ; [.41F7.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
-13317 ; [.41F8.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
-13318 ; [.41F9.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
-13319 ; [.41FA.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
-1331A ; [.41FB.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
-1331B ; [.41FC.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
-1331C ; [.41FD.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
-1331D ; [.41FE.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
-1331E ; [.41FF.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
-1331F ; [.4200.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
-13320 ; [.4201.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
-13321 ; [.4202.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
-13322 ; [.4203.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
-13323 ; [.4204.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
-13324 ; [.4205.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
-13325 ; [.4206.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
-13326 ; [.4207.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
-13327 ; [.4208.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
-13328 ; [.4209.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
-13329 ; [.420A.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
-1332A ; [.420B.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
-1332B ; [.420C.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
-1332C ; [.420D.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
-1332D ; [.420E.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
-1332E ; [.420F.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
-1332F ; [.4210.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
-13330 ; [.4211.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
-13331 ; [.4212.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
-13332 ; [.4213.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
-13333 ; [.4214.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
-13334 ; [.4215.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
-13335 ; [.4216.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
-13336 ; [.4217.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
-13337 ; [.4218.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
-13338 ; [.4219.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
-13339 ; [.421A.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
-1333A ; [.421B.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
-1333B ; [.421C.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
-1333C ; [.421D.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
-1333D ; [.421E.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
-1333E ; [.421F.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
-1333F ; [.4220.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
-13340 ; [.4221.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
-13341 ; [.4222.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
-13342 ; [.4223.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
-13343 ; [.4224.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
-13344 ; [.4225.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
-13345 ; [.4226.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
-13346 ; [.4227.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
-13347 ; [.4228.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
-13348 ; [.4229.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
-13349 ; [.422A.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
-1334A ; [.422B.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
-1334B ; [.422C.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
-1334C ; [.422D.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
-1334D ; [.422E.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
-1334E ; [.422F.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
-1334F ; [.4230.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
-13350 ; [.4231.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
-13351 ; [.4232.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
-13352 ; [.4233.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
-13353 ; [.4234.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
-13354 ; [.4235.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
-13355 ; [.4236.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
-13356 ; [.4237.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
-13357 ; [.4238.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
-13358 ; [.4239.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
-13359 ; [.423A.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
-1335A ; [.423B.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
-1335B ; [.423C.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
-1335C ; [.423D.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
-1335D ; [.423E.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
-1335E ; [.423F.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
-1335F ; [.4240.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
-13360 ; [.4241.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
-13361 ; [.4242.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
-13362 ; [.4243.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
-13363 ; [.4244.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
-13364 ; [.4245.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
-13365 ; [.4246.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
-13366 ; [.4247.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
-13367 ; [.4248.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
-13368 ; [.4249.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
-13369 ; [.424A.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
-1336A ; [.424B.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
-1336B ; [.424C.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
-1336C ; [.424D.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
-1336D ; [.424E.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
-1336E ; [.424F.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
-1336F ; [.4250.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
-13370 ; [.4251.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
-13371 ; [.4252.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
-13372 ; [.4253.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
-13373 ; [.4254.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
-13374 ; [.4255.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
-13375 ; [.4256.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
-13376 ; [.4257.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
-13377 ; [.4258.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
-13378 ; [.4259.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
-13379 ; [.425A.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
-1337A ; [.425B.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
-1337B ; [.425C.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
-1337C ; [.425D.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
-1337D ; [.425E.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
-1337E ; [.425F.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
-1337F ; [.4260.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
-13380 ; [.4261.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
-13381 ; [.4262.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
-13382 ; [.4263.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
-13383 ; [.4264.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
-13384 ; [.4265.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
-13385 ; [.4266.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
-13386 ; [.4267.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
-13387 ; [.4268.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
-13388 ; [.4269.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
-13389 ; [.426A.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
-1338A ; [.426B.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
-1338B ; [.426C.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
-1338C ; [.426D.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
-1338D ; [.426E.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
-1338E ; [.426F.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
-1338F ; [.4270.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
-13390 ; [.4271.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
-13391 ; [.4272.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
-13392 ; [.4273.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
-13393 ; [.4274.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
-13394 ; [.4275.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
-13395 ; [.4276.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
-13396 ; [.4277.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
-13397 ; [.4278.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
-13398 ; [.4279.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
-13399 ; [.427A.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
-1339A ; [.427B.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
-1339B ; [.427C.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
-1339C ; [.427D.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
-1339D ; [.427E.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
-1339E ; [.427F.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
-1339F ; [.4280.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
-133A0 ; [.4281.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
-133A1 ; [.4282.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
-133A2 ; [.4283.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
-133A3 ; [.4284.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
-133A4 ; [.4285.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
-133A5 ; [.4286.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
-133A6 ; [.4287.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
-133A7 ; [.4288.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
-133A8 ; [.4289.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
-133A9 ; [.428A.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
-133AA ; [.428B.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
-133AB ; [.428C.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
-133AC ; [.428D.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
-133AD ; [.428E.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
-133AE ; [.428F.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
-133AF ; [.4290.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
-133B0 ; [.4291.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
-133B1 ; [.4292.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
-133B2 ; [.4293.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
-133B3 ; [.4294.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
-133B4 ; [.4295.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
-133B5 ; [.4296.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
-133B6 ; [.4297.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
-133B7 ; [.4298.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
-133B8 ; [.4299.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
-133B9 ; [.429A.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
-133BA ; [.429B.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
-133BB ; [.429C.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
-133BC ; [.429D.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
-133BD ; [.429E.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
-133BE ; [.429F.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
-133BF ; [.42A0.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
-133C0 ; [.42A1.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
-133C1 ; [.42A2.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
-133C2 ; [.42A3.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
-133C3 ; [.42A4.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
-133C4 ; [.42A5.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
-133C5 ; [.42A6.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
-133C6 ; [.42A7.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
-133C7 ; [.42A8.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
-133C8 ; [.42A9.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
-133C9 ; [.42AA.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
-133CA ; [.42AB.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
-133CB ; [.42AC.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
-133CC ; [.42AD.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
-133CD ; [.42AE.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
-133CE ; [.42AF.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
-133CF ; [.42B0.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
-133D0 ; [.42B1.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
-133D1 ; [.42B2.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
-133D2 ; [.42B3.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
-133D3 ; [.42B4.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
-133D4 ; [.42B5.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
-133D5 ; [.42B6.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
-133D6 ; [.42B7.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
-133D7 ; [.42B8.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
-133D8 ; [.42B9.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
-133D9 ; [.42BA.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
-133DA ; [.42BB.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
-133DB ; [.42BC.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
-133DC ; [.42BD.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
-133DD ; [.42BE.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
-133DE ; [.42BF.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
-133DF ; [.42C0.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
-133E0 ; [.42C1.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
-133E1 ; [.42C2.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
-133E2 ; [.42C3.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
-133E3 ; [.42C4.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
-133E4 ; [.42C5.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
-133E5 ; [.42C6.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
-133E6 ; [.42C7.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
-133E7 ; [.42C8.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
-133E8 ; [.42C9.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
-133E9 ; [.42CA.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
-133EA ; [.42CB.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
-133EB ; [.42CC.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
-133EC ; [.42CD.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
-133ED ; [.42CE.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
-133EE ; [.42CF.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
-133EF ; [.42D0.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
-133F0 ; [.42D1.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
-133F1 ; [.42D2.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
-133F2 ; [.42D3.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
-133F3 ; [.42D4.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
-133F4 ; [.42D5.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
-133F5 ; [.42D6.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
-133F6 ; [.42D7.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
-133F7 ; [.42D8.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
-133F8 ; [.42D9.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
-133F9 ; [.42DA.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
-133FA ; [.42DB.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
-133FB ; [.42DC.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
-133FC ; [.42DD.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
-133FD ; [.42DE.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
-133FE ; [.42DF.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
-133FF ; [.42E0.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
-13400 ; [.42E1.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
-13401 ; [.42E2.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
-13402 ; [.42E3.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
-13403 ; [.42E4.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
-13404 ; [.42E5.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
-13405 ; [.42E6.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
-13406 ; [.42E7.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
-13407 ; [.42E8.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
-13408 ; [.42E9.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
-13409 ; [.42EA.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
-1340A ; [.42EB.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
-1340B ; [.42EC.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
-1340C ; [.42ED.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
-1340D ; [.42EE.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
-1340E ; [.42EF.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
-1340F ; [.42F0.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
-13410 ; [.42F1.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
-13411 ; [.42F2.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
-13412 ; [.42F3.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
-13413 ; [.42F4.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
-13414 ; [.42F5.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
-13415 ; [.42F6.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
-13416 ; [.42F7.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
-13417 ; [.42F8.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
-13418 ; [.42F9.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
-13419 ; [.42FA.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
-1341A ; [.42FB.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
-1341B ; [.42FC.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
-1341C ; [.42FD.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
-1341D ; [.42FE.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
-1341E ; [.42FF.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
-1341F ; [.4300.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
-13420 ; [.4301.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
-13421 ; [.4302.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
-13422 ; [.4303.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
-13423 ; [.4304.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
-13424 ; [.4305.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
-13425 ; [.4306.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
-13426 ; [.4307.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
-13427 ; [.4308.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
-13428 ; [.4309.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
-13429 ; [.430A.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
-1342A ; [.430B.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
-1342B ; [.430C.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
-1342C ; [.430D.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
-1342D ; [.430E.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
-1342E ; [.430F.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
-109A0 ; [.4310.0020.0002.109A0] # MEROITIC CURSIVE LETTER A
-10980 ; [.4310.0020.0004.10980][.0000.0139.0004.10980] # MEROITIC HIEROGLYPHIC LETTER A
-109A1 ; [.4311.0020.0002.109A1] # MEROITIC CURSIVE LETTER E
-10981 ; [.4311.0020.0004.10981][.0000.0139.0004.10981] # MEROITIC HIEROGLYPHIC LETTER E
-109A2 ; [.4312.0020.0002.109A2] # MEROITIC CURSIVE LETTER I
-10982 ; [.4312.0020.0004.10982][.0000.0139.0004.10982] # MEROITIC HIEROGLYPHIC LETTER I
-109A3 ; [.4313.0020.0002.109A3] # MEROITIC CURSIVE LETTER O
-10983 ; [.4313.0020.0004.10983][.0000.0139.0004.10983] # MEROITIC HIEROGLYPHIC LETTER O
-109A4 ; [.4314.0020.0002.109A4] # MEROITIC CURSIVE LETTER YA
-10984 ; [.4314.0020.0004.10984][.0000.0139.0004.10984] # MEROITIC HIEROGLYPHIC LETTER YA
-109A5 ; [.4315.0020.0002.109A5] # MEROITIC CURSIVE LETTER WA
-10985 ; [.4315.0020.0004.10985][.0000.0139.0004.10985] # MEROITIC HIEROGLYPHIC LETTER WA
-109A6 ; [.4316.0020.0002.109A6] # MEROITIC CURSIVE LETTER BA
-10986 ; [.4316.0020.0004.10986][.0000.0139.0004.10986] # MEROITIC HIEROGLYPHIC LETTER BA
-10987 ; [.4316.0020.0004.10987][.0000.013A.0004.10987] # MEROITIC HIEROGLYPHIC LETTER BA-2
-109A7 ; [.4317.0020.0002.109A7] # MEROITIC CURSIVE LETTER PA
-10988 ; [.4317.0020.0004.10988][.0000.0139.0004.10988] # MEROITIC HIEROGLYPHIC LETTER PA
-109A8 ; [.4318.0020.0002.109A8] # MEROITIC CURSIVE LETTER MA
-10989 ; [.4318.0020.0004.10989][.0000.0139.0004.10989] # MEROITIC HIEROGLYPHIC LETTER MA
-109A9 ; [.4319.0020.0002.109A9] # MEROITIC CURSIVE LETTER NA
-1098A ; [.4319.0020.0004.1098A][.0000.0139.0004.1098A] # MEROITIC HIEROGLYPHIC LETTER NA
-1098B ; [.4319.0020.0004.1098B][.0000.013A.0004.1098B] # MEROITIC HIEROGLYPHIC LETTER NA-2
-109AA ; [.431A.0020.0002.109AA] # MEROITIC CURSIVE LETTER NE
-1098C ; [.431A.0020.0004.1098C][.0000.0139.0004.1098C] # MEROITIC HIEROGLYPHIC LETTER NE
-1098D ; [.431A.0020.0004.1098D][.0000.013A.0004.1098D] # MEROITIC HIEROGLYPHIC LETTER NE-2
-109AB ; [.431B.0020.0002.109AB] # MEROITIC CURSIVE LETTER RA
-1098E ; [.431B.0020.0004.1098E][.0000.0139.0004.1098E] # MEROITIC HIEROGLYPHIC LETTER RA
-1098F ; [.431B.0020.0004.1098F][.0000.013A.0004.1098F] # MEROITIC HIEROGLYPHIC LETTER RA-2
-109AC ; [.431C.0020.0002.109AC] # MEROITIC CURSIVE LETTER LA
-10990 ; [.431C.0020.0004.10990][.0000.0139.0004.10990] # MEROITIC HIEROGLYPHIC LETTER LA
-109AD ; [.431D.0020.0002.109AD] # MEROITIC CURSIVE LETTER KHA
-10991 ; [.431D.0020.0004.10991][.0000.0139.0004.10991] # MEROITIC HIEROGLYPHIC LETTER KHA
-109AE ; [.431E.0020.0002.109AE] # MEROITIC CURSIVE LETTER HHA
-10992 ; [.431E.0020.0004.10992][.0000.0139.0004.10992] # MEROITIC HIEROGLYPHIC LETTER HHA
-109AF ; [.431F.0020.0002.109AF] # MEROITIC CURSIVE LETTER SA
-109B0 ; [.431F.0020.0004.109B0][.0000.0139.0004.109B0] # MEROITIC CURSIVE LETTER ARCHAIC SA
-10993 ; [.431F.0020.0004.10993][.0000.013A.0004.10993] # MEROITIC HIEROGLYPHIC LETTER SA
-10994 ; [.431F.0020.0004.10994][.0000.013C.0004.10994] # MEROITIC HIEROGLYPHIC LETTER SA-2
-109B1 ; [.4320.0020.0002.109B1] # MEROITIC CURSIVE LETTER SE
-10995 ; [.4320.0020.0004.10995][.0000.0139.0004.10995] # MEROITIC HIEROGLYPHIC LETTER SE
-109B2 ; [.4321.0020.0002.109B2] # MEROITIC CURSIVE LETTER KA
-10996 ; [.4321.0020.0004.10996][.0000.0139.0004.10996] # MEROITIC HIEROGLYPHIC LETTER KA
-109B3 ; [.4322.0020.0002.109B3] # MEROITIC CURSIVE LETTER QA
-10997 ; [.4322.0020.0004.10997][.0000.0139.0004.10997] # MEROITIC HIEROGLYPHIC LETTER QA
-109B4 ; [.4323.0020.0002.109B4] # MEROITIC CURSIVE LETTER TA
-10998 ; [.4323.0020.0004.10998][.0000.0139.0004.10998] # MEROITIC HIEROGLYPHIC LETTER TA
-10999 ; [.4323.0020.0004.10999][.0000.013A.0004.10999] # MEROITIC HIEROGLYPHIC LETTER TA-2
-109B5 ; [.4324.0020.0002.109B5] # MEROITIC CURSIVE LETTER TE
-1099A ; [.4324.0020.0004.1099A][.0000.0139.0004.1099A] # MEROITIC HIEROGLYPHIC LETTER TE
-1099B ; [.4324.0020.0004.1099B][.0000.013A.0004.1099B] # MEROITIC HIEROGLYPHIC LETTER TE-2
-109B6 ; [.4325.0020.0002.109B6] # MEROITIC CURSIVE LETTER TO
-1099C ; [.4325.0020.0004.1099C][.0000.0139.0004.1099C] # MEROITIC HIEROGLYPHIC LETTER TO
-109B7 ; [.4326.0020.0002.109B7] # MEROITIC CURSIVE LETTER DA
-1099D ; [.4326.0020.0004.1099D][.0000.0139.0004.1099D] # MEROITIC HIEROGLYPHIC LETTER DA
-109BE ; [.4327.0020.0002.109BE] # MEROITIC CURSIVE LOGOGRAM RMT
-109BF ; [.4328.0020.0002.109BF] # MEROITIC CURSIVE LOGOGRAM IMN
-1099E ; [.4329.0020.0002.1099E] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
-1099F ; [.432A.0020.0002.1099F] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
-2F00 ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE
-3220 ; [*02FB.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
-3280 ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE
-3192 ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK
-1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-319C ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3226 ; [*02FB.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
-3286 ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN
-3222 ; [*02FB.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
-1F241 ; [*0359.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-3282 ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE
-3194 ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK
-1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-32A4 ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH
-3196 ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK
-32A6 ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW
-3198 ; [.FB40.0020.0014.4E0B][.CE0B.0000.0000.4E0B] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-F967 ; [.FB40.0020.0002.4E0D][.CE0D.0000.0000.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
-319B ; [.FB40.0020.0014.4E19][.CE19.0000.0000.4E19] # IDEOGRAPHIC ANNOTATION THIRD MARK
-FA70 ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
-2F01 ; [.FB40.0020.0004.4E28][.CE28.0000.0000.4E28] # KANGXI RADICAL LINE
-2EA6 ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
-32A5 ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE
-3197 ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-F905 ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F02 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT
-2E80 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.0139.0004.2E80] # CJK RADICAL REPEAT
-2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F03 ; [.FB40.0020.0004.4E3F][.CE3F.0000.0000.4E3F] # KANGXI RADICAL SLASH
-2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
-2F04 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND
-319A ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK
-2E84 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.0139.0004.2E84] # CJK RADICAL SECOND THREE
-2E83 ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO
-2E82 ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE
-3228 ; [*02FB.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
-3288 ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE
-F91B ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
-2F05 ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK
-F9BA ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-2F06 ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO
-3221 ; [*02FB.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
-1F242 ; [*0359.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-3281 ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO
-3193 ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK
-1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3224 ; [*02FB.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
-3284 ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE
-2F07 ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID
-1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-F977 ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
-2F08 ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN
-319F ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK
-2E85 ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON
-F9FD ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
-3239 ; [*02FB.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
-F9A8 ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-323D ; [*02FB.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-32AD ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE
-3241 ; [*02FB.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
-32A1 ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST
-2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.FB40.0020.0002.4F86][.CF86.0000.0000.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.FB40.0020.0002.4F8B][.CF8B.0000.0000.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.FB40.0020.0002.4FBB][.CFBB.0000.0000.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.FB40.0020.0002.4FBF][.CFBF.0000.0000.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.FB40.0020.0002.5002][.D002.0000.0000.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.FB40.0020.0002.502B][.D02B.0000.0000.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.FB40.0020.0002.507A][.D07A.0000.0000.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.FB40.0020.0002.5099][.D099.0000.0000.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.FB40.0020.0002.50CF][.D0CF.0000.0000.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.FB40.0020.0002.50DA][.D0DA.0000.0000.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-329D ; [.FB40.0020.0006.512A][.D12A.0000.0000.512A] # CIRCLED IDEOGRAPH EXCELLENT
-2F09 ; [.FB40.0020.0004.513F][.D13F.0000.0000.513F] # KANGXI RADICAL LEGS
-FA0C ; [.FB40.0020.0002.5140][.D140.0000.0000.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.FB40.0020.0002.5145][.D145.0000.0000.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.FB40.0020.0002.5154][.D154.0000.0000.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; [.FB40.0020.0002.5164][.D164.0000.0000.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F0A ; [.FB40.0020.0004.5165][.D165.0000.0000.5165] # KANGXI RADICAL ENTER
-2F814 ; [.FB40.0020.0002.5167][.D167.0000.0000.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
-2F0B ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT
-3227 ; [*02FB.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
-3287 ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT
-F9D1 ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-3225 ; [*02FB.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
-3285 ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX
-2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F0C ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX
-2E86 ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.0139.0004.2E86] # CJK RADICAL BOX
-2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
-1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D
-2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F0D ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER
-2F817 ; [.FB40.0020.0002.5197][.D197.0000.0000.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
-32A2 ; [.FB40.0020.0006.5199][.D199.0000.0000.5199] # CIRCLED IDEOGRAPH COPY
-2F818 ; [.FB40.0020.0002.51A4][.D1A4.0000.0000.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F0E ; [.FB40.0020.0004.51AB][.D1AB.0000.0000.51AB] # KANGXI RADICAL ICE
-2F81A ; [.FB40.0020.0002.51AC][.D1AC.0000.0000.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.FB40.0020.0002.51B7][.D1B7.0000.0000.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.FB40.0020.0002.51C9][.D1C9.0000.0000.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F0F ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE
-2E87 ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.0139.0004.2E87] # CJK RADICAL TABLE
-2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F10 ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX
-2F11 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE
-2E88 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.0139.0004.2E88] # CJK RADICAL KNIFE ONE
-2E89 ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO
-2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
-1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D
-F9DD ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
-1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D
-2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
-1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272
-2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
-2F12 ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER
-F99D ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
-3238 ; [*02FB.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
-3298 ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR
-FA76 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
-1F247 ; [*0359.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-F92F ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.FB40.0020.0002.52F5][.D2F5.0000.0000.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
-2F13 ; [.FB40.0020.0004.52F9][.D2F9.0000.0000.52F9] # KANGXI RADICAL WRAP
-FA77 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.FB40.0020.0002.5305][.D305.0000.0000.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.FB40.0020.0002.5306][.D306.0000.0000.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-2F14 ; [.FB40.0020.0004.5315][.D315.0000.0000.5315] # KANGXI RADICAL SPOON
-F963 ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-2F15 ; [.FB40.0020.0004.531A][.D31A.0000.0000.531A] # KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; [.FB40.0020.0004.5338][.D338.0000.0000.5338] # KANGXI RADICAL HIDING ENCLOSURE
-32A9 ; [.FB40.0020.0006.533B][.D33B.0000.0000.533B] # CIRCLED IDEOGRAPH MEDICINE
-F9EB ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F17 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN
-3038 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN
-3229 ; [*02FB.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
-3289 ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN
-3039 ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY
-303A ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY
-2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-323F ; [*02FB.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
-32AF ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE
-2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F18 ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION
-2E8A ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.0139.0004.2E8A] # CJK RADICAL DIVINATION
-2F19 ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL
-2E8B ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.0139.0004.2E8B] # CJK RADICAL SEAL
-329E ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT
-2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.FB40.0020.0002.537D][.D37D.0000.0000.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
-2F1A ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF
-2E81 ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.0139.0004.2E81] # CJK RADICAL CLIFF
-2F1B ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE
-F96B ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F1C ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN
-2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
-1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
-2F1D ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH
-F906 ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
-1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT
-2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-32A8 ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT
-1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3234 ; [*02FB.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
-3294 ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME
-F9DE ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439
-F980 ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-323A ; [*02FB.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
-2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
-3244 ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION
-2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
-FA79 ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.FB40.0020.0002.5587][.D587.0000.0000.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
-1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
-FA0D ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84E ; [.FB40.0020.0002.5651][.D651.0000.0000.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
-FA38 ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-2F1E ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE
-3223 ; [*02FB.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
-3283 ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR
-3195 ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK
-F9A9 ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F1F ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH
-322F ; [*02FB.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
-328F ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH
-319E ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK
-2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.FB40.0020.0002.57CE][.D7CE.0000.0000.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.FB40.0020.0002.57F4][.D7F4.0000.0000.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.FB40.0020.0002.580D][.D80D.0000.0000.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.FB40.0020.0002.5831][.D831.0000.0000.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.FB40.0020.0002.5832][.D832.0000.0000.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA39 ; [.FB40.0020.0002.5840][.D840.0000.0000.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.FB40.0020.0002.585E][.D85E.0000.0000.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.FB40.0020.0002.58A8][.D8A8.0000.0000.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.FB40.0020.0002.58AC][.D8AC.0000.0000.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.FB40.0020.0002.58B3][.D8B3.0000.0000.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F20 ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR
-2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
-1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F21 ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO
-2F85C ; [.FB40.0020.0002.5906][.D906.0000.0000.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F22 ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY
-2F23 ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING
-2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A
-32B0 ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT
-2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-2F24 ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG
-337D ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001C.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU
-319D ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929
-FA7E ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.FB40.0020.0002.5954][.D954.0000.0000.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.FB40.0020.0002.5962][.D962.0000.0000.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.FB40.0020.0002.5973][.D973.0000.0000.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F25 ; [.FB40.0020.0004.5973][.D973.0000.0000.5973] # KANGXI RADICAL WOMAN
-329B ; [.FB40.0020.0006.5973][.D973.0000.0000.5973] # CIRCLED IDEOGRAPH FEMALE
-2F865 ; [.FB40.0020.0002.59D8][.D9D8.0000.0000.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.FB40.0020.0002.59EC][.D9EC.0000.0000.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.FB40.0020.0002.5A1B][.DA1B.0000.0000.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.FB40.0020.0002.5A27][.DA27.0000.0000.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.FB40.0020.0002.5A62][.DA62.0000.0000.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.FB40.0020.0002.5A66][.DA66.0000.0000.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.FB40.0020.0002.5AB5][.DAB5.0000.0000.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.FB40.0020.0002.5B08][.DB08.0000.0000.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-2F26 ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD
-1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-323B ; [*02FB.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
-32AB ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY
-2F27 ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF
-FA04 ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
-1F243 ; [*0359.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-32AA ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION
-2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.FB40.0020.0002.5BF3][.DBF3.0000.0000.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F28 ; [.FB40.0020.0004.5BF8][.DBF8.0000.0000.5BF8] # KANGXI RADICAL INCH
-2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F29 ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL
-2E8C ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0139.0004.2E8C] # CJK RADICAL SMALL ONE
-2E8D ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.013A.0004.2E8D] # CJK RADICAL SMALL TWO
-2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
-2E90 ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE
-2F2A ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME
-2E8E ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.0139.0004.2E8E] # CJK RADICAL LAME ONE
-2E8F ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO
-2E91 ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.0139.0004.2E91] # CJK RADICAL LAME FOUR
-2F2B ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE
-F9BD ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.FB40.0020.0002.5C62][.DC62.0000.0000.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.FB40.0020.0002.5C64][.DC64.0000.0000.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.FB40.0020.0002.5C65][.DC65.0000.0000.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F2C ; [.FB40.0020.0004.5C6E][.DC6E.0000.0000.5C6E] # KANGXI RADICAL SPROUT
-2F2D ; [.FB40.0020.0004.5C71][.DC71.0000.0000.5C71] # KANGXI RADICAL MOUNTAIN
-2F87A ; [.FB40.0020.0002.5C8D][.DC8D.0000.0000.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F879 ; [.FB40.0020.0002.5CC0][.DCC0.0000.0000.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.FB40.0020.0002.5D19][.DD19.0000.0000.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.FB40.0020.0002.5D43][.DD43.0000.0000.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.FB40.0020.0002.5D50][.DD50.0000.0000.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.FB40.0020.0002.5D6B][.DD6B.0000.0000.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F87E ; [.FB40.0020.0002.5D6E][.DD6E.0000.0000.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F880 ; [.FB40.0020.0002.5D7C][.DD7C.0000.0000.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.FB40.0020.0002.5DB2][.DDB2.0000.0000.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F2E ; [.FB40.0020.0004.5DDB][.DDDB.0000.0000.5DDB] # KANGXI RADICAL RIVER
-2F881 ; [.FB40.0020.0002.5DE1][.DDE1.0000.0000.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F2F ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK
-32A7 ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT
-1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-2F30 ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF
-2E92 ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE
-2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F31 ; [.FB40.0020.0004.5DFE][.DDFE.0000.0000.5DFE] # KANGXI RADICAL TURBAN
-2F885 ; [.FB40.0020.0002.5E28][.DE28.0000.0000.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.FB40.0020.0002.5E3D][.DE3D.0000.0000.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.FB40.0020.0002.5E69][.DE69.0000.0000.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
-2F32 ; [.FB40.0020.0004.5E72][.DE72.0000.0000.5E72] # KANGXI RADICAL DRY
-337B ; [.FB40.0020.001C.5E73][.DE73.0000.0000.5E73][.FB40.0020.001C.6210][.E210.0000.0000.6210] # SQUARE ERA NAME HEISEI
-F98E ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
-2E93 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD
-2F33 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD
-3245 ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN
-2F34 ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF
-FA01 ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.FB40.0020.0002.5EB3][.DEB3.0000.0000.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.FB40.0020.0002.5EB6][.DEB6.0000.0000.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.FB40.0020.0002.5EC9][.DEC9.0000.0000.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.FB40.0020.0002.5ED2][.DED2.0000.0000.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.FB40.0020.0002.5ED3][.DED3.0000.0000.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.FB40.0020.0002.5ED9][.DED9.0000.0000.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.FB40.0020.0002.5EEC][.DEEC.0000.0000.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F35 ; [.FB40.0020.0004.5EF4][.DEF4.0000.0000.5EF4] # KANGXI RADICAL LONG STRIDE
-2F890 ; [.FB40.0020.0002.5EFE][.DEFE.0000.0000.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
-2F36 ; [.FB40.0020.0004.5EFE][.DEFE.0000.0000.5EFE] # KANGXI RADICAL TWO HANDS
-F943 ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F37 ; [.FB40.0020.0004.5F0B][.DF0B.0000.0000.5F0B] # KANGXI RADICAL SHOOT
-2F38 ; [.FB40.0020.0004.5F13][.DF13.0000.0000.5F13] # KANGXI RADICAL BOW
-2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F39 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT
-2E95 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.0139.0004.2E95] # CJK RADICAL SNOUT TWO
-2E94 ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE
-2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F3A ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE
-2F899 ; [.FB40.0020.0002.5F62][.DF62.0000.0000.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-2F3B ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP
-F9D8 ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE
-2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
-F966 ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F3C ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART
-2E97 ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.0139.0004.2E97] # CJK RADICAL HEART TWO
-2E96 ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE
-2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
-F960 ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.FB40.0020.0002.60C7][.E0C7.0000.0000.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.FB40.0020.0002.60D8][.E0D8.0000.0000.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.FB40.0020.0002.60E1][.E0E1.0000.0000.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.FB40.0020.0002.6108][.E108.0000.0000.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.FB40.0020.0002.6144][.E144.0000.0000.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.FB40.0020.0002.6148][.E148.0000.0000.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA8A ; [.FB40.0020.0002.6160][.E160.0000.0000.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.FB40.0020.0002.6168][.E168.0000.0000.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.FB40.0020.0002.617A][.E17A.0000.0000.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.FB40.0020.0002.6190][.E190.0000.0000.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.FB40.0020.0002.61A4][.E1A4.0000.0000.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.FB40.0020.0002.61AF][.E1AF.0000.0000.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.FB40.0020.0002.61B2][.E1B2.0000.0000.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.FB40.0020.0002.61DE][.E1DE.0000.0000.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.FB40.0020.0002.6200][.E200.0000.0000.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F3D ; [.FB40.0020.0004.6208][.E208.0000.0000.6208] # KANGXI RADICAL HALBERD
-2F8B2 ; [.FB40.0020.0002.6210][.E210.0000.0000.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.FB40.0020.0002.621B][.E21B.0000.0000.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F3E ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR
-2F3F ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND
-1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B
-2E98 ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND
-1F245 ; [*0359.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253
-2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295
-2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
-1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307
-2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355
-2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.FB40.0020.0002.63A0][.E3A0.0000.0000.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.FB40.0020.0002.63A9][.E3A9.0000.0000.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.FB40.0020.0002.63C4][.E3C4.0000.0000.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.FB40.0020.0002.63C5][.E3C5.0000.0000.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.FB40.0020.0002.63E4][.E3E4.0000.0000.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.FB40.0020.0002.641C][.E41C.0000.0000.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.FB40.0020.0002.6422][.E422.0000.0000.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.FB40.0020.0002.6452][.E452.0000.0000.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.FB40.0020.0002.6469][.E469.0000.0000.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.FB40.0020.0002.6477][.E477.0000.0000.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C4 ; [.FB40.0020.0002.647E][.E47E.0000.0000.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-F991 ; [.FB40.0020.0002.649A][.E49A.0000.0000.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.FB40.0020.0002.649D][.E49D.0000.0000.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
-2F40 ; [.FB40.0020.0004.652F][.E52F.0000.0000.652F] # KANGXI RADICAL BRANCH
-2F41 ; [.FB40.0020.0004.6534][.E534.0000.0000.6534] # KANGXI RADICAL RAP
-2E99 ; [.FB40.0020.0004.6535][.E535.0000.0000.6535] # CJK RADICAL RAP
-FA41 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
-1F248 ; [*0359.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
-2F42 ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT
-3246 ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL
-2F43 ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER
-F9BE ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599
-2F44 ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE
-1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-2F45 ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE
-F983 ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
-2F46 ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT
-2E9B ; [.FB40.0020.0004.65E1][.E5E1.0000.0000.65E1] # CJK RADICAL CHOKE
-FA42 ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
-2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-2F47 ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN
-3230 ; [*02FB.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
-3290 ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN
-2E9C ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.0139.0004.2E9C] # CJK RADICAL SUN
-337E ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001C.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI
-F9E0 ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620
-337C ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001C.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA
-2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.FB40.0020.0002.6688][.E688.0000.0000.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D5 ; [.FB40.0020.0002.669C][.E69C.0000.0000.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-FA06 ; [.FB40.0020.0002.66B4][.E6B4.0000.0000.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.FB40.0020.0002.66C6][.E6C6.0000.0000.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
-2F48 ; [.FB40.0020.0004.66F0][.E6F0.0000.0000.66F0] # KANGXI RADICAL SAY
-F901 ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-2F49 ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON
-322A ; [*02FB.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
-328A ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON
-1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-2E9D ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.0139.0004.2E9D] # CJK RADICAL MOON
-3232 ; [*02FB.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
-3292 ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE
-1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709
-F929 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-2F4A ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE
-322D ; [*02FB.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
-328D ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD
-1F240 ; [*0359.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-F9E1 ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.FB40.0020.0002.675E][.E75E.0000.0000.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.FB40.0020.0002.677B][.E77B.0000.0000.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.FB40.0020.0002.6785][.E785.0000.0000.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.FB40.0020.0002.6797][.E797.0000.0000.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-3231 ; [*02FB.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
-3291 ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK
-337F ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001C.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001C.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001C.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION
-2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-F97A ; [.FB40.0020.0002.6881][.E881.0000.0000.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E4 ; [.FB40.0020.0002.688E][.E88E.0000.0000.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-F9E2 ; [.FB40.0020.0002.68A8][.E8A8.0000.0000.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.FB40.0020.0002.6914][.E914.0000.0000.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.FB40.0020.0002.6942][.E942.0000.0000.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.FB40.0020.0002.69A3][.E9A3.0000.0000.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; [.FB40.0020.0002.69EA][.E9EA.0000.0000.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.FB40.0020.0002.6A13][.EA13.0000.0000.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.FB40.0020.0002.6AA8][.EAA8.0000.0000.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.FB40.0020.0002.6AD3][.EAD3.0000.0000.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.FB40.0020.0002.6ADB][.EADB.0000.0000.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F4B ; [.FB40.0020.0004.6B20][.EB20.0000.0000.6B20] # KANGXI RADICAL LACK
-2F8EF ; [.FB40.0020.0002.6B21][.EB21.0000.0000.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.FB40.0020.0002.6B54][.EB54.0000.0000.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F4C ; [.FB40.0020.0004.6B62][.EB62.0000.0000.6B62] # KANGXI RADICAL STOP
-32A3 ; [.FB40.0020.0006.6B63][.EB63.0000.0000.6B63] # CIRCLED IDEOGRAPH CORRECT
-2F8F3 ; [.FB40.0020.0002.6B72][.EB72.0000.0000.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F4D ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH
-2E9E ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.0139.0004.2E9E] # CJK RADICAL DEATH
-2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-2F4E ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON
-F970 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.FB40.0020.0002.6BBB][.EBBB.0000.0000.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F4F ; [.FB40.0020.0004.6BCB][.EBCB.0000.0000.6BCB] # KANGXI RADICAL DO NOT
-2E9F ; [.FB40.0020.0004.6BCD][.EBCD.0000.0000.6BCD] # CJK RADICAL MOTHER
-2F50 ; [.FB40.0020.0004.6BD4][.EBD4.0000.0000.6BD4] # KANGXI RADICAL COMPARE
-2F51 ; [.FB40.0020.0004.6BDB][.EBDB.0000.0000.6BDB] # KANGXI RADICAL FUR
-2F52 ; [.FB40.0020.0004.6C0F][.EC0F.0000.0000.6C0F] # KANGXI RADICAL CLAN
-2EA0 ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN
-2F53 ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM
-2F54 ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER
-322C ; [*02FB.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
-328C ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER
-2EA1 ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE
-2EA2 ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO
-2F8FA ; [.FB40.0020.0002.6C4E][.EC4E.0000.0000.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.FB40.0020.0002.6C67][.EC67.0000.0000.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.FB40.0020.0002.6C88][.EC88.0000.0000.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.FB40.0020.0002.6CBF][.ECBF.0000.0000.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.FB40.0020.0002.6CCC][.ECCC.0000.0000.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.FB40.0020.0002.6CCD][.ECCD.0000.0000.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.FB40.0020.0002.6CE5][.ECE5.0000.0000.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-329F ; [.FB40.0020.0006.6CE8][.ECE8.0000.0000.6CE8] # CIRCLED IDEOGRAPH ATTENTION
-2F8FF ; [.FB40.0020.0002.6D16][.ED16.0000.0000.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.FB40.0020.0002.6D1B][.ED1B.0000.0000.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.FB40.0020.0002.6D1E][.ED1E.0000.0000.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.FB40.0020.0002.6D34][.ED34.0000.0000.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.FB40.0020.0002.6D3E][.ED3E.0000.0000.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.FB40.0020.0002.6D69][.ED69.0000.0000.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.FB40.0020.0002.6D6A][.ED6A.0000.0000.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.FB40.0020.0002.6D78][.ED78.0000.0000.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.FB40.0020.0002.6D85][.ED85.0000.0000.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.FB40.0020.0002.6DCB][.EDCB.0000.0000.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.FB40.0020.0002.6DDA][.EDDA.0000.0000.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.FB40.0020.0002.6DF9][.EDF9.0000.0000.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
-1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
-F9CB ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
-FA98 ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
-F94E ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
-1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-FA47 ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.FB40.0020.0002.6F6E][.EF6E.0000.0000.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.FB40.0020.0002.6FC6][.EFC6.0000.0000.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.FB40.0020.0002.6FEB][.EFEB.0000.0000.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.FB40.0020.0002.6FFE][.EFFE.0000.0000.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.FB40.0020.0002.701B][.F01B.0000.0000.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F55 ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE
-322B ; [*02FB.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
-328B ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE
-2EA3 ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE
-2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F919 ; [.FB40.0020.0002.7077][.F077.0000.0000.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-1F244 ; [*0359.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-F99F ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
-1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121
-2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-F993 ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.FB40.0020.0002.719C][.F19C.0000.0000.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.FB40.0020.0002.71CE][.F1CE.0000.0000.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.FB40.0020.0002.71D0][.F1D0.0000.0000.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.FB40.0020.0002.7210][.F210.0000.0000.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.FB40.0020.0002.7228][.F228.0000.0000.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
-2F56 ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW
-FA49 ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
-2EA4 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE
-2EA5 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.0139.0004.2EA5] # CJK RADICAL PAW TWO
-FA9E ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F57 ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER
-2F58 ; [.FB40.0020.0004.723B][.F23B.0000.0000.723B] # KANGXI RADICAL DOUBLE X
-2F59 ; [.FB40.0020.0004.723F][.F23F.0000.0000.723F] # KANGXI RADICAL HALF TREE TRUNK
-2F5A ; [.FB40.0020.0004.7247][.F247.0000.0000.7247] # KANGXI RADICAL SLICE
-2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
-2F5B ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG
-2F5C ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW
-2EA7 ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.0139.0004.2EA7] # CJK RADICAL COW
-F946 ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
-3235 ; [*02FB.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
-3295 ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL
-2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
-2F5D ; [.FB40.0020.0004.72AC][.F2AC.0000.0000.72AC] # KANGXI RADICAL DOG
-2EA8 ; [.FB40.0020.0004.72AD][.F2AD.0000.0000.72AD] # CJK RADICAL DOG
-FA9F ; [.FB40.0020.0002.72AF][.F2AF.0000.0000.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.FB40.0020.0002.72C0][.F2C0.0000.0000.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.FB40.0020.0002.72FC][.F2FC.0000.0000.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.FB40.0020.0002.7375][.F375.0000.0000.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.FB40.0020.0002.737A][.F37A.0000.0000.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
-2F5E ; [.FB40.0020.0004.7384][.F384.0000.0000.7384] # KANGXI RADICAL PROFOUND
-F961 ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F5F ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE
-2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2EA9 ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.0139.0004.2EA9] # CJK RADICAL JADE
-2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.FB40.0020.0002.7406][.F406.0000.0000.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.FB40.0020.0002.7409][.F409.0000.0000.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.FB40.0020.0002.7422][.F422.0000.0000.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92E ; [.FB40.0020.0002.7447][.F447.0000.0000.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; [.FB40.0020.0002.745C][.F45C.0000.0000.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.FB40.0020.0002.7469][.F469.0000.0000.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.FB40.0020.0002.7485][.F485.0000.0000.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.FB40.0020.0002.7489][.F489.0000.0000.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.FB40.0020.0002.74CA][.F4CA.0000.0000.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
-2F60 ; [.FB40.0020.0004.74DC][.F4DC.0000.0000.74DC] # KANGXI RADICAL MELON
-2F61 ; [.FB40.0020.0004.74E6][.F4E6.0000.0000.74E6] # KANGXI RADICAL TILE
-FAA2 ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
-2F62 ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET
-2F63 ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE
-1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F
-2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
-2F64 ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE
-2F65 ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD
-3199 ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK
-1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533
-329A ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE
-FAA3 ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.FB40.0020.0002.7559][.F559.0000.0000.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
-2F66 ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH
-2EAA ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.0139.0004.2EAA] # CJK RADICAL BOLT OF CLOTH
-2F67 ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS
-F9E5 ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.FB40.0020.0002.761D][.F61D.0000.0000.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.FB40.0020.0002.761F][.F61F.0000.0000.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.FB40.0020.0002.7642][.F642.0000.0000.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
-2F68 ; [.FB40.0020.0004.7676][.F676.0000.0000.7676] # KANGXI RADICAL DOTTED TENT
-2F69 ; [.FB40.0020.0004.767D][.F67D.0000.0000.767D] # KANGXI RADICAL WHITE
-2F6A ; [.FB40.0020.0004.76AE][.F6AE.0000.0000.76AE] # KANGXI RADICAL SKIN
-2F6B ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH
-FA17 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-1F246 ; [*0359.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-FAA7 ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-323C ; [*02FB.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
-32AC ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE
-F933 ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
-2F6C ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE
-2EAB ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.0139.0004.2EAB] # CJK RADICAL EYE
-FAA8 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.FB40.0020.0002.771E][.F71E.0000.0000.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.FB40.0020.0002.7740][.F740.0000.0000.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAA9 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.FB40.0020.0002.778B][.F78B.0000.0000.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.FB40.0020.0002.77A7][.F7A7.0000.0000.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F6D ; [.FB40.0020.0004.77DB][.F7DB.0000.0000.77DB] # KANGXI RADICAL SPEAR
-2F6E ; [.FB40.0020.0004.77E2][.F7E2.0000.0000.77E2] # KANGXI RADICAL ARROW
-2F6F ; [.FB40.0020.0004.77F3][.F7F3.0000.0000.77F3] # KANGXI RADICAL STONE
-2F94E ; [.FB40.0020.0002.784E][.F84E.0000.0000.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.FB40.0020.0002.786B][.F86B.0000.0000.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.FB40.0020.0002.7891][.F891.0000.0000.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.FB40.0020.0002.78CA][.F8CA.0000.0000.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
-2F70 ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT
-2EAC ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.0139.0004.2EAC] # CJK RADICAL SPIRIT ONE
-2EAD ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO
-FA18 ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-3233 ; [*02FB.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
-3293 ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY
-FA4E ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
-3237 ; [*02FB.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3297 ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION
-FA19 ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-3240 ; [*02FB.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
-F93C ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
-1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981
-FA52 ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.FB40.0020.0002.79AE][.F9AE.0000.0000.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-2F71 ; [.FB40.0020.0004.79B8][.F9B8.0000.0000.79B8] # KANGXI RADICAL TRACK
-2F72 ; [.FB40.0020.0004.79BE][.F9BE.0000.0000.79BE] # KANGXI RADICAL GRAIN
-F995 ; [.FB40.0020.0002.79CA][.F9CA.0000.0000.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
-3299 ; [.FB40.0020.0006.79D8][.F9D8.0000.0000.79D8] # CIRCLED IDEOGRAPH SECRET
-2F957 ; [.FB40.0020.0002.79EB][.F9EB.0000.0000.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.FB40.0020.0002.7A1C][.FA1C.0000.0000.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-2F73 ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE
-1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-FA55 ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F74 ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND
-2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-2F75 ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO
-2EAE ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.0139.0004.2EAE] # CJK RADICAL BAMBOO
-F9F8 ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-3247 ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO
-FA56 ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.FB40.0020.0002.7BC9][.FBC9.0000.0000.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.FB40.0020.0002.7C3E][.FC3E.0000.0000.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.FB40.0020.0002.7C60][.FC60.0000.0000.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
-2F76 ; [.FB40.0020.0004.7C73][.FC73.0000.0000.7C73] # KANGXI RADICAL RICE
-FAAE ; [.FB40.0020.0002.7C7B][.FC7B.0000.0000.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.FB40.0020.0002.7C92][.FC92.0000.0000.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.FB40.0020.0002.7CBE][.FCBE.0000.0000.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.FB40.0020.0002.7CD2][.FCD2.0000.0000.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.FB40.0020.0002.7CD6][.FCD6.0000.0000.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F969 ; [.FB40.0020.0002.7CE3][.FCE3.0000.0000.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
-F97B ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.FB40.0020.0002.7CE8][.FCE8.0000.0000.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F77 ; [.FB40.0020.0004.7CF8][.FCF8.0000.0000.7CF8] # KANGXI RADICAL SILK
-2EAF ; [.FB40.0020.0004.7CF9][.FCF9.0000.0000.7CF9] # CJK RADICAL SILK
-2F96A ; [.FB40.0020.0002.7D00][.FD00.0000.0000.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
-1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-FAAF ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.FB40.0020.0002.7DBE][.FDBE.0000.0000.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.FB40.0020.0002.7DC7][.FDC7.0000.0000.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-2F96F ; [.FB40.0020.0002.7E02][.FE02.0000.0000.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
-FA58 ; [.FB40.0020.0002.7E09][.FE09.0000.0000.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.FB40.0020.0002.7E37][.FE37.0000.0000.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.FB40.0020.0002.7E45][.FE45.0000.0000.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
-2EB0 ; [.FB40.0020.0004.7E9F][.FE9F.0000.0000.7E9F] # CJK RADICAL C-SIMPLIFIED SILK
-2F78 ; [.FB40.0020.0004.7F36][.FF36.0000.0000.7F36] # KANGXI RADICAL JAR
-FAB1 ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-2F79 ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET
-2EB2 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO
-2EB5 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.0139.0004.2EB5] # CJK RADICAL MESH
-2EB1 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE
-2EB3 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0139.0004.2EB3] # CJK RADICAL NET THREE
-2EB4 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.013A.0004.2EB4] # CJK RADICAL NET FOUR
-FA5A ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F7A ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP
-2EB6 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0139.0004.2EB6] # CJK RADICAL SHEEP
-2EB7 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.013A.0004.2EB7] # CJK RADICAL RAM
-2EB8 ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE
-2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.FB40.0020.0002.7FBD][.FFBD.0000.0000.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F7B ; [.FB40.0020.0004.7FBD][.FFBD.0000.0000.7FBD] # KANGXI RADICAL FEATHER
-2F979 ; [.FB40.0020.0002.7FFA][.FFFA.0000.0000.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.FB41.0020.0002.8001][.8001.0000.0000.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
-2F7C ; [.FB41.0020.0004.8001][.8001.0000.0000.8001] # KANGXI RADICAL OLD
-2EB9 ; [.FB41.0020.0004.8002][.8002.0000.0000.8002] # CJK RADICAL OLD
-FA5B ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-2F7D ; [.FB41.0020.0004.800C][.800C.0000.0000.800C] # KANGXI RADICAL AND
-2F7E ; [.FB41.0020.0004.8012][.8012.0000.0000.8012] # KANGXI RADICAL PLOW
-2F7F ; [.FB41.0020.0004.8033][.8033.0000.0000.8033] # KANGXI RADICAL EAR
-F9B0 ; [.FB41.0020.0002.8046][.8046.0000.0000.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-2F97D ; [.FB41.0020.0002.8060][.8060.0000.0000.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
-F997 ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
-2F80 ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH
-2EBB ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.0139.0004.2EBB] # CJK RADICAL BRUSH TWO
-2EBA ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE
-2F81 ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT
-2EBC ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.0139.0004.2EBC] # CJK RADICAL MEAT
-F953 ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; [.FB41.0020.0002.8103][.8103.0000.0000.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F985 ; [.FB41.0020.0002.813E][.813E.0000.0000.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
-2F82 ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER
-F9F6 ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-2F83 ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF
-3242 ; [*02FB.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
-FA5C ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F84 ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE
-3243 ; [*02FB.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
-2F85 ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR
-2EBD ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.0139.0004.2EBD] # CJK RADICAL MORTAR
-2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-2F86 ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE
-FA6D ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-2F87 ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE
-2F88 ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT
-2F89 ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING
-F97C ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
-2F8A ; [.FB41.0020.0004.8272][.8272.0000.0000.8272] # KANGXI RADICAL COLOR
-2F8B ; [.FB41.0020.0004.8278][.8278.0000.0000.8278] # KANGXI RADICAL GRASS
-FA5D ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2EBE ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE
-2EBF ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0139.0004.2EBF] # CJK RADICAL GRASS TWO
-2EC0 ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.013A.0004.2EC0] # CJK RADICAL GRASS THREE
-2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.FB41.0020.0002.82B1][.82B1.0000.0000.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.FB41.0020.0002.82B3][.82B3.0000.0000.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.FB41.0020.0002.82BD][.82BD.0000.0000.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.FB41.0020.0002.82E6][.82E6.0000.0000.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.FB41.0020.0002.831D][.831D.0000.0000.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.FB41.0020.0002.8323][.8323.0000.0000.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.FB41.0020.0002.8336][.8336.0000.0000.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.FB41.0020.0002.8352][.8352.0000.0000.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.FB41.0020.0002.8353][.8353.0000.0000.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99A ; [.FB41.0020.0002.8363][.8363.0000.0000.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; [.FB41.0020.0002.83AD][.83AD.0000.0000.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99D ; [.FB41.0020.0002.83BD][.83BD.0000.0000.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.FB41.0020.0002.83C9][.83C9.0000.0000.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.FB41.0020.0002.83CA][.83CA.0000.0000.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.FB41.0020.0002.83CC][.83CC.0000.0000.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.FB41.0020.0002.83DC][.83DC.0000.0000.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.FB41.0020.0002.83E7][.83E7.0000.0000.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.FB41.0020.0002.83EF][.83EF.0000.0000.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.FB41.0020.0002.83F1][.83F1.0000.0000.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.FB41.0020.0002.843D][.843D.0000.0000.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.FB41.0020.0002.8449][.8449.0000.0000.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.FB41.0020.0002.84EE][.84EE.0000.0000.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.FB41.0020.0002.84F1][.84F1.0000.0000.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.FB41.0020.0002.84F3][.84F3.0000.0000.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.FB41.0020.0002.84FC][.84FC.0000.0000.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.FB41.0020.0002.8516][.8516.0000.0000.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.FB41.0020.0002.8564][.8564.0000.0000.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.FB41.0020.0002.85CD][.85CD.0000.0000.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.FB41.0020.0002.85FA][.85FA.0000.0000.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.FB41.0020.0002.8606][.8606.0000.0000.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
-FA20 ; [.FB41.0020.0002.8612][.8612.0000.0000.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
-F91F ; [.FB41.0020.0002.862D][.862D.0000.0000.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.FB41.0020.0002.863F][.863F.0000.0000.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F8C ; [.FB41.0020.0004.864D][.864D.0000.0000.864D] # KANGXI RADICAL TIGER
-2EC1 ; [.FB41.0020.0004.864E][.864E.0000.0000.864E] # CJK RADICAL TIGER
-2F9B3 ; [.FB41.0020.0002.8650][.8650.0000.0000.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.FB41.0020.0002.8667][.8667.0000.0000.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.FB41.0020.0002.8669][.8669.0000.0000.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F8D ; [.FB41.0020.0004.866B][.866B.0000.0000.866B] # KANGXI RADICAL INSECT
-2F9B8 ; [.FB41.0020.0002.8688][.8688.0000.0000.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B7 ; [.FB41.0020.0002.86A9][.86A9.0000.0000.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.FB41.0020.0002.86E2][.86E2.0000.0000.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.FB41.0020.0002.870E][.870E.0000.0000.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.FB41.0020.0002.8728][.8728.0000.0000.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.FB41.0020.0002.876B][.876B.0000.0000.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BE ; [.FB41.0020.0002.8786][.8786.0000.0000.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-F911 ; [.FB41.0020.0002.87BA][.87BA.0000.0000.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.FB41.0020.0002.87E1][.87E1.0000.0000.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.FB41.0020.0002.8801][.8801.0000.0000.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.FB41.0020.0002.881F][.881F.0000.0000.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
-2F8E ; [.FB41.0020.0004.8840][.8840.0000.0000.8840] # KANGXI RADICAL BLOOD
-FA08 ; [.FB41.0020.0002.884C][.884C.0000.0000.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F8F ; [.FB41.0020.0004.884C][.884C.0000.0000.884C] # KANGXI RADICAL WALK ENCLOSURE
-2F9C3 ; [.FB41.0020.0002.8860][.8860.0000.0000.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; [.FB41.0020.0002.8863][.8863.0000.0000.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-2F90 ; [.FB41.0020.0004.8863][.8863.0000.0000.8863] # KANGXI RADICAL CLOTHES
-2EC2 ; [.FB41.0020.0004.8864][.8864.0000.0000.8864] # CJK RADICAL CLOTHES
-F9A0 ; [.FB41.0020.0002.88C2][.88C2.0000.0000.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.FB41.0020.0002.88CF][.88CF.0000.0000.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-2F9C6 ; [.FB41.0020.0002.88D7][.88D7.0000.0000.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.FB41.0020.0002.88DE][.88DE.0000.0000.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.FB41.0020.0002.88E1][.88E1.0000.0000.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.FB41.0020.0002.88F8][.88F8.0000.0000.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.FB41.0020.0002.88FA][.88FA.0000.0000.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.FB41.0020.0002.8910][.8910.0000.0000.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.FB41.0020.0002.8941][.8941.0000.0000.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.FB41.0020.0002.8964][.8964.0000.0000.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
-2F91 ; [.FB41.0020.0004.897E][.897E.0000.0000.897E] # KANGXI RADICAL WEST
-2EC4 ; [.FB41.0020.0004.897F][.897F.0000.0000.897F] # CJK RADICAL WEST TWO
-2EC3 ; [.FB41.0020.0004.8980][.8980.0000.0000.8980] # CJK RADICAL WEST ONE
-FAB7 ; [.FB41.0020.0002.8986][.8986.0000.0000.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.FB41.0020.0002.898B][.898B.0000.0000.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-2F92 ; [.FB41.0020.0004.898B][.898B.0000.0000.898B] # KANGXI RADICAL SEE
-FA61 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2EC5 ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE
-2EC6 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN
-2F93 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN
-2EC7 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.0139.0004.2EC7] # CJK RADICAL HORN
-1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-2F94 ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH
-2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.FB41.0020.0002.8ABF][.8ABF.0000.0000.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.FB41.0020.0002.8ACB][.8ACB.0000.0000.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.FB41.0020.0002.8AD2][.8AD2.0000.0000.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.FB41.0020.0002.8AD6][.8AD6.0000.0000.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.FB41.0020.0002.8B58][.8B58.0000.0000.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.FB41.0020.0002.8B80][.8B80.0000.0000.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-2EC8 ; [.FB41.0020.0004.8BA0][.8BA0.0000.0000.8BA0] # CJK RADICAL C-SIMPLIFIED SPEECH
-2F95 ; [.FB41.0020.0004.8C37][.8C37.0000.0000.8C37] # KANGXI RADICAL VALLEY
-2F96 ; [.FB41.0020.0004.8C46][.8C46.0000.0000.8C46] # KANGXI RADICAL BEAN
-F900 ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.FB41.0020.0002.8C55][.8C55.0000.0000.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F97 ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG
-2F98 ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER
-2F99 ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL
-3236 ; [*02FB.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
-3296 ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL
-1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
-323E ; [*02FB.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
-32AE ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE
-F903 ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.FB41.0020.0002.8D1B][.8D1B.0000.0000.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2EC9 ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL
-2F9A ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED
-2F9B ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN
-1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9C ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT
-2ECA ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.0139.0004.2ECA] # CJK RADICAL FOOT
-2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.FB41.0020.0002.8DF0][.8DF0.0000.0000.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-2F9D ; [.FB41.0020.0004.8EAB][.8EAB.0000.0000.8EAB] # KANGXI RADICAL BODY
-F902 ; [.FB41.0020.0002.8ECA][.8ECA.0000.0000.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9E ; [.FB41.0020.0004.8ECA][.8ECA.0000.0000.8ECA] # KANGXI RADICAL CART
-2F9DE ; [.FB41.0020.0002.8ED4][.8ED4.0000.0000.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.FB41.0020.0002.8F26][.8F26.0000.0000.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.FB41.0020.0002.8F2A][.8F2A.0000.0000.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.FB41.0020.0002.8F3B][.8F3B.0000.0000.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.FB41.0020.0002.8F62][.8F62.0000.0000.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2ECB ; [.FB41.0020.0004.8F66][.8F66.0000.0000.8F66] # CJK RADICAL C-SIMPLIFIED CART
-2F9F ; [.FB41.0020.0004.8F9B][.8F9B.0000.0000.8F9B] # KANGXI RADICAL BITTER
-2F98D ; [.FB41.0020.0002.8F9E][.8F9E.0000.0000.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
-2FA0 ; [.FB41.0020.0004.8FB0][.8FB0.0000.0000.8FB0] # KANGXI RADICAL MORNING
-2FA1 ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK
-FA66 ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
-2ECC ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK
-2ECD ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0139.0004.2ECD] # CJK RADICAL WALK ONE
-2ECE ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.013A.0004.2ECE] # CJK RADICAL WALK TWO
-F99A ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
-1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A
-329C ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE
-FAC3 ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
-2FA2 ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY
-2ECF ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.0139.0004.2ECF] # CJK RADICAL CITY
-2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA2E ; [.FB41.0020.0002.90DE][.90DE.0000.0000.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.FB41.0020.0002.90FD][.90FD.0000.0000.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.FB41.0020.0002.9111][.9111.0000.0000.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.FB41.0020.0002.911B][.911B.0000.0000.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-2FA3 ; [.FB41.0020.0004.9149][.9149.0000.0000.9149] # KANGXI RADICAL WINE
-F919 ; [.FB41.0020.0002.916A][.916A.0000.0000.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.FB41.0020.0002.9199][.9199.0000.0000.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.FB41.0020.0002.91B4][.91B4.0000.0000.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-2FA4 ; [.FB41.0020.0004.91C6][.91C6.0000.0000.91C6] # KANGXI RADICAL DISTINGUISH
-F9E9 ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-2FA5 ; [.FB41.0020.0004.91CC][.91CC.0000.0000.91CC] # KANGXI RADICAL VILLAGE
-F97E ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
-2FA6 ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD
-322E ; [*02FB.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
-328E ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL
-F9B1 ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.FB41.0020.0002.9276][.9276.0000.0000.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.FB41.0020.0002.927C][.927C.0000.0000.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.FB41.0020.0002.92D7][.92D7.0000.0000.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.FB41.0020.0002.92D8][.92D8.0000.0000.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.FB41.0020.0002.9304][.9304.0000.0000.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.FB41.0020.0002.934A][.934A.0000.0000.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.FB41.0020.0002.93F9][.93F9.0000.0000.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.FB41.0020.0002.9415][.9415.0000.0000.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2ED0 ; [.FB41.0020.0004.9485][.9485.0000.0000.9485] # CJK RADICAL C-SIMPLIFIED GOLD
-2ED1 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # CJK RADICAL LONG ONE
-2FA7 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # KANGXI RADICAL LONG
-2ED2 ; [.FB41.0020.0004.9578][.9578.0000.0000.9578] # CJK RADICAL LONG TWO
-2ED3 ; [.FB41.0020.0004.957F][.957F.0000.0000.957F] # CJK RADICAL C-SIMPLIFIED LONG
-2FA8 ; [.FB41.0020.0004.9580][.9580.0000.0000.9580] # KANGXI RADICAL GATE
-2F9EE ; [.FB41.0020.0002.958B][.958B.0000.0000.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-2ED4 ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE
-2FA9 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND
-2ED5 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.0139.0004.2ED5] # CJK RADICAL MOUND ONE
-2ED6 ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO
-F9C6 ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.FB41.0020.0002.964D][.964D.0000.0000.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.FB41.0020.0002.9675][.9675.0000.0000.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.FB41.0020.0002.9678][.9678.0000.0000.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.FB41.0020.0002.967C][.967C.0000.0000.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.FB41.0020.0002.9686][.9686.0000.0000.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.FB41.0020.0002.96A3][.96A3.0000.0000.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-2FAA ; [.FB41.0020.0004.96B6][.96B6.0000.0000.96B6] # KANGXI RADICAL SLAVE
-FA2F ; [.FB41.0020.0002.96B7][.96B7.0000.0000.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.FB41.0020.0002.96B8][.96B8.0000.0000.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2FAB ; [.FB41.0020.0004.96B9][.96B9.0000.0000.96B9] # KANGXI RADICAL SHORT TAILED BIRD
-2F9F3 ; [.FB41.0020.0002.96C3][.96C3.0000.0000.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-2FAC ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN
-2ED7 ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.0139.0004.2ED7] # CJK RADICAL RAIN
-F9B2 ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.FB41.0020.0002.9732][.9732.0000.0000.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.FB41.0020.0002.9748][.9748.0000.0000.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-2FAD ; [.FB41.0020.0004.9751][.9751.0000.0000.9751] # KANGXI RADICAL BLUE
-2ED8 ; [.FB41.0020.0004.9752][.9752.0000.0000.9752] # CJK RADICAL BLUE
-FA1C ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-2FAE ; [.FB41.0020.0004.975E][.975E.0000.0000.975E] # KANGXI RADICAL WRONG
-2FAF ; [.FB41.0020.0004.9762][.9762.0000.0000.9762] # KANGXI RADICAL FACE
-2FB0 ; [.FB41.0020.0004.9769][.9769.0000.0000.9769] # KANGXI RADICAL LEATHER
-2FB1 ; [.FB41.0020.0004.97CB][.97CB.0000.0000.97CB] # KANGXI RADICAL TANNED LEATHER
-FAC9 ; [.FB41.0020.0002.97DB][.97DB.0000.0000.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
-2F9FA ; [.FB41.0020.0002.97E0][.97E0.0000.0000.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-2ED9 ; [.FB41.0020.0004.97E6][.97E6.0000.0000.97E6] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
-2FB2 ; [.FB41.0020.0004.97ED][.97ED.0000.0000.97ED] # KANGXI RADICAL LEEK
-2FB3 ; [.FB41.0020.0004.97F3][.97F3.0000.0000.97F3] # KANGXI RADICAL SOUND
-FA69 ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
-2FB4 ; [.FB41.0020.0004.9801][.9801.0000.0000.9801] # KANGXI RADICAL LEAF
-32A0 ; [.FB41.0020.0006.9805][.9805.0000.0000.9805] # CIRCLED IDEOGRAPH ITEM
-FACB ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
-2F9FE ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-F9B4 ; [.FB41.0020.0002.9818][.9818.0000.0000.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.FB41.0020.0002.9829][.9829.0000.0000.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2EDA ; [.FB41.0020.0004.9875][.9875.0000.0000.9875] # CJK RADICAL C-SIMPLIFIED LEAF
-2FB5 ; [.FB41.0020.0004.98A8][.98A8.0000.0000.98A8] # KANGXI RADICAL WIND
-2EDB ; [.FB41.0020.0004.98CE][.98CE.0000.0000.98CE] # CJK RADICAL C-SIMPLIFIED WIND
-2FB6 ; [.FB41.0020.0004.98DB][.98DB.0000.0000.98DB] # KANGXI RADICAL FLY
-2EDC ; [.FB41.0020.0004.98DE][.98DE.0000.0000.98DE] # CJK RADICAL C-SIMPLIFIED FLY
-2EDD ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE
-2FB7 ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT
-2EDF ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE
-2EDE ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.0139.0004.2EDE] # CJK RADICAL EAT TWO
-2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2EE0 ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT
-2FB8 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD
-2EE1 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.0139.0004.2EE1] # CJK RADICAL HEAD
-2FB9 ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT
-2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FBA ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE
-2FA06 ; [.FB41.0020.0002.99C2][.99C2.0000.0000.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.FB41.0020.0002.99FE][.99FE.0000.0000.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
-2EE2 ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE
-2FBB ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE
-2EE3 ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.0139.0004.2EE3] # CJK RADICAL BONE
-2FBC ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL
-2FBD ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR
-FACD ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-2FBE ; [.FB41.0020.0004.9B25][.9B25.0000.0000.9B25] # KANGXI RADICAL FIGHT
-2FBF ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON
-2FC1 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST
-2EE4 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.0139.0004.2EE4] # CJK RADICAL GHOST
-2FC2 ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH
-F939 ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.FB41.0020.0002.9C57][.9C57.0000.0000.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2EE5 ; [.FB41.0020.0004.9C7C][.9C7C.0000.0000.9C7C] # CJK RADICAL C-SIMPLIFIED FISH
-2FC3 ; [.FB41.0020.0004.9CE5][.9CE5.0000.0000.9CE5] # KANGXI RADICAL BIRD
-2FA0C ; [.FB41.0020.0002.9CFD][.9CFD.0000.0000.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.FB41.0020.0002.9D67][.9D67.0000.0000.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.FB41.0020.0002.9DB4][.9DB4.0000.0000.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
-2EE6 ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD
-2FC4 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT
-2EE7 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.0139.0004.2EE7] # CJK RADICAL C-SIMPLIFIED SALT
-F940 ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
-2FC5 ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER
-F988 ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.FB41.0020.0002.9E9F][.9E9F.0000.0000.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FC6 ; [.FB41.0020.0004.9EA5][.9EA5.0000.0000.9EA5] # KANGXI RADICAL WHEAT
-2EE8 ; [.FB41.0020.0004.9EA6][.9EA6.0000.0000.9EA6] # CJK RADICAL SIMPLIFIED WHEAT
-2FA15 ; [.FB41.0020.0002.9EBB][.9EBB.0000.0000.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-2FC7 ; [.FB41.0020.0004.9EBB][.9EBB.0000.0000.9EBB] # KANGXI RADICAL HEMP
-2FC8 ; [.FB41.0020.0004.9EC3][.9EC3.0000.0000.9EC3] # KANGXI RADICAL YELLOW
-2EE9 ; [.FB41.0020.0004.9EC4][.9EC4.0000.0000.9EC4] # CJK RADICAL SIMPLIFIED YELLOW
-2FC9 ; [.FB41.0020.0004.9ECD][.9ECD.0000.0000.9ECD] # KANGXI RADICAL MILLET
-F989 ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FCA ; [.FB41.0020.0004.9ED1][.9ED1.0000.0000.9ED1] # KANGXI RADICAL BLACK
-2FA17 ; [.FB41.0020.0002.9EF9][.9EF9.0000.0000.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FCB ; [.FB41.0020.0004.9EF9][.9EF9.0000.0000.9EF9] # KANGXI RADICAL EMBROIDERY
-2FCC ; [.FB41.0020.0004.9EFD][.9EFD.0000.0000.9EFD] # KANGXI RADICAL FROG
-2FA18 ; [.FB41.0020.0002.9EFE][.9EFE.0000.0000.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2EEA ; [.FB41.0020.0004.9EFE][.9EFE.0000.0000.9EFE] # CJK RADICAL C-SIMPLIFIED FROG
-2FA19 ; [.FB41.0020.0002.9F05][.9F05.0000.0000.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FCD ; [.FB41.0020.0004.9F0E][.9F0E.0000.0000.9F0E] # KANGXI RADICAL TRIPOD
-2FA1A ; [.FB41.0020.0002.9F0F][.9F0F.0000.0000.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FCE ; [.FB41.0020.0004.9F13][.9F13.0000.0000.9F13] # KANGXI RADICAL DRUM
-2FA1B ; [.FB41.0020.0002.9F16][.9F16.0000.0000.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FCF ; [.FB41.0020.0004.9F20][.9F20.0000.0000.9F20] # KANGXI RADICAL RAT
-2FA1C ; [.FB41.0020.0002.9F3B][.9F3B.0000.0000.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-2FD0 ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE
-FAD8 ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-2FD1 ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN
-2EEB ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.0139.0004.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN
-2EEC ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN
-2FD2 ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH
-2EED ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.0139.0004.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH
-2EEE ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH
-F9C4 ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-2FD3 ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON
-2EEF ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.0139.0004.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON
-FAD9 ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-2EF0 ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON
-F907 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
-2FD4 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE
-2EF1 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0139.0004.2EF1] # CJK RADICAL TURTLE
-2EF2 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.013A.0004.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE
-2EF3 ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE
-2FD5 ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE
-FA0E ; [.FB41.0020.0002.FA0E][.FA0E.0000.0000.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
-FA0F ; [.FB41.0020.0002.FA0F][.FA0F.0000.0000.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
-FA11 ; [.FB41.0020.0002.FA11][.FA11.0000.0000.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
-FA13 ; [.FB41.0020.0002.FA13][.FA13.0000.0000.FA13] # CJK COMPATIBILITY IDEOGRAPH-FA13
-FA14 ; [.FB41.0020.0002.FA14][.FA14.0000.0000.FA14] # CJK COMPATIBILITY IDEOGRAPH-FA14
-FA1F ; [.FB41.0020.0002.FA1F][.FA1F.0000.0000.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
-FA21 ; [.FB41.0020.0002.FA21][.FA21.0000.0000.FA21] # CJK COMPATIBILITY IDEOGRAPH-FA21
-FA23 ; [.FB41.0020.0002.FA23][.FA23.0000.0000.FA23] # CJK COMPATIBILITY IDEOGRAPH-FA23
-FA24 ; [.FB41.0020.0002.FA24][.FA24.0000.0000.FA24] # CJK COMPATIBILITY IDEOGRAPH-FA24
-FA27 ; [.FB41.0020.0002.FA27][.FA27.0000.0000.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
-FA28 ; [.FB41.0020.0002.FA28][.FA28.0000.0000.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
-FA29 ; [.FB41.0020.0002.FA29][.FA29.0000.0000.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
-2F80C ; [.FB80.0020.0002.349E][.B49E.0000.0000.349E] # CJK COMPATIBILITY IDEOGRAPH-2F80C
-2F813 ; [.FB80.0020.0002.34B9][.B4B9.0000.0000.34B9] # CJK COMPATIBILITY IDEOGRAPH-2F813
-2F9CA ; [.FB80.0020.0002.34BB][.B4BB.0000.0000.34BB] # CJK COMPATIBILITY IDEOGRAPH-2F9CA
-2F81F ; [.FB80.0020.0002.34DF][.B4DF.0000.0000.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F824 ; [.FB80.0020.0002.3515][.B515.0000.0000.3515] # CJK COMPATIBILITY IDEOGRAPH-2F824
-2F867 ; [.FB80.0020.0002.36EE][.B6EE.0000.0000.36EE] # CJK COMPATIBILITY IDEOGRAPH-2F867
-2F868 ; [.FB80.0020.0002.36FC][.B6FC.0000.0000.36FC] # CJK COMPATIBILITY IDEOGRAPH-2F868
-2F876 ; [.FB80.0020.0002.3781][.B781.0000.0000.3781] # CJK COMPATIBILITY IDEOGRAPH-2F876
-2F883 ; [.FB80.0020.0002.382F][.B82F.0000.0000.382F] # CJK COMPATIBILITY IDEOGRAPH-2F883
-2F888 ; [.FB80.0020.0002.3862][.B862.0000.0000.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F88A ; [.FB80.0020.0002.387C][.B87C.0000.0000.387C] # CJK COMPATIBILITY IDEOGRAPH-2F88A
-2F896 ; [.FB80.0020.0002.38C7][.B8C7.0000.0000.38C7] # CJK COMPATIBILITY IDEOGRAPH-2F896
-2F89B ; [.FB80.0020.0002.38E3][.B8E3.0000.0000.38E3] # CJK COMPATIBILITY IDEOGRAPH-2F89B
-2F8A2 ; [.FB80.0020.0002.391C][.B91C.0000.0000.391C] # CJK COMPATIBILITY IDEOGRAPH-2F8A2
-2F8A1 ; [.FB80.0020.0002.393A][.B93A.0000.0000.393A] # CJK COMPATIBILITY IDEOGRAPH-2F8A1
-2F8C2 ; [.FB80.0020.0002.3A2E][.BA2E.0000.0000.3A2E] # CJK COMPATIBILITY IDEOGRAPH-2F8C2
-2F8C7 ; [.FB80.0020.0002.3A6C][.BA6C.0000.0000.3A6C] # CJK COMPATIBILITY IDEOGRAPH-2F8C7
-2F8D1 ; [.FB80.0020.0002.3AE4][.BAE4.0000.0000.3AE4] # CJK COMPATIBILITY IDEOGRAPH-2F8D1
-2F8D0 ; [.FB80.0020.0002.3B08][.BB08.0000.0000.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8CE ; [.FB80.0020.0002.3B19][.BB19.0000.0000.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8DE ; [.FB80.0020.0002.3B49][.BB49.0000.0000.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-FAD2 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-FAD2
-2F8E7 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-2F8E7
-2F8EE ; [.FB80.0020.0002.3C18][.BC18.0000.0000.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F8F2 ; [.FB80.0020.0002.3C4E][.BC4E.0000.0000.3C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8F2
-2F90A ; [.FB80.0020.0002.3D33][.BD33.0000.0000.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F916 ; [.FB80.0020.0002.3D96][.BD96.0000.0000.3D96] # CJK COMPATIBILITY IDEOGRAPH-2F916
-2F92A ; [.FB80.0020.0002.3EAC][.BEAC.0000.0000.3EAC] # CJK COMPATIBILITY IDEOGRAPH-2F92A
-2F92C ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
-2F933 ; [.FB80.0020.0002.3F1B][.BF1B.0000.0000.3F1B] # CJK COMPATIBILITY IDEOGRAPH-2F933
-2F93E ; [.FB80.0020.0002.3FFC][.BFFC.0000.0000.3FFC] # CJK COMPATIBILITY IDEOGRAPH-2F93E
-2F93F ; [.FB80.0020.0002.4008][.C008.0000.0000.4008] # CJK COMPATIBILITY IDEOGRAPH-2F93F
-FAD3 ; [.FB80.0020.0002.4018][.C018.0000.0000.4018] # CJK COMPATIBILITY IDEOGRAPH-FAD3
-FAD4 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
-2F949 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F94B ; [.FB80.0020.0002.4046][.C046.0000.0000.4046] # CJK COMPATIBILITY IDEOGRAPH-2F94B
-2F94C ; [.FB80.0020.0002.4096][.C096.0000.0000.4096] # CJK COMPATIBILITY IDEOGRAPH-2F94C
-2F951 ; [.FB80.0020.0002.40E3][.C0E3.0000.0000.40E3] # CJK COMPATIBILITY IDEOGRAPH-2F951
-2F958 ; [.FB80.0020.0002.412F][.C12F.0000.0000.412F] # CJK COMPATIBILITY IDEOGRAPH-2F958
-2F960 ; [.FB80.0020.0002.4202][.C202.0000.0000.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F964 ; [.FB80.0020.0002.4227][.C227.0000.0000.4227] # CJK COMPATIBILITY IDEOGRAPH-2F964
-2F967 ; [.FB80.0020.0002.42A0][.C2A0.0000.0000.42A0] # CJK COMPATIBILITY IDEOGRAPH-2F967
-2F96D ; [.FB80.0020.0002.4301][.C301.0000.0000.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F971 ; [.FB80.0020.0002.4334][.C334.0000.0000.4334] # CJK COMPATIBILITY IDEOGRAPH-2F971
-2F974 ; [.FB80.0020.0002.4359][.C359.0000.0000.4359] # CJK COMPATIBILITY IDEOGRAPH-2F974
-2F981 ; [.FB80.0020.0002.43D5][.C3D5.0000.0000.43D5] # CJK COMPATIBILITY IDEOGRAPH-2F981
-2F8D7 ; [.FB80.0020.0002.43D9][.C3D9.0000.0000.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2F984 ; [.FB80.0020.0002.440B][.C40B.0000.0000.440B] # CJK COMPATIBILITY IDEOGRAPH-2F984
-2F98E ; [.FB80.0020.0002.446B][.C46B.0000.0000.446B] # CJK COMPATIBILITY IDEOGRAPH-2F98E
-2F9A7 ; [.FB80.0020.0002.452B][.C52B.0000.0000.452B] # CJK COMPATIBILITY IDEOGRAPH-2F9A7
-2F9AE ; [.FB80.0020.0002.455D][.C55D.0000.0000.455D] # CJK COMPATIBILITY IDEOGRAPH-2F9AE
-2F9AF ; [.FB80.0020.0002.4561][.C561.0000.0000.4561] # CJK COMPATIBILITY IDEOGRAPH-2F9AF
-2F9B2 ; [.FB80.0020.0002.456B][.C56B.0000.0000.456B] # CJK COMPATIBILITY IDEOGRAPH-2F9B2
-2F9BF ; [.FB80.0020.0002.45D7][.C5D7.0000.0000.45D7] # CJK COMPATIBILITY IDEOGRAPH-2F9BF
-2F9C2 ; [.FB80.0020.0002.45F9][.C5F9.0000.0000.45F9] # CJK COMPATIBILITY IDEOGRAPH-2F9C2
-2F9C8 ; [.FB80.0020.0002.4635][.C635.0000.0000.4635] # CJK COMPATIBILITY IDEOGRAPH-2F9C8
-2F9CD ; [.FB80.0020.0002.46BE][.C6BE.0000.0000.46BE] # CJK COMPATIBILITY IDEOGRAPH-2F9CD
-2F9CE ; [.FB80.0020.0002.46C7][.C6C7.0000.0000.46C7] # CJK COMPATIBILITY IDEOGRAPH-2F9CE
-2F9EF ; [.FB80.0020.0002.4995][.C995.0000.0000.4995] # CJK COMPATIBILITY IDEOGRAPH-2F9EF
-2F9F2 ; [.FB80.0020.0002.49E6][.C9E6.0000.0000.49E6] # CJK COMPATIBILITY IDEOGRAPH-2F9F2
-2F9F8 ; [.FB80.0020.0002.4A6E][.CA6E.0000.0000.4A6E] # CJK COMPATIBILITY IDEOGRAPH-2F9F8
-2F9F9 ; [.FB80.0020.0002.4A76][.CA76.0000.0000.4A76] # CJK COMPATIBILITY IDEOGRAPH-2F9F9
-2F9FC ; [.FB80.0020.0002.4AB2][.CAB2.0000.0000.4AB2] # CJK COMPATIBILITY IDEOGRAPH-2F9FC
-2FA03 ; [.FB80.0020.0002.4B33][.CB33.0000.0000.4B33] # CJK COMPATIBILITY IDEOGRAPH-2FA03
-2FA08 ; [.FB80.0020.0002.4BCE][.CBCE.0000.0000.4BCE] # CJK COMPATIBILITY IDEOGRAPH-2FA08
-2FA0D ; [.FB80.0020.0002.4CCE][.CCCE.0000.0000.4CCE] # CJK COMPATIBILITY IDEOGRAPH-2FA0D
-2FA0E ; [.FB80.0020.0002.4CED][.CCED.0000.0000.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2FA11 ; [.FB80.0020.0002.4CF8][.CCF8.0000.0000.4CF8] # CJK COMPATIBILITY IDEOGRAPH-2FA11
-2FA16 ; [.FB80.0020.0002.4D56][.CD56.0000.0000.4D56] # CJK COMPATIBILITY IDEOGRAPH-2FA16
-2F803 ; [.FB84.0020.0002.20122][.8122.0000.0000.20122] # CJK COMPATIBILITY IDEOGRAPH-2F803
-2F812 ; [.FB84.0020.0002.2051C][.851C.0000.0000.2051C] # CJK COMPATIBILITY IDEOGRAPH-2F812
-2F91B ; [.FB84.0020.0002.20525][.8525.0000.0000.20525] # CJK COMPATIBILITY IDEOGRAPH-2F91B
-2F816 ; [.FB84.0020.0002.2054B][.854B.0000.0000.2054B] # CJK COMPATIBILITY IDEOGRAPH-2F816
-2F80D ; [.FB84.0020.0002.2063A][.863A.0000.0000.2063A] # CJK COMPATIBILITY IDEOGRAPH-2F80D
-2F9D9 ; [.FB84.0020.0002.20804][.8804.0000.0000.20804] # CJK COMPATIBILITY IDEOGRAPH-2F9D9
-2F9DD ; [.FB84.0020.0002.208DE][.88DE.0000.0000.208DE] # CJK COMPATIBILITY IDEOGRAPH-2F9DD
-2F834 ; [.FB84.0020.0002.20A2C][.8A2C.0000.0000.20A2C] # CJK COMPATIBILITY IDEOGRAPH-2F834
-2F838 ; [.FB84.0020.0002.20B63][.8B63.0000.0000.20B63] # CJK COMPATIBILITY IDEOGRAPH-2F838
-2F859 ; [.FB84.0020.0002.214E4][.94E4.0000.0000.214E4] # CJK COMPATIBILITY IDEOGRAPH-2F859
-2F860 ; [.FB84.0020.0002.216A8][.96A8.0000.0000.216A8] # CJK COMPATIBILITY IDEOGRAPH-2F860
-2F861 ; [.FB84.0020.0002.216EA][.96EA.0000.0000.216EA] # CJK COMPATIBILITY IDEOGRAPH-2F861
-2F86C ; [.FB84.0020.0002.219C8][.99C8.0000.0000.219C8] # CJK COMPATIBILITY IDEOGRAPH-2F86C
-2F871 ; [.FB84.0020.0002.21B18][.9B18.0000.0000.21B18] # CJK COMPATIBILITY IDEOGRAPH-2F871
-2F8F8 ; [.FB84.0020.0002.21D0B][.9D0B.0000.0000.21D0B] # CJK COMPATIBILITY IDEOGRAPH-2F8F8
-2F87B ; [.FB84.0020.0002.21DE4][.9DE4.0000.0000.21DE4] # CJK COMPATIBILITY IDEOGRAPH-2F87B
-2F87D ; [.FB84.0020.0002.21DE6][.9DE6.0000.0000.21DE6] # CJK COMPATIBILITY IDEOGRAPH-2F87D
-2F889 ; [.FB84.0020.0002.22183][.A183.0000.0000.22183] # CJK COMPATIBILITY IDEOGRAPH-2F889
-2F939 ; [.FB84.0020.0002.2219F][.A19F.0000.0000.2219F] # CJK COMPATIBILITY IDEOGRAPH-2F939
-2F891 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F891
-2F892 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F892
-2F8A4 ; [.FB84.0020.0002.226D4][.A6D4.0000.0000.226D4] # CJK COMPATIBILITY IDEOGRAPH-2F8A4
-FAD0 ; [.FB84.0020.0002.22844][.A844.0000.0000.22844] # CJK COMPATIBILITY IDEOGRAPH-FAD0
-FACF ; [.FB84.0020.0002.2284A][.A84A.0000.0000.2284A] # CJK COMPATIBILITY IDEOGRAPH-FACF
-2F8B8 ; [.FB84.0020.0002.22B0C][.AB0C.0000.0000.22B0C] # CJK COMPATIBILITY IDEOGRAPH-2F8B8
-2F8BE ; [.FB84.0020.0002.22BF1][.ABF1.0000.0000.22BF1] # CJK COMPATIBILITY IDEOGRAPH-2F8BE
-2F8CA ; [.FB84.0020.0002.2300A][.B00A.0000.0000.2300A] # CJK COMPATIBILITY IDEOGRAPH-2F8CA
-2F897 ; [.FB84.0020.0002.232B8][.B2B8.0000.0000.232B8] # CJK COMPATIBILITY IDEOGRAPH-2F897
-2F980 ; [.FB84.0020.0002.2335F][.B35F.0000.0000.2335F] # CJK COMPATIBILITY IDEOGRAPH-2F980
-2F989 ; [.FB84.0020.0002.23393][.B393.0000.0000.23393] # CJK COMPATIBILITY IDEOGRAPH-2F989
-2F98A ; [.FB84.0020.0002.2339C][.B39C.0000.0000.2339C] # CJK COMPATIBILITY IDEOGRAPH-2F98A
-2F8DD ; [.FB84.0020.0002.233C3][.B3C3.0000.0000.233C3] # CJK COMPATIBILITY IDEOGRAPH-2F8DD
-FAD1 ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOGRAPH-FAD1
-2F8E3 ; [.FB84.0020.0002.2346D][.B46D.0000.0000.2346D] # CJK COMPATIBILITY IDEOGRAPH-2F8E3
-2F8EC ; [.FB84.0020.0002.236A3][.B6A3.0000.0000.236A3] # CJK COMPATIBILITY IDEOGRAPH-2F8EC
-2F8F0 ; [.FB84.0020.0002.238A7][.B8A7.0000.0000.238A7] # CJK COMPATIBILITY IDEOGRAPH-2F8F0
-2F8F7 ; [.FB84.0020.0002.23A8D][.BA8D.0000.0000.23A8D] # CJK COMPATIBILITY IDEOGRAPH-2F8F7
-2F8F9 ; [.FB84.0020.0002.23AFA][.BAFA.0000.0000.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
-2F8FB ; [.FB84.0020.0002.23CBC][.BCBC.0000.0000.23CBC] # CJK COMPATIBILITY IDEOGRAPH-2F8FB
-2F906 ; [.FB84.0020.0002.23D1E][.BD1E.0000.0000.23D1E] # CJK COMPATIBILITY IDEOGRAPH-2F906
-2F90D ; [.FB84.0020.0002.23ED1][.BED1.0000.0000.23ED1] # CJK COMPATIBILITY IDEOGRAPH-2F90D
-2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910
-2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911
-2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D
-FA6C ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
-2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F
-2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923
-2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926
-2F927 ; [.FB84.0020.0002.24814][.C814.0000.0000.24814] # CJK COMPATIBILITY IDEOGRAPH-2F927
-2F935 ; [.FB84.0020.0002.24C36][.CC36.0000.0000.24C36] # CJK COMPATIBILITY IDEOGRAPH-2F935
-2F937 ; [.FB84.0020.0002.24C92][.CC92.0000.0000.24C92] # CJK COMPATIBILITY IDEOGRAPH-2F937
-2F93B ; [.FB84.0020.0002.24FA1][.CFA1.0000.0000.24FA1] # CJK COMPATIBILITY IDEOGRAPH-2F93B
-2F93C ; [.FB84.0020.0002.24FB8][.CFB8.0000.0000.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
-2F93D ; [.FB84.0020.0002.25044][.D044.0000.0000.25044] # CJK COMPATIBILITY IDEOGRAPH-2F93D
-2F942 ; [.FB84.0020.0002.250F2][.D0F2.0000.0000.250F2] # CJK COMPATIBILITY IDEOGRAPH-2F942
-2F941 ; [.FB84.0020.0002.250F3][.D0F3.0000.0000.250F3] # CJK COMPATIBILITY IDEOGRAPH-2F941
-2F943 ; [.FB84.0020.0002.25119][.D119.0000.0000.25119] # CJK COMPATIBILITY IDEOGRAPH-2F943
-2F944 ; [.FB84.0020.0002.25133][.D133.0000.0000.25133] # CJK COMPATIBILITY IDEOGRAPH-2F944
-FAD5 ; [.FB84.0020.0002.25249][.D249.0000.0000.25249] # CJK COMPATIBILITY IDEOGRAPH-FAD5
-2F94D ; [.FB84.0020.0002.2541D][.D41D.0000.0000.2541D] # CJK COMPATIBILITY IDEOGRAPH-2F94D
-2F952 ; [.FB84.0020.0002.25626][.D626.0000.0000.25626] # CJK COMPATIBILITY IDEOGRAPH-2F952
-2F954 ; [.FB84.0020.0002.2569A][.D69A.0000.0000.2569A] # CJK COMPATIBILITY IDEOGRAPH-2F954
-2F955 ; [.FB84.0020.0002.256C5][.D6C5.0000.0000.256C5] # CJK COMPATIBILITY IDEOGRAPH-2F955
-2F95C ; [.FB84.0020.0002.2597C][.D97C.0000.0000.2597C] # CJK COMPATIBILITY IDEOGRAPH-2F95C
-2F95D ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95D
-2F95E ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95E
-2F961 ; [.FB84.0020.0002.25BAB][.DBAB.0000.0000.25BAB] # CJK COMPATIBILITY IDEOGRAPH-2F961
-2F965 ; [.FB84.0020.0002.25C80][.DC80.0000.0000.25C80] # CJK COMPATIBILITY IDEOGRAPH-2F965
-FAD6 ; [.FB84.0020.0002.25CD0][.DCD0.0000.0000.25CD0] # CJK COMPATIBILITY IDEOGRAPH-FAD6
-2F96B ; [.FB84.0020.0002.25F86][.DF86.0000.0000.25F86] # CJK COMPATIBILITY IDEOGRAPH-2F96B
-2F898 ; [.FB84.0020.0002.261DA][.E1DA.0000.0000.261DA] # CJK COMPATIBILITY IDEOGRAPH-2F898
-2F972 ; [.FB84.0020.0002.26228][.E228.0000.0000.26228] # CJK COMPATIBILITY IDEOGRAPH-2F972
-2F973 ; [.FB84.0020.0002.26247][.E247.0000.0000.26247] # CJK COMPATIBILITY IDEOGRAPH-2F973
-2F975 ; [.FB84.0020.0002.262D9][.E2D9.0000.0000.262D9] # CJK COMPATIBILITY IDEOGRAPH-2F975
-2F977 ; [.FB84.0020.0002.2633E][.E33E.0000.0000.2633E] # CJK COMPATIBILITY IDEOGRAPH-2F977
-2F97B ; [.FB84.0020.0002.264DA][.E4DA.0000.0000.264DA] # CJK COMPATIBILITY IDEOGRAPH-2F97B
-2F97C ; [.FB84.0020.0002.26523][.E523.0000.0000.26523] # CJK COMPATIBILITY IDEOGRAPH-2F97C
-2F97E ; [.FB84.0020.0002.265A8][.E5A8.0000.0000.265A8] # CJK COMPATIBILITY IDEOGRAPH-2F97E
-2F987 ; [.FB84.0020.0002.267A7][.E7A7.0000.0000.267A7] # CJK COMPATIBILITY IDEOGRAPH-2F987
-2F988 ; [.FB84.0020.0002.267B5][.E7B5.0000.0000.267B5] # CJK COMPATIBILITY IDEOGRAPH-2F988
-2F997 ; [.FB84.0020.0002.26B3C][.EB3C.0000.0000.26B3C] # CJK COMPATIBILITY IDEOGRAPH-2F997
-2F9A4 ; [.FB84.0020.0002.26C36][.EC36.0000.0000.26C36] # CJK COMPATIBILITY IDEOGRAPH-2F9A4
-2F9A6 ; [.FB84.0020.0002.26CD5][.ECD5.0000.0000.26CD5] # CJK COMPATIBILITY IDEOGRAPH-2F9A6
-2F9A5 ; [.FB84.0020.0002.26D6B][.ED6B.0000.0000.26D6B] # CJK COMPATIBILITY IDEOGRAPH-2F9A5
-2F9AD ; [.FB84.0020.0002.26F2C][.EF2C.0000.0000.26F2C] # CJK COMPATIBILITY IDEOGRAPH-2F9AD
-2F9B0 ; [.FB84.0020.0002.26FB1][.EFB1.0000.0000.26FB1] # CJK COMPATIBILITY IDEOGRAPH-2F9B0
-2F9B1 ; [.FB84.0020.0002.270D2][.F0D2.0000.0000.270D2] # CJK COMPATIBILITY IDEOGRAPH-2F9B1
-2F9AB ; [.FB84.0020.0002.273CA][.F3CA.0000.0000.273CA] # CJK COMPATIBILITY IDEOGRAPH-2F9AB
-2F9C5 ; [.FB84.0020.0002.27667][.F667.0000.0000.27667] # CJK COMPATIBILITY IDEOGRAPH-2F9C5
-2F9CB ; [.FB84.0020.0002.278AE][.F8AE.0000.0000.278AE] # CJK COMPATIBILITY IDEOGRAPH-2F9CB
-2F9CC ; [.FB84.0020.0002.27966][.F966.0000.0000.27966] # CJK COMPATIBILITY IDEOGRAPH-2F9CC
-2F9D3 ; [.FB84.0020.0002.27CA8][.FCA8.0000.0000.27CA8] # CJK COMPATIBILITY IDEOGRAPH-2F9D3
-FAD7 ; [.FB84.0020.0002.27ED3][.FED3.0000.0000.27ED3] # CJK COMPATIBILITY IDEOGRAPH-FAD7
-2F9D8 ; [.FB84.0020.0002.27F2F][.FF2F.0000.0000.27F2F] # CJK COMPATIBILITY IDEOGRAPH-2F9D8
-2F9E0 ; [.FB85.0020.0002.285D2][.85D2.0000.0000.285D2] # CJK COMPATIBILITY IDEOGRAPH-2F9E0
-2F9E1 ; [.FB85.0020.0002.285ED][.85ED.0000.0000.285ED] # CJK COMPATIBILITY IDEOGRAPH-2F9E1
-2F9E5 ; [.FB85.0020.0002.2872E][.872E.0000.0000.2872E] # CJK COMPATIBILITY IDEOGRAPH-2F9E5
-2F9ED ; [.FB85.0020.0002.28BFA][.8BFA.0000.0000.28BFA] # CJK COMPATIBILITY IDEOGRAPH-2F9ED
-2F9F1 ; [.FB85.0020.0002.28D77][.8D77.0000.0000.28D77] # CJK COMPATIBILITY IDEOGRAPH-2F9F1
-2F9F6 ; [.FB85.0020.0002.29145][.9145.0000.0000.29145] # CJK COMPATIBILITY IDEOGRAPH-2F9F6
-2F81C ; [.FB85.0020.0002.291DF][.91DF.0000.0000.291DF] # CJK COMPATIBILITY IDEOGRAPH-2F81C
-2F9F7 ; [.FB85.0020.0002.2921A][.921A.0000.0000.2921A] # CJK COMPATIBILITY IDEOGRAPH-2F9F7
-2F9FB ; [.FB85.0020.0002.2940A][.940A.0000.0000.2940A] # CJK COMPATIBILITY IDEOGRAPH-2F9FB
-2F9FD ; [.FB85.0020.0002.29496][.9496.0000.0000.29496] # CJK COMPATIBILITY IDEOGRAPH-2F9FD
-2FA01 ; [.FB85.0020.0002.295B6][.95B6.0000.0000.295B6] # CJK COMPATIBILITY IDEOGRAPH-2FA01
-2FA09 ; [.FB85.0020.0002.29B30][.9B30.0000.0000.29B30] # CJK COMPATIBILITY IDEOGRAPH-2FA09
-2FA10 ; [.FB85.0020.0002.2A0CE][.A0CE.0000.0000.2A0CE] # CJK COMPATIBILITY IDEOGRAPH-2FA10
-2FA12 ; [.FB85.0020.0002.2A105][.A105.0000.0000.2A105] # CJK COMPATIBILITY IDEOGRAPH-2FA12
-2FA13 ; [.FB85.0020.0002.2A20E][.A20E.0000.0000.2A20E] # CJK COMPATIBILITY IDEOGRAPH-2FA13
-2FA14 ; [.FB85.0020.0002.2A291][.A291.0000.0000.2A291] # CJK COMPATIBILITY IDEOGRAPH-2FA14
-2F88F ; [.FB85.0020.0002.2A392][.A392.0000.0000.2A392] # CJK COMPATIBILITY IDEOGRAPH-2F88F
-2FA1D ; [.FB85.0020.0002.2A600][.A600.0000.0000.2A600] # CJK COMPATIBILITY IDEOGRAPH-2FA1D
+0000 ; [.0000.0000.0000] # [0000] NULL (in 6429)
+0001 ; [.0000.0000.0000] # [0001] START OF HEADING (in 6429)
+0002 ; [.0000.0000.0000] # [0002] START OF TEXT (in 6429)
+0003 ; [.0000.0000.0000] # [0003] END OF TEXT (in 6429)
+0004 ; [.0000.0000.0000] # [0004] END OF TRANSMISSION (in 6429)
+0005 ; [.0000.0000.0000] # [0005] ENQUIRY (in 6429)
+0006 ; [.0000.0000.0000] # [0006] ACKNOWLEDGE (in 6429)
+0007 ; [.0000.0000.0000] # [0007] BELL (in 6429)
+0008 ; [.0000.0000.0000] # [0008] BACKSPACE (in 6429)
+000E ; [.0000.0000.0000] # [000E] SHIFT OUT (in 6429)
+000F ; [.0000.0000.0000] # [000F] SHIFT IN (in 6429)
+0010 ; [.0000.0000.0000] # [0010] DATA LINK ESCAPE (in 6429)
+0011 ; [.0000.0000.0000] # [0011] DEVICE CONTROL ONE (in 6429)
+0012 ; [.0000.0000.0000] # [0012] DEVICE CONTROL TWO (in 6429)
+0013 ; [.0000.0000.0000] # [0013] DEVICE CONTROL THREE (in 6429)
+0014 ; [.0000.0000.0000] # [0014] DEVICE CONTROL FOUR (in 6429)
+0015 ; [.0000.0000.0000] # [0015] NEGATIVE ACKNOWLEDGE (in 6429)
+0016 ; [.0000.0000.0000] # [0016] SYNCHRONOUS IDLE (in 6429)
+0017 ; [.0000.0000.0000] # [0017] END OF TRANSMISSION BLOCK (in 6429)
+0018 ; [.0000.0000.0000] # [0018] CANCEL (in 6429)
+0019 ; [.0000.0000.0000] # [0019] END OF MEDIUM (in 6429)
+001A ; [.0000.0000.0000] # [001A] SUBSTITUTE (in 6429)
+001B ; [.0000.0000.0000] # [001B] ESCAPE (in 6429)
+001C ; [.0000.0000.0000] # [001C] FILE SEPARATOR (in 6429)
+001D ; [.0000.0000.0000] # [001D] GROUP SEPARATOR (in 6429)
+001E ; [.0000.0000.0000] # [001E] RECORD SEPARATOR (in 6429)
+001F ; [.0000.0000.0000] # [001F] UNIT SEPARATOR (in 6429)
+007F ; [.0000.0000.0000] # [007F] DELETE (in 6429)
+0080 ; [.0000.0000.0000] # [0080] <control>
+0081 ; [.0000.0000.0000] # [0081] <control>
+0082 ; [.0000.0000.0000] # [0082] BREAK PERMITTED HERE (in 6429)
+0083 ; [.0000.0000.0000] # [0083] NO BREAK HERE (in 6429)
+0084 ; [.0000.0000.0000] # [0084] <control>
+0086 ; [.0000.0000.0000] # [0086] START OF SELECTED AREA (in 6429)
+0087 ; [.0000.0000.0000] # [0087] END OF SELECTED AREA (in 6429)
+0088 ; [.0000.0000.0000] # [0088] CHARACTER TABULATION SET (in 6429)
+0089 ; [.0000.0000.0000] # [0089] CHARACTER TABULATION WITH JUSTIFICATION (in 6429)
+008A ; [.0000.0000.0000] # [008A] LINE TABULATION SET (in 6429)
+008B ; [.0000.0000.0000] # [008B] PARTIAL LINE FORWARD (in 6429)
+008C ; [.0000.0000.0000] # [008C] PARTIAL LINE BACKWARD (in 6429)
+008D ; [.0000.0000.0000] # [008D] PARTIAL LINE FEED (in 6429)
+008E ; [.0000.0000.0000] # [008E] SINGLE SHIFT TWO (in 6429)
+008F ; [.0000.0000.0000] # [008F] SINGLE SHIFT THREE (in 6429)
+0090 ; [.0000.0000.0000] # [0090] DEVICE CONTROL STRING (in 6429)
+0091 ; [.0000.0000.0000] # [0091] PRIVATE USE ONE (in 6429)
+0092 ; [.0000.0000.0000] # [0092] PRIVATE USE TWO (in 6429)
+0093 ; [.0000.0000.0000] # [0093] SET TRANSMIT STATE (in 6429)
+0094 ; [.0000.0000.0000] # [0094] CANCEL CHARACTER (in 6429)
+0095 ; [.0000.0000.0000] # [0095] MESSAGE WAITING (in 6429)
+0096 ; [.0000.0000.0000] # [0096] START OF GUARDED AREA (in 6429)
+0097 ; [.0000.0000.0000] # [0097] END OF GUARDED AREA (in 6429)
+0098 ; [.0000.0000.0000] # [0098] START OF STRING (in 6429)
+0099 ; [.0000.0000.0000] # [0099] <control>
+009A ; [.0000.0000.0000] # [009A] SINGLE CHARACTER INTRODUCER (in 6429)
+009B ; [.0000.0000.0000] # [009B] CONTROL SEQUENCE INTRODUCER (in 6429)
+009C ; [.0000.0000.0000] # [009C] STRING TERMINATOR (in 6429)
+009D ; [.0000.0000.0000] # [009D] OPERATING SYSTEM COMMAND (in 6429)
+009E ; [.0000.0000.0000] # [009E] PRIVACY MESSAGE (in 6429)
+009F ; [.0000.0000.0000] # [009F] APPLICATION PROGRAM COMMAND (in 6429)
+00AD ; [.0000.0000.0000] # [00AD] SOFT HYPHEN
+061C ; [.0000.0000.0000] # [061C] ARABIC LETTER MARK
+070F ; [.0000.0000.0000] # [070F] SYRIAC ABBREVIATION MARK
+180B ; [.0000.0000.0000] # [180B] MONGOLIAN FREE VARIATION SELECTOR ONE
+180C ; [.0000.0000.0000] # [180C] MONGOLIAN FREE VARIATION SELECTOR TWO
+180D ; [.0000.0000.0000] # [180D] MONGOLIAN FREE VARIATION SELECTOR THREE
+180E ; [.0000.0000.0000] # [180E] MONGOLIAN VOWEL SEPARATOR
+200B ; [.0000.0000.0000] # [200B] ZERO WIDTH SPACE
+200C ; [.0000.0000.0000] # [200C] ZERO WIDTH NON-JOINER
+200D ; [.0000.0000.0000] # [200D] ZERO WIDTH JOINER
+200E ; [.0000.0000.0000] # [200E] LEFT-TO-RIGHT MARK
+200F ; [.0000.0000.0000] # [200F] RIGHT-TO-LEFT MARK
+202A ; [.0000.0000.0000] # [202A] LEFT-TO-RIGHT EMBEDDING
+202B ; [.0000.0000.0000] # [202B] RIGHT-TO-LEFT EMBEDDING
+202C ; [.0000.0000.0000] # [202C] POP DIRECTIONAL FORMATTING
+202D ; [.0000.0000.0000] # [202D] LEFT-TO-RIGHT OVERRIDE
+202E ; [.0000.0000.0000] # [202E] RIGHT-TO-LEFT OVERRIDE
+2060 ; [.0000.0000.0000] # [2060] WORD JOINER
+2066 ; [.0000.0000.0000] # [2066] LEFT-TO-RIGHT ISOLATE
+2067 ; [.0000.0000.0000] # [2067] RIGHT-TO-LEFT ISOLATE
+2068 ; [.0000.0000.0000] # [2068] FIRST STRONG ISOLATE
+2069 ; [.0000.0000.0000] # [2069] POP DIRECTIONAL ISOLATE
+206A ; [.0000.0000.0000] # [206A] INHIBIT SYMMETRIC SWAPPING
+206B ; [.0000.0000.0000] # [206B] ACTIVATE SYMMETRIC SWAPPING
+206C ; [.0000.0000.0000] # [206C] INHIBIT ARABIC FORM SHAPING
+206D ; [.0000.0000.0000] # [206D] ACTIVATE ARABIC FORM SHAPING
+206E ; [.0000.0000.0000] # [206E] NATIONAL DIGIT SHAPES
+206F ; [.0000.0000.0000] # [206F] NOMINAL DIGIT SHAPES
+FE00 ; [.0000.0000.0000] # [FE00] VARIATION SELECTOR-1
+FE01 ; [.0000.0000.0000] # [FE01] VARIATION SELECTOR-2
+FE02 ; [.0000.0000.0000] # [FE02] VARIATION SELECTOR-3
+FE03 ; [.0000.0000.0000] # [FE03] VARIATION SELECTOR-4
+FE04 ; [.0000.0000.0000] # [FE04] VARIATION SELECTOR-5
+FE05 ; [.0000.0000.0000] # [FE05] VARIATION SELECTOR-6
+FE06 ; [.0000.0000.0000] # [FE06] VARIATION SELECTOR-7
+FE07 ; [.0000.0000.0000] # [FE07] VARIATION SELECTOR-8
+FE08 ; [.0000.0000.0000] # [FE08] VARIATION SELECTOR-9
+FE09 ; [.0000.0000.0000] # [FE09] VARIATION SELECTOR-10
+FE0A ; [.0000.0000.0000] # [FE0A] VARIATION SELECTOR-11
+FE0B ; [.0000.0000.0000] # [FE0B] VARIATION SELECTOR-12
+FE0C ; [.0000.0000.0000] # [FE0C] VARIATION SELECTOR-13
+FE0D ; [.0000.0000.0000] # [FE0D] VARIATION SELECTOR-14
+FE0E ; [.0000.0000.0000] # [FE0E] VARIATION SELECTOR-15
+FE0F ; [.0000.0000.0000] # [FE0F] VARIATION SELECTOR-16
+FEFF ; [.0000.0000.0000] # [FEFF] ZERO WIDTH NO-BREAK SPACE
+FFF9 ; [.0000.0000.0000] # [FFF9] INTERLINEAR ANNOTATION ANCHOR
+FFFA ; [.0000.0000.0000] # [FFFA] INTERLINEAR ANNOTATION SEPARATOR
+FFFB ; [.0000.0000.0000] # [FFFB] INTERLINEAR ANNOTATION TERMINATOR
+1D173 ; [.0000.0000.0000] # [1D173] MUSICAL SYMBOL BEGIN BEAM
+1D174 ; [.0000.0000.0000] # [1D174] MUSICAL SYMBOL END BEAM
+1D175 ; [.0000.0000.0000] # [1D175] MUSICAL SYMBOL BEGIN TIE
+1D176 ; [.0000.0000.0000] # [1D176] MUSICAL SYMBOL END TIE
+1D177 ; [.0000.0000.0000] # [1D177] MUSICAL SYMBOL BEGIN SLUR
+1D178 ; [.0000.0000.0000] # [1D178] MUSICAL SYMBOL END SLUR
+1D179 ; [.0000.0000.0000] # [1D179] MUSICAL SYMBOL BEGIN PHRASE
+1D17A ; [.0000.0000.0000] # [1D17A] MUSICAL SYMBOL END PHRASE
+E0001 ; [.0000.0000.0000] # [E0001] LANGUAGE TAG
+E0020 ; [.0000.0000.0000] # [E0020] TAG SPACE
+E0021 ; [.0000.0000.0000] # [E0021] TAG EXCLAMATION MARK
+E0022 ; [.0000.0000.0000] # [E0022] TAG QUOTATION MARK
+E0023 ; [.0000.0000.0000] # [E0023] TAG NUMBER SIGN
+E0024 ; [.0000.0000.0000] # [E0024] TAG DOLLAR SIGN
+E0025 ; [.0000.0000.0000] # [E0025] TAG PERCENT SIGN
+E0026 ; [.0000.0000.0000] # [E0026] TAG AMPERSAND
+E0027 ; [.0000.0000.0000] # [E0027] TAG APOSTROPHE
+E0028 ; [.0000.0000.0000] # [E0028] TAG LEFT PARENTHESIS
+E0029 ; [.0000.0000.0000] # [E0029] TAG RIGHT PARENTHESIS
+E002A ; [.0000.0000.0000] # [E002A] TAG ASTERISK
+E002B ; [.0000.0000.0000] # [E002B] TAG PLUS SIGN
+E002C ; [.0000.0000.0000] # [E002C] TAG COMMA
+E002D ; [.0000.0000.0000] # [E002D] TAG HYPHEN-MINUS
+E002E ; [.0000.0000.0000] # [E002E] TAG FULL STOP
+E002F ; [.0000.0000.0000] # [E002F] TAG SOLIDUS
+E0030 ; [.0000.0000.0000] # [E0030] TAG DIGIT ZERO
+E0031 ; [.0000.0000.0000] # [E0031] TAG DIGIT ONE
+E0032 ; [.0000.0000.0000] # [E0032] TAG DIGIT TWO
+E0033 ; [.0000.0000.0000] # [E0033] TAG DIGIT THREE
+E0034 ; [.0000.0000.0000] # [E0034] TAG DIGIT FOUR
+E0035 ; [.0000.0000.0000] # [E0035] TAG DIGIT FIVE
+E0036 ; [.0000.0000.0000] # [E0036] TAG DIGIT SIX
+E0037 ; [.0000.0000.0000] # [E0037] TAG DIGIT SEVEN
+E0038 ; [.0000.0000.0000] # [E0038] TAG DIGIT EIGHT
+E0039 ; [.0000.0000.0000] # [E0039] TAG DIGIT NINE
+E003A ; [.0000.0000.0000] # [E003A] TAG COLON
+E003B ; [.0000.0000.0000] # [E003B] TAG SEMICOLON
+E003C ; [.0000.0000.0000] # [E003C] TAG LESS-THAN SIGN
+E003D ; [.0000.0000.0000] # [E003D] TAG EQUALS SIGN
+E003E ; [.0000.0000.0000] # [E003E] TAG GREATER-THAN SIGN
+E003F ; [.0000.0000.0000] # [E003F] TAG QUESTION MARK
+E0040 ; [.0000.0000.0000] # [E0040] TAG COMMERCIAL AT
+E0041 ; [.0000.0000.0000] # [E0041] TAG LATIN CAPITAL LETTER A
+E0042 ; [.0000.0000.0000] # [E0042] TAG LATIN CAPITAL LETTER B
+E0043 ; [.0000.0000.0000] # [E0043] TAG LATIN CAPITAL LETTER C
+E0044 ; [.0000.0000.0000] # [E0044] TAG LATIN CAPITAL LETTER D
+E0045 ; [.0000.0000.0000] # [E0045] TAG LATIN CAPITAL LETTER E
+E0046 ; [.0000.0000.0000] # [E0046] TAG LATIN CAPITAL LETTER F
+E0047 ; [.0000.0000.0000] # [E0047] TAG LATIN CAPITAL LETTER G
+E0048 ; [.0000.0000.0000] # [E0048] TAG LATIN CAPITAL LETTER H
+E0049 ; [.0000.0000.0000] # [E0049] TAG LATIN CAPITAL LETTER I
+E004A ; [.0000.0000.0000] # [E004A] TAG LATIN CAPITAL LETTER J
+E004B ; [.0000.0000.0000] # [E004B] TAG LATIN CAPITAL LETTER K
+E004C ; [.0000.0000.0000] # [E004C] TAG LATIN CAPITAL LETTER L
+E004D ; [.0000.0000.0000] # [E004D] TAG LATIN CAPITAL LETTER M
+E004E ; [.0000.0000.0000] # [E004E] TAG LATIN CAPITAL LETTER N
+E004F ; [.0000.0000.0000] # [E004F] TAG LATIN CAPITAL LETTER O
+E0050 ; [.0000.0000.0000] # [E0050] TAG LATIN CAPITAL LETTER P
+E0051 ; [.0000.0000.0000] # [E0051] TAG LATIN CAPITAL LETTER Q
+E0052 ; [.0000.0000.0000] # [E0052] TAG LATIN CAPITAL LETTER R
+E0053 ; [.0000.0000.0000] # [E0053] TAG LATIN CAPITAL LETTER S
+E0054 ; [.0000.0000.0000] # [E0054] TAG LATIN CAPITAL LETTER T
+E0055 ; [.0000.0000.0000] # [E0055] TAG LATIN CAPITAL LETTER U
+E0056 ; [.0000.0000.0000] # [E0056] TAG LATIN CAPITAL LETTER V
+E0057 ; [.0000.0000.0000] # [E0057] TAG LATIN CAPITAL LETTER W
+E0058 ; [.0000.0000.0000] # [E0058] TAG LATIN CAPITAL LETTER X
+E0059 ; [.0000.0000.0000] # [E0059] TAG LATIN CAPITAL LETTER Y
+E005A ; [.0000.0000.0000] # [E005A] TAG LATIN CAPITAL LETTER Z
+E005B ; [.0000.0000.0000] # [E005B] TAG LEFT SQUARE BRACKET
+E005C ; [.0000.0000.0000] # [E005C] TAG REVERSE SOLIDUS
+E005D ; [.0000.0000.0000] # [E005D] TAG RIGHT SQUARE BRACKET
+E005E ; [.0000.0000.0000] # [E005E] TAG CIRCUMFLEX ACCENT
+E005F ; [.0000.0000.0000] # [E005F] TAG LOW LINE
+E0060 ; [.0000.0000.0000] # [E0060] TAG GRAVE ACCENT
+E0061 ; [.0000.0000.0000] # [E0061] TAG LATIN SMALL LETTER A
+E0062 ; [.0000.0000.0000] # [E0062] TAG LATIN SMALL LETTER B
+E0063 ; [.0000.0000.0000] # [E0063] TAG LATIN SMALL LETTER C
+E0064 ; [.0000.0000.0000] # [E0064] TAG LATIN SMALL LETTER D
+E0065 ; [.0000.0000.0000] # [E0065] TAG LATIN SMALL LETTER E
+E0066 ; [.0000.0000.0000] # [E0066] TAG LATIN SMALL LETTER F
+E0067 ; [.0000.0000.0000] # [E0067] TAG LATIN SMALL LETTER G
+E0068 ; [.0000.0000.0000] # [E0068] TAG LATIN SMALL LETTER H
+E0069 ; [.0000.0000.0000] # [E0069] TAG LATIN SMALL LETTER I
+E006A ; [.0000.0000.0000] # [E006A] TAG LATIN SMALL LETTER J
+E006B ; [.0000.0000.0000] # [E006B] TAG LATIN SMALL LETTER K
+E006C ; [.0000.0000.0000] # [E006C] TAG LATIN SMALL LETTER L
+E006D ; [.0000.0000.0000] # [E006D] TAG LATIN SMALL LETTER M
+E006E ; [.0000.0000.0000] # [E006E] TAG LATIN SMALL LETTER N
+E006F ; [.0000.0000.0000] # [E006F] TAG LATIN SMALL LETTER O
+E0070 ; [.0000.0000.0000] # [E0070] TAG LATIN SMALL LETTER P
+E0071 ; [.0000.0000.0000] # [E0071] TAG LATIN SMALL LETTER Q
+E0072 ; [.0000.0000.0000] # [E0072] TAG LATIN SMALL LETTER R
+E0073 ; [.0000.0000.0000] # [E0073] TAG LATIN SMALL LETTER S
+E0074 ; [.0000.0000.0000] # [E0074] TAG LATIN SMALL LETTER T
+E0075 ; [.0000.0000.0000] # [E0075] TAG LATIN SMALL LETTER U
+E0076 ; [.0000.0000.0000] # [E0076] TAG LATIN SMALL LETTER V
+E0077 ; [.0000.0000.0000] # [E0077] TAG LATIN SMALL LETTER W
+E0078 ; [.0000.0000.0000] # [E0078] TAG LATIN SMALL LETTER X
+E0079 ; [.0000.0000.0000] # [E0079] TAG LATIN SMALL LETTER Y
+E007A ; [.0000.0000.0000] # [E007A] TAG LATIN SMALL LETTER Z
+E007B ; [.0000.0000.0000] # [E007B] TAG LEFT CURLY BRACKET
+E007C ; [.0000.0000.0000] # [E007C] TAG VERTICAL LINE
+E007D ; [.0000.0000.0000] # [E007D] TAG RIGHT CURLY BRACKET
+E007E ; [.0000.0000.0000] # [E007E] TAG TILDE
+E007F ; [.0000.0000.0000] # [E007F] CANCEL TAG
+E0100 ; [.0000.0000.0000] # [E0100] VARIATION SELECTOR-17
+E0101 ; [.0000.0000.0000] # [E0101] VARIATION SELECTOR-18
+E0102 ; [.0000.0000.0000] # [E0102] VARIATION SELECTOR-19
+E0103 ; [.0000.0000.0000] # [E0103] VARIATION SELECTOR-20
+E0104 ; [.0000.0000.0000] # [E0104] VARIATION SELECTOR-21
+E0105 ; [.0000.0000.0000] # [E0105] VARIATION SELECTOR-22
+E0106 ; [.0000.0000.0000] # [E0106] VARIATION SELECTOR-23
+E0107 ; [.0000.0000.0000] # [E0107] VARIATION SELECTOR-24
+E0108 ; [.0000.0000.0000] # [E0108] VARIATION SELECTOR-25
+E0109 ; [.0000.0000.0000] # [E0109] VARIATION SELECTOR-26
+E010A ; [.0000.0000.0000] # [E010A] VARIATION SELECTOR-27
+E010B ; [.0000.0000.0000] # [E010B] VARIATION SELECTOR-28
+E010C ; [.0000.0000.0000] # [E010C] VARIATION SELECTOR-29
+E010D ; [.0000.0000.0000] # [E010D] VARIATION SELECTOR-30
+E010E ; [.0000.0000.0000] # [E010E] VARIATION SELECTOR-31
+E010F ; [.0000.0000.0000] # [E010F] VARIATION SELECTOR-32
+E0110 ; [.0000.0000.0000] # [E0110] VARIATION SELECTOR-33
+E0111 ; [.0000.0000.0000] # [E0111] VARIATION SELECTOR-34
+E0112 ; [.0000.0000.0000] # [E0112] VARIATION SELECTOR-35
+E0113 ; [.0000.0000.0000] # [E0113] VARIATION SELECTOR-36
+E0114 ; [.0000.0000.0000] # [E0114] VARIATION SELECTOR-37
+E0115 ; [.0000.0000.0000] # [E0115] VARIATION SELECTOR-38
+E0116 ; [.0000.0000.0000] # [E0116] VARIATION SELECTOR-39
+E0117 ; [.0000.0000.0000] # [E0117] VARIATION SELECTOR-40
+E0118 ; [.0000.0000.0000] # [E0118] VARIATION SELECTOR-41
+E0119 ; [.0000.0000.0000] # [E0119] VARIATION SELECTOR-42
+E011A ; [.0000.0000.0000] # [E011A] VARIATION SELECTOR-43
+E011B ; [.0000.0000.0000] # [E011B] VARIATION SELECTOR-44
+E011C ; [.0000.0000.0000] # [E011C] VARIATION SELECTOR-45
+E011D ; [.0000.0000.0000] # [E011D] VARIATION SELECTOR-46
+E011E ; [.0000.0000.0000] # [E011E] VARIATION SELECTOR-47
+E011F ; [.0000.0000.0000] # [E011F] VARIATION SELECTOR-48
+E0120 ; [.0000.0000.0000] # [E0120] VARIATION SELECTOR-49
+E0121 ; [.0000.0000.0000] # [E0121] VARIATION SELECTOR-50
+E0122 ; [.0000.0000.0000] # [E0122] VARIATION SELECTOR-51
+E0123 ; [.0000.0000.0000] # [E0123] VARIATION SELECTOR-52
+E0124 ; [.0000.0000.0000] # [E0124] VARIATION SELECTOR-53
+E0125 ; [.0000.0000.0000] # [E0125] VARIATION SELECTOR-54
+E0126 ; [.0000.0000.0000] # [E0126] VARIATION SELECTOR-55
+E0127 ; [.0000.0000.0000] # [E0127] VARIATION SELECTOR-56
+E0128 ; [.0000.0000.0000] # [E0128] VARIATION SELECTOR-57
+E0129 ; [.0000.0000.0000] # [E0129] VARIATION SELECTOR-58
+E012A ; [.0000.0000.0000] # [E012A] VARIATION SELECTOR-59
+E012B ; [.0000.0000.0000] # [E012B] VARIATION SELECTOR-60
+E012C ; [.0000.0000.0000] # [E012C] VARIATION SELECTOR-61
+E012D ; [.0000.0000.0000] # [E012D] VARIATION SELECTOR-62
+E012E ; [.0000.0000.0000] # [E012E] VARIATION SELECTOR-63
+E012F ; [.0000.0000.0000] # [E012F] VARIATION SELECTOR-64
+E0130 ; [.0000.0000.0000] # [E0130] VARIATION SELECTOR-65
+E0131 ; [.0000.0000.0000] # [E0131] VARIATION SELECTOR-66
+E0132 ; [.0000.0000.0000] # [E0132] VARIATION SELECTOR-67
+E0133 ; [.0000.0000.0000] # [E0133] VARIATION SELECTOR-68
+E0134 ; [.0000.0000.0000] # [E0134] VARIATION SELECTOR-69
+E0135 ; [.0000.0000.0000] # [E0135] VARIATION SELECTOR-70
+E0136 ; [.0000.0000.0000] # [E0136] VARIATION SELECTOR-71
+E0137 ; [.0000.0000.0000] # [E0137] VARIATION SELECTOR-72
+E0138 ; [.0000.0000.0000] # [E0138] VARIATION SELECTOR-73
+E0139 ; [.0000.0000.0000] # [E0139] VARIATION SELECTOR-74
+E013A ; [.0000.0000.0000] # [E013A] VARIATION SELECTOR-75
+E013B ; [.0000.0000.0000] # [E013B] VARIATION SELECTOR-76
+E013C ; [.0000.0000.0000] # [E013C] VARIATION SELECTOR-77
+E013D ; [.0000.0000.0000] # [E013D] VARIATION SELECTOR-78
+E013E ; [.0000.0000.0000] # [E013E] VARIATION SELECTOR-79
+E013F ; [.0000.0000.0000] # [E013F] VARIATION SELECTOR-80
+E0140 ; [.0000.0000.0000] # [E0140] VARIATION SELECTOR-81
+E0141 ; [.0000.0000.0000] # [E0141] VARIATION SELECTOR-82
+E0142 ; [.0000.0000.0000] # [E0142] VARIATION SELECTOR-83
+E0143 ; [.0000.0000.0000] # [E0143] VARIATION SELECTOR-84
+E0144 ; [.0000.0000.0000] # [E0144] VARIATION SELECTOR-85
+E0145 ; [.0000.0000.0000] # [E0145] VARIATION SELECTOR-86
+E0146 ; [.0000.0000.0000] # [E0146] VARIATION SELECTOR-87
+E0147 ; [.0000.0000.0000] # [E0147] VARIATION SELECTOR-88
+E0148 ; [.0000.0000.0000] # [E0148] VARIATION SELECTOR-89
+E0149 ; [.0000.0000.0000] # [E0149] VARIATION SELECTOR-90
+E014A ; [.0000.0000.0000] # [E014A] VARIATION SELECTOR-91
+E014B ; [.0000.0000.0000] # [E014B] VARIATION SELECTOR-92
+E014C ; [.0000.0000.0000] # [E014C] VARIATION SELECTOR-93
+E014D ; [.0000.0000.0000] # [E014D] VARIATION SELECTOR-94
+E014E ; [.0000.0000.0000] # [E014E] VARIATION SELECTOR-95
+E014F ; [.0000.0000.0000] # [E014F] VARIATION SELECTOR-96
+E0150 ; [.0000.0000.0000] # [E0150] VARIATION SELECTOR-97
+E0151 ; [.0000.0000.0000] # [E0151] VARIATION SELECTOR-98
+E0152 ; [.0000.0000.0000] # [E0152] VARIATION SELECTOR-99
+E0153 ; [.0000.0000.0000] # [E0153] VARIATION SELECTOR-100
+E0154 ; [.0000.0000.0000] # [E0154] VARIATION SELECTOR-101
+E0155 ; [.0000.0000.0000] # [E0155] VARIATION SELECTOR-102
+E0156 ; [.0000.0000.0000] # [E0156] VARIATION SELECTOR-103
+E0157 ; [.0000.0000.0000] # [E0157] VARIATION SELECTOR-104
+E0158 ; [.0000.0000.0000] # [E0158] VARIATION SELECTOR-105
+E0159 ; [.0000.0000.0000] # [E0159] VARIATION SELECTOR-106
+E015A ; [.0000.0000.0000] # [E015A] VARIATION SELECTOR-107
+E015B ; [.0000.0000.0000] # [E015B] VARIATION SELECTOR-108
+E015C ; [.0000.0000.0000] # [E015C] VARIATION SELECTOR-109
+E015D ; [.0000.0000.0000] # [E015D] VARIATION SELECTOR-110
+E015E ; [.0000.0000.0000] # [E015E] VARIATION SELECTOR-111
+E015F ; [.0000.0000.0000] # [E015F] VARIATION SELECTOR-112
+E0160 ; [.0000.0000.0000] # [E0160] VARIATION SELECTOR-113
+E0161 ; [.0000.0000.0000] # [E0161] VARIATION SELECTOR-114
+E0162 ; [.0000.0000.0000] # [E0162] VARIATION SELECTOR-115
+E0163 ; [.0000.0000.0000] # [E0163] VARIATION SELECTOR-116
+E0164 ; [.0000.0000.0000] # [E0164] VARIATION SELECTOR-117
+E0165 ; [.0000.0000.0000] # [E0165] VARIATION SELECTOR-118
+E0166 ; [.0000.0000.0000] # [E0166] VARIATION SELECTOR-119
+E0167 ; [.0000.0000.0000] # [E0167] VARIATION SELECTOR-120
+E0168 ; [.0000.0000.0000] # [E0168] VARIATION SELECTOR-121
+E0169 ; [.0000.0000.0000] # [E0169] VARIATION SELECTOR-122
+E016A ; [.0000.0000.0000] # [E016A] VARIATION SELECTOR-123
+E016B ; [.0000.0000.0000] # [E016B] VARIATION SELECTOR-124
+E016C ; [.0000.0000.0000] # [E016C] VARIATION SELECTOR-125
+E016D ; [.0000.0000.0000] # [E016D] VARIATION SELECTOR-126
+E016E ; [.0000.0000.0000] # [E016E] VARIATION SELECTOR-127
+E016F ; [.0000.0000.0000] # [E016F] VARIATION SELECTOR-128
+E0170 ; [.0000.0000.0000] # [E0170] VARIATION SELECTOR-129
+E0171 ; [.0000.0000.0000] # [E0171] VARIATION SELECTOR-130
+E0172 ; [.0000.0000.0000] # [E0172] VARIATION SELECTOR-131
+E0173 ; [.0000.0000.0000] # [E0173] VARIATION SELECTOR-132
+E0174 ; [.0000.0000.0000] # [E0174] VARIATION SELECTOR-133
+E0175 ; [.0000.0000.0000] # [E0175] VARIATION SELECTOR-134
+E0176 ; [.0000.0000.0000] # [E0176] VARIATION SELECTOR-135
+E0177 ; [.0000.0000.0000] # [E0177] VARIATION SELECTOR-136
+E0178 ; [.0000.0000.0000] # [E0178] VARIATION SELECTOR-137
+E0179 ; [.0000.0000.0000] # [E0179] VARIATION SELECTOR-138
+E017A ; [.0000.0000.0000] # [E017A] VARIATION SELECTOR-139
+E017B ; [.0000.0000.0000] # [E017B] VARIATION SELECTOR-140
+E017C ; [.0000.0000.0000] # [E017C] VARIATION SELECTOR-141
+E017D ; [.0000.0000.0000] # [E017D] VARIATION SELECTOR-142
+E017E ; [.0000.0000.0000] # [E017E] VARIATION SELECTOR-143
+E017F ; [.0000.0000.0000] # [E017F] VARIATION SELECTOR-144
+E0180 ; [.0000.0000.0000] # [E0180] VARIATION SELECTOR-145
+E0181 ; [.0000.0000.0000] # [E0181] VARIATION SELECTOR-146
+E0182 ; [.0000.0000.0000] # [E0182] VARIATION SELECTOR-147
+E0183 ; [.0000.0000.0000] # [E0183] VARIATION SELECTOR-148
+E0184 ; [.0000.0000.0000] # [E0184] VARIATION SELECTOR-149
+E0185 ; [.0000.0000.0000] # [E0185] VARIATION SELECTOR-150
+E0186 ; [.0000.0000.0000] # [E0186] VARIATION SELECTOR-151
+E0187 ; [.0000.0000.0000] # [E0187] VARIATION SELECTOR-152
+E0188 ; [.0000.0000.0000] # [E0188] VARIATION SELECTOR-153
+E0189 ; [.0000.0000.0000] # [E0189] VARIATION SELECTOR-154
+E018A ; [.0000.0000.0000] # [E018A] VARIATION SELECTOR-155
+E018B ; [.0000.0000.0000] # [E018B] VARIATION SELECTOR-156
+E018C ; [.0000.0000.0000] # [E018C] VARIATION SELECTOR-157
+E018D ; [.0000.0000.0000] # [E018D] VARIATION SELECTOR-158
+E018E ; [.0000.0000.0000] # [E018E] VARIATION SELECTOR-159
+E018F ; [.0000.0000.0000] # [E018F] VARIATION SELECTOR-160
+E0190 ; [.0000.0000.0000] # [E0190] VARIATION SELECTOR-161
+E0191 ; [.0000.0000.0000] # [E0191] VARIATION SELECTOR-162
+E0192 ; [.0000.0000.0000] # [E0192] VARIATION SELECTOR-163
+E0193 ; [.0000.0000.0000] # [E0193] VARIATION SELECTOR-164
+E0194 ; [.0000.0000.0000] # [E0194] VARIATION SELECTOR-165
+E0195 ; [.0000.0000.0000] # [E0195] VARIATION SELECTOR-166
+E0196 ; [.0000.0000.0000] # [E0196] VARIATION SELECTOR-167
+E0197 ; [.0000.0000.0000] # [E0197] VARIATION SELECTOR-168
+E0198 ; [.0000.0000.0000] # [E0198] VARIATION SELECTOR-169
+E0199 ; [.0000.0000.0000] # [E0199] VARIATION SELECTOR-170
+E019A ; [.0000.0000.0000] # [E019A] VARIATION SELECTOR-171
+E019B ; [.0000.0000.0000] # [E019B] VARIATION SELECTOR-172
+E019C ; [.0000.0000.0000] # [E019C] VARIATION SELECTOR-173
+E019D ; [.0000.0000.0000] # [E019D] VARIATION SELECTOR-174
+E019E ; [.0000.0000.0000] # [E019E] VARIATION SELECTOR-175
+E019F ; [.0000.0000.0000] # [E019F] VARIATION SELECTOR-176
+E01A0 ; [.0000.0000.0000] # [E01A0] VARIATION SELECTOR-177
+E01A1 ; [.0000.0000.0000] # [E01A1] VARIATION SELECTOR-178
+E01A2 ; [.0000.0000.0000] # [E01A2] VARIATION SELECTOR-179
+E01A3 ; [.0000.0000.0000] # [E01A3] VARIATION SELECTOR-180
+E01A4 ; [.0000.0000.0000] # [E01A4] VARIATION SELECTOR-181
+E01A5 ; [.0000.0000.0000] # [E01A5] VARIATION SELECTOR-182
+E01A6 ; [.0000.0000.0000] # [E01A6] VARIATION SELECTOR-183
+E01A7 ; [.0000.0000.0000] # [E01A7] VARIATION SELECTOR-184
+E01A8 ; [.0000.0000.0000] # [E01A8] VARIATION SELECTOR-185
+E01A9 ; [.0000.0000.0000] # [E01A9] VARIATION SELECTOR-186
+E01AA ; [.0000.0000.0000] # [E01AA] VARIATION SELECTOR-187
+E01AB ; [.0000.0000.0000] # [E01AB] VARIATION SELECTOR-188
+E01AC ; [.0000.0000.0000] # [E01AC] VARIATION SELECTOR-189
+E01AD ; [.0000.0000.0000] # [E01AD] VARIATION SELECTOR-190
+E01AE ; [.0000.0000.0000] # [E01AE] VARIATION SELECTOR-191
+E01AF ; [.0000.0000.0000] # [E01AF] VARIATION SELECTOR-192
+E01B0 ; [.0000.0000.0000] # [E01B0] VARIATION SELECTOR-193
+E01B1 ; [.0000.0000.0000] # [E01B1] VARIATION SELECTOR-194
+E01B2 ; [.0000.0000.0000] # [E01B2] VARIATION SELECTOR-195
+E01B3 ; [.0000.0000.0000] # [E01B3] VARIATION SELECTOR-196
+E01B4 ; [.0000.0000.0000] # [E01B4] VARIATION SELECTOR-197
+E01B5 ; [.0000.0000.0000] # [E01B5] VARIATION SELECTOR-198
+E01B6 ; [.0000.0000.0000] # [E01B6] VARIATION SELECTOR-199
+E01B7 ; [.0000.0000.0000] # [E01B7] VARIATION SELECTOR-200
+E01B8 ; [.0000.0000.0000] # [E01B8] VARIATION SELECTOR-201
+E01B9 ; [.0000.0000.0000] # [E01B9] VARIATION SELECTOR-202
+E01BA ; [.0000.0000.0000] # [E01BA] VARIATION SELECTOR-203
+E01BB ; [.0000.0000.0000] # [E01BB] VARIATION SELECTOR-204
+E01BC ; [.0000.0000.0000] # [E01BC] VARIATION SELECTOR-205
+E01BD ; [.0000.0000.0000] # [E01BD] VARIATION SELECTOR-206
+E01BE ; [.0000.0000.0000] # [E01BE] VARIATION SELECTOR-207
+E01BF ; [.0000.0000.0000] # [E01BF] VARIATION SELECTOR-208
+E01C0 ; [.0000.0000.0000] # [E01C0] VARIATION SELECTOR-209
+E01C1 ; [.0000.0000.0000] # [E01C1] VARIATION SELECTOR-210
+E01C2 ; [.0000.0000.0000] # [E01C2] VARIATION SELECTOR-211
+E01C3 ; [.0000.0000.0000] # [E01C3] VARIATION SELECTOR-212
+E01C4 ; [.0000.0000.0000] # [E01C4] VARIATION SELECTOR-213
+E01C5 ; [.0000.0000.0000] # [E01C5] VARIATION SELECTOR-214
+E01C6 ; [.0000.0000.0000] # [E01C6] VARIATION SELECTOR-215
+E01C7 ; [.0000.0000.0000] # [E01C7] VARIATION SELECTOR-216
+E01C8 ; [.0000.0000.0000] # [E01C8] VARIATION SELECTOR-217
+E01C9 ; [.0000.0000.0000] # [E01C9] VARIATION SELECTOR-218
+E01CA ; [.0000.0000.0000] # [E01CA] VARIATION SELECTOR-219
+E01CB ; [.0000.0000.0000] # [E01CB] VARIATION SELECTOR-220
+E01CC ; [.0000.0000.0000] # [E01CC] VARIATION SELECTOR-221
+E01CD ; [.0000.0000.0000] # [E01CD] VARIATION SELECTOR-222
+E01CE ; [.0000.0000.0000] # [E01CE] VARIATION SELECTOR-223
+E01CF ; [.0000.0000.0000] # [E01CF] VARIATION SELECTOR-224
+E01D0 ; [.0000.0000.0000] # [E01D0] VARIATION SELECTOR-225
+E01D1 ; [.0000.0000.0000] # [E01D1] VARIATION SELECTOR-226
+E01D2 ; [.0000.0000.0000] # [E01D2] VARIATION SELECTOR-227
+E01D3 ; [.0000.0000.0000] # [E01D3] VARIATION SELECTOR-228
+E01D4 ; [.0000.0000.0000] # [E01D4] VARIATION SELECTOR-229
+E01D5 ; [.0000.0000.0000] # [E01D5] VARIATION SELECTOR-230
+E01D6 ; [.0000.0000.0000] # [E01D6] VARIATION SELECTOR-231
+E01D7 ; [.0000.0000.0000] # [E01D7] VARIATION SELECTOR-232
+E01D8 ; [.0000.0000.0000] # [E01D8] VARIATION SELECTOR-233
+E01D9 ; [.0000.0000.0000] # [E01D9] VARIATION SELECTOR-234
+E01DA ; [.0000.0000.0000] # [E01DA] VARIATION SELECTOR-235
+E01DB ; [.0000.0000.0000] # [E01DB] VARIATION SELECTOR-236
+E01DC ; [.0000.0000.0000] # [E01DC] VARIATION SELECTOR-237
+E01DD ; [.0000.0000.0000] # [E01DD] VARIATION SELECTOR-238
+E01DE ; [.0000.0000.0000] # [E01DE] VARIATION SELECTOR-239
+E01DF ; [.0000.0000.0000] # [E01DF] VARIATION SELECTOR-240
+E01E0 ; [.0000.0000.0000] # [E01E0] VARIATION SELECTOR-241
+E01E1 ; [.0000.0000.0000] # [E01E1] VARIATION SELECTOR-242
+E01E2 ; [.0000.0000.0000] # [E01E2] VARIATION SELECTOR-243
+E01E3 ; [.0000.0000.0000] # [E01E3] VARIATION SELECTOR-244
+E01E4 ; [.0000.0000.0000] # [E01E4] VARIATION SELECTOR-245
+E01E5 ; [.0000.0000.0000] # [E01E5] VARIATION SELECTOR-246
+E01E6 ; [.0000.0000.0000] # [E01E6] VARIATION SELECTOR-247
+E01E7 ; [.0000.0000.0000] # [E01E7] VARIATION SELECTOR-248
+E01E8 ; [.0000.0000.0000] # [E01E8] VARIATION SELECTOR-249
+E01E9 ; [.0000.0000.0000] # [E01E9] VARIATION SELECTOR-250
+E01EA ; [.0000.0000.0000] # [E01EA] VARIATION SELECTOR-251
+E01EB ; [.0000.0000.0000] # [E01EB] VARIATION SELECTOR-252
+E01EC ; [.0000.0000.0000] # [E01EC] VARIATION SELECTOR-253
+E01ED ; [.0000.0000.0000] # [E01ED] VARIATION SELECTOR-254
+E01EE ; [.0000.0000.0000] # [E01EE] VARIATION SELECTOR-255
+E01EF ; [.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
+0009 ; [*0201.0020.0002] # HORIZONTAL TABULATION (in 6429)
+000A ; [*0202.0020.0002] # LINE FEED (in 6429)
+000B ; [*0203.0020.0002] # VERTICAL TABULATION (in 6429)
+000C ; [*0204.0020.0002] # FORM FEED (in 6429)
+000D ; [*0205.0020.0002] # CARRIAGE RETURN (in 6429)
+0020 ; [*0209.0020.0002] # SPACE
+0021 ; [*025D.0020.0002] # EXCLAMATION MARK
+0022 ; [*02F0.0020.0002] # QUOTATION MARK
+0023 ; [*0379.0020.0002] # NUMBER SIGN
+0025 ; [*037A.0020.0002] # PERCENT SIGN
+0026 ; [*0377.0020.0002] # AMPERSAND
+0027 ; [*02E9.0020.0002] # APOSTROPHE
+0028 ; [*02FA.0020.0002] # LEFT PARENTHESIS
+0029 ; [*02FB.0020.0002] # RIGHT PARENTHESIS
+002A ; [*0370.0020.0002] # ASTERISK
+002B ; [*059F.0020.0002] # PLUS SIGN
+002C ; [*0220.0020.0002] # COMMA
+002D ; [*020D.0020.0002] # HYPHEN-MINUS
+002E ; [*0272.0020.0002] # FULL STOP
+002F ; [*0375.0020.0002] # SOLIDUS
+003A ; [*0236.0020.0002] # COLON
+003B ; [*0231.0020.0002] # SEMICOLON
+003C ; [*05A3.0020.0002] # LESS-THAN SIGN
+003D ; [*05A4.0020.0002] # EQUALS SIGN
+003E ; [*05A5.0020.0002] # GREATER-THAN SIGN
+003F ; [*0262.0020.0002] # QUESTION MARK
+0040 ; [*036F.0020.0002] # COMMERCIAL AT
+005B ; [*02FC.0020.0002] # LEFT SQUARE BRACKET
+005C ; [*0376.0020.0002] # REVERSE SOLIDUS
+005D ; [*02FD.0020.0002] # RIGHT SQUARE BRACKET
+005E ; [*0415.0020.0002] # CIRCUMFLEX ACCENT
+005F ; [*020B.0020.0002] # LOW LINE
+0060 ; [*0412.0020.0002] # GRAVE ACCENT
+007B ; [*02FE.0020.0002] # LEFT CURLY BRACKET
+007C ; [*05A7.0020.0002] # VERTICAL LINE
+007D ; [*02FF.0020.0002] # RIGHT CURLY BRACKET
+007E ; [*05A9.0020.0002] # TILDE
+0085 ; [*0206.0020.0002] # NEXT LINE (in 6429)
+00A0 ; [*0209.0020.001B] # NO-BREAK SPACE
+00A1 ; [*025E.0020.0002] # INVERTED EXCLAMATION MARK
+00A6 ; [*05A8.0020.0002] # BROKEN BAR
+00A7 ; [*036B.0020.0002] # SECTION SIGN
+00A8 ; [*0419.0020.0002] # DIAERESIS
+00A9 ; [*050F.0020.0002] # COPYRIGHT SIGN
+00AB ; [*02F8.0020.0002] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC ; [*05A6.0020.0002] # NOT SIGN
+00AE ; [*0510.0020.0002] # REGISTERED SIGN
+00AF ; [*0416.0020.0002] # MACRON
+00B0 ; [*0485.0020.0002] # DEGREE SIGN
+00B1 ; [*05A0.0020.0002] # PLUS-MINUS SIGN
+00B4 ; [*0413.0020.0002] # ACUTE ACCENT
+00B6 ; [*036D.0020.0002] # PILCROW SIGN
+00B7 ; [*0283.0020.0002] # MIDDLE DOT
+00B8 ; [*041C.0020.0002] # CEDILLA
+00BB ; [*02F9.0020.0002] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BF ; [*0263.0020.0002] # INVERTED QUESTION MARK
+00D7 ; [*05A2.0020.0002] # MULTIPLICATION SIGN
+00F7 ; [*05A1.0020.0002] # DIVISION SIGN
+02B9 ; [*0423.0020.0002] # MODIFIER LETTER PRIME
+02BA ; [*0425.0020.0002] # MODIFIER LETTER DOUBLE PRIME
+02C2 ; [*0426.0020.0002] # MODIFIER LETTER LEFT ARROWHEAD
+02C3 ; [*0427.0020.0002] # MODIFIER LETTER RIGHT ARROWHEAD
+02C4 ; [*0428.0020.0002] # MODIFIER LETTER UP ARROWHEAD
+02C5 ; [*0429.0020.0002] # MODIFIER LETTER DOWN ARROWHEAD
+02C6 ; [*042A.0020.0002] # MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7 ; [*042B.0020.0002] # CARON
+02C8 ; [*042C.0020.0002] # MODIFIER LETTER VERTICAL LINE
+02C9 ; [*042D.0020.0002] # MODIFIER LETTER MACRON
+02CA ; [*042E.0020.0002] # MODIFIER LETTER ACUTE ACCENT
+02CB ; [*042F.0020.0002] # MODIFIER LETTER GRAVE ACCENT
+02CC ; [*0430.0020.0002] # MODIFIER LETTER LOW VERTICAL LINE
+02CD ; [*0431.0020.0002] # MODIFIER LETTER LOW MACRON
+02CE ; [*0432.0020.0002] # MODIFIER LETTER LOW GRAVE ACCENT
+02CF ; [*0433.0020.0002] # MODIFIER LETTER LOW ACUTE ACCENT
+02D2 ; [*0434.0020.0002] # MODIFIER LETTER CENTRED RIGHT HALF RING
+02D3 ; [*0435.0020.0002] # MODIFIER LETTER CENTRED LEFT HALF RING
+02D4 ; [*0436.0020.0002] # MODIFIER LETTER UP TACK
+02D5 ; [*0437.0020.0002] # MODIFIER LETTER DOWN TACK
+02D6 ; [*0438.0020.0002] # MODIFIER LETTER PLUS SIGN
+02D7 ; [*0439.0020.0002] # MODIFIER LETTER MINUS SIGN
+02D8 ; [*0417.0020.0002] # BREVE
+02D9 ; [*0418.0020.0002] # DOT ABOVE
+02DA ; [*041A.0020.0002] # RING ABOVE
+02DB ; [*041D.0020.0002] # OGONEK
+02DC ; [*0414.0020.0002] # SMALL TILDE
+02DD ; [*041B.0020.0002] # DOUBLE ACUTE ACCENT
+02DE ; [*043A.0020.0002] # MODIFIER LETTER RHOTIC HOOK
+02DF ; [*043B.0020.0002] # MODIFIER LETTER CROSS ACCENT
+02E5 ; [*043C.0020.0002] # MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6 ; [*043D.0020.0002] # MODIFIER LETTER HIGH TONE BAR
+02E7 ; [*043E.0020.0002] # MODIFIER LETTER MID TONE BAR
+02E8 ; [*043F.0020.0002] # MODIFIER LETTER LOW TONE BAR
+02E9 ; [*0440.0020.0002] # MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA ; [*0441.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB ; [*0442.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC ; [*0443.0020.0002] # MODIFIER LETTER VOICING
+02ED ; [*0444.0020.0002] # MODIFIER LETTER UNASPIRATED
+02EF ; [*0445.0020.0002] # MODIFIER LETTER LOW DOWN ARROWHEAD
+02F0 ; [*0446.0020.0002] # MODIFIER LETTER LOW UP ARROWHEAD
+02F1 ; [*0447.0020.0002] # MODIFIER LETTER LOW LEFT ARROWHEAD
+02F2 ; [*0448.0020.0002] # MODIFIER LETTER LOW RIGHT ARROWHEAD
+02F3 ; [*0449.0020.0002] # MODIFIER LETTER LOW RING
+02F4 ; [*044A.0020.0002] # MODIFIER LETTER MIDDLE GRAVE ACCENT
+02F5 ; [*044B.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+02F6 ; [*044C.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+02F7 ; [*044D.0020.0002] # MODIFIER LETTER LOW TILDE
+02F8 ; [*044E.0020.0002] # MODIFIER LETTER RAISED COLON
+02F9 ; [*044F.0020.0002] # MODIFIER LETTER BEGIN HIGH TONE
+02FA ; [*0450.0020.0002] # MODIFIER LETTER END HIGH TONE
+02FB ; [*0451.0020.0002] # MODIFIER LETTER BEGIN LOW TONE
+02FC ; [*0452.0020.0002] # MODIFIER LETTER END LOW TONE
+02FD ; [*0453.0020.0002] # MODIFIER LETTER SHELF
+02FE ; [*0454.0020.0002] # MODIFIER LETTER OPEN SHELF
+02FF ; [*0455.0020.0002] # MODIFIER LETTER LOW LEFT ARROW
+034F ; [.0000.0000.0000] # COMBINING GRAPHEME JOINER
+0374 ; [*0423.0020.0002] # GREEK NUMERAL SIGN
+0375 ; [*0424.0020.0002] # GREEK LOWER NUMERAL SIGN
+037E ; [*0231.0020.0002] # GREEK QUESTION MARK
+0384 ; [*0413.0020.0002] # GREEK TONOS
+0385 ; [*0419.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA TONOS
+0387 ; [*0283.0020.0002] # GREEK ANO TELEIA
+03F6 ; [*059A.0020.0002] # GREEK REVERSED LUNATE EPSILON SYMBOL
+0482 ; [*0486.0020.0002] # CYRILLIC THOUSANDS SIGN
+0488 ; [.0000.0000.0000] # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
+0489 ; [.0000.0000.0000] # COMBINING CYRILLIC MILLIONS SIGN
+055A ; [*03AB.0020.0002] # ARMENIAN APOSTROPHE
+055B ; [*03AC.0020.0002] # ARMENIAN EMPHASIS MARK
+055C ; [*025F.0020.0002] # ARMENIAN EXCLAMATION MARK
+055D ; [*0223.0020.0002] # ARMENIAN COMMA
+055E ; [*0265.0020.0002] # ARMENIAN QUESTION MARK
+055F ; [*03AD.0020.0002] # ARMENIAN ABBREVIATION MARK
+0589 ; [*0237.0020.0002] # ARMENIAN FULL STOP
+058A ; [*020E.0020.0002] # ARMENIAN HYPHEN
+0591 ; [.0000.0000.0000] # HEBREW ACCENT ETNAHTA
+0592 ; [.0000.0000.0000] # HEBREW ACCENT SEGOL
+0593 ; [.0000.0000.0000] # HEBREW ACCENT SHALSHELET
+0594 ; [.0000.0000.0000] # HEBREW ACCENT ZAQEF QATAN
+0595 ; [.0000.0000.0000] # HEBREW ACCENT ZAQEF GADOL
+0596 ; [.0000.0000.0000] # HEBREW ACCENT TIPEHA
+0597 ; [.0000.0000.0000] # HEBREW ACCENT REVIA
+0598 ; [.0000.0000.0000] # HEBREW ACCENT ZARQA
+0599 ; [.0000.0000.0000] # HEBREW ACCENT PASHTA
+059A ; [.0000.0000.0000] # HEBREW ACCENT YETIV
+059B ; [.0000.0000.0000] # HEBREW ACCENT TEVIR
+059C ; [.0000.0000.0000] # HEBREW ACCENT GERESH
+059D ; [.0000.0000.0000] # HEBREW ACCENT GERESH MUQDAM
+059E ; [.0000.0000.0000] # HEBREW ACCENT GERSHAYIM
+059F ; [.0000.0000.0000] # HEBREW ACCENT QARNEY PARA
+05A0 ; [.0000.0000.0000] # HEBREW ACCENT TELISHA GEDOLA
+05A1 ; [.0000.0000.0000] # HEBREW ACCENT PAZER
+05A2 ; [.0000.0000.0000] # HEBREW ACCENT ATNAH HAFUKH
+05A3 ; [.0000.0000.0000] # HEBREW ACCENT MUNAH
+05A4 ; [.0000.0000.0000] # HEBREW ACCENT MAHAPAKH
+05A5 ; [.0000.0000.0000] # HEBREW ACCENT MERKHA
+05A6 ; [.0000.0000.0000] # HEBREW ACCENT MERKHA KEFULA
+05A7 ; [.0000.0000.0000] # HEBREW ACCENT DARGA
+05A8 ; [.0000.0000.0000] # HEBREW ACCENT QADMA
+05A9 ; [.0000.0000.0000] # HEBREW ACCENT TELISHA QETANA
+05AA ; [.0000.0000.0000] # HEBREW ACCENT YERAH BEN YOMO
+05AB ; [.0000.0000.0000] # HEBREW ACCENT OLE
+05AC ; [.0000.0000.0000] # HEBREW ACCENT ILUY
+05AD ; [.0000.0000.0000] # HEBREW ACCENT DEHI
+05AE ; [.0000.0000.0000] # HEBREW ACCENT ZINOR
+05AF ; [.0000.0000.0000] # HEBREW MARK MASORA CIRCLE
+05BD ; [.0000.0000.0000] # HEBREW POINT METEG
+05BE ; [*03AE.0020.0002] # HEBREW PUNCTUATION MAQAF
+05C0 ; [*03AF.0020.0002] # HEBREW PUNCTUATION PASEQ
+05C3 ; [*03B0.0020.0002] # HEBREW PUNCTUATION SOF PASUQ
+05C4 ; [.0000.0000.0000] # HEBREW MARK UPPER DOT
+05C5 ; [.0000.0000.0000] # HEBREW MARK LOWER DOT
+05C6 ; [*03B1.0020.0002] # HEBREW PUNCTUATION NUN HAFUKHA
+05F3 ; [*03B2.0020.0002] # HEBREW PUNCTUATION GERESH
+05F4 ; [*03B3.0020.0002] # HEBREW PUNCTUATION GERSHAYIM
+0600 ; [.0000.0000.0000] # ARABIC NUMBER SIGN
+0601 ; [.0000.0000.0000] # ARABIC SIGN SANAH
+0602 ; [.0000.0000.0000] # ARABIC FOOTNOTE MARKER
+0603 ; [.0000.0000.0000] # ARABIC SIGN SAFHA
+0604 ; [.0000.0000.0000] # ARABIC SIGN SAMVAT
+0606 ; [*05B6.0020.0002] # ARABIC-INDIC CUBE ROOT
+0607 ; [*05B8.0020.0002] # ARABIC-INDIC FOURTH ROOT
+0608 ; [*0487.0020.0002] # ARABIC RAY
+0609 ; [*037D.0020.0002] # ARABIC-INDIC PER MILLE SIGN
+060A ; [*037F.0020.0002] # ARABIC-INDIC PER TEN THOUSAND SIGN
+060C ; [*0224.0020.0002] # ARABIC COMMA
+060D ; [*0225.0020.0002] # ARABIC DATE SEPARATOR
+060E ; [*048A.0020.0002] # ARABIC POETIC VERSE SIGN
+060F ; [*048B.0020.0002] # ARABIC SIGN MISRA
+0610 ; [.0000.0000.0000] # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
+0611 ; [.0000.0000.0000] # ARABIC SIGN ALAYHE ASSALLAM
+0612 ; [.0000.0000.0000] # ARABIC SIGN RAHMATULLAH ALAYHE
+0613 ; [.0000.0000.0000] # ARABIC SIGN RADI ALLAHOU ANHU
+0614 ; [.0000.0000.0000] # ARABIC SIGN TAKHALLUS
+0615 ; [.0000.0000.0000] # ARABIC SMALL HIGH TAH
+0616 ; [.0000.0000.0000] # ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
+0617 ; [.0000.0000.0000] # ARABIC SMALL HIGH ZAIN
+0618 ; [.0000.0000.0000] # ARABIC SMALL FATHA
+0619 ; [.0000.0000.0000] # ARABIC SMALL DAMMA
+061A ; [.0000.0000.0000] # ARABIC SMALL KASRA
+061B ; [*0232.0020.0002] # ARABIC SEMICOLON
+061E ; [*0238.0020.0002] # ARABIC TRIPLE DOT PUNCTUATION MARK
+061F ; [*0266.0020.0002] # ARABIC QUESTION MARK
+0640 ; [.0000.0000.0000] # ARABIC TATWEEL
+066A ; [*037B.0020.0002] # ARABIC PERCENT SIGN
+066B ; [*0226.0020.0002] # ARABIC DECIMAL SEPARATOR
+066C ; [*0227.0020.0002] # ARABIC THOUSANDS SEPARATOR
+066D ; [*0373.0020.0002] # ARABIC FIVE POINTED STAR
+06D4 ; [*0274.0020.0002] # ARABIC FULL STOP
+06D6 ; [.0000.0000.0000] # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
+06D7 ; [.0000.0000.0000] # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
+06D8 ; [.0000.0000.0000] # ARABIC SMALL HIGH MEEM INITIAL FORM
+06D9 ; [.0000.0000.0000] # ARABIC SMALL HIGH LAM ALEF
+06DA ; [.0000.0000.0000] # ARABIC SMALL HIGH JEEM
+06DB ; [.0000.0000.0000] # ARABIC SMALL HIGH THREE DOTS
+06DC ; [.0000.0000.0000] # ARABIC SMALL HIGH SEEN
+06DD ; [.0000.0000.0000] # ARABIC END OF AYAH
+06DE ; [*048C.0020.0002] # ARABIC START OF RUB EL HIZB
+06DF ; [.0000.0000.0000] # ARABIC SMALL HIGH ROUNDED ZERO
+06E0 ; [.0000.0000.0000] # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
+06E1 ; [.0000.0000.0000] # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+06E2 ; [.0000.0000.0000] # ARABIC SMALL HIGH MEEM ISOLATED FORM
+06E3 ; [.0000.0000.0000] # ARABIC SMALL LOW SEEN
+06E4 ; [.0000.0000.0000] # ARABIC SMALL HIGH MADDA
+06E7 ; [.0000.0000.0000] # ARABIC SMALL HIGH YEH
+06E8 ; [.0000.0000.0000] # ARABIC SMALL HIGH NOON
+06E9 ; [*048D.0020.0002] # ARABIC PLACE OF SAJDAH
+06EA ; [.0000.0000.0000] # ARABIC EMPTY CENTRE LOW STOP
+06EB ; [.0000.0000.0000] # ARABIC EMPTY CENTRE HIGH STOP
+06EC ; [.0000.0000.0000] # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
+06ED ; [.0000.0000.0000] # ARABIC SMALL LOW MEEM
+0700 ; [*02AE.0020.0002] # SYRIAC END OF PARAGRAPH
+0701 ; [*0275.0020.0002] # SYRIAC SUPRALINEAR FULL STOP
+0702 ; [*0276.0020.0002] # SYRIAC SUBLINEAR FULL STOP
+0703 ; [*0239.0020.0002] # SYRIAC SUPRALINEAR COLON
+0704 ; [*023A.0020.0002] # SYRIAC SUBLINEAR COLON
+0705 ; [*023B.0020.0002] # SYRIAC HORIZONTAL COLON
+0706 ; [*023C.0020.0002] # SYRIAC COLON SKEWED LEFT
+0707 ; [*023D.0020.0002] # SYRIAC COLON SKEWED RIGHT
+0708 ; [*023E.0020.0002] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709 ; [*0267.0020.0002] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070A ; [*03B4.0020.0002] # SYRIAC CONTRACTION
+070B ; [*03B5.0020.0002] # SYRIAC HARKLEAN OBELUS
+070C ; [*03B6.0020.0002] # SYRIAC HARKLEAN METOBELUS
+070D ; [*03B7.0020.0002] # SYRIAC HARKLEAN ASTERISCUS
+0740 ; [.0000.0000.0000] # SYRIAC FEMININE DOT
+0743 ; [.0000.0000.0000] # SYRIAC TWO VERTICAL DOTS ABOVE
+0744 ; [.0000.0000.0000] # SYRIAC TWO VERTICAL DOTS BELOW
+0747 ; [.0000.0000.0000] # SYRIAC OBLIQUE LINE ABOVE
+0748 ; [.0000.0000.0000] # SYRIAC OBLIQUE LINE BELOW
+0749 ; [.0000.0000.0000] # SYRIAC MUSIC
+074A ; [.0000.0000.0000] # SYRIAC BARREKH
+07F6 ; [*049F.0020.0002] # NKO SYMBOL OO DENNEN
+07F7 ; [*02AF.0020.0002] # NKO SYMBOL GBAKURUNEN
+07F8 ; [*0228.0020.0002] # NKO COMMA
+07F9 ; [*0260.0020.0002] # NKO EXCLAMATION MARK
+07FA ; [.0000.0000.0000] # NKO LAJANYALAN
+0830 ; [*023F.0020.0002] # SAMARITAN PUNCTUATION NEQUDAA
+0831 ; [*0240.0020.0002] # SAMARITAN PUNCTUATION AFSAAQ
+0832 ; [*0241.0020.0002] # SAMARITAN PUNCTUATION ANGED
+0833 ; [*0242.0020.0002] # SAMARITAN PUNCTUATION BAU
+0834 ; [*0243.0020.0002] # SAMARITAN PUNCTUATION ATMAAU
+0835 ; [*0244.0020.0002] # SAMARITAN PUNCTUATION SHIYYAALAA
+0836 ; [*0245.0020.0002] # SAMARITAN ABBREVIATION MARK
+0837 ; [*0246.0020.0002] # SAMARITAN PUNCTUATION MELODIC QITSA
+0838 ; [*0247.0020.0002] # SAMARITAN PUNCTUATION ZIQAA
+0839 ; [*0248.0020.0002] # SAMARITAN PUNCTUATION QITSA
+083A ; [*0249.0020.0002] # SAMARITAN PUNCTUATION ZAEF
+083B ; [*024A.0020.0002] # SAMARITAN PUNCTUATION TURU
+083C ; [*024B.0020.0002] # SAMARITAN PUNCTUATION ARKAANU
+083D ; [*024C.0020.0002] # SAMARITAN PUNCTUATION SOF MASHFAAT
+083E ; [*024D.0020.0002] # SAMARITAN PUNCTUATION ANNAAU
+085E ; [*03B8.0020.0002] # MANDAIC PUNCTUATION
+08EA ; [.0000.0000.0000] # ARABIC TONE ONE DOT ABOVE
+08EB ; [.0000.0000.0000] # ARABIC TONE TWO DOTS ABOVE
+08EC ; [.0000.0000.0000] # ARABIC TONE LOOP ABOVE
+08ED ; [.0000.0000.0000] # ARABIC TONE ONE DOT BELOW
+08EE ; [.0000.0000.0000] # ARABIC TONE TWO DOTS BELOW
+08EF ; [.0000.0000.0000] # ARABIC TONE LOOP BELOW
+08F3 ; [.0000.0000.0000] # ARABIC SMALL HIGH WAW
+0951 ; [.0000.0000.0000] # DEVANAGARI STRESS SIGN UDATTA
+0952 ; [.0000.0000.0000] # DEVANAGARI STRESS SIGN ANUDATTA
+0964 ; [*0286.0020.0002] # DEVANAGARI DANDA
+0965 ; [*0287.0020.0002] # DEVANAGARI DOUBLE DANDA
+0970 ; [*03BA.0020.0002] # DEVANAGARI ABBREVIATION SIGN
+09F4 ; [*14D7.0020.0002] # BENGALI CURRENCY NUMERATOR ONE
+09F5 ; [*14D8.0020.0002] # BENGALI CURRENCY NUMERATOR TWO
+09F6 ; [*14D9.0020.0002] # BENGALI CURRENCY NUMERATOR THREE
+09F7 ; [*14DA.0020.0002] # BENGALI CURRENCY NUMERATOR FOUR
+09F8 ; [*14DB.0020.0002] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9 ; [*14DC.0020.0002] # BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA ; [*04A0.0020.0002] # BENGALI ISSHAR
+0AF0 ; [*03BE.0020.0002] # GUJARATI ABBREVIATION SIGN
+0B70 ; [*04A1.0020.0002] # ORIYA ISSHAR
+0B72 ; [*14DD.0020.0002] # ORIYA FRACTION ONE QUARTER
+0B73 ; [*14DE.0020.0002] # ORIYA FRACTION ONE HALF
+0B74 ; [*14DF.0020.0002] # ORIYA FRACTION THREE QUARTERS
+0B75 ; [*14E0.0020.0002] # ORIYA FRACTION ONE SIXTEENTH
+0B76 ; [*14E1.0020.0002] # ORIYA FRACTION ONE EIGHTH
+0B77 ; [*14E2.0020.0002] # ORIYA FRACTION THREE SIXTEENTHS
+0BF0 ; [*14E9.0020.0002] # TAMIL NUMBER TEN
+0BF1 ; [*14EA.0020.0002] # TAMIL NUMBER ONE HUNDRED
+0BF2 ; [*14EB.0020.0002] # TAMIL NUMBER ONE THOUSAND
+0BF3 ; [*04A2.0020.0002] # TAMIL DAY SIGN
+0BF4 ; [*04A3.0020.0002] # TAMIL MONTH SIGN
+0BF5 ; [*04A4.0020.0002] # TAMIL YEAR SIGN
+0BF6 ; [*04A5.0020.0002] # TAMIL DEBIT SIGN
+0BF7 ; [*04A6.0020.0002] # TAMIL CREDIT SIGN
+0BF8 ; [*04A7.0020.0002] # TAMIL AS ABOVE SIGN
+0BFA ; [*04A8.0020.0002] # TAMIL NUMBER SIGN
+0C7F ; [*04A9.0020.0002] # TELUGU SIGN TUUMU
+0D70 ; [*14EC.0020.0002] # MALAYALAM NUMBER TEN
+0D71 ; [*14ED.0020.0002] # MALAYALAM NUMBER ONE HUNDRED
+0D72 ; [*14EE.0020.0002] # MALAYALAM NUMBER ONE THOUSAND
+0D73 ; [*14EF.0020.0002] # MALAYALAM FRACTION ONE QUARTER
+0D74 ; [*14F0.0020.0002] # MALAYALAM FRACTION ONE HALF
+0D75 ; [*14F1.0020.0002] # MALAYALAM FRACTION THREE QUARTERS
+0D79 ; [*04AA.0020.0002] # MALAYALAM DATE MARK
+0DF4 ; [*03BF.0020.0002] # SINHALA PUNCTUATION KUNDDALIYA
+0E4F ; [*03C0.0020.0002] # THAI CHARACTER FONGMAN
+0E5A ; [*03C1.0020.0002] # THAI CHARACTER ANGKHANKHU
+0E5B ; [*03C2.0020.0002] # THAI CHARACTER KHOMUT
+0F01 ; [*04B2.0020.0002] # TIBETAN MARK GTER YIG MGO TRUNCATED A
+0F02 ; [*04B3.0020.0002] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0F03 ; [*04B4.0020.0002] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04 ; [*03C5.0020.0002] # TIBETAN MARK INITIAL YIG MGO MDUN MA
+0F05 ; [*03C6.0020.0002] # TIBETAN MARK CLOSING YIG MGO SGAB MA
+0F06 ; [*03C7.0020.0002] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0F07 ; [*03C8.0020.0002] # TIBETAN MARK YIG MGO TSHEG SHAD MA
+0F08 ; [*03C9.0020.0002] # TIBETAN MARK SBRUL SHAD
+0F09 ; [*03CA.0020.0002] # TIBETAN MARK BSKUR YIG MGO
+0F0A ; [*03CB.0020.0002] # TIBETAN MARK BKA- SHOG YIG MGO
+0F0B ; [*03CE.0020.0002] # TIBETAN MARK INTERSYLLABIC TSHEG
+0F0C ; [*03CE.0020.001B] # TIBETAN MARK DELIMITER TSHEG BSTAR
+0F0D ; [*03CF.0020.0002] # TIBETAN MARK SHAD
+0F0E ; [*03D0.0020.0002] # TIBETAN MARK NYIS SHAD
+0F0F ; [*03D1.0020.0002] # TIBETAN MARK TSHEG SHAD
+0F10 ; [*03D2.0020.0002] # TIBETAN MARK NYIS TSHEG SHAD
+0F11 ; [*03D3.0020.0002] # TIBETAN MARK RIN CHEN SPUNGS SHAD
+0F12 ; [*03D4.0020.0002] # TIBETAN MARK RGYA GRAM SHAD
+0F13 ; [*04B5.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14 ; [*0255.0020.0002] # TIBETAN MARK GTER TSHEG
+0F15 ; [*04B6.0020.0002] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0F16 ; [*04B7.0020.0002] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0F17 ; [*04B8.0020.0002] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F18 ; [.0000.0000.0000] # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
+0F19 ; [.0000.0000.0000] # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+0F1A ; [*04B9.0020.0002] # TIBETAN SIGN RDEL DKAR GCIG
+0F1B ; [*04BA.0020.0002] # TIBETAN SIGN RDEL DKAR GNYIS
+0F1C ; [*04BB.0020.0002] # TIBETAN SIGN RDEL DKAR GSUM
+0F1D ; [*04BC.0020.0002] # TIBETAN SIGN RDEL NAG GCIG
+0F1E ; [*04BD.0020.0002] # TIBETAN SIGN RDEL NAG GNYIS
+0F1F ; [*04BE.0020.0002] # TIBETAN SIGN RDEL DKAR RDEL NAG
+0F34 ; [*04BF.0020.0002] # TIBETAN MARK BSDUS RTAGS
+0F35 ; [.0000.0000.0000] # TIBETAN MARK NGAS BZUNG NYI ZLA
+0F36 ; [*04C0.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F37 ; [.0000.0000.0000] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
+0F38 ; [*04C1.0020.0002] # TIBETAN MARK CHE MGO
+0F3A ; [*0300.0020.0002] # TIBETAN MARK GUG RTAGS GYON
+0F3B ; [*0301.0020.0002] # TIBETAN MARK GUG RTAGS GYAS
+0F3C ; [*0302.0020.0002] # TIBETAN MARK ANG KHANG GYON
+0F3D ; [*0303.0020.0002] # TIBETAN MARK ANG KHANG GYAS
+0F3E ; [.0000.0000.0000] # TIBETAN SIGN YAR TSHES
+0F3F ; [.0000.0000.0000] # TIBETAN SIGN MAR TSHES
+0F82 ; [.0000.0000.0000] # TIBETAN SIGN NYI ZLA NAA DA
+0F83 ; [.0000.0000.0000] # TIBETAN SIGN SNA LDAN
+0F85 ; [*03D5.0020.0002] # TIBETAN MARK PALUTA
+0F86 ; [.0000.0000.0000] # TIBETAN SIGN LCI RTAGS
+0F87 ; [.0000.0000.0000] # TIBETAN SIGN YANG RTAGS
+0FBE ; [*04C2.0020.0002] # TIBETAN KU RU KHA
+0FBF ; [*04C3.0020.0002] # TIBETAN KU RU KHA BZHI MIG CAN
+0FC0 ; [*04C4.0020.0002] # TIBETAN CANTILLATION SIGN HEAVY BEAT
+0FC1 ; [*04C5.0020.0002] # TIBETAN CANTILLATION SIGN LIGHT BEAT
+0FC2 ; [*04C6.0020.0002] # TIBETAN CANTILLATION SIGN CANG TE-U
+0FC3 ; [*04C7.0020.0002] # TIBETAN CANTILLATION SIGN SBUB -CHAL
+0FC4 ; [*04C8.0020.0002] # TIBETAN SYMBOL DRIL BU
+0FC5 ; [*04C9.0020.0002] # TIBETAN SYMBOL RDO RJE
+0FC6 ; [.0000.0000.0000] # TIBETAN SYMBOL PADMA GDAN
+0FC7 ; [*04CA.0020.0002] # TIBETAN SYMBOL RDO RJE RGYA GRAM
+0FC8 ; [*04CB.0020.0002] # TIBETAN SYMBOL PHUR PA
+0FC9 ; [*04CC.0020.0002] # TIBETAN SYMBOL NOR BU
+0FCA ; [*04CD.0020.0002] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0FCB ; [*04CE.0020.0002] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0FCC ; [*04CF.0020.0002] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE ; [*04D0.0020.0002] # TIBETAN SIGN RDEL NAG RDEL DKAR
+0FCF ; [*04D1.0020.0002] # TIBETAN SIGN RDEL NAG GSUM
+0FD0 ; [*03CC.0020.0002] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+0FD1 ; [*03CD.0020.0002] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
+0FD2 ; [*03D6.0020.0002] # TIBETAN MARK NYIS TSHEG
+0FD3 ; [*03D7.0020.0002] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+0FD4 ; [*03D8.0020.0002] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5 ; [*04D2.0020.0002] # RIGHT-FACING SVASTI SIGN
+0FD6 ; [*04D3.0020.0002] # LEFT-FACING SVASTI SIGN
+0FD7 ; [*04D4.0020.0002] # RIGHT-FACING SVASTI SIGN WITH DOTS
+0FD8 ; [*04D5.0020.0002] # LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9 ; [*03D9.0020.0002] # TIBETAN MARK LEADING MCHAN RTAGS
+0FDA ; [*03DA.0020.0002] # TIBETAN MARK TRAILING MCHAN RTAGS
+104A ; [*0291.0020.0002] # MYANMAR SIGN LITTLE SECTION
+104B ; [*0292.0020.0002] # MYANMAR SIGN SECTION
+104C ; [*03DE.0020.0002] # MYANMAR SYMBOL LOCATIVE
+104D ; [*03DF.0020.0002] # MYANMAR SYMBOL COMPLETED
+104E ; [*03E0.0020.0002] # MYANMAR SYMBOL AFOREMENTIONED
+104F ; [*03E1.0020.0002] # MYANMAR SYMBOL GENITIVE
+109E ; [*04D7.0020.0002] # MYANMAR SYMBOL SHAN ONE
+109F ; [*04D8.0020.0002] # MYANMAR SYMBOL SHAN EXCLAMATION
+10FB ; [*02B0.0020.0002] # GEORGIAN PARAGRAPH SEPARATOR
+1360 ; [*02B1.0020.0002] # ETHIOPIC SECTION MARK
+1361 ; [*024E.0020.0002] # ETHIOPIC WORDSPACE
+1362 ; [*0277.0020.0002] # ETHIOPIC FULL STOP
+1363 ; [*024F.0020.0002] # ETHIOPIC COMMA
+1364 ; [*0250.0020.0002] # ETHIOPIC SEMICOLON
+1365 ; [*0251.0020.0002] # ETHIOPIC COLON
+1366 ; [*0252.0020.0002] # ETHIOPIC PREFACE COLON
+1367 ; [*0268.0020.0002] # ETHIOPIC QUESTION MARK
+1368 ; [*02B2.0020.0002] # ETHIOPIC PARAGRAPH SEPARATOR
+1372 ; [*14F2.0020.0002] # ETHIOPIC NUMBER TEN
+1373 ; [*14F3.0020.0002] # ETHIOPIC NUMBER TWENTY
+1374 ; [*14F4.0020.0002] # ETHIOPIC NUMBER THIRTY
+1375 ; [*14F5.0020.0002] # ETHIOPIC NUMBER FORTY
+1376 ; [*14F6.0020.0002] # ETHIOPIC NUMBER FIFTY
+1377 ; [*14F7.0020.0002] # ETHIOPIC NUMBER SIXTY
+1378 ; [*14F8.0020.0002] # ETHIOPIC NUMBER SEVENTY
+1379 ; [*14F9.0020.0002] # ETHIOPIC NUMBER EIGHTY
+137A ; [*14FA.0020.0002] # ETHIOPIC NUMBER NINETY
+137B ; [*14FB.0020.0002] # ETHIOPIC NUMBER HUNDRED
+137C ; [*14FC.0020.0002] # ETHIOPIC NUMBER TEN THOUSAND
+1390 ; [*0456.0020.0002] # ETHIOPIC TONAL MARK YIZET
+1391 ; [*0457.0020.0002] # ETHIOPIC TONAL MARK DERET
+1392 ; [*0458.0020.0002] # ETHIOPIC TONAL MARK RIKRIK
+1393 ; [*0459.0020.0002] # ETHIOPIC TONAL MARK SHORT RIKRIK
+1394 ; [*045A.0020.0002] # ETHIOPIC TONAL MARK DIFAT
+1395 ; [*045B.0020.0002] # ETHIOPIC TONAL MARK KENAT
+1396 ; [*045C.0020.0002] # ETHIOPIC TONAL MARK CHIRET
+1397 ; [*045D.0020.0002] # ETHIOPIC TONAL MARK HIDET
+1398 ; [*045E.0020.0002] # ETHIOPIC TONAL MARK DERET-HIDET
+1399 ; [*045F.0020.0002] # ETHIOPIC TONAL MARK KURT
+1400 ; [*020F.0020.0002] # CANADIAN SYLLABICS HYPHEN
+166D ; [*03EE.0020.0002] # CANADIAN SYLLABICS CHI SIGN
+166E ; [*027A.0020.0002] # CANADIAN SYLLABICS FULL STOP
+1680 ; [*0209.0020.0004] # OGHAM SPACE MARK
+169B ; [*0304.0020.0002] # OGHAM FEATHER MARK
+169C ; [*0305.0020.0002] # OGHAM REVERSED FEATHER MARK
+16EB ; [*0259.0020.0002] # RUNIC SINGLE PUNCTUATION
+16EC ; [*025A.0020.0002] # RUNIC MULTIPLE PUNCTUATION
+16ED ; [*025B.0020.0002] # RUNIC CROSS PUNCTUATION
+1735 ; [*028E.0020.0002] # PHILIPPINE SINGLE PUNCTUATION
+1736 ; [*028F.0020.0002] # PHILIPPINE DOUBLE PUNCTUATION
+17B4 ; [.0000.0000.0000] # KHMER VOWEL INHERENT AQ
+17B5 ; [.0000.0000.0000] # KHMER VOWEL INHERENT AA
+17D3 ; [.0000.0000.0000] # KHMER SIGN BATHAMASAT
+17D4 ; [*0293.0020.0002] # KHMER SIGN KHAN
+17D5 ; [*0294.0020.0002] # KHMER SIGN BARIYOOSAN
+17D6 ; [*0256.0020.0002] # KHMER SIGN CAMNUC PII KUUH
+17D8 ; [*03E2.0020.0002] # KHMER SIGN BEYYAL
+17D9 ; [*03E3.0020.0002] # KHMER SIGN PHNAEK MUAN
+17DA ; [*03E4.0020.0002] # KHMER SIGN KOOMUUT
+1800 ; [*03B9.0020.0002] # MONGOLIAN BIRGA
+1801 ; [*0273.0020.0002] # MONGOLIAN ELLIPSIS
+1802 ; [*0229.0020.0002] # MONGOLIAN COMMA
+1803 ; [*0278.0020.0002] # MONGOLIAN FULL STOP
+1804 ; [*0253.0020.0002] # MONGOLIAN COLON
+1805 ; [*0254.0020.0002] # MONGOLIAN FOUR DOTS
+1806 ; [*0211.0020.0002] # MONGOLIAN TODO SOFT HYPHEN
+1807 ; [*0212.0020.0002] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+1808 ; [*022A.0020.0002] # MONGOLIAN MANCHU COMMA
+1809 ; [*0279.0020.0002] # MONGOLIAN MANCHU FULL STOP
+180A ; [.0000.0000.0000] # MONGOLIAN NIRUGU
+1940 ; [*04D6.0020.0002] # LIMBU SIGN LOO
+1944 ; [*0261.0020.0002] # LIMBU EXCLAMATION MARK
+1945 ; [*0269.0020.0002] # LIMBU QUESTION MARK
+19E0 ; [*04DC.0020.0002] # KHMER SYMBOL PATHAMASAT
+19E1 ; [*04DD.0020.0002] # KHMER SYMBOL MUOY KOET
+19E2 ; [*04DE.0020.0002] # KHMER SYMBOL PII KOET
+19E3 ; [*04DF.0020.0002] # KHMER SYMBOL BEI KOET
+19E4 ; [*04E0.0020.0002] # KHMER SYMBOL BUON KOET
+19E5 ; [*04E1.0020.0002] # KHMER SYMBOL PRAM KOET
+19E6 ; [*04E2.0020.0002] # KHMER SYMBOL PRAM-MUOY KOET
+19E7 ; [*04E3.0020.0002] # KHMER SYMBOL PRAM-PII KOET
+19E8 ; [*04E4.0020.0002] # KHMER SYMBOL PRAM-BEI KOET
+19E9 ; [*04E5.0020.0002] # KHMER SYMBOL PRAM-BUON KOET
+19EA ; [*04E6.0020.0002] # KHMER SYMBOL DAP KOET
+19EB ; [*04E7.0020.0002] # KHMER SYMBOL DAP-MUOY KOET
+19EC ; [*04E8.0020.0002] # KHMER SYMBOL DAP-PII KOET
+19ED ; [*04E9.0020.0002] # KHMER SYMBOL DAP-BEI KOET
+19EE ; [*04EA.0020.0002] # KHMER SYMBOL DAP-BUON KOET
+19EF ; [*04EB.0020.0002] # KHMER SYMBOL DAP-PRAM KOET
+19F0 ; [*04EC.0020.0002] # KHMER SYMBOL TUTEYASAT
+19F1 ; [*04ED.0020.0002] # KHMER SYMBOL MUOY ROC
+19F2 ; [*04EE.0020.0002] # KHMER SYMBOL PII ROC
+19F3 ; [*04EF.0020.0002] # KHMER SYMBOL BEI ROC
+19F4 ; [*04F0.0020.0002] # KHMER SYMBOL BUON ROC
+19F5 ; [*04F1.0020.0002] # KHMER SYMBOL PRAM ROC
+19F6 ; [*04F2.0020.0002] # KHMER SYMBOL PRAM-MUOY ROC
+19F7 ; [*04F3.0020.0002] # KHMER SYMBOL PRAM-PII ROC
+19F8 ; [*04F4.0020.0002] # KHMER SYMBOL PRAM-BEI ROC
+19F9 ; [*04F5.0020.0002] # KHMER SYMBOL PRAM-BUON ROC
+19FA ; [*04F6.0020.0002] # KHMER SYMBOL DAP ROC
+19FB ; [*04F7.0020.0002] # KHMER SYMBOL DAP-MUOY ROC
+19FC ; [*04F8.0020.0002] # KHMER SYMBOL DAP-PII ROC
+19FD ; [*04F9.0020.0002] # KHMER SYMBOL DAP-BEI ROC
+19FE ; [*04FA.0020.0002] # KHMER SYMBOL DAP-BUON ROC
+19FF ; [*04FB.0020.0002] # KHMER SYMBOL DAP-PRAM ROC
+1A1E ; [*02B3.0020.0002] # BUGINESE PALLAWA
+1A1F ; [*02B4.0020.0002] # BUGINESE END OF SECTION
+1A7F ; [.0000.0000.0000] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
+1AA0 ; [*03E5.0020.0002] # TAI THAM SIGN WIANG
+1AA1 ; [*03E6.0020.0002] # TAI THAM SIGN WIANGWAAK
+1AA2 ; [*03E7.0020.0002] # TAI THAM SIGN SAWAN
+1AA3 ; [*03E8.0020.0002] # TAI THAM SIGN KEOW
+1AA4 ; [*03E9.0020.0002] # TAI THAM SIGN HOY
+1AA5 ; [*03EA.0020.0002] # TAI THAM SIGN DOKMAI
+1AA6 ; [*03EB.0020.0002] # TAI THAM SIGN REVERSED ROTATED RANA
+1AA8 ; [*0295.0020.0002] # TAI THAM SIGN KAAN
+1AA9 ; [*0296.0020.0002] # TAI THAM SIGN KAANKUU
+1AAA ; [*0297.0020.0002] # TAI THAM SIGN SATKAAN
+1AAB ; [*0298.0020.0002] # TAI THAM SIGN SATKAANKUU
+1AAC ; [*03EC.0020.0002] # TAI THAM SIGN HANG
+1AAD ; [*03ED.0020.0002] # TAI THAM SIGN CAANG
+1B5A ; [*02B5.0020.0002] # BALINESE PANTI
+1B5B ; [*02B6.0020.0002] # BALINESE PAMADA
+1B5C ; [*027B.0020.0002] # BALINESE WINDU
+1B5D ; [*0257.0020.0002] # BALINESE CARIK PAMUNGKAH
+1B5E ; [*0299.0020.0002] # BALINESE CARIK SIKI
+1B5F ; [*029A.0020.0002] # BALINESE CARIK PAREREN
+1B60 ; [*0210.0020.0002] # BALINESE PAMENENG
+1B61 ; [*04FC.0020.0002] # BALINESE MUSICAL SYMBOL DONG
+1B62 ; [*04FD.0020.0002] # BALINESE MUSICAL SYMBOL DENG
+1B63 ; [*04FE.0020.0002] # BALINESE MUSICAL SYMBOL DUNG
+1B64 ; [*04FF.0020.0002] # BALINESE MUSICAL SYMBOL DANG
+1B65 ; [*0500.0020.0002] # BALINESE MUSICAL SYMBOL DANG SURANG
+1B66 ; [*0501.0020.0002] # BALINESE MUSICAL SYMBOL DING
+1B67 ; [*0502.0020.0002] # BALINESE MUSICAL SYMBOL DAENG
+1B68 ; [*0503.0020.0002] # BALINESE MUSICAL SYMBOL DEUNG
+1B69 ; [*0504.0020.0002] # BALINESE MUSICAL SYMBOL DAING
+1B6A ; [*0505.0020.0002] # BALINESE MUSICAL SYMBOL DANG GEDE
+1B6B ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING TEGEH
+1B6C ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING ENDEP
+1B6D ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
+1B6E ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI
+1B6F ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
+1B70 ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
+1B71 ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
+1B72 ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING BENDE
+1B73 ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING GONG
+1B74 ; [*0506.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+1B75 ; [*0507.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+1B76 ; [*0508.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+1B77 ; [*0509.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+1B78 ; [*050A.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+1B79 ; [*050B.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+1B7A ; [*050C.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+1B7B ; [*050D.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+1B7C ; [*050E.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1BFC ; [*03FA.0020.0002] # BATAK SYMBOL BINDU NA METEK
+1BFD ; [*03FB.0020.0002] # BATAK SYMBOL BINDU PINARBORAS
+1BFE ; [*03FC.0020.0002] # BATAK SYMBOL BINDU JUDUL
+1BFF ; [*03FD.0020.0002] # BATAK SYMBOL BINDU PANGOLAT
+1C3B ; [*028A.0020.0002] # LEPCHA PUNCTUATION TA-ROL
+1C3C ; [*028B.0020.0002] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+1C3D ; [*03DB.0020.0002] # LEPCHA PUNCTUATION CER-WA
+1C3E ; [*03DC.0020.0002] # LEPCHA PUNCTUATION TSHOOK CER-WA
+1C3F ; [*03DD.0020.0002] # LEPCHA PUNCTUATION TSHOOK
+1C7E ; [*02AC.0020.0002] # OL CHIKI PUNCTUATION MUCAAD
+1C7F ; [*02AD.0020.0002] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0 ; [*03EF.0020.0002] # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1 ; [*03F0.0020.0002] # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2 ; [*03F1.0020.0002] # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3 ; [*03F2.0020.0002] # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4 ; [*03F3.0020.0002] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5 ; [*03F4.0020.0002] # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6 ; [*03F5.0020.0002] # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7 ; [*03F6.0020.0002] # SUNDANESE PUNCTUATION BINDU BA SATANGA
+1CD0 ; [.0000.0000.0000] # VEDIC TONE KARSHANA
+1CD1 ; [.0000.0000.0000] # VEDIC TONE SHARA
+1CD2 ; [.0000.0000.0000] # VEDIC TONE PRENKHA
+1CD3 ; [.0000.0000.0000] # VEDIC SIGN NIHSHVASA
+1CD4 ; [.0000.0000.0000] # VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
+1CD5 ; [.0000.0000.0000] # VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
+1CD6 ; [.0000.0000.0000] # VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
+1CD7 ; [.0000.0000.0000] # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
+1CD8 ; [.0000.0000.0000] # VEDIC TONE CANDRA BELOW
+1CD9 ; [.0000.0000.0000] # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
+1CDA ; [.0000.0000.0000] # VEDIC TONE DOUBLE SVARITA
+1CDB ; [.0000.0000.0000] # VEDIC TONE TRIPLE SVARITA
+1CDC ; [.0000.0000.0000] # VEDIC TONE KATHAKA ANUDATTA
+1CDD ; [.0000.0000.0000] # VEDIC TONE DOT BELOW
+1CDE ; [.0000.0000.0000] # VEDIC TONE TWO DOTS BELOW
+1CDF ; [.0000.0000.0000] # VEDIC TONE THREE DOTS BELOW
+1CE0 ; [.0000.0000.0000] # VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CE1 ; [.0000.0000.0000] # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+1CE2 ; [.0000.0000.0000] # VEDIC SIGN VISARGA SVARITA
+1CE3 ; [.0000.0000.0000] # VEDIC SIGN VISARGA UDATTA
+1CE4 ; [.0000.0000.0000] # VEDIC SIGN REVERSED VISARGA UDATTA
+1CE5 ; [.0000.0000.0000] # VEDIC SIGN VISARGA ANUDATTA
+1CE6 ; [.0000.0000.0000] # VEDIC SIGN REVERSED VISARGA ANUDATTA
+1CE7 ; [.0000.0000.0000] # VEDIC SIGN VISARGA UDATTA WITH TAIL
+1CE8 ; [.0000.0000.0000] # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+1CF4 ; [.0000.0000.0000] # VEDIC TONE CANDRA ABOVE
+1FBD ; [*041E.0020.0002] # GREEK KORONIS
+1FBF ; [*041E.0020.0002] # GREEK PSILI
+1FC0 ; [*0420.0020.0002] # GREEK PERISPOMENI
+1FC1 ; [*0419.0020.0002][.0000.002A.0002] # GREEK DIALYTIKA AND PERISPOMENI
+1FCD ; [*041E.0020.0002][.0000.0025.0002] # GREEK PSILI AND VARIA
+1FCE ; [*041E.0020.0002][.0000.0024.0002] # GREEK PSILI AND OXIA
+1FCF ; [*041E.0020.0002][.0000.002A.0002] # GREEK PSILI AND PERISPOMENI
+1FDD ; [*041F.0020.0002][.0000.0025.0002] # GREEK DASIA AND VARIA
+1FDE ; [*041F.0020.0002][.0000.0024.0002] # GREEK DASIA AND OXIA
+1FDF ; [*041F.0020.0002][.0000.002A.0002] # GREEK DASIA AND PERISPOMENI
+1FED ; [*0419.0020.0002][.0000.0025.0002] # GREEK DIALYTIKA AND VARIA
+1FEE ; [*0419.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA AND OXIA
+1FEF ; [*0412.0020.0002] # GREEK VARIA
+1FFD ; [*0413.0020.0002] # GREEK OXIA
+1FFE ; [*041F.0020.0002] # GREEK DASIA
+2000 ; [*0209.0020.0004] # EN QUAD
+2001 ; [*0209.0020.0004] # EM QUAD
+2002 ; [*0209.0020.0004] # EN SPACE
+2003 ; [*0209.0020.0004] # EM SPACE
+2004 ; [*0209.0020.0004] # THREE-PER-EM SPACE
+2005 ; [*0209.0020.0004] # FOUR-PER-EM SPACE
+2006 ; [*0209.0020.0004] # SIX-PER-EM SPACE
+2007 ; [*0209.0020.001B] # FIGURE SPACE
+2008 ; [*0209.0020.0004] # PUNCTUATION SPACE
+2009 ; [*0209.0020.0004] # THIN SPACE
+200A ; [*0209.0020.0004] # HAIR SPACE
+2010 ; [*0213.0020.0002] # HYPHEN
+2011 ; [*0213.0020.001B] # NON-BREAKING HYPHEN
+2012 ; [*0214.0020.0002] # FIGURE DASH
+2013 ; [*0215.0020.0002] # EN DASH
+2014 ; [*0216.0020.0002] # EM DASH
+2015 ; [*0217.0020.0002] # HORIZONTAL BAR
+2016 ; [*0366.0020.0002] # DOUBLE VERTICAL LINE
+2017 ; [*020C.0020.0002] # DOUBLE LOW LINE
+2018 ; [*02EA.0020.0002] # LEFT SINGLE QUOTATION MARK
+2019 ; [*02EB.0020.0002] # RIGHT SINGLE QUOTATION MARK
+201A ; [*02EC.0020.0002] # SINGLE LOW-9 QUOTATION MARK
+201B ; [*02ED.0020.0002] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201C ; [*02F1.0020.0002] # LEFT DOUBLE QUOTATION MARK
+201D ; [*02F2.0020.0002] # RIGHT DOUBLE QUOTATION MARK
+201E ; [*02F3.0020.0002] # DOUBLE LOW-9 QUOTATION MARK
+201F ; [*02F4.0020.0002] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020 ; [*0380.0020.0002] # DAGGER
+2021 ; [*0381.0020.0002] # DOUBLE DAGGER
+2022 ; [*0385.0020.0002] # BULLET
+2023 ; [*0386.0020.0002] # TRIANGULAR BULLET
+2024 ; [*0272.0020.0004] # ONE DOT LEADER
+2025 ; [*0272.0020.0004][*0272.0020.0004] # TWO DOT LEADER
+2026 ; [*0272.0020.0004][*0272.0020.0004][*0272.0020.0004] # HORIZONTAL ELLIPSIS
+2027 ; [*0387.0020.0002] # HYPHENATION POINT
+2028 ; [*0207.0020.0002] # LINE SEPARATOR
+2029 ; [*0208.0020.0002] # PARAGRAPH SEPARATOR
+202F ; [*0209.0020.001B] # NARROW NO-BREAK SPACE
+2030 ; [*037C.0020.0002] # PER MILLE SIGN
+2031 ; [*037E.0020.0002] # PER TEN THOUSAND SIGN
+2032 ; [*038B.0020.0002] # PRIME
+2033 ; [*038B.0020.0004][*038B.0020.0004] # DOUBLE PRIME
+2034 ; [*038B.0020.0004][*038B.0020.0004][*038B.0020.0004] # TRIPLE PRIME
+2035 ; [*038C.0020.0002] # REVERSED PRIME
+2036 ; [*038C.0020.0004][*038C.0020.0004] # REVERSED DOUBLE PRIME
+2037 ; [*038C.0020.0004][*038C.0020.0004][*038C.0020.0004] # REVERSED TRIPLE PRIME
+2038 ; [*038F.0020.0002] # CARET
+2039 ; [*02EE.0020.0002] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A ; [*02EF.0020.0002] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B ; [*0390.0020.0002] # REFERENCE MARK
+203C ; [*025D.0020.0004][*025D.0020.0004] # DOUBLE EXCLAMATION MARK
+203D ; [*0270.0020.0002] # INTERROBANG
+203E ; [*020A.0020.0002] # OVERLINE
+203F ; [*0391.0020.0002] # UNDERTIE
+2040 ; [*0393.0020.0002] # CHARACTER TIE
+2041 ; [*0395.0020.0002] # CARET INSERTION POINT
+2042 ; [*0396.0020.0002] # ASTERISM
+2043 ; [*0388.0020.0002] # HYPHEN BULLET
+2044 ; [*05AF.0020.0002] # FRACTION SLASH
+2045 ; [*0306.0020.0002] # LEFT SQUARE BRACKET WITH QUILL
+2046 ; [*0307.0020.0002] # RIGHT SQUARE BRACKET WITH QUILL
+2047 ; [*0262.0020.0004][*0262.0020.0004] # DOUBLE QUESTION MARK
+2048 ; [*0262.0020.0004][*025D.0020.0004] # QUESTION EXCLAMATION MARK
+2049 ; [*025D.0020.0004][*0262.0020.0004] # EXCLAMATION QUESTION MARK
+204A ; [*0378.0020.0002] # TIRONIAN SIGN ET
+204B ; [*036E.0020.0002] # REVERSED PILCROW SIGN
+204C ; [*0389.0020.0002] # BLACK LEFTWARDS BULLET
+204D ; [*038A.0020.0002] # BLACK RIGHTWARDS BULLET
+204E ; [*0371.0020.0002] # LOW ASTERISK
+204F ; [*0233.0020.0002] # REVERSED SEMICOLON
+2050 ; [*0394.0020.0002] # CLOSE UP
+2051 ; [*0372.0020.0002] # TWO ASTERISKS ALIGNED VERTICALLY
+2052 ; [*05AB.0020.0002] # COMMERCIAL MINUS SIGN
+2053 ; [*021A.0020.0002] # SWUNG DASH
+2054 ; [*0392.0020.0002] # INVERTED UNDERTIE
+2055 ; [*02CE.0020.0002] # FLOWER PUNCTUATION MARK
+2056 ; [*02CF.0020.0002] # THREE DOT PUNCTUATION
+2057 ; [*038B.0020.0004][*038B.0020.0004][*038B.0020.0004][*038B.0020.0004] # QUADRUPLE PRIME
+2058 ; [*02D0.0020.0002] # FOUR DOT PUNCTUATION
+2059 ; [*02D1.0020.0002] # FIVE DOT PUNCTUATION
+205A ; [*02D2.0020.0002] # TWO DOT PUNCTUATION
+205B ; [*02D3.0020.0002] # FOUR DOT MARK
+205C ; [*02D4.0020.0002] # DOTTED CROSS
+205D ; [*02D5.0020.0002] # TRICOLON
+205E ; [*02D6.0020.0002] # VERTICAL FOUR DOTS
+205F ; [*0209.0020.0004] # MEDIUM MATHEMATICAL SPACE
+2061 ; [.0000.0000.0000] # FUNCTION APPLICATION
+2062 ; [.0000.0000.0000] # INVISIBLE TIMES
+2063 ; [.0000.0000.0000] # INVISIBLE SEPARATOR
+2064 ; [.0000.0000.0000] # INVISIBLE PLUS
+207A ; [*059F.0020.0014] # SUPERSCRIPT PLUS SIGN
+207B ; [*05AA.0020.0014] # SUPERSCRIPT MINUS
+207C ; [*05A4.0020.0014] # SUPERSCRIPT EQUALS SIGN
+207D ; [*02FA.0020.0014] # SUPERSCRIPT LEFT PARENTHESIS
+207E ; [*02FB.0020.0014] # SUPERSCRIPT RIGHT PARENTHESIS
+208A ; [*059F.0020.0015] # SUBSCRIPT PLUS SIGN
+208B ; [*05AA.0020.0015] # SUBSCRIPT MINUS
+208C ; [*05A4.0020.0015] # SUBSCRIPT EQUALS SIGN
+208D ; [*02FA.0020.0015] # SUBSCRIPT LEFT PARENTHESIS
+208E ; [*02FB.0020.0015] # SUBSCRIPT RIGHT PARENTHESIS
+2104 ; [*0511.0020.0002] # CENTRE LINE SYMBOL
+2108 ; [*0512.0020.0002] # SCRUPLE
+2114 ; [*0513.0020.0002] # L B BAR SYMBOL
+2117 ; [*0514.0020.0002] # SOUND RECORDING COPYRIGHT
+2118 ; [*0515.0020.0002] # SCRIPT CAPITAL P
+211E ; [*0516.0020.0002] # PRESCRIPTION TAKE
+211F ; [*0517.0020.0002] # RESPONSE
+2123 ; [*0518.0020.0002] # VERSICLE
+2125 ; [*0519.0020.0002] # OUNCE SIGN
+2127 ; [*051A.0020.0002] # INVERTED OHM SIGN
+2129 ; [*051B.0020.0002] # TURNED GREEK SMALL LETTER IOTA
+212E ; [*051C.0020.0002] # ESTIMATED SYMBOL
+213A ; [*051D.0020.0002] # ROTATED CAPITAL Q
+2140 ; [*059E.0020.0005] # DOUBLE-STRUCK N-ARY SUMMATION
+2141 ; [*051E.0020.0002] # TURNED SANS-SERIF CAPITAL G
+2142 ; [*051F.0020.0002] # TURNED SANS-SERIF CAPITAL L
+2143 ; [*0520.0020.0002] # REVERSED SANS-SERIF CAPITAL L
+2144 ; [*0521.0020.0002] # TURNED SANS-SERIF CAPITAL Y
+214A ; [*0522.0020.0002] # PROPERTY LINE
+214B ; [*063A.0020.0002] # TURNED AMPERSAND
+214C ; [*0523.0020.0002] # PER SIGN
+214F ; [*0524.0020.0002] # SYMBOL FOR SAMARITAN SOURCE
+2180 ; [*14FD.0020.0002] # ROMAN NUMERAL ONE THOUSAND C D
+2181 ; [*14FE.0020.0002] # ROMAN NUMERAL FIVE THOUSAND
+2182 ; [*14FF.0020.0002] # ROMAN NUMERAL TEN THOUSAND
+2186 ; [*1500.0020.0002] # ROMAN NUMERAL FIFTY EARLY FORM
+2187 ; [*1501.0020.0002] # ROMAN NUMERAL FIFTY THOUSAND
+2188 ; [*1502.0020.0002] # ROMAN NUMERAL ONE HUNDRED THOUSAND
+2190 ; [*0525.0020.0002] # LEFTWARDS ARROW
+2191 ; [*0527.0020.0002] # UPWARDS ARROW
+2192 ; [*0526.0020.0002] # RIGHTWARDS ARROW
+2193 ; [*0528.0020.0002] # DOWNWARDS ARROW
+2194 ; [*0529.0020.0002] # LEFT RIGHT ARROW
+2195 ; [*052A.0020.0002] # UP DOWN ARROW
+2196 ; [*052B.0020.0002] # NORTH WEST ARROW
+2197 ; [*052C.0020.0002] # NORTH EAST ARROW
+2198 ; [*052D.0020.0002] # SOUTH EAST ARROW
+2199 ; [*052E.0020.0002] # SOUTH WEST ARROW
+219A ; [*0525.0020.0002][.0000.002F.0002] # LEFTWARDS ARROW WITH STROKE
+219B ; [*0526.0020.0002][.0000.002F.0002] # RIGHTWARDS ARROW WITH STROKE
+219C ; [*052F.0020.0002] # LEFTWARDS WAVE ARROW
+219D ; [*0530.0020.0002] # RIGHTWARDS WAVE ARROW
+219E ; [*0531.0020.0002] # LEFTWARDS TWO HEADED ARROW
+219F ; [*0532.0020.0002] # UPWARDS TWO HEADED ARROW
+21A0 ; [*0533.0020.0002] # RIGHTWARDS TWO HEADED ARROW
+21A1 ; [*0534.0020.0002] # DOWNWARDS TWO HEADED ARROW
+21A2 ; [*0535.0020.0002] # LEFTWARDS ARROW WITH TAIL
+21A3 ; [*0536.0020.0002] # RIGHTWARDS ARROW WITH TAIL
+21A4 ; [*0537.0020.0002] # LEFTWARDS ARROW FROM BAR
+21A5 ; [*0538.0020.0002] # UPWARDS ARROW FROM BAR
+21A6 ; [*0539.0020.0002] # RIGHTWARDS ARROW FROM BAR
+21A7 ; [*053A.0020.0002] # DOWNWARDS ARROW FROM BAR
+21A8 ; [*053B.0020.0002] # UP DOWN ARROW WITH BASE
+21A9 ; [*053C.0020.0002] # LEFTWARDS ARROW WITH HOOK
+21AA ; [*053D.0020.0002] # RIGHTWARDS ARROW WITH HOOK
+21AB ; [*053E.0020.0002] # LEFTWARDS ARROW WITH LOOP
+21AC ; [*053F.0020.0002] # RIGHTWARDS ARROW WITH LOOP
+21AD ; [*0540.0020.0002] # LEFT RIGHT WAVE ARROW
+21AE ; [*0529.0020.0002][.0000.002F.0002] # LEFT RIGHT ARROW WITH STROKE
+21AF ; [*0541.0020.0002] # DOWNWARDS ZIGZAG ARROW
+21B0 ; [*0542.0020.0002] # UPWARDS ARROW WITH TIP LEFTWARDS
+21B1 ; [*0543.0020.0002] # UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2 ; [*0544.0020.0002] # DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3 ; [*0545.0020.0002] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4 ; [*0546.0020.0002] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21B5 ; [*0547.0020.0002] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21B6 ; [*0548.0020.0002] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7 ; [*0549.0020.0002] # CLOCKWISE TOP SEMICIRCLE ARROW
+21B8 ; [*054A.0020.0002] # NORTH WEST ARROW TO LONG BAR
+21B9 ; [*054B.0020.0002] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21BA ; [*054C.0020.0002] # ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB ; [*054D.0020.0002] # CLOCKWISE OPEN CIRCLE ARROW
+21BC ; [*054E.0020.0002] # LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD ; [*054F.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE ; [*0550.0020.0002] # UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF ; [*0551.0020.0002] # UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0 ; [*0552.0020.0002] # RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1 ; [*0553.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2 ; [*0554.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3 ; [*0555.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4 ; [*0556.0020.0002] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5 ; [*0557.0020.0002] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6 ; [*0558.0020.0002] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7 ; [*0559.0020.0002] # LEFTWARDS PAIRED ARROWS
+21C8 ; [*055A.0020.0002] # UPWARDS PAIRED ARROWS
+21C9 ; [*055B.0020.0002] # RIGHTWARDS PAIRED ARROWS
+21CA ; [*055C.0020.0002] # DOWNWARDS PAIRED ARROWS
+21CB ; [*055D.0020.0002] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC ; [*055E.0020.0002] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD ; [*055F.0020.0002][.0000.002F.0002] # LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE ; [*0563.0020.0002][.0000.002F.0002] # LEFT RIGHT DOUBLE ARROW WITH STROKE
+21CF ; [*0561.0020.0002][.0000.002F.0002] # RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0 ; [*055F.0020.0002] # LEFTWARDS DOUBLE ARROW
+21D1 ; [*0560.0020.0002] # UPWARDS DOUBLE ARROW
+21D2 ; [*0561.0020.0002] # RIGHTWARDS DOUBLE ARROW
+21D3 ; [*0562.0020.0002] # DOWNWARDS DOUBLE ARROW
+21D4 ; [*0563.0020.0002] # LEFT RIGHT DOUBLE ARROW
+21D5 ; [*0564.0020.0002] # UP DOWN DOUBLE ARROW
+21D6 ; [*0565.0020.0002] # NORTH WEST DOUBLE ARROW
+21D7 ; [*0566.0020.0002] # NORTH EAST DOUBLE ARROW
+21D8 ; [*0567.0020.0002] # SOUTH EAST DOUBLE ARROW
+21D9 ; [*0568.0020.0002] # SOUTH WEST DOUBLE ARROW
+21DA ; [*0569.0020.0002] # LEFTWARDS TRIPLE ARROW
+21DB ; [*056A.0020.0002] # RIGHTWARDS TRIPLE ARROW
+21DC ; [*056B.0020.0002] # LEFTWARDS SQUIGGLE ARROW
+21DD ; [*056C.0020.0002] # RIGHTWARDS SQUIGGLE ARROW
+21DE ; [*056D.0020.0002] # UPWARDS ARROW WITH DOUBLE STROKE
+21DF ; [*056E.0020.0002] # DOWNWARDS ARROW WITH DOUBLE STROKE
+21E0 ; [*056F.0020.0002] # LEFTWARDS DASHED ARROW
+21E1 ; [*0570.0020.0002] # UPWARDS DASHED ARROW
+21E2 ; [*0571.0020.0002] # RIGHTWARDS DASHED ARROW
+21E3 ; [*0572.0020.0002] # DOWNWARDS DASHED ARROW
+21E4 ; [*0573.0020.0002] # LEFTWARDS ARROW TO BAR
+21E5 ; [*0574.0020.0002] # RIGHTWARDS ARROW TO BAR
+21E6 ; [*0575.0020.0002] # LEFTWARDS WHITE ARROW
+21E7 ; [*0576.0020.0002] # UPWARDS WHITE ARROW
+21E8 ; [*0577.0020.0002] # RIGHTWARDS WHITE ARROW
+21E9 ; [*0578.0020.0002] # DOWNWARDS WHITE ARROW
+21EA ; [*0579.0020.0002] # UPWARDS WHITE ARROW FROM BAR
+21EB ; [*057A.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL
+21EC ; [*057B.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ED ; [*057C.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21EE ; [*057D.0020.0002] # UPWARDS WHITE DOUBLE ARROW
+21EF ; [*057E.0020.0002] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21F0 ; [*057F.0020.0002] # RIGHTWARDS WHITE ARROW FROM WALL
+21F1 ; [*0580.0020.0002] # NORTH WEST ARROW TO CORNER
+21F2 ; [*0581.0020.0002] # SOUTH EAST ARROW TO CORNER
+21F3 ; [*0582.0020.0002] # UP DOWN WHITE ARROW
+21F4 ; [*0583.0020.0002] # RIGHT ARROW WITH SMALL CIRCLE
+21F5 ; [*0584.0020.0002] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+21F6 ; [*0585.0020.0002] # THREE RIGHTWARDS ARROWS
+21F7 ; [*0586.0020.0002] # LEFTWARDS ARROW WITH VERTICAL STROKE
+21F8 ; [*0587.0020.0002] # RIGHTWARDS ARROW WITH VERTICAL STROKE
+21F9 ; [*0588.0020.0002] # LEFT RIGHT ARROW WITH VERTICAL STROKE
+21FA ; [*0589.0020.0002] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FB ; [*058A.0020.0002] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FC ; [*058B.0020.0002] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+21FD ; [*058C.0020.0002] # LEFTWARDS OPEN-HEADED ARROW
+21FE ; [*058D.0020.0002] # RIGHTWARDS OPEN-HEADED ARROW
+21FF ; [*058E.0020.0002] # LEFT RIGHT OPEN-HEADED ARROW
+2200 ; [*058F.0020.0002] # FOR ALL
+2201 ; [*0590.0020.0002] # COMPLEMENT
+2202 ; [*0591.0020.0002] # PARTIAL DIFFERENTIAL
+2203 ; [*0592.0020.0002] # THERE EXISTS
+2204 ; [*0592.0020.0002][.0000.002F.0002] # THERE DOES NOT EXIST
+2205 ; [*0593.0020.0002] # EMPTY SET
+2206 ; [*0594.0020.0002] # INCREMENT
+2207 ; [*0595.0020.0002] # NABLA
+2208 ; [*0596.0020.0002] # ELEMENT OF
+2209 ; [*0596.0020.0002][.0000.002F.0002] # NOT AN ELEMENT OF
+220A ; [*0597.0020.0002] # SMALL ELEMENT OF
+220B ; [*0598.0020.0002] # CONTAINS AS MEMBER
+220C ; [*0598.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS MEMBER
+220D ; [*0599.0020.0002] # SMALL CONTAINS AS MEMBER
+220E ; [*059B.0020.0002] # END OF PROOF
+220F ; [*059C.0020.0002] # N-ARY PRODUCT
+2210 ; [*059D.0020.0002] # N-ARY COPRODUCT
+2211 ; [*059E.0020.0002] # N-ARY SUMMATION
+2212 ; [*05AA.0020.0002] # MINUS SIGN
+2213 ; [*05AC.0020.0002] # MINUS-OR-PLUS SIGN
+2214 ; [*05AD.0020.0002] # DOT PLUS
+2215 ; [*05AE.0020.0002] # DIVISION SLASH
+2216 ; [*05B0.0020.0002] # SET MINUS
+2217 ; [*05B1.0020.0002] # ASTERISK OPERATOR
+2218 ; [*05B2.0020.0002] # RING OPERATOR
+2219 ; [*05B3.0020.0002] # BULLET OPERATOR
+221A ; [*05B4.0020.0002] # SQUARE ROOT
+221B ; [*05B5.0020.0002] # CUBE ROOT
+221C ; [*05B7.0020.0002] # FOURTH ROOT
+221D ; [*05B9.0020.0002] # PROPORTIONAL TO
+221E ; [*05BA.0020.0002] # INFINITY
+221F ; [*05BB.0020.0002] # RIGHT ANGLE
+2220 ; [*05BC.0020.0002] # ANGLE
+2221 ; [*05BD.0020.0002] # MEASURED ANGLE
+2222 ; [*05BE.0020.0002] # SPHERICAL ANGLE
+2223 ; [*05BF.0020.0002] # DIVIDES
+2224 ; [*05BF.0020.0002][.0000.002F.0002] # DOES NOT DIVIDE
+2225 ; [*05C0.0020.0002] # PARALLEL TO
+2226 ; [*05C0.0020.0002][.0000.002F.0002] # NOT PARALLEL TO
+2227 ; [*05C1.0020.0002] # LOGICAL AND
+2228 ; [*05C2.0020.0002] # LOGICAL OR
+2229 ; [*05C3.0020.0002] # INTERSECTION
+222A ; [*05C4.0020.0002] # UNION
+222B ; [*05C5.0020.0002] # INTEGRAL
+222C ; [*05C5.0020.0004][*05C5.0020.0004] # DOUBLE INTEGRAL
+222D ; [*05C5.0020.0004][*05C5.0020.0004][*05C5.0020.0004] # TRIPLE INTEGRAL
+222E ; [*05C6.0020.0002] # CONTOUR INTEGRAL
+222F ; [*05C6.0020.0004][*05C6.0020.0004] # SURFACE INTEGRAL
+2230 ; [*05C6.0020.0004][*05C6.0020.0004][*05C6.0020.0004] # VOLUME INTEGRAL
+2231 ; [*05C7.0020.0002] # CLOCKWISE INTEGRAL
+2232 ; [*05C8.0020.0002] # CLOCKWISE CONTOUR INTEGRAL
+2233 ; [*05C9.0020.0002] # ANTICLOCKWISE CONTOUR INTEGRAL
+2234 ; [*05CA.0020.0002] # THEREFORE
+2235 ; [*05CB.0020.0002] # BECAUSE
+2236 ; [*05CC.0020.0002] # RATIO
+2237 ; [*05CD.0020.0002] # PROPORTION
+2238 ; [*05CE.0020.0002] # DOT MINUS
+2239 ; [*05CF.0020.0002] # EXCESS
+223A ; [*05D0.0020.0002] # GEOMETRIC PROPORTION
+223B ; [*05D1.0020.0002] # HOMOTHETIC
+223C ; [*05D2.0020.0002] # TILDE OPERATOR
+223D ; [*05D3.0020.0002] # REVERSED TILDE
+223E ; [*05D4.0020.0002] # INVERTED LAZY S
+223F ; [*05D5.0020.0002] # SINE WAVE
+2240 ; [*05D6.0020.0002] # WREATH PRODUCT
+2241 ; [*05D2.0020.0002][.0000.002F.0002] # NOT TILDE
+2242 ; [*05D7.0020.0002] # MINUS TILDE
+2243 ; [*05D8.0020.0002] # ASYMPTOTICALLY EQUAL TO
+2244 ; [*05D8.0020.0002][.0000.002F.0002] # NOT ASYMPTOTICALLY EQUAL TO
+2245 ; [*05D9.0020.0002] # APPROXIMATELY EQUAL TO
+2246 ; [*05DA.0020.0002] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247 ; [*05D9.0020.0002][.0000.002F.0002] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+2248 ; [*05DB.0020.0002] # ALMOST EQUAL TO
+2249 ; [*05DB.0020.0002][.0000.002F.0002] # NOT ALMOST EQUAL TO
+224A ; [*05DC.0020.0002] # ALMOST EQUAL OR EQUAL TO
+224B ; [*05DD.0020.0002] # TRIPLE TILDE
+224C ; [*05DE.0020.0002] # ALL EQUAL TO
+224D ; [*05DF.0020.0002] # EQUIVALENT TO
+224E ; [*05E0.0020.0002] # GEOMETRICALLY EQUIVALENT TO
+224F ; [*05E1.0020.0002] # DIFFERENCE BETWEEN
+2250 ; [*05E2.0020.0002] # APPROACHES THE LIMIT
+2251 ; [*05E3.0020.0002] # GEOMETRICALLY EQUAL TO
+2252 ; [*05E4.0020.0002] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253 ; [*05E5.0020.0002] # IMAGE OF OR APPROXIMATELY EQUAL TO
+2254 ; [*05E6.0020.0002] # COLON EQUALS
+2255 ; [*05E7.0020.0002] # EQUALS COLON
+2256 ; [*05E8.0020.0002] # RING IN EQUAL TO
+2257 ; [*05E9.0020.0002] # RING EQUAL TO
+2258 ; [*05EA.0020.0002] # CORRESPONDS TO
+2259 ; [*05EB.0020.0002] # ESTIMATES
+225A ; [*05EC.0020.0002] # EQUIANGULAR TO
+225B ; [*05ED.0020.0002] # STAR EQUALS
+225C ; [*05EE.0020.0002] # DELTA EQUAL TO
+225D ; [*05EF.0020.0002] # EQUAL TO BY DEFINITION
+225E ; [*05F0.0020.0002] # MEASURED BY
+225F ; [*05F1.0020.0002] # QUESTIONED EQUAL TO
+2260 ; [*05A4.0020.0002][.0000.002F.0002] # NOT EQUAL TO
+2261 ; [*05F2.0020.0002] # IDENTICAL TO
+2262 ; [*05F2.0020.0002][.0000.002F.0002] # NOT IDENTICAL TO
+2263 ; [*05F3.0020.0002] # STRICTLY EQUIVALENT TO
+2264 ; [*05F4.0020.0002] # LESS-THAN OR EQUAL TO
+2265 ; [*05F5.0020.0002] # GREATER-THAN OR EQUAL TO
+2266 ; [*05F6.0020.0002] # LESS-THAN OVER EQUAL TO
+2267 ; [*05F7.0020.0002] # GREATER-THAN OVER EQUAL TO
+2268 ; [*05F8.0020.0002] # LESS-THAN BUT NOT EQUAL TO
+2269 ; [*05F9.0020.0002] # GREATER-THAN BUT NOT EQUAL TO
+226A ; [*05FA.0020.0002] # MUCH LESS-THAN
+226B ; [*05FB.0020.0002] # MUCH GREATER-THAN
+226C ; [*05FC.0020.0002] # BETWEEN
+226D ; [*05DF.0020.0002][.0000.002F.0002] # NOT EQUIVALENT TO
+226E ; [*05A3.0020.0002][.0000.002F.0002] # NOT LESS-THAN
+226F ; [*05A5.0020.0002][.0000.002F.0002] # NOT GREATER-THAN
+2270 ; [*05F4.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUAL TO
+2271 ; [*05F5.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUAL TO
+2272 ; [*05FD.0020.0002] # LESS-THAN OR EQUIVALENT TO
+2273 ; [*05FE.0020.0002] # GREATER-THAN OR EQUIVALENT TO
+2274 ; [*05FD.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUIVALENT TO
+2275 ; [*05FE.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUIVALENT TO
+2276 ; [*05FF.0020.0002] # LESS-THAN OR GREATER-THAN
+2277 ; [*0600.0020.0002] # GREATER-THAN OR LESS-THAN
+2278 ; [*05FF.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR GREATER-THAN
+2279 ; [*0600.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR LESS-THAN
+227A ; [*0601.0020.0002] # PRECEDES
+227B ; [*0602.0020.0002] # SUCCEEDS
+227C ; [*0603.0020.0002] # PRECEDES OR EQUAL TO
+227D ; [*0604.0020.0002] # SUCCEEDS OR EQUAL TO
+227E ; [*0605.0020.0002] # PRECEDES OR EQUIVALENT TO
+227F ; [*0606.0020.0002] # SUCCEEDS OR EQUIVALENT TO
+2280 ; [*0601.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE
+2281 ; [*0602.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED
+2282 ; [*0607.0020.0002] # SUBSET OF
+2283 ; [*0608.0020.0002] # SUPERSET OF
+2284 ; [*0607.0020.0002][.0000.002F.0002] # NOT A SUBSET OF
+2285 ; [*0608.0020.0002][.0000.002F.0002] # NOT A SUPERSET OF
+2286 ; [*0609.0020.0002] # SUBSET OF OR EQUAL TO
+2287 ; [*060A.0020.0002] # SUPERSET OF OR EQUAL TO
+2288 ; [*0609.0020.0002][.0000.002F.0002] # NEITHER A SUBSET OF NOR EQUAL TO
+2289 ; [*060A.0020.0002][.0000.002F.0002] # NEITHER A SUPERSET OF NOR EQUAL TO
+228A ; [*060B.0020.0002] # SUBSET OF WITH NOT EQUAL TO
+228B ; [*060C.0020.0002] # SUPERSET OF WITH NOT EQUAL TO
+228C ; [*060D.0020.0002] # MULTISET
+228D ; [*060E.0020.0002] # MULTISET MULTIPLICATION
+228E ; [*060F.0020.0002] # MULTISET UNION
+228F ; [*0610.0020.0002] # SQUARE IMAGE OF
+2290 ; [*0611.0020.0002] # SQUARE ORIGINAL OF
+2291 ; [*0612.0020.0002] # SQUARE IMAGE OF OR EQUAL TO
+2292 ; [*0613.0020.0002] # SQUARE ORIGINAL OF OR EQUAL TO
+2293 ; [*0614.0020.0002] # SQUARE CAP
+2294 ; [*0615.0020.0002] # SQUARE CUP
+2295 ; [*0616.0020.0002] # CIRCLED PLUS
+2296 ; [*0617.0020.0002] # CIRCLED MINUS
+2297 ; [*0618.0020.0002] # CIRCLED TIMES
+2298 ; [*0619.0020.0002] # CIRCLED DIVISION SLASH
+2299 ; [*061A.0020.0002] # CIRCLED DOT OPERATOR
+229A ; [*061B.0020.0002] # CIRCLED RING OPERATOR
+229B ; [*061C.0020.0002] # CIRCLED ASTERISK OPERATOR
+229C ; [*061D.0020.0002] # CIRCLED EQUALS
+229D ; [*061E.0020.0002] # CIRCLED DASH
+229E ; [*061F.0020.0002] # SQUARED PLUS
+229F ; [*0620.0020.0002] # SQUARED MINUS
+22A0 ; [*0621.0020.0002] # SQUARED TIMES
+22A1 ; [*0622.0020.0002] # SQUARED DOT OPERATOR
+22A2 ; [*0623.0020.0002] # RIGHT TACK
+22A3 ; [*0624.0020.0002] # LEFT TACK
+22A4 ; [*0625.0020.0002] # DOWN TACK
+22A5 ; [*0626.0020.0002] # UP TACK
+22A6 ; [*0627.0020.0002] # ASSERTION
+22A7 ; [*0628.0020.0002] # MODELS
+22A8 ; [*0629.0020.0002] # TRUE
+22A9 ; [*062A.0020.0002] # FORCES
+22AA ; [*062B.0020.0002] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB ; [*062C.0020.0002] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC ; [*0623.0020.0002][.0000.002F.0002] # DOES NOT PROVE
+22AD ; [*0629.0020.0002][.0000.002F.0002] # NOT TRUE
+22AE ; [*062A.0020.0002][.0000.002F.0002] # DOES NOT FORCE
+22AF ; [*062C.0020.0002][.0000.002F.0002] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22B0 ; [*062D.0020.0002] # PRECEDES UNDER RELATION
+22B1 ; [*062E.0020.0002] # SUCCEEDS UNDER RELATION
+22B2 ; [*062F.0020.0002] # NORMAL SUBGROUP OF
+22B3 ; [*0630.0020.0002] # CONTAINS AS NORMAL SUBGROUP
+22B4 ; [*0631.0020.0002] # NORMAL SUBGROUP OF OR EQUAL TO
+22B5 ; [*0632.0020.0002] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6 ; [*0633.0020.0002] # ORIGINAL OF
+22B7 ; [*0634.0020.0002] # IMAGE OF
+22B8 ; [*0635.0020.0002] # MULTIMAP
+22B9 ; [*0636.0020.0002] # HERMITIAN CONJUGATE MATRIX
+22BA ; [*0637.0020.0002] # INTERCALATE
+22BB ; [*0638.0020.0002] # XOR
+22BC ; [*0639.0020.0002] # NAND
+22BD ; [*063B.0020.0002] # NOR
+22BE ; [*063C.0020.0002] # RIGHT ANGLE WITH ARC
+22BF ; [*063D.0020.0002] # RIGHT TRIANGLE
+22C0 ; [*063E.0020.0002] # N-ARY LOGICAL AND
+22C1 ; [*063F.0020.0002] # N-ARY LOGICAL OR
+22C2 ; [*0640.0020.0002] # N-ARY INTERSECTION
+22C3 ; [*0641.0020.0002] # N-ARY UNION
+22C4 ; [*0642.0020.0002] # DIAMOND OPERATOR
+22C5 ; [*0643.0020.0002] # DOT OPERATOR
+22C6 ; [*0644.0020.0002] # STAR OPERATOR
+22C7 ; [*0645.0020.0002] # DIVISION TIMES
+22C8 ; [*0646.0020.0002] # BOWTIE
+22C9 ; [*0647.0020.0002] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA ; [*0648.0020.0002] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB ; [*0649.0020.0002] # LEFT SEMIDIRECT PRODUCT
+22CC ; [*064A.0020.0002] # RIGHT SEMIDIRECT PRODUCT
+22CD ; [*064B.0020.0002] # REVERSED TILDE EQUALS
+22CE ; [*064C.0020.0002] # CURLY LOGICAL OR
+22CF ; [*064D.0020.0002] # CURLY LOGICAL AND
+22D0 ; [*064E.0020.0002] # DOUBLE SUBSET
+22D1 ; [*064F.0020.0002] # DOUBLE SUPERSET
+22D2 ; [*0650.0020.0002] # DOUBLE INTERSECTION
+22D3 ; [*0651.0020.0002] # DOUBLE UNION
+22D4 ; [*0652.0020.0002] # PITCHFORK
+22D5 ; [*0653.0020.0002] # EQUAL AND PARALLEL TO
+22D6 ; [*0654.0020.0002] # LESS-THAN WITH DOT
+22D7 ; [*0655.0020.0002] # GREATER-THAN WITH DOT
+22D8 ; [*0656.0020.0002] # VERY MUCH LESS-THAN
+22D9 ; [*0657.0020.0002] # VERY MUCH GREATER-THAN
+22DA ; [*0658.0020.0002] # LESS-THAN EQUAL TO OR GREATER-THAN
+22DB ; [*0659.0020.0002] # GREATER-THAN EQUAL TO OR LESS-THAN
+22DC ; [*065A.0020.0002] # EQUAL TO OR LESS-THAN
+22DD ; [*065B.0020.0002] # EQUAL TO OR GREATER-THAN
+22DE ; [*065C.0020.0002] # EQUAL TO OR PRECEDES
+22DF ; [*065D.0020.0002] # EQUAL TO OR SUCCEEDS
+22E0 ; [*0603.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE OR EQUAL
+22E1 ; [*0604.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED OR EQUAL
+22E2 ; [*0612.0020.0002][.0000.002F.0002] # NOT SQUARE IMAGE OF OR EQUAL TO
+22E3 ; [*0613.0020.0002][.0000.002F.0002] # NOT SQUARE ORIGINAL OF OR EQUAL TO
+22E4 ; [*065E.0020.0002] # SQUARE IMAGE OF OR NOT EQUAL TO
+22E5 ; [*065F.0020.0002] # SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6 ; [*0660.0020.0002] # LESS-THAN BUT NOT EQUIVALENT TO
+22E7 ; [*0661.0020.0002] # GREATER-THAN BUT NOT EQUIVALENT TO
+22E8 ; [*0662.0020.0002] # PRECEDES BUT NOT EQUIVALENT TO
+22E9 ; [*0663.0020.0002] # SUCCEEDS BUT NOT EQUIVALENT TO
+22EA ; [*062F.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF
+22EB ; [*0630.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP
+22EC ; [*0631.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF OR EQUAL TO
+22ED ; [*0632.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+22EE ; [*0664.0020.0002] # VERTICAL ELLIPSIS
+22EF ; [*0665.0020.0002] # MIDLINE HORIZONTAL ELLIPSIS
+22F0 ; [*0666.0020.0002] # UP RIGHT DIAGONAL ELLIPSIS
+22F1 ; [*0667.0020.0002] # DOWN RIGHT DIAGONAL ELLIPSIS
+22F2 ; [*0668.0020.0002] # ELEMENT OF WITH LONG HORIZONTAL STROKE
+22F3 ; [*0669.0020.0002] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F4 ; [*066A.0020.0002] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F5 ; [*066B.0020.0002] # ELEMENT OF WITH DOT ABOVE
+22F6 ; [*066C.0020.0002] # ELEMENT OF WITH OVERBAR
+22F7 ; [*066D.0020.0002] # SMALL ELEMENT OF WITH OVERBAR
+22F8 ; [*066E.0020.0002] # ELEMENT OF WITH UNDERBAR
+22F9 ; [*066F.0020.0002] # ELEMENT OF WITH TWO HORIZONTAL STROKES
+22FA ; [*0670.0020.0002] # CONTAINS WITH LONG HORIZONTAL STROKE
+22FB ; [*0671.0020.0002] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FC ; [*0672.0020.0002] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FD ; [*0673.0020.0002] # CONTAINS WITH OVERBAR
+22FE ; [*0674.0020.0002] # SMALL CONTAINS WITH OVERBAR
+22FF ; [*0675.0020.0002] # Z NOTATION BAG MEMBERSHIP
+2300 ; [*0676.0020.0002] # DIAMETER SIGN
+2301 ; [*0677.0020.0002] # ELECTRIC ARROW
+2302 ; [*0678.0020.0002] # HOUSE
+2303 ; [*0679.0020.0002] # UP ARROWHEAD
+2304 ; [*067A.0020.0002] # DOWN ARROWHEAD
+2305 ; [*067B.0020.0002] # PROJECTIVE
+2306 ; [*067C.0020.0002] # PERSPECTIVE
+2307 ; [*067D.0020.0002] # WAVY LINE
+2308 ; [*0308.0020.0002] # LEFT CEILING
+2309 ; [*0309.0020.0002] # RIGHT CEILING
+230A ; [*030A.0020.0002] # LEFT FLOOR
+230B ; [*030B.0020.0002] # RIGHT FLOOR
+230C ; [*067E.0020.0002] # BOTTOM RIGHT CROP
+230D ; [*067F.0020.0002] # BOTTOM LEFT CROP
+230E ; [*0680.0020.0002] # TOP RIGHT CROP
+230F ; [*0681.0020.0002] # TOP LEFT CROP
+2310 ; [*0682.0020.0002] # REVERSED NOT SIGN
+2311 ; [*0683.0020.0002] # SQUARE LOZENGE
+2312 ; [*0684.0020.0002] # ARC
+2313 ; [*0685.0020.0002] # SEGMENT
+2314 ; [*0686.0020.0002] # SECTOR
+2315 ; [*0687.0020.0002] # TELEPHONE RECORDER
+2316 ; [*0688.0020.0002] # POSITION INDICATOR
+2317 ; [*0689.0020.0002] # VIEWDATA SQUARE
+2318 ; [*068A.0020.0002] # PLACE OF INTEREST SIGN
+2319 ; [*068B.0020.0002] # TURNED NOT SIGN
+231A ; [*068C.0020.0002] # WATCH
+231B ; [*068D.0020.0002] # HOURGLASS
+231C ; [*068E.0020.0002] # TOP LEFT CORNER
+231D ; [*068F.0020.0002] # TOP RIGHT CORNER
+231E ; [*0690.0020.0002] # BOTTOM LEFT CORNER
+231F ; [*0691.0020.0002] # BOTTOM RIGHT CORNER
+2320 ; [*0692.0020.0002] # TOP HALF INTEGRAL
+2321 ; [*0693.0020.0002] # BOTTOM HALF INTEGRAL
+2322 ; [*0694.0020.0002] # FROWN
+2323 ; [*0695.0020.0002] # SMILE
+2324 ; [*0696.0020.0002] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325 ; [*0697.0020.0002] # OPTION KEY
+2326 ; [*0698.0020.0002] # ERASE TO THE RIGHT
+2327 ; [*0699.0020.0002] # X IN A RECTANGLE BOX
+2328 ; [*069A.0020.0002] # KEYBOARD
+2329 ; [*0352.0020.0002] # LEFT-POINTING ANGLE BRACKET
+232A ; [*0353.0020.0002] # RIGHT-POINTING ANGLE BRACKET
+232B ; [*069B.0020.0002] # ERASE TO THE LEFT
+232C ; [*069C.0020.0002] # BENZENE RING
+232D ; [*069D.0020.0002] # CYLINDRICITY
+232E ; [*069E.0020.0002] # ALL AROUND-PROFILE
+232F ; [*069F.0020.0002] # SYMMETRY
+2330 ; [*06A0.0020.0002] # TOTAL RUNOUT
+2331 ; [*06A1.0020.0002] # DIMENSION ORIGIN
+2332 ; [*06A2.0020.0002] # CONICAL TAPER
+2333 ; [*06A3.0020.0002] # SLOPE
+2334 ; [*06A4.0020.0002] # COUNTERBORE
+2335 ; [*06A5.0020.0002] # COUNTERSINK
+2336 ; [*06A6.0020.0002] # APL FUNCTIONAL SYMBOL I-BEAM
+2337 ; [*06A7.0020.0002] # APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338 ; [*06A8.0020.0002] # APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339 ; [*06A9.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A ; [*06AA.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B ; [*06AB.0020.0002] # APL FUNCTIONAL SYMBOL QUAD JOT
+233C ; [*06AC.0020.0002] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D ; [*06AD.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E ; [*06AE.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F ; [*06AF.0020.0002] # APL FUNCTIONAL SYMBOL SLASH BAR
+2340 ; [*06B0.0020.0002] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341 ; [*06B1.0020.0002] # APL FUNCTIONAL SYMBOL QUAD SLASH
+2342 ; [*06B2.0020.0002] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343 ; [*06B3.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344 ; [*06B4.0020.0002] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345 ; [*06B5.0020.0002] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346 ; [*06B6.0020.0002] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347 ; [*06B7.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348 ; [*06B8.0020.0002] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349 ; [*06B9.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A ; [*06BA.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B ; [*06BB.0020.0002] # APL FUNCTIONAL SYMBOL DELTA STILE
+234C ; [*06BC.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D ; [*06BD.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DELTA
+234E ; [*06BE.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F ; [*06BF.0020.0002] # APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350 ; [*06C0.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351 ; [*06C1.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352 ; [*06C2.0020.0002] # APL FUNCTIONAL SYMBOL DEL STILE
+2353 ; [*06C3.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354 ; [*06C4.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DEL
+2355 ; [*06C5.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK JOT
+2356 ; [*06C6.0020.0002] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357 ; [*06C7.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358 ; [*06C8.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359 ; [*06C9.0020.0002] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A ; [*06CA.0020.0002] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B ; [*06CB.0020.0002] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C ; [*06CC.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D ; [*06CD.0020.0002] # APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E ; [*06CE.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F ; [*06CF.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360 ; [*06D0.0020.0002] # APL FUNCTIONAL SYMBOL QUAD COLON
+2361 ; [*06D1.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362 ; [*06D2.0020.0002] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363 ; [*06D3.0020.0002] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364 ; [*06D4.0020.0002] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365 ; [*06D5.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366 ; [*06D6.0020.0002] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367 ; [*06D7.0020.0002] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368 ; [*06D8.0020.0002] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369 ; [*06D9.0020.0002] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A ; [*06DA.0020.0002] # APL FUNCTIONAL SYMBOL COMMA BAR
+236B ; [*06DB.0020.0002] # APL FUNCTIONAL SYMBOL DEL TILDE
+236C ; [*06DC.0020.0002] # APL FUNCTIONAL SYMBOL ZILDE
+236D ; [*06DD.0020.0002] # APL FUNCTIONAL SYMBOL STILE TILDE
+236E ; [*06DE.0020.0002] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F ; [*06DF.0020.0002] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370 ; [*06E0.0020.0002] # APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371 ; [*06E1.0020.0002] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372 ; [*06E2.0020.0002] # APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373 ; [*06E3.0020.0002] # APL FUNCTIONAL SYMBOL IOTA
+2374 ; [*06E4.0020.0002] # APL FUNCTIONAL SYMBOL RHO
+2375 ; [*06E5.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA
+2376 ; [*06E6.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377 ; [*06E7.0020.0002] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378 ; [*06E8.0020.0002] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379 ; [*06E9.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A ; [*06EA.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA
+237B ; [*06EB.0020.0002] # NOT CHECK MARK
+237C ; [*06EC.0020.0002] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D ; [*06ED.0020.0002] # SHOULDERED OPEN BOX
+237E ; [*06EE.0020.0002] # BELL SYMBOL
+237F ; [*06EF.0020.0002] # VERTICAL LINE WITH MIDDLE DOT
+2380 ; [*06F0.0020.0002] # INSERTION SYMBOL
+2381 ; [*06F1.0020.0002] # CONTINUOUS UNDERLINE SYMBOL
+2382 ; [*06F2.0020.0002] # DISCONTINUOUS UNDERLINE SYMBOL
+2383 ; [*06F3.0020.0002] # EMPHASIS SYMBOL
+2384 ; [*06F4.0020.0002] # COMPOSITION SYMBOL
+2385 ; [*06F5.0020.0002] # WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386 ; [*06F6.0020.0002] # ENTER SYMBOL
+2387 ; [*06F7.0020.0002] # ALTERNATIVE KEY SYMBOL
+2388 ; [*06F8.0020.0002] # HELM SYMBOL
+2389 ; [*06F9.0020.0002] # CIRCLED HORIZONTAL BAR WITH NOTCH
+238A ; [*06FA.0020.0002] # CIRCLED TRIANGLE DOWN
+238B ; [*06FB.0020.0002] # BROKEN CIRCLE WITH NORTHWEST ARROW
+238C ; [*06FC.0020.0002] # UNDO SYMBOL
+238D ; [*06FD.0020.0002] # MONOSTABLE SYMBOL
+238E ; [*06FE.0020.0002] # HYSTERESIS SYMBOL
+238F ; [*06FF.0020.0002] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390 ; [*0700.0020.0002] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391 ; [*0701.0020.0002] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392 ; [*0702.0020.0002] # PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393 ; [*0703.0020.0002] # DIRECT CURRENT SYMBOL FORM TWO
+2394 ; [*0704.0020.0002] # SOFTWARE-FUNCTION SYMBOL
+2395 ; [*0705.0020.0002] # APL FUNCTIONAL SYMBOL QUAD
+2396 ; [*0706.0020.0002] # DECIMAL SEPARATOR KEY SYMBOL
+2397 ; [*0707.0020.0002] # PREVIOUS PAGE
+2398 ; [*0708.0020.0002] # NEXT PAGE
+2399 ; [*0709.0020.0002] # PRINT SCREEN SYMBOL
+239A ; [*070A.0020.0002] # CLEAR SCREEN SYMBOL
+239B ; [*070B.0020.0002] # LEFT PARENTHESIS UPPER HOOK
+239C ; [*070C.0020.0002] # LEFT PARENTHESIS EXTENSION
+239D ; [*070D.0020.0002] # LEFT PARENTHESIS LOWER HOOK
+239E ; [*070E.0020.0002] # RIGHT PARENTHESIS UPPER HOOK
+239F ; [*070F.0020.0002] # RIGHT PARENTHESIS EXTENSION
+23A0 ; [*0710.0020.0002] # RIGHT PARENTHESIS LOWER HOOK
+23A1 ; [*0711.0020.0002] # LEFT SQUARE BRACKET UPPER CORNER
+23A2 ; [*0712.0020.0002] # LEFT SQUARE BRACKET EXTENSION
+23A3 ; [*0713.0020.0002] # LEFT SQUARE BRACKET LOWER CORNER
+23A4 ; [*0714.0020.0002] # RIGHT SQUARE BRACKET UPPER CORNER
+23A5 ; [*0715.0020.0002] # RIGHT SQUARE BRACKET EXTENSION
+23A6 ; [*0716.0020.0002] # RIGHT SQUARE BRACKET LOWER CORNER
+23A7 ; [*0717.0020.0002] # LEFT CURLY BRACKET UPPER HOOK
+23A8 ; [*0718.0020.0002] # LEFT CURLY BRACKET MIDDLE PIECE
+23A9 ; [*0719.0020.0002] # LEFT CURLY BRACKET LOWER HOOK
+23AA ; [*071A.0020.0002] # CURLY BRACKET EXTENSION
+23AB ; [*071B.0020.0002] # RIGHT CURLY BRACKET UPPER HOOK
+23AC ; [*071C.0020.0002] # RIGHT CURLY BRACKET MIDDLE PIECE
+23AD ; [*071D.0020.0002] # RIGHT CURLY BRACKET LOWER HOOK
+23AE ; [*071E.0020.0002] # INTEGRAL EXTENSION
+23AF ; [*071F.0020.0002] # HORIZONTAL LINE EXTENSION
+23B0 ; [*0720.0020.0002] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+23B1 ; [*0721.0020.0002] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+23B2 ; [*0722.0020.0002] # SUMMATION TOP
+23B3 ; [*0723.0020.0002] # SUMMATION BOTTOM
+23B4 ; [*0724.0020.0002] # TOP SQUARE BRACKET
+23B5 ; [*0725.0020.0002] # BOTTOM SQUARE BRACKET
+23B6 ; [*0726.0020.0002] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+23B7 ; [*0727.0020.0002] # RADICAL SYMBOL BOTTOM
+23B8 ; [*0728.0020.0002] # LEFT VERTICAL BOX LINE
+23B9 ; [*0729.0020.0002] # RIGHT VERTICAL BOX LINE
+23BA ; [*072A.0020.0002] # HORIZONTAL SCAN LINE-1
+23BB ; [*072B.0020.0002] # HORIZONTAL SCAN LINE-3
+23BC ; [*072C.0020.0002] # HORIZONTAL SCAN LINE-7
+23BD ; [*072D.0020.0002] # HORIZONTAL SCAN LINE-9
+23BE ; [*072E.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+23BF ; [*072F.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+23C0 ; [*0730.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+23C1 ; [*0731.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+23C2 ; [*0732.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+23C3 ; [*0733.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+23C4 ; [*0734.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+23C5 ; [*0735.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+23C6 ; [*0736.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+23C7 ; [*0737.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+23C8 ; [*0738.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+23C9 ; [*0739.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+23CA ; [*073A.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+23CB ; [*073B.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+23CC ; [*073C.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+23CD ; [*073D.0020.0002] # SQUARE FOOT
+23CE ; [*073E.0020.0002] # RETURN SYMBOL
+23CF ; [*073F.0020.0002] # EJECT SYMBOL
+23D0 ; [*0740.0020.0002] # VERTICAL LINE EXTENSION
+23D1 ; [*0741.0020.0002] # METRICAL BREVE
+23D2 ; [*0742.0020.0002] # METRICAL LONG OVER SHORT
+23D3 ; [*0743.0020.0002] # METRICAL SHORT OVER LONG
+23D4 ; [*0744.0020.0002] # METRICAL LONG OVER TWO SHORTS
+23D5 ; [*0745.0020.0002] # METRICAL TWO SHORTS OVER LONG
+23D6 ; [*0746.0020.0002] # METRICAL TWO SHORTS JOINED
+23D7 ; [*0747.0020.0002] # METRICAL TRISEME
+23D8 ; [*0748.0020.0002] # METRICAL TETRASEME
+23D9 ; [*0749.0020.0002] # METRICAL PENTASEME
+23DA ; [*074A.0020.0002] # EARTH GROUND
+23DB ; [*074B.0020.0002] # FUSE
+23DC ; [*074C.0020.0002] # TOP PARENTHESIS
+23DD ; [*074D.0020.0002] # BOTTOM PARENTHESIS
+23DE ; [*074E.0020.0002] # TOP CURLY BRACKET
+23DF ; [*074F.0020.0002] # BOTTOM CURLY BRACKET
+23E0 ; [*0750.0020.0002] # TOP TORTOISE SHELL BRACKET
+23E1 ; [*0751.0020.0002] # BOTTOM TORTOISE SHELL BRACKET
+23E2 ; [*0752.0020.0002] # WHITE TRAPEZIUM
+23E3 ; [*0753.0020.0002] # BENZENE RING WITH CIRCLE
+23E4 ; [*0754.0020.0002] # STRAIGHTNESS
+23E5 ; [*0755.0020.0002] # FLATNESS
+23E6 ; [*0756.0020.0002] # AC CURRENT
+23E7 ; [*0757.0020.0002] # ELECTRICAL INTERSECTION
+23E8 ; [*0758.0020.0002] # DECIMAL EXPONENT SYMBOL
+23E9 ; [*0759.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA ; [*075A.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EB ; [*075B.0020.0002] # BLACK UP-POINTING DOUBLE TRIANGLE
+23EC ; [*075C.0020.0002] # BLACK DOWN-POINTING DOUBLE TRIANGLE
+23ED ; [*075D.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE ; [*075E.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF ; [*075F.0020.0002] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F0 ; [*0760.0020.0002] # ALARM CLOCK
+23F1 ; [*0761.0020.0002] # STOPWATCH
+23F2 ; [*0762.0020.0002] # TIMER CLOCK
+23F3 ; [*0763.0020.0002] # HOURGLASS WITH FLOWING SAND
+2400 ; [*0764.0020.0002] # SYMBOL FOR NULL
+2401 ; [*0765.0020.0002] # SYMBOL FOR START OF HEADING
+2402 ; [*0766.0020.0002] # SYMBOL FOR START OF TEXT
+2403 ; [*0767.0020.0002] # SYMBOL FOR END OF TEXT
+2404 ; [*0768.0020.0002] # SYMBOL FOR END OF TRANSMISSION
+2405 ; [*0769.0020.0002] # SYMBOL FOR ENQUIRY
+2406 ; [*076A.0020.0002] # SYMBOL FOR ACKNOWLEDGE
+2407 ; [*076B.0020.0002] # SYMBOL FOR BELL
+2408 ; [*076C.0020.0002] # SYMBOL FOR BACKSPACE
+2409 ; [*076D.0020.0002] # SYMBOL FOR HORIZONTAL TABULATION
+240A ; [*076E.0020.0002] # SYMBOL FOR LINE FEED
+240B ; [*076F.0020.0002] # SYMBOL FOR VERTICAL TABULATION
+240C ; [*0770.0020.0002] # SYMBOL FOR FORM FEED
+240D ; [*0771.0020.0002] # SYMBOL FOR CARRIAGE RETURN
+240E ; [*0772.0020.0002] # SYMBOL FOR SHIFT OUT
+240F ; [*0773.0020.0002] # SYMBOL FOR SHIFT IN
+2410 ; [*0774.0020.0002] # SYMBOL FOR DATA LINK ESCAPE
+2411 ; [*0775.0020.0002] # SYMBOL FOR DEVICE CONTROL ONE
+2412 ; [*0776.0020.0002] # SYMBOL FOR DEVICE CONTROL TWO
+2413 ; [*0777.0020.0002] # SYMBOL FOR DEVICE CONTROL THREE
+2414 ; [*0778.0020.0002] # SYMBOL FOR DEVICE CONTROL FOUR
+2415 ; [*0779.0020.0002] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416 ; [*077A.0020.0002] # SYMBOL FOR SYNCHRONOUS IDLE
+2417 ; [*077B.0020.0002] # SYMBOL FOR END OF TRANSMISSION BLOCK
+2418 ; [*077C.0020.0002] # SYMBOL FOR CANCEL
+2419 ; [*077D.0020.0002] # SYMBOL FOR END OF MEDIUM
+241A ; [*077E.0020.0002] # SYMBOL FOR SUBSTITUTE
+241B ; [*077F.0020.0002] # SYMBOL FOR ESCAPE
+241C ; [*0780.0020.0002] # SYMBOL FOR FILE SEPARATOR
+241D ; [*0781.0020.0002] # SYMBOL FOR GROUP SEPARATOR
+241E ; [*0782.0020.0002] # SYMBOL FOR RECORD SEPARATOR
+241F ; [*0783.0020.0002] # SYMBOL FOR UNIT SEPARATOR
+2420 ; [*0784.0020.0002] # SYMBOL FOR SPACE
+2421 ; [*0785.0020.0002] # SYMBOL FOR DELETE
+2422 ; [*0786.0020.0002] # BLANK SYMBOL
+2423 ; [*0787.0020.0002] # OPEN BOX
+2424 ; [*0788.0020.0002] # SYMBOL FOR NEWLINE
+2425 ; [*0789.0020.0002] # SYMBOL FOR DELETE FORM TWO
+2426 ; [*078A.0020.0002] # SYMBOL FOR SUBSTITUTE FORM TWO
+2440 ; [*078B.0020.0002] # OCR HOOK
+2441 ; [*078C.0020.0002] # OCR CHAIR
+2442 ; [*078D.0020.0002] # OCR FORK
+2443 ; [*078E.0020.0002] # OCR INVERTED FORK
+2444 ; [*078F.0020.0002] # OCR BELT BUCKLE
+2445 ; [*0790.0020.0002] # OCR BOW TIE
+2446 ; [*0791.0020.0002] # OCR BRANCH BANK IDENTIFICATION
+2447 ; [*0792.0020.0002] # OCR AMOUNT OF CHECK
+2448 ; [*0793.0020.0002] # OCR DASH
+2449 ; [*0794.0020.0002] # OCR CUSTOMER ACCOUNT NUMBER
+244A ; [*0795.0020.0002] # OCR DOUBLE BACKSLASH
+2500 ; [*0796.0020.0002] # BOX DRAWINGS LIGHT HORIZONTAL
+2501 ; [*0797.0020.0002] # BOX DRAWINGS HEAVY HORIZONTAL
+2502 ; [*0798.0020.0002] # BOX DRAWINGS LIGHT VERTICAL
+2503 ; [*0799.0020.0002] # BOX DRAWINGS HEAVY VERTICAL
+2504 ; [*079A.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505 ; [*079B.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506 ; [*079C.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507 ; [*079D.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508 ; [*079E.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 ; [*079F.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A ; [*07A0.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B ; [*07A1.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C ; [*07A2.0020.0002] # BOX DRAWINGS LIGHT DOWN AND RIGHT
+250D ; [*07A3.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E ; [*07A4.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F ; [*07A5.0020.0002] # BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510 ; [*07A6.0020.0002] # BOX DRAWINGS LIGHT DOWN AND LEFT
+2511 ; [*07A7.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512 ; [*07A8.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513 ; [*07A9.0020.0002] # BOX DRAWINGS HEAVY DOWN AND LEFT
+2514 ; [*07AA.0020.0002] # BOX DRAWINGS LIGHT UP AND RIGHT
+2515 ; [*07AB.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516 ; [*07AC.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517 ; [*07AD.0020.0002] # BOX DRAWINGS HEAVY UP AND RIGHT
+2518 ; [*07AE.0020.0002] # BOX DRAWINGS LIGHT UP AND LEFT
+2519 ; [*07AF.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A ; [*07B0.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B ; [*07B1.0020.0002] # BOX DRAWINGS HEAVY UP AND LEFT
+251C ; [*07B2.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251D ; [*07B3.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251E ; [*07B4.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F ; [*07B5.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520 ; [*07B6.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521 ; [*07B7.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522 ; [*07B8.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523 ; [*07B9.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524 ; [*07BA.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525 ; [*07BB.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526 ; [*07BC.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527 ; [*07BD.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528 ; [*07BE.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529 ; [*07BF.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A ; [*07C0.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B ; [*07C1.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C ; [*07C2.0020.0002] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252D ; [*07C3.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E ; [*07C4.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F ; [*07C5.0020.0002] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530 ; [*07C6.0020.0002] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 ; [*07C7.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 ; [*07C8.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 ; [*07C9.0020.0002] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534 ; [*07CA.0020.0002] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535 ; [*07CB.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536 ; [*07CC.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537 ; [*07CD.0020.0002] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538 ; [*07CE.0020.0002] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539 ; [*07CF.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A ; [*07D0.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B ; [*07D1.0020.0002] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C ; [*07D2.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253D ; [*07D3.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E ; [*07D4.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F ; [*07D5.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540 ; [*07D6.0020.0002] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 ; [*07D7.0020.0002] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 ; [*07D8.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 ; [*07D9.0020.0002] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 ; [*07DA.0020.0002] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 ; [*07DB.0020.0002] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 ; [*07DC.0020.0002] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 ; [*07DD.0020.0002] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 ; [*07DE.0020.0002] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 ; [*07DF.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A ; [*07E0.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B ; [*07E1.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C ; [*07E2.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D ; [*07E3.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E ; [*07E4.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F ; [*07E5.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550 ; [*07E6.0020.0002] # BOX DRAWINGS DOUBLE HORIZONTAL
+2551 ; [*07E7.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL
+2552 ; [*07E8.0020.0002] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553 ; [*07E9.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554 ; [*07EA.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555 ; [*07EB.0020.0002] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556 ; [*07EC.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557 ; [*07ED.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558 ; [*07EE.0020.0002] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559 ; [*07EF.0020.0002] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A ; [*07F0.0020.0002] # BOX DRAWINGS DOUBLE UP AND RIGHT
+255B ; [*07F1.0020.0002] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C ; [*07F2.0020.0002] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D ; [*07F3.0020.0002] # BOX DRAWINGS DOUBLE UP AND LEFT
+255E ; [*07F4.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F ; [*07F5.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 ; [*07F6.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561 ; [*07F7.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562 ; [*07F8.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563 ; [*07F9.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564 ; [*07FA.0020.0002] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 ; [*07FB.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 ; [*07FC.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567 ; [*07FD.0020.0002] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568 ; [*07FE.0020.0002] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569 ; [*07FF.0020.0002] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A ; [*0800.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B ; [*0801.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C ; [*0802.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D ; [*0803.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E ; [*0804.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F ; [*0805.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570 ; [*0806.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571 ; [*0807.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 ; [*0808.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 ; [*0809.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574 ; [*080A.0020.0002] # BOX DRAWINGS LIGHT LEFT
+2575 ; [*080B.0020.0002] # BOX DRAWINGS LIGHT UP
+2576 ; [*080C.0020.0002] # BOX DRAWINGS LIGHT RIGHT
+2577 ; [*080D.0020.0002] # BOX DRAWINGS LIGHT DOWN
+2578 ; [*080E.0020.0002] # BOX DRAWINGS HEAVY LEFT
+2579 ; [*080F.0020.0002] # BOX DRAWINGS HEAVY UP
+257A ; [*0810.0020.0002] # BOX DRAWINGS HEAVY RIGHT
+257B ; [*0811.0020.0002] # BOX DRAWINGS HEAVY DOWN
+257C ; [*0812.0020.0002] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D ; [*0813.0020.0002] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E ; [*0814.0020.0002] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F ; [*0815.0020.0002] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580 ; [*0816.0020.0002] # UPPER HALF BLOCK
+2581 ; [*0817.0020.0002] # LOWER ONE EIGHTH BLOCK
+2582 ; [*0818.0020.0002] # LOWER ONE QUARTER BLOCK
+2583 ; [*0819.0020.0002] # LOWER THREE EIGHTHS BLOCK
+2584 ; [*081A.0020.0002] # LOWER HALF BLOCK
+2585 ; [*081B.0020.0002] # LOWER FIVE EIGHTHS BLOCK
+2586 ; [*081C.0020.0002] # LOWER THREE QUARTERS BLOCK
+2587 ; [*081D.0020.0002] # LOWER SEVEN EIGHTHS BLOCK
+2588 ; [*081E.0020.0002] # FULL BLOCK
+2589 ; [*081F.0020.0002] # LEFT SEVEN EIGHTHS BLOCK
+258A ; [*0820.0020.0002] # LEFT THREE QUARTERS BLOCK
+258B ; [*0821.0020.0002] # LEFT FIVE EIGHTHS BLOCK
+258C ; [*0822.0020.0002] # LEFT HALF BLOCK
+258D ; [*0823.0020.0002] # LEFT THREE EIGHTHS BLOCK
+258E ; [*0824.0020.0002] # LEFT ONE QUARTER BLOCK
+258F ; [*0825.0020.0002] # LEFT ONE EIGHTH BLOCK
+2590 ; [*0826.0020.0002] # RIGHT HALF BLOCK
+2591 ; [*0827.0020.0002] # LIGHT SHADE
+2592 ; [*0828.0020.0002] # MEDIUM SHADE
+2593 ; [*0829.0020.0002] # DARK SHADE
+2594 ; [*082A.0020.0002] # UPPER ONE EIGHTH BLOCK
+2595 ; [*082B.0020.0002] # RIGHT ONE EIGHTH BLOCK
+2596 ; [*082C.0020.0002] # QUADRANT LOWER LEFT
+2597 ; [*082D.0020.0002] # QUADRANT LOWER RIGHT
+2598 ; [*082E.0020.0002] # QUADRANT UPPER LEFT
+2599 ; [*082F.0020.0002] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+259A ; [*0830.0020.0002] # QUADRANT UPPER LEFT AND LOWER RIGHT
+259B ; [*0831.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+259C ; [*0832.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+259D ; [*0833.0020.0002] # QUADRANT UPPER RIGHT
+259E ; [*0834.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT
+259F ; [*0835.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0 ; [*0836.0020.0002] # BLACK SQUARE
+25A1 ; [*0837.0020.0002] # WHITE SQUARE
+25A2 ; [*0838.0020.0002] # WHITE SQUARE WITH ROUNDED CORNERS
+25A3 ; [*0839.0020.0002] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4 ; [*083A.0020.0002] # SQUARE WITH HORIZONTAL FILL
+25A5 ; [*083B.0020.0002] # SQUARE WITH VERTICAL FILL
+25A6 ; [*083C.0020.0002] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7 ; [*083D.0020.0002] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8 ; [*083E.0020.0002] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9 ; [*083F.0020.0002] # SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA ; [*0840.0020.0002] # BLACK SMALL SQUARE
+25AB ; [*0841.0020.0002] # WHITE SMALL SQUARE
+25AC ; [*0842.0020.0002] # BLACK RECTANGLE
+25AD ; [*0843.0020.0002] # WHITE RECTANGLE
+25AE ; [*0844.0020.0002] # BLACK VERTICAL RECTANGLE
+25AF ; [*0845.0020.0002] # WHITE VERTICAL RECTANGLE
+25B0 ; [*0846.0020.0002] # BLACK PARALLELOGRAM
+25B1 ; [*0847.0020.0002] # WHITE PARALLELOGRAM
+25B2 ; [*0848.0020.0002] # BLACK UP-POINTING TRIANGLE
+25B3 ; [*0849.0020.0002] # WHITE UP-POINTING TRIANGLE
+25B4 ; [*084A.0020.0002] # BLACK UP-POINTING SMALL TRIANGLE
+25B5 ; [*084B.0020.0002] # WHITE UP-POINTING SMALL TRIANGLE
+25B6 ; [*084C.0020.0002] # BLACK RIGHT-POINTING TRIANGLE
+25B7 ; [*084D.0020.0002] # WHITE RIGHT-POINTING TRIANGLE
+25B8 ; [*084E.0020.0002] # BLACK RIGHT-POINTING SMALL TRIANGLE
+25B9 ; [*084F.0020.0002] # WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA ; [*0850.0020.0002] # BLACK RIGHT-POINTING POINTER
+25BB ; [*0851.0020.0002] # WHITE RIGHT-POINTING POINTER
+25BC ; [*0852.0020.0002] # BLACK DOWN-POINTING TRIANGLE
+25BD ; [*0853.0020.0002] # WHITE DOWN-POINTING TRIANGLE
+25BE ; [*0854.0020.0002] # BLACK DOWN-POINTING SMALL TRIANGLE
+25BF ; [*0855.0020.0002] # WHITE DOWN-POINTING SMALL TRIANGLE
+25C0 ; [*0856.0020.0002] # BLACK LEFT-POINTING TRIANGLE
+25C1 ; [*0857.0020.0002] # WHITE LEFT-POINTING TRIANGLE
+25C2 ; [*0858.0020.0002] # BLACK LEFT-POINTING SMALL TRIANGLE
+25C3 ; [*0859.0020.0002] # WHITE LEFT-POINTING SMALL TRIANGLE
+25C4 ; [*085A.0020.0002] # BLACK LEFT-POINTING POINTER
+25C5 ; [*085B.0020.0002] # WHITE LEFT-POINTING POINTER
+25C6 ; [*085C.0020.0002] # BLACK DIAMOND
+25C7 ; [*085D.0020.0002] # WHITE DIAMOND
+25C8 ; [*085E.0020.0002] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9 ; [*085F.0020.0002] # FISHEYE
+25CA ; [*0860.0020.0002] # LOZENGE
+25CB ; [*0861.0020.0002] # WHITE CIRCLE
+25CC ; [*0862.0020.0002] # DOTTED CIRCLE
+25CD ; [*0863.0020.0002] # CIRCLE WITH VERTICAL FILL
+25CE ; [*0864.0020.0002] # BULLSEYE
+25CF ; [*0865.0020.0002] # BLACK CIRCLE
+25D0 ; [*0866.0020.0002] # CIRCLE WITH LEFT HALF BLACK
+25D1 ; [*0867.0020.0002] # CIRCLE WITH RIGHT HALF BLACK
+25D2 ; [*0868.0020.0002] # CIRCLE WITH LOWER HALF BLACK
+25D3 ; [*0869.0020.0002] # CIRCLE WITH UPPER HALF BLACK
+25D4 ; [*086A.0020.0002] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5 ; [*086B.0020.0002] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6 ; [*086C.0020.0002] # LEFT HALF BLACK CIRCLE
+25D7 ; [*086D.0020.0002] # RIGHT HALF BLACK CIRCLE
+25D8 ; [*086E.0020.0002] # INVERSE BULLET
+25D9 ; [*086F.0020.0002] # INVERSE WHITE CIRCLE
+25DA ; [*0870.0020.0002] # UPPER HALF INVERSE WHITE CIRCLE
+25DB ; [*0871.0020.0002] # LOWER HALF INVERSE WHITE CIRCLE
+25DC ; [*0872.0020.0002] # UPPER LEFT QUADRANT CIRCULAR ARC
+25DD ; [*0873.0020.0002] # UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE ; [*0874.0020.0002] # LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF ; [*0875.0020.0002] # LOWER LEFT QUADRANT CIRCULAR ARC
+25E0 ; [*0876.0020.0002] # UPPER HALF CIRCLE
+25E1 ; [*0877.0020.0002] # LOWER HALF CIRCLE
+25E2 ; [*0878.0020.0002] # BLACK LOWER RIGHT TRIANGLE
+25E3 ; [*0879.0020.0002] # BLACK LOWER LEFT TRIANGLE
+25E4 ; [*087A.0020.0002] # BLACK UPPER LEFT TRIANGLE
+25E5 ; [*087B.0020.0002] # BLACK UPPER RIGHT TRIANGLE
+25E6 ; [*087C.0020.0002] # WHITE BULLET
+25E7 ; [*087D.0020.0002] # SQUARE WITH LEFT HALF BLACK
+25E8 ; [*087E.0020.0002] # SQUARE WITH RIGHT HALF BLACK
+25E9 ; [*087F.0020.0002] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA ; [*0880.0020.0002] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB ; [*0881.0020.0002] # WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC ; [*0882.0020.0002] # WHITE UP-POINTING TRIANGLE WITH DOT
+25ED ; [*0883.0020.0002] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE ; [*0884.0020.0002] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF ; [*0885.0020.0002] # LARGE CIRCLE
+25F0 ; [*0886.0020.0002] # WHITE SQUARE WITH UPPER LEFT QUADRANT
+25F1 ; [*0887.0020.0002] # WHITE SQUARE WITH LOWER LEFT QUADRANT
+25F2 ; [*0888.0020.0002] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25F3 ; [*0889.0020.0002] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25F4 ; [*088A.0020.0002] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25F5 ; [*088B.0020.0002] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25F6 ; [*088C.0020.0002] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25F7 ; [*088D.0020.0002] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8 ; [*088E.0020.0002] # UPPER LEFT TRIANGLE
+25F9 ; [*088F.0020.0002] # UPPER RIGHT TRIANGLE
+25FA ; [*0890.0020.0002] # LOWER LEFT TRIANGLE
+25FB ; [*0891.0020.0002] # WHITE MEDIUM SQUARE
+25FC ; [*0892.0020.0002] # BLACK MEDIUM SQUARE
+25FD ; [*0893.0020.0002] # WHITE MEDIUM SMALL SQUARE
+25FE ; [*0894.0020.0002] # BLACK MEDIUM SMALL SQUARE
+25FF ; [*0895.0020.0002] # LOWER RIGHT TRIANGLE
+2600 ; [*0896.0020.0002] # BLACK SUN WITH RAYS
+2601 ; [*0897.0020.0002] # CLOUD
+2602 ; [*0898.0020.0002] # UMBRELLA
+2603 ; [*0899.0020.0002] # SNOWMAN
+2604 ; [*089A.0020.0002] # COMET
+2605 ; [*089B.0020.0002] # BLACK STAR
+2606 ; [*089C.0020.0002] # WHITE STAR
+2607 ; [*089D.0020.0002] # LIGHTNING
+2608 ; [*089E.0020.0002] # THUNDERSTORM
+2609 ; [*089F.0020.0002] # SUN
+260A ; [*08A0.0020.0002] # ASCENDING NODE
+260B ; [*08A1.0020.0002] # DESCENDING NODE
+260C ; [*08A2.0020.0002] # CONJUNCTION
+260D ; [*08A3.0020.0002] # OPPOSITION
+260E ; [*08A4.0020.0002] # BLACK TELEPHONE
+260F ; [*08A5.0020.0002] # WHITE TELEPHONE
+2610 ; [*08A6.0020.0002] # BALLOT BOX
+2611 ; [*08A7.0020.0002] # BALLOT BOX WITH CHECK
+2612 ; [*08A8.0020.0002] # BALLOT BOX WITH X
+2613 ; [*08A9.0020.0002] # SALTIRE
+2614 ; [*08AA.0020.0002] # UMBRELLA WITH RAIN DROPS
+2615 ; [*08AB.0020.0002] # HOT BEVERAGE
+2616 ; [*08AC.0020.0002] # WHITE SHOGI PIECE
+2617 ; [*08AD.0020.0002] # BLACK SHOGI PIECE
+2618 ; [*08AE.0020.0002] # SHAMROCK
+2619 ; [*08AF.0020.0002] # REVERSED ROTATED FLORAL HEART BULLET
+261A ; [*08B0.0020.0002] # BLACK LEFT POINTING INDEX
+261B ; [*08B1.0020.0002] # BLACK RIGHT POINTING INDEX
+261C ; [*08B2.0020.0002] # WHITE LEFT POINTING INDEX
+261D ; [*08B3.0020.0002] # WHITE UP POINTING INDEX
+261E ; [*08B4.0020.0002] # WHITE RIGHT POINTING INDEX
+261F ; [*08B5.0020.0002] # WHITE DOWN POINTING INDEX
+2620 ; [*08B6.0020.0002] # SKULL AND CROSSBONES
+2621 ; [*08B7.0020.0002] # CAUTION SIGN
+2622 ; [*08B8.0020.0002] # RADIOACTIVE SIGN
+2623 ; [*08B9.0020.0002] # BIOHAZARD SIGN
+2624 ; [*08BA.0020.0002] # CADUCEUS
+2625 ; [*08BB.0020.0002] # ANKH
+2626 ; [*08BC.0020.0002] # ORTHODOX CROSS
+2627 ; [*08BD.0020.0002] # CHI RHO
+2628 ; [*08BE.0020.0002] # CROSS OF LORRAINE
+2629 ; [*08BF.0020.0002] # CROSS OF JERUSALEM
+262A ; [*08C0.0020.0002] # STAR AND CRESCENT
+262B ; [*08C1.0020.0002] # FARSI SYMBOL
+262C ; [*08C2.0020.0002] # ADI SHAKTI
+262D ; [*08C3.0020.0002] # HAMMER AND SICKLE
+262E ; [*08C4.0020.0002] # PEACE SYMBOL
+262F ; [*08C5.0020.0002] # YIN YANG
+2630 ; [*0DA8.0020.0002] # TRIGRAM FOR HEAVEN
+2631 ; [*0DA9.0020.0002] # TRIGRAM FOR LAKE
+2632 ; [*0DAA.0020.0002] # TRIGRAM FOR FIRE
+2633 ; [*0DAB.0020.0002] # TRIGRAM FOR THUNDER
+2634 ; [*0DAC.0020.0002] # TRIGRAM FOR WIND
+2635 ; [*0DAD.0020.0002] # TRIGRAM FOR WATER
+2636 ; [*0DAE.0020.0002] # TRIGRAM FOR MOUNTAIN
+2637 ; [*0DAF.0020.0002] # TRIGRAM FOR EARTH
+2638 ; [*08C6.0020.0002] # WHEEL OF DHARMA
+2639 ; [*08C7.0020.0002] # WHITE FROWNING FACE
+263A ; [*08C8.0020.0002] # WHITE SMILING FACE
+263B ; [*08C9.0020.0002] # BLACK SMILING FACE
+263C ; [*08CA.0020.0002] # WHITE SUN WITH RAYS
+263D ; [*08CB.0020.0002] # FIRST QUARTER MOON
+263E ; [*08CC.0020.0002] # LAST QUARTER MOON
+263F ; [*08CD.0020.0002] # MERCURY
+2640 ; [*08CE.0020.0002] # FEMALE SIGN
+2641 ; [*08CF.0020.0002] # EARTH
+2642 ; [*08D0.0020.0002] # MALE SIGN
+2643 ; [*08D1.0020.0002] # JUPITER
+2644 ; [*08D2.0020.0002] # SATURN
+2645 ; [*08D3.0020.0002] # URANUS
+2646 ; [*08D4.0020.0002] # NEPTUNE
+2647 ; [*08D5.0020.0002] # PLUTO
+2648 ; [*08D6.0020.0002] # ARIES
+2649 ; [*08D7.0020.0002] # TAURUS
+264A ; [*08D8.0020.0002] # GEMINI
+264B ; [*08D9.0020.0002] # CANCER
+264C ; [*08DA.0020.0002] # LEO
+264D ; [*08DB.0020.0002] # VIRGO
+264E ; [*08DC.0020.0002] # LIBRA
+264F ; [*08DD.0020.0002] # SCORPIUS
+2650 ; [*08DE.0020.0002] # SAGITTARIUS
+2651 ; [*08DF.0020.0002] # CAPRICORN
+2652 ; [*08E0.0020.0002] # AQUARIUS
+2653 ; [*08E1.0020.0002] # PISCES
+2654 ; [*08E2.0020.0002] # WHITE CHESS KING
+2655 ; [*08E3.0020.0002] # WHITE CHESS QUEEN
+2656 ; [*08E4.0020.0002] # WHITE CHESS ROOK
+2657 ; [*08E5.0020.0002] # WHITE CHESS BISHOP
+2658 ; [*08E6.0020.0002] # WHITE CHESS KNIGHT
+2659 ; [*08E7.0020.0002] # WHITE CHESS PAWN
+265A ; [*08E8.0020.0002] # BLACK CHESS KING
+265B ; [*08E9.0020.0002] # BLACK CHESS QUEEN
+265C ; [*08EA.0020.0002] # BLACK CHESS ROOK
+265D ; [*08EB.0020.0002] # BLACK CHESS BISHOP
+265E ; [*08EC.0020.0002] # BLACK CHESS KNIGHT
+265F ; [*08ED.0020.0002] # BLACK CHESS PAWN
+2660 ; [*08EE.0020.0002] # BLACK SPADE SUIT
+2661 ; [*08EF.0020.0002] # WHITE HEART SUIT
+2662 ; [*08F0.0020.0002] # WHITE DIAMOND SUIT
+2663 ; [*08F1.0020.0002] # BLACK CLUB SUIT
+2664 ; [*08F2.0020.0002] # WHITE SPADE SUIT
+2665 ; [*08F3.0020.0002] # BLACK HEART SUIT
+2666 ; [*08F4.0020.0002] # BLACK DIAMOND SUIT
+2667 ; [*08F5.0020.0002] # WHITE CLUB SUIT
+2668 ; [*08F6.0020.0002] # HOT SPRINGS
+2669 ; [*08F7.0020.0002] # QUARTER NOTE
+266A ; [*08F8.0020.0002] # EIGHTH NOTE
+266B ; [*08F9.0020.0002] # BEAMED EIGHTH NOTES
+266C ; [*08FA.0020.0002] # BEAMED SIXTEENTH NOTES
+266D ; [*0FEE.0020.0002] # MUSIC FLAT SIGN
+266E ; [*0FEF.0020.0002] # MUSIC NATURAL SIGN
+266F ; [*0FF0.0020.0002] # MUSIC SHARP SIGN
+2670 ; [*08FB.0020.0002] # WEST SYRIAC CROSS
+2671 ; [*08FC.0020.0002] # EAST SYRIAC CROSS
+2672 ; [*08FD.0020.0002] # UNIVERSAL RECYCLING SYMBOL
+2673 ; [*08FE.0020.0002] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+2674 ; [*08FF.0020.0002] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+2675 ; [*0900.0020.0002] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+2676 ; [*0901.0020.0002] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+2677 ; [*0902.0020.0002] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+2678 ; [*0903.0020.0002] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+2679 ; [*0904.0020.0002] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+267A ; [*0905.0020.0002] # RECYCLING SYMBOL FOR GENERIC MATERIALS
+267B ; [*0906.0020.0002] # BLACK UNIVERSAL RECYCLING SYMBOL
+267C ; [*0907.0020.0002] # RECYCLED PAPER SYMBOL
+267D ; [*0908.0020.0002] # PARTIALLY-RECYCLED PAPER SYMBOL
+267E ; [*0909.0020.0002] # PERMANENT PAPER SIGN
+267F ; [*090A.0020.0002] # WHEELCHAIR SYMBOL
+2680 ; [*090B.0020.0002] # DIE FACE-1
+2681 ; [*090C.0020.0002] # DIE FACE-2
+2682 ; [*090D.0020.0002] # DIE FACE-3
+2683 ; [*090E.0020.0002] # DIE FACE-4
+2684 ; [*090F.0020.0002] # DIE FACE-5
+2685 ; [*0910.0020.0002] # DIE FACE-6
+2686 ; [*0911.0020.0002] # WHITE CIRCLE WITH DOT RIGHT
+2687 ; [*0912.0020.0002] # WHITE CIRCLE WITH TWO DOTS
+2688 ; [*0913.0020.0002] # BLACK CIRCLE WITH WHITE DOT RIGHT
+2689 ; [*0914.0020.0002] # BLACK CIRCLE WITH TWO WHITE DOTS
+268A ; [*0DA2.0020.0002] # MONOGRAM FOR YANG
+268B ; [*0DA3.0020.0002] # MONOGRAM FOR YIN
+268C ; [*0DA4.0020.0002] # DIGRAM FOR GREATER YANG
+268D ; [*0DA5.0020.0002] # DIGRAM FOR LESSER YIN
+268E ; [*0DA6.0020.0002] # DIGRAM FOR LESSER YANG
+268F ; [*0DA7.0020.0002] # DIGRAM FOR GREATER YIN
+2690 ; [*0915.0020.0002] # WHITE FLAG
+2691 ; [*0916.0020.0002] # BLACK FLAG
+2692 ; [*0917.0020.0002] # HAMMER AND PICK
+2693 ; [*0918.0020.0002] # ANCHOR
+2694 ; [*0919.0020.0002] # CROSSED SWORDS
+2695 ; [*091A.0020.0002] # STAFF OF AESCULAPIUS
+2696 ; [*091B.0020.0002] # SCALES
+2697 ; [*091C.0020.0002] # ALEMBIC
+2698 ; [*091D.0020.0002] # FLOWER
+2699 ; [*091E.0020.0002] # GEAR
+269A ; [*091F.0020.0002] # STAFF OF HERMES
+269B ; [*0920.0020.0002] # ATOM SYMBOL
+269C ; [*0921.0020.0002] # FLEUR-DE-LIS
+269D ; [*0922.0020.0002] # OUTLINED WHITE STAR
+269E ; [*0923.0020.0002] # THREE LINES CONVERGING RIGHT
+269F ; [*0924.0020.0002] # THREE LINES CONVERGING LEFT
+26A0 ; [*0925.0020.0002] # WARNING SIGN
+26A1 ; [*0926.0020.0002] # HIGH VOLTAGE SIGN
+26A2 ; [*0927.0020.0002] # DOUBLED FEMALE SIGN
+26A3 ; [*0928.0020.0002] # DOUBLED MALE SIGN
+26A4 ; [*0929.0020.0002] # INTERLOCKED FEMALE AND MALE SIGN
+26A5 ; [*092A.0020.0002] # MALE AND FEMALE SIGN
+26A6 ; [*092B.0020.0002] # MALE WITH STROKE SIGN
+26A7 ; [*092C.0020.0002] # MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A8 ; [*092D.0020.0002] # VERTICAL MALE WITH STROKE SIGN
+26A9 ; [*092E.0020.0002] # HORIZONTAL MALE WITH STROKE SIGN
+26AA ; [*092F.0020.0002] # MEDIUM WHITE CIRCLE
+26AB ; [*0930.0020.0002] # MEDIUM BLACK CIRCLE
+26AC ; [*0931.0020.0002] # MEDIUM SMALL WHITE CIRCLE
+26AD ; [*0932.0020.0002] # MARRIAGE SYMBOL
+26AE ; [*0933.0020.0002] # DIVORCE SYMBOL
+26AF ; [*0934.0020.0002] # UNMARRIED PARTNERSHIP SYMBOL
+26B0 ; [*0935.0020.0002] # COFFIN
+26B1 ; [*0936.0020.0002] # FUNERAL URN
+26B2 ; [*0937.0020.0002] # NEUTER
+26B3 ; [*0938.0020.0002] # CERES
+26B4 ; [*0939.0020.0002] # PALLAS
+26B5 ; [*093A.0020.0002] # JUNO
+26B6 ; [*093B.0020.0002] # VESTA
+26B7 ; [*093C.0020.0002] # CHIRON
+26B8 ; [*093D.0020.0002] # BLACK MOON LILITH
+26B9 ; [*093E.0020.0002] # SEXTILE
+26BA ; [*093F.0020.0002] # SEMISEXTILE
+26BB ; [*0940.0020.0002] # QUINCUNX
+26BC ; [*0941.0020.0002] # SESQUIQUADRATE
+26BD ; [*0942.0020.0002] # SOCCER BALL
+26BE ; [*0943.0020.0002] # BASEBALL
+26BF ; [*0944.0020.0002] # SQUARED KEY
+26C0 ; [*0945.0020.0002] # WHITE DRAUGHTS MAN
+26C1 ; [*0946.0020.0002] # WHITE DRAUGHTS KING
+26C2 ; [*0947.0020.0002] # BLACK DRAUGHTS MAN
+26C3 ; [*0948.0020.0002] # BLACK DRAUGHTS KING
+26C4 ; [*0949.0020.0002] # SNOWMAN WITHOUT SNOW
+26C5 ; [*094A.0020.0002] # SUN BEHIND CLOUD
+26C6 ; [*094B.0020.0002] # RAIN
+26C7 ; [*094C.0020.0002] # BLACK SNOWMAN
+26C8 ; [*094D.0020.0002] # THUNDER CLOUD AND RAIN
+26C9 ; [*094E.0020.0002] # TURNED WHITE SHOGI PIECE
+26CA ; [*094F.0020.0002] # TURNED BLACK SHOGI PIECE
+26CB ; [*0950.0020.0002] # WHITE DIAMOND IN SQUARE
+26CC ; [*0951.0020.0002] # CROSSING LANES
+26CD ; [*0952.0020.0002] # DISABLED CAR
+26CE ; [*0953.0020.0002] # OPHIUCHUS
+26CF ; [*0954.0020.0002] # PICK
+26D0 ; [*0955.0020.0002] # CAR SLIDING
+26D1 ; [*0956.0020.0002] # HELMET WITH WHITE CROSS
+26D2 ; [*0957.0020.0002] # CIRCLED CROSSING LANES
+26D3 ; [*0958.0020.0002] # CHAINS
+26D4 ; [*0959.0020.0002] # NO ENTRY
+26D5 ; [*095A.0020.0002] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+26D6 ; [*095B.0020.0002] # BLACK TWO-WAY LEFT WAY TRAFFIC
+26D7 ; [*095C.0020.0002] # WHITE TWO-WAY LEFT WAY TRAFFIC
+26D8 ; [*095D.0020.0002] # BLACK LEFT LANE MERGE
+26D9 ; [*095E.0020.0002] # WHITE LEFT LANE MERGE
+26DA ; [*095F.0020.0002] # DRIVE SLOW SIGN
+26DB ; [*0960.0020.0002] # HEAVY WHITE DOWN-POINTING TRIANGLE
+26DC ; [*0961.0020.0002] # LEFT CLOSED ENTRY
+26DD ; [*0962.0020.0002] # SQUARED SALTIRE
+26DE ; [*0963.0020.0002] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+26DF ; [*0964.0020.0002] # BLACK TRUCK
+26E0 ; [*0965.0020.0002] # RESTRICTED LEFT ENTRY-1
+26E1 ; [*0966.0020.0002] # RESTRICTED LEFT ENTRY-2
+26E2 ; [*0967.0020.0002] # ASTRONOMICAL SYMBOL FOR URANUS
+26E3 ; [*0968.0020.0002] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+26E4 ; [*0969.0020.0002] # PENTAGRAM
+26E5 ; [*096A.0020.0002] # RIGHT-HANDED INTERLACED PENTAGRAM
+26E6 ; [*096B.0020.0002] # LEFT-HANDED INTERLACED PENTAGRAM
+26E7 ; [*096C.0020.0002] # INVERTED PENTAGRAM
+26E8 ; [*096D.0020.0002] # BLACK CROSS ON SHIELD
+26E9 ; [*096E.0020.0002] # SHINTO SHRINE
+26EA ; [*096F.0020.0002] # CHURCH
+26EB ; [*0970.0020.0002] # CASTLE
+26EC ; [*0971.0020.0002] # HISTORIC SITE
+26ED ; [*0972.0020.0002] # GEAR WITHOUT HUB
+26EE ; [*0973.0020.0002] # GEAR WITH HANDLES
+26EF ; [*0974.0020.0002] # MAP SYMBOL FOR LIGHTHOUSE
+26F0 ; [*0975.0020.0002] # MOUNTAIN
+26F1 ; [*0976.0020.0002] # UMBRELLA ON GROUND
+26F2 ; [*0977.0020.0002] # FOUNTAIN
+26F3 ; [*0978.0020.0002] # FLAG IN HOLE
+26F4 ; [*0979.0020.0002] # FERRY
+26F5 ; [*097A.0020.0002] # SAILBOAT
+26F6 ; [*097B.0020.0002] # SQUARE FOUR CORNERS
+26F7 ; [*097C.0020.0002] # SKIER
+26F8 ; [*097D.0020.0002] # ICE SKATE
+26F9 ; [*097E.0020.0002] # PERSON WITH BALL
+26FA ; [*097F.0020.0002] # TENT
+26FB ; [*0980.0020.0002] # JAPANESE BANK SYMBOL
+26FC ; [*0981.0020.0002] # HEADSTONE GRAVEYARD SYMBOL
+26FD ; [*0982.0020.0002] # FUEL PUMP
+26FE ; [*0983.0020.0002] # CUP ON BLACK SQUARE
+26FF ; [*0984.0020.0002] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701 ; [*099F.0020.0002] # UPPER BLADE SCISSORS
+2702 ; [*09A0.0020.0002] # BLACK SCISSORS
+2703 ; [*09A1.0020.0002] # LOWER BLADE SCISSORS
+2704 ; [*09A2.0020.0002] # WHITE SCISSORS
+2705 ; [*09A3.0020.0002] # WHITE HEAVY CHECK MARK
+2706 ; [*09A4.0020.0002] # TELEPHONE LOCATION SIGN
+2707 ; [*09A5.0020.0002] # TAPE DRIVE
+2708 ; [*09A6.0020.0002] # AIRPLANE
+2709 ; [*09A7.0020.0002] # ENVELOPE
+270A ; [*09A8.0020.0002] # RAISED FIST
+270B ; [*09A9.0020.0002] # RAISED HAND
+270C ; [*09AA.0020.0002] # VICTORY HAND
+270D ; [*09AB.0020.0002] # WRITING HAND
+270E ; [*09AC.0020.0002] # LOWER RIGHT PENCIL
+270F ; [*09AD.0020.0002] # PENCIL
+2710 ; [*09AE.0020.0002] # UPPER RIGHT PENCIL
+2711 ; [*09AF.0020.0002] # WHITE NIB
+2712 ; [*09B0.0020.0002] # BLACK NIB
+2713 ; [*09B1.0020.0002] # CHECK MARK
+2714 ; [*09B2.0020.0002] # HEAVY CHECK MARK
+2715 ; [*09B3.0020.0002] # MULTIPLICATION X
+2716 ; [*09B4.0020.0002] # HEAVY MULTIPLICATION X
+2717 ; [*09B5.0020.0002] # BALLOT X
+2718 ; [*09B6.0020.0002] # HEAVY BALLOT X
+2719 ; [*09B7.0020.0002] # OUTLINED GREEK CROSS
+271A ; [*09B8.0020.0002] # HEAVY GREEK CROSS
+271B ; [*09B9.0020.0002] # OPEN CENTRE CROSS
+271C ; [*09BA.0020.0002] # HEAVY OPEN CENTRE CROSS
+271D ; [*09BB.0020.0002] # LATIN CROSS
+271E ; [*09BC.0020.0002] # SHADOWED WHITE LATIN CROSS
+271F ; [*09BD.0020.0002] # OUTLINED LATIN CROSS
+2720 ; [*09BE.0020.0002] # MALTESE CROSS
+2721 ; [*09BF.0020.0002] # STAR OF DAVID
+2722 ; [*09C0.0020.0002] # FOUR TEARDROP-SPOKED ASTERISK
+2723 ; [*09C1.0020.0002] # FOUR BALLOON-SPOKED ASTERISK
+2724 ; [*09C2.0020.0002] # HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725 ; [*09C3.0020.0002] # FOUR CLUB-SPOKED ASTERISK
+2726 ; [*09C4.0020.0002] # BLACK FOUR POINTED STAR
+2727 ; [*09C5.0020.0002] # WHITE FOUR POINTED STAR
+2728 ; [*09C6.0020.0002] # SPARKLES
+2729 ; [*09C7.0020.0002] # STRESS OUTLINED WHITE STAR
+272A ; [*09C8.0020.0002] # CIRCLED WHITE STAR
+272B ; [*09C9.0020.0002] # OPEN CENTRE BLACK STAR
+272C ; [*09CA.0020.0002] # BLACK CENTRE WHITE STAR
+272D ; [*09CB.0020.0002] # OUTLINED BLACK STAR
+272E ; [*09CC.0020.0002] # HEAVY OUTLINED BLACK STAR
+272F ; [*09CD.0020.0002] # PINWHEEL STAR
+2730 ; [*09CE.0020.0002] # SHADOWED WHITE STAR
+2731 ; [*09CF.0020.0002] # HEAVY ASTERISK
+2732 ; [*09D0.0020.0002] # OPEN CENTRE ASTERISK
+2733 ; [*09D1.0020.0002] # EIGHT SPOKED ASTERISK
+2734 ; [*09D2.0020.0002] # EIGHT POINTED BLACK STAR
+2735 ; [*09D3.0020.0002] # EIGHT POINTED PINWHEEL STAR
+2736 ; [*09D4.0020.0002] # SIX POINTED BLACK STAR
+2737 ; [*09D5.0020.0002] # EIGHT POINTED RECTILINEAR BLACK STAR
+2738 ; [*09D6.0020.0002] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739 ; [*09D7.0020.0002] # TWELVE POINTED BLACK STAR
+273A ; [*09D8.0020.0002] # SIXTEEN POINTED ASTERISK
+273B ; [*09D9.0020.0002] # TEARDROP-SPOKED ASTERISK
+273C ; [*09DA.0020.0002] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D ; [*09DB.0020.0002] # HEAVY TEARDROP-SPOKED ASTERISK
+273E ; [*09DC.0020.0002] # SIX PETALLED BLACK AND WHITE FLORETTE
+273F ; [*09DD.0020.0002] # BLACK FLORETTE
+2740 ; [*09DE.0020.0002] # WHITE FLORETTE
+2741 ; [*09DF.0020.0002] # EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742 ; [*09E0.0020.0002] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743 ; [*09E1.0020.0002] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744 ; [*09E2.0020.0002] # SNOWFLAKE
+2745 ; [*09E3.0020.0002] # TIGHT TRIFOLIATE SNOWFLAKE
+2746 ; [*09E4.0020.0002] # HEAVY CHEVRON SNOWFLAKE
+2747 ; [*09E5.0020.0002] # SPARKLE
+2748 ; [*09E6.0020.0002] # HEAVY SPARKLE
+2749 ; [*09E7.0020.0002] # BALLOON-SPOKED ASTERISK
+274A ; [*09E8.0020.0002] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B ; [*09E9.0020.0002] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274C ; [*09EA.0020.0002] # CROSS MARK
+274D ; [*09EB.0020.0002] # SHADOWED WHITE CIRCLE
+274E ; [*09EC.0020.0002] # NEGATIVE SQUARED CROSS MARK
+274F ; [*09ED.0020.0002] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750 ; [*09EE.0020.0002] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751 ; [*09EF.0020.0002] # LOWER RIGHT SHADOWED WHITE SQUARE
+2752 ; [*09F0.0020.0002] # UPPER RIGHT SHADOWED WHITE SQUARE
+2753 ; [*09F1.0020.0002] # BLACK QUESTION MARK ORNAMENT
+2754 ; [*09F2.0020.0002] # WHITE QUESTION MARK ORNAMENT
+2755 ; [*09F3.0020.0002] # WHITE EXCLAMATION MARK ORNAMENT
+2756 ; [*09F4.0020.0002] # BLACK DIAMOND MINUS WHITE X
+2757 ; [*09F5.0020.0002] # HEAVY EXCLAMATION MARK SYMBOL
+2758 ; [*09F6.0020.0002] # LIGHT VERTICAL BAR
+2759 ; [*09F7.0020.0002] # MEDIUM VERTICAL BAR
+275A ; [*09F8.0020.0002] # HEAVY VERTICAL BAR
+275B ; [*09F9.0020.0002] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275C ; [*09FA.0020.0002] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275D ; [*09FB.0020.0002] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275E ; [*09FC.0020.0002] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+275F ; [*09FD.0020.0002] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+2760 ; [*09FE.0020.0002] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761 ; [*09FF.0020.0002] # CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762 ; [*0A00.0020.0002] # HEAVY EXCLAMATION MARK ORNAMENT
+2763 ; [*0A01.0020.0002] # HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 ; [*0A02.0020.0002] # HEAVY BLACK HEART
+2765 ; [*0A03.0020.0002] # ROTATED HEAVY BLACK HEART BULLET
+2766 ; [*0A04.0020.0002] # FLORAL HEART
+2767 ; [*0A05.0020.0002] # ROTATED FLORAL HEART BULLET
+2768 ; [*0330.0020.0002] # MEDIUM LEFT PARENTHESIS ORNAMENT
+2769 ; [*0331.0020.0002] # MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A ; [*0332.0020.0002] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B ; [*0333.0020.0002] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C ; [*0334.0020.0002] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D ; [*0335.0020.0002] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E ; [*0336.0020.0002] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F ; [*0337.0020.0002] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770 ; [*0338.0020.0002] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771 ; [*0339.0020.0002] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772 ; [*033A.0020.0002] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773 ; [*033B.0020.0002] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774 ; [*033C.0020.0002] # MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775 ; [*033D.0020.0002] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2794 ; [*0A06.0020.0002] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795 ; [*0A07.0020.0002] # HEAVY PLUS SIGN
+2796 ; [*0A08.0020.0002] # HEAVY MINUS SIGN
+2797 ; [*0A09.0020.0002] # HEAVY DIVISION SIGN
+2798 ; [*0A0A.0020.0002] # HEAVY SOUTH EAST ARROW
+2799 ; [*0A0B.0020.0002] # HEAVY RIGHTWARDS ARROW
+279A ; [*0A0C.0020.0002] # HEAVY NORTH EAST ARROW
+279B ; [*0A0D.0020.0002] # DRAFTING POINT RIGHTWARDS ARROW
+279C ; [*0A0E.0020.0002] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D ; [*0A0F.0020.0002] # TRIANGLE-HEADED RIGHTWARDS ARROW
+279E ; [*0A10.0020.0002] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F ; [*0A11.0020.0002] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0 ; [*0A12.0020.0002] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1 ; [*0A13.0020.0002] # BLACK RIGHTWARDS ARROW
+27A2 ; [*0A14.0020.0002] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3 ; [*0A15.0020.0002] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4 ; [*0A16.0020.0002] # BLACK RIGHTWARDS ARROWHEAD
+27A5 ; [*0A17.0020.0002] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6 ; [*0A18.0020.0002] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7 ; [*0A19.0020.0002] # SQUAT BLACK RIGHTWARDS ARROW
+27A8 ; [*0A1A.0020.0002] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9 ; [*0A1B.0020.0002] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA ; [*0A1C.0020.0002] # LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB ; [*0A1D.0020.0002] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC ; [*0A1E.0020.0002] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD ; [*0A1F.0020.0002] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE ; [*0A20.0020.0002] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF ; [*0A21.0020.0002] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0 ; [*0A22.0020.0002] # CURLY LOOP
+27B1 ; [*0A23.0020.0002] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2 ; [*0A24.0020.0002] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3 ; [*0A25.0020.0002] # WHITE-FEATHERED RIGHTWARDS ARROW
+27B4 ; [*0A26.0020.0002] # BLACK-FEATHERED SOUTH EAST ARROW
+27B5 ; [*0A27.0020.0002] # BLACK-FEATHERED RIGHTWARDS ARROW
+27B6 ; [*0A28.0020.0002] # BLACK-FEATHERED NORTH EAST ARROW
+27B7 ; [*0A29.0020.0002] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8 ; [*0A2A.0020.0002] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9 ; [*0A2B.0020.0002] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA ; [*0A2C.0020.0002] # TEARDROP-BARBED RIGHTWARDS ARROW
+27BB ; [*0A2D.0020.0002] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC ; [*0A2E.0020.0002] # WEDGE-TAILED RIGHTWARDS ARROW
+27BD ; [*0A2F.0020.0002] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE ; [*0A30.0020.0002] # OPEN-OUTLINED RIGHTWARDS ARROW
+27BF ; [*0A31.0020.0002] # DOUBLE CURLY LOOP
+27C0 ; [*0A32.0020.0002] # THREE DIMENSIONAL ANGLE
+27C1 ; [*0A33.0020.0002] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+27C2 ; [*0A34.0020.0002] # PERPENDICULAR
+27C3 ; [*0A35.0020.0002] # OPEN SUBSET
+27C4 ; [*0A36.0020.0002] # OPEN SUPERSET
+27C5 ; [*0324.0020.0002] # LEFT S-SHAPED BAG DELIMITER
+27C6 ; [*0325.0020.0002] # RIGHT S-SHAPED BAG DELIMITER
+27C7 ; [*0A37.0020.0002] # OR WITH DOT INSIDE
+27C8 ; [*0A38.0020.0002] # REVERSE SOLIDUS PRECEDING SUBSET
+27C9 ; [*0A39.0020.0002] # SUPERSET PRECEDING SOLIDUS
+27CA ; [*0A3A.0020.0002] # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB ; [*0A3B.0020.0002] # MATHEMATICAL RISING DIAGONAL
+27CC ; [*0A3C.0020.0002] # LONG DIVISION
+27CD ; [*0A3D.0020.0002] # MATHEMATICAL FALLING DIAGONAL
+27CE ; [*0A3E.0020.0002] # SQUARED LOGICAL AND
+27CF ; [*0A3F.0020.0002] # SQUARED LOGICAL OR
+27D0 ; [*0A40.0020.0002] # WHITE DIAMOND WITH CENTRED DOT
+27D1 ; [*0A41.0020.0002] # AND WITH DOT
+27D2 ; [*0A42.0020.0002] # ELEMENT OF OPENING UPWARDS
+27D3 ; [*0A43.0020.0002] # LOWER RIGHT CORNER WITH DOT
+27D4 ; [*0A44.0020.0002] # UPPER LEFT CORNER WITH DOT
+27D5 ; [*0A45.0020.0002] # LEFT OUTER JOIN
+27D6 ; [*0A46.0020.0002] # RIGHT OUTER JOIN
+27D7 ; [*0A47.0020.0002] # FULL OUTER JOIN
+27D8 ; [*0A48.0020.0002] # LARGE UP TACK
+27D9 ; [*0A49.0020.0002] # LARGE DOWN TACK
+27DA ; [*0A4A.0020.0002] # LEFT AND RIGHT DOUBLE TURNSTILE
+27DB ; [*0A4B.0020.0002] # LEFT AND RIGHT TACK
+27DC ; [*0A4C.0020.0002] # LEFT MULTIMAP
+27DD ; [*0A4D.0020.0002] # LONG RIGHT TACK
+27DE ; [*0A4E.0020.0002] # LONG LEFT TACK
+27DF ; [*0A4F.0020.0002] # UP TACK WITH CIRCLE ABOVE
+27E0 ; [*0A50.0020.0002] # LOZENGE DIVIDED BY HORIZONTAL RULE
+27E1 ; [*0A51.0020.0002] # WHITE CONCAVE-SIDED DIAMOND
+27E2 ; [*0A52.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+27E3 ; [*0A53.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+27E4 ; [*0A54.0020.0002] # WHITE SQUARE WITH LEFTWARDS TICK
+27E5 ; [*0A55.0020.0002] # WHITE SQUARE WITH RIGHTWARDS TICK
+27E6 ; [*0326.0020.0002] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7 ; [*0327.0020.0002] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8 ; [*0328.0020.0002] # MATHEMATICAL LEFT ANGLE BRACKET
+27E9 ; [*0329.0020.0002] # MATHEMATICAL RIGHT ANGLE BRACKET
+27EA ; [*032A.0020.0002] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB ; [*032B.0020.0002] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC ; [*032C.0020.0002] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED ; [*032D.0020.0002] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE ; [*032E.0020.0002] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF ; [*032F.0020.0002] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0 ; [*0A56.0020.0002] # UPWARDS QUADRUPLE ARROW
+27F1 ; [*0A57.0020.0002] # DOWNWARDS QUADRUPLE ARROW
+27F2 ; [*0A58.0020.0002] # ANTICLOCKWISE GAPPED CIRCLE ARROW
+27F3 ; [*0A59.0020.0002] # CLOCKWISE GAPPED CIRCLE ARROW
+27F4 ; [*0A5A.0020.0002] # RIGHT ARROW WITH CIRCLED PLUS
+27F5 ; [*0A5B.0020.0002] # LONG LEFTWARDS ARROW
+27F6 ; [*0A5C.0020.0002] # LONG RIGHTWARDS ARROW
+27F7 ; [*0A5D.0020.0002] # LONG LEFT RIGHT ARROW
+27F8 ; [*0A5E.0020.0002] # LONG LEFTWARDS DOUBLE ARROW
+27F9 ; [*0A5F.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW
+27FA ; [*0A60.0020.0002] # LONG LEFT RIGHT DOUBLE ARROW
+27FB ; [*0A61.0020.0002] # LONG LEFTWARDS ARROW FROM BAR
+27FC ; [*0A62.0020.0002] # LONG RIGHTWARDS ARROW FROM BAR
+27FD ; [*0A63.0020.0002] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
+27FE ; [*0A64.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+27FF ; [*0A65.0020.0002] # LONG RIGHTWARDS SQUIGGLE ARROW
+2800 ; [*0CA2.0020.0002] # BRAILLE PATTERN BLANK
+2801 ; [*0CA3.0020.0002] # BRAILLE PATTERN DOTS-1
+2802 ; [*0CA4.0020.0002] # BRAILLE PATTERN DOTS-2
+2803 ; [*0CA5.0020.0002] # BRAILLE PATTERN DOTS-12
+2804 ; [*0CA6.0020.0002] # BRAILLE PATTERN DOTS-3
+2805 ; [*0CA7.0020.0002] # BRAILLE PATTERN DOTS-13
+2806 ; [*0CA8.0020.0002] # BRAILLE PATTERN DOTS-23
+2807 ; [*0CA9.0020.0002] # BRAILLE PATTERN DOTS-123
+2808 ; [*0CAA.0020.0002] # BRAILLE PATTERN DOTS-4
+2809 ; [*0CAB.0020.0002] # BRAILLE PATTERN DOTS-14
+280A ; [*0CAC.0020.0002] # BRAILLE PATTERN DOTS-24
+280B ; [*0CAD.0020.0002] # BRAILLE PATTERN DOTS-124
+280C ; [*0CAE.0020.0002] # BRAILLE PATTERN DOTS-34
+280D ; [*0CAF.0020.0002] # BRAILLE PATTERN DOTS-134
+280E ; [*0CB0.0020.0002] # BRAILLE PATTERN DOTS-234
+280F ; [*0CB1.0020.0002] # BRAILLE PATTERN DOTS-1234
+2810 ; [*0CB2.0020.0002] # BRAILLE PATTERN DOTS-5
+2811 ; [*0CB3.0020.0002] # BRAILLE PATTERN DOTS-15
+2812 ; [*0CB4.0020.0002] # BRAILLE PATTERN DOTS-25
+2813 ; [*0CB5.0020.0002] # BRAILLE PATTERN DOTS-125
+2814 ; [*0CB6.0020.0002] # BRAILLE PATTERN DOTS-35
+2815 ; [*0CB7.0020.0002] # BRAILLE PATTERN DOTS-135
+2816 ; [*0CB8.0020.0002] # BRAILLE PATTERN DOTS-235
+2817 ; [*0CB9.0020.0002] # BRAILLE PATTERN DOTS-1235
+2818 ; [*0CBA.0020.0002] # BRAILLE PATTERN DOTS-45
+2819 ; [*0CBB.0020.0002] # BRAILLE PATTERN DOTS-145
+281A ; [*0CBC.0020.0002] # BRAILLE PATTERN DOTS-245
+281B ; [*0CBD.0020.0002] # BRAILLE PATTERN DOTS-1245
+281C ; [*0CBE.0020.0002] # BRAILLE PATTERN DOTS-345
+281D ; [*0CBF.0020.0002] # BRAILLE PATTERN DOTS-1345
+281E ; [*0CC0.0020.0002] # BRAILLE PATTERN DOTS-2345
+281F ; [*0CC1.0020.0002] # BRAILLE PATTERN DOTS-12345
+2820 ; [*0CC2.0020.0002] # BRAILLE PATTERN DOTS-6
+2821 ; [*0CC3.0020.0002] # BRAILLE PATTERN DOTS-16
+2822 ; [*0CC4.0020.0002] # BRAILLE PATTERN DOTS-26
+2823 ; [*0CC5.0020.0002] # BRAILLE PATTERN DOTS-126
+2824 ; [*0CC6.0020.0002] # BRAILLE PATTERN DOTS-36
+2825 ; [*0CC7.0020.0002] # BRAILLE PATTERN DOTS-136
+2826 ; [*0CC8.0020.0002] # BRAILLE PATTERN DOTS-236
+2827 ; [*0CC9.0020.0002] # BRAILLE PATTERN DOTS-1236
+2828 ; [*0CCA.0020.0002] # BRAILLE PATTERN DOTS-46
+2829 ; [*0CCB.0020.0002] # BRAILLE PATTERN DOTS-146
+282A ; [*0CCC.0020.0002] # BRAILLE PATTERN DOTS-246
+282B ; [*0CCD.0020.0002] # BRAILLE PATTERN DOTS-1246
+282C ; [*0CCE.0020.0002] # BRAILLE PATTERN DOTS-346
+282D ; [*0CCF.0020.0002] # BRAILLE PATTERN DOTS-1346
+282E ; [*0CD0.0020.0002] # BRAILLE PATTERN DOTS-2346
+282F ; [*0CD1.0020.0002] # BRAILLE PATTERN DOTS-12346
+2830 ; [*0CD2.0020.0002] # BRAILLE PATTERN DOTS-56
+2831 ; [*0CD3.0020.0002] # BRAILLE PATTERN DOTS-156
+2832 ; [*0CD4.0020.0002] # BRAILLE PATTERN DOTS-256
+2833 ; [*0CD5.0020.0002] # BRAILLE PATTERN DOTS-1256
+2834 ; [*0CD6.0020.0002] # BRAILLE PATTERN DOTS-356
+2835 ; [*0CD7.0020.0002] # BRAILLE PATTERN DOTS-1356
+2836 ; [*0CD8.0020.0002] # BRAILLE PATTERN DOTS-2356
+2837 ; [*0CD9.0020.0002] # BRAILLE PATTERN DOTS-12356
+2838 ; [*0CDA.0020.0002] # BRAILLE PATTERN DOTS-456
+2839 ; [*0CDB.0020.0002] # BRAILLE PATTERN DOTS-1456
+283A ; [*0CDC.0020.0002] # BRAILLE PATTERN DOTS-2456
+283B ; [*0CDD.0020.0002] # BRAILLE PATTERN DOTS-12456
+283C ; [*0CDE.0020.0002] # BRAILLE PATTERN DOTS-3456
+283D ; [*0CDF.0020.0002] # BRAILLE PATTERN DOTS-13456
+283E ; [*0CE0.0020.0002] # BRAILLE PATTERN DOTS-23456
+283F ; [*0CE1.0020.0002] # BRAILLE PATTERN DOTS-123456
+2840 ; [*0CE2.0020.0002] # BRAILLE PATTERN DOTS-7
+2841 ; [*0CE3.0020.0002] # BRAILLE PATTERN DOTS-17
+2842 ; [*0CE4.0020.0002] # BRAILLE PATTERN DOTS-27
+2843 ; [*0CE5.0020.0002] # BRAILLE PATTERN DOTS-127
+2844 ; [*0CE6.0020.0002] # BRAILLE PATTERN DOTS-37
+2845 ; [*0CE7.0020.0002] # BRAILLE PATTERN DOTS-137
+2846 ; [*0CE8.0020.0002] # BRAILLE PATTERN DOTS-237
+2847 ; [*0CE9.0020.0002] # BRAILLE PATTERN DOTS-1237
+2848 ; [*0CEA.0020.0002] # BRAILLE PATTERN DOTS-47
+2849 ; [*0CEB.0020.0002] # BRAILLE PATTERN DOTS-147
+284A ; [*0CEC.0020.0002] # BRAILLE PATTERN DOTS-247
+284B ; [*0CED.0020.0002] # BRAILLE PATTERN DOTS-1247
+284C ; [*0CEE.0020.0002] # BRAILLE PATTERN DOTS-347
+284D ; [*0CEF.0020.0002] # BRAILLE PATTERN DOTS-1347
+284E ; [*0CF0.0020.0002] # BRAILLE PATTERN DOTS-2347
+284F ; [*0CF1.0020.0002] # BRAILLE PATTERN DOTS-12347
+2850 ; [*0CF2.0020.0002] # BRAILLE PATTERN DOTS-57
+2851 ; [*0CF3.0020.0002] # BRAILLE PATTERN DOTS-157
+2852 ; [*0CF4.0020.0002] # BRAILLE PATTERN DOTS-257
+2853 ; [*0CF5.0020.0002] # BRAILLE PATTERN DOTS-1257
+2854 ; [*0CF6.0020.0002] # BRAILLE PATTERN DOTS-357
+2855 ; [*0CF7.0020.0002] # BRAILLE PATTERN DOTS-1357
+2856 ; [*0CF8.0020.0002] # BRAILLE PATTERN DOTS-2357
+2857 ; [*0CF9.0020.0002] # BRAILLE PATTERN DOTS-12357
+2858 ; [*0CFA.0020.0002] # BRAILLE PATTERN DOTS-457
+2859 ; [*0CFB.0020.0002] # BRAILLE PATTERN DOTS-1457
+285A ; [*0CFC.0020.0002] # BRAILLE PATTERN DOTS-2457
+285B ; [*0CFD.0020.0002] # BRAILLE PATTERN DOTS-12457
+285C ; [*0CFE.0020.0002] # BRAILLE PATTERN DOTS-3457
+285D ; [*0CFF.0020.0002] # BRAILLE PATTERN DOTS-13457
+285E ; [*0D00.0020.0002] # BRAILLE PATTERN DOTS-23457
+285F ; [*0D01.0020.0002] # BRAILLE PATTERN DOTS-123457
+2860 ; [*0D02.0020.0002] # BRAILLE PATTERN DOTS-67
+2861 ; [*0D03.0020.0002] # BRAILLE PATTERN DOTS-167
+2862 ; [*0D04.0020.0002] # BRAILLE PATTERN DOTS-267
+2863 ; [*0D05.0020.0002] # BRAILLE PATTERN DOTS-1267
+2864 ; [*0D06.0020.0002] # BRAILLE PATTERN DOTS-367
+2865 ; [*0D07.0020.0002] # BRAILLE PATTERN DOTS-1367
+2866 ; [*0D08.0020.0002] # BRAILLE PATTERN DOTS-2367
+2867 ; [*0D09.0020.0002] # BRAILLE PATTERN DOTS-12367
+2868 ; [*0D0A.0020.0002] # BRAILLE PATTERN DOTS-467
+2869 ; [*0D0B.0020.0002] # BRAILLE PATTERN DOTS-1467
+286A ; [*0D0C.0020.0002] # BRAILLE PATTERN DOTS-2467
+286B ; [*0D0D.0020.0002] # BRAILLE PATTERN DOTS-12467
+286C ; [*0D0E.0020.0002] # BRAILLE PATTERN DOTS-3467
+286D ; [*0D0F.0020.0002] # BRAILLE PATTERN DOTS-13467
+286E ; [*0D10.0020.0002] # BRAILLE PATTERN DOTS-23467
+286F ; [*0D11.0020.0002] # BRAILLE PATTERN DOTS-123467
+2870 ; [*0D12.0020.0002] # BRAILLE PATTERN DOTS-567
+2871 ; [*0D13.0020.0002] # BRAILLE PATTERN DOTS-1567
+2872 ; [*0D14.0020.0002] # BRAILLE PATTERN DOTS-2567
+2873 ; [*0D15.0020.0002] # BRAILLE PATTERN DOTS-12567
+2874 ; [*0D16.0020.0002] # BRAILLE PATTERN DOTS-3567
+2875 ; [*0D17.0020.0002] # BRAILLE PATTERN DOTS-13567
+2876 ; [*0D18.0020.0002] # BRAILLE PATTERN DOTS-23567
+2877 ; [*0D19.0020.0002] # BRAILLE PATTERN DOTS-123567
+2878 ; [*0D1A.0020.0002] # BRAILLE PATTERN DOTS-4567
+2879 ; [*0D1B.0020.0002] # BRAILLE PATTERN DOTS-14567
+287A ; [*0D1C.0020.0002] # BRAILLE PATTERN DOTS-24567
+287B ; [*0D1D.0020.0002] # BRAILLE PATTERN DOTS-124567
+287C ; [*0D1E.0020.0002] # BRAILLE PATTERN DOTS-34567
+287D ; [*0D1F.0020.0002] # BRAILLE PATTERN DOTS-134567
+287E ; [*0D20.0020.0002] # BRAILLE PATTERN DOTS-234567
+287F ; [*0D21.0020.0002] # BRAILLE PATTERN DOTS-1234567
+2880 ; [*0D22.0020.0002] # BRAILLE PATTERN DOTS-8
+2881 ; [*0D23.0020.0002] # BRAILLE PATTERN DOTS-18
+2882 ; [*0D24.0020.0002] # BRAILLE PATTERN DOTS-28
+2883 ; [*0D25.0020.0002] # BRAILLE PATTERN DOTS-128
+2884 ; [*0D26.0020.0002] # BRAILLE PATTERN DOTS-38
+2885 ; [*0D27.0020.0002] # BRAILLE PATTERN DOTS-138
+2886 ; [*0D28.0020.0002] # BRAILLE PATTERN DOTS-238
+2887 ; [*0D29.0020.0002] # BRAILLE PATTERN DOTS-1238
+2888 ; [*0D2A.0020.0002] # BRAILLE PATTERN DOTS-48
+2889 ; [*0D2B.0020.0002] # BRAILLE PATTERN DOTS-148
+288A ; [*0D2C.0020.0002] # BRAILLE PATTERN DOTS-248
+288B ; [*0D2D.0020.0002] # BRAILLE PATTERN DOTS-1248
+288C ; [*0D2E.0020.0002] # BRAILLE PATTERN DOTS-348
+288D ; [*0D2F.0020.0002] # BRAILLE PATTERN DOTS-1348
+288E ; [*0D30.0020.0002] # BRAILLE PATTERN DOTS-2348
+288F ; [*0D31.0020.0002] # BRAILLE PATTERN DOTS-12348
+2890 ; [*0D32.0020.0002] # BRAILLE PATTERN DOTS-58
+2891 ; [*0D33.0020.0002] # BRAILLE PATTERN DOTS-158
+2892 ; [*0D34.0020.0002] # BRAILLE PATTERN DOTS-258
+2893 ; [*0D35.0020.0002] # BRAILLE PATTERN DOTS-1258
+2894 ; [*0D36.0020.0002] # BRAILLE PATTERN DOTS-358
+2895 ; [*0D37.0020.0002] # BRAILLE PATTERN DOTS-1358
+2896 ; [*0D38.0020.0002] # BRAILLE PATTERN DOTS-2358
+2897 ; [*0D39.0020.0002] # BRAILLE PATTERN DOTS-12358
+2898 ; [*0D3A.0020.0002] # BRAILLE PATTERN DOTS-458
+2899 ; [*0D3B.0020.0002] # BRAILLE PATTERN DOTS-1458
+289A ; [*0D3C.0020.0002] # BRAILLE PATTERN DOTS-2458
+289B ; [*0D3D.0020.0002] # BRAILLE PATTERN DOTS-12458
+289C ; [*0D3E.0020.0002] # BRAILLE PATTERN DOTS-3458
+289D ; [*0D3F.0020.0002] # BRAILLE PATTERN DOTS-13458
+289E ; [*0D40.0020.0002] # BRAILLE PATTERN DOTS-23458
+289F ; [*0D41.0020.0002] # BRAILLE PATTERN DOTS-123458
+28A0 ; [*0D42.0020.0002] # BRAILLE PATTERN DOTS-68
+28A1 ; [*0D43.0020.0002] # BRAILLE PATTERN DOTS-168
+28A2 ; [*0D44.0020.0002] # BRAILLE PATTERN DOTS-268
+28A3 ; [*0D45.0020.0002] # BRAILLE PATTERN DOTS-1268
+28A4 ; [*0D46.0020.0002] # BRAILLE PATTERN DOTS-368
+28A5 ; [*0D47.0020.0002] # BRAILLE PATTERN DOTS-1368
+28A6 ; [*0D48.0020.0002] # BRAILLE PATTERN DOTS-2368
+28A7 ; [*0D49.0020.0002] # BRAILLE PATTERN DOTS-12368
+28A8 ; [*0D4A.0020.0002] # BRAILLE PATTERN DOTS-468
+28A9 ; [*0D4B.0020.0002] # BRAILLE PATTERN DOTS-1468
+28AA ; [*0D4C.0020.0002] # BRAILLE PATTERN DOTS-2468
+28AB ; [*0D4D.0020.0002] # BRAILLE PATTERN DOTS-12468
+28AC ; [*0D4E.0020.0002] # BRAILLE PATTERN DOTS-3468
+28AD ; [*0D4F.0020.0002] # BRAILLE PATTERN DOTS-13468
+28AE ; [*0D50.0020.0002] # BRAILLE PATTERN DOTS-23468
+28AF ; [*0D51.0020.0002] # BRAILLE PATTERN DOTS-123468
+28B0 ; [*0D52.0020.0002] # BRAILLE PATTERN DOTS-568
+28B1 ; [*0D53.0020.0002] # BRAILLE PATTERN DOTS-1568
+28B2 ; [*0D54.0020.0002] # BRAILLE PATTERN DOTS-2568
+28B3 ; [*0D55.0020.0002] # BRAILLE PATTERN DOTS-12568
+28B4 ; [*0D56.0020.0002] # BRAILLE PATTERN DOTS-3568
+28B5 ; [*0D57.0020.0002] # BRAILLE PATTERN DOTS-13568
+28B6 ; [*0D58.0020.0002] # BRAILLE PATTERN DOTS-23568
+28B7 ; [*0D59.0020.0002] # BRAILLE PATTERN DOTS-123568
+28B8 ; [*0D5A.0020.0002] # BRAILLE PATTERN DOTS-4568
+28B9 ; [*0D5B.0020.0002] # BRAILLE PATTERN DOTS-14568
+28BA ; [*0D5C.0020.0002] # BRAILLE PATTERN DOTS-24568
+28BB ; [*0D5D.0020.0002] # BRAILLE PATTERN DOTS-124568
+28BC ; [*0D5E.0020.0002] # BRAILLE PATTERN DOTS-34568
+28BD ; [*0D5F.0020.0002] # BRAILLE PATTERN DOTS-134568
+28BE ; [*0D60.0020.0002] # BRAILLE PATTERN DOTS-234568
+28BF ; [*0D61.0020.0002] # BRAILLE PATTERN DOTS-1234568
+28C0 ; [*0D62.0020.0002] # BRAILLE PATTERN DOTS-78
+28C1 ; [*0D63.0020.0002] # BRAILLE PATTERN DOTS-178
+28C2 ; [*0D64.0020.0002] # BRAILLE PATTERN DOTS-278
+28C3 ; [*0D65.0020.0002] # BRAILLE PATTERN DOTS-1278
+28C4 ; [*0D66.0020.0002] # BRAILLE PATTERN DOTS-378
+28C5 ; [*0D67.0020.0002] # BRAILLE PATTERN DOTS-1378
+28C6 ; [*0D68.0020.0002] # BRAILLE PATTERN DOTS-2378
+28C7 ; [*0D69.0020.0002] # BRAILLE PATTERN DOTS-12378
+28C8 ; [*0D6A.0020.0002] # BRAILLE PATTERN DOTS-478
+28C9 ; [*0D6B.0020.0002] # BRAILLE PATTERN DOTS-1478
+28CA ; [*0D6C.0020.0002] # BRAILLE PATTERN DOTS-2478
+28CB ; [*0D6D.0020.0002] # BRAILLE PATTERN DOTS-12478
+28CC ; [*0D6E.0020.0002] # BRAILLE PATTERN DOTS-3478
+28CD ; [*0D6F.0020.0002] # BRAILLE PATTERN DOTS-13478
+28CE ; [*0D70.0020.0002] # BRAILLE PATTERN DOTS-23478
+28CF ; [*0D71.0020.0002] # BRAILLE PATTERN DOTS-123478
+28D0 ; [*0D72.0020.0002] # BRAILLE PATTERN DOTS-578
+28D1 ; [*0D73.0020.0002] # BRAILLE PATTERN DOTS-1578
+28D2 ; [*0D74.0020.0002] # BRAILLE PATTERN DOTS-2578
+28D3 ; [*0D75.0020.0002] # BRAILLE PATTERN DOTS-12578
+28D4 ; [*0D76.0020.0002] # BRAILLE PATTERN DOTS-3578
+28D5 ; [*0D77.0020.0002] # BRAILLE PATTERN DOTS-13578
+28D6 ; [*0D78.0020.0002] # BRAILLE PATTERN DOTS-23578
+28D7 ; [*0D79.0020.0002] # BRAILLE PATTERN DOTS-123578
+28D8 ; [*0D7A.0020.0002] # BRAILLE PATTERN DOTS-4578
+28D9 ; [*0D7B.0020.0002] # BRAILLE PATTERN DOTS-14578
+28DA ; [*0D7C.0020.0002] # BRAILLE PATTERN DOTS-24578
+28DB ; [*0D7D.0020.0002] # BRAILLE PATTERN DOTS-124578
+28DC ; [*0D7E.0020.0002] # BRAILLE PATTERN DOTS-34578
+28DD ; [*0D7F.0020.0002] # BRAILLE PATTERN DOTS-134578
+28DE ; [*0D80.0020.0002] # BRAILLE PATTERN DOTS-234578
+28DF ; [*0D81.0020.0002] # BRAILLE PATTERN DOTS-1234578
+28E0 ; [*0D82.0020.0002] # BRAILLE PATTERN DOTS-678
+28E1 ; [*0D83.0020.0002] # BRAILLE PATTERN DOTS-1678
+28E2 ; [*0D84.0020.0002] # BRAILLE PATTERN DOTS-2678
+28E3 ; [*0D85.0020.0002] # BRAILLE PATTERN DOTS-12678
+28E4 ; [*0D86.0020.0002] # BRAILLE PATTERN DOTS-3678
+28E5 ; [*0D87.0020.0002] # BRAILLE PATTERN DOTS-13678
+28E6 ; [*0D88.0020.0002] # BRAILLE PATTERN DOTS-23678
+28E7 ; [*0D89.0020.0002] # BRAILLE PATTERN DOTS-123678
+28E8 ; [*0D8A.0020.0002] # BRAILLE PATTERN DOTS-4678
+28E9 ; [*0D8B.0020.0002] # BRAILLE PATTERN DOTS-14678
+28EA ; [*0D8C.0020.0002] # BRAILLE PATTERN DOTS-24678
+28EB ; [*0D8D.0020.0002] # BRAILLE PATTERN DOTS-124678
+28EC ; [*0D8E.0020.0002] # BRAILLE PATTERN DOTS-34678
+28ED ; [*0D8F.0020.0002] # BRAILLE PATTERN DOTS-134678
+28EE ; [*0D90.0020.0002] # BRAILLE PATTERN DOTS-234678
+28EF ; [*0D91.0020.0002] # BRAILLE PATTERN DOTS-1234678
+28F0 ; [*0D92.0020.0002] # BRAILLE PATTERN DOTS-5678
+28F1 ; [*0D93.0020.0002] # BRAILLE PATTERN DOTS-15678
+28F2 ; [*0D94.0020.0002] # BRAILLE PATTERN DOTS-25678
+28F3 ; [*0D95.0020.0002] # BRAILLE PATTERN DOTS-125678
+28F4 ; [*0D96.0020.0002] # BRAILLE PATTERN DOTS-35678
+28F5 ; [*0D97.0020.0002] # BRAILLE PATTERN DOTS-135678
+28F6 ; [*0D98.0020.0002] # BRAILLE PATTERN DOTS-235678
+28F7 ; [*0D99.0020.0002] # BRAILLE PATTERN DOTS-1235678
+28F8 ; [*0D9A.0020.0002] # BRAILLE PATTERN DOTS-45678
+28F9 ; [*0D9B.0020.0002] # BRAILLE PATTERN DOTS-145678
+28FA ; [*0D9C.0020.0002] # BRAILLE PATTERN DOTS-245678
+28FB ; [*0D9D.0020.0002] # BRAILLE PATTERN DOTS-1245678
+28FC ; [*0D9E.0020.0002] # BRAILLE PATTERN DOTS-345678
+28FD ; [*0D9F.0020.0002] # BRAILLE PATTERN DOTS-1345678
+28FE ; [*0DA0.0020.0002] # BRAILLE PATTERN DOTS-2345678
+28FF ; [*0DA1.0020.0002] # BRAILLE PATTERN DOTS-12345678
+2900 ; [*0A66.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2901 ; [*0A67.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2902 ; [*0A68.0020.0002] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2903 ; [*0A69.0020.0002] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2904 ; [*0A6A.0020.0002] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+2905 ; [*0A6B.0020.0002] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
+2906 ; [*0A6C.0020.0002] # LEFTWARDS DOUBLE ARROW FROM BAR
+2907 ; [*0A6D.0020.0002] # RIGHTWARDS DOUBLE ARROW FROM BAR
+2908 ; [*0A6E.0020.0002] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
+2909 ; [*0A6F.0020.0002] # UPWARDS ARROW WITH HORIZONTAL STROKE
+290A ; [*0A70.0020.0002] # UPWARDS TRIPLE ARROW
+290B ; [*0A71.0020.0002] # DOWNWARDS TRIPLE ARROW
+290C ; [*0A72.0020.0002] # LEFTWARDS DOUBLE DASH ARROW
+290D ; [*0A73.0020.0002] # RIGHTWARDS DOUBLE DASH ARROW
+290E ; [*0A74.0020.0002] # LEFTWARDS TRIPLE DASH ARROW
+290F ; [*0A75.0020.0002] # RIGHTWARDS TRIPLE DASH ARROW
+2910 ; [*0A76.0020.0002] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+2911 ; [*0A77.0020.0002] # RIGHTWARDS ARROW WITH DOTTED STEM
+2912 ; [*0A78.0020.0002] # UPWARDS ARROW TO BAR
+2913 ; [*0A79.0020.0002] # DOWNWARDS ARROW TO BAR
+2914 ; [*0A7A.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2915 ; [*0A7B.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2916 ; [*0A7C.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+2917 ; [*0A7D.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2918 ; [*0A7E.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2919 ; [*0A7F.0020.0002] # LEFTWARDS ARROW-TAIL
+291A ; [*0A80.0020.0002] # RIGHTWARDS ARROW-TAIL
+291B ; [*0A81.0020.0002] # LEFTWARDS DOUBLE ARROW-TAIL
+291C ; [*0A82.0020.0002] # RIGHTWARDS DOUBLE ARROW-TAIL
+291D ; [*0A83.0020.0002] # LEFTWARDS ARROW TO BLACK DIAMOND
+291E ; [*0A84.0020.0002] # RIGHTWARDS ARROW TO BLACK DIAMOND
+291F ; [*0A85.0020.0002] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2920 ; [*0A86.0020.0002] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2921 ; [*0A87.0020.0002] # NORTH WEST AND SOUTH EAST ARROW
+2922 ; [*0A88.0020.0002] # NORTH EAST AND SOUTH WEST ARROW
+2923 ; [*0A89.0020.0002] # NORTH WEST ARROW WITH HOOK
+2924 ; [*0A8A.0020.0002] # NORTH EAST ARROW WITH HOOK
+2925 ; [*0A8B.0020.0002] # SOUTH EAST ARROW WITH HOOK
+2926 ; [*0A8C.0020.0002] # SOUTH WEST ARROW WITH HOOK
+2927 ; [*0A8D.0020.0002] # NORTH WEST ARROW AND NORTH EAST ARROW
+2928 ; [*0A8E.0020.0002] # NORTH EAST ARROW AND SOUTH EAST ARROW
+2929 ; [*0A8F.0020.0002] # SOUTH EAST ARROW AND SOUTH WEST ARROW
+292A ; [*0A90.0020.0002] # SOUTH WEST ARROW AND NORTH WEST ARROW
+292B ; [*0A91.0020.0002] # RISING DIAGONAL CROSSING FALLING DIAGONAL
+292C ; [*0A92.0020.0002] # FALLING DIAGONAL CROSSING RISING DIAGONAL
+292D ; [*0A93.0020.0002] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+292E ; [*0A94.0020.0002] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+292F ; [*0A95.0020.0002] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
+2930 ; [*0A96.0020.0002] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
+2931 ; [*0A97.0020.0002] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
+2932 ; [*0A98.0020.0002] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
+2933 ; [*0A99.0020.0002] # WAVE ARROW POINTING DIRECTLY RIGHT
+2934 ; [*0A9A.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935 ; [*0A9B.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2936 ; [*0A9C.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+2937 ; [*0A9D.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+2938 ; [*0A9E.0020.0002] # RIGHT-SIDE ARC CLOCKWISE ARROW
+2939 ; [*0A9F.0020.0002] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
+293A ; [*0AA0.0020.0002] # TOP ARC ANTICLOCKWISE ARROW
+293B ; [*0AA1.0020.0002] # BOTTOM ARC ANTICLOCKWISE ARROW
+293C ; [*0AA2.0020.0002] # TOP ARC CLOCKWISE ARROW WITH MINUS
+293D ; [*0AA3.0020.0002] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+293E ; [*0AA4.0020.0002] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+293F ; [*0AA5.0020.0002] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+2940 ; [*0AA6.0020.0002] # ANTICLOCKWISE CLOSED CIRCLE ARROW
+2941 ; [*0AA7.0020.0002] # CLOCKWISE CLOSED CIRCLE ARROW
+2942 ; [*0AA8.0020.0002] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+2943 ; [*0AA9.0020.0002] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+2944 ; [*0AAA.0020.0002] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+2945 ; [*0AAB.0020.0002] # RIGHTWARDS ARROW WITH PLUS BELOW
+2946 ; [*0AAC.0020.0002] # LEFTWARDS ARROW WITH PLUS BELOW
+2947 ; [*0AAD.0020.0002] # RIGHTWARDS ARROW THROUGH X
+2948 ; [*0AAE.0020.0002] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+2949 ; [*0AAF.0020.0002] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+294A ; [*0AB0.0020.0002] # LEFT BARB UP RIGHT BARB DOWN HARPOON
+294B ; [*0AB1.0020.0002] # LEFT BARB DOWN RIGHT BARB UP HARPOON
+294C ; [*0AB2.0020.0002] # UP BARB RIGHT DOWN BARB LEFT HARPOON
+294D ; [*0AB3.0020.0002] # UP BARB LEFT DOWN BARB RIGHT HARPOON
+294E ; [*0AB4.0020.0002] # LEFT BARB UP RIGHT BARB UP HARPOON
+294F ; [*0AB5.0020.0002] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
+2950 ; [*0AB6.0020.0002] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+2951 ; [*0AB7.0020.0002] # UP BARB LEFT DOWN BARB LEFT HARPOON
+2952 ; [*0AB8.0020.0002] # LEFTWARDS HARPOON WITH BARB UP TO BAR
+2953 ; [*0AB9.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
+2954 ; [*0ABA.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
+2955 ; [*0ABB.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+2956 ; [*0ABC.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+2957 ; [*0ABD.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+2958 ; [*0ABE.0020.0002] # UPWARDS HARPOON WITH BARB LEFT TO BAR
+2959 ; [*0ABF.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+295A ; [*0AC0.0020.0002] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
+295B ; [*0AC1.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+295C ; [*0AC2.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+295D ; [*0AC3.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+295E ; [*0AC4.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+295F ; [*0AC5.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+2960 ; [*0AC6.0020.0002] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
+2961 ; [*0AC7.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+2962 ; [*0AC8.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+2963 ; [*0AC9.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2964 ; [*0ACA.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2965 ; [*0ACB.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+2966 ; [*0ACC.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+2967 ; [*0ACD.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2968 ; [*0ACE.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+2969 ; [*0ACF.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+296A ; [*0AD0.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296B ; [*0AD1.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296C ; [*0AD2.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296D ; [*0AD3.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296E ; [*0AD4.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+296F ; [*0AD5.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2970 ; [*0AD6.0020.0002] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+2971 ; [*0AD7.0020.0002] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
+2972 ; [*0AD8.0020.0002] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2973 ; [*0AD9.0020.0002] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
+2974 ; [*0ADA.0020.0002] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+2975 ; [*0ADB.0020.0002] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+2976 ; [*0ADC.0020.0002] # LESS-THAN ABOVE LEFTWARDS ARROW
+2977 ; [*0ADD.0020.0002] # LEFTWARDS ARROW THROUGH LESS-THAN
+2978 ; [*0ADE.0020.0002] # GREATER-THAN ABOVE RIGHTWARDS ARROW
+2979 ; [*0ADF.0020.0002] # SUBSET ABOVE RIGHTWARDS ARROW
+297A ; [*0AE0.0020.0002] # LEFTWARDS ARROW THROUGH SUBSET
+297B ; [*0AE1.0020.0002] # SUPERSET ABOVE LEFTWARDS ARROW
+297C ; [*0AE2.0020.0002] # LEFT FISH TAIL
+297D ; [*0AE3.0020.0002] # RIGHT FISH TAIL
+297E ; [*0AE4.0020.0002] # UP FISH TAIL
+297F ; [*0AE5.0020.0002] # DOWN FISH TAIL
+2980 ; [*0AE6.0020.0002] # TRIPLE VERTICAL BAR DELIMITER
+2981 ; [*0AE7.0020.0002] # Z NOTATION SPOT
+2982 ; [*0AE8.0020.0002] # Z NOTATION TYPE COLON
+2983 ; [*030E.0020.0002] # LEFT WHITE CURLY BRACKET
+2984 ; [*030F.0020.0002] # RIGHT WHITE CURLY BRACKET
+2985 ; [*0310.0020.0002] # LEFT WHITE PARENTHESIS
+2986 ; [*0311.0020.0002] # RIGHT WHITE PARENTHESIS
+2987 ; [*0312.0020.0002] # Z NOTATION LEFT IMAGE BRACKET
+2988 ; [*0313.0020.0002] # Z NOTATION RIGHT IMAGE BRACKET
+2989 ; [*0314.0020.0002] # Z NOTATION LEFT BINDING BRACKET
+298A ; [*0315.0020.0002] # Z NOTATION RIGHT BINDING BRACKET
+298B ; [*0316.0020.0002] # LEFT SQUARE BRACKET WITH UNDERBAR
+298C ; [*0317.0020.0002] # RIGHT SQUARE BRACKET WITH UNDERBAR
+298D ; [*0318.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E ; [*0319.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F ; [*031A.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990 ; [*031B.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991 ; [*031C.0020.0002] # LEFT ANGLE BRACKET WITH DOT
+2992 ; [*031D.0020.0002] # RIGHT ANGLE BRACKET WITH DOT
+2993 ; [*031E.0020.0002] # LEFT ARC LESS-THAN BRACKET
+2994 ; [*031F.0020.0002] # RIGHT ARC GREATER-THAN BRACKET
+2995 ; [*0320.0020.0002] # DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996 ; [*0321.0020.0002] # DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997 ; [*0322.0020.0002] # LEFT BLACK TORTOISE SHELL BRACKET
+2998 ; [*0323.0020.0002] # RIGHT BLACK TORTOISE SHELL BRACKET
+2999 ; [*0AE9.0020.0002] # DOTTED FENCE
+299A ; [*0AEA.0020.0002] # VERTICAL ZIGZAG LINE
+299B ; [*0AEB.0020.0002] # MEASURED ANGLE OPENING LEFT
+299C ; [*0AEC.0020.0002] # RIGHT ANGLE VARIANT WITH SQUARE
+299D ; [*0AED.0020.0002] # MEASURED RIGHT ANGLE WITH DOT
+299E ; [*0AEE.0020.0002] # ANGLE WITH S INSIDE
+299F ; [*0AEF.0020.0002] # ACUTE ANGLE
+29A0 ; [*0AF0.0020.0002] # SPHERICAL ANGLE OPENING LEFT
+29A1 ; [*0AF1.0020.0002] # SPHERICAL ANGLE OPENING UP
+29A2 ; [*0AF2.0020.0002] # TURNED ANGLE
+29A3 ; [*0AF3.0020.0002] # REVERSED ANGLE
+29A4 ; [*0AF4.0020.0002] # ANGLE WITH UNDERBAR
+29A5 ; [*0AF5.0020.0002] # REVERSED ANGLE WITH UNDERBAR
+29A6 ; [*0AF6.0020.0002] # OBLIQUE ANGLE OPENING UP
+29A7 ; [*0AF7.0020.0002] # OBLIQUE ANGLE OPENING DOWN
+29A8 ; [*0AF8.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9 ; [*0AF9.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA ; [*0AFA.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB ; [*0AFB.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC ; [*0AFC.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD ; [*0AFD.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE ; [*0AFE.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF ; [*0AFF.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+29B0 ; [*0B00.0020.0002] # REVERSED EMPTY SET
+29B1 ; [*0B01.0020.0002] # EMPTY SET WITH OVERBAR
+29B2 ; [*0B02.0020.0002] # EMPTY SET WITH SMALL CIRCLE ABOVE
+29B3 ; [*0B03.0020.0002] # EMPTY SET WITH RIGHT ARROW ABOVE
+29B4 ; [*0B04.0020.0002] # EMPTY SET WITH LEFT ARROW ABOVE
+29B5 ; [*0B05.0020.0002] # CIRCLE WITH HORIZONTAL BAR
+29B6 ; [*0B06.0020.0002] # CIRCLED VERTICAL BAR
+29B7 ; [*0B07.0020.0002] # CIRCLED PARALLEL
+29B8 ; [*0B08.0020.0002] # CIRCLED REVERSE SOLIDUS
+29B9 ; [*0B09.0020.0002] # CIRCLED PERPENDICULAR
+29BA ; [*0B0A.0020.0002] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+29BB ; [*0B0B.0020.0002] # CIRCLE WITH SUPERIMPOSED X
+29BC ; [*0B0C.0020.0002] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+29BD ; [*0B0D.0020.0002] # UP ARROW THROUGH CIRCLE
+29BE ; [*0B0E.0020.0002] # CIRCLED WHITE BULLET
+29BF ; [*0B0F.0020.0002] # CIRCLED BULLET
+29C0 ; [*0B10.0020.0002] # CIRCLED LESS-THAN
+29C1 ; [*0B11.0020.0002] # CIRCLED GREATER-THAN
+29C2 ; [*0B12.0020.0002] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+29C3 ; [*0B13.0020.0002] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+29C4 ; [*0B14.0020.0002] # SQUARED RISING DIAGONAL SLASH
+29C5 ; [*0B15.0020.0002] # SQUARED FALLING DIAGONAL SLASH
+29C6 ; [*0B16.0020.0002] # SQUARED ASTERISK
+29C7 ; [*0B17.0020.0002] # SQUARED SMALL CIRCLE
+29C8 ; [*0B18.0020.0002] # SQUARED SQUARE
+29C9 ; [*0B19.0020.0002] # TWO JOINED SQUARES
+29CA ; [*0B1A.0020.0002] # TRIANGLE WITH DOT ABOVE
+29CB ; [*0B1B.0020.0002] # TRIANGLE WITH UNDERBAR
+29CC ; [*0B1C.0020.0002] # S IN TRIANGLE
+29CD ; [*0B1D.0020.0002] # TRIANGLE WITH SERIFS AT BOTTOM
+29CE ; [*0B1E.0020.0002] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+29CF ; [*0B1F.0020.0002] # LEFT TRIANGLE BESIDE VERTICAL BAR
+29D0 ; [*0B20.0020.0002] # VERTICAL BAR BESIDE RIGHT TRIANGLE
+29D1 ; [*0B21.0020.0002] # BOWTIE WITH LEFT HALF BLACK
+29D2 ; [*0B22.0020.0002] # BOWTIE WITH RIGHT HALF BLACK
+29D3 ; [*0B23.0020.0002] # BLACK BOWTIE
+29D4 ; [*0B24.0020.0002] # TIMES WITH LEFT HALF BLACK
+29D5 ; [*0B25.0020.0002] # TIMES WITH RIGHT HALF BLACK
+29D6 ; [*0B26.0020.0002] # WHITE HOURGLASS
+29D7 ; [*0B27.0020.0002] # BLACK HOURGLASS
+29D8 ; [*0367.0020.0002] # LEFT WIGGLY FENCE
+29D9 ; [*0368.0020.0002] # RIGHT WIGGLY FENCE
+29DA ; [*0369.0020.0002] # LEFT DOUBLE WIGGLY FENCE
+29DB ; [*036A.0020.0002] # RIGHT DOUBLE WIGGLY FENCE
+29DC ; [*0B28.0020.0002] # INCOMPLETE INFINITY
+29DD ; [*0B29.0020.0002] # TIE OVER INFINITY
+29DE ; [*0B2A.0020.0002] # INFINITY NEGATED WITH VERTICAL BAR
+29DF ; [*0B2B.0020.0002] # DOUBLE-ENDED MULTIMAP
+29E0 ; [*0B2C.0020.0002] # SQUARE WITH CONTOURED OUTLINE
+29E1 ; [*0B2D.0020.0002] # INCREASES AS
+29E2 ; [*0B2E.0020.0002] # SHUFFLE PRODUCT
+29E3 ; [*0B2F.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL
+29E4 ; [*0B30.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+29E5 ; [*0B31.0020.0002] # IDENTICAL TO AND SLANTED PARALLEL
+29E6 ; [*0B32.0020.0002] # GLEICH STARK
+29E7 ; [*0B33.0020.0002] # THERMODYNAMIC
+29E8 ; [*0B34.0020.0002] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9 ; [*0B35.0020.0002] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+29EA ; [*0B36.0020.0002] # BLACK DIAMOND WITH DOWN ARROW
+29EB ; [*0B37.0020.0002] # BLACK LOZENGE
+29EC ; [*0B38.0020.0002] # WHITE CIRCLE WITH DOWN ARROW
+29ED ; [*0B39.0020.0002] # BLACK CIRCLE WITH DOWN ARROW
+29EE ; [*0B3A.0020.0002] # ERROR-BARRED WHITE SQUARE
+29EF ; [*0B3B.0020.0002] # ERROR-BARRED BLACK SQUARE
+29F0 ; [*0B3C.0020.0002] # ERROR-BARRED WHITE DIAMOND
+29F1 ; [*0B3D.0020.0002] # ERROR-BARRED BLACK DIAMOND
+29F2 ; [*0B3E.0020.0002] # ERROR-BARRED WHITE CIRCLE
+29F3 ; [*0B3F.0020.0002] # ERROR-BARRED BLACK CIRCLE
+29F4 ; [*0B40.0020.0002] # RULE-DELAYED
+29F5 ; [*0B41.0020.0002] # REVERSE SOLIDUS OPERATOR
+29F6 ; [*0B42.0020.0002] # SOLIDUS WITH OVERBAR
+29F7 ; [*0B43.0020.0002] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
+29F8 ; [*0B44.0020.0002] # BIG SOLIDUS
+29F9 ; [*0B45.0020.0002] # BIG REVERSE SOLIDUS
+29FA ; [*0B46.0020.0002] # DOUBLE PLUS
+29FB ; [*0B47.0020.0002] # TRIPLE PLUS
+29FC ; [*030C.0020.0002] # LEFT-POINTING CURVED ANGLE BRACKET
+29FD ; [*030D.0020.0002] # RIGHT-POINTING CURVED ANGLE BRACKET
+29FE ; [*0B48.0020.0002] # TINY
+29FF ; [*0B49.0020.0002] # MINY
+2A00 ; [*0B4A.0020.0002] # N-ARY CIRCLED DOT OPERATOR
+2A01 ; [*0B4B.0020.0002] # N-ARY CIRCLED PLUS OPERATOR
+2A02 ; [*0B4C.0020.0002] # N-ARY CIRCLED TIMES OPERATOR
+2A03 ; [*0B4D.0020.0002] # N-ARY UNION OPERATOR WITH DOT
+2A04 ; [*0B4E.0020.0002] # N-ARY UNION OPERATOR WITH PLUS
+2A05 ; [*0B4F.0020.0002] # N-ARY SQUARE INTERSECTION OPERATOR
+2A06 ; [*0B50.0020.0002] # N-ARY SQUARE UNION OPERATOR
+2A07 ; [*0B51.0020.0002] # TWO LOGICAL AND OPERATOR
+2A08 ; [*0B52.0020.0002] # TWO LOGICAL OR OPERATOR
+2A09 ; [*0B53.0020.0002] # N-ARY TIMES OPERATOR
+2A0A ; [*0B54.0020.0002] # MODULO TWO SUM
+2A0B ; [*0B55.0020.0002] # SUMMATION WITH INTEGRAL
+2A0C ; [*05C5.0020.0004][*05C5.0020.0004][*05C5.0020.0004][*05C5.0020.0004] # QUADRUPLE INTEGRAL OPERATOR
+2A0D ; [*0B56.0020.0002] # FINITE PART INTEGRAL
+2A0E ; [*0B57.0020.0002] # INTEGRAL WITH DOUBLE STROKE
+2A0F ; [*0B58.0020.0002] # INTEGRAL AVERAGE WITH SLASH
+2A10 ; [*0B59.0020.0002] # CIRCULATION FUNCTION
+2A11 ; [*0B5A.0020.0002] # ANTICLOCKWISE INTEGRATION
+2A12 ; [*0B5B.0020.0002] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+2A13 ; [*0B5C.0020.0002] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+2A14 ; [*0B5D.0020.0002] # LINE INTEGRATION NOT INCLUDING THE POLE
+2A15 ; [*0B5E.0020.0002] # INTEGRAL AROUND A POINT OPERATOR
+2A16 ; [*0B5F.0020.0002] # QUATERNION INTEGRAL OPERATOR
+2A17 ; [*0B60.0020.0002] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+2A18 ; [*0B61.0020.0002] # INTEGRAL WITH TIMES SIGN
+2A19 ; [*0B62.0020.0002] # INTEGRAL WITH INTERSECTION
+2A1A ; [*0B63.0020.0002] # INTEGRAL WITH UNION
+2A1B ; [*0B64.0020.0002] # INTEGRAL WITH OVERBAR
+2A1C ; [*0B65.0020.0002] # INTEGRAL WITH UNDERBAR
+2A1D ; [*0B66.0020.0002] # JOIN
+2A1E ; [*0B67.0020.0002] # LARGE LEFT TRIANGLE OPERATOR
+2A1F ; [*0B68.0020.0002] # Z NOTATION SCHEMA COMPOSITION
+2A20 ; [*0B69.0020.0002] # Z NOTATION SCHEMA PIPING
+2A21 ; [*0B6A.0020.0002] # Z NOTATION SCHEMA PROJECTION
+2A22 ; [*0B6B.0020.0002] # PLUS SIGN WITH SMALL CIRCLE ABOVE
+2A23 ; [*0B6C.0020.0002] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+2A24 ; [*0B6D.0020.0002] # PLUS SIGN WITH TILDE ABOVE
+2A25 ; [*0B6E.0020.0002] # PLUS SIGN WITH DOT BELOW
+2A26 ; [*0B6F.0020.0002] # PLUS SIGN WITH TILDE BELOW
+2A27 ; [*0B70.0020.0002] # PLUS SIGN WITH SUBSCRIPT TWO
+2A28 ; [*0B71.0020.0002] # PLUS SIGN WITH BLACK TRIANGLE
+2A29 ; [*0B72.0020.0002] # MINUS SIGN WITH COMMA ABOVE
+2A2A ; [*0B73.0020.0002] # MINUS SIGN WITH DOT BELOW
+2A2B ; [*0B74.0020.0002] # MINUS SIGN WITH FALLING DOTS
+2A2C ; [*0B75.0020.0002] # MINUS SIGN WITH RISING DOTS
+2A2D ; [*0B76.0020.0002] # PLUS SIGN IN LEFT HALF CIRCLE
+2A2E ; [*0B77.0020.0002] # PLUS SIGN IN RIGHT HALF CIRCLE
+2A2F ; [*0B78.0020.0002] # VECTOR OR CROSS PRODUCT
+2A30 ; [*0B79.0020.0002] # MULTIPLICATION SIGN WITH DOT ABOVE
+2A31 ; [*0B7A.0020.0002] # MULTIPLICATION SIGN WITH UNDERBAR
+2A32 ; [*0B7B.0020.0002] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+2A33 ; [*0B7C.0020.0002] # SMASH PRODUCT
+2A34 ; [*0B7D.0020.0002] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+2A35 ; [*0B7E.0020.0002] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+2A36 ; [*0B7F.0020.0002] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+2A37 ; [*0B80.0020.0002] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
+2A38 ; [*0B81.0020.0002] # CIRCLED DIVISION SIGN
+2A39 ; [*0B82.0020.0002] # PLUS SIGN IN TRIANGLE
+2A3A ; [*0B83.0020.0002] # MINUS SIGN IN TRIANGLE
+2A3B ; [*0B84.0020.0002] # MULTIPLICATION SIGN IN TRIANGLE
+2A3C ; [*0B85.0020.0002] # INTERIOR PRODUCT
+2A3D ; [*0B86.0020.0002] # RIGHTHAND INTERIOR PRODUCT
+2A3E ; [*0B87.0020.0002] # Z NOTATION RELATIONAL COMPOSITION
+2A3F ; [*0B88.0020.0002] # AMALGAMATION OR COPRODUCT
+2A40 ; [*0B89.0020.0002] # INTERSECTION WITH DOT
+2A41 ; [*0B8A.0020.0002] # UNION WITH MINUS SIGN
+2A42 ; [*0B8B.0020.0002] # UNION WITH OVERBAR
+2A43 ; [*0B8C.0020.0002] # INTERSECTION WITH OVERBAR
+2A44 ; [*0B8D.0020.0002] # INTERSECTION WITH LOGICAL AND
+2A45 ; [*0B8E.0020.0002] # UNION WITH LOGICAL OR
+2A46 ; [*0B8F.0020.0002] # UNION ABOVE INTERSECTION
+2A47 ; [*0B90.0020.0002] # INTERSECTION ABOVE UNION
+2A48 ; [*0B91.0020.0002] # UNION ABOVE BAR ABOVE INTERSECTION
+2A49 ; [*0B92.0020.0002] # INTERSECTION ABOVE BAR ABOVE UNION
+2A4A ; [*0B93.0020.0002] # UNION BESIDE AND JOINED WITH UNION
+2A4B ; [*0B94.0020.0002] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+2A4C ; [*0B95.0020.0002] # CLOSED UNION WITH SERIFS
+2A4D ; [*0B96.0020.0002] # CLOSED INTERSECTION WITH SERIFS
+2A4E ; [*0B97.0020.0002] # DOUBLE SQUARE INTERSECTION
+2A4F ; [*0B98.0020.0002] # DOUBLE SQUARE UNION
+2A50 ; [*0B99.0020.0002] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+2A51 ; [*0B9A.0020.0002] # LOGICAL AND WITH DOT ABOVE
+2A52 ; [*0B9B.0020.0002] # LOGICAL OR WITH DOT ABOVE
+2A53 ; [*0B9C.0020.0002] # DOUBLE LOGICAL AND
+2A54 ; [*0B9D.0020.0002] # DOUBLE LOGICAL OR
+2A55 ; [*0B9E.0020.0002] # TWO INTERSECTING LOGICAL AND
+2A56 ; [*0B9F.0020.0002] # TWO INTERSECTING LOGICAL OR
+2A57 ; [*0BA0.0020.0002] # SLOPING LARGE OR
+2A58 ; [*0BA1.0020.0002] # SLOPING LARGE AND
+2A59 ; [*0BA2.0020.0002] # LOGICAL OR OVERLAPPING LOGICAL AND
+2A5A ; [*0BA3.0020.0002] # LOGICAL AND WITH MIDDLE STEM
+2A5B ; [*0BA4.0020.0002] # LOGICAL OR WITH MIDDLE STEM
+2A5C ; [*0BA5.0020.0002] # LOGICAL AND WITH HORIZONTAL DASH
+2A5D ; [*0BA6.0020.0002] # LOGICAL OR WITH HORIZONTAL DASH
+2A5E ; [*0BA7.0020.0002] # LOGICAL AND WITH DOUBLE OVERBAR
+2A5F ; [*0BA8.0020.0002] # LOGICAL AND WITH UNDERBAR
+2A60 ; [*0BA9.0020.0002] # LOGICAL AND WITH DOUBLE UNDERBAR
+2A61 ; [*0BAA.0020.0002] # SMALL VEE WITH UNDERBAR
+2A62 ; [*0BAB.0020.0002] # LOGICAL OR WITH DOUBLE OVERBAR
+2A63 ; [*0BAC.0020.0002] # LOGICAL OR WITH DOUBLE UNDERBAR
+2A64 ; [*0BAD.0020.0002] # Z NOTATION DOMAIN ANTIRESTRICTION
+2A65 ; [*0BAE.0020.0002] # Z NOTATION RANGE ANTIRESTRICTION
+2A66 ; [*0BAF.0020.0002] # EQUALS SIGN WITH DOT BELOW
+2A67 ; [*0BB0.0020.0002] # IDENTICAL WITH DOT ABOVE
+2A68 ; [*0BB1.0020.0002] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+2A69 ; [*0BB2.0020.0002] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+2A6A ; [*0BB3.0020.0002] # TILDE OPERATOR WITH DOT ABOVE
+2A6B ; [*0BB4.0020.0002] # TILDE OPERATOR WITH RISING DOTS
+2A6C ; [*0BB5.0020.0002] # SIMILAR MINUS SIMILAR
+2A6D ; [*0BB6.0020.0002] # CONGRUENT WITH DOT ABOVE
+2A6E ; [*0BB7.0020.0002] # EQUALS WITH ASTERISK
+2A6F ; [*0BB8.0020.0002] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+2A70 ; [*0BB9.0020.0002] # APPROXIMATELY EQUAL OR EQUAL TO
+2A71 ; [*0BBA.0020.0002] # EQUALS SIGN ABOVE PLUS SIGN
+2A72 ; [*0BBB.0020.0002] # PLUS SIGN ABOVE EQUALS SIGN
+2A73 ; [*0BBC.0020.0002] # EQUALS SIGN ABOVE TILDE OPERATOR
+2A74 ; [*0236.0020.0004][*0236.0020.0004][*05A4.0020.0004] # DOUBLE COLON EQUAL
+2A75 ; [*05A4.0020.0004][*05A4.0020.0004] # TWO CONSECUTIVE EQUALS SIGNS
+2A76 ; [*05A4.0020.0004][*05A4.0020.0004][*05A4.0020.0004] # THREE CONSECUTIVE EQUALS SIGNS
+2A77 ; [*0BBD.0020.0002] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+2A78 ; [*0BBE.0020.0002] # EQUIVALENT WITH FOUR DOTS ABOVE
+2A79 ; [*0BBF.0020.0002] # LESS-THAN WITH CIRCLE INSIDE
+2A7A ; [*0BC0.0020.0002] # GREATER-THAN WITH CIRCLE INSIDE
+2A7B ; [*0BC1.0020.0002] # LESS-THAN WITH QUESTION MARK ABOVE
+2A7C ; [*0BC2.0020.0002] # GREATER-THAN WITH QUESTION MARK ABOVE
+2A7D ; [*0BC3.0020.0002] # LESS-THAN OR SLANTED EQUAL TO
+2A7E ; [*0BC4.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO
+2A7F ; [*0BC5.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A80 ; [*0BC6.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A81 ; [*0BC7.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A82 ; [*0BC8.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A83 ; [*0BC9.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+2A84 ; [*0BCA.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85 ; [*0BCB.0020.0002] # LESS-THAN OR APPROXIMATE
+2A86 ; [*0BCC.0020.0002] # GREATER-THAN OR APPROXIMATE
+2A87 ; [*0BCD.0020.0002] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88 ; [*0BCE.0020.0002] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89 ; [*0BCF.0020.0002] # LESS-THAN AND NOT APPROXIMATE
+2A8A ; [*0BD0.0020.0002] # GREATER-THAN AND NOT APPROXIMATE
+2A8B ; [*0BD1.0020.0002] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+2A8C ; [*0BD2.0020.0002] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D ; [*0BD3.0020.0002] # LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E ; [*0BD4.0020.0002] # GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F ; [*0BD5.0020.0002] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90 ; [*0BD6.0020.0002] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+2A91 ; [*0BD7.0020.0002] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+2A92 ; [*0BD8.0020.0002] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+2A93 ; [*0BD9.0020.0002] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+2A94 ; [*0BDA.0020.0002] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+2A95 ; [*0BDB.0020.0002] # SLANTED EQUAL TO OR LESS-THAN
+2A96 ; [*0BDC.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN
+2A97 ; [*0BDD.0020.0002] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+2A98 ; [*0BDE.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+2A99 ; [*0BDF.0020.0002] # DOUBLE-LINE EQUAL TO OR LESS-THAN
+2A9A ; [*0BE0.0020.0002] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
+2A9B ; [*0BE1.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+2A9C ; [*0BE2.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D ; [*0BE3.0020.0002] # SIMILAR OR LESS-THAN
+2A9E ; [*0BE4.0020.0002] # SIMILAR OR GREATER-THAN
+2A9F ; [*0BE5.0020.0002] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0 ; [*0BE6.0020.0002] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+2AA1 ; [*0BE7.0020.0002] # DOUBLE NESTED LESS-THAN
+2AA2 ; [*0BE8.0020.0002] # DOUBLE NESTED GREATER-THAN
+2AA3 ; [*0BE9.0020.0002] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
+2AA4 ; [*0BEA.0020.0002] # GREATER-THAN OVERLAPPING LESS-THAN
+2AA5 ; [*0BEB.0020.0002] # GREATER-THAN BESIDE LESS-THAN
+2AA6 ; [*0BEC.0020.0002] # LESS-THAN CLOSED BY CURVE
+2AA7 ; [*0BED.0020.0002] # GREATER-THAN CLOSED BY CURVE
+2AA8 ; [*0BEE.0020.0002] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AA9 ; [*0BEF.0020.0002] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AAA ; [*0BF0.0020.0002] # SMALLER THAN
+2AAB ; [*0BF1.0020.0002] # LARGER THAN
+2AAC ; [*0BF2.0020.0002] # SMALLER THAN OR EQUAL TO
+2AAD ; [*0BF3.0020.0002] # LARGER THAN OR EQUAL TO
+2AAE ; [*0BF4.0020.0002] # EQUALS SIGN WITH BUMPY ABOVE
+2AAF ; [*0BF5.0020.0002] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+2AB0 ; [*0BF6.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1 ; [*0BF7.0020.0002] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2 ; [*0BF8.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+2AB3 ; [*0BF9.0020.0002] # PRECEDES ABOVE EQUALS SIGN
+2AB4 ; [*0BFA.0020.0002] # SUCCEEDS ABOVE EQUALS SIGN
+2AB5 ; [*0BFB.0020.0002] # PRECEDES ABOVE NOT EQUAL TO
+2AB6 ; [*0BFC.0020.0002] # SUCCEEDS ABOVE NOT EQUAL TO
+2AB7 ; [*0BFD.0020.0002] # PRECEDES ABOVE ALMOST EQUAL TO
+2AB8 ; [*0BFE.0020.0002] # SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9 ; [*0BFF.0020.0002] # PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA ; [*0C00.0020.0002] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+2ABB ; [*0C01.0020.0002] # DOUBLE PRECEDES
+2ABC ; [*0C02.0020.0002] # DOUBLE SUCCEEDS
+2ABD ; [*0C03.0020.0002] # SUBSET WITH DOT
+2ABE ; [*0C04.0020.0002] # SUPERSET WITH DOT
+2ABF ; [*0C05.0020.0002] # SUBSET WITH PLUS SIGN BELOW
+2AC0 ; [*0C06.0020.0002] # SUPERSET WITH PLUS SIGN BELOW
+2AC1 ; [*0C07.0020.0002] # SUBSET WITH MULTIPLICATION SIGN BELOW
+2AC2 ; [*0C08.0020.0002] # SUPERSET WITH MULTIPLICATION SIGN BELOW
+2AC3 ; [*0C09.0020.0002] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
+2AC4 ; [*0C0A.0020.0002] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+2AC5 ; [*0C0B.0020.0002] # SUBSET OF ABOVE EQUALS SIGN
+2AC6 ; [*0C0C.0020.0002] # SUPERSET OF ABOVE EQUALS SIGN
+2AC7 ; [*0C0D.0020.0002] # SUBSET OF ABOVE TILDE OPERATOR
+2AC8 ; [*0C0E.0020.0002] # SUPERSET OF ABOVE TILDE OPERATOR
+2AC9 ; [*0C0F.0020.0002] # SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA ; [*0C10.0020.0002] # SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB ; [*0C11.0020.0002] # SUBSET OF ABOVE NOT EQUAL TO
+2ACC ; [*0C12.0020.0002] # SUPERSET OF ABOVE NOT EQUAL TO
+2ACD ; [*0C13.0020.0002] # SQUARE LEFT OPEN BOX OPERATOR
+2ACE ; [*0C14.0020.0002] # SQUARE RIGHT OPEN BOX OPERATOR
+2ACF ; [*0C15.0020.0002] # CLOSED SUBSET
+2AD0 ; [*0C16.0020.0002] # CLOSED SUPERSET
+2AD1 ; [*0C17.0020.0002] # CLOSED SUBSET OR EQUAL TO
+2AD2 ; [*0C18.0020.0002] # CLOSED SUPERSET OR EQUAL TO
+2AD3 ; [*0C19.0020.0002] # SUBSET ABOVE SUPERSET
+2AD4 ; [*0C1A.0020.0002] # SUPERSET ABOVE SUBSET
+2AD5 ; [*0C1B.0020.0002] # SUBSET ABOVE SUBSET
+2AD6 ; [*0C1C.0020.0002] # SUPERSET ABOVE SUPERSET
+2AD7 ; [*0C1D.0020.0002] # SUPERSET BESIDE SUBSET
+2AD8 ; [*0C1E.0020.0002] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+2AD9 ; [*0C1F.0020.0002] # ELEMENT OF OPENING DOWNWARDS
+2ADA ; [*0C20.0020.0002] # PITCHFORK WITH TEE TOP
+2ADB ; [*0C21.0020.0002] # TRANSVERSAL INTERSECTION
+2ADC ; [*0C22.0020.0002][.0000.002F.0002] # FORKING
+2ADD ; [*0C22.0020.0002] # NONFORKING
+2ADE ; [*0C23.0020.0002] # SHORT LEFT TACK
+2ADF ; [*0C24.0020.0002] # SHORT DOWN TACK
+2AE0 ; [*0C25.0020.0002] # SHORT UP TACK
+2AE1 ; [*0C26.0020.0002] # PERPENDICULAR WITH S
+2AE2 ; [*0C27.0020.0002] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
+2AE3 ; [*0C28.0020.0002] # DOUBLE VERTICAL BAR LEFT TURNSTILE
+2AE4 ; [*0C29.0020.0002] # VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE5 ; [*0C2A.0020.0002] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE6 ; [*0C2B.0020.0002] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+2AE7 ; [*0C2C.0020.0002] # SHORT DOWN TACK WITH OVERBAR
+2AE8 ; [*0C2D.0020.0002] # SHORT UP TACK WITH UNDERBAR
+2AE9 ; [*0C2E.0020.0002] # SHORT UP TACK ABOVE SHORT DOWN TACK
+2AEA ; [*0C2F.0020.0002] # DOUBLE DOWN TACK
+2AEB ; [*0C30.0020.0002] # DOUBLE UP TACK
+2AEC ; [*0C31.0020.0002] # DOUBLE STROKE NOT SIGN
+2AED ; [*0C32.0020.0002] # REVERSED DOUBLE STROKE NOT SIGN
+2AEE ; [*0C33.0020.0002] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+2AEF ; [*0C34.0020.0002] # VERTICAL LINE WITH CIRCLE ABOVE
+2AF0 ; [*0C35.0020.0002] # VERTICAL LINE WITH CIRCLE BELOW
+2AF1 ; [*0C36.0020.0002] # DOWN TACK WITH CIRCLE BELOW
+2AF2 ; [*0C37.0020.0002] # PARALLEL WITH HORIZONTAL STROKE
+2AF3 ; [*0C38.0020.0002] # PARALLEL WITH TILDE OPERATOR
+2AF4 ; [*0C39.0020.0002] # TRIPLE VERTICAL BAR BINARY RELATION
+2AF5 ; [*0C3A.0020.0002] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+2AF6 ; [*0C3B.0020.0002] # TRIPLE COLON OPERATOR
+2AF7 ; [*0C3C.0020.0002] # TRIPLE NESTED LESS-THAN
+2AF8 ; [*0C3D.0020.0002] # TRIPLE NESTED GREATER-THAN
+2AF9 ; [*0C3E.0020.0002] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+2AFA ; [*0C3F.0020.0002] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2AFB ; [*0C40.0020.0002] # TRIPLE SOLIDUS BINARY RELATION
+2AFC ; [*0C41.0020.0002] # LARGE TRIPLE VERTICAL BAR OPERATOR
+2AFD ; [*0C42.0020.0002] # DOUBLE SOLIDUS OPERATOR
+2AFE ; [*0C43.0020.0002] # WHITE VERTICAL BAR
+2AFF ; [*0C44.0020.0002] # N-ARY WHITE VERTICAL BAR
+2B00 ; [*0C45.0020.0002] # NORTH EAST WHITE ARROW
+2B01 ; [*0C46.0020.0002] # NORTH WEST WHITE ARROW
+2B02 ; [*0C47.0020.0002] # SOUTH EAST WHITE ARROW
+2B03 ; [*0C48.0020.0002] # SOUTH WEST WHITE ARROW
+2B04 ; [*0C49.0020.0002] # LEFT RIGHT WHITE ARROW
+2B05 ; [*0C4A.0020.0002] # LEFTWARDS BLACK ARROW
+2B06 ; [*0C4B.0020.0002] # UPWARDS BLACK ARROW
+2B07 ; [*0C4C.0020.0002] # DOWNWARDS BLACK ARROW
+2B08 ; [*0C4D.0020.0002] # NORTH EAST BLACK ARROW
+2B09 ; [*0C4E.0020.0002] # NORTH WEST BLACK ARROW
+2B0A ; [*0C4F.0020.0002] # SOUTH EAST BLACK ARROW
+2B0B ; [*0C50.0020.0002] # SOUTH WEST BLACK ARROW
+2B0C ; [*0C51.0020.0002] # LEFT RIGHT BLACK ARROW
+2B0D ; [*0C52.0020.0002] # UP DOWN BLACK ARROW
+2B0E ; [*0C53.0020.0002] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
+2B0F ; [*0C54.0020.0002] # RIGHTWARDS ARROW WITH TIP UPWARDS
+2B10 ; [*0C55.0020.0002] # LEFTWARDS ARROW WITH TIP DOWNWARDS
+2B11 ; [*0C56.0020.0002] # LEFTWARDS ARROW WITH TIP UPWARDS
+2B12 ; [*0C57.0020.0002] # SQUARE WITH TOP HALF BLACK
+2B13 ; [*0C58.0020.0002] # SQUARE WITH BOTTOM HALF BLACK
+2B14 ; [*0C59.0020.0002] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+2B15 ; [*0C5A.0020.0002] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+2B16 ; [*0C5B.0020.0002] # DIAMOND WITH LEFT HALF BLACK
+2B17 ; [*0C5C.0020.0002] # DIAMOND WITH RIGHT HALF BLACK
+2B18 ; [*0C5D.0020.0002] # DIAMOND WITH TOP HALF BLACK
+2B19 ; [*0C5E.0020.0002] # DIAMOND WITH BOTTOM HALF BLACK
+2B1A ; [*0C5F.0020.0002] # DOTTED SQUARE
+2B1B ; [*0C60.0020.0002] # BLACK LARGE SQUARE
+2B1C ; [*0C61.0020.0002] # WHITE LARGE SQUARE
+2B1D ; [*0C62.0020.0002] # BLACK VERY SMALL SQUARE
+2B1E ; [*0C63.0020.0002] # WHITE VERY SMALL SQUARE
+2B1F ; [*0C64.0020.0002] # BLACK PENTAGON
+2B20 ; [*0C65.0020.0002] # WHITE PENTAGON
+2B21 ; [*0C66.0020.0002] # WHITE HEXAGON
+2B22 ; [*0C67.0020.0002] # BLACK HEXAGON
+2B23 ; [*0C68.0020.0002] # HORIZONTAL BLACK HEXAGON
+2B24 ; [*0C69.0020.0002] # BLACK LARGE CIRCLE
+2B25 ; [*0C6A.0020.0002] # BLACK MEDIUM DIAMOND
+2B26 ; [*0C6B.0020.0002] # WHITE MEDIUM DIAMOND
+2B27 ; [*0C6C.0020.0002] # BLACK MEDIUM LOZENGE
+2B28 ; [*0C6D.0020.0002] # WHITE MEDIUM LOZENGE
+2B29 ; [*0C6E.0020.0002] # BLACK SMALL DIAMOND
+2B2A ; [*0C6F.0020.0002] # BLACK SMALL LOZENGE
+2B2B ; [*0C70.0020.0002] # WHITE SMALL LOZENGE
+2B2C ; [*0C71.0020.0002] # BLACK HORIZONTAL ELLIPSE
+2B2D ; [*0C72.0020.0002] # WHITE HORIZONTAL ELLIPSE
+2B2E ; [*0C73.0020.0002] # BLACK VERTICAL ELLIPSE
+2B2F ; [*0C74.0020.0002] # WHITE VERTICAL ELLIPSE
+2B30 ; [*0C75.0020.0002] # LEFT ARROW WITH SMALL CIRCLE
+2B31 ; [*0C76.0020.0002] # THREE LEFTWARDS ARROWS
+2B32 ; [*0C77.0020.0002] # LEFT ARROW WITH CIRCLED PLUS
+2B33 ; [*0C78.0020.0002] # LONG LEFTWARDS SQUIGGLE ARROW
+2B34 ; [*0C79.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2B35 ; [*0C7A.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2B36 ; [*0C7B.0020.0002] # LEFTWARDS TWO-HEADED ARROW FROM BAR
+2B37 ; [*0C7C.0020.0002] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+2B38 ; [*0C7D.0020.0002] # LEFTWARDS ARROW WITH DOTTED STEM
+2B39 ; [*0C7E.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2B3A ; [*0C7F.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3B ; [*0C80.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
+2B3C ; [*0C81.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2B3D ; [*0C82.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3E ; [*0C83.0020.0002] # LEFTWARDS ARROW THROUGH X
+2B3F ; [*0C84.0020.0002] # WAVE ARROW POINTING DIRECTLY LEFT
+2B40 ; [*0C85.0020.0002] # EQUALS SIGN ABOVE LEFTWARDS ARROW
+2B41 ; [*0C86.0020.0002] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B42 ; [*0C87.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B43 ; [*0C88.0020.0002] # RIGHTWARDS ARROW THROUGH GREATER-THAN
+2B44 ; [*0C89.0020.0002] # RIGHTWARDS ARROW THROUGH SUPERSET
+2B45 ; [*0C8A.0020.0002] # LEFTWARDS QUADRUPLE ARROW
+2B46 ; [*0C8B.0020.0002] # RIGHTWARDS QUADRUPLE ARROW
+2B47 ; [*0C8C.0020.0002] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2B48 ; [*0C8D.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B49 ; [*0C8E.0020.0002] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B4A ; [*0C8F.0020.0002] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+2B4B ; [*0C90.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4C ; [*0C91.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B50 ; [*0C92.0020.0002] # WHITE MEDIUM STAR
+2B51 ; [*0C93.0020.0002] # BLACK SMALL STAR
+2B52 ; [*0C94.0020.0002] # WHITE SMALL STAR
+2B53 ; [*0C95.0020.0002] # BLACK RIGHT-POINTING PENTAGON
+2B54 ; [*0C96.0020.0002] # WHITE RIGHT-POINTING PENTAGON
+2B55 ; [*0C97.0020.0002] # HEAVY LARGE CIRCLE
+2B56 ; [*0C98.0020.0002] # HEAVY OVAL WITH OVAL INSIDE
+2B57 ; [*0C99.0020.0002] # HEAVY CIRCLE WITH CIRCLE INSIDE
+2B58 ; [*0C9A.0020.0002] # HEAVY CIRCLE
+2B59 ; [*0C9B.0020.0002] # HEAVY CIRCLED SALTIRE
+2CE5 ; [*0C9C.0020.0002] # COPTIC SYMBOL MI RO
+2CE6 ; [*0C9D.0020.0002] # COPTIC SYMBOL PI RO
+2CE7 ; [*0C9E.0020.0002] # COPTIC SYMBOL STAUROS
+2CE8 ; [*0C9F.0020.0002] # COPTIC SYMBOL TAU RO
+2CE9 ; [*0CA0.0020.0002] # COPTIC SYMBOL KHI RO
+2CEA ; [*0CA1.0020.0002] # COPTIC SYMBOL SHIMA SIMA
+2CF9 ; [*027C.0020.0002] # COPTIC OLD NUBIAN FULL STOP
+2CFA ; [*026A.0020.0002] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
+2CFB ; [*026B.0020.0002] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+2CFC ; [*02DB.0020.0002] # COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD ; [*1519.0020.0002] # COPTIC FRACTION ONE HALF
+2CFE ; [*027D.0020.0002] # COPTIC FULL STOP
+2CFF ; [*02DC.0020.0002] # COPTIC MORPHOLOGICAL DIVIDER
+2D70 ; [*03F7.0020.0002] # TIFINAGH SEPARATOR MARK
+2D7F ; [.0000.0000.0000] # TIFINAGH CONSONANT JOINER
+2E00 ; [*0397.0020.0002] # RIGHT ANGLE SUBSTITUTION MARKER
+2E01 ; [*0398.0020.0002] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02 ; [*033E.0020.0002] # LEFT SUBSTITUTION BRACKET
+2E03 ; [*033F.0020.0002] # RIGHT SUBSTITUTION BRACKET
+2E04 ; [*0340.0020.0002] # LEFT DOTTED SUBSTITUTION BRACKET
+2E05 ; [*0341.0020.0002] # RIGHT DOTTED SUBSTITUTION BRACKET
+2E06 ; [*0399.0020.0002] # RAISED INTERPOLATION MARKER
+2E07 ; [*039A.0020.0002] # RAISED DOTTED INTERPOLATION MARKER
+2E08 ; [*039B.0020.0002] # DOTTED TRANSPOSITION MARKER
+2E09 ; [*0342.0020.0002] # LEFT TRANSPOSITION BRACKET
+2E0A ; [*0343.0020.0002] # RIGHT TRANSPOSITION BRACKET
+2E0B ; [*039C.0020.0002] # RAISED SQUARE
+2E0C ; [*0344.0020.0002] # LEFT RAISED OMISSION BRACKET
+2E0D ; [*0345.0020.0002] # RIGHT RAISED OMISSION BRACKET
+2E0E ; [*039D.0020.0002] # EDITORIAL CORONIS
+2E0F ; [*039E.0020.0002] # PARAGRAPHOS
+2E10 ; [*039F.0020.0002] # FORKED PARAGRAPHOS
+2E11 ; [*03A0.0020.0002] # REVERSED FORKED PARAGRAPHOS
+2E12 ; [*03A1.0020.0002] # HYPODIASTOLE
+2E13 ; [*03A2.0020.0002] # DOTTED OBELOS
+2E14 ; [*03A3.0020.0002] # DOWNWARDS ANCORA
+2E15 ; [*03A4.0020.0002] # UPWARDS ANCORA
+2E16 ; [*03A5.0020.0002] # DOTTED RIGHT-POINTING ANGLE
+2E17 ; [*021B.0020.0002] # DOUBLE OBLIQUE HYPHEN
+2E18 ; [*0271.0020.0002] # INVERTED INTERROBANG
+2E19 ; [*02DD.0020.0002] # PALM BRANCH
+2E1A ; [*03A6.0020.0002] # HYPHEN WITH DIAERESIS
+2E1B ; [*03A7.0020.0002] # TILDE WITH RING ABOVE
+2E1C ; [*0346.0020.0002] # LEFT LOW PARAPHRASE BRACKET
+2E1D ; [*0347.0020.0002] # RIGHT LOW PARAPHRASE BRACKET
+2E1E ; [*03A8.0020.0002] # TILDE WITH DOT ABOVE
+2E1F ; [*03A9.0020.0002] # TILDE WITH DOT BELOW
+2E20 ; [*0348.0020.0002] # LEFT VERTICAL BAR WITH QUILL
+2E21 ; [*0349.0020.0002] # RIGHT VERTICAL BAR WITH QUILL
+2E22 ; [*034A.0020.0002] # TOP LEFT HALF BRACKET
+2E23 ; [*034B.0020.0002] # TOP RIGHT HALF BRACKET
+2E24 ; [*034C.0020.0002] # BOTTOM LEFT HALF BRACKET
+2E25 ; [*034D.0020.0002] # BOTTOM RIGHT HALF BRACKET
+2E26 ; [*034E.0020.0002] # LEFT SIDEWAYS U BRACKET
+2E27 ; [*034F.0020.0002] # RIGHT SIDEWAYS U BRACKET
+2E28 ; [*0350.0020.0002] # LEFT DOUBLE PARENTHESIS
+2E29 ; [*0351.0020.0002] # RIGHT DOUBLE PARENTHESIS
+2E2A ; [*02D7.0020.0002] # TWO DOTS OVER ONE DOT PUNCTUATION
+2E2B ; [*02D8.0020.0002] # ONE DOT OVER TWO DOTS PUNCTUATION
+2E2C ; [*02D9.0020.0002] # SQUARED FOUR DOT PUNCTUATION
+2E2D ; [*02DA.0020.0002] # FIVE DOT MARK
+2E2E ; [*0264.0020.0002] # REVERSED QUESTION MARK
+2E30 ; [*027E.0020.0002] # RING POINT
+2E31 ; [*0284.0020.0002] # WORD SEPARATOR MIDDLE DOT
+2E32 ; [*0222.0020.0002] # TURNED COMMA
+2E33 ; [*0285.0020.0002] # RAISED DOT
+2E34 ; [*0221.0020.0002] # RAISED COMMA
+2E35 ; [*0234.0020.0002] # TURNED SEMICOLON
+2E36 ; [*0382.0020.0002] # DAGGER WITH LEFT GUARD
+2E37 ; [*0383.0020.0002] # DAGGER WITH RIGHT GUARD
+2E38 ; [*0384.0020.0002] # TURNED DAGGER
+2E39 ; [*036C.0020.0002] # TOP HALF SECTION SIGN
+2E3A ; [*0218.0020.0002] # TWO-EM DASH
+2E3B ; [*0219.0020.0002] # THREE-EM DASH
+2FF0 ; [*149C.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2FF1 ; [*149D.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2FF2 ; [*149E.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2FF3 ; [*149F.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2FF4 ; [*14A0.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2FF5 ; [*14A1.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2FF6 ; [*14A2.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2FF7 ; [*14A3.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2FF8 ; [*14A4.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2FF9 ; [*14A5.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2FFA ; [*14A6.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2FFB ; [*14A7.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+3000 ; [*0209.0020.0003] # IDEOGRAPHIC SPACE
+3001 ; [*022E.0020.0002] # IDEOGRAPHIC COMMA
+3002 ; [*0282.0020.0002] # IDEOGRAPHIC FULL STOP
+3003 ; [*038D.0020.0002] # DITTO MARK
+3004 ; [*14CC.0020.0002] # JAPANESE INDUSTRIAL STANDARD SYMBOL
+3008 ; [*0352.0020.0002] # LEFT ANGLE BRACKET
+3009 ; [*0353.0020.0002] # RIGHT ANGLE BRACKET
+300A ; [*0354.0020.0002] # LEFT DOUBLE ANGLE BRACKET
+300B ; [*0355.0020.0002] # RIGHT DOUBLE ANGLE BRACKET
+300C ; [*0356.0020.0002] # LEFT CORNER BRACKET
+300D ; [*0357.0020.0002] # RIGHT CORNER BRACKET
+300E ; [*0358.0020.0002] # LEFT WHITE CORNER BRACKET
+300F ; [*0359.0020.0002] # RIGHT WHITE CORNER BRACKET
+3010 ; [*035A.0020.0002] # LEFT BLACK LENTICULAR BRACKET
+3011 ; [*035B.0020.0002] # RIGHT BLACK LENTICULAR BRACKET
+3012 ; [*14CD.0020.0002] # POSTAL MARK
+3013 ; [*14CE.0020.0002] # GETA MARK
+3014 ; [*035C.0020.0002] # LEFT TORTOISE SHELL BRACKET
+3015 ; [*035D.0020.0002] # RIGHT TORTOISE SHELL BRACKET
+3016 ; [*035E.0020.0002] # LEFT WHITE LENTICULAR BRACKET
+3017 ; [*035F.0020.0002] # RIGHT WHITE LENTICULAR BRACKET
+3018 ; [*0360.0020.0002] # LEFT WHITE TORTOISE SHELL BRACKET
+3019 ; [*0361.0020.0002] # RIGHT WHITE TORTOISE SHELL BRACKET
+301A ; [*0362.0020.0002] # LEFT WHITE SQUARE BRACKET
+301B ; [*0363.0020.0002] # RIGHT WHITE SQUARE BRACKET
+301C ; [*021C.0020.0002] # WAVE DASH
+301D ; [*02F5.0020.0002] # REVERSED DOUBLE PRIME QUOTATION MARK
+301E ; [*02F6.0020.0002] # DOUBLE PRIME QUOTATION MARK
+301F ; [*02F7.0020.0002] # LOW DOUBLE PRIME QUOTATION MARK
+3020 ; [*14CF.0020.0002] # POSTAL MARK FACE
+3030 ; [*021D.0020.0002] # WAVY DASH
+3036 ; [*14CD.0020.0004] # CIRCLED POSTAL MARK
+3037 ; [*14D0.0020.0002] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303D ; [*038E.0020.0002] # PART ALTERNATION MARK
+303E ; [*14D1.0020.0002] # IDEOGRAPHIC VARIATION INDICATOR
+303F ; [*14D2.0020.0002] # IDEOGRAPHIC HALF FILL SPACE
+309B ; [*0421.0020.0002] # KATAKANA-HIRAGANA VOICED SOUND MARK
+309C ; [*0422.0020.0002] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+30A0 ; [*021E.0020.0002] # KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FB ; [*021F.0020.0002] # KATAKANA MIDDLE DOT
+3190 ; [*14D3.0020.0002] # IDEOGRAPHIC ANNOTATION LINKING MARK
+3191 ; [*14D4.0020.0002] # IDEOGRAPHIC ANNOTATION REVERSE MARK
+31C0 ; [*14A8.0020.0002] # CJK STROKE T
+31C1 ; [*14A9.0020.0002] # CJK STROKE WG
+31C2 ; [*14AA.0020.0002] # CJK STROKE XG
+31C3 ; [*14AB.0020.0002] # CJK STROKE BXG
+31C4 ; [*14AC.0020.0002] # CJK STROKE SW
+31C5 ; [*14AD.0020.0002] # CJK STROKE HZZ
+31C6 ; [*14AE.0020.0002] # CJK STROKE HZG
+31C7 ; [*14AF.0020.0002] # CJK STROKE HP
+31C8 ; [*14B0.0020.0002] # CJK STROKE HZWG
+31C9 ; [*14B1.0020.0002] # CJK STROKE SZWG
+31CA ; [*14B2.0020.0002] # CJK STROKE HZT
+31CB ; [*14B3.0020.0002] # CJK STROKE HZZP
+31CC ; [*14B4.0020.0002] # CJK STROKE HPWG
+31CD ; [*14B5.0020.0002] # CJK STROKE HZW
+31CE ; [*14B6.0020.0002] # CJK STROKE HZZZ
+31CF ; [*14B7.0020.0002] # CJK STROKE N
+31D0 ; [*14B8.0020.0002] # CJK STROKE H
+31D1 ; [*14B9.0020.0002] # CJK STROKE S
+31D2 ; [*14BA.0020.0002] # CJK STROKE P
+31D3 ; [*14BB.0020.0002] # CJK STROKE SP
+31D4 ; [*14BC.0020.0002] # CJK STROKE D
+31D5 ; [*14BD.0020.0002] # CJK STROKE HZ
+31D6 ; [*14BE.0020.0002] # CJK STROKE HG
+31D7 ; [*14BF.0020.0002] # CJK STROKE SZ
+31D8 ; [*14C0.0020.0002] # CJK STROKE SWZ
+31D9 ; [*14C1.0020.0002] # CJK STROKE ST
+31DA ; [*14C2.0020.0002] # CJK STROKE SG
+31DB ; [*14C3.0020.0002] # CJK STROKE PD
+31DC ; [*14C4.0020.0002] # CJK STROKE PZ
+31DD ; [*14C5.0020.0002] # CJK STROKE TN
+31DE ; [*14C6.0020.0002] # CJK STROKE SZZ
+31DF ; [*14C7.0020.0002] # CJK STROKE SWG
+31E0 ; [*14C8.0020.0002] # CJK STROKE HXWG
+31E1 ; [*14C9.0020.0002] # CJK STROKE HZZZG
+31E2 ; [*14CA.0020.0002] # CJK STROKE PG
+31E3 ; [*14CB.0020.0002] # CJK STROKE Q
+327F ; [*14D5.0020.0002] # KOREAN STANDARD SYMBOL
+4DC0 ; [*0DB0.0020.0002] # HEXAGRAM FOR THE CREATIVE HEAVEN
+4DC1 ; [*0DB1.0020.0002] # HEXAGRAM FOR THE RECEPTIVE EARTH
+4DC2 ; [*0DB2.0020.0002] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+4DC3 ; [*0DB3.0020.0002] # HEXAGRAM FOR YOUTHFUL FOLLY
+4DC4 ; [*0DB4.0020.0002] # HEXAGRAM FOR WAITING
+4DC5 ; [*0DB5.0020.0002] # HEXAGRAM FOR CONFLICT
+4DC6 ; [*0DB6.0020.0002] # HEXAGRAM FOR THE ARMY
+4DC7 ; [*0DB7.0020.0002] # HEXAGRAM FOR HOLDING TOGETHER
+4DC8 ; [*0DB8.0020.0002] # HEXAGRAM FOR SMALL TAMING
+4DC9 ; [*0DB9.0020.0002] # HEXAGRAM FOR TREADING
+4DCA ; [*0DBA.0020.0002] # HEXAGRAM FOR PEACE
+4DCB ; [*0DBB.0020.0002] # HEXAGRAM FOR STANDSTILL
+4DCC ; [*0DBC.0020.0002] # HEXAGRAM FOR FELLOWSHIP
+4DCD ; [*0DBD.0020.0002] # HEXAGRAM FOR GREAT POSSESSION
+4DCE ; [*0DBE.0020.0002] # HEXAGRAM FOR MODESTY
+4DCF ; [*0DBF.0020.0002] # HEXAGRAM FOR ENTHUSIASM
+4DD0 ; [*0DC0.0020.0002] # HEXAGRAM FOR FOLLOWING
+4DD1 ; [*0DC1.0020.0002] # HEXAGRAM FOR WORK ON THE DECAYED
+4DD2 ; [*0DC2.0020.0002] # HEXAGRAM FOR APPROACH
+4DD3 ; [*0DC3.0020.0002] # HEXAGRAM FOR CONTEMPLATION
+4DD4 ; [*0DC4.0020.0002] # HEXAGRAM FOR BITING THROUGH
+4DD5 ; [*0DC5.0020.0002] # HEXAGRAM FOR GRACE
+4DD6 ; [*0DC6.0020.0002] # HEXAGRAM FOR SPLITTING APART
+4DD7 ; [*0DC7.0020.0002] # HEXAGRAM FOR RETURN
+4DD8 ; [*0DC8.0020.0002] # HEXAGRAM FOR INNOCENCE
+4DD9 ; [*0DC9.0020.0002] # HEXAGRAM FOR GREAT TAMING
+4DDA ; [*0DCA.0020.0002] # HEXAGRAM FOR MOUTH CORNERS
+4DDB ; [*0DCB.0020.0002] # HEXAGRAM FOR GREAT PREPONDERANCE
+4DDC ; [*0DCC.0020.0002] # HEXAGRAM FOR THE ABYSMAL WATER
+4DDD ; [*0DCD.0020.0002] # HEXAGRAM FOR THE CLINGING FIRE
+4DDE ; [*0DCE.0020.0002] # HEXAGRAM FOR INFLUENCE
+4DDF ; [*0DCF.0020.0002] # HEXAGRAM FOR DURATION
+4DE0 ; [*0DD0.0020.0002] # HEXAGRAM FOR RETREAT
+4DE1 ; [*0DD1.0020.0002] # HEXAGRAM FOR GREAT POWER
+4DE2 ; [*0DD2.0020.0002] # HEXAGRAM FOR PROGRESS
+4DE3 ; [*0DD3.0020.0002] # HEXAGRAM FOR DARKENING OF THE LIGHT
+4DE4 ; [*0DD4.0020.0002] # HEXAGRAM FOR THE FAMILY
+4DE5 ; [*0DD5.0020.0002] # HEXAGRAM FOR OPPOSITION
+4DE6 ; [*0DD6.0020.0002] # HEXAGRAM FOR OBSTRUCTION
+4DE7 ; [*0DD7.0020.0002] # HEXAGRAM FOR DELIVERANCE
+4DE8 ; [*0DD8.0020.0002] # HEXAGRAM FOR DECREASE
+4DE9 ; [*0DD9.0020.0002] # HEXAGRAM FOR INCREASE
+4DEA ; [*0DDA.0020.0002] # HEXAGRAM FOR BREAKTHROUGH
+4DEB ; [*0DDB.0020.0002] # HEXAGRAM FOR COMING TO MEET
+4DEC ; [*0DDC.0020.0002] # HEXAGRAM FOR GATHERING TOGETHER
+4DED ; [*0DDD.0020.0002] # HEXAGRAM FOR PUSHING UPWARD
+4DEE ; [*0DDE.0020.0002] # HEXAGRAM FOR OPPRESSION
+4DEF ; [*0DDF.0020.0002] # HEXAGRAM FOR THE WELL
+4DF0 ; [*0DE0.0020.0002] # HEXAGRAM FOR REVOLUTION
+4DF1 ; [*0DE1.0020.0002] # HEXAGRAM FOR THE CAULDRON
+4DF2 ; [*0DE2.0020.0002] # HEXAGRAM FOR THE AROUSING THUNDER
+4DF3 ; [*0DE3.0020.0002] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+4DF4 ; [*0DE4.0020.0002] # HEXAGRAM FOR DEVELOPMENT
+4DF5 ; [*0DE5.0020.0002] # HEXAGRAM FOR THE MARRYING MAIDEN
+4DF6 ; [*0DE6.0020.0002] # HEXAGRAM FOR ABUNDANCE
+4DF7 ; [*0DE7.0020.0002] # HEXAGRAM FOR THE WANDERER
+4DF8 ; [*0DE8.0020.0002] # HEXAGRAM FOR THE GENTLE WIND
+4DF9 ; [*0DE9.0020.0002] # HEXAGRAM FOR THE JOYOUS LAKE
+4DFA ; [*0DEA.0020.0002] # HEXAGRAM FOR DISPERSION
+4DFB ; [*0DEB.0020.0002] # HEXAGRAM FOR LIMITATION
+4DFC ; [*0DEC.0020.0002] # HEXAGRAM FOR INNER TRUTH
+4DFD ; [*0DED.0020.0002] # HEXAGRAM FOR SMALL PREPONDERANCE
+4DFE ; [*0DEE.0020.0002] # HEXAGRAM FOR AFTER COMPLETION
+4DFF ; [*0DEF.0020.0002] # HEXAGRAM FOR BEFORE COMPLETION
+A490 ; [*0E47.0020.0002] # YI RADICAL QOT
+A491 ; [*0E48.0020.0002] # YI RADICAL LI
+A492 ; [*0E49.0020.0002] # YI RADICAL KIT
+A493 ; [*0E4A.0020.0002] # YI RADICAL NYIP
+A494 ; [*0E4B.0020.0002] # YI RADICAL CYP
+A495 ; [*0E4C.0020.0002] # YI RADICAL SSI
+A496 ; [*0E4D.0020.0002] # YI RADICAL GGOP
+A497 ; [*0E4E.0020.0002] # YI RADICAL GEP
+A498 ; [*0E4F.0020.0002] # YI RADICAL MI
+A499 ; [*0E50.0020.0002] # YI RADICAL HXIT
+A49A ; [*0E51.0020.0002] # YI RADICAL LYR
+A49B ; [*0E52.0020.0002] # YI RADICAL BBUT
+A49C ; [*0E53.0020.0002] # YI RADICAL MOP
+A49D ; [*0E54.0020.0002] # YI RADICAL YO
+A49E ; [*0E55.0020.0002] # YI RADICAL PUT
+A49F ; [*0E56.0020.0002] # YI RADICAL HXUO
+A4A0 ; [*0E57.0020.0002] # YI RADICAL TAT
+A4A1 ; [*0E58.0020.0002] # YI RADICAL GA
+A4A2 ; [*0E59.0020.0002] # YI RADICAL ZUP
+A4A3 ; [*0E5A.0020.0002] # YI RADICAL CYT
+A4A4 ; [*0E5B.0020.0002] # YI RADICAL DDUR
+A4A5 ; [*0E5C.0020.0002] # YI RADICAL BUR
+A4A6 ; [*0E5D.0020.0002] # YI RADICAL GGUO
+A4A7 ; [*0E5E.0020.0002] # YI RADICAL NYOP
+A4A8 ; [*0E5F.0020.0002] # YI RADICAL TU
+A4A9 ; [*0E60.0020.0002] # YI RADICAL OP
+A4AA ; [*0E61.0020.0002] # YI RADICAL JJUT
+A4AB ; [*0E62.0020.0002] # YI RADICAL ZOT
+A4AC ; [*0E63.0020.0002] # YI RADICAL PYT
+A4AD ; [*0E64.0020.0002] # YI RADICAL HMO
+A4AE ; [*0E65.0020.0002] # YI RADICAL YIT
+A4AF ; [*0E66.0020.0002] # YI RADICAL VUR
+A4B0 ; [*0E67.0020.0002] # YI RADICAL SHY
+A4B1 ; [*0E68.0020.0002] # YI RADICAL VEP
+A4B2 ; [*0E69.0020.0002] # YI RADICAL ZA
+A4B3 ; [*0E6A.0020.0002] # YI RADICAL JO
+A4B4 ; [*0E6B.0020.0002] # YI RADICAL NZUP
+A4B5 ; [*0E6C.0020.0002] # YI RADICAL JJY
+A4B6 ; [*0E6D.0020.0002] # YI RADICAL GOT
+A4B7 ; [*0E6E.0020.0002] # YI RADICAL JJIE
+A4B8 ; [*0E6F.0020.0002] # YI RADICAL WO
+A4B9 ; [*0E70.0020.0002] # YI RADICAL DU
+A4BA ; [*0E71.0020.0002] # YI RADICAL SHUR
+A4BB ; [*0E72.0020.0002] # YI RADICAL LIE
+A4BC ; [*0E73.0020.0002] # YI RADICAL CY
+A4BD ; [*0E74.0020.0002] # YI RADICAL CUOP
+A4BE ; [*0E75.0020.0002] # YI RADICAL CIP
+A4BF ; [*0E76.0020.0002] # YI RADICAL HXOP
+A4C0 ; [*0E77.0020.0002] # YI RADICAL SHAT
+A4C1 ; [*0E78.0020.0002] # YI RADICAL ZUR
+A4C2 ; [*0E79.0020.0002] # YI RADICAL SHOP
+A4C3 ; [*0E7A.0020.0002] # YI RADICAL CHE
+A4C4 ; [*0E7B.0020.0002] # YI RADICAL ZZIET
+A4C5 ; [*0E7C.0020.0002] # YI RADICAL NBIE
+A4C6 ; [*0E7D.0020.0002] # YI RADICAL KE
+A4FE ; [*022B.0020.0002] # LISU PUNCTUATION COMMA
+A4FF ; [*027F.0020.0002] # LISU PUNCTUATION FULL STOP
+A60D ; [*022C.0020.0002] # VAI COMMA
+A60E ; [*0280.0020.0002] # VAI FULL STOP
+A60F ; [*026C.0020.0002] # VAI QUESTION MARK
+A670 ; [.0000.0000.0000] # COMBINING CYRILLIC TEN MILLIONS SIGN
+A671 ; [.0000.0000.0000] # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
+A672 ; [.0000.0000.0000] # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
+A673 ; [*0374.0020.0002] # SLAVONIC ASTERISK
+A67E ; [*03AA.0020.0002] # CYRILLIC KAVYKA
+A6F2 ; [*02C1.0020.0002] # BAMUM NJAEMLI
+A6F3 ; [*0281.0020.0002] # BAMUM FULL STOP
+A6F4 ; [*025C.0020.0002] # BAMUM COLON
+A6F5 ; [*022D.0020.0002] # BAMUM COMMA
+A6F6 ; [*0235.0020.0002] # BAMUM SEMICOLON
+A6F7 ; [*026D.0020.0002] # BAMUM QUESTION MARK
+A700 ; [*0460.0020.0002] # MODIFIER LETTER CHINESE TONE YIN PING
+A701 ; [*0461.0020.0002] # MODIFIER LETTER CHINESE TONE YANG PING
+A702 ; [*0462.0020.0002] # MODIFIER LETTER CHINESE TONE YIN SHANG
+A703 ; [*0463.0020.0002] # MODIFIER LETTER CHINESE TONE YANG SHANG
+A704 ; [*0464.0020.0002] # MODIFIER LETTER CHINESE TONE YIN QU
+A705 ; [*0465.0020.0002] # MODIFIER LETTER CHINESE TONE YANG QU
+A706 ; [*0466.0020.0002] # MODIFIER LETTER CHINESE TONE YIN RU
+A707 ; [*0467.0020.0002] # MODIFIER LETTER CHINESE TONE YANG RU
+A708 ; [*0468.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+A709 ; [*0469.0020.0002] # MODIFIER LETTER HIGH DOTTED TONE BAR
+A70A ; [*046A.0020.0002] # MODIFIER LETTER MID DOTTED TONE BAR
+A70B ; [*046B.0020.0002] # MODIFIER LETTER LOW DOTTED TONE BAR
+A70C ; [*046C.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+A70D ; [*046D.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+A70E ; [*046E.0020.0002] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+A70F ; [*046F.0020.0002] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+A710 ; [*0470.0020.0002] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+A711 ; [*0471.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+A712 ; [*0472.0020.0002] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+A713 ; [*0473.0020.0002] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+A714 ; [*0474.0020.0002] # MODIFIER LETTER MID LEFT-STEM TONE BAR
+A715 ; [*0475.0020.0002] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
+A716 ; [*0476.0020.0002] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717 ; [*0477.0020.0002] # MODIFIER LETTER DOT VERTICAL BAR
+A718 ; [*0478.0020.0002] # MODIFIER LETTER DOT SLASH
+A719 ; [*0479.0020.0002] # MODIFIER LETTER DOT HORIZONTAL BAR
+A71A ; [*047A.0020.0002] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+A71B ; [*047B.0020.0002] # MODIFIER LETTER RAISED UP ARROW
+A71C ; [*047C.0020.0002] # MODIFIER LETTER RAISED DOWN ARROW
+A71D ; [*047D.0020.0002] # MODIFIER LETTER RAISED EXCLAMATION MARK
+A71E ; [*047E.0020.0002] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+A71F ; [*047F.0020.0002] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720 ; [*0480.0020.0002] # MODIFIER LETTER STRESS AND HIGH TONE
+A721 ; [*0481.0020.0002] # MODIFIER LETTER STRESS AND LOW TONE
+A788 ; [*0482.0020.0002] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789 ; [*0483.0020.0002] # MODIFIER LETTER COLON
+A78A ; [*0484.0020.0002] # MODIFIER LETTER SHORT EQUALS SIGN
+A828 ; [*04AB.0020.0002] # SYLOTI NAGRI POETRY MARK-1
+A829 ; [*04AC.0020.0002] # SYLOTI NAGRI POETRY MARK-2
+A82A ; [*04AD.0020.0002] # SYLOTI NAGRI POETRY MARK-3
+A82B ; [*04AE.0020.0002] # SYLOTI NAGRI POETRY MARK-4
+A830 ; [*14E3.0020.0002] # NORTH INDIC FRACTION ONE QUARTER
+A831 ; [*14E4.0020.0002] # NORTH INDIC FRACTION ONE HALF
+A832 ; [*14E5.0020.0002] # NORTH INDIC FRACTION THREE QUARTERS
+A833 ; [*14E6.0020.0002] # NORTH INDIC FRACTION ONE SIXTEENTH
+A834 ; [*14E7.0020.0002] # NORTH INDIC FRACTION ONE EIGHTH
+A835 ; [*14E8.0020.0002] # NORTH INDIC FRACTION THREE SIXTEENTHS
+A836 ; [*04AF.0020.0002] # NORTH INDIC QUARTER MARK
+A837 ; [*04B0.0020.0002] # NORTH INDIC PLACEHOLDER MARK
+A839 ; [*04B1.0020.0002] # NORTH INDIC QUANTITY MARK
+A874 ; [*03F8.0020.0002] # PHAGS-PA SINGLE HEAD MARK
+A875 ; [*03F9.0020.0002] # PHAGS-PA DOUBLE HEAD MARK
+A876 ; [*028C.0020.0002] # PHAGS-PA MARK SHAD
+A877 ; [*028D.0020.0002] # PHAGS-PA MARK DOUBLE SHAD
+A8CE ; [*0288.0020.0002] # SAURASHTRA DANDA
+A8CF ; [*0289.0020.0002] # SAURASHTRA DOUBLE DANDA
+A8E0 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT ZERO
+A8E1 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT ONE
+A8E2 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT TWO
+A8E3 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT THREE
+A8E4 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT FOUR
+A8E5 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT FIVE
+A8E6 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT SIX
+A8E7 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT SEVEN
+A8E8 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT EIGHT
+A8E9 ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT NINE
+A8EA ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER A
+A8EB ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER U
+A8EC ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER KA
+A8ED ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER NA
+A8EE ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER PA
+A8EF ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER RA
+A8F0 ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER VI
+A8F1 ; [.0000.0000.0000] # COMBINING DEVANAGARI SIGN AVAGRAHA
+A8F8 ; [*03BB.0020.0002] # DEVANAGARI SIGN PUSHPIKA
+A8F9 ; [*03BC.0020.0002] # DEVANAGARI GAP FILLER
+A8FA ; [*03BD.0020.0002] # DEVANAGARI CARET
+A92E ; [*03FE.0020.0002] # KAYAH LI SIGN CWI
+A92F ; [*0290.0020.0002] # KAYAH LI SIGN SHYA
+A95F ; [*02C2.0020.0002] # REJANG SECTION MARK
+A9C1 ; [*02B7.0020.0002] # JAVANESE LEFT RERENGGAN
+A9C2 ; [*02B8.0020.0002] # JAVANESE RIGHT RERENGGAN
+A9C3 ; [*02B9.0020.0002] # JAVANESE PADA ANDAP
+A9C4 ; [*02BA.0020.0002] # JAVANESE PADA MADYA
+A9C5 ; [*02BB.0020.0002] # JAVANESE PADA LUHUR
+A9C6 ; [*02BC.0020.0002] # JAVANESE PADA WINDU
+A9C7 ; [*0258.0020.0002] # JAVANESE PADA PANGKAT
+A9C8 ; [*029B.0020.0002] # JAVANESE PADA LINGSA
+A9C9 ; [*029C.0020.0002] # JAVANESE PADA LUNGSI
+A9CA ; [*02BD.0020.0002] # JAVANESE PADA ADEG
+A9CB ; [*02BE.0020.0002] # JAVANESE PADA ADEG ADEG
+A9CC ; [*02BF.0020.0002] # JAVANESE PADA PISELEH
+A9CD ; [*02C0.0020.0002] # JAVANESE TURNED PADA PISELEH
+A9DE ; [*03FF.0020.0002] # JAVANESE PADA TIRTA TUMETES
+A9DF ; [*0400.0020.0002] # JAVANESE PADA ISEN-ISEN
+AA5C ; [*0401.0020.0002] # CHAM PUNCTUATION SPIRAL
+AA5D ; [*029D.0020.0002] # CHAM PUNCTUATION DANDA
+AA5E ; [*029E.0020.0002] # CHAM PUNCTUATION DOUBLE DANDA
+AA5F ; [*029F.0020.0002] # CHAM PUNCTUATION TRIPLE DANDA
+AA77 ; [*04D9.0020.0002] # MYANMAR SYMBOL AITON EXCLAMATION
+AA78 ; [*04DA.0020.0002] # MYANMAR SYMBOL AITON ONE
+AA79 ; [*04DB.0020.0002] # MYANMAR SYMBOL AITON TWO
+AADE ; [*03C3.0020.0002] # TAI VIET SYMBOL HO HOI
+AADF ; [*03C4.0020.0002] # TAI VIET SYMBOL KOI KOI
+AAF0 ; [*02A0.0020.0002] # MEETEI MAYEK CHEIKHAN
+AAF1 ; [*026E.0020.0002] # MEETEI MAYEK AHANG KHUDAM
+ABEB ; [*02A1.0020.0002] # MEETEI MAYEK CHEIKHEI
+FB29 ; [*059F.0020.0005] # HEBREW LETTER ALTERNATIVE PLUS SIGN
+FBB2 ; [*048F.0020.0002] # ARABIC SYMBOL DOT ABOVE
+FBB3 ; [*0490.0020.0002] # ARABIC SYMBOL DOT BELOW
+FBB4 ; [*0491.0020.0002] # ARABIC SYMBOL TWO DOTS ABOVE
+FBB5 ; [*0492.0020.0002] # ARABIC SYMBOL TWO DOTS BELOW
+FBB6 ; [*0493.0020.0002] # ARABIC SYMBOL THREE DOTS ABOVE
+FBB7 ; [*0494.0020.0002] # ARABIC SYMBOL THREE DOTS BELOW
+FBB8 ; [*0495.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+FBB9 ; [*0496.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+FBBA ; [*0497.0020.0002] # ARABIC SYMBOL FOUR DOTS ABOVE
+FBBB ; [*0498.0020.0002] # ARABIC SYMBOL FOUR DOTS BELOW
+FBBC ; [*0499.0020.0002] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+FBBD ; [*049A.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+FBBE ; [*049B.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+FBBF ; [*049C.0020.0002] # ARABIC SYMBOL RING
+FBC0 ; [*049D.0020.0002] # ARABIC SYMBOL SMALL TAH ABOVE
+FBC1 ; [*049E.0020.0002] # ARABIC SYMBOL SMALL TAH BELOW
+FD3E ; [*0364.0020.0002] # ORNATE LEFT PARENTHESIS
+FD3F ; [*0365.0020.0002] # ORNATE RIGHT PARENTHESIS
+FDFD ; [*048E.0020.0002] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE10 ; [*0220.0020.0016] # PRESENTATION FORM FOR VERTICAL COMMA
+FE11 ; [*022E.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
+FE12 ; [*0282.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
+FE13 ; [*0236.0020.0016] # PRESENTATION FORM FOR VERTICAL COLON
+FE14 ; [*0231.0020.0016] # PRESENTATION FORM FOR VERTICAL SEMICOLON
+FE15 ; [*025D.0020.0016] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
+FE16 ; [*0262.0020.0016] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
+FE17 ; [*035E.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+FE18 ; [*035F.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+FE19 ; [*0272.0020.0016][*0272.0020.0016][*0272.0020.0016] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
+FE21 ; [.0000.0000.0000] # COMBINING LIGATURE RIGHT HALF
+FE23 ; [.0000.0000.0000] # COMBINING DOUBLE TILDE RIGHT HALF
+FE24 ; [.0000.0000.0000] # COMBINING MACRON LEFT HALF
+FE25 ; [.0000.0000.0000] # COMBINING MACRON RIGHT HALF
+FE26 ; [.0000.0000.0000] # COMBINING CONJOINING MACRON
+FE30 ; [*0272.0020.0016][*0272.0020.0016] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+FE31 ; [*0216.0020.0016] # PRESENTATION FORM FOR VERTICAL EM DASH
+FE32 ; [*0215.0020.0016] # PRESENTATION FORM FOR VERTICAL EN DASH
+FE33 ; [*020B.0020.0016] # PRESENTATION FORM FOR VERTICAL LOW LINE
+FE34 ; [*020B.0020.0016] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+FE35 ; [*02FA.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+FE36 ; [*02FB.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+FE37 ; [*02FE.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+FE38 ; [*02FF.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+FE39 ; [*035C.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+FE3A ; [*035D.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+FE3B ; [*035A.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+FE3C ; [*035B.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+FE3D ; [*0354.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+FE3E ; [*0355.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+FE3F ; [*0352.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+FE40 ; [*0353.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+FE41 ; [*0356.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+FE42 ; [*0357.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+FE43 ; [*0358.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+FE44 ; [*0359.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+FE45 ; [*022F.0020.0002] # SESAME DOT
+FE46 ; [*0230.0020.0002] # WHITE SESAME DOT
+FE47 ; [*02FC.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+FE48 ; [*02FD.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+FE49 ; [*020A.0020.0004] # DASHED OVERLINE
+FE4A ; [*020A.0020.0004] # CENTRELINE OVERLINE
+FE4B ; [*020A.0020.0004] # WAVY OVERLINE
+FE4C ; [*020A.0020.0004] # DOUBLE WAVY OVERLINE
+FE4D ; [*020B.0020.0004] # DASHED LOW LINE
+FE4E ; [*020B.0020.0004] # CENTRELINE LOW LINE
+FE4F ; [*020B.0020.0004] # WAVY LOW LINE
+FE50 ; [*0220.0020.000F] # SMALL COMMA
+FE51 ; [*022E.0020.000F] # SMALL IDEOGRAPHIC COMMA
+FE52 ; [*0272.0020.000F] # SMALL FULL STOP
+FE54 ; [*0231.0020.000F] # SMALL SEMICOLON
+FE55 ; [*0236.0020.000F] # SMALL COLON
+FE56 ; [*0262.0020.000F] # SMALL QUESTION MARK
+FE57 ; [*025D.0020.000F] # SMALL EXCLAMATION MARK
+FE58 ; [*0216.0020.000F] # SMALL EM DASH
+FE59 ; [*02FA.0020.000F] # SMALL LEFT PARENTHESIS
+FE5A ; [*02FB.0020.000F] # SMALL RIGHT PARENTHESIS
+FE5B ; [*02FE.0020.000F] # SMALL LEFT CURLY BRACKET
+FE5C ; [*02FF.0020.000F] # SMALL RIGHT CURLY BRACKET
+FE5D ; [*035C.0020.000F] # SMALL LEFT TORTOISE SHELL BRACKET
+FE5E ; [*035D.0020.000F] # SMALL RIGHT TORTOISE SHELL BRACKET
+FE5F ; [*0379.0020.000F] # SMALL NUMBER SIGN
+FE60 ; [*0377.0020.000F] # SMALL AMPERSAND
+FE61 ; [*0370.0020.000F] # SMALL ASTERISK
+FE62 ; [*059F.0020.000F] # SMALL PLUS SIGN
+FE63 ; [*020D.0020.000F] # SMALL HYPHEN-MINUS
+FE64 ; [*05A3.0020.000F] # SMALL LESS-THAN SIGN
+FE65 ; [*05A5.0020.000F] # SMALL GREATER-THAN SIGN
+FE66 ; [*05A4.0020.000F] # SMALL EQUALS SIGN
+FE68 ; [*0376.0020.000F] # SMALL REVERSE SOLIDUS
+FE6A ; [*037A.0020.000F] # SMALL PERCENT SIGN
+FE6B ; [*036F.0020.000F] # SMALL COMMERCIAL AT
+FE73 ; [.0000.0000.0000] # ARABIC TAIL FRAGMENT
+FF01 ; [*025D.0020.0003] # FULLWIDTH EXCLAMATION MARK
+FF02 ; [*02F0.0020.0003] # FULLWIDTH QUOTATION MARK
+FF03 ; [*0379.0020.0003] # FULLWIDTH NUMBER SIGN
+FF05 ; [*037A.0020.0003] # FULLWIDTH PERCENT SIGN
+FF06 ; [*0377.0020.0003] # FULLWIDTH AMPERSAND
+FF07 ; [*02E9.0020.0003] # FULLWIDTH APOSTROPHE
+FF08 ; [*02FA.0020.0003] # FULLWIDTH LEFT PARENTHESIS
+FF09 ; [*02FB.0020.0003] # FULLWIDTH RIGHT PARENTHESIS
+FF0A ; [*0370.0020.0003] # FULLWIDTH ASTERISK
+FF0B ; [*059F.0020.0003] # FULLWIDTH PLUS SIGN
+FF0C ; [*0220.0020.0003] # FULLWIDTH COMMA
+FF0D ; [*020D.0020.0003] # FULLWIDTH HYPHEN-MINUS
+FF0E ; [*0272.0020.0003] # FULLWIDTH FULL STOP
+FF0F ; [*0375.0020.0003] # FULLWIDTH SOLIDUS
+FF1A ; [*0236.0020.0003] # FULLWIDTH COLON
+FF1B ; [*0231.0020.0003] # FULLWIDTH SEMICOLON
+FF1C ; [*05A3.0020.0003] # FULLWIDTH LESS-THAN SIGN
+FF1D ; [*05A4.0020.0003] # FULLWIDTH EQUALS SIGN
+FF1E ; [*05A5.0020.0003] # FULLWIDTH GREATER-THAN SIGN
+FF1F ; [*0262.0020.0003] # FULLWIDTH QUESTION MARK
+FF20 ; [*036F.0020.0003] # FULLWIDTH COMMERCIAL AT
+FF3B ; [*02FC.0020.0003] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C ; [*0376.0020.0003] # FULLWIDTH REVERSE SOLIDUS
+FF3D ; [*02FD.0020.0003] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E ; [*0415.0020.0003] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F ; [*020B.0020.0003] # FULLWIDTH LOW LINE
+FF40 ; [*0412.0020.0003] # FULLWIDTH GRAVE ACCENT
+FF5B ; [*02FE.0020.0003] # FULLWIDTH LEFT CURLY BRACKET
+FF5C ; [*05A7.0020.0003] # FULLWIDTH VERTICAL LINE
+FF5D ; [*02FF.0020.0003] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E ; [*05A9.0020.0003] # FULLWIDTH TILDE
+FF5F ; [*0310.0020.0003] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60 ; [*0311.0020.0003] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61 ; [*0282.0020.0012] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62 ; [*0356.0020.0012] # HALFWIDTH LEFT CORNER BRACKET
+FF63 ; [*0357.0020.0012] # HALFWIDTH RIGHT CORNER BRACKET
+FF64 ; [*022E.0020.0012] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65 ; [*021F.0020.0012] # HALFWIDTH KATAKANA MIDDLE DOT
+FFE2 ; [*05A6.0020.0003] # FULLWIDTH NOT SIGN
+FFE3 ; [*0416.0020.0003] # FULLWIDTH MACRON
+FFE4 ; [*05A8.0020.0003] # FULLWIDTH BROKEN BAR
+FFE8 ; [*0798.0020.0012] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9 ; [*0525.0020.0012] # HALFWIDTH LEFTWARDS ARROW
+FFEA ; [*0527.0020.0012] # HALFWIDTH UPWARDS ARROW
+FFEB ; [*0526.0020.0012] # HALFWIDTH RIGHTWARDS ARROW
+FFEC ; [*0528.0020.0012] # HALFWIDTH DOWNWARDS ARROW
+FFED ; [*0836.0020.0012] # HALFWIDTH BLACK SQUARE
+FFEE ; [*0861.0020.0012] # HALFWIDTH WHITE CIRCLE
+FFFC ; [*14D6.0020.0002] # OBJECT REPLACEMENT CHARACTER
+10100 ; [*02DF.0020.0002] # AEGEAN WORD SEPARATOR LINE
+10101 ; [*02E0.0020.0002] # AEGEAN WORD SEPARATOR DOT
+10102 ; [*02E1.0020.0002] # AEGEAN CHECK MARK
+10110 ; [*151C.0020.0002] # AEGEAN NUMBER TEN
+10111 ; [*151D.0020.0002] # AEGEAN NUMBER TWENTY
+10112 ; [*151E.0020.0002] # AEGEAN NUMBER THIRTY
+10113 ; [*151F.0020.0002] # AEGEAN NUMBER FORTY
+10114 ; [*1520.0020.0002] # AEGEAN NUMBER FIFTY
+10115 ; [*1521.0020.0002] # AEGEAN NUMBER SIXTY
+10116 ; [*1522.0020.0002] # AEGEAN NUMBER SEVENTY
+10117 ; [*1523.0020.0002] # AEGEAN NUMBER EIGHTY
+10118 ; [*1524.0020.0002] # AEGEAN NUMBER NINETY
+10119 ; [*1525.0020.0002] # AEGEAN NUMBER ONE HUNDRED
+1011A ; [*1526.0020.0002] # AEGEAN NUMBER TWO HUNDRED
+1011B ; [*1527.0020.0002] # AEGEAN NUMBER THREE HUNDRED
+1011C ; [*1528.0020.0002] # AEGEAN NUMBER FOUR HUNDRED
+1011D ; [*1529.0020.0002] # AEGEAN NUMBER FIVE HUNDRED
+1011E ; [*152A.0020.0002] # AEGEAN NUMBER SIX HUNDRED
+1011F ; [*152B.0020.0002] # AEGEAN NUMBER SEVEN HUNDRED
+10120 ; [*152C.0020.0002] # AEGEAN NUMBER EIGHT HUNDRED
+10121 ; [*152D.0020.0002] # AEGEAN NUMBER NINE HUNDRED
+10122 ; [*152E.0020.0002] # AEGEAN NUMBER ONE THOUSAND
+10123 ; [*152F.0020.0002] # AEGEAN NUMBER TWO THOUSAND
+10124 ; [*1530.0020.0002] # AEGEAN NUMBER THREE THOUSAND
+10125 ; [*1531.0020.0002] # AEGEAN NUMBER FOUR THOUSAND
+10126 ; [*1532.0020.0002] # AEGEAN NUMBER FIVE THOUSAND
+10127 ; [*1533.0020.0002] # AEGEAN NUMBER SIX THOUSAND
+10128 ; [*1534.0020.0002] # AEGEAN NUMBER SEVEN THOUSAND
+10129 ; [*1535.0020.0002] # AEGEAN NUMBER EIGHT THOUSAND
+1012A ; [*1536.0020.0002] # AEGEAN NUMBER NINE THOUSAND
+1012B ; [*1537.0020.0002] # AEGEAN NUMBER TEN THOUSAND
+1012C ; [*1538.0020.0002] # AEGEAN NUMBER TWENTY THOUSAND
+1012D ; [*1539.0020.0002] # AEGEAN NUMBER THIRTY THOUSAND
+1012E ; [*153A.0020.0002] # AEGEAN NUMBER FORTY THOUSAND
+1012F ; [*153B.0020.0002] # AEGEAN NUMBER FIFTY THOUSAND
+10130 ; [*153C.0020.0002] # AEGEAN NUMBER SIXTY THOUSAND
+10131 ; [*153D.0020.0002] # AEGEAN NUMBER SEVENTY THOUSAND
+10132 ; [*153E.0020.0002] # AEGEAN NUMBER EIGHTY THOUSAND
+10133 ; [*153F.0020.0002] # AEGEAN NUMBER NINETY THOUSAND
+10137 ; [*0E7E.0020.0002] # AEGEAN WEIGHT BASE UNIT
+10138 ; [*0E7F.0020.0002] # AEGEAN WEIGHT FIRST SUBUNIT
+10139 ; [*0E80.0020.0002] # AEGEAN WEIGHT SECOND SUBUNIT
+1013A ; [*0E81.0020.0002] # AEGEAN WEIGHT THIRD SUBUNIT
+1013B ; [*0E82.0020.0002] # AEGEAN WEIGHT FOURTH SUBUNIT
+1013C ; [*0E83.0020.0002] # AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D ; [*0E84.0020.0002] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E ; [*0E85.0020.0002] # AEGEAN MEASURE SECOND SUBUNIT
+1013F ; [*0E86.0020.0002] # AEGEAN MEASURE THIRD SUBUNIT
+10140 ; [*1540.0020.0002] # GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 ; [*1541.0020.0002] # GREEK ACROPHONIC ATTIC ONE HALF
+10144 ; [*1542.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY
+10145 ; [*1543.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 ; [*1544.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 ; [*1545.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10149 ; [*1546.0020.0002] # GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A ; [*1547.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B ; [*1548.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C ; [*1549.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D ; [*154A.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E ; [*154B.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+10150 ; [*154C.0020.0002] # GREEK ACROPHONIC ATTIC TEN STATERS
+10151 ; [*154D.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 ; [*154E.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 ; [*154F.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 ; [*1550.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 ; [*1551.0020.0002] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 ; [*1552.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 ; [*1553.0020.0002] # GREEK ACROPHONIC ATTIC TEN MNAS
+10160 ; [*1554.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN
+10161 ; [*1555.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 ; [*1556.0020.0002] # GREEK ACROPHONIC HERMIONIAN TEN
+10163 ; [*1557.0020.0002] # GREEK ACROPHONIC MESSENIAN TEN
+10164 ; [*1558.0020.0002] # GREEK ACROPHONIC THESPIAN TEN
+10165 ; [*1559.0020.0002] # GREEK ACROPHONIC THESPIAN THIRTY
+10166 ; [*155A.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 ; [*155B.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 ; [*155C.0020.0002] # GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 ; [*155D.0020.0002] # GREEK ACROPHONIC THESPIAN FIFTY
+1016A ; [*155E.0020.0002] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B ; [*155F.0020.0002] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C ; [*1560.0020.0002] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D ; [*1561.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E ; [*1562.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F ; [*1563.0020.0002] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 ; [*1564.0020.0002] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 ; [*1565.0020.0002] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 ; [*1566.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10174 ; [*1567.0020.0002] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 ; [*1568.0020.0002] # GREEK ONE HALF SIGN
+10176 ; [*1569.0020.0002] # GREEK ONE HALF SIGN ALTERNATE FORM
+10177 ; [*156A.0020.0002] # GREEK TWO THIRDS SIGN
+10178 ; [*156B.0020.0002] # GREEK THREE QUARTERS SIGN
+10179 ; [*0E87.0020.0002] # GREEK YEAR SIGN
+1017A ; [*0E88.0020.0002] # GREEK TALENT SIGN
+1017B ; [*0E89.0020.0002] # GREEK DRACHMA SIGN
+1017C ; [*0E8A.0020.0002] # GREEK OBOL SIGN
+1017D ; [*0E8B.0020.0002] # GREEK TWO OBOLS SIGN
+1017E ; [*0E8C.0020.0002] # GREEK THREE OBOLS SIGN
+1017F ; [*0E8D.0020.0002] # GREEK FOUR OBOLS SIGN
+10180 ; [*0E8E.0020.0002] # GREEK FIVE OBOLS SIGN
+10181 ; [*0E8F.0020.0002] # GREEK METRETES SIGN
+10182 ; [*0E90.0020.0002] # GREEK KYATHOS BASE SIGN
+10183 ; [*0E91.0020.0002] # GREEK LITRA SIGN
+10184 ; [*0E92.0020.0002] # GREEK OUNKIA SIGN
+10185 ; [*0E93.0020.0002] # GREEK XESTES SIGN
+10186 ; [*0E94.0020.0002] # GREEK ARTABE SIGN
+10187 ; [*0E95.0020.0002] # GREEK AROURA SIGN
+10188 ; [*0E96.0020.0002] # GREEK GRAMMA SIGN
+10189 ; [*0E97.0020.0002] # GREEK TRYBLION BASE SIGN
+10190 ; [*0E98.0020.0002] # ROMAN SEXTANS SIGN
+10191 ; [*0E99.0020.0002] # ROMAN UNCIA SIGN
+10192 ; [*0E9A.0020.0002] # ROMAN SEMUNCIA SIGN
+10193 ; [*0E9B.0020.0002] # ROMAN SEXTULA SIGN
+10194 ; [*0E9C.0020.0002] # ROMAN DIMIDIA SEXTULA SIGN
+10195 ; [*0E9D.0020.0002] # ROMAN SILIQUA SIGN
+10196 ; [*0E9E.0020.0002] # ROMAN DENARIUS SIGN
+10197 ; [*0E9F.0020.0002] # ROMAN QUINARIUS SIGN
+10198 ; [*0EA0.0020.0002] # ROMAN SESTERTIUS SIGN
+10199 ; [*0EA1.0020.0002] # ROMAN DUPONDIUS SIGN
+1019A ; [*0EA2.0020.0002] # ROMAN AS SIGN
+1019B ; [*0EA3.0020.0002] # ROMAN CENTURIAL SIGN
+101D0 ; [*0EA4.0020.0002] # PHAISTOS DISC SIGN PEDESTRIAN
+101D1 ; [*0EA5.0020.0002] # PHAISTOS DISC SIGN PLUMED HEAD
+101D2 ; [*0EA6.0020.0002] # PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 ; [*0EA7.0020.0002] # PHAISTOS DISC SIGN CAPTIVE
+101D4 ; [*0EA8.0020.0002] # PHAISTOS DISC SIGN CHILD
+101D5 ; [*0EA9.0020.0002] # PHAISTOS DISC SIGN WOMAN
+101D6 ; [*0EAA.0020.0002] # PHAISTOS DISC SIGN HELMET
+101D7 ; [*0EAB.0020.0002] # PHAISTOS DISC SIGN GAUNTLET
+101D8 ; [*0EAC.0020.0002] # PHAISTOS DISC SIGN TIARA
+101D9 ; [*0EAD.0020.0002] # PHAISTOS DISC SIGN ARROW
+101DA ; [*0EAE.0020.0002] # PHAISTOS DISC SIGN BOW
+101DB ; [*0EAF.0020.0002] # PHAISTOS DISC SIGN SHIELD
+101DC ; [*0EB0.0020.0002] # PHAISTOS DISC SIGN CLUB
+101DD ; [*0EB1.0020.0002] # PHAISTOS DISC SIGN MANACLES
+101DE ; [*0EB2.0020.0002] # PHAISTOS DISC SIGN MATTOCK
+101DF ; [*0EB3.0020.0002] # PHAISTOS DISC SIGN SAW
+101E0 ; [*0EB4.0020.0002] # PHAISTOS DISC SIGN LID
+101E1 ; [*0EB5.0020.0002] # PHAISTOS DISC SIGN BOOMERANG
+101E2 ; [*0EB6.0020.0002] # PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 ; [*0EB7.0020.0002] # PHAISTOS DISC SIGN DOLIUM
+101E4 ; [*0EB8.0020.0002] # PHAISTOS DISC SIGN COMB
+101E5 ; [*0EB9.0020.0002] # PHAISTOS DISC SIGN SLING
+101E6 ; [*0EBA.0020.0002] # PHAISTOS DISC SIGN COLUMN
+101E7 ; [*0EBB.0020.0002] # PHAISTOS DISC SIGN BEEHIVE
+101E8 ; [*0EBC.0020.0002] # PHAISTOS DISC SIGN SHIP
+101E9 ; [*0EBD.0020.0002] # PHAISTOS DISC SIGN HORN
+101EA ; [*0EBE.0020.0002] # PHAISTOS DISC SIGN HIDE
+101EB ; [*0EBF.0020.0002] # PHAISTOS DISC SIGN BULLS LEG
+101EC ; [*0EC0.0020.0002] # PHAISTOS DISC SIGN CAT
+101ED ; [*0EC1.0020.0002] # PHAISTOS DISC SIGN RAM
+101EE ; [*0EC2.0020.0002] # PHAISTOS DISC SIGN EAGLE
+101EF ; [*0EC3.0020.0002] # PHAISTOS DISC SIGN DOVE
+101F0 ; [*0EC4.0020.0002] # PHAISTOS DISC SIGN TUNNY
+101F1 ; [*0EC5.0020.0002] # PHAISTOS DISC SIGN BEE
+101F2 ; [*0EC6.0020.0002] # PHAISTOS DISC SIGN PLANE TREE
+101F3 ; [*0EC7.0020.0002] # PHAISTOS DISC SIGN VINE
+101F4 ; [*0EC8.0020.0002] # PHAISTOS DISC SIGN PAPYRUS
+101F5 ; [*0EC9.0020.0002] # PHAISTOS DISC SIGN ROSETTE
+101F6 ; [*0ECA.0020.0002] # PHAISTOS DISC SIGN LILY
+101F7 ; [*0ECB.0020.0002] # PHAISTOS DISC SIGN OX BACK
+101F8 ; [*0ECC.0020.0002] # PHAISTOS DISC SIGN FLUTE
+101F9 ; [*0ECD.0020.0002] # PHAISTOS DISC SIGN GRATER
+101FA ; [*0ECE.0020.0002] # PHAISTOS DISC SIGN STRAINER
+101FB ; [*0ECF.0020.0002] # PHAISTOS DISC SIGN SMALL AXE
+101FC ; [*0ED0.0020.0002] # PHAISTOS DISC SIGN WAVY BAND
+10322 ; [*151A.0020.0002] # OLD ITALIC NUMERAL TEN
+10323 ; [*151B.0020.0002] # OLD ITALIC NUMERAL FIFTY
+1039F ; [*02E2.0020.0002] # UGARITIC WORD DIVIDER
+103D0 ; [*02E3.0020.0002] # OLD PERSIAN WORD DIVIDER
+103D3 ; [*156C.0020.0002] # OLD PERSIAN NUMBER TEN
+103D4 ; [*156D.0020.0002] # OLD PERSIAN NUMBER TWENTY
+103D5 ; [*156E.0020.0002] # OLD PERSIAN NUMBER HUNDRED
+10857 ; [*02C3.0020.0002] # IMPERIAL ARAMAIC SECTION SIGN
+1085B ; [*1574.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN
+1085C ; [*1575.0020.0002] # IMPERIAL ARAMAIC NUMBER TWENTY
+1085D ; [*1576.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E ; [*1577.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F ; [*1578.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10917 ; [*1571.0020.0002] # PHOENICIAN NUMBER TEN
+10918 ; [*1572.0020.0002] # PHOENICIAN NUMBER TWENTY
+10919 ; [*1573.0020.0002] # PHOENICIAN NUMBER ONE HUNDRED
+1091F ; [*02E4.0020.0002] # PHOENICIAN WORD SEPARATOR
+1093F ; [*02DE.0020.0002] # LYDIAN TRIANGULAR MARK
+10A44 ; [*158C.0020.0002] # KHAROSHTHI NUMBER TEN
+10A45 ; [*158D.0020.0002] # KHAROSHTHI NUMBER TWENTY
+10A46 ; [*158E.0020.0002] # KHAROSHTHI NUMBER ONE HUNDRED
+10A47 ; [*158F.0020.0002] # KHAROSHTHI NUMBER ONE THOUSAND
+10A50 ; [*0407.0020.0002] # KHAROSHTHI PUNCTUATION DOT
+10A51 ; [*0408.0020.0002] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 ; [*0409.0020.0002] # KHAROSHTHI PUNCTUATION CIRCLE
+10A53 ; [*040A.0020.0002] # KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 ; [*040B.0020.0002] # KHAROSHTHI PUNCTUATION MANGALAM
+10A55 ; [*040C.0020.0002] # KHAROSHTHI PUNCTUATION LOTUS
+10A56 ; [*02A2.0020.0002] # KHAROSHTHI PUNCTUATION DANDA
+10A57 ; [*02A3.0020.0002] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 ; [*040D.0020.0002] # KHAROSHTHI PUNCTUATION LINES
+10A7E ; [*156F.0020.0002] # OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F ; [*1570.0020.0002] # OLD SOUTH ARABIAN NUMERIC INDICATOR
+10B39 ; [*040E.0020.0002] # AVESTAN ABBREVIATION MARK
+10B3A ; [*02C4.0020.0002] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B ; [*02C5.0020.0002] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C ; [*02C6.0020.0002] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D ; [*02C7.0020.0002] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E ; [*02C8.0020.0002] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F ; [*02C9.0020.0002] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B5C ; [*1579.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D ; [*157A.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E ; [*157B.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F ; [*157C.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B7C ; [*157D.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D ; [*157E.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E ; [*157F.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F ; [*1580.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10E69 ; [*1503.0020.0002] # RUMI NUMBER TEN
+10E6A ; [*1504.0020.0002] # RUMI NUMBER TWENTY
+10E6B ; [*1505.0020.0002] # RUMI NUMBER THIRTY
+10E6C ; [*1506.0020.0002] # RUMI NUMBER FORTY
+10E6D ; [*1507.0020.0002] # RUMI NUMBER FIFTY
+10E6E ; [*1508.0020.0002] # RUMI NUMBER SIXTY
+10E6F ; [*1509.0020.0002] # RUMI NUMBER SEVENTY
+10E70 ; [*150A.0020.0002] # RUMI NUMBER EIGHTY
+10E71 ; [*150B.0020.0002] # RUMI NUMBER NINETY
+10E72 ; [*150C.0020.0002] # RUMI NUMBER ONE HUNDRED
+10E73 ; [*150D.0020.0002] # RUMI NUMBER TWO HUNDRED
+10E74 ; [*150E.0020.0002] # RUMI NUMBER THREE HUNDRED
+10E75 ; [*150F.0020.0002] # RUMI NUMBER FOUR HUNDRED
+10E76 ; [*1510.0020.0002] # RUMI NUMBER FIVE HUNDRED
+10E77 ; [*1511.0020.0002] # RUMI NUMBER SIX HUNDRED
+10E78 ; [*1512.0020.0002] # RUMI NUMBER SEVEN HUNDRED
+10E79 ; [*1513.0020.0002] # RUMI NUMBER EIGHT HUNDRED
+10E7A ; [*1514.0020.0002] # RUMI NUMBER NINE HUNDRED
+10E7B ; [*1515.0020.0002] # RUMI FRACTION ONE HALF
+10E7C ; [*1516.0020.0002] # RUMI FRACTION ONE QUARTER
+10E7D ; [*1517.0020.0002] # RUMI FRACTION ONE THIRD
+10E7E ; [*1518.0020.0002] # RUMI FRACTION TWO THIRDS
+11047 ; [*02A4.0020.0002] # BRAHMI DANDA
+11048 ; [*02A5.0020.0002] # BRAHMI DOUBLE DANDA
+11049 ; [*0402.0020.0002] # BRAHMI PUNCTUATION DOT
+1104A ; [*0403.0020.0002] # BRAHMI PUNCTUATION DOUBLE DOT
+1104B ; [*0404.0020.0002] # BRAHMI PUNCTUATION LINE
+1104C ; [*0405.0020.0002] # BRAHMI PUNCTUATION CRESCENT BAR
+1104D ; [*0406.0020.0002] # BRAHMI PUNCTUATION LOTUS
+1105B ; [*1581.0020.0002] # BRAHMI NUMBER TEN
+1105C ; [*1582.0020.0002] # BRAHMI NUMBER TWENTY
+1105D ; [*1583.0020.0002] # BRAHMI NUMBER THIRTY
+1105E ; [*1584.0020.0002] # BRAHMI NUMBER FORTY
+1105F ; [*1585.0020.0002] # BRAHMI NUMBER FIFTY
+11060 ; [*1586.0020.0002] # BRAHMI NUMBER SIXTY
+11061 ; [*1587.0020.0002] # BRAHMI NUMBER SEVENTY
+11062 ; [*1588.0020.0002] # BRAHMI NUMBER EIGHTY
+11063 ; [*1589.0020.0002] # BRAHMI NUMBER NINETY
+11064 ; [*158A.0020.0002] # BRAHMI NUMBER ONE HUNDRED
+11065 ; [*158B.0020.0002] # BRAHMI NUMBER ONE THOUSAND
+110BB ; [*040F.0020.0002] # KAITHI ABBREVIATION SIGN
+110BC ; [*0410.0020.0002] # KAITHI ENUMERATION SIGN
+110BD ; [.0000.0000.0000] # KAITHI NUMBER SIGN
+110BE ; [*02CA.0020.0002] # KAITHI SECTION MARK
+110BF ; [*02CB.0020.0002] # KAITHI DOUBLE SECTION MARK
+110C0 ; [*02A6.0020.0002] # KAITHI DANDA
+110C1 ; [*02A7.0020.0002] # KAITHI DOUBLE DANDA
+11140 ; [*02CC.0020.0002] # CHAKMA SECTION MARK
+11141 ; [*02A8.0020.0002] # CHAKMA DANDA
+11142 ; [*02A9.0020.0002] # CHAKMA DOUBLE DANDA
+11143 ; [*026F.0020.0002] # CHAKMA QUESTION MARK
+111C5 ; [*02AA.0020.0002] # SHARADA DANDA
+111C6 ; [*02AB.0020.0002] # SHARADA DOUBLE DANDA
+111C7 ; [*0411.0020.0002] # SHARADA ABBREVIATION SIGN
+111C8 ; [*02CD.0020.0002] # SHARADA SEPARATOR
+12432 ; [*1590.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 ; [*1591.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+1245A ; [*1592.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B ; [*1593.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C ; [*1594.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D ; [*1595.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E ; [*1596.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F ; [*1597.0020.0002] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 ; [*1598.0020.0002] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 ; [*1599.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 ; [*159A.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12470 ; [*02E5.0020.0002] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 ; [*02E6.0020.0002] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 ; [*02E7.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 ; [*02E8.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+1D000 ; [*0ED1.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILI
+1D001 ; [*0ED2.0020.0002] # BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 ; [*0ED3.0020.0002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 ; [*0ED4.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 ; [*0ED5.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 ; [*0ED6.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 ; [*0ED7.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 ; [*0ED8.0020.0002] # BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 ; [*0ED9.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 ; [*0EDA.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A ; [*0EDB.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B ; [*0EDC.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C ; [*0EDD.0020.0002] # BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D ; [*0EDE.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E ; [*0EDF.0020.0002] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F ; [*0EE0.0020.0002] # BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 ; [*0EE1.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 ; [*0EE2.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 ; [*0EE3.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 ; [*0EE4.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 ; [*0EE5.0020.0002] # BYZANTINE MUSICAL SYMBOL THITA
+1D015 ; [*0EE6.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 ; [*0EE7.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 ; [*0EE8.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILON
+1D018 ; [*0EE9.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 ; [*0EEA.0020.0002] # BYZANTINE MUSICAL SYMBOL VATHY
+1D01A ; [*0EEB.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B ; [*0EEC.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C ; [*0EED.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D ; [*0EEE.0020.0002] # BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E ; [*0EEF.0020.0002] # BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F ; [*0EF0.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 ; [*0EF1.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 ; [*0EF2.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 ; [*0EF3.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 ; [*0EF4.0020.0002] # BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 ; [*0EF5.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 ; [*0EF6.0020.0002] # BYZANTINE MUSICAL SYMBOL REVMA
+1D026 ; [*0EF7.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 ; [*0EF8.0020.0002] # BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 ; [*0EF9.0020.0002] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 ; [*0EFA.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A ; [*0EFB.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B ; [*0EFC.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C ; [*0EFD.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D ; [*0EFE.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA
+1D02E ; [*0EFF.0020.0002] # BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F ; [*0F00.0020.0002] # BYZANTINE MUSICAL SYMBOL DYO
+1D030 ; [*0F01.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIA
+1D031 ; [*0F02.0020.0002] # BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 ; [*0F03.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 ; [*0F04.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 ; [*0F05.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 ; [*0F06.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 ; [*0F07.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 ; [*0F08.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 ; [*0F09.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 ; [*0F0A.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A ; [*0F0B.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B ; [*0F0C.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C ; [*0F0D.0020.0002] # BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D ; [*0F0E.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E ; [*0F0F.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F ; [*0F10.0020.0002] # BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 ; [*0F11.0020.0002] # BYZANTINE MUSICAL SYMBOL NANA
+1D041 ; [*0F12.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 ; [*0F13.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 ; [*0F14.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 ; [*0F15.0020.0002] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 ; [*0F16.0020.0002] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 ; [*0F17.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 ; [*0F18.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 ; [*0F19.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 ; [*0F1A.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A ; [*0F1B.0020.0002] # BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B ; [*0F1C.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C ; [*0F1D.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D ; [*0F1E.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E ; [*0F1F.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F ; [*0F20.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 ; [*0F21.0020.0002] # BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 ; [*0F22.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 ; [*0F23.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 ; [*0F24.0020.0002] # BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 ; [*0F25.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 ; [*0F26.0020.0002] # BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 ; [*0F27.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 ; [*0F28.0020.0002] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 ; [*0F29.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 ; [*0F2A.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A ; [*0F2B.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B ; [*0F2C.0020.0002] # BYZANTINE MUSICAL SYMBOL OMALON
+1D05C ; [*0F2D.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D ; [*0F2E.0020.0002] # BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E ; [*0F2F.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F ; [*0F30.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 ; [*0F31.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 ; [*0F32.0020.0002] # BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 ; [*0F33.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 ; [*0F34.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 ; [*0F35.0020.0002] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 ; [*0F36.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 ; [*0F37.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 ; [*0F38.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 ; [*0F39.0020.0002] # BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 ; [*0F3A.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A ; [*0F3B.0020.0002] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B ; [*0F3C.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C ; [*0F3D.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D ; [*0F3E.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E ; [*0F3F.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F ; [*0F40.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 ; [*0F41.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 ; [*0F42.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 ; [*0F43.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 ; [*0F44.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 ; [*0F45.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 ; [*0F46.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 ; [*0F47.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 ; [*0F48.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 ; [*0F49.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 ; [*0F4A.0020.0002] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A ; [*0F4B.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B ; [*0F4C.0020.0002] # BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C ; [*0F4D.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D ; [*0F4E.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E ; [*0F4F.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F ; [*0F50.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 ; [*0F51.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 ; [*0F52.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 ; [*0F53.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 ; [*0F54.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 ; [*0F55.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 ; [*0F56.0020.0002] # BYZANTINE MUSICAL SYMBOL APLI
+1D086 ; [*0F57.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 ; [*0F58.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 ; [*0F59.0020.0002] # BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 ; [*0F5A.0020.0002] # BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A ; [*0F5B.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B ; [*0F5C.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C ; [*0F5D.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D ; [*0F5E.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E ; [*0F5F.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F ; [*0F60.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 ; [*0F61.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 ; [*0F62.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 ; [*0F63.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 ; [*0F64.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 ; [*0F65.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 ; [*0F66.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 ; [*0F67.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 ; [*0F68.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGON
+1D098 ; [*0F69.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 ; [*0F6A.0020.0002] # BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A ; [*0F6B.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B ; [*0F6C.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C ; [*0F6D.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D ; [*0F6E.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E ; [*0F6F.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F ; [*0F70.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 ; [*0F71.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 ; [*0F72.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 ; [*0F73.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 ; [*0F74.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 ; [*0F75.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 ; [*0F76.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 ; [*0F77.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 ; [*0F78.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 ; [*0F79.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 ; [*0F7A.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA ; [*0F7B.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB ; [*0F7C.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC ; [*0F7D.0020.0002] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD ; [*0F7E.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE ; [*0F7F.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF ; [*0F80.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 ; [*0F81.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 ; [*0F82.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 ; [*0F83.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 ; [*0F84.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 ; [*0F85.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 ; [*0F86.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 ; [*0F87.0020.0002] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 ; [*0F88.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 ; [*0F89.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 ; [*0F8A.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA ; [*0F8B.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB ; [*0F8C.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC ; [*0F8D.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD ; [*0F8E.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE ; [*0F8F.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF ; [*0F90.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 ; [*0F91.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 ; [*0F92.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 ; [*0F93.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 ; [*0F94.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 ; [*0F95.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 ; [*0F96.0020.0002] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 ; [*0F97.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 ; [*0F98.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 ; [*0F99.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 ; [*0F9A.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA ; [*0F9B.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB ; [*0F9C.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC ; [*0F9D.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD ; [*0F9E.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE ; [*0F9F.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF ; [*0FA0.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 ; [*0FA1.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 ; [*0FA2.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 ; [*0FA3.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 ; [*0FA4.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 ; [*0FA5.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 ; [*0FA6.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 ; [*0FA7.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 ; [*0FA8.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 ; [*0FA9.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 ; [*0FAA.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA ; [*0FAB.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB ; [*0FAC.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC ; [*0FAD.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD ; [*0FAE.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE ; [*0FAF.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF ; [*0FB0.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 ; [*0FB1.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 ; [*0FB2.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 ; [*0FB3.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 ; [*0FB4.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 ; [*0FB5.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 ; [*0FB6.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 ; [*0FB7.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 ; [*0FB8.0020.0002] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 ; [*0FB9.0020.0002] # BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 ; [*0FBA.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA ; [*0FBB.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB ; [*0FBC.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC ; [*0FBD.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED ; [*0FBE.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE ; [*0FBF.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF ; [*0FC0.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 ; [*0FC1.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 ; [*0FC2.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 ; [*0FC3.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 ; [*0FC4.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 ; [*0FC5.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 ; [*0FC6.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 ; [*0FC7.0020.0002] # MUSICAL SYMBOL SINGLE BARLINE
+1D101 ; [*0FC8.0020.0002] # MUSICAL SYMBOL DOUBLE BARLINE
+1D102 ; [*0FC9.0020.0002] # MUSICAL SYMBOL FINAL BARLINE
+1D103 ; [*0FCA.0020.0002] # MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 ; [*0FCB.0020.0002] # MUSICAL SYMBOL DASHED BARLINE
+1D105 ; [*0FCC.0020.0002] # MUSICAL SYMBOL SHORT BARLINE
+1D106 ; [*0FCD.0020.0002] # MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 ; [*0FCE.0020.0002] # MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 ; [*0FCF.0020.0002] # MUSICAL SYMBOL REPEAT DOTS
+1D109 ; [*0FD0.0020.0002] # MUSICAL SYMBOL DAL SEGNO
+1D10A ; [*0FD1.0020.0002] # MUSICAL SYMBOL DA CAPO
+1D10B ; [*0FD2.0020.0002] # MUSICAL SYMBOL SEGNO
+1D10C ; [*0FD3.0020.0002] # MUSICAL SYMBOL CODA
+1D10D ; [*0FD4.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E ; [*0FD5.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F ; [*0FD6.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 ; [*0FD7.0020.0002] # MUSICAL SYMBOL FERMATA
+1D111 ; [*0FD8.0020.0002] # MUSICAL SYMBOL FERMATA BELOW
+1D112 ; [*0FD9.0020.0002] # MUSICAL SYMBOL BREATH MARK
+1D113 ; [*0FDA.0020.0002] # MUSICAL SYMBOL CAESURA
+1D114 ; [*0FDB.0020.0002] # MUSICAL SYMBOL BRACE
+1D115 ; [*0FDC.0020.0002] # MUSICAL SYMBOL BRACKET
+1D116 ; [*0FDD.0020.0002] # MUSICAL SYMBOL ONE-LINE STAFF
+1D117 ; [*0FDE.0020.0002] # MUSICAL SYMBOL TWO-LINE STAFF
+1D118 ; [*0FDF.0020.0002] # MUSICAL SYMBOL THREE-LINE STAFF
+1D119 ; [*0FE0.0020.0002] # MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A ; [*0FE1.0020.0002] # MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B ; [*0FE2.0020.0002] # MUSICAL SYMBOL SIX-LINE STAFF
+1D11C ; [*0FE3.0020.0002] # MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D ; [*0FE4.0020.0002] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E ; [*0FE5.0020.0002] # MUSICAL SYMBOL G CLEF
+1D11F ; [*0FE6.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 ; [*0FE7.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 ; [*0FE8.0020.0002] # MUSICAL SYMBOL C CLEF
+1D122 ; [*0FE9.0020.0002] # MUSICAL SYMBOL F CLEF
+1D123 ; [*0FEA.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 ; [*0FEB.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 ; [*0FEC.0020.0002] # MUSICAL SYMBOL DRUM CLEF-1
+1D126 ; [*0FED.0020.0002] # MUSICAL SYMBOL DRUM CLEF-2
+1D129 ; [*1001.0020.0002] # MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A ; [*0FF1.0020.0002] # MUSICAL SYMBOL DOUBLE SHARP
+1D12B ; [*0FF2.0020.0002] # MUSICAL SYMBOL DOUBLE FLAT
+1D12C ; [*0FF3.0020.0002] # MUSICAL SYMBOL FLAT UP
+1D12D ; [*0FF4.0020.0002] # MUSICAL SYMBOL FLAT DOWN
+1D12E ; [*0FF5.0020.0002] # MUSICAL SYMBOL NATURAL UP
+1D12F ; [*0FF6.0020.0002] # MUSICAL SYMBOL NATURAL DOWN
+1D130 ; [*0FF7.0020.0002] # MUSICAL SYMBOL SHARP UP
+1D131 ; [*0FF8.0020.0002] # MUSICAL SYMBOL SHARP DOWN
+1D132 ; [*0FF9.0020.0002] # MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 ; [*0FFA.0020.0002] # MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 ; [*0FFB.0020.0002] # MUSICAL SYMBOL COMMON TIME
+1D135 ; [*0FFC.0020.0002] # MUSICAL SYMBOL CUT TIME
+1D136 ; [*0FFD.0020.0002] # MUSICAL SYMBOL OTTAVA ALTA
+1D137 ; [*0FFE.0020.0002] # MUSICAL SYMBOL OTTAVA BASSA
+1D138 ; [*0FFF.0020.0002] # MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 ; [*1000.0020.0002] # MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A ; [*1002.0020.0002] # MUSICAL SYMBOL MULTI REST
+1D13B ; [*1003.0020.0002] # MUSICAL SYMBOL WHOLE REST
+1D13C ; [*1004.0020.0002] # MUSICAL SYMBOL HALF REST
+1D13D ; [*1005.0020.0002] # MUSICAL SYMBOL QUARTER REST
+1D13E ; [*1006.0020.0002] # MUSICAL SYMBOL EIGHTH REST
+1D13F ; [*1007.0020.0002] # MUSICAL SYMBOL SIXTEENTH REST
+1D140 ; [*1008.0020.0002] # MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 ; [*1009.0020.0002] # MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 ; [*100A.0020.0002] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 ; [*100B.0020.0002] # MUSICAL SYMBOL X NOTEHEAD
+1D144 ; [*100C.0020.0002] # MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 ; [*100D.0020.0002] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 ; [*100E.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 ; [*100F.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 ; [*1010.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 ; [*1011.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A ; [*1012.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B ; [*1013.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C ; [*1014.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D ; [*1015.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E ; [*1016.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F ; [*1017.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 ; [*1018.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 ; [*1019.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 ; [*101A.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 ; [*101B.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 ; [*101C.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 ; [*101D.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 ; [*101E.0020.0002] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 ; [*101F.0020.0002] # MUSICAL SYMBOL VOID NOTEHEAD
+1D158 ; [*1020.0020.0002] # MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 ; [*1021.0020.0002] # MUSICAL SYMBOL NULL NOTEHEAD
+1D15A ; [*1022.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B ; [*1023.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C ; [*1024.0020.0002] # MUSICAL SYMBOL BREVE
+1D15D ; [*1025.0020.0002] # MUSICAL SYMBOL WHOLE NOTE
+1D15E ; [*101F.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL HALF NOTE
+1D15F ; [*1020.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL QUARTER NOTE
+1D160 ; [*1020.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL EIGHTH NOTE
+1D161 ; [*1020.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTEENTH NOTE
+1D162 ; [*1020.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163 ; [*1020.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164 ; [*1020.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
+1D165 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING STEM
+1D166 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
+1D167 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-1
+1D168 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-2
+1D169 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-3
+1D16A ; [*1026.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B ; [*1027.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C ; [*1028.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16D ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
+1D16E ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-1
+1D16F ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-2
+1D170 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-3
+1D171 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-4
+1D172 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-5
+1D17B ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING ACCENT
+1D17C ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING STACCATO
+1D17D ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TENUTO
+1D17E ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING STACCATISSIMO
+1D17F ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING MARCATO
+1D180 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
+1D181 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
+1D182 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING LOURE
+1D183 ; [*1029.0020.0002] # MUSICAL SYMBOL ARPEGGIATO UP
+1D184 ; [*102A.0020.0002] # MUSICAL SYMBOL ARPEGGIATO DOWN
+1D185 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOIT
+1D186 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING RIP
+1D187 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLIP
+1D188 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING SMEAR
+1D189 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING BEND
+1D18A ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
+1D18B ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
+1D18C ; [*102B.0020.0002] # MUSICAL SYMBOL RINFORZANDO
+1D18D ; [*102C.0020.0002] # MUSICAL SYMBOL SUBITO
+1D18E ; [*102D.0020.0002] # MUSICAL SYMBOL Z
+1D18F ; [*102E.0020.0002] # MUSICAL SYMBOL PIANO
+1D190 ; [*102F.0020.0002] # MUSICAL SYMBOL MEZZO
+1D191 ; [*1030.0020.0002] # MUSICAL SYMBOL FORTE
+1D192 ; [*1031.0020.0002] # MUSICAL SYMBOL CRESCENDO
+1D193 ; [*1032.0020.0002] # MUSICAL SYMBOL DECRESCENDO
+1D194 ; [*1033.0020.0002] # MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 ; [*1034.0020.0002] # MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 ; [*1035.0020.0002] # MUSICAL SYMBOL TR
+1D197 ; [*1036.0020.0002] # MUSICAL SYMBOL TURN
+1D198 ; [*1037.0020.0002] # MUSICAL SYMBOL INVERTED TURN
+1D199 ; [*1038.0020.0002] # MUSICAL SYMBOL TURN SLASH
+1D19A ; [*1039.0020.0002] # MUSICAL SYMBOL TURN UP
+1D19B ; [*103A.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C ; [*103B.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D ; [*103C.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E ; [*103D.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F ; [*103E.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 ; [*103F.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 ; [*1040.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 ; [*1041.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 ; [*1042.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 ; [*1043.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 ; [*1044.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 ; [*1045.0020.0002] # MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 ; [*1046.0020.0002] # MUSICAL SYMBOL NEBENSTIMME
+1D1A8 ; [*1047.0020.0002] # MUSICAL SYMBOL END OF STIMME
+1D1A9 ; [*1048.0020.0002] # MUSICAL SYMBOL DEGREE SLASH
+1D1AA ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOWN BOW
+1D1AB ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING UP BOW
+1D1AC ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING HARMONIC
+1D1AD ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
+1D1AE ; [*1049.0020.0002] # MUSICAL SYMBOL PEDAL MARK
+1D1AF ; [*104A.0020.0002] # MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 ; [*104B.0020.0002] # MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 ; [*104C.0020.0002] # MUSICAL SYMBOL GLISSANDO UP
+1D1B2 ; [*104D.0020.0002] # MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 ; [*104E.0020.0002] # MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 ; [*104F.0020.0002] # MUSICAL SYMBOL DAMP
+1D1B5 ; [*1050.0020.0002] # MUSICAL SYMBOL DAMP ALL
+1D1B6 ; [*1051.0020.0002] # MUSICAL SYMBOL MAXIMA
+1D1B7 ; [*1052.0020.0002] # MUSICAL SYMBOL LONGA
+1D1B8 ; [*1053.0020.0002] # MUSICAL SYMBOL BREVIS
+1D1B9 ; [*1054.0020.0002] # MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA ; [*1055.0020.0002] # MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB ; [*1054.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA
+1D1BC ; [*1055.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA BLACK
+1D1BD ; [*1054.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE ; [*1055.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF ; [*1054.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA WHITE
+1D1C0 ; [*1055.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA BLACK
+1D1C1 ; [*1056.0020.0002] # MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 ; [*1057.0020.0002] # MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 ; [*1058.0020.0002] # MUSICAL SYMBOL BREVIS REST
+1D1C4 ; [*1059.0020.0002] # MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 ; [*105A.0020.0002] # MUSICAL SYMBOL MINIMA REST
+1D1C6 ; [*105B.0020.0002] # MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 ; [*105C.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 ; [*105D.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 ; [*105E.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA ; [*105F.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB ; [*1060.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC ; [*1061.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD ; [*1062.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE ; [*1063.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF ; [*1064.0020.0002] # MUSICAL SYMBOL CROIX
+1D1D0 ; [*1065.0020.0002] # MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 ; [*1066.0020.0002] # MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 ; [*1067.0020.0002] # MUSICAL SYMBOL SQUARE B
+1D1D3 ; [*1068.0020.0002] # MUSICAL SYMBOL VIRGA
+1D1D4 ; [*1069.0020.0002] # MUSICAL SYMBOL PODATUS
+1D1D5 ; [*106A.0020.0002] # MUSICAL SYMBOL CLIVIS
+1D1D6 ; [*106B.0020.0002] # MUSICAL SYMBOL SCANDICUS
+1D1D7 ; [*106C.0020.0002] # MUSICAL SYMBOL CLIMACUS
+1D1D8 ; [*106D.0020.0002] # MUSICAL SYMBOL TORCULUS
+1D1D9 ; [*106E.0020.0002] # MUSICAL SYMBOL PORRECTUS
+1D1DA ; [*106F.0020.0002] # MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB ; [*1070.0020.0002] # MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC ; [*1071.0020.0002] # MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD ; [*1072.0020.0002] # MUSICAL SYMBOL PES SUBPUNCTIS
+1D200 ; [*1073.0020.0002] # GREEK VOCAL NOTATION SYMBOL-1
+1D201 ; [*1074.0020.0002] # GREEK VOCAL NOTATION SYMBOL-2
+1D202 ; [*1075.0020.0002] # GREEK VOCAL NOTATION SYMBOL-3
+1D203 ; [*1076.0020.0002] # GREEK VOCAL NOTATION SYMBOL-4
+1D204 ; [*1077.0020.0002] # GREEK VOCAL NOTATION SYMBOL-5
+1D205 ; [*1078.0020.0002] # GREEK VOCAL NOTATION SYMBOL-6
+1D206 ; [*1079.0020.0002] # GREEK VOCAL NOTATION SYMBOL-7
+1D207 ; [*107A.0020.0002] # GREEK VOCAL NOTATION SYMBOL-8
+1D208 ; [*107B.0020.0002] # GREEK VOCAL NOTATION SYMBOL-9
+1D209 ; [*107C.0020.0002] # GREEK VOCAL NOTATION SYMBOL-10
+1D20A ; [*107D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-11
+1D20B ; [*107E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-12
+1D20C ; [*107F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-13
+1D20D ; [*1080.0020.0002] # GREEK VOCAL NOTATION SYMBOL-14
+1D20E ; [*1081.0020.0002] # GREEK VOCAL NOTATION SYMBOL-15
+1D20F ; [*1082.0020.0002] # GREEK VOCAL NOTATION SYMBOL-16
+1D210 ; [*1083.0020.0002] # GREEK VOCAL NOTATION SYMBOL-17
+1D211 ; [*1084.0020.0002] # GREEK VOCAL NOTATION SYMBOL-18
+1D212 ; [*1085.0020.0002] # GREEK VOCAL NOTATION SYMBOL-19
+1D213 ; [*1086.0020.0002] # GREEK VOCAL NOTATION SYMBOL-20
+1D214 ; [*1087.0020.0002] # GREEK VOCAL NOTATION SYMBOL-21
+1D215 ; [*1088.0020.0002] # GREEK VOCAL NOTATION SYMBOL-22
+1D216 ; [*1089.0020.0002] # GREEK VOCAL NOTATION SYMBOL-23
+1D217 ; [*108A.0020.0002] # GREEK VOCAL NOTATION SYMBOL-24
+1D218 ; [*108B.0020.0002] # GREEK VOCAL NOTATION SYMBOL-50
+1D219 ; [*108C.0020.0002] # GREEK VOCAL NOTATION SYMBOL-51
+1D21A ; [*108D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-52
+1D21B ; [*108E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-53
+1D21C ; [*108F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-54
+1D21D ; [*1090.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E ; [*1091.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F ; [*1092.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 ; [*1093.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 ; [*1094.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 ; [*1095.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 ; [*1096.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 ; [*1097.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 ; [*1098.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 ; [*1099.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 ; [*109A.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 ; [*109B.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 ; [*109C.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A ; [*109D.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B ; [*109E.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C ; [*109F.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D ; [*10A0.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E ; [*10A1.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F ; [*10A2.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 ; [*10A3.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 ; [*10A4.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 ; [*10A5.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 ; [*10A6.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 ; [*10A7.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 ; [*10A8.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 ; [*10A9.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 ; [*10AA.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 ; [*10AB.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 ; [*10AC.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A ; [*10AD.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B ; [*10AE.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C ; [*10AF.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D ; [*10B0.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E ; [*10B1.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F ; [*10B2.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 ; [*10B3.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 ; [*10B4.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D242 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL TRISEME
+1D243 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL TETRASEME
+1D244 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL PENTASEME
+1D245 ; [*10B5.0020.0002] # GREEK MUSICAL LEIMMA
+1D300 ; [*0DF0.0020.0002] # MONOGRAM FOR EARTH
+1D301 ; [*0DF1.0020.0002] # DIGRAM FOR HEAVENLY EARTH
+1D302 ; [*0DF2.0020.0002] # DIGRAM FOR HUMAN EARTH
+1D303 ; [*0DF3.0020.0002] # DIGRAM FOR EARTHLY HEAVEN
+1D304 ; [*0DF4.0020.0002] # DIGRAM FOR EARTHLY HUMAN
+1D305 ; [*0DF5.0020.0002] # DIGRAM FOR EARTH
+1D306 ; [*0DF6.0020.0002] # TETRAGRAM FOR CENTRE
+1D307 ; [*0DF7.0020.0002] # TETRAGRAM FOR FULL CIRCLE
+1D308 ; [*0DF8.0020.0002] # TETRAGRAM FOR MIRED
+1D309 ; [*0DF9.0020.0002] # TETRAGRAM FOR BARRIER
+1D30A ; [*0DFA.0020.0002] # TETRAGRAM FOR KEEPING SMALL
+1D30B ; [*0DFB.0020.0002] # TETRAGRAM FOR CONTRARIETY
+1D30C ; [*0DFC.0020.0002] # TETRAGRAM FOR ASCENT
+1D30D ; [*0DFD.0020.0002] # TETRAGRAM FOR OPPOSITION
+1D30E ; [*0DFE.0020.0002] # TETRAGRAM FOR BRANCHING OUT
+1D30F ; [*0DFF.0020.0002] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 ; [*0E00.0020.0002] # TETRAGRAM FOR DIVERGENCE
+1D311 ; [*0E01.0020.0002] # TETRAGRAM FOR YOUTHFULNESS
+1D312 ; [*0E02.0020.0002] # TETRAGRAM FOR INCREASE
+1D313 ; [*0E03.0020.0002] # TETRAGRAM FOR PENETRATION
+1D314 ; [*0E04.0020.0002] # TETRAGRAM FOR REACH
+1D315 ; [*0E05.0020.0002] # TETRAGRAM FOR CONTACT
+1D316 ; [*0E06.0020.0002] # TETRAGRAM FOR HOLDING BACK
+1D317 ; [*0E07.0020.0002] # TETRAGRAM FOR WAITING
+1D318 ; [*0E08.0020.0002] # TETRAGRAM FOR FOLLOWING
+1D319 ; [*0E09.0020.0002] # TETRAGRAM FOR ADVANCE
+1D31A ; [*0E0A.0020.0002] # TETRAGRAM FOR RELEASE
+1D31B ; [*0E0B.0020.0002] # TETRAGRAM FOR RESISTANCE
+1D31C ; [*0E0C.0020.0002] # TETRAGRAM FOR EASE
+1D31D ; [*0E0D.0020.0002] # TETRAGRAM FOR JOY
+1D31E ; [*0E0E.0020.0002] # TETRAGRAM FOR CONTENTION
+1D31F ; [*0E0F.0020.0002] # TETRAGRAM FOR ENDEAVOUR
+1D320 ; [*0E10.0020.0002] # TETRAGRAM FOR DUTIES
+1D321 ; [*0E11.0020.0002] # TETRAGRAM FOR CHANGE
+1D322 ; [*0E12.0020.0002] # TETRAGRAM FOR DECISIVENESS
+1D323 ; [*0E13.0020.0002] # TETRAGRAM FOR BOLD RESOLUTION
+1D324 ; [*0E14.0020.0002] # TETRAGRAM FOR PACKING
+1D325 ; [*0E15.0020.0002] # TETRAGRAM FOR LEGION
+1D326 ; [*0E16.0020.0002] # TETRAGRAM FOR CLOSENESS
+1D327 ; [*0E17.0020.0002] # TETRAGRAM FOR KINSHIP
+1D328 ; [*0E18.0020.0002] # TETRAGRAM FOR GATHERING
+1D329 ; [*0E19.0020.0002] # TETRAGRAM FOR STRENGTH
+1D32A ; [*0E1A.0020.0002] # TETRAGRAM FOR PURITY
+1D32B ; [*0E1B.0020.0002] # TETRAGRAM FOR FULLNESS
+1D32C ; [*0E1C.0020.0002] # TETRAGRAM FOR RESIDENCE
+1D32D ; [*0E1D.0020.0002] # TETRAGRAM FOR LAW OR MODEL
+1D32E ; [*0E1E.0020.0002] # TETRAGRAM FOR RESPONSE
+1D32F ; [*0E1F.0020.0002] # TETRAGRAM FOR GOING TO MEET
+1D330 ; [*0E20.0020.0002] # TETRAGRAM FOR ENCOUNTERS
+1D331 ; [*0E21.0020.0002] # TETRAGRAM FOR STOVE
+1D332 ; [*0E22.0020.0002] # TETRAGRAM FOR GREATNESS
+1D333 ; [*0E23.0020.0002] # TETRAGRAM FOR ENLARGEMENT
+1D334 ; [*0E24.0020.0002] # TETRAGRAM FOR PATTERN
+1D335 ; [*0E25.0020.0002] # TETRAGRAM FOR RITUAL
+1D336 ; [*0E26.0020.0002] # TETRAGRAM FOR FLIGHT
+1D337 ; [*0E27.0020.0002] # TETRAGRAM FOR VASTNESS OR WASTING
+1D338 ; [*0E28.0020.0002] # TETRAGRAM FOR CONSTANCY
+1D339 ; [*0E29.0020.0002] # TETRAGRAM FOR MEASURE
+1D33A ; [*0E2A.0020.0002] # TETRAGRAM FOR ETERNITY
+1D33B ; [*0E2B.0020.0002] # TETRAGRAM FOR UNITY
+1D33C ; [*0E2C.0020.0002] # TETRAGRAM FOR DIMINISHMENT
+1D33D ; [*0E2D.0020.0002] # TETRAGRAM FOR CLOSED MOUTH
+1D33E ; [*0E2E.0020.0002] # TETRAGRAM FOR GUARDEDNESS
+1D33F ; [*0E2F.0020.0002] # TETRAGRAM FOR GATHERING IN
+1D340 ; [*0E30.0020.0002] # TETRAGRAM FOR MASSING
+1D341 ; [*0E31.0020.0002] # TETRAGRAM FOR ACCUMULATION
+1D342 ; [*0E32.0020.0002] # TETRAGRAM FOR EMBELLISHMENT
+1D343 ; [*0E33.0020.0002] # TETRAGRAM FOR DOUBT
+1D344 ; [*0E34.0020.0002] # TETRAGRAM FOR WATCH
+1D345 ; [*0E35.0020.0002] # TETRAGRAM FOR SINKING
+1D346 ; [*0E36.0020.0002] # TETRAGRAM FOR INNER
+1D347 ; [*0E37.0020.0002] # TETRAGRAM FOR DEPARTURE
+1D348 ; [*0E38.0020.0002] # TETRAGRAM FOR DARKENING
+1D349 ; [*0E39.0020.0002] # TETRAGRAM FOR DIMMING
+1D34A ; [*0E3A.0020.0002] # TETRAGRAM FOR EXHAUSTION
+1D34B ; [*0E3B.0020.0002] # TETRAGRAM FOR SEVERANCE
+1D34C ; [*0E3C.0020.0002] # TETRAGRAM FOR STOPPAGE
+1D34D ; [*0E3D.0020.0002] # TETRAGRAM FOR HARDNESS
+1D34E ; [*0E3E.0020.0002] # TETRAGRAM FOR COMPLETION
+1D34F ; [*0E3F.0020.0002] # TETRAGRAM FOR CLOSURE
+1D350 ; [*0E40.0020.0002] # TETRAGRAM FOR FAILURE
+1D351 ; [*0E41.0020.0002] # TETRAGRAM FOR AGGRAVATION
+1D352 ; [*0E42.0020.0002] # TETRAGRAM FOR COMPLIANCE
+1D353 ; [*0E43.0020.0002] # TETRAGRAM FOR ON THE VERGE
+1D354 ; [*0E44.0020.0002] # TETRAGRAM FOR DIFFICULTIES
+1D355 ; [*0E45.0020.0002] # TETRAGRAM FOR LABOURING
+1D356 ; [*0E46.0020.0002] # TETRAGRAM FOR FOSTERING
+1D369 ; [*159B.0020.0002] # COUNTING ROD TENS DIGIT ONE
+1D36A ; [*159C.0020.0002] # COUNTING ROD TENS DIGIT TWO
+1D36B ; [*159D.0020.0002] # COUNTING ROD TENS DIGIT THREE
+1D36C ; [*159E.0020.0002] # COUNTING ROD TENS DIGIT FOUR
+1D36D ; [*159F.0020.0002] # COUNTING ROD TENS DIGIT FIVE
+1D36E ; [*15A0.0020.0002] # COUNTING ROD TENS DIGIT SIX
+1D36F ; [*15A1.0020.0002] # COUNTING ROD TENS DIGIT SEVEN
+1D370 ; [*15A2.0020.0002] # COUNTING ROD TENS DIGIT EIGHT
+1D371 ; [*15A3.0020.0002] # COUNTING ROD TENS DIGIT NINE
+1D6C1 ; [*0595.0020.0005] # MATHEMATICAL BOLD NABLA
+1D6DB ; [*0591.0020.0005] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6FB ; [*0595.0020.0005] # MATHEMATICAL ITALIC NABLA
+1D715 ; [*0591.0020.0005] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D735 ; [*0595.0020.0005] # MATHEMATICAL BOLD ITALIC NABLA
+1D74F ; [*0591.0020.0005] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D76F ; [*0595.0020.0005] # MATHEMATICAL SANS-SERIF BOLD NABLA
+1D789 ; [*0591.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D7A9 ; [*0595.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7C3 ; [*0591.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1EEF0 ; [*0488.0020.0002] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1 ; [*0489.0020.0002] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000 ; [*10B6.0020.0002] # MAHJONG TILE EAST WIND
+1F001 ; [*10B7.0020.0002] # MAHJONG TILE SOUTH WIND
+1F002 ; [*10B8.0020.0002] # MAHJONG TILE WEST WIND
+1F003 ; [*10B9.0020.0002] # MAHJONG TILE NORTH WIND
+1F004 ; [*10BA.0020.0002] # MAHJONG TILE RED DRAGON
+1F005 ; [*10BB.0020.0002] # MAHJONG TILE GREEN DRAGON
+1F006 ; [*10BC.0020.0002] # MAHJONG TILE WHITE DRAGON
+1F007 ; [*10BD.0020.0002] # MAHJONG TILE ONE OF CHARACTERS
+1F008 ; [*10BE.0020.0002] # MAHJONG TILE TWO OF CHARACTERS
+1F009 ; [*10BF.0020.0002] # MAHJONG TILE THREE OF CHARACTERS
+1F00A ; [*10C0.0020.0002] # MAHJONG TILE FOUR OF CHARACTERS
+1F00B ; [*10C1.0020.0002] # MAHJONG TILE FIVE OF CHARACTERS
+1F00C ; [*10C2.0020.0002] # MAHJONG TILE SIX OF CHARACTERS
+1F00D ; [*10C3.0020.0002] # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E ; [*10C4.0020.0002] # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F ; [*10C5.0020.0002] # MAHJONG TILE NINE OF CHARACTERS
+1F010 ; [*10C6.0020.0002] # MAHJONG TILE ONE OF BAMBOOS
+1F011 ; [*10C7.0020.0002] # MAHJONG TILE TWO OF BAMBOOS
+1F012 ; [*10C8.0020.0002] # MAHJONG TILE THREE OF BAMBOOS
+1F013 ; [*10C9.0020.0002] # MAHJONG TILE FOUR OF BAMBOOS
+1F014 ; [*10CA.0020.0002] # MAHJONG TILE FIVE OF BAMBOOS
+1F015 ; [*10CB.0020.0002] # MAHJONG TILE SIX OF BAMBOOS
+1F016 ; [*10CC.0020.0002] # MAHJONG TILE SEVEN OF BAMBOOS
+1F017 ; [*10CD.0020.0002] # MAHJONG TILE EIGHT OF BAMBOOS
+1F018 ; [*10CE.0020.0002] # MAHJONG TILE NINE OF BAMBOOS
+1F019 ; [*10CF.0020.0002] # MAHJONG TILE ONE OF CIRCLES
+1F01A ; [*10D0.0020.0002] # MAHJONG TILE TWO OF CIRCLES
+1F01B ; [*10D1.0020.0002] # MAHJONG TILE THREE OF CIRCLES
+1F01C ; [*10D2.0020.0002] # MAHJONG TILE FOUR OF CIRCLES
+1F01D ; [*10D3.0020.0002] # MAHJONG TILE FIVE OF CIRCLES
+1F01E ; [*10D4.0020.0002] # MAHJONG TILE SIX OF CIRCLES
+1F01F ; [*10D5.0020.0002] # MAHJONG TILE SEVEN OF CIRCLES
+1F020 ; [*10D6.0020.0002] # MAHJONG TILE EIGHT OF CIRCLES
+1F021 ; [*10D7.0020.0002] # MAHJONG TILE NINE OF CIRCLES
+1F022 ; [*10D8.0020.0002] # MAHJONG TILE PLUM
+1F023 ; [*10D9.0020.0002] # MAHJONG TILE ORCHID
+1F024 ; [*10DA.0020.0002] # MAHJONG TILE BAMBOO
+1F025 ; [*10DB.0020.0002] # MAHJONG TILE CHRYSANTHEMUM
+1F026 ; [*10DC.0020.0002] # MAHJONG TILE SPRING
+1F027 ; [*10DD.0020.0002] # MAHJONG TILE SUMMER
+1F028 ; [*10DE.0020.0002] # MAHJONG TILE AUTUMN
+1F029 ; [*10DF.0020.0002] # MAHJONG TILE WINTER
+1F02A ; [*10E0.0020.0002] # MAHJONG TILE JOKER
+1F02B ; [*10E1.0020.0002] # MAHJONG TILE BACK
+1F030 ; [*10E2.0020.0002] # DOMINO TILE HORIZONTAL BACK
+1F031 ; [*10E3.0020.0002] # DOMINO TILE HORIZONTAL-00-00
+1F032 ; [*10E4.0020.0002] # DOMINO TILE HORIZONTAL-00-01
+1F033 ; [*10E5.0020.0002] # DOMINO TILE HORIZONTAL-00-02
+1F034 ; [*10E6.0020.0002] # DOMINO TILE HORIZONTAL-00-03
+1F035 ; [*10E7.0020.0002] # DOMINO TILE HORIZONTAL-00-04
+1F036 ; [*10E8.0020.0002] # DOMINO TILE HORIZONTAL-00-05
+1F037 ; [*10E9.0020.0002] # DOMINO TILE HORIZONTAL-00-06
+1F038 ; [*10EA.0020.0002] # DOMINO TILE HORIZONTAL-01-00
+1F039 ; [*10EB.0020.0002] # DOMINO TILE HORIZONTAL-01-01
+1F03A ; [*10EC.0020.0002] # DOMINO TILE HORIZONTAL-01-02
+1F03B ; [*10ED.0020.0002] # DOMINO TILE HORIZONTAL-01-03
+1F03C ; [*10EE.0020.0002] # DOMINO TILE HORIZONTAL-01-04
+1F03D ; [*10EF.0020.0002] # DOMINO TILE HORIZONTAL-01-05
+1F03E ; [*10F0.0020.0002] # DOMINO TILE HORIZONTAL-01-06
+1F03F ; [*10F1.0020.0002] # DOMINO TILE HORIZONTAL-02-00
+1F040 ; [*10F2.0020.0002] # DOMINO TILE HORIZONTAL-02-01
+1F041 ; [*10F3.0020.0002] # DOMINO TILE HORIZONTAL-02-02
+1F042 ; [*10F4.0020.0002] # DOMINO TILE HORIZONTAL-02-03
+1F043 ; [*10F5.0020.0002] # DOMINO TILE HORIZONTAL-02-04
+1F044 ; [*10F6.0020.0002] # DOMINO TILE HORIZONTAL-02-05
+1F045 ; [*10F7.0020.0002] # DOMINO TILE HORIZONTAL-02-06
+1F046 ; [*10F8.0020.0002] # DOMINO TILE HORIZONTAL-03-00
+1F047 ; [*10F9.0020.0002] # DOMINO TILE HORIZONTAL-03-01
+1F048 ; [*10FA.0020.0002] # DOMINO TILE HORIZONTAL-03-02
+1F049 ; [*10FB.0020.0002] # DOMINO TILE HORIZONTAL-03-03
+1F04A ; [*10FC.0020.0002] # DOMINO TILE HORIZONTAL-03-04
+1F04B ; [*10FD.0020.0002] # DOMINO TILE HORIZONTAL-03-05
+1F04C ; [*10FE.0020.0002] # DOMINO TILE HORIZONTAL-03-06
+1F04D ; [*10FF.0020.0002] # DOMINO TILE HORIZONTAL-04-00
+1F04E ; [*1100.0020.0002] # DOMINO TILE HORIZONTAL-04-01
+1F04F ; [*1101.0020.0002] # DOMINO TILE HORIZONTAL-04-02
+1F050 ; [*1102.0020.0002] # DOMINO TILE HORIZONTAL-04-03
+1F051 ; [*1103.0020.0002] # DOMINO TILE HORIZONTAL-04-04
+1F052 ; [*1104.0020.0002] # DOMINO TILE HORIZONTAL-04-05
+1F053 ; [*1105.0020.0002] # DOMINO TILE HORIZONTAL-04-06
+1F054 ; [*1106.0020.0002] # DOMINO TILE HORIZONTAL-05-00
+1F055 ; [*1107.0020.0002] # DOMINO TILE HORIZONTAL-05-01
+1F056 ; [*1108.0020.0002] # DOMINO TILE HORIZONTAL-05-02
+1F057 ; [*1109.0020.0002] # DOMINO TILE HORIZONTAL-05-03
+1F058 ; [*110A.0020.0002] # DOMINO TILE HORIZONTAL-05-04
+1F059 ; [*110B.0020.0002] # DOMINO TILE HORIZONTAL-05-05
+1F05A ; [*110C.0020.0002] # DOMINO TILE HORIZONTAL-05-06
+1F05B ; [*110D.0020.0002] # DOMINO TILE HORIZONTAL-06-00
+1F05C ; [*110E.0020.0002] # DOMINO TILE HORIZONTAL-06-01
+1F05D ; [*110F.0020.0002] # DOMINO TILE HORIZONTAL-06-02
+1F05E ; [*1110.0020.0002] # DOMINO TILE HORIZONTAL-06-03
+1F05F ; [*1111.0020.0002] # DOMINO TILE HORIZONTAL-06-04
+1F060 ; [*1112.0020.0002] # DOMINO TILE HORIZONTAL-06-05
+1F061 ; [*1113.0020.0002] # DOMINO TILE HORIZONTAL-06-06
+1F062 ; [*1114.0020.0002] # DOMINO TILE VERTICAL BACK
+1F063 ; [*1115.0020.0002] # DOMINO TILE VERTICAL-00-00
+1F064 ; [*1116.0020.0002] # DOMINO TILE VERTICAL-00-01
+1F065 ; [*1117.0020.0002] # DOMINO TILE VERTICAL-00-02
+1F066 ; [*1118.0020.0002] # DOMINO TILE VERTICAL-00-03
+1F067 ; [*1119.0020.0002] # DOMINO TILE VERTICAL-00-04
+1F068 ; [*111A.0020.0002] # DOMINO TILE VERTICAL-00-05
+1F069 ; [*111B.0020.0002] # DOMINO TILE VERTICAL-00-06
+1F06A ; [*111C.0020.0002] # DOMINO TILE VERTICAL-01-00
+1F06B ; [*111D.0020.0002] # DOMINO TILE VERTICAL-01-01
+1F06C ; [*111E.0020.0002] # DOMINO TILE VERTICAL-01-02
+1F06D ; [*111F.0020.0002] # DOMINO TILE VERTICAL-01-03
+1F06E ; [*1120.0020.0002] # DOMINO TILE VERTICAL-01-04
+1F06F ; [*1121.0020.0002] # DOMINO TILE VERTICAL-01-05
+1F070 ; [*1122.0020.0002] # DOMINO TILE VERTICAL-01-06
+1F071 ; [*1123.0020.0002] # DOMINO TILE VERTICAL-02-00
+1F072 ; [*1124.0020.0002] # DOMINO TILE VERTICAL-02-01
+1F073 ; [*1125.0020.0002] # DOMINO TILE VERTICAL-02-02
+1F074 ; [*1126.0020.0002] # DOMINO TILE VERTICAL-02-03
+1F075 ; [*1127.0020.0002] # DOMINO TILE VERTICAL-02-04
+1F076 ; [*1128.0020.0002] # DOMINO TILE VERTICAL-02-05
+1F077 ; [*1129.0020.0002] # DOMINO TILE VERTICAL-02-06
+1F078 ; [*112A.0020.0002] # DOMINO TILE VERTICAL-03-00
+1F079 ; [*112B.0020.0002] # DOMINO TILE VERTICAL-03-01
+1F07A ; [*112C.0020.0002] # DOMINO TILE VERTICAL-03-02
+1F07B ; [*112D.0020.0002] # DOMINO TILE VERTICAL-03-03
+1F07C ; [*112E.0020.0002] # DOMINO TILE VERTICAL-03-04
+1F07D ; [*112F.0020.0002] # DOMINO TILE VERTICAL-03-05
+1F07E ; [*1130.0020.0002] # DOMINO TILE VERTICAL-03-06
+1F07F ; [*1131.0020.0002] # DOMINO TILE VERTICAL-04-00
+1F080 ; [*1132.0020.0002] # DOMINO TILE VERTICAL-04-01
+1F081 ; [*1133.0020.0002] # DOMINO TILE VERTICAL-04-02
+1F082 ; [*1134.0020.0002] # DOMINO TILE VERTICAL-04-03
+1F083 ; [*1135.0020.0002] # DOMINO TILE VERTICAL-04-04
+1F084 ; [*1136.0020.0002] # DOMINO TILE VERTICAL-04-05
+1F085 ; [*1137.0020.0002] # DOMINO TILE VERTICAL-04-06
+1F086 ; [*1138.0020.0002] # DOMINO TILE VERTICAL-05-00
+1F087 ; [*1139.0020.0002] # DOMINO TILE VERTICAL-05-01
+1F088 ; [*113A.0020.0002] # DOMINO TILE VERTICAL-05-02
+1F089 ; [*113B.0020.0002] # DOMINO TILE VERTICAL-05-03
+1F08A ; [*113C.0020.0002] # DOMINO TILE VERTICAL-05-04
+1F08B ; [*113D.0020.0002] # DOMINO TILE VERTICAL-05-05
+1F08C ; [*113E.0020.0002] # DOMINO TILE VERTICAL-05-06
+1F08D ; [*113F.0020.0002] # DOMINO TILE VERTICAL-06-00
+1F08E ; [*1140.0020.0002] # DOMINO TILE VERTICAL-06-01
+1F08F ; [*1141.0020.0002] # DOMINO TILE VERTICAL-06-02
+1F090 ; [*1142.0020.0002] # DOMINO TILE VERTICAL-06-03
+1F091 ; [*1143.0020.0002] # DOMINO TILE VERTICAL-06-04
+1F092 ; [*1144.0020.0002] # DOMINO TILE VERTICAL-06-05
+1F093 ; [*1145.0020.0002] # DOMINO TILE VERTICAL-06-06
+1F0A0 ; [*1146.0020.0002] # PLAYING CARD BACK
+1F0A1 ; [*1147.0020.0002] # PLAYING CARD ACE OF SPADES
+1F0A2 ; [*1148.0020.0002] # PLAYING CARD TWO OF SPADES
+1F0A3 ; [*1149.0020.0002] # PLAYING CARD THREE OF SPADES
+1F0A4 ; [*114A.0020.0002] # PLAYING CARD FOUR OF SPADES
+1F0A5 ; [*114B.0020.0002] # PLAYING CARD FIVE OF SPADES
+1F0A6 ; [*114C.0020.0002] # PLAYING CARD SIX OF SPADES
+1F0A7 ; [*114D.0020.0002] # PLAYING CARD SEVEN OF SPADES
+1F0A8 ; [*114E.0020.0002] # PLAYING CARD EIGHT OF SPADES
+1F0A9 ; [*114F.0020.0002] # PLAYING CARD NINE OF SPADES
+1F0AA ; [*1150.0020.0002] # PLAYING CARD TEN OF SPADES
+1F0AB ; [*1151.0020.0002] # PLAYING CARD JACK OF SPADES
+1F0AC ; [*1152.0020.0002] # PLAYING CARD KNIGHT OF SPADES
+1F0AD ; [*1153.0020.0002] # PLAYING CARD QUEEN OF SPADES
+1F0AE ; [*1154.0020.0002] # PLAYING CARD KING OF SPADES
+1F0B1 ; [*1155.0020.0002] # PLAYING CARD ACE OF HEARTS
+1F0B2 ; [*1156.0020.0002] # PLAYING CARD TWO OF HEARTS
+1F0B3 ; [*1157.0020.0002] # PLAYING CARD THREE OF HEARTS
+1F0B4 ; [*1158.0020.0002] # PLAYING CARD FOUR OF HEARTS
+1F0B5 ; [*1159.0020.0002] # PLAYING CARD FIVE OF HEARTS
+1F0B6 ; [*115A.0020.0002] # PLAYING CARD SIX OF HEARTS
+1F0B7 ; [*115B.0020.0002] # PLAYING CARD SEVEN OF HEARTS
+1F0B8 ; [*115C.0020.0002] # PLAYING CARD EIGHT OF HEARTS
+1F0B9 ; [*115D.0020.0002] # PLAYING CARD NINE OF HEARTS
+1F0BA ; [*115E.0020.0002] # PLAYING CARD TEN OF HEARTS
+1F0BB ; [*115F.0020.0002] # PLAYING CARD JACK OF HEARTS
+1F0BC ; [*1160.0020.0002] # PLAYING CARD KNIGHT OF HEARTS
+1F0BD ; [*1161.0020.0002] # PLAYING CARD QUEEN OF HEARTS
+1F0BE ; [*1162.0020.0002] # PLAYING CARD KING OF HEARTS
+1F0C1 ; [*1163.0020.0002] # PLAYING CARD ACE OF DIAMONDS
+1F0C2 ; [*1164.0020.0002] # PLAYING CARD TWO OF DIAMONDS
+1F0C3 ; [*1165.0020.0002] # PLAYING CARD THREE OF DIAMONDS
+1F0C4 ; [*1166.0020.0002] # PLAYING CARD FOUR OF DIAMONDS
+1F0C5 ; [*1167.0020.0002] # PLAYING CARD FIVE OF DIAMONDS
+1F0C6 ; [*1168.0020.0002] # PLAYING CARD SIX OF DIAMONDS
+1F0C7 ; [*1169.0020.0002] # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 ; [*116A.0020.0002] # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 ; [*116B.0020.0002] # PLAYING CARD NINE OF DIAMONDS
+1F0CA ; [*116C.0020.0002] # PLAYING CARD TEN OF DIAMONDS
+1F0CB ; [*116D.0020.0002] # PLAYING CARD JACK OF DIAMONDS
+1F0CC ; [*116E.0020.0002] # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD ; [*116F.0020.0002] # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE ; [*1170.0020.0002] # PLAYING CARD KING OF DIAMONDS
+1F0CF ; [*1171.0020.0002] # PLAYING CARD BLACK JOKER
+1F0D1 ; [*1172.0020.0002] # PLAYING CARD ACE OF CLUBS
+1F0D2 ; [*1173.0020.0002] # PLAYING CARD TWO OF CLUBS
+1F0D3 ; [*1174.0020.0002] # PLAYING CARD THREE OF CLUBS
+1F0D4 ; [*1175.0020.0002] # PLAYING CARD FOUR OF CLUBS
+1F0D5 ; [*1176.0020.0002] # PLAYING CARD FIVE OF CLUBS
+1F0D6 ; [*1177.0020.0002] # PLAYING CARD SIX OF CLUBS
+1F0D7 ; [*1178.0020.0002] # PLAYING CARD SEVEN OF CLUBS
+1F0D8 ; [*1179.0020.0002] # PLAYING CARD EIGHT OF CLUBS
+1F0D9 ; [*117A.0020.0002] # PLAYING CARD NINE OF CLUBS
+1F0DA ; [*117B.0020.0002] # PLAYING CARD TEN OF CLUBS
+1F0DB ; [*117C.0020.0002] # PLAYING CARD JACK OF CLUBS
+1F0DC ; [*117D.0020.0002] # PLAYING CARD KNIGHT OF CLUBS
+1F0DD ; [*117E.0020.0002] # PLAYING CARD QUEEN OF CLUBS
+1F0DE ; [*117F.0020.0002] # PLAYING CARD KING OF CLUBS
+1F0DF ; [*1180.0020.0002] # PLAYING CARD WHITE JOKER
+1F1E6 ; [*0985.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER A
+1F1E7 ; [*0986.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER B
+1F1E8 ; [*0987.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER C
+1F1E9 ; [*0988.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER D
+1F1EA ; [*0989.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER E
+1F1EB ; [*098A.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER F
+1F1EC ; [*098B.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER G
+1F1ED ; [*098C.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER H
+1F1EE ; [*098D.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER I
+1F1EF ; [*098E.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER J
+1F1F0 ; [*098F.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER K
+1F1F1 ; [*0990.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER L
+1F1F2 ; [*0991.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER M
+1F1F3 ; [*0992.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER N
+1F1F4 ; [*0993.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER O
+1F1F5 ; [*0994.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER P
+1F1F6 ; [*0995.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Q
+1F1F7 ; [*0996.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER R
+1F1F8 ; [*0997.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER S
+1F1F9 ; [*0998.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER T
+1F1FA ; [*0999.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER U
+1F1FB ; [*099A.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER V
+1F1FC ; [*099B.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER W
+1F1FD ; [*099C.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER X
+1F1FE ; [*099D.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Y
+1F1FF ; [*099E.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Z
+1F300 ; [*1181.0020.0002] # CYCLONE
+1F301 ; [*1182.0020.0002] # FOGGY
+1F302 ; [*1183.0020.0002] # CLOSED UMBRELLA
+1F303 ; [*1184.0020.0002] # NIGHT WITH STARS
+1F304 ; [*1185.0020.0002] # SUNRISE OVER MOUNTAINS
+1F305 ; [*1186.0020.0002] # SUNRISE
+1F306 ; [*1187.0020.0002] # CITYSCAPE AT DUSK
+1F307 ; [*1188.0020.0002] # SUNSET OVER BUILDINGS
+1F308 ; [*1189.0020.0002] # RAINBOW
+1F309 ; [*118A.0020.0002] # BRIDGE AT NIGHT
+1F30A ; [*118B.0020.0002] # WATER WAVE
+1F30B ; [*118C.0020.0002] # VOLCANO
+1F30C ; [*118D.0020.0002] # MILKY WAY
+1F30D ; [*118E.0020.0002] # EARTH GLOBE EUROPE-AFRICA
+1F30E ; [*118F.0020.0002] # EARTH GLOBE AMERICAS
+1F30F ; [*1190.0020.0002] # EARTH GLOBE ASIA-AUSTRALIA
+1F310 ; [*1191.0020.0002] # GLOBE WITH MERIDIANS
+1F311 ; [*1192.0020.0002] # NEW MOON SYMBOL
+1F312 ; [*1193.0020.0002] # WAXING CRESCENT MOON SYMBOL
+1F313 ; [*1194.0020.0002] # FIRST QUARTER MOON SYMBOL
+1F314 ; [*1195.0020.0002] # WAXING GIBBOUS MOON SYMBOL
+1F315 ; [*1196.0020.0002] # FULL MOON SYMBOL
+1F316 ; [*1197.0020.0002] # WANING GIBBOUS MOON SYMBOL
+1F317 ; [*1198.0020.0002] # LAST QUARTER MOON SYMBOL
+1F318 ; [*1199.0020.0002] # WANING CRESCENT MOON SYMBOL
+1F319 ; [*119A.0020.0002] # CRESCENT MOON
+1F31A ; [*119B.0020.0002] # NEW MOON WITH FACE
+1F31B ; [*119C.0020.0002] # FIRST QUARTER MOON WITH FACE
+1F31C ; [*119D.0020.0002] # LAST QUARTER MOON WITH FACE
+1F31D ; [*119E.0020.0002] # FULL MOON WITH FACE
+1F31E ; [*119F.0020.0002] # SUN WITH FACE
+1F31F ; [*11A0.0020.0002] # GLOWING STAR
+1F320 ; [*11A1.0020.0002] # SHOOTING STAR
+1F330 ; [*11A2.0020.0002] # CHESTNUT
+1F331 ; [*11A3.0020.0002] # SEEDLING
+1F332 ; [*11A4.0020.0002] # EVERGREEN TREE
+1F333 ; [*11A5.0020.0002] # DECIDUOUS TREE
+1F334 ; [*11A6.0020.0002] # PALM TREE
+1F335 ; [*11A7.0020.0002] # CACTUS
+1F337 ; [*11A8.0020.0002] # TULIP
+1F338 ; [*11A9.0020.0002] # CHERRY BLOSSOM
+1F339 ; [*11AA.0020.0002] # ROSE
+1F33A ; [*11AB.0020.0002] # HIBISCUS
+1F33B ; [*11AC.0020.0002] # SUNFLOWER
+1F33C ; [*11AD.0020.0002] # BLOSSOM
+1F33D ; [*11AE.0020.0002] # EAR OF MAIZE
+1F33E ; [*11AF.0020.0002] # EAR OF RICE
+1F33F ; [*11B0.0020.0002] # HERB
+1F340 ; [*11B1.0020.0002] # FOUR LEAF CLOVER
+1F341 ; [*11B2.0020.0002] # MAPLE LEAF
+1F342 ; [*11B3.0020.0002] # FALLEN LEAF
+1F343 ; [*11B4.0020.0002] # LEAF FLUTTERING IN WIND
+1F344 ; [*11B5.0020.0002] # MUSHROOM
+1F345 ; [*11B6.0020.0002] # TOMATO
+1F346 ; [*11B7.0020.0002] # AUBERGINE
+1F347 ; [*11B8.0020.0002] # GRAPES
+1F348 ; [*11B9.0020.0002] # MELON
+1F349 ; [*11BA.0020.0002] # WATERMELON
+1F34A ; [*11BB.0020.0002] # TANGERINE
+1F34B ; [*11BC.0020.0002] # LEMON
+1F34C ; [*11BD.0020.0002] # BANANA
+1F34D ; [*11BE.0020.0002] # PINEAPPLE
+1F34E ; [*11BF.0020.0002] # RED APPLE
+1F34F ; [*11C0.0020.0002] # GREEN APPLE
+1F350 ; [*11C1.0020.0002] # PEAR
+1F351 ; [*11C2.0020.0002] # PEACH
+1F352 ; [*11C3.0020.0002] # CHERRIES
+1F353 ; [*11C4.0020.0002] # STRAWBERRY
+1F354 ; [*11C5.0020.0002] # HAMBURGER
+1F355 ; [*11C6.0020.0002] # SLICE OF PIZZA
+1F356 ; [*11C7.0020.0002] # MEAT ON BONE
+1F357 ; [*11C8.0020.0002] # POULTRY LEG
+1F358 ; [*11C9.0020.0002] # RICE CRACKER
+1F359 ; [*11CA.0020.0002] # RICE BALL
+1F35A ; [*11CB.0020.0002] # COOKED RICE
+1F35B ; [*11CC.0020.0002] # CURRY AND RICE
+1F35C ; [*11CD.0020.0002] # STEAMING BOWL
+1F35D ; [*11CE.0020.0002] # SPAGHETTI
+1F35E ; [*11CF.0020.0002] # BREAD
+1F35F ; [*11D0.0020.0002] # FRENCH FRIES
+1F360 ; [*11D1.0020.0002] # ROASTED SWEET POTATO
+1F361 ; [*11D2.0020.0002] # DANGO
+1F362 ; [*11D3.0020.0002] # ODEN
+1F363 ; [*11D4.0020.0002] # SUSHI
+1F364 ; [*11D5.0020.0002] # FRIED SHRIMP
+1F365 ; [*11D6.0020.0002] # FISH CAKE WITH SWIRL DESIGN
+1F366 ; [*11D7.0020.0002] # SOFT ICE CREAM
+1F367 ; [*11D8.0020.0002] # SHAVED ICE
+1F368 ; [*11D9.0020.0002] # ICE CREAM
+1F369 ; [*11DA.0020.0002] # DOUGHNUT
+1F36A ; [*11DB.0020.0002] # COOKIE
+1F36B ; [*11DC.0020.0002] # CHOCOLATE BAR
+1F36C ; [*11DD.0020.0002] # CANDY
+1F36D ; [*11DE.0020.0002] # LOLLIPOP
+1F36E ; [*11DF.0020.0002] # CUSTARD
+1F36F ; [*11E0.0020.0002] # HONEY POT
+1F370 ; [*11E1.0020.0002] # SHORTCAKE
+1F371 ; [*11E2.0020.0002] # BENTO BOX
+1F372 ; [*11E3.0020.0002] # POT OF FOOD
+1F373 ; [*11E4.0020.0002] # COOKING
+1F374 ; [*11E5.0020.0002] # FORK AND KNIFE
+1F375 ; [*11E6.0020.0002] # TEACUP WITHOUT HANDLE
+1F376 ; [*11E7.0020.0002] # SAKE BOTTLE AND CUP
+1F377 ; [*11E8.0020.0002] # WINE GLASS
+1F378 ; [*11E9.0020.0002] # COCKTAIL GLASS
+1F379 ; [*11EA.0020.0002] # TROPICAL DRINK
+1F37A ; [*11EB.0020.0002] # BEER MUG
+1F37B ; [*11EC.0020.0002] # CLINKING BEER MUGS
+1F37C ; [*11ED.0020.0002] # BABY BOTTLE
+1F380 ; [*11EE.0020.0002] # RIBBON
+1F381 ; [*11EF.0020.0002] # WRAPPED PRESENT
+1F382 ; [*11F0.0020.0002] # BIRTHDAY CAKE
+1F383 ; [*11F1.0020.0002] # JACK-O-LANTERN
+1F384 ; [*11F2.0020.0002] # CHRISTMAS TREE
+1F385 ; [*11F3.0020.0002] # FATHER CHRISTMAS
+1F386 ; [*11F4.0020.0002] # FIREWORKS
+1F387 ; [*11F5.0020.0002] # FIREWORK SPARKLER
+1F388 ; [*11F6.0020.0002] # BALLOON
+1F389 ; [*11F7.0020.0002] # PARTY POPPER
+1F38A ; [*11F8.0020.0002] # CONFETTI BALL
+1F38B ; [*11F9.0020.0002] # TANABATA TREE
+1F38C ; [*11FA.0020.0002] # CROSSED FLAGS
+1F38D ; [*11FB.0020.0002] # PINE DECORATION
+1F38E ; [*11FC.0020.0002] # JAPANESE DOLLS
+1F38F ; [*11FD.0020.0002] # CARP STREAMER
+1F390 ; [*11FE.0020.0002] # WIND CHIME
+1F391 ; [*11FF.0020.0002] # MOON VIEWING CEREMONY
+1F392 ; [*1200.0020.0002] # SCHOOL SATCHEL
+1F393 ; [*1201.0020.0002] # GRADUATION CAP
+1F3A0 ; [*1202.0020.0002] # CAROUSEL HORSE
+1F3A1 ; [*1203.0020.0002] # FERRIS WHEEL
+1F3A2 ; [*1204.0020.0002] # ROLLER COASTER
+1F3A3 ; [*1205.0020.0002] # FISHING POLE AND FISH
+1F3A4 ; [*1206.0020.0002] # MICROPHONE
+1F3A5 ; [*1207.0020.0002] # MOVIE CAMERA
+1F3A6 ; [*1208.0020.0002] # CINEMA
+1F3A7 ; [*1209.0020.0002] # HEADPHONE
+1F3A8 ; [*120A.0020.0002] # ARTIST PALETTE
+1F3A9 ; [*120B.0020.0002] # TOP HAT
+1F3AA ; [*120C.0020.0002] # CIRCUS TENT
+1F3AB ; [*120D.0020.0002] # TICKET
+1F3AC ; [*120E.0020.0002] # CLAPPER BOARD
+1F3AD ; [*120F.0020.0002] # PERFORMING ARTS
+1F3AE ; [*1210.0020.0002] # VIDEO GAME
+1F3AF ; [*1211.0020.0002] # DIRECT HIT
+1F3B0 ; [*1212.0020.0002] # SLOT MACHINE
+1F3B1 ; [*1213.0020.0002] # BILLIARDS
+1F3B2 ; [*1214.0020.0002] # GAME DIE
+1F3B3 ; [*1215.0020.0002] # BOWLING
+1F3B4 ; [*1216.0020.0002] # FLOWER PLAYING CARDS
+1F3B5 ; [*1217.0020.0002] # MUSICAL NOTE
+1F3B6 ; [*1218.0020.0002] # MULTIPLE MUSICAL NOTES
+1F3B7 ; [*1219.0020.0002] # SAXOPHONE
+1F3B8 ; [*121A.0020.0002] # GUITAR
+1F3B9 ; [*121B.0020.0002] # MUSICAL KEYBOARD
+1F3BA ; [*121C.0020.0002] # TRUMPET
+1F3BB ; [*121D.0020.0002] # VIOLIN
+1F3BC ; [*121E.0020.0002] # MUSICAL SCORE
+1F3BD ; [*121F.0020.0002] # RUNNING SHIRT WITH SASH
+1F3BE ; [*1220.0020.0002] # TENNIS RACQUET AND BALL
+1F3BF ; [*1221.0020.0002] # SKI AND SKI BOOT
+1F3C0 ; [*1222.0020.0002] # BASKETBALL AND HOOP
+1F3C1 ; [*1223.0020.0002] # CHEQUERED FLAG
+1F3C2 ; [*1224.0020.0002] # SNOWBOARDER
+1F3C3 ; [*1225.0020.0002] # RUNNER
+1F3C4 ; [*1226.0020.0002] # SURFER
+1F3C6 ; [*1227.0020.0002] # TROPHY
+1F3C7 ; [*1228.0020.0002] # HORSE RACING
+1F3C8 ; [*1229.0020.0002] # AMERICAN FOOTBALL
+1F3C9 ; [*122A.0020.0002] # RUGBY FOOTBALL
+1F3CA ; [*122B.0020.0002] # SWIMMER
+1F3E0 ; [*122C.0020.0002] # HOUSE BUILDING
+1F3E1 ; [*122D.0020.0002] # HOUSE WITH GARDEN
+1F3E2 ; [*122E.0020.0002] # OFFICE BUILDING
+1F3E3 ; [*122F.0020.0002] # JAPANESE POST OFFICE
+1F3E4 ; [*1230.0020.0002] # EUROPEAN POST OFFICE
+1F3E5 ; [*1231.0020.0002] # HOSPITAL
+1F3E6 ; [*1232.0020.0002] # BANK
+1F3E7 ; [*1233.0020.0002] # AUTOMATED TELLER MACHINE
+1F3E8 ; [*1234.0020.0002] # HOTEL
+1F3E9 ; [*1235.0020.0002] # LOVE HOTEL
+1F3EA ; [*1236.0020.0002] # CONVENIENCE STORE
+1F3EB ; [*1237.0020.0002] # SCHOOL
+1F3EC ; [*1238.0020.0002] # DEPARTMENT STORE
+1F3ED ; [*1239.0020.0002] # FACTORY
+1F3EE ; [*123A.0020.0002] # IZAKAYA LANTERN
+1F3EF ; [*123B.0020.0002] # JAPANESE CASTLE
+1F3F0 ; [*123C.0020.0002] # EUROPEAN CASTLE
+1F400 ; [*123D.0020.0002] # RAT
+1F401 ; [*123E.0020.0002] # MOUSE
+1F402 ; [*123F.0020.0002] # OX
+1F403 ; [*1240.0020.0002] # WATER BUFFALO
+1F404 ; [*1241.0020.0002] # COW
+1F405 ; [*1242.0020.0002] # TIGER
+1F406 ; [*1243.0020.0002] # LEOPARD
+1F407 ; [*1244.0020.0002] # RABBIT
+1F408 ; [*1245.0020.0002] # CAT
+1F409 ; [*1246.0020.0002] # DRAGON
+1F40A ; [*1247.0020.0002] # CROCODILE
+1F40B ; [*1248.0020.0002] # WHALE
+1F40C ; [*1249.0020.0002] # SNAIL
+1F40D ; [*124A.0020.0002] # SNAKE
+1F40E ; [*124B.0020.0002] # HORSE
+1F40F ; [*124C.0020.0002] # RAM
+1F410 ; [*124D.0020.0002] # GOAT
+1F411 ; [*124E.0020.0002] # SHEEP
+1F412 ; [*124F.0020.0002] # MONKEY
+1F413 ; [*1250.0020.0002] # ROOSTER
+1F414 ; [*1251.0020.0002] # CHICKEN
+1F415 ; [*1252.0020.0002] # DOG
+1F416 ; [*1253.0020.0002] # PIG
+1F417 ; [*1254.0020.0002] # BOAR
+1F418 ; [*1255.0020.0002] # ELEPHANT
+1F419 ; [*1256.0020.0002] # OCTOPUS
+1F41A ; [*1257.0020.0002] # SPIRAL SHELL
+1F41B ; [*1258.0020.0002] # BUG
+1F41C ; [*1259.0020.0002] # ANT
+1F41D ; [*125A.0020.0002] # HONEYBEE
+1F41E ; [*125B.0020.0002] # LADY BEETLE
+1F41F ; [*125C.0020.0002] # FISH
+1F420 ; [*125D.0020.0002] # TROPICAL FISH
+1F421 ; [*125E.0020.0002] # BLOWFISH
+1F422 ; [*125F.0020.0002] # TURTLE
+1F423 ; [*1260.0020.0002] # HATCHING CHICK
+1F424 ; [*1261.0020.0002] # BABY CHICK
+1F425 ; [*1262.0020.0002] # FRONT-FACING BABY CHICK
+1F426 ; [*1263.0020.0002] # BIRD
+1F427 ; [*1264.0020.0002] # PENGUIN
+1F428 ; [*1265.0020.0002] # KOALA
+1F429 ; [*1266.0020.0002] # POODLE
+1F42A ; [*1267.0020.0002] # DROMEDARY CAMEL
+1F42B ; [*1268.0020.0002] # BACTRIAN CAMEL
+1F42C ; [*1269.0020.0002] # DOLPHIN
+1F42D ; [*126A.0020.0002] # MOUSE FACE
+1F42E ; [*126B.0020.0002] # COW FACE
+1F42F ; [*126C.0020.0002] # TIGER FACE
+1F430 ; [*126D.0020.0002] # RABBIT FACE
+1F431 ; [*126E.0020.0002] # CAT FACE
+1F432 ; [*126F.0020.0002] # DRAGON FACE
+1F433 ; [*1270.0020.0002] # SPOUTING WHALE
+1F434 ; [*1271.0020.0002] # HORSE FACE
+1F435 ; [*1272.0020.0002] # MONKEY FACE
+1F436 ; [*1273.0020.0002] # DOG FACE
+1F437 ; [*1274.0020.0002] # PIG FACE
+1F438 ; [*1275.0020.0002] # FROG FACE
+1F439 ; [*1276.0020.0002] # HAMSTER FACE
+1F43A ; [*1277.0020.0002] # WOLF FACE
+1F43B ; [*1278.0020.0002] # BEAR FACE
+1F43C ; [*1279.0020.0002] # PANDA FACE
+1F43D ; [*127A.0020.0002] # PIG NOSE
+1F43E ; [*127B.0020.0002] # PAW PRINTS
+1F440 ; [*127C.0020.0002] # EYES
+1F442 ; [*127D.0020.0002] # EAR
+1F443 ; [*127E.0020.0002] # NOSE
+1F444 ; [*127F.0020.0002] # MOUTH
+1F445 ; [*1280.0020.0002] # TONGUE
+1F446 ; [*1281.0020.0002] # WHITE UP POINTING BACKHAND INDEX
+1F447 ; [*1282.0020.0002] # WHITE DOWN POINTING BACKHAND INDEX
+1F448 ; [*1283.0020.0002] # WHITE LEFT POINTING BACKHAND INDEX
+1F449 ; [*1284.0020.0002] # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A ; [*1285.0020.0002] # FISTED HAND SIGN
+1F44B ; [*1286.0020.0002] # WAVING HAND SIGN
+1F44C ; [*1287.0020.0002] # OK HAND SIGN
+1F44D ; [*1288.0020.0002] # THUMBS UP SIGN
+1F44E ; [*1289.0020.0002] # THUMBS DOWN SIGN
+1F44F ; [*128A.0020.0002] # CLAPPING HANDS SIGN
+1F450 ; [*128B.0020.0002] # OPEN HANDS SIGN
+1F451 ; [*128C.0020.0002] # CROWN
+1F452 ; [*128D.0020.0002] # WOMANS HAT
+1F453 ; [*128E.0020.0002] # EYEGLASSES
+1F454 ; [*128F.0020.0002] # NECKTIE
+1F455 ; [*1290.0020.0002] # T-SHIRT
+1F456 ; [*1291.0020.0002] # JEANS
+1F457 ; [*1292.0020.0002] # DRESS
+1F458 ; [*1293.0020.0002] # KIMONO
+1F459 ; [*1294.0020.0002] # BIKINI
+1F45A ; [*1295.0020.0002] # WOMANS CLOTHES
+1F45B ; [*1296.0020.0002] # PURSE
+1F45C ; [*1297.0020.0002] # HANDBAG
+1F45D ; [*1298.0020.0002] # POUCH
+1F45E ; [*1299.0020.0002] # MANS SHOE
+1F45F ; [*129A.0020.0002] # ATHLETIC SHOE
+1F460 ; [*129B.0020.0002] # HIGH-HEELED SHOE
+1F461 ; [*129C.0020.0002] # WOMANS SANDAL
+1F462 ; [*129D.0020.0002] # WOMANS BOOTS
+1F463 ; [*129E.0020.0002] # FOOTPRINTS
+1F464 ; [*129F.0020.0002] # BUST IN SILHOUETTE
+1F465 ; [*12A0.0020.0002] # BUSTS IN SILHOUETTE
+1F466 ; [*12A1.0020.0002] # BOY
+1F467 ; [*12A2.0020.0002] # GIRL
+1F468 ; [*12A3.0020.0002] # MAN
+1F469 ; [*12A4.0020.0002] # WOMAN
+1F46A ; [*12A5.0020.0002] # FAMILY
+1F46B ; [*12A6.0020.0002] # MAN AND WOMAN HOLDING HANDS
+1F46C ; [*12A7.0020.0002] # TWO MEN HOLDING HANDS
+1F46D ; [*12A8.0020.0002] # TWO WOMEN HOLDING HANDS
+1F46E ; [*12A9.0020.0002] # POLICE OFFICER
+1F46F ; [*12AA.0020.0002] # WOMAN WITH BUNNY EARS
+1F470 ; [*12AB.0020.0002] # BRIDE WITH VEIL
+1F471 ; [*12AC.0020.0002] # PERSON WITH BLOND HAIR
+1F472 ; [*12AD.0020.0002] # MAN WITH GUA PI MAO
+1F473 ; [*12AE.0020.0002] # MAN WITH TURBAN
+1F474 ; [*12AF.0020.0002] # OLDER MAN
+1F475 ; [*12B0.0020.0002] # OLDER WOMAN
+1F476 ; [*12B1.0020.0002] # BABY
+1F477 ; [*12B2.0020.0002] # CONSTRUCTION WORKER
+1F478 ; [*12B3.0020.0002] # PRINCESS
+1F479 ; [*12B4.0020.0002] # JAPANESE OGRE
+1F47A ; [*12B5.0020.0002] # JAPANESE GOBLIN
+1F47B ; [*12B6.0020.0002] # GHOST
+1F47C ; [*12B7.0020.0002] # BABY ANGEL
+1F47D ; [*12B8.0020.0002] # EXTRATERRESTRIAL ALIEN
+1F47E ; [*12B9.0020.0002] # ALIEN MONSTER
+1F47F ; [*12BA.0020.0002] # IMP
+1F480 ; [*12BB.0020.0002] # SKULL
+1F481 ; [*12BC.0020.0002] # INFORMATION DESK PERSON
+1F482 ; [*12BD.0020.0002] # GUARDSMAN
+1F483 ; [*12BE.0020.0002] # DANCER
+1F484 ; [*12BF.0020.0002] # LIPSTICK
+1F485 ; [*12C0.0020.0002] # NAIL POLISH
+1F486 ; [*12C1.0020.0002] # FACE MASSAGE
+1F487 ; [*12C2.0020.0002] # HAIRCUT
+1F488 ; [*12C3.0020.0002] # BARBER POLE
+1F489 ; [*12C4.0020.0002] # SYRINGE
+1F48A ; [*12C5.0020.0002] # PILL
+1F48B ; [*12C6.0020.0002] # KISS MARK
+1F48C ; [*12C7.0020.0002] # LOVE LETTER
+1F48D ; [*12C8.0020.0002] # RING
+1F48E ; [*12C9.0020.0002] # GEM STONE
+1F48F ; [*12CA.0020.0002] # KISS
+1F490 ; [*12CB.0020.0002] # BOUQUET
+1F491 ; [*12CC.0020.0002] # COUPLE WITH HEART
+1F492 ; [*12CD.0020.0002] # WEDDING
+1F493 ; [*12CE.0020.0002] # BEATING HEART
+1F494 ; [*12CF.0020.0002] # BROKEN HEART
+1F495 ; [*12D0.0020.0002] # TWO HEARTS
+1F496 ; [*12D1.0020.0002] # SPARKLING HEART
+1F497 ; [*12D2.0020.0002] # GROWING HEART
+1F498 ; [*12D3.0020.0002] # HEART WITH ARROW
+1F499 ; [*12D4.0020.0002] # BLUE HEART
+1F49A ; [*12D5.0020.0002] # GREEN HEART
+1F49B ; [*12D6.0020.0002] # YELLOW HEART
+1F49C ; [*12D7.0020.0002] # PURPLE HEART
+1F49D ; [*12D8.0020.0002] # HEART WITH RIBBON
+1F49E ; [*12D9.0020.0002] # REVOLVING HEARTS
+1F49F ; [*12DA.0020.0002] # HEART DECORATION
+1F4A0 ; [*12DB.0020.0002] # DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ; [*12DC.0020.0002] # ELECTRIC LIGHT BULB
+1F4A2 ; [*12DD.0020.0002] # ANGER SYMBOL
+1F4A3 ; [*12DE.0020.0002] # BOMB
+1F4A4 ; [*12DF.0020.0002] # SLEEPING SYMBOL
+1F4A5 ; [*12E0.0020.0002] # COLLISION SYMBOL
+1F4A6 ; [*12E1.0020.0002] # SPLASHING SWEAT SYMBOL
+1F4A7 ; [*12E2.0020.0002] # DROPLET
+1F4A8 ; [*12E3.0020.0002] # DASH SYMBOL
+1F4A9 ; [*12E4.0020.0002] # PILE OF POO
+1F4AA ; [*12E5.0020.0002] # FLEXED BICEPS
+1F4AB ; [*12E6.0020.0002] # DIZZY SYMBOL
+1F4AC ; [*12E7.0020.0002] # SPEECH BALLOON
+1F4AD ; [*12E8.0020.0002] # THOUGHT BALLOON
+1F4AE ; [*12E9.0020.0002] # WHITE FLOWER
+1F4AF ; [*12EA.0020.0002] # HUNDRED POINTS SYMBOL
+1F4B0 ; [*12EB.0020.0002] # MONEY BAG
+1F4B1 ; [*12EC.0020.0002] # CURRENCY EXCHANGE
+1F4B2 ; [*12ED.0020.0002] # HEAVY DOLLAR SIGN
+1F4B3 ; [*12EE.0020.0002] # CREDIT CARD
+1F4B4 ; [*12EF.0020.0002] # BANKNOTE WITH YEN SIGN
+1F4B5 ; [*12F0.0020.0002] # BANKNOTE WITH DOLLAR SIGN
+1F4B6 ; [*12F1.0020.0002] # BANKNOTE WITH EURO SIGN
+1F4B7 ; [*12F2.0020.0002] # BANKNOTE WITH POUND SIGN
+1F4B8 ; [*12F3.0020.0002] # MONEY WITH WINGS
+1F4B9 ; [*12F4.0020.0002] # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA ; [*12F5.0020.0002] # SEAT
+1F4BB ; [*12F6.0020.0002] # PERSONAL COMPUTER
+1F4BC ; [*12F7.0020.0002] # BRIEFCASE
+1F4BD ; [*12F8.0020.0002] # MINIDISC
+1F4BE ; [*12F9.0020.0002] # FLOPPY DISK
+1F4BF ; [*12FA.0020.0002] # OPTICAL DISC
+1F4C0 ; [*12FB.0020.0002] # DVD
+1F4C1 ; [*12FC.0020.0002] # FILE FOLDER
+1F4C2 ; [*12FD.0020.0002] # OPEN FILE FOLDER
+1F4C3 ; [*12FE.0020.0002] # PAGE WITH CURL
+1F4C4 ; [*12FF.0020.0002] # PAGE FACING UP
+1F4C5 ; [*1300.0020.0002] # CALENDAR
+1F4C6 ; [*1301.0020.0002] # TEAR-OFF CALENDAR
+1F4C7 ; [*1302.0020.0002] # CARD INDEX
+1F4C8 ; [*1303.0020.0002] # CHART WITH UPWARDS TREND
+1F4C9 ; [*1304.0020.0002] # CHART WITH DOWNWARDS TREND
+1F4CA ; [*1305.0020.0002] # BAR CHART
+1F4CB ; [*1306.0020.0002] # CLIPBOARD
+1F4CC ; [*1307.0020.0002] # PUSHPIN
+1F4CD ; [*1308.0020.0002] # ROUND PUSHPIN
+1F4CE ; [*1309.0020.0002] # PAPERCLIP
+1F4CF ; [*130A.0020.0002] # STRAIGHT RULER
+1F4D0 ; [*130B.0020.0002] # TRIANGULAR RULER
+1F4D1 ; [*130C.0020.0002] # BOOKMARK TABS
+1F4D2 ; [*130D.0020.0002] # LEDGER
+1F4D3 ; [*130E.0020.0002] # NOTEBOOK
+1F4D4 ; [*130F.0020.0002] # NOTEBOOK WITH DECORATIVE COVER
+1F4D5 ; [*1310.0020.0002] # CLOSED BOOK
+1F4D6 ; [*1311.0020.0002] # OPEN BOOK
+1F4D7 ; [*1312.0020.0002] # GREEN BOOK
+1F4D8 ; [*1313.0020.0002] # BLUE BOOK
+1F4D9 ; [*1314.0020.0002] # ORANGE BOOK
+1F4DA ; [*1315.0020.0002] # BOOKS
+1F4DB ; [*1316.0020.0002] # NAME BADGE
+1F4DC ; [*1317.0020.0002] # SCROLL
+1F4DD ; [*1318.0020.0002] # MEMO
+1F4DE ; [*1319.0020.0002] # TELEPHONE RECEIVER
+1F4DF ; [*131A.0020.0002] # PAGER
+1F4E0 ; [*131B.0020.0002] # FAX MACHINE
+1F4E1 ; [*131C.0020.0002] # SATELLITE ANTENNA
+1F4E2 ; [*131D.0020.0002] # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 ; [*131E.0020.0002] # CHEERING MEGAPHONE
+1F4E4 ; [*131F.0020.0002] # OUTBOX TRAY
+1F4E5 ; [*1320.0020.0002] # INBOX TRAY
+1F4E6 ; [*1321.0020.0002] # PACKAGE
+1F4E7 ; [*1322.0020.0002] # E-MAIL SYMBOL
+1F4E8 ; [*1323.0020.0002] # INCOMING ENVELOPE
+1F4E9 ; [*1324.0020.0002] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA ; [*1325.0020.0002] # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB ; [*1326.0020.0002] # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC ; [*1327.0020.0002] # OPEN MAILBOX WITH RAISED FLAG
+1F4ED ; [*1328.0020.0002] # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE ; [*1329.0020.0002] # POSTBOX
+1F4EF ; [*132A.0020.0002] # POSTAL HORN
+1F4F0 ; [*132B.0020.0002] # NEWSPAPER
+1F4F1 ; [*132C.0020.0002] # MOBILE PHONE
+1F4F2 ; [*132D.0020.0002] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 ; [*132E.0020.0002] # VIBRATION MODE
+1F4F4 ; [*132F.0020.0002] # MOBILE PHONE OFF
+1F4F5 ; [*1330.0020.0002] # NO MOBILE PHONES
+1F4F6 ; [*1331.0020.0002] # ANTENNA WITH BARS
+1F4F7 ; [*1332.0020.0002] # CAMERA
+1F4F9 ; [*1333.0020.0002] # VIDEO CAMERA
+1F4FA ; [*1334.0020.0002] # TELEVISION
+1F4FB ; [*1335.0020.0002] # RADIO
+1F4FC ; [*1336.0020.0002] # VIDEOCASSETTE
+1F500 ; [*1337.0020.0002] # TWISTED RIGHTWARDS ARROWS
+1F501 ; [*1338.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 ; [*1339.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 ; [*133A.0020.0002] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ; [*133B.0020.0002] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 ; [*133C.0020.0002] # LOW BRIGHTNESS SYMBOL
+1F506 ; [*133D.0020.0002] # HIGH BRIGHTNESS SYMBOL
+1F507 ; [*133E.0020.0002] # SPEAKER WITH CANCELLATION STROKE
+1F508 ; [*133F.0020.0002] # SPEAKER
+1F509 ; [*1340.0020.0002] # SPEAKER WITH ONE SOUND WAVE
+1F50A ; [*1341.0020.0002] # SPEAKER WITH THREE SOUND WAVES
+1F50B ; [*1342.0020.0002] # BATTERY
+1F50C ; [*1343.0020.0002] # ELECTRIC PLUG
+1F50D ; [*1344.0020.0002] # LEFT-POINTING MAGNIFYING GLASS
+1F50E ; [*1345.0020.0002] # RIGHT-POINTING MAGNIFYING GLASS
+1F50F ; [*1346.0020.0002] # LOCK WITH INK PEN
+1F510 ; [*1347.0020.0002] # CLOSED LOCK WITH KEY
+1F511 ; [*1348.0020.0002] # KEY
+1F512 ; [*1349.0020.0002] # LOCK
+1F513 ; [*134A.0020.0002] # OPEN LOCK
+1F514 ; [*134B.0020.0002] # BELL
+1F515 ; [*134C.0020.0002] # BELL WITH CANCELLATION STROKE
+1F516 ; [*134D.0020.0002] # BOOKMARK
+1F517 ; [*134E.0020.0002] # LINK SYMBOL
+1F518 ; [*134F.0020.0002] # RADIO BUTTON
+1F519 ; [*1350.0020.0002] # BACK WITH LEFTWARDS ARROW ABOVE
+1F51A ; [*1351.0020.0002] # END WITH LEFTWARDS ARROW ABOVE
+1F51B ; [*1352.0020.0002] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C ; [*1353.0020.0002] # SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D ; [*1354.0020.0002] # TOP WITH UPWARDS ARROW ABOVE
+1F51E ; [*1355.0020.0002] # NO ONE UNDER EIGHTEEN SYMBOL
+1F51F ; [*1356.0020.0002] # KEYCAP TEN
+1F520 ; [*1357.0020.0002] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 ; [*1358.0020.0002] # INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 ; [*1359.0020.0002] # INPUT SYMBOL FOR NUMBERS
+1F523 ; [*135A.0020.0002] # INPUT SYMBOL FOR SYMBOLS
+1F524 ; [*135B.0020.0002] # INPUT SYMBOL FOR LATIN LETTERS
+1F525 ; [*135C.0020.0002] # FIRE
+1F526 ; [*135D.0020.0002] # ELECTRIC TORCH
+1F527 ; [*135E.0020.0002] # WRENCH
+1F528 ; [*135F.0020.0002] # HAMMER
+1F529 ; [*1360.0020.0002] # NUT AND BOLT
+1F52A ; [*1361.0020.0002] # HOCHO
+1F52B ; [*1362.0020.0002] # PISTOL
+1F52C ; [*1363.0020.0002] # MICROSCOPE
+1F52D ; [*1364.0020.0002] # TELESCOPE
+1F52E ; [*1365.0020.0002] # CRYSTAL BALL
+1F52F ; [*1366.0020.0002] # SIX POINTED STAR WITH MIDDLE DOT
+1F530 ; [*1367.0020.0002] # JAPANESE SYMBOL FOR BEGINNER
+1F531 ; [*1368.0020.0002] # TRIDENT EMBLEM
+1F532 ; [*1369.0020.0002] # BLACK SQUARE BUTTON
+1F533 ; [*136A.0020.0002] # WHITE SQUARE BUTTON
+1F534 ; [*136B.0020.0002] # LARGE RED CIRCLE
+1F535 ; [*136C.0020.0002] # LARGE BLUE CIRCLE
+1F536 ; [*136D.0020.0002] # LARGE ORANGE DIAMOND
+1F537 ; [*136E.0020.0002] # LARGE BLUE DIAMOND
+1F538 ; [*136F.0020.0002] # SMALL ORANGE DIAMOND
+1F539 ; [*1370.0020.0002] # SMALL BLUE DIAMOND
+1F53A ; [*1371.0020.0002] # UP-POINTING RED TRIANGLE
+1F53B ; [*1372.0020.0002] # DOWN-POINTING RED TRIANGLE
+1F53C ; [*1373.0020.0002] # UP-POINTING SMALL RED TRIANGLE
+1F53D ; [*1374.0020.0002] # DOWN-POINTING SMALL RED TRIANGLE
+1F540 ; [*1375.0020.0002] # CIRCLED CROSS POMMEE
+1F541 ; [*1376.0020.0002] # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542 ; [*1377.0020.0002] # CROSS POMMEE
+1F543 ; [*1378.0020.0002] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F550 ; [*1379.0020.0002] # CLOCK FACE ONE OCLOCK
+1F551 ; [*137A.0020.0002] # CLOCK FACE TWO OCLOCK
+1F552 ; [*137B.0020.0002] # CLOCK FACE THREE OCLOCK
+1F553 ; [*137C.0020.0002] # CLOCK FACE FOUR OCLOCK
+1F554 ; [*137D.0020.0002] # CLOCK FACE FIVE OCLOCK
+1F555 ; [*137E.0020.0002] # CLOCK FACE SIX OCLOCK
+1F556 ; [*137F.0020.0002] # CLOCK FACE SEVEN OCLOCK
+1F557 ; [*1380.0020.0002] # CLOCK FACE EIGHT OCLOCK
+1F558 ; [*1381.0020.0002] # CLOCK FACE NINE OCLOCK
+1F559 ; [*1382.0020.0002] # CLOCK FACE TEN OCLOCK
+1F55A ; [*1383.0020.0002] # CLOCK FACE ELEVEN OCLOCK
+1F55B ; [*1384.0020.0002] # CLOCK FACE TWELVE OCLOCK
+1F55C ; [*1385.0020.0002] # CLOCK FACE ONE-THIRTY
+1F55D ; [*1386.0020.0002] # CLOCK FACE TWO-THIRTY
+1F55E ; [*1387.0020.0002] # CLOCK FACE THREE-THIRTY
+1F55F ; [*1388.0020.0002] # CLOCK FACE FOUR-THIRTY
+1F560 ; [*1389.0020.0002] # CLOCK FACE FIVE-THIRTY
+1F561 ; [*138A.0020.0002] # CLOCK FACE SIX-THIRTY
+1F562 ; [*138B.0020.0002] # CLOCK FACE SEVEN-THIRTY
+1F563 ; [*138C.0020.0002] # CLOCK FACE EIGHT-THIRTY
+1F564 ; [*138D.0020.0002] # CLOCK FACE NINE-THIRTY
+1F565 ; [*138E.0020.0002] # CLOCK FACE TEN-THIRTY
+1F566 ; [*138F.0020.0002] # CLOCK FACE ELEVEN-THIRTY
+1F567 ; [*1390.0020.0002] # CLOCK FACE TWELVE-THIRTY
+1F5FB ; [*1391.0020.0002] # MOUNT FUJI
+1F5FC ; [*1392.0020.0002] # TOKYO TOWER
+1F5FD ; [*1393.0020.0002] # STATUE OF LIBERTY
+1F5FE ; [*1394.0020.0002] # SILHOUETTE OF JAPAN
+1F5FF ; [*1395.0020.0002] # MOYAI
+1F600 ; [*1396.0020.0002] # GRINNING FACE
+1F601 ; [*1397.0020.0002] # GRINNING FACE WITH SMILING EYES
+1F602 ; [*1398.0020.0002] # FACE WITH TEARS OF JOY
+1F603 ; [*1399.0020.0002] # SMILING FACE WITH OPEN MOUTH
+1F604 ; [*139A.0020.0002] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 ; [*139B.0020.0002] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 ; [*139C.0020.0002] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 ; [*139D.0020.0002] # SMILING FACE WITH HALO
+1F608 ; [*139E.0020.0002] # SMILING FACE WITH HORNS
+1F609 ; [*139F.0020.0002] # WINKING FACE
+1F60A ; [*13A0.0020.0002] # SMILING FACE WITH SMILING EYES
+1F60B ; [*13A1.0020.0002] # FACE SAVOURING DELICIOUS FOOD
+1F60C ; [*13A2.0020.0002] # RELIEVED FACE
+1F60D ; [*13A3.0020.0002] # SMILING FACE WITH HEART-SHAPED EYES
+1F60E ; [*13A4.0020.0002] # SMILING FACE WITH SUNGLASSES
+1F60F ; [*13A5.0020.0002] # SMIRKING FACE
+1F610 ; [*13A6.0020.0002] # NEUTRAL FACE
+1F611 ; [*13A7.0020.0002] # EXPRESSIONLESS FACE
+1F612 ; [*13A8.0020.0002] # UNAMUSED FACE
+1F613 ; [*13A9.0020.0002] # FACE WITH COLD SWEAT
+1F614 ; [*13AA.0020.0002] # PENSIVE FACE
+1F615 ; [*13AB.0020.0002] # CONFUSED FACE
+1F616 ; [*13AC.0020.0002] # CONFOUNDED FACE
+1F617 ; [*13AD.0020.0002] # KISSING FACE
+1F618 ; [*13AE.0020.0002] # FACE THROWING A KISS
+1F619 ; [*13AF.0020.0002] # KISSING FACE WITH SMILING EYES
+1F61A ; [*13B0.0020.0002] # KISSING FACE WITH CLOSED EYES
+1F61B ; [*13B1.0020.0002] # FACE WITH STUCK-OUT TONGUE
+1F61C ; [*13B2.0020.0002] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D ; [*13B3.0020.0002] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E ; [*13B4.0020.0002] # DISAPPOINTED FACE
+1F61F ; [*13B5.0020.0002] # WORRIED FACE
+1F620 ; [*13B6.0020.0002] # ANGRY FACE
+1F621 ; [*13B7.0020.0002] # POUTING FACE
+1F622 ; [*13B8.0020.0002] # CRYING FACE
+1F623 ; [*13B9.0020.0002] # PERSEVERING FACE
+1F624 ; [*13BA.0020.0002] # FACE WITH LOOK OF TRIUMPH
+1F625 ; [*13BB.0020.0002] # DISAPPOINTED BUT RELIEVED FACE
+1F626 ; [*13BC.0020.0002] # FROWNING FACE WITH OPEN MOUTH
+1F627 ; [*13BD.0020.0002] # ANGUISHED FACE
+1F628 ; [*13BE.0020.0002] # FEARFUL FACE
+1F629 ; [*13BF.0020.0002] # WEARY FACE
+1F62A ; [*13C0.0020.0002] # SLEEPY FACE
+1F62B ; [*13C1.0020.0002] # TIRED FACE
+1F62C ; [*13C2.0020.0002] # GRIMACING FACE
+1F62D ; [*13C3.0020.0002] # LOUDLY CRYING FACE
+1F62E ; [*13C4.0020.0002] # FACE WITH OPEN MOUTH
+1F62F ; [*13C5.0020.0002] # HUSHED FACE
+1F630 ; [*13C6.0020.0002] # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 ; [*13C7.0020.0002] # FACE SCREAMING IN FEAR
+1F632 ; [*13C8.0020.0002] # ASTONISHED FACE
+1F633 ; [*13C9.0020.0002] # FLUSHED FACE
+1F634 ; [*13CA.0020.0002] # SLEEPING FACE
+1F635 ; [*13CB.0020.0002] # DIZZY FACE
+1F636 ; [*13CC.0020.0002] # FACE WITHOUT MOUTH
+1F637 ; [*13CD.0020.0002] # FACE WITH MEDICAL MASK
+1F638 ; [*13CE.0020.0002] # GRINNING CAT FACE WITH SMILING EYES
+1F639 ; [*13CF.0020.0002] # CAT FACE WITH TEARS OF JOY
+1F63A ; [*13D0.0020.0002] # SMILING CAT FACE WITH OPEN MOUTH
+1F63B ; [*13D1.0020.0002] # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C ; [*13D2.0020.0002] # CAT FACE WITH WRY SMILE
+1F63D ; [*13D3.0020.0002] # KISSING CAT FACE WITH CLOSED EYES
+1F63E ; [*13D4.0020.0002] # POUTING CAT FACE
+1F63F ; [*13D5.0020.0002] # CRYING CAT FACE
+1F640 ; [*13D6.0020.0002] # WEARY CAT FACE
+1F645 ; [*13D7.0020.0002] # FACE WITH NO GOOD GESTURE
+1F646 ; [*13D8.0020.0002] # FACE WITH OK GESTURE
+1F647 ; [*13D9.0020.0002] # PERSON BOWING DEEPLY
+1F648 ; [*13DA.0020.0002] # SEE-NO-EVIL MONKEY
+1F649 ; [*13DB.0020.0002] # HEAR-NO-EVIL MONKEY
+1F64A ; [*13DC.0020.0002] # SPEAK-NO-EVIL MONKEY
+1F64B ; [*13DD.0020.0002] # HAPPY PERSON RAISING ONE HAND
+1F64C ; [*13DE.0020.0002] # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D ; [*13DF.0020.0002] # PERSON FROWNING
+1F64E ; [*13E0.0020.0002] # PERSON WITH POUTING FACE
+1F64F ; [*13E1.0020.0002] # PERSON WITH FOLDED HANDS
+1F680 ; [*13E2.0020.0002] # ROCKET
+1F681 ; [*13E3.0020.0002] # HELICOPTER
+1F682 ; [*13E4.0020.0002] # STEAM LOCOMOTIVE
+1F683 ; [*13E5.0020.0002] # RAILWAY CAR
+1F684 ; [*13E6.0020.0002] # HIGH-SPEED TRAIN
+1F685 ; [*13E7.0020.0002] # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 ; [*13E8.0020.0002] # TRAIN
+1F687 ; [*13E9.0020.0002] # METRO
+1F688 ; [*13EA.0020.0002] # LIGHT RAIL
+1F689 ; [*13EB.0020.0002] # STATION
+1F68A ; [*13EC.0020.0002] # TRAM
+1F68B ; [*13ED.0020.0002] # TRAM CAR
+1F68C ; [*13EE.0020.0002] # BUS
+1F68D ; [*13EF.0020.0002] # ONCOMING BUS
+1F68E ; [*13F0.0020.0002] # TROLLEYBUS
+1F68F ; [*13F1.0020.0002] # BUS STOP
+1F690 ; [*13F2.0020.0002] # MINIBUS
+1F691 ; [*13F3.0020.0002] # AMBULANCE
+1F692 ; [*13F4.0020.0002] # FIRE ENGINE
+1F693 ; [*13F5.0020.0002] # POLICE CAR
+1F694 ; [*13F6.0020.0002] # ONCOMING POLICE CAR
+1F695 ; [*13F7.0020.0002] # TAXI
+1F696 ; [*13F8.0020.0002] # ONCOMING TAXI
+1F697 ; [*13F9.0020.0002] # AUTOMOBILE
+1F698 ; [*13FA.0020.0002] # ONCOMING AUTOMOBILE
+1F699 ; [*13FB.0020.0002] # RECREATIONAL VEHICLE
+1F69A ; [*13FC.0020.0002] # DELIVERY TRUCK
+1F69B ; [*13FD.0020.0002] # ARTICULATED LORRY
+1F69C ; [*13FE.0020.0002] # TRACTOR
+1F69D ; [*13FF.0020.0002] # MONORAIL
+1F69E ; [*1400.0020.0002] # MOUNTAIN RAILWAY
+1F69F ; [*1401.0020.0002] # SUSPENSION RAILWAY
+1F6A0 ; [*1402.0020.0002] # MOUNTAIN CABLEWAY
+1F6A1 ; [*1403.0020.0002] # AERIAL TRAMWAY
+1F6A2 ; [*1404.0020.0002] # SHIP
+1F6A3 ; [*1405.0020.0002] # ROWBOAT
+1F6A4 ; [*1406.0020.0002] # SPEEDBOAT
+1F6A5 ; [*1407.0020.0002] # HORIZONTAL TRAFFIC LIGHT
+1F6A6 ; [*1408.0020.0002] # VERTICAL TRAFFIC LIGHT
+1F6A7 ; [*1409.0020.0002] # CONSTRUCTION SIGN
+1F6A8 ; [*140A.0020.0002] # POLICE CARS REVOLVING LIGHT
+1F6A9 ; [*140B.0020.0002] # TRIANGULAR FLAG ON POST
+1F6AA ; [*140C.0020.0002] # DOOR
+1F6AB ; [*140D.0020.0002] # NO ENTRY SIGN
+1F6AC ; [*140E.0020.0002] # SMOKING SYMBOL
+1F6AD ; [*140F.0020.0002] # NO SMOKING SYMBOL
+1F6AE ; [*1410.0020.0002] # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF ; [*1411.0020.0002] # DO NOT LITTER SYMBOL
+1F6B0 ; [*1412.0020.0002] # POTABLE WATER SYMBOL
+1F6B1 ; [*1413.0020.0002] # NON-POTABLE WATER SYMBOL
+1F6B2 ; [*1414.0020.0002] # BICYCLE
+1F6B3 ; [*1415.0020.0002] # NO BICYCLES
+1F6B4 ; [*1416.0020.0002] # BICYCLIST
+1F6B5 ; [*1417.0020.0002] # MOUNTAIN BICYCLIST
+1F6B6 ; [*1418.0020.0002] # PEDESTRIAN
+1F6B7 ; [*1419.0020.0002] # NO PEDESTRIANS
+1F6B8 ; [*141A.0020.0002] # CHILDREN CROSSING
+1F6B9 ; [*141B.0020.0002] # MENS SYMBOL
+1F6BA ; [*141C.0020.0002] # WOMENS SYMBOL
+1F6BB ; [*141D.0020.0002] # RESTROOM
+1F6BC ; [*141E.0020.0002] # BABY SYMBOL
+1F6BD ; [*141F.0020.0002] # TOILET
+1F6BE ; [*1420.0020.0002] # WATER CLOSET
+1F6BF ; [*1421.0020.0002] # SHOWER
+1F6C0 ; [*1422.0020.0002] # BATH
+1F6C1 ; [*1423.0020.0002] # BATHTUB
+1F6C2 ; [*1424.0020.0002] # PASSPORT CONTROL
+1F6C3 ; [*1425.0020.0002] # CUSTOMS
+1F6C4 ; [*1426.0020.0002] # BAGGAGE CLAIM
+1F6C5 ; [*1427.0020.0002] # LEFT LUGGAGE
+1F700 ; [*1428.0020.0002] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ; [*1429.0020.0002] # ALCHEMICAL SYMBOL FOR AIR
+1F702 ; [*142A.0020.0002] # ALCHEMICAL SYMBOL FOR FIRE
+1F703 ; [*142B.0020.0002] # ALCHEMICAL SYMBOL FOR EARTH
+1F704 ; [*142C.0020.0002] # ALCHEMICAL SYMBOL FOR WATER
+1F705 ; [*142D.0020.0002] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ; [*142E.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ; [*142F.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ; [*1430.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ; [*1431.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ; [*1432.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ; [*1433.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ; [*1434.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ; [*1435.0020.0002] # ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ; [*1436.0020.0002] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ; [*1437.0020.0002] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ; [*1438.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ; [*1439.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ; [*143A.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ; [*143B.0020.0002] # ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ; [*143C.0020.0002] # ALCHEMICAL SYMBOL FOR SALT
+1F715 ; [*143D.0020.0002] # ALCHEMICAL SYMBOL FOR NITRE
+1F716 ; [*143E.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ; [*143F.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ; [*1440.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ; [*1441.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ; [*1442.0020.0002] # ALCHEMICAL SYMBOL FOR GOLD
+1F71B ; [*1443.0020.0002] # ALCHEMICAL SYMBOL FOR SILVER
+1F71C ; [*1444.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ; [*1445.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ; [*1446.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ; [*1447.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ; [*1448.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ; [*1449.0020.0002] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ; [*144A.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ; [*144B.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ; [*144C.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ; [*144D.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ; [*144E.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ; [*144F.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ; [*1450.0020.0002] # ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ; [*1451.0020.0002] # ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ; [*1452.0020.0002] # ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ; [*1453.0020.0002] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ; [*1454.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ; [*1455.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ; [*1456.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ; [*1457.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ; [*1458.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ; [*1459.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ; [*145A.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ; [*145B.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ; [*145C.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ; [*145D.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ; [*145E.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ; [*145F.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ; [*1460.0020.0002] # ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ; [*1461.0020.0002] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ; [*1462.0020.0002] # ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ; [*1463.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ; [*1464.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ; [*1465.0020.0002] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ; [*1466.0020.0002] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ; [*1467.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ; [*1468.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ; [*1469.0020.0002] # ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ; [*146A.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX
+1F743 ; [*146B.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ; [*146C.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ; [*146D.0020.0002] # ALCHEMICAL SYMBOL FOR ALUM
+1F746 ; [*146E.0020.0002] # ALCHEMICAL SYMBOL FOR OIL
+1F747 ; [*146F.0020.0002] # ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ; [*1470.0020.0002] # ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ; [*1471.0020.0002] # ALCHEMICAL SYMBOL FOR GUM
+1F74A ; [*1472.0020.0002] # ALCHEMICAL SYMBOL FOR WAX
+1F74B ; [*1473.0020.0002] # ALCHEMICAL SYMBOL FOR POWDER
+1F74C ; [*1474.0020.0002] # ALCHEMICAL SYMBOL FOR CALX
+1F74D ; [*1475.0020.0002] # ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ; [*1476.0020.0002] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ; [*1477.0020.0002] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ; [*1478.0020.0002] # ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ; [*1479.0020.0002] # ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ; [*147A.0020.0002] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ; [*147B.0020.0002] # ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ; [*147C.0020.0002] # ALCHEMICAL SYMBOL FOR SOAP
+1F755 ; [*147D.0020.0002] # ALCHEMICAL SYMBOL FOR URINE
+1F756 ; [*147E.0020.0002] # ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ; [*147F.0020.0002] # ALCHEMICAL SYMBOL FOR ASHES
+1F758 ; [*1480.0020.0002] # ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ; [*1481.0020.0002] # ALCHEMICAL SYMBOL FOR BRICK
+1F75A ; [*1482.0020.0002] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ; [*1483.0020.0002] # ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ; [*1484.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ; [*1485.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ; [*1486.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ; [*1487.0020.0002] # ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ; [*1488.0020.0002] # ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ; [*1489.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ; [*148A.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ; [*148B.0020.0002] # ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ; [*148C.0020.0002] # ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ; [*148D.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ; [*148E.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ; [*148F.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ; [*1490.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ; [*1491.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ; [*1492.0020.0002] # ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ; [*1493.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ; [*1494.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ; [*1495.0020.0002] # ALCHEMICAL SYMBOL FOR RETORT
+1F76E ; [*1496.0020.0002] # ALCHEMICAL SYMBOL FOR HOUR
+1F76F ; [*1497.0020.0002] # ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ; [*1498.0020.0002] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ; [*1499.0020.0002] # ALCHEMICAL SYMBOL FOR MONTH
+1F772 ; [*149A.0020.0002] # ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ; [*149B.0020.0002] # ALCHEMICAL SYMBOL FOR HALF OUNCE
+0332 ; [.0000.0021.0002] # COMBINING LOW LINE
+0313 ; [.0000.0022.0002] # COMBINING COMMA ABOVE
+0343 ; [.0000.0022.0002] # COMBINING GREEK KORONIS
+0486 ; [.0000.0022.0002] # COMBINING CYRILLIC PSILI PNEUMATA
+2CF1 ; [.0000.0022.0002] # COPTIC COMBINING SPIRITUS LENIS
+0314 ; [.0000.0023.0002] # COMBINING REVERSED COMMA ABOVE
+0485 ; [.0000.0023.0002] # COMBINING CYRILLIC DASIA PNEUMATA
+2CF0 ; [.0000.0023.0002] # COPTIC COMBINING SPIRITUS ASPER
+0301 ; [.0000.0024.0002] # COMBINING ACUTE ACCENT
+0341 ; [.0000.0024.0002] # COMBINING ACUTE TONE MARK
+0954 ; [.0000.0024.0002] # DEVANAGARI ACUTE ACCENT
+0300 ; [.0000.0025.0002] # COMBINING GRAVE ACCENT
+0340 ; [.0000.0025.0002] # COMBINING GRAVE TONE MARK
+0953 ; [.0000.0025.0002] # DEVANAGARI GRAVE ACCENT
+0306 ; [.0000.0026.0002] # COMBINING BREVE
+0302 ; [.0000.0027.0002] # COMBINING CIRCUMFLEX ACCENT
+030C ; [.0000.0028.0002] # COMBINING CARON
+030A ; [.0000.0029.0002] # COMBINING RING ABOVE
+0342 ; [.0000.002A.0002] # COMBINING GREEK PERISPOMENI
+0308 ; [.0000.002B.0002] # COMBINING DIAERESIS
+0344 ; [.0000.002B.0002][.0000.0024.0002] # COMBINING GREEK DIALYTIKA TONOS
+030B ; [.0000.002C.0002] # COMBINING DOUBLE ACUTE ACCENT
+0303 ; [.0000.002D.0002] # COMBINING TILDE
+0307 ; [.0000.002E.0002] # COMBINING DOT ABOVE
+0338 ; [.0000.002F.0002] # COMBINING LONG SOLIDUS OVERLAY
+0327 ; [.0000.0030.0002] # COMBINING CEDILLA
+0328 ; [.0000.0031.0002] # COMBINING OGONEK
+0304 ; [.0000.0032.0002] # COMBINING MACRON
+030D ; [.0000.0033.0002] # COMBINING VERTICAL LINE ABOVE
+030E ; [.0000.0033.0002] # COMBINING DOUBLE VERTICAL LINE ABOVE
+0312 ; [.0000.0033.0002] # COMBINING TURNED COMMA ABOVE
+0315 ; [.0000.0033.0002] # COMBINING COMMA ABOVE RIGHT
+031A ; [.0000.0033.0002] # COMBINING LEFT ANGLE ABOVE
+033D ; [.0000.0033.0002] # COMBINING X ABOVE
+033E ; [.0000.0033.0002] # COMBINING VERTICAL TILDE
+033F ; [.0000.0033.0002] # COMBINING DOUBLE OVERLINE
+0346 ; [.0000.0033.0002] # COMBINING BRIDGE ABOVE
+034A ; [.0000.0033.0002] # COMBINING NOT TILDE ABOVE
+034B ; [.0000.0033.0002] # COMBINING HOMOTHETIC ABOVE
+034C ; [.0000.0033.0002] # COMBINING ALMOST EQUAL TO ABOVE
+0350 ; [.0000.0033.0002] # COMBINING RIGHT ARROWHEAD ABOVE
+0351 ; [.0000.0033.0002] # COMBINING LEFT HALF RING ABOVE
+0352 ; [.0000.0033.0002] # COMBINING FERMATA
+0357 ; [.0000.0033.0002] # COMBINING RIGHT HALF RING ABOVE
+035B ; [.0000.0033.0002] # COMBINING ZIGZAG ABOVE
+035D ; [.0000.0033.0002] # COMBINING DOUBLE BREVE
+035E ; [.0000.0033.0002] # COMBINING DOUBLE MACRON
+0484 ; [.0000.0033.0002] # COMBINING CYRILLIC PALATALIZATION
+0487 ; [.0000.0033.0002] # COMBINING CYRILLIC POKRYTIE
+0741 ; [.0000.0033.0002] # SYRIAC QUSHSHAYA
+0745 ; [.0000.0033.0002] # SYRIAC THREE DOTS ABOVE
+17CB ; [.0000.0033.0002] # KHMER SIGN BANTOC
+17CC ; [.0000.0033.0002] # KHMER SIGN ROBAT
+17CD ; [.0000.0033.0002] # KHMER SIGN TOANDAKHIAT
+17CE ; [.0000.0033.0002] # KHMER SIGN KAKABAT
+17CF ; [.0000.0033.0002] # KHMER SIGN AHSDA
+17D0 ; [.0000.0033.0002] # KHMER SIGN SAMYOK SANNYA
+17D1 ; [.0000.0033.0002] # KHMER SIGN VIRIAM
+17DD ; [.0000.0033.0002] # KHMER SIGN ATTHACAN
+1DC0 ; [.0000.0033.0002] # COMBINING DOTTED GRAVE ACCENT
+1DC1 ; [.0000.0033.0002] # COMBINING DOTTED ACUTE ACCENT
+1DC3 ; [.0000.0033.0002] # COMBINING SUSPENSION MARK
+1DC4 ; [.0000.0033.0002] # COMBINING MACRON-ACUTE
+1DC5 ; [.0000.0033.0002] # COMBINING GRAVE-MACRON
+1DC6 ; [.0000.0033.0002] # COMBINING MACRON-GRAVE
+1DC7 ; [.0000.0033.0002] # COMBINING ACUTE-MACRON
+1DC8 ; [.0000.0033.0002] # COMBINING GRAVE-ACUTE-GRAVE
+1DC9 ; [.0000.0033.0002] # COMBINING ACUTE-GRAVE-ACUTE
+1DCB ; [.0000.0033.0002] # COMBINING BREVE-MACRON
+1DCC ; [.0000.0033.0002] # COMBINING MACRON-BREVE
+1DCD ; [.0000.0033.0002] # COMBINING DOUBLE CIRCUMFLEX ABOVE
+1DCE ; [.0000.0033.0002] # COMBINING OGONEK ABOVE
+1DD1 ; [.0000.0033.0002] # COMBINING UR ABOVE
+1DFE ; [.0000.0033.0002] # COMBINING LEFT ARROWHEAD ABOVE
+20F0 ; [.0000.0033.0002] # COMBINING ASTERISK ABOVE
+2CEF ; [.0000.0033.0002] # COPTIC COMBINING NI ABOVE
+A67C ; [.0000.0033.0002] # COMBINING CYRILLIC KAVYKA
+A67D ; [.0000.0033.0002] # COMBINING CYRILLIC PAYEROK
+0316 ; [.0000.0034.0002] # COMBINING GRAVE ACCENT BELOW
+0317 ; [.0000.0034.0002] # COMBINING ACUTE ACCENT BELOW
+0318 ; [.0000.0034.0002] # COMBINING LEFT TACK BELOW
+0319 ; [.0000.0034.0002] # COMBINING RIGHT TACK BELOW
+031C ; [.0000.0034.0002] # COMBINING LEFT HALF RING BELOW
+031D ; [.0000.0034.0002] # COMBINING UP TACK BELOW
+031E ; [.0000.0034.0002] # COMBINING DOWN TACK BELOW
+031F ; [.0000.0034.0002] # COMBINING PLUS SIGN BELOW
+0320 ; [.0000.0034.0002] # COMBINING MINUS SIGN BELOW
+0329 ; [.0000.0034.0002] # COMBINING VERTICAL LINE BELOW
+032A ; [.0000.0034.0002] # COMBINING BRIDGE BELOW
+032B ; [.0000.0034.0002] # COMBINING INVERTED DOUBLE ARCH BELOW
+032C ; [.0000.0034.0002] # COMBINING CARON BELOW
+032F ; [.0000.0034.0002] # COMBINING INVERTED BREVE BELOW
+0333 ; [.0000.0034.0002] # COMBINING DOUBLE LOW LINE
+033A ; [.0000.0034.0002] # COMBINING INVERTED BRIDGE BELOW
+033B ; [.0000.0034.0002] # COMBINING SQUARE BELOW
+033C ; [.0000.0034.0002] # COMBINING SEAGULL BELOW
+0347 ; [.0000.0034.0002] # COMBINING EQUALS SIGN BELOW
+0348 ; [.0000.0034.0002] # COMBINING DOUBLE VERTICAL LINE BELOW
+0349 ; [.0000.0034.0002] # COMBINING LEFT ANGLE BELOW
+034D ; [.0000.0034.0002] # COMBINING LEFT RIGHT ARROW BELOW
+034E ; [.0000.0034.0002] # COMBINING UPWARDS ARROW BELOW
+0353 ; [.0000.0034.0002] # COMBINING X BELOW
+0354 ; [.0000.0034.0002] # COMBINING LEFT ARROWHEAD BELOW
+0355 ; [.0000.0034.0002] # COMBINING RIGHT ARROWHEAD BELOW
+0356 ; [.0000.0034.0002] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+0359 ; [.0000.0034.0002] # COMBINING ASTERISK BELOW
+035A ; [.0000.0034.0002] # COMBINING DOUBLE RING BELOW
+035C ; [.0000.0034.0002] # COMBINING DOUBLE BREVE BELOW
+035F ; [.0000.0034.0002] # COMBINING DOUBLE MACRON BELOW
+0362 ; [.0000.0034.0002] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
+0742 ; [.0000.0034.0002] # SYRIAC RUKKAKHA
+0746 ; [.0000.0034.0002] # SYRIAC THREE DOTS BELOW
+0859 ; [.0000.0034.0002] # MANDAIC AFFRICATION MARK
+085A ; [.0000.0034.0002] # MANDAIC VOCALIZATION MARK
+085B ; [.0000.0034.0002] # MANDAIC GEMINATION MARK
+1DC2 ; [.0000.0034.0002] # COMBINING SNAKE BELOW
+1DCF ; [.0000.0034.0002] # COMBINING ZIGZAG BELOW
+1DD0 ; [.0000.0034.0002] # COMBINING IS BELOW
+1DFC ; [.0000.0034.0002] # COMBINING DOUBLE INVERTED BREVE BELOW
+1DFD ; [.0000.0034.0002] # COMBINING ALMOST EQUAL TO BELOW
+1DFF ; [.0000.0034.0002] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+20EC ; [.0000.0034.0002] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+20ED ; [.0000.0034.0002] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
+20EE ; [.0000.0034.0002] # COMBINING LEFT ARROW BELOW
+20EF ; [.0000.0034.0002] # COMBINING RIGHT ARROW BELOW
+10A0D ; [.0000.0034.0002] # KHAROSHTHI SIGN DOUBLE RING BELOW
+0336 ; [.0000.0035.0002] # COMBINING LONG STROKE OVERLAY
+0337 ; [.0000.0035.0002] # COMBINING SHORT SOLIDUS OVERLAY
+20D8 ; [.0000.0035.0002] # COMBINING RING OVERLAY
+20D9 ; [.0000.0035.0002] # COMBINING CLOCKWISE RING OVERLAY
+20DA ; [.0000.0035.0002] # COMBINING ANTICLOCKWISE RING OVERLAY
+20E5 ; [.0000.0035.0002] # COMBINING REVERSE SOLIDUS OVERLAY
+20EA ; [.0000.0035.0002] # COMBINING LEFTWARDS ARROW OVERLAY
+20EB ; [.0000.0035.0002] # COMBINING LONG DOUBLE SOLIDUS OVERLAY
+20DD ; [.0000.0036.0002] # COMBINING ENCLOSING CIRCLE
+20DE ; [.0000.0036.0002] # COMBINING ENCLOSING SQUARE
+20DF ; [.0000.0036.0002] # COMBINING ENCLOSING DIAMOND
+20E0 ; [.0000.0036.0002] # COMBINING ENCLOSING CIRCLE BACKSLASH
+20E2 ; [.0000.0036.0002] # COMBINING ENCLOSING SCREEN
+20E3 ; [.0000.0036.0002] # COMBINING ENCLOSING KEYCAP
+20E4 ; [.0000.0036.0002] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
+3099 ; [.0000.0037.0002] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+FF9E ; [.0000.0037.0012] # HALFWIDTH KATAKANA VOICED SOUND MARK
+309A ; [.0000.0038.0002] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+FF9F ; [.0000.0038.0012] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+0335 ; [.0000.0039.0002] # COMBINING SHORT STROKE OVERLAY
+0305 ; [.0000.003A.0002] # COMBINING OVERLINE
+0309 ; [.0000.003B.0002] # COMBINING HOOK ABOVE
+030F ; [.0000.003C.0002] # COMBINING DOUBLE GRAVE ACCENT
+0310 ; [.0000.003D.0002] # COMBINING CANDRABINDU
+0311 ; [.0000.003E.0002] # COMBINING INVERTED BREVE
+031B ; [.0000.003F.0002] # COMBINING HORN
+0321 ; [.0000.0040.0002] # COMBINING PALATALIZED HOOK BELOW
+0322 ; [.0000.0041.0002] # COMBINING RETROFLEX HOOK BELOW
+0323 ; [.0000.0042.0002] # COMBINING DOT BELOW
+0324 ; [.0000.0043.0002] # COMBINING DIAERESIS BELOW
+0325 ; [.0000.0044.0002] # COMBINING RING BELOW
+0326 ; [.0000.0045.0002] # COMBINING COMMA BELOW
+032D ; [.0000.0046.0002] # COMBINING CIRCUMFLEX ACCENT BELOW
+032E ; [.0000.0047.0002] # COMBINING BREVE BELOW
+0330 ; [.0000.0048.0002] # COMBINING TILDE BELOW
+0331 ; [.0000.0049.0002] # COMBINING MACRON BELOW
+0334 ; [.0000.004A.0002] # COMBINING TILDE OVERLAY
+0339 ; [.0000.004B.0002] # COMBINING RIGHT HALF RING BELOW
+0345 ; [.0000.004C.0002] # COMBINING GREEK YPOGEGRAMMENI
+0358 ; [.0000.004D.0002] # COMBINING DOT ABOVE RIGHT
+0360 ; [.0000.004E.0002] # COMBINING DOUBLE TILDE
+FE22 ; [.0000.004E.0002] # COMBINING DOUBLE TILDE LEFT HALF
+0361 ; [.0000.004F.0002] # COMBINING DOUBLE INVERTED BREVE
+FE20 ; [.0000.004F.0002] # COMBINING LIGATURE LEFT HALF
+0483 ; [.0000.0050.0002] # COMBINING CYRILLIC TITLO
+A66F ; [.0000.0051.0002] # COMBINING CYRILLIC VZMET
+05B0 ; [.0000.0052.0002] # HEBREW POINT SHEVA
+05B1 ; [.0000.0053.0002] # HEBREW POINT HATAF SEGOL
+05B2 ; [.0000.0054.0002] # HEBREW POINT HATAF PATAH
+05B3 ; [.0000.0055.0002] # HEBREW POINT HATAF QAMATS
+05B4 ; [.0000.0056.0002] # HEBREW POINT HIRIQ
+05B5 ; [.0000.0057.0002] # HEBREW POINT TSERE
+05B6 ; [.0000.0058.0002] # HEBREW POINT SEGOL
+05B7 ; [.0000.0059.0002] # HEBREW POINT PATAH
+05B8 ; [.0000.005A.0002] # HEBREW POINT QAMATS
+05C7 ; [.0000.005A.0002] # HEBREW POINT QAMATS QATAN
+05B9 ; [.0000.005B.0002] # HEBREW POINT HOLAM
+05BA ; [.0000.005B.0002] # HEBREW POINT HOLAM HASER FOR VAV
+05BB ; [.0000.005C.0002] # HEBREW POINT QUBUTS
+05C2 ; [.0000.005D.0002] # HEBREW POINT SIN DOT
+05C1 ; [.0000.005E.0002] # HEBREW POINT SHIN DOT
+05BC ; [.0000.005F.0002] # HEBREW POINT DAGESH OR MAPIQ
+05BF ; [.0000.0060.0002] # HEBREW POINT RAFE
+FB1E ; [.0000.0061.0002] # HEBREW POINT JUDEO-SPANISH VARIKA
+081C ; [.0000.0062.0002] # SAMARITAN VOWEL SIGN LONG E
+081D ; [.0000.0062.0002] # SAMARITAN VOWEL SIGN E
+081E ; [.0000.0063.0002] # SAMARITAN VOWEL SIGN OVERLONG AA
+081F ; [.0000.0063.0002] # SAMARITAN VOWEL SIGN LONG AA
+0820 ; [.0000.0063.0002] # SAMARITAN VOWEL SIGN AA
+0821 ; [.0000.0064.0002] # SAMARITAN VOWEL SIGN OVERLONG A
+0822 ; [.0000.0064.0002] # SAMARITAN VOWEL SIGN LONG A
+0823 ; [.0000.0064.0002] # SAMARITAN VOWEL SIGN A
+0824 ; [.0000.0065.0002] # SAMARITAN MODIFIER LETTER SHORT A
+0825 ; [.0000.0065.0002] # SAMARITAN VOWEL SIGN SHORT A
+0826 ; [.0000.0066.0002] # SAMARITAN VOWEL SIGN LONG U
+0827 ; [.0000.0066.0002] # SAMARITAN VOWEL SIGN U
+0828 ; [.0000.0067.0002] # SAMARITAN MODIFIER LETTER I
+0829 ; [.0000.0067.0002] # SAMARITAN VOWEL SIGN LONG I
+082A ; [.0000.0067.0002] # SAMARITAN VOWEL SIGN I
+082B ; [.0000.0068.0002] # SAMARITAN VOWEL SIGN O
+082C ; [.0000.0069.0002] # SAMARITAN VOWEL SIGN SUKUN
+0818 ; [.0000.006A.0002] # SAMARITAN MARK OCCLUSION
+0819 ; [.0000.006B.0002] # SAMARITAN MARK DAGESH
+082D ; [.0000.006C.0002] # SAMARITAN MARK NEQUDAA
+064B ; [.0000.006D.0002] # ARABIC FATHATAN
+FE71 ; [.0000.006D.0018] # ARABIC TATWEEL WITH FATHATAN ABOVE
+FE70 ; [.0000.006D.001A] # ARABIC FATHATAN ISOLATED FORM
+08F0 ; [.0000.006E.0002] # ARABIC OPEN FATHATAN
+08E7 ; [.0000.006F.0002] # ARABIC CURLY FATHATAN
+064C ; [.0000.0070.0002] # ARABIC DAMMATAN
+FE72 ; [.0000.0070.001A] # ARABIC DAMMATAN ISOLATED FORM
+FC5E ; [.0000.0070.001A][.0000.0080.001A] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+08F1 ; [.0000.0071.0002] # ARABIC OPEN DAMMATAN
+08E8 ; [.0000.0072.0002] # ARABIC CURLY DAMMATAN
+064D ; [.0000.0073.0002] # ARABIC KASRATAN
+FE74 ; [.0000.0073.001A] # ARABIC KASRATAN ISOLATED FORM
+FC5F ; [.0000.0073.001A][.0000.0080.001A] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+08F2 ; [.0000.0074.0002] # ARABIC OPEN KASRATAN
+08E9 ; [.0000.0075.0002] # ARABIC CURLY KASRATAN
+064E ; [.0000.0076.0002] # ARABIC FATHA
+FE77 ; [.0000.0076.0018] # ARABIC FATHA MEDIAL FORM
+FE76 ; [.0000.0076.001A] # ARABIC FATHA ISOLATED FORM
+FCF2 ; [.0000.0076.0018][.0000.0080.0018] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+FC60 ; [.0000.0076.001A][.0000.0080.001A] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+08E4 ; [.0000.0077.0002] # ARABIC CURLY FATHA
+08F4 ; [.0000.0078.0002] # ARABIC FATHA WITH RING
+08F5 ; [.0000.0079.0002] # ARABIC FATHA WITH DOT ABOVE
+064F ; [.0000.007A.0002] # ARABIC DAMMA
+FE79 ; [.0000.007A.0018] # ARABIC DAMMA MEDIAL FORM
+FE78 ; [.0000.007A.001A] # ARABIC DAMMA ISOLATED FORM
+FCF3 ; [.0000.007A.0018][.0000.0080.0018] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+FC61 ; [.0000.007A.001A][.0000.0080.001A] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+08E5 ; [.0000.007B.0002] # ARABIC CURLY DAMMA
+08FE ; [.0000.007C.0002] # ARABIC DAMMA WITH DOT
+0650 ; [.0000.007D.0002] # ARABIC KASRA
+FE7B ; [.0000.007D.0018] # ARABIC KASRA MEDIAL FORM
+FE7A ; [.0000.007D.001A] # ARABIC KASRA ISOLATED FORM
+FCF4 ; [.0000.007D.0018][.0000.0080.0018] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+FC62 ; [.0000.007D.001A][.0000.0080.001A] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+08E6 ; [.0000.007E.0002] # ARABIC CURLY KASRA
+08F6 ; [.0000.007F.0002] # ARABIC KASRA WITH DOT BELOW
+0651 ; [.0000.0080.0002] # ARABIC SHADDA
+FE7D ; [.0000.0080.0018] # ARABIC SHADDA MEDIAL FORM
+FE7C ; [.0000.0080.001A] # ARABIC SHADDA ISOLATED FORM
+FC63 ; [.0000.0080.001A][.0000.0096.001A] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+0652 ; [.0000.0081.0002] # ARABIC SUKUN
+FE7F ; [.0000.0081.0018] # ARABIC SUKUN MEDIAL FORM
+FE7E ; [.0000.0081.001A] # ARABIC SUKUN ISOLATED FORM
+0653 ; [.0000.0082.0002] # ARABIC MADDAH ABOVE
+0654 ; [.0000.0083.0002] # ARABIC HAMZA ABOVE
+0655 ; [.0000.0084.0002] # ARABIC HAMZA BELOW
+065F ; [.0000.0085.0002] # ARABIC WAVY HAMZA BELOW
+0656 ; [.0000.0086.0002] # ARABIC SUBSCRIPT ALEF
+0657 ; [.0000.0087.0002] # ARABIC INVERTED DAMMA
+0658 ; [.0000.0088.0002] # ARABIC MARK NOON GHUNNA
+0659 ; [.0000.0089.0002] # ARABIC ZWARAKAY
+065A ; [.0000.008A.0002] # ARABIC VOWEL SIGN SMALL V ABOVE
+065B ; [.0000.008B.0002] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+065C ; [.0000.008C.0002] # ARABIC VOWEL SIGN DOT BELOW
+065D ; [.0000.008D.0002] # ARABIC REVERSED DAMMA
+065E ; [.0000.008E.0002] # ARABIC FATHA WITH TWO DOTS
+08F7 ; [.0000.008F.0002] # ARABIC LEFT ARROWHEAD ABOVE
+08F8 ; [.0000.0090.0002] # ARABIC RIGHT ARROWHEAD ABOVE
+08FD ; [.0000.0091.0002] # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+08FB ; [.0000.0092.0002] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC ; [.0000.0093.0002] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08F9 ; [.0000.0094.0002] # ARABIC LEFT ARROWHEAD BELOW
+08FA ; [.0000.0095.0002] # ARABIC RIGHT ARROWHEAD BELOW
+0670 ; [.0000.0096.0002] # ARABIC LETTER SUPERSCRIPT ALEF
+0711 ; [.0000.0097.0002] # SYRIAC LETTER SUPERSCRIPT ALAPH
+0730 ; [.0000.0098.0002] # SYRIAC PTHAHA ABOVE
+0731 ; [.0000.0099.0002] # SYRIAC PTHAHA BELOW
+0732 ; [.0000.009A.0002] # SYRIAC PTHAHA DOTTED
+0733 ; [.0000.009B.0002] # SYRIAC ZQAPHA ABOVE
+0734 ; [.0000.009C.0002] # SYRIAC ZQAPHA BELOW
+0735 ; [.0000.009D.0002] # SYRIAC ZQAPHA DOTTED
+0736 ; [.0000.009E.0002] # SYRIAC RBASA ABOVE
+0737 ; [.0000.009F.0002] # SYRIAC RBASA BELOW
+0738 ; [.0000.00A0.0002] # SYRIAC DOTTED ZLAMA HORIZONTAL
+0739 ; [.0000.00A1.0002] # SYRIAC DOTTED ZLAMA ANGULAR
+073A ; [.0000.00A2.0002] # SYRIAC HBASA ABOVE
+073B ; [.0000.00A3.0002] # SYRIAC HBASA BELOW
+073C ; [.0000.00A4.0002] # SYRIAC HBASA-ESASA DOTTED
+073D ; [.0000.00A5.0002] # SYRIAC ESASA ABOVE
+073E ; [.0000.00A6.0002] # SYRIAC ESASA BELOW
+073F ; [.0000.00A7.0002] # SYRIAC RWAHA
+07EB ; [.0000.00A8.0002] # NKO COMBINING SHORT HIGH TONE
+07EC ; [.0000.00A9.0002] # NKO COMBINING SHORT LOW TONE
+07ED ; [.0000.00AA.0002] # NKO COMBINING SHORT RISING TONE
+07EE ; [.0000.00AB.0002] # NKO COMBINING LONG DESCENDING TONE
+07EF ; [.0000.00AC.0002] # NKO COMBINING LONG HIGH TONE
+07F0 ; [.0000.00AD.0002] # NKO COMBINING LONG LOW TONE
+07F1 ; [.0000.00AE.0002] # NKO COMBINING LONG RISING TONE
+07F2 ; [.0000.00AF.0002] # NKO COMBINING NASALIZATION MARK
+07F3 ; [.0000.00B0.0002] # NKO COMBINING DOUBLE DOT ABOVE
+135F ; [.0000.00B1.0002] # ETHIOPIC COMBINING GEMINATION MARK
+135E ; [.0000.00B2.0002] # ETHIOPIC COMBINING VOWEL LENGTH MARK
+135D ; [.0000.00B3.0002] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
+A6F0 ; [.0000.00B4.0002] # BAMUM COMBINING MARK KOQNDON
+A6F1 ; [.0000.00B5.0002] # BAMUM COMBINING MARK TUKWENTIS
+093C ; [.0000.00B6.0002] # DEVANAGARI SIGN NUKTA
+09BC ; [.0000.00B6.0002] # BENGALI SIGN NUKTA
+0A3C ; [.0000.00B6.0002] # GURMUKHI SIGN NUKTA
+0ABC ; [.0000.00B6.0002] # GUJARATI SIGN NUKTA
+0B3C ; [.0000.00B6.0002] # ORIYA SIGN NUKTA
+0CBC ; [.0000.00B6.0002] # KANNADA SIGN NUKTA
+1B34 ; [.0000.00B6.0002] # BALINESE SIGN REREKAN
+1BE6 ; [.0000.00B6.0002] # BATAK SIGN TOMPI
+1C37 ; [.0000.00B6.0002] # LEPCHA SIGN NUKTA
+A9B3 ; [.0000.00B6.0002] # JAVANESE SIGN CECAK TELU
+110BA ; [.0000.00B6.0002] # KAITHI SIGN NUKTA
+116B7 ; [.0000.00B6.0002] # TAKRI SIGN NUKTA
+0900 ; [.0000.00B7.0002] # DEVANAGARI SIGN INVERTED CANDRABINDU
+0901 ; [.0000.00B7.0002] # DEVANAGARI SIGN CANDRABINDU
+0981 ; [.0000.00B7.0002] # BENGALI SIGN CANDRABINDU
+0A01 ; [.0000.00B7.0002] # GURMUKHI SIGN ADAK BINDI
+0A81 ; [.0000.00B7.0002] # GUJARATI SIGN CANDRABINDU
+0B01 ; [.0000.00B7.0002] # ORIYA SIGN CANDRABINDU
+0C01 ; [.0000.00B7.0002] # TELUGU SIGN CANDRABINDU
+1B00 ; [.0000.00B7.0002] # BALINESE SIGN ULU RICEM
+1B01 ; [.0000.00B7.0002] # BALINESE SIGN ULU CANDRA
+A980 ; [.0000.00B7.0002] # JAVANESE SIGN PANYANGGA
+11000 ; [.0000.00B7.0002] # BRAHMI SIGN CANDRABINDU
+11080 ; [.0000.00B7.0002] # KAITHI SIGN CANDRABINDU
+11100 ; [.0000.00B7.0002] # CHAKMA SIGN CANDRABINDU
+11180 ; [.0000.00B7.0002] # SHARADA SIGN CANDRABINDU
+0902 ; [.0000.00B8.0002] # DEVANAGARI SIGN ANUSVARA
+0982 ; [.0000.00B8.0002] # BENGALI SIGN ANUSVARA
+0A02 ; [.0000.00B8.0002] # GURMUKHI SIGN BINDI
+0A82 ; [.0000.00B8.0002] # GUJARATI SIGN ANUSVARA
+0B02 ; [.0000.00B8.0002] # ORIYA SIGN ANUSVARA
+0B82 ; [.0000.00B8.0002] # TAMIL SIGN ANUSVARA
+0C02 ; [.0000.00B8.0002] # TELUGU SIGN ANUSVARA
+0C82 ; [.0000.00B8.0002] # KANNADA SIGN ANUSVARA
+0D02 ; [.0000.00B8.0002] # MALAYALAM SIGN ANUSVARA
+0D82 ; [.0000.00B8.0002] # SINHALA SIGN ANUSVARAYA
+0F7E ; [.0000.00B8.0002] # TIBETAN SIGN RJES SU NGA RO
+1036 ; [.0000.00B8.0002] # MYANMAR SIGN ANUSVARA
+17C6 ; [.0000.00B8.0002] # KHMER SIGN NIKAHIT
+1A74 ; [.0000.00B8.0002] # TAI THAM SIGN MAI KANG
+1B02 ; [.0000.00B8.0002] # BALINESE SIGN CECEK
+1B80 ; [.0000.00B8.0002] # SUNDANESE SIGN PANYECEK
+1CED ; [.0000.00B8.0002] # VEDIC SIGN TIRYAK
+A80B ; [.0000.00B8.0002] # SYLOTI NAGRI SIGN ANUSVARA
+A880 ; [.0000.00B8.0002] # SAURASHTRA SIGN ANUSVARA
+A981 ; [.0000.00B8.0002] # JAVANESE SIGN CECAK
+10A0E ; [.0000.00B8.0002] # KHAROSHTHI SIGN ANUSVARA
+11001 ; [.0000.00B8.0002] # BRAHMI SIGN ANUSVARA
+11081 ; [.0000.00B8.0002] # KAITHI SIGN ANUSVARA
+11101 ; [.0000.00B8.0002] # CHAKMA SIGN ANUSVARA
+11181 ; [.0000.00B8.0002] # SHARADA SIGN ANUSVARA
+116AB ; [.0000.00B8.0002] # TAKRI SIGN ANUSVARA
+0903 ; [.0000.00B9.0002] # DEVANAGARI SIGN VISARGA
+0983 ; [.0000.00B9.0002] # BENGALI SIGN VISARGA
+0A03 ; [.0000.00B9.0002] # GURMUKHI SIGN VISARGA
+0A83 ; [.0000.00B9.0002] # GUJARATI SIGN VISARGA
+0B03 ; [.0000.00B9.0002] # ORIYA SIGN VISARGA
+0C03 ; [.0000.00B9.0002] # TELUGU SIGN VISARGA
+0C83 ; [.0000.00B9.0002] # KANNADA SIGN VISARGA
+0D03 ; [.0000.00B9.0002] # MALAYALAM SIGN VISARGA
+0D83 ; [.0000.00B9.0002] # SINHALA SIGN VISARGAYA
+0F7F ; [.0000.00B9.0002] # TIBETAN SIGN RNAM BCAD
+1038 ; [.0000.00B9.0002] # MYANMAR SIGN VISARGA
+17C7 ; [.0000.00B9.0002] # KHMER SIGN REAHMUK
+1B04 ; [.0000.00B9.0002] # BALINESE SIGN BISAH
+1B82 ; [.0000.00B9.0002] # SUNDANESE SIGN PANGWISAD
+1CF2 ; [.0000.00B9.0002] # VEDIC SIGN ARDHAVISARGA
+1CF3 ; [.0000.00B9.0002] # VEDIC SIGN ROTATED ARDHAVISARGA
+A881 ; [.0000.00B9.0002] # SAURASHTRA SIGN VISARGA
+A983 ; [.0000.00B9.0002] # JAVANESE SIGN WIGNYAN
+10A0F ; [.0000.00B9.0002] # KHAROSHTHI SIGN VISARGA
+11002 ; [.0000.00B9.0002] # BRAHMI SIGN VISARGA
+11082 ; [.0000.00B9.0002] # KAITHI SIGN VISARGA
+11102 ; [.0000.00B9.0002] # CHAKMA SIGN VISARGA
+11182 ; [.0000.00B9.0002] # SHARADA SIGN VISARGA
+116AC ; [.0000.00B9.0002] # TAKRI SIGN VISARGA
+0A70 ; [.0000.00BA.0002] # GURMUKHI TIPPI
+0A71 ; [.0000.00BB.0002] # GURMUKHI ADDAK
+1B03 ; [.0000.00BC.0002] # BALINESE SIGN SURANG
+A982 ; [.0000.00BD.0002] # JAVANESE SIGN LAYAR
+1B81 ; [.0000.00BE.0002] # SUNDANESE SIGN PANGLAYAR
+ABEC ; [.0000.00BF.0002] # MEETEI MAYEK LUM IYEK
+10A38 ; [.0000.00C0.0002] # KHAROSHTHI SIGN BAR ABOVE
+10A39 ; [.0000.00C1.0002] # KHAROSHTHI SIGN CAUDA
+10A3A ; [.0000.00C2.0002] # KHAROSHTHI SIGN DOT BELOW
+0E4E ; [.0000.00C3.0002] # THAI CHARACTER YAMAKKAN
+0E47 ; [.0000.00C4.0002] # THAI CHARACTER MAITAIKHU
+0E48 ; [.0000.00C5.0002] # THAI CHARACTER MAI EK
+0E49 ; [.0000.00C6.0002] # THAI CHARACTER MAI THO
+0E4A ; [.0000.00C7.0002] # THAI CHARACTER MAI TRI
+0E4B ; [.0000.00C8.0002] # THAI CHARACTER MAI CHATTAWA
+0E4C ; [.0000.00C9.0002] # THAI CHARACTER THANTHAKHAT
+0E4D ; [.0000.00CA.0002] # THAI CHARACTER NIKHAHIT
+0EC8 ; [.0000.00CB.0002] # LAO TONE MAI EK
+0EC9 ; [.0000.00CC.0002] # LAO TONE MAI THO
+0ECA ; [.0000.00CD.0002] # LAO TONE MAI TI
+0ECB ; [.0000.00CE.0002] # LAO TONE MAI CATAWA
+0ECC ; [.0000.00CF.0002] # LAO CANCELLATION MARK
+0ECD ; [.0000.00D0.0002] # LAO NIGGAHITA
+AABF ; [.0000.00D1.0002] # TAI VIET TONE MAI EK
+AAC1 ; [.0000.00D2.0002] # TAI VIET TONE MAI THO
+0F39 ; [.0000.00D3.0002] # TIBETAN MARK TSA -PHRU
+A92B ; [.0000.00D4.0002] # KAYAH LI TONE PLOPHU
+A92C ; [.0000.00D5.0002] # KAYAH LI TONE CALYA
+A92D ; [.0000.00D6.0002] # KAYAH LI TONE CALYA PLOPHU
+1037 ; [.0000.00D7.0002] # MYANMAR SIGN DOT BELOW
+108D ; [.0000.00D8.0002] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+17C8 ; [.0000.00D9.0002] # KHMER SIGN YUUKALEAPINTU
+17C9 ; [.0000.00DA.0002] # KHMER SIGN MUUSIKATOAN
+17CA ; [.0000.00DB.0002] # KHMER SIGN TRIISAP
+1A75 ; [.0000.00DC.0002] # TAI THAM SIGN TONE-1
+1A76 ; [.0000.00DD.0002] # TAI THAM SIGN TONE-2
+1A77 ; [.0000.00DE.0002] # TAI THAM SIGN KHUEN TONE-3
+1A78 ; [.0000.00DF.0002] # TAI THAM SIGN KHUEN TONE-4
+1A79 ; [.0000.00E0.0002] # TAI THAM SIGN KHUEN TONE-5
+1A7A ; [.0000.00E1.0002] # TAI THAM SIGN RA HAAM
+1A7B ; [.0000.00E2.0002] # TAI THAM SIGN MAI SAM
+1A7C ; [.0000.00E3.0002] # TAI THAM SIGN KHUEN-LUE KARAN
+1939 ; [.0000.00E4.0002] # LIMBU SIGN MUKPHRENG
+193A ; [.0000.00E5.0002] # LIMBU SIGN KEMPHRENG
+193B ; [.0000.00E6.0002] # LIMBU SIGN SA-I
+302A ; [.0000.00E7.0002] # IDEOGRAPHIC LEVEL TONE MARK
+302B ; [.0000.00E8.0002] # IDEOGRAPHIC RISING TONE MARK
+302C ; [.0000.00E9.0002] # IDEOGRAPHIC DEPARTING TONE MARK
+302D ; [.0000.00EA.0002] # IDEOGRAPHIC ENTERING TONE MARK
+302E ; [.0000.00EB.0002] # HANGUL SINGLE DOT TONE MARK
+302F ; [.0000.00EC.0002] # HANGUL DOUBLE DOT TONE MARK
+20D0 ; [.0000.00ED.0002] # COMBINING LEFT HARPOON ABOVE
+20D1 ; [.0000.00EE.0002] # COMBINING RIGHT HARPOON ABOVE
+20D2 ; [.0000.00EF.0002] # COMBINING LONG VERTICAL LINE OVERLAY
+20D3 ; [.0000.00EF.0002] # COMBINING SHORT VERTICAL LINE OVERLAY
+20D4 ; [.0000.00F0.0002] # COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5 ; [.0000.00F1.0002] # COMBINING CLOCKWISE ARROW ABOVE
+20D6 ; [.0000.00F2.0002] # COMBINING LEFT ARROW ABOVE
+20D7 ; [.0000.00F3.0002] # COMBINING RIGHT ARROW ABOVE
+20DB ; [.0000.00F4.0002] # COMBINING THREE DOTS ABOVE
+20DC ; [.0000.00F5.0002] # COMBINING FOUR DOTS ABOVE
+20E1 ; [.0000.00F6.0002] # COMBINING LEFT RIGHT ARROW ABOVE
+20E6 ; [.0000.00F7.0002] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20E7 ; [.0000.00F8.0002] # COMBINING ANNUITY SYMBOL
+20E8 ; [.0000.00F9.0002] # COMBINING TRIPLE UNDERDOT
+20E9 ; [.0000.00FA.0002] # COMBINING WIDE BRIDGE ABOVE
+101FD ; [.0000.00FB.0002] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+02D0 ; [.15A4.0020.0002] # MODIFIER LETTER TRIANGULAR COLON
+02D1 ; [.15A5.0020.0002] # MODIFIER LETTER HALF TRIANGULAR COLON
+0971 ; [.15A6.0020.0002] # DEVANAGARI SIGN HIGH SPACING DOT
+0E46 ; [.15A7.0020.0002] # THAI CHARACTER MAIYAMOK
+0EC6 ; [.15A8.0020.0002] # LAO KO LA
+17D7 ; [.15A9.0020.0002] # KHMER SIGN LEK TOO
+1AA7 ; [.15AA.0020.0002] # TAI THAM SIGN MAI YAMOK
+A9CF ; [.15AB.0020.0002] # JAVANESE PANGRANGKEP
+AA70 ; [.15AC.0020.0002] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AADD ; [.15AD.0020.0002] # TAI VIET SYMBOL SAM
+AAF3 ; [.15AE.0020.0002] # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4 ; [.15AF.0020.0002] # MEETEI MAYEK WORD REPETITION MARK
+3005 ; [.15B0.0020.0002] # IDEOGRAPHIC ITERATION MARK
+303B ; [.15B1.0020.0002] # VERTICAL IDEOGRAPHIC ITERATION MARK
+3031 ; [.15B2.0020.0002] # VERTICAL KANA REPEAT MARK
+3032 ; [.15B2.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+3033 ; [.15B3.0020.0002] # VERTICAL KANA REPEAT MARK UPPER HALF
+3034 ; [.15B3.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+3035 ; [.15B4.0020.0002] # VERTICAL KANA REPEAT MARK LOWER HALF
+309D ; [.15B5.0020.0002] # HIRAGANA ITERATION MARK
+309E ; [.15B5.0020.0002][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
+30FC ; [.15B6.0020.0002] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF70 ; [.15B6.0020.0012] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FD ; [.15B7.0020.0002] # KATAKANA ITERATION MARK
+30FE ; [.15B7.0020.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
+00A4 ; [.15B8.0020.0002] # CURRENCY SIGN
+00A2 ; [.15B9.0020.0002] # CENT SIGN
+FFE0 ; [.15B9.0020.0003] # FULLWIDTH CENT SIGN
+0024 ; [.15BA.0020.0002] # DOLLAR SIGN
+FF04 ; [.15BA.0020.0003] # FULLWIDTH DOLLAR SIGN
+FE69 ; [.15BA.0020.000F] # SMALL DOLLAR SIGN
+00A3 ; [.15BB.0020.0002] # POUND SIGN
+FFE1 ; [.15BB.0020.0003] # FULLWIDTH POUND SIGN
+00A5 ; [.15BC.0020.0002] # YEN SIGN
+FFE5 ; [.15BC.0020.0003] # FULLWIDTH YEN SIGN
+058F ; [.15BD.0020.0002] # ARMENIAN DRAM SIGN
+060B ; [.15BE.0020.0002] # AFGHANI SIGN
+09F2 ; [.15BF.0020.0002] # BENGALI RUPEE MARK
+09F3 ; [.15C0.0020.0002] # BENGALI RUPEE SIGN
+09FB ; [.15C1.0020.0002] # BENGALI GANDA MARK
+0AF1 ; [.15C2.0020.0002] # GUJARATI RUPEE SIGN
+A838 ; [.15C3.0020.0002] # NORTH INDIC RUPEE MARK
+0BF9 ; [.15C4.0020.0002] # TAMIL RUPEE SIGN
+0E3F ; [.15C5.0020.0002] # THAI CURRENCY SYMBOL BAHT
+17DB ; [.15C6.0020.0002] # KHMER CURRENCY SYMBOL RIEL
+20A0 ; [.15C7.0020.0002] # EURO-CURRENCY SIGN
+20A1 ; [.15C8.0020.0002] # COLON SIGN
+20A2 ; [.15C9.0020.0002] # CRUZEIRO SIGN
+20A3 ; [.15CA.0020.0002] # FRENCH FRANC SIGN
+20A4 ; [.15CB.0020.0002] # LIRA SIGN
+20A5 ; [.15CC.0020.0002] # MILL SIGN
+20A6 ; [.15CD.0020.0002] # NAIRA SIGN
+20A7 ; [.15CE.0020.0002] # PESETA SIGN
+20A9 ; [.15CF.0020.0002] # WON SIGN
+FFE6 ; [.15CF.0020.0003] # FULLWIDTH WON SIGN
+20AA ; [.15D0.0020.0002] # NEW SHEQEL SIGN
+20AB ; [.15D1.0020.0002] # DONG SIGN
+20AC ; [.15D2.0020.0002] # EURO SIGN
+20AD ; [.15D3.0020.0002] # KIP SIGN
+20AE ; [.15D4.0020.0002] # TUGRIK SIGN
+20AF ; [.15D5.0020.0002] # DRACHMA SIGN
+20B0 ; [.15D6.0020.0002] # GERMAN PENNY SIGN
+20B1 ; [.15D7.0020.0002] # PESO SIGN
+20B2 ; [.15D8.0020.0002] # GUARANI SIGN
+20B3 ; [.15D9.0020.0002] # AUSTRAL SIGN
+20B4 ; [.15DA.0020.0002] # HRYVNIA SIGN
+20B5 ; [.15DB.0020.0002] # CEDI SIGN
+20B6 ; [.15DC.0020.0002] # LIVRE TOURNOIS SIGN
+20B7 ; [.15DD.0020.0002] # SPESMILO SIGN
+20B8 ; [.15DE.0020.0002] # TENGE SIGN
+20B9 ; [.15DF.0020.0002] # INDIAN RUPEE SIGN
+20BA ; [.15E0.0020.0002] # TURKISH LIRA SIGN
+0030 ; [.15E1.0020.0002] # DIGIT ZERO
+0660 ; [.15E1.0020.0002] # ARABIC-INDIC DIGIT ZERO
+06F0 ; [.15E1.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ZERO
+07C0 ; [.15E1.0020.0002] # NKO DIGIT ZERO
+0966 ; [.15E1.0020.0002] # DEVANAGARI DIGIT ZERO
+09E6 ; [.15E1.0020.0002] # BENGALI DIGIT ZERO
+0A66 ; [.15E1.0020.0002] # GURMUKHI DIGIT ZERO
+0AE6 ; [.15E1.0020.0002] # GUJARATI DIGIT ZERO
+0B66 ; [.15E1.0020.0002] # ORIYA DIGIT ZERO
+0BE6 ; [.15E1.0020.0002] # TAMIL DIGIT ZERO
+0C66 ; [.15E1.0020.0002] # TELUGU DIGIT ZERO
+0C78 ; [.15E1.0020.0002] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+0CE6 ; [.15E1.0020.0002] # KANNADA DIGIT ZERO
+0D66 ; [.15E1.0020.0002] # MALAYALAM DIGIT ZERO
+0E50 ; [.15E1.0020.0002] # THAI DIGIT ZERO
+0ED0 ; [.15E1.0020.0002] # LAO DIGIT ZERO
+0F20 ; [.15E1.0020.0002] # TIBETAN DIGIT ZERO
+1040 ; [.15E1.0020.0002] # MYANMAR DIGIT ZERO
+1090 ; [.15E1.0020.0002] # MYANMAR SHAN DIGIT ZERO
+17E0 ; [.15E1.0020.0002] # KHMER DIGIT ZERO
+17F0 ; [.15E1.0020.0002] # KHMER SYMBOL LEK ATTAK SON
+1810 ; [.15E1.0020.0002] # MONGOLIAN DIGIT ZERO
+1946 ; [.15E1.0020.0002] # LIMBU DIGIT ZERO
+19D0 ; [.15E1.0020.0002] # NEW TAI LUE DIGIT ZERO
+1A80 ; [.15E1.0020.0002] # TAI THAM HORA DIGIT ZERO
+1A90 ; [.15E1.0020.0002] # TAI THAM THAM DIGIT ZERO
+1B50 ; [.15E1.0020.0002] # BALINESE DIGIT ZERO
+1BB0 ; [.15E1.0020.0002] # SUNDANESE DIGIT ZERO
+1C40 ; [.15E1.0020.0002] # LEPCHA DIGIT ZERO
+1C50 ; [.15E1.0020.0002] # OL CHIKI DIGIT ZERO
+3007 ; [.15E1.0020.0002] # IDEOGRAPHIC NUMBER ZERO
+A620 ; [.15E1.0020.0002] # VAI DIGIT ZERO
+A8D0 ; [.15E1.0020.0002] # SAURASHTRA DIGIT ZERO
+A900 ; [.15E1.0020.0002] # KAYAH LI DIGIT ZERO
+A9D0 ; [.15E1.0020.0002] # JAVANESE DIGIT ZERO
+AA50 ; [.15E1.0020.0002] # CHAM DIGIT ZERO
+ABF0 ; [.15E1.0020.0002] # MEETEI MAYEK DIGIT ZERO
+1018A ; [.15E1.0020.0002] # GREEK ZERO SIGN
+104A0 ; [.15E1.0020.0002] # OSMANYA DIGIT ZERO
+11066 ; [.15E1.0020.0002] # BRAHMI DIGIT ZERO
+110F0 ; [.15E1.0020.0002] # SORA SOMPENG DIGIT ZERO
+11136 ; [.15E1.0020.0002] # CHAKMA DIGIT ZERO
+111D0 ; [.15E1.0020.0002] # SHARADA DIGIT ZERO
+116C0 ; [.15E1.0020.0002] # TAKRI DIGIT ZERO
+FF10 ; [.15E1.0020.0003] # FULLWIDTH DIGIT ZERO
+0F33 ; [.15E1.0020.0004] # TIBETAN DIGIT HALF ZERO
+1F100 ; [.15E1.0020.0004][*0272.0020.0004] # DIGIT ZERO FULL STOP
+1F101 ; [.15E1.0020.0004][*0220.0020.0004] # DIGIT ZERO COMMA
+1D7CE ; [.15E1.0020.0005] # MATHEMATICAL BOLD DIGIT ZERO
+1D7D8 ; [.15E1.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
+1D7E2 ; [.15E1.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ZERO
+1D7EC ; [.15E1.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
+1D7F6 ; [.15E1.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ZERO
+24EA ; [.15E1.0020.0006] # CIRCLED DIGIT ZERO
+24FF ; [.15E1.0020.0006] # NEGATIVE CIRCLED DIGIT ZERO
+2070 ; [.15E1.0020.0014] # SUPERSCRIPT ZERO
+2080 ; [.15E1.0020.0015] # SUBSCRIPT ZERO
+2189 ; [.15E1.0020.001E][*05AF.0020.001E][.15E4.0020.001E] # VULGAR FRACTION ZERO THIRDS
+3358 ; [.15E1.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+0031 ; [.15E2.0020.0002] # DIGIT ONE
+0661 ; [.15E2.0020.0002] # ARABIC-INDIC DIGIT ONE
+06F1 ; [.15E2.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ONE
+07C1 ; [.15E2.0020.0002] # NKO DIGIT ONE
+0967 ; [.15E2.0020.0002] # DEVANAGARI DIGIT ONE
+09E7 ; [.15E2.0020.0002] # BENGALI DIGIT ONE
+0A67 ; [.15E2.0020.0002] # GURMUKHI DIGIT ONE
+0AE7 ; [.15E2.0020.0002] # GUJARATI DIGIT ONE
+0B67 ; [.15E2.0020.0002] # ORIYA DIGIT ONE
+0BE7 ; [.15E2.0020.0002] # TAMIL DIGIT ONE
+0C67 ; [.15E2.0020.0002] # TELUGU DIGIT ONE
+0C79 ; [.15E2.0020.0002] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+0C7C ; [.15E2.0020.0002] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+0CE7 ; [.15E2.0020.0002] # KANNADA DIGIT ONE
+0D67 ; [.15E2.0020.0002] # MALAYALAM DIGIT ONE
+0E51 ; [.15E2.0020.0002] # THAI DIGIT ONE
+0ED1 ; [.15E2.0020.0002] # LAO DIGIT ONE
+0F21 ; [.15E2.0020.0002] # TIBETAN DIGIT ONE
+1041 ; [.15E2.0020.0002] # MYANMAR DIGIT ONE
+1091 ; [.15E2.0020.0002] # MYANMAR SHAN DIGIT ONE
+1369 ; [.15E2.0020.0002] # ETHIOPIC DIGIT ONE
+17E1 ; [.15E2.0020.0002] # KHMER DIGIT ONE
+17F1 ; [.15E2.0020.0002] # KHMER SYMBOL LEK ATTAK MUOY
+1811 ; [.15E2.0020.0002] # MONGOLIAN DIGIT ONE
+1947 ; [.15E2.0020.0002] # LIMBU DIGIT ONE
+19D1 ; [.15E2.0020.0002] # NEW TAI LUE DIGIT ONE
+19DA ; [.15E2.0020.0002] # NEW TAI LUE THAM DIGIT ONE
+1A81 ; [.15E2.0020.0002] # TAI THAM HORA DIGIT ONE
+1A91 ; [.15E2.0020.0002] # TAI THAM THAM DIGIT ONE
+1B51 ; [.15E2.0020.0002] # BALINESE DIGIT ONE
+1BB1 ; [.15E2.0020.0002] # SUNDANESE DIGIT ONE
+1C41 ; [.15E2.0020.0002] # LEPCHA DIGIT ONE
+1C51 ; [.15E2.0020.0002] # OL CHIKI DIGIT ONE
+3021 ; [.15E2.0020.0002] # HANGZHOU NUMERAL ONE
+A621 ; [.15E2.0020.0002] # VAI DIGIT ONE
+A8D1 ; [.15E2.0020.0002] # SAURASHTRA DIGIT ONE
+A901 ; [.15E2.0020.0002] # KAYAH LI DIGIT ONE
+A9D1 ; [.15E2.0020.0002] # JAVANESE DIGIT ONE
+AA51 ; [.15E2.0020.0002] # CHAM DIGIT ONE
+ABF1 ; [.15E2.0020.0002] # MEETEI MAYEK DIGIT ONE
+10107 ; [.15E2.0020.0002] # AEGEAN NUMBER ONE
+10142 ; [.15E2.0020.0002] # GREEK ACROPHONIC ATTIC ONE DRACHMA
+10158 ; [.15E2.0020.0002] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 ; [.15E2.0020.0002] # GREEK ACROPHONIC THESPIAN ONE
+1015A ; [.15E2.0020.0002] # GREEK ACROPHONIC HERMIONIAN ONE
+10320 ; [.15E2.0020.0002] # OLD ITALIC NUMERAL ONE
+103D1 ; [.15E2.0020.0002] # OLD PERSIAN NUMBER ONE
+104A1 ; [.15E2.0020.0002] # OSMANYA DIGIT ONE
+10858 ; [.15E2.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE
+10916 ; [.15E2.0020.0002] # PHOENICIAN NUMBER ONE
+10A40 ; [.15E2.0020.0002] # KHAROSHTHI DIGIT ONE
+10A7D ; [.15E2.0020.0002] # OLD SOUTH ARABIAN NUMBER ONE
+10B58 ; [.15E2.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B78 ; [.15E2.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE
+10E60 ; [.15E2.0020.0002] # RUMI DIGIT ONE
+11052 ; [.15E2.0020.0002] # BRAHMI NUMBER ONE
+11067 ; [.15E2.0020.0002] # BRAHMI DIGIT ONE
+110F1 ; [.15E2.0020.0002] # SORA SOMPENG DIGIT ONE
+11137 ; [.15E2.0020.0002] # CHAKMA DIGIT ONE
+111D1 ; [.15E2.0020.0002] # SHARADA DIGIT ONE
+116C1 ; [.15E2.0020.0002] # TAKRI DIGIT ONE
+12415 ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESH2
+1241E ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESHU
+1242C ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE SHARU
+12434 ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BURU
+1244F ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BAN2
+12458 ; [.15E2.0020.0002] # CUNEIFORM NUMERIC SIGN ONE ESHE3
+1D360 ; [.15E2.0020.0002] # COUNTING ROD UNIT DIGIT ONE
+FF11 ; [.15E2.0020.0003] # FULLWIDTH DIGIT ONE
+0F2A ; [.15E2.0020.0004] # TIBETAN DIGIT HALF ONE
+2474 ; [*02FA.0020.0004][.15E2.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT ONE
+2488 ; [.15E2.0020.0004][*0272.0020.0004] # DIGIT ONE FULL STOP
+1F102 ; [.15E2.0020.0004][*0220.0020.0004] # DIGIT ONE COMMA
+1D7CF ; [.15E2.0020.0005] # MATHEMATICAL BOLD DIGIT ONE
+1D7D9 ; [.15E2.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
+1D7E3 ; [.15E2.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ONE
+1D7ED ; [.15E2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
+1D7F7 ; [.15E2.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ONE
+2460 ; [.15E2.0020.0006] # CIRCLED DIGIT ONE
+24F5 ; [.15E2.0020.0006] # DOUBLE CIRCLED DIGIT ONE
+2776 ; [.15E2.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2780 ; [.15E2.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+278A ; [.15E2.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+00B9 ; [.15E2.0020.0014] # SUPERSCRIPT ONE
+2081 ; [.15E2.0020.0015] # SUBSCRIPT ONE
+215F ; [.15E2.0020.001E][*05AF.0020.001E] # FRACTION NUMERATOR ONE
+247D ; [*02FA.0020.0004][.15E2.0020.0004][.15E1.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER TEN
+2491 ; [.15E2.0020.0004][.15E1.0020.0004][*0272.0020.0004] # NUMBER TEN FULL STOP
+2469 ; [.15E2.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER TEN
+24FE ; [.15E2.0020.0006][.15E1.0020.0006] # DOUBLE CIRCLED NUMBER TEN
+277F ; [.15E2.0020.0006][.15E1.0020.0006] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2789 ; [.15E2.0020.0006][.15E1.0020.0006] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+2793 ; [.15E2.0020.0006][.15E1.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+3248 ; [.15E2.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER TEN ON BLACK SQUARE
+33E9 ; [.15E2.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15E2.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15E2.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+247E ; [*02FA.0020.0004][.15E2.0020.0004][.15E2.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER ELEVEN
+2492 ; [.15E2.0020.0004][.15E2.0020.0004][*0272.0020.0004] # NUMBER ELEVEN FULL STOP
+246A ; [.15E2.0020.0006][.15E2.0020.0006] # CIRCLED NUMBER ELEVEN
+24EB ; [.15E2.0020.0006][.15E2.0020.0006] # NEGATIVE CIRCLED NUMBER ELEVEN
+2152 ; [.15E2.0020.001E][*05AF.0020.001E][.15E2.0020.001E][.15E1.0020.001E] # VULGAR FRACTION ONE TENTH
+33EA ; [.15E2.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15E2.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15E2.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+247F ; [*02FA.0020.0004][.15E2.0020.0004][.15E3.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER TWELVE
+2493 ; [.15E2.0020.0004][.15E3.0020.0004][*0272.0020.0004] # NUMBER TWELVE FULL STOP
+246B ; [.15E2.0020.0006][.15E3.0020.0006] # CIRCLED NUMBER TWELVE
+24EC ; [.15E2.0020.0006][.15E3.0020.0006] # NEGATIVE CIRCLED NUMBER TWELVE
+00BD ; [.15E2.0020.001E][*05AF.0020.001E][.15E3.0020.001E] # VULGAR FRACTION ONE HALF
+33EB ; [.15E2.0020.0004][.15E3.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15E2.0020.0004][.15E3.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15E2.0020.0004][.15E3.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+2480 ; [*02FA.0020.0004][.15E2.0020.0004][.15E4.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER THIRTEEN
+2494 ; [.15E2.0020.0004][.15E4.0020.0004][*0272.0020.0004] # NUMBER THIRTEEN FULL STOP
+246C ; [.15E2.0020.0006][.15E4.0020.0006] # CIRCLED NUMBER THIRTEEN
+24ED ; [.15E2.0020.0006][.15E4.0020.0006] # NEGATIVE CIRCLED NUMBER THIRTEEN
+2153 ; [.15E2.0020.001E][*05AF.0020.001E][.15E4.0020.001E] # VULGAR FRACTION ONE THIRD
+33EC ; [.15E2.0020.0004][.15E4.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15E2.0020.0004][.15E4.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+2481 ; [*02FA.0020.0004][.15E2.0020.0004][.15E5.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER FOURTEEN
+2495 ; [.15E2.0020.0004][.15E5.0020.0004][*0272.0020.0004] # NUMBER FOURTEEN FULL STOP
+246D ; [.15E2.0020.0006][.15E5.0020.0006] # CIRCLED NUMBER FOURTEEN
+24EE ; [.15E2.0020.0006][.15E5.0020.0006] # NEGATIVE CIRCLED NUMBER FOURTEEN
+00BC ; [.15E2.0020.001E][*05AF.0020.001E][.15E5.0020.001E] # VULGAR FRACTION ONE QUARTER
+33ED ; [.15E2.0020.0004][.15E5.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15E2.0020.0004][.15E5.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+2482 ; [*02FA.0020.0004][.15E2.0020.0004][.15E6.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER FIFTEEN
+2496 ; [.15E2.0020.0004][.15E6.0020.0004][*0272.0020.0004] # NUMBER FIFTEEN FULL STOP
+246E ; [.15E2.0020.0006][.15E6.0020.0006] # CIRCLED NUMBER FIFTEEN
+24EF ; [.15E2.0020.0006][.15E6.0020.0006] # NEGATIVE CIRCLED NUMBER FIFTEEN
+2155 ; [.15E2.0020.001E][*05AF.0020.001E][.15E6.0020.001E] # VULGAR FRACTION ONE FIFTH
+33EE ; [.15E2.0020.0004][.15E6.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15E2.0020.0004][.15E6.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+2483 ; [*02FA.0020.0004][.15E2.0020.0004][.15E7.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER SIXTEEN
+2497 ; [.15E2.0020.0004][.15E7.0020.0004][*0272.0020.0004] # NUMBER SIXTEEN FULL STOP
+246F ; [.15E2.0020.0006][.15E7.0020.0006] # CIRCLED NUMBER SIXTEEN
+24F0 ; [.15E2.0020.0006][.15E7.0020.0006] # NEGATIVE CIRCLED NUMBER SIXTEEN
+2159 ; [.15E2.0020.001E][*05AF.0020.001E][.15E7.0020.001E] # VULGAR FRACTION ONE SIXTH
+33EF ; [.15E2.0020.0004][.15E7.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15E2.0020.0004][.15E7.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+2484 ; [*02FA.0020.0004][.15E2.0020.0004][.15E8.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER SEVENTEEN
+2498 ; [.15E2.0020.0004][.15E8.0020.0004][*0272.0020.0004] # NUMBER SEVENTEEN FULL STOP
+2470 ; [.15E2.0020.0006][.15E8.0020.0006] # CIRCLED NUMBER SEVENTEEN
+24F1 ; [.15E2.0020.0006][.15E8.0020.0006] # NEGATIVE CIRCLED NUMBER SEVENTEEN
+2150 ; [.15E2.0020.001E][*05AF.0020.001E][.15E8.0020.001E] # VULGAR FRACTION ONE SEVENTH
+33F0 ; [.15E2.0020.0004][.15E8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15E2.0020.0004][.15E8.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+2485 ; [*02FA.0020.0004][.15E2.0020.0004][.15E9.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER EIGHTEEN
+2499 ; [.15E2.0020.0004][.15E9.0020.0004][*0272.0020.0004] # NUMBER EIGHTEEN FULL STOP
+2471 ; [.15E2.0020.0006][.15E9.0020.0006] # CIRCLED NUMBER EIGHTEEN
+24F2 ; [.15E2.0020.0006][.15E9.0020.0006] # NEGATIVE CIRCLED NUMBER EIGHTEEN
+215B ; [.15E2.0020.001E][*05AF.0020.001E][.15E9.0020.001E] # VULGAR FRACTION ONE EIGHTH
+33F1 ; [.15E2.0020.0004][.15E9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15E2.0020.0004][.15E9.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+2486 ; [*02FA.0020.0004][.15E2.0020.0004][.15EA.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER NINETEEN
+249A ; [.15E2.0020.0004][.15EA.0020.0004][*0272.0020.0004] # NUMBER NINETEEN FULL STOP
+2472 ; [.15E2.0020.0006][.15EA.0020.0006] # CIRCLED NUMBER NINETEEN
+24F3 ; [.15E2.0020.0006][.15EA.0020.0006] # NEGATIVE CIRCLED NUMBER NINETEEN
+2151 ; [.15E2.0020.001E][*05AF.0020.001E][.15EA.0020.001E] # VULGAR FRACTION ONE NINTH
+33F2 ; [.15E2.0020.0004][.15EA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15E2.0020.0004][.15EA.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15E2.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15E2.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15E2.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+0032 ; [.15E3.0020.0002] # DIGIT TWO
+0662 ; [.15E3.0020.0002] # ARABIC-INDIC DIGIT TWO
+06F2 ; [.15E3.0020.0002] # EXTENDED ARABIC-INDIC DIGIT TWO
+07C2 ; [.15E3.0020.0002] # NKO DIGIT TWO
+0968 ; [.15E3.0020.0002] # DEVANAGARI DIGIT TWO
+09E8 ; [.15E3.0020.0002] # BENGALI DIGIT TWO
+0A68 ; [.15E3.0020.0002] # GURMUKHI DIGIT TWO
+0AE8 ; [.15E3.0020.0002] # GUJARATI DIGIT TWO
+0B68 ; [.15E3.0020.0002] # ORIYA DIGIT TWO
+0BE8 ; [.15E3.0020.0002] # TAMIL DIGIT TWO
+0C68 ; [.15E3.0020.0002] # TELUGU DIGIT TWO
+0C7A ; [.15E3.0020.0002] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+0C7D ; [.15E3.0020.0002] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+0CE8 ; [.15E3.0020.0002] # KANNADA DIGIT TWO
+0D68 ; [.15E3.0020.0002] # MALAYALAM DIGIT TWO
+0E52 ; [.15E3.0020.0002] # THAI DIGIT TWO
+0ED2 ; [.15E3.0020.0002] # LAO DIGIT TWO
+0F22 ; [.15E3.0020.0002] # TIBETAN DIGIT TWO
+1042 ; [.15E3.0020.0002] # MYANMAR DIGIT TWO
+1092 ; [.15E3.0020.0002] # MYANMAR SHAN DIGIT TWO
+136A ; [.15E3.0020.0002] # ETHIOPIC DIGIT TWO
+17E2 ; [.15E3.0020.0002] # KHMER DIGIT TWO
+17F2 ; [.15E3.0020.0002] # KHMER SYMBOL LEK ATTAK PII
+1812 ; [.15E3.0020.0002] # MONGOLIAN DIGIT TWO
+1948 ; [.15E3.0020.0002] # LIMBU DIGIT TWO
+19D2 ; [.15E3.0020.0002] # NEW TAI LUE DIGIT TWO
+1A82 ; [.15E3.0020.0002] # TAI THAM HORA DIGIT TWO
+1A92 ; [.15E3.0020.0002] # TAI THAM THAM DIGIT TWO
+1B52 ; [.15E3.0020.0002] # BALINESE DIGIT TWO
+1BB2 ; [.15E3.0020.0002] # SUNDANESE DIGIT TWO
+1C42 ; [.15E3.0020.0002] # LEPCHA DIGIT TWO
+1C52 ; [.15E3.0020.0002] # OL CHIKI DIGIT TWO
+3022 ; [.15E3.0020.0002] # HANGZHOU NUMERAL TWO
+A622 ; [.15E3.0020.0002] # VAI DIGIT TWO
+A8D2 ; [.15E3.0020.0002] # SAURASHTRA DIGIT TWO
+A902 ; [.15E3.0020.0002] # KAYAH LI DIGIT TWO
+A9D2 ; [.15E3.0020.0002] # JAVANESE DIGIT TWO
+AA52 ; [.15E3.0020.0002] # CHAM DIGIT TWO
+ABF2 ; [.15E3.0020.0002] # MEETEI MAYEK DIGIT TWO
+10108 ; [.15E3.0020.0002] # AEGEAN NUMBER TWO
+1015B ; [.15E3.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO
+1015C ; [.15E3.0020.0002] # GREEK ACROPHONIC THESPIAN TWO
+1015D ; [.15E3.0020.0002] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E ; [.15E3.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+103D2 ; [.15E3.0020.0002] # OLD PERSIAN NUMBER TWO
+104A2 ; [.15E3.0020.0002] # OSMANYA DIGIT TWO
+10859 ; [.15E3.0020.0002] # IMPERIAL ARAMAIC NUMBER TWO
+1091A ; [.15E3.0020.0002] # PHOENICIAN NUMBER TWO
+10A41 ; [.15E3.0020.0002] # KHAROSHTHI DIGIT TWO
+10B59 ; [.15E3.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B79 ; [.15E3.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWO
+10E61 ; [.15E3.0020.0002] # RUMI DIGIT TWO
+11053 ; [.15E3.0020.0002] # BRAHMI NUMBER TWO
+11068 ; [.15E3.0020.0002] # BRAHMI DIGIT TWO
+110F2 ; [.15E3.0020.0002] # SORA SOMPENG DIGIT TWO
+11138 ; [.15E3.0020.0002] # CHAKMA DIGIT TWO
+111D2 ; [.15E3.0020.0002] # SHARADA DIGIT TWO
+116C2 ; [.15E3.0020.0002] # TAKRI DIGIT TWO
+12400 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH
+12416 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESH2
+1241F ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESHU
+12423 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHAR2
+1242D ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHARU
+12435 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BURU
+1244A ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
+12450 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BAN2
+12456 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12459 ; [.15E3.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ESHE3
+1D361 ; [.15E3.0020.0002] # COUNTING ROD UNIT DIGIT TWO
+FF12 ; [.15E3.0020.0003] # FULLWIDTH DIGIT TWO
+0F2B ; [.15E3.0020.0004] # TIBETAN DIGIT HALF TWO
+2475 ; [*02FA.0020.0004][.15E3.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT TWO
+2489 ; [.15E3.0020.0004][*0272.0020.0004] # DIGIT TWO FULL STOP
+1F103 ; [.15E3.0020.0004][*0220.0020.0004] # DIGIT TWO COMMA
+1D7D0 ; [.15E3.0020.0005] # MATHEMATICAL BOLD DIGIT TWO
+1D7DA ; [.15E3.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
+1D7E4 ; [.15E3.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT TWO
+1D7EE ; [.15E3.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
+1D7F8 ; [.15E3.0020.0005] # MATHEMATICAL MONOSPACE DIGIT TWO
+2461 ; [.15E3.0020.0006] # CIRCLED DIGIT TWO
+24F6 ; [.15E3.0020.0006] # DOUBLE CIRCLED DIGIT TWO
+2777 ; [.15E3.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2781 ; [.15E3.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+278B ; [.15E3.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+00B2 ; [.15E3.0020.0014] # SUPERSCRIPT TWO
+2082 ; [.15E3.0020.0015] # SUBSCRIPT TWO
+2487 ; [*02FA.0020.0004][.15E3.0020.0004][.15E1.0020.0004][*02FB.0020.0004] # PARENTHESIZED NUMBER TWENTY
+249B ; [.15E3.0020.0004][.15E1.0020.0004][*0272.0020.0004] # NUMBER TWENTY FULL STOP
+2473 ; [.15E3.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER TWENTY
+24F4 ; [.15E3.0020.0006][.15E1.0020.0006] # NEGATIVE CIRCLED NUMBER TWENTY
+3249 ; [.15E3.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
+33F3 ; [.15E3.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15E3.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+3251 ; [.15E3.0020.0006][.15E2.0020.0006] # CIRCLED NUMBER TWENTY ONE
+33F4 ; [.15E3.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15E3.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+3252 ; [.15E3.0020.0006][.15E3.0020.0006] # CIRCLED NUMBER TWENTY TWO
+33F5 ; [.15E3.0020.0004][.15E3.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15E3.0020.0004][.15E3.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+3253 ; [.15E3.0020.0006][.15E4.0020.0006] # CIRCLED NUMBER TWENTY THREE
+2154 ; [.15E3.0020.001E][*05AF.0020.001E][.15E4.0020.001E] # VULGAR FRACTION TWO THIRDS
+33F6 ; [.15E3.0020.0004][.15E4.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15E3.0020.0004][.15E4.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+3254 ; [.15E3.0020.0006][.15E5.0020.0006] # CIRCLED NUMBER TWENTY FOUR
+33F7 ; [.15E3.0020.0004][.15E5.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15E3.0020.0004][.15E5.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+3255 ; [.15E3.0020.0006][.15E6.0020.0006] # CIRCLED NUMBER TWENTY FIVE
+2156 ; [.15E3.0020.001E][*05AF.0020.001E][.15E6.0020.001E] # VULGAR FRACTION TWO FIFTHS
+33F8 ; [.15E3.0020.0004][.15E6.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+3256 ; [.15E3.0020.0006][.15E7.0020.0006] # CIRCLED NUMBER TWENTY SIX
+33F9 ; [.15E3.0020.0004][.15E7.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+3257 ; [.15E3.0020.0006][.15E8.0020.0006] # CIRCLED NUMBER TWENTY SEVEN
+33FA ; [.15E3.0020.0004][.15E8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+3258 ; [.15E3.0020.0006][.15E9.0020.0006] # CIRCLED NUMBER TWENTY EIGHT
+33FB ; [.15E3.0020.0004][.15E9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+3259 ; [.15E3.0020.0006][.15EA.0020.0006] # CIRCLED NUMBER TWENTY NINE
+33FC ; [.15E3.0020.0004][.15EA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15E3.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15E3.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15E3.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+0033 ; [.15E4.0020.0002] # DIGIT THREE
+0663 ; [.15E4.0020.0002] # ARABIC-INDIC DIGIT THREE
+06F3 ; [.15E4.0020.0002] # EXTENDED ARABIC-INDIC DIGIT THREE
+07C3 ; [.15E4.0020.0002] # NKO DIGIT THREE
+0969 ; [.15E4.0020.0002] # DEVANAGARI DIGIT THREE
+09E9 ; [.15E4.0020.0002] # BENGALI DIGIT THREE
+0A69 ; [.15E4.0020.0002] # GURMUKHI DIGIT THREE
+0AE9 ; [.15E4.0020.0002] # GUJARATI DIGIT THREE
+0B69 ; [.15E4.0020.0002] # ORIYA DIGIT THREE
+0BE9 ; [.15E4.0020.0002] # TAMIL DIGIT THREE
+0C69 ; [.15E4.0020.0002] # TELUGU DIGIT THREE
+0C7B ; [.15E4.0020.0002] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+0C7E ; [.15E4.0020.0002] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0CE9 ; [.15E4.0020.0002] # KANNADA DIGIT THREE
+0D69 ; [.15E4.0020.0002] # MALAYALAM DIGIT THREE
+0E53 ; [.15E4.0020.0002] # THAI DIGIT THREE
+0ED3 ; [.15E4.0020.0002] # LAO DIGIT THREE
+0F23 ; [.15E4.0020.0002] # TIBETAN DIGIT THREE
+1043 ; [.15E4.0020.0002] # MYANMAR DIGIT THREE
+1093 ; [.15E4.0020.0002] # MYANMAR SHAN DIGIT THREE
+136B ; [.15E4.0020.0002] # ETHIOPIC DIGIT THREE
+17E3 ; [.15E4.0020.0002] # KHMER DIGIT THREE
+17F3 ; [.15E4.0020.0002] # KHMER SYMBOL LEK ATTAK BEI
+1813 ; [.15E4.0020.0002] # MONGOLIAN DIGIT THREE
+1949 ; [.15E4.0020.0002] # LIMBU DIGIT THREE
+19D3 ; [.15E4.0020.0002] # NEW TAI LUE DIGIT THREE
+1A83 ; [.15E4.0020.0002] # TAI THAM HORA DIGIT THREE
+1A93 ; [.15E4.0020.0002] # TAI THAM THAM DIGIT THREE
+1B53 ; [.15E4.0020.0002] # BALINESE DIGIT THREE
+1BB3 ; [.15E4.0020.0002] # SUNDANESE DIGIT THREE
+1C43 ; [.15E4.0020.0002] # LEPCHA DIGIT THREE
+1C53 ; [.15E4.0020.0002] # OL CHIKI DIGIT THREE
+3023 ; [.15E4.0020.0002] # HANGZHOU NUMERAL THREE
+A623 ; [.15E4.0020.0002] # VAI DIGIT THREE
+A8D3 ; [.15E4.0020.0002] # SAURASHTRA DIGIT THREE
+A903 ; [.15E4.0020.0002] # KAYAH LI DIGIT THREE
+A9D3 ; [.15E4.0020.0002] # JAVANESE DIGIT THREE
+AA53 ; [.15E4.0020.0002] # CHAM DIGIT THREE
+ABF3 ; [.15E4.0020.0002] # MEETEI MAYEK DIGIT THREE
+10109 ; [.15E4.0020.0002] # AEGEAN NUMBER THREE
+104A3 ; [.15E4.0020.0002] # OSMANYA DIGIT THREE
+1085A ; [.15E4.0020.0002] # IMPERIAL ARAMAIC NUMBER THREE
+1091B ; [.15E4.0020.0002] # PHOENICIAN NUMBER THREE
+10A42 ; [.15E4.0020.0002] # KHAROSHTHI DIGIT THREE
+10B5A ; [.15E4.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B7A ; [.15E4.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER THREE
+10E62 ; [.15E4.0020.0002] # RUMI DIGIT THREE
+11054 ; [.15E4.0020.0002] # BRAHMI NUMBER THREE
+11069 ; [.15E4.0020.0002] # BRAHMI DIGIT THREE
+110F3 ; [.15E4.0020.0002] # SORA SOMPENG DIGIT THREE
+11139 ; [.15E4.0020.0002] # CHAKMA DIGIT THREE
+111D3 ; [.15E4.0020.0002] # SHARADA DIGIT THREE
+116C3 ; [.15E4.0020.0002] # TAKRI DIGIT THREE
+12401 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH
+12408 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE DISH
+12417 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESH2
+12420 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESHU
+12424 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+1242E ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12436 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU
+12437 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+1243A ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1244B ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
+12451 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BAN2
+12457 ; [.15E4.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAESH
+1D362 ; [.15E4.0020.0002] # COUNTING ROD UNIT DIGIT THREE
+FF13 ; [.15E4.0020.0003] # FULLWIDTH DIGIT THREE
+0F2C ; [.15E4.0020.0004] # TIBETAN DIGIT HALF THREE
+2476 ; [*02FA.0020.0004][.15E4.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT THREE
+248A ; [.15E4.0020.0004][*0272.0020.0004] # DIGIT THREE FULL STOP
+1F104 ; [.15E4.0020.0004][*0220.0020.0004] # DIGIT THREE COMMA
+1D7D1 ; [.15E4.0020.0005] # MATHEMATICAL BOLD DIGIT THREE
+1D7DB ; [.15E4.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
+1D7E5 ; [.15E4.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT THREE
+1D7EF ; [.15E4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
+1D7F9 ; [.15E4.0020.0005] # MATHEMATICAL MONOSPACE DIGIT THREE
+2462 ; [.15E4.0020.0006] # CIRCLED DIGIT THREE
+24F7 ; [.15E4.0020.0006] # DOUBLE CIRCLED DIGIT THREE
+2778 ; [.15E4.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2782 ; [.15E4.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+278C ; [.15E4.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+00B3 ; [.15E4.0020.0014] # SUPERSCRIPT THREE
+2083 ; [.15E4.0020.0015] # SUBSCRIPT THREE
+324A ; [.15E4.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
+325A ; [.15E4.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER THIRTY
+33FD ; [.15E4.0020.0004][.15E1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+325B ; [.15E4.0020.0006][.15E2.0020.0006] # CIRCLED NUMBER THIRTY ONE
+33FE ; [.15E4.0020.0004][.15E2.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+325C ; [.15E4.0020.0006][.15E3.0020.0006] # CIRCLED NUMBER THIRTY TWO
+325D ; [.15E4.0020.0006][.15E4.0020.0006] # CIRCLED NUMBER THIRTY THREE
+325E ; [.15E4.0020.0006][.15E5.0020.0006] # CIRCLED NUMBER THIRTY FOUR
+00BE ; [.15E4.0020.001E][*05AF.0020.001E][.15E5.0020.001E] # VULGAR FRACTION THREE QUARTERS
+325F ; [.15E4.0020.0006][.15E6.0020.0006] # CIRCLED NUMBER THIRTY FIVE
+2157 ; [.15E4.0020.001E][*05AF.0020.001E][.15E6.0020.001E] # VULGAR FRACTION THREE FIFTHS
+32B1 ; [.15E4.0020.0006][.15E7.0020.0006] # CIRCLED NUMBER THIRTY SIX
+32B2 ; [.15E4.0020.0006][.15E8.0020.0006] # CIRCLED NUMBER THIRTY SEVEN
+32B3 ; [.15E4.0020.0006][.15E9.0020.0006] # CIRCLED NUMBER THIRTY EIGHT
+215C ; [.15E4.0020.001E][*05AF.0020.001E][.15E9.0020.001E] # VULGAR FRACTION THREE EIGHTHS
+32B4 ; [.15E4.0020.0006][.15EA.0020.0006] # CIRCLED NUMBER THIRTY NINE
+33E2 ; [.15E4.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15E4.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15E4.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+0034 ; [.15E5.0020.0002] # DIGIT FOUR
+0664 ; [.15E5.0020.0002] # ARABIC-INDIC DIGIT FOUR
+06F4 ; [.15E5.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FOUR
+07C4 ; [.15E5.0020.0002] # NKO DIGIT FOUR
+096A ; [.15E5.0020.0002] # DEVANAGARI DIGIT FOUR
+09EA ; [.15E5.0020.0002] # BENGALI DIGIT FOUR
+0A6A ; [.15E5.0020.0002] # GURMUKHI DIGIT FOUR
+0AEA ; [.15E5.0020.0002] # GUJARATI DIGIT FOUR
+0B6A ; [.15E5.0020.0002] # ORIYA DIGIT FOUR
+0BEA ; [.15E5.0020.0002] # TAMIL DIGIT FOUR
+0C6A ; [.15E5.0020.0002] # TELUGU DIGIT FOUR
+0CEA ; [.15E5.0020.0002] # KANNADA DIGIT FOUR
+0D6A ; [.15E5.0020.0002] # MALAYALAM DIGIT FOUR
+0E54 ; [.15E5.0020.0002] # THAI DIGIT FOUR
+0ED4 ; [.15E5.0020.0002] # LAO DIGIT FOUR
+0F24 ; [.15E5.0020.0002] # TIBETAN DIGIT FOUR
+1044 ; [.15E5.0020.0002] # MYANMAR DIGIT FOUR
+1094 ; [.15E5.0020.0002] # MYANMAR SHAN DIGIT FOUR
+136C ; [.15E5.0020.0002] # ETHIOPIC DIGIT FOUR
+17E4 ; [.15E5.0020.0002] # KHMER DIGIT FOUR
+17F4 ; [.15E5.0020.0002] # KHMER SYMBOL LEK ATTAK BUON
+1814 ; [.15E5.0020.0002] # MONGOLIAN DIGIT FOUR
+194A ; [.15E5.0020.0002] # LIMBU DIGIT FOUR
+19D4 ; [.15E5.0020.0002] # NEW TAI LUE DIGIT FOUR
+1A84 ; [.15E5.0020.0002] # TAI THAM HORA DIGIT FOUR
+1A94 ; [.15E5.0020.0002] # TAI THAM THAM DIGIT FOUR
+1B54 ; [.15E5.0020.0002] # BALINESE DIGIT FOUR
+1BB4 ; [.15E5.0020.0002] # SUNDANESE DIGIT FOUR
+1C44 ; [.15E5.0020.0002] # LEPCHA DIGIT FOUR
+1C54 ; [.15E5.0020.0002] # OL CHIKI DIGIT FOUR
+3024 ; [.15E5.0020.0002] # HANGZHOU NUMERAL FOUR
+A624 ; [.15E5.0020.0002] # VAI DIGIT FOUR
+A8D4 ; [.15E5.0020.0002] # SAURASHTRA DIGIT FOUR
+A904 ; [.15E5.0020.0002] # KAYAH LI DIGIT FOUR
+A9D4 ; [.15E5.0020.0002] # JAVANESE DIGIT FOUR
+AA54 ; [.15E5.0020.0002] # CHAM DIGIT FOUR
+ABF4 ; [.15E5.0020.0002] # MEETEI MAYEK DIGIT FOUR
+1010A ; [.15E5.0020.0002] # AEGEAN NUMBER FOUR
+104A4 ; [.15E5.0020.0002] # OSMANYA DIGIT FOUR
+10A43 ; [.15E5.0020.0002] # KHAROSHTHI DIGIT FOUR
+10B5B ; [.15E5.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B7B ; [.15E5.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
+10E63 ; [.15E5.0020.0002] # RUMI DIGIT FOUR
+11055 ; [.15E5.0020.0002] # BRAHMI NUMBER FOUR
+1106A ; [.15E5.0020.0002] # BRAHMI DIGIT FOUR
+110F4 ; [.15E5.0020.0002] # SORA SOMPENG DIGIT FOUR
+1113A ; [.15E5.0020.0002] # CHAKMA DIGIT FOUR
+111D4 ; [.15E5.0020.0002] # SHARADA DIGIT FOUR
+116C4 ; [.15E5.0020.0002] # TAKRI DIGIT FOUR
+12402 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH
+12409 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR DISH
+1240F ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR U
+12418 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESH2
+12421 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESHU
+12426 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12430 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHARU
+12438 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BURU
+1243C ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+1244C ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+12452 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 ; [.15E5.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+1D363 ; [.15E5.0020.0002] # COUNTING ROD UNIT DIGIT FOUR
+FF14 ; [.15E5.0020.0003] # FULLWIDTH DIGIT FOUR
+0F2D ; [.15E5.0020.0004] # TIBETAN DIGIT HALF FOUR
+2477 ; [*02FA.0020.0004][.15E5.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT FOUR
+248B ; [.15E5.0020.0004][*0272.0020.0004] # DIGIT FOUR FULL STOP
+1F105 ; [.15E5.0020.0004][*0220.0020.0004] # DIGIT FOUR COMMA
+1D7D2 ; [.15E5.0020.0005] # MATHEMATICAL BOLD DIGIT FOUR
+1D7DC ; [.15E5.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
+1D7E6 ; [.15E5.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FOUR
+1D7F0 ; [.15E5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
+1D7FA ; [.15E5.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FOUR
+2463 ; [.15E5.0020.0006] # CIRCLED DIGIT FOUR
+24F8 ; [.15E5.0020.0006] # DOUBLE CIRCLED DIGIT FOUR
+2779 ; [.15E5.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+2783 ; [.15E5.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+278D ; [.15E5.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+2074 ; [.15E5.0020.0014] # SUPERSCRIPT FOUR
+2084 ; [.15E5.0020.0015] # SUBSCRIPT FOUR
+324B ; [.15E5.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER FORTY ON BLACK SQUARE
+32B5 ; [.15E5.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER FORTY
+32B6 ; [.15E5.0020.0006][.15E2.0020.0006] # CIRCLED NUMBER FORTY ONE
+32B7 ; [.15E5.0020.0006][.15E3.0020.0006] # CIRCLED NUMBER FORTY TWO
+32B8 ; [.15E5.0020.0006][.15E4.0020.0006] # CIRCLED NUMBER FORTY THREE
+32B9 ; [.15E5.0020.0006][.15E5.0020.0006] # CIRCLED NUMBER FORTY FOUR
+32BA ; [.15E5.0020.0006][.15E6.0020.0006] # CIRCLED NUMBER FORTY FIVE
+2158 ; [.15E5.0020.001E][*05AF.0020.001E][.15E6.0020.001E] # VULGAR FRACTION FOUR FIFTHS
+32BB ; [.15E5.0020.0006][.15E7.0020.0006] # CIRCLED NUMBER FORTY SIX
+32BC ; [.15E5.0020.0006][.15E8.0020.0006] # CIRCLED NUMBER FORTY SEVEN
+32BD ; [.15E5.0020.0006][.15E9.0020.0006] # CIRCLED NUMBER FORTY EIGHT
+32BE ; [.15E5.0020.0006][.15EA.0020.0006] # CIRCLED NUMBER FORTY NINE
+33E3 ; [.15E5.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15E5.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15E5.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+0035 ; [.15E6.0020.0002] # DIGIT FIVE
+0665 ; [.15E6.0020.0002] # ARABIC-INDIC DIGIT FIVE
+06F5 ; [.15E6.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FIVE
+07C5 ; [.15E6.0020.0002] # NKO DIGIT FIVE
+096B ; [.15E6.0020.0002] # DEVANAGARI DIGIT FIVE
+09EB ; [.15E6.0020.0002] # BENGALI DIGIT FIVE
+0A6B ; [.15E6.0020.0002] # GURMUKHI DIGIT FIVE
+0AEB ; [.15E6.0020.0002] # GUJARATI DIGIT FIVE
+0B6B ; [.15E6.0020.0002] # ORIYA DIGIT FIVE
+0BEB ; [.15E6.0020.0002] # TAMIL DIGIT FIVE
+0C6B ; [.15E6.0020.0002] # TELUGU DIGIT FIVE
+0CEB ; [.15E6.0020.0002] # KANNADA DIGIT FIVE
+0D6B ; [.15E6.0020.0002] # MALAYALAM DIGIT FIVE
+0E55 ; [.15E6.0020.0002] # THAI DIGIT FIVE
+0ED5 ; [.15E6.0020.0002] # LAO DIGIT FIVE
+0F25 ; [.15E6.0020.0002] # TIBETAN DIGIT FIVE
+1045 ; [.15E6.0020.0002] # MYANMAR DIGIT FIVE
+1095 ; [.15E6.0020.0002] # MYANMAR SHAN DIGIT FIVE
+136D ; [.15E6.0020.0002] # ETHIOPIC DIGIT FIVE
+17E5 ; [.15E6.0020.0002] # KHMER DIGIT FIVE
+17F5 ; [.15E6.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM
+1815 ; [.15E6.0020.0002] # MONGOLIAN DIGIT FIVE
+194B ; [.15E6.0020.0002] # LIMBU DIGIT FIVE
+19D5 ; [.15E6.0020.0002] # NEW TAI LUE DIGIT FIVE
+1A85 ; [.15E6.0020.0002] # TAI THAM HORA DIGIT FIVE
+1A95 ; [.15E6.0020.0002] # TAI THAM THAM DIGIT FIVE
+1B55 ; [.15E6.0020.0002] # BALINESE DIGIT FIVE
+1BB5 ; [.15E6.0020.0002] # SUNDANESE DIGIT FIVE
+1C45 ; [.15E6.0020.0002] # LEPCHA DIGIT FIVE
+1C55 ; [.15E6.0020.0002] # OL CHIKI DIGIT FIVE
+3025 ; [.15E6.0020.0002] # HANGZHOU NUMERAL FIVE
+A625 ; [.15E6.0020.0002] # VAI DIGIT FIVE
+A8D5 ; [.15E6.0020.0002] # SAURASHTRA DIGIT FIVE
+A905 ; [.15E6.0020.0002] # KAYAH LI DIGIT FIVE
+A9D5 ; [.15E6.0020.0002] # JAVANESE DIGIT FIVE
+AA55 ; [.15E6.0020.0002] # CHAM DIGIT FIVE
+ABF5 ; [.15E6.0020.0002] # MEETEI MAYEK DIGIT FIVE
+1010B ; [.15E6.0020.0002] # AEGEAN NUMBER FIVE
+10143 ; [.15E6.0020.0002] # GREEK ACROPHONIC ATTIC FIVE
+10148 ; [.15E6.0020.0002] # GREEK ACROPHONIC ATTIC FIVE TALENTS
+1014F ; [.15E6.0020.0002] # GREEK ACROPHONIC ATTIC FIVE STATERS
+1015F ; [.15E6.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE
+10173 ; [.15E6.0020.0002] # GREEK ACROPHONIC DELPHIC FIVE MNAS
+10321 ; [.15E6.0020.0002] # OLD ITALIC NUMERAL FIVE
+104A5 ; [.15E6.0020.0002] # OSMANYA DIGIT FIVE
+10E64 ; [.15E6.0020.0002] # RUMI DIGIT FIVE
+11056 ; [.15E6.0020.0002] # BRAHMI NUMBER FIVE
+1106B ; [.15E6.0020.0002] # BRAHMI DIGIT FIVE
+110F5 ; [.15E6.0020.0002] # SORA SOMPENG DIGIT FIVE
+1113B ; [.15E6.0020.0002] # CHAKMA DIGIT FIVE
+111D5 ; [.15E6.0020.0002] # SHARADA DIGIT FIVE
+116C5 ; [.15E6.0020.0002] # TAKRI DIGIT FIVE
+12403 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH
+1240A ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE DISH
+12410 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE U
+12419 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESH2
+12422 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESHU
+12427 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12431 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHARU
+12439 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BURU
+1244D ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+12454 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 ; [.15E6.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+1D364 ; [.15E6.0020.0002] # COUNTING ROD UNIT DIGIT FIVE
+FF15 ; [.15E6.0020.0003] # FULLWIDTH DIGIT FIVE
+0F2E ; [.15E6.0020.0004] # TIBETAN DIGIT HALF FIVE
+2478 ; [*02FA.0020.0004][.15E6.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT FIVE
+248C ; [.15E6.0020.0004][*0272.0020.0004] # DIGIT FIVE FULL STOP
+1F106 ; [.15E6.0020.0004][*0220.0020.0004] # DIGIT FIVE COMMA
+1D7D3 ; [.15E6.0020.0005] # MATHEMATICAL BOLD DIGIT FIVE
+1D7DD ; [.15E6.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
+1D7E7 ; [.15E6.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FIVE
+1D7F1 ; [.15E6.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
+1D7FB ; [.15E6.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FIVE
+2464 ; [.15E6.0020.0006] # CIRCLED DIGIT FIVE
+24F9 ; [.15E6.0020.0006] # DOUBLE CIRCLED DIGIT FIVE
+277A ; [.15E6.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+2784 ; [.15E6.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+278E ; [.15E6.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+2075 ; [.15E6.0020.0014] # SUPERSCRIPT FIVE
+2085 ; [.15E6.0020.0015] # SUBSCRIPT FIVE
+324C ; [.15E6.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
+32BF ; [.15E6.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER FIFTY
+215A ; [.15E6.0020.001E][*05AF.0020.001E][.15E7.0020.001E] # VULGAR FRACTION FIVE SIXTHS
+215D ; [.15E6.0020.001E][*05AF.0020.001E][.15E9.0020.001E] # VULGAR FRACTION FIVE EIGHTHS
+33E4 ; [.15E6.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15E6.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15E6.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+0036 ; [.15E7.0020.0002] # DIGIT SIX
+0666 ; [.15E7.0020.0002] # ARABIC-INDIC DIGIT SIX
+06F6 ; [.15E7.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SIX
+07C6 ; [.15E7.0020.0002] # NKO DIGIT SIX
+096C ; [.15E7.0020.0002] # DEVANAGARI DIGIT SIX
+09EC ; [.15E7.0020.0002] # BENGALI DIGIT SIX
+0A6C ; [.15E7.0020.0002] # GURMUKHI DIGIT SIX
+0AEC ; [.15E7.0020.0002] # GUJARATI DIGIT SIX
+0B6C ; [.15E7.0020.0002] # ORIYA DIGIT SIX
+0BEC ; [.15E7.0020.0002] # TAMIL DIGIT SIX
+0C6C ; [.15E7.0020.0002] # TELUGU DIGIT SIX
+0CEC ; [.15E7.0020.0002] # KANNADA DIGIT SIX
+0D6C ; [.15E7.0020.0002] # MALAYALAM DIGIT SIX
+0E56 ; [.15E7.0020.0002] # THAI DIGIT SIX
+0ED6 ; [.15E7.0020.0002] # LAO DIGIT SIX
+0F26 ; [.15E7.0020.0002] # TIBETAN DIGIT SIX
+1046 ; [.15E7.0020.0002] # MYANMAR DIGIT SIX
+1096 ; [.15E7.0020.0002] # MYANMAR SHAN DIGIT SIX
+136E ; [.15E7.0020.0002] # ETHIOPIC DIGIT SIX
+17E6 ; [.15E7.0020.0002] # KHMER DIGIT SIX
+17F6 ; [.15E7.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
+1816 ; [.15E7.0020.0002] # MONGOLIAN DIGIT SIX
+194C ; [.15E7.0020.0002] # LIMBU DIGIT SIX
+19D6 ; [.15E7.0020.0002] # NEW TAI LUE DIGIT SIX
+1A86 ; [.15E7.0020.0002] # TAI THAM HORA DIGIT SIX
+1A96 ; [.15E7.0020.0002] # TAI THAM THAM DIGIT SIX
+1B56 ; [.15E7.0020.0002] # BALINESE DIGIT SIX
+1BB6 ; [.15E7.0020.0002] # SUNDANESE DIGIT SIX
+1C46 ; [.15E7.0020.0002] # LEPCHA DIGIT SIX
+1C56 ; [.15E7.0020.0002] # OL CHIKI DIGIT SIX
+2185 ; [.15E7.0020.0002] # ROMAN NUMERAL SIX LATE FORM
+3026 ; [.15E7.0020.0002] # HANGZHOU NUMERAL SIX
+A626 ; [.15E7.0020.0002] # VAI DIGIT SIX
+A8D6 ; [.15E7.0020.0002] # SAURASHTRA DIGIT SIX
+A906 ; [.15E7.0020.0002] # KAYAH LI DIGIT SIX
+A9D6 ; [.15E7.0020.0002] # JAVANESE DIGIT SIX
+AA56 ; [.15E7.0020.0002] # CHAM DIGIT SIX
+ABF6 ; [.15E7.0020.0002] # MEETEI MAYEK DIGIT SIX
+1010C ; [.15E7.0020.0002] # AEGEAN NUMBER SIX
+104A6 ; [.15E7.0020.0002] # OSMANYA DIGIT SIX
+10E65 ; [.15E7.0020.0002] # RUMI DIGIT SIX
+11057 ; [.15E7.0020.0002] # BRAHMI NUMBER SIX
+1106C ; [.15E7.0020.0002] # BRAHMI DIGIT SIX
+110F6 ; [.15E7.0020.0002] # SORA SOMPENG DIGIT SIX
+1113C ; [.15E7.0020.0002] # CHAKMA DIGIT SIX
+111D6 ; [.15E7.0020.0002] # SHARADA DIGIT SIX
+116C6 ; [.15E7.0020.0002] # TAKRI DIGIT SIX
+12404 ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH
+1240B ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX DISH
+12411 ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX U
+1241A ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX GESH2
+12428 ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX SHAR2
+12440 ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+1244E ; [.15E7.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
+1D365 ; [.15E7.0020.0002] # COUNTING ROD UNIT DIGIT SIX
+FF16 ; [.15E7.0020.0003] # FULLWIDTH DIGIT SIX
+0F2F ; [.15E7.0020.0004] # TIBETAN DIGIT HALF SIX
+2479 ; [*02FA.0020.0004][.15E7.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT SIX
+248D ; [.15E7.0020.0004][*0272.0020.0004] # DIGIT SIX FULL STOP
+1F107 ; [.15E7.0020.0004][*0220.0020.0004] # DIGIT SIX COMMA
+1D7D4 ; [.15E7.0020.0005] # MATHEMATICAL BOLD DIGIT SIX
+1D7DE ; [.15E7.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
+1D7E8 ; [.15E7.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SIX
+1D7F2 ; [.15E7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
+1D7FC ; [.15E7.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SIX
+2465 ; [.15E7.0020.0006] # CIRCLED DIGIT SIX
+24FA ; [.15E7.0020.0006] # DOUBLE CIRCLED DIGIT SIX
+277B ; [.15E7.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+2785 ; [.15E7.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+278F ; [.15E7.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2076 ; [.15E7.0020.0014] # SUPERSCRIPT SIX
+2086 ; [.15E7.0020.0015] # SUBSCRIPT SIX
+324D ; [.15E7.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
+33E5 ; [.15E7.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15E7.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15E7.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+0037 ; [.15E8.0020.0002] # DIGIT SEVEN
+0667 ; [.15E8.0020.0002] # ARABIC-INDIC DIGIT SEVEN
+06F7 ; [.15E8.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SEVEN
+07C7 ; [.15E8.0020.0002] # NKO DIGIT SEVEN
+096D ; [.15E8.0020.0002] # DEVANAGARI DIGIT SEVEN
+09ED ; [.15E8.0020.0002] # BENGALI DIGIT SEVEN
+0A6D ; [.15E8.0020.0002] # GURMUKHI DIGIT SEVEN
+0AED ; [.15E8.0020.0002] # GUJARATI DIGIT SEVEN
+0B6D ; [.15E8.0020.0002] # ORIYA DIGIT SEVEN
+0BED ; [.15E8.0020.0002] # TAMIL DIGIT SEVEN
+0C6D ; [.15E8.0020.0002] # TELUGU DIGIT SEVEN
+0CED ; [.15E8.0020.0002] # KANNADA DIGIT SEVEN
+0D6D ; [.15E8.0020.0002] # MALAYALAM DIGIT SEVEN
+0E57 ; [.15E8.0020.0002] # THAI DIGIT SEVEN
+0ED7 ; [.15E8.0020.0002] # LAO DIGIT SEVEN
+0F27 ; [.15E8.0020.0002] # TIBETAN DIGIT SEVEN
+1047 ; [.15E8.0020.0002] # MYANMAR DIGIT SEVEN
+1097 ; [.15E8.0020.0002] # MYANMAR SHAN DIGIT SEVEN
+136F ; [.15E8.0020.0002] # ETHIOPIC DIGIT SEVEN
+17E7 ; [.15E8.0020.0002] # KHMER DIGIT SEVEN
+17F7 ; [.15E8.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-PII
+1817 ; [.15E8.0020.0002] # MONGOLIAN DIGIT SEVEN
+194D ; [.15E8.0020.0002] # LIMBU DIGIT SEVEN
+19D7 ; [.15E8.0020.0002] # NEW TAI LUE DIGIT SEVEN
+1A87 ; [.15E8.0020.0002] # TAI THAM HORA DIGIT SEVEN
+1A97 ; [.15E8.0020.0002] # TAI THAM THAM DIGIT SEVEN
+1B57 ; [.15E8.0020.0002] # BALINESE DIGIT SEVEN
+1BB7 ; [.15E8.0020.0002] # SUNDANESE DIGIT SEVEN
+1C47 ; [.15E8.0020.0002] # LEPCHA DIGIT SEVEN
+1C57 ; [.15E8.0020.0002] # OL CHIKI DIGIT SEVEN
+3027 ; [.15E8.0020.0002] # HANGZHOU NUMERAL SEVEN
+A627 ; [.15E8.0020.0002] # VAI DIGIT SEVEN
+A8D7 ; [.15E8.0020.0002] # SAURASHTRA DIGIT SEVEN
+A907 ; [.15E8.0020.0002] # KAYAH LI DIGIT SEVEN
+A9D7 ; [.15E8.0020.0002] # JAVANESE DIGIT SEVEN
+AA57 ; [.15E8.0020.0002] # CHAM DIGIT SEVEN
+ABF7 ; [.15E8.0020.0002] # MEETEI MAYEK DIGIT SEVEN
+1010D ; [.15E8.0020.0002] # AEGEAN NUMBER SEVEN
+104A7 ; [.15E8.0020.0002] # OSMANYA DIGIT SEVEN
+10E66 ; [.15E8.0020.0002] # RUMI DIGIT SEVEN
+11058 ; [.15E8.0020.0002] # BRAHMI NUMBER SEVEN
+1106D ; [.15E8.0020.0002] # BRAHMI DIGIT SEVEN
+110F7 ; [.15E8.0020.0002] # SORA SOMPENG DIGIT SEVEN
+1113D ; [.15E8.0020.0002] # CHAKMA DIGIT SEVEN
+111D7 ; [.15E8.0020.0002] # SHARADA DIGIT SEVEN
+116C7 ; [.15E8.0020.0002] # TAKRI DIGIT SEVEN
+12405 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN ASH
+1240C ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN DISH
+12412 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN U
+1241B ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
+12429 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+12441 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 ; [.15E8.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+1D366 ; [.15E8.0020.0002] # COUNTING ROD UNIT DIGIT SEVEN
+FF17 ; [.15E8.0020.0003] # FULLWIDTH DIGIT SEVEN
+0F30 ; [.15E8.0020.0004] # TIBETAN DIGIT HALF SEVEN
+247A ; [*02FA.0020.0004][.15E8.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT SEVEN
+248E ; [.15E8.0020.0004][*0272.0020.0004] # DIGIT SEVEN FULL STOP
+1F108 ; [.15E8.0020.0004][*0220.0020.0004] # DIGIT SEVEN COMMA
+1D7D5 ; [.15E8.0020.0005] # MATHEMATICAL BOLD DIGIT SEVEN
+1D7DF ; [.15E8.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
+1D7E9 ; [.15E8.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
+1D7F3 ; [.15E8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
+1D7FD ; [.15E8.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SEVEN
+2466 ; [.15E8.0020.0006] # CIRCLED DIGIT SEVEN
+24FB ; [.15E8.0020.0006] # DOUBLE CIRCLED DIGIT SEVEN
+277C ; [.15E8.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+2786 ; [.15E8.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2790 ; [.15E8.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2077 ; [.15E8.0020.0014] # SUPERSCRIPT SEVEN
+2087 ; [.15E8.0020.0015] # SUBSCRIPT SEVEN
+324E ; [.15E8.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
+215E ; [.15E8.0020.001E][*05AF.0020.001E][.15E9.0020.001E] # VULGAR FRACTION SEVEN EIGHTHS
+33E6 ; [.15E8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15E8.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15E8.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+0038 ; [.15E9.0020.0002] # DIGIT EIGHT
+0668 ; [.15E9.0020.0002] # ARABIC-INDIC DIGIT EIGHT
+06F8 ; [.15E9.0020.0002] # EXTENDED ARABIC-INDIC DIGIT EIGHT
+07C8 ; [.15E9.0020.0002] # NKO DIGIT EIGHT
+096E ; [.15E9.0020.0002] # DEVANAGARI DIGIT EIGHT
+09EE ; [.15E9.0020.0002] # BENGALI DIGIT EIGHT
+0A6E ; [.15E9.0020.0002] # GURMUKHI DIGIT EIGHT
+0AEE ; [.15E9.0020.0002] # GUJARATI DIGIT EIGHT
+0B6E ; [.15E9.0020.0002] # ORIYA DIGIT EIGHT
+0BEE ; [.15E9.0020.0002] # TAMIL DIGIT EIGHT
+0C6E ; [.15E9.0020.0002] # TELUGU DIGIT EIGHT
+0CEE ; [.15E9.0020.0002] # KANNADA DIGIT EIGHT
+0D6E ; [.15E9.0020.0002] # MALAYALAM DIGIT EIGHT
+0E58 ; [.15E9.0020.0002] # THAI DIGIT EIGHT
+0ED8 ; [.15E9.0020.0002] # LAO DIGIT EIGHT
+0F28 ; [.15E9.0020.0002] # TIBETAN DIGIT EIGHT
+1048 ; [.15E9.0020.0002] # MYANMAR DIGIT EIGHT
+1098 ; [.15E9.0020.0002] # MYANMAR SHAN DIGIT EIGHT
+1370 ; [.15E9.0020.0002] # ETHIOPIC DIGIT EIGHT
+17E8 ; [.15E9.0020.0002] # KHMER DIGIT EIGHT
+17F8 ; [.15E9.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BEI
+1818 ; [.15E9.0020.0002] # MONGOLIAN DIGIT EIGHT
+194E ; [.15E9.0020.0002] # LIMBU DIGIT EIGHT
+19D8 ; [.15E9.0020.0002] # NEW TAI LUE DIGIT EIGHT
+1A88 ; [.15E9.0020.0002] # TAI THAM HORA DIGIT EIGHT
+1A98 ; [.15E9.0020.0002] # TAI THAM THAM DIGIT EIGHT
+1B58 ; [.15E9.0020.0002] # BALINESE DIGIT EIGHT
+1BB8 ; [.15E9.0020.0002] # SUNDANESE DIGIT EIGHT
+1C48 ; [.15E9.0020.0002] # LEPCHA DIGIT EIGHT
+1C58 ; [.15E9.0020.0002] # OL CHIKI DIGIT EIGHT
+3028 ; [.15E9.0020.0002] # HANGZHOU NUMERAL EIGHT
+A628 ; [.15E9.0020.0002] # VAI DIGIT EIGHT
+A8D8 ; [.15E9.0020.0002] # SAURASHTRA DIGIT EIGHT
+A908 ; [.15E9.0020.0002] # KAYAH LI DIGIT EIGHT
+A9D8 ; [.15E9.0020.0002] # JAVANESE DIGIT EIGHT
+AA58 ; [.15E9.0020.0002] # CHAM DIGIT EIGHT
+ABF8 ; [.15E9.0020.0002] # MEETEI MAYEK DIGIT EIGHT
+1010E ; [.15E9.0020.0002] # AEGEAN NUMBER EIGHT
+104A8 ; [.15E9.0020.0002] # OSMANYA DIGIT EIGHT
+10E67 ; [.15E9.0020.0002] # RUMI DIGIT EIGHT
+11059 ; [.15E9.0020.0002] # BRAHMI NUMBER EIGHT
+1106E ; [.15E9.0020.0002] # BRAHMI DIGIT EIGHT
+110F8 ; [.15E9.0020.0002] # SORA SOMPENG DIGIT EIGHT
+1113E ; [.15E9.0020.0002] # CHAKMA DIGIT EIGHT
+111D8 ; [.15E9.0020.0002] # SHARADA DIGIT EIGHT
+116C8 ; [.15E9.0020.0002] # TAKRI DIGIT EIGHT
+12406 ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT ASH
+1240D ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT DISH
+12413 ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT U
+1241C ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1242A ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+12444 ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 ; [.15E9.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+1D367 ; [.15E9.0020.0002] # COUNTING ROD UNIT DIGIT EIGHT
+FF18 ; [.15E9.0020.0003] # FULLWIDTH DIGIT EIGHT
+0F31 ; [.15E9.0020.0004] # TIBETAN DIGIT HALF EIGHT
+247B ; [*02FA.0020.0004][.15E9.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT EIGHT
+248F ; [.15E9.0020.0004][*0272.0020.0004] # DIGIT EIGHT FULL STOP
+1F109 ; [.15E9.0020.0004][*0220.0020.0004] # DIGIT EIGHT COMMA
+1D7D6 ; [.15E9.0020.0005] # MATHEMATICAL BOLD DIGIT EIGHT
+1D7E0 ; [.15E9.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
+1D7EA ; [.15E9.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
+1D7F4 ; [.15E9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
+1D7FE ; [.15E9.0020.0005] # MATHEMATICAL MONOSPACE DIGIT EIGHT
+2467 ; [.15E9.0020.0006] # CIRCLED DIGIT EIGHT
+24FC ; [.15E9.0020.0006] # DOUBLE CIRCLED DIGIT EIGHT
+277D ; [.15E9.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+2787 ; [.15E9.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2791 ; [.15E9.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2078 ; [.15E9.0020.0014] # SUPERSCRIPT EIGHT
+2088 ; [.15E9.0020.0015] # SUBSCRIPT EIGHT
+324F ; [.15E9.0020.0006][.15E1.0020.0006] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+33E7 ; [.15E9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15E9.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15E9.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+0039 ; [.15EA.0020.0002] # DIGIT NINE
+0669 ; [.15EA.0020.0002] # ARABIC-INDIC DIGIT NINE
+06F9 ; [.15EA.0020.0002] # EXTENDED ARABIC-INDIC DIGIT NINE
+07C9 ; [.15EA.0020.0002] # NKO DIGIT NINE
+096F ; [.15EA.0020.0002] # DEVANAGARI DIGIT NINE
+09EF ; [.15EA.0020.0002] # BENGALI DIGIT NINE
+0A6F ; [.15EA.0020.0002] # GURMUKHI DIGIT NINE
+0AEF ; [.15EA.0020.0002] # GUJARATI DIGIT NINE
+0B6F ; [.15EA.0020.0002] # ORIYA DIGIT NINE
+0BEF ; [.15EA.0020.0002] # TAMIL DIGIT NINE
+0C6F ; [.15EA.0020.0002] # TELUGU DIGIT NINE
+0CEF ; [.15EA.0020.0002] # KANNADA DIGIT NINE
+0D6F ; [.15EA.0020.0002] # MALAYALAM DIGIT NINE
+0E59 ; [.15EA.0020.0002] # THAI DIGIT NINE
+0ED9 ; [.15EA.0020.0002] # LAO DIGIT NINE
+0F29 ; [.15EA.0020.0002] # TIBETAN DIGIT NINE
+1049 ; [.15EA.0020.0002] # MYANMAR DIGIT NINE
+1099 ; [.15EA.0020.0002] # MYANMAR SHAN DIGIT NINE
+1371 ; [.15EA.0020.0002] # ETHIOPIC DIGIT NINE
+17E9 ; [.15EA.0020.0002] # KHMER DIGIT NINE
+17F9 ; [.15EA.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BUON
+1819 ; [.15EA.0020.0002] # MONGOLIAN DIGIT NINE
+194F ; [.15EA.0020.0002] # LIMBU DIGIT NINE
+19D9 ; [.15EA.0020.0002] # NEW TAI LUE DIGIT NINE
+1A89 ; [.15EA.0020.0002] # TAI THAM HORA DIGIT NINE
+1A99 ; [.15EA.0020.0002] # TAI THAM THAM DIGIT NINE
+1B59 ; [.15EA.0020.0002] # BALINESE DIGIT NINE
+1BB9 ; [.15EA.0020.0002] # SUNDANESE DIGIT NINE
+1C49 ; [.15EA.0020.0002] # LEPCHA DIGIT NINE
+1C59 ; [.15EA.0020.0002] # OL CHIKI DIGIT NINE
+3029 ; [.15EA.0020.0002] # HANGZHOU NUMERAL NINE
+A629 ; [.15EA.0020.0002] # VAI DIGIT NINE
+A8D9 ; [.15EA.0020.0002] # SAURASHTRA DIGIT NINE
+A909 ; [.15EA.0020.0002] # KAYAH LI DIGIT NINE
+A9D9 ; [.15EA.0020.0002] # JAVANESE DIGIT NINE
+AA59 ; [.15EA.0020.0002] # CHAM DIGIT NINE
+ABF9 ; [.15EA.0020.0002] # MEETEI MAYEK DIGIT NINE
+1010F ; [.15EA.0020.0002] # AEGEAN NUMBER NINE
+104A9 ; [.15EA.0020.0002] # OSMANYA DIGIT NINE
+10E68 ; [.15EA.0020.0002] # RUMI DIGIT NINE
+1105A ; [.15EA.0020.0002] # BRAHMI NUMBER NINE
+1106F ; [.15EA.0020.0002] # BRAHMI DIGIT NINE
+110F9 ; [.15EA.0020.0002] # SORA SOMPENG DIGIT NINE
+1113F ; [.15EA.0020.0002] # CHAKMA DIGIT NINE
+111D9 ; [.15EA.0020.0002] # SHARADA DIGIT NINE
+116C9 ; [.15EA.0020.0002] # TAKRI DIGIT NINE
+12407 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE ASH
+1240E ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE DISH
+12414 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE U
+1241D ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE GESH2
+1242B ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE SHAR2
+12446 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 ; [.15EA.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+1D368 ; [.15EA.0020.0002] # COUNTING ROD UNIT DIGIT NINE
+FF19 ; [.15EA.0020.0003] # FULLWIDTH DIGIT NINE
+0F32 ; [.15EA.0020.0004] # TIBETAN DIGIT HALF NINE
+247C ; [*02FA.0020.0004][.15EA.0020.0004][*02FB.0020.0004] # PARENTHESIZED DIGIT NINE
+2490 ; [.15EA.0020.0004][*0272.0020.0004] # DIGIT NINE FULL STOP
+1F10A ; [.15EA.0020.0004][*0220.0020.0004] # DIGIT NINE COMMA
+1D7D7 ; [.15EA.0020.0005] # MATHEMATICAL BOLD DIGIT NINE
+1D7E1 ; [.15EA.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
+1D7EB ; [.15EA.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT NINE
+1D7F5 ; [.15EA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
+1D7FF ; [.15EA.0020.0005] # MATHEMATICAL MONOSPACE DIGIT NINE
+2468 ; [.15EA.0020.0006] # CIRCLED DIGIT NINE
+24FD ; [.15EA.0020.0006] # DOUBLE CIRCLED DIGIT NINE
+277E ; [.15EA.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+2788 ; [.15EA.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2792 ; [.15EA.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2079 ; [.15EA.0020.0014] # SUPERSCRIPT NINE
+2089 ; [.15EA.0020.0015] # SUBSCRIPT NINE
+33E8 ; [.15EA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15EA.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15EA.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+0061 ; [.15EB.0020.0002] # LATIN SMALL LETTER A
+FF41 ; [.15EB.0020.0003] # FULLWIDTH LATIN SMALL LETTER A
+0363 ; [.15EB.0020.0004] # COMBINING LATIN SMALL LETTER A
+249C ; [*02FA.0020.0004][.15EB.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER A
+1D41A ; [.15EB.0020.0005] # MATHEMATICAL BOLD SMALL A
+1D44E ; [.15EB.0020.0005] # MATHEMATICAL ITALIC SMALL A
+1D482 ; [.15EB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL A
+1D4B6 ; [.15EB.0020.0005] # MATHEMATICAL SCRIPT SMALL A
+1D4EA ; [.15EB.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL A
+1D51E ; [.15EB.0020.0005] # MATHEMATICAL FRAKTUR SMALL A
+1D552 ; [.15EB.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL A
+1D586 ; [.15EB.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL A
+1D5BA ; [.15EB.0020.0005] # MATHEMATICAL SANS-SERIF SMALL A
+1D5EE ; [.15EB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL A
+1D622 ; [.15EB.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
+1D656 ; [.15EB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
+1D68A ; [.15EB.0020.0005] # MATHEMATICAL MONOSPACE SMALL A
+24D0 ; [.15EB.0020.0006] # CIRCLED LATIN SMALL LETTER A
+0041 ; [.15EB.0020.0008] # LATIN CAPITAL LETTER A
+FF21 ; [.15EB.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER A
+1F110 ; [*02FA.0020.0004][.15EB.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER A
+1D400 ; [.15EB.0020.000B] # MATHEMATICAL BOLD CAPITAL A
+1D434 ; [.15EB.0020.000B] # MATHEMATICAL ITALIC CAPITAL A
+1D468 ; [.15EB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL A
+1D49C ; [.15EB.0020.000B] # MATHEMATICAL SCRIPT CAPITAL A
+1D4D0 ; [.15EB.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL A
+1D504 ; [.15EB.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL A
+1D538 ; [.15EB.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+1D56C ; [.15EB.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
+1D5A0 ; [.15EB.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL A
+1D5D4 ; [.15EB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
+1D608 ; [.15EB.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
+1D63C ; [.15EB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
+1D670 ; [.15EB.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL A
+24B6 ; [.15EB.0020.000C] # CIRCLED LATIN CAPITAL LETTER A
+1F150 ; [.15EB.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
+00AA ; [.15EB.0020.0014] # FEMININE ORDINAL INDICATOR
+1D43 ; [.15EB.0020.0014] # MODIFIER LETTER SMALL A
+2090 ; [.15EB.0020.0015] # LATIN SUBSCRIPT SMALL LETTER A
+1D2C ; [.15EB.0020.001D] # MODIFIER LETTER CAPITAL A
+1F130 ; [.15EB.0020.001D] # SQUARED LATIN CAPITAL LETTER A
+1F170 ; [.15EB.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
+00E1 ; [.15EB.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EB.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH ACUTE
+00E0 ; [.15EB.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EB.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH GRAVE
+0103 ; [.15EB.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15EB.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE
+1EAF ; [.15EB.0020.0002][.0000.0026.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15EB.0020.0008][.0000.0026.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB1 ; [.15EB.0020.0002][.0000.0026.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15EB.0020.0008][.0000.0026.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB5 ; [.15EB.0020.0002][.0000.0026.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15EB.0020.0008][.0000.0026.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15EB.0020.0002][.0000.0026.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15EB.0020.0008][.0000.0026.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+00E2 ; [.15EB.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15EB.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA5 ; [.15EB.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15EB.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7 ; [.15EB.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15EB.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EAB ; [.15EB.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15EB.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15EB.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15EB.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01CE ; [.15EB.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EB.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER A WITH CARON
+00E5 ; [.15EB.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.15EB.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.15EB.0020.0008][.0000.0029.0002] # ANGSTROM SIGN
+01FB ; [.15EB.0020.0002][.0000.0029.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.15EB.0020.0008][.0000.0029.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.15EB.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15EB.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15EB.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15EB.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.15EB.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.15EB.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH TILDE
+0227 ; [.15EB.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.15EB.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+01E1 ; [.15EB.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E0 ; [.15EB.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+0105 ; [.15EB.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15EB.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER A WITH OGONEK
+0101 ; [.15EB.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EB.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH MACRON
+1EA3 ; [.15EB.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2 ; [.15EB.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0201 ; [.15EB.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0200 ; [.15EB.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0203 ; [.15EB.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER A WITH INVERTED BREVE
+0202 ; [.15EB.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+1EA1 ; [.15EB.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0 ; [.15EB.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB7 ; [.15EB.0020.0002][.0000.0042.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15EB.0020.0008][.0000.0042.0002][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EAD ; [.15EB.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15EB.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1E01 ; [.15EB.0020.0002][.0000.0044.0002] # LATIN SMALL LETTER A WITH RING BELOW
+1E00 ; [.15EB.0020.0008][.0000.0044.0002] # LATIN CAPITAL LETTER A WITH RING BELOW
+1DD3 ; [.15EB.0020.0004][.0000.00FC.0004] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
+A733 ; [.15EB.0020.0004][.15EB.0020.0004] # LATIN SMALL LETTER AA
+A732 ; [.15EB.0020.000A][.15EB.0020.000A] # LATIN CAPITAL LETTER AA
+1F18E ; [.15EB.0020.001D][.1601.0020.001D] # NEGATIVE SQUARED AB
+2100 ; [.15EB.0020.0004][*0375.0020.0004][.1619.0020.0004] # ACCOUNT OF
+00E6 ; [.15EB.0020.0004][.0000.00FC.0004][.1648.0020.0004] # LATIN SMALL LETTER AE
+1DD4 ; [.15EB.0020.0004][.0000.00FC.0004][.1648.0020.0004] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.15EB.0020.000A][.0000.00FC.0004][.1648.0020.000A] # LATIN CAPITAL LETTER AE
+1D2D ; [.15EB.0020.0014][.0000.00FC.0014][.1648.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD ; [.15EB.0020.0004][.0000.00FC.0004][.1648.0020.0004][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.15EB.0020.000A][.0000.00FC.0004][.1648.0020.000A][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.15EB.0020.0004][.0000.00FC.0004][.1648.0020.0004][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.15EB.0020.000A][.0000.00FC.0004][.1648.0020.000A][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+33C2 ; [.15EB.0020.001C][*0272.0020.001C][.173D.0020.001C][*0272.0020.001C] # SQUARE AM
+33DF ; [.15EB.0020.001D][*05AE.0020.001C][.173D.0020.001C] # SQUARE A OVER M
+1DD5 ; [.15EB.0020.0004][.176D.0020.0004] # COMBINING LATIN SMALL LETTER AO
+A735 ; [.15EB.0020.0004][.176D.0020.0004] # LATIN SMALL LETTER AO
+A734 ; [.15EB.0020.000A][.176D.0020.000A] # LATIN CAPITAL LETTER AO
+2101 ; [.15EB.0020.0004][*0375.0020.0004][.17EF.0020.0004] # ADDRESSED TO THE SUBJECT
+214D ; [.15EB.0020.000A][*0375.0020.0004][.17EF.0020.000A] # AKTIESELSKAB
+A737 ; [.15EB.0020.0004][.1832.0020.0004] # LATIN SMALL LETTER AU
+A736 ; [.15EB.0020.000A][.1832.0020.000A] # LATIN CAPITAL LETTER AU
+3373 ; [.15EB.0020.001D][.1832.0020.001D] # SQUARE AU
+1DD6 ; [.15EB.0020.0004][.185B.0020.0004] # COMBINING LATIN SMALL LETTER AV
+A739 ; [.15EB.0020.0004][.185B.0020.0004] # LATIN SMALL LETTER AV
+A738 ; [.15EB.0020.000A][.185B.0020.000A] # LATIN CAPITAL LETTER AV
+A73B ; [.15EB.0020.0004][.0000.00FC.0004][.185B.0020.0004] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73A ; [.15EB.0020.000A][.0000.00FC.0004][.185B.0020.000A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73D ; [.15EB.0020.0004][.187C.0020.0004] # LATIN SMALL LETTER AY
+A73C ; [.15EB.0020.000A][.187C.0020.000A] # LATIN CAPITAL LETTER AY
+1E9A ; [.15EB.0020.0004][.18ED.0020.0004] # LATIN SMALL LETTER A WITH RIGHT HALF RING
+1D00 ; [.15EF.0020.0002] # LATIN LETTER SMALL CAPITAL A
+2C65 ; [.15F0.0020.0002] # LATIN SMALL LETTER A WITH STROKE
+023A ; [.15F0.0020.0008] # LATIN CAPITAL LETTER A WITH STROKE
+1D8F ; [.15F1.0020.0002] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
+1D01 ; [.15F2.0020.0002] # LATIN LETTER SMALL CAPITAL AE
+1D02 ; [.15F3.0020.0002] # LATIN SMALL LETTER TURNED AE
+1D46 ; [.15F3.0020.0014] # MODIFIER LETTER SMALL TURNED AE
+0250 ; [.15F4.0020.0002] # LATIN SMALL LETTER TURNED A
+2C6F ; [.15F4.0020.0008] # LATIN CAPITAL LETTER TURNED A
+1D44 ; [.15F4.0020.0014] # MODIFIER LETTER SMALL TURNED A
+0251 ; [.15F8.0020.0002] # LATIN SMALL LETTER ALPHA
+2C6D ; [.15F8.0020.0008] # LATIN CAPITAL LETTER ALPHA
+1D45 ; [.15F8.0020.0014] # MODIFIER LETTER SMALL ALPHA
+1D90 ; [.15FC.0020.0002] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+0252 ; [.15FD.0020.0002] # LATIN SMALL LETTER TURNED ALPHA
+2C70 ; [.15FD.0020.0008] # LATIN CAPITAL LETTER TURNED ALPHA
+1D9B ; [.15FD.0020.0014] # MODIFIER LETTER SMALL TURNED ALPHA
+0062 ; [.1601.0020.0002] # LATIN SMALL LETTER B
+FF42 ; [.1601.0020.0003] # FULLWIDTH LATIN SMALL LETTER B
+249D ; [*02FA.0020.0004][.1601.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER B
+1D41B ; [.1601.0020.0005] # MATHEMATICAL BOLD SMALL B
+1D44F ; [.1601.0020.0005] # MATHEMATICAL ITALIC SMALL B
+1D483 ; [.1601.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL B
+1D4B7 ; [.1601.0020.0005] # MATHEMATICAL SCRIPT SMALL B
+1D4EB ; [.1601.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL B
+1D51F ; [.1601.0020.0005] # MATHEMATICAL FRAKTUR SMALL B
+1D553 ; [.1601.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL B
+1D587 ; [.1601.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL B
+1D5BB ; [.1601.0020.0005] # MATHEMATICAL SANS-SERIF SMALL B
+1D5EF ; [.1601.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL B
+1D623 ; [.1601.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
+1D657 ; [.1601.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
+1D68B ; [.1601.0020.0005] # MATHEMATICAL MONOSPACE SMALL B
+24D1 ; [.1601.0020.0006] # CIRCLED LATIN SMALL LETTER B
+0042 ; [.1601.0020.0008] # LATIN CAPITAL LETTER B
+FF22 ; [.1601.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER B
+1F111 ; [*02FA.0020.0004][.1601.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER B
+212C ; [.1601.0020.000B] # SCRIPT CAPITAL B
+1D401 ; [.1601.0020.000B] # MATHEMATICAL BOLD CAPITAL B
+1D435 ; [.1601.0020.000B] # MATHEMATICAL ITALIC CAPITAL B
+1D469 ; [.1601.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL B
+1D4D1 ; [.1601.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL B
+1D505 ; [.1601.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL B
+1D539 ; [.1601.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D56D ; [.1601.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
+1D5A1 ; [.1601.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL B
+1D5D5 ; [.1601.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
+1D609 ; [.1601.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
+1D63D ; [.1601.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
+1D671 ; [.1601.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL B
+24B7 ; [.1601.0020.000C] # CIRCLED LATIN CAPITAL LETTER B
+1F151 ; [.1601.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
+1D47 ; [.1601.0020.0014] # MODIFIER LETTER SMALL B
+1D2E ; [.1601.0020.001D] # MODIFIER LETTER CAPITAL B
+1F131 ; [.1601.0020.001D] # SQUARED LATIN CAPITAL LETTER B
+1F171 ; [.1601.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1E03 ; [.1601.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER B WITH DOT ABOVE
+1E02 ; [.1601.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E05 ; [.1601.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER B WITH DOT BELOW
+1E04 ; [.1601.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER B WITH DOT BELOW
+1E07 ; [.1601.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER B WITH LINE BELOW
+1E06 ; [.1601.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER B WITH LINE BELOW
+3374 ; [.1601.0020.001C][.15EB.0020.001C][.17B9.0020.001C] # SQUARE BAR
+33C3 ; [.1601.0020.001D][.17A7.0020.001C] # SQUARE BQ
+0299 ; [.1605.0020.0002] # LATIN LETTER SMALL CAPITAL B
+0180 ; [.1609.0020.0002] # LATIN SMALL LETTER B WITH STROKE
+0243 ; [.1609.0020.0008] # LATIN CAPITAL LETTER B WITH STROKE
+1D2F ; [.160D.0020.0002] # MODIFIER LETTER CAPITAL BARRED B
+1D03 ; [.160E.0020.0002] # LATIN LETTER SMALL CAPITAL BARRED B
+1D6C ; [.160F.0020.0002] # LATIN SMALL LETTER B WITH MIDDLE TILDE
+1D80 ; [.1610.0020.0002] # LATIN SMALL LETTER B WITH PALATAL HOOK
+0253 ; [.1611.0020.0002] # LATIN SMALL LETTER B WITH HOOK
+0181 ; [.1611.0020.0008] # LATIN CAPITAL LETTER B WITH HOOK
+0183 ; [.1615.0020.0002] # LATIN SMALL LETTER B WITH TOPBAR
+0182 ; [.1615.0020.0008] # LATIN CAPITAL LETTER B WITH TOPBAR
+0063 ; [.1619.0020.0002] # LATIN SMALL LETTER C
+FF43 ; [.1619.0020.0003] # FULLWIDTH LATIN SMALL LETTER C
+0368 ; [.1619.0020.0004] # COMBINING LATIN SMALL LETTER C
+217D ; [.1619.0020.0004] # SMALL ROMAN NUMERAL ONE HUNDRED
+249E ; [*02FA.0020.0004][.1619.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER C
+1D41C ; [.1619.0020.0005] # MATHEMATICAL BOLD SMALL C
+1D450 ; [.1619.0020.0005] # MATHEMATICAL ITALIC SMALL C
+1D484 ; [.1619.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL C
+1D4B8 ; [.1619.0020.0005] # MATHEMATICAL SCRIPT SMALL C
+1D4EC ; [.1619.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL C
+1D520 ; [.1619.0020.0005] # MATHEMATICAL FRAKTUR SMALL C
+1D554 ; [.1619.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL C
+1D588 ; [.1619.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL C
+1D5BC ; [.1619.0020.0005] # MATHEMATICAL SANS-SERIF SMALL C
+1D5F0 ; [.1619.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL C
+1D624 ; [.1619.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
+1D658 ; [.1619.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
+1D68C ; [.1619.0020.0005] # MATHEMATICAL MONOSPACE SMALL C
+24D2 ; [.1619.0020.0006] # CIRCLED LATIN SMALL LETTER C
+0043 ; [.1619.0020.0008] # LATIN CAPITAL LETTER C
+FF23 ; [.1619.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER C
+2103 ; [*0485.0020.0004][.1619.0020.000A] # DEGREE CELSIUS
+216D ; [.1619.0020.000A] # ROMAN NUMERAL ONE HUNDRED
+1F112 ; [*02FA.0020.0004][.1619.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER C
+2102 ; [.1619.0020.000B] # DOUBLE-STRUCK CAPITAL C
+212D ; [.1619.0020.000B] # BLACK-LETTER CAPITAL C
+1D402 ; [.1619.0020.000B] # MATHEMATICAL BOLD CAPITAL C
+1D436 ; [.1619.0020.000B] # MATHEMATICAL ITALIC CAPITAL C
+1D46A ; [.1619.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL C
+1D49E ; [.1619.0020.000B] # MATHEMATICAL SCRIPT CAPITAL C
+1D4D2 ; [.1619.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL C
+1D56E ; [.1619.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
+1D5A2 ; [.1619.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL C
+1D5D6 ; [.1619.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
+1D60A ; [.1619.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
+1D63E ; [.1619.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
+1D672 ; [.1619.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL C
+24B8 ; [.1619.0020.000C] # CIRCLED LATIN CAPITAL LETTER C
+1F12B ; [.1619.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER C
+1F152 ; [.1619.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
+1D9C ; [.1619.0020.0014] # MODIFIER LETTER SMALL C
+1F132 ; [.1619.0020.001D] # SQUARED LATIN CAPITAL LETTER C
+1F172 ; [.1619.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
+0107 ; [.1619.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.1619.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH ACUTE
+0109 ; [.1619.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108 ; [.1619.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010D ; [.1619.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1619.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER C WITH CARON
+010B ; [.1619.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.1619.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+00E7 ; [.1619.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER C WITH CEDILLA
+1DD7 ; [.1619.0020.0004][.0000.0030.0004] # COMBINING LATIN SMALL LETTER C CEDILLA
+00C7 ; [.1619.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER C WITH CEDILLA
+1E09 ; [.1619.0020.0002][.0000.0030.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E08 ; [.1619.0020.0008][.0000.0030.0002][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+3388 ; [.1619.0020.001C][.15EB.0020.001C][.170D.0020.001C] # SQUARE CAL
+33C4 ; [.1619.0020.001C][.1619.0020.001C] # SQUARE CC
+1F12D ; [.1619.0020.000C][.162D.0020.000C] # CIRCLED CD
+33C5 ; [.1619.0020.001C][.162D.0020.001C] # SQUARE CD
+33C6 ; [.1619.0020.001D][*05AE.0020.001C][.16FB.0020.001C][.168D.0020.001C] # SQUARE C OVER KG
+1F191 ; [.1619.0020.001D][.170D.0020.001D] # SQUARED CL
+339D ; [.1619.0020.001C][.173D.0020.001C] # SQUARE CM
+33A0 ; [.1619.0020.001C][.173D.0020.001C][.15E3.0020.001C] # SQUARE CM SQUARED
+33A4 ; [.1619.0020.001C][.173D.0020.001C][.15E4.0020.001C] # SQUARE CM CUBED
+2105 ; [.1619.0020.0004][*0375.0020.0004][.176D.0020.0004] # CARE OF
+33C7 ; [.1619.0020.001D][.176D.0020.001C][*0272.0020.001C] # SQUARE CO
+1F192 ; [.1619.0020.001D][.176D.0020.001D][.176D.0020.001D][.170D.0020.001D] # SQUARED COOL
+2106 ; [.1619.0020.0004][*0375.0020.0004][.1832.0020.0004] # CADA UNA
+1D04 ; [.161D.0020.0002] # LATIN LETTER SMALL CAPITAL C
+023C ; [.161E.0020.0002] # LATIN SMALL LETTER C WITH STROKE
+023B ; [.161E.0020.0008] # LATIN CAPITAL LETTER C WITH STROKE
+A793 ; [.1622.0020.0002] # LATIN SMALL LETTER C WITH BAR
+A792 ; [.1622.0020.0008] # LATIN CAPITAL LETTER C WITH BAR
+0188 ; [.1623.0020.0002] # LATIN SMALL LETTER C WITH HOOK
+0187 ; [.1623.0020.0008] # LATIN CAPITAL LETTER C WITH HOOK
+0255 ; [.1627.0020.0002] # LATIN SMALL LETTER C WITH CURL
+1D9D ; [.1627.0020.0014] # MODIFIER LETTER SMALL C WITH CURL
+2184 ; [.162B.0020.0002] # LATIN SMALL LETTER REVERSED C
+2183 ; [.162B.0020.0008] # ROMAN NUMERAL REVERSED ONE HUNDRED
+A73F ; [.162C.0020.0002] # LATIN SMALL LETTER REVERSED C WITH DOT
+A73E ; [.162C.0020.0008] # LATIN CAPITAL LETTER REVERSED C WITH DOT
+0064 ; [.162D.0020.0002] # LATIN SMALL LETTER D
+FF44 ; [.162D.0020.0003] # FULLWIDTH LATIN SMALL LETTER D
+0369 ; [.162D.0020.0004] # COMBINING LATIN SMALL LETTER D
+217E ; [.162D.0020.0004] # SMALL ROMAN NUMERAL FIVE HUNDRED
+249F ; [*02FA.0020.0004][.162D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER D
+2146 ; [.162D.0020.0005] # DOUBLE-STRUCK ITALIC SMALL D
+1D41D ; [.162D.0020.0005] # MATHEMATICAL BOLD SMALL D
+1D451 ; [.162D.0020.0005] # MATHEMATICAL ITALIC SMALL D
+1D485 ; [.162D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL D
+1D4B9 ; [.162D.0020.0005] # MATHEMATICAL SCRIPT SMALL D
+1D4ED ; [.162D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL D
+1D521 ; [.162D.0020.0005] # MATHEMATICAL FRAKTUR SMALL D
+1D555 ; [.162D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL D
+1D589 ; [.162D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL D
+1D5BD ; [.162D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL D
+1D5F1 ; [.162D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL D
+1D625 ; [.162D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
+1D659 ; [.162D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
+1D68D ; [.162D.0020.0005] # MATHEMATICAL MONOSPACE SMALL D
+24D3 ; [.162D.0020.0006] # CIRCLED LATIN SMALL LETTER D
+0044 ; [.162D.0020.0008] # LATIN CAPITAL LETTER D
+FF24 ; [.162D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER D
+216E ; [.162D.0020.000A] # ROMAN NUMERAL FIVE HUNDRED
+1F113 ; [*02FA.0020.0004][.162D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER D
+2145 ; [.162D.0020.000B] # DOUBLE-STRUCK ITALIC CAPITAL D
+1D403 ; [.162D.0020.000B] # MATHEMATICAL BOLD CAPITAL D
+1D437 ; [.162D.0020.000B] # MATHEMATICAL ITALIC CAPITAL D
+1D46B ; [.162D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL D
+1D49F ; [.162D.0020.000B] # MATHEMATICAL SCRIPT CAPITAL D
+1D4D3 ; [.162D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL D
+1D507 ; [.162D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL D
+1D53B ; [.162D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+1D56F ; [.162D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
+1D5A3 ; [.162D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL D
+1D5D7 ; [.162D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
+1D60B ; [.162D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
+1D63F ; [.162D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
+1D673 ; [.162D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL D
+24B9 ; [.162D.0020.000C] # CIRCLED LATIN CAPITAL LETTER D
+1F153 ; [.162D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
+1D48 ; [.162D.0020.0014] # MODIFIER LETTER SMALL D
+1D30 ; [.162D.0020.001D] # MODIFIER LETTER CAPITAL D
+1F133 ; [.162D.0020.001D] # SQUARED LATIN CAPITAL LETTER D
+1F173 ; [.162D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
+010F ; [.162D.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER D WITH CARON
+010E ; [.162D.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER D WITH CARON
+1E0B ; [.162D.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER D WITH DOT ABOVE
+1E0A ; [.162D.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E11 ; [.162D.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER D WITH CEDILLA
+1E10 ; [.162D.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER D WITH CEDILLA
+0111 ; [.162D.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.162D.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+1E0D ; [.162D.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER D WITH DOT BELOW
+1E0C ; [.162D.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER D WITH DOT BELOW
+1E13 ; [.162D.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E12 ; [.162D.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E0F ; [.162D.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER D WITH LINE BELOW
+1E0E ; [.162D.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER D WITH LINE BELOW
+00F0 ; [.162D.0020.0004][.0000.00FC.0004] # LATIN SMALL LETTER ETH
+1DD9 ; [.162D.0020.0004][.0000.00FC.0004] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.162D.0020.000A][.0000.00FC.0004] # LATIN CAPITAL LETTER ETH
+1D9E ; [.162D.0020.0014][.0000.00FC.0014] # MODIFIER LETTER SMALL ETH
+1DD8 ; [.162D.0020.0004][.0000.00FD.0004] # COMBINING LATIN SMALL LETTER INSULAR D
+A77A ; [.162D.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR D
+A779 ; [.162D.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR D
+3372 ; [.162D.0020.001C][.15EB.0020.001C] # SQUARE DA
+0238 ; [.162D.0020.0004][.1601.0020.0004] # LATIN SMALL LETTER DB DIGRAPH
+33C8 ; [.162D.0020.001C][.1601.0020.001D] # SQUARE DB
+1F190 ; [.162D.0020.001D][.16E2.0020.001D] # SQUARE DJ
+3397 ; [.162D.0020.001C][.170D.0020.001C] # SQUARE DL
+3377 ; [.162D.0020.001C][.173D.0020.001C] # SQUARE DM
+3378 ; [.162D.0020.001C][.173D.0020.001C][.15E3.0020.001C] # SQUARE DM SQUARED
+3379 ; [.162D.0020.001C][.173D.0020.001C][.15E4.0020.001C] # SQUARE DM CUBED
+01F3 ; [.162D.0020.0004][.1891.0020.0004] # LATIN SMALL LETTER DZ
+02A3 ; [.162D.0020.0004][.1891.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH
+01F2 ; [.162D.0020.000A][.1891.0020.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01F1 ; [.162D.0020.000A][.1891.0020.000A] # LATIN CAPITAL LETTER DZ
+01C6 ; [.162D.0020.0004][.1891.0020.0004][.0000.0028.0004] # LATIN SMALL LETTER DZ WITH CARON
+01C5 ; [.162D.0020.000A][.1891.0020.0004][.0000.0028.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C4 ; [.162D.0020.000A][.1891.0020.000A][.0000.0028.0004] # LATIN CAPITAL LETTER DZ WITH CARON
+02A5 ; [.162D.0020.0004][.18A4.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+02A4 ; [.162D.0020.0004][.18AE.0020.0004] # LATIN SMALL LETTER DEZH DIGRAPH
+1D05 ; [.1631.0020.0002] # LATIN LETTER SMALL CAPITAL D
+1D06 ; [.1632.0020.0002] # LATIN LETTER SMALL CAPITAL ETH
+1D6D ; [.1633.0020.0002] # LATIN SMALL LETTER D WITH MIDDLE TILDE
+1D81 ; [.1634.0020.0002] # LATIN SMALL LETTER D WITH PALATAL HOOK
+0256 ; [.1635.0020.0002] # LATIN SMALL LETTER D WITH TAIL
+0189 ; [.1635.0020.0008] # LATIN CAPITAL LETTER AFRICAN D
+0257 ; [.1639.0020.0002] # LATIN SMALL LETTER D WITH HOOK
+018A ; [.1639.0020.0008] # LATIN CAPITAL LETTER D WITH HOOK
+1D91 ; [.163D.0020.0002] # LATIN SMALL LETTER D WITH HOOK AND TAIL
+018C ; [.163E.0020.0002] # LATIN SMALL LETTER D WITH TOPBAR
+018B ; [.163E.0020.0008] # LATIN CAPITAL LETTER D WITH TOPBAR
+0221 ; [.1642.0020.0002] # LATIN SMALL LETTER D WITH CURL
+A771 ; [.1646.0020.0002] # LATIN SMALL LETTER DUM
+1E9F ; [.1647.0020.0002] # LATIN SMALL LETTER DELTA
+0065 ; [.1648.0020.0002] # LATIN SMALL LETTER E
+FF45 ; [.1648.0020.0003] # FULLWIDTH LATIN SMALL LETTER E
+0364 ; [.1648.0020.0004] # COMBINING LATIN SMALL LETTER E
+24A0 ; [*02FA.0020.0004][.1648.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER E
+212F ; [.1648.0020.0005] # SCRIPT SMALL E
+2147 ; [.1648.0020.0005] # DOUBLE-STRUCK ITALIC SMALL E
+1D41E ; [.1648.0020.0005] # MATHEMATICAL BOLD SMALL E
+1D452 ; [.1648.0020.0005] # MATHEMATICAL ITALIC SMALL E
+1D486 ; [.1648.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL E
+1D4EE ; [.1648.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL E
+1D522 ; [.1648.0020.0005] # MATHEMATICAL FRAKTUR SMALL E
+1D556 ; [.1648.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL E
+1D58A ; [.1648.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL E
+1D5BE ; [.1648.0020.0005] # MATHEMATICAL SANS-SERIF SMALL E
+1D5F2 ; [.1648.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL E
+1D626 ; [.1648.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
+1D65A ; [.1648.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
+1D68E ; [.1648.0020.0005] # MATHEMATICAL MONOSPACE SMALL E
+24D4 ; [.1648.0020.0006] # CIRCLED LATIN SMALL LETTER E
+0045 ; [.1648.0020.0008] # LATIN CAPITAL LETTER E
+FF25 ; [.1648.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER E
+1F114 ; [*02FA.0020.0004][.1648.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER E
+2130 ; [.1648.0020.000B] # SCRIPT CAPITAL E
+1D404 ; [.1648.0020.000B] # MATHEMATICAL BOLD CAPITAL E
+1D438 ; [.1648.0020.000B] # MATHEMATICAL ITALIC CAPITAL E
+1D46C ; [.1648.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL E
+1D4D4 ; [.1648.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL E
+1D508 ; [.1648.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL E
+1D53C ; [.1648.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+1D570 ; [.1648.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
+1D5A4 ; [.1648.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL E
+1D5D8 ; [.1648.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
+1D60C ; [.1648.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
+1D640 ; [.1648.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
+1D674 ; [.1648.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL E
+24BA ; [.1648.0020.000C] # CIRCLED LATIN CAPITAL LETTER E
+1F154 ; [.1648.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
+1D49 ; [.1648.0020.0014] # MODIFIER LETTER SMALL E
+2091 ; [.1648.0020.0015] # LATIN SUBSCRIPT SMALL LETTER E
+1D31 ; [.1648.0020.001D] # MODIFIER LETTER CAPITAL E
+1F134 ; [.1648.0020.001D] # SQUARED LATIN CAPITAL LETTER E
+1F174 ; [.1648.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
+00E9 ; [.1648.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1648.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH ACUTE
+00E8 ; [.1648.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1648.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH GRAVE
+0115 ; [.1648.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH BREVE
+0114 ; [.1648.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH BREVE
+00EA ; [.1648.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1648.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EBF ; [.1648.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1648.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1 ; [.1648.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1648.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC5 ; [.1648.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1648.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1648.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1648.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+011B ; [.1648.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1648.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER E WITH CARON
+00EB ; [.1648.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1648.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER E WITH DIAERESIS
+1EBD ; [.1648.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH TILDE
+1EBC ; [.1648.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH TILDE
+0117 ; [.1648.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.1648.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0229 ; [.1648.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER E WITH CEDILLA
+0228 ; [.1648.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER E WITH CEDILLA
+1E1D ; [.1648.0020.0002][.0000.0030.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1C ; [.1648.0020.0008][.0000.0030.0002][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+0119 ; [.1648.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1648.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER E WITH OGONEK
+0113 ; [.1648.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1648.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
+1E17 ; [.1648.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E16 ; [.1648.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E15 ; [.1648.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E14 ; [.1648.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1EBB ; [.1648.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA ; [.1648.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0205 ; [.1648.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0204 ; [.1648.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0207 ; [.1648.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER E WITH INVERTED BREVE
+0206 ; [.1648.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+1EB9 ; [.1648.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1648.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7 ; [.1648.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1648.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1E19 ; [.1648.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E18 ; [.1648.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1B ; [.1648.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER E WITH TILDE BELOW
+1E1A ; [.1648.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER E WITH TILDE BELOW
+32CD ; [.1648.0020.001C][.17B9.0020.001C][.168D.0020.001C] # SQUARE ERG
+32CE ; [.1648.0020.001C][.185B.0020.001D] # SQUARE EV
+1D07 ; [.164C.0020.0002] # LATIN LETTER SMALL CAPITAL E
+0247 ; [.164D.0020.0002] # LATIN SMALL LETTER E WITH STROKE
+0246 ; [.164D.0020.0008] # LATIN CAPITAL LETTER E WITH STROKE
+1D92 ; [.1651.0020.0002] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
+2C78 ; [.1652.0020.0002] # LATIN SMALL LETTER E WITH NOTCH
+01DD ; [.1653.0020.0002] # LATIN SMALL LETTER TURNED E
+018E ; [.1653.0020.0008] # LATIN CAPITAL LETTER REVERSED E
+1D32 ; [.1653.0020.001D] # MODIFIER LETTER CAPITAL REVERSED E
+2C7B ; [.1657.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED E
+0259 ; [.1658.0020.0002] # LATIN SMALL LETTER SCHWA
+018F ; [.1658.0020.0008] # LATIN CAPITAL LETTER SCHWA
+1D4A ; [.1658.0020.0014] # MODIFIER LETTER SMALL SCHWA
+2094 ; [.1658.0020.0015] # LATIN SUBSCRIPT SMALL LETTER SCHWA
+1D95 ; [.165C.0020.0002] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+025B ; [.165D.0020.0002] # LATIN SMALL LETTER OPEN E
+0190 ; [.165D.0020.0008] # LATIN CAPITAL LETTER OPEN E
+2107 ; [.165D.0020.000A] # EULER CONSTANT
+1D4B ; [.165D.0020.0014] # MODIFIER LETTER SMALL OPEN E
+1D93 ; [.1661.0020.0002] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+0258 ; [.1662.0020.0002] # LATIN SMALL LETTER REVERSED E
+025A ; [.1666.0020.0002] # LATIN SMALL LETTER SCHWA WITH HOOK
+025C ; [.166A.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E
+1D9F ; [.166A.0020.0014] # MODIFIER LETTER SMALL REVERSED OPEN E
+1D94 ; [.166E.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+1D08 ; [.166F.0020.0002] # LATIN SMALL LETTER TURNED OPEN E
+1D4C ; [.166F.0020.0014] # MODIFIER LETTER SMALL TURNED OPEN E
+025D ; [.1670.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E ; [.1674.0020.0002] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
+029A ; [.1678.0020.0002] # LATIN SMALL LETTER CLOSED OPEN E
+0264 ; [.167C.0020.0002] # LATIN SMALL LETTER RAMS HORN
+0066 ; [.1680.0020.0002] # LATIN SMALL LETTER F
+FF46 ; [.1680.0020.0003] # FULLWIDTH LATIN SMALL LETTER F
+24A1 ; [*02FA.0020.0004][.1680.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER F
+1D41F ; [.1680.0020.0005] # MATHEMATICAL BOLD SMALL F
+1D453 ; [.1680.0020.0005] # MATHEMATICAL ITALIC SMALL F
+1D487 ; [.1680.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL F
+1D4BB ; [.1680.0020.0005] # MATHEMATICAL SCRIPT SMALL F
+1D4EF ; [.1680.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL F
+1D523 ; [.1680.0020.0005] # MATHEMATICAL FRAKTUR SMALL F
+1D557 ; [.1680.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL F
+1D58B ; [.1680.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL F
+1D5BF ; [.1680.0020.0005] # MATHEMATICAL SANS-SERIF SMALL F
+1D5F3 ; [.1680.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL F
+1D627 ; [.1680.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
+1D65B ; [.1680.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
+1D68F ; [.1680.0020.0005] # MATHEMATICAL MONOSPACE SMALL F
+24D5 ; [.1680.0020.0006] # CIRCLED LATIN SMALL LETTER F
+0046 ; [.1680.0020.0008] # LATIN CAPITAL LETTER F
+FF26 ; [.1680.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER F
+2109 ; [*0485.0020.0004][.1680.0020.000A] # DEGREE FAHRENHEIT
+1F115 ; [*02FA.0020.0004][.1680.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER F
+2131 ; [.1680.0020.000B] # SCRIPT CAPITAL F
+1D405 ; [.1680.0020.000B] # MATHEMATICAL BOLD CAPITAL F
+1D439 ; [.1680.0020.000B] # MATHEMATICAL ITALIC CAPITAL F
+1D46D ; [.1680.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL F
+1D4D5 ; [.1680.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL F
+1D509 ; [.1680.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL F
+1D53D ; [.1680.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+1D571 ; [.1680.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
+1D5A5 ; [.1680.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL F
+1D5D9 ; [.1680.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
+1D60D ; [.1680.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
+1D641 ; [.1680.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
+1D675 ; [.1680.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL F
+24BB ; [.1680.0020.000C] # CIRCLED LATIN CAPITAL LETTER F
+1F155 ; [.1680.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
+1DA0 ; [.1680.0020.0014] # MODIFIER LETTER SMALL F
+1F135 ; [.1680.0020.001D] # SQUARED LATIN CAPITAL LETTER F
+1F175 ; [.1680.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
+1E1F ; [.1680.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER F WITH DOT ABOVE
+1E1E ; [.1680.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER F WITH DOT ABOVE
+A77C ; [.1680.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR F
+A77B ; [.1680.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR F
+213B ; [.1680.0020.000A][.15EB.0020.000A][.1877.0020.000A] # FACSIMILE SIGN
+FB00 ; [.1680.0020.0004][.1680.0020.0004] # LATIN SMALL LIGATURE FF
+FB03 ; [.1680.0020.0004][.1680.0020.0004][.16C9.0020.0004] # LATIN SMALL LIGATURE FFI
+FB04 ; [.1680.0020.0004][.1680.0020.0004][.170D.0020.0004] # LATIN SMALL LIGATURE FFL
+FB01 ; [.1680.0020.0004][.16C9.0020.0004] # LATIN SMALL LIGATURE FI
+FB02 ; [.1680.0020.0004][.170D.0020.0004] # LATIN SMALL LIGATURE FL
+3399 ; [.1680.0020.001C][.173D.0020.001C] # SQUARE FM
+02A9 ; [.1680.0020.0004][.1769.0020.0004] # LATIN SMALL LETTER FENG DIGRAPH
+1F193 ; [.1680.0020.001D][.17B9.0020.001D][.1648.0020.001D][.1648.0020.001D] # SQUARED FREE
+A730 ; [.1684.0020.0002] # LATIN LETTER SMALL CAPITAL F
+1D6E ; [.1685.0020.0002] # LATIN SMALL LETTER F WITH MIDDLE TILDE
+1D82 ; [.1686.0020.0002] # LATIN SMALL LETTER F WITH PALATAL HOOK
+0192 ; [.1687.0020.0002] # LATIN SMALL LETTER F WITH HOOK
+0191 ; [.1687.0020.0008] # LATIN CAPITAL LETTER F WITH HOOK
+214E ; [.168B.0020.0002] # TURNED SMALL F
+2132 ; [.168B.0020.0008] # TURNED CAPITAL F
+A7FB ; [.168C.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED F
+0067 ; [.168D.0020.0002] # LATIN SMALL LETTER G
+FF47 ; [.168D.0020.0003] # FULLWIDTH LATIN SMALL LETTER G
+1DDA ; [.168D.0020.0004] # COMBINING LATIN SMALL LETTER G
+24A2 ; [*02FA.0020.0004][.168D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER G
+210A ; [.168D.0020.0005] # SCRIPT SMALL G
+1D420 ; [.168D.0020.0005] # MATHEMATICAL BOLD SMALL G
+1D454 ; [.168D.0020.0005] # MATHEMATICAL ITALIC SMALL G
+1D488 ; [.168D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL G
+1D4F0 ; [.168D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL G
+1D524 ; [.168D.0020.0005] # MATHEMATICAL FRAKTUR SMALL G
+1D558 ; [.168D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL G
+1D58C ; [.168D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL G
+1D5C0 ; [.168D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL G
+1D5F4 ; [.168D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL G
+1D628 ; [.168D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
+1D65C ; [.168D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
+1D690 ; [.168D.0020.0005] # MATHEMATICAL MONOSPACE SMALL G
+24D6 ; [.168D.0020.0006] # CIRCLED LATIN SMALL LETTER G
+0047 ; [.168D.0020.0008] # LATIN CAPITAL LETTER G
+FF27 ; [.168D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER G
+1F116 ; [*02FA.0020.0004][.168D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER G
+1D406 ; [.168D.0020.000B] # MATHEMATICAL BOLD CAPITAL G
+1D43A ; [.168D.0020.000B] # MATHEMATICAL ITALIC CAPITAL G
+1D46E ; [.168D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL G
+1D4A2 ; [.168D.0020.000B] # MATHEMATICAL SCRIPT CAPITAL G
+1D4D6 ; [.168D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL G
+1D50A ; [.168D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL G
+1D53E ; [.168D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D572 ; [.168D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
+1D5A6 ; [.168D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL G
+1D5DA ; [.168D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
+1D60E ; [.168D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
+1D642 ; [.168D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
+1D676 ; [.168D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL G
+24BC ; [.168D.0020.000C] # CIRCLED LATIN CAPITAL LETTER G
+1F156 ; [.168D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
+1D4D ; [.168D.0020.0014] # MODIFIER LETTER SMALL G
+1D33 ; [.168D.0020.001D] # MODIFIER LETTER CAPITAL G
+1F136 ; [.168D.0020.001D] # SQUARED LATIN CAPITAL LETTER G
+1F176 ; [.168D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
+01F5 ; [.168D.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER G WITH ACUTE
+01F4 ; [.168D.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER G WITH ACUTE
+011F ; [.168D.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.168D.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER G WITH BREVE
+011D ; [.168D.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C ; [.168D.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+01E7 ; [.168D.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.168D.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER G WITH CARON
+0121 ; [.168D.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.168D.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0123 ; [.168D.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0122 ; [.168D.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER G WITH CEDILLA
+1E21 ; [.168D.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER G WITH MACRON
+1E20 ; [.168D.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER G WITH MACRON
+A7A1 ; [.168D.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A0 ; [.168D.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+1D79 ; [.168D.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR G
+A77D ; [.168D.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR G
+33FF ; [.168D.0020.001C][.15EB.0020.001C][.170D.0020.001C] # SQUARE GAL
+3387 ; [.168D.0020.001D][.1601.0020.001D] # SQUARE GB
+3393 ; [.168D.0020.001D][.16B0.0020.001D][.1891.0020.001C] # SQUARE GHZ
+33AC ; [.168D.0020.001D][.1792.0020.001D][.15EB.0020.001C] # SQUARE GPA
+33C9 ; [.168D.0020.001D][.187C.0020.001C] # SQUARE GY
+0261 ; [.1691.0020.0002] # LATIN SMALL LETTER SCRIPT G
+1DA2 ; [.1691.0020.0014] # MODIFIER LETTER SMALL SCRIPT G
+0262 ; [.1695.0020.0002] # LATIN LETTER SMALL CAPITAL G
+1DDB ; [.1695.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL G
+01E5 ; [.1699.0020.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1699.0020.0008] # LATIN CAPITAL LETTER G WITH STROKE
+1D83 ; [.169D.0020.0002] # LATIN SMALL LETTER G WITH PALATAL HOOK
+0260 ; [.169E.0020.0002] # LATIN SMALL LETTER G WITH HOOK
+0193 ; [.169E.0020.0008] # LATIN CAPITAL LETTER G WITH HOOK
+029B ; [.16A2.0020.0002] # LATIN LETTER SMALL CAPITAL G WITH HOOK
+1D77 ; [.16A6.0020.0002] # LATIN SMALL LETTER TURNED G
+A77F ; [.16A7.0020.0002] # LATIN SMALL LETTER TURNED INSULAR G
+A77E ; [.16A7.0020.0008] # LATIN CAPITAL LETTER TURNED INSULAR G
+0263 ; [.16A8.0020.0002] # LATIN SMALL LETTER GAMMA
+0194 ; [.16A8.0020.0008] # LATIN CAPITAL LETTER GAMMA
+02E0 ; [.16A8.0020.0014] # MODIFIER LETTER SMALL GAMMA
+01A3 ; [.16AC.0020.0002] # LATIN SMALL LETTER OI
+01A2 ; [.16AC.0020.0008] # LATIN CAPITAL LETTER OI
+0068 ; [.16B0.0020.0002] # LATIN SMALL LETTER H
+FF48 ; [.16B0.0020.0003] # FULLWIDTH LATIN SMALL LETTER H
+036A ; [.16B0.0020.0004] # COMBINING LATIN SMALL LETTER H
+24A3 ; [*02FA.0020.0004][.16B0.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER H
+210E ; [.16B0.0020.0005] # PLANCK CONSTANT
+1D421 ; [.16B0.0020.0005] # MATHEMATICAL BOLD SMALL H
+1D489 ; [.16B0.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL H
+1D4BD ; [.16B0.0020.0005] # MATHEMATICAL SCRIPT SMALL H
+1D4F1 ; [.16B0.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL H
+1D525 ; [.16B0.0020.0005] # MATHEMATICAL FRAKTUR SMALL H
+1D559 ; [.16B0.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL H
+1D58D ; [.16B0.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL H
+1D5C1 ; [.16B0.0020.0005] # MATHEMATICAL SANS-SERIF SMALL H
+1D5F5 ; [.16B0.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL H
+1D629 ; [.16B0.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
+1D65D ; [.16B0.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
+1D691 ; [.16B0.0020.0005] # MATHEMATICAL MONOSPACE SMALL H
+24D7 ; [.16B0.0020.0006] # CIRCLED LATIN SMALL LETTER H
+0048 ; [.16B0.0020.0008] # LATIN CAPITAL LETTER H
+FF28 ; [.16B0.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER H
+1F117 ; [*02FA.0020.0004][.16B0.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER H
+210B ; [.16B0.0020.000B] # SCRIPT CAPITAL H
+210C ; [.16B0.0020.000B] # BLACK-LETTER CAPITAL H
+210D ; [.16B0.0020.000B] # DOUBLE-STRUCK CAPITAL H
+1D407 ; [.16B0.0020.000B] # MATHEMATICAL BOLD CAPITAL H
+1D43B ; [.16B0.0020.000B] # MATHEMATICAL ITALIC CAPITAL H
+1D46F ; [.16B0.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL H
+1D4D7 ; [.16B0.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL H
+1D573 ; [.16B0.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
+1D5A7 ; [.16B0.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL H
+1D5DB ; [.16B0.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
+1D60F ; [.16B0.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
+1D643 ; [.16B0.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
+1D677 ; [.16B0.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL H
+24BD ; [.16B0.0020.000C] # CIRCLED LATIN CAPITAL LETTER H
+1F157 ; [.16B0.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
+02B0 ; [.16B0.0020.0014] # MODIFIER LETTER SMALL H
+2095 ; [.16B0.0020.0015] # LATIN SUBSCRIPT SMALL LETTER H
+1D34 ; [.16B0.0020.001D] # MODIFIER LETTER CAPITAL H
+1F137 ; [.16B0.0020.001D] # SQUARED LATIN CAPITAL LETTER H
+1F177 ; [.16B0.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
+0125 ; [.16B0.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124 ; [.16B0.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+021F ; [.16B0.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER H WITH CARON
+021E ; [.16B0.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER H WITH CARON
+1E27 ; [.16B0.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER H WITH DIAERESIS
+1E26 ; [.16B0.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER H WITH DIAERESIS
+1E23 ; [.16B0.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER H WITH DOT ABOVE
+1E22 ; [.16B0.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E29 ; [.16B0.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER H WITH CEDILLA
+1E28 ; [.16B0.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER H WITH CEDILLA
+0127 ; [.16B0.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER H WITH STROKE
+210F ; [.16B0.0020.0002][.0000.0039.0002] # PLANCK CONSTANT OVER TWO PI
+0126 ; [.16B0.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER H WITH STROKE
+A7F8 ; [.16B0.0020.0014][.0000.0039.0014] # MODIFIER LETTER CAPITAL H WITH STROKE
+1E25 ; [.16B0.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER H WITH DOT BELOW
+1E24 ; [.16B0.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER H WITH DOT BELOW
+1E2B ; [.16B0.0020.0002][.0000.0047.0002] # LATIN SMALL LETTER H WITH BREVE BELOW
+1E2A ; [.16B0.0020.0008][.0000.0047.0002] # LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E96 ; [.16B0.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER H WITH LINE BELOW
+33CA ; [.16B0.0020.001C][.15EB.0020.001C] # SQUARE HA
+32CC ; [.16B0.0020.001D][.168D.0020.001C] # SQUARE HG
+33CB ; [.16B0.0020.001D][.1792.0020.001D] # SQUARE HP
+3371 ; [.16B0.0020.001C][.1792.0020.001D][.15EB.0020.001C] # SQUARE HPA
+1F14A ; [.16B0.0020.001D][.185B.0020.001D] # SQUARED HV
+3390 ; [.16B0.0020.001D][.1891.0020.001C] # SQUARE HZ
+029C ; [.16B4.0020.0002] # LATIN LETTER SMALL CAPITAL H
+0195 ; [.16B8.0020.0002] # LATIN SMALL LETTER HV
+01F6 ; [.16B8.0020.0008] # LATIN CAPITAL LETTER HWAIR
+0266 ; [.16BC.0020.0002] # LATIN SMALL LETTER H WITH HOOK
+A7AA ; [.16BC.0020.0008] # LATIN CAPITAL LETTER H WITH HOOK
+02B1 ; [.16BC.0020.0014] # MODIFIER LETTER SMALL H WITH HOOK
+2C68 ; [.16C0.0020.0002] # LATIN SMALL LETTER H WITH DESCENDER
+2C67 ; [.16C0.0020.0008] # LATIN CAPITAL LETTER H WITH DESCENDER
+2C76 ; [.16C1.0020.0002] # LATIN SMALL LETTER HALF H
+2C75 ; [.16C1.0020.0008] # LATIN CAPITAL LETTER HALF H
+A727 ; [.16C2.0020.0002] # LATIN SMALL LETTER HENG
+A726 ; [.16C2.0020.0008] # LATIN CAPITAL LETTER HENG
+0267 ; [.16C3.0020.0002] # LATIN SMALL LETTER HENG WITH HOOK
+02BB ; [.16C7.0020.0002] # MODIFIER LETTER TURNED COMMA
+02BD ; [.16C8.0020.0002] # MODIFIER LETTER REVERSED COMMA
+0069 ; [.16C9.0020.0002] # LATIN SMALL LETTER I
+FF49 ; [.16C9.0020.0003] # FULLWIDTH LATIN SMALL LETTER I
+0365 ; [.16C9.0020.0004] # COMBINING LATIN SMALL LETTER I
+2170 ; [.16C9.0020.0004] # SMALL ROMAN NUMERAL ONE
+24A4 ; [*02FA.0020.0004][.16C9.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER I
+2139 ; [.16C9.0020.0005] # INFORMATION SOURCE
+2148 ; [.16C9.0020.0005] # DOUBLE-STRUCK ITALIC SMALL I
+1D422 ; [.16C9.0020.0005] # MATHEMATICAL BOLD SMALL I
+1D456 ; [.16C9.0020.0005] # MATHEMATICAL ITALIC SMALL I
+1D48A ; [.16C9.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL I
+1D4BE ; [.16C9.0020.0005] # MATHEMATICAL SCRIPT SMALL I
+1D4F2 ; [.16C9.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL I
+1D526 ; [.16C9.0020.0005] # MATHEMATICAL FRAKTUR SMALL I
+1D55A ; [.16C9.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL I
+1D58E ; [.16C9.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL I
+1D5C2 ; [.16C9.0020.0005] # MATHEMATICAL SANS-SERIF SMALL I
+1D5F6 ; [.16C9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL I
+1D62A ; [.16C9.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
+1D65E ; [.16C9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
+1D692 ; [.16C9.0020.0005] # MATHEMATICAL MONOSPACE SMALL I
+24D8 ; [.16C9.0020.0006] # CIRCLED LATIN SMALL LETTER I
+0049 ; [.16C9.0020.0008] # LATIN CAPITAL LETTER I
+FF29 ; [.16C9.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER I
+2160 ; [.16C9.0020.000A] # ROMAN NUMERAL ONE
+1F118 ; [*02FA.0020.0004][.16C9.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER I
+2110 ; [.16C9.0020.000B] # SCRIPT CAPITAL I
+2111 ; [.16C9.0020.000B] # BLACK-LETTER CAPITAL I
+1D408 ; [.16C9.0020.000B] # MATHEMATICAL BOLD CAPITAL I
+1D43C ; [.16C9.0020.000B] # MATHEMATICAL ITALIC CAPITAL I
+1D470 ; [.16C9.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL I
+1D4D8 ; [.16C9.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL I
+1D540 ; [.16C9.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+1D574 ; [.16C9.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
+1D5A8 ; [.16C9.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL I
+1D5DC ; [.16C9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
+1D610 ; [.16C9.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
+1D644 ; [.16C9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
+1D678 ; [.16C9.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL I
+24BE ; [.16C9.0020.000C] # CIRCLED LATIN CAPITAL LETTER I
+1F158 ; [.16C9.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
+2071 ; [.16C9.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER I
+1D62 ; [.16C9.0020.0015] # LATIN SUBSCRIPT SMALL LETTER I
+1D35 ; [.16C9.0020.001D] # MODIFIER LETTER CAPITAL I
+1F138 ; [.16C9.0020.001D] # SQUARED LATIN CAPITAL LETTER I
+1F178 ; [.16C9.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
+00ED ; [.16C9.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16C9.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00EC ; [.16C9.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16C9.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+012D ; [.16C9.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER I WITH BREVE
+012C ; [.16C9.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+00EE ; [.16C9.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16C9.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+01D0 ; [.16C9.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16C9.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER I WITH CARON
+00EF ; [.16C9.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER I WITH DIAERESIS
+00CF ; [.16C9.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+1E2F ; [.16C9.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E2E ; [.16C9.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+0129 ; [.16C9.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER I WITH TILDE
+0128 ; [.16C9.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER I WITH TILDE
+0130 ; [.16C9.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+012F ; [.16C9.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER I WITH OGONEK
+012E ; [.16C9.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+012B ; [.16C9.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16C9.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+1EC9 ; [.16C9.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8 ; [.16C9.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0209 ; [.16C9.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0208 ; [.16C9.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020B ; [.16C9.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER I WITH INVERTED BREVE
+020A ; [.16C9.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+1ECB ; [.16C9.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16C9.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1E2D ; [.16C9.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER I WITH TILDE BELOW
+1E2C ; [.16C9.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER I WITH TILDE BELOW
+1F18B ; [.16C9.0020.001D][.1619.0020.001D] # NEGATIVE SQUARED IC
+1F194 ; [.16C9.0020.001D][.162D.0020.001D] # SQUARED ID
+2171 ; [.16C9.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL TWO
+2161 ; [.16C9.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL TWO
+2172 ; [.16C9.0020.0004][.16C9.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL THREE
+2162 ; [.16C9.0020.000A][.16C9.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL THREE
+0133 ; [.16C9.0020.0004][.16E2.0020.0004] # LATIN SMALL LIGATURE IJ
+0132 ; [.16C9.0020.000A][.16E2.0020.000A] # LATIN CAPITAL LIGATURE IJ
+33CC ; [.16C9.0020.001C][.174B.0020.001C] # SQUARE IN
+337A ; [.16C9.0020.001D][.1832.0020.001D] # SQUARE IU
+2173 ; [.16C9.0020.0004][.185B.0020.0004] # SMALL ROMAN NUMERAL FOUR
+2163 ; [.16C9.0020.000A][.185B.0020.000A] # ROMAN NUMERAL FOUR
+2178 ; [.16C9.0020.0004][.1877.0020.0004] # SMALL ROMAN NUMERAL NINE
+2168 ; [.16C9.0020.000A][.1877.0020.000A] # ROMAN NUMERAL NINE
+0131 ; [.16CD.0020.0002] # LATIN SMALL LETTER DOTLESS I
+1D6A4 ; [.16CD.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS I
+026A ; [.16D1.0020.0002] # LATIN LETTER SMALL CAPITAL I
+1DA6 ; [.16D1.0020.0014] # MODIFIER LETTER SMALL CAPITAL I
+A7FE ; [.16D5.0020.0002] # LATIN EPIGRAPHIC LETTER I LONGA
+1D09 ; [.16D6.0020.0002] # LATIN SMALL LETTER TURNED I
+1D4E ; [.16D6.0020.0014] # MODIFIER LETTER SMALL TURNED I
+0268 ; [.16D7.0020.0002] # LATIN SMALL LETTER I WITH STROKE
+0197 ; [.16D7.0020.0008] # LATIN CAPITAL LETTER I WITH STROKE
+1DA4 ; [.16D7.0020.0014] # MODIFIER LETTER SMALL I WITH STROKE
+1D7B ; [.16DB.0020.0002] # LATIN SMALL CAPITAL LETTER I WITH STROKE
+1DA7 ; [.16DB.0020.0014] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
+1D96 ; [.16DC.0020.0002] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
+0269 ; [.16DD.0020.0002] # LATIN SMALL LETTER IOTA
+0196 ; [.16DD.0020.0008] # LATIN CAPITAL LETTER IOTA
+1DA5 ; [.16DD.0020.0014] # MODIFIER LETTER SMALL IOTA
+1D7C ; [.16E1.0020.0002] # LATIN SMALL LETTER IOTA WITH STROKE
+006A ; [.16E2.0020.0002] # LATIN SMALL LETTER J
+FF4A ; [.16E2.0020.0003] # FULLWIDTH LATIN SMALL LETTER J
+24A5 ; [*02FA.0020.0004][.16E2.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER J
+2149 ; [.16E2.0020.0005] # DOUBLE-STRUCK ITALIC SMALL J
+1D423 ; [.16E2.0020.0005] # MATHEMATICAL BOLD SMALL J
+1D457 ; [.16E2.0020.0005] # MATHEMATICAL ITALIC SMALL J
+1D48B ; [.16E2.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL J
+1D4BF ; [.16E2.0020.0005] # MATHEMATICAL SCRIPT SMALL J
+1D4F3 ; [.16E2.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL J
+1D527 ; [.16E2.0020.0005] # MATHEMATICAL FRAKTUR SMALL J
+1D55B ; [.16E2.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL J
+1D58F ; [.16E2.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL J
+1D5C3 ; [.16E2.0020.0005] # MATHEMATICAL SANS-SERIF SMALL J
+1D5F7 ; [.16E2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL J
+1D62B ; [.16E2.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
+1D65F ; [.16E2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
+1D693 ; [.16E2.0020.0005] # MATHEMATICAL MONOSPACE SMALL J
+24D9 ; [.16E2.0020.0006] # CIRCLED LATIN SMALL LETTER J
+004A ; [.16E2.0020.0008] # LATIN CAPITAL LETTER J
+FF2A ; [.16E2.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER J
+1F119 ; [*02FA.0020.0004][.16E2.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER J
+1D409 ; [.16E2.0020.000B] # MATHEMATICAL BOLD CAPITAL J
+1D43D ; [.16E2.0020.000B] # MATHEMATICAL ITALIC CAPITAL J
+1D471 ; [.16E2.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL J
+1D4A5 ; [.16E2.0020.000B] # MATHEMATICAL SCRIPT CAPITAL J
+1D4D9 ; [.16E2.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL J
+1D50D ; [.16E2.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL J
+1D541 ; [.16E2.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+1D575 ; [.16E2.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
+1D5A9 ; [.16E2.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL J
+1D5DD ; [.16E2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
+1D611 ; [.16E2.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
+1D645 ; [.16E2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
+1D679 ; [.16E2.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL J
+24BF ; [.16E2.0020.000C] # CIRCLED LATIN CAPITAL LETTER J
+1F159 ; [.16E2.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
+02B2 ; [.16E2.0020.0014] # MODIFIER LETTER SMALL J
+2C7C ; [.16E2.0020.0015] # LATIN SUBSCRIPT SMALL LETTER J
+1D36 ; [.16E2.0020.001D] # MODIFIER LETTER CAPITAL J
+1F139 ; [.16E2.0020.001D] # SQUARED LATIN CAPITAL LETTER J
+1F179 ; [.16E2.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
+0135 ; [.16E2.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134 ; [.16E2.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+01F0 ; [.16E2.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER J WITH CARON
+0237 ; [.16E6.0020.0002] # LATIN SMALL LETTER DOTLESS J
+1D6A5 ; [.16E6.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS J
+1D0A ; [.16EA.0020.0002] # LATIN LETTER SMALL CAPITAL J
+0249 ; [.16EB.0020.0002] # LATIN SMALL LETTER J WITH STROKE
+0248 ; [.16EB.0020.0008] # LATIN CAPITAL LETTER J WITH STROKE
+029D ; [.16EF.0020.0002] # LATIN SMALL LETTER J WITH CROSSED-TAIL
+1DA8 ; [.16EF.0020.0014] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
+025F ; [.16F3.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE
+1DA1 ; [.16F3.0020.0014] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
+0284 ; [.16F7.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+006B ; [.16FB.0020.0002] # LATIN SMALL LETTER K
+FF4B ; [.16FB.0020.0003] # FULLWIDTH LATIN SMALL LETTER K
+1DDC ; [.16FB.0020.0004] # COMBINING LATIN SMALL LETTER K
+24A6 ; [*02FA.0020.0004][.16FB.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER K
+1D424 ; [.16FB.0020.0005] # MATHEMATICAL BOLD SMALL K
+1D458 ; [.16FB.0020.0005] # MATHEMATICAL ITALIC SMALL K
+1D48C ; [.16FB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL K
+1D4C0 ; [.16FB.0020.0005] # MATHEMATICAL SCRIPT SMALL K
+1D4F4 ; [.16FB.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL K
+1D528 ; [.16FB.0020.0005] # MATHEMATICAL FRAKTUR SMALL K
+1D55C ; [.16FB.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL K
+1D590 ; [.16FB.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL K
+1D5C4 ; [.16FB.0020.0005] # MATHEMATICAL SANS-SERIF SMALL K
+1D5F8 ; [.16FB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL K
+1D62C ; [.16FB.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
+1D660 ; [.16FB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
+1D694 ; [.16FB.0020.0005] # MATHEMATICAL MONOSPACE SMALL K
+24DA ; [.16FB.0020.0006] # CIRCLED LATIN SMALL LETTER K
+004B ; [.16FB.0020.0008] # LATIN CAPITAL LETTER K
+212A ; [.16FB.0020.0008] # KELVIN SIGN
+FF2B ; [.16FB.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER K
+1F11A ; [*02FA.0020.0004][.16FB.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER K
+1D40A ; [.16FB.0020.000B] # MATHEMATICAL BOLD CAPITAL K
+1D43E ; [.16FB.0020.000B] # MATHEMATICAL ITALIC CAPITAL K
+1D472 ; [.16FB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL K
+1D4A6 ; [.16FB.0020.000B] # MATHEMATICAL SCRIPT CAPITAL K
+1D4DA ; [.16FB.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL K
+1D50E ; [.16FB.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL K
+1D542 ; [.16FB.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+1D576 ; [.16FB.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
+1D5AA ; [.16FB.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL K
+1D5DE ; [.16FB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
+1D612 ; [.16FB.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
+1D646 ; [.16FB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
+1D67A ; [.16FB.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL K
+24C0 ; [.16FB.0020.000C] # CIRCLED LATIN CAPITAL LETTER K
+1F15A ; [.16FB.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
+1D4F ; [.16FB.0020.0014] # MODIFIER LETTER SMALL K
+2096 ; [.16FB.0020.0015] # LATIN SUBSCRIPT SMALL LETTER K
+1D37 ; [.16FB.0020.001D] # MODIFIER LETTER CAPITAL K
+1F13A ; [.16FB.0020.001D] # SQUARED LATIN CAPITAL LETTER K
+1F17A ; [.16FB.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
+1E31 ; [.16FB.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER K WITH ACUTE
+1E30 ; [.16FB.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER K WITH ACUTE
+01E9 ; [.16FB.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.16FB.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER K WITH CARON
+0137 ; [.16FB.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER K WITH CEDILLA
+0136 ; [.16FB.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER K WITH CEDILLA
+A7A3 ; [.16FB.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A2 ; [.16FB.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+1E33 ; [.16FB.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER K WITH DOT BELOW
+1E32 ; [.16FB.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER K WITH DOT BELOW
+1E35 ; [.16FB.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER K WITH LINE BELOW
+1E34 ; [.16FB.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER K WITH LINE BELOW
+3384 ; [.16FB.0020.001C][.15EB.0020.001D] # SQUARE KA
+3385 ; [.16FB.0020.001D][.1601.0020.001D] # SQUARE KB
+3389 ; [.16FB.0020.001C][.1619.0020.001C][.15EB.0020.001C][.170D.0020.001C] # SQUARE KCAL
+338F ; [.16FB.0020.001C][.168D.0020.001C] # SQUARE KG
+3391 ; [.16FB.0020.001C][.16B0.0020.001D][.1891.0020.001C] # SQUARE KHZ
+33CD ; [.16FB.0020.001D][.16FB.0020.001D] # SQUARE KK
+3398 ; [.16FB.0020.001C][.170D.0020.001C] # SQUARE KL
+339E ; [.16FB.0020.001C][.173D.0020.001C] # SQUARE KM
+33CE ; [.16FB.0020.001D][.173D.0020.001D] # SQUARE KM CAPITAL
+33A2 ; [.16FB.0020.001C][.173D.0020.001C][.15E3.0020.001C] # SQUARE KM SQUARED
+33A6 ; [.16FB.0020.001C][.173D.0020.001C][.15E4.0020.001C] # SQUARE KM CUBED
+33AA ; [.16FB.0020.001C][.1792.0020.001D][.15EB.0020.001C] # SQUARE KPA
+33CF ; [.16FB.0020.001C][.1812.0020.001C] # SQUARE KT
+33B8 ; [.16FB.0020.001C][.185B.0020.001D] # SQUARE KV
+33BE ; [.16FB.0020.001C][.186D.0020.001D] # SQUARE KW
+33C0 ; [.16FB.0020.001C][.194D.0020.001D] # SQUARE K OHM
+1D0B ; [.16FF.0020.0002] # LATIN LETTER SMALL CAPITAL K
+1D84 ; [.1700.0020.0002] # LATIN SMALL LETTER K WITH PALATAL HOOK
+0199 ; [.1701.0020.0002] # LATIN SMALL LETTER K WITH HOOK
+0198 ; [.1701.0020.0008] # LATIN CAPITAL LETTER K WITH HOOK
+2C6A ; [.1705.0020.0002] # LATIN SMALL LETTER K WITH DESCENDER
+2C69 ; [.1705.0020.0008] # LATIN CAPITAL LETTER K WITH DESCENDER
+A741 ; [.1706.0020.0002] # LATIN SMALL LETTER K WITH STROKE
+A740 ; [.1706.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE
+A743 ; [.1707.0020.0002] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A742 ; [.1707.0020.0008] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A745 ; [.1708.0020.0002] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A744 ; [.1708.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+029E ; [.1709.0020.0002] # LATIN SMALL LETTER TURNED K
+006C ; [.170D.0020.0002] # LATIN SMALL LETTER L
+FF4C ; [.170D.0020.0003] # FULLWIDTH LATIN SMALL LETTER L
+1DDD ; [.170D.0020.0004] # COMBINING LATIN SMALL LETTER L
+217C ; [.170D.0020.0004] # SMALL ROMAN NUMERAL FIFTY
+24A7 ; [*02FA.0020.0004][.170D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER L
+2113 ; [.170D.0020.0005] # SCRIPT SMALL L
+1D425 ; [.170D.0020.0005] # MATHEMATICAL BOLD SMALL L
+1D459 ; [.170D.0020.0005] # MATHEMATICAL ITALIC SMALL L
+1D48D ; [.170D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL L
+1D4C1 ; [.170D.0020.0005] # MATHEMATICAL SCRIPT SMALL L
+1D4F5 ; [.170D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL L
+1D529 ; [.170D.0020.0005] # MATHEMATICAL FRAKTUR SMALL L
+1D55D ; [.170D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL L
+1D591 ; [.170D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL L
+1D5C5 ; [.170D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL L
+1D5F9 ; [.170D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL L
+1D62D ; [.170D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
+1D661 ; [.170D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
+1D695 ; [.170D.0020.0005] # MATHEMATICAL MONOSPACE SMALL L
+24DB ; [.170D.0020.0006] # CIRCLED LATIN SMALL LETTER L
+004C ; [.170D.0020.0008] # LATIN CAPITAL LETTER L
+FF2C ; [.170D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER L
+216C ; [.170D.0020.000A] # ROMAN NUMERAL FIFTY
+1F11B ; [*02FA.0020.0004][.170D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER L
+2112 ; [.170D.0020.000B] # SCRIPT CAPITAL L
+1D40B ; [.170D.0020.000B] # MATHEMATICAL BOLD CAPITAL L
+1D43F ; [.170D.0020.000B] # MATHEMATICAL ITALIC CAPITAL L
+1D473 ; [.170D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL L
+1D4DB ; [.170D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL L
+1D50F ; [.170D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL L
+1D543 ; [.170D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+1D577 ; [.170D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
+1D5AB ; [.170D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL L
+1D5DF ; [.170D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
+1D613 ; [.170D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
+1D647 ; [.170D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
+1D67B ; [.170D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL L
+24C1 ; [.170D.0020.000C] # CIRCLED LATIN CAPITAL LETTER L
+1F15B ; [.170D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
+02E1 ; [.170D.0020.0014] # MODIFIER LETTER SMALL L
+2097 ; [.170D.0020.0015] # LATIN SUBSCRIPT SMALL LETTER L
+1D38 ; [.170D.0020.001D] # MODIFIER LETTER CAPITAL L
+1F13B ; [.170D.0020.001D] # SQUARED LATIN CAPITAL LETTER L
+1F17B ; [.170D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
+013A ; [.170D.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER L WITH ACUTE
+0139 ; [.170D.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER L WITH ACUTE
+013E ; [.170D.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER L WITH CARON
+013D ; [.170D.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER L WITH CARON
+013C ; [.170D.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER L WITH CEDILLA
+013B ; [.170D.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER L WITH CEDILLA
+0142 ; [.170D.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER L WITH STROKE
+0141 ; [.170D.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER L WITH STROKE
+1E37 ; [.170D.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER L WITH DOT BELOW
+1E36 ; [.170D.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW
+1E39 ; [.170D.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E38 ; [.170D.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3D ; [.170D.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3C ; [.170D.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3B ; [.170D.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER L WITH LINE BELOW
+1E3A ; [.170D.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER L WITH LINE BELOW
+0140 ; [.170D.0020.0002][.0000.00FC.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 00B7 ; [.170D.0020.0002][.0000.00FC.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 0387 ; [.170D.0020.0002][.0000.00FC.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+013F ; [.170D.0020.0008][.0000.00FC.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 00B7 ; [.170D.0020.0008][.0000.00FC.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 0387 ; [.170D.0020.0008][.0000.00FC.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+01C9 ; [.170D.0020.0004][.16E2.0020.0004] # LATIN SMALL LETTER LJ
+01C8 ; [.170D.0020.000A][.16E2.0020.0004] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01C7 ; [.170D.0020.000A][.16E2.0020.000A] # LATIN CAPITAL LETTER LJ
+1EFB ; [.170D.0020.0004][.170D.0020.0004] # LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFA ; [.170D.0020.000A][.170D.0020.000A] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
+33D0 ; [.170D.0020.001C][.173D.0020.001C] # SQUARE LM
+33D1 ; [.170D.0020.001C][.174B.0020.001C] # SQUARE LN
+33D2 ; [.170D.0020.001C][.176D.0020.001C][.168D.0020.001C] # SQUARE LOG
+02AA ; [.170D.0020.0004][.17EF.0020.0004] # LATIN SMALL LETTER LS DIGRAPH
+32CF ; [.170D.0020.001D][.1812.0020.001D][.162D.0020.001D] # LIMITED LIABILITY SIGN
+33D3 ; [.170D.0020.001C][.1877.0020.001C] # SQUARE LX
+02AB ; [.170D.0020.0004][.1891.0020.0004] # LATIN SMALL LETTER LZ DIGRAPH
+029F ; [.1711.0020.0002] # LATIN LETTER SMALL CAPITAL L
+1DDE ; [.1711.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL L
+1DAB ; [.1711.0020.0014] # MODIFIER LETTER SMALL CAPITAL L
+A747 ; [.1715.0020.0002] # LATIN SMALL LETTER BROKEN L
+A746 ; [.1715.0020.0008] # LATIN CAPITAL LETTER BROKEN L
+1D0C ; [.1716.0020.0002] # LATIN LETTER SMALL CAPITAL L WITH STROKE
+A749 ; [.1717.0020.0002] # LATIN SMALL LETTER L WITH HIGH STROKE
+A748 ; [.1717.0020.0008] # LATIN CAPITAL LETTER L WITH HIGH STROKE
+019A ; [.1718.0020.0002] # LATIN SMALL LETTER L WITH BAR
+023D ; [.1718.0020.0008] # LATIN CAPITAL LETTER L WITH BAR
+2C61 ; [.171C.0020.0002] # LATIN SMALL LETTER L WITH DOUBLE BAR
+2C60 ; [.171C.0020.0008] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
+026B ; [.171D.0020.0002] # LATIN SMALL LETTER L WITH MIDDLE TILDE
+2C62 ; [.171D.0020.0008] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+026C ; [.1721.0020.0002] # LATIN SMALL LETTER L WITH BELT
+1D85 ; [.1725.0020.0002] # LATIN SMALL LETTER L WITH PALATAL HOOK
+1DAA ; [.1725.0020.0014] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
+026D ; [.1726.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
+1DA9 ; [.1726.0020.0014] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
+A78E ; [.172A.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0234 ; [.172B.0020.0002] # LATIN SMALL LETTER L WITH CURL
+A772 ; [.172F.0020.0002] # LATIN SMALL LETTER LUM
+026E ; [.1730.0020.0002] # LATIN SMALL LETTER LEZH
+A781 ; [.1734.0020.0002] # LATIN SMALL LETTER TURNED L
+A780 ; [.1734.0020.0008] # LATIN CAPITAL LETTER TURNED L
+019B ; [.1735.0020.0002] # LATIN SMALL LETTER LAMBDA WITH STROKE
+028E ; [.1739.0020.0002] # LATIN SMALL LETTER TURNED Y
+006D ; [.173D.0020.0002] # LATIN SMALL LETTER M
+FF4D ; [.173D.0020.0003] # FULLWIDTH LATIN SMALL LETTER M
+036B ; [.173D.0020.0004] # COMBINING LATIN SMALL LETTER M
+217F ; [.173D.0020.0004] # SMALL ROMAN NUMERAL ONE THOUSAND
+24A8 ; [*02FA.0020.0004][.173D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER M
+1D426 ; [.173D.0020.0005] # MATHEMATICAL BOLD SMALL M
+1D45A ; [.173D.0020.0005] # MATHEMATICAL ITALIC SMALL M
+1D48E ; [.173D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL M
+1D4C2 ; [.173D.0020.0005] # MATHEMATICAL SCRIPT SMALL M
+1D4F6 ; [.173D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL M
+1D52A ; [.173D.0020.0005] # MATHEMATICAL FRAKTUR SMALL M
+1D55E ; [.173D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL M
+1D592 ; [.173D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL M
+1D5C6 ; [.173D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL M
+1D5FA ; [.173D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL M
+1D62E ; [.173D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
+1D662 ; [.173D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
+1D696 ; [.173D.0020.0005] # MATHEMATICAL MONOSPACE SMALL M
+24DC ; [.173D.0020.0006] # CIRCLED LATIN SMALL LETTER M
+004D ; [.173D.0020.0008] # LATIN CAPITAL LETTER M
+FF2D ; [.173D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER M
+216F ; [.173D.0020.000A] # ROMAN NUMERAL ONE THOUSAND
+1F11C ; [*02FA.0020.0004][.173D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER M
+2133 ; [.173D.0020.000B] # SCRIPT CAPITAL M
+1D40C ; [.173D.0020.000B] # MATHEMATICAL BOLD CAPITAL M
+1D440 ; [.173D.0020.000B] # MATHEMATICAL ITALIC CAPITAL M
+1D474 ; [.173D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL M
+1D4DC ; [.173D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL M
+1D510 ; [.173D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL M
+1D544 ; [.173D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D578 ; [.173D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
+1D5AC ; [.173D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL M
+1D5E0 ; [.173D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
+1D614 ; [.173D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
+1D648 ; [.173D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
+1D67C ; [.173D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL M
+24C2 ; [.173D.0020.000C] # CIRCLED LATIN CAPITAL LETTER M
+1F15C ; [.173D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
+1D50 ; [.173D.0020.0014] # MODIFIER LETTER SMALL M
+2098 ; [.173D.0020.0015] # LATIN SUBSCRIPT SMALL LETTER M
+1D39 ; [.173D.0020.001D] # MODIFIER LETTER CAPITAL M
+1F13C ; [.173D.0020.001D] # SQUARED LATIN CAPITAL LETTER M
+1F17C ; [.173D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
+1E3F ; [.173D.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.173D.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER M WITH ACUTE
+1E41 ; [.173D.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER M WITH DOT ABOVE
+1E40 ; [.173D.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E43 ; [.173D.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER M WITH DOT BELOW
+1E42 ; [.173D.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER M WITH DOT BELOW
+33A1 ; [.173D.0020.001C][.15E3.0020.001C] # SQUARE M SQUARED
+33A5 ; [.173D.0020.001C][.15E4.0020.001C] # SQUARE M CUBED
+3383 ; [.173D.0020.001C][.15EB.0020.001D] # SQUARE MA
+33D4 ; [.173D.0020.001C][.1601.0020.001C] # SQUARE MB SMALL
+3386 ; [.173D.0020.001D][.1601.0020.001D] # SQUARE MB
+1F16A ; [.173D.0020.0014][.1619.0020.0014] # RAISED MC SIGN
+1F16B ; [.173D.0020.0014][.162D.0020.0014] # RAISED MD SIGN
+338E ; [.173D.0020.001C][.168D.0020.001C] # SQUARE MG
+3392 ; [.173D.0020.001D][.16B0.0020.001D][.1891.0020.001C] # SQUARE MHZ
+33D5 ; [.173D.0020.001C][.16C9.0020.001C][.170D.0020.001C] # SQUARE MIL
+3396 ; [.173D.0020.001C][.170D.0020.001C] # SQUARE ML
+339C ; [.173D.0020.001C][.173D.0020.001C] # SQUARE MM
+339F ; [.173D.0020.001C][.173D.0020.001C][.15E3.0020.001C] # SQUARE MM SQUARED
+33A3 ; [.173D.0020.001C][.173D.0020.001C][.15E4.0020.001C] # SQUARE MM CUBED
+33D6 ; [.173D.0020.001C][.176D.0020.001C][.170D.0020.001C] # SQUARE MOL
+33AB ; [.173D.0020.001D][.1792.0020.001D][.15EB.0020.001C] # SQUARE MPA
+33A7 ; [.173D.0020.001C][*05AE.0020.001C][.17EF.0020.001C] # SQUARE M OVER S
+33B3 ; [.173D.0020.001C][.17EF.0020.001C] # SQUARE MS
+33A8 ; [.173D.0020.001C][*05AE.0020.001C][.17EF.0020.001C][.15E3.0020.001C] # SQUARE M OVER S SQUARED
+33B7 ; [.173D.0020.001C][.185B.0020.001D] # SQUARE MV
+33B9 ; [.173D.0020.001D][.185B.0020.001D] # SQUARE MV MEGA
+1F14B ; [.173D.0020.001D][.185B.0020.001D] # SQUARED MV
+33BD ; [.173D.0020.001C][.186D.0020.001D] # SQUARE MW
+33BF ; [.173D.0020.001D][.186D.0020.001D] # SQUARE MW MEGA
+33C1 ; [.173D.0020.001D][.194D.0020.001D] # SQUARE M OHM
+1D0D ; [.1741.0020.0002] # LATIN LETTER SMALL CAPITAL M
+1DDF ; [.1741.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL M
+1D6F ; [.1742.0020.0002] # LATIN SMALL LETTER M WITH MIDDLE TILDE
+1D86 ; [.1743.0020.0002] # LATIN SMALL LETTER M WITH PALATAL HOOK
+0271 ; [.1744.0020.0002] # LATIN SMALL LETTER M WITH HOOK
+2C6E ; [.1744.0020.0008] # LATIN CAPITAL LETTER M WITH HOOK
+1DAC ; [.1744.0020.0014] # MODIFIER LETTER SMALL M WITH HOOK
+A7FD ; [.1748.0020.0002] # LATIN EPIGRAPHIC LETTER INVERTED M
+A7FF ; [.1749.0020.0002] # LATIN EPIGRAPHIC LETTER ARCHAIC M
+A773 ; [.174A.0020.0002] # LATIN SMALL LETTER MUM
+006E ; [.174B.0020.0002] # LATIN SMALL LETTER N
+FF4E ; [.174B.0020.0003] # FULLWIDTH LATIN SMALL LETTER N
+1DE0 ; [.174B.0020.0004] # COMBINING LATIN SMALL LETTER N
+24A9 ; [*02FA.0020.0004][.174B.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER N
+1D427 ; [.174B.0020.0005] # MATHEMATICAL BOLD SMALL N
+1D45B ; [.174B.0020.0005] # MATHEMATICAL ITALIC SMALL N
+1D48F ; [.174B.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL N
+1D4C3 ; [.174B.0020.0005] # MATHEMATICAL SCRIPT SMALL N
+1D4F7 ; [.174B.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL N
+1D52B ; [.174B.0020.0005] # MATHEMATICAL FRAKTUR SMALL N
+1D55F ; [.174B.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL N
+1D593 ; [.174B.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL N
+1D5C7 ; [.174B.0020.0005] # MATHEMATICAL SANS-SERIF SMALL N
+1D5FB ; [.174B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL N
+1D62F ; [.174B.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
+1D663 ; [.174B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
+1D697 ; [.174B.0020.0005] # MATHEMATICAL MONOSPACE SMALL N
+24DD ; [.174B.0020.0006] # CIRCLED LATIN SMALL LETTER N
+004E ; [.174B.0020.0008] # LATIN CAPITAL LETTER N
+FF2E ; [.174B.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER N
+1F11D ; [*02FA.0020.0004][.174B.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER N
+2115 ; [.174B.0020.000B] # DOUBLE-STRUCK CAPITAL N
+1D40D ; [.174B.0020.000B] # MATHEMATICAL BOLD CAPITAL N
+1D441 ; [.174B.0020.000B] # MATHEMATICAL ITALIC CAPITAL N
+1D475 ; [.174B.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL N
+1D4A9 ; [.174B.0020.000B] # MATHEMATICAL SCRIPT CAPITAL N
+1D4DD ; [.174B.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL N
+1D511 ; [.174B.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL N
+1D579 ; [.174B.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
+1D5AD ; [.174B.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL N
+1D5E1 ; [.174B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
+1D615 ; [.174B.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
+1D649 ; [.174B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
+1D67D ; [.174B.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL N
+24C3 ; [.174B.0020.000C] # CIRCLED LATIN CAPITAL LETTER N
+1F15D ; [.174B.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
+207F ; [.174B.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER N
+2099 ; [.174B.0020.0015] # LATIN SUBSCRIPT SMALL LETTER N
+1D3A ; [.174B.0020.001D] # MODIFIER LETTER CAPITAL N
+1F13D ; [.174B.0020.001D] # SQUARED LATIN CAPITAL LETTER N
+1F17D ; [.174B.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
+0144 ; [.174B.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174B.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER N WITH ACUTE
+01F9 ; [.174B.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174B.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER N WITH GRAVE
+0148 ; [.174B.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174B.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER N WITH CARON
+00F1 ; [.174B.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.174B.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER N WITH TILDE
+1E45 ; [.174B.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44 ; [.174B.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+0146 ; [.174B.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER N WITH CEDILLA
+0145 ; [.174B.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER N WITH CEDILLA
+A7A5 ; [.174B.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A4 ; [.174B.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+1E47 ; [.174B.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER N WITH DOT BELOW
+1E46 ; [.174B.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER N WITH DOT BELOW
+1E4B ; [.174B.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4A ; [.174B.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E49 ; [.174B.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER N WITH LINE BELOW
+1E48 ; [.174B.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER N WITH LINE BELOW
+3381 ; [.174B.0020.001C][.15EB.0020.001D] # SQUARE NA
+1F195 ; [.174B.0020.001D][.1648.0020.001D][.186D.0020.001D] # SQUARED NEW
+338B ; [.174B.0020.001C][.1680.0020.001D] # SQUARE NF
+1F196 ; [.174B.0020.001D][.168D.0020.001D] # SQUARED NG
+01CC ; [.174B.0020.0004][.16E2.0020.0004] # LATIN SMALL LETTER NJ
+01CB ; [.174B.0020.000A][.16E2.0020.0004] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01CA ; [.174B.0020.000A][.16E2.0020.000A] # LATIN CAPITAL LETTER NJ
+339A ; [.174B.0020.001C][.173D.0020.001C] # SQUARE NM
+2116 ; [.174B.0020.000A][.176D.0020.0004] # NUMERO SIGN
+33B1 ; [.174B.0020.001C][.17EF.0020.001C] # SQUARE NS
+33B5 ; [.174B.0020.001C][.185B.0020.001D] # SQUARE NV
+33BB ; [.174B.0020.001C][.186D.0020.001D] # SQUARE NW
+0274 ; [.174F.0020.0002] # LATIN LETTER SMALL CAPITAL N
+1DE1 ; [.174F.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL N
+1DB0 ; [.174F.0020.0014] # MODIFIER LETTER SMALL CAPITAL N
+1D3B ; [.1753.0020.0002] # MODIFIER LETTER CAPITAL REVERSED N
+1D0E ; [.1754.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED N
+1D70 ; [.1755.0020.0002] # LATIN SMALL LETTER N WITH MIDDLE TILDE
+0272 ; [.1756.0020.0002] # LATIN SMALL LETTER N WITH LEFT HOOK
+019D ; [.1756.0020.0008] # LATIN CAPITAL LETTER N WITH LEFT HOOK
+1DAE ; [.1756.0020.0014] # MODIFIER LETTER SMALL N WITH LEFT HOOK
+019E ; [.175A.0020.0002] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0220 ; [.175A.0020.0008] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+A791 ; [.175E.0020.0002] # LATIN SMALL LETTER N WITH DESCENDER
+A790 ; [.175E.0020.0008] # LATIN CAPITAL LETTER N WITH DESCENDER
+1D87 ; [.175F.0020.0002] # LATIN SMALL LETTER N WITH PALATAL HOOK
+0273 ; [.1760.0020.0002] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
+1DAF ; [.1760.0020.0014] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
+0235 ; [.1764.0020.0002] # LATIN SMALL LETTER N WITH CURL
+A774 ; [.1768.0020.0002] # LATIN SMALL LETTER NUM
+014B ; [.1769.0020.0002] # LATIN SMALL LETTER ENG
+014A ; [.1769.0020.0008] # LATIN CAPITAL LETTER ENG
+1D51 ; [.1769.0020.0014] # MODIFIER LETTER SMALL ENG
+006F ; [.176D.0020.0002] # LATIN SMALL LETTER O
+FF4F ; [.176D.0020.0003] # FULLWIDTH LATIN SMALL LETTER O
+0366 ; [.176D.0020.0004] # COMBINING LATIN SMALL LETTER O
+24AA ; [*02FA.0020.0004][.176D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER O
+2134 ; [.176D.0020.0005] # SCRIPT SMALL O
+1D428 ; [.176D.0020.0005] # MATHEMATICAL BOLD SMALL O
+1D45C ; [.176D.0020.0005] # MATHEMATICAL ITALIC SMALL O
+1D490 ; [.176D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL O
+1D4F8 ; [.176D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL O
+1D52C ; [.176D.0020.0005] # MATHEMATICAL FRAKTUR SMALL O
+1D560 ; [.176D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL O
+1D594 ; [.176D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL O
+1D5C8 ; [.176D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL O
+1D5FC ; [.176D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL O
+1D630 ; [.176D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
+1D664 ; [.176D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
+1D698 ; [.176D.0020.0005] # MATHEMATICAL MONOSPACE SMALL O
+24DE ; [.176D.0020.0006] # CIRCLED LATIN SMALL LETTER O
+004F ; [.176D.0020.0008] # LATIN CAPITAL LETTER O
+FF2F ; [.176D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER O
+1F11E ; [*02FA.0020.0004][.176D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER O
+1D40E ; [.176D.0020.000B] # MATHEMATICAL BOLD CAPITAL O
+1D442 ; [.176D.0020.000B] # MATHEMATICAL ITALIC CAPITAL O
+1D476 ; [.176D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL O
+1D4AA ; [.176D.0020.000B] # MATHEMATICAL SCRIPT CAPITAL O
+1D4DE ; [.176D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL O
+1D512 ; [.176D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL O
+1D546 ; [.176D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D57A ; [.176D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
+1D5AE ; [.176D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL O
+1D5E2 ; [.176D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
+1D616 ; [.176D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
+1D64A ; [.176D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
+1D67E ; [.176D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL O
+24C4 ; [.176D.0020.000C] # CIRCLED LATIN CAPITAL LETTER O
+1F15E ; [.176D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
+00BA ; [.176D.0020.0014] # MASCULINE ORDINAL INDICATOR
+1D52 ; [.176D.0020.0014] # MODIFIER LETTER SMALL O
+2092 ; [.176D.0020.0015] # LATIN SUBSCRIPT SMALL LETTER O
+1D3C ; [.176D.0020.001D] # MODIFIER LETTER CAPITAL O
+1F13E ; [.176D.0020.001D] # SQUARED LATIN CAPITAL LETTER O
+1F17E ; [.176D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
+00F3 ; [.176D.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.176D.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH ACUTE
+00F2 ; [.176D.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.176D.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH GRAVE
+014F ; [.176D.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER O WITH BREVE
+014E ; [.176D.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER O WITH BREVE
+00F4 ; [.176D.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.176D.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED1 ; [.176D.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.176D.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3 ; [.176D.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.176D.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED7 ; [.176D.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.176D.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.176D.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.176D.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01D2 ; [.176D.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.176D.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER O WITH CARON
+00F6 ; [.176D.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.176D.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.176D.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.176D.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.176D.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.176D.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.176D.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.176D.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.176D.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.176D.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4F ; [.176D.0020.0002][.0000.002D.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.176D.0020.0008][.0000.002D.0002][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+022D ; [.176D.0020.0002][.0000.002D.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.176D.0020.0008][.0000.002D.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022F ; [.176D.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER O WITH DOT ABOVE
+022E ; [.176D.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE
+0231 ; [.176D.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0230 ; [.176D.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+00F8 ; [.176D.0020.0002][.0000.002F.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.176D.0020.0008][.0000.002F.0002] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.176D.0020.0002][.0000.002F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.176D.0020.0008][.0000.002F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+01EB ; [.176D.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.176D.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER O WITH OGONEK
+01ED ; [.176D.0020.0002][.0000.0031.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EC ; [.176D.0020.0008][.0000.0031.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+014D ; [.176D.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.176D.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
+1E53 ; [.176D.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E52 ; [.176D.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E51 ; [.176D.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E50 ; [.176D.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1ECF ; [.176D.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE ; [.176D.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+020D ; [.176D.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020C ; [.176D.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020F ; [.176D.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER O WITH INVERTED BREVE
+020E ; [.176D.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+01A1 ; [.176D.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN
+01A0 ; [.176D.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN
+1EDB ; [.176D.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA ; [.176D.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDD ; [.176D.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC ; [.176D.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EE1 ; [.176D.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.176D.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF ; [.176D.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE ; [.176D.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3 ; [.176D.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.176D.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1ECD ; [.176D.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.176D.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.176D.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.176D.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0153 ; [.176D.0020.0004][.0000.00FC.0004][.1648.0020.0004] # LATIN SMALL LIGATURE OE
+0152 ; [.176D.0020.000A][.0000.00FC.0004][.1648.0020.000A] # LATIN CAPITAL LIGATURE OE
+A7F9 ; [.176D.0020.0014][.0000.00FC.0014][.1648.0020.0014] # MODIFIER LETTER SMALL LIGATURE OE
+1F197 ; [.176D.0020.001D][.16FB.0020.001D] # SQUARED OK
+A74F ; [.176D.0020.0004][.176D.0020.0004] # LATIN SMALL LETTER OO
+A74E ; [.176D.0020.000A][.176D.0020.000A] # LATIN CAPITAL LETTER OO
+3375 ; [.176D.0020.001C][.185B.0020.001D] # SQUARE OV
+1D0F ; [.1771.0020.0002] # LATIN LETTER SMALL CAPITAL O
+1D11 ; [.1772.0020.0002] # LATIN SMALL LETTER SIDEWAYS O
+0276 ; [.1773.0020.0002] # LATIN LETTER SMALL CAPITAL OE
+1D14 ; [.1777.0020.0002] # LATIN SMALL LETTER TURNED OE
+1D13 ; [.1778.0020.0002] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+0254 ; [.1779.0020.0002] # LATIN SMALL LETTER OPEN O
+0186 ; [.1779.0020.0008] # LATIN CAPITAL LETTER OPEN O
+1D53 ; [.1779.0020.0014] # MODIFIER LETTER SMALL OPEN O
+1D10 ; [.177D.0020.0002] # LATIN LETTER SMALL CAPITAL OPEN O
+1D12 ; [.177E.0020.0002] # LATIN SMALL LETTER SIDEWAYS OPEN O
+1D97 ; [.177F.0020.0002] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+A74D ; [.1780.0020.0002] # LATIN SMALL LETTER O WITH LOOP
+A74C ; [.1780.0020.0008] # LATIN CAPITAL LETTER O WITH LOOP
+1D16 ; [.1781.0020.0002] # LATIN SMALL LETTER TOP HALF O
+1D54 ; [.1781.0020.0014] # MODIFIER LETTER SMALL TOP HALF O
+1D17 ; [.1782.0020.0002] # LATIN SMALL LETTER BOTTOM HALF O
+1D55 ; [.1782.0020.0014] # MODIFIER LETTER SMALL BOTTOM HALF O
+2C7A ; [.1783.0020.0002] # LATIN SMALL LETTER O WITH LOW RING INSIDE
+0275 ; [.1784.0020.0002] # LATIN SMALL LETTER BARRED O
+019F ; [.1784.0020.0008] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+1DB1 ; [.1784.0020.0014] # MODIFIER LETTER SMALL BARRED O
+A74B ; [.1788.0020.0002] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74A ; [.1788.0020.0008] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0277 ; [.1789.0020.0002] # LATIN SMALL LETTER CLOSED OMEGA
+0223 ; [.178D.0020.0002] # LATIN SMALL LETTER OU
+0222 ; [.178D.0020.0008] # LATIN CAPITAL LETTER OU
+1D3D ; [.178D.0020.001D] # MODIFIER LETTER CAPITAL OU
+1D15 ; [.1791.0020.0002] # LATIN LETTER SMALL CAPITAL OU
+0070 ; [.1792.0020.0002] # LATIN SMALL LETTER P
+FF50 ; [.1792.0020.0003] # FULLWIDTH LATIN SMALL LETTER P
+24AB ; [*02FA.0020.0004][.1792.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER P
+1D429 ; [.1792.0020.0005] # MATHEMATICAL BOLD SMALL P
+1D45D ; [.1792.0020.0005] # MATHEMATICAL ITALIC SMALL P
+1D491 ; [.1792.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL P
+1D4C5 ; [.1792.0020.0005] # MATHEMATICAL SCRIPT SMALL P
+1D4F9 ; [.1792.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL P
+1D52D ; [.1792.0020.0005] # MATHEMATICAL FRAKTUR SMALL P
+1D561 ; [.1792.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL P
+1D595 ; [.1792.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL P
+1D5C9 ; [.1792.0020.0005] # MATHEMATICAL SANS-SERIF SMALL P
+1D5FD ; [.1792.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL P
+1D631 ; [.1792.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
+1D665 ; [.1792.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
+1D699 ; [.1792.0020.0005] # MATHEMATICAL MONOSPACE SMALL P
+24DF ; [.1792.0020.0006] # CIRCLED LATIN SMALL LETTER P
+0050 ; [.1792.0020.0008] # LATIN CAPITAL LETTER P
+FF30 ; [.1792.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER P
+1F11F ; [*02FA.0020.0004][.1792.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER P
+2119 ; [.1792.0020.000B] # DOUBLE-STRUCK CAPITAL P
+1D40F ; [.1792.0020.000B] # MATHEMATICAL BOLD CAPITAL P
+1D443 ; [.1792.0020.000B] # MATHEMATICAL ITALIC CAPITAL P
+1D477 ; [.1792.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL P
+1D4AB ; [.1792.0020.000B] # MATHEMATICAL SCRIPT CAPITAL P
+1D4DF ; [.1792.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL P
+1D513 ; [.1792.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL P
+1D57B ; [.1792.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
+1D5AF ; [.1792.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL P
+1D5E3 ; [.1792.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
+1D617 ; [.1792.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
+1D64B ; [.1792.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
+1D67F ; [.1792.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL P
+24C5 ; [.1792.0020.000C] # CIRCLED LATIN CAPITAL LETTER P
+1F15F ; [.1792.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
+1D56 ; [.1792.0020.0014] # MODIFIER LETTER SMALL P
+209A ; [.1792.0020.0015] # LATIN SUBSCRIPT SMALL LETTER P
+1D3E ; [.1792.0020.001D] # MODIFIER LETTER CAPITAL P
+1F13F ; [.1792.0020.001D] # SQUARED LATIN CAPITAL LETTER P
+1F17F ; [.1792.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F18A ; [.1792.0020.001D] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1E55 ; [.1792.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER P WITH ACUTE
+1E54 ; [.1792.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER P WITH ACUTE
+1E57 ; [.1792.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER P WITH DOT ABOVE
+1E56 ; [.1792.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER P WITH DOT ABOVE
+3380 ; [.1792.0020.001C][.15EB.0020.001D] # SQUARE PA AMPS
+33A9 ; [.1792.0020.001D][.15EB.0020.001C] # SQUARE PA
+1F18C ; [.1792.0020.001D][.15EB.0020.001D] # NEGATIVE SQUARED PA
+3376 ; [.1792.0020.001C][.1619.0020.001C] # SQUARE PC
+338A ; [.1792.0020.001C][.1680.0020.001D] # SQUARE PF
+33D7 ; [.1792.0020.001D][.16B0.0020.001D] # SQUARE PH
+33D8 ; [.1792.0020.001C][*0272.0020.001C][.173D.0020.001C][*0272.0020.001C] # SQUARE PM
+33D9 ; [.1792.0020.001D][.1792.0020.001D][.173D.0020.001D] # SQUARE PPM
+1F14E ; [.1792.0020.001D][.1792.0020.001D][.185B.0020.001D] # SQUARED PPV
+33DA ; [.1792.0020.001D][.17B9.0020.001D] # SQUARE PR
+33B0 ; [.1792.0020.001C][.17EF.0020.001C] # SQUARE PS
+3250 ; [.1792.0020.001D][.1812.0020.001D][.1648.0020.001D] # PARTNERSHIP SIGN
+33B4 ; [.1792.0020.001C][.185B.0020.001D] # SQUARE PV
+33BA ; [.1792.0020.001C][.186D.0020.001D] # SQUARE PW
+1D18 ; [.1796.0020.0002] # LATIN LETTER SMALL CAPITAL P
+1D7D ; [.1797.0020.0002] # LATIN SMALL LETTER P WITH STROKE
+2C63 ; [.1797.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE
+A751 ; [.1798.0020.0002] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A750 ; [.1798.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+1D71 ; [.1799.0020.0002] # LATIN SMALL LETTER P WITH MIDDLE TILDE
+1D88 ; [.179A.0020.0002] # LATIN SMALL LETTER P WITH PALATAL HOOK
+01A5 ; [.179B.0020.0002] # LATIN SMALL LETTER P WITH HOOK
+01A4 ; [.179B.0020.0008] # LATIN CAPITAL LETTER P WITH HOOK
+A753 ; [.179F.0020.0002] # LATIN SMALL LETTER P WITH FLOURISH
+A752 ; [.179F.0020.0008] # LATIN CAPITAL LETTER P WITH FLOURISH
+A755 ; [.17A0.0020.0002] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A754 ; [.17A0.0020.0008] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A7FC ; [.17A1.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED P
+0278 ; [.17A2.0020.0002] # LATIN SMALL LETTER PHI
+1DB2 ; [.17A2.0020.0014] # MODIFIER LETTER SMALL PHI
+2C77 ; [.17A6.0020.0002] # LATIN SMALL LETTER TAILLESS PHI
+0071 ; [.17A7.0020.0002] # LATIN SMALL LETTER Q
+FF51 ; [.17A7.0020.0003] # FULLWIDTH LATIN SMALL LETTER Q
+24AC ; [*02FA.0020.0004][.17A7.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Q
+1D42A ; [.17A7.0020.0005] # MATHEMATICAL BOLD SMALL Q
+1D45E ; [.17A7.0020.0005] # MATHEMATICAL ITALIC SMALL Q
+1D492 ; [.17A7.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Q
+1D4C6 ; [.17A7.0020.0005] # MATHEMATICAL SCRIPT SMALL Q
+1D4FA ; [.17A7.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Q
+1D52E ; [.17A7.0020.0005] # MATHEMATICAL FRAKTUR SMALL Q
+1D562 ; [.17A7.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
+1D596 ; [.17A7.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Q
+1D5CA ; [.17A7.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Q
+1D5FE ; [.17A7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
+1D632 ; [.17A7.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
+1D666 ; [.17A7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
+1D69A ; [.17A7.0020.0005] # MATHEMATICAL MONOSPACE SMALL Q
+24E0 ; [.17A7.0020.0006] # CIRCLED LATIN SMALL LETTER Q
+0051 ; [.17A7.0020.0008] # LATIN CAPITAL LETTER Q
+FF31 ; [.17A7.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Q
+1F120 ; [*02FA.0020.0004][.17A7.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Q
+211A ; [.17A7.0020.000B] # DOUBLE-STRUCK CAPITAL Q
+1D410 ; [.17A7.0020.000B] # MATHEMATICAL BOLD CAPITAL Q
+1D444 ; [.17A7.0020.000B] # MATHEMATICAL ITALIC CAPITAL Q
+1D478 ; [.17A7.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Q
+1D4AC ; [.17A7.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Q
+1D4E0 ; [.17A7.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
+1D514 ; [.17A7.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Q
+1D57C ; [.17A7.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
+1D5B0 ; [.17A7.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Q
+1D5E4 ; [.17A7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
+1D618 ; [.17A7.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
+1D64C ; [.17A7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
+1D680 ; [.17A7.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Q
+24C6 ; [.17A7.0020.000C] # CIRCLED LATIN CAPITAL LETTER Q
+1F160 ; [.17A7.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
+1F140 ; [.17A7.0020.001D] # SQUARED LATIN CAPITAL LETTER Q
+1F180 ; [.17A7.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
+0239 ; [.17A7.0020.0004][.1792.0020.0004] # LATIN SMALL LETTER QP DIGRAPH
+A757 ; [.17AB.0020.0002] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A756 ; [.17AB.0020.0008] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A759 ; [.17AC.0020.0002] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A758 ; [.17AC.0020.0008] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+02A0 ; [.17AD.0020.0002] # LATIN SMALL LETTER Q WITH HOOK
+024B ; [.17B1.0020.0002] # LATIN SMALL LETTER Q WITH HOOK TAIL
+024A ; [.17B1.0020.0008] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0138 ; [.17B5.0020.0002] # LATIN SMALL LETTER KRA
+0072 ; [.17B9.0020.0002] # LATIN SMALL LETTER R
+FF52 ; [.17B9.0020.0003] # FULLWIDTH LATIN SMALL LETTER R
+036C ; [.17B9.0020.0004] # COMBINING LATIN SMALL LETTER R
+1DCA ; [.17B9.0020.0004] # COMBINING LATIN SMALL LETTER R BELOW
+24AD ; [*02FA.0020.0004][.17B9.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER R
+1D42B ; [.17B9.0020.0005] # MATHEMATICAL BOLD SMALL R
+1D45F ; [.17B9.0020.0005] # MATHEMATICAL ITALIC SMALL R
+1D493 ; [.17B9.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL R
+1D4C7 ; [.17B9.0020.0005] # MATHEMATICAL SCRIPT SMALL R
+1D4FB ; [.17B9.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL R
+1D52F ; [.17B9.0020.0005] # MATHEMATICAL FRAKTUR SMALL R
+1D563 ; [.17B9.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL R
+1D597 ; [.17B9.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL R
+1D5CB ; [.17B9.0020.0005] # MATHEMATICAL SANS-SERIF SMALL R
+1D5FF ; [.17B9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL R
+1D633 ; [.17B9.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
+1D667 ; [.17B9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
+1D69B ; [.17B9.0020.0005] # MATHEMATICAL MONOSPACE SMALL R
+24E1 ; [.17B9.0020.0006] # CIRCLED LATIN SMALL LETTER R
+0052 ; [.17B9.0020.0008] # LATIN CAPITAL LETTER R
+FF32 ; [.17B9.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER R
+1F121 ; [*02FA.0020.0004][.17B9.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER R
+211B ; [.17B9.0020.000B] # SCRIPT CAPITAL R
+211C ; [.17B9.0020.000B] # BLACK-LETTER CAPITAL R
+211D ; [.17B9.0020.000B] # DOUBLE-STRUCK CAPITAL R
+1D411 ; [.17B9.0020.000B] # MATHEMATICAL BOLD CAPITAL R
+1D445 ; [.17B9.0020.000B] # MATHEMATICAL ITALIC CAPITAL R
+1D479 ; [.17B9.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL R
+1D4E1 ; [.17B9.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL R
+1D57D ; [.17B9.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
+1D5B1 ; [.17B9.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL R
+1D5E5 ; [.17B9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
+1D619 ; [.17B9.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
+1D64D ; [.17B9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
+1D681 ; [.17B9.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL R
+24C7 ; [.17B9.0020.000C] # CIRCLED LATIN CAPITAL LETTER R
+1F12C ; [.17B9.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
+1F161 ; [.17B9.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
+02B3 ; [.17B9.0020.0014] # MODIFIER LETTER SMALL R
+1D63 ; [.17B9.0020.0015] # LATIN SUBSCRIPT SMALL LETTER R
+1D3F ; [.17B9.0020.001D] # MODIFIER LETTER CAPITAL R
+1F141 ; [.17B9.0020.001D] # SQUARED LATIN CAPITAL LETTER R
+1F181 ; [.17B9.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
+0155 ; [.17B9.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER R WITH ACUTE
+0154 ; [.17B9.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER R WITH ACUTE
+0159 ; [.17B9.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17B9.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER R WITH CARON
+1E59 ; [.17B9.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER R WITH DOT ABOVE
+1E58 ; [.17B9.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER R WITH DOT ABOVE
+0157 ; [.17B9.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0156 ; [.17B9.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER R WITH CEDILLA
+A7A7 ; [.17B9.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A6 ; [.17B9.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+0211 ; [.17B9.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0210 ; [.17B9.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0213 ; [.17B9.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER R WITH INVERTED BREVE
+0212 ; [.17B9.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+1E5B ; [.17B9.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER R WITH DOT BELOW
+1E5A ; [.17B9.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5D ; [.17B9.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5C ; [.17B9.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5F ; [.17B9.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER R WITH LINE BELOW
+1E5E ; [.17B9.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER R WITH LINE BELOW
+A783 ; [.17B9.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR R
+A782 ; [.17B9.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR R
+33AD ; [.17B9.0020.001C][.15EB.0020.001C][.162D.0020.001C] # SQUARE RAD
+33AE ; [.17B9.0020.001C][.15EB.0020.001C][.162D.0020.001C][*05AE.0020.001C][.17EF.0020.001C] # SQUARE RAD OVER S
+33AF ; [.17B9.0020.001C][.15EB.0020.001C][.162D.0020.001C][*05AE.0020.001C][.17EF.0020.001C][.15E3.0020.001C] # SQUARE RAD OVER S SQUARED
+20A8 ; [.17B9.0020.000A][.17EF.0020.0004] # RUPEE SIGN
+0280 ; [.17BD.0020.0002] # LATIN LETTER SMALL CAPITAL R
+1DE2 ; [.17BD.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL R
+01A6 ; [.17BD.0020.0008] # LATIN LETTER YR
+A75B ; [.17C1.0020.0002] # LATIN SMALL LETTER R ROTUNDA
+1DE3 ; [.17C1.0020.0004] # COMBINING LATIN SMALL LETTER R ROTUNDA
+A75A ; [.17C1.0020.0008] # LATIN CAPITAL LETTER R ROTUNDA
+1D19 ; [.17C2.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED R
+024D ; [.17C3.0020.0002] # LATIN SMALL LETTER R WITH STROKE
+024C ; [.17C3.0020.0008] # LATIN CAPITAL LETTER R WITH STROKE
+1D72 ; [.17C7.0020.0002] # LATIN SMALL LETTER R WITH MIDDLE TILDE
+0279 ; [.17C8.0020.0002] # LATIN SMALL LETTER TURNED R
+02B4 ; [.17C8.0020.0014] # MODIFIER LETTER SMALL TURNED R
+1D1A ; [.17CC.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED R
+027A ; [.17CD.0020.0002] # LATIN SMALL LETTER TURNED R WITH LONG LEG
+1D89 ; [.17D1.0020.0002] # LATIN SMALL LETTER R WITH PALATAL HOOK
+027B ; [.17D2.0020.0002] # LATIN SMALL LETTER TURNED R WITH HOOK
+02B5 ; [.17D2.0020.0014] # MODIFIER LETTER SMALL TURNED R WITH HOOK
+2C79 ; [.17D6.0020.0002] # LATIN SMALL LETTER TURNED R WITH TAIL
+027C ; [.17D7.0020.0002] # LATIN SMALL LETTER R WITH LONG LEG
+027D ; [.17DB.0020.0002] # LATIN SMALL LETTER R WITH TAIL
+2C64 ; [.17DB.0020.0008] # LATIN CAPITAL LETTER R WITH TAIL
+027E ; [.17DF.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK
+1D73 ; [.17E3.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+027F ; [.17E4.0020.0002] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0281 ; [.17E8.0020.0002] # LATIN LETTER SMALL CAPITAL INVERTED R
+02B6 ; [.17E8.0020.0014] # MODIFIER LETTER SMALL CAPITAL INVERTED R
+A775 ; [.17EC.0020.0002] # LATIN SMALL LETTER RUM
+A776 ; [.17ED.0020.0002] # LATIN LETTER SMALL CAPITAL RUM
+A75D ; [.17EE.0020.0002] # LATIN SMALL LETTER RUM ROTUNDA
+A75C ; [.17EE.0020.0008] # LATIN CAPITAL LETTER RUM ROTUNDA
+0073 ; [.17EF.0020.0002] # LATIN SMALL LETTER S
+FF53 ; [.17EF.0020.0003] # FULLWIDTH LATIN SMALL LETTER S
+1DE4 ; [.17EF.0020.0004] # COMBINING LATIN SMALL LETTER S
+24AE ; [*02FA.0020.0004][.17EF.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER S
+1D42C ; [.17EF.0020.0005] # MATHEMATICAL BOLD SMALL S
+1D460 ; [.17EF.0020.0005] # MATHEMATICAL ITALIC SMALL S
+1D494 ; [.17EF.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL S
+1D4C8 ; [.17EF.0020.0005] # MATHEMATICAL SCRIPT SMALL S
+1D4FC ; [.17EF.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL S
+1D530 ; [.17EF.0020.0005] # MATHEMATICAL FRAKTUR SMALL S
+1D564 ; [.17EF.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL S
+1D598 ; [.17EF.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL S
+1D5CC ; [.17EF.0020.0005] # MATHEMATICAL SANS-SERIF SMALL S
+1D600 ; [.17EF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL S
+1D634 ; [.17EF.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
+1D668 ; [.17EF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
+1D69C ; [.17EF.0020.0005] # MATHEMATICAL MONOSPACE SMALL S
+24E2 ; [.17EF.0020.0006] # CIRCLED LATIN SMALL LETTER S
+0053 ; [.17EF.0020.0008] # LATIN CAPITAL LETTER S
+FF33 ; [.17EF.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER S
+1F122 ; [*02FA.0020.0004][.17EF.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER S
+1F12A ; [*035C.0020.0004][.17EF.0020.000A][*035D.0020.0004] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
+1D412 ; [.17EF.0020.000B] # MATHEMATICAL BOLD CAPITAL S
+1D446 ; [.17EF.0020.000B] # MATHEMATICAL ITALIC CAPITAL S
+1D47A ; [.17EF.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL S
+1D4AE ; [.17EF.0020.000B] # MATHEMATICAL SCRIPT CAPITAL S
+1D4E2 ; [.17EF.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL S
+1D516 ; [.17EF.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL S
+1D54A ; [.17EF.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+1D57E ; [.17EF.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
+1D5B2 ; [.17EF.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL S
+1D5E6 ; [.17EF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
+1D61A ; [.17EF.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
+1D64E ; [.17EF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
+1D682 ; [.17EF.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL S
+24C8 ; [.17EF.0020.000C] # CIRCLED LATIN CAPITAL LETTER S
+1F162 ; [.17EF.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
+02E2 ; [.17EF.0020.0014] # MODIFIER LETTER SMALL S
+209B ; [.17EF.0020.0015] # LATIN SUBSCRIPT SMALL LETTER S
+1F142 ; [.17EF.0020.001D] # SQUARED LATIN CAPITAL LETTER S
+1F182 ; [.17EF.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
+015B ; [.17EF.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER S WITH ACUTE
+015A ; [.17EF.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER S WITH ACUTE
+1E65 ; [.17EF.0020.0002][.0000.0024.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E64 ; [.17EF.0020.0008][.0000.0024.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+015D ; [.17EF.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C ; [.17EF.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0161 ; [.17EF.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17EF.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER S WITH CARON
+1E67 ; [.17EF.0020.0002][.0000.0028.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E66 ; [.17EF.0020.0008][.0000.0028.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E61 ; [.17EF.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT ABOVE
+1E60 ; [.17EF.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT ABOVE
+015F ; [.17EF.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17EF.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER S WITH CEDILLA
+A7A9 ; [.17EF.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7A8 ; [.17EF.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+1E63 ; [.17EF.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.17EF.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW
+1E69 ; [.17EF.0020.0002][.0000.0042.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E68 ; [.17EF.0020.0008][.0000.0042.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+0219 ; [.17EF.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+0218 ; [.17EF.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+017F ; [.17EF.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER LONG S
+1DE5 ; [.17EF.0020.0004][.0000.00FD.0004] # COMBINING LATIN SMALL LETTER LONG S
+A785 ; [.17EF.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR S
+A784 ; [.17EF.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR S
+1E9B ; [.17EF.0020.0004][.0000.00FD.0004][.0000.002E.0002] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1F18D ; [.17EF.0020.001D][.15EB.0020.001D] # NEGATIVE SQUARED SA
+1F14C ; [.17EF.0020.001D][.162D.0020.001D] # SQUARED SD
+2120 ; [.17EF.0020.0014][.173D.0020.0014] # SERVICE MARK
+1F198 ; [.17EF.0020.001D][.176D.0020.001D][.17EF.0020.001D] # SQUARED SOS
+33DB ; [.17EF.0020.001C][.17B9.0020.001C] # SQUARE SR
+1F14D ; [.17EF.0020.001D][.17EF.0020.001D] # SQUARED SS
+00DF ; [.17EF.0020.0004][.0000.00FC.0004][.17EF.0020.0004] # LATIN SMALL LETTER SHARP S
+1E9E ; [.17EF.0020.000A][.0000.00FC.0004][.17EF.0020.000A] # LATIN CAPITAL LETTER SHARP S
+FB06 ; [.17EF.0020.0004][.1812.0020.0004] # LATIN SMALL LIGATURE ST
+FB05 ; [.17EF.0020.0004][.0000.00FD.0004][.1812.0020.0004] # LATIN SMALL LIGATURE LONG S T
+33DC ; [.17EF.0020.001D][.185B.0020.001C] # SQUARE SV
+A731 ; [.17F3.0020.0002] # LATIN LETTER SMALL CAPITAL S
+1D74 ; [.17F4.0020.0002] # LATIN SMALL LETTER S WITH MIDDLE TILDE
+1D8A ; [.17F5.0020.0002] # LATIN SMALL LETTER S WITH PALATAL HOOK
+0282 ; [.17F6.0020.0002] # LATIN SMALL LETTER S WITH HOOK
+1DB3 ; [.17F6.0020.0014] # MODIFIER LETTER SMALL S WITH HOOK
+023F ; [.17FA.0020.0002] # LATIN SMALL LETTER S WITH SWASH TAIL
+2C7E ; [.17FA.0020.0008] # LATIN CAPITAL LETTER S WITH SWASH TAIL
+1E9C ; [.17FE.0020.0002] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+1E9D ; [.17FF.0020.0002] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
+0283 ; [.1800.0020.0002] # LATIN SMALL LETTER ESH
+01A9 ; [.1800.0020.0008] # LATIN CAPITAL LETTER ESH
+1DB4 ; [.1800.0020.0014] # MODIFIER LETTER SMALL ESH
+1D8B ; [.1804.0020.0002] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01AA ; [.1805.0020.0002] # LATIN LETTER REVERSED ESH LOOP
+0285 ; [.1809.0020.0002] # LATIN SMALL LETTER SQUAT REVERSED ESH
+1D98 ; [.180D.0020.0002] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+0286 ; [.180E.0020.0002] # LATIN SMALL LETTER ESH WITH CURL
+0074 ; [.1812.0020.0002] # LATIN SMALL LETTER T
+FF54 ; [.1812.0020.0003] # FULLWIDTH LATIN SMALL LETTER T
+036D ; [.1812.0020.0004] # COMBINING LATIN SMALL LETTER T
+24AF ; [*02FA.0020.0004][.1812.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER T
+1D42D ; [.1812.0020.0005] # MATHEMATICAL BOLD SMALL T
+1D461 ; [.1812.0020.0005] # MATHEMATICAL ITALIC SMALL T
+1D495 ; [.1812.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL T
+1D4C9 ; [.1812.0020.0005] # MATHEMATICAL SCRIPT SMALL T
+1D4FD ; [.1812.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL T
+1D531 ; [.1812.0020.0005] # MATHEMATICAL FRAKTUR SMALL T
+1D565 ; [.1812.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL T
+1D599 ; [.1812.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL T
+1D5CD ; [.1812.0020.0005] # MATHEMATICAL SANS-SERIF SMALL T
+1D601 ; [.1812.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL T
+1D635 ; [.1812.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
+1D669 ; [.1812.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
+1D69D ; [.1812.0020.0005] # MATHEMATICAL MONOSPACE SMALL T
+24E3 ; [.1812.0020.0006] # CIRCLED LATIN SMALL LETTER T
+0054 ; [.1812.0020.0008] # LATIN CAPITAL LETTER T
+FF34 ; [.1812.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER T
+1F123 ; [*02FA.0020.0004][.1812.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER T
+1D413 ; [.1812.0020.000B] # MATHEMATICAL BOLD CAPITAL T
+1D447 ; [.1812.0020.000B] # MATHEMATICAL ITALIC CAPITAL T
+1D47B ; [.1812.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL T
+1D4AF ; [.1812.0020.000B] # MATHEMATICAL SCRIPT CAPITAL T
+1D4E3 ; [.1812.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL T
+1D517 ; [.1812.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL T
+1D54B ; [.1812.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+1D57F ; [.1812.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
+1D5B3 ; [.1812.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL T
+1D5E7 ; [.1812.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
+1D61B ; [.1812.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
+1D64F ; [.1812.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
+1D683 ; [.1812.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL T
+24C9 ; [.1812.0020.000C] # CIRCLED LATIN CAPITAL LETTER T
+1F163 ; [.1812.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
+1D57 ; [.1812.0020.0014] # MODIFIER LETTER SMALL T
+209C ; [.1812.0020.0015] # LATIN SUBSCRIPT SMALL LETTER T
+1D40 ; [.1812.0020.001D] # MODIFIER LETTER CAPITAL T
+1F143 ; [.1812.0020.001D] # SQUARED LATIN CAPITAL LETTER T
+1F183 ; [.1812.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
+0165 ; [.1812.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER T WITH CARON
+0164 ; [.1812.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER T WITH CARON
+1E97 ; [.1812.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER T WITH DIAERESIS
+1E6B ; [.1812.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER T WITH DOT ABOVE
+1E6A ; [.1812.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0163 ; [.1812.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER T WITH CEDILLA
+0162 ; [.1812.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER T WITH CEDILLA
+1E6D ; [.1812.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER T WITH DOT BELOW
+1E6C ; [.1812.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER T WITH DOT BELOW
+021B ; [.1812.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+021A ; [.1812.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+1E71 ; [.1812.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E70 ; [.1812.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E6F ; [.1812.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER T WITH LINE BELOW
+1E6E ; [.1812.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER T WITH LINE BELOW
+A787 ; [.1812.0020.0004][.0000.00FD.0004] # LATIN SMALL LETTER INSULAR T
+A786 ; [.1812.0020.000A][.0000.00FD.0004] # LATIN CAPITAL LETTER INSULAR T
+02A8 ; [.1812.0020.0004][.1627.0020.0004] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
+2121 ; [.1812.0020.000A][.1648.0020.000A][.170D.0020.000A] # TELEPHONE SIGN
+1D7A ; [.1812.0020.0004][.0000.00FC.0004][.16B0.0020.0004] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
+3394 ; [.1812.0020.001D][.16B0.0020.001D][.1891.0020.001C] # SQUARE THZ
+2122 ; [.1812.0020.0014][.173D.0020.0014] # TRADE MARK SIGN
+01BE ; [.1812.0020.0004][.17EF.0020.0004] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+02A6 ; [.1812.0020.0004][.17EF.0020.0004] # LATIN SMALL LETTER TS DIGRAPH
+02A7 ; [.1812.0020.0004][.1800.0020.0004] # LATIN SMALL LETTER TESH DIGRAPH
+A729 ; [.1812.0020.0004][.1891.0020.0004] # LATIN SMALL LETTER TZ
+A728 ; [.1812.0020.000A][.1891.0020.0004] # LATIN CAPITAL LETTER TZ
+1D1B ; [.1816.0020.0002] # LATIN LETTER SMALL CAPITAL T
+0167 ; [.1817.0020.0002] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.1817.0020.0008] # LATIN CAPITAL LETTER T WITH STROKE
+2C66 ; [.181B.0020.0002] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
+023E ; [.181B.0020.0008] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+1D75 ; [.181C.0020.0002] # LATIN SMALL LETTER T WITH MIDDLE TILDE
+01AB ; [.181D.0020.0002] # LATIN SMALL LETTER T WITH PALATAL HOOK
+1DB5 ; [.181D.0020.0014] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
+01AD ; [.1821.0020.0002] # LATIN SMALL LETTER T WITH HOOK
+01AC ; [.1821.0020.0008] # LATIN CAPITAL LETTER T WITH HOOK
+0288 ; [.1825.0020.0002] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
+01AE ; [.1825.0020.0008] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+0236 ; [.1829.0020.0002] # LATIN SMALL LETTER T WITH CURL
+A777 ; [.182D.0020.0002] # LATIN SMALL LETTER TUM
+0287 ; [.182E.0020.0002] # LATIN SMALL LETTER TURNED T
+0075 ; [.1832.0020.0002] # LATIN SMALL LETTER U
+FF55 ; [.1832.0020.0003] # FULLWIDTH LATIN SMALL LETTER U
+0367 ; [.1832.0020.0004] # COMBINING LATIN SMALL LETTER U
+24B0 ; [*02FA.0020.0004][.1832.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER U
+1D42E ; [.1832.0020.0005] # MATHEMATICAL BOLD SMALL U
+1D462 ; [.1832.0020.0005] # MATHEMATICAL ITALIC SMALL U
+1D496 ; [.1832.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL U
+1D4CA ; [.1832.0020.0005] # MATHEMATICAL SCRIPT SMALL U
+1D4FE ; [.1832.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL U
+1D532 ; [.1832.0020.0005] # MATHEMATICAL FRAKTUR SMALL U
+1D566 ; [.1832.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL U
+1D59A ; [.1832.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL U
+1D5CE ; [.1832.0020.0005] # MATHEMATICAL SANS-SERIF SMALL U
+1D602 ; [.1832.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL U
+1D636 ; [.1832.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
+1D66A ; [.1832.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
+1D69E ; [.1832.0020.0005] # MATHEMATICAL MONOSPACE SMALL U
+24E4 ; [.1832.0020.0006] # CIRCLED LATIN SMALL LETTER U
+0055 ; [.1832.0020.0008] # LATIN CAPITAL LETTER U
+FF35 ; [.1832.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER U
+1F124 ; [*02FA.0020.0004][.1832.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER U
+1D414 ; [.1832.0020.000B] # MATHEMATICAL BOLD CAPITAL U
+1D448 ; [.1832.0020.000B] # MATHEMATICAL ITALIC CAPITAL U
+1D47C ; [.1832.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL U
+1D4B0 ; [.1832.0020.000B] # MATHEMATICAL SCRIPT CAPITAL U
+1D4E4 ; [.1832.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL U
+1D518 ; [.1832.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL U
+1D54C ; [.1832.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+1D580 ; [.1832.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
+1D5B4 ; [.1832.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL U
+1D5E8 ; [.1832.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
+1D61C ; [.1832.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
+1D650 ; [.1832.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
+1D684 ; [.1832.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL U
+24CA ; [.1832.0020.000C] # CIRCLED LATIN CAPITAL LETTER U
+1F164 ; [.1832.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
+1D58 ; [.1832.0020.0014] # MODIFIER LETTER SMALL U
+1D64 ; [.1832.0020.0015] # LATIN SUBSCRIPT SMALL LETTER U
+1D41 ; [.1832.0020.001D] # MODIFIER LETTER CAPITAL U
+1F144 ; [.1832.0020.001D] # SQUARED LATIN CAPITAL LETTER U
+1F184 ; [.1832.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
+00FA ; [.1832.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1832.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH ACUTE
+00F9 ; [.1832.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1832.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH GRAVE
+016D ; [.1832.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.1832.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER U WITH BREVE
+00FB ; [.1832.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB ; [.1832.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+01D4 ; [.1832.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1832.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH CARON
+016F ; [.1832.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH RING ABOVE
+016E ; [.1832.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH RING ABOVE
+00FC ; [.1832.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1832.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01D8 ; [.1832.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1832.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01DC ; [.1832.0020.0002][.0000.002B.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1832.0020.0008][.0000.002B.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DA ; [.1832.0020.0002][.0000.002B.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1832.0020.0008][.0000.002B.0002][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01D6 ; [.1832.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1832.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0171 ; [.1832.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1832.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0169 ; [.1832.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH TILDE
+0168 ; [.1832.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH TILDE
+1E79 ; [.1832.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E78 ; [.1832.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+0173 ; [.1832.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER U WITH OGONEK
+0172 ; [.1832.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER U WITH OGONEK
+016B ; [.1832.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1832.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
+1E7B ; [.1832.0020.0002][.0000.0032.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7A ; [.1832.0020.0008][.0000.0032.0002][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1EE7 ; [.1832.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6 ; [.1832.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0215 ; [.1832.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0214 ; [.1832.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0217 ; [.1832.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER U WITH INVERTED BREVE
+0216 ; [.1832.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+01B0 ; [.1832.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN
+01AF ; [.1832.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER U WITH HORN
+1EE9 ; [.1832.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8 ; [.1832.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEB ; [.1832.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA ; [.1832.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEF ; [.1832.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE ; [.1832.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED ; [.1832.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC ; [.1832.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1 ; [.1832.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.1832.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EE5 ; [.1832.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.1832.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1E73 ; [.1832.0020.0002][.0000.0043.0002] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E72 ; [.1832.0020.0008][.0000.0043.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E77 ; [.1832.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E76 ; [.1832.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E75 ; [.1832.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER U WITH TILDE BELOW
+1E74 ; [.1832.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER U WITH TILDE BELOW
+1F199 ; [.1832.0020.001D][.1792.0020.001D][*025D.0020.001C] # SQUARED UP WITH EXCLAMATION MARK
+1D1C ; [.1836.0020.0002] # LATIN LETTER SMALL CAPITAL U
+1DB8 ; [.1836.0020.0014] # MODIFIER LETTER SMALL CAPITAL U
+1D1D ; [.1837.0020.0002] # LATIN SMALL LETTER SIDEWAYS U
+1D59 ; [.1837.0020.0014] # MODIFIER LETTER SMALL SIDEWAYS U
+1D1E ; [.1838.0020.0002] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+1D6B ; [.1839.0020.0002] # LATIN SMALL LETTER UE
+0289 ; [.183A.0020.0002] # LATIN SMALL LETTER U BAR
+0244 ; [.183A.0020.0008] # LATIN CAPITAL LETTER U BAR
+1DB6 ; [.183A.0020.0014] # MODIFIER LETTER SMALL U BAR
+1D7E ; [.183E.0020.0002] # LATIN SMALL CAPITAL LETTER U WITH STROKE
+1D99 ; [.183F.0020.0002] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
+0265 ; [.1840.0020.0002] # LATIN SMALL LETTER TURNED H
+A78D ; [.1840.0020.0008] # LATIN CAPITAL LETTER TURNED H
+1DA3 ; [.1840.0020.0014] # MODIFIER LETTER SMALL TURNED H
+02AE ; [.1844.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
+02AF ; [.1848.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+026F ; [.184C.0020.0002] # LATIN SMALL LETTER TURNED M
+019C ; [.184C.0020.0008] # LATIN CAPITAL LETTER TURNED M
+1D5A ; [.184C.0020.0014] # MODIFIER LETTER SMALL TURNED M
+A7FA ; [.1850.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED M
+1D1F ; [.1851.0020.0002] # LATIN SMALL LETTER SIDEWAYS TURNED M
+0270 ; [.1852.0020.0002] # LATIN SMALL LETTER TURNED M WITH LONG LEG
+1DAD ; [.1852.0020.0014] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
+028A ; [.1856.0020.0002] # LATIN SMALL LETTER UPSILON
+01B1 ; [.1856.0020.0008] # LATIN CAPITAL LETTER UPSILON
+1DB7 ; [.1856.0020.0014] # MODIFIER LETTER SMALL UPSILON
+1D7F ; [.185A.0020.0002] # LATIN SMALL LETTER UPSILON WITH STROKE
+0076 ; [.185B.0020.0002] # LATIN SMALL LETTER V
+FF56 ; [.185B.0020.0003] # FULLWIDTH LATIN SMALL LETTER V
+036E ; [.185B.0020.0004] # COMBINING LATIN SMALL LETTER V
+2174 ; [.185B.0020.0004] # SMALL ROMAN NUMERAL FIVE
+24B1 ; [*02FA.0020.0004][.185B.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER V
+1D42F ; [.185B.0020.0005] # MATHEMATICAL BOLD SMALL V
+1D463 ; [.185B.0020.0005] # MATHEMATICAL ITALIC SMALL V
+1D497 ; [.185B.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL V
+1D4CB ; [.185B.0020.0005] # MATHEMATICAL SCRIPT SMALL V
+1D4FF ; [.185B.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL V
+1D533 ; [.185B.0020.0005] # MATHEMATICAL FRAKTUR SMALL V
+1D567 ; [.185B.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL V
+1D59B ; [.185B.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL V
+1D5CF ; [.185B.0020.0005] # MATHEMATICAL SANS-SERIF SMALL V
+1D603 ; [.185B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL V
+1D637 ; [.185B.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
+1D66B ; [.185B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
+1D69F ; [.185B.0020.0005] # MATHEMATICAL MONOSPACE SMALL V
+24E5 ; [.185B.0020.0006] # CIRCLED LATIN SMALL LETTER V
+0056 ; [.185B.0020.0008] # LATIN CAPITAL LETTER V
+FF36 ; [.185B.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER V
+2164 ; [.185B.0020.000A] # ROMAN NUMERAL FIVE
+1F125 ; [*02FA.0020.0004][.185B.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER V
+1D415 ; [.185B.0020.000B] # MATHEMATICAL BOLD CAPITAL V
+1D449 ; [.185B.0020.000B] # MATHEMATICAL ITALIC CAPITAL V
+1D47D ; [.185B.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL V
+1D4B1 ; [.185B.0020.000B] # MATHEMATICAL SCRIPT CAPITAL V
+1D4E5 ; [.185B.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL V
+1D519 ; [.185B.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL V
+1D54D ; [.185B.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+1D581 ; [.185B.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
+1D5B5 ; [.185B.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL V
+1D5E9 ; [.185B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
+1D61D ; [.185B.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
+1D651 ; [.185B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
+1D685 ; [.185B.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL V
+24CB ; [.185B.0020.000C] # CIRCLED LATIN CAPITAL LETTER V
+1F165 ; [.185B.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
+1D5B ; [.185B.0020.0014] # MODIFIER LETTER SMALL V
+1D65 ; [.185B.0020.0015] # LATIN SUBSCRIPT SMALL LETTER V
+2C7D ; [.185B.0020.001D] # MODIFIER LETTER CAPITAL V
+1F145 ; [.185B.0020.001D] # SQUARED LATIN CAPITAL LETTER V
+1F185 ; [.185B.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
+1E7D ; [.185B.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER V WITH TILDE
+1E7C ; [.185B.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER V WITH TILDE
+1E7F ; [.185B.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER V WITH DOT BELOW
+1E7E ; [.185B.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER V WITH DOT BELOW
+2175 ; [.185B.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL SIX
+2165 ; [.185B.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL SIX
+2176 ; [.185B.0020.0004][.16C9.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL SEVEN
+2166 ; [.185B.0020.000A][.16C9.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL SEVEN
+2177 ; [.185B.0020.0004][.16C9.0020.0004][.16C9.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL EIGHT
+2167 ; [.185B.0020.000A][.16C9.0020.000A][.16C9.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL EIGHT
+33DE ; [.185B.0020.001D][*05AE.0020.001C][.173D.0020.001C] # SQUARE V OVER M
+1F19A ; [.185B.0020.001D][.17EF.0020.001D] # SQUARED VS
+A761 ; [.185B.0020.0004][.187C.0020.0004] # LATIN SMALL LETTER VY
+A760 ; [.185B.0020.000A][.187C.0020.000A] # LATIN CAPITAL LETTER VY
+1D20 ; [.185F.0020.0002] # LATIN LETTER SMALL CAPITAL V
+A75F ; [.1860.0020.0002] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A75E ; [.1860.0020.0008] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+1D8C ; [.1861.0020.0002] # LATIN SMALL LETTER V WITH PALATAL HOOK
+028B ; [.1862.0020.0002] # LATIN SMALL LETTER V WITH HOOK
+01B2 ; [.1862.0020.0008] # LATIN CAPITAL LETTER V WITH HOOK
+1DB9 ; [.1862.0020.0014] # MODIFIER LETTER SMALL V WITH HOOK
+2C71 ; [.1866.0020.0002] # LATIN SMALL LETTER V WITH RIGHT HOOK
+2C74 ; [.1867.0020.0002] # LATIN SMALL LETTER V WITH CURL
+1EFD ; [.1868.0020.0002] # LATIN SMALL LETTER MIDDLE-WELSH V
+1EFC ; [.1868.0020.0008] # LATIN CAPITAL LETTER MIDDLE-WELSH V
+028C ; [.1869.0020.0002] # LATIN SMALL LETTER TURNED V
+0245 ; [.1869.0020.0008] # LATIN CAPITAL LETTER TURNED V
+1DBA ; [.1869.0020.0014] # MODIFIER LETTER SMALL TURNED V
+0077 ; [.186D.0020.0002] # LATIN SMALL LETTER W
+FF57 ; [.186D.0020.0003] # FULLWIDTH LATIN SMALL LETTER W
+24B2 ; [*02FA.0020.0004][.186D.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER W
+1D430 ; [.186D.0020.0005] # MATHEMATICAL BOLD SMALL W
+1D464 ; [.186D.0020.0005] # MATHEMATICAL ITALIC SMALL W
+1D498 ; [.186D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL W
+1D4CC ; [.186D.0020.0005] # MATHEMATICAL SCRIPT SMALL W
+1D500 ; [.186D.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL W
+1D534 ; [.186D.0020.0005] # MATHEMATICAL FRAKTUR SMALL W
+1D568 ; [.186D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL W
+1D59C ; [.186D.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL W
+1D5D0 ; [.186D.0020.0005] # MATHEMATICAL SANS-SERIF SMALL W
+1D604 ; [.186D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL W
+1D638 ; [.186D.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
+1D66C ; [.186D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
+1D6A0 ; [.186D.0020.0005] # MATHEMATICAL MONOSPACE SMALL W
+24E6 ; [.186D.0020.0006] # CIRCLED LATIN SMALL LETTER W
+0057 ; [.186D.0020.0008] # LATIN CAPITAL LETTER W
+FF37 ; [.186D.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER W
+1F126 ; [*02FA.0020.0004][.186D.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER W
+1D416 ; [.186D.0020.000B] # MATHEMATICAL BOLD CAPITAL W
+1D44A ; [.186D.0020.000B] # MATHEMATICAL ITALIC CAPITAL W
+1D47E ; [.186D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL W
+1D4B2 ; [.186D.0020.000B] # MATHEMATICAL SCRIPT CAPITAL W
+1D4E6 ; [.186D.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL W
+1D51A ; [.186D.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL W
+1D54E ; [.186D.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+1D582 ; [.186D.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
+1D5B6 ; [.186D.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL W
+1D5EA ; [.186D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
+1D61E ; [.186D.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
+1D652 ; [.186D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
+1D686 ; [.186D.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL W
+24CC ; [.186D.0020.000C] # CIRCLED LATIN CAPITAL LETTER W
+1F166 ; [.186D.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
+02B7 ; [.186D.0020.0014] # MODIFIER LETTER SMALL W
+1D42 ; [.186D.0020.001D] # MODIFIER LETTER CAPITAL W
+1F146 ; [.186D.0020.001D] # SQUARED LATIN CAPITAL LETTER W
+1F186 ; [.186D.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
+1E83 ; [.186D.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER W WITH ACUTE
+1E82 ; [.186D.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER W WITH ACUTE
+1E81 ; [.186D.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER W WITH GRAVE
+1E80 ; [.186D.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER W WITH GRAVE
+0175 ; [.186D.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0174 ; [.186D.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+1E98 ; [.186D.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER W WITH RING ABOVE
+1E85 ; [.186D.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER W WITH DIAERESIS
+1E84 ; [.186D.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER W WITH DIAERESIS
+1E87 ; [.186D.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER W WITH DOT ABOVE
+1E86 ; [.186D.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E89 ; [.186D.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER W WITH DOT BELOW
+1E88 ; [.186D.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER W WITH DOT BELOW
+33DD ; [.186D.0020.001D][.1601.0020.001C] # SQUARE WB
+1F14F ; [.186D.0020.001D][.1619.0020.001D] # SQUARED WC
+1F18F ; [.186D.0020.001D][.1619.0020.001D] # NEGATIVE SQUARED WC
+1F12E ; [.186D.0020.000C][.1891.0020.000C] # CIRCLED WZ
+1D21 ; [.1871.0020.0002] # LATIN LETTER SMALL CAPITAL W
+2C73 ; [.1872.0020.0002] # LATIN SMALL LETTER W WITH HOOK
+2C72 ; [.1872.0020.0008] # LATIN CAPITAL LETTER W WITH HOOK
+028D ; [.1873.0020.0002] # LATIN SMALL LETTER TURNED W
+0078 ; [.1877.0020.0002] # LATIN SMALL LETTER X
+FF58 ; [.1877.0020.0003] # FULLWIDTH LATIN SMALL LETTER X
+036F ; [.1877.0020.0004] # COMBINING LATIN SMALL LETTER X
+2179 ; [.1877.0020.0004] # SMALL ROMAN NUMERAL TEN
+24B3 ; [*02FA.0020.0004][.1877.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER X
+1D431 ; [.1877.0020.0005] # MATHEMATICAL BOLD SMALL X
+1D465 ; [.1877.0020.0005] # MATHEMATICAL ITALIC SMALL X
+1D499 ; [.1877.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL X
+1D4CD ; [.1877.0020.0005] # MATHEMATICAL SCRIPT SMALL X
+1D501 ; [.1877.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL X
+1D535 ; [.1877.0020.0005] # MATHEMATICAL FRAKTUR SMALL X
+1D569 ; [.1877.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL X
+1D59D ; [.1877.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL X
+1D5D1 ; [.1877.0020.0005] # MATHEMATICAL SANS-SERIF SMALL X
+1D605 ; [.1877.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL X
+1D639 ; [.1877.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
+1D66D ; [.1877.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
+1D6A1 ; [.1877.0020.0005] # MATHEMATICAL MONOSPACE SMALL X
+24E7 ; [.1877.0020.0006] # CIRCLED LATIN SMALL LETTER X
+0058 ; [.1877.0020.0008] # LATIN CAPITAL LETTER X
+FF38 ; [.1877.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER X
+2169 ; [.1877.0020.000A] # ROMAN NUMERAL TEN
+1F127 ; [*02FA.0020.0004][.1877.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER X
+1D417 ; [.1877.0020.000B] # MATHEMATICAL BOLD CAPITAL X
+1D44B ; [.1877.0020.000B] # MATHEMATICAL ITALIC CAPITAL X
+1D47F ; [.1877.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL X
+1D4B3 ; [.1877.0020.000B] # MATHEMATICAL SCRIPT CAPITAL X
+1D4E7 ; [.1877.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL X
+1D51B ; [.1877.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL X
+1D54F ; [.1877.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+1D583 ; [.1877.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
+1D5B7 ; [.1877.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL X
+1D5EB ; [.1877.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
+1D61F ; [.1877.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
+1D653 ; [.1877.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
+1D687 ; [.1877.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL X
+24CD ; [.1877.0020.000C] # CIRCLED LATIN CAPITAL LETTER X
+1F167 ; [.1877.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
+02E3 ; [.1877.0020.0014] # MODIFIER LETTER SMALL X
+2093 ; [.1877.0020.0015] # LATIN SUBSCRIPT SMALL LETTER X
+1F147 ; [.1877.0020.001D] # SQUARED LATIN CAPITAL LETTER X
+1F187 ; [.1877.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
+1E8D ; [.1877.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER X WITH DIAERESIS
+1E8C ; [.1877.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8B ; [.1877.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER X WITH DOT ABOVE
+1E8A ; [.1877.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER X WITH DOT ABOVE
+217A ; [.1877.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL ELEVEN
+216A ; [.1877.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL ELEVEN
+217B ; [.1877.0020.0004][.16C9.0020.0004][.16C9.0020.0004] # SMALL ROMAN NUMERAL TWELVE
+216B ; [.1877.0020.000A][.16C9.0020.000A][.16C9.0020.000A] # ROMAN NUMERAL TWELVE
+1D8D ; [.187B.0020.0002] # LATIN SMALL LETTER X WITH PALATAL HOOK
+0079 ; [.187C.0020.0002] # LATIN SMALL LETTER Y
+FF59 ; [.187C.0020.0003] # FULLWIDTH LATIN SMALL LETTER Y
+24B4 ; [*02FA.0020.0004][.187C.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Y
+1D432 ; [.187C.0020.0005] # MATHEMATICAL BOLD SMALL Y
+1D466 ; [.187C.0020.0005] # MATHEMATICAL ITALIC SMALL Y
+1D49A ; [.187C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Y
+1D4CE ; [.187C.0020.0005] # MATHEMATICAL SCRIPT SMALL Y
+1D502 ; [.187C.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Y
+1D536 ; [.187C.0020.0005] # MATHEMATICAL FRAKTUR SMALL Y
+1D56A ; [.187C.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
+1D59E ; [.187C.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Y
+1D5D2 ; [.187C.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Y
+1D606 ; [.187C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
+1D63A ; [.187C.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
+1D66E ; [.187C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
+1D6A2 ; [.187C.0020.0005] # MATHEMATICAL MONOSPACE SMALL Y
+24E8 ; [.187C.0020.0006] # CIRCLED LATIN SMALL LETTER Y
+0059 ; [.187C.0020.0008] # LATIN CAPITAL LETTER Y
+FF39 ; [.187C.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Y
+1F128 ; [*02FA.0020.0004][.187C.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Y
+1D418 ; [.187C.0020.000B] # MATHEMATICAL BOLD CAPITAL Y
+1D44C ; [.187C.0020.000B] # MATHEMATICAL ITALIC CAPITAL Y
+1D480 ; [.187C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Y
+1D4B4 ; [.187C.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Y
+1D4E8 ; [.187C.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
+1D51C ; [.187C.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Y
+1D550 ; [.187C.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D584 ; [.187C.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
+1D5B8 ; [.187C.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Y
+1D5EC ; [.187C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
+1D620 ; [.187C.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
+1D654 ; [.187C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
+1D688 ; [.187C.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Y
+24CE ; [.187C.0020.000C] # CIRCLED LATIN CAPITAL LETTER Y
+1F168 ; [.187C.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
+02B8 ; [.187C.0020.0014] # MODIFIER LETTER SMALL Y
+1F148 ; [.187C.0020.001D] # SQUARED LATIN CAPITAL LETTER Y
+1F188 ; [.187C.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
+00FD ; [.187C.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.187C.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Y WITH ACUTE
+1EF3 ; [.187C.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER Y WITH GRAVE
+1EF2 ; [.187C.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER Y WITH GRAVE
+0177 ; [.187C.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176 ; [.187C.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+1E99 ; [.187C.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH RING ABOVE
+00FF ; [.187C.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER Y WITH DIAERESIS
+0178 ; [.187C.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER Y WITH DIAERESIS
+1EF9 ; [.187C.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER Y WITH TILDE
+1EF8 ; [.187C.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER Y WITH TILDE
+1E8F ; [.187C.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Y WITH DOT ABOVE
+1E8E ; [.187C.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
+0233 ; [.187C.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER Y WITH MACRON
+0232 ; [.187C.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER Y WITH MACRON
+1EF7 ; [.187C.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6 ; [.187C.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF5 ; [.187C.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4 ; [.187C.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+028F ; [.1880.0020.0002] # LATIN LETTER SMALL CAPITAL Y
+024F ; [.1884.0020.0002] # LATIN SMALL LETTER Y WITH STROKE
+024E ; [.1884.0020.0008] # LATIN CAPITAL LETTER Y WITH STROKE
+01B4 ; [.1888.0020.0002] # LATIN SMALL LETTER Y WITH HOOK
+01B3 ; [.1888.0020.0008] # LATIN CAPITAL LETTER Y WITH HOOK
+1EFF ; [.188C.0020.0002] # LATIN SMALL LETTER Y WITH LOOP
+1EFE ; [.188C.0020.0008] # LATIN CAPITAL LETTER Y WITH LOOP
+021D ; [.188D.0020.0002] # LATIN SMALL LETTER YOGH
+021C ; [.188D.0020.0008] # LATIN CAPITAL LETTER YOGH
+007A ; [.1891.0020.0002] # LATIN SMALL LETTER Z
+FF5A ; [.1891.0020.0003] # FULLWIDTH LATIN SMALL LETTER Z
+1DE6 ; [.1891.0020.0004] # COMBINING LATIN SMALL LETTER Z
+24B5 ; [*02FA.0020.0004][.1891.0020.0004][*02FB.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Z
+1D433 ; [.1891.0020.0005] # MATHEMATICAL BOLD SMALL Z
+1D467 ; [.1891.0020.0005] # MATHEMATICAL ITALIC SMALL Z
+1D49B ; [.1891.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Z
+1D4CF ; [.1891.0020.0005] # MATHEMATICAL SCRIPT SMALL Z
+1D503 ; [.1891.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Z
+1D537 ; [.1891.0020.0005] # MATHEMATICAL FRAKTUR SMALL Z
+1D56B ; [.1891.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D59F ; [.1891.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5D3 ; [.1891.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Z
+1D607 ; [.1891.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D63B ; [.1891.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D66F ; [.1891.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D6A3 ; [.1891.0020.0005] # MATHEMATICAL MONOSPACE SMALL Z
+24E9 ; [.1891.0020.0006] # CIRCLED LATIN SMALL LETTER Z
+005A ; [.1891.0020.0008] # LATIN CAPITAL LETTER Z
+FF3A ; [.1891.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Z
+1F129 ; [*02FA.0020.0004][.1891.0020.000A][*02FB.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Z
+2124 ; [.1891.0020.000B] # DOUBLE-STRUCK CAPITAL Z
+2128 ; [.1891.0020.000B] # BLACK-LETTER CAPITAL Z
+1D419 ; [.1891.0020.000B] # MATHEMATICAL BOLD CAPITAL Z
+1D44D ; [.1891.0020.000B] # MATHEMATICAL ITALIC CAPITAL Z
+1D481 ; [.1891.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D4B5 ; [.1891.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Z
+1D4E9 ; [.1891.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D585 ; [.1891.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D5B9 ; [.1891.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5ED ; [.1891.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D621 ; [.1891.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D655 ; [.1891.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D689 ; [.1891.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Z
+24CF ; [.1891.0020.000C] # CIRCLED LATIN CAPITAL LETTER Z
+1F169 ; [.1891.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1DBB ; [.1891.0020.0014] # MODIFIER LETTER SMALL Z
+1F149 ; [.1891.0020.001D] # SQUARED LATIN CAPITAL LETTER Z
+1F189 ; [.1891.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
+017A ; [.1891.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Z WITH ACUTE
+0179 ; [.1891.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Z WITH ACUTE
+1E91 ; [.1891.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E90 ; [.1891.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+017E ; [.1891.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1891.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER Z WITH CARON
+017C ; [.1891.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1891.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+1E93 ; [.1891.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Z WITH DOT BELOW
+1E92 ; [.1891.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E95 ; [.1891.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER Z WITH LINE BELOW
+1E94 ; [.1891.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER Z WITH LINE BELOW
+018D ; [.1891.0020.0004][.186D.0020.0004] # LATIN SMALL LETTER TURNED DELTA
+1D22 ; [.1895.0020.0002] # LATIN LETTER SMALL CAPITAL Z
+01B6 ; [.1896.0020.0002] # LATIN SMALL LETTER Z WITH STROKE
+01B5 ; [.1896.0020.0008] # LATIN CAPITAL LETTER Z WITH STROKE
+1D76 ; [.189A.0020.0002] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
+1D8E ; [.189B.0020.0002] # LATIN SMALL LETTER Z WITH PALATAL HOOK
+0225 ; [.189C.0020.0002] # LATIN SMALL LETTER Z WITH HOOK
+0224 ; [.189C.0020.0008] # LATIN CAPITAL LETTER Z WITH HOOK
+0290 ; [.18A0.0020.0002] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+1DBC ; [.18A0.0020.0014] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
+0291 ; [.18A4.0020.0002] # LATIN SMALL LETTER Z WITH CURL
+1DBD ; [.18A4.0020.0014] # MODIFIER LETTER SMALL Z WITH CURL
+0240 ; [.18A8.0020.0002] # LATIN SMALL LETTER Z WITH SWASH TAIL
+2C7F ; [.18A8.0020.0008] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C6C ; [.18AC.0020.0002] # LATIN SMALL LETTER Z WITH DESCENDER
+2C6B ; [.18AC.0020.0008] # LATIN CAPITAL LETTER Z WITH DESCENDER
+A763 ; [.18AD.0020.0002] # LATIN SMALL LETTER VISIGOTHIC Z
+A762 ; [.18AD.0020.0008] # LATIN CAPITAL LETTER VISIGOTHIC Z
+0292 ; [.18AE.0020.0002] # LATIN SMALL LETTER EZH
+01B7 ; [.18AE.0020.0008] # LATIN CAPITAL LETTER EZH
+1DBE ; [.18AE.0020.0014] # MODIFIER LETTER SMALL EZH
+01EF ; [.18AE.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.18AE.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+1D23 ; [.18B2.0020.0002] # LATIN LETTER SMALL CAPITAL EZH
+01B9 ; [.18B3.0020.0002] # LATIN SMALL LETTER EZH REVERSED
+01B8 ; [.18B3.0020.0008] # LATIN CAPITAL LETTER EZH REVERSED
+1D9A ; [.18B7.0020.0002] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01BA ; [.18B8.0020.0002] # LATIN SMALL LETTER EZH WITH TAIL
+0293 ; [.18BC.0020.0002] # LATIN SMALL LETTER EZH WITH CURL
+00FE ; [.18C0.0020.0002] # LATIN SMALL LETTER THORN
+00DE ; [.18C0.0020.0008] # LATIN CAPITAL LETTER THORN
+A765 ; [.18C4.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE
+A764 ; [.18C4.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE
+A767 ; [.18C5.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A766 ; [.18C5.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+01BF ; [.18C6.0020.0002] # LATIN LETTER WYNN
+01F7 ; [.18C6.0020.0008] # LATIN CAPITAL LETTER WYNN
+A769 ; [.18CA.0020.0002] # LATIN SMALL LETTER VEND
+A768 ; [.18CA.0020.0008] # LATIN CAPITAL LETTER VEND
+A76B ; [.18CB.0020.0002] # LATIN SMALL LETTER ET
+A76A ; [.18CB.0020.0008] # LATIN CAPITAL LETTER ET
+A76D ; [.18CC.0020.0002] # LATIN SMALL LETTER IS
+A76C ; [.18CC.0020.0008] # LATIN CAPITAL LETTER IS
+A76F ; [.18CD.0020.0002] # LATIN SMALL LETTER CON
+1DD2 ; [.18CD.0020.0004] # COMBINING US ABOVE
+A76E ; [.18CD.0020.0008] # LATIN CAPITAL LETTER CON
+A770 ; [.18CD.0020.0014] # MODIFIER LETTER US
+A778 ; [.18CE.0020.0002] # LATIN SMALL LETTER UM
+01BB ; [.18CF.0020.0002] # LATIN LETTER TWO WITH STROKE
+A72B ; [.18D3.0020.0002] # LATIN SMALL LETTER TRESILLO
+A72A ; [.18D3.0020.0008] # LATIN CAPITAL LETTER TRESILLO
+A72D ; [.18D4.0020.0002] # LATIN SMALL LETTER CUATRILLO
+A72C ; [.18D4.0020.0008] # LATIN CAPITAL LETTER CUATRILLO
+A72F ; [.18D5.0020.0002] # LATIN SMALL LETTER CUATRILLO WITH COMMA
+A72E ; [.18D5.0020.0008] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+01A8 ; [.18D6.0020.0002] # LATIN SMALL LETTER TONE TWO
+01A7 ; [.18D6.0020.0008] # LATIN CAPITAL LETTER TONE TWO
+01BD ; [.18DA.0020.0002] # LATIN SMALL LETTER TONE FIVE
+01BC ; [.18DA.0020.0008] # LATIN CAPITAL LETTER TONE FIVE
+0185 ; [.18DE.0020.0002] # LATIN SMALL LETTER TONE SIX
+0184 ; [.18DE.0020.0008] # LATIN CAPITAL LETTER TONE SIX
+0294 ; [.18E2.0020.0002] # LATIN LETTER GLOTTAL STOP
+0242 ; [.18E6.0020.0002] # LATIN SMALL LETTER GLOTTAL STOP
+0241 ; [.18E6.0020.0008] # LATIN CAPITAL LETTER GLOTTAL STOP
+02C0 ; [.18EA.0020.0002] # MODIFIER LETTER GLOTTAL STOP
+02BC ; [.18EB.0020.0002] # MODIFIER LETTER APOSTROPHE
+0149 ; [.18EB.0020.0004][.174B.0020.0004] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+02EE ; [.18EC.0020.0002] # MODIFIER LETTER DOUBLE APOSTROPHE
+02BE ; [.18ED.0020.0002] # MODIFIER LETTER RIGHT HALF RING
+A723 ; [.18EE.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A722 ; [.18EE.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A78C ; [.18EF.0020.0002] # LATIN SMALL LETTER SALTILLO
+A78B ; [.18EF.0020.0008] # LATIN CAPITAL LETTER SALTILLO
+0295 ; [.18F0.0020.0002] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+02E4 ; [.18F0.0020.0014] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02BF ; [.18F4.0020.0002] # MODIFIER LETTER LEFT HALF RING
+02C1 ; [.18F5.0020.0002] # MODIFIER LETTER REVERSED GLOTTAL STOP
+1D24 ; [.18F6.0020.0002] # LATIN LETTER VOICED LARYNGEAL SPIRANT
+1D25 ; [.18F7.0020.0002] # LATIN LETTER AIN
+1D5C ; [.18F7.0020.0014] # MODIFIER LETTER SMALL AIN
+A725 ; [.18F8.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A724 ; [.18F8.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+02A1 ; [.18F9.0020.0002] # LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2 ; [.18FD.0020.0002] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+0296 ; [.1901.0020.0002] # LATIN LETTER INVERTED GLOTTAL STOP
+01C0 ; [.1905.0020.0002] # LATIN LETTER DENTAL CLICK
+01C1 ; [.1909.0020.0002] # LATIN LETTER LATERAL CLICK
+01C2 ; [.190D.0020.0002] # LATIN LETTER ALVEOLAR CLICK
+01C3 ; [.1911.0020.0002] # LATIN LETTER RETROFLEX CLICK
+0297 ; [.1915.0020.0002] # LATIN LETTER STRETCHED C
+0298 ; [.1919.0020.0002] # LATIN LETTER BILABIAL CLICK
+02AC ; [.191D.0020.0002] # LATIN LETTER BILABIAL PERCUSSIVE
+02AD ; [.1921.0020.0002] # LATIN LETTER BIDENTAL PERCUSSIVE
+03B1 ; [.1925.0020.0002] # GREEK SMALL LETTER ALPHA
+1D6C2 ; [.1925.0020.0005] # MATHEMATICAL BOLD SMALL ALPHA
+1D6FC ; [.1925.0020.0005] # MATHEMATICAL ITALIC SMALL ALPHA
+1D736 ; [.1925.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
+1D770 ; [.1925.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
+1D7AA ; [.1925.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
+0391 ; [.1925.0020.0008] # GREEK CAPITAL LETTER ALPHA
+1D6A8 ; [.1925.0020.000B] # MATHEMATICAL BOLD CAPITAL ALPHA
+1D6E2 ; [.1925.0020.000B] # MATHEMATICAL ITALIC CAPITAL ALPHA
+1D71C ; [.1925.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
+1D756 ; [.1925.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
+1D790 ; [.1925.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
+1F00 ; [.1925.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ALPHA WITH PSILI
+1F08 ; [.1925.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI
+1F04 ; [.1925.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+1F0C ; [.1925.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+1F84 ; [.1925.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F8C ; [.1925.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F02 ; [.1925.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+1F0A ; [.1925.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+1F82 ; [.1925.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F8A ; [.1925.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F06 ; [.1925.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F0E ; [.1925.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F86 ; [.1925.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F8E ; [.1925.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F80 ; [.1925.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1F88 ; [.1925.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1F01 ; [.1925.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ALPHA WITH DASIA
+1F09 ; [.1925.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA
+1F05 ; [.1925.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+1F0D ; [.1925.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+1F85 ; [.1925.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F8D ; [.1925.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F03 ; [.1925.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+1F0B ; [.1925.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+1F83 ; [.1925.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F8B ; [.1925.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F07 ; [.1925.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F0F ; [.1925.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F87 ; [.1925.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F8F ; [.1925.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F81 ; [.1925.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1F89 ; [.1925.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+03AC ; [.1925.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH TONOS
+1F71 ; [.1925.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH OXIA
+0386 ; [.1925.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH TONOS
+1FBB ; [.1925.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH OXIA
+1FB4 ; [.1925.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1F70 ; [.1925.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH VARIA
+1FBA ; [.1925.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH VARIA
+1FB2 ; [.1925.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1FB0 ; [.1925.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER ALPHA WITH VRACHY
+1FB8 ; [.1925.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
+1FB6 ; [.1925.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1FB7 ; [.1925.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FB1 ; [.1925.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER ALPHA WITH MACRON
+1FB9 ; [.1925.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER ALPHA WITH MACRON
+1FB3 ; [.1925.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1FBC ; [.1925.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+03B2 ; [.1926.0020.0002] # GREEK SMALL LETTER BETA
+03D0 ; [.1926.0020.0004] # GREEK BETA SYMBOL
+1D6C3 ; [.1926.0020.0005] # MATHEMATICAL BOLD SMALL BETA
+1D6FD ; [.1926.0020.0005] # MATHEMATICAL ITALIC SMALL BETA
+1D737 ; [.1926.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL BETA
+1D771 ; [.1926.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
+1D7AB ; [.1926.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
+0392 ; [.1926.0020.0008] # GREEK CAPITAL LETTER BETA
+1D6A9 ; [.1926.0020.000B] # MATHEMATICAL BOLD CAPITAL BETA
+1D6E3 ; [.1926.0020.000B] # MATHEMATICAL ITALIC CAPITAL BETA
+1D71D ; [.1926.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
+1D757 ; [.1926.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
+1D791 ; [.1926.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
+1D5D ; [.1926.0020.0014] # MODIFIER LETTER SMALL BETA
+1D66 ; [.1926.0020.0015] # GREEK SUBSCRIPT SMALL LETTER BETA
+03B3 ; [.1927.0020.0002] # GREEK SMALL LETTER GAMMA
+213D ; [.1927.0020.0005] # DOUBLE-STRUCK SMALL GAMMA
+1D6C4 ; [.1927.0020.0005] # MATHEMATICAL BOLD SMALL GAMMA
+1D6FE ; [.1927.0020.0005] # MATHEMATICAL ITALIC SMALL GAMMA
+1D738 ; [.1927.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
+1D772 ; [.1927.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
+1D7AC ; [.1927.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
+0393 ; [.1927.0020.0008] # GREEK CAPITAL LETTER GAMMA
+213E ; [.1927.0020.000B] # DOUBLE-STRUCK CAPITAL GAMMA
+1D6AA ; [.1927.0020.000B] # MATHEMATICAL BOLD CAPITAL GAMMA
+1D6E4 ; [.1927.0020.000B] # MATHEMATICAL ITALIC CAPITAL GAMMA
+1D71E ; [.1927.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
+1D758 ; [.1927.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
+1D792 ; [.1927.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
+1D5E ; [.1927.0020.0014] # MODIFIER LETTER SMALL GREEK GAMMA
+1D67 ; [.1927.0020.0015] # GREEK SUBSCRIPT SMALL LETTER GAMMA
+1D26 ; [.1928.0020.0002] # GREEK LETTER SMALL CAPITAL GAMMA
+03B4 ; [.1929.0020.0002] # GREEK SMALL LETTER DELTA
+1D6C5 ; [.1929.0020.0005] # MATHEMATICAL BOLD SMALL DELTA
+1D6FF ; [.1929.0020.0005] # MATHEMATICAL ITALIC SMALL DELTA
+1D739 ; [.1929.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL DELTA
+1D773 ; [.1929.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
+1D7AD ; [.1929.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
+0394 ; [.1929.0020.0008] # GREEK CAPITAL LETTER DELTA
+1D6AB ; [.1929.0020.000B] # MATHEMATICAL BOLD CAPITAL DELTA
+1D6E5 ; [.1929.0020.000B] # MATHEMATICAL ITALIC CAPITAL DELTA
+1D71F ; [.1929.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
+1D759 ; [.1929.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
+1D793 ; [.1929.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
+1D5F ; [.1929.0020.0014] # MODIFIER LETTER SMALL DELTA
+03B5 ; [.192A.0020.0002] # GREEK SMALL LETTER EPSILON
+03F5 ; [.192A.0020.0004] # GREEK LUNATE EPSILON SYMBOL
+1D6C6 ; [.192A.0020.0005] # MATHEMATICAL BOLD SMALL EPSILON
+1D6DC ; [.192A.0020.0005] # MATHEMATICAL BOLD EPSILON SYMBOL
+1D700 ; [.192A.0020.0005] # MATHEMATICAL ITALIC SMALL EPSILON
+1D716 ; [.192A.0020.0005] # MATHEMATICAL ITALIC EPSILON SYMBOL
+1D73A ; [.192A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
+1D750 ; [.192A.0020.0005] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
+1D774 ; [.192A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
+1D78A ; [.192A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
+1D7AE ; [.192A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
+1D7C4 ; [.192A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
+0395 ; [.192A.0020.0008] # GREEK CAPITAL LETTER EPSILON
+1D6AC ; [.192A.0020.000B] # MATHEMATICAL BOLD CAPITAL EPSILON
+1D6E6 ; [.192A.0020.000B] # MATHEMATICAL ITALIC CAPITAL EPSILON
+1D720 ; [.192A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
+1D75A ; [.192A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
+1D794 ; [.192A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
+1F10 ; [.192A.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER EPSILON WITH PSILI
+1F18 ; [.192A.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI
+1F14 ; [.192A.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+1F1C ; [.192A.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+1F12 ; [.192A.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+1F1A ; [.192A.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+1F11 ; [.192A.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER EPSILON WITH DASIA
+1F19 ; [.192A.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA
+1F15 ; [.192A.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F1D ; [.192A.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F13 ; [.192A.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+1F1B ; [.192A.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+03AD ; [.192A.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH TONOS
+1F73 ; [.192A.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH OXIA
+0388 ; [.192A.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH TONOS
+1FC9 ; [.192A.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH OXIA
+1F72 ; [.192A.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH VARIA
+1FC8 ; [.192A.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH VARIA
+03DD ; [.192B.0020.0002] # GREEK SMALL LETTER DIGAMMA
+1D7CB ; [.192B.0020.0005] # MATHEMATICAL BOLD SMALL DIGAMMA
+03DC ; [.192B.0020.0008] # GREEK LETTER DIGAMMA
+1D7CA ; [.192B.0020.000B] # MATHEMATICAL BOLD CAPITAL DIGAMMA
+0377 ; [.192C.0020.0002] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0376 ; [.192C.0020.0008] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+03DB ; [.192D.0020.0002] # GREEK SMALL LETTER STIGMA
+03DA ; [.192D.0020.0008] # GREEK LETTER STIGMA
+03B6 ; [.192E.0020.0002] # GREEK SMALL LETTER ZETA
+1D6C7 ; [.192E.0020.0005] # MATHEMATICAL BOLD SMALL ZETA
+1D701 ; [.192E.0020.0005] # MATHEMATICAL ITALIC SMALL ZETA
+1D73B ; [.192E.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ZETA
+1D775 ; [.192E.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
+1D7AF ; [.192E.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
+0396 ; [.192E.0020.0008] # GREEK CAPITAL LETTER ZETA
+1D6AD ; [.192E.0020.000B] # MATHEMATICAL BOLD CAPITAL ZETA
+1D6E7 ; [.192E.0020.000B] # MATHEMATICAL ITALIC CAPITAL ZETA
+1D721 ; [.192E.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
+1D75B ; [.192E.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
+1D795 ; [.192E.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
+0371 ; [.192F.0020.0002] # GREEK SMALL LETTER HETA
+0370 ; [.192F.0020.0008] # GREEK CAPITAL LETTER HETA
+03B7 ; [.1930.0020.0002] # GREEK SMALL LETTER ETA
+1D6C8 ; [.1930.0020.0005] # MATHEMATICAL BOLD SMALL ETA
+1D702 ; [.1930.0020.0005] # MATHEMATICAL ITALIC SMALL ETA
+1D73C ; [.1930.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ETA
+1D776 ; [.1930.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
+1D7B0 ; [.1930.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
+0397 ; [.1930.0020.0008] # GREEK CAPITAL LETTER ETA
+1D6AE ; [.1930.0020.000B] # MATHEMATICAL BOLD CAPITAL ETA
+1D6E8 ; [.1930.0020.000B] # MATHEMATICAL ITALIC CAPITAL ETA
+1D722 ; [.1930.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
+1D75C ; [.1930.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
+1D796 ; [.1930.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
+1F20 ; [.1930.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ETA WITH PSILI
+1F28 ; [.1930.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ETA WITH PSILI
+1F24 ; [.1930.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+1F2C ; [.1930.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+1F94 ; [.1930.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F9C ; [.1930.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F22 ; [.1930.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+1F2A ; [.1930.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+1F92 ; [.1930.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F9A ; [.1930.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F26 ; [.1930.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+1F2E ; [.1930.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+1F96 ; [.1930.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F9E ; [.1930.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F90 ; [.1930.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1F98 ; [.1930.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1F21 ; [.1930.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ETA WITH DASIA
+1F29 ; [.1930.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ETA WITH DASIA
+1F25 ; [.1930.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+1F2D ; [.1930.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+1F95 ; [.1930.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F9D ; [.1930.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F23 ; [.1930.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+1F2B ; [.1930.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+1F93 ; [.1930.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F9B ; [.1930.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F27 ; [.1930.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F2F ; [.1930.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F97 ; [.1930.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F9F ; [.1930.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F91 ; [.1930.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1F99 ; [.1930.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+03AE ; [.1930.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH TONOS
+1F75 ; [.1930.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH OXIA
+0389 ; [.1930.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH TONOS
+1FCB ; [.1930.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH OXIA
+1FC4 ; [.1930.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1F74 ; [.1930.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH VARIA
+1FCA ; [.1930.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH VARIA
+1FC2 ; [.1930.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1FC6 ; [.1930.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI
+1FC7 ; [.1930.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FC3 ; [.1930.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1FCC ; [.1930.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+03B8 ; [.1931.0020.0002] # GREEK SMALL LETTER THETA
+03D1 ; [.1931.0020.0004] # GREEK THETA SYMBOL
+1D6C9 ; [.1931.0020.0005] # MATHEMATICAL BOLD SMALL THETA
+1D6DD ; [.1931.0020.0005] # MATHEMATICAL BOLD THETA SYMBOL
+1D703 ; [.1931.0020.0005] # MATHEMATICAL ITALIC SMALL THETA
+1D717 ; [.1931.0020.0005] # MATHEMATICAL ITALIC THETA SYMBOL
+1D73D ; [.1931.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL THETA
+1D751 ; [.1931.0020.0005] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
+1D777 ; [.1931.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
+1D78B ; [.1931.0020.0005] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+1D7B1 ; [.1931.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
+1D7C5 ; [.1931.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+0398 ; [.1931.0020.0008] # GREEK CAPITAL LETTER THETA
+03F4 ; [.1931.0020.000A] # GREEK CAPITAL THETA SYMBOL
+1D6AF ; [.1931.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA
+1D6B9 ; [.1931.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+1D6E9 ; [.1931.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA
+1D6F3 ; [.1931.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+1D723 ; [.1931.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
+1D72D ; [.1931.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+1D75D ; [.1931.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
+1D767 ; [.1931.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+1D797 ; [.1931.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
+1D7A1 ; [.1931.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+1DBF ; [.1931.0020.0014] # MODIFIER LETTER SMALL THETA
+03B9 ; [.1932.0020.0002] # GREEK SMALL LETTER IOTA
+1FBE ; [.1932.0020.0002] # GREEK PROSGEGRAMMENI
+037A ; [.1932.0020.0004] # GREEK YPOGEGRAMMENI
+1D6CA ; [.1932.0020.0005] # MATHEMATICAL BOLD SMALL IOTA
+1D704 ; [.1932.0020.0005] # MATHEMATICAL ITALIC SMALL IOTA
+1D73E ; [.1932.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL IOTA
+1D778 ; [.1932.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
+1D7B2 ; [.1932.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
+0399 ; [.1932.0020.0008] # GREEK CAPITAL LETTER IOTA
+1D6B0 ; [.1932.0020.000B] # MATHEMATICAL BOLD CAPITAL IOTA
+1D6EA ; [.1932.0020.000B] # MATHEMATICAL ITALIC CAPITAL IOTA
+1D724 ; [.1932.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
+1D75E ; [.1932.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
+1D798 ; [.1932.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
+1F30 ; [.1932.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER IOTA WITH PSILI
+1F38 ; [.1932.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI
+1F34 ; [.1932.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+1F3C ; [.1932.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+1F32 ; [.1932.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+1F3A ; [.1932.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+1F36 ; [.1932.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F3E ; [.1932.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F31 ; [.1932.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER IOTA WITH DASIA
+1F39 ; [.1932.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA
+1F35 ; [.1932.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+1F3D ; [.1932.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+1F33 ; [.1932.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+1F3B ; [.1932.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+1F37 ; [.1932.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F3F ; [.1932.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+03AF ; [.1932.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH TONOS
+1F77 ; [.1932.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH OXIA
+038A ; [.1932.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH TONOS
+1FDB ; [.1932.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH OXIA
+1F76 ; [.1932.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH VARIA
+1FDA ; [.1932.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH VARIA
+1FD0 ; [.1932.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER IOTA WITH VRACHY
+1FD8 ; [.1932.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER IOTA WITH VRACHY
+1FD6 ; [.1932.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
+03CA ; [.1932.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+03AA ; [.1932.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0390 ; [.1932.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+1FD3 ; [.1932.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD2 ; [.1932.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1FD7 ; [.1932.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FD1 ; [.1932.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER IOTA WITH MACRON
+1FD9 ; [.1932.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER IOTA WITH MACRON
+03F3 ; [.1933.0020.0002] # GREEK LETTER YOT
+03BA ; [.1934.0020.0002] # GREEK SMALL LETTER KAPPA
+03F0 ; [.1934.0020.0004] # GREEK KAPPA SYMBOL
+1D6CB ; [.1934.0020.0005] # MATHEMATICAL BOLD SMALL KAPPA
+1D6DE ; [.1934.0020.0005] # MATHEMATICAL BOLD KAPPA SYMBOL
+1D705 ; [.1934.0020.0005] # MATHEMATICAL ITALIC SMALL KAPPA
+1D718 ; [.1934.0020.0005] # MATHEMATICAL ITALIC KAPPA SYMBOL
+1D73F ; [.1934.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
+1D752 ; [.1934.0020.0005] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+1D779 ; [.1934.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
+1D78C ; [.1934.0020.0005] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+1D7B3 ; [.1934.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
+1D7C6 ; [.1934.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+039A ; [.1934.0020.0008] # GREEK CAPITAL LETTER KAPPA
+1D6B1 ; [.1934.0020.000B] # MATHEMATICAL BOLD CAPITAL KAPPA
+1D6EB ; [.1934.0020.000B] # MATHEMATICAL ITALIC CAPITAL KAPPA
+1D725 ; [.1934.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
+1D75F ; [.1934.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
+1D799 ; [.1934.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
+03D7 ; [.1934.0020.0004][.1925.0020.0004][.1932.0020.0004] # GREEK KAI SYMBOL
+03CF ; [.1934.0020.000A][.1925.0020.0004][.1932.0020.0004] # GREEK CAPITAL KAI SYMBOL
+03BB ; [.1935.0020.0002] # GREEK SMALL LETTER LAMDA
+1D6CC ; [.1935.0020.0005] # MATHEMATICAL BOLD SMALL LAMDA
+1D706 ; [.1935.0020.0005] # MATHEMATICAL ITALIC SMALL LAMDA
+1D740 ; [.1935.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
+1D77A ; [.1935.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
+1D7B4 ; [.1935.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
+039B ; [.1935.0020.0008] # GREEK CAPITAL LETTER LAMDA
+1D6B2 ; [.1935.0020.000B] # MATHEMATICAL BOLD CAPITAL LAMDA
+1D6EC ; [.1935.0020.000B] # MATHEMATICAL ITALIC CAPITAL LAMDA
+1D726 ; [.1935.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
+1D760 ; [.1935.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
+1D79A ; [.1935.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
+1D27 ; [.1936.0020.0002] # GREEK LETTER SMALL CAPITAL LAMDA
+03BC ; [.1937.0020.0002] # GREEK SMALL LETTER MU
+00B5 ; [.1937.0020.0004] # MICRO SIGN
+1D6CD ; [.1937.0020.0005] # MATHEMATICAL BOLD SMALL MU
+1D707 ; [.1937.0020.0005] # MATHEMATICAL ITALIC SMALL MU
+1D741 ; [.1937.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL MU
+1D77B ; [.1937.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
+1D7B5 ; [.1937.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
+039C ; [.1937.0020.0008] # GREEK CAPITAL LETTER MU
+1D6B3 ; [.1937.0020.000B] # MATHEMATICAL BOLD CAPITAL MU
+1D6ED ; [.1937.0020.000B] # MATHEMATICAL ITALIC CAPITAL MU
+1D727 ; [.1937.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL MU
+1D761 ; [.1937.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
+1D79B ; [.1937.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
+3382 ; [.1937.0020.001C][.15EB.0020.001D] # SQUARE MU A
+338C ; [.1937.0020.001C][.1680.0020.001D] # SQUARE MU F
+338D ; [.1937.0020.001C][.168D.0020.001C] # SQUARE MU G
+3395 ; [.1937.0020.001C][.170D.0020.001C] # SQUARE MU L
+339B ; [.1937.0020.001C][.173D.0020.001C] # SQUARE MU M
+33B2 ; [.1937.0020.001C][.17EF.0020.001C] # SQUARE MU S
+33B6 ; [.1937.0020.001C][.185B.0020.001D] # SQUARE MU V
+33BC ; [.1937.0020.001C][.186D.0020.001D] # SQUARE MU W
+03BD ; [.1938.0020.0002] # GREEK SMALL LETTER NU
+1D6CE ; [.1938.0020.0005] # MATHEMATICAL BOLD SMALL NU
+1D708 ; [.1938.0020.0005] # MATHEMATICAL ITALIC SMALL NU
+1D742 ; [.1938.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL NU
+1D77C ; [.1938.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
+1D7B6 ; [.1938.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
+039D ; [.1938.0020.0008] # GREEK CAPITAL LETTER NU
+1D6B4 ; [.1938.0020.000B] # MATHEMATICAL BOLD CAPITAL NU
+1D6EE ; [.1938.0020.000B] # MATHEMATICAL ITALIC CAPITAL NU
+1D728 ; [.1938.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL NU
+1D762 ; [.1938.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
+1D79C ; [.1938.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
+03BE ; [.1939.0020.0002] # GREEK SMALL LETTER XI
+1D6CF ; [.1939.0020.0005] # MATHEMATICAL BOLD SMALL XI
+1D709 ; [.1939.0020.0005] # MATHEMATICAL ITALIC SMALL XI
+1D743 ; [.1939.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL XI
+1D77D ; [.1939.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
+1D7B7 ; [.1939.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
+039E ; [.1939.0020.0008] # GREEK CAPITAL LETTER XI
+1D6B5 ; [.1939.0020.000B] # MATHEMATICAL BOLD CAPITAL XI
+1D6EF ; [.1939.0020.000B] # MATHEMATICAL ITALIC CAPITAL XI
+1D729 ; [.1939.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL XI
+1D763 ; [.1939.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
+1D79D ; [.1939.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
+03BF ; [.193A.0020.0002] # GREEK SMALL LETTER OMICRON
+1D6D0 ; [.193A.0020.0005] # MATHEMATICAL BOLD SMALL OMICRON
+1D70A ; [.193A.0020.0005] # MATHEMATICAL ITALIC SMALL OMICRON
+1D744 ; [.193A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
+1D77E ; [.193A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
+1D7B8 ; [.193A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
+039F ; [.193A.0020.0008] # GREEK CAPITAL LETTER OMICRON
+1D6B6 ; [.193A.0020.000B] # MATHEMATICAL BOLD CAPITAL OMICRON
+1D6F0 ; [.193A.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMICRON
+1D72A ; [.193A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
+1D764 ; [.193A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
+1D79E ; [.193A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
+1F40 ; [.193A.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMICRON WITH PSILI
+1F48 ; [.193A.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI
+1F44 ; [.193A.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+1F4C ; [.193A.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+1F42 ; [.193A.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+1F4A ; [.193A.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+1F41 ; [.193A.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMICRON WITH DASIA
+1F49 ; [.193A.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA
+1F45 ; [.193A.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F4D ; [.193A.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F43 ; [.193A.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+1F4B ; [.193A.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+03CC ; [.193A.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH TONOS
+1F79 ; [.193A.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH OXIA
+038C ; [.193A.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH TONOS
+1FF9 ; [.193A.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH OXIA
+1F78 ; [.193A.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH VARIA
+1FF8 ; [.193A.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH VARIA
+03C0 ; [.193B.0020.0002] # GREEK SMALL LETTER PI
+03D6 ; [.193B.0020.0004] # GREEK PI SYMBOL
+213C ; [.193B.0020.0005] # DOUBLE-STRUCK SMALL PI
+1D6D1 ; [.193B.0020.0005] # MATHEMATICAL BOLD SMALL PI
+1D6E1 ; [.193B.0020.0005] # MATHEMATICAL BOLD PI SYMBOL
+1D70B ; [.193B.0020.0005] # MATHEMATICAL ITALIC SMALL PI
+1D71B ; [.193B.0020.0005] # MATHEMATICAL ITALIC PI SYMBOL
+1D745 ; [.193B.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PI
+1D755 ; [.193B.0020.0005] # MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D77F ; [.193B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
+1D78F ; [.193B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D7B9 ; [.193B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
+1D7C9 ; [.193B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+03A0 ; [.193B.0020.0008] # GREEK CAPITAL LETTER PI
+213F ; [.193B.0020.000B] # DOUBLE-STRUCK CAPITAL PI
+1D6B7 ; [.193B.0020.000B] # MATHEMATICAL BOLD CAPITAL PI
+1D6F1 ; [.193B.0020.000B] # MATHEMATICAL ITALIC CAPITAL PI
+1D72B ; [.193B.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
+1D765 ; [.193B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
+1D79F ; [.193B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
+1D28 ; [.193C.0020.0002] # GREEK LETTER SMALL CAPITAL PI
+03FB ; [.193D.0020.0002] # GREEK SMALL LETTER SAN
+03FA ; [.193D.0020.0008] # GREEK CAPITAL LETTER SAN
+03DF ; [.193E.0020.0002] # GREEK SMALL LETTER KOPPA
+03DE ; [.193E.0020.0008] # GREEK LETTER KOPPA
+03D9 ; [.193F.0020.0002] # GREEK SMALL LETTER ARCHAIC KOPPA
+03D8 ; [.193F.0020.0008] # GREEK LETTER ARCHAIC KOPPA
+03C1 ; [.1940.0020.0002] # GREEK SMALL LETTER RHO
+03F1 ; [.1940.0020.0004] # GREEK RHO SYMBOL
+1D6D2 ; [.1940.0020.0005] # MATHEMATICAL BOLD SMALL RHO
+1D6E0 ; [.1940.0020.0005] # MATHEMATICAL BOLD RHO SYMBOL
+1D70C ; [.1940.0020.0005] # MATHEMATICAL ITALIC SMALL RHO
+1D71A ; [.1940.0020.0005] # MATHEMATICAL ITALIC RHO SYMBOL
+1D746 ; [.1940.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL RHO
+1D754 ; [.1940.0020.0005] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
+1D780 ; [.1940.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
+1D78E ; [.1940.0020.0005] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+1D7BA ; [.1940.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
+1D7C8 ; [.1940.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+03A1 ; [.1940.0020.0008] # GREEK CAPITAL LETTER RHO
+1D6B8 ; [.1940.0020.000B] # MATHEMATICAL BOLD CAPITAL RHO
+1D6F2 ; [.1940.0020.000B] # MATHEMATICAL ITALIC CAPITAL RHO
+1D72C ; [.1940.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
+1D766 ; [.1940.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
+1D7A0 ; [.1940.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
+1D68 ; [.1940.0020.0015] # GREEK SUBSCRIPT SMALL LETTER RHO
+1FE4 ; [.1940.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER RHO WITH PSILI
+1FE5 ; [.1940.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER RHO WITH DASIA
+1FEC ; [.1940.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER RHO WITH DASIA
+1D29 ; [.1941.0020.0002] # GREEK LETTER SMALL CAPITAL RHO
+03FC ; [.1942.0020.0002] # GREEK RHO WITH STROKE SYMBOL
+03C3 ; [.1943.0020.0002] # GREEK SMALL LETTER SIGMA
+03F2 ; [.1943.0020.0004] # GREEK LUNATE SIGMA SYMBOL
+1D6D3 ; [.1943.0020.0005] # MATHEMATICAL BOLD SMALL FINAL SIGMA
+1D6D4 ; [.1943.0020.0005] # MATHEMATICAL BOLD SMALL SIGMA
+1D70D ; [.1943.0020.0005] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
+1D70E ; [.1943.0020.0005] # MATHEMATICAL ITALIC SMALL SIGMA
+1D747 ; [.1943.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
+1D748 ; [.1943.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
+1D781 ; [.1943.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
+1D782 ; [.1943.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
+1D7BB ; [.1943.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
+1D7BC ; [.1943.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
+03A3 ; [.1943.0020.0008] # GREEK CAPITAL LETTER SIGMA
+03F9 ; [.1943.0020.000A] # GREEK CAPITAL LUNATE SIGMA SYMBOL
+1D6BA ; [.1943.0020.000B] # MATHEMATICAL BOLD CAPITAL SIGMA
+1D6F4 ; [.1943.0020.000B] # MATHEMATICAL ITALIC CAPITAL SIGMA
+1D72E ; [.1943.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
+1D768 ; [.1943.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
+1D7A2 ; [.1943.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
+03C2 ; [.1943.0020.0019] # GREEK SMALL LETTER FINAL SIGMA
+037C ; [.1944.0020.0002] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+03FE ; [.1944.0020.0008] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+037B ; [.1945.0020.0002] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+03FD ; [.1945.0020.0008] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+037D ; [.1946.0020.0002] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03FF ; [.1946.0020.0008] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03C4 ; [.1947.0020.0002] # GREEK SMALL LETTER TAU
+1D6D5 ; [.1947.0020.0005] # MATHEMATICAL BOLD SMALL TAU
+1D70F ; [.1947.0020.0005] # MATHEMATICAL ITALIC SMALL TAU
+1D749 ; [.1947.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL TAU
+1D783 ; [.1947.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
+1D7BD ; [.1947.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
+03A4 ; [.1947.0020.0008] # GREEK CAPITAL LETTER TAU
+1D6BB ; [.1947.0020.000B] # MATHEMATICAL BOLD CAPITAL TAU
+1D6F5 ; [.1947.0020.000B] # MATHEMATICAL ITALIC CAPITAL TAU
+1D72F ; [.1947.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
+1D769 ; [.1947.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
+1D7A3 ; [.1947.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
+03C5 ; [.1948.0020.0002] # GREEK SMALL LETTER UPSILON
+1D6D6 ; [.1948.0020.0005] # MATHEMATICAL BOLD SMALL UPSILON
+1D710 ; [.1948.0020.0005] # MATHEMATICAL ITALIC SMALL UPSILON
+1D74A ; [.1948.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
+1D784 ; [.1948.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
+1D7BE ; [.1948.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
+03A5 ; [.1948.0020.0008] # GREEK CAPITAL LETTER UPSILON
+03D2 ; [.1948.0020.000A] # GREEK UPSILON WITH HOOK SYMBOL
+1D6BC ; [.1948.0020.000B] # MATHEMATICAL BOLD CAPITAL UPSILON
+1D6F6 ; [.1948.0020.000B] # MATHEMATICAL ITALIC CAPITAL UPSILON
+1D730 ; [.1948.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
+1D76A ; [.1948.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
+1D7A4 ; [.1948.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
+1F50 ; [.1948.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER UPSILON WITH PSILI
+1F54 ; [.1948.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1F52 ; [.1948.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1F56 ; [.1948.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1F51 ; [.1948.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER UPSILON WITH DASIA
+1F59 ; [.1948.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F55 ; [.1948.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+1F5D ; [.1948.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F53 ; [.1948.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+1F5B ; [.1948.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F57 ; [.1948.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F5F ; [.1948.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+03CD ; [.1948.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH TONOS
+1F7B ; [.1948.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH OXIA
+038E ; [.1948.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH TONOS
+1FEB ; [.1948.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH OXIA
+03D3 ; [.1948.0020.000A][.0000.0024.0002] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+1F7A ; [.1948.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH VARIA
+1FEA ; [.1948.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH VARIA
+1FE0 ; [.1948.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER UPSILON WITH VRACHY
+1FE8 ; [.1948.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
+1FE6 ; [.1948.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+03CB ; [.1948.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+03AB ; [.1948.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03D4 ; [.1948.0020.000A][.0000.002B.0002] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03B0 ; [.1948.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+1FE3 ; [.1948.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1FE2 ; [.1948.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1FE7 ; [.1948.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FE1 ; [.1948.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER UPSILON WITH MACRON
+1FE9 ; [.1948.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER UPSILON WITH MACRON
+03C6 ; [.1949.0020.0002] # GREEK SMALL LETTER PHI
+03D5 ; [.1949.0020.0004] # GREEK PHI SYMBOL
+1D6D7 ; [.1949.0020.0005] # MATHEMATICAL BOLD SMALL PHI
+1D6DF ; [.1949.0020.0005] # MATHEMATICAL BOLD PHI SYMBOL
+1D711 ; [.1949.0020.0005] # MATHEMATICAL ITALIC SMALL PHI
+1D719 ; [.1949.0020.0005] # MATHEMATICAL ITALIC PHI SYMBOL
+1D74B ; [.1949.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PHI
+1D753 ; [.1949.0020.0005] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
+1D785 ; [.1949.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
+1D78D ; [.1949.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+1D7BF ; [.1949.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
+1D7C7 ; [.1949.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+03A6 ; [.1949.0020.0008] # GREEK CAPITAL LETTER PHI
+1D6BD ; [.1949.0020.000B] # MATHEMATICAL BOLD CAPITAL PHI
+1D6F7 ; [.1949.0020.000B] # MATHEMATICAL ITALIC CAPITAL PHI
+1D731 ; [.1949.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
+1D76B ; [.1949.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
+1D7A5 ; [.1949.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
+1D60 ; [.1949.0020.0014] # MODIFIER LETTER SMALL GREEK PHI
+1D69 ; [.1949.0020.0015] # GREEK SUBSCRIPT SMALL LETTER PHI
+03C7 ; [.194A.0020.0002] # GREEK SMALL LETTER CHI
+1D6D8 ; [.194A.0020.0005] # MATHEMATICAL BOLD SMALL CHI
+1D712 ; [.194A.0020.0005] # MATHEMATICAL ITALIC SMALL CHI
+1D74C ; [.194A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL CHI
+1D786 ; [.194A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
+1D7C0 ; [.194A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
+03A7 ; [.194A.0020.0008] # GREEK CAPITAL LETTER CHI
+1D6BE ; [.194A.0020.000B] # MATHEMATICAL BOLD CAPITAL CHI
+1D6F8 ; [.194A.0020.000B] # MATHEMATICAL ITALIC CAPITAL CHI
+1D732 ; [.194A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
+1D76C ; [.194A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
+1D7A6 ; [.194A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
+1D61 ; [.194A.0020.0014] # MODIFIER LETTER SMALL CHI
+1D6A ; [.194A.0020.0015] # GREEK SUBSCRIPT SMALL LETTER CHI
+03C8 ; [.194B.0020.0002] # GREEK SMALL LETTER PSI
+1D6D9 ; [.194B.0020.0005] # MATHEMATICAL BOLD SMALL PSI
+1D713 ; [.194B.0020.0005] # MATHEMATICAL ITALIC SMALL PSI
+1D74D ; [.194B.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PSI
+1D787 ; [.194B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
+1D7C1 ; [.194B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
+03A8 ; [.194B.0020.0008] # GREEK CAPITAL LETTER PSI
+1D6BF ; [.194B.0020.000B] # MATHEMATICAL BOLD CAPITAL PSI
+1D6F9 ; [.194B.0020.000B] # MATHEMATICAL ITALIC CAPITAL PSI
+1D733 ; [.194B.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
+1D76D ; [.194B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
+1D7A7 ; [.194B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
+1D2A ; [.194C.0020.0002] # GREEK LETTER SMALL CAPITAL PSI
+03C9 ; [.194D.0020.0002] # GREEK SMALL LETTER OMEGA
+1D6DA ; [.194D.0020.0005] # MATHEMATICAL BOLD SMALL OMEGA
+1D714 ; [.194D.0020.0005] # MATHEMATICAL ITALIC SMALL OMEGA
+1D74E ; [.194D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D788 ; [.194D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D7C2 ; [.194D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+03A9 ; [.194D.0020.0008] # GREEK CAPITAL LETTER OMEGA
+2126 ; [.194D.0020.0008] # OHM SIGN
+1D6C0 ; [.194D.0020.000B] # MATHEMATICAL BOLD CAPITAL OMEGA
+1D6FA ; [.194D.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMEGA
+1D734 ; [.194D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D76E ; [.194D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D7A8 ; [.194D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1F60 ; [.194D.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMEGA WITH PSILI
+1F68 ; [.194D.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI
+1F64 ; [.194D.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+1F6C ; [.194D.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+1FA4 ; [.194D.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1FAC ; [.194D.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F62 ; [.194D.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+1F6A ; [.194D.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+1FA2 ; [.194D.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1FAA ; [.194D.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F66 ; [.194D.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1F6E ; [.194D.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1FA6 ; [.194D.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1FAE ; [.194D.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1FA0 ; [.194D.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1FA8 ; [.194D.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1F61 ; [.194D.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMEGA WITH DASIA
+1F69 ; [.194D.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA
+1F65 ; [.194D.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+1F6D ; [.194D.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+1FA5 ; [.194D.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1FAD ; [.194D.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F63 ; [.194D.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+1F6B ; [.194D.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+1FA3 ; [.194D.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1FAB ; [.194D.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F67 ; [.194D.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F6F ; [.194D.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1FA7 ; [.194D.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FAF ; [.194D.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA1 ; [.194D.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1FA9 ; [.194D.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+03CE ; [.194D.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH TONOS
+1F7D ; [.194D.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH OXIA
+038F ; [.194D.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH TONOS
+1FFB ; [.194D.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH OXIA
+1FF4 ; [.194D.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1F7C ; [.194D.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH VARIA
+1FFA ; [.194D.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH VARIA
+1FF2 ; [.194D.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1FF6 ; [.194D.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+1FF7 ; [.194D.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FF3 ; [.194D.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1FFC ; [.194D.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+03E1 ; [.194E.0020.0002] # GREEK SMALL LETTER SAMPI
+03E0 ; [.194E.0020.0008] # GREEK LETTER SAMPI
+0373 ; [.194F.0020.0002] # GREEK SMALL LETTER ARCHAIC SAMPI
+0372 ; [.194F.0020.0008] # GREEK CAPITAL LETTER ARCHAIC SAMPI
+03F8 ; [.1950.0020.0002] # GREEK SMALL LETTER SHO
+03F7 ; [.1950.0020.0008] # GREEK CAPITAL LETTER SHO
+2C81 ; [.1951.0020.0002] # COPTIC SMALL LETTER ALFA
+2C80 ; [.1951.0020.0008] # COPTIC CAPITAL LETTER ALFA
+2C83 ; [.1952.0020.0002] # COPTIC SMALL LETTER VIDA
+2C82 ; [.1952.0020.0008] # COPTIC CAPITAL LETTER VIDA
+2C85 ; [.1953.0020.0002] # COPTIC SMALL LETTER GAMMA
+2C84 ; [.1953.0020.0008] # COPTIC CAPITAL LETTER GAMMA
+2C87 ; [.1954.0020.0002] # COPTIC SMALL LETTER DALDA
+2C86 ; [.1954.0020.0008] # COPTIC CAPITAL LETTER DALDA
+2C89 ; [.1955.0020.0002] # COPTIC SMALL LETTER EIE
+2C88 ; [.1955.0020.0008] # COPTIC CAPITAL LETTER EIE
+2CB7 ; [.1956.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB6 ; [.1956.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2C8B ; [.1957.0020.0002] # COPTIC SMALL LETTER SOU
+2C8A ; [.1957.0020.0008] # COPTIC CAPITAL LETTER SOU
+2C8D ; [.1958.0020.0002] # COPTIC SMALL LETTER ZATA
+2C8C ; [.1958.0020.0008] # COPTIC CAPITAL LETTER ZATA
+2C8F ; [.1959.0020.0002] # COPTIC SMALL LETTER HATE
+2C8E ; [.1959.0020.0008] # COPTIC CAPITAL LETTER HATE
+2C91 ; [.195A.0020.0002] # COPTIC SMALL LETTER THETHE
+2C90 ; [.195A.0020.0008] # COPTIC CAPITAL LETTER THETHE
+2C93 ; [.195B.0020.0002] # COPTIC SMALL LETTER IAUDA
+2C92 ; [.195B.0020.0008] # COPTIC CAPITAL LETTER IAUDA
+2C95 ; [.195C.0020.0002] # COPTIC SMALL LETTER KAPA
+2C94 ; [.195C.0020.0008] # COPTIC CAPITAL LETTER KAPA
+2CE4 ; [.195C.0020.0004][.1951.0020.0004][.195B.0020.0004] # COPTIC SYMBOL KAI
+2CB9 ; [.195D.0020.0002] # COPTIC SMALL LETTER DIALECT-P KAPA
+2CB8 ; [.195D.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P KAPA
+2C97 ; [.195E.0020.0002] # COPTIC SMALL LETTER LAULA
+2C96 ; [.195E.0020.0008] # COPTIC CAPITAL LETTER LAULA
+2C99 ; [.195F.0020.0002] # COPTIC SMALL LETTER MI
+2C98 ; [.195F.0020.0008] # COPTIC CAPITAL LETTER MI
+2C9B ; [.1960.0020.0002] # COPTIC SMALL LETTER NI
+2C9A ; [.1960.0020.0008] # COPTIC CAPITAL LETTER NI
+2CBB ; [.1961.0020.0002] # COPTIC SMALL LETTER DIALECT-P NI
+2CBA ; [.1961.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P NI
+2CBD ; [.1962.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBC ; [.1962.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2C9D ; [.1963.0020.0002] # COPTIC SMALL LETTER KSI
+2C9C ; [.1963.0020.0008] # COPTIC CAPITAL LETTER KSI
+2C9F ; [.1964.0020.0002] # COPTIC SMALL LETTER O
+2C9E ; [.1964.0020.0008] # COPTIC CAPITAL LETTER O
+2CA1 ; [.1965.0020.0002] # COPTIC SMALL LETTER PI
+2CA0 ; [.1965.0020.0008] # COPTIC CAPITAL LETTER PI
+2CA3 ; [.1966.0020.0002] # COPTIC SMALL LETTER RO
+2CA2 ; [.1966.0020.0008] # COPTIC CAPITAL LETTER RO
+2CA5 ; [.1967.0020.0002] # COPTIC SMALL LETTER SIMA
+2CA4 ; [.1967.0020.0008] # COPTIC CAPITAL LETTER SIMA
+2CA7 ; [.1968.0020.0002] # COPTIC SMALL LETTER TAU
+2CA6 ; [.1968.0020.0008] # COPTIC CAPITAL LETTER TAU
+2CA9 ; [.1969.0020.0002] # COPTIC SMALL LETTER UA
+2CA8 ; [.1969.0020.0008] # COPTIC CAPITAL LETTER UA
+2CAB ; [.196A.0020.0002] # COPTIC SMALL LETTER FI
+2CAA ; [.196A.0020.0008] # COPTIC CAPITAL LETTER FI
+2CAD ; [.196B.0020.0002] # COPTIC SMALL LETTER KHI
+2CAC ; [.196B.0020.0008] # COPTIC CAPITAL LETTER KHI
+2CAF ; [.196C.0020.0002] # COPTIC SMALL LETTER PSI
+2CAE ; [.196C.0020.0008] # COPTIC CAPITAL LETTER PSI
+2CB1 ; [.196D.0020.0002] # COPTIC SMALL LETTER OOU
+2CB0 ; [.196D.0020.0008] # COPTIC CAPITAL LETTER OOU
+2CBF ; [.196E.0020.0002] # COPTIC SMALL LETTER OLD COPTIC OOU
+2CBE ; [.196E.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC1 ; [.196F.0020.0002] # COPTIC SMALL LETTER SAMPI
+2CC0 ; [.196F.0020.0008] # COPTIC CAPITAL LETTER SAMPI
+03E3 ; [.1970.0020.0002] # COPTIC SMALL LETTER SHEI
+03E2 ; [.1970.0020.0008] # COPTIC CAPITAL LETTER SHEI
+2CEC ; [.1971.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEB ; [.1971.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CC3 ; [.1972.0020.0002] # COPTIC SMALL LETTER CROSSED SHEI
+2CC2 ; [.1972.0020.0008] # COPTIC CAPITAL LETTER CROSSED SHEI
+2CC5 ; [.1973.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC4 ; [.1973.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC7 ; [.1974.0020.0002] # COPTIC SMALL LETTER OLD COPTIC ESH
+2CC6 ; [.1974.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC ESH
+03E5 ; [.1975.0020.0002] # COPTIC SMALL LETTER FEI
+03E4 ; [.1975.0020.0008] # COPTIC CAPITAL LETTER FEI
+03E7 ; [.1976.0020.0002] # COPTIC SMALL LETTER KHEI
+03E6 ; [.1976.0020.0008] # COPTIC CAPITAL LETTER KHEI
+2CF3 ; [.1977.0020.0002] # COPTIC SMALL LETTER BOHAIRIC KHEI
+2CF2 ; [.1977.0020.0008] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CC9 ; [.1978.0020.0002] # COPTIC SMALL LETTER AKHMIMIC KHEI
+2CC8 ; [.1978.0020.0008] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
+03E9 ; [.1979.0020.0002] # COPTIC SMALL LETTER HORI
+03E8 ; [.1979.0020.0008] # COPTIC CAPITAL LETTER HORI
+2CCB ; [.197A.0020.0002] # COPTIC SMALL LETTER DIALECT-P HORI
+2CCA ; [.197A.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCD ; [.197B.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HORI
+2CCC ; [.197B.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCF ; [.197C.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HA
+2CCE ; [.197C.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD1 ; [.197D.0020.0002] # COPTIC SMALL LETTER L-SHAPED HA
+2CD0 ; [.197D.0020.0008] # COPTIC CAPITAL LETTER L-SHAPED HA
+2CD3 ; [.197E.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HEI
+2CD2 ; [.197E.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD5 ; [.197F.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HAT
+2CD4 ; [.197F.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HAT
+03EB ; [.1980.0020.0002] # COPTIC SMALL LETTER GANGIA
+03EA ; [.1980.0020.0008] # COPTIC CAPITAL LETTER GANGIA
+2CEE ; [.1981.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CED ; [.1981.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CD7 ; [.1982.0020.0002] # COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD6 ; [.1982.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+03ED ; [.1983.0020.0002] # COPTIC SMALL LETTER SHIMA
+03EC ; [.1983.0020.0008] # COPTIC CAPITAL LETTER SHIMA
+2CD9 ; [.1984.0020.0002] # COPTIC SMALL LETTER OLD COPTIC DJA
+2CD8 ; [.1984.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDB ; [.1985.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDA ; [.1985.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDD ; [.1986.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDC ; [.1986.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+03EF ; [.1987.0020.0002] # COPTIC SMALL LETTER DEI
+03EE ; [.1987.0020.0008] # COPTIC CAPITAL LETTER DEI
+2CB3 ; [.1988.0020.0002] # COPTIC SMALL LETTER DIALECT-P ALEF
+2CB2 ; [.1988.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB5 ; [.1989.0020.0002] # COPTIC SMALL LETTER OLD COPTIC AIN
+2CB4 ; [.1989.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CDF ; [.198A.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NGI
+2CDE ; [.198A.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE1 ; [.198B.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE0 ; [.198B.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE3 ; [.198C.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN WAU
+2CE2 ; [.198C.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
+0430 ; [.198D.0020.0002] # CYRILLIC SMALL LETTER A
+2DF6 ; [.198D.0020.0004] # COMBINING CYRILLIC LETTER A
+0410 ; [.198D.0020.0008] # CYRILLIC CAPITAL LETTER A
+04D1 ; [.1991.0020.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+0430 0306 ; [.1991.0020.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1991.0020.0008] # CYRILLIC CAPITAL LETTER A WITH BREVE
+0410 0306 ; [.1991.0020.0008] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1995.0020.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+0430 0308 ; [.1995.0020.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1995.0020.0008] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0410 0308 ; [.1995.0020.0008] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D9 ; [.1999.0020.0002] # CYRILLIC SMALL LETTER SCHWA
+04D8 ; [.1999.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
+04DB ; [.199D.0020.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04D9 0308 ; [.199D.0020.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.199D.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D8 0308 ; [.199D.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D5 ; [.19A1.0020.0002] # CYRILLIC SMALL LIGATURE A IE
+04D4 ; [.19A1.0020.0008] # CYRILLIC CAPITAL LIGATURE A IE
+0431 ; [.19A5.0020.0002] # CYRILLIC SMALL LETTER BE
+2DE0 ; [.19A5.0020.0004] # COMBINING CYRILLIC LETTER BE
+0411 ; [.19A5.0020.0008] # CYRILLIC CAPITAL LETTER BE
+0432 ; [.19A9.0020.0002] # CYRILLIC SMALL LETTER VE
+2DE1 ; [.19A9.0020.0004] # COMBINING CYRILLIC LETTER VE
+0412 ; [.19A9.0020.0008] # CYRILLIC CAPITAL LETTER VE
+0433 ; [.19AD.0020.0002] # CYRILLIC SMALL LETTER GHE
+2DE2 ; [.19AD.0020.0004] # COMBINING CYRILLIC LETTER GHE
+0413 ; [.19AD.0020.0008] # CYRILLIC CAPITAL LETTER GHE
+0491 ; [.19AD.0020.0004][.0000.00FD.0004] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.19AD.0020.000A][.0000.00FD.0004] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0493 ; [.19B1.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE
+0492 ; [.19B1.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+04FB ; [.19B5.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FA ; [.19B5.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+0495 ; [.19B9.0020.0002] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0494 ; [.19B9.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+04F7 ; [.19BD.0020.0002] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F6 ; [.19BD.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+0434 ; [.19C1.0020.0002] # CYRILLIC SMALL LETTER DE
+2DE3 ; [.19C1.0020.0004] # COMBINING CYRILLIC LETTER DE
+0414 ; [.19C1.0020.0008] # CYRILLIC CAPITAL LETTER DE
+0501 ; [.19C5.0020.0002] # CYRILLIC SMALL LETTER KOMI DE
+0500 ; [.19C5.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DE
+A681 ; [.19C6.0020.0002] # CYRILLIC SMALL LETTER DWE
+A680 ; [.19C6.0020.0008] # CYRILLIC CAPITAL LETTER DWE
+0452 ; [.19C7.0020.0002] # CYRILLIC SMALL LETTER DJE
+0402 ; [.19C7.0020.0008] # CYRILLIC CAPITAL LETTER DJE
+A663 ; [.19CB.0020.0002] # CYRILLIC SMALL LETTER SOFT DE
+A662 ; [.19CB.0020.0008] # CYRILLIC CAPITAL LETTER SOFT DE
+0503 ; [.19CC.0020.0002] # CYRILLIC SMALL LETTER KOMI DJE
+0502 ; [.19CC.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DJE
+0453 ; [.19CD.0020.0002] # CYRILLIC SMALL LETTER GJE
+0433 0301 ; [.19CD.0020.0002] # CYRILLIC SMALL LETTER GJE
+0433 0341 ; [.19CD.0020.0002] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19CD.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+0413 0301 ; [.19CD.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+0413 0341 ; [.19CD.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+0499 ; [.19D1.0020.0002] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0498 ; [.19D1.0020.0008] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0435 ; [.19D5.0020.0002] # CYRILLIC SMALL LETTER IE
+2DF7 ; [.19D5.0020.0004] # COMBINING CYRILLIC LETTER IE
+0415 ; [.19D5.0020.0008] # CYRILLIC CAPITAL LETTER IE
+0450 ; [.19D5.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER IE WITH GRAVE
+0400 ; [.19D5.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
+0451 ; [.19D5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER IO
+0401 ; [.19D5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER IO
+04D7 ; [.19D9.0020.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+0435 0306 ; [.19D9.0020.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19D9.0020.0008] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0415 0306 ; [.19D9.0020.0008] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0454 ; [.19DD.0020.0002] # CYRILLIC SMALL LETTER UKRAINIAN IE
+A674 ; [.19DD.0020.0004] # COMBINING CYRILLIC LETTER UKRAINIAN IE
+0404 ; [.19DD.0020.0008] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0436 ; [.19E1.0020.0002] # CYRILLIC SMALL LETTER ZHE
+2DE4 ; [.19E1.0020.0004] # COMBINING CYRILLIC LETTER ZHE
+0416 ; [.19E1.0020.0008] # CYRILLIC CAPITAL LETTER ZHE
+04C2 ; [.19E1.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C1 ; [.19E1.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+A685 ; [.19E5.0020.0002] # CYRILLIC SMALL LETTER ZHWE
+A684 ; [.19E5.0020.0008] # CYRILLIC CAPITAL LETTER ZHWE
+04DD ; [.19E6.0020.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+0436 0308 ; [.19E6.0020.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19E6.0020.0008] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0416 0308 ; [.19E6.0020.0008] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0497 ; [.19EA.0020.0002] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0496 ; [.19EA.0020.0008] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0437 ; [.19EE.0020.0002] # CYRILLIC SMALL LETTER ZE
+2DE5 ; [.19EE.0020.0004] # COMBINING CYRILLIC LETTER ZE
+0417 ; [.19EE.0020.0008] # CYRILLIC CAPITAL LETTER ZE
+A641 ; [.19F2.0020.0002] # CYRILLIC SMALL LETTER ZEMLYA
+A640 ; [.19F2.0020.0008] # CYRILLIC CAPITAL LETTER ZEMLYA
+0505 ; [.19F3.0020.0002] # CYRILLIC SMALL LETTER KOMI ZJE
+0504 ; [.19F3.0020.0008] # CYRILLIC CAPITAL LETTER KOMI ZJE
+0511 ; [.19F4.0020.0002] # CYRILLIC SMALL LETTER REVERSED ZE
+0510 ; [.19F4.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED ZE
+04DF ; [.19F5.0020.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+0437 0308 ; [.19F5.0020.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19F5.0020.0008] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0417 0308 ; [.19F5.0020.0008] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+A643 ; [.19F9.0020.0002] # CYRILLIC SMALL LETTER DZELO
+A642 ; [.19F9.0020.0008] # CYRILLIC CAPITAL LETTER DZELO
+0455 ; [.19FA.0020.0002] # CYRILLIC SMALL LETTER DZE
+0405 ; [.19FA.0020.0008] # CYRILLIC CAPITAL LETTER DZE
+A645 ; [.19FE.0020.0002] # CYRILLIC SMALL LETTER REVERSED DZE
+A644 ; [.19FE.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED DZE
+04E1 ; [.19FF.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E0 ; [.19FF.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+A689 ; [.1A03.0020.0002] # CYRILLIC SMALL LETTER DZZE
+A688 ; [.1A03.0020.0008] # CYRILLIC CAPITAL LETTER DZZE
+0507 ; [.1A04.0020.0002] # CYRILLIC SMALL LETTER KOMI DZJE
+0506 ; [.1A04.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DZJE
+A683 ; [.1A05.0020.0002] # CYRILLIC SMALL LETTER DZWE
+A682 ; [.1A05.0020.0008] # CYRILLIC CAPITAL LETTER DZWE
+0438 ; [.1A06.0020.0002] # CYRILLIC SMALL LETTER I
+A675 ; [.1A06.0020.0004] # COMBINING CYRILLIC LETTER I
+0418 ; [.1A06.0020.0008] # CYRILLIC CAPITAL LETTER I
+045D ; [.1A06.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER I WITH GRAVE
+040D ; [.1A06.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER I WITH GRAVE
+04E3 ; [.1A06.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER I WITH MACRON
+04E2 ; [.1A06.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER I WITH MACRON
+048B ; [.1A0A.0020.0002] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048A ; [.1A0A.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+04E5 ; [.1A0E.0020.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+0438 0308 ; [.1A0E.0020.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.1A0E.0020.0008] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0418 0308 ; [.1A0E.0020.0008] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0456 ; [.1A12.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.1A12.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+A647 ; [.1A16.0020.0002] # CYRILLIC SMALL LETTER IOTA
+A646 ; [.1A16.0020.0008] # CYRILLIC CAPITAL LETTER IOTA
+0457 ; [.1A17.0020.0002] # CYRILLIC SMALL LETTER YI
+0456 0308 ; [.1A17.0020.0002] # CYRILLIC SMALL LETTER YI
+A676 ; [.1A17.0020.0004] # COMBINING CYRILLIC LETTER YI
+0407 ; [.1A17.0020.0008] # CYRILLIC CAPITAL LETTER YI
+0406 0308 ; [.1A17.0020.0008] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.1A1B.0020.0002] # CYRILLIC SMALL LETTER SHORT I
+0438 0306 ; [.1A1B.0020.0002] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.1A1B.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
+0418 0306 ; [.1A1B.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
+0458 ; [.1A1F.0020.0002] # CYRILLIC SMALL LETTER JE
+0408 ; [.1A1F.0020.0008] # CYRILLIC CAPITAL LETTER JE
+A649 ; [.1A23.0020.0002] # CYRILLIC SMALL LETTER DJERV
+2DF8 ; [.1A23.0020.0004] # COMBINING CYRILLIC LETTER DJERV
+A648 ; [.1A23.0020.0008] # CYRILLIC CAPITAL LETTER DJERV
+043A ; [.1A24.0020.0002] # CYRILLIC SMALL LETTER KA
+2DE6 ; [.1A24.0020.0004] # COMBINING CYRILLIC LETTER KA
+041A ; [.1A24.0020.0008] # CYRILLIC CAPITAL LETTER KA
+049B ; [.1A28.0020.0002] # CYRILLIC SMALL LETTER KA WITH DESCENDER
+049A ; [.1A28.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+04C4 ; [.1A2C.0020.0002] # CYRILLIC SMALL LETTER KA WITH HOOK
+04C3 ; [.1A2C.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH HOOK
+04A1 ; [.1A30.0020.0002] # CYRILLIC SMALL LETTER BASHKIR KA
+04A0 ; [.1A30.0020.0008] # CYRILLIC CAPITAL LETTER BASHKIR KA
+049F ; [.1A34.0020.0002] # CYRILLIC SMALL LETTER KA WITH STROKE
+049E ; [.1A34.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH STROKE
+049D ; [.1A38.0020.0002] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049C ; [.1A38.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+051F ; [.1A3C.0020.0002] # CYRILLIC SMALL LETTER ALEUT KA
+051E ; [.1A3C.0020.0008] # CYRILLIC CAPITAL LETTER ALEUT KA
+051B ; [.1A3D.0020.0002] # CYRILLIC SMALL LETTER QA
+051A ; [.1A3D.0020.0008] # CYRILLIC CAPITAL LETTER QA
+043B ; [.1A3E.0020.0002] # CYRILLIC SMALL LETTER EL
+2DE7 ; [.1A3E.0020.0004] # COMBINING CYRILLIC LETTER EL
+041B ; [.1A3E.0020.0008] # CYRILLIC CAPITAL LETTER EL
+1D2B ; [.1A42.0020.0002] # CYRILLIC LETTER SMALL CAPITAL EL
+04C6 ; [.1A43.0020.0002] # CYRILLIC SMALL LETTER EL WITH TAIL
+04C5 ; [.1A43.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH TAIL
+0513 ; [.1A47.0020.0002] # CYRILLIC SMALL LETTER EL WITH HOOK
+0512 ; [.1A47.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH HOOK
+0521 ; [.1A48.0020.0002] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0520 ; [.1A48.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0459 ; [.1A49.0020.0002] # CYRILLIC SMALL LETTER LJE
+0409 ; [.1A49.0020.0008] # CYRILLIC CAPITAL LETTER LJE
+A665 ; [.1A4D.0020.0002] # CYRILLIC SMALL LETTER SOFT EL
+A664 ; [.1A4D.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EL
+0509 ; [.1A4E.0020.0002] # CYRILLIC SMALL LETTER KOMI LJE
+0508 ; [.1A4E.0020.0008] # CYRILLIC CAPITAL LETTER KOMI LJE
+0515 ; [.1A4F.0020.0002] # CYRILLIC SMALL LETTER LHA
+0514 ; [.1A4F.0020.0008] # CYRILLIC CAPITAL LETTER LHA
+043C ; [.1A50.0020.0002] # CYRILLIC SMALL LETTER EM
+2DE8 ; [.1A50.0020.0004] # COMBINING CYRILLIC LETTER EM
+041C ; [.1A50.0020.0008] # CYRILLIC CAPITAL LETTER EM
+04CE ; [.1A54.0020.0002] # CYRILLIC SMALL LETTER EM WITH TAIL
+04CD ; [.1A54.0020.0008] # CYRILLIC CAPITAL LETTER EM WITH TAIL
+A667 ; [.1A58.0020.0002] # CYRILLIC SMALL LETTER SOFT EM
+A666 ; [.1A58.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EM
+043D ; [.1A59.0020.0002] # CYRILLIC SMALL LETTER EN
+2DE9 ; [.1A59.0020.0004] # COMBINING CYRILLIC LETTER EN
+041D ; [.1A59.0020.0008] # CYRILLIC CAPITAL LETTER EN
+1D78 ; [.1A59.0020.0014] # MODIFIER LETTER CYRILLIC EN
+04CA ; [.1A5D.0020.0002] # CYRILLIC SMALL LETTER EN WITH TAIL
+04C9 ; [.1A5D.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH TAIL
+04A3 ; [.1A61.0020.0002] # CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A2 ; [.1A61.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04C8 ; [.1A65.0020.0002] # CYRILLIC SMALL LETTER EN WITH HOOK
+04C7 ; [.1A65.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0523 ; [.1A69.0020.0002] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0522 ; [.1A69.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+04A5 ; [.1A6A.0020.0002] # CYRILLIC SMALL LIGATURE EN GHE
+04A4 ; [.1A6A.0020.0008] # CYRILLIC CAPITAL LIGATURE EN GHE
+045A ; [.1A6E.0020.0002] # CYRILLIC SMALL LETTER NJE
+040A ; [.1A6E.0020.0008] # CYRILLIC CAPITAL LETTER NJE
+050B ; [.1A72.0020.0002] # CYRILLIC SMALL LETTER KOMI NJE
+050A ; [.1A72.0020.0008] # CYRILLIC CAPITAL LETTER KOMI NJE
+043E ; [.1A73.0020.0002] # CYRILLIC SMALL LETTER O
+2DEA ; [.1A73.0020.0004] # COMBINING CYRILLIC LETTER O
+A669 ; [.1A73.0020.0004] # CYRILLIC SMALL LETTER MONOCULAR O
+A66B ; [.1A73.0020.0004] # CYRILLIC SMALL LETTER BINOCULAR O
+A66D ; [.1A73.0020.0004] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E ; [.1A73.0020.0004] # CYRILLIC LETTER MULTIOCULAR O
+041E ; [.1A73.0020.0008] # CYRILLIC CAPITAL LETTER O
+A668 ; [.1A73.0020.000A] # CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A ; [.1A73.0020.000A] # CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C ; [.1A73.0020.000A] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+04E7 ; [.1A77.0020.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+043E 0308 ; [.1A77.0020.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A77.0020.0008] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+041E 0308 ; [.1A77.0020.0008] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E9 ; [.1A7B.0020.0002] # CYRILLIC SMALL LETTER BARRED O
+04E8 ; [.1A7B.0020.0008] # CYRILLIC CAPITAL LETTER BARRED O
+04EB ; [.1A7F.0020.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04E9 0308 ; [.1A7F.0020.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A7F.0020.0008] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04E8 0308 ; [.1A7F.0020.0008] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+043F ; [.1A83.0020.0002] # CYRILLIC SMALL LETTER PE
+2DEB ; [.1A83.0020.0004] # COMBINING CYRILLIC LETTER PE
+041F ; [.1A83.0020.0008] # CYRILLIC CAPITAL LETTER PE
+0525 ; [.1A87.0020.0002] # CYRILLIC SMALL LETTER PE WITH DESCENDER
+0524 ; [.1A87.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+04A7 ; [.1A88.0020.0002] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A6 ; [.1A88.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0481 ; [.1A8C.0020.0002] # CYRILLIC SMALL LETTER KOPPA
+0480 ; [.1A8C.0020.0008] # CYRILLIC CAPITAL LETTER KOPPA
+0440 ; [.1A90.0020.0002] # CYRILLIC SMALL LETTER ER
+2DEC ; [.1A90.0020.0004] # COMBINING CYRILLIC LETTER ER
+0420 ; [.1A90.0020.0008] # CYRILLIC CAPITAL LETTER ER
+048F ; [.1A94.0020.0002] # CYRILLIC SMALL LETTER ER WITH TICK
+048E ; [.1A94.0020.0008] # CYRILLIC CAPITAL LETTER ER WITH TICK
+0517 ; [.1A98.0020.0002] # CYRILLIC SMALL LETTER RHA
+0516 ; [.1A98.0020.0008] # CYRILLIC CAPITAL LETTER RHA
+0441 ; [.1A99.0020.0002] # CYRILLIC SMALL LETTER ES
+2DED ; [.1A99.0020.0004] # COMBINING CYRILLIC LETTER ES
+0421 ; [.1A99.0020.0008] # CYRILLIC CAPITAL LETTER ES
+2DF5 ; [.1A99.0020.0004][.1AA2.0020.0004] # COMBINING CYRILLIC LETTER ES-TE
+050D ; [.1A9D.0020.0002] # CYRILLIC SMALL LETTER KOMI SJE
+050C ; [.1A9D.0020.0008] # CYRILLIC CAPITAL LETTER KOMI SJE
+04AB ; [.1A9E.0020.0002] # CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AA ; [.1A9E.0020.0008] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0442 ; [.1AA2.0020.0002] # CYRILLIC SMALL LETTER TE
+2DEE ; [.1AA2.0020.0004] # COMBINING CYRILLIC LETTER TE
+0422 ; [.1AA2.0020.0008] # CYRILLIC CAPITAL LETTER TE
+A68D ; [.1AA6.0020.0002] # CYRILLIC SMALL LETTER TWE
+A68C ; [.1AA6.0020.0008] # CYRILLIC CAPITAL LETTER TWE
+050F ; [.1AA7.0020.0002] # CYRILLIC SMALL LETTER KOMI TJE
+050E ; [.1AA7.0020.0008] # CYRILLIC CAPITAL LETTER KOMI TJE
+04AD ; [.1AA8.0020.0002] # CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AC ; [.1AA8.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+A68B ; [.1AAC.0020.0002] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68A ; [.1AAC.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+045B ; [.1AAD.0020.0002] # CYRILLIC SMALL LETTER TSHE
+040B ; [.1AAD.0020.0008] # CYRILLIC CAPITAL LETTER TSHE
+045C ; [.1AB1.0020.0002] # CYRILLIC SMALL LETTER KJE
+043A 0301 ; [.1AB1.0020.0002] # CYRILLIC SMALL LETTER KJE
+043A 0341 ; [.1AB1.0020.0002] # CYRILLIC SMALL LETTER KJE
+040C ; [.1AB1.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+041A 0301 ; [.1AB1.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+041A 0341 ; [.1AB1.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+0443 ; [.1AB5.0020.0002] # CYRILLIC SMALL LETTER U
+A677 ; [.1AB5.0020.0004] # COMBINING CYRILLIC LETTER U
+0423 ; [.1AB5.0020.0008] # CYRILLIC CAPITAL LETTER U
+04EF ; [.1AB5.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER U WITH MACRON
+04EE ; [.1AB5.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER U WITH MACRON
+045E ; [.1AB9.0020.0002] # CYRILLIC SMALL LETTER SHORT U
+0443 0306 ; [.1AB9.0020.0002] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AB9.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
+0423 0306 ; [.1AB9.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1ABD.0020.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+0443 0308 ; [.1ABD.0020.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1ABD.0020.0008] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+0423 0308 ; [.1ABD.0020.0008] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AC1.0020.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+0443 030B ; [.1AC1.0020.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AC1.0020.0008] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+0423 030B ; [.1AC1.0020.0008] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04AF ; [.1AC5.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE ; [.1AC5.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
+04B1 ; [.1AC9.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0 ; [.1AC9.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+A64B ; [.1ACD.0020.0002] # CYRILLIC SMALL LETTER MONOGRAPH UK
+2DF9 ; [.1ACD.0020.0004] # COMBINING CYRILLIC LETTER MONOGRAPH UK
+A64A ; [.1ACD.0020.0008] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0479 ; [.1ACE.0020.0002] # CYRILLIC SMALL LETTER UK
+0478 ; [.1ACE.0020.0008] # CYRILLIC CAPITAL LETTER UK
+0444 ; [.1AD2.0020.0002] # CYRILLIC SMALL LETTER EF
+0424 ; [.1AD2.0020.0008] # CYRILLIC CAPITAL LETTER EF
+0445 ; [.1AD6.0020.0002] # CYRILLIC SMALL LETTER HA
+2DEF ; [.1AD6.0020.0004] # COMBINING CYRILLIC LETTER HA
+0425 ; [.1AD6.0020.0008] # CYRILLIC CAPITAL LETTER HA
+04FD ; [.1ADA.0020.0002] # CYRILLIC SMALL LETTER HA WITH HOOK
+04FC ; [.1ADA.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FF ; [.1ADE.0020.0002] # CYRILLIC SMALL LETTER HA WITH STROKE
+04FE ; [.1ADE.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH STROKE
+04B3 ; [.1AE2.0020.0002] # CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B2 ; [.1AE2.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04BB ; [.1AE6.0020.0002] # CYRILLIC SMALL LETTER SHHA
+04BA ; [.1AE6.0020.0008] # CYRILLIC CAPITAL LETTER SHHA
+0527 ; [.1AEA.0020.0002] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0526 ; [.1AEA.0020.0008] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+A695 ; [.1AEB.0020.0002] # CYRILLIC SMALL LETTER HWE
+A694 ; [.1AEB.0020.0008] # CYRILLIC CAPITAL LETTER HWE
+0461 ; [.1AEC.0020.0002] # CYRILLIC SMALL LETTER OMEGA
+A67B ; [.1AEC.0020.0004] # COMBINING CYRILLIC LETTER OMEGA
+0460 ; [.1AEC.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA
+047F ; [.1AF0.0020.0002] # CYRILLIC SMALL LETTER OT
+047E ; [.1AF0.0020.0008] # CYRILLIC CAPITAL LETTER OT
+A64D ; [.1AF4.0020.0002] # CYRILLIC SMALL LETTER BROAD OMEGA
+A64C ; [.1AF4.0020.0008] # CYRILLIC CAPITAL LETTER BROAD OMEGA
+047D ; [.1AF5.0020.0002] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047C ; [.1AF5.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047B ; [.1AF9.0020.0002] # CYRILLIC SMALL LETTER ROUND OMEGA
+047A ; [.1AF9.0020.0008] # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0446 ; [.1AFD.0020.0002] # CYRILLIC SMALL LETTER TSE
+2DF0 ; [.1AFD.0020.0004] # COMBINING CYRILLIC LETTER TSE
+0426 ; [.1AFD.0020.0008] # CYRILLIC CAPITAL LETTER TSE
+A661 ; [.1B01.0020.0002] # CYRILLIC SMALL LETTER REVERSED TSE
+A660 ; [.1B01.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED TSE
+A68F ; [.1B02.0020.0002] # CYRILLIC SMALL LETTER TSWE
+A68E ; [.1B02.0020.0008] # CYRILLIC CAPITAL LETTER TSWE
+04B5 ; [.1B03.0020.0002] # CYRILLIC SMALL LIGATURE TE TSE
+04B4 ; [.1B03.0020.0008] # CYRILLIC CAPITAL LIGATURE TE TSE
+A691 ; [.1B07.0020.0002] # CYRILLIC SMALL LETTER TSSE
+A690 ; [.1B07.0020.0008] # CYRILLIC CAPITAL LETTER TSSE
+0447 ; [.1B08.0020.0002] # CYRILLIC SMALL LETTER CHE
+2DF1 ; [.1B08.0020.0004] # COMBINING CYRILLIC LETTER CHE
+0427 ; [.1B08.0020.0008] # CYRILLIC CAPITAL LETTER CHE
+A693 ; [.1B0C.0020.0002] # CYRILLIC SMALL LETTER TCHE
+A692 ; [.1B0C.0020.0008] # CYRILLIC CAPITAL LETTER TCHE
+04F5 ; [.1B0D.0020.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+0447 0308 ; [.1B0D.0020.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1B0D.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+0427 0308 ; [.1B0D.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04B7 ; [.1B11.0020.0002] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B6 ; [.1B11.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04CC ; [.1B15.0020.0002] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CB ; [.1B15.0020.0008] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04B9 ; [.1B19.0020.0002] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04B8 ; [.1B19.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+A687 ; [.1B1D.0020.0002] # CYRILLIC SMALL LETTER CCHE
+A686 ; [.1B1D.0020.0008] # CYRILLIC CAPITAL LETTER CCHE
+04BD ; [.1B1E.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BC ; [.1B1E.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BF ; [.1B22.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04BE ; [.1B22.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+045F ; [.1B26.0020.0002] # CYRILLIC SMALL LETTER DZHE
+040F ; [.1B26.0020.0008] # CYRILLIC CAPITAL LETTER DZHE
+0448 ; [.1B2A.0020.0002] # CYRILLIC SMALL LETTER SHA
+2DF2 ; [.1B2A.0020.0004] # COMBINING CYRILLIC LETTER SHA
+0428 ; [.1B2A.0020.0008] # CYRILLIC CAPITAL LETTER SHA
+A697 ; [.1B2E.0020.0002] # CYRILLIC SMALL LETTER SHWE
+A696 ; [.1B2E.0020.0008] # CYRILLIC CAPITAL LETTER SHWE
+0449 ; [.1B2F.0020.0002] # CYRILLIC SMALL LETTER SHCHA
+2DF3 ; [.1B2F.0020.0004] # COMBINING CYRILLIC LETTER SHCHA
+0429 ; [.1B2F.0020.0008] # CYRILLIC CAPITAL LETTER SHCHA
+A64F ; [.1B33.0020.0002] # CYRILLIC SMALL LETTER NEUTRAL YER
+A64E ; [.1B33.0020.0008] # CYRILLIC CAPITAL LETTER NEUTRAL YER
+2E2F ; [.1B34.0020.0002] # VERTICAL TILDE
+A67F ; [.1B35.0020.0002] # CYRILLIC PAYEROK
+044A ; [.1B36.0020.0002] # CYRILLIC SMALL LETTER HARD SIGN
+A678 ; [.1B36.0020.0004] # COMBINING CYRILLIC LETTER HARD SIGN
+042A ; [.1B36.0020.0008] # CYRILLIC CAPITAL LETTER HARD SIGN
+A651 ; [.1B3A.0020.0002] # CYRILLIC SMALL LETTER YERU WITH BACK YER
+A650 ; [.1B3A.0020.0008] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+044B ; [.1B3B.0020.0002] # CYRILLIC SMALL LETTER YERU
+A679 ; [.1B3B.0020.0004] # COMBINING CYRILLIC LETTER YERU
+042B ; [.1B3B.0020.0008] # CYRILLIC CAPITAL LETTER YERU
+04F9 ; [.1B3F.0020.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+044B 0308 ; [.1B3F.0020.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B3F.0020.0008] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+042B 0308 ; [.1B3F.0020.0008] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+044C ; [.1B43.0020.0002] # CYRILLIC SMALL LETTER SOFT SIGN
+A67A ; [.1B43.0020.0004] # COMBINING CYRILLIC LETTER SOFT SIGN
+042C ; [.1B43.0020.0008] # CYRILLIC CAPITAL LETTER SOFT SIGN
+048D ; [.1B47.0020.0002] # CYRILLIC SMALL LETTER SEMISOFT SIGN
+048C ; [.1B47.0020.0008] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0463 ; [.1B4B.0020.0002] # CYRILLIC SMALL LETTER YAT
+2DFA ; [.1B4B.0020.0004] # COMBINING CYRILLIC LETTER YAT
+0462 ; [.1B4B.0020.0008] # CYRILLIC CAPITAL LETTER YAT
+A653 ; [.1B4F.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED YAT
+A652 ; [.1B4F.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
+044D ; [.1B50.0020.0002] # CYRILLIC SMALL LETTER E
+042D ; [.1B50.0020.0008] # CYRILLIC CAPITAL LETTER E
+04ED ; [.1B54.0020.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+044D 0308 ; [.1B54.0020.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B54.0020.0008] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+042D 0308 ; [.1B54.0020.0008] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+044E ; [.1B58.0020.0002] # CYRILLIC SMALL LETTER YU
+2DFB ; [.1B58.0020.0004] # COMBINING CYRILLIC LETTER YU
+042E ; [.1B58.0020.0008] # CYRILLIC CAPITAL LETTER YU
+A655 ; [.1B5C.0020.0002] # CYRILLIC SMALL LETTER REVERSED YU
+A654 ; [.1B5C.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED YU
+A657 ; [.1B5D.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED A
+2DFC ; [.1B5D.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED A
+A656 ; [.1B5D.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED A
+044F ; [.1B5E.0020.0002] # CYRILLIC SMALL LETTER YA
+042F ; [.1B5E.0020.0008] # CYRILLIC CAPITAL LETTER YA
+0519 ; [.1B62.0020.0002] # CYRILLIC SMALL LETTER YAE
+0518 ; [.1B62.0020.0008] # CYRILLIC CAPITAL LETTER YAE
+0465 ; [.1B63.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED E
+A69F ; [.1B63.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED E
+0464 ; [.1B63.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED E
+0467 ; [.1B67.0020.0002] # CYRILLIC SMALL LETTER LITTLE YUS
+2DFD ; [.1B67.0020.0004] # COMBINING CYRILLIC LETTER LITTLE YUS
+0466 ; [.1B67.0020.0008] # CYRILLIC CAPITAL LETTER LITTLE YUS
+A659 ; [.1B6B.0020.0002] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A658 ; [.1B6B.0020.0008] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+046B ; [.1B6C.0020.0002] # CYRILLIC SMALL LETTER BIG YUS
+2DFE ; [.1B6C.0020.0004] # COMBINING CYRILLIC LETTER BIG YUS
+046A ; [.1B6C.0020.0008] # CYRILLIC CAPITAL LETTER BIG YUS
+A65B ; [.1B70.0020.0002] # CYRILLIC SMALL LETTER BLENDED YUS
+A65A ; [.1B70.0020.0008] # CYRILLIC CAPITAL LETTER BLENDED YUS
+0469 ; [.1B71.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0468 ; [.1B71.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+A65D ; [.1B75.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65C ; [.1B75.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+046D ; [.1B76.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+2DFF ; [.1B76.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+046C ; [.1B76.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046F ; [.1B7A.0020.0002] # CYRILLIC SMALL LETTER KSI
+046E ; [.1B7A.0020.0008] # CYRILLIC CAPITAL LETTER KSI
+0471 ; [.1B7E.0020.0002] # CYRILLIC SMALL LETTER PSI
+0470 ; [.1B7E.0020.0008] # CYRILLIC CAPITAL LETTER PSI
+0473 ; [.1B82.0020.0002] # CYRILLIC SMALL LETTER FITA
+2DF4 ; [.1B82.0020.0004] # COMBINING CYRILLIC LETTER FITA
+0472 ; [.1B82.0020.0008] # CYRILLIC CAPITAL LETTER FITA
+0475 ; [.1B86.0020.0002] # CYRILLIC SMALL LETTER IZHITSA
+0474 ; [.1B86.0020.0008] # CYRILLIC CAPITAL LETTER IZHITSA
+0477 ; [.1B8A.0020.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0475 030F ; [.1B8A.0020.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B8A.0020.0008] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0474 030F ; [.1B8A.0020.0008] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+A65F ; [.1B8E.0020.0002] # CYRILLIC SMALL LETTER YN
+A65E ; [.1B8E.0020.0008] # CYRILLIC CAPITAL LETTER YN
+04A9 ; [.1B8F.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN HA
+04A8 ; [.1B8F.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+051D ; [.1B93.0020.0002] # CYRILLIC SMALL LETTER WE
+051C ; [.1B93.0020.0008] # CYRILLIC CAPITAL LETTER WE
+04CF ; [.1B94.0020.0002] # CYRILLIC SMALL LETTER PALOCHKA
+04C0 ; [.1B94.0020.0008] # CYRILLIC LETTER PALOCHKA
+2C30 ; [.1B98.0020.0002] # GLAGOLITIC SMALL LETTER AZU
+2C00 ; [.1B98.0020.0008] # GLAGOLITIC CAPITAL LETTER AZU
+2C31 ; [.1B99.0020.0002] # GLAGOLITIC SMALL LETTER BUKY
+2C01 ; [.1B99.0020.0008] # GLAGOLITIC CAPITAL LETTER BUKY
+2C32 ; [.1B9A.0020.0002] # GLAGOLITIC SMALL LETTER VEDE
+2C02 ; [.1B9A.0020.0008] # GLAGOLITIC CAPITAL LETTER VEDE
+2C33 ; [.1B9B.0020.0002] # GLAGOLITIC SMALL LETTER GLAGOLI
+2C03 ; [.1B9B.0020.0008] # GLAGOLITIC CAPITAL LETTER GLAGOLI
+2C34 ; [.1B9C.0020.0002] # GLAGOLITIC SMALL LETTER DOBRO
+2C04 ; [.1B9C.0020.0008] # GLAGOLITIC CAPITAL LETTER DOBRO
+2C35 ; [.1B9D.0020.0002] # GLAGOLITIC SMALL LETTER YESTU
+2C05 ; [.1B9D.0020.0008] # GLAGOLITIC CAPITAL LETTER YESTU
+2C36 ; [.1B9E.0020.0002] # GLAGOLITIC SMALL LETTER ZHIVETE
+2C06 ; [.1B9E.0020.0008] # GLAGOLITIC CAPITAL LETTER ZHIVETE
+2C37 ; [.1B9F.0020.0002] # GLAGOLITIC SMALL LETTER DZELO
+2C07 ; [.1B9F.0020.0008] # GLAGOLITIC CAPITAL LETTER DZELO
+2C38 ; [.1BA0.0020.0002] # GLAGOLITIC SMALL LETTER ZEMLJA
+2C08 ; [.1BA0.0020.0008] # GLAGOLITIC CAPITAL LETTER ZEMLJA
+2C39 ; [.1BA1.0020.0002] # GLAGOLITIC SMALL LETTER IZHE
+2C09 ; [.1BA1.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHE
+2C3A ; [.1BA2.0020.0002] # GLAGOLITIC SMALL LETTER INITIAL IZHE
+2C0A ; [.1BA2.0020.0008] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+2C3B ; [.1BA3.0020.0002] # GLAGOLITIC SMALL LETTER I
+2C0B ; [.1BA3.0020.0008] # GLAGOLITIC CAPITAL LETTER I
+2C3C ; [.1BA4.0020.0002] # GLAGOLITIC SMALL LETTER DJERVI
+2C0C ; [.1BA4.0020.0008] # GLAGOLITIC CAPITAL LETTER DJERVI
+2C3D ; [.1BA5.0020.0002] # GLAGOLITIC SMALL LETTER KAKO
+2C0D ; [.1BA5.0020.0008] # GLAGOLITIC CAPITAL LETTER KAKO
+2C3E ; [.1BA6.0020.0002] # GLAGOLITIC SMALL LETTER LJUDIJE
+2C0E ; [.1BA6.0020.0008] # GLAGOLITIC CAPITAL LETTER LJUDIJE
+2C3F ; [.1BA7.0020.0002] # GLAGOLITIC SMALL LETTER MYSLITE
+2C0F ; [.1BA7.0020.0008] # GLAGOLITIC CAPITAL LETTER MYSLITE
+2C40 ; [.1BA8.0020.0002] # GLAGOLITIC SMALL LETTER NASHI
+2C10 ; [.1BA8.0020.0008] # GLAGOLITIC CAPITAL LETTER NASHI
+2C41 ; [.1BA9.0020.0002] # GLAGOLITIC SMALL LETTER ONU
+2C11 ; [.1BA9.0020.0008] # GLAGOLITIC CAPITAL LETTER ONU
+2C42 ; [.1BAA.0020.0002] # GLAGOLITIC SMALL LETTER POKOJI
+2C12 ; [.1BAA.0020.0008] # GLAGOLITIC CAPITAL LETTER POKOJI
+2C43 ; [.1BAB.0020.0002] # GLAGOLITIC SMALL LETTER RITSI
+2C13 ; [.1BAB.0020.0008] # GLAGOLITIC CAPITAL LETTER RITSI
+2C44 ; [.1BAC.0020.0002] # GLAGOLITIC SMALL LETTER SLOVO
+2C14 ; [.1BAC.0020.0008] # GLAGOLITIC CAPITAL LETTER SLOVO
+2C45 ; [.1BAD.0020.0002] # GLAGOLITIC SMALL LETTER TVRIDO
+2C15 ; [.1BAD.0020.0008] # GLAGOLITIC CAPITAL LETTER TVRIDO
+2C46 ; [.1BAE.0020.0002] # GLAGOLITIC SMALL LETTER UKU
+2C16 ; [.1BAE.0020.0008] # GLAGOLITIC CAPITAL LETTER UKU
+2C47 ; [.1BAF.0020.0002] # GLAGOLITIC SMALL LETTER FRITU
+2C17 ; [.1BAF.0020.0008] # GLAGOLITIC CAPITAL LETTER FRITU
+2C48 ; [.1BB0.0020.0002] # GLAGOLITIC SMALL LETTER HERU
+2C18 ; [.1BB0.0020.0008] # GLAGOLITIC CAPITAL LETTER HERU
+2C49 ; [.1BB1.0020.0002] # GLAGOLITIC SMALL LETTER OTU
+2C19 ; [.1BB1.0020.0008] # GLAGOLITIC CAPITAL LETTER OTU
+2C4A ; [.1BB2.0020.0002] # GLAGOLITIC SMALL LETTER PE
+2C1A ; [.1BB2.0020.0008] # GLAGOLITIC CAPITAL LETTER PE
+2C4B ; [.1BB3.0020.0002] # GLAGOLITIC SMALL LETTER SHTA
+2C1B ; [.1BB3.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTA
+2C4C ; [.1BB4.0020.0002] # GLAGOLITIC SMALL LETTER TSI
+2C1C ; [.1BB4.0020.0008] # GLAGOLITIC CAPITAL LETTER TSI
+2C4D ; [.1BB5.0020.0002] # GLAGOLITIC SMALL LETTER CHRIVI
+2C1D ; [.1BB5.0020.0008] # GLAGOLITIC CAPITAL LETTER CHRIVI
+2C4E ; [.1BB6.0020.0002] # GLAGOLITIC SMALL LETTER SHA
+2C1E ; [.1BB6.0020.0008] # GLAGOLITIC CAPITAL LETTER SHA
+2C4F ; [.1BB7.0020.0002] # GLAGOLITIC SMALL LETTER YERU
+2C1F ; [.1BB7.0020.0008] # GLAGOLITIC CAPITAL LETTER YERU
+2C50 ; [.1BB8.0020.0002] # GLAGOLITIC SMALL LETTER YERI
+2C20 ; [.1BB8.0020.0008] # GLAGOLITIC CAPITAL LETTER YERI
+2C51 ; [.1BB9.0020.0002] # GLAGOLITIC SMALL LETTER YATI
+2C21 ; [.1BB9.0020.0008] # GLAGOLITIC CAPITAL LETTER YATI
+2C52 ; [.1BBA.0020.0002] # GLAGOLITIC SMALL LETTER SPIDERY HA
+2C22 ; [.1BBA.0020.0008] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
+2C53 ; [.1BBB.0020.0002] # GLAGOLITIC SMALL LETTER YU
+2C23 ; [.1BBB.0020.0008] # GLAGOLITIC CAPITAL LETTER YU
+2C54 ; [.1BBC.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS
+2C24 ; [.1BBC.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS
+2C55 ; [.1BBD.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+2C25 ; [.1BBD.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+2C56 ; [.1BBE.0020.0002] # GLAGOLITIC SMALL LETTER YO
+2C26 ; [.1BBE.0020.0008] # GLAGOLITIC CAPITAL LETTER YO
+2C57 ; [.1BBF.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+2C27 ; [.1BBF.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+2C58 ; [.1BC0.0020.0002] # GLAGOLITIC SMALL LETTER BIG YUS
+2C28 ; [.1BC0.0020.0008] # GLAGOLITIC CAPITAL LETTER BIG YUS
+2C59 ; [.1BC1.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+2C29 ; [.1BC1.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+2C5A ; [.1BC2.0020.0002] # GLAGOLITIC SMALL LETTER FITA
+2C2A ; [.1BC2.0020.0008] # GLAGOLITIC CAPITAL LETTER FITA
+2C5B ; [.1BC3.0020.0002] # GLAGOLITIC SMALL LETTER IZHITSA
+2C2B ; [.1BC3.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHITSA
+2C5C ; [.1BC4.0020.0002] # GLAGOLITIC SMALL LETTER SHTAPIC
+2C2C ; [.1BC4.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTAPIC
+2C5D ; [.1BC5.0020.0002] # GLAGOLITIC SMALL LETTER TROKUTASTI A
+2C2D ; [.1BC5.0020.0008] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+2C5E ; [.1BC6.0020.0002] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C2E ; [.1BC6.0020.0008] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+10D0 ; [.1BC7.0020.0002] # GEORGIAN LETTER AN
+2D00 ; [.1BC8.0020.0002] # GEORGIAN SMALL LETTER AN
+10A0 ; [.1BC8.0020.0008] # GEORGIAN CAPITAL LETTER AN
+10D1 ; [.1BC9.0020.0002] # GEORGIAN LETTER BAN
+2D01 ; [.1BCA.0020.0002] # GEORGIAN SMALL LETTER BAN
+10A1 ; [.1BCA.0020.0008] # GEORGIAN CAPITAL LETTER BAN
+10D2 ; [.1BCB.0020.0002] # GEORGIAN LETTER GAN
+2D02 ; [.1BCC.0020.0002] # GEORGIAN SMALL LETTER GAN
+10A2 ; [.1BCC.0020.0008] # GEORGIAN CAPITAL LETTER GAN
+10D3 ; [.1BCD.0020.0002] # GEORGIAN LETTER DON
+2D03 ; [.1BCE.0020.0002] # GEORGIAN SMALL LETTER DON
+10A3 ; [.1BCE.0020.0008] # GEORGIAN CAPITAL LETTER DON
+10D4 ; [.1BCF.0020.0002] # GEORGIAN LETTER EN
+2D04 ; [.1BD0.0020.0002] # GEORGIAN SMALL LETTER EN
+10A4 ; [.1BD0.0020.0008] # GEORGIAN CAPITAL LETTER EN
+10D5 ; [.1BD1.0020.0002] # GEORGIAN LETTER VIN
+2D05 ; [.1BD2.0020.0002] # GEORGIAN SMALL LETTER VIN
+10A5 ; [.1BD2.0020.0008] # GEORGIAN CAPITAL LETTER VIN
+10D6 ; [.1BD3.0020.0002] # GEORGIAN LETTER ZEN
+2D06 ; [.1BD4.0020.0002] # GEORGIAN SMALL LETTER ZEN
+10A6 ; [.1BD4.0020.0008] # GEORGIAN CAPITAL LETTER ZEN
+10F1 ; [.1BD5.0020.0002] # GEORGIAN LETTER HE
+2D21 ; [.1BD6.0020.0002] # GEORGIAN SMALL LETTER HE
+10C1 ; [.1BD6.0020.0008] # GEORGIAN CAPITAL LETTER HE
+10D7 ; [.1BD7.0020.0002] # GEORGIAN LETTER TAN
+2D07 ; [.1BD8.0020.0002] # GEORGIAN SMALL LETTER TAN
+10A7 ; [.1BD8.0020.0008] # GEORGIAN CAPITAL LETTER TAN
+10D8 ; [.1BD9.0020.0002] # GEORGIAN LETTER IN
+2D08 ; [.1BDA.0020.0002] # GEORGIAN SMALL LETTER IN
+10A8 ; [.1BDA.0020.0008] # GEORGIAN CAPITAL LETTER IN
+10D9 ; [.1BDB.0020.0002] # GEORGIAN LETTER KAN
+2D09 ; [.1BDC.0020.0002] # GEORGIAN SMALL LETTER KAN
+10A9 ; [.1BDC.0020.0008] # GEORGIAN CAPITAL LETTER KAN
+10DA ; [.1BDD.0020.0002] # GEORGIAN LETTER LAS
+2D0A ; [.1BDE.0020.0002] # GEORGIAN SMALL LETTER LAS
+10AA ; [.1BDE.0020.0008] # GEORGIAN CAPITAL LETTER LAS
+10DB ; [.1BDF.0020.0002] # GEORGIAN LETTER MAN
+2D0B ; [.1BE0.0020.0002] # GEORGIAN SMALL LETTER MAN
+10AB ; [.1BE0.0020.0008] # GEORGIAN CAPITAL LETTER MAN
+10DC ; [.1BE1.0020.0002] # GEORGIAN LETTER NAR
+10FC ; [.1BE1.0020.0014] # MODIFIER LETTER GEORGIAN NAR
+2D0C ; [.1BE2.0020.0002] # GEORGIAN SMALL LETTER NAR
+10AC ; [.1BE2.0020.0008] # GEORGIAN CAPITAL LETTER NAR
+10F2 ; [.1BE3.0020.0002] # GEORGIAN LETTER HIE
+2D22 ; [.1BE4.0020.0002] # GEORGIAN SMALL LETTER HIE
+10C2 ; [.1BE4.0020.0008] # GEORGIAN CAPITAL LETTER HIE
+10DD ; [.1BE5.0020.0002] # GEORGIAN LETTER ON
+2D0D ; [.1BE6.0020.0002] # GEORGIAN SMALL LETTER ON
+10AD ; [.1BE6.0020.0008] # GEORGIAN CAPITAL LETTER ON
+10DE ; [.1BE7.0020.0002] # GEORGIAN LETTER PAR
+2D0E ; [.1BE8.0020.0002] # GEORGIAN SMALL LETTER PAR
+10AE ; [.1BE8.0020.0008] # GEORGIAN CAPITAL LETTER PAR
+10DF ; [.1BE9.0020.0002] # GEORGIAN LETTER ZHAR
+2D0F ; [.1BEA.0020.0002] # GEORGIAN SMALL LETTER ZHAR
+10AF ; [.1BEA.0020.0008] # GEORGIAN CAPITAL LETTER ZHAR
+10E0 ; [.1BEB.0020.0002] # GEORGIAN LETTER RAE
+2D10 ; [.1BEC.0020.0002] # GEORGIAN SMALL LETTER RAE
+10B0 ; [.1BEC.0020.0008] # GEORGIAN CAPITAL LETTER RAE
+10E1 ; [.1BED.0020.0002] # GEORGIAN LETTER SAN
+2D11 ; [.1BEE.0020.0002] # GEORGIAN SMALL LETTER SAN
+10B1 ; [.1BEE.0020.0008] # GEORGIAN CAPITAL LETTER SAN
+10E2 ; [.1BEF.0020.0002] # GEORGIAN LETTER TAR
+2D12 ; [.1BF0.0020.0002] # GEORGIAN SMALL LETTER TAR
+10B2 ; [.1BF0.0020.0008] # GEORGIAN CAPITAL LETTER TAR
+10F3 ; [.1BF1.0020.0002] # GEORGIAN LETTER WE
+2D23 ; [.1BF2.0020.0002] # GEORGIAN SMALL LETTER WE
+10C3 ; [.1BF2.0020.0008] # GEORGIAN CAPITAL LETTER WE
+10E3 ; [.1BF3.0020.0002] # GEORGIAN LETTER UN
+2D13 ; [.1BF4.0020.0002] # GEORGIAN SMALL LETTER UN
+10B3 ; [.1BF4.0020.0008] # GEORGIAN CAPITAL LETTER UN
+10E4 ; [.1BF5.0020.0002] # GEORGIAN LETTER PHAR
+2D14 ; [.1BF6.0020.0002] # GEORGIAN SMALL LETTER PHAR
+10B4 ; [.1BF6.0020.0008] # GEORGIAN CAPITAL LETTER PHAR
+10E5 ; [.1BF7.0020.0002] # GEORGIAN LETTER KHAR
+2D15 ; [.1BF8.0020.0002] # GEORGIAN SMALL LETTER KHAR
+10B5 ; [.1BF8.0020.0008] # GEORGIAN CAPITAL LETTER KHAR
+10E6 ; [.1BF9.0020.0002] # GEORGIAN LETTER GHAN
+2D16 ; [.1BFA.0020.0002] # GEORGIAN SMALL LETTER GHAN
+10B6 ; [.1BFA.0020.0008] # GEORGIAN CAPITAL LETTER GHAN
+10E7 ; [.1BFB.0020.0002] # GEORGIAN LETTER QAR
+2D17 ; [.1BFC.0020.0002] # GEORGIAN SMALL LETTER QAR
+10B7 ; [.1BFC.0020.0008] # GEORGIAN CAPITAL LETTER QAR
+10E8 ; [.1BFD.0020.0002] # GEORGIAN LETTER SHIN
+2D18 ; [.1BFE.0020.0002] # GEORGIAN SMALL LETTER SHIN
+10B8 ; [.1BFE.0020.0008] # GEORGIAN CAPITAL LETTER SHIN
+10E9 ; [.1BFF.0020.0002] # GEORGIAN LETTER CHIN
+2D19 ; [.1C00.0020.0002] # GEORGIAN SMALL LETTER CHIN
+10B9 ; [.1C00.0020.0008] # GEORGIAN CAPITAL LETTER CHIN
+10EA ; [.1C01.0020.0002] # GEORGIAN LETTER CAN
+2D1A ; [.1C02.0020.0002] # GEORGIAN SMALL LETTER CAN
+10BA ; [.1C02.0020.0008] # GEORGIAN CAPITAL LETTER CAN
+10EB ; [.1C03.0020.0002] # GEORGIAN LETTER JIL
+2D1B ; [.1C04.0020.0002] # GEORGIAN SMALL LETTER JIL
+10BB ; [.1C04.0020.0008] # GEORGIAN CAPITAL LETTER JIL
+10EC ; [.1C05.0020.0002] # GEORGIAN LETTER CIL
+2D1C ; [.1C06.0020.0002] # GEORGIAN SMALL LETTER CIL
+10BC ; [.1C06.0020.0008] # GEORGIAN CAPITAL LETTER CIL
+10ED ; [.1C07.0020.0002] # GEORGIAN LETTER CHAR
+2D1D ; [.1C08.0020.0002] # GEORGIAN SMALL LETTER CHAR
+10BD ; [.1C08.0020.0008] # GEORGIAN CAPITAL LETTER CHAR
+10EE ; [.1C09.0020.0002] # GEORGIAN LETTER XAN
+2D1E ; [.1C0A.0020.0002] # GEORGIAN SMALL LETTER XAN
+10BE ; [.1C0A.0020.0008] # GEORGIAN CAPITAL LETTER XAN
+10F4 ; [.1C0B.0020.0002] # GEORGIAN LETTER HAR
+2D24 ; [.1C0C.0020.0002] # GEORGIAN SMALL LETTER HAR
+10C4 ; [.1C0C.0020.0008] # GEORGIAN CAPITAL LETTER HAR
+10EF ; [.1C0D.0020.0002] # GEORGIAN LETTER JHAN
+2D1F ; [.1C0E.0020.0002] # GEORGIAN SMALL LETTER JHAN
+10BF ; [.1C0E.0020.0008] # GEORGIAN CAPITAL LETTER JHAN
+10F0 ; [.1C0F.0020.0002] # GEORGIAN LETTER HAE
+2D20 ; [.1C10.0020.0002] # GEORGIAN SMALL LETTER HAE
+10C0 ; [.1C10.0020.0008] # GEORGIAN CAPITAL LETTER HAE
+10F5 ; [.1C11.0020.0002] # GEORGIAN LETTER HOE
+2D25 ; [.1C12.0020.0002] # GEORGIAN SMALL LETTER HOE
+10C5 ; [.1C12.0020.0008] # GEORGIAN CAPITAL LETTER HOE
+10F6 ; [.1C13.0020.0002] # GEORGIAN LETTER FI
+10F7 ; [.1C14.0020.0002] # GEORGIAN LETTER YN
+2D27 ; [.1C15.0020.0002] # GEORGIAN SMALL LETTER YN
+10C7 ; [.1C15.0020.0008] # GEORGIAN CAPITAL LETTER YN
+10F8 ; [.1C16.0020.0002] # GEORGIAN LETTER ELIFI
+10F9 ; [.1C17.0020.0002] # GEORGIAN LETTER TURNED GAN
+10FA ; [.1C18.0020.0002] # GEORGIAN LETTER AIN
+10FD ; [.1C19.0020.0002] # GEORGIAN LETTER AEN
+2D2D ; [.1C1A.0020.0002] # GEORGIAN SMALL LETTER AEN
+10CD ; [.1C1A.0020.0008] # GEORGIAN CAPITAL LETTER AEN
+10FE ; [.1C1B.0020.0002] # GEORGIAN LETTER HARD SIGN
+10FF ; [.1C1C.0020.0002] # GEORGIAN LETTER LABIAL SIGN
+0561 ; [.1C1D.0020.0002] # ARMENIAN SMALL LETTER AYB
+0531 ; [.1C1D.0020.0008] # ARMENIAN CAPITAL LETTER AYB
+0562 ; [.1C1E.0020.0002] # ARMENIAN SMALL LETTER BEN
+0532 ; [.1C1E.0020.0008] # ARMENIAN CAPITAL LETTER BEN
+0563 ; [.1C1F.0020.0002] # ARMENIAN SMALL LETTER GIM
+0533 ; [.1C1F.0020.0008] # ARMENIAN CAPITAL LETTER GIM
+0564 ; [.1C20.0020.0002] # ARMENIAN SMALL LETTER DA
+0534 ; [.1C20.0020.0008] # ARMENIAN CAPITAL LETTER DA
+0565 ; [.1C21.0020.0002] # ARMENIAN SMALL LETTER ECH
+0535 ; [.1C21.0020.0008] # ARMENIAN CAPITAL LETTER ECH
+0587 ; [.1C21.0020.0004][.1C3E.0020.0004] # ARMENIAN SMALL LIGATURE ECH YIWN
+0566 ; [.1C22.0020.0002] # ARMENIAN SMALL LETTER ZA
+0536 ; [.1C22.0020.0008] # ARMENIAN CAPITAL LETTER ZA
+0567 ; [.1C23.0020.0002] # ARMENIAN SMALL LETTER EH
+0537 ; [.1C23.0020.0008] # ARMENIAN CAPITAL LETTER EH
+0568 ; [.1C24.0020.0002] # ARMENIAN SMALL LETTER ET
+0538 ; [.1C24.0020.0008] # ARMENIAN CAPITAL LETTER ET
+0569 ; [.1C25.0020.0002] # ARMENIAN SMALL LETTER TO
+0539 ; [.1C25.0020.0008] # ARMENIAN CAPITAL LETTER TO
+056A ; [.1C26.0020.0002] # ARMENIAN SMALL LETTER ZHE
+053A ; [.1C26.0020.0008] # ARMENIAN CAPITAL LETTER ZHE
+056B ; [.1C27.0020.0002] # ARMENIAN SMALL LETTER INI
+053B ; [.1C27.0020.0008] # ARMENIAN CAPITAL LETTER INI
+056C ; [.1C28.0020.0002] # ARMENIAN SMALL LETTER LIWN
+053C ; [.1C28.0020.0008] # ARMENIAN CAPITAL LETTER LIWN
+056D ; [.1C29.0020.0002] # ARMENIAN SMALL LETTER XEH
+053D ; [.1C29.0020.0008] # ARMENIAN CAPITAL LETTER XEH
+056E ; [.1C2A.0020.0002] # ARMENIAN SMALL LETTER CA
+053E ; [.1C2A.0020.0008] # ARMENIAN CAPITAL LETTER CA
+056F ; [.1C2B.0020.0002] # ARMENIAN SMALL LETTER KEN
+053F ; [.1C2B.0020.0008] # ARMENIAN CAPITAL LETTER KEN
+0570 ; [.1C2C.0020.0002] # ARMENIAN SMALL LETTER HO
+0540 ; [.1C2C.0020.0008] # ARMENIAN CAPITAL LETTER HO
+0571 ; [.1C2D.0020.0002] # ARMENIAN SMALL LETTER JA
+0541 ; [.1C2D.0020.0008] # ARMENIAN CAPITAL LETTER JA
+0572 ; [.1C2E.0020.0002] # ARMENIAN SMALL LETTER GHAD
+0542 ; [.1C2E.0020.0008] # ARMENIAN CAPITAL LETTER GHAD
+0573 ; [.1C2F.0020.0002] # ARMENIAN SMALL LETTER CHEH
+0543 ; [.1C2F.0020.0008] # ARMENIAN CAPITAL LETTER CHEH
+0574 ; [.1C30.0020.0002] # ARMENIAN SMALL LETTER MEN
+0544 ; [.1C30.0020.0008] # ARMENIAN CAPITAL LETTER MEN
+FB14 ; [.1C30.0020.0004][.1C21.0020.0004] # ARMENIAN SMALL LIGATURE MEN ECH
+FB15 ; [.1C30.0020.0004][.1C27.0020.0004] # ARMENIAN SMALL LIGATURE MEN INI
+FB17 ; [.1C30.0020.0004][.1C29.0020.0004] # ARMENIAN SMALL LIGATURE MEN XEH
+FB13 ; [.1C30.0020.0004][.1C32.0020.0004] # ARMENIAN SMALL LIGATURE MEN NOW
+0575 ; [.1C31.0020.0002] # ARMENIAN SMALL LETTER YI
+0545 ; [.1C31.0020.0008] # ARMENIAN CAPITAL LETTER YI
+0576 ; [.1C32.0020.0002] # ARMENIAN SMALL LETTER NOW
+0546 ; [.1C32.0020.0008] # ARMENIAN CAPITAL LETTER NOW
+0577 ; [.1C33.0020.0002] # ARMENIAN SMALL LETTER SHA
+0547 ; [.1C33.0020.0008] # ARMENIAN CAPITAL LETTER SHA
+0578 ; [.1C34.0020.0002] # ARMENIAN SMALL LETTER VO
+0548 ; [.1C34.0020.0008] # ARMENIAN CAPITAL LETTER VO
+0579 ; [.1C35.0020.0002] # ARMENIAN SMALL LETTER CHA
+0549 ; [.1C35.0020.0008] # ARMENIAN CAPITAL LETTER CHA
+057A ; [.1C36.0020.0002] # ARMENIAN SMALL LETTER PEH
+054A ; [.1C36.0020.0008] # ARMENIAN CAPITAL LETTER PEH
+057B ; [.1C37.0020.0002] # ARMENIAN SMALL LETTER JHEH
+054B ; [.1C37.0020.0008] # ARMENIAN CAPITAL LETTER JHEH
+057C ; [.1C38.0020.0002] # ARMENIAN SMALL LETTER RA
+054C ; [.1C38.0020.0008] # ARMENIAN CAPITAL LETTER RA
+057D ; [.1C39.0020.0002] # ARMENIAN SMALL LETTER SEH
+054D ; [.1C39.0020.0008] # ARMENIAN CAPITAL LETTER SEH
+057E ; [.1C3A.0020.0002] # ARMENIAN SMALL LETTER VEW
+054E ; [.1C3A.0020.0008] # ARMENIAN CAPITAL LETTER VEW
+FB16 ; [.1C3A.0020.0004][.1C32.0020.0004] # ARMENIAN SMALL LIGATURE VEW NOW
+057F ; [.1C3B.0020.0002] # ARMENIAN SMALL LETTER TIWN
+054F ; [.1C3B.0020.0008] # ARMENIAN CAPITAL LETTER TIWN
+0580 ; [.1C3C.0020.0002] # ARMENIAN SMALL LETTER REH
+0550 ; [.1C3C.0020.0008] # ARMENIAN CAPITAL LETTER REH
+0581 ; [.1C3D.0020.0002] # ARMENIAN SMALL LETTER CO
+0551 ; [.1C3D.0020.0008] # ARMENIAN CAPITAL LETTER CO
+0582 ; [.1C3E.0020.0002] # ARMENIAN SMALL LETTER YIWN
+0552 ; [.1C3E.0020.0008] # ARMENIAN CAPITAL LETTER YIWN
+0583 ; [.1C3F.0020.0002] # ARMENIAN SMALL LETTER PIWR
+0553 ; [.1C3F.0020.0008] # ARMENIAN CAPITAL LETTER PIWR
+0584 ; [.1C40.0020.0002] # ARMENIAN SMALL LETTER KEH
+0554 ; [.1C40.0020.0008] # ARMENIAN CAPITAL LETTER KEH
+0585 ; [.1C41.0020.0002] # ARMENIAN SMALL LETTER OH
+0555 ; [.1C41.0020.0008] # ARMENIAN CAPITAL LETTER OH
+0586 ; [.1C42.0020.0002] # ARMENIAN SMALL LETTER FEH
+0556 ; [.1C42.0020.0008] # ARMENIAN CAPITAL LETTER FEH
+0559 ; [.1C43.0020.0002] # ARMENIAN MODIFIER LETTER LEFT HALF RING
+05D0 ; [.1C44.0020.0002] # HEBREW LETTER ALEF
+2135 ; [.1C44.0020.0004] # ALEF SYMBOL
+FB21 ; [.1C44.0020.0005] # HEBREW LETTER WIDE ALEF
+FB2E ; [.1C44.0020.0002][.0000.0059.0002] # HEBREW LETTER ALEF WITH PATAH
+FB2F ; [.1C44.0020.0002][.0000.005A.0002] # HEBREW LETTER ALEF WITH QAMATS
+FB30 ; [.1C44.0020.0002][.0000.005F.0002] # HEBREW LETTER ALEF WITH MAPIQ
+FB4F ; [.1C44.0020.0004][.1C4F.0020.0004] # HEBREW LIGATURE ALEF LAMED
+05D1 ; [.1C45.0020.0002] # HEBREW LETTER BET
+2136 ; [.1C45.0020.0004] # BET SYMBOL
+FB31 ; [.1C45.0020.0002][.0000.005F.0002] # HEBREW LETTER BET WITH DAGESH
+FB4C ; [.1C45.0020.0002][.0000.0060.0002] # HEBREW LETTER BET WITH RAFE
+05D2 ; [.1C46.0020.0002] # HEBREW LETTER GIMEL
+2137 ; [.1C46.0020.0004] # GIMEL SYMBOL
+FB32 ; [.1C46.0020.0002][.0000.005F.0002] # HEBREW LETTER GIMEL WITH DAGESH
+05D3 ; [.1C47.0020.0002] # HEBREW LETTER DALET
+2138 ; [.1C47.0020.0004] # DALET SYMBOL
+FB22 ; [.1C47.0020.0005] # HEBREW LETTER WIDE DALET
+FB33 ; [.1C47.0020.0002][.0000.005F.0002] # HEBREW LETTER DALET WITH DAGESH
+05D4 ; [.1C48.0020.0002] # HEBREW LETTER HE
+FB23 ; [.1C48.0020.0005] # HEBREW LETTER WIDE HE
+FB34 ; [.1C48.0020.0002][.0000.005F.0002] # HEBREW LETTER HE WITH MAPIQ
+05D5 ; [.1C49.0020.0002] # HEBREW LETTER VAV
+FB4B ; [.1C49.0020.0002][.0000.005B.0002] # HEBREW LETTER VAV WITH HOLAM
+FB35 ; [.1C49.0020.0002][.0000.005F.0002] # HEBREW LETTER VAV WITH DAGESH
+05F0 ; [.1C49.0020.0004][.1C49.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE VAV
+05F1 ; [.1C49.0020.0004][.1C4D.0020.0004] # HEBREW LIGATURE YIDDISH VAV YOD
+05D6 ; [.1C4A.0020.0002] # HEBREW LETTER ZAYIN
+FB36 ; [.1C4A.0020.0002][.0000.005F.0002] # HEBREW LETTER ZAYIN WITH DAGESH
+05D7 ; [.1C4B.0020.0002] # HEBREW LETTER HET
+05D8 ; [.1C4C.0020.0002] # HEBREW LETTER TET
+FB38 ; [.1C4C.0020.0002][.0000.005F.0002] # HEBREW LETTER TET WITH DAGESH
+05D9 ; [.1C4D.0020.0002] # HEBREW LETTER YOD
+FB1D ; [.1C4D.0020.0002][.0000.0056.0002] # HEBREW LETTER YOD WITH HIRIQ
+FB39 ; [.1C4D.0020.0002][.0000.005F.0002] # HEBREW LETTER YOD WITH DAGESH
+05F2 ; [.1C4D.0020.0004][.1C4D.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE YOD
+FB1F ; [.1C4D.0020.0004][.1C4D.0020.0004][.0000.0059.0002] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+05DB ; [.1C4E.0020.0002] # HEBREW LETTER KAF
+FB24 ; [.1C4E.0020.0005] # HEBREW LETTER WIDE KAF
+05DA ; [.1C4E.0020.0019] # HEBREW LETTER FINAL KAF
+FB3B ; [.1C4E.0020.0002][.0000.005F.0002] # HEBREW LETTER KAF WITH DAGESH
+FB3A ; [.1C4E.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL KAF WITH DAGESH
+FB4D ; [.1C4E.0020.0002][.0000.0060.0002] # HEBREW LETTER KAF WITH RAFE
+05DC ; [.1C4F.0020.0002] # HEBREW LETTER LAMED
+FB25 ; [.1C4F.0020.0005] # HEBREW LETTER WIDE LAMED
+FB3C ; [.1C4F.0020.0002][.0000.005F.0002] # HEBREW LETTER LAMED WITH DAGESH
+05DE ; [.1C50.0020.0002] # HEBREW LETTER MEM
+FB26 ; [.1C50.0020.0005] # HEBREW LETTER WIDE FINAL MEM
+05DD ; [.1C50.0020.0019] # HEBREW LETTER FINAL MEM
+FB3E ; [.1C50.0020.0002][.0000.005F.0002] # HEBREW LETTER MEM WITH DAGESH
+05E0 ; [.1C51.0020.0002] # HEBREW LETTER NUN
+05DF ; [.1C51.0020.0019] # HEBREW LETTER FINAL NUN
+FB40 ; [.1C51.0020.0002][.0000.005F.0002] # HEBREW LETTER NUN WITH DAGESH
+05E1 ; [.1C52.0020.0002] # HEBREW LETTER SAMEKH
+FB41 ; [.1C52.0020.0002][.0000.005F.0002] # HEBREW LETTER SAMEKH WITH DAGESH
+05E2 ; [.1C53.0020.0002] # HEBREW LETTER AYIN
+FB20 ; [.1C53.0020.0005] # HEBREW LETTER ALTERNATIVE AYIN
+05E4 ; [.1C54.0020.0002] # HEBREW LETTER PE
+05E3 ; [.1C54.0020.0019] # HEBREW LETTER FINAL PE
+FB44 ; [.1C54.0020.0002][.0000.005F.0002] # HEBREW LETTER PE WITH DAGESH
+FB43 ; [.1C54.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL PE WITH DAGESH
+FB4E ; [.1C54.0020.0002][.0000.0060.0002] # HEBREW LETTER PE WITH RAFE
+05E6 ; [.1C55.0020.0002] # HEBREW LETTER TSADI
+05E5 ; [.1C55.0020.0019] # HEBREW LETTER FINAL TSADI
+FB46 ; [.1C55.0020.0002][.0000.005F.0002] # HEBREW LETTER TSADI WITH DAGESH
+05E7 ; [.1C56.0020.0002] # HEBREW LETTER QOF
+FB47 ; [.1C56.0020.0002][.0000.005F.0002] # HEBREW LETTER QOF WITH DAGESH
+05E8 ; [.1C57.0020.0002] # HEBREW LETTER RESH
+FB27 ; [.1C57.0020.0005] # HEBREW LETTER WIDE RESH
+FB48 ; [.1C57.0020.0002][.0000.005F.0002] # HEBREW LETTER RESH WITH DAGESH
+05E9 ; [.1C58.0020.0002] # HEBREW LETTER SHIN
+FB2B ; [.1C58.0020.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH SIN DOT
+FB2A ; [.1C58.0020.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH SHIN DOT
+FB49 ; [.1C58.0020.0002][.0000.005F.0002] # HEBREW LETTER SHIN WITH DAGESH
+FB2D ; [.1C58.0020.0002][.0000.005F.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2C ; [.1C58.0020.0002][.0000.005F.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+05EA ; [.1C59.0020.0002] # HEBREW LETTER TAV
+FB28 ; [.1C59.0020.0005] # HEBREW LETTER WIDE TAV
+FB4A ; [.1C59.0020.0002][.0000.005F.0002] # HEBREW LETTER TAV WITH DAGESH
+10900 ; [.1C5A.0020.0002] # PHOENICIAN LETTER ALF
+10901 ; [.1C5B.0020.0002] # PHOENICIAN LETTER BET
+10902 ; [.1C5C.0020.0002] # PHOENICIAN LETTER GAML
+10903 ; [.1C5D.0020.0002] # PHOENICIAN LETTER DELT
+10904 ; [.1C5E.0020.0002] # PHOENICIAN LETTER HE
+10905 ; [.1C5F.0020.0002] # PHOENICIAN LETTER WAU
+10906 ; [.1C60.0020.0002] # PHOENICIAN LETTER ZAI
+10907 ; [.1C61.0020.0002] # PHOENICIAN LETTER HET
+10908 ; [.1C62.0020.0002] # PHOENICIAN LETTER TET
+10909 ; [.1C63.0020.0002] # PHOENICIAN LETTER YOD
+1090A ; [.1C64.0020.0002] # PHOENICIAN LETTER KAF
+1090B ; [.1C65.0020.0002] # PHOENICIAN LETTER LAMD
+1090C ; [.1C66.0020.0002] # PHOENICIAN LETTER MEM
+1090D ; [.1C67.0020.0002] # PHOENICIAN LETTER NUN
+1090E ; [.1C68.0020.0002] # PHOENICIAN LETTER SEMK
+1090F ; [.1C69.0020.0002] # PHOENICIAN LETTER AIN
+10910 ; [.1C6A.0020.0002] # PHOENICIAN LETTER PE
+10911 ; [.1C6B.0020.0002] # PHOENICIAN LETTER SADE
+10912 ; [.1C6C.0020.0002] # PHOENICIAN LETTER QOF
+10913 ; [.1C6D.0020.0002] # PHOENICIAN LETTER ROSH
+10914 ; [.1C6E.0020.0002] # PHOENICIAN LETTER SHIN
+10915 ; [.1C6F.0020.0002] # PHOENICIAN LETTER TAU
+0800 ; [.1C70.0020.0002] # SAMARITAN LETTER ALAF
+0801 ; [.1C71.0020.0002] # SAMARITAN LETTER BIT
+0802 ; [.1C72.0020.0002] # SAMARITAN LETTER GAMAN
+0803 ; [.1C73.0020.0002] # SAMARITAN LETTER DALAT
+0804 ; [.1C74.0020.0002] # SAMARITAN LETTER IY
+0805 ; [.1C75.0020.0002] # SAMARITAN LETTER BAA
+0806 ; [.1C76.0020.0002] # SAMARITAN LETTER ZEN
+0807 ; [.1C77.0020.0002] # SAMARITAN LETTER IT
+0808 ; [.1C78.0020.0002] # SAMARITAN LETTER TIT
+0809 ; [.1C79.0020.0002] # SAMARITAN LETTER YUT
+080A ; [.1C7A.0020.0002] # SAMARITAN LETTER KAAF
+080B ; [.1C7B.0020.0002] # SAMARITAN LETTER LABAT
+080C ; [.1C7C.0020.0002] # SAMARITAN LETTER MIM
+080D ; [.1C7D.0020.0002] # SAMARITAN LETTER NUN
+080E ; [.1C7E.0020.0002] # SAMARITAN LETTER SINGAAT
+080F ; [.1C7F.0020.0002] # SAMARITAN LETTER IN
+0810 ; [.1C80.0020.0002] # SAMARITAN LETTER FI
+0811 ; [.1C81.0020.0002] # SAMARITAN LETTER TSAADIY
+0812 ; [.1C82.0020.0002] # SAMARITAN LETTER QUF
+0813 ; [.1C83.0020.0002] # SAMARITAN LETTER RISH
+0814 ; [.1C84.0020.0002] # SAMARITAN LETTER SHAN
+0815 ; [.1C85.0020.0002] # SAMARITAN LETTER TAAF
+0816 ; [.1C86.0020.0002] # SAMARITAN MARK IN
+0817 ; [.1C87.0020.0002] # SAMARITAN MARK IN-ALAF
+081A ; [.1C88.0020.0002] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B ; [.1C89.0020.0002] # SAMARITAN MARK EPENTHETIC YUT
+0621 ; [.1C8A.0020.0002] # ARABIC LETTER HAMZA
+0674 ; [.1C8A.0020.0004] # ARABIC LETTER HIGH HAMZA
+FE80 ; [.1C8A.0020.001A] # ARABIC LETTER HAMZA ISOLATED FORM
+06FD ; [.1C8A.0020.0004][.0000.00FD.0004] # ARABIC SIGN SINDHI AMPERSAND
+0622 ; [.1C8B.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C8B.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
+FE82 ; [.1C8B.0020.0019] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+FE81 ; [.1C8B.0020.001A] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0623 ; [.1C8C.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C8C.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+FE84 ; [.1C8C.0020.0019] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+FE83 ; [.1C8C.0020.001A] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0672 ; [.1C8D.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0671 ; [.1C8E.0020.0002] # ARABIC LETTER ALEF WASLA
+FB51 ; [.1C8E.0020.0019] # ARABIC LETTER ALEF WASLA FINAL FORM
+FB50 ; [.1C8E.0020.001A] # ARABIC LETTER ALEF WASLA ISOLATED FORM
+0624 ; [.1C8F.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C8F.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
+FE86 ; [.1C8F.0020.0019] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+FE85 ; [.1C8F.0020.001A] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0625 ; [.1C90.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C90.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
+FE88 ; [.1C90.0020.0019] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+FE87 ; [.1C90.0020.001A] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+0673 ; [.1C91.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0773 ; [.1C92.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0774 ; [.1C93.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0626 ; [.1C94.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C94.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
+FE8B ; [.1C94.0020.0017] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+FE8C ; [.1C94.0020.0018] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+FE8A ; [.1C94.0020.0019] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+FE89 ; [.1C94.0020.001A] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+FBEB ; [.1C94.0020.0019][.1C98.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+FBEA ; [.1C94.0020.001A][.1C98.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+FC97 ; [.1C94.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+FC00 ; [.1C94.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+FC98 ; [.1C94.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+FC01 ; [.1C94.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+FC99 ; [.1C94.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+FC64 ; [.1C94.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+FC65 ; [.1C94.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+FC9A ; [.1C94.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+FCDF ; [.1C94.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+FC66 ; [.1C94.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+FC02 ; [.1C94.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+FC67 ; [.1C94.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+FC9B ; [.1C94.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+FCE0 ; [.1C94.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+FBED ; [.1C94.0020.0019][.1D35.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+FBEC ; [.1C94.0020.001A][.1D35.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+FBEF ; [.1C94.0020.0019][.1D36.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+FBEE ; [.1C94.0020.001A][.1D36.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+FBF3 ; [.1C94.0020.0019][.1D39.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+FBF2 ; [.1C94.0020.001A][.1D39.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+FBF1 ; [.1C94.0020.0019][.1D3A.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+FBF0 ; [.1C94.0020.001A][.1D3A.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+FBF5 ; [.1C94.0020.0019][.1D3B.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+FBF4 ; [.1C94.0020.001A][.1D3B.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+FBFB ; [.1C94.0020.0017][.1D43.0020.0017] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+FBFA ; [.1C94.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FC68 ; [.1C94.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FBF9 ; [.1C94.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC03 ; [.1C94.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC69 ; [.1C94.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+FC04 ; [.1C94.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+FBF8 ; [.1C94.0020.0017][.1D48.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+FBF7 ; [.1C94.0020.0019][.1D48.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+FBF6 ; [.1C94.0020.001A][.1D48.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+08A8 ; [.1C95.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9 ; [.1C96.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AC ; [.1C97.0020.0002] # ARABIC LETTER ROHINGYA YEH
+0627 ; [.1C98.0020.0002] # ARABIC LETTER ALEF
+1EE00 ; [.1C98.0020.0005] # ARABIC MATHEMATICAL ALEF
+1EE80 ; [.1C98.0020.0005] # ARABIC MATHEMATICAL LOOPED ALEF
+FE8E ; [.1C98.0020.0019] # ARABIC LETTER ALEF FINAL FORM
+FE8D ; [.1C98.0020.001A] # ARABIC LETTER ALEF ISOLATED FORM
+FD3C ; [.1C98.0020.0019][.0000.006D.0019] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+FD3D ; [.1C98.0020.001A][.0000.006D.001A] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+0675 ; [.1C98.0020.0004][.1C8A.0020.0004] # ARABIC LETTER HIGH HAMZA ALEF
+FDF3 ; [.1C98.0020.001A][.1D09.0020.001A][.1C9A.0020.001A][.1CCE.0020.001A] # ARABIC LIGATURE AKBAR ISOLATED FORM
+FDF2 ; [.1C98.0020.001A][.1D1C.0020.001A][.1D1C.0020.001A][.1D30.0020.001A] # ARABIC LIGATURE ALLAH ISOLATED FORM
+066E ; [.1C99.0020.0002] # ARABIC LETTER DOTLESS BEH
+1EE1C ; [.1C99.0020.0005] # ARABIC MATHEMATICAL DOTLESS BEH
+1EE7C ; [.1C99.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+0628 ; [.1C9A.0020.0002] # ARABIC LETTER BEH
+1EE01 ; [.1C9A.0020.0005] # ARABIC MATHEMATICAL BEH
+1EE21 ; [.1C9A.0020.0005] # ARABIC MATHEMATICAL INITIAL BEH
+1EE61 ; [.1C9A.0020.0005] # ARABIC MATHEMATICAL STRETCHED BEH
+1EE81 ; [.1C9A.0020.0005] # ARABIC MATHEMATICAL LOOPED BEH
+1EEA1 ; [.1C9A.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+FE91 ; [.1C9A.0020.0017] # ARABIC LETTER BEH INITIAL FORM
+FE92 ; [.1C9A.0020.0018] # ARABIC LETTER BEH MEDIAL FORM
+FE90 ; [.1C9A.0020.0019] # ARABIC LETTER BEH FINAL FORM
+FE8F ; [.1C9A.0020.001A] # ARABIC LETTER BEH ISOLATED FORM
+FC9C ; [.1C9A.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+FC05 ; [.1C9A.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+FC9D ; [.1C9A.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+FC06 ; [.1C9A.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+FDC2 ; [.1C9A.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+FC9E ; [.1C9A.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+FC07 ; [.1C9A.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+FD9E ; [.1C9A.0020.0019][.1CB6.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+FC6A ; [.1C9A.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE BEH WITH REH FINAL FORM
+FC6B ; [.1C9A.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+FC9F ; [.1C9A.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+FCE1 ; [.1C9A.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+FC6C ; [.1C9A.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+FC08 ; [.1C9A.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+FC6D ; [.1C9A.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
+FCA0 ; [.1C9A.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+FCE2 ; [.1C9A.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+FC6E ; [.1C9A.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+FC09 ; [.1C9A.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+FC6F ; [.1C9A.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
+FC0A ; [.1C9A.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+067B ; [.1C9B.0020.0002] # ARABIC LETTER BEEH
+FB54 ; [.1C9B.0020.0017] # ARABIC LETTER BEEH INITIAL FORM
+FB55 ; [.1C9B.0020.0018] # ARABIC LETTER BEEH MEDIAL FORM
+FB53 ; [.1C9B.0020.0019] # ARABIC LETTER BEEH FINAL FORM
+FB52 ; [.1C9B.0020.001A] # ARABIC LETTER BEEH ISOLATED FORM
+067E ; [.1C9C.0020.0002] # ARABIC LETTER PEH
+FB58 ; [.1C9C.0020.0017] # ARABIC LETTER PEH INITIAL FORM
+FB59 ; [.1C9C.0020.0018] # ARABIC LETTER PEH MEDIAL FORM
+FB57 ; [.1C9C.0020.0019] # ARABIC LETTER PEH FINAL FORM
+FB56 ; [.1C9C.0020.001A] # ARABIC LETTER PEH ISOLATED FORM
+0680 ; [.1C9D.0020.0002] # ARABIC LETTER BEHEH
+FB5C ; [.1C9D.0020.0017] # ARABIC LETTER BEHEH INITIAL FORM
+FB5D ; [.1C9D.0020.0018] # ARABIC LETTER BEHEH MEDIAL FORM
+FB5B ; [.1C9D.0020.0019] # ARABIC LETTER BEHEH FINAL FORM
+FB5A ; [.1C9D.0020.001A] # ARABIC LETTER BEHEH ISOLATED FORM
+0750 ; [.1C9E.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+0751 ; [.1C9F.0020.0002] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+0752 ; [.1CA0.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+0753 ; [.1CA1.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+0754 ; [.1CA2.0020.0002] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+0755 ; [.1CA3.0020.0002] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+08A0 ; [.1CA4.0020.0002] # ARABIC LETTER BEH WITH SMALL V BELOW
+0756 ; [.1CA5.0020.0002] # ARABIC LETTER BEH WITH SMALL V
+0629 ; [.1CA6.0020.0002] # ARABIC LETTER TEH MARBUTA
+FE94 ; [.1CA6.0020.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93 ; [.1CA6.0020.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+062A ; [.1CA7.0020.0002] # ARABIC LETTER TEH
+1EE15 ; [.1CA7.0020.0005] # ARABIC MATHEMATICAL TEH
+1EE35 ; [.1CA7.0020.0005] # ARABIC MATHEMATICAL INITIAL TEH
+1EE75 ; [.1CA7.0020.0005] # ARABIC MATHEMATICAL STRETCHED TEH
+1EE95 ; [.1CA7.0020.0005] # ARABIC MATHEMATICAL LOOPED TEH
+1EEB5 ; [.1CA7.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+FE97 ; [.1CA7.0020.0017] # ARABIC LETTER TEH INITIAL FORM
+FE98 ; [.1CA7.0020.0018] # ARABIC LETTER TEH MEDIAL FORM
+FE96 ; [.1CA7.0020.0019] # ARABIC LETTER TEH FINAL FORM
+FE95 ; [.1CA7.0020.001A] # ARABIC LETTER TEH ISOLATED FORM
+FCA1 ; [.1CA7.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+FC0B ; [.1CA7.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+FD50 ; [.1CA7.0020.0017][.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+FDA0 ; [.1CA7.0020.0019][.1CAE.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FD9F ; [.1CA7.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+FCA2 ; [.1CA7.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+FC0C ; [.1CA7.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+FD52 ; [.1CA7.0020.0017][.1CB5.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+FD51 ; [.1CA7.0020.0019][.1CB5.0020.0019][.1CAE.0020.0019] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+FD53 ; [.1CA7.0020.0017][.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+FCA3 ; [.1CA7.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+FC0D ; [.1CA7.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+FD54 ; [.1CA7.0020.0017][.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+FDA2 ; [.1CA7.0020.0019][.1CB6.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDA1 ; [.1CA7.0020.0019][.1CB6.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+FC70 ; [.1CA7.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE TEH WITH REH FINAL FORM
+FC71 ; [.1CA7.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+FCA4 ; [.1CA7.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+FCE3 ; [.1CA7.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+FC72 ; [.1CA7.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+FC0E ; [.1CA7.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+FD55 ; [.1CA7.0020.0017][.1D23.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+FD56 ; [.1CA7.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+FD57 ; [.1CA7.0020.0017][.1D23.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+FDA4 ; [.1CA7.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA3 ; [.1CA7.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+FC73 ; [.1CA7.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
+FCA5 ; [.1CA7.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+FCE4 ; [.1CA7.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+FC74 ; [.1CA7.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+FC0F ; [.1CA7.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+FC75 ; [.1CA7.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
+FC10 ; [.1CA7.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+062B ; [.1CA8.0020.0002] # ARABIC LETTER THEH
+1EE16 ; [.1CA8.0020.0005] # ARABIC MATHEMATICAL THEH
+1EE36 ; [.1CA8.0020.0005] # ARABIC MATHEMATICAL INITIAL THEH
+1EE76 ; [.1CA8.0020.0005] # ARABIC MATHEMATICAL STRETCHED THEH
+1EE96 ; [.1CA8.0020.0005] # ARABIC MATHEMATICAL LOOPED THEH
+1EEB6 ; [.1CA8.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+FE9B ; [.1CA8.0020.0017] # ARABIC LETTER THEH INITIAL FORM
+FE9C ; [.1CA8.0020.0018] # ARABIC LETTER THEH MEDIAL FORM
+FE9A ; [.1CA8.0020.0019] # ARABIC LETTER THEH FINAL FORM
+FE99 ; [.1CA8.0020.001A] # ARABIC LETTER THEH ISOLATED FORM
+FC11 ; [.1CA8.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+FC76 ; [.1CA8.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE THEH WITH REH FINAL FORM
+FC77 ; [.1CA8.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+FCA6 ; [.1CA8.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+FCE5 ; [.1CA8.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+FC78 ; [.1CA8.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+FC12 ; [.1CA8.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+FC79 ; [.1CA8.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
+FCE6 ; [.1CA8.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+FC7A ; [.1CA8.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+FC13 ; [.1CA8.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+FC7B ; [.1CA8.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
+FC14 ; [.1CA8.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+0679 ; [.1CA9.0020.0002] # ARABIC LETTER TTEH
+FB68 ; [.1CA9.0020.0017] # ARABIC LETTER TTEH INITIAL FORM
+FB69 ; [.1CA9.0020.0018] # ARABIC LETTER TTEH MEDIAL FORM
+FB67 ; [.1CA9.0020.0019] # ARABIC LETTER TTEH FINAL FORM
+FB66 ; [.1CA9.0020.001A] # ARABIC LETTER TTEH ISOLATED FORM
+067A ; [.1CAA.0020.0002] # ARABIC LETTER TTEHEH
+FB60 ; [.1CAA.0020.0017] # ARABIC LETTER TTEHEH INITIAL FORM
+FB61 ; [.1CAA.0020.0018] # ARABIC LETTER TTEHEH MEDIAL FORM
+FB5F ; [.1CAA.0020.0019] # ARABIC LETTER TTEHEH FINAL FORM
+FB5E ; [.1CAA.0020.001A] # ARABIC LETTER TTEHEH ISOLATED FORM
+067C ; [.1CAB.0020.0002] # ARABIC LETTER TEH WITH RING
+067D ; [.1CAC.0020.0002] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067F ; [.1CAD.0020.0002] # ARABIC LETTER TEHEH
+FB64 ; [.1CAD.0020.0017] # ARABIC LETTER TEHEH INITIAL FORM
+FB65 ; [.1CAD.0020.0018] # ARABIC LETTER TEHEH MEDIAL FORM
+FB63 ; [.1CAD.0020.0019] # ARABIC LETTER TEHEH FINAL FORM
+FB62 ; [.1CAD.0020.001A] # ARABIC LETTER TEHEH ISOLATED FORM
+062C ; [.1CAE.0020.0002] # ARABIC LETTER JEEM
+1EE02 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL JEEM
+1EE22 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL INITIAL JEEM
+1EE42 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL TAILED JEEM
+1EE62 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE82 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL LOOPED JEEM
+1EEA2 ; [.1CAE.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+FE9F ; [.1CAE.0020.0017] # ARABIC LETTER JEEM INITIAL FORM
+FEA0 ; [.1CAE.0020.0018] # ARABIC LETTER JEEM MEDIAL FORM
+FE9E ; [.1CAE.0020.0019] # ARABIC LETTER JEEM FINAL FORM
+FE9D ; [.1CAE.0020.001A] # ARABIC LETTER JEEM ISOLATED FORM
+FCA7 ; [.1CAE.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+FC15 ; [.1CAE.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+FDA6 ; [.1CAE.0020.0019][.1CB5.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDBE ; [.1CAE.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+FDFB ; [.1CAE.0020.001A][.1D1C.0020.001A][*0209.0020.001A][.1CAE.0020.001A][.1D1C.0020.001A][.1C98.0020.001A][.1D1C.0020.001A][.1D30.0020.001A] # ARABIC LIGATURE JALLAJALALOUHOU
+FCA8 ; [.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+FC16 ; [.1CAE.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+FD59 ; [.1CAE.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+FD58 ; [.1CAE.0020.0019][.1D23.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+FDA7 ; [.1CAE.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA5 ; [.1CAE.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+FD1D ; [.1CAE.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+FD01 ; [.1CAE.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+FD1E ; [.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+FD02 ; [.1CAE.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+0683 ; [.1CAF.0020.0002] # ARABIC LETTER NYEH
+FB78 ; [.1CAF.0020.0017] # ARABIC LETTER NYEH INITIAL FORM
+FB79 ; [.1CAF.0020.0018] # ARABIC LETTER NYEH MEDIAL FORM
+FB77 ; [.1CAF.0020.0019] # ARABIC LETTER NYEH FINAL FORM
+FB76 ; [.1CAF.0020.001A] # ARABIC LETTER NYEH ISOLATED FORM
+0684 ; [.1CB0.0020.0002] # ARABIC LETTER DYEH
+FB74 ; [.1CB0.0020.0017] # ARABIC LETTER DYEH INITIAL FORM
+FB75 ; [.1CB0.0020.0018] # ARABIC LETTER DYEH MEDIAL FORM
+FB73 ; [.1CB0.0020.0019] # ARABIC LETTER DYEH FINAL FORM
+FB72 ; [.1CB0.0020.001A] # ARABIC LETTER DYEH ISOLATED FORM
+0686 ; [.1CB1.0020.0002] # ARABIC LETTER TCHEH
+FB7C ; [.1CB1.0020.0017] # ARABIC LETTER TCHEH INITIAL FORM
+FB7D ; [.1CB1.0020.0018] # ARABIC LETTER TCHEH MEDIAL FORM
+FB7B ; [.1CB1.0020.0019] # ARABIC LETTER TCHEH FINAL FORM
+FB7A ; [.1CB1.0020.001A] # ARABIC LETTER TCHEH ISOLATED FORM
+06BF ; [.1CB2.0020.0002] # ARABIC LETTER TCHEH WITH DOT ABOVE
+0687 ; [.1CB3.0020.0002] # ARABIC LETTER TCHEHEH
+FB80 ; [.1CB3.0020.0017] # ARABIC LETTER TCHEHEH INITIAL FORM
+FB81 ; [.1CB3.0020.0018] # ARABIC LETTER TCHEHEH MEDIAL FORM
+FB7F ; [.1CB3.0020.0019] # ARABIC LETTER TCHEHEH FINAL FORM
+FB7E ; [.1CB3.0020.001A] # ARABIC LETTER TCHEHEH ISOLATED FORM
+08A2 ; [.1CB4.0020.0002] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+062D ; [.1CB5.0020.0002] # ARABIC LETTER HAH
+1EE07 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL HAH
+1EE27 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL INITIAL HAH
+1EE47 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL TAILED HAH
+1EE67 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL STRETCHED HAH
+1EE87 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL LOOPED HAH
+1EEA7 ; [.1CB5.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+FEA3 ; [.1CB5.0020.0017] # ARABIC LETTER HAH INITIAL FORM
+FEA4 ; [.1CB5.0020.0018] # ARABIC LETTER HAH MEDIAL FORM
+FEA2 ; [.1CB5.0020.0019] # ARABIC LETTER HAH FINAL FORM
+FEA1 ; [.1CB5.0020.001A] # ARABIC LETTER HAH ISOLATED FORM
+FCA9 ; [.1CB5.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+FC17 ; [.1CB5.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+FDBF ; [.1CB5.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+FCAA ; [.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+FC18 ; [.1CB5.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+FD5B ; [.1CB5.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD5A ; [.1CB5.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+FD1B ; [.1CB5.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+FCFF ; [.1CB5.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+FD1C ; [.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
+FD00 ; [.1CB5.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+062E ; [.1CB6.0020.0002] # ARABIC LETTER KHAH
+1EE17 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL KHAH
+1EE37 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL INITIAL KHAH
+1EE57 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL TAILED KHAH
+1EE77 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE97 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL LOOPED KHAH
+1EEB7 ; [.1CB6.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+FEA7 ; [.1CB6.0020.0017] # ARABIC LETTER KHAH INITIAL FORM
+FEA8 ; [.1CB6.0020.0018] # ARABIC LETTER KHAH MEDIAL FORM
+FEA6 ; [.1CB6.0020.0019] # ARABIC LETTER KHAH FINAL FORM
+FEA5 ; [.1CB6.0020.001A] # ARABIC LETTER KHAH ISOLATED FORM
+FCAB ; [.1CB6.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+FC19 ; [.1CB6.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+FC1A ; [.1CB6.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+FCAC ; [.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+FC1B ; [.1CB6.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+FD1F ; [.1CB6.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+FD03 ; [.1CB6.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+FD20 ; [.1CB6.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+FD04 ; [.1CB6.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+0681 ; [.1CB7.0020.0002] # ARABIC LETTER HAH WITH HAMZA ABOVE
+0682 ; [.1CB8.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0685 ; [.1CB9.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0757 ; [.1CBA.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
+0758 ; [.1CBB.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+076E ; [.1CBC.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+076F ; [.1CBD.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0772 ; [.1CBE.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+077C ; [.1CBF.0020.0002] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+062F ; [.1CC0.0020.0002] # ARABIC LETTER DAL
+1EE03 ; [.1CC0.0020.0005] # ARABIC MATHEMATICAL DAL
+1EE83 ; [.1CC0.0020.0005] # ARABIC MATHEMATICAL LOOPED DAL
+1EEA3 ; [.1CC0.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+FEAA ; [.1CC0.0020.0019] # ARABIC LETTER DAL FINAL FORM
+FEA9 ; [.1CC0.0020.001A] # ARABIC LETTER DAL ISOLATED FORM
+0630 ; [.1CC1.0020.0002] # ARABIC LETTER THAL
+1EE18 ; [.1CC1.0020.0005] # ARABIC MATHEMATICAL THAL
+1EE98 ; [.1CC1.0020.0005] # ARABIC MATHEMATICAL LOOPED THAL
+1EEB8 ; [.1CC1.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+FEAC ; [.1CC1.0020.0019] # ARABIC LETTER THAL FINAL FORM
+FEAB ; [.1CC1.0020.001A] # ARABIC LETTER THAL ISOLATED FORM
+FC5B ; [.1CC1.0020.001A][.0000.0096.001A] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+0688 ; [.1CC2.0020.0002] # ARABIC LETTER DDAL
+FB89 ; [.1CC2.0020.0019] # ARABIC LETTER DDAL FINAL FORM
+FB88 ; [.1CC2.0020.001A] # ARABIC LETTER DDAL ISOLATED FORM
+0689 ; [.1CC3.0020.0002] # ARABIC LETTER DAL WITH RING
+068A ; [.1CC4.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW
+068B ; [.1CC5.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068C ; [.1CC6.0020.0002] # ARABIC LETTER DAHAL
+FB85 ; [.1CC6.0020.0019] # ARABIC LETTER DAHAL FINAL FORM
+FB84 ; [.1CC6.0020.001A] # ARABIC LETTER DAHAL ISOLATED FORM
+068D ; [.1CC7.0020.0002] # ARABIC LETTER DDAHAL
+FB83 ; [.1CC7.0020.0019] # ARABIC LETTER DDAHAL FINAL FORM
+FB82 ; [.1CC7.0020.001A] # ARABIC LETTER DDAHAL ISOLATED FORM
+068E ; [.1CC8.0020.0002] # ARABIC LETTER DUL
+FB87 ; [.1CC8.0020.0019] # ARABIC LETTER DUL FINAL FORM
+FB86 ; [.1CC8.0020.001A] # ARABIC LETTER DUL ISOLATED FORM
+068F ; [.1CC9.0020.0002] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690 ; [.1CCA.0020.0002] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+06EE ; [.1CCB.0020.0002] # ARABIC LETTER DAL WITH INVERTED V
+0759 ; [.1CCC.0020.0002] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+075A ; [.1CCD.0020.0002] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0631 ; [.1CCE.0020.0002] # ARABIC LETTER REH
+1EE13 ; [.1CCE.0020.0005] # ARABIC MATHEMATICAL REH
+1EE93 ; [.1CCE.0020.0005] # ARABIC MATHEMATICAL LOOPED REH
+1EEB3 ; [.1CCE.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+FEAE ; [.1CCE.0020.0019] # ARABIC LETTER REH FINAL FORM
+FEAD ; [.1CCE.0020.001A] # ARABIC LETTER REH ISOLATED FORM
+FC5C ; [.1CCE.0020.001A][.0000.0096.001A] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+FDF6 ; [.1CCE.0020.001A][.1CDF.0020.001A][.1D36.0020.001A][.1D1C.0020.001A] # ARABIC LIGATURE RASOUL ISOLATED FORM
+FDFC ; [.1CCE.0020.001A][.1D45.0020.001A][.1C98.0020.001A][.1D1C.0020.001A] # RIAL SIGN
+0632 ; [.1CCF.0020.0002] # ARABIC LETTER ZAIN
+1EE06 ; [.1CCF.0020.0005] # ARABIC MATHEMATICAL ZAIN
+1EE86 ; [.1CCF.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAIN
+1EEA6 ; [.1CCF.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+FEB0 ; [.1CCF.0020.0019] # ARABIC LETTER ZAIN FINAL FORM
+FEAF ; [.1CCF.0020.001A] # ARABIC LETTER ZAIN ISOLATED FORM
+0691 ; [.1CD0.0020.0002] # ARABIC LETTER RREH
+FB8D ; [.1CD0.0020.0019] # ARABIC LETTER RREH FINAL FORM
+FB8C ; [.1CD0.0020.001A] # ARABIC LETTER RREH ISOLATED FORM
+0692 ; [.1CD1.0020.0002] # ARABIC LETTER REH WITH SMALL V
+0693 ; [.1CD2.0020.0002] # ARABIC LETTER REH WITH RING
+0694 ; [.1CD3.0020.0002] # ARABIC LETTER REH WITH DOT BELOW
+0695 ; [.1CD4.0020.0002] # ARABIC LETTER REH WITH SMALL V BELOW
+0696 ; [.1CD5.0020.0002] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697 ; [.1CD6.0020.0002] # ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698 ; [.1CD7.0020.0002] # ARABIC LETTER JEH
+FB8B ; [.1CD7.0020.0019] # ARABIC LETTER JEH FINAL FORM
+FB8A ; [.1CD7.0020.001A] # ARABIC LETTER JEH ISOLATED FORM
+0699 ; [.1CD8.0020.0002] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
+06EF ; [.1CD9.0020.0002] # ARABIC LETTER REH WITH INVERTED V
+075B ; [.1CDA.0020.0002] # ARABIC LETTER REH WITH STROKE
+076B ; [.1CDB.0020.0002] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+076C ; [.1CDC.0020.0002] # ARABIC LETTER REH WITH HAMZA ABOVE
+0771 ; [.1CDD.0020.0002] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+08AA ; [.1CDE.0020.0002] # ARABIC LETTER REH WITH LOOP
+0633 ; [.1CDF.0020.0002] # ARABIC LETTER SEEN
+1EE0E ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL SEEN
+1EE2E ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL INITIAL SEEN
+1EE4E ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL TAILED SEEN
+1EE6E ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE8E ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL LOOPED SEEN
+1EEAE ; [.1CDF.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+FEB3 ; [.1CDF.0020.0017] # ARABIC LETTER SEEN INITIAL FORM
+FEB4 ; [.1CDF.0020.0018] # ARABIC LETTER SEEN MEDIAL FORM
+FEB2 ; [.1CDF.0020.0019] # ARABIC LETTER SEEN FINAL FORM
+FEB1 ; [.1CDF.0020.001A] # ARABIC LETTER SEEN ISOLATED FORM
+FCAD ; [.1CDF.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+FD34 ; [.1CDF.0020.0018][.1CAE.0020.0018] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+FC1C ; [.1CDF.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+FD5D ; [.1CDF.0020.0017][.1CAE.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+FD5E ; [.1CDF.0020.0019][.1CAE.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FCAE ; [.1CDF.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+FD35 ; [.1CDF.0020.0018][.1CB5.0020.0018] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+FC1D ; [.1CDF.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+FD5C ; [.1CDF.0020.0017][.1CB5.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+FCAF ; [.1CDF.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+FD36 ; [.1CDF.0020.0018][.1CB6.0020.0018] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+FC1E ; [.1CDF.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+FDA8 ; [.1CDF.0020.0019][.1CB6.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDC6 ; [.1CDF.0020.0019][.1CB6.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+FD2A ; [.1CDF.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
+FD0E ; [.1CDF.0020.001A][.1CCE.0020.001A] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+FCB0 ; [.1CDF.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+FCE7 ; [.1CDF.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+FC1F ; [.1CDF.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+FD61 ; [.1CDF.0020.0017][.1D23.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+FD60 ; [.1CDF.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+FD5F ; [.1CDF.0020.0019][.1D23.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+FD63 ; [.1CDF.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+FD62 ; [.1CDF.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+FD31 ; [.1CDF.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+FCE8 ; [.1CDF.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+FD17 ; [.1CDF.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+FCFB ; [.1CDF.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+FD18 ; [.1CDF.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+FCFC ; [.1CDF.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+0634 ; [.1CE0.0020.0002] # ARABIC LETTER SHEEN
+1EE14 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL SHEEN
+1EE34 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE54 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL TAILED SHEEN
+1EE74 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE94 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL LOOPED SHEEN
+1EEB4 ; [.1CE0.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+FEB7 ; [.1CE0.0020.0017] # ARABIC LETTER SHEEN INITIAL FORM
+FEB8 ; [.1CE0.0020.0018] # ARABIC LETTER SHEEN MEDIAL FORM
+FEB6 ; [.1CE0.0020.0019] # ARABIC LETTER SHEEN FINAL FORM
+FEB5 ; [.1CE0.0020.001A] # ARABIC LETTER SHEEN ISOLATED FORM
+FD2D ; [.1CE0.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+FD37 ; [.1CE0.0020.0018][.1CAE.0020.0018] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+FD25 ; [.1CE0.0020.0019][.1CAE.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+FD09 ; [.1CE0.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+FD69 ; [.1CE0.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+FD2E ; [.1CE0.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+FD38 ; [.1CE0.0020.0018][.1CB5.0020.0018] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+FD26 ; [.1CE0.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+FD0A ; [.1CE0.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+FD68 ; [.1CE0.0020.0017][.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+FD67 ; [.1CE0.0020.0019][.1CB5.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+FDAA ; [.1CE0.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+FD2F ; [.1CE0.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+FD39 ; [.1CE0.0020.0018][.1CB6.0020.0018] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+FD27 ; [.1CE0.0020.0019][.1CB6.0020.0019] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+FD0B ; [.1CE0.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+FD29 ; [.1CE0.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+FD0D ; [.1CE0.0020.001A][.1CCE.0020.001A] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+FD30 ; [.1CE0.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+FCE9 ; [.1CE0.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+FD28 ; [.1CE0.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+FD0C ; [.1CE0.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+FD6B ; [.1CE0.0020.0017][.1D23.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+FD6A ; [.1CE0.0020.0019][.1D23.0020.0019][.1CB6.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+FD6D ; [.1CE0.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+FD6C ; [.1CE0.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+FD32 ; [.1CE0.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+FCEA ; [.1CE0.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+FD19 ; [.1CE0.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+FCFD ; [.1CE0.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+FD1A ; [.1CE0.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+FCFE ; [.1CE0.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+069A ; [.1CE1.0020.0002] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069B ; [.1CE2.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069C ; [.1CE3.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+06FA ; [.1CE4.0020.0002] # ARABIC LETTER SHEEN WITH DOT BELOW
+075C ; [.1CE5.0020.0002] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+076D ; [.1CE6.0020.0002] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0770 ; [.1CE7.0020.0002] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+077D ; [.1CE8.0020.0002] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+077E ; [.1CE9.0020.0002] # ARABIC LETTER SEEN WITH INVERTED V
+0635 ; [.1CEA.0020.0002] # ARABIC LETTER SAD
+1EE11 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL SAD
+1EE31 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL INITIAL SAD
+1EE51 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL TAILED SAD
+1EE71 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL STRETCHED SAD
+1EE91 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL LOOPED SAD
+1EEB1 ; [.1CEA.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+FEBB ; [.1CEA.0020.0017] # ARABIC LETTER SAD INITIAL FORM
+FEBC ; [.1CEA.0020.0018] # ARABIC LETTER SAD MEDIAL FORM
+FEBA ; [.1CEA.0020.0019] # ARABIC LETTER SAD FINAL FORM
+FEB9 ; [.1CEA.0020.001A] # ARABIC LETTER SAD ISOLATED FORM
+FCB1 ; [.1CEA.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+FC20 ; [.1CEA.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+FD65 ; [.1CEA.0020.0017][.1CB5.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+FD64 ; [.1CEA.0020.0019][.1CB5.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+FDA9 ; [.1CEA.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+FCB2 ; [.1CEA.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+FD2B ; [.1CEA.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE SAD WITH REH FINAL FORM
+FD0F ; [.1CEA.0020.001A][.1CCE.0020.001A] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+FDF5 ; [.1CEA.0020.001A][.1D1C.0020.001A][.1CF3.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE SALAM ISOLATED FORM
+FDF9 ; [.1CEA.0020.001A][.1D1C.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE SALLA ISOLATED FORM
+FDFA ; [.1CEA.0020.001A][.1D1C.0020.001A][.1D43.0020.001A][*0209.0020.001A][.1C98.0020.001A][.1D1C.0020.001A][.1D1C.0020.001A][.1D30.0020.001A][*0209.0020.001A][.1CF3.0020.001A][.1D1C.0020.001A][.1D44.0020.001A][.1D30.0020.001A][*0209.0020.001A][.1D36.0020.001A][.1CDF.0020.001A][.1D1C.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+FDF0 ; [.1CEA.0020.001A][.1D1C.0020.001A][.1D51.0020.001A] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCB3 ; [.1CEA.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+FC21 ; [.1CEA.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+FDC5 ; [.1CEA.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+FD66 ; [.1CEA.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+FD21 ; [.1CEA.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+FD05 ; [.1CEA.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+FD22 ; [.1CEA.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
+FD06 ; [.1CEA.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+0636 ; [.1CEB.0020.0002] # ARABIC LETTER DAD
+1EE19 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL DAD
+1EE39 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL INITIAL DAD
+1EE59 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL TAILED DAD
+1EE79 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL STRETCHED DAD
+1EE99 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL LOOPED DAD
+1EEB9 ; [.1CEB.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+FEBF ; [.1CEB.0020.0017] # ARABIC LETTER DAD INITIAL FORM
+FEC0 ; [.1CEB.0020.0018] # ARABIC LETTER DAD MEDIAL FORM
+FEBE ; [.1CEB.0020.0019] # ARABIC LETTER DAD FINAL FORM
+FEBD ; [.1CEB.0020.001A] # ARABIC LETTER DAD ISOLATED FORM
+FCB4 ; [.1CEB.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+FC22 ; [.1CEB.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+FCB5 ; [.1CEB.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+FC23 ; [.1CEB.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+FD6E ; [.1CEB.0020.0019][.1CB5.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDAB ; [.1CEB.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+FCB6 ; [.1CEB.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+FC24 ; [.1CEB.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+FD70 ; [.1CEB.0020.0017][.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+FD6F ; [.1CEB.0020.0019][.1CB6.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+FD2C ; [.1CEB.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE DAD WITH REH FINAL FORM
+FD10 ; [.1CEB.0020.001A][.1CCE.0020.001A] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+FCB7 ; [.1CEB.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+FC25 ; [.1CEB.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+FD23 ; [.1CEB.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+FD07 ; [.1CEB.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+FD24 ; [.1CEB.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
+FD08 ; [.1CEB.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+069D ; [.1CEC.0020.0002] # ARABIC LETTER SAD WITH TWO DOTS BELOW
+069E ; [.1CED.0020.0002] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
+06FB ; [.1CEE.0020.0002] # ARABIC LETTER DAD WITH DOT BELOW
+0637 ; [.1CEF.0020.0002] # ARABIC LETTER TAH
+1EE08 ; [.1CEF.0020.0005] # ARABIC MATHEMATICAL TAH
+1EE68 ; [.1CEF.0020.0005] # ARABIC MATHEMATICAL STRETCHED TAH
+1EE88 ; [.1CEF.0020.0005] # ARABIC MATHEMATICAL LOOPED TAH
+1EEA8 ; [.1CEF.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+FEC3 ; [.1CEF.0020.0017] # ARABIC LETTER TAH INITIAL FORM
+FEC4 ; [.1CEF.0020.0018] # ARABIC LETTER TAH MEDIAL FORM
+FEC2 ; [.1CEF.0020.0019] # ARABIC LETTER TAH FINAL FORM
+FEC1 ; [.1CEF.0020.001A] # ARABIC LETTER TAH ISOLATED FORM
+FCB8 ; [.1CEF.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+FC26 ; [.1CEF.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+FD33 ; [.1CEF.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+FD3A ; [.1CEF.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+FC27 ; [.1CEF.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+FD72 ; [.1CEF.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+FD71 ; [.1CEF.0020.0019][.1D23.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+FD73 ; [.1CEF.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+FD74 ; [.1CEF.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+FD11 ; [.1CEF.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+FCF5 ; [.1CEF.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+FD12 ; [.1CEF.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
+FCF6 ; [.1CEF.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+0638 ; [.1CF0.0020.0002] # ARABIC LETTER ZAH
+1EE1A ; [.1CF0.0020.0005] # ARABIC MATHEMATICAL ZAH
+1EE7A ; [.1CF0.0020.0005] # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE9A ; [.1CF0.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAH
+1EEBA ; [.1CF0.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+FEC7 ; [.1CF0.0020.0017] # ARABIC LETTER ZAH INITIAL FORM
+FEC8 ; [.1CF0.0020.0018] # ARABIC LETTER ZAH MEDIAL FORM
+FEC6 ; [.1CF0.0020.0019] # ARABIC LETTER ZAH FINAL FORM
+FEC5 ; [.1CF0.0020.001A] # ARABIC LETTER ZAH ISOLATED FORM
+FCB9 ; [.1CF0.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+FD3B ; [.1CF0.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+FC28 ; [.1CF0.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+069F ; [.1CF1.0020.0002] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
+08A3 ; [.1CF2.0020.0002] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+0639 ; [.1CF3.0020.0002] # ARABIC LETTER AIN
+1EE0F ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL AIN
+1EE2F ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL INITIAL AIN
+1EE4F ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL TAILED AIN
+1EE6F ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL STRETCHED AIN
+1EE8F ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL LOOPED AIN
+1EEAF ; [.1CF3.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+FECB ; [.1CF3.0020.0017] # ARABIC LETTER AIN INITIAL FORM
+FECC ; [.1CF3.0020.0018] # ARABIC LETTER AIN MEDIAL FORM
+FECA ; [.1CF3.0020.0019] # ARABIC LETTER AIN FINAL FORM
+FEC9 ; [.1CF3.0020.001A] # ARABIC LETTER AIN ISOLATED FORM
+FCBA ; [.1CF3.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+FC29 ; [.1CF3.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+FDC4 ; [.1CF3.0020.0017][.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+FD75 ; [.1CF3.0020.0019][.1CAE.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+FDF7 ; [.1CF3.0020.001A][.1D1C.0020.001A][.1D44.0020.001A][.1D30.0020.001A] # ARABIC LIGATURE ALAYHE ISOLATED FORM
+FCBB ; [.1CF3.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+FC2A ; [.1CF3.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+FD77 ; [.1CF3.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+FD76 ; [.1CF3.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+FD78 ; [.1CF3.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDB6 ; [.1CF3.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+FD13 ; [.1CF3.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+FCF7 ; [.1CF3.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+FD14 ; [.1CF3.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
+FCF8 ; [.1CF3.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+063A ; [.1CF4.0020.0002] # ARABIC LETTER GHAIN
+1EE1B ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL GHAIN
+1EE3B ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE5B ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL TAILED GHAIN
+1EE7B ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE9B ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEBB ; [.1CF4.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+FECF ; [.1CF4.0020.0017] # ARABIC LETTER GHAIN INITIAL FORM
+FED0 ; [.1CF4.0020.0018] # ARABIC LETTER GHAIN MEDIAL FORM
+FECE ; [.1CF4.0020.0019] # ARABIC LETTER GHAIN FINAL FORM
+FECD ; [.1CF4.0020.001A] # ARABIC LETTER GHAIN ISOLATED FORM
+FCBC ; [.1CF4.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+FC2B ; [.1CF4.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+FCBD ; [.1CF4.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+FC2C ; [.1CF4.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+FD79 ; [.1CF4.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+FD7B ; [.1CF4.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD7A ; [.1CF4.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+FD15 ; [.1CF4.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+FCF9 ; [.1CF4.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+FD16 ; [.1CF4.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+FCFA ; [.1CF4.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+06A0 ; [.1CF5.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06FC ; [.1CF6.0020.0002] # ARABIC LETTER GHAIN WITH DOT BELOW
+075D ; [.1CF7.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
+075E ; [.1CF8.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+075F ; [.1CF9.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+0641 ; [.1CFA.0020.0002] # ARABIC LETTER FEH
+1EE10 ; [.1CFA.0020.0005] # ARABIC MATHEMATICAL FEH
+1EE30 ; [.1CFA.0020.0005] # ARABIC MATHEMATICAL INITIAL FEH
+1EE70 ; [.1CFA.0020.0005] # ARABIC MATHEMATICAL STRETCHED FEH
+1EE90 ; [.1CFA.0020.0005] # ARABIC MATHEMATICAL LOOPED FEH
+1EEB0 ; [.1CFA.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+FED3 ; [.1CFA.0020.0017] # ARABIC LETTER FEH INITIAL FORM
+FED4 ; [.1CFA.0020.0018] # ARABIC LETTER FEH MEDIAL FORM
+FED2 ; [.1CFA.0020.0019] # ARABIC LETTER FEH FINAL FORM
+FED1 ; [.1CFA.0020.001A] # ARABIC LETTER FEH ISOLATED FORM
+FCBE ; [.1CFA.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+FC2D ; [.1CFA.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+FCBF ; [.1CFA.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+FC2E ; [.1CFA.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+FCC0 ; [.1CFA.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+FC2F ; [.1CFA.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+FD7D ; [.1CFA.0020.0017][.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+FD7C ; [.1CFA.0020.0019][.1CB6.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+FCC1 ; [.1CFA.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+FC30 ; [.1CFA.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+FDC1 ; [.1CFA.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+FC7C ; [.1CFA.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+FC31 ; [.1CFA.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+FC7D ; [.1CFA.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
+FC32 ; [.1CFA.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+06A1 ; [.1CFB.0020.0002] # ARABIC LETTER DOTLESS FEH
+1EE1E ; [.1CFB.0020.0005] # ARABIC MATHEMATICAL DOTLESS FEH
+1EE7E ; [.1CFB.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+06A2 ; [.1CFC.0020.0002] # ARABIC LETTER FEH WITH DOT MOVED BELOW
+06A3 ; [.1CFD.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW
+06A4 ; [.1CFE.0020.0002] # ARABIC LETTER VEH
+FB6C ; [.1CFE.0020.0017] # ARABIC LETTER VEH INITIAL FORM
+FB6D ; [.1CFE.0020.0018] # ARABIC LETTER VEH MEDIAL FORM
+FB6B ; [.1CFE.0020.0019] # ARABIC LETTER VEH FINAL FORM
+FB6A ; [.1CFE.0020.001A] # ARABIC LETTER VEH ISOLATED FORM
+08A4 ; [.1CFF.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+06A5 ; [.1D00.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS BELOW
+06A6 ; [.1D01.0020.0002] # ARABIC LETTER PEHEH
+FB70 ; [.1D01.0020.0017] # ARABIC LETTER PEHEH INITIAL FORM
+FB71 ; [.1D01.0020.0018] # ARABIC LETTER PEHEH MEDIAL FORM
+FB6F ; [.1D01.0020.0019] # ARABIC LETTER PEHEH FINAL FORM
+FB6E ; [.1D01.0020.001A] # ARABIC LETTER PEHEH ISOLATED FORM
+0760 ; [.1D02.0020.0002] # ARABIC LETTER FEH WITH TWO DOTS BELOW
+0761 ; [.1D03.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+066F ; [.1D04.0020.0002] # ARABIC LETTER DOTLESS QAF
+1EE1F ; [.1D04.0020.0005] # ARABIC MATHEMATICAL DOTLESS QAF
+1EE5F ; [.1D04.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+0642 ; [.1D05.0020.0002] # ARABIC LETTER QAF
+1EE12 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL QAF
+1EE32 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL INITIAL QAF
+1EE52 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL TAILED QAF
+1EE72 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL STRETCHED QAF
+1EE92 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL LOOPED QAF
+1EEB2 ; [.1D05.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+FED7 ; [.1D05.0020.0017] # ARABIC LETTER QAF INITIAL FORM
+FED8 ; [.1D05.0020.0018] # ARABIC LETTER QAF MEDIAL FORM
+FED6 ; [.1D05.0020.0019] # ARABIC LETTER QAF FINAL FORM
+FED5 ; [.1D05.0020.001A] # ARABIC LETTER QAF ISOLATED FORM
+FCC2 ; [.1D05.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+FC33 ; [.1D05.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+FDF1 ; [.1D05.0020.001A][.1D1C.0020.001A][.1D51.0020.001A] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCC3 ; [.1D05.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+FC34 ; [.1D05.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+FDB4 ; [.1D05.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+FD7E ; [.1D05.0020.0019][.1D23.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+FD7F ; [.1D05.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+FDB2 ; [.1D05.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+FC7E ; [.1D05.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+FC35 ; [.1D05.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+FC7F ; [.1D05.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
+FC36 ; [.1D05.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+06A7 ; [.1D06.0020.0002] # ARABIC LETTER QAF WITH DOT ABOVE
+06A8 ; [.1D07.0020.0002] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
+08A5 ; [.1D08.0020.0002] # ARABIC LETTER QAF WITH DOT BELOW
+0643 ; [.1D09.0020.0002] # ARABIC LETTER KAF
+1EE0A ; [.1D09.0020.0005] # ARABIC MATHEMATICAL KAF
+1EE2A ; [.1D09.0020.0005] # ARABIC MATHEMATICAL INITIAL KAF
+1EE6A ; [.1D09.0020.0005] # ARABIC MATHEMATICAL STRETCHED KAF
+FEDB ; [.1D09.0020.0017] # ARABIC LETTER KAF INITIAL FORM
+FEDC ; [.1D09.0020.0018] # ARABIC LETTER KAF MEDIAL FORM
+FEDA ; [.1D09.0020.0019] # ARABIC LETTER KAF FINAL FORM
+FED9 ; [.1D09.0020.001A] # ARABIC LETTER KAF ISOLATED FORM
+FC80 ; [.1D09.0020.0019][.1C98.0020.0019] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+FC37 ; [.1D09.0020.001A][.1C98.0020.001A] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+FCC4 ; [.1D09.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+FC38 ; [.1D09.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+FCC5 ; [.1D09.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+FC39 ; [.1D09.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+FCC6 ; [.1D09.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+FC3A ; [.1D09.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+FCC7 ; [.1D09.0020.0017][.1D1C.0020.0017] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+FCEB ; [.1D09.0020.0018][.1D1C.0020.0018] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+FC81 ; [.1D09.0020.0019][.1D1C.0020.0019] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
+FC3B ; [.1D09.0020.001A][.1D1C.0020.001A] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+FCC8 ; [.1D09.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+FCEC ; [.1D09.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+FC82 ; [.1D09.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+FC3C ; [.1D09.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+FDC3 ; [.1D09.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+FDBB ; [.1D09.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+FDB7 ; [.1D09.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+FC83 ; [.1D09.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+FC3D ; [.1D09.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+FC84 ; [.1D09.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
+FC3E ; [.1D09.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+06A9 ; [.1D0A.0020.0002] # ARABIC LETTER KEHEH
+FB90 ; [.1D0A.0020.0017] # ARABIC LETTER KEHEH INITIAL FORM
+FB91 ; [.1D0A.0020.0018] # ARABIC LETTER KEHEH MEDIAL FORM
+FB8F ; [.1D0A.0020.0019] # ARABIC LETTER KEHEH FINAL FORM
+FB8E ; [.1D0A.0020.001A] # ARABIC LETTER KEHEH ISOLATED FORM
+06AA ; [.1D0B.0020.0002] # ARABIC LETTER SWASH KAF
+06AB ; [.1D0C.0020.0002] # ARABIC LETTER KAF WITH RING
+06AC ; [.1D0D.0020.0002] # ARABIC LETTER KAF WITH DOT ABOVE
+077F ; [.1D0E.0020.0002] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
+06AD ; [.1D0F.0020.0002] # ARABIC LETTER NG
+FBD5 ; [.1D0F.0020.0017] # ARABIC LETTER NG INITIAL FORM
+FBD6 ; [.1D0F.0020.0018] # ARABIC LETTER NG MEDIAL FORM
+FBD4 ; [.1D0F.0020.0019] # ARABIC LETTER NG FINAL FORM
+FBD3 ; [.1D0F.0020.001A] # ARABIC LETTER NG ISOLATED FORM
+06AE ; [.1D10.0020.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+06AF ; [.1D11.0020.0002] # ARABIC LETTER GAF
+FB94 ; [.1D11.0020.0017] # ARABIC LETTER GAF INITIAL FORM
+FB95 ; [.1D11.0020.0018] # ARABIC LETTER GAF MEDIAL FORM
+FB93 ; [.1D11.0020.0019] # ARABIC LETTER GAF FINAL FORM
+FB92 ; [.1D11.0020.001A] # ARABIC LETTER GAF ISOLATED FORM
+06B0 ; [.1D12.0020.0002] # ARABIC LETTER GAF WITH RING
+06B1 ; [.1D13.0020.0002] # ARABIC LETTER NGOEH
+FB9C ; [.1D13.0020.0017] # ARABIC LETTER NGOEH INITIAL FORM
+FB9D ; [.1D13.0020.0018] # ARABIC LETTER NGOEH MEDIAL FORM
+FB9B ; [.1D13.0020.0019] # ARABIC LETTER NGOEH FINAL FORM
+FB9A ; [.1D13.0020.001A] # ARABIC LETTER NGOEH ISOLATED FORM
+06B2 ; [.1D14.0020.0002] # ARABIC LETTER GAF WITH TWO DOTS BELOW
+06B3 ; [.1D15.0020.0002] # ARABIC LETTER GUEH
+FB98 ; [.1D15.0020.0017] # ARABIC LETTER GUEH INITIAL FORM
+FB99 ; [.1D15.0020.0018] # ARABIC LETTER GUEH MEDIAL FORM
+FB97 ; [.1D15.0020.0019] # ARABIC LETTER GUEH FINAL FORM
+FB96 ; [.1D15.0020.001A] # ARABIC LETTER GUEH ISOLATED FORM
+06B4 ; [.1D16.0020.0002] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
+0762 ; [.1D17.0020.0002] # ARABIC LETTER KEHEH WITH DOT ABOVE
+063B ; [.1D18.0020.0002] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+063C ; [.1D19.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0763 ; [.1D1A.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0764 ; [.1D1B.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+0644 ; [.1D1C.0020.0002] # ARABIC LETTER LAM
+1EE0B ; [.1D1C.0020.0005] # ARABIC MATHEMATICAL LAM
+1EE2B ; [.1D1C.0020.0005] # ARABIC MATHEMATICAL INITIAL LAM
+1EE4B ; [.1D1C.0020.0005] # ARABIC MATHEMATICAL TAILED LAM
+1EE8B ; [.1D1C.0020.0005] # ARABIC MATHEMATICAL LOOPED LAM
+1EEAB ; [.1D1C.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+FEDF ; [.1D1C.0020.0017] # ARABIC LETTER LAM INITIAL FORM
+FEE0 ; [.1D1C.0020.0018] # ARABIC LETTER LAM MEDIAL FORM
+FEDE ; [.1D1C.0020.0019] # ARABIC LETTER LAM FINAL FORM
+FEDD ; [.1D1C.0020.001A] # ARABIC LETTER LAM ISOLATED FORM
+FEF6 ; [.1D1C.0020.0019][.1C8B.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+FEF5 ; [.1D1C.0020.001A][.1C8B.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+FEF8 ; [.1D1C.0020.0019][.1C8C.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+FEF7 ; [.1D1C.0020.001A][.1C8C.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+FEFA ; [.1D1C.0020.0019][.1C90.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+FEF9 ; [.1D1C.0020.001A][.1C90.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+FEFC ; [.1D1C.0020.0019][.1C98.0020.0019] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FEFB ; [.1D1C.0020.001A][.1C98.0020.001A] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+FCC9 ; [.1D1C.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+FC3F ; [.1D1C.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+FD83 ; [.1D1C.0020.0017][.1CAE.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+FD84 ; [.1D1C.0020.0019][.1CAE.0020.0019][.1CAE.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+FDBA ; [.1D1C.0020.0017][.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+FDBC ; [.1D1C.0020.0019][.1CAE.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+FDAC ; [.1D1C.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+FCCA ; [.1D1C.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+FC40 ; [.1D1C.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+FDB5 ; [.1D1C.0020.0017][.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+FD80 ; [.1D1C.0020.0019][.1CB5.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+FD82 ; [.1D1C.0020.0019][.1CB5.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FD81 ; [.1D1C.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+FCCB ; [.1D1C.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+FC41 ; [.1D1C.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+FD86 ; [.1D1C.0020.0017][.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+FD85 ; [.1D1C.0020.0019][.1CB6.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+FCCC ; [.1D1C.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+FCED ; [.1D1C.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+FC85 ; [.1D1C.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+FC42 ; [.1D1C.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+FD88 ; [.1D1C.0020.0017][.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+FD87 ; [.1D1C.0020.0019][.1D23.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+FDAD ; [.1D1C.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+FCCD ; [.1D1C.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+FC86 ; [.1D1C.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+FC43 ; [.1D1C.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+FC87 ; [.1D1C.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
+FC44 ; [.1D1C.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+06B5 ; [.1D1D.0020.0002] # ARABIC LETTER LAM WITH SMALL V
+06B6 ; [.1D1E.0020.0002] # ARABIC LETTER LAM WITH DOT ABOVE
+06B7 ; [.1D1F.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06B8 ; [.1D20.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS BELOW
+076A ; [.1D21.0020.0002] # ARABIC LETTER LAM WITH BAR
+08A6 ; [.1D22.0020.0002] # ARABIC LETTER LAM WITH DOUBLE BAR
+0645 ; [.1D23.0020.0002] # ARABIC LETTER MEEM
+1EE0C ; [.1D23.0020.0005] # ARABIC MATHEMATICAL MEEM
+1EE2C ; [.1D23.0020.0005] # ARABIC MATHEMATICAL INITIAL MEEM
+1EE6C ; [.1D23.0020.0005] # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE8C ; [.1D23.0020.0005] # ARABIC MATHEMATICAL LOOPED MEEM
+1EEAC ; [.1D23.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+FEE3 ; [.1D23.0020.0017] # ARABIC LETTER MEEM INITIAL FORM
+FEE4 ; [.1D23.0020.0018] # ARABIC LETTER MEEM MEDIAL FORM
+FEE2 ; [.1D23.0020.0019] # ARABIC LETTER MEEM FINAL FORM
+FEE1 ; [.1D23.0020.001A] # ARABIC LETTER MEEM ISOLATED FORM
+06FE ; [.1D23.0020.0004][.0000.00FD.0004] # ARABIC SIGN SINDHI POSTPOSITION MEN
+FC88 ; [.1D23.0020.0019][.1C98.0020.0019] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+FCCE ; [.1D23.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+FC45 ; [.1D23.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+FD8C ; [.1D23.0020.0017][.1CAE.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+FD92 ; [.1D23.0020.0017][.1CAE.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+FD8D ; [.1D23.0020.0017][.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+FDC0 ; [.1D23.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+FCCF ; [.1D23.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+FC46 ; [.1D23.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+FD89 ; [.1D23.0020.0017][.1CB5.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+FD8A ; [.1D23.0020.0017][.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+FDF4 ; [.1D23.0020.001A][.1CB5.0020.001A][.1D23.0020.001A][.1CC0.0020.001A] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+FD8B ; [.1D23.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+FCD0 ; [.1D23.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+FC47 ; [.1D23.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+FD8E ; [.1D23.0020.0017][.1CB6.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+FD8F ; [.1D23.0020.0017][.1CB6.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FDB9 ; [.1D23.0020.0019][.1CB6.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+FCD1 ; [.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+FC89 ; [.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+FC48 ; [.1D23.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+FDB1 ; [.1D23.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+FC49 ; [.1D23.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+FC4A ; [.1D23.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+0765 ; [.1D24.0020.0002] # ARABIC LETTER MEEM WITH DOT ABOVE
+0766 ; [.1D25.0020.0002] # ARABIC LETTER MEEM WITH DOT BELOW
+08A7 ; [.1D26.0020.0002] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+0646 ; [.1D27.0020.0002] # ARABIC LETTER NOON
+1EE0D ; [.1D27.0020.0005] # ARABIC MATHEMATICAL NOON
+1EE2D ; [.1D27.0020.0005] # ARABIC MATHEMATICAL INITIAL NOON
+1EE4D ; [.1D27.0020.0005] # ARABIC MATHEMATICAL TAILED NOON
+1EE6D ; [.1D27.0020.0005] # ARABIC MATHEMATICAL STRETCHED NOON
+1EE8D ; [.1D27.0020.0005] # ARABIC MATHEMATICAL LOOPED NOON
+1EEAD ; [.1D27.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+FEE7 ; [.1D27.0020.0017] # ARABIC LETTER NOON INITIAL FORM
+FEE8 ; [.1D27.0020.0018] # ARABIC LETTER NOON MEDIAL FORM
+FEE6 ; [.1D27.0020.0019] # ARABIC LETTER NOON FINAL FORM
+FEE5 ; [.1D27.0020.001A] # ARABIC LETTER NOON ISOLATED FORM
+FCD2 ; [.1D27.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+FC4B ; [.1D27.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+FDB8 ; [.1D27.0020.0017][.1CAE.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+FDBD ; [.1D27.0020.0019][.1CAE.0020.0019][.1CB5.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+FD98 ; [.1D27.0020.0017][.1CAE.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+FD97 ; [.1D27.0020.0019][.1CAE.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+FD99 ; [.1D27.0020.0019][.1CAE.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FDC7 ; [.1D27.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FCD3 ; [.1D27.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+FC4C ; [.1D27.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+FD95 ; [.1D27.0020.0017][.1CB5.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+FD96 ; [.1D27.0020.0019][.1CB5.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDB3 ; [.1D27.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+FCD4 ; [.1D27.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+FC4D ; [.1D27.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+FC8A ; [.1D27.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE NOON WITH REH FINAL FORM
+FC8B ; [.1D27.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+FCD5 ; [.1D27.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+FCEE ; [.1D27.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+FC8C ; [.1D27.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+FC4E ; [.1D27.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+FD9B ; [.1D27.0020.0019][.1D23.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD9A ; [.1D27.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+FC8D ; [.1D27.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
+FCD6 ; [.1D27.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+FCEF ; [.1D27.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+FC8E ; [.1D27.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+FC4F ; [.1D27.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+FC8F ; [.1D27.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
+FC50 ; [.1D27.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+06BA ; [.1D28.0020.0002] # ARABIC LETTER NOON GHUNNA
+1EE1D ; [.1D28.0020.0005] # ARABIC MATHEMATICAL DOTLESS NOON
+1EE5D ; [.1D28.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+FB9F ; [.1D28.0020.0019] # ARABIC LETTER NOON GHUNNA FINAL FORM
+FB9E ; [.1D28.0020.001A] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
+06BB ; [.1D29.0020.0002] # ARABIC LETTER RNOON
+FBA2 ; [.1D29.0020.0017] # ARABIC LETTER RNOON INITIAL FORM
+FBA3 ; [.1D29.0020.0018] # ARABIC LETTER RNOON MEDIAL FORM
+FBA1 ; [.1D29.0020.0019] # ARABIC LETTER RNOON FINAL FORM
+FBA0 ; [.1D29.0020.001A] # ARABIC LETTER RNOON ISOLATED FORM
+06BC ; [.1D2A.0020.0002] # ARABIC LETTER NOON WITH RING
+06BD ; [.1D2B.0020.0002] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06B9 ; [.1D2C.0020.0002] # ARABIC LETTER NOON WITH DOT BELOW
+0767 ; [.1D2D.0020.0002] # ARABIC LETTER NOON WITH TWO DOTS BELOW
+0768 ; [.1D2E.0020.0002] # ARABIC LETTER NOON WITH SMALL TAH
+0769 ; [.1D2F.0020.0002] # ARABIC LETTER NOON WITH SMALL V
+0647 ; [.1D30.0020.0002] # ARABIC LETTER HEH
+1EE24 ; [.1D30.0020.0005] # ARABIC MATHEMATICAL INITIAL HEH
+1EE64 ; [.1D30.0020.0005] # ARABIC MATHEMATICAL STRETCHED HEH
+1EE84 ; [.1D30.0020.0005] # ARABIC MATHEMATICAL LOOPED HEH
+FEEB ; [.1D30.0020.0017] # ARABIC LETTER HEH INITIAL FORM
+FEEC ; [.1D30.0020.0018] # ARABIC LETTER HEH MEDIAL FORM
+FEEA ; [.1D30.0020.0019] # ARABIC LETTER HEH FINAL FORM
+FEE9 ; [.1D30.0020.001A] # ARABIC LETTER HEH ISOLATED FORM
+FCD9 ; [.1D30.0020.0017][.0000.0096.0017] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+FCD7 ; [.1D30.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+FC51 ; [.1D30.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+FCD8 ; [.1D30.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+FC52 ; [.1D30.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+FD93 ; [.1D30.0020.0017][.1D23.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+FD94 ; [.1D30.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+FC53 ; [.1D30.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+FC54 ; [.1D30.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+06BE ; [.1D31.0020.0002] # ARABIC LETTER HEH DOACHASHMEE
+FBAC ; [.1D31.0020.0017] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+FBAD ; [.1D31.0020.0018] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+FBAB ; [.1D31.0020.0019] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+FBAA ; [.1D31.0020.001A] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+06C1 ; [.1D32.0020.0002] # ARABIC LETTER HEH GOAL
+FBA8 ; [.1D32.0020.0017] # ARABIC LETTER HEH GOAL INITIAL FORM
+FBA9 ; [.1D32.0020.0018] # ARABIC LETTER HEH GOAL MEDIAL FORM
+FBA7 ; [.1D32.0020.0019] # ARABIC LETTER HEH GOAL FINAL FORM
+FBA6 ; [.1D32.0020.001A] # ARABIC LETTER HEH GOAL ISOLATED FORM
+06C2 ; [.1D32.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C3 ; [.1D33.0020.0002] # ARABIC LETTER TEH MARBUTA GOAL
+06FF ; [.1D34.0020.0002] # ARABIC LETTER HEH WITH INVERTED V
+06D5 ; [.1D35.0020.0002] # ARABIC LETTER AE
+06C0 ; [.1D35.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH WITH YEH ABOVE
+FBA5 ; [.1D35.0020.0019][.0000.0083.0019] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+FBA4 ; [.1D35.0020.001A][.0000.0083.001A] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+0648 ; [.1D36.0020.0002] # ARABIC LETTER WAW
+06E5 ; [.1D36.0020.0004] # ARABIC SMALL WAW
+1EE05 ; [.1D36.0020.0005] # ARABIC MATHEMATICAL WAW
+1EE85 ; [.1D36.0020.0005] # ARABIC MATHEMATICAL LOOPED WAW
+1EEA5 ; [.1D36.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+FEEE ; [.1D36.0020.0019] # ARABIC LETTER WAW FINAL FORM
+FEED ; [.1D36.0020.001A] # ARABIC LETTER WAW ISOLATED FORM
+0676 ; [.1D36.0020.0004][.1C8A.0020.0004] # ARABIC LETTER HIGH HAMZA WAW
+FDF8 ; [.1D36.0020.001A][.1CDF.0020.001A][.1D1C.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE WASALLAM ISOLATED FORM
+06C4 ; [.1D37.0020.0002] # ARABIC LETTER WAW WITH RING
+06C5 ; [.1D38.0020.0002] # ARABIC LETTER KIRGHIZ OE
+FBE1 ; [.1D38.0020.0019] # ARABIC LETTER KIRGHIZ OE FINAL FORM
+FBE0 ; [.1D38.0020.001A] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+06C6 ; [.1D39.0020.0002] # ARABIC LETTER OE
+FBDA ; [.1D39.0020.0019] # ARABIC LETTER OE FINAL FORM
+FBD9 ; [.1D39.0020.001A] # ARABIC LETTER OE ISOLATED FORM
+06C7 ; [.1D3A.0020.0002] # ARABIC LETTER U
+FBD8 ; [.1D3A.0020.0019] # ARABIC LETTER U FINAL FORM
+FBD7 ; [.1D3A.0020.001A] # ARABIC LETTER U ISOLATED FORM
+0677 ; [.1D3A.0020.0004][.1C8A.0020.0004] # ARABIC LETTER U WITH HAMZA ABOVE
+FBDD ; [.1D3A.0020.001A][.1C8A.0020.001A] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+06C8 ; [.1D3B.0020.0002] # ARABIC LETTER YU
+FBDC ; [.1D3B.0020.0019] # ARABIC LETTER YU FINAL FORM
+FBDB ; [.1D3B.0020.001A] # ARABIC LETTER YU ISOLATED FORM
+06C9 ; [.1D3C.0020.0002] # ARABIC LETTER KIRGHIZ YU
+FBE3 ; [.1D3C.0020.0019] # ARABIC LETTER KIRGHIZ YU FINAL FORM
+FBE2 ; [.1D3C.0020.001A] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+06CA ; [.1D3D.0020.0002] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06CB ; [.1D3E.0020.0002] # ARABIC LETTER VE
+FBDF ; [.1D3E.0020.0019] # ARABIC LETTER VE FINAL FORM
+FBDE ; [.1D3E.0020.001A] # ARABIC LETTER VE ISOLATED FORM
+06CF ; [.1D3F.0020.0002] # ARABIC LETTER WAW WITH DOT ABOVE
+0778 ; [.1D40.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0779 ; [.1D41.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+08AB ; [.1D42.0020.0002] # ARABIC LETTER WAW WITH DOT WITHIN
+0649 ; [.1D43.0020.0002] # ARABIC LETTER ALEF MAKSURA
+FBE8 ; [.1D43.0020.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9 ; [.1D43.0020.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0 ; [.1D43.0020.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF ; [.1D43.0020.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90 ; [.1D43.0020.0019][.0000.0096.0019] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D ; [.1D43.0020.001A][.0000.0096.001A] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+064A ; [.1D44.0020.0002] # ARABIC LETTER YEH
+06E6 ; [.1D44.0020.0004] # ARABIC SMALL YEH
+1EE09 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL YEH
+1EE29 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL INITIAL YEH
+1EE49 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL TAILED YEH
+1EE69 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL STRETCHED YEH
+1EE89 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL LOOPED YEH
+1EEA9 ; [.1D44.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+FEF3 ; [.1D44.0020.0017] # ARABIC LETTER YEH INITIAL FORM
+FEF4 ; [.1D44.0020.0018] # ARABIC LETTER YEH MEDIAL FORM
+FEF2 ; [.1D44.0020.0019] # ARABIC LETTER YEH FINAL FORM
+FEF1 ; [.1D44.0020.001A] # ARABIC LETTER YEH ISOLATED FORM
+0678 ; [.1D44.0020.0004][.1C8A.0020.0004] # ARABIC LETTER HIGH HAMZA YEH
+FCDA ; [.1D44.0020.0017][.1CAE.0020.0017] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+FC55 ; [.1D44.0020.001A][.1CAE.0020.001A] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+FDAF ; [.1D44.0020.0019][.1CAE.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+FCDB ; [.1D44.0020.0017][.1CB5.0020.0017] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+FC56 ; [.1D44.0020.001A][.1CB5.0020.001A] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+FDAE ; [.1D44.0020.0019][.1CB5.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+FCDC ; [.1D44.0020.0017][.1CB6.0020.0017] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+FC57 ; [.1D44.0020.001A][.1CB6.0020.001A] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+FC91 ; [.1D44.0020.0019][.1CCE.0020.0019] # ARABIC LIGATURE YEH WITH REH FINAL FORM
+FC92 ; [.1D44.0020.0019][.1CCF.0020.0019] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+FCDD ; [.1D44.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+FCF0 ; [.1D44.0020.0018][.1D23.0020.0018] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+FC93 ; [.1D44.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+FC58 ; [.1D44.0020.001A][.1D23.0020.001A] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+FD9D ; [.1D44.0020.0017][.1D23.0020.0017][.1D23.0020.0017] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+FD9C ; [.1D44.0020.0019][.1D23.0020.0019][.1D23.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+FDB0 ; [.1D44.0020.0019][.1D23.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+FC94 ; [.1D44.0020.0019][.1D27.0020.0019] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
+FCDE ; [.1D44.0020.0017][.1D30.0020.0017] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+FCF1 ; [.1D44.0020.0018][.1D30.0020.0018] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+FC95 ; [.1D44.0020.0019][.1D43.0020.0019] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+FC59 ; [.1D44.0020.001A][.1D43.0020.001A] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+FC96 ; [.1D44.0020.0019][.1D44.0020.0019] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
+FC5A ; [.1D44.0020.001A][.1D44.0020.001A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+06CC ; [.1D45.0020.0002] # ARABIC LETTER FARSI YEH
+FBFE ; [.1D45.0020.0017] # ARABIC LETTER FARSI YEH INITIAL FORM
+FBFF ; [.1D45.0020.0018] # ARABIC LETTER FARSI YEH MEDIAL FORM
+FBFD ; [.1D45.0020.0019] # ARABIC LETTER FARSI YEH FINAL FORM
+FBFC ; [.1D45.0020.001A] # ARABIC LETTER FARSI YEH ISOLATED FORM
+06CD ; [.1D46.0020.0002] # ARABIC LETTER YEH WITH TAIL
+06CE ; [.1D47.0020.0002] # ARABIC LETTER YEH WITH SMALL V
+06D0 ; [.1D48.0020.0002] # ARABIC LETTER E
+FBE6 ; [.1D48.0020.0017] # ARABIC LETTER E INITIAL FORM
+FBE7 ; [.1D48.0020.0018] # ARABIC LETTER E MEDIAL FORM
+FBE5 ; [.1D48.0020.0019] # ARABIC LETTER E FINAL FORM
+FBE4 ; [.1D48.0020.001A] # ARABIC LETTER E ISOLATED FORM
+06D1 ; [.1D49.0020.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+063D ; [.1D4A.0020.0002] # ARABIC LETTER FARSI YEH WITH INVERTED V
+063E ; [.1D4B.0020.0002] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+063F ; [.1D4C.0020.0002] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0620 ; [.1D4D.0020.0002] # ARABIC LETTER KASHMIRI YEH
+0775 ; [.1D4E.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0776 ; [.1D4F.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0777 ; [.1D50.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+06D2 ; [.1D51.0020.0002] # ARABIC LETTER YEH BARREE
+FBAF ; [.1D51.0020.0019] # ARABIC LETTER YEH BARREE FINAL FORM
+FBAE ; [.1D51.0020.001A] # ARABIC LETTER YEH BARREE ISOLATED FORM
+06D3 ; [.1D51.0020.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+FBB1 ; [.1D51.0020.0019][.0000.0083.0019] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBB0 ; [.1D51.0020.001A][.0000.0083.001A] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+077A ; [.1D52.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+077B ; [.1D53.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0710 ; [.1D54.0020.0002] # SYRIAC LETTER ALAPH
+0712 ; [.1D55.0020.0002] # SYRIAC LETTER BETH
+072D ; [.1D55.0020.0004][.0000.00FE.0004] # SYRIAC LETTER PERSIAN BHETH
+0713 ; [.1D56.0020.0002] # SYRIAC LETTER GAMAL
+0714 ; [.1D56.0020.0004][.0000.00FD.0004] # SYRIAC LETTER GAMAL GARSHUNI
+072E ; [.1D56.0020.0004][.0000.00FE.0004] # SYRIAC LETTER PERSIAN GHAMAL
+0716 ; [.1D57.0020.0002] # SYRIAC LETTER DOTLESS DALATH RISH
+0715 ; [.1D58.0020.0002] # SYRIAC LETTER DALATH
+072F ; [.1D58.0020.0004][.0000.00FE.0004] # SYRIAC LETTER PERSIAN DHALATH
+0717 ; [.1D59.0020.0002] # SYRIAC LETTER HE
+0718 ; [.1D5A.0020.0002] # SYRIAC LETTER WAW
+0719 ; [.1D5B.0020.0002] # SYRIAC LETTER ZAIN
+074D ; [.1D5C.0020.0002] # SYRIAC LETTER SOGDIAN ZHAIN
+071A ; [.1D5D.0020.0002] # SYRIAC LETTER HETH
+071B ; [.1D5E.0020.0002] # SYRIAC LETTER TETH
+071C ; [.1D5E.0020.0004][.0000.00FD.0004] # SYRIAC LETTER TETH GARSHUNI
+071D ; [.1D5F.0020.0002] # SYRIAC LETTER YUDH
+071E ; [.1D60.0020.0002] # SYRIAC LETTER YUDH HE
+071F ; [.1D61.0020.0002] # SYRIAC LETTER KAPH
+074E ; [.1D62.0020.0002] # SYRIAC LETTER SOGDIAN KHAPH
+0720 ; [.1D63.0020.0002] # SYRIAC LETTER LAMADH
+0721 ; [.1D64.0020.0002] # SYRIAC LETTER MIM
+0722 ; [.1D65.0020.0002] # SYRIAC LETTER NUN
+0723 ; [.1D66.0020.0002] # SYRIAC LETTER SEMKATH
+0724 ; [.1D66.0020.0019] # SYRIAC LETTER FINAL SEMKATH
+0725 ; [.1D67.0020.0002] # SYRIAC LETTER E
+0726 ; [.1D68.0020.0002] # SYRIAC LETTER PE
+0727 ; [.1D68.0020.0004][.0000.00FD.0004] # SYRIAC LETTER REVERSED PE
+074F ; [.1D69.0020.0002] # SYRIAC LETTER SOGDIAN FE
+0728 ; [.1D6A.0020.0002] # SYRIAC LETTER SADHE
+0729 ; [.1D6B.0020.0002] # SYRIAC LETTER QAPH
+072A ; [.1D6C.0020.0002] # SYRIAC LETTER RISH
+072B ; [.1D6D.0020.0002] # SYRIAC LETTER SHIN
+072C ; [.1D6E.0020.0002] # SYRIAC LETTER TAW
+0840 ; [.1D6F.0020.0002] # MANDAIC LETTER HALQA
+0841 ; [.1D70.0020.0002] # MANDAIC LETTER AB
+0842 ; [.1D71.0020.0002] # MANDAIC LETTER AG
+0843 ; [.1D72.0020.0002] # MANDAIC LETTER AD
+0844 ; [.1D73.0020.0002] # MANDAIC LETTER AH
+0845 ; [.1D74.0020.0002] # MANDAIC LETTER USHENNA
+0846 ; [.1D75.0020.0002] # MANDAIC LETTER AZ
+0847 ; [.1D76.0020.0002] # MANDAIC LETTER IT
+0848 ; [.1D77.0020.0002] # MANDAIC LETTER ATT
+0849 ; [.1D78.0020.0002] # MANDAIC LETTER AKSA
+084A ; [.1D79.0020.0002] # MANDAIC LETTER AK
+084B ; [.1D7A.0020.0002] # MANDAIC LETTER AL
+084C ; [.1D7B.0020.0002] # MANDAIC LETTER AM
+084D ; [.1D7C.0020.0002] # MANDAIC LETTER AN
+084E ; [.1D7D.0020.0002] # MANDAIC LETTER AS
+084F ; [.1D7E.0020.0002] # MANDAIC LETTER IN
+0850 ; [.1D7F.0020.0002] # MANDAIC LETTER AP
+0851 ; [.1D80.0020.0002] # MANDAIC LETTER ASZ
+0852 ; [.1D81.0020.0002] # MANDAIC LETTER AQ
+0853 ; [.1D82.0020.0002] # MANDAIC LETTER AR
+0854 ; [.1D83.0020.0002] # MANDAIC LETTER ASH
+0855 ; [.1D84.0020.0002] # MANDAIC LETTER AT
+0856 ; [.1D85.0020.0002] # MANDAIC LETTER DUSHENNA
+0857 ; [.1D86.0020.0002] # MANDAIC LETTER KAD
+0858 ; [.1D87.0020.0002] # MANDAIC LETTER AIN
+0780 ; [.1D88.0020.0002] # THAANA LETTER HAA
+0799 ; [.1D89.0020.0002] # THAANA LETTER HHAA
+079A ; [.1D8A.0020.0002] # THAANA LETTER KHAA
+0781 ; [.1D8B.0020.0002] # THAANA LETTER SHAVIYANI
+0782 ; [.1D8C.0020.0002] # THAANA LETTER NOONU
+0783 ; [.1D8D.0020.0002] # THAANA LETTER RAA
+079C ; [.1D8E.0020.0002] # THAANA LETTER ZAA
+0784 ; [.1D8F.0020.0002] # THAANA LETTER BAA
+0785 ; [.1D90.0020.0002] # THAANA LETTER LHAVIYANI
+0786 ; [.1D91.0020.0002] # THAANA LETTER KAAFU
+0787 ; [.1D92.0020.0002] # THAANA LETTER ALIFU
+07A2 ; [.1D93.0020.0002] # THAANA LETTER AINU
+07A3 ; [.1D94.0020.0002] # THAANA LETTER GHAINU
+0788 ; [.1D95.0020.0002] # THAANA LETTER VAAVU
+07A5 ; [.1D96.0020.0002] # THAANA LETTER WAAVU
+0789 ; [.1D97.0020.0002] # THAANA LETTER MEEMU
+078A ; [.1D98.0020.0002] # THAANA LETTER FAAFU
+078B ; [.1D99.0020.0002] # THAANA LETTER DHAALU
+079B ; [.1D9A.0020.0002] # THAANA LETTER THAALU
+078C ; [.1D9B.0020.0002] # THAANA LETTER THAA
+0798 ; [.1D9C.0020.0002] # THAANA LETTER TTAA
+07A0 ; [.1D9D.0020.0002] # THAANA LETTER TO
+07A1 ; [.1D9E.0020.0002] # THAANA LETTER ZO
+078D ; [.1D9F.0020.0002] # THAANA LETTER LAAMU
+078E ; [.1DA0.0020.0002] # THAANA LETTER GAAFU
+07A4 ; [.1DA1.0020.0002] # THAANA LETTER QAAFU
+078F ; [.1DA2.0020.0002] # THAANA LETTER GNAVIYANI
+0790 ; [.1DA3.0020.0002] # THAANA LETTER SEENU
+079D ; [.1DA4.0020.0002] # THAANA LETTER SHEENU
+079E ; [.1DA5.0020.0002] # THAANA LETTER SAADHU
+079F ; [.1DA6.0020.0002] # THAANA LETTER DAADHU
+0791 ; [.1DA7.0020.0002] # THAANA LETTER DAVIYANI
+0792 ; [.1DA8.0020.0002] # THAANA LETTER ZAVIYANI
+0793 ; [.1DA9.0020.0002] # THAANA LETTER TAVIYANI
+0794 ; [.1DAA.0020.0002] # THAANA LETTER YAA
+0795 ; [.1DAB.0020.0002] # THAANA LETTER PAVIYANI
+0796 ; [.1DAC.0020.0002] # THAANA LETTER JAVIYANI
+0797 ; [.1DAD.0020.0002] # THAANA LETTER CHAVIYANI
+07B1 ; [.1DAE.0020.0002] # THAANA LETTER NAA
+07A6 ; [.1DAF.0020.0002] # THAANA ABAFILI
+07A7 ; [.1DB0.0020.0002] # THAANA AABAAFILI
+07A8 ; [.1DB1.0020.0002] # THAANA IBIFILI
+07A9 ; [.1DB2.0020.0002] # THAANA EEBEEFILI
+07AA ; [.1DB3.0020.0002] # THAANA UBUFILI
+07AB ; [.1DB4.0020.0002] # THAANA OOBOOFILI
+07AC ; [.1DB5.0020.0002] # THAANA EBEFILI
+07AD ; [.1DB6.0020.0002] # THAANA EYBEYFILI
+07AE ; [.1DB7.0020.0002] # THAANA OBOFILI
+07AF ; [.1DB8.0020.0002] # THAANA OABOAFILI
+07B0 ; [.1DB9.0020.0002] # THAANA SUKUN
+07CA ; [.1DBA.0020.0002] # NKO LETTER A
+07CB ; [.1DBB.0020.0002] # NKO LETTER EE
+07CC ; [.1DBC.0020.0002] # NKO LETTER I
+07CD ; [.1DBD.0020.0002] # NKO LETTER E
+07CE ; [.1DBE.0020.0002] # NKO LETTER U
+07CF ; [.1DBF.0020.0002] # NKO LETTER OO
+07D0 ; [.1DC0.0020.0002] # NKO LETTER O
+07D1 ; [.1DC1.0020.0002] # NKO LETTER DAGBASINNA
+07D2 ; [.1DC2.0020.0002] # NKO LETTER N
+07D3 ; [.1DC3.0020.0002] # NKO LETTER BA
+07D4 ; [.1DC4.0020.0002] # NKO LETTER PA
+07D5 ; [.1DC5.0020.0002] # NKO LETTER TA
+07D6 ; [.1DC6.0020.0002] # NKO LETTER JA
+07E8 ; [.1DC6.0020.0004][.0000.00FC.0004] # NKO LETTER JONA JA
+07D7 ; [.1DC7.0020.0002] # NKO LETTER CHA
+07E9 ; [.1DC7.0020.0004][.0000.00FC.0004] # NKO LETTER JONA CHA
+07D8 ; [.1DC8.0020.0002] # NKO LETTER DA
+07D9 ; [.1DC9.0020.0002] # NKO LETTER RA
+07EA ; [.1DC9.0020.0004][.0000.00FC.0004] # NKO LETTER JONA RA
+07DA ; [.1DCA.0020.0002] # NKO LETTER RRA
+07DB ; [.1DCB.0020.0002] # NKO LETTER SA
+07DC ; [.1DCC.0020.0002] # NKO LETTER GBA
+07DD ; [.1DCD.0020.0002] # NKO LETTER FA
+07DE ; [.1DCE.0020.0002] # NKO LETTER KA
+07DF ; [.1DCF.0020.0002] # NKO LETTER LA
+07E0 ; [.1DD0.0020.0002] # NKO LETTER NA WOLOSO
+07E1 ; [.1DD1.0020.0002] # NKO LETTER MA
+07E2 ; [.1DD2.0020.0002] # NKO LETTER NYA
+07E3 ; [.1DD3.0020.0002] # NKO LETTER NA
+07E4 ; [.1DD4.0020.0002] # NKO LETTER HA
+07E5 ; [.1DD5.0020.0002] # NKO LETTER WA
+07E6 ; [.1DD6.0020.0002] # NKO LETTER YA
+07E7 ; [.1DD7.0020.0002] # NKO LETTER NYA WOLOSO
+07F4 ; [.1DD8.0020.0002] # NKO HIGH TONE APOSTROPHE
+07F5 ; [.1DD9.0020.0002] # NKO LOW TONE APOSTROPHE
+2D30 ; [.1DDA.0020.0002] # TIFINAGH LETTER YA
+2D31 ; [.1DDB.0020.0002] # TIFINAGH LETTER YAB
+2D32 ; [.1DDC.0020.0002] # TIFINAGH LETTER YABH
+2D33 ; [.1DDD.0020.0002] # TIFINAGH LETTER YAG
+2D34 ; [.1DDE.0020.0002] # TIFINAGH LETTER YAGHH
+2D35 ; [.1DDF.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAJ
+2D36 ; [.1DE0.0020.0002] # TIFINAGH LETTER YAJ
+2D37 ; [.1DE1.0020.0002] # TIFINAGH LETTER YAD
+2D38 ; [.1DE2.0020.0002] # TIFINAGH LETTER YADH
+2D39 ; [.1DE3.0020.0002] # TIFINAGH LETTER YADD
+2D3A ; [.1DE4.0020.0002] # TIFINAGH LETTER YADDH
+2D3B ; [.1DE5.0020.0002] # TIFINAGH LETTER YEY
+2D66 ; [.1DE6.0020.0002] # TIFINAGH LETTER YE
+2D3C ; [.1DE7.0020.0002] # TIFINAGH LETTER YAF
+2D3D ; [.1DE8.0020.0002] # TIFINAGH LETTER YAK
+2D3E ; [.1DE9.0020.0002] # TIFINAGH LETTER TUAREG YAK
+2D3F ; [.1DEA.0020.0002] # TIFINAGH LETTER YAKHH
+2D40 ; [.1DEB.0020.0002] # TIFINAGH LETTER YAH
+2D41 ; [.1DEC.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAH
+2D42 ; [.1DED.0020.0002] # TIFINAGH LETTER TUAREG YAH
+2D43 ; [.1DEE.0020.0002] # TIFINAGH LETTER YAHH
+2D44 ; [.1DEF.0020.0002] # TIFINAGH LETTER YAA
+2D45 ; [.1DF0.0020.0002] # TIFINAGH LETTER YAKH
+2D46 ; [.1DF1.0020.0002] # TIFINAGH LETTER TUAREG YAKH
+2D47 ; [.1DF2.0020.0002] # TIFINAGH LETTER YAQ
+2D48 ; [.1DF3.0020.0002] # TIFINAGH LETTER TUAREG YAQ
+2D49 ; [.1DF4.0020.0002] # TIFINAGH LETTER YI
+2D4A ; [.1DF5.0020.0002] # TIFINAGH LETTER YAZH
+2D4B ; [.1DF6.0020.0002] # TIFINAGH LETTER AHAGGAR YAZH
+2D4C ; [.1DF7.0020.0002] # TIFINAGH LETTER TUAREG YAZH
+2D4D ; [.1DF8.0020.0002] # TIFINAGH LETTER YAL
+2D4E ; [.1DF9.0020.0002] # TIFINAGH LETTER YAM
+2D4F ; [.1DFA.0020.0002] # TIFINAGH LETTER YAN
+2D50 ; [.1DFB.0020.0002] # TIFINAGH LETTER TUAREG YAGN
+2D51 ; [.1DFC.0020.0002] # TIFINAGH LETTER TUAREG YANG
+2D52 ; [.1DFD.0020.0002] # TIFINAGH LETTER YAP
+2D53 ; [.1DFE.0020.0002] # TIFINAGH LETTER YU
+2D67 ; [.1DFF.0020.0002] # TIFINAGH LETTER YO
+2D54 ; [.1E00.0020.0002] # TIFINAGH LETTER YAR
+2D55 ; [.1E01.0020.0002] # TIFINAGH LETTER YARR
+2D56 ; [.1E02.0020.0002] # TIFINAGH LETTER YAGH
+2D57 ; [.1E03.0020.0002] # TIFINAGH LETTER TUAREG YAGH
+2D58 ; [.1E04.0020.0002] # TIFINAGH LETTER AYER YAGH
+2D59 ; [.1E05.0020.0002] # TIFINAGH LETTER YAS
+2D5A ; [.1E06.0020.0002] # TIFINAGH LETTER YASS
+2D5B ; [.1E07.0020.0002] # TIFINAGH LETTER YASH
+2D5C ; [.1E08.0020.0002] # TIFINAGH LETTER YAT
+2D5D ; [.1E09.0020.0002] # TIFINAGH LETTER YATH
+2D5E ; [.1E0A.0020.0002] # TIFINAGH LETTER YACH
+2D5F ; [.1E0B.0020.0002] # TIFINAGH LETTER YATT
+2D60 ; [.1E0C.0020.0002] # TIFINAGH LETTER YAV
+2D61 ; [.1E0D.0020.0002] # TIFINAGH LETTER YAW
+2D62 ; [.1E0E.0020.0002] # TIFINAGH LETTER YAY
+2D63 ; [.1E0F.0020.0002] # TIFINAGH LETTER YAZ
+2D64 ; [.1E10.0020.0002] # TIFINAGH LETTER TAWELLEMET YAZ
+2D65 ; [.1E11.0020.0002] # TIFINAGH LETTER YAZZ
+2D6F ; [.1E12.0020.0002] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+1200 ; [.1E13.0020.0002] # ETHIOPIC SYLLABLE HA
+1201 ; [.1E14.0020.0002] # ETHIOPIC SYLLABLE HU
+1202 ; [.1E15.0020.0002] # ETHIOPIC SYLLABLE HI
+1203 ; [.1E16.0020.0002] # ETHIOPIC SYLLABLE HAA
+1204 ; [.1E17.0020.0002] # ETHIOPIC SYLLABLE HEE
+1205 ; [.1E18.0020.0002] # ETHIOPIC SYLLABLE HE
+1206 ; [.1E19.0020.0002] # ETHIOPIC SYLLABLE HO
+1207 ; [.1E1A.0020.0002] # ETHIOPIC SYLLABLE HOA
+1208 ; [.1E1B.0020.0002] # ETHIOPIC SYLLABLE LA
+1209 ; [.1E1C.0020.0002] # ETHIOPIC SYLLABLE LU
+120A ; [.1E1D.0020.0002] # ETHIOPIC SYLLABLE LI
+120B ; [.1E1E.0020.0002] # ETHIOPIC SYLLABLE LAA
+120C ; [.1E1F.0020.0002] # ETHIOPIC SYLLABLE LEE
+120D ; [.1E20.0020.0002] # ETHIOPIC SYLLABLE LE
+120E ; [.1E21.0020.0002] # ETHIOPIC SYLLABLE LO
+120F ; [.1E22.0020.0002] # ETHIOPIC SYLLABLE LWA
+2D80 ; [.1E23.0020.0002] # ETHIOPIC SYLLABLE LOA
+1210 ; [.1E24.0020.0002] # ETHIOPIC SYLLABLE HHA
+1211 ; [.1E25.0020.0002] # ETHIOPIC SYLLABLE HHU
+1212 ; [.1E26.0020.0002] # ETHIOPIC SYLLABLE HHI
+1213 ; [.1E27.0020.0002] # ETHIOPIC SYLLABLE HHAA
+1214 ; [.1E28.0020.0002] # ETHIOPIC SYLLABLE HHEE
+1215 ; [.1E29.0020.0002] # ETHIOPIC SYLLABLE HHE
+1216 ; [.1E2A.0020.0002] # ETHIOPIC SYLLABLE HHO
+1217 ; [.1E2B.0020.0002] # ETHIOPIC SYLLABLE HHWA
+1218 ; [.1E2C.0020.0002] # ETHIOPIC SYLLABLE MA
+1219 ; [.1E2D.0020.0002] # ETHIOPIC SYLLABLE MU
+121A ; [.1E2E.0020.0002] # ETHIOPIC SYLLABLE MI
+121B ; [.1E2F.0020.0002] # ETHIOPIC SYLLABLE MAA
+121C ; [.1E30.0020.0002] # ETHIOPIC SYLLABLE MEE
+121D ; [.1E31.0020.0002] # ETHIOPIC SYLLABLE ME
+121E ; [.1E32.0020.0002] # ETHIOPIC SYLLABLE MO
+121F ; [.1E33.0020.0002] # ETHIOPIC SYLLABLE MWA
+1380 ; [.1E34.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT MWA
+1381 ; [.1E35.0020.0002] # ETHIOPIC SYLLABLE MWI
+1382 ; [.1E36.0020.0002] # ETHIOPIC SYLLABLE MWEE
+1383 ; [.1E37.0020.0002] # ETHIOPIC SYLLABLE MWE
+2D81 ; [.1E38.0020.0002] # ETHIOPIC SYLLABLE MOA
+1220 ; [.1E39.0020.0002] # ETHIOPIC SYLLABLE SZA
+1221 ; [.1E3A.0020.0002] # ETHIOPIC SYLLABLE SZU
+1222 ; [.1E3B.0020.0002] # ETHIOPIC SYLLABLE SZI
+1223 ; [.1E3C.0020.0002] # ETHIOPIC SYLLABLE SZAA
+1224 ; [.1E3D.0020.0002] # ETHIOPIC SYLLABLE SZEE
+1225 ; [.1E3E.0020.0002] # ETHIOPIC SYLLABLE SZE
+1226 ; [.1E3F.0020.0002] # ETHIOPIC SYLLABLE SZO
+1227 ; [.1E40.0020.0002] # ETHIOPIC SYLLABLE SZWA
+1228 ; [.1E41.0020.0002] # ETHIOPIC SYLLABLE RA
+1229 ; [.1E42.0020.0002] # ETHIOPIC SYLLABLE RU
+122A ; [.1E43.0020.0002] # ETHIOPIC SYLLABLE RI
+122B ; [.1E44.0020.0002] # ETHIOPIC SYLLABLE RAA
+122C ; [.1E45.0020.0002] # ETHIOPIC SYLLABLE REE
+122D ; [.1E46.0020.0002] # ETHIOPIC SYLLABLE RE
+122E ; [.1E47.0020.0002] # ETHIOPIC SYLLABLE RO
+122F ; [.1E48.0020.0002] # ETHIOPIC SYLLABLE RWA
+2D82 ; [.1E49.0020.0002] # ETHIOPIC SYLLABLE ROA
+1230 ; [.1E4A.0020.0002] # ETHIOPIC SYLLABLE SA
+1231 ; [.1E4B.0020.0002] # ETHIOPIC SYLLABLE SU
+1232 ; [.1E4C.0020.0002] # ETHIOPIC SYLLABLE SI
+1233 ; [.1E4D.0020.0002] # ETHIOPIC SYLLABLE SAA
+1234 ; [.1E4E.0020.0002] # ETHIOPIC SYLLABLE SEE
+1235 ; [.1E4F.0020.0002] # ETHIOPIC SYLLABLE SE
+1236 ; [.1E50.0020.0002] # ETHIOPIC SYLLABLE SO
+1237 ; [.1E51.0020.0002] # ETHIOPIC SYLLABLE SWA
+2D83 ; [.1E52.0020.0002] # ETHIOPIC SYLLABLE SOA
+AB01 ; [.1E53.0020.0002] # ETHIOPIC SYLLABLE TTHU
+AB02 ; [.1E54.0020.0002] # ETHIOPIC SYLLABLE TTHI
+AB03 ; [.1E55.0020.0002] # ETHIOPIC SYLLABLE TTHAA
+AB04 ; [.1E56.0020.0002] # ETHIOPIC SYLLABLE TTHEE
+AB05 ; [.1E57.0020.0002] # ETHIOPIC SYLLABLE TTHE
+AB06 ; [.1E58.0020.0002] # ETHIOPIC SYLLABLE TTHO
+1238 ; [.1E59.0020.0002] # ETHIOPIC SYLLABLE SHA
+1239 ; [.1E5A.0020.0002] # ETHIOPIC SYLLABLE SHU
+123A ; [.1E5B.0020.0002] # ETHIOPIC SYLLABLE SHI
+123B ; [.1E5C.0020.0002] # ETHIOPIC SYLLABLE SHAA
+123C ; [.1E5D.0020.0002] # ETHIOPIC SYLLABLE SHEE
+123D ; [.1E5E.0020.0002] # ETHIOPIC SYLLABLE SHE
+123E ; [.1E5F.0020.0002] # ETHIOPIC SYLLABLE SHO
+123F ; [.1E60.0020.0002] # ETHIOPIC SYLLABLE SHWA
+2D84 ; [.1E61.0020.0002] # ETHIOPIC SYLLABLE SHOA
+1240 ; [.1E62.0020.0002] # ETHIOPIC SYLLABLE QA
+1241 ; [.1E63.0020.0002] # ETHIOPIC SYLLABLE QU
+1242 ; [.1E64.0020.0002] # ETHIOPIC SYLLABLE QI
+1243 ; [.1E65.0020.0002] # ETHIOPIC SYLLABLE QAA
+1244 ; [.1E66.0020.0002] # ETHIOPIC SYLLABLE QEE
+1245 ; [.1E67.0020.0002] # ETHIOPIC SYLLABLE QE
+1246 ; [.1E68.0020.0002] # ETHIOPIC SYLLABLE QO
+1247 ; [.1E69.0020.0002] # ETHIOPIC SYLLABLE QOA
+1248 ; [.1E6A.0020.0002] # ETHIOPIC SYLLABLE QWA
+124A ; [.1E6B.0020.0002] # ETHIOPIC SYLLABLE QWI
+124B ; [.1E6C.0020.0002] # ETHIOPIC SYLLABLE QWAA
+124C ; [.1E6D.0020.0002] # ETHIOPIC SYLLABLE QWEE
+124D ; [.1E6E.0020.0002] # ETHIOPIC SYLLABLE QWE
+1250 ; [.1E6F.0020.0002] # ETHIOPIC SYLLABLE QHA
+1251 ; [.1E70.0020.0002] # ETHIOPIC SYLLABLE QHU
+1252 ; [.1E71.0020.0002] # ETHIOPIC SYLLABLE QHI
+1253 ; [.1E72.0020.0002] # ETHIOPIC SYLLABLE QHAA
+1254 ; [.1E73.0020.0002] # ETHIOPIC SYLLABLE QHEE
+1255 ; [.1E74.0020.0002] # ETHIOPIC SYLLABLE QHE
+1256 ; [.1E75.0020.0002] # ETHIOPIC SYLLABLE QHO
+1258 ; [.1E76.0020.0002] # ETHIOPIC SYLLABLE QHWA
+125A ; [.1E77.0020.0002] # ETHIOPIC SYLLABLE QHWI
+125B ; [.1E78.0020.0002] # ETHIOPIC SYLLABLE QHWAA
+125C ; [.1E79.0020.0002] # ETHIOPIC SYLLABLE QHWEE
+125D ; [.1E7A.0020.0002] # ETHIOPIC SYLLABLE QHWE
+1260 ; [.1E7B.0020.0002] # ETHIOPIC SYLLABLE BA
+1261 ; [.1E7C.0020.0002] # ETHIOPIC SYLLABLE BU
+1262 ; [.1E7D.0020.0002] # ETHIOPIC SYLLABLE BI
+1263 ; [.1E7E.0020.0002] # ETHIOPIC SYLLABLE BAA
+1264 ; [.1E7F.0020.0002] # ETHIOPIC SYLLABLE BEE
+1265 ; [.1E80.0020.0002] # ETHIOPIC SYLLABLE BE
+1266 ; [.1E81.0020.0002] # ETHIOPIC SYLLABLE BO
+1267 ; [.1E82.0020.0002] # ETHIOPIC SYLLABLE BWA
+1384 ; [.1E83.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT BWA
+1385 ; [.1E84.0020.0002] # ETHIOPIC SYLLABLE BWI
+1386 ; [.1E85.0020.0002] # ETHIOPIC SYLLABLE BWEE
+1387 ; [.1E86.0020.0002] # ETHIOPIC SYLLABLE BWE
+2D85 ; [.1E87.0020.0002] # ETHIOPIC SYLLABLE BOA
+1268 ; [.1E88.0020.0002] # ETHIOPIC SYLLABLE VA
+1269 ; [.1E89.0020.0002] # ETHIOPIC SYLLABLE VU
+126A ; [.1E8A.0020.0002] # ETHIOPIC SYLLABLE VI
+126B ; [.1E8B.0020.0002] # ETHIOPIC SYLLABLE VAA
+126C ; [.1E8C.0020.0002] # ETHIOPIC SYLLABLE VEE
+126D ; [.1E8D.0020.0002] # ETHIOPIC SYLLABLE VE
+126E ; [.1E8E.0020.0002] # ETHIOPIC SYLLABLE VO
+126F ; [.1E8F.0020.0002] # ETHIOPIC SYLLABLE VWA
+1270 ; [.1E90.0020.0002] # ETHIOPIC SYLLABLE TA
+1271 ; [.1E91.0020.0002] # ETHIOPIC SYLLABLE TU
+1272 ; [.1E92.0020.0002] # ETHIOPIC SYLLABLE TI
+1273 ; [.1E93.0020.0002] # ETHIOPIC SYLLABLE TAA
+1274 ; [.1E94.0020.0002] # ETHIOPIC SYLLABLE TEE
+1275 ; [.1E95.0020.0002] # ETHIOPIC SYLLABLE TE
+1276 ; [.1E96.0020.0002] # ETHIOPIC SYLLABLE TO
+1277 ; [.1E97.0020.0002] # ETHIOPIC SYLLABLE TWA
+2D86 ; [.1E98.0020.0002] # ETHIOPIC SYLLABLE TOA
+1278 ; [.1E99.0020.0002] # ETHIOPIC SYLLABLE CA
+1279 ; [.1E9A.0020.0002] # ETHIOPIC SYLLABLE CU
+127A ; [.1E9B.0020.0002] # ETHIOPIC SYLLABLE CI
+127B ; [.1E9C.0020.0002] # ETHIOPIC SYLLABLE CAA
+127C ; [.1E9D.0020.0002] # ETHIOPIC SYLLABLE CEE
+127D ; [.1E9E.0020.0002] # ETHIOPIC SYLLABLE CE
+127E ; [.1E9F.0020.0002] # ETHIOPIC SYLLABLE CO
+127F ; [.1EA0.0020.0002] # ETHIOPIC SYLLABLE CWA
+2D87 ; [.1EA1.0020.0002] # ETHIOPIC SYLLABLE COA
+1280 ; [.1EA2.0020.0002] # ETHIOPIC SYLLABLE XA
+1281 ; [.1EA3.0020.0002] # ETHIOPIC SYLLABLE XU
+1282 ; [.1EA4.0020.0002] # ETHIOPIC SYLLABLE XI
+1283 ; [.1EA5.0020.0002] # ETHIOPIC SYLLABLE XAA
+1284 ; [.1EA6.0020.0002] # ETHIOPIC SYLLABLE XEE
+1285 ; [.1EA7.0020.0002] # ETHIOPIC SYLLABLE XE
+1286 ; [.1EA8.0020.0002] # ETHIOPIC SYLLABLE XO
+1287 ; [.1EA9.0020.0002] # ETHIOPIC SYLLABLE XOA
+1288 ; [.1EAA.0020.0002] # ETHIOPIC SYLLABLE XWA
+128A ; [.1EAB.0020.0002] # ETHIOPIC SYLLABLE XWI
+128B ; [.1EAC.0020.0002] # ETHIOPIC SYLLABLE XWAA
+128C ; [.1EAD.0020.0002] # ETHIOPIC SYLLABLE XWEE
+128D ; [.1EAE.0020.0002] # ETHIOPIC SYLLABLE XWE
+1290 ; [.1EAF.0020.0002] # ETHIOPIC SYLLABLE NA
+1291 ; [.1EB0.0020.0002] # ETHIOPIC SYLLABLE NU
+1292 ; [.1EB1.0020.0002] # ETHIOPIC SYLLABLE NI
+1293 ; [.1EB2.0020.0002] # ETHIOPIC SYLLABLE NAA
+1294 ; [.1EB3.0020.0002] # ETHIOPIC SYLLABLE NEE
+1295 ; [.1EB4.0020.0002] # ETHIOPIC SYLLABLE NE
+1296 ; [.1EB5.0020.0002] # ETHIOPIC SYLLABLE NO
+1297 ; [.1EB6.0020.0002] # ETHIOPIC SYLLABLE NWA
+2D88 ; [.1EB7.0020.0002] # ETHIOPIC SYLLABLE NOA
+1298 ; [.1EB8.0020.0002] # ETHIOPIC SYLLABLE NYA
+1299 ; [.1EB9.0020.0002] # ETHIOPIC SYLLABLE NYU
+129A ; [.1EBA.0020.0002] # ETHIOPIC SYLLABLE NYI
+129B ; [.1EBB.0020.0002] # ETHIOPIC SYLLABLE NYAA
+129C ; [.1EBC.0020.0002] # ETHIOPIC SYLLABLE NYEE
+129D ; [.1EBD.0020.0002] # ETHIOPIC SYLLABLE NYE
+129E ; [.1EBE.0020.0002] # ETHIOPIC SYLLABLE NYO
+129F ; [.1EBF.0020.0002] # ETHIOPIC SYLLABLE NYWA
+2D89 ; [.1EC0.0020.0002] # ETHIOPIC SYLLABLE NYOA
+12A0 ; [.1EC1.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL A
+12A1 ; [.1EC2.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL U
+12A2 ; [.1EC3.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL I
+12A3 ; [.1EC4.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL AA
+12A4 ; [.1EC5.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL EE
+12A5 ; [.1EC6.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL E
+12A6 ; [.1EC7.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL O
+12A7 ; [.1EC8.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL WA
+2D8A ; [.1EC9.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL OA
+12A8 ; [.1ECA.0020.0002] # ETHIOPIC SYLLABLE KA
+12A9 ; [.1ECB.0020.0002] # ETHIOPIC SYLLABLE KU
+12AA ; [.1ECC.0020.0002] # ETHIOPIC SYLLABLE KI
+12AB ; [.1ECD.0020.0002] # ETHIOPIC SYLLABLE KAA
+12AC ; [.1ECE.0020.0002] # ETHIOPIC SYLLABLE KEE
+12AD ; [.1ECF.0020.0002] # ETHIOPIC SYLLABLE KE
+12AE ; [.1ED0.0020.0002] # ETHIOPIC SYLLABLE KO
+12AF ; [.1ED1.0020.0002] # ETHIOPIC SYLLABLE KOA
+12B0 ; [.1ED2.0020.0002] # ETHIOPIC SYLLABLE KWA
+12B2 ; [.1ED3.0020.0002] # ETHIOPIC SYLLABLE KWI
+12B3 ; [.1ED4.0020.0002] # ETHIOPIC SYLLABLE KWAA
+12B4 ; [.1ED5.0020.0002] # ETHIOPIC SYLLABLE KWEE
+12B5 ; [.1ED6.0020.0002] # ETHIOPIC SYLLABLE KWE
+12B8 ; [.1ED7.0020.0002] # ETHIOPIC SYLLABLE KXA
+12B9 ; [.1ED8.0020.0002] # ETHIOPIC SYLLABLE KXU
+12BA ; [.1ED9.0020.0002] # ETHIOPIC SYLLABLE KXI
+12BB ; [.1EDA.0020.0002] # ETHIOPIC SYLLABLE KXAA
+12BC ; [.1EDB.0020.0002] # ETHIOPIC SYLLABLE KXEE
+12BD ; [.1EDC.0020.0002] # ETHIOPIC SYLLABLE KXE
+12BE ; [.1EDD.0020.0002] # ETHIOPIC SYLLABLE KXO
+12C0 ; [.1EDE.0020.0002] # ETHIOPIC SYLLABLE KXWA
+12C2 ; [.1EDF.0020.0002] # ETHIOPIC SYLLABLE KXWI
+12C3 ; [.1EE0.0020.0002] # ETHIOPIC SYLLABLE KXWAA
+12C4 ; [.1EE1.0020.0002] # ETHIOPIC SYLLABLE KXWEE
+12C5 ; [.1EE2.0020.0002] # ETHIOPIC SYLLABLE KXWE
+12C8 ; [.1EE3.0020.0002] # ETHIOPIC SYLLABLE WA
+12C9 ; [.1EE4.0020.0002] # ETHIOPIC SYLLABLE WU
+12CA ; [.1EE5.0020.0002] # ETHIOPIC SYLLABLE WI
+12CB ; [.1EE6.0020.0002] # ETHIOPIC SYLLABLE WAA
+12CC ; [.1EE7.0020.0002] # ETHIOPIC SYLLABLE WEE
+12CD ; [.1EE8.0020.0002] # ETHIOPIC SYLLABLE WE
+12CE ; [.1EE9.0020.0002] # ETHIOPIC SYLLABLE WO
+12CF ; [.1EEA.0020.0002] # ETHIOPIC SYLLABLE WOA
+12D0 ; [.1EEB.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL A
+12D1 ; [.1EEC.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL U
+12D2 ; [.1EED.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL I
+12D3 ; [.1EEE.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL AA
+12D4 ; [.1EEF.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL EE
+12D5 ; [.1EF0.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL E
+12D6 ; [.1EF1.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8 ; [.1EF2.0020.0002] # ETHIOPIC SYLLABLE ZA
+12D9 ; [.1EF3.0020.0002] # ETHIOPIC SYLLABLE ZU
+12DA ; [.1EF4.0020.0002] # ETHIOPIC SYLLABLE ZI
+12DB ; [.1EF5.0020.0002] # ETHIOPIC SYLLABLE ZAA
+12DC ; [.1EF6.0020.0002] # ETHIOPIC SYLLABLE ZEE
+12DD ; [.1EF7.0020.0002] # ETHIOPIC SYLLABLE ZE
+12DE ; [.1EF8.0020.0002] # ETHIOPIC SYLLABLE ZO
+12DF ; [.1EF9.0020.0002] # ETHIOPIC SYLLABLE ZWA
+2D8B ; [.1EFA.0020.0002] # ETHIOPIC SYLLABLE ZOA
+AB11 ; [.1EFB.0020.0002] # ETHIOPIC SYLLABLE DZU
+AB12 ; [.1EFC.0020.0002] # ETHIOPIC SYLLABLE DZI
+AB13 ; [.1EFD.0020.0002] # ETHIOPIC SYLLABLE DZAA
+AB14 ; [.1EFE.0020.0002] # ETHIOPIC SYLLABLE DZEE
+AB15 ; [.1EFF.0020.0002] # ETHIOPIC SYLLABLE DZE
+AB16 ; [.1F00.0020.0002] # ETHIOPIC SYLLABLE DZO
+12E0 ; [.1F01.0020.0002] # ETHIOPIC SYLLABLE ZHA
+12E1 ; [.1F02.0020.0002] # ETHIOPIC SYLLABLE ZHU
+12E2 ; [.1F03.0020.0002] # ETHIOPIC SYLLABLE ZHI
+12E3 ; [.1F04.0020.0002] # ETHIOPIC SYLLABLE ZHAA
+12E4 ; [.1F05.0020.0002] # ETHIOPIC SYLLABLE ZHEE
+12E5 ; [.1F06.0020.0002] # ETHIOPIC SYLLABLE ZHE
+12E6 ; [.1F07.0020.0002] # ETHIOPIC SYLLABLE ZHO
+12E7 ; [.1F08.0020.0002] # ETHIOPIC SYLLABLE ZHWA
+12E8 ; [.1F09.0020.0002] # ETHIOPIC SYLLABLE YA
+12E9 ; [.1F0A.0020.0002] # ETHIOPIC SYLLABLE YU
+12EA ; [.1F0B.0020.0002] # ETHIOPIC SYLLABLE YI
+12EB ; [.1F0C.0020.0002] # ETHIOPIC SYLLABLE YAA
+12EC ; [.1F0D.0020.0002] # ETHIOPIC SYLLABLE YEE
+12ED ; [.1F0E.0020.0002] # ETHIOPIC SYLLABLE YE
+12EE ; [.1F0F.0020.0002] # ETHIOPIC SYLLABLE YO
+12EF ; [.1F10.0020.0002] # ETHIOPIC SYLLABLE YOA
+12F0 ; [.1F11.0020.0002] # ETHIOPIC SYLLABLE DA
+12F1 ; [.1F12.0020.0002] # ETHIOPIC SYLLABLE DU
+12F2 ; [.1F13.0020.0002] # ETHIOPIC SYLLABLE DI
+12F3 ; [.1F14.0020.0002] # ETHIOPIC SYLLABLE DAA
+12F4 ; [.1F15.0020.0002] # ETHIOPIC SYLLABLE DEE
+12F5 ; [.1F16.0020.0002] # ETHIOPIC SYLLABLE DE
+12F6 ; [.1F17.0020.0002] # ETHIOPIC SYLLABLE DO
+12F7 ; [.1F18.0020.0002] # ETHIOPIC SYLLABLE DWA
+2D8C ; [.1F19.0020.0002] # ETHIOPIC SYLLABLE DOA
+AB09 ; [.1F1A.0020.0002] # ETHIOPIC SYLLABLE DDHU
+AB0A ; [.1F1B.0020.0002] # ETHIOPIC SYLLABLE DDHI
+AB0B ; [.1F1C.0020.0002] # ETHIOPIC SYLLABLE DDHAA
+AB0C ; [.1F1D.0020.0002] # ETHIOPIC SYLLABLE DDHEE
+AB0D ; [.1F1E.0020.0002] # ETHIOPIC SYLLABLE DDHE
+AB0E ; [.1F1F.0020.0002] # ETHIOPIC SYLLABLE DDHO
+12F8 ; [.1F20.0020.0002] # ETHIOPIC SYLLABLE DDA
+12F9 ; [.1F21.0020.0002] # ETHIOPIC SYLLABLE DDU
+12FA ; [.1F22.0020.0002] # ETHIOPIC SYLLABLE DDI
+12FB ; [.1F23.0020.0002] # ETHIOPIC SYLLABLE DDAA
+12FC ; [.1F24.0020.0002] # ETHIOPIC SYLLABLE DDEE
+12FD ; [.1F25.0020.0002] # ETHIOPIC SYLLABLE DDE
+12FE ; [.1F26.0020.0002] # ETHIOPIC SYLLABLE DDO
+12FF ; [.1F27.0020.0002] # ETHIOPIC SYLLABLE DDWA
+2D8D ; [.1F28.0020.0002] # ETHIOPIC SYLLABLE DDOA
+1300 ; [.1F29.0020.0002] # ETHIOPIC SYLLABLE JA
+1301 ; [.1F2A.0020.0002] # ETHIOPIC SYLLABLE JU
+1302 ; [.1F2B.0020.0002] # ETHIOPIC SYLLABLE JI
+1303 ; [.1F2C.0020.0002] # ETHIOPIC SYLLABLE JAA
+1304 ; [.1F2D.0020.0002] # ETHIOPIC SYLLABLE JEE
+1305 ; [.1F2E.0020.0002] # ETHIOPIC SYLLABLE JE
+1306 ; [.1F2F.0020.0002] # ETHIOPIC SYLLABLE JO
+1307 ; [.1F30.0020.0002] # ETHIOPIC SYLLABLE JWA
+2D8E ; [.1F31.0020.0002] # ETHIOPIC SYLLABLE JOA
+1308 ; [.1F32.0020.0002] # ETHIOPIC SYLLABLE GA
+1309 ; [.1F33.0020.0002] # ETHIOPIC SYLLABLE GU
+130A ; [.1F34.0020.0002] # ETHIOPIC SYLLABLE GI
+130B ; [.1F35.0020.0002] # ETHIOPIC SYLLABLE GAA
+130C ; [.1F36.0020.0002] # ETHIOPIC SYLLABLE GEE
+130D ; [.1F37.0020.0002] # ETHIOPIC SYLLABLE GE
+130E ; [.1F38.0020.0002] # ETHIOPIC SYLLABLE GO
+130F ; [.1F39.0020.0002] # ETHIOPIC SYLLABLE GOA
+1310 ; [.1F3A.0020.0002] # ETHIOPIC SYLLABLE GWA
+1312 ; [.1F3B.0020.0002] # ETHIOPIC SYLLABLE GWI
+1313 ; [.1F3C.0020.0002] # ETHIOPIC SYLLABLE GWAA
+1314 ; [.1F3D.0020.0002] # ETHIOPIC SYLLABLE GWEE
+1315 ; [.1F3E.0020.0002] # ETHIOPIC SYLLABLE GWE
+1318 ; [.1F3F.0020.0002] # ETHIOPIC SYLLABLE GGA
+1319 ; [.1F40.0020.0002] # ETHIOPIC SYLLABLE GGU
+131A ; [.1F41.0020.0002] # ETHIOPIC SYLLABLE GGI
+131B ; [.1F42.0020.0002] # ETHIOPIC SYLLABLE GGAA
+131C ; [.1F43.0020.0002] # ETHIOPIC SYLLABLE GGEE
+131D ; [.1F44.0020.0002] # ETHIOPIC SYLLABLE GGE
+131E ; [.1F45.0020.0002] # ETHIOPIC SYLLABLE GGO
+131F ; [.1F46.0020.0002] # ETHIOPIC SYLLABLE GGWAA
+2D93 ; [.1F47.0020.0002] # ETHIOPIC SYLLABLE GGWA
+2D94 ; [.1F48.0020.0002] # ETHIOPIC SYLLABLE GGWI
+2D95 ; [.1F49.0020.0002] # ETHIOPIC SYLLABLE GGWEE
+2D96 ; [.1F4A.0020.0002] # ETHIOPIC SYLLABLE GGWE
+1320 ; [.1F4B.0020.0002] # ETHIOPIC SYLLABLE THA
+1321 ; [.1F4C.0020.0002] # ETHIOPIC SYLLABLE THU
+1322 ; [.1F4D.0020.0002] # ETHIOPIC SYLLABLE THI
+1323 ; [.1F4E.0020.0002] # ETHIOPIC SYLLABLE THAA
+1324 ; [.1F4F.0020.0002] # ETHIOPIC SYLLABLE THEE
+1325 ; [.1F50.0020.0002] # ETHIOPIC SYLLABLE THE
+1326 ; [.1F51.0020.0002] # ETHIOPIC SYLLABLE THO
+1327 ; [.1F52.0020.0002] # ETHIOPIC SYLLABLE THWA
+2D8F ; [.1F53.0020.0002] # ETHIOPIC SYLLABLE THOA
+1328 ; [.1F54.0020.0002] # ETHIOPIC SYLLABLE CHA
+1329 ; [.1F55.0020.0002] # ETHIOPIC SYLLABLE CHU
+132A ; [.1F56.0020.0002] # ETHIOPIC SYLLABLE CHI
+132B ; [.1F57.0020.0002] # ETHIOPIC SYLLABLE CHAA
+132C ; [.1F58.0020.0002] # ETHIOPIC SYLLABLE CHEE
+132D ; [.1F59.0020.0002] # ETHIOPIC SYLLABLE CHE
+132E ; [.1F5A.0020.0002] # ETHIOPIC SYLLABLE CHO
+132F ; [.1F5B.0020.0002] # ETHIOPIC SYLLABLE CHWA
+2D90 ; [.1F5C.0020.0002] # ETHIOPIC SYLLABLE CHOA
+AB20 ; [.1F5D.0020.0002] # ETHIOPIC SYLLABLE CCHHA
+AB21 ; [.1F5E.0020.0002] # ETHIOPIC SYLLABLE CCHHU
+AB22 ; [.1F5F.0020.0002] # ETHIOPIC SYLLABLE CCHHI
+AB23 ; [.1F60.0020.0002] # ETHIOPIC SYLLABLE CCHHAA
+AB24 ; [.1F61.0020.0002] # ETHIOPIC SYLLABLE CCHHEE
+AB25 ; [.1F62.0020.0002] # ETHIOPIC SYLLABLE CCHHE
+AB26 ; [.1F63.0020.0002] # ETHIOPIC SYLLABLE CCHHO
+1330 ; [.1F64.0020.0002] # ETHIOPIC SYLLABLE PHA
+1331 ; [.1F65.0020.0002] # ETHIOPIC SYLLABLE PHU
+1332 ; [.1F66.0020.0002] # ETHIOPIC SYLLABLE PHI
+1333 ; [.1F67.0020.0002] # ETHIOPIC SYLLABLE PHAA
+1334 ; [.1F68.0020.0002] # ETHIOPIC SYLLABLE PHEE
+1335 ; [.1F69.0020.0002] # ETHIOPIC SYLLABLE PHE
+1336 ; [.1F6A.0020.0002] # ETHIOPIC SYLLABLE PHO
+1337 ; [.1F6B.0020.0002] # ETHIOPIC SYLLABLE PHWA
+2D91 ; [.1F6C.0020.0002] # ETHIOPIC SYLLABLE PHOA
+1338 ; [.1F6D.0020.0002] # ETHIOPIC SYLLABLE TSA
+1339 ; [.1F6E.0020.0002] # ETHIOPIC SYLLABLE TSU
+133A ; [.1F6F.0020.0002] # ETHIOPIC SYLLABLE TSI
+133B ; [.1F70.0020.0002] # ETHIOPIC SYLLABLE TSAA
+133C ; [.1F71.0020.0002] # ETHIOPIC SYLLABLE TSEE
+133D ; [.1F72.0020.0002] # ETHIOPIC SYLLABLE TSE
+133E ; [.1F73.0020.0002] # ETHIOPIC SYLLABLE TSO
+133F ; [.1F74.0020.0002] # ETHIOPIC SYLLABLE TSWA
+AB28 ; [.1F75.0020.0002] # ETHIOPIC SYLLABLE BBA
+AB29 ; [.1F76.0020.0002] # ETHIOPIC SYLLABLE BBU
+AB2A ; [.1F77.0020.0002] # ETHIOPIC SYLLABLE BBI
+AB2B ; [.1F78.0020.0002] # ETHIOPIC SYLLABLE BBAA
+AB2C ; [.1F79.0020.0002] # ETHIOPIC SYLLABLE BBEE
+AB2D ; [.1F7A.0020.0002] # ETHIOPIC SYLLABLE BBE
+AB2E ; [.1F7B.0020.0002] # ETHIOPIC SYLLABLE BBO
+1340 ; [.1F7C.0020.0002] # ETHIOPIC SYLLABLE TZA
+1341 ; [.1F7D.0020.0002] # ETHIOPIC SYLLABLE TZU
+1342 ; [.1F7E.0020.0002] # ETHIOPIC SYLLABLE TZI
+1343 ; [.1F7F.0020.0002] # ETHIOPIC SYLLABLE TZAA
+1344 ; [.1F80.0020.0002] # ETHIOPIC SYLLABLE TZEE
+1345 ; [.1F81.0020.0002] # ETHIOPIC SYLLABLE TZE
+1346 ; [.1F82.0020.0002] # ETHIOPIC SYLLABLE TZO
+1347 ; [.1F83.0020.0002] # ETHIOPIC SYLLABLE TZOA
+1348 ; [.1F84.0020.0002] # ETHIOPIC SYLLABLE FA
+1349 ; [.1F85.0020.0002] # ETHIOPIC SYLLABLE FU
+134A ; [.1F86.0020.0002] # ETHIOPIC SYLLABLE FI
+134B ; [.1F87.0020.0002] # ETHIOPIC SYLLABLE FAA
+134C ; [.1F88.0020.0002] # ETHIOPIC SYLLABLE FEE
+134D ; [.1F89.0020.0002] # ETHIOPIC SYLLABLE FE
+134E ; [.1F8A.0020.0002] # ETHIOPIC SYLLABLE FO
+134F ; [.1F8B.0020.0002] # ETHIOPIC SYLLABLE FWA
+1388 ; [.1F8C.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT FWA
+1389 ; [.1F8D.0020.0002] # ETHIOPIC SYLLABLE FWI
+138A ; [.1F8E.0020.0002] # ETHIOPIC SYLLABLE FWEE
+138B ; [.1F8F.0020.0002] # ETHIOPIC SYLLABLE FWE
+1350 ; [.1F90.0020.0002] # ETHIOPIC SYLLABLE PA
+1351 ; [.1F91.0020.0002] # ETHIOPIC SYLLABLE PU
+1352 ; [.1F92.0020.0002] # ETHIOPIC SYLLABLE PI
+1353 ; [.1F93.0020.0002] # ETHIOPIC SYLLABLE PAA
+1354 ; [.1F94.0020.0002] # ETHIOPIC SYLLABLE PEE
+1355 ; [.1F95.0020.0002] # ETHIOPIC SYLLABLE PE
+1356 ; [.1F96.0020.0002] # ETHIOPIC SYLLABLE PO
+1357 ; [.1F97.0020.0002] # ETHIOPIC SYLLABLE PWA
+138C ; [.1F98.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT PWA
+138D ; [.1F99.0020.0002] # ETHIOPIC SYLLABLE PWI
+138E ; [.1F9A.0020.0002] # ETHIOPIC SYLLABLE PWEE
+138F ; [.1F9B.0020.0002] # ETHIOPIC SYLLABLE PWE
+2D92 ; [.1F9C.0020.0002] # ETHIOPIC SYLLABLE POA
+1358 ; [.1F9D.0020.0002] # ETHIOPIC SYLLABLE RYA
+1359 ; [.1F9E.0020.0002] # ETHIOPIC SYLLABLE MYA
+135A ; [.1F9F.0020.0002] # ETHIOPIC SYLLABLE FYA
+2DA0 ; [.1FA0.0020.0002] # ETHIOPIC SYLLABLE SSA
+2DA1 ; [.1FA1.0020.0002] # ETHIOPIC SYLLABLE SSU
+2DA2 ; [.1FA2.0020.0002] # ETHIOPIC SYLLABLE SSI
+2DA3 ; [.1FA3.0020.0002] # ETHIOPIC SYLLABLE SSAA
+2DA4 ; [.1FA4.0020.0002] # ETHIOPIC SYLLABLE SSEE
+2DA5 ; [.1FA5.0020.0002] # ETHIOPIC SYLLABLE SSE
+2DA6 ; [.1FA6.0020.0002] # ETHIOPIC SYLLABLE SSO
+2DA8 ; [.1FA7.0020.0002] # ETHIOPIC SYLLABLE CCA
+2DA9 ; [.1FA8.0020.0002] # ETHIOPIC SYLLABLE CCU
+2DAA ; [.1FA9.0020.0002] # ETHIOPIC SYLLABLE CCI
+2DAB ; [.1FAA.0020.0002] # ETHIOPIC SYLLABLE CCAA
+2DAC ; [.1FAB.0020.0002] # ETHIOPIC SYLLABLE CCEE
+2DAD ; [.1FAC.0020.0002] # ETHIOPIC SYLLABLE CCE
+2DAE ; [.1FAD.0020.0002] # ETHIOPIC SYLLABLE CCO
+2DB0 ; [.1FAE.0020.0002] # ETHIOPIC SYLLABLE ZZA
+2DB1 ; [.1FAF.0020.0002] # ETHIOPIC SYLLABLE ZZU
+2DB2 ; [.1FB0.0020.0002] # ETHIOPIC SYLLABLE ZZI
+2DB3 ; [.1FB1.0020.0002] # ETHIOPIC SYLLABLE ZZAA
+2DB4 ; [.1FB2.0020.0002] # ETHIOPIC SYLLABLE ZZEE
+2DB5 ; [.1FB3.0020.0002] # ETHIOPIC SYLLABLE ZZE
+2DB6 ; [.1FB4.0020.0002] # ETHIOPIC SYLLABLE ZZO
+2DB8 ; [.1FB5.0020.0002] # ETHIOPIC SYLLABLE CCHA
+2DB9 ; [.1FB6.0020.0002] # ETHIOPIC SYLLABLE CCHU
+2DBA ; [.1FB7.0020.0002] # ETHIOPIC SYLLABLE CCHI
+2DBB ; [.1FB8.0020.0002] # ETHIOPIC SYLLABLE CCHAA
+2DBC ; [.1FB9.0020.0002] # ETHIOPIC SYLLABLE CCHEE
+2DBD ; [.1FBA.0020.0002] # ETHIOPIC SYLLABLE CCHE
+2DBE ; [.1FBB.0020.0002] # ETHIOPIC SYLLABLE CCHO
+2DC0 ; [.1FBC.0020.0002] # ETHIOPIC SYLLABLE QYA
+2DC1 ; [.1FBD.0020.0002] # ETHIOPIC SYLLABLE QYU
+2DC2 ; [.1FBE.0020.0002] # ETHIOPIC SYLLABLE QYI
+2DC3 ; [.1FBF.0020.0002] # ETHIOPIC SYLLABLE QYAA
+2DC4 ; [.1FC0.0020.0002] # ETHIOPIC SYLLABLE QYEE
+2DC5 ; [.1FC1.0020.0002] # ETHIOPIC SYLLABLE QYE
+2DC6 ; [.1FC2.0020.0002] # ETHIOPIC SYLLABLE QYO
+2DC8 ; [.1FC3.0020.0002] # ETHIOPIC SYLLABLE KYA
+2DC9 ; [.1FC4.0020.0002] # ETHIOPIC SYLLABLE KYU
+2DCA ; [.1FC5.0020.0002] # ETHIOPIC SYLLABLE KYI
+2DCB ; [.1FC6.0020.0002] # ETHIOPIC SYLLABLE KYAA
+2DCC ; [.1FC7.0020.0002] # ETHIOPIC SYLLABLE KYEE
+2DCD ; [.1FC8.0020.0002] # ETHIOPIC SYLLABLE KYE
+2DCE ; [.1FC9.0020.0002] # ETHIOPIC SYLLABLE KYO
+2DD0 ; [.1FCA.0020.0002] # ETHIOPIC SYLLABLE XYA
+2DD1 ; [.1FCB.0020.0002] # ETHIOPIC SYLLABLE XYU
+2DD2 ; [.1FCC.0020.0002] # ETHIOPIC SYLLABLE XYI
+2DD3 ; [.1FCD.0020.0002] # ETHIOPIC SYLLABLE XYAA
+2DD4 ; [.1FCE.0020.0002] # ETHIOPIC SYLLABLE XYEE
+2DD5 ; [.1FCF.0020.0002] # ETHIOPIC SYLLABLE XYE
+2DD6 ; [.1FD0.0020.0002] # ETHIOPIC SYLLABLE XYO
+2DD8 ; [.1FD1.0020.0002] # ETHIOPIC SYLLABLE GYA
+2DD9 ; [.1FD2.0020.0002] # ETHIOPIC SYLLABLE GYU
+2DDA ; [.1FD3.0020.0002] # ETHIOPIC SYLLABLE GYI
+2DDB ; [.1FD4.0020.0002] # ETHIOPIC SYLLABLE GYAA
+2DDC ; [.1FD5.0020.0002] # ETHIOPIC SYLLABLE GYEE
+2DDD ; [.1FD6.0020.0002] # ETHIOPIC SYLLABLE GYE
+2DDE ; [.1FD7.0020.0002] # ETHIOPIC SYLLABLE GYO
+0950 ; [.1FD8.0020.0002] # DEVANAGARI OM
+0972 ; [.1FD9.0020.0002] # DEVANAGARI LETTER CANDRA A
+0904 ; [.1FDA.0020.0002] # DEVANAGARI LETTER SHORT A
+0905 ; [.1FDB.0020.0002] # DEVANAGARI LETTER A
+0906 ; [.1FDC.0020.0002] # DEVANAGARI LETTER AA
+0973 ; [.1FDD.0020.0002] # DEVANAGARI LETTER OE
+0974 ; [.1FDE.0020.0002] # DEVANAGARI LETTER OOE
+0975 ; [.1FDF.0020.0002] # DEVANAGARI LETTER AW
+0976 ; [.1FE0.0020.0002] # DEVANAGARI LETTER UE
+0977 ; [.1FE1.0020.0002] # DEVANAGARI LETTER UUE
+0907 ; [.1FE2.0020.0002] # DEVANAGARI LETTER I
+0908 ; [.1FE3.0020.0002] # DEVANAGARI LETTER II
+0909 ; [.1FE4.0020.0002] # DEVANAGARI LETTER U
+090A ; [.1FE5.0020.0002] # DEVANAGARI LETTER UU
+090B ; [.1FE6.0020.0002] # DEVANAGARI LETTER VOCALIC R
+0960 ; [.1FE7.0020.0002] # DEVANAGARI LETTER VOCALIC RR
+090C ; [.1FE8.0020.0002] # DEVANAGARI LETTER VOCALIC L
+0961 ; [.1FE9.0020.0002] # DEVANAGARI LETTER VOCALIC LL
+090D ; [.1FEA.0020.0002] # DEVANAGARI LETTER CANDRA E
+090E ; [.1FEB.0020.0002] # DEVANAGARI LETTER SHORT E
+090F ; [.1FEC.0020.0002] # DEVANAGARI LETTER E
+0910 ; [.1FED.0020.0002] # DEVANAGARI LETTER AI
+0911 ; [.1FEE.0020.0002] # DEVANAGARI LETTER CANDRA O
+0912 ; [.1FEF.0020.0002] # DEVANAGARI LETTER SHORT O
+0913 ; [.1FF0.0020.0002] # DEVANAGARI LETTER O
+0914 ; [.1FF1.0020.0002] # DEVANAGARI LETTER AU
+0915 ; [.1FF2.0020.0002] # DEVANAGARI LETTER KA
+0958 ; [.1FF2.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER QA
+0916 ; [.1FF3.0020.0002] # DEVANAGARI LETTER KHA
+0959 ; [.1FF3.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER KHHA
+0917 ; [.1FF4.0020.0002] # DEVANAGARI LETTER GA
+095A ; [.1FF4.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER GHHA
+097B ; [.1FF5.0020.0002] # DEVANAGARI LETTER GGA
+0918 ; [.1FF6.0020.0002] # DEVANAGARI LETTER GHA
+0919 ; [.1FF7.0020.0002] # DEVANAGARI LETTER NGA
+091A ; [.1FF8.0020.0002] # DEVANAGARI LETTER CA
+091B ; [.1FF9.0020.0002] # DEVANAGARI LETTER CHA
+091C ; [.1FFA.0020.0002] # DEVANAGARI LETTER JA
+095B ; [.1FFA.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER ZA
+0979 ; [.1FFB.0020.0002] # DEVANAGARI LETTER ZHA
+097C ; [.1FFC.0020.0002] # DEVANAGARI LETTER JJA
+091D ; [.1FFD.0020.0002] # DEVANAGARI LETTER JHA
+091E ; [.1FFE.0020.0002] # DEVANAGARI LETTER NYA
+091F ; [.1FFF.0020.0002] # DEVANAGARI LETTER TTA
+0920 ; [.2000.0020.0002] # DEVANAGARI LETTER TTHA
+0921 ; [.2001.0020.0002] # DEVANAGARI LETTER DDA
+095C ; [.2001.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER DDDHA
+097E ; [.2002.0020.0002] # DEVANAGARI LETTER DDDA
+0922 ; [.2003.0020.0002] # DEVANAGARI LETTER DDHA
+095D ; [.2003.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER RHA
+0923 ; [.2004.0020.0002] # DEVANAGARI LETTER NNA
+0924 ; [.2005.0020.0002] # DEVANAGARI LETTER TA
+0925 ; [.2006.0020.0002] # DEVANAGARI LETTER THA
+0926 ; [.2007.0020.0002] # DEVANAGARI LETTER DA
+0927 ; [.2008.0020.0002] # DEVANAGARI LETTER DHA
+0928 ; [.2009.0020.0002] # DEVANAGARI LETTER NA
+0929 ; [.2009.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER NNNA
+092A ; [.200A.0020.0002] # DEVANAGARI LETTER PA
+092B ; [.200B.0020.0002] # DEVANAGARI LETTER PHA
+095E ; [.200B.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER FA
+092C ; [.200C.0020.0002] # DEVANAGARI LETTER BA
+097F ; [.200D.0020.0002] # DEVANAGARI LETTER BBA
+092D ; [.200E.0020.0002] # DEVANAGARI LETTER BHA
+092E ; [.200F.0020.0002] # DEVANAGARI LETTER MA
+092F ; [.2010.0020.0002] # DEVANAGARI LETTER YA
+095F ; [.2010.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER YYA
+097A ; [.2011.0020.0002] # DEVANAGARI LETTER HEAVY YA
+0930 ; [.2012.0020.0002] # DEVANAGARI LETTER RA
+0931 ; [.2012.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER RRA
+0932 ; [.2013.0020.0002] # DEVANAGARI LETTER LA
+0933 ; [.2014.0020.0002] # DEVANAGARI LETTER LLA
+0934 ; [.2014.0020.0002][.0000.00B6.0002] # DEVANAGARI LETTER LLLA
+0935 ; [.2015.0020.0002] # DEVANAGARI LETTER VA
+0936 ; [.2016.0020.0002] # DEVANAGARI LETTER SHA
+0937 ; [.2017.0020.0002] # DEVANAGARI LETTER SSA
+0938 ; [.2018.0020.0002] # DEVANAGARI LETTER SA
+0939 ; [.2019.0020.0002] # DEVANAGARI LETTER HA
+093D ; [.201A.0020.0002] # DEVANAGARI SIGN AVAGRAHA
+097D ; [.201B.0020.0002] # DEVANAGARI LETTER GLOTTAL STOP
+1CE9 ; [.201C.0020.0002] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
+1CEA ; [.201C.0020.0004] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
+1CEB ; [.201C.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
+1CEC ; [.201C.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CEE ; [.201C.0020.0004] # VEDIC SIGN HEXIFORM LONG ANUSVARA
+1CEF ; [.201C.0020.0004] # VEDIC SIGN LONG ANUSVARA
+1CF0 ; [.201C.0020.0004] # VEDIC SIGN RTHANG LONG ANUSVARA
+1CF1 ; [.201C.0020.0004] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5 ; [.201D.0020.0002] # VEDIC SIGN JIHVAMULIYA
+1CF6 ; [.201E.0020.0002] # VEDIC SIGN UPADHMANIYA
+A8F2 ; [.201F.0020.0002] # DEVANAGARI SIGN SPACING CANDRABINDU
+A8F3 ; [.201F.0020.0004] # DEVANAGARI SIGN CANDRABINDU VIRAMA
+A8F4 ; [.201F.0020.0004] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
+A8F5 ; [.201F.0020.0004] # DEVANAGARI SIGN CANDRABINDU TWO
+A8F6 ; [.201F.0020.0004] # DEVANAGARI SIGN CANDRABINDU THREE
+A8F7 ; [.201F.0020.0004] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8FB ; [.2020.0020.0002] # DEVANAGARI HEADSTROKE
+093E ; [.2021.0020.0002] # DEVANAGARI VOWEL SIGN AA
+093A ; [.2022.0020.0002] # DEVANAGARI VOWEL SIGN OE
+093B ; [.2023.0020.0002] # DEVANAGARI VOWEL SIGN OOE
+094F ; [.2024.0020.0002] # DEVANAGARI VOWEL SIGN AW
+0956 ; [.2025.0020.0002] # DEVANAGARI VOWEL SIGN UE
+0957 ; [.2026.0020.0002] # DEVANAGARI VOWEL SIGN UUE
+093F ; [.2027.0020.0002] # DEVANAGARI VOWEL SIGN I
+0940 ; [.2028.0020.0002] # DEVANAGARI VOWEL SIGN II
+0941 ; [.2029.0020.0002] # DEVANAGARI VOWEL SIGN U
+0942 ; [.202A.0020.0002] # DEVANAGARI VOWEL SIGN UU
+0943 ; [.202B.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC R
+0944 ; [.202C.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC RR
+0962 ; [.202D.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC L
+0963 ; [.202E.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC LL
+0945 ; [.202F.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA E
+0955 ; [.2030.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA LONG E
+0946 ; [.2031.0020.0002] # DEVANAGARI VOWEL SIGN SHORT E
+0947 ; [.2032.0020.0002] # DEVANAGARI VOWEL SIGN E
+094E ; [.2033.0020.0002] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0948 ; [.2034.0020.0002] # DEVANAGARI VOWEL SIGN AI
+0949 ; [.2035.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA O
+094A ; [.2036.0020.0002] # DEVANAGARI VOWEL SIGN SHORT O
+094B ; [.2037.0020.0002] # DEVANAGARI VOWEL SIGN O
+094C ; [.2038.0020.0002] # DEVANAGARI VOWEL SIGN AU
+094D ; [.2039.0020.0002] # DEVANAGARI SIGN VIRAMA
+0985 ; [.203A.0020.0002] # BENGALI LETTER A
+0986 ; [.203B.0020.0002] # BENGALI LETTER AA
+0987 ; [.203C.0020.0002] # BENGALI LETTER I
+0988 ; [.203D.0020.0002] # BENGALI LETTER II
+0989 ; [.203E.0020.0002] # BENGALI LETTER U
+098A ; [.203F.0020.0002] # BENGALI LETTER UU
+098B ; [.2040.0020.0002] # BENGALI LETTER VOCALIC R
+09E0 ; [.2041.0020.0002] # BENGALI LETTER VOCALIC RR
+098C ; [.2042.0020.0002] # BENGALI LETTER VOCALIC L
+09E1 ; [.2043.0020.0002] # BENGALI LETTER VOCALIC LL
+098F ; [.2044.0020.0002] # BENGALI LETTER E
+0990 ; [.2045.0020.0002] # BENGALI LETTER AI
+0993 ; [.2046.0020.0002] # BENGALI LETTER O
+0994 ; [.2047.0020.0002] # BENGALI LETTER AU
+0995 ; [.2048.0020.0002] # BENGALI LETTER KA
+0996 ; [.2049.0020.0002] # BENGALI LETTER KHA
+0997 ; [.204A.0020.0002] # BENGALI LETTER GA
+0998 ; [.204B.0020.0002] # BENGALI LETTER GHA
+0999 ; [.204C.0020.0002] # BENGALI LETTER NGA
+099A ; [.204D.0020.0002] # BENGALI LETTER CA
+099B ; [.204E.0020.0002] # BENGALI LETTER CHA
+099C ; [.204F.0020.0002] # BENGALI LETTER JA
+099D ; [.2050.0020.0002] # BENGALI LETTER JHA
+099E ; [.2051.0020.0002] # BENGALI LETTER NYA
+099F ; [.2052.0020.0002] # BENGALI LETTER TTA
+09A0 ; [.2053.0020.0002] # BENGALI LETTER TTHA
+09A1 ; [.2054.0020.0002] # BENGALI LETTER DDA
+09DC ; [.2054.0020.0002][.0000.00B6.0002] # BENGALI LETTER RRA
+09A2 ; [.2055.0020.0002] # BENGALI LETTER DDHA
+09DD ; [.2055.0020.0002][.0000.00B6.0002] # BENGALI LETTER RHA
+09A3 ; [.2056.0020.0002] # BENGALI LETTER NNA
+09A4 ; [.2057.0020.0002] # BENGALI LETTER TA
+09CE ; [.2057.0020.0004][.2078.0020.0004] # BENGALI LETTER KHANDA TA
+09A5 ; [.2058.0020.0002] # BENGALI LETTER THA
+09A6 ; [.2059.0020.0002] # BENGALI LETTER DA
+09A7 ; [.205A.0020.0002] # BENGALI LETTER DHA
+09A8 ; [.205B.0020.0002] # BENGALI LETTER NA
+09AA ; [.205C.0020.0002] # BENGALI LETTER PA
+09AB ; [.205D.0020.0002] # BENGALI LETTER PHA
+09AC ; [.205E.0020.0002] # BENGALI LETTER BA
+09AD ; [.205F.0020.0002] # BENGALI LETTER BHA
+09AE ; [.2060.0020.0002] # BENGALI LETTER MA
+09AF ; [.2061.0020.0002] # BENGALI LETTER YA
+09DF ; [.2061.0020.0002][.0000.00B6.0002] # BENGALI LETTER YYA
+09B0 ; [.2062.0020.0002] # BENGALI LETTER RA
+09F0 ; [.2063.0020.0002] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09B2 ; [.2064.0020.0002] # BENGALI LETTER LA
+09F1 ; [.2065.0020.0002] # BENGALI LETTER RA WITH LOWER DIAGONAL
+09B6 ; [.2066.0020.0002] # BENGALI LETTER SHA
+09B7 ; [.2067.0020.0002] # BENGALI LETTER SSA
+09B8 ; [.2068.0020.0002] # BENGALI LETTER SA
+09B9 ; [.2069.0020.0002] # BENGALI LETTER HA
+09BD ; [.206A.0020.0002] # BENGALI SIGN AVAGRAHA
+09BE ; [.206B.0020.0002] # BENGALI VOWEL SIGN AA
+09BF ; [.206C.0020.0002] # BENGALI VOWEL SIGN I
+09C0 ; [.206D.0020.0002] # BENGALI VOWEL SIGN II
+09C1 ; [.206E.0020.0002] # BENGALI VOWEL SIGN U
+09C2 ; [.206F.0020.0002] # BENGALI VOWEL SIGN UU
+09C3 ; [.2070.0020.0002] # BENGALI VOWEL SIGN VOCALIC R
+09C4 ; [.2071.0020.0002] # BENGALI VOWEL SIGN VOCALIC RR
+09E2 ; [.2072.0020.0002] # BENGALI VOWEL SIGN VOCALIC L
+09E3 ; [.2073.0020.0002] # BENGALI VOWEL SIGN VOCALIC LL
+09C7 ; [.2074.0020.0002] # BENGALI VOWEL SIGN E
+09C8 ; [.2075.0020.0002] # BENGALI VOWEL SIGN AI
+09CB ; [.2076.0020.0002] # BENGALI VOWEL SIGN O
+09C7 09BE ; [.2076.0020.0002] # BENGALI VOWEL SIGN O
+09CC ; [.2077.0020.0002] # BENGALI VOWEL SIGN AU
+09C7 09D7 ; [.2077.0020.0002] # BENGALI VOWEL SIGN AU
+09CD ; [.2078.0020.0002] # BENGALI SIGN VIRAMA
+09D7 ; [.2079.0020.0002] # BENGALI AU LENGTH MARK
+0A74 ; [.207A.0020.0002] # GURMUKHI EK ONKAR
+0A73 ; [.207B.0020.0002] # GURMUKHI URA
+0A09 ; [.207C.0020.0002] # GURMUKHI LETTER U
+0A0A ; [.207D.0020.0002] # GURMUKHI LETTER UU
+0A13 ; [.207E.0020.0002] # GURMUKHI LETTER OO
+0A05 ; [.207F.0020.0002] # GURMUKHI LETTER A
+0A06 ; [.2080.0020.0002] # GURMUKHI LETTER AA
+0A10 ; [.2081.0020.0002] # GURMUKHI LETTER AI
+0A14 ; [.2082.0020.0002] # GURMUKHI LETTER AU
+0A72 ; [.2083.0020.0002] # GURMUKHI IRI
+0A07 ; [.2084.0020.0002] # GURMUKHI LETTER I
+0A08 ; [.2085.0020.0002] # GURMUKHI LETTER II
+0A0F ; [.2086.0020.0002] # GURMUKHI LETTER EE
+0A38 ; [.2087.0020.0002] # GURMUKHI LETTER SA
+0A36 ; [.2087.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER SHA
+0A39 ; [.2088.0020.0002] # GURMUKHI LETTER HA
+0A51 ; [.2089.0020.0002] # GURMUKHI SIGN UDAAT
+0A15 ; [.208A.0020.0002] # GURMUKHI LETTER KA
+0A16 ; [.208B.0020.0002] # GURMUKHI LETTER KHA
+0A59 ; [.208B.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER KHHA
+0A17 ; [.208C.0020.0002] # GURMUKHI LETTER GA
+0A5A ; [.208C.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER GHHA
+0A18 ; [.208D.0020.0002] # GURMUKHI LETTER GHA
+0A19 ; [.208E.0020.0002] # GURMUKHI LETTER NGA
+0A1A ; [.208F.0020.0002] # GURMUKHI LETTER CA
+0A1B ; [.2090.0020.0002] # GURMUKHI LETTER CHA
+0A1C ; [.2091.0020.0002] # GURMUKHI LETTER JA
+0A5B ; [.2091.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER ZA
+0A1D ; [.2092.0020.0002] # GURMUKHI LETTER JHA
+0A1E ; [.2093.0020.0002] # GURMUKHI LETTER NYA
+0A1F ; [.2094.0020.0002] # GURMUKHI LETTER TTA
+0A20 ; [.2095.0020.0002] # GURMUKHI LETTER TTHA
+0A21 ; [.2096.0020.0002] # GURMUKHI LETTER DDA
+0A22 ; [.2097.0020.0002] # GURMUKHI LETTER DDHA
+0A23 ; [.2098.0020.0002] # GURMUKHI LETTER NNA
+0A24 ; [.2099.0020.0002] # GURMUKHI LETTER TA
+0A25 ; [.209A.0020.0002] # GURMUKHI LETTER THA
+0A26 ; [.209B.0020.0002] # GURMUKHI LETTER DA
+0A27 ; [.209C.0020.0002] # GURMUKHI LETTER DHA
+0A28 ; [.209D.0020.0002] # GURMUKHI LETTER NA
+0A2A ; [.209E.0020.0002] # GURMUKHI LETTER PA
+0A2B ; [.209F.0020.0002] # GURMUKHI LETTER PHA
+0A5E ; [.209F.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER FA
+0A2C ; [.20A0.0020.0002] # GURMUKHI LETTER BA
+0A2D ; [.20A1.0020.0002] # GURMUKHI LETTER BHA
+0A2E ; [.20A2.0020.0002] # GURMUKHI LETTER MA
+0A2F ; [.20A3.0020.0002] # GURMUKHI LETTER YA
+0A75 ; [.20A4.0020.0002] # GURMUKHI SIGN YAKASH
+0A30 ; [.20A5.0020.0002] # GURMUKHI LETTER RA
+0A32 ; [.20A6.0020.0002] # GURMUKHI LETTER LA
+0A33 ; [.20A6.0020.0002][.0000.00B6.0002] # GURMUKHI LETTER LLA
+0A35 ; [.20A7.0020.0002] # GURMUKHI LETTER VA
+0A5C ; [.20A8.0020.0002] # GURMUKHI LETTER RRA
+0A3E ; [.20A9.0020.0002] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.20AA.0020.0002] # GURMUKHI VOWEL SIGN I
+0A40 ; [.20AB.0020.0002] # GURMUKHI VOWEL SIGN II
+0A41 ; [.20AC.0020.0002] # GURMUKHI VOWEL SIGN U
+0A42 ; [.20AD.0020.0002] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.20AE.0020.0002] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.20AF.0020.0002] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.20B0.0020.0002] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.20B1.0020.0002] # GURMUKHI VOWEL SIGN AU
+0A4D ; [.20B2.0020.0002] # GURMUKHI SIGN VIRAMA
+0AD0 ; [.20B3.0020.0002] # GUJARATI OM
+0A85 ; [.20B4.0020.0002] # GUJARATI LETTER A
+0A86 ; [.20B5.0020.0002] # GUJARATI LETTER AA
+0A87 ; [.20B6.0020.0002] # GUJARATI LETTER I
+0A88 ; [.20B7.0020.0002] # GUJARATI LETTER II
+0A89 ; [.20B8.0020.0002] # GUJARATI LETTER U
+0A8A ; [.20B9.0020.0002] # GUJARATI LETTER UU
+0A8B ; [.20BA.0020.0002] # GUJARATI LETTER VOCALIC R
+0AE0 ; [.20BB.0020.0002] # GUJARATI LETTER VOCALIC RR
+0A8C ; [.20BC.0020.0002] # GUJARATI LETTER VOCALIC L
+0AE1 ; [.20BD.0020.0002] # GUJARATI LETTER VOCALIC LL
+0A8D ; [.20BE.0020.0002] # GUJARATI VOWEL CANDRA E
+0A8F ; [.20BF.0020.0002] # GUJARATI LETTER E
+0A90 ; [.20C0.0020.0002] # GUJARATI LETTER AI
+0A91 ; [.20C1.0020.0002] # GUJARATI VOWEL CANDRA O
+0A93 ; [.20C2.0020.0002] # GUJARATI LETTER O
+0A94 ; [.20C3.0020.0002] # GUJARATI LETTER AU
+0A95 ; [.20C4.0020.0002] # GUJARATI LETTER KA
+0A96 ; [.20C5.0020.0002] # GUJARATI LETTER KHA
+0A97 ; [.20C6.0020.0002] # GUJARATI LETTER GA
+0A98 ; [.20C7.0020.0002] # GUJARATI LETTER GHA
+0A99 ; [.20C8.0020.0002] # GUJARATI LETTER NGA
+0A9A ; [.20C9.0020.0002] # GUJARATI LETTER CA
+0A9B ; [.20CA.0020.0002] # GUJARATI LETTER CHA
+0A9C ; [.20CB.0020.0002] # GUJARATI LETTER JA
+0A9D ; [.20CC.0020.0002] # GUJARATI LETTER JHA
+0A9E ; [.20CD.0020.0002] # GUJARATI LETTER NYA
+0A9F ; [.20CE.0020.0002] # GUJARATI LETTER TTA
+0AA0 ; [.20CF.0020.0002] # GUJARATI LETTER TTHA
+0AA1 ; [.20D0.0020.0002] # GUJARATI LETTER DDA
+0AA2 ; [.20D1.0020.0002] # GUJARATI LETTER DDHA
+0AA3 ; [.20D2.0020.0002] # GUJARATI LETTER NNA
+0AA4 ; [.20D3.0020.0002] # GUJARATI LETTER TA
+0AA5 ; [.20D4.0020.0002] # GUJARATI LETTER THA
+0AA6 ; [.20D5.0020.0002] # GUJARATI LETTER DA
+0AA7 ; [.20D6.0020.0002] # GUJARATI LETTER DHA
+0AA8 ; [.20D7.0020.0002] # GUJARATI LETTER NA
+0AAA ; [.20D8.0020.0002] # GUJARATI LETTER PA
+0AAB ; [.20D9.0020.0002] # GUJARATI LETTER PHA
+0AAC ; [.20DA.0020.0002] # GUJARATI LETTER BA
+0AAD ; [.20DB.0020.0002] # GUJARATI LETTER BHA
+0AAE ; [.20DC.0020.0002] # GUJARATI LETTER MA
+0AAF ; [.20DD.0020.0002] # GUJARATI LETTER YA
+0AB0 ; [.20DE.0020.0002] # GUJARATI LETTER RA
+0AB2 ; [.20DF.0020.0002] # GUJARATI LETTER LA
+0AB5 ; [.20E0.0020.0002] # GUJARATI LETTER VA
+0AB6 ; [.20E1.0020.0002] # GUJARATI LETTER SHA
+0AB7 ; [.20E2.0020.0002] # GUJARATI LETTER SSA
+0AB8 ; [.20E3.0020.0002] # GUJARATI LETTER SA
+0AB9 ; [.20E4.0020.0002] # GUJARATI LETTER HA
+0AB3 ; [.20E5.0020.0002] # GUJARATI LETTER LLA
+0ABD ; [.20E6.0020.0002] # GUJARATI SIGN AVAGRAHA
+0ABE ; [.20E7.0020.0002] # GUJARATI VOWEL SIGN AA
+0ABF ; [.20E8.0020.0002] # GUJARATI VOWEL SIGN I
+0AC0 ; [.20E9.0020.0002] # GUJARATI VOWEL SIGN II
+0AC1 ; [.20EA.0020.0002] # GUJARATI VOWEL SIGN U
+0AC2 ; [.20EB.0020.0002] # GUJARATI VOWEL SIGN UU
+0AC3 ; [.20EC.0020.0002] # GUJARATI VOWEL SIGN VOCALIC R
+0AC4 ; [.20ED.0020.0002] # GUJARATI VOWEL SIGN VOCALIC RR
+0AE2 ; [.20EE.0020.0002] # GUJARATI VOWEL SIGN VOCALIC L
+0AE3 ; [.20EF.0020.0002] # GUJARATI VOWEL SIGN VOCALIC LL
+0AC5 ; [.20F0.0020.0002] # GUJARATI VOWEL SIGN CANDRA E
+0AC7 ; [.20F1.0020.0002] # GUJARATI VOWEL SIGN E
+0AC8 ; [.20F2.0020.0002] # GUJARATI VOWEL SIGN AI
+0AC9 ; [.20F3.0020.0002] # GUJARATI VOWEL SIGN CANDRA O
+0ACB ; [.20F4.0020.0002] # GUJARATI VOWEL SIGN O
+0ACC ; [.20F5.0020.0002] # GUJARATI VOWEL SIGN AU
+0ACD ; [.20F6.0020.0002] # GUJARATI SIGN VIRAMA
+0B05 ; [.20F7.0020.0002] # ORIYA LETTER A
+0B06 ; [.20F8.0020.0002] # ORIYA LETTER AA
+0B07 ; [.20F9.0020.0002] # ORIYA LETTER I
+0B08 ; [.20FA.0020.0002] # ORIYA LETTER II
+0B09 ; [.20FB.0020.0002] # ORIYA LETTER U
+0B0A ; [.20FC.0020.0002] # ORIYA LETTER UU
+0B0B ; [.20FD.0020.0002] # ORIYA LETTER VOCALIC R
+0B60 ; [.20FE.0020.0002] # ORIYA LETTER VOCALIC RR
+0B0C ; [.20FF.0020.0002] # ORIYA LETTER VOCALIC L
+0B61 ; [.2100.0020.0002] # ORIYA LETTER VOCALIC LL
+0B0F ; [.2101.0020.0002] # ORIYA LETTER E
+0B10 ; [.2102.0020.0002] # ORIYA LETTER AI
+0B13 ; [.2103.0020.0002] # ORIYA LETTER O
+0B14 ; [.2104.0020.0002] # ORIYA LETTER AU
+0B15 ; [.2105.0020.0002] # ORIYA LETTER KA
+0B16 ; [.2106.0020.0002] # ORIYA LETTER KHA
+0B17 ; [.2107.0020.0002] # ORIYA LETTER GA
+0B18 ; [.2108.0020.0002] # ORIYA LETTER GHA
+0B19 ; [.2109.0020.0002] # ORIYA LETTER NGA
+0B1A ; [.210A.0020.0002] # ORIYA LETTER CA
+0B1B ; [.210B.0020.0002] # ORIYA LETTER CHA
+0B1C ; [.210C.0020.0002] # ORIYA LETTER JA
+0B1D ; [.210D.0020.0002] # ORIYA LETTER JHA
+0B1E ; [.210E.0020.0002] # ORIYA LETTER NYA
+0B1F ; [.210F.0020.0002] # ORIYA LETTER TTA
+0B20 ; [.2110.0020.0002] # ORIYA LETTER TTHA
+0B21 ; [.2111.0020.0002] # ORIYA LETTER DDA
+0B5C ; [.2111.0020.0002][.0000.00B6.0002] # ORIYA LETTER RRA
+0B22 ; [.2112.0020.0002] # ORIYA LETTER DDHA
+0B5D ; [.2112.0020.0002][.0000.00B6.0002] # ORIYA LETTER RHA
+0B23 ; [.2113.0020.0002] # ORIYA LETTER NNA
+0B24 ; [.2114.0020.0002] # ORIYA LETTER TA
+0B25 ; [.2115.0020.0002] # ORIYA LETTER THA
+0B26 ; [.2116.0020.0002] # ORIYA LETTER DA
+0B27 ; [.2117.0020.0002] # ORIYA LETTER DHA
+0B28 ; [.2118.0020.0002] # ORIYA LETTER NA
+0B2A ; [.2119.0020.0002] # ORIYA LETTER PA
+0B2B ; [.211A.0020.0002] # ORIYA LETTER PHA
+0B2C ; [.211B.0020.0002] # ORIYA LETTER BA
+0B2D ; [.211C.0020.0002] # ORIYA LETTER BHA
+0B2E ; [.211D.0020.0002] # ORIYA LETTER MA
+0B2F ; [.211E.0020.0002] # ORIYA LETTER YA
+0B5F ; [.211F.0020.0002] # ORIYA LETTER YYA
+0B30 ; [.2120.0020.0002] # ORIYA LETTER RA
+0B32 ; [.2121.0020.0002] # ORIYA LETTER LA
+0B33 ; [.2122.0020.0002] # ORIYA LETTER LLA
+0B35 ; [.2123.0020.0002] # ORIYA LETTER VA
+0B71 ; [.2124.0020.0002] # ORIYA LETTER WA
+0B36 ; [.2125.0020.0002] # ORIYA LETTER SHA
+0B37 ; [.2126.0020.0002] # ORIYA LETTER SSA
+0B38 ; [.2127.0020.0002] # ORIYA LETTER SA
+0B39 ; [.2128.0020.0002] # ORIYA LETTER HA
+0B3D ; [.2129.0020.0002] # ORIYA SIGN AVAGRAHA
+0B3E ; [.212A.0020.0002] # ORIYA VOWEL SIGN AA
+0B3F ; [.212B.0020.0002] # ORIYA VOWEL SIGN I
+0B40 ; [.212C.0020.0002] # ORIYA VOWEL SIGN II
+0B41 ; [.212D.0020.0002] # ORIYA VOWEL SIGN U
+0B42 ; [.212E.0020.0002] # ORIYA VOWEL SIGN UU
+0B43 ; [.212F.0020.0002] # ORIYA VOWEL SIGN VOCALIC R
+0B44 ; [.2130.0020.0002] # ORIYA VOWEL SIGN VOCALIC RR
+0B62 ; [.2131.0020.0002] # ORIYA VOWEL SIGN VOCALIC L
+0B63 ; [.2132.0020.0002] # ORIYA VOWEL SIGN VOCALIC LL
+0B47 ; [.2133.0020.0002] # ORIYA VOWEL SIGN E
+0B48 ; [.2134.0020.0002] # ORIYA VOWEL SIGN AI
+0B47 0B56 ; [.2134.0020.0002] # ORIYA VOWEL SIGN AI
+0B4B ; [.2135.0020.0002] # ORIYA VOWEL SIGN O
+0B47 0B3E ; [.2135.0020.0002] # ORIYA VOWEL SIGN O
+0B4C ; [.2136.0020.0002] # ORIYA VOWEL SIGN AU
+0B47 0B57 ; [.2136.0020.0002] # ORIYA VOWEL SIGN AU
+0B4D ; [.2137.0020.0002] # ORIYA SIGN VIRAMA
+0B56 ; [.2138.0020.0002] # ORIYA AI LENGTH MARK
+0B57 ; [.2139.0020.0002] # ORIYA AU LENGTH MARK
+0BD0 ; [.213A.0020.0002] # TAMIL OM
+0B85 ; [.213B.0020.0002] # TAMIL LETTER A
+0B86 ; [.213C.0020.0002] # TAMIL LETTER AA
+0B87 ; [.213D.0020.0002] # TAMIL LETTER I
+0B88 ; [.213E.0020.0002] # TAMIL LETTER II
+0B89 ; [.213F.0020.0002] # TAMIL LETTER U
+0B8A ; [.2140.0020.0002] # TAMIL LETTER UU
+0B8E ; [.2141.0020.0002] # TAMIL LETTER E
+0B8F ; [.2142.0020.0002] # TAMIL LETTER EE
+0B90 ; [.2143.0020.0002] # TAMIL LETTER AI
+0B92 ; [.2144.0020.0002] # TAMIL LETTER O
+0B93 ; [.2145.0020.0002] # TAMIL LETTER OO
+0B94 ; [.2146.0020.0002] # TAMIL LETTER AU
+0B92 0BD7 ; [.2146.0020.0002] # TAMIL LETTER AU
+0B83 ; [.2147.0020.0002] # TAMIL SIGN VISARGA
+0B95 ; [.2148.0020.0002] # TAMIL LETTER KA
+0B99 ; [.2149.0020.0002] # TAMIL LETTER NGA
+0B9A ; [.214A.0020.0002] # TAMIL LETTER CA
+0B9E ; [.214B.0020.0002] # TAMIL LETTER NYA
+0B9F ; [.214C.0020.0002] # TAMIL LETTER TTA
+0BA3 ; [.214D.0020.0002] # TAMIL LETTER NNA
+0BA4 ; [.214E.0020.0002] # TAMIL LETTER TA
+0BA8 ; [.214F.0020.0002] # TAMIL LETTER NA
+0BAA ; [.2150.0020.0002] # TAMIL LETTER PA
+0BAE ; [.2151.0020.0002] # TAMIL LETTER MA
+0BAF ; [.2152.0020.0002] # TAMIL LETTER YA
+0BB0 ; [.2153.0020.0002] # TAMIL LETTER RA
+0BB2 ; [.2154.0020.0002] # TAMIL LETTER LA
+0BB5 ; [.2155.0020.0002] # TAMIL LETTER VA
+0BB4 ; [.2156.0020.0002] # TAMIL LETTER LLLA
+0BB3 ; [.2157.0020.0002] # TAMIL LETTER LLA
+0BB1 ; [.2158.0020.0002] # TAMIL LETTER RRA
+0BA9 ; [.2159.0020.0002] # TAMIL LETTER NNNA
+0B9C ; [.215A.0020.0002] # TAMIL LETTER JA
+0BB6 ; [.215B.0020.0002] # TAMIL LETTER SHA
+0BB7 ; [.215C.0020.0002] # TAMIL LETTER SSA
+0BB8 ; [.215D.0020.0002] # TAMIL LETTER SA
+0BB9 ; [.215E.0020.0002] # TAMIL LETTER HA
+0BBE ; [.215F.0020.0002] # TAMIL VOWEL SIGN AA
+0BBF ; [.2160.0020.0002] # TAMIL VOWEL SIGN I
+0BC0 ; [.2161.0020.0002] # TAMIL VOWEL SIGN II
+0BC1 ; [.2162.0020.0002] # TAMIL VOWEL SIGN U
+0BC2 ; [.2163.0020.0002] # TAMIL VOWEL SIGN UU
+0BC6 ; [.2164.0020.0002] # TAMIL VOWEL SIGN E
+0BC7 ; [.2165.0020.0002] # TAMIL VOWEL SIGN EE
+0BC8 ; [.2166.0020.0002] # TAMIL VOWEL SIGN AI
+0BCA ; [.2167.0020.0002] # TAMIL VOWEL SIGN O
+0BC6 0BBE ; [.2167.0020.0002] # TAMIL VOWEL SIGN O
+0BCB ; [.2168.0020.0002] # TAMIL VOWEL SIGN OO
+0BC7 0BBE ; [.2168.0020.0002] # TAMIL VOWEL SIGN OO
+0BCC ; [.2169.0020.0002] # TAMIL VOWEL SIGN AU
+0BC6 0BD7 ; [.2169.0020.0002] # TAMIL VOWEL SIGN AU
+0BCD ; [.216A.0020.0002] # TAMIL SIGN VIRAMA
+0BD7 ; [.216B.0020.0002] # TAMIL AU LENGTH MARK
+0C05 ; [.216C.0020.0002] # TELUGU LETTER A
+0C06 ; [.216D.0020.0002] # TELUGU LETTER AA
+0C07 ; [.216E.0020.0002] # TELUGU LETTER I
+0C08 ; [.216F.0020.0002] # TELUGU LETTER II
+0C09 ; [.2170.0020.0002] # TELUGU LETTER U
+0C0A ; [.2171.0020.0002] # TELUGU LETTER UU
+0C0B ; [.2172.0020.0002] # TELUGU LETTER VOCALIC R
+0C60 ; [.2173.0020.0002] # TELUGU LETTER VOCALIC RR
+0C0C ; [.2174.0020.0002] # TELUGU LETTER VOCALIC L
+0C61 ; [.2175.0020.0002] # TELUGU LETTER VOCALIC LL
+0C0E ; [.2176.0020.0002] # TELUGU LETTER E
+0C0F ; [.2177.0020.0002] # TELUGU LETTER EE
+0C10 ; [.2178.0020.0002] # TELUGU LETTER AI
+0C12 ; [.2179.0020.0002] # TELUGU LETTER O
+0C13 ; [.217A.0020.0002] # TELUGU LETTER OO
+0C14 ; [.217B.0020.0002] # TELUGU LETTER AU
+0C15 ; [.217C.0020.0002] # TELUGU LETTER KA
+0C16 ; [.217D.0020.0002] # TELUGU LETTER KHA
+0C17 ; [.217E.0020.0002] # TELUGU LETTER GA
+0C18 ; [.217F.0020.0002] # TELUGU LETTER GHA
+0C19 ; [.2180.0020.0002] # TELUGU LETTER NGA
+0C1A ; [.2181.0020.0002] # TELUGU LETTER CA
+0C58 ; [.2182.0020.0002] # TELUGU LETTER TSA
+0C1B ; [.2183.0020.0002] # TELUGU LETTER CHA
+0C1C ; [.2184.0020.0002] # TELUGU LETTER JA
+0C59 ; [.2185.0020.0002] # TELUGU LETTER DZA
+0C1D ; [.2186.0020.0002] # TELUGU LETTER JHA
+0C1E ; [.2187.0020.0002] # TELUGU LETTER NYA
+0C1F ; [.2188.0020.0002] # TELUGU LETTER TTA
+0C20 ; [.2189.0020.0002] # TELUGU LETTER TTHA
+0C21 ; [.218A.0020.0002] # TELUGU LETTER DDA
+0C22 ; [.218B.0020.0002] # TELUGU LETTER DDHA
+0C23 ; [.218C.0020.0002] # TELUGU LETTER NNA
+0C24 ; [.218D.0020.0002] # TELUGU LETTER TA
+0C25 ; [.218E.0020.0002] # TELUGU LETTER THA
+0C26 ; [.218F.0020.0002] # TELUGU LETTER DA
+0C27 ; [.2190.0020.0002] # TELUGU LETTER DHA
+0C28 ; [.2191.0020.0002] # TELUGU LETTER NA
+0C2A ; [.2192.0020.0002] # TELUGU LETTER PA
+0C2B ; [.2193.0020.0002] # TELUGU LETTER PHA
+0C2C ; [.2194.0020.0002] # TELUGU LETTER BA
+0C2D ; [.2195.0020.0002] # TELUGU LETTER BHA
+0C2E ; [.2196.0020.0002] # TELUGU LETTER MA
+0C2F ; [.2197.0020.0002] # TELUGU LETTER YA
+0C30 ; [.2198.0020.0002] # TELUGU LETTER RA
+0C31 ; [.2199.0020.0002] # TELUGU LETTER RRA
+0C32 ; [.219A.0020.0002] # TELUGU LETTER LA
+0C35 ; [.219B.0020.0002] # TELUGU LETTER VA
+0C36 ; [.219C.0020.0002] # TELUGU LETTER SHA
+0C37 ; [.219D.0020.0002] # TELUGU LETTER SSA
+0C38 ; [.219E.0020.0002] # TELUGU LETTER SA
+0C39 ; [.219F.0020.0002] # TELUGU LETTER HA
+0C33 ; [.21A0.0020.0002] # TELUGU LETTER LLA
+0C3D ; [.21A1.0020.0002] # TELUGU SIGN AVAGRAHA
+0C3E ; [.21A2.0020.0002] # TELUGU VOWEL SIGN AA
+0C3F ; [.21A3.0020.0002] # TELUGU VOWEL SIGN I
+0C40 ; [.21A4.0020.0002] # TELUGU VOWEL SIGN II
+0C41 ; [.21A5.0020.0002] # TELUGU VOWEL SIGN U
+0C42 ; [.21A6.0020.0002] # TELUGU VOWEL SIGN UU
+0C43 ; [.21A7.0020.0002] # TELUGU VOWEL SIGN VOCALIC R
+0C44 ; [.21A8.0020.0002] # TELUGU VOWEL SIGN VOCALIC RR
+0C62 ; [.21A9.0020.0002] # TELUGU VOWEL SIGN VOCALIC L
+0C63 ; [.21AA.0020.0002] # TELUGU VOWEL SIGN VOCALIC LL
+0C46 ; [.21AB.0020.0002] # TELUGU VOWEL SIGN E
+0C47 ; [.21AC.0020.0002] # TELUGU VOWEL SIGN EE
+0C48 ; [.21AD.0020.0002] # TELUGU VOWEL SIGN AI
+0C46 0C56 ; [.21AD.0020.0002] # TELUGU VOWEL SIGN AI
+0C4A ; [.21AE.0020.0002] # TELUGU VOWEL SIGN O
+0C4B ; [.21AF.0020.0002] # TELUGU VOWEL SIGN OO
+0C4C ; [.21B0.0020.0002] # TELUGU VOWEL SIGN AU
+0C4D ; [.21B1.0020.0002] # TELUGU SIGN VIRAMA
+0C55 ; [.21B2.0020.0002] # TELUGU LENGTH MARK
+0C56 ; [.21B3.0020.0002] # TELUGU AI LENGTH MARK
+0C85 ; [.21B4.0020.0002] # KANNADA LETTER A
+0C86 ; [.21B5.0020.0002] # KANNADA LETTER AA
+0C87 ; [.21B6.0020.0002] # KANNADA LETTER I
+0C88 ; [.21B7.0020.0002] # KANNADA LETTER II
+0C89 ; [.21B8.0020.0002] # KANNADA LETTER U
+0C8A ; [.21B9.0020.0002] # KANNADA LETTER UU
+0C8B ; [.21BA.0020.0002] # KANNADA LETTER VOCALIC R
+0CE0 ; [.21BB.0020.0002] # KANNADA LETTER VOCALIC RR
+0C8C ; [.21BC.0020.0002] # KANNADA LETTER VOCALIC L
+0CE1 ; [.21BD.0020.0002] # KANNADA LETTER VOCALIC LL
+0C8E ; [.21BE.0020.0002] # KANNADA LETTER E
+0C8F ; [.21BF.0020.0002] # KANNADA LETTER EE
+0C90 ; [.21C0.0020.0002] # KANNADA LETTER AI
+0C92 ; [.21C1.0020.0002] # KANNADA LETTER O
+0C93 ; [.21C2.0020.0002] # KANNADA LETTER OO
+0C94 ; [.21C3.0020.0002] # KANNADA LETTER AU
+0C95 ; [.21C4.0020.0002] # KANNADA LETTER KA
+0C96 ; [.21C5.0020.0002] # KANNADA LETTER KHA
+0C97 ; [.21C6.0020.0002] # KANNADA LETTER GA
+0C98 ; [.21C7.0020.0002] # KANNADA LETTER GHA
+0C99 ; [.21C8.0020.0002] # KANNADA LETTER NGA
+0C9A ; [.21C9.0020.0002] # KANNADA LETTER CA
+0C9B ; [.21CA.0020.0002] # KANNADA LETTER CHA
+0C9C ; [.21CB.0020.0002] # KANNADA LETTER JA
+0C9D ; [.21CC.0020.0002] # KANNADA LETTER JHA
+0C9E ; [.21CD.0020.0002] # KANNADA LETTER NYA
+0C9F ; [.21CE.0020.0002] # KANNADA LETTER TTA
+0CA0 ; [.21CF.0020.0002] # KANNADA LETTER TTHA
+0CA1 ; [.21D0.0020.0002] # KANNADA LETTER DDA
+0CA2 ; [.21D1.0020.0002] # KANNADA LETTER DDHA
+0CA3 ; [.21D2.0020.0002] # KANNADA LETTER NNA
+0CA4 ; [.21D3.0020.0002] # KANNADA LETTER TA
+0CA5 ; [.21D4.0020.0002] # KANNADA LETTER THA
+0CA6 ; [.21D5.0020.0002] # KANNADA LETTER DA
+0CA7 ; [.21D6.0020.0002] # KANNADA LETTER DHA
+0CA8 ; [.21D7.0020.0002] # KANNADA LETTER NA
+0CAA ; [.21D8.0020.0002] # KANNADA LETTER PA
+0CAB ; [.21D9.0020.0002] # KANNADA LETTER PHA
+0CAC ; [.21DA.0020.0002] # KANNADA LETTER BA
+0CAD ; [.21DB.0020.0002] # KANNADA LETTER BHA
+0CAE ; [.21DC.0020.0002] # KANNADA LETTER MA
+0CAF ; [.21DD.0020.0002] # KANNADA LETTER YA
+0CB0 ; [.21DE.0020.0002] # KANNADA LETTER RA
+0CB1 ; [.21DF.0020.0002] # KANNADA LETTER RRA
+0CB2 ; [.21E0.0020.0002] # KANNADA LETTER LA
+0CB5 ; [.21E1.0020.0002] # KANNADA LETTER VA
+0CB6 ; [.21E2.0020.0002] # KANNADA LETTER SHA
+0CB7 ; [.21E3.0020.0002] # KANNADA LETTER SSA
+0CB8 ; [.21E4.0020.0002] # KANNADA LETTER SA
+0CB9 ; [.21E5.0020.0002] # KANNADA LETTER HA
+0CB3 ; [.21E6.0020.0002] # KANNADA LETTER LLA
+0CDE ; [.21E7.0020.0002] # KANNADA LETTER FA
+0CBD ; [.21E8.0020.0002] # KANNADA SIGN AVAGRAHA
+0CF1 ; [.21E9.0020.0002] # KANNADA SIGN JIHVAMULIYA
+0CF2 ; [.21EA.0020.0002] # KANNADA SIGN UPADHMANIYA
+0CBE ; [.21EB.0020.0002] # KANNADA VOWEL SIGN AA
+0CBF ; [.21EC.0020.0002] # KANNADA VOWEL SIGN I
+0CC0 ; [.21ED.0020.0002] # KANNADA VOWEL SIGN II
+0CBF 0CD5 ; [.21ED.0020.0002] # KANNADA VOWEL SIGN II
+0CC1 ; [.21EE.0020.0002] # KANNADA VOWEL SIGN U
+0CC2 ; [.21EF.0020.0002] # KANNADA VOWEL SIGN UU
+0CC3 ; [.21F0.0020.0002] # KANNADA VOWEL SIGN VOCALIC R
+0CC4 ; [.21F1.0020.0002] # KANNADA VOWEL SIGN VOCALIC RR
+0CE2 ; [.21F2.0020.0002] # KANNADA VOWEL SIGN VOCALIC L
+0CE3 ; [.21F3.0020.0002] # KANNADA VOWEL SIGN VOCALIC LL
+0CC6 ; [.21F4.0020.0002] # KANNADA VOWEL SIGN E
+0CC7 ; [.21F5.0020.0002] # KANNADA VOWEL SIGN EE
+0CC6 0CD5 ; [.21F5.0020.0002] # KANNADA VOWEL SIGN EE
+0CC8 ; [.21F6.0020.0002] # KANNADA VOWEL SIGN AI
+0CC6 0CD6 ; [.21F6.0020.0002] # KANNADA VOWEL SIGN AI
+0CCA ; [.21F7.0020.0002] # KANNADA VOWEL SIGN O
+0CC6 0CC2 ; [.21F7.0020.0002] # KANNADA VOWEL SIGN O
+0CCB ; [.21F8.0020.0002] # KANNADA VOWEL SIGN OO
+0CC6 0CC2 0CD5 ; [.21F8.0020.0002] # KANNADA VOWEL SIGN OO
+0CCA 0CD5 ; [.21F8.0020.0002] # KANNADA VOWEL SIGN OO
+0CCC ; [.21F9.0020.0002] # KANNADA VOWEL SIGN AU
+0CCD ; [.21FA.0020.0002] # KANNADA SIGN VIRAMA
+0CD5 ; [.21FB.0020.0002] # KANNADA LENGTH MARK
+0CD6 ; [.21FC.0020.0002] # KANNADA AI LENGTH MARK
+0D05 ; [.21FD.0020.0002] # MALAYALAM LETTER A
+0D06 ; [.21FE.0020.0002] # MALAYALAM LETTER AA
+0D07 ; [.21FF.0020.0002] # MALAYALAM LETTER I
+0D08 ; [.2200.0020.0002] # MALAYALAM LETTER II
+0D09 ; [.2201.0020.0002] # MALAYALAM LETTER U
+0D0A ; [.2202.0020.0002] # MALAYALAM LETTER UU
+0D0B ; [.2203.0020.0002] # MALAYALAM LETTER VOCALIC R
+0D60 ; [.2204.0020.0002] # MALAYALAM LETTER VOCALIC RR
+0D0C ; [.2205.0020.0002] # MALAYALAM LETTER VOCALIC L
+0D61 ; [.2206.0020.0002] # MALAYALAM LETTER VOCALIC LL
+0D0E ; [.2207.0020.0002] # MALAYALAM LETTER E
+0D0F ; [.2208.0020.0002] # MALAYALAM LETTER EE
+0D10 ; [.2209.0020.0002] # MALAYALAM LETTER AI
+0D12 ; [.220A.0020.0002] # MALAYALAM LETTER O
+0D13 ; [.220B.0020.0002] # MALAYALAM LETTER OO
+0D14 ; [.220C.0020.0002] # MALAYALAM LETTER AU
+0D15 ; [.220D.0020.0002] # MALAYALAM LETTER KA
+0D7F ; [.220D.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU K
+0D16 ; [.220E.0020.0002] # MALAYALAM LETTER KHA
+0D17 ; [.220F.0020.0002] # MALAYALAM LETTER GA
+0D18 ; [.2210.0020.0002] # MALAYALAM LETTER GHA
+0D19 ; [.2211.0020.0002] # MALAYALAM LETTER NGA
+0D1A ; [.2212.0020.0002] # MALAYALAM LETTER CA
+0D1B ; [.2213.0020.0002] # MALAYALAM LETTER CHA
+0D1C ; [.2214.0020.0002] # MALAYALAM LETTER JA
+0D1D ; [.2215.0020.0002] # MALAYALAM LETTER JHA
+0D1E ; [.2216.0020.0002] # MALAYALAM LETTER NYA
+0D1F ; [.2217.0020.0002] # MALAYALAM LETTER TTA
+0D20 ; [.2218.0020.0002] # MALAYALAM LETTER TTHA
+0D21 ; [.2219.0020.0002] # MALAYALAM LETTER DDA
+0D22 ; [.221A.0020.0002] # MALAYALAM LETTER DDHA
+0D23 ; [.221B.0020.0002] # MALAYALAM LETTER NNA
+0D7A ; [.221B.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU NN
+0D24 ; [.221C.0020.0002] # MALAYALAM LETTER TA
+0D25 ; [.221D.0020.0002] # MALAYALAM LETTER THA
+0D26 ; [.221E.0020.0002] # MALAYALAM LETTER DA
+0D27 ; [.221F.0020.0002] # MALAYALAM LETTER DHA
+0D28 ; [.2220.0020.0002] # MALAYALAM LETTER NA
+0D7B ; [.2220.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU N
+0D29 ; [.2221.0020.0002] # MALAYALAM LETTER NNNA
+0D2A ; [.2222.0020.0002] # MALAYALAM LETTER PA
+0D2B ; [.2223.0020.0002] # MALAYALAM LETTER PHA
+0D2C ; [.2224.0020.0002] # MALAYALAM LETTER BA
+0D2D ; [.2225.0020.0002] # MALAYALAM LETTER BHA
+0D2E ; [.2226.0020.0002] # MALAYALAM LETTER MA
+0D2F ; [.2227.0020.0002] # MALAYALAM LETTER YA
+0D30 ; [.2228.0020.0002] # MALAYALAM LETTER RA
+0D4E ; [.2228.0020.0004][.2244.0020.0004] # MALAYALAM LETTER DOT REPH
+0D7C ; [.2228.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU RR
+0D32 ; [.2229.0020.0002] # MALAYALAM LETTER LA
+0D7D ; [.2229.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU L
+0D35 ; [.222A.0020.0002] # MALAYALAM LETTER VA
+0D36 ; [.222B.0020.0002] # MALAYALAM LETTER SHA
+0D37 ; [.222C.0020.0002] # MALAYALAM LETTER SSA
+0D38 ; [.222D.0020.0002] # MALAYALAM LETTER SA
+0D39 ; [.222E.0020.0002] # MALAYALAM LETTER HA
+0D33 ; [.222F.0020.0002] # MALAYALAM LETTER LLA
+0D7E ; [.222F.0020.0004][.2244.0020.0004] # MALAYALAM LETTER CHILLU LL
+0D34 ; [.2230.0020.0002] # MALAYALAM LETTER LLLA
+0D31 ; [.2231.0020.0002] # MALAYALAM LETTER RRA
+0D3A ; [.2232.0020.0002] # MALAYALAM LETTER TTTA
+0D3D ; [.2233.0020.0002] # MALAYALAM SIGN AVAGRAHA
+0D3E ; [.2234.0020.0002] # MALAYALAM VOWEL SIGN AA
+0D3F ; [.2235.0020.0002] # MALAYALAM VOWEL SIGN I
+0D40 ; [.2236.0020.0002] # MALAYALAM VOWEL SIGN II
+0D41 ; [.2237.0020.0002] # MALAYALAM VOWEL SIGN U
+0D42 ; [.2238.0020.0002] # MALAYALAM VOWEL SIGN UU
+0D43 ; [.2239.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC R
+0D44 ; [.223A.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC RR
+0D62 ; [.223B.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC L
+0D63 ; [.223C.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC LL
+0D46 ; [.223D.0020.0002] # MALAYALAM VOWEL SIGN E
+0D47 ; [.223E.0020.0002] # MALAYALAM VOWEL SIGN EE
+0D48 ; [.223F.0020.0002] # MALAYALAM VOWEL SIGN AI
+0D4A ; [.2240.0020.0002] # MALAYALAM VOWEL SIGN O
+0D46 0D3E ; [.2240.0020.0002] # MALAYALAM VOWEL SIGN O
+0D4B ; [.2241.0020.0002] # MALAYALAM VOWEL SIGN OO
+0D47 0D3E ; [.2241.0020.0002] # MALAYALAM VOWEL SIGN OO
+0D4C ; [.2242.0020.0002] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.2242.0020.0002] # MALAYALAM VOWEL SIGN AU
+0D57 ; [.2243.0020.0002] # MALAYALAM AU LENGTH MARK
+0D4D ; [.2244.0020.0002] # MALAYALAM SIGN VIRAMA
+0D85 ; [.2245.0020.0002] # SINHALA LETTER AYANNA
+0D86 ; [.2246.0020.0002] # SINHALA LETTER AAYANNA
+0D87 ; [.2247.0020.0002] # SINHALA LETTER AEYANNA
+0D88 ; [.2248.0020.0002] # SINHALA LETTER AEEYANNA
+0D89 ; [.2249.0020.0002] # SINHALA LETTER IYANNA
+0D8A ; [.224A.0020.0002] # SINHALA LETTER IIYANNA
+0D8B ; [.224B.0020.0002] # SINHALA LETTER UYANNA
+0D8C ; [.224C.0020.0002] # SINHALA LETTER UUYANNA
+0D8D ; [.224D.0020.0002] # SINHALA LETTER IRUYANNA
+0D8E ; [.224E.0020.0002] # SINHALA LETTER IRUUYANNA
+0D8F ; [.224F.0020.0002] # SINHALA LETTER ILUYANNA
+0D90 ; [.2250.0020.0002] # SINHALA LETTER ILUUYANNA
+0D91 ; [.2251.0020.0002] # SINHALA LETTER EYANNA
+0D92 ; [.2252.0020.0002] # SINHALA LETTER EEYANNA
+0D93 ; [.2253.0020.0002] # SINHALA LETTER AIYANNA
+0D94 ; [.2254.0020.0002] # SINHALA LETTER OYANNA
+0D95 ; [.2255.0020.0002] # SINHALA LETTER OOYANNA
+0D96 ; [.2256.0020.0002] # SINHALA LETTER AUYANNA
+0D9A ; [.2257.0020.0002] # SINHALA LETTER ALPAPRAANA KAYANNA
+0D9B ; [.2258.0020.0002] # SINHALA LETTER MAHAAPRAANA KAYANNA
+0D9C ; [.2259.0020.0002] # SINHALA LETTER ALPAPRAANA GAYANNA
+0D9D ; [.225A.0020.0002] # SINHALA LETTER MAHAAPRAANA GAYANNA
+0D9E ; [.225B.0020.0002] # SINHALA LETTER KANTAJA NAASIKYAYA
+0D9F ; [.225C.0020.0002] # SINHALA LETTER SANYAKA GAYANNA
+0DA0 ; [.225D.0020.0002] # SINHALA LETTER ALPAPRAANA CAYANNA
+0DA1 ; [.225E.0020.0002] # SINHALA LETTER MAHAAPRAANA CAYANNA
+0DA2 ; [.225F.0020.0002] # SINHALA LETTER ALPAPRAANA JAYANNA
+0DA3 ; [.2260.0020.0002] # SINHALA LETTER MAHAAPRAANA JAYANNA
+0DA4 ; [.2261.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
+0DA5 ; [.2262.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA6 ; [.2263.0020.0002] # SINHALA LETTER SANYAKA JAYANNA
+0DA7 ; [.2264.0020.0002] # SINHALA LETTER ALPAPRAANA TTAYANNA
+0DA8 ; [.2265.0020.0002] # SINHALA LETTER MAHAAPRAANA TTAYANNA
+0DA9 ; [.2266.0020.0002] # SINHALA LETTER ALPAPRAANA DDAYANNA
+0DAA ; [.2267.0020.0002] # SINHALA LETTER MAHAAPRAANA DDAYANNA
+0DAB ; [.2268.0020.0002] # SINHALA LETTER MUURDHAJA NAYANNA
+0DAC ; [.2269.0020.0002] # SINHALA LETTER SANYAKA DDAYANNA
+0DAD ; [.226A.0020.0002] # SINHALA LETTER ALPAPRAANA TAYANNA
+0DAE ; [.226B.0020.0002] # SINHALA LETTER MAHAAPRAANA TAYANNA
+0DAF ; [.226C.0020.0002] # SINHALA LETTER ALPAPRAANA DAYANNA
+0DB0 ; [.226D.0020.0002] # SINHALA LETTER MAHAAPRAANA DAYANNA
+0DB1 ; [.226E.0020.0002] # SINHALA LETTER DANTAJA NAYANNA
+0DB3 ; [.226F.0020.0002] # SINHALA LETTER SANYAKA DAYANNA
+0DB4 ; [.2270.0020.0002] # SINHALA LETTER ALPAPRAANA PAYANNA
+0DB5 ; [.2271.0020.0002] # SINHALA LETTER MAHAAPRAANA PAYANNA
+0DB6 ; [.2272.0020.0002] # SINHALA LETTER ALPAPRAANA BAYANNA
+0DB7 ; [.2273.0020.0002] # SINHALA LETTER MAHAAPRAANA BAYANNA
+0DB8 ; [.2274.0020.0002] # SINHALA LETTER MAYANNA
+0DB9 ; [.2275.0020.0002] # SINHALA LETTER AMBA BAYANNA
+0DBA ; [.2276.0020.0002] # SINHALA LETTER YAYANNA
+0DBB ; [.2277.0020.0002] # SINHALA LETTER RAYANNA
+0DBD ; [.2278.0020.0002] # SINHALA LETTER DANTAJA LAYANNA
+0DC0 ; [.2279.0020.0002] # SINHALA LETTER VAYANNA
+0DC1 ; [.227A.0020.0002] # SINHALA LETTER TAALUJA SAYANNA
+0DC2 ; [.227B.0020.0002] # SINHALA LETTER MUURDHAJA SAYANNA
+0DC3 ; [.227C.0020.0002] # SINHALA LETTER DANTAJA SAYANNA
+0DC4 ; [.227D.0020.0002] # SINHALA LETTER HAYANNA
+0DC5 ; [.227E.0020.0002] # SINHALA LETTER MUURDHAJA LAYANNA
+0DC6 ; [.227F.0020.0002] # SINHALA LETTER FAYANNA
+0DCF ; [.2280.0020.0002] # SINHALA VOWEL SIGN AELA-PILLA
+0DD0 ; [.2281.0020.0002] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0DD1 ; [.2282.0020.0002] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2 ; [.2283.0020.0002] # SINHALA VOWEL SIGN KETTI IS-PILLA
+0DD3 ; [.2284.0020.0002] # SINHALA VOWEL SIGN DIGA IS-PILLA
+0DD4 ; [.2285.0020.0002] # SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6 ; [.2286.0020.0002] # SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8 ; [.2287.0020.0002] # SINHALA VOWEL SIGN GAETTA-PILLA
+0DF2 ; [.2288.0020.0002] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0DDF ; [.2289.0020.0002] # SINHALA VOWEL SIGN GAYANUKITTA
+0DF3 ; [.228A.0020.0002] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DD9 ; [.228B.0020.0002] # SINHALA VOWEL SIGN KOMBUVA
+0DDA ; [.228C.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DD9 0DCA ; [.228C.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DDB ; [.228D.0020.0002] # SINHALA VOWEL SIGN KOMBU DEKA
+0DDC ; [.228E.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DD9 0DCF ; [.228E.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DDD ; [.228F.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DD9 0DCF 0DCA ; [.228F.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDC 0DCA ; [.228F.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDE ; [.2290.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DD9 0DDF ; [.2290.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DCA ; [.2291.0020.0002] # SINHALA SIGN AL-LAKUNA
+AAF2 ; [.2292.0020.0002] # MEETEI MAYEK ANJI
+ABC0 ; [.2293.0020.0002] # MEETEI MAYEK LETTER KOK
+ABC1 ; [.2294.0020.0002] # MEETEI MAYEK LETTER SAM
+ABC2 ; [.2295.0020.0002] # MEETEI MAYEK LETTER LAI
+ABC3 ; [.2296.0020.0002] # MEETEI MAYEK LETTER MIT
+ABC4 ; [.2297.0020.0002] # MEETEI MAYEK LETTER PA
+ABC5 ; [.2298.0020.0002] # MEETEI MAYEK LETTER NA
+ABC6 ; [.2299.0020.0002] # MEETEI MAYEK LETTER CHIL
+ABC7 ; [.229A.0020.0002] # MEETEI MAYEK LETTER TIL
+ABC8 ; [.229B.0020.0002] # MEETEI MAYEK LETTER KHOU
+ABC9 ; [.229C.0020.0002] # MEETEI MAYEK LETTER NGOU
+ABCA ; [.229D.0020.0002] # MEETEI MAYEK LETTER THOU
+ABCB ; [.229E.0020.0002] # MEETEI MAYEK LETTER WAI
+ABCC ; [.229F.0020.0002] # MEETEI MAYEK LETTER YANG
+ABCD ; [.22A0.0020.0002] # MEETEI MAYEK LETTER HUK
+ABCE ; [.22A1.0020.0002] # MEETEI MAYEK LETTER UN
+ABCF ; [.22A2.0020.0002] # MEETEI MAYEK LETTER I
+ABD0 ; [.22A3.0020.0002] # MEETEI MAYEK LETTER PHAM
+ABD1 ; [.22A4.0020.0002] # MEETEI MAYEK LETTER ATIYA
+ABD2 ; [.22A5.0020.0002] # MEETEI MAYEK LETTER GOK
+ABD3 ; [.22A6.0020.0002] # MEETEI MAYEK LETTER JHAM
+ABD4 ; [.22A7.0020.0002] # MEETEI MAYEK LETTER RAI
+ABD5 ; [.22A8.0020.0002] # MEETEI MAYEK LETTER BA
+ABD6 ; [.22A9.0020.0002] # MEETEI MAYEK LETTER JIL
+ABD7 ; [.22AA.0020.0002] # MEETEI MAYEK LETTER DIL
+ABD8 ; [.22AB.0020.0002] # MEETEI MAYEK LETTER GHOU
+ABD9 ; [.22AC.0020.0002] # MEETEI MAYEK LETTER DHOU
+ABDA ; [.22AD.0020.0002] # MEETEI MAYEK LETTER BHAM
+AAE0 ; [.22AE.0020.0002] # MEETEI MAYEK LETTER E
+AAE1 ; [.22AF.0020.0002] # MEETEI MAYEK LETTER O
+AAE2 ; [.22B0.0020.0002] # MEETEI MAYEK LETTER CHA
+AAE3 ; [.22B1.0020.0002] # MEETEI MAYEK LETTER NYA
+AAE4 ; [.22B2.0020.0002] # MEETEI MAYEK LETTER TTA
+AAE5 ; [.22B3.0020.0002] # MEETEI MAYEK LETTER TTHA
+AAE6 ; [.22B4.0020.0002] # MEETEI MAYEK LETTER DDA
+AAE7 ; [.22B5.0020.0002] # MEETEI MAYEK LETTER DDHA
+AAE8 ; [.22B6.0020.0002] # MEETEI MAYEK LETTER NNA
+AAE9 ; [.22B7.0020.0002] # MEETEI MAYEK LETTER SHA
+AAEA ; [.22B8.0020.0002] # MEETEI MAYEK LETTER SSA
+ABE3 ; [.22B9.0020.0002] # MEETEI MAYEK VOWEL SIGN ONAP
+ABE4 ; [.22BA.0020.0002] # MEETEI MAYEK VOWEL SIGN INAP
+ABE5 ; [.22BB.0020.0002] # MEETEI MAYEK VOWEL SIGN ANAP
+ABE6 ; [.22BC.0020.0002] # MEETEI MAYEK VOWEL SIGN YENAP
+ABE7 ; [.22BD.0020.0002] # MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8 ; [.22BE.0020.0002] # MEETEI MAYEK VOWEL SIGN UNAP
+ABE9 ; [.22BF.0020.0002] # MEETEI MAYEK VOWEL SIGN CHEINAP
+ABEA ; [.22C0.0020.0002] # MEETEI MAYEK VOWEL SIGN NUNG
+AAEB ; [.22C1.0020.0002] # MEETEI MAYEK VOWEL SIGN II
+AAEC ; [.22C2.0020.0002] # MEETEI MAYEK VOWEL SIGN UU
+AAED ; [.22C3.0020.0002] # MEETEI MAYEK VOWEL SIGN AAI
+AAEE ; [.22C4.0020.0002] # MEETEI MAYEK VOWEL SIGN AU
+AAEF ; [.22C5.0020.0002] # MEETEI MAYEK VOWEL SIGN AAU
+AAF5 ; [.22C6.0020.0002] # MEETEI MAYEK VOWEL SIGN VISARGA
+ABDB ; [.22C7.0020.0002] # MEETEI MAYEK LETTER KOK LONSUM
+ABDC ; [.22C8.0020.0002] # MEETEI MAYEK LETTER LAI LONSUM
+ABDD ; [.22C9.0020.0002] # MEETEI MAYEK LETTER MIT LONSUM
+ABDE ; [.22CA.0020.0002] # MEETEI MAYEK LETTER PA LONSUM
+ABDF ; [.22CB.0020.0002] # MEETEI MAYEK LETTER NA LONSUM
+ABE0 ; [.22CC.0020.0002] # MEETEI MAYEK LETTER TIL LONSUM
+ABE1 ; [.22CD.0020.0002] # MEETEI MAYEK LETTER NGOU LONSUM
+ABE2 ; [.22CE.0020.0002] # MEETEI MAYEK LETTER I LONSUM
+ABED ; [.22CF.0020.0002] # MEETEI MAYEK APUN IYEK
+AAF6 ; [.22D0.0020.0002] # MEETEI MAYEK VIRAMA
+A800 ; [.22D1.0020.0002] # SYLOTI NAGRI LETTER A
+A801 ; [.22D2.0020.0002] # SYLOTI NAGRI LETTER I
+A802 ; [.22D3.0020.0002] # SYLOTI NAGRI SIGN DVISVARA
+A803 ; [.22D4.0020.0002] # SYLOTI NAGRI LETTER U
+A804 ; [.22D5.0020.0002] # SYLOTI NAGRI LETTER E
+A805 ; [.22D6.0020.0002] # SYLOTI NAGRI LETTER O
+A806 ; [.22D7.0020.0002] # SYLOTI NAGRI SIGN HASANTA
+A807 ; [.22D8.0020.0002] # SYLOTI NAGRI LETTER KO
+A808 ; [.22D9.0020.0002] # SYLOTI NAGRI LETTER KHO
+A809 ; [.22DA.0020.0002] # SYLOTI NAGRI LETTER GO
+A80A ; [.22DB.0020.0002] # SYLOTI NAGRI LETTER GHO
+A80C ; [.22DC.0020.0002] # SYLOTI NAGRI LETTER CO
+A80D ; [.22DD.0020.0002] # SYLOTI NAGRI LETTER CHO
+A80E ; [.22DE.0020.0002] # SYLOTI NAGRI LETTER JO
+A80F ; [.22DF.0020.0002] # SYLOTI NAGRI LETTER JHO
+A810 ; [.22E0.0020.0002] # SYLOTI NAGRI LETTER TTO
+A811 ; [.22E1.0020.0002] # SYLOTI NAGRI LETTER TTHO
+A812 ; [.22E2.0020.0002] # SYLOTI NAGRI LETTER DDO
+A813 ; [.22E3.0020.0002] # SYLOTI NAGRI LETTER DDHO
+A814 ; [.22E4.0020.0002] # SYLOTI NAGRI LETTER TO
+A815 ; [.22E5.0020.0002] # SYLOTI NAGRI LETTER THO
+A816 ; [.22E6.0020.0002] # SYLOTI NAGRI LETTER DO
+A817 ; [.22E7.0020.0002] # SYLOTI NAGRI LETTER DHO
+A818 ; [.22E8.0020.0002] # SYLOTI NAGRI LETTER NO
+A819 ; [.22E9.0020.0002] # SYLOTI NAGRI LETTER PO
+A81A ; [.22EA.0020.0002] # SYLOTI NAGRI LETTER PHO
+A81B ; [.22EB.0020.0002] # SYLOTI NAGRI LETTER BO
+A81C ; [.22EC.0020.0002] # SYLOTI NAGRI LETTER BHO
+A81D ; [.22ED.0020.0002] # SYLOTI NAGRI LETTER MO
+A81E ; [.22EE.0020.0002] # SYLOTI NAGRI LETTER RO
+A81F ; [.22EF.0020.0002] # SYLOTI NAGRI LETTER LO
+A820 ; [.22F0.0020.0002] # SYLOTI NAGRI LETTER RRO
+A821 ; [.22F1.0020.0002] # SYLOTI NAGRI LETTER SO
+A822 ; [.22F2.0020.0002] # SYLOTI NAGRI LETTER HO
+A823 ; [.22F3.0020.0002] # SYLOTI NAGRI VOWEL SIGN A
+A824 ; [.22F4.0020.0002] # SYLOTI NAGRI VOWEL SIGN I
+A825 ; [.22F5.0020.0002] # SYLOTI NAGRI VOWEL SIGN U
+A826 ; [.22F6.0020.0002] # SYLOTI NAGRI VOWEL SIGN E
+A827 ; [.22F7.0020.0002] # SYLOTI NAGRI VOWEL SIGN OO
+A882 ; [.22F8.0020.0002] # SAURASHTRA LETTER A
+A883 ; [.22F9.0020.0002] # SAURASHTRA LETTER AA
+A884 ; [.22FA.0020.0002] # SAURASHTRA LETTER I
+A885 ; [.22FB.0020.0002] # SAURASHTRA LETTER II
+A886 ; [.22FC.0020.0002] # SAURASHTRA LETTER U
+A887 ; [.22FD.0020.0002] # SAURASHTRA LETTER UU
+A888 ; [.22FE.0020.0002] # SAURASHTRA LETTER VOCALIC R
+A889 ; [.22FF.0020.0002] # SAURASHTRA LETTER VOCALIC RR
+A88A ; [.2300.0020.0002] # SAURASHTRA LETTER VOCALIC L
+A88B ; [.2301.0020.0002] # SAURASHTRA LETTER VOCALIC LL
+A88C ; [.2302.0020.0002] # SAURASHTRA LETTER E
+A88D ; [.2303.0020.0002] # SAURASHTRA LETTER EE
+A88E ; [.2304.0020.0002] # SAURASHTRA LETTER AI
+A88F ; [.2305.0020.0002] # SAURASHTRA LETTER O
+A890 ; [.2306.0020.0002] # SAURASHTRA LETTER OO
+A891 ; [.2307.0020.0002] # SAURASHTRA LETTER AU
+A892 ; [.2308.0020.0002] # SAURASHTRA LETTER KA
+A893 ; [.2309.0020.0002] # SAURASHTRA LETTER KHA
+A894 ; [.230A.0020.0002] # SAURASHTRA LETTER GA
+A895 ; [.230B.0020.0002] # SAURASHTRA LETTER GHA
+A896 ; [.230C.0020.0002] # SAURASHTRA LETTER NGA
+A897 ; [.230D.0020.0002] # SAURASHTRA LETTER CA
+A898 ; [.230E.0020.0002] # SAURASHTRA LETTER CHA
+A899 ; [.230F.0020.0002] # SAURASHTRA LETTER JA
+A89A ; [.2310.0020.0002] # SAURASHTRA LETTER JHA
+A89B ; [.2311.0020.0002] # SAURASHTRA LETTER NYA
+A89C ; [.2312.0020.0002] # SAURASHTRA LETTER TTA
+A89D ; [.2313.0020.0002] # SAURASHTRA LETTER TTHA
+A89E ; [.2314.0020.0002] # SAURASHTRA LETTER DDA
+A89F ; [.2315.0020.0002] # SAURASHTRA LETTER DDHA
+A8A0 ; [.2316.0020.0002] # SAURASHTRA LETTER NNA
+A8A1 ; [.2317.0020.0002] # SAURASHTRA LETTER TA
+A8A2 ; [.2318.0020.0002] # SAURASHTRA LETTER THA
+A8A3 ; [.2319.0020.0002] # SAURASHTRA LETTER DA
+A8A4 ; [.231A.0020.0002] # SAURASHTRA LETTER DHA
+A8A5 ; [.231B.0020.0002] # SAURASHTRA LETTER NA
+A8A6 ; [.231C.0020.0002] # SAURASHTRA LETTER PA
+A8A7 ; [.231D.0020.0002] # SAURASHTRA LETTER PHA
+A8A8 ; [.231E.0020.0002] # SAURASHTRA LETTER BA
+A8A9 ; [.231F.0020.0002] # SAURASHTRA LETTER BHA
+A8AA ; [.2320.0020.0002] # SAURASHTRA LETTER MA
+A8AB ; [.2321.0020.0002] # SAURASHTRA LETTER YA
+A8AC ; [.2322.0020.0002] # SAURASHTRA LETTER RA
+A8AD ; [.2323.0020.0002] # SAURASHTRA LETTER LA
+A8AE ; [.2324.0020.0002] # SAURASHTRA LETTER VA
+A8AF ; [.2325.0020.0002] # SAURASHTRA LETTER SHA
+A8B0 ; [.2326.0020.0002] # SAURASHTRA LETTER SSA
+A8B1 ; [.2327.0020.0002] # SAURASHTRA LETTER SA
+A8B2 ; [.2328.0020.0002] # SAURASHTRA LETTER HA
+A8B3 ; [.2329.0020.0002] # SAURASHTRA LETTER LLA
+A8B4 ; [.232A.0020.0002] # SAURASHTRA CONSONANT SIGN HAARU
+A8B5 ; [.232B.0020.0002] # SAURASHTRA VOWEL SIGN AA
+A8B6 ; [.232C.0020.0002] # SAURASHTRA VOWEL SIGN I
+A8B7 ; [.232D.0020.0002] # SAURASHTRA VOWEL SIGN II
+A8B8 ; [.232E.0020.0002] # SAURASHTRA VOWEL SIGN U
+A8B9 ; [.232F.0020.0002] # SAURASHTRA VOWEL SIGN UU
+A8BA ; [.2330.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC R
+A8BB ; [.2331.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC RR
+A8BC ; [.2332.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC L
+A8BD ; [.2333.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC LL
+A8BE ; [.2334.0020.0002] # SAURASHTRA VOWEL SIGN E
+A8BF ; [.2335.0020.0002] # SAURASHTRA VOWEL SIGN EE
+A8C0 ; [.2336.0020.0002] # SAURASHTRA VOWEL SIGN AI
+A8C1 ; [.2337.0020.0002] # SAURASHTRA VOWEL SIGN O
+A8C2 ; [.2338.0020.0002] # SAURASHTRA VOWEL SIGN OO
+A8C3 ; [.2339.0020.0002] # SAURASHTRA VOWEL SIGN AU
+A8C4 ; [.233A.0020.0002] # SAURASHTRA SIGN VIRAMA
+11083 ; [.233B.0020.0002] # KAITHI LETTER A
+11084 ; [.233C.0020.0002] # KAITHI LETTER AA
+11085 ; [.233D.0020.0002] # KAITHI LETTER I
+11086 ; [.233E.0020.0002] # KAITHI LETTER II
+11087 ; [.233F.0020.0002] # KAITHI LETTER U
+11088 ; [.2340.0020.0002] # KAITHI LETTER UU
+11089 ; [.2341.0020.0002] # KAITHI LETTER E
+1108A ; [.2342.0020.0002] # KAITHI LETTER AI
+1108B ; [.2343.0020.0002] # KAITHI LETTER O
+1108C ; [.2344.0020.0002] # KAITHI LETTER AU
+1108D ; [.2345.0020.0002] # KAITHI LETTER KA
+1108E ; [.2346.0020.0002] # KAITHI LETTER KHA
+1108F ; [.2347.0020.0002] # KAITHI LETTER GA
+11090 ; [.2348.0020.0002] # KAITHI LETTER GHA
+11091 ; [.2349.0020.0002] # KAITHI LETTER NGA
+11092 ; [.234A.0020.0002] # KAITHI LETTER CA
+11093 ; [.234B.0020.0002] # KAITHI LETTER CHA
+11094 ; [.234C.0020.0002] # KAITHI LETTER JA
+11095 ; [.234D.0020.0002] # KAITHI LETTER JHA
+11096 ; [.234E.0020.0002] # KAITHI LETTER NYA
+11097 ; [.234F.0020.0002] # KAITHI LETTER TTA
+11098 ; [.2350.0020.0002] # KAITHI LETTER TTHA
+11099 ; [.2351.0020.0002] # KAITHI LETTER DDA
+1109A ; [.2351.0020.0002][.0000.00B6.0002] # KAITHI LETTER DDDHA
+1109B ; [.2352.0020.0002] # KAITHI LETTER DDHA
+1109C ; [.2352.0020.0002][.0000.00B6.0002] # KAITHI LETTER RHA
+1109D ; [.2353.0020.0002] # KAITHI LETTER NNA
+1109E ; [.2354.0020.0002] # KAITHI LETTER TA
+1109F ; [.2355.0020.0002] # KAITHI LETTER THA
+110A0 ; [.2356.0020.0002] # KAITHI LETTER DA
+110A1 ; [.2357.0020.0002] # KAITHI LETTER DHA
+110A2 ; [.2358.0020.0002] # KAITHI LETTER NA
+110A3 ; [.2359.0020.0002] # KAITHI LETTER PA
+110A4 ; [.235A.0020.0002] # KAITHI LETTER PHA
+110A5 ; [.235B.0020.0002] # KAITHI LETTER BA
+110AB ; [.235B.0020.0002][.0000.00B6.0002] # KAITHI LETTER VA
+110A6 ; [.235C.0020.0002] # KAITHI LETTER BHA
+110A7 ; [.235D.0020.0002] # KAITHI LETTER MA
+110A8 ; [.235E.0020.0002] # KAITHI LETTER YA
+110A9 ; [.235F.0020.0002] # KAITHI LETTER RA
+110AA ; [.2360.0020.0002] # KAITHI LETTER LA
+110AC ; [.2361.0020.0002] # KAITHI LETTER SHA
+110AD ; [.2362.0020.0002] # KAITHI LETTER SSA
+110AE ; [.2363.0020.0002] # KAITHI LETTER SA
+110AF ; [.2364.0020.0002] # KAITHI LETTER HA
+110B0 ; [.2365.0020.0002] # KAITHI VOWEL SIGN AA
+110B1 ; [.2366.0020.0002] # KAITHI VOWEL SIGN I
+110B2 ; [.2367.0020.0002] # KAITHI VOWEL SIGN II
+110B3 ; [.2368.0020.0002] # KAITHI VOWEL SIGN U
+110B4 ; [.2369.0020.0002] # KAITHI VOWEL SIGN UU
+110B5 ; [.236A.0020.0002] # KAITHI VOWEL SIGN E
+110B6 ; [.236B.0020.0002] # KAITHI VOWEL SIGN AI
+110B7 ; [.236C.0020.0002] # KAITHI VOWEL SIGN O
+110B8 ; [.236D.0020.0002] # KAITHI VOWEL SIGN AU
+110B9 ; [.236E.0020.0002] # KAITHI SIGN VIRAMA
+111C4 ; [.236F.0020.0002] # SHARADA OM
+11183 ; [.2370.0020.0002] # SHARADA LETTER A
+11184 ; [.2371.0020.0002] # SHARADA LETTER AA
+11185 ; [.2372.0020.0002] # SHARADA LETTER I
+11186 ; [.2373.0020.0002] # SHARADA LETTER II
+11187 ; [.2374.0020.0002] # SHARADA LETTER U
+11188 ; [.2375.0020.0002] # SHARADA LETTER UU
+11189 ; [.2376.0020.0002] # SHARADA LETTER VOCALIC R
+1118A ; [.2377.0020.0002] # SHARADA LETTER VOCALIC RR
+1118B ; [.2378.0020.0002] # SHARADA LETTER VOCALIC L
+1118C ; [.2379.0020.0002] # SHARADA LETTER VOCALIC LL
+1118D ; [.237A.0020.0002] # SHARADA LETTER E
+1118E ; [.237B.0020.0002] # SHARADA LETTER AI
+1118F ; [.237C.0020.0002] # SHARADA LETTER O
+11190 ; [.237D.0020.0002] # SHARADA LETTER AU
+11191 ; [.237E.0020.0002] # SHARADA LETTER KA
+11192 ; [.237F.0020.0002] # SHARADA LETTER KHA
+11193 ; [.2380.0020.0002] # SHARADA LETTER GA
+11194 ; [.2381.0020.0002] # SHARADA LETTER GHA
+11195 ; [.2382.0020.0002] # SHARADA LETTER NGA
+11196 ; [.2383.0020.0002] # SHARADA LETTER CA
+11197 ; [.2384.0020.0002] # SHARADA LETTER CHA
+11198 ; [.2385.0020.0002] # SHARADA LETTER JA
+11199 ; [.2386.0020.0002] # SHARADA LETTER JHA
+1119A ; [.2387.0020.0002] # SHARADA LETTER NYA
+1119B ; [.2388.0020.0002] # SHARADA LETTER TTA
+1119C ; [.2389.0020.0002] # SHARADA LETTER TTHA
+1119D ; [.238A.0020.0002] # SHARADA LETTER DDA
+1119E ; [.238B.0020.0002] # SHARADA LETTER DDHA
+1119F ; [.238C.0020.0002] # SHARADA LETTER NNA
+111A0 ; [.238D.0020.0002] # SHARADA LETTER TA
+111A1 ; [.238E.0020.0002] # SHARADA LETTER THA
+111A2 ; [.238F.0020.0002] # SHARADA LETTER DA
+111A3 ; [.2390.0020.0002] # SHARADA LETTER DHA
+111A4 ; [.2391.0020.0002] # SHARADA LETTER NA
+111A5 ; [.2392.0020.0002] # SHARADA LETTER PA
+111A6 ; [.2393.0020.0002] # SHARADA LETTER PHA
+111A7 ; [.2394.0020.0002] # SHARADA LETTER BA
+111A8 ; [.2395.0020.0002] # SHARADA LETTER BHA
+111A9 ; [.2396.0020.0002] # SHARADA LETTER MA
+111AA ; [.2397.0020.0002] # SHARADA LETTER YA
+111AB ; [.2398.0020.0002] # SHARADA LETTER RA
+111AC ; [.2399.0020.0002] # SHARADA LETTER LA
+111AD ; [.239A.0020.0002] # SHARADA LETTER LLA
+111AE ; [.239B.0020.0002] # SHARADA LETTER VA
+111AF ; [.239C.0020.0002] # SHARADA LETTER SHA
+111B0 ; [.239D.0020.0002] # SHARADA LETTER SSA
+111B1 ; [.239E.0020.0002] # SHARADA LETTER SA
+111B2 ; [.239F.0020.0002] # SHARADA LETTER HA
+111B3 ; [.23A0.0020.0002] # SHARADA VOWEL SIGN AA
+111B4 ; [.23A1.0020.0002] # SHARADA VOWEL SIGN I
+111B5 ; [.23A2.0020.0002] # SHARADA VOWEL SIGN II
+111B6 ; [.23A3.0020.0002] # SHARADA VOWEL SIGN U
+111B7 ; [.23A4.0020.0002] # SHARADA VOWEL SIGN UU
+111B8 ; [.23A5.0020.0002] # SHARADA VOWEL SIGN VOCALIC R
+111B9 ; [.23A6.0020.0002] # SHARADA VOWEL SIGN VOCALIC RR
+111BA ; [.23A7.0020.0002] # SHARADA VOWEL SIGN VOCALIC L
+111BB ; [.23A8.0020.0002] # SHARADA VOWEL SIGN VOCALIC LL
+111BC ; [.23A9.0020.0002] # SHARADA VOWEL SIGN E
+111BD ; [.23AA.0020.0002] # SHARADA VOWEL SIGN AI
+111BE ; [.23AB.0020.0002] # SHARADA VOWEL SIGN O
+111BF ; [.23AC.0020.0002] # SHARADA VOWEL SIGN AU
+111C0 ; [.23AD.0020.0002] # SHARADA SIGN VIRAMA
+111C1 ; [.23AE.0020.0002] # SHARADA SIGN AVAGRAHA
+111C2 ; [.23AF.0020.0002] # SHARADA SIGN JIHVAMULIYA
+111C3 ; [.23B0.0020.0002] # SHARADA SIGN UPADHMANIYA
+11680 ; [.23B1.0020.0002] # TAKRI LETTER A
+11681 ; [.23B2.0020.0002] # TAKRI LETTER AA
+11682 ; [.23B3.0020.0002] # TAKRI LETTER I
+11683 ; [.23B4.0020.0002] # TAKRI LETTER II
+11684 ; [.23B5.0020.0002] # TAKRI LETTER U
+11685 ; [.23B6.0020.0002] # TAKRI LETTER UU
+11686 ; [.23B7.0020.0002] # TAKRI LETTER E
+11687 ; [.23B8.0020.0002] # TAKRI LETTER AI
+11688 ; [.23B9.0020.0002] # TAKRI LETTER O
+11689 ; [.23BA.0020.0002] # TAKRI LETTER AU
+116A8 ; [.23BB.0020.0002] # TAKRI LETTER SA
+116A7 ; [.23BC.0020.0002] # TAKRI LETTER SHA
+116A9 ; [.23BD.0020.0002] # TAKRI LETTER HA
+1168A ; [.23BE.0020.0002] # TAKRI LETTER KA
+1168B ; [.23BF.0020.0002] # TAKRI LETTER KHA
+1168C ; [.23C0.0020.0002] # TAKRI LETTER GA
+1168D ; [.23C1.0020.0002] # TAKRI LETTER GHA
+1168E ; [.23C2.0020.0002] # TAKRI LETTER NGA
+1168F ; [.23C3.0020.0002] # TAKRI LETTER CA
+11690 ; [.23C4.0020.0002] # TAKRI LETTER CHA
+11691 ; [.23C5.0020.0002] # TAKRI LETTER JA
+11692 ; [.23C6.0020.0002] # TAKRI LETTER JHA
+11693 ; [.23C7.0020.0002] # TAKRI LETTER NYA
+11694 ; [.23C8.0020.0002] # TAKRI LETTER TTA
+11695 ; [.23C9.0020.0002] # TAKRI LETTER TTHA
+11696 ; [.23CA.0020.0002] # TAKRI LETTER DDA
+11697 ; [.23CB.0020.0002] # TAKRI LETTER DDHA
+11698 ; [.23CC.0020.0002] # TAKRI LETTER NNA
+11699 ; [.23CD.0020.0002] # TAKRI LETTER TA
+1169A ; [.23CE.0020.0002] # TAKRI LETTER THA
+1169B ; [.23CF.0020.0002] # TAKRI LETTER DA
+1169C ; [.23D0.0020.0002] # TAKRI LETTER DHA
+1169D ; [.23D1.0020.0002] # TAKRI LETTER NA
+1169E ; [.23D2.0020.0002] # TAKRI LETTER PA
+1169F ; [.23D3.0020.0002] # TAKRI LETTER PHA
+116A0 ; [.23D4.0020.0002] # TAKRI LETTER BA
+116A1 ; [.23D5.0020.0002] # TAKRI LETTER BHA
+116A2 ; [.23D6.0020.0002] # TAKRI LETTER MA
+116A3 ; [.23D7.0020.0002] # TAKRI LETTER YA
+116A4 ; [.23D8.0020.0002] # TAKRI LETTER RA
+116A5 ; [.23D9.0020.0002] # TAKRI LETTER LA
+116A6 ; [.23DA.0020.0002] # TAKRI LETTER VA
+116AA ; [.23DB.0020.0002] # TAKRI LETTER RRA
+116AD ; [.23DC.0020.0002] # TAKRI VOWEL SIGN AA
+116AE ; [.23DD.0020.0002] # TAKRI VOWEL SIGN I
+116AF ; [.23DE.0020.0002] # TAKRI VOWEL SIGN II
+116B0 ; [.23DF.0020.0002] # TAKRI VOWEL SIGN U
+116B1 ; [.23E0.0020.0002] # TAKRI VOWEL SIGN UU
+116B2 ; [.23E1.0020.0002] # TAKRI VOWEL SIGN E
+116B3 ; [.23E2.0020.0002] # TAKRI VOWEL SIGN AI
+116B4 ; [.23E3.0020.0002] # TAKRI VOWEL SIGN O
+116B5 ; [.23E4.0020.0002] # TAKRI VOWEL SIGN AU
+116B6 ; [.23E5.0020.0002] # TAKRI SIGN VIRAMA
+1B83 ; [.23E6.0020.0002] # SUNDANESE LETTER A
+1BBA ; [.23E6.0020.0004] # SUNDANESE AVAGRAHA
+1B84 ; [.23E7.0020.0002] # SUNDANESE LETTER I
+1B85 ; [.23E8.0020.0002] # SUNDANESE LETTER U
+1B86 ; [.23E9.0020.0002] # SUNDANESE LETTER AE
+1B87 ; [.23EA.0020.0002] # SUNDANESE LETTER O
+1B88 ; [.23EB.0020.0002] # SUNDANESE LETTER E
+1B89 ; [.23EC.0020.0002] # SUNDANESE LETTER EU
+1B8A ; [.23ED.0020.0002] # SUNDANESE LETTER KA
+1BBE ; [.23ED.0020.0019] # SUNDANESE LETTER FINAL K
+1BAE ; [.23EE.0020.0002] # SUNDANESE LETTER KHA
+1B8B ; [.23EF.0020.0002] # SUNDANESE LETTER QA
+1B8C ; [.23F0.0020.0002] # SUNDANESE LETTER GA
+1B8D ; [.23F1.0020.0002] # SUNDANESE LETTER NGA
+1B8E ; [.23F2.0020.0002] # SUNDANESE LETTER CA
+1B8F ; [.23F3.0020.0002] # SUNDANESE LETTER JA
+1B90 ; [.23F4.0020.0002] # SUNDANESE LETTER ZA
+1B91 ; [.23F5.0020.0002] # SUNDANESE LETTER NYA
+1B92 ; [.23F6.0020.0002] # SUNDANESE LETTER TA
+1B93 ; [.23F7.0020.0002] # SUNDANESE LETTER DA
+1B94 ; [.23F8.0020.0002] # SUNDANESE LETTER NA
+1B95 ; [.23F9.0020.0002] # SUNDANESE LETTER PA
+1B96 ; [.23FA.0020.0002] # SUNDANESE LETTER FA
+1B97 ; [.23FB.0020.0002] # SUNDANESE LETTER VA
+1B98 ; [.23FC.0020.0002] # SUNDANESE LETTER BA
+1BBD ; [.23FD.0020.0002] # SUNDANESE LETTER BHA
+1B99 ; [.23FE.0020.0002] # SUNDANESE LETTER MA
+1BBF ; [.23FE.0020.0019] # SUNDANESE LETTER FINAL M
+1BAC ; [.23FF.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN MA
+1B9A ; [.2400.0020.0002] # SUNDANESE LETTER YA
+1BA1 ; [.2401.0020.0002] # SUNDANESE CONSONANT SIGN PAMINGKAL
+1B9B ; [.2402.0020.0002] # SUNDANESE LETTER RA
+1BA2 ; [.2403.0020.0002] # SUNDANESE CONSONANT SIGN PANYAKRA
+1BBB ; [.2404.0020.0002] # SUNDANESE LETTER REU
+1B9C ; [.2405.0020.0002] # SUNDANESE LETTER LA
+1BA3 ; [.2406.0020.0002] # SUNDANESE CONSONANT SIGN PANYIKU
+1BBC ; [.2407.0020.0002] # SUNDANESE LETTER LEU
+1B9D ; [.2408.0020.0002] # SUNDANESE LETTER WA
+1BAD ; [.2409.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN WA
+1B9E ; [.240A.0020.0002] # SUNDANESE LETTER SA
+1B9F ; [.240B.0020.0002] # SUNDANESE LETTER XA
+1BAF ; [.240C.0020.0002] # SUNDANESE LETTER SYA
+1BA0 ; [.240D.0020.0002] # SUNDANESE LETTER HA
+1BA4 ; [.240E.0020.0002] # SUNDANESE VOWEL SIGN PANGHULU
+1BA5 ; [.240F.0020.0002] # SUNDANESE VOWEL SIGN PANYUKU
+1BA6 ; [.2410.0020.0002] # SUNDANESE VOWEL SIGN PANAELAENG
+1BA7 ; [.2411.0020.0002] # SUNDANESE VOWEL SIGN PANOLONG
+1BA8 ; [.2412.0020.0002] # SUNDANESE VOWEL SIGN PAMEPET
+1BA9 ; [.2413.0020.0002] # SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA ; [.2414.0020.0002] # SUNDANESE SIGN PAMAAEH
+1BAB ; [.2415.0020.0002] # SUNDANESE SIGN VIRAMA
+11005 ; [.2416.0020.0002] # BRAHMI LETTER A
+11006 ; [.2417.0020.0002] # BRAHMI LETTER AA
+11007 ; [.2418.0020.0002] # BRAHMI LETTER I
+11008 ; [.2419.0020.0002] # BRAHMI LETTER II
+11009 ; [.241A.0020.0002] # BRAHMI LETTER U
+1100A ; [.241B.0020.0002] # BRAHMI LETTER UU
+1100B ; [.241C.0020.0002] # BRAHMI LETTER VOCALIC R
+1100C ; [.241D.0020.0002] # BRAHMI LETTER VOCALIC RR
+1100D ; [.241E.0020.0002] # BRAHMI LETTER VOCALIC L
+1100E ; [.241F.0020.0002] # BRAHMI LETTER VOCALIC LL
+1100F ; [.2420.0020.0002] # BRAHMI LETTER E
+11010 ; [.2421.0020.0002] # BRAHMI LETTER AI
+11011 ; [.2422.0020.0002] # BRAHMI LETTER O
+11012 ; [.2423.0020.0002] # BRAHMI LETTER AU
+11013 ; [.2424.0020.0002] # BRAHMI LETTER KA
+11014 ; [.2425.0020.0002] # BRAHMI LETTER KHA
+11015 ; [.2426.0020.0002] # BRAHMI LETTER GA
+11016 ; [.2427.0020.0002] # BRAHMI LETTER GHA
+11017 ; [.2428.0020.0002] # BRAHMI LETTER NGA
+11018 ; [.2429.0020.0002] # BRAHMI LETTER CA
+11019 ; [.242A.0020.0002] # BRAHMI LETTER CHA
+1101A ; [.242B.0020.0002] # BRAHMI LETTER JA
+1101B ; [.242C.0020.0002] # BRAHMI LETTER JHA
+1101C ; [.242D.0020.0002] # BRAHMI LETTER NYA
+1101D ; [.242E.0020.0002] # BRAHMI LETTER TTA
+1101E ; [.242F.0020.0002] # BRAHMI LETTER TTHA
+1101F ; [.2430.0020.0002] # BRAHMI LETTER DDA
+11020 ; [.2431.0020.0002] # BRAHMI LETTER DDHA
+11021 ; [.2432.0020.0002] # BRAHMI LETTER NNA
+11022 ; [.2433.0020.0002] # BRAHMI LETTER TA
+11023 ; [.2434.0020.0002] # BRAHMI LETTER THA
+11024 ; [.2435.0020.0002] # BRAHMI LETTER DA
+11025 ; [.2436.0020.0002] # BRAHMI LETTER DHA
+11026 ; [.2437.0020.0002] # BRAHMI LETTER NA
+11027 ; [.2438.0020.0002] # BRAHMI LETTER PA
+11028 ; [.2439.0020.0002] # BRAHMI LETTER PHA
+11029 ; [.243A.0020.0002] # BRAHMI LETTER BA
+1102A ; [.243B.0020.0002] # BRAHMI LETTER BHA
+1102B ; [.243C.0020.0002] # BRAHMI LETTER MA
+1102C ; [.243D.0020.0002] # BRAHMI LETTER YA
+1102D ; [.243E.0020.0002] # BRAHMI LETTER RA
+1102E ; [.243F.0020.0002] # BRAHMI LETTER LA
+1102F ; [.2440.0020.0002] # BRAHMI LETTER VA
+11030 ; [.2441.0020.0002] # BRAHMI LETTER SHA
+11031 ; [.2442.0020.0002] # BRAHMI LETTER SSA
+11032 ; [.2443.0020.0002] # BRAHMI LETTER SA
+11033 ; [.2444.0020.0002] # BRAHMI LETTER HA
+11003 ; [.2445.0020.0002] # BRAHMI SIGN JIHVAMULIYA
+11004 ; [.2446.0020.0002] # BRAHMI SIGN UPADHMANIYA
+11034 ; [.2447.0020.0002] # BRAHMI LETTER LLA
+11035 ; [.2448.0020.0002] # BRAHMI LETTER OLD TAMIL LLLA
+11036 ; [.2449.0020.0002] # BRAHMI LETTER OLD TAMIL RRA
+11037 ; [.244A.0020.0002] # BRAHMI LETTER OLD TAMIL NNNA
+11038 ; [.244B.0020.0002] # BRAHMI VOWEL SIGN AA
+11039 ; [.244C.0020.0002] # BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A ; [.244D.0020.0002] # BRAHMI VOWEL SIGN I
+1103B ; [.244E.0020.0002] # BRAHMI VOWEL SIGN II
+1103C ; [.244F.0020.0002] # BRAHMI VOWEL SIGN U
+1103D ; [.2450.0020.0002] # BRAHMI VOWEL SIGN UU
+1103E ; [.2451.0020.0002] # BRAHMI VOWEL SIGN VOCALIC R
+1103F ; [.2452.0020.0002] # BRAHMI VOWEL SIGN VOCALIC RR
+11040 ; [.2453.0020.0002] # BRAHMI VOWEL SIGN VOCALIC L
+11041 ; [.2454.0020.0002] # BRAHMI VOWEL SIGN VOCALIC LL
+11042 ; [.2455.0020.0002] # BRAHMI VOWEL SIGN E
+11043 ; [.2456.0020.0002] # BRAHMI VOWEL SIGN AI
+11044 ; [.2457.0020.0002] # BRAHMI VOWEL SIGN O
+11045 ; [.2458.0020.0002] # BRAHMI VOWEL SIGN AU
+11046 ; [.2459.0020.0002] # BRAHMI VIRAMA
+10A00 ; [.245A.0020.0002] # KHAROSHTHI LETTER A
+10A01 ; [.245B.0020.0002] # KHAROSHTHI VOWEL SIGN I
+10A02 ; [.245C.0020.0002] # KHAROSHTHI VOWEL SIGN U
+10A03 ; [.245D.0020.0002] # KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 ; [.245E.0020.0002] # KHAROSHTHI VOWEL SIGN E
+10A06 ; [.245F.0020.0002] # KHAROSHTHI VOWEL SIGN O
+10A0C ; [.2460.0020.0002] # KHAROSHTHI VOWEL LENGTH MARK
+10A10 ; [.2461.0020.0002] # KHAROSHTHI LETTER KA
+10A11 ; [.2462.0020.0002] # KHAROSHTHI LETTER KHA
+10A12 ; [.2463.0020.0002] # KHAROSHTHI LETTER GA
+10A13 ; [.2464.0020.0002] # KHAROSHTHI LETTER GHA
+10A15 ; [.2465.0020.0002] # KHAROSHTHI LETTER CA
+10A16 ; [.2466.0020.0002] # KHAROSHTHI LETTER CHA
+10A17 ; [.2467.0020.0002] # KHAROSHTHI LETTER JA
+10A19 ; [.2468.0020.0002] # KHAROSHTHI LETTER NYA
+10A1A ; [.2469.0020.0002] # KHAROSHTHI LETTER TTA
+10A1B ; [.246A.0020.0002] # KHAROSHTHI LETTER TTHA
+10A1C ; [.246B.0020.0002] # KHAROSHTHI LETTER DDA
+10A1D ; [.246C.0020.0002] # KHAROSHTHI LETTER DDHA
+10A1E ; [.246D.0020.0002] # KHAROSHTHI LETTER NNA
+10A1F ; [.246E.0020.0002] # KHAROSHTHI LETTER TA
+10A20 ; [.246F.0020.0002] # KHAROSHTHI LETTER THA
+10A21 ; [.2470.0020.0002] # KHAROSHTHI LETTER DA
+10A22 ; [.2471.0020.0002] # KHAROSHTHI LETTER DHA
+10A23 ; [.2472.0020.0002] # KHAROSHTHI LETTER NA
+10A24 ; [.2473.0020.0002] # KHAROSHTHI LETTER PA
+10A25 ; [.2474.0020.0002] # KHAROSHTHI LETTER PHA
+10A26 ; [.2475.0020.0002] # KHAROSHTHI LETTER BA
+10A27 ; [.2476.0020.0002] # KHAROSHTHI LETTER BHA
+10A28 ; [.2477.0020.0002] # KHAROSHTHI LETTER MA
+10A29 ; [.2478.0020.0002] # KHAROSHTHI LETTER YA
+10A2A ; [.2479.0020.0002] # KHAROSHTHI LETTER RA
+10A2B ; [.247A.0020.0002] # KHAROSHTHI LETTER LA
+10A2C ; [.247B.0020.0002] # KHAROSHTHI LETTER VA
+10A2D ; [.247C.0020.0002] # KHAROSHTHI LETTER SHA
+10A2E ; [.247D.0020.0002] # KHAROSHTHI LETTER SSA
+10A2F ; [.247E.0020.0002] # KHAROSHTHI LETTER SA
+10A30 ; [.247F.0020.0002] # KHAROSHTHI LETTER ZA
+10A31 ; [.2480.0020.0002] # KHAROSHTHI LETTER HA
+10A32 ; [.2481.0020.0002] # KHAROSHTHI LETTER KKA
+10A33 ; [.2482.0020.0002] # KHAROSHTHI LETTER TTTHA
+10A3F ; [.2483.0020.0002] # KHAROSHTHI VIRAMA
+0E01 ; [.2484.0020.0002] # THAI CHARACTER KO KAI
+0E40 0E01 ; [.2484.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
+0E41 0E01 ; [.2484.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
+0E42 0E01 ; [.2484.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
+0E43 0E01 ; [.2484.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
+0E44 0E01 ; [.2484.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
+0E02 ; [.2485.0020.0002] # THAI CHARACTER KHO KHAI
+0E40 0E02 ; [.2485.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
+0E41 0E02 ; [.2485.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
+0E42 0E02 ; [.2485.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
+0E43 0E02 ; [.2485.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
+0E44 0E02 ; [.2485.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
+0E03 ; [.2486.0020.0002] # THAI CHARACTER KHO KHUAT
+0E40 0E03 ; [.2486.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
+0E41 0E03 ; [.2486.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
+0E42 0E03 ; [.2486.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
+0E43 0E03 ; [.2486.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
+0E44 0E03 ; [.2486.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
+0E04 ; [.2487.0020.0002] # THAI CHARACTER KHO KHWAI
+0E40 0E04 ; [.2487.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
+0E41 0E04 ; [.2487.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
+0E42 0E04 ; [.2487.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
+0E43 0E04 ; [.2487.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
+0E44 0E04 ; [.2487.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
+0E05 ; [.2488.0020.0002] # THAI CHARACTER KHO KHON
+0E40 0E05 ; [.2488.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
+0E41 0E05 ; [.2488.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
+0E42 0E05 ; [.2488.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
+0E43 0E05 ; [.2488.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
+0E44 0E05 ; [.2488.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
+0E06 ; [.2489.0020.0002] # THAI CHARACTER KHO RAKHANG
+0E40 0E06 ; [.2489.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
+0E41 0E06 ; [.2489.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
+0E42 0E06 ; [.2489.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
+0E43 0E06 ; [.2489.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
+0E44 0E06 ; [.2489.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
+0E07 ; [.248A.0020.0002] # THAI CHARACTER NGO NGU
+0E40 0E07 ; [.248A.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
+0E41 0E07 ; [.248A.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
+0E42 0E07 ; [.248A.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
+0E43 0E07 ; [.248A.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
+0E44 0E07 ; [.248A.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
+0E08 ; [.248B.0020.0002] # THAI CHARACTER CHO CHAN
+0E40 0E08 ; [.248B.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
+0E41 0E08 ; [.248B.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
+0E42 0E08 ; [.248B.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
+0E43 0E08 ; [.248B.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
+0E44 0E08 ; [.248B.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
+0E09 ; [.248C.0020.0002] # THAI CHARACTER CHO CHING
+0E40 0E09 ; [.248C.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
+0E41 0E09 ; [.248C.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
+0E42 0E09 ; [.248C.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
+0E43 0E09 ; [.248C.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
+0E44 0E09 ; [.248C.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
+0E0A ; [.248D.0020.0002] # THAI CHARACTER CHO CHANG
+0E40 0E0A ; [.248D.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
+0E41 0E0A ; [.248D.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
+0E42 0E0A ; [.248D.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
+0E43 0E0A ; [.248D.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
+0E44 0E0A ; [.248D.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
+0E0B ; [.248E.0020.0002] # THAI CHARACTER SO SO
+0E40 0E0B ; [.248E.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
+0E41 0E0B ; [.248E.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
+0E42 0E0B ; [.248E.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
+0E43 0E0B ; [.248E.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
+0E44 0E0B ; [.248E.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
+0E0C ; [.248F.0020.0002] # THAI CHARACTER CHO CHOE
+0E40 0E0C ; [.248F.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
+0E41 0E0C ; [.248F.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
+0E42 0E0C ; [.248F.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
+0E43 0E0C ; [.248F.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
+0E44 0E0C ; [.248F.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
+0E0D ; [.2490.0020.0002] # THAI CHARACTER YO YING
+0E40 0E0D ; [.2490.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
+0E41 0E0D ; [.2490.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
+0E42 0E0D ; [.2490.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
+0E43 0E0D ; [.2490.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
+0E44 0E0D ; [.2490.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
+0E0E ; [.2491.0020.0002] # THAI CHARACTER DO CHADA
+0E40 0E0E ; [.2491.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
+0E41 0E0E ; [.2491.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
+0E42 0E0E ; [.2491.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
+0E43 0E0E ; [.2491.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
+0E44 0E0E ; [.2491.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
+0E0F ; [.2492.0020.0002] # THAI CHARACTER TO PATAK
+0E40 0E0F ; [.2492.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
+0E41 0E0F ; [.2492.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
+0E42 0E0F ; [.2492.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
+0E43 0E0F ; [.2492.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
+0E44 0E0F ; [.2492.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
+0E10 ; [.2493.0020.0002] # THAI CHARACTER THO THAN
+0E40 0E10 ; [.2493.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
+0E41 0E10 ; [.2493.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
+0E42 0E10 ; [.2493.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
+0E43 0E10 ; [.2493.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
+0E44 0E10 ; [.2493.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
+0E11 ; [.2494.0020.0002] # THAI CHARACTER THO NANGMONTHO
+0E40 0E11 ; [.2494.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
+0E41 0E11 ; [.2494.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
+0E42 0E11 ; [.2494.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
+0E43 0E11 ; [.2494.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
+0E44 0E11 ; [.2494.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
+0E12 ; [.2495.0020.0002] # THAI CHARACTER THO PHUTHAO
+0E40 0E12 ; [.2495.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
+0E41 0E12 ; [.2495.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
+0E42 0E12 ; [.2495.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
+0E43 0E12 ; [.2495.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
+0E44 0E12 ; [.2495.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
+0E13 ; [.2496.0020.0002] # THAI CHARACTER NO NEN
+0E40 0E13 ; [.2496.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
+0E41 0E13 ; [.2496.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
+0E42 0E13 ; [.2496.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
+0E43 0E13 ; [.2496.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
+0E44 0E13 ; [.2496.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
+0E14 ; [.2497.0020.0002] # THAI CHARACTER DO DEK
+0E40 0E14 ; [.2497.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
+0E41 0E14 ; [.2497.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
+0E42 0E14 ; [.2497.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
+0E43 0E14 ; [.2497.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
+0E44 0E14 ; [.2497.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
+0E15 ; [.2498.0020.0002] # THAI CHARACTER TO TAO
+0E40 0E15 ; [.2498.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
+0E41 0E15 ; [.2498.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
+0E42 0E15 ; [.2498.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
+0E43 0E15 ; [.2498.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
+0E44 0E15 ; [.2498.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
+0E16 ; [.2499.0020.0002] # THAI CHARACTER THO THUNG
+0E40 0E16 ; [.2499.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
+0E41 0E16 ; [.2499.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
+0E42 0E16 ; [.2499.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
+0E43 0E16 ; [.2499.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
+0E44 0E16 ; [.2499.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
+0E17 ; [.249A.0020.0002] # THAI CHARACTER THO THAHAN
+0E40 0E17 ; [.249A.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
+0E41 0E17 ; [.249A.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
+0E42 0E17 ; [.249A.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
+0E43 0E17 ; [.249A.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
+0E44 0E17 ; [.249A.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
+0E18 ; [.249B.0020.0002] # THAI CHARACTER THO THONG
+0E40 0E18 ; [.249B.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
+0E41 0E18 ; [.249B.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
+0E42 0E18 ; [.249B.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
+0E43 0E18 ; [.249B.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
+0E44 0E18 ; [.249B.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
+0E19 ; [.249C.0020.0002] # THAI CHARACTER NO NU
+0E40 0E19 ; [.249C.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
+0E41 0E19 ; [.249C.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
+0E42 0E19 ; [.249C.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
+0E43 0E19 ; [.249C.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
+0E44 0E19 ; [.249C.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
+0E1A ; [.249D.0020.0002] # THAI CHARACTER BO BAIMAI
+0E40 0E1A ; [.249D.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
+0E41 0E1A ; [.249D.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
+0E42 0E1A ; [.249D.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
+0E43 0E1A ; [.249D.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
+0E44 0E1A ; [.249D.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
+0E1B ; [.249E.0020.0002] # THAI CHARACTER PO PLA
+0E40 0E1B ; [.249E.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
+0E41 0E1B ; [.249E.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
+0E42 0E1B ; [.249E.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
+0E43 0E1B ; [.249E.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
+0E44 0E1B ; [.249E.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
+0E1C ; [.249F.0020.0002] # THAI CHARACTER PHO PHUNG
+0E40 0E1C ; [.249F.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
+0E41 0E1C ; [.249F.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
+0E42 0E1C ; [.249F.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
+0E43 0E1C ; [.249F.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
+0E44 0E1C ; [.249F.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
+0E1D ; [.24A0.0020.0002] # THAI CHARACTER FO FA
+0E40 0E1D ; [.24A0.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
+0E41 0E1D ; [.24A0.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
+0E42 0E1D ; [.24A0.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
+0E43 0E1D ; [.24A0.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
+0E44 0E1D ; [.24A0.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
+0E1E ; [.24A1.0020.0002] # THAI CHARACTER PHO PHAN
+0E40 0E1E ; [.24A1.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
+0E41 0E1E ; [.24A1.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
+0E42 0E1E ; [.24A1.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
+0E43 0E1E ; [.24A1.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
+0E44 0E1E ; [.24A1.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
+0E1F ; [.24A2.0020.0002] # THAI CHARACTER FO FAN
+0E40 0E1F ; [.24A2.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
+0E41 0E1F ; [.24A2.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
+0E42 0E1F ; [.24A2.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
+0E43 0E1F ; [.24A2.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
+0E44 0E1F ; [.24A2.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
+0E20 ; [.24A3.0020.0002] # THAI CHARACTER PHO SAMPHAO
+0E40 0E20 ; [.24A3.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
+0E41 0E20 ; [.24A3.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
+0E42 0E20 ; [.24A3.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
+0E43 0E20 ; [.24A3.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
+0E44 0E20 ; [.24A3.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
+0E21 ; [.24A4.0020.0002] # THAI CHARACTER MO MA
+0E40 0E21 ; [.24A4.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
+0E41 0E21 ; [.24A4.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
+0E42 0E21 ; [.24A4.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
+0E43 0E21 ; [.24A4.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
+0E44 0E21 ; [.24A4.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
+0E22 ; [.24A5.0020.0002] # THAI CHARACTER YO YAK
+0E40 0E22 ; [.24A5.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
+0E41 0E22 ; [.24A5.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
+0E42 0E22 ; [.24A5.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
+0E43 0E22 ; [.24A5.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
+0E44 0E22 ; [.24A5.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
+0E23 ; [.24A6.0020.0002] # THAI CHARACTER RO RUA
+0E40 0E23 ; [.24A6.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
+0E41 0E23 ; [.24A6.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
+0E42 0E23 ; [.24A6.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
+0E43 0E23 ; [.24A6.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
+0E44 0E23 ; [.24A6.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
+0E24 ; [.24A7.0020.0002] # THAI CHARACTER RU
+0E40 0E24 ; [.24A7.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
+0E41 0E24 ; [.24A7.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
+0E42 0E24 ; [.24A7.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
+0E43 0E24 ; [.24A7.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
+0E44 0E24 ; [.24A7.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
+0E25 ; [.24A8.0020.0002] # THAI CHARACTER LO LING
+0E40 0E25 ; [.24A8.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
+0E41 0E25 ; [.24A8.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
+0E42 0E25 ; [.24A8.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
+0E43 0E25 ; [.24A8.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
+0E44 0E25 ; [.24A8.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
+0E26 ; [.24A9.0020.0002] # THAI CHARACTER LU
+0E40 0E26 ; [.24A9.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
+0E41 0E26 ; [.24A9.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
+0E42 0E26 ; [.24A9.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
+0E43 0E26 ; [.24A9.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
+0E44 0E26 ; [.24A9.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
+0E27 ; [.24AA.0020.0002] # THAI CHARACTER WO WAEN
+0E40 0E27 ; [.24AA.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
+0E41 0E27 ; [.24AA.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
+0E42 0E27 ; [.24AA.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
+0E43 0E27 ; [.24AA.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
+0E44 0E27 ; [.24AA.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
+0E28 ; [.24AB.0020.0002] # THAI CHARACTER SO SALA
+0E40 0E28 ; [.24AB.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
+0E41 0E28 ; [.24AB.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
+0E42 0E28 ; [.24AB.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
+0E43 0E28 ; [.24AB.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
+0E44 0E28 ; [.24AB.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
+0E29 ; [.24AC.0020.0002] # THAI CHARACTER SO RUSI
+0E40 0E29 ; [.24AC.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
+0E41 0E29 ; [.24AC.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
+0E42 0E29 ; [.24AC.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
+0E43 0E29 ; [.24AC.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
+0E44 0E29 ; [.24AC.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
+0E2A ; [.24AD.0020.0002] # THAI CHARACTER SO SUA
+0E40 0E2A ; [.24AD.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
+0E41 0E2A ; [.24AD.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
+0E42 0E2A ; [.24AD.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
+0E43 0E2A ; [.24AD.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
+0E44 0E2A ; [.24AD.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
+0E2B ; [.24AE.0020.0002] # THAI CHARACTER HO HIP
+0E40 0E2B ; [.24AE.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
+0E41 0E2B ; [.24AE.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
+0E42 0E2B ; [.24AE.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
+0E43 0E2B ; [.24AE.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
+0E44 0E2B ; [.24AE.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
+0E2C ; [.24AF.0020.0002] # THAI CHARACTER LO CHULA
+0E40 0E2C ; [.24AF.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
+0E41 0E2C ; [.24AF.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
+0E42 0E2C ; [.24AF.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
+0E43 0E2C ; [.24AF.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
+0E44 0E2C ; [.24AF.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
+0E2D ; [.24B0.0020.0002] # THAI CHARACTER O ANG
+0E40 0E2D ; [.24B0.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
+0E41 0E2D ; [.24B0.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
+0E42 0E2D ; [.24B0.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
+0E43 0E2D ; [.24B0.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
+0E44 0E2D ; [.24B0.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
+0E2E ; [.24B1.0020.0002] # THAI CHARACTER HO NOKHUK
+0E40 0E2E ; [.24B1.0020.0002][.24BE.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
+0E41 0E2E ; [.24B1.0020.0002][.24BF.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
+0E42 0E2E ; [.24B1.0020.0002][.24C0.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
+0E43 0E2E ; [.24B1.0020.0002][.24C1.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
+0E44 0E2E ; [.24B1.0020.0002][.24C2.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
+0E2F ; [.24B2.0020.0002] # THAI CHARACTER PAIYANNOI
+0E30 ; [.24B3.0020.0002] # THAI CHARACTER SARA A
+0E31 ; [.24B4.0020.0002] # THAI CHARACTER MAI HAN-AKAT
+0E32 ; [.24B5.0020.0002] # THAI CHARACTER SARA AA
+0E33 ; [.24B6.0020.0002] # THAI CHARACTER SARA AM
+0E4D 0E32 ; [.24B6.0020.0002] # THAI CHARACTER SARA AM
+0E34 ; [.24B7.0020.0002] # THAI CHARACTER SARA I
+0E35 ; [.24B8.0020.0002] # THAI CHARACTER SARA II
+0E36 ; [.24B9.0020.0002] # THAI CHARACTER SARA UE
+0E37 ; [.24BA.0020.0002] # THAI CHARACTER SARA UEE
+0E38 ; [.24BB.0020.0002] # THAI CHARACTER SARA U
+0E39 ; [.24BC.0020.0002] # THAI CHARACTER SARA UU
+0E3A ; [.24BD.0020.0002] # THAI CHARACTER PHINTHU
+0E40 ; [.24BE.0020.0002] # THAI CHARACTER SARA E
+0E41 ; [.24BF.0020.0002] # THAI CHARACTER SARA AE
+0E42 ; [.24C0.0020.0002] # THAI CHARACTER SARA O
+0E43 ; [.24C1.0020.0002] # THAI CHARACTER SARA AI MAIMUAN
+0E44 ; [.24C2.0020.0002] # THAI CHARACTER SARA AI MAIMALAI
+0E45 ; [.24C3.0020.0002] # THAI CHARACTER LAKKHANGYAO
+0EDE ; [.24C4.0020.0002] # LAO LETTER KHMU GO
+0EC0 0EDE ; [.24C4.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU GO>
+0EC1 0EDE ; [.24C4.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU GO>
+0EC2 0EDE ; [.24C4.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU GO>
+0EC3 0EDE ; [.24C4.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU GO>
+0EC4 0EDE ; [.24C4.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU GO>
+0E81 ; [.24C5.0020.0002] # LAO LETTER KO
+0EC0 0E81 ; [.24C5.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KO>
+0EC1 0E81 ; [.24C5.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KO>
+0EC2 0E81 ; [.24C5.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KO>
+0EC3 0E81 ; [.24C5.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KO>
+0EC4 0E81 ; [.24C5.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KO>
+0E82 ; [.24C6.0020.0002] # LAO LETTER KHO SUNG
+0EC0 0E82 ; [.24C6.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
+0EC1 0E82 ; [.24C6.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
+0EC2 0E82 ; [.24C6.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
+0EC3 0E82 ; [.24C6.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
+0EC4 0E82 ; [.24C6.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
+0E84 ; [.24C7.0020.0002] # LAO LETTER KHO TAM
+0EC0 0E84 ; [.24C7.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
+0EC1 0E84 ; [.24C7.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
+0EC2 0E84 ; [.24C7.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
+0EC3 0E84 ; [.24C7.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
+0EC4 0E84 ; [.24C7.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
+0E87 ; [.24C8.0020.0002] # LAO LETTER NGO
+0EC0 0E87 ; [.24C8.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NGO>
+0EC1 0E87 ; [.24C8.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
+0EC2 0E87 ; [.24C8.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NGO>
+0EC3 0E87 ; [.24C8.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
+0EC4 0E87 ; [.24C8.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
+0E88 ; [.24C9.0020.0002] # LAO LETTER CO
+0EC0 0E88 ; [.24C9.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER CO>
+0EC1 0E88 ; [.24C9.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER CO>
+0EC2 0E88 ; [.24C9.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER CO>
+0EC3 0E88 ; [.24C9.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER CO>
+0EC4 0E88 ; [.24C9.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER CO>
+0EAA ; [.24CA.0020.0002] # LAO LETTER SO SUNG
+0EC0 0EAA ; [.24CA.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
+0EC1 0EAA ; [.24CA.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
+0EC2 0EAA ; [.24CA.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
+0EC3 0EAA ; [.24CA.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
+0EC4 0EAA ; [.24CA.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
+0E8A ; [.24CB.0020.0002] # LAO LETTER SO TAM
+0EC0 0E8A ; [.24CB.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
+0EC1 0E8A ; [.24CB.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
+0EC2 0E8A ; [.24CB.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
+0EC3 0E8A ; [.24CB.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
+0EC4 0E8A ; [.24CB.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
+0EDF ; [.24CC.0020.0002] # LAO LETTER KHMU NYO
+0EC0 0EDF ; [.24CC.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU NYO>
+0EC1 0EDF ; [.24CC.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU NYO>
+0EC2 0EDF ; [.24CC.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU NYO>
+0EC3 0EDF ; [.24CC.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU NYO>
+0EC4 0EDF ; [.24CC.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU NYO>
+0E8D ; [.24CD.0020.0002] # LAO LETTER NYO
+0EC0 0E8D ; [.24CD.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NYO>
+0EC1 0E8D ; [.24CD.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
+0EC2 0E8D ; [.24CD.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NYO>
+0EC3 0E8D ; [.24CD.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
+0EC4 0E8D ; [.24CD.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
+0E94 ; [.24CE.0020.0002] # LAO LETTER DO
+0EC0 0E94 ; [.24CE.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER DO>
+0EC1 0E94 ; [.24CE.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER DO>
+0EC2 0E94 ; [.24CE.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER DO>
+0EC3 0E94 ; [.24CE.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER DO>
+0EC4 0E94 ; [.24CE.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER DO>
+0E95 ; [.24CF.0020.0002] # LAO LETTER TO
+0EC0 0E95 ; [.24CF.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER TO>
+0EC1 0E95 ; [.24CF.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER TO>
+0EC2 0E95 ; [.24CF.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER TO>
+0EC3 0E95 ; [.24CF.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER TO>
+0EC4 0E95 ; [.24CF.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER TO>
+0E96 ; [.24D0.0020.0002] # LAO LETTER THO SUNG
+0EC0 0E96 ; [.24D0.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
+0EC1 0E96 ; [.24D0.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
+0EC2 0E96 ; [.24D0.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
+0EC3 0E96 ; [.24D0.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
+0EC4 0E96 ; [.24D0.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
+0E97 ; [.24D1.0020.0002] # LAO LETTER THO TAM
+0EC0 0E97 ; [.24D1.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
+0EC1 0E97 ; [.24D1.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
+0EC2 0E97 ; [.24D1.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
+0EC3 0E97 ; [.24D1.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
+0EC4 0E97 ; [.24D1.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
+0E99 ; [.24D2.0020.0002] # LAO LETTER NO
+0EC0 0E99 ; [.24D2.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NO>
+0EC1 0E99 ; [.24D2.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NO>
+0EC2 0E99 ; [.24D2.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NO>
+0EC3 0E99 ; [.24D2.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NO>
+0EC4 0E99 ; [.24D2.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NO>
+0E9A ; [.24D3.0020.0002] # LAO LETTER BO
+0EC0 0E9A ; [.24D3.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER BO>
+0EC1 0E9A ; [.24D3.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER BO>
+0EC2 0E9A ; [.24D3.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER BO>
+0EC3 0E9A ; [.24D3.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER BO>
+0EC4 0E9A ; [.24D3.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER BO>
+0E9B ; [.24D4.0020.0002] # LAO LETTER PO
+0EC0 0E9B ; [.24D4.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PO>
+0EC1 0E9B ; [.24D4.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PO>
+0EC2 0E9B ; [.24D4.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PO>
+0EC3 0E9B ; [.24D4.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PO>
+0EC4 0E9B ; [.24D4.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PO>
+0E9C ; [.24D5.0020.0002] # LAO LETTER PHO SUNG
+0EC0 0E9C ; [.24D5.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
+0EC1 0E9C ; [.24D5.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
+0EC2 0E9C ; [.24D5.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
+0EC3 0E9C ; [.24D5.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
+0EC4 0E9C ; [.24D5.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
+0E9D ; [.24D6.0020.0002] # LAO LETTER FO TAM
+0EC0 0E9D ; [.24D6.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
+0EC1 0E9D ; [.24D6.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
+0EC2 0E9D ; [.24D6.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
+0EC3 0E9D ; [.24D6.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
+0EC4 0E9D ; [.24D6.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
+0E9E ; [.24D7.0020.0002] # LAO LETTER PHO TAM
+0EC0 0E9E ; [.24D7.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
+0EC1 0E9E ; [.24D7.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
+0EC2 0E9E ; [.24D7.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
+0EC3 0E9E ; [.24D7.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
+0EC4 0E9E ; [.24D7.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
+0E9F ; [.24D8.0020.0002] # LAO LETTER FO SUNG
+0EC0 0E9F ; [.24D8.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
+0EC1 0E9F ; [.24D8.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
+0EC2 0E9F ; [.24D8.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
+0EC3 0E9F ; [.24D8.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
+0EC4 0E9F ; [.24D8.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
+0EA1 ; [.24D9.0020.0002] # LAO LETTER MO
+0EC0 0EA1 ; [.24D9.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER MO>
+0EC1 0EA1 ; [.24D9.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER MO>
+0EC2 0EA1 ; [.24D9.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER MO>
+0EC3 0EA1 ; [.24D9.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER MO>
+0EC4 0EA1 ; [.24D9.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER MO>
+0EA2 ; [.24DA.0020.0002] # LAO LETTER YO
+0EC0 0EA2 ; [.24DA.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER YO>
+0EC1 0EA2 ; [.24DA.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER YO>
+0EC2 0EA2 ; [.24DA.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER YO>
+0EC3 0EA2 ; [.24DA.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER YO>
+0EC4 0EA2 ; [.24DA.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER YO>
+0EA3 ; [.24DB.0020.0002] # LAO LETTER LO LING
+0EC0 0EA3 ; [.24DB.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
+0EC1 0EA3 ; [.24DB.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
+0EC2 0EA3 ; [.24DB.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
+0EC3 0EA3 ; [.24DB.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
+0EC4 0EA3 ; [.24DB.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
+0EA5 ; [.24DC.0020.0002] # LAO LETTER LO LOOT
+0EC0 0EA5 ; [.24DC.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
+0EC1 0EA5 ; [.24DC.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
+0EC2 0EA5 ; [.24DC.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
+0EC3 0EA5 ; [.24DC.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
+0EC4 0EA5 ; [.24DC.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
+0EA7 ; [.24DD.0020.0002] # LAO LETTER WO
+0EC0 0EA7 ; [.24DD.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER WO>
+0EC1 0EA7 ; [.24DD.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER WO>
+0EC2 0EA7 ; [.24DD.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER WO>
+0EC3 0EA7 ; [.24DD.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER WO>
+0EC4 0EA7 ; [.24DD.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER WO>
+0EAB ; [.24DE.0020.0002] # LAO LETTER HO SUNG
+0EDC ; [.24DE.0020.0004][.24D2.0020.0004] # LAO HO NO
+0EC0 0EDC ; [.24DE.0020.0004][.24D2.0020.0004][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO HO NO>
+0EC1 0EDC ; [.24DE.0020.0004][.24D2.0020.0004][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO HO NO>
+0EC2 0EDC ; [.24DE.0020.0004][.24D2.0020.0004][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO HO NO>
+0EC3 0EDC ; [.24DE.0020.0004][.24D2.0020.0004][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO HO NO>
+0EC4 0EDC ; [.24DE.0020.0004][.24D2.0020.0004][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO HO NO>
+0EDD ; [.24DE.0020.0004][.24D9.0020.0004] # LAO HO MO
+0EC0 0EDD ; [.24DE.0020.0004][.24D9.0020.0004][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO HO MO>
+0EC1 0EDD ; [.24DE.0020.0004][.24D9.0020.0004][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO HO MO>
+0EC2 0EDD ; [.24DE.0020.0004][.24D9.0020.0004][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO HO MO>
+0EC3 0EDD ; [.24DE.0020.0004][.24D9.0020.0004][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO HO MO>
+0EC4 0EDD ; [.24DE.0020.0004][.24D9.0020.0004][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO HO MO>
+0EC0 0EAB ; [.24DE.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
+0EC1 0EAB ; [.24DE.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
+0EC2 0EAB ; [.24DE.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
+0EC3 0EAB ; [.24DE.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
+0EC4 0EAB ; [.24DE.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
+0EAD ; [.24DF.0020.0002] # LAO LETTER O
+0EC0 0EAD ; [.24DF.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER O>
+0EC1 0EAD ; [.24DF.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER O>
+0EC2 0EAD ; [.24DF.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER O>
+0EC3 0EAD ; [.24DF.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER O>
+0EC4 0EAD ; [.24DF.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER O>
+0EAE ; [.24E0.0020.0002] # LAO LETTER HO TAM
+0EC0 0EAE ; [.24E0.0020.0002][.24EF.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
+0EC1 0EAE ; [.24E0.0020.0002][.24F0.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
+0EC2 0EAE ; [.24E0.0020.0002][.24F1.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
+0EC3 0EAE ; [.24E0.0020.0002][.24F2.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
+0EC4 0EAE ; [.24E0.0020.0002][.24F3.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
+0EAF ; [.24E1.0020.0002] # LAO ELLIPSIS
+0EB0 ; [.24E2.0020.0002] # LAO VOWEL SIGN A
+0EB1 ; [.24E3.0020.0002] # LAO VOWEL SIGN MAI KAN
+0EB2 ; [.24E4.0020.0002] # LAO VOWEL SIGN AA
+0EB3 ; [.24E5.0020.0002] # LAO VOWEL SIGN AM
+0ECD 0EB2 ; [.24E5.0020.0002] # LAO VOWEL SIGN AM
+0EB4 ; [.24E6.0020.0002] # LAO VOWEL SIGN I
+0EB5 ; [.24E7.0020.0002] # LAO VOWEL SIGN II
+0EB6 ; [.24E8.0020.0002] # LAO VOWEL SIGN Y
+0EB7 ; [.24E9.0020.0002] # LAO VOWEL SIGN YY
+0EB8 ; [.24EA.0020.0002] # LAO VOWEL SIGN U
+0EB9 ; [.24EB.0020.0002] # LAO VOWEL SIGN UU
+0EBB ; [.24EC.0020.0002] # LAO VOWEL SIGN MAI KON
+0EBC ; [.24ED.0020.0002] # LAO SEMIVOWEL SIGN LO
+0EBD ; [.24EE.0020.0002] # LAO SEMIVOWEL SIGN NYO
+0EC0 ; [.24EF.0020.0002] # LAO VOWEL SIGN E
+0EC1 ; [.24F0.0020.0002] # LAO VOWEL SIGN EI
+0EC2 ; [.24F1.0020.0002] # LAO VOWEL SIGN O
+0EC3 ; [.24F2.0020.0002] # LAO VOWEL SIGN AY
+0EC4 ; [.24F3.0020.0002] # LAO VOWEL SIGN AI
+AA80 ; [.24F4.0020.0002] # TAI VIET LETTER LOW KO
+AAB5 AA80 ; [.24F4.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
+AAB6 AA80 ; [.24F4.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
+AAB9 AA80 ; [.24F4.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
+AABB AA80 ; [.24F4.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
+AABC AA80 ; [.24F4.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
+AA81 ; [.24F5.0020.0002] # TAI VIET LETTER HIGH KO
+AAB5 AA81 ; [.24F5.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
+AAB6 AA81 ; [.24F5.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
+AAB9 AA81 ; [.24F5.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
+AABB AA81 ; [.24F5.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
+AABC AA81 ; [.24F5.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
+AA82 ; [.24F6.0020.0002] # TAI VIET LETTER LOW KHO
+AAB5 AA82 ; [.24F6.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
+AAB6 AA82 ; [.24F6.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
+AAB9 AA82 ; [.24F6.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
+AABB AA82 ; [.24F6.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
+AABC AA82 ; [.24F6.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
+AA83 ; [.24F7.0020.0002] # TAI VIET LETTER HIGH KHO
+AAB5 AA83 ; [.24F7.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
+AAB6 AA83 ; [.24F7.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
+AAB9 AA83 ; [.24F7.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
+AABB AA83 ; [.24F7.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
+AABC AA83 ; [.24F7.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
+AA84 ; [.24F8.0020.0002] # TAI VIET LETTER LOW KHHO
+AAB5 AA84 ; [.24F8.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
+AAB6 AA84 ; [.24F8.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
+AAB9 AA84 ; [.24F8.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
+AABB AA84 ; [.24F8.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
+AABC AA84 ; [.24F8.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
+AA85 ; [.24F9.0020.0002] # TAI VIET LETTER HIGH KHHO
+AAB5 AA85 ; [.24F9.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
+AAB6 AA85 ; [.24F9.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
+AAB9 AA85 ; [.24F9.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
+AABB AA85 ; [.24F9.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
+AABC AA85 ; [.24F9.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
+AA86 ; [.24FA.0020.0002] # TAI VIET LETTER LOW GO
+AAB5 AA86 ; [.24FA.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
+AAB6 AA86 ; [.24FA.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
+AAB9 AA86 ; [.24FA.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
+AABB AA86 ; [.24FA.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
+AABC AA86 ; [.24FA.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
+AA87 ; [.24FB.0020.0002] # TAI VIET LETTER HIGH GO
+AAB5 AA87 ; [.24FB.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
+AAB6 AA87 ; [.24FB.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
+AAB9 AA87 ; [.24FB.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
+AABB AA87 ; [.24FB.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
+AABC AA87 ; [.24FB.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
+AA88 ; [.24FC.0020.0002] # TAI VIET LETTER LOW NGO
+AAB5 AA88 ; [.24FC.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
+AAB6 AA88 ; [.24FC.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
+AAB9 AA88 ; [.24FC.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
+AABB AA88 ; [.24FC.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
+AABC AA88 ; [.24FC.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
+AA89 ; [.24FD.0020.0002] # TAI VIET LETTER HIGH NGO
+AAB5 AA89 ; [.24FD.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
+AAB6 AA89 ; [.24FD.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
+AAB9 AA89 ; [.24FD.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
+AABB AA89 ; [.24FD.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
+AABC AA89 ; [.24FD.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
+AA8A ; [.24FE.0020.0002] # TAI VIET LETTER LOW CO
+AAB5 AA8A ; [.24FE.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
+AAB6 AA8A ; [.24FE.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
+AAB9 AA8A ; [.24FE.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
+AABB AA8A ; [.24FE.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
+AABC AA8A ; [.24FE.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
+AA8B ; [.24FF.0020.0002] # TAI VIET LETTER HIGH CO
+AAB5 AA8B ; [.24FF.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
+AAB6 AA8B ; [.24FF.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
+AAB9 AA8B ; [.24FF.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
+AABB AA8B ; [.24FF.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
+AABC AA8B ; [.24FF.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
+AA8C ; [.2500.0020.0002] # TAI VIET LETTER LOW CHO
+AAB5 AA8C ; [.2500.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
+AAB6 AA8C ; [.2500.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
+AAB9 AA8C ; [.2500.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
+AABB AA8C ; [.2500.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
+AABC AA8C ; [.2500.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
+AA8D ; [.2501.0020.0002] # TAI VIET LETTER HIGH CHO
+AAB5 AA8D ; [.2501.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
+AAB6 AA8D ; [.2501.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
+AAB9 AA8D ; [.2501.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
+AABB AA8D ; [.2501.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
+AABC AA8D ; [.2501.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
+AA8E ; [.2502.0020.0002] # TAI VIET LETTER LOW SO
+AAB5 AA8E ; [.2502.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
+AAB6 AA8E ; [.2502.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
+AAB9 AA8E ; [.2502.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
+AABB AA8E ; [.2502.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
+AABC AA8E ; [.2502.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
+AA8F ; [.2503.0020.0002] # TAI VIET LETTER HIGH SO
+AAB5 AA8F ; [.2503.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
+AAB6 AA8F ; [.2503.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
+AAB9 AA8F ; [.2503.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
+AABB AA8F ; [.2503.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
+AABC AA8F ; [.2503.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
+AA90 ; [.2504.0020.0002] # TAI VIET LETTER LOW NYO
+AAB5 AA90 ; [.2504.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
+AAB6 AA90 ; [.2504.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
+AAB9 AA90 ; [.2504.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
+AABB AA90 ; [.2504.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
+AABC AA90 ; [.2504.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
+AA91 ; [.2505.0020.0002] # TAI VIET LETTER HIGH NYO
+AAB5 AA91 ; [.2505.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
+AAB6 AA91 ; [.2505.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
+AAB9 AA91 ; [.2505.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
+AABB AA91 ; [.2505.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
+AABC AA91 ; [.2505.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
+AA92 ; [.2506.0020.0002] # TAI VIET LETTER LOW DO
+AAB5 AA92 ; [.2506.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
+AAB6 AA92 ; [.2506.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
+AAB9 AA92 ; [.2506.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
+AABB AA92 ; [.2506.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
+AABC AA92 ; [.2506.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
+AA93 ; [.2507.0020.0002] # TAI VIET LETTER HIGH DO
+AAB5 AA93 ; [.2507.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
+AAB6 AA93 ; [.2507.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
+AAB9 AA93 ; [.2507.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
+AABB AA93 ; [.2507.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
+AABC AA93 ; [.2507.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
+AA94 ; [.2508.0020.0002] # TAI VIET LETTER LOW TO
+AAB5 AA94 ; [.2508.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
+AAB6 AA94 ; [.2508.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
+AAB9 AA94 ; [.2508.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
+AABB AA94 ; [.2508.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
+AABC AA94 ; [.2508.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
+AA95 ; [.2509.0020.0002] # TAI VIET LETTER HIGH TO
+AAB5 AA95 ; [.2509.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
+AAB6 AA95 ; [.2509.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
+AAB9 AA95 ; [.2509.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
+AABB AA95 ; [.2509.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
+AABC AA95 ; [.2509.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
+AA96 ; [.250A.0020.0002] # TAI VIET LETTER LOW THO
+AAB5 AA96 ; [.250A.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
+AAB6 AA96 ; [.250A.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
+AAB9 AA96 ; [.250A.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
+AABB AA96 ; [.250A.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
+AABC AA96 ; [.250A.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
+AA97 ; [.250B.0020.0002] # TAI VIET LETTER HIGH THO
+AAB5 AA97 ; [.250B.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
+AAB6 AA97 ; [.250B.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
+AAB9 AA97 ; [.250B.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
+AABB AA97 ; [.250B.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
+AABC AA97 ; [.250B.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
+AA98 ; [.250C.0020.0002] # TAI VIET LETTER LOW NO
+AAB5 AA98 ; [.250C.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
+AAB6 AA98 ; [.250C.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
+AAB9 AA98 ; [.250C.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
+AABB AA98 ; [.250C.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
+AABC AA98 ; [.250C.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
+AA99 ; [.250D.0020.0002] # TAI VIET LETTER HIGH NO
+AAB5 AA99 ; [.250D.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
+AAB6 AA99 ; [.250D.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
+AAB9 AA99 ; [.250D.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
+AABB AA99 ; [.250D.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
+AABC AA99 ; [.250D.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
+AA9A ; [.250E.0020.0002] # TAI VIET LETTER LOW BO
+AAB5 AA9A ; [.250E.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
+AAB6 AA9A ; [.250E.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
+AAB9 AA9A ; [.250E.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
+AABB AA9A ; [.250E.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
+AABC AA9A ; [.250E.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
+AA9B ; [.250F.0020.0002] # TAI VIET LETTER HIGH BO
+AAB5 AA9B ; [.250F.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
+AAB6 AA9B ; [.250F.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
+AAB9 AA9B ; [.250F.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
+AABB AA9B ; [.250F.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
+AABC AA9B ; [.250F.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
+AA9C ; [.2510.0020.0002] # TAI VIET LETTER LOW PO
+AAB5 AA9C ; [.2510.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
+AAB6 AA9C ; [.2510.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
+AAB9 AA9C ; [.2510.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
+AABB AA9C ; [.2510.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
+AABC AA9C ; [.2510.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
+AA9D ; [.2511.0020.0002] # TAI VIET LETTER HIGH PO
+AAB5 AA9D ; [.2511.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
+AAB6 AA9D ; [.2511.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
+AAB9 AA9D ; [.2511.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
+AABB AA9D ; [.2511.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
+AABC AA9D ; [.2511.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
+AA9E ; [.2512.0020.0002] # TAI VIET LETTER LOW PHO
+AAB5 AA9E ; [.2512.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
+AAB6 AA9E ; [.2512.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
+AAB9 AA9E ; [.2512.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
+AABB AA9E ; [.2512.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
+AABC AA9E ; [.2512.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
+AA9F ; [.2513.0020.0002] # TAI VIET LETTER HIGH PHO
+AAB5 AA9F ; [.2513.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
+AAB6 AA9F ; [.2513.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
+AAB9 AA9F ; [.2513.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
+AABB AA9F ; [.2513.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
+AABC AA9F ; [.2513.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
+AAA0 ; [.2514.0020.0002] # TAI VIET LETTER LOW FO
+AAB5 AAA0 ; [.2514.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
+AAB6 AAA0 ; [.2514.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
+AAB9 AAA0 ; [.2514.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
+AABB AAA0 ; [.2514.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
+AABC AAA0 ; [.2514.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
+AAA1 ; [.2515.0020.0002] # TAI VIET LETTER HIGH FO
+AAB5 AAA1 ; [.2515.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
+AAB6 AAA1 ; [.2515.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
+AAB9 AAA1 ; [.2515.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
+AABB AAA1 ; [.2515.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
+AABC AAA1 ; [.2515.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
+AAA2 ; [.2516.0020.0002] # TAI VIET LETTER LOW MO
+AAB5 AAA2 ; [.2516.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
+AAB6 AAA2 ; [.2516.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
+AAB9 AAA2 ; [.2516.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
+AABB AAA2 ; [.2516.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
+AABC AAA2 ; [.2516.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
+AAA3 ; [.2517.0020.0002] # TAI VIET LETTER HIGH MO
+AAB5 AAA3 ; [.2517.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
+AAB6 AAA3 ; [.2517.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
+AAB9 AAA3 ; [.2517.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
+AABB AAA3 ; [.2517.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
+AABC AAA3 ; [.2517.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
+AAA4 ; [.2518.0020.0002] # TAI VIET LETTER LOW YO
+AAB5 AAA4 ; [.2518.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
+AAB6 AAA4 ; [.2518.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
+AAB9 AAA4 ; [.2518.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
+AABB AAA4 ; [.2518.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
+AABC AAA4 ; [.2518.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
+AAA5 ; [.2519.0020.0002] # TAI VIET LETTER HIGH YO
+AAB5 AAA5 ; [.2519.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
+AAB6 AAA5 ; [.2519.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
+AAB9 AAA5 ; [.2519.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
+AABB AAA5 ; [.2519.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
+AABC AAA5 ; [.2519.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
+AAA6 ; [.251A.0020.0002] # TAI VIET LETTER LOW RO
+AAB5 AAA6 ; [.251A.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
+AAB6 AAA6 ; [.251A.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
+AAB9 AAA6 ; [.251A.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
+AABB AAA6 ; [.251A.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
+AABC AAA6 ; [.251A.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
+AAA7 ; [.251B.0020.0002] # TAI VIET LETTER HIGH RO
+AAB5 AAA7 ; [.251B.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
+AAB6 AAA7 ; [.251B.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
+AAB9 AAA7 ; [.251B.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
+AABB AAA7 ; [.251B.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
+AABC AAA7 ; [.251B.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
+AAA8 ; [.251C.0020.0002] # TAI VIET LETTER LOW LO
+AAB5 AAA8 ; [.251C.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
+AAB6 AAA8 ; [.251C.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
+AAB9 AAA8 ; [.251C.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
+AABB AAA8 ; [.251C.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
+AABC AAA8 ; [.251C.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
+AAA9 ; [.251D.0020.0002] # TAI VIET LETTER HIGH LO
+AAB5 AAA9 ; [.251D.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
+AAB6 AAA9 ; [.251D.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
+AAB9 AAA9 ; [.251D.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
+AABB AAA9 ; [.251D.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
+AABC AAA9 ; [.251D.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
+AAAA ; [.251E.0020.0002] # TAI VIET LETTER LOW VO
+AAB5 AAAA ; [.251E.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
+AAB6 AAAA ; [.251E.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
+AAB9 AAAA ; [.251E.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
+AABB AAAA ; [.251E.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
+AABC AAAA ; [.251E.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
+AAAB ; [.251F.0020.0002] # TAI VIET LETTER HIGH VO
+AAB5 AAAB ; [.251F.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
+AAB6 AAAB ; [.251F.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
+AAB9 AAAB ; [.251F.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
+AABB AAAB ; [.251F.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
+AABC AAAB ; [.251F.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
+AAAC ; [.2520.0020.0002] # TAI VIET LETTER LOW HO
+AAB5 AAAC ; [.2520.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
+AAB6 AAAC ; [.2520.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
+AAB9 AAAC ; [.2520.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
+AABB AAAC ; [.2520.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
+AABC AAAC ; [.2520.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
+AAAD ; [.2521.0020.0002] # TAI VIET LETTER HIGH HO
+AAB5 AAAD ; [.2521.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
+AAB6 AAAD ; [.2521.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
+AAB9 AAAD ; [.2521.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
+AABB AAAD ; [.2521.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
+AABC AAAD ; [.2521.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
+AAAE ; [.2522.0020.0002] # TAI VIET LETTER LOW O
+AAB5 AAAE ; [.2522.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
+AAB6 AAAE ; [.2522.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
+AAB9 AAAE ; [.2522.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
+AABB AAAE ; [.2522.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
+AABC AAAE ; [.2522.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
+AAAF ; [.2523.0020.0002] # TAI VIET LETTER HIGH O
+AAB5 AAAF ; [.2523.0020.0002][.2529.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
+AAB6 AAAF ; [.2523.0020.0002][.252A.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
+AAB9 AAAF ; [.2523.0020.0002][.252D.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
+AABB AAAF ; [.2523.0020.0002][.252F.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
+AABC AAAF ; [.2523.0020.0002][.2530.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
+AAB0 ; [.2524.0020.0002] # TAI VIET MAI KANG
+AAB1 ; [.2525.0020.0002] # TAI VIET VOWEL AA
+AAB2 ; [.2526.0020.0002] # TAI VIET VOWEL I
+AAB3 ; [.2527.0020.0002] # TAI VIET VOWEL UE
+AAB4 ; [.2528.0020.0002] # TAI VIET VOWEL U
+AAB5 ; [.2529.0020.0002] # TAI VIET VOWEL E
+AAB6 ; [.252A.0020.0002] # TAI VIET VOWEL O
+AAB7 ; [.252B.0020.0002] # TAI VIET MAY KHIT
+AAB8 ; [.252C.0020.0002] # TAI VIET VOWEL IA
+AAB9 ; [.252D.0020.0002] # TAI VIET VOWEL UEA
+AABA ; [.252E.0020.0002] # TAI VIET VOWEL UA
+AABB ; [.252F.0020.0002] # TAI VIET VOWEL AUE
+AABC ; [.2530.0020.0002] # TAI VIET VOWEL AY
+AABD ; [.2531.0020.0002] # TAI VIET VOWEL AN
+AABE ; [.2532.0020.0002] # TAI VIET VOWEL AM
+AAC0 ; [.2533.0020.0002] # TAI VIET TONE MAI NUENG
+AAC2 ; [.2534.0020.0002] # TAI VIET TONE MAI SONG
+AADB ; [.2535.0020.0002] # TAI VIET SYMBOL KON
+AADC ; [.2536.0020.0002] # TAI VIET SYMBOL NUENG
+0F40 ; [.2537.0020.0002] # TIBETAN LETTER KA
+0F69 ; [.2537.0020.0002][.2578.0020.0002] # TIBETAN LETTER KSSA
+0F90 ; [.2538.0020.0002] # TIBETAN SUBJOINED LETTER KA
+0FB9 ; [.2538.0020.0002][.2578.0020.0002] # TIBETAN SUBJOINED LETTER KSSA
+0F6B ; [.2539.0020.0002] # TIBETAN LETTER KKA
+0F41 ; [.253A.0020.0002] # TIBETAN LETTER KHA
+0F91 ; [.253B.0020.0002] # TIBETAN SUBJOINED LETTER KHA
+0F42 ; [.253C.0020.0002] # TIBETAN LETTER GA
+0F43 ; [.253C.0020.0002][.257C.0020.0002] # TIBETAN LETTER GHA
+0F92 ; [.253D.0020.0002] # TIBETAN SUBJOINED LETTER GA
+0F93 ; [.253D.0020.0002][.257C.0020.0002] # TIBETAN SUBJOINED LETTER GHA
+0F44 ; [.253E.0020.0002] # TIBETAN LETTER NGA
+0F94 ; [.253F.0020.0002] # TIBETAN SUBJOINED LETTER NGA
+0F45 ; [.2540.0020.0002] # TIBETAN LETTER CA
+0F95 ; [.2541.0020.0002] # TIBETAN SUBJOINED LETTER CA
+0F46 ; [.2542.0020.0002] # TIBETAN LETTER CHA
+0F96 ; [.2543.0020.0002] # TIBETAN SUBJOINED LETTER CHA
+0F47 ; [.2544.0020.0002] # TIBETAN LETTER JA
+0F97 ; [.2545.0020.0002] # TIBETAN SUBJOINED LETTER JA
+0F49 ; [.2546.0020.0002] # TIBETAN LETTER NYA
+0F99 ; [.2547.0020.0002] # TIBETAN SUBJOINED LETTER NYA
+0F4A ; [.2548.0020.0002] # TIBETAN LETTER TTA
+0F9A ; [.2549.0020.0002] # TIBETAN SUBJOINED LETTER TTA
+0F4B ; [.254A.0020.0002] # TIBETAN LETTER TTHA
+0F9B ; [.254B.0020.0002] # TIBETAN SUBJOINED LETTER TTHA
+0F4C ; [.254C.0020.0002] # TIBETAN LETTER DDA
+0F4D ; [.254C.0020.0002][.257C.0020.0002] # TIBETAN LETTER DDHA
+0F9C ; [.254D.0020.0002] # TIBETAN SUBJOINED LETTER DDA
+0F9D ; [.254D.0020.0002][.257C.0020.0002] # TIBETAN SUBJOINED LETTER DDHA
+0F4E ; [.254E.0020.0002] # TIBETAN LETTER NNA
+0F9E ; [.254F.0020.0002] # TIBETAN SUBJOINED LETTER NNA
+0F4F ; [.2550.0020.0002] # TIBETAN LETTER TA
+0F9F ; [.2551.0020.0002] # TIBETAN SUBJOINED LETTER TA
+0F50 ; [.2552.0020.0002] # TIBETAN LETTER THA
+0FA0 ; [.2553.0020.0002] # TIBETAN SUBJOINED LETTER THA
+0F51 ; [.2554.0020.0002] # TIBETAN LETTER DA
+0F52 ; [.2554.0020.0002][.257C.0020.0002] # TIBETAN LETTER DHA
+0FA1 ; [.2555.0020.0002] # TIBETAN SUBJOINED LETTER DA
+0FA2 ; [.2555.0020.0002][.257C.0020.0002] # TIBETAN SUBJOINED LETTER DHA
+0F53 ; [.2556.0020.0002] # TIBETAN LETTER NA
+0FA3 ; [.2557.0020.0002] # TIBETAN SUBJOINED LETTER NA
+0F54 ; [.2558.0020.0002] # TIBETAN LETTER PA
+0FA4 ; [.2559.0020.0002] # TIBETAN SUBJOINED LETTER PA
+0F55 ; [.255A.0020.0002] # TIBETAN LETTER PHA
+0FA5 ; [.255B.0020.0002] # TIBETAN SUBJOINED LETTER PHA
+0F56 ; [.255C.0020.0002] # TIBETAN LETTER BA
+0F57 ; [.255C.0020.0002][.257C.0020.0002] # TIBETAN LETTER BHA
+0FA6 ; [.255D.0020.0002] # TIBETAN SUBJOINED LETTER BA
+0FA7 ; [.255D.0020.0002][.257C.0020.0002] # TIBETAN SUBJOINED LETTER BHA
+0F58 ; [.255E.0020.0002] # TIBETAN LETTER MA
+0FA8 ; [.255F.0020.0002] # TIBETAN SUBJOINED LETTER MA
+0F59 ; [.2560.0020.0002] # TIBETAN LETTER TSA
+0FA9 ; [.2561.0020.0002] # TIBETAN SUBJOINED LETTER TSA
+0F5A ; [.2562.0020.0002] # TIBETAN LETTER TSHA
+0FAA ; [.2563.0020.0002] # TIBETAN SUBJOINED LETTER TSHA
+0F5B ; [.2564.0020.0002] # TIBETAN LETTER DZA
+0F5C ; [.2564.0020.0002][.257C.0020.0002] # TIBETAN LETTER DZHA
+0FAB ; [.2565.0020.0002] # TIBETAN SUBJOINED LETTER DZA
+0FAC ; [.2565.0020.0002][.257C.0020.0002] # TIBETAN SUBJOINED LETTER DZHA
+0F5D ; [.2566.0020.0002] # TIBETAN LETTER WA
+0FAD ; [.2567.0020.0002] # TIBETAN SUBJOINED LETTER WA
+0FBA ; [.2567.0020.0004][.0000.00FD.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
+0F5E ; [.2568.0020.0002] # TIBETAN LETTER ZHA
+0FAE ; [.2569.0020.0002] # TIBETAN SUBJOINED LETTER ZHA
+0F5F ; [.256A.0020.0002] # TIBETAN LETTER ZA
+0FAF ; [.256B.0020.0002] # TIBETAN SUBJOINED LETTER ZA
+0F60 ; [.256C.0020.0002] # TIBETAN LETTER -A
+0FB0 ; [.256D.0020.0002] # TIBETAN SUBJOINED LETTER -A
+0F61 ; [.256E.0020.0002] # TIBETAN LETTER YA
+0FB1 ; [.256F.0020.0002] # TIBETAN SUBJOINED LETTER YA
+0FBB ; [.256F.0020.0004][.0000.00FD.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
+0F62 ; [.2570.0020.0002] # TIBETAN LETTER RA
+0F6A ; [.2570.0020.0004][.0000.00FD.0004] # TIBETAN LETTER FIXED-FORM RA
+0FB2 ; [.2571.0020.0002] # TIBETAN SUBJOINED LETTER RA
+0FBC ; [.2571.0020.0004][.0000.00FD.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0F6C ; [.2572.0020.0002] # TIBETAN LETTER RRA
+0F63 ; [.2573.0020.0002] # TIBETAN LETTER LA
+0FB3 ; [.2574.0020.0002] # TIBETAN SUBJOINED LETTER LA
+0F64 ; [.2575.0020.0002] # TIBETAN LETTER SHA
+0FB4 ; [.2576.0020.0002] # TIBETAN SUBJOINED LETTER SHA
+0F65 ; [.2577.0020.0002] # TIBETAN LETTER SSA
+0FB5 ; [.2578.0020.0002] # TIBETAN SUBJOINED LETTER SSA
+0F66 ; [.2579.0020.0002] # TIBETAN LETTER SA
+0FB6 ; [.257A.0020.0002] # TIBETAN SUBJOINED LETTER SA
+0F67 ; [.257B.0020.0002] # TIBETAN LETTER HA
+0FB7 ; [.257C.0020.0002] # TIBETAN SUBJOINED LETTER HA
+0F68 ; [.257D.0020.0002] # TIBETAN LETTER A
+0F00 ; [.257D.0020.0004][.2594.0020.0004][.0000.00B8.0004] # TIBETAN SYLLABLE OM
+0FB8 ; [.257E.0020.0002] # TIBETAN SUBJOINED LETTER A
+0F88 ; [.257F.0020.0002] # TIBETAN SIGN LCE TSA CAN
+0F8D ; [.2580.0020.0002] # TIBETAN SUBJOINED SIGN LCE TSA CAN
+0F89 ; [.2581.0020.0002] # TIBETAN SIGN MCHU CAN
+0F8E ; [.2582.0020.0002] # TIBETAN SUBJOINED SIGN MCHU CAN
+0F8C ; [.2583.0020.0002] # TIBETAN SIGN INVERTED MCHU CAN
+0F8F ; [.2584.0020.0002] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+0F8A ; [.2585.0020.0002] # TIBETAN SIGN GRU CAN RGYINGS
+0F8B ; [.2586.0020.0002] # TIBETAN SIGN GRU MED RGYINGS
+0F71 ; [.2587.0020.0002] # TIBETAN VOWEL SIGN AA
+0F72 ; [.2588.0020.0002] # TIBETAN VOWEL SIGN I
+0F73 ; [.2589.0020.0002] # TIBETAN VOWEL SIGN II
+0F71 0F72 ; [.2589.0020.0002] # TIBETAN VOWEL SIGN II
+0F80 ; [.258A.0020.0002] # TIBETAN VOWEL SIGN REVERSED I
+0F81 ; [.258B.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
+0F71 0F80 ; [.258B.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
+0F74 ; [.258C.0020.0002] # TIBETAN VOWEL SIGN U
+0F75 ; [.258D.0020.0002] # TIBETAN VOWEL SIGN UU
+0F71 0F74 ; [.258D.0020.0002] # TIBETAN VOWEL SIGN UU
+0F76 ; [.258E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
+0FB2 0F80 ; [.258E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
+0F77 ; [.258F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F71 0F80 ; [.258F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F81 ; [.258F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0F78 ; [.2590.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
+0FB3 0F80 ; [.2590.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
+0F79 ; [.2591.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F71 0F80 ; [.2591.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F81 ; [.2591.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0F7A ; [.2592.0020.0002] # TIBETAN VOWEL SIGN E
+0F7B ; [.2593.0020.0002] # TIBETAN VOWEL SIGN EE
+0F7C ; [.2594.0020.0002] # TIBETAN VOWEL SIGN O
+0F7D ; [.2595.0020.0002] # TIBETAN VOWEL SIGN OO
+0F84 ; [.2596.0020.0002] # TIBETAN MARK HALANTA
+1C00 ; [.2597.0020.0002] # LEPCHA LETTER KA
+1C01 ; [.2598.0020.0002] # LEPCHA LETTER KLA
+1C02 ; [.2599.0020.0002] # LEPCHA LETTER KHA
+1C03 ; [.259A.0020.0002] # LEPCHA LETTER GA
+1C04 ; [.259B.0020.0002] # LEPCHA LETTER GLA
+1C05 ; [.259C.0020.0002] # LEPCHA LETTER NGA
+1C06 ; [.259D.0020.0002] # LEPCHA LETTER CA
+1C07 ; [.259E.0020.0002] # LEPCHA LETTER CHA
+1C08 ; [.259F.0020.0002] # LEPCHA LETTER JA
+1C09 ; [.25A0.0020.0002] # LEPCHA LETTER NYA
+1C4D ; [.25A1.0020.0002] # LEPCHA LETTER TTA
+1C4E ; [.25A2.0020.0002] # LEPCHA LETTER TTHA
+1C4F ; [.25A3.0020.0002] # LEPCHA LETTER DDA
+1C0A ; [.25A4.0020.0002] # LEPCHA LETTER TA
+1C0B ; [.25A5.0020.0002] # LEPCHA LETTER THA
+1C0C ; [.25A6.0020.0002] # LEPCHA LETTER DA
+1C0D ; [.25A7.0020.0002] # LEPCHA LETTER NA
+1C0E ; [.25A8.0020.0002] # LEPCHA LETTER PA
+1C0F ; [.25A9.0020.0002] # LEPCHA LETTER PLA
+1C10 ; [.25AA.0020.0002] # LEPCHA LETTER PHA
+1C11 ; [.25AB.0020.0002] # LEPCHA LETTER FA
+1C12 ; [.25AC.0020.0002] # LEPCHA LETTER FLA
+1C13 ; [.25AD.0020.0002] # LEPCHA LETTER BA
+1C14 ; [.25AE.0020.0002] # LEPCHA LETTER BLA
+1C15 ; [.25AF.0020.0002] # LEPCHA LETTER MA
+1C16 ; [.25B0.0020.0002] # LEPCHA LETTER MLA
+1C17 ; [.25B1.0020.0002] # LEPCHA LETTER TSA
+1C18 ; [.25B2.0020.0002] # LEPCHA LETTER TSHA
+1C19 ; [.25B3.0020.0002] # LEPCHA LETTER DZA
+1C1A ; [.25B4.0020.0002] # LEPCHA LETTER YA
+1C24 ; [.25B5.0020.0002] # LEPCHA SUBJOINED LETTER YA
+1C1B ; [.25B6.0020.0002] # LEPCHA LETTER RA
+1C25 ; [.25B7.0020.0002] # LEPCHA SUBJOINED LETTER RA
+1C1C ; [.25B8.0020.0002] # LEPCHA LETTER LA
+1C1D ; [.25B9.0020.0002] # LEPCHA LETTER HA
+1C1E ; [.25BA.0020.0002] # LEPCHA LETTER HLA
+1C1F ; [.25BB.0020.0002] # LEPCHA LETTER VA
+1C20 ; [.25BC.0020.0002] # LEPCHA LETTER SA
+1C21 ; [.25BD.0020.0002] # LEPCHA LETTER SHA
+1C22 ; [.25BE.0020.0002] # LEPCHA LETTER WA
+1C23 ; [.25BF.0020.0002] # LEPCHA LETTER A
+1C36 ; [.25C0.0020.0002] # LEPCHA SIGN RAN
+1C26 ; [.25C1.0020.0002] # LEPCHA VOWEL SIGN AA
+1C27 ; [.25C2.0020.0002] # LEPCHA VOWEL SIGN I
+1C28 ; [.25C3.0020.0002] # LEPCHA VOWEL SIGN O
+1C29 ; [.25C4.0020.0002] # LEPCHA VOWEL SIGN OO
+1C2A ; [.25C5.0020.0002] # LEPCHA VOWEL SIGN U
+1C2B ; [.25C6.0020.0002] # LEPCHA VOWEL SIGN UU
+1C2C ; [.25C7.0020.0002] # LEPCHA VOWEL SIGN E
+1C2D ; [.25C8.0020.0002] # LEPCHA CONSONANT SIGN K
+1C2E ; [.25C9.0020.0002] # LEPCHA CONSONANT SIGN M
+1C2F ; [.25CA.0020.0002] # LEPCHA CONSONANT SIGN L
+1C30 ; [.25CB.0020.0002] # LEPCHA CONSONANT SIGN N
+1C31 ; [.25CC.0020.0002] # LEPCHA CONSONANT SIGN P
+1C32 ; [.25CD.0020.0002] # LEPCHA CONSONANT SIGN R
+1C33 ; [.25CE.0020.0002] # LEPCHA CONSONANT SIGN T
+1C34 ; [.25CF.0020.0002] # LEPCHA CONSONANT SIGN NYIN-DO
+1C35 ; [.25D0.0020.0002] # LEPCHA CONSONANT SIGN KANG
+A840 ; [.25D1.0020.0002] # PHAGS-PA LETTER KA
+A841 ; [.25D2.0020.0002] # PHAGS-PA LETTER KHA
+A842 ; [.25D3.0020.0002] # PHAGS-PA LETTER GA
+A843 ; [.25D4.0020.0002] # PHAGS-PA LETTER NGA
+A844 ; [.25D5.0020.0002] # PHAGS-PA LETTER CA
+A845 ; [.25D6.0020.0002] # PHAGS-PA LETTER CHA
+A846 ; [.25D7.0020.0002] # PHAGS-PA LETTER JA
+A847 ; [.25D8.0020.0002] # PHAGS-PA LETTER NYA
+A869 ; [.25D9.0020.0002] # PHAGS-PA LETTER TTA
+A86A ; [.25DA.0020.0002] # PHAGS-PA LETTER TTHA
+A86B ; [.25DB.0020.0002] # PHAGS-PA LETTER DDA
+A86C ; [.25DC.0020.0002] # PHAGS-PA LETTER NNA
+A848 ; [.25DD.0020.0002] # PHAGS-PA LETTER TA
+A849 ; [.25DE.0020.0002] # PHAGS-PA LETTER THA
+A84A ; [.25DF.0020.0002] # PHAGS-PA LETTER DA
+A84B ; [.25E0.0020.0002] # PHAGS-PA LETTER NA
+A84C ; [.25E1.0020.0002] # PHAGS-PA LETTER PA
+A84D ; [.25E2.0020.0002] # PHAGS-PA LETTER PHA
+A84E ; [.25E3.0020.0002] # PHAGS-PA LETTER BA
+A84F ; [.25E4.0020.0002] # PHAGS-PA LETTER MA
+A850 ; [.25E5.0020.0002] # PHAGS-PA LETTER TSA
+A851 ; [.25E6.0020.0002] # PHAGS-PA LETTER TSHA
+A852 ; [.25E7.0020.0002] # PHAGS-PA LETTER DZA
+A853 ; [.25E8.0020.0002] # PHAGS-PA LETTER WA
+A867 ; [.25E9.0020.0002] # PHAGS-PA SUBJOINED LETTER WA
+A854 ; [.25EA.0020.0002] # PHAGS-PA LETTER ZHA
+A855 ; [.25EB.0020.0002] # PHAGS-PA LETTER ZA
+A856 ; [.25EC.0020.0002] # PHAGS-PA LETTER SMALL A
+A857 ; [.25ED.0020.0002] # PHAGS-PA LETTER YA
+A868 ; [.25EE.0020.0002] # PHAGS-PA SUBJOINED LETTER YA
+A86D ; [.25EF.0020.0002] # PHAGS-PA LETTER ALTERNATE YA
+A858 ; [.25F0.0020.0002] # PHAGS-PA LETTER RA
+A871 ; [.25F1.0020.0002] # PHAGS-PA SUBJOINED LETTER RA
+A872 ; [.25F2.0020.0002] # PHAGS-PA SUPERFIXED LETTER RA
+A859 ; [.25F3.0020.0002] # PHAGS-PA LETTER LA
+A85A ; [.25F4.0020.0002] # PHAGS-PA LETTER SHA
+A86E ; [.25F5.0020.0002] # PHAGS-PA LETTER VOICELESS SHA
+A85B ; [.25F6.0020.0002] # PHAGS-PA LETTER SA
+A85C ; [.25F7.0020.0002] # PHAGS-PA LETTER HA
+A86F ; [.25F8.0020.0002] # PHAGS-PA LETTER VOICED HA
+A870 ; [.25F9.0020.0002] # PHAGS-PA LETTER ASPIRATED FA
+A85D ; [.25FA.0020.0002] # PHAGS-PA LETTER A
+A862 ; [.25FB.0020.0002] # PHAGS-PA LETTER QA
+A863 ; [.25FC.0020.0002] # PHAGS-PA LETTER XA
+A864 ; [.25FD.0020.0002] # PHAGS-PA LETTER FA
+A865 ; [.25FE.0020.0002] # PHAGS-PA LETTER GGA
+A85E ; [.25FF.0020.0002] # PHAGS-PA LETTER I
+A85F ; [.2600.0020.0002] # PHAGS-PA LETTER U
+A860 ; [.2601.0020.0002] # PHAGS-PA LETTER E
+A861 ; [.2602.0020.0002] # PHAGS-PA LETTER O
+A866 ; [.2603.0020.0002] # PHAGS-PA LETTER EE
+A873 ; [.2604.0020.0002] # PHAGS-PA LETTER CANDRABINDU
+1900 ; [.2605.0020.0002] # LIMBU VOWEL-CARRIER LETTER
+1901 ; [.2606.0020.0002] # LIMBU LETTER KA
+1902 ; [.2607.0020.0002] # LIMBU LETTER KHA
+1903 ; [.2608.0020.0002] # LIMBU LETTER GA
+1904 ; [.2609.0020.0002] # LIMBU LETTER GHA
+1905 ; [.260A.0020.0002] # LIMBU LETTER NGA
+1906 ; [.260B.0020.0002] # LIMBU LETTER CA
+1907 ; [.260C.0020.0002] # LIMBU LETTER CHA
+1908 ; [.260D.0020.0002] # LIMBU LETTER JA
+1909 ; [.260E.0020.0002] # LIMBU LETTER JHA
+190A ; [.260F.0020.0002] # LIMBU LETTER YAN
+190B ; [.2610.0020.0002] # LIMBU LETTER TA
+190C ; [.2611.0020.0002] # LIMBU LETTER THA
+190D ; [.2612.0020.0002] # LIMBU LETTER DA
+190E ; [.2613.0020.0002] # LIMBU LETTER DHA
+190F ; [.2614.0020.0002] # LIMBU LETTER NA
+1910 ; [.2615.0020.0002] # LIMBU LETTER PA
+1911 ; [.2616.0020.0002] # LIMBU LETTER PHA
+1912 ; [.2617.0020.0002] # LIMBU LETTER BA
+1913 ; [.2618.0020.0002] # LIMBU LETTER BHA
+1914 ; [.2619.0020.0002] # LIMBU LETTER MA
+1915 ; [.261A.0020.0002] # LIMBU LETTER YA
+1916 ; [.261B.0020.0002] # LIMBU LETTER RA
+1917 ; [.261C.0020.0002] # LIMBU LETTER LA
+1918 ; [.261D.0020.0002] # LIMBU LETTER WA
+1919 ; [.261E.0020.0002] # LIMBU LETTER SHA
+191A ; [.261F.0020.0002] # LIMBU LETTER SSA
+191B ; [.2620.0020.0002] # LIMBU LETTER SA
+191C ; [.2621.0020.0002] # LIMBU LETTER HA
+1920 ; [.2622.0020.0002] # LIMBU VOWEL SIGN A
+1921 ; [.2623.0020.0002] # LIMBU VOWEL SIGN I
+1922 ; [.2624.0020.0002] # LIMBU VOWEL SIGN U
+1923 ; [.2625.0020.0002] # LIMBU VOWEL SIGN EE
+1924 ; [.2626.0020.0002] # LIMBU VOWEL SIGN AI
+1925 ; [.2627.0020.0002] # LIMBU VOWEL SIGN OO
+1926 ; [.2628.0020.0002] # LIMBU VOWEL SIGN AU
+1927 ; [.2629.0020.0002] # LIMBU VOWEL SIGN E
+1928 ; [.262A.0020.0002] # LIMBU VOWEL SIGN O
+1929 ; [.262B.0020.0002] # LIMBU SUBJOINED LETTER YA
+192A ; [.262C.0020.0002] # LIMBU SUBJOINED LETTER RA
+192B ; [.262D.0020.0002] # LIMBU SUBJOINED LETTER WA
+1930 ; [.262E.0020.0002] # LIMBU SMALL LETTER KA
+1931 ; [.262F.0020.0002] # LIMBU SMALL LETTER NGA
+1932 ; [.2630.0020.0002] # LIMBU SMALL LETTER ANUSVARA
+1933 ; [.2631.0020.0002] # LIMBU SMALL LETTER TA
+1934 ; [.2632.0020.0002] # LIMBU SMALL LETTER NA
+1935 ; [.2633.0020.0002] # LIMBU SMALL LETTER PA
+1936 ; [.2634.0020.0002] # LIMBU SMALL LETTER MA
+1937 ; [.2635.0020.0002] # LIMBU SMALL LETTER RA
+1938 ; [.2636.0020.0002] # LIMBU SMALL LETTER LA
+1700 ; [.2637.0020.0002] # TAGALOG LETTER A
+1701 ; [.2638.0020.0002] # TAGALOG LETTER I
+1702 ; [.2639.0020.0002] # TAGALOG LETTER U
+1703 ; [.263A.0020.0002] # TAGALOG LETTER KA
+1704 ; [.263B.0020.0002] # TAGALOG LETTER GA
+1705 ; [.263C.0020.0002] # TAGALOG LETTER NGA
+1706 ; [.263D.0020.0002] # TAGALOG LETTER TA
+1707 ; [.263E.0020.0002] # TAGALOG LETTER DA
+1708 ; [.263F.0020.0002] # TAGALOG LETTER NA
+1709 ; [.2640.0020.0002] # TAGALOG LETTER PA
+170A ; [.2641.0020.0002] # TAGALOG LETTER BA
+170B ; [.2642.0020.0002] # TAGALOG LETTER MA
+170C ; [.2643.0020.0002] # TAGALOG LETTER YA
+170E ; [.2644.0020.0002] # TAGALOG LETTER LA
+170F ; [.2645.0020.0002] # TAGALOG LETTER WA
+1710 ; [.2646.0020.0002] # TAGALOG LETTER SA
+1711 ; [.2647.0020.0002] # TAGALOG LETTER HA
+1712 ; [.2648.0020.0002] # TAGALOG VOWEL SIGN I
+1713 ; [.2649.0020.0002] # TAGALOG VOWEL SIGN U
+1714 ; [.264A.0020.0002] # TAGALOG SIGN VIRAMA
+1720 ; [.264B.0020.0002] # HANUNOO LETTER A
+1721 ; [.264C.0020.0002] # HANUNOO LETTER I
+1722 ; [.264D.0020.0002] # HANUNOO LETTER U
+1723 ; [.264E.0020.0002] # HANUNOO LETTER KA
+1724 ; [.264F.0020.0002] # HANUNOO LETTER GA
+1725 ; [.2650.0020.0002] # HANUNOO LETTER NGA
+1726 ; [.2651.0020.0002] # HANUNOO LETTER TA
+1727 ; [.2652.0020.0002] # HANUNOO LETTER DA
+1728 ; [.2653.0020.0002] # HANUNOO LETTER NA
+1729 ; [.2654.0020.0002] # HANUNOO LETTER PA
+172A ; [.2655.0020.0002] # HANUNOO LETTER BA
+172B ; [.2656.0020.0002] # HANUNOO LETTER MA
+172C ; [.2657.0020.0002] # HANUNOO LETTER YA
+172D ; [.2658.0020.0002] # HANUNOO LETTER RA
+172E ; [.2659.0020.0002] # HANUNOO LETTER LA
+172F ; [.265A.0020.0002] # HANUNOO LETTER WA
+1730 ; [.265B.0020.0002] # HANUNOO LETTER SA
+1731 ; [.265C.0020.0002] # HANUNOO LETTER HA
+1732 ; [.265D.0020.0002] # HANUNOO VOWEL SIGN I
+1733 ; [.265E.0020.0002] # HANUNOO VOWEL SIGN U
+1734 ; [.265F.0020.0002] # HANUNOO SIGN PAMUDPOD
+1740 ; [.2660.0020.0002] # BUHID LETTER A
+1741 ; [.2661.0020.0002] # BUHID LETTER I
+1742 ; [.2662.0020.0002] # BUHID LETTER U
+1743 ; [.2663.0020.0002] # BUHID LETTER KA
+1744 ; [.2664.0020.0002] # BUHID LETTER GA
+1745 ; [.2665.0020.0002] # BUHID LETTER NGA
+1746 ; [.2666.0020.0002] # BUHID LETTER TA
+1747 ; [.2667.0020.0002] # BUHID LETTER DA
+1748 ; [.2668.0020.0002] # BUHID LETTER NA
+1749 ; [.2669.0020.0002] # BUHID LETTER PA
+174A ; [.266A.0020.0002] # BUHID LETTER BA
+174B ; [.266B.0020.0002] # BUHID LETTER MA
+174C ; [.266C.0020.0002] # BUHID LETTER YA
+174D ; [.266D.0020.0002] # BUHID LETTER RA
+174E ; [.266E.0020.0002] # BUHID LETTER LA
+174F ; [.266F.0020.0002] # BUHID LETTER WA
+1750 ; [.2670.0020.0002] # BUHID LETTER SA
+1751 ; [.2671.0020.0002] # BUHID LETTER HA
+1752 ; [.2672.0020.0002] # BUHID VOWEL SIGN I
+1753 ; [.2673.0020.0002] # BUHID VOWEL SIGN U
+1760 ; [.2674.0020.0002] # TAGBANWA LETTER A
+1761 ; [.2675.0020.0002] # TAGBANWA LETTER I
+1762 ; [.2676.0020.0002] # TAGBANWA LETTER U
+1763 ; [.2677.0020.0002] # TAGBANWA LETTER KA
+1764 ; [.2678.0020.0002] # TAGBANWA LETTER GA
+1765 ; [.2679.0020.0002] # TAGBANWA LETTER NGA
+1766 ; [.267A.0020.0002] # TAGBANWA LETTER TA
+1767 ; [.267B.0020.0002] # TAGBANWA LETTER DA
+1768 ; [.267C.0020.0002] # TAGBANWA LETTER NA
+1769 ; [.267D.0020.0002] # TAGBANWA LETTER PA
+176A ; [.267E.0020.0002] # TAGBANWA LETTER BA
+176B ; [.267F.0020.0002] # TAGBANWA LETTER MA
+176C ; [.2680.0020.0002] # TAGBANWA LETTER YA
+176E ; [.2681.0020.0002] # TAGBANWA LETTER LA
+176F ; [.2682.0020.0002] # TAGBANWA LETTER WA
+1770 ; [.2683.0020.0002] # TAGBANWA LETTER SA
+1772 ; [.2684.0020.0002] # TAGBANWA VOWEL SIGN I
+1773 ; [.2685.0020.0002] # TAGBANWA VOWEL SIGN U
+1A00 ; [.2686.0020.0002] # BUGINESE LETTER KA
+1A01 ; [.2687.0020.0002] # BUGINESE LETTER GA
+1A02 ; [.2688.0020.0002] # BUGINESE LETTER NGA
+1A03 ; [.2689.0020.0002] # BUGINESE LETTER NGKA
+1A04 ; [.268A.0020.0002] # BUGINESE LETTER PA
+1A05 ; [.268B.0020.0002] # BUGINESE LETTER BA
+1A06 ; [.268C.0020.0002] # BUGINESE LETTER MA
+1A07 ; [.268D.0020.0002] # BUGINESE LETTER MPA
+1A08 ; [.268E.0020.0002] # BUGINESE LETTER TA
+1A09 ; [.268F.0020.0002] # BUGINESE LETTER DA
+1A0A ; [.2690.0020.0002] # BUGINESE LETTER NA
+1A0B ; [.2691.0020.0002] # BUGINESE LETTER NRA
+1A0C ; [.2692.0020.0002] # BUGINESE LETTER CA
+1A0D ; [.2693.0020.0002] # BUGINESE LETTER JA
+1A0E ; [.2694.0020.0002] # BUGINESE LETTER NYA
+1A0F ; [.2695.0020.0002] # BUGINESE LETTER NYCA
+1A10 ; [.2696.0020.0002] # BUGINESE LETTER YA
+1A11 ; [.2697.0020.0002] # BUGINESE LETTER RA
+1A12 ; [.2698.0020.0002] # BUGINESE LETTER LA
+1A13 ; [.2699.0020.0002] # BUGINESE LETTER VA
+1A14 ; [.269A.0020.0002] # BUGINESE LETTER SA
+1A15 ; [.269B.0020.0002] # BUGINESE LETTER A
+1A16 ; [.269C.0020.0002] # BUGINESE LETTER HA
+1A17 ; [.269D.0020.0002] # BUGINESE VOWEL SIGN I
+1A18 ; [.269E.0020.0002] # BUGINESE VOWEL SIGN U
+1A19 ; [.269F.0020.0002] # BUGINESE VOWEL SIGN E
+1A1A ; [.26A0.0020.0002] # BUGINESE VOWEL SIGN O
+1A1B ; [.26A1.0020.0002] # BUGINESE VOWEL SIGN AE
+1BC0 ; [.26A2.0020.0002] # BATAK LETTER A
+1BC1 ; [.26A2.0020.0004] # BATAK LETTER SIMALUNGUN A
+1BC2 ; [.26A3.0020.0002] # BATAK LETTER HA
+1BC3 ; [.26A3.0020.0004] # BATAK LETTER SIMALUNGUN HA
+1BC4 ; [.26A3.0020.0004] # BATAK LETTER MANDAILING HA
+1BC5 ; [.26A4.0020.0002] # BATAK LETTER BA
+1BC6 ; [.26A4.0020.0004] # BATAK LETTER KARO BA
+1BC7 ; [.26A5.0020.0002] # BATAK LETTER PA
+1BC8 ; [.26A5.0020.0004] # BATAK LETTER SIMALUNGUN PA
+1BC9 ; [.26A6.0020.0002] # BATAK LETTER NA
+1BCA ; [.26A6.0020.0004] # BATAK LETTER MANDAILING NA
+1BCB ; [.26A7.0020.0002] # BATAK LETTER WA
+1BCC ; [.26A7.0020.0004] # BATAK LETTER SIMALUNGUN WA
+1BCD ; [.26A7.0020.0004] # BATAK LETTER PAKPAK WA
+1BCE ; [.26A8.0020.0002] # BATAK LETTER GA
+1BCF ; [.26A8.0020.0004] # BATAK LETTER SIMALUNGUN GA
+1BD0 ; [.26A9.0020.0002] # BATAK LETTER JA
+1BD1 ; [.26AA.0020.0002] # BATAK LETTER DA
+1BD2 ; [.26AB.0020.0002] # BATAK LETTER RA
+1BD3 ; [.26AB.0020.0004] # BATAK LETTER SIMALUNGUN RA
+1BD4 ; [.26AC.0020.0002] # BATAK LETTER MA
+1BD5 ; [.26AC.0020.0004] # BATAK LETTER SIMALUNGUN MA
+1BD6 ; [.26AD.0020.0002] # BATAK LETTER SOUTHERN TA
+1BD7 ; [.26AD.0020.0004] # BATAK LETTER NORTHERN TA
+1BD8 ; [.26AE.0020.0002] # BATAK LETTER SA
+1BD9 ; [.26AE.0020.0004] # BATAK LETTER SIMALUNGUN SA
+1BDA ; [.26AE.0020.0004] # BATAK LETTER MANDAILING SA
+1BDB ; [.26AF.0020.0002] # BATAK LETTER YA
+1BDC ; [.26AF.0020.0004] # BATAK LETTER SIMALUNGUN YA
+1BDD ; [.26B0.0020.0002] # BATAK LETTER NGA
+1BDE ; [.26B1.0020.0002] # BATAK LETTER LA
+1BDF ; [.26B1.0020.0004] # BATAK LETTER SIMALUNGUN LA
+1BE0 ; [.26B2.0020.0002] # BATAK LETTER NYA
+1BE1 ; [.26B3.0020.0002] # BATAK LETTER CA
+1BE2 ; [.26B4.0020.0002] # BATAK LETTER NDA
+1BE3 ; [.26B5.0020.0002] # BATAK LETTER MBA
+1BE4 ; [.26B6.0020.0002] # BATAK LETTER I
+1BE5 ; [.26B7.0020.0002] # BATAK LETTER U
+1BE7 ; [.26B8.0020.0002] # BATAK VOWEL SIGN E
+1BE8 ; [.26B8.0020.0004] # BATAK VOWEL SIGN PAKPAK E
+1BE9 ; [.26B9.0020.0002] # BATAK VOWEL SIGN EE
+1BEA ; [.26BA.0020.0002] # BATAK VOWEL SIGN I
+1BEB ; [.26BA.0020.0004] # BATAK VOWEL SIGN KARO I
+1BEC ; [.26BB.0020.0002] # BATAK VOWEL SIGN O
+1BED ; [.26BB.0020.0004] # BATAK VOWEL SIGN KARO O
+1BEE ; [.26BC.0020.0002] # BATAK VOWEL SIGN U
+1BEF ; [.26BC.0020.0004] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+1BF0 ; [.26BD.0020.0002] # BATAK CONSONANT SIGN NG
+1BF1 ; [.26BE.0020.0002] # BATAK CONSONANT SIGN H
+1BF2 ; [.26BF.0020.0002] # BATAK PANGOLAT
+1BF3 ; [.26C0.0020.0002] # BATAK PANONGONAN
+A930 ; [.26C1.0020.0002] # REJANG LETTER KA
+A931 ; [.26C2.0020.0002] # REJANG LETTER GA
+A932 ; [.26C3.0020.0002] # REJANG LETTER NGA
+A933 ; [.26C4.0020.0002] # REJANG LETTER TA
+A934 ; [.26C5.0020.0002] # REJANG LETTER DA
+A935 ; [.26C6.0020.0002] # REJANG LETTER NA
+A936 ; [.26C7.0020.0002] # REJANG LETTER PA
+A937 ; [.26C8.0020.0002] # REJANG LETTER BA
+A938 ; [.26C9.0020.0002] # REJANG LETTER MA
+A939 ; [.26CA.0020.0002] # REJANG LETTER CA
+A93A ; [.26CB.0020.0002] # REJANG LETTER JA
+A93B ; [.26CC.0020.0002] # REJANG LETTER NYA
+A93C ; [.26CD.0020.0002] # REJANG LETTER SA
+A93D ; [.26CE.0020.0002] # REJANG LETTER RA
+A93E ; [.26CF.0020.0002] # REJANG LETTER LA
+A93F ; [.26D0.0020.0002] # REJANG LETTER YA
+A940 ; [.26D1.0020.0002] # REJANG LETTER WA
+A941 ; [.26D2.0020.0002] # REJANG LETTER HA
+A942 ; [.26D3.0020.0002] # REJANG LETTER MBA
+A943 ; [.26D4.0020.0002] # REJANG LETTER NGGA
+A944 ; [.26D5.0020.0002] # REJANG LETTER NDA
+A945 ; [.26D6.0020.0002] # REJANG LETTER NYJA
+A946 ; [.26D7.0020.0002] # REJANG LETTER A
+A947 ; [.26D8.0020.0002] # REJANG VOWEL SIGN I
+A948 ; [.26D9.0020.0002] # REJANG VOWEL SIGN U
+A949 ; [.26DA.0020.0002] # REJANG VOWEL SIGN E
+A94A ; [.26DB.0020.0002] # REJANG VOWEL SIGN AI
+A94B ; [.26DC.0020.0002] # REJANG VOWEL SIGN O
+A94C ; [.26DD.0020.0002] # REJANG VOWEL SIGN AU
+A94D ; [.26DE.0020.0002] # REJANG VOWEL SIGN EU
+A94E ; [.26DF.0020.0002] # REJANG VOWEL SIGN EA
+A94F ; [.26E0.0020.0002] # REJANG CONSONANT SIGN NG
+A950 ; [.26E1.0020.0002] # REJANG CONSONANT SIGN N
+A951 ; [.26E2.0020.0002] # REJANG CONSONANT SIGN R
+A952 ; [.26E3.0020.0002] # REJANG CONSONANT SIGN H
+A953 ; [.26E4.0020.0002] # REJANG VIRAMA
+A90A ; [.26E5.0020.0002] # KAYAH LI LETTER KA
+A90B ; [.26E6.0020.0002] # KAYAH LI LETTER KHA
+A90C ; [.26E7.0020.0002] # KAYAH LI LETTER GA
+A90D ; [.26E8.0020.0002] # KAYAH LI LETTER NGA
+A90E ; [.26E9.0020.0002] # KAYAH LI LETTER SA
+A90F ; [.26EA.0020.0002] # KAYAH LI LETTER SHA
+A910 ; [.26EB.0020.0002] # KAYAH LI LETTER ZA
+A911 ; [.26EC.0020.0002] # KAYAH LI LETTER NYA
+A912 ; [.26ED.0020.0002] # KAYAH LI LETTER TA
+A913 ; [.26EE.0020.0002] # KAYAH LI LETTER HTA
+A914 ; [.26EF.0020.0002] # KAYAH LI LETTER NA
+A915 ; [.26F0.0020.0002] # KAYAH LI LETTER PA
+A916 ; [.26F1.0020.0002] # KAYAH LI LETTER PHA
+A917 ; [.26F2.0020.0002] # KAYAH LI LETTER MA
+A918 ; [.26F3.0020.0002] # KAYAH LI LETTER DA
+A919 ; [.26F4.0020.0002] # KAYAH LI LETTER BA
+A91A ; [.26F5.0020.0002] # KAYAH LI LETTER RA
+A91B ; [.26F6.0020.0002] # KAYAH LI LETTER YA
+A91C ; [.26F7.0020.0002] # KAYAH LI LETTER LA
+A91D ; [.26F8.0020.0002] # KAYAH LI LETTER WA
+A91E ; [.26F9.0020.0002] # KAYAH LI LETTER THA
+A91F ; [.26FA.0020.0002] # KAYAH LI LETTER HA
+A920 ; [.26FB.0020.0002] # KAYAH LI LETTER VA
+A921 ; [.26FC.0020.0002] # KAYAH LI LETTER CA
+A922 ; [.26FD.0020.0002] # KAYAH LI LETTER A
+A923 ; [.26FE.0020.0002] # KAYAH LI LETTER OE
+A924 ; [.26FF.0020.0002] # KAYAH LI LETTER I
+A925 ; [.2700.0020.0002] # KAYAH LI LETTER OO
+A926 ; [.2701.0020.0002] # KAYAH LI VOWEL UE
+A927 ; [.2702.0020.0002] # KAYAH LI VOWEL E
+A928 ; [.2703.0020.0002] # KAYAH LI VOWEL U
+A929 ; [.2704.0020.0002] # KAYAH LI VOWEL EE
+A92A ; [.2705.0020.0002] # KAYAH LI VOWEL O
+1000 ; [.2706.0020.0002] # MYANMAR LETTER KA
+1075 ; [.2707.0020.0002] # MYANMAR LETTER SHAN KA
+1001 ; [.2708.0020.0002] # MYANMAR LETTER KHA
+1076 ; [.2709.0020.0002] # MYANMAR LETTER SHAN KHA
+1002 ; [.270A.0020.0002] # MYANMAR LETTER GA
+1077 ; [.270B.0020.0002] # MYANMAR LETTER SHAN GA
+AA60 ; [.270C.0020.0002] # MYANMAR LETTER KHAMTI GA
+1003 ; [.270D.0020.0002] # MYANMAR LETTER GHA
+1004 ; [.270E.0020.0002] # MYANMAR LETTER NGA
+105A ; [.270F.0020.0002] # MYANMAR LETTER MON NGA
+1005 ; [.2710.0020.0002] # MYANMAR LETTER CA
+1078 ; [.2711.0020.0002] # MYANMAR LETTER SHAN CA
+AA61 ; [.2712.0020.0002] # MYANMAR LETTER KHAMTI CA
+1006 ; [.2713.0020.0002] # MYANMAR LETTER CHA
+AA62 ; [.2714.0020.0002] # MYANMAR LETTER KHAMTI CHA
+1007 ; [.2715.0020.0002] # MYANMAR LETTER JA
+AA63 ; [.2716.0020.0002] # MYANMAR LETTER KHAMTI JA
+1079 ; [.2717.0020.0002] # MYANMAR LETTER SHAN ZA
+AA72 ; [.2718.0020.0002] # MYANMAR LETTER KHAMTI ZA
+1008 ; [.2719.0020.0002] # MYANMAR LETTER JHA
+105B ; [.271A.0020.0002] # MYANMAR LETTER MON JHA
+AA64 ; [.271B.0020.0002] # MYANMAR LETTER KHAMTI JHA
+1061 ; [.271C.0020.0002] # MYANMAR LETTER SGAW KAREN SHA
+1009 ; [.271D.0020.0002] # MYANMAR LETTER NYA
+107A ; [.271E.0020.0002] # MYANMAR LETTER SHAN NYA
+AA65 ; [.271F.0020.0002] # MYANMAR LETTER KHAMTI NYA
+100A ; [.2720.0020.0002] # MYANMAR LETTER NNYA
+100B ; [.2721.0020.0002] # MYANMAR LETTER TTA
+AA66 ; [.2722.0020.0002] # MYANMAR LETTER KHAMTI TTA
+100C ; [.2723.0020.0002] # MYANMAR LETTER TTHA
+AA67 ; [.2724.0020.0002] # MYANMAR LETTER KHAMTI TTHA
+100D ; [.2725.0020.0002] # MYANMAR LETTER DDA
+AA68 ; [.2726.0020.0002] # MYANMAR LETTER KHAMTI DDA
+100E ; [.2727.0020.0002] # MYANMAR LETTER DDHA
+AA69 ; [.2728.0020.0002] # MYANMAR LETTER KHAMTI DDHA
+100F ; [.2729.0020.0002] # MYANMAR LETTER NNA
+106E ; [.272A.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN NNA
+1010 ; [.272B.0020.0002] # MYANMAR LETTER TA
+1011 ; [.272C.0020.0002] # MYANMAR LETTER THA
+1012 ; [.272D.0020.0002] # MYANMAR LETTER DA
+107B ; [.272E.0020.0002] # MYANMAR LETTER SHAN DA
+1013 ; [.272F.0020.0002] # MYANMAR LETTER DHA
+AA6A ; [.2730.0020.0002] # MYANMAR LETTER KHAMTI DHA
+1014 ; [.2731.0020.0002] # MYANMAR LETTER NA
+107C ; [.2732.0020.0002] # MYANMAR LETTER SHAN NA
+AA6B ; [.2733.0020.0002] # MYANMAR LETTER KHAMTI NA
+105E ; [.2734.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL NA
+1015 ; [.2735.0020.0002] # MYANMAR LETTER PA
+1016 ; [.2736.0020.0002] # MYANMAR LETTER PHA
+107D ; [.2737.0020.0002] # MYANMAR LETTER SHAN PHA
+107E ; [.2738.0020.0002] # MYANMAR LETTER SHAN FA
+AA6F ; [.2739.0020.0002] # MYANMAR LETTER KHAMTI FA
+108E ; [.273A.0020.0002] # MYANMAR LETTER RUMAI PALAUNG FA
+1017 ; [.273B.0020.0002] # MYANMAR LETTER BA
+107F ; [.273C.0020.0002] # MYANMAR LETTER SHAN BA
+1018 ; [.273D.0020.0002] # MYANMAR LETTER BHA
+1019 ; [.273E.0020.0002] # MYANMAR LETTER MA
+105F ; [.273F.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL MA
+101A ; [.2740.0020.0002] # MYANMAR LETTER YA
+103B ; [.2741.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL YA
+101B ; [.2742.0020.0002] # MYANMAR LETTER RA
+AA73 ; [.2743.0020.0002] # MYANMAR LETTER KHAMTI RA
+AA7A ; [.2744.0020.0002] # MYANMAR LETTER AITON RA
+103C ; [.2745.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL RA
+101C ; [.2746.0020.0002] # MYANMAR LETTER LA
+1060 ; [.2747.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL LA
+101D ; [.2748.0020.0002] # MYANMAR LETTER WA
+103D ; [.2749.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL WA
+1082 ; [.274A.0020.0002] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1080 ; [.274B.0020.0002] # MYANMAR LETTER SHAN THA
+1050 ; [.274C.0020.0002] # MYANMAR LETTER SHA
+1051 ; [.274D.0020.0002] # MYANMAR LETTER SSA
+1065 ; [.274E.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN THA
+101E ; [.274F.0020.0002] # MYANMAR LETTER SA
+103F ; [.274F.0020.0004][.2786.0020.0004][.274F.0020.0004] # MYANMAR LETTER GREAT SA
+AA6C ; [.2750.0020.0002] # MYANMAR LETTER KHAMTI SA
+101F ; [.2751.0020.0002] # MYANMAR LETTER HA
+1081 ; [.2752.0020.0002] # MYANMAR LETTER SHAN HA
+AA6D ; [.2753.0020.0002] # MYANMAR LETTER KHAMTI HA
+103E ; [.2754.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL HA
+AA6E ; [.2755.0020.0002] # MYANMAR LETTER KHAMTI HHA
+AA71 ; [.2756.0020.0002] # MYANMAR LETTER KHAMTI XA
+1020 ; [.2757.0020.0002] # MYANMAR LETTER LLA
+105C ; [.2758.0020.0002] # MYANMAR LETTER MON BBA
+105D ; [.2759.0020.0002] # MYANMAR LETTER MON BBE
+106F ; [.275A.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN YWA
+1070 ; [.275B.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN GHWA
+1066 ; [.275C.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN PWA
+1021 ; [.275D.0020.0002] # MYANMAR LETTER A
+1022 ; [.275E.0020.0002] # MYANMAR LETTER SHAN A
+1023 ; [.275F.0020.0002] # MYANMAR LETTER I
+1024 ; [.2760.0020.0002] # MYANMAR LETTER II
+1025 ; [.2761.0020.0002] # MYANMAR LETTER U
+1026 ; [.2762.0020.0002] # MYANMAR LETTER UU
+1025 102E ; [.2762.0020.0002] # MYANMAR LETTER UU
+1052 ; [.2763.0020.0002] # MYANMAR LETTER VOCALIC R
+1053 ; [.2764.0020.0002] # MYANMAR LETTER VOCALIC RR
+1054 ; [.2765.0020.0002] # MYANMAR LETTER VOCALIC L
+1055 ; [.2766.0020.0002] # MYANMAR LETTER VOCALIC LL
+1027 ; [.2767.0020.0002] # MYANMAR LETTER E
+1028 ; [.2768.0020.0002] # MYANMAR LETTER MON E
+1029 ; [.2769.0020.0002] # MYANMAR LETTER O
+102A ; [.276A.0020.0002] # MYANMAR LETTER AU
+102C ; [.276B.0020.0002] # MYANMAR VOWEL SIGN AA
+102B ; [.276B.0020.0004] # MYANMAR VOWEL SIGN TALL AA
+1083 ; [.276C.0020.0002] # MYANMAR VOWEL SIGN SHAN AA
+1072 ; [.276D.0020.0002] # MYANMAR VOWEL SIGN KAYAH OE
+109C ; [.276E.0020.0002] # MYANMAR VOWEL SIGN AITON A
+102D ; [.276F.0020.0002] # MYANMAR VOWEL SIGN I
+1071 ; [.2770.0020.0002] # MYANMAR VOWEL SIGN GEBA KAREN I
+102E ; [.2771.0020.0002] # MYANMAR VOWEL SIGN II
+1033 ; [.2772.0020.0002] # MYANMAR VOWEL SIGN MON II
+102F ; [.2773.0020.0002] # MYANMAR VOWEL SIGN U
+1073 ; [.2774.0020.0002] # MYANMAR VOWEL SIGN KAYAH U
+1074 ; [.2775.0020.0002] # MYANMAR VOWEL SIGN KAYAH EE
+1030 ; [.2776.0020.0002] # MYANMAR VOWEL SIGN UU
+1056 ; [.2777.0020.0002] # MYANMAR VOWEL SIGN VOCALIC R
+1057 ; [.2778.0020.0002] # MYANMAR VOWEL SIGN VOCALIC RR
+1058 ; [.2779.0020.0002] # MYANMAR VOWEL SIGN VOCALIC L
+1059 ; [.277A.0020.0002] # MYANMAR VOWEL SIGN VOCALIC LL
+1031 ; [.277B.0020.0002] # MYANMAR VOWEL SIGN E
+1084 ; [.277C.0020.0002] # MYANMAR VOWEL SIGN SHAN E
+1035 ; [.277D.0020.0002] # MYANMAR VOWEL SIGN E ABOVE
+1085 ; [.277E.0020.0002] # MYANMAR VOWEL SIGN SHAN E ABOVE
+1032 ; [.277F.0020.0002] # MYANMAR VOWEL SIGN AI
+109D ; [.2780.0020.0002] # MYANMAR VOWEL SIGN AITON AI
+1034 ; [.2781.0020.0002] # MYANMAR VOWEL SIGN MON O
+1062 ; [.2782.0020.0002] # MYANMAR VOWEL SIGN SGAW KAREN EU
+1067 ; [.2783.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+1068 ; [.2784.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+1086 ; [.2785.0020.0002] # MYANMAR VOWEL SIGN SHAN FINAL Y
+1039 ; [.2786.0020.0002] # MYANMAR SIGN VIRAMA
+103A ; [.2787.0020.0002] # MYANMAR SIGN ASAT
+1063 ; [.2788.0020.0002] # MYANMAR TONE MARK SGAW KAREN HATHI
+1064 ; [.2789.0020.0002] # MYANMAR TONE MARK SGAW KAREN KE PHO
+1069 ; [.278A.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
+106A ; [.278B.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
+106B ; [.278C.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
+106C ; [.278D.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
+106D ; [.278E.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
+1087 ; [.278F.0020.0002] # MYANMAR SIGN SHAN TONE-2
+108B ; [.2790.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-2
+1088 ; [.2791.0020.0002] # MYANMAR SIGN SHAN TONE-3
+108C ; [.2792.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-3
+1089 ; [.2793.0020.0002] # MYANMAR SIGN SHAN TONE-5
+108A ; [.2794.0020.0002] # MYANMAR SIGN SHAN TONE-6
+108F ; [.2795.0020.0002] # MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A ; [.2796.0020.0002] # MYANMAR SIGN KHAMTI TONE-1
+109B ; [.2797.0020.0002] # MYANMAR SIGN KHAMTI TONE-3
+AA7B ; [.2798.0020.0002] # MYANMAR SIGN PAO KAREN TONE
+AA74 ; [.2799.0020.0002] # MYANMAR LOGOGRAM KHAMTI OAY
+AA75 ; [.279A.0020.0002] # MYANMAR LOGOGRAM KHAMTI QN
+AA76 ; [.279B.0020.0002] # MYANMAR LOGOGRAM KHAMTI HM
+11103 ; [.279C.0020.0002] # CHAKMA LETTER AA
+11104 ; [.279D.0020.0002] # CHAKMA LETTER I
+11105 ; [.279E.0020.0002] # CHAKMA LETTER U
+11106 ; [.279F.0020.0002] # CHAKMA LETTER E
+11107 ; [.27A0.0020.0002] # CHAKMA LETTER KAA
+11108 ; [.27A1.0020.0002] # CHAKMA LETTER KHAA
+11109 ; [.27A2.0020.0002] # CHAKMA LETTER GAA
+1110A ; [.27A3.0020.0002] # CHAKMA LETTER GHAA
+1110B ; [.27A4.0020.0002] # CHAKMA LETTER NGAA
+1110C ; [.27A5.0020.0002] # CHAKMA LETTER CAA
+1110D ; [.27A6.0020.0002] # CHAKMA LETTER CHAA
+1110E ; [.27A7.0020.0002] # CHAKMA LETTER JAA
+1110F ; [.27A8.0020.0002] # CHAKMA LETTER JHAA
+11110 ; [.27A9.0020.0002] # CHAKMA LETTER NYAA
+11111 ; [.27AA.0020.0002] # CHAKMA LETTER TTAA
+11112 ; [.27AB.0020.0002] # CHAKMA LETTER TTHAA
+11113 ; [.27AC.0020.0002] # CHAKMA LETTER DDAA
+11114 ; [.27AD.0020.0002] # CHAKMA LETTER DDHAA
+11115 ; [.27AE.0020.0002] # CHAKMA LETTER NNAA
+11116 ; [.27AF.0020.0002] # CHAKMA LETTER TAA
+11117 ; [.27B0.0020.0002] # CHAKMA LETTER THAA
+11118 ; [.27B1.0020.0002] # CHAKMA LETTER DAA
+11119 ; [.27B2.0020.0002] # CHAKMA LETTER DHAA
+1111A ; [.27B3.0020.0002] # CHAKMA LETTER NAA
+1111B ; [.27B4.0020.0002] # CHAKMA LETTER PAA
+1111C ; [.27B5.0020.0002] # CHAKMA LETTER PHAA
+1111D ; [.27B6.0020.0002] # CHAKMA LETTER BAA
+1111E ; [.27B7.0020.0002] # CHAKMA LETTER BHAA
+1111F ; [.27B8.0020.0002] # CHAKMA LETTER MAA
+11120 ; [.27B9.0020.0002] # CHAKMA LETTER YYAA
+11121 ; [.27BA.0020.0002] # CHAKMA LETTER YAA
+11122 ; [.27BB.0020.0002] # CHAKMA LETTER RAA
+11123 ; [.27BC.0020.0002] # CHAKMA LETTER LAA
+11124 ; [.27BD.0020.0002] # CHAKMA LETTER WAA
+11125 ; [.27BE.0020.0002] # CHAKMA LETTER SAA
+11126 ; [.27BF.0020.0002] # CHAKMA LETTER HAA
+11127 ; [.27C0.0020.0002] # CHAKMA VOWEL SIGN A
+11128 ; [.27C1.0020.0002] # CHAKMA VOWEL SIGN I
+11129 ; [.27C2.0020.0002] # CHAKMA VOWEL SIGN II
+1112A ; [.27C3.0020.0002] # CHAKMA VOWEL SIGN U
+1112B ; [.27C4.0020.0002] # CHAKMA VOWEL SIGN UU
+1112C ; [.27C5.0020.0002] # CHAKMA VOWEL SIGN E
+1112D ; [.27C6.0020.0002] # CHAKMA VOWEL SIGN AI
+1112E ; [.27C7.0020.0002] # CHAKMA VOWEL SIGN O
+11131 11127 ; [.27C7.0020.0002] # CHAKMA VOWEL SIGN O
+1112F ; [.27C8.0020.0002] # CHAKMA VOWEL SIGN AU
+11132 11127 ; [.27C8.0020.0002] # CHAKMA VOWEL SIGN AU
+11130 ; [.27C9.0020.0002] # CHAKMA VOWEL SIGN OI
+11131 ; [.27CA.0020.0002] # CHAKMA O MARK
+11132 ; [.27CB.0020.0002] # CHAKMA AU MARK
+11133 ; [.27CC.0020.0002] # CHAKMA VIRAMA
+11134 ; [.27CD.0020.0002] # CHAKMA MAAYYAA
+1780 ; [.27CE.0020.0002] # KHMER LETTER KA
+1781 ; [.27CF.0020.0002] # KHMER LETTER KHA
+1782 ; [.27D0.0020.0002] # KHMER LETTER KO
+1783 ; [.27D1.0020.0002] # KHMER LETTER KHO
+1784 ; [.27D2.0020.0002] # KHMER LETTER NGO
+1785 ; [.27D3.0020.0002] # KHMER LETTER CA
+1786 ; [.27D4.0020.0002] # KHMER LETTER CHA
+1787 ; [.27D5.0020.0002] # KHMER LETTER CO
+1788 ; [.27D6.0020.0002] # KHMER LETTER CHO
+1789 ; [.27D7.0020.0002] # KHMER LETTER NYO
+178A ; [.27D8.0020.0002] # KHMER LETTER DA
+178B ; [.27D9.0020.0002] # KHMER LETTER TTHA
+178C ; [.27DA.0020.0002] # KHMER LETTER DO
+178D ; [.27DB.0020.0002] # KHMER LETTER TTHO
+178E ; [.27DC.0020.0002] # KHMER LETTER NNO
+178F ; [.27DD.0020.0002] # KHMER LETTER TA
+1790 ; [.27DE.0020.0002] # KHMER LETTER THA
+1791 ; [.27DF.0020.0002] # KHMER LETTER TO
+1792 ; [.27E0.0020.0002] # KHMER LETTER THO
+1793 ; [.27E1.0020.0002] # KHMER LETTER NO
+1794 ; [.27E2.0020.0002] # KHMER LETTER BA
+1795 ; [.27E3.0020.0002] # KHMER LETTER PHA
+1796 ; [.27E4.0020.0002] # KHMER LETTER PO
+1797 ; [.27E5.0020.0002] # KHMER LETTER PHO
+1798 ; [.27E6.0020.0002] # KHMER LETTER MO
+1799 ; [.27E7.0020.0002] # KHMER LETTER YO
+179A ; [.27E8.0020.0002] # KHMER LETTER RO
+179B ; [.27E9.0020.0002] # KHMER LETTER LO
+179C ; [.27EA.0020.0002] # KHMER LETTER VO
+179D ; [.27EB.0020.0002] # KHMER LETTER SHA
+179E ; [.27EC.0020.0002] # KHMER LETTER SSO
+179F ; [.27ED.0020.0002] # KHMER LETTER SA
+17A0 ; [.27EE.0020.0002] # KHMER LETTER HA
+17A1 ; [.27EF.0020.0002] # KHMER LETTER LA
+17A2 ; [.27F0.0020.0002] # KHMER LETTER QA
+17DC ; [.27F1.0020.0002] # KHMER SIGN AVAKRAHASANYA
+17A3 ; [.27F2.0020.0002] # KHMER INDEPENDENT VOWEL QAQ
+17A4 ; [.27F3.0020.0002] # KHMER INDEPENDENT VOWEL QAA
+17A5 ; [.27F4.0020.0002] # KHMER INDEPENDENT VOWEL QI
+17A6 ; [.27F5.0020.0002] # KHMER INDEPENDENT VOWEL QII
+17A7 ; [.27F6.0020.0002] # KHMER INDEPENDENT VOWEL QU
+17A8 ; [.27F7.0020.0002] # KHMER INDEPENDENT VOWEL QUK
+17A9 ; [.27F8.0020.0002] # KHMER INDEPENDENT VOWEL QUU
+17AA ; [.27F9.0020.0002] # KHMER INDEPENDENT VOWEL QUUV
+17AB ; [.27FA.0020.0002] # KHMER INDEPENDENT VOWEL RY
+17AC ; [.27FB.0020.0002] # KHMER INDEPENDENT VOWEL RYY
+17AD ; [.27FC.0020.0002] # KHMER INDEPENDENT VOWEL LY
+17AE ; [.27FD.0020.0002] # KHMER INDEPENDENT VOWEL LYY
+17AF ; [.27FE.0020.0002] # KHMER INDEPENDENT VOWEL QE
+17B0 ; [.27FF.0020.0002] # KHMER INDEPENDENT VOWEL QAI
+17B1 ; [.2800.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17B2 ; [.2801.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17B3 ; [.2802.0020.0002] # KHMER INDEPENDENT VOWEL QAU
+17B6 ; [.2803.0020.0002] # KHMER VOWEL SIGN AA
+17B7 ; [.2804.0020.0002] # KHMER VOWEL SIGN I
+17B8 ; [.2805.0020.0002] # KHMER VOWEL SIGN II
+17B9 ; [.2806.0020.0002] # KHMER VOWEL SIGN Y
+17BA ; [.2807.0020.0002] # KHMER VOWEL SIGN YY
+17BB ; [.2808.0020.0002] # KHMER VOWEL SIGN U
+17BC ; [.2809.0020.0002] # KHMER VOWEL SIGN UU
+17BD ; [.280A.0020.0002] # KHMER VOWEL SIGN UA
+17BE ; [.280B.0020.0002] # KHMER VOWEL SIGN OE
+17BF ; [.280C.0020.0002] # KHMER VOWEL SIGN YA
+17C0 ; [.280D.0020.0002] # KHMER VOWEL SIGN IE
+17C1 ; [.280E.0020.0002] # KHMER VOWEL SIGN E
+17C2 ; [.280F.0020.0002] # KHMER VOWEL SIGN AE
+17C3 ; [.2810.0020.0002] # KHMER VOWEL SIGN AI
+17C4 ; [.2811.0020.0002] # KHMER VOWEL SIGN OO
+17C5 ; [.2812.0020.0002] # KHMER VOWEL SIGN AU
+17D2 ; [.2813.0020.0002] # KHMER SIGN COENG
+1950 ; [.2814.0020.0002] # TAI LE LETTER KA
+1951 ; [.2815.0020.0002] # TAI LE LETTER XA
+1952 ; [.2816.0020.0002] # TAI LE LETTER NGA
+1953 ; [.2817.0020.0002] # TAI LE LETTER TSA
+1954 ; [.2818.0020.0002] # TAI LE LETTER SA
+1955 ; [.2819.0020.0002] # TAI LE LETTER YA
+1956 ; [.281A.0020.0002] # TAI LE LETTER TA
+1957 ; [.281B.0020.0002] # TAI LE LETTER THA
+1958 ; [.281C.0020.0002] # TAI LE LETTER LA
+1959 ; [.281D.0020.0002] # TAI LE LETTER PA
+195A ; [.281E.0020.0002] # TAI LE LETTER PHA
+195B ; [.281F.0020.0002] # TAI LE LETTER MA
+195C ; [.2820.0020.0002] # TAI LE LETTER FA
+195D ; [.2821.0020.0002] # TAI LE LETTER VA
+195E ; [.2822.0020.0002] # TAI LE LETTER HA
+195F ; [.2823.0020.0002] # TAI LE LETTER QA
+1960 ; [.2824.0020.0002] # TAI LE LETTER KHA
+1961 ; [.2825.0020.0002] # TAI LE LETTER TSHA
+1962 ; [.2826.0020.0002] # TAI LE LETTER NA
+1963 ; [.2827.0020.0002] # TAI LE LETTER A
+1964 ; [.2828.0020.0002] # TAI LE LETTER I
+1965 ; [.2829.0020.0002] # TAI LE LETTER EE
+1966 ; [.282A.0020.0002] # TAI LE LETTER EH
+1967 ; [.282B.0020.0002] # TAI LE LETTER U
+1968 ; [.282C.0020.0002] # TAI LE LETTER OO
+1969 ; [.282D.0020.0002] # TAI LE LETTER O
+196A ; [.282E.0020.0002] # TAI LE LETTER UE
+196B ; [.282F.0020.0002] # TAI LE LETTER E
+196C ; [.2830.0020.0002] # TAI LE LETTER AUE
+196D ; [.2831.0020.0002] # TAI LE LETTER AI
+1970 ; [.2832.0020.0002] # TAI LE LETTER TONE-2
+1971 ; [.2833.0020.0002] # TAI LE LETTER TONE-3
+1972 ; [.2834.0020.0002] # TAI LE LETTER TONE-4
+1973 ; [.2835.0020.0002] # TAI LE LETTER TONE-5
+1974 ; [.2836.0020.0002] # TAI LE LETTER TONE-6
+1980 ; [.2837.0020.0002] # NEW TAI LUE LETTER HIGH QA
+1981 ; [.2838.0020.0002] # NEW TAI LUE LETTER LOW QA
+1982 ; [.2839.0020.0002] # NEW TAI LUE LETTER HIGH KA
+1983 ; [.283A.0020.0002] # NEW TAI LUE LETTER HIGH XA
+1984 ; [.283B.0020.0002] # NEW TAI LUE LETTER HIGH NGA
+1985 ; [.283C.0020.0002] # NEW TAI LUE LETTER LOW KA
+1986 ; [.283D.0020.0002] # NEW TAI LUE LETTER LOW XA
+1987 ; [.283E.0020.0002] # NEW TAI LUE LETTER LOW NGA
+1988 ; [.283F.0020.0002] # NEW TAI LUE LETTER HIGH TSA
+1989 ; [.2840.0020.0002] # NEW TAI LUE LETTER HIGH SA
+198A ; [.2841.0020.0002] # NEW TAI LUE LETTER HIGH YA
+198B ; [.2842.0020.0002] # NEW TAI LUE LETTER LOW TSA
+198C ; [.2843.0020.0002] # NEW TAI LUE LETTER LOW SA
+198D ; [.2844.0020.0002] # NEW TAI LUE LETTER LOW YA
+198E ; [.2845.0020.0002] # NEW TAI LUE LETTER HIGH TA
+198F ; [.2846.0020.0002] # NEW TAI LUE LETTER HIGH THA
+1990 ; [.2847.0020.0002] # NEW TAI LUE LETTER HIGH NA
+1991 ; [.2848.0020.0002] # NEW TAI LUE LETTER LOW TA
+1992 ; [.2849.0020.0002] # NEW TAI LUE LETTER LOW THA
+1993 ; [.284A.0020.0002] # NEW TAI LUE LETTER LOW NA
+1994 ; [.284B.0020.0002] # NEW TAI LUE LETTER HIGH PA
+1995 ; [.284C.0020.0002] # NEW TAI LUE LETTER HIGH PHA
+1996 ; [.284D.0020.0002] # NEW TAI LUE LETTER HIGH MA
+1997 ; [.284E.0020.0002] # NEW TAI LUE LETTER LOW PA
+1998 ; [.284F.0020.0002] # NEW TAI LUE LETTER LOW PHA
+1999 ; [.2850.0020.0002] # NEW TAI LUE LETTER LOW MA
+199A ; [.2851.0020.0002] # NEW TAI LUE LETTER HIGH FA
+199B ; [.2852.0020.0002] # NEW TAI LUE LETTER HIGH VA
+199C ; [.2853.0020.0002] # NEW TAI LUE LETTER HIGH LA
+19DE ; [.2853.0020.0004][.2869.0020.0004] # NEW TAI LUE SIGN LAE
+19DF ; [.2853.0020.0004][.2869.0020.0004][.2874.0020.0004] # NEW TAI LUE SIGN LAEV
+199D ; [.2854.0020.0002] # NEW TAI LUE LETTER LOW FA
+199E ; [.2855.0020.0002] # NEW TAI LUE LETTER LOW VA
+199F ; [.2856.0020.0002] # NEW TAI LUE LETTER LOW LA
+19A0 ; [.2857.0020.0002] # NEW TAI LUE LETTER HIGH HA
+19A1 ; [.2858.0020.0002] # NEW TAI LUE LETTER HIGH DA
+19A2 ; [.2859.0020.0002] # NEW TAI LUE LETTER HIGH BA
+19A3 ; [.285A.0020.0002] # NEW TAI LUE LETTER LOW HA
+19A4 ; [.285B.0020.0002] # NEW TAI LUE LETTER LOW DA
+19A5 ; [.285C.0020.0002] # NEW TAI LUE LETTER LOW BA
+19A6 ; [.285D.0020.0002] # NEW TAI LUE LETTER HIGH KVA
+19A7 ; [.285E.0020.0002] # NEW TAI LUE LETTER HIGH XVA
+19A8 ; [.285F.0020.0002] # NEW TAI LUE LETTER LOW KVA
+19A9 ; [.2860.0020.0002] # NEW TAI LUE LETTER LOW XVA
+19AA ; [.2861.0020.0002] # NEW TAI LUE LETTER HIGH SUA
+19AB ; [.2862.0020.0002] # NEW TAI LUE LETTER LOW SUA
+19B0 ; [.2863.0020.0002] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+19B1 ; [.2864.0020.0002] # NEW TAI LUE VOWEL SIGN AA
+19B2 ; [.2865.0020.0002] # NEW TAI LUE VOWEL SIGN II
+19B3 ; [.2866.0020.0002] # NEW TAI LUE VOWEL SIGN U
+19B4 ; [.2867.0020.0002] # NEW TAI LUE VOWEL SIGN UU
+19B5 ; [.2868.0020.0002] # NEW TAI LUE VOWEL SIGN E
+19B6 ; [.2869.0020.0002] # NEW TAI LUE VOWEL SIGN AE
+19B7 ; [.286A.0020.0002] # NEW TAI LUE VOWEL SIGN O
+19B8 ; [.286B.0020.0002] # NEW TAI LUE VOWEL SIGN OA
+19B9 ; [.286C.0020.0002] # NEW TAI LUE VOWEL SIGN UE
+19BA ; [.286D.0020.0002] # NEW TAI LUE VOWEL SIGN AY
+19BB ; [.286E.0020.0002] # NEW TAI LUE VOWEL SIGN AAY
+19BC ; [.286F.0020.0002] # NEW TAI LUE VOWEL SIGN UY
+19BD ; [.2870.0020.0002] # NEW TAI LUE VOWEL SIGN OY
+19BE ; [.2871.0020.0002] # NEW TAI LUE VOWEL SIGN OAY
+19BF ; [.2872.0020.0002] # NEW TAI LUE VOWEL SIGN UEY
+19C0 ; [.2873.0020.0002] # NEW TAI LUE VOWEL SIGN IY
+19C1 ; [.2874.0020.0002] # NEW TAI LUE LETTER FINAL V
+19C2 ; [.2875.0020.0002] # NEW TAI LUE LETTER FINAL NG
+19C3 ; [.2876.0020.0002] # NEW TAI LUE LETTER FINAL N
+19C4 ; [.2877.0020.0002] # NEW TAI LUE LETTER FINAL M
+19C5 ; [.2878.0020.0002] # NEW TAI LUE LETTER FINAL K
+19C6 ; [.2879.0020.0002] # NEW TAI LUE LETTER FINAL D
+19C7 ; [.287A.0020.0002] # NEW TAI LUE LETTER FINAL B
+19C8 ; [.287B.0020.0002] # NEW TAI LUE TONE MARK-1
+19C9 ; [.287C.0020.0002] # NEW TAI LUE TONE MARK-2
+1A20 ; [.287D.0020.0002] # TAI THAM LETTER HIGH KA
+1A21 ; [.287E.0020.0002] # TAI THAM LETTER HIGH KHA
+1A22 ; [.287F.0020.0002] # TAI THAM LETTER HIGH KXA
+1A23 ; [.2880.0020.0002] # TAI THAM LETTER LOW KA
+1A24 ; [.2881.0020.0002] # TAI THAM LETTER LOW KXA
+1A25 ; [.2882.0020.0002] # TAI THAM LETTER LOW KHA
+1A26 ; [.2883.0020.0002] # TAI THAM LETTER NGA
+1A58 ; [.2883.0020.0004] # TAI THAM SIGN MAI KANG LAI
+1A59 ; [.2883.0020.0004] # TAI THAM CONSONANT SIGN FINAL NGA
+1A27 ; [.2884.0020.0002] # TAI THAM LETTER HIGH CA
+1A28 ; [.2885.0020.0002] # TAI THAM LETTER HIGH CHA
+1A29 ; [.2886.0020.0002] # TAI THAM LETTER LOW CA
+1A2A ; [.2887.0020.0002] # TAI THAM LETTER LOW SA
+1A2B ; [.2888.0020.0002] # TAI THAM LETTER LOW CHA
+1A2C ; [.2889.0020.0002] # TAI THAM LETTER NYA
+1A2D ; [.288A.0020.0002] # TAI THAM LETTER RATA
+1A2E ; [.288B.0020.0002] # TAI THAM LETTER HIGH RATHA
+1A2F ; [.288C.0020.0002] # TAI THAM LETTER DA
+1A30 ; [.288D.0020.0002] # TAI THAM LETTER LOW RATHA
+1A31 ; [.288E.0020.0002] # TAI THAM LETTER RANA
+1A32 ; [.288F.0020.0002] # TAI THAM LETTER HIGH TA
+1A33 ; [.2890.0020.0002] # TAI THAM LETTER HIGH THA
+1A34 ; [.2891.0020.0002] # TAI THAM LETTER LOW TA
+1A35 ; [.2892.0020.0002] # TAI THAM LETTER LOW THA
+1A36 ; [.2893.0020.0002] # TAI THAM LETTER NA
+1A37 ; [.2894.0020.0002] # TAI THAM LETTER BA
+1A38 ; [.2895.0020.0002] # TAI THAM LETTER HIGH PA
+1A39 ; [.2896.0020.0002] # TAI THAM LETTER HIGH PHA
+1A3A ; [.2897.0020.0002] # TAI THAM LETTER HIGH FA
+1A3B ; [.2898.0020.0002] # TAI THAM LETTER LOW PA
+1A5A ; [.2898.0020.0004] # TAI THAM CONSONANT SIGN LOW PA
+1A5B ; [.2898.0020.0004] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
+1A3C ; [.2899.0020.0002] # TAI THAM LETTER LOW FA
+1A3D ; [.289A.0020.0002] # TAI THAM LETTER LOW PHA
+1A3E ; [.289B.0020.0002] # TAI THAM LETTER MA
+1A3F ; [.289C.0020.0002] # TAI THAM LETTER LOW YA
+1A40 ; [.289D.0020.0002] # TAI THAM LETTER HIGH YA
+1A41 ; [.289E.0020.0002] # TAI THAM LETTER RA
+1A42 ; [.289F.0020.0002] # TAI THAM LETTER RUE
+1A43 ; [.28A0.0020.0002] # TAI THAM LETTER LA
+1A44 ; [.28A1.0020.0002] # TAI THAM LETTER LUE
+1A45 ; [.28A2.0020.0002] # TAI THAM LETTER WA
+1A46 ; [.28A3.0020.0002] # TAI THAM LETTER HIGH SHA
+1A54 ; [.28A3.0020.0004][.28C9.0020.0004][.28A3.0020.0004] # TAI THAM LETTER GREAT SA
+1A47 ; [.28A4.0020.0002] # TAI THAM LETTER HIGH SSA
+1A48 ; [.28A5.0020.0002] # TAI THAM LETTER HIGH SA
+1A49 ; [.28A6.0020.0002] # TAI THAM LETTER HIGH HA
+1A4A ; [.28A7.0020.0002] # TAI THAM LETTER LLA
+1A4B ; [.28A8.0020.0002] # TAI THAM LETTER A
+1A4C ; [.28A9.0020.0002] # TAI THAM LETTER LOW HA
+1A53 ; [.28AA.0020.0002] # TAI THAM LETTER LAE
+1A6B ; [.28AB.0020.0002] # TAI THAM VOWEL SIGN O
+1A55 ; [.28AC.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL RA
+1A56 ; [.28AD.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL LA
+1A57 ; [.28AE.0020.0002] # TAI THAM CONSONANT SIGN LA TANG LAI
+1A5C ; [.28AF.0020.0002] # TAI THAM CONSONANT SIGN MA
+1A5D ; [.28B0.0020.0002] # TAI THAM CONSONANT SIGN BA
+1A5E ; [.28B1.0020.0002] # TAI THAM CONSONANT SIGN SA
+1A4D ; [.28B2.0020.0002] # TAI THAM LETTER I
+1A4E ; [.28B3.0020.0002] # TAI THAM LETTER II
+1A4F ; [.28B4.0020.0002] # TAI THAM LETTER U
+1A50 ; [.28B5.0020.0002] # TAI THAM LETTER UU
+1A51 ; [.28B6.0020.0002] # TAI THAM LETTER EE
+1A52 ; [.28B7.0020.0002] # TAI THAM LETTER OO
+1A61 ; [.28B8.0020.0002] # TAI THAM VOWEL SIGN A
+1A6C ; [.28B9.0020.0002] # TAI THAM VOWEL SIGN OA BELOW
+1A62 ; [.28BA.0020.0002] # TAI THAM VOWEL SIGN MAI SAT
+1A63 ; [.28BB.0020.0002] # TAI THAM VOWEL SIGN AA
+1A64 ; [.28BB.0020.0004] # TAI THAM VOWEL SIGN TALL AA
+1A65 ; [.28BC.0020.0002] # TAI THAM VOWEL SIGN I
+1A66 ; [.28BD.0020.0002] # TAI THAM VOWEL SIGN II
+1A67 ; [.28BE.0020.0002] # TAI THAM VOWEL SIGN UE
+1A68 ; [.28BF.0020.0002] # TAI THAM VOWEL SIGN UUE
+1A69 ; [.28C0.0020.0002] # TAI THAM VOWEL SIGN U
+1A6A ; [.28C1.0020.0002] # TAI THAM VOWEL SIGN UU
+1A6E ; [.28C2.0020.0002] # TAI THAM VOWEL SIGN E
+1A6F ; [.28C3.0020.0002] # TAI THAM VOWEL SIGN AE
+1A73 ; [.28C4.0020.0002] # TAI THAM VOWEL SIGN OA ABOVE
+1A70 ; [.28C5.0020.0002] # TAI THAM VOWEL SIGN OO
+1A71 ; [.28C6.0020.0002] # TAI THAM VOWEL SIGN AI
+1A72 ; [.28C7.0020.0002] # TAI THAM VOWEL SIGN THAM AI
+1A6D ; [.28C8.0020.0002] # TAI THAM VOWEL SIGN OY
+1A60 ; [.28C9.0020.0002] # TAI THAM SIGN SAKOT
+AA00 ; [.28CA.0020.0002] # CHAM LETTER A
+AA01 ; [.28CB.0020.0002] # CHAM LETTER I
+AA02 ; [.28CC.0020.0002] # CHAM LETTER U
+AA03 ; [.28CD.0020.0002] # CHAM LETTER E
+AA04 ; [.28CE.0020.0002] # CHAM LETTER AI
+AA05 ; [.28CF.0020.0002] # CHAM LETTER O
+AA06 ; [.28D0.0020.0002] # CHAM LETTER KA
+AA07 ; [.28D1.0020.0002] # CHAM LETTER KHA
+AA08 ; [.28D2.0020.0002] # CHAM LETTER GA
+AA09 ; [.28D3.0020.0002] # CHAM LETTER GHA
+AA0A ; [.28D4.0020.0002] # CHAM LETTER NGUE
+AA0B ; [.28D5.0020.0002] # CHAM LETTER NGA
+AA0C ; [.28D6.0020.0002] # CHAM LETTER CHA
+AA0D ; [.28D7.0020.0002] # CHAM LETTER CHHA
+AA0E ; [.28D8.0020.0002] # CHAM LETTER JA
+AA0F ; [.28D9.0020.0002] # CHAM LETTER JHA
+AA10 ; [.28DA.0020.0002] # CHAM LETTER NHUE
+AA11 ; [.28DB.0020.0002] # CHAM LETTER NHA
+AA12 ; [.28DC.0020.0002] # CHAM LETTER NHJA
+AA13 ; [.28DD.0020.0002] # CHAM LETTER TA
+AA14 ; [.28DE.0020.0002] # CHAM LETTER THA
+AA15 ; [.28DF.0020.0002] # CHAM LETTER DA
+AA16 ; [.28E0.0020.0002] # CHAM LETTER DHA
+AA17 ; [.28E1.0020.0002] # CHAM LETTER NUE
+AA18 ; [.28E2.0020.0002] # CHAM LETTER NA
+AA19 ; [.28E3.0020.0002] # CHAM LETTER DDA
+AA1A ; [.28E4.0020.0002] # CHAM LETTER PA
+AA1B ; [.28E5.0020.0002] # CHAM LETTER PPA
+AA1C ; [.28E6.0020.0002] # CHAM LETTER PHA
+AA1D ; [.28E7.0020.0002] # CHAM LETTER BA
+AA1E ; [.28E8.0020.0002] # CHAM LETTER BHA
+AA1F ; [.28E9.0020.0002] # CHAM LETTER MUE
+AA20 ; [.28EA.0020.0002] # CHAM LETTER MA
+AA21 ; [.28EB.0020.0002] # CHAM LETTER BBA
+AA22 ; [.28EC.0020.0002] # CHAM LETTER YA
+AA23 ; [.28ED.0020.0002] # CHAM LETTER RA
+AA24 ; [.28EE.0020.0002] # CHAM LETTER LA
+AA25 ; [.28EF.0020.0002] # CHAM LETTER VA
+AA26 ; [.28F0.0020.0002] # CHAM LETTER SSA
+AA27 ; [.28F1.0020.0002] # CHAM LETTER SA
+AA28 ; [.28F2.0020.0002] # CHAM LETTER HA
+AA33 ; [.28F3.0020.0002] # CHAM CONSONANT SIGN YA
+AA34 ; [.28F4.0020.0002] # CHAM CONSONANT SIGN RA
+AA35 ; [.28F5.0020.0002] # CHAM CONSONANT SIGN LA
+AA36 ; [.28F6.0020.0002] # CHAM CONSONANT SIGN WA
+AA29 ; [.28F7.0020.0002] # CHAM VOWEL SIGN AA
+AA2A ; [.28F8.0020.0002] # CHAM VOWEL SIGN I
+AA2B ; [.28F9.0020.0002] # CHAM VOWEL SIGN II
+AA2C ; [.28FA.0020.0002] # CHAM VOWEL SIGN EI
+AA2D ; [.28FB.0020.0002] # CHAM VOWEL SIGN U
+AA2E ; [.28FC.0020.0002] # CHAM VOWEL SIGN OE
+AA2F ; [.28FD.0020.0002] # CHAM VOWEL SIGN O
+AA30 ; [.28FE.0020.0002] # CHAM VOWEL SIGN AI
+AA31 ; [.28FF.0020.0002] # CHAM VOWEL SIGN AU
+AA32 ; [.2900.0020.0002] # CHAM VOWEL SIGN UE
+AA40 ; [.2901.0020.0002] # CHAM LETTER FINAL K
+AA41 ; [.2902.0020.0002] # CHAM LETTER FINAL G
+AA42 ; [.2903.0020.0002] # CHAM LETTER FINAL NG
+AA43 ; [.2904.0020.0002] # CHAM CONSONANT SIGN FINAL NG
+AA44 ; [.2905.0020.0002] # CHAM LETTER FINAL CH
+AA45 ; [.2906.0020.0002] # CHAM LETTER FINAL T
+AA46 ; [.2907.0020.0002] # CHAM LETTER FINAL N
+AA47 ; [.2908.0020.0002] # CHAM LETTER FINAL P
+AA48 ; [.2909.0020.0002] # CHAM LETTER FINAL Y
+AA49 ; [.290A.0020.0002] # CHAM LETTER FINAL R
+AA4A ; [.290B.0020.0002] # CHAM LETTER FINAL L
+AA4B ; [.290C.0020.0002] # CHAM LETTER FINAL SS
+AA4C ; [.290D.0020.0002] # CHAM CONSONANT SIGN FINAL M
+AA4D ; [.290E.0020.0002] # CHAM CONSONANT SIGN FINAL H
+1B05 ; [.290F.0020.0002] # BALINESE LETTER AKARA
+1B06 ; [.2910.0020.0002] # BALINESE LETTER AKARA TEDUNG
+1B05 1B35 ; [.2910.0020.0002] # BALINESE LETTER AKARA TEDUNG
+1B07 ; [.2911.0020.0002] # BALINESE LETTER IKARA
+1B08 ; [.2912.0020.0002] # BALINESE LETTER IKARA TEDUNG
+1B07 1B35 ; [.2912.0020.0002] # BALINESE LETTER IKARA TEDUNG
+1B09 ; [.2913.0020.0002] # BALINESE LETTER UKARA
+1B0A ; [.2914.0020.0002] # BALINESE LETTER UKARA TEDUNG
+1B09 1B35 ; [.2914.0020.0002] # BALINESE LETTER UKARA TEDUNG
+1B0B ; [.2915.0020.0002] # BALINESE LETTER RA REPA
+1B0C ; [.2916.0020.0002] # BALINESE LETTER RA REPA TEDUNG
+1B0B 1B35 ; [.2916.0020.0002] # BALINESE LETTER RA REPA TEDUNG
+1B0D ; [.2917.0020.0002] # BALINESE LETTER LA LENGA
+1B0E ; [.2918.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
+1B0D 1B35 ; [.2918.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
+1B0F ; [.2919.0020.0002] # BALINESE LETTER EKARA
+1B10 ; [.291A.0020.0002] # BALINESE LETTER AIKARA
+1B11 ; [.291B.0020.0002] # BALINESE LETTER OKARA
+1B12 ; [.291C.0020.0002] # BALINESE LETTER OKARA TEDUNG
+1B11 1B35 ; [.291C.0020.0002] # BALINESE LETTER OKARA TEDUNG
+1B13 ; [.291D.0020.0002] # BALINESE LETTER KA
+1B45 ; [.291E.0020.0002] # BALINESE LETTER KAF SASAK
+1B46 ; [.291F.0020.0002] # BALINESE LETTER KHOT SASAK
+1B14 ; [.2920.0020.0002] # BALINESE LETTER KA MAHAPRANA
+1B15 ; [.2921.0020.0002] # BALINESE LETTER GA
+1B16 ; [.2922.0020.0002] # BALINESE LETTER GA GORA
+1B17 ; [.2923.0020.0002] # BALINESE LETTER NGA
+1B18 ; [.2924.0020.0002] # BALINESE LETTER CA
+1B19 ; [.2925.0020.0002] # BALINESE LETTER CA LACA
+1B1A ; [.2926.0020.0002] # BALINESE LETTER JA
+1B1B ; [.2927.0020.0002] # BALINESE LETTER JA JERA
+1B1C ; [.2928.0020.0002] # BALINESE LETTER NYA
+1B1D ; [.2929.0020.0002] # BALINESE LETTER TA LATIK
+1B1E ; [.292A.0020.0002] # BALINESE LETTER TA MURDA MAHAPRANA
+1B1F ; [.292B.0020.0002] # BALINESE LETTER DA MURDA ALPAPRANA
+1B20 ; [.292C.0020.0002] # BALINESE LETTER DA MURDA MAHAPRANA
+1B21 ; [.292D.0020.0002] # BALINESE LETTER NA RAMBAT
+1B22 ; [.292E.0020.0002] # BALINESE LETTER TA
+1B47 ; [.292F.0020.0002] # BALINESE LETTER TZIR SASAK
+1B23 ; [.2930.0020.0002] # BALINESE LETTER TA TAWA
+1B24 ; [.2931.0020.0002] # BALINESE LETTER DA
+1B25 ; [.2932.0020.0002] # BALINESE LETTER DA MADU
+1B26 ; [.2933.0020.0002] # BALINESE LETTER NA
+1B27 ; [.2934.0020.0002] # BALINESE LETTER PA
+1B48 ; [.2935.0020.0002] # BALINESE LETTER EF SASAK
+1B28 ; [.2936.0020.0002] # BALINESE LETTER PA KAPAL
+1B29 ; [.2937.0020.0002] # BALINESE LETTER BA
+1B2A ; [.2938.0020.0002] # BALINESE LETTER BA KEMBANG
+1B2B ; [.2939.0020.0002] # BALINESE LETTER MA
+1B2C ; [.293A.0020.0002] # BALINESE LETTER YA
+1B2D ; [.293B.0020.0002] # BALINESE LETTER RA
+1B2E ; [.293C.0020.0002] # BALINESE LETTER LA
+1B2F ; [.293D.0020.0002] # BALINESE LETTER WA
+1B49 ; [.293E.0020.0002] # BALINESE LETTER VE SASAK
+1B30 ; [.293F.0020.0002] # BALINESE LETTER SA SAGA
+1B31 ; [.2940.0020.0002] # BALINESE LETTER SA SAPA
+1B32 ; [.2941.0020.0002] # BALINESE LETTER SA
+1B4A ; [.2942.0020.0002] # BALINESE LETTER ZAL SASAK
+1B4B ; [.2943.0020.0002] # BALINESE LETTER ASYURA SASAK
+1B33 ; [.2944.0020.0002] # BALINESE LETTER HA
+1B35 ; [.2945.0020.0002] # BALINESE VOWEL SIGN TEDUNG
+1B36 ; [.2946.0020.0002] # BALINESE VOWEL SIGN ULU
+1B37 ; [.2947.0020.0002] # BALINESE VOWEL SIGN ULU SARI
+1B38 ; [.2948.0020.0002] # BALINESE VOWEL SIGN SUKU
+1B39 ; [.2949.0020.0002] # BALINESE VOWEL SIGN SUKU ILUT
+1B3A ; [.294A.0020.0002] # BALINESE VOWEL SIGN RA REPA
+1B3B ; [.294B.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3A 1B35 ; [.294B.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C ; [.294C.0020.0002] # BALINESE VOWEL SIGN LA LENGA
+1B3D ; [.294D.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3C 1B35 ; [.294D.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3E ; [.294E.0020.0002] # BALINESE VOWEL SIGN TALING
+1B3F ; [.294F.0020.0002] # BALINESE VOWEL SIGN TALING REPA
+1B40 ; [.2950.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
+1B3E 1B35 ; [.2950.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
+1B41 ; [.2951.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B3F 1B35 ; [.2951.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42 ; [.2952.0020.0002] # BALINESE VOWEL SIGN PEPET
+1B43 ; [.2953.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B42 1B35 ; [.2953.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B44 ; [.2954.0020.0002] # BALINESE ADEG ADEG
+A984 ; [.2955.0020.0002] # JAVANESE LETTER A
+A985 ; [.2956.0020.0002] # JAVANESE LETTER I KAWI
+A986 ; [.2957.0020.0002] # JAVANESE LETTER I
+A987 ; [.2958.0020.0002] # JAVANESE LETTER II
+A988 ; [.2959.0020.0002] # JAVANESE LETTER U
+A989 ; [.295A.0020.0002] # JAVANESE LETTER PA CEREK
+A98A ; [.295B.0020.0002] # JAVANESE LETTER NGA LELET
+A98B ; [.295C.0020.0002] # JAVANESE LETTER NGA LELET RASWADI
+A98C ; [.295D.0020.0002] # JAVANESE LETTER E
+A98D ; [.295E.0020.0002] # JAVANESE LETTER AI
+A98E ; [.295F.0020.0002] # JAVANESE LETTER O
+A98F ; [.2960.0020.0002] # JAVANESE LETTER KA
+A990 ; [.2961.0020.0002] # JAVANESE LETTER KA SASAK
+A991 ; [.2962.0020.0002] # JAVANESE LETTER KA MURDA
+A992 ; [.2963.0020.0002] # JAVANESE LETTER GA
+A993 ; [.2964.0020.0002] # JAVANESE LETTER GA MURDA
+A994 ; [.2965.0020.0002] # JAVANESE LETTER NGA
+A995 ; [.2966.0020.0002] # JAVANESE LETTER CA
+A996 ; [.2967.0020.0002] # JAVANESE LETTER CA MURDA
+A997 ; [.2968.0020.0002] # JAVANESE LETTER JA
+A998 ; [.2969.0020.0002] # JAVANESE LETTER NYA MURDA
+A999 ; [.296A.0020.0002] # JAVANESE LETTER JA MAHAPRANA
+A99A ; [.296B.0020.0002] # JAVANESE LETTER NYA
+A99B ; [.296C.0020.0002] # JAVANESE LETTER TTA
+A99C ; [.296D.0020.0002] # JAVANESE LETTER TTA MAHAPRANA
+A99D ; [.296E.0020.0002] # JAVANESE LETTER DDA
+A99E ; [.296F.0020.0002] # JAVANESE LETTER DDA MAHAPRANA
+A99F ; [.2970.0020.0002] # JAVANESE LETTER NA MURDA
+A9A0 ; [.2971.0020.0002] # JAVANESE LETTER TA
+A9A1 ; [.2972.0020.0002] # JAVANESE LETTER TA MURDA
+A9A2 ; [.2973.0020.0002] # JAVANESE LETTER DA
+A9A3 ; [.2974.0020.0002] # JAVANESE LETTER DA MAHAPRANA
+A9A4 ; [.2975.0020.0002] # JAVANESE LETTER NA
+A9A5 ; [.2976.0020.0002] # JAVANESE LETTER PA
+A9A6 ; [.2977.0020.0002] # JAVANESE LETTER PA MURDA
+A9A7 ; [.2978.0020.0002] # JAVANESE LETTER BA
+A9A8 ; [.2979.0020.0002] # JAVANESE LETTER BA MURDA
+A9A9 ; [.297A.0020.0002] # JAVANESE LETTER MA
+A9AA ; [.297B.0020.0002] # JAVANESE LETTER YA
+A9BE ; [.297C.0020.0002] # JAVANESE CONSONANT SIGN PENGKAL
+A9AB ; [.297D.0020.0002] # JAVANESE LETTER RA
+A9AC ; [.297D.0020.0004] # JAVANESE LETTER RA AGUNG
+A9BF ; [.297E.0020.0002] # JAVANESE CONSONANT SIGN CAKRA
+A9AD ; [.297F.0020.0002] # JAVANESE LETTER LA
+A9AE ; [.2980.0020.0002] # JAVANESE LETTER WA
+A9AF ; [.2981.0020.0002] # JAVANESE LETTER SA MURDA
+A9B0 ; [.2982.0020.0002] # JAVANESE LETTER SA MAHAPRANA
+A9B1 ; [.2983.0020.0002] # JAVANESE LETTER SA
+A9B2 ; [.2984.0020.0002] # JAVANESE LETTER HA
+A9B4 ; [.2985.0020.0002] # JAVANESE VOWEL SIGN TARUNG
+A9BC ; [.2986.0020.0002] # JAVANESE VOWEL SIGN PEPET
+A9B6 ; [.2987.0020.0002] # JAVANESE VOWEL SIGN WULU
+A9B7 ; [.2988.0020.0002] # JAVANESE VOWEL SIGN WULU MELIK
+A9B8 ; [.2989.0020.0002] # JAVANESE VOWEL SIGN SUKU
+A9B9 ; [.298A.0020.0002] # JAVANESE VOWEL SIGN SUKU MENDUT
+A9BD ; [.298B.0020.0002] # JAVANESE CONSONANT SIGN KERET
+A9BA ; [.298C.0020.0002] # JAVANESE VOWEL SIGN TALING
+A9BB ; [.298D.0020.0002] # JAVANESE VOWEL SIGN DIRGA MURE
+A9B5 ; [.298E.0020.0002] # JAVANESE VOWEL SIGN TOLONG
+A9C0 ; [.298F.0020.0002] # JAVANESE PANGKON
+1880 ; [.2990.0020.0002] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881 ; [.2991.0020.0002] # MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882 ; [.2992.0020.0002] # MONGOLIAN LETTER ALI GALI DAMARU
+1883 ; [.2993.0020.0002] # MONGOLIAN LETTER ALI GALI UBADAMA
+1884 ; [.2994.0020.0002] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885 ; [.2995.0020.0002] # MONGOLIAN LETTER ALI GALI BALUDA
+1886 ; [.2996.0020.0002] # MONGOLIAN LETTER ALI GALI THREE BALUDA
+1843 ; [.2997.0020.0002] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1820 ; [.2998.0020.0002] # MONGOLIAN LETTER A
+1887 ; [.2999.0020.0002] # MONGOLIAN LETTER ALI GALI A
+1821 ; [.299A.0020.0002] # MONGOLIAN LETTER E
+1844 ; [.299B.0020.0002] # MONGOLIAN LETTER TODO E
+185D ; [.299C.0020.0002] # MONGOLIAN LETTER SIBE E
+1822 ; [.299D.0020.0002] # MONGOLIAN LETTER I
+1845 ; [.299E.0020.0002] # MONGOLIAN LETTER TODO I
+185E ; [.299F.0020.0002] # MONGOLIAN LETTER SIBE I
+1873 ; [.29A0.0020.0002] # MONGOLIAN LETTER MANCHU I
+1888 ; [.29A1.0020.0002] # MONGOLIAN LETTER ALI GALI I
+185F ; [.29A2.0020.0002] # MONGOLIAN LETTER SIBE IY
+1823 ; [.29A3.0020.0002] # MONGOLIAN LETTER O
+1846 ; [.29A4.0020.0002] # MONGOLIAN LETTER TODO O
+1824 ; [.29A5.0020.0002] # MONGOLIAN LETTER U
+1847 ; [.29A6.0020.0002] # MONGOLIAN LETTER TODO U
+1861 ; [.29A7.0020.0002] # MONGOLIAN LETTER SIBE U
+1825 ; [.29A8.0020.0002] # MONGOLIAN LETTER OE
+1848 ; [.29A9.0020.0002] # MONGOLIAN LETTER TODO OE
+1826 ; [.29AA.0020.0002] # MONGOLIAN LETTER UE
+1849 ; [.29AB.0020.0002] # MONGOLIAN LETTER TODO UE
+1860 ; [.29AC.0020.0002] # MONGOLIAN LETTER SIBE UE
+1827 ; [.29AD.0020.0002] # MONGOLIAN LETTER EE
+1828 ; [.29AE.0020.0002] # MONGOLIAN LETTER NA
+1829 ; [.29AF.0020.0002] # MONGOLIAN LETTER ANG
+184A ; [.29B0.0020.0002] # MONGOLIAN LETTER TODO ANG
+1862 ; [.29B1.0020.0002] # MONGOLIAN LETTER SIBE ANG
+188A ; [.29B2.0020.0002] # MONGOLIAN LETTER ALI GALI NGA
+189B ; [.29B3.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI NGA
+182A ; [.29B4.0020.0002] # MONGOLIAN LETTER BA
+184B ; [.29B5.0020.0002] # MONGOLIAN LETTER TODO BA
+182B ; [.29B6.0020.0002] # MONGOLIAN LETTER PA
+184C ; [.29B7.0020.0002] # MONGOLIAN LETTER TODO PA
+1866 ; [.29B8.0020.0002] # MONGOLIAN LETTER SIBE PA
+182C ; [.29B9.0020.0002] # MONGOLIAN LETTER QA
+184D ; [.29BA.0020.0002] # MONGOLIAN LETTER TODO QA
+182D ; [.29BB.0020.0002] # MONGOLIAN LETTER GA
+184E ; [.29BC.0020.0002] # MONGOLIAN LETTER TODO GA
+1864 ; [.29BD.0020.0002] # MONGOLIAN LETTER SIBE GA
+189A ; [.29BE.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI GHA
+1865 ; [.29BF.0020.0002] # MONGOLIAN LETTER SIBE HA
+182E ; [.29C0.0020.0002] # MONGOLIAN LETTER MA
+184F ; [.29C1.0020.0002] # MONGOLIAN LETTER TODO MA
+182F ; [.29C2.0020.0002] # MONGOLIAN LETTER LA
+1830 ; [.29C3.0020.0002] # MONGOLIAN LETTER SA
+1831 ; [.29C4.0020.0002] # MONGOLIAN LETTER SHA
+1867 ; [.29C5.0020.0002] # MONGOLIAN LETTER SIBE SHA
+189C ; [.29C6.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CA
+189D ; [.29C7.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI JHA
+18A2 ; [.29C8.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI SSA
+18A4 ; [.29C9.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18A5 ; [.29CA.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZA
+1832 ; [.29CB.0020.0002] # MONGOLIAN LETTER TA
+1850 ; [.29CC.0020.0002] # MONGOLIAN LETTER TODO TA
+1868 ; [.29CD.0020.0002] # MONGOLIAN LETTER SIBE TA
+1833 ; [.29CE.0020.0002] # MONGOLIAN LETTER DA
+1851 ; [.29CF.0020.0002] # MONGOLIAN LETTER TODO DA
+1869 ; [.29D0.0020.0002] # MONGOLIAN LETTER SIBE DA
+1834 ; [.29D1.0020.0002] # MONGOLIAN LETTER CHA
+1852 ; [.29D2.0020.0002] # MONGOLIAN LETTER TODO CHA
+1871 ; [.29D3.0020.0002] # MONGOLIAN LETTER SIBE CHA
+185C ; [.29D4.0020.0002] # MONGOLIAN LETTER TODO DZA
+188B ; [.29D5.0020.0002] # MONGOLIAN LETTER ALI GALI CA
+1835 ; [.29D6.0020.0002] # MONGOLIAN LETTER JA
+1853 ; [.29D7.0020.0002] # MONGOLIAN LETTER TODO JA
+186A ; [.29D8.0020.0002] # MONGOLIAN LETTER SIBE JA
+1877 ; [.29D9.0020.0002] # MONGOLIAN LETTER MANCHU ZHA
+1836 ; [.29DA.0020.0002] # MONGOLIAN LETTER YA
+1855 ; [.29DB.0020.0002] # MONGOLIAN LETTER TODO YA
+1872 ; [.29DC.0020.0002] # MONGOLIAN LETTER SIBE ZHA
+1837 ; [.29DD.0020.0002] # MONGOLIAN LETTER RA
+1875 ; [.29DE.0020.0002] # MONGOLIAN LETTER MANCHU RA
+1838 ; [.29DF.0020.0002] # MONGOLIAN LETTER WA
+1856 ; [.29E0.0020.0002] # MONGOLIAN LETTER TODO WA
+1839 ; [.29E1.0020.0002] # MONGOLIAN LETTER FA
+186B ; [.29E2.0020.0002] # MONGOLIAN LETTER SIBE FA
+1876 ; [.29E3.0020.0002] # MONGOLIAN LETTER MANCHU FA
+183A ; [.29E4.0020.0002] # MONGOLIAN LETTER KA
+1857 ; [.29E5.0020.0002] # MONGOLIAN LETTER TODO KA
+1863 ; [.29E6.0020.0002] # MONGOLIAN LETTER SIBE KA
+1874 ; [.29E7.0020.0002] # MONGOLIAN LETTER MANCHU KA
+1889 ; [.29E8.0020.0002] # MONGOLIAN LETTER ALI GALI KA
+183B ; [.29E9.0020.0002] # MONGOLIAN LETTER KHA
+183C ; [.29EA.0020.0002] # MONGOLIAN LETTER TSA
+1854 ; [.29EB.0020.0002] # MONGOLIAN LETTER TODO TSA
+186E ; [.29EC.0020.0002] # MONGOLIAN LETTER SIBE TSA
+183D ; [.29ED.0020.0002] # MONGOLIAN LETTER ZA
+186F ; [.29EE.0020.0002] # MONGOLIAN LETTER SIBE ZA
+1858 ; [.29EF.0020.0002] # MONGOLIAN LETTER TODO GAA
+186C ; [.29F0.0020.0002] # MONGOLIAN LETTER SIBE GAA
+183E ; [.29F1.0020.0002] # MONGOLIAN LETTER HAA
+1859 ; [.29F2.0020.0002] # MONGOLIAN LETTER TODO HAA
+186D ; [.29F3.0020.0002] # MONGOLIAN LETTER SIBE HAA
+183F ; [.29F4.0020.0002] # MONGOLIAN LETTER ZRA
+1840 ; [.29F5.0020.0002] # MONGOLIAN LETTER LHA
+1841 ; [.29F6.0020.0002] # MONGOLIAN LETTER ZHI
+1842 ; [.29F7.0020.0002] # MONGOLIAN LETTER CHI
+185A ; [.29F8.0020.0002] # MONGOLIAN LETTER TODO JIA
+185B ; [.29F9.0020.0002] # MONGOLIAN LETTER TODO NIA
+1870 ; [.29FA.0020.0002] # MONGOLIAN LETTER SIBE RAA
+188C ; [.29FB.0020.0002] # MONGOLIAN LETTER ALI GALI TTA
+189E ; [.29FC.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TTA
+188D ; [.29FD.0020.0002] # MONGOLIAN LETTER ALI GALI TTHA
+188E ; [.29FE.0020.0002] # MONGOLIAN LETTER ALI GALI DDA
+189F ; [.29FF.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
+188F ; [.2A00.0020.0002] # MONGOLIAN LETTER ALI GALI NNA
+1890 ; [.2A01.0020.0002] # MONGOLIAN LETTER ALI GALI TA
+1898 ; [.2A02.0020.0002] # MONGOLIAN LETTER TODO ALI GALI TA
+18A0 ; [.2A03.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TA
+1891 ; [.2A04.0020.0002] # MONGOLIAN LETTER ALI GALI DA
+18A1 ; [.2A05.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DHA
+1892 ; [.2A06.0020.0002] # MONGOLIAN LETTER ALI GALI PA
+1893 ; [.2A07.0020.0002] # MONGOLIAN LETTER ALI GALI PHA
+18A8 ; [.2A08.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI BHA
+1894 ; [.2A09.0020.0002] # MONGOLIAN LETTER ALI GALI SSA
+18A3 ; [.2A0A.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CYA
+1895 ; [.2A0B.0020.0002] # MONGOLIAN LETTER ALI GALI ZHA
+1899 ; [.2A0C.0020.0002] # MONGOLIAN LETTER TODO ALI GALI ZHA
+1896 ; [.2A0D.0020.0002] # MONGOLIAN LETTER ALI GALI ZA
+1897 ; [.2A0E.0020.0002] # MONGOLIAN LETTER ALI GALI AH
+18A6 ; [.2A0F.0020.0002] # MONGOLIAN LETTER ALI GALI HALF U
+18A7 ; [.2A10.0020.0002] # MONGOLIAN LETTER ALI GALI HALF YA
+18AA ; [.2A11.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI LHA
+18A9 ; [.2A12.0020.0002] # MONGOLIAN LETTER ALI GALI DAGALGA
+1C5A ; [.2A13.0020.0002] # OL CHIKI LETTER LA
+1C5B ; [.2A14.0020.0002] # OL CHIKI LETTER AT
+1C5C ; [.2A15.0020.0002] # OL CHIKI LETTER AG
+1C5D ; [.2A16.0020.0002] # OL CHIKI LETTER ANG
+1C5E ; [.2A17.0020.0002] # OL CHIKI LETTER AL
+1C5F ; [.2A18.0020.0002] # OL CHIKI LETTER LAA
+1C60 ; [.2A19.0020.0002] # OL CHIKI LETTER AAK
+1C61 ; [.2A1A.0020.0002] # OL CHIKI LETTER AAJ
+1C62 ; [.2A1B.0020.0002] # OL CHIKI LETTER AAM
+1C63 ; [.2A1C.0020.0002] # OL CHIKI LETTER AAW
+1C64 ; [.2A1D.0020.0002] # OL CHIKI LETTER LI
+1C65 ; [.2A1E.0020.0002] # OL CHIKI LETTER IS
+1C66 ; [.2A1F.0020.0002] # OL CHIKI LETTER IH
+1C67 ; [.2A20.0020.0002] # OL CHIKI LETTER INY
+1C68 ; [.2A21.0020.0002] # OL CHIKI LETTER IR
+1C69 ; [.2A22.0020.0002] # OL CHIKI LETTER LU
+1C6A ; [.2A23.0020.0002] # OL CHIKI LETTER UC
+1C6B ; [.2A24.0020.0002] # OL CHIKI LETTER UD
+1C6C ; [.2A25.0020.0002] # OL CHIKI LETTER UNN
+1C6D ; [.2A26.0020.0002] # OL CHIKI LETTER UY
+1C6E ; [.2A27.0020.0002] # OL CHIKI LETTER LE
+1C6F ; [.2A28.0020.0002] # OL CHIKI LETTER EP
+1C70 ; [.2A29.0020.0002] # OL CHIKI LETTER EDD
+1C71 ; [.2A2A.0020.0002] # OL CHIKI LETTER EN
+1C72 ; [.2A2B.0020.0002] # OL CHIKI LETTER ERR
+1C73 ; [.2A2C.0020.0002] # OL CHIKI LETTER LO
+1C74 ; [.2A2D.0020.0002] # OL CHIKI LETTER OTT
+1C75 ; [.2A2E.0020.0002] # OL CHIKI LETTER OB
+1C76 ; [.2A2F.0020.0002] # OL CHIKI LETTER OV
+1C77 ; [.2A30.0020.0002] # OL CHIKI LETTER OH
+1C78 ; [.2A31.0020.0002] # OL CHIKI MU TTUDDAG
+1C79 ; [.2A32.0020.0002] # OL CHIKI GAAHLAA TTUDDAAG
+1C7A ; [.2A33.0020.0002] # OL CHIKI MU-GAAHLAA TTUDDAAG
+1C7B ; [.2A34.0020.0002] # OL CHIKI RELAA
+1C7C ; [.2A35.0020.0002] # OL CHIKI PHAARKAA
+1C7D ; [.2A36.0020.0002] # OL CHIKI AHAD
+13A0 ; [.2A37.0020.0002] # CHEROKEE LETTER A
+13A1 ; [.2A38.0020.0002] # CHEROKEE LETTER E
+13A2 ; [.2A39.0020.0002] # CHEROKEE LETTER I
+13A3 ; [.2A3A.0020.0002] # CHEROKEE LETTER O
+13A4 ; [.2A3B.0020.0002] # CHEROKEE LETTER U
+13A5 ; [.2A3C.0020.0002] # CHEROKEE LETTER V
+13A6 ; [.2A3D.0020.0002] # CHEROKEE LETTER GA
+13A7 ; [.2A3E.0020.0002] # CHEROKEE LETTER KA
+13A8 ; [.2A3F.0020.0002] # CHEROKEE LETTER GE
+13A9 ; [.2A40.0020.0002] # CHEROKEE LETTER GI
+13AA ; [.2A41.0020.0002] # CHEROKEE LETTER GO
+13AB ; [.2A42.0020.0002] # CHEROKEE LETTER GU
+13AC ; [.2A43.0020.0002] # CHEROKEE LETTER GV
+13AD ; [.2A44.0020.0002] # CHEROKEE LETTER HA
+13AE ; [.2A45.0020.0002] # CHEROKEE LETTER HE
+13AF ; [.2A46.0020.0002] # CHEROKEE LETTER HI
+13B0 ; [.2A47.0020.0002] # CHEROKEE LETTER HO
+13B1 ; [.2A48.0020.0002] # CHEROKEE LETTER HU
+13B2 ; [.2A49.0020.0002] # CHEROKEE LETTER HV
+13B3 ; [.2A4A.0020.0002] # CHEROKEE LETTER LA
+13B4 ; [.2A4B.0020.0002] # CHEROKEE LETTER LE
+13B5 ; [.2A4C.0020.0002] # CHEROKEE LETTER LI
+13B6 ; [.2A4D.0020.0002] # CHEROKEE LETTER LO
+13B7 ; [.2A4E.0020.0002] # CHEROKEE LETTER LU
+13B8 ; [.2A4F.0020.0002] # CHEROKEE LETTER LV
+13B9 ; [.2A50.0020.0002] # CHEROKEE LETTER MA
+13BA ; [.2A51.0020.0002] # CHEROKEE LETTER ME
+13BB ; [.2A52.0020.0002] # CHEROKEE LETTER MI
+13BC ; [.2A53.0020.0002] # CHEROKEE LETTER MO
+13BD ; [.2A54.0020.0002] # CHEROKEE LETTER MU
+13BE ; [.2A55.0020.0002] # CHEROKEE LETTER NA
+13BF ; [.2A56.0020.0002] # CHEROKEE LETTER HNA
+13C0 ; [.2A57.0020.0002] # CHEROKEE LETTER NAH
+13C1 ; [.2A58.0020.0002] # CHEROKEE LETTER NE
+13C2 ; [.2A59.0020.0002] # CHEROKEE LETTER NI
+13C3 ; [.2A5A.0020.0002] # CHEROKEE LETTER NO
+13C4 ; [.2A5B.0020.0002] # CHEROKEE LETTER NU
+13C5 ; [.2A5C.0020.0002] # CHEROKEE LETTER NV
+13C6 ; [.2A5D.0020.0002] # CHEROKEE LETTER QUA
+13C7 ; [.2A5E.0020.0002] # CHEROKEE LETTER QUE
+13C8 ; [.2A5F.0020.0002] # CHEROKEE LETTER QUI
+13C9 ; [.2A60.0020.0002] # CHEROKEE LETTER QUO
+13CA ; [.2A61.0020.0002] # CHEROKEE LETTER QUU
+13CB ; [.2A62.0020.0002] # CHEROKEE LETTER QUV
+13CC ; [.2A63.0020.0002] # CHEROKEE LETTER SA
+13CD ; [.2A64.0020.0002] # CHEROKEE LETTER S
+13CE ; [.2A65.0020.0002] # CHEROKEE LETTER SE
+13CF ; [.2A66.0020.0002] # CHEROKEE LETTER SI
+13D0 ; [.2A67.0020.0002] # CHEROKEE LETTER SO
+13D1 ; [.2A68.0020.0002] # CHEROKEE LETTER SU
+13D2 ; [.2A69.0020.0002] # CHEROKEE LETTER SV
+13D3 ; [.2A6A.0020.0002] # CHEROKEE LETTER DA
+13D4 ; [.2A6B.0020.0002] # CHEROKEE LETTER TA
+13D5 ; [.2A6C.0020.0002] # CHEROKEE LETTER DE
+13D6 ; [.2A6D.0020.0002] # CHEROKEE LETTER TE
+13D7 ; [.2A6E.0020.0002] # CHEROKEE LETTER DI
+13D8 ; [.2A6F.0020.0002] # CHEROKEE LETTER TI
+13D9 ; [.2A70.0020.0002] # CHEROKEE LETTER DO
+13DA ; [.2A71.0020.0002] # CHEROKEE LETTER DU
+13DB ; [.2A72.0020.0002] # CHEROKEE LETTER DV
+13DC ; [.2A73.0020.0002] # CHEROKEE LETTER DLA
+13DD ; [.2A74.0020.0002] # CHEROKEE LETTER TLA
+13DE ; [.2A75.0020.0002] # CHEROKEE LETTER TLE
+13DF ; [.2A76.0020.0002] # CHEROKEE LETTER TLI
+13E0 ; [.2A77.0020.0002] # CHEROKEE LETTER TLO
+13E1 ; [.2A78.0020.0002] # CHEROKEE LETTER TLU
+13E2 ; [.2A79.0020.0002] # CHEROKEE LETTER TLV
+13E3 ; [.2A7A.0020.0002] # CHEROKEE LETTER TSA
+13E4 ; [.2A7B.0020.0002] # CHEROKEE LETTER TSE
+13E5 ; [.2A7C.0020.0002] # CHEROKEE LETTER TSI
+13E6 ; [.2A7D.0020.0002] # CHEROKEE LETTER TSO
+13E7 ; [.2A7E.0020.0002] # CHEROKEE LETTER TSU
+13E8 ; [.2A7F.0020.0002] # CHEROKEE LETTER TSV
+13E9 ; [.2A80.0020.0002] # CHEROKEE LETTER WA
+13EA ; [.2A81.0020.0002] # CHEROKEE LETTER WE
+13EB ; [.2A82.0020.0002] # CHEROKEE LETTER WI
+13EC ; [.2A83.0020.0002] # CHEROKEE LETTER WO
+13ED ; [.2A84.0020.0002] # CHEROKEE LETTER WU
+13EE ; [.2A85.0020.0002] # CHEROKEE LETTER WV
+13EF ; [.2A86.0020.0002] # CHEROKEE LETTER YA
+13F0 ; [.2A87.0020.0002] # CHEROKEE LETTER YE
+13F1 ; [.2A88.0020.0002] # CHEROKEE LETTER YI
+13F2 ; [.2A89.0020.0002] # CHEROKEE LETTER YO
+13F3 ; [.2A8A.0020.0002] # CHEROKEE LETTER YU
+13F4 ; [.2A8B.0020.0002] # CHEROKEE LETTER YV
+1401 ; [.2A8C.0020.0002] # CANADIAN SYLLABICS E
+1402 ; [.2A8D.0020.0002] # CANADIAN SYLLABICS AAI
+1403 ; [.2A8E.0020.0002] # CANADIAN SYLLABICS I
+1404 ; [.2A8F.0020.0002] # CANADIAN SYLLABICS II
+1405 ; [.2A90.0020.0002] # CANADIAN SYLLABICS O
+1406 ; [.2A91.0020.0002] # CANADIAN SYLLABICS OO
+1407 ; [.2A92.0020.0002] # CANADIAN SYLLABICS Y-CREE OO
+1408 ; [.2A93.0020.0002] # CANADIAN SYLLABICS CARRIER EE
+1409 ; [.2A94.0020.0002] # CANADIAN SYLLABICS CARRIER I
+140A ; [.2A95.0020.0002] # CANADIAN SYLLABICS A
+140B ; [.2A96.0020.0002] # CANADIAN SYLLABICS AA
+140C ; [.2A97.0020.0002] # CANADIAN SYLLABICS WE
+140D ; [.2A98.0020.0002] # CANADIAN SYLLABICS WEST-CREE WE
+140E ; [.2A99.0020.0002] # CANADIAN SYLLABICS WI
+140F ; [.2A9A.0020.0002] # CANADIAN SYLLABICS WEST-CREE WI
+1410 ; [.2A9B.0020.0002] # CANADIAN SYLLABICS WII
+1411 ; [.2A9C.0020.0002] # CANADIAN SYLLABICS WEST-CREE WII
+1412 ; [.2A9D.0020.0002] # CANADIAN SYLLABICS WO
+1413 ; [.2A9E.0020.0002] # CANADIAN SYLLABICS WEST-CREE WO
+1414 ; [.2A9F.0020.0002] # CANADIAN SYLLABICS WOO
+1415 ; [.2AA0.0020.0002] # CANADIAN SYLLABICS WEST-CREE WOO
+1416 ; [.2AA1.0020.0002] # CANADIAN SYLLABICS NASKAPI WOO
+1417 ; [.2AA2.0020.0002] # CANADIAN SYLLABICS WA
+1418 ; [.2AA3.0020.0002] # CANADIAN SYLLABICS WEST-CREE WA
+1419 ; [.2AA4.0020.0002] # CANADIAN SYLLABICS WAA
+141A ; [.2AA5.0020.0002] # CANADIAN SYLLABICS WEST-CREE WAA
+141B ; [.2AA6.0020.0002] # CANADIAN SYLLABICS NASKAPI WAA
+141C ; [.2AA7.0020.0002] # CANADIAN SYLLABICS AI
+141D ; [.2AA8.0020.0002] # CANADIAN SYLLABICS Y-CREE W
+141E ; [.2AA9.0020.0002] # CANADIAN SYLLABICS GLOTTAL STOP
+141F ; [.2AAA.0020.0002] # CANADIAN SYLLABICS FINAL ACUTE
+1420 ; [.2AAB.0020.0002] # CANADIAN SYLLABICS FINAL GRAVE
+1421 ; [.2AAC.0020.0002] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422 ; [.2AAD.0020.0002] # CANADIAN SYLLABICS FINAL TOP HALF RING
+1423 ; [.2AAE.0020.0002] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424 ; [.2AAF.0020.0002] # CANADIAN SYLLABICS FINAL RING
+1425 ; [.2AB0.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426 ; [.2AB1.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427 ; [.2AB2.0020.0002] # CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428 ; [.2AB3.0020.0002] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429 ; [.2AB4.0020.0002] # CANADIAN SYLLABICS FINAL PLUS
+142A ; [.2AB5.0020.0002] # CANADIAN SYLLABICS FINAL DOWN TACK
+142B ; [.2AB6.0020.0002] # CANADIAN SYLLABICS EN
+142C ; [.2AB7.0020.0002] # CANADIAN SYLLABICS IN
+142D ; [.2AB8.0020.0002] # CANADIAN SYLLABICS ON
+142E ; [.2AB9.0020.0002] # CANADIAN SYLLABICS AN
+142F ; [.2ABA.0020.0002] # CANADIAN SYLLABICS PE
+1430 ; [.2ABB.0020.0002] # CANADIAN SYLLABICS PAAI
+1431 ; [.2ABC.0020.0002] # CANADIAN SYLLABICS PI
+1432 ; [.2ABD.0020.0002] # CANADIAN SYLLABICS PII
+1433 ; [.2ABE.0020.0002] # CANADIAN SYLLABICS PO
+1434 ; [.2ABF.0020.0002] # CANADIAN SYLLABICS POO
+1435 ; [.2AC0.0020.0002] # CANADIAN SYLLABICS Y-CREE POO
+1436 ; [.2AC1.0020.0002] # CANADIAN SYLLABICS CARRIER HEE
+1437 ; [.2AC2.0020.0002] # CANADIAN SYLLABICS CARRIER HI
+1438 ; [.2AC3.0020.0002] # CANADIAN SYLLABICS PA
+1439 ; [.2AC4.0020.0002] # CANADIAN SYLLABICS PAA
+143A ; [.2AC5.0020.0002] # CANADIAN SYLLABICS PWE
+143B ; [.2AC6.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWE
+143C ; [.2AC7.0020.0002] # CANADIAN SYLLABICS PWI
+143D ; [.2AC8.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWI
+143E ; [.2AC9.0020.0002] # CANADIAN SYLLABICS PWII
+143F ; [.2ACA.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWII
+1440 ; [.2ACB.0020.0002] # CANADIAN SYLLABICS PWO
+1441 ; [.2ACC.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWO
+1442 ; [.2ACD.0020.0002] # CANADIAN SYLLABICS PWOO
+1443 ; [.2ACE.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWOO
+1444 ; [.2ACF.0020.0002] # CANADIAN SYLLABICS PWA
+1445 ; [.2AD0.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWA
+1446 ; [.2AD1.0020.0002] # CANADIAN SYLLABICS PWAA
+1447 ; [.2AD2.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWAA
+1448 ; [.2AD3.0020.0002] # CANADIAN SYLLABICS Y-CREE PWAA
+1449 ; [.2AD4.0020.0002] # CANADIAN SYLLABICS P
+144A ; [.2AD5.0020.0002] # CANADIAN SYLLABICS WEST-CREE P
+144B ; [.2AD6.0020.0002] # CANADIAN SYLLABICS CARRIER H
+144C ; [.2AD7.0020.0002] # CANADIAN SYLLABICS TE
+144D ; [.2AD8.0020.0002] # CANADIAN SYLLABICS TAAI
+144E ; [.2AD9.0020.0002] # CANADIAN SYLLABICS TI
+144F ; [.2ADA.0020.0002] # CANADIAN SYLLABICS TII
+1450 ; [.2ADB.0020.0002] # CANADIAN SYLLABICS TO
+1451 ; [.2ADC.0020.0002] # CANADIAN SYLLABICS TOO
+1452 ; [.2ADD.0020.0002] # CANADIAN SYLLABICS Y-CREE TOO
+1453 ; [.2ADE.0020.0002] # CANADIAN SYLLABICS CARRIER DEE
+1454 ; [.2ADF.0020.0002] # CANADIAN SYLLABICS CARRIER DI
+1455 ; [.2AE0.0020.0002] # CANADIAN SYLLABICS TA
+1456 ; [.2AE1.0020.0002] # CANADIAN SYLLABICS TAA
+1457 ; [.2AE2.0020.0002] # CANADIAN SYLLABICS TWE
+1458 ; [.2AE3.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWE
+1459 ; [.2AE4.0020.0002] # CANADIAN SYLLABICS TWI
+145A ; [.2AE5.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWI
+145B ; [.2AE6.0020.0002] # CANADIAN SYLLABICS TWII
+145C ; [.2AE7.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWII
+145D ; [.2AE8.0020.0002] # CANADIAN SYLLABICS TWO
+145E ; [.2AE9.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWO
+145F ; [.2AEA.0020.0002] # CANADIAN SYLLABICS TWOO
+1460 ; [.2AEB.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWOO
+1461 ; [.2AEC.0020.0002] # CANADIAN SYLLABICS TWA
+1462 ; [.2AED.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWA
+1463 ; [.2AEE.0020.0002] # CANADIAN SYLLABICS TWAA
+1464 ; [.2AEF.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWAA
+1465 ; [.2AF0.0020.0002] # CANADIAN SYLLABICS NASKAPI TWAA
+1466 ; [.2AF1.0020.0002] # CANADIAN SYLLABICS T
+1467 ; [.2AF2.0020.0002] # CANADIAN SYLLABICS TTE
+1468 ; [.2AF3.0020.0002] # CANADIAN SYLLABICS TTI
+1469 ; [.2AF4.0020.0002] # CANADIAN SYLLABICS TTO
+146A ; [.2AF5.0020.0002] # CANADIAN SYLLABICS TTA
+146B ; [.2AF6.0020.0002] # CANADIAN SYLLABICS KE
+146C ; [.2AF7.0020.0002] # CANADIAN SYLLABICS KAAI
+146D ; [.2AF8.0020.0002] # CANADIAN SYLLABICS KI
+146E ; [.2AF9.0020.0002] # CANADIAN SYLLABICS KII
+146F ; [.2AFA.0020.0002] # CANADIAN SYLLABICS KO
+1470 ; [.2AFB.0020.0002] # CANADIAN SYLLABICS KOO
+1471 ; [.2AFC.0020.0002] # CANADIAN SYLLABICS Y-CREE KOO
+1472 ; [.2AFD.0020.0002] # CANADIAN SYLLABICS KA
+1473 ; [.2AFE.0020.0002] # CANADIAN SYLLABICS KAA
+1474 ; [.2AFF.0020.0002] # CANADIAN SYLLABICS KWE
+1475 ; [.2B00.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWE
+1476 ; [.2B01.0020.0002] # CANADIAN SYLLABICS KWI
+1477 ; [.2B02.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWI
+1478 ; [.2B03.0020.0002] # CANADIAN SYLLABICS KWII
+1479 ; [.2B04.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWII
+147A ; [.2B05.0020.0002] # CANADIAN SYLLABICS KWO
+147B ; [.2B06.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWO
+147C ; [.2B07.0020.0002] # CANADIAN SYLLABICS KWOO
+147D ; [.2B08.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWOO
+147E ; [.2B09.0020.0002] # CANADIAN SYLLABICS KWA
+147F ; [.2B0A.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWA
+1480 ; [.2B0B.0020.0002] # CANADIAN SYLLABICS KWAA
+1481 ; [.2B0C.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWAA
+1482 ; [.2B0D.0020.0002] # CANADIAN SYLLABICS NASKAPI KWAA
+1483 ; [.2B0E.0020.0002] # CANADIAN SYLLABICS K
+1484 ; [.2B0F.0020.0002] # CANADIAN SYLLABICS KW
+1485 ; [.2B10.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486 ; [.2B11.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487 ; [.2B12.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488 ; [.2B13.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489 ; [.2B14.0020.0002] # CANADIAN SYLLABICS CE
+148A ; [.2B15.0020.0002] # CANADIAN SYLLABICS CAAI
+148B ; [.2B16.0020.0002] # CANADIAN SYLLABICS CI
+148C ; [.2B17.0020.0002] # CANADIAN SYLLABICS CII
+148D ; [.2B18.0020.0002] # CANADIAN SYLLABICS CO
+148E ; [.2B19.0020.0002] # CANADIAN SYLLABICS COO
+148F ; [.2B1A.0020.0002] # CANADIAN SYLLABICS Y-CREE COO
+1490 ; [.2B1B.0020.0002] # CANADIAN SYLLABICS CA
+1491 ; [.2B1C.0020.0002] # CANADIAN SYLLABICS CAA
+1492 ; [.2B1D.0020.0002] # CANADIAN SYLLABICS CWE
+1493 ; [.2B1E.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWE
+1494 ; [.2B1F.0020.0002] # CANADIAN SYLLABICS CWI
+1495 ; [.2B20.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWI
+1496 ; [.2B21.0020.0002] # CANADIAN SYLLABICS CWII
+1497 ; [.2B22.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWII
+1498 ; [.2B23.0020.0002] # CANADIAN SYLLABICS CWO
+1499 ; [.2B24.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWO
+149A ; [.2B25.0020.0002] # CANADIAN SYLLABICS CWOO
+149B ; [.2B26.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWOO
+149C ; [.2B27.0020.0002] # CANADIAN SYLLABICS CWA
+149D ; [.2B28.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWA
+149E ; [.2B29.0020.0002] # CANADIAN SYLLABICS CWAA
+149F ; [.2B2A.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWAA
+14A0 ; [.2B2B.0020.0002] # CANADIAN SYLLABICS NASKAPI CWAA
+14A1 ; [.2B2C.0020.0002] # CANADIAN SYLLABICS C
+14A2 ; [.2B2D.0020.0002] # CANADIAN SYLLABICS SAYISI TH
+14A3 ; [.2B2E.0020.0002] # CANADIAN SYLLABICS ME
+14A4 ; [.2B2F.0020.0002] # CANADIAN SYLLABICS MAAI
+14A5 ; [.2B30.0020.0002] # CANADIAN SYLLABICS MI
+14A6 ; [.2B31.0020.0002] # CANADIAN SYLLABICS MII
+14A7 ; [.2B32.0020.0002] # CANADIAN SYLLABICS MO
+14A8 ; [.2B33.0020.0002] # CANADIAN SYLLABICS MOO
+14A9 ; [.2B34.0020.0002] # CANADIAN SYLLABICS Y-CREE MOO
+14AA ; [.2B35.0020.0002] # CANADIAN SYLLABICS MA
+14AB ; [.2B36.0020.0002] # CANADIAN SYLLABICS MAA
+14AC ; [.2B37.0020.0002] # CANADIAN SYLLABICS MWE
+14AD ; [.2B38.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWE
+14AE ; [.2B39.0020.0002] # CANADIAN SYLLABICS MWI
+14AF ; [.2B3A.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWI
+14B0 ; [.2B3B.0020.0002] # CANADIAN SYLLABICS MWII
+14B1 ; [.2B3C.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWII
+14B2 ; [.2B3D.0020.0002] # CANADIAN SYLLABICS MWO
+14B3 ; [.2B3E.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWO
+14B4 ; [.2B3F.0020.0002] # CANADIAN SYLLABICS MWOO
+14B5 ; [.2B40.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWOO
+14B6 ; [.2B41.0020.0002] # CANADIAN SYLLABICS MWA
+14B7 ; [.2B42.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWA
+14B8 ; [.2B43.0020.0002] # CANADIAN SYLLABICS MWAA
+14B9 ; [.2B44.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWAA
+14BA ; [.2B45.0020.0002] # CANADIAN SYLLABICS NASKAPI MWAA
+14BB ; [.2B46.0020.0002] # CANADIAN SYLLABICS M
+14BC ; [.2B47.0020.0002] # CANADIAN SYLLABICS WEST-CREE M
+14BD ; [.2B48.0020.0002] # CANADIAN SYLLABICS MH
+14BE ; [.2B49.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN M
+14BF ; [.2B4A.0020.0002] # CANADIAN SYLLABICS SAYISI M
+14C0 ; [.2B4B.0020.0002] # CANADIAN SYLLABICS NE
+14C1 ; [.2B4C.0020.0002] # CANADIAN SYLLABICS NAAI
+14C2 ; [.2B4D.0020.0002] # CANADIAN SYLLABICS NI
+14C3 ; [.2B4E.0020.0002] # CANADIAN SYLLABICS NII
+14C4 ; [.2B4F.0020.0002] # CANADIAN SYLLABICS NO
+14C5 ; [.2B50.0020.0002] # CANADIAN SYLLABICS NOO
+14C6 ; [.2B51.0020.0002] # CANADIAN SYLLABICS Y-CREE NOO
+14C7 ; [.2B52.0020.0002] # CANADIAN SYLLABICS NA
+14C8 ; [.2B53.0020.0002] # CANADIAN SYLLABICS NAA
+14C9 ; [.2B54.0020.0002] # CANADIAN SYLLABICS NWE
+14CA ; [.2B55.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWE
+14CB ; [.2B56.0020.0002] # CANADIAN SYLLABICS NWA
+14CC ; [.2B57.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWA
+14CD ; [.2B58.0020.0002] # CANADIAN SYLLABICS NWAA
+14CE ; [.2B59.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWAA
+14CF ; [.2B5A.0020.0002] # CANADIAN SYLLABICS NASKAPI NWAA
+14D0 ; [.2B5B.0020.0002] # CANADIAN SYLLABICS N
+14D1 ; [.2B5C.0020.0002] # CANADIAN SYLLABICS CARRIER NG
+14D2 ; [.2B5D.0020.0002] # CANADIAN SYLLABICS NH
+14D3 ; [.2B5E.0020.0002] # CANADIAN SYLLABICS LE
+14D4 ; [.2B5F.0020.0002] # CANADIAN SYLLABICS LAAI
+14D5 ; [.2B60.0020.0002] # CANADIAN SYLLABICS LI
+14D6 ; [.2B61.0020.0002] # CANADIAN SYLLABICS LII
+14D7 ; [.2B62.0020.0002] # CANADIAN SYLLABICS LO
+14D8 ; [.2B63.0020.0002] # CANADIAN SYLLABICS LOO
+14D9 ; [.2B64.0020.0002] # CANADIAN SYLLABICS Y-CREE LOO
+14DA ; [.2B65.0020.0002] # CANADIAN SYLLABICS LA
+14DB ; [.2B66.0020.0002] # CANADIAN SYLLABICS LAA
+14DC ; [.2B67.0020.0002] # CANADIAN SYLLABICS LWE
+14DD ; [.2B68.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWE
+14DE ; [.2B69.0020.0002] # CANADIAN SYLLABICS LWI
+14DF ; [.2B6A.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWI
+14E0 ; [.2B6B.0020.0002] # CANADIAN SYLLABICS LWII
+14E1 ; [.2B6C.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWII
+14E2 ; [.2B6D.0020.0002] # CANADIAN SYLLABICS LWO
+14E3 ; [.2B6E.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWO
+14E4 ; [.2B6F.0020.0002] # CANADIAN SYLLABICS LWOO
+14E5 ; [.2B70.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWOO
+14E6 ; [.2B71.0020.0002] # CANADIAN SYLLABICS LWA
+14E7 ; [.2B72.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWA
+14E8 ; [.2B73.0020.0002] # CANADIAN SYLLABICS LWAA
+14E9 ; [.2B74.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWAA
+14EA ; [.2B75.0020.0002] # CANADIAN SYLLABICS L
+14EB ; [.2B76.0020.0002] # CANADIAN SYLLABICS WEST-CREE L
+14EC ; [.2B77.0020.0002] # CANADIAN SYLLABICS MEDIAL L
+14ED ; [.2B78.0020.0002] # CANADIAN SYLLABICS SE
+14EE ; [.2B79.0020.0002] # CANADIAN SYLLABICS SAAI
+14EF ; [.2B7A.0020.0002] # CANADIAN SYLLABICS SI
+14F0 ; [.2B7B.0020.0002] # CANADIAN SYLLABICS SII
+14F1 ; [.2B7C.0020.0002] # CANADIAN SYLLABICS SO
+14F2 ; [.2B7D.0020.0002] # CANADIAN SYLLABICS SOO
+14F3 ; [.2B7E.0020.0002] # CANADIAN SYLLABICS Y-CREE SOO
+14F4 ; [.2B7F.0020.0002] # CANADIAN SYLLABICS SA
+14F5 ; [.2B80.0020.0002] # CANADIAN SYLLABICS SAA
+14F6 ; [.2B81.0020.0002] # CANADIAN SYLLABICS SWE
+14F7 ; [.2B82.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWE
+14F8 ; [.2B83.0020.0002] # CANADIAN SYLLABICS SWI
+14F9 ; [.2B84.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWI
+14FA ; [.2B85.0020.0002] # CANADIAN SYLLABICS SWII
+14FB ; [.2B86.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWII
+14FC ; [.2B87.0020.0002] # CANADIAN SYLLABICS SWO
+14FD ; [.2B88.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWO
+14FE ; [.2B89.0020.0002] # CANADIAN SYLLABICS SWOO
+14FF ; [.2B8A.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWOO
+1500 ; [.2B8B.0020.0002] # CANADIAN SYLLABICS SWA
+1501 ; [.2B8C.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWA
+1502 ; [.2B8D.0020.0002] # CANADIAN SYLLABICS SWAA
+1503 ; [.2B8E.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWAA
+1504 ; [.2B8F.0020.0002] # CANADIAN SYLLABICS NASKAPI SWAA
+1505 ; [.2B90.0020.0002] # CANADIAN SYLLABICS S
+1506 ; [.2B91.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN S
+1507 ; [.2B92.0020.0002] # CANADIAN SYLLABICS SW
+1508 ; [.2B93.0020.0002] # CANADIAN SYLLABICS BLACKFOOT S
+1509 ; [.2B94.0020.0002] # CANADIAN SYLLABICS MOOSE-CREE SK
+150A ; [.2B95.0020.0002] # CANADIAN SYLLABICS NASKAPI SKW
+150B ; [.2B96.0020.0002] # CANADIAN SYLLABICS NASKAPI S-W
+150C ; [.2B97.0020.0002] # CANADIAN SYLLABICS NASKAPI SPWA
+150D ; [.2B98.0020.0002] # CANADIAN SYLLABICS NASKAPI STWA
+150E ; [.2B99.0020.0002] # CANADIAN SYLLABICS NASKAPI SKWA
+150F ; [.2B9A.0020.0002] # CANADIAN SYLLABICS NASKAPI SCWA
+1510 ; [.2B9B.0020.0002] # CANADIAN SYLLABICS SHE
+1511 ; [.2B9C.0020.0002] # CANADIAN SYLLABICS SHI
+1512 ; [.2B9D.0020.0002] # CANADIAN SYLLABICS SHII
+1513 ; [.2B9E.0020.0002] # CANADIAN SYLLABICS SHO
+1514 ; [.2B9F.0020.0002] # CANADIAN SYLLABICS SHOO
+1515 ; [.2BA0.0020.0002] # CANADIAN SYLLABICS SHA
+1516 ; [.2BA1.0020.0002] # CANADIAN SYLLABICS SHAA
+1517 ; [.2BA2.0020.0002] # CANADIAN SYLLABICS SHWE
+1518 ; [.2BA3.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWE
+1519 ; [.2BA4.0020.0002] # CANADIAN SYLLABICS SHWI
+151A ; [.2BA5.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWI
+151B ; [.2BA6.0020.0002] # CANADIAN SYLLABICS SHWII
+151C ; [.2BA7.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWII
+151D ; [.2BA8.0020.0002] # CANADIAN SYLLABICS SHWO
+151E ; [.2BA9.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWO
+151F ; [.2BAA.0020.0002] # CANADIAN SYLLABICS SHWOO
+1520 ; [.2BAB.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWOO
+1521 ; [.2BAC.0020.0002] # CANADIAN SYLLABICS SHWA
+1522 ; [.2BAD.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWA
+1523 ; [.2BAE.0020.0002] # CANADIAN SYLLABICS SHWAA
+1524 ; [.2BAF.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWAA
+1525 ; [.2BB0.0020.0002] # CANADIAN SYLLABICS SH
+1526 ; [.2BB1.0020.0002] # CANADIAN SYLLABICS YE
+1527 ; [.2BB2.0020.0002] # CANADIAN SYLLABICS YAAI
+1528 ; [.2BB3.0020.0002] # CANADIAN SYLLABICS YI
+1529 ; [.2BB4.0020.0002] # CANADIAN SYLLABICS YII
+152A ; [.2BB5.0020.0002] # CANADIAN SYLLABICS YO
+152B ; [.2BB6.0020.0002] # CANADIAN SYLLABICS YOO
+152C ; [.2BB7.0020.0002] # CANADIAN SYLLABICS Y-CREE YOO
+152D ; [.2BB8.0020.0002] # CANADIAN SYLLABICS YA
+152E ; [.2BB9.0020.0002] # CANADIAN SYLLABICS YAA
+152F ; [.2BBA.0020.0002] # CANADIAN SYLLABICS YWE
+1530 ; [.2BBB.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWE
+1531 ; [.2BBC.0020.0002] # CANADIAN SYLLABICS YWI
+1532 ; [.2BBD.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWI
+1533 ; [.2BBE.0020.0002] # CANADIAN SYLLABICS YWII
+1534 ; [.2BBF.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWII
+1535 ; [.2BC0.0020.0002] # CANADIAN SYLLABICS YWO
+1536 ; [.2BC1.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWO
+1537 ; [.2BC2.0020.0002] # CANADIAN SYLLABICS YWOO
+1538 ; [.2BC3.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWOO
+1539 ; [.2BC4.0020.0002] # CANADIAN SYLLABICS YWA
+153A ; [.2BC5.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWA
+153B ; [.2BC6.0020.0002] # CANADIAN SYLLABICS YWAA
+153C ; [.2BC7.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWAA
+153D ; [.2BC8.0020.0002] # CANADIAN SYLLABICS NASKAPI YWAA
+153E ; [.2BC9.0020.0002] # CANADIAN SYLLABICS Y
+153F ; [.2BCA.0020.0002] # CANADIAN SYLLABICS BIBLE-CREE Y
+1540 ; [.2BCB.0020.0002] # CANADIAN SYLLABICS WEST-CREE Y
+1541 ; [.2BCC.0020.0002] # CANADIAN SYLLABICS SAYISI YI
+1542 ; [.2BCD.0020.0002] # CANADIAN SYLLABICS RE
+1543 ; [.2BCE.0020.0002] # CANADIAN SYLLABICS R-CREE RE
+1544 ; [.2BCF.0020.0002] # CANADIAN SYLLABICS WEST-CREE LE
+1545 ; [.2BD0.0020.0002] # CANADIAN SYLLABICS RAAI
+1546 ; [.2BD1.0020.0002] # CANADIAN SYLLABICS RI
+1547 ; [.2BD2.0020.0002] # CANADIAN SYLLABICS RII
+1548 ; [.2BD3.0020.0002] # CANADIAN SYLLABICS RO
+1549 ; [.2BD4.0020.0002] # CANADIAN SYLLABICS ROO
+154A ; [.2BD5.0020.0002] # CANADIAN SYLLABICS WEST-CREE LO
+154B ; [.2BD6.0020.0002] # CANADIAN SYLLABICS RA
+154C ; [.2BD7.0020.0002] # CANADIAN SYLLABICS RAA
+154D ; [.2BD8.0020.0002] # CANADIAN SYLLABICS WEST-CREE LA
+154E ; [.2BD9.0020.0002] # CANADIAN SYLLABICS RWAA
+154F ; [.2BDA.0020.0002] # CANADIAN SYLLABICS WEST-CREE RWAA
+1550 ; [.2BDB.0020.0002] # CANADIAN SYLLABICS R
+1551 ; [.2BDC.0020.0002] # CANADIAN SYLLABICS WEST-CREE R
+1552 ; [.2BDD.0020.0002] # CANADIAN SYLLABICS MEDIAL R
+1553 ; [.2BDE.0020.0002] # CANADIAN SYLLABICS FE
+1554 ; [.2BDF.0020.0002] # CANADIAN SYLLABICS FAAI
+1555 ; [.2BE0.0020.0002] # CANADIAN SYLLABICS FI
+1556 ; [.2BE1.0020.0002] # CANADIAN SYLLABICS FII
+1557 ; [.2BE2.0020.0002] # CANADIAN SYLLABICS FO
+1558 ; [.2BE3.0020.0002] # CANADIAN SYLLABICS FOO
+1559 ; [.2BE4.0020.0002] # CANADIAN SYLLABICS FA
+155A ; [.2BE5.0020.0002] # CANADIAN SYLLABICS FAA
+155B ; [.2BE6.0020.0002] # CANADIAN SYLLABICS FWAA
+155C ; [.2BE7.0020.0002] # CANADIAN SYLLABICS WEST-CREE FWAA
+155D ; [.2BE8.0020.0002] # CANADIAN SYLLABICS F
+155E ; [.2BE9.0020.0002] # CANADIAN SYLLABICS THE
+155F ; [.2BEA.0020.0002] # CANADIAN SYLLABICS N-CREE THE
+1560 ; [.2BEB.0020.0002] # CANADIAN SYLLABICS THI
+1561 ; [.2BEC.0020.0002] # CANADIAN SYLLABICS N-CREE THI
+1562 ; [.2BED.0020.0002] # CANADIAN SYLLABICS THII
+1563 ; [.2BEE.0020.0002] # CANADIAN SYLLABICS N-CREE THII
+1564 ; [.2BEF.0020.0002] # CANADIAN SYLLABICS THO
+1565 ; [.2BF0.0020.0002] # CANADIAN SYLLABICS THOO
+1566 ; [.2BF1.0020.0002] # CANADIAN SYLLABICS THA
+1567 ; [.2BF2.0020.0002] # CANADIAN SYLLABICS THAA
+1568 ; [.2BF3.0020.0002] # CANADIAN SYLLABICS THWAA
+1569 ; [.2BF4.0020.0002] # CANADIAN SYLLABICS WEST-CREE THWAA
+156A ; [.2BF5.0020.0002] # CANADIAN SYLLABICS TH
+156B ; [.2BF6.0020.0002] # CANADIAN SYLLABICS TTHE
+156C ; [.2BF7.0020.0002] # CANADIAN SYLLABICS TTHI
+156D ; [.2BF8.0020.0002] # CANADIAN SYLLABICS TTHO
+156E ; [.2BF9.0020.0002] # CANADIAN SYLLABICS TTHA
+156F ; [.2BFA.0020.0002] # CANADIAN SYLLABICS TTH
+1570 ; [.2BFB.0020.0002] # CANADIAN SYLLABICS TYE
+1571 ; [.2BFC.0020.0002] # CANADIAN SYLLABICS TYI
+1572 ; [.2BFD.0020.0002] # CANADIAN SYLLABICS TYO
+1573 ; [.2BFE.0020.0002] # CANADIAN SYLLABICS TYA
+1574 ; [.2BFF.0020.0002] # CANADIAN SYLLABICS NUNAVIK HE
+1575 ; [.2C00.0020.0002] # CANADIAN SYLLABICS NUNAVIK HI
+1576 ; [.2C01.0020.0002] # CANADIAN SYLLABICS NUNAVIK HII
+1577 ; [.2C02.0020.0002] # CANADIAN SYLLABICS NUNAVIK HO
+1578 ; [.2C03.0020.0002] # CANADIAN SYLLABICS NUNAVIK HOO
+1579 ; [.2C04.0020.0002] # CANADIAN SYLLABICS NUNAVIK HA
+157A ; [.2C05.0020.0002] # CANADIAN SYLLABICS NUNAVIK HAA
+157B ; [.2C06.0020.0002] # CANADIAN SYLLABICS NUNAVIK H
+157D ; [.2C07.0020.0002] # CANADIAN SYLLABICS HK
+166F ; [.2C08.0020.0002] # CANADIAN SYLLABICS QAI
+157E ; [.2C09.0020.0002] # CANADIAN SYLLABICS QAAI
+157F ; [.2C0A.0020.0002] # CANADIAN SYLLABICS QI
+1580 ; [.2C0B.0020.0002] # CANADIAN SYLLABICS QII
+1581 ; [.2C0C.0020.0002] # CANADIAN SYLLABICS QO
+1582 ; [.2C0D.0020.0002] # CANADIAN SYLLABICS QOO
+1583 ; [.2C0E.0020.0002] # CANADIAN SYLLABICS QA
+1584 ; [.2C0F.0020.0002] # CANADIAN SYLLABICS QAA
+1585 ; [.2C10.0020.0002] # CANADIAN SYLLABICS Q
+1586 ; [.2C11.0020.0002] # CANADIAN SYLLABICS TLHE
+1587 ; [.2C12.0020.0002] # CANADIAN SYLLABICS TLHI
+1588 ; [.2C13.0020.0002] # CANADIAN SYLLABICS TLHO
+1589 ; [.2C14.0020.0002] # CANADIAN SYLLABICS TLHA
+158A ; [.2C15.0020.0002] # CANADIAN SYLLABICS WEST-CREE RE
+158B ; [.2C16.0020.0002] # CANADIAN SYLLABICS WEST-CREE RI
+158C ; [.2C17.0020.0002] # CANADIAN SYLLABICS WEST-CREE RO
+158D ; [.2C18.0020.0002] # CANADIAN SYLLABICS WEST-CREE RA
+1670 ; [.2C19.0020.0002] # CANADIAN SYLLABICS NGAI
+158E ; [.2C1A.0020.0002] # CANADIAN SYLLABICS NGAAI
+158F ; [.2C1B.0020.0002] # CANADIAN SYLLABICS NGI
+1590 ; [.2C1C.0020.0002] # CANADIAN SYLLABICS NGII
+1591 ; [.2C1D.0020.0002] # CANADIAN SYLLABICS NGO
+1592 ; [.2C1E.0020.0002] # CANADIAN SYLLABICS NGOO
+1593 ; [.2C1F.0020.0002] # CANADIAN SYLLABICS NGA
+1594 ; [.2C20.0020.0002] # CANADIAN SYLLABICS NGAA
+1595 ; [.2C21.0020.0002] # CANADIAN SYLLABICS NG
+1671 ; [.2C22.0020.0002] # CANADIAN SYLLABICS NNGI
+1672 ; [.2C23.0020.0002] # CANADIAN SYLLABICS NNGII
+1673 ; [.2C24.0020.0002] # CANADIAN SYLLABICS NNGO
+1674 ; [.2C25.0020.0002] # CANADIAN SYLLABICS NNGOO
+1675 ; [.2C26.0020.0002] # CANADIAN SYLLABICS NNGA
+1676 ; [.2C27.0020.0002] # CANADIAN SYLLABICS NNGAA
+1596 ; [.2C28.0020.0002] # CANADIAN SYLLABICS NNG
+1597 ; [.2C29.0020.0002] # CANADIAN SYLLABICS SAYISI SHE
+1598 ; [.2C2A.0020.0002] # CANADIAN SYLLABICS SAYISI SHI
+1599 ; [.2C2B.0020.0002] # CANADIAN SYLLABICS SAYISI SHO
+159A ; [.2C2C.0020.0002] # CANADIAN SYLLABICS SAYISI SHA
+159B ; [.2C2D.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THE
+159C ; [.2C2E.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THI
+159D ; [.2C2F.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THO
+159E ; [.2C30.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THA
+159F ; [.2C31.0020.0002] # CANADIAN SYLLABICS WOODS-CREE TH
+15A0 ; [.2C32.0020.0002] # CANADIAN SYLLABICS LHI
+15A1 ; [.2C33.0020.0002] # CANADIAN SYLLABICS LHII
+15A2 ; [.2C34.0020.0002] # CANADIAN SYLLABICS LHO
+15A3 ; [.2C35.0020.0002] # CANADIAN SYLLABICS LHOO
+15A4 ; [.2C36.0020.0002] # CANADIAN SYLLABICS LHA
+15A5 ; [.2C37.0020.0002] # CANADIAN SYLLABICS LHAA
+15A6 ; [.2C38.0020.0002] # CANADIAN SYLLABICS LH
+157C ; [.2C39.0020.0002] # CANADIAN SYLLABICS NUNAVUT H
+15A7 ; [.2C3A.0020.0002] # CANADIAN SYLLABICS TH-CREE THE
+15A8 ; [.2C3B.0020.0002] # CANADIAN SYLLABICS TH-CREE THI
+15A9 ; [.2C3C.0020.0002] # CANADIAN SYLLABICS TH-CREE THII
+15AA ; [.2C3D.0020.0002] # CANADIAN SYLLABICS TH-CREE THO
+15AB ; [.2C3E.0020.0002] # CANADIAN SYLLABICS TH-CREE THOO
+15AC ; [.2C3F.0020.0002] # CANADIAN SYLLABICS TH-CREE THA
+15AD ; [.2C40.0020.0002] # CANADIAN SYLLABICS TH-CREE THAA
+15AE ; [.2C41.0020.0002] # CANADIAN SYLLABICS TH-CREE TH
+15AF ; [.2C42.0020.0002] # CANADIAN SYLLABICS AIVILIK B
+15B0 ; [.2C43.0020.0002] # CANADIAN SYLLABICS BLACKFOOT E
+15B1 ; [.2C44.0020.0002] # CANADIAN SYLLABICS BLACKFOOT I
+15B2 ; [.2C45.0020.0002] # CANADIAN SYLLABICS BLACKFOOT O
+15B3 ; [.2C46.0020.0002] # CANADIAN SYLLABICS BLACKFOOT A
+15B4 ; [.2C47.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WE
+15B5 ; [.2C48.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WI
+15B6 ; [.2C49.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WO
+15B7 ; [.2C4A.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WA
+15B8 ; [.2C4B.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NE
+15B9 ; [.2C4C.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NI
+15BA ; [.2C4D.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NO
+15BB ; [.2C4E.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NA
+15BC ; [.2C4F.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KE
+15BD ; [.2C50.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KI
+15BE ; [.2C51.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KO
+15BF ; [.2C52.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KA
+15C0 ; [.2C53.0020.0002] # CANADIAN SYLLABICS SAYISI HE
+15C1 ; [.2C54.0020.0002] # CANADIAN SYLLABICS SAYISI HI
+15C2 ; [.2C55.0020.0002] # CANADIAN SYLLABICS SAYISI HO
+15C3 ; [.2C56.0020.0002] # CANADIAN SYLLABICS SAYISI HA
+15C4 ; [.2C57.0020.0002] # CANADIAN SYLLABICS CARRIER GHU
+15C5 ; [.2C58.0020.0002] # CANADIAN SYLLABICS CARRIER GHO
+15C6 ; [.2C59.0020.0002] # CANADIAN SYLLABICS CARRIER GHE
+15C7 ; [.2C5A.0020.0002] # CANADIAN SYLLABICS CARRIER GHEE
+15C8 ; [.2C5B.0020.0002] # CANADIAN SYLLABICS CARRIER GHI
+15C9 ; [.2C5C.0020.0002] # CANADIAN SYLLABICS CARRIER GHA
+15CA ; [.2C5D.0020.0002] # CANADIAN SYLLABICS CARRIER RU
+15CB ; [.2C5E.0020.0002] # CANADIAN SYLLABICS CARRIER RO
+15CC ; [.2C5F.0020.0002] # CANADIAN SYLLABICS CARRIER RE
+15CD ; [.2C60.0020.0002] # CANADIAN SYLLABICS CARRIER REE
+15CE ; [.2C61.0020.0002] # CANADIAN SYLLABICS CARRIER RI
+15CF ; [.2C62.0020.0002] # CANADIAN SYLLABICS CARRIER RA
+15D0 ; [.2C63.0020.0002] # CANADIAN SYLLABICS CARRIER WU
+15D1 ; [.2C64.0020.0002] # CANADIAN SYLLABICS CARRIER WO
+15D2 ; [.2C65.0020.0002] # CANADIAN SYLLABICS CARRIER WE
+15D3 ; [.2C66.0020.0002] # CANADIAN SYLLABICS CARRIER WEE
+15D4 ; [.2C67.0020.0002] # CANADIAN SYLLABICS CARRIER WI
+15D5 ; [.2C68.0020.0002] # CANADIAN SYLLABICS CARRIER WA
+15D6 ; [.2C69.0020.0002] # CANADIAN SYLLABICS CARRIER HWU
+15D7 ; [.2C6A.0020.0002] # CANADIAN SYLLABICS CARRIER HWO
+15D8 ; [.2C6B.0020.0002] # CANADIAN SYLLABICS CARRIER HWE
+15D9 ; [.2C6C.0020.0002] # CANADIAN SYLLABICS CARRIER HWEE
+15DA ; [.2C6D.0020.0002] # CANADIAN SYLLABICS CARRIER HWI
+15DB ; [.2C6E.0020.0002] # CANADIAN SYLLABICS CARRIER HWA
+15DC ; [.2C6F.0020.0002] # CANADIAN SYLLABICS CARRIER THU
+15DD ; [.2C70.0020.0002] # CANADIAN SYLLABICS CARRIER THO
+15DE ; [.2C71.0020.0002] # CANADIAN SYLLABICS CARRIER THE
+15DF ; [.2C72.0020.0002] # CANADIAN SYLLABICS CARRIER THEE
+15E0 ; [.2C73.0020.0002] # CANADIAN SYLLABICS CARRIER THI
+15E1 ; [.2C74.0020.0002] # CANADIAN SYLLABICS CARRIER THA
+15E2 ; [.2C75.0020.0002] # CANADIAN SYLLABICS CARRIER TTU
+15E3 ; [.2C76.0020.0002] # CANADIAN SYLLABICS CARRIER TTO
+15E4 ; [.2C77.0020.0002] # CANADIAN SYLLABICS CARRIER TTE
+15E5 ; [.2C78.0020.0002] # CANADIAN SYLLABICS CARRIER TTEE
+15E6 ; [.2C79.0020.0002] # CANADIAN SYLLABICS CARRIER TTI
+15E7 ; [.2C7A.0020.0002] # CANADIAN SYLLABICS CARRIER TTA
+15E8 ; [.2C7B.0020.0002] # CANADIAN SYLLABICS CARRIER PU
+15E9 ; [.2C7C.0020.0002] # CANADIAN SYLLABICS CARRIER PO
+15EA ; [.2C7D.0020.0002] # CANADIAN SYLLABICS CARRIER PE
+15EB ; [.2C7E.0020.0002] # CANADIAN SYLLABICS CARRIER PEE
+15EC ; [.2C7F.0020.0002] # CANADIAN SYLLABICS CARRIER PI
+15ED ; [.2C80.0020.0002] # CANADIAN SYLLABICS CARRIER PA
+15EE ; [.2C81.0020.0002] # CANADIAN SYLLABICS CARRIER P
+15EF ; [.2C82.0020.0002] # CANADIAN SYLLABICS CARRIER GU
+15F0 ; [.2C83.0020.0002] # CANADIAN SYLLABICS CARRIER GO
+15F1 ; [.2C84.0020.0002] # CANADIAN SYLLABICS CARRIER GE
+15F2 ; [.2C85.0020.0002] # CANADIAN SYLLABICS CARRIER GEE
+15F3 ; [.2C86.0020.0002] # CANADIAN SYLLABICS CARRIER GI
+15F4 ; [.2C87.0020.0002] # CANADIAN SYLLABICS CARRIER GA
+15F5 ; [.2C88.0020.0002] # CANADIAN SYLLABICS CARRIER KHU
+15F6 ; [.2C89.0020.0002] # CANADIAN SYLLABICS CARRIER KHO
+15F7 ; [.2C8A.0020.0002] # CANADIAN SYLLABICS CARRIER KHE
+15F8 ; [.2C8B.0020.0002] # CANADIAN SYLLABICS CARRIER KHEE
+15F9 ; [.2C8C.0020.0002] # CANADIAN SYLLABICS CARRIER KHI
+15FA ; [.2C8D.0020.0002] # CANADIAN SYLLABICS CARRIER KHA
+15FB ; [.2C8E.0020.0002] # CANADIAN SYLLABICS CARRIER KKU
+15FC ; [.2C8F.0020.0002] # CANADIAN SYLLABICS CARRIER KKO
+15FD ; [.2C90.0020.0002] # CANADIAN SYLLABICS CARRIER KKE
+15FE ; [.2C91.0020.0002] # CANADIAN SYLLABICS CARRIER KKEE
+15FF ; [.2C92.0020.0002] # CANADIAN SYLLABICS CARRIER KKI
+1600 ; [.2C93.0020.0002] # CANADIAN SYLLABICS CARRIER KKA
+1601 ; [.2C94.0020.0002] # CANADIAN SYLLABICS CARRIER KK
+1602 ; [.2C95.0020.0002] # CANADIAN SYLLABICS CARRIER NU
+1603 ; [.2C96.0020.0002] # CANADIAN SYLLABICS CARRIER NO
+1604 ; [.2C97.0020.0002] # CANADIAN SYLLABICS CARRIER NE
+1605 ; [.2C98.0020.0002] # CANADIAN SYLLABICS CARRIER NEE
+1606 ; [.2C99.0020.0002] # CANADIAN SYLLABICS CARRIER NI
+1607 ; [.2C9A.0020.0002] # CANADIAN SYLLABICS CARRIER NA
+1608 ; [.2C9B.0020.0002] # CANADIAN SYLLABICS CARRIER MU
+1609 ; [.2C9C.0020.0002] # CANADIAN SYLLABICS CARRIER MO
+160A ; [.2C9D.0020.0002] # CANADIAN SYLLABICS CARRIER ME
+160B ; [.2C9E.0020.0002] # CANADIAN SYLLABICS CARRIER MEE
+160C ; [.2C9F.0020.0002] # CANADIAN SYLLABICS CARRIER MI
+160D ; [.2CA0.0020.0002] # CANADIAN SYLLABICS CARRIER MA
+160E ; [.2CA1.0020.0002] # CANADIAN SYLLABICS CARRIER YU
+160F ; [.2CA2.0020.0002] # CANADIAN SYLLABICS CARRIER YO
+1610 ; [.2CA3.0020.0002] # CANADIAN SYLLABICS CARRIER YE
+1611 ; [.2CA4.0020.0002] # CANADIAN SYLLABICS CARRIER YEE
+1612 ; [.2CA5.0020.0002] # CANADIAN SYLLABICS CARRIER YI
+1613 ; [.2CA6.0020.0002] # CANADIAN SYLLABICS CARRIER YA
+1614 ; [.2CA7.0020.0002] # CANADIAN SYLLABICS CARRIER JU
+1615 ; [.2CA8.0020.0002] # CANADIAN SYLLABICS SAYISI JU
+1616 ; [.2CA9.0020.0002] # CANADIAN SYLLABICS CARRIER JO
+1617 ; [.2CAA.0020.0002] # CANADIAN SYLLABICS CARRIER JE
+1618 ; [.2CAB.0020.0002] # CANADIAN SYLLABICS CARRIER JEE
+1619 ; [.2CAC.0020.0002] # CANADIAN SYLLABICS CARRIER JI
+161A ; [.2CAD.0020.0002] # CANADIAN SYLLABICS SAYISI JI
+161B ; [.2CAE.0020.0002] # CANADIAN SYLLABICS CARRIER JA
+161C ; [.2CAF.0020.0002] # CANADIAN SYLLABICS CARRIER JJU
+161D ; [.2CB0.0020.0002] # CANADIAN SYLLABICS CARRIER JJO
+161E ; [.2CB1.0020.0002] # CANADIAN SYLLABICS CARRIER JJE
+161F ; [.2CB2.0020.0002] # CANADIAN SYLLABICS CARRIER JJEE
+1620 ; [.2CB3.0020.0002] # CANADIAN SYLLABICS CARRIER JJI
+1621 ; [.2CB4.0020.0002] # CANADIAN SYLLABICS CARRIER JJA
+1622 ; [.2CB5.0020.0002] # CANADIAN SYLLABICS CARRIER LU
+1623 ; [.2CB6.0020.0002] # CANADIAN SYLLABICS CARRIER LO
+1624 ; [.2CB7.0020.0002] # CANADIAN SYLLABICS CARRIER LE
+1625 ; [.2CB8.0020.0002] # CANADIAN SYLLABICS CARRIER LEE
+1626 ; [.2CB9.0020.0002] # CANADIAN SYLLABICS CARRIER LI
+1627 ; [.2CBA.0020.0002] # CANADIAN SYLLABICS CARRIER LA
+1628 ; [.2CBB.0020.0002] # CANADIAN SYLLABICS CARRIER DLU
+1629 ; [.2CBC.0020.0002] # CANADIAN SYLLABICS CARRIER DLO
+162A ; [.2CBD.0020.0002] # CANADIAN SYLLABICS CARRIER DLE
+162B ; [.2CBE.0020.0002] # CANADIAN SYLLABICS CARRIER DLEE
+162C ; [.2CBF.0020.0002] # CANADIAN SYLLABICS CARRIER DLI
+162D ; [.2CC0.0020.0002] # CANADIAN SYLLABICS CARRIER DLA
+162E ; [.2CC1.0020.0002] # CANADIAN SYLLABICS CARRIER LHU
+162F ; [.2CC2.0020.0002] # CANADIAN SYLLABICS CARRIER LHO
+1630 ; [.2CC3.0020.0002] # CANADIAN SYLLABICS CARRIER LHE
+1631 ; [.2CC4.0020.0002] # CANADIAN SYLLABICS CARRIER LHEE
+1632 ; [.2CC5.0020.0002] # CANADIAN SYLLABICS CARRIER LHI
+1633 ; [.2CC6.0020.0002] # CANADIAN SYLLABICS CARRIER LHA
+1634 ; [.2CC7.0020.0002] # CANADIAN SYLLABICS CARRIER TLHU
+1635 ; [.2CC8.0020.0002] # CANADIAN SYLLABICS CARRIER TLHO
+1636 ; [.2CC9.0020.0002] # CANADIAN SYLLABICS CARRIER TLHE
+1637 ; [.2CCA.0020.0002] # CANADIAN SYLLABICS CARRIER TLHEE
+1638 ; [.2CCB.0020.0002] # CANADIAN SYLLABICS CARRIER TLHI
+1639 ; [.2CCC.0020.0002] # CANADIAN SYLLABICS CARRIER TLHA
+163A ; [.2CCD.0020.0002] # CANADIAN SYLLABICS CARRIER TLU
+163B ; [.2CCE.0020.0002] # CANADIAN SYLLABICS CARRIER TLO
+163C ; [.2CCF.0020.0002] # CANADIAN SYLLABICS CARRIER TLE
+163D ; [.2CD0.0020.0002] # CANADIAN SYLLABICS CARRIER TLEE
+163E ; [.2CD1.0020.0002] # CANADIAN SYLLABICS CARRIER TLI
+163F ; [.2CD2.0020.0002] # CANADIAN SYLLABICS CARRIER TLA
+1640 ; [.2CD3.0020.0002] # CANADIAN SYLLABICS CARRIER ZU
+1641 ; [.2CD4.0020.0002] # CANADIAN SYLLABICS CARRIER ZO
+1642 ; [.2CD5.0020.0002] # CANADIAN SYLLABICS CARRIER ZE
+1643 ; [.2CD6.0020.0002] # CANADIAN SYLLABICS CARRIER ZEE
+1644 ; [.2CD7.0020.0002] # CANADIAN SYLLABICS CARRIER ZI
+1645 ; [.2CD8.0020.0002] # CANADIAN SYLLABICS CARRIER ZA
+1646 ; [.2CD9.0020.0002] # CANADIAN SYLLABICS CARRIER Z
+1647 ; [.2CDA.0020.0002] # CANADIAN SYLLABICS CARRIER INITIAL Z
+1648 ; [.2CDB.0020.0002] # CANADIAN SYLLABICS CARRIER DZU
+1649 ; [.2CDC.0020.0002] # CANADIAN SYLLABICS CARRIER DZO
+164A ; [.2CDD.0020.0002] # CANADIAN SYLLABICS CARRIER DZE
+164B ; [.2CDE.0020.0002] # CANADIAN SYLLABICS CARRIER DZEE
+164C ; [.2CDF.0020.0002] # CANADIAN SYLLABICS CARRIER DZI
+164D ; [.2CE0.0020.0002] # CANADIAN SYLLABICS CARRIER DZA
+164E ; [.2CE1.0020.0002] # CANADIAN SYLLABICS CARRIER SU
+164F ; [.2CE2.0020.0002] # CANADIAN SYLLABICS CARRIER SO
+1650 ; [.2CE3.0020.0002] # CANADIAN SYLLABICS CARRIER SE
+1651 ; [.2CE4.0020.0002] # CANADIAN SYLLABICS CARRIER SEE
+1652 ; [.2CE5.0020.0002] # CANADIAN SYLLABICS CARRIER SI
+1653 ; [.2CE6.0020.0002] # CANADIAN SYLLABICS CARRIER SA
+1654 ; [.2CE7.0020.0002] # CANADIAN SYLLABICS CARRIER SHU
+1655 ; [.2CE8.0020.0002] # CANADIAN SYLLABICS CARRIER SHO
+1656 ; [.2CE9.0020.0002] # CANADIAN SYLLABICS CARRIER SHE
+1657 ; [.2CEA.0020.0002] # CANADIAN SYLLABICS CARRIER SHEE
+1658 ; [.2CEB.0020.0002] # CANADIAN SYLLABICS CARRIER SHI
+1659 ; [.2CEC.0020.0002] # CANADIAN SYLLABICS CARRIER SHA
+165A ; [.2CED.0020.0002] # CANADIAN SYLLABICS CARRIER SH
+165B ; [.2CEE.0020.0002] # CANADIAN SYLLABICS CARRIER TSU
+165C ; [.2CEF.0020.0002] # CANADIAN SYLLABICS CARRIER TSO
+165D ; [.2CF0.0020.0002] # CANADIAN SYLLABICS CARRIER TSE
+165E ; [.2CF1.0020.0002] # CANADIAN SYLLABICS CARRIER TSEE
+165F ; [.2CF2.0020.0002] # CANADIAN SYLLABICS CARRIER TSI
+1660 ; [.2CF3.0020.0002] # CANADIAN SYLLABICS CARRIER TSA
+1661 ; [.2CF4.0020.0002] # CANADIAN SYLLABICS CARRIER CHU
+1662 ; [.2CF5.0020.0002] # CANADIAN SYLLABICS CARRIER CHO
+1663 ; [.2CF6.0020.0002] # CANADIAN SYLLABICS CARRIER CHE
+1664 ; [.2CF7.0020.0002] # CANADIAN SYLLABICS CARRIER CHEE
+1665 ; [.2CF8.0020.0002] # CANADIAN SYLLABICS CARRIER CHI
+1666 ; [.2CF9.0020.0002] # CANADIAN SYLLABICS CARRIER CHA
+1667 ; [.2CFA.0020.0002] # CANADIAN SYLLABICS CARRIER TTSU
+1668 ; [.2CFB.0020.0002] # CANADIAN SYLLABICS CARRIER TTSO
+1669 ; [.2CFC.0020.0002] # CANADIAN SYLLABICS CARRIER TTSE
+166A ; [.2CFD.0020.0002] # CANADIAN SYLLABICS CARRIER TTSEE
+166B ; [.2CFE.0020.0002] # CANADIAN SYLLABICS CARRIER TTSI
+166C ; [.2CFF.0020.0002] # CANADIAN SYLLABICS CARRIER TTSA
+1677 ; [.2D00.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWEE
+1678 ; [.2D01.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWI
+1679 ; [.2D02.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWII
+167A ; [.2D03.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWO
+167B ; [.2D04.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWOO
+167C ; [.2D05.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWA
+167D ; [.2D06.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWAA
+167E ; [.2D07.0020.0002] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
+167F ; [.2D08.0020.0002] # CANADIAN SYLLABICS BLACKFOOT W
+18B0 ; [.2D09.0020.0002] # CANADIAN SYLLABICS OY
+18B1 ; [.2D0A.0020.0002] # CANADIAN SYLLABICS AY
+18B2 ; [.2D0B.0020.0002] # CANADIAN SYLLABICS AAY
+18B3 ; [.2D0C.0020.0002] # CANADIAN SYLLABICS WAY
+18B4 ; [.2D0D.0020.0002] # CANADIAN SYLLABICS POY
+18B5 ; [.2D0E.0020.0002] # CANADIAN SYLLABICS PAY
+18B6 ; [.2D0F.0020.0002] # CANADIAN SYLLABICS PWOY
+18B7 ; [.2D10.0020.0002] # CANADIAN SYLLABICS TAY
+18B8 ; [.2D11.0020.0002] # CANADIAN SYLLABICS KAY
+18B9 ; [.2D12.0020.0002] # CANADIAN SYLLABICS KWAY
+18BA ; [.2D13.0020.0002] # CANADIAN SYLLABICS MAY
+18BB ; [.2D14.0020.0002] # CANADIAN SYLLABICS NOY
+18BC ; [.2D15.0020.0002] # CANADIAN SYLLABICS NAY
+18BD ; [.2D16.0020.0002] # CANADIAN SYLLABICS LAY
+18BE ; [.2D17.0020.0002] # CANADIAN SYLLABICS SOY
+18BF ; [.2D18.0020.0002] # CANADIAN SYLLABICS SAY
+18C0 ; [.2D19.0020.0002] # CANADIAN SYLLABICS SHOY
+18C1 ; [.2D1A.0020.0002] # CANADIAN SYLLABICS SHAY
+18C2 ; [.2D1B.0020.0002] # CANADIAN SYLLABICS SHWOY
+18C3 ; [.2D1C.0020.0002] # CANADIAN SYLLABICS YOY
+18C4 ; [.2D1D.0020.0002] # CANADIAN SYLLABICS YAY
+18C5 ; [.2D1E.0020.0002] # CANADIAN SYLLABICS RAY
+18C6 ; [.2D1F.0020.0002] # CANADIAN SYLLABICS NWI
+18C7 ; [.2D20.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWI
+18C8 ; [.2D21.0020.0002] # CANADIAN SYLLABICS NWII
+18C9 ; [.2D22.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWII
+18CA ; [.2D23.0020.0002] # CANADIAN SYLLABICS NWO
+18CB ; [.2D24.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWO
+18CC ; [.2D25.0020.0002] # CANADIAN SYLLABICS NWOO
+18CD ; [.2D26.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWOO
+18CE ; [.2D27.0020.0002] # CANADIAN SYLLABICS RWEE
+18CF ; [.2D28.0020.0002] # CANADIAN SYLLABICS RWI
+18D0 ; [.2D29.0020.0002] # CANADIAN SYLLABICS RWII
+18D1 ; [.2D2A.0020.0002] # CANADIAN SYLLABICS RWO
+18D2 ; [.2D2B.0020.0002] # CANADIAN SYLLABICS RWOO
+18D3 ; [.2D2C.0020.0002] # CANADIAN SYLLABICS RWA
+18D4 ; [.2D2D.0020.0002] # CANADIAN SYLLABICS OJIBWAY P
+18D5 ; [.2D2E.0020.0002] # CANADIAN SYLLABICS OJIBWAY T
+18D6 ; [.2D2F.0020.0002] # CANADIAN SYLLABICS OJIBWAY K
+18D7 ; [.2D30.0020.0002] # CANADIAN SYLLABICS OJIBWAY C
+18D8 ; [.2D31.0020.0002] # CANADIAN SYLLABICS OJIBWAY M
+18D9 ; [.2D32.0020.0002] # CANADIAN SYLLABICS OJIBWAY N
+18DA ; [.2D33.0020.0002] # CANADIAN SYLLABICS OJIBWAY S
+18DB ; [.2D34.0020.0002] # CANADIAN SYLLABICS OJIBWAY SH
+18DC ; [.2D35.0020.0002] # CANADIAN SYLLABICS EASTERN W
+18DD ; [.2D36.0020.0002] # CANADIAN SYLLABICS WESTERN W
+18DE ; [.2D37.0020.0002] # CANADIAN SYLLABICS FINAL SMALL RING
+18DF ; [.2D38.0020.0002] # CANADIAN SYLLABICS FINAL RAISED DOT
+18E0 ; [.2D39.0020.0002] # CANADIAN SYLLABICS R-CREE RWE
+18E1 ; [.2D3A.0020.0002] # CANADIAN SYLLABICS WEST-CREE LOO
+18E2 ; [.2D3B.0020.0002] # CANADIAN SYLLABICS WEST-CREE LAA
+18E3 ; [.2D3C.0020.0002] # CANADIAN SYLLABICS THWE
+18E4 ; [.2D3D.0020.0002] # CANADIAN SYLLABICS THWA
+18E5 ; [.2D3E.0020.0002] # CANADIAN SYLLABICS TTHWE
+18E6 ; [.2D3F.0020.0002] # CANADIAN SYLLABICS TTHOO
+18E7 ; [.2D40.0020.0002] # CANADIAN SYLLABICS TTHAA
+18E8 ; [.2D41.0020.0002] # CANADIAN SYLLABICS TLHWE
+18E9 ; [.2D42.0020.0002] # CANADIAN SYLLABICS TLHOO
+18EA ; [.2D43.0020.0002] # CANADIAN SYLLABICS SAYISI SHWE
+18EB ; [.2D44.0020.0002] # CANADIAN SYLLABICS SAYISI SHOO
+18EC ; [.2D45.0020.0002] # CANADIAN SYLLABICS SAYISI HOO
+18ED ; [.2D46.0020.0002] # CANADIAN SYLLABICS CARRIER GWU
+18EE ; [.2D47.0020.0002] # CANADIAN SYLLABICS CARRIER DENE GEE
+18EF ; [.2D48.0020.0002] # CANADIAN SYLLABICS CARRIER GAA
+18F0 ; [.2D49.0020.0002] # CANADIAN SYLLABICS CARRIER GWA
+18F1 ; [.2D4A.0020.0002] # CANADIAN SYLLABICS SAYISI JUU
+18F2 ; [.2D4B.0020.0002] # CANADIAN SYLLABICS CARRIER JWA
+18F3 ; [.2D4C.0020.0002] # CANADIAN SYLLABICS BEAVER DENE L
+18F4 ; [.2D4D.0020.0002] # CANADIAN SYLLABICS BEAVER DENE R
+18F5 ; [.2D4E.0020.0002] # CANADIAN SYLLABICS CARRIER DENTAL S
+1681 ; [.2D4F.0020.0002] # OGHAM LETTER BEITH
+1682 ; [.2D50.0020.0002] # OGHAM LETTER LUIS
+1683 ; [.2D51.0020.0002] # OGHAM LETTER FEARN
+1684 ; [.2D52.0020.0002] # OGHAM LETTER SAIL
+1685 ; [.2D53.0020.0002] # OGHAM LETTER NION
+1686 ; [.2D54.0020.0002] # OGHAM LETTER UATH
+1687 ; [.2D55.0020.0002] # OGHAM LETTER DAIR
+1688 ; [.2D56.0020.0002] # OGHAM LETTER TINNE
+1689 ; [.2D57.0020.0002] # OGHAM LETTER COLL
+168A ; [.2D58.0020.0002] # OGHAM LETTER CEIRT
+168B ; [.2D59.0020.0002] # OGHAM LETTER MUIN
+168C ; [.2D5A.0020.0002] # OGHAM LETTER GORT
+168D ; [.2D5B.0020.0002] # OGHAM LETTER NGEADAL
+168E ; [.2D5C.0020.0002] # OGHAM LETTER STRAIF
+168F ; [.2D5D.0020.0002] # OGHAM LETTER RUIS
+1690 ; [.2D5E.0020.0002] # OGHAM LETTER AILM
+1691 ; [.2D5F.0020.0002] # OGHAM LETTER ONN
+1692 ; [.2D60.0020.0002] # OGHAM LETTER UR
+1693 ; [.2D61.0020.0002] # OGHAM LETTER EADHADH
+1694 ; [.2D62.0020.0002] # OGHAM LETTER IODHADH
+1695 ; [.2D63.0020.0002] # OGHAM LETTER EABHADH
+1696 ; [.2D64.0020.0002] # OGHAM LETTER OR
+1697 ; [.2D65.0020.0002] # OGHAM LETTER UILLEANN
+1698 ; [.2D66.0020.0002] # OGHAM LETTER IFIN
+1699 ; [.2D67.0020.0002] # OGHAM LETTER EAMHANCHOLL
+169A ; [.2D68.0020.0002] # OGHAM LETTER PEITH
+16A0 ; [.2D69.0020.0002] # RUNIC LETTER FEHU FEOH FE F
+16A1 ; [.2D69.0020.0004][.0000.00FC.0004] # RUNIC LETTER V
+16A2 ; [.2D6A.0020.0002] # RUNIC LETTER URUZ UR U
+16A4 ; [.2D6A.0020.0004][.0000.00FC.0004] # RUNIC LETTER Y
+16A5 ; [.2D6A.0020.0004][.0000.00FD.0004] # RUNIC LETTER W
+16A6 ; [.2D6B.0020.0002] # RUNIC LETTER THURISAZ THURS THORN
+16A7 ; [.2D6B.0020.0004][.0000.00FC.0004] # RUNIC LETTER ETH
+16F0 ; [.2D6B.0020.0004][.2D6B.0020.0004] # RUNIC BELGTHOR SYMBOL
+16A8 ; [.2D6C.0020.0002] # RUNIC LETTER ANSUZ A
+16A9 ; [.2D6C.0020.0004][.0000.00FC.0004] # RUNIC LETTER OS O
+16AC ; [.2D6C.0020.0004][.0000.00FD.0004] # RUNIC LETTER LONG-BRANCH-OSS O
+16AD ; [.2D6C.0020.0004][.0000.00FE.0004] # RUNIC LETTER SHORT-TWIG-OSS O
+16AE ; [.2D6C.0020.0004][.0000.00FF.0004] # RUNIC LETTER O
+16AF ; [.2D6D.0020.0002] # RUNIC LETTER OE
+16B0 ; [.2D6E.0020.0002] # RUNIC LETTER ON
+16B1 ; [.2D6F.0020.0002] # RUNIC LETTER RAIDO RAD REID R
+16B2 ; [.2D70.0020.0002] # RUNIC LETTER KAUNA
+16B3 ; [.2D70.0020.0004][.0000.00FC.0004] # RUNIC LETTER CEN
+16B4 ; [.2D70.0020.0004][.0000.00FD.0004] # RUNIC LETTER KAUN K
+16B5 ; [.2D70.0020.0004][.0000.00FE.0004] # RUNIC LETTER G
+16B6 ; [.2D70.0020.0004][.0000.00FF.0004] # RUNIC LETTER ENG
+16B7 ; [.2D71.0020.0002] # RUNIC LETTER GEBO GYFU G
+16B9 ; [.2D72.0020.0002] # RUNIC LETTER WUNJO WYNN W
+16E9 ; [.2D72.0020.0004][.0000.00FC.0004] # RUNIC LETTER Q
+16BA ; [.2D73.0020.0002] # RUNIC LETTER HAGLAZ H
+16BB ; [.2D73.0020.0004][.0000.00FC.0004] # RUNIC LETTER HAEGL H
+16BC ; [.2D73.0020.0004][.0000.00FD.0004] # RUNIC LETTER LONG-BRANCH-HAGALL H
+16BD ; [.2D73.0020.0004][.0000.00FE.0004] # RUNIC LETTER SHORT-TWIG-HAGALL H
+16BE ; [.2D74.0020.0002] # RUNIC LETTER NAUDIZ NYD NAUD N
+16BF ; [.2D74.0020.0004][.0000.00FC.0004] # RUNIC LETTER SHORT-TWIG-NAUD N
+16C0 ; [.2D74.0020.0004][.0000.00FD.0004] # RUNIC LETTER DOTTED-N
+16C1 ; [.2D75.0020.0002] # RUNIC LETTER ISAZ IS ISS I
+16C2 ; [.2D75.0020.0004][.0000.00FC.0004] # RUNIC LETTER E
+16C3 ; [.2D76.0020.0002] # RUNIC LETTER JERAN J
+16C4 ; [.2D76.0020.0004][.0000.00FC.0004] # RUNIC LETTER GER
+16C5 ; [.2D77.0020.0002] # RUNIC LETTER LONG-BRANCH-AR AE
+16C6 ; [.2D77.0020.0004][.0000.00FC.0004] # RUNIC LETTER SHORT-TWIG-AR A
+16EE ; [.2D77.0020.0004][.2D80.0020.0004] # RUNIC ARLAUG SYMBOL
+16C7 ; [.2D78.0020.0002] # RUNIC LETTER IWAZ EOH
+16C8 ; [.2D79.0020.0002] # RUNIC LETTER PERTHO PEORTH P
+16D5 ; [.2D79.0020.0004][.0000.00FC.0004] # RUNIC LETTER OPEN-P
+16C9 ; [.2D7A.0020.0002] # RUNIC LETTER ALGIZ EOLHX
+16CA ; [.2D7B.0020.0002] # RUNIC LETTER SOWILO S
+16CB ; [.2D7B.0020.0004][.0000.00FC.0004] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+16EA ; [.2D7B.0020.0004][.0000.00FD.0004] # RUNIC LETTER X
+16CC ; [.2D7B.0020.0004][.0000.00FE.0004] # RUNIC LETTER SHORT-TWIG-SOL S
+16CD ; [.2D7B.0020.0004][.0000.00FF.0004] # RUNIC LETTER C
+16CE ; [.2D7B.0020.0004][.0000.0100.0004] # RUNIC LETTER Z
+16CF ; [.2D7C.0020.0002] # RUNIC LETTER TIWAZ TIR TYR T
+16D0 ; [.2D7C.0020.0004][.0000.00FC.0004] # RUNIC LETTER SHORT-TWIG-TYR T
+16D1 ; [.2D7C.0020.0004][.0000.00FD.0004] # RUNIC LETTER D
+16D2 ; [.2D7D.0020.0002] # RUNIC LETTER BERKANAN BEORC BJARKAN B
+16D3 ; [.2D7D.0020.0004][.0000.00FC.0004] # RUNIC LETTER SHORT-TWIG-BJARKAN B
+16D4 ; [.2D7D.0020.0004][.0000.00FD.0004] # RUNIC LETTER DOTTED-P
+16D6 ; [.2D7E.0020.0002] # RUNIC LETTER EHWAZ EH E
+16D7 ; [.2D7F.0020.0002] # RUNIC LETTER MANNAZ MAN M
+16D8 ; [.2D7F.0020.0004][.0000.00FC.0004] # RUNIC LETTER LONG-BRANCH-MADR M
+16D9 ; [.2D7F.0020.0004][.0000.00FD.0004] # RUNIC LETTER SHORT-TWIG-MADR M
+16EF ; [.2D7F.0020.0004][.0000.00FC.0004][.2D7F.0020.0004][.0000.00FC.0004] # RUNIC TVIMADUR SYMBOL
+16DA ; [.2D80.0020.0002] # RUNIC LETTER LAUKAZ LAGU LOGR L
+16DB ; [.2D80.0020.0004][.0000.00FC.0004] # RUNIC LETTER DOTTED-L
+16DC ; [.2D81.0020.0002] # RUNIC LETTER INGWAZ
+16DD ; [.2D81.0020.0004][.0000.00FC.0004] # RUNIC LETTER ING
+16DE ; [.2D82.0020.0002] # RUNIC LETTER DAGAZ DAEG D
+16DF ; [.2D83.0020.0002] # RUNIC LETTER OTHALAN ETHEL O
+16AA ; [.2D84.0020.0002] # RUNIC LETTER AC A
+16AB ; [.2D85.0020.0002] # RUNIC LETTER AESC
+16A3 ; [.2D86.0020.0002] # RUNIC LETTER YR
+16E0 ; [.2D87.0020.0002] # RUNIC LETTER EAR
+16E3 ; [.2D88.0020.0002] # RUNIC LETTER CALC
+16B8 ; [.2D89.0020.0002] # RUNIC LETTER GAR
+16E4 ; [.2D8A.0020.0002] # RUNIC LETTER CEALC
+16E1 ; [.2D8B.0020.0002] # RUNIC LETTER IOR
+16E2 ; [.2D8C.0020.0002] # RUNIC LETTER CWEORTH
+16E5 ; [.2D8D.0020.0002] # RUNIC LETTER STAN
+16E6 ; [.2D8E.0020.0002] # RUNIC LETTER LONG-BRANCH-YR
+16E7 ; [.2D8E.0020.0004][.0000.00FC.0004] # RUNIC LETTER SHORT-TWIG-YR
+16E8 ; [.2D8E.0020.0004][.0000.00FD.0004] # RUNIC LETTER ICELANDIC-YR
+10C00 ; [.2D8F.0020.0002] # OLD TURKIC LETTER ORKHON A
+10C01 ; [.2D8F.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI A
+10C02 ; [.2D90.0020.0002] # OLD TURKIC LETTER YENISEI AE
+10C03 ; [.2D91.0020.0002] # OLD TURKIC LETTER ORKHON I
+10C04 ; [.2D91.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI I
+10C05 ; [.2D92.0020.0002] # OLD TURKIC LETTER YENISEI E
+10C06 ; [.2D93.0020.0002] # OLD TURKIC LETTER ORKHON O
+10C07 ; [.2D94.0020.0002] # OLD TURKIC LETTER ORKHON OE
+10C08 ; [.2D94.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI OE
+10C09 ; [.2D95.0020.0002] # OLD TURKIC LETTER ORKHON AB
+10C0A ; [.2D95.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AB
+10C0B ; [.2D96.0020.0002] # OLD TURKIC LETTER ORKHON AEB
+10C0C ; [.2D96.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AEB
+10C0D ; [.2D97.0020.0002] # OLD TURKIC LETTER ORKHON AG
+10C0E ; [.2D97.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AG
+10C0F ; [.2D98.0020.0002] # OLD TURKIC LETTER ORKHON AEG
+10C10 ; [.2D98.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AEG
+10C11 ; [.2D99.0020.0002] # OLD TURKIC LETTER ORKHON AD
+10C12 ; [.2D99.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AD
+10C13 ; [.2D9A.0020.0002] # OLD TURKIC LETTER ORKHON AED
+10C14 ; [.2D9B.0020.0002] # OLD TURKIC LETTER ORKHON EZ
+10C15 ; [.2D9B.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI EZ
+10C16 ; [.2D9C.0020.0002] # OLD TURKIC LETTER ORKHON AY
+10C17 ; [.2D9C.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AY
+10C18 ; [.2D9D.0020.0002] # OLD TURKIC LETTER ORKHON AEY
+10C19 ; [.2D9D.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AEY
+10C1A ; [.2D9E.0020.0002] # OLD TURKIC LETTER ORKHON AEK
+10C1B ; [.2D9E.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AEK
+10C1C ; [.2D9F.0020.0002] # OLD TURKIC LETTER ORKHON OEK
+10C1D ; [.2D9F.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI OEK
+10C1E ; [.2DA0.0020.0002] # OLD TURKIC LETTER ORKHON AL
+10C1F ; [.2DA0.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AL
+10C20 ; [.2DA1.0020.0002] # OLD TURKIC LETTER ORKHON AEL
+10C21 ; [.2DA2.0020.0002] # OLD TURKIC LETTER ORKHON ELT
+10C22 ; [.2DA3.0020.0002] # OLD TURKIC LETTER ORKHON EM
+10C23 ; [.2DA4.0020.0002] # OLD TURKIC LETTER ORKHON AN
+10C24 ; [.2DA5.0020.0002] # OLD TURKIC LETTER ORKHON AEN
+10C25 ; [.2DA5.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AEN
+10C26 ; [.2DA6.0020.0002] # OLD TURKIC LETTER ORKHON ENT
+10C27 ; [.2DA6.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI ENT
+10C28 ; [.2DA7.0020.0002] # OLD TURKIC LETTER ORKHON ENC
+10C29 ; [.2DA7.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI ENC
+10C2A ; [.2DA8.0020.0002] # OLD TURKIC LETTER ORKHON ENY
+10C2B ; [.2DA8.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI ENY
+10C2C ; [.2DA9.0020.0002] # OLD TURKIC LETTER YENISEI ANG
+10C2D ; [.2DAA.0020.0002] # OLD TURKIC LETTER ORKHON ENG
+10C2E ; [.2DAA.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AENG
+10C2F ; [.2DAB.0020.0002] # OLD TURKIC LETTER ORKHON EP
+10C30 ; [.2DAC.0020.0002] # OLD TURKIC LETTER ORKHON OP
+10C31 ; [.2DAD.0020.0002] # OLD TURKIC LETTER ORKHON IC
+10C32 ; [.2DAE.0020.0002] # OLD TURKIC LETTER ORKHON EC
+10C33 ; [.2DAE.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI EC
+10C34 ; [.2DAF.0020.0002] # OLD TURKIC LETTER ORKHON AQ
+10C35 ; [.2DAF.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AQ
+10C36 ; [.2DB0.0020.0002] # OLD TURKIC LETTER ORKHON IQ
+10C37 ; [.2DB0.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI IQ
+10C38 ; [.2DB1.0020.0002] # OLD TURKIC LETTER ORKHON OQ
+10C39 ; [.2DB1.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI OQ
+10C3A ; [.2DB2.0020.0002] # OLD TURKIC LETTER ORKHON AR
+10C3B ; [.2DB2.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AR
+10C3C ; [.2DB3.0020.0002] # OLD TURKIC LETTER ORKHON AER
+10C3D ; [.2DB4.0020.0002] # OLD TURKIC LETTER ORKHON AS
+10C3E ; [.2DB5.0020.0002] # OLD TURKIC LETTER ORKHON AES
+10C3F ; [.2DB6.0020.0002] # OLD TURKIC LETTER ORKHON ASH
+10C40 ; [.2DB6.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI ASH
+10C41 ; [.2DB7.0020.0002] # OLD TURKIC LETTER ORKHON ESH
+10C42 ; [.2DB7.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI ESH
+10C43 ; [.2DB8.0020.0002] # OLD TURKIC LETTER ORKHON AT
+10C44 ; [.2DB8.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AT
+10C45 ; [.2DB9.0020.0002] # OLD TURKIC LETTER ORKHON AET
+10C46 ; [.2DB9.0020.0004][.0000.00FC.0004] # OLD TURKIC LETTER YENISEI AET
+10C47 ; [.2DBA.0020.0002] # OLD TURKIC LETTER ORKHON OT
+10C48 ; [.2DBB.0020.0002] # OLD TURKIC LETTER ORKHON BASH
+A500 ; [.2DBC.0020.0002] # VAI SYLLABLE EE
+A501 ; [.2DBD.0020.0002] # VAI SYLLABLE EEN
+A502 ; [.2DBE.0020.0002] # VAI SYLLABLE HEE
+A503 ; [.2DBF.0020.0002] # VAI SYLLABLE WEE
+A504 ; [.2DC0.0020.0002] # VAI SYLLABLE WEEN
+A505 ; [.2DC1.0020.0002] # VAI SYLLABLE PEE
+A506 ; [.2DC2.0020.0002] # VAI SYLLABLE BHEE
+A507 ; [.2DC3.0020.0002] # VAI SYLLABLE BEE
+A508 ; [.2DC4.0020.0002] # VAI SYLLABLE MBEE
+A509 ; [.2DC5.0020.0002] # VAI SYLLABLE KPEE
+A50A ; [.2DC6.0020.0002] # VAI SYLLABLE MGBEE
+A50B ; [.2DC7.0020.0002] # VAI SYLLABLE GBEE
+A50C ; [.2DC8.0020.0002] # VAI SYLLABLE FEE
+A613 ; [.2DC8.0020.0004][.2EC7.0020.0004] # VAI SYMBOL FEENG
+A50D ; [.2DC9.0020.0002] # VAI SYLLABLE VEE
+A50E ; [.2DCA.0020.0002] # VAI SYLLABLE TEE
+A50F ; [.2DCB.0020.0002] # VAI SYLLABLE THEE
+A510 ; [.2DCC.0020.0002] # VAI SYLLABLE DHEE
+A511 ; [.2DCD.0020.0002] # VAI SYLLABLE DHHEE
+A512 ; [.2DCE.0020.0002] # VAI SYLLABLE LEE
+A513 ; [.2DCF.0020.0002] # VAI SYLLABLE REE
+A514 ; [.2DD0.0020.0002] # VAI SYLLABLE DEE
+A515 ; [.2DD1.0020.0002] # VAI SYLLABLE NDEE
+A516 ; [.2DD2.0020.0002] # VAI SYLLABLE SEE
+A517 ; [.2DD3.0020.0002] # VAI SYLLABLE SHEE
+A518 ; [.2DD4.0020.0002] # VAI SYLLABLE ZEE
+A519 ; [.2DD5.0020.0002] # VAI SYLLABLE ZHEE
+A51A ; [.2DD6.0020.0002] # VAI SYLLABLE CEE
+A51B ; [.2DD7.0020.0002] # VAI SYLLABLE JEE
+A51C ; [.2DD8.0020.0002] # VAI SYLLABLE NJEE
+A51D ; [.2DD9.0020.0002] # VAI SYLLABLE YEE
+A51E ; [.2DDA.0020.0002] # VAI SYLLABLE KEE
+A614 ; [.2DDA.0020.0004][.2EC7.0020.0004] # VAI SYMBOL KEENG
+A51F ; [.2DDB.0020.0002] # VAI SYLLABLE NGGEE
+A520 ; [.2DDC.0020.0002] # VAI SYLLABLE GEE
+A521 ; [.2DDD.0020.0002] # VAI SYLLABLE MEE
+A522 ; [.2DDE.0020.0002] # VAI SYLLABLE NEE
+A523 ; [.2DDF.0020.0002] # VAI SYLLABLE NYEE
+A524 ; [.2DE0.0020.0002] # VAI SYLLABLE I
+A525 ; [.2DE1.0020.0002] # VAI SYLLABLE IN
+A526 ; [.2DE2.0020.0002] # VAI SYLLABLE HI
+A527 ; [.2DE3.0020.0002] # VAI SYLLABLE HIN
+A528 ; [.2DE4.0020.0002] # VAI SYLLABLE WI
+A529 ; [.2DE5.0020.0002] # VAI SYLLABLE WIN
+A52A ; [.2DE6.0020.0002] # VAI SYLLABLE PI
+A52B ; [.2DE7.0020.0002] # VAI SYLLABLE BHI
+A52C ; [.2DE8.0020.0002] # VAI SYLLABLE BI
+A52D ; [.2DE9.0020.0002] # VAI SYLLABLE MBI
+A52E ; [.2DEA.0020.0002] # VAI SYLLABLE KPI
+A52F ; [.2DEB.0020.0002] # VAI SYLLABLE MGBI
+A530 ; [.2DEC.0020.0002] # VAI SYLLABLE GBI
+A531 ; [.2DED.0020.0002] # VAI SYLLABLE FI
+A532 ; [.2DEE.0020.0002] # VAI SYLLABLE VI
+A533 ; [.2DEF.0020.0002] # VAI SYLLABLE TI
+A615 ; [.2DEF.0020.0004][.2EC7.0020.0004] # VAI SYMBOL TING
+A534 ; [.2DF0.0020.0002] # VAI SYLLABLE THI
+A535 ; [.2DF1.0020.0002] # VAI SYLLABLE DHI
+A536 ; [.2DF2.0020.0002] # VAI SYLLABLE DHHI
+A537 ; [.2DF3.0020.0002] # VAI SYLLABLE LI
+A538 ; [.2DF4.0020.0002] # VAI SYLLABLE RI
+A539 ; [.2DF5.0020.0002] # VAI SYLLABLE DI
+A53A ; [.2DF6.0020.0002] # VAI SYLLABLE NDI
+A53B ; [.2DF7.0020.0002] # VAI SYLLABLE SI
+A53C ; [.2DF8.0020.0002] # VAI SYLLABLE SHI
+A53D ; [.2DF9.0020.0002] # VAI SYLLABLE ZI
+A53E ; [.2DFA.0020.0002] # VAI SYLLABLE ZHI
+A53F ; [.2DFB.0020.0002] # VAI SYLLABLE CI
+A540 ; [.2DFC.0020.0002] # VAI SYLLABLE JI
+A541 ; [.2DFD.0020.0002] # VAI SYLLABLE NJI
+A542 ; [.2DFE.0020.0002] # VAI SYLLABLE YI
+A543 ; [.2DFF.0020.0002] # VAI SYLLABLE KI
+A544 ; [.2E00.0020.0002] # VAI SYLLABLE NGGI
+A545 ; [.2E01.0020.0002] # VAI SYLLABLE GI
+A546 ; [.2E02.0020.0002] # VAI SYLLABLE MI
+A547 ; [.2E03.0020.0002] # VAI SYLLABLE NI
+A616 ; [.2E03.0020.0004][.2EC8.0020.0004] # VAI SYMBOL NII
+A548 ; [.2E04.0020.0002] # VAI SYLLABLE NYI
+A549 ; [.2E05.0020.0002] # VAI SYLLABLE A
+A54A ; [.2E06.0020.0002] # VAI SYLLABLE AN
+A54B ; [.2E07.0020.0002] # VAI SYLLABLE NGAN
+A54C ; [.2E08.0020.0002] # VAI SYLLABLE HA
+A54D ; [.2E09.0020.0002] # VAI SYLLABLE HAN
+A54E ; [.2E0A.0020.0002] # VAI SYLLABLE WA
+A54F ; [.2E0B.0020.0002] # VAI SYLLABLE WAN
+A550 ; [.2E0C.0020.0002] # VAI SYLLABLE PA
+A551 ; [.2E0D.0020.0002] # VAI SYLLABLE BHA
+A552 ; [.2E0E.0020.0002] # VAI SYLLABLE BA
+A617 ; [.2E0E.0020.0004][.2EC7.0020.0004] # VAI SYMBOL BANG
+A553 ; [.2E0F.0020.0002] # VAI SYLLABLE MBA
+A554 ; [.2E10.0020.0002] # VAI SYLLABLE KPA
+A555 ; [.2E11.0020.0002] # VAI SYLLABLE KPAN
+A556 ; [.2E12.0020.0002] # VAI SYLLABLE MGBA
+A557 ; [.2E13.0020.0002] # VAI SYLLABLE GBA
+A558 ; [.2E14.0020.0002] # VAI SYLLABLE FA
+A610 ; [.2E14.0020.0004] # VAI SYLLABLE NDOLE FA
+A618 ; [.2E14.0020.0004][.2EC8.0020.0004] # VAI SYMBOL FAA
+A559 ; [.2E15.0020.0002] # VAI SYLLABLE VA
+A55A ; [.2E16.0020.0002] # VAI SYLLABLE TA
+A619 ; [.2E16.0020.0004][.2EC8.0020.0004] # VAI SYMBOL TAA
+A55B ; [.2E17.0020.0002] # VAI SYLLABLE THA
+A55C ; [.2E18.0020.0002] # VAI SYLLABLE DHA
+A55D ; [.2E19.0020.0002] # VAI SYLLABLE DHHA
+A55E ; [.2E1A.0020.0002] # VAI SYLLABLE LA
+A55F ; [.2E1B.0020.0002] # VAI SYLLABLE RA
+A560 ; [.2E1C.0020.0002] # VAI SYLLABLE DA
+A61A ; [.2E1C.0020.0004][.2EC7.0020.0004] # VAI SYMBOL DANG
+A561 ; [.2E1D.0020.0002] # VAI SYLLABLE NDA
+A562 ; [.2E1E.0020.0002] # VAI SYLLABLE SA
+A563 ; [.2E1F.0020.0002] # VAI SYLLABLE SHA
+A564 ; [.2E20.0020.0002] # VAI SYLLABLE ZA
+A565 ; [.2E21.0020.0002] # VAI SYLLABLE ZHA
+A566 ; [.2E22.0020.0002] # VAI SYLLABLE CA
+A567 ; [.2E23.0020.0002] # VAI SYLLABLE JA
+A568 ; [.2E24.0020.0002] # VAI SYLLABLE NJA
+A569 ; [.2E25.0020.0002] # VAI SYLLABLE YA
+A56A ; [.2E26.0020.0002] # VAI SYLLABLE KA
+A611 ; [.2E26.0020.0004] # VAI SYLLABLE NDOLE KA
+A56B ; [.2E27.0020.0002] # VAI SYLLABLE KAN
+A56C ; [.2E28.0020.0002] # VAI SYLLABLE NGGA
+A56D ; [.2E29.0020.0002] # VAI SYLLABLE GA
+A56E ; [.2E2A.0020.0002] # VAI SYLLABLE MA
+A62A ; [.2E2A.0020.0004] # VAI SYLLABLE NDOLE MA
+A56F ; [.2E2B.0020.0002] # VAI SYLLABLE NA
+A570 ; [.2E2C.0020.0002] # VAI SYLLABLE NYA
+A571 ; [.2E2D.0020.0002] # VAI SYLLABLE OO
+A572 ; [.2E2E.0020.0002] # VAI SYLLABLE OON
+A573 ; [.2E2F.0020.0002] # VAI SYLLABLE HOO
+A574 ; [.2E30.0020.0002] # VAI SYLLABLE WOO
+A575 ; [.2E31.0020.0002] # VAI SYLLABLE WOON
+A576 ; [.2E32.0020.0002] # VAI SYLLABLE POO
+A577 ; [.2E33.0020.0002] # VAI SYLLABLE BHOO
+A578 ; [.2E34.0020.0002] # VAI SYLLABLE BOO
+A579 ; [.2E35.0020.0002] # VAI SYLLABLE MBOO
+A57A ; [.2E36.0020.0002] # VAI SYLLABLE KPOO
+A57B ; [.2E37.0020.0002] # VAI SYLLABLE MGBOO
+A57C ; [.2E38.0020.0002] # VAI SYLLABLE GBOO
+A57D ; [.2E39.0020.0002] # VAI SYLLABLE FOO
+A57E ; [.2E3A.0020.0002] # VAI SYLLABLE VOO
+A57F ; [.2E3B.0020.0002] # VAI SYLLABLE TOO
+A580 ; [.2E3C.0020.0002] # VAI SYLLABLE THOO
+A581 ; [.2E3D.0020.0002] # VAI SYLLABLE DHOO
+A582 ; [.2E3E.0020.0002] # VAI SYLLABLE DHHOO
+A583 ; [.2E3F.0020.0002] # VAI SYLLABLE LOO
+A584 ; [.2E40.0020.0002] # VAI SYLLABLE ROO
+A585 ; [.2E41.0020.0002] # VAI SYLLABLE DOO
+A61B ; [.2E41.0020.0004][.2EC7.0020.0004] # VAI SYMBOL DOONG
+A586 ; [.2E42.0020.0002] # VAI SYLLABLE NDOO
+A587 ; [.2E43.0020.0002] # VAI SYLLABLE SOO
+A612 ; [.2E43.0020.0004] # VAI SYLLABLE NDOLE SOO
+A588 ; [.2E44.0020.0002] # VAI SYLLABLE SHOO
+A589 ; [.2E45.0020.0002] # VAI SYLLABLE ZOO
+A58A ; [.2E46.0020.0002] # VAI SYLLABLE ZHOO
+A58B ; [.2E47.0020.0002] # VAI SYLLABLE COO
+A58C ; [.2E48.0020.0002] # VAI SYLLABLE JOO
+A58D ; [.2E49.0020.0002] # VAI SYLLABLE NJOO
+A58E ; [.2E4A.0020.0002] # VAI SYLLABLE YOO
+A58F ; [.2E4B.0020.0002] # VAI SYLLABLE KOO
+A590 ; [.2E4C.0020.0002] # VAI SYLLABLE NGGOO
+A591 ; [.2E4D.0020.0002] # VAI SYLLABLE GOO
+A592 ; [.2E4E.0020.0002] # VAI SYLLABLE MOO
+A593 ; [.2E4F.0020.0002] # VAI SYLLABLE NOO
+A594 ; [.2E50.0020.0002] # VAI SYLLABLE NYOO
+A595 ; [.2E51.0020.0002] # VAI SYLLABLE U
+A596 ; [.2E52.0020.0002] # VAI SYLLABLE UN
+A597 ; [.2E53.0020.0002] # VAI SYLLABLE HU
+A598 ; [.2E54.0020.0002] # VAI SYLLABLE HUN
+A599 ; [.2E55.0020.0002] # VAI SYLLABLE WU
+A59A ; [.2E56.0020.0002] # VAI SYLLABLE WUN
+A59B ; [.2E57.0020.0002] # VAI SYLLABLE PU
+A59C ; [.2E58.0020.0002] # VAI SYLLABLE BHU
+A59D ; [.2E59.0020.0002] # VAI SYLLABLE BU
+A59E ; [.2E5A.0020.0002] # VAI SYLLABLE MBU
+A59F ; [.2E5B.0020.0002] # VAI SYLLABLE KPU
+A5A0 ; [.2E5C.0020.0002] # VAI SYLLABLE MGBU
+A5A1 ; [.2E5D.0020.0002] # VAI SYLLABLE GBU
+A5A2 ; [.2E5E.0020.0002] # VAI SYLLABLE FU
+A5A3 ; [.2E5F.0020.0002] # VAI SYLLABLE VU
+A5A4 ; [.2E60.0020.0002] # VAI SYLLABLE TU
+A5A5 ; [.2E61.0020.0002] # VAI SYLLABLE THU
+A5A6 ; [.2E62.0020.0002] # VAI SYLLABLE DHU
+A5A7 ; [.2E63.0020.0002] # VAI SYLLABLE DHHU
+A5A8 ; [.2E64.0020.0002] # VAI SYLLABLE LU
+A5A9 ; [.2E65.0020.0002] # VAI SYLLABLE RU
+A5AA ; [.2E66.0020.0002] # VAI SYLLABLE DU
+A5AB ; [.2E67.0020.0002] # VAI SYLLABLE NDU
+A5AC ; [.2E68.0020.0002] # VAI SYLLABLE SU
+A5AD ; [.2E69.0020.0002] # VAI SYLLABLE SHU
+A5AE ; [.2E6A.0020.0002] # VAI SYLLABLE ZU
+A5AF ; [.2E6B.0020.0002] # VAI SYLLABLE ZHU
+A5B0 ; [.2E6C.0020.0002] # VAI SYLLABLE CU
+A5B1 ; [.2E6D.0020.0002] # VAI SYLLABLE JU
+A5B2 ; [.2E6E.0020.0002] # VAI SYLLABLE NJU
+A5B3 ; [.2E6F.0020.0002] # VAI SYLLABLE YU
+A5B4 ; [.2E70.0020.0002] # VAI SYLLABLE KU
+A61C ; [.2E70.0020.0004][.2EC7.0020.0004] # VAI SYMBOL KUNG
+A5B5 ; [.2E71.0020.0002] # VAI SYLLABLE NGGU
+A5B6 ; [.2E72.0020.0002] # VAI SYLLABLE GU
+A5B7 ; [.2E73.0020.0002] # VAI SYLLABLE MU
+A5B8 ; [.2E74.0020.0002] # VAI SYLLABLE NU
+A5B9 ; [.2E75.0020.0002] # VAI SYLLABLE NYU
+A5BA ; [.2E76.0020.0002] # VAI SYLLABLE O
+A5BB ; [.2E77.0020.0002] # VAI SYLLABLE ON
+A5BC ; [.2E78.0020.0002] # VAI SYLLABLE NGON
+A5BD ; [.2E79.0020.0002] # VAI SYLLABLE HO
+A5BE ; [.2E7A.0020.0002] # VAI SYLLABLE HON
+A5BF ; [.2E7B.0020.0002] # VAI SYLLABLE WO
+A5C0 ; [.2E7C.0020.0002] # VAI SYLLABLE WON
+A5C1 ; [.2E7D.0020.0002] # VAI SYLLABLE PO
+A5C2 ; [.2E7E.0020.0002] # VAI SYLLABLE BHO
+A5C3 ; [.2E7F.0020.0002] # VAI SYLLABLE BO
+A5C4 ; [.2E80.0020.0002] # VAI SYLLABLE MBO
+A5C5 ; [.2E81.0020.0002] # VAI SYLLABLE KPO
+A5C6 ; [.2E82.0020.0002] # VAI SYLLABLE MGBO
+A5C7 ; [.2E83.0020.0002] # VAI SYLLABLE GBO
+A5C8 ; [.2E84.0020.0002] # VAI SYLLABLE GBON
+A5C9 ; [.2E85.0020.0002] # VAI SYLLABLE FO
+A5CA ; [.2E86.0020.0002] # VAI SYLLABLE VO
+A5CB ; [.2E87.0020.0002] # VAI SYLLABLE TO
+A61D ; [.2E87.0020.0004][.2EC7.0020.0004] # VAI SYMBOL TONG
+A5CC ; [.2E88.0020.0002] # VAI SYLLABLE THO
+A5CD ; [.2E89.0020.0002] # VAI SYLLABLE DHO
+A5CE ; [.2E8A.0020.0002] # VAI SYLLABLE DHHO
+A5CF ; [.2E8B.0020.0002] # VAI SYLLABLE LO
+A5D0 ; [.2E8C.0020.0002] # VAI SYLLABLE RO
+A5D1 ; [.2E8D.0020.0002] # VAI SYLLABLE DO
+A62B ; [.2E8D.0020.0004] # VAI SYLLABLE NDOLE DO
+A61E ; [.2E8D.0020.0004][.2EC8.0020.0004] # VAI SYMBOL DO-O
+A5D2 ; [.2E8E.0020.0002] # VAI SYLLABLE NDO
+A5D3 ; [.2E8F.0020.0002] # VAI SYLLABLE SO
+A5D4 ; [.2E90.0020.0002] # VAI SYLLABLE SHO
+A5D5 ; [.2E91.0020.0002] # VAI SYLLABLE ZO
+A5D6 ; [.2E92.0020.0002] # VAI SYLLABLE ZHO
+A5D7 ; [.2E93.0020.0002] # VAI SYLLABLE CO
+A5D8 ; [.2E94.0020.0002] # VAI SYLLABLE JO
+A61F ; [.2E94.0020.0004][.2EC7.0020.0004] # VAI SYMBOL JONG
+A5D9 ; [.2E95.0020.0002] # VAI SYLLABLE NJO
+A5DA ; [.2E96.0020.0002] # VAI SYLLABLE YO
+A5DB ; [.2E97.0020.0002] # VAI SYLLABLE KO
+A5DC ; [.2E98.0020.0002] # VAI SYLLABLE NGGO
+A5DD ; [.2E99.0020.0002] # VAI SYLLABLE GO
+A5DE ; [.2E9A.0020.0002] # VAI SYLLABLE MO
+A5DF ; [.2E9B.0020.0002] # VAI SYLLABLE NO
+A5E0 ; [.2E9C.0020.0002] # VAI SYLLABLE NYO
+A5E1 ; [.2E9D.0020.0002] # VAI SYLLABLE E
+A5E2 ; [.2E9E.0020.0002] # VAI SYLLABLE EN
+A5E3 ; [.2E9F.0020.0002] # VAI SYLLABLE NGEN
+A5E4 ; [.2EA0.0020.0002] # VAI SYLLABLE HE
+A5E5 ; [.2EA1.0020.0002] # VAI SYLLABLE HEN
+A5E6 ; [.2EA2.0020.0002] # VAI SYLLABLE WE
+A5E7 ; [.2EA3.0020.0002] # VAI SYLLABLE WEN
+A5E8 ; [.2EA4.0020.0002] # VAI SYLLABLE PE
+A5E9 ; [.2EA5.0020.0002] # VAI SYLLABLE BHE
+A5EA ; [.2EA6.0020.0002] # VAI SYLLABLE BE
+A5EB ; [.2EA7.0020.0002] # VAI SYLLABLE MBE
+A5EC ; [.2EA8.0020.0002] # VAI SYLLABLE KPE
+A5ED ; [.2EA9.0020.0002] # VAI SYLLABLE KPEN
+A5EE ; [.2EAA.0020.0002] # VAI SYLLABLE MGBE
+A5EF ; [.2EAB.0020.0002] # VAI SYLLABLE GBE
+A5F0 ; [.2EAC.0020.0002] # VAI SYLLABLE GBEN
+A5F1 ; [.2EAD.0020.0002] # VAI SYLLABLE FE
+A5F2 ; [.2EAE.0020.0002] # VAI SYLLABLE VE
+A5F3 ; [.2EAF.0020.0002] # VAI SYLLABLE TE
+A5F4 ; [.2EB0.0020.0002] # VAI SYLLABLE THE
+A5F5 ; [.2EB1.0020.0002] # VAI SYLLABLE DHE
+A5F6 ; [.2EB2.0020.0002] # VAI SYLLABLE DHHE
+A5F7 ; [.2EB3.0020.0002] # VAI SYLLABLE LE
+A5F8 ; [.2EB4.0020.0002] # VAI SYLLABLE RE
+A5F9 ; [.2EB5.0020.0002] # VAI SYLLABLE DE
+A5FA ; [.2EB6.0020.0002] # VAI SYLLABLE NDE
+A5FB ; [.2EB7.0020.0002] # VAI SYLLABLE SE
+A5FC ; [.2EB8.0020.0002] # VAI SYLLABLE SHE
+A5FD ; [.2EB9.0020.0002] # VAI SYLLABLE ZE
+A5FE ; [.2EBA.0020.0002] # VAI SYLLABLE ZHE
+A5FF ; [.2EBB.0020.0002] # VAI SYLLABLE CE
+A600 ; [.2EBC.0020.0002] # VAI SYLLABLE JE
+A601 ; [.2EBD.0020.0002] # VAI SYLLABLE NJE
+A602 ; [.2EBE.0020.0002] # VAI SYLLABLE YE
+A603 ; [.2EBF.0020.0002] # VAI SYLLABLE KE
+A604 ; [.2EC0.0020.0002] # VAI SYLLABLE NGGE
+A605 ; [.2EC1.0020.0002] # VAI SYLLABLE NGGEN
+A606 ; [.2EC2.0020.0002] # VAI SYLLABLE GE
+A607 ; [.2EC3.0020.0002] # VAI SYLLABLE GEN
+A608 ; [.2EC4.0020.0002] # VAI SYLLABLE ME
+A609 ; [.2EC5.0020.0002] # VAI SYLLABLE NE
+A60A ; [.2EC6.0020.0002] # VAI SYLLABLE NYE
+A60B ; [.2EC7.0020.0002] # VAI SYLLABLE NG
+A60C ; [.2EC8.0020.0002] # VAI SYLLABLE LENGTHENER
+A6A0 ; [.2EC9.0020.0002] # BAMUM LETTER A
+A6A1 ; [.2ECA.0020.0002] # BAMUM LETTER KA
+A6A2 ; [.2ECB.0020.0002] # BAMUM LETTER U
+A6A3 ; [.2ECC.0020.0002] # BAMUM LETTER KU
+A6A4 ; [.2ECD.0020.0002] # BAMUM LETTER EE
+A6A5 ; [.2ECE.0020.0002] # BAMUM LETTER REE
+A6A6 ; [.2ECF.0020.0002] # BAMUM LETTER TAE
+A6A7 ; [.2ED0.0020.0002] # BAMUM LETTER O
+A6A8 ; [.2ED1.0020.0002] # BAMUM LETTER NYI
+A6A9 ; [.2ED2.0020.0002] # BAMUM LETTER I
+A6AA ; [.2ED3.0020.0002] # BAMUM LETTER LA
+A6AB ; [.2ED4.0020.0002] # BAMUM LETTER PA
+A6AC ; [.2ED5.0020.0002] # BAMUM LETTER RII
+A6AD ; [.2ED6.0020.0002] # BAMUM LETTER RIEE
+A6AE ; [.2ED7.0020.0002] # BAMUM LETTER LEEEE
+A6AF ; [.2ED8.0020.0002] # BAMUM LETTER MEEEE
+A6B0 ; [.2ED9.0020.0002] # BAMUM LETTER TAA
+A6B1 ; [.2EDA.0020.0002] # BAMUM LETTER NDAA
+A6B2 ; [.2EDB.0020.0002] # BAMUM LETTER NJAEM
+A6B3 ; [.2EDC.0020.0002] # BAMUM LETTER M
+A6B4 ; [.2EDD.0020.0002] # BAMUM LETTER SUU
+A6B5 ; [.2EDE.0020.0002] # BAMUM LETTER MU
+A6B6 ; [.2EDF.0020.0002] # BAMUM LETTER SHII
+A6B7 ; [.2EE0.0020.0002] # BAMUM LETTER SI
+A6B8 ; [.2EE1.0020.0002] # BAMUM LETTER SHEUX
+A6B9 ; [.2EE2.0020.0002] # BAMUM LETTER SEUX
+A6BA ; [.2EE3.0020.0002] # BAMUM LETTER KYEE
+A6BB ; [.2EE4.0020.0002] # BAMUM LETTER KET
+A6BC ; [.2EE5.0020.0002] # BAMUM LETTER NUAE
+A6BD ; [.2EE6.0020.0002] # BAMUM LETTER NU
+A6BE ; [.2EE7.0020.0002] # BAMUM LETTER NJUAE
+A6BF ; [.2EE8.0020.0002] # BAMUM LETTER YOQ
+A6C0 ; [.2EE9.0020.0002] # BAMUM LETTER SHU
+A6C1 ; [.2EEA.0020.0002] # BAMUM LETTER YUQ
+A6C2 ; [.2EEB.0020.0002] # BAMUM LETTER YA
+A6C3 ; [.2EEC.0020.0002] # BAMUM LETTER NSHA
+A6C4 ; [.2EED.0020.0002] # BAMUM LETTER KEUX
+A6C5 ; [.2EEE.0020.0002] # BAMUM LETTER PEUX
+A6C6 ; [.2EEF.0020.0002] # BAMUM LETTER NJEE
+A6C7 ; [.2EF0.0020.0002] # BAMUM LETTER NTEE
+A6C8 ; [.2EF1.0020.0002] # BAMUM LETTER PUE
+A6C9 ; [.2EF2.0020.0002] # BAMUM LETTER WUE
+A6CA ; [.2EF3.0020.0002] # BAMUM LETTER PEE
+A6CB ; [.2EF4.0020.0002] # BAMUM LETTER FEE
+A6CC ; [.2EF5.0020.0002] # BAMUM LETTER RU
+A6CD ; [.2EF6.0020.0002] # BAMUM LETTER LU
+A6CE ; [.2EF7.0020.0002] # BAMUM LETTER MI
+A6CF ; [.2EF8.0020.0002] # BAMUM LETTER NI
+A6D0 ; [.2EF9.0020.0002] # BAMUM LETTER REUX
+A6D1 ; [.2EFA.0020.0002] # BAMUM LETTER RAE
+A6D2 ; [.2EFB.0020.0002] # BAMUM LETTER KEN
+A6D3 ; [.2EFC.0020.0002] # BAMUM LETTER NGKWAEN
+A6D4 ; [.2EFD.0020.0002] # BAMUM LETTER NGGA
+A6D5 ; [.2EFE.0020.0002] # BAMUM LETTER NGA
+A6D6 ; [.2EFF.0020.0002] # BAMUM LETTER SHO
+A6D7 ; [.2F00.0020.0002] # BAMUM LETTER PUAE
+A6D8 ; [.2F01.0020.0002] # BAMUM LETTER FU
+A6D9 ; [.2F02.0020.0002] # BAMUM LETTER FOM
+A6DA ; [.2F03.0020.0002] # BAMUM LETTER WA
+A6DB ; [.2F04.0020.0002] # BAMUM LETTER NA
+A6DC ; [.2F05.0020.0002] # BAMUM LETTER LI
+A6DD ; [.2F06.0020.0002] # BAMUM LETTER PI
+A6DE ; [.2F07.0020.0002] # BAMUM LETTER LOQ
+A6DF ; [.2F08.0020.0002] # BAMUM LETTER KO
+A6E0 ; [.2F09.0020.0002] # BAMUM LETTER MBEN
+A6E1 ; [.2F0A.0020.0002] # BAMUM LETTER REN
+A6E2 ; [.2F0B.0020.0002] # BAMUM LETTER MEN
+A6E3 ; [.2F0C.0020.0002] # BAMUM LETTER MA
+A6E4 ; [.2F0D.0020.0002] # BAMUM LETTER TI
+A6E5 ; [.2F0E.0020.0002] # BAMUM LETTER KI
+A6E6 ; [.2F0F.0020.0002] # BAMUM LETTER MO
+A6E7 ; [.2F10.0020.0002] # BAMUM LETTER MBAA
+A6E8 ; [.2F11.0020.0002] # BAMUM LETTER TET
+A6E9 ; [.2F12.0020.0002] # BAMUM LETTER KPA
+A6EA ; [.2F13.0020.0002] # BAMUM LETTER TEN
+A6EB ; [.2F14.0020.0002] # BAMUM LETTER NTUU
+A6EC ; [.2F15.0020.0002] # BAMUM LETTER SAMBA
+A6ED ; [.2F16.0020.0002] # BAMUM LETTER FAAMAE
+A6EE ; [.2F17.0020.0002] # BAMUM LETTER KOVUU
+A6EF ; [.2F18.0020.0002] # BAMUM LETTER KOGHOM
+16800 ; [.2F19.0020.0002] # BAMUM LETTER PHASE-A NGKUE MFON
+16801 ; [.2F1A.0020.0002] # BAMUM LETTER PHASE-A GBIEE FON
+16802 ; [.2F1B.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 ; [.2F1C.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 ; [.2F1D.0020.0002] # BAMUM LETTER PHASE-A NAA MFON
+16805 ; [.2F1E.0020.0002] # BAMUM LETTER PHASE-A SHUENSHUET
+16806 ; [.2F1F.0020.0002] # BAMUM LETTER PHASE-A TITA MFON
+16807 ; [.2F20.0020.0002] # BAMUM LETTER PHASE-A NZA MFON
+16808 ; [.2F21.0020.0002] # BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 ; [.2F22.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A ; [.2F23.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B ; [.2F24.0020.0002] # BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C ; [.2F25.0020.0002] # BAMUM LETTER PHASE-A TU MAEMBA
+1680D ; [.2F26.0020.0002] # BAMUM LETTER PHASE-A NGANGU
+1680E ; [.2F27.0020.0002] # BAMUM LETTER PHASE-A MAEMVEUX
+1680F ; [.2F28.0020.0002] # BAMUM LETTER PHASE-A MANSUAE
+16810 ; [.2F29.0020.0002] # BAMUM LETTER PHASE-A MVEUAENGAM
+16811 ; [.2F2A.0020.0002] # BAMUM LETTER PHASE-A SEUNYAM
+16812 ; [.2F2B.0020.0002] # BAMUM LETTER PHASE-A NTOQPEN
+16813 ; [.2F2C.0020.0002] # BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 ; [.2F2D.0020.0002] # BAMUM LETTER PHASE-A NKINDI
+16815 ; [.2F2E.0020.0002] # BAMUM LETTER PHASE-A SUU
+16816 ; [.2F2F.0020.0002] # BAMUM LETTER PHASE-A NGKUENZEUM
+16817 ; [.2F30.0020.0002] # BAMUM LETTER PHASE-A LAPAQ
+16818 ; [.2F31.0020.0002] # BAMUM LETTER PHASE-A LET KUT
+16819 ; [.2F32.0020.0002] # BAMUM LETTER PHASE-A NTAP MFAA
+1681A ; [.2F33.0020.0002] # BAMUM LETTER PHASE-A MAEKEUP
+1681B ; [.2F34.0020.0002] # BAMUM LETTER PHASE-A PASHAE
+1681C ; [.2F35.0020.0002] # BAMUM LETTER PHASE-A GHEUAERAE
+1681D ; [.2F36.0020.0002] # BAMUM LETTER PHASE-A PAMSHAE
+1681E ; [.2F37.0020.0002] # BAMUM LETTER PHASE-A MON NGGEUAET
+1681F ; [.2F38.0020.0002] # BAMUM LETTER PHASE-A NZUN MEUT
+16820 ; [.2F39.0020.0002] # BAMUM LETTER PHASE-A U YUQ NAE
+16821 ; [.2F3A.0020.0002] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 ; [.2F3B.0020.0002] # BAMUM LETTER PHASE-A NTAP NTAA
+16823 ; [.2F3C.0020.0002] # BAMUM LETTER PHASE-A SISA
+16824 ; [.2F3D.0020.0002] # BAMUM LETTER PHASE-A MGBASA
+16825 ; [.2F3E.0020.0002] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 ; [.2F3F.0020.0002] # BAMUM LETTER PHASE-A MOOMPUQ
+16827 ; [.2F40.0020.0002] # BAMUM LETTER PHASE-A KAFA
+16828 ; [.2F41.0020.0002] # BAMUM LETTER PHASE-A PA LEERAEWA
+16829 ; [.2F42.0020.0002] # BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A ; [.2F43.0020.0002] # BAMUM LETTER PHASE-A PET
+1682B ; [.2F44.0020.0002] # BAMUM LETTER PHASE-A MAEMKPEN
+1682C ; [.2F45.0020.0002] # BAMUM LETTER PHASE-A NIKA
+1682D ; [.2F46.0020.0002] # BAMUM LETTER PHASE-A PUP
+1682E ; [.2F47.0020.0002] # BAMUM LETTER PHASE-A TUAEP
+1682F ; [.2F48.0020.0002] # BAMUM LETTER PHASE-A LUAEP
+16830 ; [.2F49.0020.0002] # BAMUM LETTER PHASE-A SONJAM
+16831 ; [.2F4A.0020.0002] # BAMUM LETTER PHASE-A TEUTEUWEN
+16832 ; [.2F4B.0020.0002] # BAMUM LETTER PHASE-A MAENYI
+16833 ; [.2F4C.0020.0002] # BAMUM LETTER PHASE-A KET
+16834 ; [.2F4D.0020.0002] # BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 ; [.2F4E.0020.0002] # BAMUM LETTER PHASE-A KUOQ
+16836 ; [.2F4F.0020.0002] # BAMUM LETTER PHASE-A MOOMEUT
+16837 ; [.2F50.0020.0002] # BAMUM LETTER PHASE-A SHUM
+16838 ; [.2F51.0020.0002] # BAMUM LETTER PHASE-A LOMMAE
+16839 ; [.2F52.0020.0002] # BAMUM LETTER PHASE-A FIRI
+1683A ; [.2F53.0020.0002] # BAMUM LETTER PHASE-A ROM
+1683B ; [.2F54.0020.0002] # BAMUM LETTER PHASE-A KPOQ
+1683C ; [.2F55.0020.0002] # BAMUM LETTER PHASE-A SOQ
+1683D ; [.2F56.0020.0002] # BAMUM LETTER PHASE-A MAP PIEET
+1683E ; [.2F57.0020.0002] # BAMUM LETTER PHASE-A SHIRAE
+1683F ; [.2F58.0020.0002] # BAMUM LETTER PHASE-A NTAP
+16840 ; [.2F59.0020.0002] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 ; [.2F5A.0020.0002] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 ; [.2F5B.0020.0002] # BAMUM LETTER PHASE-A PAARAE
+16843 ; [.2F5C.0020.0002] # BAMUM LETTER PHASE-A NKAARAE
+16844 ; [.2F5D.0020.0002] # BAMUM LETTER PHASE-A UNKNOWN
+16845 ; [.2F5E.0020.0002] # BAMUM LETTER PHASE-A NGGEN
+16846 ; [.2F5F.0020.0002] # BAMUM LETTER PHASE-A MAESI
+16847 ; [.2F60.0020.0002] # BAMUM LETTER PHASE-A NJAM
+16848 ; [.2F61.0020.0002] # BAMUM LETTER PHASE-A MBANYI
+16849 ; [.2F62.0020.0002] # BAMUM LETTER PHASE-A NYET
+1684A ; [.2F63.0020.0002] # BAMUM LETTER PHASE-A TEUAEN
+1684B ; [.2F64.0020.0002] # BAMUM LETTER PHASE-A SOT
+1684C ; [.2F65.0020.0002] # BAMUM LETTER PHASE-A PAAM
+1684D ; [.2F66.0020.0002] # BAMUM LETTER PHASE-A NSHIEE
+1684E ; [.2F67.0020.0002] # BAMUM LETTER PHASE-A MAEM
+1684F ; [.2F68.0020.0002] # BAMUM LETTER PHASE-A NYI
+16850 ; [.2F69.0020.0002] # BAMUM LETTER PHASE-A KAQ
+16851 ; [.2F6A.0020.0002] # BAMUM LETTER PHASE-A NSHA
+16852 ; [.2F6B.0020.0002] # BAMUM LETTER PHASE-A VEE
+16853 ; [.2F6C.0020.0002] # BAMUM LETTER PHASE-A LU
+16854 ; [.2F6D.0020.0002] # BAMUM LETTER PHASE-A NEN
+16855 ; [.2F6E.0020.0002] # BAMUM LETTER PHASE-A NAQ
+16856 ; [.2F6F.0020.0002] # BAMUM LETTER PHASE-A MBAQ
+16857 ; [.2F70.0020.0002] # BAMUM LETTER PHASE-B NSHUET
+16858 ; [.2F71.0020.0002] # BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 ; [.2F72.0020.0002] # BAMUM LETTER PHASE-B SIEE
+1685A ; [.2F73.0020.0002] # BAMUM LETTER PHASE-B SET TU
+1685B ; [.2F74.0020.0002] # BAMUM LETTER PHASE-B LOM NTEUM
+1685C ; [.2F75.0020.0002] # BAMUM LETTER PHASE-B MBA MAELEE
+1685D ; [.2F76.0020.0002] # BAMUM LETTER PHASE-B KIEEM
+1685E ; [.2F77.0020.0002] # BAMUM LETTER PHASE-B YEURAE
+1685F ; [.2F78.0020.0002] # BAMUM LETTER PHASE-B MBAARAE
+16860 ; [.2F79.0020.0002] # BAMUM LETTER PHASE-B KAM
+16861 ; [.2F7A.0020.0002] # BAMUM LETTER PHASE-B PEESHI
+16862 ; [.2F7B.0020.0002] # BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 ; [.2F7C.0020.0002] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 ; [.2F7D.0020.0002] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 ; [.2F7E.0020.0002] # BAMUM LETTER PHASE-B NDU NJAA
+16866 ; [.2F7F.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 ; [.2F80.0020.0002] # BAMUM LETTER PHASE-B PIT
+16868 ; [.2F81.0020.0002] # BAMUM LETTER PHASE-B TU NSIEE
+16869 ; [.2F82.0020.0002] # BAMUM LETTER PHASE-B SHET NJAQ
+1686A ; [.2F83.0020.0002] # BAMUM LETTER PHASE-B SHEUAEQTU
+1686B ; [.2F84.0020.0002] # BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C ; [.2F85.0020.0002] # BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D ; [.2F86.0020.0002] # BAMUM LETTER PHASE-B NYI NTEUM
+1686E ; [.2F87.0020.0002] # BAMUM LETTER PHASE-B KEUPUQ
+1686F ; [.2F88.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEN
+16870 ; [.2F89.0020.0002] # BAMUM LETTER PHASE-B KEUYEUX
+16871 ; [.2F8A.0020.0002] # BAMUM LETTER PHASE-B LAANAE
+16872 ; [.2F8B.0020.0002] # BAMUM LETTER PHASE-B PARUM
+16873 ; [.2F8C.0020.0002] # BAMUM LETTER PHASE-B VEUM
+16874 ; [.2F8D.0020.0002] # BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 ; [.2F8E.0020.0002] # BAMUM LETTER PHASE-B NGGEU MBU
+16876 ; [.2F8F.0020.0002] # BAMUM LETTER PHASE-B WUAET
+16877 ; [.2F90.0020.0002] # BAMUM LETTER PHASE-B SAKEUAE
+16878 ; [.2F91.0020.0002] # BAMUM LETTER PHASE-B TAAM
+16879 ; [.2F92.0020.0002] # BAMUM LETTER PHASE-B MEUQ
+1687A ; [.2F93.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ
+1687B ; [.2F94.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C ; [.2F95.0020.0002] # BAMUM LETTER PHASE-B MFIYAQ
+1687D ; [.2F96.0020.0002] # BAMUM LETTER PHASE-B SUE
+1687E ; [.2F97.0020.0002] # BAMUM LETTER PHASE-B MBEURI
+1687F ; [.2F98.0020.0002] # BAMUM LETTER PHASE-B MONTIEEN
+16880 ; [.2F99.0020.0002] # BAMUM LETTER PHASE-B NYAEMAE
+16881 ; [.2F9A.0020.0002] # BAMUM LETTER PHASE-B PUNGAAM
+16882 ; [.2F9B.0020.0002] # BAMUM LETTER PHASE-B MEUT NGGEET
+16883 ; [.2F9C.0020.0002] # BAMUM LETTER PHASE-B FEUX
+16884 ; [.2F9D.0020.0002] # BAMUM LETTER PHASE-B MBUOQ
+16885 ; [.2F9E.0020.0002] # BAMUM LETTER PHASE-B FEE
+16886 ; [.2F9F.0020.0002] # BAMUM LETTER PHASE-B KEUAEM
+16887 ; [.2FA0.0020.0002] # BAMUM LETTER PHASE-B MA NJEUAENA
+16888 ; [.2FA1.0020.0002] # BAMUM LETTER PHASE-B MA NJUQA
+16889 ; [.2FA2.0020.0002] # BAMUM LETTER PHASE-B LET
+1688A ; [.2FA3.0020.0002] # BAMUM LETTER PHASE-B NGGAAM
+1688B ; [.2FA4.0020.0002] # BAMUM LETTER PHASE-B NSEN
+1688C ; [.2FA5.0020.0002] # BAMUM LETTER PHASE-B MA
+1688D ; [.2FA6.0020.0002] # BAMUM LETTER PHASE-B KIQ
+1688E ; [.2FA7.0020.0002] # BAMUM LETTER PHASE-B NGOM
+1688F ; [.2FA8.0020.0002] # BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 ; [.2FA9.0020.0002] # BAMUM LETTER PHASE-C NZA
+16891 ; [.2FAA.0020.0002] # BAMUM LETTER PHASE-C YUM
+16892 ; [.2FAB.0020.0002] # BAMUM LETTER PHASE-C WANGKUOQ
+16893 ; [.2FAC.0020.0002] # BAMUM LETTER PHASE-C NGGEN
+16894 ; [.2FAD.0020.0002] # BAMUM LETTER PHASE-C NDEUAEREE
+16895 ; [.2FAE.0020.0002] # BAMUM LETTER PHASE-C NGKAQ
+16896 ; [.2FAF.0020.0002] # BAMUM LETTER PHASE-C GHARAE
+16897 ; [.2FB0.0020.0002] # BAMUM LETTER PHASE-C MBEEKEET
+16898 ; [.2FB1.0020.0002] # BAMUM LETTER PHASE-C GBAYI
+16899 ; [.2FB2.0020.0002] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A ; [.2FB3.0020.0002] # BAMUM LETTER PHASE-C NTU MBIT
+1689B ; [.2FB4.0020.0002] # BAMUM LETTER PHASE-C MBEUM
+1689C ; [.2FB5.0020.0002] # BAMUM LETTER PHASE-C PIRIEEN
+1689D ; [.2FB6.0020.0002] # BAMUM LETTER PHASE-C NDOMBU
+1689E ; [.2FB7.0020.0002] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F ; [.2FB8.0020.0002] # BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 ; [.2FB9.0020.0002] # BAMUM LETTER PHASE-C GHAP
+168A1 ; [.2FBA.0020.0002] # BAMUM LETTER PHASE-C KEUKAQ
+168A2 ; [.2FBB.0020.0002] # BAMUM LETTER PHASE-C YU MUOMAE
+168A3 ; [.2FBC.0020.0002] # BAMUM LETTER PHASE-C NZEUM
+168A4 ; [.2FBD.0020.0002] # BAMUM LETTER PHASE-C MBUE
+168A5 ; [.2FBE.0020.0002] # BAMUM LETTER PHASE-C NSEUAEN
+168A6 ; [.2FBF.0020.0002] # BAMUM LETTER PHASE-C MBIT
+168A7 ; [.2FC0.0020.0002] # BAMUM LETTER PHASE-C YEUQ
+168A8 ; [.2FC1.0020.0002] # BAMUM LETTER PHASE-C KPARAQ
+168A9 ; [.2FC2.0020.0002] # BAMUM LETTER PHASE-C KAA
+168AA ; [.2FC3.0020.0002] # BAMUM LETTER PHASE-C SEUX
+168AB ; [.2FC4.0020.0002] # BAMUM LETTER PHASE-C NDIDA
+168AC ; [.2FC5.0020.0002] # BAMUM LETTER PHASE-C TAASHAE
+168AD ; [.2FC6.0020.0002] # BAMUM LETTER PHASE-C NJUEQ
+168AE ; [.2FC7.0020.0002] # BAMUM LETTER PHASE-C TITA YUE
+168AF ; [.2FC8.0020.0002] # BAMUM LETTER PHASE-C SUAET
+168B0 ; [.2FC9.0020.0002] # BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 ; [.2FCA.0020.0002] # BAMUM LETTER PHASE-C VEUX
+168B2 ; [.2FCB.0020.0002] # BAMUM LETTER PHASE-C NANSANAQ
+168B3 ; [.2FCC.0020.0002] # BAMUM LETTER PHASE-C MA KEUAERI
+168B4 ; [.2FCD.0020.0002] # BAMUM LETTER PHASE-C NTAA
+168B5 ; [.2FCE.0020.0002] # BAMUM LETTER PHASE-C NGGUON
+168B6 ; [.2FCF.0020.0002] # BAMUM LETTER PHASE-C LAP
+168B7 ; [.2FD0.0020.0002] # BAMUM LETTER PHASE-C MBIRIEEN
+168B8 ; [.2FD1.0020.0002] # BAMUM LETTER PHASE-C MGBASAQ
+168B9 ; [.2FD2.0020.0002] # BAMUM LETTER PHASE-C NTEUNGBA
+168BA ; [.2FD3.0020.0002] # BAMUM LETTER PHASE-C TEUTEUX
+168BB ; [.2FD4.0020.0002] # BAMUM LETTER PHASE-C NGGUM
+168BC ; [.2FD5.0020.0002] # BAMUM LETTER PHASE-C FUE
+168BD ; [.2FD6.0020.0002] # BAMUM LETTER PHASE-C NDEUT
+168BE ; [.2FD7.0020.0002] # BAMUM LETTER PHASE-C NSA
+168BF ; [.2FD8.0020.0002] # BAMUM LETTER PHASE-C NSHAQ
+168C0 ; [.2FD9.0020.0002] # BAMUM LETTER PHASE-C BUNG
+168C1 ; [.2FDA.0020.0002] # BAMUM LETTER PHASE-C VEUAEPEN
+168C2 ; [.2FDB.0020.0002] # BAMUM LETTER PHASE-C MBERAE
+168C3 ; [.2FDC.0020.0002] # BAMUM LETTER PHASE-C RU
+168C4 ; [.2FDD.0020.0002] # BAMUM LETTER PHASE-C NJAEM
+168C5 ; [.2FDE.0020.0002] # BAMUM LETTER PHASE-C LAM
+168C6 ; [.2FDF.0020.0002] # BAMUM LETTER PHASE-C TITUAEP
+168C7 ; [.2FE0.0020.0002] # BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 ; [.2FE1.0020.0002] # BAMUM LETTER PHASE-C NJEEEE
+168C9 ; [.2FE2.0020.0002] # BAMUM LETTER PHASE-C KET
+168CA ; [.2FE3.0020.0002] # BAMUM LETTER PHASE-C NGGU
+168CB ; [.2FE4.0020.0002] # BAMUM LETTER PHASE-C MAESI
+168CC ; [.2FE5.0020.0002] # BAMUM LETTER PHASE-C MBUAEM
+168CD ; [.2FE6.0020.0002] # BAMUM LETTER PHASE-C LU
+168CE ; [.2FE7.0020.0002] # BAMUM LETTER PHASE-C KUT
+168CF ; [.2FE8.0020.0002] # BAMUM LETTER PHASE-C NJAM
+168D0 ; [.2FE9.0020.0002] # BAMUM LETTER PHASE-C NGOM
+168D1 ; [.2FEA.0020.0002] # BAMUM LETTER PHASE-C WUP
+168D2 ; [.2FEB.0020.0002] # BAMUM LETTER PHASE-C NGGUEET
+168D3 ; [.2FEC.0020.0002] # BAMUM LETTER PHASE-C NSOM
+168D4 ; [.2FED.0020.0002] # BAMUM LETTER PHASE-C NTEN
+168D5 ; [.2FEE.0020.0002] # BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 ; [.2FEF.0020.0002] # BAMUM LETTER PHASE-C NSUN
+168D7 ; [.2FF0.0020.0002] # BAMUM LETTER PHASE-C NDAM
+168D8 ; [.2FF1.0020.0002] # BAMUM LETTER PHASE-C MA NSIEE
+168D9 ; [.2FF2.0020.0002] # BAMUM LETTER PHASE-C YAA
+168DA ; [.2FF3.0020.0002] # BAMUM LETTER PHASE-C NDAP
+168DB ; [.2FF4.0020.0002] # BAMUM LETTER PHASE-C SHUEQ
+168DC ; [.2FF5.0020.0002] # BAMUM LETTER PHASE-C SETFON
+168DD ; [.2FF6.0020.0002] # BAMUM LETTER PHASE-C MBI
+168DE ; [.2FF7.0020.0002] # BAMUM LETTER PHASE-C MAEMBA
+168DF ; [.2FF8.0020.0002] # BAMUM LETTER PHASE-C MBANYI
+168E0 ; [.2FF9.0020.0002] # BAMUM LETTER PHASE-C KEUSEUX
+168E1 ; [.2FFA.0020.0002] # BAMUM LETTER PHASE-C MBEUX
+168E2 ; [.2FFB.0020.0002] # BAMUM LETTER PHASE-C KEUM
+168E3 ; [.2FFC.0020.0002] # BAMUM LETTER PHASE-C MBAA PICKET
+168E4 ; [.2FFD.0020.0002] # BAMUM LETTER PHASE-C YUWOQ
+168E5 ; [.2FFE.0020.0002] # BAMUM LETTER PHASE-C NJEUX
+168E6 ; [.2FFF.0020.0002] # BAMUM LETTER PHASE-C MIEE
+168E7 ; [.3000.0020.0002] # BAMUM LETTER PHASE-C MUAE
+168E8 ; [.3001.0020.0002] # BAMUM LETTER PHASE-C SHIQ
+168E9 ; [.3002.0020.0002] # BAMUM LETTER PHASE-C KEN LAW
+168EA ; [.3003.0020.0002] # BAMUM LETTER PHASE-C KEN FATIGUE
+168EB ; [.3004.0020.0002] # BAMUM LETTER PHASE-C NGAQ
+168EC ; [.3005.0020.0002] # BAMUM LETTER PHASE-C NAQ
+168ED ; [.3006.0020.0002] # BAMUM LETTER PHASE-C LIQ
+168EE ; [.3007.0020.0002] # BAMUM LETTER PHASE-C PIN
+168EF ; [.3008.0020.0002] # BAMUM LETTER PHASE-C PEN
+168F0 ; [.3009.0020.0002] # BAMUM LETTER PHASE-C TET
+168F1 ; [.300A.0020.0002] # BAMUM LETTER PHASE-D MBUO
+168F2 ; [.300B.0020.0002] # BAMUM LETTER PHASE-D WAP
+168F3 ; [.300C.0020.0002] # BAMUM LETTER PHASE-D NJI
+168F4 ; [.300D.0020.0002] # BAMUM LETTER PHASE-D MFON
+168F5 ; [.300E.0020.0002] # BAMUM LETTER PHASE-D NJIEE
+168F6 ; [.300F.0020.0002] # BAMUM LETTER PHASE-D LIEE
+168F7 ; [.3010.0020.0002] # BAMUM LETTER PHASE-D NJEUT
+168F8 ; [.3011.0020.0002] # BAMUM LETTER PHASE-D NSHEE
+168F9 ; [.3012.0020.0002] # BAMUM LETTER PHASE-D NGGAAMAE
+168FA ; [.3013.0020.0002] # BAMUM LETTER PHASE-D NYAM
+168FB ; [.3014.0020.0002] # BAMUM LETTER PHASE-D WUAEN
+168FC ; [.3015.0020.0002] # BAMUM LETTER PHASE-D NGKUN
+168FD ; [.3016.0020.0002] # BAMUM LETTER PHASE-D SHEE
+168FE ; [.3017.0020.0002] # BAMUM LETTER PHASE-D NGKAP
+168FF ; [.3018.0020.0002] # BAMUM LETTER PHASE-D KEUAETMEUN
+16900 ; [.3019.0020.0002] # BAMUM LETTER PHASE-D TEUT
+16901 ; [.301A.0020.0002] # BAMUM LETTER PHASE-D SHEUAE
+16902 ; [.301B.0020.0002] # BAMUM LETTER PHASE-D NJAP
+16903 ; [.301C.0020.0002] # BAMUM LETTER PHASE-D SUE
+16904 ; [.301D.0020.0002] # BAMUM LETTER PHASE-D KET
+16905 ; [.301E.0020.0002] # BAMUM LETTER PHASE-D YAEMMAE
+16906 ; [.301F.0020.0002] # BAMUM LETTER PHASE-D KUOM
+16907 ; [.3020.0020.0002] # BAMUM LETTER PHASE-D SAP
+16908 ; [.3021.0020.0002] # BAMUM LETTER PHASE-D MFEUT
+16909 ; [.3022.0020.0002] # BAMUM LETTER PHASE-D NDEUX
+1690A ; [.3023.0020.0002] # BAMUM LETTER PHASE-D MALEERI
+1690B ; [.3024.0020.0002] # BAMUM LETTER PHASE-D MEUT
+1690C ; [.3025.0020.0002] # BAMUM LETTER PHASE-D SEUAEQ
+1690D ; [.3026.0020.0002] # BAMUM LETTER PHASE-D YEN
+1690E ; [.3027.0020.0002] # BAMUM LETTER PHASE-D NJEUAEM
+1690F ; [.3028.0020.0002] # BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 ; [.3029.0020.0002] # BAMUM LETTER PHASE-D NGKEURI
+16911 ; [.302A.0020.0002] # BAMUM LETTER PHASE-D TU
+16912 ; [.302B.0020.0002] # BAMUM LETTER PHASE-D GHAA
+16913 ; [.302C.0020.0002] # BAMUM LETTER PHASE-D NGKYEE
+16914 ; [.302D.0020.0002] # BAMUM LETTER PHASE-D FEUFEUAET
+16915 ; [.302E.0020.0002] # BAMUM LETTER PHASE-D NDEE
+16916 ; [.302F.0020.0002] # BAMUM LETTER PHASE-D MGBOFUM
+16917 ; [.3030.0020.0002] # BAMUM LETTER PHASE-D LEUAEP
+16918 ; [.3031.0020.0002] # BAMUM LETTER PHASE-D NDON
+16919 ; [.3032.0020.0002] # BAMUM LETTER PHASE-D MONI
+1691A ; [.3033.0020.0002] # BAMUM LETTER PHASE-D MGBEUN
+1691B ; [.3034.0020.0002] # BAMUM LETTER PHASE-D PUUT
+1691C ; [.3035.0020.0002] # BAMUM LETTER PHASE-D MGBIEE
+1691D ; [.3036.0020.0002] # BAMUM LETTER PHASE-D MFO
+1691E ; [.3037.0020.0002] # BAMUM LETTER PHASE-D LUM
+1691F ; [.3038.0020.0002] # BAMUM LETTER PHASE-D NSIEEP
+16920 ; [.3039.0020.0002] # BAMUM LETTER PHASE-D MBAA
+16921 ; [.303A.0020.0002] # BAMUM LETTER PHASE-D KWAET
+16922 ; [.303B.0020.0002] # BAMUM LETTER PHASE-D NYET
+16923 ; [.303C.0020.0002] # BAMUM LETTER PHASE-D TEUAEN
+16924 ; [.303D.0020.0002] # BAMUM LETTER PHASE-D SOT
+16925 ; [.303E.0020.0002] # BAMUM LETTER PHASE-D YUWOQ
+16926 ; [.303F.0020.0002] # BAMUM LETTER PHASE-D KEUM
+16927 ; [.3040.0020.0002] # BAMUM LETTER PHASE-D RAEM
+16928 ; [.3041.0020.0002] # BAMUM LETTER PHASE-D TEEEE
+16929 ; [.3042.0020.0002] # BAMUM LETTER PHASE-D NGKEUAEQ
+1692A ; [.3043.0020.0002] # BAMUM LETTER PHASE-D MFEUAE
+1692B ; [.3044.0020.0002] # BAMUM LETTER PHASE-D NSIEET
+1692C ; [.3045.0020.0002] # BAMUM LETTER PHASE-D KEUP
+1692D ; [.3046.0020.0002] # BAMUM LETTER PHASE-D PIP
+1692E ; [.3047.0020.0002] # BAMUM LETTER PHASE-D PEUTAE
+1692F ; [.3048.0020.0002] # BAMUM LETTER PHASE-D NYUE
+16930 ; [.3049.0020.0002] # BAMUM LETTER PHASE-D LET
+16931 ; [.304A.0020.0002] # BAMUM LETTER PHASE-D NGGAAM
+16932 ; [.304B.0020.0002] # BAMUM LETTER PHASE-D MFIEE
+16933 ; [.304C.0020.0002] # BAMUM LETTER PHASE-D NGGWAEN
+16934 ; [.304D.0020.0002] # BAMUM LETTER PHASE-D YUOM
+16935 ; [.304E.0020.0002] # BAMUM LETTER PHASE-D PAP
+16936 ; [.304F.0020.0002] # BAMUM LETTER PHASE-D YUOP
+16937 ; [.3050.0020.0002] # BAMUM LETTER PHASE-D NDAM
+16938 ; [.3051.0020.0002] # BAMUM LETTER PHASE-D NTEUM
+16939 ; [.3052.0020.0002] # BAMUM LETTER PHASE-D SUAE
+1693A ; [.3053.0020.0002] # BAMUM LETTER PHASE-D KUN
+1693B ; [.3054.0020.0002] # BAMUM LETTER PHASE-D NGGEUX
+1693C ; [.3055.0020.0002] # BAMUM LETTER PHASE-D NGKIEE
+1693D ; [.3056.0020.0002] # BAMUM LETTER PHASE-D TUOT
+1693E ; [.3057.0020.0002] # BAMUM LETTER PHASE-D MEUN
+1693F ; [.3058.0020.0002] # BAMUM LETTER PHASE-D KUQ
+16940 ; [.3059.0020.0002] # BAMUM LETTER PHASE-D NSUM
+16941 ; [.305A.0020.0002] # BAMUM LETTER PHASE-D TEUN
+16942 ; [.305B.0020.0002] # BAMUM LETTER PHASE-D MAENJET
+16943 ; [.305C.0020.0002] # BAMUM LETTER PHASE-D NGGAP
+16944 ; [.305D.0020.0002] # BAMUM LETTER PHASE-D LEUM
+16945 ; [.305E.0020.0002] # BAMUM LETTER PHASE-D NGGUOM
+16946 ; [.305F.0020.0002] # BAMUM LETTER PHASE-D NSHUT
+16947 ; [.3060.0020.0002] # BAMUM LETTER PHASE-D NJUEQ
+16948 ; [.3061.0020.0002] # BAMUM LETTER PHASE-D GHEUAE
+16949 ; [.3062.0020.0002] # BAMUM LETTER PHASE-D KU
+1694A ; [.3063.0020.0002] # BAMUM LETTER PHASE-D REN OLD
+1694B ; [.3064.0020.0002] # BAMUM LETTER PHASE-D TAE
+1694C ; [.3065.0020.0002] # BAMUM LETTER PHASE-D TOQ
+1694D ; [.3066.0020.0002] # BAMUM LETTER PHASE-D NYI
+1694E ; [.3067.0020.0002] # BAMUM LETTER PHASE-D RII
+1694F ; [.3068.0020.0002] # BAMUM LETTER PHASE-D LEEEE
+16950 ; [.3069.0020.0002] # BAMUM LETTER PHASE-D MEEEE
+16951 ; [.306A.0020.0002] # BAMUM LETTER PHASE-D M
+16952 ; [.306B.0020.0002] # BAMUM LETTER PHASE-D SUU
+16953 ; [.306C.0020.0002] # BAMUM LETTER PHASE-D MU
+16954 ; [.306D.0020.0002] # BAMUM LETTER PHASE-D SHII
+16955 ; [.306E.0020.0002] # BAMUM LETTER PHASE-D SHEUX
+16956 ; [.306F.0020.0002] # BAMUM LETTER PHASE-D KYEE
+16957 ; [.3070.0020.0002] # BAMUM LETTER PHASE-D NU
+16958 ; [.3071.0020.0002] # BAMUM LETTER PHASE-D SHU
+16959 ; [.3072.0020.0002] # BAMUM LETTER PHASE-D NTEE
+1695A ; [.3073.0020.0002] # BAMUM LETTER PHASE-D PEE
+1695B ; [.3074.0020.0002] # BAMUM LETTER PHASE-D NI
+1695C ; [.3075.0020.0002] # BAMUM LETTER PHASE-D SHOQ
+1695D ; [.3076.0020.0002] # BAMUM LETTER PHASE-D PUQ
+1695E ; [.3077.0020.0002] # BAMUM LETTER PHASE-D MVOP
+1695F ; [.3078.0020.0002] # BAMUM LETTER PHASE-D LOQ
+16960 ; [.3079.0020.0002] # BAMUM LETTER PHASE-D REN MUCH
+16961 ; [.307A.0020.0002] # BAMUM LETTER PHASE-D TI
+16962 ; [.307B.0020.0002] # BAMUM LETTER PHASE-D NTUU
+16963 ; [.307C.0020.0002] # BAMUM LETTER PHASE-D MBAA SEVEN
+16964 ; [.307D.0020.0002] # BAMUM LETTER PHASE-D SAQ
+16965 ; [.307E.0020.0002] # BAMUM LETTER PHASE-D FAA
+16966 ; [.307F.0020.0002] # BAMUM LETTER PHASE-E NDAP
+16967 ; [.3080.0020.0002] # BAMUM LETTER PHASE-E TOON
+16968 ; [.3081.0020.0002] # BAMUM LETTER PHASE-E MBEUM
+16969 ; [.3082.0020.0002] # BAMUM LETTER PHASE-E LAP
+1696A ; [.3083.0020.0002] # BAMUM LETTER PHASE-E VOM
+1696B ; [.3084.0020.0002] # BAMUM LETTER PHASE-E LOON
+1696C ; [.3085.0020.0002] # BAMUM LETTER PHASE-E PAA
+1696D ; [.3086.0020.0002] # BAMUM LETTER PHASE-E SOM
+1696E ; [.3087.0020.0002] # BAMUM LETTER PHASE-E RAQ
+1696F ; [.3088.0020.0002] # BAMUM LETTER PHASE-E NSHUOP
+16970 ; [.3089.0020.0002] # BAMUM LETTER PHASE-E NDUN
+16971 ; [.308A.0020.0002] # BAMUM LETTER PHASE-E PUAE
+16972 ; [.308B.0020.0002] # BAMUM LETTER PHASE-E TAM
+16973 ; [.308C.0020.0002] # BAMUM LETTER PHASE-E NGKA
+16974 ; [.308D.0020.0002] # BAMUM LETTER PHASE-E KPEUX
+16975 ; [.308E.0020.0002] # BAMUM LETTER PHASE-E WUO
+16976 ; [.308F.0020.0002] # BAMUM LETTER PHASE-E SEE
+16977 ; [.3090.0020.0002] # BAMUM LETTER PHASE-E NGGEUAET
+16978 ; [.3091.0020.0002] # BAMUM LETTER PHASE-E PAAM
+16979 ; [.3092.0020.0002] # BAMUM LETTER PHASE-E TOO
+1697A ; [.3093.0020.0002] # BAMUM LETTER PHASE-E KUOP
+1697B ; [.3094.0020.0002] # BAMUM LETTER PHASE-E LOM
+1697C ; [.3095.0020.0002] # BAMUM LETTER PHASE-E NSHIEE
+1697D ; [.3096.0020.0002] # BAMUM LETTER PHASE-E NGOP
+1697E ; [.3097.0020.0002] # BAMUM LETTER PHASE-E MAEM
+1697F ; [.3098.0020.0002] # BAMUM LETTER PHASE-E NGKEUX
+16980 ; [.3099.0020.0002] # BAMUM LETTER PHASE-E NGOQ
+16981 ; [.309A.0020.0002] # BAMUM LETTER PHASE-E NSHUE
+16982 ; [.309B.0020.0002] # BAMUM LETTER PHASE-E RIMGBA
+16983 ; [.309C.0020.0002] # BAMUM LETTER PHASE-E NJEUX
+16984 ; [.309D.0020.0002] # BAMUM LETTER PHASE-E PEEM
+16985 ; [.309E.0020.0002] # BAMUM LETTER PHASE-E SAA
+16986 ; [.309F.0020.0002] # BAMUM LETTER PHASE-E NGGURAE
+16987 ; [.30A0.0020.0002] # BAMUM LETTER PHASE-E MGBA
+16988 ; [.30A1.0020.0002] # BAMUM LETTER PHASE-E GHEUX
+16989 ; [.30A2.0020.0002] # BAMUM LETTER PHASE-E NGKEUAEM
+1698A ; [.30A3.0020.0002] # BAMUM LETTER PHASE-E NJAEMLI
+1698B ; [.30A4.0020.0002] # BAMUM LETTER PHASE-E MAP
+1698C ; [.30A5.0020.0002] # BAMUM LETTER PHASE-E LOOT
+1698D ; [.30A6.0020.0002] # BAMUM LETTER PHASE-E NGGEEEE
+1698E ; [.30A7.0020.0002] # BAMUM LETTER PHASE-E NDIQ
+1698F ; [.30A8.0020.0002] # BAMUM LETTER PHASE-E TAEN NTEUM
+16990 ; [.30A9.0020.0002] # BAMUM LETTER PHASE-E SET
+16991 ; [.30AA.0020.0002] # BAMUM LETTER PHASE-E PUM
+16992 ; [.30AB.0020.0002] # BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 ; [.30AC.0020.0002] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 ; [.30AD.0020.0002] # BAMUM LETTER PHASE-E YIEE
+16995 ; [.30AE.0020.0002] # BAMUM LETTER PHASE-E GHEUN
+16996 ; [.30AF.0020.0002] # BAMUM LETTER PHASE-E TUAE
+16997 ; [.30B0.0020.0002] # BAMUM LETTER PHASE-E YEUAE
+16998 ; [.30B1.0020.0002] # BAMUM LETTER PHASE-E PO
+16999 ; [.30B2.0020.0002] # BAMUM LETTER PHASE-E TUMAE
+1699A ; [.30B3.0020.0002] # BAMUM LETTER PHASE-E KEUAE
+1699B ; [.30B4.0020.0002] # BAMUM LETTER PHASE-E SUAEN
+1699C ; [.30B5.0020.0002] # BAMUM LETTER PHASE-E TEUAEQ
+1699D ; [.30B6.0020.0002] # BAMUM LETTER PHASE-E VEUAE
+1699E ; [.30B7.0020.0002] # BAMUM LETTER PHASE-E WEUX
+1699F ; [.30B8.0020.0002] # BAMUM LETTER PHASE-E LAAM
+169A0 ; [.30B9.0020.0002] # BAMUM LETTER PHASE-E PU
+169A1 ; [.30BA.0020.0002] # BAMUM LETTER PHASE-E TAAQ
+169A2 ; [.30BB.0020.0002] # BAMUM LETTER PHASE-E GHAAMAE
+169A3 ; [.30BC.0020.0002] # BAMUM LETTER PHASE-E NGEUREUT
+169A4 ; [.30BD.0020.0002] # BAMUM LETTER PHASE-E SHEUAEQ
+169A5 ; [.30BE.0020.0002] # BAMUM LETTER PHASE-E MGBEN
+169A6 ; [.30BF.0020.0002] # BAMUM LETTER PHASE-E MBEE
+169A7 ; [.30C0.0020.0002] # BAMUM LETTER PHASE-E NZAQ
+169A8 ; [.30C1.0020.0002] # BAMUM LETTER PHASE-E NKOM
+169A9 ; [.30C2.0020.0002] # BAMUM LETTER PHASE-E GBET
+169AA ; [.30C3.0020.0002] # BAMUM LETTER PHASE-E TUM
+169AB ; [.30C4.0020.0002] # BAMUM LETTER PHASE-E KUET
+169AC ; [.30C5.0020.0002] # BAMUM LETTER PHASE-E YAP
+169AD ; [.30C6.0020.0002] # BAMUM LETTER PHASE-E NYI CLEAVER
+169AE ; [.30C7.0020.0002] # BAMUM LETTER PHASE-E YIT
+169AF ; [.30C8.0020.0002] # BAMUM LETTER PHASE-E MFEUQ
+169B0 ; [.30C9.0020.0002] # BAMUM LETTER PHASE-E NDIAQ
+169B1 ; [.30CA.0020.0002] # BAMUM LETTER PHASE-E PIEEQ
+169B2 ; [.30CB.0020.0002] # BAMUM LETTER PHASE-E YUEQ
+169B3 ; [.30CC.0020.0002] # BAMUM LETTER PHASE-E LEUAEM
+169B4 ; [.30CD.0020.0002] # BAMUM LETTER PHASE-E FUE
+169B5 ; [.30CE.0020.0002] # BAMUM LETTER PHASE-E GBEUX
+169B6 ; [.30CF.0020.0002] # BAMUM LETTER PHASE-E NGKUP
+169B7 ; [.30D0.0020.0002] # BAMUM LETTER PHASE-E KET
+169B8 ; [.30D1.0020.0002] # BAMUM LETTER PHASE-E MAE
+169B9 ; [.30D2.0020.0002] # BAMUM LETTER PHASE-E NGKAAMI
+169BA ; [.30D3.0020.0002] # BAMUM LETTER PHASE-E GHET
+169BB ; [.30D4.0020.0002] # BAMUM LETTER PHASE-E FA
+169BC ; [.30D5.0020.0002] # BAMUM LETTER PHASE-E NTUM
+169BD ; [.30D6.0020.0002] # BAMUM LETTER PHASE-E PEUT
+169BE ; [.30D7.0020.0002] # BAMUM LETTER PHASE-E YEUM
+169BF ; [.30D8.0020.0002] # BAMUM LETTER PHASE-E NGGEUAE
+169C0 ; [.30D9.0020.0002] # BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 ; [.30DA.0020.0002] # BAMUM LETTER PHASE-E NZUQ
+169C2 ; [.30DB.0020.0002] # BAMUM LETTER PHASE-E POON
+169C3 ; [.30DC.0020.0002] # BAMUM LETTER PHASE-E MIEE
+169C4 ; [.30DD.0020.0002] # BAMUM LETTER PHASE-E FUET
+169C5 ; [.30DE.0020.0002] # BAMUM LETTER PHASE-E NAE
+169C6 ; [.30DF.0020.0002] # BAMUM LETTER PHASE-E MUAE
+169C7 ; [.30E0.0020.0002] # BAMUM LETTER PHASE-E GHEUAE
+169C8 ; [.30E1.0020.0002] # BAMUM LETTER PHASE-E FU I
+169C9 ; [.30E2.0020.0002] # BAMUM LETTER PHASE-E MVI
+169CA ; [.30E3.0020.0002] # BAMUM LETTER PHASE-E PUAQ
+169CB ; [.30E4.0020.0002] # BAMUM LETTER PHASE-E NGKUM
+169CC ; [.30E5.0020.0002] # BAMUM LETTER PHASE-E KUT
+169CD ; [.30E6.0020.0002] # BAMUM LETTER PHASE-E PIET
+169CE ; [.30E7.0020.0002] # BAMUM LETTER PHASE-E NTAP
+169CF ; [.30E8.0020.0002] # BAMUM LETTER PHASE-E YEUAET
+169D0 ; [.30E9.0020.0002] # BAMUM LETTER PHASE-E NGGUP
+169D1 ; [.30EA.0020.0002] # BAMUM LETTER PHASE-E PA PEOPLE
+169D2 ; [.30EB.0020.0002] # BAMUM LETTER PHASE-E FU CALL
+169D3 ; [.30EC.0020.0002] # BAMUM LETTER PHASE-E FOM
+169D4 ; [.30ED.0020.0002] # BAMUM LETTER PHASE-E NJEE
+169D5 ; [.30EE.0020.0002] # BAMUM LETTER PHASE-E A
+169D6 ; [.30EF.0020.0002] # BAMUM LETTER PHASE-E TOQ
+169D7 ; [.30F0.0020.0002] # BAMUM LETTER PHASE-E O
+169D8 ; [.30F1.0020.0002] # BAMUM LETTER PHASE-E I
+169D9 ; [.30F2.0020.0002] # BAMUM LETTER PHASE-E LAQ
+169DA ; [.30F3.0020.0002] # BAMUM LETTER PHASE-E PA PLURAL
+169DB ; [.30F4.0020.0002] # BAMUM LETTER PHASE-E TAA
+169DC ; [.30F5.0020.0002] # BAMUM LETTER PHASE-E TAQ
+169DD ; [.30F6.0020.0002] # BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE ; [.30F7.0020.0002] # BAMUM LETTER PHASE-E SHIQ
+169DF ; [.30F8.0020.0002] # BAMUM LETTER PHASE-E YEUX
+169E0 ; [.30F9.0020.0002] # BAMUM LETTER PHASE-E NGUAE
+169E1 ; [.30FA.0020.0002] # BAMUM LETTER PHASE-E YUAEN
+169E2 ; [.30FB.0020.0002] # BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 ; [.30FC.0020.0002] # BAMUM LETTER PHASE-E YOQ COVER
+169E4 ; [.30FD.0020.0002] # BAMUM LETTER PHASE-E YUQ
+169E5 ; [.30FE.0020.0002] # BAMUM LETTER PHASE-E YUN
+169E6 ; [.30FF.0020.0002] # BAMUM LETTER PHASE-E KEUX
+169E7 ; [.3100.0020.0002] # BAMUM LETTER PHASE-E PEUX
+169E8 ; [.3101.0020.0002] # BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 ; [.3102.0020.0002] # BAMUM LETTER PHASE-E PUE
+169EA ; [.3103.0020.0002] # BAMUM LETTER PHASE-E WUE
+169EB ; [.3104.0020.0002] # BAMUM LETTER PHASE-E FEE
+169EC ; [.3105.0020.0002] # BAMUM LETTER PHASE-E VEE
+169ED ; [.3106.0020.0002] # BAMUM LETTER PHASE-E LU
+169EE ; [.3107.0020.0002] # BAMUM LETTER PHASE-E MI
+169EF ; [.3108.0020.0002] # BAMUM LETTER PHASE-E REUX
+169F0 ; [.3109.0020.0002] # BAMUM LETTER PHASE-E RAE
+169F1 ; [.310A.0020.0002] # BAMUM LETTER PHASE-E NGUAET
+169F2 ; [.310B.0020.0002] # BAMUM LETTER PHASE-E NGA
+169F3 ; [.310C.0020.0002] # BAMUM LETTER PHASE-E SHO
+169F4 ; [.310D.0020.0002] # BAMUM LETTER PHASE-E SHOQ
+169F5 ; [.310E.0020.0002] # BAMUM LETTER PHASE-E FU REMEDY
+169F6 ; [.310F.0020.0002] # BAMUM LETTER PHASE-E NA
+169F7 ; [.3110.0020.0002] # BAMUM LETTER PHASE-E PI
+169F8 ; [.3111.0020.0002] # BAMUM LETTER PHASE-E LOQ
+169F9 ; [.3112.0020.0002] # BAMUM LETTER PHASE-E KO
+169FA ; [.3113.0020.0002] # BAMUM LETTER PHASE-E MEN
+169FB ; [.3114.0020.0002] # BAMUM LETTER PHASE-E MA
+169FC ; [.3115.0020.0002] # BAMUM LETTER PHASE-E MAQ
+169FD ; [.3116.0020.0002] # BAMUM LETTER PHASE-E TEU
+169FE ; [.3117.0020.0002] # BAMUM LETTER PHASE-E KI
+169FF ; [.3118.0020.0002] # BAMUM LETTER PHASE-E MON
+16A00 ; [.3119.0020.0002] # BAMUM LETTER PHASE-E TEN
+16A01 ; [.311A.0020.0002] # BAMUM LETTER PHASE-E FAQ
+16A02 ; [.311B.0020.0002] # BAMUM LETTER PHASE-E GHOM
+16A03 ; [.311C.0020.0002] # BAMUM LETTER PHASE-F KA
+16A04 ; [.311D.0020.0002] # BAMUM LETTER PHASE-F U
+16A05 ; [.311E.0020.0002] # BAMUM LETTER PHASE-F KU
+16A06 ; [.311F.0020.0002] # BAMUM LETTER PHASE-F EE
+16A07 ; [.3120.0020.0002] # BAMUM LETTER PHASE-F REE
+16A08 ; [.3121.0020.0002] # BAMUM LETTER PHASE-F TAE
+16A09 ; [.3122.0020.0002] # BAMUM LETTER PHASE-F NYI
+16A0A ; [.3123.0020.0002] # BAMUM LETTER PHASE-F LA
+16A0B ; [.3124.0020.0002] # BAMUM LETTER PHASE-F RII
+16A0C ; [.3125.0020.0002] # BAMUM LETTER PHASE-F RIEE
+16A0D ; [.3126.0020.0002] # BAMUM LETTER PHASE-F MEEEE
+16A0E ; [.3127.0020.0002] # BAMUM LETTER PHASE-F TAA
+16A0F ; [.3128.0020.0002] # BAMUM LETTER PHASE-F NDAA
+16A10 ; [.3129.0020.0002] # BAMUM LETTER PHASE-F NJAEM
+16A11 ; [.312A.0020.0002] # BAMUM LETTER PHASE-F M
+16A12 ; [.312B.0020.0002] # BAMUM LETTER PHASE-F SUU
+16A13 ; [.312C.0020.0002] # BAMUM LETTER PHASE-F SHII
+16A14 ; [.312D.0020.0002] # BAMUM LETTER PHASE-F SI
+16A15 ; [.312E.0020.0002] # BAMUM LETTER PHASE-F SEUX
+16A16 ; [.312F.0020.0002] # BAMUM LETTER PHASE-F KYEE
+16A17 ; [.3130.0020.0002] # BAMUM LETTER PHASE-F KET
+16A18 ; [.3131.0020.0002] # BAMUM LETTER PHASE-F NUAE
+16A19 ; [.3132.0020.0002] # BAMUM LETTER PHASE-F NU
+16A1A ; [.3133.0020.0002] # BAMUM LETTER PHASE-F NJUAE
+16A1B ; [.3134.0020.0002] # BAMUM LETTER PHASE-F YOQ
+16A1C ; [.3135.0020.0002] # BAMUM LETTER PHASE-F SHU
+16A1D ; [.3136.0020.0002] # BAMUM LETTER PHASE-F YA
+16A1E ; [.3137.0020.0002] # BAMUM LETTER PHASE-F NSHA
+16A1F ; [.3138.0020.0002] # BAMUM LETTER PHASE-F PEUX
+16A20 ; [.3139.0020.0002] # BAMUM LETTER PHASE-F NTEE
+16A21 ; [.313A.0020.0002] # BAMUM LETTER PHASE-F WUE
+16A22 ; [.313B.0020.0002] # BAMUM LETTER PHASE-F PEE
+16A23 ; [.313C.0020.0002] # BAMUM LETTER PHASE-F RU
+16A24 ; [.313D.0020.0002] # BAMUM LETTER PHASE-F NI
+16A25 ; [.313E.0020.0002] # BAMUM LETTER PHASE-F REUX
+16A26 ; [.313F.0020.0002] # BAMUM LETTER PHASE-F KEN
+16A27 ; [.3140.0020.0002] # BAMUM LETTER PHASE-F NGKWAEN
+16A28 ; [.3141.0020.0002] # BAMUM LETTER PHASE-F NGGA
+16A29 ; [.3142.0020.0002] # BAMUM LETTER PHASE-F SHO
+16A2A ; [.3143.0020.0002] # BAMUM LETTER PHASE-F PUAE
+16A2B ; [.3144.0020.0002] # BAMUM LETTER PHASE-F FOM
+16A2C ; [.3145.0020.0002] # BAMUM LETTER PHASE-F WA
+16A2D ; [.3146.0020.0002] # BAMUM LETTER PHASE-F LI
+16A2E ; [.3147.0020.0002] # BAMUM LETTER PHASE-F LOQ
+16A2F ; [.3148.0020.0002] # BAMUM LETTER PHASE-F KO
+16A30 ; [.3149.0020.0002] # BAMUM LETTER PHASE-F MBEN
+16A31 ; [.314A.0020.0002] # BAMUM LETTER PHASE-F REN
+16A32 ; [.314B.0020.0002] # BAMUM LETTER PHASE-F MA
+16A33 ; [.314C.0020.0002] # BAMUM LETTER PHASE-F MO
+16A34 ; [.314D.0020.0002] # BAMUM LETTER PHASE-F MBAA
+16A35 ; [.314E.0020.0002] # BAMUM LETTER PHASE-F TET
+16A36 ; [.314F.0020.0002] # BAMUM LETTER PHASE-F KPA
+16A37 ; [.3150.0020.0002] # BAMUM LETTER PHASE-F SAMBA
+16A38 ; [.3151.0020.0002] # BAMUM LETTER PHASE-F VUEQ
+1100 ; [.3152.0020.0002] # HANGUL CHOSEONG KIYEOK
+3131 ; [.3152.0020.0004] # HANGUL LETTER KIYEOK
+3200 ; [*02FA.0020.0004][.3152.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL KIYEOK
+3260 ; [.3152.0020.0006] # CIRCLED HANGUL KIYEOK
+FFA1 ; [.3152.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK
+320E ; [*02FA.0020.0004][.3152.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL KIYEOK A
+326E ; [.3152.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL KIYEOK A
+1101 ; [.3153.0020.0002] # HANGUL CHOSEONG SSANGKIYEOK
+3132 ; [.3153.0020.0004] # HANGUL LETTER SSANGKIYEOK
+FFA2 ; [.3153.0020.0012] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
+1102 ; [.3154.0020.0002] # HANGUL CHOSEONG NIEUN
+3134 ; [.3154.0020.0004] # HANGUL LETTER NIEUN
+3201 ; [*02FA.0020.0004][.3154.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL NIEUN
+3261 ; [.3154.0020.0006] # CIRCLED HANGUL NIEUN
+FFA4 ; [.3154.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN
+320F ; [*02FA.0020.0004][.3154.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL NIEUN A
+326F ; [.3154.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL NIEUN A
+1103 ; [.3155.0020.0002] # HANGUL CHOSEONG TIKEUT
+3137 ; [.3155.0020.0004] # HANGUL LETTER TIKEUT
+3202 ; [*02FA.0020.0004][.3155.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL TIKEUT
+3262 ; [.3155.0020.0006] # CIRCLED HANGUL TIKEUT
+FFA7 ; [.3155.0020.0012] # HALFWIDTH HANGUL LETTER TIKEUT
+3210 ; [*02FA.0020.0004][.3155.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL TIKEUT A
+3270 ; [.3155.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL TIKEUT A
+1104 ; [.3156.0020.0002] # HANGUL CHOSEONG SSANGTIKEUT
+3138 ; [.3156.0020.0004] # HANGUL LETTER SSANGTIKEUT
+FFA8 ; [.3156.0020.0012] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
+1105 ; [.3157.0020.0002] # HANGUL CHOSEONG RIEUL
+3139 ; [.3157.0020.0004] # HANGUL LETTER RIEUL
+3203 ; [*02FA.0020.0004][.3157.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL RIEUL
+3263 ; [.3157.0020.0006] # CIRCLED HANGUL RIEUL
+FFA9 ; [.3157.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL
+3211 ; [*02FA.0020.0004][.3157.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL RIEUL A
+3271 ; [.3157.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL RIEUL A
+1106 ; [.3158.0020.0002] # HANGUL CHOSEONG MIEUM
+3141 ; [.3158.0020.0004] # HANGUL LETTER MIEUM
+3204 ; [*02FA.0020.0004][.3158.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL MIEUM
+3264 ; [.3158.0020.0006] # CIRCLED HANGUL MIEUM
+FFB1 ; [.3158.0020.0012] # HALFWIDTH HANGUL LETTER MIEUM
+3212 ; [*02FA.0020.0004][.3158.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL MIEUM A
+3272 ; [.3158.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL MIEUM A
+1107 ; [.3159.0020.0002] # HANGUL CHOSEONG PIEUP
+3142 ; [.3159.0020.0004] # HANGUL LETTER PIEUP
+3205 ; [*02FA.0020.0004][.3159.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL PIEUP
+3265 ; [.3159.0020.0006] # CIRCLED HANGUL PIEUP
+FFB2 ; [.3159.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP
+3213 ; [*02FA.0020.0004][.3159.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL PIEUP A
+3273 ; [.3159.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL PIEUP A
+1108 ; [.315A.0020.0002] # HANGUL CHOSEONG SSANGPIEUP
+3143 ; [.315A.0020.0004] # HANGUL LETTER SSANGPIEUP
+FFB3 ; [.315A.0020.0012] # HALFWIDTH HANGUL LETTER SSANGPIEUP
+1109 ; [.315B.0020.0002] # HANGUL CHOSEONG SIOS
+3145 ; [.315B.0020.0004] # HANGUL LETTER SIOS
+3206 ; [*02FA.0020.0004][.315B.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL SIOS
+3266 ; [.315B.0020.0006] # CIRCLED HANGUL SIOS
+FFB5 ; [.315B.0020.0012] # HALFWIDTH HANGUL LETTER SIOS
+3214 ; [*02FA.0020.0004][.315B.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL SIOS A
+3274 ; [.315B.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL SIOS A
+110A ; [.315C.0020.0002] # HANGUL CHOSEONG SSANGSIOS
+3146 ; [.315C.0020.0004] # HANGUL LETTER SSANGSIOS
+FFB6 ; [.315C.0020.0012] # HALFWIDTH HANGUL LETTER SSANGSIOS
+110B ; [.315D.0020.0002] # HANGUL CHOSEONG IEUNG
+3147 ; [.315D.0020.0004] # HANGUL LETTER IEUNG
+3207 ; [*02FA.0020.0004][.315D.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL IEUNG
+3267 ; [.315D.0020.0006] # CIRCLED HANGUL IEUNG
+FFB7 ; [.315D.0020.0012] # HALFWIDTH HANGUL LETTER IEUNG
+3215 ; [*02FA.0020.0004][.315D.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL IEUNG A
+3275 ; [.315D.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL IEUNG A
+321D ; [*02FA.0020.0004][.315D.0020.0004][.31D8.0020.0004][.315E.0020.0004][.31D4.0020.0004][.3231.0020.0004][*02FB.0020.0004] # PARENTHESIZED KOREAN CHARACTER OJEON
+321E ; [*02FA.0020.0004][.315D.0020.0004][.31D8.0020.0004][.3164.0020.0004][.31DD.0020.0004][*02FB.0020.0004] # PARENTHESIZED KOREAN CHARACTER O HU
+327E ; [.315D.0020.0006][.31DD.0020.0006] # CIRCLED HANGUL IEUNG U
+110C ; [.315E.0020.0002] # HANGUL CHOSEONG CIEUC
+3148 ; [.315E.0020.0004] # HANGUL LETTER CIEUC
+3208 ; [*02FA.0020.0004][.315E.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL CIEUC
+3268 ; [.315E.0020.0006] # CIRCLED HANGUL CIEUC
+FFB8 ; [.315E.0020.0012] # HALFWIDTH HANGUL LETTER CIEUC
+3216 ; [*02FA.0020.0004][.315E.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL CIEUC A
+3276 ; [.315E.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL CIEUC A
+321C ; [*02FA.0020.0004][.315E.0020.0004][.31DD.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL CIEUC U
+327D ; [.315E.0020.0006][.31DD.0020.0006][.315D.0020.0006][.31E3.0020.0006] # CIRCLED KOREAN CHARACTER JUEUI
+110D ; [.315F.0020.0002] # HANGUL CHOSEONG SSANGCIEUC
+3149 ; [.315F.0020.0004] # HANGUL LETTER SSANGCIEUC
+FFB9 ; [.315F.0020.0012] # HALFWIDTH HANGUL LETTER SSANGCIEUC
+110E ; [.3160.0020.0002] # HANGUL CHOSEONG CHIEUCH
+314A ; [.3160.0020.0004] # HANGUL LETTER CHIEUCH
+3209 ; [*02FA.0020.0004][.3160.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL CHIEUCH
+3269 ; [.3160.0020.0006] # CIRCLED HANGUL CHIEUCH
+FFBA ; [.3160.0020.0012] # HALFWIDTH HANGUL LETTER CHIEUCH
+3217 ; [*02FA.0020.0004][.3160.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL CHIEUCH A
+3277 ; [.3160.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL CHIEUCH A
+327C ; [.3160.0020.0006][.31D0.0020.0006][.323D.0020.0006][.3152.0020.0006][.31D8.0020.0006] # CIRCLED KOREAN CHARACTER CHAMKO
+110F ; [.3161.0020.0002] # HANGUL CHOSEONG KHIEUKH
+314B ; [.3161.0020.0004] # HANGUL LETTER KHIEUKH
+320A ; [*02FA.0020.0004][.3161.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL KHIEUKH
+326A ; [.3161.0020.0006] # CIRCLED HANGUL KHIEUKH
+FFBB ; [.3161.0020.0012] # HALFWIDTH HANGUL LETTER KHIEUKH
+3218 ; [*02FA.0020.0004][.3161.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL KHIEUKH A
+3278 ; [.3161.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL KHIEUKH A
+1110 ; [.3162.0020.0002] # HANGUL CHOSEONG THIEUTH
+314C ; [.3162.0020.0004] # HANGUL LETTER THIEUTH
+320B ; [*02FA.0020.0004][.3162.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL THIEUTH
+326B ; [.3162.0020.0006] # CIRCLED HANGUL THIEUTH
+FFBC ; [.3162.0020.0012] # HALFWIDTH HANGUL LETTER THIEUTH
+3219 ; [*02FA.0020.0004][.3162.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL THIEUTH A
+3279 ; [.3162.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL THIEUTH A
+1111 ; [.3163.0020.0002] # HANGUL CHOSEONG PHIEUPH
+314D ; [.3163.0020.0004] # HANGUL LETTER PHIEUPH
+320C ; [*02FA.0020.0004][.3163.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL PHIEUPH
+326C ; [.3163.0020.0006] # CIRCLED HANGUL PHIEUPH
+FFBD ; [.3163.0020.0012] # HALFWIDTH HANGUL LETTER PHIEUPH
+321A ; [*02FA.0020.0004][.3163.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL PHIEUPH A
+327A ; [.3163.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL PHIEUPH A
+1112 ; [.3164.0020.0002] # HANGUL CHOSEONG HIEUH
+314E ; [.3164.0020.0004] # HANGUL LETTER HIEUH
+320D ; [*02FA.0020.0004][.3164.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL HIEUH
+326D ; [.3164.0020.0006] # CIRCLED HANGUL HIEUH
+FFBE ; [.3164.0020.0012] # HALFWIDTH HANGUL LETTER HIEUH
+321B ; [*02FA.0020.0004][.3164.0020.0004][.31D0.0020.0004][*02FB.0020.0004] # PARENTHESIZED HANGUL HIEUH A
+327B ; [.3164.0020.0006][.31D0.0020.0006] # CIRCLED HANGUL HIEUH A
+1113 ; [.3165.0020.0002] # HANGUL CHOSEONG NIEUN-KIYEOK
+1114 ; [.3166.0020.0002] # HANGUL CHOSEONG SSANGNIEUN
+3165 ; [.3166.0020.0004] # HANGUL LETTER SSANGNIEUN
+1115 ; [.3167.0020.0002] # HANGUL CHOSEONG NIEUN-TIKEUT
+3166 ; [.3167.0020.0004] # HANGUL LETTER NIEUN-TIKEUT
+1116 ; [.3168.0020.0002] # HANGUL CHOSEONG NIEUN-PIEUP
+1117 ; [.3169.0020.0002] # HANGUL CHOSEONG TIKEUT-KIYEOK
+1118 ; [.316A.0020.0002] # HANGUL CHOSEONG RIEUL-NIEUN
+1119 ; [.316B.0020.0002] # HANGUL CHOSEONG SSANGRIEUL
+111A ; [.316C.0020.0002] # HANGUL CHOSEONG RIEUL-HIEUH
+3140 ; [.316C.0020.0004] # HANGUL LETTER RIEUL-HIEUH
+FFB0 ; [.316C.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+111B ; [.316D.0020.0002] # HANGUL CHOSEONG KAPYEOUNRIEUL
+111C ; [.316E.0020.0002] # HANGUL CHOSEONG MIEUM-PIEUP
+316E ; [.316E.0020.0004] # HANGUL LETTER MIEUM-PIEUP
+111D ; [.316F.0020.0002] # HANGUL CHOSEONG KAPYEOUNMIEUM
+3171 ; [.316F.0020.0004] # HANGUL LETTER KAPYEOUNMIEUM
+111E ; [.3170.0020.0002] # HANGUL CHOSEONG PIEUP-KIYEOK
+3172 ; [.3170.0020.0004] # HANGUL LETTER PIEUP-KIYEOK
+111F ; [.3171.0020.0002] # HANGUL CHOSEONG PIEUP-NIEUN
+1120 ; [.3172.0020.0002] # HANGUL CHOSEONG PIEUP-TIKEUT
+3173 ; [.3172.0020.0004] # HANGUL LETTER PIEUP-TIKEUT
+1121 ; [.3173.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS
+3144 ; [.3173.0020.0004] # HANGUL LETTER PIEUP-SIOS
+FFB4 ; [.3173.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
+1122 ; [.3174.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+3174 ; [.3174.0020.0004] # HANGUL LETTER PIEUP-SIOS-KIYEOK
+1123 ; [.3175.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+3175 ; [.3175.0020.0004] # HANGUL LETTER PIEUP-SIOS-TIKEUT
+1124 ; [.3176.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125 ; [.3177.0020.0002] # HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126 ; [.3178.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127 ; [.3179.0020.0002] # HANGUL CHOSEONG PIEUP-CIEUC
+3176 ; [.3179.0020.0004] # HANGUL LETTER PIEUP-CIEUC
+1128 ; [.317A.0020.0002] # HANGUL CHOSEONG PIEUP-CHIEUCH
+1129 ; [.317B.0020.0002] # HANGUL CHOSEONG PIEUP-THIEUTH
+3177 ; [.317B.0020.0004] # HANGUL LETTER PIEUP-THIEUTH
+112A ; [.317C.0020.0002] # HANGUL CHOSEONG PIEUP-PHIEUPH
+112B ; [.317D.0020.0002] # HANGUL CHOSEONG KAPYEOUNPIEUP
+3178 ; [.317D.0020.0004] # HANGUL LETTER KAPYEOUNPIEUP
+112C ; [.317E.0020.0002] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+3179 ; [.317E.0020.0004] # HANGUL LETTER KAPYEOUNSSANGPIEUP
+112D ; [.317F.0020.0002] # HANGUL CHOSEONG SIOS-KIYEOK
+317A ; [.317F.0020.0004] # HANGUL LETTER SIOS-KIYEOK
+112E ; [.3180.0020.0002] # HANGUL CHOSEONG SIOS-NIEUN
+317B ; [.3180.0020.0004] # HANGUL LETTER SIOS-NIEUN
+112F ; [.3181.0020.0002] # HANGUL CHOSEONG SIOS-TIKEUT
+317C ; [.3181.0020.0004] # HANGUL LETTER SIOS-TIKEUT
+1130 ; [.3182.0020.0002] # HANGUL CHOSEONG SIOS-RIEUL
+1131 ; [.3183.0020.0002] # HANGUL CHOSEONG SIOS-MIEUM
+1132 ; [.3184.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP
+317D ; [.3184.0020.0004] # HANGUL LETTER SIOS-PIEUP
+1133 ; [.3185.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134 ; [.3186.0020.0002] # HANGUL CHOSEONG SIOS-SSANGSIOS
+1135 ; [.3187.0020.0002] # HANGUL CHOSEONG SIOS-IEUNG
+1136 ; [.3188.0020.0002] # HANGUL CHOSEONG SIOS-CIEUC
+317E ; [.3188.0020.0004] # HANGUL LETTER SIOS-CIEUC
+1137 ; [.3189.0020.0002] # HANGUL CHOSEONG SIOS-CHIEUCH
+1138 ; [.318A.0020.0002] # HANGUL CHOSEONG SIOS-KHIEUKH
+1139 ; [.318B.0020.0002] # HANGUL CHOSEONG SIOS-THIEUTH
+113A ; [.318C.0020.0002] # HANGUL CHOSEONG SIOS-PHIEUPH
+113B ; [.318D.0020.0002] # HANGUL CHOSEONG SIOS-HIEUH
+113C ; [.318E.0020.0002] # HANGUL CHOSEONG CHITUEUMSIOS
+113D ; [.318F.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113E ; [.3190.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F ; [.3191.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140 ; [.3192.0020.0002] # HANGUL CHOSEONG PANSIOS
+317F ; [.3192.0020.0004] # HANGUL LETTER PANSIOS
+1141 ; [.3193.0020.0002] # HANGUL CHOSEONG IEUNG-KIYEOK
+1142 ; [.3194.0020.0002] # HANGUL CHOSEONG IEUNG-TIKEUT
+1143 ; [.3195.0020.0002] # HANGUL CHOSEONG IEUNG-MIEUM
+1144 ; [.3196.0020.0002] # HANGUL CHOSEONG IEUNG-PIEUP
+1145 ; [.3197.0020.0002] # HANGUL CHOSEONG IEUNG-SIOS
+1146 ; [.3198.0020.0002] # HANGUL CHOSEONG IEUNG-PANSIOS
+1147 ; [.3199.0020.0002] # HANGUL CHOSEONG SSANGIEUNG
+3180 ; [.3199.0020.0004] # HANGUL LETTER SSANGIEUNG
+1148 ; [.319A.0020.0002] # HANGUL CHOSEONG IEUNG-CIEUC
+1149 ; [.319B.0020.0002] # HANGUL CHOSEONG IEUNG-CHIEUCH
+114A ; [.319C.0020.0002] # HANGUL CHOSEONG IEUNG-THIEUTH
+114B ; [.319D.0020.0002] # HANGUL CHOSEONG IEUNG-PHIEUPH
+114C ; [.319E.0020.0002] # HANGUL CHOSEONG YESIEUNG
+3181 ; [.319E.0020.0004] # HANGUL LETTER YESIEUNG
+114D ; [.319F.0020.0002] # HANGUL CHOSEONG CIEUC-IEUNG
+114E ; [.31A0.0020.0002] # HANGUL CHOSEONG CHITUEUMCIEUC
+114F ; [.31A1.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150 ; [.31A2.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151 ; [.31A3.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152 ; [.31A4.0020.0002] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153 ; [.31A5.0020.0002] # HANGUL CHOSEONG CHIEUCH-HIEUH
+1154 ; [.31A6.0020.0002] # HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155 ; [.31A7.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156 ; [.31A8.0020.0002] # HANGUL CHOSEONG PHIEUPH-PIEUP
+1157 ; [.31A9.0020.0002] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
+3184 ; [.31A9.0020.0004] # HANGUL LETTER KAPYEOUNPHIEUPH
+1158 ; [.31AA.0020.0002] # HANGUL CHOSEONG SSANGHIEUH
+3185 ; [.31AA.0020.0004] # HANGUL LETTER SSANGHIEUH
+1159 ; [.31AB.0020.0002] # HANGUL CHOSEONG YEORINHIEUH
+3186 ; [.31AB.0020.0004] # HANGUL LETTER YEORINHIEUH
+115A ; [.31AC.0020.0002] # HANGUL CHOSEONG KIYEOK-TIKEUT
+115B ; [.31AD.0020.0002] # HANGUL CHOSEONG NIEUN-SIOS
+115C ; [.31AE.0020.0002] # HANGUL CHOSEONG NIEUN-CIEUC
+115D ; [.31AF.0020.0002] # HANGUL CHOSEONG NIEUN-HIEUH
+115E ; [.31B0.0020.0002] # HANGUL CHOSEONG TIKEUT-RIEUL
+A960 ; [.31B1.0020.0002] # HANGUL CHOSEONG TIKEUT-MIEUM
+A961 ; [.31B2.0020.0002] # HANGUL CHOSEONG TIKEUT-PIEUP
+A962 ; [.31B3.0020.0002] # HANGUL CHOSEONG TIKEUT-SIOS
+A963 ; [.31B4.0020.0002] # HANGUL CHOSEONG TIKEUT-CIEUC
+A964 ; [.31B5.0020.0002] # HANGUL CHOSEONG RIEUL-KIYEOK
+A965 ; [.31B6.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+A966 ; [.31B7.0020.0002] # HANGUL CHOSEONG RIEUL-TIKEUT
+A967 ; [.31B8.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+A968 ; [.31B9.0020.0002] # HANGUL CHOSEONG RIEUL-MIEUM
+A969 ; [.31BA.0020.0002] # HANGUL CHOSEONG RIEUL-PIEUP
+A96A ; [.31BB.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
+A96B ; [.31BC.0020.0002] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+A96C ; [.31BD.0020.0002] # HANGUL CHOSEONG RIEUL-SIOS
+A96D ; [.31BE.0020.0002] # HANGUL CHOSEONG RIEUL-CIEUC
+A96E ; [.31BF.0020.0002] # HANGUL CHOSEONG RIEUL-KHIEUKH
+A96F ; [.31C0.0020.0002] # HANGUL CHOSEONG MIEUM-KIYEOK
+A970 ; [.31C1.0020.0002] # HANGUL CHOSEONG MIEUM-TIKEUT
+A971 ; [.31C2.0020.0002] # HANGUL CHOSEONG MIEUM-SIOS
+A972 ; [.31C3.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+A973 ; [.31C4.0020.0002] # HANGUL CHOSEONG PIEUP-KHIEUKH
+A974 ; [.31C5.0020.0002] # HANGUL CHOSEONG PIEUP-HIEUH
+A975 ; [.31C6.0020.0002] # HANGUL CHOSEONG SSANGSIOS-PIEUP
+A976 ; [.31C7.0020.0002] # HANGUL CHOSEONG IEUNG-RIEUL
+A977 ; [.31C8.0020.0002] # HANGUL CHOSEONG IEUNG-HIEUH
+A978 ; [.31C9.0020.0002] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
+A979 ; [.31CA.0020.0002] # HANGUL CHOSEONG SSANGTHIEUTH
+A97A ; [.31CB.0020.0002] # HANGUL CHOSEONG PHIEUPH-HIEUH
+A97B ; [.31CC.0020.0002] # HANGUL CHOSEONG HIEUH-SIOS
+A97C ; [.31CD.0020.0002] # HANGUL CHOSEONG SSANGYEORINHIEUH
+115F ; [.31CE.0020.0002] # HANGUL CHOSEONG FILLER
+1160 ; [.31CF.0020.0002] # HANGUL JUNGSEONG FILLER
+3164 ; [.31CF.0020.0004] # HANGUL FILLER
+FFA0 ; [.31CF.0020.0012] # HALFWIDTH HANGUL FILLER
+1161 ; [.31D0.0020.0002] # HANGUL JUNGSEONG A
+314F ; [.31D0.0020.0004] # HANGUL LETTER A
+FFC2 ; [.31D0.0020.0012] # HALFWIDTH HANGUL LETTER A
+1162 ; [.31D1.0020.0002] # HANGUL JUNGSEONG AE
+3150 ; [.31D1.0020.0004] # HANGUL LETTER AE
+FFC3 ; [.31D1.0020.0012] # HALFWIDTH HANGUL LETTER AE
+1163 ; [.31D2.0020.0002] # HANGUL JUNGSEONG YA
+3151 ; [.31D2.0020.0004] # HANGUL LETTER YA
+FFC4 ; [.31D2.0020.0012] # HALFWIDTH HANGUL LETTER YA
+1164 ; [.31D3.0020.0002] # HANGUL JUNGSEONG YAE
+3152 ; [.31D3.0020.0004] # HANGUL LETTER YAE
+FFC5 ; [.31D3.0020.0012] # HALFWIDTH HANGUL LETTER YAE
+1165 ; [.31D4.0020.0002] # HANGUL JUNGSEONG EO
+3153 ; [.31D4.0020.0004] # HANGUL LETTER EO
+FFC6 ; [.31D4.0020.0012] # HALFWIDTH HANGUL LETTER EO
+1166 ; [.31D5.0020.0002] # HANGUL JUNGSEONG E
+3154 ; [.31D5.0020.0004] # HANGUL LETTER E
+FFC7 ; [.31D5.0020.0012] # HALFWIDTH HANGUL LETTER E
+1167 ; [.31D6.0020.0002] # HANGUL JUNGSEONG YEO
+3155 ; [.31D6.0020.0004] # HANGUL LETTER YEO
+FFCA ; [.31D6.0020.0012] # HALFWIDTH HANGUL LETTER YEO
+1168 ; [.31D7.0020.0002] # HANGUL JUNGSEONG YE
+3156 ; [.31D7.0020.0004] # HANGUL LETTER YE
+FFCB ; [.31D7.0020.0012] # HALFWIDTH HANGUL LETTER YE
+1169 ; [.31D8.0020.0002] # HANGUL JUNGSEONG O
+3157 ; [.31D8.0020.0004] # HANGUL LETTER O
+FFCC ; [.31D8.0020.0012] # HALFWIDTH HANGUL LETTER O
+116A ; [.31D9.0020.0002] # HANGUL JUNGSEONG WA
+3158 ; [.31D9.0020.0004] # HANGUL LETTER WA
+FFCD ; [.31D9.0020.0012] # HALFWIDTH HANGUL LETTER WA
+116B ; [.31DA.0020.0002] # HANGUL JUNGSEONG WAE
+3159 ; [.31DA.0020.0004] # HANGUL LETTER WAE
+FFCE ; [.31DA.0020.0012] # HALFWIDTH HANGUL LETTER WAE
+116C ; [.31DB.0020.0002] # HANGUL JUNGSEONG OE
+315A ; [.31DB.0020.0004] # HANGUL LETTER OE
+FFCF ; [.31DB.0020.0012] # HALFWIDTH HANGUL LETTER OE
+116D ; [.31DC.0020.0002] # HANGUL JUNGSEONG YO
+315B ; [.31DC.0020.0004] # HANGUL LETTER YO
+FFD2 ; [.31DC.0020.0012] # HALFWIDTH HANGUL LETTER YO
+116E ; [.31DD.0020.0002] # HANGUL JUNGSEONG U
+315C ; [.31DD.0020.0004] # HANGUL LETTER U
+FFD3 ; [.31DD.0020.0012] # HALFWIDTH HANGUL LETTER U
+116F ; [.31DE.0020.0002] # HANGUL JUNGSEONG WEO
+315D ; [.31DE.0020.0004] # HANGUL LETTER WEO
+FFD4 ; [.31DE.0020.0012] # HALFWIDTH HANGUL LETTER WEO
+1170 ; [.31DF.0020.0002] # HANGUL JUNGSEONG WE
+315E ; [.31DF.0020.0004] # HANGUL LETTER WE
+FFD5 ; [.31DF.0020.0012] # HALFWIDTH HANGUL LETTER WE
+1171 ; [.31E0.0020.0002] # HANGUL JUNGSEONG WI
+315F ; [.31E0.0020.0004] # HANGUL LETTER WI
+FFD6 ; [.31E0.0020.0012] # HALFWIDTH HANGUL LETTER WI
+1172 ; [.31E1.0020.0002] # HANGUL JUNGSEONG YU
+3160 ; [.31E1.0020.0004] # HANGUL LETTER YU
+FFD7 ; [.31E1.0020.0012] # HALFWIDTH HANGUL LETTER YU
+1173 ; [.31E2.0020.0002] # HANGUL JUNGSEONG EU
+3161 ; [.31E2.0020.0004] # HANGUL LETTER EU
+FFDA ; [.31E2.0020.0012] # HALFWIDTH HANGUL LETTER EU
+1174 ; [.31E3.0020.0002] # HANGUL JUNGSEONG YI
+3162 ; [.31E3.0020.0004] # HANGUL LETTER YI
+FFDB ; [.31E3.0020.0012] # HALFWIDTH HANGUL LETTER YI
+1175 ; [.31E4.0020.0002] # HANGUL JUNGSEONG I
+3163 ; [.31E4.0020.0004] # HANGUL LETTER I
+FFDC ; [.31E4.0020.0012] # HALFWIDTH HANGUL LETTER I
+1176 ; [.31E5.0020.0002] # HANGUL JUNGSEONG A-O
+1177 ; [.31E6.0020.0002] # HANGUL JUNGSEONG A-U
+1178 ; [.31E7.0020.0002] # HANGUL JUNGSEONG YA-O
+1179 ; [.31E8.0020.0002] # HANGUL JUNGSEONG YA-YO
+117A ; [.31E9.0020.0002] # HANGUL JUNGSEONG EO-O
+117B ; [.31EA.0020.0002] # HANGUL JUNGSEONG EO-U
+117C ; [.31EB.0020.0002] # HANGUL JUNGSEONG EO-EU
+117D ; [.31EC.0020.0002] # HANGUL JUNGSEONG YEO-O
+117E ; [.31ED.0020.0002] # HANGUL JUNGSEONG YEO-U
+117F ; [.31EE.0020.0002] # HANGUL JUNGSEONG O-EO
+1180 ; [.31EF.0020.0002] # HANGUL JUNGSEONG O-E
+1181 ; [.31F0.0020.0002] # HANGUL JUNGSEONG O-YE
+1182 ; [.31F1.0020.0002] # HANGUL JUNGSEONG O-O
+1183 ; [.31F2.0020.0002] # HANGUL JUNGSEONG O-U
+1184 ; [.31F3.0020.0002] # HANGUL JUNGSEONG YO-YA
+3187 ; [.31F3.0020.0004] # HANGUL LETTER YO-YA
+1185 ; [.31F4.0020.0002] # HANGUL JUNGSEONG YO-YAE
+3188 ; [.31F4.0020.0004] # HANGUL LETTER YO-YAE
+1186 ; [.31F5.0020.0002] # HANGUL JUNGSEONG YO-YEO
+1187 ; [.31F6.0020.0002] # HANGUL JUNGSEONG YO-O
+1188 ; [.31F7.0020.0002] # HANGUL JUNGSEONG YO-I
+3189 ; [.31F7.0020.0004] # HANGUL LETTER YO-I
+1189 ; [.31F8.0020.0002] # HANGUL JUNGSEONG U-A
+118A ; [.31F9.0020.0002] # HANGUL JUNGSEONG U-AE
+118B ; [.31FA.0020.0002] # HANGUL JUNGSEONG U-EO-EU
+118C ; [.31FB.0020.0002] # HANGUL JUNGSEONG U-YE
+118D ; [.31FC.0020.0002] # HANGUL JUNGSEONG U-U
+118E ; [.31FD.0020.0002] # HANGUL JUNGSEONG YU-A
+118F ; [.31FE.0020.0002] # HANGUL JUNGSEONG YU-EO
+1190 ; [.31FF.0020.0002] # HANGUL JUNGSEONG YU-E
+1191 ; [.3200.0020.0002] # HANGUL JUNGSEONG YU-YEO
+318A ; [.3200.0020.0004] # HANGUL LETTER YU-YEO
+1192 ; [.3201.0020.0002] # HANGUL JUNGSEONG YU-YE
+318B ; [.3201.0020.0004] # HANGUL LETTER YU-YE
+1193 ; [.3202.0020.0002] # HANGUL JUNGSEONG YU-U
+1194 ; [.3203.0020.0002] # HANGUL JUNGSEONG YU-I
+318C ; [.3203.0020.0004] # HANGUL LETTER YU-I
+1195 ; [.3204.0020.0002] # HANGUL JUNGSEONG EU-U
+1196 ; [.3205.0020.0002] # HANGUL JUNGSEONG EU-EU
+1197 ; [.3206.0020.0002] # HANGUL JUNGSEONG YI-U
+1198 ; [.3207.0020.0002] # HANGUL JUNGSEONG I-A
+1199 ; [.3208.0020.0002] # HANGUL JUNGSEONG I-YA
+119A ; [.3209.0020.0002] # HANGUL JUNGSEONG I-O
+119B ; [.320A.0020.0002] # HANGUL JUNGSEONG I-U
+119C ; [.320B.0020.0002] # HANGUL JUNGSEONG I-EU
+119D ; [.320C.0020.0002] # HANGUL JUNGSEONG I-ARAEA
+119E ; [.320D.0020.0002] # HANGUL JUNGSEONG ARAEA
+318D ; [.320D.0020.0004] # HANGUL LETTER ARAEA
+119F ; [.320E.0020.0002] # HANGUL JUNGSEONG ARAEA-EO
+11A0 ; [.320F.0020.0002] # HANGUL JUNGSEONG ARAEA-U
+11A1 ; [.3210.0020.0002] # HANGUL JUNGSEONG ARAEA-I
+318E ; [.3210.0020.0004] # HANGUL LETTER ARAEAE
+11A2 ; [.3211.0020.0002] # HANGUL JUNGSEONG SSANGARAEA
+11A3 ; [.3212.0020.0002] # HANGUL JUNGSEONG A-EU
+11A4 ; [.3213.0020.0002] # HANGUL JUNGSEONG YA-U
+11A5 ; [.3214.0020.0002] # HANGUL JUNGSEONG YEO-YA
+11A6 ; [.3215.0020.0002] # HANGUL JUNGSEONG O-YA
+11A7 ; [.3216.0020.0002] # HANGUL JUNGSEONG O-YAE
+D7B0 ; [.3217.0020.0002] # HANGUL JUNGSEONG O-YEO
+D7B1 ; [.3218.0020.0002] # HANGUL JUNGSEONG O-O-I
+D7B2 ; [.3219.0020.0002] # HANGUL JUNGSEONG YO-A
+D7B3 ; [.321A.0020.0002] # HANGUL JUNGSEONG YO-AE
+D7B4 ; [.321B.0020.0002] # HANGUL JUNGSEONG YO-EO
+D7B5 ; [.321C.0020.0002] # HANGUL JUNGSEONG U-YEO
+D7B6 ; [.321D.0020.0002] # HANGUL JUNGSEONG U-I-I
+D7B7 ; [.321E.0020.0002] # HANGUL JUNGSEONG YU-AE
+D7B8 ; [.321F.0020.0002] # HANGUL JUNGSEONG YU-O
+D7B9 ; [.3220.0020.0002] # HANGUL JUNGSEONG EU-A
+D7BA ; [.3221.0020.0002] # HANGUL JUNGSEONG EU-EO
+D7BB ; [.3222.0020.0002] # HANGUL JUNGSEONG EU-E
+D7BC ; [.3223.0020.0002] # HANGUL JUNGSEONG EU-O
+D7BD ; [.3224.0020.0002] # HANGUL JUNGSEONG I-YA-O
+D7BE ; [.3225.0020.0002] # HANGUL JUNGSEONG I-YAE
+D7BF ; [.3226.0020.0002] # HANGUL JUNGSEONG I-YEO
+D7C0 ; [.3227.0020.0002] # HANGUL JUNGSEONG I-YE
+D7C1 ; [.3228.0020.0002] # HANGUL JUNGSEONG I-O-I
+D7C2 ; [.3229.0020.0002] # HANGUL JUNGSEONG I-YO
+D7C3 ; [.322A.0020.0002] # HANGUL JUNGSEONG I-YU
+D7C4 ; [.322B.0020.0002] # HANGUL JUNGSEONG I-I
+D7C5 ; [.322C.0020.0002] # HANGUL JUNGSEONG ARAEA-A
+D7C6 ; [.322D.0020.0002] # HANGUL JUNGSEONG ARAEA-E
+11A8 ; [.322E.0020.0002] # HANGUL JONGSEONG KIYEOK
+11A9 ; [.322F.0020.0002] # HANGUL JONGSEONG SSANGKIYEOK
+11AA ; [.3230.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS
+3133 ; [.3230.0020.0004] # HANGUL LETTER KIYEOK-SIOS
+FFA3 ; [.3230.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+11AB ; [.3231.0020.0002] # HANGUL JONGSEONG NIEUN
+11AC ; [.3232.0020.0002] # HANGUL JONGSEONG NIEUN-CIEUC
+3135 ; [.3232.0020.0004] # HANGUL LETTER NIEUN-CIEUC
+FFA5 ; [.3232.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+11AD ; [.3233.0020.0002] # HANGUL JONGSEONG NIEUN-HIEUH
+3136 ; [.3233.0020.0004] # HANGUL LETTER NIEUN-HIEUH
+FFA6 ; [.3233.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+11AE ; [.3234.0020.0002] # HANGUL JONGSEONG TIKEUT
+11AF ; [.3235.0020.0002] # HANGUL JONGSEONG RIEUL
+11B0 ; [.3236.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK
+313A ; [.3236.0020.0004] # HANGUL LETTER RIEUL-KIYEOK
+FFAA ; [.3236.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+11B1 ; [.3237.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM
+313B ; [.3237.0020.0004] # HANGUL LETTER RIEUL-MIEUM
+FFAB ; [.3237.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+11B2 ; [.3238.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP
+313C ; [.3238.0020.0004] # HANGUL LETTER RIEUL-PIEUP
+FFAC ; [.3238.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+11B3 ; [.3239.0020.0002] # HANGUL JONGSEONG RIEUL-SIOS
+313D ; [.3239.0020.0004] # HANGUL LETTER RIEUL-SIOS
+FFAD ; [.3239.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
+11B4 ; [.323A.0020.0002] # HANGUL JONGSEONG RIEUL-THIEUTH
+313E ; [.323A.0020.0004] # HANGUL LETTER RIEUL-THIEUTH
+FFAE ; [.323A.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+11B5 ; [.323B.0020.0002] # HANGUL JONGSEONG RIEUL-PHIEUPH
+313F ; [.323B.0020.0004] # HANGUL LETTER RIEUL-PHIEUPH
+FFAF ; [.323B.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+11B6 ; [.323C.0020.0002] # HANGUL JONGSEONG RIEUL-HIEUH
+11B7 ; [.323D.0020.0002] # HANGUL JONGSEONG MIEUM
+11B8 ; [.323E.0020.0002] # HANGUL JONGSEONG PIEUP
+11B9 ; [.323F.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS
+11BA ; [.3240.0020.0002] # HANGUL JONGSEONG SIOS
+11BB ; [.3241.0020.0002] # HANGUL JONGSEONG SSANGSIOS
+11BC ; [.3242.0020.0002] # HANGUL JONGSEONG IEUNG
+11BD ; [.3243.0020.0002] # HANGUL JONGSEONG CIEUC
+11BE ; [.3244.0020.0002] # HANGUL JONGSEONG CHIEUCH
+11BF ; [.3245.0020.0002] # HANGUL JONGSEONG KHIEUKH
+11C0 ; [.3246.0020.0002] # HANGUL JONGSEONG THIEUTH
+11C1 ; [.3247.0020.0002] # HANGUL JONGSEONG PHIEUPH
+11C2 ; [.3248.0020.0002] # HANGUL JONGSEONG HIEUH
+11C3 ; [.3249.0020.0002] # HANGUL JONGSEONG KIYEOK-RIEUL
+11C4 ; [.324A.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11C5 ; [.324B.0020.0002] # HANGUL JONGSEONG NIEUN-KIYEOK
+11C6 ; [.324C.0020.0002] # HANGUL JONGSEONG NIEUN-TIKEUT
+11C7 ; [.324D.0020.0002] # HANGUL JONGSEONG NIEUN-SIOS
+3167 ; [.324D.0020.0004] # HANGUL LETTER NIEUN-SIOS
+11C8 ; [.324E.0020.0002] # HANGUL JONGSEONG NIEUN-PANSIOS
+3168 ; [.324E.0020.0004] # HANGUL LETTER NIEUN-PANSIOS
+11C9 ; [.324F.0020.0002] # HANGUL JONGSEONG NIEUN-THIEUTH
+11CA ; [.3250.0020.0002] # HANGUL JONGSEONG TIKEUT-KIYEOK
+11CB ; [.3251.0020.0002] # HANGUL JONGSEONG TIKEUT-RIEUL
+11CC ; [.3252.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+3169 ; [.3252.0020.0004] # HANGUL LETTER RIEUL-KIYEOK-SIOS
+11CD ; [.3253.0020.0002] # HANGUL JONGSEONG RIEUL-NIEUN
+11CE ; [.3254.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT
+316A ; [.3254.0020.0004] # HANGUL LETTER RIEUL-TIKEUT
+11CF ; [.3255.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11D0 ; [.3256.0020.0002] # HANGUL JONGSEONG SSANGRIEUL
+11D1 ; [.3257.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11D2 ; [.3258.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11D3 ; [.3259.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+316B ; [.3259.0020.0004] # HANGUL LETTER RIEUL-PIEUP-SIOS
+11D4 ; [.325A.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11D5 ; [.325B.0020.0002] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11D6 ; [.325C.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGSIOS
+11D7 ; [.325D.0020.0002] # HANGUL JONGSEONG RIEUL-PANSIOS
+316C ; [.325D.0020.0004] # HANGUL LETTER RIEUL-PANSIOS
+11D8 ; [.325E.0020.0002] # HANGUL JONGSEONG RIEUL-KHIEUKH
+11D9 ; [.325F.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
+316D ; [.325F.0020.0004] # HANGUL LETTER RIEUL-YEORINHIEUH
+11DA ; [.3260.0020.0002] # HANGUL JONGSEONG MIEUM-KIYEOK
+11DB ; [.3261.0020.0002] # HANGUL JONGSEONG MIEUM-RIEUL
+11DC ; [.3262.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP
+11DD ; [.3263.0020.0002] # HANGUL JONGSEONG MIEUM-SIOS
+316F ; [.3263.0020.0004] # HANGUL LETTER MIEUM-SIOS
+11DE ; [.3264.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGSIOS
+11DF ; [.3265.0020.0002] # HANGUL JONGSEONG MIEUM-PANSIOS
+3170 ; [.3265.0020.0004] # HANGUL LETTER MIEUM-PANSIOS
+11E0 ; [.3266.0020.0002] # HANGUL JONGSEONG MIEUM-CHIEUCH
+11E1 ; [.3267.0020.0002] # HANGUL JONGSEONG MIEUM-HIEUH
+11E2 ; [.3268.0020.0002] # HANGUL JONGSEONG KAPYEOUNMIEUM
+11E3 ; [.3269.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL
+11E4 ; [.326A.0020.0002] # HANGUL JONGSEONG PIEUP-PHIEUPH
+11E5 ; [.326B.0020.0002] # HANGUL JONGSEONG PIEUP-HIEUH
+11E6 ; [.326C.0020.0002] # HANGUL JONGSEONG KAPYEOUNPIEUP
+11E7 ; [.326D.0020.0002] # HANGUL JONGSEONG SIOS-KIYEOK
+11E8 ; [.326E.0020.0002] # HANGUL JONGSEONG SIOS-TIKEUT
+11E9 ; [.326F.0020.0002] # HANGUL JONGSEONG SIOS-RIEUL
+11EA ; [.3270.0020.0002] # HANGUL JONGSEONG SIOS-PIEUP
+11EB ; [.3271.0020.0002] # HANGUL JONGSEONG PANSIOS
+11EC ; [.3272.0020.0002] # HANGUL JONGSEONG IEUNG-KIYEOK
+11ED ; [.3273.0020.0002] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11EE ; [.3274.0020.0002] # HANGUL JONGSEONG SSANGIEUNG
+11EF ; [.3275.0020.0002] # HANGUL JONGSEONG IEUNG-KHIEUKH
+11F0 ; [.3276.0020.0002] # HANGUL JONGSEONG YESIEUNG
+11F1 ; [.3277.0020.0002] # HANGUL JONGSEONG YESIEUNG-SIOS
+3182 ; [.3277.0020.0004] # HANGUL LETTER YESIEUNG-SIOS
+11F2 ; [.3278.0020.0002] # HANGUL JONGSEONG YESIEUNG-PANSIOS
+3183 ; [.3278.0020.0004] # HANGUL LETTER YESIEUNG-PANSIOS
+11F3 ; [.3279.0020.0002] # HANGUL JONGSEONG PHIEUPH-PIEUP
+11F4 ; [.327A.0020.0002] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11F5 ; [.327B.0020.0002] # HANGUL JONGSEONG HIEUH-NIEUN
+11F6 ; [.327C.0020.0002] # HANGUL JONGSEONG HIEUH-RIEUL
+11F7 ; [.327D.0020.0002] # HANGUL JONGSEONG HIEUH-MIEUM
+11F8 ; [.327E.0020.0002] # HANGUL JONGSEONG HIEUH-PIEUP
+11F9 ; [.327F.0020.0002] # HANGUL JONGSEONG YEORINHIEUH
+11FA ; [.3280.0020.0002] # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB ; [.3281.0020.0002] # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC ; [.3282.0020.0002] # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD ; [.3283.0020.0002] # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE ; [.3284.0020.0002] # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF ; [.3285.0020.0002] # HANGUL JONGSEONG SSANGNIEUN
+D7CB ; [.3286.0020.0002] # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC ; [.3287.0020.0002] # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD ; [.3288.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT
+D7CE ; [.3289.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF ; [.328A.0020.0002] # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0 ; [.328B.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1 ; [.328C.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2 ; [.328D.0020.0002] # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3 ; [.328E.0020.0002] # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4 ; [.328F.0020.0002] # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5 ; [.3290.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6 ; [.3291.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7 ; [.3292.0020.0002] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8 ; [.3293.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9 ; [.3294.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA ; [.3295.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB ; [.3296.0020.0002] # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC ; [.3297.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD ; [.3298.0020.0002] # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE ; [.3299.0020.0002] # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF ; [.329A.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0 ; [.329B.0020.0002] # HANGUL JONGSEONG SSANGMIEUM
+D7E1 ; [.329C.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2 ; [.329D.0020.0002] # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3 ; [.329E.0020.0002] # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4 ; [.329F.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5 ; [.32A0.0020.0002] # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6 ; [.32A1.0020.0002] # HANGUL JONGSEONG SSANGPIEUP
+D7E7 ; [.32A2.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8 ; [.32A3.0020.0002] # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9 ; [.32A4.0020.0002] # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA ; [.32A5.0020.0002] # HANGUL JONGSEONG SIOS-MIEUM
+D7EB ; [.32A6.0020.0002] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC ; [.32A7.0020.0002] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED ; [.32A8.0020.0002] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE ; [.32A9.0020.0002] # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF ; [.32AA.0020.0002] # HANGUL JONGSEONG SIOS-CIEUC
+D7F0 ; [.32AB.0020.0002] # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1 ; [.32AC.0020.0002] # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2 ; [.32AD.0020.0002] # HANGUL JONGSEONG SIOS-HIEUH
+D7F3 ; [.32AE.0020.0002] # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4 ; [.32AF.0020.0002] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5 ; [.32B0.0020.0002] # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6 ; [.32B1.0020.0002] # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7 ; [.32B2.0020.0002] # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8 ; [.32B3.0020.0002] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9 ; [.32B4.0020.0002] # HANGUL JONGSEONG SSANGCIEUC
+D7FA ; [.32B5.0020.0002] # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB ; [.32B6.0020.0002] # HANGUL JONGSEONG PHIEUPH-THIEUTH
+3041 ; [.32B7.0020.000D] # HIRAGANA LETTER SMALL A
+3042 ; [.32B7.0020.000E] # HIRAGANA LETTER A
+30A1 ; [.32B7.0020.000F] # KATAKANA LETTER SMALL A
+FF67 ; [.32B7.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL A
+30A2 ; [.32B7.0020.0011] # KATAKANA LETTER A
+FF71 ; [.32B7.0020.0012] # HALFWIDTH KATAKANA LETTER A
+32D0 ; [.32B7.0020.0013] # CIRCLED KATAKANA A
+3303 ; [.32B7.0020.001C][.15B6.0020.001C][.32E1.0020.001C] # SQUARE AARU
+3300 ; [.32B7.0020.001C][.32D1.0020.001C][.0000.0038.001C][.15B6.0020.001C][.32CB.0020.001C] # SQUARE APAATO
+3301 ; [.32B7.0020.001C][.32E1.0020.001C][.32D3.0020.001C][.32B7.0020.001C] # SQUARE ARUHUA
+3302 ; [.32B7.0020.001C][.32E8.0020.001C][.32D4.0020.001C][.0000.0038.001C][.32B7.0020.001C] # SQUARE ANPEA
+3043 ; [.32B8.0020.000D] # HIRAGANA LETTER SMALL I
+3044 ; [.32B8.0020.000E] # HIRAGANA LETTER I
+30A3 ; [.32B8.0020.000F] # KATAKANA LETTER SMALL I
+FF68 ; [.32B8.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL I
+30A4 ; [.32B8.0020.0011] # KATAKANA LETTER I
+FF72 ; [.32B8.0020.0012] # HALFWIDTH KATAKANA LETTER I
+32D1 ; [.32B8.0020.0013] # CIRCLED KATAKANA I
+3304 ; [.32B8.0020.001C][.32CD.0020.001C][.32E8.0020.001C][.32BF.0020.001C][.0000.0037.001C] # SQUARE ININGU
+3305 ; [.32B8.0020.001C][.32E8.0020.001C][.32C8.0020.001C] # SQUARE INTI
+3045 ; [.32B9.0020.000D] # HIRAGANA LETTER SMALL U
+3046 ; [.32B9.0020.000E] # HIRAGANA LETTER U
+30A5 ; [.32B9.0020.000F] # KATAKANA LETTER SMALL U
+FF69 ; [.32B9.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL U
+30A6 ; [.32B9.0020.0011] # KATAKANA LETTER U
+FF73 ; [.32B9.0020.0012] # HALFWIDTH KATAKANA LETTER U
+32D2 ; [.32B9.0020.0013] # CIRCLED KATAKANA U
+3094 ; [.32B9.0020.000E][.0000.0037.0002] # HIRAGANA LETTER VU
+30F4 ; [.32B9.0020.0011][.0000.0037.0002] # KATAKANA LETTER VU
+3306 ; [.32B9.0020.001C][.32BC.0020.001C][.32E8.0020.001C] # SQUARE UON
+1B000 ; [.32BA.0020.0011] # KATAKANA LETTER ARCHAIC E
+3047 ; [.32BB.0020.000D] # HIRAGANA LETTER SMALL E
+3048 ; [.32BB.0020.000E] # HIRAGANA LETTER E
+30A7 ; [.32BB.0020.000F] # KATAKANA LETTER SMALL E
+FF6A ; [.32BB.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL E
+30A8 ; [.32BB.0020.0011] # KATAKANA LETTER E
+FF74 ; [.32BB.0020.0012] # HALFWIDTH KATAKANA LETTER E
+32D3 ; [.32BB.0020.0013] # CIRCLED KATAKANA E
+3308 ; [.32BB.0020.001C][.15B6.0020.001C][.32BD.0020.001C][.15B6.0020.001C] # SQUARE EEKAA
+3307 ; [.32BB.0020.001C][.32C4.0020.001C][.32BF.0020.001C][.15B6.0020.001C][.32CB.0020.001C][.0000.0037.001C] # SQUARE ESUKUUDO
+3049 ; [.32BC.0020.000D] # HIRAGANA LETTER SMALL O
+304A ; [.32BC.0020.000E] # HIRAGANA LETTER O
+30A9 ; [.32BC.0020.000F] # KATAKANA LETTER SMALL O
+FF6B ; [.32BC.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL O
+30AA ; [.32BC.0020.0011] # KATAKANA LETTER O
+FF75 ; [.32BC.0020.0012] # HALFWIDTH KATAKANA LETTER O
+32D4 ; [.32BC.0020.0013] # CIRCLED KATAKANA O
+330A ; [.32BC.0020.001C][.15B6.0020.001C][.32D8.0020.001C] # SQUARE OOMU
+3309 ; [.32BC.0020.001C][.32E8.0020.001C][.32C4.0020.001C] # SQUARE ONSU
+3095 ; [.32BD.0020.000D] # HIRAGANA LETTER SMALL KA
+304B ; [.32BD.0020.000E] # HIRAGANA LETTER KA
+30F5 ; [.32BD.0020.000F] # KATAKANA LETTER SMALL KA
+30AB ; [.32BD.0020.0011] # KATAKANA LETTER KA
+FF76 ; [.32BD.0020.0012] # HALFWIDTH KATAKANA LETTER KA
+32D5 ; [.32BD.0020.0013] # CIRCLED KATAKANA KA
+304C ; [.32BD.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GA
+30AC ; [.32BD.0020.0011][.0000.0037.0002] # KATAKANA LETTER GA
+330B ; [.32BD.0020.001C][.32B8.0020.001C][.32E0.0020.001C] # SQUARE KAIRI
+330C ; [.32BD.0020.001C][.32DF.0020.001C][.32C9.0020.001C][.32CB.0020.001C] # SQUARE KARATTO
+330D ; [.32BD.0020.001C][.32E3.0020.001C][.32E0.0020.001C][.15B6.0020.001C] # SQUARE KARORII
+330E ; [.32BD.0020.001C][.0000.0037.001C][.32E3.0020.001C][.32E8.0020.001C] # SQUARE GARON
+330F ; [.32BD.0020.001C][.0000.0037.001C][.32E8.0020.001C][.32D6.0020.001C] # SQUARE GANMA
+304D ; [.32BE.0020.000E] # HIRAGANA LETTER KI
+30AD ; [.32BE.0020.0011] # KATAKANA LETTER KI
+FF77 ; [.32BE.0020.0012] # HALFWIDTH KATAKANA LETTER KI
+32D6 ; [.32BE.0020.0013] # CIRCLED KATAKANA KI
+304E ; [.32BE.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GI
+30AE ; [.32BE.0020.0011][.0000.0037.0002] # KATAKANA LETTER GI
+3310 ; [.32BE.0020.001C][.0000.0037.001C][.32BD.0020.001C][.0000.0037.001C] # SQUARE GIGA
+3311 ; [.32BE.0020.001C][.0000.0037.001C][.32CD.0020.001C][.15B6.0020.001C] # SQUARE GINII
+3312 ; [.32BE.0020.001C][.32DC.0020.001C][.32E0.0020.001C][.15B6.0020.001C] # SQUARE KYURII
+3313 ; [.32BE.0020.001C][.0000.0037.001C][.32E1.0020.001C][.32C7.0020.001C][.0000.0037.001C][.15B6.0020.001C] # SQUARE GIRUDAA
+3314 ; [.32BE.0020.001C][.32E3.0020.001C] # SQUARE KIRO
+3315 ; [.32BE.0020.001C][.32E3.0020.001C][.32BF.0020.001C][.0000.0037.001C][.32DF.0020.001C][.32D8.0020.001C] # SQUARE KIROGURAMU
+3316 ; [.32BE.0020.001C][.32E3.0020.001C][.32D9.0020.001C][.15B6.0020.001C][.32CB.0020.001C][.32E1.0020.001C] # SQUARE KIROMEETORU
+3317 ; [.32BE.0020.001C][.32E3.0020.001C][.32E4.0020.001C][.32C9.0020.001C][.32CB.0020.001C] # SQUARE KIROWATTO
+304F ; [.32BF.0020.000E] # HIRAGANA LETTER KU
+31F0 ; [.32BF.0020.000F] # KATAKANA LETTER SMALL KU
+30AF ; [.32BF.0020.0011] # KATAKANA LETTER KU
+FF78 ; [.32BF.0020.0012] # HALFWIDTH KATAKANA LETTER KU
+32D7 ; [.32BF.0020.0013] # CIRCLED KATAKANA KU
+3050 ; [.32BF.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GU
+30B0 ; [.32BF.0020.0011][.0000.0037.0002] # KATAKANA LETTER GU
+3318 ; [.32BF.0020.001C][.0000.0037.001C][.32DF.0020.001C][.32D8.0020.001C] # SQUARE GURAMU
+3319 ; [.32BF.0020.001C][.0000.0037.001C][.32DF.0020.001C][.32D8.0020.001C][.32CB.0020.001C][.32E8.0020.001C] # SQUARE GURAMUTON
+331A ; [.32BF.0020.001C][.32E1.0020.001C][.32C5.0020.001C][.0000.0037.001C][.32B8.0020.001C][.32E3.0020.001C] # SQUARE KURUZEIRO
+331B ; [.32BF.0020.001C][.32E3.0020.001C][.15B6.0020.001C][.32CF.0020.001C] # SQUARE KUROONE
+3096 ; [.32C0.0020.000D] # HIRAGANA LETTER SMALL KE
+3051 ; [.32C0.0020.000E] # HIRAGANA LETTER KE
+30F6 ; [.32C0.0020.000F] # KATAKANA LETTER SMALL KE
+30B1 ; [.32C0.0020.0011] # KATAKANA LETTER KE
+FF79 ; [.32C0.0020.0012] # HALFWIDTH KATAKANA LETTER KE
+32D8 ; [.32C0.0020.0013] # CIRCLED KATAKANA KE
+3052 ; [.32C0.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GE
+30B2 ; [.32C0.0020.0011][.0000.0037.0002] # KATAKANA LETTER GE
+331C ; [.32C0.0020.001C][.15B6.0020.001C][.32C4.0020.001C] # SQUARE KEESU
+3053 ; [.32C1.0020.000E] # HIRAGANA LETTER KO
+30B3 ; [.32C1.0020.0011] # KATAKANA LETTER KO
+FF7A ; [.32C1.0020.0012] # HALFWIDTH KATAKANA LETTER KO
+32D9 ; [.32C1.0020.0013] # CIRCLED KATAKANA KO
+3054 ; [.32C1.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GO
+30B4 ; [.32C1.0020.0011][.0000.0037.0002] # KATAKANA LETTER GO
+331E ; [.32C1.0020.001C][.15B6.0020.001C][.32D5.0020.001C][.0000.0038.001C] # SQUARE KOOPO
+1F201 ; [.32C1.0020.001C][.32C1.0020.001C] # SQUARED KATAKANA KOKO
+30FF ; [.32C1.0020.0016][.32CB.0020.0016] # KATAKANA DIGRAPH KOTO
+331D ; [.32C1.0020.001C][.32E1.0020.001C][.32CC.0020.001C] # SQUARE KORUNA
+3055 ; [.32C2.0020.000E] # HIRAGANA LETTER SA
+30B5 ; [.32C2.0020.0011] # KATAKANA LETTER SA
+FF7B ; [.32C2.0020.0012] # HALFWIDTH KATAKANA LETTER SA
+32DA ; [.32C2.0020.0013] # CIRCLED KATAKANA SA
+1F202 ; [.32C2.0020.001C] # SQUARED KATAKANA SA
+3056 ; [.32C2.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZA
+30B6 ; [.32C2.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZA
+331F ; [.32C2.0020.001C][.32B8.0020.001C][.32BF.0020.001C][.32E1.0020.001C] # SQUARE SAIKURU
+3320 ; [.32C2.0020.001C][.32E8.0020.001C][.32C8.0020.001C][.15B6.0020.001C][.32D8.0020.001C] # SQUARE SANTIIMU
+3057 ; [.32C3.0020.000E] # HIRAGANA LETTER SI
+31F1 ; [.32C3.0020.000F] # KATAKANA LETTER SMALL SI
+30B7 ; [.32C3.0020.0011] # KATAKANA LETTER SI
+FF7C ; [.32C3.0020.0012] # HALFWIDTH KATAKANA LETTER SI
+32DB ; [.32C3.0020.0013] # CIRCLED KATAKANA SI
+3058 ; [.32C3.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZI
+30B8 ; [.32C3.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZI
+3006 ; [.32C3.0020.0004][.32D9.0020.0004] # IDEOGRAPHIC CLOSING MARK
+3321 ; [.32C3.0020.001C][.32E0.0020.001C][.32E8.0020.001C][.32BF.0020.001C][.0000.0037.001C] # SQUARE SIRINGU
+3059 ; [.32C4.0020.000E] # HIRAGANA LETTER SU
+31F2 ; [.32C4.0020.000F] # KATAKANA LETTER SMALL SU
+30B9 ; [.32C4.0020.0011] # KATAKANA LETTER SU
+FF7D ; [.32C4.0020.0012] # HALFWIDTH KATAKANA LETTER SU
+32DC ; [.32C4.0020.0013] # CIRCLED KATAKANA SU
+305A ; [.32C4.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZU
+30BA ; [.32C4.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZU
+305B ; [.32C5.0020.000E] # HIRAGANA LETTER SE
+30BB ; [.32C5.0020.0011] # KATAKANA LETTER SE
+FF7E ; [.32C5.0020.0012] # HALFWIDTH KATAKANA LETTER SE
+32DD ; [.32C5.0020.0013] # CIRCLED KATAKANA SE
+305C ; [.32C5.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZE
+30BC ; [.32C5.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZE
+3322 ; [.32C5.0020.001C][.32E8.0020.001C][.32C8.0020.001C] # SQUARE SENTI
+3323 ; [.32C5.0020.001C][.32E8.0020.001C][.32CB.0020.001C] # SQUARE SENTO
+305D ; [.32C6.0020.000E] # HIRAGANA LETTER SO
+30BD ; [.32C6.0020.0011] # KATAKANA LETTER SO
+FF7F ; [.32C6.0020.0012] # HALFWIDTH KATAKANA LETTER SO
+32DE ; [.32C6.0020.0013] # CIRCLED KATAKANA SO
+305E ; [.32C6.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZO
+30BE ; [.32C6.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZO
+305F ; [.32C7.0020.000E] # HIRAGANA LETTER TA
+30BF ; [.32C7.0020.0011] # KATAKANA LETTER TA
+FF80 ; [.32C7.0020.0012] # HALFWIDTH KATAKANA LETTER TA
+32DF ; [.32C7.0020.0013] # CIRCLED KATAKANA TA
+3060 ; [.32C7.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DA
+30C0 ; [.32C7.0020.0011][.0000.0037.0002] # KATAKANA LETTER DA
+3324 ; [.32C7.0020.001C][.0000.0037.001C][.15B6.0020.001C][.32C4.0020.001C] # SQUARE DAASU
+3061 ; [.32C8.0020.000E] # HIRAGANA LETTER TI
+30C1 ; [.32C8.0020.0011] # KATAKANA LETTER TI
+FF81 ; [.32C8.0020.0012] # HALFWIDTH KATAKANA LETTER TI
+32E0 ; [.32C8.0020.0013] # CIRCLED KATAKANA TI
+3062 ; [.32C8.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DI
+30C2 ; [.32C8.0020.0011][.0000.0037.0002] # KATAKANA LETTER DI
+3063 ; [.32C9.0020.000D] # HIRAGANA LETTER SMALL TU
+3064 ; [.32C9.0020.000E] # HIRAGANA LETTER TU
+30C3 ; [.32C9.0020.000F] # KATAKANA LETTER SMALL TU
+FF6F ; [.32C9.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL TU
+30C4 ; [.32C9.0020.0011] # KATAKANA LETTER TU
+FF82 ; [.32C9.0020.0012] # HALFWIDTH KATAKANA LETTER TU
+32E1 ; [.32C9.0020.0013] # CIRCLED KATAKANA TU
+3065 ; [.32C9.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DU
+30C5 ; [.32C9.0020.0011][.0000.0037.0002] # KATAKANA LETTER DU
+3066 ; [.32CA.0020.000E] # HIRAGANA LETTER TE
+30C6 ; [.32CA.0020.0011] # KATAKANA LETTER TE
+FF83 ; [.32CA.0020.0012] # HALFWIDTH KATAKANA LETTER TE
+32E2 ; [.32CA.0020.0013] # CIRCLED KATAKANA TE
+3067 ; [.32CA.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DE
+30C7 ; [.32CA.0020.0011][.0000.0037.0002] # KATAKANA LETTER DE
+1F213 ; [.32CA.0020.001C][.0000.0037.001C] # SQUARED KATAKANA DE
+3325 ; [.32CA.0020.001C][.0000.0037.001C][.32C3.0020.001C] # SQUARE DESI
+3068 ; [.32CB.0020.000E] # HIRAGANA LETTER TO
+31F3 ; [.32CB.0020.000F] # KATAKANA LETTER SMALL TO
+30C8 ; [.32CB.0020.0011] # KATAKANA LETTER TO
+FF84 ; [.32CB.0020.0012] # HALFWIDTH KATAKANA LETTER TO
+32E3 ; [.32CB.0020.0013] # CIRCLED KATAKANA TO
+3069 ; [.32CB.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DO
+30C9 ; [.32CB.0020.0011][.0000.0037.0002] # KATAKANA LETTER DO
+3326 ; [.32CB.0020.001C][.0000.0037.001C][.32E1.0020.001C] # SQUARE DORU
+3327 ; [.32CB.0020.001C][.32E8.0020.001C] # SQUARE TON
+306A ; [.32CC.0020.000E] # HIRAGANA LETTER NA
+30CA ; [.32CC.0020.0011] # KATAKANA LETTER NA
+FF85 ; [.32CC.0020.0012] # HALFWIDTH KATAKANA LETTER NA
+32E4 ; [.32CC.0020.0013] # CIRCLED KATAKANA NA
+3328 ; [.32CC.0020.001C][.32D0.0020.001C] # SQUARE NANO
+306B ; [.32CD.0020.000E] # HIRAGANA LETTER NI
+30CB ; [.32CD.0020.0011] # KATAKANA LETTER NI
+FF86 ; [.32CD.0020.0012] # HALFWIDTH KATAKANA LETTER NI
+32E5 ; [.32CD.0020.0013] # CIRCLED KATAKANA NI
+306C ; [.32CE.0020.000E] # HIRAGANA LETTER NU
+31F4 ; [.32CE.0020.000F] # KATAKANA LETTER SMALL NU
+30CC ; [.32CE.0020.0011] # KATAKANA LETTER NU
+FF87 ; [.32CE.0020.0012] # HALFWIDTH KATAKANA LETTER NU
+32E6 ; [.32CE.0020.0013] # CIRCLED KATAKANA NU
+306D ; [.32CF.0020.000E] # HIRAGANA LETTER NE
+30CD ; [.32CF.0020.0011] # KATAKANA LETTER NE
+FF88 ; [.32CF.0020.0012] # HALFWIDTH KATAKANA LETTER NE
+32E7 ; [.32CF.0020.0013] # CIRCLED KATAKANA NE
+306E ; [.32D0.0020.000E] # HIRAGANA LETTER NO
+30CE ; [.32D0.0020.0011] # KATAKANA LETTER NO
+FF89 ; [.32D0.0020.0012] # HALFWIDTH KATAKANA LETTER NO
+32E8 ; [.32D0.0020.0013] # CIRCLED KATAKANA NO
+3329 ; [.32D0.0020.001C][.32C9.0020.001C][.32CB.0020.001C] # SQUARE NOTTO
+306F ; [.32D1.0020.000E] # HIRAGANA LETTER HA
+31F5 ; [.32D1.0020.000F] # KATAKANA LETTER SMALL HA
+30CF ; [.32D1.0020.0011] # KATAKANA LETTER HA
+FF8A ; [.32D1.0020.0012] # HALFWIDTH KATAKANA LETTER HA
+32E9 ; [.32D1.0020.0013] # CIRCLED KATAKANA HA
+3070 ; [.32D1.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BA
+30D0 ; [.32D1.0020.0011][.0000.0037.0002] # KATAKANA LETTER BA
+3071 ; [.32D1.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PA
+30D1 ; [.32D1.0020.0011][.0000.0038.0002] # KATAKANA LETTER PA
+332B ; [.32D1.0020.001C][.0000.0038.001C][.15B6.0020.001C][.32C5.0020.001C][.32E8.0020.001C][.32CB.0020.001C] # SQUARE PAASENTO
+332C ; [.32D1.0020.001C][.0000.0038.001C][.15B6.0020.001C][.32C9.0020.001C] # SQUARE PAATU
+332D ; [.32D1.0020.001C][.0000.0037.001C][.15B6.0020.001C][.32E2.0020.001C][.32E1.0020.001C] # SQUARE BAARERU
+332A ; [.32D1.0020.001C][.32B8.0020.001C][.32C9.0020.001C] # SQUARE HAITU
+3072 ; [.32D2.0020.000E] # HIRAGANA LETTER HI
+31F6 ; [.32D2.0020.000F] # KATAKANA LETTER SMALL HI
+30D2 ; [.32D2.0020.0011] # KATAKANA LETTER HI
+FF8B ; [.32D2.0020.0012] # HALFWIDTH KATAKANA LETTER HI
+32EA ; [.32D2.0020.0013] # CIRCLED KATAKANA HI
+3073 ; [.32D2.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BI
+30D3 ; [.32D2.0020.0011][.0000.0037.0002] # KATAKANA LETTER BI
+3074 ; [.32D2.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PI
+30D4 ; [.32D2.0020.0011][.0000.0038.0002] # KATAKANA LETTER PI
+332E ; [.32D2.0020.001C][.0000.0038.001C][.32B7.0020.001C][.32C4.0020.001C][.32CB.0020.001C][.32E1.0020.001C] # SQUARE PIASUTORU
+332F ; [.32D2.0020.001C][.0000.0038.001C][.32BF.0020.001C][.32E1.0020.001C] # SQUARE PIKURU
+3330 ; [.32D2.0020.001C][.0000.0038.001C][.32C1.0020.001C] # SQUARE PIKO
+3331 ; [.32D2.0020.001C][.0000.0037.001C][.32E1.0020.001C] # SQUARE BIRU
+3075 ; [.32D3.0020.000E] # HIRAGANA LETTER HU
+31F7 ; [.32D3.0020.000F] # KATAKANA LETTER SMALL HU
+30D5 ; [.32D3.0020.0011] # KATAKANA LETTER HU
+FF8C ; [.32D3.0020.0012] # HALFWIDTH KATAKANA LETTER HU
+32EB ; [.32D3.0020.0013] # CIRCLED KATAKANA HU
+3076 ; [.32D3.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BU
+30D6 ; [.32D3.0020.0011][.0000.0037.0002] # KATAKANA LETTER BU
+3077 ; [.32D3.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PU
+30D7 ; [.32D3.0020.0011][.0000.0038.0002] # KATAKANA LETTER PU
+3332 ; [.32D3.0020.001C][.32B7.0020.001C][.32DF.0020.001C][.32C9.0020.001C][.32CB.0020.001C][.0000.0037.001C] # SQUARE HUARADDO
+3333 ; [.32D3.0020.001C][.32B8.0020.001C][.15B6.0020.001C][.32CB.0020.001C] # SQUARE HUIITO
+3334 ; [.32D3.0020.001C][.0000.0037.001C][.32C9.0020.001C][.32C3.0020.001C][.32BB.0020.001C][.32E1.0020.001C] # SQUARE BUSSYERU
+3335 ; [.32D3.0020.001C][.32DF.0020.001C][.32E8.0020.001C] # SQUARE HURAN
+3078 ; [.32D4.0020.000E] # HIRAGANA LETTER HE
+31F8 ; [.32D4.0020.000F] # KATAKANA LETTER SMALL HE
+30D8 ; [.32D4.0020.0011] # KATAKANA LETTER HE
+FF8D ; [.32D4.0020.0012] # HALFWIDTH KATAKANA LETTER HE
+32EC ; [.32D4.0020.0013] # CIRCLED KATAKANA HE
+3079 ; [.32D4.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BE
+30D9 ; [.32D4.0020.0011][.0000.0037.0002] # KATAKANA LETTER BE
+307A ; [.32D4.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PE
+30DA ; [.32D4.0020.0011][.0000.0038.0002] # KATAKANA LETTER PE
+333B ; [.32D4.0020.001C][.0000.0038.001C][.15B6.0020.001C][.32C3.0020.001C][.0000.0037.001C] # SQUARE PEEZI
+333C ; [.32D4.0020.001C][.0000.0037.001C][.15B6.0020.001C][.32C7.0020.001C] # SQUARE BEETA
+3336 ; [.32D4.0020.001C][.32BF.0020.001C][.32C7.0020.001C][.15B6.0020.001C][.32E1.0020.001C] # SQUARE HEKUTAARU
+3337 ; [.32D4.0020.001C][.0000.0038.001C][.32C6.0020.001C] # SQUARE PESO
+3338 ; [.32D4.0020.001C][.0000.0038.001C][.32CD.0020.001C][.32D2.0020.001C] # SQUARE PENIHI
+3339 ; [.32D4.0020.001C][.32E1.0020.001C][.32C9.0020.001C] # SQUARE HERUTU
+333A ; [.32D4.0020.001C][.0000.0038.001C][.32E8.0020.001C][.32C4.0020.001C] # SQUARE PENSU
+307B ; [.32D5.0020.000E] # HIRAGANA LETTER HO
+31F9 ; [.32D5.0020.000F] # KATAKANA LETTER SMALL HO
+30DB ; [.32D5.0020.0011] # KATAKANA LETTER HO
+FF8E ; [.32D5.0020.0012] # HALFWIDTH KATAKANA LETTER HO
+32ED ; [.32D5.0020.0013] # CIRCLED KATAKANA HO
+307C ; [.32D5.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BO
+30DC ; [.32D5.0020.0011][.0000.0037.0002] # KATAKANA LETTER BO
+307D ; [.32D5.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PO
+30DD ; [.32D5.0020.0011][.0000.0038.0002] # KATAKANA LETTER PO
+3341 ; [.32D5.0020.001C][.15B6.0020.001C][.32E1.0020.001C] # SQUARE HOORU
+3342 ; [.32D5.0020.001C][.15B6.0020.001C][.32E8.0020.001C] # SQUARE HOON
+333D ; [.32D5.0020.001C][.0000.0038.001C][.32B8.0020.001C][.32E8.0020.001C][.32CB.0020.001C] # SQUARE POINTO
+1F200 ; [.32D5.0020.001C][.32BD.0020.001C] # SQUARE HIRAGANA HOKA
+333E ; [.32D5.0020.001C][.0000.0037.001C][.32E1.0020.001C][.32CB.0020.001C] # SQUARE BORUTO
+333F ; [.32D5.0020.001C][.32E8.0020.001C] # SQUARE HON
+3340 ; [.32D5.0020.001C][.0000.0038.001C][.32E8.0020.001C][.32CB.0020.001C][.0000.0037.001C] # SQUARE PONDO
+307E ; [.32D6.0020.000E] # HIRAGANA LETTER MA
+30DE ; [.32D6.0020.0011] # KATAKANA LETTER MA
+FF8F ; [.32D6.0020.0012] # HALFWIDTH KATAKANA LETTER MA
+32EE ; [.32D6.0020.0013] # CIRCLED KATAKANA MA
+3343 ; [.32D6.0020.001C][.32B8.0020.001C][.32BF.0020.001C][.32E3.0020.001C] # SQUARE MAIKURO
+3344 ; [.32D6.0020.001C][.32B8.0020.001C][.32E1.0020.001C] # SQUARE MAIRU
+303C ; [.32D6.0020.0004][.32C4.0020.0004] # MASU MARK
+3345 ; [.32D6.0020.001C][.32C9.0020.001C][.32D1.0020.001C] # SQUARE MAHHA
+3346 ; [.32D6.0020.001C][.32E1.0020.001C][.32BF.0020.001C] # SQUARE MARUKU
+3347 ; [.32D6.0020.001C][.32E8.0020.001C][.32C3.0020.001C][.32DE.0020.001C][.32E8.0020.001C] # SQUARE MANSYON
+307F ; [.32D7.0020.000E] # HIRAGANA LETTER MI
+30DF ; [.32D7.0020.0011] # KATAKANA LETTER MI
+FF90 ; [.32D7.0020.0012] # HALFWIDTH KATAKANA LETTER MI
+32EF ; [.32D7.0020.0013] # CIRCLED KATAKANA MI
+3348 ; [.32D7.0020.001C][.32BF.0020.001C][.32E3.0020.001C][.32E8.0020.001C] # SQUARE MIKURON
+3349 ; [.32D7.0020.001C][.32E0.0020.001C] # SQUARE MIRI
+334A ; [.32D7.0020.001C][.32E0.0020.001C][.32D1.0020.001C][.0000.0037.001C][.15B6.0020.001C][.32E1.0020.001C] # SQUARE MIRIBAARU
+3080 ; [.32D8.0020.000E] # HIRAGANA LETTER MU
+31FA ; [.32D8.0020.000F] # KATAKANA LETTER SMALL MU
+30E0 ; [.32D8.0020.0011] # KATAKANA LETTER MU
+FF91 ; [.32D8.0020.0012] # HALFWIDTH KATAKANA LETTER MU
+32F0 ; [.32D8.0020.0013] # CIRCLED KATAKANA MU
+3081 ; [.32D9.0020.000E] # HIRAGANA LETTER ME
+30E1 ; [.32D9.0020.0011] # KATAKANA LETTER ME
+FF92 ; [.32D9.0020.0012] # HALFWIDTH KATAKANA LETTER ME
+32F1 ; [.32D9.0020.0013] # CIRCLED KATAKANA ME
+334D ; [.32D9.0020.001C][.15B6.0020.001C][.32CB.0020.001C][.32E1.0020.001C] # SQUARE MEETORU
+334B ; [.32D9.0020.001C][.32BD.0020.001C][.0000.0037.001C] # SQUARE MEGA
+334C ; [.32D9.0020.001C][.32BD.0020.001C][.0000.0037.001C][.32CB.0020.001C][.32E8.0020.001C] # SQUARE MEGATON
+3082 ; [.32DA.0020.000E] # HIRAGANA LETTER MO
+30E2 ; [.32DA.0020.0011] # KATAKANA LETTER MO
+FF93 ; [.32DA.0020.0012] # HALFWIDTH KATAKANA LETTER MO
+32F2 ; [.32DA.0020.0013] # CIRCLED KATAKANA MO
+3083 ; [.32DB.0020.000D] # HIRAGANA LETTER SMALL YA
+3084 ; [.32DB.0020.000E] # HIRAGANA LETTER YA
+30E3 ; [.32DB.0020.000F] # KATAKANA LETTER SMALL YA
+FF6C ; [.32DB.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YA
+30E4 ; [.32DB.0020.0011] # KATAKANA LETTER YA
+FF94 ; [.32DB.0020.0012] # HALFWIDTH KATAKANA LETTER YA
+32F3 ; [.32DB.0020.0013] # CIRCLED KATAKANA YA
+334E ; [.32DB.0020.001C][.15B6.0020.001C][.32CB.0020.001C][.0000.0037.001C] # SQUARE YAADO
+334F ; [.32DB.0020.001C][.15B6.0020.001C][.32E1.0020.001C] # SQUARE YAARU
+3085 ; [.32DC.0020.000D] # HIRAGANA LETTER SMALL YU
+3086 ; [.32DC.0020.000E] # HIRAGANA LETTER YU
+30E5 ; [.32DC.0020.000F] # KATAKANA LETTER SMALL YU
+FF6D ; [.32DC.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YU
+30E6 ; [.32DC.0020.0011] # KATAKANA LETTER YU
+FF95 ; [.32DC.0020.0012] # HALFWIDTH KATAKANA LETTER YU
+32F4 ; [.32DC.0020.0013] # CIRCLED KATAKANA YU
+3350 ; [.32DC.0020.001C][.32B7.0020.001C][.32E8.0020.001C] # SQUARE YUAN
+1B001 ; [.32DD.0020.000E] # HIRAGANA LETTER ARCHAIC YE
+3087 ; [.32DE.0020.000D] # HIRAGANA LETTER SMALL YO
+3088 ; [.32DE.0020.000E] # HIRAGANA LETTER YO
+30E7 ; [.32DE.0020.000F] # KATAKANA LETTER SMALL YO
+FF6E ; [.32DE.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YO
+30E8 ; [.32DE.0020.0011] # KATAKANA LETTER YO
+FF96 ; [.32DE.0020.0012] # HALFWIDTH KATAKANA LETTER YO
+32F5 ; [.32DE.0020.0013] # CIRCLED KATAKANA YO
+309F ; [.32DE.0020.0016][.32E0.0020.0016] # HIRAGANA DIGRAPH YORI
+3089 ; [.32DF.0020.000E] # HIRAGANA LETTER RA
+31FB ; [.32DF.0020.000F] # KATAKANA LETTER SMALL RA
+30E9 ; [.32DF.0020.0011] # KATAKANA LETTER RA
+FF97 ; [.32DF.0020.0012] # HALFWIDTH KATAKANA LETTER RA
+32F6 ; [.32DF.0020.0013] # CIRCLED KATAKANA RA
+308A ; [.32E0.0020.000E] # HIRAGANA LETTER RI
+31FC ; [.32E0.0020.000F] # KATAKANA LETTER SMALL RI
+30EA ; [.32E0.0020.0011] # KATAKANA LETTER RI
+FF98 ; [.32E0.0020.0012] # HALFWIDTH KATAKANA LETTER RI
+32F7 ; [.32E0.0020.0013] # CIRCLED KATAKANA RI
+3351 ; [.32E0.0020.001C][.32C9.0020.001C][.32CB.0020.001C][.32E1.0020.001C] # SQUARE RITTORU
+3352 ; [.32E0.0020.001C][.32DF.0020.001C] # SQUARE RIRA
+308B ; [.32E1.0020.000E] # HIRAGANA LETTER RU
+31FD ; [.32E1.0020.000F] # KATAKANA LETTER SMALL RU
+30EB ; [.32E1.0020.0011] # KATAKANA LETTER RU
+FF99 ; [.32E1.0020.0012] # HALFWIDTH KATAKANA LETTER RU
+32F8 ; [.32E1.0020.0013] # CIRCLED KATAKANA RU
+3354 ; [.32E1.0020.001C][.15B6.0020.001C][.32D3.0020.001C][.0000.0037.001C][.32E1.0020.001C] # SQUARE RUUBURU
+3353 ; [.32E1.0020.001C][.32D2.0020.001C][.0000.0038.001C][.15B6.0020.001C] # SQUARE RUPII
+308C ; [.32E2.0020.000E] # HIRAGANA LETTER RE
+31FE ; [.32E2.0020.000F] # KATAKANA LETTER SMALL RE
+30EC ; [.32E2.0020.0011] # KATAKANA LETTER RE
+FF9A ; [.32E2.0020.0012] # HALFWIDTH KATAKANA LETTER RE
+32F9 ; [.32E2.0020.0013] # CIRCLED KATAKANA RE
+3355 ; [.32E2.0020.001C][.32D8.0020.001C] # SQUARE REMU
+3356 ; [.32E2.0020.001C][.32E8.0020.001C][.32CB.0020.001C][.32C0.0020.001C][.0000.0037.001C][.32E8.0020.001C] # SQUARE RENTOGEN
+308D ; [.32E3.0020.000E] # HIRAGANA LETTER RO
+31FF ; [.32E3.0020.000F] # KATAKANA LETTER SMALL RO
+30ED ; [.32E3.0020.0011] # KATAKANA LETTER RO
+FF9B ; [.32E3.0020.0012] # HALFWIDTH KATAKANA LETTER RO
+32FA ; [.32E3.0020.0013] # CIRCLED KATAKANA RO
+308E ; [.32E4.0020.000D] # HIRAGANA LETTER SMALL WA
+308F ; [.32E4.0020.000E] # HIRAGANA LETTER WA
+30EE ; [.32E4.0020.000F] # KATAKANA LETTER SMALL WA
+30EF ; [.32E4.0020.0011] # KATAKANA LETTER WA
+FF9C ; [.32E4.0020.0012] # HALFWIDTH KATAKANA LETTER WA
+32FB ; [.32E4.0020.0013] # CIRCLED KATAKANA WA
+30F7 ; [.32E4.0020.0011][.0000.0037.0002] # KATAKANA LETTER VA
+3357 ; [.32E4.0020.001C][.32C9.0020.001C][.32CB.0020.001C] # SQUARE WATTO
+3090 ; [.32E5.0020.000E] # HIRAGANA LETTER WI
+30F0 ; [.32E5.0020.0011] # KATAKANA LETTER WI
+32FC ; [.32E5.0020.0013] # CIRCLED KATAKANA WI
+30F8 ; [.32E5.0020.0011][.0000.0037.0002] # KATAKANA LETTER VI
+3091 ; [.32E6.0020.000E] # HIRAGANA LETTER WE
+30F1 ; [.32E6.0020.0011] # KATAKANA LETTER WE
+32FD ; [.32E6.0020.0013] # CIRCLED KATAKANA WE
+30F9 ; [.32E6.0020.0011][.0000.0037.0002] # KATAKANA LETTER VE
+3092 ; [.32E7.0020.000E] # HIRAGANA LETTER WO
+30F2 ; [.32E7.0020.0011] # KATAKANA LETTER WO
+FF66 ; [.32E7.0020.0012] # HALFWIDTH KATAKANA LETTER WO
+32FE ; [.32E7.0020.0013] # CIRCLED KATAKANA WO
+30FA ; [.32E7.0020.0011][.0000.0037.0002] # KATAKANA LETTER VO
+3093 ; [.32E8.0020.000E] # HIRAGANA LETTER N
+30F3 ; [.32E8.0020.0011] # KATAKANA LETTER N
+FF9D ; [.32E8.0020.0012] # HALFWIDTH KATAKANA LETTER N
+3105 ; [.32E9.0020.0002] # BOPOMOFO LETTER B
+31A0 ; [.32E9.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER BU
+3106 ; [.32EA.0020.0002] # BOPOMOFO LETTER P
+31B4 ; [.32EA.0020.0019] # BOPOMOFO FINAL LETTER P
+3107 ; [.32EB.0020.0002] # BOPOMOFO LETTER M
+3108 ; [.32EC.0020.0002] # BOPOMOFO LETTER F
+312A ; [.32ED.0020.0002] # BOPOMOFO LETTER V
+3109 ; [.32EE.0020.0002] # BOPOMOFO LETTER D
+310A ; [.32EF.0020.0002] # BOPOMOFO LETTER T
+31B5 ; [.32EF.0020.0019] # BOPOMOFO FINAL LETTER T
+310B ; [.32F0.0020.0002] # BOPOMOFO LETTER N
+310C ; [.32F1.0020.0002] # BOPOMOFO LETTER L
+310D ; [.32F2.0020.0002] # BOPOMOFO LETTER G
+31A3 ; [.32F2.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER GU
+310E ; [.32F3.0020.0002] # BOPOMOFO LETTER K
+31B6 ; [.32F3.0020.0019] # BOPOMOFO FINAL LETTER K
+312B ; [.32F4.0020.0002] # BOPOMOFO LETTER NG
+31AD ; [.32F5.0020.0002] # BOPOMOFO LETTER NGG
+310F ; [.32F6.0020.0002] # BOPOMOFO LETTER H
+31B7 ; [.32F6.0020.0019] # BOPOMOFO FINAL LETTER H
+3110 ; [.32F7.0020.0002] # BOPOMOFO LETTER J
+31A2 ; [.32F7.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER JI
+3111 ; [.32F8.0020.0002] # BOPOMOFO LETTER Q
+3112 ; [.32F9.0020.0002] # BOPOMOFO LETTER X
+312C ; [.32FA.0020.0002] # BOPOMOFO LETTER GN
+3113 ; [.32FB.0020.0002] # BOPOMOFO LETTER ZH
+3114 ; [.32FC.0020.0002] # BOPOMOFO LETTER CH
+3115 ; [.32FD.0020.0002] # BOPOMOFO LETTER SH
+3116 ; [.32FE.0020.0002] # BOPOMOFO LETTER R
+3117 ; [.32FF.0020.0002] # BOPOMOFO LETTER Z
+31A1 ; [.32FF.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER ZI
+3118 ; [.3300.0020.0002] # BOPOMOFO LETTER C
+3119 ; [.3301.0020.0002] # BOPOMOFO LETTER S
+31B8 ; [.3302.0020.0002] # BOPOMOFO LETTER GH
+31B9 ; [.3303.0020.0002] # BOPOMOFO LETTER LH
+31BA ; [.3304.0020.0002] # BOPOMOFO LETTER ZY
+311A ; [.3305.0020.0002] # BOPOMOFO LETTER A
+31A9 ; [.3305.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER ANN
+311B ; [.3306.0020.0002] # BOPOMOFO LETTER O
+31A7 ; [.3306.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER ONN
+31A6 ; [.3307.0020.0002] # BOPOMOFO LETTER OO
+311C ; [.3308.0020.0002] # BOPOMOFO LETTER E
+311D ; [.3309.0020.0002] # BOPOMOFO LETTER EH
+31A4 ; [.330A.0020.0002] # BOPOMOFO LETTER EE
+31A5 ; [.330A.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER ENN
+311E ; [.330B.0020.0002] # BOPOMOFO LETTER AI
+31AE ; [.330B.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER AINN
+311F ; [.330C.0020.0002] # BOPOMOFO LETTER EI
+3120 ; [.330D.0020.0002] # BOPOMOFO LETTER AU
+31AF ; [.330D.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER AUNN
+3121 ; [.330E.0020.0002] # BOPOMOFO LETTER OU
+3122 ; [.330F.0020.0002] # BOPOMOFO LETTER AN
+3123 ; [.3310.0020.0002] # BOPOMOFO LETTER EN
+3124 ; [.3311.0020.0002] # BOPOMOFO LETTER ANG
+31B2 ; [.3312.0020.0002] # BOPOMOFO LETTER ONG
+3125 ; [.3313.0020.0002] # BOPOMOFO LETTER ENG
+31B0 ; [.3314.0020.0002] # BOPOMOFO LETTER AM
+31B1 ; [.3315.0020.0002] # BOPOMOFO LETTER OM
+31AC ; [.3316.0020.0002] # BOPOMOFO LETTER IM
+3126 ; [.3317.0020.0002] # BOPOMOFO LETTER ER
+3127 ; [.3318.0020.0002] # BOPOMOFO LETTER I
+31AA ; [.3318.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER INN
+31B3 ; [.3318.0020.0016][.0000.00FD.0016] # BOPOMOFO LETTER INNN
+3128 ; [.3319.0020.0002] # BOPOMOFO LETTER U
+31AB ; [.3319.0020.0004][.0000.00FD.0004] # BOPOMOFO LETTER UNN
+31A8 ; [.3319.0020.0004][.0000.00FE.0004] # BOPOMOFO LETTER IR
+3129 ; [.331A.0020.0002] # BOPOMOFO LETTER IU
+312D ; [.331B.0020.0002] # BOPOMOFO LETTER IH
+A000 ; [.331C.0020.0002] # YI SYLLABLE IT
+A001 ; [.331D.0020.0002] # YI SYLLABLE IX
+A002 ; [.331E.0020.0002] # YI SYLLABLE I
+A003 ; [.331F.0020.0002] # YI SYLLABLE IP
+A004 ; [.3320.0020.0002] # YI SYLLABLE IET
+A005 ; [.3321.0020.0002] # YI SYLLABLE IEX
+A006 ; [.3322.0020.0002] # YI SYLLABLE IE
+A007 ; [.3323.0020.0002] # YI SYLLABLE IEP
+A008 ; [.3324.0020.0002] # YI SYLLABLE AT
+A009 ; [.3325.0020.0002] # YI SYLLABLE AX
+A00A ; [.3326.0020.0002] # YI SYLLABLE A
+A00B ; [.3327.0020.0002] # YI SYLLABLE AP
+A00C ; [.3328.0020.0002] # YI SYLLABLE UOX
+A00D ; [.3329.0020.0002] # YI SYLLABLE UO
+A00E ; [.332A.0020.0002] # YI SYLLABLE UOP
+A00F ; [.332B.0020.0002] # YI SYLLABLE OT
+A010 ; [.332C.0020.0002] # YI SYLLABLE OX
+A011 ; [.332D.0020.0002] # YI SYLLABLE O
+A012 ; [.332E.0020.0002] # YI SYLLABLE OP
+A013 ; [.332F.0020.0002] # YI SYLLABLE EX
+A014 ; [.3330.0020.0002] # YI SYLLABLE E
+A015 ; [.3331.0020.0002] # YI SYLLABLE WU
+A016 ; [.3332.0020.0002] # YI SYLLABLE BIT
+A017 ; [.3333.0020.0002] # YI SYLLABLE BIX
+A018 ; [.3334.0020.0002] # YI SYLLABLE BI
+A019 ; [.3335.0020.0002] # YI SYLLABLE BIP
+A01A ; [.3336.0020.0002] # YI SYLLABLE BIET
+A01B ; [.3337.0020.0002] # YI SYLLABLE BIEX
+A01C ; [.3338.0020.0002] # YI SYLLABLE BIE
+A01D ; [.3339.0020.0002] # YI SYLLABLE BIEP
+A01E ; [.333A.0020.0002] # YI SYLLABLE BAT
+A01F ; [.333B.0020.0002] # YI SYLLABLE BAX
+A020 ; [.333C.0020.0002] # YI SYLLABLE BA
+A021 ; [.333D.0020.0002] # YI SYLLABLE BAP
+A022 ; [.333E.0020.0002] # YI SYLLABLE BUOX
+A023 ; [.333F.0020.0002] # YI SYLLABLE BUO
+A024 ; [.3340.0020.0002] # YI SYLLABLE BUOP
+A025 ; [.3341.0020.0002] # YI SYLLABLE BOT
+A026 ; [.3342.0020.0002] # YI SYLLABLE BOX
+A027 ; [.3343.0020.0002] # YI SYLLABLE BO
+A028 ; [.3344.0020.0002] # YI SYLLABLE BOP
+A029 ; [.3345.0020.0002] # YI SYLLABLE BEX
+A02A ; [.3346.0020.0002] # YI SYLLABLE BE
+A02B ; [.3347.0020.0002] # YI SYLLABLE BEP
+A02C ; [.3348.0020.0002] # YI SYLLABLE BUT
+A02D ; [.3349.0020.0002] # YI SYLLABLE BUX
+A02E ; [.334A.0020.0002] # YI SYLLABLE BU
+A02F ; [.334B.0020.0002] # YI SYLLABLE BUP
+A030 ; [.334C.0020.0002] # YI SYLLABLE BURX
+A031 ; [.334D.0020.0002] # YI SYLLABLE BUR
+A032 ; [.334E.0020.0002] # YI SYLLABLE BYT
+A033 ; [.334F.0020.0002] # YI SYLLABLE BYX
+A034 ; [.3350.0020.0002] # YI SYLLABLE BY
+A035 ; [.3351.0020.0002] # YI SYLLABLE BYP
+A036 ; [.3352.0020.0002] # YI SYLLABLE BYRX
+A037 ; [.3353.0020.0002] # YI SYLLABLE BYR
+A038 ; [.3354.0020.0002] # YI SYLLABLE PIT
+A039 ; [.3355.0020.0002] # YI SYLLABLE PIX
+A03A ; [.3356.0020.0002] # YI SYLLABLE PI
+A03B ; [.3357.0020.0002] # YI SYLLABLE PIP
+A03C ; [.3358.0020.0002] # YI SYLLABLE PIEX
+A03D ; [.3359.0020.0002] # YI SYLLABLE PIE
+A03E ; [.335A.0020.0002] # YI SYLLABLE PIEP
+A03F ; [.335B.0020.0002] # YI SYLLABLE PAT
+A040 ; [.335C.0020.0002] # YI SYLLABLE PAX
+A041 ; [.335D.0020.0002] # YI SYLLABLE PA
+A042 ; [.335E.0020.0002] # YI SYLLABLE PAP
+A043 ; [.335F.0020.0002] # YI SYLLABLE PUOX
+A044 ; [.3360.0020.0002] # YI SYLLABLE PUO
+A045 ; [.3361.0020.0002] # YI SYLLABLE PUOP
+A046 ; [.3362.0020.0002] # YI SYLLABLE POT
+A047 ; [.3363.0020.0002] # YI SYLLABLE POX
+A048 ; [.3364.0020.0002] # YI SYLLABLE PO
+A049 ; [.3365.0020.0002] # YI SYLLABLE POP
+A04A ; [.3366.0020.0002] # YI SYLLABLE PUT
+A04B ; [.3367.0020.0002] # YI SYLLABLE PUX
+A04C ; [.3368.0020.0002] # YI SYLLABLE PU
+A04D ; [.3369.0020.0002] # YI SYLLABLE PUP
+A04E ; [.336A.0020.0002] # YI SYLLABLE PURX
+A04F ; [.336B.0020.0002] # YI SYLLABLE PUR
+A050 ; [.336C.0020.0002] # YI SYLLABLE PYT
+A051 ; [.336D.0020.0002] # YI SYLLABLE PYX
+A052 ; [.336E.0020.0002] # YI SYLLABLE PY
+A053 ; [.336F.0020.0002] # YI SYLLABLE PYP
+A054 ; [.3370.0020.0002] # YI SYLLABLE PYRX
+A055 ; [.3371.0020.0002] # YI SYLLABLE PYR
+A056 ; [.3372.0020.0002] # YI SYLLABLE BBIT
+A057 ; [.3373.0020.0002] # YI SYLLABLE BBIX
+A058 ; [.3374.0020.0002] # YI SYLLABLE BBI
+A059 ; [.3375.0020.0002] # YI SYLLABLE BBIP
+A05A ; [.3376.0020.0002] # YI SYLLABLE BBIET
+A05B ; [.3377.0020.0002] # YI SYLLABLE BBIEX
+A05C ; [.3378.0020.0002] # YI SYLLABLE BBIE
+A05D ; [.3379.0020.0002] # YI SYLLABLE BBIEP
+A05E ; [.337A.0020.0002] # YI SYLLABLE BBAT
+A05F ; [.337B.0020.0002] # YI SYLLABLE BBAX
+A060 ; [.337C.0020.0002] # YI SYLLABLE BBA
+A061 ; [.337D.0020.0002] # YI SYLLABLE BBAP
+A062 ; [.337E.0020.0002] # YI SYLLABLE BBUOX
+A063 ; [.337F.0020.0002] # YI SYLLABLE BBUO
+A064 ; [.3380.0020.0002] # YI SYLLABLE BBUOP
+A065 ; [.3381.0020.0002] # YI SYLLABLE BBOT
+A066 ; [.3382.0020.0002] # YI SYLLABLE BBOX
+A067 ; [.3383.0020.0002] # YI SYLLABLE BBO
+A068 ; [.3384.0020.0002] # YI SYLLABLE BBOP
+A069 ; [.3385.0020.0002] # YI SYLLABLE BBEX
+A06A ; [.3386.0020.0002] # YI SYLLABLE BBE
+A06B ; [.3387.0020.0002] # YI SYLLABLE BBEP
+A06C ; [.3388.0020.0002] # YI SYLLABLE BBUT
+A06D ; [.3389.0020.0002] # YI SYLLABLE BBUX
+A06E ; [.338A.0020.0002] # YI SYLLABLE BBU
+A06F ; [.338B.0020.0002] # YI SYLLABLE BBUP
+A070 ; [.338C.0020.0002] # YI SYLLABLE BBURX
+A071 ; [.338D.0020.0002] # YI SYLLABLE BBUR
+A072 ; [.338E.0020.0002] # YI SYLLABLE BBYT
+A073 ; [.338F.0020.0002] # YI SYLLABLE BBYX
+A074 ; [.3390.0020.0002] # YI SYLLABLE BBY
+A075 ; [.3391.0020.0002] # YI SYLLABLE BBYP
+A076 ; [.3392.0020.0002] # YI SYLLABLE NBIT
+A077 ; [.3393.0020.0002] # YI SYLLABLE NBIX
+A078 ; [.3394.0020.0002] # YI SYLLABLE NBI
+A079 ; [.3395.0020.0002] # YI SYLLABLE NBIP
+A07A ; [.3396.0020.0002] # YI SYLLABLE NBIEX
+A07B ; [.3397.0020.0002] # YI SYLLABLE NBIE
+A07C ; [.3398.0020.0002] # YI SYLLABLE NBIEP
+A07D ; [.3399.0020.0002] # YI SYLLABLE NBAT
+A07E ; [.339A.0020.0002] # YI SYLLABLE NBAX
+A07F ; [.339B.0020.0002] # YI SYLLABLE NBA
+A080 ; [.339C.0020.0002] # YI SYLLABLE NBAP
+A081 ; [.339D.0020.0002] # YI SYLLABLE NBOT
+A082 ; [.339E.0020.0002] # YI SYLLABLE NBOX
+A083 ; [.339F.0020.0002] # YI SYLLABLE NBO
+A084 ; [.33A0.0020.0002] # YI SYLLABLE NBOP
+A085 ; [.33A1.0020.0002] # YI SYLLABLE NBUT
+A086 ; [.33A2.0020.0002] # YI SYLLABLE NBUX
+A087 ; [.33A3.0020.0002] # YI SYLLABLE NBU
+A088 ; [.33A4.0020.0002] # YI SYLLABLE NBUP
+A089 ; [.33A5.0020.0002] # YI SYLLABLE NBURX
+A08A ; [.33A6.0020.0002] # YI SYLLABLE NBUR
+A08B ; [.33A7.0020.0002] # YI SYLLABLE NBYT
+A08C ; [.33A8.0020.0002] # YI SYLLABLE NBYX
+A08D ; [.33A9.0020.0002] # YI SYLLABLE NBY
+A08E ; [.33AA.0020.0002] # YI SYLLABLE NBYP
+A08F ; [.33AB.0020.0002] # YI SYLLABLE NBYRX
+A090 ; [.33AC.0020.0002] # YI SYLLABLE NBYR
+A091 ; [.33AD.0020.0002] # YI SYLLABLE HMIT
+A092 ; [.33AE.0020.0002] # YI SYLLABLE HMIX
+A093 ; [.33AF.0020.0002] # YI SYLLABLE HMI
+A094 ; [.33B0.0020.0002] # YI SYLLABLE HMIP
+A095 ; [.33B1.0020.0002] # YI SYLLABLE HMIEX
+A096 ; [.33B2.0020.0002] # YI SYLLABLE HMIE
+A097 ; [.33B3.0020.0002] # YI SYLLABLE HMIEP
+A098 ; [.33B4.0020.0002] # YI SYLLABLE HMAT
+A099 ; [.33B5.0020.0002] # YI SYLLABLE HMAX
+A09A ; [.33B6.0020.0002] # YI SYLLABLE HMA
+A09B ; [.33B7.0020.0002] # YI SYLLABLE HMAP
+A09C ; [.33B8.0020.0002] # YI SYLLABLE HMUOX
+A09D ; [.33B9.0020.0002] # YI SYLLABLE HMUO
+A09E ; [.33BA.0020.0002] # YI SYLLABLE HMUOP
+A09F ; [.33BB.0020.0002] # YI SYLLABLE HMOT
+A0A0 ; [.33BC.0020.0002] # YI SYLLABLE HMOX
+A0A1 ; [.33BD.0020.0002] # YI SYLLABLE HMO
+A0A2 ; [.33BE.0020.0002] # YI SYLLABLE HMOP
+A0A3 ; [.33BF.0020.0002] # YI SYLLABLE HMUT
+A0A4 ; [.33C0.0020.0002] # YI SYLLABLE HMUX
+A0A5 ; [.33C1.0020.0002] # YI SYLLABLE HMU
+A0A6 ; [.33C2.0020.0002] # YI SYLLABLE HMUP
+A0A7 ; [.33C3.0020.0002] # YI SYLLABLE HMURX
+A0A8 ; [.33C4.0020.0002] # YI SYLLABLE HMUR
+A0A9 ; [.33C5.0020.0002] # YI SYLLABLE HMYX
+A0AA ; [.33C6.0020.0002] # YI SYLLABLE HMY
+A0AB ; [.33C7.0020.0002] # YI SYLLABLE HMYP
+A0AC ; [.33C8.0020.0002] # YI SYLLABLE HMYRX
+A0AD ; [.33C9.0020.0002] # YI SYLLABLE HMYR
+A0AE ; [.33CA.0020.0002] # YI SYLLABLE MIT
+A0AF ; [.33CB.0020.0002] # YI SYLLABLE MIX
+A0B0 ; [.33CC.0020.0002] # YI SYLLABLE MI
+A0B1 ; [.33CD.0020.0002] # YI SYLLABLE MIP
+A0B2 ; [.33CE.0020.0002] # YI SYLLABLE MIEX
+A0B3 ; [.33CF.0020.0002] # YI SYLLABLE MIE
+A0B4 ; [.33D0.0020.0002] # YI SYLLABLE MIEP
+A0B5 ; [.33D1.0020.0002] # YI SYLLABLE MAT
+A0B6 ; [.33D2.0020.0002] # YI SYLLABLE MAX
+A0B7 ; [.33D3.0020.0002] # YI SYLLABLE MA
+A0B8 ; [.33D4.0020.0002] # YI SYLLABLE MAP
+A0B9 ; [.33D5.0020.0002] # YI SYLLABLE MUOT
+A0BA ; [.33D6.0020.0002] # YI SYLLABLE MUOX
+A0BB ; [.33D7.0020.0002] # YI SYLLABLE MUO
+A0BC ; [.33D8.0020.0002] # YI SYLLABLE MUOP
+A0BD ; [.33D9.0020.0002] # YI SYLLABLE MOT
+A0BE ; [.33DA.0020.0002] # YI SYLLABLE MOX
+A0BF ; [.33DB.0020.0002] # YI SYLLABLE MO
+A0C0 ; [.33DC.0020.0002] # YI SYLLABLE MOP
+A0C1 ; [.33DD.0020.0002] # YI SYLLABLE MEX
+A0C2 ; [.33DE.0020.0002] # YI SYLLABLE ME
+A0C3 ; [.33DF.0020.0002] # YI SYLLABLE MUT
+A0C4 ; [.33E0.0020.0002] # YI SYLLABLE MUX
+A0C5 ; [.33E1.0020.0002] # YI SYLLABLE MU
+A0C6 ; [.33E2.0020.0002] # YI SYLLABLE MUP
+A0C7 ; [.33E3.0020.0002] # YI SYLLABLE MURX
+A0C8 ; [.33E4.0020.0002] # YI SYLLABLE MUR
+A0C9 ; [.33E5.0020.0002] # YI SYLLABLE MYT
+A0CA ; [.33E6.0020.0002] # YI SYLLABLE MYX
+A0CB ; [.33E7.0020.0002] # YI SYLLABLE MY
+A0CC ; [.33E8.0020.0002] # YI SYLLABLE MYP
+A0CD ; [.33E9.0020.0002] # YI SYLLABLE FIT
+A0CE ; [.33EA.0020.0002] # YI SYLLABLE FIX
+A0CF ; [.33EB.0020.0002] # YI SYLLABLE FI
+A0D0 ; [.33EC.0020.0002] # YI SYLLABLE FIP
+A0D1 ; [.33ED.0020.0002] # YI SYLLABLE FAT
+A0D2 ; [.33EE.0020.0002] # YI SYLLABLE FAX
+A0D3 ; [.33EF.0020.0002] # YI SYLLABLE FA
+A0D4 ; [.33F0.0020.0002] # YI SYLLABLE FAP
+A0D5 ; [.33F1.0020.0002] # YI SYLLABLE FOX
+A0D6 ; [.33F2.0020.0002] # YI SYLLABLE FO
+A0D7 ; [.33F3.0020.0002] # YI SYLLABLE FOP
+A0D8 ; [.33F4.0020.0002] # YI SYLLABLE FUT
+A0D9 ; [.33F5.0020.0002] # YI SYLLABLE FUX
+A0DA ; [.33F6.0020.0002] # YI SYLLABLE FU
+A0DB ; [.33F7.0020.0002] # YI SYLLABLE FUP
+A0DC ; [.33F8.0020.0002] # YI SYLLABLE FURX
+A0DD ; [.33F9.0020.0002] # YI SYLLABLE FUR
+A0DE ; [.33FA.0020.0002] # YI SYLLABLE FYT
+A0DF ; [.33FB.0020.0002] # YI SYLLABLE FYX
+A0E0 ; [.33FC.0020.0002] # YI SYLLABLE FY
+A0E1 ; [.33FD.0020.0002] # YI SYLLABLE FYP
+A0E2 ; [.33FE.0020.0002] # YI SYLLABLE VIT
+A0E3 ; [.33FF.0020.0002] # YI SYLLABLE VIX
+A0E4 ; [.3400.0020.0002] # YI SYLLABLE VI
+A0E5 ; [.3401.0020.0002] # YI SYLLABLE VIP
+A0E6 ; [.3402.0020.0002] # YI SYLLABLE VIET
+A0E7 ; [.3403.0020.0002] # YI SYLLABLE VIEX
+A0E8 ; [.3404.0020.0002] # YI SYLLABLE VIE
+A0E9 ; [.3405.0020.0002] # YI SYLLABLE VIEP
+A0EA ; [.3406.0020.0002] # YI SYLLABLE VAT
+A0EB ; [.3407.0020.0002] # YI SYLLABLE VAX
+A0EC ; [.3408.0020.0002] # YI SYLLABLE VA
+A0ED ; [.3409.0020.0002] # YI SYLLABLE VAP
+A0EE ; [.340A.0020.0002] # YI SYLLABLE VOT
+A0EF ; [.340B.0020.0002] # YI SYLLABLE VOX
+A0F0 ; [.340C.0020.0002] # YI SYLLABLE VO
+A0F1 ; [.340D.0020.0002] # YI SYLLABLE VOP
+A0F2 ; [.340E.0020.0002] # YI SYLLABLE VEX
+A0F3 ; [.340F.0020.0002] # YI SYLLABLE VEP
+A0F4 ; [.3410.0020.0002] # YI SYLLABLE VUT
+A0F5 ; [.3411.0020.0002] # YI SYLLABLE VUX
+A0F6 ; [.3412.0020.0002] # YI SYLLABLE VU
+A0F7 ; [.3413.0020.0002] # YI SYLLABLE VUP
+A0F8 ; [.3414.0020.0002] # YI SYLLABLE VURX
+A0F9 ; [.3415.0020.0002] # YI SYLLABLE VUR
+A0FA ; [.3416.0020.0002] # YI SYLLABLE VYT
+A0FB ; [.3417.0020.0002] # YI SYLLABLE VYX
+A0FC ; [.3418.0020.0002] # YI SYLLABLE VY
+A0FD ; [.3419.0020.0002] # YI SYLLABLE VYP
+A0FE ; [.341A.0020.0002] # YI SYLLABLE VYRX
+A0FF ; [.341B.0020.0002] # YI SYLLABLE VYR
+A100 ; [.341C.0020.0002] # YI SYLLABLE DIT
+A101 ; [.341D.0020.0002] # YI SYLLABLE DIX
+A102 ; [.341E.0020.0002] # YI SYLLABLE DI
+A103 ; [.341F.0020.0002] # YI SYLLABLE DIP
+A104 ; [.3420.0020.0002] # YI SYLLABLE DIEX
+A105 ; [.3421.0020.0002] # YI SYLLABLE DIE
+A106 ; [.3422.0020.0002] # YI SYLLABLE DIEP
+A107 ; [.3423.0020.0002] # YI SYLLABLE DAT
+A108 ; [.3424.0020.0002] # YI SYLLABLE DAX
+A109 ; [.3425.0020.0002] # YI SYLLABLE DA
+A10A ; [.3426.0020.0002] # YI SYLLABLE DAP
+A10B ; [.3427.0020.0002] # YI SYLLABLE DUOX
+A10C ; [.3428.0020.0002] # YI SYLLABLE DUO
+A10D ; [.3429.0020.0002] # YI SYLLABLE DOT
+A10E ; [.342A.0020.0002] # YI SYLLABLE DOX
+A10F ; [.342B.0020.0002] # YI SYLLABLE DO
+A110 ; [.342C.0020.0002] # YI SYLLABLE DOP
+A111 ; [.342D.0020.0002] # YI SYLLABLE DEX
+A112 ; [.342E.0020.0002] # YI SYLLABLE DE
+A113 ; [.342F.0020.0002] # YI SYLLABLE DEP
+A114 ; [.3430.0020.0002] # YI SYLLABLE DUT
+A115 ; [.3431.0020.0002] # YI SYLLABLE DUX
+A116 ; [.3432.0020.0002] # YI SYLLABLE DU
+A117 ; [.3433.0020.0002] # YI SYLLABLE DUP
+A118 ; [.3434.0020.0002] # YI SYLLABLE DURX
+A119 ; [.3435.0020.0002] # YI SYLLABLE DUR
+A11A ; [.3436.0020.0002] # YI SYLLABLE TIT
+A11B ; [.3437.0020.0002] # YI SYLLABLE TIX
+A11C ; [.3438.0020.0002] # YI SYLLABLE TI
+A11D ; [.3439.0020.0002] # YI SYLLABLE TIP
+A11E ; [.343A.0020.0002] # YI SYLLABLE TIEX
+A11F ; [.343B.0020.0002] # YI SYLLABLE TIE
+A120 ; [.343C.0020.0002] # YI SYLLABLE TIEP
+A121 ; [.343D.0020.0002] # YI SYLLABLE TAT
+A122 ; [.343E.0020.0002] # YI SYLLABLE TAX
+A123 ; [.343F.0020.0002] # YI SYLLABLE TA
+A124 ; [.3440.0020.0002] # YI SYLLABLE TAP
+A125 ; [.3441.0020.0002] # YI SYLLABLE TUOT
+A126 ; [.3442.0020.0002] # YI SYLLABLE TUOX
+A127 ; [.3443.0020.0002] # YI SYLLABLE TUO
+A128 ; [.3444.0020.0002] # YI SYLLABLE TUOP
+A129 ; [.3445.0020.0002] # YI SYLLABLE TOT
+A12A ; [.3446.0020.0002] # YI SYLLABLE TOX
+A12B ; [.3447.0020.0002] # YI SYLLABLE TO
+A12C ; [.3448.0020.0002] # YI SYLLABLE TOP
+A12D ; [.3449.0020.0002] # YI SYLLABLE TEX
+A12E ; [.344A.0020.0002] # YI SYLLABLE TE
+A12F ; [.344B.0020.0002] # YI SYLLABLE TEP
+A130 ; [.344C.0020.0002] # YI SYLLABLE TUT
+A131 ; [.344D.0020.0002] # YI SYLLABLE TUX
+A132 ; [.344E.0020.0002] # YI SYLLABLE TU
+A133 ; [.344F.0020.0002] # YI SYLLABLE TUP
+A134 ; [.3450.0020.0002] # YI SYLLABLE TURX
+A135 ; [.3451.0020.0002] # YI SYLLABLE TUR
+A136 ; [.3452.0020.0002] # YI SYLLABLE DDIT
+A137 ; [.3453.0020.0002] # YI SYLLABLE DDIX
+A138 ; [.3454.0020.0002] # YI SYLLABLE DDI
+A139 ; [.3455.0020.0002] # YI SYLLABLE DDIP
+A13A ; [.3456.0020.0002] # YI SYLLABLE DDIEX
+A13B ; [.3457.0020.0002] # YI SYLLABLE DDIE
+A13C ; [.3458.0020.0002] # YI SYLLABLE DDIEP
+A13D ; [.3459.0020.0002] # YI SYLLABLE DDAT
+A13E ; [.345A.0020.0002] # YI SYLLABLE DDAX
+A13F ; [.345B.0020.0002] # YI SYLLABLE DDA
+A140 ; [.345C.0020.0002] # YI SYLLABLE DDAP
+A141 ; [.345D.0020.0002] # YI SYLLABLE DDUOX
+A142 ; [.345E.0020.0002] # YI SYLLABLE DDUO
+A143 ; [.345F.0020.0002] # YI SYLLABLE DDUOP
+A144 ; [.3460.0020.0002] # YI SYLLABLE DDOT
+A145 ; [.3461.0020.0002] # YI SYLLABLE DDOX
+A146 ; [.3462.0020.0002] # YI SYLLABLE DDO
+A147 ; [.3463.0020.0002] # YI SYLLABLE DDOP
+A148 ; [.3464.0020.0002] # YI SYLLABLE DDEX
+A149 ; [.3465.0020.0002] # YI SYLLABLE DDE
+A14A ; [.3466.0020.0002] # YI SYLLABLE DDEP
+A14B ; [.3467.0020.0002] # YI SYLLABLE DDUT
+A14C ; [.3468.0020.0002] # YI SYLLABLE DDUX
+A14D ; [.3469.0020.0002] # YI SYLLABLE DDU
+A14E ; [.346A.0020.0002] # YI SYLLABLE DDUP
+A14F ; [.346B.0020.0002] # YI SYLLABLE DDURX
+A150 ; [.346C.0020.0002] # YI SYLLABLE DDUR
+A151 ; [.346D.0020.0002] # YI SYLLABLE NDIT
+A152 ; [.346E.0020.0002] # YI SYLLABLE NDIX
+A153 ; [.346F.0020.0002] # YI SYLLABLE NDI
+A154 ; [.3470.0020.0002] # YI SYLLABLE NDIP
+A155 ; [.3471.0020.0002] # YI SYLLABLE NDIEX
+A156 ; [.3472.0020.0002] # YI SYLLABLE NDIE
+A157 ; [.3473.0020.0002] # YI SYLLABLE NDAT
+A158 ; [.3474.0020.0002] # YI SYLLABLE NDAX
+A159 ; [.3475.0020.0002] # YI SYLLABLE NDA
+A15A ; [.3476.0020.0002] # YI SYLLABLE NDAP
+A15B ; [.3477.0020.0002] # YI SYLLABLE NDOT
+A15C ; [.3478.0020.0002] # YI SYLLABLE NDOX
+A15D ; [.3479.0020.0002] # YI SYLLABLE NDO
+A15E ; [.347A.0020.0002] # YI SYLLABLE NDOP
+A15F ; [.347B.0020.0002] # YI SYLLABLE NDEX
+A160 ; [.347C.0020.0002] # YI SYLLABLE NDE
+A161 ; [.347D.0020.0002] # YI SYLLABLE NDEP
+A162 ; [.347E.0020.0002] # YI SYLLABLE NDUT
+A163 ; [.347F.0020.0002] # YI SYLLABLE NDUX
+A164 ; [.3480.0020.0002] # YI SYLLABLE NDU
+A165 ; [.3481.0020.0002] # YI SYLLABLE NDUP
+A166 ; [.3482.0020.0002] # YI SYLLABLE NDURX
+A167 ; [.3483.0020.0002] # YI SYLLABLE NDUR
+A168 ; [.3484.0020.0002] # YI SYLLABLE HNIT
+A169 ; [.3485.0020.0002] # YI SYLLABLE HNIX
+A16A ; [.3486.0020.0002] # YI SYLLABLE HNI
+A16B ; [.3487.0020.0002] # YI SYLLABLE HNIP
+A16C ; [.3488.0020.0002] # YI SYLLABLE HNIET
+A16D ; [.3489.0020.0002] # YI SYLLABLE HNIEX
+A16E ; [.348A.0020.0002] # YI SYLLABLE HNIE
+A16F ; [.348B.0020.0002] # YI SYLLABLE HNIEP
+A170 ; [.348C.0020.0002] # YI SYLLABLE HNAT
+A171 ; [.348D.0020.0002] # YI SYLLABLE HNAX
+A172 ; [.348E.0020.0002] # YI SYLLABLE HNA
+A173 ; [.348F.0020.0002] # YI SYLLABLE HNAP
+A174 ; [.3490.0020.0002] # YI SYLLABLE HNUOX
+A175 ; [.3491.0020.0002] # YI SYLLABLE HNUO
+A176 ; [.3492.0020.0002] # YI SYLLABLE HNOT
+A177 ; [.3493.0020.0002] # YI SYLLABLE HNOX
+A178 ; [.3494.0020.0002] # YI SYLLABLE HNOP
+A179 ; [.3495.0020.0002] # YI SYLLABLE HNEX
+A17A ; [.3496.0020.0002] # YI SYLLABLE HNE
+A17B ; [.3497.0020.0002] # YI SYLLABLE HNEP
+A17C ; [.3498.0020.0002] # YI SYLLABLE HNUT
+A17D ; [.3499.0020.0002] # YI SYLLABLE NIT
+A17E ; [.349A.0020.0002] # YI SYLLABLE NIX
+A17F ; [.349B.0020.0002] # YI SYLLABLE NI
+A180 ; [.349C.0020.0002] # YI SYLLABLE NIP
+A181 ; [.349D.0020.0002] # YI SYLLABLE NIEX
+A182 ; [.349E.0020.0002] # YI SYLLABLE NIE
+A183 ; [.349F.0020.0002] # YI SYLLABLE NIEP
+A184 ; [.34A0.0020.0002] # YI SYLLABLE NAX
+A185 ; [.34A1.0020.0002] # YI SYLLABLE NA
+A186 ; [.34A2.0020.0002] # YI SYLLABLE NAP
+A187 ; [.34A3.0020.0002] # YI SYLLABLE NUOX
+A188 ; [.34A4.0020.0002] # YI SYLLABLE NUO
+A189 ; [.34A5.0020.0002] # YI SYLLABLE NUOP
+A18A ; [.34A6.0020.0002] # YI SYLLABLE NOT
+A18B ; [.34A7.0020.0002] # YI SYLLABLE NOX
+A18C ; [.34A8.0020.0002] # YI SYLLABLE NO
+A18D ; [.34A9.0020.0002] # YI SYLLABLE NOP
+A18E ; [.34AA.0020.0002] # YI SYLLABLE NEX
+A18F ; [.34AB.0020.0002] # YI SYLLABLE NE
+A190 ; [.34AC.0020.0002] # YI SYLLABLE NEP
+A191 ; [.34AD.0020.0002] # YI SYLLABLE NUT
+A192 ; [.34AE.0020.0002] # YI SYLLABLE NUX
+A193 ; [.34AF.0020.0002] # YI SYLLABLE NU
+A194 ; [.34B0.0020.0002] # YI SYLLABLE NUP
+A195 ; [.34B1.0020.0002] # YI SYLLABLE NURX
+A196 ; [.34B2.0020.0002] # YI SYLLABLE NUR
+A197 ; [.34B3.0020.0002] # YI SYLLABLE HLIT
+A198 ; [.34B4.0020.0002] # YI SYLLABLE HLIX
+A199 ; [.34B5.0020.0002] # YI SYLLABLE HLI
+A19A ; [.34B6.0020.0002] # YI SYLLABLE HLIP
+A19B ; [.34B7.0020.0002] # YI SYLLABLE HLIEX
+A19C ; [.34B8.0020.0002] # YI SYLLABLE HLIE
+A19D ; [.34B9.0020.0002] # YI SYLLABLE HLIEP
+A19E ; [.34BA.0020.0002] # YI SYLLABLE HLAT
+A19F ; [.34BB.0020.0002] # YI SYLLABLE HLAX
+A1A0 ; [.34BC.0020.0002] # YI SYLLABLE HLA
+A1A1 ; [.34BD.0020.0002] # YI SYLLABLE HLAP
+A1A2 ; [.34BE.0020.0002] # YI SYLLABLE HLUOX
+A1A3 ; [.34BF.0020.0002] # YI SYLLABLE HLUO
+A1A4 ; [.34C0.0020.0002] # YI SYLLABLE HLUOP
+A1A5 ; [.34C1.0020.0002] # YI SYLLABLE HLOX
+A1A6 ; [.34C2.0020.0002] # YI SYLLABLE HLO
+A1A7 ; [.34C3.0020.0002] # YI SYLLABLE HLOP
+A1A8 ; [.34C4.0020.0002] # YI SYLLABLE HLEX
+A1A9 ; [.34C5.0020.0002] # YI SYLLABLE HLE
+A1AA ; [.34C6.0020.0002] # YI SYLLABLE HLEP
+A1AB ; [.34C7.0020.0002] # YI SYLLABLE HLUT
+A1AC ; [.34C8.0020.0002] # YI SYLLABLE HLUX
+A1AD ; [.34C9.0020.0002] # YI SYLLABLE HLU
+A1AE ; [.34CA.0020.0002] # YI SYLLABLE HLUP
+A1AF ; [.34CB.0020.0002] # YI SYLLABLE HLURX
+A1B0 ; [.34CC.0020.0002] # YI SYLLABLE HLUR
+A1B1 ; [.34CD.0020.0002] # YI SYLLABLE HLYT
+A1B2 ; [.34CE.0020.0002] # YI SYLLABLE HLYX
+A1B3 ; [.34CF.0020.0002] # YI SYLLABLE HLY
+A1B4 ; [.34D0.0020.0002] # YI SYLLABLE HLYP
+A1B5 ; [.34D1.0020.0002] # YI SYLLABLE HLYRX
+A1B6 ; [.34D2.0020.0002] # YI SYLLABLE HLYR
+A1B7 ; [.34D3.0020.0002] # YI SYLLABLE LIT
+A1B8 ; [.34D4.0020.0002] # YI SYLLABLE LIX
+A1B9 ; [.34D5.0020.0002] # YI SYLLABLE LI
+A1BA ; [.34D6.0020.0002] # YI SYLLABLE LIP
+A1BB ; [.34D7.0020.0002] # YI SYLLABLE LIET
+A1BC ; [.34D8.0020.0002] # YI SYLLABLE LIEX
+A1BD ; [.34D9.0020.0002] # YI SYLLABLE LIE
+A1BE ; [.34DA.0020.0002] # YI SYLLABLE LIEP
+A1BF ; [.34DB.0020.0002] # YI SYLLABLE LAT
+A1C0 ; [.34DC.0020.0002] # YI SYLLABLE LAX
+A1C1 ; [.34DD.0020.0002] # YI SYLLABLE LA
+A1C2 ; [.34DE.0020.0002] # YI SYLLABLE LAP
+A1C3 ; [.34DF.0020.0002] # YI SYLLABLE LUOT
+A1C4 ; [.34E0.0020.0002] # YI SYLLABLE LUOX
+A1C5 ; [.34E1.0020.0002] # YI SYLLABLE LUO
+A1C6 ; [.34E2.0020.0002] # YI SYLLABLE LUOP
+A1C7 ; [.34E3.0020.0002] # YI SYLLABLE LOT
+A1C8 ; [.34E4.0020.0002] # YI SYLLABLE LOX
+A1C9 ; [.34E5.0020.0002] # YI SYLLABLE LO
+A1CA ; [.34E6.0020.0002] # YI SYLLABLE LOP
+A1CB ; [.34E7.0020.0002] # YI SYLLABLE LEX
+A1CC ; [.34E8.0020.0002] # YI SYLLABLE LE
+A1CD ; [.34E9.0020.0002] # YI SYLLABLE LEP
+A1CE ; [.34EA.0020.0002] # YI SYLLABLE LUT
+A1CF ; [.34EB.0020.0002] # YI SYLLABLE LUX
+A1D0 ; [.34EC.0020.0002] # YI SYLLABLE LU
+A1D1 ; [.34ED.0020.0002] # YI SYLLABLE LUP
+A1D2 ; [.34EE.0020.0002] # YI SYLLABLE LURX
+A1D3 ; [.34EF.0020.0002] # YI SYLLABLE LUR
+A1D4 ; [.34F0.0020.0002] # YI SYLLABLE LYT
+A1D5 ; [.34F1.0020.0002] # YI SYLLABLE LYX
+A1D6 ; [.34F2.0020.0002] # YI SYLLABLE LY
+A1D7 ; [.34F3.0020.0002] # YI SYLLABLE LYP
+A1D8 ; [.34F4.0020.0002] # YI SYLLABLE LYRX
+A1D9 ; [.34F5.0020.0002] # YI SYLLABLE LYR
+A1DA ; [.34F6.0020.0002] # YI SYLLABLE GIT
+A1DB ; [.34F7.0020.0002] # YI SYLLABLE GIX
+A1DC ; [.34F8.0020.0002] # YI SYLLABLE GI
+A1DD ; [.34F9.0020.0002] # YI SYLLABLE GIP
+A1DE ; [.34FA.0020.0002] # YI SYLLABLE GIET
+A1DF ; [.34FB.0020.0002] # YI SYLLABLE GIEX
+A1E0 ; [.34FC.0020.0002] # YI SYLLABLE GIE
+A1E1 ; [.34FD.0020.0002] # YI SYLLABLE GIEP
+A1E2 ; [.34FE.0020.0002] # YI SYLLABLE GAT
+A1E3 ; [.34FF.0020.0002] # YI SYLLABLE GAX
+A1E4 ; [.3500.0020.0002] # YI SYLLABLE GA
+A1E5 ; [.3501.0020.0002] # YI SYLLABLE GAP
+A1E6 ; [.3502.0020.0002] # YI SYLLABLE GUOT
+A1E7 ; [.3503.0020.0002] # YI SYLLABLE GUOX
+A1E8 ; [.3504.0020.0002] # YI SYLLABLE GUO
+A1E9 ; [.3505.0020.0002] # YI SYLLABLE GUOP
+A1EA ; [.3506.0020.0002] # YI SYLLABLE GOT
+A1EB ; [.3507.0020.0002] # YI SYLLABLE GOX
+A1EC ; [.3508.0020.0002] # YI SYLLABLE GO
+A1ED ; [.3509.0020.0002] # YI SYLLABLE GOP
+A1EE ; [.350A.0020.0002] # YI SYLLABLE GET
+A1EF ; [.350B.0020.0002] # YI SYLLABLE GEX
+A1F0 ; [.350C.0020.0002] # YI SYLLABLE GE
+A1F1 ; [.350D.0020.0002] # YI SYLLABLE GEP
+A1F2 ; [.350E.0020.0002] # YI SYLLABLE GUT
+A1F3 ; [.350F.0020.0002] # YI SYLLABLE GUX
+A1F4 ; [.3510.0020.0002] # YI SYLLABLE GU
+A1F5 ; [.3511.0020.0002] # YI SYLLABLE GUP
+A1F6 ; [.3512.0020.0002] # YI SYLLABLE GURX
+A1F7 ; [.3513.0020.0002] # YI SYLLABLE GUR
+A1F8 ; [.3514.0020.0002] # YI SYLLABLE KIT
+A1F9 ; [.3515.0020.0002] # YI SYLLABLE KIX
+A1FA ; [.3516.0020.0002] # YI SYLLABLE KI
+A1FB ; [.3517.0020.0002] # YI SYLLABLE KIP
+A1FC ; [.3518.0020.0002] # YI SYLLABLE KIEX
+A1FD ; [.3519.0020.0002] # YI SYLLABLE KIE
+A1FE ; [.351A.0020.0002] # YI SYLLABLE KIEP
+A1FF ; [.351B.0020.0002] # YI SYLLABLE KAT
+A200 ; [.351C.0020.0002] # YI SYLLABLE KAX
+A201 ; [.351D.0020.0002] # YI SYLLABLE KA
+A202 ; [.351E.0020.0002] # YI SYLLABLE KAP
+A203 ; [.351F.0020.0002] # YI SYLLABLE KUOX
+A204 ; [.3520.0020.0002] # YI SYLLABLE KUO
+A205 ; [.3521.0020.0002] # YI SYLLABLE KUOP
+A206 ; [.3522.0020.0002] # YI SYLLABLE KOT
+A207 ; [.3523.0020.0002] # YI SYLLABLE KOX
+A208 ; [.3524.0020.0002] # YI SYLLABLE KO
+A209 ; [.3525.0020.0002] # YI SYLLABLE KOP
+A20A ; [.3526.0020.0002] # YI SYLLABLE KET
+A20B ; [.3527.0020.0002] # YI SYLLABLE KEX
+A20C ; [.3528.0020.0002] # YI SYLLABLE KE
+A20D ; [.3529.0020.0002] # YI SYLLABLE KEP
+A20E ; [.352A.0020.0002] # YI SYLLABLE KUT
+A20F ; [.352B.0020.0002] # YI SYLLABLE KUX
+A210 ; [.352C.0020.0002] # YI SYLLABLE KU
+A211 ; [.352D.0020.0002] # YI SYLLABLE KUP
+A212 ; [.352E.0020.0002] # YI SYLLABLE KURX
+A213 ; [.352F.0020.0002] # YI SYLLABLE KUR
+A214 ; [.3530.0020.0002] # YI SYLLABLE GGIT
+A215 ; [.3531.0020.0002] # YI SYLLABLE GGIX
+A216 ; [.3532.0020.0002] # YI SYLLABLE GGI
+A217 ; [.3533.0020.0002] # YI SYLLABLE GGIEX
+A218 ; [.3534.0020.0002] # YI SYLLABLE GGIE
+A219 ; [.3535.0020.0002] # YI SYLLABLE GGIEP
+A21A ; [.3536.0020.0002] # YI SYLLABLE GGAT
+A21B ; [.3537.0020.0002] # YI SYLLABLE GGAX
+A21C ; [.3538.0020.0002] # YI SYLLABLE GGA
+A21D ; [.3539.0020.0002] # YI SYLLABLE GGAP
+A21E ; [.353A.0020.0002] # YI SYLLABLE GGUOT
+A21F ; [.353B.0020.0002] # YI SYLLABLE GGUOX
+A220 ; [.353C.0020.0002] # YI SYLLABLE GGUO
+A221 ; [.353D.0020.0002] # YI SYLLABLE GGUOP
+A222 ; [.353E.0020.0002] # YI SYLLABLE GGOT
+A223 ; [.353F.0020.0002] # YI SYLLABLE GGOX
+A224 ; [.3540.0020.0002] # YI SYLLABLE GGO
+A225 ; [.3541.0020.0002] # YI SYLLABLE GGOP
+A226 ; [.3542.0020.0002] # YI SYLLABLE GGET
+A227 ; [.3543.0020.0002] # YI SYLLABLE GGEX
+A228 ; [.3544.0020.0002] # YI SYLLABLE GGE
+A229 ; [.3545.0020.0002] # YI SYLLABLE GGEP
+A22A ; [.3546.0020.0002] # YI SYLLABLE GGUT
+A22B ; [.3547.0020.0002] # YI SYLLABLE GGUX
+A22C ; [.3548.0020.0002] # YI SYLLABLE GGU
+A22D ; [.3549.0020.0002] # YI SYLLABLE GGUP
+A22E ; [.354A.0020.0002] # YI SYLLABLE GGURX
+A22F ; [.354B.0020.0002] # YI SYLLABLE GGUR
+A230 ; [.354C.0020.0002] # YI SYLLABLE MGIEX
+A231 ; [.354D.0020.0002] # YI SYLLABLE MGIE
+A232 ; [.354E.0020.0002] # YI SYLLABLE MGAT
+A233 ; [.354F.0020.0002] # YI SYLLABLE MGAX
+A234 ; [.3550.0020.0002] # YI SYLLABLE MGA
+A235 ; [.3551.0020.0002] # YI SYLLABLE MGAP
+A236 ; [.3552.0020.0002] # YI SYLLABLE MGUOX
+A237 ; [.3553.0020.0002] # YI SYLLABLE MGUO
+A238 ; [.3554.0020.0002] # YI SYLLABLE MGUOP
+A239 ; [.3555.0020.0002] # YI SYLLABLE MGOT
+A23A ; [.3556.0020.0002] # YI SYLLABLE MGOX
+A23B ; [.3557.0020.0002] # YI SYLLABLE MGO
+A23C ; [.3558.0020.0002] # YI SYLLABLE MGOP
+A23D ; [.3559.0020.0002] # YI SYLLABLE MGEX
+A23E ; [.355A.0020.0002] # YI SYLLABLE MGE
+A23F ; [.355B.0020.0002] # YI SYLLABLE MGEP
+A240 ; [.355C.0020.0002] # YI SYLLABLE MGUT
+A241 ; [.355D.0020.0002] # YI SYLLABLE MGUX
+A242 ; [.355E.0020.0002] # YI SYLLABLE MGU
+A243 ; [.355F.0020.0002] # YI SYLLABLE MGUP
+A244 ; [.3560.0020.0002] # YI SYLLABLE MGURX
+A245 ; [.3561.0020.0002] # YI SYLLABLE MGUR
+A246 ; [.3562.0020.0002] # YI SYLLABLE HXIT
+A247 ; [.3563.0020.0002] # YI SYLLABLE HXIX
+A248 ; [.3564.0020.0002] # YI SYLLABLE HXI
+A249 ; [.3565.0020.0002] # YI SYLLABLE HXIP
+A24A ; [.3566.0020.0002] # YI SYLLABLE HXIET
+A24B ; [.3567.0020.0002] # YI SYLLABLE HXIEX
+A24C ; [.3568.0020.0002] # YI SYLLABLE HXIE
+A24D ; [.3569.0020.0002] # YI SYLLABLE HXIEP
+A24E ; [.356A.0020.0002] # YI SYLLABLE HXAT
+A24F ; [.356B.0020.0002] # YI SYLLABLE HXAX
+A250 ; [.356C.0020.0002] # YI SYLLABLE HXA
+A251 ; [.356D.0020.0002] # YI SYLLABLE HXAP
+A252 ; [.356E.0020.0002] # YI SYLLABLE HXUOT
+A253 ; [.356F.0020.0002] # YI SYLLABLE HXUOX
+A254 ; [.3570.0020.0002] # YI SYLLABLE HXUO
+A255 ; [.3571.0020.0002] # YI SYLLABLE HXUOP
+A256 ; [.3572.0020.0002] # YI SYLLABLE HXOT
+A257 ; [.3573.0020.0002] # YI SYLLABLE HXOX
+A258 ; [.3574.0020.0002] # YI SYLLABLE HXO
+A259 ; [.3575.0020.0002] # YI SYLLABLE HXOP
+A25A ; [.3576.0020.0002] # YI SYLLABLE HXEX
+A25B ; [.3577.0020.0002] # YI SYLLABLE HXE
+A25C ; [.3578.0020.0002] # YI SYLLABLE HXEP
+A25D ; [.3579.0020.0002] # YI SYLLABLE NGIEX
+A25E ; [.357A.0020.0002] # YI SYLLABLE NGIE
+A25F ; [.357B.0020.0002] # YI SYLLABLE NGIEP
+A260 ; [.357C.0020.0002] # YI SYLLABLE NGAT
+A261 ; [.357D.0020.0002] # YI SYLLABLE NGAX
+A262 ; [.357E.0020.0002] # YI SYLLABLE NGA
+A263 ; [.357F.0020.0002] # YI SYLLABLE NGAP
+A264 ; [.3580.0020.0002] # YI SYLLABLE NGUOT
+A265 ; [.3581.0020.0002] # YI SYLLABLE NGUOX
+A266 ; [.3582.0020.0002] # YI SYLLABLE NGUO
+A267 ; [.3583.0020.0002] # YI SYLLABLE NGOT
+A268 ; [.3584.0020.0002] # YI SYLLABLE NGOX
+A269 ; [.3585.0020.0002] # YI SYLLABLE NGO
+A26A ; [.3586.0020.0002] # YI SYLLABLE NGOP
+A26B ; [.3587.0020.0002] # YI SYLLABLE NGEX
+A26C ; [.3588.0020.0002] # YI SYLLABLE NGE
+A26D ; [.3589.0020.0002] # YI SYLLABLE NGEP
+A26E ; [.358A.0020.0002] # YI SYLLABLE HIT
+A26F ; [.358B.0020.0002] # YI SYLLABLE HIEX
+A270 ; [.358C.0020.0002] # YI SYLLABLE HIE
+A271 ; [.358D.0020.0002] # YI SYLLABLE HAT
+A272 ; [.358E.0020.0002] # YI SYLLABLE HAX
+A273 ; [.358F.0020.0002] # YI SYLLABLE HA
+A274 ; [.3590.0020.0002] # YI SYLLABLE HAP
+A275 ; [.3591.0020.0002] # YI SYLLABLE HUOT
+A276 ; [.3592.0020.0002] # YI SYLLABLE HUOX
+A277 ; [.3593.0020.0002] # YI SYLLABLE HUO
+A278 ; [.3594.0020.0002] # YI SYLLABLE HUOP
+A279 ; [.3595.0020.0002] # YI SYLLABLE HOT
+A27A ; [.3596.0020.0002] # YI SYLLABLE HOX
+A27B ; [.3597.0020.0002] # YI SYLLABLE HO
+A27C ; [.3598.0020.0002] # YI SYLLABLE HOP
+A27D ; [.3599.0020.0002] # YI SYLLABLE HEX
+A27E ; [.359A.0020.0002] # YI SYLLABLE HE
+A27F ; [.359B.0020.0002] # YI SYLLABLE HEP
+A280 ; [.359C.0020.0002] # YI SYLLABLE WAT
+A281 ; [.359D.0020.0002] # YI SYLLABLE WAX
+A282 ; [.359E.0020.0002] # YI SYLLABLE WA
+A283 ; [.359F.0020.0002] # YI SYLLABLE WAP
+A284 ; [.35A0.0020.0002] # YI SYLLABLE WUOX
+A285 ; [.35A1.0020.0002] # YI SYLLABLE WUO
+A286 ; [.35A2.0020.0002] # YI SYLLABLE WUOP
+A287 ; [.35A3.0020.0002] # YI SYLLABLE WOX
+A288 ; [.35A4.0020.0002] # YI SYLLABLE WO
+A289 ; [.35A5.0020.0002] # YI SYLLABLE WOP
+A28A ; [.35A6.0020.0002] # YI SYLLABLE WEX
+A28B ; [.35A7.0020.0002] # YI SYLLABLE WE
+A28C ; [.35A8.0020.0002] # YI SYLLABLE WEP
+A28D ; [.35A9.0020.0002] # YI SYLLABLE ZIT
+A28E ; [.35AA.0020.0002] # YI SYLLABLE ZIX
+A28F ; [.35AB.0020.0002] # YI SYLLABLE ZI
+A290 ; [.35AC.0020.0002] # YI SYLLABLE ZIP
+A291 ; [.35AD.0020.0002] # YI SYLLABLE ZIEX
+A292 ; [.35AE.0020.0002] # YI SYLLABLE ZIE
+A293 ; [.35AF.0020.0002] # YI SYLLABLE ZIEP
+A294 ; [.35B0.0020.0002] # YI SYLLABLE ZAT
+A295 ; [.35B1.0020.0002] # YI SYLLABLE ZAX
+A296 ; [.35B2.0020.0002] # YI SYLLABLE ZA
+A297 ; [.35B3.0020.0002] # YI SYLLABLE ZAP
+A298 ; [.35B4.0020.0002] # YI SYLLABLE ZUOX
+A299 ; [.35B5.0020.0002] # YI SYLLABLE ZUO
+A29A ; [.35B6.0020.0002] # YI SYLLABLE ZUOP
+A29B ; [.35B7.0020.0002] # YI SYLLABLE ZOT
+A29C ; [.35B8.0020.0002] # YI SYLLABLE ZOX
+A29D ; [.35B9.0020.0002] # YI SYLLABLE ZO
+A29E ; [.35BA.0020.0002] # YI SYLLABLE ZOP
+A29F ; [.35BB.0020.0002] # YI SYLLABLE ZEX
+A2A0 ; [.35BC.0020.0002] # YI SYLLABLE ZE
+A2A1 ; [.35BD.0020.0002] # YI SYLLABLE ZEP
+A2A2 ; [.35BE.0020.0002] # YI SYLLABLE ZUT
+A2A3 ; [.35BF.0020.0002] # YI SYLLABLE ZUX
+A2A4 ; [.35C0.0020.0002] # YI SYLLABLE ZU
+A2A5 ; [.35C1.0020.0002] # YI SYLLABLE ZUP
+A2A6 ; [.35C2.0020.0002] # YI SYLLABLE ZURX
+A2A7 ; [.35C3.0020.0002] # YI SYLLABLE ZUR
+A2A8 ; [.35C4.0020.0002] # YI SYLLABLE ZYT
+A2A9 ; [.35C5.0020.0002] # YI SYLLABLE ZYX
+A2AA ; [.35C6.0020.0002] # YI SYLLABLE ZY
+A2AB ; [.35C7.0020.0002] # YI SYLLABLE ZYP
+A2AC ; [.35C8.0020.0002] # YI SYLLABLE ZYRX
+A2AD ; [.35C9.0020.0002] # YI SYLLABLE ZYR
+A2AE ; [.35CA.0020.0002] # YI SYLLABLE CIT
+A2AF ; [.35CB.0020.0002] # YI SYLLABLE CIX
+A2B0 ; [.35CC.0020.0002] # YI SYLLABLE CI
+A2B1 ; [.35CD.0020.0002] # YI SYLLABLE CIP
+A2B2 ; [.35CE.0020.0002] # YI SYLLABLE CIET
+A2B3 ; [.35CF.0020.0002] # YI SYLLABLE CIEX
+A2B4 ; [.35D0.0020.0002] # YI SYLLABLE CIE
+A2B5 ; [.35D1.0020.0002] # YI SYLLABLE CIEP
+A2B6 ; [.35D2.0020.0002] # YI SYLLABLE CAT
+A2B7 ; [.35D3.0020.0002] # YI SYLLABLE CAX
+A2B8 ; [.35D4.0020.0002] # YI SYLLABLE CA
+A2B9 ; [.35D5.0020.0002] # YI SYLLABLE CAP
+A2BA ; [.35D6.0020.0002] # YI SYLLABLE CUOX
+A2BB ; [.35D7.0020.0002] # YI SYLLABLE CUO
+A2BC ; [.35D8.0020.0002] # YI SYLLABLE CUOP
+A2BD ; [.35D9.0020.0002] # YI SYLLABLE COT
+A2BE ; [.35DA.0020.0002] # YI SYLLABLE COX
+A2BF ; [.35DB.0020.0002] # YI SYLLABLE CO
+A2C0 ; [.35DC.0020.0002] # YI SYLLABLE COP
+A2C1 ; [.35DD.0020.0002] # YI SYLLABLE CEX
+A2C2 ; [.35DE.0020.0002] # YI SYLLABLE CE
+A2C3 ; [.35DF.0020.0002] # YI SYLLABLE CEP
+A2C4 ; [.35E0.0020.0002] # YI SYLLABLE CUT
+A2C5 ; [.35E1.0020.0002] # YI SYLLABLE CUX
+A2C6 ; [.35E2.0020.0002] # YI SYLLABLE CU
+A2C7 ; [.35E3.0020.0002] # YI SYLLABLE CUP
+A2C8 ; [.35E4.0020.0002] # YI SYLLABLE CURX
+A2C9 ; [.35E5.0020.0002] # YI SYLLABLE CUR
+A2CA ; [.35E6.0020.0002] # YI SYLLABLE CYT
+A2CB ; [.35E7.0020.0002] # YI SYLLABLE CYX
+A2CC ; [.35E8.0020.0002] # YI SYLLABLE CY
+A2CD ; [.35E9.0020.0002] # YI SYLLABLE CYP
+A2CE ; [.35EA.0020.0002] # YI SYLLABLE CYRX
+A2CF ; [.35EB.0020.0002] # YI SYLLABLE CYR
+A2D0 ; [.35EC.0020.0002] # YI SYLLABLE ZZIT
+A2D1 ; [.35ED.0020.0002] # YI SYLLABLE ZZIX
+A2D2 ; [.35EE.0020.0002] # YI SYLLABLE ZZI
+A2D3 ; [.35EF.0020.0002] # YI SYLLABLE ZZIP
+A2D4 ; [.35F0.0020.0002] # YI SYLLABLE ZZIET
+A2D5 ; [.35F1.0020.0002] # YI SYLLABLE ZZIEX
+A2D6 ; [.35F2.0020.0002] # YI SYLLABLE ZZIE
+A2D7 ; [.35F3.0020.0002] # YI SYLLABLE ZZIEP
+A2D8 ; [.35F4.0020.0002] # YI SYLLABLE ZZAT
+A2D9 ; [.35F5.0020.0002] # YI SYLLABLE ZZAX
+A2DA ; [.35F6.0020.0002] # YI SYLLABLE ZZA
+A2DB ; [.35F7.0020.0002] # YI SYLLABLE ZZAP
+A2DC ; [.35F8.0020.0002] # YI SYLLABLE ZZOX
+A2DD ; [.35F9.0020.0002] # YI SYLLABLE ZZO
+A2DE ; [.35FA.0020.0002] # YI SYLLABLE ZZOP
+A2DF ; [.35FB.0020.0002] # YI SYLLABLE ZZEX
+A2E0 ; [.35FC.0020.0002] # YI SYLLABLE ZZE
+A2E1 ; [.35FD.0020.0002] # YI SYLLABLE ZZEP
+A2E2 ; [.35FE.0020.0002] # YI SYLLABLE ZZUX
+A2E3 ; [.35FF.0020.0002] # YI SYLLABLE ZZU
+A2E4 ; [.3600.0020.0002] # YI SYLLABLE ZZUP
+A2E5 ; [.3601.0020.0002] # YI SYLLABLE ZZURX
+A2E6 ; [.3602.0020.0002] # YI SYLLABLE ZZUR
+A2E7 ; [.3603.0020.0002] # YI SYLLABLE ZZYT
+A2E8 ; [.3604.0020.0002] # YI SYLLABLE ZZYX
+A2E9 ; [.3605.0020.0002] # YI SYLLABLE ZZY
+A2EA ; [.3606.0020.0002] # YI SYLLABLE ZZYP
+A2EB ; [.3607.0020.0002] # YI SYLLABLE ZZYRX
+A2EC ; [.3608.0020.0002] # YI SYLLABLE ZZYR
+A2ED ; [.3609.0020.0002] # YI SYLLABLE NZIT
+A2EE ; [.360A.0020.0002] # YI SYLLABLE NZIX
+A2EF ; [.360B.0020.0002] # YI SYLLABLE NZI
+A2F0 ; [.360C.0020.0002] # YI SYLLABLE NZIP
+A2F1 ; [.360D.0020.0002] # YI SYLLABLE NZIEX
+A2F2 ; [.360E.0020.0002] # YI SYLLABLE NZIE
+A2F3 ; [.360F.0020.0002] # YI SYLLABLE NZIEP
+A2F4 ; [.3610.0020.0002] # YI SYLLABLE NZAT
+A2F5 ; [.3611.0020.0002] # YI SYLLABLE NZAX
+A2F6 ; [.3612.0020.0002] # YI SYLLABLE NZA
+A2F7 ; [.3613.0020.0002] # YI SYLLABLE NZAP
+A2F8 ; [.3614.0020.0002] # YI SYLLABLE NZUOX
+A2F9 ; [.3615.0020.0002] # YI SYLLABLE NZUO
+A2FA ; [.3616.0020.0002] # YI SYLLABLE NZOX
+A2FB ; [.3617.0020.0002] # YI SYLLABLE NZOP
+A2FC ; [.3618.0020.0002] # YI SYLLABLE NZEX
+A2FD ; [.3619.0020.0002] # YI SYLLABLE NZE
+A2FE ; [.361A.0020.0002] # YI SYLLABLE NZUX
+A2FF ; [.361B.0020.0002] # YI SYLLABLE NZU
+A300 ; [.361C.0020.0002] # YI SYLLABLE NZUP
+A301 ; [.361D.0020.0002] # YI SYLLABLE NZURX
+A302 ; [.361E.0020.0002] # YI SYLLABLE NZUR
+A303 ; [.361F.0020.0002] # YI SYLLABLE NZYT
+A304 ; [.3620.0020.0002] # YI SYLLABLE NZYX
+A305 ; [.3621.0020.0002] # YI SYLLABLE NZY
+A306 ; [.3622.0020.0002] # YI SYLLABLE NZYP
+A307 ; [.3623.0020.0002] # YI SYLLABLE NZYRX
+A308 ; [.3624.0020.0002] # YI SYLLABLE NZYR
+A309 ; [.3625.0020.0002] # YI SYLLABLE SIT
+A30A ; [.3626.0020.0002] # YI SYLLABLE SIX
+A30B ; [.3627.0020.0002] # YI SYLLABLE SI
+A30C ; [.3628.0020.0002] # YI SYLLABLE SIP
+A30D ; [.3629.0020.0002] # YI SYLLABLE SIEX
+A30E ; [.362A.0020.0002] # YI SYLLABLE SIE
+A30F ; [.362B.0020.0002] # YI SYLLABLE SIEP
+A310 ; [.362C.0020.0002] # YI SYLLABLE SAT
+A311 ; [.362D.0020.0002] # YI SYLLABLE SAX
+A312 ; [.362E.0020.0002] # YI SYLLABLE SA
+A313 ; [.362F.0020.0002] # YI SYLLABLE SAP
+A314 ; [.3630.0020.0002] # YI SYLLABLE SUOX
+A315 ; [.3631.0020.0002] # YI SYLLABLE SUO
+A316 ; [.3632.0020.0002] # YI SYLLABLE SUOP
+A317 ; [.3633.0020.0002] # YI SYLLABLE SOT
+A318 ; [.3634.0020.0002] # YI SYLLABLE SOX
+A319 ; [.3635.0020.0002] # YI SYLLABLE SO
+A31A ; [.3636.0020.0002] # YI SYLLABLE SOP
+A31B ; [.3637.0020.0002] # YI SYLLABLE SEX
+A31C ; [.3638.0020.0002] # YI SYLLABLE SE
+A31D ; [.3639.0020.0002] # YI SYLLABLE SEP
+A31E ; [.363A.0020.0002] # YI SYLLABLE SUT
+A31F ; [.363B.0020.0002] # YI SYLLABLE SUX
+A320 ; [.363C.0020.0002] # YI SYLLABLE SU
+A321 ; [.363D.0020.0002] # YI SYLLABLE SUP
+A322 ; [.363E.0020.0002] # YI SYLLABLE SURX
+A323 ; [.363F.0020.0002] # YI SYLLABLE SUR
+A324 ; [.3640.0020.0002] # YI SYLLABLE SYT
+A325 ; [.3641.0020.0002] # YI SYLLABLE SYX
+A326 ; [.3642.0020.0002] # YI SYLLABLE SY
+A327 ; [.3643.0020.0002] # YI SYLLABLE SYP
+A328 ; [.3644.0020.0002] # YI SYLLABLE SYRX
+A329 ; [.3645.0020.0002] # YI SYLLABLE SYR
+A32A ; [.3646.0020.0002] # YI SYLLABLE SSIT
+A32B ; [.3647.0020.0002] # YI SYLLABLE SSIX
+A32C ; [.3648.0020.0002] # YI SYLLABLE SSI
+A32D ; [.3649.0020.0002] # YI SYLLABLE SSIP
+A32E ; [.364A.0020.0002] # YI SYLLABLE SSIEX
+A32F ; [.364B.0020.0002] # YI SYLLABLE SSIE
+A330 ; [.364C.0020.0002] # YI SYLLABLE SSIEP
+A331 ; [.364D.0020.0002] # YI SYLLABLE SSAT
+A332 ; [.364E.0020.0002] # YI SYLLABLE SSAX
+A333 ; [.364F.0020.0002] # YI SYLLABLE SSA
+A334 ; [.3650.0020.0002] # YI SYLLABLE SSAP
+A335 ; [.3651.0020.0002] # YI SYLLABLE SSOT
+A336 ; [.3652.0020.0002] # YI SYLLABLE SSOX
+A337 ; [.3653.0020.0002] # YI SYLLABLE SSO
+A338 ; [.3654.0020.0002] # YI SYLLABLE SSOP
+A339 ; [.3655.0020.0002] # YI SYLLABLE SSEX
+A33A ; [.3656.0020.0002] # YI SYLLABLE SSE
+A33B ; [.3657.0020.0002] # YI SYLLABLE SSEP
+A33C ; [.3658.0020.0002] # YI SYLLABLE SSUT
+A33D ; [.3659.0020.0002] # YI SYLLABLE SSUX
+A33E ; [.365A.0020.0002] # YI SYLLABLE SSU
+A33F ; [.365B.0020.0002] # YI SYLLABLE SSUP
+A340 ; [.365C.0020.0002] # YI SYLLABLE SSYT
+A341 ; [.365D.0020.0002] # YI SYLLABLE SSYX
+A342 ; [.365E.0020.0002] # YI SYLLABLE SSY
+A343 ; [.365F.0020.0002] # YI SYLLABLE SSYP
+A344 ; [.3660.0020.0002] # YI SYLLABLE SSYRX
+A345 ; [.3661.0020.0002] # YI SYLLABLE SSYR
+A346 ; [.3662.0020.0002] # YI SYLLABLE ZHAT
+A347 ; [.3663.0020.0002] # YI SYLLABLE ZHAX
+A348 ; [.3664.0020.0002] # YI SYLLABLE ZHA
+A349 ; [.3665.0020.0002] # YI SYLLABLE ZHAP
+A34A ; [.3666.0020.0002] # YI SYLLABLE ZHUOX
+A34B ; [.3667.0020.0002] # YI SYLLABLE ZHUO
+A34C ; [.3668.0020.0002] # YI SYLLABLE ZHUOP
+A34D ; [.3669.0020.0002] # YI SYLLABLE ZHOT
+A34E ; [.366A.0020.0002] # YI SYLLABLE ZHOX
+A34F ; [.366B.0020.0002] # YI SYLLABLE ZHO
+A350 ; [.366C.0020.0002] # YI SYLLABLE ZHOP
+A351 ; [.366D.0020.0002] # YI SYLLABLE ZHET
+A352 ; [.366E.0020.0002] # YI SYLLABLE ZHEX
+A353 ; [.366F.0020.0002] # YI SYLLABLE ZHE
+A354 ; [.3670.0020.0002] # YI SYLLABLE ZHEP
+A355 ; [.3671.0020.0002] # YI SYLLABLE ZHUT
+A356 ; [.3672.0020.0002] # YI SYLLABLE ZHUX
+A357 ; [.3673.0020.0002] # YI SYLLABLE ZHU
+A358 ; [.3674.0020.0002] # YI SYLLABLE ZHUP
+A359 ; [.3675.0020.0002] # YI SYLLABLE ZHURX
+A35A ; [.3676.0020.0002] # YI SYLLABLE ZHUR
+A35B ; [.3677.0020.0002] # YI SYLLABLE ZHYT
+A35C ; [.3678.0020.0002] # YI SYLLABLE ZHYX
+A35D ; [.3679.0020.0002] # YI SYLLABLE ZHY
+A35E ; [.367A.0020.0002] # YI SYLLABLE ZHYP
+A35F ; [.367B.0020.0002] # YI SYLLABLE ZHYRX
+A360 ; [.367C.0020.0002] # YI SYLLABLE ZHYR
+A361 ; [.367D.0020.0002] # YI SYLLABLE CHAT
+A362 ; [.367E.0020.0002] # YI SYLLABLE CHAX
+A363 ; [.367F.0020.0002] # YI SYLLABLE CHA
+A364 ; [.3680.0020.0002] # YI SYLLABLE CHAP
+A365 ; [.3681.0020.0002] # YI SYLLABLE CHUOT
+A366 ; [.3682.0020.0002] # YI SYLLABLE CHUOX
+A367 ; [.3683.0020.0002] # YI SYLLABLE CHUO
+A368 ; [.3684.0020.0002] # YI SYLLABLE CHUOP
+A369 ; [.3685.0020.0002] # YI SYLLABLE CHOT
+A36A ; [.3686.0020.0002] # YI SYLLABLE CHOX
+A36B ; [.3687.0020.0002] # YI SYLLABLE CHO
+A36C ; [.3688.0020.0002] # YI SYLLABLE CHOP
+A36D ; [.3689.0020.0002] # YI SYLLABLE CHET
+A36E ; [.368A.0020.0002] # YI SYLLABLE CHEX
+A36F ; [.368B.0020.0002] # YI SYLLABLE CHE
+A370 ; [.368C.0020.0002] # YI SYLLABLE CHEP
+A371 ; [.368D.0020.0002] # YI SYLLABLE CHUX
+A372 ; [.368E.0020.0002] # YI SYLLABLE CHU
+A373 ; [.368F.0020.0002] # YI SYLLABLE CHUP
+A374 ; [.3690.0020.0002] # YI SYLLABLE CHURX
+A375 ; [.3691.0020.0002] # YI SYLLABLE CHUR
+A376 ; [.3692.0020.0002] # YI SYLLABLE CHYT
+A377 ; [.3693.0020.0002] # YI SYLLABLE CHYX
+A378 ; [.3694.0020.0002] # YI SYLLABLE CHY
+A379 ; [.3695.0020.0002] # YI SYLLABLE CHYP
+A37A ; [.3696.0020.0002] # YI SYLLABLE CHYRX
+A37B ; [.3697.0020.0002] # YI SYLLABLE CHYR
+A37C ; [.3698.0020.0002] # YI SYLLABLE RRAX
+A37D ; [.3699.0020.0002] # YI SYLLABLE RRA
+A37E ; [.369A.0020.0002] # YI SYLLABLE RRUOX
+A37F ; [.369B.0020.0002] # YI SYLLABLE RRUO
+A380 ; [.369C.0020.0002] # YI SYLLABLE RROT
+A381 ; [.369D.0020.0002] # YI SYLLABLE RROX
+A382 ; [.369E.0020.0002] # YI SYLLABLE RRO
+A383 ; [.369F.0020.0002] # YI SYLLABLE RROP
+A384 ; [.36A0.0020.0002] # YI SYLLABLE RRET
+A385 ; [.36A1.0020.0002] # YI SYLLABLE RREX
+A386 ; [.36A2.0020.0002] # YI SYLLABLE RRE
+A387 ; [.36A3.0020.0002] # YI SYLLABLE RREP
+A388 ; [.36A4.0020.0002] # YI SYLLABLE RRUT
+A389 ; [.36A5.0020.0002] # YI SYLLABLE RRUX
+A38A ; [.36A6.0020.0002] # YI SYLLABLE RRU
+A38B ; [.36A7.0020.0002] # YI SYLLABLE RRUP
+A38C ; [.36A8.0020.0002] # YI SYLLABLE RRURX
+A38D ; [.36A9.0020.0002] # YI SYLLABLE RRUR
+A38E ; [.36AA.0020.0002] # YI SYLLABLE RRYT
+A38F ; [.36AB.0020.0002] # YI SYLLABLE RRYX
+A390 ; [.36AC.0020.0002] # YI SYLLABLE RRY
+A391 ; [.36AD.0020.0002] # YI SYLLABLE RRYP
+A392 ; [.36AE.0020.0002] # YI SYLLABLE RRYRX
+A393 ; [.36AF.0020.0002] # YI SYLLABLE RRYR
+A394 ; [.36B0.0020.0002] # YI SYLLABLE NRAT
+A395 ; [.36B1.0020.0002] # YI SYLLABLE NRAX
+A396 ; [.36B2.0020.0002] # YI SYLLABLE NRA
+A397 ; [.36B3.0020.0002] # YI SYLLABLE NRAP
+A398 ; [.36B4.0020.0002] # YI SYLLABLE NROX
+A399 ; [.36B5.0020.0002] # YI SYLLABLE NRO
+A39A ; [.36B6.0020.0002] # YI SYLLABLE NROP
+A39B ; [.36B7.0020.0002] # YI SYLLABLE NRET
+A39C ; [.36B8.0020.0002] # YI SYLLABLE NREX
+A39D ; [.36B9.0020.0002] # YI SYLLABLE NRE
+A39E ; [.36BA.0020.0002] # YI SYLLABLE NREP
+A39F ; [.36BB.0020.0002] # YI SYLLABLE NRUT
+A3A0 ; [.36BC.0020.0002] # YI SYLLABLE NRUX
+A3A1 ; [.36BD.0020.0002] # YI SYLLABLE NRU
+A3A2 ; [.36BE.0020.0002] # YI SYLLABLE NRUP
+A3A3 ; [.36BF.0020.0002] # YI SYLLABLE NRURX
+A3A4 ; [.36C0.0020.0002] # YI SYLLABLE NRUR
+A3A5 ; [.36C1.0020.0002] # YI SYLLABLE NRYT
+A3A6 ; [.36C2.0020.0002] # YI SYLLABLE NRYX
+A3A7 ; [.36C3.0020.0002] # YI SYLLABLE NRY
+A3A8 ; [.36C4.0020.0002] # YI SYLLABLE NRYP
+A3A9 ; [.36C5.0020.0002] # YI SYLLABLE NRYRX
+A3AA ; [.36C6.0020.0002] # YI SYLLABLE NRYR
+A3AB ; [.36C7.0020.0002] # YI SYLLABLE SHAT
+A3AC ; [.36C8.0020.0002] # YI SYLLABLE SHAX
+A3AD ; [.36C9.0020.0002] # YI SYLLABLE SHA
+A3AE ; [.36CA.0020.0002] # YI SYLLABLE SHAP
+A3AF ; [.36CB.0020.0002] # YI SYLLABLE SHUOX
+A3B0 ; [.36CC.0020.0002] # YI SYLLABLE SHUO
+A3B1 ; [.36CD.0020.0002] # YI SYLLABLE SHUOP
+A3B2 ; [.36CE.0020.0002] # YI SYLLABLE SHOT
+A3B3 ; [.36CF.0020.0002] # YI SYLLABLE SHOX
+A3B4 ; [.36D0.0020.0002] # YI SYLLABLE SHO
+A3B5 ; [.36D1.0020.0002] # YI SYLLABLE SHOP
+A3B6 ; [.36D2.0020.0002] # YI SYLLABLE SHET
+A3B7 ; [.36D3.0020.0002] # YI SYLLABLE SHEX
+A3B8 ; [.36D4.0020.0002] # YI SYLLABLE SHE
+A3B9 ; [.36D5.0020.0002] # YI SYLLABLE SHEP
+A3BA ; [.36D6.0020.0002] # YI SYLLABLE SHUT
+A3BB ; [.36D7.0020.0002] # YI SYLLABLE SHUX
+A3BC ; [.36D8.0020.0002] # YI SYLLABLE SHU
+A3BD ; [.36D9.0020.0002] # YI SYLLABLE SHUP
+A3BE ; [.36DA.0020.0002] # YI SYLLABLE SHURX
+A3BF ; [.36DB.0020.0002] # YI SYLLABLE SHUR
+A3C0 ; [.36DC.0020.0002] # YI SYLLABLE SHYT
+A3C1 ; [.36DD.0020.0002] # YI SYLLABLE SHYX
+A3C2 ; [.36DE.0020.0002] # YI SYLLABLE SHY
+A3C3 ; [.36DF.0020.0002] # YI SYLLABLE SHYP
+A3C4 ; [.36E0.0020.0002] # YI SYLLABLE SHYRX
+A3C5 ; [.36E1.0020.0002] # YI SYLLABLE SHYR
+A3C6 ; [.36E2.0020.0002] # YI SYLLABLE RAT
+A3C7 ; [.36E3.0020.0002] # YI SYLLABLE RAX
+A3C8 ; [.36E4.0020.0002] # YI SYLLABLE RA
+A3C9 ; [.36E5.0020.0002] # YI SYLLABLE RAP
+A3CA ; [.36E6.0020.0002] # YI SYLLABLE RUOX
+A3CB ; [.36E7.0020.0002] # YI SYLLABLE RUO
+A3CC ; [.36E8.0020.0002] # YI SYLLABLE RUOP
+A3CD ; [.36E9.0020.0002] # YI SYLLABLE ROT
+A3CE ; [.36EA.0020.0002] # YI SYLLABLE ROX
+A3CF ; [.36EB.0020.0002] # YI SYLLABLE RO
+A3D0 ; [.36EC.0020.0002] # YI SYLLABLE ROP
+A3D1 ; [.36ED.0020.0002] # YI SYLLABLE REX
+A3D2 ; [.36EE.0020.0002] # YI SYLLABLE RE
+A3D3 ; [.36EF.0020.0002] # YI SYLLABLE REP
+A3D4 ; [.36F0.0020.0002] # YI SYLLABLE RUT
+A3D5 ; [.36F1.0020.0002] # YI SYLLABLE RUX
+A3D6 ; [.36F2.0020.0002] # YI SYLLABLE RU
+A3D7 ; [.36F3.0020.0002] # YI SYLLABLE RUP
+A3D8 ; [.36F4.0020.0002] # YI SYLLABLE RURX
+A3D9 ; [.36F5.0020.0002] # YI SYLLABLE RUR
+A3DA ; [.36F6.0020.0002] # YI SYLLABLE RYT
+A3DB ; [.36F7.0020.0002] # YI SYLLABLE RYX
+A3DC ; [.36F8.0020.0002] # YI SYLLABLE RY
+A3DD ; [.36F9.0020.0002] # YI SYLLABLE RYP
+A3DE ; [.36FA.0020.0002] # YI SYLLABLE RYRX
+A3DF ; [.36FB.0020.0002] # YI SYLLABLE RYR
+A3E0 ; [.36FC.0020.0002] # YI SYLLABLE JIT
+A3E1 ; [.36FD.0020.0002] # YI SYLLABLE JIX
+A3E2 ; [.36FE.0020.0002] # YI SYLLABLE JI
+A3E3 ; [.36FF.0020.0002] # YI SYLLABLE JIP
+A3E4 ; [.3700.0020.0002] # YI SYLLABLE JIET
+A3E5 ; [.3701.0020.0002] # YI SYLLABLE JIEX
+A3E6 ; [.3702.0020.0002] # YI SYLLABLE JIE
+A3E7 ; [.3703.0020.0002] # YI SYLLABLE JIEP
+A3E8 ; [.3704.0020.0002] # YI SYLLABLE JUOT
+A3E9 ; [.3705.0020.0002] # YI SYLLABLE JUOX
+A3EA ; [.3706.0020.0002] # YI SYLLABLE JUO
+A3EB ; [.3707.0020.0002] # YI SYLLABLE JUOP
+A3EC ; [.3708.0020.0002] # YI SYLLABLE JOT
+A3ED ; [.3709.0020.0002] # YI SYLLABLE JOX
+A3EE ; [.370A.0020.0002] # YI SYLLABLE JO
+A3EF ; [.370B.0020.0002] # YI SYLLABLE JOP
+A3F0 ; [.370C.0020.0002] # YI SYLLABLE JUT
+A3F1 ; [.370D.0020.0002] # YI SYLLABLE JUX
+A3F2 ; [.370E.0020.0002] # YI SYLLABLE JU
+A3F3 ; [.370F.0020.0002] # YI SYLLABLE JUP
+A3F4 ; [.3710.0020.0002] # YI SYLLABLE JURX
+A3F5 ; [.3711.0020.0002] # YI SYLLABLE JUR
+A3F6 ; [.3712.0020.0002] # YI SYLLABLE JYT
+A3F7 ; [.3713.0020.0002] # YI SYLLABLE JYX
+A3F8 ; [.3714.0020.0002] # YI SYLLABLE JY
+A3F9 ; [.3715.0020.0002] # YI SYLLABLE JYP
+A3FA ; [.3716.0020.0002] # YI SYLLABLE JYRX
+A3FB ; [.3717.0020.0002] # YI SYLLABLE JYR
+A3FC ; [.3718.0020.0002] # YI SYLLABLE QIT
+A3FD ; [.3719.0020.0002] # YI SYLLABLE QIX
+A3FE ; [.371A.0020.0002] # YI SYLLABLE QI
+A3FF ; [.371B.0020.0002] # YI SYLLABLE QIP
+A400 ; [.371C.0020.0002] # YI SYLLABLE QIET
+A401 ; [.371D.0020.0002] # YI SYLLABLE QIEX
+A402 ; [.371E.0020.0002] # YI SYLLABLE QIE
+A403 ; [.371F.0020.0002] # YI SYLLABLE QIEP
+A404 ; [.3720.0020.0002] # YI SYLLABLE QUOT
+A405 ; [.3721.0020.0002] # YI SYLLABLE QUOX
+A406 ; [.3722.0020.0002] # YI SYLLABLE QUO
+A407 ; [.3723.0020.0002] # YI SYLLABLE QUOP
+A408 ; [.3724.0020.0002] # YI SYLLABLE QOT
+A409 ; [.3725.0020.0002] # YI SYLLABLE QOX
+A40A ; [.3726.0020.0002] # YI SYLLABLE QO
+A40B ; [.3727.0020.0002] # YI SYLLABLE QOP
+A40C ; [.3728.0020.0002] # YI SYLLABLE QUT
+A40D ; [.3729.0020.0002] # YI SYLLABLE QUX
+A40E ; [.372A.0020.0002] # YI SYLLABLE QU
+A40F ; [.372B.0020.0002] # YI SYLLABLE QUP
+A410 ; [.372C.0020.0002] # YI SYLLABLE QURX
+A411 ; [.372D.0020.0002] # YI SYLLABLE QUR
+A412 ; [.372E.0020.0002] # YI SYLLABLE QYT
+A413 ; [.372F.0020.0002] # YI SYLLABLE QYX
+A414 ; [.3730.0020.0002] # YI SYLLABLE QY
+A415 ; [.3731.0020.0002] # YI SYLLABLE QYP
+A416 ; [.3732.0020.0002] # YI SYLLABLE QYRX
+A417 ; [.3733.0020.0002] # YI SYLLABLE QYR
+A418 ; [.3734.0020.0002] # YI SYLLABLE JJIT
+A419 ; [.3735.0020.0002] # YI SYLLABLE JJIX
+A41A ; [.3736.0020.0002] # YI SYLLABLE JJI
+A41B ; [.3737.0020.0002] # YI SYLLABLE JJIP
+A41C ; [.3738.0020.0002] # YI SYLLABLE JJIET
+A41D ; [.3739.0020.0002] # YI SYLLABLE JJIEX
+A41E ; [.373A.0020.0002] # YI SYLLABLE JJIE
+A41F ; [.373B.0020.0002] # YI SYLLABLE JJIEP
+A420 ; [.373C.0020.0002] # YI SYLLABLE JJUOX
+A421 ; [.373D.0020.0002] # YI SYLLABLE JJUO
+A422 ; [.373E.0020.0002] # YI SYLLABLE JJUOP
+A423 ; [.373F.0020.0002] # YI SYLLABLE JJOT
+A424 ; [.3740.0020.0002] # YI SYLLABLE JJOX
+A425 ; [.3741.0020.0002] # YI SYLLABLE JJO
+A426 ; [.3742.0020.0002] # YI SYLLABLE JJOP
+A427 ; [.3743.0020.0002] # YI SYLLABLE JJUT
+A428 ; [.3744.0020.0002] # YI SYLLABLE JJUX
+A429 ; [.3745.0020.0002] # YI SYLLABLE JJU
+A42A ; [.3746.0020.0002] # YI SYLLABLE JJUP
+A42B ; [.3747.0020.0002] # YI SYLLABLE JJURX
+A42C ; [.3748.0020.0002] # YI SYLLABLE JJUR
+A42D ; [.3749.0020.0002] # YI SYLLABLE JJYT
+A42E ; [.374A.0020.0002] # YI SYLLABLE JJYX
+A42F ; [.374B.0020.0002] # YI SYLLABLE JJY
+A430 ; [.374C.0020.0002] # YI SYLLABLE JJYP
+A431 ; [.374D.0020.0002] # YI SYLLABLE NJIT
+A432 ; [.374E.0020.0002] # YI SYLLABLE NJIX
+A433 ; [.374F.0020.0002] # YI SYLLABLE NJI
+A434 ; [.3750.0020.0002] # YI SYLLABLE NJIP
+A435 ; [.3751.0020.0002] # YI SYLLABLE NJIET
+A436 ; [.3752.0020.0002] # YI SYLLABLE NJIEX
+A437 ; [.3753.0020.0002] # YI SYLLABLE NJIE
+A438 ; [.3754.0020.0002] # YI SYLLABLE NJIEP
+A439 ; [.3755.0020.0002] # YI SYLLABLE NJUOX
+A43A ; [.3756.0020.0002] # YI SYLLABLE NJUO
+A43B ; [.3757.0020.0002] # YI SYLLABLE NJOT
+A43C ; [.3758.0020.0002] # YI SYLLABLE NJOX
+A43D ; [.3759.0020.0002] # YI SYLLABLE NJO
+A43E ; [.375A.0020.0002] # YI SYLLABLE NJOP
+A43F ; [.375B.0020.0002] # YI SYLLABLE NJUX
+A440 ; [.375C.0020.0002] # YI SYLLABLE NJU
+A441 ; [.375D.0020.0002] # YI SYLLABLE NJUP
+A442 ; [.375E.0020.0002] # YI SYLLABLE NJURX
+A443 ; [.375F.0020.0002] # YI SYLLABLE NJUR
+A444 ; [.3760.0020.0002] # YI SYLLABLE NJYT
+A445 ; [.3761.0020.0002] # YI SYLLABLE NJYX
+A446 ; [.3762.0020.0002] # YI SYLLABLE NJY
+A447 ; [.3763.0020.0002] # YI SYLLABLE NJYP
+A448 ; [.3764.0020.0002] # YI SYLLABLE NJYRX
+A449 ; [.3765.0020.0002] # YI SYLLABLE NJYR
+A44A ; [.3766.0020.0002] # YI SYLLABLE NYIT
+A44B ; [.3767.0020.0002] # YI SYLLABLE NYIX
+A44C ; [.3768.0020.0002] # YI SYLLABLE NYI
+A44D ; [.3769.0020.0002] # YI SYLLABLE NYIP
+A44E ; [.376A.0020.0002] # YI SYLLABLE NYIET
+A44F ; [.376B.0020.0002] # YI SYLLABLE NYIEX
+A450 ; [.376C.0020.0002] # YI SYLLABLE NYIE
+A451 ; [.376D.0020.0002] # YI SYLLABLE NYIEP
+A452 ; [.376E.0020.0002] # YI SYLLABLE NYUOX
+A453 ; [.376F.0020.0002] # YI SYLLABLE NYUO
+A454 ; [.3770.0020.0002] # YI SYLLABLE NYUOP
+A455 ; [.3771.0020.0002] # YI SYLLABLE NYOT
+A456 ; [.3772.0020.0002] # YI SYLLABLE NYOX
+A457 ; [.3773.0020.0002] # YI SYLLABLE NYO
+A458 ; [.3774.0020.0002] # YI SYLLABLE NYOP
+A459 ; [.3775.0020.0002] # YI SYLLABLE NYUT
+A45A ; [.3776.0020.0002] # YI SYLLABLE NYUX
+A45B ; [.3777.0020.0002] # YI SYLLABLE NYU
+A45C ; [.3778.0020.0002] # YI SYLLABLE NYUP
+A45D ; [.3779.0020.0002] # YI SYLLABLE XIT
+A45E ; [.377A.0020.0002] # YI SYLLABLE XIX
+A45F ; [.377B.0020.0002] # YI SYLLABLE XI
+A460 ; [.377C.0020.0002] # YI SYLLABLE XIP
+A461 ; [.377D.0020.0002] # YI SYLLABLE XIET
+A462 ; [.377E.0020.0002] # YI SYLLABLE XIEX
+A463 ; [.377F.0020.0002] # YI SYLLABLE XIE
+A464 ; [.3780.0020.0002] # YI SYLLABLE XIEP
+A465 ; [.3781.0020.0002] # YI SYLLABLE XUOX
+A466 ; [.3782.0020.0002] # YI SYLLABLE XUO
+A467 ; [.3783.0020.0002] # YI SYLLABLE XOT
+A468 ; [.3784.0020.0002] # YI SYLLABLE XOX
+A469 ; [.3785.0020.0002] # YI SYLLABLE XO
+A46A ; [.3786.0020.0002] # YI SYLLABLE XOP
+A46B ; [.3787.0020.0002] # YI SYLLABLE XYT
+A46C ; [.3788.0020.0002] # YI SYLLABLE XYX
+A46D ; [.3789.0020.0002] # YI SYLLABLE XY
+A46E ; [.378A.0020.0002] # YI SYLLABLE XYP
+A46F ; [.378B.0020.0002] # YI SYLLABLE XYRX
+A470 ; [.378C.0020.0002] # YI SYLLABLE XYR
+A471 ; [.378D.0020.0002] # YI SYLLABLE YIT
+A472 ; [.378E.0020.0002] # YI SYLLABLE YIX
+A473 ; [.378F.0020.0002] # YI SYLLABLE YI
+A474 ; [.3790.0020.0002] # YI SYLLABLE YIP
+A475 ; [.3791.0020.0002] # YI SYLLABLE YIET
+A476 ; [.3792.0020.0002] # YI SYLLABLE YIEX
+A477 ; [.3793.0020.0002] # YI SYLLABLE YIE
+A478 ; [.3794.0020.0002] # YI SYLLABLE YIEP
+A479 ; [.3795.0020.0002] # YI SYLLABLE YUOT
+A47A ; [.3796.0020.0002] # YI SYLLABLE YUOX
+A47B ; [.3797.0020.0002] # YI SYLLABLE YUO
+A47C ; [.3798.0020.0002] # YI SYLLABLE YUOP
+A47D ; [.3799.0020.0002] # YI SYLLABLE YOT
+A47E ; [.379A.0020.0002] # YI SYLLABLE YOX
+A47F ; [.379B.0020.0002] # YI SYLLABLE YO
+A480 ; [.379C.0020.0002] # YI SYLLABLE YOP
+A481 ; [.379D.0020.0002] # YI SYLLABLE YUT
+A482 ; [.379E.0020.0002] # YI SYLLABLE YUX
+A483 ; [.379F.0020.0002] # YI SYLLABLE YU
+A484 ; [.37A0.0020.0002] # YI SYLLABLE YUP
+A485 ; [.37A1.0020.0002] # YI SYLLABLE YURX
+A486 ; [.37A2.0020.0002] # YI SYLLABLE YUR
+A487 ; [.37A3.0020.0002] # YI SYLLABLE YYT
+A488 ; [.37A4.0020.0002] # YI SYLLABLE YYX
+A489 ; [.37A5.0020.0002] # YI SYLLABLE YY
+A48A ; [.37A6.0020.0002] # YI SYLLABLE YYP
+A48B ; [.37A7.0020.0002] # YI SYLLABLE YYRX
+A48C ; [.37A8.0020.0002] # YI SYLLABLE YYR
+A4F8 ; [.37A9.0020.0002] # LISU LETTER TONE MYA TI
+A4F9 ; [.37AA.0020.0002] # LISU LETTER TONE NA PO
+A4FA ; [.37AB.0020.0002] # LISU LETTER TONE MYA CYA
+A4FB ; [.37AC.0020.0002] # LISU LETTER TONE MYA BO
+A4FD ; [.37AD.0020.0002] # LISU LETTER TONE MYA JEU
+A4FC ; [.37AE.0020.0002] # LISU LETTER TONE MYA NA
+A4D0 ; [.37AF.0020.0002] # LISU LETTER BA
+A4D1 ; [.37B0.0020.0002] # LISU LETTER PA
+A4D2 ; [.37B1.0020.0002] # LISU LETTER PHA
+A4D3 ; [.37B2.0020.0002] # LISU LETTER DA
+A4D4 ; [.37B3.0020.0002] # LISU LETTER TA
+A4D5 ; [.37B4.0020.0002] # LISU LETTER THA
+A4D6 ; [.37B5.0020.0002] # LISU LETTER GA
+A4D7 ; [.37B6.0020.0002] # LISU LETTER KA
+A4D8 ; [.37B7.0020.0002] # LISU LETTER KHA
+A4D9 ; [.37B8.0020.0002] # LISU LETTER JA
+A4DA ; [.37B9.0020.0002] # LISU LETTER CA
+A4DB ; [.37BA.0020.0002] # LISU LETTER CHA
+A4DC ; [.37BB.0020.0002] # LISU LETTER DZA
+A4DD ; [.37BC.0020.0002] # LISU LETTER TSA
+A4DE ; [.37BD.0020.0002] # LISU LETTER TSHA
+A4DF ; [.37BE.0020.0002] # LISU LETTER MA
+A4E0 ; [.37BF.0020.0002] # LISU LETTER NA
+A4E1 ; [.37C0.0020.0002] # LISU LETTER LA
+A4E2 ; [.37C1.0020.0002] # LISU LETTER SA
+A4E3 ; [.37C2.0020.0002] # LISU LETTER ZHA
+A4E4 ; [.37C3.0020.0002] # LISU LETTER ZA
+A4E5 ; [.37C4.0020.0002] # LISU LETTER NGA
+A4E6 ; [.37C5.0020.0002] # LISU LETTER HA
+A4E7 ; [.37C6.0020.0002] # LISU LETTER XA
+A4E8 ; [.37C7.0020.0002] # LISU LETTER HHA
+A4E9 ; [.37C8.0020.0002] # LISU LETTER FA
+A4EB ; [.37C9.0020.0002] # LISU LETTER SHA
+A4ED ; [.37CA.0020.0002] # LISU LETTER GHA
+A4EA ; [.37CB.0020.0002] # LISU LETTER WA
+A4EC ; [.37CC.0020.0002] # LISU LETTER YA
+A4EE ; [.37CD.0020.0002] # LISU LETTER A
+A4EF ; [.37CE.0020.0002] # LISU LETTER AE
+A4F0 ; [.37CF.0020.0002] # LISU LETTER E
+A4F1 ; [.37D0.0020.0002] # LISU LETTER EU
+A4F2 ; [.37D1.0020.0002] # LISU LETTER I
+A4F3 ; [.37D2.0020.0002] # LISU LETTER O
+A4F4 ; [.37D3.0020.0002] # LISU LETTER U
+A4F5 ; [.37D4.0020.0002] # LISU LETTER UE
+A4F6 ; [.37D5.0020.0002] # LISU LETTER UH
+A4F7 ; [.37D6.0020.0002] # LISU LETTER OE
+16F00 ; [.37D7.0020.0002] # MIAO LETTER PA
+16F01 ; [.37D8.0020.0002] # MIAO LETTER BA
+16F02 ; [.37D9.0020.0002] # MIAO LETTER YI PA
+16F03 ; [.37DA.0020.0002] # MIAO LETTER PLA
+16F04 ; [.37DB.0020.0002] # MIAO LETTER MA
+16F06 ; [.37DB.0020.0004] # MIAO LETTER ARCHAIC MA
+16F05 ; [.37DC.0020.0002] # MIAO LETTER MHA
+16F07 ; [.37DD.0020.0002] # MIAO LETTER FA
+16F08 ; [.37DE.0020.0002] # MIAO LETTER VA
+16F09 ; [.37DF.0020.0002] # MIAO LETTER VFA
+16F0A ; [.37E0.0020.0002] # MIAO LETTER TA
+16F0B ; [.37E1.0020.0002] # MIAO LETTER DA
+16F0C ; [.37E2.0020.0002] # MIAO LETTER YI TTA
+16F0D ; [.37E3.0020.0002] # MIAO LETTER YI TA
+16F0E ; [.37E4.0020.0002] # MIAO LETTER TTA
+16F0F ; [.37E5.0020.0002] # MIAO LETTER DDA
+16F10 ; [.37E6.0020.0002] # MIAO LETTER NA
+16F13 ; [.37E6.0020.0004] # MIAO LETTER ARCHAIC NA
+16F11 ; [.37E7.0020.0002] # MIAO LETTER NHA
+16F12 ; [.37E8.0020.0002] # MIAO LETTER YI NNA
+16F14 ; [.37E9.0020.0002] # MIAO LETTER NNA
+16F15 ; [.37EA.0020.0002] # MIAO LETTER NNHA
+16F16 ; [.37EB.0020.0002] # MIAO LETTER LA
+16F17 ; [.37EC.0020.0002] # MIAO LETTER LYA
+16F18 ; [.37ED.0020.0002] # MIAO LETTER LHA
+16F19 ; [.37EE.0020.0002] # MIAO LETTER LHYA
+16F1A ; [.37EF.0020.0002] # MIAO LETTER TLHA
+16F1B ; [.37F0.0020.0002] # MIAO LETTER DLHA
+16F1C ; [.37F1.0020.0002] # MIAO LETTER TLHYA
+16F1D ; [.37F2.0020.0002] # MIAO LETTER DLHYA
+16F1E ; [.37F3.0020.0002] # MIAO LETTER KA
+16F1F ; [.37F4.0020.0002] # MIAO LETTER GA
+16F20 ; [.37F5.0020.0002] # MIAO LETTER YI KA
+16F21 ; [.37F6.0020.0002] # MIAO LETTER QA
+16F22 ; [.37F7.0020.0002] # MIAO LETTER QGA
+16F23 ; [.37F8.0020.0002] # MIAO LETTER NGA
+16F25 ; [.37F8.0020.0004] # MIAO LETTER ARCHAIC NGA
+16F24 ; [.37F9.0020.0002] # MIAO LETTER NGHA
+16F26 ; [.37FA.0020.0002] # MIAO LETTER HA
+16F27 ; [.37FB.0020.0002] # MIAO LETTER XA
+16F28 ; [.37FC.0020.0002] # MIAO LETTER GHA
+16F29 ; [.37FD.0020.0002] # MIAO LETTER GHHA
+16F2A ; [.37FE.0020.0002] # MIAO LETTER TSSA
+16F2B ; [.37FF.0020.0002] # MIAO LETTER DZZA
+16F2C ; [.3800.0020.0002] # MIAO LETTER NYA
+16F2D ; [.3801.0020.0002] # MIAO LETTER NYHA
+16F2E ; [.3802.0020.0002] # MIAO LETTER TSHA
+16F2F ; [.3803.0020.0002] # MIAO LETTER DZHA
+16F30 ; [.3804.0020.0002] # MIAO LETTER YI TSHA
+16F31 ; [.3805.0020.0002] # MIAO LETTER YI DZHA
+16F32 ; [.3806.0020.0002] # MIAO LETTER REFORMED TSHA
+16F33 ; [.3807.0020.0002] # MIAO LETTER SHA
+16F34 ; [.3808.0020.0002] # MIAO LETTER SSA
+16F35 ; [.3809.0020.0002] # MIAO LETTER ZHA
+16F36 ; [.380A.0020.0002] # MIAO LETTER ZSHA
+16F37 ; [.380B.0020.0002] # MIAO LETTER TSA
+16F38 ; [.380C.0020.0002] # MIAO LETTER DZA
+16F39 ; [.380D.0020.0002] # MIAO LETTER YI TSA
+16F3A ; [.380E.0020.0002] # MIAO LETTER SA
+16F3B ; [.380F.0020.0002] # MIAO LETTER ZA
+16F3C ; [.3810.0020.0002] # MIAO LETTER ZSA
+16F3D ; [.3811.0020.0002] # MIAO LETTER ZZA
+16F3F ; [.3811.0020.0004] # MIAO LETTER ARCHAIC ZZA
+16F3E ; [.3812.0020.0002] # MIAO LETTER ZZSA
+16F40 ; [.3813.0020.0002] # MIAO LETTER ZZYA
+16F41 ; [.3814.0020.0002] # MIAO LETTER ZZSYA
+16F42 ; [.3815.0020.0002] # MIAO LETTER WA
+16F43 ; [.3816.0020.0002] # MIAO LETTER AH
+16F44 ; [.3817.0020.0002] # MIAO LETTER HHA
+16F50 ; [.3818.0020.0002] # MIAO LETTER NASALIZATION
+16F51 ; [.3819.0020.0002] # MIAO SIGN ASPIRATION
+16F52 ; [.381A.0020.0002] # MIAO SIGN REFORMED VOICING
+16F53 ; [.381B.0020.0002] # MIAO SIGN REFORMED ASPIRATION
+16F54 ; [.381C.0020.0002] # MIAO VOWEL SIGN A
+16F55 ; [.381D.0020.0002] # MIAO VOWEL SIGN AA
+16F56 ; [.381E.0020.0002] # MIAO VOWEL SIGN AHH
+16F57 ; [.381F.0020.0002] # MIAO VOWEL SIGN AN
+16F58 ; [.3820.0020.0002] # MIAO VOWEL SIGN ANG
+16F59 ; [.3821.0020.0002] # MIAO VOWEL SIGN O
+16F5A ; [.3822.0020.0002] # MIAO VOWEL SIGN OO
+16F5B ; [.3823.0020.0002] # MIAO VOWEL SIGN WO
+16F5C ; [.3824.0020.0002] # MIAO VOWEL SIGN W
+16F5D ; [.3825.0020.0002] # MIAO VOWEL SIGN E
+16F5E ; [.3826.0020.0002] # MIAO VOWEL SIGN EN
+16F5F ; [.3827.0020.0002] # MIAO VOWEL SIGN ENG
+16F60 ; [.3828.0020.0002] # MIAO VOWEL SIGN OEY
+16F61 ; [.3829.0020.0002] # MIAO VOWEL SIGN I
+16F62 ; [.382A.0020.0002] # MIAO VOWEL SIGN IA
+16F63 ; [.382B.0020.0002] # MIAO VOWEL SIGN IAN
+16F64 ; [.382C.0020.0002] # MIAO VOWEL SIGN IANG
+16F65 ; [.382D.0020.0002] # MIAO VOWEL SIGN IO
+16F66 ; [.382E.0020.0002] # MIAO VOWEL SIGN IE
+16F67 ; [.382F.0020.0002] # MIAO VOWEL SIGN II
+16F68 ; [.3830.0020.0002] # MIAO VOWEL SIGN IU
+16F69 ; [.3831.0020.0002] # MIAO VOWEL SIGN ING
+16F6A ; [.3832.0020.0002] # MIAO VOWEL SIGN U
+16F6B ; [.3833.0020.0002] # MIAO VOWEL SIGN UA
+16F6C ; [.3834.0020.0002] # MIAO VOWEL SIGN UAN
+16F6D ; [.3835.0020.0002] # MIAO VOWEL SIGN UANG
+16F6E ; [.3836.0020.0002] # MIAO VOWEL SIGN UU
+16F6F ; [.3837.0020.0002] # MIAO VOWEL SIGN UEI
+16F70 ; [.3838.0020.0002] # MIAO VOWEL SIGN UNG
+16F71 ; [.3839.0020.0002] # MIAO VOWEL SIGN Y
+16F72 ; [.383A.0020.0002] # MIAO VOWEL SIGN YI
+16F73 ; [.383B.0020.0002] # MIAO VOWEL SIGN AE
+16F74 ; [.383C.0020.0002] # MIAO VOWEL SIGN AEE
+16F75 ; [.383D.0020.0002] # MIAO VOWEL SIGN ERR
+16F76 ; [.383E.0020.0002] # MIAO VOWEL SIGN ROUNDED ERR
+16F77 ; [.383F.0020.0002] # MIAO VOWEL SIGN ER
+16F78 ; [.3840.0020.0002] # MIAO VOWEL SIGN ROUNDED ER
+16F79 ; [.3841.0020.0002] # MIAO VOWEL SIGN AI
+16F7A ; [.3842.0020.0002] # MIAO VOWEL SIGN EI
+16F7B ; [.3843.0020.0002] # MIAO VOWEL SIGN AU
+16F7C ; [.3844.0020.0002] # MIAO VOWEL SIGN OU
+16F7D ; [.3845.0020.0002] # MIAO VOWEL SIGN N
+16F7E ; [.3846.0020.0002] # MIAO VOWEL SIGN NG
+16F8F ; [.3847.0020.0002] # MIAO TONE RIGHT
+16F90 ; [.3848.0020.0002] # MIAO TONE TOP RIGHT
+16F91 ; [.3849.0020.0002] # MIAO TONE ABOVE
+16F92 ; [.384A.0020.0002] # MIAO TONE BELOW
+16F93 ; [.384B.0020.0002] # MIAO LETTER TONE-2
+16F94 ; [.384C.0020.0002] # MIAO LETTER TONE-3
+16F95 ; [.384D.0020.0002] # MIAO LETTER TONE-4
+16F96 ; [.384E.0020.0002] # MIAO LETTER TONE-5
+16F97 ; [.384F.0020.0002] # MIAO LETTER TONE-6
+16F98 ; [.3850.0020.0002] # MIAO LETTER TONE-7
+16F99 ; [.3851.0020.0002] # MIAO LETTER TONE-8
+16F9A ; [.3852.0020.0002] # MIAO LETTER REFORMED TONE-1
+16F9B ; [.3853.0020.0002] # MIAO LETTER REFORMED TONE-2
+16F9C ; [.3854.0020.0002] # MIAO LETTER REFORMED TONE-4
+16F9D ; [.3855.0020.0002] # MIAO LETTER REFORMED TONE-5
+16F9E ; [.3856.0020.0002] # MIAO LETTER REFORMED TONE-6
+16F9F ; [.3857.0020.0002] # MIAO LETTER REFORMED TONE-8
+10280 ; [.3858.0020.0002] # LYCIAN LETTER A
+10281 ; [.3859.0020.0002] # LYCIAN LETTER E
+10282 ; [.385A.0020.0002] # LYCIAN LETTER B
+10283 ; [.385B.0020.0002] # LYCIAN LETTER BH
+10284 ; [.385C.0020.0002] # LYCIAN LETTER G
+10285 ; [.385D.0020.0002] # LYCIAN LETTER D
+10286 ; [.385E.0020.0002] # LYCIAN LETTER I
+10287 ; [.385F.0020.0002] # LYCIAN LETTER W
+10288 ; [.3860.0020.0002] # LYCIAN LETTER Z
+10289 ; [.3861.0020.0002] # LYCIAN LETTER TH
+1028A ; [.3862.0020.0002] # LYCIAN LETTER J
+1028B ; [.3863.0020.0002] # LYCIAN LETTER K
+1028C ; [.3864.0020.0002] # LYCIAN LETTER Q
+1028D ; [.3865.0020.0002] # LYCIAN LETTER L
+1028E ; [.3866.0020.0002] # LYCIAN LETTER M
+1028F ; [.3867.0020.0002] # LYCIAN LETTER N
+10290 ; [.3868.0020.0002] # LYCIAN LETTER MM
+10291 ; [.3869.0020.0002] # LYCIAN LETTER NN
+10292 ; [.386A.0020.0002] # LYCIAN LETTER U
+10293 ; [.386B.0020.0002] # LYCIAN LETTER P
+10294 ; [.386C.0020.0002] # LYCIAN LETTER KK
+10295 ; [.386D.0020.0002] # LYCIAN LETTER R
+10296 ; [.386E.0020.0002] # LYCIAN LETTER S
+10297 ; [.386F.0020.0002] # LYCIAN LETTER T
+10298 ; [.3870.0020.0002] # LYCIAN LETTER TT
+10299 ; [.3871.0020.0002] # LYCIAN LETTER AN
+1029A ; [.3872.0020.0002] # LYCIAN LETTER EN
+1029B ; [.3873.0020.0002] # LYCIAN LETTER H
+1029C ; [.3874.0020.0002] # LYCIAN LETTER X
+102A0 ; [.3875.0020.0002] # CARIAN LETTER A
+102A1 ; [.3876.0020.0002] # CARIAN LETTER P2
+102A2 ; [.3877.0020.0002] # CARIAN LETTER D
+102A3 ; [.3878.0020.0002] # CARIAN LETTER L
+102A4 ; [.3879.0020.0002] # CARIAN LETTER UUU
+102A5 ; [.387A.0020.0002] # CARIAN LETTER R
+102A6 ; [.387B.0020.0002] # CARIAN LETTER LD
+102A7 ; [.387C.0020.0002] # CARIAN LETTER A2
+102A8 ; [.387D.0020.0002] # CARIAN LETTER Q
+102A9 ; [.387E.0020.0002] # CARIAN LETTER B
+102AA ; [.387F.0020.0002] # CARIAN LETTER M
+102AB ; [.3880.0020.0002] # CARIAN LETTER O
+102AC ; [.3881.0020.0002] # CARIAN LETTER D2
+102AD ; [.3882.0020.0002] # CARIAN LETTER T
+102AE ; [.3883.0020.0002] # CARIAN LETTER SH
+102AF ; [.3884.0020.0002] # CARIAN LETTER SH2
+102B0 ; [.3885.0020.0002] # CARIAN LETTER S
+102B1 ; [.3886.0020.0002] # CARIAN LETTER C-18
+102B2 ; [.3887.0020.0002] # CARIAN LETTER U
+102B3 ; [.3888.0020.0002] # CARIAN LETTER NN
+102B4 ; [.3889.0020.0002] # CARIAN LETTER X
+102B5 ; [.388A.0020.0002] # CARIAN LETTER N
+102B6 ; [.388B.0020.0002] # CARIAN LETTER TT2
+102B7 ; [.388C.0020.0002] # CARIAN LETTER P
+102B8 ; [.388D.0020.0002] # CARIAN LETTER SS
+102B9 ; [.388E.0020.0002] # CARIAN LETTER I
+102BA ; [.388F.0020.0002] # CARIAN LETTER E
+102BB ; [.3890.0020.0002] # CARIAN LETTER UUUU
+102BC ; [.3891.0020.0002] # CARIAN LETTER K
+102BD ; [.3892.0020.0002] # CARIAN LETTER K2
+102BE ; [.3893.0020.0002] # CARIAN LETTER ND
+102BF ; [.3894.0020.0002] # CARIAN LETTER UU
+102C0 ; [.3895.0020.0002] # CARIAN LETTER G
+102C1 ; [.3896.0020.0002] # CARIAN LETTER G2
+102C2 ; [.3897.0020.0002] # CARIAN LETTER ST
+102C3 ; [.3898.0020.0002] # CARIAN LETTER ST2
+102C4 ; [.3899.0020.0002] # CARIAN LETTER NG
+102C5 ; [.389A.0020.0002] # CARIAN LETTER II
+102C6 ; [.389B.0020.0002] # CARIAN LETTER C-39
+102C7 ; [.389C.0020.0002] # CARIAN LETTER TT
+102C8 ; [.389D.0020.0002] # CARIAN LETTER UUU2
+102C9 ; [.389E.0020.0002] # CARIAN LETTER RR
+102CA ; [.389F.0020.0002] # CARIAN LETTER MB
+102CB ; [.38A0.0020.0002] # CARIAN LETTER MB2
+102CC ; [.38A1.0020.0002] # CARIAN LETTER MB3
+102CD ; [.38A2.0020.0002] # CARIAN LETTER MB4
+102CE ; [.38A3.0020.0002] # CARIAN LETTER LD2
+102CF ; [.38A4.0020.0002] # CARIAN LETTER E2
+102D0 ; [.38A5.0020.0002] # CARIAN LETTER UUU3
+10920 ; [.38A6.0020.0002] # LYDIAN LETTER A
+10921 ; [.38A7.0020.0002] # LYDIAN LETTER B
+10922 ; [.38A8.0020.0002] # LYDIAN LETTER G
+10923 ; [.38A9.0020.0002] # LYDIAN LETTER D
+10924 ; [.38AA.0020.0002] # LYDIAN LETTER E
+10925 ; [.38AB.0020.0002] # LYDIAN LETTER V
+10926 ; [.38AC.0020.0002] # LYDIAN LETTER I
+10927 ; [.38AD.0020.0002] # LYDIAN LETTER Y
+10928 ; [.38AE.0020.0002] # LYDIAN LETTER K
+10929 ; [.38AF.0020.0002] # LYDIAN LETTER L
+1092A ; [.38B0.0020.0002] # LYDIAN LETTER M
+1092B ; [.38B1.0020.0002] # LYDIAN LETTER N
+1092C ; [.38B2.0020.0002] # LYDIAN LETTER O
+1092D ; [.38B3.0020.0002] # LYDIAN LETTER R
+1092E ; [.38B4.0020.0002] # LYDIAN LETTER SS
+1092F ; [.38B5.0020.0002] # LYDIAN LETTER T
+10930 ; [.38B6.0020.0002] # LYDIAN LETTER U
+10931 ; [.38B7.0020.0002] # LYDIAN LETTER F
+10932 ; [.38B8.0020.0002] # LYDIAN LETTER Q
+10933 ; [.38B9.0020.0002] # LYDIAN LETTER S
+10934 ; [.38BA.0020.0002] # LYDIAN LETTER TT
+10935 ; [.38BB.0020.0002] # LYDIAN LETTER AN
+10936 ; [.38BC.0020.0002] # LYDIAN LETTER EN
+10937 ; [.38BD.0020.0002] # LYDIAN LETTER LY
+10938 ; [.38BE.0020.0002] # LYDIAN LETTER NN
+10939 ; [.38BF.0020.0002] # LYDIAN LETTER C
+10300 ; [.38C0.0020.0002] # OLD ITALIC LETTER A
+10301 ; [.38C1.0020.0002] # OLD ITALIC LETTER BE
+10302 ; [.38C2.0020.0002] # OLD ITALIC LETTER KE
+10303 ; [.38C3.0020.0002] # OLD ITALIC LETTER DE
+10304 ; [.38C4.0020.0002] # OLD ITALIC LETTER E
+10305 ; [.38C5.0020.0002] # OLD ITALIC LETTER VE
+10306 ; [.38C6.0020.0002] # OLD ITALIC LETTER ZE
+10307 ; [.38C7.0020.0002] # OLD ITALIC LETTER HE
+10308 ; [.38C8.0020.0002] # OLD ITALIC LETTER THE
+10309 ; [.38C9.0020.0002] # OLD ITALIC LETTER I
+1030A ; [.38CA.0020.0002] # OLD ITALIC LETTER KA
+1030B ; [.38CB.0020.0002] # OLD ITALIC LETTER EL
+1030C ; [.38CC.0020.0002] # OLD ITALIC LETTER EM
+1030D ; [.38CD.0020.0002] # OLD ITALIC LETTER EN
+1030E ; [.38CE.0020.0002] # OLD ITALIC LETTER ESH
+1030F ; [.38CF.0020.0002] # OLD ITALIC LETTER O
+10310 ; [.38D0.0020.0002] # OLD ITALIC LETTER PE
+10311 ; [.38D1.0020.0002] # OLD ITALIC LETTER SHE
+10312 ; [.38D2.0020.0002] # OLD ITALIC LETTER KU
+10313 ; [.38D3.0020.0002] # OLD ITALIC LETTER ER
+10314 ; [.38D4.0020.0002] # OLD ITALIC LETTER ES
+10315 ; [.38D5.0020.0002] # OLD ITALIC LETTER TE
+10316 ; [.38D6.0020.0002] # OLD ITALIC LETTER U
+10317 ; [.38D7.0020.0002] # OLD ITALIC LETTER EKS
+10318 ; [.38D8.0020.0002] # OLD ITALIC LETTER PHE
+10319 ; [.38D9.0020.0002] # OLD ITALIC LETTER KHE
+1031A ; [.38DA.0020.0002] # OLD ITALIC LETTER EF
+1031B ; [.38DB.0020.0002] # OLD ITALIC LETTER ERS
+1031C ; [.38DC.0020.0002] # OLD ITALIC LETTER CHE
+1031D ; [.38DD.0020.0002] # OLD ITALIC LETTER II
+1031E ; [.38DE.0020.0002] # OLD ITALIC LETTER UU
+10330 ; [.38DF.0020.0002] # GOTHIC LETTER AHSA
+10331 ; [.38E0.0020.0002] # GOTHIC LETTER BAIRKAN
+10332 ; [.38E1.0020.0002] # GOTHIC LETTER GIBA
+10333 ; [.38E2.0020.0002] # GOTHIC LETTER DAGS
+10334 ; [.38E3.0020.0002] # GOTHIC LETTER AIHVUS
+10335 ; [.38E4.0020.0002] # GOTHIC LETTER QAIRTHRA
+10336 ; [.38E5.0020.0002] # GOTHIC LETTER IUJA
+10337 ; [.38E6.0020.0002] # GOTHIC LETTER HAGL
+10338 ; [.38E7.0020.0002] # GOTHIC LETTER THIUTH
+10339 ; [.38E8.0020.0002] # GOTHIC LETTER EIS
+1033A ; [.38E9.0020.0002] # GOTHIC LETTER KUSMA
+1033B ; [.38EA.0020.0002] # GOTHIC LETTER LAGUS
+1033C ; [.38EB.0020.0002] # GOTHIC LETTER MANNA
+1033D ; [.38EC.0020.0002] # GOTHIC LETTER NAUTHS
+1033E ; [.38ED.0020.0002] # GOTHIC LETTER JER
+1033F ; [.38EE.0020.0002] # GOTHIC LETTER URUS
+10340 ; [.38EF.0020.0002] # GOTHIC LETTER PAIRTHRA
+10341 ; [.38F0.0020.0002] # GOTHIC LETTER NINETY
+10342 ; [.38F1.0020.0002] # GOTHIC LETTER RAIDA
+10343 ; [.38F2.0020.0002] # GOTHIC LETTER SAUIL
+10344 ; [.38F3.0020.0002] # GOTHIC LETTER TEIWS
+10345 ; [.38F4.0020.0002] # GOTHIC LETTER WINJA
+10346 ; [.38F5.0020.0002] # GOTHIC LETTER FAIHU
+10347 ; [.38F6.0020.0002] # GOTHIC LETTER IGGWS
+10348 ; [.38F7.0020.0002] # GOTHIC LETTER HWAIR
+10349 ; [.38F8.0020.0002] # GOTHIC LETTER OTHAL
+1034A ; [.38F9.0020.0002] # GOTHIC LETTER NINE HUNDRED
+10428 ; [.38FA.0020.0002] # DESERET SMALL LETTER LONG I
+10400 ; [.38FA.0020.0008] # DESERET CAPITAL LETTER LONG I
+10429 ; [.38FB.0020.0002] # DESERET SMALL LETTER LONG E
+10401 ; [.38FB.0020.0008] # DESERET CAPITAL LETTER LONG E
+1042A ; [.38FC.0020.0002] # DESERET SMALL LETTER LONG A
+10402 ; [.38FC.0020.0008] # DESERET CAPITAL LETTER LONG A
+1042B ; [.38FD.0020.0002] # DESERET SMALL LETTER LONG AH
+10403 ; [.38FD.0020.0008] # DESERET CAPITAL LETTER LONG AH
+1042C ; [.38FE.0020.0002] # DESERET SMALL LETTER LONG O
+10404 ; [.38FE.0020.0008] # DESERET CAPITAL LETTER LONG O
+1042D ; [.38FF.0020.0002] # DESERET SMALL LETTER LONG OO
+10405 ; [.38FF.0020.0008] # DESERET CAPITAL LETTER LONG OO
+1042E ; [.3900.0020.0002] # DESERET SMALL LETTER SHORT I
+10406 ; [.3900.0020.0008] # DESERET CAPITAL LETTER SHORT I
+1042F ; [.3901.0020.0002] # DESERET SMALL LETTER SHORT E
+10407 ; [.3901.0020.0008] # DESERET CAPITAL LETTER SHORT E
+10430 ; [.3902.0020.0002] # DESERET SMALL LETTER SHORT A
+10408 ; [.3902.0020.0008] # DESERET CAPITAL LETTER SHORT A
+10431 ; [.3903.0020.0002] # DESERET SMALL LETTER SHORT AH
+10409 ; [.3903.0020.0008] # DESERET CAPITAL LETTER SHORT AH
+10432 ; [.3904.0020.0002] # DESERET SMALL LETTER SHORT O
+1040A ; [.3904.0020.0008] # DESERET CAPITAL LETTER SHORT O
+10433 ; [.3905.0020.0002] # DESERET SMALL LETTER SHORT OO
+1040B ; [.3905.0020.0008] # DESERET CAPITAL LETTER SHORT OO
+10434 ; [.3906.0020.0002] # DESERET SMALL LETTER AY
+1040C ; [.3906.0020.0008] # DESERET CAPITAL LETTER AY
+10435 ; [.3907.0020.0002] # DESERET SMALL LETTER OW
+1040D ; [.3907.0020.0008] # DESERET CAPITAL LETTER OW
+10436 ; [.3908.0020.0002] # DESERET SMALL LETTER WU
+1040E ; [.3908.0020.0008] # DESERET CAPITAL LETTER WU
+10437 ; [.3909.0020.0002] # DESERET SMALL LETTER YEE
+1040F ; [.3909.0020.0008] # DESERET CAPITAL LETTER YEE
+10438 ; [.390A.0020.0002] # DESERET SMALL LETTER H
+10410 ; [.390A.0020.0008] # DESERET CAPITAL LETTER H
+10439 ; [.390B.0020.0002] # DESERET SMALL LETTER PEE
+10411 ; [.390B.0020.0008] # DESERET CAPITAL LETTER PEE
+1043A ; [.390C.0020.0002] # DESERET SMALL LETTER BEE
+10412 ; [.390C.0020.0008] # DESERET CAPITAL LETTER BEE
+1043B ; [.390D.0020.0002] # DESERET SMALL LETTER TEE
+10413 ; [.390D.0020.0008] # DESERET CAPITAL LETTER TEE
+1043C ; [.390E.0020.0002] # DESERET SMALL LETTER DEE
+10414 ; [.390E.0020.0008] # DESERET CAPITAL LETTER DEE
+1043D ; [.390F.0020.0002] # DESERET SMALL LETTER CHEE
+10415 ; [.390F.0020.0008] # DESERET CAPITAL LETTER CHEE
+1043E ; [.3910.0020.0002] # DESERET SMALL LETTER JEE
+10416 ; [.3910.0020.0008] # DESERET CAPITAL LETTER JEE
+1043F ; [.3911.0020.0002] # DESERET SMALL LETTER KAY
+10417 ; [.3911.0020.0008] # DESERET CAPITAL LETTER KAY
+10440 ; [.3912.0020.0002] # DESERET SMALL LETTER GAY
+10418 ; [.3912.0020.0008] # DESERET CAPITAL LETTER GAY
+10441 ; [.3913.0020.0002] # DESERET SMALL LETTER EF
+10419 ; [.3913.0020.0008] # DESERET CAPITAL LETTER EF
+10442 ; [.3914.0020.0002] # DESERET SMALL LETTER VEE
+1041A ; [.3914.0020.0008] # DESERET CAPITAL LETTER VEE
+10443 ; [.3915.0020.0002] # DESERET SMALL LETTER ETH
+1041B ; [.3915.0020.0008] # DESERET CAPITAL LETTER ETH
+10444 ; [.3916.0020.0002] # DESERET SMALL LETTER THEE
+1041C ; [.3916.0020.0008] # DESERET CAPITAL LETTER THEE
+10445 ; [.3917.0020.0002] # DESERET SMALL LETTER ES
+1041D ; [.3917.0020.0008] # DESERET CAPITAL LETTER ES
+10446 ; [.3918.0020.0002] # DESERET SMALL LETTER ZEE
+1041E ; [.3918.0020.0008] # DESERET CAPITAL LETTER ZEE
+10447 ; [.3919.0020.0002] # DESERET SMALL LETTER ESH
+1041F ; [.3919.0020.0008] # DESERET CAPITAL LETTER ESH
+10448 ; [.391A.0020.0002] # DESERET SMALL LETTER ZHEE
+10420 ; [.391A.0020.0008] # DESERET CAPITAL LETTER ZHEE
+10449 ; [.391B.0020.0002] # DESERET SMALL LETTER ER
+10421 ; [.391B.0020.0008] # DESERET CAPITAL LETTER ER
+1044A ; [.391C.0020.0002] # DESERET SMALL LETTER EL
+10422 ; [.391C.0020.0008] # DESERET CAPITAL LETTER EL
+1044B ; [.391D.0020.0002] # DESERET SMALL LETTER EM
+10423 ; [.391D.0020.0008] # DESERET CAPITAL LETTER EM
+1044C ; [.391E.0020.0002] # DESERET SMALL LETTER EN
+10424 ; [.391E.0020.0008] # DESERET CAPITAL LETTER EN
+1044D ; [.391F.0020.0002] # DESERET SMALL LETTER ENG
+10425 ; [.391F.0020.0008] # DESERET CAPITAL LETTER ENG
+1044E ; [.3920.0020.0002] # DESERET SMALL LETTER OI
+10426 ; [.3920.0020.0008] # DESERET CAPITAL LETTER OI
+1044F ; [.3921.0020.0002] # DESERET SMALL LETTER EW
+10427 ; [.3921.0020.0008] # DESERET CAPITAL LETTER EW
+10450 ; [.3922.0020.0002] # SHAVIAN LETTER PEEP
+10451 ; [.3923.0020.0002] # SHAVIAN LETTER TOT
+10452 ; [.3924.0020.0002] # SHAVIAN LETTER KICK
+10453 ; [.3925.0020.0002] # SHAVIAN LETTER FEE
+10454 ; [.3926.0020.0002] # SHAVIAN LETTER THIGH
+10455 ; [.3927.0020.0002] # SHAVIAN LETTER SO
+10456 ; [.3928.0020.0002] # SHAVIAN LETTER SURE
+10457 ; [.3929.0020.0002] # SHAVIAN LETTER CHURCH
+10458 ; [.392A.0020.0002] # SHAVIAN LETTER YEA
+10459 ; [.392B.0020.0002] # SHAVIAN LETTER HUNG
+1045A ; [.392C.0020.0002] # SHAVIAN LETTER BIB
+1045B ; [.392D.0020.0002] # SHAVIAN LETTER DEAD
+1045C ; [.392E.0020.0002] # SHAVIAN LETTER GAG
+1045D ; [.392F.0020.0002] # SHAVIAN LETTER VOW
+1045E ; [.3930.0020.0002] # SHAVIAN LETTER THEY
+1045F ; [.3931.0020.0002] # SHAVIAN LETTER ZOO
+10460 ; [.3932.0020.0002] # SHAVIAN LETTER MEASURE
+10461 ; [.3933.0020.0002] # SHAVIAN LETTER JUDGE
+10462 ; [.3934.0020.0002] # SHAVIAN LETTER WOE
+10463 ; [.3935.0020.0002] # SHAVIAN LETTER HA-HA
+10464 ; [.3936.0020.0002] # SHAVIAN LETTER LOLL
+10465 ; [.3937.0020.0002] # SHAVIAN LETTER MIME
+10466 ; [.3938.0020.0002] # SHAVIAN LETTER IF
+10467 ; [.3939.0020.0002] # SHAVIAN LETTER EGG
+10468 ; [.393A.0020.0002] # SHAVIAN LETTER ASH
+10469 ; [.393B.0020.0002] # SHAVIAN LETTER ADO
+1046A ; [.393C.0020.0002] # SHAVIAN LETTER ON
+1046B ; [.393D.0020.0002] # SHAVIAN LETTER WOOL
+1046C ; [.393E.0020.0002] # SHAVIAN LETTER OUT
+1046D ; [.393F.0020.0002] # SHAVIAN LETTER AH
+1046E ; [.3940.0020.0002] # SHAVIAN LETTER ROAR
+1046F ; [.3941.0020.0002] # SHAVIAN LETTER NUN
+10470 ; [.3942.0020.0002] # SHAVIAN LETTER EAT
+10471 ; [.3943.0020.0002] # SHAVIAN LETTER AGE
+10472 ; [.3944.0020.0002] # SHAVIAN LETTER ICE
+10473 ; [.3945.0020.0002] # SHAVIAN LETTER UP
+10474 ; [.3946.0020.0002] # SHAVIAN LETTER OAK
+10475 ; [.3947.0020.0002] # SHAVIAN LETTER OOZE
+10476 ; [.3948.0020.0002] # SHAVIAN LETTER OIL
+10477 ; [.3949.0020.0002] # SHAVIAN LETTER AWE
+10478 ; [.394A.0020.0002] # SHAVIAN LETTER ARE
+10479 ; [.394B.0020.0002] # SHAVIAN LETTER OR
+1047A ; [.394C.0020.0002] # SHAVIAN LETTER AIR
+1047B ; [.394D.0020.0002] # SHAVIAN LETTER ERR
+1047C ; [.394E.0020.0002] # SHAVIAN LETTER ARRAY
+1047D ; [.394F.0020.0002] # SHAVIAN LETTER EAR
+1047E ; [.3950.0020.0002] # SHAVIAN LETTER IAN
+1047F ; [.3951.0020.0002] # SHAVIAN LETTER YEW
+10480 ; [.3952.0020.0002] # OSMANYA LETTER ALEF
+10481 ; [.3953.0020.0002] # OSMANYA LETTER BA
+10482 ; [.3954.0020.0002] # OSMANYA LETTER TA
+10483 ; [.3955.0020.0002] # OSMANYA LETTER JA
+10484 ; [.3956.0020.0002] # OSMANYA LETTER XA
+10485 ; [.3957.0020.0002] # OSMANYA LETTER KHA
+10486 ; [.3958.0020.0002] # OSMANYA LETTER DEEL
+10487 ; [.3959.0020.0002] # OSMANYA LETTER RA
+10488 ; [.395A.0020.0002] # OSMANYA LETTER SA
+10489 ; [.395B.0020.0002] # OSMANYA LETTER SHIIN
+1048A ; [.395C.0020.0002] # OSMANYA LETTER DHA
+1048B ; [.395D.0020.0002] # OSMANYA LETTER CAYN
+1048C ; [.395E.0020.0002] # OSMANYA LETTER GA
+1048D ; [.395F.0020.0002] # OSMANYA LETTER FA
+1048E ; [.3960.0020.0002] # OSMANYA LETTER QAAF
+1048F ; [.3961.0020.0002] # OSMANYA LETTER KAAF
+10490 ; [.3962.0020.0002] # OSMANYA LETTER LAAN
+10491 ; [.3963.0020.0002] # OSMANYA LETTER MIIN
+10492 ; [.3964.0020.0002] # OSMANYA LETTER NUUN
+10493 ; [.3965.0020.0002] # OSMANYA LETTER WAW
+10494 ; [.3966.0020.0002] # OSMANYA LETTER HA
+10495 ; [.3967.0020.0002] # OSMANYA LETTER YA
+10496 ; [.3968.0020.0002] # OSMANYA LETTER A
+10497 ; [.3969.0020.0002] # OSMANYA LETTER E
+10498 ; [.396A.0020.0002] # OSMANYA LETTER I
+10499 ; [.396B.0020.0002] # OSMANYA LETTER O
+1049A ; [.396C.0020.0002] # OSMANYA LETTER U
+1049B ; [.396D.0020.0002] # OSMANYA LETTER AA
+1049C ; [.396E.0020.0002] # OSMANYA LETTER EE
+1049D ; [.396F.0020.0002] # OSMANYA LETTER OO
+110D0 ; [.3970.0020.0002] # SORA SOMPENG LETTER SAH
+110D1 ; [.3971.0020.0002] # SORA SOMPENG LETTER TAH
+110D2 ; [.3972.0020.0002] # SORA SOMPENG LETTER BAH
+110D3 ; [.3973.0020.0002] # SORA SOMPENG LETTER CAH
+110D4 ; [.3974.0020.0002] # SORA SOMPENG LETTER DAH
+110D5 ; [.3975.0020.0002] # SORA SOMPENG LETTER GAH
+110D6 ; [.3976.0020.0002] # SORA SOMPENG LETTER MAH
+110D7 ; [.3977.0020.0002] # SORA SOMPENG LETTER NGAH
+110D8 ; [.3978.0020.0002] # SORA SOMPENG LETTER LAH
+110D9 ; [.3979.0020.0002] # SORA SOMPENG LETTER NAH
+110DA ; [.397A.0020.0002] # SORA SOMPENG LETTER VAH
+110DB ; [.397B.0020.0002] # SORA SOMPENG LETTER PAH
+110DC ; [.397C.0020.0002] # SORA SOMPENG LETTER YAH
+110DD ; [.397D.0020.0002] # SORA SOMPENG LETTER RAH
+110DE ; [.397E.0020.0002] # SORA SOMPENG LETTER HAH
+110DF ; [.397F.0020.0002] # SORA SOMPENG LETTER KAH
+110E0 ; [.3980.0020.0002] # SORA SOMPENG LETTER JAH
+110E1 ; [.3981.0020.0002] # SORA SOMPENG LETTER NYAH
+110E2 ; [.3982.0020.0002] # SORA SOMPENG LETTER AH
+110E3 ; [.3983.0020.0002] # SORA SOMPENG LETTER EEH
+110E4 ; [.3984.0020.0002] # SORA SOMPENG LETTER IH
+110E5 ; [.3985.0020.0002] # SORA SOMPENG LETTER UH
+110E6 ; [.3986.0020.0002] # SORA SOMPENG LETTER OH
+110E7 ; [.3987.0020.0002] # SORA SOMPENG LETTER EH
+110E8 ; [.3988.0020.0002] # SORA SOMPENG LETTER MAE
+10000 ; [.3989.0020.0002] # LINEAR B SYLLABLE B008 A
+10001 ; [.398A.0020.0002] # LINEAR B SYLLABLE B038 E
+10002 ; [.398B.0020.0002] # LINEAR B SYLLABLE B028 I
+10003 ; [.398C.0020.0002] # LINEAR B SYLLABLE B061 O
+10004 ; [.398D.0020.0002] # LINEAR B SYLLABLE B010 U
+10005 ; [.398E.0020.0002] # LINEAR B SYLLABLE B001 DA
+10006 ; [.398F.0020.0002] # LINEAR B SYLLABLE B045 DE
+10007 ; [.3990.0020.0002] # LINEAR B SYLLABLE B007 DI
+10008 ; [.3991.0020.0002] # LINEAR B SYLLABLE B014 DO
+10009 ; [.3992.0020.0002] # LINEAR B SYLLABLE B051 DU
+1000A ; [.3993.0020.0002] # LINEAR B SYLLABLE B057 JA
+1000B ; [.3994.0020.0002] # LINEAR B SYLLABLE B046 JE
+1000D ; [.3995.0020.0002] # LINEAR B SYLLABLE B036 JO
+1000E ; [.3996.0020.0002] # LINEAR B SYLLABLE B065 JU
+1000F ; [.3997.0020.0002] # LINEAR B SYLLABLE B077 KA
+10010 ; [.3998.0020.0002] # LINEAR B SYLLABLE B044 KE
+10011 ; [.3999.0020.0002] # LINEAR B SYLLABLE B067 KI
+10012 ; [.399A.0020.0002] # LINEAR B SYLLABLE B070 KO
+10013 ; [.399B.0020.0002] # LINEAR B SYLLABLE B081 KU
+10014 ; [.399C.0020.0002] # LINEAR B SYLLABLE B080 MA
+10015 ; [.399D.0020.0002] # LINEAR B SYLLABLE B013 ME
+10016 ; [.399E.0020.0002] # LINEAR B SYLLABLE B073 MI
+10017 ; [.399F.0020.0002] # LINEAR B SYLLABLE B015 MO
+10018 ; [.39A0.0020.0002] # LINEAR B SYLLABLE B023 MU
+10019 ; [.39A1.0020.0002] # LINEAR B SYLLABLE B006 NA
+1001A ; [.39A2.0020.0002] # LINEAR B SYLLABLE B024 NE
+1001B ; [.39A3.0020.0002] # LINEAR B SYLLABLE B030 NI
+1001C ; [.39A4.0020.0002] # LINEAR B SYLLABLE B052 NO
+1001D ; [.39A5.0020.0002] # LINEAR B SYLLABLE B055 NU
+1001E ; [.39A6.0020.0002] # LINEAR B SYLLABLE B003 PA
+1001F ; [.39A7.0020.0002] # LINEAR B SYLLABLE B072 PE
+10020 ; [.39A8.0020.0002] # LINEAR B SYLLABLE B039 PI
+10021 ; [.39A9.0020.0002] # LINEAR B SYLLABLE B011 PO
+10022 ; [.39AA.0020.0002] # LINEAR B SYLLABLE B050 PU
+10023 ; [.39AB.0020.0002] # LINEAR B SYLLABLE B016 QA
+10024 ; [.39AC.0020.0002] # LINEAR B SYLLABLE B078 QE
+10025 ; [.39AD.0020.0002] # LINEAR B SYLLABLE B021 QI
+10026 ; [.39AE.0020.0002] # LINEAR B SYLLABLE B032 QO
+10028 ; [.39AF.0020.0002] # LINEAR B SYLLABLE B060 RA
+10029 ; [.39B0.0020.0002] # LINEAR B SYLLABLE B027 RE
+1002A ; [.39B1.0020.0002] # LINEAR B SYLLABLE B053 RI
+1002B ; [.39B2.0020.0002] # LINEAR B SYLLABLE B002 RO
+1002C ; [.39B3.0020.0002] # LINEAR B SYLLABLE B026 RU
+1002D ; [.39B4.0020.0002] # LINEAR B SYLLABLE B031 SA
+1002E ; [.39B5.0020.0002] # LINEAR B SYLLABLE B009 SE
+1002F ; [.39B6.0020.0002] # LINEAR B SYLLABLE B041 SI
+10030 ; [.39B7.0020.0002] # LINEAR B SYLLABLE B012 SO
+10031 ; [.39B8.0020.0002] # LINEAR B SYLLABLE B058 SU
+10032 ; [.39B9.0020.0002] # LINEAR B SYLLABLE B059 TA
+10033 ; [.39BA.0020.0002] # LINEAR B SYLLABLE B004 TE
+10034 ; [.39BB.0020.0002] # LINEAR B SYLLABLE B037 TI
+10035 ; [.39BC.0020.0002] # LINEAR B SYLLABLE B005 TO
+10036 ; [.39BD.0020.0002] # LINEAR B SYLLABLE B069 TU
+10037 ; [.39BE.0020.0002] # LINEAR B SYLLABLE B054 WA
+10038 ; [.39BF.0020.0002] # LINEAR B SYLLABLE B075 WE
+10039 ; [.39C0.0020.0002] # LINEAR B SYLLABLE B040 WI
+1003A ; [.39C1.0020.0002] # LINEAR B SYLLABLE B042 WO
+1003C ; [.39C2.0020.0002] # LINEAR B SYLLABLE B017 ZA
+1003D ; [.39C3.0020.0002] # LINEAR B SYLLABLE B074 ZE
+1003F ; [.39C4.0020.0002] # LINEAR B SYLLABLE B020 ZO
+10040 ; [.39C5.0020.0002] # LINEAR B SYLLABLE B025 A2
+10041 ; [.39C6.0020.0002] # LINEAR B SYLLABLE B043 A3
+10042 ; [.39C7.0020.0002] # LINEAR B SYLLABLE B085 AU
+10043 ; [.39C8.0020.0002] # LINEAR B SYLLABLE B071 DWE
+10044 ; [.39C9.0020.0002] # LINEAR B SYLLABLE B090 DWO
+10045 ; [.39CA.0020.0002] # LINEAR B SYLLABLE B048 NWA
+10046 ; [.39CB.0020.0002] # LINEAR B SYLLABLE B029 PU2
+10047 ; [.39CC.0020.0002] # LINEAR B SYLLABLE B062 PTE
+10048 ; [.39CD.0020.0002] # LINEAR B SYLLABLE B076 RA2
+10049 ; [.39CE.0020.0002] # LINEAR B SYLLABLE B033 RA3
+1004A ; [.39CF.0020.0002] # LINEAR B SYLLABLE B068 RO2
+1004B ; [.39D0.0020.0002] # LINEAR B SYLLABLE B066 TA2
+1004C ; [.39D1.0020.0002] # LINEAR B SYLLABLE B087 TWE
+1004D ; [.39D2.0020.0002] # LINEAR B SYLLABLE B091 TWO
+10050 ; [.39D3.0020.0002] # LINEAR B SYMBOL B018
+10051 ; [.39D4.0020.0002] # LINEAR B SYMBOL B019
+10052 ; [.39D5.0020.0002] # LINEAR B SYMBOL B022
+10053 ; [.39D6.0020.0002] # LINEAR B SYMBOL B034
+10054 ; [.39D7.0020.0002] # LINEAR B SYMBOL B047
+10055 ; [.39D8.0020.0002] # LINEAR B SYMBOL B049
+10056 ; [.39D9.0020.0002] # LINEAR B SYMBOL B056
+10057 ; [.39DA.0020.0002] # LINEAR B SYMBOL B063
+10058 ; [.39DB.0020.0002] # LINEAR B SYMBOL B064
+10059 ; [.39DC.0020.0002] # LINEAR B SYMBOL B079
+1005A ; [.39DD.0020.0002] # LINEAR B SYMBOL B082
+1005B ; [.39DE.0020.0002] # LINEAR B SYMBOL B083
+1005C ; [.39DF.0020.0002] # LINEAR B SYMBOL B086
+1005D ; [.39E0.0020.0002] # LINEAR B SYMBOL B089
+10080 ; [.39E1.0020.0002] # LINEAR B IDEOGRAM B100 MAN
+10081 ; [.39E2.0020.0002] # LINEAR B IDEOGRAM B102 WOMAN
+10082 ; [.39E3.0020.0002] # LINEAR B IDEOGRAM B104 DEER
+10083 ; [.39E4.0020.0002] # LINEAR B IDEOGRAM B105 EQUID
+10084 ; [.39E5.0020.0002] # LINEAR B IDEOGRAM B105F MARE
+10085 ; [.39E6.0020.0002] # LINEAR B IDEOGRAM B105M STALLION
+10086 ; [.39E7.0020.0002] # LINEAR B IDEOGRAM B106F EWE
+10087 ; [.39E8.0020.0002] # LINEAR B IDEOGRAM B106M RAM
+10088 ; [.39E9.0020.0002] # LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 ; [.39EA.0020.0002] # LINEAR B IDEOGRAM B107M HE-GOAT
+1008A ; [.39EB.0020.0002] # LINEAR B IDEOGRAM B108F SOW
+1008B ; [.39EC.0020.0002] # LINEAR B IDEOGRAM B108M BOAR
+1008C ; [.39ED.0020.0002] # LINEAR B IDEOGRAM B109F COW
+1008D ; [.39EE.0020.0002] # LINEAR B IDEOGRAM B109M BULL
+1008E ; [.39EF.0020.0002] # LINEAR B IDEOGRAM B120 WHEAT
+1008F ; [.39F0.0020.0002] # LINEAR B IDEOGRAM B121 BARLEY
+10090 ; [.39F1.0020.0002] # LINEAR B IDEOGRAM B122 OLIVE
+10091 ; [.39F2.0020.0002] # LINEAR B IDEOGRAM B123 SPICE
+10092 ; [.39F3.0020.0002] # LINEAR B IDEOGRAM B125 CYPERUS
+10093 ; [.39F4.0020.0002] # LINEAR B MONOGRAM B127 KAPO
+10094 ; [.39F5.0020.0002] # LINEAR B MONOGRAM B128 KANAKO
+10095 ; [.39F6.0020.0002] # LINEAR B IDEOGRAM B130 OIL
+10096 ; [.39F7.0020.0002] # LINEAR B IDEOGRAM B131 WINE
+10097 ; [.39F8.0020.0002] # LINEAR B IDEOGRAM B132
+10098 ; [.39F9.0020.0002] # LINEAR B MONOGRAM B133 AREPA
+10099 ; [.39FA.0020.0002] # LINEAR B MONOGRAM B135 MERI
+1009A ; [.39FB.0020.0002] # LINEAR B IDEOGRAM B140 BRONZE
+1009B ; [.39FC.0020.0002] # LINEAR B IDEOGRAM B141 GOLD
+1009C ; [.39FD.0020.0002] # LINEAR B IDEOGRAM B142
+1009D ; [.39FE.0020.0002] # LINEAR B IDEOGRAM B145 WOOL
+1009E ; [.39FF.0020.0002] # LINEAR B IDEOGRAM B146
+1009F ; [.3A00.0020.0002] # LINEAR B IDEOGRAM B150
+100A0 ; [.3A01.0020.0002] # LINEAR B IDEOGRAM B151 HORN
+100A1 ; [.3A02.0020.0002] # LINEAR B IDEOGRAM B152
+100A2 ; [.3A03.0020.0002] # LINEAR B IDEOGRAM B153
+100A3 ; [.3A04.0020.0002] # LINEAR B IDEOGRAM B154
+100A4 ; [.3A05.0020.0002] # LINEAR B MONOGRAM B156 TURO2
+100A5 ; [.3A06.0020.0002] # LINEAR B IDEOGRAM B157
+100A6 ; [.3A07.0020.0002] # LINEAR B IDEOGRAM B158
+100A7 ; [.3A08.0020.0002] # LINEAR B IDEOGRAM B159 CLOTH
+100A8 ; [.3A09.0020.0002] # LINEAR B IDEOGRAM B160
+100A9 ; [.3A0A.0020.0002] # LINEAR B IDEOGRAM B161
+100AA ; [.3A0B.0020.0002] # LINEAR B IDEOGRAM B162 GARMENT
+100AB ; [.3A0C.0020.0002] # LINEAR B IDEOGRAM B163 ARMOUR
+100AC ; [.3A0D.0020.0002] # LINEAR B IDEOGRAM B164
+100AD ; [.3A0E.0020.0002] # LINEAR B IDEOGRAM B165
+100AE ; [.3A0F.0020.0002] # LINEAR B IDEOGRAM B166
+100AF ; [.3A10.0020.0002] # LINEAR B IDEOGRAM B167
+100B0 ; [.3A11.0020.0002] # LINEAR B IDEOGRAM B168
+100B1 ; [.3A12.0020.0002] # LINEAR B IDEOGRAM B169
+100B2 ; [.3A13.0020.0002] # LINEAR B IDEOGRAM B170
+100B3 ; [.3A14.0020.0002] # LINEAR B IDEOGRAM B171
+100B4 ; [.3A15.0020.0002] # LINEAR B IDEOGRAM B172
+100B5 ; [.3A16.0020.0002] # LINEAR B IDEOGRAM B173 MONTH
+100B6 ; [.3A17.0020.0002] # LINEAR B IDEOGRAM B174
+100B7 ; [.3A18.0020.0002] # LINEAR B IDEOGRAM B176 TREE
+100B8 ; [.3A19.0020.0002] # LINEAR B IDEOGRAM B177
+100B9 ; [.3A1A.0020.0002] # LINEAR B IDEOGRAM B178
+100BA ; [.3A1B.0020.0002] # LINEAR B IDEOGRAM B179
+100BB ; [.3A1C.0020.0002] # LINEAR B IDEOGRAM B180
+100BC ; [.3A1D.0020.0002] # LINEAR B IDEOGRAM B181
+100BD ; [.3A1E.0020.0002] # LINEAR B IDEOGRAM B182
+100BE ; [.3A1F.0020.0002] # LINEAR B IDEOGRAM B183
+100BF ; [.3A20.0020.0002] # LINEAR B IDEOGRAM B184
+100C0 ; [.3A21.0020.0002] # LINEAR B IDEOGRAM B185
+100C1 ; [.3A22.0020.0002] # LINEAR B IDEOGRAM B189
+100C2 ; [.3A23.0020.0002] # LINEAR B IDEOGRAM B190
+100C3 ; [.3A24.0020.0002] # LINEAR B IDEOGRAM B191 HELMET
+100C4 ; [.3A25.0020.0002] # LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 ; [.3A26.0020.0002] # LINEAR B IDEOGRAM B225 BATHTUB
+100C6 ; [.3A27.0020.0002] # LINEAR B IDEOGRAM B230 SPEAR
+100C7 ; [.3A28.0020.0002] # LINEAR B IDEOGRAM B231 ARROW
+100C8 ; [.3A29.0020.0002] # LINEAR B IDEOGRAM B232
+100C9 ; [.3A2A.0020.0002] # LINEAR B IDEOGRAM B233 SWORD
+100CA ; [.3A2B.0020.0002] # LINEAR B IDEOGRAM B234
+100CB ; [.3A2C.0020.0002] # LINEAR B IDEOGRAM B236
+100CC ; [.3A2D.0020.0002] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD ; [.3A2E.0020.0002] # LINEAR B IDEOGRAM B241 CHARIOT
+100CE ; [.3A2F.0020.0002] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF ; [.3A30.0020.0002] # LINEAR B IDEOGRAM B243 WHEEL
+100D0 ; [.3A31.0020.0002] # LINEAR B IDEOGRAM B245
+100D1 ; [.3A32.0020.0002] # LINEAR B IDEOGRAM B246
+100D2 ; [.3A33.0020.0002] # LINEAR B MONOGRAM B247 DIPTE
+100D3 ; [.3A34.0020.0002] # LINEAR B IDEOGRAM B248
+100D4 ; [.3A35.0020.0002] # LINEAR B IDEOGRAM B249
+100D5 ; [.3A36.0020.0002] # LINEAR B IDEOGRAM B251
+100D6 ; [.3A37.0020.0002] # LINEAR B IDEOGRAM B252
+100D7 ; [.3A38.0020.0002] # LINEAR B IDEOGRAM B253
+100D8 ; [.3A39.0020.0002] # LINEAR B IDEOGRAM B254 DART
+100D9 ; [.3A3A.0020.0002] # LINEAR B IDEOGRAM B255
+100DA ; [.3A3B.0020.0002] # LINEAR B IDEOGRAM B256
+100DB ; [.3A3C.0020.0002] # LINEAR B IDEOGRAM B257
+100DC ; [.3A3D.0020.0002] # LINEAR B IDEOGRAM B258
+100DD ; [.3A3E.0020.0002] # LINEAR B IDEOGRAM B259
+100DE ; [.3A3F.0020.0002] # LINEAR B IDEOGRAM VESSEL B155
+100DF ; [.3A40.0020.0002] # LINEAR B IDEOGRAM VESSEL B200
+100E0 ; [.3A41.0020.0002] # LINEAR B IDEOGRAM VESSEL B201
+100E1 ; [.3A42.0020.0002] # LINEAR B IDEOGRAM VESSEL B202
+100E2 ; [.3A43.0020.0002] # LINEAR B IDEOGRAM VESSEL B203
+100E3 ; [.3A44.0020.0002] # LINEAR B IDEOGRAM VESSEL B204
+100E4 ; [.3A45.0020.0002] # LINEAR B IDEOGRAM VESSEL B205
+100E5 ; [.3A46.0020.0002] # LINEAR B IDEOGRAM VESSEL B206
+100E6 ; [.3A47.0020.0002] # LINEAR B IDEOGRAM VESSEL B207
+100E7 ; [.3A48.0020.0002] # LINEAR B IDEOGRAM VESSEL B208
+100E8 ; [.3A49.0020.0002] # LINEAR B IDEOGRAM VESSEL B209
+100E9 ; [.3A4A.0020.0002] # LINEAR B IDEOGRAM VESSEL B210
+100EA ; [.3A4B.0020.0002] # LINEAR B IDEOGRAM VESSEL B211
+100EB ; [.3A4C.0020.0002] # LINEAR B IDEOGRAM VESSEL B212
+100EC ; [.3A4D.0020.0002] # LINEAR B IDEOGRAM VESSEL B213
+100ED ; [.3A4E.0020.0002] # LINEAR B IDEOGRAM VESSEL B214
+100EE ; [.3A4F.0020.0002] # LINEAR B IDEOGRAM VESSEL B215
+100EF ; [.3A50.0020.0002] # LINEAR B IDEOGRAM VESSEL B216
+100F0 ; [.3A51.0020.0002] # LINEAR B IDEOGRAM VESSEL B217
+100F1 ; [.3A52.0020.0002] # LINEAR B IDEOGRAM VESSEL B218
+100F2 ; [.3A53.0020.0002] # LINEAR B IDEOGRAM VESSEL B219
+100F3 ; [.3A54.0020.0002] # LINEAR B IDEOGRAM VESSEL B221
+100F4 ; [.3A55.0020.0002] # LINEAR B IDEOGRAM VESSEL B222
+100F5 ; [.3A56.0020.0002] # LINEAR B IDEOGRAM VESSEL B226
+100F6 ; [.3A57.0020.0002] # LINEAR B IDEOGRAM VESSEL B227
+100F7 ; [.3A58.0020.0002] # LINEAR B IDEOGRAM VESSEL B228
+100F8 ; [.3A59.0020.0002] # LINEAR B IDEOGRAM VESSEL B229
+100F9 ; [.3A5A.0020.0002] # LINEAR B IDEOGRAM VESSEL B250
+100FA ; [.3A5B.0020.0002] # LINEAR B IDEOGRAM VESSEL B305
+10800 ; [.3A5C.0020.0002] # CYPRIOT SYLLABLE A
+10801 ; [.3A5D.0020.0002] # CYPRIOT SYLLABLE E
+10802 ; [.3A5E.0020.0002] # CYPRIOT SYLLABLE I
+10803 ; [.3A5F.0020.0002] # CYPRIOT SYLLABLE O
+10804 ; [.3A60.0020.0002] # CYPRIOT SYLLABLE U
+10805 ; [.3A61.0020.0002] # CYPRIOT SYLLABLE JA
+10808 ; [.3A62.0020.0002] # CYPRIOT SYLLABLE JO
+1080A ; [.3A63.0020.0002] # CYPRIOT SYLLABLE KA
+1080B ; [.3A64.0020.0002] # CYPRIOT SYLLABLE KE
+1080C ; [.3A65.0020.0002] # CYPRIOT SYLLABLE KI
+1080D ; [.3A66.0020.0002] # CYPRIOT SYLLABLE KO
+1080E ; [.3A67.0020.0002] # CYPRIOT SYLLABLE KU
+1080F ; [.3A68.0020.0002] # CYPRIOT SYLLABLE LA
+10810 ; [.3A69.0020.0002] # CYPRIOT SYLLABLE LE
+10811 ; [.3A6A.0020.0002] # CYPRIOT SYLLABLE LI
+10812 ; [.3A6B.0020.0002] # CYPRIOT SYLLABLE LO
+10813 ; [.3A6C.0020.0002] # CYPRIOT SYLLABLE LU
+10814 ; [.3A6D.0020.0002] # CYPRIOT SYLLABLE MA
+10815 ; [.3A6E.0020.0002] # CYPRIOT SYLLABLE ME
+10816 ; [.3A6F.0020.0002] # CYPRIOT SYLLABLE MI
+10817 ; [.3A70.0020.0002] # CYPRIOT SYLLABLE MO
+10818 ; [.3A71.0020.0002] # CYPRIOT SYLLABLE MU
+10819 ; [.3A72.0020.0002] # CYPRIOT SYLLABLE NA
+1081A ; [.3A73.0020.0002] # CYPRIOT SYLLABLE NE
+1081B ; [.3A74.0020.0002] # CYPRIOT SYLLABLE NI
+1081C ; [.3A75.0020.0002] # CYPRIOT SYLLABLE NO
+1081D ; [.3A76.0020.0002] # CYPRIOT SYLLABLE NU
+1081E ; [.3A77.0020.0002] # CYPRIOT SYLLABLE PA
+1081F ; [.3A78.0020.0002] # CYPRIOT SYLLABLE PE
+10820 ; [.3A79.0020.0002] # CYPRIOT SYLLABLE PI
+10821 ; [.3A7A.0020.0002] # CYPRIOT SYLLABLE PO
+10822 ; [.3A7B.0020.0002] # CYPRIOT SYLLABLE PU
+10823 ; [.3A7C.0020.0002] # CYPRIOT SYLLABLE RA
+10824 ; [.3A7D.0020.0002] # CYPRIOT SYLLABLE RE
+10825 ; [.3A7E.0020.0002] # CYPRIOT SYLLABLE RI
+10826 ; [.3A7F.0020.0002] # CYPRIOT SYLLABLE RO
+10827 ; [.3A80.0020.0002] # CYPRIOT SYLLABLE RU
+10828 ; [.3A81.0020.0002] # CYPRIOT SYLLABLE SA
+10829 ; [.3A82.0020.0002] # CYPRIOT SYLLABLE SE
+1082A ; [.3A83.0020.0002] # CYPRIOT SYLLABLE SI
+1082B ; [.3A84.0020.0002] # CYPRIOT SYLLABLE SO
+1082C ; [.3A85.0020.0002] # CYPRIOT SYLLABLE SU
+1082D ; [.3A86.0020.0002] # CYPRIOT SYLLABLE TA
+1082E ; [.3A87.0020.0002] # CYPRIOT SYLLABLE TE
+1082F ; [.3A88.0020.0002] # CYPRIOT SYLLABLE TI
+10830 ; [.3A89.0020.0002] # CYPRIOT SYLLABLE TO
+10831 ; [.3A8A.0020.0002] # CYPRIOT SYLLABLE TU
+10832 ; [.3A8B.0020.0002] # CYPRIOT SYLLABLE WA
+10833 ; [.3A8C.0020.0002] # CYPRIOT SYLLABLE WE
+10834 ; [.3A8D.0020.0002] # CYPRIOT SYLLABLE WI
+10835 ; [.3A8E.0020.0002] # CYPRIOT SYLLABLE WO
+10837 ; [.3A8F.0020.0002] # CYPRIOT SYLLABLE XA
+10838 ; [.3A90.0020.0002] # CYPRIOT SYLLABLE XE
+1083C ; [.3A91.0020.0002] # CYPRIOT SYLLABLE ZA
+1083F ; [.3A92.0020.0002] # CYPRIOT SYLLABLE ZO
+10A60 ; [.3A93.0020.0002] # OLD SOUTH ARABIAN LETTER HE
+10A61 ; [.3A94.0020.0002] # OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 ; [.3A95.0020.0002] # OLD SOUTH ARABIAN LETTER HETH
+10A63 ; [.3A96.0020.0002] # OLD SOUTH ARABIAN LETTER MEM
+10A64 ; [.3A97.0020.0002] # OLD SOUTH ARABIAN LETTER QOPH
+10A65 ; [.3A98.0020.0002] # OLD SOUTH ARABIAN LETTER WAW
+10A66 ; [.3A99.0020.0002] # OLD SOUTH ARABIAN LETTER SHIN
+10A67 ; [.3A9A.0020.0002] # OLD SOUTH ARABIAN LETTER RESH
+10A68 ; [.3A9B.0020.0002] # OLD SOUTH ARABIAN LETTER BETH
+10A69 ; [.3A9C.0020.0002] # OLD SOUTH ARABIAN LETTER TAW
+10A6A ; [.3A9D.0020.0002] # OLD SOUTH ARABIAN LETTER SAT
+10A6B ; [.3A9E.0020.0002] # OLD SOUTH ARABIAN LETTER KAPH
+10A6C ; [.3A9F.0020.0002] # OLD SOUTH ARABIAN LETTER NUN
+10A6D ; [.3AA0.0020.0002] # OLD SOUTH ARABIAN LETTER KHETH
+10A6E ; [.3AA1.0020.0002] # OLD SOUTH ARABIAN LETTER SADHE
+10A6F ; [.3AA2.0020.0002] # OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 ; [.3AA3.0020.0002] # OLD SOUTH ARABIAN LETTER FE
+10A71 ; [.3AA4.0020.0002] # OLD SOUTH ARABIAN LETTER ALEF
+10A72 ; [.3AA5.0020.0002] # OLD SOUTH ARABIAN LETTER AYN
+10A73 ; [.3AA6.0020.0002] # OLD SOUTH ARABIAN LETTER DHADHE
+10A74 ; [.3AA7.0020.0002] # OLD SOUTH ARABIAN LETTER GIMEL
+10A75 ; [.3AA8.0020.0002] # OLD SOUTH ARABIAN LETTER DALETH
+10A76 ; [.3AA9.0020.0002] # OLD SOUTH ARABIAN LETTER GHAYN
+10A77 ; [.3AAA.0020.0002] # OLD SOUTH ARABIAN LETTER TETH
+10A78 ; [.3AAB.0020.0002] # OLD SOUTH ARABIAN LETTER ZAYN
+10A79 ; [.3AAC.0020.0002] # OLD SOUTH ARABIAN LETTER DHALETH
+10A7A ; [.3AAD.0020.0002] # OLD SOUTH ARABIAN LETTER YODH
+10A7B ; [.3AAE.0020.0002] # OLD SOUTH ARABIAN LETTER THAW
+10A7C ; [.3AAF.0020.0002] # OLD SOUTH ARABIAN LETTER THETH
+10B00 ; [.3AB0.0020.0002] # AVESTAN LETTER A
+10B01 ; [.3AB1.0020.0002] # AVESTAN LETTER AA
+10B02 ; [.3AB2.0020.0002] # AVESTAN LETTER AO
+10B03 ; [.3AB3.0020.0002] # AVESTAN LETTER AAO
+10B04 ; [.3AB4.0020.0002] # AVESTAN LETTER AN
+10B05 ; [.3AB5.0020.0002] # AVESTAN LETTER AAN
+10B06 ; [.3AB6.0020.0002] # AVESTAN LETTER AE
+10B07 ; [.3AB7.0020.0002] # AVESTAN LETTER AEE
+10B08 ; [.3AB8.0020.0002] # AVESTAN LETTER E
+10B09 ; [.3AB9.0020.0002] # AVESTAN LETTER EE
+10B0A ; [.3ABA.0020.0002] # AVESTAN LETTER O
+10B0B ; [.3ABB.0020.0002] # AVESTAN LETTER OO
+10B0C ; [.3ABC.0020.0002] # AVESTAN LETTER I
+10B0D ; [.3ABD.0020.0002] # AVESTAN LETTER II
+10B0E ; [.3ABE.0020.0002] # AVESTAN LETTER U
+10B0F ; [.3ABF.0020.0002] # AVESTAN LETTER UU
+10B10 ; [.3AC0.0020.0002] # AVESTAN LETTER KE
+10B11 ; [.3AC1.0020.0002] # AVESTAN LETTER XE
+10B12 ; [.3AC2.0020.0002] # AVESTAN LETTER XYE
+10B13 ; [.3AC3.0020.0002] # AVESTAN LETTER XVE
+10B14 ; [.3AC4.0020.0002] # AVESTAN LETTER GE
+10B15 ; [.3AC5.0020.0002] # AVESTAN LETTER GGE
+10B16 ; [.3AC6.0020.0002] # AVESTAN LETTER GHE
+10B17 ; [.3AC7.0020.0002] # AVESTAN LETTER CE
+10B18 ; [.3AC8.0020.0002] # AVESTAN LETTER JE
+10B19 ; [.3AC9.0020.0002] # AVESTAN LETTER TE
+10B1A ; [.3ACA.0020.0002] # AVESTAN LETTER THE
+10B1B ; [.3ACB.0020.0002] # AVESTAN LETTER DE
+10B1C ; [.3ACC.0020.0002] # AVESTAN LETTER DHE
+10B1D ; [.3ACD.0020.0002] # AVESTAN LETTER TTE
+10B1E ; [.3ACE.0020.0002] # AVESTAN LETTER PE
+10B1F ; [.3ACF.0020.0002] # AVESTAN LETTER FE
+10B20 ; [.3AD0.0020.0002] # AVESTAN LETTER BE
+10B21 ; [.3AD1.0020.0002] # AVESTAN LETTER BHE
+10B22 ; [.3AD2.0020.0002] # AVESTAN LETTER NGE
+10B23 ; [.3AD3.0020.0002] # AVESTAN LETTER NGYE
+10B24 ; [.3AD4.0020.0002] # AVESTAN LETTER NGVE
+10B25 ; [.3AD5.0020.0002] # AVESTAN LETTER NE
+10B26 ; [.3AD6.0020.0002] # AVESTAN LETTER NYE
+10B27 ; [.3AD7.0020.0002] # AVESTAN LETTER NNE
+10B28 ; [.3AD8.0020.0002] # AVESTAN LETTER ME
+10B29 ; [.3AD9.0020.0002] # AVESTAN LETTER HME
+10B2A ; [.3ADA.0020.0002] # AVESTAN LETTER YYE
+10B2B ; [.3ADB.0020.0002] # AVESTAN LETTER YE
+10B2C ; [.3ADC.0020.0002] # AVESTAN LETTER VE
+10B2D ; [.3ADD.0020.0002] # AVESTAN LETTER RE
+10B2E ; [.3ADD.0020.0004][.0000.00FC.0004] # AVESTAN LETTER LE
+10B2F ; [.3ADE.0020.0002] # AVESTAN LETTER SE
+10B30 ; [.3ADF.0020.0002] # AVESTAN LETTER ZE
+10B31 ; [.3AE0.0020.0002] # AVESTAN LETTER SHE
+10B32 ; [.3AE1.0020.0002] # AVESTAN LETTER ZHE
+10B33 ; [.3AE2.0020.0002] # AVESTAN LETTER SHYE
+10B34 ; [.3AE3.0020.0002] # AVESTAN LETTER SSHE
+10B35 ; [.3AE4.0020.0002] # AVESTAN LETTER HE
+10840 ; [.3AE5.0020.0002] # IMPERIAL ARAMAIC LETTER ALEPH
+10841 ; [.3AE6.0020.0002] # IMPERIAL ARAMAIC LETTER BETH
+10842 ; [.3AE7.0020.0002] # IMPERIAL ARAMAIC LETTER GIMEL
+10843 ; [.3AE8.0020.0002] # IMPERIAL ARAMAIC LETTER DALETH
+10844 ; [.3AE9.0020.0002] # IMPERIAL ARAMAIC LETTER HE
+10845 ; [.3AEA.0020.0002] # IMPERIAL ARAMAIC LETTER WAW
+10846 ; [.3AEB.0020.0002] # IMPERIAL ARAMAIC LETTER ZAYIN
+10847 ; [.3AEC.0020.0002] # IMPERIAL ARAMAIC LETTER HETH
+10848 ; [.3AED.0020.0002] # IMPERIAL ARAMAIC LETTER TETH
+10849 ; [.3AEE.0020.0002] # IMPERIAL ARAMAIC LETTER YODH
+1084A ; [.3AEF.0020.0002] # IMPERIAL ARAMAIC LETTER KAPH
+1084B ; [.3AF0.0020.0002] # IMPERIAL ARAMAIC LETTER LAMEDH
+1084C ; [.3AF1.0020.0002] # IMPERIAL ARAMAIC LETTER MEM
+1084D ; [.3AF2.0020.0002] # IMPERIAL ARAMAIC LETTER NUN
+1084E ; [.3AF3.0020.0002] # IMPERIAL ARAMAIC LETTER SAMEKH
+1084F ; [.3AF4.0020.0002] # IMPERIAL ARAMAIC LETTER AYIN
+10850 ; [.3AF5.0020.0002] # IMPERIAL ARAMAIC LETTER PE
+10851 ; [.3AF6.0020.0002] # IMPERIAL ARAMAIC LETTER SADHE
+10852 ; [.3AF7.0020.0002] # IMPERIAL ARAMAIC LETTER QOPH
+10853 ; [.3AF8.0020.0002] # IMPERIAL ARAMAIC LETTER RESH
+10854 ; [.3AF9.0020.0002] # IMPERIAL ARAMAIC LETTER SHIN
+10855 ; [.3AFA.0020.0002] # IMPERIAL ARAMAIC LETTER TAW
+10B40 ; [.3AFB.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 ; [.3AFC.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 ; [.3AFD.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 ; [.3AFE.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 ; [.3AFF.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 ; [.3B00.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 ; [.3B01.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 ; [.3B02.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 ; [.3B03.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 ; [.3B04.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A ; [.3B05.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B ; [.3B06.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C ; [.3B07.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D ; [.3B08.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E ; [.3B09.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F ; [.3B0A.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 ; [.3B0B.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 ; [.3B0C.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 ; [.3B0D.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 ; [.3B0E.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 ; [.3B0F.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 ; [.3B10.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60 ; [.3B11.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 ; [.3B12.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 ; [.3B13.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 ; [.3B14.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 ; [.3B15.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 ; [.3B16.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 ; [.3B17.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 ; [.3B18.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 ; [.3B19.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 ; [.3B1A.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A ; [.3B1B.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B ; [.3B1C.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C ; [.3B1D.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D ; [.3B1E.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E ; [.3B1F.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F ; [.3B20.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 ; [.3B21.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 ; [.3B22.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 ; [.3B23.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TAW
+10380 ; [.3B24.0020.0002] # UGARITIC LETTER ALPA
+10381 ; [.3B25.0020.0002] # UGARITIC LETTER BETA
+10382 ; [.3B26.0020.0002] # UGARITIC LETTER GAMLA
+10383 ; [.3B27.0020.0002] # UGARITIC LETTER KHA
+10384 ; [.3B28.0020.0002] # UGARITIC LETTER DELTA
+10385 ; [.3B29.0020.0002] # UGARITIC LETTER HO
+10386 ; [.3B2A.0020.0002] # UGARITIC LETTER WO
+10387 ; [.3B2B.0020.0002] # UGARITIC LETTER ZETA
+10388 ; [.3B2C.0020.0002] # UGARITIC LETTER HOTA
+10389 ; [.3B2D.0020.0002] # UGARITIC LETTER TET
+1038A ; [.3B2E.0020.0002] # UGARITIC LETTER YOD
+1038B ; [.3B2F.0020.0002] # UGARITIC LETTER KAF
+1038C ; [.3B30.0020.0002] # UGARITIC LETTER SHIN
+1038D ; [.3B31.0020.0002] # UGARITIC LETTER LAMDA
+1038E ; [.3B32.0020.0002] # UGARITIC LETTER MEM
+1038F ; [.3B33.0020.0002] # UGARITIC LETTER DHAL
+10390 ; [.3B34.0020.0002] # UGARITIC LETTER NUN
+10391 ; [.3B35.0020.0002] # UGARITIC LETTER ZU
+10392 ; [.3B36.0020.0002] # UGARITIC LETTER SAMKA
+10393 ; [.3B37.0020.0002] # UGARITIC LETTER AIN
+10394 ; [.3B38.0020.0002] # UGARITIC LETTER PU
+10395 ; [.3B39.0020.0002] # UGARITIC LETTER SADE
+10396 ; [.3B3A.0020.0002] # UGARITIC LETTER QOPA
+10397 ; [.3B3B.0020.0002] # UGARITIC LETTER RASHA
+10398 ; [.3B3C.0020.0002] # UGARITIC LETTER THANNA
+10399 ; [.3B3D.0020.0002] # UGARITIC LETTER GHAIN
+1039A ; [.3B3E.0020.0002] # UGARITIC LETTER TO
+1039B ; [.3B3F.0020.0002] # UGARITIC LETTER I
+1039C ; [.3B40.0020.0002] # UGARITIC LETTER U
+1039D ; [.3B41.0020.0002] # UGARITIC LETTER SSU
+103A0 ; [.3B42.0020.0002] # OLD PERSIAN SIGN A
+103A1 ; [.3B43.0020.0002] # OLD PERSIAN SIGN I
+103A2 ; [.3B44.0020.0002] # OLD PERSIAN SIGN U
+103A3 ; [.3B45.0020.0002] # OLD PERSIAN SIGN KA
+103A4 ; [.3B46.0020.0002] # OLD PERSIAN SIGN KU
+103A5 ; [.3B47.0020.0002] # OLD PERSIAN SIGN GA
+103A6 ; [.3B48.0020.0002] # OLD PERSIAN SIGN GU
+103A7 ; [.3B49.0020.0002] # OLD PERSIAN SIGN XA
+103A8 ; [.3B4A.0020.0002] # OLD PERSIAN SIGN CA
+103A9 ; [.3B4B.0020.0002] # OLD PERSIAN SIGN JA
+103AA ; [.3B4C.0020.0002] # OLD PERSIAN SIGN JI
+103AB ; [.3B4D.0020.0002] # OLD PERSIAN SIGN TA
+103AC ; [.3B4E.0020.0002] # OLD PERSIAN SIGN TU
+103AD ; [.3B4F.0020.0002] # OLD PERSIAN SIGN DA
+103AE ; [.3B50.0020.0002] # OLD PERSIAN SIGN DI
+103AF ; [.3B51.0020.0002] # OLD PERSIAN SIGN DU
+103B0 ; [.3B52.0020.0002] # OLD PERSIAN SIGN THA
+103B1 ; [.3B53.0020.0002] # OLD PERSIAN SIGN PA
+103B2 ; [.3B54.0020.0002] # OLD PERSIAN SIGN BA
+103B3 ; [.3B55.0020.0002] # OLD PERSIAN SIGN FA
+103B4 ; [.3B56.0020.0002] # OLD PERSIAN SIGN NA
+103B5 ; [.3B57.0020.0002] # OLD PERSIAN SIGN NU
+103B6 ; [.3B58.0020.0002] # OLD PERSIAN SIGN MA
+103B7 ; [.3B59.0020.0002] # OLD PERSIAN SIGN MI
+103B8 ; [.3B5A.0020.0002] # OLD PERSIAN SIGN MU
+103B9 ; [.3B5B.0020.0002] # OLD PERSIAN SIGN YA
+103BA ; [.3B5C.0020.0002] # OLD PERSIAN SIGN VA
+103BB ; [.3B5D.0020.0002] # OLD PERSIAN SIGN VI
+103BC ; [.3B5E.0020.0002] # OLD PERSIAN SIGN RA
+103BD ; [.3B5F.0020.0002] # OLD PERSIAN SIGN RU
+103BE ; [.3B60.0020.0002] # OLD PERSIAN SIGN LA
+103BF ; [.3B61.0020.0002] # OLD PERSIAN SIGN SA
+103C0 ; [.3B62.0020.0002] # OLD PERSIAN SIGN ZA
+103C1 ; [.3B63.0020.0002] # OLD PERSIAN SIGN SHA
+103C2 ; [.3B64.0020.0002] # OLD PERSIAN SIGN SSA
+103C3 ; [.3B65.0020.0002] # OLD PERSIAN SIGN HA
+103C8 ; [.3B66.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA
+103C9 ; [.3B67.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA-2
+103CA ; [.3B68.0020.0002] # OLD PERSIAN SIGN AURAMAZDAAHA
+103CB ; [.3B69.0020.0002] # OLD PERSIAN SIGN XSHAAYATHIYA
+103CC ; [.3B6A.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH
+103CD ; [.3B6B.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH-2
+103CE ; [.3B6C.0020.0002] # OLD PERSIAN SIGN BAGA
+103CF ; [.3B6D.0020.0002] # OLD PERSIAN SIGN BUUMISH
+12000 ; [.3B6E.0020.0002] # CUNEIFORM SIGN A
+12001 ; [.3B6F.0020.0002] # CUNEIFORM SIGN A TIMES A
+12002 ; [.3B70.0020.0002] # CUNEIFORM SIGN A TIMES BAD
+12003 ; [.3B71.0020.0002] # CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 ; [.3B72.0020.0002] # CUNEIFORM SIGN A TIMES HA
+12005 ; [.3B73.0020.0002] # CUNEIFORM SIGN A TIMES IGI
+12006 ; [.3B74.0020.0002] # CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 ; [.3B75.0020.0002] # CUNEIFORM SIGN A TIMES MUSH
+12008 ; [.3B76.0020.0002] # CUNEIFORM SIGN A TIMES SAG
+12009 ; [.3B77.0020.0002] # CUNEIFORM SIGN A2
+1200A ; [.3B78.0020.0002] # CUNEIFORM SIGN AB
+1200B ; [.3B79.0020.0002] # CUNEIFORM SIGN AB TIMES ASH2
+1200C ; [.3B7A.0020.0002] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D ; [.3B7B.0020.0002] # CUNEIFORM SIGN AB TIMES GAL
+1200E ; [.3B7C.0020.0002] # CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F ; [.3B7D.0020.0002] # CUNEIFORM SIGN AB TIMES HA
+12010 ; [.3B7E.0020.0002] # CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 ; [.3B7F.0020.0002] # CUNEIFORM SIGN AB TIMES IMIN
+12012 ; [.3B80.0020.0002] # CUNEIFORM SIGN AB TIMES LAGAB
+12013 ; [.3B81.0020.0002] # CUNEIFORM SIGN AB TIMES SHESH
+12014 ; [.3B82.0020.0002] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 ; [.3B83.0020.0002] # CUNEIFORM SIGN AB GUNU
+12016 ; [.3B84.0020.0002] # CUNEIFORM SIGN AB2
+12017 ; [.3B85.0020.0002] # CUNEIFORM SIGN AB2 TIMES BALAG
+12018 ; [.3B86.0020.0002] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 ; [.3B87.0020.0002] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A ; [.3B88.0020.0002] # CUNEIFORM SIGN AB2 TIMES SHA3
+1201B ; [.3B89.0020.0002] # CUNEIFORM SIGN AB2 TIMES TAK4
+1201C ; [.3B8A.0020.0002] # CUNEIFORM SIGN AD
+1201D ; [.3B8B.0020.0002] # CUNEIFORM SIGN AK
+1201E ; [.3B8C.0020.0002] # CUNEIFORM SIGN AK TIMES ERIN2
+1201F ; [.3B8D.0020.0002] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 ; [.3B8E.0020.0002] # CUNEIFORM SIGN AL
+12021 ; [.3B8F.0020.0002] # CUNEIFORM SIGN AL TIMES AL
+12022 ; [.3B90.0020.0002] # CUNEIFORM SIGN AL TIMES DIM2
+12023 ; [.3B91.0020.0002] # CUNEIFORM SIGN AL TIMES GISH
+12024 ; [.3B92.0020.0002] # CUNEIFORM SIGN AL TIMES HA
+12025 ; [.3B93.0020.0002] # CUNEIFORM SIGN AL TIMES KAD3
+12026 ; [.3B94.0020.0002] # CUNEIFORM SIGN AL TIMES KI
+12027 ; [.3B95.0020.0002] # CUNEIFORM SIGN AL TIMES SHE
+12028 ; [.3B96.0020.0002] # CUNEIFORM SIGN AL TIMES USH
+12029 ; [.3B97.0020.0002] # CUNEIFORM SIGN ALAN
+1202A ; [.3B98.0020.0002] # CUNEIFORM SIGN ALEPH
+1202B ; [.3B99.0020.0002] # CUNEIFORM SIGN AMAR
+1202C ; [.3B9A.0020.0002] # CUNEIFORM SIGN AMAR TIMES SHE
+1202D ; [.3B9B.0020.0002] # CUNEIFORM SIGN AN
+1202E ; [.3B9C.0020.0002] # CUNEIFORM SIGN AN OVER AN
+1202F ; [.3B9D.0020.0002] # CUNEIFORM SIGN AN THREE TIMES
+12030 ; [.3B9E.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 ; [.3B9F.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 ; [.3BA0.0020.0002] # CUNEIFORM SIGN ANSHE
+12033 ; [.3BA1.0020.0002] # CUNEIFORM SIGN APIN
+12034 ; [.3BA2.0020.0002] # CUNEIFORM SIGN ARAD
+12035 ; [.3BA3.0020.0002] # CUNEIFORM SIGN ARAD TIMES KUR
+12036 ; [.3BA4.0020.0002] # CUNEIFORM SIGN ARKAB
+12037 ; [.3BA5.0020.0002] # CUNEIFORM SIGN ASAL2
+12038 ; [.3BA6.0020.0002] # CUNEIFORM SIGN ASH
+12039 ; [.3BA7.0020.0002] # CUNEIFORM SIGN ASH ZIDA TENU
+1203A ; [.3BA8.0020.0002] # CUNEIFORM SIGN ASH KABA TENU
+1203B ; [.3BA9.0020.0002] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C ; [.3BAA.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D ; [.3BAB.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E ; [.3BAC.0020.0002] # CUNEIFORM SIGN ASH2
+1203F ; [.3BAD.0020.0002] # CUNEIFORM SIGN ASHGAB
+12040 ; [.3BAE.0020.0002] # CUNEIFORM SIGN BA
+12041 ; [.3BAF.0020.0002] # CUNEIFORM SIGN BAD
+12042 ; [.3BB0.0020.0002] # CUNEIFORM SIGN BAG3
+12043 ; [.3BB1.0020.0002] # CUNEIFORM SIGN BAHAR2
+12044 ; [.3BB2.0020.0002] # CUNEIFORM SIGN BAL
+12045 ; [.3BB3.0020.0002] # CUNEIFORM SIGN BAL OVER BAL
+12046 ; [.3BB4.0020.0002] # CUNEIFORM SIGN BALAG
+12047 ; [.3BB5.0020.0002] # CUNEIFORM SIGN BAR
+12048 ; [.3BB6.0020.0002] # CUNEIFORM SIGN BARA2
+12049 ; [.3BB7.0020.0002] # CUNEIFORM SIGN BI
+1204A ; [.3BB8.0020.0002] # CUNEIFORM SIGN BI TIMES A
+1204B ; [.3BB9.0020.0002] # CUNEIFORM SIGN BI TIMES GAR
+1204C ; [.3BBA.0020.0002] # CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D ; [.3BBB.0020.0002] # CUNEIFORM SIGN BU
+1204E ; [.3BBC.0020.0002] # CUNEIFORM SIGN BU OVER BU AB
+1204F ; [.3BBD.0020.0002] # CUNEIFORM SIGN BU OVER BU UN
+12050 ; [.3BBE.0020.0002] # CUNEIFORM SIGN BU CROSSING BU
+12051 ; [.3BBF.0020.0002] # CUNEIFORM SIGN BULUG
+12052 ; [.3BC0.0020.0002] # CUNEIFORM SIGN BULUG OVER BULUG
+12053 ; [.3BC1.0020.0002] # CUNEIFORM SIGN BUR
+12054 ; [.3BC2.0020.0002] # CUNEIFORM SIGN BUR2
+12055 ; [.3BC3.0020.0002] # CUNEIFORM SIGN DA
+12056 ; [.3BC4.0020.0002] # CUNEIFORM SIGN DAG
+12057 ; [.3BC5.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 ; [.3BC6.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 ; [.3BC7.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A ; [.3BC8.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B ; [.3BC9.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C ; [.3BCA.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D ; [.3BCB.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E ; [.3BCC.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F ; [.3BCD.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 ; [.3BCE.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 ; [.3BCF.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 ; [.3BD0.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 ; [.3BD1.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 ; [.3BD2.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 ; [.3BD3.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 ; [.3BD4.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 ; [.3BD5.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 ; [.3BD6.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 ; [.3BD7.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A ; [.3BD8.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B ; [.3BD9.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C ; [.3BDA.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D ; [.3BDB.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E ; [.3BDC.0020.0002] # CUNEIFORM SIGN DAM
+1206F ; [.3BDD.0020.0002] # CUNEIFORM SIGN DAR
+12070 ; [.3BDE.0020.0002] # CUNEIFORM SIGN DARA3
+12071 ; [.3BDF.0020.0002] # CUNEIFORM SIGN DARA4
+12072 ; [.3BE0.0020.0002] # CUNEIFORM SIGN DI
+12073 ; [.3BE1.0020.0002] # CUNEIFORM SIGN DIB
+12074 ; [.3BE2.0020.0002] # CUNEIFORM SIGN DIM
+12075 ; [.3BE3.0020.0002] # CUNEIFORM SIGN DIM TIMES SHE
+12076 ; [.3BE4.0020.0002] # CUNEIFORM SIGN DIM2
+12077 ; [.3BE5.0020.0002] # CUNEIFORM SIGN DIN
+12078 ; [.3BE6.0020.0002] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 ; [.3BE7.0020.0002] # CUNEIFORM SIGN DISH
+1207A ; [.3BE8.0020.0002] # CUNEIFORM SIGN DU
+1207B ; [.3BE9.0020.0002] # CUNEIFORM SIGN DU OVER DU
+1207C ; [.3BEA.0020.0002] # CUNEIFORM SIGN DU GUNU
+1207D ; [.3BEB.0020.0002] # CUNEIFORM SIGN DU SHESHIG
+1207E ; [.3BEC.0020.0002] # CUNEIFORM SIGN DUB
+1207F ; [.3BED.0020.0002] # CUNEIFORM SIGN DUB TIMES ESH2
+12080 ; [.3BEE.0020.0002] # CUNEIFORM SIGN DUB2
+12081 ; [.3BEF.0020.0002] # CUNEIFORM SIGN DUG
+12082 ; [.3BF0.0020.0002] # CUNEIFORM SIGN DUGUD
+12083 ; [.3BF1.0020.0002] # CUNEIFORM SIGN DUH
+12084 ; [.3BF2.0020.0002] # CUNEIFORM SIGN DUN
+12085 ; [.3BF3.0020.0002] # CUNEIFORM SIGN DUN3
+12086 ; [.3BF4.0020.0002] # CUNEIFORM SIGN DUN3 GUNU
+12087 ; [.3BF5.0020.0002] # CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 ; [.3BF6.0020.0002] # CUNEIFORM SIGN DUN4
+12089 ; [.3BF7.0020.0002] # CUNEIFORM SIGN DUR2
+1208A ; [.3BF8.0020.0002] # CUNEIFORM SIGN E
+1208B ; [.3BF9.0020.0002] # CUNEIFORM SIGN E TIMES PAP
+1208C ; [.3BFA.0020.0002] # CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D ; [.3BFB.0020.0002] # CUNEIFORM SIGN E2
+1208E ; [.3BFC.0020.0002] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F ; [.3BFD.0020.0002] # CUNEIFORM SIGN E2 TIMES GAR
+12090 ; [.3BFE.0020.0002] # CUNEIFORM SIGN E2 TIMES MI
+12091 ; [.3BFF.0020.0002] # CUNEIFORM SIGN E2 TIMES SAL
+12092 ; [.3C00.0020.0002] # CUNEIFORM SIGN E2 TIMES SHE
+12093 ; [.3C01.0020.0002] # CUNEIFORM SIGN E2 TIMES U
+12094 ; [.3C02.0020.0002] # CUNEIFORM SIGN EDIN
+12095 ; [.3C03.0020.0002] # CUNEIFORM SIGN EGIR
+12096 ; [.3C04.0020.0002] # CUNEIFORM SIGN EL
+12097 ; [.3C05.0020.0002] # CUNEIFORM SIGN EN
+12098 ; [.3C06.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2
+12099 ; [.3C07.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A ; [.3C08.0020.0002] # CUNEIFORM SIGN EN TIMES ME
+1209B ; [.3C09.0020.0002] # CUNEIFORM SIGN EN CROSSING EN
+1209C ; [.3C0A.0020.0002] # CUNEIFORM SIGN EN OPPOSING EN
+1209D ; [.3C0B.0020.0002] # CUNEIFORM SIGN EN SQUARED
+1209E ; [.3C0C.0020.0002] # CUNEIFORM SIGN EREN
+1209F ; [.3C0D.0020.0002] # CUNEIFORM SIGN ERIN2
+120A0 ; [.3C0E.0020.0002] # CUNEIFORM SIGN ESH2
+120A1 ; [.3C0F.0020.0002] # CUNEIFORM SIGN EZEN
+120A2 ; [.3C10.0020.0002] # CUNEIFORM SIGN EZEN TIMES A
+120A3 ; [.3C11.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 ; [.3C12.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 ; [.3C13.0020.0002] # CUNEIFORM SIGN EZEN TIMES AN
+120A6 ; [.3C14.0020.0002] # CUNEIFORM SIGN EZEN TIMES BAD
+120A7 ; [.3C15.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 ; [.3C16.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 ; [.3C17.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA
+120AA ; [.3C18.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB ; [.3C19.0020.0002] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC ; [.3C1A.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD ; [.3C1B.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE ; [.3C1C.0020.0002] # CUNEIFORM SIGN EZEN TIMES KU3
+120AF ; [.3C1D.0020.0002] # CUNEIFORM SIGN EZEN TIMES LA
+120B0 ; [.3C1E.0020.0002] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 ; [.3C1F.0020.0002] # CUNEIFORM SIGN EZEN TIMES LI
+120B2 ; [.3C20.0020.0002] # CUNEIFORM SIGN EZEN TIMES LU
+120B3 ; [.3C21.0020.0002] # CUNEIFORM SIGN EZEN TIMES U2
+120B4 ; [.3C22.0020.0002] # CUNEIFORM SIGN EZEN TIMES UD
+120B5 ; [.3C23.0020.0002] # CUNEIFORM SIGN GA
+120B6 ; [.3C24.0020.0002] # CUNEIFORM SIGN GA GUNU
+120B7 ; [.3C25.0020.0002] # CUNEIFORM SIGN GA2
+120B8 ; [.3C26.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 ; [.3C27.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA ; [.3C28.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB ; [.3C29.0020.0002] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC ; [.3C2A.0020.0002] # CUNEIFORM SIGN GA2 TIMES AN
+120BD ; [.3C2B.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH
+120BE ; [.3C2C.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF ; [.3C2D.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAD
+120C0 ; [.3C2E.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 ; [.3C2F.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR
+120C2 ; [.3C30.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 ; [.3C31.0020.0002] # CUNEIFORM SIGN GA2 TIMES DA
+120C4 ; [.3C32.0020.0002] # CUNEIFORM SIGN GA2 TIMES DI
+120C5 ; [.3C33.0020.0002] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 ; [.3C34.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUB
+120C7 ; [.3C35.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL
+120C8 ; [.3C36.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 ; [.3C37.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN
+120CA ; [.3C38.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB ; [.3C39.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC ; [.3C3A.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR
+120CD ; [.3C3B.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI
+120CE ; [.3C3C.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4
+120CF ; [.3C3D.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 ; [.3C3E.0020.0002] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 ; [.3C3F.0020.0002] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 ; [.3C40.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL
+120D3 ; [.3C41.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 ; [.3C42.0020.0002] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 ; [.3C43.0020.0002] # CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 ; [.3C44.0020.0002] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 ; [.3C45.0020.0002] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 ; [.3C46.0020.0002] # CUNEIFORM SIGN GA2 TIMES KAK
+120D9 ; [.3C47.0020.0002] # CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA ; [.3C48.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID
+120DB ; [.3C49.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC ; [.3C4A.0020.0002] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD ; [.3C4B.0020.0002] # CUNEIFORM SIGN GA2 TIMES LA
+120DE ; [.3C4C.0020.0002] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF ; [.3C4D.0020.0002] # CUNEIFORM SIGN GA2 TIMES MI
+120E0 ; [.3C4E.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN
+120E1 ; [.3C4F.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 ; [.3C50.0020.0002] # CUNEIFORM SIGN GA2 TIMES PA
+120E3 ; [.3C51.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAL
+120E4 ; [.3C52.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAR
+120E5 ; [.3C53.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE
+120E6 ; [.3C54.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 ; [.3C55.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHID
+120E8 ; [.3C56.0020.0002] # CUNEIFORM SIGN GA2 TIMES SUM
+120E9 ; [.3C57.0020.0002] # CUNEIFORM SIGN GA2 TIMES TAK4
+120EA ; [.3C58.0020.0002] # CUNEIFORM SIGN GA2 TIMES U
+120EB ; [.3C59.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD
+120EC ; [.3C5A.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED ; [.3C5B.0020.0002] # CUNEIFORM SIGN GA2 OVER GA2
+120EE ; [.3C5C.0020.0002] # CUNEIFORM SIGN GABA
+120EF ; [.3C5D.0020.0002] # CUNEIFORM SIGN GABA CROSSING GABA
+120F0 ; [.3C5E.0020.0002] # CUNEIFORM SIGN GAD
+120F1 ; [.3C5F.0020.0002] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 ; [.3C60.0020.0002] # CUNEIFORM SIGN GAL
+120F3 ; [.3C61.0020.0002] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 ; [.3C62.0020.0002] # CUNEIFORM SIGN GALAM
+120F5 ; [.3C63.0020.0002] # CUNEIFORM SIGN GAM
+120F6 ; [.3C64.0020.0002] # CUNEIFORM SIGN GAN
+120F7 ; [.3C65.0020.0002] # CUNEIFORM SIGN GAN2
+120F8 ; [.3C66.0020.0002] # CUNEIFORM SIGN GAN2 TENU
+120F9 ; [.3C67.0020.0002] # CUNEIFORM SIGN GAN2 OVER GAN2
+120FA ; [.3C68.0020.0002] # CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB ; [.3C69.0020.0002] # CUNEIFORM SIGN GAR
+120FC ; [.3C6A.0020.0002] # CUNEIFORM SIGN GAR3
+120FD ; [.3C6B.0020.0002] # CUNEIFORM SIGN GASHAN
+120FE ; [.3C6C.0020.0002] # CUNEIFORM SIGN GESHTIN
+120FF ; [.3C6D.0020.0002] # CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 ; [.3C6E.0020.0002] # CUNEIFORM SIGN GI
+12101 ; [.3C6F.0020.0002] # CUNEIFORM SIGN GI TIMES E
+12102 ; [.3C70.0020.0002] # CUNEIFORM SIGN GI TIMES U
+12103 ; [.3C71.0020.0002] # CUNEIFORM SIGN GI CROSSING GI
+12104 ; [.3C72.0020.0002] # CUNEIFORM SIGN GI4
+12105 ; [.3C73.0020.0002] # CUNEIFORM SIGN GI4 OVER GI4
+12106 ; [.3C74.0020.0002] # CUNEIFORM SIGN GI4 CROSSING GI4
+12107 ; [.3C75.0020.0002] # CUNEIFORM SIGN GIDIM
+12108 ; [.3C76.0020.0002] # CUNEIFORM SIGN GIR2
+12109 ; [.3C77.0020.0002] # CUNEIFORM SIGN GIR2 GUNU
+1210A ; [.3C78.0020.0002] # CUNEIFORM SIGN GIR3
+1210B ; [.3C79.0020.0002] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C ; [.3C7A.0020.0002] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D ; [.3C7B.0020.0002] # CUNEIFORM SIGN GIR3 TIMES IGI
+1210E ; [.3C7C.0020.0002] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F ; [.3C7D.0020.0002] # CUNEIFORM SIGN GIR3 TIMES PA
+12110 ; [.3C7E.0020.0002] # CUNEIFORM SIGN GISAL
+12111 ; [.3C7F.0020.0002] # CUNEIFORM SIGN GISH
+12112 ; [.3C80.0020.0002] # CUNEIFORM SIGN GISH CROSSING GISH
+12113 ; [.3C81.0020.0002] # CUNEIFORM SIGN GISH TIMES BAD
+12114 ; [.3C82.0020.0002] # CUNEIFORM SIGN GISH TIMES TAK4
+12115 ; [.3C83.0020.0002] # CUNEIFORM SIGN GISH TENU
+12116 ; [.3C84.0020.0002] # CUNEIFORM SIGN GU
+12117 ; [.3C85.0020.0002] # CUNEIFORM SIGN GU CROSSING GU
+12118 ; [.3C86.0020.0002] # CUNEIFORM SIGN GU2
+12119 ; [.3C87.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK
+1211A ; [.3C88.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B ; [.3C89.0020.0002] # CUNEIFORM SIGN GU2 TIMES NUN
+1211C ; [.3C8A.0020.0002] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D ; [.3C8B.0020.0002] # CUNEIFORM SIGN GU2 GUNU
+1211E ; [.3C8C.0020.0002] # CUNEIFORM SIGN GUD
+1211F ; [.3C8D.0020.0002] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 ; [.3C8E.0020.0002] # CUNEIFORM SIGN GUD TIMES KUR
+12121 ; [.3C8F.0020.0002] # CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 ; [.3C90.0020.0002] # CUNEIFORM SIGN GUL
+12123 ; [.3C91.0020.0002] # CUNEIFORM SIGN GUM
+12124 ; [.3C92.0020.0002] # CUNEIFORM SIGN GUM TIMES SHE
+12125 ; [.3C93.0020.0002] # CUNEIFORM SIGN GUR
+12126 ; [.3C94.0020.0002] # CUNEIFORM SIGN GUR7
+12127 ; [.3C95.0020.0002] # CUNEIFORM SIGN GURUN
+12128 ; [.3C96.0020.0002] # CUNEIFORM SIGN GURUSH
+12129 ; [.3C97.0020.0002] # CUNEIFORM SIGN HA
+1212A ; [.3C98.0020.0002] # CUNEIFORM SIGN HA TENU
+1212B ; [.3C99.0020.0002] # CUNEIFORM SIGN HA GUNU
+1212C ; [.3C9A.0020.0002] # CUNEIFORM SIGN HAL
+1212D ; [.3C9B.0020.0002] # CUNEIFORM SIGN HI
+1212E ; [.3C9C.0020.0002] # CUNEIFORM SIGN HI TIMES ASH
+1212F ; [.3C9D.0020.0002] # CUNEIFORM SIGN HI TIMES ASH2
+12130 ; [.3C9E.0020.0002] # CUNEIFORM SIGN HI TIMES BAD
+12131 ; [.3C9F.0020.0002] # CUNEIFORM SIGN HI TIMES DISH
+12132 ; [.3CA0.0020.0002] # CUNEIFORM SIGN HI TIMES GAD
+12133 ; [.3CA1.0020.0002] # CUNEIFORM SIGN HI TIMES KIN
+12134 ; [.3CA2.0020.0002] # CUNEIFORM SIGN HI TIMES NUN
+12135 ; [.3CA3.0020.0002] # CUNEIFORM SIGN HI TIMES SHE
+12136 ; [.3CA4.0020.0002] # CUNEIFORM SIGN HI TIMES U
+12137 ; [.3CA5.0020.0002] # CUNEIFORM SIGN HU
+12138 ; [.3CA6.0020.0002] # CUNEIFORM SIGN HUB2
+12139 ; [.3CA7.0020.0002] # CUNEIFORM SIGN HUB2 TIMES AN
+1213A ; [.3CA8.0020.0002] # CUNEIFORM SIGN HUB2 TIMES HAL
+1213B ; [.3CA9.0020.0002] # CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C ; [.3CAA.0020.0002] # CUNEIFORM SIGN HUB2 TIMES LISH
+1213D ; [.3CAB.0020.0002] # CUNEIFORM SIGN HUB2 TIMES UD
+1213E ; [.3CAC.0020.0002] # CUNEIFORM SIGN HUL2
+1213F ; [.3CAD.0020.0002] # CUNEIFORM SIGN I
+12140 ; [.3CAE.0020.0002] # CUNEIFORM SIGN I A
+12141 ; [.3CAF.0020.0002] # CUNEIFORM SIGN IB
+12142 ; [.3CB0.0020.0002] # CUNEIFORM SIGN IDIM
+12143 ; [.3CB1.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 ; [.3CB2.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 ; [.3CB3.0020.0002] # CUNEIFORM SIGN IG
+12146 ; [.3CB4.0020.0002] # CUNEIFORM SIGN IGI
+12147 ; [.3CB5.0020.0002] # CUNEIFORM SIGN IGI DIB
+12148 ; [.3CB6.0020.0002] # CUNEIFORM SIGN IGI RI
+12149 ; [.3CB7.0020.0002] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A ; [.3CB8.0020.0002] # CUNEIFORM SIGN IGI GUNU
+1214B ; [.3CB9.0020.0002] # CUNEIFORM SIGN IL
+1214C ; [.3CBA.0020.0002] # CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D ; [.3CBB.0020.0002] # CUNEIFORM SIGN IL2
+1214E ; [.3CBC.0020.0002] # CUNEIFORM SIGN IM
+1214F ; [.3CBD.0020.0002] # CUNEIFORM SIGN IM TIMES TAK4
+12150 ; [.3CBE.0020.0002] # CUNEIFORM SIGN IM CROSSING IM
+12151 ; [.3CBF.0020.0002] # CUNEIFORM SIGN IM OPPOSING IM
+12152 ; [.3CC0.0020.0002] # CUNEIFORM SIGN IM SQUARED
+12153 ; [.3CC1.0020.0002] # CUNEIFORM SIGN IMIN
+12154 ; [.3CC2.0020.0002] # CUNEIFORM SIGN IN
+12155 ; [.3CC3.0020.0002] # CUNEIFORM SIGN IR
+12156 ; [.3CC4.0020.0002] # CUNEIFORM SIGN ISH
+12157 ; [.3CC5.0020.0002] # CUNEIFORM SIGN KA
+12158 ; [.3CC6.0020.0002] # CUNEIFORM SIGN KA TIMES A
+12159 ; [.3CC7.0020.0002] # CUNEIFORM SIGN KA TIMES AD
+1215A ; [.3CC8.0020.0002] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B ; [.3CC9.0020.0002] # CUNEIFORM SIGN KA TIMES ASH2
+1215C ; [.3CCA.0020.0002] # CUNEIFORM SIGN KA TIMES BAD
+1215D ; [.3CCB.0020.0002] # CUNEIFORM SIGN KA TIMES BALAG
+1215E ; [.3CCC.0020.0002] # CUNEIFORM SIGN KA TIMES BAR
+1215F ; [.3CCD.0020.0002] # CUNEIFORM SIGN KA TIMES BI
+12160 ; [.3CCE.0020.0002] # CUNEIFORM SIGN KA TIMES ERIN2
+12161 ; [.3CCF.0020.0002] # CUNEIFORM SIGN KA TIMES ESH2
+12162 ; [.3CD0.0020.0002] # CUNEIFORM SIGN KA TIMES GA
+12163 ; [.3CD1.0020.0002] # CUNEIFORM SIGN KA TIMES GAL
+12164 ; [.3CD2.0020.0002] # CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 ; [.3CD3.0020.0002] # CUNEIFORM SIGN KA TIMES GAR
+12166 ; [.3CD4.0020.0002] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 ; [.3CD5.0020.0002] # CUNEIFORM SIGN KA TIMES GI
+12168 ; [.3CD6.0020.0002] # CUNEIFORM SIGN KA TIMES GIR2
+12169 ; [.3CD7.0020.0002] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A ; [.3CD8.0020.0002] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B ; [.3CD9.0020.0002] # CUNEIFORM SIGN KA TIMES GU
+1216C ; [.3CDA.0020.0002] # CUNEIFORM SIGN KA TIMES GUR7
+1216D ; [.3CDB.0020.0002] # CUNEIFORM SIGN KA TIMES IGI
+1216E ; [.3CDC.0020.0002] # CUNEIFORM SIGN KA TIMES IM
+1216F ; [.3CDD.0020.0002] # CUNEIFORM SIGN KA TIMES KAK
+12170 ; [.3CDE.0020.0002] # CUNEIFORM SIGN KA TIMES KI
+12171 ; [.3CDF.0020.0002] # CUNEIFORM SIGN KA TIMES KID
+12172 ; [.3CE0.0020.0002] # CUNEIFORM SIGN KA TIMES LI
+12173 ; [.3CE1.0020.0002] # CUNEIFORM SIGN KA TIMES LU
+12174 ; [.3CE2.0020.0002] # CUNEIFORM SIGN KA TIMES ME
+12175 ; [.3CE3.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 ; [.3CE4.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 ; [.3CE5.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 ; [.3CE6.0020.0002] # CUNEIFORM SIGN KA TIMES MI
+12179 ; [.3CE7.0020.0002] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A ; [.3CE8.0020.0002] # CUNEIFORM SIGN KA TIMES NE
+1217B ; [.3CE9.0020.0002] # CUNEIFORM SIGN KA TIMES NUN
+1217C ; [.3CEA.0020.0002] # CUNEIFORM SIGN KA TIMES PI
+1217D ; [.3CEB.0020.0002] # CUNEIFORM SIGN KA TIMES RU
+1217E ; [.3CEC.0020.0002] # CUNEIFORM SIGN KA TIMES SA
+1217F ; [.3CED.0020.0002] # CUNEIFORM SIGN KA TIMES SAR
+12180 ; [.3CEE.0020.0002] # CUNEIFORM SIGN KA TIMES SHA
+12181 ; [.3CEF.0020.0002] # CUNEIFORM SIGN KA TIMES SHE
+12182 ; [.3CF0.0020.0002] # CUNEIFORM SIGN KA TIMES SHID
+12183 ; [.3CF1.0020.0002] # CUNEIFORM SIGN KA TIMES SHU
+12184 ; [.3CF2.0020.0002] # CUNEIFORM SIGN KA TIMES SIG
+12185 ; [.3CF3.0020.0002] # CUNEIFORM SIGN KA TIMES SUHUR
+12186 ; [.3CF4.0020.0002] # CUNEIFORM SIGN KA TIMES TAR
+12187 ; [.3CF5.0020.0002] # CUNEIFORM SIGN KA TIMES U
+12188 ; [.3CF6.0020.0002] # CUNEIFORM SIGN KA TIMES U2
+12189 ; [.3CF7.0020.0002] # CUNEIFORM SIGN KA TIMES UD
+1218A ; [.3CF8.0020.0002] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B ; [.3CF9.0020.0002] # CUNEIFORM SIGN KA TIMES USH
+1218C ; [.3CFA.0020.0002] # CUNEIFORM SIGN KA TIMES ZI
+1218D ; [.3CFB.0020.0002] # CUNEIFORM SIGN KA2
+1218E ; [.3CFC.0020.0002] # CUNEIFORM SIGN KA2 CROSSING KA2
+1218F ; [.3CFD.0020.0002] # CUNEIFORM SIGN KAB
+12190 ; [.3CFE.0020.0002] # CUNEIFORM SIGN KAD2
+12191 ; [.3CFF.0020.0002] # CUNEIFORM SIGN KAD3
+12192 ; [.3D00.0020.0002] # CUNEIFORM SIGN KAD4
+12193 ; [.3D01.0020.0002] # CUNEIFORM SIGN KAD5
+12194 ; [.3D02.0020.0002] # CUNEIFORM SIGN KAD5 OVER KAD5
+12195 ; [.3D03.0020.0002] # CUNEIFORM SIGN KAK
+12196 ; [.3D04.0020.0002] # CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 ; [.3D05.0020.0002] # CUNEIFORM SIGN KAL
+12198 ; [.3D06.0020.0002] # CUNEIFORM SIGN KAL TIMES BAD
+12199 ; [.3D07.0020.0002] # CUNEIFORM SIGN KAL CROSSING KAL
+1219A ; [.3D08.0020.0002] # CUNEIFORM SIGN KAM2
+1219B ; [.3D09.0020.0002] # CUNEIFORM SIGN KAM4
+1219C ; [.3D0A.0020.0002] # CUNEIFORM SIGN KASKAL
+1219D ; [.3D0B.0020.0002] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E ; [.3D0C.0020.0002] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F ; [.3D0D.0020.0002] # CUNEIFORM SIGN KESH2
+121A0 ; [.3D0E.0020.0002] # CUNEIFORM SIGN KI
+121A1 ; [.3D0F.0020.0002] # CUNEIFORM SIGN KI TIMES BAD
+121A2 ; [.3D10.0020.0002] # CUNEIFORM SIGN KI TIMES U
+121A3 ; [.3D11.0020.0002] # CUNEIFORM SIGN KI TIMES UD
+121A4 ; [.3D12.0020.0002] # CUNEIFORM SIGN KID
+121A5 ; [.3D13.0020.0002] # CUNEIFORM SIGN KIN
+121A6 ; [.3D14.0020.0002] # CUNEIFORM SIGN KISAL
+121A7 ; [.3D15.0020.0002] # CUNEIFORM SIGN KISH
+121A8 ; [.3D16.0020.0002] # CUNEIFORM SIGN KISIM5
+121A9 ; [.3D17.0020.0002] # CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA ; [.3D18.0020.0002] # CUNEIFORM SIGN KU
+121AB ; [.3D19.0020.0002] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC ; [.3D1A.0020.0002] # CUNEIFORM SIGN KU3
+121AD ; [.3D1B.0020.0002] # CUNEIFORM SIGN KU4
+121AE ; [.3D1C.0020.0002] # CUNEIFORM SIGN KU4 VARIANT FORM
+121AF ; [.3D1D.0020.0002] # CUNEIFORM SIGN KU7
+121B0 ; [.3D1E.0020.0002] # CUNEIFORM SIGN KUL
+121B1 ; [.3D1F.0020.0002] # CUNEIFORM SIGN KUL GUNU
+121B2 ; [.3D20.0020.0002] # CUNEIFORM SIGN KUN
+121B3 ; [.3D21.0020.0002] # CUNEIFORM SIGN KUR
+121B4 ; [.3D22.0020.0002] # CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 ; [.3D23.0020.0002] # CUNEIFORM SIGN KUSHU2
+121B6 ; [.3D24.0020.0002] # CUNEIFORM SIGN KWU318
+121B7 ; [.3D25.0020.0002] # CUNEIFORM SIGN LA
+121B8 ; [.3D26.0020.0002] # CUNEIFORM SIGN LAGAB
+121B9 ; [.3D27.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A
+121BA ; [.3D28.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB ; [.3D29.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC ; [.3D2A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD ; [.3D2B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AL
+121BE ; [.3D2C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AN
+121BF ; [.3D2D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 ; [.3D2E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 ; [.3D2F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BI
+121C2 ; [.3D30.0020.0002] # CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 ; [.3D31.0020.0002] # CUNEIFORM SIGN LAGAB TIMES EN
+121C4 ; [.3D32.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GA
+121C5 ; [.3D33.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 ; [.3D34.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 ; [.3D35.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 ; [.3D36.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HA
+121C9 ; [.3D37.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HAL
+121CA ; [.3D38.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB ; [.3D39.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC ; [.3D3A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM
+121CD ; [.3D3B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE ; [.3D3C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF ; [.3D3D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KI
+121D0 ; [.3D3E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 ; [.3D3F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 ; [.3D40.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 ; [.3D41.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 ; [.3D42.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 ; [.3D43.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 ; [.3D44.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LU
+121D7 ; [.3D45.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 ; [.3D46.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME
+121D9 ; [.3D47.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA ; [.3D48.0020.0002] # CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB ; [.3D49.0020.0002] # CUNEIFORM SIGN LAGAB TIMES NE
+121DC ; [.3D4A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD ; [.3D4B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE ; [.3D4C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF ; [.3D4D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 ; [.3D4E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 ; [.3D4F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 ; [.3D50.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 ; [.3D51.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 ; [.3D52.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 ; [.3D53.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U
+121E6 ; [.3D54.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 ; [.3D55.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 ; [.3D56.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 ; [.3D57.0020.0002] # CUNEIFORM SIGN LAGAB TIMES UD
+121EA ; [.3D58.0020.0002] # CUNEIFORM SIGN LAGAB TIMES USH
+121EB ; [.3D59.0020.0002] # CUNEIFORM SIGN LAGAB SQUARED
+121EC ; [.3D5A.0020.0002] # CUNEIFORM SIGN LAGAR
+121ED ; [.3D5B.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE
+121EE ; [.3D5C.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF ; [.3D5D.0020.0002] # CUNEIFORM SIGN LAGAR GUNU
+121F0 ; [.3D5E.0020.0002] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 ; [.3D5F.0020.0002] # CUNEIFORM SIGN LAHSHU
+121F2 ; [.3D60.0020.0002] # CUNEIFORM SIGN LAL
+121F3 ; [.3D61.0020.0002] # CUNEIFORM SIGN LAL TIMES LAL
+121F4 ; [.3D62.0020.0002] # CUNEIFORM SIGN LAM
+121F5 ; [.3D63.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR
+121F6 ; [.3D64.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 ; [.3D65.0020.0002] # CUNEIFORM SIGN LI
+121F8 ; [.3D66.0020.0002] # CUNEIFORM SIGN LIL
+121F9 ; [.3D67.0020.0002] # CUNEIFORM SIGN LIMMU2
+121FA ; [.3D68.0020.0002] # CUNEIFORM SIGN LISH
+121FB ; [.3D69.0020.0002] # CUNEIFORM SIGN LU
+121FC ; [.3D6A.0020.0002] # CUNEIFORM SIGN LU TIMES BAD
+121FD ; [.3D6B.0020.0002] # CUNEIFORM SIGN LU2
+121FE ; [.3D6C.0020.0002] # CUNEIFORM SIGN LU2 TIMES AL
+121FF ; [.3D6D.0020.0002] # CUNEIFORM SIGN LU2 TIMES BAD
+12200 ; [.3D6E.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2
+12201 ; [.3D6F.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 ; [.3D70.0020.0002] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 ; [.3D71.0020.0002] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 ; [.3D72.0020.0002] # CUNEIFORM SIGN LU2 TIMES IM
+12205 ; [.3D73.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD2
+12206 ; [.3D74.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3
+12207 ; [.3D75.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 ; [.3D76.0020.0002] # CUNEIFORM SIGN LU2 TIMES KI
+12209 ; [.3D77.0020.0002] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A ; [.3D78.0020.0002] # CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B ; [.3D79.0020.0002] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C ; [.3D7A.0020.0002] # CUNEIFORM SIGN LU2 TIMES NE
+1220D ; [.3D7B.0020.0002] # CUNEIFORM SIGN LU2 TIMES NU
+1220E ; [.3D7C.0020.0002] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F ; [.3D7D.0020.0002] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 ; [.3D7E.0020.0002] # CUNEIFORM SIGN LU2 TIMES TUG2
+12211 ; [.3D7F.0020.0002] # CUNEIFORM SIGN LU2 TENU
+12212 ; [.3D80.0020.0002] # CUNEIFORM SIGN LU2 CROSSING LU2
+12213 ; [.3D81.0020.0002] # CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 ; [.3D82.0020.0002] # CUNEIFORM SIGN LU2 SQUARED
+12215 ; [.3D83.0020.0002] # CUNEIFORM SIGN LU2 SHESHIG
+12216 ; [.3D84.0020.0002] # CUNEIFORM SIGN LU3
+12217 ; [.3D85.0020.0002] # CUNEIFORM SIGN LUGAL
+12218 ; [.3D86.0020.0002] # CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 ; [.3D87.0020.0002] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A ; [.3D88.0020.0002] # CUNEIFORM SIGN LUGAL SHESHIG
+1221B ; [.3D89.0020.0002] # CUNEIFORM SIGN LUH
+1221C ; [.3D8A.0020.0002] # CUNEIFORM SIGN LUL
+1221D ; [.3D8B.0020.0002] # CUNEIFORM SIGN LUM
+1221E ; [.3D8C.0020.0002] # CUNEIFORM SIGN LUM OVER LUM
+1221F ; [.3D8D.0020.0002] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 ; [.3D8E.0020.0002] # CUNEIFORM SIGN MA
+12221 ; [.3D8F.0020.0002] # CUNEIFORM SIGN MA TIMES TAK4
+12222 ; [.3D90.0020.0002] # CUNEIFORM SIGN MA GUNU
+12223 ; [.3D91.0020.0002] # CUNEIFORM SIGN MA2
+12224 ; [.3D92.0020.0002] # CUNEIFORM SIGN MAH
+12225 ; [.3D93.0020.0002] # CUNEIFORM SIGN MAR
+12226 ; [.3D94.0020.0002] # CUNEIFORM SIGN MASH
+12227 ; [.3D95.0020.0002] # CUNEIFORM SIGN MASH2
+12228 ; [.3D96.0020.0002] # CUNEIFORM SIGN ME
+12229 ; [.3D97.0020.0002] # CUNEIFORM SIGN MES
+1222A ; [.3D98.0020.0002] # CUNEIFORM SIGN MI
+1222B ; [.3D99.0020.0002] # CUNEIFORM SIGN MIN
+1222C ; [.3D9A.0020.0002] # CUNEIFORM SIGN MU
+1222D ; [.3D9B.0020.0002] # CUNEIFORM SIGN MU OVER MU
+1222E ; [.3D9C.0020.0002] # CUNEIFORM SIGN MUG
+1222F ; [.3D9D.0020.0002] # CUNEIFORM SIGN MUG GUNU
+12230 ; [.3D9E.0020.0002] # CUNEIFORM SIGN MUNSUB
+12231 ; [.3D9F.0020.0002] # CUNEIFORM SIGN MURGU2
+12232 ; [.3DA0.0020.0002] # CUNEIFORM SIGN MUSH
+12233 ; [.3DA1.0020.0002] # CUNEIFORM SIGN MUSH TIMES A
+12234 ; [.3DA2.0020.0002] # CUNEIFORM SIGN MUSH TIMES KUR
+12235 ; [.3DA3.0020.0002] # CUNEIFORM SIGN MUSH TIMES ZA
+12236 ; [.3DA4.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH
+12237 ; [.3DA5.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 ; [.3DA6.0020.0002] # CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 ; [.3DA7.0020.0002] # CUNEIFORM SIGN MUSH3
+1223A ; [.3DA8.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A
+1223B ; [.3DA9.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C ; [.3DAA.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES DI
+1223D ; [.3DAB.0020.0002] # CUNEIFORM SIGN MUSH3 GUNU
+1223E ; [.3DAC.0020.0002] # CUNEIFORM SIGN NA
+1223F ; [.3DAD.0020.0002] # CUNEIFORM SIGN NA2
+12240 ; [.3DAE.0020.0002] # CUNEIFORM SIGN NAGA
+12241 ; [.3DAF.0020.0002] # CUNEIFORM SIGN NAGA INVERTED
+12242 ; [.3DB0.0020.0002] # CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 ; [.3DB1.0020.0002] # CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 ; [.3DB2.0020.0002] # CUNEIFORM SIGN NAGAR
+12245 ; [.3DB3.0020.0002] # CUNEIFORM SIGN NAM NUTILLU
+12246 ; [.3DB4.0020.0002] # CUNEIFORM SIGN NAM
+12247 ; [.3DB5.0020.0002] # CUNEIFORM SIGN NAM2
+12248 ; [.3DB6.0020.0002] # CUNEIFORM SIGN NE
+12249 ; [.3DB7.0020.0002] # CUNEIFORM SIGN NE TIMES A
+1224A ; [.3DB8.0020.0002] # CUNEIFORM SIGN NE TIMES UD
+1224B ; [.3DB9.0020.0002] # CUNEIFORM SIGN NE SHESHIG
+1224C ; [.3DBA.0020.0002] # CUNEIFORM SIGN NI
+1224D ; [.3DBB.0020.0002] # CUNEIFORM SIGN NI TIMES E
+1224E ; [.3DBC.0020.0002] # CUNEIFORM SIGN NI2
+1224F ; [.3DBD.0020.0002] # CUNEIFORM SIGN NIM
+12250 ; [.3DBE.0020.0002] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 ; [.3DBF.0020.0002] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 ; [.3DC0.0020.0002] # CUNEIFORM SIGN NINDA2
+12253 ; [.3DC1.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES AN
+12254 ; [.3DC2.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 ; [.3DC3.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 ; [.3DC4.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 ; [.3DC5.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 ; [.3DC6.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NE
+12259 ; [.3DC7.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A ; [.3DC8.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B ; [.3DC9.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C ; [.3DCA.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D ; [.3DCB.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E ; [.3DCC.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F ; [.3DCD.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES USH
+12260 ; [.3DCE.0020.0002] # CUNEIFORM SIGN NISAG
+12261 ; [.3DCF.0020.0002] # CUNEIFORM SIGN NU
+12262 ; [.3DD0.0020.0002] # CUNEIFORM SIGN NU11
+122D4 ; [.3DD1.0020.0002] # CUNEIFORM SIGN SHIR TENU
+122D5 ; [.3DD2.0020.0002] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+12263 ; [.3DD3.0020.0002] # CUNEIFORM SIGN NUN
+12264 ; [.3DD4.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 ; [.3DD5.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 ; [.3DD6.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 ; [.3DD7.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 ; [.3DD8.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 ; [.3DD9.0020.0002] # CUNEIFORM SIGN NUN TENU
+1226A ; [.3DDA.0020.0002] # CUNEIFORM SIGN NUN OVER NUN
+1226B ; [.3DDB.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN
+1226C ; [.3DDC.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D ; [.3DDD.0020.0002] # CUNEIFORM SIGN NUNUZ
+1226E ; [.3DDE.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F ; [.3DDF.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 ; [.3DE0.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 ; [.3DE1.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 ; [.3DE2.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 ; [.3DE3.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 ; [.3DE4.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 ; [.3DE5.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 ; [.3DE6.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 ; [.3DE7.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 ; [.3DE8.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 ; [.3DE9.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A ; [.3DEA.0020.0002] # CUNEIFORM SIGN PA
+1227B ; [.3DEB.0020.0002] # CUNEIFORM SIGN PAD
+1227C ; [.3DEC.0020.0002] # CUNEIFORM SIGN PAN
+1227D ; [.3DED.0020.0002] # CUNEIFORM SIGN PAP
+1227E ; [.3DEE.0020.0002] # CUNEIFORM SIGN PESH2
+1227F ; [.3DEF.0020.0002] # CUNEIFORM SIGN PI
+12280 ; [.3DF0.0020.0002] # CUNEIFORM SIGN PI TIMES A
+12281 ; [.3DF1.0020.0002] # CUNEIFORM SIGN PI TIMES AB
+12282 ; [.3DF2.0020.0002] # CUNEIFORM SIGN PI TIMES BI
+12283 ; [.3DF3.0020.0002] # CUNEIFORM SIGN PI TIMES BU
+12284 ; [.3DF4.0020.0002] # CUNEIFORM SIGN PI TIMES E
+12285 ; [.3DF5.0020.0002] # CUNEIFORM SIGN PI TIMES I
+12286 ; [.3DF6.0020.0002] # CUNEIFORM SIGN PI TIMES IB
+12287 ; [.3DF7.0020.0002] # CUNEIFORM SIGN PI TIMES U
+12288 ; [.3DF8.0020.0002] # CUNEIFORM SIGN PI TIMES U2
+12289 ; [.3DF9.0020.0002] # CUNEIFORM SIGN PI CROSSING PI
+1228A ; [.3DFA.0020.0002] # CUNEIFORM SIGN PIRIG
+1228B ; [.3DFB.0020.0002] # CUNEIFORM SIGN PIRIG TIMES KAL
+1228C ; [.3DFC.0020.0002] # CUNEIFORM SIGN PIRIG TIMES UD
+1228D ; [.3DFD.0020.0002] # CUNEIFORM SIGN PIRIG TIMES ZA
+1228E ; [.3DFE.0020.0002] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F ; [.3DFF.0020.0002] # CUNEIFORM SIGN RA
+12290 ; [.3E00.0020.0002] # CUNEIFORM SIGN RAB
+12291 ; [.3E01.0020.0002] # CUNEIFORM SIGN RI
+12292 ; [.3E02.0020.0002] # CUNEIFORM SIGN RU
+12293 ; [.3E03.0020.0002] # CUNEIFORM SIGN SA
+12294 ; [.3E04.0020.0002] # CUNEIFORM SIGN SAG NUTILLU
+12295 ; [.3E05.0020.0002] # CUNEIFORM SIGN SAG
+12296 ; [.3E06.0020.0002] # CUNEIFORM SIGN SAG TIMES A
+12297 ; [.3E07.0020.0002] # CUNEIFORM SIGN SAG TIMES DU
+12298 ; [.3E08.0020.0002] # CUNEIFORM SIGN SAG TIMES DUB
+12299 ; [.3E09.0020.0002] # CUNEIFORM SIGN SAG TIMES HA
+1229A ; [.3E0A.0020.0002] # CUNEIFORM SIGN SAG TIMES KAK
+1229B ; [.3E0B.0020.0002] # CUNEIFORM SIGN SAG TIMES KUR
+1229C ; [.3E0C.0020.0002] # CUNEIFORM SIGN SAG TIMES LUM
+1229D ; [.3E0D.0020.0002] # CUNEIFORM SIGN SAG TIMES MI
+1229E ; [.3E0E.0020.0002] # CUNEIFORM SIGN SAG TIMES NUN
+1229F ; [.3E0F.0020.0002] # CUNEIFORM SIGN SAG TIMES SAL
+122A0 ; [.3E10.0020.0002] # CUNEIFORM SIGN SAG TIMES SHID
+122A1 ; [.3E11.0020.0002] # CUNEIFORM SIGN SAG TIMES TAB
+122A2 ; [.3E12.0020.0002] # CUNEIFORM SIGN SAG TIMES U2
+122A3 ; [.3E13.0020.0002] # CUNEIFORM SIGN SAG TIMES UB
+122A4 ; [.3E14.0020.0002] # CUNEIFORM SIGN SAG TIMES UM
+122A5 ; [.3E15.0020.0002] # CUNEIFORM SIGN SAG TIMES UR
+122A6 ; [.3E16.0020.0002] # CUNEIFORM SIGN SAG TIMES USH
+122A7 ; [.3E17.0020.0002] # CUNEIFORM SIGN SAG OVER SAG
+122A8 ; [.3E18.0020.0002] # CUNEIFORM SIGN SAG GUNU
+122A9 ; [.3E19.0020.0002] # CUNEIFORM SIGN SAL
+122AA ; [.3E1A.0020.0002] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB ; [.3E1B.0020.0002] # CUNEIFORM SIGN SANGA2
+122AC ; [.3E1C.0020.0002] # CUNEIFORM SIGN SAR
+122AD ; [.3E1D.0020.0002] # CUNEIFORM SIGN SHA
+122AE ; [.3E1E.0020.0002] # CUNEIFORM SIGN SHA3
+122AF ; [.3E1F.0020.0002] # CUNEIFORM SIGN SHA3 TIMES A
+122B0 ; [.3E20.0020.0002] # CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 ; [.3E21.0020.0002] # CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 ; [.3E22.0020.0002] # CUNEIFORM SIGN SHA3 TIMES NE
+122B3 ; [.3E23.0020.0002] # CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 ; [.3E24.0020.0002] # CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 ; [.3E25.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U
+122B6 ; [.3E26.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 ; [.3E27.0020.0002] # CUNEIFORM SIGN SHA6
+122B8 ; [.3E28.0020.0002] # CUNEIFORM SIGN SHAB6
+122B9 ; [.3E29.0020.0002] # CUNEIFORM SIGN SHAR2
+122BA ; [.3E2A.0020.0002] # CUNEIFORM SIGN SHE
+122BB ; [.3E2B.0020.0002] # CUNEIFORM SIGN SHE HU
+122BC ; [.3E2C.0020.0002] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD ; [.3E2D.0020.0002] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE ; [.3E2E.0020.0002] # CUNEIFORM SIGN SHEG9
+122BF ; [.3E2F.0020.0002] # CUNEIFORM SIGN SHEN
+122C0 ; [.3E30.0020.0002] # CUNEIFORM SIGN SHESH
+122C1 ; [.3E31.0020.0002] # CUNEIFORM SIGN SHESH2
+122C2 ; [.3E32.0020.0002] # CUNEIFORM SIGN SHESHLAM
+122C3 ; [.3E33.0020.0002] # CUNEIFORM SIGN SHID
+122C4 ; [.3E34.0020.0002] # CUNEIFORM SIGN SHID TIMES A
+122C5 ; [.3E35.0020.0002] # CUNEIFORM SIGN SHID TIMES IM
+122C6 ; [.3E36.0020.0002] # CUNEIFORM SIGN SHIM
+122C7 ; [.3E37.0020.0002] # CUNEIFORM SIGN SHIM TIMES A
+122C8 ; [.3E38.0020.0002] # CUNEIFORM SIGN SHIM TIMES BAL
+122C9 ; [.3E39.0020.0002] # CUNEIFORM SIGN SHIM TIMES BULUG
+122CA ; [.3E3A.0020.0002] # CUNEIFORM SIGN SHIM TIMES DIN
+122CB ; [.3E3B.0020.0002] # CUNEIFORM SIGN SHIM TIMES GAR
+122CC ; [.3E3C.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI
+122CD ; [.3E3D.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE ; [.3E3E.0020.0002] # CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF ; [.3E3F.0020.0002] # CUNEIFORM SIGN SHIM TIMES LUL
+122D0 ; [.3E40.0020.0002] # CUNEIFORM SIGN SHIM TIMES MUG
+122D1 ; [.3E41.0020.0002] # CUNEIFORM SIGN SHIM TIMES SAL
+122D2 ; [.3E42.0020.0002] # CUNEIFORM SIGN SHINIG
+122D3 ; [.3E43.0020.0002] # CUNEIFORM SIGN SHIR
+122D6 ; [.3E44.0020.0002] # CUNEIFORM SIGN SHITA
+122D7 ; [.3E45.0020.0002] # CUNEIFORM SIGN SHU
+122D8 ; [.3E46.0020.0002] # CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 ; [.3E47.0020.0002] # CUNEIFORM SIGN SHU2
+122DA ; [.3E48.0020.0002] # CUNEIFORM SIGN SHUBUR
+122DB ; [.3E49.0020.0002] # CUNEIFORM SIGN SI
+122DC ; [.3E4A.0020.0002] # CUNEIFORM SIGN SI GUNU
+122DD ; [.3E4B.0020.0002] # CUNEIFORM SIGN SIG
+122DE ; [.3E4C.0020.0002] # CUNEIFORM SIGN SIG4
+122DF ; [.3E4D.0020.0002] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 ; [.3E4E.0020.0002] # CUNEIFORM SIGN SIK2
+122E1 ; [.3E4F.0020.0002] # CUNEIFORM SIGN SILA3
+122E2 ; [.3E50.0020.0002] # CUNEIFORM SIGN SU
+122E3 ; [.3E51.0020.0002] # CUNEIFORM SIGN SU OVER SU
+122E4 ; [.3E52.0020.0002] # CUNEIFORM SIGN SUD
+122E5 ; [.3E53.0020.0002] # CUNEIFORM SIGN SUD2
+122E6 ; [.3E54.0020.0002] # CUNEIFORM SIGN SUHUR
+122E7 ; [.3E55.0020.0002] # CUNEIFORM SIGN SUM
+122E8 ; [.3E56.0020.0002] # CUNEIFORM SIGN SUMASH
+122E9 ; [.3E57.0020.0002] # CUNEIFORM SIGN SUR
+122EA ; [.3E58.0020.0002] # CUNEIFORM SIGN SUR9
+122EB ; [.3E59.0020.0002] # CUNEIFORM SIGN TA
+122EC ; [.3E5A.0020.0002] # CUNEIFORM SIGN TA ASTERISK
+122ED ; [.3E5B.0020.0002] # CUNEIFORM SIGN TA TIMES HI
+122EE ; [.3E5C.0020.0002] # CUNEIFORM SIGN TA TIMES MI
+122EF ; [.3E5D.0020.0002] # CUNEIFORM SIGN TA GUNU
+122F0 ; [.3E5E.0020.0002] # CUNEIFORM SIGN TAB
+122F1 ; [.3E5F.0020.0002] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 ; [.3E60.0020.0002] # CUNEIFORM SIGN TAB SQUARED
+122F3 ; [.3E61.0020.0002] # CUNEIFORM SIGN TAG
+122F4 ; [.3E62.0020.0002] # CUNEIFORM SIGN TAG TIMES BI
+122F5 ; [.3E63.0020.0002] # CUNEIFORM SIGN TAG TIMES GUD
+122F6 ; [.3E64.0020.0002] # CUNEIFORM SIGN TAG TIMES SHE
+122F7 ; [.3E65.0020.0002] # CUNEIFORM SIGN TAG TIMES SHU
+122F8 ; [.3E66.0020.0002] # CUNEIFORM SIGN TAG TIMES TUG2
+122F9 ; [.3E67.0020.0002] # CUNEIFORM SIGN TAG TIMES UD
+122FA ; [.3E68.0020.0002] # CUNEIFORM SIGN TAK4
+122FB ; [.3E69.0020.0002] # CUNEIFORM SIGN TAR
+122FC ; [.3E6A.0020.0002] # CUNEIFORM SIGN TE
+122FD ; [.3E6B.0020.0002] # CUNEIFORM SIGN TE GUNU
+122FE ; [.3E6C.0020.0002] # CUNEIFORM SIGN TI
+122FF ; [.3E6D.0020.0002] # CUNEIFORM SIGN TI TENU
+12300 ; [.3E6E.0020.0002] # CUNEIFORM SIGN TIL
+12301 ; [.3E6F.0020.0002] # CUNEIFORM SIGN TIR
+12302 ; [.3E70.0020.0002] # CUNEIFORM SIGN TIR TIMES TAK4
+12303 ; [.3E71.0020.0002] # CUNEIFORM SIGN TIR OVER TIR
+12304 ; [.3E72.0020.0002] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 ; [.3E73.0020.0002] # CUNEIFORM SIGN TU
+12306 ; [.3E74.0020.0002] # CUNEIFORM SIGN TUG2
+12307 ; [.3E75.0020.0002] # CUNEIFORM SIGN TUK
+12308 ; [.3E76.0020.0002] # CUNEIFORM SIGN TUM
+12309 ; [.3E77.0020.0002] # CUNEIFORM SIGN TUR
+1230A ; [.3E78.0020.0002] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B ; [.3E79.0020.0002] # CUNEIFORM SIGN U
+1230C ; [.3E7A.0020.0002] # CUNEIFORM SIGN U GUD
+1230D ; [.3E7B.0020.0002] # CUNEIFORM SIGN U U U
+1230E ; [.3E7C.0020.0002] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F ; [.3E7D.0020.0002] # CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 ; [.3E7E.0020.0002] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 ; [.3E7F.0020.0002] # CUNEIFORM SIGN U2
+12312 ; [.3E80.0020.0002] # CUNEIFORM SIGN UB
+12313 ; [.3E81.0020.0002] # CUNEIFORM SIGN UD
+12314 ; [.3E82.0020.0002] # CUNEIFORM SIGN UD KUSHU2
+12315 ; [.3E83.0020.0002] # CUNEIFORM SIGN UD TIMES BAD
+12316 ; [.3E84.0020.0002] # CUNEIFORM SIGN UD TIMES MI
+12317 ; [.3E85.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 ; [.3E86.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 ; [.3E87.0020.0002] # CUNEIFORM SIGN UD GUNU
+1231A ; [.3E88.0020.0002] # CUNEIFORM SIGN UD SHESHIG
+1231B ; [.3E89.0020.0002] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C ; [.3E8A.0020.0002] # CUNEIFORM SIGN UDUG
+1231D ; [.3E8B.0020.0002] # CUNEIFORM SIGN UM
+1231E ; [.3E8C.0020.0002] # CUNEIFORM SIGN UM TIMES LAGAB
+1231F ; [.3E8D.0020.0002] # CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 ; [.3E8E.0020.0002] # CUNEIFORM SIGN UM TIMES SHA3
+12321 ; [.3E8F.0020.0002] # CUNEIFORM SIGN UM TIMES U
+12322 ; [.3E90.0020.0002] # CUNEIFORM SIGN UMBIN
+12323 ; [.3E91.0020.0002] # CUNEIFORM SIGN UMUM
+12324 ; [.3E92.0020.0002] # CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 ; [.3E93.0020.0002] # CUNEIFORM SIGN UMUM TIMES PA
+12326 ; [.3E94.0020.0002] # CUNEIFORM SIGN UN
+12327 ; [.3E95.0020.0002] # CUNEIFORM SIGN UN GUNU
+12328 ; [.3E96.0020.0002] # CUNEIFORM SIGN UR
+12329 ; [.3E97.0020.0002] # CUNEIFORM SIGN UR CROSSING UR
+1232A ; [.3E98.0020.0002] # CUNEIFORM SIGN UR SHESHIG
+1232B ; [.3E99.0020.0002] # CUNEIFORM SIGN UR2
+1232C ; [.3E9A.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D ; [.3E9B.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E ; [.3E9C.0020.0002] # CUNEIFORM SIGN UR2 TIMES AL
+1232F ; [.3E9D.0020.0002] # CUNEIFORM SIGN UR2 TIMES HA
+12330 ; [.3E9E.0020.0002] # CUNEIFORM SIGN UR2 TIMES NUN
+12331 ; [.3E9F.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2
+12332 ; [.3EA0.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 ; [.3EA1.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 ; [.3EA2.0020.0002] # CUNEIFORM SIGN UR4
+12335 ; [.3EA3.0020.0002] # CUNEIFORM SIGN URI
+12336 ; [.3EA4.0020.0002] # CUNEIFORM SIGN URI3
+12337 ; [.3EA5.0020.0002] # CUNEIFORM SIGN URU
+12338 ; [.3EA6.0020.0002] # CUNEIFORM SIGN URU TIMES A
+12339 ; [.3EA7.0020.0002] # CUNEIFORM SIGN URU TIMES ASHGAB
+1233A ; [.3EA8.0020.0002] # CUNEIFORM SIGN URU TIMES BAR
+1233B ; [.3EA9.0020.0002] # CUNEIFORM SIGN URU TIMES DUN
+1233C ; [.3EAA.0020.0002] # CUNEIFORM SIGN URU TIMES GA
+1233D ; [.3EAB.0020.0002] # CUNEIFORM SIGN URU TIMES GAL
+1233E ; [.3EAC.0020.0002] # CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F ; [.3EAD.0020.0002] # CUNEIFORM SIGN URU TIMES GAR
+12340 ; [.3EAE.0020.0002] # CUNEIFORM SIGN URU TIMES GU
+12341 ; [.3EAF.0020.0002] # CUNEIFORM SIGN URU TIMES HA
+12342 ; [.3EB0.0020.0002] # CUNEIFORM SIGN URU TIMES IGI
+12343 ; [.3EB1.0020.0002] # CUNEIFORM SIGN URU TIMES IM
+12344 ; [.3EB2.0020.0002] # CUNEIFORM SIGN URU TIMES ISH
+12345 ; [.3EB3.0020.0002] # CUNEIFORM SIGN URU TIMES KI
+12346 ; [.3EB4.0020.0002] # CUNEIFORM SIGN URU TIMES LUM
+12347 ; [.3EB5.0020.0002] # CUNEIFORM SIGN URU TIMES MIN
+12348 ; [.3EB6.0020.0002] # CUNEIFORM SIGN URU TIMES PA
+12349 ; [.3EB7.0020.0002] # CUNEIFORM SIGN URU TIMES SHE
+1234A ; [.3EB8.0020.0002] # CUNEIFORM SIGN URU TIMES SIG4
+1234B ; [.3EB9.0020.0002] # CUNEIFORM SIGN URU TIMES TU
+1234C ; [.3EBA.0020.0002] # CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D ; [.3EBB.0020.0002] # CUNEIFORM SIGN URU TIMES UD
+1234E ; [.3EBC.0020.0002] # CUNEIFORM SIGN URU TIMES URUDA
+1234F ; [.3EBD.0020.0002] # CUNEIFORM SIGN URUDA
+12350 ; [.3EBE.0020.0002] # CUNEIFORM SIGN URUDA TIMES U
+12351 ; [.3EBF.0020.0002] # CUNEIFORM SIGN USH
+12352 ; [.3EC0.0020.0002] # CUNEIFORM SIGN USH TIMES A
+12353 ; [.3EC1.0020.0002] # CUNEIFORM SIGN USH TIMES KU
+12354 ; [.3EC2.0020.0002] # CUNEIFORM SIGN USH TIMES KUR
+12355 ; [.3EC3.0020.0002] # CUNEIFORM SIGN USH TIMES TAK4
+12356 ; [.3EC4.0020.0002] # CUNEIFORM SIGN USHX
+12357 ; [.3EC5.0020.0002] # CUNEIFORM SIGN USH2
+12358 ; [.3EC6.0020.0002] # CUNEIFORM SIGN USHUMX
+12359 ; [.3EC7.0020.0002] # CUNEIFORM SIGN UTUKI
+1235A ; [.3EC8.0020.0002] # CUNEIFORM SIGN UZ3
+1235B ; [.3EC9.0020.0002] # CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C ; [.3ECA.0020.0002] # CUNEIFORM SIGN UZU
+1235D ; [.3ECB.0020.0002] # CUNEIFORM SIGN ZA
+1235E ; [.3ECC.0020.0002] # CUNEIFORM SIGN ZA TENU
+1235F ; [.3ECD.0020.0002] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 ; [.3ECE.0020.0002] # CUNEIFORM SIGN ZAG
+12361 ; [.3ECF.0020.0002] # CUNEIFORM SIGN ZAMX
+12362 ; [.3ED0.0020.0002] # CUNEIFORM SIGN ZE2
+12363 ; [.3ED1.0020.0002] # CUNEIFORM SIGN ZI
+12364 ; [.3ED2.0020.0002] # CUNEIFORM SIGN ZI OVER ZI
+12365 ; [.3ED3.0020.0002] # CUNEIFORM SIGN ZI3
+12366 ; [.3ED4.0020.0002] # CUNEIFORM SIGN ZIB
+12367 ; [.3ED5.0020.0002] # CUNEIFORM SIGN ZIB KABA TENU
+12368 ; [.3ED6.0020.0002] # CUNEIFORM SIGN ZIG
+12369 ; [.3ED7.0020.0002] # CUNEIFORM SIGN ZIZ2
+1236A ; [.3ED8.0020.0002] # CUNEIFORM SIGN ZU
+1236B ; [.3ED9.0020.0002] # CUNEIFORM SIGN ZU5
+1236C ; [.3EDA.0020.0002] # CUNEIFORM SIGN ZU5 TIMES A
+1236D ; [.3EDB.0020.0002] # CUNEIFORM SIGN ZUBUR
+1236E ; [.3EDC.0020.0002] # CUNEIFORM SIGN ZUM
+13000 ; [.3EDD.0020.0002] # EGYPTIAN HIEROGLYPH A001
+13001 ; [.3EDE.0020.0002] # EGYPTIAN HIEROGLYPH A002
+13002 ; [.3EDF.0020.0002] # EGYPTIAN HIEROGLYPH A003
+13003 ; [.3EE0.0020.0002] # EGYPTIAN HIEROGLYPH A004
+13004 ; [.3EE1.0020.0002] # EGYPTIAN HIEROGLYPH A005
+13005 ; [.3EE2.0020.0002] # EGYPTIAN HIEROGLYPH A005A
+13006 ; [.3EE3.0020.0002] # EGYPTIAN HIEROGLYPH A006
+13007 ; [.3EE4.0020.0002] # EGYPTIAN HIEROGLYPH A006A
+13008 ; [.3EE5.0020.0002] # EGYPTIAN HIEROGLYPH A006B
+13009 ; [.3EE6.0020.0002] # EGYPTIAN HIEROGLYPH A007
+1300A ; [.3EE7.0020.0002] # EGYPTIAN HIEROGLYPH A008
+1300B ; [.3EE8.0020.0002] # EGYPTIAN HIEROGLYPH A009
+1300C ; [.3EE9.0020.0002] # EGYPTIAN HIEROGLYPH A010
+1300D ; [.3EEA.0020.0002] # EGYPTIAN HIEROGLYPH A011
+1300E ; [.3EEB.0020.0002] # EGYPTIAN HIEROGLYPH A012
+1300F ; [.3EEC.0020.0002] # EGYPTIAN HIEROGLYPH A013
+13010 ; [.3EED.0020.0002] # EGYPTIAN HIEROGLYPH A014
+13011 ; [.3EEE.0020.0002] # EGYPTIAN HIEROGLYPH A014A
+13012 ; [.3EEF.0020.0002] # EGYPTIAN HIEROGLYPH A015
+13013 ; [.3EF0.0020.0002] # EGYPTIAN HIEROGLYPH A016
+13014 ; [.3EF1.0020.0002] # EGYPTIAN HIEROGLYPH A017
+13015 ; [.3EF2.0020.0002] # EGYPTIAN HIEROGLYPH A017A
+13016 ; [.3EF3.0020.0002] # EGYPTIAN HIEROGLYPH A018
+13017 ; [.3EF4.0020.0002] # EGYPTIAN HIEROGLYPH A019
+13018 ; [.3EF5.0020.0002] # EGYPTIAN HIEROGLYPH A020
+13019 ; [.3EF6.0020.0002] # EGYPTIAN HIEROGLYPH A021
+1301A ; [.3EF7.0020.0002] # EGYPTIAN HIEROGLYPH A022
+1301B ; [.3EF8.0020.0002] # EGYPTIAN HIEROGLYPH A023
+1301C ; [.3EF9.0020.0002] # EGYPTIAN HIEROGLYPH A024
+1301D ; [.3EFA.0020.0002] # EGYPTIAN HIEROGLYPH A025
+1301E ; [.3EFB.0020.0002] # EGYPTIAN HIEROGLYPH A026
+1301F ; [.3EFC.0020.0002] # EGYPTIAN HIEROGLYPH A027
+13020 ; [.3EFD.0020.0002] # EGYPTIAN HIEROGLYPH A028
+13021 ; [.3EFE.0020.0002] # EGYPTIAN HIEROGLYPH A029
+13022 ; [.3EFF.0020.0002] # EGYPTIAN HIEROGLYPH A030
+13023 ; [.3F00.0020.0002] # EGYPTIAN HIEROGLYPH A031
+13024 ; [.3F01.0020.0002] # EGYPTIAN HIEROGLYPH A032
+13025 ; [.3F02.0020.0002] # EGYPTIAN HIEROGLYPH A032A
+13026 ; [.3F03.0020.0002] # EGYPTIAN HIEROGLYPH A033
+13027 ; [.3F04.0020.0002] # EGYPTIAN HIEROGLYPH A034
+13028 ; [.3F05.0020.0002] # EGYPTIAN HIEROGLYPH A035
+13029 ; [.3F06.0020.0002] # EGYPTIAN HIEROGLYPH A036
+1302A ; [.3F07.0020.0002] # EGYPTIAN HIEROGLYPH A037
+1302B ; [.3F08.0020.0002] # EGYPTIAN HIEROGLYPH A038
+1302C ; [.3F09.0020.0002] # EGYPTIAN HIEROGLYPH A039
+1302D ; [.3F0A.0020.0002] # EGYPTIAN HIEROGLYPH A040
+1302E ; [.3F0B.0020.0002] # EGYPTIAN HIEROGLYPH A040A
+1302F ; [.3F0C.0020.0002] # EGYPTIAN HIEROGLYPH A041
+13030 ; [.3F0D.0020.0002] # EGYPTIAN HIEROGLYPH A042
+13031 ; [.3F0E.0020.0002] # EGYPTIAN HIEROGLYPH A042A
+13032 ; [.3F0F.0020.0002] # EGYPTIAN HIEROGLYPH A043
+13033 ; [.3F10.0020.0002] # EGYPTIAN HIEROGLYPH A043A
+13034 ; [.3F11.0020.0002] # EGYPTIAN HIEROGLYPH A044
+13035 ; [.3F12.0020.0002] # EGYPTIAN HIEROGLYPH A045
+13036 ; [.3F13.0020.0002] # EGYPTIAN HIEROGLYPH A045A
+13037 ; [.3F14.0020.0002] # EGYPTIAN HIEROGLYPH A046
+13038 ; [.3F15.0020.0002] # EGYPTIAN HIEROGLYPH A047
+13039 ; [.3F16.0020.0002] # EGYPTIAN HIEROGLYPH A048
+1303A ; [.3F17.0020.0002] # EGYPTIAN HIEROGLYPH A049
+1303B ; [.3F18.0020.0002] # EGYPTIAN HIEROGLYPH A050
+1303C ; [.3F19.0020.0002] # EGYPTIAN HIEROGLYPH A051
+1303D ; [.3F1A.0020.0002] # EGYPTIAN HIEROGLYPH A052
+1303E ; [.3F1B.0020.0002] # EGYPTIAN HIEROGLYPH A053
+1303F ; [.3F1C.0020.0002] # EGYPTIAN HIEROGLYPH A054
+13040 ; [.3F1D.0020.0002] # EGYPTIAN HIEROGLYPH A055
+13041 ; [.3F1E.0020.0002] # EGYPTIAN HIEROGLYPH A056
+13042 ; [.3F1F.0020.0002] # EGYPTIAN HIEROGLYPH A057
+13043 ; [.3F20.0020.0002] # EGYPTIAN HIEROGLYPH A058
+13044 ; [.3F21.0020.0002] # EGYPTIAN HIEROGLYPH A059
+13045 ; [.3F22.0020.0002] # EGYPTIAN HIEROGLYPH A060
+13046 ; [.3F23.0020.0002] # EGYPTIAN HIEROGLYPH A061
+13047 ; [.3F24.0020.0002] # EGYPTIAN HIEROGLYPH A062
+13048 ; [.3F25.0020.0002] # EGYPTIAN HIEROGLYPH A063
+13049 ; [.3F26.0020.0002] # EGYPTIAN HIEROGLYPH A064
+1304A ; [.3F27.0020.0002] # EGYPTIAN HIEROGLYPH A065
+1304B ; [.3F28.0020.0002] # EGYPTIAN HIEROGLYPH A066
+1304C ; [.3F29.0020.0002] # EGYPTIAN HIEROGLYPH A067
+1304D ; [.3F2A.0020.0002] # EGYPTIAN HIEROGLYPH A068
+1304E ; [.3F2B.0020.0002] # EGYPTIAN HIEROGLYPH A069
+1304F ; [.3F2C.0020.0002] # EGYPTIAN HIEROGLYPH A070
+13050 ; [.3F2D.0020.0002] # EGYPTIAN HIEROGLYPH B001
+13051 ; [.3F2E.0020.0002] # EGYPTIAN HIEROGLYPH B002
+13052 ; [.3F2F.0020.0002] # EGYPTIAN HIEROGLYPH B003
+13053 ; [.3F30.0020.0002] # EGYPTIAN HIEROGLYPH B004
+13054 ; [.3F31.0020.0002] # EGYPTIAN HIEROGLYPH B005
+13055 ; [.3F32.0020.0002] # EGYPTIAN HIEROGLYPH B005A
+13056 ; [.3F33.0020.0002] # EGYPTIAN HIEROGLYPH B006
+13057 ; [.3F34.0020.0002] # EGYPTIAN HIEROGLYPH B007
+13058 ; [.3F35.0020.0002] # EGYPTIAN HIEROGLYPH B008
+13059 ; [.3F36.0020.0002] # EGYPTIAN HIEROGLYPH B009
+1305A ; [.3F37.0020.0002] # EGYPTIAN HIEROGLYPH C001
+1305B ; [.3F38.0020.0002] # EGYPTIAN HIEROGLYPH C002
+1305C ; [.3F39.0020.0002] # EGYPTIAN HIEROGLYPH C002A
+1305D ; [.3F3A.0020.0002] # EGYPTIAN HIEROGLYPH C002B
+1305E ; [.3F3B.0020.0002] # EGYPTIAN HIEROGLYPH C002C
+1305F ; [.3F3C.0020.0002] # EGYPTIAN HIEROGLYPH C003
+13060 ; [.3F3D.0020.0002] # EGYPTIAN HIEROGLYPH C004
+13061 ; [.3F3E.0020.0002] # EGYPTIAN HIEROGLYPH C005
+13062 ; [.3F3F.0020.0002] # EGYPTIAN HIEROGLYPH C006
+13063 ; [.3F40.0020.0002] # EGYPTIAN HIEROGLYPH C007
+13064 ; [.3F41.0020.0002] # EGYPTIAN HIEROGLYPH C008
+13065 ; [.3F42.0020.0002] # EGYPTIAN HIEROGLYPH C009
+13066 ; [.3F43.0020.0002] # EGYPTIAN HIEROGLYPH C010
+13067 ; [.3F44.0020.0002] # EGYPTIAN HIEROGLYPH C010A
+13068 ; [.3F45.0020.0002] # EGYPTIAN HIEROGLYPH C011
+13069 ; [.3F46.0020.0002] # EGYPTIAN HIEROGLYPH C012
+1306A ; [.3F47.0020.0002] # EGYPTIAN HIEROGLYPH C013
+1306B ; [.3F48.0020.0002] # EGYPTIAN HIEROGLYPH C014
+1306C ; [.3F49.0020.0002] # EGYPTIAN HIEROGLYPH C015
+1306D ; [.3F4A.0020.0002] # EGYPTIAN HIEROGLYPH C016
+1306E ; [.3F4B.0020.0002] # EGYPTIAN HIEROGLYPH C017
+1306F ; [.3F4C.0020.0002] # EGYPTIAN HIEROGLYPH C018
+13070 ; [.3F4D.0020.0002] # EGYPTIAN HIEROGLYPH C019
+13071 ; [.3F4E.0020.0002] # EGYPTIAN HIEROGLYPH C020
+13072 ; [.3F4F.0020.0002] # EGYPTIAN HIEROGLYPH C021
+13073 ; [.3F50.0020.0002] # EGYPTIAN HIEROGLYPH C022
+13074 ; [.3F51.0020.0002] # EGYPTIAN HIEROGLYPH C023
+13075 ; [.3F52.0020.0002] # EGYPTIAN HIEROGLYPH C024
+13076 ; [.3F53.0020.0002] # EGYPTIAN HIEROGLYPH D001
+13077 ; [.3F54.0020.0002] # EGYPTIAN HIEROGLYPH D002
+13078 ; [.3F55.0020.0002] # EGYPTIAN HIEROGLYPH D003
+13079 ; [.3F56.0020.0002] # EGYPTIAN HIEROGLYPH D004
+1307A ; [.3F57.0020.0002] # EGYPTIAN HIEROGLYPH D005
+1307B ; [.3F58.0020.0002] # EGYPTIAN HIEROGLYPH D006
+1307C ; [.3F59.0020.0002] # EGYPTIAN HIEROGLYPH D007
+1307D ; [.3F5A.0020.0002] # EGYPTIAN HIEROGLYPH D008
+1307E ; [.3F5B.0020.0002] # EGYPTIAN HIEROGLYPH D008A
+1307F ; [.3F5C.0020.0002] # EGYPTIAN HIEROGLYPH D009
+13080 ; [.3F5D.0020.0002] # EGYPTIAN HIEROGLYPH D010
+13081 ; [.3F5E.0020.0002] # EGYPTIAN HIEROGLYPH D011
+13082 ; [.3F5F.0020.0002] # EGYPTIAN HIEROGLYPH D012
+13083 ; [.3F60.0020.0002] # EGYPTIAN HIEROGLYPH D013
+13084 ; [.3F61.0020.0002] # EGYPTIAN HIEROGLYPH D014
+13085 ; [.3F62.0020.0002] # EGYPTIAN HIEROGLYPH D015
+13086 ; [.3F63.0020.0002] # EGYPTIAN HIEROGLYPH D016
+13087 ; [.3F64.0020.0002] # EGYPTIAN HIEROGLYPH D017
+13088 ; [.3F65.0020.0002] # EGYPTIAN HIEROGLYPH D018
+13089 ; [.3F66.0020.0002] # EGYPTIAN HIEROGLYPH D019
+1308A ; [.3F67.0020.0002] # EGYPTIAN HIEROGLYPH D020
+1308B ; [.3F68.0020.0002] # EGYPTIAN HIEROGLYPH D021
+1308C ; [.3F69.0020.0002] # EGYPTIAN HIEROGLYPH D022
+1308D ; [.3F6A.0020.0002] # EGYPTIAN HIEROGLYPH D023
+1308E ; [.3F6B.0020.0002] # EGYPTIAN HIEROGLYPH D024
+1308F ; [.3F6C.0020.0002] # EGYPTIAN HIEROGLYPH D025
+13090 ; [.3F6D.0020.0002] # EGYPTIAN HIEROGLYPH D026
+13091 ; [.3F6E.0020.0002] # EGYPTIAN HIEROGLYPH D027
+13092 ; [.3F6F.0020.0002] # EGYPTIAN HIEROGLYPH D027A
+13093 ; [.3F70.0020.0002] # EGYPTIAN HIEROGLYPH D028
+13094 ; [.3F71.0020.0002] # EGYPTIAN HIEROGLYPH D029
+13095 ; [.3F72.0020.0002] # EGYPTIAN HIEROGLYPH D030
+13096 ; [.3F73.0020.0002] # EGYPTIAN HIEROGLYPH D031
+13097 ; [.3F74.0020.0002] # EGYPTIAN HIEROGLYPH D031A
+13098 ; [.3F75.0020.0002] # EGYPTIAN HIEROGLYPH D032
+13099 ; [.3F76.0020.0002] # EGYPTIAN HIEROGLYPH D033
+1309A ; [.3F77.0020.0002] # EGYPTIAN HIEROGLYPH D034
+1309B ; [.3F78.0020.0002] # EGYPTIAN HIEROGLYPH D034A
+1309C ; [.3F79.0020.0002] # EGYPTIAN HIEROGLYPH D035
+1309D ; [.3F7A.0020.0002] # EGYPTIAN HIEROGLYPH D036
+1309E ; [.3F7B.0020.0002] # EGYPTIAN HIEROGLYPH D037
+1309F ; [.3F7C.0020.0002] # EGYPTIAN HIEROGLYPH D038
+130A0 ; [.3F7D.0020.0002] # EGYPTIAN HIEROGLYPH D039
+130A1 ; [.3F7E.0020.0002] # EGYPTIAN HIEROGLYPH D040
+130A2 ; [.3F7F.0020.0002] # EGYPTIAN HIEROGLYPH D041
+130A3 ; [.3F80.0020.0002] # EGYPTIAN HIEROGLYPH D042
+130A4 ; [.3F81.0020.0002] # EGYPTIAN HIEROGLYPH D043
+130A5 ; [.3F82.0020.0002] # EGYPTIAN HIEROGLYPH D044
+130A6 ; [.3F83.0020.0002] # EGYPTIAN HIEROGLYPH D045
+130A7 ; [.3F84.0020.0002] # EGYPTIAN HIEROGLYPH D046
+130A8 ; [.3F85.0020.0002] # EGYPTIAN HIEROGLYPH D046A
+130A9 ; [.3F86.0020.0002] # EGYPTIAN HIEROGLYPH D047
+130AA ; [.3F87.0020.0002] # EGYPTIAN HIEROGLYPH D048
+130AB ; [.3F88.0020.0002] # EGYPTIAN HIEROGLYPH D048A
+130AC ; [.3F89.0020.0002] # EGYPTIAN HIEROGLYPH D049
+130AD ; [.3F8A.0020.0002] # EGYPTIAN HIEROGLYPH D050
+130AE ; [.3F8B.0020.0002] # EGYPTIAN HIEROGLYPH D050A
+130AF ; [.3F8C.0020.0002] # EGYPTIAN HIEROGLYPH D050B
+130B0 ; [.3F8D.0020.0002] # EGYPTIAN HIEROGLYPH D050C
+130B1 ; [.3F8E.0020.0002] # EGYPTIAN HIEROGLYPH D050D
+130B2 ; [.3F8F.0020.0002] # EGYPTIAN HIEROGLYPH D050E
+130B3 ; [.3F90.0020.0002] # EGYPTIAN HIEROGLYPH D050F
+130B4 ; [.3F91.0020.0002] # EGYPTIAN HIEROGLYPH D050G
+130B5 ; [.3F92.0020.0002] # EGYPTIAN HIEROGLYPH D050H
+130B6 ; [.3F93.0020.0002] # EGYPTIAN HIEROGLYPH D050I
+130B7 ; [.3F94.0020.0002] # EGYPTIAN HIEROGLYPH D051
+130B8 ; [.3F95.0020.0002] # EGYPTIAN HIEROGLYPH D052
+130B9 ; [.3F96.0020.0002] # EGYPTIAN HIEROGLYPH D052A
+130BA ; [.3F97.0020.0002] # EGYPTIAN HIEROGLYPH D053
+130BB ; [.3F98.0020.0002] # EGYPTIAN HIEROGLYPH D054
+130BC ; [.3F99.0020.0002] # EGYPTIAN HIEROGLYPH D054A
+130BD ; [.3F9A.0020.0002] # EGYPTIAN HIEROGLYPH D055
+130BE ; [.3F9B.0020.0002] # EGYPTIAN HIEROGLYPH D056
+130BF ; [.3F9C.0020.0002] # EGYPTIAN HIEROGLYPH D057
+130C0 ; [.3F9D.0020.0002] # EGYPTIAN HIEROGLYPH D058
+130C1 ; [.3F9E.0020.0002] # EGYPTIAN HIEROGLYPH D059
+130C2 ; [.3F9F.0020.0002] # EGYPTIAN HIEROGLYPH D060
+130C3 ; [.3FA0.0020.0002] # EGYPTIAN HIEROGLYPH D061
+130C4 ; [.3FA1.0020.0002] # EGYPTIAN HIEROGLYPH D062
+130C5 ; [.3FA2.0020.0002] # EGYPTIAN HIEROGLYPH D063
+130C6 ; [.3FA3.0020.0002] # EGYPTIAN HIEROGLYPH D064
+130C7 ; [.3FA4.0020.0002] # EGYPTIAN HIEROGLYPH D065
+130C8 ; [.3FA5.0020.0002] # EGYPTIAN HIEROGLYPH D066
+130C9 ; [.3FA6.0020.0002] # EGYPTIAN HIEROGLYPH D067
+130CA ; [.3FA7.0020.0002] # EGYPTIAN HIEROGLYPH D067A
+130CB ; [.3FA8.0020.0002] # EGYPTIAN HIEROGLYPH D067B
+130CC ; [.3FA9.0020.0002] # EGYPTIAN HIEROGLYPH D067C
+130CD ; [.3FAA.0020.0002] # EGYPTIAN HIEROGLYPH D067D
+130CE ; [.3FAB.0020.0002] # EGYPTIAN HIEROGLYPH D067E
+130CF ; [.3FAC.0020.0002] # EGYPTIAN HIEROGLYPH D067F
+130D0 ; [.3FAD.0020.0002] # EGYPTIAN HIEROGLYPH D067G
+130D1 ; [.3FAE.0020.0002] # EGYPTIAN HIEROGLYPH D067H
+130D2 ; [.3FAF.0020.0002] # EGYPTIAN HIEROGLYPH E001
+130D3 ; [.3FB0.0020.0002] # EGYPTIAN HIEROGLYPH E002
+130D4 ; [.3FB1.0020.0002] # EGYPTIAN HIEROGLYPH E003
+130D5 ; [.3FB2.0020.0002] # EGYPTIAN HIEROGLYPH E004
+130D6 ; [.3FB3.0020.0002] # EGYPTIAN HIEROGLYPH E005
+130D7 ; [.3FB4.0020.0002] # EGYPTIAN HIEROGLYPH E006
+130D8 ; [.3FB5.0020.0002] # EGYPTIAN HIEROGLYPH E007
+130D9 ; [.3FB6.0020.0002] # EGYPTIAN HIEROGLYPH E008
+130DA ; [.3FB7.0020.0002] # EGYPTIAN HIEROGLYPH E008A
+130DB ; [.3FB8.0020.0002] # EGYPTIAN HIEROGLYPH E009
+130DC ; [.3FB9.0020.0002] # EGYPTIAN HIEROGLYPH E009A
+130DD ; [.3FBA.0020.0002] # EGYPTIAN HIEROGLYPH E010
+130DE ; [.3FBB.0020.0002] # EGYPTIAN HIEROGLYPH E011
+130DF ; [.3FBC.0020.0002] # EGYPTIAN HIEROGLYPH E012
+130E0 ; [.3FBD.0020.0002] # EGYPTIAN HIEROGLYPH E013
+130E1 ; [.3FBE.0020.0002] # EGYPTIAN HIEROGLYPH E014
+130E2 ; [.3FBF.0020.0002] # EGYPTIAN HIEROGLYPH E015
+130E3 ; [.3FC0.0020.0002] # EGYPTIAN HIEROGLYPH E016
+130E4 ; [.3FC1.0020.0002] # EGYPTIAN HIEROGLYPH E016A
+130E5 ; [.3FC2.0020.0002] # EGYPTIAN HIEROGLYPH E017
+130E6 ; [.3FC3.0020.0002] # EGYPTIAN HIEROGLYPH E017A
+130E7 ; [.3FC4.0020.0002] # EGYPTIAN HIEROGLYPH E018
+130E8 ; [.3FC5.0020.0002] # EGYPTIAN HIEROGLYPH E019
+130E9 ; [.3FC6.0020.0002] # EGYPTIAN HIEROGLYPH E020
+130EA ; [.3FC7.0020.0002] # EGYPTIAN HIEROGLYPH E020A
+130EB ; [.3FC8.0020.0002] # EGYPTIAN HIEROGLYPH E021
+130EC ; [.3FC9.0020.0002] # EGYPTIAN HIEROGLYPH E022
+130ED ; [.3FCA.0020.0002] # EGYPTIAN HIEROGLYPH E023
+130EE ; [.3FCB.0020.0002] # EGYPTIAN HIEROGLYPH E024
+130EF ; [.3FCC.0020.0002] # EGYPTIAN HIEROGLYPH E025
+130F0 ; [.3FCD.0020.0002] # EGYPTIAN HIEROGLYPH E026
+130F1 ; [.3FCE.0020.0002] # EGYPTIAN HIEROGLYPH E027
+130F2 ; [.3FCF.0020.0002] # EGYPTIAN HIEROGLYPH E028
+130F3 ; [.3FD0.0020.0002] # EGYPTIAN HIEROGLYPH E028A
+130F4 ; [.3FD1.0020.0002] # EGYPTIAN HIEROGLYPH E029
+130F5 ; [.3FD2.0020.0002] # EGYPTIAN HIEROGLYPH E030
+130F6 ; [.3FD3.0020.0002] # EGYPTIAN HIEROGLYPH E031
+130F7 ; [.3FD4.0020.0002] # EGYPTIAN HIEROGLYPH E032
+130F8 ; [.3FD5.0020.0002] # EGYPTIAN HIEROGLYPH E033
+130F9 ; [.3FD6.0020.0002] # EGYPTIAN HIEROGLYPH E034
+130FA ; [.3FD7.0020.0002] # EGYPTIAN HIEROGLYPH E034A
+130FB ; [.3FD8.0020.0002] # EGYPTIAN HIEROGLYPH E036
+130FC ; [.3FD9.0020.0002] # EGYPTIAN HIEROGLYPH E037
+130FD ; [.3FDA.0020.0002] # EGYPTIAN HIEROGLYPH E038
+130FE ; [.3FDB.0020.0002] # EGYPTIAN HIEROGLYPH F001
+130FF ; [.3FDC.0020.0002] # EGYPTIAN HIEROGLYPH F001A
+13100 ; [.3FDD.0020.0002] # EGYPTIAN HIEROGLYPH F002
+13101 ; [.3FDE.0020.0002] # EGYPTIAN HIEROGLYPH F003
+13102 ; [.3FDF.0020.0002] # EGYPTIAN HIEROGLYPH F004
+13103 ; [.3FE0.0020.0002] # EGYPTIAN HIEROGLYPH F005
+13104 ; [.3FE1.0020.0002] # EGYPTIAN HIEROGLYPH F006
+13105 ; [.3FE2.0020.0002] # EGYPTIAN HIEROGLYPH F007
+13106 ; [.3FE3.0020.0002] # EGYPTIAN HIEROGLYPH F008
+13107 ; [.3FE4.0020.0002] # EGYPTIAN HIEROGLYPH F009
+13108 ; [.3FE5.0020.0002] # EGYPTIAN HIEROGLYPH F010
+13109 ; [.3FE6.0020.0002] # EGYPTIAN HIEROGLYPH F011
+1310A ; [.3FE7.0020.0002] # EGYPTIAN HIEROGLYPH F012
+1310B ; [.3FE8.0020.0002] # EGYPTIAN HIEROGLYPH F013
+1310C ; [.3FE9.0020.0002] # EGYPTIAN HIEROGLYPH F013A
+1310D ; [.3FEA.0020.0002] # EGYPTIAN HIEROGLYPH F014
+1310E ; [.3FEB.0020.0002] # EGYPTIAN HIEROGLYPH F015
+1310F ; [.3FEC.0020.0002] # EGYPTIAN HIEROGLYPH F016
+13110 ; [.3FED.0020.0002] # EGYPTIAN HIEROGLYPH F017
+13111 ; [.3FEE.0020.0002] # EGYPTIAN HIEROGLYPH F018
+13112 ; [.3FEF.0020.0002] # EGYPTIAN HIEROGLYPH F019
+13113 ; [.3FF0.0020.0002] # EGYPTIAN HIEROGLYPH F020
+13114 ; [.3FF1.0020.0002] # EGYPTIAN HIEROGLYPH F021
+13115 ; [.3FF2.0020.0002] # EGYPTIAN HIEROGLYPH F021A
+13116 ; [.3FF3.0020.0002] # EGYPTIAN HIEROGLYPH F022
+13117 ; [.3FF4.0020.0002] # EGYPTIAN HIEROGLYPH F023
+13118 ; [.3FF5.0020.0002] # EGYPTIAN HIEROGLYPH F024
+13119 ; [.3FF6.0020.0002] # EGYPTIAN HIEROGLYPH F025
+1311A ; [.3FF7.0020.0002] # EGYPTIAN HIEROGLYPH F026
+1311B ; [.3FF8.0020.0002] # EGYPTIAN HIEROGLYPH F027
+1311C ; [.3FF9.0020.0002] # EGYPTIAN HIEROGLYPH F028
+1311D ; [.3FFA.0020.0002] # EGYPTIAN HIEROGLYPH F029
+1311E ; [.3FFB.0020.0002] # EGYPTIAN HIEROGLYPH F030
+1311F ; [.3FFC.0020.0002] # EGYPTIAN HIEROGLYPH F031
+13120 ; [.3FFD.0020.0002] # EGYPTIAN HIEROGLYPH F031A
+13121 ; [.3FFE.0020.0002] # EGYPTIAN HIEROGLYPH F032
+13122 ; [.3FFF.0020.0002] # EGYPTIAN HIEROGLYPH F033
+13123 ; [.4000.0020.0002] # EGYPTIAN HIEROGLYPH F034
+13124 ; [.4001.0020.0002] # EGYPTIAN HIEROGLYPH F035
+13125 ; [.4002.0020.0002] # EGYPTIAN HIEROGLYPH F036
+13126 ; [.4003.0020.0002] # EGYPTIAN HIEROGLYPH F037
+13127 ; [.4004.0020.0002] # EGYPTIAN HIEROGLYPH F037A
+13128 ; [.4005.0020.0002] # EGYPTIAN HIEROGLYPH F038
+13129 ; [.4006.0020.0002] # EGYPTIAN HIEROGLYPH F038A
+1312A ; [.4007.0020.0002] # EGYPTIAN HIEROGLYPH F039
+1312B ; [.4008.0020.0002] # EGYPTIAN HIEROGLYPH F040
+1312C ; [.4009.0020.0002] # EGYPTIAN HIEROGLYPH F041
+1312D ; [.400A.0020.0002] # EGYPTIAN HIEROGLYPH F042
+1312E ; [.400B.0020.0002] # EGYPTIAN HIEROGLYPH F043
+1312F ; [.400C.0020.0002] # EGYPTIAN HIEROGLYPH F044
+13130 ; [.400D.0020.0002] # EGYPTIAN HIEROGLYPH F045
+13131 ; [.400E.0020.0002] # EGYPTIAN HIEROGLYPH F045A
+13132 ; [.400F.0020.0002] # EGYPTIAN HIEROGLYPH F046
+13133 ; [.4010.0020.0002] # EGYPTIAN HIEROGLYPH F046A
+13134 ; [.4011.0020.0002] # EGYPTIAN HIEROGLYPH F047
+13135 ; [.4012.0020.0002] # EGYPTIAN HIEROGLYPH F047A
+13136 ; [.4013.0020.0002] # EGYPTIAN HIEROGLYPH F048
+13137 ; [.4014.0020.0002] # EGYPTIAN HIEROGLYPH F049
+13138 ; [.4015.0020.0002] # EGYPTIAN HIEROGLYPH F050
+13139 ; [.4016.0020.0002] # EGYPTIAN HIEROGLYPH F051
+1313A ; [.4017.0020.0002] # EGYPTIAN HIEROGLYPH F051A
+1313B ; [.4018.0020.0002] # EGYPTIAN HIEROGLYPH F051B
+1313C ; [.4019.0020.0002] # EGYPTIAN HIEROGLYPH F051C
+1313D ; [.401A.0020.0002] # EGYPTIAN HIEROGLYPH F052
+1313E ; [.401B.0020.0002] # EGYPTIAN HIEROGLYPH F053
+1313F ; [.401C.0020.0002] # EGYPTIAN HIEROGLYPH G001
+13140 ; [.401D.0020.0002] # EGYPTIAN HIEROGLYPH G002
+13141 ; [.401E.0020.0002] # EGYPTIAN HIEROGLYPH G003
+13142 ; [.401F.0020.0002] # EGYPTIAN HIEROGLYPH G004
+13143 ; [.4020.0020.0002] # EGYPTIAN HIEROGLYPH G005
+13144 ; [.4021.0020.0002] # EGYPTIAN HIEROGLYPH G006
+13145 ; [.4022.0020.0002] # EGYPTIAN HIEROGLYPH G006A
+13146 ; [.4023.0020.0002] # EGYPTIAN HIEROGLYPH G007
+13147 ; [.4024.0020.0002] # EGYPTIAN HIEROGLYPH G007A
+13148 ; [.4025.0020.0002] # EGYPTIAN HIEROGLYPH G007B
+13149 ; [.4026.0020.0002] # EGYPTIAN HIEROGLYPH G008
+1314A ; [.4027.0020.0002] # EGYPTIAN HIEROGLYPH G009
+1314B ; [.4028.0020.0002] # EGYPTIAN HIEROGLYPH G010
+1314C ; [.4029.0020.0002] # EGYPTIAN HIEROGLYPH G011
+1314D ; [.402A.0020.0002] # EGYPTIAN HIEROGLYPH G011A
+1314E ; [.402B.0020.0002] # EGYPTIAN HIEROGLYPH G012
+1314F ; [.402C.0020.0002] # EGYPTIAN HIEROGLYPH G013
+13150 ; [.402D.0020.0002] # EGYPTIAN HIEROGLYPH G014
+13151 ; [.402E.0020.0002] # EGYPTIAN HIEROGLYPH G015
+13152 ; [.402F.0020.0002] # EGYPTIAN HIEROGLYPH G016
+13153 ; [.4030.0020.0002] # EGYPTIAN HIEROGLYPH G017
+13154 ; [.4031.0020.0002] # EGYPTIAN HIEROGLYPH G018
+13155 ; [.4032.0020.0002] # EGYPTIAN HIEROGLYPH G019
+13156 ; [.4033.0020.0002] # EGYPTIAN HIEROGLYPH G020
+13157 ; [.4034.0020.0002] # EGYPTIAN HIEROGLYPH G020A
+13158 ; [.4035.0020.0002] # EGYPTIAN HIEROGLYPH G021
+13159 ; [.4036.0020.0002] # EGYPTIAN HIEROGLYPH G022
+1315A ; [.4037.0020.0002] # EGYPTIAN HIEROGLYPH G023
+1315B ; [.4038.0020.0002] # EGYPTIAN HIEROGLYPH G024
+1315C ; [.4039.0020.0002] # EGYPTIAN HIEROGLYPH G025
+1315D ; [.403A.0020.0002] # EGYPTIAN HIEROGLYPH G026
+1315E ; [.403B.0020.0002] # EGYPTIAN HIEROGLYPH G026A
+1315F ; [.403C.0020.0002] # EGYPTIAN HIEROGLYPH G027
+13160 ; [.403D.0020.0002] # EGYPTIAN HIEROGLYPH G028
+13161 ; [.403E.0020.0002] # EGYPTIAN HIEROGLYPH G029
+13162 ; [.403F.0020.0002] # EGYPTIAN HIEROGLYPH G030
+13163 ; [.4040.0020.0002] # EGYPTIAN HIEROGLYPH G031
+13164 ; [.4041.0020.0002] # EGYPTIAN HIEROGLYPH G032
+13165 ; [.4042.0020.0002] # EGYPTIAN HIEROGLYPH G033
+13166 ; [.4043.0020.0002] # EGYPTIAN HIEROGLYPH G034
+13167 ; [.4044.0020.0002] # EGYPTIAN HIEROGLYPH G035
+13168 ; [.4045.0020.0002] # EGYPTIAN HIEROGLYPH G036
+13169 ; [.4046.0020.0002] # EGYPTIAN HIEROGLYPH G036A
+1316A ; [.4047.0020.0002] # EGYPTIAN HIEROGLYPH G037
+1316B ; [.4048.0020.0002] # EGYPTIAN HIEROGLYPH G037A
+1316C ; [.4049.0020.0002] # EGYPTIAN HIEROGLYPH G038
+1316D ; [.404A.0020.0002] # EGYPTIAN HIEROGLYPH G039
+1316E ; [.404B.0020.0002] # EGYPTIAN HIEROGLYPH G040
+1316F ; [.404C.0020.0002] # EGYPTIAN HIEROGLYPH G041
+13170 ; [.404D.0020.0002] # EGYPTIAN HIEROGLYPH G042
+13171 ; [.404E.0020.0002] # EGYPTIAN HIEROGLYPH G043
+13172 ; [.404F.0020.0002] # EGYPTIAN HIEROGLYPH G043A
+13173 ; [.4050.0020.0002] # EGYPTIAN HIEROGLYPH G044
+13174 ; [.4051.0020.0002] # EGYPTIAN HIEROGLYPH G045
+13175 ; [.4052.0020.0002] # EGYPTIAN HIEROGLYPH G045A
+13176 ; [.4053.0020.0002] # EGYPTIAN HIEROGLYPH G046
+13177 ; [.4054.0020.0002] # EGYPTIAN HIEROGLYPH G047
+13178 ; [.4055.0020.0002] # EGYPTIAN HIEROGLYPH G048
+13179 ; [.4056.0020.0002] # EGYPTIAN HIEROGLYPH G049
+1317A ; [.4057.0020.0002] # EGYPTIAN HIEROGLYPH G050
+1317B ; [.4058.0020.0002] # EGYPTIAN HIEROGLYPH G051
+1317C ; [.4059.0020.0002] # EGYPTIAN HIEROGLYPH G052
+1317D ; [.405A.0020.0002] # EGYPTIAN HIEROGLYPH G053
+1317E ; [.405B.0020.0002] # EGYPTIAN HIEROGLYPH G054
+1317F ; [.405C.0020.0002] # EGYPTIAN HIEROGLYPH H001
+13180 ; [.405D.0020.0002] # EGYPTIAN HIEROGLYPH H002
+13181 ; [.405E.0020.0002] # EGYPTIAN HIEROGLYPH H003
+13182 ; [.405F.0020.0002] # EGYPTIAN HIEROGLYPH H004
+13183 ; [.4060.0020.0002] # EGYPTIAN HIEROGLYPH H005
+13184 ; [.4061.0020.0002] # EGYPTIAN HIEROGLYPH H006
+13185 ; [.4062.0020.0002] # EGYPTIAN HIEROGLYPH H006A
+13186 ; [.4063.0020.0002] # EGYPTIAN HIEROGLYPH H007
+13187 ; [.4064.0020.0002] # EGYPTIAN HIEROGLYPH H008
+13188 ; [.4065.0020.0002] # EGYPTIAN HIEROGLYPH I001
+13189 ; [.4066.0020.0002] # EGYPTIAN HIEROGLYPH I002
+1318A ; [.4067.0020.0002] # EGYPTIAN HIEROGLYPH I003
+1318B ; [.4068.0020.0002] # EGYPTIAN HIEROGLYPH I004
+1318C ; [.4069.0020.0002] # EGYPTIAN HIEROGLYPH I005
+1318D ; [.406A.0020.0002] # EGYPTIAN HIEROGLYPH I005A
+1318E ; [.406B.0020.0002] # EGYPTIAN HIEROGLYPH I006
+1318F ; [.406C.0020.0002] # EGYPTIAN HIEROGLYPH I007
+13190 ; [.406D.0020.0002] # EGYPTIAN HIEROGLYPH I008
+13191 ; [.406E.0020.0002] # EGYPTIAN HIEROGLYPH I009
+13192 ; [.406F.0020.0002] # EGYPTIAN HIEROGLYPH I009A
+13193 ; [.4070.0020.0002] # EGYPTIAN HIEROGLYPH I010
+13194 ; [.4071.0020.0002] # EGYPTIAN HIEROGLYPH I010A
+13195 ; [.4072.0020.0002] # EGYPTIAN HIEROGLYPH I011
+13196 ; [.4073.0020.0002] # EGYPTIAN HIEROGLYPH I011A
+13197 ; [.4074.0020.0002] # EGYPTIAN HIEROGLYPH I012
+13198 ; [.4075.0020.0002] # EGYPTIAN HIEROGLYPH I013
+13199 ; [.4076.0020.0002] # EGYPTIAN HIEROGLYPH I014
+1319A ; [.4077.0020.0002] # EGYPTIAN HIEROGLYPH I015
+1319B ; [.4078.0020.0002] # EGYPTIAN HIEROGLYPH K001
+1319C ; [.4079.0020.0002] # EGYPTIAN HIEROGLYPH K002
+1319D ; [.407A.0020.0002] # EGYPTIAN HIEROGLYPH K003
+1319E ; [.407B.0020.0002] # EGYPTIAN HIEROGLYPH K004
+1319F ; [.407C.0020.0002] # EGYPTIAN HIEROGLYPH K005
+131A0 ; [.407D.0020.0002] # EGYPTIAN HIEROGLYPH K006
+131A1 ; [.407E.0020.0002] # EGYPTIAN HIEROGLYPH K007
+131A2 ; [.407F.0020.0002] # EGYPTIAN HIEROGLYPH K008
+131A3 ; [.4080.0020.0002] # EGYPTIAN HIEROGLYPH L001
+131A4 ; [.4081.0020.0002] # EGYPTIAN HIEROGLYPH L002
+131A5 ; [.4082.0020.0002] # EGYPTIAN HIEROGLYPH L002A
+131A6 ; [.4083.0020.0002] # EGYPTIAN HIEROGLYPH L003
+131A7 ; [.4084.0020.0002] # EGYPTIAN HIEROGLYPH L004
+131A8 ; [.4085.0020.0002] # EGYPTIAN HIEROGLYPH L005
+131A9 ; [.4086.0020.0002] # EGYPTIAN HIEROGLYPH L006
+131AA ; [.4087.0020.0002] # EGYPTIAN HIEROGLYPH L006A
+131AB ; [.4088.0020.0002] # EGYPTIAN HIEROGLYPH L007
+131AC ; [.4089.0020.0002] # EGYPTIAN HIEROGLYPH L008
+131AD ; [.408A.0020.0002] # EGYPTIAN HIEROGLYPH M001
+131AE ; [.408B.0020.0002] # EGYPTIAN HIEROGLYPH M001A
+131AF ; [.408C.0020.0002] # EGYPTIAN HIEROGLYPH M001B
+131B0 ; [.408D.0020.0002] # EGYPTIAN HIEROGLYPH M002
+131B1 ; [.408E.0020.0002] # EGYPTIAN HIEROGLYPH M003
+131B2 ; [.408F.0020.0002] # EGYPTIAN HIEROGLYPH M003A
+131B3 ; [.4090.0020.0002] # EGYPTIAN HIEROGLYPH M004
+131B4 ; [.4091.0020.0002] # EGYPTIAN HIEROGLYPH M005
+131B5 ; [.4092.0020.0002] # EGYPTIAN HIEROGLYPH M006
+131B6 ; [.4093.0020.0002] # EGYPTIAN HIEROGLYPH M007
+131B7 ; [.4094.0020.0002] # EGYPTIAN HIEROGLYPH M008
+131B8 ; [.4095.0020.0002] # EGYPTIAN HIEROGLYPH M009
+131B9 ; [.4096.0020.0002] # EGYPTIAN HIEROGLYPH M010
+131BA ; [.4097.0020.0002] # EGYPTIAN HIEROGLYPH M010A
+131BB ; [.4098.0020.0002] # EGYPTIAN HIEROGLYPH M011
+131BC ; [.4099.0020.0002] # EGYPTIAN HIEROGLYPH M012
+131BD ; [.409A.0020.0002] # EGYPTIAN HIEROGLYPH M012A
+131BE ; [.409B.0020.0002] # EGYPTIAN HIEROGLYPH M012B
+131BF ; [.409C.0020.0002] # EGYPTIAN HIEROGLYPH M012C
+131C0 ; [.409D.0020.0002] # EGYPTIAN HIEROGLYPH M012D
+131C1 ; [.409E.0020.0002] # EGYPTIAN HIEROGLYPH M012E
+131C2 ; [.409F.0020.0002] # EGYPTIAN HIEROGLYPH M012F
+131C3 ; [.40A0.0020.0002] # EGYPTIAN HIEROGLYPH M012G
+131C4 ; [.40A1.0020.0002] # EGYPTIAN HIEROGLYPH M012H
+131C5 ; [.40A2.0020.0002] # EGYPTIAN HIEROGLYPH M013
+131C6 ; [.40A3.0020.0002] # EGYPTIAN HIEROGLYPH M014
+131C7 ; [.40A4.0020.0002] # EGYPTIAN HIEROGLYPH M015
+131C8 ; [.40A5.0020.0002] # EGYPTIAN HIEROGLYPH M015A
+131C9 ; [.40A6.0020.0002] # EGYPTIAN HIEROGLYPH M016
+131CA ; [.40A7.0020.0002] # EGYPTIAN HIEROGLYPH M016A
+131CB ; [.40A8.0020.0002] # EGYPTIAN HIEROGLYPH M017
+131CC ; [.40A9.0020.0002] # EGYPTIAN HIEROGLYPH M017A
+131CD ; [.40AA.0020.0002] # EGYPTIAN HIEROGLYPH M018
+131CE ; [.40AB.0020.0002] # EGYPTIAN HIEROGLYPH M019
+131CF ; [.40AC.0020.0002] # EGYPTIAN HIEROGLYPH M020
+131D0 ; [.40AD.0020.0002] # EGYPTIAN HIEROGLYPH M021
+131D1 ; [.40AE.0020.0002] # EGYPTIAN HIEROGLYPH M022
+131D2 ; [.40AF.0020.0002] # EGYPTIAN HIEROGLYPH M022A
+131D3 ; [.40B0.0020.0002] # EGYPTIAN HIEROGLYPH M023
+131D4 ; [.40B1.0020.0002] # EGYPTIAN HIEROGLYPH M024
+131D5 ; [.40B2.0020.0002] # EGYPTIAN HIEROGLYPH M024A
+131D6 ; [.40B3.0020.0002] # EGYPTIAN HIEROGLYPH M025
+131D7 ; [.40B4.0020.0002] # EGYPTIAN HIEROGLYPH M026
+131D8 ; [.40B5.0020.0002] # EGYPTIAN HIEROGLYPH M027
+131D9 ; [.40B6.0020.0002] # EGYPTIAN HIEROGLYPH M028
+131DA ; [.40B7.0020.0002] # EGYPTIAN HIEROGLYPH M028A
+131DB ; [.40B8.0020.0002] # EGYPTIAN HIEROGLYPH M029
+131DC ; [.40B9.0020.0002] # EGYPTIAN HIEROGLYPH M030
+131DD ; [.40BA.0020.0002] # EGYPTIAN HIEROGLYPH M031
+131DE ; [.40BB.0020.0002] # EGYPTIAN HIEROGLYPH M031A
+131DF ; [.40BC.0020.0002] # EGYPTIAN HIEROGLYPH M032
+131E0 ; [.40BD.0020.0002] # EGYPTIAN HIEROGLYPH M033
+131E1 ; [.40BE.0020.0002] # EGYPTIAN HIEROGLYPH M033A
+131E2 ; [.40BF.0020.0002] # EGYPTIAN HIEROGLYPH M033B
+131E3 ; [.40C0.0020.0002] # EGYPTIAN HIEROGLYPH M034
+131E4 ; [.40C1.0020.0002] # EGYPTIAN HIEROGLYPH M035
+131E5 ; [.40C2.0020.0002] # EGYPTIAN HIEROGLYPH M036
+131E6 ; [.40C3.0020.0002] # EGYPTIAN HIEROGLYPH M037
+131E7 ; [.40C4.0020.0002] # EGYPTIAN HIEROGLYPH M038
+131E8 ; [.40C5.0020.0002] # EGYPTIAN HIEROGLYPH M039
+131E9 ; [.40C6.0020.0002] # EGYPTIAN HIEROGLYPH M040
+131EA ; [.40C7.0020.0002] # EGYPTIAN HIEROGLYPH M040A
+131EB ; [.40C8.0020.0002] # EGYPTIAN HIEROGLYPH M041
+131EC ; [.40C9.0020.0002] # EGYPTIAN HIEROGLYPH M042
+131ED ; [.40CA.0020.0002] # EGYPTIAN HIEROGLYPH M043
+131EE ; [.40CB.0020.0002] # EGYPTIAN HIEROGLYPH M044
+131EF ; [.40CC.0020.0002] # EGYPTIAN HIEROGLYPH N001
+131F0 ; [.40CD.0020.0002] # EGYPTIAN HIEROGLYPH N002
+131F1 ; [.40CE.0020.0002] # EGYPTIAN HIEROGLYPH N003
+131F2 ; [.40CF.0020.0002] # EGYPTIAN HIEROGLYPH N004
+131F3 ; [.40D0.0020.0002] # EGYPTIAN HIEROGLYPH N005
+131F4 ; [.40D1.0020.0002] # EGYPTIAN HIEROGLYPH N006
+131F5 ; [.40D2.0020.0002] # EGYPTIAN HIEROGLYPH N007
+131F6 ; [.40D3.0020.0002] # EGYPTIAN HIEROGLYPH N008
+131F7 ; [.40D4.0020.0002] # EGYPTIAN HIEROGLYPH N009
+131F8 ; [.40D5.0020.0002] # EGYPTIAN HIEROGLYPH N010
+131F9 ; [.40D6.0020.0002] # EGYPTIAN HIEROGLYPH N011
+131FA ; [.40D7.0020.0002] # EGYPTIAN HIEROGLYPH N012
+131FB ; [.40D8.0020.0002] # EGYPTIAN HIEROGLYPH N013
+131FC ; [.40D9.0020.0002] # EGYPTIAN HIEROGLYPH N014
+131FD ; [.40DA.0020.0002] # EGYPTIAN HIEROGLYPH N015
+131FE ; [.40DB.0020.0002] # EGYPTIAN HIEROGLYPH N016
+131FF ; [.40DC.0020.0002] # EGYPTIAN HIEROGLYPH N017
+13200 ; [.40DD.0020.0002] # EGYPTIAN HIEROGLYPH N018
+13201 ; [.40DE.0020.0002] # EGYPTIAN HIEROGLYPH N018A
+13202 ; [.40DF.0020.0002] # EGYPTIAN HIEROGLYPH N018B
+13203 ; [.40E0.0020.0002] # EGYPTIAN HIEROGLYPH N019
+13204 ; [.40E1.0020.0002] # EGYPTIAN HIEROGLYPH N020
+13205 ; [.40E2.0020.0002] # EGYPTIAN HIEROGLYPH N021
+13206 ; [.40E3.0020.0002] # EGYPTIAN HIEROGLYPH N022
+13207 ; [.40E4.0020.0002] # EGYPTIAN HIEROGLYPH N023
+13208 ; [.40E5.0020.0002] # EGYPTIAN HIEROGLYPH N024
+13209 ; [.40E6.0020.0002] # EGYPTIAN HIEROGLYPH N025
+1320A ; [.40E7.0020.0002] # EGYPTIAN HIEROGLYPH N025A
+1320B ; [.40E8.0020.0002] # EGYPTIAN HIEROGLYPH N026
+1320C ; [.40E9.0020.0002] # EGYPTIAN HIEROGLYPH N027
+1320D ; [.40EA.0020.0002] # EGYPTIAN HIEROGLYPH N028
+1320E ; [.40EB.0020.0002] # EGYPTIAN HIEROGLYPH N029
+1320F ; [.40EC.0020.0002] # EGYPTIAN HIEROGLYPH N030
+13210 ; [.40ED.0020.0002] # EGYPTIAN HIEROGLYPH N031
+13211 ; [.40EE.0020.0002] # EGYPTIAN HIEROGLYPH N032
+13212 ; [.40EF.0020.0002] # EGYPTIAN HIEROGLYPH N033
+13213 ; [.40F0.0020.0002] # EGYPTIAN HIEROGLYPH N033A
+13214 ; [.40F1.0020.0002] # EGYPTIAN HIEROGLYPH N034
+13215 ; [.40F2.0020.0002] # EGYPTIAN HIEROGLYPH N034A
+13216 ; [.40F3.0020.0002] # EGYPTIAN HIEROGLYPH N035
+13217 ; [.40F4.0020.0002] # EGYPTIAN HIEROGLYPH N035A
+13218 ; [.40F5.0020.0002] # EGYPTIAN HIEROGLYPH N036
+13219 ; [.40F6.0020.0002] # EGYPTIAN HIEROGLYPH N037
+1321A ; [.40F7.0020.0002] # EGYPTIAN HIEROGLYPH N037A
+1321B ; [.40F8.0020.0002] # EGYPTIAN HIEROGLYPH N038
+1321C ; [.40F9.0020.0002] # EGYPTIAN HIEROGLYPH N039
+1321D ; [.40FA.0020.0002] # EGYPTIAN HIEROGLYPH N040
+1321E ; [.40FB.0020.0002] # EGYPTIAN HIEROGLYPH N041
+1321F ; [.40FC.0020.0002] # EGYPTIAN HIEROGLYPH N042
+13220 ; [.40FD.0020.0002] # EGYPTIAN HIEROGLYPH NL001
+13221 ; [.40FE.0020.0002] # EGYPTIAN HIEROGLYPH NL002
+13222 ; [.40FF.0020.0002] # EGYPTIAN HIEROGLYPH NL003
+13223 ; [.4100.0020.0002] # EGYPTIAN HIEROGLYPH NL004
+13224 ; [.4101.0020.0002] # EGYPTIAN HIEROGLYPH NL005
+13225 ; [.4102.0020.0002] # EGYPTIAN HIEROGLYPH NL005A
+13226 ; [.4103.0020.0002] # EGYPTIAN HIEROGLYPH NL006
+13227 ; [.4104.0020.0002] # EGYPTIAN HIEROGLYPH NL007
+13228 ; [.4105.0020.0002] # EGYPTIAN HIEROGLYPH NL008
+13229 ; [.4106.0020.0002] # EGYPTIAN HIEROGLYPH NL009
+1322A ; [.4107.0020.0002] # EGYPTIAN HIEROGLYPH NL010
+1322B ; [.4108.0020.0002] # EGYPTIAN HIEROGLYPH NL011
+1322C ; [.4109.0020.0002] # EGYPTIAN HIEROGLYPH NL012
+1322D ; [.410A.0020.0002] # EGYPTIAN HIEROGLYPH NL013
+1322E ; [.410B.0020.0002] # EGYPTIAN HIEROGLYPH NL014
+1322F ; [.410C.0020.0002] # EGYPTIAN HIEROGLYPH NL015
+13230 ; [.410D.0020.0002] # EGYPTIAN HIEROGLYPH NL016
+13231 ; [.410E.0020.0002] # EGYPTIAN HIEROGLYPH NL017
+13232 ; [.410F.0020.0002] # EGYPTIAN HIEROGLYPH NL017A
+13233 ; [.4110.0020.0002] # EGYPTIAN HIEROGLYPH NL018
+13234 ; [.4111.0020.0002] # EGYPTIAN HIEROGLYPH NL019
+13235 ; [.4112.0020.0002] # EGYPTIAN HIEROGLYPH NL020
+13236 ; [.4113.0020.0002] # EGYPTIAN HIEROGLYPH NU001
+13237 ; [.4114.0020.0002] # EGYPTIAN HIEROGLYPH NU002
+13238 ; [.4115.0020.0002] # EGYPTIAN HIEROGLYPH NU003
+13239 ; [.4116.0020.0002] # EGYPTIAN HIEROGLYPH NU004
+1323A ; [.4117.0020.0002] # EGYPTIAN HIEROGLYPH NU005
+1323B ; [.4118.0020.0002] # EGYPTIAN HIEROGLYPH NU006
+1323C ; [.4119.0020.0002] # EGYPTIAN HIEROGLYPH NU007
+1323D ; [.411A.0020.0002] # EGYPTIAN HIEROGLYPH NU008
+1323E ; [.411B.0020.0002] # EGYPTIAN HIEROGLYPH NU009
+1323F ; [.411C.0020.0002] # EGYPTIAN HIEROGLYPH NU010
+13240 ; [.411D.0020.0002] # EGYPTIAN HIEROGLYPH NU010A
+13241 ; [.411E.0020.0002] # EGYPTIAN HIEROGLYPH NU011
+13242 ; [.411F.0020.0002] # EGYPTIAN HIEROGLYPH NU011A
+13243 ; [.4120.0020.0002] # EGYPTIAN HIEROGLYPH NU012
+13244 ; [.4121.0020.0002] # EGYPTIAN HIEROGLYPH NU013
+13245 ; [.4122.0020.0002] # EGYPTIAN HIEROGLYPH NU014
+13246 ; [.4123.0020.0002] # EGYPTIAN HIEROGLYPH NU015
+13247 ; [.4124.0020.0002] # EGYPTIAN HIEROGLYPH NU016
+13248 ; [.4125.0020.0002] # EGYPTIAN HIEROGLYPH NU017
+13249 ; [.4126.0020.0002] # EGYPTIAN HIEROGLYPH NU018
+1324A ; [.4127.0020.0002] # EGYPTIAN HIEROGLYPH NU018A
+1324B ; [.4128.0020.0002] # EGYPTIAN HIEROGLYPH NU019
+1324C ; [.4129.0020.0002] # EGYPTIAN HIEROGLYPH NU020
+1324D ; [.412A.0020.0002] # EGYPTIAN HIEROGLYPH NU021
+1324E ; [.412B.0020.0002] # EGYPTIAN HIEROGLYPH NU022
+1324F ; [.412C.0020.0002] # EGYPTIAN HIEROGLYPH NU022A
+13250 ; [.412D.0020.0002] # EGYPTIAN HIEROGLYPH O001
+13251 ; [.412E.0020.0002] # EGYPTIAN HIEROGLYPH O001A
+13252 ; [.412F.0020.0002] # EGYPTIAN HIEROGLYPH O002
+13253 ; [.4130.0020.0002] # EGYPTIAN HIEROGLYPH O003
+13254 ; [.4131.0020.0002] # EGYPTIAN HIEROGLYPH O004
+13255 ; [.4132.0020.0002] # EGYPTIAN HIEROGLYPH O005
+13256 ; [.4133.0020.0002] # EGYPTIAN HIEROGLYPH O005A
+13257 ; [.4134.0020.0002] # EGYPTIAN HIEROGLYPH O006
+13258 ; [.4135.0020.0002] # EGYPTIAN HIEROGLYPH O006A
+13259 ; [.4136.0020.0002] # EGYPTIAN HIEROGLYPH O006B
+1325A ; [.4137.0020.0002] # EGYPTIAN HIEROGLYPH O006C
+1325B ; [.4138.0020.0002] # EGYPTIAN HIEROGLYPH O006D
+1325C ; [.4139.0020.0002] # EGYPTIAN HIEROGLYPH O006E
+1325D ; [.413A.0020.0002] # EGYPTIAN HIEROGLYPH O006F
+1325E ; [.413B.0020.0002] # EGYPTIAN HIEROGLYPH O007
+1325F ; [.413C.0020.0002] # EGYPTIAN HIEROGLYPH O008
+13260 ; [.413D.0020.0002] # EGYPTIAN HIEROGLYPH O009
+13261 ; [.413E.0020.0002] # EGYPTIAN HIEROGLYPH O010
+13262 ; [.413F.0020.0002] # EGYPTIAN HIEROGLYPH O010A
+13263 ; [.4140.0020.0002] # EGYPTIAN HIEROGLYPH O010B
+13264 ; [.4141.0020.0002] # EGYPTIAN HIEROGLYPH O010C
+13265 ; [.4142.0020.0002] # EGYPTIAN HIEROGLYPH O011
+13266 ; [.4143.0020.0002] # EGYPTIAN HIEROGLYPH O012
+13267 ; [.4144.0020.0002] # EGYPTIAN HIEROGLYPH O013
+13268 ; [.4145.0020.0002] # EGYPTIAN HIEROGLYPH O014
+13269 ; [.4146.0020.0002] # EGYPTIAN HIEROGLYPH O015
+1326A ; [.4147.0020.0002] # EGYPTIAN HIEROGLYPH O016
+1326B ; [.4148.0020.0002] # EGYPTIAN HIEROGLYPH O017
+1326C ; [.4149.0020.0002] # EGYPTIAN HIEROGLYPH O018
+1326D ; [.414A.0020.0002] # EGYPTIAN HIEROGLYPH O019
+1326E ; [.414B.0020.0002] # EGYPTIAN HIEROGLYPH O019A
+1326F ; [.414C.0020.0002] # EGYPTIAN HIEROGLYPH O020
+13270 ; [.414D.0020.0002] # EGYPTIAN HIEROGLYPH O020A
+13271 ; [.414E.0020.0002] # EGYPTIAN HIEROGLYPH O021
+13272 ; [.414F.0020.0002] # EGYPTIAN HIEROGLYPH O022
+13273 ; [.4150.0020.0002] # EGYPTIAN HIEROGLYPH O023
+13274 ; [.4151.0020.0002] # EGYPTIAN HIEROGLYPH O024
+13275 ; [.4152.0020.0002] # EGYPTIAN HIEROGLYPH O024A
+13276 ; [.4153.0020.0002] # EGYPTIAN HIEROGLYPH O025
+13277 ; [.4154.0020.0002] # EGYPTIAN HIEROGLYPH O025A
+13278 ; [.4155.0020.0002] # EGYPTIAN HIEROGLYPH O026
+13279 ; [.4156.0020.0002] # EGYPTIAN HIEROGLYPH O027
+1327A ; [.4157.0020.0002] # EGYPTIAN HIEROGLYPH O028
+1327B ; [.4158.0020.0002] # EGYPTIAN HIEROGLYPH O029
+1327C ; [.4159.0020.0002] # EGYPTIAN HIEROGLYPH O029A
+1327D ; [.415A.0020.0002] # EGYPTIAN HIEROGLYPH O030
+1327E ; [.415B.0020.0002] # EGYPTIAN HIEROGLYPH O030A
+1327F ; [.415C.0020.0002] # EGYPTIAN HIEROGLYPH O031
+13280 ; [.415D.0020.0002] # EGYPTIAN HIEROGLYPH O032
+13281 ; [.415E.0020.0002] # EGYPTIAN HIEROGLYPH O033
+13282 ; [.415F.0020.0002] # EGYPTIAN HIEROGLYPH O033A
+13283 ; [.4160.0020.0002] # EGYPTIAN HIEROGLYPH O034
+13284 ; [.4161.0020.0002] # EGYPTIAN HIEROGLYPH O035
+13285 ; [.4162.0020.0002] # EGYPTIAN HIEROGLYPH O036
+13286 ; [.4163.0020.0002] # EGYPTIAN HIEROGLYPH O036A
+13287 ; [.4164.0020.0002] # EGYPTIAN HIEROGLYPH O036B
+13288 ; [.4165.0020.0002] # EGYPTIAN HIEROGLYPH O036C
+13289 ; [.4166.0020.0002] # EGYPTIAN HIEROGLYPH O036D
+1328A ; [.4167.0020.0002] # EGYPTIAN HIEROGLYPH O037
+1328B ; [.4168.0020.0002] # EGYPTIAN HIEROGLYPH O038
+1328C ; [.4169.0020.0002] # EGYPTIAN HIEROGLYPH O039
+1328D ; [.416A.0020.0002] # EGYPTIAN HIEROGLYPH O040
+1328E ; [.416B.0020.0002] # EGYPTIAN HIEROGLYPH O041
+1328F ; [.416C.0020.0002] # EGYPTIAN HIEROGLYPH O042
+13290 ; [.416D.0020.0002] # EGYPTIAN HIEROGLYPH O043
+13291 ; [.416E.0020.0002] # EGYPTIAN HIEROGLYPH O044
+13292 ; [.416F.0020.0002] # EGYPTIAN HIEROGLYPH O045
+13293 ; [.4170.0020.0002] # EGYPTIAN HIEROGLYPH O046
+13294 ; [.4171.0020.0002] # EGYPTIAN HIEROGLYPH O047
+13295 ; [.4172.0020.0002] # EGYPTIAN HIEROGLYPH O048
+13296 ; [.4173.0020.0002] # EGYPTIAN HIEROGLYPH O049
+13297 ; [.4174.0020.0002] # EGYPTIAN HIEROGLYPH O050
+13298 ; [.4175.0020.0002] # EGYPTIAN HIEROGLYPH O050A
+13299 ; [.4176.0020.0002] # EGYPTIAN HIEROGLYPH O050B
+1329A ; [.4177.0020.0002] # EGYPTIAN HIEROGLYPH O051
+1329B ; [.4178.0020.0002] # EGYPTIAN HIEROGLYPH P001
+1329C ; [.4179.0020.0002] # EGYPTIAN HIEROGLYPH P001A
+1329D ; [.417A.0020.0002] # EGYPTIAN HIEROGLYPH P002
+1329E ; [.417B.0020.0002] # EGYPTIAN HIEROGLYPH P003
+1329F ; [.417C.0020.0002] # EGYPTIAN HIEROGLYPH P003A
+132A0 ; [.417D.0020.0002] # EGYPTIAN HIEROGLYPH P004
+132A1 ; [.417E.0020.0002] # EGYPTIAN HIEROGLYPH P005
+132A2 ; [.417F.0020.0002] # EGYPTIAN HIEROGLYPH P006
+132A3 ; [.4180.0020.0002] # EGYPTIAN HIEROGLYPH P007
+132A4 ; [.4181.0020.0002] # EGYPTIAN HIEROGLYPH P008
+132A5 ; [.4182.0020.0002] # EGYPTIAN HIEROGLYPH P009
+132A6 ; [.4183.0020.0002] # EGYPTIAN HIEROGLYPH P010
+132A7 ; [.4184.0020.0002] # EGYPTIAN HIEROGLYPH P011
+132A8 ; [.4185.0020.0002] # EGYPTIAN HIEROGLYPH Q001
+132A9 ; [.4186.0020.0002] # EGYPTIAN HIEROGLYPH Q002
+132AA ; [.4187.0020.0002] # EGYPTIAN HIEROGLYPH Q003
+132AB ; [.4188.0020.0002] # EGYPTIAN HIEROGLYPH Q004
+132AC ; [.4189.0020.0002] # EGYPTIAN HIEROGLYPH Q005
+132AD ; [.418A.0020.0002] # EGYPTIAN HIEROGLYPH Q006
+132AE ; [.418B.0020.0002] # EGYPTIAN HIEROGLYPH Q007
+132AF ; [.418C.0020.0002] # EGYPTIAN HIEROGLYPH R001
+132B0 ; [.418D.0020.0002] # EGYPTIAN HIEROGLYPH R002
+132B1 ; [.418E.0020.0002] # EGYPTIAN HIEROGLYPH R002A
+132B2 ; [.418F.0020.0002] # EGYPTIAN HIEROGLYPH R003
+132B3 ; [.4190.0020.0002] # EGYPTIAN HIEROGLYPH R003A
+132B4 ; [.4191.0020.0002] # EGYPTIAN HIEROGLYPH R003B
+132B5 ; [.4192.0020.0002] # EGYPTIAN HIEROGLYPH R004
+132B6 ; [.4193.0020.0002] # EGYPTIAN HIEROGLYPH R005
+132B7 ; [.4194.0020.0002] # EGYPTIAN HIEROGLYPH R006
+132B8 ; [.4195.0020.0002] # EGYPTIAN HIEROGLYPH R007
+132B9 ; [.4196.0020.0002] # EGYPTIAN HIEROGLYPH R008
+132BA ; [.4197.0020.0002] # EGYPTIAN HIEROGLYPH R009
+132BB ; [.4198.0020.0002] # EGYPTIAN HIEROGLYPH R010
+132BC ; [.4199.0020.0002] # EGYPTIAN HIEROGLYPH R010A
+132BD ; [.419A.0020.0002] # EGYPTIAN HIEROGLYPH R011
+132BE ; [.419B.0020.0002] # EGYPTIAN HIEROGLYPH R012
+132BF ; [.419C.0020.0002] # EGYPTIAN HIEROGLYPH R013
+132C0 ; [.419D.0020.0002] # EGYPTIAN HIEROGLYPH R014
+132C1 ; [.419E.0020.0002] # EGYPTIAN HIEROGLYPH R015
+132C2 ; [.419F.0020.0002] # EGYPTIAN HIEROGLYPH R016
+132C3 ; [.41A0.0020.0002] # EGYPTIAN HIEROGLYPH R016A
+132C4 ; [.41A1.0020.0002] # EGYPTIAN HIEROGLYPH R017
+132C5 ; [.41A2.0020.0002] # EGYPTIAN HIEROGLYPH R018
+132C6 ; [.41A3.0020.0002] # EGYPTIAN HIEROGLYPH R019
+132C7 ; [.41A4.0020.0002] # EGYPTIAN HIEROGLYPH R020
+132C8 ; [.41A5.0020.0002] # EGYPTIAN HIEROGLYPH R021
+132C9 ; [.41A6.0020.0002] # EGYPTIAN HIEROGLYPH R022
+132CA ; [.41A7.0020.0002] # EGYPTIAN HIEROGLYPH R023
+132CB ; [.41A8.0020.0002] # EGYPTIAN HIEROGLYPH R024
+132CC ; [.41A9.0020.0002] # EGYPTIAN HIEROGLYPH R025
+132CD ; [.41AA.0020.0002] # EGYPTIAN HIEROGLYPH R026
+132CE ; [.41AB.0020.0002] # EGYPTIAN HIEROGLYPH R027
+132CF ; [.41AC.0020.0002] # EGYPTIAN HIEROGLYPH R028
+132D0 ; [.41AD.0020.0002] # EGYPTIAN HIEROGLYPH R029
+132D1 ; [.41AE.0020.0002] # EGYPTIAN HIEROGLYPH S001
+132D2 ; [.41AF.0020.0002] # EGYPTIAN HIEROGLYPH S002
+132D3 ; [.41B0.0020.0002] # EGYPTIAN HIEROGLYPH S002A
+132D4 ; [.41B1.0020.0002] # EGYPTIAN HIEROGLYPH S003
+132D5 ; [.41B2.0020.0002] # EGYPTIAN HIEROGLYPH S004
+132D6 ; [.41B3.0020.0002] # EGYPTIAN HIEROGLYPH S005
+132D7 ; [.41B4.0020.0002] # EGYPTIAN HIEROGLYPH S006
+132D8 ; [.41B5.0020.0002] # EGYPTIAN HIEROGLYPH S006A
+132D9 ; [.41B6.0020.0002] # EGYPTIAN HIEROGLYPH S007
+132DA ; [.41B7.0020.0002] # EGYPTIAN HIEROGLYPH S008
+132DB ; [.41B8.0020.0002] # EGYPTIAN HIEROGLYPH S009
+132DC ; [.41B9.0020.0002] # EGYPTIAN HIEROGLYPH S010
+132DD ; [.41BA.0020.0002] # EGYPTIAN HIEROGLYPH S011
+132DE ; [.41BB.0020.0002] # EGYPTIAN HIEROGLYPH S012
+132DF ; [.41BC.0020.0002] # EGYPTIAN HIEROGLYPH S013
+132E0 ; [.41BD.0020.0002] # EGYPTIAN HIEROGLYPH S014
+132E1 ; [.41BE.0020.0002] # EGYPTIAN HIEROGLYPH S014A
+132E2 ; [.41BF.0020.0002] # EGYPTIAN HIEROGLYPH S014B
+132E3 ; [.41C0.0020.0002] # EGYPTIAN HIEROGLYPH S015
+132E4 ; [.41C1.0020.0002] # EGYPTIAN HIEROGLYPH S016
+132E5 ; [.41C2.0020.0002] # EGYPTIAN HIEROGLYPH S017
+132E6 ; [.41C3.0020.0002] # EGYPTIAN HIEROGLYPH S017A
+132E7 ; [.41C4.0020.0002] # EGYPTIAN HIEROGLYPH S018
+132E8 ; [.41C5.0020.0002] # EGYPTIAN HIEROGLYPH S019
+132E9 ; [.41C6.0020.0002] # EGYPTIAN HIEROGLYPH S020
+132EA ; [.41C7.0020.0002] # EGYPTIAN HIEROGLYPH S021
+132EB ; [.41C8.0020.0002] # EGYPTIAN HIEROGLYPH S022
+132EC ; [.41C9.0020.0002] # EGYPTIAN HIEROGLYPH S023
+132ED ; [.41CA.0020.0002] # EGYPTIAN HIEROGLYPH S024
+132EE ; [.41CB.0020.0002] # EGYPTIAN HIEROGLYPH S025
+132EF ; [.41CC.0020.0002] # EGYPTIAN HIEROGLYPH S026
+132F0 ; [.41CD.0020.0002] # EGYPTIAN HIEROGLYPH S026A
+132F1 ; [.41CE.0020.0002] # EGYPTIAN HIEROGLYPH S026B
+132F2 ; [.41CF.0020.0002] # EGYPTIAN HIEROGLYPH S027
+132F3 ; [.41D0.0020.0002] # EGYPTIAN HIEROGLYPH S028
+132F4 ; [.41D1.0020.0002] # EGYPTIAN HIEROGLYPH S029
+132F5 ; [.41D2.0020.0002] # EGYPTIAN HIEROGLYPH S030
+132F6 ; [.41D3.0020.0002] # EGYPTIAN HIEROGLYPH S031
+132F7 ; [.41D4.0020.0002] # EGYPTIAN HIEROGLYPH S032
+132F8 ; [.41D5.0020.0002] # EGYPTIAN HIEROGLYPH S033
+132F9 ; [.41D6.0020.0002] # EGYPTIAN HIEROGLYPH S034
+132FA ; [.41D7.0020.0002] # EGYPTIAN HIEROGLYPH S035
+132FB ; [.41D8.0020.0002] # EGYPTIAN HIEROGLYPH S035A
+132FC ; [.41D9.0020.0002] # EGYPTIAN HIEROGLYPH S036
+132FD ; [.41DA.0020.0002] # EGYPTIAN HIEROGLYPH S037
+132FE ; [.41DB.0020.0002] # EGYPTIAN HIEROGLYPH S038
+132FF ; [.41DC.0020.0002] # EGYPTIAN HIEROGLYPH S039
+13300 ; [.41DD.0020.0002] # EGYPTIAN HIEROGLYPH S040
+13301 ; [.41DE.0020.0002] # EGYPTIAN HIEROGLYPH S041
+13302 ; [.41DF.0020.0002] # EGYPTIAN HIEROGLYPH S042
+13303 ; [.41E0.0020.0002] # EGYPTIAN HIEROGLYPH S043
+13304 ; [.41E1.0020.0002] # EGYPTIAN HIEROGLYPH S044
+13305 ; [.41E2.0020.0002] # EGYPTIAN HIEROGLYPH S045
+13306 ; [.41E3.0020.0002] # EGYPTIAN HIEROGLYPH S046
+13307 ; [.41E4.0020.0002] # EGYPTIAN HIEROGLYPH T001
+13308 ; [.41E5.0020.0002] # EGYPTIAN HIEROGLYPH T002
+13309 ; [.41E6.0020.0002] # EGYPTIAN HIEROGLYPH T003
+1330A ; [.41E7.0020.0002] # EGYPTIAN HIEROGLYPH T003A
+1330B ; [.41E8.0020.0002] # EGYPTIAN HIEROGLYPH T004
+1330C ; [.41E9.0020.0002] # EGYPTIAN HIEROGLYPH T005
+1330D ; [.41EA.0020.0002] # EGYPTIAN HIEROGLYPH T006
+1330E ; [.41EB.0020.0002] # EGYPTIAN HIEROGLYPH T007
+1330F ; [.41EC.0020.0002] # EGYPTIAN HIEROGLYPH T007A
+13310 ; [.41ED.0020.0002] # EGYPTIAN HIEROGLYPH T008
+13311 ; [.41EE.0020.0002] # EGYPTIAN HIEROGLYPH T008A
+13312 ; [.41EF.0020.0002] # EGYPTIAN HIEROGLYPH T009
+13313 ; [.41F0.0020.0002] # EGYPTIAN HIEROGLYPH T009A
+13314 ; [.41F1.0020.0002] # EGYPTIAN HIEROGLYPH T010
+13315 ; [.41F2.0020.0002] # EGYPTIAN HIEROGLYPH T011
+13316 ; [.41F3.0020.0002] # EGYPTIAN HIEROGLYPH T011A
+13317 ; [.41F4.0020.0002] # EGYPTIAN HIEROGLYPH T012
+13318 ; [.41F5.0020.0002] # EGYPTIAN HIEROGLYPH T013
+13319 ; [.41F6.0020.0002] # EGYPTIAN HIEROGLYPH T014
+1331A ; [.41F7.0020.0002] # EGYPTIAN HIEROGLYPH T015
+1331B ; [.41F8.0020.0002] # EGYPTIAN HIEROGLYPH T016
+1331C ; [.41F9.0020.0002] # EGYPTIAN HIEROGLYPH T016A
+1331D ; [.41FA.0020.0002] # EGYPTIAN HIEROGLYPH T017
+1331E ; [.41FB.0020.0002] # EGYPTIAN HIEROGLYPH T018
+1331F ; [.41FC.0020.0002] # EGYPTIAN HIEROGLYPH T019
+13320 ; [.41FD.0020.0002] # EGYPTIAN HIEROGLYPH T020
+13321 ; [.41FE.0020.0002] # EGYPTIAN HIEROGLYPH T021
+13322 ; [.41FF.0020.0002] # EGYPTIAN HIEROGLYPH T022
+13323 ; [.4200.0020.0002] # EGYPTIAN HIEROGLYPH T023
+13324 ; [.4201.0020.0002] # EGYPTIAN HIEROGLYPH T024
+13325 ; [.4202.0020.0002] # EGYPTIAN HIEROGLYPH T025
+13326 ; [.4203.0020.0002] # EGYPTIAN HIEROGLYPH T026
+13327 ; [.4204.0020.0002] # EGYPTIAN HIEROGLYPH T027
+13328 ; [.4205.0020.0002] # EGYPTIAN HIEROGLYPH T028
+13329 ; [.4206.0020.0002] # EGYPTIAN HIEROGLYPH T029
+1332A ; [.4207.0020.0002] # EGYPTIAN HIEROGLYPH T030
+1332B ; [.4208.0020.0002] # EGYPTIAN HIEROGLYPH T031
+1332C ; [.4209.0020.0002] # EGYPTIAN HIEROGLYPH T032
+1332D ; [.420A.0020.0002] # EGYPTIAN HIEROGLYPH T032A
+1332E ; [.420B.0020.0002] # EGYPTIAN HIEROGLYPH T033
+1332F ; [.420C.0020.0002] # EGYPTIAN HIEROGLYPH T033A
+13330 ; [.420D.0020.0002] # EGYPTIAN HIEROGLYPH T034
+13331 ; [.420E.0020.0002] # EGYPTIAN HIEROGLYPH T035
+13332 ; [.420F.0020.0002] # EGYPTIAN HIEROGLYPH T036
+13333 ; [.4210.0020.0002] # EGYPTIAN HIEROGLYPH U001
+13334 ; [.4211.0020.0002] # EGYPTIAN HIEROGLYPH U002
+13335 ; [.4212.0020.0002] # EGYPTIAN HIEROGLYPH U003
+13336 ; [.4213.0020.0002] # EGYPTIAN HIEROGLYPH U004
+13337 ; [.4214.0020.0002] # EGYPTIAN HIEROGLYPH U005
+13338 ; [.4215.0020.0002] # EGYPTIAN HIEROGLYPH U006
+13339 ; [.4216.0020.0002] # EGYPTIAN HIEROGLYPH U006A
+1333A ; [.4217.0020.0002] # EGYPTIAN HIEROGLYPH U006B
+1333B ; [.4218.0020.0002] # EGYPTIAN HIEROGLYPH U007
+1333C ; [.4219.0020.0002] # EGYPTIAN HIEROGLYPH U008
+1333D ; [.421A.0020.0002] # EGYPTIAN HIEROGLYPH U009
+1333E ; [.421B.0020.0002] # EGYPTIAN HIEROGLYPH U010
+1333F ; [.421C.0020.0002] # EGYPTIAN HIEROGLYPH U011
+13340 ; [.421D.0020.0002] # EGYPTIAN HIEROGLYPH U012
+13341 ; [.421E.0020.0002] # EGYPTIAN HIEROGLYPH U013
+13342 ; [.421F.0020.0002] # EGYPTIAN HIEROGLYPH U014
+13343 ; [.4220.0020.0002] # EGYPTIAN HIEROGLYPH U015
+13344 ; [.4221.0020.0002] # EGYPTIAN HIEROGLYPH U016
+13345 ; [.4222.0020.0002] # EGYPTIAN HIEROGLYPH U017
+13346 ; [.4223.0020.0002] # EGYPTIAN HIEROGLYPH U018
+13347 ; [.4224.0020.0002] # EGYPTIAN HIEROGLYPH U019
+13348 ; [.4225.0020.0002] # EGYPTIAN HIEROGLYPH U020
+13349 ; [.4226.0020.0002] # EGYPTIAN HIEROGLYPH U021
+1334A ; [.4227.0020.0002] # EGYPTIAN HIEROGLYPH U022
+1334B ; [.4228.0020.0002] # EGYPTIAN HIEROGLYPH U023
+1334C ; [.4229.0020.0002] # EGYPTIAN HIEROGLYPH U023A
+1334D ; [.422A.0020.0002] # EGYPTIAN HIEROGLYPH U024
+1334E ; [.422B.0020.0002] # EGYPTIAN HIEROGLYPH U025
+1334F ; [.422C.0020.0002] # EGYPTIAN HIEROGLYPH U026
+13350 ; [.422D.0020.0002] # EGYPTIAN HIEROGLYPH U027
+13351 ; [.422E.0020.0002] # EGYPTIAN HIEROGLYPH U028
+13352 ; [.422F.0020.0002] # EGYPTIAN HIEROGLYPH U029
+13353 ; [.4230.0020.0002] # EGYPTIAN HIEROGLYPH U029A
+13354 ; [.4231.0020.0002] # EGYPTIAN HIEROGLYPH U030
+13355 ; [.4232.0020.0002] # EGYPTIAN HIEROGLYPH U031
+13356 ; [.4233.0020.0002] # EGYPTIAN HIEROGLYPH U032
+13357 ; [.4234.0020.0002] # EGYPTIAN HIEROGLYPH U032A
+13358 ; [.4235.0020.0002] # EGYPTIAN HIEROGLYPH U033
+13359 ; [.4236.0020.0002] # EGYPTIAN HIEROGLYPH U034
+1335A ; [.4237.0020.0002] # EGYPTIAN HIEROGLYPH U035
+1335B ; [.4238.0020.0002] # EGYPTIAN HIEROGLYPH U036
+1335C ; [.4239.0020.0002] # EGYPTIAN HIEROGLYPH U037
+1335D ; [.423A.0020.0002] # EGYPTIAN HIEROGLYPH U038
+1335E ; [.423B.0020.0002] # EGYPTIAN HIEROGLYPH U039
+1335F ; [.423C.0020.0002] # EGYPTIAN HIEROGLYPH U040
+13360 ; [.423D.0020.0002] # EGYPTIAN HIEROGLYPH U041
+13361 ; [.423E.0020.0002] # EGYPTIAN HIEROGLYPH U042
+13362 ; [.423F.0020.0002] # EGYPTIAN HIEROGLYPH V001
+13363 ; [.4240.0020.0002] # EGYPTIAN HIEROGLYPH V001A
+13364 ; [.4241.0020.0002] # EGYPTIAN HIEROGLYPH V001B
+13365 ; [.4242.0020.0002] # EGYPTIAN HIEROGLYPH V001C
+13366 ; [.4243.0020.0002] # EGYPTIAN HIEROGLYPH V001D
+13367 ; [.4244.0020.0002] # EGYPTIAN HIEROGLYPH V001E
+13368 ; [.4245.0020.0002] # EGYPTIAN HIEROGLYPH V001F
+13369 ; [.4246.0020.0002] # EGYPTIAN HIEROGLYPH V001G
+1336A ; [.4247.0020.0002] # EGYPTIAN HIEROGLYPH V001H
+1336B ; [.4248.0020.0002] # EGYPTIAN HIEROGLYPH V001I
+1336C ; [.4249.0020.0002] # EGYPTIAN HIEROGLYPH V002
+1336D ; [.424A.0020.0002] # EGYPTIAN HIEROGLYPH V002A
+1336E ; [.424B.0020.0002] # EGYPTIAN HIEROGLYPH V003
+1336F ; [.424C.0020.0002] # EGYPTIAN HIEROGLYPH V004
+13370 ; [.424D.0020.0002] # EGYPTIAN HIEROGLYPH V005
+13371 ; [.424E.0020.0002] # EGYPTIAN HIEROGLYPH V006
+13372 ; [.424F.0020.0002] # EGYPTIAN HIEROGLYPH V007
+13373 ; [.4250.0020.0002] # EGYPTIAN HIEROGLYPH V007A
+13374 ; [.4251.0020.0002] # EGYPTIAN HIEROGLYPH V007B
+13375 ; [.4252.0020.0002] # EGYPTIAN HIEROGLYPH V008
+13376 ; [.4253.0020.0002] # EGYPTIAN HIEROGLYPH V009
+13377 ; [.4254.0020.0002] # EGYPTIAN HIEROGLYPH V010
+13378 ; [.4255.0020.0002] # EGYPTIAN HIEROGLYPH V011
+13379 ; [.4256.0020.0002] # EGYPTIAN HIEROGLYPH V011A
+1337A ; [.4257.0020.0002] # EGYPTIAN HIEROGLYPH V011B
+1337B ; [.4258.0020.0002] # EGYPTIAN HIEROGLYPH V011C
+1337C ; [.4259.0020.0002] # EGYPTIAN HIEROGLYPH V012
+1337D ; [.425A.0020.0002] # EGYPTIAN HIEROGLYPH V012A
+1337E ; [.425B.0020.0002] # EGYPTIAN HIEROGLYPH V012B
+1337F ; [.425C.0020.0002] # EGYPTIAN HIEROGLYPH V013
+13380 ; [.425D.0020.0002] # EGYPTIAN HIEROGLYPH V014
+13381 ; [.425E.0020.0002] # EGYPTIAN HIEROGLYPH V015
+13382 ; [.425F.0020.0002] # EGYPTIAN HIEROGLYPH V016
+13383 ; [.4260.0020.0002] # EGYPTIAN HIEROGLYPH V017
+13384 ; [.4261.0020.0002] # EGYPTIAN HIEROGLYPH V018
+13385 ; [.4262.0020.0002] # EGYPTIAN HIEROGLYPH V019
+13386 ; [.4263.0020.0002] # EGYPTIAN HIEROGLYPH V020
+13387 ; [.4264.0020.0002] # EGYPTIAN HIEROGLYPH V020A
+13388 ; [.4265.0020.0002] # EGYPTIAN HIEROGLYPH V020B
+13389 ; [.4266.0020.0002] # EGYPTIAN HIEROGLYPH V020C
+1338A ; [.4267.0020.0002] # EGYPTIAN HIEROGLYPH V020D
+1338B ; [.4268.0020.0002] # EGYPTIAN HIEROGLYPH V020E
+1338C ; [.4269.0020.0002] # EGYPTIAN HIEROGLYPH V020F
+1338D ; [.426A.0020.0002] # EGYPTIAN HIEROGLYPH V020G
+1338E ; [.426B.0020.0002] # EGYPTIAN HIEROGLYPH V020H
+1338F ; [.426C.0020.0002] # EGYPTIAN HIEROGLYPH V020I
+13390 ; [.426D.0020.0002] # EGYPTIAN HIEROGLYPH V020J
+13391 ; [.426E.0020.0002] # EGYPTIAN HIEROGLYPH V020K
+13392 ; [.426F.0020.0002] # EGYPTIAN HIEROGLYPH V020L
+13393 ; [.4270.0020.0002] # EGYPTIAN HIEROGLYPH V021
+13394 ; [.4271.0020.0002] # EGYPTIAN HIEROGLYPH V022
+13395 ; [.4272.0020.0002] # EGYPTIAN HIEROGLYPH V023
+13396 ; [.4273.0020.0002] # EGYPTIAN HIEROGLYPH V023A
+13397 ; [.4274.0020.0002] # EGYPTIAN HIEROGLYPH V024
+13398 ; [.4275.0020.0002] # EGYPTIAN HIEROGLYPH V025
+13399 ; [.4276.0020.0002] # EGYPTIAN HIEROGLYPH V026
+1339A ; [.4277.0020.0002] # EGYPTIAN HIEROGLYPH V027
+1339B ; [.4278.0020.0002] # EGYPTIAN HIEROGLYPH V028
+1339C ; [.4279.0020.0002] # EGYPTIAN HIEROGLYPH V028A
+1339D ; [.427A.0020.0002] # EGYPTIAN HIEROGLYPH V029
+1339E ; [.427B.0020.0002] # EGYPTIAN HIEROGLYPH V029A
+1339F ; [.427C.0020.0002] # EGYPTIAN HIEROGLYPH V030
+133A0 ; [.427D.0020.0002] # EGYPTIAN HIEROGLYPH V030A
+133A1 ; [.427E.0020.0002] # EGYPTIAN HIEROGLYPH V031
+133A2 ; [.427F.0020.0002] # EGYPTIAN HIEROGLYPH V031A
+133A3 ; [.4280.0020.0002] # EGYPTIAN HIEROGLYPH V032
+133A4 ; [.4281.0020.0002] # EGYPTIAN HIEROGLYPH V033
+133A5 ; [.4282.0020.0002] # EGYPTIAN HIEROGLYPH V033A
+133A6 ; [.4283.0020.0002] # EGYPTIAN HIEROGLYPH V034
+133A7 ; [.4284.0020.0002] # EGYPTIAN HIEROGLYPH V035
+133A8 ; [.4285.0020.0002] # EGYPTIAN HIEROGLYPH V036
+133A9 ; [.4286.0020.0002] # EGYPTIAN HIEROGLYPH V037
+133AA ; [.4287.0020.0002] # EGYPTIAN HIEROGLYPH V037A
+133AB ; [.4288.0020.0002] # EGYPTIAN HIEROGLYPH V038
+133AC ; [.4289.0020.0002] # EGYPTIAN HIEROGLYPH V039
+133AD ; [.428A.0020.0002] # EGYPTIAN HIEROGLYPH V040
+133AE ; [.428B.0020.0002] # EGYPTIAN HIEROGLYPH V040A
+133AF ; [.428C.0020.0002] # EGYPTIAN HIEROGLYPH W001
+133B0 ; [.428D.0020.0002] # EGYPTIAN HIEROGLYPH W002
+133B1 ; [.428E.0020.0002] # EGYPTIAN HIEROGLYPH W003
+133B2 ; [.428F.0020.0002] # EGYPTIAN HIEROGLYPH W003A
+133B3 ; [.4290.0020.0002] # EGYPTIAN HIEROGLYPH W004
+133B4 ; [.4291.0020.0002] # EGYPTIAN HIEROGLYPH W005
+133B5 ; [.4292.0020.0002] # EGYPTIAN HIEROGLYPH W006
+133B6 ; [.4293.0020.0002] # EGYPTIAN HIEROGLYPH W007
+133B7 ; [.4294.0020.0002] # EGYPTIAN HIEROGLYPH W008
+133B8 ; [.4295.0020.0002] # EGYPTIAN HIEROGLYPH W009
+133B9 ; [.4296.0020.0002] # EGYPTIAN HIEROGLYPH W009A
+133BA ; [.4297.0020.0002] # EGYPTIAN HIEROGLYPH W010
+133BB ; [.4298.0020.0002] # EGYPTIAN HIEROGLYPH W010A
+133BC ; [.4299.0020.0002] # EGYPTIAN HIEROGLYPH W011
+133BD ; [.429A.0020.0002] # EGYPTIAN HIEROGLYPH W012
+133BE ; [.429B.0020.0002] # EGYPTIAN HIEROGLYPH W013
+133BF ; [.429C.0020.0002] # EGYPTIAN HIEROGLYPH W014
+133C0 ; [.429D.0020.0002] # EGYPTIAN HIEROGLYPH W014A
+133C1 ; [.429E.0020.0002] # EGYPTIAN HIEROGLYPH W015
+133C2 ; [.429F.0020.0002] # EGYPTIAN HIEROGLYPH W016
+133C3 ; [.42A0.0020.0002] # EGYPTIAN HIEROGLYPH W017
+133C4 ; [.42A1.0020.0002] # EGYPTIAN HIEROGLYPH W017A
+133C5 ; [.42A2.0020.0002] # EGYPTIAN HIEROGLYPH W018
+133C6 ; [.42A3.0020.0002] # EGYPTIAN HIEROGLYPH W018A
+133C7 ; [.42A4.0020.0002] # EGYPTIAN HIEROGLYPH W019
+133C8 ; [.42A5.0020.0002] # EGYPTIAN HIEROGLYPH W020
+133C9 ; [.42A6.0020.0002] # EGYPTIAN HIEROGLYPH W021
+133CA ; [.42A7.0020.0002] # EGYPTIAN HIEROGLYPH W022
+133CB ; [.42A8.0020.0002] # EGYPTIAN HIEROGLYPH W023
+133CC ; [.42A9.0020.0002] # EGYPTIAN HIEROGLYPH W024
+133CD ; [.42AA.0020.0002] # EGYPTIAN HIEROGLYPH W024A
+133CE ; [.42AB.0020.0002] # EGYPTIAN HIEROGLYPH W025
+133CF ; [.42AC.0020.0002] # EGYPTIAN HIEROGLYPH X001
+133D0 ; [.42AD.0020.0002] # EGYPTIAN HIEROGLYPH X002
+133D1 ; [.42AE.0020.0002] # EGYPTIAN HIEROGLYPH X003
+133D2 ; [.42AF.0020.0002] # EGYPTIAN HIEROGLYPH X004
+133D3 ; [.42B0.0020.0002] # EGYPTIAN HIEROGLYPH X004A
+133D4 ; [.42B1.0020.0002] # EGYPTIAN HIEROGLYPH X004B
+133D5 ; [.42B2.0020.0002] # EGYPTIAN HIEROGLYPH X005
+133D6 ; [.42B3.0020.0002] # EGYPTIAN HIEROGLYPH X006
+133D7 ; [.42B4.0020.0002] # EGYPTIAN HIEROGLYPH X006A
+133D8 ; [.42B5.0020.0002] # EGYPTIAN HIEROGLYPH X007
+133D9 ; [.42B6.0020.0002] # EGYPTIAN HIEROGLYPH X008
+133DA ; [.42B7.0020.0002] # EGYPTIAN HIEROGLYPH X008A
+133DB ; [.42B8.0020.0002] # EGYPTIAN HIEROGLYPH Y001
+133DC ; [.42B9.0020.0002] # EGYPTIAN HIEROGLYPH Y001A
+133DD ; [.42BA.0020.0002] # EGYPTIAN HIEROGLYPH Y002
+133DE ; [.42BB.0020.0002] # EGYPTIAN HIEROGLYPH Y003
+133DF ; [.42BC.0020.0002] # EGYPTIAN HIEROGLYPH Y004
+133E0 ; [.42BD.0020.0002] # EGYPTIAN HIEROGLYPH Y005
+133E1 ; [.42BE.0020.0002] # EGYPTIAN HIEROGLYPH Y006
+133E2 ; [.42BF.0020.0002] # EGYPTIAN HIEROGLYPH Y007
+133E3 ; [.42C0.0020.0002] # EGYPTIAN HIEROGLYPH Y008
+133E4 ; [.42C1.0020.0002] # EGYPTIAN HIEROGLYPH Z001
+133E5 ; [.42C2.0020.0002] # EGYPTIAN HIEROGLYPH Z002
+133E6 ; [.42C3.0020.0002] # EGYPTIAN HIEROGLYPH Z002A
+133E7 ; [.42C4.0020.0002] # EGYPTIAN HIEROGLYPH Z002B
+133E8 ; [.42C5.0020.0002] # EGYPTIAN HIEROGLYPH Z002C
+133E9 ; [.42C6.0020.0002] # EGYPTIAN HIEROGLYPH Z002D
+133EA ; [.42C7.0020.0002] # EGYPTIAN HIEROGLYPH Z003
+133EB ; [.42C8.0020.0002] # EGYPTIAN HIEROGLYPH Z003A
+133EC ; [.42C9.0020.0002] # EGYPTIAN HIEROGLYPH Z003B
+133ED ; [.42CA.0020.0002] # EGYPTIAN HIEROGLYPH Z004
+133EE ; [.42CB.0020.0002] # EGYPTIAN HIEROGLYPH Z004A
+133EF ; [.42CC.0020.0002] # EGYPTIAN HIEROGLYPH Z005
+133F0 ; [.42CD.0020.0002] # EGYPTIAN HIEROGLYPH Z005A
+133F1 ; [.42CE.0020.0002] # EGYPTIAN HIEROGLYPH Z006
+133F2 ; [.42CF.0020.0002] # EGYPTIAN HIEROGLYPH Z007
+133F3 ; [.42D0.0020.0002] # EGYPTIAN HIEROGLYPH Z008
+133F4 ; [.42D1.0020.0002] # EGYPTIAN HIEROGLYPH Z009
+133F5 ; [.42D2.0020.0002] # EGYPTIAN HIEROGLYPH Z010
+133F6 ; [.42D3.0020.0002] # EGYPTIAN HIEROGLYPH Z011
+133F7 ; [.42D4.0020.0002] # EGYPTIAN HIEROGLYPH Z012
+133F8 ; [.42D5.0020.0002] # EGYPTIAN HIEROGLYPH Z013
+133F9 ; [.42D6.0020.0002] # EGYPTIAN HIEROGLYPH Z014
+133FA ; [.42D7.0020.0002] # EGYPTIAN HIEROGLYPH Z015
+133FB ; [.42D8.0020.0002] # EGYPTIAN HIEROGLYPH Z015A
+133FC ; [.42D9.0020.0002] # EGYPTIAN HIEROGLYPH Z015B
+133FD ; [.42DA.0020.0002] # EGYPTIAN HIEROGLYPH Z015C
+133FE ; [.42DB.0020.0002] # EGYPTIAN HIEROGLYPH Z015D
+133FF ; [.42DC.0020.0002] # EGYPTIAN HIEROGLYPH Z015E
+13400 ; [.42DD.0020.0002] # EGYPTIAN HIEROGLYPH Z015F
+13401 ; [.42DE.0020.0002] # EGYPTIAN HIEROGLYPH Z015G
+13402 ; [.42DF.0020.0002] # EGYPTIAN HIEROGLYPH Z015H
+13403 ; [.42E0.0020.0002] # EGYPTIAN HIEROGLYPH Z015I
+13404 ; [.42E1.0020.0002] # EGYPTIAN HIEROGLYPH Z016
+13405 ; [.42E2.0020.0002] # EGYPTIAN HIEROGLYPH Z016A
+13406 ; [.42E3.0020.0002] # EGYPTIAN HIEROGLYPH Z016B
+13407 ; [.42E4.0020.0002] # EGYPTIAN HIEROGLYPH Z016C
+13408 ; [.42E5.0020.0002] # EGYPTIAN HIEROGLYPH Z016D
+13409 ; [.42E6.0020.0002] # EGYPTIAN HIEROGLYPH Z016E
+1340A ; [.42E7.0020.0002] # EGYPTIAN HIEROGLYPH Z016F
+1340B ; [.42E8.0020.0002] # EGYPTIAN HIEROGLYPH Z016G
+1340C ; [.42E9.0020.0002] # EGYPTIAN HIEROGLYPH Z016H
+1340D ; [.42EA.0020.0002] # EGYPTIAN HIEROGLYPH AA001
+1340E ; [.42EB.0020.0002] # EGYPTIAN HIEROGLYPH AA002
+1340F ; [.42EC.0020.0002] # EGYPTIAN HIEROGLYPH AA003
+13410 ; [.42ED.0020.0002] # EGYPTIAN HIEROGLYPH AA004
+13411 ; [.42EE.0020.0002] # EGYPTIAN HIEROGLYPH AA005
+13412 ; [.42EF.0020.0002] # EGYPTIAN HIEROGLYPH AA006
+13413 ; [.42F0.0020.0002] # EGYPTIAN HIEROGLYPH AA007
+13414 ; [.42F1.0020.0002] # EGYPTIAN HIEROGLYPH AA007A
+13415 ; [.42F2.0020.0002] # EGYPTIAN HIEROGLYPH AA007B
+13416 ; [.42F3.0020.0002] # EGYPTIAN HIEROGLYPH AA008
+13417 ; [.42F4.0020.0002] # EGYPTIAN HIEROGLYPH AA009
+13418 ; [.42F5.0020.0002] # EGYPTIAN HIEROGLYPH AA010
+13419 ; [.42F6.0020.0002] # EGYPTIAN HIEROGLYPH AA011
+1341A ; [.42F7.0020.0002] # EGYPTIAN HIEROGLYPH AA012
+1341B ; [.42F8.0020.0002] # EGYPTIAN HIEROGLYPH AA013
+1341C ; [.42F9.0020.0002] # EGYPTIAN HIEROGLYPH AA014
+1341D ; [.42FA.0020.0002] # EGYPTIAN HIEROGLYPH AA015
+1341E ; [.42FB.0020.0002] # EGYPTIAN HIEROGLYPH AA016
+1341F ; [.42FC.0020.0002] # EGYPTIAN HIEROGLYPH AA017
+13420 ; [.42FD.0020.0002] # EGYPTIAN HIEROGLYPH AA018
+13421 ; [.42FE.0020.0002] # EGYPTIAN HIEROGLYPH AA019
+13422 ; [.42FF.0020.0002] # EGYPTIAN HIEROGLYPH AA020
+13423 ; [.4300.0020.0002] # EGYPTIAN HIEROGLYPH AA021
+13424 ; [.4301.0020.0002] # EGYPTIAN HIEROGLYPH AA022
+13425 ; [.4302.0020.0002] # EGYPTIAN HIEROGLYPH AA023
+13426 ; [.4303.0020.0002] # EGYPTIAN HIEROGLYPH AA024
+13427 ; [.4304.0020.0002] # EGYPTIAN HIEROGLYPH AA025
+13428 ; [.4305.0020.0002] # EGYPTIAN HIEROGLYPH AA026
+13429 ; [.4306.0020.0002] # EGYPTIAN HIEROGLYPH AA027
+1342A ; [.4307.0020.0002] # EGYPTIAN HIEROGLYPH AA028
+1342B ; [.4308.0020.0002] # EGYPTIAN HIEROGLYPH AA029
+1342C ; [.4309.0020.0002] # EGYPTIAN HIEROGLYPH AA030
+1342D ; [.430A.0020.0002] # EGYPTIAN HIEROGLYPH AA031
+1342E ; [.430B.0020.0002] # EGYPTIAN HIEROGLYPH AA032
+109A0 ; [.430C.0020.0002] # MEROITIC CURSIVE LETTER A
+10980 ; [.430C.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER A
+109A1 ; [.430D.0020.0002] # MEROITIC CURSIVE LETTER E
+10981 ; [.430D.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER E
+109A2 ; [.430E.0020.0002] # MEROITIC CURSIVE LETTER I
+10982 ; [.430E.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER I
+109A3 ; [.430F.0020.0002] # MEROITIC CURSIVE LETTER O
+10983 ; [.430F.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER O
+109A4 ; [.4310.0020.0002] # MEROITIC CURSIVE LETTER YA
+10984 ; [.4310.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER YA
+109A5 ; [.4311.0020.0002] # MEROITIC CURSIVE LETTER WA
+10985 ; [.4311.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER WA
+109A6 ; [.4312.0020.0002] # MEROITIC CURSIVE LETTER BA
+10986 ; [.4312.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER BA
+10987 ; [.4312.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER BA-2
+109A7 ; [.4313.0020.0002] # MEROITIC CURSIVE LETTER PA
+10988 ; [.4313.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER PA
+109A8 ; [.4314.0020.0002] # MEROITIC CURSIVE LETTER MA
+10989 ; [.4314.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER MA
+109A9 ; [.4315.0020.0002] # MEROITIC CURSIVE LETTER NA
+1098A ; [.4315.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER NA
+1098B ; [.4315.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER NA-2
+109AA ; [.4316.0020.0002] # MEROITIC CURSIVE LETTER NE
+1098C ; [.4316.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER NE
+1098D ; [.4316.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER NE-2
+109AB ; [.4317.0020.0002] # MEROITIC CURSIVE LETTER RA
+1098E ; [.4317.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER RA
+1098F ; [.4317.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER RA-2
+109AC ; [.4318.0020.0002] # MEROITIC CURSIVE LETTER LA
+10990 ; [.4318.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER LA
+109AD ; [.4319.0020.0002] # MEROITIC CURSIVE LETTER KHA
+10991 ; [.4319.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER KHA
+109AE ; [.431A.0020.0002] # MEROITIC CURSIVE LETTER HHA
+10992 ; [.431A.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER HHA
+109AF ; [.431B.0020.0002] # MEROITIC CURSIVE LETTER SA
+109B0 ; [.431B.0020.0004][.0000.00FC.0004] # MEROITIC CURSIVE LETTER ARCHAIC SA
+10993 ; [.431B.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER SA
+10994 ; [.431B.0020.0004][.0000.00FE.0004] # MEROITIC HIEROGLYPHIC LETTER SA-2
+109B1 ; [.431C.0020.0002] # MEROITIC CURSIVE LETTER SE
+10995 ; [.431C.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER SE
+109B2 ; [.431D.0020.0002] # MEROITIC CURSIVE LETTER KA
+10996 ; [.431D.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER KA
+109B3 ; [.431E.0020.0002] # MEROITIC CURSIVE LETTER QA
+10997 ; [.431E.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER QA
+109B4 ; [.431F.0020.0002] # MEROITIC CURSIVE LETTER TA
+10998 ; [.431F.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER TA
+10999 ; [.431F.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER TA-2
+109B5 ; [.4320.0020.0002] # MEROITIC CURSIVE LETTER TE
+1099A ; [.4320.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER TE
+1099B ; [.4320.0020.0004][.0000.00FD.0004] # MEROITIC HIEROGLYPHIC LETTER TE-2
+109B6 ; [.4321.0020.0002] # MEROITIC CURSIVE LETTER TO
+1099C ; [.4321.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER TO
+109B7 ; [.4322.0020.0002] # MEROITIC CURSIVE LETTER DA
+1099D ; [.4322.0020.0004][.0000.00FC.0004] # MEROITIC HIEROGLYPHIC LETTER DA
+109BE ; [.4323.0020.0002] # MEROITIC CURSIVE LOGOGRAM RMT
+109BF ; [.4324.0020.0002] # MEROITIC CURSIVE LOGOGRAM IMN
+1099E ; [.4325.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F ; [.4326.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+2F00 ; [.FB40.0020.0004][.CE00.0000.0000] # KANGXI RADICAL ONE
+3220 ; [*02FA.0020.0004][.FB40.0020.0004][.CE00.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3280 ; [.FB40.0020.0006][.CE00.0000.0000] # CIRCLED IDEOGRAPH ONE
+3192 ; [.FB40.0020.0014][.CE00.0000.0000] # IDEOGRAPHIC ANNOTATION ONE MARK
+1F229 ; [.FB40.0020.001C][.CE00.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.FB40.0020.0014][.CE01.0000.0000] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3226 ; [*02FA.0020.0004][.FB40.0020.0004][.CE03.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3286 ; [.FB40.0020.0006][.CE03.0000.0000] # CIRCLED IDEOGRAPH SEVEN
+3222 ; [*02FA.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+1F241 ; [*035C.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+3282 ; [.FB40.0020.0006][.CE09.0000.0000] # CIRCLED IDEOGRAPH THREE
+3194 ; [.FB40.0020.0014][.CE09.0000.0000] # IDEOGRAPHIC ANNOTATION THREE MARK
+1F22A ; [.FB40.0020.001C][.CE09.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+32A4 ; [.FB40.0020.0006][.CE0A.0000.0000] # CIRCLED IDEOGRAPH HIGH
+3196 ; [.FB40.0020.0014][.CE0A.0000.0000] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A6 ; [.FB40.0020.0006][.CE0B.0000.0000] # CIRCLED IDEOGRAPH LOW
+3198 ; [.FB40.0020.0014][.CE0B.0000.0000] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+F967 ; [.FB40.0020.0002][.CE0D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F967
+319B ; [.FB40.0020.0014][.CE19.0000.0000] # IDEOGRAPHIC ANNOTATION THIRD MARK
+FA70 ; [.FB40.0020.0002][.CE26.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA70
+2F01 ; [.FB40.0020.0004][.CE28.0000.0000] # KANGXI RADICAL LINE
+2EA6 ; [.FB40.0020.0004][.CE2C.0000.0000] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
+32A5 ; [.FB40.0020.0006][.CE2D.0000.0000] # CIRCLED IDEOGRAPH CENTRE
+3197 ; [.FB40.0020.0014][.CE2D.0000.0000] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+1F22D ; [.FB40.0020.001C][.CE2D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+F905 ; [.FB40.0020.0002][.CE32.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F02 ; [.FB40.0020.0004][.CE36.0000.0000] # KANGXI RADICAL DOT
+2E80 ; [.FB40.0020.0004][.CE36.0000.0000][.0000.00FC.0004] # CJK RADICAL REPEAT
+2F801 ; [.FB40.0020.0002][.CE38.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.FB40.0020.0002][.CE39.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.FB40.0020.0002][.CE3D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F03 ; [.FB40.0020.0004][.CE3F.0000.0000] # KANGXI RADICAL SLASH
+2F802 ; [.FB40.0020.0002][.CE41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F802
+2F04 ; [.FB40.0020.0004][.CE59.0000.0000] # KANGXI RADICAL SECOND
+319A ; [.FB40.0020.0014][.CE59.0000.0000] # IDEOGRAPHIC ANNOTATION SECOND MARK
+2E84 ; [.FB40.0020.0004][.CE59.0000.0000][.0000.00FC.0004] # CJK RADICAL SECOND THREE
+2E83 ; [.FB40.0020.0004][.CE5A.0000.0000] # CJK RADICAL SECOND TWO
+2E82 ; [.FB40.0020.0004][.CE5B.0000.0000] # CJK RADICAL SECOND ONE
+3228 ; [*02FA.0020.0004][.FB40.0020.0004][.CE5D.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3288 ; [.FB40.0020.0006][.CE5D.0000.0000] # CIRCLED IDEOGRAPH NINE
+F91B ; [.FB40.0020.0002][.CE82.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91B
+2F05 ; [.FB40.0020.0004][.CE85.0000.0000] # KANGXI RADICAL HOOK
+F9BA ; [.FB40.0020.0002][.CE86.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+2F06 ; [.FB40.0020.0004][.CE8C.0000.0000] # KANGXI RADICAL TWO
+3221 ; [*02FA.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+1F242 ; [*035C.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+3281 ; [.FB40.0020.0006][.CE8C.0000.0000] # CIRCLED IDEOGRAPH TWO
+3193 ; [.FB40.0020.0014][.CE8C.0000.0000] # IDEOGRAPHIC ANNOTATION TWO MARK
+1F214 ; [.FB40.0020.001C][.CE8C.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3224 ; [*02FA.0020.0004][.FB40.0020.0004][.CE94.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3284 ; [.FB40.0020.0006][.CE94.0000.0000] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.FB40.0020.0004][.CEA0.0000.0000] # KANGXI RADICAL LID
+1F218 ; [.FB40.0020.001C][.CEA4.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+F977 ; [.FB40.0020.0002][.CEAE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F977
+2F08 ; [.FB40.0020.0004][.CEBA.0000.0000] # KANGXI RADICAL MAN
+319F ; [.FB40.0020.0014][.CEBA.0000.0000] # IDEOGRAPHIC ANNOTATION MAN MARK
+2E85 ; [.FB40.0020.0004][.CEBB.0000.0000] # CJK RADICAL PERSON
+F9FD ; [.FB40.0020.0002][.CEC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.FB40.0020.0002][.CECC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F819
+3239 ; [*02FA.0020.0004][.FB40.0020.0004][.CEE3.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+F9A8 ; [.FB40.0020.0002][.CEE4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+323D ; [*02FA.0020.0004][.FB40.0020.0004][.CF01.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+32AD ; [.FB40.0020.0006][.CF01.0000.0000] # CIRCLED IDEOGRAPH ENTERPRISE
+3241 ; [*02FA.0020.0004][.FB40.0020.0004][.CF11.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+32A1 ; [.FB40.0020.0006][.CF11.0000.0000] # CIRCLED IDEOGRAPH REST
+2F804 ; [.FB40.0020.0002][.CF60.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.FB40.0020.0002][.CF80.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.FB40.0020.0002][.CF86.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.FB40.0020.0002][.CF8B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.FB40.0020.0002][.CFAE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.FB40.0020.0002][.CFAE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.FB40.0020.0002][.CFBB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.FB40.0020.0002][.CFBF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.FB40.0020.0002][.D002.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.FB40.0020.0002][.D02B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.FB40.0020.0002][.D07A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.FB40.0020.0002][.D099.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.FB40.0020.0002][.D0CF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.FB40.0020.0002][.D0DA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.FB40.0020.0002][.D0E7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.FB40.0020.0002][.D0E7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+329D ; [.FB40.0020.0006][.D12A.0000.0000] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.FB40.0020.0004][.D13F.0000.0000] # KANGXI RADICAL LEGS
+FA0C ; [.FB40.0020.0002][.D140.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.FB40.0020.0002][.D145.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.FB40.0020.0002][.D14D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.FB40.0020.0002][.D14D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.FB40.0020.0002][.D154.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.FB40.0020.0002][.D164.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F0A ; [.FB40.0020.0004][.D165.0000.0000] # KANGXI RADICAL ENTER
+2F814 ; [.FB40.0020.0002][.D167.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.FB40.0020.0002][.D168.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.FB40.0020.0002][.D169.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F978
+2F0B ; [.FB40.0020.0004][.D16B.0000.0000] # KANGXI RADICAL EIGHT
+3227 ; [*02FA.0020.0004][.FB40.0020.0004][.D16B.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3287 ; [.FB40.0020.0006][.D16B.0000.0000] # CIRCLED IDEOGRAPH EIGHT
+F9D1 ; [.FB40.0020.0002][.D16D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+3225 ; [*02FA.0020.0004][.FB40.0020.0004][.D16D.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3285 ; [.FB40.0020.0006][.D16D.0000.0000] # CIRCLED IDEOGRAPH SIX
+2F811 ; [.FB40.0020.0002][.D177.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.FB40.0020.0002][.D180.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F0C ; [.FB40.0020.0004][.D182.0000.0000] # KANGXI RADICAL DOWN BOX
+2E86 ; [.FB40.0020.0004][.D182.0000.0000][.0000.00FC.0004] # CJK RADICAL BOX
+2F815 ; [.FB40.0020.0002][.D18D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F815
+1F21E ; [.FB40.0020.001C][.D18D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F8D2 ; [.FB40.0020.0002][.D192.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.FB40.0020.0002][.D195.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F0D ; [.FB40.0020.0004][.D196.0000.0000] # KANGXI RADICAL COVER
+2F817 ; [.FB40.0020.0002][.D197.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F817
+32A2 ; [.FB40.0020.0006][.D199.0000.0000] # CIRCLED IDEOGRAPH COPY
+2F818 ; [.FB40.0020.0002][.D1A4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F0E ; [.FB40.0020.0004][.D1AB.0000.0000] # KANGXI RADICAL ICE
+2F81A ; [.FB40.0020.0002][.D1AC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.FB40.0020.0002][.D1B5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.FB40.0020.0002][.D1B5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.FB40.0020.0002][.D1B7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.FB40.0020.0002][.D1C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.FB40.0020.0002][.D1CC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.FB40.0020.0002][.D1DC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.FB40.0020.0002][.D1DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F0F ; [.FB40.0020.0004][.D1E0.0000.0000] # KANGXI RADICAL TABLE
+2E87 ; [.FB40.0020.0004][.D1E0.0000.0000][.0000.00FC.0004] # CJK RADICAL TABLE
+2F81D ; [.FB40.0020.0002][.D1F5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F10 ; [.FB40.0020.0004][.D1F5.0000.0000] # KANGXI RADICAL OPEN BOX
+2F11 ; [.FB40.0020.0004][.D200.0000.0000] # KANGXI RADICAL KNIFE
+2E88 ; [.FB40.0020.0004][.D200.0000.0000][.0000.00FC.0004] # CJK RADICAL KNIFE ONE
+2E89 ; [.FB40.0020.0004][.D202.0000.0000] # CJK RADICAL KNIFE TWO
+2F81E ; [.FB40.0020.0002][.D203.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.FB40.0020.0002][.D207.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.FB40.0020.0002][.D207.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.FB40.0020.0002][.D217.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99C
+1F220 ; [.FB40.0020.001C][.D21D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+F9DD ; [.FB40.0020.0002][.D229.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.FB40.0020.0002][.D23A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.FB40.0020.0002][.D23B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.FB40.0020.0002][.D246.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F821
+1F21C ; [.FB40.0020.001C][.D24D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+2F822 ; [.FB40.0020.0002][.D272.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F822
+1F239 ; [.FB40.0020.001C][.D272.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F823 ; [.FB40.0020.0002][.D277.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.FB40.0020.0002][.D289.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.FB40.0020.0002][.D29B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98A
+2F12 ; [.FB40.0020.0004][.D29B.0000.0000] # KANGXI RADICAL POWER
+F99D ; [.FB40.0020.0002][.D2A3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.FB40.0020.0002][.D2B3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F992
+3238 ; [*02FA.0020.0004][.FB40.0020.0004][.D2B4.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3298 ; [.FB40.0020.0006][.D2B4.0000.0000] # CIRCLED IDEOGRAPH LABOR
+FA76 ; [.FB40.0020.0002][.D2C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.FB40.0020.0002][.D2C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.FB40.0020.0002][.D2C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.FB40.0020.0002][.D2C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.FB40.0020.0002][.D2D2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F952
+1F247 ; [*035C.0020.0004][.FB40.0020.0004][.D2DD.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+F92F ; [.FB40.0020.0002][.D2DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.FB40.0020.0002][.D2E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.FB40.0020.0002][.D2E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.FB40.0020.0002][.D2F5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97F
+2F13 ; [.FB40.0020.0004][.D2F9.0000.0000] # KANGXI RADICAL WRAP
+FA77 ; [.FB40.0020.0002][.D2FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.FB40.0020.0002][.D2FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.FB40.0020.0002][.D305.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.FB40.0020.0002][.D306.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+2F14 ; [.FB40.0020.0004][.D315.0000.0000] # KANGXI RADICAL SPOON
+F963 ; [.FB40.0020.0002][.D317.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.FB40.0020.0002][.D317.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+2F15 ; [.FB40.0020.0004][.D31A.0000.0000] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.FB40.0020.0004][.D338.0000.0000] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.FB40.0020.0006][.D33B.0000.0000] # CIRCLED IDEOGRAPH MEDICINE
+F9EB ; [.FB40.0020.0002][.D33F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F17 ; [.FB40.0020.0004][.D341.0000.0000] # KANGXI RADICAL TEN
+3038 ; [.FB40.0020.0004][.D341.0000.0000] # HANGZHOU NUMERAL TEN
+3229 ; [*02FA.0020.0004][.FB40.0020.0004][.D341.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+3289 ; [.FB40.0020.0006][.D341.0000.0000] # CIRCLED IDEOGRAPH TEN
+3039 ; [.FB40.0020.0004][.D344.0000.0000] # HANGZHOU NUMERAL TWENTY
+303A ; [.FB40.0020.0004][.D345.0000.0000] # HANGZHOU NUMERAL THIRTY
+2F82C ; [.FB40.0020.0002][.D349.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.FB40.0020.0002][.D351.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.FB40.0020.0002][.D351.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+323F ; [*02FA.0020.0004][.FB40.0020.0004][.D354.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+32AF ; [.FB40.0020.0006][.D354.0000.0000] # CIRCLED IDEOGRAPH ALLIANCE
+2F82E ; [.FB40.0020.0002][.D35A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F18 ; [.FB40.0020.0004][.D35C.0000.0000] # KANGXI RADICAL DIVINATION
+2E8A ; [.FB40.0020.0004][.D35C.0000.0000][.0000.00FC.0004] # CJK RADICAL DIVINATION
+2F19 ; [.FB40.0020.0004][.D369.0000.0000] # KANGXI RADICAL SEAL
+2E8B ; [.FB40.0020.0004][.D369.0000.0000][.0000.00FC.0004] # CJK RADICAL SEAL
+329E ; [.FB40.0020.0006][.D370.0000.0000] # CIRCLED IDEOGRAPH PRINT
+2F82F ; [.FB40.0020.0002][.D373.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.FB40.0020.0002][.D375.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.FB40.0020.0002][.D37D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.FB40.0020.0002][.D37F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.FB40.0020.0002][.D37F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.FB40.0020.0002][.D37F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F1A ; [.FB40.0020.0004][.D382.0000.0000] # KANGXI RADICAL CLIFF
+2E81 ; [.FB40.0020.0004][.D382.0000.0000][.0000.00FC.0004] # CJK RADICAL CLIFF
+2F1B ; [.FB40.0020.0004][.D3B6.0000.0000] # KANGXI RADICAL PRIVATE
+F96B ; [.FB40.0020.0002][.D3C3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F1C ; [.FB40.0020.0004][.D3C8.0000.0000] # KANGXI RADICAL AGAIN
+2F836 ; [.FB40.0020.0002][.D3CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F836
+1F212 ; [.FB40.0020.001C][.D3CC.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F837 ; [.FB40.0020.0002][.D3DF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F837
+2F1D ; [.FB40.0020.0004][.D3E3.0000.0000] # KANGXI RADICAL MOUTH
+F906 ; [.FB40.0020.0002][.D3E5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.FB40.0020.0002][.D3EB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F839
+1F251 ; [.FB40.0020.0006][.D3EF.0000.0000] # CIRCLED IDEOGRAPH ACCEPT
+2F83A ; [.FB40.0020.0002][.D3F1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+32A8 ; [.FB40.0020.0006][.D3F3.0000.0000] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.FB40.0020.001C][.D3F3.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+2F83B ; [.FB40.0020.0002][.D406.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+1F234 ; [.FB40.0020.001C][.D408.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3234 ; [*02FA.0020.0004][.FB40.0020.0004][.D40D.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+3294 ; [.FB40.0020.0006][.D40D.0000.0000] # CIRCLED IDEOGRAPH NAME
+F9DE ; [.FB40.0020.0002][.D40F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.FB40.0020.0002][.D41D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.FB40.0020.0002][.D438.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+1F225 ; [.FB40.0020.001C][.D439.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+F980 ; [.FB40.0020.0002][.D442.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.FB40.0020.0002][.D448.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.FB40.0020.0002][.D468.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+323A ; [*02FA.0020.0004][.FB40.0020.0004][.D47C.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+2F83C ; [.FB40.0020.0002][.D49E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.FB40.0020.0002][.D4A2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.FB40.0020.0002][.D4BD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.FB40.0020.0002][.D4F6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.FB40.0020.0002][.D510.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F842
+3244 ; [.FB40.0020.0006][.D54F.0000.0000] # CIRCLED IDEOGRAPH QUESTION
+2F843 ; [.FB40.0020.0002][.D553.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.FB40.0020.0002][.D555.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.FB40.0020.0002][.D563.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.FB40.0020.0002][.D584.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.FB40.0020.0002][.D584.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.FB40.0020.0002][.D587.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.FB40.0020.0002][.D599.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.FB40.0020.0002][.D599.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.FB40.0020.0002][.D59D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.FB40.0020.0002][.D59D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.FB40.0020.0002][.D5AB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.FB40.0020.0002][.D5B3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F849
+1F23A ; [.FB40.0020.001C][.D5B6.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+FA0D ; [.FB40.0020.0002][.D5C0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.FB40.0020.0002][.D5C2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.FB40.0020.0002][.D5E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.FB40.0020.0002][.D606.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.FB40.0020.0002][.D606.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.FB40.0020.0002][.D651.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.FB40.0020.0002][.D668.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.FB40.0020.0002][.D674.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+2F1E ; [.FB40.0020.0004][.D6D7.0000.0000] # KANGXI RADICAL ENCLOSURE
+3223 ; [*02FA.0020.0004][.FB40.0020.0004][.D6DB.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+3283 ; [.FB40.0020.0006][.D6DB.0000.0000] # CIRCLED IDEOGRAPH FOUR
+3195 ; [.FB40.0020.0014][.D6DB.0000.0000] # IDEOGRAPHIC ANNOTATION FOUR MARK
+F9A9 ; [.FB40.0020.0002][.D6F9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.FB40.0020.0002][.D716.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.FB40.0020.0002][.D717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F1F ; [.FB40.0020.0004][.D71F.0000.0000] # KANGXI RADICAL EARTH
+322F ; [*02FA.0020.0004][.FB40.0020.0004][.D71F.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+328F ; [.FB40.0020.0006][.D71F.0000.0000] # CIRCLED IDEOGRAPH EARTH
+319E ; [.FB40.0020.0014][.D730.0000.0000] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F855 ; [.FB40.0020.0002][.D78B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.FB40.0020.0002][.D7CE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.FB40.0020.0002][.D7F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.FB40.0020.0002][.D80D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.FB40.0020.0002][.D831.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.FB40.0020.0002][.D832.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.FB40.0020.0002][.D840.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.FB40.0020.0002][.D85A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.FB40.0020.0002][.D85A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.FB40.0020.0002][.D85E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.FB40.0020.0002][.D8A8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.FB40.0020.0002][.D8AC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.FB40.0020.0002][.D8B3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.FB40.0020.0002][.D8D8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.FB40.0020.0002][.D8DF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F20 ; [.FB40.0020.0004][.D8EB.0000.0000] # KANGXI RADICAL SCHOLAR
+2F851 ; [.FB40.0020.0002][.D8EE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F851
+1F224 ; [.FB40.0020.001C][.D8F0.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F85A ; [.FB40.0020.0002][.D8F2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.FB40.0020.0002][.D8F7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F21 ; [.FB40.0020.0004][.D902.0000.0000] # KANGXI RADICAL GO
+2F85C ; [.FB40.0020.0002][.D906.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F22 ; [.FB40.0020.0004][.D90A.0000.0000] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.FB40.0020.0004][.D915.0000.0000] # KANGXI RADICAL EVENING
+2F85D ; [.FB40.0020.0002][.D91A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+1F215 ; [.FB40.0020.001C][.D91A.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.FB40.0020.0006][.D91C.0000.0000] # CIRCLED IDEOGRAPH NIGHT
+2F85E ; [.FB40.0020.0002][.D922.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+2F24 ; [.FB40.0020.0004][.D927.0000.0000] # KANGXI RADICAL BIG
+337D ; [.FB40.0020.001C][.D927.0000.0000][.FB40.0020.001C][.EB63.0000.0000] # SQUARE ERA NAME TAISYOU
+319D ; [.FB40.0020.0014][.D929.0000.0000] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.FB40.0020.001C][.D929.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+FA7E ; [.FB40.0020.0002][.D944.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.FB40.0020.0002][.D948.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.FB40.0020.0002][.D951.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.FB40.0020.0002][.D954.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.FB40.0020.0002][.D962.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.FB40.0020.0002][.D973.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F25 ; [.FB40.0020.0004][.D973.0000.0000] # KANGXI RADICAL WOMAN
+329B ; [.FB40.0020.0006][.D973.0000.0000] # CIRCLED IDEOGRAPH FEMALE
+2F865 ; [.FB40.0020.0002][.D9D8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.FB40.0020.0002][.D9EC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.FB40.0020.0002][.DA1B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.FB40.0020.0002][.DA27.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.FB40.0020.0002][.DA62.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.FB40.0020.0002][.DA66.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.FB40.0020.0002][.DAB5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.FB40.0020.0002][.DB08.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.FB40.0020.0002][.DB28.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.FB40.0020.0002][.DB3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.FB40.0020.0002][.DB3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+2F26 ; [.FB40.0020.0004][.DB50.0000.0000] # KANGXI RADICAL CHILD
+1F211 ; [.FB40.0020.001C][.DB57.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+323B ; [*02FA.0020.0004][.FB40.0020.0004][.DB66.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+32AB ; [.FB40.0020.0006][.DB66.0000.0000] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.FB40.0020.0004][.DB80.0000.0000] # KANGXI RADICAL ROOF
+FA04 ; [.FB40.0020.0002][.DB85.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA04
+1F243 ; [*035C.0020.0004][.FB40.0020.0004][.DB89.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+32AA ; [.FB40.0020.0006][.DB97.0000.0000] # CIRCLED IDEOGRAPH RELIGION
+2F86D ; [.FB40.0020.0002][.DBC3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.FB40.0020.0002][.DBD8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.FB40.0020.0002][.DBE7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.FB40.0020.0002][.DBE7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.FB40.0020.0002][.DBE7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.FB40.0020.0002][.DBEE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.FB40.0020.0002][.DBF3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F28 ; [.FB40.0020.0004][.DBF8.0000.0000] # KANGXI RADICAL INCH
+2F872 ; [.FB40.0020.0002][.DBFF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.FB40.0020.0002][.DC06.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F29 ; [.FB40.0020.0004][.DC0F.0000.0000] # KANGXI RADICAL SMALL
+2E8C ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.00FC.0004] # CJK RADICAL SMALL ONE
+2E8D ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.00FD.0004] # CJK RADICAL SMALL TWO
+2F875 ; [.FB40.0020.0002][.DC22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F875
+2E90 ; [.FB40.0020.0004][.DC22.0000.0000] # CJK RADICAL LAME THREE
+2F2A ; [.FB40.0020.0004][.DC22.0000.0000] # KANGXI RADICAL LAME
+2E8E ; [.FB40.0020.0004][.DC22.0000.0000][.0000.00FC.0004] # CJK RADICAL LAME ONE
+2E8F ; [.FB40.0020.0004][.DC23.0000.0000] # CJK RADICAL LAME TWO
+2E91 ; [.FB40.0020.0004][.DC23.0000.0000][.0000.00FC.0004] # CJK RADICAL LAME FOUR
+2F2B ; [.FB40.0020.0004][.DC38.0000.0000] # KANGXI RADICAL CORPSE
+F9BD ; [.FB40.0020.0002][.DC3F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.FB40.0020.0002][.DC60.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.FB40.0020.0002][.DC62.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.FB40.0020.0002][.DC64.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.FB40.0020.0002][.DC65.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.FB40.0020.0002][.DC6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.FB40.0020.0002][.DC6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F2C ; [.FB40.0020.0004][.DC6E.0000.0000] # KANGXI RADICAL SPROUT
+2F2D ; [.FB40.0020.0004][.DC71.0000.0000] # KANGXI RADICAL MOUNTAIN
+2F87A ; [.FB40.0020.0002][.DC8D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.FB40.0020.0002][.DCC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.FB40.0020.0002][.DD19.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.FB40.0020.0002][.DD43.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.FB40.0020.0002][.DD50.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.FB40.0020.0002][.DD6B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.FB40.0020.0002][.DD6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.FB40.0020.0002][.DD7C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.FB40.0020.0002][.DDB2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.FB40.0020.0002][.DDBA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F2E ; [.FB40.0020.0004][.DDDB.0000.0000] # KANGXI RADICAL RIVER
+2F881 ; [.FB40.0020.0002][.DDE1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.FB40.0020.0002][.DDE2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F2F ; [.FB40.0020.0004][.DDE5.0000.0000] # KANGXI RADICAL WORK
+32A7 ; [.FB40.0020.0006][.DDE6.0000.0000] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.FB40.0020.001C][.DDE6.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.FB40.0020.0004][.DDF1.0000.0000] # KANGXI RADICAL ONESELF
+2E92 ; [.FB40.0020.0004][.DDF3.0000.0000] # CJK RADICAL SNAKE
+2F884 ; [.FB40.0020.0002][.DDFD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F31 ; [.FB40.0020.0004][.DDFE.0000.0000] # KANGXI RADICAL TURBAN
+2F885 ; [.FB40.0020.0002][.DE28.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.FB40.0020.0002][.DE3D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.FB40.0020.0002][.DE69.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F887
+2F32 ; [.FB40.0020.0004][.DE72.0000.0000] # KANGXI RADICAL DRY
+337B ; [.FB40.0020.001C][.DE73.0000.0000][.FB40.0020.001C][.E210.0000.0000] # SQUARE ERA NAME HEISEI
+F98E ; [.FB40.0020.0002][.DE74.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98E
+2E93 ; [.FB40.0020.0004][.DE7A.0000.0000] # CJK RADICAL THREAD
+2F33 ; [.FB40.0020.0004][.DE7A.0000.0000] # KANGXI RADICAL SHORT THREAD
+3245 ; [.FB40.0020.0006][.DE7C.0000.0000] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.FB40.0020.0004][.DE7F.0000.0000] # KANGXI RADICAL DOTTED CLIFF
+FA01 ; [.FB40.0020.0002][.DEA6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.FB40.0020.0002][.DEB0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.FB40.0020.0002][.DEB3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.FB40.0020.0002][.DEB6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.FB40.0020.0002][.DEC9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.FB40.0020.0002][.DECA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.FB40.0020.0002][.DECA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.FB40.0020.0002][.DED2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.FB40.0020.0002][.DED3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.FB40.0020.0002][.DED9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.FB40.0020.0002][.DEEC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F35 ; [.FB40.0020.0004][.DEF4.0000.0000] # KANGXI RADICAL LONG STRIDE
+2F890 ; [.FB40.0020.0002][.DEFE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F890
+2F36 ; [.FB40.0020.0004][.DEFE.0000.0000] # KANGXI RADICAL TWO HANDS
+F943 ; [.FB40.0020.0002][.DF04.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F37 ; [.FB40.0020.0004][.DF0B.0000.0000] # KANGXI RADICAL SHOOT
+2F38 ; [.FB40.0020.0004][.DF13.0000.0000] # KANGXI RADICAL BOW
+2F894 ; [.FB40.0020.0002][.DF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.FB40.0020.0002][.DF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F39 ; [.FB40.0020.0004][.DF50.0000.0000] # KANGXI RADICAL SNOUT
+2E95 ; [.FB40.0020.0004][.DF50.0000.0000][.0000.00FC.0004] # CJK RADICAL SNOUT TWO
+2E94 ; [.FB40.0020.0004][.DF51.0000.0000] # CJK RADICAL SNOUT ONE
+2F874 ; [.FB40.0020.0002][.DF53.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F3A ; [.FB40.0020.0004][.DF61.0000.0000] # KANGXI RADICAL BRISTLE
+2F899 ; [.FB40.0020.0002][.DF62.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.FB40.0020.0002][.DF69.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.FB40.0020.0002][.DF6B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+2F3B ; [.FB40.0020.0004][.DF73.0000.0000] # KANGXI RADICAL STEP
+F9D8 ; [.FB40.0020.0002][.DF8B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+1F21D ; [.FB40.0020.001C][.DF8C.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.FB40.0020.0006][.DF97.0000.0000] # CIRCLED IDEOGRAPH ADVANTAGE
+2F89C ; [.FB40.0020.0002][.DF9A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.FB40.0020.0002][.DFA9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.FB40.0020.0002][.DFAD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F3C ; [.FB40.0020.0004][.DFC3.0000.0000] # KANGXI RADICAL HEART
+2E97 ; [.FB40.0020.0004][.DFC3.0000.0000][.0000.00FC.0004] # CJK RADICAL HEART TWO
+2E96 ; [.FB40.0020.0004][.DFC4.0000.0000] # CJK RADICAL HEART ONE
+2F89D ; [.FB40.0020.0002][.DFCD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.FB40.0020.0002][.DFD7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.FB40.0020.0002][.DFF5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.FB40.0020.0002][.DFF9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.FB40.0020.0002][.E012.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.FB40.0020.0002][.E01C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.FB40.0020.0002][.E075.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.FB40.0020.0002][.E081.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.FB40.0020.0002][.E094.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.FB40.0020.0002][.E094.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.FB40.0020.0002][.E0C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.FB40.0020.0002][.E0D8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.FB40.0020.0002][.E0E1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.FB40.0020.0002][.E108.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.FB40.0020.0002][.E144.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.FB40.0020.0002][.E148.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.FB40.0020.0002][.E14C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.FB40.0020.0002][.E14C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.FB40.0020.0002][.E14E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.FB40.0020.0002][.E14E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.FB40.0020.0002][.E160.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.FB40.0020.0002][.E168.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.FB40.0020.0002][.E17A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.FB40.0020.0002][.E18E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.FB40.0020.0002][.E18E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.FB40.0020.0002][.E18E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.FB40.0020.0002][.E190.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.FB40.0020.0002][.E1A4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.FB40.0020.0002][.E1AF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.FB40.0020.0002][.E1B2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.FB40.0020.0002][.E1DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.FB40.0020.0002][.E1F2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.FB40.0020.0002][.E1F2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.FB40.0020.0002][.E1F2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.FB40.0020.0002][.E1F6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.FB40.0020.0002][.E1F6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.FB40.0020.0002][.E200.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F3D ; [.FB40.0020.0004][.E208.0000.0000] # KANGXI RADICAL HALBERD
+2F8B2 ; [.FB40.0020.0002][.E210.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.FB40.0020.0002][.E21B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.FB40.0020.0002][.E22E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.FB40.0020.0002][.E234.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F3E ; [.FB40.0020.0004][.E236.0000.0000] # KANGXI RADICAL DOOR
+2F3F ; [.FB40.0020.0004][.E24B.0000.0000] # KANGXI RADICAL HAND
+1F210 ; [.FB40.0020.001C][.E24B.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+2E98 ; [.FB40.0020.0004][.E24C.0000.0000] # CJK RADICAL HAND
+1F245 ; [*035C.0020.0004][.FB40.0020.0004][.E253.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F231 ; [.FB40.0020.001C][.E253.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+2F8B4 ; [.FB40.0020.0002][.E25D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+1F227 ; [.FB40.0020.001C][.E295.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+2F8B5 ; [.FB40.0020.0002][.E2B1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.FB40.0020.0002][.E2C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.FB40.0020.0002][.E2CF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.FB40.0020.0002][.E2D3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.FB40.0020.0002][.E2D4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.FB40.0020.0002][.E2FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.FB40.0020.0002][.E2FE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F973
+1F22F ; [.FB40.0020.001C][.E307.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+2F8B9 ; [.FB40.0020.0002][.E33D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.FB40.0020.0002][.E350.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+1F228 ; [.FB40.0020.001C][.E355.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F8BB ; [.FB40.0020.0002][.E368.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.FB40.0020.0002][.E37B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.FB40.0020.0002][.E383.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.FB40.0020.0002][.E3A0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.FB40.0020.0002][.E3A9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.FB40.0020.0002][.E3C4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.FB40.0020.0002][.E3C5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.FB40.0020.0002][.E3E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.FB40.0020.0002][.E41C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.FB40.0020.0002][.E422.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.FB40.0020.0002][.E452.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.FB40.0020.0002][.E469.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.FB40.0020.0002][.E477.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.FB40.0020.0002][.E47E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.FB40.0020.0002][.E49A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.FB40.0020.0002][.E49D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.FB40.0020.0002][.E4C4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F930
+2F40 ; [.FB40.0020.0004][.E52F.0000.0000] # KANGXI RADICAL BRANCH
+2F41 ; [.FB40.0020.0004][.E534.0000.0000] # KANGXI RADICAL RAP
+2E99 ; [.FB40.0020.0004][.E535.0000.0000] # CJK RADICAL RAP
+FA41 ; [.FB40.0020.0002][.E54F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.FB40.0020.0002][.E54F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.FB40.0020.0002][.E556.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA90
+1F248 ; [*035C.0020.0004][.FB40.0020.0004][.E557.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+2F8C9 ; [.FB40.0020.0002][.E56C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.FB40.0020.0002][.E578.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F969
+2F42 ; [.FB40.0020.0004][.E587.0000.0000] # KANGXI RADICAL SCRIPT
+3246 ; [.FB40.0020.0006][.E587.0000.0000] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.FB40.0020.0004][.E597.0000.0000] # KANGXI RADICAL DIPPER
+F9BE ; [.FB40.0020.0002][.E599.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+1F21B ; [.FB40.0020.001C][.E599.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.FB40.0020.0004][.E5A4.0000.0000] # KANGXI RADICAL AXE
+1F21F ; [.FB40.0020.001C][.E5B0.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.FB40.0020.0004][.E5B9.0000.0000] # KANGXI RADICAL SQUARE
+F983 ; [.FB40.0020.0002][.E5C5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F46 ; [.FB40.0020.0004][.E5E0.0000.0000] # KANGXI RADICAL NOT
+2E9B ; [.FB40.0020.0004][.E5E1.0000.0000] # CJK RADICAL CHOKE
+FA42 ; [.FB40.0020.0002][.E5E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.FB40.0020.0002][.E5E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+2F47 ; [.FB40.0020.0004][.E5E5.0000.0000] # KANGXI RADICAL SUN
+3230 ; [*02FA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+3290 ; [.FB40.0020.0006][.E5E5.0000.0000] # CIRCLED IDEOGRAPH SUN
+2E9C ; [.FB40.0020.0004][.E5E5.0000.0000][.0000.00FC.0004] # CJK RADICAL SUN
+337E ; [.FB40.0020.001C][.E60E.0000.0000][.FB40.0020.001C][.ECBB.0000.0000] # SQUARE ERA NAME MEIZI
+F9E0 ; [.FB40.0020.0002][.E613.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+1F219 ; [.FB40.0020.001C][.E620.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.FB40.0020.001C][.E62D.0000.0000][.FB40.0020.001C][.D48C.0000.0000] # SQUARE ERA NAME SYOUWA
+2F8CD ; [.FB40.0020.0002][.E649.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.FB40.0020.0002][.E674.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.FB40.0020.0002][.E674.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.FB40.0020.0002][.E688.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.FB40.0020.0002][.E691.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.FB40.0020.0002][.E691.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.FB40.0020.0002][.E69C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.FB40.0020.0002][.E6B4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.FB40.0020.0002][.E6C6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98B
+2F48 ; [.FB40.0020.0004][.E6F0.0000.0000] # KANGXI RADICAL SAY
+F901 ; [.FB40.0020.0002][.E6F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.FB40.0020.0002][.E6F8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.FB40.0020.0002][.E700.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+2F49 ; [.FB40.0020.0004][.E708.0000.0000] # KANGXI RADICAL MOON
+322A ; [*02FA.0020.0004][.FB40.0020.0004][.E708.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+328A ; [.FB40.0020.0006][.E708.0000.0000] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.FB40.0020.001C][.E708.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+2E9D ; [.FB40.0020.0004][.E708.0000.0000][.0000.00FC.0004] # CJK RADICAL MOON
+3232 ; [*02FA.0020.0004][.FB40.0020.0004][.E709.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+3292 ; [.FB40.0020.0006][.E709.0000.0000] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.FB40.0020.001C][.E709.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+F929 ; [.FB40.0020.0002][.E717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.FB40.0020.0002][.E717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.FB40.0020.0002][.E717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.FB40.0020.0002][.E71B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.FB40.0020.0002][.E71B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.FB40.0020.0002][.E721.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+2F4A ; [.FB40.0020.0004][.E728.0000.0000] # KANGXI RADICAL TREE
+322D ; [*02FA.0020.0004][.FB40.0020.0004][.E728.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+328D ; [.FB40.0020.0006][.E728.0000.0000] # CIRCLED IDEOGRAPH WOOD
+1F240 ; [*035C.0020.0004][.FB40.0020.0004][.E72C.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+F9E1 ; [.FB40.0020.0002][.E74E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.FB40.0020.0002][.E753.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.FB40.0020.0002][.E756.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.FB40.0020.0002][.E75E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.FB40.0020.0002][.E77B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.FB40.0020.0002][.E785.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.FB40.0020.0002][.E797.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.FB40.0020.0002][.E7F3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.FB40.0020.0002][.E7FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.FB40.0020.0002][.E817.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.FB40.0020.0002][.E81F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+3231 ; [*02FA.0020.0004][.FB40.0020.0004][.E82A.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+3291 ; [.FB40.0020.0006][.E82A.0000.0000] # CIRCLED IDEOGRAPH STOCK
+337F ; [.FB40.0020.001C][.E82A.0000.0000][.FB40.0020.001C][.DF0F.0000.0000][.FB40.0020.001C][.CF1A.0000.0000][.FB40.0020.001C][.F93E.0000.0000] # SQUARE CORPORATION
+2F8E1 ; [.FB40.0020.0002][.E852.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.FB40.0020.0002][.E881.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.FB40.0020.0002][.E885.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.FB40.0020.0002][.E885.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.FB40.0020.0002][.E88E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.FB40.0020.0002][.E8A8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.FB40.0020.0002][.E914.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.FB40.0020.0002][.E942.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.FB40.0020.0002][.E9A3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.FB40.0020.0002][.E9EA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.FB40.0020.0002][.EA02.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.FB40.0020.0002][.EA02.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.FB40.0020.0002][.EA02.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.FB40.0020.0002][.EA13.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.FB40.0020.0002][.EAA8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.FB40.0020.0002][.EAD3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.FB40.0020.0002][.EADB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.FB40.0020.0002][.EB04.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F4B ; [.FB40.0020.0004][.EB20.0000.0000] # KANGXI RADICAL LACK
+2F8EF ; [.FB40.0020.0002][.EB21.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.FB40.0020.0002][.EB54.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F4C ; [.FB40.0020.0004][.EB62.0000.0000] # KANGXI RADICAL STOP
+32A3 ; [.FB40.0020.0006][.EB63.0000.0000] # CIRCLED IDEOGRAPH CORRECT
+2F8F3 ; [.FB40.0020.0002][.EB72.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.FB40.0020.0002][.EB77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.FB40.0020.0002][.EB79.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F4D ; [.FB40.0020.0004][.EB79.0000.0000] # KANGXI RADICAL DEATH
+2E9E ; [.FB40.0020.0004][.EB7A.0000.0000][.0000.00FC.0004] # CJK RADICAL DEATH
+2F8F4 ; [.FB40.0020.0002][.EB9F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.FB40.0020.0002][.EBAE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+2F4E ; [.FB40.0020.0004][.EBB3.0000.0000] # KANGXI RADICAL WEAPON
+F970 ; [.FB40.0020.0002][.EBBA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.FB40.0020.0002][.EBBA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.FB40.0020.0002][.EBBA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.FB40.0020.0002][.EBBB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F4F ; [.FB40.0020.0004][.EBCB.0000.0000] # KANGXI RADICAL DO NOT
+2E9F ; [.FB40.0020.0004][.EBCD.0000.0000] # CJK RADICAL MOTHER
+2F50 ; [.FB40.0020.0004][.EBD4.0000.0000] # KANGXI RADICAL COMPARE
+2F51 ; [.FB40.0020.0004][.EBDB.0000.0000] # KANGXI RADICAL FUR
+2F52 ; [.FB40.0020.0004][.EC0F.0000.0000] # KANGXI RADICAL CLAN
+2EA0 ; [.FB40.0020.0004][.EC11.0000.0000] # CJK RADICAL CIVILIAN
+2F53 ; [.FB40.0020.0004][.EC14.0000.0000] # KANGXI RADICAL STEAM
+2F54 ; [.FB40.0020.0004][.EC34.0000.0000] # KANGXI RADICAL WATER
+322C ; [*02FA.0020.0004][.FB40.0020.0004][.EC34.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+328C ; [.FB40.0020.0006][.EC34.0000.0000] # CIRCLED IDEOGRAPH WATER
+2EA1 ; [.FB40.0020.0004][.EC35.0000.0000] # CJK RADICAL WATER ONE
+2EA2 ; [.FB40.0020.0004][.EC3A.0000.0000] # CJK RADICAL WATER TWO
+2F8FA ; [.FB40.0020.0002][.EC4E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.FB40.0020.0002][.EC67.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.FB40.0020.0002][.EC88.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.FB40.0020.0002][.ECBF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.FB40.0020.0002][.ECCC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.FB40.0020.0002][.ECCD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.FB40.0020.0002][.ECE5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+329F ; [.FB40.0020.0006][.ECE8.0000.0000] # CIRCLED IDEOGRAPH ATTENTION
+2F8FF ; [.FB40.0020.0002][.ED16.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.FB40.0020.0002][.ED1B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.FB40.0020.0002][.ED1E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.FB40.0020.0002][.ED34.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.FB40.0020.0002][.ED3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.FB40.0020.0002][.ED41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.FB40.0020.0002][.ED41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.FB40.0020.0002][.ED41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.FB40.0020.0002][.ED69.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.FB40.0020.0002][.ED6A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.FB40.0020.0002][.ED77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.FB40.0020.0002][.ED77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.FB40.0020.0002][.ED78.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.FB40.0020.0002][.ED85.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.FB40.0020.0002][.EDCB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.FB40.0020.0002][.EDDA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.FB40.0020.0002][.EDEA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.FB40.0020.0002][.EDF9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.FB40.0020.0002][.EE1A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.FB40.0020.0002][.EE2F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.FB40.0020.0002][.EE6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F909
+1F235 ; [.FB40.0020.001C][.EE80.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+F9CB ; [.FB40.0020.0002][.EE9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.FB40.0020.0002][.EEBA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.FB40.0020.0002][.EEC7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.FB40.0020.0002][.EECB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.FB40.0020.0002][.EECB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.FB40.0020.0002][.EED1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.FB40.0020.0002][.EEDB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.FB40.0020.0002][.EF0F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94E
+1F226 ; [.FB40.0020.001C][.EF14.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+FA47 ; [.FB40.0020.0002][.EF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.FB40.0020.0002][.EF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.FB40.0020.0002][.EF23.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.FB40.0020.0002][.EF6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.FB40.0020.0002][.EFC6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.FB40.0020.0002][.EFEB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.FB40.0020.0002][.EFFE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.FB40.0020.0002][.F01B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.FB40.0020.0002][.F01E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.FB40.0020.0002][.F01E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.FB40.0020.0002][.F039.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.FB40.0020.0002][.F04A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F55 ; [.FB40.0020.0004][.F06B.0000.0000] # KANGXI RADICAL FIRE
+322B ; [*02FA.0020.0004][.FB40.0020.0004][.F06B.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+328B ; [.FB40.0020.0006][.F06B.0000.0000] # CIRCLED IDEOGRAPH FIRE
+2EA3 ; [.FB40.0020.0004][.F06C.0000.0000] # CJK RADICAL FIRE
+2F835 ; [.FB40.0020.0002][.F070.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.FB40.0020.0002][.F077.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.FB40.0020.0002][.F07D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.FB40.0020.0002][.F099.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.FB40.0020.0002][.F0AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+1F244 ; [*035C.0020.0004][.FB40.0020.0004][.F0B9.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+F99F ; [.FB40.0020.0002][.F0C8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.FB40.0020.0002][.F0D9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F916
+1F21A ; [.FB40.0020.001C][.F121.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F91C ; [.FB40.0020.0002][.F145.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.FB40.0020.0002][.F149.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.FB40.0020.0002][.F16E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.FB40.0020.0002][.F16E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.FB40.0020.0002][.F19C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.FB40.0020.0002][.F1CE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.FB40.0020.0002][.F1D0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.FB40.0020.0002][.F210.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.FB40.0020.0002][.F21B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.FB40.0020.0002][.F228.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F920
+2F56 ; [.FB40.0020.0004][.F22A.0000.0000] # KANGXI RADICAL CLAW
+FA49 ; [.FB40.0020.0002][.F22B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA49
+2EA4 ; [.FB40.0020.0004][.F22B.0000.0000] # CJK RADICAL PAW ONE
+2EA5 ; [.FB40.0020.0004][.F22B.0000.0000][.0000.00FC.0004] # CJK RADICAL PAW TWO
+FA9E ; [.FB40.0020.0002][.F235.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.FB40.0020.0002][.F235.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F57 ; [.FB40.0020.0004][.F236.0000.0000] # KANGXI RADICAL FATHER
+2F58 ; [.FB40.0020.0004][.F23B.0000.0000] # KANGXI RADICAL DOUBLE X
+2F59 ; [.FB40.0020.0004][.F23F.0000.0000] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.FB40.0020.0004][.F247.0000.0000] # KANGXI RADICAL SLICE
+2F922 ; [.FB40.0020.0002][.F250.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F922
+2F5B ; [.FB40.0020.0004][.F259.0000.0000] # KANGXI RADICAL FANG
+2F5C ; [.FB40.0020.0004][.F25B.0000.0000] # KANGXI RADICAL COW
+2EA7 ; [.FB40.0020.0004][.F25B.0000.0000][.0000.00FC.0004] # CJK RADICAL COW
+F946 ; [.FB40.0020.0002][.F262.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F946
+3235 ; [*02FA.0020.0004][.FB40.0020.0004][.F279.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+3295 ; [.FB40.0020.0006][.F279.0000.0000] # CIRCLED IDEOGRAPH SPECIAL
+2F924 ; [.FB40.0020.0002][.F280.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.FB40.0020.0002][.F295.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F925
+2F5D ; [.FB40.0020.0004][.F2AC.0000.0000] # KANGXI RADICAL DOG
+2EA8 ; [.FB40.0020.0004][.F2AD.0000.0000] # CJK RADICAL DOG
+FA9F ; [.FB40.0020.0002][.F2AF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.FB40.0020.0002][.F2C0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.FB40.0020.0002][.F2FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.FB40.0020.0002][.F32A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.FB40.0020.0002][.F32A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.FB40.0020.0002][.F375.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.FB40.0020.0002][.F37A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F928
+2F5E ; [.FB40.0020.0004][.F384.0000.0000] # KANGXI RADICAL PROFOUND
+F961 ; [.FB40.0020.0002][.F387.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.FB40.0020.0002][.F387.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F5F ; [.FB40.0020.0004][.F389.0000.0000] # KANGXI RADICAL JADE
+2F929 ; [.FB40.0020.0002][.F38B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2EA9 ; [.FB40.0020.0004][.F38B.0000.0000][.0000.00FC.0004] # CJK RADICAL JADE
+2F92B ; [.FB40.0020.0002][.F3A5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.FB40.0020.0002][.F3B2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.FB40.0020.0002][.F3DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.FB40.0020.0002][.F406.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.FB40.0020.0002][.F409.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.FB40.0020.0002][.F422.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.FB40.0020.0002][.F447.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.FB40.0020.0002][.F45C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.FB40.0020.0002][.F469.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.FB40.0020.0002][.F471.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.FB40.0020.0002][.F471.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.FB40.0020.0002][.F485.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.FB40.0020.0002][.F489.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.FB40.0020.0002][.F498.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.FB40.0020.0002][.F4CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F60 ; [.FB40.0020.0004][.F4DC.0000.0000] # KANGXI RADICAL MELON
+2F61 ; [.FB40.0020.0004][.F4E6.0000.0000] # KANGXI RADICAL TILE
+FAA2 ; [.FB40.0020.0002][.F506.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F62 ; [.FB40.0020.0004][.F518.0000.0000] # KANGXI RADICAL SWEET
+2F63 ; [.FB40.0020.0004][.F51F.0000.0000] # KANGXI RADICAL LIFE
+1F222 ; [.FB40.0020.001C][.F51F.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F934 ; [.FB40.0020.0002][.F524.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F934
+2F64 ; [.FB40.0020.0004][.F528.0000.0000] # KANGXI RADICAL USE
+2F65 ; [.FB40.0020.0004][.F530.0000.0000] # KANGXI RADICAL FIELD
+3199 ; [.FB40.0020.0014][.F532.0000.0000] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.FB40.0020.001C][.F533.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.FB40.0020.0006][.F537.0000.0000] # CIRCLED IDEOGRAPH MALE
+FAA3 ; [.FB40.0020.0002][.F53B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.FB40.0020.0002][.F53E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.FB40.0020.0002][.F559.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.FB40.0020.0002][.F565.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.FB40.0020.0002][.F570.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.FB40.0020.0002][.F570.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F938
+2F66 ; [.FB40.0020.0004][.F58B.0000.0000] # KANGXI RADICAL BOLT OF CLOTH
+2EAA ; [.FB40.0020.0004][.F58B.0000.0000][.0000.00FC.0004] # CJK RADICAL BOLT OF CLOTH
+2F67 ; [.FB40.0020.0004][.F592.0000.0000] # KANGXI RADICAL SICKNESS
+F9E5 ; [.FB40.0020.0002][.F5E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.FB40.0020.0002][.F610.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.FB40.0020.0002][.F61D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.FB40.0020.0002][.F61F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.FB40.0020.0002][.F642.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.FB40.0020.0002][.F669.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90E
+2F68 ; [.FB40.0020.0004][.F676.0000.0000] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.FB40.0020.0004][.F67D.0000.0000] # KANGXI RADICAL WHITE
+2F6A ; [.FB40.0020.0004][.F6AE.0000.0000] # KANGXI RADICAL SKIN
+2F6B ; [.FB40.0020.0004][.F6BF.0000.0000] # KANGXI RADICAL DISH
+FA17 ; [.FB40.0020.0002][.F6CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.FB40.0020.0002][.F6CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+1F246 ; [*035C.0020.0004][.FB40.0020.0004][.F6D7.0000.0000][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+FAA7 ; [.FB40.0020.0002][.F6DB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+323C ; [*02FA.0020.0004][.FB40.0020.0004][.F6E3.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+32AC ; [.FB40.0020.0006][.F6E3.0000.0000] # CIRCLED IDEOGRAPH SUPERVISE
+F933 ; [.FB40.0020.0002][.F6E7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F933
+2F6C ; [.FB40.0020.0004][.F6EE.0000.0000] # KANGXI RADICAL EYE
+2EAB ; [.FB40.0020.0004][.F6EE.0000.0000][.0000.00FC.0004] # CJK RADICAL EYE
+FAA8 ; [.FB40.0020.0002][.F6F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.FB40.0020.0002][.F6F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.FB40.0020.0002][.F701.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.FB40.0020.0002][.F71E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.FB40.0020.0002][.F71F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.FB40.0020.0002][.F71F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.FB40.0020.0002][.F740.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.FB40.0020.0002][.F74A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.FB40.0020.0002][.F74A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.FB40.0020.0002][.F78B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.FB40.0020.0002][.F7A7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F6D ; [.FB40.0020.0004][.F7DB.0000.0000] # KANGXI RADICAL SPEAR
+2F6E ; [.FB40.0020.0004][.F7E2.0000.0000] # KANGXI RADICAL ARROW
+2F6F ; [.FB40.0020.0004][.F7F3.0000.0000] # KANGXI RADICAL STONE
+2F94E ; [.FB40.0020.0002][.F84E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.FB40.0020.0002][.F86B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.FB40.0020.0002][.F88C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.FB40.0020.0002][.F88C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.FB40.0020.0002][.F891.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.FB40.0020.0002][.F8CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.FB40.0020.0002][.F8CC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.FB40.0020.0002][.F8CC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.FB40.0020.0002][.F8FB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.FB40.0020.0002][.F92A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F985
+2F70 ; [.FB40.0020.0004][.F93A.0000.0000] # KANGXI RADICAL SPIRIT
+2EAC ; [.FB40.0020.0004][.F93A.0000.0000][.0000.00FC.0004] # CJK RADICAL SPIRIT ONE
+2EAD ; [.FB40.0020.0004][.F93B.0000.0000] # CJK RADICAL SPIRIT TWO
+FA18 ; [.FB40.0020.0002][.F93C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.FB40.0020.0002][.F93E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+3233 ; [*02FA.0020.0004][.FB40.0020.0004][.F93E.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3293 ; [.FB40.0020.0006][.F93E.0000.0000] # CIRCLED IDEOGRAPH SOCIETY
+FA4E ; [.FB40.0020.0002][.F948.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.FB40.0020.0002][.F949.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.FB40.0020.0002][.F950.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.FB40.0020.0002][.F956.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.FB40.0020.0002][.F956.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.FB40.0020.0002][.F95D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA51
+3237 ; [*02FA.0020.0004][.FB40.0020.0004][.F95D.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3297 ; [.FB40.0020.0006][.F95D.0000.0000] # CIRCLED IDEOGRAPH CONGRATULATION
+FA19 ; [.FB40.0020.0002][.F95E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.FB40.0020.0002][.F965.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+3240 ; [*02FA.0020.0004][.FB40.0020.0004][.F96D.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+F93C ; [.FB40.0020.0002][.F97F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93C
+1F232 ; [.FB40.0020.001C][.F981.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+FA52 ; [.FB40.0020.0002][.F98D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.FB40.0020.0002][.F98E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.FB40.0020.0002][.F98F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.FB40.0020.0002][.F98F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.FB40.0020.0002][.F9AE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F71 ; [.FB40.0020.0004][.F9B8.0000.0000] # KANGXI RADICAL TRACK
+2F72 ; [.FB40.0020.0004][.F9BE.0000.0000] # KANGXI RADICAL GRAIN
+F995 ; [.FB40.0020.0002][.F9CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F995
+3299 ; [.FB40.0020.0006][.F9D8.0000.0000] # CIRCLED IDEOGRAPH SECRET
+2F957 ; [.FB40.0020.0002][.F9EB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.FB40.0020.0002][.FA1C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.FB40.0020.0002][.FA40.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.FB40.0020.0002][.FA40.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.FB40.0020.0002][.FA4A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.FB40.0020.0002][.FA4F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+2F73 ; [.FB40.0020.0004][.FA74.0000.0000] # KANGXI RADICAL CAVE
+1F233 ; [.FB40.0020.001C][.FA7A.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+FA55 ; [.FB40.0020.0002][.FA81.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.FB40.0020.0002][.FAB1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.FB40.0020.0002][.FACB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F74 ; [.FB40.0020.0004][.FACB.0000.0000] # KANGXI RADICAL STAND
+2F95F ; [.FB40.0020.0002][.FAEE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+2F75 ; [.FB40.0020.0004][.FAF9.0000.0000] # KANGXI RADICAL BAMBOO
+2EAE ; [.FB40.0020.0004][.FAF9.0000.0000][.0000.00FC.0004] # CJK RADICAL BAMBOO
+F9F8 ; [.FB40.0020.0002][.FB20.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+3247 ; [.FB40.0020.0006][.FB8F.0000.0000] # CIRCLED IDEOGRAPH KOTO
+FA56 ; [.FB40.0020.0002][.FBC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.FB40.0020.0002][.FBC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.FB40.0020.0002][.FBC6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.FB40.0020.0002][.FBC9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.FB40.0020.0002][.FC3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.FB40.0020.0002][.FC60.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F944
+2F76 ; [.FB40.0020.0004][.FC73.0000.0000] # KANGXI RADICAL RICE
+FAAE ; [.FB40.0020.0002][.FC7B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.FB40.0020.0002][.FC92.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.FB40.0020.0002][.FCBE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.FB40.0020.0002][.FCD2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.FB40.0020.0002][.FCD6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.FB40.0020.0002][.FCE3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.FB40.0020.0002][.FCE7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.FB40.0020.0002][.FCE8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F77 ; [.FB40.0020.0004][.FCF8.0000.0000] # KANGXI RADICAL SILK
+2EAF ; [.FB40.0020.0004][.FCF9.0000.0000] # CJK RADICAL SILK
+2F96A ; [.FB40.0020.0002][.FD00.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.FB40.0020.0002][.FD10.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.FB40.0020.0002][.FD22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.FB40.0020.0002][.FD2F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F94F
+1F221 ; [.FB40.0020.001C][.FD42.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+FAAF ; [.FB40.0020.0002][.FD5B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.FB40.0020.0002][.FD63.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.FB40.0020.0002][.FDA0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.FB40.0020.0002][.FDBE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.FB40.0020.0002][.FDC7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.FB40.0020.0002][.FDF4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.FB40.0020.0002][.FDF4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.FB40.0020.0002][.FDF4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.FB40.0020.0002][.FE02.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.FB40.0020.0002][.FE09.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.FB40.0020.0002][.FE37.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.FB40.0020.0002][.FE41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.FB40.0020.0002][.FE45.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F970
+2EB0 ; [.FB40.0020.0004][.FE9F.0000.0000] # CJK RADICAL C-SIMPLIFIED SILK
+2F78 ; [.FB40.0020.0004][.FF36.0000.0000] # KANGXI RADICAL JAR
+FAB1 ; [.FB40.0020.0002][.FF3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+2F79 ; [.FB40.0020.0004][.FF51.0000.0000] # KANGXI RADICAL NET
+2EB2 ; [.FB40.0020.0004][.FF52.0000.0000] # CJK RADICAL NET TWO
+2EB5 ; [.FB40.0020.0004][.FF52.0000.0000][.0000.00FC.0004] # CJK RADICAL MESH
+2EB1 ; [.FB40.0020.0004][.FF53.0000.0000] # CJK RADICAL NET ONE
+2EB3 ; [.FB40.0020.0004][.FF53.0000.0000][.0000.00FC.0004] # CJK RADICAL NET THREE
+2EB4 ; [.FB40.0020.0004][.FF53.0000.0000][.0000.00FD.0004] # CJK RADICAL NET FOUR
+FA5A ; [.FB40.0020.0002][.FF72.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.FB40.0020.0002][.FF79.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.FB40.0020.0002][.FF7A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.FB40.0020.0002][.FF85.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F7A ; [.FB40.0020.0004][.FF8A.0000.0000] # KANGXI RADICAL SHEEP
+2EB6 ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.00FC.0004] # CJK RADICAL SHEEP
+2EB7 ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.00FD.0004] # CJK RADICAL RAM
+2EB8 ; [.FB40.0020.0004][.FF8B.0000.0000] # CJK RADICAL EWE
+2F978 ; [.FB40.0020.0002][.FF95.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.FB40.0020.0002][.FF9A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.FB40.0020.0002][.FFBD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F7B ; [.FB40.0020.0004][.FFBD.0000.0000] # KANGXI RADICAL FEATHER
+2F979 ; [.FB40.0020.0002][.FFFA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.FB41.0020.0002][.8001.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F934
+2F7C ; [.FB41.0020.0004][.8001.0000.0000] # KANGXI RADICAL OLD
+2EB9 ; [.FB41.0020.0004][.8002.0000.0000] # CJK RADICAL OLD
+FA5B ; [.FB41.0020.0002][.8005.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.FB41.0020.0002][.8005.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.FB41.0020.0002][.8005.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+2F7D ; [.FB41.0020.0004][.800C.0000.0000] # KANGXI RADICAL AND
+2F7E ; [.FB41.0020.0004][.8012.0000.0000] # KANGXI RADICAL PLOW
+2F7F ; [.FB41.0020.0004][.8033.0000.0000] # KANGXI RADICAL EAR
+F9B0 ; [.FB41.0020.0002][.8046.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.FB41.0020.0002][.8060.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.FB41.0020.0002][.806F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.FB41.0020.0002][.8070.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.FB41.0020.0002][.807E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F945
+2F80 ; [.FB41.0020.0004][.807F.0000.0000] # KANGXI RADICAL BRUSH
+2EBB ; [.FB41.0020.0004][.807F.0000.0000][.0000.00FC.0004] # CJK RADICAL BRUSH TWO
+2EBA ; [.FB41.0020.0004][.8080.0000.0000] # CJK RADICAL BRUSH ONE
+2F81 ; [.FB41.0020.0004][.8089.0000.0000] # KANGXI RADICAL MEAT
+2EBC ; [.FB41.0020.0004][.8089.0000.0000][.0000.00FC.0004] # CJK RADICAL MEAT
+F953 ; [.FB41.0020.0002][.808B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.FB41.0020.0002][.80AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.FB41.0020.0002][.80B2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.FB41.0020.0002][.8103.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.FB41.0020.0002][.813E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.FB41.0020.0002][.81D8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F926
+2F82 ; [.FB41.0020.0004][.81E3.0000.0000] # KANGXI RADICAL MINISTER
+F9F6 ; [.FB41.0020.0002][.81E8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+2F83 ; [.FB41.0020.0004][.81EA.0000.0000] # KANGXI RADICAL SELF
+3242 ; [*02FA.0020.0004][.FB41.0020.0004][.81EA.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+FA5C ; [.FB41.0020.0002][.81ED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F84 ; [.FB41.0020.0004][.81F3.0000.0000] # KANGXI RADICAL ARRIVE
+3243 ; [*02FA.0020.0004][.FB41.0020.0004][.81F3.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+2F85 ; [.FB41.0020.0004][.81FC.0000.0000] # KANGXI RADICAL MORTAR
+2EBD ; [.FB41.0020.0004][.81FC.0000.0000][.0000.00FC.0004] # CJK RADICAL MORTAR
+2F893 ; [.FB41.0020.0002][.8201.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.FB41.0020.0002][.8201.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.FB41.0020.0002][.8204.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+2F86 ; [.FB41.0020.0004][.820C.0000.0000] # KANGXI RADICAL TONGUE
+FA6D ; [.FB41.0020.0002][.8218.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+2F87 ; [.FB41.0020.0004][.821B.0000.0000] # KANGXI RADICAL OPPOSE
+2F88 ; [.FB41.0020.0004][.821F.0000.0000] # KANGXI RADICAL BOAT
+2F89 ; [.FB41.0020.0004][.826E.0000.0000] # KANGXI RADICAL STOPPING
+F97C ; [.FB41.0020.0002][.826F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F8A ; [.FB41.0020.0004][.8272.0000.0000] # KANGXI RADICAL COLOR
+2F8B ; [.FB41.0020.0004][.8278.0000.0000] # KANGXI RADICAL GRASS
+FA5D ; [.FB41.0020.0002][.8279.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.FB41.0020.0002][.8279.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2EBE ; [.FB41.0020.0004][.8279.0000.0000] # CJK RADICAL GRASS ONE
+2EBF ; [.FB41.0020.0004][.8279.0000.0000][.0000.00FC.0004] # CJK RADICAL GRASS TWO
+2EC0 ; [.FB41.0020.0004][.8279.0000.0000][.0000.00FD.0004] # CJK RADICAL GRASS THREE
+2F990 ; [.FB41.0020.0002][.828B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.FB41.0020.0002][.8291.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.FB41.0020.0002][.829D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.FB41.0020.0002][.82B1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.FB41.0020.0002][.82B3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.FB41.0020.0002][.82BD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.FB41.0020.0002][.82E5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.FB41.0020.0002][.82E5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.FB41.0020.0002][.82E6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.FB41.0020.0002][.831D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.FB41.0020.0002][.8323.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.FB41.0020.0002][.8336.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.FB41.0020.0002][.8352.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.FB41.0020.0002][.8353.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.FB41.0020.0002][.8363.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.FB41.0020.0002][.83AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.FB41.0020.0002][.83BD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.FB41.0020.0002][.83C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.FB41.0020.0002][.83CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.FB41.0020.0002][.83CC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.FB41.0020.0002][.83DC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.FB41.0020.0002][.83E7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.FB41.0020.0002][.83EF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.FB41.0020.0002][.83F1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.FB41.0020.0002][.843D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.FB41.0020.0002][.8449.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.FB41.0020.0002][.8457.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.FB41.0020.0002][.8457.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.FB41.0020.0002][.84EE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.FB41.0020.0002][.84F1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.FB41.0020.0002][.84F3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.FB41.0020.0002][.84FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.FB41.0020.0002][.8516.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.FB41.0020.0002][.8564.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.FB41.0020.0002][.85CD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.FB41.0020.0002][.85FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.FB41.0020.0002][.8606.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.FB41.0020.0002][.8612.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.FB41.0020.0002][.862D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.FB41.0020.0002][.863F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F8C ; [.FB41.0020.0004][.864D.0000.0000] # KANGXI RADICAL TIGER
+2EC1 ; [.FB41.0020.0004][.864E.0000.0000] # CJK RADICAL TIGER
+2F9B3 ; [.FB41.0020.0002][.8650.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.FB41.0020.0002][.865C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.FB41.0020.0002][.865C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.FB41.0020.0002][.8667.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.FB41.0020.0002][.8669.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F8D ; [.FB41.0020.0004][.866B.0000.0000] # KANGXI RADICAL INSECT
+2F9B8 ; [.FB41.0020.0002][.8688.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.FB41.0020.0002][.86A9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.FB41.0020.0002][.86E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.FB41.0020.0002][.870E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.FB41.0020.0002][.8728.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.FB41.0020.0002][.876B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.FB41.0020.0002][.8779.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.FB41.0020.0002][.8779.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.FB41.0020.0002][.8786.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.FB41.0020.0002][.87BA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.FB41.0020.0002][.87E1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.FB41.0020.0002][.8801.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.FB41.0020.0002][.881F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F927
+2F8E ; [.FB41.0020.0004][.8840.0000.0000] # KANGXI RADICAL BLOOD
+FA08 ; [.FB41.0020.0002][.884C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F8F ; [.FB41.0020.0004][.884C.0000.0000] # KANGXI RADICAL WALK ENCLOSURE
+2F9C3 ; [.FB41.0020.0002][.8860.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.FB41.0020.0002][.8863.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+2F90 ; [.FB41.0020.0004][.8863.0000.0000] # KANGXI RADICAL CLOTHES
+2EC2 ; [.FB41.0020.0004][.8864.0000.0000] # CJK RADICAL CLOTHES
+F9A0 ; [.FB41.0020.0002][.88C2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.FB41.0020.0002][.88CF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.FB41.0020.0002][.88D7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.FB41.0020.0002][.88DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.FB41.0020.0002][.88E1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.FB41.0020.0002][.88F8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.FB41.0020.0002][.88FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.FB41.0020.0002][.8910.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.FB41.0020.0002][.8941.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.FB41.0020.0002][.8964.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F924
+2F91 ; [.FB41.0020.0004][.897E.0000.0000] # KANGXI RADICAL WEST
+2EC4 ; [.FB41.0020.0004][.897F.0000.0000] # CJK RADICAL WEST TWO
+2EC3 ; [.FB41.0020.0004][.8980.0000.0000] # CJK RADICAL WEST ONE
+FAB7 ; [.FB41.0020.0002][.8986.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.FB41.0020.0002][.898B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+2F92 ; [.FB41.0020.0004][.898B.0000.0000] # KANGXI RADICAL SEE
+FA61 ; [.FB41.0020.0002][.8996.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.FB41.0020.0002][.8996.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2EC5 ; [.FB41.0020.0004][.89C1.0000.0000] # CJK RADICAL C-SIMPLIFIED SEE
+2EC6 ; [.FB41.0020.0004][.89D2.0000.0000] # CJK RADICAL SIMPLIFIED HORN
+2F93 ; [.FB41.0020.0004][.89D2.0000.0000] # KANGXI RADICAL HORN
+2EC7 ; [.FB41.0020.0004][.89D2.0000.0000][.0000.00FC.0004] # CJK RADICAL HORN
+1F216 ; [.FB41.0020.001C][.89E3.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.FB41.0020.0004][.8A00.0000.0000] # KANGXI RADICAL SPEECH
+2F9CF ; [.FB41.0020.0002][.8AA0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.FB41.0020.0002][.8AAA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.FB41.0020.0002][.8AAA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.FB41.0020.0002][.8ABF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.FB41.0020.0002][.8ACB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.FB41.0020.0002][.8AD2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.FB41.0020.0002][.8AD6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.FB41.0020.0002][.8AED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.FB41.0020.0002][.8AED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.FB41.0020.0002][.8AF8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.FB41.0020.0002][.8AF8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.FB41.0020.0002][.8AFE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.FB41.0020.0002][.8AFE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.FB41.0020.0002][.8B01.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.FB41.0020.0002][.8B01.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.FB41.0020.0002][.8B39.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.FB41.0020.0002][.8B39.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.FB41.0020.0002][.8B58.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.FB41.0020.0002][.8B80.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.FB41.0020.0002][.8B8A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.FB41.0020.0002][.8B8A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+2EC8 ; [.FB41.0020.0004][.8BA0.0000.0000] # CJK RADICAL C-SIMPLIFIED SPEECH
+2F95 ; [.FB41.0020.0004][.8C37.0000.0000] # KANGXI RADICAL VALLEY
+2F96 ; [.FB41.0020.0004][.8C46.0000.0000] # KANGXI RADICAL BEAN
+F900 ; [.FB41.0020.0002][.8C48.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.FB41.0020.0002][.8C55.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F97 ; [.FB41.0020.0004][.8C55.0000.0000] # KANGXI RADICAL PIG
+2F98 ; [.FB41.0020.0004][.8C78.0000.0000] # KANGXI RADICAL BADGER
+2F99 ; [.FB41.0020.0004][.8C9D.0000.0000] # KANGXI RADICAL SHELL
+3236 ; [*02FA.0020.0004][.FB41.0020.0004][.8CA1.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+3296 ; [.FB41.0020.0006][.8CA1.0000.0000] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.FB41.0020.001C][.8CA9.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+2F9D4 ; [.FB41.0020.0002][.8CAB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.FB41.0020.0002][.8CC1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.FB41.0020.0002][.8CC2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F948
+323E ; [*02FA.0020.0004][.FB41.0020.0004][.8CC7.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+32AE ; [.FB41.0020.0006][.8CC7.0000.0000] # CIRCLED IDEOGRAPH RESOURCE
+F903 ; [.FB41.0020.0002][.8CC8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.FB41.0020.0002][.8CD3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.FB41.0020.0002][.8D08.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.FB41.0020.0002][.8D08.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.FB41.0020.0002][.8D1B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2EC9 ; [.FB41.0020.0004][.8D1D.0000.0000] # CJK RADICAL C-SIMPLIFIED SHELL
+2F9A ; [.FB41.0020.0004][.8D64.0000.0000] # KANGXI RADICAL RED
+2F9B ; [.FB41.0020.0004][.8D70.0000.0000] # KANGXI RADICAL RUN
+1F230 ; [.FB41.0020.001C][.8D70.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9D7 ; [.FB41.0020.0002][.8D77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9C ; [.FB41.0020.0004][.8DB3.0000.0000] # KANGXI RADICAL FOOT
+2ECA ; [.FB41.0020.0004][.8DB3.0000.0000][.0000.00FC.0004] # CJK RADICAL FOOT
+2F9DB ; [.FB41.0020.0002][.8DBC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.FB41.0020.0002][.8DCB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.FB41.0020.0002][.8DEF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.FB41.0020.0002][.8DF0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+2F9D ; [.FB41.0020.0004][.8EAB.0000.0000] # KANGXI RADICAL BODY
+F902 ; [.FB41.0020.0002][.8ECA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9E ; [.FB41.0020.0004][.8ECA.0000.0000] # KANGXI RADICAL CART
+2F9DE ; [.FB41.0020.0002][.8ED4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.FB41.0020.0002][.8F26.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.FB41.0020.0002][.8F2A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.FB41.0020.0002][.8F38.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.FB41.0020.0002][.8F38.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.FB41.0020.0002][.8F3B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.FB41.0020.0002][.8F62.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2ECB ; [.FB41.0020.0004][.8F66.0000.0000] # CJK RADICAL C-SIMPLIFIED CART
+2F9F ; [.FB41.0020.0004][.8F9B.0000.0000] # KANGXI RADICAL BITTER
+2F98D ; [.FB41.0020.0002][.8F9E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.FB41.0020.0002][.8FB0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F971
+2FA0 ; [.FB41.0020.0004][.8FB0.0000.0000] # KANGXI RADICAL MORNING
+2FA1 ; [.FB41.0020.0004][.8FB5.0000.0000] # KANGXI RADICAL WALK
+FA66 ; [.FB41.0020.0002][.8FB6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA66
+2ECC ; [.FB41.0020.0004][.8FB6.0000.0000] # CJK RADICAL SIMPLIFIED WALK
+2ECD ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.00FC.0004] # CJK RADICAL WALK ONE
+2ECE ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.00FD.0004] # CJK RADICAL WALK TWO
+F99A ; [.FB41.0020.0002][.9023.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.FB41.0020.0002][.9038.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.FB41.0020.0002][.9038.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA67
+1F22B ; [.FB41.0020.001C][.904A.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.FB41.0020.0006][.9069.0000.0000] # CIRCLED IDEOGRAPH SUITABLE
+FAC3 ; [.FB41.0020.0002][.9072.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.FB41.0020.0002][.907C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.FB41.0020.0002][.908F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F913
+2FA2 ; [.FB41.0020.0004][.9091.0000.0000] # KANGXI RADICAL CITY
+2ECF ; [.FB41.0020.0004][.9091.0000.0000][.0000.00FC.0004] # CJK RADICAL CITY
+2F9E2 ; [.FB41.0020.0002][.9094.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.FB41.0020.0002][.90CE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.FB41.0020.0002][.90DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.FB41.0020.0002][.90F1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.FB41.0020.0002][.90FD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.FB41.0020.0002][.9111.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.FB41.0020.0002][.911B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+2FA3 ; [.FB41.0020.0004][.9149.0000.0000] # KANGXI RADICAL WINE
+F919 ; [.FB41.0020.0002][.916A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.FB41.0020.0002][.9199.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.FB41.0020.0002][.91B4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+2FA4 ; [.FB41.0020.0004][.91C6.0000.0000] # KANGXI RADICAL DISTINGUISH
+F9E9 ; [.FB41.0020.0002][.91CC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+2FA5 ; [.FB41.0020.0004][.91CC.0000.0000] # KANGXI RADICAL VILLAGE
+F97E ; [.FB41.0020.0002][.91CF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.FB41.0020.0002][.91D1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90A
+2FA6 ; [.FB41.0020.0004][.91D1.0000.0000] # KANGXI RADICAL GOLD
+322E ; [*02FA.0020.0004][.FB41.0020.0004][.91D1.0000.0000][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+328E ; [.FB41.0020.0006][.91D1.0000.0000] # CIRCLED IDEOGRAPH METAL
+F9B1 ; [.FB41.0020.0002][.9234.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.FB41.0020.0002][.9238.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.FB41.0020.0002][.9276.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.FB41.0020.0002][.927C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.FB41.0020.0002][.92D7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.FB41.0020.0002][.92D8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.FB41.0020.0002][.9304.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.FB41.0020.0002][.934A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.FB41.0020.0002][.93F9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.FB41.0020.0002][.9415.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2ED0 ; [.FB41.0020.0004][.9485.0000.0000] # CJK RADICAL C-SIMPLIFIED GOLD
+2ED1 ; [.FB41.0020.0004][.9577.0000.0000] # CJK RADICAL LONG ONE
+2FA7 ; [.FB41.0020.0004][.9577.0000.0000] # KANGXI RADICAL LONG
+2ED2 ; [.FB41.0020.0004][.9578.0000.0000] # CJK RADICAL LONG TWO
+2ED3 ; [.FB41.0020.0004][.957F.0000.0000] # CJK RADICAL C-SIMPLIFIED LONG
+2FA8 ; [.FB41.0020.0004][.9580.0000.0000] # KANGXI RADICAL GATE
+2F9EE ; [.FB41.0020.0002][.958B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.FB41.0020.0002][.95AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.FB41.0020.0002][.95B7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+2ED4 ; [.FB41.0020.0004][.95E8.0000.0000] # CJK RADICAL C-SIMPLIFIED GATE
+2FA9 ; [.FB41.0020.0004][.961C.0000.0000] # KANGXI RADICAL MOUND
+2ED5 ; [.FB41.0020.0004][.961C.0000.0000][.0000.00FC.0004] # CJK RADICAL MOUND ONE
+2ED6 ; [.FB41.0020.0004][.961D.0000.0000] # CJK RADICAL MOUND TWO
+F9C6 ; [.FB41.0020.0002][.962E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.FB41.0020.0002][.964B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.FB41.0020.0002][.964D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.FB41.0020.0002][.9675.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.FB41.0020.0002][.9678.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.FB41.0020.0002][.967C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.FB41.0020.0002][.9686.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.FB41.0020.0002][.96A3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+2FAA ; [.FB41.0020.0004][.96B6.0000.0000] # KANGXI RADICAL SLAVE
+FA2F ; [.FB41.0020.0002][.96B7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.FB41.0020.0002][.96B8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2FAB ; [.FB41.0020.0004][.96B9.0000.0000] # KANGXI RADICAL SHORT TAILED BIRD
+2F9F3 ; [.FB41.0020.0002][.96C3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.FB41.0020.0002][.96E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.FB41.0020.0002][.96E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.FB41.0020.0002][.96E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+2FAC ; [.FB41.0020.0004][.96E8.0000.0000] # KANGXI RADICAL RAIN
+2ED7 ; [.FB41.0020.0004][.96E8.0000.0000][.0000.00FC.0004] # CJK RADICAL RAIN
+F9B2 ; [.FB41.0020.0002][.96F6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.FB41.0020.0002][.96F7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.FB41.0020.0002][.9723.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.FB41.0020.0002][.9732.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.FB41.0020.0002][.9748.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+2FAD ; [.FB41.0020.0004][.9751.0000.0000] # KANGXI RADICAL BLUE
+2ED8 ; [.FB41.0020.0004][.9752.0000.0000] # CJK RADICAL BLUE
+FA1C ; [.FB41.0020.0002][.9756.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.FB41.0020.0002][.9756.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2FAE ; [.FB41.0020.0004][.975E.0000.0000] # KANGXI RADICAL WRONG
+2FAF ; [.FB41.0020.0004][.9762.0000.0000] # KANGXI RADICAL FACE
+2FB0 ; [.FB41.0020.0004][.9769.0000.0000] # KANGXI RADICAL LEATHER
+2FB1 ; [.FB41.0020.0004][.97CB.0000.0000] # KANGXI RADICAL TANNED LEATHER
+FAC9 ; [.FB41.0020.0002][.97DB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.FB41.0020.0002][.97E0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+2ED9 ; [.FB41.0020.0004][.97E6.0000.0000] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
+2FB2 ; [.FB41.0020.0004][.97ED.0000.0000] # KANGXI RADICAL LEEK
+2FB3 ; [.FB41.0020.0004][.97F3.0000.0000] # KANGXI RADICAL SOUND
+FA69 ; [.FB41.0020.0002][.97FF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.FB41.0020.0002][.97FF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACA
+2FB4 ; [.FB41.0020.0004][.9801.0000.0000] # KANGXI RADICAL LEAF
+32A0 ; [.FB41.0020.0006][.9805.0000.0000] # CIRCLED IDEOGRAPH ITEM
+FACB ; [.FB41.0020.0002][.980B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.FB41.0020.0002][.980B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.FB41.0020.0002][.980B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.FB41.0020.0002][.9818.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.FB41.0020.0002][.9829.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.FB41.0020.0002][.983B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.FB41.0020.0002][.983B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.FB41.0020.0002][.985E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2EDA ; [.FB41.0020.0004][.9875.0000.0000] # CJK RADICAL C-SIMPLIFIED LEAF
+2FB5 ; [.FB41.0020.0004][.98A8.0000.0000] # KANGXI RADICAL WIND
+2EDB ; [.FB41.0020.0004][.98CE.0000.0000] # CJK RADICAL C-SIMPLIFIED WIND
+2FB6 ; [.FB41.0020.0004][.98DB.0000.0000] # KANGXI RADICAL FLY
+2EDC ; [.FB41.0020.0004][.98DE.0000.0000] # CJK RADICAL C-SIMPLIFIED FLY
+2EDD ; [.FB41.0020.0004][.98DF.0000.0000] # CJK RADICAL EAT ONE
+2FB7 ; [.FB41.0020.0004][.98DF.0000.0000] # KANGXI RADICAL EAT
+2EDF ; [.FB41.0020.0004][.98E0.0000.0000] # CJK RADICAL EAT THREE
+2EDE ; [.FB41.0020.0004][.98E0.0000.0000][.0000.00FC.0004] # CJK RADICAL EAT TWO
+2FA02 ; [.FB41.0020.0002][.98E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.FB41.0020.0002][.98EF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.FB41.0020.0002][.98FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.FB41.0020.0002][.9928.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.FB41.0020.0002][.9929.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2EE0 ; [.FB41.0020.0004][.9963.0000.0000] # CJK RADICAL C-SIMPLIFIED EAT
+2FB8 ; [.FB41.0020.0004][.9996.0000.0000] # KANGXI RADICAL HEAD
+2EE1 ; [.FB41.0020.0004][.9996.0000.0000][.0000.00FC.0004] # CJK RADICAL HEAD
+2FB9 ; [.FB41.0020.0004][.9999.0000.0000] # KANGXI RADICAL FRAGRANT
+2FA05 ; [.FB41.0020.0002][.99A7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FBA ; [.FB41.0020.0004][.99AC.0000.0000] # KANGXI RADICAL HORSE
+2FA06 ; [.FB41.0020.0002][.99C2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.FB41.0020.0002][.99F1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.FB41.0020.0002][.99FE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.FB41.0020.0002][.9A6A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F987
+2EE2 ; [.FB41.0020.0004][.9A6C.0000.0000] # CJK RADICAL C-SIMPLIFIED HORSE
+2FBB ; [.FB41.0020.0004][.9AA8.0000.0000] # KANGXI RADICAL BONE
+2EE3 ; [.FB41.0020.0004][.9AA8.0000.0000][.0000.00FC.0004] # CJK RADICAL BONE
+2FBC ; [.FB41.0020.0004][.9AD8.0000.0000] # KANGXI RADICAL TALL
+2FBD ; [.FB41.0020.0004][.9ADF.0000.0000] # KANGXI RADICAL HAIR
+FACD ; [.FB41.0020.0002][.9B12.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.FB41.0020.0002][.9B12.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+2FBE ; [.FB41.0020.0004][.9B25.0000.0000] # KANGXI RADICAL FIGHT
+2FBF ; [.FB41.0020.0004][.9B2F.0000.0000] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.FB41.0020.0004][.9B32.0000.0000] # KANGXI RADICAL CAULDRON
+2FC1 ; [.FB41.0020.0004][.9B3C.0000.0000] # KANGXI RADICAL GHOST
+2EE4 ; [.FB41.0020.0004][.9B3C.0000.0000][.0000.00FC.0004] # CJK RADICAL GHOST
+2FC2 ; [.FB41.0020.0004][.9B5A.0000.0000] # KANGXI RADICAL FISH
+F939 ; [.FB41.0020.0002][.9B6F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.FB41.0020.0002][.9C40.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.FB41.0020.0002][.9C57.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2EE5 ; [.FB41.0020.0004][.9C7C.0000.0000] # CJK RADICAL C-SIMPLIFIED FISH
+2FC3 ; [.FB41.0020.0004][.9CE5.0000.0000] # KANGXI RADICAL BIRD
+2FA0C ; [.FB41.0020.0002][.9CFD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.FB41.0020.0002][.9D67.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.FB41.0020.0002][.9DB4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.FB41.0020.0002][.9DFA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.FB41.0020.0002][.9E1E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F920
+2EE6 ; [.FB41.0020.0004][.9E1F.0000.0000] # CJK RADICAL C-SIMPLIFIED BIRD
+2FC4 ; [.FB41.0020.0004][.9E75.0000.0000] # KANGXI RADICAL SALT
+2EE7 ; [.FB41.0020.0004][.9E75.0000.0000][.0000.00FC.0004] # CJK RADICAL C-SIMPLIFIED SALT
+F940 ; [.FB41.0020.0002][.9E7F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F940
+2FC5 ; [.FB41.0020.0004][.9E7F.0000.0000] # KANGXI RADICAL DEER
+F988 ; [.FB41.0020.0002][.9E97.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.FB41.0020.0002][.9E9F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FC6 ; [.FB41.0020.0004][.9EA5.0000.0000] # KANGXI RADICAL WHEAT
+2EE8 ; [.FB41.0020.0004][.9EA6.0000.0000] # CJK RADICAL SIMPLIFIED WHEAT
+2FA15 ; [.FB41.0020.0002][.9EBB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+2FC7 ; [.FB41.0020.0004][.9EBB.0000.0000] # KANGXI RADICAL HEMP
+2FC8 ; [.FB41.0020.0004][.9EC3.0000.0000] # KANGXI RADICAL YELLOW
+2EE9 ; [.FB41.0020.0004][.9EC4.0000.0000] # CJK RADICAL SIMPLIFIED YELLOW
+2FC9 ; [.FB41.0020.0004][.9ECD.0000.0000] # KANGXI RADICAL MILLET
+F989 ; [.FB41.0020.0002][.9ECE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FCA ; [.FB41.0020.0004][.9ED1.0000.0000] # KANGXI RADICAL BLACK
+2FA17 ; [.FB41.0020.0002][.9EF9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FCB ; [.FB41.0020.0004][.9EF9.0000.0000] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.FB41.0020.0004][.9EFD.0000.0000] # KANGXI RADICAL FROG
+2FA18 ; [.FB41.0020.0002][.9EFE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2EEA ; [.FB41.0020.0004][.9EFE.0000.0000] # CJK RADICAL C-SIMPLIFIED FROG
+2FA19 ; [.FB41.0020.0002][.9F05.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FCD ; [.FB41.0020.0004][.9F0E.0000.0000] # KANGXI RADICAL TRIPOD
+2FA1A ; [.FB41.0020.0002][.9F0F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FCE ; [.FB41.0020.0004][.9F13.0000.0000] # KANGXI RADICAL DRUM
+2FA1B ; [.FB41.0020.0002][.9F16.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FCF ; [.FB41.0020.0004][.9F20.0000.0000] # KANGXI RADICAL RAT
+2FA1C ; [.FB41.0020.0002][.9F3B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+2FD0 ; [.FB41.0020.0004][.9F3B.0000.0000] # KANGXI RADICAL NOSE
+FAD8 ; [.FB41.0020.0002][.9F43.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+2FD1 ; [.FB41.0020.0004][.9F4A.0000.0000] # KANGXI RADICAL EVEN
+2EEB ; [.FB41.0020.0004][.9F4A.0000.0000][.0000.00FC.0004] # CJK RADICAL J-SIMPLIFIED EVEN
+2EEC ; [.FB41.0020.0004][.9F50.0000.0000] # CJK RADICAL C-SIMPLIFIED EVEN
+2FD2 ; [.FB41.0020.0004][.9F52.0000.0000] # KANGXI RADICAL TOOTH
+2EED ; [.FB41.0020.0004][.9F52.0000.0000][.0000.00FC.0004] # CJK RADICAL J-SIMPLIFIED TOOTH
+2EEE ; [.FB41.0020.0004][.9F7F.0000.0000] # CJK RADICAL C-SIMPLIFIED TOOTH
+F9C4 ; [.FB41.0020.0002][.9F8D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+2FD3 ; [.FB41.0020.0004][.9F8D.0000.0000] # KANGXI RADICAL DRAGON
+2EEF ; [.FB41.0020.0004][.9F8D.0000.0000][.0000.00FC.0004] # CJK RADICAL J-SIMPLIFIED DRAGON
+FAD9 ; [.FB41.0020.0002][.9F8E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+2EF0 ; [.FB41.0020.0004][.9F99.0000.0000] # CJK RADICAL C-SIMPLIFIED DRAGON
+F907 ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2FD4 ; [.FB41.0020.0004][.9F9C.0000.0000] # KANGXI RADICAL TURTLE
+2EF1 ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.00FC.0004] # CJK RADICAL TURTLE
+2EF2 ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.00FD.0004] # CJK RADICAL J-SIMPLIFIED TURTLE
+2EF3 ; [.FB41.0020.0004][.9F9F.0000.0000] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.FB41.0020.0004][.9FA0.0000.0000] # KANGXI RADICAL FLUTE
+FA0E ; [.FB41.0020.0002][.FA0E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0E
+FA0F ; [.FB41.0020.0002][.FA0F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0F
+FA11 ; [.FB41.0020.0002][.FA11.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA11
+FA13 ; [.FB41.0020.0002][.FA13.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA13
+FA14 ; [.FB41.0020.0002][.FA14.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA14
+FA1F ; [.FB41.0020.0002][.FA1F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1F
+FA21 ; [.FB41.0020.0002][.FA21.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA21
+FA23 ; [.FB41.0020.0002][.FA23.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA23
+FA24 ; [.FB41.0020.0002][.FA24.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA24
+FA27 ; [.FB41.0020.0002][.FA27.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA27
+FA28 ; [.FB41.0020.0002][.FA28.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA28
+FA29 ; [.FB41.0020.0002][.FA29.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA29
+2F80C ; [.FB80.0020.0002][.B49E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80C
+2F813 ; [.FB80.0020.0002][.B4B9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F813
+2F9CA ; [.FB80.0020.0002][.B4BB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CA
+2F81F ; [.FB80.0020.0002][.B4DF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F824 ; [.FB80.0020.0002][.B515.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F824
+2F867 ; [.FB80.0020.0002][.B6EE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F867
+2F868 ; [.FB80.0020.0002][.B6FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F868
+2F876 ; [.FB80.0020.0002][.B781.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F876
+2F883 ; [.FB80.0020.0002][.B82F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F883
+2F888 ; [.FB80.0020.0002][.B862.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F88A ; [.FB80.0020.0002][.B87C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88A
+2F896 ; [.FB80.0020.0002][.B8C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F896
+2F89B ; [.FB80.0020.0002][.B8E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89B
+2F8A2 ; [.FB80.0020.0002][.B91C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A2
+2F8A1 ; [.FB80.0020.0002][.B93A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A1
+2F8C2 ; [.FB80.0020.0002][.BA2E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C2
+2F8C7 ; [.FB80.0020.0002][.BA6C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C7
+2F8D1 ; [.FB80.0020.0002][.BAE4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D1
+2F8D0 ; [.FB80.0020.0002][.BB08.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.FB80.0020.0002][.BB19.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.FB80.0020.0002][.BB49.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+FAD2 ; [.FB80.0020.0002][.BB9D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD2
+2F8E7 ; [.FB80.0020.0002][.BB9D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E7
+2F8EE ; [.FB80.0020.0002][.BC18.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F8F2 ; [.FB80.0020.0002][.BC4E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F2
+2F90A ; [.FB80.0020.0002][.BD33.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F916 ; [.FB80.0020.0002][.BD96.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F916
+2F92A ; [.FB80.0020.0002][.BEAC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92A
+2F92C ; [.FB80.0020.0002][.BEB8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.FB80.0020.0002][.BEB8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+2F933 ; [.FB80.0020.0002][.BF1B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F933
+2F93E ; [.FB80.0020.0002][.BFFC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93E
+2F93F ; [.FB80.0020.0002][.C008.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93F
+FAD3 ; [.FB80.0020.0002][.C018.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD3
+FAD4 ; [.FB80.0020.0002][.C039.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.FB80.0020.0002][.C039.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F94B ; [.FB80.0020.0002][.C046.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94B
+2F94C ; [.FB80.0020.0002][.C096.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94C
+2F951 ; [.FB80.0020.0002][.C0E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F951
+2F958 ; [.FB80.0020.0002][.C12F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F958
+2F960 ; [.FB80.0020.0002][.C202.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F964 ; [.FB80.0020.0002][.C227.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F964
+2F967 ; [.FB80.0020.0002][.C2A0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F967
+2F96D ; [.FB80.0020.0002][.C301.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F971 ; [.FB80.0020.0002][.C334.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F971
+2F974 ; [.FB80.0020.0002][.C359.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F974
+2F981 ; [.FB80.0020.0002][.C3D5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F981
+2F8D7 ; [.FB80.0020.0002][.C3D9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2F984 ; [.FB80.0020.0002][.C40B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F984
+2F98E ; [.FB80.0020.0002][.C46B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98E
+2F9A7 ; [.FB80.0020.0002][.C52B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A7
+2F9AE ; [.FB80.0020.0002][.C55D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AE
+2F9AF ; [.FB80.0020.0002][.C561.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AF
+2F9B2 ; [.FB80.0020.0002][.C56B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B2
+2F9BF ; [.FB80.0020.0002][.C5D7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9BF
+2F9C2 ; [.FB80.0020.0002][.C5F9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C2
+2F9C8 ; [.FB80.0020.0002][.C635.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C8
+2F9CD ; [.FB80.0020.0002][.C6BE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CD
+2F9CE ; [.FB80.0020.0002][.C6C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CE
+2F9EF ; [.FB80.0020.0002][.C995.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9EF
+2F9F2 ; [.FB80.0020.0002][.C9E6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F2
+2F9F8 ; [.FB80.0020.0002][.CA6E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F8
+2F9F9 ; [.FB80.0020.0002][.CA76.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F9
+2F9FC ; [.FB80.0020.0002][.CAB2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FC
+2FA03 ; [.FB80.0020.0002][.CB33.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA03
+2FA08 ; [.FB80.0020.0002][.CBCE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA08
+2FA0D ; [.FB80.0020.0002][.CCCE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0D
+2FA0E ; [.FB80.0020.0002][.CCED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2FA11 ; [.FB80.0020.0002][.CCF8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA11
+2FA16 ; [.FB80.0020.0002][.CD56.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA16
+2F803 ; [.FB84.0020.0002][.8122.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F803
+2F812 ; [.FB84.0020.0002][.851C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F812
+2F91B ; [.FB84.0020.0002][.8525.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91B
+2F816 ; [.FB84.0020.0002][.854B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F816
+2F80D ; [.FB84.0020.0002][.863A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F80D
+2F9D9 ; [.FB84.0020.0002][.8804.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D9
+2F9DD ; [.FB84.0020.0002][.88DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DD
+2F834 ; [.FB84.0020.0002][.8A2C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F834
+2F838 ; [.FB84.0020.0002][.8B63.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F838
+2F859 ; [.FB84.0020.0002][.94E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F859
+2F860 ; [.FB84.0020.0002][.96A8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F860
+2F861 ; [.FB84.0020.0002][.96EA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F861
+2F86C ; [.FB84.0020.0002][.99C8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86C
+2F871 ; [.FB84.0020.0002][.9B18.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F871
+2F8F8 ; [.FB84.0020.0002][.9D0B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F8
+2F87B ; [.FB84.0020.0002][.9DE4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87B
+2F87D ; [.FB84.0020.0002][.9DE6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F87D
+2F889 ; [.FB84.0020.0002][.A183.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F889
+2F939 ; [.FB84.0020.0002][.A19F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F939
+2F891 ; [.FB84.0020.0002][.A331.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F891
+2F892 ; [.FB84.0020.0002][.A331.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F892
+2F8A4 ; [.FB84.0020.0002][.A6D4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8A4
+FAD0 ; [.FB84.0020.0002][.A844.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD0
+FACF ; [.FB84.0020.0002][.A84A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACF
+2F8B8 ; [.FB84.0020.0002][.AB0C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B8
+2F8BE ; [.FB84.0020.0002][.ABF1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8BE
+2F8CA ; [.FB84.0020.0002][.B00A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CA
+2F897 ; [.FB84.0020.0002][.B2B8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F897
+2F980 ; [.FB84.0020.0002][.B35F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F980
+2F989 ; [.FB84.0020.0002][.B393.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F989
+2F98A ; [.FB84.0020.0002][.B39C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98A
+2F8DD ; [.FB84.0020.0002][.B3C3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DD
+FAD1 ; [.FB84.0020.0002][.B3D5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD1
+2F8E3 ; [.FB84.0020.0002][.B46D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E3
+2F8EC ; [.FB84.0020.0002][.B6A3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8EC
+2F8F0 ; [.FB84.0020.0002][.B8A7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F0
+2F8F7 ; [.FB84.0020.0002][.BA8D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F7
+2F8F9 ; [.FB84.0020.0002][.BAFA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+2F8FB ; [.FB84.0020.0002][.BCBC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8FB
+2F906 ; [.FB84.0020.0002][.BD1E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F906
+2F90D ; [.FB84.0020.0002][.BED1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F90D
+2F910 ; [.FB84.0020.0002][.BF5E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F910
+2F911 ; [.FB84.0020.0002][.BF8E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F911
+2F91D ; [.FB84.0020.0002][.C263.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91D
+FA6C ; [.FB84.0020.0002][.C2EE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F91F ; [.FB84.0020.0002][.C3AB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91F
+2F923 ; [.FB84.0020.0002][.C608.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F923
+2F926 ; [.FB84.0020.0002][.C735.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F926
+2F927 ; [.FB84.0020.0002][.C814.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F927
+2F935 ; [.FB84.0020.0002][.CC36.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F935
+2F937 ; [.FB84.0020.0002][.CC92.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F937
+2F93B ; [.FB84.0020.0002][.CFA1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93B
+2F93C ; [.FB84.0020.0002][.CFB8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93C
+2F93D ; [.FB84.0020.0002][.D044.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93D
+2F942 ; [.FB84.0020.0002][.D0F2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F942
+2F941 ; [.FB84.0020.0002][.D0F3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F941
+2F943 ; [.FB84.0020.0002][.D119.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F943
+2F944 ; [.FB84.0020.0002][.D133.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F944
+FAD5 ; [.FB84.0020.0002][.D249.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD5
+2F94D ; [.FB84.0020.0002][.D41D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F94D
+2F952 ; [.FB84.0020.0002][.D626.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F952
+2F954 ; [.FB84.0020.0002][.D69A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F954
+2F955 ; [.FB84.0020.0002][.D6C5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F955
+2F95C ; [.FB84.0020.0002][.D97C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95C
+2F95D ; [.FB84.0020.0002][.DAA7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95D
+2F95E ; [.FB84.0020.0002][.DAA7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95E
+2F961 ; [.FB84.0020.0002][.DBAB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F961
+2F965 ; [.FB84.0020.0002][.DC80.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F965
+FAD6 ; [.FB84.0020.0002][.DCD0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD6
+2F96B ; [.FB84.0020.0002][.DF86.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F96B
+2F898 ; [.FB84.0020.0002][.E1DA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F898
+2F972 ; [.FB84.0020.0002][.E228.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F972
+2F973 ; [.FB84.0020.0002][.E247.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F973
+2F975 ; [.FB84.0020.0002][.E2D9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F975
+2F977 ; [.FB84.0020.0002][.E33E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F977
+2F97B ; [.FB84.0020.0002][.E4DA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97B
+2F97C ; [.FB84.0020.0002][.E523.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97C
+2F97E ; [.FB84.0020.0002][.E5A8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97E
+2F987 ; [.FB84.0020.0002][.E7A7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F987
+2F988 ; [.FB84.0020.0002][.E7B5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F988
+2F997 ; [.FB84.0020.0002][.EB3C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F997
+2F9A4 ; [.FB84.0020.0002][.EC36.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A4
+2F9A6 ; [.FB84.0020.0002][.ECD5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A6
+2F9A5 ; [.FB84.0020.0002][.ED6B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9A5
+2F9AD ; [.FB84.0020.0002][.EF2C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AD
+2F9B0 ; [.FB84.0020.0002][.EFB1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B0
+2F9B1 ; [.FB84.0020.0002][.F0D2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9B1
+2F9AB ; [.FB84.0020.0002][.F3CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9AB
+2F9C5 ; [.FB84.0020.0002][.F667.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9C5
+2F9CB ; [.FB84.0020.0002][.F8AE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CB
+2F9CC ; [.FB84.0020.0002][.F966.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CC
+2F9D3 ; [.FB84.0020.0002][.FCA8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D3
+FAD7 ; [.FB84.0020.0002][.FED3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD7
+2F9D8 ; [.FB84.0020.0002][.FF2F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D8
+2F9E0 ; [.FB85.0020.0002][.85D2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E0
+2F9E1 ; [.FB85.0020.0002][.85ED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E1
+2F9E5 ; [.FB85.0020.0002][.872E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E5
+2F9ED ; [.FB85.0020.0002][.8BFA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9ED
+2F9F1 ; [.FB85.0020.0002][.8D77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F1
+2F9F6 ; [.FB85.0020.0002][.9145.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F6
+2F81C ; [.FB85.0020.0002][.91DF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81C
+2F9F7 ; [.FB85.0020.0002][.921A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F7
+2F9FB ; [.FB85.0020.0002][.940A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FB
+2F9FD ; [.FB85.0020.0002][.9496.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9FD
+2FA01 ; [.FB85.0020.0002][.95B6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA01
+2FA09 ; [.FB85.0020.0002][.9B30.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA09
+2FA10 ; [.FB85.0020.0002][.A0CE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA10
+2FA12 ; [.FB85.0020.0002][.A105.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA12
+2FA13 ; [.FB85.0020.0002][.A20E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA13
+2FA14 ; [.FB85.0020.0002][.A291.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA14
+2F88F ; [.FB85.0020.0002][.A392.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88F
+2FA1D ; [.FB85.0020.0002][.A600.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA1D
+FFFD ; [.FFFD.0020.0002] # REPLACEMENT CHARACTER
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
index d0f35a914df..2331e8b7069 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
@@ -1,9 +1,12 @@
package Unicode::Normalize;
BEGIN {
- unless ("A" eq pack('U', 0x41)) {
+ unless ('A' eq pack('U', 0x41)) {
die "Unicode::Normalize cannot stringify a Unicode code point\n";
}
+ unless (0x41 == unpack('U', 'A')) {
+ die "Unicode::Normalize cannot get Unicode code point\n";
+ }
}
use 5.006;
@@ -13,7 +16,7 @@ use Carp;
no warnings 'utf8';
-our $VERSION = '1.16';
+our $VERSION = '1.17';
our $PACKAGE = __PACKAGE__;
our @EXPORT = qw( NFC NFD NFKC NFKD );
@@ -548,9 +551,10 @@ normalization implemented by this module depends on your perl's version.
5.8.7-5.8.8 4.1.0
5.10.0 5.0.0
5.8.9, 5.10.1 5.1.0
- 5.12.0-5.12.3 5.2.0
+ 5.12.x 5.2.0
5.14.x 6.0.0
5.16.x 6.1.0
+ 5.18.x 6.2.0
=item Correction of decomposition mapping
diff --git a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
index 9c3dd7c7105..11a8ec26807 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
@@ -5,7 +5,7 @@ use warnings;
no warnings 'surrogate'; # surrogates can be inputs to this
use charnames ();
-our $VERSION = '0.51';
+our $VERSION = '0.58';
require Exporter;
@@ -24,11 +24,14 @@ our @EXPORT_OK = qw(charinfo
prop_value_aliases
prop_invlist
prop_invmap
+ search_invlist
MAX_CP
);
use Carp;
+sub IS_ASCII_PLATFORM { ord("A") == 65 }
+
=head1 NAME
Unicode::UCD - Unicode character database
@@ -80,6 +83,9 @@ Unicode::UCD - Unicode character database
my ($list_ref, $map_ref, $format, $missing)
= prop_invmap("General Category");
+ use Unicode::UCD 'search_invlist';
+ my $index = search_invlist(\@invlist, $code_point);
+
use Unicode::UCD 'compexcl';
my $compexcl = compexcl($codepoint);
@@ -100,18 +106,18 @@ Character Database.
=head2 code point argument
Some of the functions are called with a I<code point argument>, which is either
-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.
+a decimal or a hexadecimal scalar designating a code point in the platform's
+native character set (extended to Unicode), or C<U+> followed by hexadecimals
+designating a Unicode code point. A leading 0 will force a hexadecimal
+interpretation, as will a hexadecimal digit that isn't a decimal digit.
Examples:
- 223 # Decimal 223
- 0223 # Hexadecimal 223 (= 547 decimal)
- 0xDF # Hexadecimal DF (= 223 decimal
- U+DF # Hexadecimal DF
+ 223 # Decimal 223 in native character set
+ 0223 # Hexadecimal 223, native (= 547 decimal)
+ 0xDF # Hexadecimal DF, native (= 223 decimal
+ U+DF # Hexadecimal DF, in Unicode's character set
+ (= LATIN SMALL LETTER SHARP S)
Note that the largest code point in Unicode is U+10FFFF.
@@ -193,7 +199,8 @@ The keys in the hash with the meanings of their values are:
=item B<code>
-the input L</code point argument> expressed in hexadecimal, with leading zeros
+the input native L</code point argument> expressed in hexadecimal, with
+leading zeros
added if necessary to make it contain at least four hexdigits
=item B<name>
@@ -237,7 +244,7 @@ of the bidi type name.
is empty if I<code> has no decomposition; or is one or more codes
(separated by spaces) that, taken in order, represent a decomposition for
I<code>. Each has at least four hexdigits.
-The codes may be preceded by a word enclosed in angle brackets then a space,
+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
@@ -245,7 +252,7 @@ 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
+if I<code> represents a decimal digit this is its integer numeric value
=item B<digit>
@@ -322,8 +329,16 @@ sub _getcode {
if ($arg =~ /^[1-9]\d*$/) {
return $arg;
- } elsif ($arg =~ /^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/) {
- return hex($1);
+ }
+ elsif ($arg =~ /^(?:0[xX])?([[:xdigit:]]+)$/) {
+ return CORE::hex($1);
+ }
+ elsif ($arg =~ /^[Uu]\+([[:xdigit:]]+)$/) { # Is of form U+0000, means
+ # wants the Unicode code
+ # point, not the native one
+ my $decimal = CORE::hex($1);
+ return $decimal if IS_ASCII_PLATFORM;
+ return utf8::unicode_to_native($decimal);
}
return;
@@ -533,7 +548,7 @@ sub _read_table ($;$) {
my $property = $table =~ s/\.pl//r;
$property = $utf8::file_to_swash_name{$property};
my $to_adjust = defined $property
- && $utf8::SwashInfo{$property}{'format'} eq 'a';
+ && $utf8::SwashInfo{$property}{'format'} =~ / ^ a /x;
for (split /^/m, $list) {
my ($start, $end, $value) = / ^ (.+?) \t (.*?) \t (.+?)
@@ -541,6 +556,8 @@ sub _read_table ($;$) {
$ /x;
my $decimal_start = hex $start;
my $decimal_end = ($end eq "") ? $decimal_start : hex $end;
+ $value = hex $value if $to_adjust
+ && $utf8::SwashInfo{$property}{'format'} eq 'ax';
if ($return_hash) {
foreach my $i ($decimal_start .. $decimal_end) {
$return{$i} = ($to_adjust)
@@ -582,7 +599,7 @@ sub charinrange {
my $range = charblock('Armenian');
-With a L</code point argument> charblock() returns the I<block> the code point
+With a L</code point argument> C<charblock()> returns the I<block> the code point
belongs to, e.g. C<Basic Latin>. The old-style block name is returned (see
L</Old-style versus new-style block names>).
If the code point is unassigned, this returns the block it would belong to if
@@ -591,17 +608,20 @@ have blocks, all code points are considered to be in C<No_Block>.)
See also L</Blocks versus Scripts>.
-If supplied with an argument that can't be a code point, charblock() tries to
-do the opposite and interpret the argument as an old-style block name. The
-return value
-is a I<range set> with one range: an anonymous list with a single element that
-consists of another anonymous list whose first element is the first code point
-in the block, and whose second (and final) element is the final code point in
-the block. (The extra list consisting of just one element is so that the same
-program logic can be used to handle both this return, and the return from
-L</charscript()> which can have multiple ranges.) You can test whether a code
-point is in a range using the L</charinrange()> function. If the argument is
-not a known block, C<undef> is returned.
+If supplied with an argument that can't be a code point, C<charblock()> tries to
+do the opposite and interpret the argument as an old-style block name. On an
+ASCII platform, the return value is a I<range set> with one range: an
+anonymous list with a single element that consists of another anonymous list
+whose first element is the first code point in the block, and whose second
+element is the final code point in the block. On an EBCDIC
+platform, the first two Unicode blocks are not contiguous. Their range sets
+are lists containing I<start-of-range>, I<end-of-range> code point pairs. You
+can test whether a code point is in a range set using the L</charinrange()>
+function. (To be precise, each I<range set> contains a third array element,
+after the range boundary ones: the old_style block name.)
+
+If the argument to C<charblock()> is not a known block, C<undef> is
+returned.
=cut
@@ -631,6 +651,36 @@ sub _charblocks {
}
}
close($BLOCKSFH);
+ if (! IS_ASCII_PLATFORM) {
+ # The first two blocks, through 0xFF, are wrong on EBCDIC
+ # platforms.
+
+ my @new_blocks = _read_table("To/Blk.pl");
+
+ # Get rid of the first two ranges in the Unicode version, and
+ # replace them with the ones computed by mktables.
+ shift @BLOCKS;
+ shift @BLOCKS;
+ delete $BLOCKS{'Basic Latin'};
+ delete $BLOCKS{'Latin-1 Supplement'};
+
+ # But there are multiple entries in the computed versions, and
+ # we change their names to (which we know) to be the old-style
+ # ones.
+ for my $i (0.. @new_blocks - 1) {
+ if ($new_blocks[$i][2] =~ s/Basic_Latin/Basic Latin/
+ or $new_blocks[$i][2] =~
+ s/Latin_1_Supplement/Latin-1 Supplement/)
+ {
+ push @{$BLOCKS{$new_blocks[$i][2]}}, $new_blocks[$i];
+ }
+ else {
+ splice @new_blocks, $i;
+ last;
+ }
+ }
+ unshift @BLOCKS, @new_blocks;
+ }
}
}
}
@@ -662,8 +712,8 @@ sub charblock {
my $range = charscript('Thai');
-With a L</code point argument> charscript() returns the I<script> the
-code point belongs to, e.g. C<Latin>, C<Greek>, C<Han>.
+With a L</code point argument>, C<charscript()> returns the I<script> the
+code point belongs to, e.g., C<Latin>, C<Greek>, C<Han>.
If the code point is unassigned or the Unicode version being used is so early
that it doesn't have scripts, this function returns C<"Unknown">.
@@ -671,8 +721,11 @@ If supplied with an argument that can't be a code point, charscript() tries
to do the opposite and interpret the argument as a script name. The
return value is a I<range set>: an anonymous list of lists that contain
I<start-of-range>, I<end-of-range> code point pairs. You can test whether a
-code point is in a range set using the L</charinrange()> function. If the
-argument is not a known script, C<undef> is returned.
+code point is in a range set using the L</charinrange()> function.
+(To be precise, each I<range set> contains a third array element,
+after the range boundary ones: the script name.)
+
+If the C<charscript()> argument is not a known script, C<undef> is returned.
See also L</Blocks versus Scripts>.
@@ -721,7 +774,7 @@ sub charscript {
my $charblocks = charblocks();
-charblocks() returns a reference to a hash with the known block names
+C<charblocks()> returns a reference to a hash with the known block names
as the keys, and the code point ranges (see L</charblock()>) as the values.
The names are in the old-style (see L</Old-style versus new-style block
@@ -745,7 +798,7 @@ sub charblocks {
my $charscripts = charscripts();
-charscripts() returns a reference to a hash with the known script
+C<charscripts()> returns a reference to a hash with the known script
names as the keys, and the code point ranges (see L</charscript()>) as
the values.
@@ -766,7 +819,7 @@ sub charscripts {
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():
+by L</charblocks()> and L</charscripts()> by using C<charinrange()>:
use Unicode::UCD qw(charscript charinrange);
@@ -896,7 +949,9 @@ sub bidi_types {
my $compexcl = compexcl(0x09dc);
This routine returns C<undef> if the Unicode version being used is so early
-that it doesn't have this property. It is included for backwards
+that it doesn't have this property.
+
+C<compexcl()> is included for backwards
compatibility, but as of Perl 5.12 and more modern Unicode versions, for
most purposes it is probably more convenient to use one of the following
instead:
@@ -974,7 +1029,8 @@ with the following fields is returned:
=item B<code>
-the input L</code point argument> expressed in hexadecimal, with leading zeros
+the input native L</code point argument> expressed in hexadecimal, with
+leading zeros
added if necessary to make it contain at least four hexdigits
=item B<full>
@@ -1239,7 +1295,8 @@ The keys in the bottom layer hash with the meanings of their values are:
=item B<code>
-the input L</code point argument> expressed in hexadecimal, with leading zeros
+the input native L</code point argument> expressed in hexadecimal, with
+leading zeros
added if necessary to make it contain at least four hexdigits
=item B<lower>
@@ -1327,6 +1384,20 @@ sub _casespec {
my ($hexcode, $lower, $title, $upper, $condition) =
($1, $2, $3, $4, $5);
+ if (! IS_ASCII_PLATFORM) { # Remap entry to native
+ foreach my $var_ref (\$hexcode,
+ \$lower,
+ \$title,
+ \$upper)
+ {
+ next unless defined $$var_ref;
+ $$var_ref = join " ",
+ map { sprintf("%04X",
+ utf8::unicode_to_native(hex $_)) }
+ split " ", $$var_ref;
+ }
+ }
+
my $code = hex($hexcode);
# In 2.1.8, there were duplicate entries; ignore all but
@@ -1400,10 +1471,11 @@ sub casespec {
If used with a single argument in a scalar context, returns the string
consisting of the code points of the named sequence, or C<undef> if no
named sequence by that name exists. If used with a single argument in
-a list context, it returns the list of the ordinals of the code points. If used
-with no
-arguments in a list context, returns a hash with the names of the
-named sequences as the keys and the named sequences as strings as
+a list context, it returns the list of the ordinals of the code points.
+
+If used with no
+arguments in a list context, it returns a hash with the names of all the
+named sequences as the keys and their sequences as strings as
the values. Otherwise, it returns C<undef> or an empty list depending
on the context.
@@ -1519,7 +1591,7 @@ sub _numeric {
my $val = num("123");
my $one_quarter = num("\N{VULGAR FRACTION 1/4}");
-C<num> returns the numeric value of the input Unicode string; or C<undef> if it
+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
@@ -1687,7 +1759,7 @@ Those discouraged forms are accepted as input to C<prop_aliases>, but are not
returned in the lists. C<prop_aliases('isL&')> and C<prop_aliases('isL_')>,
which are old synonyms for C<"Is_LC"> and should not be used in new code, are
examples of this. These both return C<(Is_LC, Cased_Letter)>. Thus this
-function allows you to take a discourarged form, and find its acceptable
+function allows you to take a discouraged form, and find its acceptable
alternatives. The same goes with single-form Block property equivalences.
Only the forms that begin with C<"In_"> are not discouraged; if you pass
C<prop_aliases> a discouraged form, you will get back the equivalent ones that
@@ -1782,12 +1854,21 @@ sub prop_aliases ($) {
# there, the input is unknown.
return;
}
- else {
+ elsif ($loose =~ / [:=] /x) {
# Here we found the name but not its aliases, so it has to
- # exist. This means it must be one of the Perl single-form
- # extensions. First see if it is for a property-value
- # combination in one of the following properties.
+ # exist. Exclude property-value combinations. (This shows up
+ # for something like ccc=vr which matches loosely, but is a
+ # synonym for ccc=9 which matches only strictly.
+ return;
+ }
+ else {
+
+ # Here it has to exist, and isn't a property-value
+ # combination. This means it must be one of the Perl
+ # single-form extensions. First see if it is for a
+ # property-value combination in one of the following
+ # properties.
my @list;
foreach my $property ("gc", "script") {
@list = prop_value_aliases($property, $loose);
@@ -2076,21 +2157,10 @@ too high for some operations to work; you may wish to use a smaller number for
your purposes.)
Note that the inversion lists returned by this function can possibly include
-non-Unicode code points, that is anything above 0x10FFFF. This is in
-contrast to Perl regular expression matches on those code points, in which a
-non-Unicode code point always fails to match. For example, both of these have
-the same result:
-
- chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails.
- chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Fails!
-
-And both raise a warning that a Unicode property is being used on a
-non-Unicode code point. It is arguable as to which is the correct thing to do
-here. This function has chosen the way opposite to the Perl regular
-expression behavior. This allows you to easily flip to to the Perl regular
-expression way (for you to go in the other direction would be far harder).
-Simply add 0x110000 at the end of the non-empty returned list if it isn't
-already that value; and pop that value if it is; like:
+non-Unicode code points, that is anything above 0x10FFFF. Unicode properties
+are not defined on such code points. You might wish to change the output to
+not include these. Simply add 0x110000 at the end of the non-empty returned
+list if it isn't already that value; and pop that value if it is; like:
my @list = prop_invlist("foo");
if (@list) {
@@ -2124,6 +2194,9 @@ code points that have the property-value:
C<prop_invlist> does not know about any user-defined nor Perl internal-only
properties, and will return C<undef> if called with one of those.
+The L</search_invlist()> function is provided for finding a code point within
+an inversion list.
+
=cut
# User-defined properties could be handled with some changes to utf8_heavy.pl;
@@ -2171,44 +2244,53 @@ sub prop_invlist ($;$) {
my @invlist;
- # The input lines look like:
- # 0041\t005A # [26]
- # 005F
+ if ($swash->{'LIST'} =~ /^V/) {
- # Split into lines, stripped of trailing comments
- foreach my $range (split "\n",
- $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr)
- {
- # And find the beginning and end of the range on the line
- my ($hex_begin, $hex_end) = split "\t", $range;
- my $begin = hex $hex_begin;
-
- # If the new range merely extends the old, we remove the marker
- # created the last time through the loop for the old's end, which
- # causes the new one's end to be used instead.
- if (@invlist && $begin == $invlist[-1]) {
- pop @invlist;
- }
- else {
- # Add the beginning of the range
- push @invlist, $begin;
- }
+ # A 'V' as the first character marks the input as already an inversion
+ # list, in which case, all we need to do is put the remaining lines
+ # into our array.
+ @invlist = split "\n", $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr;
+ shift @invlist;
+ }
+ else {
+ # The input lines look like:
+ # 0041\t005A # [26]
+ # 005F
- if (defined $hex_end) { # The next item starts with the code point 1
- # beyond the end of the range.
- push @invlist, hex($hex_end) + 1;
- }
- else { # No end of range, is a single code point.
- push @invlist, $begin + 1;
+ # Split into lines, stripped of trailing comments
+ foreach my $range (split "\n",
+ $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr)
+ {
+ # And find the beginning and end of the range on the line
+ my ($hex_begin, $hex_end) = split "\t", $range;
+ my $begin = hex $hex_begin;
+
+ # If the new range merely extends the old, we remove the marker
+ # created the last time through the loop for the old's end, which
+ # causes the new one's end to be used instead.
+ if (@invlist && $begin == $invlist[-1]) {
+ pop @invlist;
+ }
+ else {
+ # Add the beginning of the range
+ push @invlist, $begin;
+ }
+
+ if (defined $hex_end) { # The next item starts with the code point 1
+ # beyond the end of the range.
+ no warnings 'portable';
+ my $end = hex $hex_end;
+ last if $end == $Unicode::UCD::MAX_CP;
+ push @invlist, $end + 1;
+ }
+ else { # No end of range, is a single code point.
+ push @invlist, $begin + 1;
+ }
}
}
- require "unicore/UCD.pl";
- my $FIRST_NON_UNICODE = $MAX_UNICODE_CODEPOINT + 1;
-
# Could need to be inverted: add or subtract a 0 at the beginning of the
- # list. And to keep it from matching non-Unicode, add or subtract the
- # first non-unicode code point.
+ # list.
if ($swash->{'INVERT_IT'}) {
if (@invlist && $invlist[0] == 0) {
shift @invlist;
@@ -2216,116 +2298,17 @@ sub prop_invlist ($;$) {
else {
unshift @invlist, 0;
}
- if (@invlist && $invlist[-1] == $FIRST_NON_UNICODE) {
- pop @invlist;
- }
- else {
- push @invlist, $FIRST_NON_UNICODE;
- }
- }
-
- # Here, the list is set up to include only Unicode code points. But, if
- # the table is the default one for the property, it should contain all
- # non-Unicode code points. First calculate the loose name for the
- # property. This is done even for strict-name properties, as the data
- # structure that mktables generates for us is set up so that we don't have
- # to worry about that. The property-value needs to be split if compound,
- # as the loose rules need to be independently calculated on each part. We
- # know that it is syntactically valid, or SWASHNEW would have failed.
-
- $prop = lc $prop;
- my ($prop_only, $table) = split /\s*[:=]\s*/, $prop;
- if ($table) {
-
- # May have optional prefixed 'is'
- $prop = utf8::_loose_name($prop_only) =~ s/^is//r;
- $prop = $utf8::loose_property_name_of{$prop};
- $prop .= "=" . utf8::_loose_name($table);
- }
- else {
- $prop = utf8::_loose_name($prop);
- }
- if (exists $loose_defaults{$prop}) {
-
- # Here, is the default table. If a range ended with 10ffff, instead
- # continue that range to infinity, by popping the 110000; otherwise,
- # add the range from 11000 to infinity
- if (! @invlist || $invlist[-1] != $FIRST_NON_UNICODE) {
- push @invlist, $FIRST_NON_UNICODE;
- }
- else {
- pop @invlist;
- }
}
return @invlist;
}
-sub _search_invlist {
- # Find the range in the inversion list which contains a code point; that
- # is, find i such that l[i] <= code_point < l[i+1]. Returns undef if no
- # such i.
-
- # If this is ever made public, could use to speed up .t specials. Would
- # need to use code point argument, as in other functions in this pm
-
- my $list_ref = shift;
- my $code_point = shift;
- # Verify non-neg numeric XXX
-
- my $max_element = @$list_ref - 1;
-
- # Return undef if list is empty or requested item is before the first element.
- return if $max_element < 0;
- return if $code_point < $list_ref->[0];
-
- # Short cut something at the far-end of the table. This also allows us to
- # refer to element [$i+1] without fear of being out-of-bounds in the loop
- # below.
- return $max_element if $code_point >= $list_ref->[$max_element];
-
- use integer; # want integer division
-
- my $i = $max_element / 2;
-
- my $lower = 0;
- my $upper = $max_element;
- while (1) {
-
- if ($code_point >= $list_ref->[$i]) {
-
- # Here we have met the lower constraint. We can quit if we
- # also meet the upper one.
- last if $code_point < $list_ref->[$i+1];
-
- $lower = $i; # Still too low.
-
- }
- else {
-
- # Here, $code_point < $list_ref[$i], so look lower down.
- $upper = $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.
- return $i if $temp == $i;
- $i = $temp;
- } # End of while loop
-
- # Here we have found the offset
- return $i;
-}
-
=pod
=head2 B<prop_invmap()>
use Unicode::UCD 'prop_invmap';
- my ($list_ref, $map_ref, $format, $missing)
+ my ($list_ref, $map_ref, $format, $default)
= prop_invmap("General Category");
C<prop_invmap> is used to get the complete mapping definition for a property,
@@ -2343,17 +2326,20 @@ or even better, C<"Gc=LC">).
Many Unicode properties have more than one name (or alias). C<prop_invmap>
understands all of these, including Perl extensions to them. Ambiguities are
resolved as described above for L</prop_aliases()>. The Perl internal
-property "Perl_Decimal_Digit, described below, is also accepted. C<undef> is
-returned if the property name is unknown.
+property "Perl_Decimal_Digit, described below, is also accepted. An empty
+list is returned if the property name is unknown.
See L<perluniprops/Properties accessible through Unicode::UCD> for the
properties acceptable as inputs to this function.
It is a fatal error to call this function except in list context.
-In addition to the the two arrays that form the inversion map, C<prop_invmap>
+In addition to the two arrays that form the inversion map, C<prop_invmap>
returns two other values; one is a scalar that gives some details as to the
-format of the entries of the map array; the other is used for specialized
-purposes, described at the end of this section.
+format of the entries of the map array; the other is a default value, useful
+in maps whose format name begins with the letter C<"a">, as described
+L<below in its subsection|/a>; and for specialized purposes, such as
+converting to another data structure, described at the end of this main
+section.
This means that C<prop_invmap> returns a 4 element list. For example,
@@ -2413,7 +2399,8 @@ that, instead of treating these as unassigned Unicode code points, the value
for this range should be C<undef>. If you wish, you can change the returned
arrays accordingly.
-The maps are almost always simple scalars that should be interpreted as-is.
+The maps for almost all properties are simple scalars that should be
+interpreted as-is.
These values are those given in the Unicode-supplied data files, which may be
inconsistent as to capitalization and as to which synonym for a property-value
is given. The results may be normalized by using the L</prop_value_aliases()>
@@ -2508,7 +2495,7 @@ is like C<"s"> in that all the map array elements are scalars, but here they are
restricted to all being integers, and some have to be adjusted (hence the name
C<"a">) to get the correct result. For example, in:
- my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format, $default)
= prop_invmap("Simple_Uppercase_Mapping");
the returned arrays look like this:
@@ -2521,30 +2508,32 @@ the returned arrays look like this:
182 0
...
+and C<$default> is 0.
+
Let's start with the second line. It says that the uppercase of code point 97
is 65; or C<uc("a")> == "A". But the line is for the entire range of code
-points 97 through 122. To get the mapping for any code point in a range, you
-take the offset it has from the beginning code point of the range, and add
+points 97 through 122. To get the mapping for any code point in this range,
+you take the offset it has from the beginning code point of the range, and add
that to the mapping for that first code point. So, the mapping for 122 ("z")
is derived by taking the offset of 122 from 97 (=25) and adding that to 65,
yielding 90 ("z"). Likewise for everything in between.
-The first line works the same way. The first map in a range is always the
-correct value for its code point (because the adjustment is 0). Thus the
-C<uc(chr(0))> is just itself. Also, C<uc(chr(1))> is also itself, as the
-adjustment is 0+1-0 .. C<uc(chr(96))> is 96.
-
Requiring this simple adjustment allows the returned arrays to be
significantly smaller than otherwise, up to a factor of 10, speeding up
searching through them.
+Ranges that map to C<$default>, C<"0">, behave somewhat differently. For
+these, each code point maps to itself. So, in the first line in the example,
+S<C<ord(uc(chr(0)))>> is 0, S<C<ord(uc(chr(1)))>> is 1, ..
+S<C<ord(uc(chr(96)))>> is 96.
+
=item B<C<al>>
means that some of the map array elements have the form given by C<"a">, and
the rest are ordered lists of code points.
For example, in:
- my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format, $default)
= prop_invmap("Uppercase_Mapping");
the returned arrays look like this:
@@ -2571,6 +2560,9 @@ CAPITAL LETTER N).
No adjustments are needed to entries that are references to arrays; each such
entry will have exactly one element in its range, so the offset is always 0.
+The fourth (index [3]) element (C<$default>) in the list returned for this
+format is 0.
+
=item B<C<ae>>
This is like C<"a">, but some elements are the empty string, and should not be
@@ -2600,6 +2592,9 @@ represents 0+1-0 = 1; ... code point 0x39, (DIGIT NINE), represents 0+9-0 = 9;
(ARABIC-INDIC DIGIT ZERO), represents 0; ... 0x07C1 (NKO DIGIT ONE),
represents 0+1-0 = 1 ...
+The fourth (index [3]) element (C<$default>) in the list returned for this
+format is the empty string.
+
=item B<C<ale>>
is a combination of the C<"al"> type and the C<"ae"> type. Some of
@@ -2617,6 +2612,9 @@ An example slice is:
0x00B0 0
...
+The fourth (index [3]) element (C<$default>) in the list returned for this
+format is 0.
+
=item B<C<ar>>
means that all the elements of the map array are either rational numbers or
@@ -2656,6 +2654,9 @@ C<"ar">.
0x660 0 ARABIC-INDIC DIGIT ZERO .. NINE
0x66A "NaN"
+The fourth (index [3]) element (C<$default>) in the list returned for this
+format is C<"NaN">.
+
=item B<C<n>>
means the Name property. All the elements of the map array are simple
@@ -2693,7 +2694,7 @@ properties, except that one of the scalar elements is of the form:
This signifies that this entry should be replaced by the decompositions for
all the code points whose decomposition is algorithmically calculated. (All
-of them are currently in one range and no others outisde the range are likely
+of them are currently in one range and no others outside the range are likely
to ever be added to Unicode; the C<"n"> format
has this same entry.) These can be generated via the function
L<Unicode::Normalize::NFD()|Unicode::Normalize>.
@@ -2701,6 +2702,9 @@ L<Unicode::Normalize::NFD()|Unicode::Normalize>.
Note that the mapping is the one that is specified in the Unicode data files,
and to get the final decomposition, it may need to be applied recursively.
+The fourth (index [3]) element (C<$default>) in the list returned for this
+format is 0.
+
=back
Note that a format begins with the letter "a" if and only the property it is
@@ -2713,29 +2717,31 @@ which is an integer. That is, it must match the regular expression:
Further, the first element in a range never needs adjustment, as the
adjustment would be just adding 0.
-A binary search can be used to quickly find a code point in the inversion
-list, and hence its corresponding mapping.
+A binary search such as that provided by L</search_invlist()>, can be used to
+quickly find a code point in the inversion list, and hence its corresponding
+mapping.
-The final element (index [3], assigned to C<$default> in the "block" example) in
-the four element list returned by this function may be useful for applications
+The final, fourth element (index [3], assigned to C<$default> in the "block"
+example) in the four element list returned by this function is used with the
+C<"a"> format types; it may also be useful for applications
that wish to convert the returned inversion map data structure into some
other, such as a hash. It gives the mapping that most code points map to
under the property. If you establish the convention that any code point not
explicitly listed in your data structure maps to this value, you can
potentially make your data structure much smaller. As you construct your data
structure from the one returned by this function, simply ignore those ranges
-that map to this value, generally called the "default" value. For example, to
+that map to this value. For example, to
convert to the data structure searchable by L</charinrange()>, you can follow
this recipe for properties that don't require adjustments:
- my ($list_ref, $map_ref, $format, $missing) = prop_invmap($property);
+ my ($list_ref, $map_ref, $format, $default) = prop_invmap($property);
my @range_list;
# Look at each element in the list, but the -2 is needed because we
# look at $i+1 in the loop, and the final element is guaranteed to map
- # to $missing by prop_invmap(), so we would skip it anyway.
+ # to $default by prop_invmap(), so we would skip it anyway.
for my $i (0 .. @$list_ref - 2) {
- next if $map_ref->[$i] eq $missing;
+ next if $map_ref->[$i] eq $default;
push @range_list, [ $list_ref->[$i],
$list_ref->[$i+1],
$map_ref->[$i]
@@ -2745,13 +2751,13 @@ this recipe for properties that don't require adjustments:
print charinrange(\@range_list, $code_point), "\n";
With this, C<charinrange()> will return C<undef> if its input code point maps
-to C<$missing>. You can avoid this by omitting the C<next> statement, and adding
+to C<$default>. You can avoid this by omitting the C<next> statement, and adding
a line after the loop to handle the final element of the inversion map.
Similarly, this recipe can be used for properties that do require adjustments:
for my $i (0 .. @$list_ref - 2) {
- next if $map_ref->[$i] eq $missing;
+ next if $map_ref->[$i] eq $default;
# prop_invmap() guarantees that if the mapping is to an array, the
# range has just one element, so no need to worry about adjustments.
@@ -2817,7 +2823,7 @@ sub prop_invmap ($) {
# The swash has two components we look at, the base list, and a hash,
# named 'SPECIALS', containing any additional members whose mappings don't
- # fit into the the base list scheme of things. These generally 'override'
+ # fit into the base list scheme of things. These generally 'override'
# any value in the base list for the same code point.
my $overrides;
@@ -2934,10 +2940,8 @@ RETRY:
my $code_point = hex $hex_code_point;
# The name of all controls is the default: the empty string.
- # The set of controls is immutable, so these hard-coded
- # constants work.
- next if $code_point <= 0x9F
- && ($code_point <= 0x1F || $code_point >= 0x7F);
+ # The set of controls is immutable
+ next if chr($code_point) =~ /[[:cntrl:]]/u;
# If this is a name_alias, it isn't a name
next if grep { $_ eq $name } @{$aliases{$code_point}};
@@ -3161,7 +3165,7 @@ RETRY:
$list .= "$hex_begin\t$hex_end\t$decimal_map\n";
} else {
- # Here, no combining done. Just appen the initial
+ # Here, no combining done. Just append the initial
# (and current) values.
$list .= "$hex_begin\t\t$decimal_map\n";
}
@@ -3198,159 +3202,182 @@ RETRY:
my $requires_adjustment = $format =~ /^a/;
- # The LIST input lines look like:
- # ...
- # 0374\t\tCommon
- # 0375\t0377\tGreek # [3]
- # 037A\t037D\tGreek # [4]
- # 037E\t\tCommon
- # 0384\t\tGreek
- # ...
- #
- # Convert them to like
- # 0374 => Common
- # 0375 => Greek
- # 0378 => $missing
- # 037A => Greek
- # 037E => Common
- # 037F => $missing
- # 0384 => Greek
- #
- # For binary properties, the final non-comment column is absent, and
- # assumed to be 'Y'.
-
- foreach my $range (split "\n", $swash->{'LIST'}) {
- $range =~ s/ \s* (?: \# .* )? $ //xg; # rmv trailing space, comments
-
- # Find the beginning and end of the range on the line
- my ($hex_begin, $hex_end, $map) = split "\t", $range;
- my $begin = hex $hex_begin;
- my $end = (defined $hex_end && $hex_end ne "")
- ? hex $hex_end
- : $begin;
-
- # Each time through the loop (after the first):
- # $invlist[-2] contains the beginning of the previous range processed
- # $invlist[-1] contains the end+1 of the previous range processed
- # $invmap[-2] contains the value of the previous range processed
- # $invmap[-1] contains the default value for missing ranges ($missing)
- #
- # Thus, things are set up for the typical case of a new non-adjacent
- # range of non-missings to be added. But, if the new range is
- # adjacent, it needs to replace the [-1] element; and if the new
- # range is a multiple value of the previous one, it needs to be added
- # to the [-2] map element.
-
- # The first time through, everything will be empty. If the property
- # doesn't have a range that begins at 0, add one that maps to $missing
- if (! @invlist) {
- if ($begin != 0) {
- push @invlist, 0;
- push @invmap, $missing;
- }
+ if ($swash->{'LIST'} =~ /^V/) {
+ @invlist = split "\n", $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr;
+ shift @invlist;
+ foreach my $i (0 .. @invlist - 1) {
+ $invmap[$i] = ($i % 2 == 0) ? 'Y' : 'N'
}
- elsif (@invlist > 1 && $invlist[-2] == $begin) {
-
- # Here we handle the case where the input has multiple entries for
- # each code point. mktables should have made sure that each such
- # range contains only one code point. At this point, $invlist[-1]
- # is the $missing that was added at the end of the last loop
- # iteration, and [-2] is the last real input code point, and that
- # code point is the same as the one we are adding now, making the
- # new one a multiple entry. Add it to the existing entry, either
- # by pushing it to the existing list of multiple entries, or
- # converting the single current entry into a list with both on it.
- # This is all we need do for this iteration.
-
- if ($end != $begin) {
- croak __PACKAGE__, ":prop_invmap: Multiple maps per code point in '$prop' require single-element ranges: begin=$begin, end=$end, map=$map";
- }
- if (! ref $invmap[-2]) {
- $invmap[-2] = [ $invmap[-2], $map ];
- }
- else {
- push @{$invmap[-2]}, $map;
- }
- $has_multiples = 1;
- next;
+
+ # The map includes lines for all code points; add one for the range
+ # from 0 to the first Y.
+ if ($invlist[0] != 0) {
+ unshift @invlist, 0;
+ unshift @invmap, 'N';
}
- elsif ($invlist[-1] == $begin) {
-
- # If the input isn't in the most compact form, so that there are
- # two adjacent ranges that map to the same thing, they should be
- # combined (EXCEPT where the arrays require adjustments, in which
- # case everything is already set up correctly). This happens in
- # our constructed dt mapping, as Element [-2] is the map for the
- # latest range so far processed. Just set the beginning point of
- # the map to $missing (in invlist[-1]) to 1 beyond where this
- # range ends. For example, in
- # 12\t13\tXYZ
- # 14\t17\tXYZ
- # we have set it up so that it looks like
- # 12 => XYZ
- # 14 => $missing
+ }
+ else {
+ # The LIST input lines look like:
+ # ...
+ # 0374\t\tCommon
+ # 0375\t0377\tGreek # [3]
+ # 037A\t037D\tGreek # [4]
+ # 037E\t\tCommon
+ # 0384\t\tGreek
+ # ...
+ #
+ # Convert them to like
+ # 0374 => Common
+ # 0375 => Greek
+ # 0378 => $missing
+ # 037A => Greek
+ # 037E => Common
+ # 037F => $missing
+ # 0384 => Greek
+ #
+ # For binary properties, the final non-comment column is absent, and
+ # assumed to be 'Y'.
+
+ foreach my $range (split "\n", $swash->{'LIST'}) {
+ $range =~ s/ \s* (?: \# .* )? $ //xg; # rmv trailing space, comments
+
+ # Find the beginning and end of the range on the line
+ my ($hex_begin, $hex_end, $map) = split "\t", $range;
+ my $begin = hex $hex_begin;
+ no warnings 'portable';
+ my $end = (defined $hex_end && $hex_end ne "")
+ ? hex $hex_end
+ : $begin;
+
+ # Each time through the loop (after the first):
+ # $invlist[-2] contains the beginning of the previous range processed
+ # $invlist[-1] contains the end+1 of the previous range processed
+ # $invmap[-2] contains the value of the previous range processed
+ # $invmap[-1] contains the default value for missing ranges
+ # ($missing)
#
- # We now see that it should be
- # 12 => XYZ
- # 18 => $missing
- if (! $requires_adjustment && @invlist > 1 && ( (defined $map)
- ? $invmap[-2] eq $map
- : $invmap[-2] eq 'Y'))
- {
- $invlist[-1] = $end + 1;
+ # Thus, things are set up for the typical case of a new
+ # non-adjacent range of non-missings to be added. But, if the new
+ # range is adjacent, it needs to replace the [-1] element; and if
+ # the new range is a multiple value of the previous one, it needs
+ # to be added to the [-2] map element.
+
+ # The first time through, everything will be empty. If the
+ # property doesn't have a range that begins at 0, add one that
+ # maps to $missing
+ if (! @invlist) {
+ if ($begin != 0) {
+ push @invlist, 0;
+ push @invmap, $missing;
+ }
+ }
+ elsif (@invlist > 1 && $invlist[-2] == $begin) {
+
+ # Here we handle the case where the input has multiple entries
+ # for each code point. mktables should have made sure that
+ # each such range contains only one code point. At this
+ # point, $invlist[-1] is the $missing that was added at the
+ # end of the last loop iteration, and [-2] is the last real
+ # input code point, and that code point is the same as the one
+ # we are adding now, making the new one a multiple entry. Add
+ # it to the existing entry, either by pushing it to the
+ # existing list of multiple entries, or converting the single
+ # current entry into a list with both on it. This is all we
+ # need do for this iteration.
+
+ if ($end != $begin) {
+ croak __PACKAGE__, ":prop_invmap: Multiple maps per code point in '$prop' require single-element ranges: begin=$begin, end=$end, map=$map";
+ }
+ if (! ref $invmap[-2]) {
+ $invmap[-2] = [ $invmap[-2], $map ];
+ }
+ else {
+ push @{$invmap[-2]}, $map;
+ }
+ $has_multiples = 1;
next;
}
+ elsif ($invlist[-1] == $begin) {
+
+ # If the input isn't in the most compact form, so that there
+ # are two adjacent ranges that map to the same thing, they
+ # should be combined (EXCEPT where the arrays require
+ # adjustments, in which case everything is already set up
+ # correctly). This happens in our constructed dt mapping, as
+ # Element [-2] is the map for the latest range so far
+ # processed. Just set the beginning point of the map to
+ # $missing (in invlist[-1]) to 1 beyond where this range ends.
+ # For example, in
+ # 12\t13\tXYZ
+ # 14\t17\tXYZ
+ # we have set it up so that it looks like
+ # 12 => XYZ
+ # 14 => $missing
+ #
+ # We now see that it should be
+ # 12 => XYZ
+ # 18 => $missing
+ if (! $requires_adjustment && @invlist > 1 && ( (defined $map)
+ ? $invmap[-2] eq $map
+ : $invmap[-2] eq 'Y'))
+ {
+ $invlist[-1] = $end + 1;
+ next;
+ }
- # Here, the range started in the previous iteration that maps to
- # $missing starts at the same code point as this range. That
- # means there is no gap to fill that that range was intended for,
- # so we just pop it off the parallel arrays.
- pop @invlist;
- pop @invmap;
- }
-
- # Add the range beginning, and the range's map.
- push @invlist, $begin;
- if ($returned_prop eq 'ToDm') {
-
- # The decomposition maps are either a line like <hangul syllable>
- # which are to be taken as is; or a sequence of code points in hex
- # and separated by blanks. Convert them to decimal, and if there
- # is more than one, use an anonymous array as the map.
- if ($map =~ /^ < /x) {
- push @invmap, $map;
+ # Here, the range started in the previous iteration that maps
+ # to $missing starts at the same code point as this range.
+ # That means there is no gap to fill that that range was
+ # intended for, so we just pop it off the parallel arrays.
+ pop @invlist;
+ pop @invmap;
}
- else {
- my @map = split " ", $map;
- if (@map == 1) {
- push @invmap, $map[0];
+
+ # Add the range beginning, and the range's map.
+ push @invlist, $begin;
+ if ($returned_prop eq 'ToDm') {
+
+ # The decomposition maps are either a line like <hangul
+ # syllable> which are to be taken as is; or a sequence of code
+ # points in hex and separated by blanks. Convert them to
+ # decimal, and if there is more than one, use an anonymous
+ # array as the map.
+ if ($map =~ /^ < /x) {
+ push @invmap, $map;
}
else {
- push @invmap, \@map;
+ my @map = split " ", $map;
+ if (@map == 1) {
+ push @invmap, $map[0];
+ }
+ else {
+ push @invmap, \@map;
+ }
}
}
- }
- else {
+ else {
- # Otherwise, convert hex formatted list entries to decimal; add a
- # 'Y' map for the missing value in binary properties, or
- # otherwise, use the input map unchanged.
- $map = ($format eq 'x')
- ? hex $map
- : $format eq 'b'
- ? 'Y'
- : $map;
- push @invmap, $map;
- }
+ # Otherwise, convert hex formatted list entries to decimal;
+ # add a 'Y' map for the missing value in binary properties, or
+ # otherwise, use the input map unchanged.
+ $map = ($format eq 'x' || $format eq 'ax')
+ ? hex $map
+ : $format eq 'b'
+ ? 'Y'
+ : $map;
+ push @invmap, $map;
+ }
- # We just started a range. It ends with $end. The gap between it and
- # the next element in the list must be filled with a range that maps
- # to the default value. If there is no gap, the next iteration will
- # pop this, unless there is no next iteration, and we have filled all
- # of the Unicode code space, so check for that and skip.
- if ($end < $MAX_UNICODE_CODEPOINT) {
- push @invlist, $end + 1;
- push @invmap, $missing;
+ # We just started a range. It ends with $end. The gap between it
+ # and the next element in the list must be filled with a range
+ # that maps to the default value. If there is no gap, the next
+ # iteration will pop this, unless there is no next iteration, and
+ # we have filled all of the Unicode code space, so check for that
+ # and skip.
+ if ($end < $Unicode::UCD::MAX_CP) {
+ push @invlist, $end + 1;
+ push @invmap, $missing;
+ }
}
}
@@ -3361,10 +3388,15 @@ RETRY:
push @invmap, $missing;
}
- # And add in standard element that all non-Unicode code points map to:
- # $missing
- push @invlist, $MAX_UNICODE_CODEPOINT + 1;
- push @invmap, $missing;
+ # The final element is always for just the above-Unicode code points. If
+ # not already there, add it. It merely splits the current final range
+ # that extends to infinity into two elements, each with the same map.
+ # (This is to conform with the API that says the final element is for
+ # $MAX_UNICODE_CODEPOINT + 1 .. INFINITY.)
+ if ($invlist[-1] != $MAX_UNICODE_CODEPOINT + 1) {
+ push @invmap, $invmap[-1];
+ push @invlist, $MAX_UNICODE_CODEPOINT + 1;
+ }
# The second component of the map are those values that require
# non-standard specification, stored in SPECIALS. These override any
@@ -3411,7 +3443,7 @@ RETRY:
}
# Find the range that the override applies to.
- my $i = _search_invlist(\@invlist, $cp);
+ my $i = search_invlist(\@invlist, $cp);
if ($cp < $invlist[$i] || $cp >= $invlist[$i + 1]) {
croak __PACKAGE__, "::prop_invmap: wrong_range, cp=$cp; i=$i, current=$invlist[$i]; next=$invlist[$i + 1]"
}
@@ -3520,6 +3552,100 @@ RETRY:
return (\@invlist, \@invmap, $format, $missing);
}
+sub search_invlist {
+
+=pod
+
+=head2 B<search_invlist()>
+
+ use Unicode::UCD qw(prop_invmap prop_invlist);
+ use Unicode::UCD 'search_invlist';
+
+ my @invlist = prop_invlist($property_name);
+ print $code_point, ((search_invlist(\@invlist, $code_point) // -1) % 2)
+ ? " isn't"
+ : " is",
+ " in $property_name\n";
+
+ my ($blocks_ranges_ref, $blocks_map_ref) = prop_invmap("Block");
+ my $index = search_invlist($blocks_ranges_ref, $code_point);
+ print "$code_point is in block ", $blocks_map_ref->[$index], "\n";
+
+C<search_invlist> is used to search an inversion list returned by
+C<prop_invlist> or C<prop_invmap> for a particular L</code point argument>.
+C<undef> is returned if the code point is not found in the inversion list
+(this happens only when it is not a legal L<code point argument>, or is less
+than the list's first element). A warning is raised in the first instance.
+
+Otherwise, it returns the index into the list of the range that contains the
+code point.; that is, find C<i> such that
+
+ list[i]<= code_point < list[i+1].
+
+As explained in L</prop_invlist()>, whether a code point is in the list or not
+depends on if the index is even (in) or odd (not in). And as explained in
+L</prop_invmap()>, the index is used with the returned parallel array to find
+the mapping.
+
+=cut
+
+
+ my $list_ref = shift;
+ my $input_code_point = shift;
+ my $code_point = _getcode($input_code_point);
+
+ if (! defined $code_point) {
+ carp __PACKAGE__, "::search_invlist: unknown code '$input_code_point'";
+ return;
+ }
+
+ my $max_element = @$list_ref - 1;
+
+ # Return undef if list is empty or requested item is before the first element.
+ return if $max_element < 0;
+ return if $code_point < $list_ref->[0];
+
+ # Short cut something at the far-end of the table. This also allows us to
+ # refer to element [$i+1] without fear of being out-of-bounds in the loop
+ # below.
+ return $max_element if $code_point >= $list_ref->[$max_element];
+
+ use integer; # want integer division
+
+ my $i = $max_element / 2;
+
+ my $lower = 0;
+ my $upper = $max_element;
+ while (1) {
+
+ if ($code_point >= $list_ref->[$i]) {
+
+ # Here we have met the lower constraint. We can quit if we
+ # also meet the upper one.
+ last if $code_point < $list_ref->[$i+1];
+
+ $lower = $i; # Still too low.
+
+ }
+ else {
+
+ # Here, $code_point < $list_ref[$i], so look lower down.
+ $upper = $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.
+ return $i if $temp == $i;
+ $i = $temp;
+ } # End of while loop
+
+ # Here we have found the offset
+ return $i;
+}
+
=head2 Unicode::UCD::UnicodeVersion
This returns the version of the Unicode Character Database, in other words, the
@@ -3604,10 +3730,6 @@ for its block using C<charblock>).
Note that starting in Unicode 6.1, many of the block names have shorter
synonyms. These are always given in the new style.
-=head1 BUGS
-
-Does not yet support EBCDIC platforms.
-
=head1 AUTHOR
Jarkko Hietaniemi. Now maintained by perl5 porters.
diff --git a/Master/tlpkg/tlperl/lib/Win32.pm b/Master/tlpkg/tlperl/lib/Win32.pm
index 4f6d1ff47d5..027af0e0b58 100644
--- a/Master/tlpkg/tlperl/lib/Win32.pm
+++ b/Master/tlpkg/tlperl/lib/Win32.pm
@@ -8,7 +8,7 @@ package Win32;
require DynaLoader;
@ISA = qw|Exporter DynaLoader|;
- $VERSION = '0.47';
+ $VERSION = '0.49';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -985,7 +985,7 @@ 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\
+identical; the SUITEMASK field must be used to differentiate between
them.
The version numbers for Windows Vista and Windows Server 2008 are
@@ -1000,7 +1000,7 @@ The version numbers for Windows 8 and Windows Server 2012 are
identical; the PRODUCTTYPE field must be used to differentiate between
them.
-SPMAJOR and SPMINOR are are the version numbers of the latest
+SPMAJOR and SPMINOR are the version numbers of the latest
installed service pack.
SUITEMASK is a bitfield identifying the product suites available on
@@ -1023,7 +1023,7 @@ the system. Known bits are:
VER_SUITE_COMPUTE_SERVER 0x00004000
VER_SUITE_WH_SERVER 0x00008000
-The VER_SUITE_xxx names are listed here to crossreference the Microsoft
+The VER_SUITE_xxx names are listed here to cross reference the Microsoft
documentation. The Win32 module does not provide symbolic names for these
constants.
@@ -1145,7 +1145,7 @@ and the SID type.
=item Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]])
-Create a dialogbox containing MESSAGE. FLAGS specifies the
+Create a dialog box containing MESSAGE. FLAGS specifies the
required icon and buttons according to the following table:
0 = OK
diff --git a/Master/tlpkg/tlperl/lib/Win32/API.pm b/Master/tlpkg/tlperl/lib/Win32/API.pm
index 6accc691db8..ba94cac4736 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API.pm
@@ -77,7 +77,7 @@ my %Procedures = ();
# dynamically load in the API extension module.
# BEGIN required for constant subs in BOOT:
BEGIN {
- $VERSION = '0.77';
+ $VERSION = '0.80';
bootstrap Win32::API;
}
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm b/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
index b96d938265e..41b7cc9d6b7 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
@@ -16,7 +16,7 @@ use strict;
use warnings;
use vars qw( $VERSION @ISA $Stage2FuncPtrPkd );
-$VERSION = '0.77';
+$VERSION = '0.80';
require Exporter; # to export the constants to the main:: space
@@ -561,6 +561,18 @@ or 'WINAPIV'.
See L<Win32::API/UseMI64>.
+=head1 KNOWN ISSUES
+
+=over 4
+
+=item *
+
+Callback is safe across a Win32 psuedo-fork. Callback is not safe across a
+Cygwin fork. On Cygwin, in the child process of the fork, a Segmentation Fault
+will happen if the Win32::API::Callback callback is is called.
+
+=back
+
=head1 SEE ALSO
L<Win32::API::Callback::IATPatch>
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Callback/IATPatch.pod b/Master/tlpkg/tlperl/lib/Win32/API/Callback/IATPatch.pod
new file mode 100644
index 00000000000..27eb1af2fb6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Callback/IATPatch.pod
@@ -0,0 +1,181 @@
+=head1 NAME
+
+Win32::API::Callback::IATPatch - Hooking and Patching a DLL's Imported C Functions
+
+=head1 SYNOPSIS
+
+ use Win32::API;
+ use Win32::API::Callback;
+ warn "usually fatally errors on Cygwin" if $^O eq 'cygwin';
+ # do not do a "use" or "require" on Win32::API::Callback::IATPatch
+ # IATPatch comes with Win32::API::Callback
+ my $LoadLibraryExA;
+ my $callback = Win32::API::Callback->new(
+ sub {
+ my $libname = unpack('p', pack('J', $_[0]));
+ print "got $libname\n";
+ return $LoadLibraryExA->Call($libname, $_[1], $_[2]);
+ },
+ 'NNI',
+ 'N'
+ );
+ my $patch = Win32::API::Callback::IATPatch->new(
+ $callback, "perl518.dll", 'kernel32.dll', 'LoadLibraryExA');
+ die "failed to create IATPatch Obj $^E" if ! defined $patch;
+ $LoadLibraryExA = Win32::API::More->new( undef, $patch->GetOriginalFunctionPtr(), '
+ HMODULE
+ WINAPI
+ LoadLibraryExA(
+ LPCSTR lpLibFileName,
+ HANDLE hFile,
+ DWORD dwFlags
+ );
+ ');
+ die "failed to make old function object" if ! defined $LoadLibraryExA;
+ require Encode;
+ #console will get a print of the dll filename now
+
+=head1 DESCRIPTION
+
+Win32::API::Callback::IATPatch allows you to hook a compile time dynamic linked
+function call from any DLL (or EXE, from now on all examples are from a DLL to
+another DLL, but from a EXE to a DLL is implied) in the Perl process, to a
+different DLL in the same Perl process, by placing a Win32::API::Callback object
+in between. This module does B<not> hook B<GetProcAddress> function calls. It
+also will not hook a function call from a DLL to another function in the same
+DLL. The function you want to hook B<must> appear in the B<import table> of the
+DLL you want to use the hook. Functions from delay loaded DLL have their own
+import table, it is different import table from the normal one IATPatch supports.
+IATPatch will not find a delay loaded function and will not patch it. The hook
+occurs at the caller DLL, not the callee DLL. This means your callback will be
+called from all the calls to a one function in different DLL from the one
+particular DLL the IATPatch object patched. The caller DLL is modified at
+runtime, in the Perl process where the IATPatch was created, not on disk,
+not globally among all processes. The callee or exporting DLL is NOT modified,
+so your hook callback will be called from the 1 DLL that you choose to hook with
+1 IATPatch object. You can create multiple IATPatch objects, one for each DLL in
+the Perl process that you want to call your callback and not the original
+destination function. If a new DLL is loaded into the process during runtime,
+you must create a new IATPatch object specifically targeting it. There may be a
+period from when the new DLL is loaded into the process, and when your Perl
+script creates IATPatch object, where calls from that new DLL goto the real
+destination function without hooking. If a DLL is unloaded, then reloaded into
+the process, you must call C<Unpatch(0)> method on the old IATPatch object, then
+create a new IATPatch object. IATPatch has no notification feature that a DLL
+is being loaded or unloaded from the process. Unless you completely control, and
+have the source code of the caller DLL, and understand all of the source code of
+that DLL, there is a high chance that you will B<NOT> hook all calls from that
+DLL to the destination function. If a call to the destination function is
+dangerous or unacceptable, do not use IATPatch. IATPatch is not Microsoft
+Detours or the like in any sense. Detours and its brethern will rewrite the
+machine code in the beginning of the destination function call, hooking all
+calls to that function call process wide, without exception.
+
+Why this module was created? So I could mock kernel32 functions to
+unit test Perl's C function calls to Kernel32.
+
+=head2 CONSTRUCTORS
+
+=head3 new
+
+ my $patch = Win32::API::Callback::IATPatch->new(
+ $A_Win32_API_Callback_Obj, $EXE_or_DLL_hmodule_or_name_to_hook,
+ $import_DLL_name, $import_function_name_or_ordinal);
+
+Creates a new IATPatch object. The Win32::API::Callback will be called as long
+as the IATPatch object exists. When an IATPatch object is DESTROYed, unless
+C<-E<gt>Unpatch(0)> is called first, the patch is undone and the original
+function is directly called from then on by that DLL. The DLL is not reference
+count saved by an IATPatch object, so it may be unloaded at any time. If it is
+unloaded you must call C<-E<gt>Unpatch(0)> before a DESTROY. Otherwise the DESTROY
+will croak when it tries to unpatch the DLL. The DLL to hook must be a valid
+PE file, while in memory. DLL and EXE "packers" can create invalid PE
+files that do load successfully into memory, but they are not full PE files in
+memory. On error, undef is returned and an error code is available through
+L<Win32::GetLastError|Win32/Win32::GetLastError()>/L<perlvar/"$^E">. The error code may be from either
+IATPatch directly, or from a Win32 call that IATPatch made. IATPatch objects
+do not go through a L<perlfunc/"fork"> onto the child interp. IATPatch is fork safe.
+
+The hook dll name can be one of 3 things, if the dllname is multiple things
+(a number and a string), the first format found in the following order is used.
+A string C<"123"> (a very strange DLL name BTW), this DLL is converted to DLL
+HMODULE with GetModuleHandle. If there are 2 DLLs with the same filename,
+refer to GetModuleHandle's
+L<MSDN documentation|http://msdn.microsoft.com/en-us/library/windows/desktop/ms683199%28v=vs.85%29.aspx>
+on what happens. Then if the
+DLL name is an integer C<123456>, it is interpreted as a HMODULE directly.
+If DLL name undefined, the file used to create the calling process will be
+patched (a .exe). Finally if the DLL name is defined, a fatal error croak occurs.
+It is best to use an HMODULE, since things like SxS can create multiple DLLs with
+the same name in the same process. How to get an HMODULE, you are on your own.
+
+C<$import_function_name_or_ordinal> can be one of 2 things. First it is checked if
+it is a string, if so, it is used as the function name to hook. Else it is used
+as an integer ordinal to hook. Importing by ordinal is obsolete in Windows, and
+you shouldn't ever have to use it. The author of IATPatch was unable to test if
+ordinal hooking works correctly in IATPatch.
+
+=head2 METHODS
+
+=head3 Unpatch
+
+ die "failed to undo the patch error: $^E" if !
+ $IATPatch->Unpatch(); #undo the patch
+ #or
+ die "failed to undo the patch error: $^E" if !
+ $IATPatch->Unpatch(1); #undo the patch
+ #or
+ die "failed to undo the patch error: $^E" if !
+ $IATPatch->Unpatch(0); #never undo the patch
+ #or
+ die "failed to undo the patch error: $^E" if !
+ $IATPatch->Unpatch(undef); #never undo the patch
+
+Unpatches the DLL with the original destination function from the L<Win32::API::Callback::IATPatch/"new">
+call. Returns undef on failure with error number available through
+L<Win32::GetLastError|Win32/Win32::GetLastError()>/L<perlvar/"$^E">. If Unpatch was called once already,
+calling it again will fail, and error will be ERROR_NO_MORE_ITEMS.
+
+=head3 GetOriginalFunctionPtr
+
+Returns the original function pointer found in the import table in C<123456>
+format. If the returned pointer is 0, L<Win32::API::Callback::IATPatch/"Unpatch">
+was called earlier. There are no error numbers associated with this method.
+This value can be directly used to create a function pointer based Win32::API
+object to call the original destination function from inside your Perl callback.
+See L<Win32::API::Callback::IATPatch/"SYNOPSIS"> for a usage example.
+
+=head1 BUGS AND LIMITATIONS
+
+=over 4
+
+=item E<nbsp>Cygwin not supported
+
+L<new()|Win32::API::Callback::IATPatch/"new"> usually fatally errors on Cygwin
+with "IATPatch 3GB mode not supported" on Cygwins that allocate the heap at
+0x80000000 or are "Large Address Aware"
+
+=back
+
+=head1 SEE ALSO
+
+L<Win32::API::Callback>
+
+L<Win32::API>
+
+L<http://msdn.microsoft.com/en-us/magazine/cc301808.aspx>
+
+=head1 AUTHOR
+
+Daniel Dragan ( I<bulkdd@cpan.org> ).
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2012 by Daniel Dragan
+
+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,
+at your option, any later version of Perl 5 you may have available.
+
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Win32/Console.pm b/Master/tlpkg/tlperl/lib/Win32/Console.pm
new file mode 100644
index 00000000000..2e41c2a83d5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/Console.pm
@@ -0,0 +1,1463 @@
+#######################################################################
+#
+# Win32::Console - Win32 Console and Character Mode Functions
+#
+#######################################################################
+
+package Win32::Console;
+
+require Exporter;
+require DynaLoader;
+
+$VERSION = "0.10";
+
+@ISA= qw( Exporter DynaLoader );
+@EXPORT = qw(
+ BACKGROUND_BLUE
+ BACKGROUND_GREEN
+ BACKGROUND_INTENSITY
+ BACKGROUND_RED
+ CAPSLOCK_ON
+ CONSOLE_TEXTMODE_BUFFER
+ CTRL_BREAK_EVENT
+ CTRL_C_EVENT
+ ENABLE_ECHO_INPUT
+ ENABLE_LINE_INPUT
+ ENABLE_MOUSE_INPUT
+ ENABLE_PROCESSED_INPUT
+ ENABLE_PROCESSED_OUTPUT
+ ENABLE_WINDOW_INPUT
+ ENABLE_WRAP_AT_EOL_OUTPUT
+ ENHANCED_KEY
+ FILE_SHARE_READ
+ FILE_SHARE_WRITE
+ FOREGROUND_BLUE
+ FOREGROUND_GREEN
+ FOREGROUND_INTENSITY
+ FOREGROUND_RED
+ LEFT_ALT_PRESSED
+ LEFT_CTRL_PRESSED
+ NUMLOCK_ON
+ GENERIC_READ
+ GENERIC_WRITE
+ RIGHT_ALT_PRESSED
+ RIGHT_CTRL_PRESSED
+ SCROLLLOCK_ON
+ SHIFT_PRESSED
+ STD_INPUT_HANDLE
+ STD_OUTPUT_HANDLE
+ STD_ERROR_HANDLE
+ $FG_BLACK
+ $FG_GRAY
+ $FG_BLUE
+ $FG_LIGHTBLUE
+ $FG_RED
+ $FG_LIGHTRED
+ $FG_GREEN
+ $FG_LIGHTGREEN
+ $FG_MAGENTA
+ $FG_LIGHTMAGENTA
+ $FG_CYAN
+ $FG_LIGHTCYAN
+ $FG_BROWN
+ $FG_YELLOW
+ $FG_LIGHTGRAY
+ $FG_WHITE
+ $BG_BLACK
+ $BG_GRAY
+ $BG_BLUE
+ $BG_LIGHTBLUE
+ $BG_RED
+ $BG_LIGHTRED
+ $BG_GREEN
+ $BG_LIGHTGREEN
+ $BG_MAGENTA
+ $BG_LIGHTMAGENTA
+ $BG_CYAN
+ $BG_LIGHTCYAN
+ $BG_BROWN
+ $BG_YELLOW
+ $BG_LIGHTGRAY
+ $BG_WHITE
+ $ATTR_NORMAL
+ $ATTR_INVERSE
+ @CONSOLE_COLORS
+);
+
+
+#######################################################################
+# 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.
+#
+
+sub AUTOLOAD {
+ my($constname);
+ ($constname = $AUTOLOAD) =~ s/.*:://;
+ #reset $! to zero to reset any current errors.
+ local $! = 0;
+ my $val = constant($constname, @_ ? $_[0] : 0);
+ if ($! != 0) {
+# if ($! =~ /Invalid/) {
+# $AutoLoader::AUTOLOAD = $AUTOLOAD;
+# goto &AutoLoader::AUTOLOAD;
+# } else {
+ ($pack, $file, $line) = caller; undef $pack;
+ die "Symbol Win32::Console::$constname not defined, used at $file line $line.";
+# }
+ }
+ eval "sub $AUTOLOAD { $val }";
+ goto &$AUTOLOAD;
+}
+
+
+#######################################################################
+# STATIC OBJECT PROPERTIES
+#
+
+# %HandlerRoutineStack = ();
+# $HandlerRoutineRegistered = 0;
+
+#######################################################################
+# PUBLIC METHODS
+#
+
+#========
+sub new {
+#========
+ my($class, $param1, $param2) = @_;
+
+ my $self = {};
+
+ if (defined($param1)
+ and ($param1 == constant("STD_INPUT_HANDLE", 0)
+ or $param1 == constant("STD_OUTPUT_HANDLE", 0)
+ or $param1 == constant("STD_ERROR_HANDLE", 0)))
+ {
+ $self->{'handle'} = _GetStdHandle($param1);
+ }
+ else {
+ $param1 = constant("GENERIC_READ", 0) | constant("GENERIC_WRITE", 0) unless $param1;
+ $param2 = constant("FILE_SHARE_READ", 0) | constant("FILE_SHARE_WRITE", 0) unless $param2;
+ $self->{'handle'} = _CreateConsoleScreenBuffer($param1, $param2,
+ constant("CONSOLE_TEXTMODE_BUFFER", 0));
+ }
+ bless $self, $class;
+ return $self;
+}
+
+#============
+sub Display {
+#============
+ my($self) = @_;
+ return undef unless ref($self);
+ return _SetConsoleActiveScreenBuffer($self->{'handle'});
+}
+
+#===========
+sub Select {
+#===========
+ my($self, $type) = @_;
+ return undef unless ref($self);
+ return _SetStdHandle($type, $self->{'handle'});
+}
+
+#===========
+sub SetIcon {
+#===========
+ my($self, $icon) = @_;
+ $icon = $self unless ref($self);
+ return _SetConsoleIcon($icon);
+}
+
+#==========
+sub Title {
+#==========
+ my($self, $title) = @_;
+ $title = $self unless ref($self);
+
+ if (defined($title)) {
+ return _SetConsoleTitle($title);
+ }
+ else {
+ return _GetConsoleTitle();
+ }
+}
+
+#==============
+sub WriteChar {
+#==============
+ my($self, $text, $col, $row) = @_;
+ return undef unless ref($self);
+ return _WriteConsoleOutputCharacter($self->{'handle'},$text,$col,$row);
+}
+
+#=============
+sub ReadChar {
+#=============
+ my($self, $size, $col, $row) = @_;
+ return undef unless ref($self);
+
+ my $buffer = (" " x $size);
+ if (_ReadConsoleOutputCharacter($self->{'handle'}, $buffer, $size, $col, $row)) {
+ return $buffer;
+ }
+ else {
+ return undef;
+ }
+}
+
+#==============
+sub WriteAttr {
+#==============
+ my($self, $attr, $col, $row) = @_;
+ return undef unless ref($self);
+ return _WriteConsoleOutputAttribute($self->{'handle'}, $attr, $col, $row);
+}
+
+#=============
+sub ReadAttr {
+#=============
+ my($self, $size, $col, $row) = @_;
+ return undef unless ref($self);
+ return _ReadConsoleOutputAttribute($self->{'handle'}, $size, $col, $row);
+}
+
+#==========
+sub Write {
+#==========
+ my($self,$string) = @_;
+ return undef unless ref($self);
+ return _WriteConsole($self->{'handle'}, $string);
+}
+
+#=============
+sub ReadRect {
+#=============
+ my($self, $left, $top, $right, $bottom) = @_;
+ return undef unless ref($self);
+
+ my $col = $right - $left + 1;
+ my $row = $bottom - $top + 1;
+
+ my $buffer = (" " x ($col*$row*4));
+ if (_ReadConsoleOutput($self->{'handle'}, $buffer,
+ $col, $row, 0, 0,
+ $left, $top, $right, $bottom))
+ {
+ return $buffer;
+ }
+ else {
+ return undef;
+ }
+}
+
+#==============
+sub WriteRect {
+#==============
+ my($self, $buffer, $left, $top, $right, $bottom) = @_;
+ return undef unless ref($self);
+
+ my $col = $right - $left + 1;
+ my $row = $bottom - $top + 1;
+
+ return _WriteConsoleOutput($self->{'handle'}, $buffer,
+ $col, $row, 0, 0,
+ $left, $top, $right, $bottom);
+}
+
+#===========
+sub Scroll {
+#===========
+ my($self, $left1, $top1, $right1, $bottom1,
+ $col, $row, $char, $attr,
+ $left2, $top2, $right2, $bottom2) = @_;
+ return undef unless ref($self);
+
+ return _ScrollConsoleScreenBuffer($self->{'handle'},
+ $left1, $top1, $right1, $bottom1,
+ $col, $row, $char, $attr,
+ $left2, $top2, $right2, $bottom2);
+}
+
+#==============
+sub MaxWindow {
+#==============
+ my($self, $flag) = @_;
+ return undef unless ref($self);
+
+ if (not defined($flag)) {
+ my @info = _GetConsoleScreenBufferInfo($self->{'handle'});
+ return $info[9], $info[10];
+ }
+ else {
+ return _GetLargestConsoleWindowSize($self->{'handle'});
+ }
+}
+
+#=========
+sub Info {
+#=========
+ my($self) = @_;
+ return undef unless ref($self);
+ return _GetConsoleScreenBufferInfo($self->{'handle'});
+}
+
+#===========
+sub Window {
+#===========
+ my($self, $flag, $left, $top, $right, $bottom) = @_;
+ return undef unless ref($self);
+
+ if (not defined($flag)) {
+ my @info = _GetConsoleScreenBufferInfo($self->{'handle'});
+ return $info[5], $info[6], $info[7], $info[8];
+ }
+ else {
+ return _SetConsoleWindowInfo($self->{'handle'}, $flag, $left, $top, $right, $bottom);
+ }
+}
+
+#==============
+sub GetEvents {
+#==============
+ my($self) = @_;
+ return undef unless ref($self);
+ return _GetNumberOfConsoleInputEvents($self->{'handle'});
+}
+
+#==========
+sub Flush {
+#==========
+ my($self) = @_;
+ return undef unless ref($self);
+ return _FlushConsoleInputBuffer($self->{'handle'});
+}
+
+#==============
+sub InputChar {
+#==============
+ my($self, $number) = @_;
+ return undef unless ref($self);
+
+ $number = 1 unless defined($number);
+
+ my $buffer = (" " x $number);
+ if (_ReadConsole($self->{'handle'}, $buffer, $number) == $number) {
+ return $buffer;
+ }
+ else {
+ return undef;
+ }
+}
+
+#==========
+sub Input {
+#==========
+ my($self) = @_;
+ return undef unless ref($self);
+ return _ReadConsoleInput($self->{'handle'});
+}
+
+#==============
+sub PeekInput {
+#==============
+ my($self) = @_;
+ return undef unless ref($self);
+ return _PeekConsoleInput($self->{'handle'});
+}
+
+#===============
+sub WriteInput {
+#===============
+ my($self) = shift;
+ return undef unless ref($self);
+ return _WriteConsoleInput($self->{'handle'}, @_);
+}
+
+#=========
+sub Mode {
+#=========
+ my($self, $mode) = @_;
+ return undef unless ref($self);
+ if (defined($mode)) {
+ return _SetConsoleMode($self->{'handle'}, $mode);
+ }
+ else {
+ return _GetConsoleMode($self->{'handle'});
+ }
+}
+
+#========
+sub Cls {
+#========
+ my($self, $attr) = @_;
+ return undef unless ref($self);
+
+ $attr = $ATTR_NORMAL unless defined($attr);
+
+ my ($x, $y) = $self->Size();
+ my($left, $top, $right ,$bottom) = $self->Window();
+ my $vx = $right - $left;
+ my $vy = $bottom - $top;
+ $self->FillChar(" ", $x*$y, 0, 0);
+ $self->FillAttr($attr, $x*$y, 0, 0);
+ $self->Cursor(0, 0);
+ $self->Window(1, 0, 0, $vx, $vy);
+}
+
+#=========
+sub Attr {
+#=========
+ my($self, $attr) = @_;
+ return undef unless ref($self);
+
+ if (not defined($attr)) {
+ return (_GetConsoleScreenBufferInfo($self->{'handle'}))[4];
+ }
+ else {
+ return _SetConsoleTextAttribute($self->{'handle'}, $attr);
+ }
+}
+
+#===========
+sub Cursor {
+#===========
+ my($self, $col, $row, $size, $visi) = @_;
+ return undef unless ref($self);
+
+ my $curr_row = 0;
+ my $curr_col = 0;
+ my $curr_size = 0;
+ my $curr_visi = 0;
+ my $return = 0;
+ my $discard = 0;
+
+
+ if (defined($col)) {
+ $row = -1 if not defined($row);
+ if ($col == -1 or $row == -1) {
+ ($discard, $discard, $curr_col, $curr_row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ $col=$curr_col if $col==-1;
+ $row=$curr_row if $row==-1;
+ }
+ $return += _SetConsoleCursorPosition($self->{'handle'}, $col, $row);
+ if (defined($size) and defined($visi)) {
+ if ($size == -1 or $visi == -1) {
+ ($curr_size, $curr_visi) = _GetConsoleCursorInfo($self->{'handle'});
+ $size = $curr_size if $size == -1;
+ $visi = $curr_visi if $visi == -1;
+ }
+ $size = 1 if $size < 1;
+ $size = 99 if $size > 99;
+ $return += _SetConsoleCursorInfo($self->{'handle'}, $size, $visi);
+ }
+ return $return;
+ }
+ else {
+ ($discard, $discard, $curr_col, $curr_row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ ($curr_size, $curr_visi) = _GetConsoleCursorInfo($self->{'handle'});
+ return ($curr_col, $curr_row, $curr_size, $curr_visi);
+ }
+}
+
+#=========
+sub Size {
+#=========
+ my($self, $col, $row) = @_;
+ return undef unless ref($self);
+
+ if (not defined($col)) {
+ ($col, $row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ return ($col, $row);
+ }
+ else {
+ $row = -1 if not defined($row);
+ if ($col == -1 or $row == -1) {
+ ($curr_col, $curr_row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ $col=$curr_col if $col==-1;
+ $row=$curr_row if $row==-1;
+ }
+ return _SetConsoleScreenBufferSize($self->{'handle'}, $col, $row);
+ }
+}
+
+#=============
+sub FillAttr {
+#=============
+ my($self, $attr, $number, $col, $row) = @_;
+ return undef unless ref($self);
+
+ $number = 1 unless $number;
+
+ if (!defined($col) or !defined($row) or $col == -1 or $row == -1) {
+ ($discard, $discard,
+ $curr_col, $curr_row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ $col = $curr_col if !defined($col) or $col == -1;
+ $row = $curr_row if !defined($row) or $row == -1;
+ }
+ return _FillConsoleOutputAttribute($self->{'handle'}, $attr, $number, $col, $row);
+}
+
+#=============
+sub FillChar {
+#=============
+ my($self, $char, $number, $col, $row) = @_;
+ return undef unless ref($self);
+
+ if (!defined($col) or !defined($row) or $col == -1 or $row == -1) {
+ ($discard, $discard,
+ $curr_col, $curr_row) = _GetConsoleScreenBufferInfo($self->{'handle'});
+ $col = $curr_col if !defined($col) or $col == -1;
+ $row = $curr_row if !defined($row) or $row == -1;
+ }
+ return _FillConsoleOutputCharacter($self->{'handle'}, $char, $number, $col, $row);
+}
+
+#============
+sub InputCP {
+#============
+ my($self, $codepage) = @_;
+ $codepage = $self if (defined($self) and ref($self) ne "Win32::Console");
+ if (defined($codepage)) {
+ return _SetConsoleCP($codepage);
+ }
+ else {
+ return _GetConsoleCP();
+ }
+}
+
+#=============
+sub OutputCP {
+#=============
+ my($self, $codepage) = @_;
+ $codepage = $self if (defined($self) and ref($self) ne "Win32::Console");
+ if (defined($codepage)) {
+ return _SetConsoleOutputCP($codepage);
+ }
+ else {
+ return _GetConsoleOutputCP();
+ }
+}
+
+#======================
+sub GenerateCtrlEvent {
+#======================
+ my($self, $type, $pid) = @_;
+ $type = constant("CTRL_C_EVENT", 0) unless defined($type);
+ $pid = 0 unless defined($pid);
+ return _GenerateConsoleCtrlEvent($type, $pid);
+}
+
+#===================
+#sub SetCtrlHandler {
+#===================
+# my($name, $add) = @_;
+# $add = 1 unless defined($add);
+# my @nor = keys(%HandlerRoutineStack);
+# if ($add == 0) {
+# foreach $key (@nor) {
+# delete $HandlerRoutineStack{$key}, last if $HandlerRoutineStack{$key}==$name;
+# }
+# $HandlerRoutineRegistered--;
+# } else {
+# if ($#nor == -1) {
+# my $r = _SetConsoleCtrlHandler();
+# if (!$r) {
+# print "WARNING: SetConsoleCtrlHandler failed...\n";
+# }
+# }
+# $HandlerRoutineRegistered++;
+# $HandlerRoutineStack{$HandlerRoutineRegistered} = $name;
+# }
+#}
+
+#===================
+sub get_Win32_IPC_HANDLE { # So Win32::IPC can wait on a console handle
+#===================
+ $_[0]->{'handle'};
+}
+
+########################################################################
+# PRIVATE METHODS
+#
+
+#================
+#sub CtrlHandler {
+#================
+# my($ctrltype) = @_;
+# my $routine;
+# my $result = 0;
+# CALLEM: foreach $routine (sort { $b <=> $a } keys %HandlerRoutineStack) {
+# #print "CtrlHandler: calling $HandlerRoutineStack{$routine}($ctrltype)\n";
+# $result = &{"main::".$HandlerRoutineStack{$routine}}($ctrltype);
+# last CALLEM if $result;
+# }
+# return $result;
+#}
+
+#============
+sub DESTROY {
+#============
+ my($self) = @_;
+ _CloseHandle($self->{'handle'});
+}
+
+#######################################################################
+# dynamically load in the Console.pll module.
+#
+
+bootstrap Win32::Console;
+
+#######################################################################
+# ADDITIONAL CONSTANTS EXPORTED IN THE MAIN NAMESPACE
+#
+
+$FG_BLACK = 0;
+$FG_GRAY = constant("FOREGROUND_INTENSITY",0);
+$FG_BLUE = constant("FOREGROUND_BLUE",0);
+$FG_LIGHTBLUE = constant("FOREGROUND_BLUE",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_RED = constant("FOREGROUND_RED",0);
+$FG_LIGHTRED = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_GREEN = constant("FOREGROUND_GREEN",0);
+$FG_LIGHTGREEN = constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_MAGENTA = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_BLUE",0);
+$FG_LIGHTMAGENTA = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_BLUE",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_CYAN = constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_BLUE",0);
+$FG_LIGHTCYAN = constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_BLUE",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_BROWN = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_GREEN",0);
+$FG_YELLOW = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_INTENSITY",0);
+$FG_LIGHTGRAY = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_BLUE",0);
+$FG_WHITE = constant("FOREGROUND_RED",0)|
+ constant("FOREGROUND_GREEN",0)|
+ constant("FOREGROUND_BLUE",0)|
+ constant("FOREGROUND_INTENSITY",0);
+
+$BG_BLACK = 0;
+$BG_GRAY = constant("BACKGROUND_INTENSITY",0);
+$BG_BLUE = constant("BACKGROUND_BLUE",0);
+$BG_LIGHTBLUE = constant("BACKGROUND_BLUE",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_RED = constant("BACKGROUND_RED",0);
+$BG_LIGHTRED = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_GREEN = constant("BACKGROUND_GREEN",0);
+$BG_LIGHTGREEN = constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_MAGENTA = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_BLUE",0);
+$BG_LIGHTMAGENTA = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_BLUE",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_CYAN = constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_BLUE",0);
+$BG_LIGHTCYAN = constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_BLUE",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_BROWN = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_GREEN",0);
+$BG_YELLOW = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_INTENSITY",0);
+$BG_LIGHTGRAY = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_BLUE",0);
+$BG_WHITE = constant("BACKGROUND_RED",0)|
+ constant("BACKGROUND_GREEN",0)|
+ constant("BACKGROUND_BLUE",0)|
+ constant("BACKGROUND_INTENSITY",0);
+
+$ATTR_NORMAL = $FG_LIGHTGRAY|$BG_BLACK;
+$ATTR_INVERSE = $FG_BLACK|$BG_LIGHTGRAY;
+
+for my $fg ($FG_BLACK, $FG_GRAY, $FG_BLUE, $FG_GREEN,
+ $FG_CYAN, $FG_RED, $FG_MAGENTA, $FG_BROWN,
+ $FG_LIGHTBLUE, $FG_LIGHTGREEN, $FG_LIGHTCYAN,
+ $FG_LIGHTRED, $FG_LIGHTMAGENTA, $FG_YELLOW,
+ $FG_LIGHTGRAY, $FG_WHITE)
+{
+ for my $bg ($BG_BLACK, $BG_GRAY, $BG_BLUE, $BG_GREEN,
+ $BG_CYAN, $BG_RED, $BG_MAGENTA, $BG_BROWN,
+ $BG_LIGHTBLUE, $BG_LIGHTGREEN, $BG_LIGHTCYAN,
+ $BG_LIGHTRED, $BG_LIGHTMAGENTA, $BG_YELLOW,
+ $BG_LIGHTGRAY, $BG_WHITE)
+ {
+ push(@CONSOLE_COLORS, $fg|$bg);
+ }
+}
+
+# Preloaded methods go here.
+
+#Currently Autoloading is not implemented in Perl for win32
+# Autoload methods go after __END__, and are processed by the autosplit program.
+
+1;
+
+__END__
+
+=head1 NAME
+
+Win32::Console - Win32 Console and Character Mode Functions
+
+
+=head1 DESCRIPTION
+
+This module implements the Win32 console and character mode
+functions. They give you full control on the console input and output,
+including: support of off-screen console buffers (eg. multiple screen
+pages)
+
+=over
+
+=item *
+
+reading and writing of characters, attributes and whole portions of
+the screen
+
+=item *
+
+complete processing of keyboard and mouse events
+
+=item *
+
+some very funny additional features :)
+
+=back
+
+Those functions should also make possible a port of the Unix's curses
+library; if there is anyone interested (and/or willing to contribute)
+to this project, e-mail me. Thank you.
+
+
+=head1 REFERENCE
+
+
+=head2 Methods
+
+=over
+
+=item Alloc
+
+Allocates a new console for the process. Returns C<undef> on errors, a
+nonzero value on success. A process cannot be associated with more
+than one console, so this method will fail if there is already an
+allocated console. Use Free to detach the process from the console,
+and then call Alloc to create a new console. See also: C<Free>
+
+Example:
+
+ $CONSOLE->Alloc();
+
+=item Attr [attr]
+
+Gets or sets the current console attribute. This attribute is used by
+the Write method.
+
+Example:
+
+ $attr = $CONSOLE->Attr();
+ $CONSOLE->Attr($FG_YELLOW | $BG_BLUE);
+
+=item Close
+
+Closes a shortcut object. Note that it is not "strictly" required to
+close the objects you created, since the Win32::Shortcut objects are
+automatically closed when the program ends (or when you somehow
+destroy such an object).
+
+Example:
+
+ $LINK->Close();
+
+=item Cls [attr]
+
+Clear the console, with the specified I<attr> if given, or using
+ATTR_NORMAL otherwise.
+
+Example:
+
+ $CONSOLE->Cls();
+ $CONSOLE->Cls($FG_WHITE | $BG_GREEN);
+
+=item Cursor [x, y, size, visible]
+
+Gets or sets cursor position and appearance. Returns C<undef> on
+errors, or a 4-element list containing: I<x>, I<y>, I<size>,
+I<visible>. I<x> and I<y> are the current cursor position; ...
+
+Example:
+
+ ($x, $y, $size, $visible) = $CONSOLE->Cursor();
+
+ # Get position only
+ ($x, $y) = $CONSOLE->Cursor();
+
+ $CONSOLE->Cursor(40, 13, 50, 1);
+
+ # Set position only
+ $CONSOLE->Cursor(40, 13);
+
+ # Set size and visibility without affecting position
+ $CONSOLE->Cursor(-1, -1, 50, 1);
+
+=item Display
+
+Displays the specified console on the screen. Returns C<undef> on errors,
+a nonzero value on success.
+
+Example:
+
+ $CONSOLE->Display();
+
+=item FillAttr [attribute, number, col, row]
+
+Fills the specified number of consecutive attributes, beginning at
+I<col>, I<row>, with the value specified in I<attribute>. Returns the
+number of attributes filled, or C<undef> on errors. See also:
+C<FillChar>.
+
+Example:
+
+ $CONSOLE->FillAttr($FG_BLACK | $BG_BLACK, 80*25, 0, 0);
+
+=item FillChar char, number, col, row
+
+Fills the specified number of consecutive characters, beginning at
+I<col>, I<row>, with the character specified in I<char>. Returns the
+number of characters filled, or C<undef> on errors. See also:
+C<FillAttr>.
+
+Example:
+
+ $CONSOLE->FillChar("X", 80*25, 0, 0);
+
+=item Flush
+
+Flushes the console input buffer. All the events in the buffer are
+discarded. Returns C<undef> on errors, a nonzero value on success.
+
+Example:
+
+ $CONSOLE->Flush();
+
+=item Free
+
+Detaches the process from the console. Returns C<undef> on errors, a
+nonzero value on success. See also: C<Alloc>.
+
+Example:
+
+ $CONSOLE->Free();
+
+=item GenerateCtrlEvent [type, processgroup]
+
+Sends a break signal of the specified I<type> to the specified
+I<processgroup>. I<type> can be one of the following constants:
+
+ CTRL_BREAK_EVENT
+ CTRL_C_EVENT
+
+they signal, respectively, the pressing of Control + Break and of
+Control + C; if not specified, it defaults to CTRL_C_EVENT.
+I<processgroup> is the pid of a process sharing the same console. If
+omitted, it defaults to 0 (the current process), which is also the
+only meaningful value that you can pass to this function. Returns
+C<undef> on errors, a nonzero value on success.
+
+Example:
+
+ # break this script now
+ $CONSOLE->GenerateCtrlEvent();
+
+=item GetEvents
+
+Returns the number of unread input events in the console's input
+buffer, or C<undef> on errors. See also: C<Input>, C<InputChar>,
+C<PeekInput>, C<WriteInput>.
+
+Example:
+
+ $events = $CONSOLE->GetEvents();
+
+=item Info
+
+Returns an array of informations about the console (or C<undef> on
+errors), which contains:
+
+=over
+
+=item *
+
+columns (X size) of the console buffer.
+
+=item *
+
+rows (Y size) of the console buffer.
+
+=item *
+
+current column (X position) of the cursor.
+
+=item *
+
+current row (Y position) of the cursor.
+
+=item *
+
+current attribute used for C<Write>.
+
+=item *
+
+left column (X of the starting point) of the current console window.
+
+=item *
+
+top row (Y of the starting point) of the current console window.
+
+=item *
+
+right column (X of the final point) of the current console window.
+
+=item *
+
+bottom row (Y of the final point) of the current console window.
+
+=item *
+
+maximum number of columns for the console window, given the current
+buffer size, font and the screen size.
+
+=item *
+
+maximum number of rows for the console window, given the current
+buffer size, font and the screen size.
+
+=back
+
+See also: C<Attr>, C<Cursor>, C<Size>, C<Window>, C<MaxWindow>.
+
+Example:
+
+ @info = $CONSOLE->Info();
+ print "Cursor at $info[3], $info[4].\n";
+
+=item Input
+
+Reads an event from the input buffer. Returns a list of values, which
+depending on the event's nature are:
+
+=over
+
+=item keyboard event
+
+The list will contain:
+
+=over
+
+=item *
+
+event type: 1 for keyboard
+
+=item *
+
+key down: TRUE if the key is being pressed, FALSE if the key is being released
+
+=item *
+
+repeat count: the number of times the key is being held down
+
+=item *
+
+virtual keycode: the virtual key code of the key
+
+=item *
+
+virtual scancode: the virtual scan code of the key
+
+=item *
+
+char: the ASCII code of the character (if the key is a character key, 0 otherwise)
+
+=item *
+
+control key state: the state of the control keys (SHIFTs, CTRLs, ALTs, etc.)
+
+=back
+
+=item mouse event
+
+The list will contain:
+
+=over
+
+=item *
+
+event type: 2 for mouse
+
+=item *
+
+mouse pos. X: X coordinate (column) of the mouse location
+
+=item *
+
+mouse pos. Y: Y coordinate (row) of the mouse location
+
+=item *
+
+button state: the mouse button(s) which are pressed
+
+=item *
+
+control key state: the state of the control keys (SHIFTs, CTRLs, ALTs, etc.)
+
+=item *
+
+event flags: the type of the mouse event
+
+=back
+
+=back
+
+This method will return C<undef> on errors. Note that the events
+returned are depending on the input C<Mode> of the console; for example,
+mouse events are not intercepted unless ENABLE_MOUSE_INPUT is
+specified. See also: C<GetEvents>, C<InputChar>, C<Mode>,
+C<PeekInput>, C<WriteInput>.
+
+Example:
+
+ @event = $CONSOLE->Input();
+
+=item InputChar number
+
+Reads and returns I<number> characters from the console input buffer,
+or C<undef> on errors. See also: C<Input>, C<Mode>.
+
+Example:
+
+ $key = $CONSOLE->InputChar(1);
+
+=item InputCP [codepage]
+
+Gets or sets the input code page used by the console. Note that this
+doesn't apply to a console object, but to the standard input
+console. This attribute is used by the Write method. See also:
+C<OutputCP>.
+
+Example:
+
+ $codepage = $CONSOLE->InputCP();
+ $CONSOLE->InputCP(437);
+
+ # you may want to use the non-instanciated form to avoid confuzion :)
+ $codepage = Win32::Console::InputCP();
+ Win32::Console::InputCP(437);
+
+=item MaxWindow
+
+Returns the size of the largest possible console window, based on the
+current font and the size of the display. The result is C<undef> on
+errors, otherwise a 2-element list containing col, row.
+
+Example:
+
+ ($maxCol, $maxRow) = $CONSOLE->MaxWindow();
+
+=item Mode [flags]
+
+Gets or sets the input or output mode of a console. I<flags> can be a
+combination of the following constants:
+
+ ENABLE_LINE_INPUT
+ ENABLE_ECHO_INPUT
+ ENABLE_PROCESSED_INPUT
+ ENABLE_WINDOW_INPUT
+ ENABLE_MOUSE_INPUT
+ ENABLE_PROCESSED_OUTPUT
+ ENABLE_WRAP_AT_EOL_OUTPUT
+
+For more informations on the meaning of those flags, please refer to
+the L<"Microsoft's Documentation">.
+
+Example:
+
+ $mode = $CONSOLE->Mode();
+ $CONSOLE->Mode(ENABLE_MOUSE_INPUT | ENABLE_PROCESSED_INPUT);
+
+=item MouseButtons
+
+Returns the number of the buttons on your mouse, or C<undef> on errors.
+
+Example:
+
+ print "Your mouse has ", $CONSOLE->MouseButtons(), " buttons.\n";
+
+=item new Win32::Console standard_handle
+
+=item new Win32::Console [accessmode, sharemode]
+
+Creates a new console object. The first form creates a handle to a
+standard channel, I<standard_handle> can be one of the following:
+
+ STD_OUTPUT_HANDLE
+ STD_ERROR_HANDLE
+ STD_INPUT_HANDLE
+
+The second form, instead, creates a console screen buffer in memory,
+which you can access for reading and writing as a normal console, and
+then redirect on the standard output (the screen) with C<Display>. In
+this case, you can specify one or both of the following values for
+I<accessmode>:
+
+ GENERIC_READ
+ GENERIC_WRITE
+
+which are the permissions you will have on the created buffer, and one
+or both of the following values for I<sharemode>:
+
+ FILE_SHARE_READ
+ FILE_SHARE_WRITE
+
+which affect the way the console can be shared. If you don't specify
+any of those parameters, all 4 flags will be used.
+
+Example:
+
+ $STDOUT = new Win32::Console(STD_OUTPUT_HANDLE);
+ $STDERR = new Win32::Console(STD_ERROR_HANDLE);
+ $STDIN = new Win32::Console(STD_INPUT_HANDLE);
+
+ $BUFFER = new Win32::Console();
+ $BUFFER = new Win32::Console(GENERIC_READ | GENERIC_WRITE);
+
+=item OutputCP [codepage]
+
+Gets or sets the output code page used by the console. Note that this
+doesn't apply to a console object, but to the standard output console.
+See also: C<InputCP>.
+
+Example:
+
+ $codepage = $CONSOLE->OutputCP();
+ $CONSOLE->OutputCP(437);
+
+ # you may want to use the non-instanciated form to avoid confuzion :)
+ $codepage = Win32::Console::OutputCP();
+ Win32::Console::OutputCP(437);
+
+=item PeekInput
+
+Does exactly the same as C<Input>, except that the event read is not
+removed from the input buffer. See also: C<GetEvents>, C<Input>,
+C<InputChar>, C<Mode>, C<WriteInput>.
+
+Example:
+
+ @event = $CONSOLE->PeekInput();
+
+=item ReadAttr [number, col, row]
+
+Reads the specified I<number> of consecutive attributes, beginning at
+I<col>, I<row>, from the console. Returns the attributes read (a
+variable containing one character for each attribute), or C<undef> on
+errors. You can then pass the returned variable to C<WriteAttr> to
+restore the saved attributes on screen. See also: C<ReadChar>,
+C<ReadRect>.
+
+Example:
+
+ $colors = $CONSOLE->ReadAttr(80*25, 0, 0);
+
+=item ReadChar [number, col, row]
+
+Reads the specified I<number> of consecutive characters, beginning at
+I<col>, I<row>, from the console. Returns a string containing the
+characters read, or C<undef> on errors. You can then pass the
+returned variable to C<WriteChar> to restore the saved characters on
+screen. See also: C<ReadAttr>, C<ReadRect>.
+
+Example:
+
+ $chars = $CONSOLE->ReadChar(80*25, 0, 0);
+
+=item ReadRect left, top, right, bottom
+
+Reads the content (characters and attributes) of the rectangle
+specified by I<left>, I<top>, I<right>, I<bottom> from the console.
+Returns a string containing the rectangle read, or C<undef> on errors.
+You can then pass the returned variable to C<WriteRect> to restore the
+saved rectangle on screen (or on another console). See also:
+C<ReadAttr>, C<ReadChar>.
+
+Example:
+
+ $rect = $CONSOLE->ReadRect(0, 0, 80, 25);
+
+=item Scroll left, top, right, bottom, col, row, char, attr,
+ [cleft, ctop, cright, cbottom]
+
+Moves a block of data in a console buffer; the block is identified by
+I<left>, I<top>, I<right>, I<bottom>, while I<row>, I<col> identify
+the new location of the block. The cells left empty as a result of
+the move are filled with the character I<char> and attribute I<attr>.
+Optionally you can specify a clipping region with I<cleft>, I<ctop>,
+I<cright>, I<cbottom>, so that the content of the console outside this
+rectangle are unchanged. Returns C<undef> on errors, a nonzero value
+on success.
+
+Example:
+
+ # scrolls the screen 10 lines down, filling with black spaces
+ $CONSOLE->Scroll(0, 0, 80, 25, 0, 10, " ", $FG_BLACK | $BG_BLACK);
+
+=item Select standard_handle
+
+Redirects a standard handle to the specified console.
+I<standard_handle> can have one of the following values:
+
+ STD_INPUT_HANDLE
+ STD_OUTPUT_HANDLE
+ STD_ERROR_HANDLE
+
+Returns C<undef> on errors, a nonzero value on success.
+
+Example:
+
+ $CONSOLE->Select(STD_OUTPUT_HANDLE);
+
+=item SetIcon icon_file
+
+Sets the icon in the title bar of the current console window.
+
+Example:
+
+ $CONSOLE->SetIcon("C:/My/Path/To/Custom.ico");
+
+=item Size [col, row]
+
+Gets or sets the console buffer size.
+
+Example:
+
+ ($x, $y) = $CONSOLE->Size();
+ $CONSOLE->Size(80, 25);
+
+=item Title [title]
+
+Gets or sets the title of the current console window.
+
+Example:
+
+ $title = $CONSOLE->Title();
+ $CONSOLE->Title("This is a title");
+
+=item Window [flag, left, top, right, bottom]
+
+Gets or sets the current console window size. If called without
+arguments, returns a 4-element list containing the current window
+coordinates in the form of I<left>, I<top>, I<right>, I<bottom>. To
+set the window size, you have to specify an additional I<flag>
+parameter: if it is 0 (zero), coordinates are considered relative to
+the current coordinates; if it is non-zero, coordinates are absolute.
+
+Example:
+
+ ($left, $top, $right, $bottom) = $CONSOLE->Window();
+ $CONSOLE->Window(1, 0, 0, 80, 50);
+
+=item Write string
+
+Writes I<string> on the console, using the current attribute, that you
+can set with C<Attr>, and advancing the cursor as needed. This isn't
+so different from Perl's "print" statement. Returns the number of
+characters written or C<undef> on errors. See also: C<WriteAttr>,
+C<WriteChar>, C<WriteRect>.
+
+Example:
+
+ $CONSOLE->Write("Hello, world!");
+
+=item WriteAttr attrs, col, row
+
+Writes the attributes in the string I<attrs>, beginning at I<col>,
+I<row>, without affecting the characters that are on screen. The
+string attrs can be the result of a C<ReadAttr> function, or you can
+build your own attribute string; in this case, keep in mind that every
+attribute is treated as a character, not a number (see example).
+Returns the number of attributes written or C<undef> on errors. See
+also: C<Write>, C<WriteChar>, C<WriteRect>.
+
+Example:
+
+ $CONSOLE->WriteAttr($attrs, 0, 0);
+
+ # note the use of chr()...
+ $attrs = chr($FG_BLACK | $BG_WHITE) x 80;
+ $CONSOLE->WriteAttr($attrs, 0, 0);
+
+=item WriteChar chars, col, row
+
+Writes the characters in the string I<attr>, beginning at I<col>, I<row>,
+without affecting the attributes that are on screen. The string I<chars>
+can be the result of a C<ReadChar> function, or a normal string. Returns
+the number of characters written or C<undef> on errors. See also:
+C<Write>, C<WriteAttr>, C<WriteRect>.
+
+Example:
+
+ $CONSOLE->WriteChar("Hello, worlds!", 0, 0);
+
+=item WriteInput (event)
+
+Pushes data in the console input buffer. I<(event)> is a list of values,
+for more information see C<Input>. The string chars can be the result of
+a C<ReadChar> function, or a normal string. Returns the number of
+characters written or C<undef> on errors. See also: C<Write>,
+C<WriteAttr>, C<WriteRect>.
+
+Example:
+
+ $CONSOLE->WriteInput(@event);
+
+=item WriteRect rect, left, top, right, bottom
+
+Writes a rectangle of characters and attributes (contained in I<rect>)
+on the console at the coordinates specified by I<left>, I<top>,
+I<right>, I<bottom>. I<rect> can be the result of a C<ReadRect>
+function. Returns C<undef> on errors, otherwise a 4-element list
+containing the coordinates of the affected rectangle, in the format
+I<left>, I<top>, I<right>, I<bottom>. See also: C<Write>,
+C<WriteAttr>, C<WriteChar>.
+
+Example:
+
+ $CONSOLE->WriteRect($rect, 0, 0, 80, 25);
+
+=back
+
+
+=head2 Constants
+
+The following constants are exported in the main namespace of your
+script using Win32::Console:
+
+ BACKGROUND_BLUE
+ BACKGROUND_GREEN
+ BACKGROUND_INTENSITY
+ BACKGROUND_RED
+ CAPSLOCK_ON
+ CONSOLE_TEXTMODE_BUFFER
+ ENABLE_ECHO_INPUT
+ ENABLE_LINE_INPUT
+ ENABLE_MOUSE_INPUT
+ ENABLE_PROCESSED_INPUT
+ ENABLE_PROCESSED_OUTPUT
+ ENABLE_WINDOW_INPUT
+ ENABLE_WRAP_AT_EOL_OUTPUT
+ ENHANCED_KEY
+ FILE_SHARE_READ
+ FILE_SHARE_WRITE
+ FOREGROUND_BLUE
+ FOREGROUND_GREEN
+ FOREGROUND_INTENSITY
+ FOREGROUND_RED
+ LEFT_ALT_PRESSED
+ LEFT_CTRL_PRESSED
+ NUMLOCK_ON
+ GENERIC_READ
+ GENERIC_WRITE
+ RIGHT_ALT_PRESSED
+ RIGHT_CTRL_PRESSED
+ SCROLLLOCK_ON
+ SHIFT_PRESSED
+ STD_INPUT_HANDLE
+ STD_OUTPUT_HANDLE
+ STD_ERROR_HANDLE
+
+Additionally, the following variables can be used:
+
+ $FG_BLACK
+ $FG_GRAY
+ $FG_BLUE
+ $FG_LIGHTBLUE
+ $FG_RED
+ $FG_LIGHTRED
+ $FG_GREEN
+ $FG_LIGHTGREEN
+ $FG_MAGENTA
+ $FG_LIGHTMAGENTA
+ $FG_CYAN
+ $FG_LIGHTCYAN
+ $FG_BROWN
+ $FG_YELLOW
+ $FG_LIGHTGRAY
+ $FG_WHITE
+
+ $BG_BLACK
+ $BG_GRAY
+ $BG_BLUE
+ $BG_LIGHTBLUE
+ $BG_RED
+ $BG_LIGHTRED
+ $BG_GREEN
+ $BG_LIGHTGREEN
+ $BG_MAGENTA
+ $BG_LIGHTMAGENTA
+ $BG_CYAN
+ $BG_LIGHTCYAN
+ $BG_BROWN
+ $BG_YELLOW
+ $BG_LIGHTGRAY
+ $BG_WHITE
+
+ $ATTR_NORMAL
+ $ATTR_INVERSE
+
+ATTR_NORMAL is set to gray foreground on black background (DOS's
+standard colors).
+
+
+=head2 Microsoft's Documentation
+
+Documentation for the Win32 Console and Character mode Functions can
+be found on Microsoft's site at this URL:
+
+http://www.microsoft.com/msdn/sdk/platforms/doc/sdk/win32/sys/src/conchar.htm
+
+A reference of the available functions is at:
+
+http://www.microsoft.com/msdn/sdk/platforms/doc/sdk/win32/sys/src/conchar_34.htm
+
+
+=head1 AUTHOR
+
+Aldo Calpini <a.calpini@romagiubileo.it>
+
+=head1 CREDITS
+
+Thanks to: Jesse Dougherty, Dave Roth, ActiveWare, and the
+Perl-Win32-Users community.
+
+=head1 DISCLAIMER
+
+This program is FREE; you can redistribute, modify, disassemble, or
+even reverse engineer this software at your will. Keep in mind,
+however, that NOTHING IS GUARANTEED to work and everything you do is
+AT YOUR OWN RISK - I will not take responsibility for any damage, loss
+of money and/or health that may arise from the use of this program!
+
+This is distributed under the terms of Larry Wall's Artistic License.
diff --git a/Master/tlpkg/tlperl/lib/Win32/OLE.pm b/Master/tlpkg/tlperl/lib/Win32/OLE.pm
index 45158f6278f..ece534b15fa 100644
--- a/Master/tlpkg/tlperl/lib/Win32/OLE.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/OLE.pm
@@ -6,7 +6,7 @@ use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK @EXPORT_FAIL $AUTOLOAD
$CP $LCID $Warn $LastError $_NewEnum $_Unique);
-$VERSION = '0.1711';
+$VERSION = '0.1712';
use Carp;
use Exporter;
@@ -963,6 +963,6 @@ related questions only, of course).
=head1 VERSION
-Version 0.1711 21 December 2013
+Version 0.1712 14 May 2014
=cut
diff --git a/Master/tlpkg/tlperl/lib/Win32/OLE/NEWS.pod b/Master/tlpkg/tlperl/lib/Win32/OLE/NEWS.pod
new file mode 100644
index 00000000000..217fe4a6fcc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/OLE/NEWS.pod
@@ -0,0 +1,380 @@
+=pod
+
+=head1 NAME
+
+Win32::OLE::NEWS - What's new in Win32::OLE
+
+This file contains a history of user visible changes to the
+Win32::OLE::* modules. Only new features and major bug fixes that
+might affect backwards compatibility are included.
+
+=head1 Version 0.18
+
+=head2 VT_CY and VT_DECIMAL return values handled differently
+
+The new C<Variant> option enables values of VT_CY or VT_DECIMAL type
+to be returned as Win32::OLE::Variant objects instead of being
+converted into strings and numbers respectively. This is similar to
+the change in Win32::OLE version 0.12 to VT_DATE and VT_ERROR values.
+The Win32::OLE::Variant module must be included to make sure that
+VT_CY and VT_DECIMAL values behave as before in numeric or string
+contexts.
+
+Because the new behavior is potentially incompatible, it must be
+explicitly enabled:
+
+ Win32::OLE->Option(Variant => 1);
+
+
+=head1 Version 0.17
+
+=head2 New nullstring() function in Win32::OLE::Variant
+
+The nullstring() function returns a VT_BSTR variant containing a NULL
+string pointer. Note that this is not the same as a VT_BSTR variant
+containing the empty string "".
+
+The nullstring() return value is equivalent to the Visual Basic
+C<vbNullString> constant.
+
+
+=head1 Version 0.16
+
+=head2 Improved Unicode support
+
+Passing Unicode strings to methods and properties as well as returning
+Unicode strings back to Perl works now with both Perl 5.6 and 5.8.
+Note that the Unicode support in 5.8 is much more complete than in 5.6
+or 5.6.1.
+
+C<Unicode::String> objects can now be passed to methods or assigned to
+properties.
+
+You must enable Unicode support by switching Win32::OLE to the UTF8
+codepage:
+
+ Win32::OLE->Option(CP => Win32::OLE::CP_UTF8());
+
+
+=head1 Version 0.13
+
+=head2 New nothing() function in Win32::OLE::Variant
+
+The nothing() function returns an empty VT_DISPATCH variant. It can be
+used to clear an object reference stored in a property
+
+ use Win32::OLE::Variant qw(:DEFAULT nothing);
+ # ...
+ $object->{Property} = nothing;
+
+This has the same effect as the Visual Basic statement
+
+ Set object.Property = Nothing
+
+=head2 New _NewEnum and _Unique options
+
+There are two new options available for the Win32::OLE->Option class
+method: C<_NewEnum> provides the elements of a collection object
+directly as the value of a C<_NewEnum> property. The C<_Unique>
+option guarantees that Win32::OLE will not create multiple proxy
+objects for the same underlying COM/OLE object.
+
+Both options are only really useful to tree traversal programs or
+during debugging.
+
+
+=head1 Version 0.12
+
+=head2 Additional error handling functionality
+
+The Warn option can now be set to a CODE reference too. For example,
+
+ Win32::OLE->Option(Warn => 3);
+
+could now be written as
+
+ Win32::OLE->Option(Warn => \&Carp::croak);
+
+This can even be used to emulate the VisualBasic C<On Error Goto
+Label> construct:
+
+ Win32::OLE->Option(Warn => sub {goto CheckError});
+ # ... your normal OLE code here ...
+
+ CheckError:
+ # ... your error handling code here ...
+
+=head2 Builtin event loop
+
+Processing OLE events required a polling loop before, e.g.
+
+ my $Quit;
+ #...
+ until ($Quit) {
+ Win32::OLE->SpinMessageLoop;
+ Win32::Sleep(100);
+ }
+ package BrowserEvents;
+ sub OnQuit { $Quit = 1 }
+
+This is inefficient and a bit odd. This version of Win32::OLE now
+supports a standard messageloop:
+
+ Win32::OLE->MessageLoop();
+
+ package BrowserEvents;
+ sub OnQuit { Win32::OLE->QuitMessageLoop }
+
+=head2 Free unused OLE libraries
+
+Previous versions of Win32::OLE would call the CoFreeUnusedLibraries()
+API whenever an OLE object was destroyed. This made sure that OLE
+libraries would be unloaded as soon as they were no longer needed.
+Unfortunately, objects implemented in Visual Basic tend to crash
+during this call, as they pretend to be ready for unloading, when in
+fact, they aren't.
+
+The unloading of object libraries is really only important for long
+running processes that might instantiate a huge number of B<different>
+objects over time. Therefore this API is no longer called
+automatically. The functionality is now available explicitly to those
+who want or need it by calling a Win32::OLE class method:
+
+ Win32::OLE->FreeUnusedLibraries();
+
+=head2 The "Win32::OLE" article from "The Perl Journal #10"
+
+The article is Copyright 1998 by I<The Perl
+Journal>. http://www.tpj.com
+
+It originally appeared in I<The Perl Journal> # 10 and appears here
+courtesy of Jon Orwant and I<The Perl Journal>. The sample code from
+the article is in the F<eg/tpj.pl> file.
+
+=head2 VARIANT->Put() bug fixes
+
+The Put() method didn't work correctly for arrays of type VT_BSTR,
+VT_DISPATH or VT_UNKNOWN. This has been fixed.
+
+=head2 Error message fixes
+
+Previous versions of Win32::OLE gave a wrong argument index for some
+OLE error messages (the number was too large by 1). This should be
+fixed now.
+
+=head2 VT_DATE and VT_ERROR return values handled differently
+
+Method calls and property accesses returning a VT_DATE or VT_ERROR
+value would previously translate the value to string or integer
+format. This has been changed to return a Win32::OLE::Variant object.
+The return values will behave as before if the Win32::OLE::Variant
+module is being used. This module overloads the conversion of
+the objects to strings and numbers.
+
+
+=head1 Version 0.11 (changes since 0.1008)
+
+=head2 new DHTML typelib browser
+
+The Win32::OLE distribution now contains a type library browser. It
+is written in PerlScript, generating dynamic HTML. It requires
+Internet Explorer 4.0 or later. You'll find it in
+F<browser/Browser.html>. It should be available in the ActivePerl
+HTML help under Win32::OLE::Browser.
+
+After selecting a library, type or member you can press F1 to call up
+the corresponding help file at the appropriate location.
+
+=head2 VT_DECIMAL support
+
+The Win32::OLE::Variant module now supports VT_DECIMAL variants too.
+They are not "officially" allowed in OLE Automation calls, but even
+Microsoft's "ActiveX Data Objects" sometimes returns VT_DECIMAL
+values.
+
+VT_DECIMAL variables are stored as 96-bit integers scaled by a
+variable power of 10. The power of 10 scaling factor specifies the
+number of digits to the right of the decimal point, and ranges from 0
+to 28. With a scale of 0 (no decimal places), the largest possible
+value is +/-79,228,162,514,264,337,593,543,950,335. With a 28 decimal
+places, the largest value is +/-7.9228162514264337593543950335 and the
+smallest, non-zero value is +/-0.0000000000000000000000000001.
+
+=head1 Version 0.1008
+
+=head2 new LetProperty() object method
+
+In Win32::OLE property assignment using the hash syntax is equivalent
+to the Visual Basic C<Set> syntax (I<by reference> assignment):
+
+ $Object->{Property} = $OtherObject;
+
+corresponds to this Visual Basic statement:
+
+ Set Object.Property = OtherObject
+
+To get the I<by value> treatment of the Visual Basic C<Let> statement
+
+ Object.Property = OtherObject
+
+you have to use the LetProperty() object method in Perl:
+
+ $Object->LetProperty($Property, $OtherObject);
+
+=head2 new HRESULT() function
+
+The HRESULT() function converts an unsigned number into a signed HRESULT
+error value as used by OLE internally. This is necessary because Perl
+treats all hexadecimal constants as unsigned. To check if the last OLE
+function returned "Member not found" (0x80020003) you can write:
+
+ if (Win32::OLE->LastError == HRESULT(0x80020003)) {
+ # your error recovery here
+ }
+
+=head1 Version 0.1007 (changes since 0.1005)
+
+=head2 OLE Event support
+
+This version of Win32::OLE contains B<ALPHA> level support for OLE events. The
+user interface is still subject to change. There are ActiveX objects / controls
+that don't fire events under the current implementation.
+
+Events are enabled for a specific object with the Win32::OLE->WithEvents()
+class method:
+
+ Win32::OLE->WithEvents(OBJECT, HANDLER, INTERFACE)
+
+Please read further documentation in Win32::OLE.
+
+=head2 GetObject() and GetActiveObject() now support optional DESTRUCTOR argument
+
+It is now possible to specify a DESTRUCTOR argument to the GetObject() and
+GetActiveObject() class methods. They work identical to the new() DESTRUCTOR
+argument.
+
+=head2 Remote object instantiation via DCOM
+
+This has actually been in Win32::OLE since 0.0608, but somehow never got
+documented. You can provide an array reference in place of the usual PROGID
+parameter to Win32::OLE->new():
+
+ OBJ = Win32::OLE->new([MACHINE, PRODID]);
+
+The array must contain two elements: the name of the MACHINE and the PROGID.
+This will try to create the object on the remote MACHINE.
+
+=head2 Enumerate all Win32::OLE objects
+
+This class method returns the number Win32::OLE objects currently in
+existence. It will call the optional CALLBACK function for each of
+these objects:
+
+ $Count = Win32::OLE->EnumAllObjects(sub {
+ my $Object = shift;
+ my $Class = Win32::OLE->QueryObjectType($Object);
+ printf "# Object=%s Class=%s\n", $Object, $Class;
+ });
+
+The EnumAllObjects() method is primarily a debugging tool. It can be
+used e.g. in an END block to check if all external connections have
+been properly destroyed.
+
+=head2 The VARIANT->Put() method now returns the VARIANT object itself
+
+This allows chaining of Put() method calls to set multiple values in an
+array variant:
+
+ $Array->Put(0,0,$First_value)->Put(0,1,$Another_value);
+
+=head2 The VARIANT->Put(ARRAYREF) form allows assignment to a complete SAFEARRAY
+
+This allows automatic conversion from a list of lists to a SAFEARRAY.
+You can now write:
+
+ my $Array = Variant(VT_ARRAY|VT_R8, [1,2], 2);
+ $Array->Put([[1,2], [3,4]]);
+
+instead of the tedious:
+
+ $Array->Put(1,0,1);
+ $Array->Put(1,1,2);
+ $Array->Put(2,0,3);
+ $Array->Put(2,1,4);
+
+=head2 New Variant formatting methods
+
+There are four new methods for formatting variant values: Currency(), Date(),
+Number() and Time(). For example:
+
+ my $v = Variant(VT_DATE, "April 1 99");
+ print $v->Date(DATE_LONGDATE), "\n";
+ print $v->Date("ddd',' MMM dd yy"), "\n";
+
+will print:
+
+ Thursday, April 01, 1999
+ Thu, Apr 01 99
+
+=head2 new Win32::OLE::NLS methods: SendSettingChange() and SetLocaleInfo()
+
+SendSettingChange() sends a WM_SETTINGCHANGE message to all top level windows.
+
+SetLocaleInfo() allows changing elements in the user override section of the
+locale database. Unfortunately these changes are not automatically available
+to further Variant formatting; you have to call SendSettingChange() first.
+
+=head2 Win32::OLE::Const now correctly treats version numbers as hex
+
+The minor and major version numbers of type libraries have been treated as
+decimal. This was wrong. They are now correctly decoded as hex.
+
+=head2 more robust global destruction of Win32::OLE objects
+
+The final destruction of Win32::OLE objects has always been somewhat fragile.
+The reason for this is that Perl doesn't honour reference counts during global
+destruction but destroys objects in seemingly random order. This can lead
+to leaked database connections or unterminated external objects. The only
+solution was to make all objects lexical and hope that no object would be
+trapped in a closure. Alternatively all objects could be explicitly set to
+C<undef>, which doesn't work very well with exception handling.
+
+With version 0.1007 of Win32::OLE this problem should be gone: The module
+keeps a list of active Win32::OLE objects. It uses an END block to destroy
+all objects at program termination I<before> the Perl's global destruction
+starts. Objects still existing at program termination are now destroyed in
+reverse order of creation. The effect is similar to explicitly calling
+Win32::OLE->Uninitialize() just prior to termination.
+
+=head1 Version 0.1005 (changes since 0.1003)
+
+Win32::OLE 0.1005 has been release with ActivePerl build 509. It is also
+included in the I<Perl Resource Kit for Win32> Update.
+
+=head2 optional DESTRUCTOR for GetActiveObject() GetObject() class methods
+
+The GetActiveObject() and GetObject() class method now also support an
+optional DESTRUCTOR parameter just like Win32::OLE->new(). The DESTRUCTOR
+is executed when the last reference to this object goes away. It is
+generally considered C<impolite> to stop applications that you did not
+start yourself.
+
+=head2 new Variant object method: $object->Copy()
+
+See L<Win32::OLE::Variant/Copy([DIM])>.
+
+=head2 new Win32::OLE->Option() class method
+
+The Option() class method can be used to inspect and modify
+L<Win32::OLE/Module Options>. The single argument form retrieves
+the value of an option:
+
+ my $CP = Win32::OLE->Option('CP');
+
+A single call can be used to set multiple options simultaneously:
+
+ Win32::OLE->Option(CP => CP_ACP, Warn => 3);
+
+Currently the following options exist: CP, LCID and C<Warn>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Win32/OLE/TPJ.pod b/Master/tlpkg/tlperl/lib/Win32/OLE/TPJ.pod
new file mode 100644
index 00000000000..e45770baa42
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/OLE/TPJ.pod
@@ -0,0 +1,798 @@
+=pod
+
+=head1 NAME
+
+The Perl Journal #10 - Win32::OLE by Jan Dubois
+
+=head1 INTRODUCTION
+
+Suppose you're composing a document with Microsoft Word. You want to
+include an Excel spreadsheet. You could save the spreadsheet in some
+image format that Word can understand, and import it into your
+document. But if the spreadsheet changes, your document will be out of
+date.
+
+Microsoft's OLE (Object Linking and Embedding, pronounced "olay") lets
+one program use objects from another. In the above scenario, the
+spreadsheet is the object. As long as Excel makes that spreadsheet
+available as an OLE object, and Word knows to treat it like one, your
+document will always be current.
+
+You can control OLE objects from Perl with the Win32::OLE module, and
+that's what this article is about. First, I'll show you how to "think
+OLE," which mostly involves a lot of jargon. Next, I'll show you the
+mechanics involved in using Win32::OLE. Then we'll go through a Perl
+program that uses OLE to manipulate Microsoft Excel, Microsoft Access,
+and Lotus Notes. Finally, I'll talk about Variants, an internal OLE
+data type.
+
+
+=head1 THE OLE MINDSET
+
+When an application makes an OLE object available for other
+applications to use, that's called OLE I<automation>. The program
+using the object is called the I<controller>, and the application
+providing the object is called the I<server>. OLE automation is guided
+by the OLE Component Object Model (COM) which specifies how those
+objects must behave if they are to be used by other processes and
+machines.
+
+There are two different types of OLE automation servers. I<In-process>
+servers are implemented as dynamic link libraries (DLLs) and run in
+the same process space as the controller. I<Out-of-process> servers
+are more interesting; they are standalone executables that exist as
+separate processes - possibly on a different computer.
+
+The Win32::OLE module lets your Perl program act as an OLE
+controller. It allows Perl to be used in place of other languages like
+Visual Basic or Java to control OLE objects. This makes all OLE
+automation servers immediately available as Perl modules.
+
+Don't confuse ActiveState OLE with Win32::OLE. ActiveState OLE is
+completely different, although future builds of ActiveState Perl (500
+and up) will work with Win32::OLE.
+
+Objects can expose OLE methods, properties, and events to the outside
+world. Methods are functions that the controller can call to make the
+object do something; properties describe the state of the object; and
+events let the controller know about external events affecting the
+object, such as the user clicking on a button. Since events involve
+asynchronous communication with their objects, they require either
+threads or an event loop. They are not yet supported by the Win32::OLE
+module, and for the same reason ActiveX controls (OCXs) are currently
+unsupported as well.
+
+=head1 WORKING WITH WIN32::OLE
+
+The Win32::OLE module doesn't let your Perl program create OLE
+objects. What it does do is let your Perl program act like a remote
+control for other applications-it lets your program be an OLE
+controller. You can take an OLE object from another application
+(Access, Notes, Excel, or anything else that speaks OLE) and invoke
+its methods or manipulate its properties.
+
+=head2 THE FIRST STEP: CREATING AN OLE SERVER OBJECT
+
+First, we need to create a Perl object to represent the OLE
+server. This is a weird idea; what it amounts to is that if we want to
+control OLE objects produced by, say, Excel, we have to create a Perl
+object that represents Excel. So even though our program is an OLE
+controller, it'll contain objects that represent OLE servers.
+
+You can create a new OLE I<server object> with C<< Win32::OLE->new >>.
+This takes a program ID (a human readable string like
+C<'Speech.VoiceText'>) and returns a server object:
+
+ my $server = Win32::OLE->new('Excel.Application', 'Quit');
+
+Some server objects (particularly those for Microsoft Office
+applications) don't automatically terminate when your program no
+longer needs them. They need some kind of Quit method, and that's just
+what our second argument is. It can be either a code reference or a
+method name to be invoked when the object is destroyed. This lets you
+ensure that objects will be properly cleaned up even when the Perl
+program dies abnormally.
+
+To access a server object on a different computer, replace the first
+argument with a reference to a list of the server name and program ID:
+
+ my $server = Win32::OLE->new(['foo.bar.com',
+ 'Excel.Application']);
+
+(To get the requisite permissions, you'll need to configure your
+security settings with F<DCOMCNFG.EXE>.)
+
+You can also directly attach your program to an already running OLE
+server:
+
+ my $server = Win32::OLE->GetActiveObject('Excel.Application');
+
+This fails (returning C<undef>) if no server exists, or if the server
+refuses the connection for some reason. It is also possible to use a
+persistent object moniker (usually a filename) to start the associated
+server and load the object into memory:
+
+ my $doc = Win32::OLE->GetObject("MyDocument.Doc");
+
+=head2 METHOD CALLS
+
+Once you've created one of these server objects, you need to call its
+methods to make the OLE objects sing and dance. OLE methods are
+invoked just like normal Perl object methods:
+
+ $server->Foo(@Arguments);
+
+This is a Perl method call - but it also triggers an OLE method call
+in the object. After your program executes this statement, the
+C<$server> object will execute its Foo() method. The available methods
+are typically documented in the application's I<object model>.
+
+B<Parameters.> By default, all parameters are positional
+(e.g. C<foo($first, $second, $third)>) rather than named (e.g.
+C<< foo(-name => "Yogi", -title => "Coach") >>). The required parameters
+come first, followed by the optional parameters; if you need to
+provide a dummy value for an optional parameter, use undef.
+
+Positional parameters get cumbersome if a method takes a lot of
+them. You can use named arguments instead if you go to a little extra
+trouble - when the last argument is a reference to a hash, the
+key/value pairs of the hash are treated as named parameters:
+
+ $server->Foo($Pos1, $Pos2, {Name1 => $Value1,
+ Name2 => $Value2});
+
+B<Foreign Languages and Default Methods.> Sometimes OLE servers use
+method and property names that are specific to a non-English
+locale. That means they might have non-ASCII characters, which aren't
+allowed in Perl variable names. In German, you might see C<Öffnen> used
+instead of C<Open>. In these cases, you can use the Invoke() method:
+
+ $server->Invoke('Öffnen', @Arguments);
+
+This is necessary because C<< $Server->Öffnen(@Arguments) >> is a syntax
+error in current versions of Perl.
+
+=head2 PROPERTIES
+
+As I said earlier, objects can expose three things to the outside
+world: methods, properties, and events. We've covered methods, and
+Win32::OLE can't handle events. That leaves properties. But as it
+turns out, properties and events are largely interchangeable. Most
+methods have corresponding properties, and vice versa.
+
+An object's properties can be accessed with a hash reference:
+
+ $server->{Bar} = $value;
+ $value = $server->{Bar};
+
+This example sets and queries the value of the property named
+C<Bar>. You could also have called the object's Bar() method to
+achieve the same effect:
+
+ $value = $server->Bar;
+
+However, you can't write the first line as C<< $server->Bar = $value >>,
+because you can't assign to the return value of a method call. In
+Visual Basic, OLE automation distinguishes between assigning the name
+of an object and assigning its value:
+
+ Set Object = OtherObject
+
+ Let Value = Object
+
+The C<Set> statement shown here makes C<Object> refer to the same object as
+C<OtherObject>. The C<Let> statement copies the value instead. (The value of
+an OLE object is what you get when you call the object's default
+method.
+
+In Perl, saying C<< $server1 = $server2 >> always creates another reference,
+just like the C<Set> in Visual Basic. If you want to assign the value
+instead, use the valof() function:
+
+ my $value = valof $server;
+
+This is equivalent to
+
+ my $value = $server->Invoke('');
+
+=head2 SAMPLE APPLICATION
+
+Let's look at how all of this might be used. In Listing: 1 you'll see
+F<T-Bond.pl>, a program that uses Win32::OLE for an almost-real world
+application.
+
+The developer of this application, Mary Lynch, is a financial futures
+broker. Every afternoon, she connects to the Chicago Board of Trade
+(CBoT) web site at http://www.cbot.com and collects the time and sales
+information for U.S. T-bond futures. She wants her program to create a
+chart that depicts the data in 15-minute intervals, and then she wants
+to record the data in a database for later analysis. Then she wants
+her program to send mail to her clients.
+
+Mary's program will use Microsoft Access as a database, Microsoft
+Excel to produce the chart, and Lotus Notes to send the mail. It will
+all be controlled from a single Perl program using OLE automation. In
+this section, we'll go through T-Bond. pl step by step so you can see
+how Win32::OLE lets you control these applications.
+
+=head2 DOWNLOADING A WEB PAGE WITH LWP
+
+However, Mary first needs to amass the raw T-bond data by having her
+Perl program automatically download and parse a web page. That's the
+perfect job for LWP, the libwww-perl bundle available on the CPAN. LWP
+has nothing to do with OLE. But this is a real-world application, and
+it's just what Mary needs to download her data from the Chicago Board
+of Trade.
+
+ use LWP::Simple;
+ my $URL = 'http://www.cbot.com/mplex/quotes/tsfut';
+ my $text = get("$URL/tsf$Contract.htm");
+
+She could also have used the Win32::Internet module:
+
+ use Win32::Internet;
+ my $URL = 'http://www.cbot.com/mplex/quotes/tsfut';
+ my $text = $Win32::Internet->new->FetchURL("$URL/tsf$Contract.htm");
+
+Mary wants to condense the ticker data into 15 minute bars. She's
+interested only in lines that look like this:
+
+ 03/12/1998 US 98Mar 12116 15:28:34 Open
+
+A regular expression can be used to determine whether a line looks
+like this. If it does, the regex can split it up into individual
+fields. The price quoted above, C<12116>, really means 121 16/32, and
+needs to be converted to 121.5. The data is then condensed into 15
+minute intervals and only the first, last, highest, and lowest price
+during each interval are kept. The time series is stored in the array
+C<@Bars>. Each entry in C<@Bars> is a reference to a list of 5 elements:
+Time, Open, High, Low, and Close.
+
+ foreach (split "\n", $text) {
+ # 03/12/1998 US 98Mar 12116 15:28:34 Open
+ my ($Date,$Price,$Hour,$Min,$Sec,$Ind) =
+ m|^\s*(\d+/\d+/\d+) # " 03/12/1998"
+ \s+US\s+\S+\s+(\d+) # " US 98Mar 12116"
+ \s+(\d+):(\d+):(\d+) # " 12:42:40"
+ \s*(.*)$|x; # " Ask"
+ next unless defined $Date;
+ $Day = $Date;
+
+ # Convert from fractional to decimal format
+ $Price = int($Price/100) + ($Price%100)/32;
+
+ # Round up time to next multiple of 15 minutes
+ my $NewTime = int(($Sec+$Min*60+$Hour*3600)/900+1)*900;
+ unless (defined $Time && $NewTime == $Time) {
+ push @Bars, [$hhmm, $Open, $High, $Low, $Close]
+ if defined $Time;
+ $Open = $High = $Low = $Close = undef;
+ $Time = $NewTime;
+ my $Hour = int($Time/3600);
+ $hhmm = sprintf "%02d:%02d", $Hour, $Time/60-$Hour*60;
+ }
+
+ # Update 15 minute bar values
+ $Close = $Price;
+ $Open = $Price unless defined $Open;
+ $High = $Price unless defined $High && $High > $Price;
+ $Low = $Price unless defined $Low && $Low > $Price;
+ }
+
+ die "No data found" unless defined $Time;
+ push @Bars, [$hhmm, $Open, $High, $Low, $Close];
+
+=head2 MICROSOFT ACCESS
+
+Now that Mary has her T-bond quotes, she's ready to use Win32::OLE to
+store them into a Microsoft Access database. This has the advantage
+that she can copy the database to her lap-top and work with it on her
+long New York commute. She's able to create an Access database as
+follows:
+
+ use Win32::ODBC;
+ use Win32::OLE;
+
+ # Include the constants for the Microsoft Access
+ # "Data Access Object".
+
+ use Win32::OLE::Const 'Microsoft DAO';
+
+ my $DSN = 'T-Bonds';
+ my $Driver = 'Microsoft Access Driver (*.mdb)';
+ my $Desc = 'US T-Bond Quotes';
+ my $Dir = 'i:\tmp\tpj';
+ my $File = 'T-Bonds.mdb';
+ my $Fullname = "$Dir\\$File";
+
+ # Remove old database and dataset name
+ unlink $Fullname if -f $Fullname;
+ Win32::ODBC::ConfigDSN(ODBC_REMOVE_DSN, $Driver, "DSN=$DSN")
+ if Win32::ODBC::DataSources($DSN);
+
+ # Create new database
+ my $Access = Win32::OLE->new('Access.Application', 'Quit');
+ my $Workspace = $Access->DBEngine->CreateWorkspace('', 'Admin', '');
+ my $Database = $Workspace->CreateDatabase($Fullname, dbLangGeneral);
+
+ # Add new database name
+ Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, $Driver,
+ "DSN=$DSN", "Description=$Desc", "DBQ=$Fullname",
+ "DEFAULTDIR=$Dir", "UID=", "PWD=");
+
+This uses Win32::ODBC (described in TPJ #9) to remove and create
+F<T-Bonds.mdb>. This lets Mary use the same script on her workstation
+and on her laptop even when the database is stored in different
+locations on each. The program also uses Win32::OLE to make Microsoft
+Access create an empty database.
+
+Every OLE server has some constants that your Perl program will need
+to use, made accessible by the Win32::OLE::Const module. For instance,
+to grab the Excel constants, say C<use Win32::OLE::Const 'Microsoft
+Excel'>.
+
+In the above example, we imported the Data Access Object con-stants
+just so we could use C<dbLangGeneral>.
+
+=head2 MICROSOFT EXCEL
+
+Now Mary uses Win32::OLE a second time, to have Microsoft Excel create
+the chart shown below.
+
+ Figure 1: T-Bond data generated by MicroSoft Excel via Win32::OLE
+
+ # Start Excel and create new workbook with a single sheet
+ use Win32::OLE qw(in valof with);
+ use Win32::OLE::Const 'Microsoft Excel';
+ use Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG);
+
+ my $lgid = MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT);
+ $Win32::OLE::LCID = MAKELCID($lgid);
+
+ $Win32::OLE::Warn = 3;
+
+Here, Mary sets the locale to American English, which lets her do
+things like use American date formats (e.g. C<"12-30-98"> rather than
+C<"30-12-98">) in her program. It will continue to work even when she's
+visiting one of her international customers and has to run this
+program on their computers.
+
+The value of C<$Win32::OLE::Warn> determines what happens when an OLE
+error occurs. If it's 0, the error is ignored. If it's 2, or if it's 1
+and the script is running under C<-w>, the Win32::OLE module invokes
+C<Carp::carp()>. If C<$Win32::OLE::Warn> is set to 3, C<Carp::croak()>
+is invoked and the program dies immediately.
+
+Now the data can be put into an Excel spreadsheet to produce the
+chart. The following section of the program launches Excel and creates
+a new workbook with a single worksheet. It puts the column titles
+('Time', 'Open', 'High', 'Low', and 'Close') in a bold font on the
+first row of the sheet. The first column displays the timestamp in
+I<hh:mm> format; the next four display prices.
+
+ my $Excel = Win32::OLE->new('Excel.Application', 'Quit');
+ $Excel->{SheetsInNewWorkbook} = 1;
+ my $Book = $Excel->Workbooks->Add;
+ my $Sheet = $Book->Worksheets(1);
+ $Sheet->{Name} = 'Candle';
+
+ # Insert column titles
+ my $Range = $Sheet->Range("A1:E1");
+ $Range->{Value} = [qw(Time Open High Low Close)];
+ $Range->Font->{Bold} = 1;
+
+ $Sheet->Columns("A:A")->{NumberFormat} = "h:mm";
+ # Open/High/Low/Close to be displayed in 32nds
+ $Sheet->Columns("B:E")->{NumberFormat} = "# ?/32";
+
+ # Add 15 minute data to spreadsheet
+ print "Add data\n";
+ $Range = $Sheet->Range(sprintf "A2:E%d", 2+$#Bars);
+ $Range->{Value} = \@Bars;
+
+The last statement shows how to pass arrays to OLE objects. The
+Win32::OLE module automatically translates each array reference to a
+C<SAFEARRAY>, the internal OLE array data type. This translation first
+determines the maximum nesting level used by the Perl array, and then
+creates a C<SAFEARRAY> of the same dimension. The C<@Bars> array
+already contains the data in the correct form for the spreadsheet:
+
+ ([Time1, Open1, High1, Low1, Close1],
+ ...
+ [TimeN, OpenN, HighN, LowN, CloseN])
+
+Now the table in the spreadsheet can be used to create a candle stick
+chart from our bars. Excel automatically chooses the time axis labels
+if they are selected before the chart is created:
+
+ # Create candle stick chart as new object on worksheet
+ $Sheet->Range("A:E")->Select;
+
+ my $Chart = $Book->Charts->Add;
+ $Chart->{ChartType} = xlStockOHLC;
+ $Chart->Location(xlLocationAsObject, $Sheet->{Name});
+ # Excel bug: the old $Chart is now invalid!
+ $Chart = $Excel->ActiveChart;
+
+We can change the type of the chart from a separate sheet to a chart
+object on the spreadsheet page with the C<< $Chart->Location >>
+method. (This invalidates the chart object handle, which might be
+considered a bug in Excel.) Fortunately, this new chart is still the
+'active' chart, so an object handle to it can be reclaimed simply by
+asking Excel.
+
+At this point, our chart still needs a title, the legend is
+meaningless, and the axis has decimals instead of fractions. We can
+fix those with the following code:
+
+ # Add title, remove legend
+ with($Chart, HasLegend => 0, HasTitle => 1);
+ $Chart->ChartTitle->Characters->{Text} = "US T-Bond";
+
+ # Set up daily statistics
+ $Open = $Bars[0][1];
+ $High = $Sheet->Evaluate("MAX(C:C)");
+ $Low = $Sheet->Evaluate("MIN(D:D)");
+ $Close = $Bars[$#Bars][4];
+
+The with() function partially mimics the Visual Basic With statement,
+but allows only property assignments. It's a convenient shortcut for
+this:
+
+ { # open new scope
+ my $Axis = $Chart->Axes(xlValue);
+ $Axis->{HasMajorGridlines} = 1;
+ $Axis->{HasMinorGridlines} = 1;
+ # etc ...
+ }
+
+The C<$High> and C<$Low> for the day are needed to determine the
+minimum and maximum scaling levels. MIN and MAX are spreadsheet
+functions, and aren't automatically available as methods. However,
+Excel provides an Evaluate() method to calculate arbitrary spreadsheet
+functions, so we can use that.
+
+We want the chart to show major gridlines at every fourth tick and
+minor gridlines at every second tick. The minimum and maximum are
+chosen to be whatever multiples of 1/16 we need to do that.
+
+ # Change tickmark spacing from decimal to fractional
+ with($Chart->Axes(xlValue),
+ HasMajorGridlines => 1,
+ HasMinorGridlines => 1,
+ MajorUnit => 1/8,
+ MinorUnit => 1/16,
+ MinimumScale => int($Low*16)/16,
+ MaximumScale => int($High*16+1)/16
+ );
+
+ # Fat candles with only 5% gaps
+ $Chart->ChartGroups(1)->{GapWidth} = 5;
+
+ sub RGB { $_[0] | ($_[1] >> 8) | ($_[2] >> 16) }
+
+ # White background with a solid border
+
+ $Chart->PlotArea->Border->{LineStyle} = xlContinuous;
+ $Chart->PlotArea->Border->{Color} = RGB(0,0,0);
+ $Chart->PlotArea->Interior->{Color} = RGB(255,255,255);
+
+ # Add 1 hour moving average of the Close series
+ my $MovAvg = $Chart->SeriesCollection(4)->Trendlines
+ ->Add({Type => xlMovingAvg, Period => 4});
+ $MovAvg->Border->{Color} = RGB(255,0,0);
+
+Now the finished workbook can be saved to disk as
+F<i:\tmp\tpj\data.xls>. That file most likely still exists from when the
+program ran yesterday, so we'll remove it. (Otherwise, Excel would pop
+up a dialog with a warning, because the SaveAs() method doesn't like
+to overwrite files.)
+
+
+ # Save workbook to file my $Filename = 'i:\tmp\tpj\data.xls';
+ unlink $Filename if -f $Filename;
+ $Book->SaveAs($Filename);
+ $Book->Close;
+
+=head2 ACTIVEX DATA OBJECTS
+
+Mary stores the daily prices in her T-bonds database, keeping the data
+for the different contracts in separate tables. After creating an ADO
+(ActiveX Data Object) connection to the database, she tries to connect
+a record set to the table for the current contract. If this fails, she
+assumes that the table doesn't exists yet and tries to create it:
+
+ use Win32::OLE::Const 'Microsoft ActiveX Data Objects';
+
+ my $Connection = Win32::OLE->new('ADODB.Connection');
+ my $Recordset = Win32::OLE->new('ADODB.Recordset');
+ $Connection->Open('T-Bonds');
+
+ # Open a record set for the table of this contract
+ {
+ local $Win32::OLE::Warn = 0;
+ $Recordset->Open($Contract, $Connection, adOpenKeyset,
+ adLockOptimistic, adCmdTable);
+ }
+
+ # Create table and index if it doesn't exist yet
+ if (Win32::OLE->LastError) {
+ $Connection->Execute(<<"SQL");
+ CREATE TABLE $Contract
+ (
+ Day DATETIME,
+ Open DOUBLE, High DOUBLE, Low DOUBLE, Close DOUBLE
+ )
+ SQL
+ $Connection->Execute(<<"SQL");
+ CREATE INDEX $Contract
+ ON $Contract (Day) WITH PRIMARY
+ SQL
+ $Recordset->Open($Contract, $Connection, adOpenKeyset,
+ adLockOptimistic, adCmdTable);
+ }
+
+C<$Win32::OLE::Warn> is temporarily set to zero, so that if
+C<$Recordset->Open> fails, the failure will be recorded silently without
+terminating the program. C<Win32::OLE->LastError> shows whether the Open
+failed or not. C<LastError> returns the OLE error code in a numeric
+context and the OLE error message in a string context, just like
+Perl's C<$!> variable.
+
+Now Mary can add today's data:
+
+ # Add new record to table
+ use Win32::OLE::Variant;
+ $Win32::OLE::Variant::LCID = $Win32::OLE::LCID;
+
+ my $Fields = [qw(Day Open High Low Close)];
+ my $Values = [Variant(VT_DATE, $Day),
+ $Open, $High, $Low, $Close];
+
+Mary uses the Win32::OLE::Variant module to store C<$Day> as a date
+instead of a mere string. She wants to make sure that it's stored as
+an American-style date, so in the third line shown here she sets the
+locale ID of the Win32::OLE::Variant module to match the Win32::OLE
+module. (C<$Win32::OLE::LCID> had been set earlier to English, since
+that's what the Chicago Board of Trade uses.)
+
+ {
+ local $Win32::OLE::Warn = 0;
+ $Recordset->AddNew($Fields, $Values);
+ }
+
+ # Replace existing record
+ if (Win32::OLE->LastError) {
+ $Recordset->CancelUpdate;
+ $Recordset->Close;
+ $Recordset->Open(<<"SQL", $Connection, adOpenDynamic);
+ SELECT * FROM $Contract
+ WHERE Day = #$Day#
+ SQL
+ $Recordset->Update($Fields, $Values);
+ }
+
+ $Recordset->Close;
+ $Connection->Close;
+
+The program expects to be able to add a new record to the table. It
+fails if a record for this date already exists, because the Day field
+is the primary index and therefore must be unique. If an error occurs,
+the update operation started by AddNew() must first be cancelled with
+C<< $Recordset->CancelUpdate >>; otherwise the record set won't close.
+
+=head2 LOTUS NOTES
+
+Now Mary can use Lotus Notes to mail updates to all her customers
+interested in the T-bond data. (Lotus Notes doesn't provide its
+constants in the OLE type library, so Mary had to determine them by
+playing around with LotusScript.) The actual task is quite simple: A
+Notes session must be started, the mail database must be opened and
+the mail message must be created. The body of the message is created
+as a rich text field, which lets her mix formatted text with object
+attachments.
+
+In her program, Mary extracts the email addresses from her customer
+database and sends separate message to each. Here, we've simplified it
+somewhat.
+
+ sub EMBED_ATTACHMENT {1454;} # from LotusScript
+
+ my $Notes = Win32::OLE->new('Notes.NotesSession');
+ my $Database = $Notes->GetDatabase('', '');
+ $Database->OpenMail;
+ my $Document = $Database->CreateDocument;
+
+ $Document->{Form} = 'Memo';
+ $Document->{SendTo} = ['Jon Orwant >orwant@tpj.com>',
+ 'Jan Dubois >jan.dubois@ibm.net>'];
+ $Document->{Subject} = "US T-Bonds Chart for $Day";
+
+ my $Body = $Document->CreateRichtextItem('Body');
+ $Body->AppendText(<<"EOT");
+ I\'ve attached the latest US T-Bond data and chart for $Day.
+ The daily statistics were:
+
+ \tOpen\t$Open
+ \tHigh\t$High
+ \tLow\t$Low
+ \tClose\t$Close
+
+ Kind regards,
+
+ Mary
+ EOT
+
+ $Body->EmbedObject(EMBED_ATTACHMENT, '', $Filename);
+
+ $Document->Send(0);
+
+=head1 VARIANTS
+
+In this final section, I'll talk about Variants, which are the data
+types that you use to talk to OLE objects. We talked about this line
+earlier:
+
+ my $Values = [Variant(VT_DATE, $Day),
+ $Open, $High, $Low, $Close];
+
+Here, the Variant() function creates a Variant object, of type C<VT_DATE>
+and with the value C<$Day>. Variants are similar in many ways to Perl
+scalars. Arguments to OLE methods are transparently converted from
+their internal Perl representation to Variants and back again by the
+Win32::OLE module.
+
+OLE automation uses a generic C<VARIANT> data type to pass
+parameters. This data type contains type information in addition to
+the actual data value. Only the following data types are valid for OLE
+automation:
+
+ B<Data Type Meaning>
+ VT_EMPTY Not specified
+ VT_NULL Null
+ VT_I2 2 byte signed integer
+ VT_I4 4 byte signed integer
+ VT_R4 4 byte real
+ VT_R8 8 byte real
+ VT_CY Currency
+ VT_DATE Date
+ VT_BSTR Unicode string
+ VT_DISPATCH OLE automation interface
+ VT_ERROR Error
+ VT_BOOL Boolean
+ VT_VARIANT (only valid with VT_BYREF)
+ VT_UNKNOWN Generic COM interface
+ VT_UI1 Unsigned character
+
+The following two flags can also be used:
+
+ VT_ARRAY Array of values
+ VT_BYREF Pass by reference (instead of by value)
+
+B<The Perl to Variant transformation.> The following conversions are
+performed automatically whenever a Perl value must be translated into
+a Variant:
+
+ Perl value Variant
+ Integer values VT_I4
+ Real values VT_R8
+ Strings VT_BSTR
+ undef VT_ERROR (DISP_E_PARAMNOTFOUND)
+ Array reference VT_VARIANT | VT_ARRAY
+ Win32::OLE object VT_DISPATCH
+ Win32::OLE::Variant object Type of the Variant object
+
+What if your Perl value is a list of lists? Those can be irregularly
+shaped in Perl; that is, the subsidiary lists needn't have the same
+number of elements. In this case, the structure will be converted to a
+"rectangular" C<SAFEARRAY> of Variants, with unused slots set to
+C<VT_EMPTY>. Consider this Perl 2-D array:
+
+ [ ["Perl" ], # one element
+ [1, 3.1215, undef] # three elements
+ ]
+
+This will be translated to a 2 by 3 C<SAFEARRAY> that looks like this:
+
+ VT_BSTR("Perl") VT_EMPTY VT_EMPTY
+ VT_I4(1) VT_R8(3.1415) VT_ERROR(DISP_E_PARAMNOTFOUND)
+
+B<The Variant To Perl Transformation.> Automatic conversion from Variants
+to Perl values happens as follows:
+
+ Variant Perl value
+ VT_BOOL, VT_ERROR Integer
+ VT_UI1, VT_I2, VT_I4 Integer
+ VT_R4, VT_R8 Float value
+ VT_BSTR String
+ VT_DISPATCH Win32::OLE object
+
+B<The Win32::OLE::Variant module.> This module provides access to the
+Variant data type, which gives you more control over how these
+arguments to OLE methods are encoded. (This is rarely necessary if you
+have a good grasp of the default conversion rules.) A Variant object
+can be created with the C<< Win32::OLE::Variant->new >> method or the
+equivalent Variant() function:
+
+ use Win32::OLE::Variant;
+ my $var1 = Win32::OLE::Variant->new(VT_DATE, 'Jan 1,1970');
+ my $var2 = Variant(VT_BSTR, 'This is an Unicode string');
+
+Several methods let you inspect and manipulate Variant objects: The
+Type() and Value() methods return the variant type and value; the As()
+method returns the value after converting it to a different variant
+type; ChangeType() coerces the Variant into a different type; and
+Unicode() returns the value of a Variant object as an object of the
+Unicode::String class.
+
+These conversions are more interesting if they can be applied directly
+to the return value of an OLE method call without first mutilating the
+value with default conversions. This is possible with the following
+trick:
+
+ my $RetVal = Variant(VT_EMPTY, undef);
+ $Object->Dispatch($Method, $RetVal, @Arguments);
+
+Normally, you wouldn't call Dispatch() directly; it's executed
+implicitly by either AUTOLOAD() or Invoke(). If Dispatch() realizes
+that the return value is already a Win32::OLE::Variant object, the
+return value is not translated into a Perl representation but rather
+copied verbatim into the Variant object.
+
+Whenever a Win32::OLE::Variant object is used in a numeric or string
+context it is automatically converted into the corresponding format.
+
+ printf "Number: %f and String: %s\n",
+ $Var, $Var;
+
+This is equivalent to:
+
+ printf "Number: %f and String: %s\n",
+ $Var->As(VT_R8), $Var->As(VT_BSTR);
+
+For methods that modify their arguments, you need to use the C<VT_BYREF>
+flag. This lets you create number and string Variants that can be
+modified by OLE methods. Here, Corel's GetSize() method takes two
+integers and stores the C<x> and C<y> dimensions in them:
+
+ my $x = Variant( VT_I4 | VT_BYREF, 0);
+ my $y = Variant( VT_I4 | VT_BYREF, 0);
+ $Corel->GetSize($x, $y);
+
+C<VT_BYREF> support for other Variant types might appear in future
+releases of Win32::OLE.
+
+=head1 FURTHER INFORMATION
+
+=head2 DOCUMENTATION AND EXAMPLE CODE
+
+More information about the OLE modules can be found in the
+documentation bundled with Win32::OLE. The distribution also contains
+other code samples.
+
+The object model for Microsoft Office applications can be found in the
+Visual Basic Reference for Microsoft Access, Excel, Word, or
+PowerPoint. These help files are not installed by default, but they
+can be added later by rerunning F<setup.exe> and choosing I<custom
+setup>. The object model for Microsoft Outlook can be found on the
+Microsoft Office Developer Forum at:
+http://www.microsoft.com/OutlookDev/.
+
+Information about the LotusScript object model can be found at:
+http://www.lotus.com/products/lotusscript.nsf.
+
+=head2 OLE AUTOMATION ON OTHER PLATFORMS
+
+Microsoft also makes OLE technology available for the Mac. DCOM is
+already included in Windows NT 4.0 and can be downloaded for Windows
+95. MVS and some Unix systems can use EntireX to get OLE
+functionality; see
+http://www.softwareag.com/corporat/solutions/entirex/entirex.htm.
+
+=head1 COPYRIGHT
+
+Copyright 1998 I<The Perl Journal>. http://www.tpj.com
+
+This article originally appeared in I<The Perl Journal> #10. It
+appears courtesy of Jon Orwant and I<The Perl Journal>. This document
+may be distributed under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm
deleted file mode 100644
index a9d9c8c91f5..00000000000
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm
+++ /dev/null
@@ -1,1005 +0,0 @@
-=head1 NAME
-
-Win32::Process::Info - Provide process information for Windows 32 systems.
-
-=head1 SYNOPSIS
-
- use Win32::Process::Info;
- $pi = Win32::Process::Info->new ();
- $pi->Set (elapsed_in_seconds => 0); # In clunks, not seconds.
- @pids = $pi->ListPids (); # Get all known PIDs
- @info = $pi->GetProcInfo (); # Get the max
- %subs = $pi->Subprocesses (); # Figure out subprocess relationships.
- @info = grep {
- defined $_->{Name} &&
- $_->{Name} =~ m/perl/
- } $pi->GetProcInfo (); # All processes with 'perl' in name.
-
-=head1 NOTICE
-
-This package covers a multitude of sins - as many as Microsoft has
-invented ways to get process info and I have resources and gumption
-to code. The key to this mess is the 'variant' argument to the 'new'
-method (q.v.).
-
-The WMI variant has various problems, known or suspected to be inherited
-from Win32::OLE. See L</BUGS> for the gory details. The worst of these
-is that if you use fork(), you B<must> disallow WMI completely by
-loading this module as follows:
-
- use Win32::Process::Info qw{NT};
-
-This method of controlling things must be considered experimental until
-I can confirm it causes no unexpected insurmountable problems. If I am
-forced to change it, the change will be flagged prominently in the
-documentation.
-
-This change is somewhat incompatible with 1.006 and earlier because it
-requires the import() method to be called in the correct place with the
-correct arguments. If you C<require Win32::Process::Info>, you B<must>
-explicitly call Win32::Process::Info->import().
-
-See the import() documentation below for the details.
-
-B<YOU HAVE BEEN WARNED!>
-
-=head1 DESCRIPTION
-
-The main purpose of the Win32::Process::Info package is to get whatever
-information is convenient (for the author!) about one or more Windows
-32 processes. L</GetProcInfo> is therefore the most-important
-method in the package. See it for more information.
-
-The process IDs made available are those returned by the variant in
-use. See the documentation to the individual variants for details,
-especially if you are a Cygwin user.
-
-Unless explicitly stated otherwise, modules, variables, and so
-on are considered private. That is, the author reserves the right
-to make arbitrary changes in the way they work, without telling
-anyone. For methods, variables, and so on which are considered
-public, the author will make an effort keep them stable, and failing
-that to call attention to changes.
-
-The following methods should be considered public:
-
-=over 4
-
-=cut
-
-package Win32::Process::Info;
-
-use 5.006;
-
-use strict;
-use warnings;
-
-our $VERSION = '1.020';
-
-use Carp;
-use File::Spec;
-use Time::Local;
-
-our %static = (
- elapsed_in_seconds => 1,
- variant => $ENV{PERL_WIN32_PROCESS_INFO_VARIANT},
- );
-
-# The real reason for the %variant_support hash is to deal with
-# the apparant inability of Win32::API to be 'require'-d anywhere
-# but in a BEGIN block. The 'unsupported' key is intended to be
-# used as a 'necessary but not required' criterion; that is, if
-# 'unsupported' is true, there's no reason to bother; but if it's
-# false, there may still be problems of some sort. This is par-
-# ticularly true of WMI, where the full check is rather elephan-
-# tine.
-#
-# The actual 'necessary but not required' check has moved to
-# {check_support}, with {unsupported} simply holding the result of
-# the check. The {check_support} key is code to be executed when
-# the import() hook is called when the module is loaded.
-#
-# While I was at it, I decided to consolidate all the variant-
-# specific information in one spot and, while I was at it, write
-# a variant checker utility.
-
-my %variant_support;
-BEGIN {
- # Cygwin has its own idea of what a process ID is, independent of
- # the underlying operating system. The Cygwin Perl implements this,
- # so if we're Cygwin we need to compensate. This MUST return the
- # Windows-native form under Cygwin, which means any variant which
- # needs another form must override.
-
- if ( $^O eq 'cygwin' ) {
- *My_Pid = sub {
- return Cygwin::pid_to_winpid( $$ );
- };
- } else {
- *My_Pid = sub {
- return $$;
- };
- }
- %variant_support = (
- NT => {
- check_support => sub {
- local $@;
- eval {
- require Win32;
- Win32->can( 'IsWinNT' ) && Win32::IsWinNT();
- } or return "$^O is not a member of the Windows NT family";
- eval { require Win32::API; 1 }
- or return 'I can not find Win32::API';
- my @path = File::Spec->path();
-DLL_LOOP:
- foreach my $dll (qw{PSAPI.DLL ADVAPI32.DLL KERNEL32.DLL}) {
- foreach my $loc (@path) {
- next DLL_LOOP if -e File::Spec->catfile ($loc, $dll);
- }
- return "I can not find $dll";
- }
- return 0;
- },
- make => sub {
- require Win32::Process::Info::NT;
- Win32::Process::Info::NT->new (@_);
- },
- unsupported => "Disallowed on load of @{[__PACKAGE__]}.",
- },
- PT => {
- check_support => sub {
- local $@;
- return "Unable to load Proc::ProcessTable"
- unless eval {require Proc::ProcessTable; 1};
- return 0;
- },
- make => sub {
- require Win32::Process::Info::PT;
- Win32::Process::Info::PT->new (@_);
- },
- unsupported => "Disallowed on load of @{[__PACKAGE__]}.",
- },
- WMI => {
- check_support => sub {
- local $@;
- _isReactOS()
- and return 'Unsupported under ReactOS';
- eval {
- require Win32::OLE;
- 1;
- } or return 'Unable to load Win32::OLE';
- my ( $wmi, $proc );
- my $old_warn = Win32::OLE->Option( 'Warn' );
- eval {
- Win32::OLE->Option( Warn => 0 );
- $wmi = Win32::OLE->GetObject(
- 'winmgmts:{impersonationLevel=impersonate,(Debug)}!//./root/cimv2'
- );
- $wmi and $proc = $wmi->Get(
- sprintf q{Win32_Process='%s'}, __PACKAGE__->My_Pid()
- );
- };
- Win32::OLE->Option( Warn => $old_warn );
- $wmi or return 'Unable to get WMI object';
- $proc or return 'WMI broken: unable to get process object';
- return 0;
- },
- make => sub {
- require Win32::Process::Info::WMI;
- Win32::Process::Info::WMI->new (@_);
- },
- unsupported => "Disallowed on load of @{[__PACKAGE__]}.",
- },
- );
-}
-
-our %mutator = (
- elapsed_in_seconds => sub {$_[2]},
- variant => sub {
- ref $_[0]
- and eval { $_[0]->isa( 'Win32::Process::Info' ) }
- or croak 'Variant can not be set on an instance';
- foreach (split '\W+', $_[2]) {
- my $status;
- $status = variant_support_status( $_ )
- and croak "Variant '$_' unsupported on your configuration; ",
- $status;
- }
- $_[2]
- },
-);
-
-
-=item $pi = Win32::Process::Info->new ([machine], [variant], [hash])
-
-This method instantiates a process information object, connected
-to the given machine, and using the given variant.
-
-The following variants are currently supported:
-
-NT - Uses the NT-native mechanism. Good on any NT, including
-Windows 2000. This variant does not support connecting to
-another machine, so the 'machine' argument must be an
-empty string (or undef, if you prefer).
-
-PT - Uses Dan Urist's Proc::ProcessTable, making it possible
-(paradoxically) to use this module on other operating systems than
-Windows. Only those Proc::ProcessTable::Process fields which seem
-to correspond to WMI items are returned. B<Caveat:> the PT variant
-is to be considered experimental, and may be changed or retracted
-in future releases.
-
-WMI - Uses the Windows Management Implementation. Good on Win2K, ME,
-and possibly others, depending on their vintage and whether
-WMI has been retrofitted.
-
-The initial default variant comes from environment variable
-PERL_WIN32_PROCESS_INFO_VARIANT. If this is not found, it will be
-'WMI,NT,PT', which means to try WMI first, NT if WMI fails, and PT as a
-last resort. This can be changed using Win32::Process::Info->Set
-(variant => whatever).
-
-The hash argument is a hash reference to additional arguments, if
-any. The hash reference can actually appear anywhere in the argument
-list, though positional arguments are illegal after the hash reference.
-
-The following hash keys are supported:
-
- variant => corresponds to the 'variant' argument (all)
- assert_debug_priv => assert debug if available (all) This
- only has effect under WMI. The NT variant always
- asserts debug. You want to be careful doing this
- under WMI if you're fetching the process owner
- information, since the script can be badly behaved
- (i.e. die horribly) for those processes whose
- ExecutablePath is only available with the debug
- privilege turned on.
- host => corresponds to the 'machine' argument (WMI)
- user => username to perform operation under (WMI)
- password => password corresponding to the given
- username (WMI)
-
-ALL hash keys are optional. SOME hash keys are only supported under
-certain variants. These are indicated in parentheses after the
-description of the key. It is an error to specify a key that the
-variant in use does not support.
-
-=cut
-
-my @argnam = qw{host variant};
-sub new {
- my ($class, @params) = @_;
- $class = ref $class if ref $class;
- my %arg;
- my ( $self, @probs );
-
- my $inx = 0;
- foreach my $inp (@params) {
- if (ref $inp eq 'HASH') {
- foreach my $key (keys %$inp) {$arg{$key} = $inp->{$key}}
- } elsif (ref $inp) {
- croak "Argument may not be @{[ref $inp]} reference.";
- } elsif ($argnam[$inx]) {
- $arg{$argnam[$inx]} = $inp;
- } else {
- croak "Too many positional arguments.";
- }
- $inx++;
- }
-
- _import_done()
- or croak __PACKAGE__,
- '->import() must be called before calling ', __PACKAGE__,
- '->new()';
- my $mach = $arg{host} or delete $arg{host};
- my $try = $arg{variant} || $static{variant} || 'WMI,NT,PT';
- foreach my $variant (grep {$_} split '\W+', $try) {
- my $status;
- $status = variant_support_status( $variant ) and do {
- push @probs, $status;
- next;
- };
- my $self;
- $self = $variant_support{$variant}{make}->( \%arg ) and do {
- $static{variant} ||= $self->{variant} = $variant;
- };
- return $self;
- }
- croak join '; ', @probs;
-}
-
-=item @values = $pi->Get (attributes ...)
-
-This method returns the values of the listed attributes. If
-called in scalar context, it returns the value of the first
-attribute specified, or undef if none was. An exception is
-raised if you specify a non-existent attribute.
-
-This method can also be called as a class method (that is, as
-Win32::Process::Info->Get ()) to return default attributes values.
-
-The relevant attribute names are:
-
-B<elapsed_as_seconds> is TRUE to convert elapsed user and
-kernel times to seconds. If FALSE, they are returned in
-clunks (that is, hundreds of nanoseconds). The default is
-TRUE.
-
-B<variant> is the variant of the Process::Info code in use,
-and should be zero or more of 'WMI' or 'NT', separated by
-commas. 'WMI' selects the Windows Management Implementation, and
-'NT' selects the Windows NT native interface.
-
-B<machine> is the name of the machine connected to. This is
-not available as a class attribute.
-
-=cut
-
-sub Get {
-my ($self, @args) = @_;
-$self = \%static unless ref $self;
-my @vals;
-foreach my $name (@args) {
- croak "Error - Attribute '$name' does not exist."
- unless exists $self->{$name};
- croak "Error - Attribute '$name' is private."
- if $name =~ m/^_/;
- push @vals, $self->{$name};
- }
-return wantarray ? @vals : $vals[0];
-}
-
-=item @values = $pi->Set (attribute => value ...)
-
-This method sets the values of the listed attributes,
-returning the values of all attributes listed if called in
-list context, or of the first attribute listed if called
-in scalar context.
-
-This method can also be called as a class method (that is, as
-Win32::Process::Info->Set ()) to change default attribute values.
-
-The relevant attribute names are the same as for Get.
-However:
-
-B<variant> is read-only at the instance level. That is,
-Win32::Process::Info->Set (variant => 'NT') is OK, but
-$pi->Set (variant => 'NT') will raise an exception. If
-you set B<variant> to an empty string (the default), the
-next "new" will iterate over all possibilities (or the
-contents of environment variable
-PERL_WIN32_PROCESS_INFO_VARIANT if present), and set
-B<variant> to the first one that actually works.
-
-B<machine> is not available as a class attribute, and is
-read-only as an instance attribute. It is B<not> useful for
-discovering your machine name - if you instantiated the
-object without specifying a machine name, you will get
-nothing useful back.
-
-=cut
-
-sub Set {
-my ($self, @args) = @_;
-croak "Error - Set requires an even number of arguments."
- if @args % 2;
-$self = \%static unless ref $self;
-my $mutr = $self->{_mutator} || \%mutator;
-my @vals;
-while (@args) {
- my $name = shift @args;
- my $val = shift @args;
- croak "Error - Attribute '$name' does not exist."
- unless exists $self->{$name};
- croak "Error - Attribute '$name' is read-only."
- unless exists $mutr->{$name};
- $self->{$name} = $mutr->{$name}->($self, $name, $val);
- push @vals, $self->{$name};
- }
-return wantarray ? @vals : $vals[0];
-}
-
-=item @pids = $pi->ListPids ();
-
-This method lists all known process IDs in the system. If
-called in scalar context, it returns a reference to the
-list of PIDs. If you pass in a list of pids, the return will
-be the intersection of the argument list and the actual PIDs
-in the system.
-
-=cut
-
-sub ListPids {
- confess
- "Error - Whoever coded this forgot to override ListPids.";
-}
-
-=item @info = $pi->GetProcInfo ();
-
-This method returns a list of anonymous hashes, each containing
-information on one process. If no arguments are passed, the
-list represents all processes in the system. You can pass a
-list of process IDs, and get out a list of the attributes of
-all such processes that actually exist. If you call this
-method in scalar context, you get a reference to the list.
-
-What keys are available depends on the variant in use.
-You can hope to get at least the following keys for a
-"normal" process (i.e. not the idle process, which is PID 0,
-nor the system, which is some small indeterminate PID) to
-which you have access:
-
- CreationDate
- ExecutablePath
- KernelModeTime
- MaximumWorkingSetSize
- MinimumWorkingSetSize
- Name (generally the name of the executable file)
- ProcessId
- UserModeTime
-
-You may find other keys available as well, depending on which
-operating system you're using, and which variant of Process::Info
-you're using.
-
-This method also optionally takes as its first argument a reference
-to a hash of option values. The only supported key is:
-
- no_user_info => 1
- Do not return keys Owner and OwnerSid, even if available.
- These tend to be time-consuming, and can cause problems
- under the WMI variant.
-
-=cut
-
-sub GetProcInfo {
- confess
- "Programming Error - Whoever coded this forgot to override GetProcInfo.";
-}
-
-=item Win32::Process::Info->import ()
-
-The purpose of this static method is to specify which variants of the
-functionality are legal to use. Possible arguments are 'NT', 'WMI',
-'PT', or some combination of these (e.g. ('NT', 'WMI')). Unrecognized
-arguments are ignored, though this may change if this class becomes a
-subclass of Exporter. If called with no arguments, it is as though it
-were called with arguments ('NT', 'WMI', 'PT'). See L</BUGS>, below, for
-why this mess was introduced in the first place.
-
-This method must be called at least once, B<in a BEGIN block>, or B<no>
-variants will be legal to use. Usually it does B<not> need to be
-explicitly called by the user, since it is called implicitly when you
-C<use Win32::Process::Info;>. If you C<require Win32::Process::Info;>
-you B<will> have to call this method explicitly.
-
-If this method is called more than once, the second and subsequent calls
-will have no effect on what variants are available. The reason for this
-will be made clear (I hope!) under L</USE IN OTHER MODULES>, below.
-
-The only time a user of this module needs to do anything different
-versus version 1.006 and previous of this module is if this module is
-being loaded in such a way that this method is not implicitly called.
-This can happen two ways:
-
- use Win32::Process::Info ();
-
-explicitly bypasses the implicit call of this method. Don't do that.
-
- require Win32::Process::Info;
-
-also does not call this method. If you must load this module using
-require rather than use, follow the require with
-
- Win32::Process::Info->import ();
-
-passing any necessary arguments.
-
-=cut
-
-{ # Begin local symbol block.
-
- my $idempotent;
-
- sub import { ## no critic (RequireArgUnpacking)
- my ($pkg, @params) = @_;
- my (@args, @vars);
- foreach (@params) {
- if (exists $variant_support{$_}) {
- push @vars, $_;
- } else {
- push @args, $_;
- }
- }
-
- if ($idempotent++) {
- # Warning here maybe?
- } else {
- @vars or push @vars, keys %variant_support;
- foreach my $try (@vars) {
- $variant_support{$try} or next;
- $variant_support{$try}{unsupported} = eval {
- $variant_support{$try}{check_support}->()} || $@;
- }
- }
-
- return;
-
-# Do this if we become a subclass of Exporter
-# @_ = ( $pkg, @args );
-# goto &Exporter::import;;
- }
-
- # Return the number of times import() done.
- sub _import_done {
- return $idempotent;
- }
-
-} # End local symbol block.
-
-
-{
- my $is_reactos = $^O eq 'MSWin32' &&
- defined $ENV{OS} && lc $ENV{OS} eq 'reactos';
- sub _isReactOS {
- return $is_reactos;
- }
-}
-
-
-=item %subs = $pi->Subprocesses ([pid ...])
-
-This method takes as its argument a list of PIDs, and returns a hash
-indexed by PID and containing, for each PID, a reference to a list of
-all subprocesses of that process. If those processes have subprocesses
-as well, you will get the sub-sub processes, and so ad infinitum, so
-you may well get back more hash keys than you passed process IDs. Note
-that the process of finding the sub-sub processes is iterative, not
-recursive; so you don't get back a tree.
-
-If no argument is passed, you get all processes in the system.
-
-If called in scalar context you get a reference to the hash.
-
-This method works off the ParentProcessId attribute. Not all variants
-support this. If the variant you're using doesn't support this
-attribute, you get back an empty hash. Specifically:
-
- NT -> unsupported
- PT -> supported
- WMI -> supported
-
-=cut
-
-sub Subprocesses {
-my ($self, @args) = @_;
-my %prox = map {($_->{ProcessId} => $_)}
- @{$self->GetProcInfo ({no_user_info => 1})};
-my %subs;
-my $rslt = \%subs;
-my $key_found;
-foreach my $proc (values %prox) {
- $subs{$proc->{ProcessId}} ||= [];
- # TRW 1.011_01 next unless $proc->{ParentProcessId};
- defined (my $pop = $proc->{ParentProcessId}) or next; # TRW 1.011_01
- $key_found++;
- # TRW 1.011_01 next unless $prox{$proc->{ParentProcessId}};
- $prox{$pop} or next; # TRW 1.011_01
-# TRW 1.012_02 $proc->{CreationDate} >= $prox{$pop}{CreationDate} or next; # TRW 1.011_01
- (defined($proc->{CreationDate}) &&
- defined($prox{$pop}{CreationDate}) &&
- $proc->{CreationDate} >= $prox{$pop}{CreationDate})
- or next; # TRW 1.012_02
- # TRW 1.011_01 push @{$subs{$proc->{ParentProcessId}}}, $proc->{ProcessId};
- push @{$subs{$pop}}, $proc->{ProcessId};
- }
-my %listed;
-return %listed unless $key_found;
-if (@args) {
- $rslt = \%listed;
- while (@args) {
- my $pid = shift @args;
- next unless $subs{$pid}; # TRW 1.006
- next if $listed{$pid};
- $listed{$pid} = $subs{$pid};
- push @args, @{$subs{$pid}};
- }
- }
-return wantarray ? %$rslt : $rslt;
-}
-
-=item @info = $pi->SubProcInfo ();
-
-This is a convenience method which wraps GetProcInfo(). It has the same
-calling sequence, and returns generally the same data. But the data
-returned by this method will also have the {subProcesses} key, which
-will contain a reference to an array of hash references representing the
-data on subprocesses of each process.
-
-Unlike the data returned from Subprocesses(), the data here are not
-flattened; so if you specify one or more process IDs as arguments, you
-will get back at most the number of process IDs you specified; fewer if
-some of the specified processes do not exist.
-
-B<Note well> that a given process can occur more than once in the
-output. If you call SubProcInfo without arguments, the @info array will
-contain every process in the system, even those which are also in some
-other process' {subProcesses} array.
-
-Also unlike Subprocesses(), you will get an exception if you use this
-method with a variant that does not support the ParentProcessId key.
-
-=cut
-
-sub SubProcInfo {
- my ($self, @args) = @_;
- my $opt = ref $args[0] eq 'HASH' ? shift @args : {};
- my @data = $self->GetProcInfo ($opt);
- my %subs = map {$_->{ProcessId} => $_} @data;
- my $bingo;
- foreach my $proc (@data) {
- exists $proc->{ParentProcessId} or next;
- $proc->{subProcesses} ||= [];
- $bingo++;
- defined (my $dad = $subs{$proc->{ParentProcessId}}) or next;
- (defined $dad->{CreationDate} && defined $proc->{CreationDate})
- or next;
- $dad->{CreationDate} > $proc->{CreationDate} and next;
- push @{$dad->{subProcesses} ||= []}, $proc;
- }
- $bingo or croak "Error - Variant '@{[$self->Get('variant')
- ]}' does not support the ParentProcessId key";
- if (@args) {
- return (map {exists $subs{$_} ? $subs{$_} : ()} @args);
- } else {
- return @data;
- }
-}
-
-=item $pid = $pi->My_Pid()
-
-This convenience method returns the process ID of the current process,
-in a form appropriate to the operating system and the variant in use.
-Normally, it simply returns C<$$>. But Cygwin has its own idea of what
-the process ID is, which may differ from Windows. Worse than that, under
-Cygwin the NT and WMI variants return Windows PIDs, while PT appears to
-return Cygwin PIDs.
-
-=cut
-
-# This is defined above, trickily, as an assignment to *My_Pid, so we
-# don't have to test $^O every time. It's above because code in a BEGIN
-# block needs it.
-
-=item $text = Win32::Process::Info->variant_support_status($variant);
-
-This static method returns the support status of the given variant. The
-return is false if the variant is supported, or an appropriate message
-if the variant is unsupported.
-
-This method can also be called as a normal method, or even as a
-subroutine.
-
-=cut
-
-sub variant_support_status {
- my @args = @_;
- my $variant = pop @args or croak "Variant not specified";
- exists $variant_support{$variant}
- or croak "Variant '$variant' is unknown";
- _import_done()
- or croak __PACKAGE__,
- '->import() must be called before calling ', __PACKAGE__,
- '->variant_support_status()';
- return $variant_support{$variant}{unsupported};
-}
-
-=item print "$pi Version = @{[$pi->Version ()]}\n"
-
-This method just returns the version number of the
-Win32::Process::Info object.
-
-=cut
-
-sub Version {
-return $Win32::Process::Info::VERSION;
-}
-
-#
-# $self->_build_hash ([hashref], key, value ...)
-# builds a process info hash out of the given keys and values.
-# The keys are assumed to be the WMI keys, and will be trans-
-# formed if needed. The values will also be transformed if
-# needed. The resulting hash entries will be placed into the
-# given hash if one is present, or into a new hash if not.
-# Either way, the hash is returned.
-
-sub _build_hash {
-my ($self, $hash, @args) = @_;
-$hash ||= {};
-while (@args) {
- my $key = shift @args;
- my $val = shift @args;
- $val = $self->{_xfrm}{$key}->($self, $val)
- if (exists $self->{_xfrm}{$key});
- $hash->{$key} = $val;
- }
-return $hash;
-}
-
-
-# $self->_clunks_to_desired (clunks ...)
-# converts elapsed times in clunks to elapsed times in
-# seconds, PROVIDED $self->{elapsed_in_seconds} is TRUE.
-# Otherwise it simply returns its arguments unmodified.
-
-sub _clunks_to_desired {
-my $self = shift;
-@_ = map {defined $_ ? $_ / 10_000_000 : undef} @_ if $self->{elapsed_in_seconds};
-return wantarray ? @_ : $_[0];
-}
-
-# $self->_date_to_time_t (date ...)
-# converts the input dates (assumed YYYYmmddhhMMss) to
-# Perl internal time, returning the results. The "self"
-# argument is unused.
-
-
-sub _date_to_time_t {
-my ($self, @args) = @_;
-my @result;
-local $^W = 0; # Prevent Time::Local 1.1 from complaining. This appears
- # to be fixed in 1.11, but since Time::Local is part of
- # the ActivePerl core, there's no PPM installer for it.
- # At least, not that I can find.
-foreach (@args) {
- if ($_) {
- my ($yr, $mo, $da, $hr, $mi, $sc) = m/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/;
- --$mo;
- my $val = timelocal ($sc, $mi, $hr, $da, $mo, $yr);
- push @result, $val;
- }
- else {
- push @result, undef;
- }
- }
-return @result if wantarray;
-return $result[0];
-}
-
-1;
-__END__
-
-=back
-
-=head1 USE IN OTHER MODULES
-
-Other modules that use this module are also subject to the effects of
-the collision between Win32::OLE and the emulated fork call, and to the
-requirements of the import() method. I will not address subclassing,
-since I am not sure how well this module subclasses (the variants are
-implemented as subclasses of this module).
-
-Modules that simply make use of this module (the 'has-a' relationship)
-should work as before, B<provided> they 'use Win32::Process::Info'. Note
-that the phrase 'as before' is literal, and means (among other things),
-that you can't use the emulated fork.
-
-If you as the author of a module that uses Win32::Process::Info wish to
-allow emulated forks, you have a number of options.
-
-The easiest way to go is
-
- use Win32::Process::Info qw{NT};
-
-if this provides enough information for your module.
-
-If you would prefer the extra information provided by WMI but can
-operate in a degraded mode if needed, you can do something like
-
- use Win32::Process::Info ();
-
- sub import {
- my $pkg = shift;
- $pkg->SUPER::import (@_); # Optional (see below)
- Win32::Process::Info->import (@_);
- }
-
-The call to $pkg->SUPER::import is needed only if your package is a
-subclass of Exporter.
-
-Note to users of modules that require this module:
-
-If the above 'rules' are violated, the symptoms will be either that you
-cannot instantiate an object (because there are no legal variants) or
-that you cannot use fork (because the WMI variant was enabled by
-default). The workaround for you is to
-
- use Win32::Process::Info;
-
-before you 'use' the problematic module. If the problem is coexistence
-with fork, you will of course need to
-
- use Win32::Process::Info qw{NT};
-
-This is why only the first import() sets the possible variants.
-
-=head1 ENVIRONMENT
-
-This package is sensitive to a number of environment variables.
-Note that these are normally consulted only when the package
-is initialized (i.e. when it's "used" or "required").
-
-PERL_WIN32_PROCESS_INFO_VARIANT
-
-If present, specifies which variant(s) are tried, in which
-order. The default behavior is equivalent to specifying
-'WMI,NT'. This environment variable is consulted when you
-"use Win32::Process::Info;". If you want to change it in
-your Perl code you should use the static Set () method.
-
-PERL_WIN32_PROCESS_INFO_WMI_DEBUG
-
-If present and containing a value Perl recognizes as true,
-causes the WMI variant to assert the "Debug" privilege.
-This has the advantage of returning more full paths, but
-the disadvantage of tending to cause Perl to die when
-trying to get the owner information on the newly-accessible
-processes.
-
-PERL_WIN32_PROCESS_INFO_WMI_PARIAH
-
-If present, should contain a semicolon-delimited list of process names
-for which the package should not attempt to get owner information. '*'
-is a special case meaning 'all'. You will probably need to use this if
-you assert PERL_WIN32_PROCESS_INFO_WMI_DEBUG.
-
-=head1 REQUIREMENTS
-
-It should be obvious that this library must run under some
-flavor of Windows.
-
-This library uses the following libraries:
-
- Carp
- Time::Local
- Proc::ProcessTable (if using the PT variant)
- Win32::API (if using the NT-native variant)
- Win32API::Registry (if using the NT-native variant)
- Win32::ODBC (if using the WMI variant)
-
-As of ActivePerl 630, none of this uses any packages that are not
-included with ActivePerl. Carp and Time::Local have been in the core
-since at least 5.004. Your mileage may, of course, vary.
-
-=head1 BUGS
-
-The WMI variant leaks memory - badly for 1.001 and earlier. After
-1.001 it only leaks badly if you retrieve the process owner
-information. If you're trying to write a daemon, the NT variant
-is recommended. If you're stuck with WMI, set the no_user_info flag
-when you call GetProcInfo. This won't stop the leaks, but it minimizes
-them, at the cost of not returning the username or SID.
-
-If you intend to use fork (), your script will die horribly unless you
-load this module as
-
- use Win32::Process::Info qw{NT};
-
-The problem is that fork() and Win32::OLE (used by the WMI variant) do
-not play B<at all> nicely together. This appears to be an acknowledged
-problem with Win32::OLE, which is brought on simply by loading the
-module. See import() above for the gory details.
-
-The use of the NT and WMI variants under non-Microsoft systems is
-unsupported. ReactOS 0.3.3 is known to lock up when GetProcInfo() is
-called; since this works on the Microsoft OSes, I am inclined to
-attribute this to the acknowledged alpha-ness of ReactOS. I have no idea
-what happens under Wine. B<Caveat user.>
-
-Bugs can be reported to the author by mail, or through
-L<http://rt.cpan.org>.
-
-=head1 RESTRICTIONS
-
-You can not C<require> this module except in a BEGIN block. This is a
-consequence of the use of Win32::API, which has the same restriction, at
-least in some versions.
-
-If you C<require> this module, you B<must> explicitly call C<<
-Win32::Process::Info->import() >>, so that the module will know what
-variants are available.
-
-If your code calls fork (), you must load this module as
-
- use Win32::Process::Info qw{NT};
-
-This renders the WMI variant unavailable. See L</BUGS>.
-
-=head1 RELATED MODULES
-
-Win32::Process::Info focuses on returning static data about a process.
-If this module doesn't do what you want, maybe one of the following
-ones will.
-
-=over 4
-
-=item Proc::ProcessTable by Dan Urist
-
-This module does not as of this writing support Windows, though there
-is a minimal Cygwin version that might serve as a starting point. The
-'PT' variant makes use of this module.
-
-=item Win32::PerfLib by Jutta M. Klebe
-
-This module focuses on performance counters. It is a ".xs" module,
-and requires Visual C++ 6.0 to install. But it's also part of LibWin32,
-and should come with ActivePerl.
-
-=item Win32::IProc by Amine Moulay Ramdane
-
-This module is no longer supported, which is a shame because it returns
-per-thread information as well. As of December 27, 2004, Jenda Krynicky
-(F<http://jenda.krynicky.cz/>) was hosting a PPM kit in PPM repository
-F<http://jenda.krynicky.cz/perl/>, which may be usable. But the source
-for the DLL files is missing, so if some Windows upgrade breaks it
-you're out of luck.
-
-=item Win32API::ProcessStatus, by Ferdinand Prantl
-
-This module focuses on the .exe and .dll files used by the process. It
-is a ".xs" module, requiring Visual C++ 6.0 and psapi.h to install.
-
-=item pulist
-
-This is not a Perl module, it's an executable that comes with the NT
-resource kit.
-
-=back
-
-=head1 ACKNOWLEDGMENTS
-
-This module would not exist without the following people:
-
-Aldo Calpini, who gave us Win32::API.
-
-Jenda Krynicky, whose "How2 create a PPM distribution"
-(F<http://jenda.krynicky.cz/perl/PPM.html>) gave me a leg up on
-both PPM and tar distributions.
-
-Dave Roth, F<http://www.roth.net/perl/>, author of
-B<Win32 Perl Programming: Administrators Handbook>, which is
-published by Macmillan Technical Publishing, ISBN 1-57870-215-1
-
-Dan Sugalski F<sugalskd@osshe.edu>, author of VMS::Process, where
-I got (for good or ill) the idea of just grabbing all the data
-I could find on a process and smashing it into a big hash.
-
-The folks of Cygwin (F<http://www.cygwin.com/>), especially Christopher
-G. Faylor, author of ps.cc.
-
-Judy Hawkins of Pitney Bowes, for providing testing and patches for
-NT 4.0 without WMI.
-
-=head1 AUTHOR
-
-Thomas R. Wyant, III (F<wyant at cpan dot org>)
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2001-2005 by E. I. DuPont de Nemours and Company, Inc. All
-rights reserved.
-
-Copyright (C) 2007-2011, 2013 by Thomas R. Wyant, III
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl 5.10.0. For more details, see the full text
-of the licenses in the directory LICENSES.
-
-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.
-
-=cut
-
-# ex: set textwidth=72 :
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm
deleted file mode 100644
index 26dd7ccba6e..00000000000
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm
+++ /dev/null
@@ -1,865 +0,0 @@
-=head1 NAME
-
-Win32::Process::Info::NT - Provide process information via NT-native calls.
-
-=head1 SYNOPSIS
-
-
-This package fetches process information on a given Windows
-machine, using Microsoft Windows NT's native process
-information calls.
-
- use Win32::Process::Info
- $pi = Win32::Process::Info->new (undef, 'NT');
- $pi->Set (elapsed_as_seconds => 0); # In clunks, not seconds.
- @pids = $pi->ListPids (); # Get all known PIDs
- @info = $pi->GetProcInfo (); # Get the max
-
-CAVEAT USER:
-
-This package does not support access to a remote machine,
-because the underlying API doesn't. If you specify a machine
-name (other than '', 0, or undef) when you instantiate a
-new Win32::Process::Info::NT object, you will get an exception.
-
-This package is B<not> intended to be used independently;
-instead, it is a subclass of Win32::Process::Info, and should
-only be called via that package.
-
-=head1 DESCRIPTION
-
-The main purpose of the Win32::Process::Info::NT package is to get whatever
-information is convenient (for the author!) about one or more Windows
-32 processes. GetProcInfo (which see) is therefore the most-important
-subroutine in the package. See it for more information.
-
-This package returns Windows process IDs, even under Cygwin.
-
-Unless explicitly stated otherwise, modules, variables, and so
-on are considered private. That is, the author reserves the right
-to make arbitrary changes in the way they work, without telling
-anyone. For subroutines, variables, and so on which are considered
-public, the author will make an effort keep them stable, and failing
-that to call attention to changes.
-
-Nothing is exported by default, though all the public subroutines are
-exportable, either by name or by using the :all tag.
-
-The following subroutines should be considered public:
-
-=over 4
-
-=cut
-
-
-package Win32::Process::Info::NT;
-
-use 5.006;
-
-use strict;
-use warnings;
-
-# The purpose of this is to provide a dummy Call
-# method for those cases where we might not be able
-# to map a subroutine.
-
-sub Win32::Process::Info::DummyRoutine::new {
-my $class = shift;
-$class = ref $class if ref $class;
-my $self = {};
-bless $self, $class;
-return $self;
-}
-
-sub Win32::Process::Info::DummyRoutine::Call {
-return undef; ## no critic (ProhibitExplicitReturnUndef)
-}
-
-use base qw{ Win32::Process::Info };
-
-our $VERSION = '1.020';
-
-our $AdjustTokenPrivileges;
-our $CloseHandle;
-our $elapsed_in_seconds;
-our $EnumProcesses;
-our $EnumProcessModules;
-our $FileTimeToSystemTime;
-our $GetCurrentProcess;
-our $GetModuleFileNameEx;
-our $GetPriorityClass;
-our $GetProcessAffinityMask;
-our $GetProcessIoCounters;
-our $GetProcessWorkingSetSize;
-our $GetProcessTimes;
-our $GetProcessVersion;
-our $GetTokenInformation;
-our $LookupAccountSid;
-our $LookupPrivilegeValue;
-our $OpenProcess;
-our $OpenProcessToken;
-
-our $GetSidIdentifierAuthority;
-our $GetSidSubAuthority;
-our $GetSidSubAuthorityCount;
-our $IsValidSid;
-
-use Carp;
-use File::Basename;
-use Win32;
-use Win32::API;
-
-use constant TokenUser => 1; # PER MSDN
-use constant TokenOwner => 4;
-
-my $setpriv;
-eval {
- require Win32API::Registry and
- $setpriv = sub {
- Win32API::Registry::AllowPriv (
- Win32API::Registry::SE_DEBUG_NAME (), 1)
- };
- };
-$setpriv ||= sub {};
-##0.013 use Win32API::Registry qw{:Func :SE_};
-
-
-my %_transform = (
- CreationDate => \&Win32::Process::Info::_date_to_time_t,
- KernelModeTime => \&Win32::Process::Info::_clunks_to_desired,
- UserModeTime => \&Win32::Process::Info::_clunks_to_desired,
- );
-
-sub _map {
-return Win32::API->new (@_) ||
- croak "Error - Failed to map $_[1] from $_[0]: $^E";
-}
-
-sub _map_opt {
-return Win32::API->new (@_) ||
- Win32::Process::Info::DummyRoutine->new ();
-}
-
-my %lglarg = map {($_, 1)} qw{assert_debug_priv variant};
-
-sub new {
-my $class = shift;
-$class = ref $class if ref $class;
-croak "Error - Win32::Process::Info::NT is unsupported under this flavor of Windows."
- unless Win32::IsWinNT ();
-my $arg = shift;
-if (ref $arg eq 'HASH') {
- my @ilg = grep {!$lglarg{$_}} keys %$arg;
- @ilg and
- croak "Error - Win32::Process::Info::NT argument(s) (@ilg) illegal";
- }
- else {
- croak "Error - Win32::Process::Info::NT does not support remote operation."
- if $arg;
- }
-my $self = {%Win32::Process::Info::static};
-delete $self->{variant};
-$self->{_xfrm} = \%_transform;
-bless $self, $class;
-# We want to fail silently, since that's probably better than nothing.
-##0.013 AllowPriv (SE_DEBUG_NAME, 1)
-$setpriv->() if $setpriv; ##0.013 ##1.005
-$setpriv = undef; ##1.005
-## or croak "Error - Failed to (try to) assert privilege @{[
-## SE_DEBUG_NAME]}; $^E"
- ;
-return $self;
-}
-
-
-=item @info = $pi->GetProcInfo ();
-
-This method returns a list of anonymous hashes, each containing
-information on one process. If no arguments are passed, the
-list represents all processes in the system. You can pass a
-list of process IDs, and get out a list of the attributes of
-all such processes that actually exist. If you call this
-method in scalar context, you get a reference to the list.
-
-What keys are available depend on the variant in use. With the NT
-variant you can hope to get at least the following keys for a "normal"
-process (i.e. not the idle process, which is PID 0, nor the system,
-which is _usually_ PID 8) to which you have access:
-
- CreationDate
- ExecutablePath
- KernelModeTime
- MaximumWorkingSetSize
- MinimumWorkingSetSize
- Name (generally the name of the executable file)
- OtherOperationCount
- OtherTransferCount (= number of bytes transferred)
- ProcessId
- ReadOperationCount
- ReadTransferCount (= number of bytes read)
- UserModeTime
- WriteOperationCount
- WriteTransferCount (= number of bytes read)
-
-All returns are Perl scalars. The I/O statistic keys represent counts
-if named *OperationCount, or bytes if named *TransferCount.
-
-Note that:
-
-- The I/O statistic keys will only be present on Windows 2000.
-
-- The MinimumWorkingSetSize and MaximumWorkingSetSize keys have
-no apparent relationship to the amount of memory actually
-consumed by the process.
-
-The output will contain all processes for which information was
-requested, but will not necessarily contain all information for
-all processes.
-
-The _status key of the process hash contains the status of
-GetProcInfo's request(s) for information. If all information is
-present, the status element of the hash will be zero. If there
-was any problem getting any of the information, the _status element
-will contain the Windows error code ($^E + 0, to be precise). You
-might want to look at it - or not count on the hashes being fully
-populated (or both!).
-
-Note that GetProcInfo is not, at the moment, able to duplicate the
-information returned by the resource kit tool pulist.exe. And it may
-never do so. Pulist.exe relies on the so-called internal APIs, which
-for NT are found in ntdll.dll, which may not be linked against.
-Pulist.exe gets around this by loading it at run time, and calling
-NtQuerySystemInformation. The required constants and structure
-definitions are in Winternl.h, which doesn't come with VCC. The caveat
-at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
-devnotes/winprog/calling_internal_apis.asp claims that they reserve
-the right to change this without notice, so I hesitate to program
-against it. Sorry. I guess the real purpose of this paragraph is to
-say that I _did_ try.
-
-=cut
-
-
-# The following manifest constants are from windef.h
-
-use constant MAX_PATH => 260;
-
-
-# The following manifest constants are from winerror.h
-
-use constant ERROR_ACCESS_DENIED => 5;
-
-
-# The following manifest constants are from winnt.h
-
-use constant READ_CONTROL => 0x00020000;
-use constant SYNCHRONIZE => 0x00100000;
-use constant STANDARD_RIGHTS_REQUIRED => 0x000F0000;
-use constant STANDARD_RIGHTS_READ => READ_CONTROL;
-use constant STANDARD_RIGHTS_WRITE => READ_CONTROL;
-use constant STANDARD_RIGHTS_EXECUTE => READ_CONTROL;
-
-use constant PROCESS_TERMINATE => 0x0001;
-use constant PROCESS_CREATE_THREAD => 0x0002;
-use constant PROCESS_VM_OPERATION => 0x0008;
-use constant PROCESS_VM_READ => 0x0010;
-use constant PROCESS_VM_WRITE => 0x0020;
-use constant PROCESS_DUP_HANDLE => 0x0040;
-use constant PROCESS_CREATE_PROCESS => 0x0080;
-use constant PROCESS_SET_QUOTA => 0x0100;
-use constant PROCESS_SET_INFORMATION => 0x0200;
-use constant PROCESS_QUERY_INFORMATION => 0x0400;
-use constant PROCESS_ALL_ACCESS => STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE |
- 0xFFF;
-
-use constant SID_REVISION => 1; # Current revision level
-use constant SID_MAX_SUB_AUTHORITIES => 15;
-
-use constant TOKEN_ASSIGN_PRIMARY => 0x0001;
-use constant TOKEN_DUPLICATE => 0x0002;
-use constant TOKEN_IMPERSONATE => 0x0004;
-use constant TOKEN_QUERY => 0x0008;
-use constant TOKEN_QUERY_SOURCE => 0x0010;
-use constant TOKEN_ADJUST_PRIVILEGES => 0x0020;
-use constant TOKEN_ADJUST_GROUPS => 0x0040;
-use constant TOKEN_ADJUST_DEFAULT => 0x0080;
-use constant TOKEN_ADJUST_SESSIONID => 0x0100;
-
-use constant TOKEN_ALL_ACCESS => STANDARD_RIGHTS_REQUIRED |
- TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE |
- TOKEN_IMPERSONATE | TOKEN_QUERY |
- TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES |
- TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_SESSIONID |
- TOKEN_ADJUST_DEFAULT;
-
-
-use constant TOKEN_READ => STANDARD_RIGHTS_READ | TOKEN_QUERY;
-
-
-use constant TOKEN_WRITE => STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES |
- TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT;
-
-use constant TOKEN_EXECUTE => STANDARD_RIGHTS_EXECUTE;
-
-
-# Crib notes:
-# MS type Perl type
-# Handle N
-# Bool I
-# DWord I
-# Pointer P
-
-sub GetProcInfo {
-my ( $self, @args ) = @_;
-my $opt = ref $args[0] eq 'HASH' ? shift @args : {};
-
-$CloseHandle ||= _map ('KERNEL32', 'CloseHandle', [qw{N}], 'V');
-$GetModuleFileNameEx ||=
- _map ('PSAPI', 'GetModuleFileNameEx', [qw{N N P N}], 'I');
-$GetPriorityClass ||=
- _map ('KERNEL32', 'GetPriorityClass', [qw{N}], 'I');
-$GetProcessAffinityMask ||=
- _map ('KERNEL32', 'GetProcessAffinityMask', [qw{N P P}], 'I');
-$GetProcessIoCounters ||=
- _map_opt ('KERNEL32', 'GetProcessIoCounters', [qw{N P}], 'I');
-$GetProcessTimes ||=
- _map ('KERNEL32', 'GetProcessTimes', [qw{N P P P P}], 'I');
-$GetProcessWorkingSetSize ||=
- _map ('KERNEL32', 'GetProcessWorkingSetSize', [qw{N P P}], 'I');
-$GetTokenInformation ||=
- _map ('ADVAPI32', 'GetTokenInformation', [qw{N N P N P}], 'I');
-$LookupAccountSid ||=
- _map ('ADVAPI32', 'LookupAccountSid', [qw{P P P P P P P}], 'I');
-$OpenProcess ||= _map ('KERNEL32', 'OpenProcess', [qw{N I N}], 'N');
-$OpenProcessToken ||=
- _map ('ADVAPI32', 'OpenProcessToken', [qw{N N P}], 'I');
-$EnumProcessModules ||=
- _map ('PSAPI', 'EnumProcessModules', [qw{N P N P}], 'I');
-
-
-my $dac = PROCESS_QUERY_INFORMATION | PROCESS_VM_READ;
-my $tac = TOKEN_READ;
-
-@args or @args = ListPids ($self);
-
-my @pinf;
-
-my $dat;
-my $my_pid = $self->My_Pid();
-my %sid_to_name;
-my @trydac = (
- PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
- PROCESS_QUERY_INFORMATION,
- );
-
-foreach my $pid (map {$_ eq '.' ? $my_pid : $_} @args) {
-
- local $^E = 0;
- $dat = $self->_build_hash (undef, ProcessId => $pid);
- $self->_build_hash ($dat, Name => 'System Idle Process')
- unless $pid;
-
- push @pinf, $dat;
-
- my $prchdl;
- foreach my $dac (@trydac) {
- $prchdl = $OpenProcess->Call ($dac, 0, $pid) and last;
- }
- next unless $prchdl;
-
- my ($cretim, $exttim, $knltim, $usrtim);
- $cretim = $exttim = $knltim = $usrtim = ' ' x 8;
- if ($GetProcessTimes->Call ($prchdl, $cretim, $exttim, $knltim, $usrtim)) {
- my $time = _to_char_date ($cretim);
- $self->_build_hash ($dat, CreationDate => $time) if $time;
- $self->_build_hash ($dat,
- KernelModeTime => _ll_to_bigint ($knltim),
- UserModeTime => _ll_to_bigint ($usrtim));
- }
-
- my ($minws, $maxws);
- $minws = $maxws = ' ';
- if ($GetProcessWorkingSetSize->Call ($prchdl, $minws, $maxws)) {
- $self->_build_hash ($dat,
- MinimumWorkingSetSize => unpack ('L', $minws),
- MaximumWorkingSetSize => unpack ('L', $maxws));
- }
-
- my $procio = ' ' x 6; # structure is 6 longlongs.
- if ($GetProcessIoCounters->Call ($prchdl, $procio)) {
- my ($ro, $wo, $oo, $rb, $wb, $ob) = _ll_to_bigint ($procio);
- $self->_build_hash ($dat,
- ReadOperationCount => $ro,
- ReadTransferCount => $rb,
- WriteOperationCount => $wo,
- WriteTransferCount => $wb,
- OtherOperationCount => $oo,
- OtherTransferCount => $ob);
- }
-
- my $modhdl = ' '; # Module handle better be 4 bytes.
- my $modgot = ' ';
-
- if ($EnumProcessModules->Call ($prchdl, $modhdl, length $modhdl, $modgot)) {
- $modhdl = unpack ('L', $modhdl);
- my $mfn = ' ' x MAX_PATH;
- if ($GetModuleFileNameEx->Call ($prchdl, $modhdl, $mfn, length $mfn)) {
- $mfn =~ s/\0.*//;
- $mfn =~ s/^\\(\w+)/$ENV{$1} ? $ENV{$1} : "\\$1"/ex;
- $mfn =~ s/^\\\?\?\\//;
- $self->_build_hash ($dat,
- ExecutablePath => $mfn);
- my $base = basename ($mfn);
- $self->_build_hash ($dat, Name => $base) if $base;
- }
- }
-
- my ($tokhdl);
- $tokhdl = ' ' x 4; # Token handle better be 4 bytes.
- { # Start block, to use as single-iteration loop
- last if $opt->{no_user_info};
- $OpenProcessToken->Call ($prchdl, $tac, $tokhdl)
- or do {$tokhdl = undef; last; };
- my ($dsize, $size_in, $size_out, $sid, $stat, $use, $void);
- $tokhdl = unpack 'L', $tokhdl;
-
- $size_out = ' ' x 4;
- $void = pack 'p', undef;
- my $token_type = TokenUser;
- $GetTokenInformation->Call ($tokhdl, $token_type, $void, 0, $size_out);
- $size_in = unpack 'L', $size_out;
- my $tokinf = ' ' x $size_in;
- $GetTokenInformation->Call ($tokhdl, $token_type, $tokinf, $size_in, $size_out)
- or last;
- my $sidadr = unpack "P$size_in", $tokinf;
-## NO! my $sidadr = unpack "P4", $tokinf;
-
- $sid = _text_sid ($sidadr) or last;
- $self->_build_hash ($dat, OwnerSid => $sid);
- if ($sid_to_name{$sid}) {
- $self->_build_hash ($dat, Owner => $sid_to_name{$sid});
- last;
- }
-
- $size_out = $dsize = pack 'L', 0;
- $use = pack 'S', 0;
- $stat = $LookupAccountSid->Call ($void, $sidadr, $void, $size_out, $void, $dsize, $use);
- my ($name, $domain);
- $name = " " x (unpack 'L', $size_out);
- $domain = " " x (unpack 'L', $dsize);
- my $pname = pack 'p', $name;
- my $pdom = pack 'p', $domain;
- $LookupAccountSid->Call ($void, $sidadr, $name, $size_out, $domain, $dsize, $use)
- or last;
- $size_out = unpack 'L', $size_out;
- $dsize = unpack 'L', $dsize;
- my $user = (substr ($domain, 0, $dsize) . "\\" .
- substr ($name, 0, $size_out));
- $sid_to_name{$sid} = $user;
- $self->_build_hash ($dat, Owner => $user);
- }
-
- $CloseHandle->Call ($tokhdl) if $tokhdl && $tokhdl ne ' ';
- $CloseHandle->Call ($prchdl);
- }
- continue {
- $self->_build_hash ($dat, _status => $^E + 0);
- }
-return wantarray ? @pinf : \@pinf;
-}
-
-sub _to_char_date {
-my @args = @_;
-my @result;
-( $FileTimeToSystemTime ||=
- Win32::API->new ('KERNEL32', 'FileTimeToSystemTime', [qw{P P}], 'I') )
- or croak "Error - Failed to map FileTimeToSystemTime: $^E";
-my $systim = ' ' x 8;
-foreach (@args) {
- $FileTimeToSystemTime->Call ($_, $systim) or
- croak "Error - FileTimeToSystemTime failed: $^E";
- my $time;
- my ($yr, $mo, $dow, $day, $hr, $min, $sec, $ms) = unpack ('S*', $systim);
- if ($yr == 1601 && $mo == 1 && $day == 1) {
- $time = undef;
- }
- else {
- $time = sprintf ('%04d%02d%02d%02d%02d%02d',
- $yr, $mo, $day, $hr, $min, $sec);
- }
- push @result, $time;
- }
-return @result if wantarray;
-return $result[0];
-}
-
-sub _ll_to_bigint {
-my @args = @_;
-my @result;
-foreach (@args) {
- my @data = unpack 'L*', $_;
- while (@data) {
- my $low = shift @data;
- my $high = shift @data;
- push @result, ($high <<= 32) + $low;
- }
- }
-return @result if wantarray;
-return $result[0];
-}
-
-sub _clunks_to_secs {
-my @args = @_;
-my @result;
-foreach (_ll_to_bigint (@args)) {
- push @result, $_ / 10_000_000;
- }
-return @result if wantarray;
-return $result[0];
-}
-
-=item @pids = $pi->ListPids ()
-
-This subroutine returns a list of all known process IDs in the
-system, in no particular order. If called in list context, the
-list of process IDs itself is returned. In scalar context, a
-reference to the list is returned.
-
-=cut
-
-sub ListPids {
-my ( $self, @args ) = @_;
-my $filter = undef;
-my $my_pid = $self->My_Pid();
-@args and $filter = {
- map { ($_ eq '.' ? $my_pid : $_) => 1 } @args
-};
-$EnumProcesses ||= _map ('PSAPI', 'EnumProcesses', [qw{P N P}], 'I');
-my $psiz = 4;
-my $bsiz = 0;
- {
- $bsiz += 1024;
- my $pidbuf = ' ' x $bsiz;
- my $pidgot = ' ';
- $EnumProcesses->Call ($pidbuf, $bsiz, $pidgot) or
- croak "Error - Failed to call EnumProcesses: $^E";
-# Note - 122 = The data area passed to a system call is too small
- my $pidnum = unpack ('L', $pidgot);
- redo unless $pidnum < $bsiz;
- $pidnum /= 4;
- my @pids;
- if ($filter) {
- @pids = grep {$filter->{$_}} unpack ("L$pidnum", $pidbuf);
- }
- else {
- @pids = unpack ("L$pidnum", $pidbuf);
- }
- return wantarray ? @pids : \@pids;
- }
-confess 'Programming error - should not get here';
-}
-
-
-
-# _text_sid (pointer to SID)
-
-# This subroutine translates the given sid in to a string.
-# The algorithm is from http://msdn.microsoft.com/library/
-# default.asp?url=/library/en-us/security/security/
-# converting_a_binary_sid_to_string_format.asp)
-#
-# As a general note: The SID is represented internally by an
-# opaque structure, which contains a bunch of things that we
-# need to know to format it. Rather than publishing the
-# structure, or providing a formatting routine, Microsoft
-# provided a bunch of subroutines which return pointers to the
-# various pieces/parts of the structure that we need to do it
-# ourselves. This presents us with with the situation of an
-# opaque structure, essentially all of whose parts are public.
-# This, I presume, is an example of the superior engineering that
-# makes Microsoft the darling of the industry.
-#
-# It also means we play some serious games, since Win32::API has
-# no mechanism to return a pointer. The next best thing is to
-# tell Win32::API that the return is a number of the appropriate
-# size, "pack" the number to get an honest-to-God pointer, and
-# then unpack again as a pointer to a structure of the
-# appropriate size. A further unpack may be necessary to extract
-# data from the finally-obtained structure. You'll be seeing a
-# lot of this pack/unpack idiom in the code that follows.
-#
-# Interestingly enough in February 2013 I found (fairly easily)
-# ConvertSidToStringSid(), which seems to do what I need, and
-# seems to have the same vintage as the other calls used above.
-# But in September of 2002 when I was writing this code I never
-# found it - certainly the docs cited never mentioned it.
-
-sub _text_sid {
-my $sid = shift;
-
-
-# Make sure we have a valid SID
-
-$IsValidSid ||= _map ('ADVAPI32', 'IsValidSid', [qw{P}], 'I');
-my $stat = $IsValidSid->Call ($sid)
- or return;
-
-
-# Get the identifier authority.
-
-$GetSidIdentifierAuthority ||=
- _map ('ADVAPI32', 'GetSidIdentifierAuthority', [qw{P}], 'N');
-my $sia = $GetSidIdentifierAuthority->Call ($sid);
-$sia = pack 'L', $sia;
-# Occasionally we end up with an undef value here, which indicates a
-# failure. The docs say this only happens with an invalid SID, but what
-# do they know?
-defined( $sia = unpack 'P6', $sia )
- or return;
-
-
-# Get the number of subauthorities.
-
-$GetSidSubAuthorityCount ||=
- _map ('ADVAPI32', 'GetSidSubAuthorityCount', [qw{P}], 'N');
-my $subauth = $GetSidSubAuthorityCount->Call ($sid);
-$subauth = pack 'L', $subauth;
-$subauth = unpack 'P1', $subauth;
-$subauth = unpack 'C*', $subauth;
-
-
-# Start by formatting the revision number. Note that this is
-# hard-coded. It's in a .h file if you're using "C". The
-# revision is actually in the SID if you trust the include
-# file, but the docs make it look like the SID structure is
-# supposed to be opaque, and in Microsoft's example comes from
-# the .h
-
-my $sidout = sprintf 'S-%lu', SID_REVISION;
-
-
-# Format the identifier authority. The rules are different
-# depending on whether the first 2 bytes are in use.
-
-if (unpack 'S', $sia) {
- $sidout .= sprintf ('-0x%s', unpack 'H*', $sia);
- }
- else {
- $sidout .= sprintf '-%lu', unpack 'x2N', $sia;
- }
-
-
-# Now tack on all the subauthorities. Because of Microsoft's
-# high-quality design, the subauthorities are in a different
-# byte order than the identifier authority.
-
-$GetSidSubAuthority ||=
- _map ('ADVAPI32', 'GetSidSubAuthority', [qw{P I}], 'N');
-for (my $subctr = 0; $subctr < $subauth; $subctr++) {
- my $subid = $GetSidSubAuthority->Call ($sid, $subctr);
- $subid = pack 'L', $subid;
- $subid = unpack 'P4', $subid;
- $sidout .= sprintf '-%lu', unpack 'L', $subid;
- }
-
-
-# Return the formatted string.
-
-return $sidout;
-}
-
-=back
-
-=head1 REQUIREMENTS
-
-This library uses the following libraries:
-
- Carp
- Time::Local
- Win32
- Win32::API
- Win32API::Registry (if available)
-
-As of this writing, all but Win32 and Win32::API are part of the
-standard Perl distribution. Win32 is not part of the standard Perl
-distribution, but comes with the ActivePerl distribution. Win32::API
-comes with ActivePerl as of about build 630, but did not come with
-earlier versions. It must be installed before installing this module.
-
-=head1 ACKNOWLEDGMENTS
-
-This module would not exist without the following people:
-
-Aldo Calpini, who gave us Win32::API.
-
-The folks of Cygwin (F<http://www.cygwin.com/>), especially Christopher
-Faylor, author of ps.cc.
-
-Jenda Krynicky, whose "How2 create a PPM distribution"
-(F<http://jenda.krynicky.cz/perl/PPM.html>) gave me a leg up on
-both PPM and tar distributions.
-
-Judy Hawkins of Pitney Bowes, for providing testing and patches for
-NT 4.0 without WMI.
-
-=head1 AUTHOR
-
-Thomas R. Wyant, III (F<wyant at cpan dot org>)
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2001-2003 by E. I. DuPont de Nemours and Company, Inc.
-
-Copyright (C) 2007-2011, 2013 by Thomas R. Wyant, III
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl 5.10.0. For more details, see the full text
-of the licenses in the directory LICENSES.
-
-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.
-
-=cut
-
-1;
-__END__
-
-Sample code from MSDN
-
-Set privilege (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/enabling_and_disabling_privileges.asp)
-
-BOOL SetPrivilege(
- HANDLE hToken, // access token handle
- LPCTSTR lpszPrivilege, // name of privilege to enable/disable
- BOOL bEnablePrivilege // to enable or disable privilege
- )
-{
-TOKEN_PRIVILEGES tp;
-LUID luid; // 64-bit identifier
-
-if ( !LookupPrivilegeValue(
- NULL, // lookup privilege on local system
- lpszPrivilege, // privilege to lookup
- &luid ) ) // receives LUID of privilege
-{
- printf("LookupPrivilegeValue error: %u\n", GetLastError() );
- return FALSE;
-}
-
-tp.PrivilegeCount = 1;
-tp.Privileges[0].Luid = luid;
-if (bEnablePrivilege)
- tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-else
- tp.Privileges[0].Attributes = 0;
-
-// Enable the privilege or disable all privileges.
-
-if ( !AdjustTokenPrivileges(
- hToken,
- FALSE,
- &tp,
- sizeof(TOKEN_PRIVILEGES),
- (PTOKEN_PRIVILEGES) NULL,
- (PDWORD) NULL) )
-{
- printf("AdjustTokenPrivileges error: %u\n", GetLastError() );
- return FALSE;
-}
-
-return TRUE;
-}
-
-
-# _set_priv ([priv_name, ...])
-
-# This subroutine turns on the desired privilege (or privileges).
-# If no arguments are passed it turns on the "Debug" privilege.
-# The algorithm is from
-# http://msdn.microsoft.com/library/default.asp?url=/library/
-# en-us/security/security/enabling_and_disabling_privileges.asp
-#
-# We return zero for success, or $^E if an error occurs.
-#
-# The complication _here_ is that there is no standard internal
-# representation of a privilege. Microsoft encodes them as LUIDs
-# (locally-unique identifiers), which means we have to take as
-# input the strings representing the names of the privileges, and
-# translate each to a LUID, since LUIDS are _local_ to a given
-# instance of an operating system.
-
-sub _set_priv {
-
-my $self = shift;
-@_ = (SE_DEBUG_NAME ()) unless @_;
-
-
-# First we have to get our own access token, because that's what
-# we actually set the privilege on. And we'd better declare the
-# correct access intent ahead of time, or Microsoft will be very
-# upset.
-
-$GetCurrentProcess ||= _map ('KERNEL32', 'GetCurrentProcess', [], 'N');
-my $prchdl = $GetCurrentProcess->Call () or return $^E + 0;
-$OpenProcessToken ||=
- _map ('ADVAPI32', 'OpenProcessToken', [qw{N N P}], 'I');
-my $tokhdl;
-$tokhdl = ' ' x 4; # Token handle better be 4 bytes.
-my $tac = TOKEN_READ | TOKEN_ADJUST_PRIVILEGES;
-$OpenProcessToken->Call ($prchdl, $tac, $tokhdl) or return $^E + 0;
-$tokhdl = unpack 'L', $tokhdl;
-
-
-# OK, now we get to build up a TOKEN_PRIVILEGES structure
-# representing the privileges we want to assert. This looks like:
-# A dword count (number of privileges)
-# The specified number of LUID_AND_ATTRIBUTES structures,
-# each of which looks like:
-# Luid (64 bits = 8 bytes, as noted above)
-# Attributes (4 bytes).
-# Each LUID gets looked up and slapped on the end of the growing
-# TOKEN_PRIVILEGES structure.
-
-my $enab = pack 'L', SE_PRIVILEGE_ENABLED ();
-my %gotprv;
-$LookupPrivilegeValue ||=
- _map ('ADVAPI32', 'LookupPrivilegeValue', [qw{P P P}], 'I');
-my $null = pack 'p', undef;
-my $num = 0;
-my $tp = '';
-foreach my $priv (@_) {
- next if $gotprv{$priv};
- my $luid = '.' x 8; # An LUID is 64 bits.
- $LookupPrivilegeValue->Call ($null, $priv, $luid) or
- return $^E + 0;
- $gotprv{$priv} = $luid;
- $num++;
- $tp .= $luid . $enab;
- }
-
-
-# Okay, the TOKEN_PRIVILEGES structure needs the number of
-# privileges slapped on the front. So:
-
-$num = pack 'L', $num;
-$tp = $num . $tp;
-
-
-# At long last we turn on the desired privileges. As another
-# example of Microsoft's inspired design, note that we need to
-# tell the subroutine how big the structure is, even though the
-# structure contains the number of elements. Or, alternately,
-# that we have to pass the number of elements even though we told
-# the subroutine how big the structure is.
-
-$AdjustTokenPrivileges ||=
- _map ('ADVAPI32', 'AdjustTokenPrivileges', [qw{N I P N P P}], 'I');
-$AdjustTokenPrivileges->Call (
- $tokhdl, 0, $tp, length $tp, $null, $null) or
- return $^E + 0;
-
-
-return 0;
-}
-
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm
deleted file mode 100644
index 17a9643dc05..00000000000
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm
+++ /dev/null
@@ -1,306 +0,0 @@
-=head1 NAME
-
-Win32::Process::Info::PT - Provide process information via Proc::ProcessTable.
-
-=head1 SYNOPSIS
-
-This package fetches process information on a given machine, using Dan
-Urist's B<Proc::ProcessTable>. This makes the 'Win32::' part of our name
-bogus, but lets one use the same basic interface under a wider range of
-operating systems.
-
- use Win32::Process::Info
- $pi = Win32::Process::Info->new (undef, 'PT');
- $pi->Set (elapsed_as_seconds => 0); # In clunks, not seconds.
- @pids = $pi->ListPids (); # Get all known PIDs
- @info = $pi->GetProcInfo (); # Get the max
-
-CAVEAT USER:
-
-This package does not support access to a remote machine,
-because the underlying API doesn't. If you specify a machine
-name (other than '', 0, or undef) when you instantiate a
-new Win32::Process::Info::PT object, you will get an exception.
-
-This package is B<not> intended to be used independently;
-instead, it is a subclass of Win32::Process::Info, and should
-only be called via that package.
-
-=head1 DESCRIPTION
-
-The main purpose of the Win32::Process::Info::PT package is to get
-whatever information is convenient (for the author!) about one or more
-processes. GetProcInfo (which see) is therefore the most-important
-method in the package. See it for more information.
-
-This package returns whatever process IDs are made available by
-Proc::ProcessTable. Under Cygwin, this seems to mean Cygwin process IDs,
-not Windows process IDs.
-
-Unless explicitly stated otherwise, modules, variables, and so
-on are considered private. That is, the author reserves the right
-to make arbitrary changes in the way they work, without telling
-anyone. For subroutines, variables, and so on which are considered
-public, the author will make an effort keep them stable, and failing
-that to call attention to changes.
-
-Nothing is exported by default, though all the public subroutines are
-exportable, either by name or by using the :all tag.
-
-The following subroutines should be considered public:
-
-=over
-
-=cut
-
-# 0.001 18-Sep-2007 T. R. Wyant
-# Initial release.
-# 0.001_01 01-Apr-2009 T. R. Wyant
-# Make Perl::Critic compliant (to -stern, with my own profile)
-# 0.002 02-Apr-2009 T. R. Wyant
-# Production version.
-# 0.002_01 07-Apr-2009 T. R. Wyant
-# Use $self->_build_hash(), so that we test it.
-
-package Win32::Process::Info::PT;
-
-use strict;
-use warnings;
-
-use base qw{ Win32::Process::Info };
-
-our $VERSION = '1.020';
-
-use Carp;
-use File::Basename;
-use Proc::ProcessTable;
-
-# TODO figure out what we need to do here.
-
-my %_transform = (
-## CreationDate => \&Win32::Process::Info::_date_to_time_t,
- KernelModeTime => \&Win32::Process::Info::_clunks_to_desired,
- UserModeTime => \&Win32::Process::Info::_clunks_to_desired,
- );
-
-my %lglarg = map {($_, 1)} qw{assert_debug_priv variant};
-
-sub new {
- my $class = shift;
- $class = ref $class if ref $class;
- my $arg = shift;
- if (ref $arg eq 'HASH') {
- my @ilg = grep {!$lglarg{$_}} keys %$arg;
- @ilg and
- croak "Error - Win32::Process::Info::PT argument(s) (@ilg) illegal";
- } else {
- croak "Error - Win32::Process::Info::PT does not support remote operation."
- if $arg;
- }
- no warnings qw{once};
- my $self = {%Win32::Process::Info::static};
- use warnings qw{once};
- delete $self->{variant};
- $self->{_xfrm} = \%_transform;
- bless $self, $class;
- return $self;
-}
-
-
-=item @info = $pi->GetProcInfo ();
-
-This method returns a list of anonymous hashes, each containing
-information on one process. If no arguments are passed, the
-list represents all processes in the system. You can pass a
-list of process IDs, and get out a list of the attributes of
-all such processes that actually exist. If you call this
-method in scalar context, you get a reference to the list.
-
-What keys are available depend on the variant in use. With the PT
-variant you can hope to get at most the following keys. The caveat is
-that the Win32::Process::Info keys are derived from
-Proc::ProcessTable::Process fields, and if your OS does not support the
-underlying field, you will not get it. Here are the possible keys and
-the fields from which they are derived:
-
- CreationDate: start
- Description: cmndline
- ExecutablePath: fname (note 1)
- KernelModeTime: stime (note 2)
- Name: basename (fname)
- Owner: '\' . getpwuid (uid) (note 3)
- OwnerSid: uid (note 4)
- ParentProcessId: ppid
- ProcessId: pid
- UserModeTime: utime (note 2)
-
-Notes:
-
-1) ExecutablePath may not be an absolute pathname.
-
-2) We assume that Proc::ProcessTable::Process returns stime and utime in
-microseconds, and multiply by 10 to get clunks. This may be wrong under
-some operating systems.
-
-3) Owner has a backslash prefixed because Windows returns domain\user. I
-don't see a good way to get domain, but I wanted to be consistent (read:
-I was too lazy to special-case the test script).
-
-4) Note that under Cygwin this is B<not> the same as the Windows PID,
-which is returned in field 'winpid'. But the Subprocesses method needs
-the ProcessId and ParentProcessId to be consistent, and there was no
-documented 'winppid' field.
-
-The output will contain all processes for which information was
-requested, but will not necessarily contain all information for
-all processes.
-
-The _status key of the process hash contains the status of
-GetProcInfo's request(s) for information. In the case of
-Win32::Process::Info::PT, this will always be 0, but is provided
-to be consistent with the other variants.
-
-=cut
-
-{
-
- my %pw_uid;
- my %fld_map = (
- cmndline => 'Description',
- fname => sub {
- my ($info, $proc) = @_;
- $info->{Name} = basename (
- $info->{ExecutablePath} = $proc->fname ());
- },
- pid => 'ProcessId',
- ppid => 'ParentProcessId',
- start => 'CreationDate',
-## stime => 'KernelModeTime',
-## utime => 'UserModeTime',
- stime => sub {
- my ($info, $proc) = @_;
- $info->{KernelModeTime} = $proc->stime() * 10;
- },
- utime => sub {
- my ($info, $proc) = @_;
- $info->{UserModeTime} = $proc->utime() * 10;
- },
- uid => sub {
- my ($info, $proc) = @_;
- $info->{OwnerSid} = my $uid = $proc->uid ();
- $info->{Owner} = $pw_uid{$uid} ||= '\\' . getpwuid($uid);
- },
- );
- my @fld_sup = grep { defined $_ } Proc::ProcessTable->new ()->fields ();
-
- sub GetProcInfo {
- my ($self, @args) = @_;
-
- my $my_pid = $self->My_Pid();
- my $opt = ref $args[0] eq 'HASH' ? shift @args : {};
- my $tbl = Proc::ProcessTable->new ()->table ();
-
- if (@args) {
- my %filter = map {
- ($_ eq '.' ? $my_pid : $_) => 1
- } @args;
- $tbl = [grep {$filter{$_->pid ()}} @$tbl];
- }
- my @pinf;
- foreach my $proc (@$tbl) {
- my $info = {_status => 0};
- foreach my $key (@fld_sup) {
- my $name = $fld_map{$key} or next;
- if (ref $name eq 'CODE') {
- $name->($info, $proc);
- } else {
- # Yes, we could just plop the information into the
- # hash. But _build_hash() needs to be called in
- # every variant so it gets tested under any
- # variant.
- $self->_build_hash($info, $name, $proc->$key());
- }
- }
- push @pinf, $info;
- }
- return wantarray ? @pinf : \@pinf;
- }
-
-}
-
-=item @pids = $pi->ListPids ()
-
-This subroutine returns a list of all known process IDs in the
-system, in no particular order. If called in list context, the
-list of process IDs itself is returned. In scalar context, a
-reference to the list is returned.
-
-=cut
-
-sub ListPids {
- my ($self, @args) = @_;
-
- my $tbl = Proc::ProcessTable->new ()->table ();
- my $my_pid = $self->My_Pid();
- my @pids;
-
- if (@args) {
- my %filter = map {
- ($_ eq '.' ? $my_pid : $_) => 1
- } @args;
- @pids = grep {$filter{$_}} map {$_->pid} @$tbl;
- } else {
- @pids = map {$_->pid} @$tbl;
- }
- return wantarray ? @pids : \@pids;
-}
-
-sub My_Pid {
- return $$;
-}
-
-=back
-
-=head1 REQUIREMENTS
-
-This library uses the following libraries:
-
- Carp
- Time::Local
- Proc::ProcessTable
-
-As of this writing, all but Proc::ProcessTable are part of the
-standard Perl distribution.
-
-=head1 ACKNOWLEDGMENTS
-
-This module would not exist without the following people
-
-Dan Urist, author (or at least coordinator) of the Proc::ProcessTable
-module, upon which this is based.
-
-Jenda Krynicky, whose "How2 create a PPM distribution"
-(F<http://jenda.krynicky.cz/perl/PPM.html>) gave me a leg up on
-both PPM and tar distributions.
-
-=head1 AUTHOR
-
-Thomas R. Wyant, III (F<wyant at cpan dot org>)
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2007, 2009-2011, 2013 by Thomas R. Wyant, III
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl 5.10.0. For more details, see the full text
-of the licenses in the directory LICENSES.
-
-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.
-
-=cut
-
-# ex: set textwidth=72 :
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm
deleted file mode 100644
index ccebb6254f3..00000000000
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm
+++ /dev/null
@@ -1,430 +0,0 @@
-=head1 NAME
-
-Win32::Process::Info::WMI - Provide process information via WMI.
-
-=head1 SYNOPSIS
-
-This package fetches process information on a given Windows
-machine, using Microsoft's Windows Management Implementation.
-
- use Win32::Process::Info
- $pi = Win32::Process::Info->new (undef, 'WMI');
- $pi->Set (elapsed_as_seconds => 0); # In clunks, not seconds.
- @pids = $pi->ListPids (); # Get all known PIDs
- @info = $pi->GetProcInfo (); # Get the max
-
-CAVEAT USER:
-
-This package is B<not> intended to be used independently;
-instead, it is a subclass of Win32::Process::Info, and should
-only be called via that package.
-
-=head1 DESCRIPTION
-
-This package implements the WMI-specific methods of
-Win32::Process::Info.
-
-This package returns Windows process IDs, even under Cygwin.
-
-The following methods should be considered public:
-
-=over 4
-
-=cut
-
-package Win32::Process::Info::WMI;
-
-use strict;
-use warnings;
-
-use base qw{ Win32::Process::Info };
-
-our $VERSION = '1.020';
-
-use vars qw{%mutator};
-use Carp;
-use Time::Local;
-use Win32::OLE qw{in with};
-use Win32::OLE::Const;
-use Win32::OLE::Variant;
-
-
-%mutator = %Win32::Procecss::Info::mutator;
-
-my %pariah = map {($_ => 1)} grep {$_} split ';',
- lc ($ENV{PERL_WIN32_PROCESS_INFO_WMI_PARIAH} || '');
-my $no_user_info = $ENV{PERL_WIN32_PROCESS_INFO_WMI_PARIAH} &&
- $ENV{PERL_WIN32_PROCESS_INFO_WMI_PARIAH} eq '*';
-my $assert_debug_priv = $ENV{PERL_WIN32_PROCESS_INFO_WMI_DEBUG};
-
-
-# note that "new" is >>>NOT<<< considered a public
-# method.
-
-my $wmi_const;
-
-my %lglarg = map {($_, 1)} qw{assert_debug_priv host password user variant};
-
-sub new {
-my $class = shift;
-$class = ref $class if ref $class;
-
-my $arg = shift;
-my @ilg = grep {!$lglarg{$_}} keys %$arg;
-@ilg and
- croak "Error - Win32::Process::Info::WMI argument(s) (@ilg) illegal";
-
-my $mach = $arg->{host} || '';
-$mach =~ s|^[\\/]+||;
-my $user = $arg->{user} || '';
-my $pass = $arg->{password} || '';
-$arg->{assert_debug_priv} ||= $assert_debug_priv;
-
-my $old_warn = Win32::OLE->Option ('Warn');
-Win32::OLE->Option (Warn => 0);
-
-
-# Under at least some circumstances, I have found that I have
-# access when using the monicker, and not if using the locator;
-# especially under NT 4.0 with the retrofitted WMI. So use the
-# monicker unless I have a username/password.
-
-my $wmi;
-
-if ($user) {
- my $locator = Win32::OLE->new ('WbemScripting.SWbemLocator') or do {
- Win32::OLE->Option (Warn => $old_warn);
- croak "Error - Win32::Process::Info::WMI failed to get SWBemLocator object:\n",
- Win32::OLE->LastError;
- };
-
- $wmi_const ||= Win32::OLE::Const->Load ($locator) or do {
- Win32::OLE->Option (Warn => $old_warn);
- croak "Error - Win32::Process::Info::WMI failed to load WMI type library:\n",
- Win32::OLE->LastError;
- };
-
-
-# Note that MSDN says that the following doesn't work under NT 4.0.
-##$wmi->Security_->Privileges->AddAsString ('SeDebugPrivilege', 1);
-
- $locator->{Security_}{ImpersonationLevel} =
- $wmi_const->{wbemImpersonationLevelImpersonate};
- $locator->{Security_}{Privileges}->Add ($wmi_const->{wbemPrivilegeDebug})
- if $arg->{assert_debug_priv};
-
- $wmi = $locator->ConnectServer (
- $mach, # Server
- 'root/cimv2', # Namespace
- $user, # User (with optional domain)
- $pass, # Password
- '', # Locale
- '', # Authority
-## wbemConnectFlagUseMaxWait, # Flag
- );
- }
- else {
- my $mm = $mach || '.';
- $wmi = Win32::OLE->GetObject (
- "winmgmts:{impersonationLevel=impersonate@{[
- $arg->{assert_debug_priv} ? ',(Debug)' : '']}}!//$mm/root/cimv2");
- }
-
-$wmi or do {
- Win32::OLE->Option (Warn => $old_warn);
- croak "Error - Win32::Process::Info::WMI failed to get winmgs object:\n",
- Win32::OLE->LastError;
- };
-
-$wmi_const ||= Win32::OLE::Const->Load ($wmi) or do {
- Win32::OLE->Option (Warn => $old_warn);
- croak "Error - Win32::Process::Info::WMI failed to load WMI type library:\n",
- Win32::OLE->LastError;
- };
-
-
-# Whew! we're through with that! Manufacture and return the
-# desired object.
-
-Win32::OLE->Option (Warn => $old_warn);
-my $self = {%Win32::Process::Info::static};
-$self->{machine} = $mach;
-$self->{password} = $pass;
-$self->{user} = $pass;
-$self->{wmi} = $wmi;
-$self->{_attr} = undef; # Cache for keys.
-bless $self, $class;
-return $self;
-}
-
-
-=item @info = $pi->GetProcInfo ();
-
-This method returns a list of anonymous hashes, each containing
-information on one process. If no arguments are passed, the
-list represents all processes in the system. You can pass a
-list of process IDs, and get out a list of the attributes of
-all such processes that actually exist. If you call this
-method in scalar context, you get a reference to the list.
-
-What keys are available depend both on the variant in use and
-the setting of b<use_wmi_names>. Assuming B<use_wmi_names> is
-TRUE, you can hope to get at least the following keys for a
-"normal" process (i.e. not the idle process, which is PID 0,
-nor the system, which is PID 8) to which you have access:
-
- CSCreationClassName
- CSName (= machine name)
- Caption (seems to generally equal Name)
- CreationClassName
- CreationDate
- Description (seems to equal Caption)
- ExecutablePath
- KernelModeTime
- MaximumWorkingSetSize
- MinimumWorkingSetSize
- Name
- OSCreationClassName
- OSName
- OtherOperationCount
- OtherTransferCount
- Owner (*)
- OwnerSid (*)
- PageFaults
- ParentProcessId
- PeakWorkingSetSize
- ProcessId
- ReadOperationCount
- ReadTransferCount
- UserModeTime
- WindowsVersion
- WorkingSetSize
- WriteOperationCount
- WriteTransferCount
-
-You may find other keys available as well.
-
-* - Keys marked with an asterisk are computed, and may not always
-be present.
-
-=cut
-
-sub _get_proc_objects {
-my $self = shift;
-my $my_pid = $self->My_Pid();
-my @procs = @_ ?
- map {
- my $pi = $_ eq '.' ? $my_pid : $_;
- my $obj = $self->{wmi}->Get ("Win32_Process='$pi'");
- Win32::OLE->LastError ? () : ($obj)
- } @_ :
- (in $self->{wmi}->InstancesOf ('Win32_Process'));
-
-if (@procs && !$self->{_attr}) {
- my $atls = $self->{_attr} = [];
- $self->{_xfrm} = {
- KernelModeTime => \&Win32::Process::Info::_clunks_to_desired,
- UserModeTime => \&Win32::Process::Info::_clunks_to_desired,
- };
-
- foreach my $attr (in $procs[0]->{Properties_}) {
- my $name = $attr->{Name};
- my $type = $attr->{CIMType};
- push @$atls, $name;
- $self->{_xfrm}{$name} = \&Win32::Process::Info::_date_to_time_t
- if $type == $wmi_const->{wbemCimtypeDatetime};
- }
- }
-$self->{_attr} = {map {($_->{Name}, $_->{CIMType})}
- in $procs[0]->{Properties_}}
- if (@procs && !$self->{_attr});
-
-return @procs;
-}
-
-sub GetProcInfo {
-my $self = shift;
-my $opt = ref $_[0] eq 'HASH' ? shift : {};
-my @pinf;
-my %username;
-my ($sid, $user, $domain);
-my $old_warn = Win32::OLE->Option ('Warn');
-Win32::OLE->Option (Warn => 0);
-
-my $skip_user = $no_user_info || $opt->{no_user_info};
-unless ($skip_user) {
- $sid = Variant (VT_BYREF | VT_BSTR, '');
-## $sid = Variant (VT_BSTR, '');
- $user = Variant (VT_BYREF | VT_BSTR, '');
- $domain = Variant (VT_BYREF | VT_BSTR, '');
-#
-# The following plausable ways of caching the variant to try to
-# stem the associated memory leak result in an access violation
-# the second time through (i.e. the first time the object is
-# retrieved from cache rather than being manufactured). God knows
-# why, but so far He has not let me in on the secret. Sometimes
-# There's an OLE type mismatch error before the access violation
-# is reported, but sometimes not.
-#
-## $sid = $self->{_variant}{sid} ||= Variant (VT_BYREF | VT_BSTR, '');
-## $user = $self->{_variant}{user} ||= Variant (VT_BYREF | VT_BSTR, '');
-## $domain = $self->{_variant}{domain} ||= Variant (VT_BYREF | VT_BSTR, '');
-## $sid = $Win32::Process::Info::WMI::sid ||= Variant (VT_BYREF | VT_BSTR, '');
-## $user = $Win32::Process::Info::WMI::user ||= Variant (VT_BYREF | VT_BSTR, '');
-## $domain = $Win32::Process::Info::WMI::domain ||= Variant (VT_BYREF | VT_BSTR, '');
- }
-
-foreach my $proc (_get_proc_objects ($self, @_)) {
- my $phash = $self->_build_hash (
- undef, map {($_, $proc->{$_})} @{$self->{_attr}});
- push @pinf, $phash;
- my $oid;
-
-# The test for executable path is extremely ad-hoc, but the best
-# way I have come up with so far to strain out the System and
-# Idle processes. The methods can misbehave badly on these, and
-# I have found no other way of identifying them. Idle is always
-# process 0, but it seems to me that I have seen once a system
-# whose System process ID was not 8. This test was actually
-# removed at one point, but is reinstated since finding a set of
-# slides on the NT startup which bolsters my confidence in it.
-# But it still looks like ad-hocery to me.
-
- eval {
- return unless $proc->{ExecutablePath};
- return if $skip_user || $pariah{lc $proc->{Name}};
- $sid->Put ('');
- $proc->GetOwnerSid ($sid);
- $oid = $sid->Get ();
- return unless $oid;
- $phash->{OwnerSid} = $oid;
- unless ($username{$oid}) {
- $username{$oid} =
- $proc->GetOwner ($user, $domain) ? $oid :
- "@{[$domain->Get ()]}\\@{[$user->Get ()]}";
- }
- $phash->{Owner} = $username{$oid};
- };
- }
-Win32::OLE->Option (Warn => $old_warn);
-return wantarray ? @pinf : \@pinf;
-}
-
-=item @pids = $pi->ListPids ();
-
-This method lists all known process IDs in the system. If
-called in scalar context, it returns a reference to the
-list of PIDs. If you pass in a list of pids, the return will
-be the intersection of the argument list and the actual PIDs
-in the system.
-
-=cut
-
-sub ListPids {
-my $self = shift;
-my @pinf;
-foreach my $proc (_get_proc_objects ($self, @_)) {
- push @pinf, $proc->{ProcessId};
- }
-return wantarray ? @pinf : \@pinf;
-}
-1;
-__END__
-source of the following list:
-http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/r_32os5_02er.asp
- string Caption ;
- string CreationClassName ;
- datetime CreationDate ;
- string CSCreationClassName ;
- string CSName ;
- string Description ;
- string ExecutablePath ;
- uint16 ExecutionState ;
- string Handle ;
- uint32 HandleCount ;
- datetime InstallDate ;
- uint64 KernelModeTime ;
- uint32 MaximumWorkingSetSize ;
- uint32 MinimumWorkingSetSize ;
- string Name ;
- string OSCreationClassName ;
- string OSName ;
- uint64 OtherOperationCount ;
- uint64 OtherTransferCount ;
- uint32 PageFaults ;
- uint32 PageFileUsage ;
- uint32 ParentProcessId ;
- uint32 PeakPageFileUsage ;
- uint64 PeakVirtualSize ;
- uint32 PeakWorkingSetSize ;
- uint32 Priority ;
- uint64 PrivatePageCount ;
- uint32 ProcessId ;
- uint32 QuotaNonPagedPoolUsage ;
- uint32 QuotaPagedPoolUsage ;
- uint32 QuotaPeakNonPagedPoolUsage ;
- uint32 QuotaPeakPagedPoolUsage ;
- uint64 ReadOperationCount ;
- uint64 ReadTransferCount ;
- uint32 SessionId ;
- string Status ;
- datetime TerminationDate ;
- uint32 ThreadCount ;
- uint64 UserModeTime ;
- uint64 VirtualSize ;
- string WindowsVersion ;
- uint64 WorkingSetSize ;
- uint64 WriteOperationCount ;
- uint64 WriteTransferCount ;
-
-=back
-
-=head1 REQUIREMENTS
-
-It should be obvious that this library must run under some
-flavor of Windows.
-
-This library uses the following libraries:
-
- Carp
- Time::Local
- Win32::OLE
- use Win32::OLE::Const;
- use Win32::OLE::Variant;
-
-As of ActivePerl 630, none of the variant libraries use any libraries
-that are not included with ActivePerl. Your mileage may vary.
-
-=head1 ACKNOWLEDGMENTS
-
-This module would not exist without the following people:
-
-Jenda Krynicky, whose "How2 create a PPM distribution"
-(F<http://jenda.krynicky.cz/perl/PPM.html>) gave me a leg up on
-both PPM and tar distributions.
-
-Dave Roth, F<http://www.roth.net/perl/>, author of
-B<Win32 Perl Programming: Administrators Handbook>, which is
-published by Macmillan Technical Publishing, ISBN 1-57870-215-1
-
-=head1 AUTHOR
-
-Thomas R. Wyant, III (F<wyant at cpan dot org>)
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2001-2005 by E. I. DuPont de Nemours and Company, Inc.
-
-Copyright (C) 2007, 2010-2011, 2013 by Thomas R. Wyant, III
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl 5.10.0. For more details, see the full text
-of the licenses in the directory LICENSES.
-
-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.
-
-=cut
-
-# ex: set textwidth=72 :
diff --git a/Master/tlpkg/tlperl/lib/Win32/TieRegistry.pm b/Master/tlpkg/tlperl/lib/Win32/TieRegistry.pm
index 19f9fdf4ae5..0f7031af323 100644
--- a/Master/tlpkg/tlperl/lib/Win32/TieRegistry.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/TieRegistry.pm
@@ -15,7 +15,7 @@ use Tie::Hash ();
use vars qw( $PACK $VERSION @ISA @EXPORT @EXPORT_OK );
BEGIN {
$PACK = 'Win32::TieRegistry';
- $VERSION = '0.26';
+ $VERSION = '0.29';
@ISA = 'Tie::Hash';
}
@@ -662,7 +662,8 @@ sub _enumValues
my $pos= 0;
my $name= "";
my $nlen= 1+$self->Information("MaxValNameLen");
- while( $self->RegEnumValue($pos++,$name,$nlen,[],[],[],[]) ) {
+ while( $self->RegEnumValue($pos++,$name,my $nlen1=$nlen,[],[],[],[]) ) {
+ #RegEnumValue modifies $nlen1
push( @names, $name );
}
if( ! _NoMoreItems() ) {
@@ -693,11 +694,13 @@ sub _enumSubKeys
my( $namSiz, $clsSiz )= $self->Information(
qw( MaxSubKeyLen MaxSubClassLen ));
$namSiz++; $clsSiz++;
+ my $namSiz1 = $namSiz;
while( $self->RegEnumKeyEx(
$pos++, $subkey, $namSiz, [], $class, $clsSiz, $time ) ) {
push( @subkeys, $subkey );
push( @classes, $class );
push( @times, $time );
+ $namSiz = $namSiz1; #RegEnumKeyEx modifies $namSiz
}
if( ! _NoMoreItems() ) {
return ();
@@ -1366,7 +1369,7 @@ sub SetValue
} elsif( REG_DWORD == $type && $data =~ /^0x[0-9a-fA-F]{3,}$/ ) {
$data= pack( "L", hex($data) );
# We could to $data=pack("L",$data) for REG_DWORD but I see
- # no nice way to always destinguish when to do this or not.
+ # no nice way to always distinguish when to do this or not.
}
return $self->RegSetValueEx( $name, 0, $type, $data, length($data) );
}
@@ -1740,7 +1743,7 @@ Win32::TieRegistry - Manipulate the Win32 Registry
$pound= $Registry->Delimiter("/");
$diskKey= $Registry->{"LMachine/System/Disk/"}
or die "Can't read LMachine/System/Disk key: $^E\n";
- $data= $key->{"/Information"}
+ $data= $diskKey->{"/Information"}
or die "Can't read LMachine/System/Disk//Information value: $^E\n";
$remoteKey= $Registry->{"//ServerA/LMachine/System/"}
or die "Can't read //ServerA/LMachine/System/ key: $^E\n";
@@ -2015,7 +2018,7 @@ unambiguous:
Put a delimiter after each key name.
Put a delimiter in front of each value name.
-Exactly how the key string will be intepreted is governed by the
+Exactly how the key string will be interpreted is governed by the
following cases, in the order listed. These cases are designed
to "do what you mean". Most of the time you won't have to think
about them, especially if you follow the two simple rules above.
@@ -2045,7 +2048,7 @@ If the hash is tied to a virtual root key, then the leading
delimiter is ignored. It should be followed by a valid Registry
root key name [either a short-hand name like C<"LMachine">, an
I<HKEY_*> value, or a numeric value]. This alternate notation is
-allowed in order to be more consistant with the C<Open()> method
+allowed in order to be more consistent with the C<Open()> method
function.
For all other Registry keys, the leading delimiter indicates
@@ -2381,7 +2384,7 @@ The C<new> method creates a new I<Win32::TieRegistry> object.
C<new> is mostly a synonym for C<Open()> so see C<Open()> below for
information on what arguments to pass in. Examples:
- $machKey= new Win32::TieRegistry "LMachine"
+ $machKey= Win32::TieRegistry->new("LMachine")
or die "Can't access HKEY_LOCAL_MACHINE key: $^E\n";
$userKey= Win32::TieRegistry->new("CUser")
or die "Can't access HKEY_CURRENT_USER key: $^E\n";
@@ -2442,7 +2445,7 @@ will be relative to the path of the original key [C<$key>]. If
C<$sSubKey> begins with a single delimiter, then the path to the
subkey to be opened will be relative to the virtual root of the
Registry on whichever machine the original key resides. If
-C<$sSubKey> begins with two consectutive delimiters, then those
+C<$sSubKey> begins with two consecutive delimiters, then those
must be followed by a machine name which causes the C<Connect()>
method function to be called.
@@ -2478,7 +2481,7 @@ if you wish to use the returned object as a tied hash [not just as
an object], then use the C<TiedRef> method function after C<Connect>.
C<$sMachineName> is the name of the remote machine. You don't have
-to preceed the machine name with two delimiter characters.
+to precede the machine name with two delimiter characters.
C<$sKeyPath> is a string specifying the remote key to be opened.
Alternately C<$sKeyPath> can be a reference to an array value
@@ -2523,14 +2526,14 @@ Examples:
=item $object_ref= $obj_or_hash_ref->ObjectRef
-For a simple object, just returns itself [C<$obj == $obj->ObjectRef>].
+For a simple object, just returns itself [C<<$obj == $obj->ObjectRef>>].
For a reference to a tied hash [if it is also an object], C<ObjectRef>
returns the simple object that the hash is tied to.
-This is primarilly useful when debugging since typing C<x $Registry>
+This is primarily useful when debugging since typing C<x $Registry>
will try to display your I<entire> registry contents to your screen.
-But the debugger command C<x $Registry->ObjectRef> will just dump
+But the debugger command C<<x $Registry->ObjectRef>> will just dump
the implementation details of the underlying object to your screen.
=item Flush( $bFlush )
@@ -2784,9 +2787,9 @@ C<Handle()> return C<"NONE">.
Returns a string describing the path of key names to this
Registry key. The string is built so that if it were passed
-to C<$Registry->Open()>, it would reopen the same Registry key
+to C<< $Registry->Open() >>, it would reopen the same Registry key
[except in the rare case where one of the key names contains
-C<$key->Delimiter>].
+C<< $key->Delimiter >>].
=item Machine
@@ -2834,7 +2837,7 @@ object. Used to promote a simple object into a combined object
and hash ref.
If already a reference to a tied hash [that is also an object],
-it just returns itself [C<$ref == $ref->TiedRef>].
+it just returns itself [C<< $ref == $ref->TiedRef >>].
Mostly used internally.
@@ -3040,7 +3043,7 @@ it should be one the C<REG_*> constants.
C<$ValueData> is the data to be stored in the value, probably packed
into a Perl string. Other supported formats for value data are
-listed below for each posible C<$ValueType>.
+listed below for each possible C<$ValueType>.
=over
@@ -3111,7 +3114,7 @@ items are the supported keys for this options hash:
=item Delimiter
Specifies the delimiter to be used to parse C<$subKey> and to be
-used in the new object. Defaults to C<$key->Delimiter>.
+used in the new object. Defaults to C<< $key->Delimiter >>.
=item Access
@@ -3235,7 +3238,7 @@ You can specify as the last argument a reference to a hash
containing options. You can specify the same options that you
can specify to C<Open()>. See C<Open()> for more information on
those. In addition, you can specify the option C<"NewSubKey">.
-The value of this option is interpretted exactly as if it was
+The value of this option is interpreted exactly as if it was
specified as the C<$newSubKey> parameter and overrides the
C<$newSubKey> if one was specified.
@@ -3300,7 +3303,7 @@ to this "default" usage is that Perl does not support checking
the module version when you use it.
Alternately, you can specify a list of arguments on the C<use>
-line that will be passed to the C<Win32::TieRegistry->import()>
+line that will be passed to the C<< Win32::TieRegistry->import() >>
method to control what items to import into your package. These
arguments fall into the following broad categories:
@@ -3418,7 +3421,7 @@ See I<Win32API::Registry> documentation for more information.
=item Options
You can list any option names that can be listed in the C<SetOptions()>
-method call, each folowed by the value to use for that option.
+method call, each followed by the value to use for that option.
A Registry virtual root object is created, all of these options are
set for it, then each variable to be imported/set is associated with
this object.
@@ -3462,7 +3465,7 @@ Although greatly a matter of style, the "safest" practice is probably
to specifically list all constants in the C<use Win32::TieRegistry>
statement, specify C<use strict> [or at least C<use strict qw(subs)>],
and use bare constant names when you want the numeric value. This will
-detect mispelled constant names at compile time.
+detect misspelled constant names at compile time.
use strict;
my $Registry;
@@ -3517,8 +3520,8 @@ Here are quick examples that document the most common functionality
of all of the method functions [except for a few almost useless ones].
# Just another way of saying Open():
- $key= new Win32::TieRegistry "LMachine\\Software\\",
- { Access=>KEY_READ()|KEY_WRITE(), Delimiter=>"\\" };
+ $key= Win32::TieRegistry->new("LMachine\\Software\\",
+ { Access=>KEY_READ()|KEY_WRITE(), Delimiter=>"\\" });
# Open a Registry key:
$subKey= $key->Open( "SubKey/SubSubKey/",
@@ -3741,7 +3744,7 @@ and confusing). This includes references to C<$^E> perhaps not
being meaningful.
Because Perl hashes are case sensitive, certain lookups are also
-case sensistive. In particular, the root keys ("Classes", "CUser",
+case sensitive. In particular, the root keys ("Classes", "CUser",
"LMachine", "Users", "PerfData", "CConfig", "DynData", and HKEY_*)
must always be entered without changing between upper and lower
case letters. Also, the special rule for matching subkey names
diff --git a/Master/tlpkg/tlperl/lib/Win32/WinError.pm b/Master/tlpkg/tlperl/lib/Win32/WinError.pm
new file mode 100644
index 00000000000..c61347b6ec6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/WinError.pm
@@ -0,0 +1,1017 @@
+package Win32::WinError;
+
+require Exporter;
+require DynaLoader;
+
+$VERSION = '0.04';
+
+@ISA = qw(Exporter DynaLoader);
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+@EXPORT = qw(
+ GetLastError
+ CACHE_E_FIRST
+ CACHE_E_LAST
+ CACHE_E_NOCACHE_UPDATED
+ CACHE_S_FIRST
+ CACHE_S_FORMATETC_NOTSUPPORTED
+ CACHE_S_LAST
+ CACHE_S_SAMECACHE
+ CACHE_S_SOMECACHES_NOTUPDATED
+ CLASSFACTORY_E_FIRST
+ CLASSFACTORY_E_LAST
+ CLASSFACTORY_S_FIRST
+ CLASSFACTORY_S_LAST
+ CLASS_E_CLASSNOTAVAILABLE
+ CLASS_E_NOAGGREGATION
+ CLIENTSITE_E_FIRST
+ CLIENTSITE_E_LAST
+ CLIENTSITE_S_FIRST
+ CLIENTSITE_S_LAST
+ CLIPBRD_E_BAD_DATA
+ CLIPBRD_E_CANT_CLOSE
+ CLIPBRD_E_CANT_EMPTY
+ CLIPBRD_E_CANT_OPEN
+ CLIPBRD_E_CANT_SET
+ CLIPBRD_E_FIRST
+ CLIPBRD_E_LAST
+ CLIPBRD_S_FIRST
+ CLIPBRD_S_LAST
+ CONVERT10_E_FIRST
+ CONVERT10_E_LAST
+ CONVERT10_E_OLESTREAM_BITMAP_TO_DIB
+ CONVERT10_E_OLESTREAM_FMT
+ CONVERT10_E_OLESTREAM_GET
+ CONVERT10_E_OLESTREAM_PUT
+ CONVERT10_E_STG_DIB_TO_BITMAP
+ CONVERT10_E_STG_FMT
+ CONVERT10_E_STG_NO_STD_STREAM
+ CONVERT10_S_FIRST
+ CONVERT10_S_LAST
+ CONVERT10_S_NO_PRESENTATION
+ CO_E_ALREADYINITIALIZED
+ CO_E_APPDIDNTREG
+ CO_E_APPNOTFOUND
+ CO_E_APPSINGLEUSE
+ CO_E_BAD_PATH
+ CO_E_CANTDETERMINECLASS
+ CO_E_CLASSSTRING
+ CO_E_CLASS_CREATE_FAILED
+ CO_E_DLLNOTFOUND
+ CO_E_ERRORINAPP
+ CO_E_ERRORINDLL
+ CO_E_FIRST
+ CO_E_IIDSTRING
+ CO_E_INIT_CLASS_CACHE
+ CO_E_INIT_MEMORY_ALLOCATOR
+ CO_E_INIT_ONLY_SINGLE_THREADED
+ CO_E_INIT_RPC_CHANNEL
+ CO_E_INIT_SCM_EXEC_FAILURE
+ CO_E_INIT_SCM_FILE_MAPPING_EXISTS
+ CO_E_INIT_SCM_MAP_VIEW_OF_FILE
+ CO_E_INIT_SCM_MUTEX_EXISTS
+ CO_E_INIT_SHARED_ALLOCATOR
+ CO_E_INIT_TLS
+ CO_E_INIT_TLS_CHANNEL_CONTROL
+ CO_E_INIT_TLS_SET_CHANNEL_CONTROL
+ CO_E_INIT_UNACCEPTED_USER_ALLOCATOR
+ CO_E_LAST
+ CO_E_NOTINITIALIZED
+ CO_E_OBJISREG
+ CO_E_OBJNOTCONNECTED
+ CO_E_OBJNOTREG
+ CO_E_OBJSRV_RPC_FAILURE
+ CO_E_RELEASED
+ CO_E_SCM_ERROR
+ CO_E_SCM_RPC_FAILURE
+ CO_E_SERVER_EXEC_FAILURE
+ CO_E_SERVER_STOPPING
+ CO_E_WRONGOSFORAPP
+ CO_S_FIRST
+ CO_S_LAST
+ DATA_E_FIRST
+ DATA_E_LAST
+ DATA_S_FIRST
+ DATA_S_LAST
+ DATA_S_SAMEFORMATETC
+ DISP_E_ARRAYISLOCKED
+ DISP_E_BADCALLEE
+ DISP_E_BADINDEX
+ DISP_E_BADPARAMCOUNT
+ DISP_E_BADVARTYPE
+ DISP_E_EXCEPTION
+ DISP_E_MEMBERNOTFOUND
+ DISP_E_NONAMEDARGS
+ DISP_E_NOTACOLLECTION
+ DISP_E_OVERFLOW
+ DISP_E_PARAMNOTFOUND
+ DISP_E_PARAMNOTOPTIONAL
+ DISP_E_TYPEMISMATCH
+ DISP_E_UNKNOWNINTERFACE
+ DISP_E_UNKNOWNLCID
+ DISP_E_UNKNOWNNAME
+ DRAGDROP_E_ALREADYREGISTERED
+ DRAGDROP_E_FIRST
+ DRAGDROP_E_INVALIDHWND
+ DRAGDROP_E_LAST
+ DRAGDROP_E_NOTREGISTERED
+ DRAGDROP_S_CANCEL
+ DRAGDROP_S_DROP
+ DRAGDROP_S_FIRST
+ DRAGDROP_S_LAST
+ DRAGDROP_S_USEDEFAULTCURSORS
+ DV_E_CLIPFORMAT
+ DV_E_DVASPECT
+ DV_E_DVTARGETDEVICE
+ DV_E_DVTARGETDEVICE_SIZE
+ DV_E_FORMATETC
+ DV_E_LINDEX
+ DV_E_NOIVIEWOBJECT
+ DV_E_STATDATA
+ DV_E_STGMEDIUM
+ DV_E_TYMED
+ ENUM_E_FIRST
+ ENUM_E_LAST
+ ENUM_S_FIRST
+ ENUM_S_LAST
+ EPT_S_CANT_CREATE
+ EPT_S_CANT_PERFORM_OP
+ EPT_S_INVALID_ENTRY
+ EPT_S_NOT_REGISTERED
+ ERROR_ACCESS_DENIED
+ ERROR_ACCOUNT_DISABLED
+ ERROR_ACCOUNT_EXPIRED
+ ERROR_ACCOUNT_LOCKED_OUT
+ ERROR_ACCOUNT_RESTRICTION
+ ERROR_ACTIVE_CONNECTIONS
+ ERROR_ADAP_HDW_ERR
+ ERROR_ADDRESS_ALREADY_ASSOCIATED
+ ERROR_ADDRESS_NOT_ASSOCIATED
+ ERROR_ALIAS_EXISTS
+ ERROR_ALLOTTED_SPACE_EXCEEDED
+ ERROR_ALREADY_ASSIGNED
+ ERROR_ALREADY_EXISTS
+ ERROR_ALREADY_REGISTERED
+ ERROR_ALREADY_RUNNING_LKG
+ ERROR_ALREADY_WAITING
+ ERROR_ARENA_TRASHED
+ ERROR_ARITHMETIC_OVERFLOW
+ ERROR_ATOMIC_LOCKS_NOT_SUPPORTED
+ ERROR_AUTODATASEG_EXCEEDS_64k
+ ERROR_BADDB
+ ERROR_BADKEY
+ ERROR_BAD_ARGUMENTS
+ ERROR_BAD_COMMAND
+ ERROR_BAD_DESCRIPTOR_FORMAT
+ ERROR_BAD_DEVICE
+ ERROR_BAD_DEV_TYPE
+ ERROR_BAD_DRIVER
+ ERROR_BAD_DRIVER_LEVEL
+ ERROR_BAD_ENVIRONMENT
+ ERROR_BAD_EXE_FORMAT
+ ERROR_BAD_FORMAT
+ ERROR_BAD_IMPERSONATION_LEVEL
+ ERROR_BAD_INHERITANCE_ACL
+ ERROR_BAD_LENGTH
+ ERROR_BAD_LOGON_SESSION_STATE
+ ERROR_BAD_NETPATH
+ ERROR_BAD_NET_NAME
+ ERROR_BAD_NET_RESP
+ ERROR_BAD_PATHNAME
+ ERROR_BAD_PIPE
+ ERROR_BAD_PROFILE
+ ERROR_BAD_PROVIDER
+ ERROR_BAD_REM_ADAP
+ ERROR_BAD_THREADID_ADDR
+ ERROR_BAD_TOKEN_TYPE
+ ERROR_BAD_UNIT
+ ERROR_BAD_USERNAME
+ ERROR_BAD_VALIDATION_CLASS
+ ERROR_BEGINNING_OF_MEDIA
+ ERROR_BOOT_ALREADY_ACCEPTED
+ ERROR_BROKEN_PIPE
+ ERROR_BUFFER_OVERFLOW
+ ERROR_BUSY
+ ERROR_BUSY_DRIVE
+ ERROR_BUS_RESET
+ ERROR_CALL_NOT_IMPLEMENTED
+ ERROR_CANCELLED
+ ERROR_CANCEL_VIOLATION
+ ERROR_CANNOT_COPY
+ ERROR_CANNOT_FIND_WND_CLASS
+ ERROR_CANNOT_IMPERSONATE
+ ERROR_CANNOT_MAKE
+ ERROR_CANNOT_OPEN_PROFILE
+ ERROR_CANTOPEN
+ ERROR_CANTREAD
+ ERROR_CANTWRITE
+ ERROR_CANT_ACCESS_DOMAIN_INFO
+ ERROR_CANT_DISABLE_MANDATORY
+ ERROR_CANT_OPEN_ANONYMOUS
+ ERROR_CAN_NOT_COMPLETE
+ ERROR_CAN_NOT_DEL_LOCAL_WINS
+ ERROR_CHILD_MUST_BE_VOLATILE
+ ERROR_CHILD_NOT_COMPLETE
+ ERROR_CHILD_WINDOW_MENU
+ ERROR_CIRCULAR_DEPENDENCY
+ ERROR_CLASS_ALREADY_EXISTS
+ ERROR_CLASS_DOES_NOT_EXIST
+ ERROR_CLASS_HAS_WINDOWS
+ ERROR_CLIPBOARD_NOT_OPEN
+ ERROR_CLIPPING_NOT_SUPPORTED
+ ERROR_CONNECTION_ABORTED
+ ERROR_CONNECTION_ACTIVE
+ ERROR_CONNECTION_COUNT_LIMIT
+ ERROR_CONNECTION_INVALID
+ ERROR_CONNECTION_REFUSED
+ ERROR_CONNECTION_UNAVAIL
+ ERROR_CONTROL_ID_NOT_FOUND
+ ERROR_COUNTER_TIMEOUT
+ ERROR_CRC
+ ERROR_CURRENT_DIRECTORY
+ ERROR_DATABASE_DOES_NOT_EXIST
+ ERROR_DC_NOT_FOUND
+ ERROR_DEPENDENT_SERVICES_RUNNING
+ ERROR_DESTROY_OBJECT_OF_OTHER_THREAD
+ ERROR_DEVICE_ALREADY_REMEMBERED
+ ERROR_DEVICE_IN_USE
+ ERROR_DEVICE_NOT_PARTITIONED
+ ERROR_DEV_NOT_EXIST
+ ERROR_DIRECTORY
+ ERROR_DIRECT_ACCESS_HANDLE
+ ERROR_DIR_NOT_EMPTY
+ ERROR_DIR_NOT_ROOT
+ ERROR_DISCARDED
+ ERROR_DISK_CHANGE
+ ERROR_DISK_CORRUPT
+ ERROR_DISK_FULL
+ ERROR_DISK_OPERATION_FAILED
+ ERROR_DISK_RECALIBRATE_FAILED
+ ERROR_DISK_RESET_FAILED
+ ERROR_DLL_INIT_FAILED
+ ERROR_DOMAIN_CONTROLLER_NOT_FOUND
+ ERROR_DOMAIN_EXISTS
+ ERROR_DOMAIN_LIMIT_EXCEEDED
+ ERROR_DOMAIN_TRUST_INCONSISTENT
+ ERROR_DRIVE_LOCKED
+ ERROR_DUPLICATE_SERVICE_NAME
+ ERROR_DUP_DOMAINNAME
+ ERROR_DUP_NAME
+ ERROR_DYNLINK_FROM_INVALID_RING
+ ERROR_EAS_DIDNT_FIT
+ ERROR_EAS_NOT_SUPPORTED
+ ERROR_EA_ACCESS_DENIED
+ ERROR_EA_FILE_CORRUPT
+ ERROR_EA_LIST_INCONSISTENT
+ ERROR_EA_TABLE_FULL
+ ERROR_END_OF_MEDIA
+ ERROR_ENVVAR_NOT_FOUND
+ ERROR_EOM_OVERFLOW
+ ERROR_EVENTLOG_CANT_START
+ ERROR_EVENTLOG_FILE_CHANGED
+ ERROR_EVENTLOG_FILE_CORRUPT
+ ERROR_EXCEPTION_IN_SERVICE
+ ERROR_EXCL_SEM_ALREADY_OWNED
+ ERROR_EXE_MARKED_INVALID
+ ERROR_EXTENDED_ERROR
+ ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
+ ERROR_FAIL_I24
+ ERROR_FILEMARK_DETECTED
+ ERROR_FILENAME_EXCED_RANGE
+ ERROR_FILE_CORRUPT
+ ERROR_FILE_EXISTS
+ ERROR_FILE_INVALID
+ ERROR_FILE_NOT_FOUND
+ ERROR_FLOPPY_BAD_REGISTERS
+ ERROR_FLOPPY_ID_MARK_NOT_FOUND
+ ERROR_FLOPPY_UNKNOWN_ERROR
+ ERROR_FLOPPY_WRONG_CYLINDER
+ ERROR_FULLSCREEN_MODE
+ ERROR_FULL_BACKUP
+ ERROR_GENERIC_NOT_MAPPED
+ ERROR_GEN_FAILURE
+ ERROR_GLOBAL_ONLY_HOOK
+ ERROR_GRACEFUL_DISCONNECT
+ ERROR_GROUP_EXISTS
+ ERROR_HANDLE_DISK_FULL
+ ERROR_HANDLE_EOF
+ ERROR_HOOK_NEEDS_HMOD
+ ERROR_HOOK_NOT_INSTALLED
+ ERROR_HOST_UNREACHABLE
+ ERROR_HOTKEY_ALREADY_REGISTERED
+ ERROR_HOTKEY_NOT_REGISTERED
+ ERROR_HWNDS_HAVE_DIFF_PARENT
+ ERROR_ILL_FORMED_PASSWORD
+ ERROR_INCORRECT_ADDRESS
+ ERROR_INC_BACKUP
+ ERROR_INFLOOP_IN_RELOC_CHAIN
+ ERROR_INSUFFICIENT_BUFFER
+ ERROR_INTERNAL_DB_CORRUPTION
+ ERROR_INTERNAL_DB_ERROR
+ ERROR_INTERNAL_ERROR
+ ERROR_INVALID_ACCEL_HANDLE
+ ERROR_INVALID_ACCESS
+ ERROR_INVALID_ACCOUNT_NAME
+ ERROR_INVALID_ACL
+ ERROR_INVALID_ADDRESS
+ ERROR_INVALID_AT_INTERRUPT_TIME
+ ERROR_INVALID_BLOCK
+ ERROR_INVALID_BLOCK_LENGTH
+ ERROR_INVALID_CATEGORY
+ ERROR_INVALID_COMBOBOX_MESSAGE
+ ERROR_INVALID_COMPUTERNAME
+ ERROR_INVALID_CURSOR_HANDLE
+ ERROR_INVALID_DATA
+ ERROR_INVALID_DATATYPE
+ ERROR_INVALID_DOMAINNAME
+ ERROR_INVALID_DOMAIN_ROLE
+ ERROR_INVALID_DOMAIN_STATE
+ ERROR_INVALID_DRIVE
+ ERROR_INVALID_DWP_HANDLE
+ ERROR_INVALID_EA_HANDLE
+ ERROR_INVALID_EA_NAME
+ ERROR_INVALID_EDIT_HEIGHT
+ ERROR_INVALID_ENVIRONMENT
+ ERROR_INVALID_EVENTNAME
+ ERROR_INVALID_EVENT_COUNT
+ ERROR_INVALID_EXE_SIGNATURE
+ ERROR_INVALID_FILTER_PROC
+ ERROR_INVALID_FLAGS
+ ERROR_INVALID_FLAG_NUMBER
+ ERROR_INVALID_FORM_NAME
+ ERROR_INVALID_FORM_SIZE
+ ERROR_INVALID_FUNCTION
+ ERROR_INVALID_GROUPNAME
+ ERROR_INVALID_GROUP_ATTRIBUTES
+ ERROR_INVALID_GW_COMMAND
+ ERROR_INVALID_HANDLE
+ ERROR_INVALID_HOOK_FILTER
+ ERROR_INVALID_HOOK_HANDLE
+ ERROR_INVALID_ICON_HANDLE
+ ERROR_INVALID_ID_AUTHORITY
+ ERROR_INVALID_INDEX
+ ERROR_INVALID_LB_MESSAGE
+ ERROR_INVALID_LEVEL
+ ERROR_INVALID_LIST_FORMAT
+ ERROR_INVALID_LOGON_HOURS
+ ERROR_INVALID_LOGON_TYPE
+ ERROR_INVALID_MEMBER
+ ERROR_INVALID_MENU_HANDLE
+ ERROR_INVALID_MESSAGE
+ ERROR_INVALID_MESSAGEDEST
+ ERROR_INVALID_MESSAGENAME
+ ERROR_INVALID_MINALLOCSIZE
+ ERROR_INVALID_MODULETYPE
+ ERROR_INVALID_MSGBOX_STYLE
+ ERROR_INVALID_NAME
+ ERROR_INVALID_NETNAME
+ ERROR_INVALID_ORDINAL
+ ERROR_INVALID_OWNER
+ ERROR_INVALID_PARAMETER
+ ERROR_INVALID_PASSWORD
+ ERROR_INVALID_PASSWORDNAME
+ ERROR_INVALID_PIXEL_FORMAT
+ ERROR_INVALID_PRIMARY_GROUP
+ ERROR_INVALID_PRINTER_COMMAND
+ ERROR_INVALID_PRINTER_NAME
+ ERROR_INVALID_PRINTER_STATE
+ ERROR_INVALID_PRIORITY
+ ERROR_INVALID_SCROLLBAR_RANGE
+ ERROR_INVALID_SECURITY_DESCR
+ ERROR_INVALID_SEGDPL
+ ERROR_INVALID_SEGMENT_NUMBER
+ ERROR_INVALID_SEPARATOR_FILE
+ ERROR_INVALID_SERVER_STATE
+ ERROR_INVALID_SERVICENAME
+ ERROR_INVALID_SERVICE_ACCOUNT
+ ERROR_INVALID_SERVICE_CONTROL
+ ERROR_INVALID_SERVICE_LOCK
+ ERROR_INVALID_SHARENAME
+ ERROR_INVALID_SHOWWIN_COMMAND
+ ERROR_INVALID_SID
+ ERROR_INVALID_SIGNAL_NUMBER
+ ERROR_INVALID_SPI_VALUE
+ ERROR_INVALID_STACKSEG
+ ERROR_INVALID_STARTING_CODESEG
+ ERROR_INVALID_SUB_AUTHORITY
+ ERROR_INVALID_TARGET_HANDLE
+ ERROR_INVALID_THREAD_ID
+ ERROR_INVALID_TIME
+ ERROR_INVALID_USER_BUFFER
+ ERROR_INVALID_VERIFY_SWITCH
+ ERROR_INVALID_WINDOW_HANDLE
+ ERROR_INVALID_WINDOW_STYLE
+ ERROR_INVALID_WORKSTATION
+ ERROR_IOPL_NOT_ENABLED
+ ERROR_IO_DEVICE
+ ERROR_IO_INCOMPLETE
+ ERROR_IO_PENDING
+ ERROR_IRQ_BUSY
+ ERROR_IS_JOINED
+ ERROR_IS_JOIN_PATH
+ ERROR_IS_JOIN_TARGET
+ ERROR_IS_SUBSTED
+ ERROR_IS_SUBST_PATH
+ ERROR_IS_SUBST_TARGET
+ ERROR_ITERATED_DATA_EXCEEDS_64k
+ ERROR_JOIN_TO_JOIN
+ ERROR_JOIN_TO_SUBST
+ ERROR_JOURNAL_HOOK_SET
+ ERROR_KEY_DELETED
+ ERROR_KEY_HAS_CHILDREN
+ ERROR_LABEL_TOO_LONG
+ ERROR_LAST_ADMIN
+ ERROR_LB_WITHOUT_TABSTOPS
+ ERROR_LISTBOX_ID_NOT_FOUND
+ ERROR_LM_CROSS_ENCRYPTION_REQUIRED
+ ERROR_LOCAL_USER_SESSION_KEY
+ ERROR_LOCKED
+ ERROR_LOCK_FAILED
+ ERROR_LOCK_VIOLATION
+ ERROR_LOGIN_TIME_RESTRICTION
+ ERROR_LOGIN_WKSTA_RESTRICTION
+ ERROR_LOGON_FAILURE
+ ERROR_LOGON_NOT_GRANTED
+ ERROR_LOGON_SESSION_COLLISION
+ ERROR_LOGON_SESSION_EXISTS
+ ERROR_LOGON_TYPE_NOT_GRANTED
+ ERROR_LOG_FILE_FULL
+ ERROR_LUIDS_EXHAUSTED
+ ERROR_MAPPED_ALIGNMENT
+ ERROR_MAX_THRDS_REACHED
+ ERROR_MEDIA_CHANGED
+ ERROR_MEMBERS_PRIMARY_GROUP
+ ERROR_MEMBER_IN_ALIAS
+ ERROR_MEMBER_IN_GROUP
+ ERROR_MEMBER_NOT_IN_ALIAS
+ ERROR_MEMBER_NOT_IN_GROUP
+ ERROR_METAFILE_NOT_SUPPORTED
+ ERROR_META_EXPANSION_TOO_LONG
+ ERROR_MOD_NOT_FOUND
+ ERROR_MORE_DATA
+ ERROR_MORE_WRITES
+ ERROR_MR_MID_NOT_FOUND
+ ERROR_NEGATIVE_SEEK
+ ERROR_NESTING_NOT_ALLOWED
+ ERROR_NETLOGON_NOT_STARTED
+ ERROR_NETNAME_DELETED
+ ERROR_NETWORK_ACCESS_DENIED
+ ERROR_NETWORK_BUSY
+ ERROR_NETWORK_UNREACHABLE
+ ERROR_NET_WRITE_FAULT
+ ERROR_NOACCESS
+ ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
+ ERROR_NOLOGON_SERVER_TRUST_ACCOUNT
+ ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT
+ ERROR_NONE_MAPPED
+ ERROR_NON_MDICHILD_WINDOW
+ ERROR_NOTIFY_ENUM_DIR
+ ERROR_NOT_ALL_ASSIGNED
+ ERROR_NOT_CHILD_WINDOW
+ ERROR_NOT_CONNECTED
+ ERROR_NOT_CONTAINER
+ ERROR_NOT_DOS_DISK
+ ERROR_NOT_ENOUGH_MEMORY
+ ERROR_NOT_ENOUGH_QUOTA
+ ERROR_NOT_ENOUGH_SERVER_MEMORY
+ ERROR_NOT_JOINED
+ ERROR_NOT_LOCKED
+ ERROR_NOT_LOGON_PROCESS
+ ERROR_NOT_OWNER
+ ERROR_NOT_READY
+ ERROR_NOT_REGISTRY_FILE
+ ERROR_NOT_SAME_DEVICE
+ ERROR_NOT_SUBSTED
+ ERROR_NOT_SUPPORTED
+ ERROR_NO_BROWSER_SERVERS_FOUND
+ ERROR_NO_DATA
+ ERROR_NO_DATA_DETECTED
+ ERROR_NO_IMPERSONATION_TOKEN
+ ERROR_NO_INHERITANCE
+ ERROR_NO_LOGON_SERVERS
+ ERROR_NO_LOG_SPACE
+ ERROR_NO_MEDIA_IN_DRIVE
+ ERROR_NO_MORE_FILES
+ ERROR_NO_MORE_ITEMS
+ ERROR_NO_MORE_SEARCH_HANDLES
+ ERROR_NO_NETWORK
+ ERROR_NO_NET_OR_BAD_PATH
+ ERROR_NO_PROC_SLOTS
+ ERROR_NO_QUOTAS_FOR_ACCOUNT
+ ERROR_NO_SCROLLBARS
+ ERROR_NO_SECURITY_ON_OBJECT
+ ERROR_NO_SHUTDOWN_IN_PROGRESS
+ ERROR_NO_SIGNAL_SENT
+ ERROR_NO_SPOOL_SPACE
+ ERROR_NO_SUCH_ALIAS
+ ERROR_NO_SUCH_DOMAIN
+ ERROR_NO_SUCH_GROUP
+ ERROR_NO_SUCH_LOGON_SESSION
+ ERROR_NO_SUCH_MEMBER
+ ERROR_NO_SUCH_PACKAGE
+ ERROR_NO_SUCH_PRIVILEGE
+ ERROR_NO_SUCH_USER
+ ERROR_NO_SYSTEM_MENU
+ ERROR_NO_TOKEN
+ ERROR_NO_TRUST_LSA_SECRET
+ ERROR_NO_TRUST_SAM_ACCOUNT
+ ERROR_NO_UNICODE_TRANSLATION
+ ERROR_NO_USER_SESSION_KEY
+ ERROR_NO_VOLUME_LABEL
+ ERROR_NO_WILDCARD_CHARACTERS
+ ERROR_NT_CROSS_ENCRYPTION_REQUIRED
+ ERROR_NULL_LM_PASSWORD
+ ERROR_OPEN_FAILED
+ ERROR_OPEN_FILES
+ ERROR_OPERATION_ABORTED
+ ERROR_OUTOFMEMORY
+ ERROR_OUT_OF_PAPER
+ ERROR_OUT_OF_STRUCTURES
+ ERROR_PARTIAL_COPY
+ ERROR_PARTITION_FAILURE
+ ERROR_PASSWORD_EXPIRED
+ ERROR_PASSWORD_MUST_CHANGE
+ ERROR_PASSWORD_RESTRICTION
+ ERROR_PATH_BUSY
+ ERROR_PATH_NOT_FOUND
+ ERROR_PIPE_BUSY
+ ERROR_PIPE_CONNECTED
+ ERROR_PIPE_LISTENING
+ ERROR_PIPE_NOT_CONNECTED
+ ERROR_POPUP_ALREADY_ACTIVE
+ ERROR_PORT_UNREACHABLE
+ ERROR_POSSIBLE_DEADLOCK
+ ERROR_PRINTER_ALREADY_EXISTS
+ ERROR_PRINTER_DELETED
+ ERROR_PRINTER_DRIVER_ALREADY_INSTALLED
+ ERROR_PRINTER_DRIVER_IN_USE
+ ERROR_PRINTQ_FULL
+ ERROR_PRINT_CANCELLED
+ ERROR_PRINT_MONITOR_ALREADY_INSTALLED
+ ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED
+ ERROR_PRIVATE_DIALOG_INDEX
+ ERROR_PRIVILEGE_NOT_HELD
+ ERROR_PROCESS_ABORTED
+ ERROR_PROC_NOT_FOUND
+ ERROR_PROTOCOL_UNREACHABLE
+ ERROR_READ_FAULT
+ ERROR_REC_NON_EXISTENT
+ ERROR_REDIRECTOR_HAS_OPEN_HANDLES
+ ERROR_REDIR_PAUSED
+ ERROR_REGISTRY_CORRUPT
+ ERROR_REGISTRY_IO_FAILED
+ ERROR_REGISTRY_RECOVERED
+ ERROR_RELOC_CHAIN_XEEDS_SEGLIM
+ ERROR_REMOTE_SESSION_LIMIT_EXCEEDED
+ ERROR_REM_NOT_LIST
+ ERROR_REQUEST_ABORTED
+ ERROR_REQ_NOT_ACCEP
+ ERROR_RESOURCE_DATA_NOT_FOUND
+ ERROR_RESOURCE_LANG_NOT_FOUND
+ ERROR_RESOURCE_NAME_NOT_FOUND
+ ERROR_RESOURCE_TYPE_NOT_FOUND
+ ERROR_RETRY
+ ERROR_REVISION_MISMATCH
+ ERROR_RING2SEG_MUST_BE_MOVABLE
+ ERROR_RING2_STACK_IN_USE
+ ERROR_RPL_NOT_ALLOWED
+ ERROR_RXACT_COMMIT_FAILURE
+ ERROR_RXACT_INVALID_STATE
+ ERROR_SAME_DRIVE
+ ERROR_SCREEN_ALREADY_LOCKED
+ ERROR_SECRET_TOO_LONG
+ ERROR_SECTOR_NOT_FOUND
+ ERROR_SEEK
+ ERROR_SEEK_ON_DEVICE
+ ERROR_SEM_IS_SET
+ ERROR_SEM_NOT_FOUND
+ ERROR_SEM_OWNER_DIED
+ ERROR_SEM_TIMEOUT
+ ERROR_SEM_USER_LIMIT
+ ERROR_SERIAL_NO_DEVICE
+ ERROR_SERVER_DISABLED
+ ERROR_SERVER_HAS_OPEN_HANDLES
+ ERROR_SERVER_NOT_DISABLED
+ ERROR_SERVICE_ALREADY_RUNNING
+ ERROR_SERVICE_CANNOT_ACCEPT_CTRL
+ ERROR_SERVICE_DATABASE_LOCKED
+ ERROR_SERVICE_DEPENDENCY_DELETED
+ ERROR_SERVICE_DEPENDENCY_FAIL
+ ERROR_SERVICE_DISABLED
+ ERROR_SERVICE_DOES_NOT_EXIST
+ ERROR_SERVICE_EXISTS
+ ERROR_SERVICE_LOGON_FAILED
+ ERROR_SERVICE_MARKED_FOR_DELETE
+ ERROR_SERVICE_NEVER_STARTED
+ ERROR_SERVICE_NOT_ACTIVE
+ ERROR_SERVICE_NOT_FOUND
+ ERROR_SERVICE_NO_THREAD
+ ERROR_SERVICE_REQUEST_TIMEOUT
+ ERROR_SERVICE_SPECIFIC_ERROR
+ ERROR_SERVICE_START_HANG
+ ERROR_SESSION_CREDENTIAL_CONFLICT
+ ERROR_SETCOUNT_ON_BAD_LB
+ ERROR_SETMARK_DETECTED
+ ERROR_SHARING_BUFFER_EXCEEDED
+ ERROR_SHARING_PAUSED
+ ERROR_SHARING_VIOLATION
+ ERROR_SHUTDOWN_IN_PROGRESS
+ ERROR_SIGNAL_PENDING
+ ERROR_SIGNAL_REFUSED
+ ERROR_SOME_NOT_MAPPED
+ ERROR_SPECIAL_ACCOUNT
+ ERROR_SPECIAL_GROUP
+ ERROR_SPECIAL_USER
+ ERROR_SPL_NO_ADDJOB
+ ERROR_SPL_NO_STARTDOC
+ ERROR_SPOOL_FILE_NOT_FOUND
+ ERROR_STACK_OVERFLOW
+ ERROR_STATIC_INIT
+ ERROR_SUBST_TO_JOIN
+ ERROR_SUBST_TO_SUBST
+ ERROR_SUCCESS
+ ERROR_SWAPERROR
+ ERROR_SYSTEM_TRACE
+ ERROR_THREAD_1_INACTIVE
+ ERROR_TLW_WITH_WSCHILD
+ ERROR_TOKEN_ALREADY_IN_USE
+ ERROR_TOO_MANY_CMDS
+ ERROR_TOO_MANY_CONTEXT_IDS
+ ERROR_TOO_MANY_LUIDS_REQUESTED
+ ERROR_TOO_MANY_MODULES
+ ERROR_TOO_MANY_MUXWAITERS
+ ERROR_TOO_MANY_NAMES
+ ERROR_TOO_MANY_OPEN_FILES
+ ERROR_TOO_MANY_POSTS
+ ERROR_TOO_MANY_SECRETS
+ ERROR_TOO_MANY_SEMAPHORES
+ ERROR_TOO_MANY_SEM_REQUESTS
+ ERROR_TOO_MANY_SESS
+ ERROR_TOO_MANY_SIDS
+ ERROR_TOO_MANY_TCBS
+ ERROR_TRANSFORM_NOT_SUPPORTED
+ ERROR_TRUSTED_DOMAIN_FAILURE
+ ERROR_TRUSTED_RELATIONSHIP_FAILURE
+ ERROR_TRUST_FAILURE
+ ERROR_UNABLE_TO_LOCK_MEDIA
+ ERROR_UNABLE_TO_UNLOAD_MEDIA
+ ERROR_UNEXP_NET_ERR
+ ERROR_UNKNOWN_PORT
+ ERROR_UNKNOWN_PRINTER_DRIVER
+ ERROR_UNKNOWN_PRINTPROCESSOR
+ ERROR_UNKNOWN_PRINT_MONITOR
+ ERROR_UNKNOWN_REVISION
+ ERROR_UNRECOGNIZED_MEDIA
+ ERROR_UNRECOGNIZED_VOLUME
+ ERROR_USER_EXISTS
+ ERROR_USER_MAPPED_FILE
+ ERROR_VC_DISCONNECTED
+ ERROR_WAIT_NO_CHILDREN
+ ERROR_WINDOW_NOT_COMBOBOX
+ ERROR_WINDOW_NOT_DIALOG
+ ERROR_WINDOW_OF_OTHER_THREAD
+ ERROR_WINS_INTERNAL
+ ERROR_WRITE_FAULT
+ ERROR_WRITE_PROTECT
+ ERROR_WRONG_DISK
+ ERROR_WRONG_PASSWORD
+ E_ABORT
+ E_ACCESSDENIED
+ E_FAIL
+ E_HANDLE
+ E_INVALIDARG
+ E_NOINTERFACE
+ E_NOTIMPL
+ E_OUTOFMEMORY
+ E_POINTER
+ E_UNEXPECTED
+ FACILITY_CONTROL
+ FACILITY_DISPATCH
+ FACILITY_ITF
+ FACILITY_NT_BIT
+ FACILITY_NULL
+ FACILITY_RPC
+ FACILITY_STORAGE
+ FACILITY_WIN32
+ FACILITY_WINDOWS
+ INPLACE_E_FIRST
+ INPLACE_E_LAST
+ INPLACE_E_NOTOOLSPACE
+ INPLACE_E_NOTUNDOABLE
+ INPLACE_S_FIRST
+ INPLACE_S_LAST
+ INPLACE_S_TRUNCATED
+ MARSHAL_E_FIRST
+ MARSHAL_E_LAST
+ MARSHAL_S_FIRST
+ MARSHAL_S_LAST
+ MEM_E_INVALID_LINK
+ MEM_E_INVALID_ROOT
+ MEM_E_INVALID_SIZE
+ MK_E_CANTOPENFILE
+ MK_E_CONNECTMANUALLY
+ MK_E_ENUMERATION_FAILED
+ MK_E_EXCEEDEDDEADLINE
+ MK_E_FIRST
+ MK_E_INTERMEDIATEINTERFACENOTSUPPORTED
+ MK_E_INVALIDEXTENSION
+ MK_E_LAST
+ MK_E_MUSTBOTHERUSER
+ MK_E_NEEDGENERIC
+ MK_E_NOINVERSE
+ MK_E_NOOBJECT
+ MK_E_NOPREFIX
+ MK_E_NOSTORAGE
+ MK_E_NOTBINDABLE
+ MK_E_NOTBOUND
+ MK_E_NO_NORMALIZED
+ MK_E_SYNTAX
+ MK_E_UNAVAILABLE
+ MK_S_FIRST
+ MK_S_HIM
+ MK_S_LAST
+ MK_S_ME
+ MK_S_MONIKERALREADYREGISTERED
+ MK_S_REDUCED_TO_SELF
+ MK_S_US
+ NOERROR
+ NO_ERROR
+ OLEOBJ_E_FIRST
+ OLEOBJ_E_INVALIDVERB
+ OLEOBJ_E_LAST
+ OLEOBJ_E_NOVERBS
+ OLEOBJ_S_CANNOT_DOVERB_NOW
+ OLEOBJ_S_FIRST
+ OLEOBJ_S_INVALIDHWND
+ OLEOBJ_S_INVALIDVERB
+ OLEOBJ_S_LAST
+ OLE_E_ADVF
+ OLE_E_ADVISENOTSUPPORTED
+ OLE_E_BLANK
+ OLE_E_CANTCONVERT
+ OLE_E_CANT_BINDTOSOURCE
+ OLE_E_CANT_GETMONIKER
+ OLE_E_CLASSDIFF
+ OLE_E_ENUM_NOMORE
+ OLE_E_FIRST
+ OLE_E_INVALIDHWND
+ OLE_E_INVALIDRECT
+ OLE_E_LAST
+ OLE_E_NOCACHE
+ OLE_E_NOCONNECTION
+ OLE_E_NOSTORAGE
+ OLE_E_NOTRUNNING
+ OLE_E_NOT_INPLACEACTIVE
+ OLE_E_OLEVERB
+ OLE_E_PROMPTSAVECANCELLED
+ OLE_E_STATIC
+ OLE_E_WRONGCOMPOBJ
+ OLE_S_FIRST
+ OLE_S_LAST
+ OLE_S_MAC_CLIPFORMAT
+ OLE_S_STATIC
+ OLE_S_USEREG
+ REGDB_E_CLASSNOTREG
+ REGDB_E_FIRST
+ REGDB_E_IIDNOTREG
+ REGDB_E_INVALIDVALUE
+ REGDB_E_KEYMISSING
+ REGDB_E_LAST
+ REGDB_E_READREGDB
+ REGDB_E_WRITEREGDB
+ REGDB_S_FIRST
+ REGDB_S_LAST
+ RPC_E_ATTEMPTED_MULTITHREAD
+ RPC_E_CALL_CANCELED
+ RPC_E_CALL_REJECTED
+ RPC_E_CANTCALLOUT_AGAIN
+ RPC_E_CANTCALLOUT_INASYNCCALL
+ RPC_E_CANTCALLOUT_INEXTERNALCALL
+ RPC_E_CANTCALLOUT_ININPUTSYNCCALL
+ RPC_E_CANTPOST_INSENDCALL
+ RPC_E_CANTTRANSMIT_CALL
+ RPC_E_CHANGED_MODE
+ RPC_E_CLIENT_CANTMARSHAL_DATA
+ RPC_E_CLIENT_CANTUNMARSHAL_DATA
+ RPC_E_CLIENT_DIED
+ RPC_E_CONNECTION_TERMINATED
+ RPC_E_DISCONNECTED
+ RPC_E_FAULT
+ RPC_E_INVALIDMETHOD
+ RPC_E_INVALID_CALLDATA
+ RPC_E_INVALID_DATA
+ RPC_E_INVALID_DATAPACKET
+ RPC_E_INVALID_PARAMETER
+ RPC_E_NOT_REGISTERED
+ RPC_E_OUT_OF_RESOURCES
+ RPC_E_RETRY
+ RPC_E_SERVERCALL_REJECTED
+ RPC_E_SERVERCALL_RETRYLATER
+ RPC_E_SERVERFAULT
+ RPC_E_SERVER_CANTMARSHAL_DATA
+ RPC_E_SERVER_CANTUNMARSHAL_DATA
+ RPC_E_SERVER_DIED
+ RPC_E_SERVER_DIED_DNE
+ RPC_E_SYS_CALL_FAILED
+ RPC_E_THREAD_NOT_INIT
+ RPC_E_UNEXPECTED
+ RPC_E_WRONG_THREAD
+ RPC_S_ADDRESS_ERROR
+ RPC_S_ALREADY_LISTENING
+ RPC_S_ALREADY_REGISTERED
+ RPC_S_BINDING_HAS_NO_AUTH
+ RPC_S_BINDING_INCOMPLETE
+ RPC_S_CALL_CANCELLED
+ RPC_S_CALL_FAILED
+ RPC_S_CALL_FAILED_DNE
+ RPC_S_CALL_IN_PROGRESS
+ RPC_S_CANNOT_SUPPORT
+ RPC_S_CANT_CREATE_ENDPOINT
+ RPC_S_COMM_FAILURE
+ RPC_S_DUPLICATE_ENDPOINT
+ RPC_S_ENTRY_ALREADY_EXISTS
+ RPC_S_ENTRY_NOT_FOUND
+ RPC_S_FP_DIV_ZERO
+ RPC_S_FP_OVERFLOW
+ RPC_S_FP_UNDERFLOW
+ RPC_S_GROUP_MEMBER_NOT_FOUND
+ RPC_S_INCOMPLETE_NAME
+ RPC_S_INTERFACE_NOT_FOUND
+ RPC_S_INTERNAL_ERROR
+ RPC_S_INVALID_AUTH_IDENTITY
+ RPC_S_INVALID_BINDING
+ RPC_S_INVALID_BOUND
+ RPC_S_INVALID_ENDPOINT_FORMAT
+ RPC_S_INVALID_NAF_ID
+ RPC_S_INVALID_NAME_SYNTAX
+ RPC_S_INVALID_NETWORK_OPTIONS
+ RPC_S_INVALID_NET_ADDR
+ RPC_S_INVALID_OBJECT
+ RPC_S_INVALID_RPC_PROTSEQ
+ RPC_S_INVALID_STRING_BINDING
+ RPC_S_INVALID_STRING_UUID
+ RPC_S_INVALID_TAG
+ RPC_S_INVALID_TIMEOUT
+ RPC_S_INVALID_VERS_OPTION
+ RPC_S_MAX_CALLS_TOO_SMALL
+ RPC_S_NAME_SERVICE_UNAVAILABLE
+ RPC_S_NOTHING_TO_EXPORT
+ RPC_S_NOT_ALL_OBJS_UNEXPORTED
+ RPC_S_NOT_CANCELLED
+ RPC_S_NOT_LISTENING
+ RPC_S_NOT_RPC_ERROR
+ RPC_S_NO_BINDINGS
+ RPC_S_NO_CALL_ACTIVE
+ RPC_S_NO_CONTEXT_AVAILABLE
+ RPC_S_NO_ENDPOINT_FOUND
+ RPC_S_NO_ENTRY_NAME
+ RPC_S_NO_INTERFACES
+ RPC_S_NO_MORE_BINDINGS
+ RPC_S_NO_MORE_MEMBERS
+ RPC_S_NO_PRINC_NAME
+ RPC_S_NO_PROTSEQS
+ RPC_S_NO_PROTSEQS_REGISTERED
+ RPC_S_OBJECT_NOT_FOUND
+ RPC_S_OUT_OF_RESOURCES
+ RPC_S_PROCNUM_OUT_OF_RANGE
+ RPC_S_PROTOCOL_ERROR
+ RPC_S_PROTSEQ_NOT_FOUND
+ RPC_S_PROTSEQ_NOT_SUPPORTED
+ RPC_S_SEC_PKG_ERROR
+ RPC_S_SERVER_TOO_BUSY
+ RPC_S_SERVER_UNAVAILABLE
+ RPC_S_STRING_TOO_LONG
+ RPC_S_TYPE_ALREADY_REGISTERED
+ RPC_S_UNKNOWN_AUTHN_LEVEL
+ RPC_S_UNKNOWN_AUTHN_SERVICE
+ RPC_S_UNKNOWN_AUTHN_TYPE
+ RPC_S_UNKNOWN_AUTHZ_SERVICE
+ RPC_S_UNKNOWN_IF
+ RPC_S_UNKNOWN_MGR_TYPE
+ RPC_S_UNSUPPORTED_AUTHN_LEVEL
+ RPC_S_UNSUPPORTED_NAME_SYNTAX
+ RPC_S_UNSUPPORTED_TRANS_SYN
+ RPC_S_UNSUPPORTED_TYPE
+ RPC_S_UUID_LOCAL_ONLY
+ RPC_S_UUID_NO_ADDRESS
+ RPC_S_WRONG_KIND_OF_BINDING
+ RPC_S_ZERO_DIVIDE
+ RPC_X_BAD_STUB_DATA
+ RPC_X_BYTE_COUNT_TOO_SMALL
+ RPC_X_ENUM_VALUE_OUT_OF_RANGE
+ RPC_X_INVALID_ES_ACTION
+ RPC_X_NO_MORE_ENTRIES
+ RPC_X_NULL_REF_POINTER
+ RPC_X_SS_CANNOT_GET_CALL_HANDLE
+ RPC_X_SS_CHAR_TRANS_OPEN_FAIL
+ RPC_X_SS_CHAR_TRANS_SHORT_FILE
+ RPC_X_SS_CONTEXT_DAMAGED
+ RPC_X_SS_HANDLES_MISMATCH
+ RPC_X_SS_IN_NULL_CONTEXT
+ RPC_X_WRONG_ES_VERSION
+ RPC_X_WRONG_STUB_VERSION
+ SEVERITY_ERROR
+ SEVERITY_SUCCESS
+ STG_E_ABNORMALAPIEXIT
+ STG_E_ACCESSDENIED
+ STG_E_CANTSAVE
+ STG_E_DISKISWRITEPROTECTED
+ STG_E_EXTANTMARSHALLINGS
+ STG_E_FILEALREADYEXISTS
+ STG_E_FILENOTFOUND
+ STG_E_INSUFFICIENTMEMORY
+ STG_E_INUSE
+ STG_E_INVALIDFLAG
+ STG_E_INVALIDFUNCTION
+ STG_E_INVALIDHANDLE
+ STG_E_INVALIDHEADER
+ STG_E_INVALIDNAME
+ STG_E_INVALIDPARAMETER
+ STG_E_INVALIDPOINTER
+ STG_E_LOCKVIOLATION
+ STG_E_MEDIUMFULL
+ STG_E_NOMOREFILES
+ STG_E_NOTCURRENT
+ STG_E_NOTFILEBASEDSTORAGE
+ STG_E_OLDDLL
+ STG_E_OLDFORMAT
+ STG_E_PATHNOTFOUND
+ STG_E_READFAULT
+ STG_E_REVERTED
+ STG_E_SEEKERROR
+ STG_E_SHAREREQUIRED
+ STG_E_SHAREVIOLATION
+ STG_E_TOOMANYOPENFILES
+ STG_E_UNIMPLEMENTEDFUNCTION
+ STG_E_UNKNOWN
+ STG_E_WRITEFAULT
+ STG_S_CONVERTED
+ S_FALSE
+ S_OK
+ TYPE_E_AMBIGUOUSNAME
+ TYPE_E_BADMODULEKIND
+ TYPE_E_BUFFERTOOSMALL
+ TYPE_E_CANTCREATETMPFILE
+ TYPE_E_CANTLOADLIBRARY
+ TYPE_E_CIRCULARTYPE
+ TYPE_E_DLLFUNCTIONNOTFOUND
+ TYPE_E_DUPLICATEID
+ TYPE_E_ELEMENTNOTFOUND
+ TYPE_E_INCONSISTENTPROPFUNCS
+ TYPE_E_INVALIDID
+ TYPE_E_INVALIDSTATE
+ TYPE_E_INVDATAREAD
+ TYPE_E_IOERROR
+ TYPE_E_LIBNOTREGISTERED
+ TYPE_E_NAMECONFLICT
+ TYPE_E_OUTOFBOUNDS
+ TYPE_E_QUALIFIEDNAMEDISALLOWED
+ TYPE_E_REGISTRYACCESS
+ TYPE_E_SIZETOOBIG
+ TYPE_E_TYPEMISMATCH
+ TYPE_E_UNDEFINEDTYPE
+ TYPE_E_UNKNOWNLCID
+ TYPE_E_UNSUPFORMAT
+ TYPE_E_WRONGTYPEKIND
+ VIEW_E_DRAW
+ VIEW_E_FIRST
+ VIEW_E_LAST
+ VIEW_S_ALREADY_FROZEN
+ VIEW_S_FIRST
+ VIEW_S_LAST
+);
+
+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/.*:://;
+ #reset $! to zero to reset any current errors.
+ local $! = 0;
+ local $^E = 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::WinError macro $constname, used at $file line $line.";
+ }
+ }
+ eval "sub $AUTOLOAD { $val }";
+ goto &$AUTOLOAD;
+}
+
+bootstrap Win32::WinError;
+
+# Preloaded methods go here.
+
+# Autoload methods go after __END__, and are processed by the autosplit program.
+
+1;
+__END__
diff --git a/Master/tlpkg/tlperl/lib/Win32API/Registry.pm b/Master/tlpkg/tlperl/lib/Win32API/Registry.pm
index 2a1657c3b5b..3b10e2c6684 100644
--- a/Master/tlpkg/tlperl/lib/Win32API/Registry.pm
+++ b/Master/tlpkg/tlperl/lib/Win32API/Registry.pm
@@ -4,7 +4,7 @@ package Win32API::Registry;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); #@EXPORT_FAIL);
-$VERSION= '0.32';
+$VERSION= '0.33';
require Exporter;
require DynaLoader;
@@ -110,7 +110,7 @@ if( ! defined &REG_NONE ) {
require "Win32API/Registry/cRegistry.pc";
}
-# This would be convenient but inconsistant and hard to explain:
+# This would be convenient but inconsistent and hard to explain:
#push( @{$EXPORT_TAGS{ALL}}, @{$EXPORT_TAGS{SE_}} )
# if defined &SE_TCB_NAME;
@@ -285,10 +285,10 @@ Win32API::Registry - Low-level access to Win32 system API calls from WINREG.H
use Win32API::Registry 0.21 qw( :ALL );
- RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SYSTEM\\Disk", 0, KEY_READ, $key );
+ RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SYSTEM\\Disk", 0, KEY_READ, $key )
or die "Can't open HKEY_LOCAL_MACHINE\\SYSTEM\\Disk: ",
regLastError(),"\n";
- RegQueryValueEx( $key, "Information", [], $type, $data, [] );
+ RegQueryValueEx( $key, "Information", [], $type, $data, [] )
or die "Can't read HKEY_L*MACHINE\\SYSTEM\\Disk\\Information: ",
regLastError(),"\n";
[...]
@@ -728,7 +728,7 @@ C<$sSubKey> is the name of the new subkey to created and associated
with the hive file.
C<$sFileName> is the name of the hive file to be loaded. This
-file name is interpretted relative to the
+file name is interpreted relative to the
C<%SystemRoot%/System32/config> directory on the computer where
the C<$hKey> key resides. If C<$sFileName> is on a FAT file
system, then its name must not have an extension.
@@ -970,7 +970,7 @@ C<$sBuffer> using C<unpack()> [or C<substr()>]:
This routine is meant only for compatibility with Windows version
3.1. Use C<RegQueryValueEx()> instead. This routine can only
-query unamed values [a.k.a. "default values"], that is, values with
+query unnamed values [a.k.a. "default values"], that is, values with
a name of C<"">.
=item RegQueryValueEx
@@ -1026,7 +1026,7 @@ hive file when the system reboots.
C<$sOldFile> is the file name to save the current hive file to
when the system reboots.
-C<$sNewFile> and C<$sOldFile> are interpretted relative to the
+C<$sNewFile> and C<$sOldFile> are interpreted relative to the
C<%SystemRoot%/System32/config> directory on the computer where
the C<$hKey> key resides [I think]. If either file is [would be]
on a FAT file system, then its name must not have an extension.
@@ -1048,7 +1048,7 @@ C<$sFileName> is the name of the hive file to be read. For each
value and subkey in this file, a value or subkey will be added
or replaced in C<$hKey>.
-C<$uFlags> is usally C<0>. It can also be C<REG_WHOLE_HIVE_VOLATILE>
+C<$uFlags> is usually C<0>. It can also be C<REG_WHOLE_HIVE_VOLATILE>
which, rather than copying the hive over the existing key,
replaces the existing key with a temporary, memory-only Registry
key and then copies the hive contents into it. This option only
@@ -1071,7 +1071,7 @@ C<$hKey> is the handle to a Registry key [either C<HKEY_*> or from
a previous call].
C<$sFileName> is the name of the file that the Registry tree
-should be saved to. It is interpretted relative to the
+should be saved to. It is interpreted relative to the
C<%SystemRoot%/System32/config> directory on the computer where
the C<$hKey> key resides. If C<$sFileName> is on a FAT file system,
then it must not have an extension.
@@ -1109,7 +1109,7 @@ packed into a Perl string.
This routine is meant only for compatibility with Windows version
3.1. Use C<RegSetValueEx()> instead. This routine can only
-set unamed values [a.k.a. "default values"].
+set unnamed values [a.k.a. "default values"].
=item RegSetValueEx
@@ -1414,7 +1414,7 @@ in the C<":ALL"> grouping.
=back
-=head2 The Win32API:: heirarchy
+=head2 The Win32API:: hierarchy
This and the other Win32API:: modules are meant to expose the
nearly raw API calls so they can be used from Perl code in any
@@ -1478,10 +1478,10 @@ negative buffer sizes are treated as very large positive buffer
sizes which usually cause C<malloc()> to fail.
To force the F<Registry.xs> code to pass in a specific value for
-a buffer size, preceed the size with an equals sign via C<"=".>.
+a buffer size, precede the size with an equals sign via C<"=".>.
Buffer sizes that are passed in as strings starting with an equals
sign will have the equal sign stripped and the remainder of the string
-interpretted as a number [via C's C<strtoul()> using only base 10]
+interpreted as a number [via C's C<strtoul()> using only base 10]
which will be passed to the underlying routine [even if the allocated
buffer is actually larger]. The F<Registry.xs> code will enlarge the
buffer to the specified size, if needed, but will not enlarge the
@@ -1542,7 +1542,7 @@ Note how C<, 0> above causes an explicit C<L'\0'> to be added since
Perl's implicit C<'\0'> that it puts after each of its strings is not
wide enough to terminate a UNICODE string. So UNICODE strings are
different than regular strings in that the Perl version of a regular
-string will not include the trialing C<'\0'> while the Perl version
+string will not include the trailing C<'\0'> while the Perl version
of a UNICODE string must include the trailing C<L'\0'>.
If a UNICODE string contains no non-ASCII characters, then you
@@ -1557,7 +1557,7 @@ A pointer to some buffer [usually containing some C<struct>]. In C,
a C<void *> or some other pointer type. In Perl, a string that is
usually manipulated using C<pack> and C<unpack>. The "p" is usually
followed by more prefix character(s) to indicate what type of data is
-stored in the bufffer.
+stored in the buffer.
=item a
@@ -1638,7 +1638,7 @@ that are treated as integers in Perl code.
A record. In C, almost always a C<struct> or perhaps C<union>. Note
that C C<struct>s are rarely passed by value so the "r" is almost
-always preceeded by a "p" or "a" [see L</p> and L</a> above]. For
+always preceded by a "p" or "a" [see L</p> and L</a> above]. For
the very rare unadorned "r", Perl stores the record in the same way
as a "pr", that is, in a string. For the very rare case where Perl
explicitly stores a pointer to the C<struct> rather than storing the
@@ -1762,6 +1762,10 @@ it is not used in the stubs in F<Registry.pm>.
Tye McQueen, tye@metronet.com, http://www.metronet.com/~tye/.
+=head1 LICENSE
+
+perl
+
=head1 SEE ALSO
=over
diff --git a/Master/tlpkg/tlperl/lib/XSLoader.pm b/Master/tlpkg/tlperl/lib/XSLoader.pm
index 6de54a42b28..0e65edd2942 100644
--- a/Master/tlpkg/tlperl/lib/XSLoader.pm
+++ b/Master/tlpkg/tlperl/lib/XSLoader.pm
@@ -2,7 +2,7 @@
package XSLoader;
-$VERSION = "0.16";
+$VERSION = "0.17";
#use strict;
@@ -108,7 +108,7 @@ XSLoader - Dynamically load C libraries into Perl code
=head1 VERSION
-Version 0.16
+Version 0.17
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/_charnames.pm b/Master/tlpkg/tlperl/lib/_charnames.pm
index 4ab9411f8ea..8955b6fa87f 100644
--- a/Master/tlpkg/tlperl/lib/_charnames.pm
+++ b/Master/tlpkg/tlperl/lib/_charnames.pm
@@ -7,7 +7,7 @@ package _charnames;
use strict;
use warnings;
use File::Spec;
-our $VERSION = '1.36';
+our $VERSION = '1.39';
use unicore::Name; # mktables-generated algorithmically-defined names
use bytes (); # for $bytes::hint_bits
@@ -66,10 +66,10 @@ $Carp::Internal{ (__PACKAGE__) } = 1;
my %system_aliases = (
- 'SINGLE-SHIFT 2' => pack("U", 0x8E),
- 'SINGLE-SHIFT 3' => pack("U", 0x8F),
- 'PRIVATE USE 1' => pack("U", 0x91),
- 'PRIVATE USE 2' => pack("U", 0x92),
+ 'SINGLE-SHIFT 2' => pack("U", utf8::unicode_to_native(0x8E)),
+ 'SINGLE-SHIFT 3' => pack("U", utf8::unicode_to_native(0x8F)),
+ 'PRIVATE USE 1' => pack("U", utf8::unicode_to_native(0x91)),
+ 'PRIVATE USE 2' => pack("U", utf8::unicode_to_native(0x92)),
);
# These are the aliases above that differ under :loose and :full matching
@@ -78,7 +78,7 @@ my %system_aliases = (
#);
#my %deprecated_aliases;
-#$deprecated_aliases{'BELL'} = pack("U", 0x07) if $^V lt v5.17.0;
+#$deprecated_aliases{'BELL'} = pack("U", utf8::unicode_to_native(0x07)) if $^V lt v5.17.0;
#my %loose_deprecated_aliases = (
#);
@@ -157,7 +157,9 @@ sub alias (@) # Set up a single alias
# 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;
+ my $temp = CORE::hex $1;
+ $temp = utf8::unicode_to_native($temp) if $value =~ /^[Uu]\+/;
+ $value = $temp;
}
if ($value =~ $decimal_qr) {
no warnings qw(non_unicode surrogate nonchar); # Allow any of these
@@ -199,7 +201,8 @@ sub alias (@) # Set up a single alias
if (@errors) {
foreach my $name (@errors) {
my $ok = "";
- $ok = $1 if $name =~ / ^ ( \p{Alpha} [-\p{XPosixWord} ():\xa0]* ) /x;
+ my $nbsp = chr utf8::unicode_to_native(0xa0);
+ $ok = $1 if $name =~ / ^ ( \p{Alpha} [-\p{XPosixWord} ():$nbsp]* ) /x;
my $first_bad = substr($name, length($ok), 1);
$name = "Invalid character in charnames alias definition; marked by <-- HERE in '$ok$first_bad<-- HERE " . substr($name, length($ok) + 1) . "'";
}
@@ -475,7 +478,7 @@ sub lookup_name ($$$) {
/xs)
{
# Even in non-loose matching, the script traditionally has been
- # case insensitve
+ # case insensitive
$scripts_trie = "\U$1";
$lookup_name = $2;
@@ -697,6 +700,11 @@ sub import
# not an issue.
my %viacode;
+my $no_name_code_points_re = join "|", map { sprintf("%05X",
+ utf8::unicode_to_native($_)) }
+ 0x80, 0x81, 0x84, 0x99;
+$no_name_code_points_re = qr/$no_name_code_points_re/;
+
sub viacode {
# Returns the name of the code point argument
@@ -717,8 +725,10 @@ sub viacode {
if ($arg =~ $decimal_qr) {
$hex = sprintf "%05X", $arg;
} elsif ($arg =~ $hex_qr) {
+ $hex = CORE::hex $1;
+ $hex = utf8::unicode_to_native($hex) if $arg =~ /^[Uu]\+/;
# Below is the line that differs from the _getcode() source
- $hex = sprintf "%05X", hex $1;
+ $hex = sprintf "%05X", $hex;
} else {
carp("unexpected arg \"$arg\" to charnames::viacode()");
return;
@@ -751,7 +761,7 @@ sub viacode {
$return = substr($txt, $+[0], index($txt, "\n", $+[0]) - $+[0]);
# If not one of these 4 code points, return what we've found.
- if ($hex !~ / ^ 000 (?: 8[014] | 99 ) $ /x) {
+ if ($hex !~ / ^ $no_name_code_points_re $ /x) {
$viacode{$hex} = $return;
return $return;
}
@@ -786,7 +796,7 @@ sub viacode {
}
return;
-} # _viacode
+} # viacode
1;
diff --git a/Master/tlpkg/tlperl/lib/arybase.pm b/Master/tlpkg/tlperl/lib/arybase.pm
index 7181748a312..3c090d66c2e 100644
--- a/Master/tlpkg/tlperl/lib/arybase.pm
+++ b/Master/tlpkg/tlperl/lib/arybase.pm
@@ -1,6 +1,6 @@
package arybase;
-our $VERSION = "0.06";
+our $VERSION = "0.07";
require XSLoader;
XSLoader::load(); # This returns true, which makes require happy.
diff --git a/Master/tlpkg/tlperl/lib/attributes.pm b/Master/tlpkg/tlperl/lib/attributes.pm
index 5a656a69236..ebca2146085 100644
--- a/Master/tlpkg/tlperl/lib/attributes.pm
+++ b/Master/tlpkg/tlperl/lib/attributes.pm
@@ -1,6 +1,6 @@
package attributes;
-our $VERSION = 0.21;
+our $VERSION = 0.23;
@EXPORT_OK = qw(get reftype);
@EXPORT = ();
@@ -238,6 +238,19 @@ Indicates that the referenced subroutine
is a method. A subroutine so marked
will not trigger the "Ambiguous call resolved as CORE::%s" warning.
+=item prototype(..)
+
+The "prototype" attribute is an alternate means of specifying a prototype
+on a sub. The desired prototype is within the parens.
+
+The prototype from the attribute is assigned to the sub immediately after
+the prototype from the sub, which means that if both are declared at the
+same time, the traditionally defined prototype is ignored. In other words,
+C<sub foo($$) : prototype(@) {}> is indistinguishable from C<sub foo(@){}>.
+
+If illegalproto warnings are enabled, the prototype declared inside this
+attribute will be sanity checked at compile time.
+
=item locked
The "locked" attribute is deprecated, and has no effect in 5.10.0 and later.
diff --git a/Master/tlpkg/tlperl/lib/auto/B/B.bs b/Master/tlpkg/tlperl/lib/auto/B/B.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/B/B.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/B/B.dll b/Master/tlpkg/tlperl/lib/auto/B/B.dll
index e40386c346d..0e73ea82be3 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.bs b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs
+++ /dev/null
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 0aba78212ca..b293aaa0235 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/Bzip2/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/autosplit.ix
deleted file mode 100644
index 17233b991a1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\Compress\Raw\Bzip2.pm
-# (file acts as timestamp)
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs
+++ /dev/null
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 42bb65d5100..aa3bf3d2c67 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/Raw/Zlib/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/autosplit.ix
deleted file mode 100644
index 6e672a0f1d8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\Compress\Raw\Zlib.pm
-# (file acts as timestamp)
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
index 0777ac9f9de..1e97e6e1b7e 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.bs b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
index f06ce25a158..095e2905802 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/Date/Parse/.packlist b/Master/tlpkg/tlperl/lib/auto/Date/Parse/.packlist
new file mode 100644
index 00000000000..5e66e1a6615
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Date/Parse/.packlist
@@ -0,0 +1,37 @@
+C:\tlperl\site\lib\Date\Format.pm
+C:\tlperl\site\lib\Date\Language.pm
+C:\tlperl\site\lib\Date\Language\Afar.pm
+C:\tlperl\site\lib\Date\Language\Amharic.pm
+C:\tlperl\site\lib\Date\Language\Austrian.pm
+C:\tlperl\site\lib\Date\Language\Brazilian.pm
+C:\tlperl\site\lib\Date\Language\Bulgarian.pm
+C:\tlperl\site\lib\Date\Language\Chinese.pm
+C:\tlperl\site\lib\Date\Language\Chinese_GB.pm
+C:\tlperl\site\lib\Date\Language\Czech.pm
+C:\tlperl\site\lib\Date\Language\Danish.pm
+C:\tlperl\site\lib\Date\Language\Dutch.pm
+C:\tlperl\site\lib\Date\Language\English.pm
+C:\tlperl\site\lib\Date\Language\Finnish.pm
+C:\tlperl\site\lib\Date\Language\French.pm
+C:\tlperl\site\lib\Date\Language\Gedeo.pm
+C:\tlperl\site\lib\Date\Language\German.pm
+C:\tlperl\site\lib\Date\Language\Greek.pm
+C:\tlperl\site\lib\Date\Language\Hungarian.pm
+C:\tlperl\site\lib\Date\Language\Icelandic.pm
+C:\tlperl\site\lib\Date\Language\Italian.pm
+C:\tlperl\site\lib\Date\Language\Norwegian.pm
+C:\tlperl\site\lib\Date\Language\Oromo.pm
+C:\tlperl\site\lib\Date\Language\Romanian.pm
+C:\tlperl\site\lib\Date\Language\Russian.pm
+C:\tlperl\site\lib\Date\Language\Russian_cp1251.pm
+C:\tlperl\site\lib\Date\Language\Russian_koi8r.pm
+C:\tlperl\site\lib\Date\Language\Sidama.pm
+C:\tlperl\site\lib\Date\Language\Somali.pm
+C:\tlperl\site\lib\Date\Language\Spanish.pm
+C:\tlperl\site\lib\Date\Language\Swedish.pm
+C:\tlperl\site\lib\Date\Language\Tigrinya.pm
+C:\tlperl\site\lib\Date\Language\TigrinyaEritrean.pm
+C:\tlperl\site\lib\Date\Language\TigrinyaEthiopian.pm
+C:\tlperl\site\lib\Date\Language\Turkish.pm
+C:\tlperl\site\lib\Date\Parse.pm
+C:\tlperl\site\lib\Time\Zone.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
index addc7197305..83cfca9feb2 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.bs b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
index adb95548202..94a6ce0ecfe 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.bs b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
index a8cc52d9fef..9041ef14a84 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.bs b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
index af792070111..0cbcd8fedf6 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 9f5e0f7bdeb..45cf93670f0 100644
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
@@ -1,3 +1,2 @@
-C:\perl\site\lib\Digest\SHA1.pm
-C:\perl\site\lib\auto\Digest\SHA1\SHA1.bs
-C:\perl\site\lib\auto\Digest\SHA1\SHA1.dll
+C:\tlperl\site\lib\Digest\SHA1.pm
+C:\tlperl\site\lib\auto\Digest\SHA1\SHA1.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.bs b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
index 5c9d4aefd75..9cd9fd2f3df 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/Encode/Byte/Byte.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
index 8a712a537be..031baf97ae9 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
index 0b38812a7d3..9e90eae0936 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
index 1c784d8837b..016e780f1e5 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
index 57ab145327f..9cbebb5347a 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
index da87b68be89..58f494336bc 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
index 14a598e9837..eb5be6df7f5 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
index b476135200a..fca67c3c703 100644
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\Encode\Locale.pm
+C:\tlperl\site\lib\Encode\Locale.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
index 28e9b119148..99f80c94ec1 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
index dcc3cf6530a..d1a07e10b97 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.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
index edb5e6fa1f0..76dc66bdf97 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/Encode/compat/.packlist b/Master/tlpkg/tlperl/lib/auto/Encode/compat/.packlist
new file mode 100644
index 00000000000..d4a2e08bb74
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/compat/.packlist
@@ -0,0 +1,4 @@
+C:\tlperl\site\lib\Encode\compat.pm
+C:\tlperl\site\lib\Encode\compat\5006001.pm
+C:\tlperl\site\lib\Encode\compat\Alias.pm
+C:\tlperl\site\lib\Encode\compat\common.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
index 754f1ecf22e..adf16cb057a 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/DosGlob/DosGlob.bs b/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.bs
deleted file mode 100755
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dll b/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dll
index 18e73016f10..0bf9d2dba24 100755
--- a/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dll
+++ b/Master/tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
index d60079d86e0..82bda16b9e3 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
index f2376b1a2d0..0d31ba57a1f 100644
--- a/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\File\Listing.pm
+C:\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
new file mode 100644
index 00000000000..161fae4c3ed
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/File/Which/.packlist
@@ -0,0 +1,3 @@
+C:\tlperl\bin\pwhich
+C:\tlperl\bin\pwhich.bat
+C:\tlperl\site\lib\File\Which.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs
+++ /dev/null
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 4fd50a5425b..69715d6c34b 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 b5dbbe50fb9..6ce7b6a07a9 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
@@ -1,9 +1,8 @@
-C:\perl\site\lib\HTML\Entities.pm
-C:\perl\site\lib\HTML\Filter.pm
-C:\perl\site\lib\HTML\HeadParser.pm
-C:\perl\site\lib\HTML\LinkExtor.pm
-C:\perl\site\lib\HTML\Parser.pm
-C:\perl\site\lib\HTML\PullParser.pm
-C:\perl\site\lib\HTML\TokeParser.pm
-C:\perl\site\lib\auto\HTML\Parser\Parser.bs
-C:\perl\site\lib\auto\HTML\Parser\Parser.dll
+C:\tlperl\site\lib\HTML\Entities.pm
+C:\tlperl\site\lib\HTML\Filter.pm
+C:\tlperl\site\lib\HTML\HeadParser.pm
+C:\tlperl\site\lib\HTML\LinkExtor.pm
+C:\tlperl\site\lib\HTML\Parser.pm
+C:\tlperl\site\lib\HTML\PullParser.pm
+C:\tlperl\site\lib\HTML\TokeParser.pm
+C:\tlperl\site\lib\auto\HTML\Parser\Parser.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.bs b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
index 69e0018ff62..21ba8ef18f8 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 ccce4b253fc..b0836c2d778 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\HTML\Tagset.pm
+C:\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
index e7d8eb21c31..c1f0a862133 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
@@ -1,3 +1,3 @@
-C:\perl\site\lib\HTTP\Cookies.pm
-C:\perl\site\lib\HTTP\Cookies\Microsoft.pm
-C:\perl\site\lib\HTTP\Cookies\Netscape.pm
+C:\tlperl\site\lib\HTTP\Cookies.pm
+C:\tlperl\site\lib\HTTP\Cookies\Microsoft.pm
+C:\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
index f74ddf1552f..20fe206daaa 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\HTTP\Daemon.pm
+C:\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
index 01b9afac5d6..8a98075d656 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\HTTP\Date.pm
+C:\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
index a927bcfdabc..80f40bf932d 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
@@ -1,10 +1,10 @@
-C:\perl\site\lib\HTTP\Config.pm
-C:\perl\site\lib\HTTP\Headers.pm
-C:\perl\site\lib\HTTP\Headers\Auth.pm
-C:\perl\site\lib\HTTP\Headers\ETag.pm
-C:\perl\site\lib\HTTP\Headers\Util.pm
-C:\perl\site\lib\HTTP\Message.pm
-C:\perl\site\lib\HTTP\Request.pm
-C:\perl\site\lib\HTTP\Request\Common.pm
-C:\perl\site\lib\HTTP\Response.pm
-C:\perl\site\lib\HTTP\Status.pm
+C:\tlperl\site\lib\HTTP\Config.pm
+C:\tlperl\site\lib\HTTP\Headers.pm
+C:\tlperl\site\lib\HTTP\Headers\Auth.pm
+C:\tlperl\site\lib\HTTP\Headers\ETag.pm
+C:\tlperl\site\lib\HTTP\Headers\Util.pm
+C:\tlperl\site\lib\HTTP\Message.pm
+C:\tlperl\site\lib\HTTP\Request.pm
+C:\tlperl\site\lib\HTTP\Request\Common.pm
+C:\tlperl\site\lib\HTTP\Response.pm
+C:\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
index bd55c563cab..9d7d8f27c96 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\HTTP\Negotiate.pm
+C:\tlperl\site\lib\HTTP\Negotiate.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs
+++ /dev/null
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 9c007da4de0..261f3f0ef5b 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.bs b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
index 3933d833c38..17d8d5972ac 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/HTML/.packlist b/Master/tlpkg/tlperl/lib/auto/IO/HTML/.packlist
index 2744d25ae05..6cb34ec6af1 100755
--- a/Master/tlpkg/tlperl/lib/auto/IO/HTML/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/IO/HTML/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\IO\HTML.pm
+C:\tlperl\site\lib\IO\HTML.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/IO.bs b/Master/tlpkg/tlperl/lib/auto/IO/IO.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/IO/IO.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
index e6964dddfe1..c576241c539 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
index 70e9bd3158f..301a4c1067d 100644
--- a/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\IO\String.pm
+C:\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 54c10cc60fb..5e930937248 100644
--- a/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
@@ -1,33 +1,33 @@
-C:\perl\bin\lwp-download
-C:\perl\bin\lwp-download.bat
-C:\perl\bin\lwp-dump
-C:\perl\bin\lwp-dump.bat
-C:\perl\bin\lwp-mirror
-C:\perl\bin\lwp-mirror.bat
-C:\perl\bin\lwp-request
-C:\perl\bin\lwp-request.bat
-C:\perl\site\lib\LWP.pm
-C:\perl\site\lib\LWP\Authen\Basic.pm
-C:\perl\site\lib\LWP\Authen\Digest.pm
-C:\perl\site\lib\LWP\Authen\Ntlm.pm
-C:\perl\site\lib\LWP\ConnCache.pm
-C:\perl\site\lib\LWP\Debug.pm
-C:\perl\site\lib\LWP\DebugFile.pm
-C:\perl\site\lib\LWP\MemberMixin.pm
-C:\perl\site\lib\LWP\Protocol.pm
-C:\perl\site\lib\LWP\Protocol\GHTTP.pm
-C:\perl\site\lib\LWP\Protocol\cpan.pm
-C:\perl\site\lib\LWP\Protocol\data.pm
-C:\perl\site\lib\LWP\Protocol\file.pm
-C:\perl\site\lib\LWP\Protocol\ftp.pm
-C:\perl\site\lib\LWP\Protocol\gopher.pm
-C:\perl\site\lib\LWP\Protocol\http.pm
-C:\perl\site\lib\LWP\Protocol\loopback.pm
-C:\perl\site\lib\LWP\Protocol\mailto.pm
-C:\perl\site\lib\LWP\Protocol\nntp.pm
-C:\perl\site\lib\LWP\Protocol\nogo.pm
-C:\perl\site\lib\LWP\RobotUA.pm
-C:\perl\site\lib\LWP\Simple.pm
-C:\perl\site\lib\LWP\UserAgent.pm
-C:\perl\site\lib\lwpcook.pod
-C:\perl\site\lib\lwptut.pod
+C:\tlperl\bin\lwp-download
+C:\tlperl\bin\lwp-download.bat
+C:\tlperl\bin\lwp-dump
+C:\tlperl\bin\lwp-dump.bat
+C:\tlperl\bin\lwp-mirror
+C:\tlperl\bin\lwp-mirror.bat
+C:\tlperl\bin\lwp-request
+C:\tlperl\bin\lwp-request.bat
+C:\tlperl\site\lib\LWP.pm
+C:\tlperl\site\lib\LWP\Authen\Basic.pm
+C:\tlperl\site\lib\LWP\Authen\Digest.pm
+C:\tlperl\site\lib\LWP\Authen\Ntlm.pm
+C:\tlperl\site\lib\LWP\ConnCache.pm
+C:\tlperl\site\lib\LWP\Debug.pm
+C:\tlperl\site\lib\LWP\DebugFile.pm
+C:\tlperl\site\lib\LWP\MemberMixin.pm
+C:\tlperl\site\lib\LWP\Protocol.pm
+C:\tlperl\site\lib\LWP\Protocol\GHTTP.pm
+C:\tlperl\site\lib\LWP\Protocol\cpan.pm
+C:\tlperl\site\lib\LWP\Protocol\data.pm
+C:\tlperl\site\lib\LWP\Protocol\file.pm
+C:\tlperl\site\lib\LWP\Protocol\ftp.pm
+C:\tlperl\site\lib\LWP\Protocol\gopher.pm
+C:\tlperl\site\lib\LWP\Protocol\http.pm
+C:\tlperl\site\lib\LWP\Protocol\loopback.pm
+C:\tlperl\site\lib\LWP\Protocol\mailto.pm
+C:\tlperl\site\lib\LWP\Protocol\nntp.pm
+C:\tlperl\site\lib\LWP\Protocol\nogo.pm
+C:\tlperl\site\lib\LWP\RobotUA.pm
+C:\tlperl\site\lib\LWP\Simple.pm
+C:\tlperl\site\lib\LWP\UserAgent.pm
+C:\tlperl\site\lib\lwpcook.pod
+C:\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
index a2ffc7c58d0..ad241200dcf 100644
--- a/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
@@ -1,2 +1,2 @@
-C:\perl\site\lib\LWP\MediaTypes.pm
-C:\perl\site\lib\LWP\media.types
+C:\tlperl\site\lib\LWP\MediaTypes.pm
+C:\tlperl\site\lib\LWP\media.types
diff --git a/Master/tlpkg/tlperl/lib/auto/LWP/Protocol/https/.packlist b/Master/tlpkg/tlperl/lib/auto/LWP/Protocol/https/.packlist
deleted file mode 100755
index 3526b055fcc..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/LWP/Protocol/https/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-C:\perl\site\lib\LWP\Protocol\https.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
index 27e609f5c5c..839739f52e8 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.bs b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
index ea0319726ac..911eec11850 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.bs b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs
+++ /dev/null
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 d249f660da2..0eadcad6ca7 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/Math/Int64/.packlist b/Master/tlpkg/tlperl/lib/auto/Math/Int64/.packlist
index a0dcd107941..5c97b8b3279 100755
--- a/Master/tlpkg/tlperl/lib/auto/Math/Int64/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Math/Int64/.packlist
@@ -1,6 +1,5 @@
-C:\perl\site\lib\Math\Int64.pm
-C:\perl\site\lib\Math\Int64\die_on_overflow.pm
-C:\perl\site\lib\Math\Int64\native_if_available.pm
-C:\perl\site\lib\Math\UInt64.pm
-C:\perl\site\lib\auto\Math\Int64\Int64.bs
-C:\perl\site\lib\auto\Math\Int64\Int64.dll
+C:\tlperl\site\lib\Math\Int64.pm
+C:\tlperl\site\lib\Math\Int64\die_on_overflow.pm
+C:\tlperl\site\lib\Math\Int64\native_if_available.pm
+C:\tlperl\site\lib\Math\UInt64.pm
+C:\tlperl\site\lib\auto\Math\Int64\Int64.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.bs b/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.bs
deleted file mode 100755
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.dll b/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.dll
index 5007ec2cf79..3286543a874 100755
--- a/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Math/Int64/Int64.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Mozilla/CA/.packlist b/Master/tlpkg/tlperl/lib/auto/Mozilla/CA/.packlist
new file mode 100644
index 00000000000..a91ad79eaec
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Mozilla/CA/.packlist
@@ -0,0 +1,3 @@
+C:\tlperl\site\lib\Mozilla\CA.pm
+C:\tlperl\site\lib\Mozilla\CA\cacert.pem
+C:\tlperl\site\lib\Mozilla\mk-ca-bundle.pl
diff --git a/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
index e363cc7299b..e71697e4233 100644
--- a/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
@@ -1,4 +1,4 @@
-C:\perl\site\lib\Net\HTTP.pm
-C:\perl\site\lib\Net\HTTPS.pm
-C:\perl\site\lib\Net\HTTP\Methods.pm
-C:\perl\site\lib\Net\HTTP\NB.pm
+C:\tlperl\site\lib\Net\HTTP.pm
+C:\tlperl\site\lib\Net\HTTPS.pm
+C:\tlperl\site\lib\Net\HTTP\Methods.pm
+C:\tlperl\site\lib\Net\HTTP\NB.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
index ff32aa0f723..8dfb79823e2 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.bs b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
index 10af33fafed..07e044596ab 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/PerlIO/encoding/encoding.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
index 1bd9ce03744..2812f6ceb40 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/mmap/mmap.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll
index 6d78624f39a..b406ead6db6 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
index 1f402993c06..6457bbe187f 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.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
index c5169887660..1d593bd2f53 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.bs b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs
+++ /dev/null
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 cf1eb4f2f05..caf4a14fa67 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/.packlist b/Master/tlpkg/tlperl/lib/auto/Socket/.packlist
new file mode 100644
index 00000000000..87d1fe32b26
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Socket/.packlist
@@ -0,0 +1,2 @@
+C:\tlperl\site\lib\Socket.pm
+C:\tlperl\site\lib\auto\Socket\Socket.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
index 5114fc01e39..46b53dac6f7 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/Storable.bs b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
index f52560bf527..a1e7c9b87f9 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/Sys/Hostname/Hostname.bs b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
index de052d40265..350c01e86b5 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/Text/Soundex/Soundex.bs b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
deleted file mode 100755
index 79906b4f578..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
index 4040d5ae264..acab69eb2ac 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
+++ 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.bs b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
index 7fa2ccc7e2e..922adde6d0f 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.bs b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
index 7d5c3bc64d9..e1fba5b4580 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 51473764b10..acfdd696ac1 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
@@ -1,665 +1,644 @@
-C:\perl\bin\gedi
-C:\perl\bin\gedi.bat
-C:\perl\bin\ptked
-C:\perl\bin\ptked.bat
-C:\perl\bin\ptksh
-C:\perl\bin\ptksh.bat
-C:\perl\bin\tkjpeg
-C:\perl\bin\tkjpeg.bat
-C:\perl\bin\widget
-C:\perl\bin\widget.bat
-C:\perl\site\lib\Tie\Watch.pm
-C:\perl\site\lib\Tk.pm
-C:\perl\site\lib\Tk.pod
-C:\perl\site\lib\Tk\804delta.pod
-C:\perl\site\lib\Tk\Adjuster.pm
-C:\perl\site\lib\Tk\Adjuster.pod
-C:\perl\site\lib\Tk\After.pm
-C:\perl\site\lib\Tk\Animation.pm
-C:\perl\site\lib\Tk\Animation.pod
-C:\perl\site\lib\Tk\Balloon.pm
-C:\perl\site\lib\Tk\Balloon.pod
-C:\perl\site\lib\Tk\Bitmap.pm
-C:\perl\site\lib\Tk\Bitmap.pod
-C:\perl\site\lib\Tk\BrowseEntry.pm
-C:\perl\site\lib\Tk\BrowseEntry.pod
-C:\perl\site\lib\Tk\Button.pm
-C:\perl\site\lib\Tk\Button.pod
-C:\perl\site\lib\Tk\Camel.xpm
-C:\perl\site\lib\Tk\Canvas.pm
-C:\perl\site\lib\Tk\Canvas.pod
-C:\perl\site\lib\Tk\Checkbutton.pm
-C:\perl\site\lib\Tk\Checkbutton.pod
-C:\perl\site\lib\Tk\Clipboard.pm
-C:\perl\site\lib\Tk\Clipboard.pod
-C:\perl\site\lib\Tk\CmdLine.pm
-C:\perl\site\lib\Tk\CmdLine.pod
-C:\perl\site\lib\Tk\ColorDialog.pm
-C:\perl\site\lib\Tk\ColorEdit.xpm
-C:\perl\site\lib\Tk\ColorEditor.pm
-C:\perl\site\lib\Tk\ColorEditor.pod
-C:\perl\site\lib\Tk\ColorSelect.pm
-C:\perl\site\lib\Tk\Compound.pm
-C:\perl\site\lib\Tk\Compound.pod
-C:\perl\site\lib\Tk\Config.pm
-C:\perl\site\lib\Tk\ConfigSpecs.pod
-C:\perl\site\lib\Tk\Configure.pm
-C:\perl\site\lib\Tk\Credits
-C:\perl\site\lib\Tk\DItem.pod
-C:\perl\site\lib\Tk\Derived.pm
-C:\perl\site\lib\Tk\Derived.pod
-C:\perl\site\lib\Tk\Dialog.pm
-C:\perl\site\lib\Tk\Dialog.pod
-C:\perl\site\lib\Tk\DialogBox.pm
-C:\perl\site\lib\Tk\DialogBox.pod
-C:\perl\site\lib\Tk\DirTree.pm
-C:\perl\site\lib\Tk\DirTree.pod
-C:\perl\site\lib\Tk\Dirlist.pm
-C:\perl\site\lib\Tk\DragDrop.pm
-C:\perl\site\lib\Tk\DragDrop\Common.pm
-C:\perl\site\lib\Tk\DragDrop\Common.pod
-C:\perl\site\lib\Tk\DragDrop\LocalDrop.pm
-C:\perl\site\lib\Tk\DragDrop\Rect.pm
-C:\perl\site\lib\Tk\DragDrop\SunConst.pm
-C:\perl\site\lib\Tk\DragDrop\SunConst.pod
-C:\perl\site\lib\Tk\DragDrop\SunDrop.pm
-C:\perl\site\lib\Tk\DragDrop\SunSite.pm
-C:\perl\site\lib\Tk\DragDrop\Win32Drop.pm
-C:\perl\site\lib\Tk\DragDrop\Win32Site.pm
-C:\perl\site\lib\Tk\DragDrop\XDNDDrop.pm
-C:\perl\site\lib\Tk\DragDrop\XDNDSite.pm
-C:\perl\site\lib\Tk\DropSite.pm
-C:\perl\site\lib\Tk\DropSite.pod
-C:\perl\site\lib\Tk\DummyEncode.pm
-C:\perl\site\lib\Tk\English.pm
-C:\perl\site\lib\Tk\Entry.pm
-C:\perl\site\lib\Tk\Entry.pod
-C:\perl\site\lib\Tk\Error.pod
-C:\perl\site\lib\Tk\ErrorDialog.pm
-C:\perl\site\lib\Tk\Event.pm
-C:\perl\site\lib\Tk\Event\IO.pm
-C:\perl\site\lib\Tk\Eventloop.pod
-C:\perl\site\lib\Tk\FBox.pm
-C:\perl\site\lib\Tk\FBox.pod
-C:\perl\site\lib\Tk\FileSelect.pm
-C:\perl\site\lib\Tk\FileSelect.pod
-C:\perl\site\lib\Tk\FloatEntry.pm
-C:\perl\site\lib\Tk\Font.pm
-C:\perl\site\lib\Tk\Font.pod
-C:\perl\site\lib\Tk\Frame.pm
-C:\perl\site\lib\Tk\Frame.pod
-C:\perl\site\lib\Tk\HList.pm
-C:\perl\site\lib\Tk\HList.pod
-C:\perl\site\lib\Tk\IO.pm
-C:\perl\site\lib\Tk\IO.pod
-C:\perl\site\lib\Tk\IconList.pm
-C:\perl\site\lib\Tk\IconList.pod
-C:\perl\site\lib\Tk\Image.pm
-C:\perl\site\lib\Tk\Image.pod
-C:\perl\site\lib\Tk\InputO.pod
-C:\perl\site\lib\Tk\Internals.pod
-C:\perl\site\lib\Tk\ItemStyle.pm
-C:\perl\site\lib\Tk\JPEG.pm
-C:\perl\site\lib\Tk\LabEntry.pm
-C:\perl\site\lib\Tk\LabFrame.pm
-C:\perl\site\lib\Tk\LabFrame.pod
-C:\perl\site\lib\Tk\LabRadio.pm
-C:\perl\site\lib\Tk\Label.pm
-C:\perl\site\lib\Tk\Label.pod
-C:\perl\site\lib\Tk\Labelframe.pm
-C:\perl\site\lib\Tk\Labelframe.pod
-C:\perl\site\lib\Tk\Listbox.pm
-C:\perl\site\lib\Tk\Listbox.pod
-C:\perl\site\lib\Tk\MMtry.pm
-C:\perl\site\lib\Tk\MMutil.pm
-C:\perl\site\lib\Tk\MainWindow.pm
-C:\perl\site\lib\Tk\MainWindow.pod
-C:\perl\site\lib\Tk\MakeDepend.pm
-C:\perl\site\lib\Tk\Menu.pm
-C:\perl\site\lib\Tk\Menu.pod
-C:\perl\site\lib\Tk\Menu\Item.pm
-C:\perl\site\lib\Tk\Menu\Item.pod
-C:\perl\site\lib\Tk\Menubar.pm
-C:\perl\site\lib\Tk\Menubutton.pm
-C:\perl\site\lib\Tk\Menubutton.pod
-C:\perl\site\lib\Tk\Message.pm
-C:\perl\site\lib\Tk\Message.pod
-C:\perl\site\lib\Tk\MsgBox.pm
-C:\perl\site\lib\Tk\MsgBox.pod
-C:\perl\site\lib\Tk\Mwm.pod
-C:\perl\site\lib\Tk\NBFrame.pm
-C:\perl\site\lib\Tk\NoteBook.pm
-C:\perl\site\lib\Tk\NoteBook.pod
-C:\perl\site\lib\Tk\Optionmenu.pm
-C:\perl\site\lib\Tk\Optionmenu.pod
-C:\perl\site\lib\Tk\PNG.pm
-C:\perl\site\lib\Tk\Pane.pm
-C:\perl\site\lib\Tk\Panedwindow.pm
-C:\perl\site\lib\Tk\Panedwindow.pod
-C:\perl\site\lib\Tk\Photo.pm
-C:\perl\site\lib\Tk\Photo.pod
-C:\perl\site\lib\Tk\Pixmap.pm
-C:\perl\site\lib\Tk\Pixmap.pod
-C:\perl\site\lib\Tk\Popup.pod
-C:\perl\site\lib\Tk\Pretty.pm
-C:\perl\site\lib\Tk\ProgressBar.pm
-C:\perl\site\lib\Tk\README.Adjust
-C:\perl\site\lib\Tk\ROText.pm
-C:\perl\site\lib\Tk\ROText.pod
-C:\perl\site\lib\Tk\Radiobutton.pm
-C:\perl\site\lib\Tk\Radiobutton.pod
-C:\perl\site\lib\Tk\Region.pm
-C:\perl\site\lib\Tk\Reindex.pm
-C:\perl\site\lib\Tk\ReindexedROText.pm
-C:\perl\site\lib\Tk\ReindexedText.pm
-C:\perl\site\lib\Tk\Scale.pm
-C:\perl\site\lib\Tk\Scale.pod
-C:\perl\site\lib\Tk\Scrollbar.pm
-C:\perl\site\lib\Tk\Scrollbar.pod
-C:\perl\site\lib\Tk\Scrolled.pod
-C:\perl\site\lib\Tk\Spinbox.pm
-C:\perl\site\lib\Tk\Spinbox.pod
-C:\perl\site\lib\Tk\Stats.pm
-C:\perl\site\lib\Tk\Submethods.pm
-C:\perl\site\lib\Tk\Submethods.pod
-C:\perl\site\lib\Tk\TList.pm
-C:\perl\site\lib\Tk\TList.pod
-C:\perl\site\lib\Tk\Table.pm
-C:\perl\site\lib\Tk\Table.pod
-C:\perl\site\lib\Tk\Tcl-perl.pod
-C:\perl\site\lib\Tk\Text.pm
-C:\perl\site\lib\Tk\Text.pod
-C:\perl\site\lib\Tk\TextEdit.pm
-C:\perl\site\lib\Tk\TextList.pm
-C:\perl\site\lib\Tk\TextUndo.pm
-C:\perl\site\lib\Tk\TextUndo.pod
-C:\perl\site\lib\Tk\Text\Tag.pm
-C:\perl\site\lib\Tk\Tiler.pm
-C:\perl\site\lib\Tk\Tiler.pod
-C:\perl\site\lib\Tk\TixGrid.pm
-C:\perl\site\lib\Tk\TixGrid.pod
-C:\perl\site\lib\Tk\Tk.def
-C:\perl\site\lib\Tk\Tk.xbm
-C:\perl\site\lib\Tk\Tk.xpm
-C:\perl\site\lib\Tk\TkXSUB.def
-C:\perl\site\lib\Tk\Toplevel.pm
-C:\perl\site\lib\Tk\Toplevel.pod
-C:\perl\site\lib\Tk\Trace.pm
-C:\perl\site\lib\Tk\Tree.pm
-C:\perl\site\lib\Tk\Tree.pod
-C:\perl\site\lib\Tk\UserGuide.pod
-C:\perl\site\lib\Tk\Widget.pm
-C:\perl\site\lib\Tk\Widget.pod
-C:\perl\site\lib\Tk\WidgetDemo.pod
-C:\perl\site\lib\Tk\Wm.pm
-C:\perl\site\lib\Tk\Wm.pod
-C:\perl\site\lib\Tk\X.pm
-C:\perl\site\lib\Tk\X.pod
-C:\perl\site\lib\Tk\X11Font.pm
-C:\perl\site\lib\Tk\X11Font.pod
-C:\perl\site\lib\Tk\X11\X.h
-C:\perl\site\lib\Tk\X11\Xatom.h
-C:\perl\site\lib\Tk\X11\Xfuncproto.h
-C:\perl\site\lib\Tk\X11\Xlib.h
-C:\perl\site\lib\Tk\X11\Xutil.h
-C:\perl\site\lib\Tk\X11\cursorfont.h
-C:\perl\site\lib\Tk\X11\keysym.h
-C:\perl\site\lib\Tk\X11\keysymdef.h
-C:\perl\site\lib\Tk\X11\license.terms
-C:\perl\site\lib\Tk\Xcamel.gif
-C:\perl\site\lib\Tk\Xlib.pm
-C:\perl\site\lib\Tk\Xrm.pm
-C:\perl\site\lib\Tk\Xrm.pod
-C:\perl\site\lib\Tk\act_folder.xbm
-C:\perl\site\lib\Tk\act_folder.xpm
-C:\perl\site\lib\Tk\after.pod
-C:\perl\site\lib\Tk\anim.gif
-C:\perl\site\lib\Tk\arrowdownwin.xbm
-C:\perl\site\lib\Tk\balArrow.xbm
-C:\perl\site\lib\Tk\bind.pod
-C:\perl\site\lib\Tk\bindtags.pod
-C:\perl\site\lib\Tk\callbacks.pod
-C:\perl\site\lib\Tk\cbxarrow.xbm
-C:\perl\site\lib\Tk\chooseColor.pod
-C:\perl\site\lib\Tk\chooseDirectory.pod
-C:\perl\site\lib\Tk\composite.pod
-C:\perl\site\lib\Tk\demos\LabEnLabRad.pm
-C:\perl\site\lib\Tk\demos\images\QuitPB.xpm
-C:\perl\site\lib\Tk\demos\images\QuitPBa.xpm
-C:\perl\site\lib\Tk\demos\images\c.icon
-C:\perl\site\lib\Tk\demos\images\cursor.cur
-C:\perl\site\lib\Tk\demos\images\cursor.mask
-C:\perl\site\lib\Tk\demos\images\cursor.xbm
-C:\perl\site\lib\Tk\demos\images\dir.icon
-C:\perl\site\lib\Tk\demos\images\dir.mask
-C:\perl\site\lib\Tk\demos\images\earth.gif
-C:\perl\site\lib\Tk\demos\images\earthris.gif
-C:\perl\site\lib\Tk\demos\images\face
-C:\perl\site\lib\Tk\demos\images\flagdown
-C:\perl\site\lib\Tk\demos\images\flagup
-C:\perl\site\lib\Tk\demos\images\grey.25
-C:\perl\site\lib\Tk\demos\images\grey.5
-C:\perl\site\lib\Tk\demos\images\letters
-C:\perl\site\lib\Tk\demos\images\mickey.gif
-C:\perl\site\lib\Tk\demos\images\ned.xpm
-C:\perl\site\lib\Tk\demos\images\noletters
-C:\perl\site\lib\Tk\demos\images\page.icon
-C:\perl\site\lib\Tk\demos\images\page.mask
-C:\perl\site\lib\Tk\demos\images\pattern
-C:\perl\site\lib\Tk\demos\images\teapot.ppm
-C:\perl\site\lib\Tk\demos\widget_lib\Ball.pm
-C:\perl\site\lib\Tk\demos\widget_lib\HList.pl
-C:\perl\site\lib\Tk\demos\widget_lib\HList2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\Plot.pm
-C:\perl\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
-C:\perl\site\lib\Tk\demos\widget_lib\arrows.pl
-C:\perl\site\lib\Tk\demos\widget_lib\balloon.pl
-C:\perl\site\lib\Tk\demos\widget_lib\bind.pl
-C:\perl\site\lib\Tk\demos\widget_lib\bitmaps.pl
-C:\perl\site\lib\Tk\demos\widget_lib\bounce.pl
-C:\perl\site\lib\Tk\demos\widget_lib\browseentry.pl
-C:\perl\site\lib\Tk\demos\widget_lib\browseentry2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\button.pl
-C:\perl\site\lib\Tk\demos\widget_lib\check.pl
-C:\perl\site\lib\Tk\demos\widget_lib\choosedir.pl
-C:\perl\site\lib\Tk\demos\widget_lib\clrpick.pl
-C:\perl\site\lib\Tk\demos\widget_lib\colors.pl
-C:\perl\site\lib\Tk\demos\widget_lib\cscroll.pl
-C:\perl\site\lib\Tk\demos\widget_lib\ctext.pl
-C:\perl\site\lib\Tk\demos\widget_lib\dialog1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\dialog2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\dirtree.pl
-C:\perl\site\lib\Tk\demos\widget_lib\entry1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\entry2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\entry3.pl
-C:\perl\site\lib\Tk\demos\widget_lib\filebox.pl
-C:\perl\site\lib\Tk\demos\widget_lib\floor.pl
-C:\perl\site\lib\Tk\demos\widget_lib\form.pl
-C:\perl\site\lib\Tk\demos\widget_lib\form_mgr.pl
-C:\perl\site\lib\Tk\demos\widget_lib\hello.pl
-C:\perl\site\lib\Tk\demos\widget_lib\hscale.pl
-C:\perl\site\lib\Tk\demos\widget_lib\icon.pl
-C:\perl\site\lib\Tk\demos\widget_lib\image1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\image2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\items.pl
-C:\perl\site\lib\Tk\demos\widget_lib\keysyms.pl
-C:\perl\site\lib\Tk\demos\widget_lib\labelframe.pl
-C:\perl\site\lib\Tk\demos\widget_lib\labels.pl
-C:\perl\site\lib\Tk\demos\widget_lib\labframe.pl
-C:\perl\site\lib\Tk\demos\widget_lib\mega.pl
-C:\perl\site\lib\Tk\demos\widget_lib\menbut.pl
-C:\perl\site\lib\Tk\demos\widget_lib\menus.pl
-C:\perl\site\lib\Tk\demos\widget_lib\menus2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\msgBox.pl
-C:\perl\site\lib\Tk\demos\widget_lib\notebook.pl
-C:\perl\site\lib\Tk\demos\widget_lib\paned1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\paned2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\photo1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\photo2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\plot.pl
-C:\perl\site\lib\Tk\demos\widget_lib\progress.pl
-C:\perl\site\lib\Tk\demos\widget_lib\puzzle.pl
-C:\perl\site\lib\Tk\demos\widget_lib\radio.pl
-C:\perl\site\lib\Tk\demos\widget_lib\ruler.pl
-C:\perl\site\lib\Tk\demos\widget_lib\sayings.pl
-C:\perl\site\lib\Tk\demos\widget_lib\search.pl
-C:\perl\site\lib\Tk\demos\widget_lib\showVars.pl
-C:\perl\site\lib\Tk\demos\widget_lib\slide.pl
-C:\perl\site\lib\Tk\demos\widget_lib\spin.pl
-C:\perl\site\lib\Tk\demos\widget_lib\states.pl
-C:\perl\site\lib\Tk\demos\widget_lib\style.pl
-C:\perl\site\lib\Tk\demos\widget_lib\texts.pl
-C:\perl\site\lib\Tk\demos\widget_lib\trace1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\trace2.pl
-C:\perl\site\lib\Tk\demos\widget_lib\transtile.pl
-C:\perl\site\lib\Tk\demos\widget_lib\twind.pl
-C:\perl\site\lib\Tk\demos\widget_lib\unicodeout.pl
-C:\perl\site\lib\Tk\demos\widget_lib\virtevents1.pl
-C:\perl\site\lib\Tk\demos\widget_lib\vscale.pl
-C:\perl\site\lib\Tk\demos\widtrib\Gedi.pl
-C:\perl\site\lib\Tk\demos\widtrib\TEMPLATE.pl
-C:\perl\site\lib\Tk\demos\widtrib\Tiler.pl
-C:\perl\site\lib\Tk\demos\widtrib\all.pl
-C:\perl\site\lib\Tk\demos\widtrib\cursor.pl
-C:\perl\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
-C:\perl\site\lib\Tk\demos\widtrib\npuz.pl
-C:\perl\site\lib\Tk\demos\widtrib\plop.pl
-C:\perl\site\lib\Tk\event.pod
-C:\perl\site\lib\Tk\exit.pod
-C:\perl\site\lib\Tk\file.xbm
-C:\perl\site\lib\Tk\file.xpm
-C:\perl\site\lib\Tk\fileevent.pod
-C:\perl\site\lib\Tk\focus.pod
-C:\perl\site\lib\Tk\folder.xbm
-C:\perl\site\lib\Tk\folder.xpm
-C:\perl\site\lib\Tk\form.pod
-C:\perl\site\lib\Tk\getOpenFile.pod
-C:\perl\site\lib\Tk\grab.pod
-C:\perl\site\lib\Tk\grid.pod
-C:\perl\site\lib\Tk\icon.gif
-C:\perl\site\lib\Tk\install.pm
-C:\perl\site\lib\Tk\license.terms
-C:\perl\site\lib\Tk\mega.pod
-C:\perl\site\lib\Tk\messageBox.pod
-C:\perl\site\lib\Tk\openfile.xbm
-C:\perl\site\lib\Tk\openfolder.xbm
-C:\perl\site\lib\Tk\openfolder.xpm
-C:\perl\site\lib\Tk\option.pod
-C:\perl\site\lib\Tk\options.pod
-C:\perl\site\lib\Tk\overview.pod
-C:\perl\site\lib\Tk\pTk.pod
-C:\perl\site\lib\Tk\pTk\Lang.h
-C:\perl\site\lib\Tk\pTk\Lang.m
-C:\perl\site\lib\Tk\pTk\Lang.t
-C:\perl\site\lib\Tk\pTk\Lang_f.h
-C:\perl\site\lib\Tk\pTk\Tcl-pTk
-C:\perl\site\lib\Tk\pTk\Xlib.h
-C:\perl\site\lib\Tk\pTk\Xlib.m
-C:\perl\site\lib\Tk\pTk\Xlib.t
-C:\perl\site\lib\Tk\pTk\Xlib_f.h
-C:\perl\site\lib\Tk\pTk\compat\limits.h
-C:\perl\site\lib\Tk\pTk\compat\stdlib.h
-C:\perl\site\lib\Tk\pTk\compat\unistd.h
-C:\perl\site\lib\Tk\pTk\default.h
-C:\perl\site\lib\Tk\pTk\img.h
-C:\perl\site\lib\Tk\pTk\imgInt.h
-C:\perl\site\lib\Tk\pTk\imgInt.m
-C:\perl\site\lib\Tk\pTk\imgInt.t
-C:\perl\site\lib\Tk\pTk\imgInt_f.h
-C:\perl\site\lib\Tk\pTk\ks_names.h
-C:\perl\site\lib\Tk\pTk\mkVFunc
-C:\perl\site\lib\Tk\pTk\moredefs.h
-C:\perl\site\lib\Tk\pTk\port.h
-C:\perl\site\lib\Tk\pTk\tcl.h
-C:\perl\site\lib\Tk\pTk\tclDecls.h
-C:\perl\site\lib\Tk\pTk\tclDecls.m
-C:\perl\site\lib\Tk\pTk\tclDecls.t
-C:\perl\site\lib\Tk\pTk\tclDecls_f.h
-C:\perl\site\lib\Tk\pTk\tclIntDecls.h
-C:\perl\site\lib\Tk\pTk\tclIntPlatDecls.h
-C:\perl\site\lib\Tk\pTk\tclMath.h
-C:\perl\site\lib\Tk\pTk\tclPlatDecls.h
-C:\perl\site\lib\Tk\pTk\tclWinInt.h
-C:\perl\site\lib\Tk\pTk\tix.h
-C:\perl\site\lib\Tk\pTk\tix.m
-C:\perl\site\lib\Tk\pTk\tix.t
-C:\perl\site\lib\Tk\pTk\tixBitmaps.h
-C:\perl\site\lib\Tk\pTk\tixDef.h
-C:\perl\site\lib\Tk\pTk\tixForm.h
-C:\perl\site\lib\Tk\pTk\tixGrData.h
-C:\perl\site\lib\Tk\pTk\tixGrid.h
-C:\perl\site\lib\Tk\pTk\tixHList.h
-C:\perl\site\lib\Tk\pTk\tixImgXpm.h
-C:\perl\site\lib\Tk\pTk\tixImgXpm.m
-C:\perl\site\lib\Tk\pTk\tixImgXpm.t
-C:\perl\site\lib\Tk\pTk\tixImgXpm_f.h
-C:\perl\site\lib\Tk\pTk\tixInt.h
-C:\perl\site\lib\Tk\pTk\tixInt.m
-C:\perl\site\lib\Tk\pTk\tixInt.t
-C:\perl\site\lib\Tk\pTk\tixInt_f.h
-C:\perl\site\lib\Tk\pTk\tixPort.h
-C:\perl\site\lib\Tk\pTk\tixTList.h
-C:\perl\site\lib\Tk\pTk\tixWinInt.h
-C:\perl\site\lib\Tk\pTk\tixWinPort.h
-C:\perl\site\lib\Tk\pTk\tix_f.h
-C:\perl\site\lib\Tk\pTk\tk.h
-C:\perl\site\lib\Tk\pTk\tk.m
-C:\perl\site\lib\Tk\pTk\tk.t
-C:\perl\site\lib\Tk\pTk\tk3d.h
-C:\perl\site\lib\Tk\pTk\tkButton.h
-C:\perl\site\lib\Tk\pTk\tkCanvas.h
-C:\perl\site\lib\Tk\pTk\tkCanvases.h
-C:\perl\site\lib\Tk\pTk\tkColor.h
-C:\perl\site\lib\Tk\pTk\tkConfig.h
-C:\perl\site\lib\Tk\pTk\tkDecls.h
-C:\perl\site\lib\Tk\pTk\tkDecls.m
-C:\perl\site\lib\Tk\pTk\tkDecls.t
-C:\perl\site\lib\Tk\pTk\tkDecls_f.h
-C:\perl\site\lib\Tk\pTk\tkEvent.h
-C:\perl\site\lib\Tk\pTk\tkEvent.m
-C:\perl\site\lib\Tk\pTk\tkEvent.t
-C:\perl\site\lib\Tk\pTk\tkEvent_f.h
-C:\perl\site\lib\Tk\pTk\tkFileFilter.h
-C:\perl\site\lib\Tk\pTk\tkFont.h
-C:\perl\site\lib\Tk\pTk\tkImgPhoto.h
-C:\perl\site\lib\Tk\pTk\tkImgPhoto.m
-C:\perl\site\lib\Tk\pTk\tkImgPhoto.t
-C:\perl\site\lib\Tk\pTk\tkImgPhoto_f.h
-C:\perl\site\lib\Tk\pTk\tkInitScript.h
-C:\perl\site\lib\Tk\pTk\tkInt.h
-C:\perl\site\lib\Tk\pTk\tkInt.m
-C:\perl\site\lib\Tk\pTk\tkInt.t
-C:\perl\site\lib\Tk\pTk\tkIntDecls.h
-C:\perl\site\lib\Tk\pTk\tkIntDecls.m
-C:\perl\site\lib\Tk\pTk\tkIntDecls.t
-C:\perl\site\lib\Tk\pTk\tkIntDecls_f.h
-C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.h
-C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.m
-C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.t
-C:\perl\site\lib\Tk\pTk\tkIntPlatDecls_f.h
-C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.h
-C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.m
-C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.t
-C:\perl\site\lib\Tk\pTk\tkIntXlibDecls_f.h
-C:\perl\site\lib\Tk\pTk\tkInt_f.h
-C:\perl\site\lib\Tk\pTk\tkMenu.h
-C:\perl\site\lib\Tk\pTk\tkMenubutton.h
-C:\perl\site\lib\Tk\pTk\tkOption.h
-C:\perl\site\lib\Tk\pTk\tkOption.m
-C:\perl\site\lib\Tk\pTk\tkOption.t
-C:\perl\site\lib\Tk\pTk\tkOption_f.h
-C:\perl\site\lib\Tk\pTk\tkPlatDecls.h
-C:\perl\site\lib\Tk\pTk\tkPlatDecls.m
-C:\perl\site\lib\Tk\pTk\tkPlatDecls.t
-C:\perl\site\lib\Tk\pTk\tkPlatDecls_f.h
-C:\perl\site\lib\Tk\pTk\tkPort.h
-C:\perl\site\lib\Tk\pTk\tkScale.h
-C:\perl\site\lib\Tk\pTk\tkScrollbar.h
-C:\perl\site\lib\Tk\pTk\tkSelect.h
-C:\perl\site\lib\Tk\pTk\tkText.h
-C:\perl\site\lib\Tk\pTk\tkUndo.h
-C:\perl\site\lib\Tk\pTk\tkVMacro.h
-C:\perl\site\lib\Tk\pTk\tkWin.h
-C:\perl\site\lib\Tk\pTk\tkWinDefault.h
-C:\perl\site\lib\Tk\pTk\tkWinInt.h
-C:\perl\site\lib\Tk\pTk\tkWinPort.h
-C:\perl\site\lib\Tk\pTk\tkXrm.h
-C:\perl\site\lib\Tk\pTk\tk_f.h
-C:\perl\site\lib\Tk\pTk\xbytes.h
-C:\perl\site\lib\Tk\pack.pod
-C:\perl\site\lib\Tk\palette.pod
-C:\perl\site\lib\Tk\place.pod
-C:\perl\site\lib\Tk\prolog.ps
-C:\perl\site\lib\Tk\selection.pod
-C:\perl\site\lib\Tk\send.pod
-C:\perl\site\lib\Tk\srcfile.xpm
-C:\perl\site\lib\Tk\textfile.xpm
-C:\perl\site\lib\Tk\tixWm.pod
-C:\perl\site\lib\Tk\tkGlue.def
-C:\perl\site\lib\Tk\tkGlue.h
-C:\perl\site\lib\Tk\tkGlue.m
-C:\perl\site\lib\Tk\tkGlue.t
-C:\perl\site\lib\Tk\tkGlue_f.h
-C:\perl\site\lib\Tk\tkvars.pod
-C:\perl\site\lib\Tk\tranicon.gif
-C:\perl\site\lib\Tk\typemap
-C:\perl\site\lib\Tk\vtab.def
-C:\perl\site\lib\Tk\widgets.pm
-C:\perl\site\lib\Tk\widgets.pod
-C:\perl\site\lib\Tk\win.xbm
-C:\perl\site\lib\Tk\winfolder.xpm
-C:\perl\site\lib\Tk\wintext.xpm
-C:\perl\site\lib\auto\Tk\CancelRepeat.al
-C:\perl\site\lib\auto\Tk\Canvas\Canvas.bs
-C:\perl\site\lib\auto\Tk\Canvas\Canvas.dll
-C:\perl\site\lib\auto\Tk\Clipboard\autosplit.ix
-C:\perl\site\lib\auto\Tk\Clipboard\getSelected.al
-C:\perl\site\lib\auto\Tk\Compound\Compound.bs
-C:\perl\site\lib\auto\Tk\Compound\Compound.dll
-C:\perl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.bs
-C:\perl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
-C:\perl\site\lib\auto\Tk\EnterFocus.al
-C:\perl\site\lib\auto\Tk\Entry\Entry.bs
-C:\perl\site\lib\auto\Tk\Entry\Entry.dll
-C:\perl\site\lib\auto\Tk\Error.al
-C:\perl\site\lib\auto\Tk\Event\Event.bs
-C:\perl\site\lib\auto\Tk\Event\Event.dll
-C:\perl\site\lib\auto\Tk\FirstMenu.al
-C:\perl\site\lib\auto\Tk\FocusChildren.al
-C:\perl\site\lib\auto\Tk\FocusOK.al
-C:\perl\site\lib\auto\Tk\Frame\AddScrollbars.al
-C:\perl\site\lib\auto\Tk\Frame\FindMenu.al
-C:\perl\site\lib\auto\Tk\Frame\autosplit.ix
-C:\perl\site\lib\auto\Tk\Frame\freeze_on_map.al
-C:\perl\site\lib\auto\Tk\Frame\label.al
-C:\perl\site\lib\auto\Tk\Frame\labelPack.al
-C:\perl\site\lib\auto\Tk\Frame\labelVariable.al
-C:\perl\site\lib\auto\Tk\Frame\packscrollbars.al
-C:\perl\site\lib\auto\Tk\Frame\queuePack.al
-C:\perl\site\lib\auto\Tk\Frame\sbset.al
-C:\perl\site\lib\auto\Tk\Frame\scrollbars.al
-C:\perl\site\lib\auto\Tk\HList\HList.bs
-C:\perl\site\lib\auto\Tk\HList\HList.dll
-C:\perl\site\lib\auto\Tk\IO\IO.bs
-C:\perl\site\lib\auto\Tk\IO\IO.dll
-C:\perl\site\lib\auto\Tk\ImageNames.al
-C:\perl\site\lib\auto\Tk\ImageTypes.al
-C:\perl\site\lib\auto\Tk\JPEG\JPEG.bs
-C:\perl\site\lib\auto\Tk\JPEG\JPEG.dll
-C:\perl\site\lib\auto\Tk\Listbox\AutoScan.al
-C:\perl\site\lib\auto\Tk\Listbox\BeginExtend.al
-C:\perl\site\lib\auto\Tk\Listbox\BeginSelect.al
-C:\perl\site\lib\auto\Tk\Listbox\BeginToggle.al
-C:\perl\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
-C:\perl\site\lib\auto\Tk\Listbox\CLEAR.al
-C:\perl\site\lib\auto\Tk\Listbox\Cancel.al
-C:\perl\site\lib\auto\Tk\Listbox\Cntrl_End.al
-C:\perl\site\lib\auto\Tk\Listbox\Cntrl_Home.al
-C:\perl\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
-C:\perl\site\lib\auto\Tk\Listbox\DELETE.al
-C:\perl\site\lib\auto\Tk\Listbox\DataExtend.al
-C:\perl\site\lib\auto\Tk\Listbox\EXISTS.al
-C:\perl\site\lib\auto\Tk\Listbox\EXTEND.al
-C:\perl\site\lib\auto\Tk\Listbox\ExtendUpDown.al
-C:\perl\site\lib\auto\Tk\Listbox\FETCH.al
-C:\perl\site\lib\auto\Tk\Listbox\FETCHSIZE.al
-C:\perl\site\lib\auto\Tk\Listbox\Listbox.bs
-C:\perl\site\lib\auto\Tk\Listbox\Listbox.dll
-C:\perl\site\lib\auto\Tk\Listbox\Motion.al
-C:\perl\site\lib\auto\Tk\Listbox\POP.al
-C:\perl\site\lib\auto\Tk\Listbox\PUSH.al
-C:\perl\site\lib\auto\Tk\Listbox\SHIFT.al
-C:\perl\site\lib\auto\Tk\Listbox\SPLICE.al
-C:\perl\site\lib\auto\Tk\Listbox\STORE.al
-C:\perl\site\lib\auto\Tk\Listbox\SelectAll.al
-C:\perl\site\lib\auto\Tk\Listbox\SetList.al
-C:\perl\site\lib\auto\Tk\Listbox\TIEARRAY.al
-C:\perl\site\lib\auto\Tk\Listbox\TIESCALAR.al
-C:\perl\site\lib\auto\Tk\Listbox\UNSHIFT.al
-C:\perl\site\lib\auto\Tk\Listbox\UpDown.al
-C:\perl\site\lib\auto\Tk\Listbox\autosplit.ix
-C:\perl\site\lib\auto\Tk\Listbox\clipboardPaste.al
-C:\perl\site\lib\auto\Tk\Listbox\deleteSelected.al
-C:\perl\site\lib\auto\Tk\Listbox\getSelected.al
-C:\perl\site\lib\auto\Tk\Listbox\xyIndex.al
-C:\perl\site\lib\auto\Tk\Menubutton\Menubutton.bs
-C:\perl\site\lib\auto\Tk\Menubutton\Menubutton.dll
-C:\perl\site\lib\auto\Tk\NBFrame\NBFrame.bs
-C:\perl\site\lib\auto\Tk\NBFrame\NBFrame.dll
-C:\perl\site\lib\auto\Tk\PNG\PNG.bs
-C:\perl\site\lib\auto\Tk\PNG\PNG.dll
-C:\perl\site\lib\auto\Tk\Pixmap\Pixmap.bs
-C:\perl\site\lib\auto\Tk\Pixmap\Pixmap.dll
-C:\perl\site\lib\auto\Tk\Receive.al
-C:\perl\site\lib\auto\Tk\RepeatId.al
-C:\perl\site\lib\auto\Tk\Scale\Activate.al
-C:\perl\site\lib\auto\Tk\Scale\ButtonDown.al
-C:\perl\site\lib\auto\Tk\Scale\ButtonUp.al
-C:\perl\site\lib\auto\Tk\Scale\ControlPress.al
-C:\perl\site\lib\auto\Tk\Scale\Drag.al
-C:\perl\site\lib\auto\Tk\Scale\EndDrag.al
-C:\perl\site\lib\auto\Tk\Scale\Enter.al
-C:\perl\site\lib\auto\Tk\Scale\Increment.al
-C:\perl\site\lib\auto\Tk\Scale\Leave.al
-C:\perl\site\lib\auto\Tk\Scale\Scale.bs
-C:\perl\site\lib\auto\Tk\Scale\Scale.dll
-C:\perl\site\lib\auto\Tk\Scale\autosplit.ix
-C:\perl\site\lib\auto\Tk\Scrollbar\ButtonDown.al
-C:\perl\site\lib\auto\Tk\Scrollbar\ButtonUp.al
-C:\perl\site\lib\auto\Tk\Scrollbar\Drag.al
-C:\perl\site\lib\auto\Tk\Scrollbar\EndDrag.al
-C:\perl\site\lib\auto\Tk\Scrollbar\Enter.al
-C:\perl\site\lib\auto\Tk\Scrollbar\Leave.al
-C:\perl\site\lib\auto\Tk\Scrollbar\Motion.al
-C:\perl\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
-C:\perl\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
-C:\perl\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
-C:\perl\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
-C:\perl\site\lib\auto\Tk\Scrollbar\Scrollbar.bs
-C:\perl\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
-C:\perl\site\lib\auto\Tk\Scrollbar\Select.al
-C:\perl\site\lib\auto\Tk\Scrollbar\StartDrag.al
-C:\perl\site\lib\auto\Tk\Scrollbar\autosplit.ix
-C:\perl\site\lib\auto\Tk\Selection.al
-C:\perl\site\lib\auto\Tk\TList\TList.bs
-C:\perl\site\lib\auto\Tk\TList\TList.dll
-C:\perl\site\lib\auto\Tk\Table\Create.al
-C:\perl\site\lib\auto\Tk\Table\Posn.al
-C:\perl\site\lib\auto\Tk\Table\autosplit.ix
-C:\perl\site\lib\auto\Tk\Table\see.al
-C:\perl\site\lib\auto\Tk\Table\totalColumns.al
-C:\perl\site\lib\auto\Tk\Table\totalRows.al
-C:\perl\site\lib\auto\Tk\TextEdit\autosplit.ix
-C:\perl\site\lib\auto\Tk\TextUndo\autosplit.ix
-C:\perl\site\lib\auto\Tk\Text\Text.bs
-C:\perl\site\lib\auto\Tk\Text\Text.dll
-C:\perl\site\lib\auto\Tk\Text\autosplit.ix
-C:\perl\site\lib\auto\Tk\TixGrid\TixGrid.bs
-C:\perl\site\lib\auto\Tk\TixGrid\TixGrid.dll
-C:\perl\site\lib\auto\Tk\Tk.bs
-C:\perl\site\lib\auto\Tk\Tk.dll
-C:\perl\site\lib\auto\Tk\Toplevel\FG_BindIn.al
-C:\perl\site\lib\auto\Tk\Toplevel\FG_BindOut.al
-C:\perl\site\lib\auto\Tk\Toplevel\FG_Create.al
-C:\perl\site\lib\auto\Tk\Toplevel\FG_Destroy.al
-C:\perl\site\lib\auto\Tk\Toplevel\FG_In.al
-C:\perl\site\lib\auto\Tk\Toplevel\FG_Out.al
-C:\perl\site\lib\auto\Tk\Toplevel\autosplit.ix
-C:\perl\site\lib\auto\Tk\TraverseToMenu.al
-C:\perl\site\lib\auto\Tk\Widget\ASkludge.al
-C:\perl\site\lib\auto\Tk\Widget\AltKeyInDialog.al
-C:\perl\site\lib\auto\Tk\Widget\AmpWidget.al
-C:\perl\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
-C:\perl\site\lib\auto\Tk\Widget\MasterMenu.al
-C:\perl\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
-C:\perl\site\lib\auto\Tk\Widget\SetAmpText.al
-C:\perl\site\lib\auto\Tk\Widget\SetFocusGrab.al
-C:\perl\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
-C:\perl\site\lib\auto\Tk\Widget\autosplit.ix
-C:\perl\site\lib\auto\Tk\Widget\bindDump.al
-C:\perl\site\lib\auto\Tk\Widget\clipboardKeysyms.al
-C:\perl\site\lib\auto\Tk\Widget\pathname.al
-C:\perl\site\lib\auto\Tk\Wm\AnchorAdjust.al
-C:\perl\site\lib\auto\Tk\Wm\FullScreen.al
-C:\perl\site\lib\auto\Tk\Wm\Popup.al
-C:\perl\site\lib\auto\Tk\Wm\Post.al
-C:\perl\site\lib\auto\Tk\Wm\autosplit.ix
-C:\perl\site\lib\auto\Tk\Wm\iconposition.al
-C:\perl\site\lib\auto\Tk\X\X.bs
-C:\perl\site\lib\auto\Tk\X\X.dll
-C:\perl\site\lib\auto\Tk\X\autosplit.ix
-C:\perl\site\lib\auto\Tk\Xlib\Xlib.bs
-C:\perl\site\lib\auto\Tk\Xlib\Xlib.dll
-C:\perl\site\lib\auto\Tk\autosplit.ix
-C:\perl\site\lib\auto\Tk\break.al
-C:\perl\site\lib\auto\Tk\focusFollowsMouse.al
-C:\perl\site\lib\auto\Tk\focusNext.al
-C:\perl\site\lib\auto\Tk\focusPrev.al
-C:\perl\site\lib\auto\Tk\getEncoding.al
-C:\perl\site\lib\auto\Tk\getNextFocus.al
-C:\perl\site\lib\auto\Tk\getPrevFocus.al
-C:\perl\site\lib\auto\Tk\interps.al
-C:\perl\site\lib\auto\Tk\lsearch.al
-C:\perl\site\lib\auto\Tk\pTk\extralibs.ld
-C:\perl\site\lib\auto\Tk\tabFocus.al
-C:\perl\site\lib\auto\Tk\updateWidgets.al
+C:\tlperl\bin\gedi
+C:\tlperl\bin\gedi.bat
+C:\tlperl\bin\ptked
+C:\tlperl\bin\ptked.bat
+C:\tlperl\bin\ptksh
+C:\tlperl\bin\ptksh.bat
+C:\tlperl\bin\tkjpeg
+C:\tlperl\bin\tkjpeg.bat
+C:\tlperl\bin\widget
+C:\tlperl\bin\widget.bat
+C:\tlperl\site\lib\Tie\Watch.pm
+C:\tlperl\site\lib\Tk.pm
+C:\tlperl\site\lib\Tk.pod
+C:\tlperl\site\lib\Tk\804delta.pod
+C:\tlperl\site\lib\Tk\Adjuster.pm
+C:\tlperl\site\lib\Tk\Adjuster.pod
+C:\tlperl\site\lib\Tk\After.pm
+C:\tlperl\site\lib\Tk\Animation.pm
+C:\tlperl\site\lib\Tk\Animation.pod
+C:\tlperl\site\lib\Tk\Balloon.pm
+C:\tlperl\site\lib\Tk\Balloon.pod
+C:\tlperl\site\lib\Tk\Bitmap.pm
+C:\tlperl\site\lib\Tk\Bitmap.pod
+C:\tlperl\site\lib\Tk\BrowseEntry.pm
+C:\tlperl\site\lib\Tk\BrowseEntry.pod
+C:\tlperl\site\lib\Tk\Button.pm
+C:\tlperl\site\lib\Tk\Button.pod
+C:\tlperl\site\lib\Tk\Camel.xpm
+C:\tlperl\site\lib\Tk\Canvas.pm
+C:\tlperl\site\lib\Tk\Canvas.pod
+C:\tlperl\site\lib\Tk\Checkbutton.pm
+C:\tlperl\site\lib\Tk\Checkbutton.pod
+C:\tlperl\site\lib\Tk\Clipboard.pm
+C:\tlperl\site\lib\Tk\Clipboard.pod
+C:\tlperl\site\lib\Tk\CmdLine.pm
+C:\tlperl\site\lib\Tk\CmdLine.pod
+C:\tlperl\site\lib\Tk\ColorDialog.pm
+C:\tlperl\site\lib\Tk\ColorEdit.xpm
+C:\tlperl\site\lib\Tk\ColorEditor.pm
+C:\tlperl\site\lib\Tk\ColorEditor.pod
+C:\tlperl\site\lib\Tk\ColorSelect.pm
+C:\tlperl\site\lib\Tk\Compound.pm
+C:\tlperl\site\lib\Tk\Compound.pod
+C:\tlperl\site\lib\Tk\Config.pm
+C:\tlperl\site\lib\Tk\ConfigSpecs.pod
+C:\tlperl\site\lib\Tk\Configure.pm
+C:\tlperl\site\lib\Tk\Credits
+C:\tlperl\site\lib\Tk\DItem.pod
+C:\tlperl\site\lib\Tk\Derived.pm
+C:\tlperl\site\lib\Tk\Derived.pod
+C:\tlperl\site\lib\Tk\Dialog.pm
+C:\tlperl\site\lib\Tk\Dialog.pod
+C:\tlperl\site\lib\Tk\DialogBox.pm
+C:\tlperl\site\lib\Tk\DialogBox.pod
+C:\tlperl\site\lib\Tk\DirTree.pm
+C:\tlperl\site\lib\Tk\DirTree.pod
+C:\tlperl\site\lib\Tk\Dirlist.pm
+C:\tlperl\site\lib\Tk\DragDrop.pm
+C:\tlperl\site\lib\Tk\DragDrop\Common.pm
+C:\tlperl\site\lib\Tk\DragDrop\Common.pod
+C:\tlperl\site\lib\Tk\DragDrop\LocalDrop.pm
+C:\tlperl\site\lib\Tk\DragDrop\Rect.pm
+C:\tlperl\site\lib\Tk\DragDrop\SunConst.pm
+C:\tlperl\site\lib\Tk\DragDrop\SunConst.pod
+C:\tlperl\site\lib\Tk\DragDrop\SunDrop.pm
+C:\tlperl\site\lib\Tk\DragDrop\SunSite.pm
+C:\tlperl\site\lib\Tk\DragDrop\Win32Drop.pm
+C:\tlperl\site\lib\Tk\DragDrop\Win32Site.pm
+C:\tlperl\site\lib\Tk\DragDrop\XDNDDrop.pm
+C:\tlperl\site\lib\Tk\DragDrop\XDNDSite.pm
+C:\tlperl\site\lib\Tk\DropSite.pm
+C:\tlperl\site\lib\Tk\DropSite.pod
+C:\tlperl\site\lib\Tk\DummyEncode.pm
+C:\tlperl\site\lib\Tk\English.pm
+C:\tlperl\site\lib\Tk\Entry.pm
+C:\tlperl\site\lib\Tk\Entry.pod
+C:\tlperl\site\lib\Tk\Error.pod
+C:\tlperl\site\lib\Tk\ErrorDialog.pm
+C:\tlperl\site\lib\Tk\ErrorDialog.pod
+C:\tlperl\site\lib\Tk\Event.pm
+C:\tlperl\site\lib\Tk\Event\IO.pm
+C:\tlperl\site\lib\Tk\Eventloop.pod
+C:\tlperl\site\lib\Tk\FBox.pm
+C:\tlperl\site\lib\Tk\FBox.pod
+C:\tlperl\site\lib\Tk\FileSelect.pm
+C:\tlperl\site\lib\Tk\FileSelect.pod
+C:\tlperl\site\lib\Tk\FloatEntry.pm
+C:\tlperl\site\lib\Tk\Font.pm
+C:\tlperl\site\lib\Tk\Font.pod
+C:\tlperl\site\lib\Tk\Frame.pm
+C:\tlperl\site\lib\Tk\Frame.pod
+C:\tlperl\site\lib\Tk\HList.pm
+C:\tlperl\site\lib\Tk\HList.pod
+C:\tlperl\site\lib\Tk\IO.pm
+C:\tlperl\site\lib\Tk\IO.pod
+C:\tlperl\site\lib\Tk\IconList.pm
+C:\tlperl\site\lib\Tk\IconList.pod
+C:\tlperl\site\lib\Tk\Image.pm
+C:\tlperl\site\lib\Tk\Image.pod
+C:\tlperl\site\lib\Tk\InputO.pod
+C:\tlperl\site\lib\Tk\Internals.pod
+C:\tlperl\site\lib\Tk\ItemStyle.pm
+C:\tlperl\site\lib\Tk\JPEG.pm
+C:\tlperl\site\lib\Tk\LabEntry.pm
+C:\tlperl\site\lib\Tk\LabFrame.pm
+C:\tlperl\site\lib\Tk\LabFrame.pod
+C:\tlperl\site\lib\Tk\LabRadio.pm
+C:\tlperl\site\lib\Tk\Label.pm
+C:\tlperl\site\lib\Tk\Label.pod
+C:\tlperl\site\lib\Tk\Labelframe.pm
+C:\tlperl\site\lib\Tk\Labelframe.pod
+C:\tlperl\site\lib\Tk\Listbox.pm
+C:\tlperl\site\lib\Tk\Listbox.pod
+C:\tlperl\site\lib\Tk\MMtry.pm
+C:\tlperl\site\lib\Tk\MMutil.pm
+C:\tlperl\site\lib\Tk\MainWindow.pm
+C:\tlperl\site\lib\Tk\MainWindow.pod
+C:\tlperl\site\lib\Tk\MakeDepend.pm
+C:\tlperl\site\lib\Tk\Menu.pm
+C:\tlperl\site\lib\Tk\Menu.pod
+C:\tlperl\site\lib\Tk\Menu\Item.pm
+C:\tlperl\site\lib\Tk\Menu\Item.pod
+C:\tlperl\site\lib\Tk\Menubar.pm
+C:\tlperl\site\lib\Tk\Menubutton.pm
+C:\tlperl\site\lib\Tk\Menubutton.pod
+C:\tlperl\site\lib\Tk\Message.pm
+C:\tlperl\site\lib\Tk\Message.pod
+C:\tlperl\site\lib\Tk\MsgBox.pm
+C:\tlperl\site\lib\Tk\MsgBox.pod
+C:\tlperl\site\lib\Tk\Mwm.pod
+C:\tlperl\site\lib\Tk\NBFrame.pm
+C:\tlperl\site\lib\Tk\NoteBook.pm
+C:\tlperl\site\lib\Tk\NoteBook.pod
+C:\tlperl\site\lib\Tk\Optionmenu.pm
+C:\tlperl\site\lib\Tk\Optionmenu.pod
+C:\tlperl\site\lib\Tk\PNG.pm
+C:\tlperl\site\lib\Tk\Pane.pm
+C:\tlperl\site\lib\Tk\Panedwindow.pm
+C:\tlperl\site\lib\Tk\Panedwindow.pod
+C:\tlperl\site\lib\Tk\Photo.pm
+C:\tlperl\site\lib\Tk\Photo.pod
+C:\tlperl\site\lib\Tk\Pixmap.pm
+C:\tlperl\site\lib\Tk\Pixmap.pod
+C:\tlperl\site\lib\Tk\Popup.pod
+C:\tlperl\site\lib\Tk\Pretty.pm
+C:\tlperl\site\lib\Tk\ProgressBar.pm
+C:\tlperl\site\lib\Tk\README.Adjust
+C:\tlperl\site\lib\Tk\ROText.pm
+C:\tlperl\site\lib\Tk\ROText.pod
+C:\tlperl\site\lib\Tk\Radiobutton.pm
+C:\tlperl\site\lib\Tk\Radiobutton.pod
+C:\tlperl\site\lib\Tk\Region.pm
+C:\tlperl\site\lib\Tk\Reindex.pm
+C:\tlperl\site\lib\Tk\ReindexedROText.pm
+C:\tlperl\site\lib\Tk\ReindexedText.pm
+C:\tlperl\site\lib\Tk\Scale.pm
+C:\tlperl\site\lib\Tk\Scale.pod
+C:\tlperl\site\lib\Tk\Scrollbar.pm
+C:\tlperl\site\lib\Tk\Scrollbar.pod
+C:\tlperl\site\lib\Tk\Scrolled.pod
+C:\tlperl\site\lib\Tk\Spinbox.pm
+C:\tlperl\site\lib\Tk\Spinbox.pod
+C:\tlperl\site\lib\Tk\Stats.pm
+C:\tlperl\site\lib\Tk\Submethods.pm
+C:\tlperl\site\lib\Tk\Submethods.pod
+C:\tlperl\site\lib\Tk\TList.pm
+C:\tlperl\site\lib\Tk\TList.pod
+C:\tlperl\site\lib\Tk\Table.pm
+C:\tlperl\site\lib\Tk\Table.pod
+C:\tlperl\site\lib\Tk\Tcl-perl.pod
+C:\tlperl\site\lib\Tk\Text.pm
+C:\tlperl\site\lib\Tk\Text.pod
+C:\tlperl\site\lib\Tk\TextEdit.pm
+C:\tlperl\site\lib\Tk\TextList.pm
+C:\tlperl\site\lib\Tk\TextUndo.pm
+C:\tlperl\site\lib\Tk\TextUndo.pod
+C:\tlperl\site\lib\Tk\Text\Tag.pm
+C:\tlperl\site\lib\Tk\Tiler.pm
+C:\tlperl\site\lib\Tk\Tiler.pod
+C:\tlperl\site\lib\Tk\TixGrid.pm
+C:\tlperl\site\lib\Tk\TixGrid.pod
+C:\tlperl\site\lib\Tk\Tk.xbm
+C:\tlperl\site\lib\Tk\Tk.xpm
+C:\tlperl\site\lib\Tk\TkXSUB.def
+C:\tlperl\site\lib\Tk\Toplevel.pm
+C:\tlperl\site\lib\Tk\Toplevel.pod
+C:\tlperl\site\lib\Tk\Trace.pm
+C:\tlperl\site\lib\Tk\Tree.pm
+C:\tlperl\site\lib\Tk\Tree.pod
+C:\tlperl\site\lib\Tk\UserGuide.pod
+C:\tlperl\site\lib\Tk\Widget.pm
+C:\tlperl\site\lib\Tk\Widget.pod
+C:\tlperl\site\lib\Tk\WidgetDemo.pod
+C:\tlperl\site\lib\Tk\Wm.pm
+C:\tlperl\site\lib\Tk\Wm.pod
+C:\tlperl\site\lib\Tk\X.pm
+C:\tlperl\site\lib\Tk\X.pod
+C:\tlperl\site\lib\Tk\X11Font.pm
+C:\tlperl\site\lib\Tk\X11Font.pod
+C:\tlperl\site\lib\Tk\X11\X.h
+C:\tlperl\site\lib\Tk\X11\Xatom.h
+C:\tlperl\site\lib\Tk\X11\Xfuncproto.h
+C:\tlperl\site\lib\Tk\X11\Xlib.h
+C:\tlperl\site\lib\Tk\X11\Xutil.h
+C:\tlperl\site\lib\Tk\X11\cursorfont.h
+C:\tlperl\site\lib\Tk\X11\keysym.h
+C:\tlperl\site\lib\Tk\X11\keysymdef.h
+C:\tlperl\site\lib\Tk\X11\license.terms
+C:\tlperl\site\lib\Tk\Xcamel.gif
+C:\tlperl\site\lib\Tk\Xlib.pm
+C:\tlperl\site\lib\Tk\Xrm.pm
+C:\tlperl\site\lib\Tk\Xrm.pod
+C:\tlperl\site\lib\Tk\act_folder.xbm
+C:\tlperl\site\lib\Tk\act_folder.xpm
+C:\tlperl\site\lib\Tk\after.pod
+C:\tlperl\site\lib\Tk\anim.gif
+C:\tlperl\site\lib\Tk\arrowdownwin.xbm
+C:\tlperl\site\lib\Tk\balArrow.xbm
+C:\tlperl\site\lib\Tk\bind.pod
+C:\tlperl\site\lib\Tk\bindtags.pod
+C:\tlperl\site\lib\Tk\callbacks.pod
+C:\tlperl\site\lib\Tk\cbxarrow.xbm
+C:\tlperl\site\lib\Tk\chooseColor.pod
+C:\tlperl\site\lib\Tk\chooseDirectory.pod
+C:\tlperl\site\lib\Tk\composite.pod
+C:\tlperl\site\lib\Tk\demos\LabEnLabRad.pm
+C:\tlperl\site\lib\Tk\demos\images\QuitPB.xpm
+C:\tlperl\site\lib\Tk\demos\images\QuitPBa.xpm
+C:\tlperl\site\lib\Tk\demos\images\c.icon
+C:\tlperl\site\lib\Tk\demos\images\cursor.cur
+C:\tlperl\site\lib\Tk\demos\images\cursor.mask
+C:\tlperl\site\lib\Tk\demos\images\cursor.xbm
+C:\tlperl\site\lib\Tk\demos\images\dir.icon
+C:\tlperl\site\lib\Tk\demos\images\dir.mask
+C:\tlperl\site\lib\Tk\demos\images\earth.gif
+C:\tlperl\site\lib\Tk\demos\images\earthris.gif
+C:\tlperl\site\lib\Tk\demos\images\face
+C:\tlperl\site\lib\Tk\demos\images\flagdown
+C:\tlperl\site\lib\Tk\demos\images\flagup
+C:\tlperl\site\lib\Tk\demos\images\grey.25
+C:\tlperl\site\lib\Tk\demos\images\grey.5
+C:\tlperl\site\lib\Tk\demos\images\letters
+C:\tlperl\site\lib\Tk\demos\images\mickey.gif
+C:\tlperl\site\lib\Tk\demos\images\ned.xpm
+C:\tlperl\site\lib\Tk\demos\images\noletters
+C:\tlperl\site\lib\Tk\demos\images\page.icon
+C:\tlperl\site\lib\Tk\demos\images\page.mask
+C:\tlperl\site\lib\Tk\demos\images\pattern
+C:\tlperl\site\lib\Tk\demos\images\teapot.ppm
+C:\tlperl\site\lib\Tk\demos\widget_lib\Ball.pm
+C:\tlperl\site\lib\Tk\demos\widget_lib\HList.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\HList2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\Plot.pm
+C:\tlperl\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
+C:\tlperl\site\lib\Tk\demos\widget_lib\arrows.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\balloon.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\bind.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\bitmaps.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\bounce.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\browseentry.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\browseentry2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\button.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\check.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\choosedir.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\clrpick.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\colors.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\cscroll.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\ctext.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\dialog1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\dialog2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\dirtree.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\entry1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\entry2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\entry3.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\filebox.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\floor.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\form.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\form_mgr.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\hello.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\hscale.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\icon.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\image1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\image2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\items.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\keysyms.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\labelframe.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\labels.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\labframe.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\mega.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\menbut.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\menus.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\menus2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\msgBox.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\notebook.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\paned1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\paned2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\photo1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\photo2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\plot.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\progress.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\puzzle.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\radio.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\ruler.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\sayings.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\search.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\showVars.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\slide.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\spin.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\states.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\style.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\texts.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\trace1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\trace2.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\transtile.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\twind.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\unicodeout.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\virtevents1.pl
+C:\tlperl\site\lib\Tk\demos\widget_lib\vscale.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\Gedi.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\TEMPLATE.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\Tiler.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\all.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\cursor.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
+C:\tlperl\site\lib\Tk\demos\widtrib\npuz.pl
+C:\tlperl\site\lib\Tk\demos\widtrib\plop.pl
+C:\tlperl\site\lib\Tk\event.pod
+C:\tlperl\site\lib\Tk\exit.pod
+C:\tlperl\site\lib\Tk\file.xbm
+C:\tlperl\site\lib\Tk\file.xpm
+C:\tlperl\site\lib\Tk\fileevent.pod
+C:\tlperl\site\lib\Tk\focus.pod
+C:\tlperl\site\lib\Tk\folder.xbm
+C:\tlperl\site\lib\Tk\folder.xpm
+C:\tlperl\site\lib\Tk\form.pod
+C:\tlperl\site\lib\Tk\getOpenFile.pod
+C:\tlperl\site\lib\Tk\grab.pod
+C:\tlperl\site\lib\Tk\grid.pod
+C:\tlperl\site\lib\Tk\icon.gif
+C:\tlperl\site\lib\Tk\install.pm
+C:\tlperl\site\lib\Tk\license.terms
+C:\tlperl\site\lib\Tk\mega.pod
+C:\tlperl\site\lib\Tk\messageBox.pod
+C:\tlperl\site\lib\Tk\openfile.xbm
+C:\tlperl\site\lib\Tk\openfolder.xbm
+C:\tlperl\site\lib\Tk\openfolder.xpm
+C:\tlperl\site\lib\Tk\option.pod
+C:\tlperl\site\lib\Tk\options.pod
+C:\tlperl\site\lib\Tk\overview.pod
+C:\tlperl\site\lib\Tk\pTk.pod
+C:\tlperl\site\lib\Tk\pTk\Lang.h
+C:\tlperl\site\lib\Tk\pTk\Lang.m
+C:\tlperl\site\lib\Tk\pTk\Lang.t
+C:\tlperl\site\lib\Tk\pTk\Lang_f.h
+C:\tlperl\site\lib\Tk\pTk\Tcl-pTk
+C:\tlperl\site\lib\Tk\pTk\Xlib.h
+C:\tlperl\site\lib\Tk\pTk\Xlib.m
+C:\tlperl\site\lib\Tk\pTk\Xlib.t
+C:\tlperl\site\lib\Tk\pTk\Xlib_f.h
+C:\tlperl\site\lib\Tk\pTk\compat\limits.h
+C:\tlperl\site\lib\Tk\pTk\compat\stdlib.h
+C:\tlperl\site\lib\Tk\pTk\compat\unistd.h
+C:\tlperl\site\lib\Tk\pTk\default.h
+C:\tlperl\site\lib\Tk\pTk\img.h
+C:\tlperl\site\lib\Tk\pTk\imgInt.h
+C:\tlperl\site\lib\Tk\pTk\imgInt.m
+C:\tlperl\site\lib\Tk\pTk\imgInt.t
+C:\tlperl\site\lib\Tk\pTk\imgInt_f.h
+C:\tlperl\site\lib\Tk\pTk\ks_names.h
+C:\tlperl\site\lib\Tk\pTk\mkVFunc
+C:\tlperl\site\lib\Tk\pTk\moredefs.h
+C:\tlperl\site\lib\Tk\pTk\port.h
+C:\tlperl\site\lib\Tk\pTk\tcl.h
+C:\tlperl\site\lib\Tk\pTk\tclDecls.h
+C:\tlperl\site\lib\Tk\pTk\tclDecls.m
+C:\tlperl\site\lib\Tk\pTk\tclDecls.t
+C:\tlperl\site\lib\Tk\pTk\tclDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tclIntDecls.h
+C:\tlperl\site\lib\Tk\pTk\tclIntPlatDecls.h
+C:\tlperl\site\lib\Tk\pTk\tclMath.h
+C:\tlperl\site\lib\Tk\pTk\tclPlatDecls.h
+C:\tlperl\site\lib\Tk\pTk\tclWinInt.h
+C:\tlperl\site\lib\Tk\pTk\tix.h
+C:\tlperl\site\lib\Tk\pTk\tix.m
+C:\tlperl\site\lib\Tk\pTk\tix.t
+C:\tlperl\site\lib\Tk\pTk\tixBitmaps.h
+C:\tlperl\site\lib\Tk\pTk\tixDef.h
+C:\tlperl\site\lib\Tk\pTk\tixForm.h
+C:\tlperl\site\lib\Tk\pTk\tixGrData.h
+C:\tlperl\site\lib\Tk\pTk\tixGrid.h
+C:\tlperl\site\lib\Tk\pTk\tixHList.h
+C:\tlperl\site\lib\Tk\pTk\tixImgXpm.h
+C:\tlperl\site\lib\Tk\pTk\tixImgXpm.m
+C:\tlperl\site\lib\Tk\pTk\tixImgXpm.t
+C:\tlperl\site\lib\Tk\pTk\tixImgXpm_f.h
+C:\tlperl\site\lib\Tk\pTk\tixInt.h
+C:\tlperl\site\lib\Tk\pTk\tixInt.m
+C:\tlperl\site\lib\Tk\pTk\tixInt.t
+C:\tlperl\site\lib\Tk\pTk\tixInt_f.h
+C:\tlperl\site\lib\Tk\pTk\tixPort.h
+C:\tlperl\site\lib\Tk\pTk\tixTList.h
+C:\tlperl\site\lib\Tk\pTk\tixWinInt.h
+C:\tlperl\site\lib\Tk\pTk\tixWinPort.h
+C:\tlperl\site\lib\Tk\pTk\tix_f.h
+C:\tlperl\site\lib\Tk\pTk\tk.h
+C:\tlperl\site\lib\Tk\pTk\tk.m
+C:\tlperl\site\lib\Tk\pTk\tk.t
+C:\tlperl\site\lib\Tk\pTk\tk3d.h
+C:\tlperl\site\lib\Tk\pTk\tkButton.h
+C:\tlperl\site\lib\Tk\pTk\tkCanvas.h
+C:\tlperl\site\lib\Tk\pTk\tkCanvases.h
+C:\tlperl\site\lib\Tk\pTk\tkColor.h
+C:\tlperl\site\lib\Tk\pTk\tkConfig.h
+C:\tlperl\site\lib\Tk\pTk\tkDecls.h
+C:\tlperl\site\lib\Tk\pTk\tkDecls.m
+C:\tlperl\site\lib\Tk\pTk\tkDecls.t
+C:\tlperl\site\lib\Tk\pTk\tkDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tkEvent.h
+C:\tlperl\site\lib\Tk\pTk\tkEvent.m
+C:\tlperl\site\lib\Tk\pTk\tkEvent.t
+C:\tlperl\site\lib\Tk\pTk\tkEvent_f.h
+C:\tlperl\site\lib\Tk\pTk\tkFileFilter.h
+C:\tlperl\site\lib\Tk\pTk\tkFont.h
+C:\tlperl\site\lib\Tk\pTk\tkImgPhoto.h
+C:\tlperl\site\lib\Tk\pTk\tkImgPhoto.m
+C:\tlperl\site\lib\Tk\pTk\tkImgPhoto.t
+C:\tlperl\site\lib\Tk\pTk\tkImgPhoto_f.h
+C:\tlperl\site\lib\Tk\pTk\tkInitScript.h
+C:\tlperl\site\lib\Tk\pTk\tkInt.h
+C:\tlperl\site\lib\Tk\pTk\tkInt.m
+C:\tlperl\site\lib\Tk\pTk\tkInt.t
+C:\tlperl\site\lib\Tk\pTk\tkIntDecls.h
+C:\tlperl\site\lib\Tk\pTk\tkIntDecls.m
+C:\tlperl\site\lib\Tk\pTk\tkIntDecls.t
+C:\tlperl\site\lib\Tk\pTk\tkIntDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.h
+C:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.m
+C:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.t
+C:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.h
+C:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.m
+C:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.t
+C:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tkInt_f.h
+C:\tlperl\site\lib\Tk\pTk\tkMenu.h
+C:\tlperl\site\lib\Tk\pTk\tkMenubutton.h
+C:\tlperl\site\lib\Tk\pTk\tkOption.h
+C:\tlperl\site\lib\Tk\pTk\tkOption.m
+C:\tlperl\site\lib\Tk\pTk\tkOption.t
+C:\tlperl\site\lib\Tk\pTk\tkOption_f.h
+C:\tlperl\site\lib\Tk\pTk\tkPlatDecls.h
+C:\tlperl\site\lib\Tk\pTk\tkPlatDecls.m
+C:\tlperl\site\lib\Tk\pTk\tkPlatDecls.t
+C:\tlperl\site\lib\Tk\pTk\tkPlatDecls_f.h
+C:\tlperl\site\lib\Tk\pTk\tkPort.h
+C:\tlperl\site\lib\Tk\pTk\tkScale.h
+C:\tlperl\site\lib\Tk\pTk\tkScrollbar.h
+C:\tlperl\site\lib\Tk\pTk\tkSelect.h
+C:\tlperl\site\lib\Tk\pTk\tkText.h
+C:\tlperl\site\lib\Tk\pTk\tkUndo.h
+C:\tlperl\site\lib\Tk\pTk\tkVMacro.h
+C:\tlperl\site\lib\Tk\pTk\tkWin.h
+C:\tlperl\site\lib\Tk\pTk\tkWinDefault.h
+C:\tlperl\site\lib\Tk\pTk\tkWinInt.h
+C:\tlperl\site\lib\Tk\pTk\tkWinPort.h
+C:\tlperl\site\lib\Tk\pTk\tkXrm.h
+C:\tlperl\site\lib\Tk\pTk\tk_f.h
+C:\tlperl\site\lib\Tk\pTk\xbytes.h
+C:\tlperl\site\lib\Tk\pack.pod
+C:\tlperl\site\lib\Tk\palette.pod
+C:\tlperl\site\lib\Tk\place.pod
+C:\tlperl\site\lib\Tk\prolog.ps
+C:\tlperl\site\lib\Tk\selection.pod
+C:\tlperl\site\lib\Tk\send.pod
+C:\tlperl\site\lib\Tk\srcfile.xpm
+C:\tlperl\site\lib\Tk\textfile.xpm
+C:\tlperl\site\lib\Tk\tixWm.pod
+C:\tlperl\site\lib\Tk\tkGlue.def
+C:\tlperl\site\lib\Tk\tkGlue.h
+C:\tlperl\site\lib\Tk\tkGlue.m
+C:\tlperl\site\lib\Tk\tkGlue.t
+C:\tlperl\site\lib\Tk\tkGlue_f.h
+C:\tlperl\site\lib\Tk\tkvars.pod
+C:\tlperl\site\lib\Tk\tranicon.gif
+C:\tlperl\site\lib\Tk\typemap
+C:\tlperl\site\lib\Tk\vtab.def
+C:\tlperl\site\lib\Tk\widgets.pm
+C:\tlperl\site\lib\Tk\widgets.pod
+C:\tlperl\site\lib\Tk\win.xbm
+C:\tlperl\site\lib\Tk\winfolder.xpm
+C:\tlperl\site\lib\Tk\wintext.xpm
+C:\tlperl\site\lib\auto\Tk\CancelRepeat.al
+C:\tlperl\site\lib\auto\Tk\Canvas\Canvas.dll
+C:\tlperl\site\lib\auto\Tk\Clipboard\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Clipboard\getSelected.al
+C:\tlperl\site\lib\auto\Tk\Compound\Compound.dll
+C:\tlperl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
+C:\tlperl\site\lib\auto\Tk\EnterFocus.al
+C:\tlperl\site\lib\auto\Tk\Entry\Entry.dll
+C:\tlperl\site\lib\auto\Tk\Error.al
+C:\tlperl\site\lib\auto\Tk\Event\Event.dll
+C:\tlperl\site\lib\auto\Tk\FirstMenu.al
+C:\tlperl\site\lib\auto\Tk\FocusChildren.al
+C:\tlperl\site\lib\auto\Tk\FocusOK.al
+C:\tlperl\site\lib\auto\Tk\Frame\AddScrollbars.al
+C:\tlperl\site\lib\auto\Tk\Frame\FindMenu.al
+C:\tlperl\site\lib\auto\Tk\Frame\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Frame\freeze_on_map.al
+C:\tlperl\site\lib\auto\Tk\Frame\label.al
+C:\tlperl\site\lib\auto\Tk\Frame\labelPack.al
+C:\tlperl\site\lib\auto\Tk\Frame\labelVariable.al
+C:\tlperl\site\lib\auto\Tk\Frame\packscrollbars.al
+C:\tlperl\site\lib\auto\Tk\Frame\queuePack.al
+C:\tlperl\site\lib\auto\Tk\Frame\sbset.al
+C:\tlperl\site\lib\auto\Tk\Frame\scrollbars.al
+C:\tlperl\site\lib\auto\Tk\HList\HList.dll
+C:\tlperl\site\lib\auto\Tk\IO\IO.dll
+C:\tlperl\site\lib\auto\Tk\ImageNames.al
+C:\tlperl\site\lib\auto\Tk\ImageTypes.al
+C:\tlperl\site\lib\auto\Tk\JPEG\JPEG.dll
+C:\tlperl\site\lib\auto\Tk\Listbox\AutoScan.al
+C:\tlperl\site\lib\auto\Tk\Listbox\BeginExtend.al
+C:\tlperl\site\lib\auto\Tk\Listbox\BeginSelect.al
+C:\tlperl\site\lib\auto\Tk\Listbox\BeginToggle.al
+C:\tlperl\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
+C:\tlperl\site\lib\auto\Tk\Listbox\CLEAR.al
+C:\tlperl\site\lib\auto\Tk\Listbox\Cancel.al
+C:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_End.al
+C:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_Home.al
+C:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
+C:\tlperl\site\lib\auto\Tk\Listbox\DELETE.al
+C:\tlperl\site\lib\auto\Tk\Listbox\DataExtend.al
+C:\tlperl\site\lib\auto\Tk\Listbox\EXISTS.al
+C:\tlperl\site\lib\auto\Tk\Listbox\EXTEND.al
+C:\tlperl\site\lib\auto\Tk\Listbox\ExtendUpDown.al
+C:\tlperl\site\lib\auto\Tk\Listbox\FETCH.al
+C:\tlperl\site\lib\auto\Tk\Listbox\FETCHSIZE.al
+C:\tlperl\site\lib\auto\Tk\Listbox\Listbox.dll
+C:\tlperl\site\lib\auto\Tk\Listbox\Motion.al
+C:\tlperl\site\lib\auto\Tk\Listbox\POP.al
+C:\tlperl\site\lib\auto\Tk\Listbox\PUSH.al
+C:\tlperl\site\lib\auto\Tk\Listbox\SHIFT.al
+C:\tlperl\site\lib\auto\Tk\Listbox\SPLICE.al
+C:\tlperl\site\lib\auto\Tk\Listbox\STORE.al
+C:\tlperl\site\lib\auto\Tk\Listbox\SelectAll.al
+C:\tlperl\site\lib\auto\Tk\Listbox\SetList.al
+C:\tlperl\site\lib\auto\Tk\Listbox\TIEARRAY.al
+C:\tlperl\site\lib\auto\Tk\Listbox\TIESCALAR.al
+C:\tlperl\site\lib\auto\Tk\Listbox\UNSHIFT.al
+C:\tlperl\site\lib\auto\Tk\Listbox\UpDown.al
+C:\tlperl\site\lib\auto\Tk\Listbox\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Listbox\clipboardPaste.al
+C:\tlperl\site\lib\auto\Tk\Listbox\deleteSelected.al
+C:\tlperl\site\lib\auto\Tk\Listbox\getSelected.al
+C:\tlperl\site\lib\auto\Tk\Listbox\xyIndex.al
+C:\tlperl\site\lib\auto\Tk\Menubutton\Menubutton.dll
+C:\tlperl\site\lib\auto\Tk\NBFrame\NBFrame.dll
+C:\tlperl\site\lib\auto\Tk\PNG\PNG.dll
+C:\tlperl\site\lib\auto\Tk\Pixmap\Pixmap.dll
+C:\tlperl\site\lib\auto\Tk\Receive.al
+C:\tlperl\site\lib\auto\Tk\RepeatId.al
+C:\tlperl\site\lib\auto\Tk\Scale\Activate.al
+C:\tlperl\site\lib\auto\Tk\Scale\ButtonDown.al
+C:\tlperl\site\lib\auto\Tk\Scale\ButtonUp.al
+C:\tlperl\site\lib\auto\Tk\Scale\ControlPress.al
+C:\tlperl\site\lib\auto\Tk\Scale\Drag.al
+C:\tlperl\site\lib\auto\Tk\Scale\EndDrag.al
+C:\tlperl\site\lib\auto\Tk\Scale\Enter.al
+C:\tlperl\site\lib\auto\Tk\Scale\Increment.al
+C:\tlperl\site\lib\auto\Tk\Scale\Leave.al
+C:\tlperl\site\lib\auto\Tk\Scale\Scale.dll
+C:\tlperl\site\lib\auto\Tk\Scale\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonDown.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonUp.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Drag.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\EndDrag.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Enter.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Leave.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Motion.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
+C:\tlperl\site\lib\auto\Tk\Scrollbar\Select.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\StartDrag.al
+C:\tlperl\site\lib\auto\Tk\Scrollbar\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Selection.al
+C:\tlperl\site\lib\auto\Tk\TList\TList.dll
+C:\tlperl\site\lib\auto\Tk\Table\Create.al
+C:\tlperl\site\lib\auto\Tk\Table\Posn.al
+C:\tlperl\site\lib\auto\Tk\Table\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Table\see.al
+C:\tlperl\site\lib\auto\Tk\Table\totalColumns.al
+C:\tlperl\site\lib\auto\Tk\Table\totalRows.al
+C:\tlperl\site\lib\auto\Tk\TextEdit\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\TextUndo\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Text\Text.dll
+C:\tlperl\site\lib\auto\Tk\Text\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\TixGrid\TixGrid.dll
+C:\tlperl\site\lib\auto\Tk\Tk.dll
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindIn.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindOut.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_Create.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_Destroy.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_In.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\FG_Out.al
+C:\tlperl\site\lib\auto\Tk\Toplevel\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\TraverseToMenu.al
+C:\tlperl\site\lib\auto\Tk\Widget\ASkludge.al
+C:\tlperl\site\lib\auto\Tk\Widget\AltKeyInDialog.al
+C:\tlperl\site\lib\auto\Tk\Widget\AmpWidget.al
+C:\tlperl\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
+C:\tlperl\site\lib\auto\Tk\Widget\MasterMenu.al
+C:\tlperl\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
+C:\tlperl\site\lib\auto\Tk\Widget\SetAmpText.al
+C:\tlperl\site\lib\auto\Tk\Widget\SetFocusGrab.al
+C:\tlperl\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
+C:\tlperl\site\lib\auto\Tk\Widget\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Widget\bindDump.al
+C:\tlperl\site\lib\auto\Tk\Widget\clipboardKeysyms.al
+C:\tlperl\site\lib\auto\Tk\Widget\pathname.al
+C:\tlperl\site\lib\auto\Tk\Wm\AnchorAdjust.al
+C:\tlperl\site\lib\auto\Tk\Wm\FullScreen.al
+C:\tlperl\site\lib\auto\Tk\Wm\Popup.al
+C:\tlperl\site\lib\auto\Tk\Wm\Post.al
+C:\tlperl\site\lib\auto\Tk\Wm\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Wm\iconposition.al
+C:\tlperl\site\lib\auto\Tk\X\X.dll
+C:\tlperl\site\lib\auto\Tk\X\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\Xlib\Xlib.dll
+C:\tlperl\site\lib\auto\Tk\autosplit.ix
+C:\tlperl\site\lib\auto\Tk\break.al
+C:\tlperl\site\lib\auto\Tk\focusFollowsMouse.al
+C:\tlperl\site\lib\auto\Tk\focusNext.al
+C:\tlperl\site\lib\auto\Tk\focusPrev.al
+C:\tlperl\site\lib\auto\Tk\getEncoding.al
+C:\tlperl\site\lib\auto\Tk\getNextFocus.al
+C:\tlperl\site\lib\auto\Tk\getPrevFocus.al
+C:\tlperl\site\lib\auto\Tk\interps.al
+C:\tlperl\site\lib\auto\Tk\lsearch.al
+C:\tlperl\site\lib\auto\Tk\pTk\extralibs.ld
+C:\tlperl\site\lib\auto\Tk\tabFocus.al
+C:\tlperl\site\lib\auto\Tk\updateWidgets.al
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
index 332265b5dfa..5f16b7f1582 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
index ab3e502743b..383b1ec5455 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/DirSelect/.packlist b/Master/tlpkg/tlperl/lib/auto/Tk/DirSelect/.packlist
index 8348116fe76..f39d318ae22 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/DirSelect/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/DirSelect/.packlist
@@ -1 +1 @@
-C:\perl\site\lib\Tk\DirSelect.pm
+C:\tlperl\site\lib\Tk\DirSelect.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.bs b/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.bs
+++ /dev/null
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 07e70cd4a0a..76576ec3b0c 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/Entry/Entry.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
index 2c8b3aa7e9b..e64a4b0426f 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/Event/Event.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
index 29536c23524..3d2a09470d8 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/HList/HList.bs b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
index 3e7918e806f..c373eada72e 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
index 14a971bc572..cf63281c2bb 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/JPEG/JPEG.bs b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
index 297b316a6e4..d35eeafc217 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
index 5624c6e0a34..a3a3e82874b 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
index 5bc0b7ebd0f..a08539c42af 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
index 0f507161126..5996c4a26c4 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
index 2f04df7a8f4..68cc3ea4ceb 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
index 94c08d7b017..f36a7f6fa89 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/Scale/Scale.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
index e3f44b73472..82c35ad75b8 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
index 77df6f8bbe0..61034d4d88b 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/TList/TList.bs b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
index 87d4649dbf6..3609f61e111 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
index 54c640c07f0..0bca5e9faec 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
index 1701ed4e600..8c48ee289de 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
index c43b02a6ede..a4b384804ca 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/Widget/bindDump.al b/Master/tlpkg/tlperl/lib/auto/Tk/Widget/bindDump.al
index a11fd56468d..478f264a1dd 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Widget/bindDump.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Widget/bindDump.al
@@ -50,9 +50,9 @@ sub bindDump {
}
} elsif ($callback =~ /ARRAY/) {
if (ref $callback->[0]) {
- push @out, sprintf( "%s %s\n", ' ' x $spc1, $callback->[0], "\n" );
+ push @out, sprintf( "%s %s\n", ' ' x $spc1, $callback->[0] );
} else {
- push @out, sprintf( "%s '%s'\n", ' ' x $spc1, $callback->[0], "\n" );
+ push @out, sprintf( "%s '%s'\n", ' ' x $spc1, $callback->[0] );
}
foreach my $arg (@$callback[1 .. $#$callback]) {
if (ref $arg) {
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.bs b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
index 3745c398bd5..7c53d5f07b8 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.bs b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
index 84f275a7a2f..622488eccca 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/URI/.packlist b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
index f28cdd83b50..4b82b32d7d1 100644
--- a/Master/tlpkg/tlperl/lib/auto/URI/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
@@ -1,52 +1,52 @@
-C:\perl\site\lib\URI.pm
-C:\perl\site\lib\URI\Escape.pm
-C:\perl\site\lib\URI\Heuristic.pm
-C:\perl\site\lib\URI\IRI.pm
-C:\perl\site\lib\URI\QueryParam.pm
-C:\perl\site\lib\URI\Split.pm
-C:\perl\site\lib\URI\URL.pm
-C:\perl\site\lib\URI\WithBase.pm
-C:\perl\site\lib\URI\_foreign.pm
-C:\perl\site\lib\URI\_generic.pm
-C:\perl\site\lib\URI\_idna.pm
-C:\perl\site\lib\URI\_ldap.pm
-C:\perl\site\lib\URI\_login.pm
-C:\perl\site\lib\URI\_punycode.pm
-C:\perl\site\lib\URI\_query.pm
-C:\perl\site\lib\URI\_segment.pm
-C:\perl\site\lib\URI\_server.pm
-C:\perl\site\lib\URI\_userpass.pm
-C:\perl\site\lib\URI\data.pm
-C:\perl\site\lib\URI\file.pm
-C:\perl\site\lib\URI\file\Base.pm
-C:\perl\site\lib\URI\file\FAT.pm
-C:\perl\site\lib\URI\file\Mac.pm
-C:\perl\site\lib\URI\file\OS2.pm
-C:\perl\site\lib\URI\file\QNX.pm
-C:\perl\site\lib\URI\file\Unix.pm
-C:\perl\site\lib\URI\file\Win32.pm
-C:\perl\site\lib\URI\ftp.pm
-C:\perl\site\lib\URI\gopher.pm
-C:\perl\site\lib\URI\http.pm
-C:\perl\site\lib\URI\https.pm
-C:\perl\site\lib\URI\ldap.pm
-C:\perl\site\lib\URI\ldapi.pm
-C:\perl\site\lib\URI\ldaps.pm
-C:\perl\site\lib\URI\mailto.pm
-C:\perl\site\lib\URI\mms.pm
-C:\perl\site\lib\URI\news.pm
-C:\perl\site\lib\URI\nntp.pm
-C:\perl\site\lib\URI\pop.pm
-C:\perl\site\lib\URI\rlogin.pm
-C:\perl\site\lib\URI\rsync.pm
-C:\perl\site\lib\URI\rtsp.pm
-C:\perl\site\lib\URI\rtspu.pm
-C:\perl\site\lib\URI\sip.pm
-C:\perl\site\lib\URI\sips.pm
-C:\perl\site\lib\URI\snews.pm
-C:\perl\site\lib\URI\ssh.pm
-C:\perl\site\lib\URI\telnet.pm
-C:\perl\site\lib\URI\tn3270.pm
-C:\perl\site\lib\URI\urn.pm
-C:\perl\site\lib\URI\urn\isbn.pm
-C:\perl\site\lib\URI\urn\oid.pm
+C:\tlperl\site\lib\URI.pm
+C:\tlperl\site\lib\URI\Escape.pm
+C:\tlperl\site\lib\URI\Heuristic.pm
+C:\tlperl\site\lib\URI\IRI.pm
+C:\tlperl\site\lib\URI\QueryParam.pm
+C:\tlperl\site\lib\URI\Split.pm
+C:\tlperl\site\lib\URI\URL.pm
+C:\tlperl\site\lib\URI\WithBase.pm
+C:\tlperl\site\lib\URI\_foreign.pm
+C:\tlperl\site\lib\URI\_generic.pm
+C:\tlperl\site\lib\URI\_idna.pm
+C:\tlperl\site\lib\URI\_ldap.pm
+C:\tlperl\site\lib\URI\_login.pm
+C:\tlperl\site\lib\URI\_punycode.pm
+C:\tlperl\site\lib\URI\_query.pm
+C:\tlperl\site\lib\URI\_segment.pm
+C:\tlperl\site\lib\URI\_server.pm
+C:\tlperl\site\lib\URI\_userpass.pm
+C:\tlperl\site\lib\URI\data.pm
+C:\tlperl\site\lib\URI\file.pm
+C:\tlperl\site\lib\URI\file\Base.pm
+C:\tlperl\site\lib\URI\file\FAT.pm
+C:\tlperl\site\lib\URI\file\Mac.pm
+C:\tlperl\site\lib\URI\file\OS2.pm
+C:\tlperl\site\lib\URI\file\QNX.pm
+C:\tlperl\site\lib\URI\file\Unix.pm
+C:\tlperl\site\lib\URI\file\Win32.pm
+C:\tlperl\site\lib\URI\ftp.pm
+C:\tlperl\site\lib\URI\gopher.pm
+C:\tlperl\site\lib\URI\http.pm
+C:\tlperl\site\lib\URI\https.pm
+C:\tlperl\site\lib\URI\ldap.pm
+C:\tlperl\site\lib\URI\ldapi.pm
+C:\tlperl\site\lib\URI\ldaps.pm
+C:\tlperl\site\lib\URI\mailto.pm
+C:\tlperl\site\lib\URI\mms.pm
+C:\tlperl\site\lib\URI\news.pm
+C:\tlperl\site\lib\URI\nntp.pm
+C:\tlperl\site\lib\URI\pop.pm
+C:\tlperl\site\lib\URI\rlogin.pm
+C:\tlperl\site\lib\URI\rsync.pm
+C:\tlperl\site\lib\URI\rtsp.pm
+C:\tlperl\site\lib\URI\rtspu.pm
+C:\tlperl\site\lib\URI\sip.pm
+C:\tlperl\site\lib\URI\sips.pm
+C:\tlperl\site\lib\URI\snews.pm
+C:\tlperl\site\lib\URI\ssh.pm
+C:\tlperl\site\lib\URI\telnet.pm
+C:\tlperl\site\lib\URI\tn3270.pm
+C:\tlperl\site\lib\URI\urn.pm
+C:\tlperl\site\lib\URI\urn\isbn.pm
+C:\tlperl\site\lib\URI\urn\oid.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
index 838a1f767fd..87cf7d5e695 100755
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
index b1b60f35cb2..7dd4fbd65f1 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
index 974b9eda25b..854d05abe32 100644
--- a/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
@@ -1,2 +1,2 @@
-C:\perl\site\lib\WWW\RobotRules.pm
-C:\perl\site\lib\WWW\RobotRules\AnyDBM_File.pm
+C:\tlperl\site\lib\WWW\RobotRules.pm
+C:\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 082c4ebe89d..684e22467ad 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
@@ -1,10 +1,8 @@
-C:\perl\site\lib\Win32\API.pm
-C:\perl\site\lib\Win32\API\Callback.pm
-C:\perl\site\lib\Win32\API\Callback\IATPatch.pod
-C:\perl\site\lib\Win32\API\Struct.pm
-C:\perl\site\lib\Win32\API\Test.pm
-C:\perl\site\lib\Win32\API\Type.pm
-C:\perl\site\lib\auto\Win32\API\API.bs
-C:\perl\site\lib\auto\Win32\API\API.dll
-C:\perl\site\lib\auto\Win32\API\Callback\Callback.bs
-C:\perl\site\lib\auto\Win32\API\Callback\Callback.dll
+C:\tlperl\site\lib\Win32\API.pm
+C:\tlperl\site\lib\Win32\API\Callback.pm
+C:\tlperl\site\lib\Win32\API\Callback\IATPatch.pod
+C:\tlperl\site\lib\Win32\API\Struct.pm
+C:\tlperl\site\lib\Win32\API\Test.pm
+C:\tlperl\site\lib\Win32\API\Type.pm
+C:\tlperl\site\lib\auto\Win32\API\API.dll
+C:\tlperl\site\lib\auto\Win32\API\Callback\Callback.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.bs b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
index 46d4c59f8ca..c3e5fc03cff 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.bs b/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.bs
+++ /dev/null
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 f518e38fd98..8277ac1be39 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/Console/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/Console/.packlist
new file mode 100644
index 00000000000..1a443fac382
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Console/.packlist
@@ -0,0 +1,2 @@
+C:\tlperl\site\lib\Win32\Console.pm
+C:\tlperl\site\lib\auto\Win32\Console\Console.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Console/Console.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Console/Console.dll
new file mode 100644
index 00000000000..942f6f92591
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Console/Console.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/OLE/.packlist
index 40ef4381e84..eb21a2a013b 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/OLE/.packlist
@@ -1,12 +1,11 @@
-C:\perl\site\lib\OLE.pm
-C:\perl\site\lib\Win32\OLE.pm
-C:\perl\site\lib\Win32\OLE\Const.pm
-C:\perl\site\lib\Win32\OLE\Enum.pm
-C:\perl\site\lib\Win32\OLE\Lite.pm
-C:\perl\site\lib\Win32\OLE\NEWS.pod
-C:\perl\site\lib\Win32\OLE\NLS.pm
-C:\perl\site\lib\Win32\OLE\TPJ.pod
-C:\perl\site\lib\Win32\OLE\TypeInfo.pm
-C:\perl\site\lib\Win32\OLE\Variant.pm
-C:\perl\site\lib\auto\Win32\OLE\OLE.bs
-C:\perl\site\lib\auto\Win32\OLE\OLE.dll
+C:\tlperl\site\lib\OLE.pm
+C:\tlperl\site\lib\Win32\OLE.pm
+C:\tlperl\site\lib\Win32\OLE\Const.pm
+C:\tlperl\site\lib\Win32\OLE\Enum.pm
+C:\tlperl\site\lib\Win32\OLE\Lite.pm
+C:\tlperl\site\lib\Win32\OLE\NEWS.pod
+C:\tlperl\site\lib\Win32\OLE\NLS.pm
+C:\tlperl\site\lib\Win32\OLE\TPJ.pod
+C:\tlperl\site\lib\Win32\OLE\TypeInfo.pm
+C:\tlperl\site\lib\Win32\OLE\Variant.pm
+C:\tlperl\site\lib\auto\Win32\OLE\OLE.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.bs b/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.dll b/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.dll
index f6e379b9ba7..0859f406e80 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/OLE/OLE.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
deleted file mode 100644
index e361c151f37..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
+++ /dev/null
@@ -1,4 +0,0 @@
-C:\perl\site\lib\Win32\Process\Info.pm
-C:\perl\site\lib\Win32\Process\Info\NT.pm
-C:\perl\site\lib\Win32\Process\Info\PT.pm
-C:\perl\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 9f53b7195f9..2969a834652 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
@@ -1,3 +1,2 @@
-C:\perl\site\lib\Win32\Shortcut.pm
-C:\perl\site\lib\auto\Win32\Shortcut\Shortcut.bs
-C:\perl\site\lib\auto\Win32\Shortcut\Shortcut.dll
+C:\tlperl\site\lib\Win32\Shortcut.pm
+C:\tlperl\site\lib\auto\Win32\Shortcut\Shortcut.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.bs b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
index 5162b0aa7ca..f6a56c2bbaf 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 d142182f7ee..090c67dccf3 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
@@ -1,2 +1,2 @@
-C:\perl\site\lib\Tie\Registry.pm
-C:\perl\site\lib\Win32\TieRegistry.pm
+C:\tlperl\site\lib\Tie\Registry.pm
+C:\tlperl\site\lib\Win32\TieRegistry.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
index e45609cf384..bf79491a25b 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.bs b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
index 0fea4e59ff4..9c003ee552d 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 c7962dcfd15..f86d8016410 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
@@ -1,4 +1,3 @@
-C:\perl\site\lib\Win32API\Registry.pm
-C:\perl\site\lib\Win32API\Registry\cRegistry.pc
-C:\perl\site\lib\auto\Win32API\Registry\Registry.bs
-C:\perl\site\lib\auto\Win32API\Registry\Registry.dll
+C:\tlperl\site\lib\Win32API\Registry.pm
+C:\tlperl\site\lib\Win32API\Registry\cRegistry.pc
+C:\tlperl\site\lib\auto\Win32API\Registry\Registry.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.bs b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
index 9d877d0f755..23831aadfee 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/arybase/arybase.bs b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll
index a813000e40d..2d80b41b3bb 100755
--- a/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll
+++ b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
index 71945a553ed..fda325e94b4 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.bs b/Master/tlpkg/tlperl/lib/auto/mro/mro.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/mro/mro.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/mro/mro.dll b/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
index 6e2db7d6406..c1125aebda6 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.bs b/Master/tlpkg/tlperl/lib/auto/re/re.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/re/re.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/re/re.dll b/Master/tlpkg/tlperl/lib/auto/re/re.dll
index 7b75bee43a9..217a88415c3 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.bs b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
index 42e91b140ab..dab66e24075 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.bs b/Master/tlpkg/tlperl/lib/auto/threads/threads.bs
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/threads/threads.bs
+++ /dev/null
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/threads.dll b/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
index fdf53f18fce..254357578bc 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 71a6a5e7616..ed5a612efee 100644
--- a/Master/tlpkg/tlperl/lib/autodie.pm
+++ b/Master/tlpkg/tlperl/lib/autodie.pm
@@ -7,8 +7,10 @@ use Fatal ();
our @ISA = qw(Fatal);
our $VERSION;
+# ABSTRACT: Replace functions with ones that succeed or die with lexical scope
+
BEGIN {
- $VERSION = '2.13';
+ our $VERSION = '2.23'; # VERSION: Generated by DZP::OurPkg::Version
}
use constant ERROR_WRONG_FATAL => q{
@@ -185,6 +187,8 @@ The categories are currently:
:file
binmode
close
+ chmod
+ chown
fcntl
fileno
flock
@@ -251,7 +255,7 @@ The syntax:
allows the C<:default> list from a particular version to be used. This
provides the convenience of using the default methods, but the surety
-that no behavorial changes will occur if the C<autodie> module is
+that no behavioral changes will occur if the C<autodie> module is
upgraded.
C<autodie> can be enabled for all of Perl's built-ins, including
@@ -261,6 +265,10 @@ C<system> and C<exec> with:
=head1 FUNCTION SPECIFIC NOTES
+=head2 print
+
+The autodie pragma B<<does not check calls to C<print>>>.
+
=head2 flock
It is not considered an error for C<flock> to return false if it fails
@@ -423,6 +431,6 @@ Mark Reed and Roland Giersig -- Klingon translators.
See the F<AUTHORS> file for full credits. The latest version of this
file can be found at
-L<http://github.com/pfenwick/autodie/tree/master/AUTHORS> .
+L<https://github.com/pjf/autodie/tree/master/AUTHORS> .
=cut
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception.pm b/Master/tlpkg/tlperl/lib/autodie/exception.pm
index 45c723d56ac..00818605762 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception.pm
@@ -4,6 +4,9 @@ use strict;
use warnings;
use Carp qw(croak);
+our $VERSION = '2.23'; # VERSION: Generated by DZP::OurPkg:Version
+# ABSTRACT: Exceptions from autodying functions.
+
our $DEBUG = 0;
use overload
@@ -14,8 +17,6 @@ use overload
use if ($] >= 5.010), overload => '~~' => "matches";
-our $VERSION = '2.13';
-
my $PACKAGE = __PACKAGE__; # Useful to have a scalar for hash keys.
=head1 NAME
@@ -131,12 +132,21 @@ sub line { return $_[0]->{$PACKAGE}{line}; }
my $context = $E->context;
-The context in which the subroutine was called. This can be
-'list', 'scalar', or undefined (unknown). It will never be 'void', as
-C<autodie> always captures the return value in one way or another.
+The context in which the subroutine was called by autodie; usually
+the same as the context in which you called the autodying subroutine.
+This can be 'list', 'scalar', or undefined (unknown). It will never
+be 'void', as C<autodie> always captures the return value in one way
+or another.
+
+For some core functions that always return a scalar value regardless
+of their context (eg, C<chown>), this may be 'scalar', even if you
+used a list context.
=cut
+# TODO: The comments above say this can be undefined. Is that actually
+# the case? (With 'system', perhaps?)
+
sub context { return $_[0]->{$PACKAGE}{context} }
=head3 return
@@ -210,7 +220,7 @@ For a string that does start with a colon, if the subroutine
throwing the exception I<does> that behaviour. For example, the
C<CORE::open> subroutine does C<:file>, C<:io> and C<:all>.
-See L<autodie/CATEGORIES> for futher information.
+See L<autodie/CATEGORIES> for further information.
=back
@@ -394,6 +404,8 @@ sub _format_open_with_mode {
elsif ($mode eq '>') { $wordy_mode = 'writing'; }
elsif ($mode eq '>>') { $wordy_mode = 'appending'; }
+ $file = '<undef>' if not defined $file;
+
return sprintf _FORMAT_OPEN, $file, $wordy_mode, $error if $wordy_mode;
Carp::confess("Internal autodie::exception error: Don't know how to format mode '$mode'.");
@@ -444,7 +456,7 @@ sub _format_open {
}
}
- # Localising $! means perl make make it a pretty error for us.
+ # Localising $! means perl makes it a pretty error for us.
local $! = $this->errno;
return $this->_format_open_with_mode($mode, $file, $!);
@@ -672,6 +684,12 @@ sub _init {
next if $package->isa('Fatal');
next if $package->isa($class);
next if $package->isa(__PACKAGE__);
+
+ # Anything with the 'autodie::skip' role wants us to skip it.
+ # https://github.com/pjf/autodie/issues/15
+
+ next if ($package->can('DOES') and $package->DOES('autodie::skip'));
+
next if $file =~ /^\(eval\s\d+\)$/;
last;
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
index 0489b61d113..2d734fe7f25 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
@@ -5,7 +5,9 @@ use warnings;
use base 'autodie::exception';
use Carp qw(croak);
-our $VERSION = '2.13';
+our $VERSION = '2.23'; # VERSION: Generated by DZP::OurPkg:Version
+
+# ABSTRACT: Exceptions from autodying system().
my $PACKAGE = __PACKAGE__;
diff --git a/Master/tlpkg/tlperl/lib/autodie/hints.pm b/Master/tlpkg/tlperl/lib/autodie/hints.pm
index 36715e979d1..17c898a9008 100644
--- a/Master/tlpkg/tlperl/lib/autodie/hints.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/hints.pm
@@ -5,7 +5,9 @@ use warnings;
use constant PERL58 => ( $] < 5.009 );
-our $VERSION = '2.13';
+our $VERSION = '2.23'; # VERSION: Generated by DZP::OurPkg:Version
+
+# ABSTRACT: Provide hints about user subroutines to autodie
=head1 NAME
@@ -595,4 +597,6 @@ same terms as Perl itself.
L<autodie>, L<Class::DOES>
+=for Pod::Coverage get_hints_for load_hints normalise_hints sub_fullname
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/autodie/skip.pm b/Master/tlpkg/tlperl/lib/autodie/skip.pm
new file mode 100644
index 00000000000..af40662810a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/autodie/skip.pm
@@ -0,0 +1,54 @@
+package autodie::skip;
+use strict;
+use warnings;
+
+our $VERSION = '2.23'; # VERSION
+
+# This package exists purely so people can inherit from it,
+# which isn't at all how roles are supposed to work, but it's
+# how people will use them anyway.
+
+if ($] < 5.010) {
+ # Older Perls don't have a native ->DOES. Let's provide a cheap
+ # imitation here.
+
+ *DOES = sub { return shift->isa(@_); };
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+autodie::skip - Skip a package when throwing autodie exceptions
+
+=head1 SYNPOSIS
+
+ use parent qw(autodie::skip);
+
+=head1 DESCRIPTION
+
+This dummy class exists to signal that the class inheriting it should
+be skipped when reporting exceptions from autodie. This is useful
+for utility classes like L<Path::Tiny> that wish to report the location
+of where they were called on failure.
+
+If your class has a better way of doing roles, then you should not
+load this class and instead simply say that your class I<DOES>
+C<autodie::skip> instead.
+
+=head1 AUTHOR
+
+Copyright 2013, Paul Fenwick <pjf@cpan.org>
+
+=head1 LICENSE
+
+This module is free software. You may distribute it under the same
+terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<autodie>, L<autodie::exception>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/autouse.pm b/Master/tlpkg/tlperl/lib/autouse.pm
index a66e50c67d4..79dadc419e1 100644
--- a/Master/tlpkg/tlperl/lib/autouse.pm
+++ b/Master/tlpkg/tlperl/lib/autouse.pm
@@ -3,7 +3,7 @@ package autouse;
#use strict; # debugging only
use 5.006; # use warnings
-$autouse::VERSION = '1.07';
+$autouse::VERSION = '1.08';
$autouse::DEBUG ||= 0;
diff --git a/Master/tlpkg/tlperl/lib/base.pm b/Master/tlpkg/tlperl/lib/base.pm
index 19fc8456d23..5d1378786de 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.18';
+$VERSION = '2.22';
$VERSION = eval $VERSION;
# constant.pm is slow
@@ -55,6 +55,23 @@ else {
}
}
+if ($] < 5.008) {
+ *_module_to_filename = sub {
+ (my $fn = $_[0]) =~ s!::!/!g;
+ $fn .= '.pm';
+ return $fn;
+ }
+}
+else {
+ *_module_to_filename = sub {
+ (my $fn = $_[0]) =~ s!::!/!g;
+ $fn .= '.pm';
+ utf8::encode($fn);
+ return $fn;
+ }
+}
+
+
sub import {
my $class = shift;
@@ -78,10 +95,18 @@ sub import {
my $sigdie;
{
local $SIG{__DIE__};
- eval "require $base";
+ my $fn = _module_to_filename($base);
+ eval { require $fn };
# Only ignore "Can't locate" errors from our eval require.
# Other fatal errors (syntax etc) must be reported.
- die if $@ && $@ !~ /^Can't locate .*? at \(eval /;
+ #
+ # changing the check here is fragile - if the check
+ # here isn't catching every error you want, you should
+ # probably be using parent.pm, which doesn't try to
+ # guess whether require is needed or failed,
+ # see [perl #118561]
+ die if $@ && $@ !~ /^Can't locate \Q$fn\E .*? at .* line [0-9]+(?:, <[^>]*> (?:line|chunk) [0-9]+)?\.\n\z/s
+ || $@ =~ /Compilation failed in require at .* line [0-9]+(?:, <[^>]*> (?:line|chunk) [0-9]+)?\.\n\z/;
unless (%{"$base\::"}) {
require Carp;
local $" = " ";
diff --git a/Master/tlpkg/tlperl/lib/bigint.pm b/Master/tlpkg/tlperl/lib/bigint.pm
index 32c88bf62cd..993ea9112f0 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.34';
+$VERSION = '0.36';
use Exporter;
@ISA = qw( Exporter );
@EXPORT_OK = qw( PI e bpi bexp hex oct );
@@ -523,7 +523,7 @@ B<both> the original and the copy being destroyed:
$x = 9; $y = $x;
print $x->bmul(2), " ", $y,"\n"; # prints 18 18
-Using methods that do not modify, but testthe contents works:
+Using methods that do not modify, but test that the contents works:
$x = 9; $y = $x;
$z = 9 if $x->is_zero(); # works fine
diff --git a/Master/tlpkg/tlperl/lib/bignum.pm b/Master/tlpkg/tlperl/lib/bignum.pm
index 3c00a89eee2..40aedceca71 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.33';
+$VERSION = '0.37';
use Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bexp bpi hex oct );
@@ -551,7 +551,7 @@ If you want the code to die instead of falling back, use C<only> instead:
The numbers are stored as objects, and their internals might change at anytime,
especially between math operations. The objects also might belong to different
-classes, like Math::BigInt, or Math::BigFLoat. Mixing them together, even
+classes, like Math::BigInt, or Math::BigFloat. Mixing them together, even
with normal scalars is not extraordinary, but normal and expected.
You should not depend on the internal format, all accesses must go through
diff --git a/Master/tlpkg/tlperl/lib/bigrat.pm b/Master/tlpkg/tlperl/lib/bigrat.pm
index d413429e433..adbeff4dba8 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.33';
+$VERSION = '0.36';
require Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bpi bexp hex oct );
@@ -166,6 +166,7 @@ sub import
require Math::BigFloat;
Math::BigFloat->import( upgrade => 'Math::BigRat', ':constant' );
require Math::BigRat;
+ Math::BigRat->import( @import );
bigrat->accuracy($a) if defined $a;
bigrat->precision($p) if defined $p;
diff --git a/Master/tlpkg/tlperl/lib/charnames.pm b/Master/tlpkg/tlperl/lib/charnames.pm
index 07ffe80a130..97cafed73ea 100644
--- a/Master/tlpkg/tlperl/lib/charnames.pm
+++ b/Master/tlpkg/tlperl/lib/charnames.pm
@@ -1,7 +1,7 @@
package charnames;
use strict;
use warnings;
-our $VERSION = '1.36';
+our $VERSION = '1.40';
use unicore::Name; # mktables-generated algorithmically-defined names
use _charnames (); # The submodule for this where most of the work gets done
@@ -171,7 +171,7 @@ charnames ();">> did not enable C<\N{I<CHARNAME>}>.)
Note that C<\N{U+I<...>}>, where the I<...> is a hexadecimal number,
also inserts a character into a string.
-The character it inserts is the one whose code point
+The character it inserts is the one whose Unicode code point
(ordinal value) is equal to the number. For example, C<"\N{U+263a}"> is
the Unicode (white background, black foreground) smiley face
equivalent to C<"\N{WHITE SMILING FACE}">.
@@ -228,7 +228,7 @@ 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
+C<S<\N{U+I<code point>}>> will automatically have Unicode rules (see
L<perlunicode/Byte and Character Semantics>).
=head1 LOOSE MATCHES
@@ -300,6 +300,10 @@ 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.
+If it begins with C<"U+">, it is interpreted as the Unicode code point;
+otherwise it is interpreted as native. (Only code points below 256 can
+differ between Unicode and native.) Thus C<U+41> is always the Latin letter
+"A"; but C<0x41> can be "NO-BREAK SPACE" on EBCDIC platforms.
Aliases are added either by the use of anonymous hashes:
@@ -402,6 +406,10 @@ 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.
+If it begins with C<"U+">, it is interpreted as the Unicode code point;
+otherwise it is interpreted as native. (Only code points below 256 can
+differ between Unicode and native.) Thus C<U+41> is always the Latin letter
+"A"; but C<0x41> can be "NO-BREAK SPACE" on EBCDIC platforms.
As mentioned above under L</ALIASES>, Unicode 6.1 defines extra names
(synonyms or aliases) for some code points, most of which were already
diff --git a/Master/tlpkg/tlperl/lib/constant.pm b/Master/tlpkg/tlperl/lib/constant.pm
index 035bce23742..5d0d547ae37 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.27';
+$VERSION = '1.31';
#=======================================================================
@@ -25,12 +25,22 @@ BEGIN {
# We'd like to do use constant _CAN_PCS => $] > 5.009002
# but that's a bit tricky before we load the constant module :-)
# By doing this, we save 1 run time check for *every* call to import.
- no strict 'refs';
my $const = $] > 5.009002;
- *_CAN_PCS = sub () {$const};
-
my $downgrade = $] < 5.015004; # && $] >= 5.008
- *_DOWNGRADE = sub () { $downgrade };
+ my $constarray = exists &_make_const;
+ if ($const) {
+ Internals::SvREADONLY($const, 1);
+ Internals::SvREADONLY($downgrade, 1);
+ $constant::{_CAN_PCS} = \$const;
+ $constant::{_DOWNGRADE} = \$downgrade;
+ $constant::{_CAN_PCS_FOR_ARRAY} = \$constarray;
+ }
+ else {
+ no strict 'refs';
+ *{"_CAN_PCS"} = sub () {$const};
+ *{"_DOWNGRADE"} = sub () { $downgrade };
+ *{"_CAN_PCS_FOR_ARRAY"} = sub () { $constarray };
+ }
}
#=======================================================================
@@ -128,20 +138,41 @@ sub import {
# The constant serves to optimise this entire block out on
# 5.8 and earlier.
- if (_CAN_PCS && $symtab && !exists $symtab->{$name}) {
- # No typeglob yet, so we can use a reference as space-
- # efficient proxy for a constant subroutine
+ if (_CAN_PCS) {
+ # Use a reference as a proxy for a constant subroutine.
+ # If this is not a glob yet, it saves space. If it is
+ # a glob, we must still create it this way to get the
+ # right internal flags set, as constants are distinct
+ # from subroutines created with sub(){...}.
# The check in Perl_ck_rvconst knows that inlinable
# constants from cv_const_sv are read only. So we have to:
Internals::SvREADONLY($scalar, 1);
- $symtab->{$name} = \$scalar;
- ++$flush_mro;
+ if ($symtab && !exists $symtab->{$name}) {
+ $symtab->{$name} = \$scalar;
+ ++$flush_mro;
+ }
+ else {
+ local $constant::{_dummy} = \$scalar;
+ *$full_name = \&{"_dummy"};
+ }
} else {
*$full_name = sub () { $scalar };
}
} elsif (@_) {
my @list = @_;
- *$full_name = sub () { @list };
+ if (_CAN_PCS_FOR_ARRAY) {
+ _make_const($list[$_]) for 0..$#list;
+ _make_const(@list);
+ if ($symtab && !exists $symtab->{$name}) {
+ $symtab->{$name} = \@list;
+ $flush_mro++;
+ }
+ else {
+ local $constant::{_dummy} = \@list;
+ *$full_name = \&{"_dummy"};
+ }
+ }
+ else { *$full_name = sub () { @list }; }
} else {
*$full_name = sub () { };
}
@@ -190,7 +221,7 @@ This pragma allows you to declare constants at compile-time.
When you declare a constant such as C<PI> using the method shown
above, each machine your script runs upon can have as many digits
-of accuracy as it can use. Also, your program will be easier to
+of accuracy as it can use. Also, your program will be easier to
read, more likely to be maintained (and maintained correctly), and
far less likely to send a space probe to the wrong planet because
nobody noticed the one equation in which you wrote C<3.14195>.
@@ -203,7 +234,7 @@ away if the constant is false.
=head1 NOTES
As with all C<use> directives, defining a constant happens at
-compile time. Thus, it's probably not correct to put a constant
+compile time. Thus, it's probably not correct to put a constant
declaration inside of a conditional statement (like C<if ($foo)
{ use constant ... }>).
@@ -236,8 +267,8 @@ their own constants to override those in their base class.
The use of all caps for constant names is merely a convention,
although it is recommended in order to make constants stand out
and to help avoid collisions with other barewords, keywords, and
-subroutine names. Constant names must begin with a letter or
-underscore. Names beginning with a double underscore are reserved. Some
+subroutine names. Constant names must begin with a letter or
+underscore. Names beginning with a double underscore are reserved. Some
poor choices for names will generate warnings, if warnings are enabled at
compile time.
@@ -312,15 +343,15 @@ constants without any problems.
=head1 TECHNICAL NOTES
In the current implementation, scalar constants are actually
-inlinable subroutines. As of version 5.004 of Perl, the appropriate
+inlinable subroutines. As of version 5.004 of Perl, the appropriate
scalar constant is inserted directly in place of some subroutine
-calls, thereby saving the overhead of a subroutine call. See
+calls, thereby saving the overhead of a subroutine call. See
L<perlsub/"Constant Functions"> for details about how and when this
happens.
In the rare case in which you need to discover at run time whether a
particular constant has been declared via this module, you may use
-this function to examine the hash C<%constant::declared>. If the given
+this function to examine the hash C<%constant::declared>. If the given
constant name does not include a package name, the current package is
used.
@@ -335,11 +366,12 @@ used.
=head1 CAVEATS
-In the current version of Perl, list constants are not inlined
-and some symbols may be redefined without generating a warning.
+List constants are not inlined unless you are using Perl v5.20 or higher.
+In v5.20 or higher, they are still not read-only, but that may change in
+future versions.
It is not possible to have a subroutine or a keyword with the same
-name as a constant in the same package. This is probably a Good Thing.
+name as a constant in the same package. This is probably a Good Thing.
A constant with a name in the list C<STDIN STDOUT STDERR ARGV ARGVOUT
ENV INC SIG> is not allowed anywhere but in package C<main::>, for
diff --git a/Master/tlpkg/tlperl/lib/deprecate.pm b/Master/tlpkg/tlperl/lib/deprecate.pm
index 7562c698f88..47bc11253e9 100644
--- a/Master/tlpkg/tlperl/lib/deprecate.pm
+++ b/Master/tlpkg/tlperl/lib/deprecate.pm
@@ -1,7 +1,7 @@
package deprecate;
use strict;
use warnings;
-our $VERSION = 0.02;
+our $VERSION = 0.03;
# our %Config can ignore %Config::Config, e.g. for testing
our %Config;
@@ -75,9 +75,9 @@ deprecate - Perl pragma for deprecating the core version of a module
=head1 SYNOPSIS
- use deprecate; # always deprecate the module in which this occurs
+ use deprecate; # always deprecate the module in which this occurs
- use if $] > 5.010, 'deprecate'; # conditionally deprecate the module
+ use if $] > 5.010, 'deprecate'; # conditionally deprecate the module
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/diagnostics.pm b/Master/tlpkg/tlperl/lib/diagnostics.pm
index 6ccc3d02af1..40c6748c57c 100644
--- a/Master/tlpkg/tlperl/lib/diagnostics.pm
+++ b/Master/tlpkg/tlperl/lib/diagnostics.pm
@@ -186,7 +186,7 @@ use 5.009001;
use Carp;
$Carp::Internal{__PACKAGE__.""}++;
-our $VERSION = '1.31';
+our $VERSION = '1.34';
our $DEBUG;
our $VERBOSE;
our $PRETTY;
@@ -194,6 +194,7 @@ our $TRACEONLY = 0;
our $WARNTRACE = 0;
use Config;
+use Text::Tabs 'expand';
my $privlib = $Config{privlibexp};
if ($^O eq 'VMS') {
require VMS::Filespec;
@@ -208,7 +209,6 @@ unshift @trypod, "./pod/perldiag.pod" if -e "pod/perldiag.pod";
(my $PODFILE) = ((grep { -e } @trypod), $trypod[$#trypod])[0];
$DEBUG ||= 0;
-my $WHOAMI = ref bless []; # nobody's business, prolly not even mine
local $| = 1;
local $_;
@@ -238,7 +238,7 @@ CONFIG: {
if (caller) {
INCPATH: {
- for my $file ( (map { "$_/$WHOAMI.pm" } @INC), $0) {
+ for my $file ( (map { "$_/".__PACKAGE__.".pm" } @INC), $0) {
warn "Checking $file\n" if $DEBUG;
if (open(POD_DIAG, $file)) {
while (<POD_DIAG>) {
@@ -321,7 +321,7 @@ my %msg;
while (<POD_DIAG>) {
sub _split_pod_link {
- $_[0] =~ '(?:([^|]*)\|)?([^/]*)(?:/("?)(.*)\3)?';
+ $_[0] =~ m'(?:([^|]*)\|)?([^/]*)(?:/("?)(.*)\3)?'s;
($1,$2,$4);
}
@@ -367,6 +367,7 @@ my %msg;
{
next;
}
+ $_ = expand $_;
s/^/ /gm;
$msg{$header} .= $_;
for my $h(@headers) { $msg{$h} .= $_ }
@@ -393,7 +394,13 @@ my %msg;
}
elsif( s/^=for\s+diagnostics\s*\n(.*?)\s*\z// ) {
$for_item = $1;
- }
+ }
+ elsif( /^=back/ ) { # Stop processing body here
+ undef $header;
+ undef $for_item;
+ $seen_body = 0;
+ next;
+ }
next;
}
@@ -444,7 +451,7 @@ my %msg;
$transfmt{$header}{len} = length( $header );
}
- print STDERR "$WHOAMI: Duplicate entry: \"$header\"\n"
+ print STDERR __PACKAGE__.": Duplicate entry: \"$header\"\n"
if $msg{$header};
$msg{$header} = '';
@@ -532,7 +539,7 @@ sub disable {
sub warn_trap {
my $warning = $_[0];
- if (caller eq $WHOAMI or !splainthis($warning)) {
+ if (caller eq __PACKAGE__ or !splainthis($warning)) {
if ($WARNTRACE) {
print STDERR Carp::longmess($warning);
} else {
@@ -557,7 +564,9 @@ sub death_trap {
}
splainthis($exception) unless $in_eval;
- if (caller eq $WHOAMI) { print STDERR "INTERNAL EXCEPTION: $exception"; }
+ if (caller eq __PACKAGE__) {
+ print STDERR "INTERNAL EXCEPTION: $exception";
+ }
&$olddie if defined $olddie and $olddie and $olddie ne \&death_trap;
return if $in_eval;
diff --git a/Master/tlpkg/tlperl/lib/encoding.pm b/Master/tlpkg/tlperl/lib/encoding.pm
index 2783c9f7e67..c0bff08873d 100644
--- a/Master/tlpkg/tlperl/lib/encoding.pm
+++ b/Master/tlpkg/tlperl/lib/encoding.pm
@@ -1,6 +1,6 @@
-# $Id: encoding.pm,v 2.11 2013/02/18 02:23:56 dankogai Exp $
+# $Id: encoding.pm,v 2.12 2013/04/26 18:30:46 dankogai Exp $
package encoding;
-our $VERSION = '2.6_01';
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.12 $ =~ /(\d+)/g;
use Encode;
use strict;
@@ -213,6 +213,13 @@ This module is deprecated under perl 5.18. It uses a mechanism provided by
perl that is deprecated under 5.18 and higher, and may be removed in a
future version.
+The easiest and the best alternative is to write your script in UTF-8
+and declear:
+
+ use utf8; # not use encoding ':utf8';
+
+See L<perluniintro> and L<utf8> for details.
+
=head1 SYNOPSIS
use encoding "greek"; # Perl like Greek to you?
diff --git a/Master/tlpkg/tlperl/lib/experimental.pm b/Master/tlpkg/tlperl/lib/experimental.pm
new file mode 100644
index 00000000000..1c43e1064a6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/experimental.pm
@@ -0,0 +1,151 @@
+package experimental;
+$experimental::VERSION = '0.007';
+use strict;
+use warnings;
+
+use feature ();
+use Carp qw/croak carp/;
+
+my %warnings = map { $_ => 1 } grep { /^experimental::/ } keys %warnings::Offsets;
+my %features = map { $_ => 1 } keys %feature::feature;
+
+my %min_version = (
+ array_base => 5,
+ autoderef => 5.014000,
+ lexical_topic => 5.010000,
+ regex_sets => 5.018000,
+ smartmatch => 5.010001,
+ signatures => 5.019009, # change to 5.20.0 someday? -- rjbs, 2014-02-08
+);
+
+my %additional = (
+ postderef => ['postderef_qq'],
+ switch => ['smartmatch'],
+);
+
+sub _enable {
+ my $pragma = shift;
+ if ($warnings{"experimental::$pragma"}) {
+ warnings->unimport("experimental::$pragma");
+ feature->import($pragma) if exists $features{$pragma};
+ _enable(@{ $additional{$pragma} }) if $additional{$pragma};
+ }
+ elsif ($features{$pragma}) {
+ feature->import($pragma);
+ _enable(@{ $additional{$pragma} }) if $additional{$pragma};
+ }
+ elsif (not exists $min_version{$pragma}) {
+ croak "Can't enable unknown feature $pragma";
+ }
+ elsif ($min_version{$pragma} > $]) {
+ croak "Need perl version $min_version{$pragma} or later for feature $pragma";
+ }
+}
+
+sub import {
+ my ($self, @pragmas) = @_;
+
+ for my $pragma (@pragmas) {
+ _enable($pragma);
+ }
+ return;
+}
+
+sub _disable {
+ my $pragma = shift;
+ if ($warnings{"experimental::$pragma"}) {
+ warnings->import("experimental::$pragma");
+ feature->unimport($pragma) if exists $features{$pragma};
+ _disable(@{ $additional{$pragma} }) if $additional{$pragma};
+ }
+ elsif ($features{$pragma}) {
+ feature->unimport($pragma);
+ _disable(@{ $additional{$pragma} }) if $additional{$pragma};
+ }
+ elsif (not exists $min_version{$pragma}) {
+ carp "Can't disable unknown feature $pragma, ignoring";
+ }
+}
+
+sub unimport {
+ my ($self, @pragmas) = @_;
+
+ for my $pragma (@pragmas) {
+ _disable($pragma);
+ }
+ return;
+}
+
+1;
+
+#ABSTRACT: Experimental features made easy
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+experimental - Experimental features made easy
+
+=head1 VERSION
+
+version 0.007
+
+=head1 SYNOPSIS
+
+ use experimental 'lexical_subs', 'smartmatch';
+ my sub foo { $_[0] ~~ 1 }
+
+=head1 DESCRIPTION
+
+This pragma provides an easy and convenient way to enable or disable
+experimental features.
+
+Every version of perl has some number of features present but considered
+"experimental." For much of the life of Perl 5, this was only a designation
+found in the documentation. Starting in Perl v5.10.0, and more aggressively in
+v5.18.0, experimental features were placed behind pragmata used to enable the
+feature and disable associated warnings.
+
+The C<experimental> pragma exists to combine the required incantations into a
+single interface stable across releases of perl. For every experimental
+feature, this should enable the feature and silence warnings for the enclosing
+lexical scope:
+
+ use experimental 'feature-name';
+
+To disable the feature and, if applicable, re-enable any warnings, use:
+
+ no experimental 'feature-name';
+
+The supported features, documented further below, are:
+
+ array_base - allow the use of $[ to change the starting index of @array
+ autoderef - allow push, each, keys, and other built-ins on references
+ lexical_topic - allow the use of lexical $_ via "my $_"
+ postderef - allow the use of postfix dereferencing expressions, including
+ in interpolating strings
+ regex_sets - allow extended bracketed character classes in regexps
+ signatures - allow subroutine signatures (for named arguments)
+ smartmatch - allow the use of ~~, given, and when
+
+=head2 Disclaimer
+
+Because of the nature of the features it enables, forward compatibility can not
+be guaranteed in any way.
+
+=head1 AUTHOR
+
+Leon Timmermans <leont@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2013 by Leon Timmermans.
+
+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/feature.pm b/Master/tlpkg/tlperl/lib/feature.pm
index d45174c907d..dfcff96cc08 100644
--- a/Master/tlpkg/tlperl/lib/feature.pm
+++ b/Master/tlpkg/tlperl/lib/feature.pm
@@ -5,7 +5,7 @@
package feature;
-our $VERSION = '1.32';
+our $VERSION = '1.36_01';
our %feature = (
fc => 'feature_fc',
@@ -13,9 +13,12 @@ our %feature = (
state => 'feature_state',
switch => 'feature_switch',
evalbytes => 'feature_evalbytes',
+ postderef => 'feature_postderef',
array_base => 'feature_arybase',
+ signatures => 'feature_signatures',
current_sub => 'feature___SUB__',
lexical_subs => 'feature_lexsubs',
+ postderef_qq => 'feature_postderef_qq',
unicode_eval => 'feature_unieval',
unicode_strings => 'feature_unicode',
);
@@ -24,7 +27,7 @@ our %feature_bundle = (
"5.10" => [qw(array_base say state switch)],
"5.11" => [qw(array_base say state switch unicode_strings)],
"5.15" => [qw(current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
- "all" => [qw(array_base current_sub evalbytes fc lexical_subs say state switch unicode_eval unicode_strings)],
+ "all" => [qw(array_base current_sub evalbytes fc lexical_subs postderef postderef_qq say signatures state switch unicode_eval unicode_strings)],
"default" => [qw(array_base)],
);
@@ -34,6 +37,8 @@ $feature_bundle{"5.14"} = $feature_bundle{"5.11"};
$feature_bundle{"5.16"} = $feature_bundle{"5.15"};
$feature_bundle{"5.17"} = $feature_bundle{"5.15"};
$feature_bundle{"5.18"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.19"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.20"} = $feature_bundle{"5.15"};
$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
our $hint_shift = 26;
@@ -136,7 +141,7 @@ This feature is available starting with Perl 5.10.
=head2 The 'unicode_strings' feature
-C<use feature 'unicode_strings'> tells the compiler to use Unicode semantics
+C<use feature 'unicode_strings'> tells the compiler to use Unicode rules
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
@@ -144,7 +149,7 @@ it. It does not change the internal representation of strings, but only how
they are interpreted.
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
+Perl rules wherein the native character set rules 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
@@ -241,6 +246,47 @@ and C<our sub foo> syntax. See L<perlsub/Lexical Subroutines> for details.
This feature is available from Perl 5.18 onwards.
+=head2 The 'postderef' and 'postderef_qq' features
+
+B<WARNING>: This feature is still experimental and the implementation may
+change in future versions of Perl. For this reason, Perl will
+warn when you use the feature, unless you have explicitly disabled the
+warning:
+
+ no warnings "experimental::postderef";
+
+The 'postderef' feature allows the use of L<postfix dereference
+syntax|perlref/Postfix Dereference Syntax>. For example, it will make the
+following two statements equivalent:
+
+ my @x = @{ $h->{a} };
+ my @x = $h->{a}->@*;
+
+The 'postderef_qq' feature extends this, for array and scalar dereference, to
+working inside of double-quotish interpolations.
+
+This feature is available from Perl 5.20 onwards.
+
+=head2 The 'signatures' feature
+
+B<WARNING>: This feature is still experimental and the implementation may
+change in future versions of Perl. For this reason, Perl will
+warn when you use the feature, unless you have explicitly disabled the
+warning:
+
+ no warnings "experimental::signatures";
+
+This enables unpacking of subroutine arguments into lexical variables
+by syntax such as
+
+ sub foo ($left, $right) {
+ return $left + $right;
+ }
+
+See L<perlsub/Signatures> for details.
+
+This feature is available from Perl 5.20 onwards.
+
=head1 FEATURE BUNDLES
It's possible to load multiple features together, using
@@ -267,6 +313,9 @@ The following feature bundles are available:
:5.18 say state switch unicode_strings
unicode_eval evalbytes current_sub fc
+ :5.20 say state switch unicode_strings
+ unicode_eval evalbytes current_sub fc
+
The C<:default> bundle represents the feature set that is enabled before
any C<use feature> or C<no feature> declaration.
diff --git a/Master/tlpkg/tlperl/lib/fields.pm b/Master/tlpkg/tlperl/lib/fields.pm
index fd59b6a465e..ad1a5cfa412 100644
--- a/Master/tlpkg/tlperl/lib/fields.pm
+++ b/Master/tlpkg/tlperl/lib/fields.pm
@@ -11,7 +11,7 @@ unless( eval q{require warnings::register; warnings::register->import; 1} ) {
}
use vars qw(%attr $VERSION);
-$VERSION = '2.16';
+$VERSION = '2.17';
# constant.pm is slow
sub PUBLIC () { 2**0 }
@@ -200,9 +200,13 @@ fields - compile-time class fields
my $var = Foo->new;
$var->{foo} = 42;
- # this will generate an error
+ # this will generate a run-time error
$var->{zap} = 42;
+ # this will generate a compile-time error
+ my Foo $foo = Foo->new;
+ $foo->{zap} = 24;
+
# subclassing
{
package Bar;
@@ -220,38 +224,34 @@ fields - compile-time class fields
=head1 DESCRIPTION
-The C<fields> pragma enables compile-time verified class fields.
+The C<fields> pragma enables compile-time and run-time verified class
+fields.
NOTE: The current implementation keeps the declared fields in the %FIELDS
hash of the calling package, but this may change in future versions.
Do B<not> update the %FIELDS hash directly, because it must be created
at compile-time for it to be fully useful, as is done by this pragma.
-B<Only valid for perl before 5.9.0:>
-
-If a typed lexical variable holding a reference is used to access a
+If a typed lexical variable (C<my Class
+$var>) holding a reference is used to access a
hash element and a package with the same name as the type has
-declared class fields using this pragma, then the operation is
-turned into an array access at compile time.
-
+declared class fields using this pragma, then the hash key is
+verified at compile time. If the variables are not typed, access is
+only checked at run time.
The related C<base> pragma will combine fields from base classes and any
fields declared using the C<fields> pragma. This enables field
-inheritance to work properly.
-
-Field names that start with an underscore character are made private to
-the class and are not visible to subclasses. Inherited fields can be
-overridden but will generate a warning if used together with the C<-w>
-switch.
-
-B<Only valid for perls before 5.9.0:>
+inheritance to work properly. Inherited fields can be overridden but
+will generate a warning if warnings are enabled.
-The effect of all this is that you can have objects with named
-fields which are as compact and as fast arrays to access. This only
-works as long as the objects are accessed through properly typed
-variables. If the objects are not typed, access is only checked at
-run time.
+B<Only valid for Perl 5.8.x and earlier:> Field names that start with an
+underscore character are made private to the class and are not visible
+to subclasses.
+Also, B<in Perl 5.8.x and earlier>, this pragma uses pseudo-hashes, the
+effect being that you can have objects with named fields which are as
+compact and as fast arrays to access, as long as the objects are
+accessed through properly typed variables.
The following functions are supported:
@@ -259,15 +259,8 @@ The following functions are supported:
=item new
-B< perl before 5.9.0: > fields::new() creates and blesses a
-pseudo-hash comprised of the fields declared using the C<fields>
-pragma into the specified class.
-
-B< perl 5.9.0 and higher: > fields::new() creates and blesses a
-restricted-hash comprised of the fields declared using the C<fields>
-pragma into the specified class.
-
-This function is usable with or without pseudo-hashes. It is the
+fields::new() creates and blesses a hash comprised of the fields declared
+using the C<fields> pragma into the specified class. It is the
recommended way to construct a fields-based object.
This makes it possible to write a constructor like this:
@@ -285,7 +278,11 @@ This makes it possible to write a constructor like this:
=item phash
-B< before perl 5.9.0: >
+B<This function only works in Perl 5.8.x and earlier.> Pseudo-hashes
+were removed from Perl as of 5.10. Consider using restricted hashes or
+fields::new() instead (which itself uses restricted hashes under 5.10+).
+See L<Hash::Util>. Using fields::phash() under 5.10 or higher will
+cause an error.
fields::phash() can be used to create and initialize a plain (unblessed)
pseudo-hash. This function should always be used instead of creating
@@ -312,16 +309,10 @@ be used to construct the pseudo hash. Examples:
my $pseudohash = fields::phash(%args);
-B< perl 5.9.0 and higher: >
-
-Pseudo-hashes have been removed from Perl as of 5.10. Consider using
-restricted hashes or fields::new() instead. Using fields::phash()
-will cause an error.
-
=back
=head1 SEE ALSO
-L<base>
+L<base>, L<Hash::Util>
=cut
diff --git a/Master/tlpkg/tlperl/lib/if.pm b/Master/tlpkg/tlperl/lib/if.pm
index 1fb5f3deb49..511b8a5b7c6 100644
--- a/Master/tlpkg/tlperl/lib/if.pm
+++ b/Master/tlpkg/tlperl/lib/if.pm
@@ -1,6 +1,6 @@
package if;
-$VERSION = '0.0602';
+$VERSION = '0.0603';
sub work {
my $method = shift() ? 'import' : 'unimport';
@@ -31,23 +31,63 @@ if - C<use> a Perl module if a condition holds
=head1 DESCRIPTION
+The C<if> module is used to conditionally load another module.
The construct
use if CONDITION, MODULE => ARGUMENTS;
-has no effect unless C<CONDITION> is true. In this case the effect is
-the same as of
+will load MODULE only if CONDITION evaluates to true.
+The above statement has no effect unless C<CONDITION> is true.
+If the CONDITION does evaluate to true, then the above line has
+the same effect as:
use MODULE ARGUMENTS;
-Above C<< => >> provides necessary quoting of C<MODULE>. If not used (e.g.,
-no ARGUMENTS to give), you'd better quote C<MODULE> yourselves.
+The use of C<< => >> above provides necessary quoting of C<MODULE>.
+If you don't use the fat comma (eg you don't have any ARGUMENTS),
+then you'll need to quote the MODULE.
+
+=head2 EXAMPLES
+
+The following line is taken from the testsuite for L<File::Map>:
+
+ use if $^O ne 'MSWin32', POSIX => qw/setlocale LC_ALL/;
+
+If run on any operating system other than Windows,
+this will import the functions C<setlocale> and C<LC_ALL> from L<POSIX>.
+On Windows it does nothing.
+
+The following is used to L<deprecate> core modules beyond a certain version of Perl:
+
+ use if $] > 5.016, 'deprecate';
+
+This line is taken from L<Text::Soundex> 3.04,
+and marks it as deprecated beyond Perl 5.16.
+If you C<use Text::Soundex> in Perl 5.18, for example,
+and you have used L<warnings>,
+then you'll get a warning message
+(the deprecate module looks to see whether the
+calling module was C<use>'d from a core library directory,
+and if so, generates a warning),
+unless you've installed a more recent version of L<Text::Soundex> from CPAN.
=head1 BUGS
The current implementation does not allow specification of the
required version of the module.
+=head1 SEE ALSO
+
+L<Module::Requires> can be used to conditionally load one or modules,
+with constraints based on the version of the module.
+Unlike C<if> though, L<Module::Requires> is not a core module.
+
+L<Module::Load::Conditional> provides a number of functions you can use to
+query what modules are available, and then load one or more of them at runtime.
+
+L<provide> can be used to select one of several possible modules to load,
+based on what version of Perl is running.
+
=head1 AUTHOR
Ilya Zakharevich L<mailto:ilyaz@cpan.org>.
diff --git a/Master/tlpkg/tlperl/lib/inc/latest.pm b/Master/tlpkg/tlperl/lib/inc/latest.pm
index b794c4a72ac..5834e248eab 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest.pm
@@ -1,14 +1,16 @@
package inc::latest;
+
+use if $] >= 5.019, 'deprecate';
+
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use Carp;
use File::Basename ();
use File::Spec ();
use File::Path ();
-use IO::File ();
use File::Copy ();
# track and return modules loaded by inc::latest
@@ -43,7 +45,7 @@ sub write {
# write inc/latest.pm
File::Path::mkpath( $where );
- my $fh = IO::File->new( File::Spec->catfile($where,'latest.pm'), "w" );
+ open my $fh, '>', File::Spec->catfile($where,'latest.pm');
print {$fh} "# This stub created by inc::latest $VERSION\n";
print {$fh} <<'HERE';
package inc::latest;
diff --git a/Master/tlpkg/tlperl/lib/inc/latest/private.pm b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
index 2a62c57d088..c3829ca80ac 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest/private.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
@@ -1,11 +1,13 @@
package inc::latest::private;
+
+use if $] >= 5.019, 'deprecate';
+
use strict;
use vars qw($VERSION);
-$VERSION = '0.4003';
+$VERSION = '0.4205';
$VERSION = eval $VERSION;
use File::Spec;
-use IO::File;
# must ultimately "goto" the import routine of the module to be loaded
# so that the calling package is correct when $mod->import() runs.
@@ -60,10 +62,9 @@ sub _search_bundled {
my $mypath = 'inc';
- local *DH; # Maintain 5.005 compatibility
- opendir DH, $mypath or die "Can't open directory $mypath: $!";
+ opendir my $DH, $mypath or die "Can't open directory $mypath: $!";
- while (defined(my $e = readdir DH)) {
+ while (defined(my $e = readdir $DH)) {
next unless $e =~ /^inc_/;
my $try = File::Spec->catfile($mypath, $e, $file);
diff --git a/Master/tlpkg/tlperl/lib/integer.pm b/Master/tlpkg/tlperl/lib/integer.pm
index caa1ea6951f..60a609cd042 100644
--- a/Master/tlpkg/tlperl/lib/integer.pm
+++ b/Master/tlpkg/tlperl/lib/integer.pm
@@ -1,6 +1,6 @@
package integer;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
=head1 NAME
@@ -38,7 +38,7 @@ integers, i.e., -(2**31) .. (2**31-1) on 32-bit architectures, and
$z = 2.7;
$a = 2**31 - 1; # Largest positive integer on 32-bit machines
$, = ", ";
- print $x, -$x, $x + $y, $x - $y, $x / $y, $x * $y, $y == $z, $a, $a + 1;
+ print $x, -$x, $x+$y, $x-$y, $x/$y, $x*$y, $y==$z, $a, $a+1;
will print: 5.8, -5, 7, 3, 2, 10, 1, 2147483647, -2147483648
diff --git a/Master/tlpkg/tlperl/lib/locale.pm b/Master/tlpkg/tlperl/lib/locale.pm
index ed254cc5d0e..f7575f5007b 100644
--- a/Master/tlpkg/tlperl/lib/locale.pm
+++ b/Master/tlpkg/tlperl/lib/locale.pm
@@ -1,6 +1,6 @@
package locale;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
use Config;
$Carp::Internal{ (__PACKAGE__) } = 1;
@@ -11,12 +11,13 @@ locale - Perl pragma to use or avoid POSIX locales for built-in operations
=head1 SYNOPSIS
- @x = sort @y; # Unicode sorting order
+ @x = sort @y; # Native-platform/Unicode code point sort order
{
use locale;
- @x = sort @y; # Locale-defined sorting order
+ @x = sort @y; # Locale-defined sort order
}
- @x = sort @y; # Unicode sorting order again
+ @x = sort @y; # Native-platform/Unicode code point sort order
+ # again
=head1 DESCRIPTION
@@ -26,34 +27,11 @@ expressions, LC_COLLATE for string comparison, and LC_NUMERIC for number
formatting). Each "use locale" or "no locale"
affects statements to the end of the enclosing BLOCK.
-Starting in Perl 5.16, a hybrid mode for this pragma is available,
-
- use locale ':not_characters';
-
-which enables only the portions of locales that don't affect the character
-set (that is, all except LC_COLLATE and LC_CTYPE). This is useful when mixing
-Unicode and locales, including UTF-8 locales.
-
- use locale ':not_characters';
- use open ":locale"; # Convert I/O to/from Unicode
- use POSIX qw(locale_h); # Import the LC_ALL constant
- setlocale(LC_ALL, ""); # Required for the next statement
- # to take effect
- printf "%.2f\n", 12345.67' # Locale-defined formatting
- @x = sort @y; # Unicode-defined sorting order.
- # (Note that you will get better
- # results using Unicode::Collate.)
-
See L<perllocale> for more detailed information on how Perl supports
locales.
-=head1 NOTE
-
-If your system does not support locales, then loading this module will
-cause the program to die with a message:
-
- "Your vendor does not support locales, you cannot use the locale
- module."
+On systems that don't have locales, this pragma will cause your operations
+to behave as if in the "C" locale; attempts to change the locale will fail.
=cut
@@ -70,11 +48,6 @@ $locale::not_chars_hint_bits = 0x10;
sub import {
shift; # should be 'locale'; not checked
- if(!$Config{d_setlocale}) {
- ## No locale support found on this Perl, giving up:
- die('Your vendor does not support locales, you cannot use the locale module.');
- }
-
my $found_not_chars = 0;
while (defined (my $arg = shift)) {
if ($arg eq ":not_characters") {
diff --git a/Master/tlpkg/tlperl/lib/lwpcook.pod b/Master/tlpkg/tlperl/lib/lwpcook.pod
new file mode 100644
index 00000000000..2002b79925e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/lwpcook.pod
@@ -0,0 +1,311 @@
+=head1 NAME
+
+lwpcook - The libwww-perl cookbook
+
+=head1 DESCRIPTION
+
+This document contain some examples that show typical usage of the
+libwww-perl library. You should consult the documentation for the
+individual modules for more detail.
+
+All examples should be runnable programs. You can, in most cases, test
+the code sections by piping the program text directly to perl.
+
+
+
+=head1 GET
+
+It is very easy to use this library to just fetch documents from the
+net. The LWP::Simple module provides the get() function that return
+the document specified by its URL argument:
+
+ use LWP::Simple;
+ $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://search.cpan.org/dist/libwww-perl/"'
+
+or, how about fetching the latest perl by running this command:
+
+ perl -MLWP::Simple -e '
+ getstore "ftp://ftp.sunet.se/pub/lang/perl/CPAN/src/latest.tar.gz",
+ "perl.tar.gz"'
+
+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.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
+interface you have full control over headers sent and how you want to
+handle the response returned.
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+ $ua->agent("$0/0.1 " . $ua->agent);
+ # $ua->agent("Mozilla/8.0") # pretend we are very capable browser
+
+ $req = HTTP::Request->new(
+ GET => 'http://search.cpan.org/dist/libwww-perl/');
+ $req->header('Accept' => 'text/html');
+
+ # send request
+ $res = $ua->request($req);
+
+ # check the outcome
+ if ($res->is_success) {
+ print $res->decoded_content;
+ }
+ else {
+ print "Error: " . $res->status_line . "\n";
+ }
+
+The lwp-request program (alias GET) that is distributed with the
+library can also be used to fetch documents from WWW servers.
+
+
+
+=head1 HEAD
+
+If you just want to check if a document is present (i.e. the URL is
+valid) try to run code that looks like this:
+
+ use LWP::Simple;
+
+ if (head($url)) {
+ # ok document exists
+ }
+
+The head() function really returns a list of meta-information about
+the document. The first three values of the list returned are the
+document type, the size of the document, and the age of the document.
+
+More control over the request or access to all header values returned
+require that you use the object oriented interface described for GET
+above. Just s/GET/HEAD/g.
+
+
+=head1 POST
+
+There is no simple procedural interface for posting data to a WWW server. You
+must use the object oriented interface for this. The most common POST
+operation is to access a WWW form application:
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+
+ my $req = HTTP::Request->new(
+ POST => 'http://rt.cpan.org/Public/Dist/Display.html');
+ $req->content_type('application/x-www-form-urlencoded');
+ $req->content('Status=Active&Name=libwww-perl');
+
+ my $res = $ua->request($req);
+ print $res->as_string;
+
+Lazy people use the HTTP::Request::Common module to set up a suitable
+POST request message (it handles all the escaping issues) and has a
+suitable default for the content_type:
+
+ use HTTP::Request::Common qw(POST);
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+
+ my $req = POST 'http://rt.cpan.org/Public/Dist/Display.html',
+ [ Status => 'Active', Name => 'libwww-perl' ];
+
+ print $ua->request($req)->as_string;
+
+The lwp-request program (alias POST) that is distributed with the
+library can also be used for posting data.
+
+
+
+=head1 PROXIES
+
+Some sites use proxies to go through fire wall machines, or just as
+cache in order to improve performance. Proxies can also be used for
+accessing resources through protocols not supported directly (or
+supported badly :-) by the libwww-perl library.
+
+You should initialize your proxy setting before you start sending
+requests:
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+ $ua->env_proxy; # initialize from environment variables
+ # or
+ $ua->proxy(ftp => 'http://proxy.myorg.com');
+ $ua->proxy(wais => 'http://proxy.myorg.com');
+ $ua->no_proxy(qw(no se fi));
+
+ my $req = HTTP::Request->new(GET => 'wais://xxx.com/');
+ print $ua->request($req)->as_string;
+
+The LWP::Simple interface will call env_proxy() for you automatically.
+Applications that use the $ua->env_proxy() method will normally not
+use the $ua->proxy() and $ua->no_proxy() methods.
+
+Some proxies also require that you send it a username/password in
+order to let requests through. You should be able to add the
+required header, with something like this:
+
+ use LWP::UserAgent;
+
+ $ua = LWP::UserAgent->new;
+ $ua->proxy(['http', 'ftp'] => 'http://username:password@proxy.myorg.com');
+
+ $req = HTTP::Request->new('GET',"http://www.perl.com");
+
+ $res = $ua->request($req);
+ print $res->decoded_content if $res->is_success;
+
+Replace C<proxy.myorg.com>, C<username> and
+C<password> with something suitable for your site.
+
+
+=head1 ACCESS TO PROTECTED DOCUMENTS
+
+Documents protected by basic authorization can easily be accessed
+like this:
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+ $req = HTTP::Request->new(GET => 'http://www.linpro.no/secret/');
+ $req->authorization_basic('aas', 'mypassword');
+ print $ua->request($req)->as_string;
+
+The other alternative is to provide a subclass of I<LWP::UserAgent> that
+overrides the get_basic_credentials() method. Study the I<lwp-request>
+program for an example of this.
+
+
+=head1 COOKIES
+
+Some sites like to play games with cookies. By default LWP ignores
+cookies provided by the servers it visits. LWP will collect cookies
+and respond to cookie requests if you set up a cookie jar.
+
+ use LWP::UserAgent;
+ use HTTP::Cookies;
+
+ $ua = LWP::UserAgent->new;
+ $ua->cookie_jar(HTTP::Cookies->new(file => "lwpcookies.txt",
+ autosave => 1));
+
+ # and then send requests just as you used to do
+ $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
+F<lwpcookies.txt"> will grow.
+
+=head1 HTTPS
+
+URLs with https scheme are accessed in exactly the same way as with
+http scheme, provided that an SSL interface module for LWP has been
+properly installed (see the F<README.SSL> file found in the
+libwww-perl distribution for more details). If no SSL interface is
+installed for LWP to use, then you will get "501 Protocol scheme
+'https' is not supported" errors when accessing such URLs.
+
+Here's an example of fetching and printing a WWW page using SSL:
+
+ use LWP::UserAgent;
+
+ my $ua = LWP::UserAgent->new;
+ my $req = HTTP::Request->new(GET => 'https://www.helsinki.fi/');
+ my $res = $ua->request($req);
+ if ($res->is_success) {
+ print $res->as_string;
+ }
+ else {
+ print "Failed: ", $res->status_line, "\n";
+ }
+
+=head1 MIRRORING
+
+If you want to mirror documents from a WWW server, then try to run
+code similar to this at regular intervals:
+
+ use LWP::Simple;
+
+ %mirrors = (
+ '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)) {
+ mirror($url, $localfile);
+ }
+
+Or, as a perl one-liner:
+
+ perl -MLWP::Simple -e 'mirror("http://www.perl.com/", "perl.html")';
+
+The document will not be transferred unless it has been updated.
+
+
+
+=head1 LARGE DOCUMENTS
+
+If the document you want to fetch is too large to be kept in memory,
+then you have two alternatives. You can instruct the library to write
+the document content to a file (second $ua->request() argument is a file
+name):
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+
+ my $req = HTTP::Request->new(GET =>
+ '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";
+ }
+ else {
+ print $res->status_line, "\n";
+ }
+
+
+Or you can process the document as it arrives (second $ua->request()
+argument is a code reference):
+
+ use LWP::UserAgent;
+ $ua = LWP::UserAgent->new;
+ $URL = 'ftp://ftp.unit.no/pub/rfc/rfc-index.txt';
+
+ my $expected_length;
+ my $bytes_received = 0;
+ my $res =
+ $ua->request(HTTP::Request->new(GET => $URL),
+ sub {
+ my($chunk, $res) = @_;
+ $bytes_received += length($chunk);
+ unless (defined $expected_length) {
+ $expected_length = $res->content_length || 0;
+ }
+ if ($expected_length) {
+ printf STDERR "%d%% - ",
+ 100 * $bytes_received / $expected_length;
+ }
+ print STDERR "$bytes_received bytes received\n";
+
+ # XXX Should really do something with the chunk itself
+ # print $chunk;
+ });
+ print $res->status_line, "\n";
+
+
+
+=head1 COPYRIGHT
+
+Copyright 1996-2001, Gisle Aas
+
+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/lwptut.pod b/Master/tlpkg/tlperl/lib/lwptut.pod
new file mode 100644
index 00000000000..3ab5e61eae4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/lwptut.pod
@@ -0,0 +1,839 @@
+=head1 NAME
+
+lwptut -- An LWP Tutorial
+
+=head1 DESCRIPTION
+
+LWP (short for "Library for WWW in Perl") is a very popular group of
+Perl modules for accessing data on the Web. Like most Perl
+module-distributions, each of LWP's component modules comes with
+documentation that is a complete reference to its interface. However,
+there are so many modules in LWP that it's hard to know where to start
+looking for information on how to do even the simplest most common
+things.
+
+Really introducing you to using LWP would require a whole book -- a book
+that just happens to exist, called I<Perl & LWP>. But this article
+should give you a taste of how you can go about some common tasks with
+LWP.
+
+
+=head2 Getting documents with LWP::Simple
+
+If you just want to get what's at a particular URL, the simplest way
+to do it is LWP::Simple's functions.
+
+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://www.npr.org/programs/fa/?todayDate=current';
+ # Just an example: the URL for the most recent /Fresh Air/ show
+
+ use LWP::Simple;
+ my $content = get $url;
+ die "Couldn't get $url" unless defined $content;
+
+ # Then go do things with $content, like this:
+
+ if($content =~ m/jazz/i) {
+ print "They're talking about jazz today on Fresh Air!\n";
+ }
+ else {
+ print "Fresh Air is apparently jazzless today.\n";
+ }
+
+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://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://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
+for running a HEAD request on a URL (useful for checking links, or
+getting the last-revised time of a URL), and two functions for
+saving/mirroring a URL to a local file. See L<the LWP::Simple
+documentation|LWP::Simple> for the full details, or chapter 2 of I<Perl
+& LWP> for more examples.
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 The Basics of the LWP Class Model
+
+LWP::Simple's functions are handy for simple cases, but its functions
+don't support cookies or authorization, don't support setting header
+lines in the HTTP request, generally don't support reading header lines
+in the HTTP response (notably the full HTTP error message, in case of an
+error). To get at all those features, you'll have to use the full LWP
+class model.
+
+While LWP consists of dozens of classes, the main two that you have to
+understand are L<LWP::UserAgent> and L<HTTP::Response>. LWP::UserAgent
+is a class for "virtual browsers" which you use for performing requests,
+and L<HTTP::Response> is a class for the responses (or error messages)
+that you get back from those requests.
+
+The basic idiom is C<< $response = $browser->get($url) >>, or more fully
+illustrated:
+
+ # Early in your program:
+
+ use LWP 5.64; # Loads all important LWP classes, and makes
+ # sure your version is reasonably recent.
+
+ my $browser = LWP::UserAgent->new;
+
+ ...
+
+ # Then later, whenever you need to make a get request:
+ my $url = 'http://www.npr.org/programs/fa/?todayDate=current';
+
+ my $response = $browser->get( $url );
+ die "Can't get $url -- ", $response->status_line
+ unless $response->is_success;
+
+ die "Hey, I was expecting HTML, not ", $response->content_type
+ unless $response->content_type eq 'text/html';
+ # or whatever content-type you're equipped to deal with
+
+ # Otherwise, process the content somehow:
+
+ if($response->decoded_content =~ m/jazz/i) {
+ print "They're talking about jazz today on Fresh Air!\n";
+ }
+ else {
+ print "Fresh Air is apparently jazzless today.\n";
+ }
+
+There are two objects involved: C<$browser>, which holds an object of
+class LWP::UserAgent, and then the C<$response> object, which is of
+class HTTP::Response. You really need only one browser object per
+program; but every time you make a request, you get back a new
+HTTP::Response object, which will have some interesting attributes:
+
+=over
+
+=item *
+
+A status code indicating
+success or failure
+(which you can test with C<< $response->is_success >>).
+
+=item *
+
+An HTTP status
+line that is hopefully informative if there's failure (which you can
+see with C<< $response->status_line >>,
+returning something like "404 Not Found").
+
+=item *
+
+A MIME content-type like "text/html", "image/gif",
+"application/xml", etc., which you can see with
+C<< $response->content_type >>
+
+=item *
+
+The actual content of the response, in C<< $response->decoded_content >>.
+If the response is HTML, that's where the HTML source will be; if
+it's a GIF, then C<< $response->decoded_content >> will be the binary
+GIF data.
+
+=item *
+
+And dozens of other convenient and more specific methods that are
+documented in the docs for L<HTTP::Response>, and its superclasses
+L<HTTP::Message> and L<HTTP::Headers>.
+
+=back
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Adding Other HTTP Request Headers
+
+The most commonly used syntax for requests is C<< $response =
+$browser->get($url) >>, but in truth, you can add extra HTTP header
+lines to the request by adding a list of key-value pairs after the URL,
+like so:
+
+ $response = $browser->get( $url, $key1, $value1, $key2, $value2, ... );
+
+For example, here's how to send some more Netscape-like headers, in case
+you're dealing with a site that would otherwise reject your request:
+
+
+ my @ns_headers = (
+ 'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
+ 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*',
+ 'Accept-Charset' => 'iso-8859-1,*,utf-8',
+ 'Accept-Language' => 'en-US',
+ );
+
+ ...
+
+ $response = $browser->get($url, @ns_headers);
+
+If you weren't reusing that array, you could just go ahead and do this:
+
+ $response = $browser->get($url,
+ 'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
+ 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*',
+ 'Accept-Charset' => 'iso-8859-1,*,utf-8',
+ 'Accept-Language' => 'en-US',
+ );
+
+If you were only ever changing the 'User-Agent' line, you could just change
+the C<$browser> object's default line from "libwww-perl/5.65" (or the like)
+to whatever you like, using the LWP::UserAgent C<agent> method:
+
+ $browser->agent('Mozilla/4.76 [en] (Win98; U)');
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Enabling Cookies
+
+A default LWP::UserAgent object acts like a browser with its cookies
+support turned off. There are various ways of turning it on, by setting
+its C<cookie_jar> attribute. A "cookie jar" is an object representing
+a little database of all
+the HTTP cookies that a browser can know about. It can correspond to a
+file on disk (the way Netscape uses its F<cookies.txt> file), or it can
+be just an in-memory object that starts out empty, and whose collection of
+cookies will disappear once the program is finished running.
+
+To give a browser an in-memory empty cookie jar, you set its C<cookie_jar>
+attribute like so:
+
+ $browser->cookie_jar({});
+
+To give it a copy that will be read from a file on disk, and will be saved
+to it when the program is finished running, set the C<cookie_jar> attribute
+like this:
+
+ use HTTP::Cookies;
+ $browser->cookie_jar( HTTP::Cookies->new(
+ 'file' => '/some/where/cookies.lwp',
+ # where to read/write cookies
+ 'autosave' => 1,
+ # save it to disk when done
+ ));
+
+That file will be in LWP-specific format. If you want to access the
+cookies in your Netscape cookies file, you can use the
+HTTP::Cookies::Netscape class:
+
+ use HTTP::Cookies;
+ # yes, loads HTTP::Cookies::Netscape too
+
+ $browser->cookie_jar( HTTP::Cookies::Netscape->new(
+ 'file' => 'c:/Program Files/Netscape/Users/DIR-NAME-HERE/cookies.txt',
+ # where to read cookies
+ ));
+
+You could add an C<< 'autosave' => 1 >> line as further above, but at
+time of writing, it's uncertain whether Netscape might discard some of
+the cookies you could be writing back to disk.
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Posting Form Data
+
+Many HTML forms send data to their server using an HTTP POST request, which
+you can send with this syntax:
+
+ $response = $browser->post( $url,
+ [
+ formkey1 => value1,
+ formkey2 => value2,
+ ...
+ ],
+ );
+
+Or if you need to send HTTP headers:
+
+ $response = $browser->post( $url,
+ [
+ formkey1 => value1,
+ formkey2 => value2,
+ ...
+ ],
+ headerkey1 => value1,
+ headerkey2 => value2,
+ );
+
+For example, the following program makes a search request to AltaVista
+(by sending some form data via an HTTP POST request), and extracts from
+the HTML the report of the number of matches:
+
+ use strict;
+ use warnings;
+ use LWP 5.64;
+ my $browser = LWP::UserAgent->new;
+
+ my $word = 'tarragon';
+
+ my $url = 'http://search.yahoo.com/yhs/search';
+ my $response = $browser->post( $url,
+ [ 'q' => $word, # the Altavista query string
+ 'fr' => 'altavista', 'pg' => 'q', 'avkw' => 'tgz', 'kl' => 'XX',
+ ]
+ );
+ die "$url error: ", $response->status_line
+ unless $response->is_success;
+ die "Weird content type at $url -- ", $response->content_type
+ unless $response->content_is_html;
+
+ if( $response->decoded_content =~ m{([0-9,]+)(?:<.*?>)? results for} ) {
+ # The substring will be like "996,000</strong> results for"
+ print "$word: $1\n";
+ }
+ else {
+ print "Couldn't find the match-string in the response\n";
+ }
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Sending GET Form Data
+
+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<www.imdb.com> and ran a search on "Blade Runner", the URL you'd see
+in your browser window would be:
+
+ 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://www.imdb.com/find' );
+ # makes an object representing the URL
+
+ $url->query_form( # And here the form data pairs:
+ 'q' => 'Blade Runner',
+ 's' => 'all',
+ );
+
+ my $response = $browser->get($url);
+
+See chapter 5 of I<Perl & LWP> for a longer discussion of HTML forms
+and of form data, and chapters 6 through 9 for a longer discussion of
+extracting data from HTML.
+
+
+
+=head2 Absolutizing URLs
+
+The URI class that we just mentioned above provides all sorts of methods
+for accessing and modifying parts of URLs (such as asking sort of URL it
+is with C<< $url->scheme >>, and asking what host it refers to with C<<
+$url->host >>, and so on, as described in L<the docs for the URI
+class|URI>. However, the methods of most immediate interest
+are the C<query_form> method seen above, and now the C<new_abs> method
+for taking a probably-relative URL string (like "../foo.html") and getting
+back an absolute URL (like "http://www.perl.com/stuff/foo.html"), as
+shown here:
+
+ use URI;
+ $abs = URI->new_abs($maybe_relative, $base);
+
+For example, consider this program that matches URLs in the HTML
+list of new modules in CPAN:
+
+ use strict;
+ use warnings;
+ use LWP;
+ my $browser = LWP::UserAgent->new;
+
+ my $url = 'http://www.cpan.org/RECENT.html';
+ my $response = $browser->get($url);
+ die "Can't get $url -- ", $response->status_line
+ unless $response->is_success;
+
+ my $html = $response->decoded_content;
+ while( $html =~ m/<A HREF=\"(.*?)\"/g ) {
+ print "$1\n";
+ }
+
+When run, it emits output that starts out something like this:
+
+ MIRRORING.FROM
+ RECENT
+ RECENT.html
+ authors/00whois.html
+ authors/01mailrc.txt.gz
+ authors/id/A/AA/AASSAD/CHECKSUMS
+ ...
+
+However, if you actually want to have those be absolute URLs, you
+can use the URI module's C<new_abs> method, by changing the C<while>
+loop to this:
+
+ while( $html =~ m/<A HREF=\"(.*?)\"/g ) {
+ print URI->new_abs( $1, $response->base ) ,"\n";
+ }
+
+(The C<< $response->base >> method from L<HTTP::Message|HTTP::Message>
+is for returning what URL
+should be used for resolving relative URLs -- it's usually just
+the same as the URL that you requested.)
+
+That program then emits nicely absolute URLs:
+
+ http://www.cpan.org/MIRRORING.FROM
+ http://www.cpan.org/RECENT
+ http://www.cpan.org/RECENT.html
+ http://www.cpan.org/authors/00whois.html
+ http://www.cpan.org/authors/01mailrc.txt.gz
+ http://www.cpan.org/authors/id/A/AA/AASSAD/CHECKSUMS
+ ...
+
+See chapter 4 of I<Perl & LWP> for a longer discussion of URI objects.
+
+Of course, using a regexp to match hrefs is a bit simplistic, and for
+more robust programs, you'll probably want to use an HTML-parsing module
+like L<HTML::LinkExtor> or L<HTML::TokeParser> or even maybe
+L<HTML::TreeBuilder>.
+
+
+
+
+=for comment
+ ##########################################################################
+
+=head2 Other Browser Attributes
+
+LWP::UserAgent objects have many attributes for controlling how they
+work. Here are a few notable ones:
+
+=over
+
+=item *
+
+C<< $browser->timeout(15); >>
+
+This sets this browser object to give up on requests that don't answer
+within 15 seconds.
+
+
+=item *
+
+C<< $browser->protocols_allowed( [ 'http', 'gopher'] ); >>
+
+This sets this browser object to not speak any protocols other than HTTP
+and gopher. If it tries accessing any other kind of URL (like an "ftp:"
+or "mailto:" or "news:" URL), then it won't actually try connecting, but
+instead will immediately return an error code 500, with a message like
+"Access to 'ftp' URIs has been disabled".
+
+
+=item *
+
+C<< use LWP::ConnCache; $browser->conn_cache(LWP::ConnCache->new()); >>
+
+This tells the browser object to try using the HTTP/1.1 "Keep-Alive"
+feature, which speeds up requests by reusing the same socket connection
+for multiple requests to the same server.
+
+
+=item *
+
+C<< $browser->agent( 'SomeName/1.23 (more info here maybe)' ) >>
+
+This changes how the browser object will identify itself in
+the default "User-Agent" line is its HTTP requests. By default,
+it'll send "libwww-perl/I<versionnumber>", like
+"libwww-perl/5.65". You can change that to something more descriptive
+like this:
+
+ $browser->agent( 'SomeName/3.14 (contact@robotplexus.int)' );
+
+Or if need be, you can go in disguise, like this:
+
+ $browser->agent( 'Mozilla/4.0 (compatible; MSIE 5.12; Mac_PowerPC)' );
+
+
+=item *
+
+C<< push @{ $ua->requests_redirectable }, 'POST'; >>
+
+This tells this browser to obey redirection responses to POST requests
+(like most modern interactive browsers), even though the HTTP RFC says
+that should not normally be done.
+
+
+=back
+
+
+For more options and information, see L<the full documentation for
+LWP::UserAgent|LWP::UserAgent>.
+
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Writing Polite Robots
+
+If you want to make sure that your LWP-based program respects F<robots.txt>
+files and doesn't make too many requests too fast, you can use the LWP::RobotUA
+class instead of the LWP::UserAgent class.
+
+LWP::RobotUA class is just like LWP::UserAgent, and you can use it like so:
+
+ use LWP::RobotUA;
+ my $browser = LWP::RobotUA->new('YourSuperBot/1.34', 'you@yoursite.com');
+ # Your bot's name and your email address
+
+ my $response = $browser->get($url);
+
+But HTTP::RobotUA adds these features:
+
+
+=over
+
+=item *
+
+If the F<robots.txt> on C<$url>'s server forbids you from accessing
+C<$url>, then the C<$browser> object (assuming it's of class LWP::RobotUA)
+won't actually request it, but instead will give you back (in C<$response>) a 403 error
+with a message "Forbidden by robots.txt". That is, if you have this line:
+
+ die "$url -- ", $response->status_line, "\nAborted"
+ unless $response->is_success;
+
+then the program would die with an error message like this:
+
+ http://whatever.site.int/pith/x.html -- 403 Forbidden by robots.txt
+ Aborted at whateverprogram.pl line 1234
+
+=item *
+
+If this C<$browser> object sees that the last time it talked to
+C<$url>'s server was too recently, then it will pause (via C<sleep>) to
+avoid making too many requests too often. How long it will pause for, is
+by default one minute -- but you can control it with the C<<
+$browser->delay( I<minutes> ) >> attribute.
+
+For example, this code:
+
+ $browser->delay( 7/60 );
+
+...means that this browser will pause when it needs to avoid talking to
+any given server more than once every 7 seconds.
+
+=back
+
+For more options and information, see L<the full documentation for
+LWP::RobotUA|LWP::RobotUA>.
+
+
+
+
+
+=for comment
+ ##########################################################################
+
+=head2 Using Proxies
+
+In some cases, you will want to (or will have to) use proxies for
+accessing certain sites and/or using certain protocols. This is most
+commonly the case when your LWP program is running (or could be running)
+on a machine that is behind a firewall.
+
+To make a browser object use proxies that are defined in the usual
+environment variables (C<HTTP_PROXY>, etc.), just call the C<env_proxy>
+on a user-agent object before you go making any requests on it.
+Specifically:
+
+ use LWP::UserAgent;
+ my $browser = LWP::UserAgent->new;
+
+ # And before you go making any requests:
+ $browser->env_proxy;
+
+For more information on proxy parameters, see L<the LWP::UserAgent
+documentation|LWP::UserAgent>, specifically the C<proxy>, C<env_proxy>,
+and C<no_proxy> methods.
+
+
+
+=for comment
+ ##########################################################################
+
+=head2 HTTP Authentication
+
+Many web sites restrict access to documents by using "HTTP
+Authentication". This isn't just any form of "enter your password"
+restriction, but is a specific mechanism where the HTTP server sends the
+browser an HTTP code that says "That document is part of a protected
+'realm', and you can access it only if you re-request it and add some
+special authorization headers to your request".
+
+For example, the Unicode.org admins stop email-harvesting bots from
+harvesting the contents of their mailing list archives, by protecting
+them with HTTP Authentication, and then publicly stating the username
+and password (at C<http://www.unicode.org/mail-arch/>) -- namely
+username "unicode-ml" and password "unicode".
+
+For example, consider this URL, which is part of the protected
+area of the web site:
+
+ http://www.unicode.org/mail-arch/unicode-ml/y2002-m08/0067.html
+
+If you access that with a browser, you'll get a prompt
+like
+"Enter username and password for 'Unicode-MailList-Archives' at server
+'www.unicode.org'".
+
+In LWP, if you just request that URL, like this:
+
+ use LWP;
+ my $browser = LWP::UserAgent->new;
+
+ my $url =
+ 'http://www.unicode.org/mail-arch/unicode-ml/y2002-m08/0067.html';
+ my $response = $browser->get($url);
+
+ die "Error: ", $response->header('WWW-Authenticate') || 'Error accessing',
+ # ('WWW-Authenticate' is the realm-name)
+ "\n ", $response->status_line, "\n at $url\n Aborting"
+ unless $response->is_success;
+
+Then you'll get this error:
+
+ Error: Basic realm="Unicode-MailList-Archives"
+ 401 Authorization Required
+ at http://www.unicode.org/mail-arch/unicode-ml/y2002-m08/0067.html
+ Aborting at auth1.pl line 9. [or wherever]
+
+...because the C<$browser> doesn't know any the username and password
+for that realm ("Unicode-MailList-Archives") at that host
+("www.unicode.org"). The simplest way to let the browser know about this
+is to use the C<credentials> method to let it know about a username and
+password that it can try using for that realm at that host. The syntax is:
+
+ $browser->credentials(
+ 'servername:portnumber',
+ 'realm-name',
+ 'username' => 'password'
+ );
+
+In most cases, the port number is 80, the default TCP/IP port for HTTP; and
+you usually call the C<credentials> method before you make any requests.
+For example:
+
+ $browser->credentials(
+ 'reports.mybazouki.com:80',
+ 'web_server_usage_reports',
+ 'plinky' => 'banjo123'
+ );
+
+So if we add the following to the program above, right after the C<<
+$browser = LWP::UserAgent->new; >> line...
+
+ $browser->credentials( # add this to our $browser 's "key ring"
+ 'www.unicode.org:80',
+ 'Unicode-MailList-Archives',
+ 'unicode-ml' => 'unicode'
+ );
+
+...then when we run it, the request succeeds, instead of causing the
+C<die> to be called.
+
+
+
+=for comment
+ ##########################################################################
+
+=head2 Accessing HTTPS URLs
+
+When you access an HTTPS URL, it'll work for you just like an HTTP URL
+would -- if your LWP installation has HTTPS support (via an appropriate
+Secure Sockets Layer library). For example:
+
+ use LWP;
+ my $url = 'https://www.paypal.com/'; # Yes, HTTPS!
+ my $browser = LWP::UserAgent->new;
+ my $response = $browser->get($url);
+ die "Error at $url\n ", $response->status_line, "\n Aborting"
+ unless $response->is_success;
+ print "Whee, it worked! I got that ",
+ $response->content_type, " document!\n";
+
+If your LWP installation doesn't have HTTPS support set up, then the
+response will be unsuccessful, and you'll get this error message:
+
+ Error at https://www.paypal.com/
+ 501 Protocol scheme 'https' is not supported
+ Aborting at paypal.pl line 7. [or whatever program and line]
+
+If your LWP installation I<does> have HTTPS support installed, then the
+response should be successful, and you should be able to consult
+C<$response> just like with any normal HTTP response.
+
+For information about installing HTTPS support for your LWP
+installation, see the helpful F<README.SSL> file that comes in the
+libwww-perl distribution.
+
+
+=for comment
+ ##########################################################################
+
+
+
+=head2 Getting Large Documents
+
+When you're requesting a large (or at least potentially large) document,
+a problem with the normal way of using the request methods (like C<<
+$response = $browser->get($url) >>) is that the response object in
+memory will have to hold the whole document -- I<in memory>. If the
+response is a thirty megabyte file, this is likely to be quite an
+imposition on this process's memory usage.
+
+A notable alternative is to have LWP save the content to a file on disk,
+instead of saving it up in memory. This is the syntax to use:
+
+ $response = $ua->get($url,
+ ':content_file' => $filespec,
+ );
+
+For example,
+
+ $response = $ua->get('http://search.cpan.org/',
+ ':content_file' => '/tmp/sco.html'
+ );
+
+When you use this C<:content_file> option, the C<$response> will have
+all the normal header lines, but C<< $response->content >> will be
+empty.
+
+Note that this ":content_file" option isn't supported under older
+versions of LWP, so you should consider adding C<use LWP 5.66;> to check
+the LWP version, if you think your program might run on systems with
+older versions.
+
+If you need to be compatible with older LWP versions, then use
+this syntax, which does the same thing:
+
+ use HTTP::Request::Common;
+ $response = $ua->request( GET($url), $filespec );
+
+
+=for comment
+ ##########################################################################
+
+
+=head1 SEE ALSO
+
+Remember, this article is just the most rudimentary introduction to
+LWP -- to learn more about LWP and LWP-related tasks, you really
+must read from the following:
+
+=over
+
+=item *
+
+L<LWP::Simple> -- simple functions for getting/heading/mirroring URLs
+
+=item *
+
+L<LWP> -- overview of the libwww-perl modules
+
+=item *
+
+L<LWP::UserAgent> -- the class for objects that represent "virtual browsers"
+
+=item *
+
+L<HTTP::Response> -- the class for objects that represent the response to
+a LWP response, as in C<< $response = $browser->get(...) >>
+
+=item *
+
+L<HTTP::Message> and L<HTTP::Headers> -- classes that provide more methods
+to HTTP::Response.
+
+=item *
+
+L<URI> -- class for objects that represent absolute or relative URLs
+
+=item *
+
+L<URI::Escape> -- functions for URL-escaping and URL-unescaping strings
+(like turning "this & that" to and from "this%20%26%20that").
+
+=item *
+
+L<HTML::Entities> -- functions for HTML-escaping and HTML-unescaping strings
+(like turning "C. & E. BrontE<euml>" to and from "C. &amp; E. Bront&euml;")
+
+=item *
+
+L<HTML::TokeParser> and L<HTML::TreeBuilder> -- classes for parsing HTML
+
+=item *
+
+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://oreilly.com/catalog/perllwp/>. The
+whole book is also available free online:
+L<http://lwp.interglacial.com>.
+
+=back
+
+
+=head1 COPYRIGHT
+
+Copyright 2002, Sean M. Burke. You can redistribute this document and/or
+modify it, but only under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sean M. Burke C<sburke@cpan.org>
+
+=for comment
+ ##########################################################################
+
+=cut
+
+# End of Pod
diff --git a/Master/tlpkg/tlperl/lib/mro.pm b/Master/tlpkg/tlperl/lib/mro.pm
index 3ca6460d31d..1dddd6180fa 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.11';
+our $VERSION = '1.16';
sub import {
mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -202,10 +202,10 @@ This integer normally starts off at a value of C<1>
when a package stash is instantiated. Calling it
on packages whose stashes do not exist at all will
return C<0>. If a package stash is completely
-deleted (not a normal occurence, but it can happen
+deleted (not a normal occurrence, but it can happen
if someone does something like C<undef %PkgName::>),
the number will be reset to either C<0> or C<1>,
-depending on how completely package was wiped out.
+depending on how completely the package was wiped out.
=head2 next::method
diff --git a/Master/tlpkg/tlperl/lib/parent.pm b/Master/tlpkg/tlperl/lib/parent.pm
index 8f72db86dc8..b31603b90db 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.225';
+$VERSION = '0.228';
sub import {
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/perl5db.pl b/Master/tlpkg/tlperl/lib/perl5db.pl
index bcb4dd5ad20..707d04d6396 100644
--- a/Master/tlpkg/tlperl/lib/perl5db.pl
+++ b/Master/tlpkg/tlperl/lib/perl5db.pl
@@ -318,7 +318,7 @@ is entered or exited.
=item * 8 - Adds parameter information to messages, and overloaded stringify and tied FETCH is enabled on the printed arguments. Ignored if C<4> is not on.
-=item * 16 - Adds C<I<context> return from I<subname>: I<value>> messages on subroutine/eval exit. Ignored if C<4> is is not on.
+=item * 16 - Adds C<I<context> return from I<subname>: I<value>> messages on subroutine/eval exit. Ignored if C<4> is not on.
=back
@@ -523,7 +523,7 @@ BEGIN {
# Debugger for Perl 5.00x; perl5db.pl patch level:
use vars qw($VERSION $header);
-$VERSION = '1.39_10';
+$VERSION = '1.44';
$header = "perl5db.pl version $VERSION";
@@ -1362,7 +1362,8 @@ the R command stuffed into the environment variables.
PERLDB_RESTART - flag only, contains no restart data itself.
PERLDB_HIST - command history, if it's available
PERLDB_ON_LOAD - breakpoints set by the rc file
- PERLDB_POSTPONE - subs that have been loaded/not executed, and have actions
+ PERLDB_POSTPONE - subs that have been loaded/not executed,
+ and have actions
PERLDB_VISITED - files that had breakpoints
PERLDB_FILE_... - breakpoints for a file
PERLDB_OPT - active options
@@ -1822,7 +1823,7 @@ sub _DB__read_next_cmd
setterm();
}
- # ... and it belogs to this PID or we get one for this PID ...
+ # ... and it belongs to this PID or we get one for this PID ...
if ($term_pid != $$) {
resetterm(1);
}
@@ -2098,7 +2099,7 @@ sub _DB__handle_forward_slash_command {
# If the pattern isn't null ...
if ( $inpat ne "" ) {
- # Turn of warn and die procesing for a bit.
+ # Turn off warn and die processing for a bit.
local $SIG{__DIE__};
local $SIG{__WARN__};
@@ -2418,6 +2419,9 @@ sub _DB__at_end_of_every_command {
open( OUT, ">&SAVEOUT" ) || _db_warn("Can't restore DB::OUT");
}
+ # Let Readline know about the new filehandles.
+ reset_IN_OUT( \*IN, \*OUT );
+
# Close filehandle pager was using, restore the normal one
# if necessary,
close(SAVEOUT);
@@ -2501,7 +2505,7 @@ my %cmd_lookup =
{ t => 's', v => \&_DB__handle_restart_and_rerun_commands, },
} qw(R rerun)),
(map { $_ => {t => 'm', v => '_handle_cmd_wrapper_commands' }, }
- qw(a A b B e E h i l L M o O P v w W)),
+ qw(a A b B e E h i l L M o O v w W)),
);
sub DB {
@@ -2969,7 +2973,7 @@ Same as for C</>, except the loop runs backwards.
=head4 C<$rc> - Recall command
Manages the commands in C<@hist> (which is created if C<Term::ReadLine> reports
-that the terminal supports history). It find the the command required, puts it
+that the terminal supports history). It finds the command required, puts it
into C<$cmd>, and redoes the loop to execute it.
=cut
@@ -3147,7 +3151,7 @@ again.
#
# my $obj = DB::Obj->new(
#
-# The following package declaraton must come before that,
+# The following package declaration must come before that,
# or else runtime errors will occur with
#
# PERLDB_OPTS="autotrace nonstop"
@@ -4093,9 +4097,6 @@ sub _print_frame_message {
}
sub DB::sub {
- # Do not use a regex in this subroutine -> results in corrupted memory
- # See: [perl #66110]
-
# lock ourselves under threads
lock($DBGR);
@@ -4268,7 +4269,9 @@ sub lsub : lvalue {
$stack[-1] = $single;
# Turn off all flags except single-stepping.
- $single &= 1;
+ # Use local so the single-step value is popped back off the
+ # stack for us.
+ local $single = $single & 1;
# If we've gotten really deeply recursed, turn on the flag that will
# make us stop with the 'deep recursion' message.
@@ -4277,9 +4280,6 @@ sub lsub : lvalue {
# If frame messages are on ...
_print_frame_message($al);
- # Pop the single-step value back off the stack.
- $single |= $stack[ $stack_depth-- ];
-
# call the original lvalue sub.
&$sub;
}
@@ -6091,7 +6091,7 @@ sub cmd_W {
} ## end foreach (@to_watch)
# We don't bother to turn watching off because
- # a) we don't want to stop calling watchfunction() it it exists
+ # a) we don't want to stop calling watchfunction() if it exists
# b) foreach over a null list doesn't do anything anyway
} ## end elsif ($expr =~ /^(\S.*)/)
@@ -6146,7 +6146,11 @@ sub print_lineinfo {
resetterm(1) if $LINEINFO eq $OUT and $term_pid != $$;
local $\ = '';
local $, = '';
- print $LINEINFO @_;
+ # $LINEINFO may be undef if $noTTY is set or some other issue.
+ if ($LINEINFO)
+ {
+ print {$LINEINFO} @_;
+ }
} ## end sub print_lineinfo
=head2 C<postponed_sub>
@@ -6426,7 +6430,7 @@ sub print_trace {
# Drop out if the user has lost interest and hit control-C.
last if $signal;
- # Set the separator so arrys print nice.
+ # Set the separator so arrays print nice.
local $" = ', ';
# Grab and stringify the arguments if they are there.
@@ -8898,139 +8902,6 @@ program's STDIN and STDOUT.
=cut
-my %_is_in_pods = (map { $_ => 1 }
- qw(
- 5004delta
- 5005delta
- 561delta
- 56delta
- 570delta
- 571delta
- 572delta
- 573delta
- 58delta
- 581delta
- 582delta
- 583delta
- 584delta
- 590delta
- 591delta
- 592delta
- aix
- amiga
- apio
- api
- artistic
- book
- boot
- bot
- bs2000
- call
- ce
- cheat
- clib
- cn
- compile
- cygwin
- data
- dbmfilter
- debguts
- debtut
- debug
- delta
- dgux
- diag
- doc
- dos
- dsc
- ebcdic
- embed
- faq1
- faq2
- faq3
- faq4
- faq5
- faq6
- faq7
- faq8
- faq9
- faq
- filter
- fork
- form
- freebsd
- func
- gpl
- guts
- hack
- hist
- hpux
- hurd
- intern
- intro
- iol
- ipc
- irix
- jp
- ko
- lexwarn
- locale
- lol
- macos
- macosx
- modinstall
- modlib
- mod
- modstyle
- netware
- newmod
- number
- obj
- opentut
- op
- os2
- os390
- os400
- packtut
- plan9
- pod
- podspec
- port
- qnx
- ref
- reftut
- re
- requick
- reref
- retut
- run
- sec
- solaris
- style
- sub
- syn
- thrtut
- tie
- toc
- todo
- tooc
- toot
- trap
- tru64
- tw
- unicode
- uniintro
- util
- uts
- var
- vms
- vos
- win32
- xs
- xstut
- )
-);
-
sub runman {
my $page = shift;
unless ($page) {
@@ -9048,8 +8919,8 @@ sub runman {
$page = 'perl' if lc($page) eq 'help';
require Config;
- my $man1dir = $Config::Config{'man1dir'};
- my $man3dir = $Config::Config{'man3dir'};
+ my $man1dir = $Config::Config{man1direxp};
+ my $man3dir = $Config::Config{man3direxp};
for ( $man1dir, $man3dir ) { s#/[^/]*\z## if /\S/ }
my $manpath = '';
$manpath .= "$man1dir:" if $man1dir =~ /\S/;
@@ -9057,8 +8928,7 @@ sub runman {
chop $manpath if $manpath;
# harmless if missing, I figure
- my $oldpath = $ENV{MANPATH};
- $ENV{MANPATH} = $manpath if $manpath;
+ local $ENV{MANPATH} = $manpath if $manpath;
my $nopathopt = $^O =~ /dunno what goes here/;
if (
CORE::system(
@@ -9071,20 +8941,27 @@ sub runman {
)
{
unless ( $page =~ /^perl\w/ ) {
-# do it this way because its easier to slurp in to keep up to date - clunky though.
- if (exists($_is_in_pods{$page})) {
+ # Previously the debugger contained a list which it slurped in,
+ # listing the known "perl" manpages. However, it was out of date,
+ # with errors both of omission and inclusion. This approach is
+ # considerably less complex. The failure mode on a butchered
+ # install is simply that the user has to run man or perldoc
+ # "manually" with the full manpage name.
+
+ # There is a list of $^O values in installperl to determine whether
+ # the directory is 'pods' or 'pod'. However, we can avoid tight
+ # coupling to that by simply checking the "non-standard" 'pods'
+ # first.
+ my $pods = "$Config::Config{privlibexp}/pods";
+ $pods = "$Config::Config{privlibexp}/pod"
+ unless -d $pods;
+ if (-f "$pods/perl$page.pod") {
CORE::system( $doccmd,
( ( $manpath && !$nopathopt ) ? ( "-M", $manpath ) : () ),
"perl$page" );
}
}
} ## end if (CORE::system($doccmd...
- if ( defined $oldpath ) {
- $ENV{MANPATH} = $manpath;
- }
- else {
- delete $ENV{MANPATH};
- }
} ## end sub runman
#use Carp; # This did break, left for debugging
@@ -9165,7 +9042,7 @@ BEGIN { # This does not compile, alas. (XXX eh?)
# This defines the point at which you get the 'deep recursion'
# warning. It MUST be defined or the debugger will not load.
- $deep = 100;
+ $deep = 1000;
# Number of lines around the current one that are shown in the
# 'w' command.
@@ -9511,7 +9388,7 @@ If the package is C<::> (C<main>), create an empty list; if it's something else,
=cut
push @out, map "$prefix$_", grep /^\Q$text/,
- ( grep /^_?[a-zA-Z]/, keys %$pack ),
+ ( grep /^_?[a-zA-Z]/, do { no strict 'refs'; keys %$pack } ),
( $pack eq '::' ? () : ( grep /::$/, keys %:: ) );
=item *
@@ -10312,7 +10189,7 @@ sub cmd_prepost {
my $which = '';
# Make sure we have some array or another to address later.
- # This means that if ssome reason the tests fail, we won't be
+ # This means that if for some reason the tests fail, we won't be
# trying to stash actions or delete them from the wrong place.
my $aref = [];
diff --git a/Master/tlpkg/tlperl/lib/perlfaq.pm b/Master/tlpkg/tlperl/lib/perlfaq.pm
index 976b525cb46..6d6a05a75e6 100644
--- a/Master/tlpkg/tlperl/lib/perlfaq.pm
+++ b/Master/tlpkg/tlperl/lib/perlfaq.pm
@@ -1,6 +1,6 @@
package perlfaq;
{
- $perlfaq::VERSION = '5.0150042';
+ $perlfaq::VERSION = '5.0150044';
}
0; # not is it supposed to be loaded
diff --git a/Master/tlpkg/tlperl/lib/perllocal.pod b/Master/tlpkg/tlperl/lib/perllocal.pod
new file mode 100644
index 00000000000..b1a11e6c3f6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/perllocal.pod
@@ -0,0 +1,682 @@
+=head2 Sat Apr 25 13:03:57 2015: C<Module> L<Math::Int64|Math::Int64>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.52>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:08:37 2015: C<Module> L<IO::String|IO::String>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.08>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:09:50 2015: C<Module> L<Digest::SHA1|Digest::SHA1>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 2.13>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:10:48 2015: C<Module> L<File::Which|File::Which>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.16>
+
+=item *
+
+C<EXE_FILES: script/pwhich>
+
+=back
+
+=head2 Sat Apr 25 13:21:41 2015: C<Module> L<Encode::compat|Encode::compat>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.07>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:22:41 2015: C<Module> L<Encode::Locale|Encode::Locale>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.04>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:24:11 2015: C<Module> L<Win32::API|Win32::API>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.80>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:25:32 2015: C<Module> L<Win32API::Registry|Win32API::Registry>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.33>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:31:36 2015: C<Module> L<Win32::Console|Win32::Console>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.10>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:37:31 2015: C<Module> L<Win32::TieRegistry|Win32::TieRegistry>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.29>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:39:41 2015: C<Module> L<Win32::Shortcut|Win32::Shortcut>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.08>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:41:20 2015: C<Module> L<Win32::OLE|Win32::OLE>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 0.1712>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 13:46:29 2015: C<Module> L<Socket|Socket>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 2.018>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:08:15 2015: C<Module> L<Date::Parse|Date::Parse>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 2.30>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:09:18 2015: C<Module> L<HTTP::Date|HTTP::Date>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:10:33 2015: C<Module> L<File::Listing|File::Listing>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.04>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:11:25 2015: C<Module> L<IO::HTML|IO::HTML>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.001>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:12:15 2015: C<Module> L<LWP::MediaTypes|LWP::MediaTypes>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:13:36 2015: C<Module> L<URI|URI>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.67>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:14:29 2015: C<Module> L<HTTP::Message|HTTP::Message>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.06>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:15:26 2015: C<Module> L<HTML::Tagset|HTML::Tagset>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 3.20>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:17:01 2015: C<Module> L<HTML::Parser|HTML::Parser>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 3.71>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:17:51 2015: C<Module> L<WWW::RobotRules|WWW::RobotRules>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:18:46 2015: C<Module> L<HTTP::Negotiate|HTTP::Negotiate>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.01>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:19:34 2015: C<Module> L<Net::HTTP|Net::HTTP>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.07>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:20:28 2015: C<Module> L<Mozilla::CA|Mozilla::CA>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 20141217>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:21:25 2015: C<Module> L<HTTP::Daemon|HTTP::Daemon>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.01>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:22:20 2015: C<Module> L<HTTP::Cookies|HTTP::Cookies>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.01>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Sat Apr 25 15:23:47 2015: C<Module> L<LWP|LWP>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.13>
+
+=item *
+
+C<EXE_FILES: bin/lwp-request bin/lwp-mirror bin/lwp-download bin/lwp-dump>
+
+=back
+
+=head2 Sat Apr 25 20:57:38 2015: C<Module> L<Tk|Tk>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 804.033>
+
+=item *
+
+C<EXE_FILES: ptksh ptked gedi>
+
+=back
+
+=head2 Sat Apr 25 21:06:53 2015: C<Module> L<Tk::DirSelect|Tk::DirSelect>
+
+=over 4
+
+=item *
+
+C<installed into: c:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.12>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
diff --git a/Master/tlpkg/tlperl/lib/re.pm b/Master/tlpkg/tlperl/lib/re.pm
index 84b701154d2..ea7e3d021ad 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.23";
+our $VERSION = "0.26";
our @ISA = qw(Exporter);
our @EXPORT_OK = ('regmust',
qw(is_regexp regexp_pattern
@@ -570,7 +570,7 @@ results in
Because the C<here> is before the C<.*> in the pattern, its position
can be determined exactly. That's not true, however, for the C<there>;
it could appear at any point after where the anchored string appeared.
-Perl uses both for its optimisations, prefering the longer, or, if they are
+Perl uses both for its optimisations, preferring the longer, or, if they are
equal, the floating.
B<NOTE:> This may not necessarily be the definitive longest anchored and
diff --git a/Master/tlpkg/tlperl/lib/strict.pm b/Master/tlpkg/tlperl/lib/strict.pm
index 63a89dd8f4e..8eed8bc3f7b 100644
--- a/Master/tlpkg/tlperl/lib/strict.pm
+++ b/Master/tlpkg/tlperl/lib/strict.pm
@@ -1,6 +1,6 @@
package strict;
-$strict::VERSION = "1.07";
+$strict::VERSION = "1.08";
# Verify that we're called correctly so that strictures will work.
unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
@@ -129,9 +129,9 @@ is a simple identifier (no colons) and that it appears in curly braces or
on the left hand side of the C<< => >> symbol.
use strict 'subs';
- $SIG{PIPE} = Plumber; # blows up
- $SIG{PIPE} = "Plumber"; # just fine: quoted string is always ok
- $SIG{PIPE} = \&Plumber; # preferred form
+ $SIG{PIPE} = Plumber; # blows up
+ $SIG{PIPE} = "Plumber"; # fine: quoted string is always ok
+ $SIG{PIPE} = \&Plumber; # preferred form
=back
diff --git a/Master/tlpkg/tlperl/lib/subs.pm b/Master/tlpkg/tlperl/lib/subs.pm
index 06c55e1359e..10d6e023f46 100644
--- a/Master/tlpkg/tlperl/lib/subs.pm
+++ b/Master/tlpkg/tlperl/lib/subs.pm
@@ -1,6 +1,6 @@
package subs;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
=head1 NAME
@@ -32,7 +32,7 @@ sub import {
my $callpack = caller;
my $pack = shift;
my @imports = @_;
- foreach $sym (@imports) {
+ foreach my $sym (@imports) {
*{"${callpack}::$sym"} = \&{"${callpack}::$sym"};
}
};
diff --git a/Master/tlpkg/tlperl/lib/threads.pm b/Master/tlpkg/tlperl/lib/threads.pm
index 3c558865b53..fcefbcc1fb0 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.86';
+our $VERSION = '1.93';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -134,7 +134,17 @@ threads - Perl interpreter-based threads
=head1 VERSION
-This document describes threads version 1.86
+This document describes threads version 1.92
+
+=head1 WARNING
+
+The "interpreter-based threads" provided by Perl are not the fast, lightweight
+system for multitasking that one might expect or hope for. Threads are
+implemented in a way that make them easy to misuse. Few people know how to
+use them correctly or will be able to provide help.
+
+The use of interpreter-based threads in perl is officially
+L<discouraged|perlpolicy/discouraged>.
=head1 SYNOPSIS
@@ -424,11 +434,12 @@ C<$@> associated with the thread's execution status in its C<eval> context.
=item $thr->_handle()
-This I<private> method returns the memory location of the internal thread
-structure associated with a threads object. For Win32, this is a pointer to
-the C<HANDLE> value returned by C<CreateThread> (i.e., C<HANDLE *>); for other
-platforms, it is a pointer to the C<pthread_t> structure used in the
-C<pthread_create> call (i.e., C<pthread_t *>).
+This I<private> method returns a pointer (i.e., the memory location expressed
+as an unsigned integer) to the internal thread structure associated with a
+threads object. For Win32, this is a pointer to the C<HANDLE> value returned
+by C<CreateThread> (i.e., C<HANDLE *>); for other platforms, it is a pointer
+to the C<pthread_t> structure used in the C<pthread_create> call (i.e.,
+C<pthread_t *>).
This method is of no use for general Perl threads programming. Its intent is
to provide other (XS-based) thread modules with the capability to access, and
@@ -785,7 +796,7 @@ current operation has completed. For instance, if the thread is I<stuck> on
an I/O call, sending it a signal will not cause the I/O call to be interrupted
such that the signal is acted up immediately.
-Sending a signal to a terminated thread is ignored.
+Sending a signal to a terminated/finished thread is ignored.
=head1 WARNINGS
@@ -841,7 +852,7 @@ C<useithreads> configuration option.
Having threads support requires all of Perl and all of the XS modules in the
Perl installation to be rebuilt; it is not just a question of adding the
L<threads> module (i.e., threaded and non-threaded Perls are binary
-incompatible.)
+incompatible).
=item Cannot change stack size of an existing thread
@@ -951,7 +962,7 @@ alarms in threads, set up a signal handler in the main thread, and then use
L</"THREAD SIGNALLING"> to relay the signal to the thread:
# Create thread with a task that may time out
- my $thr->create(sub {
+ my $thr = threads->create(sub {
threads->yield();
eval {
$SIG{ALRM} = sub { die("Timeout\n"); };
@@ -1006,7 +1017,7 @@ the C<-E<gt>kill()> signalling method cannot be used.
=item Returning closures from threads
-Returning closures from threads should not be relied upon. Depending of the
+Returning closures from threads should not be relied upon. Depending on the
Perl version and the application code, results may range from success, to
(apparently harmless) warnings of leaked scalar, or all the way up to crashing
of the Perl interpreter.
diff --git a/Master/tlpkg/tlperl/lib/threads/shared.pm b/Master/tlpkg/tlperl/lib/threads/shared.pm
index ecbc1fd1db8..bad2c412530 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.43';
+our $VERSION = '1.46'; # Please update the pod, too.
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -195,7 +195,7 @@ threads::shared - Perl extension for sharing data structures between threads
=head1 VERSION
-This document describes threads::shared version 1.43
+This document describes threads::shared version 1.46
=head1 SYNOPSIS
@@ -336,7 +336,7 @@ then the C<undef> substitution will be performed silently.
C<is_shared> checks if the specified variable is shared or not. If shared,
returns the variable's internal ID (similar to
-L<refaddr()|Scalar::Util/"refaddr EXPR">). Otherwise, returns C<undef>.
+C<refaddr()> (see L<Scalar::Util>). Otherwise, returns C<undef>.
if (is_shared($var)) {
print("\$var is shared\n");
@@ -406,7 +406,8 @@ the variable, and blocks until another thread does a C<cond_signal> or
C<cond_broadcast> for that same locked variable. The variable that
C<cond_wait> blocked on is re-locked after the C<cond_wait> is satisfied. If
there are multiple threads C<cond_wait>ing on the same variable, all but one
-will re-block waiting to reacquire the lock on the variable. (So if you're only
+will re-block waiting to reacquire the
+lock on the variable. (So if you're only
using C<cond_wait> for synchronization, give up the lock as soon as possible).
The two actions of unlocking the variable and entering the blocked wait state
are atomic, the two actions of exiting from the blocked wait state and
@@ -454,16 +455,19 @@ be recalculated with each pass:
=item cond_signal VARIABLE
The C<cond_signal> function takes a B<locked> variable as a parameter and
-unblocks one thread that's C<cond_wait>ing on that variable. If more than one
+unblocks one thread that's C<cond_wait>ing
+on that variable. If more than one
thread is blocked in a C<cond_wait> on that variable, only one (and which one
is indeterminate) will be unblocked.
If there are no threads blocked in a C<cond_wait> on the variable, the signal
-is discarded. By always locking before signaling, you can (with care), avoid
+is discarded. By always locking before
+signaling, you can (with care), avoid
signaling before another thread has entered cond_wait().
C<cond_signal> will normally generate a warning if you attempt to use it on an
-unlocked variable. On the rare occasions where doing this may be sensible, you
+unlocked variable. On the rare occasions
+where doing this may be sensible, you
can suppress the warning with:
{ no warnings 'threads'; cond_signal($foo); }
@@ -521,6 +525,18 @@ If you want access to threads, you must C<use threads> before you
C<use threads::shared>. L<threads> will emit a warning if you use it after
L<threads::shared>.
+=head1 WARNINGS
+
+=over 4
+
+=item cond_broadcast() called on unlocked variable
+
+=item cond_signal() called on unlocked variable
+
+See L</"cond_signal VARIABLE">, above.
+
+=back
+
=head1 BUGS AND LIMITATIONS
When C<share> is used on arrays, hashes, array refs or hash refs, any data
@@ -568,7 +584,7 @@ the error "lock can only be used on shared values" to occur when you attempt
to C<< lock($hashref->{key}) >> or C<< lock($arrayref->[idx]) >> in another
thread.
-Using L<refaddr()|Scalar::Util/"refaddr EXPR">) is unreliable for testing
+Using C<refaddr()> is unreliable for testing
whether or not two shared references are equivalent (e.g., when testing for
circular references). Use L<is_shared()|/"is_shared VARIABLE">, instead:
@@ -607,8 +623,8 @@ Either of the following will work instead:
...
}
-This module supports dual-valued variables created using L<dualvar() from
-Scalar::Util|Scalar::Util/"dualvar NUM, STRING">). However, while C<$!> acts
+This module supports dual-valued variables created using C<dualvar()> from
+L<Scalar::Util>. However, while C<$!> acts
like a dualvar, it is implemented as a tied SV. To propagate its value, use
the follow construct, if needed:
diff --git a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
index 6a06ab14451..d45ab0cff2b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
@@ -1,5 +1,5 @@
-# Blocks-6.2.0.txt
-# Date: 2012-05-14, 22:42:00 GMT [KW, LI]
+# Blocks-6.3.0.txt
+# Date: 2012-12-02, 09:45:00 GMT [KW, LI]
#
# Unicode Character Database
# Copyright (c) 1991-2012 Unicode, Inc.
diff --git a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
index aeec5b009d5..584523a2e91 100644
--- a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,178 +17,178 @@ $utf8::SwashInfo{'ToCombiningClass'}{'format'} = 'i'; # integer
$utf8::SwashInfo{'ToCombiningClass'}{'missing'} = '0';
return <<'END';
-0300 0314 230
-0315 232
-0316 0319 220
-031A 232
-031B 216
-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
-034A 034C 230
-034D 034E 220
-0350 0352 230
-0353 0356 220
-0357 230
-0358 232
-0359 035A 220
-035B 230
-035C 233
-035D 035E 234
-035F 233
-0360 0361 234
-0362 233
-0363 036F 230
-0483 0487 230
-0591 220
-0592 0595 230
-0596 220
-0597 0599 230
-059A 222
-059B 220
-059C 05A1 230
-05A2 05A7 220
-05A8 05A9 230
-05AA 220
-05AB 05AC 230
-05AD 222
-05AE 228
-05AF 230
-05B0 10
-05B1 11
-05B2 12
-05B3 13
-05B4 14
-05B5 15
-05B6 16
-05B7 17
-05B8 18
-05B9 05BA 19
-05BB 20
-05BC 21
-05BD 22
-05BF 23
-05C1 24
-05C2 25
-05C4 230
-05C5 220
-05C7 18
-0610 0617 230
-0618 30
-0619 31
-061A 32
-064B 27
-064C 28
-064D 29
-064E 30
-064F 31
-0650 32
-0651 33
-0652 34
-0653 0654 230
-0655 0656 220
-0657 065B 230
-065C 220
-065D 065E 230
-065F 220
-0670 35
-06D6 06DC 230
-06DF 06E2 230
-06E3 220
-06E4 230
-06E7 06E8 230
-06EA 220
-06EB 06EC 230
-06ED 220
-0711 36
-0730 230
-0731 220
-0732 0733 230
-0734 220
-0735 0736 230
-0737 0739 220
-073A 230
-073B 073C 220
-073D 230
-073E 220
-073F 0741 230
-0742 220
-0743 230
-0744 220
-0745 230
-0746 220
-0747 230
-0748 220
-0749 074A 230
-07EB 07F1 230
-07F2 220
-07F3 230
-0816 0819 230
-081B 0823 230
-0825 0827 230
-0829 082D 230
-0859 085B 220
-08E4 08E5 230
-08E6 220
-08E7 08E8 230
-08E9 220
-08EA 08EC 230
-08ED 08EF 220
-08F0 27
-08F1 28
-08F2 29
-08F3 08F5 230
-08F6 220
-08F7 08F8 230
-08F9 08FA 220
-08FB 08FE 230
-093C 7
-094D 9
-0951 230
-0952 220
-0953 0954 230
-09BC 7
-09CD 9
-0A3C 7
-0A4D 9
-0ABC 7
-0ACD 9
-0B3C 7
-0B4D 9
-0BCD 9
-0C4D 9
-0C55 84
-0C56 91
-0CBC 7
-0CCD 9
-0D4D 9
-0DCA 9
-0E38 0E39 103
-0E3A 9
-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
-0F80 130
-0F82 0F83 230
-0F84 9
-0F86 0F87 230
-0FC6 220
+300 314 230
+315 232
+316 319 220
+31A 232
+31B 216
+31C 320 220
+321 322 202
+323 326 220
+327 328 202
+329 333 220
+334 338 1
+339 33C 220
+33D 344 230
+345 240
+346 230
+347 349 220
+34A 34C 230
+34D 34E 220
+350 352 230
+353 356 220
+357 230
+358 232
+359 35A 220
+35B 230
+35C 233
+35D 35E 234
+35F 233
+360 361 234
+362 233
+363 36F 230
+483 487 230
+591 220
+592 595 230
+596 220
+597 599 230
+59A 222
+59B 220
+59C 5A1 230
+5A2 5A7 220
+5A8 5A9 230
+5AA 220
+5AB 5AC 230
+5AD 222
+5AE 228
+5AF 230
+5B0 10
+5B1 11
+5B2 12
+5B3 13
+5B4 14
+5B5 15
+5B6 16
+5B7 17
+5B8 18
+5B9 5BA 19
+5BB 20
+5BC 21
+5BD 22
+5BF 23
+5C1 24
+5C2 25
+5C4 230
+5C5 220
+5C7 18
+610 617 230
+618 30
+619 31
+61A 32
+64B 27
+64C 28
+64D 29
+64E 30
+64F 31
+650 32
+651 33
+652 34
+653 654 230
+655 656 220
+657 65B 230
+65C 220
+65D 65E 230
+65F 220
+670 35
+6D6 6DC 230
+6DF 6E2 230
+6E3 220
+6E4 230
+6E7 6E8 230
+6EA 220
+6EB 6EC 230
+6ED 220
+711 36
+730 230
+731 220
+732 733 230
+734 220
+735 736 230
+737 739 220
+73A 230
+73B 73C 220
+73D 230
+73E 220
+73F 741 230
+742 220
+743 230
+744 220
+745 230
+746 220
+747 230
+748 220
+749 74A 230
+7EB 7F1 230
+7F2 220
+7F3 230
+816 819 230
+81B 823 230
+825 827 230
+829 82D 230
+859 85B 220
+8E4 8E5 230
+8E6 220
+8E7 8E8 230
+8E9 220
+8EA 8EC 230
+8ED 8EF 220
+8F0 27
+8F1 28
+8F2 29
+8F3 8F5 230
+8F6 220
+8F7 8F8 230
+8F9 8FA 220
+8FB 8FE 230
+93C 7
+94D 9
+951 230
+952 220
+953 954 230
+9BC 7
+9CD 9
+A3C 7
+A4D 9
+ABC 7
+ACD 9
+B3C 7
+B4D 9
+BCD 9
+C4D 9
+C55 84
+C56 91
+CBC 7
+CCD 9
+D4D 9
+DCA 9
+E38 E39 103
+E3A 9
+E48 E4B 107
+EB8 EB9 118
+EC8 ECB 122
+F18 F19 220
+F35 220
+F37 220
+F39 216
+F71 129
+F72 130
+F74 132
+F7A F7D 130
+F80 130
+F82 F83 230
+F84 9
+F86 F87 230
+FC6 220
1037 7
1039 103A 9
108D 220
diff --git a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
index 7791e4ad357..cad0ff0fe31 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
@@ -1,494 +1,495 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0 <noBreak> 0020
-00A8 <compat> 0020 0308
-00AA <super> 0061
-00AF <compat> 0020 0304
-00B2 <super> 0032
-00B3 <super> 0033
-00B4 <compat> 0020 0301
-00B5 <compat> 03BC
-00B8 <compat> 0020 0327
-00B9 <super> 0031
-00BA <super> 006F
-00BC <fraction> 0031 2044 0034
-00BD <fraction> 0031 2044 0032
-00BE <fraction> 0033 2044 0034
-00C0 0041 0300
-00C1 0041 0301
-00C2 0041 0302
-00C3 0041 0303
-00C4 0041 0308
-00C5 0041 030A
-00C7 0043 0327
-00C8 0045 0300
-00C9 0045 0301
-00CA 0045 0302
-00CB 0045 0308
-00CC 0049 0300
-00CD 0049 0301
-00CE 0049 0302
-00CF 0049 0308
-00D1 004E 0303
-00D2 004F 0300
-00D3 004F 0301
-00D4 004F 0302
-00D5 004F 0303
-00D6 004F 0308
-00D9 0055 0300
-00DA 0055 0301
-00DB 0055 0302
-00DC 0055 0308
-00DD 0059 0301
-00E0 0061 0300
-00E1 0061 0301
-00E2 0061 0302
-00E3 0061 0303
-00E4 0061 0308
-00E5 0061 030A
-00E7 0063 0327
-00E8 0065 0300
-00E9 0065 0301
-00EA 0065 0302
-00EB 0065 0308
-00EC 0069 0300
-00ED 0069 0301
-00EE 0069 0302
-00EF 0069 0308
-00F1 006E 0303
-00F2 006F 0300
-00F3 006F 0301
-00F4 006F 0302
-00F5 006F 0303
-00F6 006F 0308
-00F9 0075 0300
-00FA 0075 0301
-00FB 0075 0302
-00FC 0075 0308
-00FD 0079 0301
-00FF 0079 0308
-0100 0041 0304
-0101 0061 0304
-0102 0041 0306
-0103 0061 0306
-0104 0041 0328
-0105 0061 0328
-0106 0043 0301
-0107 0063 0301
-0108 0043 0302
-0109 0063 0302
-010A 0043 0307
-010B 0063 0307
-010C 0043 030C
-010D 0063 030C
-010E 0044 030C
-010F 0064 030C
-0112 0045 0304
-0113 0065 0304
-0114 0045 0306
-0115 0065 0306
-0116 0045 0307
-0117 0065 0307
-0118 0045 0328
-0119 0065 0328
-011A 0045 030C
-011B 0065 030C
-011C 0047 0302
-011D 0067 0302
-011E 0047 0306
-011F 0067 0306
-0120 0047 0307
-0121 0067 0307
-0122 0047 0327
-0123 0067 0327
-0124 0048 0302
-0125 0068 0302
-0128 0049 0303
-0129 0069 0303
-012A 0049 0304
-012B 0069 0304
-012C 0049 0306
-012D 0069 0306
-012E 0049 0328
-012F 0069 0328
-0130 0049 0307
-0132 <compat> 0049 004A
-0133 <compat> 0069 006A
-0134 004A 0302
-0135 006A 0302
-0136 004B 0327
-0137 006B 0327
-0139 004C 0301
-013A 006C 0301
-013B 004C 0327
-013C 006C 0327
-013D 004C 030C
-013E 006C 030C
-013F <compat> 004C 00B7
-0140 <compat> 006C 00B7
-0143 004E 0301
-0144 006E 0301
-0145 004E 0327
-0146 006E 0327
-0147 004E 030C
-0148 006E 030C
-0149 <compat> 02BC 006E
-014C 004F 0304
-014D 006F 0304
-014E 004F 0306
-014F 006F 0306
-0150 004F 030B
-0151 006F 030B
-0154 0052 0301
-0155 0072 0301
-0156 0052 0327
-0157 0072 0327
-0158 0052 030C
-0159 0072 030C
-015A 0053 0301
-015B 0073 0301
-015C 0053 0302
-015D 0073 0302
-015E 0053 0327
-015F 0073 0327
-0160 0053 030C
-0161 0073 030C
-0162 0054 0327
-0163 0074 0327
-0164 0054 030C
-0165 0074 030C
-0168 0055 0303
-0169 0075 0303
-016A 0055 0304
-016B 0075 0304
-016C 0055 0306
-016D 0075 0306
-016E 0055 030A
-016F 0075 030A
-0170 0055 030B
-0171 0075 030B
-0172 0055 0328
-0173 0075 0328
-0174 0057 0302
-0175 0077 0302
-0176 0059 0302
-0177 0079 0302
-0178 0059 0308
-0179 005A 0301
-017A 007A 0301
-017B 005A 0307
-017C 007A 0307
-017D 005A 030C
-017E 007A 030C
-017F <compat> 0073
-01A0 004F 031B
-01A1 006F 031B
-01AF 0055 031B
-01B0 0075 031B
-01C4 <compat> 0044 017D
-01C5 <compat> 0044 017E
-01C6 <compat> 0064 017E
-01C7 <compat> 004C 004A
-01C8 <compat> 004C 006A
-01C9 <compat> 006C 006A
-01CA <compat> 004E 004A
-01CB <compat> 004E 006A
-01CC <compat> 006E 006A
-01CD 0041 030C
-01CE 0061 030C
-01CF 0049 030C
-01D0 0069 030C
-01D1 004F 030C
-01D2 006F 030C
-01D3 0055 030C
-01D4 0075 030C
-01D5 00DC 0304
-01D6 00FC 0304
-01D7 00DC 0301
-01D8 00FC 0301
-01D9 00DC 030C
-01DA 00FC 030C
-01DB 00DC 0300
-01DC 00FC 0300
-01DE 00C4 0304
-01DF 00E4 0304
-01E0 0226 0304
-01E1 0227 0304
-01E2 00C6 0304
-01E3 00E6 0304
-01E6 0047 030C
-01E7 0067 030C
-01E8 004B 030C
-01E9 006B 030C
-01EA 004F 0328
-01EB 006F 0328
-01EC 01EA 0304
-01ED 01EB 0304
-01EE 01B7 030C
-01EF 0292 030C
-01F0 006A 030C
-01F1 <compat> 0044 005A
-01F2 <compat> 0044 007A
-01F3 <compat> 0064 007A
-01F4 0047 0301
-01F5 0067 0301
-01F8 004E 0300
-01F9 006E 0300
-01FA 00C5 0301
-01FB 00E5 0301
-01FC 00C6 0301
-01FD 00E6 0301
-01FE 00D8 0301
-01FF 00F8 0301
-0200 0041 030F
-0201 0061 030F
-0202 0041 0311
-0203 0061 0311
-0204 0045 030F
-0205 0065 030F
-0206 0045 0311
-0207 0065 0311
-0208 0049 030F
-0209 0069 030F
-020A 0049 0311
-020B 0069 0311
-020C 004F 030F
-020D 006F 030F
-020E 004F 0311
-020F 006F 0311
-0210 0052 030F
-0211 0072 030F
-0212 0052 0311
-0213 0072 0311
-0214 0055 030F
-0215 0075 030F
-0216 0055 0311
-0217 0075 0311
-0218 0053 0326
-0219 0073 0326
-021A 0054 0326
-021B 0074 0326
-021E 0048 030C
-021F 0068 030C
-0226 0041 0307
-0227 0061 0307
-0228 0045 0327
-0229 0065 0327
-022A 00D6 0304
-022B 00F6 0304
-022C 00D5 0304
-022D 00F5 0304
-022E 004F 0307
-022F 006F 0307
-0230 022E 0304
-0231 022F 0304
-0232 0059 0304
-0233 0079 0304
-02B0 <super> 0068
-02B1 <super> 0266
-02B2 <super> 006A
-02B3 <super> 0072
-02B4 <super> 0279
-02B5 <super> 027B
-02B6 <super> 0281
-02B7 <super> 0077
-02B8 <super> 0079
-02D8 <compat> 0020 0306
-02D9 <compat> 0020 0307
-02DA <compat> 0020 030A
-02DB <compat> 0020 0328
-02DC <compat> 0020 0303
-02DD <compat> 0020 030B
-02E0 <super> 0263
-02E1 <super> 006C
-02E2 <super> 0073
-02E3 <super> 0078
-02E4 <super> 0295
-0340 0300
-0341 0301
-0343 0313
-0344 0308 0301
-0374 02B9
-037A <compat> 0020 0345
-037E 003B
-0384 <compat> 0020 0301
-0385 00A8 0301
-0386 0391 0301
-0387 00B7
-0388 0395 0301
-0389 0397 0301
-038A 0399 0301
-038C 039F 0301
-038E 03A5 0301
-038F 03A9 0301
-0390 03CA 0301
-03AA 0399 0308
-03AB 03A5 0308
-03AC 03B1 0301
-03AD 03B5 0301
-03AE 03B7 0301
-03AF 03B9 0301
-03B0 03CB 0301
-03CA 03B9 0308
-03CB 03C5 0308
-03CC 03BF 0301
-03CD 03C5 0301
-03CE 03C9 0301
-03D0 <compat> 03B2
-03D1 <compat> 03B8
-03D2 <compat> 03A5
-03D3 03D2 0301
-03D4 03D2 0308
-03D5 <compat> 03C6
-03D6 <compat> 03C0
-03F0 <compat> 03BA
-03F1 <compat> 03C1
-03F2 <compat> 03C2
-03F4 <compat> 0398
-03F5 <compat> 03B5
-03F9 <compat> 03A3
-0400 0415 0300
-0401 0415 0308
-0403 0413 0301
-0407 0406 0308
-040C 041A 0301
-040D 0418 0300
-040E 0423 0306
-0419 0418 0306
-0439 0438 0306
-0450 0435 0300
-0451 0435 0308
-0453 0433 0301
-0457 0456 0308
-045C 043A 0301
-045D 0438 0300
-045E 0443 0306
-0476 0474 030F
-0477 0475 030F
-04C1 0416 0306
-04C2 0436 0306
-04D0 0410 0306
-04D1 0430 0306
-04D2 0410 0308
-04D3 0430 0308
-04D6 0415 0306
-04D7 0435 0306
-04DA 04D8 0308
-04DB 04D9 0308
-04DC 0416 0308
-04DD 0436 0308
-04DE 0417 0308
-04DF 0437 0308
-04E2 0418 0304
-04E3 0438 0304
-04E4 0418 0308
-04E5 0438 0308
-04E6 041E 0308
-04E7 043E 0308
-04EA 04E8 0308
-04EB 04E9 0308
-04EC 042D 0308
-04ED 044D 0308
-04EE 0423 0304
-04EF 0443 0304
-04F0 0423 0308
-04F1 0443 0308
-04F2 0423 030B
-04F3 0443 030B
-04F4 0427 0308
-04F5 0447 0308
-04F8 042B 0308
-04F9 044B 0308
-0587 <compat> 0565 0582
-0622 0627 0653
-0623 0627 0654
-0624 0648 0654
-0625 0627 0655
-0626 064A 0654
-0675 <compat> 0627 0674
-0676 <compat> 0648 0674
-0677 <compat> 06C7 0674
-0678 <compat> 064A 0674
-06C0 06D5 0654
-06C2 06C1 0654
-06D3 06D2 0654
-0929 0928 093C
-0931 0930 093C
-0934 0933 093C
-0958 0915 093C
-0959 0916 093C
-095A 0917 093C
-095B 091C 093C
-095C 0921 093C
-095D 0922 093C
-095E 092B 093C
-095F 092F 093C
-09CB 09C7 09BE
-09CC 09C7 09D7
-09DC 09A1 09BC
-09DD 09A2 09BC
-09DF 09AF 09BC
-0A33 0A32 0A3C
-0A36 0A38 0A3C
-0A59 0A16 0A3C
-0A5A 0A17 0A3C
-0A5B 0A1C 0A3C
-0A5E 0A2B 0A3C
-0B48 0B47 0B56
-0B4B 0B47 0B3E
-0B4C 0B47 0B57
-0B5C 0B21 0B3C
-0B5D 0B22 0B3C
-0B94 0B92 0BD7
-0BCA 0BC6 0BBE
-0BCB 0BC7 0BBE
-0BCC 0BC6 0BD7
-0C48 0C46 0C56
-0CC0 0CBF 0CD5
-0CC7 0CC6 0CD5
-0CC8 0CC6 0CD6
-0CCA 0CC6 0CC2
-0CCB 0CCA 0CD5
-0D4A 0D46 0D3E
-0D4B 0D47 0D3E
-0D4C 0D46 0D57
-0DDA 0DD9 0DCA
-0DDC 0DD9 0DCF
-0DDD 0DDC 0DCA
-0DDE 0DD9 0DDF
-0E33 <compat> 0E4D 0E32
-0EB3 <compat> 0ECD 0EB2
-0EDC <compat> 0EAB 0E99
-0EDD <compat> 0EAB 0EA1
-0F0C <noBreak> 0F0B
-0F43 0F42 0FB7
-0F4D 0F4C 0FB7
-0F52 0F51 0FB7
-0F57 0F56 0FB7
-0F5C 0F5B 0FB7
-0F69 0F40 0FB5
-0F73 0F71 0F72
-0F75 0F71 0F74
-0F76 0FB2 0F80
-0F77 <compat> 0FB2 0F81
-0F78 0FB3 0F80
-0F79 <compat> 0FB3 0F81
-0F81 0F71 0F80
-0F93 0F92 0FB7
-0F9D 0F9C 0FB7
-0FA2 0FA1 0FB7
-0FA7 0FA6 0FB7
-0FAC 0FAB 0FB7
-0FB9 0F90 0FB5
+A0 <noBreak> 0020
+A8 <compat> 0020 0308
+AA <super> 0061
+AF <compat> 0020 0304
+B2 <super> 0032
+B3 <super> 0033
+B4 <compat> 0020 0301
+B5 <compat> 03BC
+B8 <compat> 0020 0327
+B9 <super> 0031
+BA <super> 006F
+BC <fraction> 0031 2044 0034
+BD <fraction> 0031 2044 0032
+BE <fraction> 0033 2044 0034
+C0 0041 0300
+C1 0041 0301
+C2 0041 0302
+C3 0041 0303
+C4 0041 0308
+C5 0041 030A
+C7 0043 0327
+C8 0045 0300
+C9 0045 0301
+CA 0045 0302
+CB 0045 0308
+CC 0049 0300
+CD 0049 0301
+CE 0049 0302
+CF 0049 0308
+D1 004E 0303
+D2 004F 0300
+D3 004F 0301
+D4 004F 0302
+D5 004F 0303
+D6 004F 0308
+D9 0055 0300
+DA 0055 0301
+DB 0055 0302
+DC 0055 0308
+DD 0059 0301
+E0 0061 0300
+E1 0061 0301
+E2 0061 0302
+E3 0061 0303
+E4 0061 0308
+E5 0061 030A
+E7 0063 0327
+E8 0065 0300
+E9 0065 0301
+EA 0065 0302
+EB 0065 0308
+EC 0069 0300
+ED 0069 0301
+EE 0069 0302
+EF 0069 0308
+F1 006E 0303
+F2 006F 0300
+F3 006F 0301
+F4 006F 0302
+F5 006F 0303
+F6 006F 0308
+F9 0075 0300
+FA 0075 0301
+FB 0075 0302
+FC 0075 0308
+FD 0079 0301
+FF 0079 0308
+100 0041 0304
+101 0061 0304
+102 0041 0306
+103 0061 0306
+104 0041 0328
+105 0061 0328
+106 0043 0301
+107 0063 0301
+108 0043 0302
+109 0063 0302
+10A 0043 0307
+10B 0063 0307
+10C 0043 030C
+10D 0063 030C
+10E 0044 030C
+10F 0064 030C
+112 0045 0304
+113 0065 0304
+114 0045 0306
+115 0065 0306
+116 0045 0307
+117 0065 0307
+118 0045 0328
+119 0065 0328
+11A 0045 030C
+11B 0065 030C
+11C 0047 0302
+11D 0067 0302
+11E 0047 0306
+11F 0067 0306
+120 0047 0307
+121 0067 0307
+122 0047 0327
+123 0067 0327
+124 0048 0302
+125 0068 0302
+128 0049 0303
+129 0069 0303
+12A 0049 0304
+12B 0069 0304
+12C 0049 0306
+12D 0069 0306
+12E 0049 0328
+12F 0069 0328
+130 0049 0307
+132 <compat> 0049 004A
+133 <compat> 0069 006A
+134 004A 0302
+135 006A 0302
+136 004B 0327
+137 006B 0327
+139 004C 0301
+13A 006C 0301
+13B 004C 0327
+13C 006C 0327
+13D 004C 030C
+13E 006C 030C
+13F <compat> 004C 00B7
+140 <compat> 006C 00B7
+143 004E 0301
+144 006E 0301
+145 004E 0327
+146 006E 0327
+147 004E 030C
+148 006E 030C
+149 <compat> 02BC 006E
+14C 004F 0304
+14D 006F 0304
+14E 004F 0306
+14F 006F 0306
+150 004F 030B
+151 006F 030B
+154 0052 0301
+155 0072 0301
+156 0052 0327
+157 0072 0327
+158 0052 030C
+159 0072 030C
+15A 0053 0301
+15B 0073 0301
+15C 0053 0302
+15D 0073 0302
+15E 0053 0327
+15F 0073 0327
+160 0053 030C
+161 0073 030C
+162 0054 0327
+163 0074 0327
+164 0054 030C
+165 0074 030C
+168 0055 0303
+169 0075 0303
+16A 0055 0304
+16B 0075 0304
+16C 0055 0306
+16D 0075 0306
+16E 0055 030A
+16F 0075 030A
+170 0055 030B
+171 0075 030B
+172 0055 0328
+173 0075 0328
+174 0057 0302
+175 0077 0302
+176 0059 0302
+177 0079 0302
+178 0059 0308
+179 005A 0301
+17A 007A 0301
+17B 005A 0307
+17C 007A 0307
+17D 005A 030C
+17E 007A 030C
+17F <compat> 0073
+1A0 004F 031B
+1A1 006F 031B
+1AF 0055 031B
+1B0 0075 031B
+1C4 <compat> 0044 017D
+1C5 <compat> 0044 017E
+1C6 <compat> 0064 017E
+1C7 <compat> 004C 004A
+1C8 <compat> 004C 006A
+1C9 <compat> 006C 006A
+1CA <compat> 004E 004A
+1CB <compat> 004E 006A
+1CC <compat> 006E 006A
+1CD 0041 030C
+1CE 0061 030C
+1CF 0049 030C
+1D0 0069 030C
+1D1 004F 030C
+1D2 006F 030C
+1D3 0055 030C
+1D4 0075 030C
+1D5 00DC 0304
+1D6 00FC 0304
+1D7 00DC 0301
+1D8 00FC 0301
+1D9 00DC 030C
+1DA 00FC 030C
+1DB 00DC 0300
+1DC 00FC 0300
+1DE 00C4 0304
+1DF 00E4 0304
+1E0 0226 0304
+1E1 0227 0304
+1E2 00C6 0304
+1E3 00E6 0304
+1E6 0047 030C
+1E7 0067 030C
+1E8 004B 030C
+1E9 006B 030C
+1EA 004F 0328
+1EB 006F 0328
+1EC 01EA 0304
+1ED 01EB 0304
+1EE 01B7 030C
+1EF 0292 030C
+1F0 006A 030C
+1F1 <compat> 0044 005A
+1F2 <compat> 0044 007A
+1F3 <compat> 0064 007A
+1F4 0047 0301
+1F5 0067 0301
+1F8 004E 0300
+1F9 006E 0300
+1FA 00C5 0301
+1FB 00E5 0301
+1FC 00C6 0301
+1FD 00E6 0301
+1FE 00D8 0301
+1FF 00F8 0301
+200 0041 030F
+201 0061 030F
+202 0041 0311
+203 0061 0311
+204 0045 030F
+205 0065 030F
+206 0045 0311
+207 0065 0311
+208 0049 030F
+209 0069 030F
+20A 0049 0311
+20B 0069 0311
+20C 004F 030F
+20D 006F 030F
+20E 004F 0311
+20F 006F 0311
+210 0052 030F
+211 0072 030F
+212 0052 0311
+213 0072 0311
+214 0055 030F
+215 0075 030F
+216 0055 0311
+217 0075 0311
+218 0053 0326
+219 0073 0326
+21A 0054 0326
+21B 0074 0326
+21E 0048 030C
+21F 0068 030C
+226 0041 0307
+227 0061 0307
+228 0045 0327
+229 0065 0327
+22A 00D6 0304
+22B 00F6 0304
+22C 00D5 0304
+22D 00F5 0304
+22E 004F 0307
+22F 006F 0307
+230 022E 0304
+231 022F 0304
+232 0059 0304
+233 0079 0304
+2B0 <super> 0068
+2B1 <super> 0266
+2B2 <super> 006A
+2B3 <super> 0072
+2B4 <super> 0279
+2B5 <super> 027B
+2B6 <super> 0281
+2B7 <super> 0077
+2B8 <super> 0079
+2D8 <compat> 0020 0306
+2D9 <compat> 0020 0307
+2DA <compat> 0020 030A
+2DB <compat> 0020 0328
+2DC <compat> 0020 0303
+2DD <compat> 0020 030B
+2E0 <super> 0263
+2E1 <super> 006C
+2E2 <super> 0073
+2E3 <super> 0078
+2E4 <super> 0295
+340 0300
+341 0301
+343 0313
+344 0308 0301
+374 02B9
+37A <compat> 0020 0345
+37E 003B
+384 <compat> 0020 0301
+385 00A8 0301
+386 0391 0301
+387 00B7
+388 0395 0301
+389 0397 0301
+38A 0399 0301
+38C 039F 0301
+38E 03A5 0301
+38F 03A9 0301
+390 03CA 0301
+3AA 0399 0308
+3AB 03A5 0308
+3AC 03B1 0301
+3AD 03B5 0301
+3AE 03B7 0301
+3AF 03B9 0301
+3B0 03CB 0301
+3CA 03B9 0308
+3CB 03C5 0308
+3CC 03BF 0301
+3CD 03C5 0301
+3CE 03C9 0301
+3D0 <compat> 03B2
+3D1 <compat> 03B8
+3D2 <compat> 03A5
+3D3 03D2 0301
+3D4 03D2 0308
+3D5 <compat> 03C6
+3D6 <compat> 03C0
+3F0 <compat> 03BA
+3F1 <compat> 03C1
+3F2 <compat> 03C2
+3F4 <compat> 0398
+3F5 <compat> 03B5
+3F9 <compat> 03A3
+400 0415 0300
+401 0415 0308
+403 0413 0301
+407 0406 0308
+40C 041A 0301
+40D 0418 0300
+40E 0423 0306
+419 0418 0306
+439 0438 0306
+450 0435 0300
+451 0435 0308
+453 0433 0301
+457 0456 0308
+45C 043A 0301
+45D 0438 0300
+45E 0443 0306
+476 0474 030F
+477 0475 030F
+4C1 0416 0306
+4C2 0436 0306
+4D0 0410 0306
+4D1 0430 0306
+4D2 0410 0308
+4D3 0430 0308
+4D6 0415 0306
+4D7 0435 0306
+4DA 04D8 0308
+4DB 04D9 0308
+4DC 0416 0308
+4DD 0436 0308
+4DE 0417 0308
+4DF 0437 0308
+4E2 0418 0304
+4E3 0438 0304
+4E4 0418 0308
+4E5 0438 0308
+4E6 041E 0308
+4E7 043E 0308
+4EA 04E8 0308
+4EB 04E9 0308
+4EC 042D 0308
+4ED 044D 0308
+4EE 0423 0304
+4EF 0443 0304
+4F0 0423 0308
+4F1 0443 0308
+4F2 0423 030B
+4F3 0443 030B
+4F4 0427 0308
+4F5 0447 0308
+4F8 042B 0308
+4F9 044B 0308
+587 <compat> 0565 0582
+622 0627 0653
+623 0627 0654
+624 0648 0654
+625 0627 0655
+626 064A 0654
+675 <compat> 0627 0674
+676 <compat> 0648 0674
+677 <compat> 06C7 0674
+678 <compat> 064A 0674
+6C0 06D5 0654
+6C2 06C1 0654
+6D3 06D2 0654
+929 0928 093C
+931 0930 093C
+934 0933 093C
+958 0915 093C
+959 0916 093C
+95A 0917 093C
+95B 091C 093C
+95C 0921 093C
+95D 0922 093C
+95E 092B 093C
+95F 092F 093C
+9CB 09C7 09BE
+9CC 09C7 09D7
+9DC 09A1 09BC
+9DD 09A2 09BC
+9DF 09AF 09BC
+A33 0A32 0A3C
+A36 0A38 0A3C
+A59 0A16 0A3C
+A5A 0A17 0A3C
+A5B 0A1C 0A3C
+A5E 0A2B 0A3C
+B48 0B47 0B56
+B4B 0B47 0B3E
+B4C 0B47 0B57
+B5C 0B21 0B3C
+B5D 0B22 0B3C
+B94 0B92 0BD7
+BCA 0BC6 0BBE
+BCB 0BC7 0BBE
+BCC 0BC6 0BD7
+C48 0C46 0C56
+CC0 0CBF 0CD5
+CC7 0CC6 0CD5
+CC8 0CC6 0CD6
+CCA 0CC6 0CC2
+CCB 0CCA 0CD5
+D4A 0D46 0D3E
+D4B 0D47 0D3E
+D4C 0D46 0D57
+DDA 0DD9 0DCA
+DDC 0DD9 0DCF
+DDD 0DDC 0DCA
+DDE 0DD9 0DDF
+E33 <compat> 0E4D 0E32
+EB3 <compat> 0ECD 0EB2
+EDC <compat> 0EAB 0E99
+EDD <compat> 0EAB 0EA1
+F0C <noBreak> 0F0B
+F43 0F42 0FB7
+F4D 0F4C 0FB7
+F52 0F51 0FB7
+F57 0F56 0FB7
+F5C 0F5B 0FB7
+F69 0F40 0FB5
+F73 0F71 0F72
+F75 0F71 0F74
+F76 0FB2 0F80
+F77 <compat> 0FB2 0F81
+F78 0FB3 0F80
+F79 <compat> 0FB3 0F81
+F81 0F71 0F80
+F93 0F92 0FB7
+F9D 0F9C 0FB7
+FA2 0FA1 0FB7
+FA7 0FA6 0FB7
+FAC 0FAB 0FB7
+FB9 0F90 0FB5
1026 1025 102E
10FC <super> 10DC
1B06 1B05 1B35
diff --git a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
index f6c1934f4c9..c1a197d7244 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
@@ -1,12 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# This file is for the use of utf8_heavy.pl and Unicode::UCD
@@ -25,8 +26,10 @@
'bidicontrol' => 'bidic',
'bidim' => 'bidim',
'bidimirrored' => 'bidim',
+'bidipairedbrackettype' => 'bpt',
'blk' => 'blk',
'block' => 'blk',
+'bpt' => 'bpt',
'canonicalcombiningclass' => 'ccc',
'cased' => 'cased',
'caseignorable' => 'ci',
@@ -149,7 +152,1885 @@
'xidstart' => 'xids',
);
-# Maps property, table to file for those using stricter matching
+# Gives the definitions (in the form of inversion lists) for those properties
+# whose definitions aren't kept in files
+@utf8::inline_definitions = (
+
+'V0',
+'V2
+12334
+12336',
+'V2
+119149
+119150',
+'V6
+1454
+1455
+6313
+6314
+12331
+12332',
+'V2
+12330
+12331',
+'V6
+861
+863
+864
+866
+7629
+7630',
+'V2
+837
+838',
+'V2
+12441
+12443',
+'V2
+7630
+7631',
+'V6
+801
+803
+807
+809
+7632
+7633',
+'V2
+1456
+1457',
+'V2
+1457
+1458',
+'V2
+1458
+1459',
+'V2
+1459
+1460',
+'V2
+1460
+1461',
+'V2
+1461
+1462',
+'V2
+1462
+1463',
+'V2
+1463
+1464',
+'V4
+1464
+1465
+1479
+1480',
+'V2
+1465
+1467',
+'V2
+1467
+1468',
+'V2
+1468
+1469',
+'V2
+1469
+1470',
+'V2
+1471
+1472',
+'V2
+1473
+1474',
+'V2
+1474
+1475',
+'V2
+64286
+64287',
+'V4
+1611
+1612
+2288
+2289',
+'V4
+1612
+1613
+2289
+2290',
+'V4
+1613
+1614
+2290
+2291',
+'V4
+1560
+1561
+1614
+1615',
+'V4
+1561
+1562
+1615
+1616',
+'V4
+1562
+1563
+1616
+1617',
+'V2
+1617
+1618',
+'V2
+1618
+1619',
+'V2
+1648
+1649',
+'V2
+1809
+1810',
+'V2
+3157
+3158',
+'V2
+3158
+3159',
+'V2
+3640
+3642',
+'V2
+3656
+3660',
+'V2
+3768
+3770',
+'V2
+3784
+3788',
+'V2
+3953
+3954',
+'V6
+3954
+3955
+3962
+3966
+3968
+3969',
+'V2
+3956
+3957',
+'V6
+48
+58
+65
+71
+97
+103',
+'V4
+4352
+4448
+43360
+43389',
+'V4
+4520
+4608
+55243
+55292',
+'V4
+4448
+4520
+55216
+55239',
+'V2
+13
+14',
+'V2
+10
+11',
+'V2
+127462
+127488',
+'V4
+12272
+12274
+12276
+12284',
+'V2
+12274
+12276',
+'V2
+8204
+8206',
+'V6
+11904
+11930
+11931
+12020
+12032
+12246',
+'V4
+133
+134
+8232
+8234',
+'V6
+6155
+6158
+65024
+65040
+917760
+918000',
+'V2
+34
+35',
+'V6
+11
+13
+133
+134
+8232
+8234',
+'V2
+39
+40',
+'V4
+8364
+8365
+65532
+65533',
+'V2
+8378
+8379',
+'V4
+1564
+1565
+8294
+8298',
+'V6
+9
+10
+11
+12
+31
+32',
+'V2
+8296
+8297',
+'V2
+8234
+8235',
+'V2
+8294
+8295',
+'V2
+8237
+8238',
+'V2
+8236
+8237',
+'V2
+8297
+8298',
+'V2
+8235
+8236',
+'V2
+8295
+8296',
+'V2
+8238
+8239',
+'V2
+65024
+65040',
+'V2
+19968
+40960',
+'V2
+12272
+12288',
+'V2
+3712
+3840',
+'V2
+1984
+2048',
+'V2
+9280
+9312',
+'V2
+57344
+63744',
+'V2
+42240
+42560',
+'V2
+43520
+43616',
+'V2
+4352
+4608',
+'V2
+42192
+42240',
+'V2
+93952
+94112',
+'V2
+69216
+69248',
+'V2
+917504
+917632',
+'V2
+3584
+3712',
+'V2
+5120
+5760',
+'V2
+0
+128',
+'V2
+42656
+42752',
+'V2
+7104
+7168',
+'V2
+5952
+5984',
+'V2
+880
+1024',
+'V2
+6016
+6144',
+'V2
+6400
+6480',
+'V2
+119040
+119296',
+'V2
+5760
+5792',
+'V2
+2816
+2944',
+'V2
+5792
+5888',
+'V2
+6480
+6528',
+'V2
+71296
+71376',
+'V2
+2944
+3072',
+'V2
+917760
+918000',
+'V2
+1536
+1792',
+'V2
+8592
+8704',
+'V2
+69632
+69760',
+'V2
+66208
+66272',
+'V2
+69888
+69968',
+'V2
+11392
+11520',
+'V2
+127024
+127136',
+'V2
+66352
+66384',
+'V2
+44032
+55216',
+'V2
+1424
+1536',
+'V2
+592
+688',
+'V2
+69760
+69840',
+'V2
+12688
+12704',
+'V2
+12032
+12256',
+'V2
+128
+256',
+'V2
+7168
+7248',
+'V2
+66176
+66208',
+'V2
+67872
+67904',
+'V2
+43312
+43360',
+'V2
+1792
+1872',
+'V2
+3072
+3200',
+'V2
+1920
+1984',
+'V2
+19904
+19968',
+'V2
+68352
+68416',
+'V2
+2432
+2560',
+'V2
+10240
+10496',
+'V2
+13312
+19904',
+'V2
+131072
+173792',
+'V2
+173824
+177984',
+'V2
+177984
+178208',
+'V2
+66560
+66640',
+'V2
+5920
+5952',
+'V2
+110592
+110848',
+'V2
+3200
+3328',
+'V2
+43264
+43312',
+'V2
+126976
+127024',
+'V2
+2112
+2144',
+'V2
+4096
+4256',
+'V2
+7248
+7296',
+'V2
+66688
+66736',
+'V2
+43072
+43136',
+'V2
+70016
+70112',
+'V2
+66640
+66688',
+'V2
+3456
+3584',
+'V2
+983040
+1048576',
+'V2
+1048576
+1114112',
+'V2
+5888
+5920',
+'V2
+6688
+6832',
+'V2
+43648
+43744',
+'V2
+3840
+4096',
+'V2
+6320
+6400',
+'V2
+1328
+1424',
+'V2
+6912
+7040',
+'V2
+92160
+92736',
+'V2
+12544
+12592',
+'V2
+6656
+6688',
+'V2
+5024
+5120',
+'V2
+1024
+1280',
+'V2
+9984
+10176',
+'V2
+4608
+4992',
+'V2
+4256
+4352',
+'V2
+7936
+8192',
+'V2
+2688
+2816',
+'V2
+2560
+2688',
+'V2
+12352
+12448',
+'V2
+43360
+43392',
+'V2
+55216
+55296',
+'V2
+43392
+43488',
+'V2
+12448
+12544',
+'V2
+66000
+66048',
+'V2
+65520
+65536',
+'V2
+5984
+6016',
+'V2
+11568
+11648',
+'V2
+66432
+66464',
+'V2
+7376
+7424',
+'V2
+64336
+65024',
+'V2
+65136
+65280',
+'V2
+1872
+1920',
+'V2
+13056
+13312',
+'V2
+73728
+74752',
+'V2
+128512
+128592',
+'V2
+65056
+65072',
+'V2
+256
+384',
+'V2
+384
+592',
+'V2
+11360
+11392',
+'V2
+42784
+43008',
+'V2
+3328
+3456',
+'V2
+6144
+6320',
+'V2
+6528
+6624',
+'V2
+66304
+66352',
+'V2
+68608
+68688',
+'V2
+2048
+2112',
+'V2
+7040
+7104',
+'V2
+128768
+128896',
+'V2
+2208
+2304',
+'V2
+126464
+126720',
+'V2
+9472
+9600',
+'V2
+12736
+12784',
+'V2
+12288
+12352',
+'V2
+12592
+12688',
+'V2
+2304
+2432',
+'V2
+11264
+11360',
+'V2
+68096
+68192',
+'V2
+11008
+11264',
+'V2
+66464
+66528',
+'V2
+67840
+67872',
+'V2
+43136
+43232',
+'V2
+65104
+65136',
+'V2
+10224
+10240',
+'V2
+10496
+10624',
+'V2
+42128
+42192',
+'V2
+12704
+12736',
+'V2
+119648
+119680',
+'V2
+1280
+1328',
+'V2
+12800
+13056',
+'V2
+11648
+11744',
+'V2
+4992
+5024',
+'V2
+11520
+11568',
+'V2
+12784
+12800',
+'V2
+43968
+44032',
+'V2
+9728
+9984',
+'V2
+43616
+43648',
+'V2
+8528
+8592',
+'V2
+7424
+7552',
+'V2
+8192
+8304',
+'V2
+69840
+69888',
+'V2
+8304
+8352',
+'V2
+43008
+43056',
+'V2
+119552
+119648',
+'V2
+40960
+42128',
+'V2
+64256
+64336',
+'V2
+11744
+11776',
+'V2
+42560
+42656',
+'V2
+768
+880',
+'V2
+43776
+43824',
+'V2
+6624
+6656',
+'V2
+119808
+120832',
+'V2
+127136
+127232',
+'V2
+7360
+7376',
+'V2
+65792
+65856',
+'V2
+9600
+9632',
+'V2
+43232
+43264',
+'V2
+56320
+57344',
+'V2
+8704
+8960',
+'V2
+8960
+9216',
+'V2
+65040
+65056',
+'V2
+65936
+66000',
+'V2
+118784
+119040',
+'V2
+65072
+65104',
+'V2
+11904
+12032',
+'V2
+55296
+56192',
+'V2
+43744
+43776',
+'V2
+7552
+7616',
+'V2
+11776
+11904',
+'V2
+9216
+9280',
+'V2
+8352
+8400',
+'V2
+7616
+7680',
+'V2
+9632
+9728',
+'V2
+67648
+67680',
+'V2
+68000
+68096',
+'V2
+127744
+128512',
+'V2
+688
+768',
+'V2
+68192
+68224',
+'V2
+128640
+128768',
+'V2
+74752
+74880',
+'V2
+67584
+67648',
+'V2
+9312
+9472',
+'V2
+65280
+65520',
+'V2
+56192
+56320',
+'V2
+43056
+43072',
+'V2
+65664
+65792',
+'V2
+65536
+65664',
+'V2
+10176
+10224',
+'V2
+10624
+10752',
+'V2
+10752
+11008',
+'V2
+119296
+119376',
+'V2
+8448
+8528',
+'V2
+7680
+7936',
+'V2
+65856
+65936',
+'V2
+63744
+64256',
+'V2
+77824
+78896',
+'V2
+127232
+127488',
+'V2
+67968
+68000',
+'V2
+42752
+42784',
+'V2
+68448
+68480',
+'V2
+68416
+68448',
+'V2
+194560
+195104',
+'V2
+8400
+8448',
+'V2
+127488
+127744',
+'V6
+188
+191
+8528
+8544
+8585
+8586',
+'V6
+65104
+65107
+65108
+65127
+65128
+65132',
+'V6
+12288
+12289
+65281
+65377
+65504
+65511',
+'V4
+0
+32
+127
+160',
+'V6
+57344
+63744
+983040
+1048574
+1048576
+1114110',
+'V2
+55296
+57344',
+'V2
+8232
+8233',
+'V2
+8233
+8234',
+'V2
+1829
+1830',
+'V2
+1871
+1872',
+'V2
+1815
+1816',
+'V2
+1830
+1831',
+'V2
+1607
+1608',
+'V6
+1603
+1604
+1708
+1711
+1919
+1920',
+'V2
+1825
+1826',
+'V2
+1826
+1827',
+'V2
+1725
+1726',
+'V6
+1589
+1591
+1693
+1695
+1787
+1788',
+'V6
+1591
+1593
+1695
+1696
+2211
+2212',
+'V2
+1836
+1837',
+'V4
+1810
+1811
+1837
+1838',
+'V2
+1818
+1819',
+'V2
+1823
+1824',
+'V6
+1605
+1606
+1893
+1895
+2215
+2216',
+'V6
+1606
+1607
+1721
+1725
+1895
+1898',
+'V2
+1833
+1834',
+'V2
+1835
+1836',
+'V2
+1819
+1821',
+'V2
+1821
+1822',
+'V2
+1817
+1818',
+'V2
+1808
+1809',
+'V4
+1811
+1813
+1838
+1839',
+'V2
+1870
+1871',
+'V2
+1832
+1833',
+'V2
+1869
+1870',
+'V2
+1824
+1825',
+'V2
+1822
+1823',
+'V2
+1729
+1731',
+'V2
+1827
+1828',
+'V2
+1706
+1707',
+'V2
+1816
+1817',
+'V2
+1746
+1748',
+'V6
+1813
+1815
+1834
+1835
+1839
+1840',
+'V4
+1726
+1727
+1791
+1792',
+'V2
+1831
+1832',
+'V6
+1577
+1578
+1728
+1729
+1749
+1750',
+'V2
+2220
+2221',
+'V2
+1741
+1742',
+'V2
+1828
+1829',
+'V2
+1731
+1732',
+'V2
+1914
+1916',
+'V2
+43122
+43123',
+'V4
+8212
+8213
+11834
+11836',
+'V4
+11
+13
+8232
+8234',
+'V2
+65532
+65533',
+'V4
+41
+42
+93
+94',
+'V2
+45
+46',
+'V4
+8228
+8231
+65049
+65050',
+'V2
+133
+134',
+'V2
+55296
+57344',
+'V2
+32
+33',
+'V2
+47
+48',
+'V4
+8288
+8289
+65279
+65280',
+'V2
+8203
+8204',
+'V2
+12881
+12882',
+'V2
+12882
+12883',
+'V2
+12883
+12884',
+'V2
+12884
+12885',
+'V2
+12885
+12886',
+'V2
+12886
+12887',
+'V2
+12887
+12888',
+'V2
+12888
+12889',
+'V2
+12889
+12890',
+'V2
+12891
+12892',
+'V2
+12892
+12893',
+'V2
+12893
+12894',
+'V2
+12894
+12895',
+'V2
+12895
+12896',
+'V2
+12977
+12978',
+'V2
+12978
+12979',
+'V2
+12979
+12980',
+'V2
+12980
+12981',
+'V2
+12982
+12983',
+'V2
+12983
+12984',
+'V2
+12984
+12985',
+'V2
+12985
+12986',
+'V2
+12986
+12987',
+'V2
+12987
+12988',
+'V2
+12988
+12989',
+'V2
+12989
+12990',
+'V2
+12990
+12991',
+'V2
+8533
+8534',
+'V4
+8537
+8538
+74849
+74850',
+'V2
+8528
+8529',
+'V2
+8529
+8530',
+'V2
+8534
+8535',
+'V4
+65818
+65819
+69235
+69236',
+'V2
+3883
+3884',
+'V2
+8535
+8536',
+'V2
+8540
+8541',
+'V6
+65819
+65820
+65899
+65900
+69236
+69237',
+'V2
+8536
+8537',
+'V4
+65820
+65821
+69237
+69238',
+'V2
+3884
+3885',
+'V4
+8538
+8539
+74844
+74845',
+'V2
+8541
+8542',
+'V4
+65822
+65823
+69239
+69240',
+'V2
+3885
+3886',
+'V2
+8542
+8543',
+'V4
+65823
+65824
+69240
+69241',
+'V4
+65824
+65825
+69241
+69242',
+'V2
+3886
+3887',
+'V6
+65825
+65826
+66378
+66379
+69242
+69243',
+'V2
+3891
+3892',
+'V2
+8530
+8531',
+'V6
+2548
+2549
+2933
+2934
+43059
+43060',
+'V2
+3887
+3888',
+'V2
+3888
+3889',
+'V2
+3889
+3890',
+'V2
+3890
+3891',
+'V2
+65827
+65828',
+'V6
+2550
+2551
+2935
+2936
+43061
+43062',
+'V2
+65828
+65829',
+'V2
+65829
+65830',
+'V2
+65831
+65832',
+'V2
+65832
+65833',
+'V2
+65833
+65834',
+'V2
+65834
+65835',
+'V2
+65836
+65837',
+'V2
+65837
+65838',
+'V2
+65838
+65839',
+'V2
+65840
+65841',
+'V2
+65841
+65842',
+'V2
+65842
+65843',
+'V2
+65843
+65844',
+'V2
+8584
+8585',
+'V2
+74802
+74803',
+'V2
+74803
+74804',
+'V4
+20159
+20160
+20740
+20741',
+'V2
+20806
+20807',
+'V1
+0',
+'V2
+0
+1114112',
+'V6
+4448
+4520
+44032
+55204
+55216
+55239',
+'V4
+9
+14
+32
+33',
+'V6
+10
+14
+133
+134
+8232
+8234',
+'V6
+48
+58
+65
+91
+97
+123',
+'V4
+65
+91
+97
+123',
+'V4
+9
+10
+32
+33',
+'V4
+0
+32
+127
+128',
+'V2
+48
+58',
+'V2
+33
+127',
+'V2
+97
+123',
+'V2
+32
+127',
+'V2
+65
+91',
+'V4
+40960
+42125
+42128
+42183',
+'V2
+1984
+2043',
+'V2
+42240
+42540',
+'V4
+67648
+67670
+67671
+67680',
+'V4
+68352
+68406
+68409
+68416',
+'V4
+6912
+6988
+6992
+7037',
+'V4
+42656
+42744
+92160
+92729',
+'V4
+7104
+7156
+7164
+7168',
+'V6
+746
+748
+12549
+12590
+12704
+12731',
+'V4
+69632
+69710
+69714
+69744',
+'V4
+6656
+6684
+6686
+6688',
+'V2
+5952
+5972',
+'V4
+69888
+69941
+69942
+69956',
+'V4
+5120
+5760
+6320
+6390',
+'V2
+66208
+66257',
+'V2
+5024
+5109',
+'V6
+994
+1008
+11392
+11508
+11513
+11520',
+'V2
+77824
+78895',
+'V4
+11264
+11311
+11312
+11359',
+'V2
+66352
+66379',
+'V2
+5920
+5941',
+'V4
+66304
+66335
+66336
+66340',
+'V6
+43392
+43470
+43472
+43482
+43486
+43488',
+'V2
+69760
+69826',
+'V6
+7168
+7224
+7227
+7242
+7245
+7248',
+'V2
+66176
+66205',
+'V4
+67872
+67898
+67903
+67904',
+'V4
+2112
+2140
+2142
+2143',
+'V4
+68000
+68024
+68030
+68032',
+'V6
+93952
+94021
+94032
+94079
+94095
+94112',
+'V6
+43744
+43767
+43968
+44014
+44016
+44026',
+'V4
+4096
+4256
+43616
+43644',
+'V2
+5760
+5789',
+'V2
+68608
+68681',
+'V4
+66688
+66718
+66720
+66730',
+'V2
+43072
+43128',
+'V4
+68448
+68467
+68472
+68480',
+'V4
+67840
+67868
+67871
+67872',
+'V4
+68416
+68438
+68440
+68448',
+'V4
+43312
+43348
+43359
+43360',
+'V4
+5792
+5867
+5870
+5873',
+'V4
+2048
+2094
+2096
+2111',
+'V4
+43136
+43205
+43214
+43226',
+'V4
+70016
+70089
+70096
+70106',
+'V4
+69840
+69865
+69872
+69882',
+'V4
+7040
+7104
+7360
+7368',
+'V2
+43008
+43052',
+'V6
+1792
+1806
+1807
+1867
+1869
+1872',
+'V6
+5984
+5997
+5998
+6001
+6002
+6004',
+'V4
+71296
+71352
+71360
+71370',
+'V4
+6480
+6510
+6512
+6517',
+'V4
+43648
+43715
+43739
+43744',
+'V6
+11568
+11624
+11631
+11633
+11647
+11648',
+'V4
+5888
+5901
+5902
+5909',
+'V2
+1920
+1970',
+'V4
+3585
+3643
+3648
+3676',
+'V4
+66432
+66462
+66463
+66464',
+'V4
+66464
+66500
+66504
+66518',
+'V6
+73728
+74607
+74752
+74851
+74864
+74868',
+'V6
+6656
+6684
+6686
+6688
+43471
+43472',
+'V4
+5941
+5943
+5952
+5972',
+'V2
+5920
+5943',
+'V6
+43392
+43470
+43471
+43482
+43486
+43488',
+'V6
+2406
+2416
+43056
+43066
+69760
+69826',
+'V6
+1600
+1601
+2112
+2140
+2142
+2143',
+'V6
+6146
+6148
+6149
+6150
+43072
+43128',
+'V4
+2534
+2544
+43008
+43052',
+'V6
+4160
+4170
+6480
+6510
+6512
+6517',
+'V6
+5888
+5901
+5902
+5909
+5941
+5943',
+,
+);
+
+# Maps property, table to file for those using stricter matching. For paths
+# whose directory is '#', the file is in the form of a numeric index into
+# @inline_definitions
%utf8::stricter_to_file_of = (
'_canondcij' => 'SD/Y',
'_case_ignorable' => 'CI/Y',
@@ -157,24 +2038,27 @@
'_perl_any_folds' => 'Perl/_PerlAny',
'_perl_charname_begin' => 'Perl/_PerlCha',
'_perl_charname_continue' => 'Perl/_PerlCh2',
+'_perl_folds_to_multi_char' => 'Perl/_PerlFol',
'_perl_idcont' => 'Perl/_PerlIDC',
'_perl_idstart' => 'Perl/_PerlIDS',
+'_perl_problematic_locale_foldeds_start' => 'Perl/_PerlPr2',
+'_perl_problematic_locale_folds' => 'Perl/_PerlPro',
'_perl_quotemeta' => 'Perl/_PerlQuo',
'_x_extend' => 'Perl/_XExtend',
-'_x_gcb_l' => 'Perl/_XGCBL',
-'_x_gcb_lv' => 'Perl/_XGCBLV',
-'_x_gcb_lvt' => 'Perl/_XGCBLVT',
-'_x_gcb_prepend' => '!Perl/Any',
-'_x_gcb_t' => 'Perl/_XGCBT',
-'_x_gcb_v' => 'Perl/_XGCBV',
-'_x_lv_lvt_v' => 'Perl/_XLVLVTV',
+'_x_gcb_l' => '#/47',
+'_x_gcb_lv' => 'GCB/LV',
+'_x_gcb_lvt' => 'GCB/LVT',
+'_x_gcb_prepend' => '#/0',
+'_x_gcb_t' => '#/48',
+'_x_gcb_v' => '#/49',
+'_x_lv_lvt_v' => '#/437',
'_x_regular_begin' => 'Perl/_XRegula',
-'_x_ri' => 'Perl/_XRI',
+'_x_ri' => '#/52',
'_x_special_begin_start' => 'Perl/_XSpecia',
'age=1.1' => 'Age/V11',
'age=2' => 'Age/V20',
'age=2.0' => 'Age/V20',
-'age=2.1' => 'Age/V21',
+'age=2.1' => '#/62',
'age=3' => 'Age/V30',
'age=3.0' => 'Age/V30',
'age=3.1' => 'Age/V31',
@@ -189,64 +2073,65 @@
'age=6' => 'Age/V60',
'age=6.0' => 'Age/V60',
'age=6.1' => 'Age/V61',
-'age=6.2' => 'Age/V62',
+'age=6.2' => '#/63',
+'age=6.3' => '#/64',
'ccc=0' => 'Ccc/NR',
'ccc=1' => 'Ccc/OV',
-'ccc=10' => 'Ccc/CCC10',
-'ccc=103' => 'Ccc/CCC103',
-'ccc=107' => 'Ccc/CCC107',
-'ccc=11' => 'Ccc/CCC11',
-'ccc=118' => 'Ccc/CCC118',
-'ccc=12' => 'Ccc/CCC12',
-'ccc=122' => 'Ccc/CCC122',
-'ccc=129' => 'Ccc/CCC129',
-'ccc=13' => 'Ccc/CCC13',
-'ccc=130' => 'Ccc/CCC130',
-'ccc=132' => 'Ccc/CCC132',
-'ccc=133' => '!Perl/Any',
-'ccc=14' => 'Ccc/CCC14',
-'ccc=15' => 'Ccc/CCC15',
-'ccc=16' => 'Ccc/CCC16',
-'ccc=17' => 'Ccc/CCC17',
-'ccc=18' => 'Ccc/CCC18',
-'ccc=19' => 'Ccc/CCC19',
-'ccc=20' => 'Ccc/CCC20',
-'ccc=200' => '!Perl/Any',
-'ccc=202' => 'Ccc/ATB',
-'ccc=21' => 'Ccc/CCC21',
-'ccc=214' => 'Ccc/ATA',
+'ccc=10' => '#/10',
+'ccc=103' => '#/39',
+'ccc=107' => '#/40',
+'ccc=11' => '#/11',
+'ccc=118' => '#/41',
+'ccc=12' => '#/12',
+'ccc=122' => '#/42',
+'ccc=129' => '#/43',
+'ccc=13' => '#/13',
+'ccc=130' => '#/44',
+'ccc=132' => '#/45',
+'ccc=133' => '#/0',
+'ccc=14' => '#/14',
+'ccc=15' => '#/15',
+'ccc=16' => '#/16',
+'ccc=17' => '#/17',
+'ccc=18' => '#/18',
+'ccc=19' => '#/19',
+'ccc=20' => '#/20',
+'ccc=200' => '#/0',
+'ccc=202' => '#/9',
+'ccc=21' => '#/21',
+'ccc=214' => '#/8',
'ccc=216' => 'Ccc/ATAR',
-'ccc=218' => 'Ccc/BL',
-'ccc=22' => 'Ccc/CCC22',
+'ccc=218' => '#/4',
+'ccc=22' => '#/22',
'ccc=220' => 'Ccc/B',
'ccc=222' => 'Ccc/BR',
-'ccc=224' => 'Ccc/L',
-'ccc=226' => 'Ccc/R',
-'ccc=228' => 'Ccc/AL',
-'ccc=23' => 'Ccc/CCC23',
+'ccc=224' => '#/1',
+'ccc=226' => '#/2',
+'ccc=228' => '#/3',
+'ccc=23' => '#/23',
'ccc=230' => 'Ccc/A',
'ccc=232' => 'Ccc/AR',
'ccc=233' => 'Ccc/DB',
-'ccc=234' => 'Ccc/DA',
-'ccc=24' => 'Ccc/CCC24',
-'ccc=240' => 'Ccc/IS',
-'ccc=25' => 'Ccc/CCC25',
-'ccc=26' => 'Ccc/CCC26',
-'ccc=27' => 'Ccc/CCC27',
-'ccc=28' => 'Ccc/CCC28',
-'ccc=29' => 'Ccc/CCC29',
-'ccc=30' => 'Ccc/CCC30',
-'ccc=31' => 'Ccc/CCC31',
-'ccc=32' => 'Ccc/CCC32',
-'ccc=33' => 'Ccc/CCC33',
-'ccc=34' => 'Ccc/CCC34',
-'ccc=35' => 'Ccc/CCC35',
-'ccc=36' => 'Ccc/CCC36',
+'ccc=234' => '#/5',
+'ccc=24' => '#/24',
+'ccc=240' => '#/6',
+'ccc=25' => '#/25',
+'ccc=26' => '#/26',
+'ccc=27' => '#/27',
+'ccc=28' => '#/28',
+'ccc=29' => '#/29',
+'ccc=30' => '#/30',
+'ccc=31' => '#/31',
+'ccc=32' => '#/32',
+'ccc=33' => '#/33',
+'ccc=34' => '#/34',
+'ccc=35' => '#/35',
+'ccc=36' => '#/36',
'ccc=7' => 'Ccc/NK',
-'ccc=8' => 'Ccc/KV',
-'ccc=84' => 'Ccc/CCC84',
+'ccc=8' => '#/7',
+'ccc=84' => '#/37',
'ccc=9' => 'Ccc/VR',
-'ccc=91' => 'Ccc/CCC91',
+'ccc=91' => '#/38',
'in=1.1' => 'Age/V11',
'in=2' => 'In/2_0',
'in=2.0' => 'In/2_0',
@@ -266,133 +2151,135 @@
'in=6.0' => 'In/6_0',
'in=6.1' => 'In/6_1',
'in=6.2' => 'In/6_2',
-'nv=-1' => 'Nv/_1',
-'nv=-1/2' => 'Nv/_1_2',
+'in=6.3' => 'In/6_3',
+'nv=-1/2' => '#/408',
'nv=0' => 'Nv/0',
'nv=1' => 'Nv/1',
-'nv=1/10' => 'Nv/1_10',
-'nv=1/16' => 'Nv/1_16',
+'nv=1/10' => '#/409',
+'nv=1/16' => '#/410',
'nv=1/2' => 'Nv/1_2',
'nv=1/3' => 'Nv/1_3',
'nv=1/4' => 'Nv/1_4',
-'nv=1/5' => 'Nv/1_5',
-'nv=1/6' => 'Nv/1_6',
-'nv=1/7' => 'Nv/1_7',
+'nv=1/5' => '#/386',
+'nv=1/6' => '#/387',
+'nv=1/7' => '#/388',
'nv=1/8' => 'Nv/1_8',
-'nv=1/9' => 'Nv/1_9',
+'nv=1/9' => '#/389',
'nv=10' => 'Nv/10',
'nv=100' => 'Nv/100',
'nv=1000' => 'Nv/1000',
'nv=10000' => 'Nv/10000',
-'nv=100000' => 'Nv/100000',
-'nv=100000000' => 'Nv/10000000',
-'nv=1000000000000' => 'Nv/10000002',
+'nv=100000' => '#/430',
+'nv=100000000' => '#/433',
+'nv=1000000000000' => '#/434',
'nv=11' => 'Nv/11',
-'nv=11/2' => 'Nv/11_2',
+'nv=11/2' => '#/411',
'nv=12' => 'Nv/12',
'nv=13' => 'Nv/13',
-'nv=13/2' => 'Nv/13_2',
+'nv=13/2' => '#/412',
'nv=14' => 'Nv/14',
'nv=15' => 'Nv/15',
-'nv=15/2' => 'Nv/15_2',
+'nv=15/2' => '#/413',
'nv=16' => 'Nv/16',
'nv=17' => 'Nv/17',
-'nv=17/2' => 'Nv/17_2',
+'nv=17/2' => '#/414',
'nv=18' => 'Nv/18',
'nv=19' => 'Nv/19',
'nv=2' => 'Nv/2',
'nv=2/3' => 'Nv/2_3',
-'nv=2/5' => 'Nv/2_5',
+'nv=2/5' => '#/390',
'nv=20' => 'Nv/20',
-'nv=200' => 'Nv/200',
-'nv=2000' => 'Nv/2000',
-'nv=20000' => 'Nv/20000',
-'nv=21' => 'Nv/21',
-'nv=216000' => 'Nv/216000',
-'nv=22' => 'Nv/22',
-'nv=23' => 'Nv/23',
-'nv=24' => 'Nv/24',
-'nv=25' => 'Nv/25',
-'nv=26' => 'Nv/26',
-'nv=27' => 'Nv/27',
-'nv=28' => 'Nv/28',
-'nv=29' => 'Nv/29',
+'nv=200' => '#/391',
+'nv=2000' => '#/415',
+'nv=20000' => '#/423',
+'nv=21' => '#/359',
+'nv=216000' => '#/431',
+'nv=22' => '#/360',
+'nv=23' => '#/361',
+'nv=24' => '#/362',
+'nv=25' => '#/363',
+'nv=26' => '#/364',
+'nv=27' => '#/365',
+'nv=28' => '#/366',
+'nv=29' => '#/367',
'nv=3' => 'Nv/3',
-'nv=3/16' => 'Nv/3_16',
-'nv=3/2' => 'Nv/3_2',
+'nv=3/16' => '#/416',
+'nv=3/2' => '#/392',
'nv=3/4' => 'Nv/3_4',
-'nv=3/5' => 'Nv/3_5',
-'nv=3/8' => 'Nv/3_8',
+'nv=3/5' => '#/393',
+'nv=3/8' => '#/394',
'nv=30' => 'Nv/30',
-'nv=300' => 'Nv/300',
-'nv=3000' => 'Nv/3000',
-'nv=30000' => 'Nv/30000',
-'nv=31' => 'Nv/31',
-'nv=32' => 'Nv/32',
-'nv=33' => 'Nv/33',
-'nv=34' => 'Nv/34',
-'nv=35' => 'Nv/35',
-'nv=36' => 'Nv/36',
-'nv=37' => 'Nv/37',
-'nv=38' => 'Nv/38',
-'nv=39' => 'Nv/39',
+'nv=300' => '#/395',
+'nv=3000' => '#/417',
+'nv=30000' => '#/424',
+'nv=31' => '#/368',
+'nv=32' => '#/369',
+'nv=33' => '#/370',
+'nv=34' => '#/371',
+'nv=35' => '#/372',
+'nv=36' => '#/373',
+'nv=37' => '#/374',
+'nv=38' => '#/375',
+'nv=39' => '#/376',
'nv=4' => 'Nv/4',
-'nv=4/5' => 'Nv/4_5',
+'nv=4/5' => '#/396',
'nv=40' => 'Nv/40',
-'nv=400' => 'Nv/400',
-'nv=4000' => 'Nv/4000',
-'nv=40000' => 'Nv/40000',
-'nv=41' => 'Nv/41',
-'nv=42' => 'Nv/42',
-'nv=43' => 'Nv/43',
-'nv=432000' => 'Nv/432000',
-'nv=44' => 'Nv/44',
-'nv=45' => 'Nv/45',
-'nv=46' => 'Nv/46',
-'nv=47' => 'Nv/47',
-'nv=48' => 'Nv/48',
-'nv=49' => 'Nv/49',
+'nv=400' => '#/397',
+'nv=4000' => '#/418',
+'nv=40000' => '#/425',
+'nv=41' => '#/377',
+'nv=42' => '#/378',
+'nv=43' => '#/379',
+'nv=432000' => '#/432',
+'nv=44' => '#/380',
+'nv=45' => '#/381',
+'nv=46' => '#/382',
+'nv=47' => '#/383',
+'nv=48' => '#/384',
+'nv=49' => '#/385',
'nv=5' => 'Nv/5',
-'nv=5/2' => 'Nv/5_2',
-'nv=5/6' => 'Nv/5_6',
-'nv=5/8' => 'Nv/5_8',
+'nv=5/2' => '#/398',
+'nv=5/6' => '#/399',
+'nv=5/8' => '#/400',
'nv=50' => 'Nv/50',
'nv=500' => 'Nv/500',
'nv=5000' => 'Nv/5000',
'nv=50000' => 'Nv/50000',
'nv=6' => 'Nv/6',
'nv=60' => 'Nv/60',
-'nv=600' => 'Nv/600',
-'nv=6000' => 'Nv/6000',
-'nv=60000' => 'Nv/60000',
+'nv=600' => '#/401',
+'nv=6000' => '#/419',
+'nv=60000' => '#/426',
'nv=7' => 'Nv/7',
-'nv=7/2' => 'Nv/7_2',
-'nv=7/8' => 'Nv/7_8',
+'nv=7/2' => '#/402',
+'nv=7/8' => '#/403',
'nv=70' => 'Nv/70',
-'nv=700' => 'Nv/700',
-'nv=7000' => 'Nv/7000',
-'nv=70000' => 'Nv/70000',
+'nv=700' => '#/404',
+'nv=7000' => '#/420',
+'nv=70000' => '#/427',
'nv=8' => 'Nv/8',
'nv=80' => 'Nv/80',
-'nv=800' => 'Nv/800',
-'nv=8000' => 'Nv/8000',
-'nv=80000' => 'Nv/80000',
+'nv=800' => '#/405',
+'nv=8000' => '#/421',
+'nv=80000' => '#/428',
'nv=9' => 'Nv/9',
-'nv=9/2' => 'Nv/9_2',
+'nv=9/2' => '#/406',
'nv=90' => 'Nv/90',
-'nv=900' => 'Nv/900',
-'nv=9000' => 'Nv/9000',
-'nv=90000' => 'Nv/90000',
+'nv=900' => '#/407',
+'nv=9000' => '#/422',
+'nv=90000' => '#/429',
);
-# Maps property, table to file for those using loose matching
+# Maps property, table to file for those using loose matching. For paths
+# whose directory is '#', the file is in the form of a numeric index into
+# @inline_definitions
%utf8::loose_to_file_of = (
-'aegeannumbers' => 'Blk/AegeanNu',
+'aegeannumbers' => '#/245',
'age=na' => 'Age/NA',
'age=unassigned' => 'Age/NA',
'age=v11' => 'Age/V11',
'age=v20' => 'Age/V20',
-'age=v21' => 'Age/V21',
+'age=v21' => '#/62',
'age=v30' => 'Age/V30',
'age=v31' => 'Age/V31',
'age=v32' => 'Age/V32',
@@ -403,19 +2290,20 @@
'age=v52' => 'Age/V52',
'age=v60' => 'Age/V60',
'age=v61' => 'Age/V61',
-'age=v62' => 'Age/V62',
-'ahex' => 'AHex/Y',
-'ahex=f' => '!AHex/Y',
-'ahex=false' => '!AHex/Y',
-'ahex=n' => '!AHex/Y',
-'ahex=no' => '!AHex/Y',
-'ahex=t' => 'AHex/Y',
-'ahex=true' => 'AHex/Y',
-'ahex=y' => 'AHex/Y',
-'ahex=yes' => 'AHex/Y',
-'alchemical' => 'Blk/Alchemic',
-'alchemicalsymbols' => 'Blk/Alchemic',
-'all' => 'Perl/Any',
+'age=v62' => '#/63',
+'age=v63' => '#/64',
+'ahex' => '#/46',
+'ahex=f' => '#/!46',
+'ahex=false' => '#/!46',
+'ahex=n' => '#/!46',
+'ahex=no' => '#/!46',
+'ahex=t' => '#/46',
+'ahex=true' => '#/46',
+'ahex=y' => '#/46',
+'ahex=yes' => '#/46',
+'alchemical' => '#/199',
+'alchemicalsymbols' => '#/199',
+'all' => '#/435',
'alnum' => 'Perl/Alnum',
'alpha' => 'Alpha/Y',
'alpha=f' => '!Alpha/Y',
@@ -427,43 +2315,43 @@
'alpha=y' => 'Alpha/Y',
'alpha=yes' => 'Alpha/Y',
'alphabetic' => 'Alpha/Y',
-'alphabeticpf' => 'Blk/Alphabet',
-'alphabeticpresentationforms' => 'Blk/Alphabet',
-'ancientgreekmusic' => 'Blk/AncientG',
-'ancientgreekmusicalnotation' => 'Blk/AncientG',
-'ancientgreeknumbers' => 'Blk/Ancient2',
-'ancientsymbols' => 'Blk/AncientS',
-'any' => 'Perl/Any',
+'alphabeticpf' => '#/236',
+'alphabeticpresentationforms' => '#/236',
+'ancientgreekmusic' => '#/281',
+'ancientgreekmusicalnotation' => '#/281',
+'ancientgreeknumbers' => '#/284',
+'ancientsymbols' => '#/252',
+'any' => '#/436',
'arab' => 'Sc/Arab',
'arabic' => 'Sc/Arab',
-'arabicexta' => 'Blk/ArabicEx',
-'arabicextendeda' => 'Blk/ArabicEx',
-'arabicmath' => 'Blk/ArabicMa',
-'arabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
-'arabicpfa' => 'Blk/ArabicPF',
-'arabicpfb' => 'Blk/ArabicP2',
-'arabicpresentationformsa' => 'Blk/ArabicPF',
-'arabicpresentationformsb' => 'Blk/ArabicP2',
-'arabicsup' => 'Blk/ArabicSu',
-'arabicsupplement' => 'Blk/ArabicSu',
+'arabicexta' => '#/200',
+'arabicextendeda' => '#/200',
+'arabicmath' => '#/201',
+'arabicmathematicalalphabeticsymbols' => '#/201',
+'arabicpfa' => '#/181',
+'arabicpfb' => '#/182',
+'arabicpresentationformsa' => '#/181',
+'arabicpresentationformsb' => '#/182',
+'arabicsup' => '#/183',
+'arabicsupplement' => '#/183',
'armenian' => 'Sc/Armn',
-'armi' => 'Sc/Armi',
+'armi' => '#/452',
'armn' => 'Sc/Armn',
-'arrows' => 'Blk/Arrows',
-'ascii' => 'Blk/ASCII',
-'asciihexdigit' => 'AHex/Y',
+'arrows' => '#/107',
+'ascii' => '#/91',
+'asciihexdigit' => '#/46',
'assigned' => 'Perl/Assigned',
-'avestan' => 'Sc/Avst',
-'avst' => 'Sc/Avst',
-'bali' => 'Sc/Bali',
-'balinese' => 'Sc/Bali',
-'bamu' => 'Sc/Bamu',
-'bamum' => 'Sc/Bamu',
-'bamumsup' => 'Blk/BamumSup',
-'bamumsupplement' => 'Blk/BamumSup',
-'basiclatin' => 'Blk/ASCII',
-'batak' => 'Sc/Batk',
-'batk' => 'Sc/Batk',
+'avestan' => '#/453',
+'avst' => '#/453',
+'bali' => '#/454',
+'balinese' => '#/454',
+'bamu' => '#/455',
+'bamum' => '#/455',
+'bamumsup' => '#/159',
+'bamumsupplement' => '#/159',
+'basiclatin' => '#/91',
+'batak' => '#/456',
+'batk' => '#/456',
'bc=al' => 'Bc/AL',
'bc=an' => 'Bc/AN',
'bc=arabicletter' => 'Bc/AL',
@@ -479,27 +2367,35 @@
'bc=europeannumber' => 'Bc/EN',
'bc=europeanseparator' => 'Bc/ES',
'bc=europeanterminator' => 'Bc/ET',
+'bc=firststrongisolate' => '#/66',
+'bc=fsi' => '#/66',
'bc=l' => 'Bc/L',
'bc=lefttoright' => 'Bc/L',
-'bc=lefttorightembedding' => 'Bc/LRE',
-'bc=lefttorightoverride' => 'Bc/LRO',
-'bc=lre' => 'Bc/LRE',
-'bc=lro' => 'Bc/LRO',
+'bc=lefttorightembedding' => '#/67',
+'bc=lefttorightisolate' => '#/68',
+'bc=lefttorightoverride' => '#/69',
+'bc=lre' => '#/67',
+'bc=lri' => '#/68',
+'bc=lro' => '#/69',
'bc=nonspacingmark' => 'Bc/NSM',
'bc=nsm' => 'Bc/NSM',
'bc=on' => 'Bc/ON',
'bc=otherneutral' => 'Bc/ON',
'bc=paragraphseparator' => 'Bc/B',
-'bc=pdf' => 'Bc/PDF',
-'bc=popdirectionalformat' => 'Bc/PDF',
+'bc=pdf' => '#/70',
+'bc=pdi' => '#/71',
+'bc=popdirectionalformat' => '#/70',
+'bc=popdirectionalisolate' => '#/71',
'bc=r' => 'Bc/R',
'bc=righttoleft' => 'Bc/R',
-'bc=righttoleftembedding' => 'Bc/RLE',
-'bc=righttoleftoverride' => 'Bc/RLO',
-'bc=rle' => 'Bc/RLE',
-'bc=rlo' => 'Bc/RLO',
-'bc=s' => 'Bc/S',
-'bc=segmentseparator' => 'Bc/S',
+'bc=righttoleftembedding' => '#/72',
+'bc=righttoleftisolate' => '#/73',
+'bc=righttoleftoverride' => '#/74',
+'bc=rle' => '#/72',
+'bc=rli' => '#/73',
+'bc=rlo' => '#/74',
+'bc=s' => '#/65',
+'bc=segmentseparator' => '#/65',
'bc=whitespace' => 'Bc/WS',
'bc=ws' => 'Bc/WS',
'beng' => 'Sc/Beng',
@@ -525,358 +2421,364 @@
'bidim=yes' => 'BidiM/Y',
'bidimirrored' => 'BidiM/Y',
'blank' => 'Perl/Blank',
-'blk=aegeannumbers' => 'Blk/AegeanNu',
-'blk=alchemical' => 'Blk/Alchemic',
-'blk=alchemicalsymbols' => 'Blk/Alchemic',
-'blk=alphabeticpf' => 'Blk/Alphabet',
-'blk=alphabeticpresentationforms' => 'Blk/Alphabet',
-'blk=ancientgreekmusic' => 'Blk/AncientG',
-'blk=ancientgreekmusicalnotation' => 'Blk/AncientG',
-'blk=ancientgreeknumbers' => 'Blk/Ancient2',
-'blk=ancientsymbols' => 'Blk/AncientS',
-'blk=arabic' => 'Blk/Arabic',
-'blk=arabicexta' => 'Blk/ArabicEx',
-'blk=arabicextendeda' => 'Blk/ArabicEx',
-'blk=arabicmath' => 'Blk/ArabicMa',
-'blk=arabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
-'blk=arabicpfa' => 'Blk/ArabicPF',
-'blk=arabicpfb' => 'Blk/ArabicP2',
-'blk=arabicpresentationformsa' => 'Blk/ArabicPF',
-'blk=arabicpresentationformsb' => 'Blk/ArabicP2',
-'blk=arabicsup' => 'Blk/ArabicSu',
-'blk=arabicsupplement' => 'Blk/ArabicSu',
-'blk=armenian' => 'Blk/Armenian',
-'blk=arrows' => 'Blk/Arrows',
-'blk=ascii' => 'Blk/ASCII',
-'blk=avestan' => 'Blk/Avestan',
-'blk=balinese' => 'Blk/Balinese',
-'blk=bamum' => 'Blk/Bamum',
-'blk=bamumsup' => 'Blk/BamumSup',
-'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=bopomofoext' => 'Blk/Bopomof2',
-'blk=bopomofoextended' => 'Blk/Bopomof2',
-'blk=boxdrawing' => 'Blk/BoxDrawi',
-'blk=brahmi' => 'Blk/Brahmi',
-'blk=braille' => 'Blk/Braille',
-'blk=braillepatterns' => 'Blk/Braille',
-'blk=buginese' => 'Blk/Buginese',
-'blk=buhid' => 'Blk/Buhid',
-'blk=byzantinemusic' => 'Blk/Byzantin',
-'blk=byzantinemusicalsymbols' => 'Blk/Byzantin',
-'blk=canadiansyllabics' => 'Blk/UCAS',
-'blk=carian' => 'Blk/Carian',
-'blk=chakma' => 'Blk/Chakma',
-'blk=cham' => 'Blk/Cham',
-'blk=cherokee' => 'Blk/Cherokee',
-'blk=cjk' => 'Blk/CJK',
-'blk=cjkcompat' => 'Blk/CJKCompa',
-'blk=cjkcompatforms' => 'Blk/CJKComp2',
-'blk=cjkcompatibility' => 'Blk/CJKCompa',
-'blk=cjkcompatibilityforms' => 'Blk/CJKComp2',
-'blk=cjkcompatibilityideographs' => 'Blk/CJKComp3',
-'blk=cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
-'blk=cjkcompatideographs' => 'Blk/CJKComp3',
-'blk=cjkcompatideographssup' => 'Blk/CJKComp4',
-'blk=cjkexta' => 'Blk/CJKExtA',
-'blk=cjkextb' => 'Blk/CJKExtB',
-'blk=cjkextc' => 'Blk/CJKExtC',
-'blk=cjkextd' => 'Blk/CJKExtD',
-'blk=cjkradicalssup' => 'Blk/CJKRadic',
-'blk=cjkradicalssupplement' => 'Blk/CJKRadic',
-'blk=cjkstrokes' => 'Blk/CJKStrok',
-'blk=cjksymbols' => 'Blk/CJKSymbo',
-'blk=cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
-'blk=cjkunifiedideographs' => 'Blk/CJK',
-'blk=cjkunifiedideographsextensiona' => 'Blk/CJKExtA',
-'blk=cjkunifiedideographsextensionb' => 'Blk/CJKExtB',
-'blk=cjkunifiedideographsextensionc' => 'Blk/CJKExtC',
-'blk=cjkunifiedideographsextensiond' => 'Blk/CJKExtD',
-'blk=combiningdiacriticalmarks' => 'Blk/Diacriti',
-'blk=combiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
-'blk=combiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
-'blk=combininghalfmarks' => 'Blk/HalfMark',
-'blk=combiningmarksforsymbols' => 'Blk/Diacrit3',
-'blk=commonindicnumberforms' => 'Blk/IndicNum',
-'blk=compatjamo' => 'Blk/CompatJa',
-'blk=controlpictures' => 'Blk/ControlP',
-'blk=coptic' => 'Blk/Coptic',
-'blk=countingrod' => 'Blk/Counting',
-'blk=countingrodnumerals' => 'Blk/Counting',
-'blk=cuneiform' => 'Blk/Cuneifor',
-'blk=cuneiformnumbers' => 'Blk/Cuneifo2',
-'blk=cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
-'blk=currencysymbols' => 'Blk/Currency',
-'blk=cypriotsyllabary' => 'Blk/CypriotS',
-'blk=cyrillic' => 'Blk/Cyrillic',
-'blk=cyrillicexta' => 'Blk/Cyrilli3',
-'blk=cyrillicextb' => 'Blk/Cyrilli4',
-'blk=cyrillicextendeda' => 'Blk/Cyrilli3',
-'blk=cyrillicextendedb' => 'Blk/Cyrilli4',
-'blk=cyrillicsup' => 'Blk/Cyrilli2',
-'blk=cyrillicsupplement' => 'Blk/Cyrilli2',
-'blk=cyrillicsupplementary' => 'Blk/Cyrilli2',
-'blk=deseret' => 'Blk/Deseret',
-'blk=devanagari' => 'Blk/Devanaga',
-'blk=devanagariext' => 'Blk/Devanag2',
-'blk=devanagariextended' => 'Blk/Devanag2',
-'blk=diacriticals' => 'Blk/Diacriti',
-'blk=diacriticalsforsymbols' => 'Blk/Diacrit3',
-'blk=diacriticalssup' => 'Blk/Diacrit2',
-'blk=dingbats' => 'Blk/Dingbats',
-'blk=domino' => 'Blk/Domino',
-'blk=dominotiles' => 'Blk/Domino',
-'blk=egyptianhieroglyphs' => 'Blk/Egyptian',
-'blk=emoticons' => 'Blk/Emoticon',
-'blk=enclosedalphanum' => 'Blk/Enclose2',
-'blk=enclosedalphanumerics' => 'Blk/Enclose2',
-'blk=enclosedalphanumericsupplement' => 'Blk/Enclose3',
-'blk=enclosedalphanumsup' => 'Blk/Enclose3',
-'blk=enclosedcjk' => 'Blk/Enclosed',
-'blk=enclosedcjklettersandmonths' => 'Blk/Enclosed',
-'blk=enclosedideographicsup' => 'Blk/Enclose4',
-'blk=enclosedideographicsupplement' => 'Blk/Enclose4',
-'blk=ethiopic' => 'Blk/Ethiopic',
-'blk=ethiopicext' => 'Blk/Ethiopi2',
-'blk=ethiopicexta' => 'Blk/Ethiopi4',
-'blk=ethiopicextended' => 'Blk/Ethiopi2',
-'blk=ethiopicextendeda' => 'Blk/Ethiopi4',
-'blk=ethiopicsup' => 'Blk/Ethiopi3',
-'blk=ethiopicsupplement' => 'Blk/Ethiopi3',
-'blk=generalpunctuation' => 'Blk/Punctuat',
-'blk=geometricshapes' => 'Blk/Geometri',
-'blk=georgian' => 'Blk/Georgian',
-'blk=georgiansup' => 'Blk/Georgia2',
-'blk=georgiansupplement' => 'Blk/Georgia2',
-'blk=glagolitic' => 'Blk/Glagolit',
-'blk=gothic' => 'Blk/Gothic',
-'blk=greek' => 'Blk/Greek',
-'blk=greekandcoptic' => 'Blk/Greek',
-'blk=greekext' => 'Blk/GreekExt',
-'blk=greekextended' => 'Blk/GreekExt',
-'blk=gujarati' => 'Blk/Gujarati',
-'blk=gurmukhi' => 'Blk/Gurmukhi',
-'blk=halfandfullforms' => 'Blk/HalfAndF',
-'blk=halfmarks' => 'Blk/HalfMark',
-'blk=halfwidthandfullwidthforms' => 'Blk/HalfAndF',
-'blk=hangul' => 'Blk/Hangul',
-'blk=hangulcompatibilityjamo' => 'Blk/CompatJa',
-'blk=hanguljamo' => 'Blk/Jamo',
-'blk=hanguljamoextendeda' => 'Blk/JamoExtA',
-'blk=hanguljamoextendedb' => 'Blk/JamoExtB',
-'blk=hangulsyllables' => 'Blk/Hangul',
-'blk=hanunoo' => 'Blk/Hanunoo',
-'blk=hebrew' => 'Blk/Hebrew',
-'blk=highprivateusesurrogates' => 'Blk/HighPUSu',
-'blk=highpusurrogates' => 'Blk/HighPUSu',
-'blk=highsurrogates' => 'Blk/HighSurr',
-'blk=hiragana' => 'Blk/Hiragana',
-'blk=idc' => 'Blk/IDC',
-'blk=ideographicdescriptioncharacters' => 'Blk/IDC',
-'blk=imperialaramaic' => 'Blk/Imperial',
-'blk=indicnumberforms' => 'Blk/IndicNum',
-'blk=inscriptionalpahlavi' => 'Blk/Inscript',
-'blk=inscriptionalparthian' => 'Blk/Inscrip2',
-'blk=ipaext' => 'Blk/IPAExt',
-'blk=ipaextensions' => 'Blk/IPAExt',
-'blk=jamo' => 'Blk/Jamo',
-'blk=jamoexta' => 'Blk/JamoExtA',
-'blk=jamoextb' => 'Blk/JamoExtB',
-'blk=javanese' => 'Blk/Javanese',
-'blk=kaithi' => 'Blk/Kaithi',
-'blk=kanasup' => 'Blk/KanaSup',
-'blk=kanasupplement' => 'Blk/KanaSup',
-'blk=kanbun' => 'Blk/Kanbun',
-'blk=kangxi' => 'Blk/Kangxi',
-'blk=kangxiradicals' => 'Blk/Kangxi',
-'blk=kannada' => 'Blk/Kannada',
-'blk=katakana' => 'Blk/Katakana',
-'blk=katakanaext' => 'Blk/Katakan2',
-'blk=katakanaphoneticextensions' => 'Blk/Katakan2',
-'blk=kayahli' => 'Blk/KayahLi',
-'blk=kharoshthi' => 'Blk/Kharosht',
-'blk=khmer' => 'Blk/Khmer',
-'blk=khmersymbols' => 'Blk/KhmerSym',
-'blk=lao' => 'Blk/Lao',
-'blk=latin1' => 'Blk/Latin1',
-'blk=latin1sup' => 'Blk/Latin1',
-'blk=latin1supplement' => 'Blk/Latin1',
-'blk=latinexta' => 'Blk/LatinExt',
-'blk=latinextadditional' => 'Blk/LatinEx5',
-'blk=latinextb' => 'Blk/LatinEx2',
-'blk=latinextc' => 'Blk/LatinEx3',
-'blk=latinextd' => 'Blk/LatinEx4',
-'blk=latinextendeda' => 'Blk/LatinExt',
-'blk=latinextendedadditional' => 'Blk/LatinEx5',
-'blk=latinextendedb' => 'Blk/LatinEx2',
-'blk=latinextendedc' => 'Blk/LatinEx3',
-'blk=latinextendedd' => 'Blk/LatinEx4',
-'blk=lepcha' => 'Blk/Lepcha',
-'blk=letterlikesymbols' => 'Blk/Letterli',
-'blk=limbu' => 'Blk/Limbu',
-'blk=linearbideograms' => 'Blk/LinearBI',
-'blk=linearbsyllabary' => 'Blk/LinearBS',
-'blk=lisu' => 'Blk/Lisu',
-'blk=lowsurrogates' => 'Blk/LowSurro',
-'blk=lycian' => 'Blk/Lycian',
-'blk=lydian' => 'Blk/Lydian',
-'blk=mahjong' => 'Blk/Mahjong',
-'blk=mahjongtiles' => 'Blk/Mahjong',
-'blk=malayalam' => 'Blk/Malayala',
-'blk=mandaic' => 'Blk/Mandaic',
-'blk=mathalphanum' => 'Blk/MathAlph',
-'blk=mathematicalalphanumericsymbols' => 'Blk/MathAlph',
-'blk=mathematicaloperators' => 'Blk/MathOper',
-'blk=mathoperators' => 'Blk/MathOper',
-'blk=meeteimayek' => 'Blk/MeeteiMa',
-'blk=meeteimayekext' => 'Blk/MeeteiM2',
-'blk=meeteimayekextensions' => 'Blk/MeeteiM2',
-'blk=meroiticcursive' => 'Blk/Meroitic',
-'blk=meroitichieroglyphs' => 'Blk/Meroiti2',
-'blk=miao' => 'Blk/Miao',
-'blk=miscarrows' => 'Blk/MiscArro',
-'blk=miscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
-'blk=miscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
-'blk=miscellaneoussymbols' => 'Blk/MiscSymb',
-'blk=miscellaneoussymbolsandarrows' => 'Blk/MiscArro',
-'blk=miscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
-'blk=miscellaneoustechnical' => 'Blk/MiscTech',
-'blk=miscmathsymbolsa' => 'Blk/MiscMath',
-'blk=miscmathsymbolsb' => 'Blk/MiscMat2',
-'blk=miscpictographs' => 'Blk/MiscPict',
-'blk=miscsymbols' => 'Blk/MiscSymb',
-'blk=misctechnical' => 'Blk/MiscTech',
-'blk=modifierletters' => 'Blk/Modifier',
-'blk=modifiertoneletters' => 'Blk/Modifie2',
-'blk=mongolian' => 'Blk/Mongolia',
-'blk=music' => 'Blk/Music',
-'blk=musicalsymbols' => 'Blk/Music',
-'blk=myanmar' => 'Blk/Myanmar',
-'blk=myanmarexta' => 'Blk/MyanmarE',
-'blk=myanmarextendeda' => 'Blk/MyanmarE',
+'blk=aegeannumbers' => '#/245',
+'blk=alchemical' => '#/199',
+'blk=alchemicalsymbols' => '#/199',
+'blk=alphabeticpf' => '#/236',
+'blk=alphabeticpresentationforms' => '#/236',
+'blk=ancientgreekmusic' => '#/281',
+'blk=ancientgreekmusicalnotation' => '#/281',
+'blk=ancientgreeknumbers' => '#/284',
+'blk=ancientsymbols' => '#/252',
+'blk=arabic' => '#/106',
+'blk=arabicexta' => '#/200',
+'blk=arabicextendeda' => '#/200',
+'blk=arabicmath' => '#/201',
+'blk=arabicmathematicalalphabeticsymbols' => '#/201',
+'blk=arabicpfa' => '#/181',
+'blk=arabicpfb' => '#/182',
+'blk=arabicpresentationformsa' => '#/181',
+'blk=arabicpresentationformsb' => '#/182',
+'blk=arabicsup' => '#/183',
+'blk=arabicsupplement' => '#/183',
+'blk=armenian' => '#/157',
+'blk=arrows' => '#/107',
+'blk=ascii' => '#/91',
+'blk=avestan' => '#/129',
+'blk=balinese' => '#/158',
+'blk=bamum' => '#/92',
+'blk=bamumsup' => '#/159',
+'blk=bamumsupplement' => '#/159',
+'blk=basiclatin' => '#/91',
+'blk=batak' => '#/93',
+'blk=bengali' => '#/130',
+'blk=blockelements' => '#/246',
+'blk=bopomofo' => '#/160',
+'blk=bopomofoext' => '#/217',
+'blk=bopomofoextended' => '#/217',
+'blk=boxdrawing' => '#/202',
+'blk=brahmi' => '#/108',
+'blk=braille' => '#/131',
+'blk=braillepatterns' => '#/131',
+'blk=buginese' => '#/161',
+'blk=buhid' => '#/94',
+'blk=byzantinemusic' => '#/253',
+'blk=byzantinemusicalsymbols' => '#/253',
+'blk=canadiansyllabics' => '#/90',
+'blk=carian' => '#/109',
+'blk=chakma' => '#/110',
+'blk=cham' => '#/83',
+'blk=cherokee' => '#/162',
+'blk=cjk' => '#/76',
+'blk=cjkcompat' => '#/184',
+'blk=cjkcompatforms' => '#/254',
+'blk=cjkcompatibility' => '#/184',
+'blk=cjkcompatibilityforms' => '#/254',
+'blk=cjkcompatibilityideographs' => '#/285',
+'blk=cjkcompatibilityideographssupplement' => '#/292',
+'blk=cjkcompatideographs' => '#/285',
+'blk=cjkcompatideographssup' => '#/292',
+'blk=cjkexta' => '#/132',
+'blk=cjkextb' => '#/133',
+'blk=cjkextc' => '#/134',
+'blk=cjkextd' => '#/135',
+'blk=cjkradicalssup' => '#/255',
+'blk=cjkradicalssupplement' => '#/255',
+'blk=cjkstrokes' => '#/203',
+'blk=cjksymbols' => '#/204',
+'blk=cjksymbolsandpunctuation' => '#/204',
+'blk=cjkunifiedideographs' => '#/76',
+'blk=cjkunifiedideographsextensiona' => '#/132',
+'blk=cjkunifiedideographsextensionb' => '#/133',
+'blk=cjkunifiedideographsextensionc' => '#/134',
+'blk=cjkunifiedideographsextensiond' => '#/135',
+'blk=combiningdiacriticalmarks' => '#/239',
+'blk=combiningdiacriticalmarksforsymbols' => '#/293',
+'blk=combiningdiacriticalmarkssupplement' => '#/262',
+'blk=combininghalfmarks' => '#/187',
+'blk=combiningmarksforsymbols' => '#/293',
+'blk=commonindicnumberforms' => '#/275',
+'blk=compatjamo' => '#/205',
+'blk=controlpictures' => '#/260',
+'blk=coptic' => '#/111',
+'blk=countingrod' => '#/218',
+'blk=countingrodnumerals' => '#/218',
+'blk=cuneiform' => '#/185',
+'blk=cuneiformnumbers' => '#/270',
+'blk=cuneiformnumbersandpunctuation' => '#/270',
+'blk=currencysymbols' => '#/261',
+'blk=cypriotsyllabary' => '#/271',
+'blk=cyrillic' => '#/163',
+'blk=cyrillicexta' => '#/237',
+'blk=cyrillicextb' => '#/238',
+'blk=cyrillicextendeda' => '#/237',
+'blk=cyrillicextendedb' => '#/238',
+'blk=cyrillicsup' => '#/219',
+'blk=cyrillicsupplement' => '#/219',
+'blk=cyrillicsupplementary' => '#/219',
+'blk=deseret' => '#/136',
+'blk=devanagari' => '#/206',
+'blk=devanagariext' => '#/247',
+'blk=devanagariextended' => '#/247',
+'blk=diacriticals' => '#/239',
+'blk=diacriticalsforsymbols' => '#/293',
+'blk=diacriticalssup' => '#/262',
+'blk=dingbats' => '#/164',
+'blk=domino' => '#/112',
+'blk=dominotiles' => '#/112',
+'blk=egyptianhieroglyphs' => '#/286',
+'blk=emoticons' => '#/186',
+'blk=enclosedalphanum' => '#/272',
+'blk=enclosedalphanumerics' => '#/272',
+'blk=enclosedalphanumericsupplement' => '#/287',
+'blk=enclosedalphanumsup' => '#/287',
+'blk=enclosedcjk' => '#/220',
+'blk=enclosedcjklettersandmonths' => '#/220',
+'blk=enclosedideographicsup' => '#/294',
+'blk=enclosedideographicsupplement' => '#/294',
+'blk=ethiopic' => '#/165',
+'blk=ethiopicext' => '#/221',
+'blk=ethiopicexta' => '#/240',
+'blk=ethiopicextended' => '#/221',
+'blk=ethiopicextendeda' => '#/240',
+'blk=ethiopicsup' => '#/222',
+'blk=ethiopicsupplement' => '#/222',
+'blk=generalpunctuation' => '#/230',
+'blk=geometricshapes' => '#/263',
+'blk=georgian' => '#/166',
+'blk=georgiansup' => '#/223',
+'blk=georgiansupplement' => '#/223',
+'blk=glagolitic' => '#/207',
+'blk=gothic' => '#/113',
+'blk=greek' => '#/95',
+'blk=greekandcoptic' => '#/95',
+'blk=greekext' => '#/167',
+'blk=greekextended' => '#/167',
+'blk=gujarati' => '#/168',
+'blk=gurmukhi' => '#/169',
+'blk=halfandfullforms' => '#/273',
+'blk=halfmarks' => '#/187',
+'blk=halfwidthandfullwidthforms' => '#/273',
+'blk=hangul' => '#/114',
+'blk=hangulcompatibilityjamo' => '#/205',
+'blk=hanguljamo' => '#/84',
+'blk=hanguljamoextendeda' => '#/171',
+'blk=hanguljamoextendedb' => '#/172',
+'blk=hangulsyllables' => '#/114',
+'blk=hanunoo' => '#/137',
+'blk=hebrew' => '#/115',
+'blk=highprivateusesurrogates' => '#/274',
+'blk=highpusurrogates' => '#/274',
+'blk=highsurrogates' => '#/256',
+'blk=hiragana' => '#/170',
+'blk=idc' => '#/77',
+'blk=ideographicdescriptioncharacters' => '#/77',
+'blk=imperialaramaic' => '#/264',
+'blk=indicnumberforms' => '#/275',
+'blk=inscriptionalpahlavi' => '#/290',
+'blk=inscriptionalparthian' => '#/291',
+'blk=ipaext' => '#/116',
+'blk=ipaextensions' => '#/116',
+'blk=jamo' => '#/84',
+'blk=jamoexta' => '#/171',
+'blk=jamoextb' => '#/172',
+'blk=javanese' => '#/173',
+'blk=kaithi' => '#/117',
+'blk=kanasup' => '#/138',
+'blk=kanasupplement' => '#/138',
+'blk=kanbun' => '#/118',
+'blk=kangxi' => '#/119',
+'blk=kangxiradicals' => '#/119',
+'blk=kannada' => '#/139',
+'blk=katakana' => '#/174',
+'blk=katakanaext' => '#/224',
+'blk=katakanaphoneticextensions' => '#/224',
+'blk=kayahli' => '#/140',
+'blk=kharoshthi' => '#/208',
+'blk=khmer' => '#/96',
+'blk=khmersymbols' => '#/241',
+'blk=lao' => '#/78',
+'blk=latin1' => '#/120',
+'blk=latin1sup' => '#/120',
+'blk=latin1supplement' => '#/120',
+'blk=latinexta' => '#/188',
+'blk=latinextadditional' => '#/283',
+'blk=latinextb' => '#/189',
+'blk=latinextc' => '#/190',
+'blk=latinextd' => '#/191',
+'blk=latinextendeda' => '#/188',
+'blk=latinextendedadditional' => '#/283',
+'blk=latinextendedb' => '#/189',
+'blk=latinextendedc' => '#/190',
+'blk=latinextendedd' => '#/191',
+'blk=lepcha' => '#/121',
+'blk=letterlikesymbols' => '#/282',
+'blk=limbu' => '#/97',
+'blk=linearbideograms' => '#/276',
+'blk=linearbsyllabary' => '#/277',
+'blk=lisu' => '#/85',
+'blk=lowsurrogates' => '#/248',
+'blk=lycian' => '#/122',
+'blk=lydian' => '#/123',
+'blk=mahjong' => '#/141',
+'blk=mahjongtiles' => '#/141',
+'blk=malayalam' => '#/192',
+'blk=mandaic' => '#/142',
+'blk=mathalphanum' => '#/242',
+'blk=mathematicalalphanumericsymbols' => '#/242',
+'blk=mathematicaloperators' => '#/249',
+'blk=mathoperators' => '#/249',
+'blk=meeteimayek' => '#/225',
+'blk=meeteimayekext' => '#/257',
+'blk=meeteimayekextensions' => '#/257',
+'blk=meroiticcursive' => '#/265',
+'blk=meroitichieroglyphs' => '#/288',
+'blk=miao' => '#/86',
+'blk=miscarrows' => '#/209',
+'blk=miscellaneousmathematicalsymbolsa' => '#/278',
+'blk=miscellaneousmathematicalsymbolsb' => '#/279',
+'blk=miscellaneoussymbols' => '#/226',
+'blk=miscellaneoussymbolsandarrows' => '#/209',
+'blk=miscellaneoussymbolsandpictographs' => '#/266',
+'blk=miscellaneoustechnical' => '#/250',
+'blk=miscmathsymbolsa' => '#/278',
+'blk=miscmathsymbolsb' => '#/279',
+'blk=miscpictographs' => '#/266',
+'blk=miscsymbols' => '#/226',
+'blk=misctechnical' => '#/250',
+'blk=modifierletters' => '#/267',
+'blk=modifiertoneletters' => '#/289',
+'blk=mongolian' => '#/193',
+'blk=music' => '#/98',
+'blk=musicalsymbols' => '#/98',
+'blk=myanmar' => '#/143',
+'blk=myanmarexta' => '#/227',
+'blk=myanmarextendeda' => '#/227',
'blk=nb' => 'Blk/NB',
-'blk=newtailue' => 'Blk/NewTaiLu',
-'blk=nko' => 'Blk/NKo',
+'blk=newtailue' => '#/194',
+'blk=nko' => '#/79',
'blk=noblock' => 'Blk/NB',
-'blk=numberforms' => 'Blk/NumberFo',
-'blk=ocr' => 'Blk/OCR',
-'blk=ogham' => 'Blk/Ogham',
-'blk=olchiki' => 'Blk/OlChiki',
-'blk=olditalic' => 'Blk/OldItali',
-'blk=oldpersian' => 'Blk/OldPersi',
-'blk=oldsoutharabian' => 'Blk/OldSouth',
-'blk=oldturkic' => 'Blk/OldTurki',
-'blk=opticalcharacterrecognition' => 'Blk/OCR',
-'blk=oriya' => 'Blk/Oriya',
-'blk=osmanya' => 'Blk/Osmanya',
-'blk=phagspa' => 'Blk/PhagsPa',
-'blk=phaistos' => 'Blk/Phaistos',
-'blk=phaistosdisc' => 'Blk/Phaistos',
-'blk=phoenician' => 'Blk/Phoenici',
-'blk=phoneticext' => 'Blk/Phonetic',
-'blk=phoneticextensions' => 'Blk/Phonetic',
-'blk=phoneticextensionssupplement' => 'Blk/Phoneti2',
-'blk=phoneticextsup' => 'Blk/Phoneti2',
-'blk=playingcards' => 'Blk/PlayingC',
-'blk=privateuse' => 'Blk/PUA',
-'blk=privateusearea' => 'Blk/PUA',
-'blk=pua' => 'Blk/PUA',
-'blk=punctuation' => 'Blk/Punctuat',
-'blk=rejang' => 'Blk/Rejang',
-'blk=rumi' => 'Blk/Rumi',
-'blk=ruminumeralsymbols' => 'Blk/Rumi',
-'blk=runic' => 'Blk/Runic',
-'blk=samaritan' => 'Blk/Samarita',
-'blk=saurashtra' => 'Blk/Saurasht',
-'blk=sharada' => 'Blk/Sharada',
-'blk=shavian' => 'Blk/Shavian',
-'blk=sinhala' => 'Blk/Sinhala',
-'blk=smallforms' => 'Blk/SmallFor',
-'blk=smallformvariants' => 'Blk/SmallFor',
-'blk=sorasompeng' => 'Blk/SoraSomp',
-'blk=spacingmodifierletters' => 'Blk/Modifier',
-'blk=specials' => 'Blk/Specials',
-'blk=sundanese' => 'Blk/Sundanes',
-'blk=sundanesesup' => 'Blk/Sundane2',
-'blk=sundanesesupplement' => 'Blk/Sundane2',
-'blk=suparrowsa' => 'Blk/SupArrow',
-'blk=suparrowsb' => 'Blk/SupArro2',
-'blk=superandsub' => 'Blk/SuperAnd',
-'blk=superscriptsandsubscripts' => 'Blk/SuperAnd',
-'blk=supmathoperators' => 'Blk/SupMathO',
-'blk=supplementalarrowsa' => 'Blk/SupArrow',
-'blk=supplementalarrowsb' => 'Blk/SupArro2',
-'blk=supplementalmathematicaloperators' => 'Blk/SupMathO',
-'blk=supplementalpunctuation' => 'Blk/SupPunct',
-'blk=supplementaryprivateuseareaa' => 'Blk/SupPUAA',
-'blk=supplementaryprivateuseareab' => 'Blk/SupPUAB',
-'blk=suppuaa' => 'Blk/SupPUAA',
-'blk=suppuab' => 'Blk/SupPUAB',
-'blk=suppunctuation' => 'Blk/SupPunct',
-'blk=sylotinagri' => 'Blk/SylotiNa',
-'blk=syriac' => 'Blk/Syriac',
-'blk=tagalog' => 'Blk/Tagalog',
-'blk=tagbanwa' => 'Blk/Tagbanwa',
-'blk=tags' => 'Blk/Tags',
-'blk=taile' => 'Blk/TaiLe',
-'blk=taitham' => 'Blk/TaiTham',
-'blk=taiviet' => 'Blk/TaiViet',
-'blk=taixuanjing' => 'Blk/TaiXuanJ',
-'blk=taixuanjingsymbols' => 'Blk/TaiXuanJ',
-'blk=takri' => 'Blk/Takri',
-'blk=tamil' => 'Blk/Tamil',
-'blk=telugu' => 'Blk/Telugu',
-'blk=thaana' => 'Blk/Thaana',
-'blk=thai' => 'Blk/Thai',
-'blk=tibetan' => 'Blk/Tibetan',
-'blk=tifinagh' => 'Blk/Tifinagh',
-'blk=transportandmap' => 'Blk/Transpor',
-'blk=transportandmapsymbols' => 'Blk/Transpor',
-'blk=ucas' => 'Blk/UCAS',
-'blk=ucasext' => 'Blk/UCASExt',
-'blk=ugaritic' => 'Blk/Ugaritic',
-'blk=unifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
-'blk=unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
-'blk=vai' => 'Blk/Vai',
-'blk=variationselectors' => 'Blk/VS',
-'blk=variationselectorssupplement' => 'Blk/VSSup',
-'blk=vedicext' => 'Blk/VedicExt',
-'blk=vedicextensions' => 'Blk/VedicExt',
-'blk=verticalforms' => 'Blk/Vertical',
-'blk=vs' => 'Blk/VS',
-'blk=vssup' => 'Blk/VSSup',
-'blk=yijing' => 'Blk/Yijing',
-'blk=yijinghexagramsymbols' => 'Blk/Yijing',
-'blk=yiradicals' => 'Blk/YiRadica',
-'blk=yisyllables' => 'Blk/YiSyllab',
-'blockelements' => 'Blk/BlockEle',
-'bopo' => 'Sc/Bopo',
-'bopomofo' => 'Sc/Bopo',
-'bopomofoext' => 'Blk/Bopomof2',
-'bopomofoextended' => 'Blk/Bopomof2',
-'boxdrawing' => 'Blk/BoxDrawi',
-'brah' => 'Sc/Brah',
-'brahmi' => 'Sc/Brah',
-'brai' => 'Blk/Braille',
-'braille' => 'Blk/Braille',
-'braillepatterns' => 'Blk/Braille',
-'bugi' => 'Sc/Bugi',
-'buginese' => 'Sc/Bugi',
-'buhd' => 'Sc/Buhd',
-'buhid' => 'Sc/Buhd',
-'byzantinemusic' => 'Blk/Byzantin',
-'byzantinemusicalsymbols' => 'Blk/Byzantin',
+'blk=numberforms' => '#/228',
+'blk=ocr' => '#/80',
+'blk=ogham' => '#/99',
+'blk=olchiki' => '#/144',
+'blk=olditalic' => '#/195',
+'blk=oldpersian' => '#/210',
+'blk=oldsoutharabian' => '#/268',
+'blk=oldturkic' => '#/196',
+'blk=opticalcharacterrecognition' => '#/80',
+'blk=oriya' => '#/100',
+'blk=osmanya' => '#/145',
+'blk=phagspa' => '#/146',
+'blk=phaistos' => '#/175',
+'blk=phaistosdisc' => '#/175',
+'blk=phoenician' => '#/211',
+'blk=phoneticext' => '#/229',
+'blk=phoneticextensions' => '#/229',
+'blk=phoneticextensionssupplement' => '#/258',
+'blk=phoneticextsup' => '#/258',
+'blk=playingcards' => '#/243',
+'blk=privateuse' => '#/81',
+'blk=privateusearea' => '#/81',
+'blk=pua' => '#/81',
+'blk=punctuation' => '#/230',
+'blk=rejang' => '#/124',
+'blk=rumi' => '#/87',
+'blk=ruminumeralsymbols' => '#/87',
+'blk=runic' => '#/101',
+'blk=samaritan' => '#/197',
+'blk=saurashtra' => '#/212',
+'blk=sharada' => '#/147',
+'blk=shavian' => '#/148',
+'blk=sinhala' => '#/149',
+'blk=smallforms' => '#/213',
+'blk=smallformvariants' => '#/213',
+'blk=sorasompeng' => '#/231',
+'blk=spacingmodifierletters' => '#/267',
+'blk=specials' => '#/176',
+'blk=sundanese' => '#/198',
+'blk=sundanesesup' => '#/244',
+'blk=sundanesesupplement' => '#/244',
+'blk=suparrowsa' => '#/214',
+'blk=suparrowsb' => '#/215',
+'blk=superandsub' => '#/232',
+'blk=superscriptsandsubscripts' => '#/232',
+'blk=supmathoperators' => '#/280',
+'blk=supplementalarrowsa' => '#/214',
+'blk=supplementalarrowsb' => '#/215',
+'blk=supplementalmathematicaloperators' => '#/280',
+'blk=supplementalpunctuation' => '#/259',
+'blk=supplementaryprivateuseareaa' => '#/150',
+'blk=supplementaryprivateuseareab' => '#/151',
+'blk=suppuaa' => '#/150',
+'blk=suppuab' => '#/151',
+'blk=suppunctuation' => '#/259',
+'blk=sylotinagri' => '#/233',
+'blk=syriac' => '#/125',
+'blk=tagalog' => '#/152',
+'blk=tagbanwa' => '#/177',
+'blk=tags' => '#/88',
+'blk=taile' => '#/102',
+'blk=taitham' => '#/153',
+'blk=taiviet' => '#/154',
+'blk=taixuanjing' => '#/234',
+'blk=taixuanjingsymbols' => '#/234',
+'blk=takri' => '#/103',
+'blk=tamil' => '#/104',
+'blk=telugu' => '#/126',
+'blk=thaana' => '#/127',
+'blk=thai' => '#/89',
+'blk=tibetan' => '#/155',
+'blk=tifinagh' => '#/178',
+'blk=transportandmap' => '#/269',
+'blk=transportandmapsymbols' => '#/269',
+'blk=ucas' => '#/90',
+'blk=ucasext' => '#/156',
+'blk=ugaritic' => '#/179',
+'blk=unifiedcanadianaboriginalsyllabics' => '#/90',
+'blk=unifiedcanadianaboriginalsyllabicsextended' => '#/156',
+'blk=vai' => '#/82',
+'blk=variationselectors' => '#/75',
+'blk=variationselectorssupplement' => '#/105',
+'blk=vedicext' => '#/180',
+'blk=vedicextensions' => '#/180',
+'blk=verticalforms' => '#/251',
+'blk=vs' => '#/75',
+'blk=vssup' => '#/105',
+'blk=yijing' => '#/128',
+'blk=yijinghexagramsymbols' => '#/128',
+'blk=yiradicals' => '#/216',
+'blk=yisyllables' => '#/235',
+'blockelements' => '#/246',
+'bopo' => '#/457',
+'bopomofo' => '#/457',
+'bopomofoext' => '#/217',
+'bopomofoextended' => '#/217',
+'boxdrawing' => '#/202',
+'bpt=c' => 'Bpt/C',
+'bpt=close' => 'Bpt/C',
+'bpt=n' => 'Bpt/N',
+'bpt=none' => 'Bpt/N',
+'bpt=o' => 'Bpt/O',
+'bpt=open' => 'Bpt/O',
+'brah' => '#/458',
+'brahmi' => '#/458',
+'brai' => '#/131',
+'braille' => '#/131',
+'braillepatterns' => '#/131',
+'bugi' => '#/459',
+'buginese' => '#/459',
+'buhd' => '#/460',
+'buhid' => '#/460',
+'byzantinemusic' => '#/253',
+'byzantinemusicalsymbols' => '#/253',
'c' => 'Gc/C',
-'cakm' => 'Sc/Cakm',
-'canadianaboriginal' => 'Sc/Cans',
-'canadiansyllabics' => 'Blk/UCAS',
-'cans' => 'Sc/Cans',
-'cari' => 'Sc/Cari',
-'carian' => 'Sc/Cari',
+'cakm' => '#/461',
+'canadianaboriginal' => '#/462',
+'canadiansyllabics' => '#/90',
+'cans' => '#/462',
+'cari' => '#/463',
+'carian' => '#/463',
'cased' => 'Cased/Y',
'cased=f' => '!Cased/Y',
'cased=false' => '!Cased/Y',
@@ -888,82 +2790,82 @@
'cased=yes' => 'Cased/Y',
'casedletter' => 'Gc/LC',
'caseignorable' => 'CI/Y',
-'cc' => 'Gc/Cc',
+'cc' => '#/298',
'ccc=a' => 'Ccc/A',
'ccc=above' => 'Ccc/A',
-'ccc=aboveleft' => 'Ccc/AL',
+'ccc=aboveleft' => '#/3',
'ccc=aboveright' => 'Ccc/AR',
-'ccc=al' => 'Ccc/AL',
+'ccc=al' => '#/3',
'ccc=ar' => 'Ccc/AR',
-'ccc=ata' => 'Ccc/ATA',
+'ccc=ata' => '#/8',
'ccc=atar' => 'Ccc/ATAR',
-'ccc=atb' => 'Ccc/ATB',
-'ccc=atbl' => '!Perl/Any',
-'ccc=attachedabove' => 'Ccc/ATA',
+'ccc=atb' => '#/9',
+'ccc=atbl' => '#/0',
+'ccc=attachedabove' => '#/8',
'ccc=attachedaboveright' => 'Ccc/ATAR',
-'ccc=attachedbelow' => 'Ccc/ATB',
-'ccc=attachedbelowleft' => '!Perl/Any',
+'ccc=attachedbelow' => '#/9',
+'ccc=attachedbelowleft' => '#/0',
'ccc=b' => 'Ccc/B',
'ccc=below' => 'Ccc/B',
-'ccc=belowleft' => 'Ccc/BL',
+'ccc=belowleft' => '#/4',
'ccc=belowright' => 'Ccc/BR',
-'ccc=bl' => 'Ccc/BL',
+'ccc=bl' => '#/4',
'ccc=br' => 'Ccc/BR',
-'ccc=ccc10' => 'Ccc/CCC10',
-'ccc=ccc103' => 'Ccc/CCC103',
-'ccc=ccc107' => 'Ccc/CCC107',
-'ccc=ccc11' => 'Ccc/CCC11',
-'ccc=ccc118' => 'Ccc/CCC118',
-'ccc=ccc12' => 'Ccc/CCC12',
-'ccc=ccc122' => 'Ccc/CCC122',
-'ccc=ccc129' => 'Ccc/CCC129',
-'ccc=ccc13' => 'Ccc/CCC13',
-'ccc=ccc130' => 'Ccc/CCC130',
-'ccc=ccc132' => 'Ccc/CCC132',
-'ccc=ccc133' => '!Perl/Any',
-'ccc=ccc14' => 'Ccc/CCC14',
-'ccc=ccc15' => 'Ccc/CCC15',
-'ccc=ccc16' => 'Ccc/CCC16',
-'ccc=ccc17' => 'Ccc/CCC17',
-'ccc=ccc18' => 'Ccc/CCC18',
-'ccc=ccc19' => 'Ccc/CCC19',
-'ccc=ccc20' => 'Ccc/CCC20',
-'ccc=ccc21' => 'Ccc/CCC21',
-'ccc=ccc22' => 'Ccc/CCC22',
-'ccc=ccc23' => 'Ccc/CCC23',
-'ccc=ccc24' => 'Ccc/CCC24',
-'ccc=ccc25' => 'Ccc/CCC25',
-'ccc=ccc26' => 'Ccc/CCC26',
-'ccc=ccc27' => 'Ccc/CCC27',
-'ccc=ccc28' => 'Ccc/CCC28',
-'ccc=ccc29' => 'Ccc/CCC29',
-'ccc=ccc30' => 'Ccc/CCC30',
-'ccc=ccc31' => 'Ccc/CCC31',
-'ccc=ccc32' => 'Ccc/CCC32',
-'ccc=ccc33' => 'Ccc/CCC33',
-'ccc=ccc34' => 'Ccc/CCC34',
-'ccc=ccc35' => 'Ccc/CCC35',
-'ccc=ccc36' => 'Ccc/CCC36',
-'ccc=ccc84' => 'Ccc/CCC84',
-'ccc=ccc91' => 'Ccc/CCC91',
-'ccc=da' => 'Ccc/DA',
+'ccc=ccc10' => '#/10',
+'ccc=ccc103' => '#/39',
+'ccc=ccc107' => '#/40',
+'ccc=ccc11' => '#/11',
+'ccc=ccc118' => '#/41',
+'ccc=ccc12' => '#/12',
+'ccc=ccc122' => '#/42',
+'ccc=ccc129' => '#/43',
+'ccc=ccc13' => '#/13',
+'ccc=ccc130' => '#/44',
+'ccc=ccc132' => '#/45',
+'ccc=ccc133' => '#/0',
+'ccc=ccc14' => '#/14',
+'ccc=ccc15' => '#/15',
+'ccc=ccc16' => '#/16',
+'ccc=ccc17' => '#/17',
+'ccc=ccc18' => '#/18',
+'ccc=ccc19' => '#/19',
+'ccc=ccc20' => '#/20',
+'ccc=ccc21' => '#/21',
+'ccc=ccc22' => '#/22',
+'ccc=ccc23' => '#/23',
+'ccc=ccc24' => '#/24',
+'ccc=ccc25' => '#/25',
+'ccc=ccc26' => '#/26',
+'ccc=ccc27' => '#/27',
+'ccc=ccc28' => '#/28',
+'ccc=ccc29' => '#/29',
+'ccc=ccc30' => '#/30',
+'ccc=ccc31' => '#/31',
+'ccc=ccc32' => '#/32',
+'ccc=ccc33' => '#/33',
+'ccc=ccc34' => '#/34',
+'ccc=ccc35' => '#/35',
+'ccc=ccc36' => '#/36',
+'ccc=ccc84' => '#/37',
+'ccc=ccc91' => '#/38',
+'ccc=da' => '#/5',
'ccc=db' => 'Ccc/DB',
-'ccc=doubleabove' => 'Ccc/DA',
+'ccc=doubleabove' => '#/5',
'ccc=doublebelow' => 'Ccc/DB',
-'ccc=iotasubscript' => 'Ccc/IS',
-'ccc=is' => 'Ccc/IS',
-'ccc=kanavoicing' => 'Ccc/KV',
-'ccc=kv' => 'Ccc/KV',
-'ccc=l' => 'Ccc/L',
-'ccc=left' => 'Ccc/L',
+'ccc=iotasubscript' => '#/6',
+'ccc=is' => '#/6',
+'ccc=kanavoicing' => '#/7',
+'ccc=kv' => '#/7',
+'ccc=l' => '#/1',
+'ccc=left' => '#/1',
'ccc=nk' => 'Ccc/NK',
'ccc=notreordered' => 'Ccc/NR',
'ccc=nr' => 'Ccc/NR',
'ccc=nukta' => 'Ccc/NK',
'ccc=ov' => 'Ccc/OV',
'ccc=overlay' => 'Ccc/OV',
-'ccc=r' => 'Ccc/R',
-'ccc=right' => 'Ccc/R',
+'ccc=r' => '#/2',
+'ccc=right' => '#/2',
'ccc=virama' => 'Ccc/VR',
'ccc=vr' => 'Ccc/VR',
'ce' => 'CE/Y',
@@ -976,7 +2878,7 @@
'ce=y' => 'CE/Y',
'ce=yes' => 'CE/Y',
'cf' => 'Gc/Cf',
-'chakma' => 'Sc/Cakm',
+'chakma' => '#/461',
'cham' => 'Sc/Cham',
'changeswhencasefolded' => 'CWCF/Y',
'changeswhencasemapped' => 'CWCM/Y',
@@ -984,8 +2886,8 @@
'changeswhennfkccasefolded' => 'CWKCF/Y',
'changeswhentitlecased' => 'CWT/Y',
'changeswhenuppercased' => 'CWU/Y',
-'cher' => 'Sc/Cher',
-'cherokee' => 'Sc/Cher',
+'cher' => '#/464',
+'cherokee' => '#/464',
'ci' => 'CI/Y',
'ci=f' => '!CI/Y',
'ci=false' => '!CI/Y',
@@ -995,42 +2897,42 @@
'ci=true' => 'CI/Y',
'ci=y' => 'CI/Y',
'ci=yes' => 'CI/Y',
-'cjk' => 'Blk/CJK',
-'cjkcompat' => 'Blk/CJKCompa',
-'cjkcompatforms' => 'Blk/CJKComp2',
-'cjkcompatibility' => 'Blk/CJKCompa',
-'cjkcompatibilityforms' => 'Blk/CJKComp2',
-'cjkcompatibilityideographs' => 'Blk/CJKComp3',
-'cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
-'cjkcompatideographs' => 'Blk/CJKComp3',
-'cjkcompatideographssup' => 'Blk/CJKComp4',
-'cjkexta' => 'Blk/CJKExtA',
-'cjkextb' => 'Blk/CJKExtB',
-'cjkextc' => 'Blk/CJKExtC',
-'cjkextd' => 'Blk/CJKExtD',
-'cjkradicalssup' => 'Blk/CJKRadic',
-'cjkradicalssupplement' => 'Blk/CJKRadic',
-'cjkstrokes' => 'Blk/CJKStrok',
-'cjksymbols' => 'Blk/CJKSymbo',
-'cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
-'cjkunifiedideographs' => 'Blk/CJK',
-'cjkunifiedideographsextensiona' => 'Blk/CJKExtA',
-'cjkunifiedideographsextensionb' => 'Blk/CJKExtB',
-'cjkunifiedideographsextensionc' => 'Blk/CJKExtC',
-'cjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'cjk' => '#/76',
+'cjkcompat' => '#/184',
+'cjkcompatforms' => '#/254',
+'cjkcompatibility' => '#/184',
+'cjkcompatibilityforms' => '#/254',
+'cjkcompatibilityideographs' => '#/285',
+'cjkcompatibilityideographssupplement' => '#/292',
+'cjkcompatideographs' => '#/285',
+'cjkcompatideographssup' => '#/292',
+'cjkexta' => '#/132',
+'cjkextb' => '#/133',
+'cjkextc' => '#/134',
+'cjkextd' => '#/135',
+'cjkradicalssup' => '#/255',
+'cjkradicalssupplement' => '#/255',
+'cjkstrokes' => '#/203',
+'cjksymbols' => '#/204',
+'cjksymbolsandpunctuation' => '#/204',
+'cjkunifiedideographs' => '#/76',
+'cjkunifiedideographsextensiona' => '#/132',
+'cjkunifiedideographsextensionb' => '#/133',
+'cjkunifiedideographsextensionc' => '#/134',
+'cjkunifiedideographsextensiond' => '#/135',
'closepunctuation' => 'Gc/Pe',
'cn' => 'Gc/Cn',
-'cntrl' => 'Gc/Cc',
-'co' => 'Gc/Co',
-'combiningdiacriticalmarks' => 'Blk/Diacriti',
-'combiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
-'combiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
-'combininghalfmarks' => 'Blk/HalfMark',
+'cntrl' => '#/298',
+'co' => '#/299',
+'combiningdiacriticalmarks' => '#/239',
+'combiningdiacriticalmarksforsymbols' => '#/293',
+'combiningdiacriticalmarkssupplement' => '#/262',
+'combininghalfmarks' => '#/187',
'combiningmark' => 'Gc/M',
-'combiningmarksforsymbols' => 'Blk/Diacrit3',
+'combiningmarksforsymbols' => '#/293',
'common' => 'Sc/Zyyy',
-'commonindicnumberforms' => 'Blk/IndicNum',
-'compatjamo' => 'Blk/CompatJa',
+'commonindicnumberforms' => '#/275',
+'compatjamo' => '#/205',
'compex' => 'CompEx/Y',
'compex=f' => '!CompEx/Y',
'compex=false' => '!CompEx/Y',
@@ -1042,19 +2944,19 @@
'compex=yes' => 'CompEx/Y',
'compositionexclusion' => 'CE/Y',
'connectorpunctuation' => 'WB/EX',
-'control' => 'Gc/Cc',
-'controlpictures' => 'Blk/ControlP',
-'copt' => 'Sc/Copt',
-'coptic' => 'Sc/Copt',
-'countingrod' => 'Blk/Counting',
-'countingrodnumerals' => 'Blk/Counting',
+'control' => '#/298',
+'controlpictures' => '#/260',
+'copt' => '#/465',
+'coptic' => '#/465',
+'countingrod' => '#/218',
+'countingrodnumerals' => '#/218',
'cprt' => 'Sc/Cprt',
-'cs' => 'Gc/Cs',
-'cuneiform' => 'Sc/Xsux',
-'cuneiformnumbers' => 'Blk/Cuneifo2',
-'cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'cs' => '#/300',
+'cuneiform' => '#/507',
+'cuneiformnumbers' => '#/270',
+'cuneiformnumbersandpunctuation' => '#/270',
'currencysymbol' => 'Gc/Sc',
-'currencysymbols' => 'Blk/Currency',
+'currencysymbols' => '#/261',
'cwcf' => 'CWCF/Y',
'cwcf=f' => '!CWCF/Y',
'cwcf=false' => '!CWCF/Y',
@@ -1110,15 +3012,15 @@
'cwu=y' => 'CWU/Y',
'cwu=yes' => 'CWU/Y',
'cypriot' => 'Sc/Cprt',
-'cypriotsyllabary' => 'Blk/CypriotS',
+'cypriotsyllabary' => '#/271',
'cyrillic' => 'Sc/Cyrl',
-'cyrillicexta' => 'Blk/Cyrilli3',
-'cyrillicextb' => 'Blk/Cyrilli4',
-'cyrillicextendeda' => 'Blk/Cyrilli3',
-'cyrillicextendedb' => 'Blk/Cyrilli4',
-'cyrillicsup' => 'Blk/Cyrilli2',
-'cyrillicsupplement' => 'Blk/Cyrilli2',
-'cyrillicsupplementary' => 'Blk/Cyrilli2',
+'cyrillicexta' => '#/237',
+'cyrillicextb' => '#/238',
+'cyrillicextendeda' => '#/237',
+'cyrillicextendedb' => '#/238',
+'cyrillicsup' => '#/219',
+'cyrillicsupplement' => '#/219',
+'cyrillicsupplementary' => '#/219',
'cyrl' => 'Sc/Cyrl',
'dash' => 'Dash/Y',
'dash=f' => '!Dash/Y',
@@ -1142,11 +3044,11 @@
'dep=y' => 'Dep/Y',
'dep=yes' => 'Dep/Y',
'deprecated' => 'Dep/Y',
-'deseret' => 'Blk/Deseret',
+'deseret' => '#/136',
'deva' => 'Sc/Deva',
'devanagari' => 'Sc/Deva',
-'devanagariext' => 'Blk/Devanag2',
-'devanagariextended' => 'Blk/Devanag2',
+'devanagariext' => '#/247',
+'devanagariextended' => '#/247',
'di' => 'DI/Y',
'di=f' => '!DI/Y',
'di=false' => '!DI/Y',
@@ -1166,14 +3068,14 @@
'dia=y' => 'Dia/Y',
'dia=yes' => 'Dia/Y',
'diacritic' => 'Dia/Y',
-'diacriticals' => 'Blk/Diacriti',
-'diacriticalsforsymbols' => 'Blk/Diacrit3',
-'diacriticalssup' => 'Blk/Diacrit2',
+'diacriticals' => '#/239',
+'diacriticalsforsymbols' => '#/293',
+'diacriticalssup' => '#/262',
'digit' => 'Gc/Nd',
-'dingbats' => 'Blk/Dingbats',
-'domino' => 'Blk/Domino',
-'dominotiles' => 'Blk/Domino',
-'dsrt' => 'Blk/Deseret',
+'dingbats' => '#/164',
+'domino' => '#/112',
+'dominotiles' => '#/112',
+'dsrt' => '#/136',
'dt=can' => 'NFDQC/N',
'dt=canonical' => 'NFDQC/N',
'dt=circle' => 'Dt/Enc',
@@ -1183,8 +3085,8 @@
'dt=fin' => 'Dt/Fin',
'dt=final' => 'Dt/Fin',
'dt=font' => 'Dt/Font',
-'dt=fra' => 'Dt/Fra',
-'dt=fraction' => 'Dt/Fra',
+'dt=fra' => '#/295',
+'dt=fraction' => '#/295',
'dt=init' => 'Dt/Init',
'dt=initial' => 'Dt/Init',
'dt=iso' => 'Dt/Iso',
@@ -1198,8 +3100,8 @@
'dt=noncanon' => 'Dt/NonCanon',
'dt=noncanonical' => 'Dt/NonCanon',
'dt=none' => 'NFKDQC/Y',
-'dt=small' => 'Dt/Sml',
-'dt=sml' => 'Dt/Sml',
+'dt=small' => '#/296',
+'dt=sml' => '#/296',
'dt=sqr' => 'Dt/Sqr',
'dt=square' => 'Dt/Sqr',
'dt=sub' => 'Dt/Sub',
@@ -1207,11 +3109,11 @@
'dt=super' => 'Dt/Sup',
'dt=vert' => 'Dt/Vert',
'dt=vertical' => 'Dt/Vert',
-'dt=wide' => 'Dt/Wide',
+'dt=wide' => '#/297',
'ea=a' => 'Ea/A',
'ea=ambiguous' => 'Ea/A',
-'ea=f' => 'Dt/Wide',
-'ea=fullwidth' => 'Dt/Wide',
+'ea=f' => '#/297',
+'ea=fullwidth' => '#/297',
'ea=h' => 'Ea/H',
'ea=halfwidth' => 'Ea/H',
'ea=n' => 'Ea/N',
@@ -1220,26 +3122,26 @@
'ea=neutral' => 'Ea/N',
'ea=w' => 'Ea/W',
'ea=wide' => 'Ea/W',
-'egyp' => 'Sc/Egyp',
-'egyptianhieroglyphs' => 'Sc/Egyp',
-'emoticons' => 'Blk/Emoticon',
-'enclosedalphanum' => 'Blk/Enclose2',
-'enclosedalphanumerics' => 'Blk/Enclose2',
-'enclosedalphanumericsupplement' => 'Blk/Enclose3',
-'enclosedalphanumsup' => 'Blk/Enclose3',
-'enclosedcjk' => 'Blk/Enclosed',
-'enclosedcjklettersandmonths' => 'Blk/Enclosed',
-'enclosedideographicsup' => 'Blk/Enclose4',
-'enclosedideographicsupplement' => 'Blk/Enclose4',
+'egyp' => '#/466',
+'egyptianhieroglyphs' => '#/466',
+'emoticons' => '#/186',
+'enclosedalphanum' => '#/272',
+'enclosedalphanumerics' => '#/272',
+'enclosedalphanumericsupplement' => '#/287',
+'enclosedalphanumsup' => '#/287',
+'enclosedcjk' => '#/220',
+'enclosedcjklettersandmonths' => '#/220',
+'enclosedideographicsup' => '#/294',
+'enclosedideographicsupplement' => '#/294',
'enclosingmark' => 'Gc/Me',
'ethi' => 'Sc/Ethi',
'ethiopic' => 'Sc/Ethi',
-'ethiopicext' => 'Blk/Ethiopi2',
-'ethiopicexta' => 'Blk/Ethiopi4',
-'ethiopicextended' => 'Blk/Ethiopi2',
-'ethiopicextendeda' => 'Blk/Ethiopi4',
-'ethiopicsup' => 'Blk/Ethiopi3',
-'ethiopicsupplement' => 'Blk/Ethiopi3',
+'ethiopicext' => '#/221',
+'ethiopicexta' => '#/240',
+'ethiopicextended' => '#/221',
+'ethiopicextendeda' => '#/240',
+'ethiopicsup' => '#/222',
+'ethiopicsupplement' => '#/222',
'ext' => 'Ext/Y',
'ext=f' => '!Ext/Y',
'ext=false' => '!Ext/Y',
@@ -1255,16 +3157,16 @@
'fullcompositionexclusion' => 'CompEx/Y',
'gc=c' => 'Gc/C',
'gc=casedletter' => 'Gc/LC',
-'gc=cc' => 'Gc/Cc',
+'gc=cc' => '#/298',
'gc=cf' => 'Gc/Cf',
'gc=closepunctuation' => 'Gc/Pe',
'gc=cn' => 'Gc/Cn',
-'gc=cntrl' => 'Gc/Cc',
-'gc=co' => 'Gc/Co',
+'gc=cntrl' => '#/298',
+'gc=co' => '#/299',
'gc=combiningmark' => 'Gc/M',
'gc=connectorpunctuation' => 'WB/EX',
-'gc=control' => 'Gc/Cc',
-'gc=cs' => 'Gc/Cs',
+'gc=control' => '#/298',
+'gc=cs' => '#/300',
'gc=currencysymbol' => 'Gc/Sc',
'gc=dashpunctuation' => 'Gc/Pd',
'gc=decimalnumber' => 'Gc/Nd',
@@ -1279,12 +3181,12 @@
'gc=lc' => 'Gc/LC',
'gc=letter' => 'Gc/L',
'gc=letternumber' => 'Gc/Nl',
-'gc=lineseparator' => 'Gc/Zl',
+'gc=lineseparator' => '#/301',
'gc=ll' => 'Gc/Ll',
'gc=lm' => 'Gc/Lm',
'gc=lo' => 'Gc/Lo',
'gc=lowercaseletter' => 'Gc/Ll',
-'gc=lt' => 'Perl/Title',
+'gc=lt' => 'Gc/Lt',
'gc=lu' => 'Gc/Lu',
'gc=m' => 'Gc/M',
'gc=mark' => 'Gc/M',
@@ -1307,14 +3209,14 @@
'gc=otherpunctuation' => 'Gc/Po',
'gc=othersymbol' => 'Gc/So',
'gc=p' => 'Gc/P',
-'gc=paragraphseparator' => 'Gc/Zp',
+'gc=paragraphseparator' => '#/302',
'gc=pc' => 'WB/EX',
'gc=pd' => 'Gc/Pd',
'gc=pe' => 'Gc/Pe',
'gc=pf' => 'Gc/Pf',
'gc=pi' => 'Gc/Pi',
'gc=po' => 'Gc/Po',
-'gc=privateuse' => 'Gc/Co',
+'gc=privateuse' => '#/299',
'gc=ps' => 'Gc/Ps',
'gc=punct' => 'Gc/P',
'gc=punctuation' => 'Gc/P',
@@ -1326,44 +3228,44 @@
'gc=so' => 'Gc/So',
'gc=spaceseparator' => 'Gc/Zs',
'gc=spacingmark' => 'Gc/Mc',
-'gc=surrogate' => 'Gc/Cs',
+'gc=surrogate' => '#/300',
'gc=symbol' => 'Gc/S',
-'gc=titlecaseletter' => 'Perl/Title',
+'gc=titlecaseletter' => 'Gc/Lt',
'gc=unassigned' => 'Gc/Cn',
'gc=uppercaseletter' => 'Gc/Lu',
'gc=z' => 'Gc/Z',
-'gc=zl' => 'Gc/Zl',
-'gc=zp' => 'Gc/Zp',
+'gc=zl' => '#/301',
+'gc=zp' => '#/302',
'gc=zs' => 'Gc/Zs',
'gcb=cn' => 'GCB/CN',
'gcb=control' => 'GCB/CN',
-'gcb=cr' => 'GCB/CR',
+'gcb=cr' => '#/50',
'gcb=ex' => 'GCB/EX',
'gcb=extend' => 'GCB/EX',
-'gcb=l' => 'Perl/_XGCBL',
-'gcb=lf' => 'GCB/LF',
-'gcb=lv' => 'Perl/_XGCBLV',
-'gcb=lvt' => 'Perl/_XGCBLVT',
+'gcb=l' => '#/47',
+'gcb=lf' => '#/51',
+'gcb=lv' => 'GCB/LV',
+'gcb=lvt' => 'GCB/LVT',
'gcb=other' => 'GCB/XX',
-'gcb=pp' => '!Perl/Any',
-'gcb=prepend' => '!Perl/Any',
-'gcb=regionalindicator' => 'Perl/_XRI',
-'gcb=ri' => 'Perl/_XRI',
+'gcb=pp' => '#/0',
+'gcb=prepend' => '#/0',
+'gcb=regionalindicator' => '#/52',
+'gcb=ri' => '#/52',
'gcb=sm' => 'GCB/SM',
'gcb=spacingmark' => 'GCB/SM',
-'gcb=t' => 'Perl/_XGCBT',
-'gcb=v' => 'Perl/_XGCBV',
+'gcb=t' => '#/48',
+'gcb=v' => '#/49',
'gcb=xx' => 'GCB/XX',
-'generalpunctuation' => 'Blk/Punctuat',
-'geometricshapes' => 'Blk/Geometri',
+'generalpunctuation' => '#/230',
+'geometricshapes' => '#/263',
'geor' => 'Sc/Geor',
'georgian' => 'Sc/Geor',
-'georgiansup' => 'Blk/Georgia2',
-'georgiansupplement' => 'Blk/Georgia2',
-'glag' => 'Sc/Glag',
-'glagolitic' => 'Sc/Glag',
-'goth' => 'Sc/Goth',
-'gothic' => 'Sc/Goth',
+'georgiansup' => '#/223',
+'georgiansupplement' => '#/223',
+'glag' => '#/467',
+'glagolitic' => '#/467',
+'goth' => '#/468',
+'gothic' => '#/468',
'graph' => 'Perl/Graph',
'graphemebase' => 'GrBase/Y',
'graphemeextend' => 'GCB/EX',
@@ -1377,9 +3279,9 @@
'grbase=y' => 'GrBase/Y',
'grbase=yes' => 'GrBase/Y',
'greek' => 'Sc/Grek',
-'greekandcoptic' => 'Blk/Greek',
-'greekext' => 'Blk/GreekExt',
-'greekextended' => 'Blk/GreekExt',
+'greekandcoptic' => '#/95',
+'greekext' => '#/167',
+'greekextended' => '#/167',
'grek' => 'Sc/Grek',
'grext' => 'GCB/EX',
'grext=f' => '!GCB/EX',
@@ -1394,20 +3296,20 @@
'gujr' => 'Sc/Gujr',
'gurmukhi' => 'Sc/Guru',
'guru' => 'Sc/Guru',
-'halfandfullforms' => 'Blk/HalfAndF',
-'halfmarks' => 'Blk/HalfMark',
-'halfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'halfandfullforms' => '#/273',
+'halfmarks' => '#/187',
+'halfwidthandfullwidthforms' => '#/273',
'han' => 'Sc/Han',
'hang' => 'Sc/Hang',
'hangul' => 'Sc/Hang',
-'hangulcompatibilityjamo' => 'Blk/CompatJa',
-'hanguljamo' => 'Blk/Jamo',
-'hanguljamoextendeda' => 'Blk/JamoExtA',
-'hanguljamoextendedb' => 'Blk/JamoExtB',
-'hangulsyllables' => 'Blk/Hangul',
+'hangulcompatibilityjamo' => '#/205',
+'hanguljamo' => '#/84',
+'hanguljamoextendeda' => '#/171',
+'hanguljamoextendedb' => '#/172',
+'hangulsyllables' => '#/114',
'hani' => 'Sc/Han',
-'hano' => 'Sc/Hano',
-'hanunoo' => 'Sc/Hano',
+'hano' => '#/469',
+'hanunoo' => '#/469',
'hebr' => 'Sc/Hebr',
'hebrew' => 'Sc/Hebr',
'hex' => 'Hex/Y',
@@ -1420,24 +3322,24 @@
'hex=y' => 'Hex/Y',
'hex=yes' => 'Hex/Y',
'hexdigit' => 'Hex/Y',
-'highprivateusesurrogates' => 'Blk/HighPUSu',
-'highpusurrogates' => 'Blk/HighPUSu',
-'highsurrogates' => 'Blk/HighSurr',
+'highprivateusesurrogates' => '#/274',
+'highpusurrogates' => '#/274',
+'highsurrogates' => '#/256',
'hira' => 'Sc/Hira',
'hiragana' => 'Sc/Hira',
'horizspace' => 'Perl/Blank',
-'hst=l' => 'Perl/_XGCBL',
-'hst=leadingjamo' => 'Perl/_XGCBL',
-'hst=lv' => 'Perl/_XGCBLV',
-'hst=lvsyllable' => 'Perl/_XGCBLV',
-'hst=lvt' => 'Perl/_XGCBLVT',
-'hst=lvtsyllable' => 'Perl/_XGCBLVT',
+'hst=l' => '#/47',
+'hst=leadingjamo' => '#/47',
+'hst=lv' => 'GCB/LV',
+'hst=lvsyllable' => 'GCB/LV',
+'hst=lvt' => 'GCB/LVT',
+'hst=lvtsyllable' => 'GCB/LVT',
'hst=na' => 'Hst/NA',
'hst=notapplicable' => 'Hst/NA',
-'hst=t' => 'Perl/_XGCBT',
-'hst=trailingjamo' => 'Perl/_XGCBT',
-'hst=v' => 'Perl/_XGCBV',
-'hst=voweljamo' => 'Perl/_XGCBV',
+'hst=t' => '#/48',
+'hst=trailingjamo' => '#/48',
+'hst=v' => '#/49',
+'hst=voweljamo' => '#/49',
'hyphen' => 'Hyphen/Y',
'hyphen=f' => '!Hyphen/Y',
'hyphen=false' => '!Hyphen/Y',
@@ -1467,7 +3369,7 @@
'ideo=y' => 'Ideo/Y',
'ideo=yes' => 'Ideo/Y',
'ideographic' => 'Ideo/Y',
-'ideographicdescriptioncharacters' => 'Blk/IDC',
+'ideographicdescriptioncharacters' => '#/77',
'ids' => 'IDS/Y',
'ids=f' => '!IDS/Y',
'ids=false' => '!IDS/Y',
@@ -1477,409 +3379,409 @@
'ids=true' => 'IDS/Y',
'ids=y' => 'IDS/Y',
'ids=yes' => 'IDS/Y',
-'idsb' => 'IDSB/Y',
-'idsb=f' => '!IDSB/Y',
-'idsb=false' => '!IDSB/Y',
-'idsb=n' => '!IDSB/Y',
-'idsb=no' => '!IDSB/Y',
-'idsb=t' => 'IDSB/Y',
-'idsb=true' => 'IDSB/Y',
-'idsb=y' => 'IDSB/Y',
-'idsb=yes' => 'IDSB/Y',
-'idsbinaryoperator' => 'IDSB/Y',
-'idst' => 'IDST/Y',
-'idst=f' => '!IDST/Y',
-'idst=false' => '!IDST/Y',
-'idst=n' => '!IDST/Y',
-'idst=no' => '!IDST/Y',
-'idst=t' => 'IDST/Y',
-'idst=true' => 'IDST/Y',
-'idst=y' => 'IDST/Y',
-'idst=yes' => 'IDST/Y',
+'idsb' => '#/53',
+'idsb=f' => '#/!53',
+'idsb=false' => '#/!53',
+'idsb=n' => '#/!53',
+'idsb=no' => '#/!53',
+'idsb=t' => '#/53',
+'idsb=true' => '#/53',
+'idsb=y' => '#/53',
+'idsb=yes' => '#/53',
+'idsbinaryoperator' => '#/53',
+'idst' => '#/54',
+'idst=f' => '#/!54',
+'idst=false' => '#/!54',
+'idst=n' => '#/!54',
+'idst=no' => '#/!54',
+'idst=t' => '#/54',
+'idst=true' => '#/54',
+'idst=y' => '#/54',
+'idst=yes' => '#/54',
'idstart' => 'IDS/Y',
-'idstrinaryoperator' => 'IDST/Y',
-'imperialaramaic' => 'Sc/Armi',
+'idstrinaryoperator' => '#/54',
+'imperialaramaic' => '#/452',
'in=unassigned' => 'Age/NA',
-'inaegeannumbers' => 'Blk/AegeanNu',
-'inalchemical' => 'Blk/Alchemic',
-'inalchemicalsymbols' => 'Blk/Alchemic',
-'inalphabeticpf' => 'Blk/Alphabet',
-'inalphabeticpresentationforms' => 'Blk/Alphabet',
-'inancientgreekmusic' => 'Blk/AncientG',
-'inancientgreekmusicalnotation' => 'Blk/AncientG',
-'inancientgreeknumbers' => 'Blk/Ancient2',
-'inancientsymbols' => 'Blk/AncientS',
-'inarabic' => 'Blk/Arabic',
-'inarabicexta' => 'Blk/ArabicEx',
-'inarabicextendeda' => 'Blk/ArabicEx',
-'inarabicmath' => 'Blk/ArabicMa',
-'inarabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
-'inarabicpfa' => 'Blk/ArabicPF',
-'inarabicpfb' => 'Blk/ArabicP2',
-'inarabicpresentationformsa' => 'Blk/ArabicPF',
-'inarabicpresentationformsb' => 'Blk/ArabicP2',
-'inarabicsup' => 'Blk/ArabicSu',
-'inarabicsupplement' => 'Blk/ArabicSu',
-'inarmenian' => 'Blk/Armenian',
-'inarrows' => 'Blk/Arrows',
-'inascii' => 'Blk/ASCII',
-'inavestan' => 'Blk/Avestan',
-'inbalinese' => 'Blk/Balinese',
-'inbamum' => 'Blk/Bamum',
-'inbamumsup' => 'Blk/BamumSup',
-'inbamumsupplement' => 'Blk/BamumSup',
-'inbasiclatin' => 'Blk/ASCII',
-'inbatak' => 'Blk/Batak',
-'inbengali' => 'Blk/Bengali',
-'inblockelements' => 'Blk/BlockEle',
-'inbopomofo' => 'Blk/Bopomofo',
-'inbopomofoext' => 'Blk/Bopomof2',
-'inbopomofoextended' => 'Blk/Bopomof2',
-'inboxdrawing' => 'Blk/BoxDrawi',
-'inbrahmi' => 'Blk/Brahmi',
-'inbraille' => 'Blk/Braille',
-'inbraillepatterns' => 'Blk/Braille',
-'inbuginese' => 'Blk/Buginese',
-'inbuhid' => 'Blk/Buhid',
-'inbyzantinemusic' => 'Blk/Byzantin',
-'inbyzantinemusicalsymbols' => 'Blk/Byzantin',
-'incanadiansyllabics' => 'Blk/UCAS',
-'incarian' => 'Blk/Carian',
-'inchakma' => 'Blk/Chakma',
-'incham' => 'Blk/Cham',
-'incherokee' => 'Blk/Cherokee',
-'incjk' => 'Blk/CJK',
-'incjkcompat' => 'Blk/CJKCompa',
-'incjkcompatforms' => 'Blk/CJKComp2',
-'incjkcompatibility' => 'Blk/CJKCompa',
-'incjkcompatibilityforms' => 'Blk/CJKComp2',
-'incjkcompatibilityideographs' => 'Blk/CJKComp3',
-'incjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
-'incjkcompatideographs' => 'Blk/CJKComp3',
-'incjkcompatideographssup' => 'Blk/CJKComp4',
-'incjkexta' => 'Blk/CJKExtA',
-'incjkextb' => 'Blk/CJKExtB',
-'incjkextc' => 'Blk/CJKExtC',
-'incjkextd' => 'Blk/CJKExtD',
-'incjkradicalssup' => 'Blk/CJKRadic',
-'incjkradicalssupplement' => 'Blk/CJKRadic',
-'incjkstrokes' => 'Blk/CJKStrok',
-'incjksymbols' => 'Blk/CJKSymbo',
-'incjksymbolsandpunctuation' => 'Blk/CJKSymbo',
-'incjkunifiedideographs' => 'Blk/CJK',
-'incjkunifiedideographsextensiona' => 'Blk/CJKExtA',
-'incjkunifiedideographsextensionb' => 'Blk/CJKExtB',
-'incjkunifiedideographsextensionc' => 'Blk/CJKExtC',
-'incjkunifiedideographsextensiond' => 'Blk/CJKExtD',
-'incombiningdiacriticalmarks' => 'Blk/Diacriti',
-'incombiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
-'incombiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
-'incombininghalfmarks' => 'Blk/HalfMark',
-'incombiningmarksforsymbols' => 'Blk/Diacrit3',
-'incommonindicnumberforms' => 'Blk/IndicNum',
-'incompatjamo' => 'Blk/CompatJa',
-'incontrolpictures' => 'Blk/ControlP',
-'incoptic' => 'Blk/Coptic',
-'incountingrod' => 'Blk/Counting',
-'incountingrodnumerals' => 'Blk/Counting',
-'incuneiform' => 'Blk/Cuneifor',
-'incuneiformnumbers' => 'Blk/Cuneifo2',
-'incuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
-'incurrencysymbols' => 'Blk/Currency',
-'incypriotsyllabary' => 'Blk/CypriotS',
-'incyrillic' => 'Blk/Cyrillic',
-'incyrillicexta' => 'Blk/Cyrilli3',
-'incyrillicextb' => 'Blk/Cyrilli4',
-'incyrillicextendeda' => 'Blk/Cyrilli3',
-'incyrillicextendedb' => 'Blk/Cyrilli4',
-'incyrillicsup' => 'Blk/Cyrilli2',
-'incyrillicsupplement' => 'Blk/Cyrilli2',
-'incyrillicsupplementary' => 'Blk/Cyrilli2',
-'indeseret' => 'Blk/Deseret',
-'indevanagari' => 'Blk/Devanaga',
-'indevanagariext' => 'Blk/Devanag2',
-'indevanagariextended' => 'Blk/Devanag2',
-'indiacriticals' => 'Blk/Diacriti',
-'indiacriticalsforsymbols' => 'Blk/Diacrit3',
-'indiacriticalssup' => 'Blk/Diacrit2',
-'indicnumberforms' => 'Blk/IndicNum',
-'indingbats' => 'Blk/Dingbats',
-'indomino' => 'Blk/Domino',
-'indominotiles' => 'Blk/Domino',
-'inegyptianhieroglyphs' => 'Blk/Egyptian',
-'inemoticons' => 'Blk/Emoticon',
-'inenclosedalphanum' => 'Blk/Enclose2',
-'inenclosedalphanumerics' => 'Blk/Enclose2',
-'inenclosedalphanumericsupplement' => 'Blk/Enclose3',
-'inenclosedalphanumsup' => 'Blk/Enclose3',
-'inenclosedcjk' => 'Blk/Enclosed',
-'inenclosedcjklettersandmonths' => 'Blk/Enclosed',
-'inenclosedideographicsup' => 'Blk/Enclose4',
-'inenclosedideographicsupplement' => 'Blk/Enclose4',
-'inethiopic' => 'Blk/Ethiopic',
-'inethiopicext' => 'Blk/Ethiopi2',
-'inethiopicexta' => 'Blk/Ethiopi4',
-'inethiopicextended' => 'Blk/Ethiopi2',
-'inethiopicextendeda' => 'Blk/Ethiopi4',
-'inethiopicsup' => 'Blk/Ethiopi3',
-'inethiopicsupplement' => 'Blk/Ethiopi3',
-'ingeneralpunctuation' => 'Blk/Punctuat',
-'ingeometricshapes' => 'Blk/Geometri',
-'ingeorgian' => 'Blk/Georgian',
-'ingeorgiansup' => 'Blk/Georgia2',
-'ingeorgiansupplement' => 'Blk/Georgia2',
-'inglagolitic' => 'Blk/Glagolit',
-'ingothic' => 'Blk/Gothic',
-'ingreek' => 'Blk/Greek',
-'ingreekandcoptic' => 'Blk/Greek',
-'ingreekext' => 'Blk/GreekExt',
-'ingreekextended' => 'Blk/GreekExt',
-'ingujarati' => 'Blk/Gujarati',
-'ingurmukhi' => 'Blk/Gurmukhi',
-'inhalfandfullforms' => 'Blk/HalfAndF',
-'inhalfmarks' => 'Blk/HalfMark',
-'inhalfwidthandfullwidthforms' => 'Blk/HalfAndF',
-'inhangul' => 'Blk/Hangul',
-'inhangulcompatibilityjamo' => 'Blk/CompatJa',
-'inhanguljamo' => 'Blk/Jamo',
-'inhanguljamoextendeda' => 'Blk/JamoExtA',
-'inhanguljamoextendedb' => 'Blk/JamoExtB',
-'inhangulsyllables' => 'Blk/Hangul',
-'inhanunoo' => 'Blk/Hanunoo',
-'inhebrew' => 'Blk/Hebrew',
+'inaegeannumbers' => '#/245',
+'inalchemical' => '#/199',
+'inalchemicalsymbols' => '#/199',
+'inalphabeticpf' => '#/236',
+'inalphabeticpresentationforms' => '#/236',
+'inancientgreekmusic' => '#/281',
+'inancientgreekmusicalnotation' => '#/281',
+'inancientgreeknumbers' => '#/284',
+'inancientsymbols' => '#/252',
+'inarabic' => '#/106',
+'inarabicexta' => '#/200',
+'inarabicextendeda' => '#/200',
+'inarabicmath' => '#/201',
+'inarabicmathematicalalphabeticsymbols' => '#/201',
+'inarabicpfa' => '#/181',
+'inarabicpfb' => '#/182',
+'inarabicpresentationformsa' => '#/181',
+'inarabicpresentationformsb' => '#/182',
+'inarabicsup' => '#/183',
+'inarabicsupplement' => '#/183',
+'inarmenian' => '#/157',
+'inarrows' => '#/107',
+'inascii' => '#/91',
+'inavestan' => '#/129',
+'inbalinese' => '#/158',
+'inbamum' => '#/92',
+'inbamumsup' => '#/159',
+'inbamumsupplement' => '#/159',
+'inbasiclatin' => '#/91',
+'inbatak' => '#/93',
+'inbengali' => '#/130',
+'inblockelements' => '#/246',
+'inbopomofo' => '#/160',
+'inbopomofoext' => '#/217',
+'inbopomofoextended' => '#/217',
+'inboxdrawing' => '#/202',
+'inbrahmi' => '#/108',
+'inbraille' => '#/131',
+'inbraillepatterns' => '#/131',
+'inbuginese' => '#/161',
+'inbuhid' => '#/94',
+'inbyzantinemusic' => '#/253',
+'inbyzantinemusicalsymbols' => '#/253',
+'incanadiansyllabics' => '#/90',
+'incarian' => '#/109',
+'inchakma' => '#/110',
+'incham' => '#/83',
+'incherokee' => '#/162',
+'incjk' => '#/76',
+'incjkcompat' => '#/184',
+'incjkcompatforms' => '#/254',
+'incjkcompatibility' => '#/184',
+'incjkcompatibilityforms' => '#/254',
+'incjkcompatibilityideographs' => '#/285',
+'incjkcompatibilityideographssupplement' => '#/292',
+'incjkcompatideographs' => '#/285',
+'incjkcompatideographssup' => '#/292',
+'incjkexta' => '#/132',
+'incjkextb' => '#/133',
+'incjkextc' => '#/134',
+'incjkextd' => '#/135',
+'incjkradicalssup' => '#/255',
+'incjkradicalssupplement' => '#/255',
+'incjkstrokes' => '#/203',
+'incjksymbols' => '#/204',
+'incjksymbolsandpunctuation' => '#/204',
+'incjkunifiedideographs' => '#/76',
+'incjkunifiedideographsextensiona' => '#/132',
+'incjkunifiedideographsextensionb' => '#/133',
+'incjkunifiedideographsextensionc' => '#/134',
+'incjkunifiedideographsextensiond' => '#/135',
+'incombiningdiacriticalmarks' => '#/239',
+'incombiningdiacriticalmarksforsymbols' => '#/293',
+'incombiningdiacriticalmarkssupplement' => '#/262',
+'incombininghalfmarks' => '#/187',
+'incombiningmarksforsymbols' => '#/293',
+'incommonindicnumberforms' => '#/275',
+'incompatjamo' => '#/205',
+'incontrolpictures' => '#/260',
+'incoptic' => '#/111',
+'incountingrod' => '#/218',
+'incountingrodnumerals' => '#/218',
+'incuneiform' => '#/185',
+'incuneiformnumbers' => '#/270',
+'incuneiformnumbersandpunctuation' => '#/270',
+'incurrencysymbols' => '#/261',
+'incypriotsyllabary' => '#/271',
+'incyrillic' => '#/163',
+'incyrillicexta' => '#/237',
+'incyrillicextb' => '#/238',
+'incyrillicextendeda' => '#/237',
+'incyrillicextendedb' => '#/238',
+'incyrillicsup' => '#/219',
+'incyrillicsupplement' => '#/219',
+'incyrillicsupplementary' => '#/219',
+'indeseret' => '#/136',
+'indevanagari' => '#/206',
+'indevanagariext' => '#/247',
+'indevanagariextended' => '#/247',
+'indiacriticals' => '#/239',
+'indiacriticalsforsymbols' => '#/293',
+'indiacriticalssup' => '#/262',
+'indicnumberforms' => '#/275',
+'indingbats' => '#/164',
+'indomino' => '#/112',
+'indominotiles' => '#/112',
+'inegyptianhieroglyphs' => '#/286',
+'inemoticons' => '#/186',
+'inenclosedalphanum' => '#/272',
+'inenclosedalphanumerics' => '#/272',
+'inenclosedalphanumericsupplement' => '#/287',
+'inenclosedalphanumsup' => '#/287',
+'inenclosedcjk' => '#/220',
+'inenclosedcjklettersandmonths' => '#/220',
+'inenclosedideographicsup' => '#/294',
+'inenclosedideographicsupplement' => '#/294',
+'inethiopic' => '#/165',
+'inethiopicext' => '#/221',
+'inethiopicexta' => '#/240',
+'inethiopicextended' => '#/221',
+'inethiopicextendeda' => '#/240',
+'inethiopicsup' => '#/222',
+'inethiopicsupplement' => '#/222',
+'ingeneralpunctuation' => '#/230',
+'ingeometricshapes' => '#/263',
+'ingeorgian' => '#/166',
+'ingeorgiansup' => '#/223',
+'ingeorgiansupplement' => '#/223',
+'inglagolitic' => '#/207',
+'ingothic' => '#/113',
+'ingreek' => '#/95',
+'ingreekandcoptic' => '#/95',
+'ingreekext' => '#/167',
+'ingreekextended' => '#/167',
+'ingujarati' => '#/168',
+'ingurmukhi' => '#/169',
+'inhalfandfullforms' => '#/273',
+'inhalfmarks' => '#/187',
+'inhalfwidthandfullwidthforms' => '#/273',
+'inhangul' => '#/114',
+'inhangulcompatibilityjamo' => '#/205',
+'inhanguljamo' => '#/84',
+'inhanguljamoextendeda' => '#/171',
+'inhanguljamoextendedb' => '#/172',
+'inhangulsyllables' => '#/114',
+'inhanunoo' => '#/137',
+'inhebrew' => '#/115',
'inherited' => 'Sc/Zinh',
-'inhighprivateusesurrogates' => 'Blk/HighPUSu',
-'inhighpusurrogates' => 'Blk/HighPUSu',
-'inhighsurrogates' => 'Blk/HighSurr',
-'inhiragana' => 'Blk/Hiragana',
-'inidc' => 'Blk/IDC',
-'inideographicdescriptioncharacters' => 'Blk/IDC',
-'inimperialaramaic' => 'Blk/Imperial',
-'inindicnumberforms' => 'Blk/IndicNum',
-'ininscriptionalpahlavi' => 'Blk/Inscript',
-'ininscriptionalparthian' => 'Blk/Inscrip2',
-'inipaext' => 'Blk/IPAExt',
-'inipaextensions' => 'Blk/IPAExt',
+'inhighprivateusesurrogates' => '#/274',
+'inhighpusurrogates' => '#/274',
+'inhighsurrogates' => '#/256',
+'inhiragana' => '#/170',
+'inidc' => '#/77',
+'inideographicdescriptioncharacters' => '#/77',
+'inimperialaramaic' => '#/264',
+'inindicnumberforms' => '#/275',
+'ininscriptionalpahlavi' => '#/290',
+'ininscriptionalparthian' => '#/291',
+'inipaext' => '#/116',
+'inipaextensions' => '#/116',
'initialpunctuation' => 'Gc/Pi',
-'injamo' => 'Blk/Jamo',
-'injamoexta' => 'Blk/JamoExtA',
-'injamoextb' => 'Blk/JamoExtB',
-'injavanese' => 'Blk/Javanese',
-'inkaithi' => 'Blk/Kaithi',
-'inkanasup' => 'Blk/KanaSup',
-'inkanasupplement' => 'Blk/KanaSup',
-'inkanbun' => 'Blk/Kanbun',
-'inkangxi' => 'Blk/Kangxi',
-'inkangxiradicals' => 'Blk/Kangxi',
-'inkannada' => 'Blk/Kannada',
-'inkatakana' => 'Blk/Katakana',
-'inkatakanaext' => 'Blk/Katakan2',
-'inkatakanaphoneticextensions' => 'Blk/Katakan2',
-'inkayahli' => 'Blk/KayahLi',
-'inkharoshthi' => 'Blk/Kharosht',
-'inkhmer' => 'Blk/Khmer',
-'inkhmersymbols' => 'Blk/KhmerSym',
-'inlao' => 'Blk/Lao',
-'inlatin1' => 'Blk/Latin1',
-'inlatin1sup' => 'Blk/Latin1',
-'inlatin1supplement' => 'Blk/Latin1',
-'inlatinexta' => 'Blk/LatinExt',
-'inlatinextadditional' => 'Blk/LatinEx5',
-'inlatinextb' => 'Blk/LatinEx2',
-'inlatinextc' => 'Blk/LatinEx3',
-'inlatinextd' => 'Blk/LatinEx4',
-'inlatinextendeda' => 'Blk/LatinExt',
-'inlatinextendedadditional' => 'Blk/LatinEx5',
-'inlatinextendedb' => 'Blk/LatinEx2',
-'inlatinextendedc' => 'Blk/LatinEx3',
-'inlatinextendedd' => 'Blk/LatinEx4',
-'inlepcha' => 'Blk/Lepcha',
-'inletterlikesymbols' => 'Blk/Letterli',
-'inlimbu' => 'Blk/Limbu',
-'inlinearbideograms' => 'Blk/LinearBI',
-'inlinearbsyllabary' => 'Blk/LinearBS',
-'inlisu' => 'Blk/Lisu',
-'inlowsurrogates' => 'Blk/LowSurro',
-'inlycian' => 'Blk/Lycian',
-'inlydian' => 'Blk/Lydian',
-'inmahjong' => 'Blk/Mahjong',
-'inmahjongtiles' => 'Blk/Mahjong',
-'inmalayalam' => 'Blk/Malayala',
-'inmandaic' => 'Blk/Mandaic',
-'inmathalphanum' => 'Blk/MathAlph',
-'inmathematicalalphanumericsymbols' => 'Blk/MathAlph',
-'inmathematicaloperators' => 'Blk/MathOper',
-'inmathoperators' => 'Blk/MathOper',
-'inmeeteimayek' => 'Blk/MeeteiMa',
-'inmeeteimayekext' => 'Blk/MeeteiM2',
-'inmeeteimayekextensions' => 'Blk/MeeteiM2',
-'inmeroiticcursive' => 'Blk/Meroitic',
-'inmeroitichieroglyphs' => 'Blk/Meroiti2',
-'inmiao' => 'Blk/Miao',
-'inmiscarrows' => 'Blk/MiscArro',
-'inmiscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
-'inmiscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
-'inmiscellaneoussymbols' => 'Blk/MiscSymb',
-'inmiscellaneoussymbolsandarrows' => 'Blk/MiscArro',
-'inmiscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
-'inmiscellaneoustechnical' => 'Blk/MiscTech',
-'inmiscmathsymbolsa' => 'Blk/MiscMath',
-'inmiscmathsymbolsb' => 'Blk/MiscMat2',
-'inmiscpictographs' => 'Blk/MiscPict',
-'inmiscsymbols' => 'Blk/MiscSymb',
-'inmisctechnical' => 'Blk/MiscTech',
-'inmodifierletters' => 'Blk/Modifier',
-'inmodifiertoneletters' => 'Blk/Modifie2',
-'inmongolian' => 'Blk/Mongolia',
-'inmusic' => 'Blk/Music',
-'inmusicalsymbols' => 'Blk/Music',
-'inmyanmar' => 'Blk/Myanmar',
-'inmyanmarexta' => 'Blk/MyanmarE',
-'inmyanmarextendeda' => 'Blk/MyanmarE',
+'injamo' => '#/84',
+'injamoexta' => '#/171',
+'injamoextb' => '#/172',
+'injavanese' => '#/173',
+'inkaithi' => '#/117',
+'inkanasup' => '#/138',
+'inkanasupplement' => '#/138',
+'inkanbun' => '#/118',
+'inkangxi' => '#/119',
+'inkangxiradicals' => '#/119',
+'inkannada' => '#/139',
+'inkatakana' => '#/174',
+'inkatakanaext' => '#/224',
+'inkatakanaphoneticextensions' => '#/224',
+'inkayahli' => '#/140',
+'inkharoshthi' => '#/208',
+'inkhmer' => '#/96',
+'inkhmersymbols' => '#/241',
+'inlao' => '#/78',
+'inlatin1' => '#/120',
+'inlatin1sup' => '#/120',
+'inlatin1supplement' => '#/120',
+'inlatinexta' => '#/188',
+'inlatinextadditional' => '#/283',
+'inlatinextb' => '#/189',
+'inlatinextc' => '#/190',
+'inlatinextd' => '#/191',
+'inlatinextendeda' => '#/188',
+'inlatinextendedadditional' => '#/283',
+'inlatinextendedb' => '#/189',
+'inlatinextendedc' => '#/190',
+'inlatinextendedd' => '#/191',
+'inlepcha' => '#/121',
+'inletterlikesymbols' => '#/282',
+'inlimbu' => '#/97',
+'inlinearbideograms' => '#/276',
+'inlinearbsyllabary' => '#/277',
+'inlisu' => '#/85',
+'inlowsurrogates' => '#/248',
+'inlycian' => '#/122',
+'inlydian' => '#/123',
+'inmahjong' => '#/141',
+'inmahjongtiles' => '#/141',
+'inmalayalam' => '#/192',
+'inmandaic' => '#/142',
+'inmathalphanum' => '#/242',
+'inmathematicalalphanumericsymbols' => '#/242',
+'inmathematicaloperators' => '#/249',
+'inmathoperators' => '#/249',
+'inmeeteimayek' => '#/225',
+'inmeeteimayekext' => '#/257',
+'inmeeteimayekextensions' => '#/257',
+'inmeroiticcursive' => '#/265',
+'inmeroitichieroglyphs' => '#/288',
+'inmiao' => '#/86',
+'inmiscarrows' => '#/209',
+'inmiscellaneousmathematicalsymbolsa' => '#/278',
+'inmiscellaneousmathematicalsymbolsb' => '#/279',
+'inmiscellaneoussymbols' => '#/226',
+'inmiscellaneoussymbolsandarrows' => '#/209',
+'inmiscellaneoussymbolsandpictographs' => '#/266',
+'inmiscellaneoustechnical' => '#/250',
+'inmiscmathsymbolsa' => '#/278',
+'inmiscmathsymbolsb' => '#/279',
+'inmiscpictographs' => '#/266',
+'inmiscsymbols' => '#/226',
+'inmisctechnical' => '#/250',
+'inmodifierletters' => '#/267',
+'inmodifiertoneletters' => '#/289',
+'inmongolian' => '#/193',
+'inmusic' => '#/98',
+'inmusicalsymbols' => '#/98',
+'inmyanmar' => '#/143',
+'inmyanmarexta' => '#/227',
+'inmyanmarextendeda' => '#/227',
'innb' => 'Blk/NB',
-'innewtailue' => 'Blk/NewTaiLu',
-'innko' => 'Blk/NKo',
+'innewtailue' => '#/194',
+'innko' => '#/79',
'innoblock' => 'Blk/NB',
-'innumberforms' => 'Blk/NumberFo',
-'inocr' => 'Blk/OCR',
-'inogham' => 'Blk/Ogham',
-'inolchiki' => 'Blk/OlChiki',
-'inolditalic' => 'Blk/OldItali',
-'inoldpersian' => 'Blk/OldPersi',
-'inoldsoutharabian' => 'Blk/OldSouth',
-'inoldturkic' => 'Blk/OldTurki',
-'inopticalcharacterrecognition' => 'Blk/OCR',
-'inoriya' => 'Blk/Oriya',
-'inosmanya' => 'Blk/Osmanya',
-'inphagspa' => 'Blk/PhagsPa',
-'inphaistos' => 'Blk/Phaistos',
-'inphaistosdisc' => 'Blk/Phaistos',
-'inphoenician' => 'Blk/Phoenici',
-'inphoneticext' => 'Blk/Phonetic',
-'inphoneticextensions' => 'Blk/Phonetic',
-'inphoneticextensionssupplement' => 'Blk/Phoneti2',
-'inphoneticextsup' => 'Blk/Phoneti2',
-'inplayingcards' => 'Blk/PlayingC',
-'inprivateuse' => 'Blk/PUA',
-'inprivateusearea' => 'Blk/PUA',
-'inpua' => 'Blk/PUA',
-'inpunctuation' => 'Blk/Punctuat',
-'inrejang' => 'Blk/Rejang',
-'inrumi' => 'Blk/Rumi',
-'inruminumeralsymbols' => 'Blk/Rumi',
-'inrunic' => 'Blk/Runic',
-'insamaritan' => 'Blk/Samarita',
-'insaurashtra' => 'Blk/Saurasht',
-'inscriptionalpahlavi' => 'Sc/Phli',
-'inscriptionalparthian' => 'Sc/Prti',
-'insharada' => 'Blk/Sharada',
-'inshavian' => 'Blk/Shavian',
-'insinhala' => 'Blk/Sinhala',
-'insmallforms' => 'Blk/SmallFor',
-'insmallformvariants' => 'Blk/SmallFor',
-'insorasompeng' => 'Blk/SoraSomp',
-'inspacingmodifierletters' => 'Blk/Modifier',
-'inspecials' => 'Blk/Specials',
-'insundanese' => 'Blk/Sundanes',
-'insundanesesup' => 'Blk/Sundane2',
-'insundanesesupplement' => 'Blk/Sundane2',
-'insuparrowsa' => 'Blk/SupArrow',
-'insuparrowsb' => 'Blk/SupArro2',
-'insuperandsub' => 'Blk/SuperAnd',
-'insuperscriptsandsubscripts' => 'Blk/SuperAnd',
-'insupmathoperators' => 'Blk/SupMathO',
-'insupplementalarrowsa' => 'Blk/SupArrow',
-'insupplementalarrowsb' => 'Blk/SupArro2',
-'insupplementalmathematicaloperators' => 'Blk/SupMathO',
-'insupplementalpunctuation' => 'Blk/SupPunct',
-'insupplementaryprivateuseareaa' => 'Blk/SupPUAA',
-'insupplementaryprivateuseareab' => 'Blk/SupPUAB',
-'insuppuaa' => 'Blk/SupPUAA',
-'insuppuab' => 'Blk/SupPUAB',
-'insuppunctuation' => 'Blk/SupPunct',
-'insylotinagri' => 'Blk/SylotiNa',
-'insyriac' => 'Blk/Syriac',
-'intagalog' => 'Blk/Tagalog',
-'intagbanwa' => 'Blk/Tagbanwa',
-'intags' => 'Blk/Tags',
-'intaile' => 'Blk/TaiLe',
-'intaitham' => 'Blk/TaiTham',
-'intaiviet' => 'Blk/TaiViet',
-'intaixuanjing' => 'Blk/TaiXuanJ',
-'intaixuanjingsymbols' => 'Blk/TaiXuanJ',
-'intakri' => 'Blk/Takri',
-'intamil' => 'Blk/Tamil',
-'intelugu' => 'Blk/Telugu',
-'inthaana' => 'Blk/Thaana',
-'inthai' => 'Blk/Thai',
-'intibetan' => 'Blk/Tibetan',
-'intifinagh' => 'Blk/Tifinagh',
-'intransportandmap' => 'Blk/Transpor',
-'intransportandmapsymbols' => 'Blk/Transpor',
-'inucas' => 'Blk/UCAS',
-'inucasext' => 'Blk/UCASExt',
-'inugaritic' => 'Blk/Ugaritic',
-'inunifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
-'inunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
-'invai' => 'Blk/Vai',
-'invariationselectors' => 'Blk/VS',
-'invariationselectorssupplement' => 'Blk/VSSup',
-'invedicext' => 'Blk/VedicExt',
-'invedicextensions' => 'Blk/VedicExt',
-'inverticalforms' => 'Blk/Vertical',
-'invs' => 'Blk/VS',
-'invssup' => 'Blk/VSSup',
-'inyijing' => 'Blk/Yijing',
-'inyijinghexagramsymbols' => 'Blk/Yijing',
-'inyiradicals' => 'Blk/YiRadica',
-'inyisyllables' => 'Blk/YiSyllab',
-'ipaext' => 'Blk/IPAExt',
-'ipaextensions' => 'Blk/IPAExt',
-'isaegeannumbers' => 'Blk/AegeanNu',
-'isahex' => 'AHex/Y',
-'isalchemical' => 'Blk/Alchemic',
-'isalchemicalsymbols' => 'Blk/Alchemic',
-'isall' => 'Perl/Any',
+'innumberforms' => '#/228',
+'inocr' => '#/80',
+'inogham' => '#/99',
+'inolchiki' => '#/144',
+'inolditalic' => '#/195',
+'inoldpersian' => '#/210',
+'inoldsoutharabian' => '#/268',
+'inoldturkic' => '#/196',
+'inopticalcharacterrecognition' => '#/80',
+'inoriya' => '#/100',
+'inosmanya' => '#/145',
+'inphagspa' => '#/146',
+'inphaistos' => '#/175',
+'inphaistosdisc' => '#/175',
+'inphoenician' => '#/211',
+'inphoneticext' => '#/229',
+'inphoneticextensions' => '#/229',
+'inphoneticextensionssupplement' => '#/258',
+'inphoneticextsup' => '#/258',
+'inplayingcards' => '#/243',
+'inprivateuse' => '#/81',
+'inprivateusearea' => '#/81',
+'inpua' => '#/81',
+'inpunctuation' => '#/230',
+'inrejang' => '#/124',
+'inrumi' => '#/87',
+'inruminumeralsymbols' => '#/87',
+'inrunic' => '#/101',
+'insamaritan' => '#/197',
+'insaurashtra' => '#/212',
+'inscriptionalpahlavi' => '#/485',
+'inscriptionalparthian' => '#/487',
+'insharada' => '#/147',
+'inshavian' => '#/148',
+'insinhala' => '#/149',
+'insmallforms' => '#/213',
+'insmallformvariants' => '#/213',
+'insorasompeng' => '#/231',
+'inspacingmodifierletters' => '#/267',
+'inspecials' => '#/176',
+'insundanese' => '#/198',
+'insundanesesup' => '#/244',
+'insundanesesupplement' => '#/244',
+'insuparrowsa' => '#/214',
+'insuparrowsb' => '#/215',
+'insuperandsub' => '#/232',
+'insuperscriptsandsubscripts' => '#/232',
+'insupmathoperators' => '#/280',
+'insupplementalarrowsa' => '#/214',
+'insupplementalarrowsb' => '#/215',
+'insupplementalmathematicaloperators' => '#/280',
+'insupplementalpunctuation' => '#/259',
+'insupplementaryprivateuseareaa' => '#/150',
+'insupplementaryprivateuseareab' => '#/151',
+'insuppuaa' => '#/150',
+'insuppuab' => '#/151',
+'insuppunctuation' => '#/259',
+'insylotinagri' => '#/233',
+'insyriac' => '#/125',
+'intagalog' => '#/152',
+'intagbanwa' => '#/177',
+'intags' => '#/88',
+'intaile' => '#/102',
+'intaitham' => '#/153',
+'intaiviet' => '#/154',
+'intaixuanjing' => '#/234',
+'intaixuanjingsymbols' => '#/234',
+'intakri' => '#/103',
+'intamil' => '#/104',
+'intelugu' => '#/126',
+'inthaana' => '#/127',
+'inthai' => '#/89',
+'intibetan' => '#/155',
+'intifinagh' => '#/178',
+'intransportandmap' => '#/269',
+'intransportandmapsymbols' => '#/269',
+'inucas' => '#/90',
+'inucasext' => '#/156',
+'inugaritic' => '#/179',
+'inunifiedcanadianaboriginalsyllabics' => '#/90',
+'inunifiedcanadianaboriginalsyllabicsextended' => '#/156',
+'invai' => '#/82',
+'invariationselectors' => '#/75',
+'invariationselectorssupplement' => '#/105',
+'invedicext' => '#/180',
+'invedicextensions' => '#/180',
+'inverticalforms' => '#/251',
+'invs' => '#/75',
+'invssup' => '#/105',
+'inyijing' => '#/128',
+'inyijinghexagramsymbols' => '#/128',
+'inyiradicals' => '#/216',
+'inyisyllables' => '#/235',
+'ipaext' => '#/116',
+'ipaextensions' => '#/116',
+'isaegeannumbers' => '#/245',
+'isahex' => '#/46',
+'isalchemical' => '#/199',
+'isalchemicalsymbols' => '#/199',
+'isall' => '#/435',
'isalnum' => 'Perl/Alnum',
'isalpha' => 'Alpha/Y',
'isalphabetic' => 'Alpha/Y',
-'isalphabeticpf' => 'Blk/Alphabet',
-'isalphabeticpresentationforms' => 'Blk/Alphabet',
-'isancientgreekmusic' => 'Blk/AncientG',
-'isancientgreekmusicalnotation' => 'Blk/AncientG',
-'isancientgreeknumbers' => 'Blk/Ancient2',
-'isancientsymbols' => 'Blk/AncientS',
-'isany' => 'Perl/Any',
+'isalphabeticpf' => '#/236',
+'isalphabeticpresentationforms' => '#/236',
+'isancientgreekmusic' => '#/281',
+'isancientgreekmusicalnotation' => '#/281',
+'isancientgreeknumbers' => '#/284',
+'isancientsymbols' => '#/252',
+'isany' => '#/436',
'isarab' => 'Sc/Arab',
'isarabic' => 'Sc/Arab',
-'isarabicexta' => 'Blk/ArabicEx',
-'isarabicextendeda' => 'Blk/ArabicEx',
-'isarabicmath' => 'Blk/ArabicMa',
-'isarabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
-'isarabicpfa' => 'Blk/ArabicPF',
-'isarabicpfb' => 'Blk/ArabicP2',
-'isarabicpresentationformsa' => 'Blk/ArabicPF',
-'isarabicpresentationformsb' => 'Blk/ArabicP2',
-'isarabicsup' => 'Blk/ArabicSu',
-'isarabicsupplement' => 'Blk/ArabicSu',
+'isarabicexta' => '#/200',
+'isarabicextendeda' => '#/200',
+'isarabicmath' => '#/201',
+'isarabicmathematicalalphabeticsymbols' => '#/201',
+'isarabicpfa' => '#/181',
+'isarabicpfb' => '#/182',
+'isarabicpresentationformsa' => '#/181',
+'isarabicpresentationformsb' => '#/182',
+'isarabicsup' => '#/183',
+'isarabicsupplement' => '#/183',
'isarmenian' => 'Sc/Armn',
-'isarmi' => 'Sc/Armi',
+'isarmi' => '#/452',
'isarmn' => 'Sc/Armn',
-'isarrows' => 'Blk/Arrows',
-'isascii' => 'Blk/ASCII',
-'isasciihexdigit' => 'AHex/Y',
+'isarrows' => '#/107',
+'isascii' => '#/91',
+'isasciihexdigit' => '#/46',
'isassigned' => 'Perl/Assigned',
-'isavestan' => 'Sc/Avst',
-'isavst' => 'Sc/Avst',
-'isbali' => 'Sc/Bali',
-'isbalinese' => 'Sc/Bali',
-'isbamu' => 'Sc/Bamu',
-'isbamum' => 'Sc/Bamu',
-'isbamumsup' => 'Blk/BamumSup',
-'isbamumsupplement' => 'Blk/BamumSup',
-'isbasiclatin' => 'Blk/ASCII',
-'isbatak' => 'Sc/Batk',
-'isbatk' => 'Sc/Batk',
+'isavestan' => '#/453',
+'isavst' => '#/453',
+'isbali' => '#/454',
+'isbalinese' => '#/454',
+'isbamu' => '#/455',
+'isbamum' => '#/455',
+'isbamumsup' => '#/159',
+'isbamumsupplement' => '#/159',
+'isbasiclatin' => '#/91',
+'isbatak' => '#/456',
+'isbatk' => '#/456',
'isbeng' => 'Sc/Beng',
'isbengali' => 'Sc/Beng',
'isbidic' => 'BidiC/Y',
@@ -1887,37 +3789,37 @@
'isbidim' => 'BidiM/Y',
'isbidimirrored' => 'BidiM/Y',
'isblank' => 'Perl/Blank',
-'isblockelements' => 'Blk/BlockEle',
-'isbopo' => 'Sc/Bopo',
-'isbopomofo' => 'Sc/Bopo',
-'isbopomofoext' => 'Blk/Bopomof2',
-'isbopomofoextended' => 'Blk/Bopomof2',
-'isboxdrawing' => 'Blk/BoxDrawi',
-'isbrah' => 'Sc/Brah',
-'isbrahmi' => 'Sc/Brah',
-'isbrai' => 'Blk/Braille',
-'isbraille' => 'Blk/Braille',
-'isbraillepatterns' => 'Blk/Braille',
-'isbugi' => 'Sc/Bugi',
-'isbuginese' => 'Sc/Bugi',
-'isbuhd' => 'Sc/Buhd',
-'isbuhid' => 'Sc/Buhd',
-'isbyzantinemusic' => 'Blk/Byzantin',
-'isbyzantinemusicalsymbols' => 'Blk/Byzantin',
+'isblockelements' => '#/246',
+'isbopo' => '#/457',
+'isbopomofo' => '#/457',
+'isbopomofoext' => '#/217',
+'isbopomofoextended' => '#/217',
+'isboxdrawing' => '#/202',
+'isbrah' => '#/458',
+'isbrahmi' => '#/458',
+'isbrai' => '#/131',
+'isbraille' => '#/131',
+'isbraillepatterns' => '#/131',
+'isbugi' => '#/459',
+'isbuginese' => '#/459',
+'isbuhd' => '#/460',
+'isbuhid' => '#/460',
+'isbyzantinemusic' => '#/253',
+'isbyzantinemusicalsymbols' => '#/253',
'isc' => 'Gc/C',
-'iscakm' => 'Sc/Cakm',
-'iscanadianaboriginal' => 'Sc/Cans',
-'iscanadiansyllabics' => 'Blk/UCAS',
-'iscans' => 'Sc/Cans',
-'iscari' => 'Sc/Cari',
-'iscarian' => 'Sc/Cari',
+'iscakm' => '#/461',
+'iscanadianaboriginal' => '#/462',
+'iscanadiansyllabics' => '#/90',
+'iscans' => '#/462',
+'iscari' => '#/463',
+'iscarian' => '#/463',
'iscased' => 'Cased/Y',
'iscasedletter' => 'Gc/LC',
'iscaseignorable' => 'CI/Y',
-'iscc' => 'Gc/Cc',
+'iscc' => '#/298',
'isce' => 'CE/Y',
'iscf' => 'Gc/Cf',
-'ischakma' => 'Sc/Cakm',
+'ischakma' => '#/461',
'ischam' => 'Sc/Cham',
'ischangeswhencasefolded' => 'CWCF/Y',
'ischangeswhencasemapped' => 'CWCM/Y',
@@ -1925,61 +3827,61 @@
'ischangeswhennfkccasefolded' => 'CWKCF/Y',
'ischangeswhentitlecased' => 'CWT/Y',
'ischangeswhenuppercased' => 'CWU/Y',
-'ischer' => 'Sc/Cher',
-'ischerokee' => 'Sc/Cher',
+'ischer' => '#/464',
+'ischerokee' => '#/464',
'isci' => 'CI/Y',
-'iscjk' => 'Blk/CJK',
-'iscjkcompat' => 'Blk/CJKCompa',
-'iscjkcompatforms' => 'Blk/CJKComp2',
-'iscjkcompatibility' => 'Blk/CJKCompa',
-'iscjkcompatibilityforms' => 'Blk/CJKComp2',
-'iscjkcompatibilityideographs' => 'Blk/CJKComp3',
-'iscjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
-'iscjkcompatideographs' => 'Blk/CJKComp3',
-'iscjkcompatideographssup' => 'Blk/CJKComp4',
-'iscjkexta' => 'Blk/CJKExtA',
-'iscjkextb' => 'Blk/CJKExtB',
-'iscjkextc' => 'Blk/CJKExtC',
-'iscjkextd' => 'Blk/CJKExtD',
-'iscjkradicalssup' => 'Blk/CJKRadic',
-'iscjkradicalssupplement' => 'Blk/CJKRadic',
-'iscjkstrokes' => 'Blk/CJKStrok',
-'iscjksymbols' => 'Blk/CJKSymbo',
-'iscjksymbolsandpunctuation' => 'Blk/CJKSymbo',
-'iscjkunifiedideographs' => 'Blk/CJK',
-'iscjkunifiedideographsextensiona' => 'Blk/CJKExtA',
-'iscjkunifiedideographsextensionb' => 'Blk/CJKExtB',
-'iscjkunifiedideographsextensionc' => 'Blk/CJKExtC',
-'iscjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'iscjk' => '#/76',
+'iscjkcompat' => '#/184',
+'iscjkcompatforms' => '#/254',
+'iscjkcompatibility' => '#/184',
+'iscjkcompatibilityforms' => '#/254',
+'iscjkcompatibilityideographs' => '#/285',
+'iscjkcompatibilityideographssupplement' => '#/292',
+'iscjkcompatideographs' => '#/285',
+'iscjkcompatideographssup' => '#/292',
+'iscjkexta' => '#/132',
+'iscjkextb' => '#/133',
+'iscjkextc' => '#/134',
+'iscjkextd' => '#/135',
+'iscjkradicalssup' => '#/255',
+'iscjkradicalssupplement' => '#/255',
+'iscjkstrokes' => '#/203',
+'iscjksymbols' => '#/204',
+'iscjksymbolsandpunctuation' => '#/204',
+'iscjkunifiedideographs' => '#/76',
+'iscjkunifiedideographsextensiona' => '#/132',
+'iscjkunifiedideographsextensionb' => '#/133',
+'iscjkunifiedideographsextensionc' => '#/134',
+'iscjkunifiedideographsextensiond' => '#/135',
'isclosepunctuation' => 'Gc/Pe',
'iscn' => 'Gc/Cn',
-'iscntrl' => 'Gc/Cc',
-'isco' => 'Gc/Co',
-'iscombiningdiacriticalmarks' => 'Blk/Diacriti',
-'iscombiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
-'iscombiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
-'iscombininghalfmarks' => 'Blk/HalfMark',
+'iscntrl' => '#/298',
+'isco' => '#/299',
+'iscombiningdiacriticalmarks' => '#/239',
+'iscombiningdiacriticalmarksforsymbols' => '#/293',
+'iscombiningdiacriticalmarkssupplement' => '#/262',
+'iscombininghalfmarks' => '#/187',
'iscombiningmark' => 'Gc/M',
-'iscombiningmarksforsymbols' => 'Blk/Diacrit3',
+'iscombiningmarksforsymbols' => '#/293',
'iscommon' => 'Sc/Zyyy',
-'iscommonindicnumberforms' => 'Blk/IndicNum',
-'iscompatjamo' => 'Blk/CompatJa',
+'iscommonindicnumberforms' => '#/275',
+'iscompatjamo' => '#/205',
'iscompex' => 'CompEx/Y',
'iscompositionexclusion' => 'CE/Y',
'isconnectorpunctuation' => 'WB/EX',
-'iscontrol' => 'Gc/Cc',
-'iscontrolpictures' => 'Blk/ControlP',
-'iscopt' => 'Sc/Copt',
-'iscoptic' => 'Sc/Copt',
-'iscountingrod' => 'Blk/Counting',
-'iscountingrodnumerals' => 'Blk/Counting',
+'iscontrol' => '#/298',
+'iscontrolpictures' => '#/260',
+'iscopt' => '#/465',
+'iscoptic' => '#/465',
+'iscountingrod' => '#/218',
+'iscountingrodnumerals' => '#/218',
'iscprt' => 'Sc/Cprt',
-'iscs' => 'Gc/Cs',
-'iscuneiform' => 'Sc/Xsux',
-'iscuneiformnumbers' => 'Blk/Cuneifo2',
-'iscuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'iscs' => '#/300',
+'iscuneiform' => '#/507',
+'iscuneiformnumbers' => '#/270',
+'iscuneiformnumbersandpunctuation' => '#/270',
'iscurrencysymbol' => 'Gc/Sc',
-'iscurrencysymbols' => 'Blk/Currency',
+'iscurrencysymbols' => '#/261',
'iscwcf' => 'CWCF/Y',
'iscwcm' => 'CWCM/Y',
'iscwkcf' => 'CWKCF/Y',
@@ -1987,15 +3889,15 @@
'iscwt' => 'CWT/Y',
'iscwu' => 'CWU/Y',
'iscypriot' => 'Sc/Cprt',
-'iscypriotsyllabary' => 'Blk/CypriotS',
+'iscypriotsyllabary' => '#/271',
'iscyrillic' => 'Sc/Cyrl',
-'iscyrillicexta' => 'Blk/Cyrilli3',
-'iscyrillicextb' => 'Blk/Cyrilli4',
-'iscyrillicextendeda' => 'Blk/Cyrilli3',
-'iscyrillicextendedb' => 'Blk/Cyrilli4',
-'iscyrillicsup' => 'Blk/Cyrilli2',
-'iscyrillicsupplement' => 'Blk/Cyrilli2',
-'iscyrillicsupplementary' => 'Blk/Cyrilli2',
+'iscyrillicexta' => '#/237',
+'iscyrillicextb' => '#/238',
+'iscyrillicextendeda' => '#/237',
+'iscyrillicextendedb' => '#/238',
+'iscyrillicsup' => '#/219',
+'iscyrillicsupplement' => '#/219',
+'iscyrillicsupplementary' => '#/219',
'iscyrl' => 'Sc/Cyrl',
'isdash' => 'Dash/Y',
'isdashpunctuation' => 'Gc/Pd',
@@ -2003,92 +3905,92 @@
'isdefaultignorablecodepoint' => 'DI/Y',
'isdep' => 'Dep/Y',
'isdeprecated' => 'Dep/Y',
-'isdeseret' => 'Blk/Deseret',
+'isdeseret' => '#/136',
'isdeva' => 'Sc/Deva',
'isdevanagari' => 'Sc/Deva',
-'isdevanagariext' => 'Blk/Devanag2',
-'isdevanagariextended' => 'Blk/Devanag2',
+'isdevanagariext' => '#/247',
+'isdevanagariextended' => '#/247',
'isdi' => 'DI/Y',
'isdia' => 'Dia/Y',
'isdiacritic' => 'Dia/Y',
-'isdiacriticals' => 'Blk/Diacriti',
-'isdiacriticalsforsymbols' => 'Blk/Diacrit3',
-'isdiacriticalssup' => 'Blk/Diacrit2',
+'isdiacriticals' => '#/239',
+'isdiacriticalsforsymbols' => '#/293',
+'isdiacriticalssup' => '#/262',
'isdigit' => 'Gc/Nd',
-'isdingbats' => 'Blk/Dingbats',
-'isdomino' => 'Blk/Domino',
-'isdominotiles' => 'Blk/Domino',
-'isdsrt' => 'Blk/Deseret',
-'isegyp' => 'Sc/Egyp',
-'isegyptianhieroglyphs' => 'Sc/Egyp',
-'isemoticons' => 'Blk/Emoticon',
-'isenclosedalphanum' => 'Blk/Enclose2',
-'isenclosedalphanumerics' => 'Blk/Enclose2',
-'isenclosedalphanumericsupplement' => 'Blk/Enclose3',
-'isenclosedalphanumsup' => 'Blk/Enclose3',
-'isenclosedcjk' => 'Blk/Enclosed',
-'isenclosedcjklettersandmonths' => 'Blk/Enclosed',
-'isenclosedideographicsup' => 'Blk/Enclose4',
-'isenclosedideographicsupplement' => 'Blk/Enclose4',
+'isdingbats' => '#/164',
+'isdomino' => '#/112',
+'isdominotiles' => '#/112',
+'isdsrt' => '#/136',
+'isegyp' => '#/466',
+'isegyptianhieroglyphs' => '#/466',
+'isemoticons' => '#/186',
+'isenclosedalphanum' => '#/272',
+'isenclosedalphanumerics' => '#/272',
+'isenclosedalphanumericsupplement' => '#/287',
+'isenclosedalphanumsup' => '#/287',
+'isenclosedcjk' => '#/220',
+'isenclosedcjklettersandmonths' => '#/220',
+'isenclosedideographicsup' => '#/294',
+'isenclosedideographicsupplement' => '#/294',
'isenclosingmark' => 'Gc/Me',
'isethi' => 'Sc/Ethi',
'isethiopic' => 'Sc/Ethi',
-'isethiopicext' => 'Blk/Ethiopi2',
-'isethiopicexta' => 'Blk/Ethiopi4',
-'isethiopicextended' => 'Blk/Ethiopi2',
-'isethiopicextendeda' => 'Blk/Ethiopi4',
-'isethiopicsup' => 'Blk/Ethiopi3',
-'isethiopicsupplement' => 'Blk/Ethiopi3',
+'isethiopicext' => '#/221',
+'isethiopicexta' => '#/240',
+'isethiopicextended' => '#/221',
+'isethiopicextendeda' => '#/240',
+'isethiopicsup' => '#/222',
+'isethiopicsupplement' => '#/222',
'isext' => 'Ext/Y',
'isextender' => 'Ext/Y',
'isfinalpunctuation' => 'Gc/Pf',
'isformat' => 'Gc/Cf',
'isfullcompositionexclusion' => 'CompEx/Y',
-'isgeneralpunctuation' => 'Blk/Punctuat',
-'isgeometricshapes' => 'Blk/Geometri',
+'isgeneralpunctuation' => '#/230',
+'isgeometricshapes' => '#/263',
'isgeor' => 'Sc/Geor',
'isgeorgian' => 'Sc/Geor',
-'isgeorgiansup' => 'Blk/Georgia2',
-'isgeorgiansupplement' => 'Blk/Georgia2',
-'isglag' => 'Sc/Glag',
-'isglagolitic' => 'Sc/Glag',
-'isgoth' => 'Sc/Goth',
-'isgothic' => 'Sc/Goth',
+'isgeorgiansup' => '#/223',
+'isgeorgiansupplement' => '#/223',
+'isglag' => '#/467',
+'isglagolitic' => '#/467',
+'isgoth' => '#/468',
+'isgothic' => '#/468',
'isgraph' => 'Perl/Graph',
'isgraphemebase' => 'GrBase/Y',
'isgraphemeextend' => 'GCB/EX',
'isgrbase' => 'GrBase/Y',
'isgreek' => 'Sc/Grek',
-'isgreekandcoptic' => 'Blk/Greek',
-'isgreekext' => 'Blk/GreekExt',
-'isgreekextended' => 'Blk/GreekExt',
+'isgreekandcoptic' => '#/95',
+'isgreekext' => '#/167',
+'isgreekextended' => '#/167',
'isgrek' => 'Sc/Grek',
'isgrext' => 'GCB/EX',
'isgujarati' => 'Sc/Gujr',
'isgujr' => 'Sc/Gujr',
'isgurmukhi' => 'Sc/Guru',
'isguru' => 'Sc/Guru',
-'ishalfandfullforms' => 'Blk/HalfAndF',
-'ishalfmarks' => 'Blk/HalfMark',
-'ishalfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'ishalfandfullforms' => '#/273',
+'ishalfmarks' => '#/187',
+'ishalfwidthandfullwidthforms' => '#/273',
'ishan' => 'Sc/Han',
'ishang' => 'Sc/Hang',
'ishangul' => 'Sc/Hang',
-'ishangulcompatibilityjamo' => 'Blk/CompatJa',
-'ishanguljamo' => 'Blk/Jamo',
-'ishanguljamoextendeda' => 'Blk/JamoExtA',
-'ishanguljamoextendedb' => 'Blk/JamoExtB',
-'ishangulsyllables' => 'Blk/Hangul',
+'ishangulcompatibilityjamo' => '#/205',
+'ishanguljamo' => '#/84',
+'ishanguljamoextendeda' => '#/171',
+'ishanguljamoextendedb' => '#/172',
+'ishangulsyllables' => '#/114',
'ishani' => 'Sc/Han',
-'ishano' => 'Sc/Hano',
-'ishanunoo' => 'Sc/Hano',
+'ishano' => '#/469',
+'ishanunoo' => '#/469',
'ishebr' => 'Sc/Hebr',
'ishebrew' => 'Sc/Hebr',
'ishex' => 'Hex/Y',
'ishexdigit' => 'Hex/Y',
-'ishighprivateusesurrogates' => 'Blk/HighPUSu',
-'ishighpusurrogates' => 'Blk/HighPUSu',
-'ishighsurrogates' => 'Blk/HighSurr',
+'ishighprivateusesurrogates' => '#/274',
+'ishighpusurrogates' => '#/274',
+'ishighsurrogates' => '#/256',
'ishira' => 'Sc/Hira',
'ishiragana' => 'Sc/Hira',
'ishorizspace' => 'Perl/Blank',
@@ -2097,49 +3999,49 @@
'isidcontinue' => 'IDC/Y',
'isideo' => 'Ideo/Y',
'isideographic' => 'Ideo/Y',
-'isideographicdescriptioncharacters' => 'Blk/IDC',
+'isideographicdescriptioncharacters' => '#/77',
'isids' => 'IDS/Y',
-'isidsb' => 'IDSB/Y',
-'isidsbinaryoperator' => 'IDSB/Y',
-'isidst' => 'IDST/Y',
+'isidsb' => '#/53',
+'isidsbinaryoperator' => '#/53',
+'isidst' => '#/54',
'isidstart' => 'IDS/Y',
-'isidstrinaryoperator' => 'IDST/Y',
-'isimperialaramaic' => 'Sc/Armi',
-'isindicnumberforms' => 'Blk/IndicNum',
+'isidstrinaryoperator' => '#/54',
+'isimperialaramaic' => '#/452',
+'isindicnumberforms' => '#/275',
'isinherited' => 'Sc/Zinh',
'isinitialpunctuation' => 'Gc/Pi',
-'isinscriptionalpahlavi' => 'Sc/Phli',
-'isinscriptionalparthian' => 'Sc/Prti',
-'isipaext' => 'Blk/IPAExt',
-'isipaextensions' => 'Blk/IPAExt',
-'isital' => 'Sc/Ital',
-'isjamo' => 'Blk/Jamo',
-'isjamoexta' => 'Blk/JamoExtA',
-'isjamoextb' => 'Blk/JamoExtB',
-'isjava' => 'Sc/Java',
-'isjavanese' => 'Sc/Java',
-'isjoinc' => 'JoinC/Y',
-'isjoincontrol' => 'JoinC/Y',
-'iskaithi' => 'Sc/Kthi',
-'iskali' => 'Blk/KayahLi',
+'isinscriptionalpahlavi' => '#/485',
+'isinscriptionalparthian' => '#/487',
+'isipaext' => '#/116',
+'isipaextensions' => '#/116',
+'isital' => '#/470',
+'isjamo' => '#/84',
+'isjamoexta' => '#/171',
+'isjamoextb' => '#/172',
+'isjava' => '#/471',
+'isjavanese' => '#/471',
+'isjoinc' => '#/55',
+'isjoincontrol' => '#/55',
+'iskaithi' => '#/472',
+'iskali' => '#/140',
'iskana' => 'Sc/Kana',
-'iskanasup' => 'Blk/KanaSup',
-'iskanasupplement' => 'Blk/KanaSup',
-'iskanbun' => 'Blk/Kanbun',
-'iskangxi' => 'Blk/Kangxi',
-'iskangxiradicals' => 'Blk/Kangxi',
+'iskanasup' => '#/138',
+'iskanasupplement' => '#/138',
+'iskanbun' => '#/118',
+'iskangxi' => '#/119',
+'iskangxiradicals' => '#/119',
'iskannada' => 'Sc/Knda',
'iskatakana' => 'Sc/Kana',
-'iskatakanaext' => 'Blk/Katakan2',
-'iskatakanaphoneticextensions' => 'Blk/Katakan2',
-'iskayahli' => 'Blk/KayahLi',
+'iskatakanaext' => '#/224',
+'iskatakanaphoneticextensions' => '#/224',
+'iskayahli' => '#/140',
'iskhar' => 'Sc/Khar',
'iskharoshthi' => 'Sc/Khar',
'iskhmer' => 'Sc/Khmr',
-'iskhmersymbols' => 'Blk/KhmerSym',
+'iskhmersymbols' => '#/241',
'iskhmr' => 'Sc/Khmr',
'isknda' => 'Sc/Knda',
-'iskthi' => 'Sc/Kthi',
+'iskthi' => '#/472',
'isl' => 'Gc/L',
'isl&' => 'Gc/LC',
'isl_' => 'Gc/LC',
@@ -2147,34 +4049,34 @@
'islao' => 'Sc/Lao',
'islaoo' => 'Sc/Lao',
'islatin' => 'Sc/Latn',
-'islatin1' => 'Blk/Latin1',
-'islatin1sup' => 'Blk/Latin1',
-'islatin1supplement' => 'Blk/Latin1',
-'islatinexta' => 'Blk/LatinExt',
-'islatinextadditional' => 'Blk/LatinEx5',
-'islatinextb' => 'Blk/LatinEx2',
-'islatinextc' => 'Blk/LatinEx3',
-'islatinextd' => 'Blk/LatinEx4',
-'islatinextendeda' => 'Blk/LatinExt',
-'islatinextendedadditional' => 'Blk/LatinEx5',
-'islatinextendedb' => 'Blk/LatinEx2',
-'islatinextendedc' => 'Blk/LatinEx3',
-'islatinextendedd' => 'Blk/LatinEx4',
+'islatin1' => '#/120',
+'islatin1sup' => '#/120',
+'islatin1supplement' => '#/120',
+'islatinexta' => '#/188',
+'islatinextadditional' => '#/283',
+'islatinextb' => '#/189',
+'islatinextc' => '#/190',
+'islatinextd' => '#/191',
+'islatinextendeda' => '#/188',
+'islatinextendedadditional' => '#/283',
+'islatinextendedb' => '#/189',
+'islatinextendedc' => '#/190',
+'islatinextendedd' => '#/191',
'islatn' => 'Sc/Latn',
'islc' => 'Gc/LC',
-'islepc' => 'Sc/Lepc',
-'islepcha' => 'Sc/Lepc',
+'islepc' => '#/473',
+'islepcha' => '#/473',
'isletter' => 'Gc/L',
-'isletterlikesymbols' => 'Blk/Letterli',
+'isletterlikesymbols' => '#/282',
'isletternumber' => 'Gc/Nl',
'islimb' => 'Sc/Limb',
'islimbu' => 'Sc/Limb',
'islinb' => 'Sc/Linb',
'islinearb' => 'Sc/Linb',
-'islinearbideograms' => 'Blk/LinearBI',
-'islinearbsyllabary' => 'Blk/LinearBS',
-'islineseparator' => 'Gc/Zl',
-'islisu' => 'Blk/Lisu',
+'islinearbideograms' => '#/276',
+'islinearbsyllabary' => '#/277',
+'islineseparator' => '#/301',
+'islisu' => '#/85',
'isll' => 'Gc/Ll',
'islm' => 'Gc/Lm',
'islo' => 'Gc/Lo',
@@ -2183,100 +4085,100 @@
'islower' => 'Lower/Y',
'islowercase' => 'Lower/Y',
'islowercaseletter' => 'Gc/Ll',
-'islowsurrogates' => 'Blk/LowSurro',
-'islt' => 'Perl/Title',
+'islowsurrogates' => '#/248',
+'islt' => 'Gc/Lt',
'islu' => 'Gc/Lu',
-'islyci' => 'Sc/Lyci',
-'islycian' => 'Sc/Lyci',
-'islydi' => 'Sc/Lydi',
-'islydian' => 'Sc/Lydi',
+'islyci' => '#/474',
+'islycian' => '#/474',
+'islydi' => '#/475',
+'islydian' => '#/475',
'ism' => 'Gc/M',
-'ismahjong' => 'Blk/Mahjong',
-'ismahjongtiles' => 'Blk/Mahjong',
+'ismahjong' => '#/141',
+'ismahjongtiles' => '#/141',
'ismalayalam' => 'Sc/Mlym',
-'ismand' => 'Sc/Mand',
-'ismandaic' => 'Sc/Mand',
+'ismand' => '#/476',
+'ismandaic' => '#/476',
'ismark' => 'Gc/M',
'ismath' => 'Math/Y',
-'ismathalphanum' => 'Blk/MathAlph',
-'ismathematicalalphanumericsymbols' => 'Blk/MathAlph',
-'ismathematicaloperators' => 'Blk/MathOper',
-'ismathoperators' => 'Blk/MathOper',
+'ismathalphanum' => '#/242',
+'ismathematicalalphanumericsymbols' => '#/242',
+'ismathematicaloperators' => '#/249',
+'ismathoperators' => '#/249',
'ismathsymbol' => 'Gc/Sm',
'ismc' => 'Gc/Mc',
'isme' => 'Gc/Me',
-'ismeeteimayek' => 'Sc/Mtei',
-'ismeeteimayekext' => 'Blk/MeeteiM2',
-'ismeeteimayekextensions' => 'Blk/MeeteiM2',
-'ismerc' => 'Sc/Merc',
-'ismero' => 'Blk/Meroiti2',
-'ismeroiticcursive' => 'Sc/Merc',
-'ismeroitichieroglyphs' => 'Blk/Meroiti2',
-'ismiao' => 'Sc/Miao',
-'ismiscarrows' => 'Blk/MiscArro',
-'ismiscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
-'ismiscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
-'ismiscellaneoussymbols' => 'Blk/MiscSymb',
-'ismiscellaneoussymbolsandarrows' => 'Blk/MiscArro',
-'ismiscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
-'ismiscellaneoustechnical' => 'Blk/MiscTech',
-'ismiscmathsymbolsa' => 'Blk/MiscMath',
-'ismiscmathsymbolsb' => 'Blk/MiscMat2',
-'ismiscpictographs' => 'Blk/MiscPict',
-'ismiscsymbols' => 'Blk/MiscSymb',
-'ismisctechnical' => 'Blk/MiscTech',
+'ismeeteimayek' => '#/479',
+'ismeeteimayekext' => '#/257',
+'ismeeteimayekextensions' => '#/257',
+'ismerc' => '#/477',
+'ismero' => '#/288',
+'ismeroiticcursive' => '#/477',
+'ismeroitichieroglyphs' => '#/288',
+'ismiao' => '#/478',
+'ismiscarrows' => '#/209',
+'ismiscellaneousmathematicalsymbolsa' => '#/278',
+'ismiscellaneousmathematicalsymbolsb' => '#/279',
+'ismiscellaneoussymbols' => '#/226',
+'ismiscellaneoussymbolsandarrows' => '#/209',
+'ismiscellaneoussymbolsandpictographs' => '#/266',
+'ismiscellaneoustechnical' => '#/250',
+'ismiscmathsymbolsa' => '#/278',
+'ismiscmathsymbolsb' => '#/279',
+'ismiscpictographs' => '#/266',
+'ismiscsymbols' => '#/226',
+'ismisctechnical' => '#/250',
'ismlym' => 'Sc/Mlym',
'ismn' => 'Gc/Mn',
'ismodifierletter' => 'Gc/Lm',
-'ismodifierletters' => 'Blk/Modifier',
+'ismodifierletters' => '#/267',
'ismodifiersymbol' => 'Gc/Sk',
-'ismodifiertoneletters' => 'Blk/Modifie2',
+'ismodifiertoneletters' => '#/289',
'ismong' => 'Sc/Mong',
'ismongolian' => 'Sc/Mong',
-'ismtei' => 'Sc/Mtei',
-'ismusic' => 'Blk/Music',
-'ismusicalsymbols' => 'Blk/Music',
-'ismyanmar' => 'Sc/Mymr',
-'ismyanmarexta' => 'Blk/MyanmarE',
-'ismyanmarextendeda' => 'Blk/MyanmarE',
-'ismymr' => 'Sc/Mymr',
+'ismtei' => '#/479',
+'ismusic' => '#/98',
+'ismusicalsymbols' => '#/98',
+'ismyanmar' => '#/480',
+'ismyanmarexta' => '#/227',
+'ismyanmarextendeda' => '#/227',
+'ismymr' => '#/480',
'isn' => 'Gc/N',
'isnb' => 'Blk/NB',
'isnchar' => 'NChar/Y',
'isnd' => 'Gc/Nd',
'isnewtailue' => 'Sc/Talu',
-'isnko' => 'Sc/Nko',
-'isnkoo' => 'Sc/Nko',
+'isnko' => '#/450',
+'isnkoo' => '#/450',
'isnl' => 'Gc/Nl',
'isno' => 'Gc/No',
'isnoblock' => 'Blk/NB',
'isnoncharactercodepoint' => 'NChar/Y',
'isnonspacingmark' => 'Gc/Mn',
'isnumber' => 'Gc/N',
-'isnumberforms' => 'Blk/NumberFo',
-'isocr' => 'Blk/OCR',
-'isogam' => 'Sc/Ogam',
-'isogham' => 'Sc/Ogam',
-'isolchiki' => 'Blk/OlChiki',
-'isolck' => 'Blk/OlChiki',
-'isolditalic' => 'Sc/Ital',
-'isoldpersian' => 'Sc/Xpeo',
-'isoldsoutharabian' => 'Blk/OldSouth',
-'isoldturkic' => 'Sc/Orkh',
+'isnumberforms' => '#/228',
+'isocr' => '#/80',
+'isogam' => '#/481',
+'isogham' => '#/481',
+'isolchiki' => '#/144',
+'isolck' => '#/144',
+'isolditalic' => '#/470',
+'isoldpersian' => '#/506',
+'isoldsoutharabian' => '#/268',
+'isoldturkic' => '#/482',
'isopenpunctuation' => 'Gc/Ps',
-'isopticalcharacterrecognition' => 'Blk/OCR',
+'isopticalcharacterrecognition' => '#/80',
'isoriya' => 'Sc/Orya',
-'isorkh' => 'Sc/Orkh',
+'isorkh' => '#/482',
'isorya' => 'Sc/Orya',
-'isosma' => 'Sc/Osma',
-'isosmanya' => 'Sc/Osma',
+'isosma' => '#/483',
+'isosmanya' => '#/483',
'isother' => 'Gc/C',
'isotherletter' => 'Gc/Lo',
'isothernumber' => 'Gc/No',
'isotherpunctuation' => 'Gc/Po',
'isothersymbol' => 'Gc/So',
'isp' => 'Gc/P',
-'isparagraphseparator' => 'Gc/Zp',
+'isparagraphseparator' => '#/302',
'ispatsyn' => 'PatSyn/Y',
'ispatternsyntax' => 'PatSyn/Y',
'ispatternwhitespace' => 'PatWS/Y',
@@ -2284,311 +4186,312 @@
'ispc' => 'WB/EX',
'ispd' => 'Gc/Pd',
'ispe' => 'Gc/Pe',
-'isperlspace' => 'Perl/PerlSpac',
+'isperlspace' => '#/438',
'isperlword' => 'Perl/PerlWord',
'ispf' => 'Gc/Pf',
-'isphag' => 'Sc/Phag',
-'isphagspa' => 'Sc/Phag',
-'isphaistos' => 'Blk/Phaistos',
-'isphaistosdisc' => 'Blk/Phaistos',
-'isphli' => 'Sc/Phli',
-'isphnx' => 'Sc/Phnx',
-'isphoenician' => 'Sc/Phnx',
-'isphoneticext' => 'Blk/Phonetic',
-'isphoneticextensions' => 'Blk/Phonetic',
-'isphoneticextensionssupplement' => 'Blk/Phoneti2',
-'isphoneticextsup' => 'Blk/Phoneti2',
+'isphag' => '#/484',
+'isphagspa' => '#/484',
+'isphaistos' => '#/175',
+'isphaistosdisc' => '#/175',
+'isphli' => '#/485',
+'isphnx' => '#/486',
+'isphoenician' => '#/486',
+'isphoneticext' => '#/229',
+'isphoneticextensions' => '#/229',
+'isphoneticextensionssupplement' => '#/258',
+'isphoneticextsup' => '#/258',
'ispi' => 'Gc/Pi',
-'isplayingcards' => 'Blk/PlayingC',
-'isplrd' => 'Sc/Miao',
+'isplayingcards' => '#/243',
+'isplrd' => '#/478',
'ispo' => 'Gc/Po',
-'isposixalnum' => 'Perl/PosixAln',
-'isposixalpha' => 'Perl/PosixAlp',
-'isposixblank' => 'Perl/PosixBla',
-'isposixcntrl' => 'Perl/PosixCnt',
-'isposixdigit' => 'Perl/PosixDig',
-'isposixgraph' => 'Perl/PosixGra',
-'isposixlower' => 'Perl/PosixLow',
-'isposixprint' => 'Perl/PosixPri',
+'isposixalnum' => '#/440',
+'isposixalpha' => '#/441',
+'isposixblank' => '#/442',
+'isposixcntrl' => '#/443',
+'isposixdigit' => '#/444',
+'isposixgraph' => '#/445',
+'isposixlower' => '#/446',
+'isposixprint' => '#/447',
'isposixpunct' => 'Perl/PosixPun',
-'isposixspace' => 'Perl/PerlSpac',
-'isposixupper' => 'Perl/PosixUpp',
+'isposixspace' => '#/438',
+'isposixupper' => '#/448',
'isposixword' => 'Perl/PerlWord',
-'isposixxdigit' => 'AHex/Y',
+'isposixxdigit' => '#/46',
'isprint' => 'Perl/Print',
-'isprivateuse' => 'Gc/Co',
-'isprivateusearea' => 'Blk/PUA',
-'isprti' => 'Sc/Prti',
+'isprivateuse' => '#/299',
+'isprivateusearea' => '#/81',
+'isprti' => '#/487',
'isps' => 'Gc/Ps',
-'ispua' => 'Blk/PUA',
+'ispua' => '#/81',
'ispunct' => 'Gc/P',
'ispunctuation' => 'Gc/P',
-'isqaac' => 'Sc/Copt',
+'isqaac' => '#/465',
'isqaai' => 'Sc/Zinh',
'isqmark' => 'QMark/Y',
'isquotationmark' => 'QMark/Y',
-'isradical' => 'Radical/Y',
-'isrejang' => 'Sc/Rjng',
-'isrjng' => 'Sc/Rjng',
-'isrumi' => 'Blk/Rumi',
-'isruminumeralsymbols' => 'Blk/Rumi',
-'isrunic' => 'Sc/Runr',
-'isrunr' => 'Sc/Runr',
+'isradical' => '#/56',
+'isrejang' => '#/488',
+'isrjng' => '#/488',
+'isrumi' => '#/87',
+'isruminumeralsymbols' => '#/87',
+'isrunic' => '#/489',
+'isrunr' => '#/489',
'iss' => 'Gc/S',
-'issamaritan' => 'Sc/Samr',
-'issamr' => 'Sc/Samr',
-'issarb' => 'Blk/OldSouth',
-'issaur' => 'Sc/Saur',
-'issaurashtra' => 'Sc/Saur',
+'issamaritan' => '#/490',
+'issamr' => '#/490',
+'issarb' => '#/268',
+'issaur' => '#/491',
+'issaurashtra' => '#/491',
'issc' => 'Gc/Sc',
'issd' => 'SD/Y',
'isseparator' => 'Gc/Z',
-'issharada' => 'Sc/Shrd',
-'isshavian' => 'Blk/Shavian',
-'isshaw' => 'Blk/Shavian',
-'isshrd' => 'Sc/Shrd',
+'issharada' => '#/492',
+'isshavian' => '#/148',
+'isshaw' => '#/148',
+'isshrd' => '#/492',
'issinh' => 'Sc/Sinh',
'issinhala' => 'Sc/Sinh',
'issk' => 'Gc/Sk',
'issm' => 'Gc/Sm',
-'issmallforms' => 'Blk/SmallFor',
-'issmallformvariants' => 'Blk/SmallFor',
+'issmallforms' => '#/213',
+'issmallformvariants' => '#/213',
'isso' => 'Gc/So',
'issoftdotted' => 'SD/Y',
-'issora' => 'Sc/Sora',
-'issorasompeng' => 'Sc/Sora',
-'isspace' => 'Perl/SpacePer',
-'isspaceperl' => 'Perl/SpacePer',
+'issora' => '#/493',
+'issorasompeng' => '#/493',
+'isspace' => 'Space/Y',
+'isspaceperl' => 'Space/Y',
'isspaceseparator' => 'Gc/Zs',
'isspacingmark' => 'Gc/Mc',
-'isspacingmodifierletters' => 'Blk/Modifier',
-'isspecials' => 'Blk/Specials',
+'isspacingmodifierletters' => '#/267',
+'isspecials' => '#/176',
'issterm' => 'STerm/Y',
-'issund' => 'Sc/Sund',
-'issundanese' => 'Sc/Sund',
-'issundanesesup' => 'Blk/Sundane2',
-'issundanesesupplement' => 'Blk/Sundane2',
-'issuparrowsa' => 'Blk/SupArrow',
-'issuparrowsb' => 'Blk/SupArro2',
-'issuperandsub' => 'Blk/SuperAnd',
-'issuperscriptsandsubscripts' => 'Blk/SuperAnd',
-'issupmathoperators' => 'Blk/SupMathO',
-'issupplementalarrowsa' => 'Blk/SupArrow',
-'issupplementalarrowsb' => 'Blk/SupArro2',
-'issupplementalmathematicaloperators' => 'Blk/SupMathO',
-'issupplementalpunctuation' => 'Blk/SupPunct',
-'issupplementaryprivateuseareaa' => 'Blk/SupPUAA',
-'issupplementaryprivateuseareab' => 'Blk/SupPUAB',
-'issuppuaa' => 'Blk/SupPUAA',
-'issuppuab' => 'Blk/SupPUAB',
-'issuppunctuation' => 'Blk/SupPunct',
-'issurrogate' => 'Gc/Cs',
-'issylo' => 'Sc/Sylo',
-'issylotinagri' => 'Sc/Sylo',
+'issund' => '#/494',
+'issundanese' => '#/494',
+'issundanesesup' => '#/244',
+'issundanesesupplement' => '#/244',
+'issuparrowsa' => '#/214',
+'issuparrowsb' => '#/215',
+'issuperandsub' => '#/232',
+'issuperscriptsandsubscripts' => '#/232',
+'issupmathoperators' => '#/280',
+'issupplementalarrowsa' => '#/214',
+'issupplementalarrowsb' => '#/215',
+'issupplementalmathematicaloperators' => '#/280',
+'issupplementalpunctuation' => '#/259',
+'issupplementaryprivateuseareaa' => '#/150',
+'issupplementaryprivateuseareab' => '#/151',
+'issuppuaa' => '#/150',
+'issuppuab' => '#/151',
+'issuppunctuation' => '#/259',
+'issurrogate' => '#/300',
+'issylo' => '#/495',
+'issylotinagri' => '#/495',
'issymbol' => 'Gc/S',
-'issyrc' => 'Sc/Syrc',
-'issyriac' => 'Sc/Syrc',
-'istagalog' => 'Sc/Tglg',
-'istagb' => 'Sc/Tagb',
-'istagbanwa' => 'Sc/Tagb',
-'istags' => 'Blk/Tags',
-'istaile' => 'Sc/Tale',
+'issyrc' => '#/496',
+'issyriac' => '#/496',
+'istagalog' => '#/502',
+'istagb' => '#/497',
+'istagbanwa' => '#/497',
+'istags' => '#/88',
+'istaile' => '#/499',
'istaitham' => 'Sc/Lana',
-'istaiviet' => 'Sc/Tavt',
-'istaixuanjing' => 'Blk/TaiXuanJ',
-'istaixuanjingsymbols' => 'Blk/TaiXuanJ',
-'istakr' => 'Sc/Takr',
-'istakri' => 'Sc/Takr',
-'istale' => 'Sc/Tale',
+'istaiviet' => '#/500',
+'istaixuanjing' => '#/234',
+'istaixuanjingsymbols' => '#/234',
+'istakr' => '#/498',
+'istakri' => '#/498',
+'istale' => '#/499',
'istalu' => 'Sc/Talu',
'istamil' => 'Sc/Taml',
'istaml' => 'Sc/Taml',
-'istavt' => 'Sc/Tavt',
+'istavt' => '#/500',
'istelu' => 'Sc/Telu',
'istelugu' => 'Sc/Telu',
'isterm' => 'Term/Y',
'isterminalpunctuation' => 'Term/Y',
-'istfng' => 'Sc/Tfng',
-'istglg' => 'Sc/Tglg',
-'isthaa' => 'Sc/Thaa',
-'isthaana' => 'Sc/Thaa',
-'isthai' => 'Sc/Thai',
+'istfng' => '#/501',
+'istglg' => '#/502',
+'isthaa' => '#/503',
+'isthaana' => '#/503',
+'isthai' => '#/504',
'istibetan' => 'Sc/Tibt',
'istibt' => 'Sc/Tibt',
-'istifinagh' => 'Sc/Tfng',
-'istitle' => 'Perl/Title',
-'istitlecase' => 'Perl/Title',
-'istitlecaseletter' => 'Perl/Title',
-'istransportandmap' => 'Blk/Transpor',
-'istransportandmapsymbols' => 'Blk/Transpor',
-'isucas' => 'Blk/UCAS',
-'isucasext' => 'Blk/UCASExt',
-'isugar' => 'Sc/Ugar',
-'isugaritic' => 'Sc/Ugar',
+'istifinagh' => '#/501',
+'istitle' => 'Gc/Lt',
+'istitlecase' => 'Gc/Lt',
+'istitlecaseletter' => 'Gc/Lt',
+'istransportandmap' => '#/269',
+'istransportandmapsymbols' => '#/269',
+'isucas' => '#/90',
+'isucasext' => '#/156',
+'isugar' => '#/505',
+'isugaritic' => '#/505',
'isuideo' => 'UIdeo/Y',
'isunassigned' => 'Gc/Cn',
-'isunifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
-'isunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'isunicode' => '#/436',
+'isunifiedcanadianaboriginalsyllabics' => '#/90',
+'isunifiedcanadianaboriginalsyllabicsextended' => '#/156',
'isunifiedideograph' => 'UIdeo/Y',
'isunknown' => 'Sc/Zzzz',
'isupper' => 'Upper/Y',
'isuppercase' => 'Upper/Y',
'isuppercaseletter' => 'Gc/Lu',
-'isvai' => 'Sc/Vai',
-'isvaii' => 'Sc/Vai',
-'isvariationselector' => 'VS/Y',
-'isvariationselectors' => 'Blk/VS',
-'isvariationselectorssupplement' => 'Blk/VSSup',
-'isvedicext' => 'Blk/VedicExt',
-'isvedicextensions' => 'Blk/VedicExt',
-'isverticalforms' => 'Blk/Vertical',
-'isvertspace' => 'Perl/VertSpac',
-'isvs' => 'VS/Y',
-'isvssup' => 'Blk/VSSup',
-'iswhitespace' => 'Perl/SpacePer',
+'isvai' => '#/451',
+'isvaii' => '#/451',
+'isvariationselector' => '#/58',
+'isvariationselectors' => '#/75',
+'isvariationselectorssupplement' => '#/105',
+'isvedicext' => '#/180',
+'isvedicextensions' => '#/180',
+'isverticalforms' => '#/251',
+'isvertspace' => '#/439',
+'isvs' => '#/58',
+'isvssup' => '#/105',
+'iswhitespace' => 'Space/Y',
'isword' => 'Perl/Word',
-'iswspace' => 'Perl/SpacePer',
+'iswspace' => 'Space/Y',
'isxdigit' => 'Hex/Y',
'isxidc' => 'XIDC/Y',
'isxidcontinue' => 'XIDC/Y',
'isxids' => 'XIDS/Y',
'isxidstart' => 'XIDS/Y',
-'isxpeo' => 'Sc/Xpeo',
-'isxperlspace' => 'Perl/SpacePer',
+'isxpeo' => '#/506',
+'isxperlspace' => 'Space/Y',
'isxposixalnum' => 'Perl/Alnum',
'isxposixalpha' => 'Alpha/Y',
'isxposixblank' => 'Perl/Blank',
-'isxposixcntrl' => 'Gc/Cc',
+'isxposixcntrl' => '#/298',
'isxposixdigit' => 'Gc/Nd',
'isxposixgraph' => 'Perl/Graph',
'isxposixlower' => 'Lower/Y',
'isxposixprint' => 'Perl/Print',
'isxposixpunct' => 'Perl/XPosixPu',
-'isxposixspace' => 'Perl/SpacePer',
+'isxposixspace' => 'Space/Y',
'isxposixupper' => 'Upper/Y',
'isxposixword' => 'Perl/Word',
'isxposixxdigit' => 'Hex/Y',
-'isxsux' => 'Sc/Xsux',
-'isyi' => 'Sc/Yi',
-'isyiii' => 'Sc/Yi',
-'isyijing' => 'Blk/Yijing',
-'isyijinghexagramsymbols' => 'Blk/Yijing',
-'isyiradicals' => 'Blk/YiRadica',
-'isyisyllables' => 'Blk/YiSyllab',
+'isxsux' => '#/507',
+'isyi' => '#/449',
+'isyiii' => '#/449',
+'isyijing' => '#/128',
+'isyijinghexagramsymbols' => '#/128',
+'isyiradicals' => '#/216',
+'isyisyllables' => '#/235',
'isz' => 'Gc/Z',
'iszinh' => 'Sc/Zinh',
-'iszl' => 'Gc/Zl',
-'iszp' => 'Gc/Zp',
+'iszl' => '#/301',
+'iszp' => '#/302',
'iszs' => 'Gc/Zs',
'iszyyy' => 'Sc/Zyyy',
'iszzzz' => 'Sc/Zzzz',
-'ital' => 'Sc/Ital',
-'jamo' => 'Blk/Jamo',
-'jamoexta' => 'Blk/JamoExtA',
-'jamoextb' => 'Blk/JamoExtB',
-'java' => 'Sc/Java',
-'javanese' => 'Sc/Java',
+'ital' => '#/470',
+'jamo' => '#/84',
+'jamoexta' => '#/171',
+'jamoextb' => '#/172',
+'java' => '#/471',
+'javanese' => '#/471',
'jg=ain' => 'Jg/Ain',
-'jg=alaph' => 'Jg/Alaph',
+'jg=alaph' => '#/325',
'jg=alef' => 'Jg/Alef',
'jg=beh' => 'Jg/Beh',
-'jg=beth' => 'Jg/Beth',
-'jg=burushaskiyehbarree' => 'Jg/Burushas',
+'jg=beth' => '#/315',
+'jg=burushaskiyehbarree' => '#/345',
'jg=dal' => 'Jg/Dal',
-'jg=dalathrish' => 'Jg/DalathRi',
-'jg=e' => 'Jg/E',
+'jg=dalathrish' => '#/337',
+'jg=e' => '#/303',
'jg=farsiyeh' => 'Jg/FarsiYeh',
-'jg=fe' => 'Jg/Fe',
+'jg=fe' => '#/304',
'jg=feh' => 'Jg/Feh',
-'jg=finalsemkath' => 'Jg/FinalSem',
+'jg=finalsemkath' => '#/343',
'jg=gaf' => 'Jg/Gaf',
-'jg=gamal' => 'Jg/Gamal',
+'jg=gamal' => '#/326',
'jg=hah' => 'Jg/Hah',
-'jg=hamzaonhehgoal' => 'Jg/HamzaOnH',
-'jg=he' => 'Jg/He',
-'jg=heh' => 'Jg/Heh',
-'jg=hehgoal' => 'Jg/HehGoal',
-'jg=heth' => 'Jg/Heth',
-'jg=kaf' => 'Jg/Kaf',
-'jg=kaph' => 'Jg/Kaph',
-'jg=khaph' => 'Jg/Khaph',
-'jg=knottedheh' => 'Jg/KnottedH',
+'jg=hamzaonhehgoal' => '#/344',
+'jg=he' => '#/305',
+'jg=heh' => '#/307',
+'jg=hehgoal' => '#/332',
+'jg=heth' => '#/316',
+'jg=kaf' => '#/308',
+'jg=kaph' => '#/317',
+'jg=khaph' => '#/327',
+'jg=knottedheh' => '#/338',
'jg=lam' => 'Jg/Lam',
-'jg=lamadh' => 'Jg/Lamadh',
-'jg=meem' => 'Jg/Meem',
-'jg=mim' => 'Jg/Mim',
+'jg=lamadh' => '#/330',
+'jg=meem' => '#/318',
+'jg=mim' => '#/309',
'jg=nojoininggroup' => 'Jg/NoJoinin',
-'jg=noon' => 'Jg/Noon',
-'jg=nun' => 'Jg/Nun',
-'jg=nya' => 'Jg/Nya',
-'jg=pe' => 'Jg/Pe',
+'jg=noon' => '#/319',
+'jg=nun' => '#/310',
+'jg=nya' => '#/311',
+'jg=pe' => '#/306',
'jg=qaf' => 'Jg/Qaf',
-'jg=qaph' => 'Jg/Qaph',
+'jg=qaph' => '#/320',
'jg=reh' => 'Jg/Reh',
-'jg=reversedpe' => 'Jg/Reversed',
-'jg=rohingyayeh' => 'Jg/Rohingya',
-'jg=sad' => 'Jg/Sad',
-'jg=sadhe' => 'Jg/Sadhe',
+'jg=reversedpe' => '#/339',
+'jg=rohingyayeh' => '#/341',
+'jg=sad' => '#/312',
+'jg=sadhe' => '#/328',
'jg=seen' => 'Jg/Seen',
-'jg=semkath' => 'Jg/Semkath',
-'jg=shin' => 'Jg/Shin',
-'jg=swashkaf' => 'Jg/SwashKaf',
-'jg=syriacwaw' => 'Jg/SyriacWa',
-'jg=tah' => 'Jg/Tah',
-'jg=taw' => 'Jg/Taw',
-'jg=tehmarbuta' => 'Jg/TehMarbu',
-'jg=tehmarbutagoal' => 'Jg/HamzaOnH',
-'jg=teth' => 'Jg/Teth',
+'jg=semkath' => '#/333',
+'jg=shin' => '#/321',
+'jg=swashkaf' => '#/334',
+'jg=syriacwaw' => '#/335',
+'jg=tah' => '#/313',
+'jg=taw' => '#/314',
+'jg=tehmarbuta' => '#/340',
+'jg=tehmarbutagoal' => '#/344',
+'jg=teth' => '#/322',
'jg=waw' => 'Jg/Waw',
'jg=yeh' => 'Jg/Yeh',
-'jg=yehbarree' => 'Jg/YehBarre',
-'jg=yehwithtail' => 'Jg/YehWithT',
-'jg=yudh' => 'Jg/Yudh',
-'jg=yudhhe' => 'Jg/YudhHe',
-'jg=zain' => 'Jg/Zain',
-'jg=zhain' => 'Jg/Zhain',
-'joinc' => 'JoinC/Y',
-'joinc=f' => '!JoinC/Y',
-'joinc=false' => '!JoinC/Y',
-'joinc=n' => '!JoinC/Y',
-'joinc=no' => '!JoinC/Y',
-'joinc=t' => 'JoinC/Y',
-'joinc=true' => 'JoinC/Y',
-'joinc=y' => 'JoinC/Y',
-'joinc=yes' => 'JoinC/Y',
-'joincontrol' => 'JoinC/Y',
+'jg=yehbarree' => '#/336',
+'jg=yehwithtail' => '#/342',
+'jg=yudh' => '#/323',
+'jg=yudhhe' => '#/331',
+'jg=zain' => '#/324',
+'jg=zhain' => '#/329',
+'joinc' => '#/55',
+'joinc=f' => '#/!55',
+'joinc=false' => '#/!55',
+'joinc=n' => '#/!55',
+'joinc=no' => '#/!55',
+'joinc=t' => '#/55',
+'joinc=true' => '#/55',
+'joinc=y' => '#/55',
+'joinc=yes' => '#/55',
+'joincontrol' => '#/55',
'jt=c' => 'Jt/C',
'jt=d' => 'Jt/D',
'jt=dualjoining' => 'Jt/D',
'jt=joincausing' => 'Jt/C',
-'jt=l' => '!Perl/Any',
-'jt=leftjoining' => '!Perl/Any',
+'jt=l' => '#/346',
+'jt=leftjoining' => '#/346',
'jt=nonjoining' => 'Jt/U',
'jt=r' => 'Jt/R',
'jt=rightjoining' => 'Jt/R',
'jt=t' => 'Jt/T',
'jt=transparent' => 'Jt/T',
'jt=u' => 'Jt/U',
-'kaithi' => 'Sc/Kthi',
-'kali' => 'Blk/KayahLi',
+'kaithi' => '#/472',
+'kali' => '#/140',
'kana' => 'Sc/Kana',
-'kanasup' => 'Blk/KanaSup',
-'kanasupplement' => 'Blk/KanaSup',
-'kanbun' => 'Blk/Kanbun',
-'kangxi' => 'Blk/Kangxi',
-'kangxiradicals' => 'Blk/Kangxi',
+'kanasup' => '#/138',
+'kanasupplement' => '#/138',
+'kanbun' => '#/118',
+'kangxi' => '#/119',
+'kangxiradicals' => '#/119',
'kannada' => 'Sc/Knda',
'katakana' => 'Sc/Kana',
-'katakanaext' => 'Blk/Katakan2',
-'katakanaphoneticextensions' => 'Blk/Katakan2',
-'kayahli' => 'Blk/KayahLi',
+'katakanaext' => '#/224',
+'katakanaphoneticextensions' => '#/224',
+'kayahli' => '#/140',
'khar' => 'Sc/Khar',
'kharoshthi' => 'Sc/Khar',
'khmer' => 'Sc/Khmr',
-'khmersymbols' => 'Blk/KhmerSym',
+'khmersymbols' => '#/241',
'khmr' => 'Sc/Khmr',
'knda' => 'Sc/Knda',
-'kthi' => 'Sc/Kthi',
+'kthi' => '#/472',
'l' => 'Gc/L',
'l&' => 'Gc/LC',
'l_' => 'Gc/LC',
@@ -2596,70 +4499,70 @@
'lao' => 'Sc/Lao',
'laoo' => 'Sc/Lao',
'latin' => 'Sc/Latn',
-'latin1' => 'Blk/Latin1',
-'latin1sup' => 'Blk/Latin1',
-'latin1supplement' => 'Blk/Latin1',
-'latinexta' => 'Blk/LatinExt',
-'latinextadditional' => 'Blk/LatinEx5',
-'latinextb' => 'Blk/LatinEx2',
-'latinextc' => 'Blk/LatinEx3',
-'latinextd' => 'Blk/LatinEx4',
-'latinextendeda' => 'Blk/LatinExt',
-'latinextendedadditional' => 'Blk/LatinEx5',
-'latinextendedb' => 'Blk/LatinEx2',
-'latinextendedc' => 'Blk/LatinEx3',
-'latinextendedd' => 'Blk/LatinEx4',
+'latin1' => '#/120',
+'latin1sup' => '#/120',
+'latin1supplement' => '#/120',
+'latinexta' => '#/188',
+'latinextadditional' => '#/283',
+'latinextb' => '#/189',
+'latinextc' => '#/190',
+'latinextd' => '#/191',
+'latinextendeda' => '#/188',
+'latinextendedadditional' => '#/283',
+'latinextendedb' => '#/189',
+'latinextendedc' => '#/190',
+'latinextendedd' => '#/191',
'latn' => 'Sc/Latn',
'lb=ai' => 'Lb/AI',
'lb=al' => 'Lb/AL',
'lb=alphabetic' => 'Lb/AL',
'lb=ambiguous' => 'Lb/AI',
-'lb=b2' => 'Lb/B2',
+'lb=b2' => '#/347',
'lb=ba' => 'Lb/BA',
'lb=bb' => 'Lb/BB',
-'lb=bk' => 'Lb/BK',
+'lb=bk' => '#/348',
'lb=breakafter' => 'Lb/BA',
'lb=breakbefore' => 'Lb/BB',
-'lb=breakboth' => 'Lb/B2',
-'lb=breaksymbols' => 'Lb/SY',
-'lb=carriagereturn' => 'GCB/CR',
-'lb=cb' => 'Lb/CB',
+'lb=breakboth' => '#/347',
+'lb=breaksymbols' => '#/356',
+'lb=carriagereturn' => '#/50',
+'lb=cb' => '#/349',
'lb=cj' => 'Lb/CJ',
'lb=cl' => 'Lb/CL',
-'lb=closeparenthesis' => 'Lb/CP',
+'lb=closeparenthesis' => '#/350',
'lb=closepunctuation' => 'Lb/CL',
'lb=cm' => 'Lb/CM',
'lb=combiningmark' => 'Lb/CM',
'lb=complexcontext' => 'Lb/SA',
'lb=conditionaljapanesestarter' => 'Lb/CJ',
-'lb=contingentbreak' => 'Lb/CB',
-'lb=cp' => 'Lb/CP',
-'lb=cr' => 'GCB/CR',
+'lb=contingentbreak' => '#/349',
+'lb=cp' => '#/350',
+'lb=cr' => '#/50',
'lb=ex' => 'Lb/EX',
'lb=exclamation' => 'Lb/EX',
'lb=gl' => 'Lb/GL',
'lb=glue' => 'Lb/GL',
-'lb=h2' => 'Perl/_XGCBLV',
-'lb=h3' => 'Perl/_XGCBLVT',
-'lb=hebrewletter' => 'Lb/HL',
-'lb=hl' => 'Lb/HL',
-'lb=hy' => 'Lb/HY',
-'lb=hyphen' => 'Lb/HY',
+'lb=h2' => 'GCB/LV',
+'lb=h3' => 'GCB/LVT',
+'lb=hebrewletter' => 'WB/HL',
+'lb=hl' => 'WB/HL',
+'lb=hy' => '#/351',
+'lb=hyphen' => '#/351',
'lb=id' => 'Lb/ID',
'lb=ideographic' => 'Lb/ID',
-'lb=in' => 'Lb/IN',
+'lb=in' => '#/352',
'lb=infixnumeric' => 'Lb/IS',
-'lb=inseparable' => 'Lb/IN',
-'lb=inseperable' => 'Lb/IN',
+'lb=inseparable' => '#/352',
+'lb=inseperable' => '#/352',
'lb=is' => 'Lb/IS',
-'lb=jl' => 'Perl/_XGCBL',
-'lb=jt' => 'Perl/_XGCBT',
-'lb=jv' => 'Perl/_XGCBV',
-'lb=lf' => 'GCB/LF',
-'lb=linefeed' => 'GCB/LF',
-'lb=mandatorybreak' => 'Lb/BK',
-'lb=nextline' => 'Lb/NL',
-'lb=nl' => 'Lb/NL',
+'lb=jl' => '#/47',
+'lb=jt' => '#/48',
+'lb=jv' => '#/49',
+'lb=lf' => '#/51',
+'lb=linefeed' => '#/51',
+'lb=mandatorybreak' => '#/348',
+'lb=nextline' => '#/353',
+'lb=nl' => '#/353',
'lb=nonstarter' => 'Lb/NS',
'lb=ns' => 'Lb/NS',
'lb=nu' => 'SB/NU',
@@ -2672,34 +4575,34 @@
'lb=prefixnumeric' => 'Lb/PR',
'lb=qu' => 'Lb/QU',
'lb=quotation' => 'Lb/QU',
-'lb=regionalindicator' => 'Perl/_XRI',
-'lb=ri' => 'Perl/_XRI',
+'lb=regionalindicator' => '#/52',
+'lb=ri' => '#/52',
'lb=sa' => 'Lb/SA',
-'lb=sg' => 'Lb/SG',
-'lb=sp' => 'Lb/SP',
-'lb=space' => 'Lb/SP',
-'lb=surrogate' => 'Lb/SG',
-'lb=sy' => 'Lb/SY',
+'lb=sg' => '#/354',
+'lb=sp' => '#/355',
+'lb=space' => '#/355',
+'lb=surrogate' => '#/354',
+'lb=sy' => '#/356',
'lb=unknown' => 'Lb/XX',
-'lb=wj' => 'Lb/WJ',
-'lb=wordjoiner' => 'Lb/WJ',
+'lb=wj' => '#/357',
+'lb=wordjoiner' => '#/357',
'lb=xx' => 'Lb/XX',
-'lb=zw' => 'Lb/ZW',
-'lb=zwspace' => 'Lb/ZW',
+'lb=zw' => '#/358',
+'lb=zwspace' => '#/358',
'lc' => 'Gc/LC',
-'lepc' => 'Sc/Lepc',
-'lepcha' => 'Sc/Lepc',
+'lepc' => '#/473',
+'lepcha' => '#/473',
'letter' => 'Gc/L',
-'letterlikesymbols' => 'Blk/Letterli',
+'letterlikesymbols' => '#/282',
'letternumber' => 'Gc/Nl',
'limb' => 'Sc/Limb',
'limbu' => 'Sc/Limb',
'linb' => 'Sc/Linb',
'linearb' => 'Sc/Linb',
-'linearbideograms' => 'Blk/LinearBI',
-'linearbsyllabary' => 'Blk/LinearBS',
-'lineseparator' => 'Gc/Zl',
-'lisu' => 'Blk/Lisu',
+'linearbideograms' => '#/276',
+'linearbsyllabary' => '#/277',
+'lineseparator' => '#/301',
+'lisu' => '#/85',
'll' => 'Gc/Ll',
'lm' => 'Gc/Lm',
'lo' => 'Gc/Lo',
@@ -2724,19 +4627,19 @@
'lower=yes' => 'Lower/Y',
'lowercase' => 'Lower/Y',
'lowercaseletter' => 'Gc/Ll',
-'lowsurrogates' => 'Blk/LowSurro',
-'lt' => 'Perl/Title',
+'lowsurrogates' => '#/248',
+'lt' => 'Gc/Lt',
'lu' => 'Gc/Lu',
-'lyci' => 'Sc/Lyci',
-'lycian' => 'Sc/Lyci',
-'lydi' => 'Sc/Lydi',
-'lydian' => 'Sc/Lydi',
+'lyci' => '#/474',
+'lycian' => '#/474',
+'lydi' => '#/475',
+'lydian' => '#/475',
'm' => 'Gc/M',
-'mahjong' => 'Blk/Mahjong',
-'mahjongtiles' => 'Blk/Mahjong',
+'mahjong' => '#/141',
+'mahjongtiles' => '#/141',
'malayalam' => 'Sc/Mlym',
-'mand' => 'Sc/Mand',
-'mandaic' => 'Sc/Mand',
+'mand' => '#/476',
+'mandaic' => '#/476',
'mark' => 'Gc/M',
'math' => 'Math/Y',
'math=f' => '!Math/Y',
@@ -2747,48 +4650,48 @@
'math=true' => 'Math/Y',
'math=y' => 'Math/Y',
'math=yes' => 'Math/Y',
-'mathalphanum' => 'Blk/MathAlph',
-'mathematicalalphanumericsymbols' => 'Blk/MathAlph',
-'mathematicaloperators' => 'Blk/MathOper',
-'mathoperators' => 'Blk/MathOper',
+'mathalphanum' => '#/242',
+'mathematicalalphanumericsymbols' => '#/242',
+'mathematicaloperators' => '#/249',
+'mathoperators' => '#/249',
'mathsymbol' => 'Gc/Sm',
'mc' => 'Gc/Mc',
'me' => 'Gc/Me',
-'meeteimayek' => 'Sc/Mtei',
-'meeteimayekext' => 'Blk/MeeteiM2',
-'meeteimayekextensions' => 'Blk/MeeteiM2',
-'merc' => 'Sc/Merc',
-'mero' => 'Blk/Meroiti2',
-'meroiticcursive' => 'Sc/Merc',
-'meroitichieroglyphs' => 'Blk/Meroiti2',
-'miao' => 'Sc/Miao',
-'miscarrows' => 'Blk/MiscArro',
-'miscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
-'miscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
-'miscellaneoussymbols' => 'Blk/MiscSymb',
-'miscellaneoussymbolsandarrows' => 'Blk/MiscArro',
-'miscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
-'miscellaneoustechnical' => 'Blk/MiscTech',
-'miscmathsymbolsa' => 'Blk/MiscMath',
-'miscmathsymbolsb' => 'Blk/MiscMat2',
-'miscpictographs' => 'Blk/MiscPict',
-'miscsymbols' => 'Blk/MiscSymb',
-'misctechnical' => 'Blk/MiscTech',
+'meeteimayek' => '#/479',
+'meeteimayekext' => '#/257',
+'meeteimayekextensions' => '#/257',
+'merc' => '#/477',
+'mero' => '#/288',
+'meroiticcursive' => '#/477',
+'meroitichieroglyphs' => '#/288',
+'miao' => '#/478',
+'miscarrows' => '#/209',
+'miscellaneousmathematicalsymbolsa' => '#/278',
+'miscellaneousmathematicalsymbolsb' => '#/279',
+'miscellaneoussymbols' => '#/226',
+'miscellaneoussymbolsandarrows' => '#/209',
+'miscellaneoussymbolsandpictographs' => '#/266',
+'miscellaneoustechnical' => '#/250',
+'miscmathsymbolsa' => '#/278',
+'miscmathsymbolsb' => '#/279',
+'miscpictographs' => '#/266',
+'miscsymbols' => '#/226',
+'misctechnical' => '#/250',
'mlym' => 'Sc/Mlym',
'mn' => 'Gc/Mn',
'modifierletter' => 'Gc/Lm',
-'modifierletters' => 'Blk/Modifier',
+'modifierletters' => '#/267',
'modifiersymbol' => 'Gc/Sk',
-'modifiertoneletters' => 'Blk/Modifie2',
+'modifiertoneletters' => '#/289',
'mong' => 'Sc/Mong',
'mongolian' => 'Sc/Mong',
-'mtei' => 'Sc/Mtei',
-'music' => 'Blk/Music',
-'musicalsymbols' => 'Blk/Music',
-'myanmar' => 'Sc/Mymr',
-'myanmarexta' => 'Blk/MyanmarE',
-'myanmarextendeda' => 'Blk/MyanmarE',
-'mymr' => 'Sc/Mymr',
+'mtei' => '#/479',
+'music' => '#/98',
+'musicalsymbols' => '#/98',
+'myanmar' => '#/480',
+'myanmarexta' => '#/227',
+'myanmarextendeda' => '#/227',
+'mymr' => '#/480',
'n' => 'Gc/N',
'nb' => 'Blk/NB',
'nchar' => 'NChar/Y',
@@ -2822,8 +4725,8 @@
'nfkdqc=no' => 'NFKDQC/N',
'nfkdqc=y' => 'NFKDQC/Y',
'nfkdqc=yes' => 'NFKDQC/Y',
-'nko' => 'Sc/Nko',
-'nkoo' => 'Sc/Nko',
+'nko' => '#/450',
+'nkoo' => '#/450',
'nl' => 'Gc/Nl',
'no' => 'Gc/No',
'noblock' => 'Blk/NB',
@@ -2837,31 +4740,31 @@
'nt=nu' => 'Nt/Nu',
'nt=numeric' => 'Nt/Nu',
'number' => 'Gc/N',
-'numberforms' => 'Blk/NumberFo',
+'numberforms' => '#/228',
'nv=nan' => 'Nt/None',
-'ocr' => 'Blk/OCR',
-'ogam' => 'Sc/Ogam',
-'ogham' => 'Sc/Ogam',
-'olchiki' => 'Blk/OlChiki',
-'olck' => 'Blk/OlChiki',
-'olditalic' => 'Sc/Ital',
-'oldpersian' => 'Sc/Xpeo',
-'oldsoutharabian' => 'Blk/OldSouth',
-'oldturkic' => 'Sc/Orkh',
+'ocr' => '#/80',
+'ogam' => '#/481',
+'ogham' => '#/481',
+'olchiki' => '#/144',
+'olck' => '#/144',
+'olditalic' => '#/470',
+'oldpersian' => '#/506',
+'oldsoutharabian' => '#/268',
+'oldturkic' => '#/482',
'openpunctuation' => 'Gc/Ps',
-'opticalcharacterrecognition' => 'Blk/OCR',
+'opticalcharacterrecognition' => '#/80',
'oriya' => 'Sc/Orya',
-'orkh' => 'Sc/Orkh',
+'orkh' => '#/482',
'orya' => 'Sc/Orya',
-'osma' => 'Sc/Osma',
-'osmanya' => 'Sc/Osma',
+'osma' => '#/483',
+'osmanya' => '#/483',
'other' => 'Gc/C',
'otherletter' => 'Gc/Lo',
'othernumber' => 'Gc/No',
'otherpunctuation' => 'Gc/Po',
'othersymbol' => 'Gc/So',
'p' => 'Gc/P',
-'paragraphseparator' => 'Gc/Zp',
+'paragraphseparator' => '#/302',
'patsyn' => 'PatSyn/Y',
'patsyn=f' => '!PatSyn/Y',
'patsyn=false' => '!PatSyn/Y',
@@ -2885,46 +4788,46 @@
'pc' => 'WB/EX',
'pd' => 'Gc/Pd',
'pe' => 'Gc/Pe',
-'perlspace' => 'Perl/PerlSpac',
+'perlspace' => '#/438',
'perlword' => 'Perl/PerlWord',
'pf' => 'Gc/Pf',
-'phag' => 'Sc/Phag',
-'phagspa' => 'Sc/Phag',
-'phaistos' => 'Blk/Phaistos',
-'phaistosdisc' => 'Blk/Phaistos',
-'phli' => 'Sc/Phli',
-'phnx' => 'Sc/Phnx',
-'phoenician' => 'Sc/Phnx',
-'phoneticext' => 'Blk/Phonetic',
-'phoneticextensions' => 'Blk/Phonetic',
-'phoneticextensionssupplement' => 'Blk/Phoneti2',
-'phoneticextsup' => 'Blk/Phoneti2',
+'phag' => '#/484',
+'phagspa' => '#/484',
+'phaistos' => '#/175',
+'phaistosdisc' => '#/175',
+'phli' => '#/485',
+'phnx' => '#/486',
+'phoenician' => '#/486',
+'phoneticext' => '#/229',
+'phoneticextensions' => '#/229',
+'phoneticextensionssupplement' => '#/258',
+'phoneticextsup' => '#/258',
'pi' => 'Gc/Pi',
-'playingcards' => 'Blk/PlayingC',
-'plrd' => 'Sc/Miao',
+'playingcards' => '#/243',
+'plrd' => '#/478',
'po' => 'Gc/Po',
-'posixalnum' => 'Perl/PosixAln',
-'posixalpha' => 'Perl/PosixAlp',
-'posixblank' => 'Perl/PosixBla',
-'posixcntrl' => 'Perl/PosixCnt',
-'posixdigit' => 'Perl/PosixDig',
-'posixgraph' => 'Perl/PosixGra',
-'posixlower' => 'Perl/PosixLow',
-'posixprint' => 'Perl/PosixPri',
+'posixalnum' => '#/440',
+'posixalpha' => '#/441',
+'posixblank' => '#/442',
+'posixcntrl' => '#/443',
+'posixdigit' => '#/444',
+'posixgraph' => '#/445',
+'posixlower' => '#/446',
+'posixprint' => '#/447',
'posixpunct' => 'Perl/PosixPun',
-'posixspace' => 'Perl/PerlSpac',
-'posixupper' => 'Perl/PosixUpp',
+'posixspace' => '#/438',
+'posixupper' => '#/448',
'posixword' => 'Perl/PerlWord',
-'posixxdigit' => 'AHex/Y',
+'posixxdigit' => '#/46',
'print' => 'Perl/Print',
-'privateuse' => 'Gc/Co',
-'privateusearea' => 'Blk/PUA',
-'prti' => 'Sc/Prti',
+'privateuse' => '#/299',
+'privateusearea' => '#/81',
+'prti' => '#/487',
'ps' => 'Gc/Ps',
-'pua' => 'Blk/PUA',
+'pua' => '#/81',
'punct' => 'Gc/P',
'punctuation' => 'Gc/P',
-'qaac' => 'Sc/Copt',
+'qaac' => '#/465',
'qaai' => 'Sc/Zinh',
'qmark' => 'QMark/Y',
'qmark=f' => '!QMark/Y',
@@ -2936,38 +4839,38 @@
'qmark=y' => 'QMark/Y',
'qmark=yes' => 'QMark/Y',
'quotationmark' => 'QMark/Y',
-'radical' => 'Radical/Y',
-'radical=f' => '!Radical/Y',
-'radical=false' => '!Radical/Y',
-'radical=n' => '!Radical/Y',
-'radical=no' => '!Radical/Y',
-'radical=t' => 'Radical/Y',
-'radical=true' => 'Radical/Y',
-'radical=y' => 'Radical/Y',
-'radical=yes' => 'Radical/Y',
-'rejang' => 'Sc/Rjng',
-'rjng' => 'Sc/Rjng',
-'rumi' => 'Blk/Rumi',
-'ruminumeralsymbols' => 'Blk/Rumi',
-'runic' => 'Sc/Runr',
-'runr' => 'Sc/Runr',
+'radical' => '#/56',
+'radical=f' => '#/!56',
+'radical=false' => '#/!56',
+'radical=n' => '#/!56',
+'radical=no' => '#/!56',
+'radical=t' => '#/56',
+'radical=true' => '#/56',
+'radical=y' => '#/56',
+'radical=yes' => '#/56',
+'rejang' => '#/488',
+'rjng' => '#/488',
+'rumi' => '#/87',
+'ruminumeralsymbols' => '#/87',
+'runic' => '#/489',
+'runr' => '#/489',
's' => 'Gc/S',
-'samaritan' => 'Sc/Samr',
-'samr' => 'Sc/Samr',
-'sarb' => 'Blk/OldSouth',
-'saur' => 'Sc/Saur',
-'saurashtra' => 'Sc/Saur',
+'samaritan' => '#/490',
+'samr' => '#/490',
+'sarb' => '#/268',
+'saur' => '#/491',
+'saurashtra' => '#/491',
'sb=at' => 'SB/AT',
'sb=aterm' => 'SB/AT',
'sb=cl' => 'SB/CL',
'sb=close' => 'SB/CL',
-'sb=cr' => 'GCB/CR',
+'sb=cr' => '#/50',
'sb=ex' => 'SB/EX',
'sb=extend' => 'SB/EX',
'sb=fo' => 'SB/FO',
'sb=format' => 'SB/FO',
'sb=le' => 'SB/LE',
-'sb=lf' => 'GCB/LF',
+'sb=lf' => '#/51',
'sb=lo' => 'SB/LO',
'sb=lower' => 'SB/LO',
'sb=nu' => 'SB/NU',
@@ -2976,8 +4879,8 @@
'sb=other' => 'SB/XX',
'sb=sc' => 'SB/SC',
'sb=scontinue' => 'SB/SC',
-'sb=se' => 'SB/SE',
-'sb=sep' => 'SB/SE',
+'sb=se' => '#/57',
+'sb=sep' => '#/57',
'sb=sp' => 'SB/Sp',
'sb=st' => 'SB/ST',
'sb=sterm' => 'SB/ST',
@@ -2988,59 +4891,59 @@
'sc=arab' => 'Sc/Arab',
'sc=arabic' => 'Sc/Arab',
'sc=armenian' => 'Sc/Armn',
-'sc=armi' => 'Sc/Armi',
+'sc=armi' => '#/452',
'sc=armn' => 'Sc/Armn',
-'sc=avestan' => 'Sc/Avst',
-'sc=avst' => 'Sc/Avst',
-'sc=bali' => 'Sc/Bali',
-'sc=balinese' => 'Sc/Bali',
-'sc=bamu' => 'Sc/Bamu',
-'sc=bamum' => 'Sc/Bamu',
-'sc=batak' => 'Sc/Batk',
-'sc=batk' => 'Sc/Batk',
+'sc=avestan' => '#/453',
+'sc=avst' => '#/453',
+'sc=bali' => '#/454',
+'sc=balinese' => '#/454',
+'sc=bamu' => '#/455',
+'sc=bamum' => '#/455',
+'sc=batak' => '#/456',
+'sc=batk' => '#/456',
'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/Braille',
-'sc=braille' => 'Blk/Braille',
-'sc=bugi' => 'Sc/Bugi',
-'sc=buginese' => 'Sc/Bugi',
-'sc=buhd' => 'Sc/Buhd',
-'sc=buhid' => 'Sc/Buhd',
-'sc=cakm' => 'Sc/Cakm',
-'sc=canadianaboriginal' => 'Sc/Cans',
-'sc=cans' => 'Sc/Cans',
-'sc=cari' => 'Sc/Cari',
-'sc=carian' => 'Sc/Cari',
-'sc=chakma' => 'Sc/Cakm',
+'sc=bopo' => '#/457',
+'sc=bopomofo' => '#/457',
+'sc=brah' => '#/458',
+'sc=brahmi' => '#/458',
+'sc=brai' => '#/131',
+'sc=braille' => '#/131',
+'sc=bugi' => '#/459',
+'sc=buginese' => '#/459',
+'sc=buhd' => '#/460',
+'sc=buhid' => '#/460',
+'sc=cakm' => '#/461',
+'sc=canadianaboriginal' => '#/462',
+'sc=cans' => '#/462',
+'sc=cari' => '#/463',
+'sc=carian' => '#/463',
+'sc=chakma' => '#/461',
'sc=cham' => 'Sc/Cham',
-'sc=cher' => 'Sc/Cher',
-'sc=cherokee' => 'Sc/Cher',
+'sc=cher' => '#/464',
+'sc=cherokee' => '#/464',
'sc=common' => 'Sc/Zyyy',
-'sc=copt' => 'Sc/Copt',
-'sc=coptic' => 'Sc/Copt',
+'sc=copt' => '#/465',
+'sc=coptic' => '#/465',
'sc=cprt' => 'Sc/Cprt',
-'sc=cuneiform' => 'Sc/Xsux',
+'sc=cuneiform' => '#/507',
'sc=cypriot' => 'Sc/Cprt',
'sc=cyrillic' => 'Sc/Cyrl',
'sc=cyrl' => 'Sc/Cyrl',
-'sc=deseret' => 'Blk/Deseret',
+'sc=deseret' => '#/136',
'sc=deva' => 'Sc/Deva',
'sc=devanagari' => 'Sc/Deva',
-'sc=dsrt' => 'Blk/Deseret',
-'sc=egyp' => 'Sc/Egyp',
-'sc=egyptianhieroglyphs' => 'Sc/Egyp',
+'sc=dsrt' => '#/136',
+'sc=egyp' => '#/466',
+'sc=egyptianhieroglyphs' => '#/466',
'sc=ethi' => 'Sc/Ethi',
'sc=ethiopic' => 'Sc/Ethi',
'sc=geor' => 'Sc/Geor',
'sc=georgian' => 'Sc/Geor',
-'sc=glag' => 'Sc/Glag',
-'sc=glagolitic' => 'Sc/Glag',
-'sc=goth' => 'Sc/Goth',
-'sc=gothic' => 'Sc/Goth',
+'sc=glag' => '#/467',
+'sc=glagolitic' => '#/467',
+'sc=goth' => '#/468',
+'sc=gothic' => '#/468',
'sc=greek' => 'Sc/Grek',
'sc=grek' => 'Sc/Grek',
'sc=gujarati' => 'Sc/Gujr',
@@ -3051,201 +4954,201 @@
'sc=hang' => 'Sc/Hang',
'sc=hangul' => 'Sc/Hang',
'sc=hani' => 'Sc/Han',
-'sc=hano' => 'Sc/Hano',
-'sc=hanunoo' => 'Sc/Hano',
+'sc=hano' => '#/469',
+'sc=hanunoo' => '#/469',
'sc=hebr' => 'Sc/Hebr',
'sc=hebrew' => 'Sc/Hebr',
'sc=hira' => 'Sc/Hira',
'sc=hiragana' => 'Sc/Hira',
-'sc=imperialaramaic' => 'Sc/Armi',
+'sc=imperialaramaic' => '#/452',
'sc=inherited' => 'Sc/Zinh',
-'sc=inscriptionalpahlavi' => 'Sc/Phli',
-'sc=inscriptionalparthian' => 'Sc/Prti',
-'sc=ital' => 'Sc/Ital',
-'sc=java' => 'Sc/Java',
-'sc=javanese' => 'Sc/Java',
-'sc=kaithi' => 'Sc/Kthi',
-'sc=kali' => 'Blk/KayahLi',
+'sc=inscriptionalpahlavi' => '#/485',
+'sc=inscriptionalparthian' => '#/487',
+'sc=ital' => '#/470',
+'sc=java' => '#/471',
+'sc=javanese' => '#/471',
+'sc=kaithi' => '#/472',
+'sc=kali' => '#/140',
'sc=kana' => 'Sc/Kana',
'sc=kannada' => 'Sc/Knda',
'sc=katakana' => 'Sc/Kana',
-'sc=kayahli' => 'Blk/KayahLi',
+'sc=kayahli' => '#/140',
'sc=khar' => 'Sc/Khar',
'sc=kharoshthi' => 'Sc/Khar',
'sc=khmer' => 'Sc/Khmr',
'sc=khmr' => 'Sc/Khmr',
'sc=knda' => 'Sc/Knda',
-'sc=kthi' => 'Sc/Kthi',
+'sc=kthi' => '#/472',
'sc=lana' => 'Sc/Lana',
'sc=lao' => 'Sc/Lao',
'sc=laoo' => 'Sc/Lao',
'sc=latin' => 'Sc/Latn',
'sc=latn' => 'Sc/Latn',
-'sc=lepc' => 'Sc/Lepc',
-'sc=lepcha' => 'Sc/Lepc',
+'sc=lepc' => '#/473',
+'sc=lepcha' => '#/473',
'sc=limb' => 'Sc/Limb',
'sc=limbu' => 'Sc/Limb',
'sc=linb' => 'Sc/Linb',
'sc=linearb' => 'Sc/Linb',
-'sc=lisu' => 'Blk/Lisu',
-'sc=lyci' => 'Sc/Lyci',
-'sc=lycian' => 'Sc/Lyci',
-'sc=lydi' => 'Sc/Lydi',
-'sc=lydian' => 'Sc/Lydi',
+'sc=lisu' => '#/85',
+'sc=lyci' => '#/474',
+'sc=lycian' => '#/474',
+'sc=lydi' => '#/475',
+'sc=lydian' => '#/475',
'sc=malayalam' => 'Sc/Mlym',
-'sc=mand' => 'Sc/Mand',
-'sc=mandaic' => 'Sc/Mand',
-'sc=meeteimayek' => 'Sc/Mtei',
-'sc=merc' => 'Sc/Merc',
-'sc=mero' => 'Blk/Meroiti2',
-'sc=meroiticcursive' => 'Sc/Merc',
-'sc=meroitichieroglyphs' => 'Blk/Meroiti2',
-'sc=miao' => 'Sc/Miao',
+'sc=mand' => '#/476',
+'sc=mandaic' => '#/476',
+'sc=meeteimayek' => '#/479',
+'sc=merc' => '#/477',
+'sc=mero' => '#/288',
+'sc=meroiticcursive' => '#/477',
+'sc=meroitichieroglyphs' => '#/288',
+'sc=miao' => '#/478',
'sc=mlym' => 'Sc/Mlym',
'sc=mong' => 'Sc/Mong',
'sc=mongolian' => 'Sc/Mong',
-'sc=mtei' => 'Sc/Mtei',
-'sc=myanmar' => 'Sc/Mymr',
-'sc=mymr' => 'Sc/Mymr',
+'sc=mtei' => '#/479',
+'sc=myanmar' => '#/480',
+'sc=mymr' => '#/480',
'sc=newtailue' => 'Sc/Talu',
-'sc=nko' => 'Sc/Nko',
-'sc=nkoo' => 'Sc/Nko',
-'sc=ogam' => 'Sc/Ogam',
-'sc=ogham' => 'Sc/Ogam',
-'sc=olchiki' => 'Blk/OlChiki',
-'sc=olck' => 'Blk/OlChiki',
-'sc=olditalic' => 'Sc/Ital',
-'sc=oldpersian' => 'Sc/Xpeo',
-'sc=oldsoutharabian' => 'Blk/OldSouth',
-'sc=oldturkic' => 'Sc/Orkh',
+'sc=nko' => '#/450',
+'sc=nkoo' => '#/450',
+'sc=ogam' => '#/481',
+'sc=ogham' => '#/481',
+'sc=olchiki' => '#/144',
+'sc=olck' => '#/144',
+'sc=olditalic' => '#/470',
+'sc=oldpersian' => '#/506',
+'sc=oldsoutharabian' => '#/268',
+'sc=oldturkic' => '#/482',
'sc=oriya' => 'Sc/Orya',
-'sc=orkh' => 'Sc/Orkh',
+'sc=orkh' => '#/482',
'sc=orya' => 'Sc/Orya',
-'sc=osma' => 'Sc/Osma',
-'sc=osmanya' => 'Sc/Osma',
-'sc=phag' => 'Sc/Phag',
-'sc=phagspa' => 'Sc/Phag',
-'sc=phli' => 'Sc/Phli',
-'sc=phnx' => 'Sc/Phnx',
-'sc=phoenician' => 'Sc/Phnx',
-'sc=plrd' => 'Sc/Miao',
-'sc=prti' => 'Sc/Prti',
-'sc=qaac' => 'Sc/Copt',
+'sc=osma' => '#/483',
+'sc=osmanya' => '#/483',
+'sc=phag' => '#/484',
+'sc=phagspa' => '#/484',
+'sc=phli' => '#/485',
+'sc=phnx' => '#/486',
+'sc=phoenician' => '#/486',
+'sc=plrd' => '#/478',
+'sc=prti' => '#/487',
+'sc=qaac' => '#/465',
'sc=qaai' => 'Sc/Zinh',
-'sc=rejang' => 'Sc/Rjng',
-'sc=rjng' => 'Sc/Rjng',
-'sc=runic' => 'Sc/Runr',
-'sc=runr' => 'Sc/Runr',
-'sc=samaritan' => 'Sc/Samr',
-'sc=samr' => 'Sc/Samr',
-'sc=sarb' => 'Blk/OldSouth',
-'sc=saur' => 'Sc/Saur',
-'sc=saurashtra' => 'Sc/Saur',
-'sc=sharada' => 'Sc/Shrd',
-'sc=shavian' => 'Blk/Shavian',
-'sc=shaw' => 'Blk/Shavian',
-'sc=shrd' => 'Sc/Shrd',
+'sc=rejang' => '#/488',
+'sc=rjng' => '#/488',
+'sc=runic' => '#/489',
+'sc=runr' => '#/489',
+'sc=samaritan' => '#/490',
+'sc=samr' => '#/490',
+'sc=sarb' => '#/268',
+'sc=saur' => '#/491',
+'sc=saurashtra' => '#/491',
+'sc=sharada' => '#/492',
+'sc=shavian' => '#/148',
+'sc=shaw' => '#/148',
+'sc=shrd' => '#/492',
'sc=sinh' => 'Sc/Sinh',
'sc=sinhala' => 'Sc/Sinh',
-'sc=sora' => 'Sc/Sora',
-'sc=sorasompeng' => 'Sc/Sora',
-'sc=sund' => 'Sc/Sund',
-'sc=sundanese' => 'Sc/Sund',
-'sc=sylo' => 'Sc/Sylo',
-'sc=sylotinagri' => 'Sc/Sylo',
-'sc=syrc' => 'Sc/Syrc',
-'sc=syriac' => 'Sc/Syrc',
-'sc=tagalog' => 'Sc/Tglg',
-'sc=tagb' => 'Sc/Tagb',
-'sc=tagbanwa' => 'Sc/Tagb',
-'sc=taile' => 'Sc/Tale',
+'sc=sora' => '#/493',
+'sc=sorasompeng' => '#/493',
+'sc=sund' => '#/494',
+'sc=sundanese' => '#/494',
+'sc=sylo' => '#/495',
+'sc=sylotinagri' => '#/495',
+'sc=syrc' => '#/496',
+'sc=syriac' => '#/496',
+'sc=tagalog' => '#/502',
+'sc=tagb' => '#/497',
+'sc=tagbanwa' => '#/497',
+'sc=taile' => '#/499',
'sc=taitham' => 'Sc/Lana',
-'sc=taiviet' => 'Sc/Tavt',
-'sc=takr' => 'Sc/Takr',
-'sc=takri' => 'Sc/Takr',
-'sc=tale' => 'Sc/Tale',
+'sc=taiviet' => '#/500',
+'sc=takr' => '#/498',
+'sc=takri' => '#/498',
+'sc=tale' => '#/499',
'sc=talu' => 'Sc/Talu',
'sc=tamil' => 'Sc/Taml',
'sc=taml' => 'Sc/Taml',
-'sc=tavt' => 'Sc/Tavt',
+'sc=tavt' => '#/500',
'sc=telu' => 'Sc/Telu',
'sc=telugu' => 'Sc/Telu',
-'sc=tfng' => 'Sc/Tfng',
-'sc=tglg' => 'Sc/Tglg',
-'sc=thaa' => 'Sc/Thaa',
-'sc=thaana' => 'Sc/Thaa',
-'sc=thai' => 'Sc/Thai',
+'sc=tfng' => '#/501',
+'sc=tglg' => '#/502',
+'sc=thaa' => '#/503',
+'sc=thaana' => '#/503',
+'sc=thai' => '#/504',
'sc=tibetan' => 'Sc/Tibt',
'sc=tibt' => 'Sc/Tibt',
-'sc=tifinagh' => 'Sc/Tfng',
-'sc=ugar' => 'Sc/Ugar',
-'sc=ugaritic' => 'Sc/Ugar',
+'sc=tifinagh' => '#/501',
+'sc=ugar' => '#/505',
+'sc=ugaritic' => '#/505',
'sc=unknown' => 'Sc/Zzzz',
-'sc=vai' => 'Sc/Vai',
-'sc=vaii' => 'Sc/Vai',
-'sc=xpeo' => 'Sc/Xpeo',
-'sc=xsux' => 'Sc/Xsux',
-'sc=yi' => 'Sc/Yi',
-'sc=yiii' => 'Sc/Yi',
+'sc=vai' => '#/451',
+'sc=vaii' => '#/451',
+'sc=xpeo' => '#/506',
+'sc=xsux' => '#/507',
+'sc=yi' => '#/449',
+'sc=yiii' => '#/449',
'sc=zinh' => 'Sc/Zinh',
'sc=zyyy' => 'Sc/Zyyy',
'sc=zzzz' => 'Sc/Zzzz',
'scx=arab' => 'Scx/Arab',
'scx=arabic' => 'Scx/Arab',
'scx=armenian' => 'Scx/Armn',
-'scx=armi' => 'Sc/Armi',
+'scx=armi' => '#/452',
'scx=armn' => 'Scx/Armn',
-'scx=avestan' => 'Sc/Avst',
-'scx=avst' => 'Sc/Avst',
-'scx=bali' => 'Sc/Bali',
-'scx=balinese' => 'Sc/Bali',
-'scx=bamu' => 'Sc/Bamu',
-'scx=bamum' => 'Sc/Bamu',
-'scx=batak' => 'Sc/Batk',
-'scx=batk' => 'Sc/Batk',
+'scx=avestan' => '#/453',
+'scx=avst' => '#/453',
+'scx=bali' => '#/454',
+'scx=balinese' => '#/454',
+'scx=bamu' => '#/455',
+'scx=bamum' => '#/455',
+'scx=batak' => '#/456',
+'scx=batk' => '#/456',
'scx=beng' => 'Scx/Beng',
'scx=bengali' => 'Scx/Beng',
'scx=bopo' => 'Scx/Bopo',
'scx=bopomofo' => 'Scx/Bopo',
-'scx=brah' => 'Sc/Brah',
-'scx=brahmi' => 'Sc/Brah',
-'scx=brai' => 'Blk/Braille',
-'scx=braille' => 'Blk/Braille',
-'scx=bugi' => 'Sc/Bugi',
-'scx=buginese' => 'Sc/Bugi',
-'scx=buhd' => 'Scx/Buhd',
-'scx=buhid' => 'Scx/Buhd',
-'scx=cakm' => 'Sc/Cakm',
-'scx=canadianaboriginal' => 'Sc/Cans',
-'scx=cans' => 'Sc/Cans',
-'scx=cari' => 'Sc/Cari',
-'scx=carian' => 'Sc/Cari',
-'scx=chakma' => 'Sc/Cakm',
+'scx=brah' => '#/458',
+'scx=brahmi' => '#/458',
+'scx=brai' => '#/131',
+'scx=braille' => '#/131',
+'scx=bugi' => '#/508',
+'scx=buginese' => '#/508',
+'scx=buhd' => '#/509',
+'scx=buhid' => '#/509',
+'scx=cakm' => 'Scx/Cakm',
+'scx=canadianaboriginal' => '#/462',
+'scx=cans' => '#/462',
+'scx=cari' => '#/463',
+'scx=carian' => '#/463',
+'scx=chakma' => 'Scx/Cakm',
'scx=cham' => 'Sc/Cham',
-'scx=cher' => 'Sc/Cher',
-'scx=cherokee' => 'Sc/Cher',
+'scx=cher' => '#/464',
+'scx=cherokee' => '#/464',
'scx=common' => 'Scx/Zyyy',
-'scx=copt' => 'Sc/Copt',
-'scx=coptic' => 'Sc/Copt',
+'scx=copt' => '#/465',
+'scx=coptic' => '#/465',
'scx=cprt' => 'Scx/Cprt',
-'scx=cuneiform' => 'Sc/Xsux',
+'scx=cuneiform' => '#/507',
'scx=cypriot' => 'Scx/Cprt',
'scx=cyrillic' => 'Scx/Cyrl',
'scx=cyrl' => 'Scx/Cyrl',
-'scx=deseret' => 'Blk/Deseret',
+'scx=deseret' => '#/136',
'scx=deva' => 'Scx/Deva',
'scx=devanagari' => 'Scx/Deva',
-'scx=dsrt' => 'Blk/Deseret',
-'scx=egyp' => 'Sc/Egyp',
-'scx=egyptianhieroglyphs' => 'Sc/Egyp',
+'scx=dsrt' => '#/136',
+'scx=egyp' => '#/466',
+'scx=egyptianhieroglyphs' => '#/466',
'scx=ethi' => 'Sc/Ethi',
'scx=ethiopic' => 'Sc/Ethi',
'scx=geor' => 'Scx/Geor',
'scx=georgian' => 'Scx/Geor',
-'scx=glag' => 'Sc/Glag',
-'scx=glagolitic' => 'Sc/Glag',
-'scx=goth' => 'Sc/Goth',
-'scx=gothic' => 'Sc/Goth',
+'scx=glag' => '#/467',
+'scx=glagolitic' => '#/467',
+'scx=goth' => '#/468',
+'scx=gothic' => '#/468',
'scx=greek' => 'Scx/Grek',
'scx=grek' => 'Scx/Grek',
'scx=gujarati' => 'Scx/Gujr',
@@ -3256,140 +5159,140 @@
'scx=hang' => 'Scx/Hang',
'scx=hangul' => 'Scx/Hang',
'scx=hani' => 'Scx/Han',
-'scx=hano' => 'Scx/Hano',
-'scx=hanunoo' => 'Scx/Hano',
+'scx=hano' => '#/510',
+'scx=hanunoo' => '#/510',
'scx=hebr' => 'Sc/Hebr',
'scx=hebrew' => 'Sc/Hebr',
'scx=hira' => 'Scx/Hira',
'scx=hiragana' => 'Scx/Hira',
-'scx=imperialaramaic' => 'Sc/Armi',
+'scx=imperialaramaic' => '#/452',
'scx=inherited' => 'Scx/Zinh',
-'scx=inscriptionalpahlavi' => 'Sc/Phli',
-'scx=inscriptionalparthian' => 'Sc/Prti',
-'scx=ital' => 'Sc/Ital',
-'scx=java' => 'Sc/Java',
-'scx=javanese' => 'Sc/Java',
-'scx=kaithi' => 'Scx/Kthi',
-'scx=kali' => 'Blk/KayahLi',
+'scx=inscriptionalpahlavi' => '#/485',
+'scx=inscriptionalparthian' => '#/487',
+'scx=ital' => '#/470',
+'scx=java' => '#/511',
+'scx=javanese' => '#/511',
+'scx=kaithi' => '#/512',
+'scx=kali' => '#/140',
'scx=kana' => 'Scx/Kana',
'scx=kannada' => 'Sc/Knda',
'scx=katakana' => 'Scx/Kana',
-'scx=kayahli' => 'Blk/KayahLi',
+'scx=kayahli' => '#/140',
'scx=khar' => 'Sc/Khar',
'scx=kharoshthi' => 'Sc/Khar',
'scx=khmer' => 'Sc/Khmr',
'scx=khmr' => 'Sc/Khmr',
'scx=knda' => 'Sc/Knda',
-'scx=kthi' => 'Scx/Kthi',
+'scx=kthi' => '#/512',
'scx=lana' => 'Sc/Lana',
'scx=lao' => 'Sc/Lao',
'scx=laoo' => 'Sc/Lao',
'scx=latin' => 'Scx/Latn',
'scx=latn' => 'Scx/Latn',
-'scx=lepc' => 'Sc/Lepc',
-'scx=lepcha' => 'Sc/Lepc',
+'scx=lepc' => '#/473',
+'scx=lepcha' => '#/473',
'scx=limb' => 'Sc/Limb',
'scx=limbu' => 'Sc/Limb',
'scx=linb' => 'Scx/Linb',
'scx=linearb' => 'Scx/Linb',
-'scx=lisu' => 'Blk/Lisu',
-'scx=lyci' => 'Sc/Lyci',
-'scx=lycian' => 'Sc/Lyci',
-'scx=lydi' => 'Sc/Lydi',
-'scx=lydian' => 'Sc/Lydi',
+'scx=lisu' => '#/85',
+'scx=lyci' => '#/474',
+'scx=lycian' => '#/474',
+'scx=lydi' => '#/475',
+'scx=lydian' => '#/475',
'scx=malayalam' => 'Sc/Mlym',
-'scx=mand' => 'Scx/Mand',
-'scx=mandaic' => 'Scx/Mand',
-'scx=meeteimayek' => 'Sc/Mtei',
-'scx=merc' => 'Sc/Merc',
-'scx=mero' => 'Blk/Meroiti2',
-'scx=meroiticcursive' => 'Sc/Merc',
-'scx=meroitichieroglyphs' => 'Blk/Meroiti2',
-'scx=miao' => 'Sc/Miao',
+'scx=mand' => '#/513',
+'scx=mandaic' => '#/513',
+'scx=meeteimayek' => '#/479',
+'scx=merc' => '#/477',
+'scx=mero' => '#/288',
+'scx=meroiticcursive' => '#/477',
+'scx=meroitichieroglyphs' => '#/288',
+'scx=miao' => '#/478',
'scx=mlym' => 'Sc/Mlym',
'scx=mong' => 'Scx/Mong',
'scx=mongolian' => 'Scx/Mong',
-'scx=mtei' => 'Sc/Mtei',
-'scx=myanmar' => 'Sc/Mymr',
-'scx=mymr' => 'Sc/Mymr',
+'scx=mtei' => '#/479',
+'scx=myanmar' => '#/480',
+'scx=mymr' => '#/480',
'scx=newtailue' => 'Sc/Talu',
-'scx=nko' => 'Sc/Nko',
-'scx=nkoo' => 'Sc/Nko',
-'scx=ogam' => 'Sc/Ogam',
-'scx=ogham' => 'Sc/Ogam',
-'scx=olchiki' => 'Blk/OlChiki',
-'scx=olck' => 'Blk/OlChiki',
-'scx=olditalic' => 'Sc/Ital',
-'scx=oldpersian' => 'Sc/Xpeo',
-'scx=oldsoutharabian' => 'Blk/OldSouth',
-'scx=oldturkic' => 'Sc/Orkh',
+'scx=nko' => '#/450',
+'scx=nkoo' => '#/450',
+'scx=ogam' => '#/481',
+'scx=ogham' => '#/481',
+'scx=olchiki' => '#/144',
+'scx=olck' => '#/144',
+'scx=olditalic' => '#/470',
+'scx=oldpersian' => '#/506',
+'scx=oldsoutharabian' => '#/268',
+'scx=oldturkic' => '#/482',
'scx=oriya' => 'Scx/Orya',
-'scx=orkh' => 'Sc/Orkh',
+'scx=orkh' => '#/482',
'scx=orya' => 'Scx/Orya',
-'scx=osma' => 'Sc/Osma',
-'scx=osmanya' => 'Sc/Osma',
-'scx=phag' => 'Scx/Phag',
-'scx=phagspa' => 'Scx/Phag',
-'scx=phli' => 'Sc/Phli',
-'scx=phnx' => 'Sc/Phnx',
-'scx=phoenician' => 'Sc/Phnx',
-'scx=plrd' => 'Sc/Miao',
-'scx=prti' => 'Sc/Prti',
-'scx=qaac' => 'Sc/Copt',
+'scx=osma' => '#/483',
+'scx=osmanya' => '#/483',
+'scx=phag' => '#/514',
+'scx=phagspa' => '#/514',
+'scx=phli' => '#/485',
+'scx=phnx' => '#/486',
+'scx=phoenician' => '#/486',
+'scx=plrd' => '#/478',
+'scx=prti' => '#/487',
+'scx=qaac' => '#/465',
'scx=qaai' => 'Scx/Zinh',
-'scx=rejang' => 'Sc/Rjng',
-'scx=rjng' => 'Sc/Rjng',
-'scx=runic' => 'Sc/Runr',
-'scx=runr' => 'Sc/Runr',
-'scx=samaritan' => 'Sc/Samr',
-'scx=samr' => 'Sc/Samr',
-'scx=sarb' => 'Blk/OldSouth',
-'scx=saur' => 'Sc/Saur',
-'scx=saurashtra' => 'Sc/Saur',
-'scx=sharada' => 'Sc/Shrd',
-'scx=shavian' => 'Blk/Shavian',
-'scx=shaw' => 'Blk/Shavian',
-'scx=shrd' => 'Sc/Shrd',
+'scx=rejang' => '#/488',
+'scx=rjng' => '#/488',
+'scx=runic' => '#/489',
+'scx=runr' => '#/489',
+'scx=samaritan' => '#/490',
+'scx=samr' => '#/490',
+'scx=sarb' => '#/268',
+'scx=saur' => '#/491',
+'scx=saurashtra' => '#/491',
+'scx=sharada' => '#/492',
+'scx=shavian' => '#/148',
+'scx=shaw' => '#/148',
+'scx=shrd' => '#/492',
'scx=sinh' => 'Sc/Sinh',
'scx=sinhala' => 'Sc/Sinh',
-'scx=sora' => 'Sc/Sora',
-'scx=sorasompeng' => 'Sc/Sora',
-'scx=sund' => 'Sc/Sund',
-'scx=sundanese' => 'Sc/Sund',
-'scx=sylo' => 'Sc/Sylo',
-'scx=sylotinagri' => 'Sc/Sylo',
+'scx=sora' => '#/493',
+'scx=sorasompeng' => '#/493',
+'scx=sund' => '#/494',
+'scx=sundanese' => '#/494',
+'scx=sylo' => '#/515',
+'scx=sylotinagri' => '#/515',
'scx=syrc' => 'Scx/Syrc',
'scx=syriac' => 'Scx/Syrc',
-'scx=tagalog' => 'Scx/Tglg',
+'scx=tagalog' => '#/517',
'scx=tagb' => 'Scx/Tagb',
'scx=tagbanwa' => 'Scx/Tagb',
-'scx=taile' => 'Sc/Tale',
+'scx=taile' => '#/516',
'scx=taitham' => 'Sc/Lana',
-'scx=taiviet' => 'Sc/Tavt',
+'scx=taiviet' => '#/500',
'scx=takr' => 'Scx/Takr',
'scx=takri' => 'Scx/Takr',
-'scx=tale' => 'Sc/Tale',
+'scx=tale' => '#/516',
'scx=talu' => 'Sc/Talu',
'scx=tamil' => 'Sc/Taml',
'scx=taml' => 'Sc/Taml',
-'scx=tavt' => 'Sc/Tavt',
+'scx=tavt' => '#/500',
'scx=telu' => 'Sc/Telu',
'scx=telugu' => 'Sc/Telu',
-'scx=tfng' => 'Sc/Tfng',
-'scx=tglg' => 'Scx/Tglg',
+'scx=tfng' => '#/501',
+'scx=tglg' => '#/517',
'scx=thaa' => 'Scx/Thaa',
'scx=thaana' => 'Scx/Thaa',
-'scx=thai' => 'Sc/Thai',
+'scx=thai' => '#/504',
'scx=tibetan' => 'Sc/Tibt',
'scx=tibt' => 'Sc/Tibt',
-'scx=tifinagh' => 'Sc/Tfng',
-'scx=ugar' => 'Sc/Ugar',
-'scx=ugaritic' => 'Sc/Ugar',
+'scx=tifinagh' => '#/501',
+'scx=ugar' => '#/505',
+'scx=ugaritic' => '#/505',
'scx=unknown' => 'Sc/Zzzz',
-'scx=vai' => 'Sc/Vai',
-'scx=vaii' => 'Sc/Vai',
-'scx=xpeo' => 'Sc/Xpeo',
-'scx=xsux' => 'Sc/Xsux',
+'scx=vai' => '#/451',
+'scx=vaii' => '#/451',
+'scx=xpeo' => '#/506',
+'scx=xsux' => '#/507',
'scx=yi' => 'Scx/Yi',
'scx=yiii' => 'Scx/Yi',
'scx=zinh' => 'Scx/Zinh',
@@ -3405,26 +5308,26 @@
'sd=y' => 'SD/Y',
'sd=yes' => 'SD/Y',
'separator' => 'Gc/Z',
-'sharada' => 'Sc/Shrd',
-'shavian' => 'Blk/Shavian',
-'shaw' => 'Blk/Shavian',
-'shrd' => 'Sc/Shrd',
+'sharada' => '#/492',
+'shavian' => '#/148',
+'shaw' => '#/148',
+'shrd' => '#/492',
'sinh' => 'Sc/Sinh',
'sinhala' => 'Sc/Sinh',
'sk' => 'Gc/Sk',
'sm' => 'Gc/Sm',
-'smallforms' => 'Blk/SmallFor',
-'smallformvariants' => 'Blk/SmallFor',
+'smallforms' => '#/213',
+'smallformvariants' => '#/213',
'so' => 'Gc/So',
'softdotted' => 'SD/Y',
-'sora' => 'Sc/Sora',
-'sorasompeng' => 'Sc/Sora',
-'space' => 'Perl/SpacePer',
-'spaceperl' => 'Perl/SpacePer',
+'sora' => '#/493',
+'sorasompeng' => '#/493',
+'space' => 'Space/Y',
+'spaceperl' => 'Space/Y',
'spaceseparator' => 'Gc/Zs',
'spacingmark' => 'Gc/Mc',
-'spacingmodifierletters' => 'Blk/Modifier',
-'specials' => 'Blk/Specials',
+'spacingmodifierletters' => '#/267',
+'specials' => '#/176',
'sterm' => 'STerm/Y',
'sterm=f' => '!STerm/Y',
'sterm=false' => '!STerm/Y',
@@ -3434,46 +5337,46 @@
'sterm=true' => 'STerm/Y',
'sterm=y' => 'STerm/Y',
'sterm=yes' => 'STerm/Y',
-'sund' => 'Sc/Sund',
-'sundanese' => 'Sc/Sund',
-'sundanesesup' => 'Blk/Sundane2',
-'sundanesesupplement' => 'Blk/Sundane2',
-'suparrowsa' => 'Blk/SupArrow',
-'suparrowsb' => 'Blk/SupArro2',
-'superandsub' => 'Blk/SuperAnd',
-'superscriptsandsubscripts' => 'Blk/SuperAnd',
-'supmathoperators' => 'Blk/SupMathO',
-'supplementalarrowsa' => 'Blk/SupArrow',
-'supplementalarrowsb' => 'Blk/SupArro2',
-'supplementalmathematicaloperators' => 'Blk/SupMathO',
-'supplementalpunctuation' => 'Blk/SupPunct',
-'supplementaryprivateuseareaa' => 'Blk/SupPUAA',
-'supplementaryprivateuseareab' => 'Blk/SupPUAB',
-'suppuaa' => 'Blk/SupPUAA',
-'suppuab' => 'Blk/SupPUAB',
-'suppunctuation' => 'Blk/SupPunct',
-'surrogate' => 'Gc/Cs',
-'sylo' => 'Sc/Sylo',
-'sylotinagri' => 'Sc/Sylo',
+'sund' => '#/494',
+'sundanese' => '#/494',
+'sundanesesup' => '#/244',
+'sundanesesupplement' => '#/244',
+'suparrowsa' => '#/214',
+'suparrowsb' => '#/215',
+'superandsub' => '#/232',
+'superscriptsandsubscripts' => '#/232',
+'supmathoperators' => '#/280',
+'supplementalarrowsa' => '#/214',
+'supplementalarrowsb' => '#/215',
+'supplementalmathematicaloperators' => '#/280',
+'supplementalpunctuation' => '#/259',
+'supplementaryprivateuseareaa' => '#/150',
+'supplementaryprivateuseareab' => '#/151',
+'suppuaa' => '#/150',
+'suppuab' => '#/151',
+'suppunctuation' => '#/259',
+'surrogate' => '#/300',
+'sylo' => '#/495',
+'sylotinagri' => '#/495',
'symbol' => 'Gc/S',
-'syrc' => 'Sc/Syrc',
-'syriac' => 'Sc/Syrc',
-'tagalog' => 'Sc/Tglg',
-'tagb' => 'Sc/Tagb',
-'tagbanwa' => 'Sc/Tagb',
-'tags' => 'Blk/Tags',
-'taile' => 'Sc/Tale',
+'syrc' => '#/496',
+'syriac' => '#/496',
+'tagalog' => '#/502',
+'tagb' => '#/497',
+'tagbanwa' => '#/497',
+'tags' => '#/88',
+'taile' => '#/499',
'taitham' => 'Sc/Lana',
-'taiviet' => 'Sc/Tavt',
-'taixuanjing' => 'Blk/TaiXuanJ',
-'taixuanjingsymbols' => 'Blk/TaiXuanJ',
-'takr' => 'Sc/Takr',
-'takri' => 'Sc/Takr',
-'tale' => 'Sc/Tale',
+'taiviet' => '#/500',
+'taixuanjing' => '#/234',
+'taixuanjingsymbols' => '#/234',
+'takr' => '#/498',
+'takri' => '#/498',
+'tale' => '#/499',
'talu' => 'Sc/Talu',
'tamil' => 'Sc/Taml',
'taml' => 'Sc/Taml',
-'tavt' => 'Sc/Tavt',
+'tavt' => '#/500',
'telu' => 'Sc/Telu',
'telugu' => 'Sc/Telu',
'term' => 'Term/Y',
@@ -3486,23 +5389,23 @@
'term=y' => 'Term/Y',
'term=yes' => 'Term/Y',
'terminalpunctuation' => 'Term/Y',
-'tfng' => 'Sc/Tfng',
-'tglg' => 'Sc/Tglg',
-'thaa' => 'Sc/Thaa',
-'thaana' => 'Sc/Thaa',
-'thai' => 'Sc/Thai',
+'tfng' => '#/501',
+'tglg' => '#/502',
+'thaa' => '#/503',
+'thaana' => '#/503',
+'thai' => '#/504',
'tibetan' => 'Sc/Tibt',
'tibt' => 'Sc/Tibt',
-'tifinagh' => 'Sc/Tfng',
-'title' => 'Perl/Title',
-'titlecase' => 'Perl/Title',
-'titlecaseletter' => 'Perl/Title',
-'transportandmap' => 'Blk/Transpor',
-'transportandmapsymbols' => 'Blk/Transpor',
-'ucas' => 'Blk/UCAS',
-'ucasext' => 'Blk/UCASExt',
-'ugar' => 'Sc/Ugar',
-'ugaritic' => 'Sc/Ugar',
+'tifinagh' => '#/501',
+'title' => 'Gc/Lt',
+'titlecase' => 'Gc/Lt',
+'titlecaseletter' => 'Gc/Lt',
+'transportandmap' => '#/269',
+'transportandmapsymbols' => '#/269',
+'ucas' => '#/90',
+'ucasext' => '#/156',
+'ugar' => '#/505',
+'ugaritic' => '#/505',
'uideo' => 'UIdeo/Y',
'uideo=f' => '!UIdeo/Y',
'uideo=false' => '!UIdeo/Y',
@@ -3513,8 +5416,9 @@
'uideo=y' => 'UIdeo/Y',
'uideo=yes' => 'UIdeo/Y',
'unassigned' => 'Gc/Cn',
-'unifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
-'unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'unicode' => '#/436',
+'unifiedcanadianaboriginalsyllabics' => '#/90',
+'unifiedcanadianaboriginalsyllabicsextended' => '#/156',
'unifiedideograph' => 'UIdeo/Y',
'unknown' => 'Sc/Zzzz',
'upper' => 'Upper/Y',
@@ -3528,61 +5432,67 @@
'upper=yes' => 'Upper/Y',
'uppercase' => 'Upper/Y',
'uppercaseletter' => 'Gc/Lu',
-'vai' => 'Sc/Vai',
-'vaii' => 'Sc/Vai',
-'variationselector' => 'VS/Y',
-'variationselectors' => 'Blk/VS',
-'variationselectorssupplement' => 'Blk/VSSup',
-'vedicext' => 'Blk/VedicExt',
-'vedicextensions' => 'Blk/VedicExt',
-'verticalforms' => 'Blk/Vertical',
-'vertspace' => 'Perl/VertSpac',
-'vs' => 'VS/Y',
-'vs=f' => '!VS/Y',
-'vs=false' => '!VS/Y',
-'vs=n' => '!VS/Y',
-'vs=no' => '!VS/Y',
-'vs=t' => 'VS/Y',
-'vs=true' => 'VS/Y',
-'vs=y' => 'VS/Y',
-'vs=yes' => 'VS/Y',
-'vssup' => 'Blk/VSSup',
+'vai' => '#/451',
+'vaii' => '#/451',
+'variationselector' => '#/58',
+'variationselectors' => '#/75',
+'variationselectorssupplement' => '#/105',
+'vedicext' => '#/180',
+'vedicextensions' => '#/180',
+'verticalforms' => '#/251',
+'vertspace' => '#/439',
+'vs' => '#/58',
+'vs=f' => '#/!58',
+'vs=false' => '#/!58',
+'vs=n' => '#/!58',
+'vs=no' => '#/!58',
+'vs=t' => '#/58',
+'vs=true' => '#/58',
+'vs=y' => '#/58',
+'vs=yes' => '#/58',
+'vssup' => '#/105',
'wb=aletter' => 'WB/LE',
-'wb=cr' => 'GCB/CR',
+'wb=cr' => '#/50',
+'wb=doublequote' => '#/59',
+'wb=dq' => '#/59',
'wb=ex' => 'WB/EX',
'wb=extend' => 'SB/EX',
'wb=extendnumlet' => 'WB/EX',
'wb=fo' => 'WB/FO',
'wb=format' => 'WB/FO',
+'wb=hebrewletter' => 'WB/HL',
+'wb=hl' => 'WB/HL',
'wb=ka' => 'WB/KA',
'wb=katakana' => 'WB/KA',
'wb=le' => 'WB/LE',
-'wb=lf' => 'GCB/LF',
+'wb=lf' => '#/51',
'wb=mb' => 'WB/MB',
'wb=midletter' => 'WB/ML',
'wb=midnum' => 'WB/MN',
'wb=midnumlet' => 'WB/MB',
'wb=ml' => 'WB/ML',
'wb=mn' => 'WB/MN',
-'wb=newline' => 'WB/NL',
-'wb=nl' => 'WB/NL',
+'wb=newline' => '#/60',
+'wb=nl' => '#/60',
'wb=nu' => 'WB/NU',
'wb=numeric' => 'WB/NU',
'wb=other' => 'WB/XX',
-'wb=regionalindicator' => 'Perl/_XRI',
-'wb=ri' => 'Perl/_XRI',
+'wb=regionalindicator' => '#/52',
+'wb=ri' => '#/52',
+'wb=singlequote' => '#/61',
+'wb=sq' => '#/61',
'wb=xx' => 'WB/XX',
-'whitespace' => 'Perl/SpacePer',
+'whitespace' => 'Space/Y',
'word' => 'Perl/Word',
-'wspace' => 'Perl/SpacePer',
-'wspace=f' => '!Perl/SpacePer',
-'wspace=false' => '!Perl/SpacePer',
-'wspace=n' => '!Perl/SpacePer',
-'wspace=no' => '!Perl/SpacePer',
-'wspace=t' => 'Perl/SpacePer',
-'wspace=true' => 'Perl/SpacePer',
-'wspace=y' => 'Perl/SpacePer',
-'wspace=yes' => 'Perl/SpacePer',
+'wspace' => 'Space/Y',
+'wspace=f' => '!Space/Y',
+'wspace=false' => '!Space/Y',
+'wspace=n' => '!Space/Y',
+'wspace=no' => '!Space/Y',
+'wspace=t' => 'Space/Y',
+'wspace=true' => 'Space/Y',
+'wspace=y' => 'Space/Y',
+'wspace=yes' => 'Space/Y',
'xdigit' => 'Hex/Y',
'xidc' => 'XIDC/Y',
'xidc=f' => '!XIDC/Y',
@@ -3604,32 +5514,32 @@
'xids=y' => 'XIDS/Y',
'xids=yes' => 'XIDS/Y',
'xidstart' => 'XIDS/Y',
-'xpeo' => 'Sc/Xpeo',
-'xperlspace' => 'Perl/SpacePer',
+'xpeo' => '#/506',
+'xperlspace' => 'Space/Y',
'xposixalnum' => 'Perl/Alnum',
'xposixalpha' => 'Alpha/Y',
'xposixblank' => 'Perl/Blank',
-'xposixcntrl' => 'Gc/Cc',
+'xposixcntrl' => '#/298',
'xposixdigit' => 'Gc/Nd',
'xposixgraph' => 'Perl/Graph',
'xposixlower' => 'Lower/Y',
'xposixprint' => 'Perl/Print',
'xposixpunct' => 'Perl/XPosixPu',
-'xposixspace' => 'Perl/SpacePer',
+'xposixspace' => 'Space/Y',
'xposixupper' => 'Upper/Y',
'xposixword' => 'Perl/Word',
'xposixxdigit' => 'Hex/Y',
-'xsux' => 'Sc/Xsux',
-'yi' => 'Sc/Yi',
-'yiii' => 'Sc/Yi',
-'yijing' => 'Blk/Yijing',
-'yijinghexagramsymbols' => 'Blk/Yijing',
-'yiradicals' => 'Blk/YiRadica',
-'yisyllables' => 'Blk/YiSyllab',
+'xsux' => '#/507',
+'yi' => '#/449',
+'yiii' => '#/449',
+'yijing' => '#/128',
+'yijinghexagramsymbols' => '#/128',
+'yiradicals' => '#/216',
+'yisyllables' => '#/235',
'z' => 'Gc/Z',
'zinh' => 'Sc/Zinh',
-'zl' => 'Gc/Zl',
-'zp' => 'Gc/Zp',
+'zl' => '#/301',
+'zp' => '#/302',
'zs' => 'Gc/Zs',
'zyyy' => 'Sc/Zyyy',
'zzzz' => 'Sc/Zzzz',
@@ -3677,8 +5587,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 = (
+'#/354' => 'Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn\'t be the basis for line breaking',
'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',
);
# A few properties have different behavior under /i matching. This maps
@@ -3696,8 +5606,8 @@ $utf8::max_floating_slop = 0.001;
'islowercaseletter' => 'Gc/LC',
'islt' => 'Gc/LC',
'islu' => 'Gc/LC',
-'isposixlower' => 'Perl/PosixAlp',
-'isposixupper' => 'Perl/PosixAlp',
+'isposixlower' => '#/441',
+'isposixupper' => '#/441',
'istitle' => 'Cased/Y',
'istitlecase' => 'Cased/Y',
'istitlecaseletter' => 'Gc/LC',
@@ -3720,8 +5630,8 @@ $utf8::max_floating_slop = 0.001;
'lowercaseletter' => 'Gc/LC',
'lt' => 'Gc/LC',
'lu' => 'Gc/LC',
-'posixlower' => 'Perl/PosixAlp',
-'posixupper' => 'Perl/PosixAlp',
+'posixlower' => '#/441',
+'posixupper' => '#/441',
'title' => 'Cased/Y',
'titlecase' => 'Cased/Y',
'titlecaseletter' => 'Gc/LC',
@@ -3746,7 +5656,11 @@ $utf8::max_floating_slop = 0.001;
'bc' => 'To/Bc',
'bidiclass' => 'To/Bc',
'bidimirroringglyph' => 'To/Bmg',
+'bidipairedbracket' => 'To/Bpb',
+'bidipairedbrackettype' => 'To/Bpt',
'bmg' => 'To/Bmg',
+'bpb' => 'To/Bpb',
+'bpt' => 'To/Bpt',
'canonicalcombiningclass' => 'CombiningClass',
'casefolding' => 'To/Cf',
'category' => 'To/Gc',
@@ -3768,11 +5682,6 @@ $utf8::max_floating_slop = 0.001;
'jt' => 'To/Jt',
'lb' => 'To/Lb',
'lc' => 'To/Lc',
-'legacycasefolding' => 'To/Fold',
-'legacylowercasemapping' => 'To/Lower',
-'legacyperldecimaldigit' => 'To/Digit',
-'legacytitlecasemapping' => 'To/Title',
-'legacyuppercasemapping' => 'To/Upper',
'linebreak' => 'To/Lb',
'lowercasemapping' => 'To/Lc',
'na1' => 'To/Na1',
@@ -3813,10 +5722,10 @@ $utf8::max_floating_slop = 0.001;
'To/Age' => 'ToAge',
'To/Bc' => 'ToBc',
'To/Bmg' => 'ToBmg',
+'To/Bpb' => 'ToBpb',
+'To/Bpt' => 'ToBpt',
'To/Cf' => 'ToCf',
-'To/Digit' => 'ToDigit',
'To/Ea' => 'ToEa',
-'To/Fold' => 'ToFold',
'To/Gc' => 'ToGc',
'To/GCB' => 'ToGCB',
'To/Hst' => 'ToHst',
@@ -3825,7 +5734,6 @@ $utf8::max_floating_slop = 0.001;
'To/Jt' => 'ToJt',
'To/Lb' => 'ToLb',
'To/Lc' => 'ToLc',
-'To/Lower' => 'ToLower',
'To/Na1' => 'ToNa1',
'To/NameAlia' => 'ToNameAlias',
'To/NFCQC' => 'ToNFCQC',
@@ -3840,9 +5748,7 @@ $utf8::max_floating_slop = 0.001;
'To/Sc' => 'ToSc',
'To/Scx' => 'ToScx',
'To/Tc' => 'ToTc',
-'To/Title' => 'ToTitle',
'To/Uc' => 'ToUc',
-'To/Upper' => 'ToUpper',
'To/WB' => 'ToWB',
);
diff --git a/Master/tlpkg/tlperl/lib/unicore/Name.pl b/Master/tlpkg/tlperl/lib/unicore/Name.pl
index fdacd56906b..903b6071270 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Name.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Name.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
@@ -1620,6 +1621,8 @@ return <<'END';
00619 ARABIC SMALL DAMMA
0061A ARABIC SMALL KASRA
0061B ARABIC SEMICOLON
+0061C ARABIC LETTER MARK
+0061C ALM
0061E ARABIC TRIPLE DOT PUNCTUATION MARK
0061F ARABIC QUESTION MARK
00620 ARABIC LETTER KASHMIRI YEH
@@ -7251,6 +7254,14 @@ return <<'END';
02062 INVISIBLE TIMES
02063 INVISIBLE SEPARATOR
02064 INVISIBLE PLUS
+02066 LEFT-TO-RIGHT ISOLATE
+02066 LRI
+02067 RIGHT-TO-LEFT ISOLATE
+02067 RLI
+02068 FIRST STRONG ISOLATE
+02068 FSI
+02069 POP DIRECTIONAL ISOLATE
+02069 PDI
0206A INHIBIT SYMMETRIC SWAPPING
0206B ACTIVATE SYMMETRIC SWAPPING
0206C INHIBIT ARABIC FORM SHAPING
@@ -18172,7 +18183,9 @@ return <<'END';
122D1 CUNEIFORM SIGN SHIM TIMES SAL
122D2 CUNEIFORM SIGN SHINIG
122D3 CUNEIFORM SIGN SHIR
+122D4 CUNEIFORM SIGN NU11 TENU
122D4 CUNEIFORM SIGN SHIR TENU
+122D5 CUNEIFORM SIGN NU11 OVER NU11 BUR OVER BUR
122D5 CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
122D6 CUNEIFORM SIGN SHITA
122D7 CUNEIFORM SIGN SHU
@@ -23858,6 +23871,15 @@ E01EF VS256
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
+0626 0627 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH ALEF
+0626 0648 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH WAW
+0626 0649 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA
+0626 06C6 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH OE
+0626 06C7 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH U
+0626 06C8 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH YU
+0626 06D0 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH E
+0626 06D5 ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH AE
+0646 06A9 ARABIC SEQUENCE NOON WITH KEHEH
0995 09CD 09B7 BENGALI LETTER KHINYA
0B95 0BCD TAMIL CONSONANT K
0B99 0BCD TAMIL CONSONANT NG
diff --git a/Master/tlpkg/tlperl/lib/unicore/Name.pm b/Master/tlpkg/tlperl/lib/unicore/Name.pm
index 3270c137f53..62dc75eb557 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Name.pm
+++ b/Master/tlpkg/tlperl/lib/unicore/Name.pm
@@ -1,12 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
package charnames;
diff --git a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
index 040acdb6c37..e1ae2b740e5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
@@ -1,5 +1,5 @@
-# NamedSequences-6.2.0.txt
-# Date: 2012-05-15, 21:23:00 GMT [KW]
+# NamedSequences-6.3.0.txt
+# Date: 2012-11-14, 21:51:00 GMT [KW]
#
# Unicode Character Database
# Copyright (c) 1991-2012 Unicode, Inc.
@@ -104,8 +104,23 @@ 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
+# Entries for Uyghur and Chagatai.
+# Provisional: N/A, Approved: 2012-11-08
+
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH ALEF;0626 0627
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH WAW;0626 0648
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA;0626 0649
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH OE;0626 06C6
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH U;0626 06C7
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH YU;0626 06C8
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH E;0626 06D0
+ARABIC SEQUENCE YEH WITH HAMZA ABOVE WITH AE;0626 06D5
+ARABIC SEQUENCE NOON WITH KEHEH;0646 06A9
+
# Entry for a Bangla entity.
# Provisional: 2009-08-10, Approved 2010-05-14
+#
+# Note that this same sequence is also used for the ASSAMESE LETTER KSSA.
BENGALI LETTER KHINYA;0995 09CD 09B7
diff --git a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
index 994043f01bf..016a756eb07 100644
--- a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
@@ -1,8 +1,8 @@
-# SpecialCasing-6.2.0.txt
-# Date: 2012-05-23, 20:35:15 GMT [MD]
+# SpecialCasing-6.3.0.txt
+# Date: 2013-05-08, 13:54:51 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2012 Unicode, Inc.
+# Copyright (c) 1991-2013 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -39,7 +39,7 @@
# A language ID is defined by BCP 47, with '-' and '_' treated equivalently.
#
# A context for a character C is defined by Section 3.13 Default Case
-# Operations, of The Unicode Standard, Version 5.0.
+# Algorithms, of The Unicode Standard, Version 6.3.
# (This is identical to the context defined by Unicode 4.1.0,
# as specified in http://www.unicode.org/versions/Unicode4.1.0/)
#
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Age.pl b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
index f34611d961f..1baf41fec03 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,371 +17,372 @@ $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
-058F 6.1
-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
-0604 6.1
-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
-08A0 6.1
-08A2 08AC 6.1
-08E4 08FE 6.1
-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
-0AF0 6.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
-0EDE 0EDF 6.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
+0 1F5 1.1
+1F6 1F9 3.0
+1FA 217 1.1
+218 21F 3.0
+220 3.2
+221 4.0
+222 233 3.0
+234 236 4.0
+237 241 4.1
+242 24F 5.0
+250 2A8 1.1
+2A9 2AD 3.0
+2AE 2AF 4.0
+2B0 2DE 1.1
+2DF 3.0
+2E0 2E9 1.1
+2EA 2EE 3.0
+2EF 2FF 4.0
+300 345 1.1
+346 34E 3.0
+34F 3.2
+350 357 4.0
+358 35C 4.1
+35D 35F 4.0
+360 361 1.1
+362 3.0
+363 36F 3.2
+370 373 5.1
+374 375 1.1
+376 377 5.1
+37A 1.1
+37B 37D 5.0
+37E 1.1
+384 38A 1.1
+38C 1.1
+38E 3A1 1.1
+3A3 3CE 1.1
+3CF 5.1
+3D0 3D6 1.1
+3D7 3.0
+3D8 3D9 3.2
+3DA 1.1
+3DB 3.0
+3DC 1.1
+3DD 3.0
+3DE 1.1
+3DF 3.0
+3E0 1.1
+3E1 3.0
+3E2 3F3 1.1
+3F4 3F5 3.1
+3F6 3.2
+3F7 3FB 4.0
+3FC 3FF 4.1
+400 3.0
+401 40C 1.1
+40D 3.0
+40E 44F 1.1
+450 3.0
+451 45C 1.1
+45D 3.0
+45E 486 1.1
+487 5.1
+488 489 3.0
+48A 48B 3.2
+48C 48F 3.0
+490 4C4 1.1
+4C5 4C6 3.2
+4C7 4C8 1.1
+4C9 4CA 3.2
+4CB 4CC 1.1
+4CD 4CE 3.2
+4CF 5.0
+4D0 4EB 1.1
+4EC 4ED 3.0
+4EE 4F5 1.1
+4F6 4F7 4.1
+4F8 4F9 1.1
+4FA 4FF 5.0
+500 50F 3.2
+510 513 5.0
+514 523 5.1
+524 525 5.2
+526 527 6.0
+531 556 1.1
+559 55F 1.1
+561 587 1.1
+589 1.1
+58A 3.0
+58F 6.1
+591 5A1 2.0
+5A2 4.1
+5A3 5AF 2.0
+5B0 5B9 1.1
+5BA 5.0
+5BB 5C3 1.1
+5C4 2.0
+5C5 5C7 4.1
+5D0 5EA 1.1
+5F0 5F4 1.1
+600 603 4.0
+604 6.1
+606 60A 5.1
+60B 4.1
+60C 1.1
+60D 615 4.0
+616 61A 5.1
+61B 1.1
+61C 6.3
+61E 4.1
+61F 1.1
+620 6.0
+621 63A 1.1
+63B 63F 5.1
+640 652 1.1
+653 655 3.0
+656 658 4.0
+659 65E 4.1
+65F 6.0
+660 66D 1.1
+66E 66F 3.2
+670 6B7 1.1
+6B8 6B9 3.0
+6BA 6BE 1.1
+6BF 3.0
+6C0 6CE 1.1
+6CF 3.0
+6D0 6ED 1.1
+6EE 6EF 4.0
+6F0 6F9 1.1
+6FA 6FE 3.0
+6FF 4.0
+700 70D 3.0
+70F 72C 3.0
+72D 72F 4.0
+730 74A 3.0
+74D 74F 4.0
+750 76D 4.1
+76E 77F 5.1
+780 7B0 3.0
+7B1 3.2
+7C0 7FA 5.0
+800 82D 5.2
+830 83E 5.2
+840 85B 6.0
+85E 6.0
+8A0 6.1
+8A2 8AC 6.1
+8E4 8FE 6.1
+900 5.2
+901 903 1.1
+904 4.0
+905 939 1.1
+93A 93B 6.0
+93C 94D 1.1
+94E 5.2
+94F 6.0
+950 954 1.1
+955 5.2
+956 957 6.0
+958 970 1.1
+971 972 5.1
+973 977 6.0
+979 97A 5.2
+97B 97C 5.0
+97D 4.1
+97E 97F 5.0
+981 983 1.1
+985 98C 1.1
+98F 990 1.1
+993 9A8 1.1
+9AA 9B0 1.1
+9B2 1.1
+9B6 9B9 1.1
+9BC 1.1
+9BD 4.0
+9BE 9C4 1.1
+9C7 9C8 1.1
+9CB 9CD 1.1
+9CE 4.1
+9D7 1.1
+9DC 9DD 1.1
+9DF 9E3 1.1
+9E6 9FA 1.1
+9FB 5.2
+A01 4.0
+A02 1.1
+A03 4.0
+A05 A0A 1.1
+A0F A10 1.1
+A13 A28 1.1
+A2A A30 1.1
+A32 A33 1.1
+A35 A36 1.1
+A38 A39 1.1
+A3C 1.1
+A3E A42 1.1
+A47 A48 1.1
+A4B A4D 1.1
+A51 5.1
+A59 A5C 1.1
+A5E 1.1
+A66 A74 1.1
+A75 5.1
+A81 A83 1.1
+A85 A8B 1.1
+A8C 4.0
+A8D 1.1
+A8F A91 1.1
+A93 AA8 1.1
+AAA AB0 1.1
+AB2 AB3 1.1
+AB5 AB9 1.1
+ABC AC5 1.1
+AC7 AC9 1.1
+ACB ACD 1.1
+AD0 1.1
+AE0 1.1
+AE1 AE3 4.0
+AE6 AEF 1.1
+AF0 6.1
+AF1 4.0
+B01 B03 1.1
+B05 B0C 1.1
+B0F B10 1.1
+B13 B28 1.1
+B2A B30 1.1
+B32 B33 1.1
+B35 4.0
+B36 B39 1.1
+B3C B43 1.1
+B44 5.1
+B47 B48 1.1
+B4B B4D 1.1
+B56 B57 1.1
+B5C B5D 1.1
+B5F B61 1.1
+B62 B63 5.1
+B66 B70 1.1
+B71 4.0
+B72 B77 6.0
+B82 B83 1.1
+B85 B8A 1.1
+B8E B90 1.1
+B92 B95 1.1
+B99 B9A 1.1
+B9C 1.1
+B9E B9F 1.1
+BA3 BA4 1.1
+BA8 BAA 1.1
+BAE BB5 1.1
+BB6 4.1
+BB7 BB9 1.1
+BBE BC2 1.1
+BC6 BC8 1.1
+BCA BCD 1.1
+BD0 5.1
+BD7 1.1
+BE6 4.1
+BE7 BF2 1.1
+BF3 BFA 4.0
+C01 C03 1.1
+C05 C0C 1.1
+C0E C10 1.1
+C12 C28 1.1
+C2A C33 1.1
+C35 C39 1.1
+C3D 5.1
+C3E C44 1.1
+C46 C48 1.1
+C4A C4D 1.1
+C55 C56 1.1
+C58 C59 5.1
+C60 C61 1.1
+C62 C63 5.1
+C66 C6F 1.1
+C78 C7F 5.1
+C82 C83 1.1
+C85 C8C 1.1
+C8E C90 1.1
+C92 CA8 1.1
+CAA CB3 1.1
+CB5 CB9 1.1
+CBC CBD 4.0
+CBE CC4 1.1
+CC6 CC8 1.1
+CCA CCD 1.1
+CD5 CD6 1.1
+CDE 1.1
+CE0 CE1 1.1
+CE2 CE3 5.0
+CE6 CEF 1.1
+CF1 CF2 5.0
+D02 D03 1.1
+D05 D0C 1.1
+D0E D10 1.1
+D12 D28 1.1
+D29 6.0
+D2A D39 1.1
+D3A 6.0
+D3D 5.1
+D3E D43 1.1
+D44 5.1
+D46 D48 1.1
+D4A D4D 1.1
+D4E 6.0
+D57 1.1
+D60 D61 1.1
+D62 D63 5.1
+D66 D6F 1.1
+D70 D75 5.1
+D79 D7F 5.1
+D82 D83 3.0
+D85 D96 3.0
+D9A DB1 3.0
+DB3 DBB 3.0
+DBD 3.0
+DC0 DC6 3.0
+DCA 3.0
+DCF DD4 3.0
+DD6 3.0
+DD8 DDF 3.0
+DF2 DF4 3.0
+E01 E3A 1.1
+E3F E5B 1.1
+E81 E82 1.1
+E84 1.1
+E87 E88 1.1
+E8A 1.1
+E8D 1.1
+E94 E97 1.1
+E99 E9F 1.1
+EA1 EA3 1.1
+EA5 1.1
+EA7 1.1
+EAA EAB 1.1
+EAD EB9 1.1
+EBB EBD 1.1
+EC0 EC4 1.1
+EC6 1.1
+EC8 ECD 1.1
+ED0 ED9 1.1
+EDC EDD 1.1
+EDE EDF 6.1
+F00 F47 2.0
+F49 F69 2.0
+F6A 3.0
+F6B F6C 5.1
+F71 F8B 2.0
+F8C F8F 6.0
+F90 F95 2.0
+F96 3.0
+F97 2.0
+F99 FAD 2.0
+FAE FB0 3.0
+FB1 FB7 2.0
+FB8 3.0
+FB9 2.0
+FBA FBC 3.0
+FBE FCC 3.0
+FCE 5.1
+FCF 3.0
+FD0 FD1 4.1
+FD2 FD4 5.1
+FD5 FD8 5.2
+FD9 FDA 6.0
1000 1021 3.0
1022 5.1
1023 1027 3.0
@@ -545,6 +547,7 @@ return <<'END';
2058 205E 4.1
205F 2063 3.2
2064 5.1
+2066 2069 6.3
206A 2070 1.1
2071 3.2
2074 208E 1.1
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
index e223827e7f9..c421c6aa842 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,200 +17,200 @@ $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
-058F ET
-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 0604 AN
-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 089F R
-08A0 08E3 AL
-08E4 08FE NSM
-08FF AL
-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
+0 8 BN
+9 S
+A B
+B S
+C WS
+D B
+E 1B BN
+1C 1E B
+1F S
+20 WS
+21 22 ON
+23 25 ET
+26 2A ON
+2B ES
+2C CS
+2D ES
+2E 2F CS
+30 39 EN
+3A CS
+3B 40 ON
+5B 60 ON
+7B 7E ON
+7F 84 BN
+85 B
+86 9F BN
+A0 CS
+A1 ON
+A2 A5 ET
+A6 A9 ON
+AB AC ON
+AD BN
+AE AF ON
+B0 B1 ET
+B2 B3 EN
+B4 ON
+B6 B8 ON
+B9 EN
+BB BF ON
+D7 ON
+F7 ON
+2B9 2BA ON
+2C2 2CF ON
+2D2 2DF ON
+2E5 2ED ON
+2EF 2FF ON
+300 36F NSM
+374 375 ON
+37E ON
+384 385 ON
+387 ON
+3F6 ON
+483 489 NSM
+58A ON
+58F ET
+590 R
+591 5BD NSM
+5BE R
+5BF NSM
+5C0 R
+5C1 5C2 NSM
+5C3 R
+5C4 5C5 NSM
+5C6 R
+5C7 NSM
+5C8 5FF R
+600 604 AN
+605 AL
+606 607 ON
+608 AL
+609 60A ET
+60B AL
+60C CS
+60D AL
+60E 60F ON
+610 61A NSM
+61B 64A AL
+64B 65F NSM
+660 669 AN
+66A ET
+66B 66C AN
+66D 66F AL
+670 NSM
+671 6D5 AL
+6D6 6DC NSM
+6DD AN
+6DE ON
+6DF 6E4 NSM
+6E5 6E6 AL
+6E7 6E8 NSM
+6E9 ON
+6EA 6ED NSM
+6EE 6EF AL
+6F0 6F9 EN
+6FA 710 AL
+711 NSM
+712 72F AL
+730 74A NSM
+74B 7A5 AL
+7A6 7B0 NSM
+7B1 7BF AL
+7C0 7EA R
+7EB 7F3 NSM
+7F4 7F5 R
+7F6 7F9 ON
+7FA 815 R
+816 819 NSM
+81A R
+81B 823 NSM
+824 R
+825 827 NSM
+828 R
+829 82D NSM
+82E 858 R
+859 85B NSM
+85C 89F R
+8A0 8E3 AL
+8E4 8FE NSM
+8FF AL
+900 902 NSM
+93A NSM
+93C NSM
+941 948 NSM
+94D NSM
+951 957 NSM
+962 963 NSM
+981 NSM
+9BC NSM
+9C1 9C4 NSM
+9CD NSM
+9E2 9E3 NSM
+9F2 9F3 ET
+9FB ET
+A01 A02 NSM
+A3C NSM
+A41 A42 NSM
+A47 A48 NSM
+A4B A4D NSM
+A51 NSM
+A70 A71 NSM
+A75 NSM
+A81 A82 NSM
+ABC NSM
+AC1 AC5 NSM
+AC7 AC8 NSM
+ACD NSM
+AE2 AE3 NSM
+AF1 ET
+B01 NSM
+B3C NSM
+B3F NSM
+B41 B44 NSM
+B4D NSM
+B56 NSM
+B62 B63 NSM
+B82 NSM
+BC0 NSM
+BCD NSM
+BF3 BF8 ON
+BF9 ET
+BFA ON
+C3E C40 NSM
+C46 C48 NSM
+C4A C4D NSM
+C55 C56 NSM
+C62 C63 NSM
+C78 C7E ON
+CBC NSM
+CCC CCD NSM
+CE2 CE3 NSM
+D41 D44 NSM
+D4D NSM
+D62 D63 NSM
+DCA NSM
+DD2 DD4 NSM
+DD6 NSM
+E31 NSM
+E34 E3A NSM
+E3F ET
+E47 E4E NSM
+EB1 NSM
+EB4 EB9 NSM
+EBB EBC NSM
+EC8 ECD NSM
+F18 F19 NSM
+F35 NSM
+F37 NSM
+F39 NSM
+F3A F3D ON
+F71 F7E NSM
+F80 F84 NSM
+F86 F87 NSM
+F8D F97 NSM
+F99 FBC NSM
+FC6 NSM
102D 1030 NSM
1032 1037 NSM
1039 103A NSM
@@ -239,7 +240,7 @@ return <<'END';
17F0 17F9 ON
1800 180A ON
180B 180D NSM
-180E WS
+180E BN
18A9 NSM
1920 1922 NSM
1927 1928 NSM
@@ -249,6 +250,7 @@ return <<'END';
1944 1945 ON
19DE 19FF ON
1A17 1A18 NSM
+1A1B NSM
1A56 NSM
1A58 1A5E NSM
1A60 NSM
@@ -302,7 +304,12 @@ return <<'END';
2044 CS
2045 205E ON
205F WS
-2060 206F BN
+2060 2065 BN
+2066 LRI
+2067 RLI
+2068 FSI
+2069 PDI
+206A 206F BN
2070 EN
2074 2079 EN
207A 207B ES
@@ -310,7 +317,7 @@ return <<'END';
2080 2089 EN
208A 208B ES
208C 208E ON
-20A0 20BA ET
+20A0 20CF ET
20D0 20F0 NSM
2100 2101 ON
2103 2106 ON
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
index 64dedac9140..6a3bd63e30c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bpb.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bpb.pl
new file mode 100644
index 00000000000..2bc9f419ed8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bpb.pl
@@ -0,0 +1,140 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+
+# 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{'ToBpb'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToBpb'}{'missing'} = ''; # code point maps to the null string
+
+return <<'END';
+28 0029
+29 0028
+5B 005D
+5D 005B
+7B 007D
+7D 007B
+F3A 0F3B
+F3B 0F3A
+F3C 0F3D
+F3D 0F3C
+169B 169C
+169C 169B
+2045 2046
+2046 2045
+207D 207E
+207E 207D
+208D 208E
+208E 208D
+2308 2309
+2309 2308
+230A 230B
+230B 230A
+2329 232A
+232A 2329
+2768 2769
+2769 2768
+276A 276B
+276B 276A
+276C 276D
+276D 276C
+276E 276F
+276F 276E
+2770 2771
+2771 2770
+2772 2773
+2773 2772
+2774 2775
+2775 2774
+27C5 27C6
+27C6 27C5
+27E6 27E7
+27E7 27E6
+27E8 27E9
+27E9 27E8
+27EA 27EB
+27EB 27EA
+27EC 27ED
+27ED 27EC
+27EE 27EF
+27EF 27EE
+2983 2984
+2984 2983
+2985 2986
+2986 2985
+2987 2988
+2988 2987
+2989 298A
+298A 2989
+298B 298C
+298C 298B
+298D 2990
+298E 298F
+298F 298E
+2990 298D
+2991 2992
+2992 2991
+2993 2994
+2994 2993
+2995 2996
+2996 2995
+2997 2998
+2998 2997
+29D8 29D9
+29D9 29D8
+29DA 29DB
+29DB 29DA
+29FC 29FD
+29FD 29FC
+2E22 2E23
+2E23 2E22
+2E24 2E25
+2E25 2E24
+2E26 2E27
+2E27 2E26
+2E28 2E29
+2E29 2E28
+3008 3009
+3009 3008
+300A 300B
+300B 300A
+300C 300D
+300D 300C
+300E 300F
+300F 300E
+3010 3011
+3011 3010
+3014 3015
+3015 3014
+3016 3017
+3017 3016
+3018 3019
+3019 3018
+301A 301B
+301B 301A
+FE59 FE5A
+FE5A FE59
+FE5B FE5C
+FE5C FE5B
+FE5D FE5E
+FE5E FE5D
+FF08 FF09
+FF09 FF08
+FF3B FF3D
+FF3D FF3B
+FF5B FF5D
+FF5D FF5B
+FF5F FF60
+FF60 FF5F
+FF62 FF63
+FF63 FF62
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bpt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bpt.pl
new file mode 100644
index 00000000000..b81dc8dbf0e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bpt.pl
@@ -0,0 +1,140 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+
+# 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{'ToBpt'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToBpt'}{'missing'} = 'n';
+
+return <<'END';
+28 o
+29 c
+5B o
+5D c
+7B o
+7D c
+F3A o
+F3B c
+F3C o
+F3D c
+169B o
+169C c
+2045 o
+2046 c
+207D o
+207E c
+208D o
+208E c
+2308 o
+2309 c
+230A o
+230B c
+2329 o
+232A c
+2768 o
+2769 c
+276A o
+276B c
+276C o
+276D c
+276E o
+276F c
+2770 o
+2771 c
+2772 o
+2773 c
+2774 o
+2775 c
+27C5 o
+27C6 c
+27E6 o
+27E7 c
+27E8 o
+27E9 c
+27EA o
+27EB c
+27EC o
+27ED c
+27EE o
+27EF c
+2983 o
+2984 c
+2985 o
+2986 c
+2987 o
+2988 c
+2989 o
+298A c
+298B o
+298C c
+298D o
+298E c
+298F o
+2990 c
+2991 o
+2992 c
+2993 o
+2994 c
+2995 o
+2996 c
+2997 o
+2998 c
+29D8 o
+29D9 c
+29DA o
+29DB c
+29FC o
+29FD c
+2E22 o
+2E23 c
+2E24 o
+2E25 c
+2E26 o
+2E27 c
+2E28 o
+2E29 c
+3008 o
+3009 c
+300A o
+300B c
+300C o
+300D c
+300E o
+300F c
+3010 o
+3011 c
+3014 o
+3015 c
+3016 o
+3017 c
+3018 o
+3019 c
+301A o
+301B c
+FE59 o
+FE5A c
+FE5B o
+FE5C c
+FE5D o
+FE5E c
+FF08 o
+FF09 c
+FF3B o
+FF3D c
+FF5B o
+FF5D c
+FF5F o
+FF60 c
+FF62 o
+FF63 c
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl b/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl
index da6d962b93d..2e6e152aff4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings in the non-hash portion of this file must be modified to get the
@@ -15,7 +16,7 @@
# 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{'ToCf'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToCf'}{'format'} = 'ax'; # mapped value in hex; some entries need adjustment
$utf8::SwashInfo{'ToCf'}{'specials_name'} = 'utf8::ToSpecCf'; # Name of hash of special mappings
$utf8::SwashInfo{'ToCf'}{'missing'} = '0'; # code point maps to itself
@@ -134,634 +135,634 @@ $utf8::SwashInfo{'ToCf'}{'missing'} = '0'; # code point maps to itself
);
return <<'END';
-0041 005A 97
-00B5 956
-00C0 00D6 224
-00D8 00DE 248
-0100 257
-0102 259
-0104 261
-0106 263
-0108 265
-010A 267
-010C 269
-010E 271
-0110 273
-0112 275
-0114 277
-0116 279
-0118 281
-011A 283
-011C 285
-011E 287
-0120 289
-0122 291
-0124 293
-0126 295
-0128 297
-012A 299
-012C 301
-012E 303
-0132 307
-0134 309
-0136 311
-0139 314
-013B 316
-013D 318
-013F 320
-0141 322
-0143 324
-0145 326
-0147 328
-014A 331
-014C 333
-014E 335
-0150 337
-0152 339
-0154 341
-0156 343
-0158 345
-015A 347
-015C 349
-015E 351
-0160 353
-0162 355
-0164 357
-0166 359
-0168 361
-016A 363
-016C 365
-016E 367
-0170 369
-0172 371
-0174 373
-0176 375
-0178 255
-0179 378
-017B 380
-017D 382
-017F 115
-0181 595
-0182 387
-0184 389
-0186 596
-0187 392
-0189 018A 598
-018B 396
-018E 477
-018F 601
-0190 603
-0191 402
-0193 608
-0194 611
-0196 617
-0197 616
-0198 409
-019C 623
-019D 626
-019F 629
-01A0 417
-01A2 419
-01A4 421
-01A6 640
-01A7 424
-01A9 643
-01AC 429
-01AE 648
-01AF 432
-01B1 01B2 650
-01B3 436
-01B5 438
-01B7 658
-01B8 441
-01BC 445
-01C4 454
-01C5 454
-01C7 457
-01C8 457
-01CA 460
-01CB 460
-01CD 462
-01CF 464
-01D1 466
-01D3 468
-01D5 470
-01D7 472
-01D9 474
-01DB 476
-01DE 479
-01E0 481
-01E2 483
-01E4 485
-01E6 487
-01E8 489
-01EA 491
-01EC 493
-01EE 495
-01F1 499
-01F2 499
-01F4 501
-01F6 405
-01F7 447
-01F8 505
-01FA 507
-01FC 509
-01FE 511
-0200 513
-0202 515
-0204 517
-0206 519
-0208 521
-020A 523
-020C 525
-020E 527
-0210 529
-0212 531
-0214 533
-0216 535
-0218 537
-021A 539
-021C 541
-021E 543
-0220 414
-0222 547
-0224 549
-0226 551
-0228 553
-022A 555
-022C 557
-022E 559
-0230 561
-0232 563
-023A 11365
-023B 572
-023D 410
-023E 11366
-0241 578
-0243 384
-0244 649
-0245 652
-0246 583
-0248 585
-024A 587
-024C 589
-024E 591
-0345 953
-0370 881
-0372 883
-0376 887
-0386 940
-0388 038A 941
-038C 972
-038E 038F 973
-0391 03A1 945
-03A3 03AB 963
-03C2 963
-03CF 983
-03D0 946
-03D1 952
-03D5 966
-03D6 960
-03D8 985
-03DA 987
-03DC 989
-03DE 991
-03E0 993
-03E2 995
-03E4 997
-03E6 999
-03E8 1001
-03EA 1003
-03EC 1005
-03EE 1007
-03F0 954
-03F1 961
-03F4 952
-03F5 949
-03F7 1016
-03F9 1010
-03FA 1019
-03FD 03FF 891
-0400 040F 1104
-0410 042F 1072
-0460 1121
-0462 1123
-0464 1125
-0466 1127
-0468 1129
-046A 1131
-046C 1133
-046E 1135
-0470 1137
-0472 1139
-0474 1141
-0476 1143
-0478 1145
-047A 1147
-047C 1149
-047E 1151
-0480 1153
-048A 1163
-048C 1165
-048E 1167
-0490 1169
-0492 1171
-0494 1173
-0496 1175
-0498 1177
-049A 1179
-049C 1181
-049E 1183
-04A0 1185
-04A2 1187
-04A4 1189
-04A6 1191
-04A8 1193
-04AA 1195
-04AC 1197
-04AE 1199
-04B0 1201
-04B2 1203
-04B4 1205
-04B6 1207
-04B8 1209
-04BA 1211
-04BC 1213
-04BE 1215
-04C0 1231
-04C1 1218
-04C3 1220
-04C5 1222
-04C7 1224
-04C9 1226
-04CB 1228
-04CD 1230
-04D0 1233
-04D2 1235
-04D4 1237
-04D6 1239
-04D8 1241
-04DA 1243
-04DC 1245
-04DE 1247
-04E0 1249
-04E2 1251
-04E4 1253
-04E6 1255
-04E8 1257
-04EA 1259
-04EC 1261
-04EE 1263
-04F0 1265
-04F2 1267
-04F4 1269
-04F6 1271
-04F8 1273
-04FA 1275
-04FC 1277
-04FE 1279
-0500 1281
-0502 1283
-0504 1285
-0506 1287
-0508 1289
-050A 1291
-050C 1293
-050E 1295
-0510 1297
-0512 1299
-0514 1301
-0516 1303
-0518 1305
-051A 1307
-051C 1309
-051E 1311
-0520 1313
-0522 1315
-0524 1317
-0526 1319
-0531 0556 1377
-10A0 10C5 11520
-10C7 11559
-10CD 11565
-1E00 7681
-1E02 7683
-1E04 7685
-1E06 7687
-1E08 7689
-1E0A 7691
-1E0C 7693
-1E0E 7695
-1E10 7697
-1E12 7699
-1E14 7701
-1E16 7703
-1E18 7705
-1E1A 7707
-1E1C 7709
-1E1E 7711
-1E20 7713
-1E22 7715
-1E24 7717
-1E26 7719
-1E28 7721
-1E2A 7723
-1E2C 7725
-1E2E 7727
-1E30 7729
-1E32 7731
-1E34 7733
-1E36 7735
-1E38 7737
-1E3A 7739
-1E3C 7741
-1E3E 7743
-1E40 7745
-1E42 7747
-1E44 7749
-1E46 7751
-1E48 7753
-1E4A 7755
-1E4C 7757
-1E4E 7759
-1E50 7761
-1E52 7763
-1E54 7765
-1E56 7767
-1E58 7769
-1E5A 7771
-1E5C 7773
-1E5E 7775
-1E60 7777
-1E62 7779
-1E64 7781
-1E66 7783
-1E68 7785
-1E6A 7787
-1E6C 7789
-1E6E 7791
-1E70 7793
-1E72 7795
-1E74 7797
-1E76 7799
-1E78 7801
-1E7A 7803
-1E7C 7805
-1E7E 7807
-1E80 7809
-1E82 7811
-1E84 7813
-1E86 7815
-1E88 7817
-1E8A 7819
-1E8C 7821
-1E8E 7823
-1E90 7825
-1E92 7827
-1E94 7829
-1E9B 7777
-1E9E 223
-1EA0 7841
-1EA2 7843
-1EA4 7845
-1EA6 7847
-1EA8 7849
-1EAA 7851
-1EAC 7853
-1EAE 7855
-1EB0 7857
-1EB2 7859
-1EB4 7861
-1EB6 7863
-1EB8 7865
-1EBA 7867
-1EBC 7869
-1EBE 7871
-1EC0 7873
-1EC2 7875
-1EC4 7877
-1EC6 7879
-1EC8 7881
-1ECA 7883
-1ECC 7885
-1ECE 7887
-1ED0 7889
-1ED2 7891
-1ED4 7893
-1ED6 7895
-1ED8 7897
-1EDA 7899
-1EDC 7901
-1EDE 7903
-1EE0 7905
-1EE2 7907
-1EE4 7909
-1EE6 7911
-1EE8 7913
-1EEA 7915
-1EEC 7917
-1EEE 7919
-1EF0 7921
-1EF2 7923
-1EF4 7925
-1EF6 7927
-1EF8 7929
-1EFA 7931
-1EFC 7933
-1EFE 7935
-1F08 1F0F 7936
-1F18 1F1D 7952
-1F28 1F2F 7968
-1F38 1F3F 7984
-1F48 1F4D 8000
-1F59 8017
-1F5B 8019
-1F5D 8021
-1F5F 8023
-1F68 1F6F 8032
-1F88 1F8F 8064
-1F98 1F9F 8080
-1FA8 1FAF 8096
-1FB8 1FB9 8112
-1FBA 1FBB 8048
-1FBC 8115
-1FBE 953
-1FC8 1FCB 8050
-1FCC 8131
-1FD8 1FD9 8144
-1FDA 1FDB 8054
-1FE8 1FE9 8160
-1FEA 1FEB 8058
-1FEC 8165
-1FF8 1FF9 8056
-1FFA 1FFB 8060
-1FFC 8179
-2126 969
-212A 107
-212B 229
-2132 8526
-2160 216F 8560
-2183 8580
-24B6 24CF 9424
-2C00 2C2E 11312
-2C60 11361
-2C62 619
-2C63 7549
-2C64 637
-2C67 11368
-2C69 11370
-2C6B 11372
-2C6D 593
-2C6E 625
-2C6F 592
-2C70 594
-2C72 11379
-2C75 11382
-2C7E 2C7F 575
-2C80 11393
-2C82 11395
-2C84 11397
-2C86 11399
-2C88 11401
-2C8A 11403
-2C8C 11405
-2C8E 11407
-2C90 11409
-2C92 11411
-2C94 11413
-2C96 11415
-2C98 11417
-2C9A 11419
-2C9C 11421
-2C9E 11423
-2CA0 11425
-2CA2 11427
-2CA4 11429
-2CA6 11431
-2CA8 11433
-2CAA 11435
-2CAC 11437
-2CAE 11439
-2CB0 11441
-2CB2 11443
-2CB4 11445
-2CB6 11447
-2CB8 11449
-2CBA 11451
-2CBC 11453
-2CBE 11455
-2CC0 11457
-2CC2 11459
-2CC4 11461
-2CC6 11463
-2CC8 11465
-2CCA 11467
-2CCC 11469
-2CCE 11471
-2CD0 11473
-2CD2 11475
-2CD4 11477
-2CD6 11479
-2CD8 11481
-2CDA 11483
-2CDC 11485
-2CDE 11487
-2CE0 11489
-2CE2 11491
-2CEB 11500
-2CED 11502
-2CF2 11507
-A640 42561
-A642 42563
-A644 42565
-A646 42567
-A648 42569
-A64A 42571
-A64C 42573
-A64E 42575
-A650 42577
-A652 42579
-A654 42581
-A656 42583
-A658 42585
-A65A 42587
-A65C 42589
-A65E 42591
-A660 42593
-A662 42595
-A664 42597
-A666 42599
-A668 42601
-A66A 42603
-A66C 42605
-A680 42625
-A682 42627
-A684 42629
-A686 42631
-A688 42633
-A68A 42635
-A68C 42637
-A68E 42639
-A690 42641
-A692 42643
-A694 42645
-A696 42647
-A722 42787
-A724 42789
-A726 42791
-A728 42793
-A72A 42795
-A72C 42797
-A72E 42799
-A732 42803
-A734 42805
-A736 42807
-A738 42809
-A73A 42811
-A73C 42813
-A73E 42815
-A740 42817
-A742 42819
-A744 42821
-A746 42823
-A748 42825
-A74A 42827
-A74C 42829
-A74E 42831
-A750 42833
-A752 42835
-A754 42837
-A756 42839
-A758 42841
-A75A 42843
-A75C 42845
-A75E 42847
-A760 42849
-A762 42851
-A764 42853
-A766 42855
-A768 42857
-A76A 42859
-A76C 42861
-A76E 42863
-A779 42874
-A77B 42876
-A77D 7545
-A77E 42879
-A780 42881
-A782 42883
-A784 42885
-A786 42887
-A78B 42892
-A78D 613
-A790 42897
-A792 42899
-A7A0 42913
-A7A2 42915
-A7A4 42917
-A7A6 42919
-A7A8 42921
-A7AA 614
-FF21 FF3A 65345
-10400 10427 66600
+41 5A 61
+B5 3BC
+C0 D6 E0
+D8 DE F8
+100 101
+102 103
+104 105
+106 107
+108 109
+10A 10B
+10C 10D
+10E 10F
+110 111
+112 113
+114 115
+116 117
+118 119
+11A 11B
+11C 11D
+11E 11F
+120 121
+122 123
+124 125
+126 127
+128 129
+12A 12B
+12C 12D
+12E 12F
+132 133
+134 135
+136 137
+139 13A
+13B 13C
+13D 13E
+13F 140
+141 142
+143 144
+145 146
+147 148
+14A 14B
+14C 14D
+14E 14F
+150 151
+152 153
+154 155
+156 157
+158 159
+15A 15B
+15C 15D
+15E 15F
+160 161
+162 163
+164 165
+166 167
+168 169
+16A 16B
+16C 16D
+16E 16F
+170 171
+172 173
+174 175
+176 177
+178 FF
+179 17A
+17B 17C
+17D 17E
+17F 73
+181 253
+182 183
+184 185
+186 254
+187 188
+189 18A 256
+18B 18C
+18E 1DD
+18F 259
+190 25B
+191 192
+193 260
+194 263
+196 269
+197 268
+198 199
+19C 26F
+19D 272
+19F 275
+1A0 1A1
+1A2 1A3
+1A4 1A5
+1A6 280
+1A7 1A8
+1A9 283
+1AC 1AD
+1AE 288
+1AF 1B0
+1B1 1B2 28A
+1B3 1B4
+1B5 1B6
+1B7 292
+1B8 1B9
+1BC 1BD
+1C4 1C6
+1C5 1C6
+1C7 1C9
+1C8 1C9
+1CA 1CC
+1CB 1CC
+1CD 1CE
+1CF 1D0
+1D1 1D2
+1D3 1D4
+1D5 1D6
+1D7 1D8
+1D9 1DA
+1DB 1DC
+1DE 1DF
+1E0 1E1
+1E2 1E3
+1E4 1E5
+1E6 1E7
+1E8 1E9
+1EA 1EB
+1EC 1ED
+1EE 1EF
+1F1 1F3
+1F2 1F3
+1F4 1F5
+1F6 195
+1F7 1BF
+1F8 1F9
+1FA 1FB
+1FC 1FD
+1FE 1FF
+200 201
+202 203
+204 205
+206 207
+208 209
+20A 20B
+20C 20D
+20E 20F
+210 211
+212 213
+214 215
+216 217
+218 219
+21A 21B
+21C 21D
+21E 21F
+220 19E
+222 223
+224 225
+226 227
+228 229
+22A 22B
+22C 22D
+22E 22F
+230 231
+232 233
+23A 2C65
+23B 23C
+23D 19A
+23E 2C66
+241 242
+243 180
+244 289
+245 28C
+246 247
+248 249
+24A 24B
+24C 24D
+24E 24F
+345 3B9
+370 371
+372 373
+376 377
+386 3AC
+388 38A 3AD
+38C 3CC
+38E 38F 3CD
+391 3A1 3B1
+3A3 3AB 3C3
+3C2 3C3
+3CF 3D7
+3D0 3B2
+3D1 3B8
+3D5 3C6
+3D6 3C0
+3D8 3D9
+3DA 3DB
+3DC 3DD
+3DE 3DF
+3E0 3E1
+3E2 3E3
+3E4 3E5
+3E6 3E7
+3E8 3E9
+3EA 3EB
+3EC 3ED
+3EE 3EF
+3F0 3BA
+3F1 3C1
+3F4 3B8
+3F5 3B5
+3F7 3F8
+3F9 3F2
+3FA 3FB
+3FD 3FF 37B
+400 40F 450
+410 42F 430
+460 461
+462 463
+464 465
+466 467
+468 469
+46A 46B
+46C 46D
+46E 46F
+470 471
+472 473
+474 475
+476 477
+478 479
+47A 47B
+47C 47D
+47E 47F
+480 481
+48A 48B
+48C 48D
+48E 48F
+490 491
+492 493
+494 495
+496 497
+498 499
+49A 49B
+49C 49D
+49E 49F
+4A0 4A1
+4A2 4A3
+4A4 4A5
+4A6 4A7
+4A8 4A9
+4AA 4AB
+4AC 4AD
+4AE 4AF
+4B0 4B1
+4B2 4B3
+4B4 4B5
+4B6 4B7
+4B8 4B9
+4BA 4BB
+4BC 4BD
+4BE 4BF
+4C0 4CF
+4C1 4C2
+4C3 4C4
+4C5 4C6
+4C7 4C8
+4C9 4CA
+4CB 4CC
+4CD 4CE
+4D0 4D1
+4D2 4D3
+4D4 4D5
+4D6 4D7
+4D8 4D9
+4DA 4DB
+4DC 4DD
+4DE 4DF
+4E0 4E1
+4E2 4E3
+4E4 4E5
+4E6 4E7
+4E8 4E9
+4EA 4EB
+4EC 4ED
+4EE 4EF
+4F0 4F1
+4F2 4F3
+4F4 4F5
+4F6 4F7
+4F8 4F9
+4FA 4FB
+4FC 4FD
+4FE 4FF
+500 501
+502 503
+504 505
+506 507
+508 509
+50A 50B
+50C 50D
+50E 50F
+510 511
+512 513
+514 515
+516 517
+518 519
+51A 51B
+51C 51D
+51E 51F
+520 521
+522 523
+524 525
+526 527
+531 556 561
+10A0 10C5 2D00
+10C7 2D27
+10CD 2D2D
+1E00 1E01
+1E02 1E03
+1E04 1E05
+1E06 1E07
+1E08 1E09
+1E0A 1E0B
+1E0C 1E0D
+1E0E 1E0F
+1E10 1E11
+1E12 1E13
+1E14 1E15
+1E16 1E17
+1E18 1E19
+1E1A 1E1B
+1E1C 1E1D
+1E1E 1E1F
+1E20 1E21
+1E22 1E23
+1E24 1E25
+1E26 1E27
+1E28 1E29
+1E2A 1E2B
+1E2C 1E2D
+1E2E 1E2F
+1E30 1E31
+1E32 1E33
+1E34 1E35
+1E36 1E37
+1E38 1E39
+1E3A 1E3B
+1E3C 1E3D
+1E3E 1E3F
+1E40 1E41
+1E42 1E43
+1E44 1E45
+1E46 1E47
+1E48 1E49
+1E4A 1E4B
+1E4C 1E4D
+1E4E 1E4F
+1E50 1E51
+1E52 1E53
+1E54 1E55
+1E56 1E57
+1E58 1E59
+1E5A 1E5B
+1E5C 1E5D
+1E5E 1E5F
+1E60 1E61
+1E62 1E63
+1E64 1E65
+1E66 1E67
+1E68 1E69
+1E6A 1E6B
+1E6C 1E6D
+1E6E 1E6F
+1E70 1E71
+1E72 1E73
+1E74 1E75
+1E76 1E77
+1E78 1E79
+1E7A 1E7B
+1E7C 1E7D
+1E7E 1E7F
+1E80 1E81
+1E82 1E83
+1E84 1E85
+1E86 1E87
+1E88 1E89
+1E8A 1E8B
+1E8C 1E8D
+1E8E 1E8F
+1E90 1E91
+1E92 1E93
+1E94 1E95
+1E9B 1E61
+1E9E DF
+1EA0 1EA1
+1EA2 1EA3
+1EA4 1EA5
+1EA6 1EA7
+1EA8 1EA9
+1EAA 1EAB
+1EAC 1EAD
+1EAE 1EAF
+1EB0 1EB1
+1EB2 1EB3
+1EB4 1EB5
+1EB6 1EB7
+1EB8 1EB9
+1EBA 1EBB
+1EBC 1EBD
+1EBE 1EBF
+1EC0 1EC1
+1EC2 1EC3
+1EC4 1EC5
+1EC6 1EC7
+1EC8 1EC9
+1ECA 1ECB
+1ECC 1ECD
+1ECE 1ECF
+1ED0 1ED1
+1ED2 1ED3
+1ED4 1ED5
+1ED6 1ED7
+1ED8 1ED9
+1EDA 1EDB
+1EDC 1EDD
+1EDE 1EDF
+1EE0 1EE1
+1EE2 1EE3
+1EE4 1EE5
+1EE6 1EE7
+1EE8 1EE9
+1EEA 1EEB
+1EEC 1EED
+1EEE 1EEF
+1EF0 1EF1
+1EF2 1EF3
+1EF4 1EF5
+1EF6 1EF7
+1EF8 1EF9
+1EFA 1EFB
+1EFC 1EFD
+1EFE 1EFF
+1F08 1F0F 1F00
+1F18 1F1D 1F10
+1F28 1F2F 1F20
+1F38 1F3F 1F30
+1F48 1F4D 1F40
+1F59 1F51
+1F5B 1F53
+1F5D 1F55
+1F5F 1F57
+1F68 1F6F 1F60
+1F88 1F8F 1F80
+1F98 1F9F 1F90
+1FA8 1FAF 1FA0
+1FB8 1FB9 1FB0
+1FBA 1FBB 1F70
+1FBC 1FB3
+1FBE 3B9
+1FC8 1FCB 1F72
+1FCC 1FC3
+1FD8 1FD9 1FD0
+1FDA 1FDB 1F76
+1FE8 1FE9 1FE0
+1FEA 1FEB 1F7A
+1FEC 1FE5
+1FF8 1FF9 1F78
+1FFA 1FFB 1F7C
+1FFC 1FF3
+2126 3C9
+212A 6B
+212B E5
+2132 214E
+2160 216F 2170
+2183 2184
+24B6 24CF 24D0
+2C00 2C2E 2C30
+2C60 2C61
+2C62 26B
+2C63 1D7D
+2C64 27D
+2C67 2C68
+2C69 2C6A
+2C6B 2C6C
+2C6D 251
+2C6E 271
+2C6F 250
+2C70 252
+2C72 2C73
+2C75 2C76
+2C7E 2C7F 23F
+2C80 2C81
+2C82 2C83
+2C84 2C85
+2C86 2C87
+2C88 2C89
+2C8A 2C8B
+2C8C 2C8D
+2C8E 2C8F
+2C90 2C91
+2C92 2C93
+2C94 2C95
+2C96 2C97
+2C98 2C99
+2C9A 2C9B
+2C9C 2C9D
+2C9E 2C9F
+2CA0 2CA1
+2CA2 2CA3
+2CA4 2CA5
+2CA6 2CA7
+2CA8 2CA9
+2CAA 2CAB
+2CAC 2CAD
+2CAE 2CAF
+2CB0 2CB1
+2CB2 2CB3
+2CB4 2CB5
+2CB6 2CB7
+2CB8 2CB9
+2CBA 2CBB
+2CBC 2CBD
+2CBE 2CBF
+2CC0 2CC1
+2CC2 2CC3
+2CC4 2CC5
+2CC6 2CC7
+2CC8 2CC9
+2CCA 2CCB
+2CCC 2CCD
+2CCE 2CCF
+2CD0 2CD1
+2CD2 2CD3
+2CD4 2CD5
+2CD6 2CD7
+2CD8 2CD9
+2CDA 2CDB
+2CDC 2CDD
+2CDE 2CDF
+2CE0 2CE1
+2CE2 2CE3
+2CEB 2CEC
+2CED 2CEE
+2CF2 2CF3
+A640 A641
+A642 A643
+A644 A645
+A646 A647
+A648 A649
+A64A A64B
+A64C A64D
+A64E A64F
+A650 A651
+A652 A653
+A654 A655
+A656 A657
+A658 A659
+A65A A65B
+A65C A65D
+A65E A65F
+A660 A661
+A662 A663
+A664 A665
+A666 A667
+A668 A669
+A66A A66B
+A66C A66D
+A680 A681
+A682 A683
+A684 A685
+A686 A687
+A688 A689
+A68A A68B
+A68C A68D
+A68E A68F
+A690 A691
+A692 A693
+A694 A695
+A696 A697
+A722 A723
+A724 A725
+A726 A727
+A728 A729
+A72A A72B
+A72C A72D
+A72E A72F
+A732 A733
+A734 A735
+A736 A737
+A738 A739
+A73A A73B
+A73C A73D
+A73E A73F
+A740 A741
+A742 A743
+A744 A745
+A746 A747
+A748 A749
+A74A A74B
+A74C A74D
+A74E A74F
+A750 A751
+A752 A753
+A754 A755
+A756 A757
+A758 A759
+A75A A75B
+A75C A75D
+A75E A75F
+A760 A761
+A762 A763
+A764 A765
+A766 A767
+A768 A769
+A76A A76B
+A76C A76D
+A76E A76F
+A779 A77A
+A77B A77C
+A77D 1D79
+A77E A77F
+A780 A781
+A782 A783
+A784 A785
+A786 A787
+A78B A78C
+A78D 265
+A790 A791
+A792 A793
+A7A0 A7A1
+A7A2 A7A3
+A7A4 A7A5
+A7A6 A7A7
+A7A8 A7A9
+A7AA 266
+FF21 FF3A FF41
+10400 10427 10428
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
index 77fde84a3d7..d7c809c10ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
index 6ee3e7fe723..3a7f803512a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,72 +17,72 @@ $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
+20 7E Na
+A1 A
+A2 A3 Na
+A4 A
+A5 A6 Na
+A7 A8 A
+AA A
+AC Na
+AD AE A
+AF Na
+B0 B4 A
+B6 BA A
+BC BF A
+C6 A
+D0 A
+D7 D8 A
+DE E1 A
+E6 A
+E8 EA A
+EC ED A
+F0 A
+F2 F3 A
+F7 FA A
+FC A
+FE A
+101 A
+111 A
+113 A
+11B A
+126 127 A
+12B A
+131 133 A
+138 A
+13F 142 A
+144 A
+148 14B A
+14D A
+152 153 A
+166 167 A
+16B A
+1CE A
+1D0 A
+1D2 A
+1D4 A
+1D6 A
+1D8 A
+1DA A
+1DC A
+251 A
+261 A
+2C4 A
+2C7 A
+2C9 2CB A
+2CD A
+2D0 A
+2D8 2DB A
+2DD A
+2DF A
+300 36F A
+391 3A1 A
+3A3 3A9 A
+3B1 3C1 A
+3C3 3C9 A
+401 A
+410 44F A
+451 A
1100 115F W
2010 A
2013 2016 A
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
index ff6dd91896b..39370e4d69d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
index 70d2e38fdba..062e33db4d6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,162 +17,163 @@ $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 0604 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
-08E4 08FE 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
-0E31 Extend
-0E33 SpacingMark
-0E34 0E3A Extend
-0E47 0E4E Extend
-0EB1 Extend
-0EB3 SpacingMark
-0EB4 0EB9 Extend
-0EBB 0EBC Extend
-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
+0 9 Control
+A LF
+B C Control
+D CR
+E 1F Control
+7F 9F Control
+AD Control
+300 36F Extend
+483 489 Extend
+591 5BD Extend
+5BF Extend
+5C1 5C2 Extend
+5C4 5C5 Extend
+5C7 Extend
+600 604 Control
+610 61A Extend
+61C Control
+64B 65F Extend
+670 Extend
+6D6 6DC Extend
+6DD Control
+6DF 6E4 Extend
+6E7 6E8 Extend
+6EA 6ED Extend
+70F Control
+711 Extend
+730 74A Extend
+7A6 7B0 Extend
+7EB 7F3 Extend
+816 819 Extend
+81B 823 Extend
+825 827 Extend
+829 82D Extend
+859 85B Extend
+8E4 8FE Extend
+900 902 Extend
+903 SpacingMark
+93A Extend
+93B SpacingMark
+93C Extend
+93E 940 SpacingMark
+941 948 Extend
+949 94C SpacingMark
+94D Extend
+94E 94F SpacingMark
+951 957 Extend
+962 963 Extend
+981 Extend
+982 983 SpacingMark
+9BC Extend
+9BE Extend
+9BF 9C0 SpacingMark
+9C1 9C4 Extend
+9C7 9C8 SpacingMark
+9CB 9CC SpacingMark
+9CD Extend
+9D7 Extend
+9E2 9E3 Extend
+A01 A02 Extend
+A03 SpacingMark
+A3C Extend
+A3E A40 SpacingMark
+A41 A42 Extend
+A47 A48 Extend
+A4B A4D Extend
+A51 Extend
+A70 A71 Extend
+A75 Extend
+A81 A82 Extend
+A83 SpacingMark
+ABC Extend
+ABE AC0 SpacingMark
+AC1 AC5 Extend
+AC7 AC8 Extend
+AC9 SpacingMark
+ACB ACC SpacingMark
+ACD Extend
+AE2 AE3 Extend
+B01 Extend
+B02 B03 SpacingMark
+B3C Extend
+B3E B3F Extend
+B40 SpacingMark
+B41 B44 Extend
+B47 B48 SpacingMark
+B4B B4C SpacingMark
+B4D Extend
+B56 B57 Extend
+B62 B63 Extend
+B82 Extend
+BBE Extend
+BBF SpacingMark
+BC0 Extend
+BC1 BC2 SpacingMark
+BC6 BC8 SpacingMark
+BCA BCC SpacingMark
+BCD Extend
+BD7 Extend
+C01 C03 SpacingMark
+C3E C40 Extend
+C41 C44 SpacingMark
+C46 C48 Extend
+C4A C4D Extend
+C55 C56 Extend
+C62 C63 Extend
+C82 C83 SpacingMark
+CBC Extend
+CBE SpacingMark
+CBF Extend
+CC0 CC1 SpacingMark
+CC2 Extend
+CC3 CC4 SpacingMark
+CC6 Extend
+CC7 CC8 SpacingMark
+CCA CCB SpacingMark
+CCC CCD Extend
+CD5 CD6 Extend
+CE2 CE3 Extend
+D02 D03 SpacingMark
+D3E Extend
+D3F D40 SpacingMark
+D41 D44 Extend
+D46 D48 SpacingMark
+D4A D4C SpacingMark
+D4D Extend
+D57 Extend
+D62 D63 Extend
+D82 D83 SpacingMark
+DCA Extend
+DCF Extend
+DD0 DD1 SpacingMark
+DD2 DD4 Extend
+DD6 Extend
+DD8 DDE SpacingMark
+DDF Extend
+DF2 DF3 SpacingMark
+E31 Extend
+E33 SpacingMark
+E34 E3A Extend
+E47 E4E Extend
+EB1 Extend
+EB3 SpacingMark
+EB4 EB9 Extend
+EBB EBC Extend
+EC8 ECD Extend
+F18 F19 Extend
+F35 Extend
+F37 Extend
+F39 Extend
+F3E F3F SpacingMark
+F71 F7E Extend
+F7F SpacingMark
+F80 F84 Extend
+F86 F87 Extend
+F8D F97 Extend
+F99 FBC Extend
+FC6 Extend
102D 1030 Extend
1031 SpacingMark
1032 1037 Extend
@@ -204,6 +206,7 @@ return <<'END';
17C9 17D3 Extend
17DD Extend
180B 180D Extend
+180E Control
18A9 Extend
1920 1922 Extend
1923 1926 SpacingMark
@@ -216,7 +219,8 @@ return <<'END';
19B5 19B7 SpacingMark
19BA SpacingMark
1A17 1A18 Extend
-1A19 1A1B SpacingMark
+1A19 1A1A SpacingMark
+1A1B Extend
1A55 SpacingMark
1A56 Extend
1A57 SpacingMark
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
index 2ce2185629d..b88168fc961 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,983 +17,984 @@ $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 So
-00A7 Po
-00A8 Sk
-00A9 So
-00AA Lo
-00AB Pi
-00AC Sm
-00AD Cf
-00AE So
-00AF Sk
-00B0 So
-00B1 Sm
-00B2 00B3 No
-00B4 Sk
-00B5 Ll
-00B6 00B7 Po
-00B8 Sk
-00B9 No
-00BA Lo
-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
-058F Sc
-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 0604 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
-08A0 Lo
-08A2 08AC Lo
-08E4 08FE Mn
-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
-0AF0 Po
-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 0EDF Lo
-0F00 Lo
-0F01 0F03 So
-0F04 0F12 Po
-0F13 So
-0F14 Po
-0F15 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
+0 1F Cc
+20 Zs
+21 23 Po
+24 Sc
+25 27 Po
+28 Ps
+29 Pe
+2A Po
+2B Sm
+2C Po
+2D Pd
+2E 2F Po
+30 39 Nd
+3A 3B Po
+3C 3E Sm
+3F 40 Po
+41 5A Lu
+5B Ps
+5C Po
+5D Pe
+5E Sk
+5F Pc
+60 Sk
+61 7A Ll
+7B Ps
+7C Sm
+7D Pe
+7E Sm
+7F 9F Cc
+A0 Zs
+A1 Po
+A2 A5 Sc
+A6 So
+A7 Po
+A8 Sk
+A9 So
+AA Lo
+AB Pi
+AC Sm
+AD Cf
+AE So
+AF Sk
+B0 So
+B1 Sm
+B2 B3 No
+B4 Sk
+B5 Ll
+B6 B7 Po
+B8 Sk
+B9 No
+BA Lo
+BB Pf
+BC BE No
+BF Po
+C0 D6 Lu
+D7 Sm
+D8 DE Lu
+DF F6 Ll
+F7 Sm
+F8 FF Ll
+100 Lu
+101 Ll
+102 Lu
+103 Ll
+104 Lu
+105 Ll
+106 Lu
+107 Ll
+108 Lu
+109 Ll
+10A Lu
+10B Ll
+10C Lu
+10D Ll
+10E Lu
+10F Ll
+110 Lu
+111 Ll
+112 Lu
+113 Ll
+114 Lu
+115 Ll
+116 Lu
+117 Ll
+118 Lu
+119 Ll
+11A Lu
+11B Ll
+11C Lu
+11D Ll
+11E Lu
+11F Ll
+120 Lu
+121 Ll
+122 Lu
+123 Ll
+124 Lu
+125 Ll
+126 Lu
+127 Ll
+128 Lu
+129 Ll
+12A Lu
+12B Ll
+12C Lu
+12D Ll
+12E Lu
+12F Ll
+130 Lu
+131 Ll
+132 Lu
+133 Ll
+134 Lu
+135 Ll
+136 Lu
+137 138 Ll
+139 Lu
+13A Ll
+13B Lu
+13C Ll
+13D Lu
+13E Ll
+13F Lu
+140 Ll
+141 Lu
+142 Ll
+143 Lu
+144 Ll
+145 Lu
+146 Ll
+147 Lu
+148 149 Ll
+14A Lu
+14B Ll
+14C Lu
+14D Ll
+14E Lu
+14F Ll
+150 Lu
+151 Ll
+152 Lu
+153 Ll
+154 Lu
+155 Ll
+156 Lu
+157 Ll
+158 Lu
+159 Ll
+15A Lu
+15B Ll
+15C Lu
+15D Ll
+15E Lu
+15F Ll
+160 Lu
+161 Ll
+162 Lu
+163 Ll
+164 Lu
+165 Ll
+166 Lu
+167 Ll
+168 Lu
+169 Ll
+16A Lu
+16B Ll
+16C Lu
+16D Ll
+16E Lu
+16F Ll
+170 Lu
+171 Ll
+172 Lu
+173 Ll
+174 Lu
+175 Ll
+176 Lu
+177 Ll
+178 179 Lu
+17A Ll
+17B Lu
+17C Ll
+17D Lu
+17E 180 Ll
+181 182 Lu
+183 Ll
+184 Lu
+185 Ll
+186 187 Lu
+188 Ll
+189 18B Lu
+18C 18D Ll
+18E 191 Lu
+192 Ll
+193 194 Lu
+195 Ll
+196 198 Lu
+199 19B Ll
+19C 19D Lu
+19E Ll
+19F 1A0 Lu
+1A1 Ll
+1A2 Lu
+1A3 Ll
+1A4 Lu
+1A5 Ll
+1A6 1A7 Lu
+1A8 Ll
+1A9 Lu
+1AA 1AB Ll
+1AC Lu
+1AD Ll
+1AE 1AF Lu
+1B0 Ll
+1B1 1B3 Lu
+1B4 Ll
+1B5 Lu
+1B6 Ll
+1B7 1B8 Lu
+1B9 1BA Ll
+1BB Lo
+1BC Lu
+1BD 1BF Ll
+1C0 1C3 Lo
+1C4 Lu
+1C5 Lt
+1C6 Ll
+1C7 Lu
+1C8 Lt
+1C9 Ll
+1CA Lu
+1CB Lt
+1CC Ll
+1CD Lu
+1CE Ll
+1CF Lu
+1D0 Ll
+1D1 Lu
+1D2 Ll
+1D3 Lu
+1D4 Ll
+1D5 Lu
+1D6 Ll
+1D7 Lu
+1D8 Ll
+1D9 Lu
+1DA Ll
+1DB Lu
+1DC 1DD Ll
+1DE Lu
+1DF Ll
+1E0 Lu
+1E1 Ll
+1E2 Lu
+1E3 Ll
+1E4 Lu
+1E5 Ll
+1E6 Lu
+1E7 Ll
+1E8 Lu
+1E9 Ll
+1EA Lu
+1EB Ll
+1EC Lu
+1ED Ll
+1EE Lu
+1EF 1F0 Ll
+1F1 Lu
+1F2 Lt
+1F3 Ll
+1F4 Lu
+1F5 Ll
+1F6 1F8 Lu
+1F9 Ll
+1FA Lu
+1FB Ll
+1FC Lu
+1FD Ll
+1FE Lu
+1FF Ll
+200 Lu
+201 Ll
+202 Lu
+203 Ll
+204 Lu
+205 Ll
+206 Lu
+207 Ll
+208 Lu
+209 Ll
+20A Lu
+20B Ll
+20C Lu
+20D Ll
+20E Lu
+20F Ll
+210 Lu
+211 Ll
+212 Lu
+213 Ll
+214 Lu
+215 Ll
+216 Lu
+217 Ll
+218 Lu
+219 Ll
+21A Lu
+21B Ll
+21C Lu
+21D Ll
+21E Lu
+21F Ll
+220 Lu
+221 Ll
+222 Lu
+223 Ll
+224 Lu
+225 Ll
+226 Lu
+227 Ll
+228 Lu
+229 Ll
+22A Lu
+22B Ll
+22C Lu
+22D Ll
+22E Lu
+22F Ll
+230 Lu
+231 Ll
+232 Lu
+233 239 Ll
+23A 23B Lu
+23C Ll
+23D 23E Lu
+23F 240 Ll
+241 Lu
+242 Ll
+243 246 Lu
+247 Ll
+248 Lu
+249 Ll
+24A Lu
+24B Ll
+24C Lu
+24D Ll
+24E Lu
+24F 293 Ll
+294 Lo
+295 2AF Ll
+2B0 2C1 Lm
+2C2 2C5 Sk
+2C6 2D1 Lm
+2D2 2DF Sk
+2E0 2E4 Lm
+2E5 2EB Sk
+2EC Lm
+2ED Sk
+2EE Lm
+2EF 2FF Sk
+300 36F Mn
+370 Lu
+371 Ll
+372 Lu
+373 Ll
+374 Lm
+375 Sk
+376 Lu
+377 Ll
+37A Lm
+37B 37D Ll
+37E Po
+384 385 Sk
+386 Lu
+387 Po
+388 38A Lu
+38C Lu
+38E 38F Lu
+390 Ll
+391 3A1 Lu
+3A3 3AB Lu
+3AC 3CE Ll
+3CF Lu
+3D0 3D1 Ll
+3D2 3D4 Lu
+3D5 3D7 Ll
+3D8 Lu
+3D9 Ll
+3DA Lu
+3DB Ll
+3DC Lu
+3DD Ll
+3DE Lu
+3DF Ll
+3E0 Lu
+3E1 Ll
+3E2 Lu
+3E3 Ll
+3E4 Lu
+3E5 Ll
+3E6 Lu
+3E7 Ll
+3E8 Lu
+3E9 Ll
+3EA Lu
+3EB Ll
+3EC Lu
+3ED Ll
+3EE Lu
+3EF 3F3 Ll
+3F4 Lu
+3F5 Ll
+3F6 Sm
+3F7 Lu
+3F8 Ll
+3F9 3FA Lu
+3FB 3FC Ll
+3FD 42F Lu
+430 45F Ll
+460 Lu
+461 Ll
+462 Lu
+463 Ll
+464 Lu
+465 Ll
+466 Lu
+467 Ll
+468 Lu
+469 Ll
+46A Lu
+46B Ll
+46C Lu
+46D Ll
+46E Lu
+46F Ll
+470 Lu
+471 Ll
+472 Lu
+473 Ll
+474 Lu
+475 Ll
+476 Lu
+477 Ll
+478 Lu
+479 Ll
+47A Lu
+47B Ll
+47C Lu
+47D Ll
+47E Lu
+47F Ll
+480 Lu
+481 Ll
+482 So
+483 487 Mn
+488 489 Me
+48A Lu
+48B Ll
+48C Lu
+48D Ll
+48E Lu
+48F Ll
+490 Lu
+491 Ll
+492 Lu
+493 Ll
+494 Lu
+495 Ll
+496 Lu
+497 Ll
+498 Lu
+499 Ll
+49A Lu
+49B Ll
+49C Lu
+49D Ll
+49E Lu
+49F Ll
+4A0 Lu
+4A1 Ll
+4A2 Lu
+4A3 Ll
+4A4 Lu
+4A5 Ll
+4A6 Lu
+4A7 Ll
+4A8 Lu
+4A9 Ll
+4AA Lu
+4AB Ll
+4AC Lu
+4AD Ll
+4AE Lu
+4AF Ll
+4B0 Lu
+4B1 Ll
+4B2 Lu
+4B3 Ll
+4B4 Lu
+4B5 Ll
+4B6 Lu
+4B7 Ll
+4B8 Lu
+4B9 Ll
+4BA Lu
+4BB Ll
+4BC Lu
+4BD Ll
+4BE Lu
+4BF Ll
+4C0 4C1 Lu
+4C2 Ll
+4C3 Lu
+4C4 Ll
+4C5 Lu
+4C6 Ll
+4C7 Lu
+4C8 Ll
+4C9 Lu
+4CA Ll
+4CB Lu
+4CC Ll
+4CD Lu
+4CE 4CF Ll
+4D0 Lu
+4D1 Ll
+4D2 Lu
+4D3 Ll
+4D4 Lu
+4D5 Ll
+4D6 Lu
+4D7 Ll
+4D8 Lu
+4D9 Ll
+4DA Lu
+4DB Ll
+4DC Lu
+4DD Ll
+4DE Lu
+4DF Ll
+4E0 Lu
+4E1 Ll
+4E2 Lu
+4E3 Ll
+4E4 Lu
+4E5 Ll
+4E6 Lu
+4E7 Ll
+4E8 Lu
+4E9 Ll
+4EA Lu
+4EB Ll
+4EC Lu
+4ED Ll
+4EE Lu
+4EF Ll
+4F0 Lu
+4F1 Ll
+4F2 Lu
+4F3 Ll
+4F4 Lu
+4F5 Ll
+4F6 Lu
+4F7 Ll
+4F8 Lu
+4F9 Ll
+4FA Lu
+4FB Ll
+4FC Lu
+4FD Ll
+4FE Lu
+4FF Ll
+500 Lu
+501 Ll
+502 Lu
+503 Ll
+504 Lu
+505 Ll
+506 Lu
+507 Ll
+508 Lu
+509 Ll
+50A Lu
+50B Ll
+50C Lu
+50D Ll
+50E Lu
+50F Ll
+510 Lu
+511 Ll
+512 Lu
+513 Ll
+514 Lu
+515 Ll
+516 Lu
+517 Ll
+518 Lu
+519 Ll
+51A Lu
+51B Ll
+51C Lu
+51D Ll
+51E Lu
+51F Ll
+520 Lu
+521 Ll
+522 Lu
+523 Ll
+524 Lu
+525 Ll
+526 Lu
+527 Ll
+531 556 Lu
+559 Lm
+55A 55F Po
+561 587 Ll
+589 Po
+58A Pd
+58F Sc
+591 5BD Mn
+5BE Pd
+5BF Mn
+5C0 Po
+5C1 5C2 Mn
+5C3 Po
+5C4 5C5 Mn
+5C6 Po
+5C7 Mn
+5D0 5EA Lo
+5F0 5F2 Lo
+5F3 5F4 Po
+600 604 Cf
+606 608 Sm
+609 60A Po
+60B Sc
+60C 60D Po
+60E 60F So
+610 61A Mn
+61B Po
+61C Cf
+61E 61F Po
+620 63F Lo
+640 Lm
+641 64A Lo
+64B 65F Mn
+660 669 Nd
+66A 66D Po
+66E 66F Lo
+670 Mn
+671 6D3 Lo
+6D4 Po
+6D5 Lo
+6D6 6DC Mn
+6DD Cf
+6DE So
+6DF 6E4 Mn
+6E5 6E6 Lm
+6E7 6E8 Mn
+6E9 So
+6EA 6ED Mn
+6EE 6EF Lo
+6F0 6F9 Nd
+6FA 6FC Lo
+6FD 6FE So
+6FF Lo
+700 70D Po
+70F Cf
+710 Lo
+711 Mn
+712 72F Lo
+730 74A Mn
+74D 7A5 Lo
+7A6 7B0 Mn
+7B1 Lo
+7C0 7C9 Nd
+7CA 7EA Lo
+7EB 7F3 Mn
+7F4 7F5 Lm
+7F6 So
+7F7 7F9 Po
+7FA Lm
+800 815 Lo
+816 819 Mn
+81A Lm
+81B 823 Mn
+824 Lm
+825 827 Mn
+828 Lm
+829 82D Mn
+830 83E Po
+840 858 Lo
+859 85B Mn
+85E Po
+8A0 Lo
+8A2 8AC Lo
+8E4 8FE Mn
+900 902 Mn
+903 Mc
+904 939 Lo
+93A Mn
+93B Mc
+93C Mn
+93D Lo
+93E 940 Mc
+941 948 Mn
+949 94C Mc
+94D Mn
+94E 94F Mc
+950 Lo
+951 957 Mn
+958 961 Lo
+962 963 Mn
+964 965 Po
+966 96F Nd
+970 Po
+971 Lm
+972 977 Lo
+979 97F Lo
+981 Mn
+982 983 Mc
+985 98C Lo
+98F 990 Lo
+993 9A8 Lo
+9AA 9B0 Lo
+9B2 Lo
+9B6 9B9 Lo
+9BC Mn
+9BD Lo
+9BE 9C0 Mc
+9C1 9C4 Mn
+9C7 9C8 Mc
+9CB 9CC Mc
+9CD Mn
+9CE Lo
+9D7 Mc
+9DC 9DD Lo
+9DF 9E1 Lo
+9E2 9E3 Mn
+9E6 9EF Nd
+9F0 9F1 Lo
+9F2 9F3 Sc
+9F4 9F9 No
+9FA So
+9FB Sc
+A01 A02 Mn
+A03 Mc
+A05 A0A Lo
+A0F A10 Lo
+A13 A28 Lo
+A2A A30 Lo
+A32 A33 Lo
+A35 A36 Lo
+A38 A39 Lo
+A3C Mn
+A3E A40 Mc
+A41 A42 Mn
+A47 A48 Mn
+A4B A4D Mn
+A51 Mn
+A59 A5C Lo
+A5E Lo
+A66 A6F Nd
+A70 A71 Mn
+A72 A74 Lo
+A75 Mn
+A81 A82 Mn
+A83 Mc
+A85 A8D Lo
+A8F A91 Lo
+A93 AA8 Lo
+AAA AB0 Lo
+AB2 AB3 Lo
+AB5 AB9 Lo
+ABC Mn
+ABD Lo
+ABE AC0 Mc
+AC1 AC5 Mn
+AC7 AC8 Mn
+AC9 Mc
+ACB ACC Mc
+ACD Mn
+AD0 Lo
+AE0 AE1 Lo
+AE2 AE3 Mn
+AE6 AEF Nd
+AF0 Po
+AF1 Sc
+B01 Mn
+B02 B03 Mc
+B05 B0C Lo
+B0F B10 Lo
+B13 B28 Lo
+B2A B30 Lo
+B32 B33 Lo
+B35 B39 Lo
+B3C Mn
+B3D Lo
+B3E Mc
+B3F Mn
+B40 Mc
+B41 B44 Mn
+B47 B48 Mc
+B4B B4C Mc
+B4D Mn
+B56 Mn
+B57 Mc
+B5C B5D Lo
+B5F B61 Lo
+B62 B63 Mn
+B66 B6F Nd
+B70 So
+B71 Lo
+B72 B77 No
+B82 Mn
+B83 Lo
+B85 B8A Lo
+B8E B90 Lo
+B92 B95 Lo
+B99 B9A Lo
+B9C Lo
+B9E B9F Lo
+BA3 BA4 Lo
+BA8 BAA Lo
+BAE BB9 Lo
+BBE BBF Mc
+BC0 Mn
+BC1 BC2 Mc
+BC6 BC8 Mc
+BCA BCC Mc
+BCD Mn
+BD0 Lo
+BD7 Mc
+BE6 BEF Nd
+BF0 BF2 No
+BF3 BF8 So
+BF9 Sc
+BFA So
+C01 C03 Mc
+C05 C0C Lo
+C0E C10 Lo
+C12 C28 Lo
+C2A C33 Lo
+C35 C39 Lo
+C3D Lo
+C3E C40 Mn
+C41 C44 Mc
+C46 C48 Mn
+C4A C4D Mn
+C55 C56 Mn
+C58 C59 Lo
+C60 C61 Lo
+C62 C63 Mn
+C66 C6F Nd
+C78 C7E No
+C7F So
+C82 C83 Mc
+C85 C8C Lo
+C8E C90 Lo
+C92 CA8 Lo
+CAA CB3 Lo
+CB5 CB9 Lo
+CBC Mn
+CBD Lo
+CBE Mc
+CBF Mn
+CC0 CC4 Mc
+CC6 Mn
+CC7 CC8 Mc
+CCA CCB Mc
+CCC CCD Mn
+CD5 CD6 Mc
+CDE Lo
+CE0 CE1 Lo
+CE2 CE3 Mn
+CE6 CEF Nd
+CF1 CF2 Lo
+D02 D03 Mc
+D05 D0C Lo
+D0E D10 Lo
+D12 D3A Lo
+D3D Lo
+D3E D40 Mc
+D41 D44 Mn
+D46 D48 Mc
+D4A D4C Mc
+D4D Mn
+D4E Lo
+D57 Mc
+D60 D61 Lo
+D62 D63 Mn
+D66 D6F Nd
+D70 D75 No
+D79 So
+D7A D7F Lo
+D82 D83 Mc
+D85 D96 Lo
+D9A DB1 Lo
+DB3 DBB Lo
+DBD Lo
+DC0 DC6 Lo
+DCA Mn
+DCF DD1 Mc
+DD2 DD4 Mn
+DD6 Mn
+DD8 DDF Mc
+DF2 DF3 Mc
+DF4 Po
+E01 E30 Lo
+E31 Mn
+E32 E33 Lo
+E34 E3A Mn
+E3F Sc
+E40 E45 Lo
+E46 Lm
+E47 E4E Mn
+E4F Po
+E50 E59 Nd
+E5A E5B Po
+E81 E82 Lo
+E84 Lo
+E87 E88 Lo
+E8A Lo
+E8D Lo
+E94 E97 Lo
+E99 E9F Lo
+EA1 EA3 Lo
+EA5 Lo
+EA7 Lo
+EAA EAB Lo
+EAD EB0 Lo
+EB1 Mn
+EB2 EB3 Lo
+EB4 EB9 Mn
+EBB EBC Mn
+EBD Lo
+EC0 EC4 Lo
+EC6 Lm
+EC8 ECD Mn
+ED0 ED9 Nd
+EDC EDF Lo
+F00 Lo
+F01 F03 So
+F04 F12 Po
+F13 So
+F14 Po
+F15 F17 So
+F18 F19 Mn
+F1A F1F So
+F20 F29 Nd
+F2A F33 No
+F34 So
+F35 Mn
+F36 So
+F37 Mn
+F38 So
+F39 Mn
+F3A Ps
+F3B Pe
+F3C Ps
+F3D Pe
+F3E F3F Mc
+F40 F47 Lo
+F49 F6C Lo
+F71 F7E Mn
+F7F Mc
+F80 F84 Mn
+F85 Po
+F86 F87 Mn
+F88 F8C Lo
+F8D F97 Mn
+F99 FBC Mn
+FBE FC5 So
+FC6 Mn
+FC7 FCC So
+FCE FCF So
+FD0 FD4 Po
+FD5 FD8 So
+FD9 FDA Po
1000 102A Lo
102B 102C Mc
102D 1030 Mn
@@ -1098,7 +1100,7 @@ return <<'END';
1806 Pd
1807 180A Po
180B 180D Mn
-180E Zs
+180E Cf
1810 1819 Nd
1820 1842 Lo
1843 Lm
@@ -1130,7 +1132,8 @@ return <<'END';
19DE 19FF So
1A00 1A16 Lo
1A17 1A18 Mn
-1A19 1A1B Mc
+1A19 1A1A Mc
+1A1B Mn
1A1E 1A1F Po
1A20 1A54 Lo
1A55 Mc
@@ -1548,7 +1551,7 @@ return <<'END';
2055 205E Po
205F Zs
2060 2064 Cf
-206A 206F Cf
+2066 206F Cf
2070 No
2071 Lm
2074 2079 No
@@ -1633,7 +1636,10 @@ return <<'END';
21D5 21F3 So
21F4 22FF Sm
2300 2307 So
-2308 230B Sm
+2308 Ps
+2309 Pe
+230A Ps
+230B Pe
230C 231F So
2320 2321 Sm
2322 2328 So
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
index d662023c729..90afeb1d86f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl
index 04e3e4142ac..6ce40cbb414 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
index e85bcbc186d..02a0e50b813 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,141 +17,141 @@ $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
-08A0 Beh
-08A2 Hah
-08A3 Tah
-08A4 Feh
-08A5 Qaf
-08A6 Lam
-08A7 Meem
-08A8 08A9 Yeh
-08AA Reh
-08AB Waw
-08AC Rohingya_Yeh
+620 Yeh
+622 623 Alef
+624 Waw
+625 Alef
+626 Yeh
+627 Alef
+628 Beh
+629 Teh_Marbuta
+62A 62B Beh
+62C 62E Hah
+62F 630 Dal
+631 632 Reh
+633 634 Seen
+635 636 Sad
+637 638 Tah
+639 63A Ain
+63B 63C Gaf
+63D 63F Farsi_Yeh
+641 Feh
+642 Qaf
+643 Kaf
+644 Lam
+645 Meem
+646 Noon
+647 Heh
+648 Waw
+649 64A Yeh
+66E Beh
+66F Qaf
+671 673 Alef
+675 Alef
+676 677 Waw
+678 Yeh
+679 680 Beh
+681 687 Hah
+688 690 Dal
+691 699 Reh
+69A 69C Seen
+69D 69E Sad
+69F Tah
+6A0 Ain
+6A1 6A6 Feh
+6A7 6A8 Qaf
+6A9 Gaf
+6AA Swash_Kaf
+6AB Gaf
+6AC 6AE Kaf
+6AF 6B4 Gaf
+6B5 6B8 Lam
+6B9 6BC Noon
+6BD Nya
+6BE Knotted_Heh
+6BF Hah
+6C0 Teh_Marbuta
+6C1 6C2 Heh_Goal
+6C3 Teh_Marbuta_Goal
+6C4 6CB Waw
+6CC Farsi_Yeh
+6CD Yeh_With_Tail
+6CE Farsi_Yeh
+6CF Waw
+6D0 6D1 Yeh
+6D2 6D3 Yeh_Barree
+6D5 Teh_Marbuta
+6EE Dal
+6EF Reh
+6FA Seen
+6FB Sad
+6FC Ain
+6FF Knotted_Heh
+710 Alaph
+712 Beth
+713 714 Gamal
+715 716 Dalath_Rish
+717 He
+718 Syriac_Waw
+719 Zain
+71A Heth
+71B 71C Teth
+71D Yudh
+71E Yudh_He
+71F Kaph
+720 Lamadh
+721 Mim
+722 Nun
+723 Semkath
+724 Final_Semkath
+725 E
+726 Pe
+727 Reversed_Pe
+728 Sadhe
+729 Qaph
+72A Dalath_Rish
+72B Shin
+72C Taw
+72D Beth
+72E Gamal
+72F Dalath_Rish
+74D Zhain
+74E Khaph
+74F Fe
+750 756 Beh
+757 758 Hah
+759 75A Dal
+75B Reh
+75C Seen
+75D 75F Ain
+760 761 Feh
+762 764 Gaf
+765 766 Meem
+767 769 Noon
+76A Lam
+76B 76C Reh
+76D Seen
+76E 76F Hah
+770 Seen
+771 Reh
+772 Hah
+773 774 Alef
+775 776 Farsi_Yeh
+777 Yeh
+778 779 Waw
+77A 77B Burushaski_Yeh_Barree
+77C Hah
+77D 77E Seen
+77F Kaf
+8A0 Beh
+8A2 Hah
+8A3 Tah
+8A4 Feh
+8A5 Qaf
+8A6 Lam
+8A7 Meem
+8A8 8A9 Yeh
+8AA Reh
+8AB Waw
+8AC Rohingya_Yeh
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
index 6fabc255564..d6881be6fc6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,173 +17,174 @@ $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
-0840 R
-0841 0845 D
-0846 R
-0847 0848 D
-0849 R
-084A 084E D
-084F R
-0850 0853 D
-0854 R
-0855 D
-0859 085B T
-08A0 D
-08A2 08A9 D
-08AA 08AC R
-08E4 08FE 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
+AD T
+300 36F T
+483 489 T
+591 5BD T
+5BF T
+5C1 5C2 T
+5C4 5C5 T
+5C7 T
+610 61A T
+61C T
+620 D
+622 625 R
+626 D
+627 R
+628 D
+629 R
+62A 62E D
+62F 632 R
+633 63F D
+640 C
+641 647 D
+648 R
+649 64A D
+64B 65F T
+66E 66F D
+670 T
+671 673 R
+675 677 R
+678 687 D
+688 699 R
+69A 6BF D
+6C0 R
+6C1 6C2 D
+6C3 6CB R
+6CC D
+6CD R
+6CE D
+6CF R
+6D0 6D1 D
+6D2 6D3 R
+6D5 R
+6D6 6DC T
+6DF 6E4 T
+6E7 6E8 T
+6EA 6ED T
+6EE 6EF R
+6FA 6FC D
+6FF D
+70F T
+710 R
+711 T
+712 714 D
+715 719 R
+71A 71D D
+71E R
+71F 727 D
+728 R
+729 D
+72A R
+72B D
+72C R
+72D 72E D
+72F R
+730 74A T
+74D R
+74E 758 D
+759 75B R
+75C 76A D
+76B 76C R
+76D 770 D
+771 R
+772 D
+773 774 R
+775 777 D
+778 779 R
+77A 77F D
+7A6 7B0 T
+7CA 7EA D
+7EB 7F3 T
+7FA C
+816 819 T
+81B 823 T
+825 827 T
+829 82D T
+840 R
+841 845 D
+846 R
+847 848 D
+849 R
+84A 84E D
+84F R
+850 853 D
+854 R
+855 D
+859 85B T
+8A0 D
+8A2 8A9 D
+8AA 8AC R
+8E4 8FE T
+900 902 T
+93A T
+93C T
+941 948 T
+94D T
+951 957 T
+962 963 T
+981 T
+9BC T
+9C1 9C4 T
+9CD T
+9E2 9E3 T
+A01 A02 T
+A3C T
+A41 A42 T
+A47 A48 T
+A4B A4D T
+A51 T
+A70 A71 T
+A75 T
+A81 A82 T
+ABC T
+AC1 AC5 T
+AC7 AC8 T
+ACD T
+AE2 AE3 T
+B01 T
+B3C T
+B3F T
+B41 B44 T
+B4D T
+B56 T
+B62 B63 T
+B82 T
+BC0 T
+BCD T
+C3E C40 T
+C46 C48 T
+C4A C4D T
+C55 C56 T
+C62 C63 T
+CBC T
+CBF T
+CC6 T
+CCC CCD T
+CE2 CE3 T
+D41 D44 T
+D4D T
+D62 D63 T
+DCA T
+DD2 DD4 T
+DD6 T
+E31 T
+E34 E3A T
+E47 E4E T
+EB1 T
+EB4 EB9 T
+EBB EBC T
+EC8 ECD T
+F18 F19 T
+F35 T
+F37 T
+F39 T
+F71 F7E T
+F80 F84 T
+F86 F87 T
+F8D F97 T
+F99 FBC T
+FC6 T
102D 1030 T
1032 1037 T
1039 103A T
@@ -204,13 +206,19 @@ return <<'END';
17C6 T
17C9 17D3 T
17DD T
+1807 D
+180A C
180B 180D T
+1820 1877 D
+1887 18A8 D
18A9 T
+18AA D
1920 1922 T
1927 1928 T
1932 T
1939 193B T
1A17 1A18 T
+1A1B T
1A56 T
1A58 1A5E T
1A60 T
@@ -261,6 +269,8 @@ A802 T
A806 T
A80B T
A825 A826 T
+A840 A871 D
+A872 L
A8C4 T
A8E0 A8F1 T
A926 A92D T
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
index 3723b1626b3..6c082580ce6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,418 +17,419 @@ $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
-058F PR
-0591 05BD CM
-05BE BA
-05BF CM
-05C0 AL
-05C1 05C2 CM
-05C3 AL
-05C4 05C5 CM
-05C6 EX
-05C7 CM
-05D0 05EA HL
-05F0 05F2 HL
-05F3 05F4 AL
-0600 0604 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
-08A0 AL
-08A2 08AC AL
-08E4 08FE CM
-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
-0AF0 AL
-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 0EDF 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
+0 8 CM
+9 BA
+A LF
+B C BK
+D CR
+E 1F CM
+20 SP
+21 EX
+22 QU
+23 AL
+24 PR
+25 PO
+26 AL
+27 QU
+28 OP
+29 CP
+2A AL
+2B PR
+2C IS
+2D HY
+2E IS
+2F SY
+30 39 NU
+3A 3B IS
+3C 3E AL
+3F EX
+40 5A AL
+5B OP
+5C PR
+5D CP
+5E 7A AL
+7B OP
+7C BA
+7D CL
+7E AL
+7F 84 CM
+85 NL
+86 9F CM
+A0 GL
+A1 OP
+A2 PO
+A3 A5 PR
+A6 AL
+A7 A8 AI
+A9 AL
+AA AI
+AB QU
+AC AL
+AD BA
+AE AF AL
+B0 PO
+B1 PR
+B2 B3 AI
+B4 BB
+B5 AL
+B6 BA AI
+BB QU
+BC BE AI
+BF OP
+C0 D6 AL
+D7 AI
+D8 F6 AL
+F7 AI
+F8 2C6 AL
+2C7 AI
+2C8 BB
+2C9 2CB AI
+2CC BB
+2CD AI
+2CE 2CF AL
+2D0 AI
+2D1 2D7 AL
+2D8 2DB AI
+2DC AL
+2DD AI
+2DE AL
+2DF BB
+2E0 2FF AL
+300 34E CM
+34F GL
+350 35B CM
+35C 362 GL
+363 36F CM
+370 377 AL
+37A 37D AL
+37E IS
+384 38A AL
+38C AL
+38E 3A1 AL
+3A3 482 AL
+483 489 CM
+48A 527 AL
+531 556 AL
+559 55F AL
+561 587 AL
+589 IS
+58A BA
+58F PR
+591 5BD CM
+5BE BA
+5BF CM
+5C0 AL
+5C1 5C2 CM
+5C3 AL
+5C4 5C5 CM
+5C6 EX
+5C7 CM
+5D0 5EA HL
+5F0 5F2 HL
+5F3 5F4 AL
+600 604 AL
+606 608 AL
+609 60B PO
+60C 60D IS
+60E 60F AL
+610 61A CM
+61B EX
+61C CM
+61E 61F EX
+620 64A AL
+64B 65F CM
+660 669 NU
+66A PO
+66B 66C NU
+66D 66F AL
+670 CM
+671 6D3 AL
+6D4 EX
+6D5 AL
+6D6 6DC CM
+6DD 6DE AL
+6DF 6E4 CM
+6E5 6E6 AL
+6E7 6E8 CM
+6E9 AL
+6EA 6ED CM
+6EE 6EF AL
+6F0 6F9 NU
+6FA 70D AL
+70F 710 AL
+711 CM
+712 72F AL
+730 74A CM
+74D 7A5 AL
+7A6 7B0 CM
+7B1 AL
+7C0 7C9 NU
+7CA 7EA AL
+7EB 7F3 CM
+7F4 7F7 AL
+7F8 IS
+7F9 EX
+7FA AL
+800 815 AL
+816 819 CM
+81A AL
+81B 823 CM
+824 AL
+825 827 CM
+828 AL
+829 82D CM
+830 83E AL
+840 858 AL
+859 85B CM
+85E AL
+8A0 AL
+8A2 8AC AL
+8E4 8FE CM
+900 903 CM
+904 939 AL
+93A 93C CM
+93D AL
+93E 94F CM
+950 AL
+951 957 CM
+958 961 AL
+962 963 CM
+964 965 BA
+966 96F NU
+970 977 AL
+979 97F AL
+981 983 CM
+985 98C AL
+98F 990 AL
+993 9A8 AL
+9AA 9B0 AL
+9B2 AL
+9B6 9B9 AL
+9BC CM
+9BD AL
+9BE 9C4 CM
+9C7 9C8 CM
+9CB 9CD CM
+9CE AL
+9D7 CM
+9DC 9DD AL
+9DF 9E1 AL
+9E2 9E3 CM
+9E6 9EF NU
+9F0 9F1 AL
+9F2 9F3 PO
+9F4 9F8 AL
+9F9 PO
+9FA AL
+9FB PR
+A01 A03 CM
+A05 A0A AL
+A0F A10 AL
+A13 A28 AL
+A2A A30 AL
+A32 A33 AL
+A35 A36 AL
+A38 A39 AL
+A3C CM
+A3E A42 CM
+A47 A48 CM
+A4B A4D CM
+A51 CM
+A59 A5C AL
+A5E AL
+A66 A6F NU
+A70 A71 CM
+A72 A74 AL
+A75 CM
+A81 A83 CM
+A85 A8D AL
+A8F A91 AL
+A93 AA8 AL
+AAA AB0 AL
+AB2 AB3 AL
+AB5 AB9 AL
+ABC CM
+ABD AL
+ABE AC5 CM
+AC7 AC9 CM
+ACB ACD CM
+AD0 AL
+AE0 AE1 AL
+AE2 AE3 CM
+AE6 AEF NU
+AF0 AL
+AF1 PR
+B01 B03 CM
+B05 B0C AL
+B0F B10 AL
+B13 B28 AL
+B2A B30 AL
+B32 B33 AL
+B35 B39 AL
+B3C CM
+B3D AL
+B3E B44 CM
+B47 B48 CM
+B4B B4D CM
+B56 B57 CM
+B5C B5D AL
+B5F B61 AL
+B62 B63 CM
+B66 B6F NU
+B70 B77 AL
+B82 CM
+B83 AL
+B85 B8A AL
+B8E B90 AL
+B92 B95 AL
+B99 B9A AL
+B9C AL
+B9E B9F AL
+BA3 BA4 AL
+BA8 BAA AL
+BAE BB9 AL
+BBE BC2 CM
+BC6 BC8 CM
+BCA BCD CM
+BD0 AL
+BD7 CM
+BE6 BEF NU
+BF0 BF8 AL
+BF9 PR
+BFA AL
+C01 C03 CM
+C05 C0C AL
+C0E C10 AL
+C12 C28 AL
+C2A C33 AL
+C35 C39 AL
+C3D AL
+C3E C44 CM
+C46 C48 CM
+C4A C4D CM
+C55 C56 CM
+C58 C59 AL
+C60 C61 AL
+C62 C63 CM
+C66 C6F NU
+C78 C7F AL
+C82 C83 CM
+C85 C8C AL
+C8E C90 AL
+C92 CA8 AL
+CAA CB3 AL
+CB5 CB9 AL
+CBC CM
+CBD AL
+CBE CC4 CM
+CC6 CC8 CM
+CCA CCD CM
+CD5 CD6 CM
+CDE AL
+CE0 CE1 AL
+CE2 CE3 CM
+CE6 CEF NU
+CF1 CF2 AL
+D02 D03 CM
+D05 D0C AL
+D0E D10 AL
+D12 D3A AL
+D3D AL
+D3E D44 CM
+D46 D48 CM
+D4A D4D CM
+D4E AL
+D57 CM
+D60 D61 AL
+D62 D63 CM
+D66 D6F NU
+D70 D75 AL
+D79 PO
+D7A D7F AL
+D82 D83 CM
+D85 D96 AL
+D9A DB1 AL
+DB3 DBB AL
+DBD AL
+DC0 DC6 AL
+DCA CM
+DCF DD4 CM
+DD6 CM
+DD8 DDF CM
+DF2 DF3 CM
+DF4 AL
+E01 E3A SA
+E3F PR
+E40 E4E SA
+E4F AL
+E50 E59 NU
+E5A E5B BA
+E81 E82 SA
+E84 SA
+E87 E88 SA
+E8A SA
+E8D SA
+E94 E97 SA
+E99 E9F SA
+EA1 EA3 SA
+EA5 SA
+EA7 SA
+EAA EAB SA
+EAD EB9 SA
+EBB EBD SA
+EC0 EC4 SA
+EC6 SA
+EC8 ECD SA
+ED0 ED9 NU
+EDC EDF SA
+F00 AL
+F01 F04 BB
+F05 AL
+F06 F07 BB
+F08 GL
+F09 F0A BB
+F0B BA
+F0C GL
+F0D F11 EX
+F12 GL
+F13 AL
+F14 EX
+F15 F17 AL
+F18 F19 CM
+F1A F1F AL
+F20 F29 NU
+F2A F33 AL
+F34 BA
+F35 CM
+F36 AL
+F37 CM
+F38 AL
+F39 CM
+F3A OP
+F3B CL
+F3C OP
+F3D CL
+F3E F3F CM
+F40 F47 AL
+F49 F6C AL
+F71 F7E CM
+F7F BA
+F80 F84 CM
+F85 BA
+F86 F87 CM
+F88 F8C AL
+F8D F97 CM
+F99 FBC CM
+FBE FBF BA
+FC0 FC5 AL
+FC6 CM
+FC7 FCC AL
+FCE FCF AL
+FD0 FD1 BB
+FD2 BA
+FD3 BB
+FD4 FD8 AL
+FD9 FDA GL
1000 103F SA
1040 1049 NU
104A 104B BA
@@ -629,7 +631,7 @@ return <<'END';
205D 205F BA
2060 WJ
2061 2064 AL
-206A 206F CM
+2066 206F CM
2070 2071 AL
2074 AI
2075 207C AL
@@ -646,7 +648,7 @@ return <<'END';
20A7 PO
20A8 20B5 PR
20B6 PO
-20B7 20BA PR
+20B7 20CF PR
20D0 20F0 CM
2100 2102 AL
2103 PO
@@ -969,7 +971,7 @@ return <<'END';
2E9B 2EF3 ID
2F00 2FD5 ID
2FF0 2FFB ID
-3000 ID
+3000 BA
3001 3002 CL
3003 3004 ID
3005 NS
@@ -998,7 +1000,9 @@ return <<'END';
301E 301F CL
3020 3029 ID
302A 302F CM
-3030 303A ID
+3030 3034 ID
+3035 CM
+3036 303A ID
303B 303C NS
303D 303F ID
3041 CJ
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl
index faa61255317..3ec53a78ee9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings in the non-hash portion of this file must be modified to get the
@@ -15,7 +16,7 @@
# 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{'ToLc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToLc'}{'format'} = 'ax'; # mapped value in hex; some entries need adjustment
$utf8::SwashInfo{'ToLc'}{'specials_name'} = 'utf8::ToSpecLc'; # Name of hash of special mappings
$utf8::SwashInfo{'ToLc'}{'missing'} = '0'; # code point maps to itself
@@ -31,622 +32,622 @@ $utf8::SwashInfo{'ToLc'}{'missing'} = '0'; # code point maps to itself
);
return <<'END';
-0041 005A 97
-00C0 00D6 224
-00D8 00DE 248
-0100 257
-0102 259
-0104 261
-0106 263
-0108 265
-010A 267
-010C 269
-010E 271
-0110 273
-0112 275
-0114 277
-0116 279
-0118 281
-011A 283
-011C 285
-011E 287
-0120 289
-0122 291
-0124 293
-0126 295
-0128 297
-012A 299
-012C 301
-012E 303
-0130 105
-0132 307
-0134 309
-0136 311
-0139 314
-013B 316
-013D 318
-013F 320
-0141 322
-0143 324
-0145 326
-0147 328
-014A 331
-014C 333
-014E 335
-0150 337
-0152 339
-0154 341
-0156 343
-0158 345
-015A 347
-015C 349
-015E 351
-0160 353
-0162 355
-0164 357
-0166 359
-0168 361
-016A 363
-016C 365
-016E 367
-0170 369
-0172 371
-0174 373
-0176 375
-0178 255
-0179 378
-017B 380
-017D 382
-0181 595
-0182 387
-0184 389
-0186 596
-0187 392
-0189 018A 598
-018B 396
-018E 477
-018F 601
-0190 603
-0191 402
-0193 608
-0194 611
-0196 617
-0197 616
-0198 409
-019C 623
-019D 626
-019F 629
-01A0 417
-01A2 419
-01A4 421
-01A6 640
-01A7 424
-01A9 643
-01AC 429
-01AE 648
-01AF 432
-01B1 01B2 650
-01B3 436
-01B5 438
-01B7 658
-01B8 441
-01BC 445
-01C4 454
-01C5 454
-01C7 457
-01C8 457
-01CA 460
-01CB 460
-01CD 462
-01CF 464
-01D1 466
-01D3 468
-01D5 470
-01D7 472
-01D9 474
-01DB 476
-01DE 479
-01E0 481
-01E2 483
-01E4 485
-01E6 487
-01E8 489
-01EA 491
-01EC 493
-01EE 495
-01F1 499
-01F2 499
-01F4 501
-01F6 405
-01F7 447
-01F8 505
-01FA 507
-01FC 509
-01FE 511
-0200 513
-0202 515
-0204 517
-0206 519
-0208 521
-020A 523
-020C 525
-020E 527
-0210 529
-0212 531
-0214 533
-0216 535
-0218 537
-021A 539
-021C 541
-021E 543
-0220 414
-0222 547
-0224 549
-0226 551
-0228 553
-022A 555
-022C 557
-022E 559
-0230 561
-0232 563
-023A 11365
-023B 572
-023D 410
-023E 11366
-0241 578
-0243 384
-0244 649
-0245 652
-0246 583
-0248 585
-024A 587
-024C 589
-024E 591
-0370 881
-0372 883
-0376 887
-0386 940
-0388 038A 941
-038C 972
-038E 038F 973
-0391 03A1 945
-03A3 03AB 963
-03CF 983
-03D8 985
-03DA 987
-03DC 989
-03DE 991
-03E0 993
-03E2 995
-03E4 997
-03E6 999
-03E8 1001
-03EA 1003
-03EC 1005
-03EE 1007
-03F4 952
-03F7 1016
-03F9 1010
-03FA 1019
-03FD 03FF 891
-0400 040F 1104
-0410 042F 1072
-0460 1121
-0462 1123
-0464 1125
-0466 1127
-0468 1129
-046A 1131
-046C 1133
-046E 1135
-0470 1137
-0472 1139
-0474 1141
-0476 1143
-0478 1145
-047A 1147
-047C 1149
-047E 1151
-0480 1153
-048A 1163
-048C 1165
-048E 1167
-0490 1169
-0492 1171
-0494 1173
-0496 1175
-0498 1177
-049A 1179
-049C 1181
-049E 1183
-04A0 1185
-04A2 1187
-04A4 1189
-04A6 1191
-04A8 1193
-04AA 1195
-04AC 1197
-04AE 1199
-04B0 1201
-04B2 1203
-04B4 1205
-04B6 1207
-04B8 1209
-04BA 1211
-04BC 1213
-04BE 1215
-04C0 1231
-04C1 1218
-04C3 1220
-04C5 1222
-04C7 1224
-04C9 1226
-04CB 1228
-04CD 1230
-04D0 1233
-04D2 1235
-04D4 1237
-04D6 1239
-04D8 1241
-04DA 1243
-04DC 1245
-04DE 1247
-04E0 1249
-04E2 1251
-04E4 1253
-04E6 1255
-04E8 1257
-04EA 1259
-04EC 1261
-04EE 1263
-04F0 1265
-04F2 1267
-04F4 1269
-04F6 1271
-04F8 1273
-04FA 1275
-04FC 1277
-04FE 1279
-0500 1281
-0502 1283
-0504 1285
-0506 1287
-0508 1289
-050A 1291
-050C 1293
-050E 1295
-0510 1297
-0512 1299
-0514 1301
-0516 1303
-0518 1305
-051A 1307
-051C 1309
-051E 1311
-0520 1313
-0522 1315
-0524 1317
-0526 1319
-0531 0556 1377
-10A0 10C5 11520
-10C7 11559
-10CD 11565
-1E00 7681
-1E02 7683
-1E04 7685
-1E06 7687
-1E08 7689
-1E0A 7691
-1E0C 7693
-1E0E 7695
-1E10 7697
-1E12 7699
-1E14 7701
-1E16 7703
-1E18 7705
-1E1A 7707
-1E1C 7709
-1E1E 7711
-1E20 7713
-1E22 7715
-1E24 7717
-1E26 7719
-1E28 7721
-1E2A 7723
-1E2C 7725
-1E2E 7727
-1E30 7729
-1E32 7731
-1E34 7733
-1E36 7735
-1E38 7737
-1E3A 7739
-1E3C 7741
-1E3E 7743
-1E40 7745
-1E42 7747
-1E44 7749
-1E46 7751
-1E48 7753
-1E4A 7755
-1E4C 7757
-1E4E 7759
-1E50 7761
-1E52 7763
-1E54 7765
-1E56 7767
-1E58 7769
-1E5A 7771
-1E5C 7773
-1E5E 7775
-1E60 7777
-1E62 7779
-1E64 7781
-1E66 7783
-1E68 7785
-1E6A 7787
-1E6C 7789
-1E6E 7791
-1E70 7793
-1E72 7795
-1E74 7797
-1E76 7799
-1E78 7801
-1E7A 7803
-1E7C 7805
-1E7E 7807
-1E80 7809
-1E82 7811
-1E84 7813
-1E86 7815
-1E88 7817
-1E8A 7819
-1E8C 7821
-1E8E 7823
-1E90 7825
-1E92 7827
-1E94 7829
-1E9E 223
-1EA0 7841
-1EA2 7843
-1EA4 7845
-1EA6 7847
-1EA8 7849
-1EAA 7851
-1EAC 7853
-1EAE 7855
-1EB0 7857
-1EB2 7859
-1EB4 7861
-1EB6 7863
-1EB8 7865
-1EBA 7867
-1EBC 7869
-1EBE 7871
-1EC0 7873
-1EC2 7875
-1EC4 7877
-1EC6 7879
-1EC8 7881
-1ECA 7883
-1ECC 7885
-1ECE 7887
-1ED0 7889
-1ED2 7891
-1ED4 7893
-1ED6 7895
-1ED8 7897
-1EDA 7899
-1EDC 7901
-1EDE 7903
-1EE0 7905
-1EE2 7907
-1EE4 7909
-1EE6 7911
-1EE8 7913
-1EEA 7915
-1EEC 7917
-1EEE 7919
-1EF0 7921
-1EF2 7923
-1EF4 7925
-1EF6 7927
-1EF8 7929
-1EFA 7931
-1EFC 7933
-1EFE 7935
-1F08 1F0F 7936
-1F18 1F1D 7952
-1F28 1F2F 7968
-1F38 1F3F 7984
-1F48 1F4D 8000
-1F59 8017
-1F5B 8019
-1F5D 8021
-1F5F 8023
-1F68 1F6F 8032
-1F88 1F8F 8064
-1F98 1F9F 8080
-1FA8 1FAF 8096
-1FB8 1FB9 8112
-1FBA 1FBB 8048
-1FBC 8115
-1FC8 1FCB 8050
-1FCC 8131
-1FD8 1FD9 8144
-1FDA 1FDB 8054
-1FE8 1FE9 8160
-1FEA 1FEB 8058
-1FEC 8165
-1FF8 1FF9 8056
-1FFA 1FFB 8060
-1FFC 8179
-2126 969
-212A 107
-212B 229
-2132 8526
-2160 216F 8560
-2183 8580
-24B6 24CF 9424
-2C00 2C2E 11312
-2C60 11361
-2C62 619
-2C63 7549
-2C64 637
-2C67 11368
-2C69 11370
-2C6B 11372
-2C6D 593
-2C6E 625
-2C6F 592
-2C70 594
-2C72 11379
-2C75 11382
-2C7E 2C7F 575
-2C80 11393
-2C82 11395
-2C84 11397
-2C86 11399
-2C88 11401
-2C8A 11403
-2C8C 11405
-2C8E 11407
-2C90 11409
-2C92 11411
-2C94 11413
-2C96 11415
-2C98 11417
-2C9A 11419
-2C9C 11421
-2C9E 11423
-2CA0 11425
-2CA2 11427
-2CA4 11429
-2CA6 11431
-2CA8 11433
-2CAA 11435
-2CAC 11437
-2CAE 11439
-2CB0 11441
-2CB2 11443
-2CB4 11445
-2CB6 11447
-2CB8 11449
-2CBA 11451
-2CBC 11453
-2CBE 11455
-2CC0 11457
-2CC2 11459
-2CC4 11461
-2CC6 11463
-2CC8 11465
-2CCA 11467
-2CCC 11469
-2CCE 11471
-2CD0 11473
-2CD2 11475
-2CD4 11477
-2CD6 11479
-2CD8 11481
-2CDA 11483
-2CDC 11485
-2CDE 11487
-2CE0 11489
-2CE2 11491
-2CEB 11500
-2CED 11502
-2CF2 11507
-A640 42561
-A642 42563
-A644 42565
-A646 42567
-A648 42569
-A64A 42571
-A64C 42573
-A64E 42575
-A650 42577
-A652 42579
-A654 42581
-A656 42583
-A658 42585
-A65A 42587
-A65C 42589
-A65E 42591
-A660 42593
-A662 42595
-A664 42597
-A666 42599
-A668 42601
-A66A 42603
-A66C 42605
-A680 42625
-A682 42627
-A684 42629
-A686 42631
-A688 42633
-A68A 42635
-A68C 42637
-A68E 42639
-A690 42641
-A692 42643
-A694 42645
-A696 42647
-A722 42787
-A724 42789
-A726 42791
-A728 42793
-A72A 42795
-A72C 42797
-A72E 42799
-A732 42803
-A734 42805
-A736 42807
-A738 42809
-A73A 42811
-A73C 42813
-A73E 42815
-A740 42817
-A742 42819
-A744 42821
-A746 42823
-A748 42825
-A74A 42827
-A74C 42829
-A74E 42831
-A750 42833
-A752 42835
-A754 42837
-A756 42839
-A758 42841
-A75A 42843
-A75C 42845
-A75E 42847
-A760 42849
-A762 42851
-A764 42853
-A766 42855
-A768 42857
-A76A 42859
-A76C 42861
-A76E 42863
-A779 42874
-A77B 42876
-A77D 7545
-A77E 42879
-A780 42881
-A782 42883
-A784 42885
-A786 42887
-A78B 42892
-A78D 613
-A790 42897
-A792 42899
-A7A0 42913
-A7A2 42915
-A7A4 42917
-A7A6 42919
-A7A8 42921
-A7AA 614
-FF21 FF3A 65345
-10400 10427 66600
+41 5A 61
+C0 D6 E0
+D8 DE F8
+100 101
+102 103
+104 105
+106 107
+108 109
+10A 10B
+10C 10D
+10E 10F
+110 111
+112 113
+114 115
+116 117
+118 119
+11A 11B
+11C 11D
+11E 11F
+120 121
+122 123
+124 125
+126 127
+128 129
+12A 12B
+12C 12D
+12E 12F
+130 69
+132 133
+134 135
+136 137
+139 13A
+13B 13C
+13D 13E
+13F 140
+141 142
+143 144
+145 146
+147 148
+14A 14B
+14C 14D
+14E 14F
+150 151
+152 153
+154 155
+156 157
+158 159
+15A 15B
+15C 15D
+15E 15F
+160 161
+162 163
+164 165
+166 167
+168 169
+16A 16B
+16C 16D
+16E 16F
+170 171
+172 173
+174 175
+176 177
+178 FF
+179 17A
+17B 17C
+17D 17E
+181 253
+182 183
+184 185
+186 254
+187 188
+189 18A 256
+18B 18C
+18E 1DD
+18F 259
+190 25B
+191 192
+193 260
+194 263
+196 269
+197 268
+198 199
+19C 26F
+19D 272
+19F 275
+1A0 1A1
+1A2 1A3
+1A4 1A5
+1A6 280
+1A7 1A8
+1A9 283
+1AC 1AD
+1AE 288
+1AF 1B0
+1B1 1B2 28A
+1B3 1B4
+1B5 1B6
+1B7 292
+1B8 1B9
+1BC 1BD
+1C4 1C6
+1C5 1C6
+1C7 1C9
+1C8 1C9
+1CA 1CC
+1CB 1CC
+1CD 1CE
+1CF 1D0
+1D1 1D2
+1D3 1D4
+1D5 1D6
+1D7 1D8
+1D9 1DA
+1DB 1DC
+1DE 1DF
+1E0 1E1
+1E2 1E3
+1E4 1E5
+1E6 1E7
+1E8 1E9
+1EA 1EB
+1EC 1ED
+1EE 1EF
+1F1 1F3
+1F2 1F3
+1F4 1F5
+1F6 195
+1F7 1BF
+1F8 1F9
+1FA 1FB
+1FC 1FD
+1FE 1FF
+200 201
+202 203
+204 205
+206 207
+208 209
+20A 20B
+20C 20D
+20E 20F
+210 211
+212 213
+214 215
+216 217
+218 219
+21A 21B
+21C 21D
+21E 21F
+220 19E
+222 223
+224 225
+226 227
+228 229
+22A 22B
+22C 22D
+22E 22F
+230 231
+232 233
+23A 2C65
+23B 23C
+23D 19A
+23E 2C66
+241 242
+243 180
+244 289
+245 28C
+246 247
+248 249
+24A 24B
+24C 24D
+24E 24F
+370 371
+372 373
+376 377
+386 3AC
+388 38A 3AD
+38C 3CC
+38E 38F 3CD
+391 3A1 3B1
+3A3 3AB 3C3
+3CF 3D7
+3D8 3D9
+3DA 3DB
+3DC 3DD
+3DE 3DF
+3E0 3E1
+3E2 3E3
+3E4 3E5
+3E6 3E7
+3E8 3E9
+3EA 3EB
+3EC 3ED
+3EE 3EF
+3F4 3B8
+3F7 3F8
+3F9 3F2
+3FA 3FB
+3FD 3FF 37B
+400 40F 450
+410 42F 430
+460 461
+462 463
+464 465
+466 467
+468 469
+46A 46B
+46C 46D
+46E 46F
+470 471
+472 473
+474 475
+476 477
+478 479
+47A 47B
+47C 47D
+47E 47F
+480 481
+48A 48B
+48C 48D
+48E 48F
+490 491
+492 493
+494 495
+496 497
+498 499
+49A 49B
+49C 49D
+49E 49F
+4A0 4A1
+4A2 4A3
+4A4 4A5
+4A6 4A7
+4A8 4A9
+4AA 4AB
+4AC 4AD
+4AE 4AF
+4B0 4B1
+4B2 4B3
+4B4 4B5
+4B6 4B7
+4B8 4B9
+4BA 4BB
+4BC 4BD
+4BE 4BF
+4C0 4CF
+4C1 4C2
+4C3 4C4
+4C5 4C6
+4C7 4C8
+4C9 4CA
+4CB 4CC
+4CD 4CE
+4D0 4D1
+4D2 4D3
+4D4 4D5
+4D6 4D7
+4D8 4D9
+4DA 4DB
+4DC 4DD
+4DE 4DF
+4E0 4E1
+4E2 4E3
+4E4 4E5
+4E6 4E7
+4E8 4E9
+4EA 4EB
+4EC 4ED
+4EE 4EF
+4F0 4F1
+4F2 4F3
+4F4 4F5
+4F6 4F7
+4F8 4F9
+4FA 4FB
+4FC 4FD
+4FE 4FF
+500 501
+502 503
+504 505
+506 507
+508 509
+50A 50B
+50C 50D
+50E 50F
+510 511
+512 513
+514 515
+516 517
+518 519
+51A 51B
+51C 51D
+51E 51F
+520 521
+522 523
+524 525
+526 527
+531 556 561
+10A0 10C5 2D00
+10C7 2D27
+10CD 2D2D
+1E00 1E01
+1E02 1E03
+1E04 1E05
+1E06 1E07
+1E08 1E09
+1E0A 1E0B
+1E0C 1E0D
+1E0E 1E0F
+1E10 1E11
+1E12 1E13
+1E14 1E15
+1E16 1E17
+1E18 1E19
+1E1A 1E1B
+1E1C 1E1D
+1E1E 1E1F
+1E20 1E21
+1E22 1E23
+1E24 1E25
+1E26 1E27
+1E28 1E29
+1E2A 1E2B
+1E2C 1E2D
+1E2E 1E2F
+1E30 1E31
+1E32 1E33
+1E34 1E35
+1E36 1E37
+1E38 1E39
+1E3A 1E3B
+1E3C 1E3D
+1E3E 1E3F
+1E40 1E41
+1E42 1E43
+1E44 1E45
+1E46 1E47
+1E48 1E49
+1E4A 1E4B
+1E4C 1E4D
+1E4E 1E4F
+1E50 1E51
+1E52 1E53
+1E54 1E55
+1E56 1E57
+1E58 1E59
+1E5A 1E5B
+1E5C 1E5D
+1E5E 1E5F
+1E60 1E61
+1E62 1E63
+1E64 1E65
+1E66 1E67
+1E68 1E69
+1E6A 1E6B
+1E6C 1E6D
+1E6E 1E6F
+1E70 1E71
+1E72 1E73
+1E74 1E75
+1E76 1E77
+1E78 1E79
+1E7A 1E7B
+1E7C 1E7D
+1E7E 1E7F
+1E80 1E81
+1E82 1E83
+1E84 1E85
+1E86 1E87
+1E88 1E89
+1E8A 1E8B
+1E8C 1E8D
+1E8E 1E8F
+1E90 1E91
+1E92 1E93
+1E94 1E95
+1E9E DF
+1EA0 1EA1
+1EA2 1EA3
+1EA4 1EA5
+1EA6 1EA7
+1EA8 1EA9
+1EAA 1EAB
+1EAC 1EAD
+1EAE 1EAF
+1EB0 1EB1
+1EB2 1EB3
+1EB4 1EB5
+1EB6 1EB7
+1EB8 1EB9
+1EBA 1EBB
+1EBC 1EBD
+1EBE 1EBF
+1EC0 1EC1
+1EC2 1EC3
+1EC4 1EC5
+1EC6 1EC7
+1EC8 1EC9
+1ECA 1ECB
+1ECC 1ECD
+1ECE 1ECF
+1ED0 1ED1
+1ED2 1ED3
+1ED4 1ED5
+1ED6 1ED7
+1ED8 1ED9
+1EDA 1EDB
+1EDC 1EDD
+1EDE 1EDF
+1EE0 1EE1
+1EE2 1EE3
+1EE4 1EE5
+1EE6 1EE7
+1EE8 1EE9
+1EEA 1EEB
+1EEC 1EED
+1EEE 1EEF
+1EF0 1EF1
+1EF2 1EF3
+1EF4 1EF5
+1EF6 1EF7
+1EF8 1EF9
+1EFA 1EFB
+1EFC 1EFD
+1EFE 1EFF
+1F08 1F0F 1F00
+1F18 1F1D 1F10
+1F28 1F2F 1F20
+1F38 1F3F 1F30
+1F48 1F4D 1F40
+1F59 1F51
+1F5B 1F53
+1F5D 1F55
+1F5F 1F57
+1F68 1F6F 1F60
+1F88 1F8F 1F80
+1F98 1F9F 1F90
+1FA8 1FAF 1FA0
+1FB8 1FB9 1FB0
+1FBA 1FBB 1F70
+1FBC 1FB3
+1FC8 1FCB 1F72
+1FCC 1FC3
+1FD8 1FD9 1FD0
+1FDA 1FDB 1F76
+1FE8 1FE9 1FE0
+1FEA 1FEB 1F7A
+1FEC 1FE5
+1FF8 1FF9 1F78
+1FFA 1FFB 1F7C
+1FFC 1FF3
+2126 3C9
+212A 6B
+212B E5
+2132 214E
+2160 216F 2170
+2183 2184
+24B6 24CF 24D0
+2C00 2C2E 2C30
+2C60 2C61
+2C62 26B
+2C63 1D7D
+2C64 27D
+2C67 2C68
+2C69 2C6A
+2C6B 2C6C
+2C6D 251
+2C6E 271
+2C6F 250
+2C70 252
+2C72 2C73
+2C75 2C76
+2C7E 2C7F 23F
+2C80 2C81
+2C82 2C83
+2C84 2C85
+2C86 2C87
+2C88 2C89
+2C8A 2C8B
+2C8C 2C8D
+2C8E 2C8F
+2C90 2C91
+2C92 2C93
+2C94 2C95
+2C96 2C97
+2C98 2C99
+2C9A 2C9B
+2C9C 2C9D
+2C9E 2C9F
+2CA0 2CA1
+2CA2 2CA3
+2CA4 2CA5
+2CA6 2CA7
+2CA8 2CA9
+2CAA 2CAB
+2CAC 2CAD
+2CAE 2CAF
+2CB0 2CB1
+2CB2 2CB3
+2CB4 2CB5
+2CB6 2CB7
+2CB8 2CB9
+2CBA 2CBB
+2CBC 2CBD
+2CBE 2CBF
+2CC0 2CC1
+2CC2 2CC3
+2CC4 2CC5
+2CC6 2CC7
+2CC8 2CC9
+2CCA 2CCB
+2CCC 2CCD
+2CCE 2CCF
+2CD0 2CD1
+2CD2 2CD3
+2CD4 2CD5
+2CD6 2CD7
+2CD8 2CD9
+2CDA 2CDB
+2CDC 2CDD
+2CDE 2CDF
+2CE0 2CE1
+2CE2 2CE3
+2CEB 2CEC
+2CED 2CEE
+2CF2 2CF3
+A640 A641
+A642 A643
+A644 A645
+A646 A647
+A648 A649
+A64A A64B
+A64C A64D
+A64E A64F
+A650 A651
+A652 A653
+A654 A655
+A656 A657
+A658 A659
+A65A A65B
+A65C A65D
+A65E A65F
+A660 A661
+A662 A663
+A664 A665
+A666 A667
+A668 A669
+A66A A66B
+A66C A66D
+A680 A681
+A682 A683
+A684 A685
+A686 A687
+A688 A689
+A68A A68B
+A68C A68D
+A68E A68F
+A690 A691
+A692 A693
+A694 A695
+A696 A697
+A722 A723
+A724 A725
+A726 A727
+A728 A729
+A72A A72B
+A72C A72D
+A72E A72F
+A732 A733
+A734 A735
+A736 A737
+A738 A739
+A73A A73B
+A73C A73D
+A73E A73F
+A740 A741
+A742 A743
+A744 A745
+A746 A747
+A748 A749
+A74A A74B
+A74C A74D
+A74E A74F
+A750 A751
+A752 A753
+A754 A755
+A756 A757
+A758 A759
+A75A A75B
+A75C A75D
+A75E A75F
+A760 A761
+A762 A763
+A764 A765
+A766 A767
+A768 A769
+A76A A76B
+A76C A76D
+A76E A76F
+A779 A77A
+A77B A77C
+A77D 1D79
+A77E A77F
+A780 A781
+A782 A783
+A784 A785
+A786 A787
+A78B A78C
+A78D 265
+A790 A791
+A792 A793
+A7A0 A7A1
+A7A2 A7A3
+A7A4 A7A5
+A7A6 A7A7
+A7A8 A7A9
+A7AA 266
+FF21 FF3A FF41
+10400 10427 10428
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
index 4f74f067c5c..992f9fc6570 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
index 1467c463c07..bf85c80d094 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,63 +17,63 @@ $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
+300 304 M
+306 30C M
+30F M
+311 M
+313 314 M
+31B M
+323 328 M
+32D 32E M
+330 331 M
+338 M
+340 341 N
+342 M
+343 344 N
+345 M
+374 N
+37E N
+387 N
+653 655 M
+93C M
+958 95F N
+9BE M
+9D7 M
+9DC 9DD N
+9DF N
+A33 N
+A36 N
+A59 A5B N
+A5E N
+B3E M
+B56 B57 M
+B5C B5D N
+BBE M
+BD7 M
+C56 M
+CC2 M
+CD5 CD6 M
+D3E M
+D57 M
+DCA M
+DCF M
+DDF M
+F43 N
+F4D N
+F52 N
+F57 N
+F5C N
+F69 N
+F73 N
+F75 F76 N
+F78 N
+F81 N
+F93 N
+F9D N
+FA2 N
+FA7 N
+FAC N
+FB9 N
102E M
1161 1175 M
11A8 11C2 M
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
index 05de08059ed..a24da83e3df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,103 +17,103 @@ $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
+C0 C5 N
+C7 CF N
+D1 D6 N
+D9 DD N
+E0 E5 N
+E7 EF N
+F1 F6 N
+F9 FD N
+FF 10F N
+112 125 N
+128 130 N
+134 137 N
+139 13E N
+143 148 N
+14C 151 N
+154 165 N
+168 17E N
+1A0 1A1 N
+1AF 1B0 N
+1CD 1DC N
+1DE 1E3 N
+1E6 1F0 N
+1F4 1F5 N
+1F8 21B N
+21E 21F N
+226 233 N
+340 341 N
+343 344 N
+374 N
+37E N
+385 38A N
+38C N
+38E 390 N
+3AA 3B0 N
+3CA 3CE N
+3D3 3D4 N
+400 401 N
+403 N
+407 N
+40C 40E N
+419 N
+439 N
+450 451 N
+453 N
+457 N
+45C 45E N
+476 477 N
+4C1 4C2 N
+4D0 4D3 N
+4D6 4D7 N
+4DA 4DF N
+4E2 4E7 N
+4EA 4F5 N
+4F8 4F9 N
+622 626 N
+6C0 N
+6C2 N
+6D3 N
+929 N
+931 N
+934 N
+958 95F N
+9CB 9CC N
+9DC 9DD N
+9DF N
+A33 N
+A36 N
+A59 A5B N
+A5E N
+B48 N
+B4B B4C N
+B5C B5D N
+B94 N
+BCA BCC N
+C48 N
+CC0 N
+CC7 CC8 N
+CCA CCB N
+D4A D4C N
+DDA N
+DDC DDE N
+F43 N
+F4D N
+F52 N
+F57 N
+F5C N
+F69 N
+F73 N
+F75 F76 N
+F78 N
+F81 N
+F93 N
+F9D N
+FA2 N
+FA7 N
+FAC N
+FB9 N
1026 N
1B06 N
1B08 N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
index 0e84c752ad6..7a9e8e5dc49 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
@@ -67,6 +67,7 @@ $utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to i
"\xCE\x84" => "\x{0020}\x{0301}", # U+0384 => 0020 0301
"\xCE\x85" => "\x{0020}\x{0308}\x{0301}", # U+0385 => 0020 0308 0301
"\xD6\x87" => "\x{0565}\x{0582}", # U+0587 => 0565 0582
+"\xD8\x9C" => "", # U+061C =>
"\xD9\xB5" => "\x{0627}\x{0674}", # U+0675 => 0627 0674
"\xD9\xB6" => "\x{0648}\x{0674}", # U+0676 => 0648 0674
"\xD9\xB7" => "\x{06C7}\x{0674}", # U+0677 => 06C7 0674
@@ -120,6 +121,7 @@ $utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to i
"\xE1\xA0\x8B" => "", # U+180B =>
"\xE1\xA0\x8C" => "", # U+180C =>
"\xE1\xA0\x8D" => "", # U+180D =>
+"\xE1\xA0\x8E" => "", # U+180E =>
"\xE1\xBA\x9A" => "\x{0061}\x{02BE}", # U+1E9A => 0061 02BE
"\xE1\xBA\x9E" => "\x{0073}\x{0073}", # U+1E9E => 0073 0073
"\xE1\xBE\x80" => "\x{1F00}\x{03B9}", # U+1F80 => 1F00 03B9
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
index 5e39ed93e5e..7c17e493280 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,90 +17,90 @@ $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
+A0 N
+A8 N
+AA N
+AF N
+B2 B5 N
+B8 BA N
+BC BE N
+132 133 N
+13F 140 N
+149 N
+17F N
+1C4 1CC N
+1F1 1F3 N
+2B0 2B8 N
+2D8 2DD N
+2E0 2E4 N
+300 304 M
+306 30C M
+30F M
+311 M
+313 314 M
+31B M
+323 328 M
+32D 32E M
+330 331 M
+338 M
+340 341 N
+342 M
+343 344 N
+345 M
+374 N
+37A N
+37E N
+384 385 N
+387 N
+3D0 3D6 N
+3F0 3F2 N
+3F4 3F5 N
+3F9 N
+587 N
+653 655 M
+675 678 N
+93C M
+958 95F N
+9BE M
+9D7 M
+9DC 9DD N
+9DF N
+A33 N
+A36 N
+A59 A5B N
+A5E N
+B3E M
+B56 B57 M
+B5C B5D N
+BBE M
+BD7 M
+C56 M
+CC2 M
+CD5 CD6 M
+D3E M
+D57 M
+DCA M
+DCF M
+DDF M
+E33 N
+EB3 N
+EDC EDD N
+F0C N
+F43 N
+F4D N
+F52 N
+F57 N
+F5C N
+F69 N
+F73 N
+F75 F79 N
+F81 N
+F93 N
+F9D N
+FA2 N
+FA7 N
+FAC N
+FB9 N
102E M
10FC N
1161 1175 M
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
index c2ea089ef57..faf420ad12b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,121 +17,121 @@ $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
+A0 N
+A8 N
+AA N
+AF N
+B2 B5 N
+B8 BA N
+BC BE N
+C0 C5 N
+C7 CF N
+D1 D6 N
+D9 DD N
+E0 E5 N
+E7 EF N
+F1 F6 N
+F9 FD N
+FF 10F N
+112 125 N
+128 130 N
+132 137 N
+139 140 N
+143 149 N
+14C 151 N
+154 165 N
+168 17F N
+1A0 1A1 N
+1AF 1B0 N
+1C4 1DC N
+1DE 1E3 N
+1E6 1F5 N
+1F8 21B N
+21E 21F N
+226 233 N
+2B0 2B8 N
+2D8 2DD N
+2E0 2E4 N
+340 341 N
+343 344 N
+374 N
+37A N
+37E N
+384 38A N
+38C N
+38E 390 N
+3AA 3B0 N
+3CA 3CE N
+3D0 3D6 N
+3F0 3F2 N
+3F4 3F5 N
+3F9 N
+400 401 N
+403 N
+407 N
+40C 40E N
+419 N
+439 N
+450 451 N
+453 N
+457 N
+45C 45E N
+476 477 N
+4C1 4C2 N
+4D0 4D3 N
+4D6 4D7 N
+4DA 4DF N
+4E2 4E7 N
+4EA 4F5 N
+4F8 4F9 N
+587 N
+622 626 N
+675 678 N
+6C0 N
+6C2 N
+6D3 N
+929 N
+931 N
+934 N
+958 95F N
+9CB 9CC N
+9DC 9DD N
+9DF N
+A33 N
+A36 N
+A59 A5B N
+A5E N
+B48 N
+B4B B4C N
+B5C B5D N
+B94 N
+BCA BCC N
+C48 N
+CC0 N
+CC7 CC8 N
+CCA CCB N
+D4A D4C N
+DDA N
+DDC DDE N
+E33 N
+EB3 N
+EDC EDD N
+F0C N
+F43 N
+F4D N
+F52 N
+F57 N
+F5C N
+F69 N
+F73 N
+F75 F79 N
+F81 N
+F93 N
+F9D N
+FA2 N
+FA7 N
+FAC N
+FB9 N
1026 N
10FC N
1B06 N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
index 85f5a86f204..1aa15947dbb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,864 +17,864 @@ $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
+0 NULL
+1 START OF HEADING
+2 START OF TEXT
+3 END OF TEXT
+4 END OF TRANSMISSION
+5 ENQUIRY
+6 ACKNOWLEDGE
+7 BELL
+8 BACKSPACE
+9 CHARACTER TABULATION
+A LINE FEED (LF)
+B LINE TABULATION
+C FORM FEED (FF)
+D CARRIAGE RETURN (CR)
+E SHIFT OUT
+F SHIFT IN
+10 DATA LINK ESCAPE
+11 DEVICE CONTROL ONE
+12 DEVICE CONTROL TWO
+13 DEVICE CONTROL THREE
+14 DEVICE CONTROL FOUR
+15 NEGATIVE ACKNOWLEDGE
+16 SYNCHRONOUS IDLE
+17 END OF TRANSMISSION BLOCK
+18 CANCEL
+19 END OF MEDIUM
+1A SUBSTITUTE
+1B ESCAPE
+1C INFORMATION SEPARATOR FOUR
+1D INFORMATION SEPARATOR THREE
+1E INFORMATION SEPARATOR TWO
+1F INFORMATION SEPARATOR ONE
+27 APOSTROPHE-QUOTE
+28 OPENING PARENTHESIS
+29 CLOSING PARENTHESIS
+2E PERIOD
+2F SLASH
+5B OPENING SQUARE BRACKET
+5C BACKSLASH
+5D CLOSING SQUARE BRACKET
+5E SPACING CIRCUMFLEX
+5F SPACING UNDERSCORE
+60 SPACING GRAVE
+7B OPENING CURLY BRACKET
+7C VERTICAL BAR
+7D CLOSING CURLY BRACKET
+7F DELETE
+82 BREAK PERMITTED HERE
+83 NO BREAK HERE
+85 NEXT LINE (NEL)
+86 START OF SELECTED AREA
+87 END OF SELECTED AREA
+88 CHARACTER TABULATION SET
+89 CHARACTER TABULATION WITH JUSTIFICATION
+8A LINE TABULATION SET
+8B PARTIAL LINE FORWARD
+8C PARTIAL LINE BACKWARD
+8D REVERSE LINE FEED
+8E SINGLE SHIFT TWO
+8F SINGLE SHIFT THREE
+90 DEVICE CONTROL STRING
+91 PRIVATE USE ONE
+92 PRIVATE USE TWO
+93 SET TRANSMIT STATE
+94 CANCEL CHARACTER
+95 MESSAGE WAITING
+96 START OF GUARDED AREA
+97 END OF GUARDED AREA
+98 START OF STRING
+9A SINGLE CHARACTER INTRODUCER
+9B CONTROL SEQUENCE INTRODUCER
+9C STRING TERMINATOR
+9D OPERATING SYSTEM COMMAND
+9E PRIVACY MESSAGE
+9F APPLICATION PROGRAM COMMAND
+A0 NON-BREAKING SPACE
+A6 BROKEN VERTICAL BAR
+A8 SPACING DIAERESIS
+AB LEFT POINTING GUILLEMET
+AE REGISTERED TRADE MARK SIGN
+AF SPACING MACRON
+B1 PLUS-OR-MINUS SIGN
+B2 SUPERSCRIPT DIGIT TWO
+B3 SUPERSCRIPT DIGIT THREE
+B4 SPACING ACUTE
+B6 PARAGRAPH SIGN
+B8 SPACING CEDILLA
+B9 SUPERSCRIPT DIGIT ONE
+BB RIGHT POINTING GUILLEMET
+BC FRACTION ONE QUARTER
+BD FRACTION ONE HALF
+BE FRACTION THREE QUARTERS
+C0 LATIN CAPITAL LETTER A GRAVE
+C1 LATIN CAPITAL LETTER A ACUTE
+C2 LATIN CAPITAL LETTER A CIRCUMFLEX
+C3 LATIN CAPITAL LETTER A TILDE
+C4 LATIN CAPITAL LETTER A DIAERESIS
+C5 LATIN CAPITAL LETTER A RING
+C6 LATIN CAPITAL LETTER A E
+C7 LATIN CAPITAL LETTER C CEDILLA
+C8 LATIN CAPITAL LETTER E GRAVE
+C9 LATIN CAPITAL LETTER E ACUTE
+CA LATIN CAPITAL LETTER E CIRCUMFLEX
+CB LATIN CAPITAL LETTER E DIAERESIS
+CC LATIN CAPITAL LETTER I GRAVE
+CD LATIN CAPITAL LETTER I ACUTE
+CE LATIN CAPITAL LETTER I CIRCUMFLEX
+CF LATIN CAPITAL LETTER I DIAERESIS
+D1 LATIN CAPITAL LETTER N TILDE
+D2 LATIN CAPITAL LETTER O GRAVE
+D3 LATIN CAPITAL LETTER O ACUTE
+D4 LATIN CAPITAL LETTER O CIRCUMFLEX
+D5 LATIN CAPITAL LETTER O TILDE
+D6 LATIN CAPITAL LETTER O DIAERESIS
+D8 LATIN CAPITAL LETTER O SLASH
+D9 LATIN CAPITAL LETTER U GRAVE
+DA LATIN CAPITAL LETTER U ACUTE
+DB LATIN CAPITAL LETTER U CIRCUMFLEX
+DC LATIN CAPITAL LETTER U DIAERESIS
+DD LATIN CAPITAL LETTER Y ACUTE
+E0 LATIN SMALL LETTER A GRAVE
+E1 LATIN SMALL LETTER A ACUTE
+E2 LATIN SMALL LETTER A CIRCUMFLEX
+E3 LATIN SMALL LETTER A TILDE
+E4 LATIN SMALL LETTER A DIAERESIS
+E5 LATIN SMALL LETTER A RING
+E6 LATIN SMALL LETTER A E
+E7 LATIN SMALL LETTER C CEDILLA
+E8 LATIN SMALL LETTER E GRAVE
+E9 LATIN SMALL LETTER E ACUTE
+EA LATIN SMALL LETTER E CIRCUMFLEX
+EB LATIN SMALL LETTER E DIAERESIS
+EC LATIN SMALL LETTER I GRAVE
+ED LATIN SMALL LETTER I ACUTE
+EE LATIN SMALL LETTER I CIRCUMFLEX
+EF LATIN SMALL LETTER I DIAERESIS
+F1 LATIN SMALL LETTER N TILDE
+F2 LATIN SMALL LETTER O GRAVE
+F3 LATIN SMALL LETTER O ACUTE
+F4 LATIN SMALL LETTER O CIRCUMFLEX
+F5 LATIN SMALL LETTER O TILDE
+F6 LATIN SMALL LETTER O DIAERESIS
+F8 LATIN SMALL LETTER O SLASH
+F9 LATIN SMALL LETTER U GRAVE
+FA LATIN SMALL LETTER U ACUTE
+FB LATIN SMALL LETTER U CIRCUMFLEX
+FC LATIN SMALL LETTER U DIAERESIS
+FD LATIN SMALL LETTER Y ACUTE
+FF LATIN SMALL LETTER Y DIAERESIS
+100 LATIN CAPITAL LETTER A MACRON
+101 LATIN SMALL LETTER A MACRON
+102 LATIN CAPITAL LETTER A BREVE
+103 LATIN SMALL LETTER A BREVE
+104 LATIN CAPITAL LETTER A OGONEK
+105 LATIN SMALL LETTER A OGONEK
+106 LATIN CAPITAL LETTER C ACUTE
+107 LATIN SMALL LETTER C ACUTE
+108 LATIN CAPITAL LETTER C CIRCUMFLEX
+109 LATIN SMALL LETTER C CIRCUMFLEX
+10A LATIN CAPITAL LETTER C DOT
+10B LATIN SMALL LETTER C DOT
+10C LATIN CAPITAL LETTER C HACEK
+10D LATIN SMALL LETTER C HACEK
+10E LATIN CAPITAL LETTER D HACEK
+10F LATIN SMALL LETTER D HACEK
+110 LATIN CAPITAL LETTER D BAR
+111 LATIN SMALL LETTER D BAR
+112 LATIN CAPITAL LETTER E MACRON
+113 LATIN SMALL LETTER E MACRON
+114 LATIN CAPITAL LETTER E BREVE
+115 LATIN SMALL LETTER E BREVE
+116 LATIN CAPITAL LETTER E DOT
+117 LATIN SMALL LETTER E DOT
+118 LATIN CAPITAL LETTER E OGONEK
+119 LATIN SMALL LETTER E OGONEK
+11A LATIN CAPITAL LETTER E HACEK
+11B LATIN SMALL LETTER E HACEK
+11C LATIN CAPITAL LETTER G CIRCUMFLEX
+11D LATIN SMALL LETTER G CIRCUMFLEX
+11E LATIN CAPITAL LETTER G BREVE
+11F LATIN SMALL LETTER G BREVE
+120 LATIN CAPITAL LETTER G DOT
+121 LATIN SMALL LETTER G DOT
+122 LATIN CAPITAL LETTER G CEDILLA
+123 LATIN SMALL LETTER G CEDILLA
+124 LATIN CAPITAL LETTER H CIRCUMFLEX
+125 LATIN SMALL LETTER H CIRCUMFLEX
+126 LATIN CAPITAL LETTER H BAR
+127 LATIN SMALL LETTER H BAR
+128 LATIN CAPITAL LETTER I TILDE
+129 LATIN SMALL LETTER I TILDE
+12A LATIN CAPITAL LETTER I MACRON
+12B LATIN SMALL LETTER I MACRON
+12C LATIN CAPITAL LETTER I BREVE
+12D LATIN SMALL LETTER I BREVE
+12E LATIN CAPITAL LETTER I OGONEK
+12F LATIN SMALL LETTER I OGONEK
+130 LATIN CAPITAL LETTER I DOT
+132 LATIN CAPITAL LETTER I J
+133 LATIN SMALL LETTER I J
+134 LATIN CAPITAL LETTER J CIRCUMFLEX
+135 LATIN SMALL LETTER J CIRCUMFLEX
+136 LATIN CAPITAL LETTER K CEDILLA
+137 LATIN SMALL LETTER K CEDILLA
+139 LATIN CAPITAL LETTER L ACUTE
+13A LATIN SMALL LETTER L ACUTE
+13B LATIN CAPITAL LETTER L CEDILLA
+13C LATIN SMALL LETTER L CEDILLA
+13D LATIN CAPITAL LETTER L HACEK
+13E LATIN SMALL LETTER L HACEK
+141 LATIN CAPITAL LETTER L SLASH
+142 LATIN SMALL LETTER L SLASH
+143 LATIN CAPITAL LETTER N ACUTE
+144 LATIN SMALL LETTER N ACUTE
+145 LATIN CAPITAL LETTER N CEDILLA
+146 LATIN SMALL LETTER N CEDILLA
+147 LATIN CAPITAL LETTER N HACEK
+148 LATIN SMALL LETTER N HACEK
+149 LATIN SMALL LETTER APOSTROPHE N
+14C LATIN CAPITAL LETTER O MACRON
+14D LATIN SMALL LETTER O MACRON
+14E LATIN CAPITAL LETTER O BREVE
+14F LATIN SMALL LETTER O BREVE
+150 LATIN CAPITAL LETTER O DOUBLE ACUTE
+151 LATIN SMALL LETTER O DOUBLE ACUTE
+152 LATIN CAPITAL LETTER O E
+153 LATIN SMALL LETTER O E
+154 LATIN CAPITAL LETTER R ACUTE
+155 LATIN SMALL LETTER R ACUTE
+156 LATIN CAPITAL LETTER R CEDILLA
+157 LATIN SMALL LETTER R CEDILLA
+158 LATIN CAPITAL LETTER R HACEK
+159 LATIN SMALL LETTER R HACEK
+15A LATIN CAPITAL LETTER S ACUTE
+15B LATIN SMALL LETTER S ACUTE
+15C LATIN CAPITAL LETTER S CIRCUMFLEX
+15D LATIN SMALL LETTER S CIRCUMFLEX
+15E LATIN CAPITAL LETTER S CEDILLA
+15F LATIN SMALL LETTER S CEDILLA
+160 LATIN CAPITAL LETTER S HACEK
+161 LATIN SMALL LETTER S HACEK
+162 LATIN CAPITAL LETTER T CEDILLA
+163 LATIN SMALL LETTER T CEDILLA
+164 LATIN CAPITAL LETTER T HACEK
+165 LATIN SMALL LETTER T HACEK
+166 LATIN CAPITAL LETTER T BAR
+167 LATIN SMALL LETTER T BAR
+168 LATIN CAPITAL LETTER U TILDE
+169 LATIN SMALL LETTER U TILDE
+16A LATIN CAPITAL LETTER U MACRON
+16B LATIN SMALL LETTER U MACRON
+16C LATIN CAPITAL LETTER U BREVE
+16D LATIN SMALL LETTER U BREVE
+16E LATIN CAPITAL LETTER U RING
+16F LATIN SMALL LETTER U RING
+170 LATIN CAPITAL LETTER U DOUBLE ACUTE
+171 LATIN SMALL LETTER U DOUBLE ACUTE
+172 LATIN CAPITAL LETTER U OGONEK
+173 LATIN SMALL LETTER U OGONEK
+174 LATIN CAPITAL LETTER W CIRCUMFLEX
+175 LATIN SMALL LETTER W CIRCUMFLEX
+176 LATIN CAPITAL LETTER Y CIRCUMFLEX
+177 LATIN SMALL LETTER Y CIRCUMFLEX
+178 LATIN CAPITAL LETTER Y DIAERESIS
+179 LATIN CAPITAL LETTER Z ACUTE
+17A LATIN SMALL LETTER Z ACUTE
+17B LATIN CAPITAL LETTER Z DOT
+17C LATIN SMALL LETTER Z DOT
+17D LATIN CAPITAL LETTER Z HACEK
+17E LATIN SMALL LETTER Z HACEK
+180 LATIN SMALL LETTER B BAR
+181 LATIN CAPITAL LETTER B HOOK
+182 LATIN CAPITAL LETTER B TOPBAR
+183 LATIN SMALL LETTER B TOPBAR
+187 LATIN CAPITAL LETTER C HOOK
+188 LATIN SMALL LETTER C HOOK
+18A LATIN CAPITAL LETTER D HOOK
+18B LATIN CAPITAL LETTER D TOPBAR
+18C LATIN SMALL LETTER D TOPBAR
+18E LATIN CAPITAL LETTER TURNED E
+190 LATIN CAPITAL LETTER EPSILON
+191 LATIN CAPITAL LETTER F HOOK
+192 LATIN SMALL LETTER SCRIPT F
+193 LATIN CAPITAL LETTER G HOOK
+195 LATIN SMALL LETTER H V
+197 LATIN CAPITAL LETTER BARRED I
+198 LATIN CAPITAL LETTER K HOOK
+199 LATIN SMALL LETTER K HOOK
+19A LATIN SMALL LETTER BARRED L
+19B LATIN SMALL LETTER BARRED LAMBDA
+19D LATIN CAPITAL LETTER N HOOK
+19F LATIN CAPITAL LETTER BARRED O
+1A0 LATIN CAPITAL LETTER O HORN
+1A1 LATIN SMALL LETTER O HORN
+1A2 LATIN CAPITAL LETTER O I
+1A3 LATIN SMALL LETTER O I
+1A4 LATIN CAPITAL LETTER P HOOK
+1A5 LATIN SMALL LETTER P HOOK
+1A6 LATIN LETTER Y R
+1AB LATIN SMALL LETTER T PALATAL HOOK
+1AC LATIN CAPITAL LETTER T HOOK
+1AD LATIN SMALL LETTER T HOOK
+1AE LATIN CAPITAL LETTER T RETROFLEX HOOK
+1AF LATIN CAPITAL LETTER U HORN
+1B0 LATIN SMALL LETTER U HORN
+1B2 LATIN CAPITAL LETTER SCRIPT V
+1B3 LATIN CAPITAL LETTER Y HOOK
+1B4 LATIN SMALL LETTER Y HOOK
+1B5 LATIN CAPITAL LETTER Z BAR
+1B6 LATIN SMALL LETTER Z BAR
+1B7 LATIN CAPITAL LETTER YOGH
+1B8 LATIN CAPITAL LETTER REVERSED YOGH
+1B9 LATIN SMALL LETTER REVERSED YOGH
+1BA LATIN SMALL LETTER YOGH WITH TAIL
+1BB LATIN LETTER TWO BAR
+1BE LATIN LETTER INVERTED GLOTTAL STOP BAR
+1C0 LATIN LETTER PIPE
+1C1 LATIN LETTER DOUBLE PIPE
+1C2 LATIN LETTER PIPE DOUBLE BAR
+1C3 LATIN LETTER EXCLAMATION MARK
+1C4 LATIN CAPITAL LETTER D Z HACEK
+1C5 LATIN LETTER CAPITAL D SMALL Z HACEK
+1C6 LATIN SMALL LETTER D Z HACEK
+1C7 LATIN CAPITAL LETTER L J
+1C8 LATIN LETTER CAPITAL L SMALL J
+1C9 LATIN SMALL LETTER L J
+1CA LATIN CAPITAL LETTER N J
+1CB LATIN LETTER CAPITAL N SMALL J
+1CC LATIN SMALL LETTER N J
+1CD LATIN CAPITAL LETTER A HACEK
+1CE LATIN SMALL LETTER A HACEK
+1CF LATIN CAPITAL LETTER I HACEK
+1D0 LATIN SMALL LETTER I HACEK
+1D1 LATIN CAPITAL LETTER O HACEK
+1D2 LATIN SMALL LETTER O HACEK
+1D3 LATIN CAPITAL LETTER U HACEK
+1D4 LATIN SMALL LETTER U HACEK
+1D5 LATIN CAPITAL LETTER U DIAERESIS MACRON
+1D6 LATIN SMALL LETTER U DIAERESIS MACRON
+1D7 LATIN CAPITAL LETTER U DIAERESIS ACUTE
+1D8 LATIN SMALL LETTER U DIAERESIS ACUTE
+1D9 LATIN CAPITAL LETTER U DIAERESIS HACEK
+1DA LATIN SMALL LETTER U DIAERESIS HACEK
+1DB LATIN CAPITAL LETTER U DIAERESIS GRAVE
+1DC LATIN SMALL LETTER U DIAERESIS GRAVE
+1DE LATIN CAPITAL LETTER A DIAERESIS MACRON
+1DF LATIN SMALL LETTER A DIAERESIS MACRON
+1E0 LATIN CAPITAL LETTER A DOT MACRON
+1E1 LATIN SMALL LETTER A DOT MACRON
+1E2 LATIN CAPITAL LETTER A E MACRON
+1E3 LATIN SMALL LETTER A E MACRON
+1E4 LATIN CAPITAL LETTER G BAR
+1E5 LATIN SMALL LETTER G BAR
+1E6 LATIN CAPITAL LETTER G HACEK
+1E7 LATIN SMALL LETTER G HACEK
+1E8 LATIN CAPITAL LETTER K HACEK
+1E9 LATIN SMALL LETTER K HACEK
+1EA LATIN CAPITAL LETTER O OGONEK
+1EB LATIN SMALL LETTER O OGONEK
+1EC LATIN CAPITAL LETTER O OGONEK MACRON
+1ED LATIN SMALL LETTER O OGONEK MACRON
+1EE LATIN CAPITAL LETTER YOGH HACEK
+1EF LATIN SMALL LETTER YOGH HACEK
+1F0 LATIN SMALL LETTER J HACEK
+251 LATIN SMALL LETTER SCRIPT A
+252 LATIN SMALL LETTER TURNED SCRIPT A
+253 LATIN SMALL LETTER B HOOK
+255 LATIN SMALL LETTER C CURL
+256 LATIN SMALL LETTER D RETROFLEX HOOK
+257 LATIN SMALL LETTER D HOOK
+25A LATIN SMALL LETTER SCHWA HOOK
+25B LATIN SMALL LETTER EPSILON
+25C LATIN SMALL LETTER REVERSED EPSILON
+25D LATIN SMALL LETTER REVERSED EPSILON HOOK
+25E LATIN SMALL LETTER CLOSED REVERSED EPSILON
+25F LATIN SMALL LETTER DOTLESS J BAR
+260 LATIN SMALL LETTER G HOOK
+264 LATIN SMALL LETTER BABY GAMMA
+266 LATIN SMALL LETTER H HOOK
+267 LATIN SMALL LETTER HENG HOOK
+268 LATIN SMALL LETTER BARRED I
+26C LATIN SMALL LETTER L BELT
+26D LATIN SMALL LETTER L RETROFLEX HOOK
+26E LATIN SMALL LETTER L YOGH
+271 LATIN SMALL LETTER M HOOK
+272 LATIN SMALL LETTER N HOOK
+273 LATIN SMALL LETTER N RETROFLEX HOOK
+276 LATIN LETTER SMALL CAPITAL O E
+27B LATIN SMALL LETTER TURNED R HOOK
+27D LATIN SMALL LETTER R HOOK
+27E LATIN SMALL LETTER FISHHOOK R
+27F LATIN SMALL LETTER REVERSED FISHHOOK R
+282 LATIN SMALL LETTER S HOOK
+284 LATIN SMALL LETTER DOTLESS J BAR HOOK
+286 LATIN SMALL LETTER ESH CURL
+288 LATIN SMALL LETTER T RETROFLEX HOOK
+28B LATIN SMALL LETTER SCRIPT V
+290 LATIN SMALL LETTER Z RETROFLEX HOOK
+291 LATIN SMALL LETTER Z CURL
+292 LATIN SMALL LETTER YOGH
+293 LATIN SMALL LETTER YOGH CURL
+295 LATIN LETTER REVERSED GLOTTAL STOP
+298 LATIN LETTER BULLSEYE
+29A LATIN SMALL LETTER CLOSED EPSILON
+29B LATIN LETTER SMALL CAPITAL G HOOK
+29D LATIN SMALL LETTER CROSSED-TAIL J
+2A0 LATIN SMALL LETTER Q HOOK
+2A1 LATIN LETTER GLOTTAL STOP BAR
+2A2 LATIN LETTER REVERSED GLOTTAL STOP BAR
+2A3 LATIN SMALL LETTER D Z
+2A4 LATIN SMALL LETTER D YOGH
+2A5 LATIN SMALL LETTER D Z CURL
+2A6 LATIN SMALL LETTER T S
+2A7 LATIN SMALL LETTER T ESH
+2A8 LATIN SMALL LETTER T C CURL
+2B1 MODIFIER LETTER SMALL H HOOK
+2B5 MODIFIER LETTER SMALL TURNED R HOOK
+2C6 MODIFIER LETTER CIRCUMFLEX
+2C7 MODIFIER LETTER HACEK
+2CA MODIFIER LETTER ACUTE
+2CB MODIFIER LETTER GRAVE
+2CE MODIFIER LETTER LOW GRAVE
+2CF MODIFIER LETTER LOW ACUTE
+2D2 MODIFIER LETTER CENTERED RIGHT HALF RING
+2D3 MODIFIER LETTER CENTERED LEFT HALF RING
+2D8 SPACING BREVE
+2D9 SPACING DOT ABOVE
+2DA SPACING RING ABOVE
+2DB SPACING OGONEK
+2DC SPACING TILDE
+2DD SPACING DOUBLE ACUTE
+300 NON-SPACING GRAVE
+301 NON-SPACING ACUTE
+302 NON-SPACING CIRCUMFLEX
+303 NON-SPACING TILDE
+304 NON-SPACING MACRON
+305 NON-SPACING OVERSCORE
+306 NON-SPACING BREVE
+307 NON-SPACING DOT ABOVE
+308 NON-SPACING DIAERESIS
+309 NON-SPACING HOOK ABOVE
+30A NON-SPACING RING ABOVE
+30B NON-SPACING DOUBLE ACUTE
+30C NON-SPACING HACEK
+30D NON-SPACING VERTICAL LINE ABOVE
+30E NON-SPACING DOUBLE VERTICAL LINE ABOVE
+30F NON-SPACING DOUBLE GRAVE
+310 NON-SPACING CANDRABINDU
+311 NON-SPACING INVERTED BREVE
+312 NON-SPACING TURNED COMMA ABOVE
+313 NON-SPACING COMMA ABOVE
+314 NON-SPACING REVERSED COMMA ABOVE
+315 NON-SPACING COMMA ABOVE RIGHT
+316 NON-SPACING GRAVE BELOW
+317 NON-SPACING ACUTE BELOW
+318 NON-SPACING LEFT TACK BELOW
+319 NON-SPACING RIGHT TACK BELOW
+31A NON-SPACING LEFT ANGLE ABOVE
+31B NON-SPACING HORN
+31C NON-SPACING LEFT HALF RING BELOW
+31D NON-SPACING UP TACK BELOW
+31E NON-SPACING DOWN TACK BELOW
+31F NON-SPACING PLUS SIGN BELOW
+320 NON-SPACING MINUS SIGN BELOW
+321 NON-SPACING PALATALIZED HOOK BELOW
+322 NON-SPACING RETROFLEX HOOK BELOW
+323 NON-SPACING DOT BELOW
+324 NON-SPACING DOUBLE DOT BELOW
+325 NON-SPACING RING BELOW
+326 NON-SPACING COMMA BELOW
+327 NON-SPACING CEDILLA
+328 NON-SPACING OGONEK
+329 NON-SPACING VERTICAL LINE BELOW
+32A NON-SPACING BRIDGE BELOW
+32B NON-SPACING INVERTED DOUBLE ARCH BELOW
+32C NON-SPACING HACEK BELOW
+32D NON-SPACING CIRCUMFLEX BELOW
+32E NON-SPACING BREVE BELOW
+32F NON-SPACING INVERTED BREVE BELOW
+330 NON-SPACING TILDE BELOW
+331 NON-SPACING MACRON BELOW
+332 NON-SPACING UNDERSCORE
+333 NON-SPACING DOUBLE UNDERSCORE
+334 NON-SPACING TILDE OVERLAY
+335 NON-SPACING SHORT BAR OVERLAY
+336 NON-SPACING LONG BAR OVERLAY
+337 NON-SPACING SHORT SLASH OVERLAY
+338 NON-SPACING LONG SLASH OVERLAY
+339 NON-SPACING RIGHT HALF RING BELOW
+33A NON-SPACING INVERTED BRIDGE BELOW
+33B NON-SPACING SQUARE BELOW
+33C NON-SPACING SEAGULL BELOW
+33D NON-SPACING X ABOVE
+33E NON-SPACING VERTICAL TILDE
+33F NON-SPACING DOUBLE OVERSCORE
+340 NON-SPACING GRAVE TONE MARK
+341 NON-SPACING ACUTE TONE MARK
+344 GREEK NON-SPACING DIAERESIS TONOS
+345 GREEK NON-SPACING IOTA BELOW
+374 GREEK UPPER NUMERAL SIGN
+37A GREEK SPACING IOTA BELOW
+384 GREEK SPACING TONOS
+385 GREEK SPACING DIAERESIS TONOS
+386 GREEK CAPITAL LETTER ALPHA TONOS
+388 GREEK CAPITAL LETTER EPSILON TONOS
+389 GREEK CAPITAL LETTER ETA TONOS
+38A GREEK CAPITAL LETTER IOTA TONOS
+38C GREEK CAPITAL LETTER OMICRON TONOS
+38E GREEK CAPITAL LETTER UPSILON TONOS
+38F GREEK CAPITAL LETTER OMEGA TONOS
+390 GREEK SMALL LETTER IOTA DIAERESIS TONOS
+39B GREEK CAPITAL LETTER LAMBDA
+3AA GREEK CAPITAL LETTER IOTA DIAERESIS
+3AB GREEK CAPITAL LETTER UPSILON DIAERESIS
+3AC GREEK SMALL LETTER ALPHA TONOS
+3AD GREEK SMALL LETTER EPSILON TONOS
+3AE GREEK SMALL LETTER ETA TONOS
+3AF GREEK SMALL LETTER IOTA TONOS
+3B0 GREEK SMALL LETTER UPSILON DIAERESIS TONOS
+3BB GREEK SMALL LETTER LAMBDA
+3CA GREEK SMALL LETTER IOTA DIAERESIS
+3CB GREEK SMALL LETTER UPSILON DIAERESIS
+3CC GREEK SMALL LETTER OMICRON TONOS
+3CD GREEK SMALL LETTER UPSILON TONOS
+3CE GREEK SMALL LETTER OMEGA TONOS
+3D0 GREEK SMALL LETTER CURLED BETA
+3D1 GREEK SMALL LETTER SCRIPT THETA
+3D2 GREEK CAPITAL LETTER UPSILON HOOK
+3D3 GREEK CAPITAL LETTER UPSILON HOOK TONOS
+3D4 GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS
+3D5 GREEK SMALL LETTER SCRIPT PHI
+3D6 GREEK SMALL LETTER OMEGA PI
+3DA GREEK CAPITAL LETTER STIGMA
+3DC GREEK CAPITAL LETTER DIGAMMA
+3DE GREEK CAPITAL LETTER KOPPA
+3E0 GREEK CAPITAL LETTER SAMPI
+3E2 GREEK CAPITAL LETTER SHEI
+3E3 GREEK SMALL LETTER SHEI
+3E4 GREEK CAPITAL LETTER FEI
+3E5 GREEK SMALL LETTER FEI
+3E6 GREEK CAPITAL LETTER KHEI
+3E7 GREEK SMALL LETTER KHEI
+3E8 GREEK CAPITAL LETTER HORI
+3E9 GREEK SMALL LETTER HORI
+3EA GREEK CAPITAL LETTER GANGIA
+3EB GREEK SMALL LETTER GANGIA
+3EC GREEK CAPITAL LETTER SHIMA
+3ED GREEK SMALL LETTER SHIMA
+3EE GREEK CAPITAL LETTER DEI
+3EF GREEK SMALL LETTER DEI
+3F0 GREEK SMALL LETTER SCRIPT KAPPA
+3F1 GREEK SMALL LETTER TAILED RHO
+3F2 GREEK SMALL LETTER LUNATE SIGMA
+404 CYRILLIC CAPITAL LETTER E
+406 CYRILLIC CAPITAL LETTER I
+413 CYRILLIC CAPITAL LETTER GE
+418 CYRILLIC CAPITAL LETTER II
+419 CYRILLIC CAPITAL LETTER SHORT II
+425 CYRILLIC CAPITAL LETTER KHA
+42B CYRILLIC CAPITAL LETTER YERI
+42D CYRILLIC CAPITAL LETTER REVERSED E
+42E CYRILLIC CAPITAL LETTER IU
+42F CYRILLIC CAPITAL LETTER IA
+433 CYRILLIC SMALL LETTER GE
+438 CYRILLIC SMALL LETTER II
+439 CYRILLIC SMALL LETTER SHORT II
+445 CYRILLIC SMALL LETTER KHA
+44B CYRILLIC SMALL LETTER YERI
+44D CYRILLIC SMALL LETTER REVERSED E
+44E CYRILLIC SMALL LETTER IU
+44F CYRILLIC SMALL LETTER IA
+454 CYRILLIC SMALL LETTER E
+456 CYRILLIC SMALL LETTER I
+476 CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE
+477 CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE
+478 CYRILLIC CAPITAL LETTER UK DIGRAPH
+479 CYRILLIC SMALL LETTER UK DIGRAPH
+47C CYRILLIC CAPITAL LETTER OMEGA TITLO
+47D CYRILLIC SMALL LETTER OMEGA TITLO
+483 CYRILLIC NON-SPACING TITLO
+484 CYRILLIC NON-SPACING PALATALIZATION
+485 CYRILLIC NON-SPACING DASIA PNEUMATA
+486 CYRILLIC NON-SPACING PSILI PNEUMATA
+490 CYRILLIC CAPITAL LETTER GE WITH UPTURN
+491 CYRILLIC SMALL LETTER GE WITH UPTURN
+492 CYRILLIC CAPITAL LETTER GE BAR
+493 CYRILLIC SMALL LETTER GE BAR
+494 CYRILLIC CAPITAL LETTER GE HOOK
+495 CYRILLIC SMALL LETTER GE HOOK
+496 CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER
+497 CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER
+498 CYRILLIC CAPITAL LETTER ZE CEDILLA
+499 CYRILLIC SMALL LETTER ZE CEDILLA
+49A CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER
+49B CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER
+49C CYRILLIC CAPITAL LETTER KA VERTICAL BAR
+49D CYRILLIC SMALL LETTER KA VERTICAL BAR
+49E CYRILLIC CAPITAL LETTER KA BAR
+49F CYRILLIC SMALL LETTER KA BAR
+4A0 CYRILLIC CAPITAL LETTER REVERSED GE KA
+4A1 CYRILLIC SMALL LETTER REVERSED GE KA
+4A2 CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER
+4A3 CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER
+4A4 CYRILLIC CAPITAL LETTER EN GE
+4A5 CYRILLIC SMALL LETTER EN GE
+4A6 CYRILLIC CAPITAL LETTER PE HOOK
+4A7 CYRILLIC SMALL LETTER PE HOOK
+4A8 CYRILLIC CAPITAL LETTER O HOOK
+4A9 CYRILLIC SMALL LETTER O HOOK
+4AA CYRILLIC CAPITAL LETTER ES CEDILLA
+4AB CYRILLIC SMALL LETTER ES CEDILLA
+4AC CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER
+4AD CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER
+4B0 CYRILLIC CAPITAL LETTER STRAIGHT U BAR
+4B1 CYRILLIC SMALL LETTER STRAIGHT U BAR
+4B2 CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER
+4B3 CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER
+4B4 CYRILLIC CAPITAL LETTER TE TSE
+4B5 CYRILLIC SMALL LETTER TE TSE
+4B6 CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER
+4B7 CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER
+4B8 CYRILLIC CAPITAL LETTER CHE VERTICAL BAR
+4B9 CYRILLIC SMALL LETTER CHE VERTICAL BAR
+4BA CYRILLIC CAPITAL LETTER H
+4BB CYRILLIC SMALL LETTER H
+4BC CYRILLIC CAPITAL LETTER IE HOOK
+4BD CYRILLIC SMALL LETTER IE HOOK
+4BE CYRILLIC CAPITAL LETTER IE HOOK OGONEK
+4BF CYRILLIC SMALL LETTER IE HOOK OGONEK
+4C0 CYRILLIC LETTER I
+4C1 CYRILLIC CAPITAL LETTER SHORT ZHE
+4C2 CYRILLIC SMALL LETTER SHORT ZHE
+4C3 CYRILLIC CAPITAL LETTER KA HOOK
+4C4 CYRILLIC SMALL LETTER KA HOOK
+4C7 CYRILLIC CAPITAL LETTER EN HOOK
+4C8 CYRILLIC SMALL LETTER EN HOOK
+4CB CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER
+4CC CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER
+542 ARMENIAN CAPITAL LETTER LAD
+55A ARMENIAN MODIFIER LETTER RIGHT HALF RING
+572 ARMENIAN SMALL LETTER LAD
+589 ARMENIAN PERIOD
+5BC HEBREW POINT DAGESH
+5C0 HEBREW POINT PASEQ
+5F0 HEBREW LETTER DOUBLE VAV
+5F1 HEBREW LETTER VAV YOD
+5F2 HEBREW LETTER DOUBLE YOD
+621 ARABIC LETTER HAMZAH
+622 ARABIC LETTER MADDAH ON ALEF
+623 ARABIC LETTER HAMZAH ON ALEF
+624 ARABIC LETTER HAMZAH ON WAW
+625 ARABIC LETTER HAMZAH UNDER ALEF
+626 ARABIC LETTER HAMZAH ON YA
+628 ARABIC LETTER BAA
+629 ARABIC LETTER TAA MARBUTAH
+62A ARABIC LETTER TAA
+62B ARABIC LETTER THAA
+62D ARABIC LETTER HAA
+62E ARABIC LETTER KHAA
+631 ARABIC LETTER RA
+638 ARABIC LETTER DHAH
+641 ARABIC LETTER FA
+643 ARABIC LETTER CAF
+647 ARABIC LETTER HA
+649 ARABIC LETTER ALEF MAQSURAH
+64A ARABIC LETTER YA
+64E ARABIC FATHAH
+64F ARABIC DAMMAH
+650 ARABIC KASRAH
+651 ARABIC SHADDAH
+670 ARABIC ALEF ABOVE
+671 ARABIC LETTER HAMZAT WASL ON ALEF
+672 ARABIC LETTER WAVY HAMZAH ON ALEF
+673 ARABIC LETTER WAVY HAMZAH UNDER ALEF
+674 ARABIC LETTER HIGH HAMZAH
+675 ARABIC LETTER HIGH HAMZAH ALEF
+676 ARABIC LETTER HIGH HAMZAH WAW
+677 ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH
+678 ARABIC LETTER HIGH HAMZAH YA
+679 ARABIC LETTER TAA WITH SMALL TAH
+67A ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE
+67B ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW
+67C ARABIC LETTER TAA WITH RING
+67D ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD
+67E ARABIC LETTER TAA WITH THREE DOTS BELOW
+67F ARABIC LETTER TAA WITH FOUR DOTS ABOVE
+680 ARABIC LETTER BAA WITH FOUR DOTS BELOW
+681 ARABIC LETTER HAMZAH ON HAA
+682 ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE
+683 ARABIC LETTER HAA WITH MIDDLE TWO DOTS
+684 ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL
+685 ARABIC LETTER HAA WITH THREE DOTS ABOVE
+686 ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD
+687 ARABIC LETTER HAA WITH MIDDLE FOUR DOTS
+688 ARABIC LETTER DAL WITH SMALL TAH
+68C ARABIC LETTER DAL WITH TWO DOTS ABOVE
+68D ARABIC LETTER DAL WITH TWO DOTS BELOW
+68E ARABIC LETTER DAL WITH THREE DOTS ABOVE
+68F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD
+691 ARABIC LETTER RA WITH SMALL TAH
+692 ARABIC LETTER RA WITH SMALL V
+693 ARABIC LETTER RA WITH RING
+694 ARABIC LETTER RA WITH DOT BELOW
+695 ARABIC LETTER RA WITH SMALL V BELOW
+696 ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE
+697 ARABIC LETTER RA WITH TWO DOTS ABOVE
+698 ARABIC LETTER RA WITH THREE DOTS ABOVE
+699 ARABIC LETTER RA WITH FOUR DOTS ABOVE
+6A1 ARABIC LETTER DOTLESS FA
+6A2 ARABIC LETTER FA WITH DOT MOVED BELOW
+6A3 ARABIC LETTER FA WITH DOT BELOW
+6A4 ARABIC LETTER FA WITH THREE DOTS ABOVE
+6A5 ARABIC LETTER FA WITH THREE DOTS BELOW
+6A6 ARABIC LETTER FA WITH FOUR DOTS ABOVE
+6A9 ARABIC LETTER OPEN CAF
+6AA ARABIC LETTER SWASH CAF
+6AB ARABIC LETTER CAF WITH RING
+6AC ARABIC LETTER CAF WITH DOT ABOVE
+6AD ARABIC LETTER CAF WITH THREE DOTS ABOVE
+6AE ARABIC LETTER CAF WITH THREE DOTS BELOW
+6B1 ARABIC LETTER GAF WITH TWO DOTS ABOVE
+6B3 ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW
+6BA ARABIC LETTER DOTLESS NOON
+6BB ARABIC LETTER DOTLESS NOON WITH SMALL TAH
+6BE ARABIC LETTER KNOTTED HA
+6C0 ARABIC LETTER HAMZAH ON HA
+6C1 ARABIC LETTER HA GOAL
+6C2 ARABIC LETTER HAMZAH ON HA GOAL
+6C3 ARABIC LETTER TAA MARBUTAH GOAL
+6C5 ARABIC LETTER WAW WITH BAR
+6C6 ARABIC LETTER WAW WITH SMALL V
+6C7 ARABIC LETTER WAW WITH DAMMAH
+6C8 ARABIC LETTER WAW WITH ALEF ABOVE
+6C9 ARABIC LETTER WAW WITH INVERTED SMALL V
+6CB ARABIC LETTER WAW WITH THREE DOTS ABOVE
+6CC ARABIC LETTER DOTLESS YA
+6CD ARABIC LETTER YA WITH TAIL
+6CE ARABIC LETTER YA WITH SMALL V
+6D0 ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW
+6D1 ARABIC LETTER YA WITH THREE DOTS BELOW
+6D2 ARABIC LETTER YA BARREE
+6D3 ARABIC LETTER HAMZAH ON YA BARREE
+6D4 ARABIC PERIOD
+6F0 EASTERN ARABIC-INDIC DIGIT ZERO
+6F1 EASTERN ARABIC-INDIC DIGIT ONE
+6F2 EASTERN ARABIC-INDIC DIGIT TWO
+6F3 EASTERN ARABIC-INDIC DIGIT THREE
+6F4 EASTERN ARABIC-INDIC DIGIT FOUR
+6F5 EASTERN ARABIC-INDIC DIGIT FIVE
+6F6 EASTERN ARABIC-INDIC DIGIT SIX
+6F7 EASTERN ARABIC-INDIC DIGIT SEVEN
+6F8 EASTERN ARABIC-INDIC DIGIT EIGHT
+6F9 EASTERN ARABIC-INDIC DIGIT NINE
+9F1 BENGALI LETTER VA WITH LOWER DIAGONAL
+E01 THAI LETTER KO KAI
+E02 THAI LETTER KHO KHAI
+E03 THAI LETTER KHO KHUAT
+E04 THAI LETTER KHO KHWAI
+E05 THAI LETTER KHO KHON
+E06 THAI LETTER KHO RAKHANG
+E07 THAI LETTER NGO NGU
+E08 THAI LETTER CHO CHAN
+E09 THAI LETTER CHO CHING
+E0A THAI LETTER CHO CHANG
+E0B THAI LETTER SO SO
+E0C THAI LETTER CHO CHOE
+E0D THAI LETTER YO YING
+E0E THAI LETTER DO CHADA
+E0F THAI LETTER TO PATAK
+E10 THAI LETTER THO THAN
+E11 THAI LETTER THO NANGMONTHO
+E12 THAI LETTER THO PHUTHAO
+E13 THAI LETTER NO NEN
+E14 THAI LETTER DO DEK
+E15 THAI LETTER TO TAO
+E16 THAI LETTER THO THUNG
+E17 THAI LETTER THO THAHAN
+E18 THAI LETTER THO THONG
+E19 THAI LETTER NO NU
+E1A THAI LETTER BO BAIMAI
+E1B THAI LETTER PO PLA
+E1C THAI LETTER PHO PHUNG
+E1D THAI LETTER FO FA
+E1E THAI LETTER PHO PHAN
+E1F THAI LETTER FO FAN
+E20 THAI LETTER PHO SAMPHAO
+E21 THAI LETTER MO MA
+E22 THAI LETTER YO YAK
+E23 THAI LETTER RO RUA
+E24 THAI LETTER RU
+E25 THAI LETTER LO LING
+E26 THAI LETTER LU
+E27 THAI LETTER WO WAEN
+E28 THAI LETTER SO SALA
+E29 THAI LETTER SO RUSI
+E2A THAI LETTER SO SUA
+E2B THAI LETTER HO HIP
+E2C THAI LETTER LO CHULA
+E2D THAI LETTER O ANG
+E2E THAI LETTER HO NOK HUK
+E2F THAI PAI YAN NOI
+E30 THAI VOWEL SIGN SARA A
+E31 THAI VOWEL SIGN MAI HAN-AKAT
+E32 THAI VOWEL SIGN SARA AA
+E33 THAI VOWEL SIGN SARA AM
+E34 THAI VOWEL SIGN SARA I
+E35 THAI VOWEL SIGN SARA II
+E36 THAI VOWEL SIGN SARA UE
+E37 THAI VOWEL SIGN SARA UEE
+E38 THAI VOWEL SIGN SARA U
+E39 THAI VOWEL SIGN SARA UU
+E3A THAI VOWEL SIGN PHINTHU
+E3F THAI BAHT SIGN
+E40 THAI VOWEL SIGN SARA E
+E41 THAI VOWEL SIGN SARA AE
+E42 THAI VOWEL SIGN SARA O
+E43 THAI VOWEL SIGN SARA MAI MUAN
+E44 THAI VOWEL SIGN SARA MAI MALAI
+E45 THAI LAK KHANG YAO
+E46 THAI MAI YAMOK
+E47 THAI VOWEL SIGN MAI TAI KHU
+E48 THAI TONE MAI EK
+E49 THAI TONE MAI THO
+E4A THAI TONE MAI TRI
+E4B THAI TONE MAI CHATTAWA
+E4C THAI THANTHAKHAT
+E4D THAI NIKKHAHIT
+E4E THAI YAMAKKAN
+E4F THAI FONGMAN
+E5A THAI ANGKHANKHU
+E5B THAI KHOMUT
+F04 TIBETAN SINGLE ORNAMENT
+F08 TIBETAN RGYANSHAD
+F0B TIBETAN TSEG
+F0D TIBETAN SHAD
+F0E TIBETAN DOUBLE SHAD
+F11 TIBETAN RINCHANPHUNGSHAD
+F14 TIBETAN COMMA
+F35 TIBETAN HONORIFIC UNDER RING
+F37 TIBETAN UNDER RING
+F39 TIBETAN LENITION MARK
+F3C TIBETAN LEFT BRACE
+F3D TIBETAN RIGHT BRACE
+F4A TIBETAN LETTER REVERSED TA
+F4B TIBETAN LETTER REVERSED THA
+F4C TIBETAN LETTER REVERSED DA
+F4E TIBETAN LETTER REVERSED NA
+F60 TIBETAN LETTER AA
+F65 TIBETAN LETTER REVERSED SHA
+F7B TIBETAN VOWEL SIGN AI
+F7D TIBETAN VOWEL SIGN AU
+F7E TIBETAN ANUSVARA
+F7F TIBETAN VISARGA
+F80 TIBETAN VOWEL SIGN SHORT I
+F82 TIBETAN CANDRABINDU WITH ORNAMENT
+F83 TIBETAN CANDRABINDU
+F84 TIBETAN VIRAMA
+F85 TIBETAN CHUCHENYIGE
10D0 GEORGIAN SMALL LETTER AN
10D1 GEORGIAN SMALL LETTER BAN
10D2 GEORGIAN SMALL LETTER GAN
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl b/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl
index 02110dfe236..f43c951b9c5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,174 +17,175 @@ $utf8::SwashInfo{'ToNameAlias'}{'format'} = 's'; # string
$utf8::SwashInfo{'ToNameAlias'}{'missing'} = ''; # code point maps to the null string
return <<'END';
-0000 NULL: control
-0000 NUL: abbreviation
-0001 START OF HEADING: control
-0001 SOH: abbreviation
-0002 START OF TEXT: control
-0002 STX: abbreviation
-0003 END OF TEXT: control
-0003 ETX: abbreviation
-0004 END OF TRANSMISSION: control
-0004 EOT: abbreviation
-0005 ENQUIRY: control
-0005 ENQ: abbreviation
-0006 ACKNOWLEDGE: control
-0006 ACK: abbreviation
-0007 ALERT: control
-0007 BEL: abbreviation
-0008 BACKSPACE: control
-0008 BS: abbreviation
-0009 CHARACTER TABULATION: control
-0009 HORIZONTAL TABULATION: control
-0009 HT: abbreviation
-0009 TAB: abbreviation
-000A LINE FEED: control
-000A NEW LINE: control
-000A END OF LINE: control
-000A LF: abbreviation
-000A NL: abbreviation
-000A EOL: abbreviation
-000B LINE TABULATION: control
-000B VERTICAL TABULATION: control
-000B VT: abbreviation
-000C FORM FEED: control
-000C FF: abbreviation
-000D CARRIAGE RETURN: control
-000D CR: abbreviation
-000E SHIFT OUT: control
-000E LOCKING-SHIFT ONE: control
-000E SO: abbreviation
-000F SHIFT IN: control
-000F LOCKING-SHIFT ZERO: control
-000F SI: abbreviation
-0010 DATA LINK ESCAPE: control
-0010 DLE: abbreviation
-0011 DEVICE CONTROL ONE: control
-0011 DC1: abbreviation
-0012 DEVICE CONTROL TWO: control
-0012 DC2: abbreviation
-0013 DEVICE CONTROL THREE: control
-0013 DC3: abbreviation
-0014 DEVICE CONTROL FOUR: control
-0014 DC4: abbreviation
-0015 NEGATIVE ACKNOWLEDGE: control
-0015 NAK: abbreviation
-0016 SYNCHRONOUS IDLE: control
-0016 SYN: abbreviation
-0017 END OF TRANSMISSION BLOCK: control
-0017 ETB: abbreviation
-0018 CANCEL: control
-0018 CAN: abbreviation
-0019 END OF MEDIUM: control
-0019 EOM: abbreviation
-001A SUBSTITUTE: control
-001A SUB: abbreviation
-001B ESCAPE: control
-001B ESC: abbreviation
-001C INFORMATION SEPARATOR FOUR: control
-001C FILE SEPARATOR: control
-001C FS: abbreviation
-001D INFORMATION SEPARATOR THREE: control
-001D GROUP SEPARATOR: control
-001D GS: abbreviation
-001E INFORMATION SEPARATOR TWO: control
-001E RECORD SEPARATOR: control
-001E RS: abbreviation
-001F INFORMATION SEPARATOR ONE: control
-001F UNIT SEPARATOR: control
-001F US: abbreviation
-0020 SP: abbreviation
-007F DELETE: control
-007F DEL: abbreviation
-0080 PADDING CHARACTER: figment
-0080 PAD: abbreviation
-0081 HIGH OCTET PRESET: figment
-0081 HOP: abbreviation
-0082 BREAK PERMITTED HERE: control
-0082 BPH: abbreviation
-0083 NO BREAK HERE: control
-0083 NBH: abbreviation
-0084 INDEX: control
-0084 IND: abbreviation
-0085 NEXT LINE: control
-0085 NEL: abbreviation
-0086 START OF SELECTED AREA: control
-0086 SSA: abbreviation
-0087 END OF SELECTED AREA: control
-0087 ESA: abbreviation
-0088 CHARACTER TABULATION SET: control
-0088 HORIZONTAL TABULATION SET: control
-0088 HTS: abbreviation
-0089 CHARACTER TABULATION WITH JUSTIFICATION: control
-0089 HORIZONTAL TABULATION WITH JUSTIFICATION: control
-0089 HTJ: abbreviation
-008A LINE TABULATION SET: control
-008A VERTICAL TABULATION SET: control
-008A VTS: abbreviation
-008B PARTIAL LINE FORWARD: control
-008B PARTIAL LINE DOWN: control
-008B PLD: abbreviation
-008C PARTIAL LINE BACKWARD: control
-008C PARTIAL LINE UP: control
-008C PLU: abbreviation
-008D REVERSE LINE FEED: control
-008D REVERSE INDEX: control
-008D RI: abbreviation
-008E SINGLE SHIFT TWO: control
-008E SINGLE-SHIFT-2: control
-008E SS2: abbreviation
-008F SINGLE SHIFT THREE: control
-008F SINGLE-SHIFT-3: control
-008F SS3: abbreviation
-0090 DEVICE CONTROL STRING: control
-0090 DCS: abbreviation
-0091 PRIVATE USE ONE: control
-0091 PRIVATE USE-1: control
-0091 PU1: abbreviation
-0092 PRIVATE USE TWO: control
-0092 PRIVATE USE-2: control
-0092 PU2: abbreviation
-0093 SET TRANSMIT STATE: control
-0093 STS: abbreviation
-0094 CANCEL CHARACTER: control
-0094 CCH: abbreviation
-0095 MESSAGE WAITING: control
-0095 MW: abbreviation
-0096 START OF GUARDED AREA: control
-0096 START OF PROTECTED AREA: control
-0096 SPA: abbreviation
-0097 END OF GUARDED AREA: control
-0097 END OF PROTECTED AREA: control
-0097 EPA: abbreviation
-0098 START OF STRING: control
-0098 SOS: abbreviation
-0099 SINGLE GRAPHIC CHARACTER INTRODUCER: figment
-0099 SGC: abbreviation
-009A SINGLE CHARACTER INTRODUCER: control
-009A SCI: abbreviation
-009B CONTROL SEQUENCE INTRODUCER: control
-009B CSI: abbreviation
-009C STRING TERMINATOR: control
-009C ST: abbreviation
-009D OPERATING SYSTEM COMMAND: control
-009D OSC: abbreviation
-009E PRIVACY MESSAGE: control
-009E PM: abbreviation
-009F APPLICATION PROGRAM COMMAND: control
-009F APC: abbreviation
-00A0 NBSP: abbreviation
-00AD SHY: abbreviation
-01A2 LATIN CAPITAL LETTER GHA: correction
-01A3 LATIN SMALL LETTER GHA: correction
-034F CGJ: abbreviation
-0709 SYRIAC SUBLINEAR COLON SKEWED LEFT: correction
-0CDE KANNADA LETTER LLLA: correction
-0E9D LAO LETTER FO FON: correction
-0E9F LAO LETTER FO FAY: correction
-0EA3 LAO LETTER RO: correction
-0EA5 LAO LETTER LO: correction
-0FD0 TIBETAN MARK BKA- SHOG GI MGO RGYAN: correction
+0 NULL: control
+0 NUL: abbreviation
+1 START OF HEADING: control
+1 SOH: abbreviation
+2 START OF TEXT: control
+2 STX: abbreviation
+3 END OF TEXT: control
+3 ETX: abbreviation
+4 END OF TRANSMISSION: control
+4 EOT: abbreviation
+5 ENQUIRY: control
+5 ENQ: abbreviation
+6 ACKNOWLEDGE: control
+6 ACK: abbreviation
+7 ALERT: control
+7 BEL: abbreviation
+8 BACKSPACE: control
+8 BS: abbreviation
+9 CHARACTER TABULATION: control
+9 HORIZONTAL TABULATION: control
+9 HT: abbreviation
+9 TAB: abbreviation
+A LINE FEED: control
+A NEW LINE: control
+A END OF LINE: control
+A LF: abbreviation
+A NL: abbreviation
+A EOL: abbreviation
+B LINE TABULATION: control
+B VERTICAL TABULATION: control
+B VT: abbreviation
+C FORM FEED: control
+C FF: abbreviation
+D CARRIAGE RETURN: control
+D CR: abbreviation
+E SHIFT OUT: control
+E LOCKING-SHIFT ONE: control
+E SO: abbreviation
+F SHIFT IN: control
+F LOCKING-SHIFT ZERO: control
+F SI: abbreviation
+10 DATA LINK ESCAPE: control
+10 DLE: abbreviation
+11 DEVICE CONTROL ONE: control
+11 DC1: abbreviation
+12 DEVICE CONTROL TWO: control
+12 DC2: abbreviation
+13 DEVICE CONTROL THREE: control
+13 DC3: abbreviation
+14 DEVICE CONTROL FOUR: control
+14 DC4: abbreviation
+15 NEGATIVE ACKNOWLEDGE: control
+15 NAK: abbreviation
+16 SYNCHRONOUS IDLE: control
+16 SYN: abbreviation
+17 END OF TRANSMISSION BLOCK: control
+17 ETB: abbreviation
+18 CANCEL: control
+18 CAN: abbreviation
+19 END OF MEDIUM: control
+19 EOM: abbreviation
+1A SUBSTITUTE: control
+1A SUB: abbreviation
+1B ESCAPE: control
+1B ESC: abbreviation
+1C INFORMATION SEPARATOR FOUR: control
+1C FILE SEPARATOR: control
+1C FS: abbreviation
+1D INFORMATION SEPARATOR THREE: control
+1D GROUP SEPARATOR: control
+1D GS: abbreviation
+1E INFORMATION SEPARATOR TWO: control
+1E RECORD SEPARATOR: control
+1E RS: abbreviation
+1F INFORMATION SEPARATOR ONE: control
+1F UNIT SEPARATOR: control
+1F US: abbreviation
+20 SP: abbreviation
+7F DELETE: control
+7F DEL: abbreviation
+80 PADDING CHARACTER: figment
+80 PAD: abbreviation
+81 HIGH OCTET PRESET: figment
+81 HOP: abbreviation
+82 BREAK PERMITTED HERE: control
+82 BPH: abbreviation
+83 NO BREAK HERE: control
+83 NBH: abbreviation
+84 INDEX: control
+84 IND: abbreviation
+85 NEXT LINE: control
+85 NEL: abbreviation
+86 START OF SELECTED AREA: control
+86 SSA: abbreviation
+87 END OF SELECTED AREA: control
+87 ESA: abbreviation
+88 CHARACTER TABULATION SET: control
+88 HORIZONTAL TABULATION SET: control
+88 HTS: abbreviation
+89 CHARACTER TABULATION WITH JUSTIFICATION: control
+89 HORIZONTAL TABULATION WITH JUSTIFICATION: control
+89 HTJ: abbreviation
+8A LINE TABULATION SET: control
+8A VERTICAL TABULATION SET: control
+8A VTS: abbreviation
+8B PARTIAL LINE FORWARD: control
+8B PARTIAL LINE DOWN: control
+8B PLD: abbreviation
+8C PARTIAL LINE BACKWARD: control
+8C PARTIAL LINE UP: control
+8C PLU: abbreviation
+8D REVERSE LINE FEED: control
+8D REVERSE INDEX: control
+8D RI: abbreviation
+8E SINGLE SHIFT TWO: control
+8E SINGLE-SHIFT-2: control
+8E SS2: abbreviation
+8F SINGLE SHIFT THREE: control
+8F SINGLE-SHIFT-3: control
+8F SS3: abbreviation
+90 DEVICE CONTROL STRING: control
+90 DCS: abbreviation
+91 PRIVATE USE ONE: control
+91 PRIVATE USE-1: control
+91 PU1: abbreviation
+92 PRIVATE USE TWO: control
+92 PRIVATE USE-2: control
+92 PU2: abbreviation
+93 SET TRANSMIT STATE: control
+93 STS: abbreviation
+94 CANCEL CHARACTER: control
+94 CCH: abbreviation
+95 MESSAGE WAITING: control
+95 MW: abbreviation
+96 START OF GUARDED AREA: control
+96 START OF PROTECTED AREA: control
+96 SPA: abbreviation
+97 END OF GUARDED AREA: control
+97 END OF PROTECTED AREA: control
+97 EPA: abbreviation
+98 START OF STRING: control
+98 SOS: abbreviation
+99 SINGLE GRAPHIC CHARACTER INTRODUCER: figment
+99 SGC: abbreviation
+9A SINGLE CHARACTER INTRODUCER: control
+9A SCI: abbreviation
+9B CONTROL SEQUENCE INTRODUCER: control
+9B CSI: abbreviation
+9C STRING TERMINATOR: control
+9C ST: abbreviation
+9D OPERATING SYSTEM COMMAND: control
+9D OSC: abbreviation
+9E PRIVACY MESSAGE: control
+9E PM: abbreviation
+9F APPLICATION PROGRAM COMMAND: control
+9F APC: abbreviation
+A0 NBSP: abbreviation
+AD SHY: abbreviation
+1A2 LATIN CAPITAL LETTER GHA: correction
+1A3 LATIN SMALL LETTER GHA: correction
+34F CGJ: abbreviation
+61C ALM: abbreviation
+709 SYRIAC SUBLINEAR COLON SKEWED LEFT: correction
+CDE KANNADA LETTER LLLA: correction
+E9D LAO LETTER FO FON: correction
+E9F LAO LETTER FO FAY: correction
+EA3 LAO LETTER RO: correction
+EA5 LAO LETTER LO: correction
+FD0 TIBETAN MARK BKA- SHOG GI MGO RGYAN: correction
180B FVS1: abbreviation
180C FVS2: abbreviation
180D FVS3: abbreviation
@@ -201,6 +203,10 @@ return <<'END';
202F NNBSP: abbreviation
205F MMSP: abbreviation
2060 WJ: abbreviation
+2066 LRI: abbreviation
+2067 RLI: abbreviation
+2068 FSI: abbreviation
+2069 PDI: abbreviation
2118 WEIERSTRASS ELLIPTIC FUNCTION: correction
2448 MICR ON US SYMBOL: correction
2449 MICR DASH SYMBOL: correction
@@ -225,6 +231,8 @@ FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET: correction
FEFF BYTE ORDER MARK: alternate
FEFF BOM: abbreviation
FEFF ZWNBSP: abbreviation
+122D4 CUNEIFORM SIGN NU11 TENU: correction
+122D5 CUNEIFORM SIGN NU11 OVER NU11 BUR OVER BUR: correction
1D0C5 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS: correction
E0100 VS17: abbreviation
E0101 VS18: abbreviation
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
index 6c84b98f509..4f1d7236eb6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,31 +17,31 @@ $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
+30 39 Decimal
+B2 B3 Digit
+B9 Digit
+BC BE Numeric
+660 669 Decimal
+6F0 6F9 Decimal
+7C0 7C9 Decimal
+966 96F Decimal
+9E6 9EF Decimal
+9F4 9F9 Numeric
+A66 A6F Decimal
+AE6 AEF Decimal
+B66 B6F Decimal
+B72 B77 Numeric
+BE6 BEF Decimal
+BF0 BF2 Numeric
+C66 C6F Decimal
+C78 C7E Numeric
+CE6 CEF Decimal
+D66 D6F Decimal
+D70 D75 Numeric
+E50 E59 Decimal
+ED0 ED9 Decimal
+F20 F29 Decimal
+F2A F33 Numeric
1040 1049 Decimal
1090 1099 Decimal
1369 1371 Digit
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
index d8105365d59..fe791a4e1de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings must be modified to get the correct values by adding the code
@@ -18,58 +19,58 @@ $utf8::SwashInfo{'ToNv'}{'format'} = 'a'; # some entries need adjustment
$utf8::SwashInfo{'ToNv'}{'missing'} = 'NaN';
return <<'END';
-0030 0039 0
-00B2 00B3 2
-00B9 1
-00BC 1/4
-00BD 1/2
-00BE 3/4
-0660 0669 0
-06F0 06F9 0
-07C0 07C9 0
-0966 096F 0
-09E6 09EF 0
-09F4 1/16
-09F5 1/8
-09F6 3/16
-09F7 1/4
-09F8 3/4
-09F9 16
-0A66 0A6F 0
-0AE6 0AEF 0
-0B66 0B6F 0
-0B72 1/4
-0B73 1/2
-0B74 3/4
-0B75 1/16
-0B76 1/8
-0B77 3/16
-0BE6 0BF0 0
-0BF1 100
-0BF2 1000
-0C66 0C6F 0
-0C78 0C7B 0
-0C7C 0C7E 1
-0CE6 0CEF 0
-0D66 0D70 0
-0D71 100
-0D72 1000
-0D73 1/4
-0D74 1/2
-0D75 3/4
-0E50 0E59 0
-0ED0 0ED9 0
-0F20 0F29 0
-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
+30 39 0
+B2 B3 2
+B9 1
+BC 1/4
+BD 1/2
+BE 3/4
+660 669 0
+6F0 6F9 0
+7C0 7C9 0
+966 96F 0
+9E6 9EF 0
+9F4 1/16
+9F5 1/8
+9F6 3/16
+9F7 1/4
+9F8 3/4
+9F9 16
+A66 A6F 0
+AE6 AEF 0
+B66 B6F 0
+B72 1/4
+B73 1/2
+B74 3/4
+B75 1/16
+B76 1/8
+B77 3/16
+BE6 BF0 0
+BF1 100
+BF2 1000
+C66 C6F 0
+C78 C7B 0
+C7C C7E 1
+CE6 CEF 0
+D66 D70 0
+D71 100
+D72 1000
+D73 1/4
+D74 1/2
+D75 3/4
+E50 E59 0
+ED0 ED9 0
+F20 F29 0
+F2A 1/2
+F2B 3/2
+F2C 5/2
+F2D 7/2
+F2E 9/2
+F2F 11/2
+F30 13/2
+F31 15/2
+F32 17/2
+F33 -1/2
1040 1049 0
1090 1099 0
1369 1372 1
@@ -439,8 +440,7 @@ FF10 FF19 0
1244F 12452 1
12453 12454 4
12455 5
-12456 -1
-12457 -1
+12456 12457 2
12458 12459 1
1245A 1/3
1245B 2/3
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl b/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl
index 6ce071da5e7..84ef78ff45c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings must be modified to get the correct values by adding the code
@@ -18,22 +19,22 @@ $utf8::SwashInfo{'ToPerlDecimalDigit'}{'format'} = 'a'; # some entries need adju
$utf8::SwashInfo{'ToPerlDecimalDigit'}{'missing'} = ''; # code point maps to the null string
return <<'END';
-0030 0039 0
-0660 0669 0
-06F0 06F9 0
-07C0 07C9 0
-0966 096F 0
-09E6 09EF 0
-0A66 0A6F 0
-0AE6 0AEF 0
-0B66 0B6F 0
-0BE6 0BEF 0
-0C66 0C6F 0
-0CE6 0CEF 0
-0D66 0D6F 0
-0E50 0E59 0
-0ED0 0ED9 0
-0F20 0F29 0
+30 39 0
+660 669 0
+6F0 6F9 0
+7C0 7C9 0
+966 96F 0
+9E6 9EF 0
+A66 A6F 0
+AE6 AEF 0
+B66 B6F 0
+BE6 BEF 0
+C66 C6F 0
+CE6 CEF 0
+D66 D6F 0
+E50 E59 0
+ED0 ED9 0
+F20 F29 0
1040 1049 0
1090 1099 0
17E0 17E9 0
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/SB.pl b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
index aadfdb5d470..a4d93baebec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,843 +17,844 @@ $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 0604 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
-08A0 OLetter
-08A2 08AC OLetter
-08E4 08FE 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 0EDF 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
+9 Sp
+A LF
+B C Sp
+D CR
+20 Sp
+21 STerm
+22 Close
+27 29 Close
+2C 2D SContinue
+2E ATerm
+30 39 Numeric
+3A SContinue
+3F STerm
+41 5A Upper
+5B Close
+5D Close
+61 7A Lower
+7B Close
+7D Close
+85 Sep
+A0 Sp
+AA Lower
+AB Close
+AD Format
+B5 Lower
+BA Lower
+BB Close
+C0 D6 Upper
+D8 DE Upper
+DF F6 Lower
+F8 FF Lower
+100 Upper
+101 Lower
+102 Upper
+103 Lower
+104 Upper
+105 Lower
+106 Upper
+107 Lower
+108 Upper
+109 Lower
+10A Upper
+10B Lower
+10C Upper
+10D Lower
+10E Upper
+10F Lower
+110 Upper
+111 Lower
+112 Upper
+113 Lower
+114 Upper
+115 Lower
+116 Upper
+117 Lower
+118 Upper
+119 Lower
+11A Upper
+11B Lower
+11C Upper
+11D Lower
+11E Upper
+11F Lower
+120 Upper
+121 Lower
+122 Upper
+123 Lower
+124 Upper
+125 Lower
+126 Upper
+127 Lower
+128 Upper
+129 Lower
+12A Upper
+12B Lower
+12C Upper
+12D Lower
+12E Upper
+12F Lower
+130 Upper
+131 Lower
+132 Upper
+133 Lower
+134 Upper
+135 Lower
+136 Upper
+137 138 Lower
+139 Upper
+13A Lower
+13B Upper
+13C Lower
+13D Upper
+13E Lower
+13F Upper
+140 Lower
+141 Upper
+142 Lower
+143 Upper
+144 Lower
+145 Upper
+146 Lower
+147 Upper
+148 149 Lower
+14A Upper
+14B Lower
+14C Upper
+14D Lower
+14E Upper
+14F Lower
+150 Upper
+151 Lower
+152 Upper
+153 Lower
+154 Upper
+155 Lower
+156 Upper
+157 Lower
+158 Upper
+159 Lower
+15A Upper
+15B Lower
+15C Upper
+15D Lower
+15E Upper
+15F Lower
+160 Upper
+161 Lower
+162 Upper
+163 Lower
+164 Upper
+165 Lower
+166 Upper
+167 Lower
+168 Upper
+169 Lower
+16A Upper
+16B Lower
+16C Upper
+16D Lower
+16E Upper
+16F Lower
+170 Upper
+171 Lower
+172 Upper
+173 Lower
+174 Upper
+175 Lower
+176 Upper
+177 Lower
+178 179 Upper
+17A Lower
+17B Upper
+17C Lower
+17D Upper
+17E 180 Lower
+181 182 Upper
+183 Lower
+184 Upper
+185 Lower
+186 187 Upper
+188 Lower
+189 18B Upper
+18C 18D Lower
+18E 191 Upper
+192 Lower
+193 194 Upper
+195 Lower
+196 198 Upper
+199 19B Lower
+19C 19D Upper
+19E Lower
+19F 1A0 Upper
+1A1 Lower
+1A2 Upper
+1A3 Lower
+1A4 Upper
+1A5 Lower
+1A6 1A7 Upper
+1A8 Lower
+1A9 Upper
+1AA 1AB Lower
+1AC Upper
+1AD Lower
+1AE 1AF Upper
+1B0 Lower
+1B1 1B3 Upper
+1B4 Lower
+1B5 Upper
+1B6 Lower
+1B7 1B8 Upper
+1B9 1BA Lower
+1BB OLetter
+1BC Upper
+1BD 1BF Lower
+1C0 1C3 OLetter
+1C4 1C5 Upper
+1C6 Lower
+1C7 1C8 Upper
+1C9 Lower
+1CA 1CB Upper
+1CC Lower
+1CD Upper
+1CE Lower
+1CF Upper
+1D0 Lower
+1D1 Upper
+1D2 Lower
+1D3 Upper
+1D4 Lower
+1D5 Upper
+1D6 Lower
+1D7 Upper
+1D8 Lower
+1D9 Upper
+1DA Lower
+1DB Upper
+1DC 1DD Lower
+1DE Upper
+1DF Lower
+1E0 Upper
+1E1 Lower
+1E2 Upper
+1E3 Lower
+1E4 Upper
+1E5 Lower
+1E6 Upper
+1E7 Lower
+1E8 Upper
+1E9 Lower
+1EA Upper
+1EB Lower
+1EC Upper
+1ED Lower
+1EE Upper
+1EF 1F0 Lower
+1F1 1F2 Upper
+1F3 Lower
+1F4 Upper
+1F5 Lower
+1F6 1F8 Upper
+1F9 Lower
+1FA Upper
+1FB Lower
+1FC Upper
+1FD Lower
+1FE Upper
+1FF Lower
+200 Upper
+201 Lower
+202 Upper
+203 Lower
+204 Upper
+205 Lower
+206 Upper
+207 Lower
+208 Upper
+209 Lower
+20A Upper
+20B Lower
+20C Upper
+20D Lower
+20E Upper
+20F Lower
+210 Upper
+211 Lower
+212 Upper
+213 Lower
+214 Upper
+215 Lower
+216 Upper
+217 Lower
+218 Upper
+219 Lower
+21A Upper
+21B Lower
+21C Upper
+21D Lower
+21E Upper
+21F Lower
+220 Upper
+221 Lower
+222 Upper
+223 Lower
+224 Upper
+225 Lower
+226 Upper
+227 Lower
+228 Upper
+229 Lower
+22A Upper
+22B Lower
+22C Upper
+22D Lower
+22E Upper
+22F Lower
+230 Upper
+231 Lower
+232 Upper
+233 239 Lower
+23A 23B Upper
+23C Lower
+23D 23E Upper
+23F 240 Lower
+241 Upper
+242 Lower
+243 246 Upper
+247 Lower
+248 Upper
+249 Lower
+24A Upper
+24B Lower
+24C Upper
+24D Lower
+24E Upper
+24F 293 Lower
+294 OLetter
+295 2B8 Lower
+2B9 2BF OLetter
+2C0 2C1 Lower
+2C6 2D1 OLetter
+2E0 2E4 Lower
+2EC OLetter
+2EE OLetter
+300 36F Extend
+370 Upper
+371 Lower
+372 Upper
+373 Lower
+374 OLetter
+376 Upper
+377 Lower
+37A 37D Lower
+386 Upper
+388 38A Upper
+38C Upper
+38E 38F Upper
+390 Lower
+391 3A1 Upper
+3A3 3AB Upper
+3AC 3CE Lower
+3CF Upper
+3D0 3D1 Lower
+3D2 3D4 Upper
+3D5 3D7 Lower
+3D8 Upper
+3D9 Lower
+3DA Upper
+3DB Lower
+3DC Upper
+3DD Lower
+3DE Upper
+3DF Lower
+3E0 Upper
+3E1 Lower
+3E2 Upper
+3E3 Lower
+3E4 Upper
+3E5 Lower
+3E6 Upper
+3E7 Lower
+3E8 Upper
+3E9 Lower
+3EA Upper
+3EB Lower
+3EC Upper
+3ED Lower
+3EE Upper
+3EF 3F3 Lower
+3F4 Upper
+3F5 Lower
+3F7 Upper
+3F8 Lower
+3F9 3FA Upper
+3FB 3FC Lower
+3FD 42F Upper
+430 45F Lower
+460 Upper
+461 Lower
+462 Upper
+463 Lower
+464 Upper
+465 Lower
+466 Upper
+467 Lower
+468 Upper
+469 Lower
+46A Upper
+46B Lower
+46C Upper
+46D Lower
+46E Upper
+46F Lower
+470 Upper
+471 Lower
+472 Upper
+473 Lower
+474 Upper
+475 Lower
+476 Upper
+477 Lower
+478 Upper
+479 Lower
+47A Upper
+47B Lower
+47C Upper
+47D Lower
+47E Upper
+47F Lower
+480 Upper
+481 Lower
+483 489 Extend
+48A Upper
+48B Lower
+48C Upper
+48D Lower
+48E Upper
+48F Lower
+490 Upper
+491 Lower
+492 Upper
+493 Lower
+494 Upper
+495 Lower
+496 Upper
+497 Lower
+498 Upper
+499 Lower
+49A Upper
+49B Lower
+49C Upper
+49D Lower
+49E Upper
+49F Lower
+4A0 Upper
+4A1 Lower
+4A2 Upper
+4A3 Lower
+4A4 Upper
+4A5 Lower
+4A6 Upper
+4A7 Lower
+4A8 Upper
+4A9 Lower
+4AA Upper
+4AB Lower
+4AC Upper
+4AD Lower
+4AE Upper
+4AF Lower
+4B0 Upper
+4B1 Lower
+4B2 Upper
+4B3 Lower
+4B4 Upper
+4B5 Lower
+4B6 Upper
+4B7 Lower
+4B8 Upper
+4B9 Lower
+4BA Upper
+4BB Lower
+4BC Upper
+4BD Lower
+4BE Upper
+4BF Lower
+4C0 4C1 Upper
+4C2 Lower
+4C3 Upper
+4C4 Lower
+4C5 Upper
+4C6 Lower
+4C7 Upper
+4C8 Lower
+4C9 Upper
+4CA Lower
+4CB Upper
+4CC Lower
+4CD Upper
+4CE 4CF Lower
+4D0 Upper
+4D1 Lower
+4D2 Upper
+4D3 Lower
+4D4 Upper
+4D5 Lower
+4D6 Upper
+4D7 Lower
+4D8 Upper
+4D9 Lower
+4DA Upper
+4DB Lower
+4DC Upper
+4DD Lower
+4DE Upper
+4DF Lower
+4E0 Upper
+4E1 Lower
+4E2 Upper
+4E3 Lower
+4E4 Upper
+4E5 Lower
+4E6 Upper
+4E7 Lower
+4E8 Upper
+4E9 Lower
+4EA Upper
+4EB Lower
+4EC Upper
+4ED Lower
+4EE Upper
+4EF Lower
+4F0 Upper
+4F1 Lower
+4F2 Upper
+4F3 Lower
+4F4 Upper
+4F5 Lower
+4F6 Upper
+4F7 Lower
+4F8 Upper
+4F9 Lower
+4FA Upper
+4FB Lower
+4FC Upper
+4FD Lower
+4FE Upper
+4FF Lower
+500 Upper
+501 Lower
+502 Upper
+503 Lower
+504 Upper
+505 Lower
+506 Upper
+507 Lower
+508 Upper
+509 Lower
+50A Upper
+50B Lower
+50C Upper
+50D Lower
+50E Upper
+50F Lower
+510 Upper
+511 Lower
+512 Upper
+513 Lower
+514 Upper
+515 Lower
+516 Upper
+517 Lower
+518 Upper
+519 Lower
+51A Upper
+51B Lower
+51C Upper
+51D Lower
+51E Upper
+51F Lower
+520 Upper
+521 Lower
+522 Upper
+523 Lower
+524 Upper
+525 Lower
+526 Upper
+527 Lower
+531 556 Upper
+559 OLetter
+55C STerm
+55D SContinue
+55E STerm
+561 587 Lower
+589 STerm
+591 5BD Extend
+5BF Extend
+5C1 5C2 Extend
+5C4 5C5 Extend
+5C7 Extend
+5D0 5EA OLetter
+5F0 5F3 OLetter
+600 604 Format
+60C 60D SContinue
+610 61A Extend
+61C Format
+61F STerm
+620 64A OLetter
+64B 65F Extend
+660 669 Numeric
+66B 66C Numeric
+66E 66F OLetter
+670 Extend
+671 6D3 OLetter
+6D4 STerm
+6D5 OLetter
+6D6 6DC Extend
+6DD Format
+6DF 6E4 Extend
+6E5 6E6 OLetter
+6E7 6E8 Extend
+6EA 6ED Extend
+6EE 6EF OLetter
+6F0 6F9 Numeric
+6FA 6FC OLetter
+6FF OLetter
+700 702 STerm
+70F Format
+710 OLetter
+711 Extend
+712 72F OLetter
+730 74A Extend
+74D 7A5 OLetter
+7A6 7B0 Extend
+7B1 OLetter
+7C0 7C9 Numeric
+7CA 7EA OLetter
+7EB 7F3 Extend
+7F4 7F5 OLetter
+7F8 SContinue
+7F9 STerm
+7FA OLetter
+800 815 OLetter
+816 819 Extend
+81A OLetter
+81B 823 Extend
+824 OLetter
+825 827 Extend
+828 OLetter
+829 82D Extend
+840 858 OLetter
+859 85B Extend
+8A0 OLetter
+8A2 8AC OLetter
+8E4 8FE Extend
+900 903 Extend
+904 939 OLetter
+93A 93C Extend
+93D OLetter
+93E 94F Extend
+950 OLetter
+951 957 Extend
+958 961 OLetter
+962 963 Extend
+964 965 STerm
+966 96F Numeric
+971 977 OLetter
+979 97F OLetter
+981 983 Extend
+985 98C OLetter
+98F 990 OLetter
+993 9A8 OLetter
+9AA 9B0 OLetter
+9B2 OLetter
+9B6 9B9 OLetter
+9BC Extend
+9BD OLetter
+9BE 9C4 Extend
+9C7 9C8 Extend
+9CB 9CD Extend
+9CE OLetter
+9D7 Extend
+9DC 9DD OLetter
+9DF 9E1 OLetter
+9E2 9E3 Extend
+9E6 9EF Numeric
+9F0 9F1 OLetter
+A01 A03 Extend
+A05 A0A OLetter
+A0F A10 OLetter
+A13 A28 OLetter
+A2A A30 OLetter
+A32 A33 OLetter
+A35 A36 OLetter
+A38 A39 OLetter
+A3C Extend
+A3E A42 Extend
+A47 A48 Extend
+A4B A4D Extend
+A51 Extend
+A59 A5C OLetter
+A5E OLetter
+A66 A6F Numeric
+A70 A71 Extend
+A72 A74 OLetter
+A75 Extend
+A81 A83 Extend
+A85 A8D OLetter
+A8F A91 OLetter
+A93 AA8 OLetter
+AAA AB0 OLetter
+AB2 AB3 OLetter
+AB5 AB9 OLetter
+ABC Extend
+ABD OLetter
+ABE AC5 Extend
+AC7 AC9 Extend
+ACB ACD Extend
+AD0 OLetter
+AE0 AE1 OLetter
+AE2 AE3 Extend
+AE6 AEF Numeric
+B01 B03 Extend
+B05 B0C OLetter
+B0F B10 OLetter
+B13 B28 OLetter
+B2A B30 OLetter
+B32 B33 OLetter
+B35 B39 OLetter
+B3C Extend
+B3D OLetter
+B3E B44 Extend
+B47 B48 Extend
+B4B B4D Extend
+B56 B57 Extend
+B5C B5D OLetter
+B5F B61 OLetter
+B62 B63 Extend
+B66 B6F Numeric
+B71 OLetter
+B82 Extend
+B83 OLetter
+B85 B8A OLetter
+B8E B90 OLetter
+B92 B95 OLetter
+B99 B9A OLetter
+B9C OLetter
+B9E B9F OLetter
+BA3 BA4 OLetter
+BA8 BAA OLetter
+BAE BB9 OLetter
+BBE BC2 Extend
+BC6 BC8 Extend
+BCA BCD Extend
+BD0 OLetter
+BD7 Extend
+BE6 BEF Numeric
+C01 C03 Extend
+C05 C0C OLetter
+C0E C10 OLetter
+C12 C28 OLetter
+C2A C33 OLetter
+C35 C39 OLetter
+C3D OLetter
+C3E C44 Extend
+C46 C48 Extend
+C4A C4D Extend
+C55 C56 Extend
+C58 C59 OLetter
+C60 C61 OLetter
+C62 C63 Extend
+C66 C6F Numeric
+C82 C83 Extend
+C85 C8C OLetter
+C8E C90 OLetter
+C92 CA8 OLetter
+CAA CB3 OLetter
+CB5 CB9 OLetter
+CBC Extend
+CBD OLetter
+CBE CC4 Extend
+CC6 CC8 Extend
+CCA CCD Extend
+CD5 CD6 Extend
+CDE OLetter
+CE0 CE1 OLetter
+CE2 CE3 Extend
+CE6 CEF Numeric
+CF1 CF2 OLetter
+D02 D03 Extend
+D05 D0C OLetter
+D0E D10 OLetter
+D12 D3A OLetter
+D3D OLetter
+D3E D44 Extend
+D46 D48 Extend
+D4A D4D Extend
+D4E OLetter
+D57 Extend
+D60 D61 OLetter
+D62 D63 Extend
+D66 D6F Numeric
+D7A D7F OLetter
+D82 D83 Extend
+D85 D96 OLetter
+D9A DB1 OLetter
+DB3 DBB OLetter
+DBD OLetter
+DC0 DC6 OLetter
+DCA Extend
+DCF DD4 Extend
+DD6 Extend
+DD8 DDF Extend
+DF2 DF3 Extend
+E01 E30 OLetter
+E31 Extend
+E32 E33 OLetter
+E34 E3A Extend
+E40 E46 OLetter
+E47 E4E Extend
+E50 E59 Numeric
+E81 E82 OLetter
+E84 OLetter
+E87 E88 OLetter
+E8A OLetter
+E8D OLetter
+E94 E97 OLetter
+E99 E9F OLetter
+EA1 EA3 OLetter
+EA5 OLetter
+EA7 OLetter
+EAA EAB OLetter
+EAD EB0 OLetter
+EB1 Extend
+EB2 EB3 OLetter
+EB4 EB9 Extend
+EBB EBC Extend
+EBD OLetter
+EC0 EC4 OLetter
+EC6 OLetter
+EC8 ECD Extend
+ED0 ED9 Numeric
+EDC EDF OLetter
+F00 OLetter
+F18 F19 Extend
+F20 F29 Numeric
+F35 Extend
+F37 Extend
+F39 Extend
+F3A F3D Close
+F3E F3F Extend
+F40 F47 OLetter
+F49 F6C OLetter
+F71 F84 Extend
+F86 F87 Extend
+F88 F8C OLetter
+F8D F97 Extend
+F99 FBC Extend
+FC6 Extend
1000 102A OLetter
102B 103E Extend
103F OLetter
@@ -929,7 +931,7 @@ return <<'END';
1808 SContinue
1809 STerm
180B 180D Extend
-180E Sp
+180E Format
1810 1819 Numeric
1820 1877 OLetter
1880 18A8 OLetter
@@ -1293,7 +1295,7 @@ return <<'END';
2047 2049 STerm
205F Sp
2060 2064 Format
-206A 206F Format
+2066 206F Format
2071 Lower
207D 207E Close
207F Lower
@@ -1329,6 +1331,7 @@ return <<'END';
2183 Upper
2184 Lower
2185 2188 OLetter
+2308 230B Close
2329 232A Close
24B6 24CF Upper
24D0 24E9 Lower
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
index ab782f614e5..b1f3efc63d6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,242 +17,243 @@ $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
-058F Armenian
-0591 05C7 Hebrew
-05D0 05EA Hebrew
-05F0 05F4 Hebrew
-0600 0604 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 065F Arabic
-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
-08A0 Arabic
-08A2 08AC Arabic
-08E4 08FE Arabic
-0900 0950 Devanagari
-0951 0952 Inherited
-0953 0963 Devanagari
-0964 0965 Common
-0966 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 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 0EDF 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
+0 40 Common
+41 5A Latin
+5B 60 Common
+61 7A Latin
+7B A9 Common
+AA Latin
+AB B9 Common
+BA Latin
+BB BF Common
+C0 D6 Latin
+D7 Common
+D8 F6 Latin
+F7 Common
+F8 2B8 Latin
+2B9 2DF Common
+2E0 2E4 Latin
+2E5 2E9 Common
+2EA 2EB Bopomofo
+2EC 2FF Common
+300 36F Inherited
+370 373 Greek
+374 Common
+375 377 Greek
+37A 37D Greek
+37E Common
+384 Greek
+385 Common
+386 Greek
+387 Common
+388 38A Greek
+38C Greek
+38E 3A1 Greek
+3A3 3E1 Greek
+3E2 3EF Coptic
+3F0 3FF Greek
+400 484 Cyrillic
+485 486 Inherited
+487 527 Cyrillic
+531 556 Armenian
+559 55F Armenian
+561 587 Armenian
+589 Common
+58A Armenian
+58F Armenian
+591 5C7 Hebrew
+5D0 5EA Hebrew
+5F0 5F4 Hebrew
+600 604 Arabic
+606 60B Arabic
+60C Common
+60D 61A Arabic
+61B Common
+61C Arabic
+61E Arabic
+61F Common
+620 63F Arabic
+640 Common
+641 64A Arabic
+64B 655 Inherited
+656 65F Arabic
+660 669 Common
+66A 66F Arabic
+670 Inherited
+671 6DC Arabic
+6DD Common
+6DE 6FF Arabic
+700 70D Syriac
+70F 74A Syriac
+74D 74F Syriac
+750 77F Arabic
+780 7B1 Thaana
+7C0 7FA Nko
+800 82D Samaritan
+830 83E Samaritan
+840 85B Mandaic
+85E Mandaic
+8A0 Arabic
+8A2 8AC Arabic
+8E4 8FE Arabic
+900 950 Devanagari
+951 952 Inherited
+953 963 Devanagari
+964 965 Common
+966 977 Devanagari
+979 97F Devanagari
+981 983 Bengali
+985 98C Bengali
+98F 990 Bengali
+993 9A8 Bengali
+9AA 9B0 Bengali
+9B2 Bengali
+9B6 9B9 Bengali
+9BC 9C4 Bengali
+9C7 9C8 Bengali
+9CB 9CE Bengali
+9D7 Bengali
+9DC 9DD Bengali
+9DF 9E3 Bengali
+9E6 9FB Bengali
+A01 A03 Gurmukhi
+A05 A0A Gurmukhi
+A0F A10 Gurmukhi
+A13 A28 Gurmukhi
+A2A A30 Gurmukhi
+A32 A33 Gurmukhi
+A35 A36 Gurmukhi
+A38 A39 Gurmukhi
+A3C Gurmukhi
+A3E A42 Gurmukhi
+A47 A48 Gurmukhi
+A4B A4D Gurmukhi
+A51 Gurmukhi
+A59 A5C Gurmukhi
+A5E Gurmukhi
+A66 A75 Gurmukhi
+A81 A83 Gujarati
+A85 A8D Gujarati
+A8F A91 Gujarati
+A93 AA8 Gujarati
+AAA AB0 Gujarati
+AB2 AB3 Gujarati
+AB5 AB9 Gujarati
+ABC AC5 Gujarati
+AC7 AC9 Gujarati
+ACB ACD Gujarati
+AD0 Gujarati
+AE0 AE3 Gujarati
+AE6 AF1 Gujarati
+B01 B03 Oriya
+B05 B0C Oriya
+B0F B10 Oriya
+B13 B28 Oriya
+B2A B30 Oriya
+B32 B33 Oriya
+B35 B39 Oriya
+B3C B44 Oriya
+B47 B48 Oriya
+B4B B4D Oriya
+B56 B57 Oriya
+B5C B5D Oriya
+B5F B63 Oriya
+B66 B77 Oriya
+B82 B83 Tamil
+B85 B8A Tamil
+B8E B90 Tamil
+B92 B95 Tamil
+B99 B9A Tamil
+B9C Tamil
+B9E B9F Tamil
+BA3 BA4 Tamil
+BA8 BAA Tamil
+BAE BB9 Tamil
+BBE BC2 Tamil
+BC6 BC8 Tamil
+BCA BCD Tamil
+BD0 Tamil
+BD7 Tamil
+BE6 BFA Tamil
+C01 C03 Telugu
+C05 C0C Telugu
+C0E C10 Telugu
+C12 C28 Telugu
+C2A C33 Telugu
+C35 C39 Telugu
+C3D C44 Telugu
+C46 C48 Telugu
+C4A C4D Telugu
+C55 C56 Telugu
+C58 C59 Telugu
+C60 C63 Telugu
+C66 C6F Telugu
+C78 C7F Telugu
+C82 C83 Kannada
+C85 C8C Kannada
+C8E C90 Kannada
+C92 CA8 Kannada
+CAA CB3 Kannada
+CB5 CB9 Kannada
+CBC CC4 Kannada
+CC6 CC8 Kannada
+CCA CCD Kannada
+CD5 CD6 Kannada
+CDE Kannada
+CE0 CE3 Kannada
+CE6 CEF Kannada
+CF1 CF2 Kannada
+D02 D03 Malayalam
+D05 D0C Malayalam
+D0E D10 Malayalam
+D12 D3A Malayalam
+D3D D44 Malayalam
+D46 D48 Malayalam
+D4A D4E Malayalam
+D57 Malayalam
+D60 D63 Malayalam
+D66 D75 Malayalam
+D79 D7F Malayalam
+D82 D83 Sinhala
+D85 D96 Sinhala
+D9A DB1 Sinhala
+DB3 DBB Sinhala
+DBD Sinhala
+DC0 DC6 Sinhala
+DCA Sinhala
+DCF DD4 Sinhala
+DD6 Sinhala
+DD8 DDF Sinhala
+DF2 DF4 Sinhala
+E01 E3A Thai
+E3F Common
+E40 E5B Thai
+E81 E82 Lao
+E84 Lao
+E87 E88 Lao
+E8A Lao
+E8D Lao
+E94 E97 Lao
+E99 E9F Lao
+EA1 EA3 Lao
+EA5 Lao
+EA7 Lao
+EAA EAB Lao
+EAD EB9 Lao
+EBB EBD Lao
+EC0 EC4 Lao
+EC6 Lao
+EC8 ECD Lao
+ED0 ED9 Lao
+EDC EDF Lao
+F00 F47 Tibetan
+F49 F6C Tibetan
+F71 F97 Tibetan
+F99 FBC Tibetan
+FBE FCC Tibetan
+FCE FD4 Tibetan
+FD5 FD8 Common
+FD9 FDA Tibetan
1000 109F Myanmar
10A0 10C5 Georgian
10C7 Georgian
@@ -376,7 +378,7 @@ return <<'END';
2000 200B Common
200C 200D Inherited
200E 2064 Common
-206A 2070 Common
+2066 2070 Common
2071 Latin
2074 207E Common
207F Latin
@@ -489,7 +491,8 @@ A930 A953 Rejang
A95F Rejang
A960 A97C Hangul
A980 A9CD Javanese
-A9CF A9D9 Javanese
+A9CF Common
+A9D0 A9D9 Javanese
A9DE A9DF Javanese
AA00 AA36 Cham
AA40 AA4D Cham
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl b/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl
index 9ad5d1125f2..12f5900999b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,248 +17,252 @@ $utf8::SwashInfo{'ToScx'}{'format'} = 'sw'; # string, but some elements are inte
$utf8::SwashInfo{'ToScx'}{'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 0341 Inherited
-0342 Greek
-0343 0344 Inherited
-0345 Greek
-0346 0362 Inherited
-0363 036F Latin
-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 Cyrillic Latin
-0487 0527 Cyrillic
-0531 0556 Armenian
-0559 055F Armenian
-0561 0587 Armenian
-0589 Armenian Georgian
-058A Armenian
-058F Armenian
-0591 05C7 Hebrew
-05D0 05EA Hebrew
-05F0 05F4 Hebrew
-0600 0604 Arabic
-0606 060B Arabic
-060C Arabic Syriac Thaana
-060D 061A Arabic
-061B Arabic Syriac Thaana
-061E Arabic
-061F Arabic Syriac Thaana
-0620 063F Arabic
-0640 Arabic Mandaic Syriac
-0641 064A Arabic
-064B 0655 Arabic Syriac
-0656 065F Arabic
-0660 0669 Arabic Thaana
-066A 066F Arabic
-0670 Arabic Syriac
-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
-08A0 Arabic
-08A2 08AC Arabic
-08E4 08FE Arabic
-0900 0950 Devanagari
-0951 0952 Devanagari Latin
-0953 0963 Devanagari
-0964 0965 Bengali Devanagari Gurmukhi Oriya Takri
-0966 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 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 0EDF 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
+0 40 Common
+41 5A Latin
+5B 60 Common
+61 7A Latin
+7B A9 Common
+AA Latin
+AB B9 Common
+BA Latin
+BB BF Common
+C0 D6 Latin
+D7 Common
+D8 F6 Latin
+F7 Common
+F8 2B8 Latin
+2B9 2DF Common
+2E0 2E4 Latin
+2E5 2E9 Common
+2EA 2EB Bopomofo
+2EC 2FF Common
+300 341 Inherited
+342 Greek
+343 344 Inherited
+345 Greek
+346 362 Inherited
+363 36F Latin
+370 373 Greek
+374 Common
+375 377 Greek
+37A 37D Greek
+37E Common
+384 Greek
+385 Common
+386 Greek
+387 Common
+388 38A Greek
+38C Greek
+38E 3A1 Greek
+3A3 3E1 Greek
+3E2 3EF Coptic
+3F0 3FF Greek
+400 484 Cyrillic
+485 486 Cyrillic Latin
+487 527 Cyrillic
+531 556 Armenian
+559 55F Armenian
+561 587 Armenian
+589 Armenian Georgian
+58A Armenian
+58F Armenian
+591 5C7 Hebrew
+5D0 5EA Hebrew
+5F0 5F4 Hebrew
+600 604 Arabic
+606 60B Arabic
+60C Arabic Syriac Thaana
+60D 61A Arabic
+61B 61C Arabic Syriac Thaana
+61E Arabic
+61F Arabic Syriac Thaana
+620 63F Arabic
+640 Arabic Mandaic Syriac
+641 64A Arabic
+64B 655 Arabic Syriac
+656 65F Arabic
+660 669 Arabic Thaana
+66A 66F Arabic
+670 Arabic Syriac
+671 6DC Arabic
+6DD Common
+6DE 6FF Arabic
+700 70D Syriac
+70F 74A Syriac
+74D 74F Syriac
+750 77F Arabic
+780 7B1 Thaana
+7C0 7FA Nko
+800 82D Samaritan
+830 83E Samaritan
+840 85B Mandaic
+85E Mandaic
+8A0 Arabic
+8A2 8AC Arabic
+8E4 8FE Arabic
+900 950 Devanagari
+951 952 Devanagari Latin
+953 963 Devanagari
+964 965 Bengali Devanagari Gurmukhi Oriya Takri
+966 96F Devanagari Kaithi
+970 977 Devanagari
+979 97F Devanagari
+981 983 Bengali
+985 98C Bengali
+98F 990 Bengali
+993 9A8 Bengali
+9AA 9B0 Bengali
+9B2 Bengali
+9B6 9B9 Bengali
+9BC 9C4 Bengali
+9C7 9C8 Bengali
+9CB 9CE Bengali
+9D7 Bengali
+9DC 9DD Bengali
+9DF 9E3 Bengali
+9E6 9EF Bengali Chakma Syloti_Nagri
+9F0 9FB Bengali
+A01 A03 Gurmukhi
+A05 A0A Gurmukhi
+A0F A10 Gurmukhi
+A13 A28 Gurmukhi
+A2A A30 Gurmukhi
+A32 A33 Gurmukhi
+A35 A36 Gurmukhi
+A38 A39 Gurmukhi
+A3C Gurmukhi
+A3E A42 Gurmukhi
+A47 A48 Gurmukhi
+A4B A4D Gurmukhi
+A51 Gurmukhi
+A59 A5C Gurmukhi
+A5E Gurmukhi
+A66 A75 Gurmukhi
+A81 A83 Gujarati
+A85 A8D Gujarati
+A8F A91 Gujarati
+A93 AA8 Gujarati
+AAA AB0 Gujarati
+AB2 AB3 Gujarati
+AB5 AB9 Gujarati
+ABC AC5 Gujarati
+AC7 AC9 Gujarati
+ACB ACD Gujarati
+AD0 Gujarati
+AE0 AE3 Gujarati
+AE6 AF1 Gujarati
+B01 B03 Oriya
+B05 B0C Oriya
+B0F B10 Oriya
+B13 B28 Oriya
+B2A B30 Oriya
+B32 B33 Oriya
+B35 B39 Oriya
+B3C B44 Oriya
+B47 B48 Oriya
+B4B B4D Oriya
+B56 B57 Oriya
+B5C B5D Oriya
+B5F B63 Oriya
+B66 B77 Oriya
+B82 B83 Tamil
+B85 B8A Tamil
+B8E B90 Tamil
+B92 B95 Tamil
+B99 B9A Tamil
+B9C Tamil
+B9E B9F Tamil
+BA3 BA4 Tamil
+BA8 BAA Tamil
+BAE BB9 Tamil
+BBE BC2 Tamil
+BC6 BC8 Tamil
+BCA BCD Tamil
+BD0 Tamil
+BD7 Tamil
+BE6 BFA Tamil
+C01 C03 Telugu
+C05 C0C Telugu
+C0E C10 Telugu
+C12 C28 Telugu
+C2A C33 Telugu
+C35 C39 Telugu
+C3D C44 Telugu
+C46 C48 Telugu
+C4A C4D Telugu
+C55 C56 Telugu
+C58 C59 Telugu
+C60 C63 Telugu
+C66 C6F Telugu
+C78 C7F Telugu
+C82 C83 Kannada
+C85 C8C Kannada
+C8E C90 Kannada
+C92 CA8 Kannada
+CAA CB3 Kannada
+CB5 CB9 Kannada
+CBC CC4 Kannada
+CC6 CC8 Kannada
+CCA CCD Kannada
+CD5 CD6 Kannada
+CDE Kannada
+CE0 CE3 Kannada
+CE6 CEF Kannada
+CF1 CF2 Kannada
+D02 D03 Malayalam
+D05 D0C Malayalam
+D0E D10 Malayalam
+D12 D3A Malayalam
+D3D D44 Malayalam
+D46 D48 Malayalam
+D4A D4E Malayalam
+D57 Malayalam
+D60 D63 Malayalam
+D66 D75 Malayalam
+D79 D7F Malayalam
+D82 D83 Sinhala
+D85 D96 Sinhala
+D9A DB1 Sinhala
+DB3 DBB Sinhala
+DBD Sinhala
+DC0 DC6 Sinhala
+DCA Sinhala
+DCF DD4 Sinhala
+DD6 Sinhala
+DD8 DDF Sinhala
+DF2 DF4 Sinhala
+E01 E3A Thai
+E3F Common
+E40 E5B Thai
+E81 E82 Lao
+E84 Lao
+E87 E88 Lao
+E8A Lao
+E8D Lao
+E94 E97 Lao
+E99 E9F Lao
+EA1 EA3 Lao
+EA5 Lao
+EA7 Lao
+EAA EAB Lao
+EAD EB9 Lao
+EBB EBD Lao
+EC0 EC4 Lao
+EC6 Lao
+EC8 ECD Lao
+ED0 ED9 Lao
+EDC EDF Lao
+F00 F47 Tibetan
+F49 F6C Tibetan
+F71 F97 Tibetan
+F99 FBC Tibetan
+FBE FCC Tibetan
+FCE FD4 Tibetan
+FD5 FD8 Common
+FD9 FDA Tibetan
+1000 103F Myanmar
+1040 1049 Chakma Myanmar Tai_Le
+104A 109F Myanmar
10A0 10C5 Georgian
10C7 Georgian
10CD Georgian
@@ -379,7 +384,7 @@ return <<'END';
2000 200B Common
200C 200D Inherited
200E 2064 Common
-206A 2070 Common
+2066 2070 Common
2071 Latin
2074 207E Common
207F Latin
@@ -514,7 +519,8 @@ A930 A953 Rejang
A95F Rejang
A960 A97C Hangul
A980 A9CD Javanese
-A9CF A9D9 Javanese
+A9CF Buginese Javanese
+A9D0 A9D9 Javanese
A9DE A9DF Javanese
AA00 AA36 Cham
AA40 AA4D Cham
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl
index d7ab2c51024..02200fd8e8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings in the non-hash portion of this file must be modified to get the
@@ -15,7 +16,7 @@
# 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{'ToTc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToTc'}{'format'} = 'ax'; # mapped value in hex; some entries need adjustment
$utf8::SwashInfo{'ToTc'}{'specials_name'} = 'utf8::ToSpecTc'; # Name of hash of special mappings
$utf8::SwashInfo{'ToTc'}{'missing'} = '0'; # code point maps to itself
@@ -78,630 +79,630 @@ $utf8::SwashInfo{'ToTc'}{'missing'} = '0'; # code point maps to itself
);
return <<'END';
-0061 007A 65
-00B5 924
-00E0 00F6 192
-00F8 00FE 216
-00FF 376
-0101 256
-0103 258
-0105 260
-0107 262
-0109 264
-010B 266
-010D 268
-010F 270
-0111 272
-0113 274
-0115 276
-0117 278
-0119 280
-011B 282
-011D 284
-011F 286
-0121 288
-0123 290
-0125 292
-0127 294
-0129 296
-012B 298
-012D 300
-012F 302
-0131 73
-0133 306
-0135 308
-0137 310
-013A 313
-013C 315
-013E 317
-0140 319
-0142 321
-0144 323
-0146 325
-0148 327
-014B 330
-014D 332
-014F 334
-0151 336
-0153 338
-0155 340
-0157 342
-0159 344
-015B 346
-015D 348
-015F 350
-0161 352
-0163 354
-0165 356
-0167 358
-0169 360
-016B 362
-016D 364
-016F 366
-0171 368
-0173 370
-0175 372
-0177 374
-017A 377
-017C 379
-017E 381
-017F 83
-0180 579
-0183 386
-0185 388
-0188 391
-018C 395
-0192 401
-0195 502
-0199 408
-019A 573
-019E 544
-01A1 416
-01A3 418
-01A5 420
-01A8 423
-01AD 428
-01B0 431
-01B4 435
-01B6 437
-01B9 440
-01BD 444
-01BF 503
-01C4 453
-01C6 453
-01C7 456
-01C9 456
-01CA 459
-01CC 459
-01CE 461
-01D0 463
-01D2 465
-01D4 467
-01D6 469
-01D8 471
-01DA 473
-01DC 475
-01DD 398
-01DF 478
-01E1 480
-01E3 482
-01E5 484
-01E7 486
-01E9 488
-01EB 490
-01ED 492
-01EF 494
-01F1 498
-01F3 498
-01F5 500
-01F9 504
-01FB 506
-01FD 508
-01FF 510
-0201 512
-0203 514
-0205 516
-0207 518
-0209 520
-020B 522
-020D 524
-020F 526
-0211 528
-0213 530
-0215 532
-0217 534
-0219 536
-021B 538
-021D 540
-021F 542
-0223 546
-0225 548
-0227 550
-0229 552
-022B 554
-022D 556
-022F 558
-0231 560
-0233 562
-023C 571
-023F 0240 11390
-0242 577
-0247 582
-0249 584
-024B 586
-024D 588
-024F 590
-0250 11375
-0251 11373
-0252 11376
-0253 385
-0254 390
-0256 0257 393
-0259 399
-025B 400
-0260 403
-0263 404
-0265 42893
-0266 42922
-0268 407
-0269 406
-026B 11362
-026F 412
-0271 11374
-0272 413
-0275 415
-027D 11364
-0280 422
-0283 425
-0288 430
-0289 580
-028A 028B 433
-028C 581
-0292 439
-0345 921
-0371 880
-0373 882
-0377 886
-037B 037D 1021
-03AC 902
-03AD 03AF 904
-03B1 03C1 913
-03C2 931
-03C3 03CB 931
-03CC 908
-03CD 03CE 910
-03D0 914
-03D1 920
-03D5 934
-03D6 928
-03D7 975
-03D9 984
-03DB 986
-03DD 988
-03DF 990
-03E1 992
-03E3 994
-03E5 996
-03E7 998
-03E9 1000
-03EB 1002
-03ED 1004
-03EF 1006
-03F0 922
-03F1 929
-03F2 1017
-03F5 917
-03F8 1015
-03FB 1018
-0430 044F 1040
-0450 045F 1024
-0461 1120
-0463 1122
-0465 1124
-0467 1126
-0469 1128
-046B 1130
-046D 1132
-046F 1134
-0471 1136
-0473 1138
-0475 1140
-0477 1142
-0479 1144
-047B 1146
-047D 1148
-047F 1150
-0481 1152
-048B 1162
-048D 1164
-048F 1166
-0491 1168
-0493 1170
-0495 1172
-0497 1174
-0499 1176
-049B 1178
-049D 1180
-049F 1182
-04A1 1184
-04A3 1186
-04A5 1188
-04A7 1190
-04A9 1192
-04AB 1194
-04AD 1196
-04AF 1198
-04B1 1200
-04B3 1202
-04B5 1204
-04B7 1206
-04B9 1208
-04BB 1210
-04BD 1212
-04BF 1214
-04C2 1217
-04C4 1219
-04C6 1221
-04C8 1223
-04CA 1225
-04CC 1227
-04CE 1229
-04CF 1216
-04D1 1232
-04D3 1234
-04D5 1236
-04D7 1238
-04D9 1240
-04DB 1242
-04DD 1244
-04DF 1246
-04E1 1248
-04E3 1250
-04E5 1252
-04E7 1254
-04E9 1256
-04EB 1258
-04ED 1260
-04EF 1262
-04F1 1264
-04F3 1266
-04F5 1268
-04F7 1270
-04F9 1272
-04FB 1274
-04FD 1276
-04FF 1278
-0501 1280
-0503 1282
-0505 1284
-0507 1286
-0509 1288
-050B 1290
-050D 1292
-050F 1294
-0511 1296
-0513 1298
-0515 1300
-0517 1302
-0519 1304
-051B 1306
-051D 1308
-051F 1310
-0521 1312
-0523 1314
-0525 1316
-0527 1318
-0561 0586 1329
-1D79 42877
-1D7D 11363
-1E01 7680
-1E03 7682
-1E05 7684
-1E07 7686
-1E09 7688
-1E0B 7690
-1E0D 7692
-1E0F 7694
-1E11 7696
-1E13 7698
-1E15 7700
-1E17 7702
-1E19 7704
-1E1B 7706
-1E1D 7708
-1E1F 7710
-1E21 7712
-1E23 7714
-1E25 7716
-1E27 7718
-1E29 7720
-1E2B 7722
-1E2D 7724
-1E2F 7726
-1E31 7728
-1E33 7730
-1E35 7732
-1E37 7734
-1E39 7736
-1E3B 7738
-1E3D 7740
-1E3F 7742
-1E41 7744
-1E43 7746
-1E45 7748
-1E47 7750
-1E49 7752
-1E4B 7754
-1E4D 7756
-1E4F 7758
-1E51 7760
-1E53 7762
-1E55 7764
-1E57 7766
-1E59 7768
-1E5B 7770
-1E5D 7772
-1E5F 7774
-1E61 7776
-1E63 7778
-1E65 7780
-1E67 7782
-1E69 7784
-1E6B 7786
-1E6D 7788
-1E6F 7790
-1E71 7792
-1E73 7794
-1E75 7796
-1E77 7798
-1E79 7800
-1E7B 7802
-1E7D 7804
-1E7F 7806
-1E81 7808
-1E83 7810
-1E85 7812
-1E87 7814
-1E89 7816
-1E8B 7818
-1E8D 7820
-1E8F 7822
-1E91 7824
-1E93 7826
-1E95 7828
-1E9B 7776
-1EA1 7840
-1EA3 7842
-1EA5 7844
-1EA7 7846
-1EA9 7848
-1EAB 7850
-1EAD 7852
-1EAF 7854
-1EB1 7856
-1EB3 7858
-1EB5 7860
-1EB7 7862
-1EB9 7864
-1EBB 7866
-1EBD 7868
-1EBF 7870
-1EC1 7872
-1EC3 7874
-1EC5 7876
-1EC7 7878
-1EC9 7880
-1ECB 7882
-1ECD 7884
-1ECF 7886
-1ED1 7888
-1ED3 7890
-1ED5 7892
-1ED7 7894
-1ED9 7896
-1EDB 7898
-1EDD 7900
-1EDF 7902
-1EE1 7904
-1EE3 7906
-1EE5 7908
-1EE7 7910
-1EE9 7912
-1EEB 7914
-1EED 7916
-1EEF 7918
-1EF1 7920
-1EF3 7922
-1EF5 7924
-1EF7 7926
-1EF9 7928
-1EFB 7930
-1EFD 7932
-1EFF 7934
-1F00 1F07 7944
-1F10 1F15 7960
-1F20 1F27 7976
-1F30 1F37 7992
-1F40 1F45 8008
-1F51 8025
-1F53 8027
-1F55 8029
-1F57 8031
-1F60 1F67 8040
-1F70 1F71 8122
-1F72 1F75 8136
-1F76 1F77 8154
-1F78 1F79 8184
-1F7A 1F7B 8170
-1F7C 1F7D 8186
-1F80 1F87 8072
-1F90 1F97 8088
-1FA0 1FA7 8104
-1FB0 1FB1 8120
-1FB3 8124
-1FBE 921
-1FC3 8140
-1FD0 1FD1 8152
-1FE0 1FE1 8168
-1FE5 8172
-1FF3 8188
-214E 8498
-2170 217F 8544
-2184 8579
-24D0 24E9 9398
-2C30 2C5E 11264
-2C61 11360
-2C65 570
-2C66 574
-2C68 11367
-2C6A 11369
-2C6C 11371
-2C73 11378
-2C76 11381
-2C81 11392
-2C83 11394
-2C85 11396
-2C87 11398
-2C89 11400
-2C8B 11402
-2C8D 11404
-2C8F 11406
-2C91 11408
-2C93 11410
-2C95 11412
-2C97 11414
-2C99 11416
-2C9B 11418
-2C9D 11420
-2C9F 11422
-2CA1 11424
-2CA3 11426
-2CA5 11428
-2CA7 11430
-2CA9 11432
-2CAB 11434
-2CAD 11436
-2CAF 11438
-2CB1 11440
-2CB3 11442
-2CB5 11444
-2CB7 11446
-2CB9 11448
-2CBB 11450
-2CBD 11452
-2CBF 11454
-2CC1 11456
-2CC3 11458
-2CC5 11460
-2CC7 11462
-2CC9 11464
-2CCB 11466
-2CCD 11468
-2CCF 11470
-2CD1 11472
-2CD3 11474
-2CD5 11476
-2CD7 11478
-2CD9 11480
-2CDB 11482
-2CDD 11484
-2CDF 11486
-2CE1 11488
-2CE3 11490
-2CEC 11499
-2CEE 11501
-2CF3 11506
-2D00 2D25 4256
-2D27 4295
-2D2D 4301
-A641 42560
-A643 42562
-A645 42564
-A647 42566
-A649 42568
-A64B 42570
-A64D 42572
-A64F 42574
-A651 42576
-A653 42578
-A655 42580
-A657 42582
-A659 42584
-A65B 42586
-A65D 42588
-A65F 42590
-A661 42592
-A663 42594
-A665 42596
-A667 42598
-A669 42600
-A66B 42602
-A66D 42604
-A681 42624
-A683 42626
-A685 42628
-A687 42630
-A689 42632
-A68B 42634
-A68D 42636
-A68F 42638
-A691 42640
-A693 42642
-A695 42644
-A697 42646
-A723 42786
-A725 42788
-A727 42790
-A729 42792
-A72B 42794
-A72D 42796
-A72F 42798
-A733 42802
-A735 42804
-A737 42806
-A739 42808
-A73B 42810
-A73D 42812
-A73F 42814
-A741 42816
-A743 42818
-A745 42820
-A747 42822
-A749 42824
-A74B 42826
-A74D 42828
-A74F 42830
-A751 42832
-A753 42834
-A755 42836
-A757 42838
-A759 42840
-A75B 42842
-A75D 42844
-A75F 42846
-A761 42848
-A763 42850
-A765 42852
-A767 42854
-A769 42856
-A76B 42858
-A76D 42860
-A76F 42862
-A77A 42873
-A77C 42875
-A77F 42878
-A781 42880
-A783 42882
-A785 42884
-A787 42886
-A78C 42891
-A791 42896
-A793 42898
-A7A1 42912
-A7A3 42914
-A7A5 42916
-A7A7 42918
-A7A9 42920
-FF41 FF5A 65313
-10428 1044F 66560
+61 7A 41
+B5 39C
+E0 F6 C0
+F8 FE D8
+FF 178
+101 100
+103 102
+105 104
+107 106
+109 108
+10B 10A
+10D 10C
+10F 10E
+111 110
+113 112
+115 114
+117 116
+119 118
+11B 11A
+11D 11C
+11F 11E
+121 120
+123 122
+125 124
+127 126
+129 128
+12B 12A
+12D 12C
+12F 12E
+131 49
+133 132
+135 134
+137 136
+13A 139
+13C 13B
+13E 13D
+140 13F
+142 141
+144 143
+146 145
+148 147
+14B 14A
+14D 14C
+14F 14E
+151 150
+153 152
+155 154
+157 156
+159 158
+15B 15A
+15D 15C
+15F 15E
+161 160
+163 162
+165 164
+167 166
+169 168
+16B 16A
+16D 16C
+16F 16E
+171 170
+173 172
+175 174
+177 176
+17A 179
+17C 17B
+17E 17D
+17F 53
+180 243
+183 182
+185 184
+188 187
+18C 18B
+192 191
+195 1F6
+199 198
+19A 23D
+19E 220
+1A1 1A0
+1A3 1A2
+1A5 1A4
+1A8 1A7
+1AD 1AC
+1B0 1AF
+1B4 1B3
+1B6 1B5
+1B9 1B8
+1BD 1BC
+1BF 1F7
+1C4 1C5
+1C6 1C5
+1C7 1C8
+1C9 1C8
+1CA 1CB
+1CC 1CB
+1CE 1CD
+1D0 1CF
+1D2 1D1
+1D4 1D3
+1D6 1D5
+1D8 1D7
+1DA 1D9
+1DC 1DB
+1DD 18E
+1DF 1DE
+1E1 1E0
+1E3 1E2
+1E5 1E4
+1E7 1E6
+1E9 1E8
+1EB 1EA
+1ED 1EC
+1EF 1EE
+1F1 1F2
+1F3 1F2
+1F5 1F4
+1F9 1F8
+1FB 1FA
+1FD 1FC
+1FF 1FE
+201 200
+203 202
+205 204
+207 206
+209 208
+20B 20A
+20D 20C
+20F 20E
+211 210
+213 212
+215 214
+217 216
+219 218
+21B 21A
+21D 21C
+21F 21E
+223 222
+225 224
+227 226
+229 228
+22B 22A
+22D 22C
+22F 22E
+231 230
+233 232
+23C 23B
+23F 240 2C7E
+242 241
+247 246
+249 248
+24B 24A
+24D 24C
+24F 24E
+250 2C6F
+251 2C6D
+252 2C70
+253 181
+254 186
+256 257 189
+259 18F
+25B 190
+260 193
+263 194
+265 A78D
+266 A7AA
+268 197
+269 196
+26B 2C62
+26F 19C
+271 2C6E
+272 19D
+275 19F
+27D 2C64
+280 1A6
+283 1A9
+288 1AE
+289 244
+28A 28B 1B1
+28C 245
+292 1B7
+345 399
+371 370
+373 372
+377 376
+37B 37D 3FD
+3AC 386
+3AD 3AF 388
+3B1 3C1 391
+3C2 3A3
+3C3 3CB 3A3
+3CC 38C
+3CD 3CE 38E
+3D0 392
+3D1 398
+3D5 3A6
+3D6 3A0
+3D7 3CF
+3D9 3D8
+3DB 3DA
+3DD 3DC
+3DF 3DE
+3E1 3E0
+3E3 3E2
+3E5 3E4
+3E7 3E6
+3E9 3E8
+3EB 3EA
+3ED 3EC
+3EF 3EE
+3F0 39A
+3F1 3A1
+3F2 3F9
+3F5 395
+3F8 3F7
+3FB 3FA
+430 44F 410
+450 45F 400
+461 460
+463 462
+465 464
+467 466
+469 468
+46B 46A
+46D 46C
+46F 46E
+471 470
+473 472
+475 474
+477 476
+479 478
+47B 47A
+47D 47C
+47F 47E
+481 480
+48B 48A
+48D 48C
+48F 48E
+491 490
+493 492
+495 494
+497 496
+499 498
+49B 49A
+49D 49C
+49F 49E
+4A1 4A0
+4A3 4A2
+4A5 4A4
+4A7 4A6
+4A9 4A8
+4AB 4AA
+4AD 4AC
+4AF 4AE
+4B1 4B0
+4B3 4B2
+4B5 4B4
+4B7 4B6
+4B9 4B8
+4BB 4BA
+4BD 4BC
+4BF 4BE
+4C2 4C1
+4C4 4C3
+4C6 4C5
+4C8 4C7
+4CA 4C9
+4CC 4CB
+4CE 4CD
+4CF 4C0
+4D1 4D0
+4D3 4D2
+4D5 4D4
+4D7 4D6
+4D9 4D8
+4DB 4DA
+4DD 4DC
+4DF 4DE
+4E1 4E0
+4E3 4E2
+4E5 4E4
+4E7 4E6
+4E9 4E8
+4EB 4EA
+4ED 4EC
+4EF 4EE
+4F1 4F0
+4F3 4F2
+4F5 4F4
+4F7 4F6
+4F9 4F8
+4FB 4FA
+4FD 4FC
+4FF 4FE
+501 500
+503 502
+505 504
+507 506
+509 508
+50B 50A
+50D 50C
+50F 50E
+511 510
+513 512
+515 514
+517 516
+519 518
+51B 51A
+51D 51C
+51F 51E
+521 520
+523 522
+525 524
+527 526
+561 586 531
+1D79 A77D
+1D7D 2C63
+1E01 1E00
+1E03 1E02
+1E05 1E04
+1E07 1E06
+1E09 1E08
+1E0B 1E0A
+1E0D 1E0C
+1E0F 1E0E
+1E11 1E10
+1E13 1E12
+1E15 1E14
+1E17 1E16
+1E19 1E18
+1E1B 1E1A
+1E1D 1E1C
+1E1F 1E1E
+1E21 1E20
+1E23 1E22
+1E25 1E24
+1E27 1E26
+1E29 1E28
+1E2B 1E2A
+1E2D 1E2C
+1E2F 1E2E
+1E31 1E30
+1E33 1E32
+1E35 1E34
+1E37 1E36
+1E39 1E38
+1E3B 1E3A
+1E3D 1E3C
+1E3F 1E3E
+1E41 1E40
+1E43 1E42
+1E45 1E44
+1E47 1E46
+1E49 1E48
+1E4B 1E4A
+1E4D 1E4C
+1E4F 1E4E
+1E51 1E50
+1E53 1E52
+1E55 1E54
+1E57 1E56
+1E59 1E58
+1E5B 1E5A
+1E5D 1E5C
+1E5F 1E5E
+1E61 1E60
+1E63 1E62
+1E65 1E64
+1E67 1E66
+1E69 1E68
+1E6B 1E6A
+1E6D 1E6C
+1E6F 1E6E
+1E71 1E70
+1E73 1E72
+1E75 1E74
+1E77 1E76
+1E79 1E78
+1E7B 1E7A
+1E7D 1E7C
+1E7F 1E7E
+1E81 1E80
+1E83 1E82
+1E85 1E84
+1E87 1E86
+1E89 1E88
+1E8B 1E8A
+1E8D 1E8C
+1E8F 1E8E
+1E91 1E90
+1E93 1E92
+1E95 1E94
+1E9B 1E60
+1EA1 1EA0
+1EA3 1EA2
+1EA5 1EA4
+1EA7 1EA6
+1EA9 1EA8
+1EAB 1EAA
+1EAD 1EAC
+1EAF 1EAE
+1EB1 1EB0
+1EB3 1EB2
+1EB5 1EB4
+1EB7 1EB6
+1EB9 1EB8
+1EBB 1EBA
+1EBD 1EBC
+1EBF 1EBE
+1EC1 1EC0
+1EC3 1EC2
+1EC5 1EC4
+1EC7 1EC6
+1EC9 1EC8
+1ECB 1ECA
+1ECD 1ECC
+1ECF 1ECE
+1ED1 1ED0
+1ED3 1ED2
+1ED5 1ED4
+1ED7 1ED6
+1ED9 1ED8
+1EDB 1EDA
+1EDD 1EDC
+1EDF 1EDE
+1EE1 1EE0
+1EE3 1EE2
+1EE5 1EE4
+1EE7 1EE6
+1EE9 1EE8
+1EEB 1EEA
+1EED 1EEC
+1EEF 1EEE
+1EF1 1EF0
+1EF3 1EF2
+1EF5 1EF4
+1EF7 1EF6
+1EF9 1EF8
+1EFB 1EFA
+1EFD 1EFC
+1EFF 1EFE
+1F00 1F07 1F08
+1F10 1F15 1F18
+1F20 1F27 1F28
+1F30 1F37 1F38
+1F40 1F45 1F48
+1F51 1F59
+1F53 1F5B
+1F55 1F5D
+1F57 1F5F
+1F60 1F67 1F68
+1F70 1F71 1FBA
+1F72 1F75 1FC8
+1F76 1F77 1FDA
+1F78 1F79 1FF8
+1F7A 1F7B 1FEA
+1F7C 1F7D 1FFA
+1F80 1F87 1F88
+1F90 1F97 1F98
+1FA0 1FA7 1FA8
+1FB0 1FB1 1FB8
+1FB3 1FBC
+1FBE 399
+1FC3 1FCC
+1FD0 1FD1 1FD8
+1FE0 1FE1 1FE8
+1FE5 1FEC
+1FF3 1FFC
+214E 2132
+2170 217F 2160
+2184 2183
+24D0 24E9 24B6
+2C30 2C5E 2C00
+2C61 2C60
+2C65 23A
+2C66 23E
+2C68 2C67
+2C6A 2C69
+2C6C 2C6B
+2C73 2C72
+2C76 2C75
+2C81 2C80
+2C83 2C82
+2C85 2C84
+2C87 2C86
+2C89 2C88
+2C8B 2C8A
+2C8D 2C8C
+2C8F 2C8E
+2C91 2C90
+2C93 2C92
+2C95 2C94
+2C97 2C96
+2C99 2C98
+2C9B 2C9A
+2C9D 2C9C
+2C9F 2C9E
+2CA1 2CA0
+2CA3 2CA2
+2CA5 2CA4
+2CA7 2CA6
+2CA9 2CA8
+2CAB 2CAA
+2CAD 2CAC
+2CAF 2CAE
+2CB1 2CB0
+2CB3 2CB2
+2CB5 2CB4
+2CB7 2CB6
+2CB9 2CB8
+2CBB 2CBA
+2CBD 2CBC
+2CBF 2CBE
+2CC1 2CC0
+2CC3 2CC2
+2CC5 2CC4
+2CC7 2CC6
+2CC9 2CC8
+2CCB 2CCA
+2CCD 2CCC
+2CCF 2CCE
+2CD1 2CD0
+2CD3 2CD2
+2CD5 2CD4
+2CD7 2CD6
+2CD9 2CD8
+2CDB 2CDA
+2CDD 2CDC
+2CDF 2CDE
+2CE1 2CE0
+2CE3 2CE2
+2CEC 2CEB
+2CEE 2CED
+2CF3 2CF2
+2D00 2D25 10A0
+2D27 10C7
+2D2D 10CD
+A641 A640
+A643 A642
+A645 A644
+A647 A646
+A649 A648
+A64B A64A
+A64D A64C
+A64F A64E
+A651 A650
+A653 A652
+A655 A654
+A657 A656
+A659 A658
+A65B A65A
+A65D A65C
+A65F A65E
+A661 A660
+A663 A662
+A665 A664
+A667 A666
+A669 A668
+A66B A66A
+A66D A66C
+A681 A680
+A683 A682
+A685 A684
+A687 A686
+A689 A688
+A68B A68A
+A68D A68C
+A68F A68E
+A691 A690
+A693 A692
+A695 A694
+A697 A696
+A723 A722
+A725 A724
+A727 A726
+A729 A728
+A72B A72A
+A72D A72C
+A72F A72E
+A733 A732
+A735 A734
+A737 A736
+A739 A738
+A73B A73A
+A73D A73C
+A73F A73E
+A741 A740
+A743 A742
+A745 A744
+A747 A746
+A749 A748
+A74B A74A
+A74D A74C
+A74F A74E
+A751 A750
+A753 A752
+A755 A754
+A757 A756
+A759 A758
+A75B A75A
+A75D A75C
+A75F A75E
+A761 A760
+A763 A762
+A765 A764
+A767 A766
+A769 A768
+A76B A76A
+A76D A76C
+A76F A76E
+A77A A779
+A77C A77B
+A77F A77E
+A781 A780
+A783 A782
+A785 A784
+A787 A786
+A78C A78B
+A791 A790
+A793 A792
+A7A1 A7A0
+A7A3 A7A2
+A7A5 A7A4
+A7A7 A7A6
+A7A9 A7A8
+FF41 FF5A FF21
+10428 1044F 10400
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
index e101342788d..558ea4427dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl
index 46a76c58a39..1a804cb3def 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# The mappings in the non-hash portion of this file must be modified to get the
@@ -15,7 +16,7 @@
# 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{'ToUc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToUc'}{'format'} = 'ax'; # mapped value in hex; some entries need adjustment
$utf8::SwashInfo{'ToUc'}{'specials_name'} = 'utf8::ToSpecUc'; # Name of hash of special mappings
$utf8::SwashInfo{'ToUc'}{'missing'} = '0'; # code point maps to itself
@@ -132,630 +133,630 @@ $utf8::SwashInfo{'ToUc'}{'missing'} = '0'; # code point maps to itself
);
return <<'END';
-0061 007A 65
-00B5 924
-00E0 00F6 192
-00F8 00FE 216
-00FF 376
-0101 256
-0103 258
-0105 260
-0107 262
-0109 264
-010B 266
-010D 268
-010F 270
-0111 272
-0113 274
-0115 276
-0117 278
-0119 280
-011B 282
-011D 284
-011F 286
-0121 288
-0123 290
-0125 292
-0127 294
-0129 296
-012B 298
-012D 300
-012F 302
-0131 73
-0133 306
-0135 308
-0137 310
-013A 313
-013C 315
-013E 317
-0140 319
-0142 321
-0144 323
-0146 325
-0148 327
-014B 330
-014D 332
-014F 334
-0151 336
-0153 338
-0155 340
-0157 342
-0159 344
-015B 346
-015D 348
-015F 350
-0161 352
-0163 354
-0165 356
-0167 358
-0169 360
-016B 362
-016D 364
-016F 366
-0171 368
-0173 370
-0175 372
-0177 374
-017A 377
-017C 379
-017E 381
-017F 83
-0180 579
-0183 386
-0185 388
-0188 391
-018C 395
-0192 401
-0195 502
-0199 408
-019A 573
-019E 544
-01A1 416
-01A3 418
-01A5 420
-01A8 423
-01AD 428
-01B0 431
-01B4 435
-01B6 437
-01B9 440
-01BD 444
-01BF 503
-01C5 452
-01C6 452
-01C8 455
-01C9 455
-01CB 458
-01CC 458
-01CE 461
-01D0 463
-01D2 465
-01D4 467
-01D6 469
-01D8 471
-01DA 473
-01DC 475
-01DD 398
-01DF 478
-01E1 480
-01E3 482
-01E5 484
-01E7 486
-01E9 488
-01EB 490
-01ED 492
-01EF 494
-01F2 497
-01F3 497
-01F5 500
-01F9 504
-01FB 506
-01FD 508
-01FF 510
-0201 512
-0203 514
-0205 516
-0207 518
-0209 520
-020B 522
-020D 524
-020F 526
-0211 528
-0213 530
-0215 532
-0217 534
-0219 536
-021B 538
-021D 540
-021F 542
-0223 546
-0225 548
-0227 550
-0229 552
-022B 554
-022D 556
-022F 558
-0231 560
-0233 562
-023C 571
-023F 0240 11390
-0242 577
-0247 582
-0249 584
-024B 586
-024D 588
-024F 590
-0250 11375
-0251 11373
-0252 11376
-0253 385
-0254 390
-0256 0257 393
-0259 399
-025B 400
-0260 403
-0263 404
-0265 42893
-0266 42922
-0268 407
-0269 406
-026B 11362
-026F 412
-0271 11374
-0272 413
-0275 415
-027D 11364
-0280 422
-0283 425
-0288 430
-0289 580
-028A 028B 433
-028C 581
-0292 439
-0345 921
-0371 880
-0373 882
-0377 886
-037B 037D 1021
-03AC 902
-03AD 03AF 904
-03B1 03C1 913
-03C2 931
-03C3 03CB 931
-03CC 908
-03CD 03CE 910
-03D0 914
-03D1 920
-03D5 934
-03D6 928
-03D7 975
-03D9 984
-03DB 986
-03DD 988
-03DF 990
-03E1 992
-03E3 994
-03E5 996
-03E7 998
-03E9 1000
-03EB 1002
-03ED 1004
-03EF 1006
-03F0 922
-03F1 929
-03F2 1017
-03F5 917
-03F8 1015
-03FB 1018
-0430 044F 1040
-0450 045F 1024
-0461 1120
-0463 1122
-0465 1124
-0467 1126
-0469 1128
-046B 1130
-046D 1132
-046F 1134
-0471 1136
-0473 1138
-0475 1140
-0477 1142
-0479 1144
-047B 1146
-047D 1148
-047F 1150
-0481 1152
-048B 1162
-048D 1164
-048F 1166
-0491 1168
-0493 1170
-0495 1172
-0497 1174
-0499 1176
-049B 1178
-049D 1180
-049F 1182
-04A1 1184
-04A3 1186
-04A5 1188
-04A7 1190
-04A9 1192
-04AB 1194
-04AD 1196
-04AF 1198
-04B1 1200
-04B3 1202
-04B5 1204
-04B7 1206
-04B9 1208
-04BB 1210
-04BD 1212
-04BF 1214
-04C2 1217
-04C4 1219
-04C6 1221
-04C8 1223
-04CA 1225
-04CC 1227
-04CE 1229
-04CF 1216
-04D1 1232
-04D3 1234
-04D5 1236
-04D7 1238
-04D9 1240
-04DB 1242
-04DD 1244
-04DF 1246
-04E1 1248
-04E3 1250
-04E5 1252
-04E7 1254
-04E9 1256
-04EB 1258
-04ED 1260
-04EF 1262
-04F1 1264
-04F3 1266
-04F5 1268
-04F7 1270
-04F9 1272
-04FB 1274
-04FD 1276
-04FF 1278
-0501 1280
-0503 1282
-0505 1284
-0507 1286
-0509 1288
-050B 1290
-050D 1292
-050F 1294
-0511 1296
-0513 1298
-0515 1300
-0517 1302
-0519 1304
-051B 1306
-051D 1308
-051F 1310
-0521 1312
-0523 1314
-0525 1316
-0527 1318
-0561 0586 1329
-1D79 42877
-1D7D 11363
-1E01 7680
-1E03 7682
-1E05 7684
-1E07 7686
-1E09 7688
-1E0B 7690
-1E0D 7692
-1E0F 7694
-1E11 7696
-1E13 7698
-1E15 7700
-1E17 7702
-1E19 7704
-1E1B 7706
-1E1D 7708
-1E1F 7710
-1E21 7712
-1E23 7714
-1E25 7716
-1E27 7718
-1E29 7720
-1E2B 7722
-1E2D 7724
-1E2F 7726
-1E31 7728
-1E33 7730
-1E35 7732
-1E37 7734
-1E39 7736
-1E3B 7738
-1E3D 7740
-1E3F 7742
-1E41 7744
-1E43 7746
-1E45 7748
-1E47 7750
-1E49 7752
-1E4B 7754
-1E4D 7756
-1E4F 7758
-1E51 7760
-1E53 7762
-1E55 7764
-1E57 7766
-1E59 7768
-1E5B 7770
-1E5D 7772
-1E5F 7774
-1E61 7776
-1E63 7778
-1E65 7780
-1E67 7782
-1E69 7784
-1E6B 7786
-1E6D 7788
-1E6F 7790
-1E71 7792
-1E73 7794
-1E75 7796
-1E77 7798
-1E79 7800
-1E7B 7802
-1E7D 7804
-1E7F 7806
-1E81 7808
-1E83 7810
-1E85 7812
-1E87 7814
-1E89 7816
-1E8B 7818
-1E8D 7820
-1E8F 7822
-1E91 7824
-1E93 7826
-1E95 7828
-1E9B 7776
-1EA1 7840
-1EA3 7842
-1EA5 7844
-1EA7 7846
-1EA9 7848
-1EAB 7850
-1EAD 7852
-1EAF 7854
-1EB1 7856
-1EB3 7858
-1EB5 7860
-1EB7 7862
-1EB9 7864
-1EBB 7866
-1EBD 7868
-1EBF 7870
-1EC1 7872
-1EC3 7874
-1EC5 7876
-1EC7 7878
-1EC9 7880
-1ECB 7882
-1ECD 7884
-1ECF 7886
-1ED1 7888
-1ED3 7890
-1ED5 7892
-1ED7 7894
-1ED9 7896
-1EDB 7898
-1EDD 7900
-1EDF 7902
-1EE1 7904
-1EE3 7906
-1EE5 7908
-1EE7 7910
-1EE9 7912
-1EEB 7914
-1EED 7916
-1EEF 7918
-1EF1 7920
-1EF3 7922
-1EF5 7924
-1EF7 7926
-1EF9 7928
-1EFB 7930
-1EFD 7932
-1EFF 7934
-1F00 1F07 7944
-1F10 1F15 7960
-1F20 1F27 7976
-1F30 1F37 7992
-1F40 1F45 8008
-1F51 8025
-1F53 8027
-1F55 8029
-1F57 8031
-1F60 1F67 8040
-1F70 1F71 8122
-1F72 1F75 8136
-1F76 1F77 8154
-1F78 1F79 8184
-1F7A 1F7B 8170
-1F7C 1F7D 8186
-1F80 1F87 8072
-1F90 1F97 8088
-1FA0 1FA7 8104
-1FB0 1FB1 8120
-1FB3 8124
-1FBE 921
-1FC3 8140
-1FD0 1FD1 8152
-1FE0 1FE1 8168
-1FE5 8172
-1FF3 8188
-214E 8498
-2170 217F 8544
-2184 8579
-24D0 24E9 9398
-2C30 2C5E 11264
-2C61 11360
-2C65 570
-2C66 574
-2C68 11367
-2C6A 11369
-2C6C 11371
-2C73 11378
-2C76 11381
-2C81 11392
-2C83 11394
-2C85 11396
-2C87 11398
-2C89 11400
-2C8B 11402
-2C8D 11404
-2C8F 11406
-2C91 11408
-2C93 11410
-2C95 11412
-2C97 11414
-2C99 11416
-2C9B 11418
-2C9D 11420
-2C9F 11422
-2CA1 11424
-2CA3 11426
-2CA5 11428
-2CA7 11430
-2CA9 11432
-2CAB 11434
-2CAD 11436
-2CAF 11438
-2CB1 11440
-2CB3 11442
-2CB5 11444
-2CB7 11446
-2CB9 11448
-2CBB 11450
-2CBD 11452
-2CBF 11454
-2CC1 11456
-2CC3 11458
-2CC5 11460
-2CC7 11462
-2CC9 11464
-2CCB 11466
-2CCD 11468
-2CCF 11470
-2CD1 11472
-2CD3 11474
-2CD5 11476
-2CD7 11478
-2CD9 11480
-2CDB 11482
-2CDD 11484
-2CDF 11486
-2CE1 11488
-2CE3 11490
-2CEC 11499
-2CEE 11501
-2CF3 11506
-2D00 2D25 4256
-2D27 4295
-2D2D 4301
-A641 42560
-A643 42562
-A645 42564
-A647 42566
-A649 42568
-A64B 42570
-A64D 42572
-A64F 42574
-A651 42576
-A653 42578
-A655 42580
-A657 42582
-A659 42584
-A65B 42586
-A65D 42588
-A65F 42590
-A661 42592
-A663 42594
-A665 42596
-A667 42598
-A669 42600
-A66B 42602
-A66D 42604
-A681 42624
-A683 42626
-A685 42628
-A687 42630
-A689 42632
-A68B 42634
-A68D 42636
-A68F 42638
-A691 42640
-A693 42642
-A695 42644
-A697 42646
-A723 42786
-A725 42788
-A727 42790
-A729 42792
-A72B 42794
-A72D 42796
-A72F 42798
-A733 42802
-A735 42804
-A737 42806
-A739 42808
-A73B 42810
-A73D 42812
-A73F 42814
-A741 42816
-A743 42818
-A745 42820
-A747 42822
-A749 42824
-A74B 42826
-A74D 42828
-A74F 42830
-A751 42832
-A753 42834
-A755 42836
-A757 42838
-A759 42840
-A75B 42842
-A75D 42844
-A75F 42846
-A761 42848
-A763 42850
-A765 42852
-A767 42854
-A769 42856
-A76B 42858
-A76D 42860
-A76F 42862
-A77A 42873
-A77C 42875
-A77F 42878
-A781 42880
-A783 42882
-A785 42884
-A787 42886
-A78C 42891
-A791 42896
-A793 42898
-A7A1 42912
-A7A3 42914
-A7A5 42916
-A7A7 42918
-A7A9 42920
-FF41 FF5A 65313
-10428 1044F 66560
+61 7A 41
+B5 39C
+E0 F6 C0
+F8 FE D8
+FF 178
+101 100
+103 102
+105 104
+107 106
+109 108
+10B 10A
+10D 10C
+10F 10E
+111 110
+113 112
+115 114
+117 116
+119 118
+11B 11A
+11D 11C
+11F 11E
+121 120
+123 122
+125 124
+127 126
+129 128
+12B 12A
+12D 12C
+12F 12E
+131 49
+133 132
+135 134
+137 136
+13A 139
+13C 13B
+13E 13D
+140 13F
+142 141
+144 143
+146 145
+148 147
+14B 14A
+14D 14C
+14F 14E
+151 150
+153 152
+155 154
+157 156
+159 158
+15B 15A
+15D 15C
+15F 15E
+161 160
+163 162
+165 164
+167 166
+169 168
+16B 16A
+16D 16C
+16F 16E
+171 170
+173 172
+175 174
+177 176
+17A 179
+17C 17B
+17E 17D
+17F 53
+180 243
+183 182
+185 184
+188 187
+18C 18B
+192 191
+195 1F6
+199 198
+19A 23D
+19E 220
+1A1 1A0
+1A3 1A2
+1A5 1A4
+1A8 1A7
+1AD 1AC
+1B0 1AF
+1B4 1B3
+1B6 1B5
+1B9 1B8
+1BD 1BC
+1BF 1F7
+1C5 1C4
+1C6 1C4
+1C8 1C7
+1C9 1C7
+1CB 1CA
+1CC 1CA
+1CE 1CD
+1D0 1CF
+1D2 1D1
+1D4 1D3
+1D6 1D5
+1D8 1D7
+1DA 1D9
+1DC 1DB
+1DD 18E
+1DF 1DE
+1E1 1E0
+1E3 1E2
+1E5 1E4
+1E7 1E6
+1E9 1E8
+1EB 1EA
+1ED 1EC
+1EF 1EE
+1F2 1F1
+1F3 1F1
+1F5 1F4
+1F9 1F8
+1FB 1FA
+1FD 1FC
+1FF 1FE
+201 200
+203 202
+205 204
+207 206
+209 208
+20B 20A
+20D 20C
+20F 20E
+211 210
+213 212
+215 214
+217 216
+219 218
+21B 21A
+21D 21C
+21F 21E
+223 222
+225 224
+227 226
+229 228
+22B 22A
+22D 22C
+22F 22E
+231 230
+233 232
+23C 23B
+23F 240 2C7E
+242 241
+247 246
+249 248
+24B 24A
+24D 24C
+24F 24E
+250 2C6F
+251 2C6D
+252 2C70
+253 181
+254 186
+256 257 189
+259 18F
+25B 190
+260 193
+263 194
+265 A78D
+266 A7AA
+268 197
+269 196
+26B 2C62
+26F 19C
+271 2C6E
+272 19D
+275 19F
+27D 2C64
+280 1A6
+283 1A9
+288 1AE
+289 244
+28A 28B 1B1
+28C 245
+292 1B7
+345 399
+371 370
+373 372
+377 376
+37B 37D 3FD
+3AC 386
+3AD 3AF 388
+3B1 3C1 391
+3C2 3A3
+3C3 3CB 3A3
+3CC 38C
+3CD 3CE 38E
+3D0 392
+3D1 398
+3D5 3A6
+3D6 3A0
+3D7 3CF
+3D9 3D8
+3DB 3DA
+3DD 3DC
+3DF 3DE
+3E1 3E0
+3E3 3E2
+3E5 3E4
+3E7 3E6
+3E9 3E8
+3EB 3EA
+3ED 3EC
+3EF 3EE
+3F0 39A
+3F1 3A1
+3F2 3F9
+3F5 395
+3F8 3F7
+3FB 3FA
+430 44F 410
+450 45F 400
+461 460
+463 462
+465 464
+467 466
+469 468
+46B 46A
+46D 46C
+46F 46E
+471 470
+473 472
+475 474
+477 476
+479 478
+47B 47A
+47D 47C
+47F 47E
+481 480
+48B 48A
+48D 48C
+48F 48E
+491 490
+493 492
+495 494
+497 496
+499 498
+49B 49A
+49D 49C
+49F 49E
+4A1 4A0
+4A3 4A2
+4A5 4A4
+4A7 4A6
+4A9 4A8
+4AB 4AA
+4AD 4AC
+4AF 4AE
+4B1 4B0
+4B3 4B2
+4B5 4B4
+4B7 4B6
+4B9 4B8
+4BB 4BA
+4BD 4BC
+4BF 4BE
+4C2 4C1
+4C4 4C3
+4C6 4C5
+4C8 4C7
+4CA 4C9
+4CC 4CB
+4CE 4CD
+4CF 4C0
+4D1 4D0
+4D3 4D2
+4D5 4D4
+4D7 4D6
+4D9 4D8
+4DB 4DA
+4DD 4DC
+4DF 4DE
+4E1 4E0
+4E3 4E2
+4E5 4E4
+4E7 4E6
+4E9 4E8
+4EB 4EA
+4ED 4EC
+4EF 4EE
+4F1 4F0
+4F3 4F2
+4F5 4F4
+4F7 4F6
+4F9 4F8
+4FB 4FA
+4FD 4FC
+4FF 4FE
+501 500
+503 502
+505 504
+507 506
+509 508
+50B 50A
+50D 50C
+50F 50E
+511 510
+513 512
+515 514
+517 516
+519 518
+51B 51A
+51D 51C
+51F 51E
+521 520
+523 522
+525 524
+527 526
+561 586 531
+1D79 A77D
+1D7D 2C63
+1E01 1E00
+1E03 1E02
+1E05 1E04
+1E07 1E06
+1E09 1E08
+1E0B 1E0A
+1E0D 1E0C
+1E0F 1E0E
+1E11 1E10
+1E13 1E12
+1E15 1E14
+1E17 1E16
+1E19 1E18
+1E1B 1E1A
+1E1D 1E1C
+1E1F 1E1E
+1E21 1E20
+1E23 1E22
+1E25 1E24
+1E27 1E26
+1E29 1E28
+1E2B 1E2A
+1E2D 1E2C
+1E2F 1E2E
+1E31 1E30
+1E33 1E32
+1E35 1E34
+1E37 1E36
+1E39 1E38
+1E3B 1E3A
+1E3D 1E3C
+1E3F 1E3E
+1E41 1E40
+1E43 1E42
+1E45 1E44
+1E47 1E46
+1E49 1E48
+1E4B 1E4A
+1E4D 1E4C
+1E4F 1E4E
+1E51 1E50
+1E53 1E52
+1E55 1E54
+1E57 1E56
+1E59 1E58
+1E5B 1E5A
+1E5D 1E5C
+1E5F 1E5E
+1E61 1E60
+1E63 1E62
+1E65 1E64
+1E67 1E66
+1E69 1E68
+1E6B 1E6A
+1E6D 1E6C
+1E6F 1E6E
+1E71 1E70
+1E73 1E72
+1E75 1E74
+1E77 1E76
+1E79 1E78
+1E7B 1E7A
+1E7D 1E7C
+1E7F 1E7E
+1E81 1E80
+1E83 1E82
+1E85 1E84
+1E87 1E86
+1E89 1E88
+1E8B 1E8A
+1E8D 1E8C
+1E8F 1E8E
+1E91 1E90
+1E93 1E92
+1E95 1E94
+1E9B 1E60
+1EA1 1EA0
+1EA3 1EA2
+1EA5 1EA4
+1EA7 1EA6
+1EA9 1EA8
+1EAB 1EAA
+1EAD 1EAC
+1EAF 1EAE
+1EB1 1EB0
+1EB3 1EB2
+1EB5 1EB4
+1EB7 1EB6
+1EB9 1EB8
+1EBB 1EBA
+1EBD 1EBC
+1EBF 1EBE
+1EC1 1EC0
+1EC3 1EC2
+1EC5 1EC4
+1EC7 1EC6
+1EC9 1EC8
+1ECB 1ECA
+1ECD 1ECC
+1ECF 1ECE
+1ED1 1ED0
+1ED3 1ED2
+1ED5 1ED4
+1ED7 1ED6
+1ED9 1ED8
+1EDB 1EDA
+1EDD 1EDC
+1EDF 1EDE
+1EE1 1EE0
+1EE3 1EE2
+1EE5 1EE4
+1EE7 1EE6
+1EE9 1EE8
+1EEB 1EEA
+1EED 1EEC
+1EEF 1EEE
+1EF1 1EF0
+1EF3 1EF2
+1EF5 1EF4
+1EF7 1EF6
+1EF9 1EF8
+1EFB 1EFA
+1EFD 1EFC
+1EFF 1EFE
+1F00 1F07 1F08
+1F10 1F15 1F18
+1F20 1F27 1F28
+1F30 1F37 1F38
+1F40 1F45 1F48
+1F51 1F59
+1F53 1F5B
+1F55 1F5D
+1F57 1F5F
+1F60 1F67 1F68
+1F70 1F71 1FBA
+1F72 1F75 1FC8
+1F76 1F77 1FDA
+1F78 1F79 1FF8
+1F7A 1F7B 1FEA
+1F7C 1F7D 1FFA
+1F80 1F87 1F88
+1F90 1F97 1F98
+1FA0 1FA7 1FA8
+1FB0 1FB1 1FB8
+1FB3 1FBC
+1FBE 399
+1FC3 1FCC
+1FD0 1FD1 1FD8
+1FE0 1FE1 1FE8
+1FE5 1FEC
+1FF3 1FFC
+214E 2132
+2170 217F 2160
+2184 2183
+24D0 24E9 24B6
+2C30 2C5E 2C00
+2C61 2C60
+2C65 23A
+2C66 23E
+2C68 2C67
+2C6A 2C69
+2C6C 2C6B
+2C73 2C72
+2C76 2C75
+2C81 2C80
+2C83 2C82
+2C85 2C84
+2C87 2C86
+2C89 2C88
+2C8B 2C8A
+2C8D 2C8C
+2C8F 2C8E
+2C91 2C90
+2C93 2C92
+2C95 2C94
+2C97 2C96
+2C99 2C98
+2C9B 2C9A
+2C9D 2C9C
+2C9F 2C9E
+2CA1 2CA0
+2CA3 2CA2
+2CA5 2CA4
+2CA7 2CA6
+2CA9 2CA8
+2CAB 2CAA
+2CAD 2CAC
+2CAF 2CAE
+2CB1 2CB0
+2CB3 2CB2
+2CB5 2CB4
+2CB7 2CB6
+2CB9 2CB8
+2CBB 2CBA
+2CBD 2CBC
+2CBF 2CBE
+2CC1 2CC0
+2CC3 2CC2
+2CC5 2CC4
+2CC7 2CC6
+2CC9 2CC8
+2CCB 2CCA
+2CCD 2CCC
+2CCF 2CCE
+2CD1 2CD0
+2CD3 2CD2
+2CD5 2CD4
+2CD7 2CD6
+2CD9 2CD8
+2CDB 2CDA
+2CDD 2CDC
+2CDF 2CDE
+2CE1 2CE0
+2CE3 2CE2
+2CEC 2CEB
+2CEE 2CED
+2CF3 2CF2
+2D00 2D25 10A0
+2D27 10C7
+2D2D 10CD
+A641 A640
+A643 A642
+A645 A644
+A647 A646
+A649 A648
+A64B A64A
+A64D A64C
+A64F A64E
+A651 A650
+A653 A652
+A655 A654
+A657 A656
+A659 A658
+A65B A65A
+A65D A65C
+A65F A65E
+A661 A660
+A663 A662
+A665 A664
+A667 A666
+A669 A668
+A66B A66A
+A66D A66C
+A681 A680
+A683 A682
+A685 A684
+A687 A686
+A689 A688
+A68B A68A
+A68D A68C
+A68F A68E
+A691 A690
+A693 A692
+A695 A694
+A697 A696
+A723 A722
+A725 A724
+A727 A726
+A729 A728
+A72B A72A
+A72D A72C
+A72F A72E
+A733 A732
+A735 A734
+A737 A736
+A739 A738
+A73B A73A
+A73D A73C
+A73F A73E
+A741 A740
+A743 A742
+A745 A744
+A747 A746
+A749 A748
+A74B A74A
+A74D A74C
+A74F A74E
+A751 A750
+A753 A752
+A755 A754
+A757 A756
+A759 A758
+A75B A75A
+A75D A75C
+A75F A75E
+A761 A760
+A763 A762
+A765 A764
+A767 A766
+A769 A768
+A76B A76A
+A76D A76C
+A76F A76E
+A77A A779
+A77C A77B
+A77F A77E
+A781 A780
+A783 A782
+A785 A784
+A787 A786
+A78C A78B
+A791 A790
+A793 A792
+A7A1 A7A0
+A7A3 A7A2
+A7A5 A7A4
+A7A7 A7A6
+A7A9 A7A8
+FF41 FF5A FF21
+10428 1044F 10400
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
index 2130d4fa676..3d10f8fb26d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/WB.pl b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
index e44e161753b..405ff7d9ae7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
@@ -16,288 +17,292 @@ $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 0604 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
-08A0 ALetter
-08A2 08AC ALetter
-08E4 08FE 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
+A LF
+B C Newline
+D CR
+22 Double_Quote
+27 Single_Quote
+2C MidNum
+2E MidNumLet
+30 39 Numeric
+3A MidLetter
+3B MidNum
+41 5A ALetter
+5F ExtendNumLet
+61 7A ALetter
+85 Newline
+AA ALetter
+AD Format
+B5 ALetter
+B7 MidLetter
+BA ALetter
+C0 D6 ALetter
+D8 F6 ALetter
+F8 2C1 ALetter
+2C6 2D1 ALetter
+2D7 MidLetter
+2E0 2E4 ALetter
+2EC ALetter
+2EE ALetter
+300 36F Extend
+370 374 ALetter
+376 377 ALetter
+37A 37D ALetter
+37E MidNum
+386 ALetter
+387 MidLetter
+388 38A ALetter
+38C ALetter
+38E 3A1 ALetter
+3A3 3F5 ALetter
+3F7 481 ALetter
+483 489 Extend
+48A 527 ALetter
+531 556 ALetter
+559 ALetter
+561 587 ALetter
+589 MidNum
+591 5BD Extend
+5BF Extend
+5C1 5C2 Extend
+5C4 5C5 Extend
+5C7 Extend
+5D0 5EA Hebrew_Letter
+5F0 5F2 Hebrew_Letter
+5F3 ALetter
+5F4 MidLetter
+600 604 Format
+60C 60D MidNum
+610 61A Extend
+61C Format
+620 64A ALetter
+64B 65F Extend
+660 669 Numeric
+66B Numeric
+66C MidNum
+66E 66F ALetter
+670 Extend
+671 6D3 ALetter
+6D5 ALetter
+6D6 6DC Extend
+6DD Format
+6DF 6E4 Extend
+6E5 6E6 ALetter
+6E7 6E8 Extend
+6EA 6ED Extend
+6EE 6EF ALetter
+6F0 6F9 Numeric
+6FA 6FC ALetter
+6FF ALetter
+70F Format
+710 ALetter
+711 Extend
+712 72F ALetter
+730 74A Extend
+74D 7A5 ALetter
+7A6 7B0 Extend
+7B1 ALetter
+7C0 7C9 Numeric
+7CA 7EA ALetter
+7EB 7F3 Extend
+7F4 7F5 ALetter
+7F8 MidNum
+7FA ALetter
+800 815 ALetter
+816 819 Extend
+81A ALetter
+81B 823 Extend
+824 ALetter
+825 827 Extend
+828 ALetter
+829 82D Extend
+840 858 ALetter
+859 85B Extend
+8A0 ALetter
+8A2 8AC ALetter
+8E4 8FE Extend
+900 903 Extend
+904 939 ALetter
+93A 93C Extend
+93D ALetter
+93E 94F Extend
+950 ALetter
+951 957 Extend
+958 961 ALetter
+962 963 Extend
+966 96F Numeric
+971 977 ALetter
+979 97F ALetter
+981 983 Extend
+985 98C ALetter
+98F 990 ALetter
+993 9A8 ALetter
+9AA 9B0 ALetter
+9B2 ALetter
+9B6 9B9 ALetter
+9BC Extend
+9BD ALetter
+9BE 9C4 Extend
+9C7 9C8 Extend
+9CB 9CD Extend
+9CE ALetter
+9D7 Extend
+9DC 9DD ALetter
+9DF 9E1 ALetter
+9E2 9E3 Extend
+9E6 9EF Numeric
+9F0 9F1 ALetter
+A01 A03 Extend
+A05 A0A ALetter
+A0F A10 ALetter
+A13 A28 ALetter
+A2A A30 ALetter
+A32 A33 ALetter
+A35 A36 ALetter
+A38 A39 ALetter
+A3C Extend
+A3E A42 Extend
+A47 A48 Extend
+A4B A4D Extend
+A51 Extend
+A59 A5C ALetter
+A5E ALetter
+A66 A6F Numeric
+A70 A71 Extend
+A72 A74 ALetter
+A75 Extend
+A81 A83 Extend
+A85 A8D ALetter
+A8F A91 ALetter
+A93 AA8 ALetter
+AAA AB0 ALetter
+AB2 AB3 ALetter
+AB5 AB9 ALetter
+ABC Extend
+ABD ALetter
+ABE AC5 Extend
+AC7 AC9 Extend
+ACB ACD Extend
+AD0 ALetter
+AE0 AE1 ALetter
+AE2 AE3 Extend
+AE6 AEF Numeric
+B01 B03 Extend
+B05 B0C ALetter
+B0F B10 ALetter
+B13 B28 ALetter
+B2A B30 ALetter
+B32 B33 ALetter
+B35 B39 ALetter
+B3C Extend
+B3D ALetter
+B3E B44 Extend
+B47 B48 Extend
+B4B B4D Extend
+B56 B57 Extend
+B5C B5D ALetter
+B5F B61 ALetter
+B62 B63 Extend
+B66 B6F Numeric
+B71 ALetter
+B82 Extend
+B83 ALetter
+B85 B8A ALetter
+B8E B90 ALetter
+B92 B95 ALetter
+B99 B9A ALetter
+B9C ALetter
+B9E B9F ALetter
+BA3 BA4 ALetter
+BA8 BAA ALetter
+BAE BB9 ALetter
+BBE BC2 Extend
+BC6 BC8 Extend
+BCA BCD Extend
+BD0 ALetter
+BD7 Extend
+BE6 BEF Numeric
+C01 C03 Extend
+C05 C0C ALetter
+C0E C10 ALetter
+C12 C28 ALetter
+C2A C33 ALetter
+C35 C39 ALetter
+C3D ALetter
+C3E C44 Extend
+C46 C48 Extend
+C4A C4D Extend
+C55 C56 Extend
+C58 C59 ALetter
+C60 C61 ALetter
+C62 C63 Extend
+C66 C6F Numeric
+C82 C83 Extend
+C85 C8C ALetter
+C8E C90 ALetter
+C92 CA8 ALetter
+CAA CB3 ALetter
+CB5 CB9 ALetter
+CBC Extend
+CBD ALetter
+CBE CC4 Extend
+CC6 CC8 Extend
+CCA CCD Extend
+CD5 CD6 Extend
+CDE ALetter
+CE0 CE1 ALetter
+CE2 CE3 Extend
+CE6 CEF Numeric
+CF1 CF2 ALetter
+D02 D03 Extend
+D05 D0C ALetter
+D0E D10 ALetter
+D12 D3A ALetter
+D3D ALetter
+D3E D44 Extend
+D46 D48 Extend
+D4A D4D Extend
+D4E ALetter
+D57 Extend
+D60 D61 ALetter
+D62 D63 Extend
+D66 D6F Numeric
+D7A D7F ALetter
+D82 D83 Extend
+D85 D96 ALetter
+D9A DB1 ALetter
+DB3 DBB ALetter
+DBD ALetter
+DC0 DC6 ALetter
+DCA Extend
+DCF DD4 Extend
+DD6 Extend
+DD8 DDF Extend
+DF2 DF3 Extend
+E31 Extend
+E34 E3A Extend
+E47 E4E Extend
+E50 E59 Numeric
+EB1 Extend
+EB4 EB9 Extend
+EBB EBC Extend
+EC8 ECD Extend
+ED0 ED9 Numeric
+F00 ALetter
+F18 F19 Extend
+F20 F29 Numeric
+F35 Extend
+F37 Extend
+F39 Extend
+F3E F3F Extend
+F40 F47 ALetter
+F49 F6C ALetter
+F71 F84 Extend
+F86 F87 Extend
+F88 F8C ALetter
+F8D F97 Extend
+F99 FBC Extend
+FC6 Extend
102B 103E Extend
1040 1049 Numeric
1056 1059 Extend
@@ -351,6 +356,7 @@ return <<'END';
17DD Extend
17E0 17E9 Numeric
180B 180D Extend
+180E Format
1810 1819 Numeric
1820 1877 ALetter
1880 18A8 ALetter
@@ -430,7 +436,7 @@ return <<'END';
2044 MidNum
2054 ExtendNumLet
2060 2064 Format
-206A 206F Format
+2066 206F Format
2071 ALetter
207F ALetter
2090 209C ALetter
@@ -563,15 +569,16 @@ D7B0 D7C6 ALetter
D7CB D7FB ALetter
FB00 FB06 ALetter
FB13 FB17 ALetter
-FB1D ALetter
+FB1D Hebrew_Letter
FB1E Extend
-FB1F FB28 ALetter
-FB2A FB36 ALetter
-FB38 FB3C ALetter
-FB3E ALetter
-FB40 FB41 ALetter
-FB43 FB44 ALetter
-FB46 FBB1 ALetter
+FB1F FB28 Hebrew_Letter
+FB2A FB36 Hebrew_Letter
+FB38 FB3C Hebrew_Letter
+FB3E Hebrew_Letter
+FB40 FB41 Hebrew_Letter
+FB43 FB44 Hebrew_Letter
+FB46 FB4F Hebrew_Letter
+FB50 FBB1 ALetter
FBD3 FD3D ALetter
FD50 FD8F ALetter
FD92 FDC7 ALetter
diff --git a/Master/tlpkg/tlperl/lib/unicore/UCD.pl b/Master/tlpkg/tlperl/lib/unicore/UCD.pl
index c580d234be7..a5c69855100 100644
--- a/Master/tlpkg/tlperl/lib/unicore/UCD.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/UCD.pl
@@ -1,12 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
# This file is for the use of Unicode::UCD
@@ -35,6 +36,7 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'age=6.0' => '6.0',
'age=6.1' => '6.1',
'age=6.2' => '6.2',
+'age=6.3' => '6.3',
'age=na' => 'na',
'age=unassigned' => 'na',
'age=v11' => '1.1',
@@ -51,6 +53,7 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'age=v60' => '6.0',
'age=v61' => '6.1',
'age=v62' => '6.2',
+'age=v63' => '6.3',
'ahex=f' => 'n',
'ahex=false' => 'n',
'ahex=n' => 'n',
@@ -82,11 +85,15 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'bc=europeannumber' => 'en',
'bc=europeanseparator' => 'es',
'bc=europeanterminator' => 'et',
+'bc=firststrongisolate' => 'fsi',
+'bc=fsi' => 'fsi',
'bc=l' => 'l',
'bc=lefttoright' => 'l',
'bc=lefttorightembedding' => 'lre',
+'bc=lefttorightisolate' => 'lri',
'bc=lefttorightoverride' => 'lro',
'bc=lre' => 'lre',
+'bc=lri' => 'lri',
'bc=lro' => 'lro',
'bc=nonspacingmark' => 'nsm',
'bc=nsm' => 'nsm',
@@ -94,12 +101,16 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'bc=otherneutral' => 'on',
'bc=paragraphseparator' => 'b',
'bc=pdf' => 'pdf',
+'bc=pdi' => 'pdi',
'bc=popdirectionalformat' => 'pdf',
+'bc=popdirectionalisolate' => 'pdi',
'bc=r' => 'r',
'bc=righttoleft' => 'r',
'bc=righttoleftembedding' => 'rle',
+'bc=righttoleftisolate' => 'rli',
'bc=righttoleftoverride' => 'rlo',
'bc=rle' => 'rle',
+'bc=rli' => 'rli',
'bc=rlo' => 'rlo',
'bc=s' => 's',
'bc=segmentseparator' => 's',
@@ -449,6 +460,12 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'blk=yijinghexagramsymbols' => 'yijing',
'blk=yiradicals' => 'yiradicals',
'blk=yisyllables' => 'yisyllables',
+'bpt=c' => 'c',
+'bpt=close' => 'c',
+'bpt=n' => 'n',
+'bpt=none' => 'n',
+'bpt=o' => 'o',
+'bpt=open' => 'o',
'cased=f' => 'n',
'cased=false' => 'n',
'cased=n' => 'n',
@@ -948,6 +965,7 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'in=6.0' => '6.0',
'in=6.1' => '6.1',
'in=6.2' => '6.2',
+'in=6.3' => '6.3',
'in=unassigned' => 'unassigned',
'jg=ain' => 'ain',
'jg=alaph' => 'alaph',
@@ -1163,7 +1181,6 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'nt=none' => 'none',
'nt=nu' => 'nu',
'nt=numeric' => 'nu',
-'nv=-1' => -1,
'nv=-1/2' => '-1/2',
'nv=0' => 0,
'nv=1' => 1,
@@ -1800,11 +1817,15 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'vs=yes' => 'y',
'wb=aletter' => 'le',
'wb=cr' => 'cr',
+'wb=doublequote' => 'dq',
+'wb=dq' => 'dq',
'wb=ex' => 'ex',
'wb=extend' => 'extend',
'wb=extendnumlet' => 'ex',
'wb=fo' => 'fo',
'wb=format' => 'fo',
+'wb=hebrewletter' => 'hl',
+'wb=hl' => 'hl',
'wb=ka' => 'ka',
'wb=katakana' => 'ka',
'wb=le' => 'le',
@@ -1822,6 +1843,8 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'wb=other' => 'xx',
'wb=regionalindicator' => 'ri',
'wb=ri' => 'ri',
+'wb=singlequote' => 'sq',
+'wb=sq' => 'sq',
'wb=xx' => 'xx',
'wspace=f' => 'n',
'wspace=false' => 'n',
@@ -1852,7 +1875,9 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
# String property loose names to standard loose name
%Unicode::UCD::string_property_loose_to_name = (
'bidimirroringglyph' => 'bmg',
+'bidipairedbracket' => 'bpb',
'bmg' => 'bmg',
+'bpb' => 'bpb',
'casefolding' => 'cf',
'cf' => 'cf',
'decompositionmapping' => 'dm',
@@ -1860,11 +1885,6 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'isc' => 'isc',
'isocomment' => 'isc',
'lc' => 'lc',
-'legacycasefolding' => 'legacycasefolding',
-'legacylowercasemapping' => 'legacylowercasemapping',
-'legacyperldecimaldigit' => 'legacyperldecimaldigit',
-'legacytitlecasemapping' => 'legacytitlecasemapping',
-'legacyuppercasemapping' => 'legacyuppercasemapping',
'lowercasemapping' => 'lc',
'na' => 'na',
'na1' => 'na1',
@@ -1894,8 +1914,6 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
%Unicode::UCD::loose_perlprop_to_name = (
'all' =>
[
-'Any',
-'Any',
'All',
],
'alnum' =>
@@ -1914,7 +1932,7 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
[
'Any',
'Any',
-'All',
+'Unicode',
],
'ascii' =>
[
@@ -2058,6 +2076,12 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'Title',
'Titlecase',
],
+'unicode' =>
+[
+'Any',
+'Any',
+'Unicode',
+],
'upper' =>
[
'Upper',
@@ -2207,6 +2231,16 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'bmg',
'Bidi_Mirroring_Glyph',
],
+'bpb' =>
+[
+'bpb',
+'Bidi_Paired_Bracket',
+],
+'bpt' =>
+[
+'bpt',
+'Bidi_Paired_Bracket_Type',
+],
'cased' =>
[
'Cased',
@@ -2403,31 +2437,6 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'lc',
'Lowercase_Mapping',
],
-'legacycasefolding' =>
-[
-'Legacy_Case_Folding',
-'Legacy_Case_Folding',
-],
-'legacylowercasemapping' =>
-[
-'Legacy_Lowercase_Mapping',
-'Legacy_Lowercase_Mapping',
-],
-'legacyperldecimaldigit' =>
-[
-'Legacy_Perl_Decimal_Digit',
-'Legacy_Perl_Decimal_Digit',
-],
-'legacytitlecasemapping' =>
-[
-'Legacy_Titlecase_Mapping',
-'Legacy_Titlecase_Mapping',
-],
-'legacyuppercasemapping' =>
-[
-'Legacy_Uppercase_Mapping',
-'Legacy_Uppercase_Mapping',
-],
'loe' =>
[
'LOE',
@@ -2699,6 +2708,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'6.2',
'V6_2',
],
+'6.3' =>
+[
+'6.3',
+'V6_3',
+],
'na' =>
[
'NA',
@@ -2781,6 +2795,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'ET',
'European_Terminator',
],
+'fsi' =>
+[
+'FSI',
+'First_Strong_Isolate',
+],
'l' =>
[
'L',
@@ -2791,6 +2810,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'LRE',
'Left_To_Right_Embedding',
],
+'lri' =>
+[
+'LRI',
+'Left_To_Right_Isolate',
+],
'lro' =>
[
'LRO',
@@ -2811,6 +2835,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'PDF',
'Pop_Directional_Format',
],
+'pdi' =>
+[
+'PDI',
+'Pop_Directional_Isolate',
+],
'r' =>
[
'R',
@@ -2821,6 +2850,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'RLE',
'Right_To_Left_Embedding',
],
+'rli' =>
+[
+'RLI',
+'Right_To_Left_Isolate',
+],
'rlo' =>
[
'RLO',
@@ -3865,6 +3899,24 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'Yi_Syllables',
],
},
+'bpt' =>
+{
+'c' =>
+[
+'c',
+'Close',
+],
+'n' =>
+[
+'n',
+'None',
+],
+'o' =>
+[
+'o',
+'Open',
+],
+},
'cased' =>
{
'n' =>
@@ -5094,6 +5146,10 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
[
'6.2',
],
+'6.3' =>
+[
+'6.3',
+],
'unassigned' =>
[
'Unassigned',
@@ -5738,10 +5794,6 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
},
'nv' =>
{
--1 =>
-[
--1,
-],
'-1/2' =>
[
'-1/2',
@@ -7507,6 +7559,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
[
'CR',
],
+'dq' =>
+[
+'DQ',
+'Double_Quote',
+],
'ex' =>
[
'EX',
@@ -7521,6 +7578,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'FO',
'Format',
],
+'hl' =>
+[
+'HL',
+'Hebrew_Letter',
+],
'ka' =>
[
'KA',
@@ -7565,6 +7627,11 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'RI',
'Regional_Indicator',
],
+'sq' =>
+[
+'SQ',
+'Single_Quote',
+],
'xx' =>
[
'XX',
@@ -7710,6 +7777,8 @@ $Unicode::UCD::HANGUL_COUNT = 11172;
'bidim=no' => 1,
'blk=nb' => 1,
'blk=noblock' => 1,
+'bpt=n' => 1,
+'bpt=none' => 1,
'cased=f' => 1,
'cased=false' => 1,
'cased=n' => 1,
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl
index c0bf116b149..5957cbc3b95 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl
@@ -1,560 +1,1111 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0528 0530
-0557 0558
-0560
-0588
-058B 058E
-0590
-05C8 05CF
-05EB 05EF
-05F5 05FF
-0605
-061C 061D
-070E
-074B 074C
-07B2 07BF
-07FB 07FF
-082E 082F
-083F
-085C 085D
-085F 089F
-08A1
-08AD 08E3
-08FF
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09FC 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF2 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B78 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF5 0E00
-0E3B 0E3E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F48
-0F6D 0F70
-0F98
-0FBD
-0FCD
-0FDB 0FFF
-10C6
-10C8 10CC
-10CE 10CF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17DE 17DF
-17EA 17EF
-17FA 17FF
-180F
-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
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1AFF
-1B4C 1B4F
-1B7D 1B7F
-1BF4 1BFB
-1C38 1C3A
-1C4A 1C4C
-1C80 1CBF
-1CC8 1CCF
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-2065 2069
-2072 2073
-208F
-209D 209F
-20BB 20CF
-20F1 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CF4 2CF8
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D71 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DB6 4DBF
-9FCD 9FFF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A698 A69E
-A6F8 A6FF
-A78F
-A794 A79F
-A7AB A7F7
-A82C A82F
-A83A A83F
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8FC A8FF
-A954 A95E
-A97D A97F
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAC3 AADA
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC D7FF
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDCF
-FDFE FDFF
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FEFE
-FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFF8
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11144 1117F
-111C9 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D1DE 1D1FF
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1EEEF
-1EEF2 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16C 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 1F53F
-1F544 1F54F
-1F568 1F5FA
-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
-E0080 E00FF
-E01F0 EFFFD
+V1097
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl
index d5d6f5d4377..76e1291caf0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl
@@ -1,300 +1,590 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 01F5
-01FA 0217
-0250 02A8
-02B0 02DE
-02E0 02E9
-0300 0345
-0360 0361
-0374 0375
-037A
-037E
-0384 038A
-038C
-038E 03A1
-03A3 03CE
-03D0 03D6
-03DA
-03DC
-03DE
-03E0
-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
-05BB 05C3
-05D0 05EA
-05F0 05F4
-060C
-061B
-061F
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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
-10A0 10C5
-10D0 10F6
-10FB
-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
-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
-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
-2756
-2758 275E
-2761 2767
-2776 2794
-2798 27AF
-27B1 27BE
-3000 3037
-303F
-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
-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
-FEFF
-FF01 FF5E
-FF61 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
-FFE0 FFE6
-FFE8 FFEE
-FFFD FFFF
+V576
+0
+502
+506
+536
+592
+681
+688
+735
+736
+746
+768
+838
+864
+866
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+983
+986
+987
+988
+989
+990
+991
+992
+993
+994
+1012
+1025
+1037
+1038
+1104
+1105
+1117
+1118
+1159
+1168
+1221
+1223
+1225
+1227
+1229
+1232
+1260
+1262
+1270
+1272
+1274
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1418
+1456
+1466
+1467
+1476
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1619
+1632
+1646
+1648
+1720
+1722
+1727
+1728
+1743
+1744
+1774
+1776
+1786
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+4256
+4294
+4304
+4343
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+7680
+7835
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8239
+8240
+8263
+8298
+8305
+8308
+8335
+8352
+8363
+8400
+8418
+8448
+8505
+8531
+8579
+8592
+8683
+8704
+8946
+8960
+8961
+8962
+9083
+9216
+9253
+9280
+9291
+9312
+9451
+9472
+9622
+9632
+9712
+9728
+9748
+9754
+9840
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10088
+10102
+10133
+10136
+10160
+10161
+10175
+12288
+12344
+12351
+12352
+12353
+12437
+12441
+12447
+12449
+12543
+12549
+12589
+12593
+12687
+12688
+12704
+12800
+12829
+12832
+12868
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+19968
+40870
+57344
+64046
+64256
+64263
+64275
+64280
+64286
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65020
+65056
+65060
+65072
+65093
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65375
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65533
+65536
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl
index 69a03a0b823..56bbb8d4a5f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl
@@ -1,41 +1,72 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0591 05A1
-05A3 05AF
-05C4
-0F00 0F47
-0F49 0F69
-0F71 0F8B
-0F90 0F95
-0F97
-0F99 0FAD
-0FB1 0FB7
-0FB9
-1E9B
-20AB
-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
+V58
+1425
+1442
+1443
+1456
+1476
+1477
+3840
+3912
+3913
+3946
+3953
+3980
+3984
+3990
+3991
+3992
+3993
+4014
+4017
+4024
+4025
+4026
+7835
+7836
+8363
+8364
+44032
+55204
+55296
+57344
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+983038
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl
index 7074ffffce5..12724192722 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl
@@ -1,133 +1,256 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-01F6 01F9
-0218 021F
-0222 0233
-02A9 02AD
-02DF
-02EA 02EE
-0346 034E
-0362
-03D7
-03DB
-03DD
-03DF
-03E1
-0400
-040D
-0450
-045D
-0488 0489
-048C 048F
-04EC 04ED
-058A
-0653 0655
-06B8 06B9
-06BF
-06CF
-06FA 06FE
-0700 070D
-070F 072C
-0730 074A
-0780 07B0
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF4
-0F6A
-0F96
-0FAE 0FB0
-0FB8
-0FBA 0FBC
-0FBE 0FCC
-0FCF
-1000 1021
-1023 1027
-1029 102A
-102C 1032
-1036 1039
-1040 1059
-1200 1206
-1208 1246
-1248
-124A 124D
-1250 1256
-1258
-125A 125D
-1260 1286
-1288
-128A 128D
-1290 12AE
-12B0
-12B2 12B5
-12B8 12BE
-12C0
-12C2 12C5
-12C8 12CE
-12D0 12D6
-12D8 12EE
-12F0 130E
-1310
-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
-20AD 20AF
-20E2 20E3
-2139 213A
-2183
-21EB 21F3
-2301
-237B
-237D 239A
-2425 2426
-25F0 25F7
-2619
-2670 2671
-2800 28FF
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-2FF0 2FFB
-3038 303A
-303E
-31A0 31B7
-3400 4DB5
-A000 A48C
-A490 A4A1
-A4A4 A4B3
-A4B5 A4C0
-A4C2 A4C4
-A4C6
-FB1D
-FFF9 FFFB
+V242
+502
+506
+536
+544
+546
+564
+681
+686
+735
+736
+746
+751
+838
+847
+866
+867
+983
+984
+987
+988
+989
+990
+991
+992
+993
+994
+1024
+1025
+1037
+1038
+1104
+1105
+1117
+1118
+1160
+1162
+1164
+1168
+1260
+1262
+1418
+1419
+1619
+1622
+1720
+1722
+1727
+1728
+1743
+1744
+1786
+1791
+1792
+1806
+1807
+1837
+1840
+1867
+1920
+1969
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3946
+3947
+3990
+3991
+4014
+4017
+4024
+4025
+4026
+4029
+4030
+4045
+4047
+4048
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4608
+4615
+4616
+4679
+4680
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4743
+4744
+4745
+4746
+4750
+4752
+4783
+4784
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4815
+4816
+4823
+4824
+4847
+4848
+4879
+4880
+4881
+4882
+4886
+4888
+4895
+4896
+4935
+4936
+4955
+4961
+4989
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+6016
+6109
+6112
+6122
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+8239
+8240
+8264
+8270
+8365
+8368
+8418
+8420
+8505
+8507
+8579
+8580
+8683
+8692
+8961
+8962
+9083
+9084
+9085
+9115
+9253
+9255
+9712
+9720
+9753
+9754
+9840
+9842
+10240
+10496
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12344
+12347
+12350
+12351
+12704
+12728
+13312
+19894
+40960
+42125
+42128
+42146
+42148
+42164
+42165
+42177
+42178
+42181
+42182
+42183
+64285
+64286
+65529
+65532
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl
index e85161f8e91..91d2fd9cc1d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl
@@ -1,48 +1,86 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
-1D4A9 1D4AC
-1D4AE 1D4B9
-1D4BB
-1D4BD 1D4C0
-1D4C2 1D4C3
-1D4C5 1D505
-1D507 1D50A
-1D50D 1D514
-1D516 1D51C
-1D51E 1D539
-1D53B 1D53E
-1D540 1D544
-1D546
-1D54A 1D550
-1D552 1D6A3
-1D6A8 1D7C9
-1D7CE 1D7FF
-20000 2A6D6
-2F800 2FA1D
-E0001
-E0020 E007F
+V72
+1012
+1014
+64976
+65008
+66304
+66335
+66336
+66340
+66352
+66379
+66560
+66598
+66600
+66638
+118784
+119030
+119040
+119079
+119082
+119262
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120001
+120002
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120484
+120488
+120778
+120782
+120832
+131072
+173783
+194560
+195102
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl
index a0f0f62a55f..13fee1680a8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl
@@ -1,71 +1,132 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0220
-034F
-0363 036F
-03D8 03D9
-03F6
-048A 048B
-04C5 04C6
-04C9 04CA
-04CD 04CE
-0500 050F
-066E 066F
-07B1
-10F7 10F8
-1700 170C
-170E 1714
-1720 1736
-1740 1753
-1760 176C
-176E 1770
-1772 1773
-2047
-204E 2052
-2057
-205F 2063
-2071
-20B0 20B1
-20E4 20EA
-213D 214B
-21F4 21FF
-22F2 22FF
-237C
-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
-3251 325F
-32B1 32BF
-A4A2 A4A3
-A4B4
-A4C1
-A4C5
-FA30 FA6A
-FDFC
-FE00 FE0F
-FE45 FE46
-FE73
-FF5F FF60
+V118
+544
+545
+847
+848
+867
+880
+984
+986
+1014
+1015
+1162
+1164
+1221
+1223
+1225
+1227
+1229
+1231
+1280
+1296
+1646
+1648
+1969
+1970
+4343
+4345
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+8263
+8264
+8270
+8275
+8279
+8280
+8287
+8292
+8305
+8306
+8368
+8370
+8420
+8427
+8509
+8524
+8692
+8704
+8946
+8960
+9084
+9085
+9115
+9167
+9451
+9471
+9622
+9632
+9720
+9728
+9750
+9752
+9842
+9854
+9856
+9866
+10088
+10102
+10192
+10220
+10224
+10240
+10496
+11008
+12347
+12350
+12437
+12439
+12447
+12449
+12543
+12544
+12784
+12800
+12881
+12896
+12977
+12992
+42146
+42148
+42164
+42165
+42177
+42178
+42181
+42182
+64048
+64107
+65020
+65021
+65024
+65040
+65093
+65095
+65139
+65140
+65375
+65377
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl
index 9c0b065eb83..8395cdc0023 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl
@@ -1,89 +1,168 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0221
-0234 0236
-02AE 02AF
-02EF 02FF
-0350 0357
-035D 035F
-03F7 03FB
-0600 0603
-060D 0615
-0656 0658
-06EE 06EF
-06FF
-072D 072F
-074D 074F
-0904
-09BD
-0A01
-0A03
-0A8C
-0AE1 0AE3
-0AF1
-0B35
-0B71
-0BF3 0BFA
-0CBC 0CBD
-17DD
-17F0 17F9
-1900 191C
-1920 192B
-1930 193B
-1940
-1944 196D
-1970 1974
-19E0 19FF
-1D00 1D6B
-2053 2054
-213B
-23CF 23D0
-24FF
-2614 2615
-268A 2691
-26A0 26A1
-2B00 2B0D
-321D 321E
-3250
-327C 327D
-32CC 32CF
-3377 337A
-33DE 33DF
-33FF
-4DC0 4DFF
-FDFD
-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
-1044E 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F
-1D300 1D356
-1D4C1
-E0100 E01EF
+V154
+545
+546
+564
+567
+686
+688
+751
+768
+848
+856
+861
+864
+1015
+1020
+1536
+1540
+1549
+1558
+1622
+1625
+1774
+1776
+1791
+1792
+1837
+1840
+1869
+1872
+2308
+2309
+2493
+2494
+2561
+2562
+2563
+2564
+2700
+2701
+2785
+2788
+2801
+2802
+2869
+2870
+2929
+2930
+3059
+3067
+3260
+3262
+6109
+6110
+6128
+6138
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6624
+6656
+7424
+7532
+8275
+8277
+8507
+8508
+9167
+9169
+9471
+9472
+9748
+9750
+9866
+9874
+9888
+9890
+11008
+11022
+12829
+12831
+12880
+12881
+12924
+12926
+13004
+13008
+13175
+13179
+13278
+13280
+13311
+13312
+19904
+19968
+65021
+65022
+65095
+65097
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65856
+66432
+66462
+66463
+66464
+66598
+66600
+66638
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
+119552
+119639
+120001
+120002
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl
index 81df511df6b..c985589d041 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl
@@ -1,98 +1,186 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0237 0241
-0358 035C
-03FC 03FF
-04F6 04F7
-05A2
-05C5 05C7
-060B
-061E
-0659 065E
-0750 076D
-097D
-09CE
-0BB6
-0BE6
-0FD0 0FD1
-10F9 10FA
-10FC
-1207
-1247
-1287
-12AF
-12CF
-12EF
-130F
-131F
-1347
-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
-2618
-267E 267F
-2692 269C
-26A2 26B1
-27C0 27C6
-2B0E 2B13
-2C00 2C2E
-2C30 2C5E
-2C80 2CEA
-2CF9 2D25
-2D30 2D65
-2D6F
-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
-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
+V172
+567
+578
+856
+861
+1020
+1024
+1270
+1272
+1442
+1443
+1477
+1480
+1547
+1548
+1566
+1567
+1625
+1631
+1872
+1902
+2429
+2430
+2510
+2511
+2998
+2999
+3046
+3047
+4048
+4050
+4345
+4347
+4348
+4349
+4615
+4616
+4679
+4680
+4743
+4744
+4783
+4784
+4815
+4816
+4847
+4848
+4879
+4880
+4895
+4896
+4935
+4936
+4959
+4961
+4992
+5018
+6528
+6570
+6576
+6602
+6608
+6618
+6622
+6624
+6656
+6684
+6686
+6688
+7532
+7620
+8277
+8279
+8280
+8287
+8336
+8341
+8370
+8374
+8427
+8428
+8508
+8509
+8524
+8525
+9169
+9180
+9752
+9753
+9854
+9856
+9874
+9885
+9890
+9906
+10176
+10183
+11022
+11028
+11264
+11311
+11312
+11359
+11392
+11499
+11513
+11558
+11568
+11622
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11776
+11800
+11804
+11806
+12736
+12752
+12926
+12927
+40870
+40892
+42752
+42775
+43008
+43052
+64112
+64218
+65040
+65050
+65856
+65931
+66464
+66500
+66504
+66518
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+119296
+119366
+120484
+120486
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl
index 8375c9fc8eb..9128154a426 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl
@@ -1,47 +1,84 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0242 024F
-037B 037D
-04CF
-04FA 04FF
-0510 0513
-05BA
-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
-26B2
-27C7 27CA
-2B14 2B1A
-2B20 2B23
-2C60 2C6C
-2C74 2C77
-A717 A71A
-A720 A721
-A840 A877
-10900 10919
-1091F
-12000 1236E
-12400 12462
-12470 12473
-1D360 1D371
-1D7CA 1D7CB
+V70
+578
+592
+891
+894
+1231
+1232
+1274
+1280
+1296
+1300
+1466
+1467
+1984
+2043
+2427
+2429
+2430
+2432
+3298
+3300
+3313
+3315
+6912
+6988
+6992
+7037
+7620
+7627
+7678
+7680
+8428
+8432
+8525
+8527
+8580
+8581
+9180
+9192
+9906
+9907
+10183
+10187
+11028
+11035
+11040
+11044
+11360
+11373
+11380
+11384
+42775
+42779
+42784
+42786
+43072
+43128
+67840
+67866
+67871
+67872
+73728
+74607
+74752
+74851
+74864
+74868
+119648
+119666
+120778
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl
index 84c5e25d67f..377893ae131 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl
@@ -1,101 +1,192 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0370 0373
-0376 0377
-03CF
-0487
-0514 0523
-0606 060A
-0616 061A
-063B 063F
-076E 077F
-0971 0972
-0A51
-0A75
-0B44
-0B62 0B63
-0BD0
-0C3D
-0C58 0C59
-0C62 0C63
-0C78 0C7F
-0D3D
-0D44
-0D62 0D63
-0D70 0D75
-0D79 0D7F
-0F6B 0F6C
-0FCE
-0FD2 0FD4
-1022
-1028
-102B
-1033 1035
-103A 103F
-105A 1099
-109E 109F
-18AA
-1B80 1BAA
-1BAE 1BB9
-1C00 1C37
-1C3B 1C49
-1C4D 1C7F
-1DCB 1DE6
-1E9C 1E9F
-1EFA 1EFF
-2064
-20F0
-214F
-2185 2188
-269D
-26B3 26BC
-26C0 26C3
-27CC
-27EC 27EF
-2B1B 2B1F
-2B24 2B4C
-2B50 2B54
-2C6D 2C6F
-2C71 2C73
-2C78 2C7D
-2DE0 2DFF
-2E18 2E1B
-2E1E 2E30
-312D
-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
-AA40 AA4D
-AA50 AA59
-AA5C AA5F
-FE24 FE26
-10190 1019B
-101D0 101FD
-10280 1029C
-102A0 102D0
-10920 10939
-1093F
-1D129
-1F000 1F02B
-1F030 1F093
+V178
+880
+884
+886
+888
+975
+976
+1159
+1160
+1300
+1316
+1542
+1547
+1558
+1563
+1595
+1600
+1902
+1920
+2417
+2419
+2641
+2642
+2677
+2678
+2884
+2885
+2914
+2916
+3024
+3025
+3133
+3134
+3160
+3162
+3170
+3172
+3192
+3200
+3389
+3390
+3396
+3397
+3426
+3428
+3440
+3446
+3449
+3456
+3947
+3949
+4046
+4047
+4050
+4053
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4250
+4254
+4256
+6314
+6315
+7040
+7083
+7086
+7098
+7168
+7224
+7227
+7242
+7245
+7296
+7627
+7655
+7836
+7840
+7930
+7936
+8292
+8293
+8432
+8433
+8527
+8528
+8581
+8585
+9885
+9886
+9907
+9917
+9920
+9924
+10188
+10189
+10220
+10224
+11035
+11040
+11044
+11085
+11088
+11093
+11373
+11376
+11377
+11380
+11384
+11390
+11744
+11776
+11800
+11804
+11806
+11825
+12589
+12590
+12752
+12772
+40892
+40900
+42240
+42540
+42560
+42592
+42594
+42612
+42620
+42648
+42779
+42784
+42786
+42893
+43003
+43008
+43136
+43205
+43214
+43226
+43264
+43348
+43359
+43360
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43616
+65060
+65063
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+67872
+67898
+67903
+67904
+119081
+119082
+126976
+127020
+127024
+127124
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl
index f94bd46ade3..d5172eb71ec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl
@@ -1,102 +1,194 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0524 0525
-0800 082D
-0830 083E
-0900
-094E
-0955
-0979 097A
-09FB
-0FD5 0FD8
-109A 109D
-115A 115E
-11A3 11A7
-11FA 11FF
-1400
-1677 167F
-18B0 18F5
-19AA 19AB
-19DA
-1A20 1A5E
-1A60 1A7C
-1A7F 1A89
-1A90 1A99
-1AA0 1AAD
-1CD0 1CF2
-1DFD
-20B6 20B8
-2150 2152
-2189
-23E8
-269E 269F
-26BD 26BF
-26C4 26CD
-26CF 26E1
-26E3
-26E8 26FF
-2757
-2B55 2B59
-2C70
-2C7E 2C7F
-2CEB 2CF1
-2E31
-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
-1F157
-1F15F
-1F179
-1F17B 1F17C
-1F17F
-1F18A 1F18D
-1F190
-1F200
-1F210 1F231
-1F240 1F248
-2A700 2B734
+V180
+1316
+1318
+2048
+2094
+2096
+2111
+2304
+2305
+2382
+2383
+2389
+2390
+2425
+2427
+2555
+2556
+4053
+4057
+4250
+4254
+4442
+4447
+4515
+4520
+4602
+4608
+5120
+5121
+5751
+5760
+6320
+6390
+6570
+6572
+6618
+6619
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+7376
+7411
+7677
+7678
+8374
+8377
+8528
+8531
+8585
+8586
+9192
+9193
+9886
+9888
+9917
+9920
+9924
+9934
+9935
+9954
+9955
+9956
+9960
+9984
+10071
+10072
+11093
+11098
+11376
+11377
+11390
+11392
+11499
+11506
+11825
+11826
+12868
+12880
+40900
+40908
+42192
+42240
+42656
+42744
+43056
+43066
+43232
+43260
+43360
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43616
+43644
+43648
+43715
+43739
+43744
+43968
+44014
+44016
+44026
+55216
+55239
+55243
+55292
+64107
+64110
+67648
+67670
+67671
+67680
+67866
+67868
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69760
+69826
+77824
+78895
+127232
+127243
+127248
+127279
+127281
+127282
+127293
+127294
+127295
+127296
+127298
+127299
+127302
+127303
+127306
+127311
+127319
+127320
+127327
+127328
+127353
+127354
+127355
+127357
+127359
+127360
+127370
+127374
+127376
+127377
+127488
+127489
+127504
+127538
+127552
+127561
+173824
+177973
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl
index b66e218a149..4e65022877c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl
@@ -1,118 +1,226 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
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
+V212
+1318
+1320
+1568
+1569
+1631
+1632
+2112
+2140
+2142
+2143
+2362
+2364
+2383
+2384
+2390
+2392
+2419
+2424
+2930
+2936
+3369
+3370
+3386
+3387
+3406
+3407
+3980
+3984
+4057
+4059
+4957
+4959
+7104
+7156
+7164
+7168
+7676
+7677
+8341
+8349
+8377
+8378
+9193
+9204
+9934
+9935
+9954
+9955
+9956
+9960
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10176
+10190
+10192
+11632
+11633
+11647
+11648
+12728
+12731
+42592
+42594
+42893
+42895
+42896
+42898
+42912
+42922
+43002
+43003
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+64434
+64450
+69632
+69710
+69714
+69744
+92160
+92729
+110592
+110594
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127280
+127281
+127282
+127293
+127294
+127295
+127296
+127298
+127299
+127302
+127303
+127306
+127311
+127319
+127320
+127327
+127328
+127338
+127344
+127353
+127354
+127355
+127357
+127359
+127360
+127370
+127374
+127376
+127377
+127387
+127462
+127488
+127489
+127491
+127538
+127547
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128336
+128360
+128507
+128512
+128513
+128529
+128530
+128533
+128534
+128535
+128536
+128537
+128538
+128539
+128540
+128543
+128544
+128550
+128552
+128556
+128557
+128558
+128560
+128564
+128565
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+177984
+178206
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl
index 5c9bd5073a5..9c377ca7eeb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl
@@ -1,101 +1,192 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-058F
-0604
-08A0
-08A2 08AC
-08E4 08FE
-0AF0
-0EDE 0EDF
-10C7
-10CD
-10FD 10FF
-1BAB 1BAD
-1BBA 1BBF
-1CC0 1CC7
-1CF3 1CF6
-27CB
-27CD
-2CF2 2CF3
-2D27
-2D2D
-2D66 2D67
-2E32 2E3B
-9FCC
-A674 A67B
-A69F
-A792 A793
-A7AA
-A7F8 A7F9
-AAE0 AAF6
-FA2E FA2F
-10980 109B7
-109BE 109BF
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F16A 1F16B
-1F540 1F543
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
+V178
+1423
+1424
+1540
+1541
+2208
+2209
+2210
+2221
+2276
+2303
+2800
+2801
+3806
+3808
+4295
+4296
+4301
+4302
+4349
+4352
+7083
+7086
+7098
+7104
+7360
+7368
+7411
+7415
+10187
+10188
+10189
+10190
+11506
+11508
+11559
+11560
+11565
+11566
+11622
+11624
+11826
+11836
+40908
+40909
+42612
+42620
+42655
+42656
+42898
+42900
+42922
+42923
+43000
+43002
+43744
+43767
+64046
+64048
+67968
+68024
+68030
+68032
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+93952
+94021
+94032
+94079
+94095
+94112
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+127338
+127340
+128320
+128324
+128512
+128513
+128529
+128530
+128533
+128534
+128535
+128536
+128537
+128538
+128539
+128540
+128543
+128544
+128550
+128552
+128556
+128557
+128558
+128560
+128564
+128565
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
index faf7e930171..6a5db99fe8d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
@@ -1,552 +1,1094 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0345
-0370 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05B0 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0657
-0659 065F
-066E 06D3
-06D5 06DC
-06E1 06E8
-06ED 06EF
-06FA 06FC
-06FF
-0710 073F
-074D 07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0817
-081A 082C
-0840 0858
-08A0
-08A2 08AC
-08E4 08E9
-08F0 08FE
-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
-09BD 09C4
-09C7 09C8
-09CB 09CC
-09CE
-09D7
-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
-0A5E
-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
-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
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0BD0
-0BD7
-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
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4C
-0D4E
-0D57
-0D60 0D63
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E46
-0E4D
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB9
-0EBB 0EBD
-0EC0 0EC4
-0EC6
-0ECD
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F71 0F81
-0F88 0F97
-0F99 0FBC
-1000 1036
-1038
-103B 103F
-1050 1062
-1065 1068
-106E 1086
-108E
-109C 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-135F
-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
-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
-1B35 1B43
-1B45 1B4B
-1B80 1BA9
-1BAC 1BAF
-1BBA 1BE5
-1BE7 1BF1
-1C00 1C35
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2DFF
-2E2F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A674 A67B
-A67F A697
-A69F A6EF
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A827
-A840 A873
-A880 A8C3
-A8F2 A8F7
-A8FB
-A90A A92A
-A930 A952
-A960 A97C
-A980 A9B2
-A9B4 A9BF
-A9CF
-AA00 AA36
-AA40 AA4D
-AA60 AA76
-AA7A
-AA80 AABE
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF5
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11045
-11082 110B8
-110D0 110E8
-11100 11132
-11180 111BF
-111C1 111C4
-11680 116B5
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V1080
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+837
+838
+880
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1456
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1624
+1625
+1632
+1646
+1748
+1749
+1757
+1761
+1769
+1773
+1776
+1786
+1789
+1791
+1792
+1808
+1856
+1869
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2072
+2074
+2093
+2112
+2137
+2208
+2209
+2210
+2221
+2276
+2282
+2288
+2303
+2304
+2364
+2365
+2381
+2382
+2385
+2389
+2404
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2501
+2503
+2505
+2507
+2509
+2510
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2544
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2622
+2627
+2631
+2633
+2635
+2637
+2641
+2642
+2649
+2653
+2654
+2655
+2672
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2758
+2759
+2762
+2763
+2765
+2768
+2769
+2784
+2788
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2885
+2887
+2889
+2891
+2893
+2902
+2904
+2908
+2910
+2911
+2916
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3021
+3024
+3025
+3031
+3032
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3149
+3157
+3159
+3160
+3162
+3168
+3172
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3269
+3270
+3273
+3274
+3277
+3285
+3287
+3294
+3295
+3296
+3300
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3405
+3406
+3407
+3415
+3416
+3424
+3428
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3655
+3661
+3662
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3789
+3790
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3953
+3970
+3976
+3992
+3993
+4029
+4096
+4151
+4152
+4153
+4155
+4160
+4176
+4195
+4197
+4201
+4206
+4231
+4238
+4239
+4252
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5908
+5920
+5940
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6068
+6070
+6089
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6457
+6480
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6656
+6684
+6688
+6751
+6753
+6773
+6823
+6824
+6912
+6964
+6965
+6980
+6981
+6988
+7040
+7082
+7084
+7088
+7098
+7142
+7143
+7154
+7168
+7222
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7412
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+11823
+11824
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42612
+42620
+42623
+42648
+42655
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43048
+43072
+43124
+43136
+43204
+43250
+43256
+43259
+43260
+43274
+43307
+43312
+43347
+43360
+43389
+43392
+43443
+43444
+43456
+43471
+43472
+43520
+43575
+43584
+43598
+43616
+43639
+43642
+43643
+43648
+43711
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43760
+43762
+43766
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65313
+65339
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69702
+69762
+69817
+69840
+69865
+69888
+69939
+70016
+70080
+70081
+70085
+71296
+71350
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
index bf1d7dee3f7..3cdd601ad64 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0605
-0608
-060B
-060D
-061B 064A
-066D 066F
-0671 06D5
-06E5 06E6
-06EE 06EF
-06FA 0710
-0712 072F
-074B 07A5
-07B1 07BF
-08A0 08E3
-08FF
-FB50 FD3D
-FD40 FDCF
-FDF0 FDFC
-FDFE FDFF
-FE70 FEFE
-1EE00 1EEEF
-1EEF2 1EEFF
+V44
+1541
+1542
+1544
+1545
+1547
+1548
+1549
+1550
+1563
+1611
+1645
+1648
+1649
+1750
+1765
+1767
+1774
+1776
+1786
+1809
+1810
+1840
+1867
+1958
+1969
+1984
+2208
+2276
+2303
+2304
+64336
+64830
+64832
+64976
+65008
+65021
+65022
+65024
+65136
+65279
+126464
+126704
+126706
+126720
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
index 11083b8cc1d..3d52b624e3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0600 0604
-0660 0669
-066B 066C
-06DD
-10E60 10E7E
+V10
+1536
+1541
+1632
+1642
+1643
+1645
+1757
+1758
+69216
+69247
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
index b7c24674cdf..85e9aca1d7e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-000A
-000D
-001C 001E
-0085
-2029
+V10
+10
+11
+13
+14
+28
+31
+133
+134
+8233
+8234
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
index 44c2df702d1..5ee92555ca9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
@@ -1,41 +1,76 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0008
-000E 001B
-007F 0084
-0086 009F
-00AD
-200B 200D
-2060 206F
-FDD0 FDEF
-FEFF
-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
+V62
+0
+9
+14
+28
+127
+133
+134
+160
+173
+174
+6158
+6159
+8203
+8206
+8288
+8294
+8298
+8304
+64976
+65008
+65279
+65280
+65520
+65529
+65534
+65536
+119155
+119163
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917760
+918000
+921600
+983038
+983040
+1048574
+1048576
+1114110
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
index 37ada91ca10..a5211a6e710 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
@@ -1,25 +1,40 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002C
-002E 002F
-003A
-00A0
-060C
-202F
-2044
-FE50
-FE52
-FE55
-FF0C
-FF0E FF0F
-FF1A
+V26
+44
+45
+46
+48
+58
+59
+160
+161
+1548
+1549
+8239
+8240
+8260
+8261
+65104
+65105
+65106
+65107
+65109
+65110
+65292
+65293
+65294
+65296
+65306
+65307
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
index 4ce388cac8a..8a73a28f2f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-00B2 00B3
-00B9
-06F0 06F9
-2070
-2074 2079
-2080 2089
-2488 249B
-FF10 FF19
-1D7CE 1D7FF
-1F100 1F10A
+V22
+48
+58
+178
+180
+185
+186
+1776
+1786
+8304
+8305
+8308
+8314
+8320
+8330
+9352
+9372
+65296
+65306
+120782
+120832
+127232
+127243
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
index eab7532c61c..65af00c189b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002B
-002D
-207A 207B
-208A 208B
-2212
-FB29
-FE62 FE63
-FF0B
-FF0D
+V18
+43
+44
+45
+46
+8314
+8316
+8330
+8332
+8722
+8723
+64297
+64298
+65122
+65124
+65291
+65292
+65293
+65294
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
index 5513a05ab04..4dd22a7d47e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0023 0025
-00A2 00A5
-00B0 00B1
-058F
-0609 060A
-066A
-09F2 09F3
-09FB
-0AF1
-0BF9
-0E3F
-17DB
-2030 2034
-20A0 20BA
-212E
-2213
-A838 A839
-FE5F
-FE69 FE6A
-FF03 FF05
-FFE0 FFE1
-FFE5 FFE6
+V44
+35
+38
+162
+166
+176
+178
+1423
+1424
+1545
+1547
+1642
+1643
+2546
+2548
+2555
+2556
+2801
+2802
+3065
+3066
+3647
+3648
+6107
+6108
+8240
+8245
+8352
+8400
+8494
+8495
+8723
+8724
+43064
+43066
+65119
+65120
+65129
+65131
+65283
+65286
+65504
+65506
+65509
+65511
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
index e333e6b9400..0830b4328d8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
@@ -1,361 +1,713 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02B8
-02BB 02C1
-02D0 02D1
-02E0 02E4
-02EE
-0370 0373
-0376 037D
-037F 0383
-0386
-0388 03F5
-03F7 0482
-048A 0589
-058B 058E
-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
-0ACE 0AE1
-0AE4 0AF0
-0AF2 0B00
-0B02 0B3B
-0B3D 0B3E
-0B40
-0B45 0B4C
-0B4E 0B55
-0B57 0B61
-0B64 0B81
-0B83 0BBF
-0BC1 0BCC
-0BCE 0BF2
-0BFB 0C3D
-0C41 0C45
-0C49
-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
-0E32 0E33
-0E3B 0E3E
-0E40 0E46
-0E4F 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0EC7
-0ECE 0F17
-0F1A 0F34
-0F36
-0F38
-0F3E 0F70
-0F7F
-0F85
-0F88 0F8C
-0F98
-0FBD 0FC5
-0FC7 102C
-1031
-1038
-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 17B3
-17B6
-17BE 17C5
-17C7 17C8
-17D4 17DA
-17DC
-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
-1A6D 1A72
-1A7D 1A7E
-1A80 1AFF
-1B04 1B33
-1B35
-1B3B
-1B3D 1B41
-1B43 1B6A
-1B74 1B7F
-1B82 1BA1
-1BA6 1BA7
-1BAA
-1BAC 1BE5
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1C2B
-1C34 1C35
-1C38 1CCF
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1DBF
-1DE7 1DFB
-1E00 1FBC
-1FBE
-1FC2 1FCC
-1FD0 1FDC
-1FE0 1FEC
-1FF0 1FFC
-1FFF
-200E
-2071 2073
-207F
-208F 209F
-20BB 20CF
-20F1 20FF
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E 214F
-2160 2188
-218A 218F
-2336 237A
-2395
-23F4 23FF
-2427 243F
-244B 245F
-249C 24E9
-26AC
-2700
-2800 28FF
-2B4D 2B4F
-2B5A 2CE4
-2CEB 2CEE
-2CF2 2CF8
-2D00 2D7E
-2D80 2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3005 3007
-3021 3029
-302E 302F
-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
-A680 A69E
-A6A0 A6EF
-A6F2 A6FF
-A722 A787
-A789 A801
-A803 A805
-A807 A80A
-A80C A824
-A827
-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
-AAB9 AABD
-AAC0
-AAC2 AAEB
-AAEE AAF5
-AAF7 ABE4
-ABE6 ABE7
-ABE9 ABEC
-ABEE FB1C
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FF00
-FF21 FF3A
-FF41 FF5A
-FF66 FFDF
-FFE7
-FFEF
-10000 10100
-10102 1013F
-1018B 1018F
-1019C 101FC
-101FE 107FF
-11000
-11002 11037
-11047 11051
-11066 1107F
-11082 110B2
-110B7 110B8
-110BB 110FF
-11103 11126
-1112C
-11135 1117F
-11182 111B5
-111BF 116AA
-116AC
-116AE 116AF
-116B6
-116B8 16F8E
-16F93 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 1F169
-1F16C 1F2FF
-1F321 1F32F
-1F336
-1F37D 1F37F
-1F394 1F39F
-1F3C5
-1F3CB 1F3DF
-1F3F1 1F3FF
-1F43F
-1F441
-1F4F8
-1F4FD 1F4FF
-1F53E 1F53F
-1F544 1F54F
-1F568 1F5FA
-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
+V699
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+697
+699
+706
+720
+722
+736
+741
+750
+751
+880
+884
+886
+894
+895
+900
+902
+903
+904
+1014
+1015
+1155
+1162
+1418
+1419
+1423
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2546
+2548
+2555
+2556
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2801
+2802
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3059
+3067
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3192
+3199
+3260
+3261
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3647
+3648
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3902
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5008
+5018
+5120
+5121
+5760
+5761
+5787
+5789
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6107
+6108
+6109
+6110
+6128
+6138
+6144
+6159
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6464
+6465
+6468
+6470
+6622
+6656
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+8192
+8206
+8207
+8305
+8308
+8319
+8320
+8335
+8352
+8433
+8448
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8528
+8544
+8585
+8586
+8592
+9014
+9083
+9109
+9110
+9204
+9216
+9255
+9280
+9291
+9312
+9372
+9450
+9900
+9901
+9984
+9985
+10240
+10496
+11085
+11088
+11098
+11493
+11499
+11503
+11506
+11513
+11520
+11647
+11648
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12293
+12296
+12321
+12330
+12334
+12336
+12337
+12342
+12344
+12349
+12352
+12441
+12445
+12448
+12449
+12539
+12540
+12736
+12772
+12829
+12831
+12880
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13175
+13179
+13278
+13280
+13311
+13312
+19904
+19968
+42128
+42183
+42509
+42512
+42607
+42624
+42655
+42656
+42736
+42738
+42752
+42786
+42888
+42889
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43048
+43052
+43064
+43066
+43124
+43128
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64285
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65280
+65281
+65313
+65339
+65345
+65371
+65382
+65504
+65511
+65512
+65519
+65520
+65536
+65793
+65794
+65856
+65931
+65936
+65948
+66045
+66046
+67584
+69632
+69633
+69634
+69688
+69703
+69714
+69734
+69760
+69762
+69811
+69815
+69817
+69819
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119143
+119146
+119155
+119171
+119173
+119180
+119210
+119214
+119296
+119366
+119552
+119639
+120539
+120540
+120597
+120598
+120655
+120656
+120713
+120714
+120771
+120772
+120782
+120832
+124928
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127338
+127340
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+921600
+983038
+983040
+1048574
+1048576
+1114110
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
deleted file mode 100644
index 577ccc20a4d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-202D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
index 76ea628ca47..e441599b2f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
@@ -1,228 +1,448 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0981
-09BC
-09C1 09C4
-09CD
-09E2 09E3
-0A01 0A02
-0A3C
-0A41 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A82
-0ABC
-0AC1 0AC5
-0AC7 0AC8
-0ACD
-0AE2 0AE3
-0B01
-0B3C
-0B3F
-0B41 0B44
-0B4D
-0B56
-0B62 0B63
-0B82
-0BC0
-0BCD
-0C3E 0C40
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0CBC
-0CCC 0CCD
-0CE2 0CE3
-0D41 0D44
-0D4D
-0D62 0D63
-0DCA
-0DD2 0DD4
-0DD6
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17DD
-180B 180D
-18A9
-1920 1922
-1927 1928
-1932
-1939 193B
-1A17 1A18
-1A56
-1A58 1A5E
-1A60
-1A62
-1A65 1A6C
-1A73 1A7C
-1A7F
-1B00 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B6B 1B73
-1B80 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1C2C 1C33
-1C36 1C37
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1DC0 1DE6
-1DFC 1DFF
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302D
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A825 A826
-A8C4
-A8E0 A8F1
-A926 A92D
-A947 A951
-A980 A982
-A9B3
-A9B6 A9B9
-A9BC
-AA29 AA2E
-AA31 AA32
-AA35 AA36
-AA43
-AA4C
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEC AAED
-AAF6
-ABE5
-ABE8
-ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11001
-11038 11046
-11080 11081
-110B3 110B6
-110B9 110BA
-11100 11102
-11127 1112B
-1112D 11134
-11180 11181
-111B6 111BE
-116AB
-116AD
-116B0 116B5
-116B7
-16F8F 16F92
-1D167 1D169
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V434
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12334
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
index 7024629eeba..f9a2832ed42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
@@ -1,183 +1,356 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 0022
-0026 002A
-003B 0040
-005B 0060
-007B 007E
-00A1
-00A6 00A9
-00AB 00AC
-00AE 00AF
-00B4
-00B6 00B8
-00BB 00BF
-00D7
-00F7
-02B9 02BA
-02C2 02CF
-02D2 02DF
-02E5 02ED
-02EF 02FF
-0374 0375
-037E
-0384 0385
-0387
-03F6
-058A
-0606 0607
-060E 060F
-06DE
-06E9
-07F6 07F9
-0BF3 0BF8
-0BFA
-0C78 0C7E
-0F3A 0F3D
-1390 1399
-1400
-169B 169C
-17F0 17F9
-1800 180A
-1940
-1944 1945
-19DE 19FF
-1FBD
-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
-211E 2123
-2125
-2127
-2129
-213A 213B
-2140 2144
-214A 214D
-2150 215F
-2189
-2190 2211
-2214 2335
-237B 2394
-2396 23F3
-2400 2426
-2440 244A
-2460 2487
-24EA 26AB
-26AD 26FF
-2701 27FF
-2900 2B4C
-2B50 2B59
-2CE5 2CEA
-2CF9 2CFF
-2E00 2E3B
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-2FF0 2FFB
-3001 3004
-3008 3020
-3030
-3036 3037
-303D 303F
-309B 309C
-30A0
-30FB
-31C0 31E3
-321D 321E
-3250 325F
-327C 327E
-32B1 32BF
-32CC 32CF
-3377 337A
-33DE 33DF
-33FF
-4DC0 4DFF
-A490 A4C6
-A60D A60F
-A673
-A67E A67F
-A700 A721
-A788
-A828 A82B
-A874 A877
-FD3E FD3F
-FDFD
-FE10 FE19
-FE30 FE4F
-FE51
-FE54
-FE56 FE5E
-FE60 FE61
-FE64 FE66
-FE68
-FE6B
-FF01 FF02
-FF06 FF0A
-FF1B FF20
-FF3B FF40
-FF5B FF65
-FFE2 FFE4
-FFE8 FFEE
-FFF9 FFFD
-10101
-10140 1018A
-10190 1019B
-1091F
-10B39 10B3F
-11052 11065
-1D200 1D241
-1D245
-1D300 1D356
-1D6DB
-1D715
-1D74F
-1D789
-1D7C3
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F16A 1F16B
-1F300 1F320
-1F330 1F335
-1F337 1F37C
-1F380 1F393
-1F3A0 1F3C4
-1F3C6 1F3CA
-1F3E0 1F3F0
-1F400 1F43E
-1F440
-1F442 1F4F7
-1F4F9 1F4FC
-1F500 1F53D
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
+V342
+33
+35
+38
+43
+59
+65
+91
+97
+123
+127
+161
+162
+166
+170
+171
+173
+174
+176
+180
+181
+182
+185
+187
+192
+215
+216
+247
+248
+697
+699
+706
+720
+722
+736
+741
+750
+751
+768
+884
+886
+894
+895
+900
+902
+903
+904
+1014
+1015
+1418
+1419
+1542
+1544
+1550
+1552
+1758
+1759
+1769
+1770
+2038
+2042
+3059
+3065
+3066
+3067
+3192
+3199
+3898
+3902
+5008
+5018
+5120
+5121
+5787
+5789
+6128
+6138
+6144
+6155
+6464
+6465
+6468
+6470
+6622
+6656
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+8208
+8232
+8245
+8260
+8261
+8287
+8316
+8319
+8332
+8335
+8448
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8506
+8508
+8512
+8517
+8522
+8526
+8528
+8544
+8585
+8586
+8592
+8722
+8724
+9014
+9083
+9109
+9110
+9204
+9216
+9255
+9280
+9291
+9312
+9352
+9450
+9900
+9901
+9984
+9985
+10240
+10496
+11085
+11088
+11098
+11493
+11499
+11513
+11520
+11776
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12289
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12352
+12443
+12445
+12448
+12449
+12539
+12540
+12736
+12772
+12829
+12831
+12880
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13175
+13179
+13278
+13280
+13311
+13312
+19904
+19968
+42128
+42183
+42509
+42512
+42611
+42612
+42622
+42624
+42752
+42786
+42888
+42889
+43048
+43052
+43124
+43128
+64830
+64832
+65021
+65022
+65040
+65050
+65072
+65104
+65105
+65106
+65108
+65109
+65110
+65119
+65120
+65122
+65124
+65127
+65128
+65129
+65131
+65132
+65281
+65283
+65286
+65291
+65307
+65313
+65339
+65345
+65371
+65382
+65506
+65509
+65512
+65519
+65529
+65534
+65793
+65794
+65856
+65931
+65936
+65948
+67871
+67872
+68409
+68416
+69714
+69734
+119296
+119362
+119365
+119366
+119552
+119639
+120539
+120540
+120597
+120598
+120655
+120656
+120713
+120714
+120771
+120772
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127338
+127340
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
deleted file mode 100644
index 42869102513..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-202C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
index 10e943879f6..6373eca7771 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
@@ -1,41 +1,72 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0590
-05BE
-05C0
-05C3
-05C6
-05C8 05FF
-07C0 07EA
-07F4 07F5
-07FA 0815
-081A
-0824
-0828
-082E 0858
-085C 089F
-200F
-FB1D
-FB1F FB28
-FB2A FB4F
-10800 1091E
-10920 10A00
-10A04
-10A07 10A0B
-10A10 10A37
-10A3B 10A3E
-10A40 10B38
-10B40 10E5F
-10E7F 10FFF
-1E800 1EDFF
-1EF00 1EFFF
+V58
+1424
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1536
+1984
+2027
+2036
+2038
+2042
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2208
+8207
+8208
+64285
+64286
+64287
+64297
+64298
+64336
+67584
+67871
+67872
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+68409
+68416
+69216
+69247
+69632
+124928
+126464
+126720
+126976
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
deleted file mode 100644
index 57061f385fd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-202B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
deleted file mode 100644
index b51822a0fd7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-202E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
deleted file mode 100644
index 92fdcb3523e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0009
-000B
-001F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
index 61bd4b6f328..b8c1b0c4bc3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
@@ -1,20 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-000C
-0020
-1680
-180E
-2000 200A
-2028
-205F
-3000
+V14
+12
+13
+32
+33
+5760
+5761
+8192
+8203
+8232
+8233
+8287
+8288
+12288
+12289
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
index 291e225cd47..266ac9c7b0d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
@@ -1,14 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-200E 200F
-202A 202E
+V8
+1564
+1565
+8206
+8208
+8234
+8239
+8294
+8298
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
index 5cb665380c2..8b5942628e1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
@@ -1,123 +1,236 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0028 0029
-003C
-003E
-005B
-005D
-007B
-007D
-00AB
-00BB
-0F3A 0F3D
-169B 169C
-2039 203A
-2045 2046
-207D 207E
-208D 208E
-2140
-2201 2204
-2208 220D
-2211
-2215 2216
-221A 221D
-221F 2222
-2224
-2226
-222B 2233
-2239
-223B 224C
-2252 2255
-225F 2260
-2262
-2264 226B
-226E 228C
-228F 2292
-2298
-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
-27C8 27C9
-27CB 27CD
-27D3 27D6
-27DC 27DE
-27E2 27EF
-2983 2998
-299B 29AF
-29B8
-29C0 29C5
-29C9
-29CE 29D2
-29D4 29D5
-29D8 29DC
-29E1
-29E3 29E5
-29E8 29E9
-29F4 29F9
-29FC 29FD
-2A0A 2A1C
-2A1E 2A21
-2A24
-2A26
-2A29
-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
-2AEC 2AEE
-2AF3
-2AF7 2AFB
-2AFD
-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
-FF62 FF63
-1D6DB
-1D715
-1D74F
-1D789
-1D7C3
+V222
+40
+42
+60
+61
+62
+63
+91
+92
+93
+94
+123
+124
+125
+126
+171
+172
+187
+188
+3898
+3902
+5787
+5789
+8249
+8251
+8261
+8263
+8317
+8319
+8333
+8335
+8512
+8513
+8705
+8709
+8712
+8718
+8721
+8722
+8725
+8727
+8730
+8734
+8735
+8739
+8740
+8741
+8742
+8743
+8747
+8756
+8761
+8762
+8763
+8781
+8786
+8790
+8799
+8801
+8802
+8803
+8804
+8812
+8814
+8845
+8847
+8851
+8856
+8857
+8866
+8868
+8870
+8889
+8894
+8896
+8905
+8910
+8912
+8914
+8918
+8942
+8944
+8960
+8968
+8972
+8992
+8994
+9001
+9003
+10088
+10102
+10176
+10177
+10179
+10183
+10184
+10186
+10187
+10190
+10195
+10199
+10204
+10207
+10210
+10224
+10627
+10649
+10651
+10672
+10680
+10681
+10688
+10694
+10697
+10698
+10702
+10707
+10708
+10710
+10712
+10717
+10721
+10722
+10723
+10726
+10728
+10730
+10740
+10746
+10748
+10750
+10762
+10781
+10782
+10786
+10788
+10789
+10790
+10791
+10793
+10794
+10795
+10799
+10804
+10806
+10812
+10815
+10839
+10841
+10852
+10854
+10858
+10862
+10863
+10865
+10867
+10869
+10873
+10916
+10918
+10926
+10927
+10967
+10972
+10973
+10974
+10975
+10978
+10983
+10988
+10991
+10995
+10996
+10999
+11004
+11005
+11006
+11778
+11782
+11785
+11787
+11788
+11790
+11804
+11806
+11808
+11818
+12296
+12306
+12308
+12316
+65113
+65119
+65124
+65126
+65288
+65290
+65308
+65309
+65310
+65311
+65339
+65340
+65341
+65342
+65371
+65372
+65373
+65374
+65375
+65377
+65378
+65380
+120539
+120540
+120597
+120598
+120655
+120656
+120713
+120714
+120771
+120772
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
deleted file mode 100644
index 257550ad791..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 007F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
deleted file mode 100644
index 37369f25d2e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 51c0589e394..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index 286331c756f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c6a67ac54a5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10140 1018F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
deleted file mode 100644
index ae0dae503df..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1D200 1D24F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
deleted file mode 100644
index 710b1be77fc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1ad49b23339..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0600 06FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl
deleted file mode 100644
index 83fdfac6b21..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-08A0 08FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl
deleted file mode 100644
index 38065155c95..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1EE00 1EEFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
deleted file mode 100644
index 407516230bf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FE70 FEFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl
deleted file mode 100644
index af5b91aff87..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 69537a4e7f7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 7eba334e5b9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 5e8922269fb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index cc194630846..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 00886e62320..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 0513ce4d819..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index dc861139c70..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index dca1bd63f79..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index ecd55f0073e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index afa4472eaa3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 18a20ff522b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 6c3ac8fa6e6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 99a81e63b27..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c0e157d4db2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/Braille.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Braille.pl
deleted file mode 100755
index b9aa7ca83d2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Braille.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index e37386e8365..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c982cca7d47..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 7a96561c5e1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1D000 1D0FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl
deleted file mode 100644
index bc800d09e07..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-4E00 9FFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
deleted file mode 100644
index 8c07f58ba9d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 7ae4a0e00c7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 2fbb52ca59d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c204f598019..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3300 33FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl
deleted file mode 100644
index 1dfe9620e27..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3400 4DBF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl
deleted file mode 100644
index d53571b1487..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-20000 2A6DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl
deleted file mode 100644
index 30f5a5d0ab4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2A700 2B73F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl
deleted file mode 100644
index cb50cb0d632..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/CJKRadic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
deleted file mode 100644
index 2591b0a7900..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index fb1a59d9d70..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b94df580c49..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3000 303F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
deleted file mode 100644
index 1c5993cad08..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-102A0 102DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl
deleted file mode 100644
index 431914a1179..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11100 1114F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
deleted file mode 100644
index 933cfc788d3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 3b848d172ea..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-13A0 13FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl
deleted file mode 100644
index f1c1dfed4d7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3130 318F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
deleted file mode 100644
index 21e273bf362..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ea1a14af28e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 9b49294d31c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 672012de0be..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 7679fa18f60..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index bc115f75760..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 65d26189643..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 8c43674c289..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0500 052F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
deleted file mode 100644
index 4b4fa116a8b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2DE0 2DFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
deleted file mode 100644
index bdbe7d47739..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A640 A69F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
deleted file mode 100644
index 972c6116034..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index f46bef4495a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1a6147f4600..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 32b95cd28c6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0900 097F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl
deleted file mode 100644
index 6fd3e7fc912..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1DC0 1DFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl
deleted file mode 100644
index 48ad935e6c6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-20D0 20FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl
deleted file mode 100644
index 5862e00f869..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0300 036F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
deleted file mode 100644
index 55170154c3b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2700 27BF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl
deleted file mode 100644
index 7ef3ae848f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 5b6ab815f39..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index eb9c5c5dd51..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index 08f231a9b53..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2460 24FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
deleted file mode 100644
index 34a0471156f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1F100 1F1FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
deleted file mode 100644
index 8634417ec2e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1F200 1F2FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
deleted file mode 100644
index e5587dfe97d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3200 32FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
deleted file mode 100644
index bf7d9e09f33..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index a4c83bf365a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/Ethiopi4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
deleted file mode 100644
index a66188b28f9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-AB00 AB2F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
deleted file mode 100644
index fbd198efe14..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1200 137F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
deleted file mode 100644
index fbe223f7bc5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 479b131a253..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index a2b98f6bc68..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 35bb600e011..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 729dc13d999..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index adf92d51e54..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d3484d7ab05..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 2a1e305ece1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 755ebf72104..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0A00 0A7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl
deleted file mode 100644
index d1c5ecf9bb9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FF00 FFEF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl
deleted file mode 100644
index c43066868f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FE20 FE2F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl
deleted file mode 100644
index a8c5afa3f64..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 17058272e1e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ed1fc6a431f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0590 05FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl
deleted file mode 100644
index 1af060474aa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 59e6ad08163..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1d6d5847213..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3040 309F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl
deleted file mode 100644
index afb7300a736..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2FF0 2FFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl
deleted file mode 100644
index 1acb26e2e0e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0250 02AF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
deleted file mode 100644
index cb9f7b173f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10840 1085F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl
deleted file mode 100644
index 710b08d0d5b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A830 A83F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
deleted file mode 100644
index 449c1d13eb2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index caeb1707b43..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10B60 10B7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl
deleted file mode 100644
index f33ff4d6f36..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1100 11FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl
deleted file mode 100644
index 85b7206b7b7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A960 A97F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl
deleted file mode 100644
index 8cacb9c4c81..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-D7B0 D7FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
deleted file mode 100644
index 7e3b30171ab..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 8bc7f4acb06..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11080 110CF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl
deleted file mode 100644
index 3bff9e67abd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index 25ccd4c6b30..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3190 319F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl
deleted file mode 100644
index 03b52529a52..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c8a95b8b24d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 44427a7c80f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 4d62c9e06fe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 268aa44f454..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1a30d77edb9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d2b05a4c852..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 454bac4bf8a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index f27ec267bdd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 0d3833af843..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 508cdfd83ea..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 927f8710053..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c53cb1878ed..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index eaa6ff9d60d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d51b3e4ff18..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 669462c8fc3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b70930b574a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ca128a7f283..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 112c493bf64..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 784e2f25c29..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index b389f10b285..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index f9513feb0af..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b371748b9d8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 19baded65f1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10920 1093F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl
deleted file mode 100644
index 86d7ef9d503..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index a7495482d84..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index bad3b25b015..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/MathAlph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl
deleted file mode 100644
index 16dd8f3e812..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1D400 1D7FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl
deleted file mode 100644
index fee9f58666d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2200 22FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl
deleted file mode 100644
index 771a5f280d6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-AAE0 AAFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
deleted file mode 100644
index 8bf8e7ea394..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-ABC0 ABFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroiti2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroiti2.pl
deleted file mode 100755
index e488a9953f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroiti2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10980 1099F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl
deleted file mode 100644
index 05a31b82861..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-109A0 109FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl
deleted file mode 100644
index a6d967a34dc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-16F00 16F9F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl
deleted file mode 100644
index 7f0cec35051..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2B00 2BFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl
deleted file mode 100644
index b6597560f2e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2980 29FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl
deleted file mode 100644
index 76c80839c7d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-27C0 27EF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl
deleted file mode 100644
index fe0bf1cff03..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/MiscSymb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl
deleted file mode 100644
index 5185f7b436f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2600 26FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl
deleted file mode 100644
index 1fbac87301d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2300 23FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl
deleted file mode 100644
index 4fb9d49b033..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A700 A71F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
deleted file mode 100644
index 590cc89325c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-02B0 02FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
deleted file mode 100644
index 27a6a16f7b9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1800 18AF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl
deleted file mode 100644
index 500c50877ba..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 41e0a3bf118..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index a4408ffb3b3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-AA60 AA7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl
index a849b2471e8..c127092a901 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl
@@ -1,48 +1,87 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0860 089F
-1AB0 1AFF
-1C80 1CBF
-2FE0 2FEF
-A9E0 A9FF
-AB30 ABBF
-10200 1027F
-102E0 102FF
-10350 1037F
-103E0 103FF
-104B0 107FF
-10860 108FF
-10940 1097F
-10A80 10AFF
-10B80 10BFF
-10C50 10E5F
-10E80 10FFF
-11150 1117F
-111E0 1167F
-116D0 11FFF
-12480 12FFF
-13430 167FF
-16A40 16EFF
-16FA0 1AFFF
-1B100 1CFFF
-1D250 1D2FF
-1D380 1D3FF
-1D800 1EDFF
-1EF00 1EFFF
-1F650 1F67F
-1F780 1FFFF
-2A6E0 2A6FF
-2B820 2F7FF
-2FA20 DFFFF
-E0080 E00FF
-E01F0 EFFFF
+V73
+2144
+2208
+6832
+6912
+7296
+7360
+12256
+12272
+43488
+43520
+43824
+43968
+66048
+66176
+66272
+66304
+66384
+66432
+66528
+66560
+66736
+67584
+67680
+67840
+67904
+67968
+68224
+68352
+68480
+68608
+68688
+69216
+69248
+69632
+69968
+70016
+70112
+71296
+71376
+73728
+74880
+77824
+78896
+92160
+92736
+93952
+94112
+110592
+110848
+118784
+119376
+119552
+119680
+119808
+120832
+126464
+126720
+126976
+128592
+128640
+128896
+131072
+173792
+173824
+178208
+194560
+195104
+917504
+917632
+917760
+918000
+983040
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
deleted file mode 100644
index 72af50b6040..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 80b525975c1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1980 19DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
deleted file mode 100644
index 030b9a353c1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2150 218F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl
deleted file mode 100644
index 59335fe0435..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2440 245F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
deleted file mode 100644
index 447b83ac0c2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 133f493d367..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b604fa67eed..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index fcde5c6b6cf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 09b4a7fc805..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1ae20ef8a4b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10C00 10C4F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
deleted file mode 100644
index eb0d72f8332..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 45ecd2180cd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10480 104AF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl
deleted file mode 100644
index 7e34678440f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-E000 F8FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
deleted file mode 100644
index de673289866..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 582a885e220..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 77d3163aa41..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 092d2fd267b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 68418ec8450..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 10ad952cb90..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/Punctuat.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl
deleted file mode 100644
index 75ed8e59290..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2000 206F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
deleted file mode 100644
index 98612c3b133..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A930 A95F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl
deleted file mode 100644
index 3e517b5fb5c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 109b965f48d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index c2c360f217b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 50965b7f86b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A880 A8DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl
deleted file mode 100644
index bff679d7451..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11180 111DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
deleted file mode 100755
index 4e63c1b3b86..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 594b456c958..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ef2f7a7d43d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FE50 FE6F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl
deleted file mode 100644
index 84230d803db..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-110D0 110FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
deleted file mode 100644
index 80f32cc7abe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FFF0 FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl
deleted file mode 100644
index ce7a4e37c9e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1CC0 1CCF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
deleted file mode 100644
index 9d8b4e2c3fb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1B80 1BBF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl
deleted file mode 100644
index 245e9010ea9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2900 297F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl
deleted file mode 100644
index 22ac448826d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-27F0 27FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl
deleted file mode 100644
index e8ceedde214..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2A00 2AFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl
deleted file mode 100644
index dac9a7ff027..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-F0000 FFFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl
deleted file mode 100644
index 7d9170023cf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-100000 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl
deleted file mode 100644
index eab3d4a9270..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2E00 2E7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl
deleted file mode 100644
index db91ab4ddc2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2070 209F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
deleted file mode 100644
index 0633c36c9db..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 4b1ac3ebda7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 758c3d6709c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d280b0fef7d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 2dd418142f2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 84324b4d231..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 644e0d360bf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index dc6bd76e4e9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index be6298a262a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1D300 1D35F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl
deleted file mode 100644
index f3338037c66..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11680 116CF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
deleted file mode 100644
index 0be7c181599..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ad4800ddbcd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 8f4675f7452..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 8d2c59e7b9e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 6406db58309..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index f8db8e9f2d3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d9fe7f28d47..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/UCAS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl
deleted file mode 100644
index ac07416c531..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1400 167F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl
deleted file mode 100644
index ea144876158..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-18B0 18FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
deleted file mode 100644
index e98548f2ec5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10380 1039F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl
deleted file mode 100644
index 022e339a115..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FE00 FE0F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl
deleted file mode 100644
index b645f3f350f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-E0100 E01EF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
deleted file mode 100644
index 880b75c8d7d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A500 A63F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
deleted file mode 100644
index 011ec89304d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 0342ec13618..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index f422c9aae57..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 3545893a030..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A000 A48F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl
deleted file mode 100644
index 491acf0521f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-4DC0 4DFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/C.pl
new file mode 100644
index 00000000000..6b83a59d867
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/C.pl
@@ -0,0 +1,134 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V120
+41
+42
+93
+94
+125
+126
+3899
+3900
+3901
+3902
+5788
+5789
+8262
+8263
+8318
+8319
+8334
+8335
+8969
+8970
+8971
+8972
+9002
+9003
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10102
+10182
+10183
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10224
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10649
+10713
+10714
+10715
+10716
+10749
+10750
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+11818
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12306
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+12316
+65114
+65115
+65116
+65117
+65118
+65119
+65289
+65290
+65341
+65342
+65373
+65374
+65376
+65377
+65379
+65380
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/N.pl
new file mode 100644
index 00000000000..70cca7a1c18
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/N.pl
@@ -0,0 +1,73 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V59
+0
+40
+42
+91
+92
+93
+94
+123
+124
+125
+126
+3898
+3902
+5787
+5789
+8261
+8263
+8317
+8319
+8333
+8335
+8968
+8972
+9001
+9003
+10088
+10102
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11810
+11818
+12296
+12306
+12308
+12316
+65113
+65119
+65288
+65290
+65339
+65340
+65341
+65342
+65371
+65372
+65373
+65374
+65375
+65377
+65378
+65380
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/O.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/O.pl
new file mode 100644
index 00000000000..033c2c04feb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bpt/O.pl
@@ -0,0 +1,134 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V120
+40
+41
+91
+92
+123
+124
+3898
+3899
+3900
+3901
+5787
+5788
+8261
+8262
+8317
+8318
+8333
+8334
+8968
+8969
+8970
+8971
+9001
+9002
+10088
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10181
+10182
+10214
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10627
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10712
+10713
+10714
+10715
+10748
+10749
+11810
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+12296
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12308
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+65113
+65114
+65115
+65116
+65117
+65118
+65288
+65289
+65339
+65340
+65371
+65372
+65375
+65376
+65378
+65379
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
index 8af79971f89..8151046b385 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
@@ -1,45 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0958 095F
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B5C 0B5D
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F76
-0F78
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-2ADC
-FB1D
-FB1F
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FB4E
-1D15E 1D164
-1D1BB 1D1C0
+V66
+2392
+2400
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2908
+2910
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3958
+3959
+3960
+3961
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+10972
+10973
+64285
+64286
+64287
+64288
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64335
+119134
+119141
+119227
+119233
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
index cffc9f4bc42..fc01fcc61a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
@@ -1,307 +1,608 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0027
-002E
-003A
-005E
-0060
-00A8
-00AD
-00AF
-00B4
-00B7 00B8
-02B0 036F
-0374 0375
-037A
-0384 0385
-0387
-0483 0489
-0559
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05F4
-0600 0604
-0610 061A
-0640
-064B 065F
-0670
-06D6 06DD
-06DF 06E8
-06EA 06ED
-070F
-0711
-0730 074A
-07A6 07B0
-07EB 07F5
-07FA
-0816 082D
-0859 085B
-08E4 08FE
-0900 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0971
-0981
-09BC
-09C1 09C4
-09CD
-09E2 09E3
-0A01 0A02
-0A3C
-0A41 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A82
-0ABC
-0AC1 0AC5
-0AC7 0AC8
-0ACD
-0AE2 0AE3
-0B01
-0B3C
-0B3F
-0B41 0B44
-0B4D
-0B56
-0B62 0B63
-0B82
-0BC0
-0BCD
-0C3E 0C40
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0CBC
-0CBF
-0CC6
-0CCC 0CCD
-0CE2 0CE3
-0D41 0D44
-0D4D
-0D62 0D63
-0DCA
-0DD2 0DD4
-0DD6
-0E31
-0E34 0E3A
-0E46 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC6
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-10FC
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17D7
-17DD
-180B 180D
-1843
-18A9
-1920 1922
-1927 1928
-1932
-1939 193B
-1A17 1A18
-1A56
-1A58 1A5E
-1A60
-1A62
-1A65 1A6C
-1A73 1A7C
-1A7F
-1AA7
-1B00 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B6B 1B73
-1B80 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1C2C 1C33
-1C36 1C37
-1C78 1C7D
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1D2C 1D6A
-1D78
-1D9B 1DE6
-1DFC 1DFF
-1FBD
-1FBF 1FC1
-1FCD 1FCF
-1FDD 1FDF
-1FED 1FEF
-1FFD 1FFE
-200B 200F
-2018 2019
-2024
-2027
-202A 202E
-2060 2064
-206A 206F
-2071
-207F
-2090 209C
-20D0 20F0
-2C7C 2C7D
-2CEF 2CF1
-2D6F
-2D7F
-2DE0 2DFF
-2E2F
-3005
-302A 302D
-3031 3035
-303B
-3099 309E
-30FC 30FE
-A015
-A4F8 A4FD
-A60C
-A66F A672
-A674 A67D
-A67F
-A69F
-A6F0 A6F1
-A700 A721
-A770
-A788 A78A
-A7F8 A7F9
-A802
-A806
-A80B
-A825 A826
-A8C4
-A8E0 A8F1
-A926 A92D
-A947 A951
-A980 A982
-A9B3
-A9B6 A9B9
-A9BC
-A9CF
-AA29 AA2E
-AA31 AA32
-AA35 AA36
-AA43
-AA4C
-AA70
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AADD
-AAEC AAED
-AAF3 AAF4
-AAF6
-ABE5
-ABE8
-ABED
-FB1E
-FBB2 FBC1
-FE00 FE0F
-FE13
-FE20 FE26
-FE52
-FE55
-FEFF
-FF07
-FF0E
-FF1A
-FF3E
-FF40
-FF70
-FF9E FF9F
-FFE3
-FFF9 FFFB
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11001
-11038 11046
-11080 11081
-110B3 110B6
-110B9 110BA
-110BD
-11100 11102
-11127 1112B
-1112D 11134
-11180 11181
-111B6 111BE
-116AB
-116AD
-116B0 116B5
-116B7
-16F8F 16F9F
-1D167 1D169
-1D173 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0001
-E0020 E007F
-E0100 E01EF
+V594
+39
+40
+46
+47
+58
+59
+94
+95
+96
+97
+168
+169
+173
+174
+175
+176
+180
+181
+183
+185
+688
+880
+884
+886
+890
+891
+900
+902
+903
+904
+1155
+1162
+1369
+1370
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1524
+1525
+1536
+1541
+1552
+1563
+1564
+1565
+1600
+1601
+1611
+1632
+1648
+1649
+1750
+1758
+1759
+1769
+1770
+1774
+1807
+1808
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2038
+2042
+2043
+2070
+2094
+2137
+2140
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2417
+2418
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3263
+3264
+3270
+3271
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3654
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3782
+3783
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4348
+4349
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6103
+6104
+6109
+6110
+6155
+6159
+6211
+6212
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6823
+6824
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7288
+7294
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7468
+7531
+7544
+7545
+7579
+7655
+7676
+7680
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+8203
+8208
+8216
+8218
+8228
+8229
+8231
+8232
+8234
+8239
+8288
+8293
+8294
+8304
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8433
+11388
+11390
+11503
+11506
+11631
+11632
+11647
+11648
+11744
+11776
+11823
+11824
+12293
+12294
+12330
+12334
+12337
+12342
+12347
+12348
+12441
+12447
+12540
+12543
+40981
+40982
+42232
+42238
+42508
+42509
+42607
+42611
+42612
+42622
+42623
+42624
+42655
+42656
+42736
+42738
+42752
+42786
+42864
+42865
+42888
+42891
+43000
+43002
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43471
+43472
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43632
+43633
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43741
+43742
+43756
+43758
+43763
+43765
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+64434
+64450
+65024
+65040
+65043
+65044
+65056
+65063
+65106
+65107
+65109
+65110
+65279
+65280
+65287
+65288
+65294
+65295
+65306
+65307
+65342
+65343
+65344
+65345
+65392
+65393
+65438
+65440
+65507
+65508
+65529
+65532
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69821
+69822
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94112
+119143
+119146
+119155
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
index 9f37e769cff..fe8d4dbef61 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
@@ -1,594 +1,1178 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00B5
-00C0 00D6
-00D8 00DF
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-0149 014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-017F
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4 01C5
-01C7 01C8
-01CA 01CB
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1 01F2
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0345
-0370
-0372
-0376
-0386
-0388 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03C2
-03CF 03D1
-03D5 03D6
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F0 03F1
-03F4 03F5
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-0587
-10A0 10C5
-10C7
-10CD
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9A 1E9B
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1F80 1FAF
-1FB2 1FB4
-1FB7 1FBC
-1FC2 1FC4
-1FC7 1FCC
-1FD8 1FDB
-1FE8 1FEC
-1FF2 1FF4
-1FF7 1FFC
-2126
-212A 212B
-2132
-2160 216F
-2183
-24B6 24CF
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-FB00 FB06
-FB13 FB17
-FF21 FF3A
-10400 10427
+V1164
+65
+91
+181
+182
+192
+215
+216
+224
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+383
+384
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+837
+838
+880
+881
+882
+883
+886
+887
+902
+903
+904
+907
+908
+909
+910
+912
+913
+930
+931
+940
+962
+963
+975
+978
+981
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1010
+1012
+1014
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+1415
+1416
+4256
+4294
+4295
+4296
+4301
+4302
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7834
+7836
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8064
+8112
+8114
+8117
+8119
+8125
+8130
+8133
+8135
+8141
+8152
+8156
+8168
+8173
+8178
+8181
+8183
+8189
+8486
+8487
+8490
+8492
+8498
+8499
+8544
+8560
+8579
+8580
+9398
+9424
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+64256
+64263
+64275
+64280
+65313
+65339
+66560
+66600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
index 2ab79c7b265..a2b430c4f50 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
@@ -1,116 +1,222 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00B5
-00C0 00D6
-00D8 00F6
-00F8 0137
-0139 018C
-018E 019A
-019C 01A9
-01AC 01B9
-01BC 01BD
-01BF
-01C4 0220
-0222 0233
-023A 0254
-0256 0257
-0259
-025B
-0260
-0263
-0265 0266
-0268 0269
-026B
-026F
-0271 0272
-0275
-027D
-0280
-0283
-0288 028C
-0292
-0345
-0370 0373
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03D1
-03D5 03F2
-03F4 03F5
-03F7 03FB
-03FD 0481
-048A 0527
-0531 0556
-0561 0587
-10A0 10C5
-10C7
-10CD
-1D79
-1D7D
-1E00 1E9B
-1E9E
-1EA0 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2126
-212A 212B
-2132
-214E
-2160 217F
-2183 2184
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2C70
-2C72 2C73
-2C75 2C76
-2C7E 2CE3
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-A640 A66D
-A680 A697
-A722 A72F
-A732 A76F
-A779 A787
-A78B A78D
-A790 A793
-A7A0 A7AA
-FB00 FB06
-FB13 FB17
-FF21 FF3A
-FF41 FF5A
-10400 1044F
+V208
+65
+91
+97
+123
+181
+182
+192
+215
+216
+247
+248
+312
+313
+397
+398
+411
+412
+426
+428
+442
+444
+446
+447
+448
+452
+545
+546
+564
+570
+597
+598
+600
+601
+602
+603
+604
+608
+609
+611
+612
+613
+615
+616
+618
+619
+620
+623
+624
+625
+627
+629
+630
+637
+638
+640
+641
+643
+644
+648
+653
+658
+659
+837
+838
+880
+884
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+978
+981
+1011
+1012
+1014
+1015
+1020
+1021
+1154
+1162
+1320
+1329
+1367
+1377
+1416
+4256
+4294
+4295
+4296
+4301
+4302
+7545
+7546
+7549
+7550
+7680
+7836
+7838
+7839
+7840
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8486
+8487
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8576
+8579
+8581
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11377
+11378
+11380
+11381
+11383
+11390
+11492
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42560
+42606
+42624
+42648
+42786
+42800
+42802
+42864
+42873
+42888
+42891
+42894
+42896
+42900
+42912
+42923
+64256
+64263
+64275
+64280
+65313
+65339
+65345
+65371
+66560
+66640
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
index 1556776da93..f23a80f1128 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
@@ -1,803 +1,1598 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00A0
-00A8
-00AA
-00AD
-00AF
-00B2 00B5
-00B8 00BA
-00BC 00BE
-00C0 00D6
-00D8 00DF
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132 0134
-0136
-0139
-013B
-013D
-013F 0141
-0143
-0145
-0147
-0149 014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-017F
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4 01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1 01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-02B0 02B8
-02D8 02DD
-02E0 02E4
-0340 0341
-0343 0345
-034F
-0370
-0372
-0374
-0376
-037A
-037E
-0384 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03C2
-03CF 03D6
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F0 03F2
-03F4 03F5
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-0587
-0675 0678
-0958 095F
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B5C 0B5D
-0E33
-0EB3
-0EDC 0EDD
-0F0C
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F73
-0F75 0F79
-0F81
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-10A0 10C5
-10C7
-10CD
-10FC
-115F 1160
-17B4 17B5
-180B 180D
-1D2C 1D2E
-1D30 1D3A
-1D3C 1D4D
-1D4F 1D6A
-1D78
-1D9B 1DBF
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9A 1E9B
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1F71
-1F73
-1F75
-1F77
-1F79
-1F7B
-1F7D
-1F80 1FAF
-1FB2 1FB4
-1FB7 1FC4
-1FC7 1FCF
-1FD3
-1FD8 1FDB
-1FDD 1FDF
-1FE3
-1FE8 1FEF
-1FF2 1FF4
-1FF7 1FFE
-2000 200F
-2011
-2017
-2024 2026
-202A 202F
-2033 2034
-2036 2037
-203C
-203E
-2047 2049
-2057
-205F 2071
-2074 208E
-2090 209C
-20A8
-2100 2103
-2105 2107
-2109 2113
-2115 2116
-2119 211D
-2120 2122
-2124
-2126
-2128
-212A 212D
-212F 2139
-213B 2140
-2145 2149
-2150 217F
-2183
-2189
-222C 222D
-222F 2230
-2329 232A
-2460 24EA
-2A0C
-2A74 2A76
-2ADC
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7C 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-2D6F
-2E9F
-2EF3
-2F00 2FD5
-3000
-3036
-3038 303A
-309B 309C
-309F
-30FF
-3131 318E
-3192 319F
-3200 321E
-3220 3247
-3250 327E
-3280 32FE
-3300 33FF
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A770
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-A7F8 A7F9
-F900 FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB36
-FB38 FB3C
-FB3E
-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
-FEFF
-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
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1F100 1F10A
-1F110 1F12E
-1F130 1F14F
-1F16A 1F16B
-1F190
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
-2F800 2FA1D
-E0000 E0FFF
+V1584
+65
+91
+160
+161
+168
+169
+170
+171
+173
+174
+175
+176
+178
+182
+184
+187
+188
+191
+192
+215
+216
+224
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+322
+323
+324
+325
+326
+327
+328
+329
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+383
+384
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+688
+697
+728
+734
+736
+741
+832
+834
+835
+838
+847
+848
+880
+881
+882
+883
+884
+885
+886
+887
+890
+891
+894
+895
+900
+907
+908
+909
+910
+912
+913
+930
+931
+940
+962
+963
+975
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1011
+1012
+1014
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+1415
+1416
+1564
+1565
+1653
+1657
+2392
+2400
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2908
+2910
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3962
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4256
+4294
+4295
+4296
+4301
+4302
+4348
+4349
+4447
+4449
+6068
+6070
+6155
+6159
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7834
+7836
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8064
+8112
+8114
+8117
+8119
+8133
+8135
+8144
+8147
+8148
+8152
+8156
+8157
+8160
+8163
+8164
+8168
+8176
+8178
+8181
+8183
+8191
+8192
+8208
+8209
+8210
+8215
+8216
+8228
+8231
+8234
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8579
+8580
+8585
+8586
+8748
+8750
+8751
+8753
+9001
+9003
+9312
+9451
+10764
+10765
+10868
+10871
+10972
+10973
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11388
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12443
+12445
+12447
+12448
+12543
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42864
+42865
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+43000
+43002
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65024
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65520
+65529
+66560
+66600
+119134
+119141
+119155
+119163
+119227
+119233
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+194560
+195102
+917504
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
index a13a5f0ead1..d16e63be6f2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
@@ -1,583 +1,1156 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00C0 00D6
-00D8 00DE
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4 01C5
-01C7 01C8
-01CA 01CB
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1 01F2
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0370
-0372
-0376
-0386
-0388 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03CF
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F4
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-10A0 10C5
-10C7
-10CD
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1F88 1F8F
-1F98 1F9F
-1FA8 1FAF
-1FB8 1FBC
-1FC8 1FCC
-1FD8 1FDB
-1FE8 1FEC
-1FF8 1FFC
-2126
-212A 212B
-2132
-2160 216F
-2183
-24B6 24CF
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-FF21 FF3A
-10400 10427
+V1142
+65
+91
+192
+215
+216
+223
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+880
+881
+882
+883
+886
+887
+902
+903
+904
+907
+908
+909
+910
+912
+913
+930
+931
+940
+975
+976
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+4256
+4294
+4295
+4296
+4301
+4302
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8072
+8080
+8088
+8096
+8104
+8112
+8120
+8125
+8136
+8141
+8152
+8156
+8168
+8173
+8184
+8189
+8486
+8487
+8490
+8492
+8498
+8499
+8544
+8560
+8579
+8580
+9398
+9424
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+65313
+65339
+66560
+66600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
index a46a4072991..fb32b4812aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
@@ -1,599 +1,1188 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0061 007A
-00B5
-00DF 00F6
-00F8 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C
-0192
-0195
-0199 019A
-019E
-01A1
-01A3
-01A5
-01A8
-01AD
-01B0
-01B4
-01B6
-01B9
-01BD
-01BF
-01C4
-01C6 01C7
-01C9 01CA
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F1
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0254
-0256 0257
-0259
-025B
-0260
-0263
-0265 0266
-0268 0269
-026B
-026F
-0271 0272
-0275
-027D
-0280
-0283
-0288 028C
-0292
-0345
-0371
-0373
-0377
-037B 037D
-0390
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F2
-03F5
-03F8
-03FB
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527
-0561 0587
-1D79
-1D7D
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9B
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-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
-1FC6 1FC7
-1FD0 1FD3
-1FD6 1FD7
-1FE0 1FE7
-1FF2 1FF4
-1FF6 1FF7
-214E
-2170 217F
-2184
-24D0 24E9
-2C30 2C5E
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C73
-2C76
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3
-2CEC
-2CEE
-2CF3
-2D00 2D25
-2D27
-2D2D
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787
-A78C
-A791
-A793
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9
-FB00 FB06
-FB13 FB17
-FF41 FF5A
-10428 1044F
+V1174
+97
+123
+181
+182
+223
+247
+248
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+397
+402
+403
+405
+406
+409
+411
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+429
+430
+432
+433
+436
+437
+438
+439
+441
+442
+445
+446
+447
+448
+452
+453
+454
+456
+457
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+498
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+597
+598
+600
+601
+602
+603
+604
+608
+609
+611
+612
+613
+615
+616
+618
+619
+620
+623
+624
+625
+627
+629
+630
+637
+638
+640
+641
+643
+644
+648
+653
+658
+659
+837
+838
+881
+882
+883
+884
+887
+888
+891
+894
+912
+913
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1011
+1013
+1014
+1016
+1017
+1019
+1020
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1377
+1416
+7545
+7546
+7549
+7550
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7836
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7958
+7968
+7976
+7984
+7992
+8000
+8006
+8016
+8024
+8032
+8040
+8048
+8062
+8064
+8072
+8080
+8088
+8096
+8104
+8112
+8117
+8118
+8120
+8126
+8127
+8130
+8133
+8134
+8136
+8144
+8148
+8150
+8152
+8160
+8168
+8178
+8181
+8182
+8184
+8526
+8527
+8560
+8576
+8580
+8581
+9424
+9450
+11312
+11359
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11379
+11380
+11382
+11383
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11492
+11500
+11501
+11502
+11503
+11507
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42606
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42648
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42800
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42864
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42888
+42892
+42893
+42897
+42898
+42899
+42900
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+64256
+64263
+64275
+64280
+65345
+65371
+66600
+66640
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
index 495c2f3f763..c22bf9f49e5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
@@ -1,598 +1,1186 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0061 007A
-00B5
-00DF 00F6
-00F8 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C
-0192
-0195
-0199 019A
-019E
-01A1
-01A3
-01A5
-01A8
-01AD
-01B0
-01B4
-01B6
-01B9
-01BD
-01BF
-01C5 01C6
-01C8 01C9
-01CB 01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F2 01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0254
-0256 0257
-0259
-025B
-0260
-0263
-0265 0266
-0268 0269
-026B
-026F
-0271 0272
-0275
-027D
-0280
-0283
-0288 028C
-0292
-0345
-0371
-0373
-0377
-037B 037D
-0390
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F2
-03F5
-03F8
-03FB
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527
-0561 0587
-1D79
-1D7D
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9B
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-1EFF 1F07
-1F10 1F15
-1F20 1F27
-1F30 1F37
-1F40 1F45
-1F50 1F57
-1F60 1F67
-1F70 1F7D
-1F80 1FB4
-1FB6 1FB7
-1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FC7
-1FCC
-1FD0 1FD3
-1FD6 1FD7
-1FE0 1FE7
-1FF2 1FF4
-1FF6 1FF7
-1FFC
-214E
-2170 217F
-2184
-24D0 24E9
-2C30 2C5E
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C73
-2C76
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3
-2CEC
-2CEE
-2CF3
-2D00 2D25
-2D27
-2D2D
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787
-A78C
-A791
-A793
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9
-FB00 FB06
-FB13 FB17
-FF41 FF5A
-10428 1044F
+V1172
+97
+123
+181
+182
+223
+247
+248
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+397
+402
+403
+405
+406
+409
+411
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+429
+430
+432
+433
+436
+437
+438
+439
+441
+442
+445
+446
+447
+448
+453
+455
+456
+458
+459
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+498
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+597
+598
+600
+601
+602
+603
+604
+608
+609
+611
+612
+613
+615
+616
+618
+619
+620
+623
+624
+625
+627
+629
+630
+637
+638
+640
+641
+643
+644
+648
+653
+658
+659
+837
+838
+881
+882
+883
+884
+887
+888
+891
+894
+912
+913
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1011
+1013
+1014
+1016
+1017
+1019
+1020
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1377
+1416
+7545
+7546
+7549
+7550
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7836
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7958
+7968
+7976
+7984
+7992
+8000
+8006
+8016
+8024
+8032
+8040
+8048
+8062
+8064
+8117
+8118
+8120
+8124
+8125
+8126
+8127
+8130
+8133
+8134
+8136
+8140
+8141
+8144
+8148
+8150
+8152
+8160
+8168
+8178
+8181
+8182
+8184
+8188
+8189
+8526
+8527
+8560
+8576
+8580
+8581
+9424
+9450
+11312
+11359
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11379
+11380
+11382
+11383
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11492
+11500
+11501
+11502
+11503
+11507
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42606
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42648
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42800
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42864
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42888
+42892
+42893
+42897
+42898
+42899
+42900
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+64256
+64263
+64275
+64280
+65345
+65371
+66600
+66640
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
index 4dab36a1143..868272628eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
@@ -1,131 +1,252 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 01BA
-01BC 01BF
-01C4 0293
-0295 02B8
-02C0 02C1
-02E0 02E4
-0345
-0370 0373
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0561 0587
-10A0 10C5
-10C7
-10CD
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2134
-2139
-213C 213F
-2145 2149
-214E
-2160 217F
-2183 2184
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-A640 A66D
-A680 A697
-A722 A787
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A7FA
-FB00 FB06
-FB13 FB17
-FF21 FF3A
-FF41 FF5A
-10400 1044F
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
+V238
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+443
+444
+448
+452
+660
+661
+697
+704
+706
+736
+741
+837
+838
+880
+884
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1377
+1416
+4256
+4294
+4295
+4296
+4301
+4302
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8501
+8505
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8576
+8579
+8581
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42560
+42606
+42624
+42648
+42786
+42888
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43003
+64256
+64263
+64275
+64280
+65313
+65339
+65345
+65371
+66560
+66640
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
index d30ee6d7485..e96f1f0b156 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
@@ -1,105 +1,200 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 0314
-033D 0344
-0346
-034A 034C
-0350 0352
-0357
-035B
-0363 036F
-0483 0487
-0592 0595
-0597 0599
-059C 05A1
-05A8 05A9
-05AB 05AC
-05AF
-05C4
-0610 0617
-0653 0654
-0657 065B
-065D 065E
-06D6 06DC
-06DF 06E2
-06E4
-06E7 06E8
-06EB 06EC
-0730
-0732 0733
-0735 0736
-073A
-073D
-073F 0741
-0743
-0745
-0747
-0749 074A
-07EB 07F1
-07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-08E4 08E5
-08E7 08E8
-08EA 08EC
-08F3 08F5
-08F7 08F8
-08FB 08FE
-0951
-0953 0954
-0F82 0F83
-0F86 0F87
-135D 135F
-17DD
-193A
-1A17
-1A75 1A7C
-1B6B
-1B6D 1B73
-1CD0 1CD2
-1CDA 1CDB
-1CE0
-1CF4
-1DC0 1DC1
-1DC3 1DC9
-1DCB 1DCC
-1DD1 1DE6
-1DFE
-20D0 20D1
-20D4 20D7
-20DB 20DC
-20E1
-20E7
-20E9
-20F0
-2CEF 2CF1
-2DE0 2DFF
-A66F
-A674 A67D
-A69F
-A6F0 A6F1
-A8E0 A8F1
-AAB0
-AAB2 AAB3
-AAB7 AAB8
-AABE AABF
-AAC1
-FE20 FE26
-10A0F
-10A38
-11100 11102
-1D185 1D189
-1D1AA 1D1AD
-1D242 1D244
+V186
+768
+789
+829
+837
+838
+839
+842
+845
+848
+851
+855
+856
+859
+860
+867
+880
+1155
+1160
+1426
+1430
+1431
+1434
+1436
+1442
+1448
+1450
+1451
+1453
+1455
+1456
+1476
+1477
+1552
+1560
+1619
+1621
+1623
+1628
+1629
+1631
+1750
+1757
+1759
+1763
+1764
+1765
+1767
+1769
+1771
+1773
+1840
+1841
+1842
+1844
+1845
+1847
+1850
+1851
+1853
+1854
+1855
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1867
+2027
+2034
+2035
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2276
+2278
+2279
+2281
+2282
+2285
+2291
+2294
+2295
+2297
+2299
+2303
+2385
+2386
+2387
+2389
+3970
+3972
+3974
+3976
+4957
+4960
+6109
+6110
+6458
+6459
+6679
+6680
+6773
+6781
+7019
+7020
+7021
+7028
+7376
+7379
+7386
+7388
+7392
+7393
+7412
+7413
+7616
+7618
+7619
+7626
+7627
+7629
+7633
+7655
+7678
+7679
+8400
+8402
+8404
+8408
+8411
+8413
+8417
+8418
+8423
+8424
+8425
+8426
+8432
+8433
+11503
+11506
+11744
+11776
+42607
+42608
+42612
+42622
+42655
+42656
+42736
+42738
+43232
+43250
+43696
+43697
+43698
+43700
+43703
+43705
+43710
+43712
+43713
+43714
+65056
+65063
+68111
+68112
+68152
+68153
+69888
+69891
+119173
+119178
+119210
+119214
+119362
+119365
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
deleted file mode 100644
index e22b57e7599..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05AE
-18A9
-302B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
index b522898fedd..5407914122c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0315
-031A
-0358
-302C
+V8
+789
+790
+794
+795
+856
+857
+12332
+12333
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
deleted file mode 100644
index f5e40040f62..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1DCE
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
index 61d8bc045c2..f009b37bcf2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-031B
-0F39
-1D165 1D166
-1D16E 1D172
+V8
+795
+796
+3897
+3898
+119141
+119143
+119150
+119155
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
deleted file mode 100644
index 1276149349c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0321 0322
-0327 0328
-1DD0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
index bd41fd30905..426458d1183 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
@@ -1,76 +1,142 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0316 0319
-031C 0320
-0323 0326
-0329 0333
-0339 033C
-0347 0349
-034D 034E
-0353 0356
-0359 035A
-0591
-0596
-059B
-05A2 05A7
-05AA
-05C5
-0655 0656
-065C
-065F
-06E3
-06EA
-06ED
-0731
-0734
-0737 0739
-073B 073C
-073E
-0742
-0744
-0746
-0748
-07F2
-0859 085B
-08E6
-08E9
-08ED 08EF
-08F6
-08F9 08FA
-0952
-0F18 0F19
-0F35
-0F37
-0FC6
-108D
-193B
-1A18
-1A7F
-1B6C
-1CD5 1CD9
-1CDC 1CDF
-1CED
-1DC2
-1DCA
-1DCF
-1DFD
-1DFF
-20E8
-20EC 20EF
-A92B A92D
-AAB4
-101FD
-10A0D
-10A3A
-1D17B 1D182
-1D18A 1D18B
+V128
+790
+794
+796
+801
+803
+807
+809
+820
+825
+829
+839
+842
+845
+847
+851
+855
+857
+859
+1425
+1426
+1430
+1431
+1435
+1436
+1442
+1448
+1450
+1451
+1477
+1478
+1621
+1623
+1628
+1629
+1631
+1632
+1763
+1764
+1770
+1771
+1773
+1774
+1841
+1842
+1844
+1845
+1847
+1850
+1851
+1853
+1854
+1855
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+2034
+2035
+2137
+2140
+2278
+2279
+2281
+2282
+2285
+2288
+2294
+2295
+2297
+2299
+2386
+2387
+3864
+3866
+3893
+3894
+3895
+3896
+4038
+4039
+4237
+4238
+6459
+6460
+6680
+6681
+6783
+6784
+7020
+7021
+7381
+7386
+7388
+7392
+7405
+7406
+7618
+7619
+7626
+7627
+7631
+7632
+7677
+7678
+7679
+7680
+8424
+8425
+8428
+8432
+43307
+43310
+43700
+43701
+66045
+66046
+68109
+68110
+68154
+68155
+119163
+119171
+119178
+119180
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
deleted file mode 100644
index 2bbba641c29..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-302A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
index 9c9105819ec..dc0da8f43de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-059A
-05AD
-1939
-302D
+V8
+1434
+1435
+1453
+1454
+6457
+6458
+12333
+12334
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl
deleted file mode 100644
index 28abfdde0e4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl
deleted file mode 100644
index dd742b6a923..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0E38 0E39
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl
deleted file mode 100644
index 53e9f031d6f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0E48 0E4B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl
deleted file mode 100644
index b484e07c89a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl
deleted file mode 100644
index 1d1419c7b93..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0EB8 0EB9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl
deleted file mode 100644
index 906687f9f48..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl
deleted file mode 100644
index bdb5f77383e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0EC8 0ECB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl
deleted file mode 100644
index b249d306284..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F71
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl
deleted file mode 100644
index f48db9a9924..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl
deleted file mode 100644
index 89bcac51fca..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F72
-0F7A 0F7D
-0F80
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl
deleted file mode 100644
index b46df542e5f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F74
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl
deleted file mode 100644
index 3388e30d087..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B4
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl
deleted file mode 100644
index 406076ef8fe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B5
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl
deleted file mode 100644
index cf6927616cf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl
deleted file mode 100644
index ea72ffb8d14..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl
deleted file mode 100644
index 4a57f3c07f9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B8
-05C7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl
deleted file mode 100644
index 1edbef958ca..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05B9 05BA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl
deleted file mode 100644
index f54479c2d22..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05BB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl
deleted file mode 100644
index 3133b4e4bf3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05BC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl
deleted file mode 100644
index 2d380c66143..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05BD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl
deleted file mode 100644
index 5f7f3b77d46..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05BF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl
deleted file mode 100644
index f1944a2465c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05C1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl
deleted file mode 100644
index b8b4c7f38ef..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05C2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl
deleted file mode 100644
index 5ac54916d28..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FB1E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl
deleted file mode 100644
index e99f42f569c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-064B
-08F0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl
deleted file mode 100644
index 55b133fefbc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-064C
-08F1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl
deleted file mode 100644
index 510d19004e1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-064D
-08F2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl
deleted file mode 100644
index bae99b1e7e7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0618
-064E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl
deleted file mode 100644
index 665eac62da4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0619
-064F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl
deleted file mode 100644
index 83a0ef24562..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-061A
-0650
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl
deleted file mode 100644
index 58aea47d43c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0651
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl
deleted file mode 100644
index 849012ef9eb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0652
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl
deleted file mode 100644
index 714bac2a485..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0670
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl
deleted file mode 100644
index 0cfd830616f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0711
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl
deleted file mode 100644
index 8dbb05f9839..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0C55
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl
deleted file mode 100644
index 553d8f86359..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0C56
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
deleted file mode 100644
index 947c288afdb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 dac2d3ce2c6..586a48e2a1f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-035C
-035F
-0362
-1DFC
+V8
+860
+861
+863
+864
+866
+867
+7676
+7677
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
deleted file mode 100644
index c530c72fe4f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0345
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
deleted file mode 100644
index e5596f9cb09..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ee88b73cc39..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 3d6553577fe..829ddc7af2e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
@@ -1,25 +1,40 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-093C
-09BC
-0A3C
-0ABC
-0B3C
-0CBC
-1037
-1B34
-1BE6
-1C37
-A9B3
-110BA
-116B7
+V26
+2364
+2365
+2492
+2493
+2620
+2621
+2748
+2749
+2876
+2877
+3260
+3261
+4151
+4152
+6964
+6965
+7142
+7143
+7223
+7224
+43443
+43444
+69818
+69819
+71351
+71352
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
index 8d0589f13c2..092f7f57d2b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
@@ -1,143 +1,275 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 02FF
-034F
-0370 0482
-0488 0590
-05BE
-05C0
-05C3
-05C6
-05C8 060F
-061B 064A
-0660 066F
-0671 06D5
-06DD 06DE
-06E5 06E6
-06E9
-06EE 0710
-0712 072F
-074B 07EA
-07F4 0815
-081A
-0824
-0828
-082E 0858
-085C 08E3
-08FF 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
-0F73
-0F75 0F79
-0F7E 0F7F
-0F81
-0F85
-0F88 0FC5
-0FC7 1036
-1038
-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
-1BAC 1BE5
-1BE7 1BF1
-1BF4 1C36
-1C38 1CCF
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1DBF
-1DE7 1DFB
-1E00 20CF
-20DD 20E0
-20E2 20E4
-20F1 2CEE
-2CF2 2D7E
-2D80 2DDF
-2E00 3029
-3030 3098
-309B A66E
-A670 A673
-A67E A69E
-A6A0 A6EF
-A6F2 A805
-A807 A8C3
-A8C5 A8DF
-A8F2 A92A
-A92E A952
-A954 A9B2
-A9B4 A9BF
-A9C1 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2 AAF5
-AAF7 ABEC
-ABEE FB1D
-FB1F FE1F
-FE27 101FC
-101FE 10A0C
-10A0E
-10A10 10A37
-10A3B 10A3E
-10A40 11045
-11047 110B8
-110BB 110FF
-11103 11132
-11135 111BF
-111C1 116B5
-116B8 1D164
-1D16A 1D16C
-1D173 1D17A
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 10FFFF
+V261
+0
+768
+847
+848
+880
+1155
+1160
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2364
+2365
+2381
+2382
+2385
+2389
+2492
+2493
+2509
+2510
+2620
+2621
+2637
+2638
+2748
+2749
+2765
+2766
+2876
+2877
+2893
+2894
+3021
+3022
+3149
+3150
+3157
+3159
+3260
+3261
+3277
+3278
+3405
+3406
+3530
+3531
+3640
+3643
+3656
+3660
+3768
+3770
+3784
+3788
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3955
+3956
+3957
+3962
+3966
+3968
+3969
+3970
+3973
+3974
+3976
+4038
+4039
+4151
+4152
+4153
+4155
+4237
+4238
+4957
+4960
+5908
+5909
+5940
+5941
+6098
+6099
+6109
+6110
+6313
+6314
+6457
+6460
+6679
+6681
+6752
+6753
+6773
+6781
+6783
+6784
+6964
+6965
+6980
+6981
+7019
+7028
+7082
+7084
+7142
+7143
+7154
+7156
+7223
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8400
+8413
+8417
+8418
+8421
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42608
+42612
+42622
+42655
+42656
+42736
+42738
+43014
+43015
+43204
+43205
+43232
+43250
+43307
+43310
+43347
+43348
+43443
+43444
+43456
+43457
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43766
+43767
+44013
+44014
+64286
+64287
+65056
+65063
+66045
+66046
+68109
+68110
+68111
+68112
+68152
+68155
+68159
+68160
+69702
+69703
+69817
+69819
+69888
+69891
+69939
+69941
+70080
+70081
+71350
+71352
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
index c4ce08cf0e0..05df9f2958a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0334 0338
-1CD4
-1CE2 1CE8
-20D2 20D3
-20D8 20DA
-20E5 20E6
-20EA 20EB
-10A39
-1D167 1D169
+V18
+820
+825
+7380
+7381
+7394
+7401
+8402
+8404
+8408
+8411
+8421
+8423
+8426
+8428
+68153
+68154
+119143
+119146
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
deleted file mode 100644
index 237499b5022..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1D16D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
index ea419971bd6..b27e6e9cbf9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
@@ -1,45 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-094D
-09CD
-0A4D
-0ACD
-0B4D
-0BCD
-0C4D
-0CCD
-0D4D
-0DCA
-0E3A
-0F84
-1039 103A
-1714
-1734
-17D2
-1A60
-1B44
-1BAA 1BAB
-1BF2 1BF3
-2D7F
-A806
-A8C4
-A953
-A9C0
-AAF6
-ABED
-10A3F
-11046
-110B9
-11133 11134
-111C0
-116B6
+V66
+2381
+2382
+2509
+2510
+2637
+2638
+2765
+2766
+2893
+2894
+3021
+3022
+3149
+3150
+3277
+3278
+3405
+3406
+3530
+3531
+3642
+3643
+3972
+3973
+4153
+4155
+5908
+5909
+5940
+5941
+6098
+6099
+6752
+6753
+6980
+6981
+7082
+7084
+7154
+7156
+11647
+11648
+43014
+43015
+43204
+43205
+43347
+43348
+43456
+43457
+43766
+43767
+44013
+44014
+68159
+68160
+69702
+69703
+69817
+69818
+69939
+69941
+70080
+70081
+71350
+71351
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
index 3d31ea17708..92eeeea1b31 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
@@ -1,85 +1,160 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0340 0341
-0343 0344
-0374
-037E
-0387
-0958 095F
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B5C 0B5D
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F73
-0F75 0F76
-0F78
-0F81
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-1F71
-1F73
-1F75
-1F77
-1F79
-1F7B
-1F7D
-1FBB
-1FBE
-1FC9
-1FCB
-1FD3
-1FDB
-1FE3
-1FEB
-1FEE 1FEF
-1FF9
-1FFB
-1FFD
-2000 2001
-2126
-212A 212B
-2329 232A
-2ADC
-F900 FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A FA6D
-FA70 FAD9
-FB1D
-FB1F
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FB4E
-1D15E 1D164
-1D1BB 1D1C0
-2F800 2FA1D
+V146
+832
+834
+835
+837
+884
+885
+894
+895
+903
+904
+2392
+2400
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2908
+2910
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3959
+3960
+3961
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8123
+8124
+8126
+8127
+8137
+8138
+8139
+8140
+8147
+8148
+8155
+8156
+8163
+8164
+8171
+8172
+8174
+8176
+8185
+8186
+8187
+8188
+8189
+8190
+8192
+8194
+8486
+8487
+8490
+8492
+9001
+9003
+10972
+10973
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64285
+64286
+64287
+64288
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64335
+119134
+119141
+119227
+119233
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
index 35faaed5cbc..59a720c70ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
@@ -1,27 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AD
-034F
-115F 1160
-17B4 17B5
-180B 180D
-200B 200F
-202A 202E
-2060 206F
-3164
-FE00 FE0F
-FEFF
-FFA0
-FFF0 FFF8
-1D173 1D17A
-E0000 E0FFF
+V32
+173
+174
+847
+848
+1564
+1565
+4447
+4449
+6068
+6070
+6155
+6159
+8203
+8208
+8234
+8239
+8288
+8304
+12644
+12645
+65024
+65040
+65279
+65280
+65440
+65441
+65520
+65529
+119155
+119163
+917504
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
index e7842cab5c4..97bc31f5f15 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
@@ -1,32 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002D
-058A
-05BE
-1400
-1806
-2010 2015
-2053
-207B
-208B
-2212
-2E17
-2E1A
-2E3A 2E3B
-301C
-3030
-30A0
-FE31 FE32
-FE58
-FE63
-FF0D
+V40
+45
+46
+1418
+1419
+1470
+1471
+5120
+5121
+6150
+6151
+8208
+8214
+8275
+8276
+8315
+8316
+8331
+8332
+8722
+8723
+11799
+11800
+11802
+11803
+11834
+11836
+12316
+12317
+12336
+12337
+12448
+12449
+65073
+65075
+65112
+65113
+65123
+65124
+65293
+65294
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
index bc2cd95faed..6199c3c17dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0149
-0673
-0F77
-0F79
-17A3 17A4
-206A 206F
-2329 232A
-E0001
-E0020 E007F
+V18
+329
+330
+1651
+1652
+3959
+3960
+3961
+3962
+6051
+6053
+8298
+8304
+9001
+9003
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
index 08b59711a95..391c05a6bf0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
@@ -1,137 +1,264 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-005E
-0060
-00A8
-00AF
-00B4
-00B7 00B8
-02B0 034E
-0350 0357
-035D 0362
-0374 0375
-037A
-0384 0385
-0483 0487
-0559
-0591 05A1
-05A3 05BD
-05BF
-05C1 05C2
-05C4
-064B 0652
-0657 0658
-06DF 06E0
-06E5 06E6
-06EA 06EC
-0730 074A
-07A6 07B0
-07EB 07F5
-0818 0819
-08E4 08FE
-093C
-094D
-0951 0954
-0971
-09BC
-09CD
-0A3C
-0A4D
-0ABC
-0ACD
-0B3C
-0B4D
-0BCD
-0C4D
-0CBC
-0CCD
-0D4D
-0DCA
-0E47 0E4C
-0E4E
-0EC8 0ECC
-0F18 0F19
-0F35
-0F37
-0F39
-0F3E 0F3F
-0F82 0F84
-0F86 0F87
-0FC6
-1037
-1039 103A
-1087 108D
-108F
-109A 109B
-17C9 17D3
-17DD
-1939 193B
-1A75 1A7C
-1A7F
-1B34
-1B44
-1B6B 1B73
-1BAA 1BAB
-1C36 1C37
-1C78 1C7D
-1CD0 1CE8
-1CED
-1CF4
-1D2C 1D6A
-1DC4 1DCF
-1DFD 1DFF
-1FBD
-1FBF 1FC1
-1FCD 1FCF
-1FDD 1FDF
-1FED 1FEF
-1FFD 1FFE
-2CEF 2CF1
-2E2F
-302A 302F
-3099 309C
-30FC
-A66F
-A67C A67D
-A67F
-A6F0 A6F1
-A717 A721
-A788
-A7F8 A7F9
-A8C4
-A8E0 A8F1
-A92B A92E
-A953
-A9B3
-A9C0
-AA7B
-AABF AAC2
-AAF6
-ABEC ABED
-FB1E
-FE20 FE26
-FF3E
-FF40
-FF70
-FF9E FF9F
-FFE3
-110B9 110BA
-11133 11134
-111C0
-116B6 116B7
-16F8F 16F9F
-1D167 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
+V250
+94
+95
+96
+97
+168
+169
+175
+176
+180
+181
+183
+185
+688
+847
+848
+856
+861
+867
+884
+886
+890
+891
+900
+902
+1155
+1160
+1369
+1370
+1425
+1442
+1443
+1470
+1471
+1472
+1473
+1475
+1476
+1477
+1611
+1619
+1623
+1625
+1759
+1761
+1765
+1767
+1770
+1773
+1840
+1867
+1958
+1969
+2027
+2038
+2072
+2074
+2276
+2303
+2364
+2365
+2381
+2382
+2385
+2389
+2417
+2418
+2492
+2493
+2509
+2510
+2620
+2621
+2637
+2638
+2748
+2749
+2765
+2766
+2876
+2877
+2893
+2894
+3021
+3022
+3149
+3150
+3260
+3261
+3277
+3278
+3405
+3406
+3530
+3531
+3655
+3661
+3662
+3663
+3784
+3789
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3970
+3973
+3974
+3976
+4038
+4039
+4151
+4152
+4153
+4155
+4231
+4238
+4239
+4240
+4250
+4252
+6089
+6100
+6109
+6110
+6457
+6460
+6773
+6781
+6783
+6784
+6964
+6965
+6980
+6981
+7019
+7028
+7082
+7084
+7222
+7224
+7288
+7294
+7376
+7401
+7405
+7406
+7412
+7413
+7468
+7531
+7620
+7632
+7677
+7680
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+11503
+11506
+11823
+11824
+12330
+12336
+12441
+12445
+12540
+12541
+42607
+42608
+42620
+42622
+42623
+42624
+42736
+42738
+42775
+42786
+42888
+42889
+43000
+43002
+43204
+43205
+43232
+43250
+43307
+43311
+43347
+43348
+43443
+43444
+43456
+43457
+43643
+43644
+43711
+43715
+43766
+43767
+44012
+44014
+64286
+64287
+65056
+65063
+65342
+65343
+65344
+65345
+65392
+65393
+65438
+65440
+65507
+65508
+69817
+69819
+69939
+69941
+70080
+70081
+71350
+71352
+94095
+94112
+119143
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
index ad9e89298ef..97c20883e0a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
@@ -1,86 +1,162 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A8
-00AF
-00B4 00B5
-00B8
-0132 0133
-013F 0140
-0149
-017F
-01C4 01CC
-01F1 01F3
-02D8 02DD
-037A
-0384
-03D0 03D2
-03D5 03D6
-03F0 03F2
-03F4 03F5
-03F9
-0587
-0675 0678
-0E33
-0EB3
-0EDC 0EDD
-0F77
-0F79
-1E9A
-1FBD
-1FBF 1FC0
-1FFE
-2002 2006
-2008 200A
-2017
-2024 2026
-2033 2034
-2036 2037
-203C
-203E
-2047 2049
-2057
-205F
-20A8
-2100 2101
-2103
-2105 2107
-2109
-2116
-2121
-2135 2138
-213B
-2160 217F
-222C 222D
-222F 2230
-2474 24B5
-2A0C
-2A74 2A76
-2E9F
-2EF3
-2F00 2FD5
-3036
-3038 303A
-309B 309C
-3131 318E
-3200 321E
-3220 3243
-32C0 32CB
-3358 3370
-33E0 33FE
-FB00 FB06
-FB13 FB17
-FB4F
-FE49 FE4F
-1F100 1F10A
-1F110 1F12A
-1F240 1F248
+V148
+168
+169
+175
+176
+180
+182
+184
+185
+306
+308
+319
+321
+329
+330
+383
+384
+452
+461
+497
+500
+728
+734
+890
+891
+900
+901
+976
+979
+981
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1415
+1416
+1653
+1657
+3635
+3636
+3763
+3764
+3804
+3806
+3959
+3960
+3961
+3962
+7834
+7835
+8125
+8126
+8127
+8129
+8190
+8191
+8194
+8199
+8200
+8203
+8215
+8216
+8228
+8231
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8360
+8361
+8448
+8450
+8451
+8452
+8453
+8456
+8457
+8458
+8470
+8471
+8481
+8482
+8501
+8505
+8507
+8508
+8544
+8576
+8748
+8750
+8751
+8753
+9332
+9398
+10764
+10765
+10868
+10871
+11935
+11936
+12019
+12020
+12032
+12246
+12342
+12343
+12344
+12347
+12443
+12445
+12593
+12687
+12800
+12831
+12832
+12868
+12992
+13004
+13144
+13169
+13280
+13311
+64256
+64263
+64275
+64280
+64335
+64336
+65097
+65104
+127232
+127243
+127248
+127275
+127552
+127561
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
index b7fff23c14d..3eae3069184 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2460 2473
-24B6 24EA
-3244 3247
-3251 327E
-3280 32BF
-32D0 32FE
-1F12B 1F12E
-1F250 1F251
+V16
+9312
+9332
+9398
+9451
+12868
+12872
+12881
+12927
+12928
+12992
+13008
+13055
+127275
+127279
+127568
+127570
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
index 17674457f00..34b7c95bf43 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
@@ -1,125 +1,240 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-FB51
-FB53
-FB57
-FB5B
-FB5F
-FB63
-FB67
-FB6B
-FB6F
-FB73
-FB77
-FB7B
-FB7F
-FB83
-FB85
-FB87
-FB89
-FB8B
-FB8D
-FB8F
-FB93
-FB97
-FB9B
-FB9F
-FBA1
-FBA5
-FBA7
-FBAB
-FBAF
-FBB1
-FBD4
-FBD8
-FBDA
-FBDC
-FBDF
-FBE1
-FBE3
-FBE5
-FBEB
-FBED
-FBEF
-FBF1
-FBF3
-FBF5
-FBF7
-FBFA
-FBFD
-FC64 FC96
-FD11 FD2C
-FD3C
-FD51
-FD58
-FD5A FD5B
-FD5E FD5F
-FD62
-FD64
-FD66 FD67
-FD69 FD6A
-FD6C
-FD6E FD6F
-FD71
-FD74 FD76
-FD78 FD7C
-FD7E FD82
-FD84 FD85
-FD87
-FD8B
-FD96 FD97
-FD99 FD9C
-FD9E FDB3
-FDB6 FDB7
-FDB9
-FDBB FDC2
-FDC6 FDC7
-FE82
-FE84
-FE86
-FE88
-FE8A
-FE8E
-FE90
-FE94
-FE96
-FE9A
-FE9E
-FEA2
-FEA6
-FEAA
-FEAC
-FEAE
-FEB0
-FEB2
-FEB6
-FEBA
-FEBE
-FEC2
-FEC6
-FECA
-FECE
-FED2
-FED6
-FEDA
-FEDE
-FEE2
-FEE6
-FEEA
-FEEE
-FEF0
-FEF2
-FEF6
-FEF8
-FEFA
-FEFC
+V226
+64337
+64338
+64339
+64340
+64343
+64344
+64347
+64348
+64351
+64352
+64355
+64356
+64359
+64360
+64363
+64364
+64367
+64368
+64371
+64372
+64375
+64376
+64379
+64380
+64383
+64384
+64387
+64388
+64389
+64390
+64391
+64392
+64393
+64394
+64395
+64396
+64397
+64398
+64399
+64400
+64403
+64404
+64407
+64408
+64411
+64412
+64415
+64416
+64417
+64418
+64421
+64422
+64423
+64424
+64427
+64428
+64431
+64432
+64433
+64434
+64468
+64469
+64472
+64473
+64474
+64475
+64476
+64477
+64479
+64480
+64481
+64482
+64483
+64484
+64485
+64486
+64491
+64492
+64493
+64494
+64495
+64496
+64497
+64498
+64499
+64500
+64501
+64502
+64503
+64504
+64506
+64507
+64509
+64510
+64612
+64663
+64785
+64813
+64828
+64829
+64849
+64850
+64856
+64857
+64858
+64860
+64862
+64864
+64866
+64867
+64868
+64869
+64870
+64872
+64873
+64875
+64876
+64877
+64878
+64880
+64881
+64882
+64884
+64887
+64888
+64893
+64894
+64899
+64900
+64902
+64903
+64904
+64907
+64908
+64918
+64920
+64921
+64925
+64926
+64948
+64950
+64952
+64953
+64954
+64955
+64963
+64966
+64968
+65154
+65155
+65156
+65157
+65158
+65159
+65160
+65161
+65162
+65163
+65166
+65167
+65168
+65169
+65172
+65173
+65174
+65175
+65178
+65179
+65182
+65183
+65186
+65187
+65190
+65191
+65194
+65195
+65196
+65197
+65198
+65199
+65200
+65201
+65202
+65203
+65206
+65207
+65210
+65211
+65214
+65215
+65218
+65219
+65222
+65223
+65226
+65227
+65230
+65231
+65234
+65235
+65238
+65239
+65242
+65243
+65246
+65247
+65250
+65251
+65254
+65255
+65258
+65259
+65262
+65263
+65264
+65265
+65266
+65267
+65270
+65271
+65272
+65273
+65274
+65275
+65276
+65277
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
index e5fd344bd8c..2eff6e26657 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
@@ -1,79 +1,148 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2102
-210A 2113
-2115
-2119 211D
-2124
-2128
-212C 212D
-212F 2131
-2133 2134
-2139
-213C 2140
-2145 2149
-FB20 FB29
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
+V134
+8450
+8451
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8488
+8489
+8492
+8494
+8495
+8498
+8499
+8501
+8505
+8506
+8508
+8513
+8517
+8522
+64288
+64298
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
deleted file mode 100644
index 04e1868e5c0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 4d74ea06630..8647287ba47 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
@@ -1,87 +1,164 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-FB54
-FB58
-FB5C
-FB60
-FB64
-FB68
-FB6C
-FB70
-FB74
-FB78
-FB7C
-FB80
-FB90
-FB94
-FB98
-FB9C
-FBA2
-FBA8
-FBAC
-FBD5
-FBE6
-FBE8
-FBF8
-FBFB
-FBFE
-FC97 FCDE
-FD2D FD33
-FD50
-FD52 FD57
-FD59
-FD5C FD5D
-FD60 FD61
-FD63
-FD65
-FD68
-FD6B
-FD6D
-FD70
-FD72 FD73
-FD77
-FD7D
-FD83
-FD86
-FD88 FD8A
-FD8C FD8F
-FD92 FD95
-FD98
-FD9D
-FDB4 FDB5
-FDB8
-FDBA
-FDC3 FDC5
-FE8B
-FE91
-FE97
-FE9B
-FE9F
-FEA3
-FEA7
-FEB3
-FEB7
-FEBB
-FEBF
-FEC3
-FEC7
-FECB
-FECF
-FED3
-FED7
-FEDB
-FEDF
-FEE3
-FEE7
-FEEB
-FEF3
+V150
+64340
+64341
+64344
+64345
+64348
+64349
+64352
+64353
+64356
+64357
+64360
+64361
+64364
+64365
+64368
+64369
+64372
+64373
+64376
+64377
+64380
+64381
+64384
+64385
+64400
+64401
+64404
+64405
+64408
+64409
+64412
+64413
+64418
+64419
+64424
+64425
+64428
+64429
+64469
+64470
+64486
+64487
+64488
+64489
+64504
+64505
+64507
+64508
+64510
+64511
+64663
+64735
+64813
+64820
+64848
+64849
+64850
+64856
+64857
+64858
+64860
+64862
+64864
+64866
+64867
+64868
+64869
+64870
+64872
+64873
+64875
+64876
+64877
+64878
+64880
+64881
+64882
+64884
+64887
+64888
+64893
+64894
+64899
+64900
+64902
+64903
+64904
+64907
+64908
+64912
+64914
+64918
+64920
+64921
+64925
+64926
+64948
+64950
+64952
+64953
+64954
+64955
+64963
+64966
+65163
+65164
+65169
+65170
+65175
+65176
+65179
+65180
+65183
+65184
+65187
+65188
+65191
+65192
+65203
+65204
+65207
+65208
+65211
+65212
+65215
+65216
+65219
+65220
+65223
+65224
+65227
+65228
+65231
+65232
+65235
+65236
+65239
+65240
+65243
+65244
+65247
+65248
+65251
+65252
+65255
+65256
+65259
+65260
+65267
+65268
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
index e1320edb0ff..3bb347b39ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
@@ -1,110 +1,210 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-FB50
-FB52
-FB56
-FB5A
-FB5E
-FB62
-FB66
-FB6A
-FB6E
-FB72
-FB76
-FB7A
-FB7E
-FB82
-FB84
-FB86
-FB88
-FB8A
-FB8C
-FB8E
-FB92
-FB96
-FB9A
-FB9E
-FBA0
-FBA4
-FBA6
-FBAA
-FBAE
-FBB0
-FBD3
-FBD7
-FBD9
-FBDB
-FBDD FBDE
-FBE0
-FBE2
-FBE4
-FBEA
-FBEC
-FBEE
-FBF0
-FBF2
-FBF4
-FBF6
-FBF9
-FBFC
-FC00 FC63
-FCF5 FD10
-FD3D
-FDF0 FDFC
-FE70
-FE72
-FE74
-FE76
-FE78
-FE7A
-FE7C
-FE7E
-FE80 FE81
-FE83
-FE85
-FE87
-FE89
-FE8D
-FE8F
-FE93
-FE95
-FE99
-FE9D
-FEA1
-FEA5
-FEA9
-FEAB
-FEAD
-FEAF
-FEB1
-FEB5
-FEB9
-FEBD
-FEC1
-FEC5
-FEC9
-FECD
-FED1
-FED5
-FED9
-FEDD
-FEE1
-FEE5
-FEE9
-FEED
-FEEF
-FEF1
-FEF5
-FEF7
-FEF9
-FEFB
+V196
+64336
+64337
+64338
+64339
+64342
+64343
+64346
+64347
+64350
+64351
+64354
+64355
+64358
+64359
+64362
+64363
+64366
+64367
+64370
+64371
+64374
+64375
+64378
+64379
+64382
+64383
+64386
+64387
+64388
+64389
+64390
+64391
+64392
+64393
+64394
+64395
+64396
+64397
+64398
+64399
+64402
+64403
+64406
+64407
+64410
+64411
+64414
+64415
+64416
+64417
+64420
+64421
+64422
+64423
+64426
+64427
+64430
+64431
+64432
+64433
+64467
+64468
+64471
+64472
+64473
+64474
+64475
+64476
+64477
+64479
+64480
+64481
+64482
+64483
+64484
+64485
+64490
+64491
+64492
+64493
+64494
+64495
+64496
+64497
+64498
+64499
+64500
+64501
+64502
+64503
+64505
+64506
+64508
+64509
+64512
+64612
+64757
+64785
+64829
+64830
+65008
+65021
+65136
+65137
+65138
+65139
+65140
+65141
+65142
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65152
+65154
+65155
+65156
+65157
+65158
+65159
+65160
+65161
+65162
+65165
+65166
+65167
+65168
+65171
+65172
+65173
+65174
+65177
+65178
+65181
+65182
+65185
+65186
+65189
+65190
+65193
+65194
+65195
+65196
+65197
+65198
+65199
+65200
+65201
+65202
+65205
+65206
+65209
+65210
+65213
+65214
+65217
+65218
+65221
+65222
+65225
+65226
+65229
+65230
+65233
+65234
+65237
+65238
+65241
+65242
+65245
+65246
+65249
+65250
+65253
+65254
+65257
+65258
+65261
+65262
+65263
+65264
+65265
+65266
+65269
+65270
+65271
+65272
+65273
+65274
+65275
+65276
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
index 803fd82d017..e5352edfd5f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
@@ -1,66 +1,122 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-FB55
-FB59
-FB5D
-FB61
-FB65
-FB69
-FB6D
-FB71
-FB75
-FB79
-FB7D
-FB81
-FB91
-FB95
-FB99
-FB9D
-FBA3
-FBA9
-FBAD
-FBD6
-FBE7
-FBE9
-FBFF
-FCDF FCF4
-FD34 FD3B
-FE71
-FE77
-FE79
-FE7B
-FE7D
-FE7F
-FE8C
-FE92
-FE98
-FE9C
-FEA0
-FEA4
-FEA8
-FEB4
-FEB8
-FEBC
-FEC0
-FEC4
-FEC8
-FECC
-FED0
-FED4
-FED8
-FEDC
-FEE0
-FEE4
-FEE8
-FEEC
-FEF4
+V108
+64341
+64342
+64345
+64346
+64349
+64350
+64353
+64354
+64357
+64358
+64361
+64362
+64365
+64366
+64369
+64370
+64373
+64374
+64377
+64378
+64381
+64382
+64385
+64386
+64401
+64402
+64405
+64406
+64409
+64410
+64413
+64414
+64419
+64420
+64425
+64426
+64429
+64430
+64470
+64471
+64487
+64488
+64489
+64490
+64511
+64512
+64735
+64757
+64820
+64828
+65137
+65138
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65152
+65164
+65165
+65170
+65171
+65176
+65177
+65180
+65181
+65184
+65185
+65188
+65189
+65192
+65193
+65204
+65205
+65208
+65209
+65212
+65213
+65216
+65217
+65220
+65221
+65224
+65225
+65228
+65229
+65232
+65233
+65236
+65237
+65240
+65241
+65244
+65245
+65248
+65249
+65252
+65253
+65256
+65257
+65260
+65261
+65268
+65269
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
index ee63363dcc4..81b494bec54 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-FF61 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
-FFE8 FFEE
+V12
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65512
+65519
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
index 2ee1f1f4b68..14d83543929 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0
-0F0C
-2007
-2011
-202F
+V10
+160
+161
+3852
+3853
+8199
+8200
+8209
+8210
+8239
+8240
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
index 6aec971c6e0..a8082380fee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
@@ -1,196 +1,382 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0
-00A8
-00AA
-00AF
-00B2 00B5
-00B8 00BA
-00BC 00BE
-0132 0133
-013F 0140
-0149
-017F
-01C4 01CC
-01F1 01F3
-02B0 02B8
-02D8 02DD
-02E0 02E4
-037A
-0384
-03D0 03D2
-03D5 03D6
-03F0 03F2
-03F4 03F5
-03F9
-0587
-0675 0678
-0E33
-0EB3
-0EDC 0EDD
-0F0C
-0F77
-0F79
-10FC
-1D2C 1D2E
-1D30 1D3A
-1D3C 1D4D
-1D4F 1D6A
-1D78
-1D9B 1DBF
-1E9A
-1FBD
-1FBF 1FC0
-1FFE
-2002 200A
-2011
-2017
-2024 2026
-202F
-2033 2034
-2036 2037
-203C
-203E
-2047 2049
-2057
-205F
-2070 2071
-2074 208E
-2090 209C
-20A8
-2100 2103
-2105 2107
-2109 2113
-2115 2116
-2119 211D
-2120 2122
-2124
-2128
-212C 212D
-212F 2131
-2133 2139
-213B 2140
-2145 2149
-2150 217F
-2189
-222C 222D
-222F 2230
-2460 24EA
-2A0C
-2A74 2A76
-2C7C 2C7D
-2D6F
-2E9F
-2EF3
-2F00 2FD5
-3000
-3036
-3038 303A
-309B 309C
-309F
-30FF
-3131 318E
-3192 319F
-3200 321E
-3220 3247
-3250 327E
-3280 32FE
-3300 33FF
-A770
-A7F8 A7F9
-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
-FF01 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
-FFE0 FFE6
-FFE8 FFEE
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1F100 1F10A
-1F110 1F12E
-1F130 1F14F
-1F16A 1F16B
-1F190
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
+V368
+160
+161
+168
+169
+170
+171
+175
+176
+178
+182
+184
+187
+188
+191
+306
+308
+319
+321
+329
+330
+383
+384
+452
+461
+497
+500
+688
+697
+728
+734
+736
+741
+890
+891
+900
+901
+976
+979
+981
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1415
+1416
+1653
+1657
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3959
+3960
+3961
+3962
+4348
+4349
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7834
+7835
+8125
+8126
+8127
+8129
+8190
+8191
+8194
+8203
+8209
+8210
+8215
+8216
+8228
+8231
+8239
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8488
+8489
+8492
+8494
+8495
+8498
+8499
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8585
+8586
+8748
+8750
+8751
+8753
+9312
+9451
+10764
+10765
+10868
+10871
+11388
+11390
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12443
+12445
+12447
+12448
+12543
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42864
+42865
+43000
+43002
+64256
+64263
+64275
+64280
+64288
+64298
+64335
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
deleted file mode 100644
index 6db1783f8c0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 6208b06c72b..bbb7ff0be3c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3250
-32CC 32CF
-3300 3357
-3371 33DF
-33FF
-1F130 1F14F
-1F190
-1F200 1F202
-1F210 1F23A
+V18
+12880
+12881
+13004
+13008
+13056
+13144
+13169
+13280
+13311
+13312
+127280
+127312
+127376
+127377
+127488
+127491
+127504
+127547
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
index 3c27aa2a696..89a8a1fd2a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1D62 1D6A
-2080 208E
-2090 209C
-2C7C
+V8
+7522
+7531
+8320
+8335
+8336
+8349
+11388
+11389
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
index 50688995e9c..219400cecd9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AA
-00B2 00B3
-00B9 00BA
-02B0 02B8
-02E0 02E4
-10FC
-1D2C 1D2E
-1D30 1D3A
-1D3C 1D4D
-1D4F 1D61
-1D78
-1D9B 1DBF
-2070 2071
-2074 207F
-2120
-2122
-2C7D
-2D6F
-3192 319F
-A770
-A7F8 A7F9
-1F16A 1F16B
+V44
+170
+171
+178
+180
+185
+187
+688
+697
+736
+741
+4348
+4349
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7522
+7544
+7545
+7579
+7616
+8304
+8306
+8308
+8320
+8480
+8481
+8482
+8483
+11389
+11390
+11631
+11632
+12690
+12704
+42864
+42865
+43000
+43002
+127338
+127340
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
index 84dad313c40..14c4a7137f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-309F
-30FF
-FE10 FE19
-FE30 FE44
-FE47 FE48
+V10
+12447
+12448
+12543
+12544
+65040
+65050
+65072
+65093
+65095
+65097
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Wide.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Wide.pl
deleted file mode 100755
index 2b5e04d4dd1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Wide.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3000
-FF01 FF60
-FFE0 FFE6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
index 62cdcfeff5a..18eb013e4cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
@@ -1,185 +1,360 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A1
-00A4
-00A7 00A8
-00AA
-00AD 00AE
-00B0 00B4
-00B6 00BA
-00BC 00BF
-00C6
-00D0
-00D7 00D8
-00DE 00E1
-00E6
-00E8 00EA
-00EC 00ED
-00F0
-00F2 00F3
-00F7 00FA
-00FC
-00FE
-0101
-0111
-0113
-011B
-0126 0127
-012B
-0131 0133
-0138
-013F 0142
-0144
-0148 014B
-014D
-0152 0153
-0166 0167
-016B
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC
-0251
-0261
-02C4
-02C7
-02C9 02CB
-02CD
-02D0
-02D8 02DB
-02DD
-02DF
-0300 036F
-0391 03A1
-03A3 03A9
-03B1 03C1
-03C3 03C9
-0401
-0410 044F
-0451
-2010
-2013 2016
-2018 2019
-201C 201D
-2020 2022
-2024 2027
-2030
-2032 2033
-2035
-203B
-203E
-2074
-207F
-2081 2084
-20AC
-2103
-2105
-2109
-2113
-2116
-2121 2122
-2126
-212B
-2153 2154
-215B 215E
-2160 216B
-2170 2179
-2189
-2190 2199
-21B8 21B9
-21D2
-21D4
-21E7
-2200
-2202 2203
-2207 2208
-220B
-220F
-2211
-2215
-221A
-221D 2220
-2223
-2225
-2227 222C
-222E
-2234 2237
-223C 223D
-2248
-224C
-2252
-2260 2261
-2264 2267
-226A 226B
-226E 226F
-2282 2283
-2286 2287
-2295
-2299
-22A5
-22BF
-2312
-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
-25E2 25E5
-25EF
-2605 2606
-2609
-260E 260F
-2614 2615
-261C
-261E
-2640
-2642
-2660 2661
-2663 2665
-2667 266A
-266C 266D
-266F
-269E 269F
-26BE 26BF
-26C4 26CD
-26CF 26E1
-26E3
-26E8 26FF
-273D
-2757
-2776 277F
-2B55 2B59
-3248 324F
-E000 F8FF
-FE00 FE0F
-FFFD
-1F100 1F10A
-1F110 1F12D
-1F130 1F169
-1F170 1F19A
-E0100 E01EF
-F0000 FFFFD
-100000 10FFFD
+V346
+161
+162
+164
+165
+167
+169
+170
+171
+173
+175
+176
+181
+182
+187
+188
+192
+198
+199
+208
+209
+215
+217
+222
+226
+230
+231
+232
+235
+236
+238
+240
+241
+242
+244
+247
+251
+252
+253
+254
+255
+257
+258
+273
+274
+275
+276
+283
+284
+294
+296
+299
+300
+305
+308
+312
+313
+319
+323
+324
+325
+328
+332
+333
+334
+338
+340
+358
+360
+363
+364
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+593
+594
+609
+610
+708
+709
+711
+712
+713
+716
+717
+718
+720
+721
+728
+732
+733
+734
+735
+736
+768
+880
+913
+930
+931
+938
+945
+962
+963
+970
+1025
+1026
+1040
+1104
+1105
+1106
+8208
+8209
+8211
+8215
+8216
+8218
+8220
+8222
+8224
+8227
+8228
+8232
+8240
+8241
+8242
+8244
+8245
+8246
+8251
+8252
+8254
+8255
+8308
+8309
+8319
+8320
+8321
+8325
+8364
+8365
+8451
+8452
+8453
+8454
+8457
+8458
+8467
+8468
+8470
+8471
+8481
+8483
+8486
+8487
+8491
+8492
+8531
+8533
+8539
+8543
+8544
+8556
+8560
+8570
+8585
+8586
+8592
+8602
+8632
+8634
+8658
+8659
+8660
+8661
+8679
+8680
+8704
+8705
+8706
+8708
+8711
+8713
+8715
+8716
+8719
+8720
+8721
+8722
+8725
+8726
+8730
+8731
+8733
+8737
+8739
+8740
+8741
+8742
+8743
+8749
+8750
+8751
+8756
+8760
+8764
+8766
+8776
+8777
+8780
+8781
+8786
+8787
+8800
+8802
+8804
+8808
+8810
+8812
+8814
+8816
+8834
+8836
+8838
+8840
+8853
+8854
+8857
+8858
+8869
+8870
+8895
+8896
+8978
+8979
+9312
+9450
+9451
+9548
+9552
+9588
+9600
+9616
+9618
+9622
+9632
+9634
+9635
+9642
+9650
+9652
+9654
+9656
+9660
+9662
+9664
+9666
+9670
+9673
+9675
+9676
+9678
+9682
+9698
+9702
+9711
+9712
+9733
+9735
+9737
+9738
+9742
+9744
+9748
+9750
+9756
+9757
+9758
+9759
+9792
+9793
+9794
+9795
+9824
+9826
+9827
+9830
+9831
+9835
+9836
+9838
+9839
+9840
+9886
+9888
+9918
+9920
+9924
+9934
+9935
+9954
+9955
+9956
+9960
+9984
+10045
+10046
+10071
+10072
+10102
+10112
+11093
+11098
+12872
+12880
+57344
+63744
+65024
+65040
+65533
+65534
+127232
+127243
+127248
+127278
+127280
+127338
+127344
+127387
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
index 261b704f073..c13510b0bf7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-20A9
-FF61 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
-FFE8 FFEE
+V14
+8361
+8362
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65512
+65519
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
index 3a2693da427..2a22d2fe7cf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
@@ -1,223 +1,435 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 001F
-007F 00A0
-00A9
-00AB
-00B5
-00BB
-00C0 00C5
-00C7 00CF
-00D1 00D6
-00D9 00DD
-00E2 00E5
-00E7
-00EB
-00EE 00EF
-00F1
-00F4 00F6
-00FB
-00FD
-00FF 0100
-0102 0110
-0112
-0114 011A
-011C 0125
-0128 012A
-012C 0130
-0134 0137
-0139 013E
-0143
-0145 0147
-014C
-014E 0151
-0154 0165
-0168 016A
-016C 01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DD 0250
-0252 0260
-0262 02C3
-02C5 02C6
-02C8
-02CC
-02CE 02CF
-02D1 02D7
-02DC
-02DE
-02E0 02FF
-0370 0390
-03A2
-03AA 03B0
-03C2
-03CA 0400
-0402 040F
-0450
-0452 10FF
-1160 200F
-2011 2012
-2017
-201A 201B
-201E 201F
-2023
-2028 202F
-2031
-2034
-2036 203A
-203C 203D
-203F 2073
-2075 207E
-2080
-2085 20A8
-20AA 20AB
-20AD 2102
-2104
-2106 2108
-210A 2112
-2114 2115
-2117 2120
-2123 2125
-2127 212A
-212C 2152
-2155 215A
-215F
-216C 216F
-217A 2188
-218A 218F
-219A 21B7
-21BA 21D1
-21D3
-21D5 21E6
-21E8 21FF
-2201
-2204 2206
-2209 220A
-220C 220E
-2210
-2212 2214
-2216 2219
-221B 221C
-2221 2222
-2224
-2226
-222D
-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
-2574 257F
-2590 2591
-2596 259F
-25A2
-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
-2641
-2643 265F
-2662
-2666
-266B
-266E
-2670 269D
-26A0 26BD
-26C0 26C3
-26CE
-26E2
-26E4 26E7
-2700 273C
-273E 2756
-2758 2775
-2780 27E5
-27EE 2984
-2987 2B54
-2B5A 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-303F 3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DC0 4DFF
-A48D A48F
-A4C7 A95F
-A97D ABFF
-D7A4 DFFF
-FB00 FDFF
-FE1A FE2F
-FE53
-FE67
-FE6C FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-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
+V421
+0
+32
+127
+161
+169
+170
+171
+172
+181
+182
+187
+188
+192
+198
+199
+208
+209
+215
+217
+222
+226
+230
+231
+232
+235
+236
+238
+240
+241
+242
+244
+247
+251
+252
+253
+254
+255
+257
+258
+273
+274
+275
+276
+283
+284
+294
+296
+299
+300
+305
+308
+312
+313
+319
+323
+324
+325
+328
+332
+333
+334
+338
+340
+358
+360
+363
+364
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+593
+594
+609
+610
+708
+709
+711
+712
+713
+716
+717
+718
+720
+721
+728
+732
+733
+734
+735
+736
+768
+880
+913
+930
+931
+938
+945
+962
+963
+970
+1025
+1026
+1040
+1104
+1105
+1106
+4352
+4448
+8208
+8209
+8211
+8215
+8216
+8218
+8220
+8222
+8224
+8227
+8228
+8232
+8240
+8241
+8242
+8244
+8245
+8246
+8251
+8252
+8254
+8255
+8308
+8309
+8319
+8320
+8321
+8325
+8361
+8362
+8364
+8365
+8451
+8452
+8453
+8454
+8457
+8458
+8467
+8468
+8470
+8471
+8481
+8483
+8486
+8487
+8491
+8492
+8531
+8533
+8539
+8543
+8544
+8556
+8560
+8570
+8585
+8586
+8592
+8602
+8632
+8634
+8658
+8659
+8660
+8661
+8679
+8680
+8704
+8705
+8706
+8708
+8711
+8713
+8715
+8716
+8719
+8720
+8721
+8722
+8725
+8726
+8730
+8731
+8733
+8737
+8739
+8740
+8741
+8742
+8743
+8749
+8750
+8751
+8756
+8760
+8764
+8766
+8776
+8777
+8780
+8781
+8786
+8787
+8800
+8802
+8804
+8808
+8810
+8812
+8814
+8816
+8834
+8836
+8838
+8840
+8853
+8854
+8857
+8858
+8869
+8870
+8895
+8896
+8978
+8979
+9001
+9003
+9312
+9450
+9451
+9548
+9552
+9588
+9600
+9616
+9618
+9622
+9632
+9634
+9635
+9642
+9650
+9652
+9654
+9656
+9660
+9662
+9664
+9666
+9670
+9673
+9675
+9676
+9678
+9682
+9698
+9702
+9711
+9712
+9733
+9735
+9737
+9738
+9742
+9744
+9748
+9750
+9756
+9757
+9758
+9759
+9792
+9793
+9794
+9795
+9824
+9826
+9827
+9830
+9831
+9835
+9836
+9838
+9839
+9840
+9886
+9888
+9918
+9920
+9924
+9934
+9935
+9954
+9955
+9956
+9960
+9984
+10045
+10046
+10071
+10072
+10102
+10112
+10214
+10222
+10629
+10631
+11093
+11098
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12351
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19904
+19968
+42125
+42128
+42183
+43360
+43389
+44032
+55204
+57344
+64256
+65024
+65050
+65072
+65107
+65108
+65127
+65128
+65132
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65533
+65534
+110592
+110594
+127232
+127243
+127248
+127278
+127280
+127338
+127344
+127387
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+131072
+196606
+196608
+262142
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
index aca0c6dae5b..8cebc0c835c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020 007E
-00A2 00A3
-00A5 00A6
-00AC
-00AF
-27E6 27ED
-2985 2986
+V14
+32
+127
+162
+164
+165
+167
+172
+173
+175
+176
+10214
+10222
+10629
+10631
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
index f2c6da5f0ac..4fa66fa7bec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
@@ -1,45 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1100 115F
-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
-F900 FAFF
-FE10 FE19
-FE30 FE52
-FE54 FE66
-FE68 FE6B
-1B000 1B001
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
-20000 2FFFD
-30000 3FFFD
+V66
+4352
+4448
+9001
+9003
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12289
+12351
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+12872
+12880
+13055
+13056
+19904
+19968
+42125
+42128
+42183
+43360
+43389
+44032
+55204
+63744
+64256
+65040
+65050
+65072
+65107
+65108
+65127
+65128
+65132
+110592
+110594
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+131072
+196606
+196608
+262142
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
index 6897fb3f239..738e07aef40 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00B7
-02D0 02D1
-0640
-07FA
-0E46
-0EC6
-180A
-1843
-1AA7
-1C36
-1C7B
-3005
-3031 3035
-309D 309E
-30FC 30FE
-A015
-A60C
-A9CF
-AA70
-AADD
-AAF3 AAF4
-FF70
+V44
+183
+184
+720
+722
+1600
+1601
+2042
+2043
+3654
+3655
+3782
+3783
+6154
+6155
+6211
+6212
+6823
+6824
+7222
+7223
+7291
+7292
+12293
+12294
+12337
+12342
+12445
+12447
+12540
+12543
+40981
+40982
+42508
+42509
+43471
+43472
+43632
+43633
+43741
+43742
+43763
+43765
+65392
+65393
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
index e44ed3262be..3b77e412df6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
@@ -1,31 +1,56 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0009
-000B 000C
-000E 001F
-007F 009F
-00AD
-0600 0604
-06DD
-070F
-200B
-200E 200F
-2028 202E
-2060 206F
-D800 DFFF
-FEFF
-FFF0 FFFB
-110BD
-1D173 1D17A
-E0000 E00FF
-E01F0 E0FFF
+V42
+0
+10
+11
+13
+14
+32
+127
+160
+173
+174
+1536
+1541
+1564
+1565
+1757
+1758
+1807
+1808
+6158
+6159
+8203
+8204
+8206
+8208
+8232
+8239
+8288
+8304
+55296
+57344
+65279
+65280
+65520
+65532
+69821
+69822
+119155
+119163
+917504
+917760
+918000
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
deleted file mode 100755
index c3efe204544..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-000D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
index 19ad4ad786d..66341b26e32 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
@@ -1,244 +1,480 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0981
-09BC
-09BE
-09C1 09C4
-09CD
-09D7
-09E2 09E3
-0A01 0A02
-0A3C
-0A41 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A82
-0ABC
-0AC1 0AC5
-0AC7 0AC8
-0ACD
-0AE2 0AE3
-0B01
-0B3C
-0B3E 0B3F
-0B41 0B44
-0B4D
-0B56 0B57
-0B62 0B63
-0B82
-0BBE
-0BC0
-0BCD
-0BD7
-0C3E 0C40
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0CBC
-0CBF
-0CC2
-0CC6
-0CCC 0CCD
-0CD5 0CD6
-0CE2 0CE3
-0D3E
-0D41 0D44
-0D4D
-0D57
-0D62 0D63
-0DCA
-0DCF
-0DD2 0DD4
-0DD6
-0DDF
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17DD
-180B 180D
-18A9
-1920 1922
-1927 1928
-1932
-1939 193B
-1A17 1A18
-1A56
-1A58 1A5E
-1A60
-1A62
-1A65 1A6C
-1A73 1A7C
-1A7F
-1B00 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B6B 1B73
-1B80 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1C2C 1C33
-1C36 1C37
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1DC0 1DE6
-1DFC 1DFF
-200C 200D
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302F
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A825 A826
-A8C4
-A8E0 A8F1
-A926 A92D
-A947 A951
-A980 A982
-A9B3
-A9B6 A9B9
-A9BC
-AA29 AA2E
-AA31 AA32
-AA35 AA36
-AA43
-AA4C
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEC AAED
-AAF6
-ABE5
-ABE8
-ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-FF9E FF9F
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11001
-11038 11046
-11080 11081
-110B3 110B6
-110B9 110BA
-11100 11102
-11127 1112B
-1112D 11134
-11180 11181
-111B6 111BE
-116AB
-116AD
-116B0 116B5
-116B7
-16F8F 16F92
-1D165
-1D167 1D169
-1D16E 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V466
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2494
+2495
+2497
+2501
+2509
+2510
+2519
+2520
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2878
+2880
+2881
+2885
+2893
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3007
+3008
+3009
+3021
+3022
+3031
+3032
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3263
+3264
+3266
+3267
+3270
+3271
+3276
+3278
+3285
+3287
+3298
+3300
+3390
+3391
+3393
+3397
+3405
+3406
+3415
+3416
+3426
+3428
+3530
+3531
+3535
+3536
+3538
+3541
+3542
+3543
+3551
+3552
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8204
+8206
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65438
+65440
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119141
+119142
+119143
+119146
+119150
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
deleted file mode 100755
index c204d252cbb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-000A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
new file mode 100644
index 00000000000..73f61df51fd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
@@ -0,0 +1,812 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V798
+44032
+44033
+44060
+44061
+44088
+44089
+44116
+44117
+44144
+44145
+44172
+44173
+44200
+44201
+44228
+44229
+44256
+44257
+44284
+44285
+44312
+44313
+44340
+44341
+44368
+44369
+44396
+44397
+44424
+44425
+44452
+44453
+44480
+44481
+44508
+44509
+44536
+44537
+44564
+44565
+44592
+44593
+44620
+44621
+44648
+44649
+44676
+44677
+44704
+44705
+44732
+44733
+44760
+44761
+44788
+44789
+44816
+44817
+44844
+44845
+44872
+44873
+44900
+44901
+44928
+44929
+44956
+44957
+44984
+44985
+45012
+45013
+45040
+45041
+45068
+45069
+45096
+45097
+45124
+45125
+45152
+45153
+45180
+45181
+45208
+45209
+45236
+45237
+45264
+45265
+45292
+45293
+45320
+45321
+45348
+45349
+45376
+45377
+45404
+45405
+45432
+45433
+45460
+45461
+45488
+45489
+45516
+45517
+45544
+45545
+45572
+45573
+45600
+45601
+45628
+45629
+45656
+45657
+45684
+45685
+45712
+45713
+45740
+45741
+45768
+45769
+45796
+45797
+45824
+45825
+45852
+45853
+45880
+45881
+45908
+45909
+45936
+45937
+45964
+45965
+45992
+45993
+46020
+46021
+46048
+46049
+46076
+46077
+46104
+46105
+46132
+46133
+46160
+46161
+46188
+46189
+46216
+46217
+46244
+46245
+46272
+46273
+46300
+46301
+46328
+46329
+46356
+46357
+46384
+46385
+46412
+46413
+46440
+46441
+46468
+46469
+46496
+46497
+46524
+46525
+46552
+46553
+46580
+46581
+46608
+46609
+46636
+46637
+46664
+46665
+46692
+46693
+46720
+46721
+46748
+46749
+46776
+46777
+46804
+46805
+46832
+46833
+46860
+46861
+46888
+46889
+46916
+46917
+46944
+46945
+46972
+46973
+47000
+47001
+47028
+47029
+47056
+47057
+47084
+47085
+47112
+47113
+47140
+47141
+47168
+47169
+47196
+47197
+47224
+47225
+47252
+47253
+47280
+47281
+47308
+47309
+47336
+47337
+47364
+47365
+47392
+47393
+47420
+47421
+47448
+47449
+47476
+47477
+47504
+47505
+47532
+47533
+47560
+47561
+47588
+47589
+47616
+47617
+47644
+47645
+47672
+47673
+47700
+47701
+47728
+47729
+47756
+47757
+47784
+47785
+47812
+47813
+47840
+47841
+47868
+47869
+47896
+47897
+47924
+47925
+47952
+47953
+47980
+47981
+48008
+48009
+48036
+48037
+48064
+48065
+48092
+48093
+48120
+48121
+48148
+48149
+48176
+48177
+48204
+48205
+48232
+48233
+48260
+48261
+48288
+48289
+48316
+48317
+48344
+48345
+48372
+48373
+48400
+48401
+48428
+48429
+48456
+48457
+48484
+48485
+48512
+48513
+48540
+48541
+48568
+48569
+48596
+48597
+48624
+48625
+48652
+48653
+48680
+48681
+48708
+48709
+48736
+48737
+48764
+48765
+48792
+48793
+48820
+48821
+48848
+48849
+48876
+48877
+48904
+48905
+48932
+48933
+48960
+48961
+48988
+48989
+49016
+49017
+49044
+49045
+49072
+49073
+49100
+49101
+49128
+49129
+49156
+49157
+49184
+49185
+49212
+49213
+49240
+49241
+49268
+49269
+49296
+49297
+49324
+49325
+49352
+49353
+49380
+49381
+49408
+49409
+49436
+49437
+49464
+49465
+49492
+49493
+49520
+49521
+49548
+49549
+49576
+49577
+49604
+49605
+49632
+49633
+49660
+49661
+49688
+49689
+49716
+49717
+49744
+49745
+49772
+49773
+49800
+49801
+49828
+49829
+49856
+49857
+49884
+49885
+49912
+49913
+49940
+49941
+49968
+49969
+49996
+49997
+50024
+50025
+50052
+50053
+50080
+50081
+50108
+50109
+50136
+50137
+50164
+50165
+50192
+50193
+50220
+50221
+50248
+50249
+50276
+50277
+50304
+50305
+50332
+50333
+50360
+50361
+50388
+50389
+50416
+50417
+50444
+50445
+50472
+50473
+50500
+50501
+50528
+50529
+50556
+50557
+50584
+50585
+50612
+50613
+50640
+50641
+50668
+50669
+50696
+50697
+50724
+50725
+50752
+50753
+50780
+50781
+50808
+50809
+50836
+50837
+50864
+50865
+50892
+50893
+50920
+50921
+50948
+50949
+50976
+50977
+51004
+51005
+51032
+51033
+51060
+51061
+51088
+51089
+51116
+51117
+51144
+51145
+51172
+51173
+51200
+51201
+51228
+51229
+51256
+51257
+51284
+51285
+51312
+51313
+51340
+51341
+51368
+51369
+51396
+51397
+51424
+51425
+51452
+51453
+51480
+51481
+51508
+51509
+51536
+51537
+51564
+51565
+51592
+51593
+51620
+51621
+51648
+51649
+51676
+51677
+51704
+51705
+51732
+51733
+51760
+51761
+51788
+51789
+51816
+51817
+51844
+51845
+51872
+51873
+51900
+51901
+51928
+51929
+51956
+51957
+51984
+51985
+52012
+52013
+52040
+52041
+52068
+52069
+52096
+52097
+52124
+52125
+52152
+52153
+52180
+52181
+52208
+52209
+52236
+52237
+52264
+52265
+52292
+52293
+52320
+52321
+52348
+52349
+52376
+52377
+52404
+52405
+52432
+52433
+52460
+52461
+52488
+52489
+52516
+52517
+52544
+52545
+52572
+52573
+52600
+52601
+52628
+52629
+52656
+52657
+52684
+52685
+52712
+52713
+52740
+52741
+52768
+52769
+52796
+52797
+52824
+52825
+52852
+52853
+52880
+52881
+52908
+52909
+52936
+52937
+52964
+52965
+52992
+52993
+53020
+53021
+53048
+53049
+53076
+53077
+53104
+53105
+53132
+53133
+53160
+53161
+53188
+53189
+53216
+53217
+53244
+53245
+53272
+53273
+53300
+53301
+53328
+53329
+53356
+53357
+53384
+53385
+53412
+53413
+53440
+53441
+53468
+53469
+53496
+53497
+53524
+53525
+53552
+53553
+53580
+53581
+53608
+53609
+53636
+53637
+53664
+53665
+53692
+53693
+53720
+53721
+53748
+53749
+53776
+53777
+53804
+53805
+53832
+53833
+53860
+53861
+53888
+53889
+53916
+53917
+53944
+53945
+53972
+53973
+54000
+54001
+54028
+54029
+54056
+54057
+54084
+54085
+54112
+54113
+54140
+54141
+54168
+54169
+54196
+54197
+54224
+54225
+54252
+54253
+54280
+54281
+54308
+54309
+54336
+54337
+54364
+54365
+54392
+54393
+54420
+54421
+54448
+54449
+54476
+54477
+54504
+54505
+54532
+54533
+54560
+54561
+54588
+54589
+54616
+54617
+54644
+54645
+54672
+54673
+54700
+54701
+54728
+54729
+54756
+54757
+54784
+54785
+54812
+54813
+54840
+54841
+54868
+54869
+54896
+54897
+54924
+54925
+54952
+54953
+54980
+54981
+55008
+55009
+55036
+55037
+55064
+55065
+55092
+55093
+55120
+55121
+55148
+55149
+55176
+55177
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
new file mode 100644
index 00000000000..b9ef2ea7fe8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
@@ -0,0 +1,812 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V798
+44033
+44060
+44061
+44088
+44089
+44116
+44117
+44144
+44145
+44172
+44173
+44200
+44201
+44228
+44229
+44256
+44257
+44284
+44285
+44312
+44313
+44340
+44341
+44368
+44369
+44396
+44397
+44424
+44425
+44452
+44453
+44480
+44481
+44508
+44509
+44536
+44537
+44564
+44565
+44592
+44593
+44620
+44621
+44648
+44649
+44676
+44677
+44704
+44705
+44732
+44733
+44760
+44761
+44788
+44789
+44816
+44817
+44844
+44845
+44872
+44873
+44900
+44901
+44928
+44929
+44956
+44957
+44984
+44985
+45012
+45013
+45040
+45041
+45068
+45069
+45096
+45097
+45124
+45125
+45152
+45153
+45180
+45181
+45208
+45209
+45236
+45237
+45264
+45265
+45292
+45293
+45320
+45321
+45348
+45349
+45376
+45377
+45404
+45405
+45432
+45433
+45460
+45461
+45488
+45489
+45516
+45517
+45544
+45545
+45572
+45573
+45600
+45601
+45628
+45629
+45656
+45657
+45684
+45685
+45712
+45713
+45740
+45741
+45768
+45769
+45796
+45797
+45824
+45825
+45852
+45853
+45880
+45881
+45908
+45909
+45936
+45937
+45964
+45965
+45992
+45993
+46020
+46021
+46048
+46049
+46076
+46077
+46104
+46105
+46132
+46133
+46160
+46161
+46188
+46189
+46216
+46217
+46244
+46245
+46272
+46273
+46300
+46301
+46328
+46329
+46356
+46357
+46384
+46385
+46412
+46413
+46440
+46441
+46468
+46469
+46496
+46497
+46524
+46525
+46552
+46553
+46580
+46581
+46608
+46609
+46636
+46637
+46664
+46665
+46692
+46693
+46720
+46721
+46748
+46749
+46776
+46777
+46804
+46805
+46832
+46833
+46860
+46861
+46888
+46889
+46916
+46917
+46944
+46945
+46972
+46973
+47000
+47001
+47028
+47029
+47056
+47057
+47084
+47085
+47112
+47113
+47140
+47141
+47168
+47169
+47196
+47197
+47224
+47225
+47252
+47253
+47280
+47281
+47308
+47309
+47336
+47337
+47364
+47365
+47392
+47393
+47420
+47421
+47448
+47449
+47476
+47477
+47504
+47505
+47532
+47533
+47560
+47561
+47588
+47589
+47616
+47617
+47644
+47645
+47672
+47673
+47700
+47701
+47728
+47729
+47756
+47757
+47784
+47785
+47812
+47813
+47840
+47841
+47868
+47869
+47896
+47897
+47924
+47925
+47952
+47953
+47980
+47981
+48008
+48009
+48036
+48037
+48064
+48065
+48092
+48093
+48120
+48121
+48148
+48149
+48176
+48177
+48204
+48205
+48232
+48233
+48260
+48261
+48288
+48289
+48316
+48317
+48344
+48345
+48372
+48373
+48400
+48401
+48428
+48429
+48456
+48457
+48484
+48485
+48512
+48513
+48540
+48541
+48568
+48569
+48596
+48597
+48624
+48625
+48652
+48653
+48680
+48681
+48708
+48709
+48736
+48737
+48764
+48765
+48792
+48793
+48820
+48821
+48848
+48849
+48876
+48877
+48904
+48905
+48932
+48933
+48960
+48961
+48988
+48989
+49016
+49017
+49044
+49045
+49072
+49073
+49100
+49101
+49128
+49129
+49156
+49157
+49184
+49185
+49212
+49213
+49240
+49241
+49268
+49269
+49296
+49297
+49324
+49325
+49352
+49353
+49380
+49381
+49408
+49409
+49436
+49437
+49464
+49465
+49492
+49493
+49520
+49521
+49548
+49549
+49576
+49577
+49604
+49605
+49632
+49633
+49660
+49661
+49688
+49689
+49716
+49717
+49744
+49745
+49772
+49773
+49800
+49801
+49828
+49829
+49856
+49857
+49884
+49885
+49912
+49913
+49940
+49941
+49968
+49969
+49996
+49997
+50024
+50025
+50052
+50053
+50080
+50081
+50108
+50109
+50136
+50137
+50164
+50165
+50192
+50193
+50220
+50221
+50248
+50249
+50276
+50277
+50304
+50305
+50332
+50333
+50360
+50361
+50388
+50389
+50416
+50417
+50444
+50445
+50472
+50473
+50500
+50501
+50528
+50529
+50556
+50557
+50584
+50585
+50612
+50613
+50640
+50641
+50668
+50669
+50696
+50697
+50724
+50725
+50752
+50753
+50780
+50781
+50808
+50809
+50836
+50837
+50864
+50865
+50892
+50893
+50920
+50921
+50948
+50949
+50976
+50977
+51004
+51005
+51032
+51033
+51060
+51061
+51088
+51089
+51116
+51117
+51144
+51145
+51172
+51173
+51200
+51201
+51228
+51229
+51256
+51257
+51284
+51285
+51312
+51313
+51340
+51341
+51368
+51369
+51396
+51397
+51424
+51425
+51452
+51453
+51480
+51481
+51508
+51509
+51536
+51537
+51564
+51565
+51592
+51593
+51620
+51621
+51648
+51649
+51676
+51677
+51704
+51705
+51732
+51733
+51760
+51761
+51788
+51789
+51816
+51817
+51844
+51845
+51872
+51873
+51900
+51901
+51928
+51929
+51956
+51957
+51984
+51985
+52012
+52013
+52040
+52041
+52068
+52069
+52096
+52097
+52124
+52125
+52152
+52153
+52180
+52181
+52208
+52209
+52236
+52237
+52264
+52265
+52292
+52293
+52320
+52321
+52348
+52349
+52376
+52377
+52404
+52405
+52432
+52433
+52460
+52461
+52488
+52489
+52516
+52517
+52544
+52545
+52572
+52573
+52600
+52601
+52628
+52629
+52656
+52657
+52684
+52685
+52712
+52713
+52740
+52741
+52768
+52769
+52796
+52797
+52824
+52825
+52852
+52853
+52880
+52881
+52908
+52909
+52936
+52937
+52964
+52965
+52992
+52993
+53020
+53021
+53048
+53049
+53076
+53077
+53104
+53105
+53132
+53133
+53160
+53161
+53188
+53189
+53216
+53217
+53244
+53245
+53272
+53273
+53300
+53301
+53328
+53329
+53356
+53357
+53384
+53385
+53412
+53413
+53440
+53441
+53468
+53469
+53496
+53497
+53524
+53525
+53552
+53553
+53580
+53581
+53608
+53609
+53636
+53637
+53664
+53665
+53692
+53693
+53720
+53721
+53748
+53749
+53776
+53777
+53804
+53805
+53832
+53833
+53860
+53861
+53888
+53889
+53916
+53917
+53944
+53945
+53972
+53973
+54000
+54001
+54028
+54029
+54056
+54057
+54084
+54085
+54112
+54113
+54140
+54141
+54168
+54169
+54196
+54197
+54224
+54225
+54252
+54253
+54280
+54281
+54308
+54309
+54336
+54337
+54364
+54365
+54392
+54393
+54420
+54421
+54448
+54449
+54476
+54477
+54504
+54505
+54532
+54533
+54560
+54561
+54588
+54589
+54616
+54617
+54644
+54645
+54672
+54673
+54700
+54701
+54728
+54729
+54756
+54757
+54784
+54785
+54812
+54813
+54840
+54841
+54868
+54869
+54896
+54897
+54924
+54925
+54952
+54953
+54980
+54981
+55008
+55009
+55036
+55037
+55064
+55065
+55092
+55093
+55120
+55121
+55148
+55149
+55176
+55177
+55204
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
index 781b06ca8dc..b907b7dbf81 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
@@ -1,124 +1,238 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0903
-093B
-093E 0940
-0949 094C
-094E 094F
-0982 0983
-09BF 09C0
-09C7 09C8
-09CB 09CC
-0A03
-0A3E 0A40
-0A83
-0ABE 0AC0
-0AC9
-0ACB 0ACC
-0B02 0B03
-0B40
-0B47 0B48
-0B4B 0B4C
-0BBF
-0BC1 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0C01 0C03
-0C41 0C44
-0C82 0C83
-0CBE
-0CC0 0CC1
-0CC3 0CC4
-0CC7 0CC8
-0CCA 0CCB
-0D02 0D03
-0D3F 0D40
-0D46 0D48
-0D4A 0D4C
-0D82 0D83
-0DD0 0DD1
-0DD8 0DDE
-0DF2 0DF3
-0E33
-0EB3
-0F3E 0F3F
-0F7F
-1031
-103B 103C
-1056 1057
-1084
-17B6
-17BE 17C5
-17C7 17C8
-1923 1926
-1929 192B
-1930 1931
-1933 1938
-19B5 19B7
-19BA
-1A19 1A1B
-1A55
-1A57
-1A6D 1A72
-1B04
-1B35
-1B3B
-1B3D 1B41
-1B43 1B44
-1B82
-1BA1
-1BA6 1BA7
-1BAA
-1BAC 1BAD
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1BF3
-1C24 1C2B
-1C34 1C35
-1CE1
-1CF2 1CF3
-A823 A824
-A827
-A880 A881
-A8B4 A8C3
-A952 A953
-A983
-A9B4 A9B5
-A9BA A9BB
-A9BD A9C0
-AA2F AA30
-AA33 AA34
-AA4D
-AAEB
-AAEE AAEF
-AAF5
-ABE3 ABE4
-ABE6 ABE7
-ABE9 ABEA
-ABEC
-11000
-11002
-11082
-110B0 110B2
-110B7 110B8
-1112C
-11182
-111B3 111B5
-111BF 111C0
-116AC
-116AE 116AF
-116B6
-16F51 16F7E
-1D166
-1D16D
+V224
+2307
+2308
+2363
+2364
+2366
+2369
+2377
+2381
+2382
+2384
+2434
+2436
+2495
+2497
+2503
+2505
+2507
+2509
+2563
+2564
+2622
+2625
+2691
+2692
+2750
+2753
+2761
+2762
+2763
+2765
+2818
+2820
+2880
+2881
+2887
+2889
+2891
+2893
+3007
+3008
+3009
+3011
+3014
+3017
+3018
+3021
+3073
+3076
+3137
+3141
+3202
+3204
+3262
+3263
+3264
+3266
+3267
+3269
+3271
+3273
+3274
+3276
+3330
+3332
+3391
+3393
+3398
+3401
+3402
+3405
+3458
+3460
+3536
+3538
+3544
+3551
+3570
+3572
+3635
+3636
+3763
+3764
+3902
+3904
+3967
+3968
+4145
+4146
+4155
+4157
+4182
+4184
+4228
+4229
+6070
+6071
+6078
+6086
+6087
+6089
+6435
+6439
+6441
+6444
+6448
+6450
+6451
+6457
+6581
+6584
+6586
+6587
+6681
+6683
+6741
+6742
+6743
+6744
+6765
+6771
+6916
+6917
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+6981
+7042
+7043
+7073
+7074
+7078
+7080
+7082
+7083
+7084
+7086
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7156
+7204
+7212
+7220
+7222
+7393
+7394
+7410
+7412
+43043
+43045
+43047
+43048
+43136
+43138
+43188
+43204
+43346
+43348
+43395
+43396
+43444
+43446
+43450
+43452
+43453
+43457
+43567
+43569
+43571
+43573
+43597
+43598
+43755
+43756
+43758
+43760
+43765
+43766
+44003
+44005
+44006
+44008
+44009
+44011
+44012
+44013
+69632
+69633
+69634
+69635
+69762
+69763
+69808
+69811
+69815
+69817
+69932
+69933
+70018
+70019
+70067
+70070
+70079
+70081
+71340
+71341
+71342
+71344
+71350
+71351
+94033
+94079
+119142
+119143
+119149
+119150
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
index 58ddc5bda83..4301dcf90f2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
@@ -1,235 +1,461 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020 007E
-00A0 00AC
-00AE 02FF
-0370 0482
-048A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05FF
-0605 060F
-061B 064A
-0660 066F
-0671 06D5
-06DE
-06E5 06E6
-06E9
-06EE 070E
-0710
-0712 072F
-074B 07A5
-07B1 07EA
-07F4 0815
-081A
-0824
-0828
-082E 0858
-085C 08E3
-08FF
-0904 0939
-093D
-0950
-0958 0961
-0964 0980
-0984 09BB
-09BD
-09C5 09C6
-09C9 09CA
-09CE 09D6
-09D8 09E1
-09E4 0A00
-0A04 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A6F
-0A72 0A74
-0A76 0A80
-0A84 0ABB
-0ABD
-0AC6
-0ACA
-0ACE 0AE1
-0AE4 0B00
-0B04 0B3B
-0B3D
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B61
-0B64 0B81
-0B83 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BD6
-0BD8 0C00
-0C04 0C3D
-0C45
-0C49
-0C4E 0C54
-0C57 0C61
-0C64 0C81
-0C84 0CBB
-0CBD
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CE1
-0CE4 0D01
-0D04 0D3D
-0D45
-0D49
-0D4E 0D56
-0D58 0D61
-0D64 0D81
-0D84 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E30
-0E32
-0E3B 0E46
-0E4F 0EB0
-0EB2
-0EBA
-0EBD 0EC7
-0ECE 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F3D
-0F40 0F70
-0F85
-0F88 0F8C
-0F98
-0FBD 0FC5
-0FC7 102C
-1038
-103F 1055
-105A 105D
-1061 1070
-1075 1081
-1083
-1087 108C
-108E 109C
-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 19B4
-19B8 19B9
-19BB 1A16
-1A1C 1A54
-1A5F
-1A61
-1A63 1A64
-1A7D 1A7E
-1A80 1AFF
-1B05 1B33
-1B45 1B6A
-1B74 1B7F
-1B83 1BA0
-1BAE 1BE5
-1BF4 1C23
-1C38 1CCF
-1CD3
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1DBF
-1DE7 1DFB
-1E00 200A
-2010 2027
-202F 205F
-2070 20CF
-20F1 2CEE
-2CF2 2D7E
-2D80 2DDF
-2E00 3029
-3030 3098
-309B A66E
-A673
-A67E A69E
-A6A0 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 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2 AAEA
-AAF0 AAF4
-AAF7 ABE2
-ABEB
-ABEE ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC D7FF
-E000 FB1D
-FB1F FDFF
-FE10 FE1F
-FE27 FEFE
-FF00 FF9D
-FFA0 FFEF
-FFFC 101FC
-101FE 10A00
-10A04
-10A07 10A0B
-10A10 10A37
-10A3B 10A3E
-10A40 10FFF
-11003 11037
-11047 1107F
-11083 110AF
-110BB 110BC
-110BE 110FF
-11103 11126
-11135 1117F
-11183 111B2
-111C1 116AA
-116B8 16F50
-16F7F 16F8E
-16F93 1D164
-1D16A 1D16C
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 1F1E5
-1F200 DFFFF
-E1000 10FFFF
+V447
+32
+127
+160
+173
+174
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1536
+1541
+1552
+1563
+1564
+1565
+1611
+1632
+1648
+1649
+1750
+1758
+1759
+1765
+1767
+1769
+1770
+1774
+1807
+1808
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2404
+2433
+2436
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2530
+2532
+2561
+2564
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2692
+2748
+2749
+2750
+2758
+2759
+2762
+2763
+2766
+2786
+2788
+2817
+2820
+2876
+2877
+2878
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3073
+3076
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3202
+3204
+3260
+3261
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3298
+3300
+3330
+3332
+3390
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3426
+3428
+3458
+3460
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3633
+3634
+3635
+3643
+3655
+3663
+3761
+3762
+3763
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3953
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4152
+4153
+4159
+4182
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4228
+4231
+4237
+4238
+4253
+4254
+4352
+4608
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6100
+6109
+6110
+6155
+6159
+6313
+6314
+6432
+6444
+6448
+6460
+6581
+6584
+6586
+6587
+6679
+6684
+6741
+6751
+6752
+6753
+6754
+6755
+6757
+6781
+6783
+6784
+6912
+6917
+6964
+6981
+7019
+7028
+7040
+7043
+7073
+7086
+7142
+7156
+7204
+7224
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7616
+7655
+7676
+7680
+8203
+8208
+8232
+8239
+8288
+8304
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43136
+43138
+43188
+43205
+43232
+43250
+43302
+43310
+43335
+43348
+43360
+43389
+43392
+43396
+43443
+43457
+43561
+43575
+43587
+43588
+43596
+43598
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43755
+43760
+43765
+43767
+44003
+44011
+44012
+44014
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+57344
+64286
+64287
+65024
+65040
+65056
+65063
+65279
+65280
+65438
+65440
+65520
+65532
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69632
+69635
+69688
+69703
+69760
+69763
+69808
+69819
+69821
+69822
+69888
+69891
+69927
+69941
+70016
+70019
+70067
+70081
+71339
+71352
+94033
+94079
+94095
+94099
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+127462
+127488
+917504
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
index bb24d8d3a15..268f4fe7d65 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
@@ -1,553 +1,1095 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 001F
-007F 009F
-00AD
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0528 0530
-0557 0558
-0560
-0588
-058B 058E
-0590
-05C8 05CF
-05EB 05EF
-05F5 0605
-061C 061D
-06DD
-070E 070F
-074B 074C
-07B2 07BF
-07FB 07FF
-082E 082F
-083F
-085C 085D
-085F 089F
-08A1
-08AD 08E3
-08FF
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09FC 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF2 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B78 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF5 0E00
-0E3B 0E3E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F48
-0F6D 0F70
-0F98
-0FBD
-0FCD
-0FDB 0FFF
-10C6
-10C8 10CC
-10CE 10CF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17DE 17DF
-17EA 17EF
-17FA 17FF
-180F
-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
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1AFF
-1B4C 1B4F
-1B7D 1B7F
-1BF4 1BFB
-1C38 1C3A
-1C4A 1C4C
-1C80 1CBF
-1CC8 1CCF
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-200B 200F
-202A 202E
-2060 206F
-2072 2073
-208F
-209D 209F
-20BB 20CF
-20F1 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CF4 2CF8
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D71 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DB6 4DBF
-9FCD 9FFF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A698 A69E
-A6F8 A6FF
-A78F
-A794 A79F
-A7AB A7F7
-A82C A82F
-A83A A83F
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8FC A8FF
-A954 A95E
-A97D A97F
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAC3 AADA
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFE FDFF
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFFB
-FFFE FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11144 1117F
-111C9 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D173 1D17A
-1D1DE 1D1FF
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1EEEF
-1EEF2 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16C 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 1F53F
-1F544 1F54F
-1F568 1F5FA
-1F641 1F644
-1F650 1F67F
-1F6C6 1F6FF
-1F774 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E E00FF
-E01F0 10FFFF
+V1081
+0
+32
+127
+160
+173
+174
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1542
+1564
+1566
+1757
+1758
+1806
+1808
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8203
+8208
+8234
+8239
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65532
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69821
+69822
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119155
+119163
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
deleted file mode 100644
index 14ca485518e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 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 9ae383ea479..fb39549c978 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
@@ -1,26 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AD
-0600 0604
-06DD
-070F
-200B 200F
-202A 202E
-2060 2064
-206A 206F
-FEFF
-FFF9 FFFB
-110BD
-1D173 1D17A
-E0001
-E0020 E007F
+V32
+173
+174
+1536
+1541
+1564
+1565
+1757
+1758
+1807
+1808
+6158
+6159
+8203
+8208
+8234
+8239
+8288
+8293
+8294
+8304
+65279
+65280
+65529
+65532
+69821
+69822
+119155
+119163
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
index 4ff8ee161c7..5884dbd354d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
@@ -1,551 +1,1091 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0528 0530
-0557 0558
-0560
-0588
-058B 058E
-0590
-05C8 05CF
-05EB 05EF
-05F5 05FF
-0605
-061C 061D
-070E
-074B 074C
-07B2 07BF
-07FB 07FF
-082E 082F
-083F
-085C 085D
-085F 089F
-08A1
-08AD 08E3
-08FF
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09FC 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF2 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B78 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF5 0E00
-0E3B 0E3E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F48
-0F6D 0F70
-0F98
-0FBD
-0FCD
-0FDB 0FFF
-10C6
-10C8 10CC
-10CE 10CF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17DE 17DF
-17EA 17EF
-17FA 17FF
-180F
-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
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1AFF
-1B4C 1B4F
-1B7D 1B7F
-1BF4 1BFB
-1C38 1C3A
-1C4A 1C4C
-1C80 1CBF
-1CC8 1CCF
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-2065 2069
-2072 2073
-208F
-209D 209F
-20BB 20CF
-20F1 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CF4 2CF8
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D71 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DB6 4DBF
-9FCD 9FFF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A698 A69E
-A6F8 A6FF
-A78F
-A794 A79F
-A7AB A7F7
-A82C A82F
-A83A A83F
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8FC A8FF
-A954 A95E
-A97D A97F
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAC3 AADA
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC D7FF
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFE FDFF
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FEFE
-FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFF8
-FFFE FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11144 1117F
-111C9 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D1DE 1D1FF
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1EEEF
-1EEF2 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16C 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 1F53F
-1F544 1F54F
-1F568 1F5FA
-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
+V1077
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
deleted file mode 100644
index 2090e387356..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 22b49bdaa65..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 64351033243..0eb76f62877 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
@@ -1,498 +1,986 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F2
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32 0E33
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2 0EB3
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2183 2184
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2E2F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A67F A697
-A6A0 A6E5
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V972
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1488
+1515
+1520
+1523
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3636
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3764
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8579
+8581
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11823
+11824
+12293
+12295
+12337
+12342
+12347
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42726
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65313
+65339
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66369
+66370
+66378
+66432
+66462
+66464
+66500
+66504
+66512
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
index 86ca030dce5..3ea2dac391a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
@@ -1,125 +1,240 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00B5
-00C0 00D6
-00D8 00F6
-00F8 01BA
-01BC 01BF
-01C4 0293
-0295 02AF
-0370 0373
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0561 0587
-10A0 10C5
-10C7
-10CD
-1D00 1D2B
-1D6B 1D77
-1D79 1D9A
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2134
-2139
-213C 213F
-2145 2149
-214E
-2183 2184
-2C00 2C2E
-2C30 2C5E
-2C60 2C7B
-2C7E 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-A640 A66D
-A680 A697
-A722 A76F
-A771 A787
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7FA
-FB00 FB06
-FB13 FB17
-FF21 FF3A
-FF41 FF5A
-10400 1044F
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
+V226
+65
+91
+97
+123
+181
+182
+192
+215
+216
+247
+248
+443
+444
+448
+452
+660
+661
+688
+880
+884
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1377
+1416
+4256
+4294
+4295
+4296
+4301
+4302
+7424
+7468
+7531
+7544
+7545
+7579
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8501
+8505
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8579
+8581
+11264
+11311
+11312
+11359
+11360
+11388
+11390
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42560
+42606
+42624
+42648
+42786
+42864
+42865
+42888
+42891
+42895
+42896
+42900
+42912
+42923
+43002
+43003
+64256
+64263
+64275
+64280
+65313
+65339
+65345
+65371
+66560
+66640
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
index 90898dce8c2..09062a194aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
@@ -1,623 +1,1236 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0061 007A
-00B5
-00DF 00F6
-00F8 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BA
-01BD 01BF
-01C6
-01C9
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0293
-0295 02AF
-0371
-0373
-0377
-037B 037D
-0390
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F3
-03F5
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527
-0561 0587
-1D00 1D2B
-1D6B 1D77
-1D79 1D9A
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-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
-1FC6 1FC7
-1FD0 1FD3
-1FD6 1FD7
-1FE0 1FE7
-1FF2 1FF4
-1FF6 1FF7
-210A
-210E 210F
-2113
-212F
-2134
-2139
-213C 213D
-2146 2149
-214E
-2184
-2C30 2C5E
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7B
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CE4
-2CEC
-2CEE
-2CF3
-2D00 2D25
-2D27
-2D2D
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F
-A771 A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787
-A78C
-A78E
-A791
-A793
-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
-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
+V1222
+97
+123
+181
+182
+223
+247
+248
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+443
+445
+448
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+660
+661
+688
+881
+882
+883
+884
+887
+888
+891
+894
+912
+913
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1014
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1377
+1416
+7424
+7468
+7531
+7544
+7545
+7579
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7958
+7968
+7976
+7984
+7992
+8000
+8006
+8016
+8024
+8032
+8040
+8048
+8062
+8064
+8072
+8080
+8088
+8096
+8104
+8112
+8117
+8118
+8120
+8126
+8127
+8130
+8133
+8134
+8136
+8144
+8148
+8150
+8152
+8160
+8168
+8178
+8181
+8182
+8184
+8458
+8459
+8462
+8464
+8467
+8468
+8495
+8496
+8500
+8501
+8505
+8506
+8508
+8510
+8518
+8522
+8526
+8527
+8580
+8581
+11312
+11359
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11388
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11493
+11500
+11501
+11502
+11503
+11507
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42606
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42648
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42864
+42865
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42888
+42892
+42893
+42894
+42895
+42897
+42898
+42899
+42900
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+43002
+43003
+64256
+64263
+64275
+64280
+65345
+65371
+66600
+66640
+119834
+119860
+119886
+119893
+119894
+119912
+119938
+119964
+119990
+119994
+119995
+119996
+119997
+120004
+120005
+120016
+120042
+120068
+120094
+120120
+120146
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120486
+120514
+120539
+120540
+120546
+120572
+120597
+120598
+120604
+120630
+120655
+120656
+120662
+120688
+120713
+120714
+120720
+120746
+120771
+120772
+120778
+120779
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
index bc8fdfe9638..30ed828b758 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
@@ -1,64 +1,118 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-02B0 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0374
-037A
-0559
-0640
-06E5 06E6
-07F4 07F5
-07FA
-081A
-0824
-0828
-0971
-0E46
-0EC6
-10FC
-17D7
-1843
-1AA7
-1C78 1C7D
-1D2C 1D6A
-1D78
-1D9B 1DBF
-2071
-207F
-2090 209C
-2C7C 2C7D
-2D6F
-2E2F
-3005
-3031 3035
-303B
-309D 309E
-30FC 30FE
-A015
-A4F8 A4FD
-A60C
-A67F
-A717 A71F
-A770
-A788
-A7F8 A7F9
-A9CF
-AA70
-AADD
-AAF3 AAF4
-FF70
-FF9E FF9F
-16F93 16F9F
+V104
+688
+706
+710
+722
+736
+741
+748
+749
+750
+751
+884
+885
+890
+891
+1369
+1370
+1600
+1601
+1765
+1767
+2036
+2038
+2042
+2043
+2074
+2075
+2084
+2085
+2088
+2089
+2417
+2418
+3654
+3655
+3782
+3783
+4348
+4349
+6103
+6104
+6211
+6212
+6823
+6824
+7288
+7294
+7468
+7531
+7544
+7545
+7579
+7616
+8305
+8306
+8319
+8320
+8336
+8349
+11388
+11390
+11631
+11632
+11823
+11824
+12293
+12294
+12337
+12342
+12347
+12348
+12445
+12447
+12540
+12543
+40981
+40982
+42232
+42238
+42508
+42509
+42623
+42624
+42775
+42784
+42864
+42865
+42888
+42889
+43000
+43002
+43471
+43472
+43632
+43633
+43741
+43742
+43763
+43765
+65392
+65393
+65438
+65440
+94099
+94112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
index adb7a4ef0e9..f69d9e798c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
@@ -1,383 +1,756 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AA
-00BA
-01BB
-01C0 01C3
-0294
-05D0 05EA
-05F0 05F2
-0620 063F
-0641 064A
-066E 066F
-0671 06D3
-06D5
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-0800 0815
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0972 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32 0E33
-0E40 0E45
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2 0EB3
-0EBD
-0EC0 0EC4
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10D0 10FA
-10FD 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
-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
-1844 1877
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C77
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-2135 2138
-2D30 2D67
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-3006
-303C
-3041 3096
-309F
-30A1 30FA
-30FF
-3105 312D
-3131 318E
-31A0 31BA
-31F0 31FF
-3400 4DB5
-4E00 9FCC
-A000 A014
-A016 A48C
-A4D0 A4F7
-A500 A60B
-A610 A61F
-A62A A62B
-A66E
-A6A0 A6E5
-A7FB A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA6F
-AA71 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADC
-AAE0 AAEA
-AAF2
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-1B000 1B001
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V742
+170
+171
+186
+187
+443
+444
+448
+452
+660
+661
+1488
+1515
+1520
+1523
+1568
+1600
+1601
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2048
+2070
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2418
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3636
+3648
+3654
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3764
+3773
+3774
+3776
+3781
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4304
+4347
+4349
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6108
+6109
+6176
+6211
+6212
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7288
+7401
+7405
+7406
+7410
+7413
+7415
+8501
+8505
+11568
+11624
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+12294
+12295
+12348
+12349
+12353
+12439
+12447
+12448
+12449
+12539
+12543
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+40981
+40982
+42125
+42192
+42232
+42240
+42508
+42512
+42528
+42538
+42540
+42606
+42607
+42656
+42726
+43003
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43632
+43633
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43741
+43744
+43755
+43762
+43763
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65382
+65392
+65393
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66369
+66370
+66378
+66432
+66462
+66464
+66500
+66504
+66512
+66640
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+110592
+110594
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl
index be1f945b1c9..7f687045bdd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl
@@ -1,14 +1,34 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-20AC
-FFFC
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V20
+453
+454
+456
+457
+459
+460
+498
+499
+8072
+8080
+8088
+8096
+8104
+8112
+8124
+8125
+8140
+8141
+8188
+8189
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
index 3232f1857d6..fef538a3cee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
@@ -1,620 +1,1230 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00C0 00D6
-00D8 00DE
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4
-01C7
-01CA
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0370
-0372
-0376
-0386
-0388 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F4
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-10A0 10C5
-10C7
-10CD
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1FB8 1FBB
-1FC8 1FCB
-1FD8 1FDB
-1FE8 1FEC
-1FF8 1FFB
-2102
-2107
-210B 210D
-2110 2112
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-2130 2133
-213E 213F
-2145
-2183
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-FF21 FF3A
-10400 10427
-1D400 1D419
-1D434 1D44D
-1D468 1D481
-1D49C
-1D49E 1D49F
-1D4A2
-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
-1D56C 1D585
-1D5A0 1D5B9
-1D5D4 1D5ED
-1D608 1D621
-1D63C 1D655
-1D670 1D689
-1D6A8 1D6C0
-1D6E2 1D6FA
-1D71C 1D734
-1D756 1D76E
-1D790 1D7A8
-1D7CA
+V1216
+65
+91
+192
+215
+216
+223
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+453
+455
+456
+458
+459
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+498
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+880
+881
+882
+883
+886
+887
+902
+903
+904
+907
+908
+909
+910
+912
+913
+930
+931
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+4256
+4294
+4295
+4296
+4301
+4302
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8120
+8124
+8136
+8140
+8152
+8156
+8168
+8173
+8184
+8188
+8450
+8451
+8455
+8456
+8459
+8462
+8464
+8467
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8496
+8500
+8510
+8512
+8517
+8518
+8579
+8580
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+65313
+65339
+66560
+66600
+119808
+119834
+119860
+119886
+119912
+119938
+119964
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119990
+120016
+120042
+120068
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120120
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120488
+120513
+120546
+120571
+120604
+120629
+120662
+120687
+120720
+120745
+120778
+120779
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
index cd543637312..dfe9616ad41 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
@@ -1,216 +1,422 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0963
-0981 0983
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09E2 09E3
-0A01 0A03
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A83
-0ABC
-0ABE 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AE2 0AE3
-0B01 0B03
-0B3C
-0B3E 0B44
-0B47 0B48
-0B4B 0B4D
-0B56 0B57
-0B62 0B63
-0B82
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-0C01 0C03
-0C3E 0C44
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0C82 0C83
-0CBC
-0CBE 0CC4
-0CC6 0CC8
-0CCA 0CCD
-0CD5 0CD6
-0CE2 0CE3
-0D02 0D03
-0D3E 0D44
-0D46 0D48
-0D4A 0D4D
-0D57
-0D62 0D63
-0D82 0D83
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F3E 0F3F
-0F71 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102B 103E
-1056 1059
-105E 1060
-1062 1064
-1067 106D
-1071 1074
-1082 108D
-108F
-109A 109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17D3
-17DD
-180B 180D
-18A9
-1920 192B
-1930 193B
-19B0 19C0
-19C8 19C9
-1A17 1A1B
-1A55 1A5E
-1A60 1A7C
-1A7F
-1B00 1B04
-1B34 1B44
-1B6B 1B73
-1B80 1B82
-1BA1 1BAD
-1BE6 1BF3
-1C24 1C37
-1CD0 1CD2
-1CD4 1CE8
-1CED
-1CF2 1CF4
-1DC0 1DE6
-1DFC 1DFF
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302F
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A823 A827
-A880 A881
-A8B4 A8C4
-A8E0 A8F1
-A926 A92D
-A947 A953
-A980 A983
-A9B3 A9C0
-AA29 AA36
-AA43
-AA4C AA4D
-AA7B
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEB AAEF
-AAF5 AAF6
-ABE3 ABEA
-ABEC ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11000 11002
-11038 11046
-11080 11082
-110B0 110BA
-11100 11102
-11127 11134
-11180 11182
-111B3 111C0
-116AB 116B7
-16F51 16F7E
-16F8F 16F92
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V408
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2404
+2433
+2436
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2530
+2532
+2561
+2564
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2692
+2748
+2749
+2750
+2758
+2759
+2762
+2763
+2766
+2786
+2788
+2817
+2820
+2876
+2877
+2878
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3073
+3076
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3202
+3204
+3260
+3261
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3298
+3300
+3330
+3332
+3390
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3426
+3428
+3458
+3460
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3953
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4139
+4159
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4240
+4250
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6444
+6448
+6460
+6576
+6593
+6600
+6602
+6679
+6684
+6741
+6751
+6752
+6781
+6783
+6784
+6912
+6917
+6964
+6981
+7019
+7028
+7040
+7043
+7073
+7086
+7142
+7156
+7204
+7224
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7616
+7655
+7676
+7680
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43136
+43138
+43188
+43205
+43232
+43250
+43302
+43310
+43335
+43348
+43392
+43396
+43443
+43457
+43561
+43575
+43587
+43588
+43596
+43598
+43643
+43644
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43755
+43760
+43765
+43767
+44003
+44011
+44012
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69632
+69635
+69688
+69703
+69760
+69763
+69808
+69819
+69888
+69891
+69927
+69941
+70016
+70019
+70067
+70081
+71339
+71352
+94033
+94079
+94095
+94099
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
index 191d175e479..26a8ad83a7c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
@@ -1,138 +1,266 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0903
-093B
-093E 0940
-0949 094C
-094E 094F
-0982 0983
-09BE 09C0
-09C7 09C8
-09CB 09CC
-09D7
-0A03
-0A3E 0A40
-0A83
-0ABE 0AC0
-0AC9
-0ACB 0ACC
-0B02 0B03
-0B3E
-0B40
-0B47 0B48
-0B4B 0B4C
-0B57
-0BBE 0BBF
-0BC1 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0BD7
-0C01 0C03
-0C41 0C44
-0C82 0C83
-0CBE
-0CC0 0CC4
-0CC7 0CC8
-0CCA 0CCB
-0CD5 0CD6
-0D02 0D03
-0D3E 0D40
-0D46 0D48
-0D4A 0D4C
-0D57
-0D82 0D83
-0DCF 0DD1
-0DD8 0DDF
-0DF2 0DF3
-0F3E 0F3F
-0F7F
-102B 102C
-1031
-1038
-103B 103C
-1056 1057
-1062 1064
-1067 106D
-1083 1084
-1087 108C
-108F
-109A 109C
-17B6
-17BE 17C5
-17C7 17C8
-1923 1926
-1929 192B
-1930 1931
-1933 1938
-19B0 19C0
-19C8 19C9
-1A19 1A1B
-1A55
-1A57
-1A61
-1A63 1A64
-1A6D 1A72
-1B04
-1B35
-1B3B
-1B3D 1B41
-1B43 1B44
-1B82
-1BA1
-1BA6 1BA7
-1BAA
-1BAC 1BAD
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1BF3
-1C24 1C2B
-1C34 1C35
-1CE1
-1CF2 1CF3
-302E 302F
-A823 A824
-A827
-A880 A881
-A8B4 A8C3
-A952 A953
-A983
-A9B4 A9B5
-A9BA A9BB
-A9BD A9C0
-AA2F AA30
-AA33 AA34
-AA4D
-AA7B
-AAEB
-AAEE AAEF
-AAF5
-ABE3 ABE4
-ABE6 ABE7
-ABE9 ABEA
-ABEC
-11000
-11002
-11082
-110B0 110B2
-110B7 110B8
-1112C
-11182
-111B3 111B5
-111BF 111C0
-116AC
-116AE 116AF
-116B6
-16F51 16F7E
-1D165 1D166
-1D16D 1D172
+V252
+2307
+2308
+2363
+2364
+2366
+2369
+2377
+2381
+2382
+2384
+2434
+2436
+2494
+2497
+2503
+2505
+2507
+2509
+2519
+2520
+2563
+2564
+2622
+2625
+2691
+2692
+2750
+2753
+2761
+2762
+2763
+2765
+2818
+2820
+2878
+2879
+2880
+2881
+2887
+2889
+2891
+2893
+2903
+2904
+3006
+3008
+3009
+3011
+3014
+3017
+3018
+3021
+3031
+3032
+3073
+3076
+3137
+3141
+3202
+3204
+3262
+3263
+3264
+3269
+3271
+3273
+3274
+3276
+3285
+3287
+3330
+3332
+3390
+3393
+3398
+3401
+3402
+3405
+3415
+3416
+3458
+3460
+3535
+3538
+3544
+3552
+3570
+3572
+3902
+3904
+3967
+3968
+4139
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4182
+4184
+4194
+4197
+4199
+4206
+4227
+4229
+4231
+4237
+4239
+4240
+4250
+4253
+6070
+6071
+6078
+6086
+6087
+6089
+6435
+6439
+6441
+6444
+6448
+6450
+6451
+6457
+6576
+6593
+6600
+6602
+6681
+6683
+6741
+6742
+6743
+6744
+6753
+6754
+6755
+6757
+6765
+6771
+6916
+6917
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+6981
+7042
+7043
+7073
+7074
+7078
+7080
+7082
+7083
+7084
+7086
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7156
+7204
+7212
+7220
+7222
+7393
+7394
+7410
+7412
+12334
+12336
+43043
+43045
+43047
+43048
+43136
+43138
+43188
+43204
+43346
+43348
+43395
+43396
+43444
+43446
+43450
+43452
+43453
+43457
+43567
+43569
+43571
+43573
+43597
+43598
+43643
+43644
+43755
+43756
+43758
+43760
+43765
+43766
+44003
+44005
+44006
+44008
+44009
+44011
+44012
+44013
+69632
+69633
+69634
+69635
+69762
+69763
+69808
+69811
+69815
+69817
+69932
+69933
+70018
+70019
+70067
+70070
+70079
+70081
+71340
+71341
+71342
+71344
+71350
+71351
+94033
+94079
+119141
+119143
+119149
+119155
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
index 89c242495ef..f4e72bb8e98 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0488 0489
-20DD 20E0
-20E2 20E4
-A670 A672
+V8
+1160
+1162
+8413
+8417
+8418
+8421
+42608
+42611
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
index 8e0b9f841a0..f59bc4c993b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
@@ -1,232 +1,456 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0487
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0981
-09BC
-09C1 09C4
-09CD
-09E2 09E3
-0A01 0A02
-0A3C
-0A41 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A82
-0ABC
-0AC1 0AC5
-0AC7 0AC8
-0ACD
-0AE2 0AE3
-0B01
-0B3C
-0B3F
-0B41 0B44
-0B4D
-0B56
-0B62 0B63
-0B82
-0BC0
-0BCD
-0C3E 0C40
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0CBC
-0CBF
-0CC6
-0CCC 0CCD
-0CE2 0CE3
-0D41 0D44
-0D4D
-0D62 0D63
-0DCA
-0DD2 0DD4
-0DD6
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17DD
-180B 180D
-18A9
-1920 1922
-1927 1928
-1932
-1939 193B
-1A17 1A18
-1A56
-1A58 1A5E
-1A60
-1A62
-1A65 1A6C
-1A73 1A7C
-1A7F
-1B00 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B6B 1B73
-1B80 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1C2C 1C33
-1C36 1C37
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1DC0 1DE6
-1DFC 1DFF
-20D0 20DC
-20E1
-20E5 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302D
-3099 309A
-A66F
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A825 A826
-A8C4
-A8E0 A8F1
-A926 A92D
-A947 A951
-A980 A982
-A9B3
-A9B6 A9B9
-A9BC
-AA29 AA2E
-AA31 AA32
-AA35 AA36
-AA43
-AA4C
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEC AAED
-AAF6
-ABE5
-ABE8
-ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11001
-11038 11046
-11080 11081
-110B3 110B6
-110B9 110BA
-11100 11102
-11127 1112B
-1112D 11134
-11180 11181
-111B6 111BE
-116AB
-116AD
-116B0 116B5
-116B7
-16F8F 16F92
-1D167 1D169
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V442
+768
+880
+1155
+1160
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3263
+3264
+3270
+3271
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8400
+8413
+8417
+8418
+8421
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12334
+12441
+12443
+42607
+42608
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
index 016c4fb4c6b..719ffacc8ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
@@ -1,100 +1,190 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-00B2 00B3
-00B9
-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
-2080 2089
-2150 2182
-2185 2189
-2460 249B
-24EA 24FF
-2776 2793
-2CFD
-3007
-3021 3029
-3038 303A
-3192 3195
-3220 3229
-3248 324F
-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
-10341
-1034A
-103D1 103D5
-104A0 104A9
-10858 1085F
-10916 1091B
-10A40 10A47
-10A7D 10A7E
-10B58 10B5F
-10B78 10B7F
-10E60 10E7E
-11052 1106F
-110F0 110F9
-11136 1113F
-111D0 111D9
-116C0 116C9
-12400 12462
-1D360 1D371
-1D7CE 1D7FF
-1F100 1F10A
+V176
+48
+58
+178
+180
+185
+186
+188
+191
+1632
+1642
+1776
+1786
+1984
+1994
+2406
+2416
+2534
+2544
+2548
+2554
+2662
+2672
+2790
+2800
+2918
+2928
+2930
+2936
+3046
+3059
+3174
+3184
+3192
+3199
+3302
+3312
+3430
+3446
+3664
+3674
+3792
+3802
+3872
+3892
+4160
+4170
+4240
+4250
+4969
+4989
+5870
+5873
+6112
+6122
+6128
+6138
+6160
+6170
+6470
+6480
+6608
+6619
+6784
+6794
+6800
+6810
+6992
+7002
+7088
+7098
+7232
+7242
+7248
+7258
+8304
+8305
+8308
+8314
+8320
+8330
+8528
+8579
+8581
+8586
+9312
+9372
+9450
+9472
+10102
+10132
+11517
+11518
+12295
+12296
+12321
+12330
+12344
+12347
+12690
+12694
+12832
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+42528
+42538
+42726
+42736
+43056
+43062
+43216
+43226
+43264
+43274
+43472
+43482
+43600
+43610
+44016
+44026
+65296
+65306
+65799
+65844
+65856
+65913
+65930
+65931
+66336
+66340
+66369
+66370
+66378
+66379
+66513
+66518
+66720
+66730
+67672
+67680
+67862
+67868
+68160
+68168
+68221
+68223
+68440
+68448
+68472
+68480
+69216
+69247
+69714
+69744
+69872
+69882
+69942
+69952
+70096
+70106
+71360
+71370
+74752
+74851
+119648
+119666
+120782
+120832
+127232
+127243
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl
index a5ef0c39cad..1464dfada58 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl
@@ -1,54 +1,98 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
-110F0 110F9
-11136 1113F
-111D0 111D9
-116C0 116C9
-1D7CE 1D7FF
+V84
+48
+58
+1632
+1642
+1776
+1786
+1984
+1994
+2406
+2416
+2534
+2544
+2662
+2672
+2790
+2800
+2918
+2928
+3046
+3056
+3174
+3184
+3302
+3312
+3430
+3440
+3664
+3674
+3792
+3802
+3872
+3882
+4160
+4170
+4240
+4250
+6112
+6122
+6160
+6170
+6470
+6480
+6608
+6618
+6784
+6794
+6800
+6810
+6992
+7002
+7088
+7098
+7232
+7242
+7248
+7258
+42528
+42538
+43216
+43226
+43264
+43274
+43472
+43482
+43600
+43610
+44016
+44026
+65296
+65306
+66720
+66730
+69734
+69744
+69872
+69882
+69942
+69952
+70096
+70106
+71360
+71370
+120782
+120832
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
index 9fbadf397e1..7b3eecb69de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
@@ -1,24 +1,38 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-16EE 16F0
-2160 2182
-2185 2188
-3007
-3021 3029
-3038 303A
-A6E6 A6EF
-10140 10174
-10341
-1034A
-103D1 103D5
-12400 12462
+V24
+5870
+5873
+8544
+8579
+8581
+8585
+12295
+12296
+12321
+12330
+12344
+12347
+42726
+42736
+65856
+65909
+66369
+66370
+66378
+66379
+66513
+66518
+74752
+74851
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
index d2702a62152..f5839092202 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
@@ -1,54 +1,98 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00B2 00B3
-00B9
-00BC 00BE
-09F4 09F9
-0B72 0B77
-0BF0 0BF2
-0C78 0C7E
-0D70 0D75
-0F2A 0F33
-1369 137C
-17F0 17F9
-19DA
-2070
-2074 2079
-2080 2089
-2150 215F
-2189
-2460 249B
-24EA 24FF
-2776 2793
-2CFD
-3192 3195
-3220 3229
-3248 324F
-3251 325F
-3280 3289
-32B1 32BF
-A830 A835
-10107 10133
-10175 10178
-1018A
-10320 10323
-10858 1085F
-10916 1091B
-10A40 10A47
-10A7D 10A7E
-10B58 10B5F
-10B78 10B7F
-10E60 10E7E
-11052 11065
-1D360 1D371
-1F100 1F10A
+V84
+178
+180
+185
+186
+188
+191
+2548
+2554
+2930
+2936
+3056
+3059
+3192
+3199
+3440
+3446
+3882
+3892
+4969
+4989
+6128
+6138
+6618
+6619
+8304
+8305
+8308
+8314
+8320
+8330
+8528
+8544
+8585
+8586
+9312
+9372
+9450
+9472
+10102
+10132
+11517
+11518
+12690
+12694
+12832
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+43056
+43062
+65799
+65844
+65909
+65913
+65930
+65931
+66336
+66340
+67672
+67680
+67862
+67868
+68160
+68168
+68221
+68223
+68440
+68448
+68472
+68480
+69216
+69247
+69714
+69734
+119648
+119666
+127232
+127243
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
index 498f7cba2ee..944cf8a20d2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
@@ -1,152 +1,296 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 0023
-0025 002A
-002C 002F
-003A 003B
-003F 0040
-005B 005D
-005F
-007B
-007D
-00A1
-00A7
-00AB
-00B6 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
-0AF0
-0DF4
-0E4F
-0E5A 0E5B
-0F04 0F12
-0F14
-0F3A 0F3D
-0F85
-0FD0 0FD4
-0FD9 0FDA
-104A 104F
-10FB
-1360 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
-1CC0 1CC7
-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 2E3B
-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
-AAF0 AAF1
-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 10102
-1039F
-103D0
-10857
-1091F
-1093F
-10A50 10A58
-10A7F
-10B39 10B3F
-11047 1104D
-110BB 110BC
-110BE 110C1
-11140 11143
-111C5 111C8
-12470 12473
+V282
+33
+36
+37
+43
+44
+48
+58
+60
+63
+65
+91
+94
+95
+96
+123
+124
+125
+126
+161
+162
+167
+168
+171
+172
+182
+184
+187
+188
+191
+192
+894
+895
+903
+904
+1370
+1376
+1417
+1419
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1523
+1525
+1545
+1547
+1548
+1550
+1563
+1564
+1566
+1568
+1642
+1646
+1748
+1749
+1792
+1806
+2039
+2042
+2096
+2111
+2142
+2143
+2404
+2406
+2416
+2417
+2800
+2801
+3572
+3573
+3663
+3664
+3674
+3676
+3844
+3859
+3860
+3861
+3898
+3902
+3973
+3974
+4048
+4053
+4057
+4059
+4170
+4176
+4347
+4348
+4960
+4969
+5120
+5121
+5741
+5743
+5787
+5789
+5867
+5870
+5941
+5943
+6100
+6103
+6104
+6107
+6144
+6155
+6468
+6470
+6686
+6688
+6816
+6823
+6824
+6830
+7002
+7009
+7164
+7168
+7227
+7232
+7294
+7296
+7360
+7368
+7379
+7380
+8208
+8232
+8240
+8260
+8261
+8274
+8275
+8287
+8317
+8319
+8333
+8335
+8968
+8972
+9001
+9003
+10088
+10102
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11513
+11517
+11518
+11520
+11632
+11633
+11776
+11823
+11824
+11836
+12289
+12292
+12296
+12306
+12308
+12320
+12336
+12337
+12349
+12350
+12448
+12449
+12539
+12540
+42238
+42240
+42509
+42512
+42611
+42612
+42622
+42623
+42738
+42744
+43124
+43128
+43214
+43216
+43256
+43259
+43310
+43312
+43359
+43360
+43457
+43470
+43486
+43488
+43612
+43616
+43742
+43744
+43760
+43762
+44011
+44012
+64830
+64832
+65040
+65050
+65072
+65107
+65108
+65122
+65123
+65124
+65128
+65129
+65130
+65132
+65281
+65284
+65285
+65291
+65292
+65296
+65306
+65308
+65311
+65313
+65339
+65342
+65343
+65344
+65371
+65372
+65373
+65374
+65375
+65382
+65792
+65795
+66463
+66464
+66512
+66513
+67671
+67672
+67871
+67872
+67903
+67904
+68176
+68185
+68223
+68224
+68409
+68416
+69703
+69710
+69819
+69821
+69822
+69826
+69952
+69956
+70085
+70089
+74864
+74868
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
index 2beb468cb61..7bce4855477 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
@@ -1,28 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002D
-058A
-05BE
-1400
-1806
-2010 2015
-2E17
-2E1A
-2E3A 2E3B
-301C
-3030
-30A0
-FE31 FE32
-FE58
-FE63
-FF0D
+V32
+45
+46
+1418
+1419
+1470
+1471
+5120
+5121
+6150
+6151
+8208
+8214
+11799
+11800
+11802
+11803
+11834
+11836
+12316
+12317
+12336
+12337
+12448
+12449
+65073
+65075
+65112
+65113
+65123
+65124
+65293
+65294
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
index 7f562f978ac..0d872278740 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
@@ -1,82 +1,158 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0029
-005D
-007D
-0F3B
-0F3D
-169C
-2046
-207E
-208E
-232A
-2769
-276B
-276D
-276F
-2771
-2773
-2775
-27C6
-27E7
-27E9
-27EB
-27ED
-27EF
-2984
-2986
-2988
-298A
-298C
-298E
-2990
-2992
-2994
-2996
-2998
-29D9
-29DB
-29FD
-2E23
-2E25
-2E27
-2E29
-3009
-300B
-300D
-300F
-3011
-3015
-3017
-3019
-301B
-301E 301F
-FD3F
-FE18
-FE36
-FE38
-FE3A
-FE3C
-FE3E
-FE40
-FE42
-FE44
-FE48
-FE5A
-FE5C
-FE5E
-FF09
-FF3D
-FF5D
-FF60
-FF63
+V144
+41
+42
+93
+94
+125
+126
+3899
+3900
+3901
+3902
+5788
+5789
+8262
+8263
+8318
+8319
+8334
+8335
+8969
+8970
+8971
+8972
+9002
+9003
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10102
+10182
+10183
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10224
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10649
+10713
+10714
+10715
+10716
+10749
+10750
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+11818
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12306
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+12316
+12318
+12320
+64831
+64832
+65048
+65049
+65078
+65079
+65080
+65081
+65082
+65083
+65084
+65085
+65086
+65087
+65088
+65089
+65090
+65091
+65092
+65093
+65096
+65097
+65114
+65115
+65116
+65117
+65118
+65119
+65289
+65290
+65341
+65342
+65373
+65374
+65376
+65377
+65379
+65380
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
index 94d1b631c62..9603bd5e391 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
@@ -1,22 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00BB
-2019
-201D
-203A
-2E03
-2E05
-2E0A
-2E0D
-2E1D
-2E21
+V20
+187
+188
+8217
+8218
+8221
+8222
+8250
+8251
+11779
+11780
+11781
+11782
+11786
+11787
+11789
+11790
+11805
+11806
+11809
+11810
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
index 5da42e76c89..f1f161c9612 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AB
-2018
-201B 201C
-201F
-2039
-2E02
-2E04
-2E09
-2E0C
-2E1C
-2E20
+V22
+171
+172
+8216
+8217
+8219
+8221
+8223
+8224
+8249
+8250
+11778
+11779
+11780
+11781
+11785
+11786
+11788
+11789
+11804
+11805
+11808
+11809
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
index 52cda8ef25e..d1b2e49edfa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
@@ -1,147 +1,284 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 0023
-0025 0027
-002A
-002C
-002E 002F
-003A 003B
-003F 0040
-005C
-00A1
-00A7
-00B6 00B7
-00BF
-037E
-0387
-055A 055F
-0589
-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
-0AF0
-0DF4
-0E4F
-0E5A 0E5B
-0F04 0F12
-0F14
-0F85
-0FD0 0FD4
-0FD9 0FDA
-104A 104F
-10FB
-1360 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
-1CC0 1CC7
-1CD3
-2016 2017
-2020 2027
-2030 2038
-203B 203E
-2041 2043
-2047 2051
-2053
-2055 205E
-2CF9 2CFC
-2CFE 2CFF
-2D70
-2E00 2E01
-2E06 2E08
-2E0B
-2E0E 2E16
-2E18 2E19
-2E1B
-2E1E 2E1F
-2E2A 2E2E
-2E30 2E39
-3001 3003
-303D
-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
-AAF0 AAF1
-ABEB
-FE10 FE16
-FE19
-FE30
-FE45 FE46
-FE49 FE4C
-FE50 FE52
-FE54 FE57
-FE5F FE61
-FE68
-FE6A FE6B
-FF01 FF03
-FF05 FF07
-FF0A
-FF0C
-FF0E FF0F
-FF1A FF1B
-FF1F FF20
-FF3C
-FF61
-FF64 FF65
-10100 10102
-1039F
-103D0
-10857
-1091F
-1093F
-10A50 10A58
-10A7F
-10B39 10B3F
-11047 1104D
-110BB 110BC
-110BE 110C1
-11140 11143
-111C5 111C8
-12470 12473
+V270
+33
+36
+37
+40
+42
+43
+44
+45
+46
+48
+58
+60
+63
+65
+92
+93
+161
+162
+167
+168
+182
+184
+191
+192
+894
+895
+903
+904
+1370
+1376
+1417
+1418
+1472
+1473
+1475
+1476
+1478
+1479
+1523
+1525
+1545
+1547
+1548
+1550
+1563
+1564
+1566
+1568
+1642
+1646
+1748
+1749
+1792
+1806
+2039
+2042
+2096
+2111
+2142
+2143
+2404
+2406
+2416
+2417
+2800
+2801
+3572
+3573
+3663
+3664
+3674
+3676
+3844
+3859
+3860
+3861
+3973
+3974
+4048
+4053
+4057
+4059
+4170
+4176
+4347
+4348
+4960
+4969
+5741
+5743
+5867
+5870
+5941
+5943
+6100
+6103
+6104
+6107
+6144
+6150
+6151
+6155
+6468
+6470
+6686
+6688
+6816
+6823
+6824
+6830
+7002
+7009
+7164
+7168
+7227
+7232
+7294
+7296
+7360
+7368
+7379
+7380
+8214
+8216
+8224
+8232
+8240
+8249
+8251
+8255
+8257
+8260
+8263
+8274
+8275
+8276
+8277
+8287
+11513
+11517
+11518
+11520
+11632
+11633
+11776
+11778
+11782
+11785
+11787
+11788
+11790
+11799
+11800
+11802
+11803
+11804
+11806
+11808
+11818
+11823
+11824
+11834
+12289
+12292
+12349
+12350
+12539
+12540
+42238
+42240
+42509
+42512
+42611
+42612
+42622
+42623
+42738
+42744
+43124
+43128
+43214
+43216
+43256
+43259
+43310
+43312
+43359
+43360
+43457
+43470
+43486
+43488
+43612
+43616
+43742
+43744
+43760
+43762
+44011
+44012
+65040
+65047
+65049
+65050
+65072
+65073
+65093
+65095
+65097
+65101
+65104
+65107
+65108
+65112
+65119
+65122
+65128
+65129
+65130
+65132
+65281
+65284
+65285
+65288
+65290
+65291
+65292
+65293
+65294
+65296
+65306
+65308
+65311
+65313
+65340
+65341
+65377
+65378
+65380
+65382
+65792
+65795
+66463
+66464
+66512
+66513
+67671
+67672
+67871
+67872
+67903
+67904
+68176
+68185
+68223
+68224
+68409
+68416
+69703
+69710
+69819
+69821
+69822
+69826
+69952
+69956
+70085
+70089
+74864
+74868
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
index ffc3f98b59b..b41feb589ee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
@@ -1,84 +1,162 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0028
-005B
-007B
-0F3A
-0F3C
-169B
-201A
-201E
-2045
-207D
-208D
-2329
-2768
-276A
-276C
-276E
-2770
-2772
-2774
-27C5
-27E6
-27E8
-27EA
-27EC
-27EE
-2983
-2985
-2987
-2989
-298B
-298D
-298F
-2991
-2993
-2995
-2997
-29D8
-29DA
-29FC
-2E22
-2E24
-2E26
-2E28
-3008
-300A
-300C
-300E
-3010
-3014
-3016
-3018
-301A
-301D
-FD3E
-FE17
-FE35
-FE37
-FE39
-FE3B
-FE3D
-FE3F
-FE41
-FE43
-FE47
-FE59
-FE5B
-FE5D
-FF08
-FF3B
-FF5B
-FF5F
-FF62
+V148
+40
+41
+91
+92
+123
+124
+3898
+3899
+3900
+3901
+5787
+5788
+8218
+8219
+8222
+8223
+8261
+8262
+8317
+8318
+8333
+8334
+8968
+8969
+8970
+8971
+9001
+9002
+10088
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10181
+10182
+10214
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10627
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10712
+10713
+10714
+10715
+10748
+10749
+11810
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+12296
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12308
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+12317
+12318
+64830
+64831
+65047
+65048
+65077
+65078
+65079
+65080
+65081
+65082
+65083
+65084
+65085
+65086
+65087
+65088
+65089
+65090
+65091
+65092
+65095
+65096
+65113
+65114
+65115
+65116
+65117
+65118
+65288
+65289
+65339
+65340
+65371
+65372
+65375
+65376
+65378
+65379
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
index 868205836b4..74e21bf6c78 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
@@ -1,210 +1,412 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0024
-002B
-003C 003E
-005E
-0060
-007C
-007E
-00A2 00A6
-00A8 00A9
-00AC
-00AE 00B1
-00B4
-00B8
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0384 0385
-03F6
-0482
-058F
-0606 0608
-060B
-060E 060F
-06DE
-06E9
-06FD 06FE
-07F6
-09F2 09F3
-09FA 09FB
-0AF1
-0B70
-0BF3 0BFA
-0C7F
-0D79
-0E3F
-0F01 0F03
-0F13
-0F15 0F17
-0F1A 0F1F
-0F34
-0F36
-0F38
-0FBE 0FC5
-0FC7 0FCC
-0FCE 0FCF
-0FD5 0FD8
-109E 109F
-1390 1399
-17DB
-1940
-19DE 19FF
-1B61 1B6A
-1B74 1B7C
-1FBD
-1FBF 1FC1
-1FCD 1FCF
-1FDD 1FDF
-1FED 1FEF
-1FFD 1FFE
-2044
-2052
-207A 207C
-208A 208C
-20A0 20BA
-2100 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E
-213A 213B
-2140 2144
-214A 214D
-214F
-2190 2328
-232B 23F3
-2400 2426
-2440 244A
-249C 24E9
-2500 26FF
-2701 2767
-2794 27C4
-27C7 27E5
-27F0 2982
-2999 29D7
-29DC 29FB
-29FE 2B4C
-2B50 2B59
-2CE5 2CEA
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-2FF0 2FFB
-3004
-3012 3013
-3020
-3036 3037
-303E 303F
-309B 309C
-3190 3191
-3196 319F
-31C0 31E3
-3200 321E
-322A 3247
-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
-FBB2 FBC1
-FDFC FDFD
-FE62
-FE64 FE66
-FE69
-FF04
-FF0B
-FF1C FF1E
-FF3E
-FF40
-FF5C
-FF5E
-FFE0 FFE6
-FFE8 FFEE
-FFFC FFFD
-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
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
+V398
+36
+37
+43
+44
+60
+63
+94
+95
+96
+97
+124
+125
+126
+127
+162
+167
+168
+170
+172
+173
+174
+178
+180
+181
+184
+185
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+900
+902
+1014
+1015
+1154
+1155
+1423
+1424
+1542
+1545
+1547
+1548
+1550
+1552
+1758
+1759
+1769
+1770
+1789
+1791
+2038
+2039
+2546
+2548
+2554
+2556
+2801
+2802
+2928
+2929
+3059
+3067
+3199
+3200
+3449
+3450
+3647
+3648
+3841
+3844
+3859
+3860
+3861
+3864
+3866
+3872
+3892
+3893
+3894
+3895
+3896
+3897
+4030
+4038
+4039
+4045
+4046
+4048
+4053
+4057
+4254
+4256
+5008
+5018
+6107
+6108
+6464
+6465
+6622
+6656
+7009
+7019
+7028
+7037
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+8260
+8261
+8274
+8275
+8314
+8317
+8330
+8333
+8352
+8379
+8448
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8528
+8592
+8968
+8972
+9001
+9003
+9204
+9216
+9255
+9280
+9291
+9372
+9450
+9472
+9984
+9985
+10088
+10132
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11085
+11088
+11098
+11493
+11499
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12292
+12293
+12306
+12308
+12320
+12321
+12342
+12344
+12350
+12352
+12443
+12445
+12688
+12690
+12694
+12704
+12736
+12772
+12800
+12831
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+13055
+13056
+13312
+19904
+19968
+42128
+42183
+42752
+42775
+42784
+42786
+42889
+42891
+43048
+43052
+43062
+43066
+43639
+43642
+64297
+64298
+64434
+64450
+65020
+65022
+65122
+65123
+65124
+65127
+65129
+65130
+65284
+65285
+65291
+65292
+65308
+65311
+65342
+65343
+65344
+65345
+65372
+65373
+65374
+65375
+65504
+65511
+65512
+65519
+65532
+65534
+65847
+65856
+65913
+65930
+65936
+65948
+66000
+66045
+118784
+119030
+119040
+119079
+119081
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119262
+119296
+119362
+119365
+119366
+119552
+119639
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
index 04a486602f3..9ecb297b7a5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
@@ -1,29 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0024
-00A2 00A5
-058F
-060B
-09F2 09F3
-09FB
-0AF1
-0BF9
-0E3F
-17DB
-20A0 20BA
-A838
-FDFC
-FE69
-FF04
-FFE0 FFE1
-FFE5 FFE6
+V34
+36
+37
+162
+166
+1423
+1424
+1547
+1548
+2546
+2548
+2555
+2556
+2801
+2802
+3065
+3066
+3647
+3648
+6107
+6108
+8352
+8379
+43064
+43065
+65020
+65021
+65129
+65130
+65284
+65285
+65504
+65506
+65509
+65511
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
index 7de1537271c..4eb9ea30540 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
@@ -1,39 +1,68 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-005E
-0060
-00A8
-00AF
-00B4
-00B8
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0384 0385
-1FBD
-1FBF 1FC1
-1FCD 1FCF
-1FDD 1FDF
-1FED 1FEF
-1FFD 1FFE
-309B 309C
-A700 A716
-A720 A721
-A789 A78A
-FBB2 FBC1
-FF3E
-FF40
-FFE3
+V54
+94
+95
+96
+97
+168
+169
+175
+176
+180
+181
+184
+185
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+900
+902
+8125
+8126
+8127
+8130
+8141
+8144
+8157
+8160
+8173
+8176
+8189
+8191
+12443
+12445
+42752
+42775
+42784
+42786
+42889
+42891
+64434
+64450
+65342
+65343
+65344
+65345
+65507
+65508
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
index babc1b5fb0d..3667d604ce7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
@@ -1,77 +1,142 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002B
-003C 003E
-007C
-007E
-00AC
-00B1
-00D7
-00F7
-03F6
-0606 0608
-2044
-2052
-207A 207C
-208A 208C
-2118
-2140 2144
-214B
-2190 2194
-219A 219B
-21A0
-21A3
-21A6
-21AE
-21CE 21CF
-21D2
-21D4
-21F4 22FF
-2308 230B
-2320 2321
-237C
-239B 23B3
-23DC 23E1
-25B7
-25C1
-25F8 25FF
-266F
-27C0 27C4
-27C7 27E5
-27F0 27FF
-2900 2982
-2999 29D7
-29DC 29FB
-29FE 2AFF
-2B30 2B44
-2B47 2B4C
-FB29
-FE62
-FE64 FE66
-FF0B
-FF1C FF1E
-FF5C
-FF5E
-FFE2
-FFE9 FFEC
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1EEF0 1EEF1
+V128
+43
+44
+60
+63
+124
+125
+126
+127
+172
+173
+177
+178
+215
+216
+247
+248
+1014
+1015
+1542
+1545
+8260
+8261
+8274
+8275
+8314
+8317
+8330
+8333
+8472
+8473
+8512
+8517
+8523
+8524
+8592
+8597
+8602
+8604
+8608
+8609
+8611
+8612
+8614
+8615
+8622
+8623
+8654
+8656
+8658
+8659
+8660
+8661
+8692
+8960
+8992
+8994
+9084
+9085
+9115
+9140
+9180
+9186
+9655
+9656
+9665
+9666
+9720
+9728
+9839
+9840
+10176
+10181
+10183
+10214
+10224
+10240
+10496
+10627
+10649
+10712
+10716
+10748
+10750
+11008
+11056
+11077
+11079
+11085
+64297
+64298
+65122
+65123
+65124
+65127
+65291
+65292
+65308
+65311
+65372
+65373
+65374
+65375
+65506
+65507
+65513
+65517
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+126704
+126706
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
index 20caa721e43..d135e3a8649 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
@@ -1,165 +1,320 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A6
-00A9
-00AE
-00B0
-0482
-060E 060F
-06DE
-06E9
-06FD 06FE
-07F6
-09FA
-0B70
-0BF3 0BF8
-0BFA
-0C7F
-0D79
-0F01 0F03
-0F13
-0F15 0F17
-0F1A 0F1F
-0F34
-0F36
-0F38
-0FBE 0FC5
-0FC7 0FCC
-0FCE 0FCF
-0FD5 0FD8
-109E 109F
-1390 1399
-1940
-19DE 19FF
-1B61 1B6A
-1B74 1B7C
-2100 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125
-2127
-2129
-212E
-213A 213B
-214A
-214C 214D
-214F
-2195 2199
-219C 219F
-21A1 21A2
-21A4 21A5
-21A7 21AD
-21AF 21CD
-21D0 21D1
-21D3
-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
-3020
-3036 3037
-303E 303F
-3190 3191
-3196 319F
-31C0 31E3
-3200 321E
-322A 3247
-3250
-3260 327F
-328A 32B0
-32C0 32FE
-3300 33FF
-4DC0 4DFF
-A490 A4C6
-A828 A82B
-A836 A837
-A839
-AA77 AA79
-FDFD
-FFE4
-FFE8
-FFED FFEE
-FFFC FFFD
-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
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
+V306
+166
+167
+169
+170
+174
+175
+176
+177
+1154
+1155
+1550
+1552
+1758
+1759
+1769
+1770
+1789
+1791
+2038
+2039
+2554
+2555
+2928
+2929
+3059
+3065
+3066
+3067
+3199
+3200
+3449
+3450
+3841
+3844
+3859
+3860
+3861
+3864
+3866
+3872
+3892
+3893
+3894
+3895
+3896
+3897
+4030
+4038
+4039
+4045
+4046
+4048
+4053
+4057
+4254
+4256
+5008
+5018
+6464
+6465
+6622
+6656
+7009
+7019
+7028
+7037
+8448
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8522
+8523
+8524
+8526
+8527
+8528
+8597
+8602
+8604
+8608
+8609
+8611
+8612
+8614
+8615
+8622
+8623
+8654
+8656
+8658
+8659
+8660
+8661
+8692
+8960
+8968
+8972
+8992
+8994
+9001
+9003
+9084
+9085
+9115
+9140
+9180
+9186
+9204
+9216
+9255
+9280
+9291
+9372
+9450
+9472
+9655
+9656
+9665
+9666
+9720
+9728
+9839
+9840
+9984
+9985
+10088
+10132
+10176
+10240
+10496
+11008
+11056
+11077
+11079
+11088
+11098
+11493
+11499
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12292
+12293
+12306
+12308
+12320
+12321
+12342
+12344
+12350
+12352
+12688
+12690
+12694
+12704
+12736
+12772
+12800
+12831
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+13055
+13056
+13312
+19904
+19968
+42128
+42183
+43048
+43052
+43062
+43064
+43065
+43066
+43639
+43642
+65021
+65022
+65508
+65509
+65512
+65513
+65517
+65519
+65532
+65534
+65847
+65856
+65913
+65930
+65936
+65948
+66000
+66045
+118784
+119030
+119040
+119079
+119081
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119262
+119296
+119362
+119365
+119366
+119552
+119639
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
index 7a58a187ec3..0db609a536b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
@@ -1,21 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020
-00A0
-1680
-180E
-2000 200A
-2028 2029
-202F
-205F
-3000
+V16
+32
+33
+160
+161
+5760
+5761
+8192
+8203
+8232
+8234
+8239
+8240
+8287
+8288
+12288
+12289
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
deleted file mode 100644
index 6f85cb33f4a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2028
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
deleted file mode 100644
index ebd8b34f15c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2029
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
index 19ca553475d..4e27b815a89 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
@@ -1,20 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020
-00A0
-1680
-180E
-2000 200A
-202F
-205F
-3000
+V14
+32
+33
+160
+161
+5760
+5761
+8192
+8203
+8239
+8240
+8287
+8288
+12288
+12289
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
index 882ae462875..48ccbf96cfe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
@@ -1,655 +1,1298 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020 007E
-00A0 00AC
-00AE 02FF
-0370 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0482
-048A 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-05BE
-05C0
-05C3
-05C6
-05D0 05EA
-05F0 05F4
-0606 060F
-061B
-061E 064A
-0660 066F
-0671 06D5
-06DE
-06E5 06E6
-06E9
-06EE 070D
-0710
-0712 072F
-074D 07A5
-07B1
-07C0 07EA
-07F4 07FA
-0800 0815
-081A
-0824
-0828
-0830 083E
-0840 0858
-085E
-08A0
-08A2 08AC
-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
-09BD
-09BF 09C0
-09C7 09C8
-09CB 09CC
-09CE
-09DC 09DD
-09DF 09E1
-09E6 09FB
-0A03
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3E 0A40
-0A59 0A5C
-0A5E
-0A66 0A6F
-0A72 0A74
-0A83
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD 0AC0
-0AC9
-0ACB 0ACC
-0AD0
-0AE0 0AE1
-0AE6 0AF1
-0B02 0B03
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B40
-0B47 0B48
-0B4B 0B4C
-0B5C 0B5D
-0B5F 0B61
-0B66 0B77
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BBF
-0BC1 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0BD0
-0BE6 0BFA
-0C01 0C03
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D3F 0D40
-0D46 0D48
-0D4A 0D4C
-0D4E
-0D60 0D61
-0D66 0D75
-0D79 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DD0 0DD1
-0DD8 0DDE
-0DF2 0DF4
-0E01 0E30
-0E32 0E33
-0E3F 0E46
-0E4F 0E5B
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2 0EB3
-0EBD
-0EC0 0EC4
-0EC6
-0ED0 0ED9
-0EDC 0EDF
-0F00 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F47
-0F49 0F6C
-0F7F
-0F85
-0F88 0F8C
-0FBE 0FC5
-0FC7 0FCC
-0FCE 0FDA
-1000 102C
-1031
-1038
-103B 103C
-103F 1057
-105A 105D
-1061 1070
-1075 1081
-1083 1084
-1087 108C
-108E 109C
-109E 10C5
-10C7
-10CD
-10D0 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
-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
-17C7 17C8
-17D4 17DC
-17E0 17E9
-17F0 17F9
-1800 180A
-180E
-1810 1819
-1820 1877
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1923 1926
-1929 192B
-1930 1931
-1933 1938
-1940
-1944 196D
-1970 1974
-1980 19AB
-19B0 19C9
-19D0 19DA
-19DE 1A16
-1A19 1A1B
-1A1E 1A55
-1A57
-1A61
-1A63 1A64
-1A6D 1A72
-1A80 1A89
-1A90 1A99
-1AA0 1AAD
-1B04 1B33
-1B35
-1B3B
-1B3D 1B41
-1B43 1B4B
-1B50 1B6A
-1B74 1B7C
-1B82 1BA1
-1BA6 1BA7
-1BAA
-1BAC 1BE5
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1BF3
-1BFC 1C2B
-1C34 1C35
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1CF6
-1D00 1DBF
-1E00 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 200A
-2010 2027
-202F 205F
-2070 2071
-2074 208E
-2090 209C
-20A0 20BA
-2100 2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CEE
-2CF2 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2E00 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A66E
-A673
-A67E A697
-A6A0 A6EF
-A6F2 A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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
-AA5C AA7B
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AAEB
-AAEE AAF5
-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 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10857 1085F
-10900 1091B
-1091F 10939
-1093F
-10980 109B7
-109BE 109BF
-10A00
-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
-110D0 110E8
-110F0 110F9
-11103 11126
-1112C
-11136 11143
-11182 111B5
-111BF 111C8
-111D0 111D9
-11680 116AA
-116AC
-116AE 116AF
-116B6
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F93 16F9F
-1B000 1B001
-1D000 1D0F5
-1D100 1D126
-1D129 1D164
-1D166
-1D16A 1D16D
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D1DD
-1D200 1D241
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V1284
+32
+127
+160
+173
+174
+768
+880
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1155
+1162
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1488
+1515
+1520
+1525
+1542
+1552
+1563
+1564
+1566
+1611
+1632
+1648
+1649
+1750
+1758
+1759
+1765
+1767
+1769
+1770
+1774
+1806
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1984
+2027
+2036
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2096
+2111
+2112
+2137
+2142
+2143
+2208
+2209
+2210
+2221
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2424
+2425
+2432
+2434
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2495
+2497
+2503
+2505
+2507
+2509
+2510
+2511
+2524
+2526
+2527
+2530
+2534
+2556
+2563
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2622
+2625
+2649
+2653
+2654
+2655
+2662
+2672
+2674
+2677
+2691
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2753
+2761
+2762
+2763
+2765
+2768
+2769
+2784
+2786
+2790
+2802
+2818
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2880
+2881
+2887
+2889
+2891
+2893
+2908
+2910
+2911
+2914
+2918
+2936
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3007
+3008
+3009
+3011
+3014
+3017
+3018
+3021
+3024
+3025
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3137
+3141
+3160
+3162
+3168
+3170
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3263
+3264
+3266
+3267
+3269
+3271
+3273
+3274
+3276
+3294
+3295
+3296
+3298
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3391
+3393
+3398
+3401
+3402
+3405
+3406
+3407
+3424
+3426
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3536
+3538
+3544
+3551
+3570
+3573
+3585
+3633
+3634
+3636
+3647
+3655
+3663
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3764
+3773
+3774
+3776
+3781
+3782
+3783
+3792
+3802
+3804
+3808
+3840
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3912
+3913
+3949
+3967
+3968
+3973
+3974
+3976
+3981
+4030
+4038
+4039
+4045
+4046
+4059
+4096
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4960
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5941
+5943
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6112
+6122
+6128
+6138
+6144
+6155
+6160
+6170
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6435
+6439
+6441
+6444
+6448
+6450
+6451
+6457
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6679
+6681
+6683
+6686
+6742
+6743
+6744
+6753
+6754
+6755
+6757
+6765
+6771
+6784
+6794
+6800
+6810
+6816
+6830
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+6988
+6992
+7019
+7028
+7037
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7156
+7164
+7212
+7220
+7222
+7227
+7242
+7245
+7296
+7360
+7368
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8203
+8208
+8232
+8239
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11503
+11506
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11776
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12330
+12336
+12352
+12353
+12439
+12443
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42607
+42611
+42612
+42622
+42648
+42656
+42736
+42738
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43052
+43056
+43066
+43072
+43128
+43136
+43204
+43214
+43226
+43250
+43260
+43264
+43302
+43310
+43335
+43346
+43348
+43359
+43389
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43470
+43471
+43482
+43486
+43488
+43520
+43561
+43567
+43569
+43571
+43573
+43584
+43587
+43588
+43596
+43597
+43598
+43600
+43610
+43612
+43644
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43756
+43758
+43766
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44005
+44006
+44008
+44009
+44013
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65040
+65050
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65281
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65532
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66045
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68160
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69633
+69634
+69688
+69703
+69710
+69714
+69744
+69762
+69811
+69815
+69817
+69819
+69821
+69822
+69826
+69840
+69865
+69872
+69882
+69891
+69927
+69932
+69933
+69942
+69956
+70018
+70070
+70079
+70089
+70096
+70106
+71296
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94099
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119141
+119142
+119143
+119146
+119150
+119171
+119173
+119180
+119210
+119214
+119262
+119296
+119362
+119365
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
index e4c468fe037..e6960cba86b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 0046
-0061 0066
-FF10 FF19
-FF21 FF26
-FF41 FF46
+V12
+48
+58
+65
+71
+97
+103
+65296
+65306
+65313
+65319
+65345
+65351
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
index 773b27fab39..35d95b94811 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
@@ -1,18 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 10FF
-1200 A95F
-A97D ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC 10FFFF
+V11
+0
+4352
+4608
+43360
+43389
+44032
+55204
+55216
+55239
+55243
+55292
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
index 7b97de8d251..a1d62d6e254 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
@@ -1,22 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002D
-00AD
-058A
-1806
-2010 2011
-2E17
-30FB
-FE63
-FF0D
-FF65
+V20
+45
+46
+173
+174
+1418
+1419
+6150
+6151
+8208
+8210
+11799
+11800
+12539
+12540
+65123
+65124
+65293
+65294
+65381
+65382
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
index f8c10edcc5f..55620159e84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
@@ -1,576 +1,1142 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-005F
-0061 007A
-00AA
-00B5
-00B7
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0300 0374
-0376 0377
-037A 037D
-0386 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-0483 0487
-048A 0527
-0531 0556
-0559
-0561 0587
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0669
-066E 06D3
-06D5 06DC
-06DF 06E8
-06EA 06FC
-06FF
-0710 074A
-074D 07B1
-07C0 07F5
-07FA
-0800 082D
-0840 085B
-08A0
-08A2 08AC
-08E4 08FE
-0900 0963
-0966 096F
-0971 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 09F1
-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
-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
-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 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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E4E
-0E50 0E59
-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 0EDF
-0F00
-0F18 0F19
-0F20 0F29
-0F35
-0F37
-0F39
-0F3E 0F47
-0F49 0F6C
-0F71 0F84
-0F86 0F97
-0F99 0FBC
-0FC6
-1000 1049
-1050 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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 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 17D3
-17D7
-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
-1B50 1B59
-1B6B 1B73
-1B80 1BF3
-1C00 1C37
-1C40 1C49
-1C4D 1C7D
-1CD0 1CD2
-1CD4 1CF6
-1D00 1DE6
-1DFC 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-203F 2040
-2054
-2071
-207F
-2090 209C
-20D0 20DC
-20E1
-20E5 20F0
-2102
-2107
-210A 2113
-2115
-2118 211D
-2124
-2126
-2128
-212A 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A66F
-A674 A67D
-A67F A697
-A69F A6F1
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A827
-A840 A873
-A880 A8C4
-A8D0 A8D9
-A8E0 A8F7
-A8FB
-A900 A92D
-A930 A953
-A960 A97C
-A980 A9C0
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A AA7B
-AA80 AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABEC ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-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
-102A0 102D0
-10300 1031E
-10330 1034A
-10380 1039D
-103A0 103C3
-103C8 103CF
-103D1 103D5
-10400 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11046
-11066 1106F
-11080 110BA
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 1113F
-11180 111C4
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1B000 1B001
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0100 E01EF
+V1128
+48
+58
+65
+91
+95
+96
+97
+123
+170
+171
+181
+182
+183
+184
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+890
+894
+902
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1160
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1642
+1646
+1748
+1749
+1757
+1759
+1769
+1770
+1789
+1791
+1792
+1808
+1867
+1869
+1970
+1984
+2038
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4170
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4969
+4978
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6155
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6824
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8255
+8257
+8276
+8277
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8413
+8417
+8418
+8421
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42608
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65024
+65040
+65056
+65063
+65075
+65077
+65101
+65104
+65136
+65141
+65142
+65277
+65296
+65306
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
index 52a56bd6efa..1bbb0d8aecf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
@@ -1,500 +1,990 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F2
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32 0E33
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2 0EB3
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2118 211D
-2124
-2126
-2128
-212A 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A67F A697
-A6A0 A6EF
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V976
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1488
+1515
+1520
+1523
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3636
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3764
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12443
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65313
+65339
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
deleted file mode 100644
index cff6a4949a4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2FF0 2FF1
-2FF4 2FFB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
deleted file mode 100644
index 33041e93c1e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2FF2 2FF3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
index a339b8ba20f..fa16f8a7c14 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3006 3007
-3021 3029
-3038 303A
-3400 4DB5
-4E00 9FCC
-F900 FA6D
-FA70 FAD9
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V22
+12294
+12296
+12321
+12330
+12344
+12347
+13312
+19894
+19968
+40909
+63744
+64110
+64112
+64218
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
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 4c68f4c303a..32b8ff0e1dd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
@@ -1,324 +1,638 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 01F5
-01FA 0217
-0250 02A8
-02B0 02DE
-02E0 02E9
-0300 0345
-0360 0361
-0374 0375
-037A
-037E
-0384 038A
-038C
-038E 03A1
-03A3 03CE
-03D0 03D6
-03DA
-03DC
-03DE
-03E0
-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
-05A3 05B9
-05BB 05C4
-05D0 05EA
-05F0 05F4
-060C
-061B
-061F
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F69
-0F71 0F8B
-0F90 0F95
-0F97
-0F99 0FAD
-0FB1 0FB7
-0FB9
-10A0 10C5
-10D0 10F6
-10FB
-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
-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
-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
-2756
-2758 275E
-2761 2767
-2776 2794
-2798 27AF
-27B1 27BE
-3000 3037
-303F
-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
-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
-FEFF
-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
+V624
+0
+502
+506
+536
+592
+681
+688
+735
+736
+746
+768
+838
+864
+866
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+983
+986
+987
+988
+989
+990
+991
+992
+993
+994
+1012
+1025
+1037
+1038
+1104
+1105
+1117
+1118
+1159
+1168
+1221
+1223
+1225
+1227
+1229
+1232
+1260
+1262
+1270
+1272
+1274
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1418
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1619
+1632
+1646
+1648
+1720
+1722
+1727
+1728
+1743
+1744
+1774
+1776
+1786
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3946
+3953
+3980
+3984
+3990
+3991
+3992
+3993
+4014
+4017
+4024
+4025
+4026
+4256
+4294
+4304
+4343
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8239
+8240
+8263
+8298
+8305
+8308
+8335
+8352
+8364
+8400
+8418
+8448
+8505
+8531
+8579
+8592
+8683
+8704
+8946
+8960
+8961
+8962
+9083
+9216
+9253
+9280
+9291
+9312
+9451
+9472
+9622
+9632
+9712
+9728
+9748
+9754
+9840
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10088
+10102
+10133
+10136
+10160
+10161
+10175
+12288
+12344
+12351
+12352
+12353
+12437
+12441
+12447
+12449
+12543
+12549
+12589
+12593
+12687
+12688
+12704
+12800
+12829
+12832
+12868
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+19968
+40870
+44032
+55204
+55296
+64046
+64256
+64263
+64275
+64280
+64286
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65020
+65056
+65060
+65072
+65093
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65375
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65533
+65536
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+983038
+1114112
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 6d7dfbabf32..6636d1c8014 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
@@ -1,324 +1,638 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 01F5
-01FA 0217
-0250 02A8
-02B0 02DE
-02E0 02E9
-0300 0345
-0360 0361
-0374 0375
-037A
-037E
-0384 038A
-038C
-038E 03A1
-03A3 03CE
-03D0 03D6
-03DA
-03DC
-03DE
-03E0
-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
-05A3 05B9
-05BB 05C4
-05D0 05EA
-05F0 05F4
-060C
-061B
-061F
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F69
-0F71 0F8B
-0F90 0F95
-0F97
-0F99 0FAD
-0FB1 0FB7
-0FB9
-10A0 10C5
-10D0 10F6
-10FB
-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
-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
-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
-2756
-2758 275E
-2761 2767
-2776 2794
-2798 27AF
-27B1 27BE
-3000 3037
-303F
-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
-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
-FEFF
-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
+V624
+0
+502
+506
+536
+592
+681
+688
+735
+736
+746
+768
+838
+864
+866
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+983
+986
+987
+988
+989
+990
+991
+992
+993
+994
+1012
+1025
+1037
+1038
+1104
+1105
+1117
+1118
+1159
+1168
+1221
+1223
+1225
+1227
+1229
+1232
+1260
+1262
+1270
+1272
+1274
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1418
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1619
+1632
+1646
+1648
+1720
+1722
+1727
+1728
+1743
+1744
+1774
+1776
+1786
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3946
+3953
+3980
+3984
+3990
+3991
+3992
+3993
+4014
+4017
+4024
+4025
+4026
+4256
+4294
+4304
+4343
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8239
+8240
+8263
+8298
+8305
+8308
+8335
+8352
+8365
+8400
+8418
+8448
+8505
+8531
+8579
+8592
+8683
+8704
+8946
+8960
+8961
+8962
+9083
+9216
+9253
+9280
+9291
+9312
+9451
+9472
+9622
+9632
+9712
+9728
+9748
+9754
+9840
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10088
+10102
+10133
+10136
+10160
+10161
+10175
+12288
+12344
+12351
+12352
+12353
+12437
+12441
+12447
+12449
+12543
+12549
+12589
+12593
+12687
+12688
+12704
+12800
+12829
+12832
+12868
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+19968
+40870
+44032
+55204
+55296
+64046
+64256
+64263
+64275
+64280
+64286
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65020
+65056
+65060
+65072
+65093
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65375
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65532
+65536
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+983038
+1114112
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 64c0428254c..5d27de116db 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
@@ -1,381 +1,752 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 021F
-0222 0233
-0250 02AD
-02B0 02EE
-0300 034E
-0360 0362
-0374 0375
-037A
-037E
-0384 038A
-038C
-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
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F6A
-0F71 0F8B
-0F90 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCF
-1000 1021
-1023 1027
-1029 102A
-102C 1032
-1036 1039
-1040 1059
-10A0 10C5
-10D0 10F6
-10FB
-1100 1159
-115F 11A2
-11A8 11F9
-1200 1206
-1208 1246
-1248
-124A 124D
-1250 1256
-1258
-125A 125D
-1260 1286
-1288
-128A 128D
-1290 12AE
-12B0
-12B2 12B5
-12B8 12BE
-12C0
-12C2 12C5
-12C8 12CE
-12D0 12D6
-12D8 12EE
-12F0 130E
-1310
-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
-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
-2756
-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
-D800 FA2D
-FB00 FB06
-FB13 FB17
-FB1D FB36
-FB38 FB3C
-FB3E
-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
-FEFF
-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
+V738
+0
+544
+546
+564
+592
+686
+688
+751
+768
+847
+864
+867
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+984
+986
+1012
+1024
+1159
+1160
+1162
+1164
+1221
+1223
+1225
+1227
+1229
+1232
+1270
+1272
+1274
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1622
+1632
+1646
+1648
+1774
+1776
+1791
+1792
+1806
+1807
+1837
+1840
+1867
+1920
+1969
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4048
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4343
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4615
+4616
+4679
+4680
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4743
+4744
+4745
+4746
+4750
+4752
+4783
+4784
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4815
+4816
+4823
+4824
+4847
+4848
+4879
+4880
+4881
+4882
+4886
+4888
+4895
+4896
+4935
+4936
+4955
+4961
+4989
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+6016
+6109
+6112
+6122
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8263
+8264
+8270
+8298
+8305
+8308
+8335
+8352
+8368
+8400
+8420
+8448
+8507
+8531
+8580
+8592
+8692
+8704
+8946
+8960
+9084
+9085
+9115
+9216
+9255
+9280
+9291
+9312
+9451
+9472
+9622
+9632
+9720
+9728
+9748
+9753
+9842
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10088
+10102
+10133
+10136
+10160
+10161
+10175
+10240
+10496
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12347
+12350
+12352
+12353
+12437
+12441
+12447
+12449
+12543
+12549
+12589
+12593
+12687
+12688
+12728
+12800
+12829
+12832
+12868
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+13312
+19894
+19968
+40870
+40960
+42125
+42128
+42146
+42148
+42164
+42165
+42177
+42178
+42181
+42182
+42183
+44032
+55204
+55296
+64046
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65020
+65056
+65060
+65072
+65093
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65375
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65536
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+983038
+1114112
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 76787dd5f8c..9ddc0a2d837 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
@@ -1,414 +1,818 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 021F
-0222 0233
-0250 02AD
-02B0 02EE
-0300 034E
-0360 0362
-0374 0375
-037A
-037E
-0384 038A
-038C
-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
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F6A
-0F71 0F8B
-0F90 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCF
-1000 1021
-1023 1027
-1029 102A
-102C 1032
-1036 1039
-1040 1059
-10A0 10C5
-10D0 10F6
-10FB
-1100 1159
-115F 11A2
-11A8 11F9
-1200 1206
-1208 1246
-1248
-124A 124D
-1250 1256
-1258
-125A 125D
-1260 1286
-1288
-128A 128D
-1290 12AE
-12B0
-12B2 12B5
-12B8 12BE
-12C0
-12C2 12C5
-12C8 12CE
-12D0 12D6
-12D8 12EE
-12F0 130E
-1310
-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
-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
-2756
-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
-D800 FA2D
-FB00 FB06
-FB13 FB17
-FB1D FB36
-FB38 FB3C
-FB3E
-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
-FEFF
-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
-1D4A9 1D4AC
-1D4AE 1D4B9
-1D4BB
-1D4BD 1D4C0
-1D4C2 1D4C3
-1D4C5 1D505
-1D507 1D50A
-1D50D 1D514
-1D516 1D51C
-1D51E 1D539
-1D53B 1D53E
-1D540 1D544
-1D546
-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
-EFFFE 10FFFF
+V804
+0
+544
+546
+564
+592
+686
+688
+751
+768
+847
+864
+867
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+984
+986
+1014
+1024
+1159
+1160
+1162
+1164
+1221
+1223
+1225
+1227
+1229
+1232
+1270
+1272
+1274
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1622
+1632
+1646
+1648
+1774
+1776
+1791
+1792
+1806
+1807
+1837
+1840
+1867
+1920
+1969
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4048
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4343
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4615
+4616
+4679
+4680
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4743
+4744
+4745
+4746
+4750
+4752
+4783
+4784
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4815
+4816
+4823
+4824
+4847
+4848
+4879
+4880
+4881
+4882
+4886
+4888
+4895
+4896
+4935
+4936
+4955
+4961
+4989
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+6016
+6109
+6112
+6122
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8263
+8264
+8270
+8298
+8305
+8308
+8335
+8352
+8368
+8400
+8420
+8448
+8507
+8531
+8580
+8592
+8692
+8704
+8946
+8960
+9084
+9085
+9115
+9216
+9255
+9280
+9291
+9312
+9451
+9472
+9622
+9632
+9720
+9728
+9748
+9753
+9842
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10088
+10102
+10133
+10136
+10160
+10161
+10175
+10240
+10496
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12347
+12350
+12352
+12353
+12437
+12441
+12447
+12449
+12543
+12549
+12589
+12593
+12687
+12688
+12728
+12800
+12829
+12832
+12868
+12896
+12924
+12927
+12977
+12992
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+13312
+19894
+19968
+40870
+40960
+42125
+42128
+42146
+42148
+42164
+42165
+42177
+42178
+42181
+42182
+42183
+44032
+55204
+55296
+64046
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65020
+65056
+65060
+65072
+65093
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65279
+65280
+65281
+65375
+65377
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65536
+66304
+66335
+66336
+66340
+66352
+66379
+66560
+66598
+66600
+66638
+118784
+119030
+119040
+119079
+119082
+119262
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120001
+120002
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120484
+120488
+120778
+120782
+120832
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+983038
+1114112
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 9a8b385f6a3..56393d92803 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
@@ -1,409 +1,808 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0220
-0222 0233
-0250 02AD
-02B0 02EE
-0300 034F
-0360 036F
-0374 0375
-037A
-037E
-0384 038A
-038C
-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
-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
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09DC 09DD
-09DF 09E3
-09E6 09FA
-0A02
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-0A66 0A74
-0A81 0A83
-0A85 0A8B
-0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F6A
-0F71 0F8B
-0F90 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCF
-1000 1021
-1023 1027
-1029 102A
-102C 1032
-1036 1039
-1040 1059
-10A0 10C5
-10D0 10F8
-10FB
-1100 1159
-115F 11A2
-11A8 11F9
-1200 1206
-1208 1246
-1248
-124A 124D
-1250 1256
-1258
-125A 125D
-1260 1286
-1288
-128A 128D
-1290 12AE
-12B0
-12B2 12B5
-12B8 12BE
-12C0
-12C2 12C5
-12C8 12CE
-12D0 12D6
-12D8 12EE
-12F0 130E
-1310
-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
-1F80 1FB4
-1FB6 1FC4
-1FC6 1FD3
-1FD6 1FDB
-1FDD 1FEF
-1FF2 1FF4
-1FF6 1FFE
-2000 2052
-2057
-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
-2756
-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
-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
-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
-1D4A9 1D4AC
-1D4AE 1D4B9
-1D4BB
-1D4BD 1D4C0
-1D4C2 1D4C3
-1D4C5 1D505
-1D507 1D50A
-1D50D 1D514
-1D516 1D51C
-1D51E 1D539
-1D53B 1D53E
-1D540 1D544
-1D546
-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
-EFFFE 10FFFF
+V794
+0
+545
+546
+564
+592
+686
+688
+751
+768
+848
+864
+880
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+1015
+1024
+1159
+1160
+1231
+1232
+1270
+1272
+1274
+1280
+1296
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1548
+1549
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1622
+1632
+1774
+1776
+1791
+1792
+1806
+1807
+1837
+1840
+1867
+1920
+1970
+2305
+2308
+2309
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2562
+2563
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2700
+2701
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2785
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2870
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2929
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3059
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4048
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4345
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4615
+4616
+4679
+4680
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4743
+4744
+4745
+4746
+4750
+4752
+4783
+4784
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4815
+4816
+4823
+4824
+4847
+4848
+4879
+4880
+4881
+4882
+4886
+4888
+4895
+4896
+4935
+4936
+4955
+4961
+4989
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6109
+6112
+6122
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8275
+8279
+8280
+8287
+8292
+8298
+8306
+8308
+8335
+8352
+8370
+8400
+8427
+8448
+8507
+8509
+8524
+8531
+8580
+8592
+9167
+9216
+9255
+9280
+9291
+9312
+9471
+9472
+9748
+9750
+9752
+9753
+9854
+9856
+9866
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10192
+10220
+10224
+11008
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12589
+12593
+12687
+12688
+12728
+12784
+12829
+12832
+12868
+12881
+12924
+12927
+13004
+13008
+13055
+13056
+13175
+13179
+13278
+13280
+13311
+13312
+19894
+19968
+40870
+40960
+42125
+42128
+42183
+44032
+55204
+55296
+64046
+64048
+64107
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65021
+65024
+65040
+65056
+65060
+65072
+65095
+65097
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65536
+66304
+66335
+66336
+66340
+66352
+66379
+66560
+66598
+66600
+66638
+118784
+119030
+119040
+119079
+119082
+119262
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120001
+120002
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120484
+120488
+120778
+120782
+120832
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+983038
+1114112
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 3f2278ffefd..7367241baaa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
@@ -1,424 +1,838 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0236
-0250 0357
-035D 036F
-0374 0375
-037A
-037E
-0384 038A
-038C
-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
-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
-09BC 09C4
-09C7 09C8
-09CB 09CD
-09D7
-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
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-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
-0AE6 0AEF
-0AF1
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB5
-0BB7 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 0F6A
-0F71 0F8B
-0F90 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCF
-1000 1021
-1023 1027
-1029 102A
-102C 1032
-1036 1039
-1040 1059
-10A0 10C5
-10D0 10F8
-10FB
-1100 1159
-115F 11A2
-11A8 11F9
-1200 1206
-1208 1246
-1248
-124A 124D
-1250 1256
-1258
-125A 125D
-1260 1286
-1288
-128A 128D
-1290 12AE
-12B0
-12B2 12B5
-12B8 12BE
-12C0
-12C2 12C5
-12C8 12CE
-12D0 12D6
-12D8 12EE
-12F0 130E
-1310
-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
-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
-1F80 1FB4
-1FB6 1FC4
-1FC6 1FD3
-1FD6 1FDB
-1FDD 1FEF
-1FF2 1FF4
-1FF6 1FFE
-2000 2054
-2057
-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
-2756
-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
-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
-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
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F
-1D000 1D0F5
-1D100 1D126
-1D12A 1D1DD
-1D300 1D356
-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 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
-E0100 E01EF
-EFFFE 10FFFF
+V824
+0
+567
+592
+856
+861
+880
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+1020
+1024
+1159
+1160
+1231
+1232
+1270
+1272
+1274
+1280
+1296
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1442
+1443
+1466
+1467
+1477
+1488
+1515
+1520
+1525
+1536
+1540
+1548
+1558
+1563
+1564
+1567
+1568
+1569
+1595
+1600
+1625
+1632
+1806
+1807
+1867
+1869
+1872
+1920
+1970
+2305
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+2998
+2999
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3047
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4048
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4345
+4347
+4348
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4615
+4616
+4679
+4680
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4743
+4744
+4745
+4746
+4750
+4752
+4783
+4784
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4815
+4816
+4823
+4824
+4847
+4848
+4879
+4880
+4881
+4882
+4886
+4888
+4895
+4896
+4935
+4936
+4955
+4961
+4989
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6624
+6656
+7424
+7532
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8277
+8279
+8280
+8287
+8292
+8298
+8306
+8308
+8335
+8352
+8370
+8400
+8427
+8448
+8508
+8509
+8524
+8531
+8580
+8592
+9169
+9216
+9255
+9280
+9291
+9312
+9752
+9753
+9854
+9856
+9874
+9888
+9890
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10192
+10220
+10224
+11022
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12589
+12593
+12687
+12688
+12728
+12784
+12831
+12832
+12868
+12880
+12926
+12927
+13055
+13056
+19894
+19904
+40870
+40960
+42125
+42128
+42183
+44032
+55204
+55296
+64046
+64048
+64107
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65040
+65056
+65060
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65856
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66464
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
+118784
+119030
+119040
+119079
+119082
+119262
+119552
+119639
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120484
+120488
+120778
+120782
+120832
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
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 3ba31d09f8d..4e652f51c54 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
@@ -1,442 +1,874 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0241
-0250 036F
-0374 0375
-037A
-037E
-0384 038A
-038C
-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
-0621 063A
-0640 065E
-0660 070D
-070F 074A
-074D 076D
-0780 07B1
-0901 0939
-093C 094D
-0950 0954
-0958 0970
-097D
-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 09FA
-0A01 0A03
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-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
-0AE6 0AEF
-0AF1
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 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
-1260 1288
-128A 128D
-1290 12B0
-12B2 12B5
-12B8 12BE
-12C0
-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
-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
-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
-2756
-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
-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
-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
-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
-10837 10838
-1083C
-1083F
-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
-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 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
-E0100 E01EF
-EFFFE 10FFFF
+V860
+0
+578
+592
+880
+884
+886
+890
+891
+894
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+1159
+1160
+1231
+1232
+1274
+1280
+1296
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1466
+1467
+1480
+1488
+1515
+1520
+1525
+1536
+1540
+1547
+1558
+1563
+1564
+1566
+1568
+1569
+1595
+1600
+1631
+1632
+1806
+1807
+1867
+1869
+1902
+1920
+1970
+2305
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2429
+2430
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3298
+3302
+3312
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4050
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4349
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4989
+4992
+5018
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6570
+6576
+6602
+6608
+6618
+6622
+6684
+6686
+6688
+7424
+7620
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8292
+8298
+8306
+8308
+8335
+8336
+8341
+8352
+8374
+8400
+8428
+8448
+8525
+8531
+8580
+8592
+9180
+9216
+9255
+9280
+9291
+9312
+9885
+9888
+9906
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10176
+10183
+10192
+10220
+10224
+11028
+11264
+11311
+11312
+11359
+11392
+11499
+11513
+11558
+11568
+11622
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11776
+11800
+11804
+11806
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12589
+12593
+12687
+12688
+12728
+12736
+12752
+12784
+12831
+12832
+12868
+12880
+13055
+13056
+19894
+19904
+40892
+40960
+42125
+42128
+42183
+42752
+42775
+43008
+43052
+44032
+55204
+55296
+64046
+64048
+64107
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65060
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+118784
+119030
+119040
+119079
+119082
+119262
+119296
+119366
+119552
+119639
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120778
+120782
+120832
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
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 4f1cb016db8..bedc4c2b818 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
@@ -1,452 +1,894 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 036F
-0374 0375
-037A 037E
-0384 038A
-038C
-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
-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
-09BC 09C4
-09C7 09C8
-09CB 09CE
-09D7
-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
-0A47 0A48
-0A4B 0A4D
-0A59 0A5C
-0A5E
-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
-0AE6 0AEF
-0AF1
-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
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D28
-0D2A 0D39
-0D3E 0D43
-0D46 0D48
-0D4A 0D4D
-0D57
-0D60 0D61
-0D66 0D6F
-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 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
-1260 1288
-128A 128D
-1290 12B0
-12B2 12B5
-12B8 12BE
-12C0
-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
-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
-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
-2756
-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
-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
-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
-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
-10837 10838
-1083C
-1083F
-10900 10919
-1091F
-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
-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
-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
-E0100 E01EF
-EFFFE 10FFFF
+V880
+0
+880
+884
+886
+890
+895
+900
+907
+908
+909
+910
+930
+931
+975
+976
+1159
+1160
+1300
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1540
+1547
+1558
+1563
+1564
+1566
+1568
+1569
+1595
+1600
+1631
+1632
+1806
+1807
+1867
+1869
+1902
+1920
+1970
+1984
+2043
+2305
+2362
+2364
+2382
+2384
+2389
+2392
+2417
+2427
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2649
+2653
+2654
+2655
+2662
+2677
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2884
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2914
+2918
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3168
+3170
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3390
+3396
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3426
+3430
+3440
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3947
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4047
+4050
+4096
+4130
+4131
+4136
+4137
+4139
+4140
+4147
+4150
+4154
+4160
+4186
+4256
+4294
+4304
+4349
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4989
+4992
+5018
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6314
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6570
+6576
+6602
+6608
+6618
+6622
+6684
+6686
+6688
+6912
+6988
+6992
+7037
+7424
+7627
+7678
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8292
+8298
+8306
+8308
+8335
+8336
+8341
+8352
+8374
+8400
+8432
+8448
+8527
+8531
+8581
+8592
+9192
+9216
+9255
+9280
+9291
+9312
+9885
+9888
+9907
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10176
+10187
+10192
+10220
+10224
+11035
+11040
+11044
+11264
+11311
+11312
+11359
+11360
+11373
+11380
+11384
+11392
+11499
+11513
+11558
+11568
+11622
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11776
+11800
+11804
+11806
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12589
+12593
+12687
+12688
+12728
+12736
+12752
+12784
+12831
+12832
+12868
+12880
+13055
+13056
+19894
+19904
+40892
+40960
+42125
+42128
+42183
+42752
+42779
+42784
+42786
+43008
+43052
+43072
+43128
+44032
+55204
+55296
+64046
+64048
+64107
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65060
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
+67840
+67866
+67871
+67872
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+73728
+74607
+74752
+74851
+74864
+74868
+118784
+119030
+119040
+119079
+119082
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
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 e456cca5548..5e196bb16f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
@@ -1,467 +1,924 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0377
-037A 037E
-0384 038A
-038C
-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
-09BC 09C4
-09C7 09C8
-09CB 09CE
-09D7
-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
-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 0B71
-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 0D28
-0D2A 0D39
-0D3D 0D44
-0D46 0D48
-0D4A 0D4D
-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 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
-1260 1288
-128A 128D
-1290 12B0
-12B2 12B5
-12B8 12BE
-12C0
-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
-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
-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
-2756
-2758 275E
-2761 2794
-2798 27AF
-27B1 27BE
-27C0 27CA
-27CC
-27D0 2B4C
-2B50 2B54
-2C00 2C2E
-2C30 2C5E
-2C60 2C6F
-2C71 2C7D
-2C80 2CEA
-2CF9 2D25
-2D30 2D65
-2D6F
-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
-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
-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
-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
-10900 10919
-1091F 10939
-1093F
-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
-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
-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
-E0100 E01EF
-EFFFE 10FFFF
+V910
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1316
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1540
+1542
+1564
+1566
+1568
+1569
+1631
+1632
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2305
+2362
+2364
+2382
+2384
+2389
+2392
+2419
+2427
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2555
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3389
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3949
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4046
+4053
+4096
+4250
+4254
+4294
+4304
+4349
+4352
+4442
+4447
+4515
+4520
+4602
+4608
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4989
+4992
+5018
+5024
+5109
+5121
+5751
+5760
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6570
+6576
+6602
+6608
+6618
+6622
+6684
+6686
+6688
+6912
+6988
+6992
+7037
+7040
+7083
+7086
+7098
+7168
+7224
+7227
+7242
+7245
+7296
+7424
+7655
+7678
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8298
+8306
+8308
+8335
+8336
+8341
+8352
+8374
+8400
+8433
+8448
+8528
+8531
+8585
+8592
+9192
+9216
+9255
+9280
+9291
+9312
+9886
+9888
+9917
+9920
+9924
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10071
+10072
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10176
+10187
+10188
+10189
+10192
+11085
+11088
+11093
+11264
+11311
+11312
+11359
+11360
+11376
+11377
+11390
+11392
+11499
+11513
+11558
+11568
+11622
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11825
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12728
+12736
+12772
+12784
+12831
+12832
+12868
+12880
+13055
+13056
+19894
+19904
+40900
+40960
+42125
+42128
+42183
+42240
+42540
+42560
+42592
+42594
+42612
+42620
+42648
+42752
+42893
+43003
+43052
+43072
+43128
+43136
+43205
+43214
+43226
+43264
+43348
+43359
+43360
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43616
+44032
+55204
+55296
+64046
+64048
+64107
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
+67840
+67866
+67871
+67898
+67903
+67904
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+73728
+74607
+74752
+74851
+74864
+74868
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126976
+127020
+127024
+127124
+131070
+173783
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
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 9c46e370701..2ceb134cab3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
@@ -1,507 +1,1004 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0377
-037A 037E
-0384 038A
-038C
-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
-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 0B71
-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 0D28
-0D2A 0D39
-0D3D 0D44
-0D46 0D48
-0D4A 0D4D
-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 0F8B
-0F90 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FD8
-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
-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
-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
-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
-2701 2704
-2706 2709
-270C 2727
-2729 274B
-274D
-274F 2752
-2756 275E
-2761 2794
-2798 27AF
-27B1 27BE
-27C0 27CA
-27CC
-27D0 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF1
-2CF9 2D25
-2D30 2D65
-2D6F
-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
-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
-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
-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
-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
-1F100 1F10A
-1F110 1F12E
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E
-1F157
-1F15F
-1F179
-1F17B 1F17C
-1F17F
-1F18A 1F18D
-1F190
-1F200
-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
-E0100 E01EF
-EFFFE 10FFFF
+V990
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1318
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1540
+1542
+1564
+1566
+1568
+1569
+1631
+1632
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2304
+2362
+2364
+2383
+2384
+2390
+2392
+2419
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3369
+3370
+3386
+3389
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3949
+3953
+3980
+3984
+3992
+3993
+4029
+4030
+4045
+4046
+4057
+4096
+4294
+4304
+4349
+4352
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7083
+7086
+7098
+7168
+7224
+7227
+7242
+7245
+7296
+7376
+7411
+7424
+7655
+7677
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8298
+8306
+8308
+8335
+8336
+8341
+8352
+8377
+8400
+8433
+8448
+8586
+8592
+9193
+9216
+9255
+9280
+9291
+9312
+9934
+9935
+9954
+9955
+9956
+9960
+9984
+9985
+9989
+9990
+9994
+9996
+10024
+10025
+10060
+10061
+10062
+10063
+10067
+10070
+10079
+10081
+10133
+10136
+10160
+10161
+10175
+10176
+10187
+10188
+10189
+10192
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11506
+11513
+11558
+11568
+11622
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11826
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12728
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40908
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42592
+42594
+42612
+42620
+42648
+42656
+42744
+42752
+42893
+43003
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43744
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64046
+64048
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69760
+69826
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126976
+127020
+127024
+127124
+127232
+127243
+127248
+127279
+127281
+127282
+127293
+127294
+127295
+127296
+127298
+127299
+127302
+127303
+127306
+127311
+127319
+127320
+127327
+127328
+127353
+127354
+127355
+127357
+127359
+127360
+127370
+127374
+127376
+127377
+127488
+127489
+127504
+127538
+127552
+127561
+131070
+173783
+173824
+177973
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
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
index dd3ad98692c..af04c031dfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
@@ -1,523 +1,1036 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
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
+V1022
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1540
+1542
+1564
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2801
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3806
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4304
+4349
+4352
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7083
+7086
+7098
+7104
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7376
+7411
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8298
+8306
+8308
+8335
+8336
+8349
+8352
+8378
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+10187
+10188
+10189
+10190
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11506
+11513
+11558
+11568
+11622
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11826
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40908
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42612
+42620
+42648
+42656
+42744
+42752
+42895
+42896
+42898
+42912
+42922
+43002
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43744
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64046
+64048
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127338
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128336
+128360
+128507
+128512
+128513
+128529
+128530
+128533
+128534
+128535
+128536
+128537
+128538
+128539
+128540
+128543
+128544
+128550
+128552
+128556
+128557
+128558
+128560
+128564
+128565
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl
index aeed43e9892..7911f18b001 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl
@@ -1,561 +1,1112 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-0591 05C7
-05D0 05EA
-05F0 05F4
-0600 0604
-0606 061B
-061E 070D
-070F 074A
-074D 07B1
-07C0 07FA
-0800 082D
-0830 083E
-0840 085B
-085E
-08A0
-08A2 08AC
-08E4 08FE
-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 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 0EDF
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FDA
-1000 10C5
-10C7
-10CD
-10D0 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 1BF3
-1BFC 1C37
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD0 1CF6
-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 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A697
-A69F A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-D800 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
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 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
+V1098
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1564
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8298
+8306
+8308
+8335
+8336
+8349
+8352
+8378
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl
index 1bfc62cf01d..8a42071b406 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl
@@ -1,561 +1,1112 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-0591 05C7
-05D0 05EA
-05F0 05F4
-0600 0604
-0606 061B
-061E 070D
-070F 074A
-074D 07B1
-07C0 07FA
-0800 082D
-0830 083E
-0840 085B
-085E
-08A0
-08A2 08AC
-08E4 08FE
-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 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 0EDF
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FDA
-1000 10C5
-10C7
-10CD
-10D0 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 1BF3
-1BFC 1C37
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD0 1CF6
-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 20BA
-20D0 20F0
-2100 2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A697
-A69F A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-D800 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
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 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
+V1098
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1564
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8298
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_3.pl
new file mode 100644
index 00000000000..9eb001975fe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_3.pl
@@ -0,0 +1,1112 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V1098
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+64976
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131070
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+917505
+917506
+917536
+917632
+917760
+918000
+983038
+1114112
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
index 0ef29161e93..80c3a89ffea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0639 063A
-06A0
-06FC
-075D 075F
+V8
+1593
+1595
+1696
+1697
+1788
+1789
+1885
+1888
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
deleted file mode 100644
index 5d337419fdd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0710
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
index 5bc9ba880e6..39c87422458 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0622 0623
-0625
-0627
-0671 0673
-0675
-0773 0774
+V12
+1570
+1572
+1573
+1574
+1575
+1576
+1649
+1652
+1653
+1654
+1907
+1909
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
index e1640c6e042..1d221f690e2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0628
-062A 062B
-066E
-0679 0680
-0750 0756
-08A0
+V12
+1576
+1577
+1578
+1580
+1646
+1647
+1657
+1665
+1872
+1879
+2208
+2209
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
deleted file mode 100644
index be7b72c6910..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0712
-072D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
deleted file mode 100644
index f264b2555a5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 4a22e118ae9..397eb072121 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-062F 0630
-0688 0690
-06EE
-0759 075A
+V8
+1583
+1585
+1672
+1681
+1774
+1775
+1881
+1883
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
deleted file mode 100644
index e633d927334..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index d11392e9dfb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0725
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
index a8ce72d2fcc..acfa6d27ff4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-063D 063F
-06CC
-06CE
-0775 0776
+V8
+1597
+1600
+1740
+1741
+1742
+1743
+1909
+1911
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
deleted file mode 100644
index b95b1c48468..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-074F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
index fb39f93d3ab..936187b9876 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0641
-06A1 06A6
-0760 0761
-08A4
+V8
+1601
+1602
+1697
+1703
+1888
+1890
+2212
+2213
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
deleted file mode 100644
index d82ca755272..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0724
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
index 4b7b7d53518..1b7e98df73b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-063B 063C
-06A9
-06AB
-06AF 06B4
-0762 0764
+V10
+1595
+1597
+1705
+1706
+1707
+1708
+1711
+1717
+1890
+1893
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
deleted file mode 100644
index 01f6e0f2412..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 4074eb15dde..f0c3f54dc4d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-062C 062E
-0681 0687
-06BF
-0757 0758
-076E 076F
-0772
-077C
-08A2
+V16
+1580
+1583
+1665
+1672
+1727
+1728
+1879
+1881
+1902
+1904
+1906
+1907
+1916
+1917
+2210
+2211
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 5b959a0d0ff..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/He.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
deleted file mode 100644
index 5e8eaef3e4a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0717
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
deleted file mode 100644
index 80675432d51..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0647
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
deleted file mode 100644
index b5a642637e5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 1ed2d42b8cd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-071A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
deleted file mode 100644
index efefd53620c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0643
-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
deleted file mode 100644
index 8e70c8d856d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-071F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
deleted file mode 100644
index 6e16151b950..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-074E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
deleted file mode 100644
index c262c7c0a86..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-06BE
-06FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
index f831873421c..1326ba9b88e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0644
-06B5 06B8
-076A
-08A6
+V8
+1604
+1605
+1717
+1721
+1898
+1899
+2214
+2215
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
deleted file mode 100644
index 77f56477727..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0720
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
deleted file mode 100644
index e6d829a89c9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0645
-0765 0766
-08A7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
deleted file mode 100644
index 096673b5210..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0721
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
index 7fb4fd46e39..d533863e921 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
@@ -1,28 +1,45 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 061F
-0621
-0640
-064B 066D
-0670
-0674
-06D4
-06D6 06ED
-06F0 06F9
-06FD 06FE
-0700 070F
-0711
-0730 074C
-0780 089F
-08A1
-08AD 10FFFF
+V31
+0
+1568
+1569
+1570
+1600
+1601
+1611
+1646
+1648
+1649
+1652
+1653
+1748
+1749
+1750
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1920
+2208
+2209
+2210
+2221
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
deleted file mode 100644
index 4630061fb4a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0646
-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
deleted file mode 100644
index c9291477209..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0722
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
deleted file mode 100644
index ea6ee7bc74b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-06BD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
deleted file mode 100644
index 4b93bd12a37..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0726
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
index 913c5efb0f9..116026b1854 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0642
-066F
-06A7 06A8
-08A5
+V8
+1602
+1603
+1647
+1648
+1703
+1705
+2213
+2214
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
deleted file mode 100644
index 823e5563c79..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0729
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
index e0fed57d2af..d25d0a42491 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0631 0632
-0691 0699
-06EF
-075B
-076B 076C
-0771
-08AA
+V14
+1585
+1587
+1681
+1690
+1775
+1776
+1883
+1884
+1899
+1901
+1905
+1906
+2218
+2219
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
deleted file mode 100644
index cec1fb655fd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0727
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl
deleted file mode 100644
index b22f710b06d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-08AC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
deleted file mode 100644
index 9d44796bb5d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ac785bda37f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0728
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
index 20af952cb5c..4033a38d441 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0633 0634
-069A 069C
-06FA
-075C
-076D
-0770
-077D 077E
+V14
+1587
+1589
+1690
+1693
+1786
+1787
+1884
+1885
+1901
+1902
+1904
+1905
+1917
+1919
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
deleted file mode 100644
index e70cf018cae..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0723
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
deleted file mode 100644
index 639beb1a375..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-072B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
deleted file mode 100644
index 0914058b98c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-06AA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
deleted file mode 100644
index aefc3e692b8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0718
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
deleted file mode 100644
index 20fc2b60b4f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0637 0638
-069F
-08A3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
deleted file mode 100644
index 5a7f819d34f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-072C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
deleted file mode 100644
index 437b5a7cc3e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0629
-06C0
-06D5
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
deleted file mode 100644
index f3bc41d429c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 174e31139e6..1f2f84e2f04 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0624
-0648
-0676 0677
-06C4 06CB
-06CF
-0778 0779
-08AB
+V14
+1572
+1573
+1608
+1609
+1654
+1656
+1732
+1740
+1743
+1744
+1912
+1914
+2219
+2220
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
index 236c6af8591..c38bad0e1c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0620
-0626
-0649 064A
-0678
-06D0 06D1
-0777
-08A8 08A9
+V14
+1568
+1569
+1574
+1575
+1609
+1611
+1656
+1657
+1744
+1746
+1911
+1912
+2216
+2218
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
deleted file mode 100644
index 7dce5b05618..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 2fcbd59330c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-06CD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
deleted file mode 100644
index 66e18666b64..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-071D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
deleted file mode 100644
index 0d4becdaac9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-071E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
deleted file mode 100644
index 5373554eab0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0719
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
deleted file mode 100644
index 24b555dd092..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-074D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
deleted file mode 100644
index 96e597adffc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 2450adc1211..429611bd6c6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
@@ -1,15 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0640
-07FA
-200D
+V8
+1600
+1601
+2042
+2043
+6154
+6155
+8205
+8206
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
index 3842632b8d6..3c7d52f673c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
@@ -1,48 +1,96 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0620
-0626
-0628
-062A 062E
-0633 063F
-0641 0647
-0649 064A
-066E 066F
-0678 0687
-069A 06BF
-06C1 06C2
-06CC
-06CE
-06D0 06D1
-06FA 06FC
-06FF
-0712 0714
-071A 071D
-071F 0727
-0729
-072B
-072D 072E
-074E 0758
-075C 076A
-076D 0770
-0772
-0775 0777
-077A 077F
-07CA 07EA
-0841 0845
-0847 0848
-084A 084E
-0850 0853
-0855
-08A0
-08A2 08A9
+V82
+1568
+1569
+1574
+1575
+1576
+1577
+1578
+1583
+1587
+1600
+1601
+1608
+1609
+1611
+1646
+1648
+1656
+1672
+1690
+1728
+1729
+1731
+1740
+1741
+1742
+1743
+1744
+1746
+1786
+1789
+1791
+1792
+1810
+1813
+1818
+1822
+1823
+1832
+1833
+1834
+1835
+1836
+1837
+1839
+1870
+1881
+1884
+1899
+1901
+1905
+1906
+1907
+1909
+1912
+1914
+1920
+1994
+2027
+2113
+2118
+2119
+2121
+2122
+2127
+2128
+2132
+2133
+2134
+2208
+2209
+2210
+2218
+6151
+6152
+6176
+6264
+6279
+6313
+6314
+6315
+43072
+43122
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
index ff1b2057e1d..b23ff310999 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
@@ -1,46 +1,82 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0622 0625
-0627
-0629
-062F 0632
-0648
-0671 0673
-0675 0677
-0688 0699
-06C0
-06C3 06CB
-06CD
-06CF
-06D2 06D3
-06D5
-06EE 06EF
-0710
-0715 0719
-071E
-0728
-072A
-072C
-072F
-074D
-0759 075B
-076B 076C
-0771
-0773 0774
-0778 0779
-0840
-0846
-0849
-084F
-0854
-08AA 08AC
+V68
+1570
+1574
+1575
+1576
+1577
+1578
+1583
+1587
+1608
+1609
+1649
+1652
+1653
+1656
+1672
+1690
+1728
+1729
+1731
+1740
+1741
+1742
+1743
+1744
+1746
+1748
+1749
+1750
+1774
+1776
+1808
+1809
+1813
+1818
+1822
+1823
+1832
+1833
+1834
+1835
+1836
+1837
+1839
+1840
+1869
+1870
+1881
+1884
+1899
+1901
+1905
+1906
+1907
+1909
+1912
+1914
+2112
+2113
+2118
+2119
+2121
+2122
+2127
+2128
+2132
+2133
+2218
+2221
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
index 98f1164a0df..287fc0d007d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
@@ -1,242 +1,478 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AD
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-070F
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0981
-09BC
-09C1 09C4
-09CD
-09E2 09E3
-0A01 0A02
-0A3C
-0A41 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A82
-0ABC
-0AC1 0AC5
-0AC7 0AC8
-0ACD
-0AE2 0AE3
-0B01
-0B3C
-0B3F
-0B41 0B44
-0B4D
-0B56
-0B62 0B63
-0B82
-0BC0
-0BCD
-0C3E 0C40
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0CBC
-0CBF
-0CC6
-0CCC 0CCD
-0CE2 0CE3
-0D41 0D44
-0D4D
-0D62 0D63
-0DCA
-0DD2 0DD4
-0DD6
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17DD
-180B 180D
-18A9
-1920 1922
-1927 1928
-1932
-1939 193B
-1A17 1A18
-1A56
-1A58 1A5E
-1A60
-1A62
-1A65 1A6C
-1A73 1A7C
-1A7F
-1B00 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B6B 1B73
-1B80 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1C2C 1C33
-1C36 1C37
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1DC0 1DE6
-1DFC 1DFF
-200B
-200E 200F
-202A 202E
-2060 2064
-206A 206F
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302D
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A825 A826
-A8C4
-A8E0 A8F1
-A926 A92D
-A947 A951
-A980 A982
-A9B3
-A9B6 A9B9
-A9BC
-AA29 AA2E
-AA31 AA32
-AA35 AA36
-AA43
-AA4C
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEC AAED
-AAF6
-ABE5
-ABE8
-ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-FEFF
-FFF9 FFFB
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11001
-11038 11046
-11080 11081
-110B3 110B6
-110B9 110BA
-110BD
-11100 11102
-11127 1112B
-1112D 11134
-11180 11181
-111B6 111BE
-116AB
-116AD
-116B0 116B5
-116B7
-16F8F 16F92
-1D167 1D169
-1D173 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0001
-E0020 E007F
-E0100 E01EF
+V464
+173
+174
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1564
+1565
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1807
+1808
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3263
+3264
+3270
+3271
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8203
+8204
+8206
+8208
+8234
+8239
+8288
+8293
+8298
+8304
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12334
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65279
+65280
+65529
+65532
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69821
+69822
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119143
+119146
+119155
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
index f200acecc95..e29d33b9de9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
@@ -1,250 +1,499 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 00AC
-00AE 02FF
-0370 0482
-048A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 060F
-061B 061F
-0621
-0660 066D
-0674
-06D4
-06DD 06DE
-06E5 06E6
-06E9
-06F0 06F9
-06FD 06FE
-0700 070E
-074B 074C
-0780 07A5
-07B1 07C9
-07F4 07F9
-07FB 0815
-081A
-0824
-0828
-082E 083F
-0856 0858
-085C 089F
-08A1
-08AD 08E3
-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
-0ACE 0AE1
-0AE4 0B00
-0B02 0B3B
-0B3D 0B3E
-0B40
-0B45 0B4C
-0B4E 0B55
-0B57 0B61
-0B64 0B81
-0B83 0BBF
-0BC1 0BCC
-0BCE 0C3D
-0C41 0C45
-0C49
-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
-0E32 0E33
-0E3B 0E46
-0E4F 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0EC7
-0ECE 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F70
-0F7F
-0F85
-0F88 0F8C
-0F98
-0FBD 0FC5
-0FC7 102C
-1031
-1038
-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
-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
-1A6D 1A72
-1A7D 1A7E
-1A80 1AFF
-1B04 1B33
-1B35
-1B3B
-1B3D 1B41
-1B43 1B6A
-1B74 1B7F
-1B82 1BA1
-1BA6 1BA7
-1BAA
-1BAC 1BE5
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1C2B
-1C34 1C35
-1C38 1CCF
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1DBF
-1DE7 1DFB
-1E00 200A
-200C
-2010 2029
-202F 205F
-2065 2069
-2070 20CF
-20F1 2CEE
-2CF2 2D7E
-2D80 2DDF
-2E00 3029
-302E 3098
-309B A66E
-A673
-A67E A69E
-A6A0 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
-AAB9 AABD
-AAC0
-AAC2 AAEB
-AAEE AAF5
-AAF7 ABE4
-ABE6 ABE7
-ABE9 ABEC
-ABEE FB1D
-FB1F FDFF
-FE10 FE1F
-FE27 FEFE
-FF00 FFF8
-FFFC 101FC
-101FE 10A00
-10A04
-10A07 10A0B
-10A10 10A37
-10A3B 10A3E
-10A40 11000
-11002 11037
-11047 1107F
-11082 110B2
-110B7 110B8
-110BB 110BC
-110BE 110FF
-11103 11126
-1112C
-11135 1117F
-11182 111B5
-111BF 116AA
-116AC
-116AE 116AF
-116B6
-116B8 16F8E
-16F93 1D166
-1D16A 1D172
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+V485
+0
+173
+174
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1564
+1565
+1568
+1569
+1570
+1632
+1646
+1652
+1653
+1748
+1749
+1757
+1759
+1765
+1767
+1769
+1770
+1776
+1786
+1789
+1791
+1792
+1807
+1867
+1869
+1920
+1958
+1969
+1994
+2036
+2042
+2043
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2112
+2134
+2137
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2307
+2362
+2363
+2364
+2365
+2369
+2377
+2381
+2382
+2385
+2392
+2402
+2404
+2433
+2434
+2492
+2493
+2497
+2501
+2509
+2510
+2530
+2532
+2561
+2563
+2620
+2621
+2625
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2691
+2748
+2749
+2753
+2758
+2759
+2761
+2765
+2766
+2786
+2788
+2817
+2818
+2876
+2877
+2879
+2880
+2881
+2885
+2893
+2894
+2902
+2903
+2914
+2916
+2946
+2947
+3008
+3009
+3021
+3022
+3134
+3137
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3260
+3261
+3263
+3264
+3270
+3271
+3276
+3278
+3298
+3300
+3393
+3397
+3405
+3406
+3426
+3428
+3530
+3531
+3538
+3541
+3542
+3543
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4145
+4146
+4152
+4153
+4155
+4157
+4159
+4184
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4229
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6070
+6071
+6078
+6086
+6087
+6089
+6100
+6109
+6110
+6151
+6152
+6154
+6158
+6176
+6264
+6279
+6315
+6432
+6435
+6439
+6441
+6450
+6451
+6457
+6460
+6679
+6681
+6683
+6684
+6742
+6743
+6744
+6751
+6752
+6753
+6754
+6755
+6757
+6765
+6771
+6781
+6783
+6784
+6912
+6916
+6964
+6965
+6966
+6971
+6972
+6973
+6978
+6979
+7019
+7028
+7040
+7042
+7074
+7078
+7080
+7082
+7083
+7084
+7142
+7143
+7144
+7146
+7149
+7150
+7151
+7154
+7212
+7220
+7222
+7224
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8203
+8204
+8205
+8208
+8234
+8239
+8288
+8293
+8298
+8304
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12334
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43045
+43047
+43072
+43123
+43204
+43205
+43232
+43250
+43302
+43310
+43335
+43346
+43392
+43395
+43443
+43444
+43446
+43450
+43452
+43453
+43561
+43567
+43569
+43571
+43573
+43575
+43587
+43588
+43596
+43597
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43756
+43758
+43766
+43767
+44005
+44006
+44008
+44009
+44013
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65279
+65280
+65529
+65532
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69633
+69634
+69688
+69703
+69760
+69762
+69811
+69815
+69817
+69819
+69821
+69822
+69888
+69891
+69927
+69932
+69933
+69941
+70016
+70018
+70070
+70079
+71339
+71340
+71341
+71342
+71344
+71350
+71351
+71352
+94095
+94099
+119143
+119146
+119155
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl
index 84f62988aa9..10b0e0cd897 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0E40 0E44
-0EC0 0EC4
-AAB5 AAB6
-AAB9
-AABB AABC
+V10
+3648
+3653
+3776
+3781
+43701
+43703
+43705
+43706
+43707
+43709
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
index 530800fe0a1..ff750e6fbaf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
@@ -1,121 +1,232 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A7 00A8
-00AA
-00B2 00B3
-00B6 00BA
-00BC 00BE
-00D7
-00F7
-02C7
-02C9 02CB
-02CD
-02D0
-02D8 02DB
-02DD
-2015 2016
-2020 2021
-203B
-2074
-207F
-2081 2084
-2105
-2113
-2121 2122
-212B
-2154 2155
-215B
-215E
-2160 216B
-2170 2179
-2189
-2190 2199
-21D2
-21D4
-2200
-2202 2203
-2207 2208
-220B
-220F
-2211
-2215
-221A
-221D 2220
-2223
-2225
-2227 222C
-222E
-2234 2237
-223C 223D
-2248
-224C
-2252
-2260 2261
-2264 2267
-226A 226B
-226E 226F
-2282 2283
-2286 2287
-2295
-2299
-22A5
-22BF
-2312
-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
-25E2 25E5
-25EF
-2605 2606
-2609
-260E 260F
-2616 2617
-2640
-2642
-2660 2661
-2663 2665
-2667
-2669 266A
-266C 266D
-266F
-269E 269F
-26C9 26CC
-26D2
-26D5 26D7
-26DA 26DB
-26DD 26DE
-26E3
-26E8 26E9
-26EB 26F0
-26F6
-26FB 26FC
-2757
-2776 2793
-2B55 2B59
-3248 324F
-FFFD
-1F100 1F10A
-1F110 1F12D
-1F130 1F169
-1F170 1F19A
+V218
+167
+169
+170
+171
+178
+180
+182
+187
+188
+191
+215
+216
+247
+248
+711
+712
+713
+716
+717
+718
+720
+721
+728
+732
+733
+734
+8213
+8215
+8224
+8226
+8251
+8252
+8308
+8309
+8319
+8320
+8321
+8325
+8453
+8454
+8467
+8468
+8481
+8483
+8491
+8492
+8532
+8534
+8539
+8540
+8542
+8543
+8544
+8556
+8560
+8570
+8585
+8586
+8592
+8602
+8658
+8659
+8660
+8661
+8704
+8705
+8706
+8708
+8711
+8713
+8715
+8716
+8719
+8720
+8721
+8722
+8725
+8726
+8730
+8731
+8733
+8737
+8739
+8740
+8741
+8742
+8743
+8749
+8750
+8751
+8756
+8760
+8764
+8766
+8776
+8777
+8780
+8781
+8786
+8787
+8800
+8802
+8804
+8808
+8810
+8812
+8814
+8816
+8834
+8836
+8838
+8840
+8853
+8854
+8857
+8858
+8869
+8870
+8895
+8896
+8978
+8979
+9312
+9471
+9472
+9548
+9552
+9589
+9600
+9616
+9618
+9622
+9632
+9634
+9635
+9642
+9650
+9652
+9654
+9656
+9660
+9662
+9664
+9666
+9670
+9673
+9675
+9676
+9678
+9682
+9698
+9702
+9711
+9712
+9733
+9735
+9737
+9738
+9742
+9744
+9750
+9752
+9792
+9793
+9794
+9795
+9824
+9826
+9827
+9830
+9831
+9832
+9833
+9835
+9836
+9838
+9839
+9840
+9886
+9888
+9929
+9933
+9938
+9939
+9941
+9944
+9946
+9948
+9949
+9951
+9955
+9956
+9960
+9962
+9963
+9969
+9974
+9975
+9979
+9981
+10071
+10072
+10102
+10132
+11093
+11098
+12872
+12880
+65533
+65534
+127232
+127243
+127248
+127278
+127280
+127338
+127344
+127387
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
index 75498ae85cd..463b4cdcdbc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
@@ -1,608 +1,1206 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0023
-0026
-002A
-003C 003E
-0040 005A
-005E 007A
-007E
-00A6
-00A9
-00AC
-00AE 00AF
-00B5
-00C0 00D6
-00D8 00F6
-00F8 02C6
-02CE 02CF
-02D1 02D7
-02DC
-02DE
-02E0 02FF
-0370 0377
-037A 037D
-0384 038A
-038C
-038E 03A1
-03A3 0482
-048A 0527
-0531 0556
-0559 055F
-0561 0587
-05C0
-05C3
-05F3 05F4
-0600 0604
-0606 0608
-060E 060F
-0620 064A
-066D 066F
-0671 06D3
-06D5
-06DD 06DE
-06E5 06E6
-06E9
-06EE 06EF
-06FA 070D
-070F 0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F7
-07FA
-0800 0815
-081A
-0824
-0828
-0830 083E
-0840 0858
-085E
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0970 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-09DC 09DD
-09DF 09E1
-09F0 09F1
-09F4 09F8
-09FA
-0A05 0A0A
-0A0F 0A10
-0A13 0A28
-0A2A 0A30
-0A32 0A33
-0A35 0A36
-0A38 0A39
-0A59 0A5C
-0A5E
-0A72 0A74
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0AF0
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B70 0B77
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0BF0 0BF8
-0BFA
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C78 0C7F
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D70 0D75
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DF4
-0E4F
-0F00
-0F05
-0F13
-0F15 0F17
-0F1A 0F1F
-0F2A 0F33
-0F36
-0F38
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-0FC0 0FC5
-0FC7 0FCC
-0FCE 0FCF
-0FD4 0FD8
-104C 104F
-10A0 10C5
-10C7
-10CD
-10D0 10FF
-1200 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
-1360
-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
-1800 1801
-1807
-180A
-1820 1877
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1940
-19E0 1A16
-1A1E 1A1F
-1B05 1B33
-1B45 1B4B
-1B5C
-1B61 1B6A
-1B74 1B7C
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1BFC 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CC0 1CC7
-1CD3
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 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 1FFC
-1FFE
-2017
-2022 2023
-2038
-203E 2043
-204A 2055
-2057
-205C
-2061 2064
-2070 2071
-2075 207C
-2080
-2085 208C
-2090 209C
-2100 2102
-2104
-2106 2108
-210A 2112
-2114 2115
-2117 2120
-2123 212A
-212C 2153
-2156 215A
-215C 215D
-215F
-216C 216F
-217A 2188
-219A 21D1
-21D3
-21D5 21FF
-2201
-2204 2206
-2209 220A
-220C 220E
-2210
-2214
-2216 2219
-221B 221C
-2221 2222
-2224
-2226
-222D
-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 2319
-231C 2328
-232B 23EF
-2400 2426
-2440 244A
-24FF
-254C 254F
-2575 257F
-2590 2591
-2596 259F
-25A2
-25AA 25B1
-25B4 25B5
-25B8 25BB
-25BE 25BF
-25C2 25C5
-25C9 25CA
-25CC 25CD
-25D2 25E1
-25E6 25EE
-25F0 25FF
-2604
-2607 2608
-260A 260D
-2610 2613
-2619
-2620 2638
-263C 263F
-2641
-2643 265F
-2662
-2666
-266B
-266E
-2670 267E
-2680 269D
-26A0 26BC
-26CE
-26E2
-26E4 26E7
-2705 2707
-270E 2756
-2758 275A
-275F 2761
-2764 2767
-2794 27C4
-27C7 27E5
-27F0 2982
-2999 29D7
-29DC 29FB
-29FE 2B4C
-2B50 2B54
-2C00 2C2E
-2C30 2C5E
-2C60 2CEE
-2CF2 2CF3
-2CFD
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2E16
-2E1A 2E1B
-2E1E 2E1F
-2E2F
-2E32
-2E35 2E39
-4DC0 4DFF
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A673
-A67E A697
-A6A0 A6EF
-A6F2
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A828 A82B
-A830 A837
-A839
-A840 A873
-A882 A8B3
-A8F2 A8FB
-A90A A925
-A930 A946
-A95F
-A984 A9B2
-A9C1 A9C6
-A9CA A9CD
-A9CF
-A9DE A9DF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA5C
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-FB00 FB06
-FB13 FB17
-FB29
-FB50 FBC1
-FBD3 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDFB
-FDFD
-FE70 FE74
-FE76 FEFC
-FF66
-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
-10837 10838
-1083C
-1083F 10855
-10858 1085F
-10900 1091B
-10920 10939
-1093F
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A40 10A47
-10A58
-10A60 10A7F
-10B00 10B35
-10B40 10B55
-10B58 10B72
-10B78 10B7F
-10C00 10C48
-10E60 10E7E
-11003 11037
-11049 1104D
-11052 11065
-11083 110AF
-110BB 110BD
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-111C7
-11680 116AA
-12000 1236E
-12400 12462
-13000 13257
-1325E 13281
-13283 13285
-1328A 13378
-1337C 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1D000 1D0F5
-1D100 1D126
-1D129 1D164
-1D16A 1D16C
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D1DD
-1D200 1D241
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F12E
-1F16A 1F16B
-1F3B5 1F3B6
-1F3BC
-1F4A0
-1F4A2
-1F4A4
-1F4AF
-1F4B1 1F4B2
-1F500 1F506
-1F517 1F524
-1F532 1F53D
-1F540 1F543
-1F700 1F773
+V1192
+35
+36
+38
+39
+42
+43
+60
+63
+64
+91
+94
+123
+126
+127
+166
+167
+169
+170
+172
+173
+174
+176
+181
+182
+192
+215
+216
+247
+248
+711
+718
+720
+721
+728
+732
+733
+734
+735
+736
+768
+880
+888
+890
+894
+900
+907
+908
+909
+910
+930
+931
+1155
+1162
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1472
+1473
+1475
+1476
+1523
+1525
+1536
+1541
+1542
+1545
+1550
+1552
+1568
+1611
+1645
+1648
+1649
+1748
+1749
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1776
+1786
+1806
+1807
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2040
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2096
+2111
+2112
+2137
+2142
+2143
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2416
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2548
+2553
+2554
+2555
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2800
+2801
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2928
+2936
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3056
+3065
+3066
+3067
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3192
+3200
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3440
+3446
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3572
+3573
+3663
+3664
+3840
+3841
+3845
+3846
+3859
+3860
+3861
+3864
+3866
+3872
+3882
+3892
+3894
+3895
+3896
+3897
+3904
+3912
+3913
+3949
+3976
+3981
+4032
+4038
+4039
+4045
+4046
+4048
+4052
+4057
+4172
+4176
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4352
+4608
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4960
+4961
+4962
+4989
+4992
+5018
+5024
+5109
+5121
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6105
+6106
+6128
+6138
+6144
+6146
+6151
+6152
+6154
+6155
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6464
+6465
+6624
+6679
+6686
+6688
+6917
+6964
+6981
+6988
+7004
+7005
+7009
+7019
+7028
+7037
+7043
+7073
+7086
+7088
+7098
+7142
+7164
+7204
+7245
+7248
+7258
+7294
+7360
+7368
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8189
+8190
+8191
+8215
+8216
+8226
+8228
+8248
+8249
+8254
+8260
+8266
+8278
+8279
+8280
+8284
+8285
+8289
+8293
+8304
+8306
+8309
+8317
+8320
+8321
+8325
+8333
+8336
+8349
+8448
+8451
+8452
+8453
+8454
+8457
+8458
+8467
+8468
+8470
+8471
+8481
+8483
+8491
+8492
+8532
+8534
+8539
+8540
+8542
+8543
+8544
+8556
+8560
+8570
+8585
+8602
+8658
+8659
+8660
+8661
+8704
+8705
+8706
+8708
+8711
+8713
+8715
+8716
+8719
+8720
+8721
+8724
+8725
+8726
+8730
+8731
+8733
+8737
+8739
+8740
+8741
+8742
+8743
+8749
+8750
+8751
+8756
+8760
+8764
+8766
+8776
+8777
+8780
+8781
+8786
+8787
+8800
+8802
+8804
+8808
+8810
+8812
+8814
+8816
+8834
+8836
+8838
+8840
+8853
+8854
+8857
+8858
+8869
+8870
+8895
+8896
+8978
+8979
+8986
+8988
+9001
+9003
+9200
+9216
+9255
+9280
+9291
+9471
+9472
+9548
+9552
+9589
+9600
+9616
+9618
+9622
+9632
+9634
+9635
+9642
+9650
+9652
+9654
+9656
+9660
+9662
+9664
+9666
+9670
+9673
+9675
+9676
+9678
+9682
+9698
+9702
+9711
+9712
+9728
+9732
+9733
+9735
+9737
+9738
+9742
+9744
+9748
+9753
+9754
+9760
+9785
+9788
+9792
+9793
+9794
+9795
+9824
+9826
+9827
+9830
+9831
+9835
+9836
+9838
+9839
+9840
+9855
+9856
+9886
+9888
+9917
+9934
+9935
+9954
+9955
+9956
+9960
+9989
+9992
+9998
+10071
+10072
+10075
+10079
+10082
+10084
+10088
+10132
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11085
+11088
+11093
+11264
+11311
+11312
+11359
+11360
+11503
+11506
+11508
+11517
+11518
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11798
+11799
+11802
+11804
+11806
+11808
+11823
+11824
+11826
+11827
+11829
+11834
+19904
+19968
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42611
+42612
+42622
+42648
+42656
+42736
+42738
+42739
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43052
+43056
+43064
+43065
+43066
+43072
+43124
+43138
+43188
+43250
+43260
+43274
+43302
+43312
+43335
+43359
+43360
+43396
+43443
+43457
+43463
+43466
+43470
+43471
+43472
+43486
+43488
+43520
+43561
+43584
+43587
+43588
+43596
+43612
+43613
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+64256
+64263
+64275
+64280
+64297
+64298
+64336
+64450
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65021
+65022
+65136
+65141
+65142
+65277
+65382
+65383
+65393
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65512
+65519
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66045
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67672
+67680
+67840
+67868
+67872
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68160
+68168
+68184
+68185
+68192
+68224
+68352
+68406
+68416
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69635
+69688
+69705
+69710
+69714
+69734
+69763
+69808
+69819
+69822
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+70087
+70088
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78424
+78430
+78466
+78467
+78470
+78474
+78713
+78716
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+118784
+119030
+119040
+119079
+119081
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119262
+119296
+119362
+119365
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+127278
+127279
+127338
+127340
+127925
+127927
+127932
+127933
+128160
+128161
+128162
+128163
+128164
+128165
+128175
+128176
+128177
+128179
+128256
+128263
+128279
+128293
+128306
+128318
+128320
+128324
+128768
+128884
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
deleted file mode 100644
index a38b519f462..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2014
-2E3A 2E3B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
index 2409be17b81..ba3fd0af575 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
@@ -1,79 +1,150 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0009
-007C
-00AD
-058A
-05BE
-0964 0965
-0E5A 0E5B
-0F0B
-0F34
-0F7F
-0F85
-0FBE 0FBF
-0FD2
-104A 104B
-1361
-1400
-1680
-16EB 16ED
-1735 1736
-17D4 17D5
-17D8
-17DA
-1804 1805
-1B5A 1B5B
-1B5D 1B60
-1C3B 1C3F
-1C7E 1C7F
-2000 2006
-2008 200A
-2010
-2012 2013
-2027
-2056
-2058 205B
-205D 205F
-2CFA 2CFC
-2CFF
-2D70
-2E0E 2E15
-2E17
-2E19
-2E2A 2E2D
-2E30 2E31
-2E33 2E34
-A4FE A4FF
-A60D
-A60F
-A6F3 A6F7
-A8CE A8CF
-A92E A92F
-A9C7 A9C9
-AA5D AA5F
-AAF0 AAF1
-ABEB
-10100 10102
-1039F
-103D0
-10857
-1091F
-10A50 10A57
-10B39 10B3F
-11047 11048
-110BE 110C1
-11140 11143
-111C5 111C6
-111C8
-12470 12473
+V136
+9
+10
+124
+125
+173
+174
+1418
+1419
+1470
+1471
+2404
+2406
+3674
+3676
+3851
+3852
+3892
+3893
+3967
+3968
+3973
+3974
+4030
+4032
+4050
+4051
+4170
+4172
+4961
+4962
+5120
+5121
+5760
+5761
+5867
+5870
+5941
+5943
+6100
+6102
+6104
+6105
+6106
+6107
+6148
+6150
+7002
+7004
+7005
+7009
+7227
+7232
+7294
+7296
+8192
+8199
+8200
+8203
+8208
+8209
+8210
+8212
+8231
+8232
+8278
+8279
+8280
+8284
+8285
+8288
+11514
+11517
+11519
+11520
+11632
+11633
+11790
+11798
+11799
+11800
+11801
+11802
+11818
+11822
+11824
+11826
+11827
+11829
+12288
+12289
+42238
+42240
+42509
+42510
+42511
+42512
+42739
+42744
+43214
+43216
+43310
+43312
+43463
+43466
+43613
+43616
+43760
+43762
+44011
+44012
+65792
+65795
+66463
+66464
+66512
+66513
+67671
+67672
+67871
+67872
+68176
+68184
+68409
+68416
+69703
+69705
+69822
+69826
+69952
+69956
+70085
+70087
+70088
+70089
+74864
+74868
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
index 0d6a03971e4..f97d948b932 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
@@ -1,24 +1,38 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00B4
-02C8
-02CC
-02DF
-0F01 0F04
-0F06 0F07
-0F09 0F0A
-0FD0 0FD1
-0FD3
-1806
-1FFD
-A874 A875
+V24
+180
+181
+712
+713
+716
+717
+735
+736
+3841
+3845
+3846
+3848
+3849
+3851
+4048
+4050
+4051
+4052
+6150
+6151
+8189
+8190
+43124
+43126
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
deleted file mode 100644
index 58f1ec72ebe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 879a3fa9ee5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-FFFC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl
index 372886754a6..1ca61aeccb9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl
@@ -1,37 +1,64 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3041
-3043
-3045
-3047
-3049
-3063
-3083
-3085
-3087
-308E
-3095 3096
-30A1
-30A3
-30A5
-30A7
-30A9
-30C3
-30E3
-30E5
-30E7
-30EE
-30F5 30F6
-30FC
-31F0 31FF
-FF67 FF70
+V50
+12353
+12354
+12355
+12356
+12357
+12358
+12359
+12360
+12361
+12362
+12387
+12388
+12419
+12420
+12421
+12422
+12423
+12424
+12430
+12431
+12437
+12439
+12449
+12450
+12451
+12452
+12453
+12454
+12455
+12456
+12457
+12458
+12483
+12484
+12515
+12516
+12517
+12518
+12519
+12520
+12526
+12527
+12533
+12535
+12540
+12541
+12784
+12800
+65383
+65393
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
index 2f225140f26..ad9fc6d331a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
@@ -1,91 +1,172 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-007D
-0F3B
-0F3D
-169C
-2046
-207E
-208E
-232A
-2769
-276B
-276D
-276F
-2771
-2773
-2775
-27C6
-27E7
-27E9
-27EB
-27ED
-27EF
-2984
-2986
-2988
-298A
-298C
-298E
-2990
-2992
-2994
-2996
-2998
-29D9
-29DB
-29FD
-2E23
-2E25
-2E27
-2E29
-3001 3002
-3009
-300B
-300D
-300F
-3011
-3015
-3017
-3019
-301B
-301E 301F
-FD3F
-FE11 FE12
-FE18
-FE36
-FE38
-FE3A
-FE3C
-FE3E
-FE40
-FE42
-FE44
-FE48
-FE50
-FE52
-FE5A
-FE5C
-FE5E
-FF09
-FF0C
-FF0E
-FF3D
-FF5D
-FF60 FF61
-FF63 FF64
-1325B 1325D
-13282
-13287
-13289
-1337A 1337B
+V158
+125
+126
+3899
+3900
+3901
+3902
+5788
+5789
+8262
+8263
+8318
+8319
+8334
+8335
+9002
+9003
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10102
+10182
+10183
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10224
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10649
+10713
+10714
+10715
+10716
+10749
+10750
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+11818
+12289
+12291
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12306
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+12316
+12318
+12320
+64831
+64832
+65041
+65043
+65048
+65049
+65078
+65079
+65080
+65081
+65082
+65083
+65084
+65085
+65086
+65087
+65088
+65089
+65090
+65091
+65092
+65093
+65096
+65097
+65104
+65105
+65106
+65107
+65114
+65115
+65116
+65117
+65118
+65119
+65289
+65290
+65292
+65293
+65294
+65295
+65341
+65342
+65373
+65374
+65376
+65378
+65379
+65381
+78427
+78430
+78466
+78467
+78471
+78472
+78473
+78474
+78714
+78716
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
index acc092b3d1f..146007ec8a1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
@@ -1,200 +1,394 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0008
-000E 001F
-007F 0084
-0086 009F
-0300 034E
-0350 035B
-0363 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0963
-0981 0983
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09E2 09E3
-0A01 0A03
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A83
-0ABC
-0ABE 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AE2 0AE3
-0B01 0B03
-0B3C
-0B3E 0B44
-0B47 0B48
-0B4B 0B4D
-0B56 0B57
-0B62 0B63
-0B82
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-0C01 0C03
-0C3E 0C44
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0C82 0C83
-0CBC
-0CBE 0CC4
-0CC6 0CC8
-0CCA 0CCD
-0CD5 0CD6
-0CE2 0CE3
-0D02 0D03
-0D3E 0D44
-0D46 0D48
-0D4A 0D4D
-0D57
-0D62 0D63
-0D82 0D83
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0F18 0F19
-0F35
-0F37
-0F39
-0F3E 0F3F
-0F71 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-180B 180D
-18A9
-1920 192B
-1930 193B
-1A17 1A1B
-1A7F
-1B00 1B04
-1B34 1B44
-1B6B 1B73
-1B80 1B82
-1BA1 1BAD
-1BE6 1BF3
-1C24 1C37
-1CD0 1CD2
-1CD4 1CE8
-1CED
-1CF2 1CF4
-1DC0 1DE6
-1DFC 1DFF
-200C 200F
-202A 202E
-206A 206F
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302F
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A823 A827
-A880 A881
-A8B4 A8C4
-A8E0 A8F1
-A926 A92D
-A947 A953
-A980 A983
-A9B3 A9C0
-AA29 AA36
-AA43
-AA4C AA4D
-AAEB AAEF
-AAF5 AAF6
-ABE3 ABEA
-ABEC ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-FFF9 FFFB
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11000 11002
-11038 11046
-11080 11082
-110B0 110BA
-11100 11102
-11127 11134
-11180 11182
-111B3 111C0
-116AB 116B7
-16F51 16F7E
-16F8F 16F92
-1D165 1D169
-1D16D 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0001
-E0020 E007F
-E0100 E01EF
+V380
+0
+9
+14
+32
+127
+133
+134
+160
+768
+847
+848
+860
+867
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1564
+1565
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2404
+2433
+2436
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2530
+2532
+2561
+2564
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2692
+2748
+2749
+2750
+2758
+2759
+2762
+2763
+2766
+2786
+2788
+2817
+2820
+2876
+2877
+2878
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3073
+3076
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3202
+3204
+3260
+3261
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3298
+3300
+3330
+3332
+3390
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3426
+3428
+3458
+3460
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3953
+3967
+3968
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6155
+6158
+6313
+6314
+6432
+6444
+6448
+6460
+6679
+6684
+6783
+6784
+6912
+6917
+6964
+6981
+7019
+7028
+7040
+7043
+7073
+7086
+7142
+7156
+7204
+7224
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7616
+7655
+7676
+7680
+8204
+8208
+8234
+8239
+8294
+8304
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12341
+12342
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43136
+43138
+43188
+43205
+43232
+43250
+43302
+43310
+43335
+43348
+43392
+43396
+43443
+43457
+43561
+43575
+43587
+43588
+43596
+43598
+43755
+43760
+43765
+43767
+44003
+44011
+44012
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65529
+65532
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69632
+69635
+69688
+69703
+69760
+69763
+69808
+69819
+69888
+69891
+69927
+69941
+70016
+70019
+70067
+70081
+71339
+71352
+94033
+94079
+94095
+94099
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
deleted file mode 100644
index e666a6f4803..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0029
-005D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
index 985d9148c01..6b6b367ff29 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021
-003F
-05C6
-061B
-061E 061F
-06D4
-07F9
-0F0D 0F11
-0F14
-1802 1803
-1808 1809
-1944 1945
-2762 2763
-2CF9
-2CFE
-2E2E
-A60E
-A876 A877
-FE15 FE16
-FE56 FE57
-FF01
-FF1F
+V44
+33
+34
+63
+64
+1478
+1479
+1563
+1564
+1566
+1568
+1748
+1749
+2041
+2042
+3853
+3858
+3860
+3861
+6146
+6148
+6152
+6154
+6468
+6470
+10082
+10084
+11513
+11514
+11518
+11519
+11822
+11823
+42510
+42511
+43126
+43128
+65045
+65047
+65110
+65112
+65281
+65282
+65311
+65312
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
index 183f1bbe3e4..c30b16877f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0
-034F
-035C 0362
-0F08
-0F0C
-0F12
-0FD9 0FDA
-180E
-2007
-2011
-202F
+V22
+160
+161
+847
+848
+860
+867
+3848
+3849
+3852
+3853
+3858
+3859
+4057
+4059
+6158
+6159
+8199
+8200
+8209
+8210
+8239
+8240
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
deleted file mode 100644
index 01ae17bec0e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-002D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
index 700c616adcd..3a586d49ed7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
@@ -1,137 +1,264 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-231A 231B
-23F0 23F3
-2600 2603
-2614 2615
-2618
-261A 261F
-2639 263B
-2668
-267F
-26BD 26C8
-26CD
-26CF 26D1
-26D3 26D4
-26D8 26D9
-26DC
-26DF 26E1
-26EA
-26F1 26F5
-26F7 26FA
-26FD 26FF
-2701 2704
-2708 270D
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-2FF0 2FFB
-3000
-3003 3004
-3006 3007
-3012 3013
-3020 3029
-3030 303A
-303D 303F
-3042
-3044
-3046
-3048
-304A 3062
-3064 3082
-3084
-3086
-3088 308D
-308F 3094
-309F
-30A2
-30A4
-30A6
-30A8
-30AA 30C2
-30C4 30E2
-30E4
-30E6
-30E8 30ED
-30EF 30F4
-30F7 30FA
-30FF
-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
-FE68
-FE6B
-FF02 FF03
-FF06 FF07
-FF0A FF0B
-FF0D
-FF0F FF19
-FF1C FF1E
-FF20 FF3A
-FF3C
-FF3E FF5A
-FF5C
-FF5E
-FFE2 FFE4
-1B000 1B001
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
-1F300 1F320
-1F330 1F335
-1F337 1F37C
-1F380 1F393
-1F3A0 1F3B4
-1F3B7 1F3BB
-1F3BD 1F3C4
-1F3C6 1F3CA
-1F3E0 1F3F0
-1F400 1F43E
-1F440
-1F442 1F49F
-1F4A1
-1F4A3
-1F4A5 1F4AE
-1F4B0
-1F4B3 1F4F7
-1F4F9 1F4FC
-1F507 1F516
-1F525 1F531
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-20000 2FFFD
-30000 3FFFD
+V250
+8986
+8988
+9200
+9204
+9728
+9732
+9748
+9750
+9752
+9753
+9754
+9760
+9785
+9788
+9832
+9833
+9855
+9856
+9917
+9929
+9933
+9934
+9935
+9938
+9939
+9941
+9944
+9946
+9948
+9949
+9951
+9954
+9962
+9963
+9969
+9974
+9975
+9979
+9981
+9984
+9985
+9989
+9992
+9998
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12291
+12293
+12294
+12296
+12306
+12308
+12320
+12330
+12336
+12341
+12342
+12347
+12349
+12352
+12354
+12355
+12356
+12357
+12358
+12359
+12360
+12361
+12362
+12387
+12388
+12419
+12420
+12421
+12422
+12423
+12424
+12430
+12431
+12437
+12447
+12448
+12450
+12451
+12452
+12453
+12454
+12455
+12456
+12457
+12458
+12483
+12484
+12515
+12516
+12517
+12518
+12519
+12520
+12526
+12527
+12533
+12535
+12539
+12543
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12800
+12831
+12832
+12872
+12880
+13055
+13056
+19904
+19968
+40981
+40982
+42125
+42128
+42183
+63744
+64256
+65072
+65077
+65093
+65095
+65097
+65104
+65105
+65106
+65112
+65113
+65119
+65127
+65128
+65129
+65131
+65132
+65282
+65284
+65286
+65288
+65290
+65292
+65293
+65294
+65295
+65306
+65308
+65311
+65312
+65339
+65340
+65341
+65342
+65371
+65372
+65373
+65374
+65375
+65506
+65509
+110592
+110594
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127925
+127927
+127932
+127933
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128160
+128161
+128162
+128163
+128164
+128165
+128175
+128176
+128177
+128179
+128248
+128249
+128253
+128263
+128279
+128293
+128306
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+131072
+196606
+196608
+262142
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
deleted file mode 100644
index 6ee6f3785ad..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 e1e2d4382e2..006e6ef63b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
@@ -1,22 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002C
-002E
-003A 003B
-037E
-0589
-060C 060D
-07F8
-2044
-FE10
-FE13 FE14
+V20
+44
+45
+46
+47
+58
+60
+894
+895
+1417
+1418
+1548
+1550
+2040
+2041
+8260
+8261
+65040
+65041
+65043
+65045
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
deleted file mode 100644
index 919518eaa17..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0085
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
index 120eb072223..924ff185df0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
@@ -1,27 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-17D6
-203C 203D
-2047 2049
-3005
-301C
-303B 303C
-309B 309E
-30A0
-30FB
-30FD 30FE
-A015
-FE54 FE55
-FF1A FF1B
-FF65
-FF9E FF9F
+V30
+6102
+6103
+8252
+8254
+8263
+8266
+12293
+12294
+12316
+12317
+12347
+12349
+12443
+12447
+12448
+12449
+12539
+12540
+12541
+12543
+40981
+40982
+65108
+65110
+65306
+65308
+65381
+65382
+65438
+65440
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
index 5246cf2df52..88ce1285dd6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
@@ -1,91 +1,172 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0028
-005B
-007B
-00A1
-00BF
-0F3A
-0F3C
-169B
-201A
-201E
-2045
-207D
-208D
-2329
-2768
-276A
-276C
-276E
-2770
-2772
-2774
-27C5
-27E6
-27E8
-27EA
-27EC
-27EE
-2983
-2985
-2987
-2989
-298B
-298D
-298F
-2991
-2993
-2995
-2997
-29D8
-29DA
-29FC
-2E18
-2E22
-2E24
-2E26
-2E28
-3008
-300A
-300C
-300E
-3010
-3014
-3016
-3018
-301A
-301D
-FD3E
-FE17
-FE35
-FE37
-FE39
-FE3B
-FE3D
-FE3F
-FE41
-FE43
-FE47
-FE59
-FE5B
-FE5D
-FF08
-FF3B
-FF5B
-FF5F
-FF62
-13258 1325A
-13286
-13288
-13379
+V158
+40
+41
+91
+92
+123
+124
+161
+162
+191
+192
+3898
+3899
+3900
+3901
+5787
+5788
+8218
+8219
+8222
+8223
+8261
+8262
+8317
+8318
+8333
+8334
+9001
+9002
+10088
+10089
+10090
+10091
+10092
+10093
+10094
+10095
+10096
+10097
+10098
+10099
+10100
+10101
+10181
+10182
+10214
+10215
+10216
+10217
+10218
+10219
+10220
+10221
+10222
+10223
+10627
+10628
+10629
+10630
+10631
+10632
+10633
+10634
+10635
+10636
+10637
+10638
+10639
+10640
+10641
+10642
+10643
+10644
+10645
+10646
+10647
+10648
+10712
+10713
+10714
+10715
+10748
+10749
+11800
+11801
+11810
+11811
+11812
+11813
+11814
+11815
+11816
+11817
+12296
+12297
+12298
+12299
+12300
+12301
+12302
+12303
+12304
+12305
+12308
+12309
+12310
+12311
+12312
+12313
+12314
+12315
+12317
+12318
+64830
+64831
+65047
+65048
+65077
+65078
+65079
+65080
+65081
+65082
+65083
+65084
+65085
+65086
+65087
+65088
+65089
+65090
+65091
+65092
+65095
+65096
+65113
+65114
+65115
+65116
+65117
+65118
+65288
+65289
+65339
+65340
+65371
+65372
+65375
+65376
+65378
+65379
+78424
+78427
+78470
+78471
+78472
+78473
+78713
+78714
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
index 6d9a45a1807..e7678c9b1b6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
@@ -1,30 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0025
-00A2
-00B0
-0609 060B
-066A
-09F2 09F3
-09F9
-0D79
-2030 2037
-20A7
-20B6
-2103
-2109
-A838
-FDFC
-FE6A
-FF05
-FFE0
+V36
+37
+38
+162
+163
+176
+177
+1545
+1548
+1642
+1643
+2546
+2548
+2553
+2554
+3449
+3450
+8240
+8248
+8359
+8360
+8374
+8375
+8451
+8452
+8457
+8458
+43064
+43065
+65020
+65021
+65130
+65131
+65285
+65286
+65504
+65505
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
index d66eeda794b..34fbd68b919 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
@@ -1,32 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0024
-002B
-005C
-00A3 00A5
-00B1
-058F
-09FB
-0AF1
-0BF9
-0E3F
-17DB
-20A0 20A6
-20A8 20B5
-20B7 20BA
-2116
-2212 2213
-FE69
-FF04
-FFE1
-FFE5 FFE6
+V40
+36
+37
+43
+44
+92
+93
+163
+166
+177
+178
+1423
+1424
+2555
+2556
+2801
+2802
+3065
+3066
+3647
+3648
+6107
+6108
+8352
+8359
+8360
+8374
+8375
+8400
+8470
+8471
+8722
+8724
+65129
+65130
+65284
+65285
+65505
+65506
+65509
+65511
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
index 82f70ffed44..3833214441e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
@@ -1,24 +1,38 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0022
-0027
-00AB
-00BB
-2018 2019
-201B 201D
-201F
-2039 203A
-275B 275E
-2E00 2E0D
-2E1C 2E1D
-2E20 2E21
+V24
+34
+35
+39
+40
+171
+172
+187
+188
+8216
+8218
+8219
+8222
+8223
+8224
+8249
+8251
+10075
+10079
+11776
+11790
+11804
+11806
+11808
+11810
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
index d0371e67134..8a5471b2b0c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
@@ -1,49 +1,88 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0E01 0E3A
-0E40 0E4E
-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
-0EDC 0EDF
-1000 103F
-1050 108F
-109A 109F
-1780 17D3
-17D7
-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
+V74
+3585
+3643
+3648
+3663
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3804
+3808
+4096
+4160
+4176
+4240
+4250
+4256
+6016
+6100
+6103
+6104
+6108
+6110
+6480
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6618
+6619
+6622
+6624
+6688
+6751
+6752
+6781
+6816
+6830
+43616
+43644
+43648
+43715
+43739
+43744
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
deleted file mode 100644
index 22b49bdaa65..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b7c25c677b8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0020
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
deleted file mode 100644
index 306188f6faf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-002F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
deleted file mode 100644
index 6030a687d0c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2060
-FEFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
index 20a89559831..d3749fc0123 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
@@ -1,544 +1,1075 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0528 0530
-0557 0558
-0560
-0588
-058B 058E
-0590
-05C8 05CF
-05EB 05EF
-05F5 05FF
-0605
-061C 061D
-070E
-074B 074C
-07B2 07BF
-07FB 07FF
-082E 082F
-083F
-085C 085D
-085F 089F
-08A1
-08AD 08E3
-08FF
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09FC 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF2 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B78 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF5 0E00
-0E3B 0E3E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F48
-0F6D 0F70
-0F98
-0FBD
-0FCD
-0FDB 0FFF
-10C6
-10C8 10CC
-10CE 10CF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17DE 17DF
-17EA 17EF
-17FA 17FF
-180F
-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
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1AFF
-1B4C 1B4F
-1B7D 1B7F
-1BF4 1BFB
-1C38 1C3A
-1C4A 1C4C
-1C80 1CBF
-1CC8 1CCF
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-2065 2069
-2072 2073
-208F
-209D 209F
-20BB 20CF
-20F1 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CF4 2CF8
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D71 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A698 A69E
-A6F8 A6FF
-A78F
-A794 A79F
-A7AB A7F7
-A82C A82F
-A83A A83F
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8FC A8FF
-A954 A95E
-A97D A97F
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAC3 AADA
-AAF7 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
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFE FDFF
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FEFE
-FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFF8
-FFFE FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11144 1117F
-111C9 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D1DE 1D1FF
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1EEEF
-1EEF2 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16C 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 1F53F
-1F544 1F54F
-1F568 1F5FA
-1F641 1F644
-1F650 1F67F
-1F6C6 1F6FF
-1F774 1FFFF
-2FFFE 2FFFF
-3FFFE E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+V1061
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+57344
+63744
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+196606
+196608
+262142
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
deleted file mode 100644
index 6109c7fd68c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-200B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
index b16774ba5b9..94ecc48c4b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
@@ -1,630 +1,1250 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0061 007A
-00AA
-00B5
-00BA
-00DF 00F6
-00F8 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BA
-01BD 01BF
-01C6
-01C9
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0293
-0295 02B8
-02C0 02C1
-02E0 02E4
-0345
-0371
-0373
-0377
-037A 037D
-0390
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F3
-03F5
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527
-0561 0587
-1D00 1DBF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-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
-1FC6 1FC7
-1FD0 1FD3
-1FD6 1FD7
-1FE0 1FE7
-1FF2 1FF4
-1FF6 1FF7
-2071
-207F
-2090 209C
-210A
-210E 210F
-2113
-212F
-2134
-2139
-213C 213D
-2146 2149
-214E
-2170 217F
-2184
-24D0 24E9
-2C30 2C5E
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7D
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CE4
-2CEC
-2CEE
-2CF3
-2D00 2D25
-2D27
-2D2D
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787
-A78C
-A78E
-A791
-A793
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9
-A7F8 A7FA
-FB00 FB06
-FB13 FB17
-FF41 FF5A
-10428 1044F
-1D41A 1D433
-1D44E 1D454
-1D456 1D467
-1D482 1D49B
-1D4B6 1D4B9
-1D4BB
-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
+V1236
+97
+123
+170
+171
+181
+182
+186
+187
+223
+247
+248
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+443
+445
+448
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+660
+661
+697
+704
+706
+736
+741
+837
+838
+881
+882
+883
+884
+887
+888
+890
+894
+912
+913
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1014
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1377
+1416
+7424
+7616
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7958
+7968
+7976
+7984
+7992
+8000
+8006
+8016
+8024
+8032
+8040
+8048
+8062
+8064
+8072
+8080
+8088
+8096
+8104
+8112
+8117
+8118
+8120
+8126
+8127
+8130
+8133
+8134
+8136
+8144
+8148
+8150
+8152
+8160
+8168
+8178
+8181
+8182
+8184
+8305
+8306
+8319
+8320
+8336
+8349
+8458
+8459
+8462
+8464
+8467
+8468
+8495
+8496
+8500
+8501
+8505
+8506
+8508
+8510
+8518
+8522
+8526
+8527
+8560
+8576
+8580
+8581
+9424
+9450
+11312
+11359
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11493
+11500
+11501
+11502
+11503
+11507
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42606
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42648
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42888
+42892
+42893
+42894
+42895
+42897
+42898
+42899
+42900
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+43000
+43003
+64256
+64263
+64275
+64280
+65345
+65371
+66600
+66640
+119834
+119860
+119886
+119893
+119894
+119912
+119938
+119964
+119990
+119994
+119995
+119996
+119997
+120004
+120005
+120016
+120042
+120068
+120094
+120120
+120146
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120486
+120514
+120539
+120540
+120546
+120572
+120597
+120598
+120604
+120630
+120655
+120656
+120662
+120688
+120713
+120714
+120720
+120746
+120771
+120772
+120778
+120779
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
index 8cb5051a94b..7531f55f0c8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
@@ -1,150 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002B
-003C 003E
-005E
-007C
-007E
-00AC
-00B1
-00D7
-00F7
-03D0 03D2
-03D5
-03F0 03F1
-03F4 03F6
-0606 0608
-2016
-2032 2034
-2040
-2044
-2052
-2061 2064
-207A 207E
-208A 208E
-20D0 20DC
-20E1
-20E5 20E6
-20EB 20EF
-2102
-2107
-210A 2113
-2115
-2118 211D
-2124
-2128 2129
-212C 212D
-212F 2131
-2133 2138
-213C 2149
-214B
-2190 21A7
-21A9 21AE
-21B0 21B1
-21B6 21B7
-21BC 21DB
-21DD
-21E4 21E5
-21F4 22FF
-2308 230B
-2320 2321
-237C
-239B 23B5
-23B7
-23D0
-23DC 23E2
-25A0 25A1
-25AE 25B7
-25BC 25C1
-25C6 25C7
-25CA 25CB
-25CF 25D3
-25E2
-25E4
-25E7 25EC
-25F8 25FF
-2605 2606
-2640
-2642
-2660 2663
-266D 266F
-27C0 27FF
-2900 2AFF
-2B30 2B44
-2B47 2B4C
-FB29
-FE61 FE66
-FE68
-FF0B
-FF1C FF1E
-FF3C
-FF3E
-FF5C
-FF5E
-FFE2
-FFE9 FFEC
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
+V276
+43
+44
+60
+63
+94
+95
+124
+125
+126
+127
+172
+173
+177
+178
+215
+216
+247
+248
+976
+979
+981
+982
+1008
+1010
+1012
+1015
+1542
+1545
+8214
+8215
+8242
+8245
+8256
+8257
+8260
+8261
+8274
+8275
+8289
+8293
+8314
+8319
+8330
+8335
+8400
+8413
+8417
+8418
+8421
+8423
+8427
+8432
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8488
+8490
+8492
+8494
+8495
+8498
+8499
+8505
+8508
+8522
+8523
+8524
+8592
+8616
+8617
+8623
+8624
+8626
+8630
+8632
+8636
+8668
+8669
+8670
+8676
+8678
+8692
+8960
+8968
+8972
+8992
+8994
+9084
+9085
+9115
+9142
+9143
+9144
+9168
+9169
+9180
+9187
+9632
+9634
+9646
+9656
+9660
+9666
+9670
+9672
+9674
+9676
+9679
+9684
+9698
+9699
+9700
+9701
+9703
+9709
+9720
+9728
+9733
+9735
+9792
+9793
+9794
+9795
+9824
+9828
+9837
+9840
+10176
+10240
+10496
+11008
+11056
+11077
+11079
+11085
+64297
+64298
+65121
+65127
+65128
+65129
+65291
+65292
+65308
+65311
+65340
+65341
+65342
+65343
+65372
+65373
+65374
+65375
+65506
+65507
+65513
+65517
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
index 0c35ba557bc..a91676d1298 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
@@ -1,30 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V36
+64976
+65008
+65534
+65536
+131070
+131072
+196606
+196608
+262142
+262144
+327678
+327680
+393214
+393216
+458750
+458752
+524286
+524288
+589822
+589824
+655358
+655360
+720894
+720896
+786430
+786432
+851966
+851968
+917502
+917504
+983038
+983040
+1048574
+1048576
+1114110
+1114112
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl
index b24e22bd654..fc9604b60c1 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl
@@ -1,47 +1,84 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 0304
-0306 030C
-030F
-0311
-0313 0314
-031B
-0323 0328
-032D 032E
-0330 0331
-0338
-0342
-0345
-0653 0655
-093C
-09BE
-09D7
-0B3E
-0B56 0B57
-0BBE
-0BD7
-0C56
-0CC2
-0CD5 0CD6
-0D3E
-0D57
-0DCA
-0DCF
-0DDF
-102E
-1161 1175
-11A8 11C2
-1B35
-3099 309A
-110BA
-11127
+V70
+768
+773
+774
+781
+783
+784
+785
+786
+787
+789
+795
+796
+803
+809
+813
+815
+816
+818
+824
+825
+834
+835
+837
+838
+1619
+1622
+2364
+2365
+2494
+2495
+2519
+2520
+2878
+2879
+2902
+2904
+3006
+3007
+3031
+3032
+3158
+3159
+3266
+3267
+3285
+3287
+3390
+3391
+3415
+3416
+3530
+3531
+3535
+3536
+3551
+3552
+4142
+4143
+4449
+4470
+4520
+4547
+6965
+6966
+12441
+12443
+69818
+69819
+69927
+69928
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
index 0991e9639cd..e2013e6d1bf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
@@ -1,118 +1,225 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 02FF
-0305
-030D 030E
-0310
-0312
-0315 031A
-031C 0322
-0329 032C
-032F
-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
-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
-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
-1FBC 1FBD
-1FBF 1FC8
-1FCA
-1FCC 1FD2
-1FD4 1FDA
-1FDC 1FE2
-1FE4 1FEA
-1FEC 1FED
-1FF0 1FF8
-1FFA
-1FFC
-1FFE 1FFF
-2002 2125
-2127 2129
-212C 2328
-232B 2ADB
-2ADD 3098
-309B F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA6E FA6F
-FADA FB1C
-FB1E
-FB20 FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FB4F 110B9
-110BB 11126
-11128 1D15D
-1D165 1D1BA
-1D1C1 2F7FF
-2FA1E 10FFFF
+V211
+0
+768
+773
+774
+781
+783
+784
+785
+786
+787
+789
+795
+796
+803
+809
+813
+815
+816
+818
+824
+825
+832
+838
+884
+885
+894
+895
+903
+904
+1619
+1622
+2364
+2365
+2392
+2400
+2494
+2495
+2519
+2520
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2878
+2879
+2902
+2904
+2908
+2910
+3006
+3007
+3031
+3032
+3158
+3159
+3266
+3267
+3285
+3287
+3390
+3391
+3415
+3416
+3530
+3531
+3535
+3536
+3551
+3552
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3959
+3960
+3961
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4142
+4143
+4449
+4470
+4520
+4547
+6965
+6966
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8123
+8124
+8126
+8127
+8137
+8138
+8139
+8140
+8147
+8148
+8155
+8156
+8163
+8164
+8171
+8172
+8174
+8176
+8185
+8186
+8187
+8188
+8189
+8190
+8192
+8194
+8486
+8487
+8490
+8492
+9001
+9003
+10972
+10973
+12441
+12443
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64285
+64286
+64287
+64288
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64335
+69818
+69819
+69927
+69928
+119134
+119141
+119227
+119233
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
index 31c46d8ef55..0556aa3cc98 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
@@ -1,239 +1,468 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
-038C
-038E 0390
-03AA 03B0
-03CA 03CE
-03D3 03D4
-0400 0401
-0403
-0407
-040C 040E
-0419
-0439
-0450 0451
-0453
-0457
-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
-09CB 09CC
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B48
-0B4B 0B4C
-0B5C 0B5D
-0B94
-0BCA 0BCC
-0C48
-0CC0
-0CC7 0CC8
-0CCA 0CCB
-0D4A 0D4C
-0DDA
-0DDC 0DDE
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F73
-0F75 0F76
-0F78
-0F81
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-1026
-1B06
-1B08
-1B0A
-1B0C
-1B0E
-1B12
-1B3B
-1B3D
-1B40 1B41
-1B43
-1E00 1E99
-1E9B
-1EA0 1EF9
-1F00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC1 1FC4
-1FC6 1FD3
-1FD6 1FDB
-1FDD 1FEF
-1FF2 1FF4
-1FF6 1FFD
-2000 2001
-2126
-212A 212B
-219A 219B
-21AE
-21CD 21CF
-2204
-2209
-220C
-2224
-2226
-2241
-2244
-2247
-2249
-2260
-2262
-226D 2271
-2274 2275
-2278 2279
-2280 2281
-2284 2285
-2288 2289
-22AC 22AF
-22E0 22E3
-22EA 22ED
-2329 232A
-2ADC
-304C
-304E
-3050
-3052
-3054
-3056
-3058
-305A
-305C
-305E
-3060
-3062
-3065
-3067
-3069
-3070 3071
-3073 3074
-3076 3077
-3079 307A
-307C 307D
-3094
-309E
-30AC
-30AE
-30B0
-30B2
-30B4
-30B6
-30B8
-30BA
-30BC
-30BE
-30C0
-30C2
-30C5
-30C7
-30C9
-30D0 30D1
-30D3 30D4
-30D6 30D7
-30D9 30DA
-30DC 30DD
-30F4
-30F7 30FA
-30FE
-AC00 D7A3
-F900 FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A FA6D
-FA70 FAD9
-FB1D
-FB1F
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FB4E
-1109A
-1109C
-110AB
-1112E 1112F
-1D15E 1D164
-1D1BB 1D1C0
-2F800 2FA1D
+V454
+192
+198
+199
+208
+209
+215
+217
+222
+224
+230
+231
+240
+241
+247
+249
+254
+255
+272
+274
+294
+296
+305
+308
+312
+313
+319
+323
+329
+332
+338
+340
+358
+360
+383
+416
+418
+431
+433
+461
+477
+478
+484
+486
+497
+500
+502
+504
+540
+542
+544
+550
+564
+832
+834
+835
+837
+884
+885
+894
+895
+901
+907
+908
+909
+910
+913
+938
+945
+970
+975
+979
+981
+1024
+1026
+1027
+1028
+1031
+1032
+1036
+1039
+1049
+1050
+1081
+1082
+1104
+1106
+1107
+1108
+1111
+1112
+1116
+1119
+1142
+1144
+1217
+1219
+1232
+1236
+1238
+1240
+1242
+1248
+1250
+1256
+1258
+1270
+1272
+1274
+1570
+1575
+1728
+1729
+1730
+1731
+1747
+1748
+2345
+2346
+2353
+2354
+2356
+2357
+2392
+2400
+2507
+2509
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2888
+2889
+2891
+2893
+2908
+2910
+2964
+2965
+3018
+3021
+3144
+3145
+3264
+3265
+3271
+3273
+3274
+3276
+3402
+3405
+3546
+3547
+3548
+3551
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3959
+3960
+3961
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4134
+4135
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6930
+6931
+6971
+6972
+6973
+6974
+6976
+6978
+6979
+6980
+7680
+7834
+7835
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8129
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8190
+8192
+8194
+8486
+8487
+8490
+8492
+8602
+8604
+8622
+8623
+8653
+8656
+8708
+8709
+8713
+8714
+8716
+8717
+8740
+8741
+8742
+8743
+8769
+8770
+8772
+8773
+8775
+8776
+8777
+8778
+8800
+8801
+8802
+8803
+8813
+8818
+8820
+8822
+8824
+8826
+8832
+8834
+8836
+8838
+8840
+8842
+8876
+8880
+8928
+8932
+8938
+8942
+9001
+9003
+10972
+10973
+12364
+12365
+12366
+12367
+12368
+12369
+12370
+12371
+12372
+12373
+12374
+12375
+12376
+12377
+12378
+12379
+12380
+12381
+12382
+12383
+12384
+12385
+12386
+12387
+12389
+12390
+12391
+12392
+12393
+12394
+12400
+12402
+12403
+12405
+12406
+12408
+12409
+12411
+12412
+12414
+12436
+12437
+12446
+12447
+12460
+12461
+12462
+12463
+12464
+12465
+12466
+12467
+12468
+12469
+12470
+12471
+12472
+12473
+12474
+12475
+12476
+12477
+12478
+12479
+12480
+12481
+12482
+12483
+12485
+12486
+12487
+12488
+12489
+12490
+12496
+12498
+12499
+12501
+12502
+12504
+12505
+12507
+12508
+12510
+12532
+12533
+12535
+12539
+12542
+12543
+44032
+55204
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64285
+64286
+64287
+64288
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64335
+69786
+69787
+69788
+69789
+69803
+69804
+69934
+69936
+119134
+119141
+119227
+119233
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
index c0ec7774076..cb6e4753cd7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
@@ -1,240 +1,469 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 00BF
-00C6
-00D0
-00D7 00D8
-00DE 00DF
-00E6
-00F0
-00F7 00F8
-00FE
-0110 0111
-0126 0127
-0131 0133
-0138
-013F 0142
-0149 014B
-0152 0153
-0166 0167
-017F 019F
-01A2 01AE
-01B1 01CC
-01DD
-01E4 01E5
-01F1 01F3
-01F6 01F7
-021C 021D
-0220 0225
-0234 033F
-0342
-0345 0373
-0375 037D
-037F 0384
-038B
-038D
-0391 03A9
-03B1 03C9
-03CF 03D2
-03D5 03FF
-0402
-0404 0406
-0408 040B
-040F 0418
-041A 0438
-043A 044F
-0452
-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
-06D4 0928
-092A 0930
-0932 0933
-0935 0957
-0960 09CA
-09CD 09DB
-09DE
-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
-0D4D 0DD9
-0DDB
-0DDF 0F42
-0F44 0F4C
-0F4E 0F51
-0F53 0F56
-0F58 0F5B
-0F5D 0F68
-0F6A 0F72
-0F74
-0F77
-0F79 0F80
-0F82 0F92
-0F94 0F9C
-0F9E 0FA1
-0FA3 0FA6
-0FA8 0FAB
-0FAD 0FB8
-0FBA 1025
-1027 1B05
-1B07
-1B09
-1B0B
-1B0D
-1B0F 1B11
-1B13 1B3A
-1B3C
-1B3E 1B3F
-1B42
-1B44 1DFF
-1E9A
-1E9C 1E9F
-1EFA 1EFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC0
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFE 1FFF
-2002 2125
-2127 2129
-212C 2199
-219C 21AD
-21AF 21CC
-21D0 2203
-2205 2208
-220A 220B
-220D 2223
-2225
-2227 2240
-2242 2243
-2245 2246
-2248
-224A 225F
-2261
-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
-3053
-3055
-3057
-3059
-305B
-305D
-305F
-3061
-3063 3064
-3066
-3068
-306A 306F
-3072
-3075
-3078
-307B
-307E 3093
-3095 309D
-309F 30AB
-30AD
-30AF
-30B1
-30B3
-30B5
-30B7
-30B9
-30BB
-30BD
-30BF
-30C1
-30C3 30C4
-30C6
-30C8
-30CA 30CF
-30D2
-30D5
-30D8
-30DB
-30DE 30F3
-30F5 30F6
-30FB 30FD
-30FF ABFF
-D7A4 F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA6E FA6F
-FADA FB1C
-FB1E
-FB20 FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FB4F 11099
-1109B
-1109D 110AA
-110AC 1112D
-11130 1D15D
-1D165 1D1BA
-1D1C1 2F7FF
-2FA1E 10FFFF
+V455
+0
+192
+198
+199
+208
+209
+215
+217
+222
+224
+230
+231
+240
+241
+247
+249
+254
+255
+272
+274
+294
+296
+305
+308
+312
+313
+319
+323
+329
+332
+338
+340
+358
+360
+383
+416
+418
+431
+433
+461
+477
+478
+484
+486
+497
+500
+502
+504
+540
+542
+544
+550
+564
+832
+834
+835
+837
+884
+885
+894
+895
+901
+907
+908
+909
+910
+913
+938
+945
+970
+975
+979
+981
+1024
+1026
+1027
+1028
+1031
+1032
+1036
+1039
+1049
+1050
+1081
+1082
+1104
+1106
+1107
+1108
+1111
+1112
+1116
+1119
+1142
+1144
+1217
+1219
+1232
+1236
+1238
+1240
+1242
+1248
+1250
+1256
+1258
+1270
+1272
+1274
+1570
+1575
+1728
+1729
+1730
+1731
+1747
+1748
+2345
+2346
+2353
+2354
+2356
+2357
+2392
+2400
+2507
+2509
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2888
+2889
+2891
+2893
+2908
+2910
+2964
+2965
+3018
+3021
+3144
+3145
+3264
+3265
+3271
+3273
+3274
+3276
+3402
+3405
+3546
+3547
+3548
+3551
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3959
+3960
+3961
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4134
+4135
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6930
+6931
+6971
+6972
+6973
+6974
+6976
+6978
+6979
+6980
+7680
+7834
+7835
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8129
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8190
+8192
+8194
+8486
+8487
+8490
+8492
+8602
+8604
+8622
+8623
+8653
+8656
+8708
+8709
+8713
+8714
+8716
+8717
+8740
+8741
+8742
+8743
+8769
+8770
+8772
+8773
+8775
+8776
+8777
+8778
+8800
+8801
+8802
+8803
+8813
+8818
+8820
+8822
+8824
+8826
+8832
+8834
+8836
+8838
+8840
+8842
+8876
+8880
+8928
+8932
+8938
+8942
+9001
+9003
+10972
+10973
+12364
+12365
+12366
+12367
+12368
+12369
+12370
+12371
+12372
+12373
+12374
+12375
+12376
+12377
+12378
+12379
+12380
+12381
+12382
+12383
+12384
+12385
+12386
+12387
+12389
+12390
+12391
+12392
+12393
+12394
+12400
+12402
+12403
+12405
+12406
+12408
+12409
+12411
+12412
+12414
+12436
+12437
+12446
+12447
+12460
+12461
+12462
+12463
+12464
+12465
+12466
+12467
+12468
+12469
+12470
+12471
+12472
+12473
+12474
+12475
+12476
+12477
+12478
+12479
+12480
+12481
+12482
+12483
+12485
+12486
+12487
+12488
+12489
+12490
+12496
+12498
+12499
+12501
+12502
+12504
+12505
+12507
+12508
+12510
+12532
+12533
+12535
+12539
+12542
+12543
+44032
+55204
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64285
+64286
+64287
+64288
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64335
+69786
+69787
+69788
+69789
+69803
+69804
+69934
+69936
+119134
+119141
+119227
+119233
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
index ef63f9fe466..1d0d4a020bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
@@ -1,259 +1,508 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0
-00A8
-00AA
-00AF
-00B2 00B5
-00B8 00BA
-00BC 00BE
-0132 0133
-013F 0140
-0149
-017F
-01C4 01CC
-01F1 01F3
-02B0 02B8
-02D8 02DD
-02E0 02E4
-0340 0341
-0343 0344
-0374
-037A
-037E
-0384 0385
-0387
-03D0 03D6
-03F0 03F2
-03F4 03F5
-03F9
-0587
-0675 0678
-0958 095F
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B5C 0B5D
-0E33
-0EB3
-0EDC 0EDD
-0F0C
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F73
-0F75 0F79
-0F81
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-10FC
-1D2C 1D2E
-1D30 1D3A
-1D3C 1D4D
-1D4F 1D6A
-1D78
-1D9B 1DBF
-1E9A 1E9B
-1F71
-1F73
-1F75
-1F77
-1F79
-1F7B
-1F7D
-1FBB
-1FBD 1FC1
-1FC9
-1FCB
-1FCD 1FCF
-1FD3
-1FDB
-1FDD 1FDF
-1FE3
-1FEB
-1FED 1FEF
-1FF9
-1FFB
-1FFD 1FFE
-2000 200A
-2011
-2017
-2024 2026
-202F
-2033 2034
-2036 2037
-203C
-203E
-2047 2049
-2057
-205F
-2070 2071
-2074 208E
-2090 209C
-20A8
-2100 2103
-2105 2107
-2109 2113
-2115 2116
-2119 211D
-2120 2122
-2124
-2126
-2128
-212A 212D
-212F 2131
-2133 2139
-213B 2140
-2145 2149
-2150 217F
-2189
-222C 222D
-222F 2230
-2329 232A
-2460 24EA
-2A0C
-2A74 2A76
-2ADC
-2C7C 2C7D
-2D6F
-2E9F
-2EF3
-2F00 2FD5
-3000
-3036
-3038 303A
-309B 309C
-309F
-30FF
-3131 318E
-3192 319F
-3200 321E
-3220 3247
-3250 327E
-3280 32FE
-3300 33FF
-A770
-A7F8 A7F9
-F900 FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB36
-FB38 FB3C
-FB3E
-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
-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
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1F100 1F10A
-1F110 1F12E
-1F130 1F14F
-1F16A 1F16B
-1F190
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
-2F800 2FA1D
+V494
+160
+161
+168
+169
+170
+171
+175
+176
+178
+182
+184
+187
+188
+191
+306
+308
+319
+321
+329
+330
+383
+384
+452
+461
+497
+500
+688
+697
+728
+734
+736
+741
+832
+834
+835
+837
+884
+885
+890
+891
+894
+895
+900
+902
+903
+904
+976
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1415
+1416
+1653
+1657
+2392
+2400
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2908
+2910
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3962
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4348
+4349
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7834
+7836
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8123
+8124
+8125
+8130
+8137
+8138
+8139
+8140
+8141
+8144
+8147
+8148
+8155
+8156
+8157
+8160
+8163
+8164
+8171
+8172
+8173
+8176
+8185
+8186
+8187
+8188
+8189
+8191
+8192
+8203
+8209
+8210
+8215
+8216
+8228
+8231
+8239
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8498
+8499
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8585
+8586
+8748
+8750
+8751
+8753
+9001
+9003
+9312
+9451
+10764
+10765
+10868
+10871
+10972
+10973
+11388
+11390
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12443
+12445
+12447
+12448
+12543
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42864
+42865
+43000
+43002
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+119134
+119141
+119227
+119233
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
index ef1f13b025c..edea96d53d1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
@@ -1,291 +1,571 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 009F
-00A1 00A7
-00A9
-00AB 00AE
-00B0 00B1
-00B6 00B7
-00BB
-00BF 0131
-0134 013E
-0141 0148
-014A 017E
-0180 01C3
-01CD 01F0
-01F4 02AF
-02B9 02D7
-02DE 02DF
-02E5 02FF
-0305
-030D 030E
-0310
-0312
-0315 031A
-031C 0322
-0329 032C
-032F
-0332 0337
-0339 033F
-0346 0373
-0375 0379
-037B 037D
-037F 0383
-0386
-0388 03CF
-03D7 03EF
-03F3
-03F6 03F8
-03FA 0586
-0588 0652
-0656 0674
-0679 093B
-093D 0957
-0960 09BD
-09BF 09D6
-09D8 09DB
-09DE
-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
-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
-1D79 1D9A
-1DC0 1E99
-1E9C 1F70
-1F72
-1F74
-1F76
-1F78
-1F7A
-1F7C
-1F7E 1FBA
-1FBC
-1FC2 1FC8
-1FCA
-1FCC
-1FD0 1FD2
-1FD4 1FDA
-1FDC
-1FE0 1FE2
-1FE4 1FEA
-1FEC
-1FF0 1FF8
-1FFA
-1FFC
-1FFF
-200B 2010
-2012 2016
-2018 2023
-2027 202E
-2030 2032
-2035
-2038 203B
-203D
-203F 2046
-204A 2056
-2058 205E
-2060 206F
-2072 2073
-208F
-209D 20A7
-20A9 20FF
-2104
-2108
-2114
-2117 2118
-211E 211F
-2123
-2125
-2127
-2129
-212E
-2132
-213A
-2141 2144
-214A 214F
-2180 2188
-218A 222B
-222E
-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
-309D 309E
-30A0 30FE
-3100 3130
-318F 3191
-31A0 31FF
-321F
-3248 324F
-327F
-32FF
-3400 A76F
-A771 A7F7
-A7FA F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFD FE0F
-FE1A FE2F
-FE45 FE46
-FE53
-FE67
-FE6C FE6F
-FE73
-FE75
-FEFD FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF 110B9
-110BB 11126
-11128 1D15D
-1D165 1D1BA
-1D1C1 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1F0FF
-1F10B 1F10F
-1F12F
-1F150 1F169
-1F16C 1F18F
-1F191 1F1FF
-1F203 1F20F
-1F23B 1F23F
-1F249 1F24F
-1F252 2F7FF
-2FA1E 10FFFF
+V557
+0
+160
+161
+168
+169
+170
+171
+175
+176
+178
+182
+184
+187
+188
+191
+306
+308
+319
+321
+329
+330
+383
+384
+452
+461
+497
+500
+688
+697
+728
+734
+736
+741
+768
+773
+774
+781
+783
+784
+785
+786
+787
+789
+795
+796
+803
+809
+813
+815
+816
+818
+824
+825
+832
+838
+884
+885
+890
+891
+894
+895
+900
+902
+903
+904
+976
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1415
+1416
+1619
+1622
+1653
+1657
+2364
+2365
+2392
+2400
+2494
+2495
+2519
+2520
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2878
+2879
+2902
+2904
+2908
+2910
+3006
+3007
+3031
+3032
+3158
+3159
+3266
+3267
+3285
+3287
+3390
+3391
+3415
+3416
+3530
+3531
+3535
+3536
+3551
+3552
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3962
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4142
+4143
+4348
+4349
+4449
+4470
+4520
+4547
+6965
+6966
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7834
+7836
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8123
+8124
+8125
+8130
+8137
+8138
+8139
+8140
+8141
+8144
+8147
+8148
+8155
+8156
+8157
+8160
+8163
+8164
+8171
+8172
+8173
+8176
+8185
+8186
+8187
+8188
+8189
+8191
+8192
+8203
+8209
+8210
+8215
+8216
+8228
+8231
+8239
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8498
+8499
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8585
+8586
+8748
+8750
+8751
+8753
+9001
+9003
+9312
+9451
+10764
+10765
+10868
+10871
+10972
+10973
+11388
+11390
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12441
+12445
+12447
+12448
+12543
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42864
+42865
+43000
+43002
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+69818
+69819
+69927
+69928
+119134
+119141
+119227
+119233
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
index 3a57cf5157f..05030d8b60b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
@@ -1,396 +1,782 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00A0
-00A8
-00AA
-00AF
-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
-038C
-038E 0390
-03AA 03B0
-03CA 03CE
-03D0 03D6
-03F0 03F2
-03F4 03F5
-03F9
-0400 0401
-0403
-0407
-040C 040E
-0419
-0439
-0450 0451
-0453
-0457
-045C 045E
-0476 0477
-04C1 04C2
-04D0 04D3
-04D6 04D7
-04DA 04DF
-04E2 04E7
-04EA 04F5
-04F8 04F9
-0587
-0622 0626
-0675 0678
-06C0
-06C2
-06D3
-0929
-0931
-0934
-0958 095F
-09CB 09CC
-09DC 09DD
-09DF
-0A33
-0A36
-0A59 0A5B
-0A5E
-0B48
-0B4B 0B4C
-0B5C 0B5D
-0B94
-0BCA 0BCC
-0C48
-0CC0
-0CC7 0CC8
-0CCA 0CCB
-0D4A 0D4C
-0DDA
-0DDC 0DDE
-0E33
-0EB3
-0EDC 0EDD
-0F0C
-0F43
-0F4D
-0F52
-0F57
-0F5C
-0F69
-0F73
-0F75 0F79
-0F81
-0F93
-0F9D
-0FA2
-0FA7
-0FAC
-0FB9
-1026
-10FC
-1B06
-1B08
-1B0A
-1B0C
-1B0E
-1B12
-1B3B
-1B3D
-1B40 1B41
-1B43
-1D2C 1D2E
-1D30 1D3A
-1D3C 1D4D
-1D4F 1D6A
-1D78
-1D9B 1DBF
-1E00 1E9B
-1EA0 1EF9
-1F00 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 200A
-2011
-2017
-2024 2026
-202F
-2033 2034
-2036 2037
-203C
-203E
-2047 2049
-2057
-205F
-2070 2071
-2074 208E
-2090 209C
-20A8
-2100 2103
-2105 2107
-2109 2113
-2115 2116
-2119 211D
-2120 2122
-2124
-2126
-2128
-212A 212D
-212F 2131
-2133 2139
-213B 2140
-2145 2149
-2150 217F
-2189
-219A 219B
-21AE
-21CD 21CF
-2204
-2209
-220C
-2224
-2226
-222C 222D
-222F 2230
-2241
-2244
-2247
-2249
-2260
-2262
-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
-2ADC
-2C7C 2C7D
-2D6F
-2E9F
-2EF3
-2F00 2FD5
-3000
-3036
-3038 303A
-304C
-304E
-3050
-3052
-3054
-3056
-3058
-305A
-305C
-305E
-3060
-3062
-3065
-3067
-3069
-3070 3071
-3073 3074
-3076 3077
-3079 307A
-307C 307D
-3094
-309B 309C
-309E 309F
-30AC
-30AE
-30B0
-30B2
-30B4
-30B6
-30B8
-30BA
-30BC
-30BE
-30C0
-30C2
-30C5
-30C7
-30C9
-30D0 30D1
-30D3 30D4
-30D6 30D7
-30D9 30DA
-30DC 30DD
-30F4
-30F7 30FA
-30FE 30FF
-3131 318E
-3192 319F
-3200 321E
-3220 3247
-3250 327E
-3280 32FE
-3300 33FF
-A770
-A7F8 A7F9
-AC00 D7A3
-F900 FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB36
-FB38 FB3C
-FB3E
-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
-FF01 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
-FFE0 FFE6
-FFE8 FFEE
-1109A
-1109C
-110AB
-1112E 1112F
-1D15E 1D164
-1D1BB 1D1C0
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1F100 1F10A
-1F110 1F12E
-1F130 1F14F
-1F16A 1F16B
-1F190
-1F200 1F202
-1F210 1F23A
-1F240 1F248
-1F250 1F251
-2F800 2FA1D
+V768
+160
+161
+168
+169
+170
+171
+175
+176
+178
+182
+184
+187
+188
+191
+192
+198
+199
+208
+209
+215
+217
+222
+224
+230
+231
+240
+241
+247
+249
+254
+255
+272
+274
+294
+296
+305
+306
+312
+313
+321
+323
+330
+332
+338
+340
+358
+360
+384
+416
+418
+431
+433
+452
+477
+478
+484
+486
+502
+504
+540
+542
+544
+550
+564
+688
+697
+728
+734
+736
+741
+832
+834
+835
+837
+884
+885
+890
+891
+894
+895
+900
+907
+908
+909
+910
+913
+938
+945
+970
+975
+976
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1024
+1026
+1027
+1028
+1031
+1032
+1036
+1039
+1049
+1050
+1081
+1082
+1104
+1106
+1107
+1108
+1111
+1112
+1116
+1119
+1142
+1144
+1217
+1219
+1232
+1236
+1238
+1240
+1242
+1248
+1250
+1256
+1258
+1270
+1272
+1274
+1415
+1416
+1570
+1575
+1653
+1657
+1728
+1729
+1730
+1731
+1747
+1748
+2345
+2346
+2353
+2354
+2356
+2357
+2392
+2400
+2507
+2509
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2888
+2889
+2891
+2893
+2908
+2910
+2964
+2965
+3018
+3021
+3144
+3145
+3264
+3265
+3271
+3273
+3274
+3276
+3402
+3405
+3546
+3547
+3548
+3551
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3962
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4134
+4135
+4348
+4349
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6930
+6931
+6971
+6972
+6973
+6974
+6976
+6978
+6979
+6980
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8203
+8209
+8210
+8215
+8216
+8228
+8231
+8239
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8498
+8499
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8585
+8586
+8602
+8604
+8622
+8623
+8653
+8656
+8708
+8709
+8713
+8714
+8716
+8717
+8740
+8741
+8742
+8743
+8748
+8750
+8751
+8753
+8769
+8770
+8772
+8773
+8775
+8776
+8777
+8778
+8800
+8801
+8802
+8803
+8813
+8818
+8820
+8822
+8824
+8826
+8832
+8834
+8836
+8838
+8840
+8842
+8876
+8880
+8928
+8932
+8938
+8942
+9001
+9003
+9312
+9451
+10764
+10765
+10868
+10871
+10972
+10973
+11388
+11390
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12364
+12365
+12366
+12367
+12368
+12369
+12370
+12371
+12372
+12373
+12374
+12375
+12376
+12377
+12378
+12379
+12380
+12381
+12382
+12383
+12384
+12385
+12386
+12387
+12389
+12390
+12391
+12392
+12393
+12394
+12400
+12402
+12403
+12405
+12406
+12408
+12409
+12411
+12412
+12414
+12436
+12437
+12443
+12445
+12446
+12448
+12460
+12461
+12462
+12463
+12464
+12465
+12466
+12467
+12468
+12469
+12470
+12471
+12472
+12473
+12474
+12475
+12476
+12477
+12478
+12479
+12480
+12481
+12482
+12483
+12485
+12486
+12487
+12488
+12489
+12490
+12496
+12498
+12499
+12501
+12502
+12504
+12505
+12507
+12508
+12510
+12532
+12533
+12535
+12539
+12542
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42864
+42865
+43000
+43002
+44032
+55204
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+69786
+69787
+69788
+69789
+69803
+69804
+69934
+69936
+119134
+119141
+119227
+119233
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl
index f88241c6576..d5d0f24be9f 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl
@@ -1,397 +1,783 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 009F
-00A1 00A7
-00A9
-00AB 00AE
-00B0 00B1
-00B6 00B7
-00BB
-00BF
-00C6
-00D0
-00D7 00D8
-00DE 00DF
-00E6
-00F0
-00F7 00F8
-00FE
-0110 0111
-0126 0127
-0131
-0138
-0141 0142
-014A 014B
-0152 0153
-0166 0167
-0180 019F
-01A2 01AE
-01B1 01C3
-01DD
-01E4 01E5
-01F6 01F7
-021C 021D
-0220 0225
-0234 02AF
-02B9 02D7
-02DE 02DF
-02E5 033F
-0342
-0345 0373
-0375 0379
-037B 037D
-037F 0383
-038B
-038D
-0391 03A9
-03B1 03C9
-03CF
-03D7 03EF
-03F3
-03F6 03F8
-03FA 03FF
-0402
-0404 0406
-0408 040B
-040F 0418
-041A 0438
-043A 044F
-0452
-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
-06D4 0928
-092A 0930
-0932 0933
-0935 0957
-0960 09CA
-09CD 09DB
-09DE
-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
-0D4D 0DD9
-0DDB
-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
-0F82 0F92
-0F94 0F9C
-0F9E 0FA1
-0FA3 0FA6
-0FA8 0FAB
-0FAD 0FB8
-0FBA 1025
-1027 10FB
-10FD 1B05
-1B07
-1B09
-1B0B
-1B0D
-1B0F 1B11
-1B13 1B3A
-1B3C
-1B3E 1B3F
-1B42
-1B44 1D2B
-1D2F
-1D3B
-1D4E
-1D6B 1D77
-1D79 1D9A
-1DC0 1DFF
-1E9C 1E9F
-1EFA 1EFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-200B 2010
-2012 2016
-2018 2023
-2027 202E
-2030 2032
-2035
-2038 203B
-203D
-203F 2046
-204A 2056
-2058 205E
-2060 206F
-2072 2073
-208F
-209D 20A7
-20A9 20FF
-2104
-2108
-2114
-2117 2118
-211E 211F
-2123
-2125
-2127
-2129
-212E
-2132
-213A
-2141 2144
-214A 214F
-2180 2188
-218A 2199
-219C 21AD
-21AF 21CC
-21D0 2203
-2205 2208
-220A 220B
-220D 2223
-2225
-2227 222B
-222E
-2231 2240
-2242 2243
-2245 2246
-2248
-224A 225F
-2261
-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
-304D
-304F
-3051
-3053
-3055
-3057
-3059
-305B
-305D
-305F
-3061
-3063 3064
-3066
-3068
-306A 306F
-3072
-3075
-3078
-307B
-307E 3093
-3095 309A
-309D
-30A0 30AB
-30AD
-30AF
-30B1
-30B3
-30B5
-30B7
-30B9
-30BB
-30BD
-30BF
-30C1
-30C3 30C4
-30C6
-30C8
-30CA 30CF
-30D2
-30D5
-30D8
-30DB
-30DE 30F3
-30F5 30F6
-30FB 30FD
-3100 3130
-318F 3191
-31A0 31FF
-321F
-3248 324F
-327F
-32FF
-3400 A76F
-A771 A7F7
-A7FA ABFF
-D7A4 F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFD FE0F
-FE1A FE2F
-FE45 FE46
-FE53
-FE67
-FE6C FE6F
-FE73
-FE75
-FEFD FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF 11099
-1109B
-1109D 110AA
-110AC 1112D
-11130 1D15D
-1D165 1D1BA
-1D1C1 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1F0FF
-1F10B 1F10F
-1F12F
-1F150 1F169
-1F16C 1F18F
-1F191 1F1FF
-1F203 1F20F
-1F23B 1F23F
-1F249 1F24F
-1F252 2F7FF
-2FA1E 10FFFF
+V769
+0
+160
+161
+168
+169
+170
+171
+175
+176
+178
+182
+184
+187
+188
+191
+192
+198
+199
+208
+209
+215
+217
+222
+224
+230
+231
+240
+241
+247
+249
+254
+255
+272
+274
+294
+296
+305
+306
+312
+313
+321
+323
+330
+332
+338
+340
+358
+360
+384
+416
+418
+431
+433
+452
+477
+478
+484
+486
+502
+504
+540
+542
+544
+550
+564
+688
+697
+728
+734
+736
+741
+832
+834
+835
+837
+884
+885
+890
+891
+894
+895
+900
+907
+908
+909
+910
+913
+938
+945
+970
+975
+976
+983
+1008
+1011
+1012
+1014
+1017
+1018
+1024
+1026
+1027
+1028
+1031
+1032
+1036
+1039
+1049
+1050
+1081
+1082
+1104
+1106
+1107
+1108
+1111
+1112
+1116
+1119
+1142
+1144
+1217
+1219
+1232
+1236
+1238
+1240
+1242
+1248
+1250
+1256
+1258
+1270
+1272
+1274
+1415
+1416
+1570
+1575
+1653
+1657
+1728
+1729
+1730
+1731
+1747
+1748
+2345
+2346
+2353
+2354
+2356
+2357
+2392
+2400
+2507
+2509
+2524
+2526
+2527
+2528
+2611
+2612
+2614
+2615
+2649
+2652
+2654
+2655
+2888
+2889
+2891
+2893
+2908
+2910
+2964
+2965
+3018
+3021
+3144
+3145
+3264
+3265
+3271
+3273
+3274
+3276
+3402
+3405
+3546
+3547
+3548
+3551
+3635
+3636
+3763
+3764
+3804
+3806
+3852
+3853
+3907
+3908
+3917
+3918
+3922
+3923
+3927
+3928
+3932
+3933
+3945
+3946
+3955
+3956
+3957
+3962
+3969
+3970
+3987
+3988
+3997
+3998
+4002
+4003
+4007
+4008
+4012
+4013
+4025
+4026
+4134
+4135
+4348
+4349
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6930
+6931
+6971
+6972
+6973
+6974
+6976
+6978
+6979
+6980
+7468
+7471
+7472
+7483
+7484
+7502
+7503
+7531
+7544
+7545
+7579
+7616
+7680
+7836
+7840
+7930
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8203
+8209
+8210
+8215
+8216
+8228
+8231
+8239
+8240
+8243
+8245
+8246
+8248
+8252
+8253
+8254
+8255
+8263
+8266
+8279
+8280
+8287
+8288
+8304
+8306
+8308
+8335
+8336
+8349
+8360
+8361
+8448
+8452
+8453
+8456
+8457
+8468
+8469
+8471
+8473
+8478
+8480
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8498
+8499
+8506
+8507
+8513
+8517
+8522
+8528
+8576
+8585
+8586
+8602
+8604
+8622
+8623
+8653
+8656
+8708
+8709
+8713
+8714
+8716
+8717
+8740
+8741
+8742
+8743
+8748
+8750
+8751
+8753
+8769
+8770
+8772
+8773
+8775
+8776
+8777
+8778
+8800
+8801
+8802
+8803
+8813
+8818
+8820
+8822
+8824
+8826
+8832
+8834
+8836
+8838
+8840
+8842
+8876
+8880
+8928
+8932
+8938
+8942
+9001
+9003
+9312
+9451
+10764
+10765
+10868
+10871
+10972
+10973
+11388
+11390
+11631
+11632
+11935
+11936
+12019
+12020
+12032
+12246
+12288
+12289
+12342
+12343
+12344
+12347
+12364
+12365
+12366
+12367
+12368
+12369
+12370
+12371
+12372
+12373
+12374
+12375
+12376
+12377
+12378
+12379
+12380
+12381
+12382
+12383
+12384
+12385
+12386
+12387
+12389
+12390
+12391
+12392
+12393
+12394
+12400
+12402
+12403
+12405
+12406
+12408
+12409
+12411
+12412
+12414
+12436
+12437
+12443
+12445
+12446
+12448
+12460
+12461
+12462
+12463
+12464
+12465
+12466
+12467
+12468
+12469
+12470
+12471
+12472
+12473
+12474
+12475
+12476
+12477
+12478
+12479
+12480
+12481
+12482
+12483
+12485
+12486
+12487
+12488
+12489
+12490
+12496
+12498
+12499
+12501
+12502
+12504
+12505
+12507
+12508
+12510
+12532
+12533
+12535
+12539
+12542
+12544
+12593
+12687
+12690
+12704
+12800
+12831
+12832
+12872
+12880
+12927
+12928
+13055
+13056
+13312
+42864
+42865
+43000
+43002
+44032
+55204
+63744
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65136
+65139
+65140
+65141
+65142
+65277
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+69786
+69787
+69788
+69789
+69803
+69804
+69934
+69936
+119134
+119141
+119227
+119233
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127232
+127243
+127248
+127279
+127280
+127312
+127338
+127340
+127376
+127377
+127488
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
index 8c322f43d88..fa6b8106cbb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
@@ -1,32 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00B2 00B3
-00B9
-1369 1371
-19DA
-2070
-2074 2079
-2080 2089
-2460 2468
-2474 247C
-2488 2490
-24EA
-24F5 24FD
-24FF
-2776 277E
-2780 2788
-278A 2792
-10A40 10A43
-10E60 10E68
-11052 1105A
-1F100 1F10A
+V40
+178
+180
+185
+186
+4969
+4978
+6618
+6619
+8304
+8305
+8308
+8314
+8320
+8330
+9312
+9321
+9332
+9341
+9352
+9361
+9450
+9451
+9461
+9470
+9471
+9472
+10102
+10111
+10112
+10121
+10122
+10131
+68160
+68164
+69216
+69225
+69714
+69723
+127232
+127243
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl
index cd4ef93be6a..92b3e0e4d3e 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl
@@ -1,173 +1,335 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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 3247
-3250
-3260 327F
-328A 32B0
-32C0 3404
-3406 3482
-3484 3829
-382B 3B4C
-3B4E 4DFF
-4E01 4E02
-4E04 4E06
-4E08
-4E0A 4E5C
-4E5E 4E8B
-4E8D 4E93
-4E95
-4E97 4EBE
-4EC1 4EDE
-4EE0 4EE7
-4EE9 4F0C
-4F0E 4F6F
-4F71 5103
-5105 5145
-5147 5168
-516A
-516C
-516E 5340
-5342
-5346 534B
-534D 53C0
-53C5 56DA
-56DC 58F0
-58F2 58F8
-58FA 5E79
-5E7B 5EFD
-5F00 5F0B
-5F0F
-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
-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 110EF
-110FA 11135
-11140 111CF
-111DA 116BF
-116CA 123FF
-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
+V321
+0
+48
+58
+178
+180
+185
+186
+188
+191
+1632
+1642
+1776
+1786
+1984
+1994
+2406
+2416
+2534
+2544
+2548
+2554
+2662
+2672
+2790
+2800
+2918
+2928
+2930
+2936
+3046
+3059
+3174
+3184
+3192
+3199
+3302
+3312
+3430
+3446
+3664
+3674
+3792
+3802
+3872
+3892
+4160
+4170
+4240
+4250
+4969
+4989
+5870
+5873
+6112
+6122
+6128
+6138
+6160
+6170
+6470
+6480
+6608
+6619
+6784
+6794
+6800
+6810
+6992
+7002
+7088
+7098
+7232
+7242
+7248
+7258
+8304
+8305
+8308
+8314
+8320
+8330
+8528
+8579
+8581
+8586
+9312
+9372
+9450
+9472
+10102
+10132
+11517
+11518
+12295
+12296
+12321
+12330
+12344
+12347
+12690
+12694
+12832
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+13317
+13318
+13443
+13444
+14378
+14379
+15181
+15182
+19968
+19969
+19971
+19972
+19975
+19976
+19977
+19978
+20061
+20062
+20108
+20109
+20116
+20117
+20118
+20119
+20159
+20161
+20191
+20192
+20200
+20201
+20237
+20238
+20336
+20337
+20740
+20741
+20806
+20807
+20841
+20842
+20843
+20844
+20845
+20846
+21313
+21314
+21315
+21318
+21324
+21325
+21441
+21445
+22235
+22236
+22769
+22770
+22777
+22778
+24186
+24187
+24318
+24320
+24332
+24335
+24336
+24337
+25342
+25343
+25420
+25421
+26578
+26579
+28422
+28423
+29590
+29591
+30334
+30335
+32902
+32903
+33836
+33837
+36014
+36015
+36019
+36020
+36144
+36145
+38433
+38434
+38470
+38471
+38476
+38477
+38520
+38521
+38646
+38647
+42528
+42538
+42726
+42736
+43056
+43062
+43216
+43226
+43264
+43274
+43472
+43482
+43600
+43610
+44016
+44026
+63851
+63852
+63859
+63860
+63864
+63865
+63922
+63923
+63953
+63954
+63955
+63956
+63997
+63998
+65296
+65306
+65799
+65844
+65856
+65913
+65930
+65931
+66336
+66340
+66369
+66370
+66378
+66379
+66513
+66518
+66720
+66730
+67672
+67680
+67862
+67868
+68160
+68168
+68221
+68223
+68440
+68448
+68472
+68480
+69216
+69247
+69714
+69744
+69872
+69882
+69942
+69952
+70096
+70106
+71360
+71370
+74752
+74851
+119648
+119666
+120782
+120832
+127232
+127243
+131073
+131074
+131172
+131173
+131298
+131299
+131361
+131362
+133418
+133419
+133507
+133508
+133516
+133517
+133532
+133533
+133866
+133867
+133885
+133886
+133913
+133914
+140176
+140177
+141720
+141721
+146203
+146204
+156269
+156270
+194704
+194705
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
index e0b14afffa6..22c410608b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
@@ -1,133 +1,256 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
-3038 303A
-3192 3195
-3220 3229
-3248 324F
-3251 325F
-3280 3289
-32B1 32BF
-3405
-3483
-382A
-3B4D
-4E00
-4E03
-4E07
-4E09
-4E5D
-4E8C
-4E94
-4E96
-4EBF 4EC0
-4EDF
-4EE8
-4F0D
-4F70
-5104
-5146
-5169
-516B
-516D
-5341
-5343 5345
-534C
-53C1 53C4
-56DB
-58F1
-58F9
-5E7A
-5EFE 5EFF
-5F0C 5F0E
-5F10
-62FE
-634C
-67D2
-6F06
-7396
-767E
-8086
-842C
-8CAE
-8CB3
-8D30
-9621
-9646
-964C
-9678
-96F6
-A6E6 A6EF
-A830 A835
-F96B
-F973
-F978
-F9B2
-F9D1
-F9D3
-F9FD
-10107 10133
-10140 10178
-1018A
-10320 10323
-10341
-1034A
-103D1 103D5
-10858 1085F
-10916 1091B
-10A44 10A47
-10A7D 10A7E
-10B58 10B5F
-10B78 10B7F
-10E69 10E7E
-1105B 11065
-12400 12462
-1D360 1D371
-20001
-20064
-200E2
-20121
-2092A
-20983
-2098C
-2099C
-20AEA
-20AFD
-20B19
-22390
-22998
-23B1B
-2626D
-2F890
+V242
+188
+191
+2548
+2554
+2930
+2936
+3056
+3059
+3192
+3199
+3440
+3446
+3882
+3892
+4978
+4989
+5870
+5873
+6128
+6138
+8528
+8579
+8581
+8586
+9321
+9332
+9341
+9352
+9361
+9372
+9451
+9461
+9470
+9471
+10111
+10112
+10121
+10122
+10131
+10132
+11517
+11518
+12295
+12296
+12321
+12330
+12344
+12347
+12690
+12694
+12832
+12842
+12872
+12880
+12881
+12896
+12928
+12938
+12977
+12992
+13317
+13318
+13443
+13444
+14378
+14379
+15181
+15182
+19968
+19969
+19971
+19972
+19975
+19976
+19977
+19978
+20061
+20062
+20108
+20109
+20116
+20117
+20118
+20119
+20159
+20161
+20191
+20192
+20200
+20201
+20237
+20238
+20336
+20337
+20740
+20741
+20806
+20807
+20841
+20842
+20843
+20844
+20845
+20846
+21313
+21314
+21315
+21318
+21324
+21325
+21441
+21445
+22235
+22236
+22769
+22770
+22777
+22778
+24186
+24187
+24318
+24320
+24332
+24335
+24336
+24337
+25342
+25343
+25420
+25421
+26578
+26579
+28422
+28423
+29590
+29591
+30334
+30335
+32902
+32903
+33836
+33837
+36014
+36015
+36019
+36020
+36144
+36145
+38433
+38434
+38470
+38471
+38476
+38477
+38520
+38521
+38646
+38647
+42726
+42736
+43056
+43062
+63851
+63852
+63859
+63860
+63864
+63865
+63922
+63923
+63953
+63954
+63955
+63956
+63997
+63998
+65799
+65844
+65856
+65913
+65930
+65931
+66336
+66340
+66369
+66370
+66378
+66379
+66513
+66518
+67672
+67680
+67862
+67868
+68164
+68168
+68221
+68223
+68440
+68448
+68472
+68480
+69225
+69247
+69723
+69734
+74752
+74851
+119648
+119666
+131073
+131074
+131172
+131173
+131298
+131299
+131361
+131362
+133418
+133419
+133507
+133508
+133516
+133517
+133532
+133533
+133866
+133867
+133885
+133886
+133913
+133914
+140176
+140177
+141720
+141721
+146203
+146204
+156269
+156270
+194704
+194705
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
index 13273c8039b..9535c86bf68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
@@ -1,71 +1,132 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030
-0660
-06F0
-07C0
-0966
-09E6
-0A66
-0AE6
-0B66
-0BE6
-0C66
-0C78
-0CE6
-0D66
-0E50
-0ED0
-0F20
-1040
-1090
-17E0
-17F0
-1810
-1946
-19D0
-1A80
-1A90
-1B50
-1BB0
-1C40
-1C50
-2070
-2080
-2189
-24EA
-24FF
-3007
-96F6
-A620
-A6EF
-A8D0
-A900
-A9D0
-AA50
-ABF0
-F9B2
-FF10
-1018A
-104A0
-11066
-110F0
-11136
-111D0
-116C0
-1D7CE
-1D7D8
-1D7E2
-1D7EC
-1D7F6
-1F100 1F101
+V118
+48
+49
+1632
+1633
+1776
+1777
+1984
+1985
+2406
+2407
+2534
+2535
+2662
+2663
+2790
+2791
+2918
+2919
+3046
+3047
+3174
+3175
+3192
+3193
+3302
+3303
+3430
+3431
+3664
+3665
+3792
+3793
+3872
+3873
+4160
+4161
+4240
+4241
+6112
+6113
+6128
+6129
+6160
+6161
+6470
+6471
+6608
+6609
+6784
+6785
+6800
+6801
+6992
+6993
+7088
+7089
+7232
+7233
+7248
+7249
+8304
+8305
+8320
+8321
+8585
+8586
+9450
+9451
+9471
+9472
+12295
+12296
+38646
+38647
+42528
+42529
+42735
+42736
+43216
+43217
+43264
+43265
+43472
+43473
+43600
+43601
+44016
+44017
+63922
+63923
+65296
+65297
+65930
+65931
+66720
+66721
+69734
+69735
+69872
+69873
+69942
+69943
+70096
+70097
+71360
+71361
+120782
+120783
+120792
+120793
+120802
+120803
+120812
+120813
+120822
+120823
+127232
+127234
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
index 934524f0905..633587251dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
@@ -1,106 +1,202 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0031
-00B9
-0661
-06F1
-07C1
-0967
-09E7
-0A67
-0AE7
-0B67
-0BE7
-0C67
-0C79
-0C7C
-0CE7
-0D67
-0E51
-0ED1
-0F21
-1041
-1091
-1369
-17E1
-17F1
-1811
-1947
-19D1
-19DA
-1A81
-1A91
-1B51
-1BB1
-1C41
-1C51
-2081
-215F 2160
-2170
-2460
-2474
-2488
-24F5
-2776
-2780
-278A
-3021
-3192
-3220
-3280
-4E00
-58F1
-58F9
-5E7A
-5F0C
-A621
-A6E6
-A8D1
-A901
-A9D1
-AA51
-ABF1
-FF11
-10107
-10142
-10158 1015A
-10320
-103D1
-104A1
-10858
-10916
-10A40
-10A7D
-10B58
-10B78
-10E60
-11052
-11067
-110F1
-11137
-111D1
-116C1
-12415
-1241E
-1242C
-12434
-1244F
-12458
-1D360
-1D7CF
-1D7D9
-1D7E3
-1D7ED
-1D7F7
-1F102
-2092A
+V188
+49
+50
+185
+186
+1633
+1634
+1777
+1778
+1985
+1986
+2407
+2408
+2535
+2536
+2663
+2664
+2791
+2792
+2919
+2920
+3047
+3048
+3175
+3176
+3193
+3194
+3196
+3197
+3303
+3304
+3431
+3432
+3665
+3666
+3793
+3794
+3873
+3874
+4161
+4162
+4241
+4242
+4969
+4970
+6113
+6114
+6129
+6130
+6161
+6162
+6471
+6472
+6609
+6610
+6618
+6619
+6785
+6786
+6801
+6802
+6993
+6994
+7089
+7090
+7233
+7234
+7249
+7250
+8321
+8322
+8543
+8545
+8560
+8561
+9312
+9313
+9332
+9333
+9352
+9353
+9461
+9462
+10102
+10103
+10112
+10113
+10122
+10123
+12321
+12322
+12690
+12691
+12832
+12833
+12928
+12929
+19968
+19969
+22769
+22770
+22777
+22778
+24186
+24187
+24332
+24333
+42529
+42530
+42726
+42727
+43217
+43218
+43265
+43266
+43473
+43474
+43601
+43602
+44017
+44018
+65297
+65298
+65799
+65800
+65858
+65859
+65880
+65883
+66336
+66337
+66513
+66514
+66721
+66722
+67672
+67673
+67862
+67863
+68160
+68161
+68221
+68222
+68440
+68441
+68472
+68473
+69216
+69217
+69714
+69715
+69735
+69736
+69873
+69874
+69943
+69944
+70097
+70098
+71361
+71362
+74773
+74774
+74782
+74783
+74796
+74797
+74804
+74805
+74831
+74832
+74840
+74841
+119648
+119649
+120783
+120784
+120793
+120794
+120803
+120804
+120813
+120814
+120823
+120824
+127234
+127235
+133418
+133419
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
index 3f76a103e5b..e71f5a0115b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
@@ -1,48 +1,86 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0BF0
-0D70
-1372
-2169
-2179
-2469
-247D
-2491
-24FE
-277F
-2789
-2793
-3038
-3229
-3248
-3289
-4EC0
-5341
-62FE
-F973
-F9FD
-10110
-10149
-10150
-10157
-10160 10164
-10322
-103D3
-1085B
-10917
-10A44
-10B5C
-10B7C
-10E69
-1105B
-1D369
+V72
+3056
+3057
+3440
+3441
+4978
+4979
+8553
+8554
+8569
+8570
+9321
+9322
+9341
+9342
+9361
+9362
+9470
+9471
+10111
+10112
+10121
+10122
+10131
+10132
+12344
+12345
+12841
+12842
+12872
+12873
+12937
+12938
+20160
+20161
+21313
+21314
+25342
+25343
+63859
+63860
+63997
+63998
+65808
+65809
+65865
+65866
+65872
+65873
+65879
+65880
+65888
+65893
+66338
+66339
+66515
+66516
+67675
+67676
+67863
+67864
+68164
+68165
+68444
+68445
+68476
+68477
+69225
+69226
+69723
+69724
+119657
+119658
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
index 514d8265e8d..53c20ddd401 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
@@ -1,32 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0BF1
-0D71
-137B
-216D
-217D
-4F70
-767E
-964C
-10119
-1014B
-10152
-1016A
-103D5
-1085D
-10919
-10A46
-10B5E
-10B7E
-10E72
-11064
+V40
+3057
+3058
+3441
+3442
+4987
+4988
+8557
+8558
+8573
+8574
+20336
+20337
+30334
+30335
+38476
+38477
+65817
+65818
+65867
+65868
+65874
+65875
+65898
+65899
+66517
+66518
+67677
+67678
+67865
+67866
+68166
+68167
+68446
+68447
+68478
+68479
+69234
+69235
+69732
+69733
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
index 73fbe0c039e..6b37bb86532 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
@@ -1,28 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0BF2
-0D72
-216F
-217F 2180
-4EDF
-5343
-9621
-10122
-1014D
-10154
-10171
-1085E
-10A47
-10B5F
-10B7F
-11065
+V32
+3058
+3059
+3442
+3443
+8559
+8560
+8575
+8577
+20191
+20192
+21315
+21316
+38433
+38434
+65826
+65827
+65869
+65870
+65876
+65877
+65905
+65906
+67678
+67679
+68167
+68168
+68447
+68448
+68479
+68480
+69733
+69734
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
index 0be0d50f7f6..5186ca8098b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-137C
-2182
-4E07
-842C
-1012B
-10155
-1085F
+V14
+4988
+4989
+8578
+8579
+19975
+19976
+33836
+33837
+65835
+65836
+65877
+65878
+67679
+67680
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
deleted file mode 100644
index eee0f2913ae..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2188
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
deleted file mode 100644
index 1f889a1ee30..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-4EBF
-5104
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
deleted file mode 100644
index 5c7d438c34c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-5146
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
index af84fbd798a..e0b616528b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-216A
-217A
-246A
-247E
-2492
-24EB
+V12
+8554
+8555
+8570
+8571
+9322
+9323
+9342
+9343
+9362
+9363
+9451
+9452
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
deleted file mode 100644
index 5296b63d82d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F2F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
index 1d0bdc47ca5..e996fb37f20 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-216B
-217B
-246B
-247F
-2493
-24EC
+V12
+8555
+8556
+8571
+8572
+9323
+9324
+9343
+9344
+9363
+9364
+9452
+9453
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
index 39dd2ac055b..00f520901c6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-246C
-2480
-2494
-24ED
+V8
+9324
+9325
+9344
+9345
+9364
+9365
+9453
+9454
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
deleted file mode 100644
index aa91cc7ec2a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F30
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
index a36fd923e85..9cdb65a2ac9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-246D
-2481
-2495
-24EE
+V8
+9325
+9326
+9345
+9346
+9365
+9366
+9454
+9455
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
index 14f0b36ba0c..4aec86caa2a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-246E
-2482
-2496
-24EF
+V8
+9326
+9327
+9346
+9347
+9366
+9367
+9455
+9456
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
deleted file mode 100644
index 2cf4ba36245..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F31
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
index 83751e3b7ea..29b05908142 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-09F9
-246F
-2483
-2497
-24F0
+V10
+2553
+2554
+9327
+9328
+9347
+9348
+9367
+9368
+9456
+9457
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
index 34a0472d331..3bb1e79aca9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-16EE
-2470
-2484
-2498
-24F1
+V10
+5870
+5871
+9328
+9329
+9348
+9349
+9368
+9369
+9457
+9458
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
deleted file mode 100644
index 0554046c73e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F32
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
index 4f83a59bc64..91d1cc4f2fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-16EF
-2471
-2485
-2499
-24F2
+V10
+5871
+5872
+9329
+9330
+9349
+9350
+9369
+9370
+9458
+9459
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
index 42517c3be59..cab0b28571d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-16F0
-2472
-2486
-249A
-24F3
+V10
+5872
+5873
+9330
+9331
+9350
+9351
+9370
+9371
+9459
+9460
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
deleted file mode 100644
index 1fd2ee9cea6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2152
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
deleted file mode 100644
index 203fa589182..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 8a5effb4262..442973ee409 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00BD
-0B73
-0D74
-0F2A
-2CFD
-A831
-10141
-10175 10176
-10E7B
+V18
+189
+190
+2931
+2932
+3444
+3445
+3882
+3883
+11517
+11518
+43057
+43058
+65857
+65858
+65909
+65911
+69243
+69244
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 5a83c56eaa8..a19e7bfc10c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2153
-10E7D
-1245A
-1245D
+V8
+8531
+8532
+69245
+69246
+74842
+74843
+74845
+74846
END
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 ad5719961dd..0db79afc222 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00BC
-09F7
-0B72
-0D73
-A830
-10140
-10E7C
-12460
-12462
+V18
+188
+189
+2551
+2552
+2930
+2931
+3443
+3444
+43056
+43057
+65856
+65857
+69244
+69245
+74848
+74849
+74850
+74851
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
deleted file mode 100644
index 1fe36c4660f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2155
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
deleted file mode 100644
index 79633dce95f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2159
-12461
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
deleted file mode 100644
index 819741dd208..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2150
-END
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 bc071c12728..79c369814bd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-09F5
-0B76
-215B
-A834
-1245F
+V10
+2549
+2550
+2934
+2935
+8539
+8540
+43060
+43061
+74847
+74848
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
deleted file mode 100644
index 9f129e8e33a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2151
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
index 18b34de0268..65f9df4400c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
@@ -1,109 +1,210 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0032
-00B2
-0662
-06F2
-07C2
-0968
-09E8
-0A68
-0AE8
-0B68
-0BE8
-0C68
-0C7A
-0C7D
-0CE8
-0D68
-0E52
-0ED2
-0F22
-1042
-1092
-136A
-17E2
-17F2
-1812
-1948
-19D2
-1A82
-1A92
-1B52
-1BB2
-1C42
-1C52
-2082
-2161
-2171
-2461
-2475
-2489
-24F6
-2777
-2781
-278B
-3022
-3193
-3221
-3281
-3483
-4E8C
-5169
-5F0D
-5F10
-8CAE
-8CB3
-8D30
-A622
-A6E7
-A8D2
-A902
-A9D2
-AA52
-ABF2
-F978
-FF12
-10108
-1015B 1015E
-103D2
-104A2
-10859
-1091A
-10A41
-10B59
-10B79
-10E61
-11053
-11068
-110F2
-11138
-111D2
-116C2
-12400
-12416
-1241F
-12423
-1242D
-12435
-1244A
-12450
-12459
-1D361
-1D7D0
-1D7DA
-1D7E4
-1D7EE
-1D7F8
-1F103
-22390
+V196
+50
+51
+178
+179
+1634
+1635
+1778
+1779
+1986
+1987
+2408
+2409
+2536
+2537
+2664
+2665
+2792
+2793
+2920
+2921
+3048
+3049
+3176
+3177
+3194
+3195
+3197
+3198
+3304
+3305
+3432
+3433
+3666
+3667
+3794
+3795
+3874
+3875
+4162
+4163
+4242
+4243
+4970
+4971
+6114
+6115
+6130
+6131
+6162
+6163
+6472
+6473
+6610
+6611
+6786
+6787
+6802
+6803
+6994
+6995
+7090
+7091
+7234
+7235
+7250
+7251
+8322
+8323
+8545
+8546
+8561
+8562
+9313
+9314
+9333
+9334
+9353
+9354
+9462
+9463
+10103
+10104
+10113
+10114
+10123
+10124
+12322
+12323
+12691
+12692
+12833
+12834
+12929
+12930
+13443
+13444
+20108
+20109
+20841
+20842
+24333
+24334
+24336
+24337
+36014
+36015
+36019
+36020
+36144
+36145
+42530
+42531
+42727
+42728
+43218
+43219
+43266
+43267
+43474
+43475
+43602
+43603
+44018
+44019
+63864
+63865
+65298
+65299
+65800
+65801
+65883
+65887
+66514
+66515
+66722
+66723
+67673
+67674
+67866
+67867
+68161
+68162
+68441
+68442
+68473
+68474
+69217
+69218
+69715
+69716
+69736
+69737
+69874
+69875
+69944
+69945
+70098
+70099
+71362
+71363
+74752
+74753
+74774
+74775
+74783
+74784
+74787
+74788
+74797
+74798
+74805
+74806
+74826
+74827
+74832
+74833
+74838
+74839
+74841
+74842
+119649
+119650
+120784
+120785
+120794
+120795
+120804
+120805
+120814
+120815
+120824
+120825
+127235
+127236
+140176
+140177
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
index 916916eb94b..07957177973 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
@@ -1,31 +1,52 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1373
-2473
-2487
-249B
-24F4
-3039
-3249
-5344
-5EFF
-10111
-103D4
-1085C
-10918
-10A45
-10B5D
-10B7D
-10E6A
-1105C
-1D36A
+V38
+4979
+4980
+9331
+9332
+9351
+9352
+9371
+9372
+9460
+9461
+12345
+12346
+12873
+12874
+21316
+21317
+24319
+24320
+65809
+65810
+66516
+66517
+67676
+67677
+67864
+67865
+68165
+68166
+68445
+68446
+68477
+68478
+69226
+69227
+69724
+69725
+119658
+119659
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
deleted file mode 100644
index 455edc57e56..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1011A
-10E73
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
deleted file mode 100644
index df68cc2b132..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10123
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
deleted file mode 100644
index d07f0fb21ff..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1012C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
deleted file mode 100644
index 74d0419b7e4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3251
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/216000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/216000.pl
deleted file mode 100755
index ea752105485..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/216000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-12432
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
deleted file mode 100644
index 73b8f6ce5da..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3252
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
deleted file mode 100644
index ef942c0b6d2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3253
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
deleted file mode 100644
index da295709e14..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3254
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
deleted file mode 100644
index f28d8342622..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3255
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
deleted file mode 100644
index 112f2c3f730..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3256
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
deleted file mode 100644
index 37e37adce9e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3257
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
deleted file mode 100644
index 2fb47993bbc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3258
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
deleted file mode 100644
index 2cf67361ec1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-3259
-END
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 eb06b2341a9..7343ed7cd54 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2154
-10177
-10E7E
-1245B
-1245E
+V10
+8532
+8533
+65911
+65912
+69246
+69247
+74843
+74844
+74846
+74847
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
deleted file mode 100644
index 77c8bce258e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2156
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
index 38e9a922b0f..89c86b46c9b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
@@ -1,107 +1,206 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0033
-00B3
-0663
-06F3
-07C3
-0969
-09E9
-0A69
-0AE9
-0B69
-0BE9
-0C69
-0C7B
-0C7E
-0CE9
-0D69
-0E53
-0ED3
-0F23
-1043
-1093
-136B
-17E3
-17F3
-1813
-1949
-19D3
-1A83
-1A93
-1B53
-1BB3
-1C43
-1C53
-2083
-2162
-2172
-2462
-2476
-248A
-24F7
-2778
-2782
-278C
-3023
-3194
-3222
-3282
-4E09
-4EE8
-53C1 53C4
-5F0E
-A623
-A6E8
-A8D3
-A903
-A9D3
-AA53
-ABF3
-F96B
-FF13
-10109
-104A3
-1085A
-1091B
-10A42
-10B5A
-10B7A
-10E62
-11054
-11069
-110F3
-11139
-111D3
-116C3
-12401
-12408
-12417
-12420
-12424 12425
-1242E 1242F
-12436 12437
-1243A 1243B
-1244B
-12451
-1D362
-1D7D1
-1D7DB
-1D7E5
-1D7EF
-1D7F9
-1F104
-20AFD
-20B19
-22998
-23B1B
+V192
+51
+52
+179
+180
+1635
+1636
+1779
+1780
+1987
+1988
+2409
+2410
+2537
+2538
+2665
+2666
+2793
+2794
+2921
+2922
+3049
+3050
+3177
+3178
+3195
+3196
+3198
+3199
+3305
+3306
+3433
+3434
+3667
+3668
+3795
+3796
+3875
+3876
+4163
+4164
+4243
+4244
+4971
+4972
+6115
+6116
+6131
+6132
+6163
+6164
+6473
+6474
+6611
+6612
+6787
+6788
+6803
+6804
+6995
+6996
+7091
+7092
+7235
+7236
+7251
+7252
+8323
+8324
+8546
+8547
+8562
+8563
+9314
+9315
+9334
+9335
+9354
+9355
+9463
+9464
+10104
+10105
+10114
+10115
+10124
+10125
+12323
+12324
+12692
+12693
+12834
+12835
+12930
+12931
+19977
+19978
+20200
+20201
+21441
+21445
+24334
+24335
+42531
+42532
+42728
+42729
+43219
+43220
+43267
+43268
+43475
+43476
+43603
+43604
+44019
+44020
+63851
+63852
+65299
+65300
+65801
+65802
+66723
+66724
+67674
+67675
+67867
+67868
+68162
+68163
+68442
+68443
+68474
+68475
+69218
+69219
+69716
+69717
+69737
+69738
+69875
+69876
+69945
+69946
+70099
+70100
+71363
+71364
+74753
+74754
+74760
+74761
+74775
+74776
+74784
+74785
+74788
+74790
+74798
+74800
+74806
+74808
+74810
+74812
+74827
+74828
+74833
+74834
+74839
+74840
+119650
+119651
+120785
+120786
+120795
+120796
+120805
+120806
+120815
+120816
+120825
+120826
+127236
+127237
+133885
+133886
+133913
+133914
+141720
+141721
+146203
+146204
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
index 0c4a10f1c3d..466efd9dad7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1374
-303A
-324A
-325A
-5345
-10112
-10165
-10E6B
-1105D
-1D36B
-20983
+V22
+4980
+4981
+12346
+12347
+12874
+12875
+12890
+12891
+21317
+21318
+65810
+65811
+65893
+65894
+69227
+69228
+69725
+69726
+119659
+119660
+133507
+133508
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
deleted file mode 100644
index c793a443c17..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1011B
-1016B
-10E74
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
deleted file mode 100644
index b56357af211..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10124
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
deleted file mode 100644
index cc07829dca8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1012D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
deleted file mode 100644
index da4b12fdb86..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-325B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
deleted file mode 100644
index b617bcb7d2a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-325C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
deleted file mode 100644
index c874f4a2ec8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-325D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
deleted file mode 100644
index e730129f1ba..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-325E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
deleted file mode 100644
index 08db7e6a10b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-325F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
deleted file mode 100644
index f610c233848..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
deleted file mode 100644
index f6282f2d794..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
deleted file mode 100644
index f46a2a2e3d4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
deleted file mode 100644
index 37de59be343..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B4
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
deleted file mode 100644
index bc8fc280469..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ed41b1fc583..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F2B
-END
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 acae538f2be..4e9d1ac7b29 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00BE
-09F8
-0B74
-0D75
-A832
-10178
+V12
+190
+191
+2552
+2553
+2932
+2933
+3445
+3446
+43058
+43059
+65912
+65913
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
deleted file mode 100644
index 2b8272b0d9d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2157
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
deleted file mode 100644
index 6e798620b79..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-215C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
index 82dbc42621d..1ffa8316d24 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
@@ -1,101 +1,192 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0034
-0664
-06F4
-07C4
-096A
-09EA
-0A6A
-0AEA
-0B6A
-0BEA
-0C6A
-0CEA
-0D6A
-0E54
-0ED4
-0F24
-1044
-1094
-136C
-17E4
-17F4
-1814
-194A
-19D4
-1A84
-1A94
-1B54
-1BB4
-1C44
-1C54
-2074
-2084
-2163
-2173
-2463
-2477
-248B
-24F8
-2779
-2783
-278D
-3024
-3195
-3223
-3283
-4E96
-56DB
-8086
-A624
-A6E9
-A8D4
-A904
-A9D4
-AA54
-ABF4
-FF14
-1010A
-104A4
-10A43
-10B5B
-10B7B
-10E63
-11055
-1106A
-110F4
-1113A
-111D4
-116C4
-12402
-12409
-1240F
-12418
-12421
-12426
-12430
-12438
-1243C 1243F
-1244C
-12452 12453
-1D363
-1D7D2
-1D7DC
-1D7E6
-1D7F0
-1D7FA
-1F105
-20064
-200E2
-2626D
+V178
+52
+53
+1636
+1637
+1780
+1781
+1988
+1989
+2410
+2411
+2538
+2539
+2666
+2667
+2794
+2795
+2922
+2923
+3050
+3051
+3178
+3179
+3306
+3307
+3434
+3435
+3668
+3669
+3796
+3797
+3876
+3877
+4164
+4165
+4244
+4245
+4972
+4973
+6116
+6117
+6132
+6133
+6164
+6165
+6474
+6475
+6612
+6613
+6788
+6789
+6804
+6805
+6996
+6997
+7092
+7093
+7236
+7237
+7252
+7253
+8308
+8309
+8324
+8325
+8547
+8548
+8563
+8564
+9315
+9316
+9335
+9336
+9355
+9356
+9464
+9465
+10105
+10106
+10115
+10116
+10125
+10126
+12324
+12325
+12693
+12694
+12835
+12836
+12931
+12932
+20118
+20119
+22235
+22236
+32902
+32903
+42532
+42533
+42729
+42730
+43220
+43221
+43268
+43269
+43476
+43477
+43604
+43605
+44020
+44021
+65300
+65301
+65802
+65803
+66724
+66725
+68163
+68164
+68443
+68444
+68475
+68476
+69219
+69220
+69717
+69718
+69738
+69739
+69876
+69877
+69946
+69947
+70100
+70101
+71364
+71365
+74754
+74755
+74761
+74762
+74767
+74768
+74776
+74777
+74785
+74786
+74790
+74791
+74800
+74801
+74808
+74809
+74812
+74816
+74828
+74829
+74834
+74836
+119651
+119652
+120786
+120787
+120796
+120797
+120806
+120807
+120816
+120817
+120826
+120827
+127237
+127238
+131172
+131173
+131298
+131299
+156269
+156270
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
index 0d8262be680..c0f990c487c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
@@ -1,22 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1375
-324B
-32B5
-534C
-10113
-10E6C
-1105E
-1D36C
-2098C
-2099C
+V20
+4981
+4982
+12875
+12876
+12981
+12982
+21324
+21325
+65811
+65812
+69228
+69229
+69726
+69727
+119660
+119661
+133516
+133517
+133532
+133533
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
deleted file mode 100644
index 225a58cf317..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1011C
-10E75
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
deleted file mode 100644
index be8e9f76055..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10125
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
deleted file mode 100644
index ced064d634e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1012E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
deleted file mode 100644
index c3878815eb2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
deleted file mode 100644
index a1e28e2e18b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
deleted file mode 100644
index 9d39d470d4d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B8
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/432000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/432000.pl
deleted file mode 100755
index 55f2307c581..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/432000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-12433
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
deleted file mode 100644
index 1cccd50b861..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32B9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
deleted file mode 100644
index fae445fafb5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32BA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
deleted file mode 100644
index abc32debcec..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32BB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
deleted file mode 100644
index 1fba100c3e7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32BC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
deleted file mode 100644
index 6fe28bae842..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32BD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
deleted file mode 100644
index d8009b29afa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-32BE
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
deleted file mode 100644
index 791cc35c491..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2158
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
index 0ff33295b14..31e19e63aad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
@@ -1,101 +1,192 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0035
-0665
-06F5
-07C5
-096B
-09EB
-0A6B
-0AEB
-0B6B
-0BEB
-0C6B
-0CEB
-0D6B
-0E55
-0ED5
-0F25
-1045
-1095
-136D
-17E5
-17F5
-1815
-194B
-19D5
-1A85
-1A95
-1B55
-1BB5
-1C45
-1C55
-2075
-2085
-2164
-2174
-2464
-2478
-248C
-24F9
-277A
-2784
-278E
-3025
-3224
-3284
-3405
-382A
-4E94
-4F0D
-A625
-A6EA
-A8D5
-A905
-A9D5
-AA55
-ABF5
-FF15
-1010B
-10143
-10148
-1014F
-1015F
-10173
-10321
-104A5
-10E64
-11056
-1106B
-110F5
-1113B
-111D5
-116C5
-12403
-1240A
-12410
-12419
-12422
-12427
-12431
-12439
-1244D
-12454 12455
-1D364
-1D7D3
-1D7DD
-1D7E7
-1D7F1
-1D7FB
-1F106
-20121
+V178
+53
+54
+1637
+1638
+1781
+1782
+1989
+1990
+2411
+2412
+2539
+2540
+2667
+2668
+2795
+2796
+2923
+2924
+3051
+3052
+3179
+3180
+3307
+3308
+3435
+3436
+3669
+3670
+3797
+3798
+3877
+3878
+4165
+4166
+4245
+4246
+4973
+4974
+6117
+6118
+6133
+6134
+6165
+6166
+6475
+6476
+6613
+6614
+6789
+6790
+6805
+6806
+6997
+6998
+7093
+7094
+7237
+7238
+7253
+7254
+8309
+8310
+8325
+8326
+8548
+8549
+8564
+8565
+9316
+9317
+9336
+9337
+9356
+9357
+9465
+9466
+10106
+10107
+10116
+10117
+10126
+10127
+12325
+12326
+12836
+12837
+12932
+12933
+13317
+13318
+14378
+14379
+20116
+20117
+20237
+20238
+42533
+42534
+42730
+42731
+43221
+43222
+43269
+43270
+43477
+43478
+43605
+43606
+44021
+44022
+65301
+65302
+65803
+65804
+65859
+65860
+65864
+65865
+65871
+65872
+65887
+65888
+65907
+65908
+66337
+66338
+66725
+66726
+69220
+69221
+69718
+69719
+69739
+69740
+69877
+69878
+69947
+69948
+70101
+70102
+71365
+71366
+74755
+74756
+74762
+74763
+74768
+74769
+74777
+74778
+74786
+74787
+74791
+74792
+74801
+74802
+74809
+74810
+74829
+74830
+74836
+74838
+119652
+119653
+120787
+120788
+120797
+120798
+120807
+120808
+120817
+120818
+120827
+120828
+127238
+127239
+131361
+131362
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
index 58825ba88e8..d75c958e53f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
@@ -1,29 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1376
-216C
-217C
-2186
-324C
-32BF
-10114
-10144
-1014A
-10151
-10166 10169
-10174
-10323
-10A7E
-10E6D
-1105F
-1D36D
+V34
+4982
+4983
+8556
+8557
+8572
+8573
+8582
+8583
+12876
+12877
+12991
+12992
+65812
+65813
+65860
+65861
+65866
+65867
+65873
+65874
+65894
+65898
+65908
+65909
+66339
+66340
+68222
+68223
+69229
+69230
+69727
+69728
+119661
+119662
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
index d6547e680ce..54a28fbfef2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-216E
-217E
-1011D
-10145
-1014C
-10153
-1016C 10170
-10E76
+V16
+8558
+8559
+8574
+8575
+65821
+65822
+65861
+65862
+65868
+65869
+65875
+65876
+65900
+65905
+69238
+69239
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
index ccb2fd7bc9c..9698e4f6bee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2181
-10126
-10146
-1014E
-10172
+V10
+8577
+8578
+65830
+65831
+65862
+65863
+65870
+65871
+65906
+65907
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
index 1617f0f7960..788944db760 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2187
-1012F
-10147
-10156
+V8
+8583
+8584
+65839
+65840
+65863
+65864
+65878
+65879
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
deleted file mode 100644
index 6f90c90f2de..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F2C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
deleted file mode 100644
index 88ccb24ce4c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-215A
-1245C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
deleted file mode 100644
index 46daeffd1ef..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-215D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
index af0c2e411bf..4c525ec18e6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
@@ -1,94 +1,178 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0036
-0666
-06F6
-07C6
-096C
-09EC
-0A6C
-0AEC
-0B6C
-0BEC
-0C6C
-0CEC
-0D6C
-0E56
-0ED6
-0F26
-1046
-1096
-136E
-17E6
-17F6
-1816
-194C
-19D6
-1A86
-1A96
-1B56
-1BB6
-1C46
-1C56
-2076
-2086
-2165
-2175
-2185
-2465
-2479
-248D
-24FA
-277B
-2785
-278F
-3026
-3225
-3285
-516D
-9646
-9678
-A626
-A6EB
-A8D6
-A906
-A9D6
-AA56
-ABF6
-F9D1
-F9D3
-FF16
-1010C
-104A6
-10E65
-11057
-1106C
-110F6
-1113C
-111D6
-116C6
-12404
-1240B
-12411
-1241A
-12428
-12440
-1244E
-1D365
-1D7D4
-1D7DE
-1D7E8
-1D7F2
-1D7FC
-1F107
-20AEA
+V164
+54
+55
+1638
+1639
+1782
+1783
+1990
+1991
+2412
+2413
+2540
+2541
+2668
+2669
+2796
+2797
+2924
+2925
+3052
+3053
+3180
+3181
+3308
+3309
+3436
+3437
+3670
+3671
+3798
+3799
+3878
+3879
+4166
+4167
+4246
+4247
+4974
+4975
+6118
+6119
+6134
+6135
+6166
+6167
+6476
+6477
+6614
+6615
+6790
+6791
+6806
+6807
+6998
+6999
+7094
+7095
+7238
+7239
+7254
+7255
+8310
+8311
+8326
+8327
+8549
+8550
+8565
+8566
+8581
+8582
+9317
+9318
+9337
+9338
+9357
+9358
+9466
+9467
+10107
+10108
+10117
+10118
+10127
+10128
+12326
+12327
+12837
+12838
+12933
+12934
+20845
+20846
+38470
+38471
+38520
+38521
+42534
+42535
+42731
+42732
+43222
+43223
+43270
+43271
+43478
+43479
+43606
+43607
+44022
+44023
+63953
+63954
+63955
+63956
+65302
+65303
+65804
+65805
+66726
+66727
+69221
+69222
+69719
+69720
+69740
+69741
+69878
+69879
+69948
+69949
+70102
+70103
+71366
+71367
+74756
+74757
+74763
+74764
+74769
+74770
+74778
+74779
+74792
+74793
+74816
+74817
+74830
+74831
+119653
+119654
+120788
+120789
+120798
+120799
+120808
+120809
+120818
+120819
+120828
+120829
+127239
+127240
+133866
+133867
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
index a96ccf25331..b6c9356e6d6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1377
-324D
-10115
-10E6E
-11060
-1D36E
+V12
+4983
+4984
+12877
+12878
+65813
+65814
+69230
+69231
+69728
+69729
+119662
+119663
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
deleted file mode 100644
index 6aac881f4bf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1011E
-10E77
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
deleted file mode 100644
index 2a4d3cecc89..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10127
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
deleted file mode 100644
index e627bc9460d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10130
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
index e1595879479..093dee053b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
@@ -1,91 +1,172 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0037
-0667
-06F7
-07C7
-096D
-09ED
-0A6D
-0AED
-0B6D
-0BED
-0C6D
-0CED
-0D6D
-0E57
-0ED7
-0F27
-1047
-1097
-136F
-17E7
-17F7
-1817
-194D
-19D7
-1A87
-1A97
-1B57
-1BB7
-1C47
-1C57
-2077
-2087
-2166
-2176
-2466
-247A
-248E
-24FB
-277C
-2786
-2790
-3027
-3226
-3286
-3B4D
-4E03
-67D2
-6F06
-A627
-A6EC
-A8D7
-A907
-A9D7
-AA57
-ABF7
-FF17
-1010D
-104A7
-10E66
-11058
-1106D
-110F7
-1113D
-111D7
-116C7
-12405
-1240C
-12412
-1241B
-12429
-12441 12443
-1D366
-1D7D5
-1D7DF
-1D7E9
-1D7F3
-1D7FD
-1F108
-20001
+V158
+55
+56
+1639
+1640
+1783
+1784
+1991
+1992
+2413
+2414
+2541
+2542
+2669
+2670
+2797
+2798
+2925
+2926
+3053
+3054
+3181
+3182
+3309
+3310
+3437
+3438
+3671
+3672
+3799
+3800
+3879
+3880
+4167
+4168
+4247
+4248
+4975
+4976
+6119
+6120
+6135
+6136
+6167
+6168
+6477
+6478
+6615
+6616
+6791
+6792
+6807
+6808
+6999
+7000
+7095
+7096
+7239
+7240
+7255
+7256
+8311
+8312
+8327
+8328
+8550
+8551
+8566
+8567
+9318
+9319
+9338
+9339
+9358
+9359
+9467
+9468
+10108
+10109
+10118
+10119
+10128
+10129
+12327
+12328
+12838
+12839
+12934
+12935
+15181
+15182
+19971
+19972
+26578
+26579
+28422
+28423
+42535
+42536
+42732
+42733
+43223
+43224
+43271
+43272
+43479
+43480
+43607
+43608
+44023
+44024
+65303
+65304
+65805
+65806
+66727
+66728
+69222
+69223
+69720
+69721
+69741
+69742
+69879
+69880
+69949
+69950
+70103
+70104
+71367
+71368
+74757
+74758
+74764
+74765
+74770
+74771
+74779
+74780
+74793
+74794
+74817
+74820
+119654
+119655
+120789
+120790
+120799
+120800
+120809
+120810
+120819
+120820
+120829
+120830
+127240
+127241
+131073
+131074
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
index e5027c49ab5..d200e934d64 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1378
-324E
-10116
-10E6F
-11061
-1D36F
+V12
+4984
+4985
+12878
+12879
+65814
+65815
+69231
+69232
+69729
+69730
+119663
+119664
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
deleted file mode 100644
index 0c1e800405f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1011F
-10E78
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
deleted file mode 100644
index 922e0cc7a37..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10128
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
deleted file mode 100644
index f69437ce6a0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10131
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
deleted file mode 100644
index 967374afb13..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F2D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
deleted file mode 100644
index 1a6fd9ad138..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-215E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
index fa9e4a2b0b7..ada3bfb6174 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
@@ -1,88 +1,166 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0038
-0668
-06F8
-07C8
-096E
-09EE
-0A6E
-0AEE
-0B6E
-0BEE
-0C6E
-0CEE
-0D6E
-0E58
-0ED8
-0F28
-1048
-1098
-1370
-17E8
-17F8
-1818
-194E
-19D8
-1A88
-1A98
-1B58
-1BB8
-1C48
-1C58
-2078
-2088
-2167
-2177
-2467
-247B
-248F
-24FC
-277D
-2787
-2791
-3028
-3227
-3287
-516B
-634C
-A628
-A6ED
-A8D8
-A908
-A9D8
-AA58
-ABF8
-FF18
-1010E
-104A8
-10E67
-11059
-1106E
-110F8
-1113E
-111D8
-116C8
-12406
-1240D
-12413
-1241C
-1242A
-12444 12445
-1D367
-1D7D6
-1D7E0
-1D7EA
-1D7F4
-1D7FE
-1F109
+V152
+56
+57
+1640
+1641
+1784
+1785
+1992
+1993
+2414
+2415
+2542
+2543
+2670
+2671
+2798
+2799
+2926
+2927
+3054
+3055
+3182
+3183
+3310
+3311
+3438
+3439
+3672
+3673
+3800
+3801
+3880
+3881
+4168
+4169
+4248
+4249
+4976
+4977
+6120
+6121
+6136
+6137
+6168
+6169
+6478
+6479
+6616
+6617
+6792
+6793
+6808
+6809
+7000
+7001
+7096
+7097
+7240
+7241
+7256
+7257
+8312
+8313
+8328
+8329
+8551
+8552
+8567
+8568
+9319
+9320
+9339
+9340
+9359
+9360
+9468
+9469
+10109
+10110
+10119
+10120
+10129
+10130
+12328
+12329
+12839
+12840
+12935
+12936
+20843
+20844
+25420
+25421
+42536
+42537
+42733
+42734
+43224
+43225
+43272
+43273
+43480
+43481
+43608
+43609
+44024
+44025
+65304
+65305
+65806
+65807
+66728
+66729
+69223
+69224
+69721
+69722
+69742
+69743
+69880
+69881
+69950
+69951
+70104
+70105
+71368
+71369
+74758
+74759
+74765
+74766
+74771
+74772
+74780
+74781
+74794
+74795
+74820
+74822
+119655
+119656
+120790
+120791
+120800
+120801
+120810
+120811
+120820
+120821
+120830
+120831
+127241
+127242
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
index f1145b4d1e1..75c7425272b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1379
-324F
-10117
-10E70
-11062
-1D370
+V12
+4985
+4986
+12879
+12880
+65815
+65816
+69232
+69233
+69730
+69731
+119664
+119665
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
deleted file mode 100644
index e0e6924fc00..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10120
-10E79
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
deleted file mode 100644
index 6695116e6d5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10129
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
deleted file mode 100644
index bca8c1d4b50..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10132
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
index 78e24c044e6..e9917cba274 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
@@ -1,90 +1,170 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0039
-0669
-06F9
-07C9
-096F
-09EF
-0A6F
-0AEF
-0B6F
-0BEF
-0C6F
-0CEF
-0D6F
-0E59
-0ED9
-0F29
-1049
-1099
-1371
-17E9
-17F9
-1819
-194F
-19D9
-1A89
-1A99
-1B59
-1BB9
-1C49
-1C59
-2079
-2089
-2168
-2178
-2468
-247C
-2490
-24FD
-277E
-2788
-2792
-3029
-3228
-3288
-4E5D
-5EFE
-7396
-A629
-A6EE
-A8D9
-A909
-A9D9
-AA59
-ABF9
-FF19
-1010F
-104A9
-10E68
-1105A
-1106F
-110F9
-1113F
-111D9
-116C9
-12407
-1240E
-12414
-1241D
-1242B
-12446 12449
-1D368
-1D7D7
-1D7E1
-1D7EB
-1D7F5
-1D7FF
-1F10A
-2F890
+V156
+57
+58
+1641
+1642
+1785
+1786
+1993
+1994
+2415
+2416
+2543
+2544
+2671
+2672
+2799
+2800
+2927
+2928
+3055
+3056
+3183
+3184
+3311
+3312
+3439
+3440
+3673
+3674
+3801
+3802
+3881
+3882
+4169
+4170
+4249
+4250
+4977
+4978
+6121
+6122
+6137
+6138
+6169
+6170
+6479
+6480
+6617
+6618
+6793
+6794
+6809
+6810
+7001
+7002
+7097
+7098
+7241
+7242
+7257
+7258
+8313
+8314
+8329
+8330
+8552
+8553
+8568
+8569
+9320
+9321
+9340
+9341
+9360
+9361
+9469
+9470
+10110
+10111
+10120
+10121
+10130
+10131
+12329
+12330
+12840
+12841
+12936
+12937
+20061
+20062
+24318
+24319
+29590
+29591
+42537
+42538
+42734
+42735
+43225
+43226
+43273
+43274
+43481
+43482
+43609
+43610
+44025
+44026
+65305
+65306
+65807
+65808
+66729
+66730
+69224
+69225
+69722
+69723
+69743
+69744
+69881
+69882
+69951
+69952
+70105
+70106
+71369
+71370
+74759
+74760
+74766
+74767
+74772
+74773
+74781
+74782
+74795
+74796
+74822
+74826
+119656
+119657
+120791
+120792
+120801
+120802
+120811
+120812
+120821
+120822
+120831
+120832
+127242
+127243
+194704
+194705
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
index 3374da7835b..5dbc9159279 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-137A
-10118
-10341
-10E71
-11063
-1D371
+V12
+4986
+4987
+65816
+65817
+66369
+66370
+69233
+69234
+69731
+69732
+119665
+119666
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
deleted file mode 100644
index 84a4af317dd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10121
-1034A
-10E7A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
deleted file mode 100644
index ef52a4374f4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1012A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
deleted file mode 100644
index d312c746022..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-10133
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
deleted file mode 100644
index ec2b10bd160..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F2E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1.pl
deleted file mode 100755
index b1f4421e870..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-12456 12457
-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
deleted file mode 100644
index e72cecb9c94..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0F33
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
index a1bfdba7f0a..398195d2c0b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
@@ -1,40 +1,70 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 002F
-003A 0040
-005B 005E
-0060
-007B 007E
-00A1 00A7
-00A9
-00AB 00AC
-00AE
-00B0 00B1
-00B6
-00BB
-00BF
-00D7
-00F7
-2010 2027
-2030 203E
-2041 2053
-2055 205E
-2190 245F
-2500 2775
-2794 2BFF
-2E00 2E7F
-3001 3003
-3008 3020
-3030
-FD3E FD3F
-FE45 FE46
+V56
+33
+48
+58
+65
+91
+95
+96
+97
+123
+127
+161
+168
+169
+170
+171
+173
+174
+175
+176
+178
+182
+183
+187
+188
+191
+192
+215
+216
+247
+248
+8208
+8232
+8240
+8255
+8257
+8276
+8277
+8287
+8592
+9312
+9472
+10102
+10132
+11264
+11776
+11904
+12289
+12292
+12296
+12321
+12336
+12337
+64830
+64832
+65093
+65095
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
index c82cb1236ff..6941d456a04 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0009 000D
-0020
-0085
-200E 200F
-2028 2029
+V10
+9
+14
+32
+33
+133
+134
+8206
+8208
+8232
+8234
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
index bec60494ce5..6fd55fac70b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
@@ -1,578 +1,1146 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0345
-0370 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05B0 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0657
-0659 0669
-066E 06D3
-06D5 06DC
-06E1 06E8
-06ED 06FC
-06FF
-0710 073F
-074D 07B1
-07C0 07EA
-07F4 07F5
-07FA
-0800 0817
-081A 082C
-0840 0858
-08A0
-08A2 08AC
-08E4 08E9
-08F0 08FE
-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
-09BD 09C4
-09C7 09C8
-09CB 09CC
-09CE
-09D7
-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
-0A5E
-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
-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
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0BD0
-0BD7
-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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4C
-0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E46
-0E4D
-0E50 0E59
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB9
-0EBB 0EBD
-0EC0 0EC4
-0EC6
-0ECD
-0ED0 0ED9
-0EDC 0EDF
-0F00
-0F20 0F29
-0F40 0F47
-0F49 0F6C
-0F71 0F81
-0F88 0F97
-0F99 0FBC
-1000 1036
-1038
-103B 1049
-1050 1062
-1065 1068
-106E 1086
-108E
-1090 1099
-109C 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-135F
-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
-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
-1B35 1B43
-1B45 1B4B
-1B50 1B59
-1B80 1BA9
-1BAC 1BE5
-1BE7 1BF1
-1C00 1C35
-1C40 1C49
-1C4D 1C7D
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2DFF
-2E2F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A66E
-A674 A67B
-A67F A697
-A69F A6EF
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A827
-A840 A873
-A880 A8C3
-A8D0 A8D9
-A8F2 A8F7
-A8FB
-A900 A92A
-A930 A952
-A960 A97C
-A980 A9B2
-A9B4 A9BF
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A
-AA80 AABE
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF5
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11132
-11136 1113F
-11180 111BF
-111C1 111C4
-111D0 111D9
-11680 116B5
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V1132
+48
+58
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+837
+838
+880
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1456
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1624
+1625
+1642
+1646
+1748
+1749
+1757
+1761
+1769
+1773
+1789
+1791
+1792
+1808
+1856
+1869
+1970
+1984
+2027
+2036
+2038
+2042
+2043
+2048
+2072
+2074
+2093
+2112
+2137
+2208
+2209
+2210
+2221
+2276
+2282
+2288
+2303
+2304
+2364
+2365
+2381
+2382
+2385
+2389
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2501
+2503
+2505
+2507
+2509
+2510
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2622
+2627
+2631
+2633
+2635
+2637
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2758
+2759
+2762
+2763
+2765
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2885
+2887
+2889
+2891
+2893
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3021
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3149
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3269
+3270
+3273
+3274
+3277
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3405
+3406
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3655
+3661
+3662
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3789
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3872
+3882
+3904
+3912
+3913
+3949
+3953
+3970
+3976
+3992
+3993
+4029
+4096
+4151
+4152
+4153
+4155
+4170
+4176
+4195
+4197
+4201
+4206
+4231
+4238
+4239
+4240
+4250
+4252
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4959
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5908
+5920
+5940
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6068
+6070
+6089
+6103
+6104
+6108
+6109
+6112
+6122
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6457
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6618
+6656
+6684
+6688
+6751
+6753
+6773
+6784
+6794
+6800
+6810
+6823
+6824
+6912
+6964
+6965
+6980
+6981
+6988
+6992
+7002
+7040
+7082
+7084
+7142
+7143
+7154
+7168
+7222
+7232
+7242
+7245
+7294
+7401
+7405
+7406
+7412
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+11823
+11824
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42607
+42612
+42620
+42623
+42648
+42655
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43048
+43072
+43124
+43136
+43204
+43216
+43226
+43250
+43256
+43259
+43260
+43264
+43307
+43312
+43347
+43360
+43389
+43392
+43443
+43444
+43456
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43643
+43648
+43711
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43760
+43762
+43766
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65296
+65306
+65313
+65339
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69702
+69734
+69744
+69762
+69817
+69840
+69865
+69872
+69882
+69888
+69939
+69942
+69952
+70016
+70080
+70081
+70085
+70096
+70106
+71296
+71350
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
deleted file mode 100644
index a2548719ad6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 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 e0b946841d6..1992fa6929e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
@@ -1,551 +1,1092 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-0591 05C7
-05D0 05EA
-05F0 05F4
-0600 0604
-0606 061B
-061E 070D
-070F 074A
-074D 07B1
-07C0 07FA
-0800 082D
-0830 083E
-0840 085B
-085E
-08A0
-08A2 08AC
-08E4 08FE
-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 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 0EDF
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FDA
-1000 10C5
-10C7
-10CD
-10D0 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 1BF3
-1BFC 1C37
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD0 1CF6
-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 20BA
-20D0 20F0
-2100 2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A697
-A69F A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-D800 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB36
-FB38 FB3C
-FB3E
-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
-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
-10837 10838
-1083C
-1083F 10855
-10857 1085F
-10900 1091B
-1091F 10939
-1093F
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0001
-E0020 E007F
-E0100 E01EF
-F0000 FFFFD
-100000 10FFFD
+V1078
+0
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
index 45d38052a27..5f211ecb0fe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
@@ -1,21 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0009
-0020
-00A0
-1680
-180E
-2000 200A
-202F
-205F
-3000
+V16
+9
+10
+32
+33
+160
+161
+5760
+5761
+8192
+8203
+8239
+8240
+8287
+8288
+12288
+12289
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
index 4be8e2489d1..d02fe40a0fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
@@ -1,556 +1,1102 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 007E
-00A1 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-0591 05C7
-05D0 05EA
-05F0 05F4
-0600 0604
-0606 061B
-061E 070D
-070F 074A
-074D 07B1
-07C0 07FA
-0800 082D
-0830 083E
-0840 085B
-085E
-08A0
-08A2 08AC
-08E4 08FE
-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 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 0EDF
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FDA
-1000 10C5
-10C7
-10CD
-10D0 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 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
-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 1BF3
-1BFC 1C37
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD0 1CF6
-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
-200B 2027
-202A 202E
-2030 205E
-2060 2064
-206A 2071
-2074 208E
-2090 209C
-20A0 20BA
-20D0 20F0
-2100 2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A697
-A69F A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-E000 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB36
-FB38 FB3C
-FB3E
-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
-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
-10837 10838
-1083C
-1083F 10855
-10857 1085F
-10900 1091B
-1091F 10939
-1093F
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0001
-E0020 E007F
-E0100 E01EF
-F0000 FFFFD
-100000 10FFFD
+V1088
+33
+127
+161
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5760
+5761
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8203
+8232
+8234
+8239
+8240
+8287
+8288
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12289
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+57344
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
deleted file mode 100644
index 28ce5c9a119..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0009 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 922fdc3a20c..f420cb3fbc1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-005F
-0061 007A
+V8
+48
+58
+65
+91
+95
+96
+97
+123
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
deleted file mode 100644
index f0b71c9af6e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index cfa09063a80..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 380524d9453..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0009
-0020
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
deleted file mode 100644
index c4f2bb3147c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 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
deleted file mode 100644
index 2ca80aeac25..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 3d08648233b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 007E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
deleted file mode 100644
index d1f3d4ac705..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 121d0ae5b4c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 ffc2f3e66f4..62bdebddb25 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 002F
-003A 0040
-005B 0060
-007B 007E
+V8
+33
+48
+58
+65
+91
+97
+123
+127
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
deleted file mode 100644
index 06a4c33af88..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 861ae14a605..5b63f1c42cf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
@@ -1,553 +1,1096 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020 007E
-00A0 0377
-037A 037E
-0384 038A
-038C
-038E 03A1
-03A3 0527
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-0591 05C7
-05D0 05EA
-05F0 05F4
-0600 0604
-0606 061B
-061E 070D
-070F 074A
-074D 07B1
-07C0 07FA
-0800 082D
-0830 083E
-0840 085B
-085E
-08A0
-08A2 08AC
-08E4 08FE
-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 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 0EDF
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FDA
-1000 10C5
-10C7
-10CD
-10D0 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 1BF3
-1BFC 1C37
-1C3B 1C49
-1C4D 1C7F
-1CC0 1CC7
-1CD0 1CF6
-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 2027
-202A 2064
-206A 2071
-2074 208E
-2090 209C
-20A0 20BA
-20D0 20F0
-2100 2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 2B4C
-2B50 2B59
-2C00 2C2E
-2C30 2C5E
-2C60 2CF3
-2CF9 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F 2D70
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2E3B
-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 9FCC
-A000 A48C
-A490 A4C6
-A4D0 A62B
-A640 A697
-A69F A6F7
-A700 A78E
-A790 A793
-A7A0 A7AA
-A7F8 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 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-E000 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB36
-FB38 FB3C
-FB3E
-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
-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
-10837 10838
-1083C
-1083F 10855
-10857 1085F
-10900 1091B
-1091F 10939
-1093F
-10980 109B7
-109BE 109BF
-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
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 11143
-11180 111C8
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-12470 12473
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-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
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
-1F000 1F02B
-1F030 1F093
-1F0A0 1F0AE
-1F0B1 1F0BE
-1F0C1 1F0CF
-1F0D1 1F0DF
-1F100 1F10A
-1F110 1F12E
-1F130 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0001
-E0020 E007F
-E0100 E01EF
-F0000 FFFFD
-100000 10FFFD
+V1082
+32
+127
+160
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8232
+8234
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+57344
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
+983040
+1048574
+1048576
+1114110
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
deleted file mode 100644
index 7595c1daff3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
+++ /dev/null
@@ -1,23 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0009 000D
-0020
-0085
-00A0
-1680
-180E
-2000 200A
-2028 2029
-202F
-205F
-3000
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
deleted file mode 100644
index 21e098bc6ab..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
+++ /dev/null
@@ -1,22 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100644
index 29d6d8a3149..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-000A 000D
-0085
-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 05af20e38e9..ce6fd0acbfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
@@ -1,577 +1,1144 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-005F
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0300 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-0483 0527
-0531 0556
-0559
-0561 0587
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0669
-066E 06D3
-06D5 06DC
-06DF 06E8
-06EA 06FC
-06FF
-0710 074A
-074D 07B1
-07C0 07F5
-07FA
-0800 082D
-0840 085B
-08A0
-08A2 08AC
-08E4 08FE
-0900 0963
-0966 096F
-0971 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 09F1
-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
-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
-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 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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E4E
-0E50 0E59
-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 0EDF
-0F00
-0F18 0F19
-0F20 0F29
-0F35
-0F37
-0F39
-0F3E 0F47
-0F49 0F6C
-0F71 0F84
-0F86 0F97
-0F99 0FBC
-0FC6
-1000 1049
-1050 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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 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 17D3
-17D7
-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
-1B50 1B59
-1B6B 1B73
-1B80 1BF3
-1C00 1C37
-1C40 1C49
-1C4D 1C7D
-1CD0 1CD2
-1CD4 1CF6
-1D00 1DE6
-1DFC 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-200C 200D
-203F 2040
-2054
-2071
-207F
-2090 209C
-20D0 20F0
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D7F 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2DE0 2DFF
-2E2F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A672
-A674 A67D
-A67F A697
-A69F A6F1
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A827
-A840 A873
-A880 A8C4
-A8D0 A8D9
-A8E0 A8F7
-A8FB
-A900 A92D
-A930 A953
-A960 A97C
-A980 A9C0
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A AA7B
-AA80 AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABEC ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-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
-102A0 102D0
-10300 1031E
-10330 1034A
-10380 1039D
-103A0 103C3
-103C8 103CF
-103D1 103D5
-10400 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11046
-11066 1106F
-11080 110BA
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 1113F
-11180 111C4
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1B000 1B001
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0100 E01EF
+V1130
+48
+58
+65
+91
+95
+96
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1642
+1646
+1748
+1749
+1757
+1759
+1769
+1770
+1789
+1791
+1792
+1808
+1867
+1869
+1970
+1984
+2038
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4170
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6155
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6618
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6824
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8204
+8206
+8255
+8257
+8276
+8277
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+11823
+11824
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12443
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42611
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65024
+65040
+65056
+65063
+65075
+65077
+65101
+65104
+65136
+65141
+65142
+65277
+65296
+65306
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
index 475c107f2c3..fb146a0fbcd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
@@ -1,147 +1,286 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021 002F
-003A 0040
-005B 0060
-007B 007E
-00A1
-00A7
-00AB
-00B6 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
-0AF0
-0DF4
-0E4F
-0E5A 0E5B
-0F04 0F12
-0F14
-0F3A 0F3D
-0F85
-0FD0 0FD4
-0FD9 0FDA
-104A 104F
-10FB
-1360 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
-1CC0 1CC7
-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 2E3B
-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
-AAF0 AAF1
-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 10102
-1039F
-103D0
-10857
-1091F
-1093F
-10A50 10A58
-10A7F
-10B39 10B3F
-11047 1104D
-110BB 110BC
-110BE 110C1
-11140 11143
-111C5 111C8
-12470 12473
+V272
+33
+48
+58
+65
+91
+97
+123
+127
+161
+162
+167
+168
+171
+172
+182
+184
+187
+188
+191
+192
+894
+895
+903
+904
+1370
+1376
+1417
+1419
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1523
+1525
+1545
+1547
+1548
+1550
+1563
+1564
+1566
+1568
+1642
+1646
+1748
+1749
+1792
+1806
+2039
+2042
+2096
+2111
+2142
+2143
+2404
+2406
+2416
+2417
+2800
+2801
+3572
+3573
+3663
+3664
+3674
+3676
+3844
+3859
+3860
+3861
+3898
+3902
+3973
+3974
+4048
+4053
+4057
+4059
+4170
+4176
+4347
+4348
+4960
+4969
+5120
+5121
+5741
+5743
+5787
+5789
+5867
+5870
+5941
+5943
+6100
+6103
+6104
+6107
+6144
+6155
+6468
+6470
+6686
+6688
+6816
+6823
+6824
+6830
+7002
+7009
+7164
+7168
+7227
+7232
+7294
+7296
+7360
+7368
+7379
+7380
+8208
+8232
+8240
+8260
+8261
+8274
+8275
+8287
+8317
+8319
+8333
+8335
+8968
+8972
+9001
+9003
+10088
+10102
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11513
+11517
+11518
+11520
+11632
+11633
+11776
+11823
+11824
+11836
+12289
+12292
+12296
+12306
+12308
+12320
+12336
+12337
+12349
+12350
+12448
+12449
+12539
+12540
+42238
+42240
+42509
+42512
+42611
+42612
+42622
+42623
+42738
+42744
+43124
+43128
+43214
+43216
+43256
+43259
+43310
+43312
+43359
+43360
+43457
+43470
+43486
+43488
+43612
+43616
+43742
+43744
+43760
+43762
+44011
+44012
+64830
+64832
+65040
+65050
+65072
+65107
+65108
+65122
+65123
+65124
+65128
+65129
+65130
+65132
+65281
+65284
+65285
+65291
+65292
+65296
+65306
+65308
+65311
+65313
+65339
+65342
+65343
+65344
+65371
+65372
+65373
+65374
+65375
+65382
+65792
+65795
+66463
+66464
+66512
+66513
+67671
+67672
+67871
+67872
+67903
+67904
+68176
+68185
+68223
+68224
+68409
+68416
+69703
+69710
+69819
+69821
+69822
+69826
+69952
+69956
+70085
+70089
+74864
+74868
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl
index df7006edd87..b3b1ff85333 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl
@@ -1,121 +1,242 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00B5
-00C0 00D6
-00D8 00F6
-00F8 0130
-0132 0137
-0139 018C
-018E 019A
-019C 01A9
-01AC 01B9
-01BC 01BD
-01BF
-01C4 0220
-0222 0233
-023A 0254
-0256 0257
-0259
-025B
-0260
-0263
-0265 0266
-0268 0269
-026B
-026F
-0271 0272
-0275
-027D
-0280
-0283
-0288 028C
-0292
-02BC
-0308
-0313
-0342
-0345
-0370 0373
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03D1
-03D5 03F2
-03F4 03F5
-03F7 03FB
-03FD 0481
-048A 0527
-0531 0556
-0561 0587
-10A0 10C5
-10C7
-10CD
-1D79
-1D7D
-1E00 1E9B
-1E9E
-1EA0 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2126
-212A 212B
-2132
-214E
-2160 217F
-2183 2184
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2C70
-2C72 2C73
-2C75 2C76
-2C7E 2CE3
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-A640 A66D
-A680 A697
-A722 A72F
-A732 A76F
-A779 A787
-A78B A78D
-A790 A793
-A7A0 A7AA
-FB00 FB06
-FB13 FB17
-FF21 FF3A
-FF41 FF5A
-10400 1044F
+V228
+65
+91
+97
+123
+181
+182
+192
+215
+216
+247
+248
+305
+306
+312
+313
+397
+398
+411
+412
+426
+428
+442
+444
+446
+447
+448
+452
+545
+546
+564
+570
+597
+598
+600
+601
+602
+603
+604
+608
+609
+611
+612
+613
+615
+616
+618
+619
+620
+623
+624
+625
+627
+629
+630
+637
+638
+640
+641
+643
+644
+648
+653
+658
+659
+700
+701
+702
+703
+768
+770
+775
+777
+778
+779
+780
+781
+787
+788
+817
+818
+834
+835
+837
+838
+880
+884
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+978
+981
+1011
+1012
+1014
+1015
+1020
+1021
+1154
+1162
+1320
+1329
+1367
+1377
+1416
+4256
+4294
+4295
+4296
+4301
+4302
+7545
+7546
+7549
+7550
+7680
+7836
+7838
+7839
+7840
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8486
+8487
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8576
+8579
+8581
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11377
+11378
+11380
+11381
+11383
+11390
+11492
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42560
+42606
+42624
+42648
+42786
+42800
+42802
+42864
+42873
+42888
+42891
+42894
+42896
+42900
+42912
+42923
+64256
+64263
+64275
+64280
+65313
+65339
+65345
+65371
+66560
+66640
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl
index 9811e6702bf..4dfd11358c1 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl
@@ -1,587 +1,1164 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020
-0028 0029
-002D
-0030 0039
-0041 005A
-005F
-0061 007A
-00A0
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0300 0374
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-0483 0487
-048A 0527
-0531 0556
-0559
-0561 0587
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0669
-066E 06D3
-06D5 06DC
-06DF 06E8
-06EA 06FC
-06FF
-0710 074A
-074D 07B1
-07C0 07F5
-07FA
-0800 082D
-0840 085B
-08A0
-08A2 08AC
-08E4 08FE
-0900 0963
-0966 096F
-0971 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 09F1
-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
-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
-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 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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E4E
-0E50 0E59
-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 0EDF
-0F00
-0F18 0F19
-0F20 0F29
-0F35
-0F37
-0F39
-0F3E 0F47
-0F49 0F6C
-0F71 0F84
-0F86 0F97
-0F99 0FBC
-0FC6
-1000 1049
-1050 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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 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 17D3
-17D7
-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
-1B50 1B59
-1B6B 1B73
-1B80 1BF3
-1C00 1C37
-1C40 1C49
-1C4D 1C7D
-1CD0 1CD2
-1CD4 1CF6
-1D00 1DE6
-1DFC 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-203F 2040
-2054
-2071
-207F
-2090 209C
-20D0 20DC
-20E1
-20E5 20F0
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A66F
-A674 A67D
-A67F A697
-A69F A6F1
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A827
-A840 A873
-A880 A8C4
-A8D0 A8D9
-A8E0 A8F7
-A8FB
-A900 A92D
-A930 A953
-A960 A97C
-A980 A9C0
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A AA7B
-AA80 AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABEC ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-FF10 FF19
-FF21 FF3A
-FF3F
-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
-102A0 102D0
-10300 1031E
-10330 1034A
-10380 1039D
-103A0 103C3
-103C8 103CF
-103D1 103D5
-10400 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11046
-11066 1106F
-11080 110BA
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 1113F
-11180 111C4
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1B000 1B001
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0100 E01EF
+V1150
+32
+33
+40
+42
+45
+46
+48
+58
+65
+91
+95
+96
+97
+123
+160
+161
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1160
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1642
+1646
+1748
+1749
+1757
+1759
+1769
+1770
+1789
+1791
+1792
+1808
+1867
+1869
+1970
+1984
+2038
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4170
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6155
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6618
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6824
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8255
+8257
+8276
+8277
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8413
+8417
+8418
+8421
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12443
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42608
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65024
+65040
+65056
+65063
+65075
+65077
+65101
+65104
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65296
+65306
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl
index ca58a729dd3..fc5166c9247 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl
@@ -1,504 +1,998 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F2
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2183 2184
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A67F A697
-A6A0 A6E5
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FBB1
-FBD3 FC5D
-FC64 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDF9
-FE71
-FE73
-FE77
-FE79
-FE7B
-FE7D
-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
-10280 1029C
-102A0 102D0
-10300 1031E
-10330 10340
-10342 10349
-10380 1039D
-103A0 103C3
-103C8 103CF
-10400 1049D
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V984
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1488
+1515
+1520
+1523
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3635
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3763
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8579
+8581
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+12293
+12295
+12337
+12342
+12347
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42726
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65313
+65339
+65345
+65371
+65382
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66369
+66370
+66378
+66432
+66462
+66464
+66500
+66504
+66512
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlFol.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlFol.pl
new file mode 100644
index 00000000000..6f8181d4db0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlFol.pl
@@ -0,0 +1,72 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V58
+223
+224
+304
+305
+329
+330
+496
+497
+912
+913
+944
+945
+1415
+1416
+7830
+7835
+7838
+7839
+8016
+8017
+8018
+8019
+8020
+8021
+8022
+8023
+8064
+8112
+8114
+8117
+8118
+8120
+8124
+8125
+8130
+8133
+8134
+8136
+8140
+8141
+8146
+8148
+8150
+8152
+8162
+8165
+8166
+8168
+8178
+8181
+8182
+8184
+8188
+8189
+64256
+64263
+64275
+64280
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl
index b2b6cb5ca18..0f2c06425fe 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl
@@ -1,583 +1,1156 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-005F
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0300 0374
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-0483 0487
-048A 0527
-0531 0556
-0559
-0561 0587
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0669
-066E 06D3
-06D5 06DC
-06DF 06E8
-06EA 06FC
-06FF
-0710 074A
-074D 07B1
-07C0 07F5
-07FA
-0800 082D
-0840 085B
-08A0
-08A2 08AC
-08E4 08FE
-0900 0963
-0966 096F
-0971 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 09F1
-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
-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
-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 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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E4E
-0E50 0E59
-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 0EDF
-0F00
-0F18 0F19
-0F20 0F29
-0F35
-0F37
-0F39
-0F3E 0F47
-0F49 0F6C
-0F71 0F84
-0F86 0F97
-0F99 0FBC
-0FC6
-1000 1049
-1050 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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 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 17D3
-17D7
-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
-1B50 1B59
-1B6B 1B73
-1B80 1BF3
-1C00 1C37
-1C40 1C49
-1C4D 1C7D
-1CD0 1CD2
-1CD4 1CF6
-1D00 1DE6
-1DFC 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-203F 2040
-2054
-2071
-207F
-2090 209C
-20D0 20DC
-20E1
-20E5 20F0
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A66F
-A674 A67D
-A67F A697
-A69F A6F1
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A827
-A840 A873
-A880 A8C4
-A8D0 A8D9
-A8E0 A8F7
-A8FB
-A900 A92D
-A930 A953
-A960 A97C
-A980 A9C0
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A AA7B
-AA80 AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABEC ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-FF10 FF19
-FF21 FF3A
-FF3F
-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
-102A0 102D0
-10300 1031E
-10330 1034A
-10380 1039D
-103A0 103C3
-103C8 103CF
-103D1 103D5
-10400 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11046
-11066 1106F
-11080 110BA
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 1113F
-11180 111C4
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1B000 1B001
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0100 E01EF
+V1142
+48
+58
+65
+91
+95
+96
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1160
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1642
+1646
+1748
+1749
+1757
+1759
+1769
+1770
+1789
+1791
+1792
+1808
+1867
+1869
+1970
+1984
+2038
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4170
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6155
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6618
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6824
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8255
+8257
+8276
+8277
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8413
+8417
+8418
+8421
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12443
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42608
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65024
+65040
+65056
+65063
+65075
+65077
+65101
+65104
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65296
+65306
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl
index f3bb5840209..58c3a215ba4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl
@@ -1,509 +1,1008 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-005F
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F2
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A67F A697
-A6A0 A6EF
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FBB1
-FBD3 FC5D
-FC64 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDF9
-FE71
-FE73
-FE77
-FE79
-FE7B
-FE7D
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V994
+65
+91
+95
+96
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1488
+1515
+1520
+1523
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3635
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3763
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65313
+65339
+65345
+65371
+65382
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPr2.pl
index c23b38a58ad..5dc3f8e9587 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPr2.pl
@@ -1,13 +1,40 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-202A
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V26
+0
+256
+304
+305
+329
+330
+376
+377
+383
+384
+496
+497
+700
+701
+924
+925
+956
+957
+7830
+7835
+7838
+7839
+8490
+8492
+64256
+64263
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V62.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPro.pl
index df4f991fd78..88d63212761 100755..100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V62.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPro.pl
@@ -1,13 +1,38 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-20BA
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V24
+0
+256
+304
+305
+329
+330
+376
+377
+383
+384
+496
+497
+924
+925
+956
+957
+7830
+7835
+7838
+7839
+8490
+8492
+64256
+64263
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl
index 47904d2b826..eb58335323b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl
@@ -1,49 +1,90 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 002F
-003A 0040
-005B 005E
-0060
-007B 00A7
-00A9
-00AB 00AE
-00B0 00B1
-00B6
-00BB
-00BF
-00D7
-00F7
-034F
-115F 1160
-1680
-17B4 17B5
-180B 180E
-2000 203E
-2041 2053
-2055 206F
-2190 245F
-2500 2775
-2794 2BFF
-2E00 2E7F
-3000 3003
-3008 3020
-3030
-3164
-FD3E FD3F
-FE00 FE0F
-FE45 FE46
-FEFF
-FFA0
-FFF0 FFF8
-1D173 1D17A
-E0000 E0FFF
+V76
+0
+48
+58
+65
+91
+95
+96
+97
+123
+168
+169
+170
+171
+175
+176
+178
+182
+183
+187
+188
+191
+192
+215
+216
+247
+248
+847
+848
+1564
+1565
+4447
+4449
+5760
+5761
+6068
+6070
+6155
+6159
+8192
+8255
+8257
+8276
+8277
+8304
+8592
+9312
+9472
+10102
+10132
+11264
+11776
+11904
+12288
+12292
+12296
+12321
+12336
+12337
+12644
+12645
+64830
+64832
+65024
+65040
+65093
+65095
+65279
+65280
+65440
+65441
+65520
+65529
+119155
+119163
+917504
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
index b6b0f8d842b..dc644b4ab3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
@@ -1,219 +1,428 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0963
-0981 0983
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09E2 09E3
-0A01 0A03
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A83
-0ABC
-0ABE 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AE2 0AE3
-0B01 0B03
-0B3C
-0B3E 0B44
-0B47 0B48
-0B4B 0B4D
-0B56 0B57
-0B62 0B63
-0B82
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-0C01 0C03
-0C3E 0C44
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0C82 0C83
-0CBC
-0CBE 0CC4
-0CC6 0CC8
-0CCA 0CCD
-0CD5 0CD6
-0CE2 0CE3
-0D02 0D03
-0D3E 0D44
-0D46 0D48
-0D4A 0D4D
-0D57
-0D62 0D63
-0D82 0D83
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E31
-0E33 0E3A
-0E47 0E4E
-0EB1
-0EB3 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F3E 0F3F
-0F71 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102D 1037
-1039 103E
-1056 1059
-105E 1060
-1071 1074
-1082
-1084 1086
-108D
-109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17D3
-17DD
-180B 180D
-18A9
-1920 192B
-1930 193B
-19B5 19B7
-19BA
-1A17 1A1B
-1A55 1A5E
-1A60
-1A62
-1A65 1A7C
-1A7F
-1B00 1B04
-1B34 1B44
-1B6B 1B73
-1B80 1B82
-1BA1 1BAD
-1BE6 1BF3
-1C24 1C37
-1CD0 1CD2
-1CD4 1CE8
-1CED
-1CF2 1CF4
-1DC0 1DE6
-1DFC 1DFF
-200C 200D
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302F
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A823 A827
-A880 A881
-A8B4 A8C4
-A8E0 A8F1
-A926 A92D
-A947 A953
-A980 A983
-A9B3 A9C0
-AA29 AA36
-AA43
-AA4C AA4D
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEB AAEF
-AAF5 AAF6
-ABE3 ABEA
-ABEC ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-FF9E FF9F
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11000 11002
-11038 11046
-11080 11082
-110B0 110BA
-11100 11102
-11127 11134
-11180 11182
-111B3 111C0
-116AB 116B7
-16F51 16F7E
-16F8F 16F92
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V414
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2404
+2433
+2436
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2530
+2532
+2561
+2564
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2692
+2748
+2749
+2750
+2758
+2759
+2762
+2763
+2766
+2786
+2788
+2817
+2820
+2876
+2877
+2878
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3073
+3076
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3202
+3204
+3260
+3261
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3298
+3300
+3330
+3332
+3390
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3426
+3428
+3458
+3460
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3633
+3634
+3635
+3643
+3655
+3663
+3761
+3762
+3763
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3953
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4141
+4152
+4153
+4159
+4182
+4186
+4190
+4193
+4209
+4213
+4226
+4227
+4228
+4231
+4237
+4238
+4253
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6444
+6448
+6460
+6581
+6584
+6586
+6587
+6679
+6684
+6741
+6751
+6752
+6753
+6754
+6755
+6757
+6781
+6783
+6784
+6912
+6917
+6964
+6981
+7019
+7028
+7040
+7043
+7073
+7086
+7142
+7156
+7204
+7224
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7616
+7655
+7676
+7680
+8204
+8206
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43136
+43138
+43188
+43205
+43232
+43250
+43302
+43310
+43335
+43348
+43392
+43396
+43443
+43457
+43561
+43575
+43587
+43588
+43596
+43598
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43755
+43760
+43765
+43767
+44003
+44011
+44012
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65438
+65440
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69632
+69635
+69688
+69703
+69760
+69763
+69808
+69819
+69888
+69891
+69927
+69941
+70016
+70019
+70067
+70081
+71339
+71352
+94033
+94079
+94095
+94099
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBL.pl
deleted file mode 100755
index 3e2ac783352..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBL.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1100 115F
-A960 A97C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLV.pl
deleted file mode 100755
index 750f9429fa0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLV.pl
+++ /dev/null
@@ -1,411 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-AC00
-AC1C
-AC38
-AC54
-AC70
-AC8C
-ACA8
-ACC4
-ACE0
-ACFC
-AD18
-AD34
-AD50
-AD6C
-AD88
-ADA4
-ADC0
-ADDC
-ADF8
-AE14
-AE30
-AE4C
-AE68
-AE84
-AEA0
-AEBC
-AED8
-AEF4
-AF10
-AF2C
-AF48
-AF64
-AF80
-AF9C
-AFB8
-AFD4
-AFF0
-B00C
-B028
-B044
-B060
-B07C
-B098
-B0B4
-B0D0
-B0EC
-B108
-B124
-B140
-B15C
-B178
-B194
-B1B0
-B1CC
-B1E8
-B204
-B220
-B23C
-B258
-B274
-B290
-B2AC
-B2C8
-B2E4
-B300
-B31C
-B338
-B354
-B370
-B38C
-B3A8
-B3C4
-B3E0
-B3FC
-B418
-B434
-B450
-B46C
-B488
-B4A4
-B4C0
-B4DC
-B4F8
-B514
-B530
-B54C
-B568
-B584
-B5A0
-B5BC
-B5D8
-B5F4
-B610
-B62C
-B648
-B664
-B680
-B69C
-B6B8
-B6D4
-B6F0
-B70C
-B728
-B744
-B760
-B77C
-B798
-B7B4
-B7D0
-B7EC
-B808
-B824
-B840
-B85C
-B878
-B894
-B8B0
-B8CC
-B8E8
-B904
-B920
-B93C
-B958
-B974
-B990
-B9AC
-B9C8
-B9E4
-BA00
-BA1C
-BA38
-BA54
-BA70
-BA8C
-BAA8
-BAC4
-BAE0
-BAFC
-BB18
-BB34
-BB50
-BB6C
-BB88
-BBA4
-BBC0
-BBDC
-BBF8
-BC14
-BC30
-BC4C
-BC68
-BC84
-BCA0
-BCBC
-BCD8
-BCF4
-BD10
-BD2C
-BD48
-BD64
-BD80
-BD9C
-BDB8
-BDD4
-BDF0
-BE0C
-BE28
-BE44
-BE60
-BE7C
-BE98
-BEB4
-BED0
-BEEC
-BF08
-BF24
-BF40
-BF5C
-BF78
-BF94
-BFB0
-BFCC
-BFE8
-C004
-C020
-C03C
-C058
-C074
-C090
-C0AC
-C0C8
-C0E4
-C100
-C11C
-C138
-C154
-C170
-C18C
-C1A8
-C1C4
-C1E0
-C1FC
-C218
-C234
-C250
-C26C
-C288
-C2A4
-C2C0
-C2DC
-C2F8
-C314
-C330
-C34C
-C368
-C384
-C3A0
-C3BC
-C3D8
-C3F4
-C410
-C42C
-C448
-C464
-C480
-C49C
-C4B8
-C4D4
-C4F0
-C50C
-C528
-C544
-C560
-C57C
-C598
-C5B4
-C5D0
-C5EC
-C608
-C624
-C640
-C65C
-C678
-C694
-C6B0
-C6CC
-C6E8
-C704
-C720
-C73C
-C758
-C774
-C790
-C7AC
-C7C8
-C7E4
-C800
-C81C
-C838
-C854
-C870
-C88C
-C8A8
-C8C4
-C8E0
-C8FC
-C918
-C934
-C950
-C96C
-C988
-C9A4
-C9C0
-C9DC
-C9F8
-CA14
-CA30
-CA4C
-CA68
-CA84
-CAA0
-CABC
-CAD8
-CAF4
-CB10
-CB2C
-CB48
-CB64
-CB80
-CB9C
-CBB8
-CBD4
-CBF0
-CC0C
-CC28
-CC44
-CC60
-CC7C
-CC98
-CCB4
-CCD0
-CCEC
-CD08
-CD24
-CD40
-CD5C
-CD78
-CD94
-CDB0
-CDCC
-CDE8
-CE04
-CE20
-CE3C
-CE58
-CE74
-CE90
-CEAC
-CEC8
-CEE4
-CF00
-CF1C
-CF38
-CF54
-CF70
-CF8C
-CFA8
-CFC4
-CFE0
-CFFC
-D018
-D034
-D050
-D06C
-D088
-D0A4
-D0C0
-D0DC
-D0F8
-D114
-D130
-D14C
-D168
-D184
-D1A0
-D1BC
-D1D8
-D1F4
-D210
-D22C
-D248
-D264
-D280
-D29C
-D2B8
-D2D4
-D2F0
-D30C
-D328
-D344
-D360
-D37C
-D398
-D3B4
-D3D0
-D3EC
-D408
-D424
-D440
-D45C
-D478
-D494
-D4B0
-D4CC
-D4E8
-D504
-D520
-D53C
-D558
-D574
-D590
-D5AC
-D5C8
-D5E4
-D600
-D61C
-D638
-D654
-D670
-D68C
-D6A8
-D6C4
-D6E0
-D6FC
-D718
-D734
-D750
-D76C
-D788
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLVT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLVT.pl
deleted file mode 100755
index 53188bb232b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBLVT.pl
+++ /dev/null
@@ -1,411 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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/Perl/_XGCBT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBT.pl
deleted file mode 100755
index 02929fb9c27..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBT.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11A8 11FF
-D7CB D7FB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBV.pl
deleted file mode 100755
index df3306c82c8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XGCBV.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1160 11A7
-D7B0 D7C6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
deleted file mode 100644
index 6089f1c5ea0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1160 11A7
-AC00 D7A3
-D7B0 D7C6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRI.pl
deleted file mode 100755
index 16fdbcb4e44..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRI.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1F1E6 1F1FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRegula.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRegula.pl
index f508922b4aa..83f64a02e63 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRegula.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XRegula.pl
@@ -1,35 +1,63 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0020 007E
-00A0 00AC
-00AE 05FF
-0605 06DC
-06DE 070E
-0710 10FF
-1200 200A
-200C 200D
-2010 2027
-202F 205F
-2070 A95F
-A97D ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC D7FF
-E000 FEFE
-FF00 FFEF
-FFFC 110BC
-110BE 1D172
-1D17B 1F1E5
-1F200 DFFFF
-E0100 E01EF
-E1000 10FFFF
+V49
+32
+127
+160
+173
+174
+1536
+1541
+1564
+1565
+1757
+1758
+1807
+1808
+4352
+4608
+6158
+6159
+8203
+8204
+8206
+8208
+8232
+8239
+8288
+8304
+43360
+43389
+44032
+55204
+55216
+55239
+55243
+55292
+55296
+57344
+65279
+65280
+65520
+65532
+69821
+69822
+119155
+119163
+127462
+127488
+917504
+917760
+918000
+921600
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XSpecia.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XSpecia.pl
index 5ad6856b769..356575c4812 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XSpecia.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XSpecia.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1100 11FF
-A960 A97C
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-1F1E6 1F1FF
+V12
+4352
+4608
+43360
+43389
+44032
+55204
+55216
+55239
+55243
+55292
+127462
+127488
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
index 7a6ec7c8459..237872d250a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
@@ -1,24 +1,38 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0022
-0027
-00AB
-00BB
-2018 201F
-2039 203A
-300C 300F
-301D 301F
-FE41 FE44
-FF02
-FF07
-FF62 FF63
+V24
+34
+35
+39
+40
+171
+172
+187
+188
+8216
+8224
+8249
+8251
+12300
+12304
+12317
+12320
+65089
+65093
+65282
+65283
+65287
+65288
+65378
+65380
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
deleted file mode 100644
index 957e5eb8404..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 dcc65b87767..2226f140c78 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002E
-2024
-FE52
-FF0E
+V8
+46
+47
+8228
+8229
+65106
+65107
+65294
+65295
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
index ae183c027e5..0c0a3fc978b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
@@ -1,53 +1,98 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0022
-0027 0029
-005B
-005D
-007B
-007D
-00AB
-00BB
-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
-FF62 FF63
+V84
+34
+35
+39
+42
+91
+92
+93
+94
+123
+124
+125
+126
+171
+172
+187
+188
+3898
+3902
+5787
+5789
+8216
+8224
+8249
+8251
+8261
+8263
+8317
+8319
+8333
+8335
+8968
+8972
+9001
+9003
+10075
+10079
+10088
+10102
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11776
+11790
+11804
+11806
+11808
+11818
+12296
+12306
+12308
+12316
+12317
+12320
+64830
+64832
+65047
+65049
+65077
+65093
+65095
+65097
+65113
+65119
+65288
+65290
+65339
+65340
+65341
+65342
+65371
+65372
+65373
+65374
+65375
+65377
+65378
+65380
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
index 9b0fc3c7fc0..d1e0ba39044 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
@@ -1,218 +1,426 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0483 0489
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 065F
-0670
-06D6 06DC
-06DF 06E4
-06E7 06E8
-06EA 06ED
-0711
-0730 074A
-07A6 07B0
-07EB 07F3
-0816 0819
-081B 0823
-0825 0827
-0829 082D
-0859 085B
-08E4 08FE
-0900 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0963
-0981 0983
-09BC
-09BE 09C4
-09C7 09C8
-09CB 09CD
-09D7
-09E2 09E3
-0A01 0A03
-0A3C
-0A3E 0A42
-0A47 0A48
-0A4B 0A4D
-0A51
-0A70 0A71
-0A75
-0A81 0A83
-0ABC
-0ABE 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AE2 0AE3
-0B01 0B03
-0B3C
-0B3E 0B44
-0B47 0B48
-0B4B 0B4D
-0B56 0B57
-0B62 0B63
-0B82
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCD
-0BD7
-0C01 0C03
-0C3E 0C44
-0C46 0C48
-0C4A 0C4D
-0C55 0C56
-0C62 0C63
-0C82 0C83
-0CBC
-0CBE 0CC4
-0CC6 0CC8
-0CCA 0CCD
-0CD5 0CD6
-0CE2 0CE3
-0D02 0D03
-0D3E 0D44
-0D46 0D48
-0D4A 0D4D
-0D57
-0D62 0D63
-0D82 0D83
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E31
-0E34 0E3A
-0E47 0E4E
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0EC8 0ECD
-0F18 0F19
-0F35
-0F37
-0F39
-0F3E 0F3F
-0F71 0F84
-0F86 0F87
-0F8D 0F97
-0F99 0FBC
-0FC6
-102B 103E
-1056 1059
-105E 1060
-1062 1064
-1067 106D
-1071 1074
-1082 108D
-108F
-109A 109D
-135D 135F
-1712 1714
-1732 1734
-1752 1753
-1772 1773
-17B4 17D3
-17DD
-180B 180D
-18A9
-1920 192B
-1930 193B
-19B0 19C0
-19C8 19C9
-1A17 1A1B
-1A55 1A5E
-1A60 1A7C
-1A7F
-1B00 1B04
-1B34 1B44
-1B6B 1B73
-1B80 1B82
-1BA1 1BAD
-1BE6 1BF3
-1C24 1C37
-1CD0 1CD2
-1CD4 1CE8
-1CED
-1CF2 1CF4
-1DC0 1DE6
-1DFC 1DFF
-200C 200D
-20D0 20F0
-2CEF 2CF1
-2D7F
-2DE0 2DFF
-302A 302F
-3099 309A
-A66F A672
-A674 A67D
-A69F
-A6F0 A6F1
-A802
-A806
-A80B
-A823 A827
-A880 A881
-A8B4 A8C4
-A8E0 A8F1
-A926 A92D
-A947 A953
-A980 A983
-A9B3 A9C0
-AA29 AA36
-AA43
-AA4C AA4D
-AA7B
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAEB AAEF
-AAF5 AAF6
-ABE3 ABEA
-ABEC ABED
-FB1E
-FE00 FE0F
-FE20 FE26
-FF9E FF9F
-101FD
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-10A38 10A3A
-10A3F
-11000 11002
-11038 11046
-11080 11082
-110B0 110BA
-11100 11102
-11127 11134
-11180 11182
-111B3 111C0
-116AB 116B7
-16F51 16F7E
-16F8F 16F92
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-E0100 E01EF
+V412
+768
+880
+1155
+1162
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1552
+1563
+1611
+1632
+1648
+1649
+1750
+1757
+1759
+1765
+1767
+1769
+1770
+1774
+1809
+1810
+1840
+1867
+1958
+1969
+2027
+2036
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2094
+2137
+2140
+2276
+2303
+2304
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2404
+2433
+2436
+2492
+2493
+2494
+2501
+2503
+2505
+2507
+2510
+2519
+2520
+2530
+2532
+2561
+2564
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2672
+2674
+2677
+2678
+2689
+2692
+2748
+2749
+2750
+2758
+2759
+2762
+2763
+2766
+2786
+2788
+2817
+2820
+2876
+2877
+2878
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2914
+2916
+2946
+2947
+3006
+3011
+3014
+3017
+3018
+3022
+3031
+3032
+3073
+3076
+3134
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3170
+3172
+3202
+3204
+3260
+3261
+3262
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3298
+3300
+3330
+3332
+3390
+3397
+3398
+3401
+3402
+3406
+3415
+3416
+3426
+3428
+3458
+3460
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3633
+3634
+3636
+3643
+3655
+3663
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3864
+3866
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3904
+3953
+3973
+3974
+3976
+3981
+3992
+3993
+4029
+4038
+4039
+4139
+4159
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4240
+4250
+4254
+4957
+4960
+5906
+5909
+5938
+5941
+5970
+5972
+6002
+6004
+6068
+6100
+6109
+6110
+6155
+6158
+6313
+6314
+6432
+6444
+6448
+6460
+6576
+6593
+6600
+6602
+6679
+6684
+6741
+6751
+6752
+6781
+6783
+6784
+6912
+6917
+6964
+6981
+7019
+7028
+7040
+7043
+7073
+7086
+7142
+7156
+7204
+7224
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7616
+7655
+7676
+7680
+8204
+8206
+8400
+8433
+11503
+11506
+11647
+11648
+11744
+11776
+12330
+12336
+12441
+12443
+42607
+42611
+42612
+42622
+42655
+42656
+42736
+42738
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43048
+43136
+43138
+43188
+43205
+43232
+43250
+43302
+43310
+43335
+43348
+43392
+43396
+43443
+43457
+43561
+43575
+43587
+43588
+43596
+43598
+43643
+43644
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43755
+43760
+43765
+43767
+44003
+44011
+44012
+44014
+64286
+64287
+65024
+65040
+65056
+65063
+65438
+65440
+66045
+66046
+68097
+68100
+68101
+68103
+68108
+68112
+68152
+68155
+68159
+68160
+69632
+69635
+69688
+69703
+69760
+69763
+69808
+69819
+69888
+69891
+69927
+69941
+70016
+70019
+70067
+70081
+71339
+71352
+94033
+94079
+94095
+94099
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
index 609a23974e8..75f65fbb651 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
@@ -1,27 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AD
-0600 0604
-06DD
-070F
-200B
-200E 200F
-202A 202E
-2060 2064
-206A 206F
-FEFF
-FFF9 FFFB
-110BD
-1D173 1D17A
-E0001
-E0020 E007F
+V34
+173
+174
+1536
+1541
+1564
+1565
+1757
+1758
+1807
+1808
+6158
+6159
+8203
+8204
+8206
+8208
+8234
+8239
+8288
+8293
+8294
+8304
+65279
+65280
+65529
+65532
+69821
+69822
+119155
+119163
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
index d5b89227ac9..2164ec172da 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
@@ -1,405 +1,800 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-01BB
-01C0 01C3
-0294
-02B9 02BF
-02C6 02D1
-02EC
-02EE
-0374
-0559
-05D0 05EA
-05F0 05F3
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32 0E33
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2 0EB3
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-2135 2138
-2180 2182
-2185 2188
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2E2F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A66E
-A67F
-A6A0 A6EF
-A717 A71F
-A788
-A7FB A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V786
+443
+444
+448
+452
+660
+661
+697
+704
+710
+722
+748
+749
+750
+751
+884
+885
+1369
+1370
+1488
+1515
+1520
+1524
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3636
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3764
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+8501
+8505
+8576
+8579
+8581
+8585
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11823
+11824
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42606
+42607
+42623
+42624
+42656
+42736
+42775
+42784
+42888
+42889
+43003
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65382
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66640
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
index e9c291dd2bc..caa439a4136 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
@@ -1,629 +1,1248 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0061 007A
-00AA
-00B5
-00BA
-00DF 00F6
-00F8 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BA
-01BD 01BF
-01C6
-01C9
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0293
-0295 02B8
-02C0 02C1
-02E0 02E4
-0371
-0373
-0377
-037A 037D
-0390
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F3
-03F5
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527
-0561 0587
-1D00 1DBF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-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
-1FC6 1FC7
-1FD0 1FD3
-1FD6 1FD7
-1FE0 1FE7
-1FF2 1FF4
-1FF6 1FF7
-2071
-207F
-2090 209C
-210A
-210E 210F
-2113
-212F
-2134
-2139
-213C 213D
-2146 2149
-214E
-2170 217F
-2184
-24D0 24E9
-2C30 2C5E
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7D
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CE4
-2CEC
-2CEE
-2CF3
-2D00 2D25
-2D27
-2D2D
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787
-A78C
-A78E
-A791
-A793
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9
-A7F8 A7FA
-FB00 FB06
-FB13 FB17
-FF41 FF5A
-10428 1044F
-1D41A 1D433
-1D44E 1D454
-1D456 1D467
-1D482 1D49B
-1D4B6 1D4B9
-1D4BB
-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
+V1234
+97
+123
+170
+171
+181
+182
+186
+187
+223
+247
+248
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+443
+445
+448
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+660
+661
+697
+704
+706
+736
+741
+881
+882
+883
+884
+887
+888
+890
+894
+912
+913
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1014
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1377
+1416
+7424
+7616
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7958
+7968
+7976
+7984
+7992
+8000
+8006
+8016
+8024
+8032
+8040
+8048
+8062
+8064
+8072
+8080
+8088
+8096
+8104
+8112
+8117
+8118
+8120
+8126
+8127
+8130
+8133
+8134
+8136
+8144
+8148
+8150
+8152
+8160
+8168
+8178
+8181
+8182
+8184
+8305
+8306
+8319
+8320
+8336
+8349
+8458
+8459
+8462
+8464
+8467
+8468
+8495
+8496
+8500
+8501
+8505
+8506
+8508
+8510
+8518
+8522
+8526
+8527
+8560
+8576
+8580
+8581
+9424
+9450
+11312
+11359
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11493
+11500
+11501
+11502
+11503
+11507
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42606
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42648
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42888
+42892
+42893
+42894
+42895
+42897
+42898
+42899
+42900
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+43000
+43003
+64256
+64263
+64275
+64280
+65345
+65371
+66600
+66640
+119834
+119860
+119886
+119893
+119894
+119912
+119938
+119964
+119990
+119994
+119995
+119996
+119997
+120004
+120005
+120016
+120042
+120068
+120094
+120120
+120146
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120486
+120514
+120539
+120540
+120546
+120572
+120597
+120598
+120604
+120630
+120655
+120656
+120662
+120688
+120713
+120714
+120720
+120746
+120771
+120772
+120778
+120779
+120780
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl
index e6ea4a1284d..1753f809d97 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl
@@ -1,54 +1,98 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
-110F0 110F9
-11136 1113F
-111D0 111D9
-116C0 116C9
-1D7CE 1D7FF
+V84
+48
+58
+1632
+1642
+1643
+1645
+1776
+1786
+1984
+1994
+2406
+2416
+2534
+2544
+2662
+2672
+2790
+2800
+2918
+2928
+3046
+3056
+3174
+3184
+3302
+3312
+3430
+3440
+3664
+3674
+3792
+3802
+3872
+3882
+4160
+4170
+4240
+4250
+6112
+6122
+6160
+6170
+6470
+6480
+6608
+6618
+6784
+6794
+6800
+6810
+6992
+7002
+7088
+7098
+7232
+7242
+7248
+7258
+42528
+42538
+43216
+43226
+43264
+43274
+43472
+43482
+43600
+43610
+44016
+44026
+66720
+66730
+69734
+69744
+69872
+69882
+69942
+69952
+70096
+70106
+71360
+71370
+120782
+120832
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
index 3754fbc7230..760d245406a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
@@ -1,31 +1,52 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002C 002D
-003A
-055D
-060C 060D
-07F8
-1802
-1808
-2013 2014
-3001
-FE10 FE11
-FE13
-FE31 FE32
-FE50 FE51
-FE55
-FE58
-FE63
-FF0C FF0D
-FF1A
-FF64
+V38
+44
+46
+58
+59
+1373
+1374
+1548
+1550
+2040
+2041
+6146
+6147
+6152
+6153
+8211
+8213
+12289
+12290
+65040
+65042
+65043
+65044
+65073
+65075
+65104
+65106
+65109
+65110
+65112
+65113
+65123
+65124
+65292
+65294
+65306
+65307
+65380
+65381
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
deleted file mode 100644
index 0d2e14a74ba..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0085
-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 17dd6351e3a..ecfae3ad2a1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
@@ -1,59 +1,108 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021
-003F
-055C
-055E
-0589
-061F
-06D4
-0700 0702
-07F9
-0964 0965
-104A 104B
-1362
-1367 1368
-166E
-1735 1736
-1803
-1809
-1944 1945
-1AA8 1AAB
-1B5A 1B5B
-1B5E 1B5F
-1C3B 1C3C
-1C7E 1C7F
-203C 203D
-2047 2049
-2E2E
-3002
-A4FF
-A60E A60F
-A6F3
-A6F7
-A876 A877
-A8CE A8CF
-A92F
-A9C8 A9C9
-AA5D AA5F
-AAF0 AAF1
-ABEB
-FE56 FE57
-FF01
-FF1F
-FF61
-10A56 10A57
-11047 11048
-110BE 110C1
-11141 11143
-111C5 111C6
+V94
+33
+34
+63
+64
+1372
+1373
+1374
+1375
+1417
+1418
+1567
+1568
+1748
+1749
+1792
+1795
+2041
+2042
+2404
+2406
+4170
+4172
+4962
+4963
+4967
+4969
+5742
+5743
+5941
+5943
+6147
+6148
+6153
+6154
+6468
+6470
+6824
+6828
+7002
+7004
+7006
+7008
+7227
+7229
+7294
+7296
+8252
+8254
+8263
+8266
+11822
+11823
+12290
+12291
+42239
+42240
+42510
+42512
+42739
+42740
+42743
+42744
+43126
+43128
+43214
+43216
+43311
+43312
+43464
+43466
+43613
+43616
+43760
+43762
+44011
+44012
+65110
+65112
+65281
+65282
+65311
+65312
+65377
+65378
+68182
+68184
+69703
+69705
+69822
+69826
+69953
+69956
+70085
+70087
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
index 61a35f3aecf..b8d02d5f4cc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
@@ -1,22 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0009
-000B 000C
-0020
-00A0
-1680
-180E
-2000 200A
-202F
-205F
-3000
+V18
+9
+10
+11
+13
+32
+33
+160
+161
+5760
+5761
+8192
+8203
+8239
+8240
+8287
+8288
+12288
+12289
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
index 8115e9d4164..9c595335ed7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
@@ -1,625 +1,1240 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00C0 00D6
-00D8 00DE
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4 01C5
-01C7 01C8
-01CA 01CB
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1 01F2
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0370
-0372
-0376
-0386
-0388 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F4
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-10A0 10C5
-10C7
-10CD
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1F88 1F8F
-1F98 1F9F
-1FA8 1FAF
-1FB8 1FBC
-1FC8 1FCC
-1FD8 1FDB
-1FE8 1FEC
-1FF8 1FFC
-2102
-2107
-210B 210D
-2110 2112
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-2130 2133
-213E 213F
-2145
-2160 216F
-2183
-24B6 24CF
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-FF21 FF3A
-10400 10427
-1D400 1D419
-1D434 1D44D
-1D468 1D481
-1D49C
-1D49E 1D49F
-1D4A2
-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
-1D56C 1D585
-1D5A0 1D5B9
-1D5D4 1D5ED
-1D608 1D621
-1D63C 1D655
-1D670 1D689
-1D6A8 1D6C0
-1D6E2 1D6FA
-1D71C 1D734
-1D756 1D76E
-1D790 1D7A8
-1D7CA
+V1226
+65
+91
+192
+215
+216
+223
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+454
+455
+457
+458
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+499
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+880
+881
+882
+883
+886
+887
+902
+903
+904
+907
+908
+909
+910
+912
+913
+930
+931
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+4256
+4294
+4295
+4296
+4301
+4302
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8072
+8080
+8088
+8096
+8104
+8112
+8120
+8125
+8136
+8141
+8152
+8156
+8168
+8173
+8184
+8189
+8450
+8451
+8455
+8456
+8459
+8462
+8464
+8467
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8496
+8500
+8510
+8512
+8517
+8518
+8544
+8560
+8579
+8580
+9398
+9424
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+65313
+65339
+66560
+66600
+119808
+119834
+119860
+119886
+119912
+119938
+119964
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119990
+120016
+120042
+120068
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120120
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120488
+120513
+120546
+120571
+120604
+120629
+120662
+120687
+120720
+120745
+120778
+120779
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
index 6083ca866f1..088e3d706a2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
@@ -1,635 +1,1263 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0008
-000E 001F
-0023 0026
-002A 002B
-002F
-003B 003E
-0040
-005C
-005E 0060
-007C
-007E 0084
-0086 009F
-00A1 00A9
-00AC
-00AE 00B4
-00B6 00B9
-00BC 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0378 0379
-037E 0385
-0387
-038B
-038D
-03A2
-03F6
-0482
-0528 0530
-0557 0558
-055A 055B
-055F 0560
-0588
-058A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05CF
-05EB 05EF
-05F4 05FF
-0605 060B
-060E 060F
-061B 061E
-066A
-066D
-06DE
-06E9
-06FD 06FE
-0703 070E
-074B 074C
-07B2 07BF
-07F6 07F7
-07FB 07FF
-082E 083F
-085C 089F
-08A1
-08AD 08E3
-08FF
-0970
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09F2 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF0 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B70
-0B72 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BF0 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D70 0D79
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E00
-0E3B 0E3F
-0E4F
-0E5A 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F01 0F17
-0F1A 0F1F
-0F2A 0F34
-0F36
-0F38
-0F48
-0F6D 0F70
-0F85
-0F98
-0FBD 0FC5
-0FC7 0FFF
-104C 104F
-109E 109F
-10C6
-10C8 10CC
-10CE 10CF
-10FB
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-1360 1361
-1363 1366
-1369 137F
-1390 139F
-13F5 1400
-166D
-169D 169F
-16EB 16ED
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17D4 17D6
-17D8 17DB
-17DE 17DF
-17EA 1801
-1804 1807
-180A
-180F
-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
-1A8A 1A8F
-1A9A 1AA6
-1AAC 1AFF
-1B4C 1B4F
-1B5C 1B5D
-1B60 1B6A
-1B74 1B7F
-1BF4 1BFF
-1C38 1C3A
-1C3D 1C3F
-1C4A 1C4C
-1C80 1CCF
-1CD3
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 1FFF
-2010 2012
-2015 2017
-2020 2023
-2025 2027
-2030 2038
-203B
-203E 2044
-204A 205E
-2065 2069
-2070
-2072 207C
-2080 208C
-208F
-209D 20CF
-20F1 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E
-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
-2CF4 2CFF
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D70 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E0E 2E1B
-2E1E 2E1F
-2E2A 2E2D
-2E30 2FFF
-3003 3004
-3012 3013
-301C
-3020
-3030
-3036 3037
-303D 3040
-3097 3098
-309B 309C
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCD 9FFF
-A48D A4CF
-A4FE
-A60D
-A62C A63F
-A673
-A67E
-A698 A69E
-A6F2
-A6F4 A6F6
-A6F8 A716
-A720 A721
-A789 A78A
-A78F
-A794 A79F
-A7AB A7F7
-A828 A83F
-A874 A875
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8F8 A8FA
-A8FC A8FF
-A92E
-A954 A95F
-A97D A97F
-A9C1 A9C7
-A9CA A9CE
-A9DA A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5C
-AA77 AA79
-AA7C AA7F
-AAC3 AADA
-AADE AADF
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFC FDFF
-FE12
-FE14 FE16
-FE19 FE1F
-FE27 FE30
-FE33 FE34
-FE45 FE46
-FE49 FE4F
-FE53 FE54
-FE5F FE62
-FE64 FE6F
-FE75
-FEFD FEFE
-FF00
-FF02 FF07
-FF0A FF0B
-FF0F FF19
-FF1B FF1E
-FF20
-FF3C
-FF3E FF40
-FF5C
-FF5E
-FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFF8
-FFFC FFFF
-1000C
-10027
-1003B
-1003E
-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
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11140
-11144 1117F
-111C7 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1D164
-1D16A 1D16C
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+V1249
+0
+9
+14
+32
+35
+39
+42
+44
+47
+48
+59
+63
+64
+65
+92
+93
+94
+97
+124
+125
+126
+133
+134
+160
+161
+170
+172
+173
+174
+181
+182
+186
+188
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1320
+1329
+1367
+1369
+1370
+1372
+1375
+1377
+1416
+1417
+1418
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1524
+1536
+1541
+1548
+1550
+1552
+1563
+1564
+1565
+1567
+1642
+1643
+1645
+1646
+1758
+1759
+1769
+1770
+1789
+1791
+1795
+1807
+1867
+1869
+1970
+1984
+2038
+2040
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4172
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4962
+4963
+4967
+4969
+4992
+5008
+5024
+5109
+5121
+5741
+5742
+5789
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6146
+6148
+6152
+6154
+6155
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6618
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6828
+6912
+6988
+6992
+7004
+7006
+7008
+7019
+7028
+7040
+7156
+7168
+7224
+7227
+7229
+7232
+7242
+7245
+7296
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8192
+8208
+8211
+8213
+8216
+8224
+8228
+8229
+8232
+8240
+8249
+8251
+8252
+8254
+8261
+8266
+8287
+8293
+8294
+8304
+8305
+8306
+8317
+8320
+8333
+8335
+8336
+8349
+8400
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+8968
+8972
+9001
+9003
+9398
+9450
+10075
+10079
+10088
+10102
+10181
+10183
+10214
+10224
+10627
+10649
+10712
+10716
+10748
+10750
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11790
+11804
+11806
+11808
+11818
+11822
+11824
+12288
+12291
+12293
+12306
+12308
+12316
+12317
+12320
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12443
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42239
+42509
+42510
+42540
+42560
+42611
+42612
+42622
+42623
+42648
+42655
+42738
+42739
+42740
+42743
+42744
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43126
+43128
+43136
+43205
+43214
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43311
+43348
+43360
+43389
+43392
+43457
+43464
+43466
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43613
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65020
+65024
+65042
+65043
+65044
+65047
+65049
+65056
+65063
+65073
+65075
+65077
+65093
+65095
+65097
+65104
+65107
+65109
+65119
+65123
+65124
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65282
+65288
+65290
+65292
+65295
+65306
+65307
+65311
+65312
+65313
+65340
+65341
+65342
+65345
+65372
+65373
+65374
+65375
+65381
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65529
+65532
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68182
+68184
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69705
+69734
+69744
+69760
+69819
+69821
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+69953
+69956
+70016
+70087
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
index fd00a4d5f8e..e68c017ae9f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
@@ -1,43 +1,76 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0069 006A
-012F
-0249
-0268
-029D
-02B2
-03F3
-0456
-0458
-1D62
-1D96
-1DA4
-1DA8
-1E2D
-1ECB
-2071
-2148 2149
-2C7C
-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
+V62
+105
+107
+303
+304
+585
+586
+616
+617
+669
+670
+690
+691
+1011
+1012
+1110
+1111
+1112
+1113
+7522
+7523
+7574
+7575
+7588
+7589
+7592
+7593
+7725
+7726
+7883
+7884
+8305
+8306
+8520
+8522
+11388
+11389
+119842
+119844
+119894
+119896
+119946
+119948
+119998
+120000
+120050
+120052
+120102
+120104
+120154
+120156
+120206
+120208
+120258
+120260
+120310
+120312
+120362
+120364
+120414
+120416
+120466
+120468
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
index 99868363186..6bc5e2c28d9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
@@ -1,62 +1,114 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021
-002E
-003F
-055C
-055E
-0589
-061F
-06D4
-0700 0702
-07F9
-0964 0965
-104A 104B
-1362
-1367 1368
-166E
-1735 1736
-1803
-1809
-1944 1945
-1AA8 1AAB
-1B5A 1B5B
-1B5E 1B5F
-1C3B 1C3C
-1C7E 1C7F
-203C 203D
-2047 2049
-2E2E
-3002
-A4FF
-A60E A60F
-A6F3
-A6F7
-A876 A877
-A8CE A8CF
-A92F
-A9C8 A9C9
-AA5D AA5F
-AAF0 AAF1
-ABEB
-FE52
-FE56 FE57
-FF01
-FF0E
-FF1F
-FF61
-10A56 10A57
-11047 11048
-110BE 110C1
-11141 11143
-111C5 111C6
+V100
+33
+34
+46
+47
+63
+64
+1372
+1373
+1374
+1375
+1417
+1418
+1567
+1568
+1748
+1749
+1792
+1795
+2041
+2042
+2404
+2406
+4170
+4172
+4962
+4963
+4967
+4969
+5742
+5743
+5941
+5943
+6147
+6148
+6153
+6154
+6468
+6470
+6824
+6828
+7002
+7004
+7006
+7008
+7227
+7229
+7294
+7296
+8252
+8254
+8263
+8266
+11822
+11823
+12290
+12291
+42239
+42240
+42510
+42512
+42739
+42740
+42743
+42744
+43126
+43128
+43214
+43216
+43311
+43312
+43464
+43466
+43613
+43616
+43760
+43762
+44011
+44012
+65106
+65107
+65110
+65112
+65281
+65282
+65294
+65295
+65311
+65312
+65377
+65378
+68182
+68184
+69703
+69705
+69822
+69826
+69953
+69956
+70085
+70087
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
index fc2b711a6fa..ce0ba6c6147 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
@@ -1,68 +1,128 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0600 0604
-0606 060B
-060D 061A
-061E
-0620 063F
-0641 064A
-0656 065F
-066A 066F
-0671 06DC
-06DE 06FF
-0750 077F
-08A0
-08A2 08AC
-08E4 08FE
-FB50 FBC1
-FBD3 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDFC
-FE70 FE74
-FE76 FEFC
-10E60 10E7E
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
+V114
+1536
+1541
+1542
+1548
+1549
+1563
+1564
+1565
+1566
+1567
+1568
+1600
+1601
+1611
+1622
+1632
+1642
+1648
+1649
+1757
+1758
+1792
+1872
+1920
+2208
+2209
+2210
+2221
+2276
+2303
+64336
+64450
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65021
+65136
+65141
+65142
+65277
+69216
+69247
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
deleted file mode 100755
index 878530a968a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 6acad7b01a7..2e1c74df944 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0531 0556
-0559 055F
-0561 0587
-058A
-058F
-FB13 FB17
+V12
+1329
+1367
+1369
+1376
+1377
+1416
+1418
+1419
+1423
+1424
+64275
+64280
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
deleted file mode 100755
index 2f4c9ac3a4e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 27b8dd0ea34..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index e43de0c29d8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 1b655c1b714..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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 b1aac1572d1..b81dece4017 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V28
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
deleted file mode 100644
index 89c32cf73fa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index a799d381601..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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
deleted file mode 100755
index 4c880498bdc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 64d8e2dc4c0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 1c077e9fb07..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index ce12b140ea9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 007d846ad99..b749bbbb18d 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA5C AA5F
+V8
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43616
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
deleted file mode 100755
index ef31ff26872..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 1e578a6a217..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-03E2 03EF
-2C80 2CF3
-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 9ae9f05b40e..939b64805c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F
+V12
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
index 38910d949b5..43b1b785a0d 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0400 0484
-0487 0527
-1D2B
-1D78
-2DE0 2DFF
-A640 A697
-A69F
+V14
+1024
+1157
+1159
+1320
+7467
+7468
+7544
+7545
+11744
+11776
+42560
+42648
+42655
+42656
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
index 827630285e8..fa850a96097 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0900 0950
-0953 0963
-0966 0977
-0979 097F
-A8E0 A8FB
+V10
+2304
+2385
+2387
+2404
+2406
+2424
+2425
+2432
+43232
+43260
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
deleted file mode 100755
index f8611820aa3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 168e809aa22..387edaad00f 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
@@ -1,44 +1,78 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1200 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
-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
+V64
+4608
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
index 44aa089d92b..6ab7c826f86 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 10FF
-2D00 2D25
-2D27
-2D2D
+V16
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4352
+11520
+11558
+11559
+11560
+11565
+11566
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
deleted file mode 100755
index 3b1ea2171b3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index c4fc22d1b12..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 ae3c54e03fb..adf9d806ccd 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
@@ -1,45 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0370 0373
-0375 0377
-037A 037D
-0384
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03E1
-03F0 03FF
-1D26 1D2A
-1D5D 1D61
-1D66 1D6A
-1DBF
-1F00 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
-2126
-10140 1018A
-1D200 1D245
+V66
+880
+884
+885
+888
+890
+894
+900
+901
+902
+903
+904
+907
+908
+909
+910
+930
+931
+994
+1008
+1024
+7462
+7467
+7517
+7522
+7526
+7531
+7615
+7616
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8486
+8487
+65856
+65931
+119296
+119366
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
index f68156a994f..21acd66509d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
@@ -1,25 +1,40 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0A81 0A83
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0 0AE3
-0AE6 0AF1
+V26
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
index 68e1c0e1903..390749ce86c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
@@ -1,28 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V32
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
index 980cc44d0b4..ccaa7e8d4cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
@@ -1,27 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-3005
-3007
-3021 3029
-3038 303B
-3400 4DB5
-4E00 9FCC
-F900 FA6D
-FA70 FAD9
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V30
+11904
+11930
+11931
+12020
+12032
+12246
+12293
+12294
+12295
+12296
+12321
+12330
+12344
+12348
+13312
+19894
+19968
+40909
+63744
+64110
+64112
+64218
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
index ddf119dd5c3..7befd62c044 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V28
+4352
+4608
+12334
+12336
+12593
+12687
+12800
+12831
+12896
+12927
+43360
+43389
+44032
+55204
+55216
+55239
+55243
+55292
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
deleted file mode 100644
index 2a41ac1dc8b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 d02fbac1842..4571058a7c3 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0591 05C7
-05D0 05EA
-05F0 05F4
-FB1D FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FB4F
+V18
+1425
+1480
+1488
+1515
+1520
+1525
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64336
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
index 13278833018..dfcf67ca7a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3041 3096
-309D 309F
-1B001
-1F200
+V8
+12353
+12439
+12445
+12448
+110593
+110594
+127488
+127489
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
deleted file mode 100755
index 3d8c2f5773b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 7a5d779b44f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 b246ca2976f..8ff253e12b4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-30A1 30FA
-30FD 30FF
-31F0 31FF
-32D0 32FE
-3300 3357
-FF66 FF6F
-FF71 FF9D
-1B000
+V16
+12449
+12539
+12541
+12544
+12784
+12800
+13008
+13055
+13056
+13144
+65382
+65392
+65393
+65438
+110592
+110593
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
index 9998ccf19cf..d9a04fc5319 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F 10A47
-10A50 10A58
+V16
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
index 57860eb4321..edabc31d257 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1780 17DD
-17E0 17E9
-17F0 17F9
-19E0 19FF
+V8
+6016
+6110
+6112
+6122
+6128
+6138
+6624
+6656
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
index 7c4bd258c9d..8a28769d8c2 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V28
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
deleted file mode 100644
index 4b02ad5e9ad..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 14474eb6ac5..703814abee3 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1A20 1A5E
-1A60 1A7C
-1A7F 1A89
-1A90 1A99
-1AA0 1AAD
+V10
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
index 1fc6e18ac72..0d2af195016 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
@@ -1,30 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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 0EDF
+V36
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
index e741e8c159a..1e9b0d570fd 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
@@ -1,42 +1,74 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02B8
-02E0 02E4
-1D00 1D25
-1D2C 1D5C
-1D62 1D65
-1D6B 1D77
-1D79 1DBE
-1E00 1EFF
-2071
-207F
-2090 209C
-212A 212B
-2132
-214E
-2160 2188
-2C60 2C7F
-A722 A787
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A7FF
-FB00 FB06
-FF21 FF3A
-FF41 FF5A
+V60
+65
+91
+97
+123
+170
+171
+186
+187
+192
+215
+216
+247
+248
+697
+736
+741
+7424
+7462
+7468
+7517
+7522
+7526
+7531
+7544
+7545
+7615
+7680
+7936
+8305
+8306
+8319
+8320
+8336
+8349
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8585
+11360
+11392
+42786
+42888
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43008
+64256
+64263
+65313
+65339
+65345
+65371
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
deleted file mode 100755
index eb006e4a02c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 fb68445eab2..d9e8509e560 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
@@ -1,17 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1900 191C
-1920 192B
-1930 193B
-1940
-1944 194F
+V10
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6480
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
index 550eea1ff47..41f79357c19 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10000 1000B
-1000D 10026
-10028 1003A
-1003C 1003D
-1003F 1004D
-10050 1005D
-10080 100FA
+V14
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
deleted file mode 100755
index f0abad69730..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index c2e2ebfb7b0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index a0d0d9dd174..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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/Merc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Merc.pl
deleted file mode 100755
index 4b2f8d537d4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Merc.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-109A0 109B7
-109BE 109BF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Miao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Miao.pl
deleted file mode 100755
index ed21592f781..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Miao.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
index 3495d92ed83..f32475ecfe2 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D75
-0D79 0D7F
+V22
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
index 15529cc7ab8..8ab38a04abc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1800 1801
-1804
-1806 180E
-1810 1819
-1820 1877
-1880 18AA
+V12
+6144
+6146
+6148
+6149
+6150
+6159
+6160
+6170
+6176
+6264
+6272
+6315
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
deleted file mode 100755
index abbe80787f8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-AAE0 AAF6
-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
deleted file mode 100755
index 909dc8061ca..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 52603ee41f3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 611b9267baa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 9a523390bbb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 dfa7a6fc8b0..4c35a95b399 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V28
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
deleted file mode 100755
index 13dd438a5ec..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 437082a08c4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 54dc5758d46..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index bdf97bd34a7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 239a2be4356..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 1195dac49a3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 31b8ffb8c6d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 36ed01232a8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index ffd14f419f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A880 A8C4
-A8CE A8D9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Shrd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Shrd.pl
deleted file mode 100755
index 56fc7ed5cc1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Shrd.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11180 111C8
-111D0 111D9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
index 8c3e4d7c7ec..36652bbcb6a 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
@@ -1,23 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF4
+V22
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sora.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sora.pl
deleted file mode 100755
index a059383b2c1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sora.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-110D0 110E8
-110F0 110F9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
deleted file mode 100755
index 33b27ff6bca..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1B80 1BBF
-1CC0 1CC7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
deleted file mode 100755
index 63464296ffc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index b029c8c6c1f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index ad8c22f4565..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1760 176C
-176E 1770
-1772 1773
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl
deleted file mode 100644
index 61a50ae8989..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11680 116B7
-116C0 116C9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
deleted file mode 100755
index 4a927d5d1b2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 f6fab9fbdde..a6e431d0858 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1980 19AB
-19B0 19C9
-19D0 19DA
-19DE 19DF
+V8
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6624
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
index b98c1c42168..958dbed4650 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
@@ -1,28 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V32
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
deleted file mode 100755
index 0c0a5f9e578..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 0e8c78b1570..6e8b0479d6d 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-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
+V28
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
deleted file mode 100755
index f7f73459e48..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-2D30 2D67
-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
deleted file mode 100644
index ca7d6f2d9a1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 062f637fce6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index d97ce506e10..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 45f9a798e2d..247bbbdb3c0 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0F00 0F47
-0F49 0F6C
-0F71 0F97
-0F99 0FBC
-0FBE 0FCC
-0FCE 0FD4
-0FD9 0FDA
+V14
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4053
+4057
+4059
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
deleted file mode 100755
index 2e58deb1bc3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 475866b4faa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 566341a1ce7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100755
index 456f76ca0f1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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
deleted file mode 100644
index 5e9dc48a404..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 6cea3da3681..851a00e529d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
@@ -1,36 +1,62 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 036F
-0485 0486
-064B 0655
-0670
-0951 0952
-1CD0 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF4
-1DC0 1DE6
-1DFC 1DFF
-200C 200D
-20D0 20F0
-302A 302D
-3099 309A
-FE00 FE0F
-FE20 FE26
-101FD
-1D167 1D169
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-E0100 E01EF
+V48
+768
+880
+1157
+1159
+1611
+1622
+1648
+1649
+2385
+2387
+7376
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7616
+7655
+7676
+7680
+8204
+8206
+8400
+8433
+12330
+12334
+12441
+12443
+65024
+65040
+65056
+65063
+66045
+66046
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
index 8e4a4145b50..4b200567dc3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
@@ -1,169 +1,330 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B9
-00BB 00BF
-00D7
-00F7
-02B9 02DF
-02E5 02E9
-02EC 02FF
-0374
-037E
-0385
-0387
-0589
-060C
-061B
-061F
-0640
-0660 0669
-06DD
-0964 0965
-0E3F
-0FD5 0FD8
-10FB
-16EB 16ED
-1735 1736
-1802 1803
-1805
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1CF3
-1CF5 1CF6
-2000 200B
-200E 2064
-206A 2070
-2074 207E
-2080 208E
-20A0 20BA
-2100 2125
-2127 2129
-212C 2131
-2133 214D
-214F 215F
-2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 27FF
-2900 2B4C
-2B50 2B59
-2E00 2E3B
-2FF0 2FFB
-3000 3004
-3006
-3008 3020
-3030 3037
-303C 303F
-309B 309C
-30A0
-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
-FE30 FE52
-FE54 FE66
-FE68 FE6B
-FEFF
-FF01 FF20
-FF3B FF40
-FF5B FF65
-FF70
-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
-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 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-E0001
-E0020 E007F
+V316
+0
+65
+91
+97
+123
+170
+171
+186
+187
+192
+215
+216
+247
+248
+697
+736
+741
+746
+748
+768
+884
+885
+894
+895
+901
+902
+903
+904
+1417
+1418
+1548
+1549
+1563
+1564
+1567
+1568
+1600
+1601
+1632
+1642
+1757
+1758
+2404
+2406
+3647
+3648
+4053
+4057
+4347
+4348
+5867
+5870
+5941
+5943
+6146
+6148
+6149
+6150
+7379
+7380
+7393
+7394
+7401
+7405
+7406
+7412
+7413
+7415
+8192
+8204
+8206
+8293
+8294
+8305
+8308
+8319
+8320
+8335
+8352
+8379
+8448
+8486
+8487
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8585
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+10240
+10496
+11085
+11088
+11098
+11776
+11836
+12272
+12284
+12288
+12293
+12294
+12295
+12296
+12321
+12336
+12344
+12348
+12352
+12443
+12445
+12448
+12449
+12539
+12541
+12688
+12704
+12736
+12772
+12832
+12896
+12927
+13008
+13144
+13312
+19904
+19968
+42752
+42786
+42888
+42891
+43056
+43066
+43471
+43472
+64830
+64832
+65021
+65022
+65040
+65050
+65072
+65107
+65108
+65127
+65128
+65132
+65279
+65280
+65281
+65313
+65339
+65345
+65371
+65382
+65392
+65393
+65438
+65440
+65504
+65511
+65512
+65519
+65529
+65534
+65792
+65795
+65799
+65844
+65847
+65856
+65936
+65948
+66000
+66045
+118784
+119030
+119040
+119079
+119081
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+119262
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127488
+127489
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
index 554f4740a89..85e94c2625e 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
@@ -1,549 +1,1087 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0528 0530
-0557 0558
-0560
-0588
-058B 058E
-0590
-05C8 05CF
-05EB 05EF
-05F5 05FF
-0605
-061C 061D
-070E
-074B 074C
-07B2 07BF
-07FB 07FF
-082E 082F
-083F
-085C 085D
-085F 089F
-08A1
-08AD 08E3
-08FF
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09FC 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF2 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B78 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF5 0E00
-0E3B 0E3E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EE0 0EFF
-0F48
-0F6D 0F70
-0F98
-0FBD
-0FCD
-0FDB 0FFF
-10C6
-10C8 10CC
-10CE 10CF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1715 171F
-1737 173F
-1754 175F
-176D
-1771
-1774 177F
-17DE 17DF
-17EA 17EF
-17FA 17FF
-180F
-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
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1AFF
-1B4C 1B4F
-1B7D 1B7F
-1BF4 1BFB
-1C38 1C3A
-1C4A 1C4C
-1C80 1CBF
-1CC8 1CCF
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-2065 2069
-2072 2073
-208F
-209D 209F
-20BB 20CF
-20F1 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CF4 2CF8
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D71 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E3C 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-3040
-3097 3098
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DB6 4DBF
-9FCD 9FFF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A698 A69E
-A6F8 A6FF
-A78F
-A794 A79F
-A7AB A7F7
-A82C A82F
-A83A A83F
-A878 A87F
-A8C5 A8CD
-A8DA A8DF
-A8FC A8FF
-A954 A95E
-A97D A97F
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAC3 AADA
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFE FDFF
-FE1A FE1F
-FE27 FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FEFE
-FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFF8
-FFFE FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-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 110CF
-110E9 110EF
-110FA 110FF
-11135
-11144 1117F
-111C9 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D1DE 1D1FF
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1EEEF
-1EEF2 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16C 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 1F53F
-1F544 1F54F
-1F568 1F5FA
-1F641 1F644
-1F650 1F67F
-1F6C6 1F6FF
-1F774 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+V1073
+888
+890
+895
+900
+907
+908
+909
+910
+930
+931
+1320
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+1425
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1542
+1565
+1566
+1806
+1807
+1867
+1869
+1970
+1984
+2043
+2048
+2094
+2096
+2111
+2112
+2140
+2142
+2143
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3067
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3192
+3200
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3446
+3449
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3573
+3585
+3643
+3647
+3676
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3912
+3913
+3949
+3953
+3992
+3993
+4029
+4030
+4045
+4046
+4059
+4096
+4294
+4295
+4296
+4301
+4302
+4304
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4989
+4992
+5018
+5024
+5109
+5120
+5789
+5792
+5873
+5888
+5901
+5902
+5909
+5920
+5943
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6110
+6112
+6122
+6128
+6138
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6464
+6465
+6468
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6622
+6684
+6686
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6816
+6830
+6912
+6988
+6992
+7037
+7040
+7156
+7164
+7224
+7227
+7242
+7245
+7296
+7360
+7368
+7376
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8192
+8293
+8294
+8306
+8308
+8335
+8336
+8349
+8352
+8379
+8400
+8433
+8448
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+11085
+11088
+11098
+11264
+11311
+11312
+11359
+11360
+11508
+11513
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11633
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11836
+11904
+11930
+11931
+12020
+12032
+12246
+12272
+12284
+12288
+12352
+12353
+12439
+12441
+12544
+12549
+12590
+12593
+12687
+12688
+12731
+12736
+12772
+12784
+12831
+12832
+13055
+13056
+19894
+19904
+40909
+40960
+42125
+42128
+42183
+42192
+42540
+42560
+42648
+42655
+42744
+42752
+42895
+42896
+42900
+42912
+42923
+43000
+43052
+43056
+43066
+43072
+43128
+43136
+43205
+43214
+43226
+43232
+43260
+43264
+43348
+43359
+43389
+43392
+43470
+43471
+43482
+43486
+43488
+43520
+43575
+43584
+43598
+43600
+43610
+43612
+43644
+43648
+43715
+43739
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64450
+64467
+64832
+64848
+64912
+64914
+64968
+65008
+65022
+65024
+65050
+65056
+65063
+65072
+65107
+65108
+65127
+65128
+65132
+65136
+65141
+65142
+65277
+65279
+65280
+65281
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65504
+65511
+65512
+65519
+65529
+65534
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65931
+65936
+65948
+66000
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66336
+66340
+66352
+66379
+66432
+66462
+66463
+66500
+66504
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67671
+67680
+67840
+67868
+67871
+67898
+67903
+67904
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68168
+68176
+68185
+68192
+68224
+68352
+68406
+68409
+68438
+68440
+68467
+68472
+68480
+68608
+68681
+69216
+69247
+69632
+69710
+69714
+69744
+69760
+69826
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69956
+70016
+70089
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+74864
+74868
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+118784
+119030
+119040
+119079
+119081
+119262
+119296
+119366
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl
index af636964a7c..e6c5e5d7576 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl
@@ -1,62 +1,114 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0600 0604
-0606 061B
-061E 06DC
-06DE 06FF
-0750 077F
-08A0
-08A2 08AC
-08E4 08FE
-FB50 FBC1
-FBD3 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDFD
-FE70 FE74
-FE76 FEFC
-10E60 10E7E
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-1EEF0 1EEF1
+V100
+1536
+1541
+1542
+1565
+1566
+1757
+1758
+1792
+1872
+1920
+2208
+2209
+2210
+2221
+2276
+2303
+64336
+64450
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65022
+65136
+65141
+65142
+65277
+69216
+69247
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+126704
+126706
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl
index 452cf836032..48bb3bfad11 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0531 0556
-0559 055F
-0561 0587
-0589 058A
-058F
-FB13 FB17
+V12
+1329
+1367
+1369
+1376
+1377
+1416
+1417
+1419
+1423
+1424
+64275
+64280
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl
index 4bb92b9e31e..5008f6d5897 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl
@@ -1,27 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0964 0965
-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
+V30
+2404
+2406
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2556
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl
index 612dd6fbf6a..a050165ac7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl
@@ -1,32 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-02EA 02EB
-3001 3003
-3008 3011
-3013 301F
-302A 302D
-3030
-3037
-303E 303F
-30FB
-3105 312D
-31A0 31BA
-31C0 31E3
-3220 3243
-3280 32B0
-32C0 32CB
-3358 3370
-337B 337F
-33E0 33FE
-FE45 FE46
-FF61 FF65
+V40
+746
+748
+12289
+12292
+12296
+12306
+12307
+12320
+12330
+12334
+12336
+12337
+12343
+12344
+12350
+12352
+12539
+12540
+12549
+12590
+12704
+12731
+12736
+12772
+12832
+12868
+12928
+12977
+12992
+13004
+13144
+13169
+13179
+13184
+13280
+13311
+65093
+65095
+65377
+65382
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl
deleted file mode 100644
index 87a673354df..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1735 1736
-1740 1753
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cakm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl
index 9ed34fbc343..5cfcce3ec57 100755..100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cakm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl
@@ -1,14 +1,22 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-11100 11134
-11136 11143
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V8
+2534
+2544
+4160
+4170
+69888
+69941
+69942
+69956
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl
index c71858830cd..79a7b8a7aa6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10100 10102
-10107 10133
-10137 1013F
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F
+V18
+65792
+65795
+65799
+65844
+65847
+65856
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67648
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl
index 86852c11cba..f84ad36d5f3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0400 0527
-1D2B
-1D78
-2DE0 2DFF
-A640 A697
-A69F
+V12
+1024
+1320
+7467
+7468
+7544
+7545
+11744
+11776
+42560
+42648
+42655
+42656
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl
index 42c626c147d..fc28f7e061c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl
@@ -1,20 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0900 0977
-0979 097F
-1CD0 1CD2
-1CD4 1CE8
-1CED
-1CF2 1CF4
-A830 A839
-A8E0 A8FB
+V16
+2304
+2424
+2425
+2432
+7376
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+43056
+43066
+43232
+43260
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl
index 615dc759a94..b67ef6a2024 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0589
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 10FF
-2D00 2D25
-2D27
-2D2D
+V18
+1417
+1418
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4352
+11520
+11558
+11559
+11560
+11565
+11566
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl
index 6087fcc8834..8c8fcf2e64d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl
@@ -1,47 +1,84 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0342
-0345
-0370 0373
-0375 0377
-037A 037D
-0384
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03E1
-03F0 03FF
-1D26 1D2A
-1D5D 1D61
-1D66 1D6A
-1DBF 1DC1
-1F00 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
-2126
-10140 1018A
-1D200 1D245
+V70
+834
+835
+837
+838
+880
+884
+885
+888
+890
+894
+900
+901
+902
+903
+904
+907
+908
+909
+910
+930
+931
+994
+1008
+1024
+7462
+7467
+7517
+7522
+7526
+7531
+7615
+7618
+7936
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8133
+8134
+8148
+8150
+8156
+8157
+8176
+8178
+8181
+8182
+8191
+8486
+8487
+65856
+65931
+119296
+119366
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl
index ada5b5d4ec8..d4fab01dbbb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0A81 0A83
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABC 0AC5
-0AC7 0AC9
-0ACB 0ACD
-0AD0
-0AE0 0AE3
-0AE6 0AF1
-A830 A839
+V28
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2802
+43056
+43066
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl
index 1a1b6cc74cb..cd52944cad1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl
@@ -1,30 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0964 0965
-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
-A830 A839
+V36
+2404
+2406
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+43056
+43066
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl
index bc42f04a04e..727f546418f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl
@@ -1,40 +1,70 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-2E80 2E99
-2E9B 2EF3
-2F00 2FD5
-3001 3003
-3005 3011
-3013 301F
-3021 302D
-3030
-3037 303F
-30FB
-3190 319F
-31C0 31E3
-3220 3243
-3280 32B0
-32C0 32CB
-3358 3370
-337B 337F
-33E0 33FE
-3400 4DB5
-4E00 9FCC
-F900 FA6D
-FA70 FAD9
-FE45 FE46
-FF61 FF65
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V56
+11904
+11930
+11931
+12020
+12032
+12246
+12289
+12292
+12293
+12306
+12307
+12320
+12321
+12334
+12336
+12337
+12343
+12352
+12539
+12540
+12688
+12704
+12736
+12772
+12832
+12868
+12928
+12977
+12992
+13004
+13144
+13169
+13179
+13184
+13280
+13311
+13312
+19894
+19968
+40909
+63744
+64110
+64112
+64218
+65093
+65095
+65377
+65382
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl
index e083a85782e..7fd55cb0d27 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl
@@ -1,41 +1,72 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1100 11FF
-3001 3003
-3008 3011
-3013 301F
-302E 3030
-3037
-303E 303F
-30FB
-3131 318E
-31C0 31E3
-3200 321E
-3220 3243
-3260 327E
-3280 32B0
-32C0 32CB
-3358 3370
-337B 337F
-33E0 33FE
-A960 A97C
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-FE45 FE46
-FF61 FF65
-FFA0 FFBE
-FFC2 FFC7
-FFCA FFCF
-FFD2 FFD7
-FFDA FFDC
+V58
+4352
+4608
+12289
+12292
+12296
+12306
+12307
+12320
+12334
+12337
+12343
+12344
+12350
+12352
+12539
+12540
+12593
+12687
+12736
+12772
+12800
+12831
+12832
+12868
+12896
+12927
+12928
+12977
+12992
+13004
+13144
+13169
+13179
+13184
+13280
+13311
+43360
+43389
+44032
+55204
+55216
+55239
+55243
+55292
+65093
+65095
+65377
+65382
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl
deleted file mode 100644
index 1ab44f2c276..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1720 1736
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl
index 0f6de309e36..2715477a846 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl
@@ -1,36 +1,62 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3001 3003
-3006
-3008 3011
-3013 301F
-3030 3035
-3037
-303C 303F
-3041 3096
-3099 30A0
-30FB 30FC
-3190 319F
-31C0 31E3
-3220 3243
-3280 32B0
-32C0 32CB
-3358 3370
-337B 337F
-33E0 33FE
-FE45 FE46
-FF61 FF65
-FF70
-FF9E FF9F
-1B001
-1F200
+V48
+12289
+12292
+12294
+12295
+12296
+12306
+12307
+12320
+12336
+12342
+12343
+12344
+12348
+12352
+12353
+12439
+12441
+12449
+12539
+12541
+12688
+12704
+12736
+12772
+12832
+12868
+12928
+12977
+12992
+13004
+13144
+13169
+13179
+13184
+13280
+13311
+65093
+65095
+65377
+65382
+65392
+65393
+65438
+65440
+110593
+110594
+127488
+127489
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl
index 87b04a6880e..4a0322d810e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl
@@ -1,34 +1,58 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3001 3003
-3006
-3008 3011
-3013 301F
-3030 3035
-3037
-303C 303F
-3099 309C
-30A0 30FF
-3190 319F
-31C0 31E3
-31F0 31FF
-3220 3243
-3280 32B0
-32C0 32CB
-32D0 32FE
-3300 3370
-337B 337F
-33E0 33FE
-FE45 FE46
-FF61 FF9F
-1B000
+V44
+12289
+12292
+12294
+12295
+12296
+12306
+12307
+12320
+12336
+12342
+12343
+12344
+12348
+12352
+12441
+12445
+12448
+12544
+12688
+12704
+12736
+12772
+12784
+12800
+12832
+12868
+12928
+12977
+12992
+13004
+13008
+13055
+13056
+13169
+13179
+13184
+13280
+13311
+65093
+65095
+65377
+65440
+110592
+110593
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl
deleted file mode 100644
index e9f927f2259..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-A830 A839
-11080 110C1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl
index 18b7cdb9305..3c9229ff026 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl
@@ -1,45 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02B8
-02E0 02E4
-0363 036F
-0485 0486
-0951 0952
-1D00 1D25
-1D2C 1D5C
-1D62 1D65
-1D6B 1D77
-1D79 1DBE
-1E00 1EFF
-2071
-207F
-2090 209C
-212A 212B
-2132
-214E
-2160 2188
-2C60 2C7F
-A722 A787
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A7FF
-FB00 FB06
-FF21 FF3A
-FF41 FF5A
+V66
+65
+91
+97
+123
+170
+171
+186
+187
+192
+215
+216
+247
+248
+697
+736
+741
+867
+880
+1157
+1159
+2385
+2387
+7424
+7462
+7468
+7517
+7522
+7526
+7531
+7544
+7545
+7615
+7680
+7936
+8305
+8306
+8319
+8320
+8336
+8349
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8585
+11360
+11392
+42786
+42888
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43008
+64256
+64263
+65313
+65339
+65345
+65371
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl
index d96da39fa33..44aab632ff7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl
@@ -1,22 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-10000 1000B
-1000D 10026
-10028 1003A
-1003C 1003D
-1003F 1004D
-10050 1005D
-10080 100FA
-10100 10102
-10107 10133
-10137 1013F
+V20
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65792
+65795
+65799
+65844
+65847
+65856
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl
deleted file mode 100644
index 49d79c46c8b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0640
-0840 085B
-085E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl
index 7abada99928..b39a5e06c2c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1800 180E
-1810 1819
-1820 1877
-1880 18AA
+V8
+6144
+6159
+6160
+6170
+6176
+6264
+6272
+6315
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl
index ef280a0cc8d..7c01a679277 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl
@@ -1,27 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0964 0965
-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
+V30
+2404
+2406
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2936
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl
deleted file mode 100644
index dd2a30fbc27..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1802 1803
-1805
-A840 A877
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl
index d9f678af3f1..328b6c28aac 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-060C
-061B
-061F
-0640
-064B 0655
-0670
-0700 070D
-070F 074A
-074D 074F
+V18
+1548
+1549
+1563
+1565
+1567
+1568
+1600
+1601
+1611
+1622
+1648
+1649
+1792
+1806
+1807
+1867
+1869
+1872
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl
index a236751e203..583452285b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-1735 1736
-1760 176C
-176E 1770
-1772 1773
+V8
+5941
+5943
+5984
+5997
+5998
+6001
+6002
+6004
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl
index b1e4eb6753e..745bc05abd6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl
@@ -1,16 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0964 0965
-A830 A839
-11680 116B7
-116C0 116C9
+V8
+2404
+2406
+43056
+43066
+71296
+71352
+71360
+71370
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl
deleted file mode 100644
index d2ee05be2d1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-1700 170C
-170E 1714
-1735 1736
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl
index ba774419e18..11cd55a63f2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-060C
-061B
-061F
-0660 0669
-0780 07B1
-FDF2
-FDFD
+V14
+1548
+1549
+1563
+1565
+1567
+1568
+1632
+1642
+1920
+1970
+65010
+65011
+65021
+65022
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl
index 3ca81b4cae6..492d01b1b7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl
@@ -1,19 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3001 3002
-3008 3011
-3014 301B
-30FB
-A000 A48C
-A490 A4C6
-FF61 FF65
+V14
+12289
+12291
+12296
+12306
+12308
+12316
+12539
+12540
+40960
+42125
+42128
+42183
+65377
+65382
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl
index cac5ba88f2b..96e63ca97c2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl
@@ -1,27 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0300 0341
-0343 0344
-0346 0362
-1DC2 1DE6
-1DFC 1DFF
-200C 200D
-20D0 20F0
-FE00 FE0F
-FE20 FE26
-101FD
-1D167 1D169
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-E0100 E01EF
+V30
+768
+834
+835
+837
+838
+867
+7618
+7655
+7676
+7680
+8204
+8206
+8400
+8433
+65024
+65040
+65056
+65063
+66045
+66046
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl
index acb7b4877ed..6ca1bec0be4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl
@@ -1,151 +1,292 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B9
-00BB 00BF
-00D7
-00F7
-02B9 02DF
-02E5 02E9
-02EC 02FF
-0374
-037E
-0385
-0387
-06DD
-0E3F
-0FD5 0FD8
-10FB
-16EB 16ED
-1CD3
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-2000 200B
-200E 2064
-206A 2070
-2074 207E
-2080 208E
-20A0 20BA
-2100 2125
-2127 2129
-212C 2131
-2133 214D
-214F 215F
-2189
-2190 23F3
-2400 2426
-2440 244A
-2460 26FF
-2701 27FF
-2900 2B4C
-2B50 2B59
-2E00 2E3B
-2FF0 2FFB
-3000
-3004
-3012
-3020
-3036
-3244 325F
-327F
-32B1 32BF
-32CC 32CF
-3371 337A
-3380 33DF
-33FF
-4DC0 4DFF
-A700 A721
-A788 A78A
-FD3E FD3F
-FE10 FE19
-FE30 FE44
-FE47 FE52
-FE54 FE66
-FE68 FE6B
-FEFF
-FF01 FF20
-FF3B FF40
-FF5B FF60
-FFE0 FFE6
-FFE8 FFEE
-FFF9 FFFD
-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
-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 1F16B
-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
-1F540 1F543
-1F550 1F567
-1F5FB 1F640
-1F645 1F64F
-1F680 1F6C5
-1F700 1F773
-E0001
-E0020 E007F
+V278
+0
+65
+91
+97
+123
+170
+171
+186
+187
+192
+215
+216
+247
+248
+697
+736
+741
+746
+748
+768
+884
+885
+894
+895
+901
+902
+903
+904
+1757
+1758
+3647
+3648
+4053
+4057
+4347
+4348
+5867
+5870
+7379
+7380
+7401
+7405
+7406
+7410
+7413
+7415
+8192
+8204
+8206
+8293
+8294
+8305
+8308
+8319
+8320
+8335
+8352
+8379
+8448
+8486
+8487
+8490
+8492
+8498
+8499
+8526
+8527
+8544
+8585
+8586
+8592
+9204
+9216
+9255
+9280
+9291
+9312
+9984
+9985
+10240
+10496
+11085
+11088
+11098
+11776
+11836
+12272
+12284
+12288
+12289
+12292
+12293
+12306
+12307
+12320
+12321
+12342
+12343
+12868
+12896
+12927
+12928
+12977
+12992
+13004
+13008
+13169
+13179
+13184
+13280
+13311
+13312
+19904
+19968
+42752
+42786
+42888
+42891
+64830
+64832
+65040
+65050
+65072
+65093
+65095
+65107
+65108
+65127
+65128
+65132
+65279
+65280
+65281
+65313
+65339
+65345
+65371
+65377
+65504
+65511
+65512
+65519
+65529
+65534
+65936
+65948
+66000
+66045
+118784
+119030
+119040
+119079
+119081
+119143
+119146
+119163
+119171
+119173
+119180
+119210
+119214
+119262
+119552
+119639
+119648
+119666
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120780
+120782
+120832
+126976
+127020
+127024
+127124
+127136
+127151
+127153
+127167
+127169
+127184
+127185
+127200
+127232
+127243
+127248
+127279
+127280
+127340
+127344
+127387
+127462
+127488
+127489
+127491
+127504
+127547
+127552
+127561
+127568
+127570
+127744
+127777
+127792
+127798
+127799
+127869
+127872
+127892
+127904
+127941
+127942
+127947
+127968
+127985
+128000
+128063
+128064
+128065
+128066
+128248
+128249
+128253
+128256
+128318
+128320
+128324
+128336
+128360
+128507
+128577
+128581
+128592
+128640
+128710
+128768
+128884
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
index 3bc0b4e7ac1..fe49e697aca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
@@ -1,15 +1,34 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-0030 0039
-0041 0046
-0061 0066
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V20
+9
+14
+32
+33
+133
+134
+160
+161
+5760
+5761
+8192
+8203
+8232
+8234
+8239
+8240
+8287
+8288
+12288
+12289
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
index a6a0183bd7a..9231c26a9c5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
@@ -1,82 +1,154 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0021
-002C
-002E
-003A 003B
-003F
-037E
-0387
-0589
-05C3
-060C
-061B
-061F
-06D4
-0700 070A
-070C
-07F8 07F9
-0830 083E
-085E
-0964 0965
-0E5A 0E5B
-0F08
-0F0D 0F12
-104A 104B
-1361 1368
-166D 166E
-16EB 16ED
-17D4 17D6
-17DA
-1802 1805
-1808 1809
-1944 1945
-1AA8 1AAB
-1B5A 1B5B
-1B5D 1B5F
-1C3B 1C3F
-1C7E 1C7F
-203C 203D
-2047 2049
-2E2E
-3001 3002
-A4FE A4FF
-A60D A60F
-A6F3 A6F7
-A876 A877
-A8CE A8CF
-A92F
-A9C7 A9C9
-AA5D AA5F
-AADF
-AAF0 AAF1
-ABEB
-FE50 FE52
-FE54 FE57
-FF01
-FF0C
-FF0E
-FF1A FF1B
-FF1F
-FF61
-FF64
-1039F
-103D0
-10857
-1091F
-10B3A 10B3F
-11047 1104D
-110BE 110C1
-11141 11143
-111C5 111C6
-12470 12473
+V140
+33
+34
+44
+45
+46
+47
+58
+60
+63
+64
+894
+895
+903
+904
+1417
+1418
+1475
+1476
+1548
+1549
+1563
+1564
+1567
+1568
+1748
+1749
+1792
+1803
+1804
+1805
+2040
+2042
+2096
+2111
+2142
+2143
+2404
+2406
+3674
+3676
+3848
+3849
+3853
+3859
+4170
+4172
+4961
+4969
+5741
+5743
+5867
+5870
+6100
+6103
+6106
+6107
+6146
+6150
+6152
+6154
+6468
+6470
+6824
+6828
+7002
+7004
+7005
+7008
+7227
+7232
+7294
+7296
+8252
+8254
+8263
+8266
+11822
+11823
+12289
+12291
+42238
+42240
+42509
+42512
+42739
+42744
+43126
+43128
+43214
+43216
+43311
+43312
+43463
+43466
+43613
+43616
+43743
+43744
+43760
+43762
+44011
+44012
+65104
+65107
+65108
+65112
+65281
+65282
+65292
+65293
+65294
+65295
+65306
+65308
+65311
+65312
+65377
+65378
+65380
+65381
+66463
+66464
+66512
+66513
+67671
+67672
+67871
+67872
+68410
+68416
+69703
+69710
+69822
+69826
+69953
+69956
+70085
+70087
+74864
+74868
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
index a30aba12f46..a4729f50a84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
@@ -1,24 +1,38 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3400 4DB5
-4E00 9FCC
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
+V24
+13312
+19894
+19968
+40909
+64014
+64016
+64017
+64018
+64019
+64021
+64031
+64032
+64033
+64034
+64035
+64037
+64039
+64042
+131072
+173783
+173824
+177973
+177984
+178206
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
index b0daeae330f..1e024c6ad4f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
@@ -1,622 +1,1234 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-00C0 00D6
-00D8 00DE
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BC
-01C4
-01C7
-01CA
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0370
-0372
-0376
-0386
-0388 038A
-038C
-038E 038F
-0391 03A1
-03A3 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F4
-03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0531 0556
-10A0 10C5
-10C7
-10CD
-1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F18 1F1D
-1F28 1F2F
-1F38 1F3F
-1F48 1F4D
-1F59
-1F5B
-1F5D
-1F5F
-1F68 1F6F
-1FB8 1FBB
-1FC8 1FCB
-1FD8 1FDB
-1FE8 1FEC
-1FF8 1FFB
-2102
-2107
-210B 210D
-2110 2112
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-2130 2133
-213E 213F
-2145
-2160 216F
-2183
-24B6 24CF
-2C00 2C2E
-2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CEB
-2CED
-2CF2
-A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A78B
-A78D
-A790
-A792
-A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA
-FF21 FF3A
-10400 10427
-1D400 1D419
-1D434 1D44D
-1D468 1D481
-1D49C
-1D49E 1D49F
-1D4A2
-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
-1D56C 1D585
-1D5A0 1D5B9
-1D5D4 1D5ED
-1D608 1D621
-1D63C 1D655
-1D670 1D689
-1D6A8 1D6C0
-1D6E2 1D6FA
-1D71C 1D734
-1D756 1D76E
-1D790 1D7A8
-1D7CA
+V1220
+65
+91
+192
+215
+216
+223
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+378
+379
+380
+381
+382
+385
+387
+388
+389
+390
+392
+393
+396
+398
+402
+403
+405
+406
+409
+412
+414
+415
+417
+418
+419
+420
+421
+422
+424
+425
+426
+428
+429
+430
+432
+433
+436
+437
+438
+439
+441
+444
+445
+452
+453
+455
+456
+458
+459
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+497
+498
+500
+501
+502
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+570
+572
+573
+575
+577
+578
+579
+583
+584
+585
+586
+587
+588
+589
+590
+591
+880
+881
+882
+883
+886
+887
+902
+903
+904
+907
+908
+909
+910
+912
+913
+930
+931
+940
+975
+976
+978
+981
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1012
+1013
+1015
+1016
+1017
+1019
+1021
+1072
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1329
+1367
+4256
+4294
+4295
+4296
+4301
+4302
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7944
+7952
+7960
+7966
+7976
+7984
+7992
+8000
+8008
+8014
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8040
+8048
+8120
+8124
+8136
+8140
+8152
+8156
+8168
+8173
+8184
+8188
+8450
+8451
+8455
+8456
+8459
+8462
+8464
+8467
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8496
+8500
+8510
+8512
+8517
+8518
+8544
+8560
+8579
+8580
+9398
+9424
+11264
+11311
+11360
+11361
+11362
+11365
+11367
+11368
+11369
+11370
+11371
+11372
+11373
+11377
+11378
+11379
+11381
+11382
+11390
+11393
+11394
+11395
+11396
+11397
+11398
+11399
+11400
+11401
+11402
+11403
+11404
+11405
+11406
+11407
+11408
+11409
+11410
+11411
+11412
+11413
+11414
+11415
+11416
+11417
+11418
+11419
+11420
+11421
+11422
+11423
+11424
+11425
+11426
+11427
+11428
+11429
+11430
+11431
+11432
+11433
+11434
+11435
+11436
+11437
+11438
+11439
+11440
+11441
+11442
+11443
+11444
+11445
+11446
+11447
+11448
+11449
+11450
+11451
+11452
+11453
+11454
+11455
+11456
+11457
+11458
+11459
+11460
+11461
+11462
+11463
+11464
+11465
+11466
+11467
+11468
+11469
+11470
+11471
+11472
+11473
+11474
+11475
+11476
+11477
+11478
+11479
+11480
+11481
+11482
+11483
+11484
+11485
+11486
+11487
+11488
+11489
+11490
+11491
+11499
+11500
+11501
+11502
+11506
+11507
+42560
+42561
+42562
+42563
+42564
+42565
+42566
+42567
+42568
+42569
+42570
+42571
+42572
+42573
+42574
+42575
+42576
+42577
+42578
+42579
+42580
+42581
+42582
+42583
+42584
+42585
+42586
+42587
+42588
+42589
+42590
+42591
+42592
+42593
+42594
+42595
+42596
+42597
+42598
+42599
+42600
+42601
+42602
+42603
+42604
+42605
+42624
+42625
+42626
+42627
+42628
+42629
+42630
+42631
+42632
+42633
+42634
+42635
+42636
+42637
+42638
+42639
+42640
+42641
+42642
+42643
+42644
+42645
+42646
+42647
+42786
+42787
+42788
+42789
+42790
+42791
+42792
+42793
+42794
+42795
+42796
+42797
+42798
+42799
+42802
+42803
+42804
+42805
+42806
+42807
+42808
+42809
+42810
+42811
+42812
+42813
+42814
+42815
+42816
+42817
+42818
+42819
+42820
+42821
+42822
+42823
+42824
+42825
+42826
+42827
+42828
+42829
+42830
+42831
+42832
+42833
+42834
+42835
+42836
+42837
+42838
+42839
+42840
+42841
+42842
+42843
+42844
+42845
+42846
+42847
+42848
+42849
+42850
+42851
+42852
+42853
+42854
+42855
+42856
+42857
+42858
+42859
+42860
+42861
+42862
+42863
+42873
+42874
+42875
+42876
+42877
+42879
+42880
+42881
+42882
+42883
+42884
+42885
+42886
+42887
+42891
+42892
+42893
+42894
+42896
+42897
+42898
+42899
+42912
+42913
+42914
+42915
+42916
+42917
+42918
+42919
+42920
+42921
+42922
+42923
+65313
+65339
+66560
+66600
+119808
+119834
+119860
+119886
+119912
+119938
+119964
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119990
+120016
+120042
+120068
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120120
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120172
+120198
+120224
+120250
+120276
+120302
+120328
+120354
+120380
+120406
+120432
+120458
+120488
+120513
+120546
+120571
+120604
+120629
+120662
+120687
+120720
+120745
+120778
+120779
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
deleted file mode 100644
index 9bde25709e2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-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 6409641b327..6617a6eb9ae 100755
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
@@ -1,18 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-005F
-203F 2040
-2054
-FE33 FE34
-FE4D FE4F
-FF3F
+V12
+95
+96
+8255
+8257
+8276
+8277
+65075
+65077
+65101
+65104
+65343
+65344
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
index 73f2e1b5521..04b68d088c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
@@ -1,26 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-00AD
-0600 0604
-06DD
-070F
-200E 200F
-202A 202E
-2060 2064
-206A 206F
-FEFF
-FFF9 FFFB
-110BD
-1D173 1D17A
-E0001
-E0020 E007F
+V32
+173
+174
+1536
+1541
+1564
+1565
+1757
+1758
+1807
+1808
+6158
+6159
+8206
+8208
+8234
+8239
+8288
+8293
+8294
+8304
+65279
+65280
+65529
+65532
+69821
+69822
+119155
+119163
+917505
+917506
+917536
+917632
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/HL.pl
index 7294347b59a..ab1ea047fae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/HL.pl
@@ -1,22 +1,34 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-05D0 05EA
-05F0 05F2
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FB4F
-END
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.3.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
+
+
+return <<'END';
+V20
+1488
+1515
+1520
+1523
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64336
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
index 63fb5d6189f..48aed8b741d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
@@ -1,21 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-3031 3035
-309B 309C
-30A0 30FA
-30FC 30FF
-31F0 31FF
-32D0 32FE
-3300 3357
-FF66 FF9D
-1B000
+V18
+12337
+12342
+12443
+12445
+12448
+12539
+12540
+12544
+12784
+12800
+13008
+13055
+13056
+13144
+65382
+65438
+110592
+110593
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
index 94bf9e138e6..5f6e1a5c3a7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
@@ -1,440 +1,854 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037A 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F3
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1900 191C
-1A00 1A16
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2126
-2128
-212A 212D
-212F 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-24B6 24E9
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-2D80 2D96
-2DA0 2DA6
-2DA8 2DAE
-2DB0 2DB6
-2DB8 2DBE
-2DC0 2DC6
-2DC8 2DCE
-2DD0 2DD6
-2DD8 2DDE
-2E2F
-3005
-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 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AAE0 AAEA
-AAF2 AAF4
-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
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
+V840
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+890
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1523
+1524
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6656
+6679
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11823
+11824
+12293
+12294
+12347
+12349
+12549
+12590
+12593
+12687
+12704
+12731
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+64256
+64263
+64275
+64280
+64336
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65136
+65141
+65142
+65277
+65313
+65339
+65345
+65371
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
index a683bbeded0..7ba30342c56 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
@@ -1,19 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0027
-002E
-2018 2019
-2024
-FE52
-FF07
-FF0E
+V12
+46
+47
+8216
+8218
+8228
+8229
+65106
+65107
+65287
+65288
+65294
+65295
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
index c4fc23a3cee..28c28a35006 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
@@ -1,20 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-003A
-00B7
-0387
-05F4
-2027
-FE13
-FE55
-FF1A
+V18
+58
+59
+183
+184
+727
+728
+903
+904
+1524
+1525
+8231
+8232
+65043
+65044
+65109
+65110
+65306
+65307
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
index e7092829927..9e39affc0ed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
@@ -1,26 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-002C
-003B
-037E
-0589
-060C 060D
-066C
-07F8
-2044
-FE10
-FE14
-FE50
-FE54
-FF0C
-FF1B
+V28
+44
+45
+59
+60
+894
+895
+1417
+1418
+1548
+1550
+1644
+1645
+2040
+2041
+8260
+8261
+65040
+65041
+65044
+65045
+65104
+65105
+65108
+65109
+65292
+65293
+65307
+65308
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
deleted file mode 100644
index d3107afea3a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by core Perl 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';
-000B 000C
-0085
-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 181d6673e07..103918f8785 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
@@ -1,54 +1,98 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0660 0669
-066B
-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
-110F0 110F9
-11136 1113F
-111D0 111D9
-116C0 116C9
-1D7CE 1D7FF
+V84
+48
+58
+1632
+1642
+1643
+1644
+1776
+1786
+1984
+1994
+2406
+2416
+2534
+2544
+2662
+2672
+2790
+2800
+2918
+2928
+3046
+3056
+3174
+3184
+3302
+3312
+3430
+3440
+3664
+3674
+3792
+3802
+3872
+3882
+4160
+4170
+4240
+4250
+6112
+6122
+6160
+6170
+6470
+6480
+6608
+6618
+6784
+6794
+6800
+6810
+6992
+7002
+7088
+7098
+7232
+7242
+7248
+7258
+42528
+42538
+43216
+43226
+43264
+43274
+43472
+43482
+43600
+43610
+44016
+44026
+66720
+66730
+69734
+69744
+69872
+69882
+69942
+69952
+70096
+70106
+71360
+71370
+120782
+120832
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
index 45015e02c37..bfd77a6386b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
@@ -1,592 +1,1179 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0000 0009
-000E 0026
-0028 002B
-002D
-002F
-003C 0040
-005B 005E
-0060
-007B 0084
-0086 00A9
-00AB 00AC
-00AE 00B4
-00B6
-00B8 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0378 0379
-037F 0385
-038B
-038D
-03A2
-03F6
-0482
-0528 0530
-0557 0558
-055A 0560
-0588
-058A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05CF
-05EB 05EF
-05F5 05FF
-0605 060B
-060E 060F
-061B 061F
-066A
-066D
-06D4
-06DE
-06E9
-06FD 06FE
-0700 070E
-074B 074C
-07B2 07BF
-07F6 07F7
-07F9
-07FB 07FF
-082E 083F
-085C 089F
-08A1
-08AD 08E3
-08FF
-0964 0965
-0970
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09F2 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF0 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B70
-0B72 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BF0 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D70 0D79
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E30
-0E32 0E33
-0E3B 0E46
-0E4F
-0E5A 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0EC7
-0ECE 0ECF
-0EDA 0EFF
-0F01 0F17
-0F1A 0F1F
-0F2A 0F34
-0F36
-0F38
-0F3A 0F3D
-0F48
-0F6D 0F70
-0F85
-0F98
-0FBD 0FC5
-0FC7 102A
-103F
-104A 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-109E 109F
-10C6
-10C8 10CC
-10CE 10CF
-10FB
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-1360 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1715 171F
-1735 173F
-1754 175F
-176D
-1771
-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
-1A8A 1A8F
-1A9A 1AFF
-1B4C 1B4F
-1B5A 1B6A
-1B74 1B7F
-1BF4 1BFF
-1C38 1C3F
-1C4A 1C4C
-1C7E 1CCF
-1CD3
-1CF7 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 200B
-2010 2017
-201A 2023
-2025 2026
-202F 203E
-2041 2043
-2045 2053
-2055 205F
-2065 2069
-2070
-2072 207E
-2080 208F
-209D 20CF
-20F1 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 24B5
-24EA 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CF4 2CFF
-2D26
-2D28 2D2C
-2D2E 2D2F
-2D68 2D6E
-2D70 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E00 2E2E
-2E30 3004
-3006 3029
-3030
-3036 303A
-303D 3098
-309D 309F
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 32CF
-32FF
-3358 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A62C A63F
-A673
-A67E
-A698 A69E
-A6F2 A716
-A720 A721
-A789 A78A
-A78F
-A794 A79F
-A7AB A7F7
-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
-AAB9 AABD
-AAC0
-AAC2 AADF
-AAF0 AAF1
-AAF7 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEB
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC FAFF
-FB07 FB12
-FB18 FB1C
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFC FDFF
-FE11 FE12
-FE15 FE1F
-FE27 FE32
-FE35 FE4C
-FE51
-FE53
-FE56 FE6F
-FE75
-FEFD FEFE
-FF00 FF06
-FF08 FF0B
-FF0D
-FF0F FF19
-FF1C FF20
-FF3B FF3E
-FF40
-FF5B FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFF8
-FFFC FFFF
-1000C
-10027
-1003B
-1003E
-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
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 1097F
-109B8 109BD
-109C0 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-10A34 10A37
-10A3B 10A3E
-10A40 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 10FFF
-11047 11065
-11070 1107F
-110BB 110BC
-110BE 110CF
-110E9 110EF
-110FA 110FF
-11135
-11140 1117F
-111C5 111CF
-111DA 1167F
-116B8 116BF
-116CA 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 16EFF
-16F45 16F4F
-16F7F 16F8E
-16FA0 1AFFF
-1B001 1D164
-1D16A 1D16C
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1D7CD
-1D800 1EDFF
-1EE04
-1EE20
-1EE23
-1EE25 1EE26
-1EE28
-1EE33
-1EE38
-1EE3A
-1EE3C 1EE41
-1EE43 1EE46
-1EE48
-1EE4A
-1EE4C
-1EE50
-1EE53
-1EE55 1EE56
-1EE58
-1EE5A
-1EE5C
-1EE5E
-1EE60
-1EE63
-1EE65 1EE66
-1EE6B
-1EE73
-1EE78
-1EE7D
-1EE7F
-1EE8A
-1EE9C 1EEA0
-1EEA4
-1EEAA
-1EEBC 1F1E5
-1F200 E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+V1165
+0
+10
+14
+34
+35
+39
+40
+44
+45
+46
+47
+48
+60
+65
+91
+95
+96
+97
+123
+133
+134
+170
+171
+173
+174
+181
+182
+183
+184
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+727
+728
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+890
+895
+902
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1417
+1418
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1525
+1536
+1541
+1548
+1550
+1552
+1563
+1564
+1565
+1568
+1642
+1643
+1645
+1646
+1748
+1749
+1758
+1759
+1769
+1770
+1789
+1791
+1792
+1807
+1867
+1869
+1970
+1984
+2038
+2040
+2041
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3633
+3634
+3636
+3643
+3655
+3663
+3664
+3674
+3761
+3762
+3764
+3770
+3771
+3773
+3784
+3790
+3792
+3802
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4139
+4159
+4160
+4170
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6068
+6100
+6109
+6110
+6112
+6122
+6155
+6159
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6480
+6576
+6593
+6600
+6602
+6608
+6618
+6656
+6684
+6741
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8204
+8208
+8216
+8218
+8228
+8229
+8231
+8239
+8255
+8257
+8260
+8261
+8276
+8277
+8288
+8293
+8294
+8304
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8473
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8494
+8495
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+9398
+9450
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+11823
+11824
+12293
+12294
+12330
+12336
+12337
+12342
+12347
+12349
+12441
+12445
+12448
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13008
+13055
+13056
+13144
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42611
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43643
+43644
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64830
+64848
+64912
+64914
+64968
+65008
+65020
+65024
+65041
+65043
+65045
+65056
+65063
+65075
+65077
+65101
+65105
+65106
+65107
+65108
+65110
+65136
+65141
+65142
+65277
+65279
+65280
+65287
+65288
+65292
+65293
+65294
+65295
+65306
+65308
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65529
+65532
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69821
+69822
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110593
+119141
+119146
+119149
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+127462
+127488
+917505
+917506
+917536
+917632
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
index 10b90c67ca4..089df7c5028 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
@@ -1,583 +1,1156 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0030 0039
-0041 005A
-005F
-0061 007A
-00AA
-00B5
-00B7
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0300 0374
-0376 0377
-037B 037D
-0386 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-0483 0487
-048A 0527
-0531 0556
-0559
-0561 0587
-0591 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-05D0 05EA
-05F0 05F2
-0610 061A
-0620 0669
-066E 06D3
-06D5 06DC
-06DF 06E8
-06EA 06FC
-06FF
-0710 074A
-074D 07B1
-07C0 07F5
-07FA
-0800 082D
-0840 085B
-08A0
-08A2 08AC
-08E4 08FE
-0900 0963
-0966 096F
-0971 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 09F1
-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
-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
-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 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
-0CE6 0CEF
-0CF1 0CF2
-0D02 0D03
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D 0D44
-0D46 0D48
-0D4A 0D4E
-0D57
-0D60 0D63
-0D66 0D6F
-0D7A 0D7F
-0D82 0D83
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0DCA
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E01 0E3A
-0E40 0E4E
-0E50 0E59
-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 0EDF
-0F00
-0F18 0F19
-0F20 0F29
-0F35
-0F37
-0F39
-0F3E 0F47
-0F49 0F6C
-0F71 0F84
-0F86 0F97
-0F99 0FBC
-0FC6
-1000 1049
-1050 109D
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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 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 17D3
-17D7
-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
-1B50 1B59
-1B6B 1B73
-1B80 1BF3
-1C00 1C37
-1C40 1C49
-1C4D 1C7D
-1CD0 1CD2
-1CD4 1CF6
-1D00 1DE6
-1DFC 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-203F 2040
-2054
-2071
-207F
-2090 209C
-20D0 20DC
-20E1
-20E5 20F0
-2102
-2107
-210A 2113
-2115
-2118 211D
-2124
-2126
-2128
-212A 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A62B
-A640 A66F
-A674 A67D
-A67F A697
-A69F A6F1
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A827
-A840 A873
-A880 A8C4
-A8D0 A8D9
-A8E0 A8F7
-A8FB
-A900 A92D
-A930 A953
-A960 A97C
-A980 A9C0
-A9CF A9D9
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA60 AA76
-AA7A AA7B
-AA80 AAC2
-AADB AADD
-AAE0 AAEF
-AAF2 AAF6
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABEA
-ABEC ABED
-ABF0 ABF9
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-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
-FF10 FF19
-FF21 FF3A
-FF3F
-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
-102A0 102D0
-10300 1031E
-10330 1034A
-10380 1039D
-103A0 103C3
-103C8 103CF
-103D1 103D5
-10400 1049D
-104A0 104A9
-10800 10805
-10808
-1080A 10835
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00 10A03
-10A05 10A06
-10A0C 10A13
-10A15 10A17
-10A19 10A33
-10A38 10A3A
-10A3F
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11000 11046
-11066 1106F
-11080 110BA
-110D0 110E8
-110F0 110F9
-11100 11134
-11136 1113F
-11180 111C4
-111D0 111D9
-11680 116B7
-116C0 116C9
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50 16F7E
-16F8F 16F9F
-1B000 1B001
-1D165 1D169
-1D16D 1D172
-1D17B 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D242 1D244
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
-E0100 E01EF
+V1142
+48
+58
+65
+91
+95
+96
+97
+123
+170
+171
+181
+182
+183
+184
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+768
+885
+886
+888
+891
+894
+902
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1155
+1160
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1425
+1470
+1471
+1472
+1473
+1475
+1476
+1478
+1479
+1480
+1488
+1515
+1520
+1523
+1552
+1563
+1568
+1642
+1646
+1748
+1749
+1757
+1759
+1769
+1770
+1789
+1791
+1792
+1808
+1867
+1869
+1970
+1984
+2038
+2042
+2043
+2048
+2094
+2112
+2140
+2208
+2209
+2210
+2221
+2276
+2303
+2304
+2404
+2406
+2416
+2417
+2424
+2425
+2432
+2433
+2436
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2492
+2501
+2503
+2505
+2507
+2511
+2519
+2520
+2524
+2526
+2527
+2532
+2534
+2546
+2561
+2564
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2620
+2621
+2622
+2627
+2631
+2633
+2635
+2638
+2641
+2642
+2649
+2653
+2654
+2655
+2662
+2678
+2689
+2692
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2748
+2758
+2759
+2762
+2763
+2766
+2768
+2769
+2784
+2788
+2790
+2800
+2817
+2820
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2876
+2885
+2887
+2889
+2891
+2894
+2902
+2904
+2908
+2910
+2911
+2916
+2918
+2928
+2929
+2930
+2946
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3006
+3011
+3014
+3017
+3018
+3022
+3024
+3025
+3031
+3032
+3046
+3056
+3073
+3076
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3141
+3142
+3145
+3146
+3150
+3157
+3159
+3160
+3162
+3168
+3172
+3174
+3184
+3202
+3204
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3260
+3269
+3270
+3273
+3274
+3278
+3285
+3287
+3294
+3295
+3296
+3300
+3302
+3312
+3313
+3315
+3330
+3332
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3397
+3398
+3401
+3402
+3407
+3415
+3416
+3424
+3428
+3430
+3440
+3450
+3456
+3458
+3460
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3530
+3531
+3535
+3541
+3542
+3543
+3544
+3552
+3570
+3572
+3585
+3643
+3648
+3663
+3664
+3674
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3770
+3771
+3774
+3776
+3781
+3782
+3783
+3784
+3790
+3792
+3802
+3804
+3808
+3840
+3841
+3864
+3866
+3872
+3882
+3893
+3894
+3895
+3896
+3897
+3898
+3902
+3912
+3913
+3949
+3953
+3973
+3974
+3992
+3993
+4029
+4038
+4039
+4096
+4170
+4176
+4254
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4957
+4960
+4969
+4978
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5909
+5920
+5941
+5952
+5972
+5984
+5997
+5998
+6001
+6002
+6004
+6016
+6100
+6103
+6104
+6108
+6110
+6112
+6122
+6155
+6158
+6160
+6170
+6176
+6264
+6272
+6315
+6320
+6390
+6400
+6429
+6432
+6444
+6448
+6460
+6470
+6510
+6512
+6517
+6528
+6572
+6576
+6602
+6608
+6619
+6656
+6684
+6688
+6751
+6752
+6781
+6783
+6794
+6800
+6810
+6823
+6824
+6912
+6988
+6992
+7002
+7019
+7028
+7040
+7156
+7168
+7224
+7232
+7242
+7245
+7294
+7376
+7379
+7380
+7415
+7424
+7655
+7676
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8255
+8257
+8276
+8277
+8305
+8306
+8319
+8320
+8336
+8349
+8400
+8413
+8417
+8418
+8421
+8433
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11647
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+11744
+11776
+12293
+12296
+12321
+12336
+12337
+12342
+12344
+12349
+12353
+12439
+12441
+12443
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42540
+42560
+42608
+42612
+42622
+42623
+42648
+42655
+42738
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43048
+43072
+43124
+43136
+43205
+43216
+43226
+43232
+43256
+43259
+43260
+43264
+43310
+43312
+43348
+43360
+43389
+43392
+43457
+43471
+43482
+43520
+43575
+43584
+43598
+43600
+43610
+43616
+43639
+43642
+43644
+43648
+43715
+43739
+43742
+43744
+43760
+43762
+43767
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44011
+44012
+44014
+44016
+44026
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65024
+65040
+65056
+65063
+65075
+65077
+65101
+65104
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65296
+65306
+65313
+65339
+65343
+65344
+65345
+65371
+65382
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66045
+66046
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+66720
+66730
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68100
+68101
+68103
+68108
+68116
+68117
+68120
+68121
+68148
+68152
+68155
+68159
+68160
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69632
+69703
+69734
+69744
+69760
+69819
+69840
+69865
+69872
+69882
+69888
+69941
+69942
+69952
+70016
+70085
+70096
+70106
+71296
+71352
+71360
+71370
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94079
+94095
+94112
+110592
+110594
+119141
+119146
+119149
+119155
+119163
+119171
+119173
+119180
+119210
+119214
+119362
+119365
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+120782
+120832
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
+917760
+918000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
index cf4b9276a47..d5c8e61586f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
@@ -1,507 +1,1004 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.2.0. Any changes made here will be lost!
+# database, Version 6.3.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by core Perl only. The format and even the
# name or existence of this file are subject to change without notice. Don't
-# use it directly.
+# use it directly. Use Unicode::UCD to access the Unicode character data
+# base.
return <<'END';
-0041 005A
-0061 007A
-00AA
-00B5
-00BA
-00C0 00D6
-00D8 00F6
-00F8 02C1
-02C6 02D1
-02E0 02E4
-02EC
-02EE
-0370 0374
-0376 0377
-037B 037D
-0386
-0388 038A
-038C
-038E 03A1
-03A3 03F5
-03F7 0481
-048A 0527
-0531 0556
-0559
-0561 0587
-05D0 05EA
-05F0 05F2
-0620 064A
-066E 066F
-0671 06D3
-06D5
-06E5 06E6
-06EE 06EF
-06FA 06FC
-06FF
-0710
-0712 072F
-074D 07A5
-07B1
-07CA 07EA
-07F4 07F5
-07FA
-0800 0815
-081A
-0824
-0828
-0840 0858
-08A0
-08A2 08AC
-0904 0939
-093D
-0950
-0958 0961
-0971 0977
-0979 097F
-0985 098C
-098F 0990
-0993 09A8
-09AA 09B0
-09B2
-09B6 09B9
-09BD
-09CE
-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
-0A85 0A8D
-0A8F 0A91
-0A93 0AA8
-0AAA 0AB0
-0AB2 0AB3
-0AB5 0AB9
-0ABD
-0AD0
-0AE0 0AE1
-0B05 0B0C
-0B0F 0B10
-0B13 0B28
-0B2A 0B30
-0B32 0B33
-0B35 0B39
-0B3D
-0B5C 0B5D
-0B5F 0B61
-0B71
-0B83
-0B85 0B8A
-0B8E 0B90
-0B92 0B95
-0B99 0B9A
-0B9C
-0B9E 0B9F
-0BA3 0BA4
-0BA8 0BAA
-0BAE 0BB9
-0BD0
-0C05 0C0C
-0C0E 0C10
-0C12 0C28
-0C2A 0C33
-0C35 0C39
-0C3D
-0C58 0C59
-0C60 0C61
-0C85 0C8C
-0C8E 0C90
-0C92 0CA8
-0CAA 0CB3
-0CB5 0CB9
-0CBD
-0CDE
-0CE0 0CE1
-0CF1 0CF2
-0D05 0D0C
-0D0E 0D10
-0D12 0D3A
-0D3D
-0D4E
-0D60 0D61
-0D7A 0D7F
-0D85 0D96
-0D9A 0DB1
-0DB3 0DBB
-0DBD
-0DC0 0DC6
-0E01 0E30
-0E32
-0E40 0E46
-0E81 0E82
-0E84
-0E87 0E88
-0E8A
-0E8D
-0E94 0E97
-0E99 0E9F
-0EA1 0EA3
-0EA5
-0EA7
-0EAA 0EAB
-0EAD 0EB0
-0EB2
-0EBD
-0EC0 0EC4
-0EC6
-0EDC 0EDF
-0F00
-0F40 0F47
-0F49 0F6C
-0F88 0F8C
-1000 102A
-103F
-1050 1055
-105A 105D
-1061
-1065 1066
-106E 1070
-1075 1081
-108E
-10A0 10C5
-10C7
-10CD
-10D0 10FA
-10FC 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
-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
-1880 18A8
-18AA
-18B0 18F5
-1900 191C
-1950 196D
-1970 1974
-1980 19AB
-19C1 19C7
-1A00 1A16
-1A20 1A54
-1AA7
-1B05 1B33
-1B45 1B4B
-1B83 1BA0
-1BAE 1BAF
-1BBA 1BE5
-1C00 1C23
-1C4D 1C4F
-1C5A 1C7D
-1CE9 1CEC
-1CEE 1CF1
-1CF5 1CF6
-1D00 1DBF
-1E00 1F15
-1F18 1F1D
-1F20 1F45
-1F48 1F4D
-1F50 1F57
-1F59
-1F5B
-1F5D
-1F5F 1F7D
-1F80 1FB4
-1FB6 1FBC
-1FBE
-1FC2 1FC4
-1FC6 1FCC
-1FD0 1FD3
-1FD6 1FDB
-1FE0 1FEC
-1FF2 1FF4
-1FF6 1FFC
-2071
-207F
-2090 209C
-2102
-2107
-210A 2113
-2115
-2118 211D
-2124
-2126
-2128
-212A 2139
-213C 213F
-2145 2149
-214E
-2160 2188
-2C00 2C2E
-2C30 2C5E
-2C60 2CE4
-2CEB 2CEE
-2CF2 2CF3
-2D00 2D25
-2D27
-2D2D
-2D30 2D67
-2D6F
-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 9FCC
-A000 A48C
-A4D0 A4FD
-A500 A60C
-A610 A61F
-A62A A62B
-A640 A66E
-A67F A697
-A6A0 A6EF
-A717 A71F
-A722 A788
-A78B A78E
-A790 A793
-A7A0 A7AA
-A7F8 A801
-A803 A805
-A807 A80A
-A80C A822
-A840 A873
-A882 A8B3
-A8F2 A8F7
-A8FB
-A90A A925
-A930 A946
-A960 A97C
-A984 A9B2
-A9CF
-AA00 AA28
-AA40 AA42
-AA44 AA4B
-AA60 AA76
-AA7A
-AA80 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2
-AADB AADD
-AAE0 AAEA
-AAF2 AAF4
-AB01 AB06
-AB09 AB0E
-AB11 AB16
-AB20 AB26
-AB28 AB2E
-ABC0 ABE2
-AC00 D7A3
-D7B0 D7C6
-D7CB D7FB
-F900 FA6D
-FA70 FAD9
-FB00 FB06
-FB13 FB17
-FB1D
-FB1F FB28
-FB2A FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FBB1
-FBD3 FC5D
-FC64 FD3D
-FD50 FD8F
-FD92 FDC7
-FDF0 FDF9
-FE71
-FE73
-FE77
-FE79
-FE7B
-FE7D
-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
-10837 10838
-1083C
-1083F 10855
-10900 10915
-10920 10939
-10980 109B7
-109BE 109BF
-10A00
-10A10 10A13
-10A15 10A17
-10A19 10A33
-10A60 10A7C
-10B00 10B35
-10B40 10B55
-10B60 10B72
-10C00 10C48
-11003 11037
-11083 110AF
-110D0 110E8
-11103 11126
-11183 111B2
-111C1 111C4
-11680 116AA
-12000 1236E
-12400 12462
-13000 1342E
-16800 16A38
-16F00 16F44
-16F50
-16F93 16F9F
-1B000 1B001
-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 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1EE00 1EE03
-1EE05 1EE1F
-1EE21 1EE22
-1EE24
-1EE27
-1EE29 1EE32
-1EE34 1EE37
-1EE39
-1EE3B
-1EE42
-1EE47
-1EE49
-1EE4B
-1EE4D 1EE4F
-1EE51 1EE52
-1EE54
-1EE57
-1EE59
-1EE5B
-1EE5D
-1EE5F
-1EE61 1EE62
-1EE64
-1EE67 1EE6A
-1EE6C 1EE72
-1EE74 1EE77
-1EE79 1EE7C
-1EE7E
-1EE80 1EE89
-1EE8B 1EE9B
-1EEA1 1EEA3
-1EEA5 1EEA9
-1EEAB 1EEBB
-20000 2A6D6
-2A700 2B734
-2B740 2B81D
-2F800 2FA1D
+V990
+65
+91
+97
+123
+170
+171
+181
+182
+186
+187
+192
+215
+216
+247
+248
+706
+710
+722
+736
+741
+748
+749
+750
+751
+880
+885
+886
+888
+891
+894
+902
+903
+904
+907
+908
+909
+910
+930
+931
+1014
+1015
+1154
+1162
+1320
+1329
+1367
+1369
+1370
+1377
+1416
+1488
+1515
+1520
+1523
+1568
+1611
+1646
+1648
+1649
+1748
+1749
+1750
+1765
+1767
+1774
+1776
+1786
+1789
+1791
+1792
+1808
+1809
+1810
+1840
+1869
+1958
+1969
+1970
+1994
+2027
+2036
+2038
+2042
+2043
+2048
+2070
+2074
+2075
+2084
+2085
+2088
+2089
+2112
+2137
+2208
+2209
+2210
+2221
+2308
+2362
+2365
+2366
+2384
+2385
+2392
+2402
+2417
+2424
+2425
+2432
+2437
+2445
+2447
+2449
+2451
+2473
+2474
+2481
+2482
+2483
+2486
+2490
+2493
+2494
+2510
+2511
+2524
+2526
+2527
+2530
+2544
+2546
+2565
+2571
+2575
+2577
+2579
+2601
+2602
+2609
+2610
+2612
+2613
+2615
+2616
+2618
+2649
+2653
+2654
+2655
+2674
+2677
+2693
+2702
+2703
+2706
+2707
+2729
+2730
+2737
+2738
+2740
+2741
+2746
+2749
+2750
+2768
+2769
+2784
+2786
+2821
+2829
+2831
+2833
+2835
+2857
+2858
+2865
+2866
+2868
+2869
+2874
+2877
+2878
+2908
+2910
+2911
+2914
+2929
+2930
+2947
+2948
+2949
+2955
+2958
+2961
+2962
+2966
+2969
+2971
+2972
+2973
+2974
+2976
+2979
+2981
+2984
+2987
+2990
+3002
+3024
+3025
+3077
+3085
+3086
+3089
+3090
+3113
+3114
+3124
+3125
+3130
+3133
+3134
+3160
+3162
+3168
+3170
+3205
+3213
+3214
+3217
+3218
+3241
+3242
+3252
+3253
+3258
+3261
+3262
+3294
+3295
+3296
+3298
+3313
+3315
+3333
+3341
+3342
+3345
+3346
+3387
+3389
+3390
+3406
+3407
+3424
+3426
+3450
+3456
+3461
+3479
+3482
+3506
+3507
+3516
+3517
+3518
+3520
+3527
+3585
+3633
+3634
+3635
+3648
+3655
+3713
+3715
+3716
+3717
+3719
+3721
+3722
+3723
+3725
+3726
+3732
+3736
+3737
+3744
+3745
+3748
+3749
+3750
+3751
+3752
+3754
+3756
+3757
+3761
+3762
+3763
+3773
+3774
+3776
+3781
+3782
+3783
+3804
+3808
+3840
+3841
+3904
+3912
+3913
+3949
+3976
+3981
+4096
+4139
+4159
+4160
+4176
+4182
+4186
+4190
+4193
+4194
+4197
+4199
+4206
+4209
+4213
+4226
+4238
+4239
+4256
+4294
+4295
+4296
+4301
+4302
+4304
+4347
+4348
+4681
+4682
+4686
+4688
+4695
+4696
+4697
+4698
+4702
+4704
+4745
+4746
+4750
+4752
+4785
+4786
+4790
+4792
+4799
+4800
+4801
+4802
+4806
+4808
+4823
+4824
+4881
+4882
+4886
+4888
+4955
+4992
+5008
+5024
+5109
+5121
+5741
+5743
+5760
+5761
+5787
+5792
+5867
+5870
+5873
+5888
+5901
+5902
+5906
+5920
+5938
+5952
+5970
+5984
+5997
+5998
+6001
+6016
+6068
+6103
+6104
+6108
+6109
+6176
+6264
+6272
+6313
+6314
+6315
+6320
+6390
+6400
+6429
+6480
+6510
+6512
+6517
+6528
+6572
+6593
+6600
+6656
+6679
+6688
+6741
+6823
+6824
+6917
+6964
+6981
+6988
+7043
+7073
+7086
+7088
+7098
+7142
+7168
+7204
+7245
+7248
+7258
+7294
+7401
+7405
+7406
+7410
+7413
+7415
+7424
+7616
+7680
+7958
+7960
+7966
+7968
+8006
+8008
+8014
+8016
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8062
+8064
+8117
+8118
+8125
+8126
+8127
+8130
+8133
+8134
+8141
+8144
+8148
+8150
+8156
+8160
+8173
+8178
+8181
+8182
+8189
+8305
+8306
+8319
+8320
+8336
+8349
+8450
+8451
+8455
+8456
+8458
+8468
+8469
+8470
+8472
+8478
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8506
+8508
+8512
+8517
+8522
+8526
+8527
+8544
+8585
+11264
+11311
+11312
+11359
+11360
+11493
+11499
+11503
+11506
+11508
+11520
+11558
+11559
+11560
+11565
+11566
+11568
+11624
+11631
+11632
+11648
+11671
+11680
+11687
+11688
+11695
+11696
+11703
+11704
+11711
+11712
+11719
+11720
+11727
+11728
+11735
+11736
+11743
+12293
+12296
+12321
+12330
+12337
+12342
+12344
+12349
+12353
+12439
+12445
+12448
+12449
+12539
+12540
+12544
+12549
+12590
+12593
+12687
+12704
+12731
+12784
+12800
+13312
+19894
+19968
+40909
+40960
+42125
+42192
+42238
+42240
+42509
+42512
+42528
+42538
+42540
+42560
+42607
+42623
+42648
+42656
+42736
+42775
+42784
+42786
+42889
+42891
+42895
+42896
+42900
+42912
+42923
+43000
+43010
+43011
+43014
+43015
+43019
+43020
+43043
+43072
+43124
+43138
+43188
+43250
+43256
+43259
+43260
+43274
+43302
+43312
+43335
+43360
+43389
+43396
+43443
+43471
+43472
+43520
+43561
+43584
+43587
+43588
+43596
+43616
+43639
+43642
+43643
+43648
+43696
+43697
+43698
+43701
+43703
+43705
+43710
+43712
+43713
+43714
+43715
+43739
+43742
+43744
+43755
+43762
+43765
+43777
+43783
+43785
+43791
+43793
+43799
+43808
+43815
+43816
+43823
+43968
+44003
+44032
+55204
+55216
+55239
+55243
+55292
+63744
+64110
+64112
+64218
+64256
+64263
+64275
+64280
+64285
+64286
+64287
+64297
+64298
+64311
+64312
+64317
+64318
+64319
+64320
+64322
+64323
+64325
+64326
+64434
+64467
+64606
+64612
+64830
+64848
+64912
+64914
+64968
+65008
+65018
+65137
+65138
+65139
+65140
+65143
+65144
+65145
+65146
+65147
+65148
+65149
+65150
+65151
+65277
+65313
+65339
+65345
+65371
+65382
+65438
+65440
+65471
+65474
+65480
+65482
+65488
+65490
+65496
+65498
+65501
+65536
+65548
+65549
+65575
+65576
+65595
+65596
+65598
+65599
+65614
+65616
+65630
+65664
+65787
+65856
+65909
+66176
+66205
+66208
+66257
+66304
+66335
+66352
+66379
+66432
+66462
+66464
+66500
+66504
+66512
+66513
+66518
+66560
+66718
+67584
+67590
+67592
+67593
+67594
+67638
+67639
+67641
+67644
+67645
+67647
+67670
+67840
+67862
+67872
+67898
+67968
+68024
+68030
+68032
+68096
+68097
+68112
+68116
+68117
+68120
+68121
+68148
+68192
+68221
+68352
+68406
+68416
+68438
+68448
+68467
+68608
+68681
+69635
+69688
+69763
+69808
+69840
+69865
+69891
+69927
+70019
+70067
+70081
+70085
+71296
+71339
+73728
+74607
+74752
+74851
+77824
+78895
+92160
+92729
+93952
+94021
+94032
+94033
+94099
+94112
+110592
+110594
+119808
+119893
+119894
+119965
+119966
+119968
+119970
+119971
+119973
+119975
+119977
+119981
+119982
+119994
+119995
+119996
+119997
+120004
+120005
+120070
+120071
+120075
+120077
+120085
+120086
+120093
+120094
+120122
+120123
+120127
+120128
+120133
+120134
+120135
+120138
+120145
+120146
+120486
+120488
+120513
+120514
+120539
+120540
+120571
+120572
+120597
+120598
+120629
+120630
+120655
+120656
+120687
+120688
+120713
+120714
+120745
+120746
+120771
+120772
+120780
+126464
+126468
+126469
+126496
+126497
+126499
+126500
+126501
+126503
+126504
+126505
+126515
+126516
+126520
+126521
+126522
+126523
+126524
+126530
+126531
+126535
+126536
+126537
+126538
+126539
+126540
+126541
+126544
+126545
+126547
+126548
+126549
+126551
+126552
+126553
+126554
+126555
+126556
+126557
+126558
+126559
+126560
+126561
+126563
+126564
+126565
+126567
+126571
+126572
+126579
+126580
+126584
+126585
+126589
+126590
+126591
+126592
+126602
+126603
+126620
+126625
+126628
+126629
+126634
+126635
+126652
+131072
+173783
+173824
+177973
+177984
+178206
+194560
+195102
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/version b/Master/tlpkg/tlperl/lib/unicore/version
index 6abaeb2f907..798e38995c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/version
+++ b/Master/tlpkg/tlperl/lib/unicore/version
@@ -1 +1 @@
-6.2.0
+6.3.0
diff --git a/Master/tlpkg/tlperl/lib/utf8.pm b/Master/tlpkg/tlperl/lib/utf8.pm
index 1d6992ccf03..6a979f147b3 100644
--- a/Master/tlpkg/tlperl/lib/utf8.pm
+++ b/Master/tlpkg/tlperl/lib/utf8.pm
@@ -2,11 +2,10 @@ package utf8;
$utf8::hint_bits = 0x00800000;
-our $VERSION = '1.10';
+our $VERSION = '1.13_01';
sub import {
$^H |= $utf8::hint_bits;
- $enc{caller()} = $_[1] if $_[1];
}
sub unimport {
@@ -29,22 +28,22 @@ utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code
=head1 SYNOPSIS
- use utf8;
- no utf8;
+ use utf8;
+ no utf8;
- # Convert the internal representation of a Perl scalar to/from UTF-8.
+ # Convert the internal representation of a Perl scalar to/from UTF-8.
- $num_octets = utf8::upgrade($string);
- $success = utf8::downgrade($string[, FAIL_OK]);
+ $num_octets = utf8::upgrade($string);
+ $success = utf8::downgrade($string[, $fail_ok]);
- # Change each character of a Perl scalar to/from a series of
- # characters that represent the UTF-8 bytes of each original character.
+ # Change each character of a Perl scalar to/from a series of
+ # characters that represent the UTF-8 bytes of each original character.
- utf8::encode($string); # "\x{100}" becomes "\xc4\x80"
- utf8::decode($string); # "\xc4\x80" becomes "\x{100}"
+ utf8::encode($string); # "\x{100}" becomes "\xc4\x80"
+ utf8::decode($string); # "\xc4\x80" becomes "\x{100}"
- $flag = utf8::is_utf8(STRING); # since Perl 5.8.1
- $flag = utf8::valid(STRING);
+ $flag = utf8::is_utf8($string); # since Perl 5.8.1
+ $flag = utf8::valid($string);
=head1 DESCRIPTION
@@ -96,11 +95,11 @@ C<no utf8;>.
The following functions are defined in the C<utf8::> package by the
Perl core. You do not need to say C<use utf8> to use these and in fact
-you should not say that unless you really want to have UTF-8 source code.
+you should not say that unless you really want to have UTF-8 source code.
=over 4
-=item * $num_octets = utf8::upgrade($string)
+=item * C<$num_octets = utf8::upgrade($string)>
Converts in-place the internal representation of the string from an octet
sequence in the native encoding (Latin-1 or EBCDIC) to I<UTF-X>. The
@@ -115,7 +114,7 @@ B<Note that this function does not handle arbitrary encodings.>
Therefore Encode is recommended for the general purposes; see also
L<Encode>.
-=item * $success = utf8::downgrade($string[, FAIL_OK])
+=item * C<$success = utf8::downgrade($string[, $fail_ok])>
Converts in-place the internal representation of the string from
I<UTF-X> to the equivalent octet sequence in the native encoding (Latin-1
@@ -127,7 +126,7 @@ that the substr() or length() function works with the usually faster
byte algorithm.
Fails if the original I<UTF-X> sequence cannot be represented in the
-native 8 bit encoding. On failure dies or, if the value of C<FAIL_OK> is
+native 8 bit encoding. On failure dies or, if the value of I<$fail_ok> is
true, returns false.
Returns true on success.
@@ -136,7 +135,7 @@ B<Note that this function does not handle arbitrary encodings.>
Therefore Encode is recommended for the general purposes; see also
L<Encode>.
-=item * utf8::encode($string)
+=item * C<utf8::encode($string)>
Converts in-place the character sequence to the corresponding octet
sequence in I<UTF-X>. That is, every (possibly wide) character gets
@@ -144,16 +143,17 @@ replaced with a sequence of one or more characters that represent the
individual I<UTF-X> bytes of the character. The UTF8 flag is turned off.
Returns nothing.
- my $a = "\x{100}"; # $a contains one character, with ord 0x100
- utf8::encode($a); # $a contains two characters, with ords 0xc4 and 0x80
+ my $a = "\x{100}"; # $a contains one character, with ord 0x100
+ utf8::encode($a); # $a contains two characters, with ords 0xc4 and
+ # 0x80
B<Note that this function does not handle arbitrary encodings.>
Therefore Encode is recommended for the general purposes; see also
L<Encode>.
-=item * $success = utf8::decode($string)
+=item * C<$success = utf8::decode($string)>
-Attempts to convert in-place the octet sequence in I<UTF-X> to the
+Attempts to convert in-place the octet sequence encoded as I<UTF-X> to the
corresponding character sequence. That is, it replaces each sequence of
characters in the string whose ords represent a valid UTF-X byte
sequence, with the corresponding single character. The UTF-8 flag is
@@ -161,24 +161,25 @@ turned on only if the source string contains multiple-byte I<UTF-X>
characters. If I<$string> is invalid as I<UTF-X>, returns false;
otherwise returns true.
- my $a = "\xc4\x80"; # $a contains two characters, with ords 0xc4 and 0x80
+ my $a = "\xc4\x80"; # $a contains two characters, with ords
+ # 0xc4 and 0x80
utf8::decode($a); # $a contains one character, with ord 0x100
B<Note that this function does not handle arbitrary encodings.>
Therefore Encode is recommended for the general purposes; see also
L<Encode>.
-=item * $flag = utf8::is_utf8(STRING)
+=item * C<$flag = utf8::is_utf8($string)>
-(Since Perl 5.8.1) Test whether STRING is encoded internally in UTF-8.
-Functionally the same as Encode::is_utf8().
+(Since Perl 5.8.1) Test whether I<$string> is marked internally as encoded in
+UTF-8. Functionally the same as Encode::is_utf8().
-=item * $flag = utf8::valid(STRING)
+=item * C<$flag = utf8::valid($string)>
-[INTERNAL] Test whether STRING is in a consistent state regarding
+[INTERNAL] Test whether I<$string> is in a consistent state regarding
UTF-8. Will return true if it is well-formed UTF-8 and has the UTF-8 flag
-on B<or> if STRING is held as bytes (both these states are 'consistent').
-Main reason for this routine is to allow Perl's testsuite to check
+on B<or> if I<$string> is held as bytes (both these states are 'consistent').
+Main reason for this routine is to allow Perl's test suite to check
that operations have left strings in a consistent state. You most
probably want to use utf8::is_utf8() instead.
diff --git a/Master/tlpkg/tlperl/lib/utf8_heavy.pl b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
index fc422835abc..0d2888f5a49 100644
--- a/Master/tlpkg/tlperl/lib/utf8_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
@@ -407,9 +407,9 @@ sub _loose_name ($) {
# Add the constant and go fetch it in.
if (defined $file) {
- # A beginning ! means to invert. The 0+ makes sure is
- # numeric
- $invert_it = 0 + $file =~ s/^!//;
+ # If the file name contains a !, it means to invert. The
+ # 0+ makes sure result is numeric
+ $invert_it = 0 + $file =~ s/!//;
if ($utf8::why_deprecated{$file}) {
warnings::warnif('deprecated', "Use of '$type' in \\p{} or \\P{} is deprecated because: $utf8::why_deprecated{$file};");
@@ -420,7 +420,11 @@ sub _loose_name ($) {
{
$file = $utf8::caseless_equivalent{$property_and_table};
}
- $file= "$unicore_dir/lib/$file.pl";
+
+ # The pseudo-directory '#' means that there really isn't a
+ # file to read, the data is in-line as part of the string;
+ # we extract it below.
+ $file = "$unicore_dir/lib/$file.pl" unless $file =~ m!^#/!;
last GETFILE;
}
print STDERR __LINE__, ": didn't find $property_and_table\n" if DEBUG;
@@ -482,8 +486,8 @@ sub _loose_name ($) {
$minbits = 1;
# The 0+ makes sure is numeric
- $invert_it = 0 + $file =~ s/^!//;
- $file = "$unicore_dir/lib/$file.pl";
+ $invert_it = 0 + $file =~ s/!//;
+ $file = "$unicore_dir/lib/$file.pl" unless $file =~ m!^#/!;
last GETFILE;
}
} }
@@ -504,20 +508,31 @@ sub _loose_name ($) {
## If we reach here, it was due to a 'last GETFILE' above
## (exception: user-defined properties and mappings), so we
## have a filename, so now we load it if we haven't already.
- ## If we have, return the cached results. The cache key is the
- ## class and file to load, and whether the results need to be
- ## inverted.
- ##
- my $found = $Cache{$class, $file, $invert_it};
- if ($found and ref($found) eq $class) {
- print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
- pop @recursed if @recursed;
- return $found;
+
+ # The pseudo-directory '#' means the result isn't really a
+ # file, but is in-line, with semi-colons to be turned into
+ # new-lines. Since it is in-line there is no advantage to
+ # caching the result
+ if ($file =~ s!^#/!!) {
+ $list = $utf8::inline_definitions[$file];
+ }
+ else {
+ # Here, we have an actual file to read in and load, but it
+ # may already have been read-in and cached. The cache key
+ # is the class and file to load, and whether the results
+ # need to be inverted.
+ my $found = $Cache{$class, $file, $invert_it};
+ if ($found and ref($found) eq $class) {
+ print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
+ pop @recursed if @recursed;
+ return $found;
+ }
+
+ local $@;
+ local $!;
+ $list = do $file; die $@ if $@;
}
- local $@;
- local $!;
- $list = do $file; die $@ if $@;
$list_is_from_mktables = 1;
}
} # End of $type is non-null
diff --git a/Master/tlpkg/tlperl/lib/version.pm b/Master/tlpkg/tlperl/lib/version.pm
index 27774bd9c28..f8afd8435b0 100644
--- a/Master/tlpkg/tlperl/lib/version.pm
+++ b/Master/tlpkg/tlperl/lib/version.pm
@@ -1,129 +1,30 @@
#!perl -w
package version;
-use 5.005_04;
+use 5.006002;
use strict;
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-$VERSION = 0.9902;
-
+$VERSION = 0.9909;
$CLASS = 'version';
-#--------------------------------------------------------------------------#
-# Version regexp components
-#--------------------------------------------------------------------------#
-
-# Fraction part of a decimal version number. This is a common part of
-# both strict and lax decimal versions
-
-my $FRACTION_PART = qr/\.[0-9]+/;
-
-# First part of either decimal or dotted-decimal strict version number.
-# Unsigned integer with no leading zeroes (except for zero itself) to
-# avoid confusion with octal.
-
-my $STRICT_INTEGER_PART = qr/0|[1-9][0-9]*/;
-
-# First part of either decimal or dotted-decimal lax version number.
-# Unsigned integer, but allowing leading zeros. Always interpreted
-# as decimal. However, some forms of the resulting syntax give odd
-# results if used as ordinary Perl expressions, due to how perl treats
-# octals. E.g.
-# version->new("010" ) == 10
-# version->new( 010 ) == 8
-# version->new( 010.2) == 82 # "8" . "2"
-
-my $LAX_INTEGER_PART = qr/[0-9]+/;
-
-# Second and subsequent part of a strict dotted-decimal version number.
-# Leading zeroes are permitted, and the number is always decimal.
-# Limited to three digits to avoid overflow when converting to decimal
-# form and also avoid problematic style with excessive leading zeroes.
-
-my $STRICT_DOTTED_DECIMAL_PART = qr/\.[0-9]{1,3}/;
-
-# Second and subsequent part of a lax dotted-decimal version number.
-# Leading zeroes are permitted, and the number is always decimal. No
-# limit on the numerical value or number of digits, so there is the
-# possibility of overflow when converting to decimal form.
-
-my $LAX_DOTTED_DECIMAL_PART = qr/\.[0-9]+/;
-
-# Alpha suffix part of lax version number syntax. Acts like a
-# dotted-decimal part.
-
-my $LAX_ALPHA_PART = qr/_[0-9]+/;
-
-#--------------------------------------------------------------------------#
-# Strict version regexp definitions
-#--------------------------------------------------------------------------#
-
-# Strict decimal version number.
-
-my $STRICT_DECIMAL_VERSION =
- qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
+# avoid using Exporter
+require version::regex;
+*version::is_lax = \&version::regex::is_lax;
+*version::is_strict = \&version::regex::is_strict;
+*LAX = \$version::regex::LAX;
+*STRICT = \$version::regex::STRICT;
-# Strict dotted-decimal version number. Must have both leading "v" and
-# at least three parts, to avoid confusion with decimal syntax.
-
-my $STRICT_DOTTED_DECIMAL_VERSION =
- qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
-
-# Complete strict version number syntax -- should generally be used
-# anchored: qr/ \A $STRICT \z /x
-
-$STRICT =
- qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
-
-#--------------------------------------------------------------------------#
-# Lax version regexp definitions
-#--------------------------------------------------------------------------#
-
-# Lax decimal version number. Just like the strict one except for
-# allowing an alpha suffix or allowing a leading or trailing
-# decimal-point
-
-my $LAX_DECIMAL_VERSION =
- qr/ $LAX_INTEGER_PART (?: \. | $FRACTION_PART $LAX_ALPHA_PART? )?
- |
- $FRACTION_PART $LAX_ALPHA_PART?
- /x;
-
-# Lax dotted-decimal version number. Distinguished by having either
-# leading "v" or at least three non-alpha parts. Alpha part is only
-# permitted if there are at least two non-alpha parts. Strangely
-# enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
-# so when there is no "v", the leading part is optional
-
-my $LAX_DOTTED_DECIMAL_VERSION =
- qr/
- v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
- |
- $LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
- /x;
-
-# Complete lax version number syntax -- should generally be used
-# anchored: qr/ \A $LAX \z /x
-#
-# The string 'undef' is a special case to make for easier handling
-# of return values from ExtUtils::MM->parse_version
-
-$LAX =
- qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
-
-#--------------------------------------------------------------------------#
-
-# Preloaded methods go here.
sub import {
no strict 'refs';
my ($class) = shift;
# Set up any derived class
- unless ($class eq 'version') {
+ unless ($class eq $CLASS) {
local $^W;
- *{$class.'::declare'} = \&version::declare;
- *{$class.'::qv'} = \&version::qv;
+ *{$class.'::declare'} = \&{$CLASS.'::declare'};
+ *{$class.'::qv'} = \&{$CLASS.'::qv'};
}
my %args;
@@ -131,7 +32,7 @@ sub import {
map { $args{$_} = 1 } @_
}
else { # no parameters at all on use line
- %args =
+ %args =
(
qv => 1,
'UNIVERSAL::VERSION' => 1,
@@ -139,9 +40,9 @@ sub import {
}
my $callpkg = caller();
-
+
if (exists($args{declare})) {
- *{$callpkg.'::declare'} =
+ *{$callpkg.'::declare'} =
sub {return $class->declare(shift) }
unless defined(&{$callpkg.'::declare'});
}
@@ -152,22 +53,26 @@ sub import {
unless defined(&{$callpkg.'::qv'});
}
+ if (exists($args{'UNIVERSAL::VERSION'})) {
+ local $^W;
+ *UNIVERSAL::VERSION
+ = \&{$CLASS.'::_VERSION'};
+ }
+
if (exists($args{'VERSION'})) {
- *{$callpkg.'::VERSION'} = \&version::_VERSION;
+ *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
}
if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&version::is_strict
+ *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
unless defined(&{$callpkg.'::is_strict'});
}
if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&version::is_lax
+ *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
unless defined(&{$callpkg.'::is_lax'});
}
}
-sub is_strict { defined $_[0] && $_[0] =~ qr/ \A $STRICT \z /x }
-sub is_lax { defined $_[0] && $_[0] =~ qr/ \A $LAX \z /x }
1;
diff --git a/Master/tlpkg/tlperl/lib/version.pod b/Master/tlpkg/tlperl/lib/version.pod
new file mode 100644
index 00000000000..40ceee2063a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/version.pod
@@ -0,0 +1,322 @@
+=head1 NAME
+
+version - Perl extension for Version Objects
+
+=head1 SYNOPSIS
+
+ # Parsing version strings (decimal or dotted-decimal)
+
+ use version 0.77; # get latest bug-fixes and API
+ $ver = version->parse($string)
+
+ # Declaring a dotted-decimal $VERSION (keep on one line!)
+
+ use version; our $VERSION = version->declare("v1.2.3"); # formal
+ use version; our $VERSION = qv("v1.2.3"); # shorthand
+ use version; our $VERSION = qv("v1.2_3"); # alpha
+
+ # Declaring an old-style decimal $VERSION (use quotes!)
+
+ our $VERSION = "1.0203"; # recommended
+ use version; our $VERSION = version->parse("1.0203"); # formal
+ use version; our $VERSION = version->parse("1.02_03"); # alpha
+
+ # Comparing mixed version styles (decimals, dotted-decimals, objects)
+
+ if ( version->parse($v1) == version->parse($v2) ) {
+ # do stuff
+ }
+
+ # Sorting mixed version styles
+
+ @ordered = sort { version->parse($a) <=> version->parse($b) } @list;
+
+=head1 DESCRIPTION
+
+Version objects were added to Perl in 5.10. This module implements version
+objects for older version of Perl and provides the version object API for all
+versions of Perl. All previous releases before 0.74 are deprecated and should
+not be used due to incompatible API changes. Version 0.77 introduces the new
+'parse' and 'declare' methods to standardize usage. You are strongly urged to
+set 0.77 as a minimum in your code, e.g.
+
+ use version 0.77; # even for Perl v.5.10.0
+
+=head1 TYPES OF VERSION OBJECTS
+
+There are two different types of version objects, corresponding to the two
+different styles of versions in use:
+
+=over 2
+
+=item Decimal Versions
+
+The classic floating-point number $VERSION. The advantage to this style is
+that you don't need to do anything special, just type a number into your
+source file. Quoting is recommended, as it ensures that trailing zeroes
+("1.50") are preserved in any warnings or other output.
+
+=item Dotted Decimal Versions
+
+The more modern form of version assignment, with 3 (or potentially more)
+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. A leading 'v' character is required to pass the
+L</is_strict()> test.
+
+=back
+
+=head1 DECLARING VERSIONS
+
+If you have a module that uses a decimal $VERSION (floating point), and you
+do not intend to ever change that, this module is not for you. There is
+nothing that version.pm gains you over a simple $VERSION assignment:
+
+ our $VERSION = "1.02";
+
+Since Perl v5.10.0 includes the version.pm comparison logic anyways,
+you don't need to do anything at all.
+
+=head2 How to convert a module from decimal to dotted-decimal
+
+If you have used a decimal $VERSION in the past and wish to switch to a
+dotted-decimal $VERSION, then you need to make a one-time conversion to
+the new format.
+
+B<Important Note>: you must ensure that your new $VERSION is numerically
+greater than your current decimal $VERSION; this is not always obvious. First,
+convert your old decimal version (e.g. 1.02) to a normalized dotted-decimal
+form:
+
+ $ perl -Mversion -e 'print version->parse("1.02")->normal'
+ v1.20.0
+
+Then increment any of the dotted-decimal components (v1.20.1 or v1.21.0).
+
+=head2 How to C<declare()> a dotted-decimal version
+
+ use version; our $VERSION = version->declare("v1.2.3");
+
+The C<declare()> method always creates dotted-decimal version objects. When
+used in a module, you B<must> put it on the same line as "use version" to
+ensure that $VERSION is read correctly by PAUSE and installer tools. You
+should also add 'version' to the 'configure_requires' section of your
+module metadata file. See instructions in L<ExtUtils::MakeMaker> or
+L<Module::Build> for details.
+
+B<Important Note>: Even if you pass in what looks like a decimal number
+("1.2"), a dotted-decimal will be created ("v1.200.0"). To avoid confusion
+or unintentional errors on older Perls, follow these guidelines:
+
+=over 2
+
+=item *
+
+Always use a dotted-decimal with (at least) three components
+
+=item *
+
+Always use a leading-v
+
+=item *
+
+Always quote the version
+
+=back
+
+If you really insist on using version.pm with an ordinary decimal version,
+use C<parse()> instead of declare. See the L<PARSING AND COMPARING VERSIONS>
+for details.
+
+See also L<version::Internals> for more on version number conversion,
+quoting, calculated version numbers and declaring developer or "alpha" version
+numbers.
+
+=head1 PARSING AND COMPARING VERSIONS
+
+If you need to compare version numbers, but can't be sure whether they are
+expressed as numbers, strings, v-strings or version objects, then you should
+use version.pm to parse them all into objects for comparison.
+
+=head2 How to C<parse()> a version
+
+The C<parse()> method takes in anything that might be a version and returns
+a corresponding version object, doing any necessary conversion along the way.
+
+=over 2
+
+=item *
+
+Dotted-decimal: bare v-strings (v1.2.3) and strings with more than one
+decimal point and a leading 'v' ("v1.2.3"); NOTE you can technically use a
+v-string or strings with a leading-v and only one decimal point (v1.2 or
+"v1.2"), but you will confuse both yourself and others.
+
+=item *
+
+Decimal: regular decimal numbers (literal or in a string)
+
+=back
+
+Some examples:
+
+ $variable version->parse($variable)
+ --------- -------------------------
+ 1.23 v1.230.0
+ "1.23" v1.230.0
+ v1.23 v1.23.0
+ "v1.23" v1.23.0
+ "1.2.3" v1.2.3
+ "v1.2.3" v1.2.3
+
+See L<version::Internals> for more on version number conversion.
+
+=head2 How to check for a legal version string
+
+If you do not want to actually create a full blown version object, but
+would still like to verify that a given string meets the criteria to
+be parsed as a version, there are two helper functions that can be
+employed directly:
+
+=over 4
+
+=item C<is_lax()>
+
+The lax criteria corresponds to what is currently allowed by the
+version parser. All of the following formats are acceptable
+for dotted-decimal formats strings:
+
+ v1.2
+ 1.2345.6
+ v1.23_4
+ 1.2345
+ 1.2345_01
+
+=item C<is_strict()>
+
+If you want to limit yourself to a much more narrow definition of what
+a version string constitutes, C<is_strict()> is limited to version
+strings like the following list:
+
+ v1.234.5
+ 2.3456
+
+=back
+
+See L<version::Internals> for details of the regular expressions
+that define the legal version string forms, as well as how to use
+those regular expressions in your own code if C<is_lax()> and
+C<is_strict()> are not sufficient for your needs.
+
+=head2 How to compare version objects
+
+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.
+
+ if ( version->parse($v1) == version->parse($v2) ) {
+ # do stuff
+ }
+
+If a version object is compared against a non-version object, the non-object
+term will be converted to a version object using C<parse()>. This may give
+surprising results:
+
+ $v1 = version->parse("v0.95.0");
+ $bool = $v1 < 0.96; # FALSE since 0.96 is v0.960.0
+
+Always comparing to a version object will help avoid surprises:
+
+ $bool = $v1 < version->parse("v0.96.0"); # TRUE
+
+Note that "alpha" version objects (where the version string contains
+a trailing underscore segment) compare as less than the equivalent
+version without an underscore:
+
+ $bool = version->parse("1.23_45") < version->parse("1.2345"); # TRUE
+
+See L<version::Internals> for more details on "alpha" versions.
+
+=head1 OBJECT METHODS
+
+=head2 is_alpha()
+
+True if and only if the version object was created with a underscore, e.g.
+
+ version->parse('1.002_03')->is_alpha; # TRUE
+ version->declare('1.2.3_4')->is_alpha; # TRUE
+
+=head2 is_qv()
+
+True only if the version object is a dotted-decimal version, e.g.
+
+ version->parse('v1.2.0')->is_qv; # TRUE
+ version->declare('v1.2')->is_qv; # TRUE
+ qv('1.2')->is_qv; # TRUE
+ version->parse('1.2')->is_qv; # FALSE
+
+=head2 normal()
+
+Returns a string with a standard 'normalized' dotted-decimal form with a
+leading-v and at least 3 components.
+
+ version->declare('v1.2')->normal; # v1.2.0
+ version->parse('1.2')->normal; # v1.200.0
+
+=head2 numify()
+
+Returns a value representing the object in a pure decimal form without
+trailing zeroes.
+
+ version->declare('v1.2')->numify; # 1.002
+ version->parse('1.2')->numify; # 1.2
+
+=head2 stringify()
+
+Returns a string that is as close to the original representation as possible.
+If the original representation was a numeric literal, it will be returned the
+way perl would normally represent it in a string. This method is used whenever
+a version object is interpolated into a string.
+
+ version->declare('v1.2')->stringify; # v1.2
+ version->parse('1.200')->stringify; # 1.200
+ version->parse(1.02_30)->stringify; # 1.023
+
+=head1 EXPORTED FUNCTIONS
+
+=head2 qv()
+
+This function is no longer recommended for use, but is maintained for
+compatibility with existing code. If you do not want to have it exported
+to your namespace, use this form:
+
+ use version 0.77 ();
+
+=head2 is_lax()
+
+(Not exported by default)
+
+This function takes a scalar argument and returns a boolean value indicating
+whether the argument meets the "lax" rules for a version number. Leading and
+trailing spaces are not allowed.
+
+=head2 is_strict()
+
+(Not exported by default)
+
+This function takes a scalar argument and returns a boolean value indicating
+whether the argument meets the "strict" rules for a version number. Leading
+and trailing spaces are not allowed.
+
+=head1 AUTHOR
+
+John Peacock E<lt>jpeacock@cpan.orgE<gt>
+
+=head1 SEE ALSO
+
+L<version::Internals>.
+
+L<perl>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/version/Internals.pod b/Master/tlpkg/tlperl/lib/version/Internals.pod
new file mode 100644
index 00000000000..95be8448811
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/version/Internals.pod
@@ -0,0 +1,699 @@
+=head1 NAME
+
+version::Internals - Perl extension for Version Objects
+
+=head1 DESCRIPTION
+
+Overloaded version objects for all modern versions of Perl. This documents
+the internal data representation and underlying code for version.pm. See
+F<version.pod> for daily usage. This document is only useful for users
+interested in the gory details.
+
+=head1 WHAT IS A VERSION?
+
+For the purposes of this module, a version "number" is a sequence of
+positive integer values separated by one or more decimal points and
+optionally a single underscore. This corresponds to what Perl itself
+uses for a version, as well as extending the "version as number" that
+is discussed in the various editions of the Camel book.
+
+There are actually two distinct kinds of version objects:
+
+=over 4
+
+=item Decimal Versions
+
+Any version which "looks like a number", see L<Decimal Versions>. This
+also includes versions with a single decimal point and a single embedded
+underscore, see L<Alpha Versions>, even though these must be quoted
+to preserve the underscore formatting.
+
+=item Dotted-Decimal Versions
+
+Also referred to as "Dotted-Integer", these contains more than one decimal
+point and may have an optional embedded underscore, see L<Dotted-Decimal
+Versions>. This is what is commonly used in most open source software as
+the "external" version (the one used as part of the tag or tarfile name).
+A leading 'v' character is now required and will warn if it missing.
+
+=back
+
+Both of these methods will produce similar version objects, in that
+the default stringification will yield the version L<Normal Form> only
+if required:
+
+ $v = version->new(1.002); # 1.002, but compares like 1.2.0
+ $v = version->new(1.002003); # 1.002003
+ $v2 = version->new("v1.2.3"); # v1.2.3
+
+In specific, version numbers initialized as L<Decimal Versions> will
+stringify as they were originally created (i.e. the same string that was
+passed to C<new()>. Version numbers initialized as L<Dotted-Decimal Versions>
+will be stringified as L<Normal Form>.
+
+=head2 Decimal Versions
+
+These correspond to historical versions of Perl itself prior to 5.6.0,
+as well as all other modules which follow the Camel rules for the
+$VERSION scalar. A Decimal version is initialized with what looks like
+a floating point number. Leading zeros B<are> significant and trailing
+zeros are implied so that a minimum of three places is maintained
+between subversions. What this means is that any subversion (digits
+to the right of the decimal place) that contains less than three digits
+will have trailing zeros added to make up the difference, but only for
+purposes of comparison with other version objects. For example:
+
+ # Prints Equivalent to
+ $v = version->new( 1.2); # 1.2 v1.200.0
+ $v = version->new( 1.02); # 1.02 v1.20.0
+ $v = version->new( 1.002); # 1.002 v1.2.0
+ $v = version->new( 1.0023); # 1.0023 v1.2.300
+ $v = version->new( 1.00203); # 1.00203 v1.2.30
+ $v = version->new( 1.002003); # 1.002003 v1.2.3
+
+All of the preceding examples are true whether or not the input value is
+quoted. The important feature is that the input value contains only a
+single decimal. See also L<Alpha Versions>.
+
+IMPORTANT NOTE: As shown above, if your Decimal version contains more
+than 3 significant digits after the decimal place, it will be split on
+each multiple of 3, so 1.0003 is equivalent to v1.0.300, due to the need
+to remain compatible with Perl's own 5.005_03 == 5.5.30 interpretation.
+Any trailing zeros are ignored for mathematical comparison purposes.
+
+=head2 Dotted-Decimal Versions
+
+These are the newest form of versions, and correspond to Perl's own
+version style beginning with 5.6.0. Starting with Perl 5.10.0,
+and most likely Perl 6, this is likely to be the preferred form. This
+method normally requires that the input parameter be quoted, although
+Perl's after 5.8.1 can use v-strings as a special form of quoting, but
+this is highly discouraged.
+
+Unlike L<Decimal Versions>, Dotted-Decimal Versions have more than
+a single decimal point, e.g.:
+
+ # Prints
+ $v = version->new( "v1.200"); # v1.200.0
+ $v = version->new("v1.20.0"); # v1.20.0
+ $v = qv("v1.2.3"); # v1.2.3
+ $v = qv("1.2.3"); # v1.2.3
+ $v = qv("1.20"); # v1.20.0
+
+In general, Dotted-Decimal Versions permit the greatest amount of freedom
+to specify a version, whereas Decimal Versions enforce a certain
+uniformity.
+
+Just like L</Decimal Versions>, Dotted-Decimal Versions can be used as
+L</Alpha Versions>.
+
+=head2 Alpha Versions
+
+For module authors using CPAN, the convention has been to note unstable
+releases with an underscore in the version string. (See L<CPAN>.) version.pm
+follows this convention and alpha releases will test as being newer than the
+more recent stable release, and less than the next stable release. Only the
+last element may be separated by an underscore:
+
+ # Declaring
+ use version 0.77; our $VERSION = version->declare("v1.2_3");
+
+ # Parsing
+ $v1 = version->parse("v1.2_3");
+ $v1 = version->parse("1.002_003");
+
+Note that you B<must> quote the version when writing an alpha Decimal version.
+The stringified form of Decimal versions will always be the same string that
+was used to initialize the version object.
+
+=head2 Regular Expressions for Version Parsing
+
+A formalized definition of the legal forms for version strings is
+included in the C<version::regex> class. Primitives are included for
+common elements, although they are scoped to the file so they are useful
+for reference purposes only. There are two publicly accessible scalars
+that can be used in other code (not exported):
+
+=over 4
+
+=item C<$version::LAX>
+
+This regexp covers all of the legal forms allowed under the current
+version string parser. This is not to say that all of these forms
+are recommended, and some of them can only be used when quoted.
+
+For dotted decimals:
+
+ v1.2
+ 1.2345.6
+ v1.23_4
+
+The leading 'v' is optional if two or more decimals appear. If only
+a single decimal is included, then the leading 'v' is required to
+trigger the dotted-decimal parsing. A leading zero is permitted,
+though not recommended except when quoted, because of the risk that
+Perl will treat the number as octal. A trailing underscore plus one
+or more digits denotes an alpha or development release (and must be
+quoted to be parsed properly).
+
+For decimal versions:
+
+ 1
+ 1.2345
+ 1.2345_01
+
+an integer portion, an optional decimal point, and optionally one or
+more digits to the right of the decimal are all required. A trailing
+underscore is permitted and a leading zero is permitted. Just like
+the lax dotted-decimal version, quoting the values is required for
+alpha/development forms to be parsed correctly.
+
+=item C<$version::STRICT>
+
+This regexp covers a much more limited set of formats and constitutes
+the best practices for initializing version objects. Whether you choose
+to employ decimal or dotted-decimal for is a personal preference however.
+
+=over 4
+
+=item v1.234.5
+
+For dotted-decimal versions, a leading 'v' is required, with three or
+more sub-versions of no more than three digits. A leading 0 (zero)
+before the first sub-version (in the above example, '1') is also
+prohibited.
+
+=item 2.3456
+
+For decimal versions, an integer portion (no leading 0), a decimal point,
+and one or more digits to the right of the decimal are all required.
+
+=back
+
+=back
+
+Both of the provided scalars are already compiled as regular expressions
+and do not contain either anchors or implicit groupings, so they can be
+included in your own regular expressions freely. For example, consider
+the following code:
+
+ ($pkg, $ver) =~ /
+ ^[ \t]*
+ use [ \t]+($PKGNAME)
+ (?:[ \t]+($version::STRICT))?
+ [ \t]*;
+ /x;
+
+This would match a line of the form:
+
+ use Foo::Bar::Baz v1.2.3; # legal only in Perl 5.8.1+
+
+where C<$PKGNAME> is another regular expression that defines the legal
+forms for package names.
+
+=head1 IMPLEMENTATION DETAILS
+
+=head2 Equivalence between Decimal and Dotted-Decimal Versions
+
+When Perl 5.6.0 was released, the decision was made to provide a
+transformation between the old-style decimal versions and new-style
+dotted-decimal versions:
+
+ 5.6.0 == 5.006000
+ 5.005_04 == 5.5.40
+
+The floating point number is taken and split first on the single decimal
+place, then each group of three digits to the right of the decimal makes up
+the next digit, and so on until the number of significant digits is exhausted,
+B<plus> enough trailing zeros to reach the next multiple of three.
+
+This was the method that version.pm adopted as well. Some examples may be
+helpful:
+
+ equivalent
+ decimal zero-padded dotted-decimal
+ ------- ----------- --------------
+ 1.2 1.200 v1.200.0
+ 1.02 1.020 v1.20.0
+ 1.002 1.002 v1.2.0
+ 1.0023 1.002300 v1.2.300
+ 1.00203 1.002030 v1.2.30
+ 1.002003 1.002003 v1.2.3
+
+=head2 Quoting Rules
+
+Because of the nature of the Perl parsing and tokenizing routines,
+certain initialization values B<must> be quoted in order to correctly
+parse as the intended version, especially when using the C<declare> or
+L</qv()> methods. While you do not have to quote decimal numbers when
+creating version objects, it is always safe to quote B<all> initial values
+when using version.pm methods, as this will ensure that what you type is
+what is used.
+
+Additionally, if you quote your initializer, then the quoted value that goes
+B<in> will be exactly what comes B<out> when your $VERSION is printed
+(stringified). If you do not quote your value, Perl's normal numeric handling
+comes into play and you may not get back what you were expecting.
+
+If you use a mathematic formula that resolves to a floating point number,
+you are dependent on Perl's conversion routines to yield the version you
+expect. You are pretty safe by dividing by a power of 10, for example,
+but other operations are not likely to be what you intend. For example:
+
+ $VERSION = version->new((qw$Revision: 1.4)[1]/10);
+ print $VERSION; # yields 0.14
+ $V2 = version->new(100/9); # Integer overflow in decimal number
+ print $V2; # yields something like 11.111.111.100
+
+Perl 5.8.1 and beyond are able to automatically quote v-strings but
+that is not possible in earlier versions of Perl. In other words:
+
+ $version = version->new("v2.5.4"); # legal in all versions of Perl
+ $newvers = version->new(v2.5.4); # legal only in Perl >= 5.8.1
+
+=head2 What about v-strings?
+
+There are two ways to enter v-strings: a bare number with two or more
+decimal points, or a bare number with one or more decimal points and a
+leading 'v' character (also bare). For example:
+
+ $vs1 = 1.2.3; # encoded as \1\2\3
+ $vs2 = v1.2; # encoded as \1\2
+
+However, the use of bare v-strings to initialize version objects is
+B<strongly> discouraged in all circumstances. Also, bare
+v-strings are not completely supported in any version of Perl prior to
+5.8.1.
+
+If you insist on using bare v-strings with Perl > 5.6.0, be aware of the
+following limitations:
+
+1) For Perl releases 5.6.0 through 5.8.0, the v-string code merely guesses,
+based on some characteristics of v-strings. You B<must> use a three part
+version, e.g. 1.2.3 or v1.2.3 in order for this heuristic to be successful.
+
+2) For Perl releases 5.8.1 and later, v-strings have changed in the Perl
+core to be magical, which means that the version.pm code can automatically
+determine whether the v-string encoding was used.
+
+3) In all cases, a version created using v-strings will have a stringified
+form that has a leading 'v' character, for the simple reason that sometimes
+it is impossible to tell whether one was present initially.
+
+=head2 Version Object Internals
+
+version.pm provides an overloaded version object that is designed to both
+encapsulate the author's intended $VERSION assignment as well as make it
+completely natural to use those objects as if they were numbers (e.g. for
+comparisons). To do this, a version object contains both the original
+representation as typed by the author, as well as a parsed representation
+to ease comparisons. Version objects employ L<overload> methods to
+simplify code that needs to compare, print, etc the objects.
+
+The internal structure of version objects is a blessed hash with several
+components:
+
+ bless( {
+ 'original' => 'v1.2.3_4',
+ 'alpha' => 1,
+ 'qv' => 1,
+ 'version' => [
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ }, 'version' );
+
+=over 4
+
+=item original
+
+A faithful representation of the value used to initialize this version
+object. The only time this will not be precisely the same characters
+that exist in the source file is if a short dotted-decimal version like
+v1.2 was used (in which case it will contain 'v1.2'). This form is
+B<STRONGLY> discouraged, in that it will confuse you and your users.
+
+=item qv
+
+A boolean that denotes whether this is a decimal or dotted-decimal version.
+See L<version/is_qv()>.
+
+=item alpha
+
+A boolean that denotes whether this is an alpha version. NOTE: that the
+underscore can only appear in the last position. See L<version/is_alpha()>.
+
+=item version
+
+An array of non-negative integers that is used for comparison purposes with
+other version objects.
+
+=back
+
+=head2 Replacement UNIVERSAL::VERSION
+
+In addition to the version objects, this modules also replaces the core
+UNIVERSAL::VERSION function with one that uses version objects for its
+comparisons. The return from this operator is always the stringified form
+as a simple scalar (i.e. not an object), but the warning message generated
+includes either the stringified form or the normal form, depending on how
+it was called.
+
+For example:
+
+ package Foo;
+ $VERSION = 1.2;
+
+ package Bar;
+ $VERSION = "v1.3.5"; # works with all Perl's (since it is quoted)
+
+ package main;
+ use version;
+
+ print $Foo::VERSION; # prints 1.2
+
+ print $Bar::VERSION; # prints 1.003005
+
+ eval "use foo 10";
+ print $@; # prints "foo version 10 required..."
+ eval "use foo 1.3.5; # work in Perl 5.6.1 or better
+ print $@; # prints "foo version 1.3.5 required..."
+
+ eval "use bar 1.3.6";
+ print $@; # prints "bar version 1.3.6 required..."
+ eval "use bar 1.004"; # note Decimal version
+ print $@; # prints "bar version 1.004 required..."
+
+
+IMPORTANT NOTE: This may mean that code which searches for a specific
+string (to determine whether a given module is available) may need to be
+changed. It is always better to use the built-in comparison implicit in
+C<use> or C<require>, rather than manually poking at C<< class->VERSION >>
+and then doing a comparison yourself.
+
+The replacement UNIVERSAL::VERSION, when used as a function, like this:
+
+ print $module->VERSION;
+
+will also exclusively return the stringified form. See L</Stringification>
+for more details.
+
+=head1 USAGE DETAILS
+
+=head2 Using modules that use version.pm
+
+As much as possible, the version.pm module remains compatible with all
+current code. However, if your module is using a module that has defined
+C<$VERSION> using the version class, there are a couple of things to be
+aware of. For purposes of discussion, we will assume that we have the
+following module installed:
+
+ package Example;
+ use version; $VERSION = qv('1.2.2');
+ ...module code here...
+ 1;
+
+=over 4
+
+=item Decimal versions always work
+
+Code of the form:
+
+ use Example 1.002003;
+
+will always work correctly. The C<use> will perform an automatic
+C<$VERSION> comparison using the floating point number given as the first
+term after the module name (e.g. above 1.002.003). In this case, the
+installed module is too old for the requested line, so you would see an
+error like:
+
+ Example version 1.002003 (v1.2.3) required--this is only version 1.002002 (v1.2.2)...
+
+=item Dotted-Decimal version work sometimes
+
+With Perl >= 5.6.2, you can also use a line like this:
+
+ use Example 1.2.3;
+
+and it will again work (i.e. give the error message as above), even with
+releases of Perl which do not normally support v-strings (see L<What about v-strings?> above). This has to do with that fact that C<use> only checks
+to see if the second term I<looks like a number> and passes that to the
+replacement L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>. This is not true in Perl 5.005_04,
+however, so you are B<strongly encouraged> to always use a Decimal version
+in your code, even for those versions of Perl which support the Dotted-Decimal
+version.
+
+=back
+
+=head2 Object Methods
+
+=over 4
+
+=item new()
+
+Like many OO interfaces, the new() method is used to initialize version
+objects. If two arguments are passed to C<new()>, the B<second> one will be
+used as if it were prefixed with "v". This is to support historical use of the
+C<qw> operator with the CVS variable $Revision, which is automatically
+incremented by CVS every time the file is committed to the repository.
+
+In order to facilitate this feature, the following
+code can be employed:
+
+ $VERSION = version->new(qw$Revision: 2.7 $);
+
+and the version object will be created as if the following code
+were used:
+
+ $VERSION = version->new("v2.7");
+
+In other words, the version will be automatically parsed out of the
+string, and it will be quoted to preserve the meaning CVS normally
+carries for versions. The CVS $Revision$ increments differently from
+Decimal versions (i.e. 1.10 follows 1.9), so it must be handled as if
+it were a Dotted-Decimal Version.
+
+A new version object can be created as a copy of an existing version
+object, either as a class method:
+
+ $v1 = version->new(12.3);
+ $v2 = version->new($v1);
+
+or as an object method:
+
+ $v1 = version->new(12.3);
+ $v2 = $v1->new(12.3);
+
+and in each case, $v1 and $v2 will be identical. NOTE: if you create
+a new object using an existing object like this:
+
+ $v2 = $v1->new();
+
+the new object B<will not> be a clone of the existing object. In the
+example case, $v2 will be an empty object of the same type as $v1.
+
+=back
+
+=over 4
+
+=item qv()
+
+An alternate way to create a new version object is through the exported
+qv() sub. This is not strictly like other q? operators (like qq, qw),
+in that the only delimiters supported are parentheses (or spaces). It is
+the best way to initialize a short version without triggering the floating
+point interpretation. For example:
+
+ $v1 = qv(1.2); # v1.2.0
+ $v2 = qv("1.2"); # also v1.2.0
+
+As you can see, either a bare number or a quoted string can usually
+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.
+
+To prevent the C<qv()> function from being exported to the caller's namespace,
+either use version with a null parameter:
+
+ use version ();
+
+or just require version, like this:
+
+ require version;
+
+Both methods will prevent the import() method from firing and exporting the
+C<qv()> sub.
+
+=back
+
+For the subsequent examples, the following three objects will be used:
+
+ $ver = version->new("1.2.3.4"); # see "Quoting Rules"
+ $alpha = version->new("1.2.3_4"); # see "Alpha Versions"
+ $nver = version->new(1.002); # see "Decimal Versions"
+
+=over 4
+
+=item Normal Form
+
+For any version object which is initialized with multiple decimal
+places (either quoted or if possible v-string), or initialized using
+the L<qv()|version/qv()> operator, the stringified representation is returned in
+a normalized or reduced form (no extraneous zeros), and with a leading 'v':
+
+ print $ver->normal; # prints as v1.2.3.4
+ print $ver->stringify; # ditto
+ print $ver; # ditto
+ print $nver->normal; # prints as v1.2.0
+ print $nver->stringify; # prints as 1.002,
+ # see "Stringification"
+
+In order to preserve the meaning of the processed version, the
+normalized representation will always contain at least three sub terms.
+In other words, the following is guaranteed to always be true:
+
+ my $newver = version->new($ver->stringify);
+ if ($newver eq $ver ) # always true
+ {...}
+
+=back
+
+=over 4
+
+=item Numification
+
+Although all mathematical operations on version objects are forbidden
+by default, it is possible to retrieve a number which corresponds
+to the version object through the use of the $obj->numify
+method. For formatting purposes, when displaying a number which
+corresponds a version object, all sub versions are assumed to have
+three decimal places. So for example:
+
+ print $ver->numify; # prints 1.002003004
+ print $nver->numify; # prints 1.002
+
+Unlike the stringification operator, there is never any need to append
+trailing zeros to preserve the correct version value.
+
+=back
+
+=over 4
+
+=item Stringification
+
+The default stringification for version objects returns exactly the same
+string as was used to create it, whether you used C<new()> or C<qv()>,
+with one exception. The sole exception is if the object was created using
+C<qv()> and the initializer did not have two decimal places or a leading
+'v' (both optional), then the stringified form will have a leading 'v'
+prepended, in order to support round-trip processing.
+
+For example:
+
+ Initialized as Stringifies to
+ ============== ==============
+ version->new("1.2") 1.2
+ version->new("v1.2") v1.2
+ qv("1.2.3") 1.2.3
+ qv("v1.3.5") v1.3.5
+ qv("1.2") v1.2 ### exceptional case
+
+See also L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>, as this also returns the stringified form
+when used as a class method.
+
+IMPORTANT NOTE: There is one exceptional cases shown in the above table
+where the "initializer" is not stringwise equivalent to the stringified
+representation. If you use the C<qv>() operator on a version without a
+leading 'v' B<and> with only a single decimal place, the stringified output
+will have a leading 'v', to preserve the sense. See the L</qv()> operator
+for more details.
+
+IMPORTANT NOTE 2: Attempting to bypass the normal stringification rules by
+manually applying L<numify()|version/numify()> and L<normal()|version/normal()> will sometimes yield
+surprising results:
+
+ print version->new(version->new("v1.0")->numify)->normal; # v1.0.0
+
+The reason for this is that the L<numify()|version/numify()> operator will turn "v1.0"
+into the equivalent string "1.000000". Forcing the outer version object
+to L<normal()|version/normal()> form will display the mathematically equivalent "v1.0.0".
+
+As the example in L</new()> shows, you can always create a copy of an
+existing version object with the same value by the very compact:
+
+ $v2 = $v1->new($v1);
+
+and be assured that both C<$v1> and C<$v2> will be completely equivalent,
+down to the same internal representation as well as stringification.
+
+=back
+
+=over 4
+
+=item Comparison operators
+
+Both C<cmp> and C<E<lt>=E<gt>> operators perform the same comparison between
+terms (upgrading to a version object automatically). Perl automatically
+generates all of the other comparison operators based on those two.
+In addition to the obvious equalities listed below, appending a single
+trailing 0 term does not change the value of a version for comparison
+purposes. In other words "v1.2" and "1.2.0" will compare as identical.
+
+For example, the following relations hold:
+
+ As Number As String Truth Value
+ ------------- ---------------- -----------
+ $ver > 1.0 $ver gt "1.0" true
+ $ver < 2.5 $ver lt true
+ $ver != 1.3 $ver ne "1.3" true
+ $ver == 1.2 $ver eq "1.2" false
+ $ver == 1.2.3.4 $ver eq "1.2.3.4" see discussion below
+
+It is probably best to chose either the Decimal notation or the string
+notation and stick with it, to reduce confusion. Perl6 version objects
+B<may> only support Decimal comparisons. See also L<Quoting Rules>.
+
+WARNING: Comparing version with unequal numbers of decimal points (whether
+explicitly or implicitly initialized), may yield unexpected results at
+first glance. For example, the following inequalities hold:
+
+ version->new(0.96) > version->new(0.95); # 0.960.0 > 0.950.0
+ version->new("0.96.1") < version->new(0.95); # 0.096.1 < 0.950.0
+
+For this reason, it is best to use either exclusively L<Decimal Versions> or
+L<Dotted-Decimal Versions> with multiple decimal points.
+
+=back
+
+=over 4
+
+=item Logical Operators
+
+If you need to test whether a version object
+has been initialized, you can simply test it directly:
+
+ $vobj = version->new($something);
+ if ( $vobj ) # true only if $something was non-blank
+
+You can also test whether a version object is an alpha version, for
+example to prevent the use of some feature not present in the main
+release:
+
+ $vobj = version->new("1.2_3"); # MUST QUOTE
+ ...later...
+ if ( $vobj->is_alpha ) # True
+
+=back
+
+=head1 AUTHOR
+
+John Peacock E<lt>jpeacock@cpan.orgE<gt>
+
+=head1 SEE ALSO
+
+L<perl>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/version/regex.pm b/Master/tlpkg/tlperl/lib/version/regex.pm
new file mode 100644
index 00000000000..f73296383a5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/version/regex.pm
@@ -0,0 +1,117 @@
+package version::regex;
+
+use strict;
+
+use vars qw($VERSION $CLASS $STRICT $LAX);
+
+$VERSION = 0.9909;
+
+#--------------------------------------------------------------------------#
+# Version regexp components
+#--------------------------------------------------------------------------#
+
+# Fraction part of a decimal version number. This is a common part of
+# both strict and lax decimal versions
+
+my $FRACTION_PART = qr/\.[0-9]+/;
+
+# First part of either decimal or dotted-decimal strict version number.
+# Unsigned integer with no leading zeroes (except for zero itself) to
+# avoid confusion with octal.
+
+my $STRICT_INTEGER_PART = qr/0|[1-9][0-9]*/;
+
+# First part of either decimal or dotted-decimal lax version number.
+# Unsigned integer, but allowing leading zeros. Always interpreted
+# as decimal. However, some forms of the resulting syntax give odd
+# results if used as ordinary Perl expressions, due to how perl treats
+# octals. E.g.
+# version->new("010" ) == 10
+# version->new( 010 ) == 8
+# version->new( 010.2) == 82 # "8" . "2"
+
+my $LAX_INTEGER_PART = qr/[0-9]+/;
+
+# Second and subsequent part of a strict dotted-decimal version number.
+# Leading zeroes are permitted, and the number is always decimal.
+# Limited to three digits to avoid overflow when converting to decimal
+# form and also avoid problematic style with excessive leading zeroes.
+
+my $STRICT_DOTTED_DECIMAL_PART = qr/\.[0-9]{1,3}/;
+
+# Second and subsequent part of a lax dotted-decimal version number.
+# Leading zeroes are permitted, and the number is always decimal. No
+# limit on the numerical value or number of digits, so there is the
+# possibility of overflow when converting to decimal form.
+
+my $LAX_DOTTED_DECIMAL_PART = qr/\.[0-9]+/;
+
+# Alpha suffix part of lax version number syntax. Acts like a
+# dotted-decimal part.
+
+my $LAX_ALPHA_PART = qr/_[0-9]+/;
+
+#--------------------------------------------------------------------------#
+# Strict version regexp definitions
+#--------------------------------------------------------------------------#
+
+# Strict decimal version number.
+
+my $STRICT_DECIMAL_VERSION =
+ qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
+
+# Strict dotted-decimal version number. Must have both leading "v" and
+# at least three parts, to avoid confusion with decimal syntax.
+
+my $STRICT_DOTTED_DECIMAL_VERSION =
+ qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
+
+# Complete strict version number syntax -- should generally be used
+# anchored: qr/ \A $STRICT \z /x
+
+$STRICT =
+ qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
+
+#--------------------------------------------------------------------------#
+# Lax version regexp definitions
+#--------------------------------------------------------------------------#
+
+# Lax decimal version number. Just like the strict one except for
+# allowing an alpha suffix or allowing a leading or trailing
+# decimal-point
+
+my $LAX_DECIMAL_VERSION =
+ qr/ $LAX_INTEGER_PART (?: \. | $FRACTION_PART $LAX_ALPHA_PART? )?
+ |
+ $FRACTION_PART $LAX_ALPHA_PART?
+ /x;
+
+# Lax dotted-decimal version number. Distinguished by having either
+# leading "v" or at least three non-alpha parts. Alpha part is only
+# permitted if there are at least two non-alpha parts. Strangely
+# enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
+# so when there is no "v", the leading part is optional
+
+my $LAX_DOTTED_DECIMAL_VERSION =
+ qr/
+ v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
+ |
+ $LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
+ /x;
+
+# Complete lax version number syntax -- should generally be used
+# anchored: qr/ \A $LAX \z /x
+#
+# The string 'undef' is a special case to make for easier handling
+# of return values from ExtUtils::MM->parse_version
+
+$LAX =
+ qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
+
+#--------------------------------------------------------------------------#
+
+# Preloaded methods go here.
+sub is_strict { defined $_[0] && $_[0] =~ qr/ \A $STRICT \z /x }
+sub is_lax { defined $_[0] && $_[0] =~ qr/ \A $LAX \z /x }
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/version/vpp.pm b/Master/tlpkg/tlperl/lib/version/vpp.pm
new file mode 100644
index 00000000000..b821f92497a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/version/vpp.pm
@@ -0,0 +1,1023 @@
+package charstar;
+# a little helper class to emulate C char* semantics in Perl
+# so that prescan_version can use the same code as in C
+
+use overload (
+ '""' => \&thischar,
+ '0+' => \&thischar,
+ '++' => \&increment,
+ '--' => \&decrement,
+ '+' => \&plus,
+ '-' => \&minus,
+ '*' => \&multiply,
+ 'cmp' => \&cmp,
+ '<=>' => \&spaceship,
+ 'bool' => \&thischar,
+ '=' => \&clone,
+);
+
+sub new {
+ my ($self, $string) = @_;
+ my $class = ref($self) || $self;
+
+ my $obj = {
+ string => [split(//,$string)],
+ current => 0,
+ };
+ return bless $obj, $class;
+}
+
+sub thischar {
+ my ($self) = @_;
+ my $last = $#{$self->{string}};
+ my $curr = $self->{current};
+ if ($curr >= 0 && $curr <= $last) {
+ return $self->{string}->[$curr];
+ }
+ else {
+ return '';
+ }
+}
+
+sub increment {
+ my ($self) = @_;
+ $self->{current}++;
+}
+
+sub decrement {
+ my ($self) = @_;
+ $self->{current}--;
+}
+
+sub plus {
+ my ($self, $offset) = @_;
+ my $rself = $self->clone;
+ $rself->{current} += $offset;
+ return $rself;
+}
+
+sub minus {
+ my ($self, $offset) = @_;
+ my $rself = $self->clone;
+ $rself->{current} -= $offset;
+ return $rself;
+}
+
+sub multiply {
+ my ($left, $right, $swapped) = @_;
+ my $char = $left->thischar();
+ return $char * $right;
+}
+
+sub spaceship {
+ my ($left, $right, $swapped) = @_;
+ unless (ref($right)) { # not an object already
+ $right = $left->new($right);
+ }
+ return $left->{current} <=> $right->{current};
+}
+
+sub cmp {
+ my ($left, $right, $swapped) = @_;
+ unless (ref($right)) { # not an object already
+ if (length($right) == 1) { # comparing single character only
+ return $left->thischar cmp $right;
+ }
+ $right = $left->new($right);
+ }
+ return $left->currstr cmp $right->currstr;
+}
+
+sub bool {
+ my ($self) = @_;
+ my $char = $self->thischar;
+ return ($char ne '');
+}
+
+sub clone {
+ my ($left, $right, $swapped) = @_;
+ $right = {
+ string => [@{$left->{string}}],
+ current => $left->{current},
+ };
+ return bless $right, ref($left);
+}
+
+sub currstr {
+ my ($self, $s) = @_;
+ my $curr = $self->{current};
+ my $last = $#{$self->{string}};
+ if (defined($s) && $s->{current} < $last) {
+ $last = $s->{current};
+ }
+
+ my $string = join('', @{$self->{string}}[$curr..$last]);
+ return $string;
+}
+
+package version::vpp;
+
+use 5.006002;
+use strict;
+
+use Config;
+use vars qw($VERSION $CLASS @ISA $LAX $STRICT);
+$VERSION = 0.9909;
+$CLASS = 'version::vpp';
+
+require version::regex;
+*version::vpp::is_strict = \&version::regex::is_strict;
+*version::vpp::is_lax = \&version::regex::is_lax;
+*LAX = \$version::regex::LAX;
+*STRICT = \$version::regex::STRICT;
+
+use overload (
+ '""' => \&stringify,
+ '0+' => \&numify,
+ 'cmp' => \&vcmp,
+ '<=>' => \&vcmp,
+ 'bool' => \&vbool,
+ '+' => \&vnoop,
+ '-' => \&vnoop,
+ '*' => \&vnoop,
+ '/' => \&vnoop,
+ '+=' => \&vnoop,
+ '-=' => \&vnoop,
+ '*=' => \&vnoop,
+ '/=' => \&vnoop,
+ 'abs' => \&vnoop,
+);
+
+eval "use warnings";
+if ($@) {
+ eval '
+ package
+ warnings;
+ sub enabled {return $^W;}
+ 1;
+ ';
+}
+
+sub import {
+ no strict 'refs';
+ my ($class) = shift;
+
+ # Set up any derived class
+ unless ($class eq $CLASS) {
+ local $^W;
+ *{$class.'::declare'} = \&{$CLASS.'::declare'};
+ *{$class.'::qv'} = \&{$CLASS.'::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
+ = \&{$CLASS.'::_VERSION'};
+ }
+
+ if (exists($args{'VERSION'})) {
+ *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
+ }
+
+ if (exists($args{'is_strict'})) {
+ *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
+ unless defined(&{$callpkg.'::is_strict'});
+ }
+
+ if (exists($args{'is_lax'})) {
+ *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
+ unless defined(&{$callpkg.'::is_lax'});
+ }
+}
+
+my $VERSION_MAX = 0x7FFFFFFF;
+
+# implement prescan_version as closely to the C version as possible
+use constant TRUE => 1;
+use constant FALSE => 0;
+
+sub isDIGIT {
+ my ($char) = shift->thischar();
+ return ($char =~ /\d/);
+}
+
+sub isALPHA {
+ my ($char) = shift->thischar();
+ return ($char =~ /[a-zA-Z]/);
+}
+
+sub isSPACE {
+ my ($char) = shift->thischar();
+ return ($char =~ /\s/);
+}
+
+sub BADVERSION {
+ my ($s, $errstr, $error) = @_;
+ if ($errstr) {
+ $$errstr = $error;
+ }
+ return $s;
+}
+
+sub prescan_version {
+ my ($s, $strict, $errstr, $sqv, $ssaw_decimal, $swidth, $salpha) = @_;
+ my $qv = defined $sqv ? $$sqv : FALSE;
+ my $saw_decimal = defined $ssaw_decimal ? $$ssaw_decimal : 0;
+ my $width = defined $swidth ? $$swidth : 3;
+ my $alpha = defined $salpha ? $$salpha : FALSE;
+
+ my $d = $s;
+
+ if ($qv && isDIGIT($d)) {
+ goto dotted_decimal_version;
+ }
+
+ if ($d eq 'v') { # explicit v-string
+ $d++;
+ if (isDIGIT($d)) {
+ $qv = TRUE;
+ }
+ else { # degenerate v-string
+ # requires v1.2.3
+ return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
+ }
+
+dotted_decimal_version:
+ if ($strict && $d eq '0' && isDIGIT($d+1)) {
+ # no leading zeros allowed
+ return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
+ }
+
+ while (isDIGIT($d)) { # integer part
+ $d++;
+ }
+
+ if ($d eq '.')
+ {
+ $saw_decimal++;
+ $d++; # decimal point
+ }
+ else
+ {
+ if ($strict) {
+ # require v1.2.3
+ return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
+ }
+ else {
+ goto version_prescan_finish;
+ }
+ }
+
+ {
+ my $i = 0;
+ my $j = 0;
+ while (isDIGIT($d)) { # just keep reading
+ $i++;
+ while (isDIGIT($d)) {
+ $d++; $j++;
+ # maximum 3 digits between decimal
+ if ($strict && $j > 3) {
+ return BADVERSION($s,$errstr,"Invalid version format (maximum 3 digits between decimals)");
+ }
+ }
+ if ($d eq '_') {
+ if ($strict) {
+ return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
+ }
+ if ( $alpha ) {
+ return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
+ }
+ $d++;
+ $alpha = TRUE;
+ }
+ elsif ($d eq '.') {
+ if ($alpha) {
+ return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
+ }
+ $saw_decimal++;
+ $d++;
+ }
+ elsif (!isDIGIT($d)) {
+ last;
+ }
+ $j = 0;
+ }
+
+ if ($strict && $i < 2) {
+ # requires v1.2.3
+ return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
+ }
+ }
+ } # end if dotted-decimal
+ else
+ { # decimal versions
+ my $j = 0;
+ # special $strict case for leading '.' or '0'
+ if ($strict) {
+ if ($d eq '.') {
+ return BADVERSION($s,$errstr,"Invalid version format (0 before decimal required)");
+ }
+ if ($d eq '0' && isDIGIT($d+1)) {
+ return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
+ }
+ }
+
+ # and we never support negative version numbers
+ if ($d eq '-') {
+ return BADVERSION($s,$errstr,"Invalid version format (negative version number)");
+ }
+
+ # consume all of the integer part
+ while (isDIGIT($d)) {
+ $d++;
+ }
+
+ # look for a fractional part
+ if ($d eq '.') {
+ # we found it, so consume it
+ $saw_decimal++;
+ $d++;
+ }
+ elsif (!$d || $d eq ';' || isSPACE($d) || $d eq '}') {
+ if ( $d == $s ) {
+ # found nothing
+ return BADVERSION($s,$errstr,"Invalid version format (version required)");
+ }
+ # found just an integer
+ goto version_prescan_finish;
+ }
+ elsif ( $d == $s ) {
+ # didn't find either integer or period
+ return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
+ }
+ elsif ($d eq '_') {
+ # underscore can't come after integer part
+ if ($strict) {
+ return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
+ }
+ elsif (isDIGIT($d+1)) {
+ return BADVERSION($s,$errstr,"Invalid version format (alpha without decimal)");
+ }
+ else {
+ return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
+ }
+ }
+ elsif ($d) {
+ # anything else after integer part is just invalid data
+ return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
+ }
+
+ # scan the fractional part after the decimal point
+ if ($d && !isDIGIT($d) && ($strict || ! ($d eq ';' || isSPACE($d) || $d eq '}') )) {
+ # $strict or lax-but-not-the-end
+ return BADVERSION($s,$errstr,"Invalid version format (fractional part required)");
+ }
+
+ while (isDIGIT($d)) {
+ $d++; $j++;
+ if ($d eq '.' && isDIGIT($d-1)) {
+ if ($alpha) {
+ return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
+ }
+ if ($strict) {
+ return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions must begin with 'v')");
+ }
+ $d = $s; # start all over again
+ $qv = TRUE;
+ goto dotted_decimal_version;
+ }
+ if ($d eq '_') {
+ if ($strict) {
+ return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
+ }
+ if ( $alpha ) {
+ return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
+ }
+ if ( ! isDIGIT($d+1) ) {
+ return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
+ }
+ $width = $j;
+ $d++;
+ $alpha = TRUE;
+ }
+ }
+ }
+
+version_prescan_finish:
+ while (isSPACE($d)) {
+ $d++;
+ }
+
+ if ($d && !isDIGIT($d) && (! ($d eq ';' || $d eq '}') )) {
+ # trailing non-numeric data
+ return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
+ }
+
+ if (defined $sqv) {
+ $$sqv = $qv;
+ }
+ if (defined $swidth) {
+ $$swidth = $width;
+ }
+ if (defined $ssaw_decimal) {
+ $$ssaw_decimal = $saw_decimal;
+ }
+ if (defined $salpha) {
+ $$salpha = $alpha;
+ }
+ return $d;
+}
+
+sub scan_version {
+ my ($s, $rv, $qv) = @_;
+ my $start;
+ my $pos;
+ my $last;
+ my $errstr;
+ my $saw_decimal = 0;
+ my $width = 3;
+ my $alpha = FALSE;
+ my $vinf = FALSE;
+ my @av;
+
+ $s = new charstar $s;
+
+ while (isSPACE($s)) { # leading whitespace is OK
+ $s++;
+ }
+
+ $last = prescan_version($s, FALSE, \$errstr, \$qv, \$saw_decimal,
+ \$width, \$alpha);
+
+ if ($errstr) {
+ # 'undef' is a special case and not an error
+ if ( $s ne 'undef') {
+ require Carp;
+ Carp::croak($errstr);
+ }
+ }
+
+ $start = $s;
+ if ($s eq 'v') {
+ $s++;
+ }
+ $pos = $s;
+
+ if ( $qv ) {
+ $$rv->{qv} = $qv;
+ }
+ if ( $alpha ) {
+ $$rv->{alpha} = $alpha;
+ }
+ if ( !$qv && $width < 3 ) {
+ $$rv->{width} = $width;
+ }
+
+ while (isDIGIT($pos)) {
+ $pos++;
+ }
+ if (!isALPHA($pos)) {
+ my $rev;
+
+ for (;;) {
+ $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_decimal == 1 ) {
+ $mult *= 100;
+ while ( $s < $end ) {
+ $orev = $rev;
+ $rev += $s * $mult;
+ $mult /= 10;
+ if ( (abs($orev) > abs($rev))
+ || (abs($rev) > $VERSION_MAX )) {
+ warn("Integer overflow in version %d",
+ $VERSION_MAX);
+ $s = $end - 1;
+ $rev = $VERSION_MAX;
+ $vinf = 1;
+ }
+ $s++;
+ if ( $s eq '_' ) {
+ $s++;
+ }
+ }
+ }
+ else {
+ while (--$end >= $s) {
+ $orev = $rev;
+ $rev += $end * $mult;
+ $mult *= 10;
+ if ( (abs($orev) > abs($rev))
+ || (abs($rev) > $VERSION_MAX )) {
+ warn("Integer overflow in version");
+ $end = $s - 1;
+ $rev = $VERSION_MAX;
+ $vinf = 1;
+ }
+ }
+ }
+ }
+
+ # Append revision
+ push @av, $rev;
+ if ( $vinf ) {
+ $s = $last;
+ last;
+ }
+ elsif ( $pos eq '.' ) {
+ $s = ++$pos;
+ }
+ elsif ( $pos eq '_' && isDIGIT($pos+1) ) {
+ $s = ++$pos;
+ }
+ elsif ( $pos eq ',' && isDIGIT($pos+1) ) {
+ $s = ++$pos;
+ }
+ elsif ( isDIGIT($pos) ) {
+ $s = $pos;
+ }
+ else {
+ $s = $pos;
+ last;
+ }
+ if ( $qv ) {
+ while ( isDIGIT($pos) ) {
+ $pos++;
+ }
+ }
+ else {
+ my $digits = 0;
+ while ( ( isDIGIT($pos) || $pos eq '_' ) && $digits < 3 ) {
+ if ( $pos ne '_' ) {
+ $digits++;
+ }
+ $pos++;
+ }
+ }
+ }
+ }
+ if ( $qv ) { # quoted versions always get at least three terms
+ my $len = $#av;
+ # This for loop appears to trigger a compiler bug on OS X, as it
+ # loops infinitely. Yes, len is negative. No, it makes no sense.
+ # Compiler in question is:
+ # gcc version 3.3 20030304 (Apple Computer, Inc. build 1640)
+ # for ( len = 2 - len; len > 0; len-- )
+ # av_push(MUTABLE_AV(sv), newSViv(0));
+ #
+ $len = 2 - $len;
+ while ($len-- > 0) {
+ push @av, 0;
+ }
+ }
+
+ # need to save off the current version string for later
+ if ( $vinf ) {
+ $$rv->{original} = "v.Inf";
+ $$rv->{vinf} = 1;
+ }
+ elsif ( $s > $start ) {
+ $$rv->{original} = $start->currstr($s);
+ if ( $qv && $saw_decimal == 1 && $start ne 'v' ) {
+ # need to insert a v to be consistent
+ $$rv->{original} = 'v' . $$rv->{original};
+ }
+ }
+ else {
+ $$rv->{original} = '0';
+ push(@av, 0);
+ }
+
+ # And finally, store the AV in the hash
+ $$rv->{version} = \@av;
+
+ # fix RT#19517 - special case 'undef' as string
+ if ($s eq 'undef') {
+ $s += 5;
+ }
+
+ return $s;
+}
+
+sub new {
+ my $class = shift;
+ unless (defined $class or $#_ > 1) {
+ require Carp;
+ Carp::croak('Usage: version::new(class, version)');
+ }
+
+ my $self = bless ({}, ref ($class) || $class);
+ my $qv = FALSE;
+
+ if ( $#_ == 1 ) { # must be CVS-style
+ $qv = TRUE;
+ }
+ my $value = pop; # always going to be the last element
+
+ 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;
+ }
+
+ 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 (ref($value) =~ m/ARRAY|HASH/) {
+ require Carp;
+ Carp::croak("Invalid version format (non-numeric data)");
+ }
+
+ $value = _un_vstring($value);
+
+ if ($Config{d_setlocale}) {
+ use POSIX qw/locale_h/;
+ use if $Config{d_setlocale}, 'locale';
+ 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/,/./;
+ }
+ }
+
+ # exponential notation
+ if ( $value =~ /\d+.?\d*e[-+]?\d+/ ) {
+ $value = sprintf("%.9f",$value);
+ $value =~ s/(0+)$//; # trim trailing zeros
+ }
+
+ my $s = scan_version($value, \$self, $qv);
+
+ if ($s) { # must be something left over
+ warn("Version string '%s' contains invalid data; "
+ ."ignoring: '%s'", $value, $s);
+ }
+
+ 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 format");
+ }
+ 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 = $CLASS;
+ if (@_) {
+ $class = ref($value) || $value;
+ $value = shift;
+ }
+
+ $value = _un_vstring($value);
+ $value = 'v'.$value unless $value =~ /(^v|\d+\.\d+\.\d)/;
+ my $obj = $CLASS->new($value);
+ return bless $obj, $class;
+}
+
+*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 _is_non_alphanumeric {
+ my $s = shift;
+ $s = new charstar $s;
+ while ($s) {
+ return 0 if isSPACE($s); # early out
+ return 1 unless (isALPHA($s) || isDIGIT($s) || $s =~ /[.-]/);
+ $s++;
+ }
+ return 0;
+}
+
+sub _un_vstring {
+ my $value = shift;
+ # may be a v-string
+ if ( length($value) >= 3 && $value !~ /[._]/
+ && _is_non_alphanumeric($value)) {
+ my $tvalue;
+ if ( $] ge 5.008_001 ) {
+ $tvalue = _find_magic_vstring($value);
+ $value = $tvalue if length $tvalue;
+ }
+ elsif ( $] ge 5.006_000 ) {
+ $tvalue = sprintf("v%vd",$value);
+ if ( $tvalue =~ /^v\d+(\.\d+){2,}$/ ) {
+ # must be a v-string
+ $value = $tvalue;
+ }
+ }
+ }
+ return $value;
+}
+
+sub _find_magic_vstring {
+ my $value = shift;
+ my $tvalue = '';
+ require B;
+ my $sv = B::svref_2object(\$value);
+ my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
+ while ( $magic ) {
+ if ( $magic->TYPE eq 'V' ) {
+ $tvalue = $magic->PTR;
+ $tvalue =~ s/^v?(.+)$/v$1/;
+ last;
+ }
+ else {
+ $magic = $magic->MOREMAGIC;
+ }
+ }
+ return $tvalue;
+}
+
+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";
+
+ if ( $ENV{VERSION_DEBUG} ) {
+ Carp::confess($msg);
+ }
+ else {
+ Carp::croak($msg);
+ }
+ }
+
+ $req = version::vpp->new($req);
+
+ 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)
+ );
+ }
+ }
+ }
+
+ return defined $version ? $version->stringify : undef;
+}
+
+1; #this line is important and will help the module return a true value
diff --git a/Master/tlpkg/tlperl/lib/vmsish.pm b/Master/tlpkg/tlperl/lib/vmsish.pm
index 653f840562d..d7686a2f388 100644
--- a/Master/tlpkg/tlperl/lib/vmsish.pm
+++ b/Master/tlpkg/tlperl/lib/vmsish.pm
@@ -1,6 +1,6 @@
package vmsish;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
=head1 NAME
@@ -60,12 +60,12 @@ symbol $STATUS will still have the termination status, but with a
high-order bit set:
EXAMPLE:
- $ perl -e"exit 44;" Non-hushed error exit
- %SYSTEM-F-ABORT, abort DCL message
+ $ perl -e"exit 44;" Non-hushed error exit
+ %SYSTEM-F-ABORT, abort DCL message
$ show sym $STATUS
$STATUS == "%X0000002C"
- $ perl -e"use vmsish qw(hushed); exit 44;" Hushed error exit
+ $ perl -e"use vmsish qw(hushed); exit 44;" Hushed error exit
$ show sym $STATUS
$STATUS == "%X1000002C"
diff --git a/Master/tlpkg/tlperl/lib/warnings.pm b/Master/tlpkg/tlperl/lib/warnings.pm
index 7d988cbd992..059c7c5b24b 100644
--- a/Master/tlpkg/tlperl/lib/warnings.pm
+++ b/Master/tlpkg/tlperl/lib/warnings.pm
@@ -5,7 +5,7 @@
package warnings;
-our $VERSION = '1.18';
+our $VERSION = '1.23';
# Verify that we're called correctly so that warnings will work.
# see also strict.pm.
@@ -45,15 +45,587 @@ warnings - Perl pragma to control optional warnings
=head1 DESCRIPTION
-The C<warnings> pragma is a replacement for the command line flag C<-w>,
-but the pragma is limited to the enclosing block, while the flag is global.
-See L<perllexwarn> for more information and the list of built-in warning
-categories.
+The C<warnings> pragma gives control over which warnings are enabled in
+which parts of a Perl program. It's a more flexible alternative for
+both the command line flag B<-w> and the equivalent Perl variable,
+C<$^W>.
-If no import list is supplied, all possible warnings are either enabled
-or disabled.
+This pragma works just like the C<strict> pragma.
+This means that the scope of the warning pragma is limited to the
+enclosing block. It also means that the pragma setting will not
+leak across files (via C<use>, C<require> or C<do>). This allows
+authors to independently define the degree of warning checks that will
+be applied to their module.
-A number of functions are provided to assist module authors.
+By default, optional warnings are disabled, so any legacy code that
+doesn't attempt to control the warnings will work unchanged.
+
+All warnings are enabled in a block by either of these:
+
+ use warnings;
+ use warnings 'all';
+
+Similarly all warnings are disabled in a block by either of these:
+
+ no warnings;
+ no warnings 'all';
+
+For example, consider the code below:
+
+ use warnings;
+ my @a;
+ {
+ no warnings;
+ my $b = @a[0];
+ }
+ my $c = @a[0];
+
+The code in the enclosing block has warnings enabled, but the inner
+block has them disabled. In this case that means the assignment to the
+scalar C<$c> will trip the C<"Scalar value @a[0] better written as $a[0]">
+warning, but the assignment to the scalar C<$b> will not.
+
+=head2 Default Warnings and Optional Warnings
+
+Before the introduction of lexical warnings, Perl had two classes of
+warnings: mandatory and optional.
+
+As its name suggests, if your code tripped a mandatory warning, you
+would get a warning whether you wanted it or not.
+For example, the code below would always produce an C<"isn't numeric">
+warning about the "2:".
+
+ my $a = "2:" + 3;
+
+With the introduction of lexical warnings, mandatory warnings now become
+I<default> warnings. The difference is that although the previously
+mandatory warnings are still enabled by default, they can then be
+subsequently enabled or disabled with the lexical warning pragma. For
+example, in the code below, an C<"isn't numeric"> warning will only
+be reported for the C<$a> variable.
+
+ my $a = "2:" + 3;
+ no warnings;
+ my $b = "2:" + 3;
+
+Note that neither the B<-w> flag or the C<$^W> can be used to
+disable/enable default warnings. They are still mandatory in this case.
+
+=head2 What's wrong with B<-w> and C<$^W>
+
+Although very useful, the big problem with using B<-w> on the command
+line to enable warnings is that it is all or nothing. Take the typical
+scenario when you are writing a Perl program. Parts of the code you
+will write yourself, but it's very likely that you will make use of
+pre-written Perl modules. If you use the B<-w> flag in this case, you
+end up enabling warnings in pieces of code that you haven't written.
+
+Similarly, using C<$^W> to either disable or enable blocks of code is
+fundamentally flawed. For a start, say you want to disable warnings in
+a block of code. You might expect this to be enough to do the trick:
+
+ {
+ local ($^W) = 0;
+ my $a =+ 2;
+ my $b; chop $b;
+ }
+
+When this code is run with the B<-w> flag, a warning will be produced
+for the C<$a> line: C<"Reversed += operator">.
+
+The problem is that Perl has both compile-time and run-time warnings. To
+disable compile-time warnings you need to rewrite the code like this:
+
+ {
+ BEGIN { $^W = 0 }
+ my $a =+ 2;
+ my $b; chop $b;
+ }
+
+The other big problem with C<$^W> is the way you can inadvertently
+change the warning setting in unexpected places in your code. For example,
+when the code below is run (without the B<-w> flag), the second call
+to C<doit> will trip a C<"Use of uninitialized value"> warning, whereas
+the first will not.
+
+ sub doit
+ {
+ my $b; chop $b;
+ }
+
+ doit();
+
+ {
+ local ($^W) = 1;
+ doit()
+ }
+
+This is a side-effect of C<$^W> being dynamically scoped.
+
+Lexical warnings get around these limitations by allowing finer control
+over where warnings can or can't be tripped.
+
+=head2 Controlling Warnings from the Command Line
+
+There are three Command Line flags that can be used to control when
+warnings are (or aren't) produced:
+
+=over 5
+
+=item B<-w>
+X<-w>
+
+This is the existing flag. If the lexical warnings pragma is B<not>
+used in any of you code, or any of the modules that you use, this flag
+will enable warnings everywhere. See L<Backward Compatibility> for
+details of how this flag interacts with lexical warnings.
+
+=item B<-W>
+X<-W>
+
+If the B<-W> flag is used on the command line, it will enable all warnings
+throughout the program regardless of whether warnings were disabled
+locally using C<no warnings> or C<$^W =0>.
+This includes all files that get
+included via C<use>, C<require> or C<do>.
+Think of it as the Perl equivalent of the "lint" command.
+
+=item B<-X>
+X<-X>
+
+Does the exact opposite to the B<-W> flag, i.e. it disables all warnings.
+
+=back
+
+=head2 Backward Compatibility
+
+If you are used to working with a version of Perl prior to the
+introduction of lexically scoped warnings, or have code that uses both
+lexical warnings and C<$^W>, this section will describe how they interact.
+
+How Lexical Warnings interact with B<-w>/C<$^W>:
+
+=over 5
+
+=item 1.
+
+If none of the three command line flags (B<-w>, B<-W> or B<-X>) that
+control warnings is used and neither C<$^W> nor the C<warnings> pragma
+are used, then default warnings will be enabled and optional warnings
+disabled.
+This means that legacy code that doesn't attempt to control the warnings
+will work unchanged.
+
+=item 2.
+
+The B<-w> flag just sets the global C<$^W> variable as in 5.005. This
+means that any legacy code that currently relies on manipulating C<$^W>
+to control warning behavior will still work as is.
+
+=item 3.
+
+Apart from now being a boolean, the C<$^W> variable operates in exactly
+the same horrible uncontrolled global way, except that it cannot
+disable/enable default warnings.
+
+=item 4.
+
+If a piece of code is under the control of the C<warnings> pragma,
+both the C<$^W> variable and the B<-w> flag will be ignored for the
+scope of the lexical warning.
+
+=item 5.
+
+The only way to override a lexical warnings setting is with the B<-W>
+or B<-X> command line flags.
+
+=back
+
+The combined effect of 3 & 4 is that it will allow code which uses
+the C<warnings> pragma to control the warning behavior of $^W-type
+code (using a C<local $^W=0>) if it really wants to, but not vice-versa.
+
+=head2 Category Hierarchy
+X<warning, categories>
+
+A hierarchy of "categories" have been defined to allow groups of warnings
+to be enabled/disabled in isolation.
+
+The current hierarchy is:
+
+ all -+
+ |
+ +- closure
+ |
+ +- deprecated
+ |
+ +- exiting
+ |
+ +- experimental --+
+ | |
+ | +- experimental::autoderef
+ | |
+ | +- experimental::lexical_subs
+ | |
+ | +- experimental::lexical_topic
+ | |
+ | +- experimental::postderef
+ | |
+ | +- experimental::regex_sets
+ | |
+ | +- experimental::signatures
+ | |
+ | +- experimental::smartmatch
+ |
+ +- glob
+ |
+ +- imprecision
+ |
+ +- io ------------+
+ | |
+ | +- closed
+ | |
+ | +- exec
+ | |
+ | +- layer
+ | |
+ | +- newline
+ | |
+ | +- pipe
+ | |
+ | +- syscalls
+ | |
+ | +- unopened
+ |
+ +- misc
+ |
+ +- numeric
+ |
+ +- once
+ |
+ +- overflow
+ |
+ +- pack
+ |
+ +- portable
+ |
+ +- recursion
+ |
+ +- redefine
+ |
+ +- regexp
+ |
+ +- severe --------+
+ | |
+ | +- debugging
+ | |
+ | +- inplace
+ | |
+ | +- internal
+ | |
+ | +- malloc
+ |
+ +- signal
+ |
+ +- substr
+ |
+ +- syntax --------+
+ | |
+ | +- ambiguous
+ | |
+ | +- bareword
+ | |
+ | +- digit
+ | |
+ | +- illegalproto
+ | |
+ | +- parenthesis
+ | |
+ | +- precedence
+ | |
+ | +- printf
+ | |
+ | +- prototype
+ | |
+ | +- qw
+ | |
+ | +- reserved
+ | |
+ | +- semicolon
+ |
+ +- taint
+ |
+ +- threads
+ |
+ +- uninitialized
+ |
+ +- unpack
+ |
+ +- untie
+ |
+ +- utf8 ----------+
+ | |
+ | +- non_unicode
+ | |
+ | +- nonchar
+ | |
+ | +- surrogate
+ |
+ +- void
+
+Just like the "strict" pragma any of these categories can be combined
+
+ use warnings qw(void redefine);
+ no warnings qw(io syntax untie);
+
+Also like the "strict" pragma, if there is more than one instance of the
+C<warnings> pragma in a given scope the cumulative effect is additive.
+
+ use warnings qw(void); # only "void" warnings enabled
+ ...
+ use warnings qw(io); # only "void" & "io" warnings enabled
+ ...
+ no warnings qw(void); # only "io" warnings enabled
+
+To determine which category a specific warning has been assigned to see
+L<perldiag>.
+
+Note: Before Perl 5.8.0, the lexical warnings category "deprecated" was a
+sub-category of the "syntax" category. It is now a top-level category
+in its own right.
+
+=head2 Fatal Warnings
+X<warning, fatal>
+
+The presence of the word "FATAL" in the category list will escalate any
+warnings detected from the categories specified in the lexical scope
+into fatal errors. In the code below, the use of C<time>, C<length>
+and C<join> can all produce a C<"Useless use of xxx in void context">
+warning.
+
+ use warnings;
+
+ time;
+
+ {
+ use warnings FATAL => qw(void);
+ length "abc";
+ }
+
+ join "", 1,2,3;
+
+ print "done\n";
+
+When run it produces this output
+
+ Useless use of time in void context at fatal line 3.
+ Useless use of length in void context at fatal line 7.
+
+The scope where C<length> is used has escalated the C<void> warnings
+category into a fatal error, so the program terminates immediately when it
+encounters the warning.
+
+To explicitly turn off a "FATAL" warning you just disable the warning
+it is associated with. So, for example, to disable the "void" warning
+in the example above, either of these will do the trick:
+
+ no warnings qw(void);
+ no warnings FATAL => qw(void);
+
+If you want to downgrade a warning that has been escalated into a fatal
+error back to a normal warning, you can use the "NONFATAL" keyword. For
+example, the code below will promote all warnings into fatal errors,
+except for those in the "syntax" category.
+
+ use warnings FATAL => 'all', NONFATAL => 'syntax';
+
+As of Perl 5.20, instead of C<< use warnings FATAL => 'all'; >> you can
+use:
+
+ use v5.20; # Perl 5.20 or greater is required for the following
+ use warnings 'FATAL'; # short form of "use warnings FATAL => 'all';"
+
+If you want your program to be compatible with versions of Perl before
+5.20, you must use C<< use warnings FATAL => 'all'; >> instead. (In
+previous versions of Perl, the behavior of the statements
+C<< use warnings 'FATAL'; >>, C<< use warnings 'NONFATAL'; >> and
+C<< no warnings 'FATAL'; >> was unspecified; they did not behave as if
+they included the C<< => 'all' >> portion. As of 5.20, they do.)
+
+B<NOTE:> Users of FATAL warnings, especially
+those using C<< FATAL => 'all' >>
+should be fully aware that they are risking future portability of their
+programs by doing so. Perl makes absolutely no commitments to not
+introduce new warnings, or warnings categories in the future, and indeed
+we explicitly reserve the right to do so. Code that may not warn now may
+warn in a future release of Perl if the Perl5 development team deems it
+in the best interests of the community to do so. Should code using FATAL
+warnings break due to the introduction of a new warning we will NOT
+consider it an incompatible change. Users of FATAL warnings should take
+special caution during upgrades to check to see if their code triggers
+any new warnings and should pay particular attention to the fine print of
+the documentation of the features they use to ensure they do not exploit
+features that are documented as risky, deprecated, or unspecified, or where
+the documentation says "so don't do that", or anything with the same sense
+and spirit. Use of such features in combination with FATAL warnings is
+ENTIRELY AT THE USER'S RISK.
+
+=head2 Reporting Warnings from a Module
+X<warning, reporting> X<warning, registering>
+
+The C<warnings> pragma provides a number of functions that are useful for
+module authors. These are used when you want to report a module-specific
+warning to a calling module has enabled warnings via the C<warnings>
+pragma.
+
+Consider the module C<MyMod::Abc> below.
+
+ package MyMod::Abc;
+
+ use warnings::register;
+
+ sub open {
+ my $path = shift;
+ if ($path !~ m#^/#) {
+ warnings::warn("changing relative path to /var/abc")
+ if warnings::enabled();
+ $path = "/var/abc/$path";
+ }
+ }
+
+ 1;
+
+The call to C<warnings::register> will create a new warnings category
+called "MyMod::Abc", i.e. the new category name matches the current
+package name. The C<open> function in the module will display a warning
+message if it gets given a relative path as a parameter. This warnings
+will only be displayed if the code that uses C<MyMod::Abc> has actually
+enabled them with the C<warnings> pragma like below.
+
+ use MyMod::Abc;
+ use warnings 'MyMod::Abc';
+ ...
+ abc::open("../fred.txt");
+
+It is also possible to test whether the pre-defined warnings categories are
+set in the calling module with the C<warnings::enabled> function. Consider
+this snippet of code:
+
+ package MyMod::Abc;
+
+ sub open {
+ warnings::warnif("deprecated",
+ "open is deprecated, use new instead");
+ new(@_);
+ }
+
+ sub new
+ ...
+ 1;
+
+The function C<open> has been deprecated, so code has been included to
+display a warning message whenever the calling module has (at least) the
+"deprecated" warnings category enabled. Something like this, say.
+
+ use warnings 'deprecated';
+ use MyMod::Abc;
+ ...
+ MyMod::Abc::open($filename);
+
+Either the C<warnings::warn> or C<warnings::warnif> function should be
+used to actually display the warnings message. This is because they can
+make use of the feature that allows warnings to be escalated into fatal
+errors. So in this case
+
+ use MyMod::Abc;
+ use warnings FATAL => 'MyMod::Abc';
+ ...
+ MyMod::Abc::open('../fred.txt');
+
+the C<warnings::warnif> function will detect this and die after
+displaying the warning message.
+
+The three warnings functions, C<warnings::warn>, C<warnings::warnif>
+and C<warnings::enabled> can optionally take an object reference in place
+of a category name. In this case the functions will use the class name
+of the object as the warnings category.
+
+Consider this example:
+
+ package Original;
+
+ no warnings;
+ use warnings::register;
+
+ sub new
+ {
+ my $class = shift;
+ bless [], $class;
+ }
+
+ sub check
+ {
+ my $self = shift;
+ my $value = shift;
+
+ if ($value % 2 && warnings::enabled($self))
+ { warnings::warn($self, "Odd numbers are unsafe") }
+ }
+
+ sub doit
+ {
+ my $self = shift;
+ my $value = shift;
+ $self->check($value);
+ # ...
+ }
+
+ 1;
+
+ package Derived;
+
+ use warnings::register;
+ use Original;
+ our @ISA = qw( Original );
+ sub new
+ {
+ my $class = shift;
+ bless [], $class;
+ }
+
+
+ 1;
+
+The code below makes use of both modules, but it only enables warnings from
+C<Derived>.
+
+ use Original;
+ use Derived;
+ use warnings 'Derived';
+ my $a = Original->new();
+ $a->doit(1);
+ my $b = Derived->new();
+ $a->doit(1);
+
+When this code is run only the C<Derived> object, C<$b>, will generate
+a warning.
+
+ Odd numbers are unsafe at main.pl line 7
+
+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 FUNCTIONS
=over 4
@@ -156,11 +728,11 @@ Equivalent to:
=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>.
+use by the warnings::register pragma.
=back
-See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
+See also L<perlmodlib/Pragmatic Modules> and L<perldiag>.
=cut
@@ -233,130 +805,145 @@ our %Offsets = (
'experimental::lexical_topic'=> 106,
'experimental::regex_sets'=> 108,
'experimental::smartmatch'=> 110,
+
+ # Warnings Categories added in Perl 5.019
+
+ 'experimental::autoderef'=> 112,
+ 'experimental::postderef'=> 114,
+ 'experimental::signatures'=> 116,
+ 'syscalls' => 118,
);
our %Bits = (
- 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..55]
- 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [29]
- 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [30]
- 'closed' => "\x00\x10\x00\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\x00", # [1]
- 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
- 'deprecated' => "\x10\x00\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\x00", # [31]
- 'exec' => "\x00\x40\x00\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\x00", # [3]
- 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55", # [51..55]
- 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [52]
- 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [53]
- 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [54]
- 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [55]
- 'glob' => "\x00\x01\x00\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\x00", # [47]
- 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [46]
- 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
- 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [24]
- 'io' => "\x00\x54\x55\x00\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\x00", # [8]
- 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [25]
- 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
- 'newline' => "\x00\x00\x04\x00\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\x00", # [48]
- 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [49]
- 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
- 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
- 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
- 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
- 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [32]
- 'pipe' => "\x00\x00\x10\x00\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\x00", # [17]
- 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [33]
- 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [34]
- 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [35]
- 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [36]
- 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
- 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
- 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
- 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [37]
- 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [38]
- 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00", # [21..25]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [26]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [27]
- 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [50]
- 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00", # [28..38,47]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [39]
- 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [40]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [41]
- 'unopened' => "\x00\x00\x40\x00\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\x00", # [42]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [43]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00", # [44,48..50]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [45]
+ 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..59]
+ 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [29]
+ 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [30]
+ 'closed' => "\x00\x10\x00\x00\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\x00\x00", # [1]
+ 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+ 'deprecated' => "\x10\x00\x00\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\x00\x00", # [31]
+ 'exec' => "\x00\x40\x00\x00\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\x00\x00", # [3]
+ 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x15", # [51..58]
+ 'experimental::autoderef'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [56]
+ 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [52]
+ 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [53]
+ 'experimental::postderef'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [57]
+ 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [54]
+ 'experimental::signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [58]
+ 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [55]
+ 'glob' => "\x00\x01\x00\x00\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\x00\x00", # [47]
+ 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [46]
+ 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+ 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
+ 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [5..11,59]
+ 'layer' => "\x00\x00\x01\x00\x00\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\x00\x00", # [25]
+ 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+ 'newline' => "\x00\x00\x04\x00\x00\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\x00\x00", # [48]
+ 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [49]
+ 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+ 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+ 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+ 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [32]
+ 'pipe' => "\x00\x00\x10\x00\x00\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\x00\x00", # [17]
+ 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [33]
+ 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [34]
+ 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [35]
+ 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [36]
+ 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+ 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+ 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+ 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [37]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [38]
+ 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
+ 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [50]
+ 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00", # [28..38,47]
+ 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [59]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [39]
+ 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [40]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [41]
+ 'unopened' => "\x00\x00\x40\x00\x00\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\x00\x00", # [42]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [43]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00\x00", # [44,48..50]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [45]
);
our %DeadBits = (
- 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..55]
- 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [29]
- 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [30]
- 'closed' => "\x00\x20\x00\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\x00", # [1]
- 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
- 'deprecated' => "\x20\x00\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\x00", # [31]
- 'exec' => "\x00\x80\x00\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\x00", # [3]
- 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa", # [51..55]
- 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [52]
- 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [53]
- 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [54]
- 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [55]
- 'glob' => "\x00\x02\x00\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\x00", # [47]
- 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [46]
- 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
- 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [24]
- 'io' => "\x00\xa8\xaa\x00\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\x00", # [8]
- 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [25]
- 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
- 'newline' => "\x00\x00\x08\x00\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\x00", # [48]
- 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [49]
- 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
- 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
- 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
- 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
- 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [32]
- 'pipe' => "\x00\x00\x20\x00\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\x00", # [17]
- 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [33]
- 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [34]
- 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [35]
- 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [36]
- 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
- 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
- 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
- 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [37]
- 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [38]
- 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00", # [21..25]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [26]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [27]
- 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [50]
- 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00", # [28..38,47]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [39]
- 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [40]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [41]
- 'unopened' => "\x00\x00\x80\x00\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\x00", # [42]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [43]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00", # [44,48..50]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [45]
+ 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..59]
+ 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [29]
+ 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [30]
+ 'closed' => "\x00\x20\x00\x00\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\x00\x00", # [1]
+ 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+ 'deprecated' => "\x20\x00\x00\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\x00\x00", # [31]
+ 'exec' => "\x00\x80\x00\x00\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\x00\x00", # [3]
+ 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\x2a", # [51..58]
+ 'experimental::autoderef'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [56]
+ 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [52]
+ 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [53]
+ 'experimental::postderef'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [57]
+ 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [54]
+ 'experimental::signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [58]
+ 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [55]
+ 'glob' => "\x00\x02\x00\x00\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\x00\x00", # [47]
+ 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [46]
+ 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+ 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
+ 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [5..11,59]
+ 'layer' => "\x00\x00\x02\x00\x00\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\x00\x00", # [25]
+ 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+ 'newline' => "\x00\x00\x08\x00\x00\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\x00\x00", # [48]
+ 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [49]
+ 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+ 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+ 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+ 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [32]
+ 'pipe' => "\x00\x00\x20\x00\x00\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\x00\x00", # [17]
+ 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [33]
+ 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [34]
+ 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [35]
+ 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [36]
+ 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+ 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+ 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+ 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [37]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [38]
+ 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
+ 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [50]
+ 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00", # [28..38,47]
+ 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [59]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [39]
+ 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [40]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [41]
+ 'unopened' => "\x00\x00\x80\x00\x00\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\x00\x00", # [42]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [43]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00\x00", # [44,48..50]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [45]
);
-$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-$DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55", # [2,52..55,4,22,23,25]
-$LAST_BIT = 112 ;
-$BYTES = 14 ;
+$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
+$DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55\x15", # [2,56,52,53,57,54,58,55,4,22,23,25]
+$LAST_BIT = 120 ;
+$BYTES = 15 ;
$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
@@ -402,7 +989,7 @@ sub bits
return _bits(undef, @_) ;
}
-sub import
+sub import
{
shift;
@@ -412,12 +999,15 @@ sub import
$mask |= $Bits{'all'} ;
$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
}
-
+
+ # append 'all' when implied (after a lone "FATAL" or "NONFATAL")
+ push @_, 'all' if @_==1 && ( $_[0] eq 'FATAL' || $_[0] eq 'NONFATAL' );
+
# Empty @_ is equivalent to @_ = 'all' ;
${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
}
-sub unimport
+sub unimport
{
shift;
@@ -429,11 +1019,12 @@ sub unimport
$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
}
- push @_, 'all' unless @_;
+ # append 'all' when implied (empty import list or after a lone "FATAL")
+ push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL';
foreach my $word ( @_ ) {
if ($word eq 'FATAL') {
- next;
+ next;
}
elsif ($catmask = $Bits{$word}) {
$mask &= ~($catmask | $DeadBits{$word} | $All);
diff --git a/Master/tlpkg/tlperl/lib/warnings/register.pm b/Master/tlpkg/tlperl/lib/warnings/register.pm
index 45fd9a2fe0c..62a3dbfce08 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.02';
+our $VERSION = '1.03';
=pod
@@ -16,8 +16,7 @@ warnings::register - warnings import function
Creates a warnings category with the same name as the current package.
-See L<warnings> and L<perllexwarn> for more information on this module's
-usage.
+See L<warnings> for more information on this module's usage.
=cut